:root{--bg:#171a2e;--fg:#eef0fa;--dim:#8f94b8;--surface:#22264a;--edge:#31365f;--line:#6a6f99;--paper:#f3ebda;--paper-edge:#e2d6bd;--paper-shadow:#b9aa88;--ink:#1d2036;--accent:#f2b33d;--accent-deep:#b9801a;--accent-ink:#2a1e00;--ok:#4fc79a;--bad:#ee6b5b;--ghost:color-mix(in srgb, var(--paper) 10%, transparent);--ghost-edge:color-mix(in srgb, var(--paper) 28%, transparent);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--bg:#e8ecf6;--fg:#1d2036;--dim:#5d6385;--surface:#fff;--edge:#ccd2e6;--line:#767c9e;--paper:#fbf6ec;--paper-edge:#e6dcc6;--paper-shadow:#c9ba98;--ink:#1d2036;--accent:#e9a21f;--accent-deep:#b9801a;--accent-ink:#2a1e00;--ok:#23a374;--bad:#d9483a;--ghost:color-mix(in srgb, var(--ink) 4%, transparent);--ghost-edge:color-mix(in srgb, var(--ink) 18%, transparent);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}:root[data-theme=light]{--bg:#e8ecf6;--fg:#1d2036;--dim:#5d6385;--surface:#fff;--edge:#ccd2e6;--line:#767c9e;--paper:#fbf6ec;--paper-edge:#e6dcc6;--paper-shadow:#c9ba98;--ink:#1d2036;--accent:#e9a21f;--accent-deep:#b9801a;--accent-ink:#2a1e00;--ok:#23a374;--bad:#d9483a;--ghost:color-mix(in srgb, var(--ink) 4%, transparent);--ghost-edge:color-mix(in srgb, var(--ink) 18%, transparent);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--fg);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;font-family:Lexend,system-ui,sans-serif}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}:where(button):focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}.dim{color:var(--dim)}.app{--board:min(92vw, 60vh, 440px);max-width:520px;min-height:100dvh;padding:max(16px, env(safe-area-inset-top)) 16px 24px;-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;gap:12px;margin:0 auto;display:flex}.app.center{text-align:center;justify-content:center;gap:20px}.title{letter-spacing:-.5px;margin:0;font-size:40px;font-weight:700}.tagline{max-width:300px;margin:0;line-height:1.45}.verdict{margin:0;font-size:34px;font-weight:700}.verdict.won{color:var(--ok)}.verdict.lost{color:var(--bad)}.stack{flex-direction:column;gap:12px;width:240px;display:flex}.pill{background:var(--paper);height:56px;color:var(--ink);box-shadow:0 4px 0 var(--paper-shadow);border-radius:28px;font-size:18px;font-weight:600}.pill:active{box-shadow:0 2px 0 var(--paper-shadow);transform:translateY(2px)}.pill.accent{background:var(--accent);color:var(--accent-ink);box-shadow:0 4px 0 var(--accent-deep)}.pill.ghost{background:var(--ghost);color:var(--fg);box-shadow:inset 0 0 0 2px var(--ghost-edge)}.pill.ghost:active{transform:none}.note{min-height:20px;font-size:14px}.seo{max-width:520px;margin:0 auto;padding:24px;line-height:1.5}.home{position:relative}.toggles{gap:10px;display:flex}.toggles.corner{top:max(16px, env(safe-area-inset-top));position:absolute;right:16px}.mute{cursor:pointer;background:var(--paper);width:30px;height:30px;color:var(--ink);border:1px solid var(--paper-edge);box-shadow:0 3px 0 var(--paper-shadow);border-radius:7px;justify-content:center;align-items:center;padding:0;font-size:15px;line-height:1;transition:transform 80ms,box-shadow 80ms,opacity 80ms;display:inline-flex}.mute[aria-pressed=false]{box-shadow:0 0 0 var(--paper-shadow);opacity:.5;transform:translateY(3px)}.link{cursor:pointer;color:var(--fg);text-underline-offset:3px;white-space:nowrap;background:0 0;border:0;padding:8px;font-size:15px;text-decoration:underline}.byline{left:0;right:0;bottom:calc(10px + env(safe-area-inset-bottom));opacity:.65;justify-content:center;gap:18px;margin:0;display:flex;position:absolute}.byline .link{color:var(--dim);padding:2px;font-size:11px}.modal{z-index:10;background:color-mix(in srgb, var(--bg) 70%, transparent);justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.sheet{text-align:center;background:var(--surface);border:1px solid var(--edge);border-radius:18px;flex-direction:column;align-items:center;gap:4px;width:100%;max-width:420px;padding:24px;display:flex}.sheet h2{margin:0 0 8px}.sheet p{margin:0 0 8px;line-height:1.5}.sheet .pill{width:160px;height:44px;margin-top:8px;font-size:16px}.small{font-size:13px}.tiles.logo{--n:4;--gap:6px;--tile:52px;width:calc(4 * var(--tile) + 3 * var(--gap));height:calc(4 * var(--tile) + 3 * var(--gap));cursor:default;touch-action:auto;margin:0}.logo .tile{color:var(--ink);justify-content:center;align-items:center;font-size:28px;font-weight:600;transition:transform .12s,background .18s,box-shadow .18s,border-color .18s,color .18s;display:flex}.logo .tile.gold{color:var(--accent-ink)}.logo.show .tile.gold{animation:.22s ease-out popin}.logo .tile.on{transform:translate(calc(var(--c) * (100% + var(--gap))), calc(var(--r) * (100% + var(--gap)) + 3px));box-shadow:0 1px 0 var(--accent-deep)}.logo .tile.wrong{background:var(--bad);border-color:var(--bad);box-shadow:0 1px 0 color-mix(in srgb, var(--bad) 70%, black);transform:translate(calc(var(--c) * (100% + var(--gap))), calc(var(--r) * (100% + var(--gap)) + 3px));animation:.25s shake}.logo.reveal .tile.gold{animation:.5s ease-out lit}.logo .finger{width:var(--tile);height:var(--tile);pointer-events:none;background:color-mix(in srgb, var(--fg) 18%, transparent);box-shadow:0 0 0 4px color-mix(in srgb, var(--fg) 10%, transparent);transform:translate(calc(var(--c) * (100% + var(--gap))), calc(var(--r) * (100% + var(--gap)))) scale(.8);border-radius:50%;transition:transform .14s ease-out;position:absolute;top:0;left:0}.logo.out .tile{transition-duration:.4s}.home.leaving .logo .tile{animation:.5s cubic-bezier(.5,0,.9,.4) forwards fallout;animation-delay:calc(var(--i) * 30ms)}.home.leaving>:not(.logo){animation:.3s ease-in forwards fadeout}@keyframes popin{0%{transform:translate(calc(var(--c) * (100% + var(--gap))), calc(var(--r) * (100% + var(--gap)))) scale(.6)}60%{transform:translate(calc(var(--c) * (100% + var(--gap))), calc(var(--r) * (100% + var(--gap)))) scale(1.08)}}@keyframes lit{30%{background:var(--ok);border-color:var(--ok);box-shadow:0 4px 0 color-mix(in srgb, var(--ok) 70%, black)}}@keyframes shake{25%{translate:-3px}75%{translate:3px}}@keyframes fallout{to{transform:translate(calc(var(--c) * (100% + var(--gap))), 110vh) rotate(18deg);opacity:.6}}@keyframes fadeout{to{opacity:0;transform:translateY(8px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.app.game{--board:min(88vw, 46vh, 440px);justify-content:flex-start;gap:10px}.topline{width:var(--board);justify-content:space-between;align-items:center;height:36px;display:flex}.scorepill{font-variant-numeric:tabular-nums;align-items:center;gap:8px;font-size:20px;font-weight:700;display:flex}.scorepill .clock{color:var(--dim);margin-left:10px;font-weight:600}.scorepill .clock.hurry{color:var(--bad);animation:.5s ease-in-out infinite alternate pulse}@keyframes pulse{to{transform:scale(1.1)}}.coin{background:var(--paper);border:1px solid var(--paper-edge);width:30px;height:30px;box-shadow:0 3px 0 var(--paper-shadow);border-radius:7px;position:relative}.coin:after{content:"";background:var(--accent);box-shadow:0 2px 0 var(--accent-deep);border-radius:3px;position:absolute;inset:8px}.topline .toggles{gap:8px}.progress{width:var(--board);gap:4px;height:14px;margin:0;padding:0;line-height:14px;list-style:none;display:flex}.progress li{width:12px;height:12px;box-shadow:inset 0 0 0 1.5px var(--ghost-edge);border-radius:3px}.progress li.now{box-shadow:inset 0 0 0 2px var(--accent)}.progress li.perfect{background:var(--accent);box-shadow:none}.progress li.partial{background:var(--paper);box-shadow:inset 0 0 0 1px var(--paper-edge)}.chips{gap:10px;height:32px;display:flex}.chips.head-title{margin:0;line-height:32px}.modeswitch{background:var(--surface);border:1px solid var(--edge);border-radius:999px;padding:2px;display:flex}.modeswitch button{color:var(--dim);cursor:pointer;font-variant-numeric:tabular-nums;background:0 0;border:0;border-radius:999px;padding:5px 12px;font-size:13px;font-weight:600}.modeswitch button[aria-checked=true]{background:var(--paper);color:var(--ink);box-shadow:0 2px 0 var(--paper-shadow)}.modeswitch button:disabled{cursor:default;opacity:.6}.big{font-variant-numeric:tabular-nums;height:64px;margin:0;font-size:56px;font-weight:700;line-height:64px}.big.ok{color:var(--ok)}.big.show{color:var(--accent)}.slots{height:44px;max-width:var(--board);align-items:center;gap:4px;display:flex}.slot{aspect-ratio:1;background:var(--ghost);border:1.5px solid var(--ghost-edge);border-radius:7px;flex:0 28px;min-width:0;height:28px;transition:background .1s,border-color .1s}.slot.on{background:var(--accent);border-color:var(--accent);box-shadow:0 3px 0 var(--accent-deep)}.pills{justify-content:center;align-items:center;gap:8px;height:44px;display:flex}.hintbtn{background:var(--accent);min-width:96px;color:var(--accent-ink);box-shadow:0 3px 0 var(--accent-deep);border-radius:999px;padding:9px 22px;font-size:15px;font-weight:700;transition:transform 80ms,box-shadow 80ms}.hintbtn+.hintbtn{background:var(--paper);color:var(--ink);box-shadow:0 3px 0 var(--paper-shadow)}.hintbtn:active:not(:disabled){transform:translateY(3px);box-shadow:0 0 #0000}.hintbtn:disabled{opacity:.4;cursor:default}.hintbtn .left{opacity:.55;font-variant-numeric:tabular-nums}.sheet.over{border:2px solid var(--accent)}.sheet.over h2.won{color:var(--ok)}.sheet.over h2.lost{color:var(--bad)}.sheet.over .final{font-size:17px;font-weight:600}.sheet.over .artrow{letter-spacing:2px;margin:0;font-size:20px}.sheet.over .pill{width:200px;height:52px;margin-top:8px}.sheet.over .actions{gap:20px;margin:0;display:flex}.sheet.over .actions .link{padding:4px}.tiles{--gap:calc(var(--board) * .03);--tile:calc((var(--board) - (var(--n,7) - 1) * var(--gap)) / var(--n,7));width:var(--board);height:var(--board);touch-action:none;cursor:pointer;clip-path:inset(-6px -6px -10px);position:relative}.tile{width:var(--tile);height:var(--tile);background:var(--paper);border:1px solid var(--paper-edge);box-shadow:0 4px 0 var(--paper-shadow);transform:translate(calc(var(--c) * (100% + var(--gap))), calc(var(--r) * (100% + var(--gap))));border-radius:14%;transition:transform .2s,opacity .25s;position:absolute;top:0;left:0}.tile.gold{background:var(--accent);border-color:var(--accent);box-shadow:0 4px 0 var(--accent-deep)}.tile.missed{background:var(--ghost);border:2px dashed var(--accent);box-shadow:none}.tile.wrong{background:var(--bad);border-color:var(--bad);box-shadow:0 4px 0 color-mix(in srgb, var(--bad) 70%, black)}.memo .tile{cursor:pointer;padding:0}.memo.show .tile,.memo.reveal .tile{cursor:default}.memo.recall .tile:active{transform:translate(calc(var(--c) * (100% + var(--gap))), calc(var(--r) * (100% + var(--gap) + 3px)));box-shadow:0 1px 0 var(--paper-shadow)}.memo .tile{box-shadow:0 5px 0 var(--paper-shadow);border-radius:14%}.memo .tile.gold{box-shadow:0 5px 0 var(--accent-deep);transition:transform .2s,background .15s,box-shadow .15s}.tile.dead{opacity:0}.tiles.mini{--board:126px;--n:7;cursor:default;touch-action:auto}.tiles.mini .tile{box-shadow:0 2px 0 var(--paper-shadow);transition:none}.tiles.mini .tile.gold{box-shadow:0 2px 0 var(--accent-deep)}
