:root{--page:#120b14;--ink:#fff4e2;--dim:#c9b8a6;--accent:#ffb45c;--panel:#140c12c7;--line:#ffdcaa2e;--font:ui-rounded, "SF Pro Rounded", "Nunito", "Varela Round", "Segoe UI", system-ui, sans-serif;--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px);--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box}html,body{background:var(--page);height:100%;color:var(--ink);font-family:var(--font);overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;margin:0;overflow:hidden}#stage{position:fixed;inset:0}#stage canvas{width:100%;height:100%;display:block}#stage:after{content:"";pointer-events:none;background:radial-gradient(#0000 58%,#00000061 100%);position:fixed;inset:0}button{font:inherit;color:inherit;cursor:pointer}.layer{pointer-events:none;position:fixed;inset:0}.layer>*{pointer-events:auto}#loading{background:var(--page);z-index:50;place-items:center;transition:opacity .35s;display:grid;position:fixed;inset:0}#loading.gone{opacity:0;pointer-events:none}.loader-flame{background:radial-gradient(circle at 50% 70%,#fff6d0 0 25%,#ffc94a 45%,#ff8a2a 75%);border-radius:50%/60% 60% 40% 40%;width:18px;height:28px;animation:.18s infinite alternate flick;box-shadow:0 0 30px 8px #ff963c59}@keyframes flick{to{transform:scale(.92,1.08)translateY(-1px)}}.screen{padding:calc(16px + var(--safe-t)) calc(16px + var(--safe-r)) calc(16px + var(--safe-b)) calc(16px + var(--safe-l));z-index:20;flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex;position:fixed;inset:0}.screen.dim{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:radial-gradient(#0a060a8c,#0a060ad9)}.title{letter-spacing:-.02em;text-align:center;background:linear-gradient(#fff6dc 0%,#ffd38a 55%,#ff9a45 100%);color:#0000;filter:drop-shadow(0 0 18px #ffa04673)drop-shadow(0 4px #3c140acc);-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(44px,10vw,96px);font-weight:900;line-height:.9}.tagline{color:var(--dim);text-align:center;margin:0 0 8px;font-size:clamp(14px,2.4vw,18px)}.menu{flex-direction:column;gap:10px;width:min(320px,86vw);display:flex}.btn{border:1px solid var(--line);background:var(--panel);letter-spacing:.01em;border-radius:14px;padding:12px 18px;font-size:18px;font-weight:800;transition:transform 80ms,background .15s,border-color .15s;box-shadow:0 6px #00000059}.btn:hover,.btn:focus-visible{border-color:var(--accent);background:#3c221ee6;outline:none}.btn:active{transform:translateY(3px);box-shadow:0 3px #00000059}.btn.primary{color:#2a120a;background:linear-gradient(#ffbe6a,#ff8f3d);border-color:#ffd9a6}.btn.small{border-radius:10px;padding:8px 12px;font-size:14px}.row{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.foot{color:var(--dim);opacity:.85;text-align:center;font-size:13px}.select{flex-direction:column;gap:12px;width:min(860px,100%);max-height:100%;display:flex}.select h2{margin:0;font-size:clamp(22px,4vw,32px);font-weight:900}.tabs{flex-wrap:wrap;gap:8px;display:flex}.tab{border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:7px 14px;font-size:14px;font-weight:800}.tab[aria-selected=true]{background:var(--accent);color:#2a120a}.tab[disabled]{opacity:.4;cursor:default}.grid{touch-action:pan-y;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;padding:2px 2px 8px;display:grid;overflow-y:auto}.card{text-align:left;border:1px solid var(--line);background:var(--panel);border-radius:14px;flex-direction:column;gap:4px;min-height:84px;padding:10px 12px;display:flex}.card .n{color:var(--accent);font-size:12px;font-weight:800}.card .name{font-size:15px;font-weight:800}.card .stats{color:var(--dim);font-variant-numeric:tabular-nums;gap:10px;font-size:12px;display:flex}.card.done{border-color:#ffbe6e80}.card.locked{opacity:.45;cursor:default}.card:not(.locked):hover{border-color:var(--accent)}#hud{padding:calc(8px + var(--safe-t)) calc(10px + var(--safe-r)) 0 calc(10px + var(--safe-l));z-index:10;pointer-events:none;font-variant-numeric:tabular-nums;justify-content:space-between;align-items:flex-start;display:flex;position:fixed;top:0;left:0;right:0}#hud .pill{border:1px solid var(--line);white-space:nowrap;background:#100a0e9e;border-radius:12px;padding:5px 10px;font-size:14px;font-weight:800}#hud .center{flex-direction:column;align-items:center;gap:4px;display:flex}#hud .timer{font-size:18px}#hud .run{color:var(--dim);font-size:11px}#hud .right{align-items:center;gap:6px;display:flex}#hud .icon{pointer-events:auto;border:1px solid var(--line);background:#100a0e9e;border-radius:12px;place-items:center;width:36px;height:36px;padding:0;display:grid}.deaths{align-items:center;gap:6px;display:flex}.deaths .bump{animation:.3s bump}@keyframes bump{40%{color:#ff8a6a;transform:scale(1.35)}}#sign{left:50%;bottom:calc(18px + var(--safe-b));border:1px solid var(--line);color:var(--ink);z-index:9;text-align:center;pointer-events:none;background:#100a0eb3;border-radius:12px;max-width:min(560px,80vw);padding:8px 14px;font-size:14px;transition:opacity .5s;position:fixed;transform:translate(-50%)}#sign.gone{opacity:0}.toast{text-align:center;z-index:15;pointer-events:none;animation:.35s cubic-bezier(.2,1.6,.4,1) pop;position:fixed;top:22%;left:50%;transform:translate(-50%,-50%)}.toast .big{color:#fff3d6;text-shadow:0 0 20px #ffaa5099,0 3px #3c140ae6;font-size:clamp(34px,7vw,60px);font-weight:900}.toast .small{color:var(--dim);font-variant-numeric:tabular-nums;margin-top:4px;font-weight:800}.toast .best{color:var(--accent)}@keyframes pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.6)}}#touch{z-index:8;pointer-events:none;position:fixed;inset:0}#touch .tbtn{bottom:calc(14px + var(--safe-b));pointer-events:auto;touch-action:none;background:#140c1052;border:2px solid #ffe6be59;border-radius:50%;place-items:center;width:76px;height:76px;transition:background 60ms,transform 60ms;display:grid;position:absolute}#touch .tbtn svg{fill:#fff0dcd9;width:34px;height:34px}#touch .tbtn.down{background:#ffb45c6b;transform:scale(.94)}#touch .tl{left:calc(14px + var(--safe-l))}#touch .tr{left:calc(102px + var(--safe-l))}#touch .tj{right:calc(18px + var(--safe-r));width:92px;height:92px}#rotate{text-align:center;z-index:40;background:#0a060ad9;place-items:center;padding:24px;font-weight:800;display:none;position:fixed;inset:0}@media (orientation:portrait) and (pointer:coarse){body.playing #rotate{display:grid}}[hidden]{display:none!important}@media (max-height:420px){.title{font-size:48px}.btn{padding:9px 16px;font-size:16px}.menu{gap:7px}.screen{gap:8px}}
