@font-face{font-family:Archivo;src:url(/fonts/archivo-latin.woff2) format("woff2");font-weight:100 900;font-stretch:62% 125%;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Archivo;src:url(/fonts/archivo-latin-ext.woff2) format("woff2");font-weight:100 900;font-stretch:62% 125%;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{color-scheme:light;--paper: #F7F4EE;--paper-2: #EEE9E0;--card: #FFFFFF;--ink: #16181D;--muted: #4E4944;--line: #E2DCD1;--edge: #C4BCAF;--signal: #FF6A1F;--on-signal: #16181D;--signal-text: #A3330A;--danger: #B42318;--sea: #EAF0F2;--land: #D9D3C8;--land-other: #E6E1D8;--border: #F7F4EE;--found: #16181D;--miss-fill: #FFE3D3;--cell: #FFFFFF;--felt: #17191E;--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-in-out: cubic-bezier(.77, 0, .175, 1);--ease-drawer: cubic-bezier(.32, .72, 0, 1);--safe-t: env(safe-area-inset-top, 0px);--safe-b: env(safe-area-inset-bottom, 0px);--runbar-h: calc(clamp(44px, 12.5vw, 64px) + 16px) }:root[data-theme=dark]{color-scheme:dark;--paper: #101216;--paper-2: #181B21;--card: #1A1D23;--ink: #ECE8E0;--muted: #B4AFA7;--line: #2B2F37;--edge: #434955;--signal: #FF6A3D;--on-signal: #101216;--signal-text: #FF8A5C;--danger: #FF8A80;--sea: #141A22;--land: #2C323C;--land-other: #222730;--border: #101216;--found: #ECE8E0;--miss-fill: #3A2219;--cell: #1A1D23}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scrollbar-color:var(--line) transparent}html:has(.run){overscroll-behavior:none}body{margin:0;background:var(--paper);color:var(--ink);font:450 16px/1.5 Archivo,system-ui,-apple-system,Segoe UI,sans-serif;font-stretch:100%;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}::selection{background:color-mix(in srgb,var(--signal) 32%,transparent);color:inherit}input,textarea{caret-color:var(--signal)}:focus-visible{outline:2px solid var(--signal);outline-offset:2px}a{color:inherit;text-underline-offset:3px;text-decoration-thickness:1px}button{font:inherit;color:inherit}h1,h2,h3,p{margin:0}img,svg{display:block}.num{font-variant-numeric:tabular-nums}.display{font-stretch:125%;font-weight:800;letter-spacing:-.02em;line-height:1.05}.label{font-stretch:75%;font-weight:700;font-size:13px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.hint{color:var(--muted);font-size:15px}.hint.center,.center{text-align:center}.note{color:var(--muted);font-size:15px}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.fruit{display:inline-block;flex-shrink:0;line-height:0}.fruit svg{width:100%;height:100%}.logo{color:var(--ink);overflow:visible}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 20px;border:0;border-radius:999px;background:var(--signal);color:var(--on-signal);font-weight:650;font-size:16px;text-decoration:none;cursor:pointer;transition:transform .14s var(--ease-out),background-color .15s ease,opacity .15s ease;-webkit-user-select:none;user-select:none}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.ghost{background:var(--card);color:var(--ink);box-shadow:inset 0 0 0 1px var(--edge)}@media (hover: hover) and (pointer: fine){.btn.ghost:hover:not(:disabled){background:var(--paper-2)}.btn:not(.ghost):hover:not(:disabled){background:color-mix(in srgb,var(--signal) 88%,#000)}}.btn.big{min-height:56px;font-size:17px}.btn.wide{width:100%}.btn.danger{color:var(--danger)}.btn.danger:not(.ghost){background:var(--danger);color:#fff}.icon-btn{width:48px;height:48px;flex-shrink:0;display:grid;place-items:center;border:0;border-radius:999px;background:transparent;color:inherit;cursor:pointer;transition:transform .14s var(--ease-out),background-color .15s ease}.icon-btn:active:not(:disabled){transform:scale(.94)}.icon-btn:disabled{opacity:.3;cursor:default}@media (hover: hover) and (pointer: fine){.icon-btn:hover:not(:disabled){background:var(--paper-2)}}.icon-btn.big{width:56px;height:56px;background:var(--card);box-shadow:inset 0 0 0 1px var(--edge)}.icon-btn.glass{background:#10121666;color:#f7f4ee;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:inset 0 0 0 1px #ffffff38}.tone-light .icon-btn.glass{background:#f7f4eea8;color:#16181d;box-shadow:inset 0 0 0 1px #ffffffb3}.field{width:100%;min-height:52px;padding:0 14px;border:1px solid var(--edge);border-radius:14px;background:var(--card);color:var(--ink);font:inherit;font-size:17px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.field::placeholder{color:var(--muted);opacity:1}.field:focus{border-color:var(--signal);box-shadow:0 0 0 3px color-mix(in srgb,var(--signal) 22%,transparent)}.field.big{min-height:58px;font-size:22px;font-weight:600;font-stretch:105%}.segmented{display:inline-grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:2px;padding:3px;border-radius:999px;background:var(--paper-2)}.segmented button{min-height:44px;padding:0 14px;border:0;border-radius:999px;background:transparent;color:var(--muted);font-size:15px;font-weight:600;cursor:pointer;transition:background-color .15s ease,color .15s ease}.segmented button.on{background:var(--card);color:var(--ink);box-shadow:0 1px 2px #00000014,0 0 0 1px var(--line)}.stars{display:inline-flex;gap:2px}.stars .on{fill:var(--signal);stroke:var(--signal)}.stars .off{fill:none;stroke:color-mix(in srgb,var(--muted) 55%,transparent)}.tick{display:inline-block;animation:tick .2s var(--ease-out)}@keyframes tick{0%{transform:scale(1.22)}to{transform:none}}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.card{display:grid;gap:10px;margin:12px 0;padding:16px;border:1px solid var(--line);border-radius:20px;background:var(--card)}.section-title{font-size:17px;font-weight:700}.empty{display:grid;justify-items:center;gap:14px;padding:32px 8px;text-align:center}.empty p{max-width:36ch;color:var(--muted)}.status-note{display:block;margin:12px 0;color:var(--muted);font-size:15px}.status-note svg{display:inline-block;vertical-align:-2px;margin-right:6px}.status-note.err{color:var(--danger)}.credit{margin:8px 0 24px;text-align:center;color:var(--muted);font-size:14px}.kb-bridge{position:fixed;top:0;left:0;width:1px;height:1px;padding:0;border:0;opacity:0;pointer-events:none;font-size:16px}.app{min-height:100dvh}.app.has-tabs{padding-bottom:calc(76px + var(--safe-b))}.tabs{position:fixed;left:0;right:0;bottom:0;z-index:20;display:grid;grid-template-columns:repeat(4,1fr);padding:6px 8px calc(6px + var(--safe-b));border-top:1px solid var(--line);background:color-mix(in srgb,var(--paper) 86%,transparent);-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%)}.tab{display:grid;justify-items:center;align-content:center;gap:2px;min-height:54px;color:var(--muted);font-size:13px;font-weight:600;text-decoration:none;border-radius:14px}.tab.on{color:var(--ink);font-weight:700}.tab.on svg:not(.fruit svg){color:var(--signal-text)}@media (min-width: 900px){.tabs{left:50%;right:auto;bottom:16px;width:440px;transform:translate(-50%);border:1px solid var(--line);border-radius:999px;padding:4px 8px;box-shadow:0 18px 40px -24px #0006}.app.has-tabs{padding-bottom:100px}}.home{max-width:640px;margin:0 auto;padding:calc(14px + var(--safe-t)) 16px 0}.home-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px}.streak-chip{display:inline-flex;align-items:center;gap:6px;min-height:48px;padding:4px 14px 4px 6px;border:1px solid var(--edge);border-radius:999px;background:var(--card);text-decoration:none}.streak-num{font-stretch:125%;font-weight:800;font-size:19px}.freezes{display:inline-flex;align-items:center;gap:2px;color:var(--muted);font-size:14px;font-weight:700}.today{margin:10px 2px 14px;color:var(--muted);font-size:15px}.resume{display:flex;align-items:center;gap:10px;margin:0 0 14px;padding:12px 14px;border-radius:16px;text-decoration:none;background:color-mix(in srgb,var(--signal) 12%,var(--card));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--signal) 45%,transparent);font-size:14.5px}.resume span:nth-child(2){flex:1}.resume-go{font-weight:700;color:var(--signal-text)}.shelf{list-style:none;margin:0;padding:0 0 8px;display:grid;gap:16px}.window{position:relative;display:block;height:clamp(212px,58vw,272px);border-radius:28px;overflow:hidden;isolation:isolate;color:inherit;text-decoration:none;background:#1a1d23;box-shadow:0 22px 44px -30px #16181d8c,0 2px 6px -2px #16181d2e;transition:transform .16s var(--ease-out)}.window:active{transform:scale(.985)}.window:focus-visible{outline-offset:3px}.window-art,.hero-art{position:absolute;top:0;right:0;bottom:0;left:0}.window-art svg,.hero-art svg{width:100%;height:100%}.window:after,.hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;border-radius:inherit;background:linear-gradient(115deg,#fff3,#fff0 30%,#fff0 70%,#ffffff12);box-shadow:inset 0 0 0 1px #ffffff29,inset 0 1px #ffffff47}.plate{position:absolute;left:10px;right:10px;bottom:10px;z-index:2;display:flex;align-items:center;gap:12px;min-height:66px;padding:12px 12px 12px 16px;border-radius:20px;-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%);box-shadow:0 12px 30px -18px #00000080}.tone-dark .plate{background:#0e101470;color:#f7f4ee;box-shadow:inset 0 0 0 1px #ffffff29,inset 0 1px #ffffff38,0 12px 30px -18px #0009}.tone-light .plate{background:#f7f4eea3;color:#16181d;box-shadow:inset 0 0 0 1px #ffffffb3,0 12px 30px -18px #00000059}.plate-text{flex:1;min-width:0}.plate-title{font-stretch:104%;font-weight:800;font-size:19px;line-height:1.1;letter-spacing:-.01em;text-wrap:balance}.plate-meta{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:4px;font-size:14px;line-height:1.35}.tone-dark .plate-meta{color:#f7f4eed1}.tone-light .plate-meta{color:#45403a}.plate-stars{display:inline-flex;align-items:center;gap:3px;font-weight:700}.plate-go{width:44px;height:44px;flex-shrink:0;display:grid;place-items:center;border-radius:999px;background:var(--signal);color:#16181d}@media (min-width: 560px){.plate-title{font-size:24px;font-stretch:125%}}@supports (animation-timeline: view()){@media (prefers-reduced-motion: no-preference){.shelf .window{animation:window-focus linear both;animation-timeline:view();animation-range:cover 0% cover 100%}.shelf .window-art{animation:art-parallax linear both;animation-timeline:view();animation-range:cover 0% cover 100%}}}@keyframes window-focus{0%{transform:scale(.94);opacity:.72}22%,78%{transform:none;opacity:1}to{transform:scale(.96);opacity:.8}}@keyframes art-parallax{0%{transform:translateY(-4%) scale(1.09)}to{transform:translateY(4%) scale(1.09)}}.drift{animation:drift 42s ease-in-out infinite alternate}@keyframes drift{0%{transform:translate(0)}to{transform:translate(-70px)}}.pulse{transform-box:fill-box;transform-origin:center;animation:pulse 2.8s var(--ease-out) infinite}@keyframes pulse{0%{transform:scale(.6);opacity:.9}to{transform:scale(1.5);opacity:0}}.art-num{font-family:Archivo,sans-serif;font-stretch:110%;font-weight:650;font-size:15px}.art-title{font-family:Archivo,sans-serif;font-stretch:125%;font-weight:800;font-size:36px;letter-spacing:-.02em}.art-sub{font-family:Archivo,sans-serif;font-stretch:110%;font-weight:700;font-size:22px}.art-label{font-family:Archivo,sans-serif;font-stretch:75%;font-weight:700;font-size:12px;letter-spacing:.06em}.art-giant{font-family:Archivo,sans-serif;font-stretch:125%;font-weight:800;font-size:112px;letter-spacing:-.03em}.art-card{font-family:Archivo,sans-serif;font-stretch:110%;font-weight:800;font-size:15px}.art-sym{font-family:Archivo,sans-serif;font-weight:800;font-size:8px}.art-bubble{font-family:Archivo,sans-serif;font-stretch:110%;font-weight:750}::view-transition-group(*){animation-duration:.32s;animation-timing-function:var(--ease-drawer)}::view-transition-old(root),::view-transition-new(root){animation-duration:.2s}.byline a,.status-note a,.hint a,.note a,.ogie-help a{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 12px;margin:2px 0;border:1px solid var(--line);border-radius:999px;text-decoration:none;font-weight:650;transition:border-color .15s ease,background .15s ease}.byline a:hover,.status-note a:hover,.hint a:hover,.note a:hover,.ogie-help a:hover{border-color:var(--ink);background:var(--card)}.game{min-height:100dvh;padding-bottom:calc(96px + var(--safe-b))}.hero{position:relative;height:clamp(250px,64vw,380px);overflow:hidden;isolation:isolate;border-radius:0 0 28px 28px;background:#1a1d23}.hero:after{border-radius:0 0 28px 28px}.hero-back{position:absolute;top:calc(10px + var(--safe-t));left:10px;z-index:3}.hero-plate{left:12px;right:12px;bottom:12px}.hero-plate .plate-title{font-size:26px;font-stretch:112%}@media (min-width: 900px){.hero{max-width:640px;height:320px;margin:16px auto 0;border-radius:28px}.hero:after{border-radius:28px}.hero-plate .plate-title{font-size:32px;font-stretch:125%}}.game-body{max-width:640px;margin:0 auto;padding:14px 16px 0}.byline{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;color:var(--muted);font-size:15px}.byline a{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 4px;color:var(--ink);font-weight:650}.levels{display:grid;gap:8px;margin:14px 0 0;padding:0;border:0}.level-art{width:74px;height:50px;border-radius:10px;overflow:hidden;flex-shrink:0;background:var(--paper-2);display:grid;place-items:center;position:relative}.level-art .map{width:100%;height:100%;max-height:none;margin:0}.level-art .q-fig-svg,.mode-art-svg{width:88%;height:auto}.mode-art-glyph{font-size:15px;letter-spacing:.01em;color:var(--ink)}.mode-art-num{font-family:Archivo,sans-serif;font-weight:700;font-size:11px}.level{display:flex;align-items:center;gap:12px;min-height:60px;padding:12px 14px 12px 16px;border-radius:16px;cursor:pointer;background:var(--card);box-shadow:inset 0 0 0 1px var(--edge);transition:box-shadow .15s ease,transform .14s var(--ease-out)}.level:active{transform:scale(.99)}.level.on{box-shadow:inset 0 0 0 2px var(--signal)}.level:has(:focus-visible){outline:2px solid var(--signal);outline-offset:2px}.level-text{flex:1;min-width:0;display:grid;gap:1px}.level-name{font-weight:650;font-size:16px}.level-about{color:var(--muted);font-size:14.5px;line-height:1.35}.level-side{display:grid;justify-items:end;gap:4px}.level-best{color:var(--muted);font-size:14px}.start-bar{position:fixed;left:0;right:0;bottom:0;z-index:10;display:flex;justify-content:center;padding:14px 16px calc(12px + var(--safe-b));background:linear-gradient(to top,var(--paper) 62%,color-mix(in srgb,var(--paper) 0%,transparent))}.start-bar .btn{max-width:608px;box-shadow:0 14px 28px -16px color-mix(in srgb,var(--signal) 80%,transparent)}.lesson{display:flex;flex-direction:column;min-height:100dvh;padding-bottom:8px}.lesson-top{position:sticky;top:0;z-index:6;display:flex;align-items:center;gap:12px;padding:calc(10px + var(--safe-t)) 16px 10px;background:color-mix(in srgb,var(--paper) 92%,transparent);-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);border-bottom:1px solid var(--line)}.lesson-track{flex:1;height:10px;border-radius:5px;background:var(--paper-2);overflow:hidden}.lesson-track span{display:block;height:100%;border-radius:5px;background:var(--signal);transition:width .4s var(--ease-out)}.lesson-name{font-stretch:75%;font-weight:700;font-size:13px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.l-stage{flex:1;display:grid;align-content:center;justify-items:center;gap:18px;padding:24px 20px 220px}.l-mascot{line-height:0;flex-shrink:0}.talking{transform-origin:50% 100%;animation:talk 1.3s ease-in-out infinite}@keyframes talk{0%,to{transform:none}50%{transform:translateY(-4px) scale(1.04)}}.l-mascot.react .fruit{animation:q-in .24s var(--ease-out)}.l-bubble{position:relative;max-width:34ch;background:var(--card);border:1px solid var(--line);border-radius:22px 22px 22px 6px;padding:16px 18px;box-shadow:0 1px 0 var(--line);animation:q-in .24s var(--ease-out)}.l-bubble:before{content:"";position:absolute;left:-8px;bottom:8px;width:14px;height:14px;background:inherit;border-left:1px solid var(--line);border-bottom:1px solid var(--line);transform:rotate(45deg);border-bottom-left-radius:4px}.l-title{font-size:21px;margin:0 0 6px}.l-bubble p{font-size:16px;line-height:1.45;margin:0}.l-bubble.l-asking{max-width:38ch}.l-q{font-size:19px;font-weight:750}.lq-options{display:grid;gap:10px;width:100%;max-width:420px}.lopt{display:flex;align-items:center;gap:12px;min-height:54px;padding:8px 14px;border:1px solid var(--line);border-radius:16px;background:var(--card);font-size:17px;font-weight:600;text-align:left;transition:transform .12s var(--ease-out),border-color .12s ease}.lopt:active{transform:scale(.985)}.lopt-key{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:var(--paper-2);font-size:13px;font-weight:700;flex-shrink:0}.lopt.pick{border-color:var(--ink)}.lopt.right{border-color:var(--signal);background:color-mix(in srgb,var(--signal) 12%,var(--card))}.lopt.right .lopt-key{background:var(--signal);color:var(--on-signal)}.lopt.wrong{border-color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,var(--card))}.lopt.dim{opacity:.55}.lesson-form{display:flex;gap:8px;flex-wrap:wrap;width:100%;max-width:420px}.lesson-form .field{flex:1 1 180px}.lesson-bar{position:fixed;left:0;right:0;bottom:calc(var(--safe-b) + 96px);z-index:10;display:grid;justify-items:center;gap:10px;padding:0 24px;pointer-events:none}.lesson-bar>*{pointer-events:auto;width:100%;max-width:420px}.lesson-bar .btn{max-width:300px;margin:0 auto}.lesson-fb{margin:0;text-align:center;font-size:15px;color:var(--muted);padding:12px 16px;border-radius:20px;background:var(--card);border:1px solid var(--line);animation:q-in .24s var(--ease-out)}.lesson-fb strong{color:var(--ink);margin-right:6px}.lesson-bar.ok .lesson-fb{border-color:color-mix(in srgb,var(--signal) 40%,var(--line));background:color-mix(in srgb,var(--signal) 10%,var(--card))}.lesson-bar.no .lesson-fb{border-color:color-mix(in srgb,var(--danger) 40%,var(--line));background:color-mix(in srgb,var(--danger) 8%,var(--card))}.lesson-bar .hint{text-align:center}.lesson-done{padding-bottom:40px}.l-done{text-align:center;border-radius:22px;padding:18px 20px}.lesson-done-actions{display:grid;gap:10px;width:100%;max-width:420px;margin-top:8px}.run{display:flex;flex-direction:column;min-height:100dvh;max-width:760px;margin:0 auto;padding:0 12px calc(14px + var(--safe-b))}.runbar-wrap{position:sticky;top:0;z-index:6;background:var(--paper)}.runbar{display:grid;grid-template-columns:44px 1fr minmax(64px,auto);align-items:center;gap:8px;padding:calc(8px + var(--safe-t)) 0 8px}.runbar-fill{height:3px;margin:0 2px;border-radius:2px;background:var(--line);overflow:hidden}.runbar-fill span{display:block;height:100%;background:var(--signal);transform-origin:left;transition:transform .32s var(--ease-out)}.saving{font-size:.42em;letter-spacing:0;color:var(--muted)}.combo{display:inline-block;margin-right:8px;padding:2px 8px;border-radius:999px;font-stretch:125%;font-weight:800;font-size:15px;color:#16181d;background:var(--signal);animation:combo-in .26s cubic-bezier(.34,1.56,.64,1)}.combo.heat-2{box-shadow:0 0 0 3px color-mix(in srgb,var(--signal) 30%,transparent)}.combo.heat-3{box-shadow:0 0 0 3px color-mix(in srgb,var(--signal) 35%,transparent),0 0 18px 2px color-mix(in srgb,var(--signal) 55%,transparent);animation:combo-in .26s cubic-bezier(.34,1.56,.64,1),heat .9s ease-in-out infinite alternate}@keyframes combo-in{0%{transform:scale(1.5)}to{transform:none}}@keyframes heat{to{box-shadow:0 0 0 4px color-mix(in srgb,var(--signal) 45%,transparent),0 0 26px 6px color-mix(in srgb,var(--signal) 60%,transparent)}}.clock{text-align:center;font-stretch:125%;font-weight:800;font-size:clamp(44px,12.5vw,64px);letter-spacing:-.03em;line-height:1}.clock.late{color:var(--signal-text)}.runbar-progress{text-align:right;font-weight:700;font-size:17px;padding-right:4px}.recall-input{position:sticky;top:calc(var(--runbar-h) + 3px + var(--safe-t));z-index:5;padding:2px 0 4px;background:var(--paper)}.field.stuck{border-color:var(--signal);background:color-mix(in srgb,var(--signal) 7%,var(--card))}.box-why{min-height:22px;margin-top:4px;padding-left:4px;color:var(--signal-text);font-size:14px;font-weight:650}.map{width:100%;height:auto;max-height:min(60dvh,620px);margin:2px 0 4px}.map-loading{aspect-ratio:1000 / 520;border-radius:16px;background:var(--paper-2)}.map .sea{fill:var(--sea)}.map .other{fill:var(--land-other)}.map .c{fill:var(--land);stroke:var(--border);stroke-width:.6;vector-effect:non-scaling-stroke;transition:fill .3s ease}.map circle.c{stroke-width:1}.map .c.f{fill:var(--found)}.map .c.just{animation:stamp .24s cubic-bezier(.16,1,.3,1)}.map .c.miss{fill:var(--miss-fill);stroke:var(--signal);stroke-width:1.3}.map .c.out{opacity:.35}@keyframes stamp{0%{fill:var(--signal)}to{fill:var(--found)}}.chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.chip{min-height:44px;padding:0 14px;border:0;border-radius:999px;background:var(--card);box-shadow:inset 0 0 0 1px var(--edge);font-size:15px;font-weight:600;cursor:pointer}.chip .num{color:var(--muted);font-weight:600;margin-left:2px}.chip.on{background:var(--ink);color:var(--paper);box-shadow:none}.chip.on .num{color:color-mix(in srgb,var(--paper) 70%,transparent)}.chip:not(.on){background-image:linear-gradient(90deg,color-mix(in srgb,var(--signal) 22%,transparent) var(--fill, 0%),transparent var(--fill, 0%))}.chip.full:not(.on){background-image:none;background-color:color-mix(in srgb,var(--signal) 30%,var(--card));box-shadow:inset 0 0 0 1.5px var(--signal)}.found{display:grid;gap:8px;margin:8px 2px 16px;font-size:15px;line-height:1.55}.found .label{margin-right:4px}.ptable{display:grid;grid-template-columns:repeat(18,minmax(0,1fr));gap:3px;margin:8px 0 16px}.ptable.full{grid-template-rows:repeat(7,auto) 10px auto auto}.el{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:1 / 1.12;border-radius:6px;background:var(--cell);box-shadow:inset 0 0 0 1px var(--line);overflow:hidden;container-type:inline-size}.el-z{position:absolute;top:2px;left:3px;font-size:max(6px,19cqi);color:var(--muted);line-height:1}.el-sym{font-stretch:110%;font-weight:800;font-size:40cqi;line-height:1;margin-top:8%}.el-name{display:none;font-size:12.5cqi;line-height:1.1;margin-top:3px;max-width:94%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@container (min-width: 46px){.el-name{display:block}}.el.f{background:var(--found);color:var(--paper);box-shadow:none}.el.f .el-z{color:color-mix(in srgb,var(--paper) 65%,transparent)}.el.just{animation:el-stamp .24s cubic-bezier(.16,1,.3,1)}.el.miss{background:var(--miss-fill);box-shadow:inset 0 0 0 1.5px var(--signal);color:var(--signal-text)}@keyframes el-stamp{0%{background:var(--signal);color:#16181d}to{background:var(--found)}}.pips{display:flex;gap:4px;margin:2px 0 0;padding:0;list-style:none}.pips li{flex:1;height:4px;border-radius:2px;background:var(--line);transition:background-color .2s ease}.pips li.done{background:var(--ink)}.pips li.miss{background:var(--signal)}.pips li.now{background:color-mix(in srgb,var(--ink) 35%,transparent)}.question{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:30dvh;padding:24px 8px;text-align:center;animation:q-in .24s var(--ease-out)}.q-figure{display:flex;justify-content:center;margin-bottom:6px}.q-figure svg{width:clamp(150px,38vw,210px);height:auto}.fig-t{font-family:Archivo,sans-serif;font-weight:800;font-size:20px;fill:var(--ink)}.fig-t.dim{fill:var(--muted)}@keyframes q-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.q-big{font-size:clamp(28px,7.5vw,46px);text-wrap:balance}.q-giant{font-size:clamp(40px,12vw,60px);letter-spacing:-.03em}.q-text{max-width:34ch;font-size:clamp(19px,4.8vw,24px);font-weight:500;line-height:1.4;text-wrap:pretty}.q-hint{margin-top:10px;color:var(--muted);font-size:15px}.daypad{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;padding-bottom:6px}.day{display:grid;justify-items:center;align-content:center;gap:1px;min-height:68px;padding:0;border:0;border-radius:14px;background:var(--card);box-shadow:inset 0 0 0 1px var(--edge),0 2px 0 var(--edge);cursor:pointer;transition:transform .12s var(--ease-out),background-color .15s ease}.day:active{transform:translateY(2px);box-shadow:inset 0 0 0 1px var(--edge);background:var(--paper-2)}.day{touch-action:manipulation}.day:disabled{opacity:.5;cursor:default}.day-n{font-stretch:125%;font-weight:800;font-size:21px;line-height:1.1}.day-name{color:var(--muted);font-size:13.5px;font-weight:650}.typein{display:flex;gap:8px;align-items:center;padding-bottom:6px}.typein .skip{flex-shrink:0;min-height:58px}.feedback-slot{min-height:30px;display:flex;justify-content:center;align-items:center}.feedback{display:inline-flex;align-items:baseline;gap:6px;color:var(--signal-text);font-size:16px;font-weight:650;animation:fade-out 1.8s ease forwards}@keyframes fade-out{0%,70%{opacity:1}to{opacity:0}}.table{position:relative;flex:1;display:grid;place-items:center;min-height:44dvh;margin:10px 0;padding:0;border:0;border-radius:26px;background:radial-gradient(120% 90% at 50% 40%,#262930 0%,var(--felt) 70%);cursor:pointer;overflow:hidden}.table:disabled{cursor:default}.table-hint{color:#f7f4eecc;font-weight:600}.pcard{grid-area:1 / 1;width:min(40vw,176px);height:auto;filter:drop-shadow(0 12px 18px rgba(0,0,0,.35));transform:translate(var(--dx, 0));animation:card-in .17s var(--ease-out)}@keyframes card-in{0%{opacity:0;transform:translate(var(--dx, 0)) translateY(10px) scale(.96)}to{opacity:1;transform:translate(var(--dx, 0))}}.pcard-rank{font-family:Archivo,sans-serif;font-stretch:110%;font-weight:800;font-size:18px}.countin{display:grid;justify-items:center;gap:12px;padding-bottom:6px}.stepper{display:flex;align-items:center;gap:12px}.field.count{width:128px;min-height:60px;text-align:center;font-stretch:125%;font-weight:800;font-size:32px}.countin .btn{max-width:360px}.page{max-width:640px;margin:0 auto;padding:calc(14px + var(--safe-t)) 16px 24px}.page-top{display:flex;align-items:center;gap:8px;min-height:48px}.page-top-title{font-weight:650}.page-title{margin:8px 0 16px;font-size:28px}.results{max-width:640px;margin:0 auto;padding-bottom:calc(84px + var(--safe-b));overflow-x:clip}.res-head{display:grid;justify-items:center;gap:6px;padding:4px 0 14px;text-align:center}.res-time{margin-top:6px;font-size:clamp(52px,16vw,88px);letter-spacing:-.035em;animation:res-in .46s var(--ease-out)}@keyframes res-in{0%{opacity:0;transform:scale(.92);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}.res-score{font-size:22px;font-weight:750}.res-score span{color:var(--muted);font-weight:600}.res-head .stars svg{animation:star-in .38s var(--ease-out) both}.res-head .stars svg:nth-child(2){animation-delay:.11s}.res-head .stars svg:nth-child(3){animation-delay:.22s}@keyframes star-in{0%{opacity:0;transform:scale(.6) rotate(-18deg)}to{opacity:1;transform:none}}.res-mode{color:var(--muted);font-size:15px}.res-notes{display:grid;gap:6px;margin:0;padding:0;list-style:none;text-align:center;font-size:16px;text-wrap:balance}.res-more{justify-content:center;margin:18px 0 0}.review{margin-top:26px}.review-title{margin-bottom:10px;font-size:18px;font-weight:700}.missed{margin-top:10px;font-size:15px;line-height:1.6}.qlist{display:grid;gap:8px;margin:0;padding:0;list-style:none}.qlist>li{display:grid;grid-template-columns:26px 1fr;gap:10px;padding:12px 14px;border-radius:14px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line)}.qmark{width:24px;height:24px;display:grid;place-items:center;border-radius:999px;margin-top:1px}.ok .qmark{background:var(--ink);color:var(--paper)}.no .qmark{background:var(--signal);color:#16181d}.qq{font-weight:600}.qa{font-size:15px;margin-top:2px}.qx{margin-top:6px;color:var(--muted);font-size:14.5px;line-height:1.5}.filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin-bottom:14px}.filters .segmented{width:100%}.filters .span-2{grid-column:1 / -1}.rows>li.xp-row{grid-template-columns:30px 30px minmax(0,1fr) auto}.filters .segmented button{padding:0 6px;white-space:nowrap;font-size:14.5px}.select select{text-overflow:ellipsis}.select select{width:100%;min-height:48px;padding:0 40px 0 14px;border:1px solid var(--edge);border-radius:14px;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:var(--card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%237d776f' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center;color:var(--ink);font:inherit;font-size:16px;font-weight:600}.rows{display:grid;gap:2px;margin:0;padding:0;list-style:none;transition:opacity .15s ease}.rows.loading{opacity:.6}.rows>li{display:grid;grid-template-columns:30px 30px minmax(0,1fr) auto auto;align-items:center;gap:10px;min-height:52px;padding:8px 12px;border-radius:14px}.rows>li.me{background:color-mix(in srgb,var(--signal) 13%,transparent)}.rank{font-stretch:120%;font-weight:800;font-size:16px;text-align:center}.who{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.score{font-weight:750}.time{color:var(--muted)}.sub{display:block;color:var(--muted);font-size:13.5px;font-weight:500}.score .sub{display:inline}.friends-list>li{grid-template-columns:34px minmax(0,1fr) auto 48px}.invite-card{justify-items:start}.invite-card .code{font-size:36px;letter-spacing:.08em}.add-friend{display:grid;gap:8px;margin:18px 0}.nudge{justify-items:start}.nudge p{color:var(--ink)}.add-friend .row{flex-wrap:nowrap}.add-friend .field{letter-spacing:.12em;font-weight:700}.board{margin-top:24px}.board .section-title{margin-bottom:8px}.profile{display:grid;justify-items:center;gap:8px;padding:8px 0 4px;text-align:center}.profile-name{display:flex;align-items:center;gap:4px;font-size:26px}.name-form{display:grid;gap:4px;width:100%;max-width:340px}.name-form .row{flex-wrap:nowrap}.name-form .btn{padding:0 16px;flex-shrink:0}.field-msg{min-height:20px;color:var(--muted);font-size:14px;text-align:left;padding-left:4px}.field-msg.err{color:var(--danger);font-weight:600}.field[aria-invalid=true]{border-color:var(--danger)}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:100%;margin:10px 0 0}.stats div{padding:10px 4px;border-radius:14px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line)}.stats dt{color:var(--muted);font-size:13px;font-weight:650}.stats dd{margin:0;font-stretch:125%;font-weight:800;font-size:22px}.avatars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.avatar{display:grid;place-items:center;aspect-ratio:1;border:0;border-radius:18px;background:var(--paper);box-shadow:inset 0 0 0 1px var(--edge);cursor:pointer;transition:transform .14s var(--ease-out),box-shadow .15s ease}.avatar:active{transform:scale(.95)}.avatar.on{box-shadow:inset 0 0 0 2px var(--signal)}.setting{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding-top:8px;border-top:1px solid var(--line)}.card .setting:first-of-type{border-top:0;padding-top:0}.setting>span{font-weight:600}.setting.col{flex-direction:column;align-items:stretch;gap:6px}.setting.col .btn{justify-self:start;align-self:flex-start}.gbtn{display:grid;gap:4px;width:100%;max-width:360px}.gbtn-box{position:relative;height:44px}.gbtn-box>div:first-child{display:flex;justify-content:center;align-items:center;height:44px;transition:opacity .15s ease}.gbtn-box .dim{opacity:.3;pointer-events:none}.gbtn-over{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;gap:8px;font-size:14.5px;font-weight:600}.gbtn-msg{min-height:20px;text-align:center;color:var(--muted);font-size:14px}.gbtn-msg.err{color:var(--danger)}.dev-signin{display:grid;gap:6px;width:100%;max-width:360px}.dev-signin .row{flex-wrap:nowrap}.dev-signin .btn,.add-friend .btn,.prompt-form .btn{white-space:nowrap;flex-shrink:0}.signin-card{grid-template-columns:auto 1fr;align-items:center;gap:14px}.ogie{display:flex;flex-direction:column;min-height:100dvh}.ogie-head{display:flex;align-items:center;gap:12px;padding:calc(8px + var(--safe-t)) 12px 8px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--paper) 94%,transparent);position:sticky;top:0;z-index:6}.ogie-head .icon-btn{flex-shrink:0}.ogie-name{font-size:20px;margin:0;white-space:nowrap}.ogie-head{position:sticky}.pebbles{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;gap:7px;list-style:none;margin:0;padding:0}.pebble{width:15px;height:15px;border-radius:50%;border:1.5px solid var(--edge);background:var(--paper-2)}.pebble.now{border-color:var(--signal);animation:pebble-pulse 1.6s ease-in-out infinite}.pebble.done{background:var(--signal);border-color:var(--signal);opacity:.85}.pebble.top{background:var(--signal);border-color:var(--signal);box-shadow:0 0 0 2px color-mix(in srgb,var(--signal) 40%,transparent);opacity:1}.pebble.missed{background:none;position:relative}.pebble.missed:after{content:"";position:absolute;left:1px;right:1px;top:50%;border-top:1.5px solid var(--edge);transform:rotate(-45deg)}@keyframes pebble-pulse{0%,to{transform:scale(1);box-shadow:0 0 color-mix(in srgb,var(--signal) 45%,transparent)}50%{transform:scale(1.14);box-shadow:0 0 0 4px color-mix(in srgb,var(--signal) 0%,transparent)}}.ogie-stage{position:relative;flex:1;min-height:320px;background:#0e1013;overflow:hidden;isolation:isolate}.ogie-stage:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.08) 0%,rgba(255,255,255,.02) 30%,transparent 50%);box-shadow:inset 0 0 0 1px #ffffff12}.ogie-scene{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.ogie-center{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:grid;place-content:center;justify-items:center;gap:12px;padding:20px;text-align:center;color:#f7f4ee}.ogie-tagline{font-size:17px;color:#c9c3b8;max-width:30ch}.ogie-progress{font-size:15px;color:#c9c3b8}.ogie-progress strong{color:#f7f4ee}.ogie-hint{font-size:14px;color:#8f8a82}.ogie-results{gap:16px}.ogie-juice{display:grid;justify-items:center;gap:6px;margin:0}.ogie-juice .display{font-size:clamp(52px,17vw,72px);color:#f7f4ee}.ogie-juice span{color:#c9c3b8;font-size:15px}.ogie-percent{margin:0;font-size:15px;font-weight:650;color:#f7f4ee}.ogie-prompt{position:absolute;top:11%;left:24px;right:24px;z-index:3;text-align:center;color:#f7f4ee;animation:q-in .24s var(--ease-out) both}.ogie-q{margin:0;font-size:clamp(23px,6.5vw,29px);font-weight:800;line-height:1.25;text-wrap:balance;text-shadow:0 1px 3px rgba(14,16,19,.85)}.ogie-meta{margin:6px 0 0;font-size:13px;color:#8f8a82}.ogie-timer{position:static;margin:10px 0 0;font-size:clamp(48px,15vw,64px);line-height:1;color:#f7f4ee;text-shadow:0 1px 3px rgba(14,16,19,.85)}.ogie-timer.late{color:var(--signal);animation:timer-late 1s ease-in-out infinite}@keyframes timer-late{0%,to{transform:scale(1)}50%{transform:scale(.9)}}.ogie-ladder{position:absolute;right:16px;bottom:18px;z-index:3;display:grid;gap:15px;margin:0;padding:0 0 2px;list-style:none}.ogie-ladder .rung{display:flex;align-items:center;gap:9px;justify-content:flex-end;color:#8f8a82}.rung-dot{width:15px;height:15px;border-radius:50%;border:2px solid #454B58;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s var(--ease-out)}.rung.past .rung-dot{background:#454b58}.rung.lit .rung-dot{background:var(--signal);border-color:var(--signal);box-shadow:0 0 0 4px color-mix(in srgb,var(--signal) 35%,transparent);transform:scale(1.25)}.rung-name{font-family:Archivo,sans-serif;font-stretch:75%;font-size:13px;font-weight:750;letter-spacing:.07em;text-transform:uppercase}.rung.past .rung-name{color:#c9c3b8}.rung.lit .rung-name{color:#f7f4ee}.ogie-reveal{position:absolute;left:16px;right:16px;bottom:14px;z-index:4;display:grid;gap:10px;padding:18px 18px 14px;border-radius:24px;background:#1012168c;-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);box-shadow:inset 0 0 0 1px #ffffff24;color:#f7f4ee;animation:reveal-in .32s var(--ease-drawer) both}@keyframes reveal-in{0%{transform:translateY(26px);opacity:0}to{transform:none;opacity:1}}.ogie-reveal .rare-curve{height:40px}.ogie-reveal .curve-end{fill:#8f8a82}.ogie-tier{margin:0;animation:star-land .42s cubic-bezier(.34,1.56,.64,1) both}.ogie-tier.timeout{display:flex;align-items:center;gap:9px;font-size:18px;font-weight:700;color:#c9c3b8}.badge{display:inline-block;font-stretch:75%;font-weight:800;font-size:24px;letter-spacing:.04em;text-transform:uppercase}.badge.t4{color:var(--signal)}.ogie-what{margin:0;font-size:15px;color:#c9c3b8}.ogie-what strong{color:#f7f4ee}.ogie-enter{margin:2px 0 0;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#8f8a82}.ogie-dock{position:fixed;left:50%;transform:translate(-50%);bottom:calc(var(--safe-b) + 20px);z-index:8;width:min(560px,calc(100% - 32px));display:flex;align-items:center;gap:10px}.ogie-ring{position:relative;width:52px;height:52px;flex-shrink:0}.ogie-ring svg{position:absolute;top:0;right:0;bottom:0;left:0;transform:rotate(-90deg)}.ring-track{fill:#1012168c;stroke:#ffffff2e;stroke-width:3}.ring-fill{fill:none;stroke:var(--signal);stroke-width:3;stroke-linecap:round}.ring-num{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:19px;font-weight:800;color:#f7f4ee;text-shadow:0 1px 2px rgba(14,16,19,.8)}.ogie-dock.late .ring-fill{animation:ring-late 1s ease-in-out infinite}@keyframes ring-late{0%,to{opacity:1}50%{opacity:.45}}.ogie-capsule{flex:1;min-width:0;display:flex;align-items:center;min-height:54px;border-radius:999px;background:#10121699;-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);box-shadow:inset 0 0 0 1px #ffffff29,0 10px 30px -18px #000000b3;padding:5px 5px 5px 18px;transition:box-shadow .2s ease}.ogie-capsule:focus-within{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--signal) 65%,transparent),0 0 0 4px color-mix(in srgb,var(--signal) 24%,transparent),0 10px 30px -18px #000000b3}.ogie-field{flex:1;min-width:0;background:none;border:none;outline:none;color:#f7f4ee;font:650 17px/1.3 Archivo,system-ui,sans-serif;caret-color:var(--signal);padding:6px 10px 6px 0}.ogie-field::placeholder{color:#8f8a82}.ogie-go{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 18px;border:none;border-radius:999px;background:var(--signal);color:var(--on-signal);font:700 15px Archivo,system-ui,sans-serif;letter-spacing:.02em;text-transform:uppercase;cursor:pointer;flex-shrink:0}.ogie-go:disabled{opacity:.5;cursor:default}.ogie-go:not(:disabled):active{transform:scale(.97)}.ogie-pass{border:none;background:none;color:#8f8a82;font:650 13px Archivo,system-ui,sans-serif;text-decoration:underline;text-underline-offset:3px;padding:12px 8px;flex-shrink:0}.ogie-near{position:absolute;left:62px;right:0;top:calc(100% + 8px);margin:0;color:#c9c3b8;text-shadow:0 1px 2px rgba(14,16,19,.85)}.ogie-near strong{color:var(--signal)}.ogie-signin{margin:12px}.ogie .board{padding:14px 16px 20px;margin:0}.ogie-scene .orange-grow{transform-box:fill-box;transform-origin:50% 4%;transition:transform .52s cubic-bezier(.34,1.56,.64,1)}.ogie-scene .orange-g{transform-box:fill-box;transform-origin:50% 50%}.ogie.dropping .ogie-scene .orange-g{animation:orange-drop 1s cubic-bezier(.5,0,1,.4) .2s forwards}@keyframes orange-drop{0%{transform:translate(0) rotate(0)}62%{transform:translate(44px,-12px) rotate(150deg)}86%{transform:translate(56px,48px) rotate(215deg) scale(1.16,.62)}to{transform:translate(56px,48px) rotate(215deg) scale(1.16,.62);opacity:0}}.ogie-scene .juice{transform-box:fill-box;transform-origin:50% 100%;transition:transform .9s var(--ease-drawer)}.ogie-scene .splash{opacity:0;transform-box:fill-box;transform-origin:50% 100%}.ogie.dropping .ogie-scene .splash{animation:juice-splash .7s var(--ease-out) 1.1s both}@keyframes juice-splash{0%{opacity:1;transform:scale(.3) translateY(8px)}to{opacity:0;transform:scale(1.3) translateY(-18px)}}.ogie-help{display:grid;gap:12px}.ogie-tiers{display:grid;gap:8px;margin:0;padding:0;list-style:none}.ogie-tiers .rung{display:flex;align-items:baseline;gap:10px}.ogie-tiers .rung .badge{font-size:16px;min-width:132px}.ogie-tiers .rung.r4 .badge{color:var(--signal-text)}.ogie-tiers .rung span:last-child{color:var(--muted);font-size:14px}.rare-curve{flex:1 1 100%;max-width:none;height:44px}.curve-end{font-family:Archivo,sans-serif;font-stretch:75%;font-size:8.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;fill:var(--muted)}.hint.near-miss strong{color:var(--signal-text)}.learn-page{display:grid;gap:14px;padding:8px 2px;animation:q-in .22s var(--ease-out)}.learn-title{font-size:26px;margin-bottom:2px}.learn-page p,.learn-list{font-size:16px;line-height:1.6;max-width:62ch}.learn-list{margin:0;padding-left:20px}.learn-list li{margin:4px 0}.learn-nav{display:flex;align-items:center;justify-content:space-between;margin:22px 0 90px}.dots{display:flex;gap:6px;margin:0;padding:0;list-style:none}.dots li{width:8px;height:8px;border-radius:4px;background:var(--line);transition:width .2s var(--ease-out),background-color .2s ease}.dots li.on{width:22px;background:var(--signal)}.invite-head{display:flex;justify-content:center;padding:12px 0 8px}.invite-body{display:grid;justify-items:center;gap:14px;padding:12px 4px;text-align:center}.invite-pair{display:flex;gap:4px}.invite-title{font-size:28px;text-wrap:balance}.invite-body>p{max-width:40ch;color:var(--muted)}.perk{display:flex;align-items:center;gap:10px;max-width:36ch;padding:10px 14px;border-radius:14px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink)!important;font-weight:600;text-align:left}.perk svg{flex-shrink:0;color:var(--ink)}.sheet{width:100%;max-width:100%;margin:auto auto 0;padding:0;border:0;background:transparent;color:var(--ink)}.sheet::backdrop{background:#0a0c1075}.sheet-body{display:grid;gap:12px;max-width:560px;margin:0 auto;padding:22px 20px calc(18px + var(--safe-b));border-radius:24px 24px 0 0;background:var(--card);box-shadow:0 -10px 40px -20px #0006}.sheet[open] .sheet-body{animation:sheet-in .3s var(--ease-drawer)}@keyframes sheet-in{0%{transform:translateY(100%)}to{transform:none}}.sheet-title{font-size:19px;font-weight:700}.sheet-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-top:4px}.sheet-actions .btn{flex:1 1 140px}@media (min-width: 640px){.sheet{margin:auto}.sheet-body{border-radius:24px;padding-bottom:20px}.sheet[open] .sheet-body{animation:pop-in .22s var(--ease-out)}}@keyframes pop-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}.toaster{position:fixed;left:50%;bottom:calc(92px + var(--safe-b));z-index:60;transform:translate(-50%);width:max-content;max-width:calc(100% - 32px);pointer-events:none}.toast{padding:12px 18px;border-radius:14px;background:var(--ink);color:var(--paper);font-size:15px;font-weight:550;box-shadow:0 14px 30px -16px #00000080;animation:toast-in .22s var(--ease-out)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.box-wrap{position:relative}.pops{position:absolute;right:10px;top:0;bottom:0;width:60%;pointer-events:none;overflow:hidden;border-radius:14px}.pop{position:absolute;right:0;top:50%;max-width:100%;overflow:hidden;text-overflow:ellipsis;padding:4px 12px;border-radius:999px;background:var(--signal);color:#16181d;font-stretch:110%;font-weight:800;font-size:15px;white-space:nowrap;animation:rise 1.05s var(--ease-out) forwards}@keyframes rise{0%{opacity:0;transform:translateY(-10%) scale(.85)}14%{opacity:1;transform:translateY(-50%) scale(1.06)}70%{opacity:1;transform:translateY(-55%) scale(1)}to{opacity:0;transform:translateY(-130%) scale(.96)}}.map .ripple circle{fill:none;stroke:var(--signal);stroke-width:2.5;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:center;animation:ripple .9s var(--ease-out) forwards}.map .ripple circle.late{animation-delay:.16s;opacity:0}@keyframes ripple{0%{opacity:.95;transform:scale(.4)}to{opacity:0;transform:scale(6)}}.el.just{animation:el-stamp .24s cubic-bezier(.16,1,.3,1),el-pop .32s cubic-bezier(.34,1.56,.64,1)}@keyframes el-pop{0%{transform:scale(1.35)}to{transform:none}}.question{position:relative}.hit-mark{position:absolute;left:50%;top:4px;width:48px;height:48px;margin:0 0 0 -24px;display:grid;place-items:center;border-radius:999px;background:var(--signal);color:#16181d;pointer-events:none;animation:hit .62s var(--ease-out) forwards}@keyframes hit{0%{opacity:0;transform:scale(.5)}25%{opacity:1;transform:scale(1.12)}60%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.4)}}.question.after-miss .q-big,.question.after-miss .q-giant,.question.after-miss .q-text{animation:q-in .24s var(--ease-out)}.feedback{animation:fade-out 1.8s ease forwards,shake .32s ease}@keyframes shake{20%{transform:translate(-6px)}45%{transform:translate(5px)}70%{transform:translate(-3px)}}.res-head{position:relative;isolation:isolate}.res-glow{position:absolute;inset:-40px 0 auto;height:300px;z-index:-1;background:radial-gradient(closest-side,color-mix(in srgb,var(--signal) 26%,transparent),transparent);opacity:0;animation:glow-in .9s var(--ease-out) .12s forwards}.stars-0 .res-glow{display:none}.stars-3 .res-glow{background:radial-gradient(closest-side,color-mix(in srgb,var(--signal) 40%,transparent),transparent)}@keyframes glow-in{to{opacity:1}}.res-fruit{animation:res-in .46s var(--ease-out)}.res-fruit.hop{animation:res-in .46s var(--ease-out),hop .7s cubic-bezier(.34,1.56,.64,1) 1s}@keyframes hop{0%,to{transform:none}35%{transform:translateY(-16px) rotate(-6deg)}60%{transform:translateY(0) rotate(4deg) scaleY(.94)}80%{transform:translateY(-4px)}}.ribbon{margin:2px 0 -2px;padding:4px 14px;border-radius:999px;background:linear-gradient(100deg,var(--signal) 35%,#FFB27F 50%,var(--signal) 65%) 0 0 / 250% 100%;color:#16181d;font-stretch:75%;font-weight:800;font-size:13px;letter-spacing:.08em;text-transform:uppercase;animation:res-in .4s var(--ease-out) .7s both,shimmer 2.4s linear 1.2s infinite}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.star-row{display:inline-flex;gap:8px;margin:2px 0}.star{position:relative;display:grid;place-items:center;width:34px;height:34px}.star svg path{stroke-width:1.6;stroke-linejoin:round}.star.off svg path{fill:none;stroke:color-mix(in srgb,var(--muted) 55%,transparent)}.star.on svg path{fill:var(--signal);stroke:var(--signal)}.star.on svg{animation:star-land .52s cubic-bezier(.34,1.56,.64,1) both;animation-delay:calc(1s + var(--i) * .22s)}@keyframes star-land{0%{opacity:0;transform:scale(2.2) rotate(-40deg)}60%{opacity:1;transform:scale(.9) rotate(6deg)}to{opacity:1;transform:none}}.spark{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.spark i{position:absolute;left:50%;top:50%;width:5px;height:5px;margin:-2.5px;border-radius:50%;background:var(--signal);opacity:0;transform:rotate(var(--a)) translateY(0);animation:spark .62s var(--ease-out) forwards;animation-delay:calc(1.18s + var(--i) * .22s)}.spark i:nth-child(2n){width:3px;height:3px;margin:-1.5px;background:color-mix(in srgb,var(--signal) 60%,var(--paper))}@keyframes spark{0%{opacity:1;transform:rotate(var(--a)) translateY(-4px)}to{opacity:0;transform:rotate(var(--a)) translateY(-30px)}}.res-notes .xp{font-stretch:125%;font-weight:800;color:var(--signal-text);animation:res-in .3s var(--ease-out) .85s both}.share{display:grid;gap:12px;margin:22px 0 0}.card-frame{position:relative;width:min(100%,420px);margin:0 auto;aspect-ratio:4 / 5;border-radius:22px;overflow:hidden;background:#121418;box-shadow:0 30px 60px -30px #0009,0 0 0 1px #ffffff0f;transform:perspective(900px) rotateX(8deg) translateY(10px);opacity:0;transition:transform .7s var(--ease-out),opacity .5s ease}.card-frame.ready{transform:none;opacity:1}.card-frame:not(.ready){opacity:1;transform:none}.card-frame img{display:block;width:100%;height:100%}.card-skeleton{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:linear-gradient(110deg,#121418 30%,#1e2127,#121418 70%) 0 0 / 300% 100%;animation:shimmer 1.4s linear infinite}@media (hover: hover) and (pointer: fine){.card-frame.ready:hover{transform:perspective(900px) rotateX(2deg) rotateY(-4deg) scale(1.01)}}.share-actions{justify-content:center}.ping{transform-box:fill-box;transform-origin:center;opacity:0;animation:ping 5.4s var(--ease-out) var(--d, 0s) infinite}@keyframes ping{0%{opacity:.9;transform:scale(.3)}18%{opacity:0;transform:scale(2.6)}to{opacity:0;transform:scale(2.6)}}.draw{stroke-dasharray:100;stroke-dashoffset:100;animation:draw 6s var(--ease-out) var(--d, 0s) infinite}@keyframes draw{0%{stroke-dashoffset:100}18%,82%{stroke-dashoffset:0}to{stroke-dashoffset:-100}}.beat{transform-box:fill-box;transform-origin:center;animation:beat 3s ease-in-out infinite}@keyframes beat{0%,70%,to{transform:none}80%{transform:scale(1.18)}90%{transform:scale(.98)}}.answer-loop{animation:answer-loop 4.8s steps(1) infinite}@keyframes answer-loop{0%,30%{opacity:0}30.01%,to{opacity:1}}.caret{animation:caret .8s steps(1) infinite}@keyframes caret{50%{opacity:0}}.sway{transform-box:fill-box;transform-origin:50% 100%;animation:sway 3.6s ease-in-out var(--d, 0s) infinite alternate}@keyframes sway{0%{transform:rotate(-2.5deg) translateY(0)}to{transform:rotate(2.5deg) translateY(-3px)}}.cycle{opacity:0;animation:cycle 4.5s steps(1) infinite;animation-delay:calc(var(--i) * 1.5s)}@keyframes cycle{0%,33.3%{opacity:1}33.34%,to{opacity:0}}.twinkle{animation:twinkle 3.2s ease-in-out var(--d, 0s) infinite}@keyframes twinkle{0%,to{fill-opacity:1}50%{fill-opacity:.45}}.float{transform-box:fill-box;transform-origin:center;animation:float var(--t, 6s) ease-in-out var(--d, 0s) infinite alternate}.leaf{transform-box:view-box;animation:leaf-fall var(--t, 8s) linear var(--d, 0s) infinite}@keyframes leaf-fall{0%{transform:translateY(-30px) rotate(-20deg);opacity:0}10%{opacity:1}85%{opacity:1}to{transform:translate(-34px,190px) rotate(160deg);opacity:0}}@keyframes float{0%{transform:translateY(-4px)}to{transform:translateY(5px)}}.fruit.skinned{position:relative;isolation:isolate}.fruit.skinned>svg{position:relative;z-index:1}.fruit.skinned>svg.aura{position:absolute;left:-25%;top:-25%;width:150%;height:150%;z-index:0;pointer-events:none;overflow:visible}.fruit.skinned>svg.aura.front{z-index:2}.aura .sk-flow{animation:sk-flow 2.4s linear var(--d, 0s) infinite}.aura .sk-flow.fast{animation-duration:1.6s}@keyframes sk-flow{0%{stroke-dashoffset:200}to{stroke-dashoffset:0}}.aura .sk-drift{transform-box:fill-box;transform-origin:center;opacity:0;animation:sk-drift 4.2s ease-in-out var(--d, 0s) infinite}@keyframes sk-drift{0%{transform:translate(0) rotate(0);opacity:0}15%,80%{opacity:1}to{transform:translate(150px,-34px) rotate(300deg);opacity:0}}.aura .sk-ripple{transform-box:fill-box;transform-origin:center;animation:sk-ripple 2.4s var(--ease-out) var(--d, 0s) infinite}@keyframes sk-ripple{0%{transform:scale(.55);opacity:.95}to{transform:scale(1.45);opacity:0}}.aura .sk-wave{animation:sk-wave 1.6s ease-in-out infinite alternate}@keyframes sk-wave{0%{transform:translate(-4px)}to{transform:translate(4px)}}.aura .sk-drop{opacity:0;animation:sk-drop 1.9s ease-in-out var(--d, 0s) infinite}@keyframes sk-drop{0%,50%{transform:translateY(0);opacity:0}56%{opacity:1}76%{transform:translateY(-16px)}to{transform:translateY(0);opacity:0}}.aura .sk-flicker{transform-box:fill-box;transform-origin:50% 100%;animation:sk-flicker .9s ease-in-out var(--d, 0s) infinite alternate}@keyframes sk-flicker{0%{transform:scale(1)}50%{transform:scale(.93,1.09) skew(2deg)}to{transform:scale(1.05,.94) skew(-2deg)}}.aura .sk-spark{opacity:0;animation:sk-spark 1.7s ease-out var(--d, 0s) infinite}@keyframes sk-spark{0%{transform:translateY(0);opacity:0}15%{opacity:1}to{transform:translateY(-38px);opacity:0}}.aura .sk-twinkle{transform-box:fill-box;transform-origin:center;animation:sk-twinkle 2.2s ease-in-out var(--d, 0s) infinite}@keyframes sk-twinkle{0%,to{opacity:.3;transform:scale(.6)}50%{opacity:1;transform:scale(1)}}:root:not([data-theme=dark]) .aura .sk-glow-tide{fill:#cfeaf8;opacity:.8}:root:not([data-theme=dark]) .aura .sk-glow-ember{fill:#ffd9b8;opacity:.6}:root:not([data-theme=dark]) .aura .sk-beam{fill:#ffe27a;opacity:.55}:root:not([data-theme=dark]) .aura .sk-glow-halo{fill:#e4eaf3}:root:not([data-theme=dark]) .aura .sk-rim-halo{stroke:#c3ccda}.sk-tide>svg:not(.aura){animation:sk-bob 2.8s ease-in-out infinite}.sk-cosmos>svg:not(.aura){animation:sk-bob 4.4s ease-in-out infinite}@keyframes sk-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-5%)}}.skins{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.skin-tile{display:grid;justify-items:center;align-content:start;gap:4px;min-height:148px;padding:18px 10px 14px;border:0;border-radius:18px;background:var(--paper);box-shadow:inset 0 0 0 1px var(--edge);color:var(--ink);text-align:center;cursor:pointer;transition:transform .14s var(--ease-out),box-shadow .15s ease;-webkit-user-select:none;user-select:none}.skin-tile:active{transform:scale(.97)}.skin-tile.on{box-shadow:inset 0 0 0 2px var(--signal);background:color-mix(in srgb,var(--signal) 7%,var(--paper))}.skin-preview{display:grid;place-items:center;width:78px;height:78px;margin-bottom:6px}.skin-tile.locked .skin-preview{opacity:.55;filter:saturate(.5)}.skin-name{display:inline-flex;align-items:center;gap:4px;font-weight:700;font-size:16px}.skin-name svg{color:var(--muted)}.skin-how{color:var(--muted);font-size:13.5px;line-height:1.3;text-wrap:balance}.skin-tile.on .skin-how{color:var(--signal-text);font-weight:650}.new-skin{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px 16px;margin:20px 0 0;padding:18px 16px 16px 20px;border-radius:20px;background:var(--card);box-shadow:inset 0 0 0 1.5px var(--signal),0 18px 40px -26px color-mix(in srgb,var(--signal) 70%,transparent);animation:res-in .42s var(--ease-out) 1.4s both}.new-skin .btn{grid-column:1 / -1}.new-skin-name{font-stretch:112%;font-weight:800;font-size:22px;line-height:1.1}.new-skin-how{color:var(--muted);font-size:15px;margin-top:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}.drift,.pulse,.map .c.just,.el.just,.feedback{animation:none!important}.ping,.draw,.beat,.answer-loop,.caret,.sway,.twinkle,.float,.leaf,.ripple circle,.pop,.hit-mark,.spark i,.ribbon,.combo,.res-glow,.talking{animation:none!important}.draw{stroke-dashoffset:0}.cycle{animation:none!important;opacity:0}.cycle:last-of-type{opacity:1}.pop,.hit-mark,.ripple{display:none}.res-glow{opacity:1}.card-frame{transform:none;opacity:1;transition:none}.key.down,.day:active{transform:none}.aura *,.sk-tide>svg,.sk-cosmos>svg{animation:none!important}.aura .sk-drift,.aura .sk-spark,.aura .sk-drop{opacity:0}.aura .sk-ripple{opacity:.6}}.keypad{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:8px;width:100%;padding:6px 0 2px}.key{min-height:clamp(50px,7.2dvh,62px);display:grid;place-items:center;padding:0;border:0;border-radius:16px;background:var(--card);color:var(--ink);box-shadow:inset 0 0 0 1px var(--edge),0 3px 0 var(--edge);font-stretch:115%;font-weight:750;font-size:25px;line-height:1;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;transition:transform 80ms var(--ease-out),box-shadow 80ms var(--ease-out),background-color .12s ease}.key.down{transform:translateY(3px);box-shadow:inset 0 0 0 1px var(--edge),0 0 0 var(--edge);background:color-mix(in srgb,var(--signal) 16%,var(--card));transition-duration:0ms}.key:disabled{opacity:.5;cursor:default}.key-back,.key-sign,.key-slash,.key-dot,.key-pct{background:var(--paper-2)}.key-skip{background:var(--paper-2);font-stretch:100%;font-size:17px;font-weight:700}.keypad-odds .zero{grid-column:span 2}.typein.with-pad{padding-bottom:0}.typein.with-pad .field{text-align:center}.quiz:has(.keypad) .question{min-height:18dvh;padding:20px 8px 8px}.quiz:has(.keypad) .feedback-slot{min-height:26px}.deckrun.asking .table{flex:0 1 auto;min-height:20dvh;margin:6px 0}.deckrun.asking .pcard{width:min(26vw,120px)}.countin.with-pad{gap:8px}.countin.with-pad .field.count{width:100%;max-width:240px;min-height:56px}.res-bar{position:fixed;left:0;right:0;bottom:0;z-index:10;display:flex;justify-content:center;gap:10px;padding:16px 16px calc(12px + var(--safe-b));background:linear-gradient(to top,var(--paper) 64%,color-mix(in srgb,var(--paper) 0%,transparent))}.res-bar .btn{flex:1 1 0;max-width:300px}.res-bar .share-btn{flex:0 1 auto;padding:0 22px}.res-bar .again{box-shadow:0 14px 28px -16px color-mix(in srgb,var(--signal) 80%,transparent)}details.more{margin:22px 0 0;border-radius:18px;background:var(--card);box-shadow:inset 0 0 0 1px var(--edge)}details.more>summary{display:flex;align-items:center;gap:10px;min-height:58px;padding:0 16px;cursor:pointer;list-style:none;font-weight:700;font-size:17px;border-radius:18px;-webkit-user-select:none;user-select:none}details.more>summary::-webkit-details-marker{display:none}details.more>summary:focus-visible{outline-offset:-2px}details.more .sum-meta{margin-left:auto;color:var(--muted);font-size:15px;font-weight:600}details.more>summary svg{flex-shrink:0;transition:transform .22s var(--ease-out)}details.more[open]>summary svg{transform:rotate(180deg)}details.more .review{margin:0;padding:0 12px 14px}details.more .review-title{display:none}details.more[open] .review{animation:q-in .24s var(--ease-out)}.filters.pinned{position:sticky;top:0;z-index:5;margin:0 -16px 12px;padding:calc(8px + var(--safe-t)) 16px 10px;background:color-mix(in srgb,var(--paper) 90%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.more-btn{margin:10px 0 4px}.status-note a{display:inline-block;padding:10px 2px;margin:-10px 0;font-weight:650;color:var(--ink)}.hint a{display:inline-block;padding:12px 0;font-weight:600}
