@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/sora-latin-ext-400-normal-Twk1CgKs.woff2)format("woff2"),url(/assets/sora-latin-ext-400-normal-BmhJC382.woff)format("woff");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:Sora;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/sora-latin-400-normal-CRt88UEn.woff2)format("woff2"),url(/assets/sora-latin-400-normal-OW7qkl5a.woff)format("woff");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}@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/sora-latin-ext-600-normal-Cue1zdhl.woff2)format("woff2"),url(/assets/sora-latin-ext-600-normal-DLOJK0Ta.woff)format("woff");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:Sora;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/sora-latin-600-normal-Cdg4DaK0.woff2)format("woff2"),url(/assets/sora-latin-600-normal-1_7fyUAY.woff)format("woff");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}@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/sora-latin-ext-700-normal-DM0oy5s8.woff2)format("woff2"),url(/assets/sora-latin-ext-700-normal-Oc7uZIYt.woff)format("woff");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:Sora;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/sora-latin-700-normal-9waGdLWo.woff2)format("woff2"),url(/assets/sora-latin-700-normal-BKPfQAnC.woff)format("woff");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{--bg:#f7f5f0;--surface:#fff;--line:#e7e3da;--ink:#2c2c2a;--muted:#5f5e5a;--bad:#a32d2d;--op:#2c2c2a;--on-op:#fff;--op-edge:#000;--blue:#378add;--blue-edge:#185fa5;--good:#1d9e75;--good-edge:#0f6e56;--picked:#fac775;--on-picked:#633806;--picked-edge:#ba7517;--you-row:#e6f1fb;--c0-pale:#faece7;--c0-deep:#712b13;--c1-pale:#faeeda;--c1-deep:#633806;--c2-pale:#e1f5ee;--c2-deep:#085041;--c3-pale:#e6f1fb;--c3-deep:#0c447c;--c4-pale:#eeedfe;--c4-deep:#3c3489;--c5-pale:#fbeaf0;--c5-deep:#72243e;--font:"Sora", "Segoe UI", system-ui, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#1c1c1a;--surface:#2c2c2a;--line:#444441;--ink:#f1efe8;--muted:#b4b2a9;--bad:#f09595;--op:#f1efe8;--on-op:#2c2c2a;--op-edge:#888780;--you-row:#0c447c;--c0-pale:#712b13;--c0-deep:#f5c4b3;--c1-pale:#633806;--c1-deep:#fac775;--c2-pale:#085041;--c2-deep:#9fe1cb;--c3-pale:#0c447c;--c3-deep:#b5d4f4;--c4-pale:#3c3489;--c4-deep:#cecbf6;--c5-pale:#72243e;--c5-deep:#f4c0d1;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#1c1c1a;--surface:#2c2c2a;--line:#444441;--ink:#f1efe8;--muted:#b4b2a9;--bad:#f09595;--op:#f1efe8;--on-op:#2c2c2a;--op-edge:#888780;--you-row:#0c447c;--c0-pale:#712b13;--c0-deep:#f5c4b3;--c1-pale:#633806;--c1-deep:#fac775;--c2-pale:#085041;--c2-deep:#9fe1cb;--c3-pale:#0c447c;--c3-deep:#b5d4f4;--c4-pale:#3c3489;--c4-deep:#cecbf6;--c5-pale:#72243e;--c5-deep:#f4c0d1;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.slot-0{--tile:#d85a30;--tile-edge:#993c1d;--chip-bg:var(--c0-pale);--chip-ink:var(--c0-deep)}.slot-1{--tile:#c47a0a;--tile-edge:#854f0b;--chip-bg:var(--c1-pale);--chip-ink:var(--c1-deep)}.slot-2{--tile:#1d9e75;--tile-edge:#0f6e56;--chip-bg:var(--c2-pale);--chip-ink:var(--c2-deep)}.slot-3{--tile:#378add;--tile-edge:#185fa5;--chip-bg:var(--c3-pale);--chip-ink:var(--c3-deep)}.slot-4{--tile:#7f77dd;--tile-edge:#534ab7;--chip-bg:var(--c4-pale);--chip-ink:var(--c4-deep)}.slot-5{--tile:#d4537e;--tile-edge:#993556;--chip-bg:var(--c5-pale);--chip-ink:var(--c5-deep)}html,body{min-height:100%;margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--font);font-variant-numeric:tabular-nums;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));box-sizing:border-box;-webkit-user-select:none;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.screen{flex-direction:column;gap:14px;max-width:420px;margin:0 auto;display:flex}.screen>*{animation:.35s ease-out both enter}.screen>:nth-child(2){animation-delay:40ms}.screen>:nth-child(3){animation-delay:80ms}.screen>:nth-child(4){animation-delay:.12s}.screen>:nth-child(5){animation-delay:.16s}.screen>:nth-child(6){animation-delay:.2s}.screen>:nth-child(7){animation-delay:.24s}.screen>:nth-child(8){animation-delay:.28s}.screen>:nth-child(n+9){animation-delay:.32s}header{align-items:center;gap:10px;display:flex}h1{margin:0;display:flex}.header-end{align-items:center;gap:6px;margin-left:auto;display:flex}.logo{width:auto;height:58px;margin:-6px 0 -8px -6px}.label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px}.text{color:var(--muted);margin:0;font-size:14px;line-height:1.5}.centred{text-align:center}.message-icon{color:var(--blue);margin-top:18vh}.stat,.goal,.result,.rows,.sheet{background:var(--surface);border:2px solid var(--line)}.stats{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.stat{border-radius:16px;padding:8px 10px}.stat .label{align-items:center;gap:5px;display:flex}.stat .label svg{color:var(--icon)}.stat b{font-size:22px;font-weight:700;display:block}.stat b.bump{transform-origin:0;animation:.3s ease-out bump}.stat.steps{--icon:#378add}.stat.par{--icon:#c47a0a}.stat.time{--icon:#1d9e75}.stat.rank{--icon:#c47a0a}.stat.streak{--icon:#d85a30}.stat.best{--icon:#7f77dd}.stat.streak.lit svg{animation:1.6s ease-in-out infinite flicker}.goal{text-align:center;box-shadow:0 5px 0 var(--line);border-radius:22px;margin-bottom:5px;padding:10px 8px 12px}.goal .label{align-items:center;gap:5px;display:inline-flex}.goal b{letter-spacing:-.02em;font-size:52px;font-weight:700;line-height:1.15;display:block}.goal.hit{background:var(--good);border-color:var(--good);color:#fff;box-shadow:0 5px 0 var(--good-edge);animation:.6s ease-out celebrate}.goal.hit .label{color:#ffffffd9}button{--edge:var(--line);--lift:4px;font:600 15px var(--font);cursor:pointer;border:2px solid var(--line);background:var(--surface);color:var(--ink);box-shadow:0 var(--lift) 0 var(--edge);margin-bottom:var(--lift);border-radius:16px;justify-content:center;align-items:center;gap:8px;padding:12px;transition:transform .1s,box-shadow .1s,background-color .15s,opacity .25s;display:inline-flex}button:active:not(:disabled){transform:translateY(calc(var(--lift) - 1px));box-shadow:0 1px 0 var(--edge)}button:focus-visible{outline:3px solid var(--blue);outline-offset:2px}button:disabled{opacity:.45;cursor:default}button.primary{--edge:var(--blue-edge);background:var(--blue);border-color:var(--blue);color:#fff}button.icon-only{color:var(--muted);box-shadow:none;background:0 0;border:none;border-radius:999px;margin-bottom:0;padding:6px}button.icon-only:active:not(:disabled){box-shadow:none;transform:scale(.9)}button.link{color:var(--muted);box-shadow:none;background:0 0;border:none;align-self:center;margin-bottom:0;padding:6px 10px;font-size:13px;font-weight:500}button.link:active:not(:disabled){box-shadow:none;transform:scale(.95)}.controls{gap:8px;display:flex}.controls button{flex:1}.spin{animation:.9s linear infinite spin}.numbers{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}button.number{--edge:var(--tile-edge);--lift:6px;aspect-ratio:1.3;background:var(--tile);color:#fff;font:700 clamp(26px, 8vw, 34px) var(--font);border:none;border-radius:22px}button.number.made{box-shadow:0 var(--lift) 0 var(--edge), inset 0 0 0 3px #ffffff73}button.number.fresh{animation:.35s ease-out pop}button.number.selected{box-shadow:0 2px 0 var(--edge);outline:3px solid var(--ink);outline-offset:3px;transform:translateY(4px)}button.number.used{opacity:0;pointer-events:none;transform:scale(.6)}button.number.win{--edge:var(--good-edge);background:var(--good);animation:.6s ease-out celebrate}.operators{grid-template-columns:repeat(4,1fr);justify-items:center;gap:8px;display:grid}button.operator{--edge:var(--op-edge);background:var(--op);width:56px;height:56px;color:var(--on-op);font:600 26px var(--font);border:none;border-radius:50%;padding:0}button.operator.selected{--edge:var(--picked-edge);background:var(--picked);color:var(--on-picked);box-shadow:0 2px 0 var(--edge);transform:translateY(2px)}.message{min-height:20px;color:var(--bad);text-align:center;margin:0;font-size:13px}.message.shake{animation:.35s ease-in-out shake}.log{flex-wrap:wrap;justify-content:center;gap:6px;min-height:30px;margin:0;padding:0;list-style:none;display:flex}.log li{background:var(--chip-bg);color:var(--chip-ink);border-radius:999px;padding:5px 11px;font-size:13px;font-weight:600;animation:.3s ease-out pop}.result{border-radius:18px;padding:12px 14px}.result h2{align-items:center;gap:8px;margin:0 0 2px;font-size:17px;display:flex}.result h2 svg{color:var(--good)}.result p{color:var(--muted);margin:0;font-size:14px;line-height:1.5}.result.retry h2 svg{color:var(--blue)}.leaderboard,.play-again{flex-direction:column;gap:8px;display:flex}.rows{border-radius:18px;margin:0;padding:0;list-style:none;overflow:hidden}.rows li{border-top:2px solid var(--line);grid-template-columns:2.2em 1fr auto 3.5em;align-items:center;gap:10px;padding:9px 12px;font-size:14px;animation:.3s ease-out both enter;display:grid}.rows li:first-child{border-top:none}.rows li:nth-child(2){animation-delay:50ms}.rows li:nth-child(3){animation-delay:.1s}.rows li:nth-child(4){animation-delay:.15s}.rows li:nth-child(n+5){animation-delay:.2s}.rows li.you{background:var(--you-row);font-weight:600}.rows .rank{background:var(--line);border-radius:999px;place-items:center;width:1.9em;height:1.9em;font-size:13px;font-weight:700;display:grid}.rows .rank.medal-1{color:#633806;background:#fac775}.rows .rank.medal-2{color:#2c2c2a;background:#d3d1c7}.rows .rank.medal-3{color:#4a1b0c;background:#f0997b}.rows .time{text-align:right}.next{justify-content:center;align-items:center;gap:6px;display:flex}.backdrop{z-index:10;background:#14141273;place-items:end center;padding:16px;animation:.2s ease-out fade;display:grid;position:fixed;inset:0}.sheet{box-sizing:border-box;border-radius:26px;flex-direction:column;gap:14px;width:100%;max-width:420px;padding:18px;animation:.3s ease-out rise;display:flex}.sheet header h2{margin:0;font-size:20px}.how-steps{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.how-steps li{align-items:center;gap:12px;font-size:14px;line-height:1.4;display:flex}.how-steps .badge{background:var(--tile);color:#fff;width:36px;height:36px;box-shadow:0 3px 0 var(--tile-edge);border-radius:12px;flex:none;place-items:center;font-size:16px;font-weight:700;display:grid}@keyframes enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(24px)scale(.98)}}@keyframes pop{0%{transform:scale(.7)}60%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes bump{40%{transform:scale(1.25)}}@keyframes celebrate{30%{transform:scale(1.06)rotate(-1deg)}60%{transform:scale(.98)rotate(.5deg)}}@keyframes shake{20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}@keyframes flicker{0%,to{transform:scale(1)rotate(0)}50%{transform:scale(1.15)rotate(-6deg)}}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
