@font-face{font-family:Fredoka Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/fredoka-hebrew-wght-normal-DdnsCkLr.woff2)format("woff2-variations");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Fredoka Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/fredoka-latin-ext-wght-normal-CYrqKuxd.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fredoka Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/fredoka-latin-wght-normal-DM6njrJ3.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink:#06222b;--ink-soft:#3b5962;--paper:#fbfffd;--paper-2:#e6faf1;--line:#b5ecd6;--sky-1:#3fb0ee;--sky-2:#9be0fb;--sky-3:#e2f8ff;--mint:#43f289;--mint-2:#22c96b;--glow:#92fde8;--purple:#9b4ff5;--purple-2:#ead9ff;--sun:#ffcf4d;--red:#ef4a5b;--meadow-1:#c6f2a6;--meadow-2:#7fd36c;--frame:0 4px 0 #06222b59;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--ink);font-family:Fredoka Variable,Fredoka,ui-rounded,system-ui,sans-serif;font-weight:450;line-height:1.4}*{box-sizing:border-box}body{background:radial-gradient(ellipse 80% 40% at 20% 0%, #ffffff8c, transparent 70%), linear-gradient(180deg, var(--sky-1) 0%, var(--sky-2) 45%, var(--sky-3) 100%) fixed;min-height:100dvh;color:var(--ink);margin:0}.shell{max-width:480px;min-height:100dvh;padding:max(16px, env(safe-area-inset-top)) 16px calc(104px + env(safe-area-inset-bottom));flex-direction:column;gap:14px;margin:0 auto;display:flex}.hero{margin:calc(-1 * max(16px, env(safe-area-inset-top))) -16px 0;line-height:0}.hero img{object-fit:cover;object-position:50% 80%;border-bottom:3px solid var(--ink);border-radius:0 0 20px 20px;width:100%;height:118px;display:block;box-shadow:0 4px #06222b4d}.hero.big img{aspect-ratio:8/3;object-position:50% 50%;height:auto}h2{margin:0;font-size:20px;font-weight:650}h3{margin:0;font-size:17px;font-weight:650}p{margin:0}.stack{flex-direction:column;gap:12px;display:flex}.row{flex-wrap:wrap;gap:8px;display:flex}.row>*{min-width:0}.row>button{flex:140px}.row.tight{flex-wrap:nowrap;gap:6px}.row.tight>button{flex:none}.plain{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.card{background:var(--paper);border:3px solid var(--ink);box-shadow:inset 0 0 0 3px var(--paper), inset 0 0 0 5px var(--line), var(--frame);border-radius:16px;padding:16px}.muted{color:var(--ink-soft);font-size:15px}.small{font-size:13.5px}.tagline{font-size:19px;font-weight:550}.safety{background:var(--paper-2);border:2px dashed var(--line);color:var(--ink-soft);border-radius:12px;padding:12px 14px;font-size:14.5px}.warning{border:3px solid var(--red);color:#7d1a13;background:#fde4e1;border-radius:12px;padding:12px 14px;font-weight:600}.notice{border:2px solid var(--sun);color:#5c3d06;background:#fff3d6;border-radius:12px;padding:10px 14px}.offline-banner{border:3px solid var(--ink);color:#5c3d06;box-shadow:var(--frame);background:#fff3d6;border-radius:12px;margin:0;padding:8px 12px;font-size:14.5px}[role=alert]{color:#a3241b;font-weight:550}.badge{background:var(--ink);color:#fff;border-radius:999px;padding:1px 8px;font-size:12.5px;font-weight:600;display:inline-block}.chip{border:2px solid var(--ink);color:var(--ink);border-radius:999px;padding:2px 12px;font-size:14px;font-weight:650;display:inline-block}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}label{color:var(--ink);flex-direction:column;gap:6px;font-size:15px;font-weight:550;display:flex}input,select{font:inherit;color:var(--ink);border:3px solid var(--ink);background:#fff;border-radius:12px;width:100%;min-height:48px;padding:10px 12px;font-size:16px}button{font:inherit;border:3px solid var(--ink);background:var(--mint);min-height:48px;color:var(--ink);cursor:pointer;box-shadow:inset 0 -4px 0 #0000002e, 0 4px 0 var(--ink);border-radius:14px;padding:0 16px;font-size:16px;font-weight:600;transition:transform 60ms,box-shadow 60ms}button:active:not(:disabled){box-shadow:inset 0 -2px 0 #0000002e, 0 1px 0 var(--ink);transform:translateY(3px)}button:disabled{opacity:.55;cursor:not-allowed;box-shadow:0 2px 0 var(--ink)}button.secondary{background:var(--paper);color:var(--ink);box-shadow:inset 0 -4px 0 var(--line), 0 4px 0 var(--ink)}button.danger{color:#fff;background:#d6283b}button.link{box-shadow:none;color:#0a6b3a;text-underline-offset:3px;background:0 0;border:0;align-self:flex-start;min-height:40px;padding:0 4px;font-weight:600;text-decoration:underline}button.small{border-radius:12px;min-height:40px;padding:0 12px;font-size:14px}:focus-visible{outline:4px solid var(--purple);outline-offset:3px}.panel:focus{outline:none}.tabs{z-index:20;width:min(480px,100%);padding:10px 10px calc(10px + env(safe-area-inset-bottom));background:var(--paper);border:3px solid var(--ink);border-bottom:0;border-radius:20px 20px 0 0;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid;position:fixed;bottom:0;left:50%;translate:-50%;box-shadow:0 -4px #06222b2e}.tab{min-height:58px;color:var(--ink-soft);box-shadow:none;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:3px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:4px 2px;font-size:12.5px;font-weight:600;display:flex;overflow:hidden}.tab svg{flex:none;width:26px;height:26px}.tab.active{background:var(--mint);color:var(--ink);border-color:var(--ink);box-shadow:inset 0 -3px 0 #0003, 0 3px 0 var(--ink)}.tab span{text-overflow:ellipsis;max-width:100%;overflow:hidden}.map{border:3px solid var(--ink);height:min(52dvh,500px);box-shadow:var(--frame);background:#cfe6c4;border-radius:16px;overflow:hidden}.attribution{color:var(--ink-soft);margin-top:12px;font-size:12.5px}.poi-list,.creature-list{flex-direction:column;gap:8px;margin:12px 0 0;padding:0;list-style:none;display:flex}.poi-list li{background:var(--paper-2);border-radius:12px;grid-template-columns:14px 1fr auto auto;align-items:center;gap:8px;padding:8px 10px;display:grid}.poi-list .dot{border:2px solid var(--ink);border-radius:50%;width:12px;height:12px}.creature-list li{background:var(--paper-2);border-radius:14px;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:10px;padding:6px 8px;display:grid}.creature-list img{object-fit:cover;object-position:50% 30%;border:3px solid var(--ink);background:var(--sky-2);border-radius:50%;width:52px;height:52px}.poi-list li[data-in-range=true],.creature-list li[data-in-range=true]{box-shadow:inset 0 0 0 3px var(--sun);background:#fff3d6}.poi-list li[data-in-range=true] .poi-name,.creature-list li[data-in-range=true] .poi-name{font-weight:650}.biome-historic{background:#e3a43a}.biome-culture{background:var(--purple)}.biome-park{background:#3e9e62}.biome-urban{background:var(--sky-1)}.creature-marker{background:var(--sky-2);border:3px solid var(--ink);width:46px;height:46px;min-height:0;box-shadow:0 3px 0 var(--ink);border-radius:50%;padding:0;overflow:hidden}.creature-marker[data-in-range=true]{border-color:var(--sun);outline:3px solid var(--ink);width:54px;height:54px}.creature-marker img{object-fit:cover;object-position:50% 30%;width:100%;height:100%;display:block}.devtools summary{cursor:pointer;color:#7a4c00;margin-bottom:12px;font-weight:650}.chips{flex-wrap:wrap;gap:8px;display:flex}.chips button{background:var(--paper);min-height:40px;color:var(--ink);box-shadow:0 3px 0 var(--ink);padding:0 12px;font-size:14px}.chips button[aria-pressed=true]{background:var(--mint);color:var(--ink)}.dex-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.dex-card{text-align:center;background:var(--paper);width:100%;color:var(--ink);border:3px solid var(--ink);box-shadow:var(--frame);border-radius:16px;flex-direction:column;align-items:center;gap:2px;min-height:0;padding:8px 8px 12px;font-size:15px;font-weight:500;display:flex;position:relative}button.dex-card{box-shadow:inset 0 -4px 0 var(--line), 0 4px 0 var(--ink)}.dex-card .pic{border:2px solid var(--ink);background:linear-gradient(180deg, var(--sky-2) 0 62%, var(--meadow-1) 62% 100%);border-radius:10px;width:100%;height:132px;margin-bottom:4px;padding:6px 6px 2px;display:block}.dex-card .pic img{object-fit:contain;object-position:50% 100%;transform-origin:50% 96%;width:100%;height:100%;display:block;transform:scale(1.25)}.dex-card .pic{overflow:hidden}.dex-card .dex-dot{border:2px solid var(--ink);border-radius:50%;width:16px;height:16px;position:absolute;top:14px;left:14px}.dex-name{overflow-wrap:anywhere;font-size:16px;font-weight:650}.rarity{color:var(--ink-soft);font-size:13px;font-weight:600}.rarity-rare{color:#0a7fb8}.rarity-epic{color:#6d28c9}.rarity-legendary,.rarity-mythic{color:#7a4c00}.dex-card.unknown img{filter:brightness(0)opacity(.78)}.dex-card.unknown,.dex-card.owned{cursor:default}.caught-mark{background:var(--mint-2);border:2px solid var(--ink);width:26px;height:26px;color:var(--ink);border-radius:50%;place-items:center;font-size:14px;font-weight:700;display:grid;position:absolute;top:10px;right:12px}.dex-card.owned .hp{margin:4px 0}.name{overflow-wrap:anywhere;margin:2px 0 8px;font-size:30px;font-weight:700}.portrait{border:3px solid var(--ink);box-shadow:inset 0 0 0 4px color-mix(in srgb, var(--el,#94a3b8) 70%, white);border-radius:14px;place-items:center;display:grid;overflow:hidden}.portrait img{aspect-ratio:306/445;width:auto;max-width:100%;height:auto;max-height:52dvh;margin:0 auto;display:block}.stats{grid-template-columns:repeat(3,1fr);gap:8px;margin:0;display:grid}.stats div{background:var(--paper-2);border:2px solid var(--line);border-radius:12px;padding:8px 12px}.stats dt{color:var(--ink-soft);font-size:13px}.stats dd{margin:0;font-size:22px;font-weight:700}.bars{flex-direction:column;gap:8px;margin:0;display:flex}.bars div{grid-template-columns:84px 1fr;align-items:center;gap:8px;display:grid}.bars dt{color:var(--ink-soft);font-size:14px}.bars dd{align-items:center;gap:8px;margin:0;display:flex}.bar{background:var(--mint-2);border:2px solid var(--ink);border-radius:6px;height:12px}.bars .value{font-variant-numeric:tabular-nums;font-size:14px;font-weight:600}.starter{grid-template-columns:120px minmax(0,1fr);align-items:start;gap:12px;display:grid}.starter img{border:3px solid var(--ink);aspect-ratio:306/445;object-fit:cover;border-radius:12px;width:100%;height:auto}.gold-line{color:var(--ink);border:3px solid var(--ink);background:#ffe7a8;border-radius:999px;align-self:flex-start;align-items:center;gap:6px;padding:4px 14px;font-size:19px;font-weight:700;display:inline-flex}.item-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.item-list li{background:var(--paper-2);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.item-list li>span:first-child{overflow-wrap:anywhere;min-width:0;font-weight:550}.item-list .row.tight{margin-left:auto}.recipe,.mission,.admin-item{background:var(--paper-2);border-radius:12px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.recipe>button,.mission>button{align-self:flex-start}.admin-item a{color:#0a6b3a}.steps{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.steps li{grid-template-columns:28px minmax(0,1fr);align-items:center;gap:10px;display:grid}.steps .check{border:3px solid var(--ink);width:28px;height:28px;color:var(--ink);background:#fff;border-radius:50%;place-items:center;font-weight:700;display:grid}.steps li.done .check{background:var(--mint-2)}.steps li.done span:last-child{color:var(--ink-soft);text-decoration:line-through}.scene{border:3px solid var(--ink);box-shadow:var(--frame);background:radial-gradient(ellipse 60% 22% at 78% 18%, #ffffffb3, transparent 70%), radial-gradient(ellipse 45% 16% at 22% 30%, #ffffff8c, transparent 70%), linear-gradient(180deg, var(--sky-1) 0%, var(--sky-2) 46%, #def9c4 46%, var(--meadow-1) 60%, var(--meadow-2) 100%);border-radius:18px;position:relative;overflow:hidden}.platform{aspect-ratio:3.2;border:3px solid var(--ink);background:radial-gradient(closest-side, #f4fffa 0 26%, var(--mint) 27% 33%, transparent 34%), radial-gradient(closest-side, transparent 0 58%, var(--mint-2) 59% 63%, transparent 64%), repeating-conic-gradient(from 7.5deg, #b7fbe3 0 15deg, #f4fffa 15deg 30deg);width:112%;box-shadow:inset 0 0 0 5px #f4fffa, inset 0 0 0 9px var(--mint), 0 0 18px 4px #92fde8d9, 0 6px 0 #06222b38;border-radius:50%;position:absolute;bottom:0;left:50%;translate:-50% 38%}.encounter-scene{place-items:end center;height:min(48dvh,380px);padding-bottom:12%;display:grid}.encounter-scene .spot{width:min(62%,230px);position:relative}.encounter-scene .sprite{z-index:1}.ring{z-index:2;aspect-ratio:1;border:6px solid var(--sun);width:min(70%,240px);box-shadow:0 0 0 3px var(--ink), inset 0 0 0 3px var(--ink);pointer-events:none;border-radius:50%;animation:1.4s linear infinite ring-shrink;position:absolute;top:46%;left:50%;translate:-50% -50%}.ring.still{animation:none;transform:scale(.6)}@keyframes ring-shrink{0%{opacity:.45;transform:scale(1)}to{opacity:1;transform:scale(.2)}}.vaults{border:3px solid var(--ink);background:var(--paper-2);border-radius:14px;flex-direction:column;gap:4px;margin:0;padding:8px 12px 10px;display:flex}.vaults legend{padding:0 6px;font-weight:650}.vault{flex-direction:row;align-items:center;gap:10px;min-height:42px;font-size:16px;display:flex}.vault.empty{color:var(--ink-soft)}.vault input{width:22px;height:22px;min-height:0;accent-color:var(--mint);flex:none;margin:0}button.pick{text-align:left;background:var(--paper);color:var(--ink);box-shadow:inset 0 -4px 0 var(--line), 0 4px 0 var(--ink);grid-template-rows:auto auto;grid-template-columns:44px minmax(0,1fr);align-items:center;column-gap:10px;padding:6px 10px;display:grid}button.pick img{border:2px solid var(--ink);object-fit:cover;object-position:50% 30%;background:var(--sky-2);border-radius:50%;grid-row:1/span 2;width:44px;height:44px}.result{background:var(--paper);border:3px solid var(--ink);box-shadow:var(--frame);border-radius:14px;flex-direction:column;gap:6px;padding:12px 14px;display:flex}.result-caught,.result-win{background:#e3f5e8}.result-caught strong,.result-win strong{color:#1d6a3c;font-size:18px}.battle{padding:12px}.battle-scene{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"hud-foe spot-foe""spot-mine hud-mine";align-items:end;gap:4px 6px;padding:12px 10px 18px;display:grid}.fighter{padding-bottom:10%;position:relative}.fighter.foe{grid-area:spot-foe;justify-self:center;width:88%}.fighter.mine{grid-area:spot-mine;width:100%}.fighter .sprite{z-index:1}.hud{z-index:2;background:var(--paper);border:3px solid var(--ink);box-shadow:var(--frame);border-radius:14px 4px;flex-direction:column;gap:3px;min-width:0;padding:6px 10px 8px;display:flex;position:relative}.hud.foe{grid-area:hud-foe;align-self:start;margin-top:6px}.hud.mine{border-radius:4px 14px;grid-area:hud-mine;align-self:center}.hud-name{justify-content:space-between;align-items:baseline;gap:6px;min-width:0;font-size:15.5px;font-weight:650;display:flex}.hud-name strong{text-overflow:ellipsis;white-space:nowrap;font-weight:650;overflow:hidden}.hud-name span{color:var(--ink-soft);flex:none;font-size:13.5px;font-weight:600}.hud-hp{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px;display:grid}.hud-hp b{background:var(--sun);color:var(--ink);border-radius:6px;padding:0 5px;font-size:11px;font-weight:700}.hud-num{text-align:right;font-variant-numeric:tabular-nums;font-size:14px;font-weight:650}.hp{border:2px solid var(--ink);background:#d6deea;border-radius:999px;width:100%;height:12px;overflow:hidden}.hp-fill{background:var(--mint-2);height:100%;transition:width .4s;display:block;box-shadow:inset 0 3px #ffffff59}.hp-fill.mid{background:var(--sun)}.hp-fill.low{background:var(--red)}.dialog{border:3px solid var(--ink);background:repeating-conic-gradient(from -90deg at 50% 110%, var(--mint) 0 5deg, #e9fff5 5deg 10deg);box-shadow:var(--frame);border-radius:16px;padding:7px}.battle-log{border:3px solid var(--ink);background:var(--paper);border-radius:10px;flex-direction:column;justify-content:flex-end;gap:2px;min-height:4.4em;margin:0;padding:10px 14px;font-size:17px;font-weight:500;list-style:none;display:flex}.battle-log li:not(:nth-last-child(-n+2)){clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.battle-log li:nth-last-child(2){color:var(--ink-soft);font-size:15px}.skills{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}button.skill{text-align:left;background:color-mix(in srgb, var(--el,#94a3b8) 32%, white);min-height:64px;color:var(--ink);box-shadow:inset 8px 0 0 var(--el,#94a3b8), inset 0 -4px 0 #06222b26, 0 4px 0 var(--ink);flex-direction:column;justify-content:center;align-items:flex-start;gap:1px;padding:8px 10px 10px 18px;display:flex}button.skill:active:not(:disabled){box-shadow:inset 8px 0 0 var(--el,#94a3b8), 0 1px 0 var(--ink)}.skill-name{overflow-wrap:anywhere;font-size:16.5px;font-weight:650}.skill-meta{color:var(--ink-soft);font-size:13px;font-weight:550}.skill-meta .hint-strong{color:#1d6a3c;font-weight:650}.skill-meta .hint-weak{color:#a3132a;font-weight:650}.sprite{aspect-ratio:224/256;width:100%;transition:opacity .6s,filter .6s;position:relative}.sprite .body{background:var(--idle) 0 0 / 600% 100% no-repeat;animation:1.2s steps(6,jump-none) infinite sheet;position:absolute;inset:0}.fighter.foe .sprite .body{animation-delay:-.6s}.sprite[data-fx=attack] .body{background-image:var(--attack);background-size:500% 100%;animation:.38s steps(5,jump-none) forwards sheet}.fx-layer{pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 45%, var(--fx) 0%, transparent 65%);position:absolute;inset:0}.fx-sheet{aspect-ratio:1;pointer-events:none;opacity:0;background:var(--burst) 0 0 / 800% 100% no-repeat;width:125%;position:absolute;top:50%;left:50%;translate:-50% -50%}.sprite[data-fx=hit] .fx-sheet,.sprite[data-fx=crit] .fx-sheet{opacity:1;animation:.54s steps(8,jump-none) forwards sheet}.sprite[data-fx=crit] .fx-sheet{width:150%}@keyframes sheet{0%{background-position-x:0%}to{background-position-x:100%}}.sprite[data-fx=attack]{animation:.38s ease-out lunge}.fighter.foe .sprite[data-fx=attack]{animation-name:lunge-foe}.sprite[data-fx=attack] .fx-layer{animation:.38s ease-out charge}.sprite[data-fx=hit],.sprite[data-fx=crit]{animation:.42s ease-out shake}.sprite[data-fx=hit] .fx-layer,.sprite[data-fx=crit] .fx-layer{animation:.5s ease-out burst}.sprite[data-fx=crit] .fx-layer{background:radial-gradient(circle at 50% 45%, #fff 0%, transparent 30%), radial-gradient(circle at 50% 45%, var(--fx) 0%, transparent 70%)}.sprite[data-fx=miss]{animation:.38s ease-in-out sidestep}.sprite[data-fx=heal] .fx-layer{animation:.5s ease-out glow}.sprite[data-fx=passive] .fx-layer{animation:.35s ease-out glow}.sprite[data-fx=faint],.sprite.fainted{opacity:.35;filter:grayscale()}.sprite[data-fx=faint]{animation:.65s ease-in forwards faint}@keyframes lunge{0%{transform:translate(0)}40%{transform:translate(28px,-18px)scale(1.05)}to{transform:translate(0)}}@keyframes lunge-foe{0%{transform:translate(0)}40%{transform:translate(-28px,18px)scale(1.05)}to{transform:translate(0)}}@keyframes charge{0%{opacity:0}50%{opacity:.6}to{opacity:0}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(7px)}60%{transform:translate(-5px)}80%{transform:translate(3px)}}@keyframes burst{0%{opacity:.95;transform:scale(.4)}to{opacity:0;transform:scale(1.6)}}@keyframes sidestep{0%,to{transform:translate(0)}50%{transform:translate(14px)}}@keyframes glow{0%{opacity:0}40%{opacity:.7}to{opacity:0}}@keyframes faint{to{opacity:.35;transform:translateY(24px)rotate(6deg)}}@media (prefers-reduced-motion:reduce){button,.ring,.sprite,.sprite .body,.fx-layer,.fx-sheet{transition:none!important;animation:none!important}.ring{transform:scale(.6)}.fx-sheet{display:none}.sprite[data-fx=attack] .body{background-position-x:50%}}.account-id{overflow-wrap:anywhere}.nft-badge{border:2px solid var(--ink);background:var(--purple-2);color:var(--ink);border-radius:999px;padding:1px 9px;font-size:12.5px;font-weight:700;position:absolute;top:12px;right:12px}.grade{border:3px solid var(--ink);color:#fff;-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;border-radius:50%;place-items:center;width:30px;height:30px;font-size:15px;font-weight:700;display:grid;position:absolute;top:12px;left:12px}.grade-D{background:#9aa7b0}.grade-C{background:#7fd36c}.grade-B{background:#3fb0ee}.grade-A{background:#9b4ff5}.grade-S{background:#ffb300}
