html,body{margin:0;height:100%;height:var(--vh);width:100%;width:100dvw;overscroll-behavior:none;overflow:hidden;background:var(--c-bg-deep);font:var(--t-body);color:var(--c-ink);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}#gpu{position:fixed;inset:0;display:block;width:100%;height:100%;touch-action:none}#gpu.shake{animation:shake var(--d-shake) var(--ease-out)}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(calc(-1 * var(--shake)))}75%{transform:translate(var(--shake))}}.pill,.icon-btn,#tools button{background:var(--c-surface-pill);box-shadow:var(--e-2);color:var(--c-ink-hi);border:0;font:var(--t-body);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.pill{display:flex;align-items:center;gap:var(--s-2);height:var(--tap);padding:0 var(--s-4) 0 var(--s-2);border-radius:var(--r-pill);cursor:default;min-width:0}#level-num{display:grid;place-content:center;flex:none;width:var(--pill-badge);height:var(--pill-badge);border-radius:var(--r-sm);background:linear-gradient(180deg,var(--c-swarm),var(--c-swarm-deep));color:var(--c-bg-deep);font-weight:900;font-variant-numeric:tabular-nums}#level-name{font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon-btn,#tools button{display:grid;place-content:center;width:var(--tap);height:var(--tap);flex:none;border-radius:var(--r-md)}.icon-btn[hidden],#tools button[hidden]{display:none}.icon-btn:active,#tools button:active{transform:scale(.92)}.icon-btn,#tools button{transition:transform var(--d-base) var(--ease-back),box-shadow var(--d-micro) var(--ease-out),background var(--d-micro) var(--ease-out)}.btn-quiet{background:var(--c-surface-locked);box-shadow:none}@media(hover:hover){.icon-btn:hover,#tools button:hover{transform:scale(1.04);box-shadow:var(--e-2),0 0 0 var(--s-1) color-mix(in oklab,var(--c-swarm) 50%,transparent)}}.i-pause{display:flex;gap:var(--s-1);color:var(--c-ink-hi)}.i-pause i{width:4px;height:16px;border-radius:2px;background:currentColor}.i-pause.i-lg{color:var(--c-swarm)}.i-pause.i-lg i{width:6px;height:24px;border-radius:3px}.i-sliders{display:flex;flex-direction:column;gap:3px;width:16px;color:var(--c-ink-hi)}.i-sliders i{height:2px;background:currentColor}.i-full{width:18px;height:18px;border:2.5px solid var(--c-ink-hi);border-radius:3px}.i-close{position:relative;width:18px;height:18px;color:var(--c-ink)}.i-close i{position:absolute;top:8px;left:0;width:18px;height:2.5px;border-radius:2px;background:currentColor}.i-close i:first-child{transform:rotate(45deg)}.i-close i:last-child{transform:rotate(-45deg)}.i-play{width:0;height:0;border-left:14px solid currentColor;border-top:10px solid transparent;border-bottom:10px solid transparent}.i-redo{width:16px;height:16px;border:2.5px solid currentColor;border-top-color:transparent;border-radius:var(--r-pill)}.i-chev{width:9px;height:9px;border-right:2.5px solid currentColor;border-bottom:2.5px solid currentColor;transform:rotate(-45deg)}.i-warn{width:0;height:0;border-bottom:9px solid var(--c-danger);border-left:5px solid transparent;border-right:5px solid transparent}#topbar{position:fixed;z-index:10;left:var(--safe-l);right:var(--safe-r);top:calc(var(--safe-t) + var(--banner-h));display:flex;align-items:center;gap:var(--s-3);padding:0 var(--s-2)}#topbar #btn-pause{margin-left:auto}#state{position:fixed;z-index:9;left:calc(var(--safe-l) + var(--s-2));right:calc(var(--safe-r) + var(--s-2));top:calc(var(--safe-t) + var(--banner-h) + var(--tap) + var(--s-3));display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);font:var(--t-caption);color:var(--c-ink-dim);font-variant-numeric:tabular-nums;pointer-events:none}#state[hidden]{display:none}#state-side{display:flex;align-items:center;gap:var(--s-3);min-width:0}#state-now{display:inline-block;font:var(--t-swarm);color:var(--c-ink-hi);text-shadow:var(--e-glow-swarm)}#state-now.punch{animation:punch var(--d-base) var(--ease-back)}@keyframes punch{0%{transform:scale(1)}40%{transform:scale(1.12)}to{transform:scale(1)}}#state-lost{display:flex;align-items:center;gap:var(--s-1);color:color-mix(in oklab,var(--c-danger) 70%,var(--c-ink-hi))}#state-lost[hidden]{display:none}#state-time{color:var(--c-ink-mute);font-variant-numeric:tabular-nums}#hint{position:fixed;left:0;top:0;z-index:6;pointer-events:none}#hint[hidden]{display:none}#hint-ring{position:absolute;left:0;top:0;width:var(--hint-ring);height:var(--hint-ring);margin:calc(-.5 * var(--hint-ring)) 0 0 calc(-.5 * var(--hint-ring));border:2px solid var(--c-swarm);border-radius:var(--r-pill);animation:ringPing var(--d-ping) var(--ease-out) infinite}#hint-hand{position:absolute;left:0;top:0;margin:var(--s-6) 0 0 calc(-.5 * var(--hint-hand));width:var(--hint-hand);height:calc(var(--hint-hand) + var(--s-2));border-radius:calc(var(--hint-hand) / 2) calc(var(--hint-hand) / 2) var(--r-sm) var(--r-sm);background:color-mix(in oklab,var(--c-ink-hi) 90%,transparent);box-shadow:var(--e-2);animation:handHint var(--d-hint) var(--ease-in-out) infinite}@keyframes ringPing{0%{transform:scale(.6);opacity:.9}to{transform:scale(1.6);opacity:0}}@keyframes handHint{0%,to{transform:translate(0);opacity:.85}50%{transform:translate(var(--s-16),calc(-1 * var(--s-10)));opacity:1}}#brief[hidden],#brief-grid[hidden],#brief-none[hidden],#over-retry[hidden],#over[hidden],#over-conf[hidden],#over-stats[hidden],#over-hint[hidden],#over-badge[hidden],#pause[hidden],#settings[hidden],#set-haptics-row[hidden],#set-note[hidden],#hud[hidden]{display:none}#brief,#over,#pause{position:fixed;inset:0;z-index:1020;display:flex;padding:calc(var(--safe-t) + var(--s-4)) calc(var(--safe-r) + var(--s-4)) calc(var(--safe-b) + var(--banner-h) + var(--s-4)) calc(var(--safe-l) + var(--s-4));background:var(--c-scrim);animation:overIn var(--d-base) var(--ease-out);overflow:auto}#brief{z-index:1022}#pause{z-index:1025}@keyframes overIn{0%{opacity:0}to{opacity:1}}#brief .card,#over .card,#pause .card{position:relative;box-sizing:border-box;margin:auto;display:flex;flex-direction:column;gap:var(--s-4);width:min(var(--card-w),100%);padding:var(--s-8) var(--s-5) var(--s-5);border-radius:var(--r-lg);background:var(--g-panel);box-shadow:var(--e-3);text-align:center;animation:cardIn var(--d-base) var(--ease-back)}#brief .card,#pause .card{padding:var(--s-6) var(--s-5) var(--s-5)}@keyframes cardIn{0%{opacity:0;transform:translateY(16px) scale(.94)}to{opacity:1;transform:none}}.card-main,.card-side{display:flex;flex-direction:column;align-items:center;gap:var(--s-4);min-width:0}.card-side{gap:var(--s-3);justify-content:center}.card-main>*,.card-side>*{box-sizing:border-box;width:100%}.card-title{font:var(--t-title);color:var(--c-ink-hi);text-wrap:balance}.card-note{font:var(--t-caption);color:var(--c-ink-dim);text-wrap:pretty}.btn{display:flex;align-items:center;justify-content:center;gap:var(--s-2);min-height:var(--btn-h);padding:var(--s-2) var(--s-4);border:0;border-radius:var(--r-md);background:color-mix(in oklab,var(--c-brand-500) 60%,transparent);color:var(--c-ink-hi);font:var(--t-button);text-align:center;text-decoration:none;text-wrap:balance;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform var(--d-base) var(--ease-back),background var(--d-micro) var(--ease-out)}.btn:active{transform:scale(.96)}@media(hover:hover){.btn:hover{background:color-mix(in oklab,var(--c-brand-300) 60%,transparent);transform:scale(1.04)}}.btn-cta{min-height:var(--cta-h);border-radius:var(--r-lg);background:var(--g-cta);box-shadow:var(--e-cta);color:var(--c-on-accent);animation:ctaPulse var(--d-pulse) var(--ease-in-out) infinite}@keyframes ctaPulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}.btn-cta:active{transform:scale(.96) translateY(6px);box-shadow:var(--e-cta-press);animation:none}@media(hover:hover){.btn-cta:hover{background:var(--g-cta);box-shadow:var(--e-cta),var(--e-glow-accent)}}.btn-ghost{min-height:calc(var(--btn-h) - var(--s-1));background:transparent;border:var(--line) solid var(--c-surface-locked);color:var(--c-ink-dim);font:var(--t-body);font-weight:800}@media(hover:hover){.btn-ghost:hover{background:var(--c-surface-locked)}}.stat-row{display:flex;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-radius:var(--r-md);background:var(--c-surface-sunken)}.stat{flex:1;display:flex;flex-direction:column;gap:var(--s-half);min-width:0}.stat-k{font:var(--t-label);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--c-ink-mute)}.stat-v{font:var(--t-stat);font-variant-numeric:tabular-nums;color:var(--c-ink-hi)}.v-swarm{color:var(--c-swarm)}.v-accent{color:var(--c-accent)}.v-danger{color:color-mix(in oklab,var(--c-danger) 70%,var(--c-ink-hi))}.v-ok{color:var(--c-success)}.card-kicker{font:var(--t-label);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--c-ink-mute)}#brief-grid{border-collapse:collapse;font-variant-numeric:tabular-nums;text-align:right}#brief-grid th,#brief-grid td{padding:var(--s-2) var(--s-3)}#brief-grid thead th{font:var(--t-label);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--c-ink-mute);text-align:right}#brief-grid tbody td{font:var(--t-stat-row);color:var(--c-ink-hi)}#brief-grid tbody tr+tr{border-top:var(--line) solid var(--c-surface-locked)}.brief-star{width:1%;white-space:nowrap;text-align:left}.brief-mult{display:inline-block;vertical-align:middle;margin-right:var(--s-1);font:var(--t-stat-row);font-variant-numeric:tabular-nums;color:var(--c-ink-hi)}#brief-grid .star{display:inline-block;vertical-align:middle;width:var(--star-row);height:var(--star-row);background:var(--g-cta)}#brief-grid tr.won .star{box-shadow:var(--e-glow-accent)}#brief-grid tr.won td{color:var(--c-ink-dim)}#over-conf{position:absolute;inset:0;overflow:hidden;pointer-events:none}.conf{position:absolute;top:0;width:var(--conf-w);height:var(--conf-h);border-radius:2px;opacity:0;left:calc((6 + var(--i) * 6.6) * 1%);animation:confFall var(--d-conf) var(--ease-out) infinite;animation-delay:calc(var(--i) * var(--d-conf-step))}.conf:nth-child(4n+1){background:var(--c-swarm)}.conf:nth-child(4n+2){background:var(--c-accent)}.conf:nth-child(4n+3){background:var(--c-success)}.conf:nth-child(4n+4){background:var(--c-accent-hi)}@keyframes confFall{0%{transform:translateY(0) rotate(0);opacity:0}12%{opacity:1}to{transform:translateY(100vh) rotate(220deg);opacity:0}}.stars{display:flex;align-items:flex-end;justify-content:center;gap:var(--s-2)}#over-stars{margin-top:calc(-1 * var(--stars-lift))}.star{width:var(--star-1);height:var(--star-1);flex:none;background:color-mix(in oklab,var(--c-brand-100) 28%,transparent);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}.star:nth-child(2),.star:nth-child(4){width:var(--star-2);height:var(--star-2)}.star:nth-child(3){width:var(--star-3);height:var(--star-3)}.star.on{background:var(--g-cta);box-shadow:var(--e-glow-accent);animation:starPop var(--d-emphasis) var(--ease-back) both}.star.on:nth-child(2){animation-delay:var(--d-stagger)}.star.on:nth-child(3){animation-delay:calc(2 * var(--d-stagger))}.star.on:nth-child(4){animation-delay:calc(3 * var(--d-stagger))}.star.on:nth-child(5){animation-delay:calc(4 * var(--d-stagger))}@keyframes starPop{0%{transform:scale(0) rotate(-25deg)}to{transform:none}}#over.skip .star.on,#over.skip .conf,#over.skip .card,#over.skip .btn-cta{animation:none}.badge{display:grid;place-content:center;justify-self:center;width:var(--badge);height:var(--badge);border-radius:var(--r-pill);background:color-mix(in oklab,var(--c-danger) 14%,transparent)}.badge i{width:calc(var(--badge) / 2.5);height:calc(var(--badge) / 2.5);border-radius:var(--r-pill);background:var(--c-danger);opacity:.75}#over.lost #over-title{color:color-mix(in oklab,var(--c-danger) 70%,var(--c-ink-hi))}#over.lost .stars{display:none}#over.lost .card{padding-top:var(--s-6)}#over-stats{display:flex;flex-direction:column;gap:var(--s-2)}.srow{display:flex;align-items:center;gap:var(--s-3);min-height:var(--stat-h);padding:var(--s-2) var(--s-4);border-radius:var(--r-md);background:var(--c-surface-sunken);text-align:left}.srow-k{flex:1;font:var(--t-caption);color:var(--c-ink-dim);text-wrap:pretty}.srow-v{font:var(--t-stat-row);font-variant-numeric:tabular-nums;color:var(--c-ink)}.dot{width:22px;height:22px;flex:none;border-radius:var(--r-pill)}.dot-swarm{background:var(--c-swarm)}.dot-preserved{background:var(--c-success);border-radius:6px}.dot-time{background:var(--c-brand-300)}#over-stats.tiles{flex-direction:row;gap:var(--s-2)}.tile{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--s-half);min-width:0;padding:var(--s-3) var(--s-2);border-radius:var(--r-md);background:var(--c-surface-sunken)}.card-head{display:flex;align-items:center;gap:var(--s-3)}.card-head .card-title{flex:1;text-align:left}.btn-pair{display:flex;gap:var(--s-2)}.btn-pair .btn{flex:1;min-width:0;font:var(--t-body);font-weight:800}.btn .star{width:var(--btn-ico);height:var(--btn-ico);background:currentColor;box-shadow:none}#settings{position:fixed;inset:0;z-index:1026;display:grid;align-content:end;background:var(--c-scrim);animation:overIn var(--d-micro) var(--ease-out)}#settings .sheet{box-sizing:border-box;display:grid;gap:var(--s-3);max-height:var(--vh);padding:var(--s-3) calc(var(--safe-r) + var(--s-5)) calc(var(--safe-b) + var(--banner-h) + var(--s-5)) calc(var(--safe-l) + var(--s-5));border-radius:var(--r-xl) var(--r-xl) 0 0;background:var(--g-panel);box-shadow:var(--e-3);overflow-y:auto;overscroll-behavior:contain;animation:sheetIn var(--d-count) var(--ease-out)}@keyframes sheetIn{0%{transform:translateY(100%)}to{transform:none}}.sheet-grip{justify-self:center;width:var(--s-10);height:var(--s-1);border-radius:var(--r-pill);background:var(--c-surface-locked)}.set-row{display:flex;align-items:center;gap:var(--s-3);min-height:var(--row-h);padding:var(--s-2) var(--s-4);border-radius:var(--r-md);background:var(--c-surface-sunken);cursor:pointer}.set-ico{display:grid;place-content:center;flex:none;width:var(--set-icon);height:var(--set-icon);border-radius:var(--r-sm);background:color-mix(in oklab,var(--c-swarm) 14%,transparent)}.set-ico i{width:14px;height:14px;background:var(--c-swarm)}.set-ico .g-sq{border-radius:3px}.set-ico .g-round{border-radius:var(--r-pill)}.set-ico .g-ring{width:16px;height:16px;background:transparent;border:2px solid var(--c-swarm);border-radius:var(--r-pill)}.set-txt{flex:1;display:flex;flex-direction:column;min-width:0;text-align:left}.set-name{font:var(--t-body);font-weight:800;color:var(--c-ink-hi)}.set-hint{font:var(--t-hint);color:var(--c-ink-mute)}.set-val{display:flex;align-items:center;gap:var(--s-2);color:var(--c-ink-dim)}.pick{max-width:40vw;padding:0;border:0;background:transparent;color:inherit;font:var(--t-body);font-weight:800;text-align:right;text-align-last:right;appearance:none;cursor:pointer}.pick option{background:var(--c-bg-base);color:var(--c-ink-hi)}.switch{appearance:none;flex:none;width:var(--switch-w);height:var(--switch-h);margin:0;border-radius:var(--r-pill);background:var(--c-surface-locked);box-shadow:var(--e-track);cursor:pointer;transition:background var(--d-micro) var(--ease-out)}.switch:after{content:"";display:block;width:var(--switch-knob);height:var(--switch-knob);margin:calc((var(--switch-h) - var(--switch-knob)) / 2);border-radius:var(--r-pill);background:var(--c-ink-hi);box-shadow:var(--e-1);transition:transform var(--d-base) var(--ease-back)}.switch:checked{background:linear-gradient(90deg,var(--c-swarm-deep),var(--c-swarm))}.switch:checked:after{transform:translate(calc(var(--switch-w) - var(--switch-h)))}.set-version{text-align:center;font:var(--t-hint);color:var(--c-ink-mute)}.btn:focus-visible,.switch:focus-visible,.pick:focus-visible,.icon-btn:focus-visible,#tools button:focus-visible{outline:3px solid var(--c-swarm);outline-offset:2px}#tools{position:fixed;z-index:10;right:var(--safe-r);bottom:calc(var(--safe-b) + var(--banner-h) + var(--s-2));display:flex;gap:var(--tap-gap);padding:0 var(--s-2)}#banner{position:fixed;z-index:8;left:0;right:0;bottom:0;height:calc(var(--banner-h) + var(--safe-b));background:var(--g-fade-b);pointer-events:none}#hud{position:fixed;z-index:30;left:var(--safe-l);right:var(--safe-r);bottom:var(--safe-b);padding:var(--s-1) var(--s-3);border-radius:var(--r-sm);background:color-mix(in oklab,var(--c-bg-deep) 78%,transparent);color:var(--c-ink-dim);font:11px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere;pointer-events:none}body.no-panel .lil-gui.root,#btn-panel[hidden],body.no-ui #hud,body.no-ui #tools,body.no-ui #topbar,body.no-ui #state,body.no-ui #hint,body.no-ui #banner,body.no-ui .lil-gui{display:none}.lil-gui.root{top:calc(var(--safe-t) + var(--banner-h) + var(--tap) + var(--s-6));max-height:calc(var(--vh) - var(--safe-t) - var(--banner-h) - var(--s-16));max-width:calc(100vw - var(--s-4));overflow-y:auto;overscroll-behavior:contain}#fade{position:fixed;inset:0;z-index:5;background:var(--c-bg-deep);opacity:0;transition:opacity var(--d-fade) var(--ease-in);pointer-events:none}#fade.on{opacity:1}@media(orientation:landscape)and (max-height:560px){#state{right:auto;justify-content:flex-start}#brief .card,#over .card,#pause .card{flex-direction:row;align-items:center;gap:var(--s-5);width:min(var(--card-w-wide),100%);padding:var(--s-5);text-align:center}#brief .card-main,#over .card-main,#pause .card-main{flex:1}#brief .card-side,#over .card-side,#pause .card-side{width:min(var(--card-col),45%);flex:none}#over-stars{margin-top:0}.star{width:var(--star-2);height:var(--star-2)}.star:nth-child(2),.star:nth-child(4){width:var(--star-2);height:var(--star-2)}.star:nth-child(3){width:var(--star-3);height:var(--star-3)}.srow{min-height:var(--tap)}}@media(orientation:landscape)and (min-height:561px){#state{right:auto;justify-content:flex-start}}
