:root{--accent:#38e8ff;--accent-dim:#38e8ff40;--hostile:#ff3b5c;--ink:#eef4ff;--ink-dim:#eef4ff88;--bg:#05060a;--panel:#0a0d16f2;--mono:ui-monospace, "SF Mono", SFMono-Regular, "Cascadia Mono", Menlo, Consolas, "Liberation Mono", monospace;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px)}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--ink);font-family:var(--mono);-webkit-font-smoothing:antialiased;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;margin:0;padding:0;overflow:hidden}#app{position:fixed;top:0;bottom:0;left:0;right:0}#gl{touch-action:none;width:100%;height:100%;display:block}#ui{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.hud{opacity:0;transition:opacity .3s;position:absolute;top:0;bottom:0;left:0;right:0}.hud.visible{opacity:1}:root{--hud-inset:clamp(.9rem, 2.4vmin, 2.4rem);--hud-value:clamp(2rem, 4.4vmin, 3.6rem);--hud-value-small:clamp(1.4rem, 3.1vmin, 2.5rem);--hud-mult:clamp(2.6rem, 5.8vmin, 4.8rem);--hud-label:clamp(.62rem, 1.35vmin, 1.05rem);--notice-width:min(clamp(25rem, 56vmin, 50rem), 92vw);--notice-title:clamp(1.08rem, 2.5vmin, 2rem);--notice-body:clamp(.86rem, 1.8vmin, 1.4rem);--notice-prompt:clamp(.72rem, 1.4vmin, 1.05rem);--notice-icon:clamp(48px, 8vmin, 110px);--notice-pad:clamp(.9rem, 1.9vmin, 1.9rem);--notice-gap:clamp(.8rem, 1.7vmin, 1.8rem)}.hud-corner{flex-direction:column;gap:.2rem;display:flex;position:absolute}.hud-tl{top:calc(var(--safe-top) + var(--hud-inset));left:calc(var(--safe-left) + var(--hud-inset))}.hud-tr{top:calc(var(--safe-top) + var(--hud-inset));right:calc(var(--safe-right) + var(--hud-inset));align-items:flex-end}.hud-bl{bottom:calc(var(--safe-bottom) + var(--hud-inset));left:calc(var(--safe-left) + var(--hud-inset))}.hud-br{bottom:calc(var(--safe-bottom) + var(--hud-inset));right:calc(var(--safe-right) + var(--hud-inset));align-items:flex-end}.hud-label{font-size:var(--hud-label);letter-spacing:.22em;color:var(--ink-dim);text-transform:uppercase;align-items:center;gap:.4em;display:flex}.hud-label .icon{width:1.5em;height:1.5em;color:var(--accent);opacity:.85}.hud-tr .hud-label,.hud-br .hud-label{flex-direction:row-reverse}.hud.endgame .hud-tl .hud-label .icon{color:var(--hostile);opacity:1}.hud-value{font-size:var(--hud-value);font-variant-numeric:tabular-nums;text-shadow:0 0 18px var(--accent-dim);font-weight:700;line-height:1}.hud-value.small{font-size:var(--hud-value-small)}#hud-time{color:var(--ink);transition:color .2s}.hud.endgame #hud-time{color:var(--hostile);text-shadow:0 0 26px var(--hostile)}@keyframes tick-pulse{0%{transform:scale(1.25)}to{transform:scale(1)}}#hud-time.tick{animation:.28s ease-out tick-pulse}.hud-value.mult{font-size:var(--hud-mult);color:var(--accent);text-shadow:0 0 24px var(--accent);transform-origin:100% 100%}@keyframes mult-pop{0%{transform:scale(1)rotate(0)}18%{filter:brightness(2.2);transform:scale(2.05)rotate(-4deg)}42%{transform:scale(.92)rotate(2deg)}68%{transform:scale(1.12)rotate(-1deg)}to{transform:scale(1)rotate(0)}}@keyframes mult-drop{0%{color:var(--hostile);filter:brightness(1.6);transform:scale(1.4)translate(0)}20%{color:var(--hostile);transform:scale(1.1)translate(-.12em)}40%{color:var(--hostile);transform:scale(1.02)translate(.1em)}60%{color:var(--hostile);transform:scale(.94)translate(-.06em)}to{transform:scale(1)translate(0)}}.hud-value.mult.pop{animation:.7s cubic-bezier(.16,1,.3,1) mult-pop}.hud-value.mult.drop{animation:.72s cubic-bezier(.22,1,.36,1) mult-drop}#hud-depth{color:var(--accent)}#hud-combo{left:50%;bottom:calc(var(--safe-bottom) + var(--hud-inset) + clamp(2.4rem, 5vmin, 4rem));opacity:0;align-items:center;gap:.4rem;transition:opacity .2s;display:flex;position:absolute;transform:translate(-50%)}#hud-combo.active{opacity:1}#hud-combo .combo-text{letter-spacing:.18em;color:var(--accent);text-shadow:0 0 16px var(--accent);font-size:clamp(1rem,2.4vmin,1.9rem)}#hud-bigcount{color:var(--hostile);opacity:0;pointer-events:none;font-variant-numeric:tabular-nums;place-items:center;font-size:min(46vw,46vh);font-weight:800;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}@keyframes bigcount{0%{opacity:.34;transform:scale(.82)}70%{opacity:.1;transform:scale(1.04)}to{opacity:0;transform:scale(1.12)}}#hud-bigcount.pulse{animation:.85s ease-out bigcount}#hud-multburst{color:#fff;opacity:0;pointer-events:none;font-variant-numeric:tabular-nums;text-shadow:0 0 12px #05060a,0 0 28px #05060aaa,0 0 46px #6dffb0,0 0 90px #6dffb0aa;place-items:center;font-size:min(34vw,34vh);font-weight:800;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}@keyframes mult-burst{0%{opacity:0;transform:scale(.45)}22%{opacity:.95;transform:scale(1.1)}40%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(1.35)}}#hud-multburst.fire{animation:1s cubic-bezier(.16,1,.3,1) mult-burst}@keyframes mult-crash{0%{opacity:0;transform:scale(1.5)rotate(-6deg)}15%{opacity:.9;transform:scale(1.05)rotate(3deg)}30%{transform:scale(1.12)rotate(-2deg)}55%{opacity:.7;transform:scale(.95)rotate(0)}to{opacity:0;transform:scale(.7)translateY(14%)}}#hud-multburst.crash{color:#ffd8de;text-shadow:0 0 12px #05060a, 0 0 28px #05060aaa, 0 0 46px var(--hostile), 0 0 90px #ff3b5caa;animation:.9s cubic-bezier(.34,1.3,.64,1) mult-crash}#hud-perfect{--heat:0;pointer-events:none;opacity:0;place-items:center;margin-bottom:clamp(5rem,19vmin,14rem);display:grid;position:absolute;bottom:50%;left:0;right:0}#hud-perfect span{font-size:calc(clamp(1.6rem, 5vmin, 3.4rem) * (1 + var(--heat) * .55));letter-spacing:.22em;color:#fff;white-space:nowrap;text-shadow:0 0 10px #05060a, 0 0 26px var(--accent), 0 0 calc(40px + var(--heat) * 60px) var(--accent);font-weight:800}@keyframes perfect-fire{0%{opacity:0;transform:scale(.5)rotate(-5deg)}14%{opacity:1;transform:scale(1.18)rotate(2deg)}30%{transform:scale(.97)rotate(-1deg)}46%{opacity:1;transform:scale(1.04)rotate(0)}to{opacity:0;transform:scale(1.3)translateY(-16%)}}#hud-perfect.fire{animation:.85s cubic-bezier(.16,1,.3,1) perfect-fire}#hud-pickup{pointer-events:none;opacity:0;place-items:center;margin-top:clamp(5rem,20vmin,15rem);display:grid;position:absolute;top:50%;left:0;right:0}#hud-pickup span{letter-spacing:.18em;color:#fff;white-space:nowrap;text-shadow:0 0 10px #05060a, 0 0 26px var(--pickup), 0 0 54px var(--pickup);font-size:clamp(1.5rem,4.6vmin,3rem);font-weight:800}#hud-pickup[data-tone=time]{--pickup:#fc4}#hud-pickup[data-tone=boost]{--pickup:#c78bff}#hud-pickup[data-tone=freeze]{--pickup:#7fdcff}@keyframes pickup-fire{0%{opacity:0;transform:scale(.55)translateY(24%)}16%{opacity:1;transform:scale(1.16)translateY(0)}34%{transform:scale(.98)}55%{opacity:1;transform:scale(1.03)}to{opacity:0;transform:scale(1.14)translateY(-18%)}}#hud-pickup.fire{animation:.95s cubic-bezier(.16,1,.3,1) pickup-fire}.popup{color:var(--accent);text-shadow:0 0 14px;pointer-events:none;white-space:nowrap;will-change:transform, opacity;font-size:1.5rem;font-weight:700;position:absolute;transform:translate(-50%,-50%)}.popup.hostile{color:var(--hostile)}.popup.big{font-size:2.1rem}.popup.mult{color:#6dffb0;font-size:3rem;font-weight:800}@keyframes popup-float{0%{opacity:0;transform:translate(-50%,-50%)scale(.7)}18%{opacity:1;transform:translate(-50%,-68%)scale(1.12)}32%{transform:translate(-50%,-76%)scale(1)}to{opacity:0;transform:translate(-50%,-150%)scale(.95)}}#notice{--notice-color:#7fd4ff;width:var(--notice-width);align-items:center;gap:var(--notice-gap);padding:var(--notice-pad) var(--notice-pad) calc(var(--notice-pad) + .25rem);border:1px solid var(--notice-color);box-shadow:0 0 60px #000c, 0 0 24px var(--notice-color), inset 0 0 32px #ffffff08;opacity:0;pointer-events:none;background:#060a12f7;border-left-width:4px;transition:opacity .22s,transform .28s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,calc(1rem - 50%))scale(.94)}#notice.visible{opacity:1;transform:translate(-50%,-50%)scale(1)}#notice.dismissable .notice-prompt{visibility:visible}.notice-icon{width:var(--notice-icon);height:var(--notice-icon);flex:none}.notice-text{min-width:0}.notice-title{font-size:var(--notice-title);letter-spacing:.04em;color:var(--notice-color);text-shadow:0 0 22px var(--notice-color);font-weight:700;line-height:1.15}.notice-body{font-size:var(--notice-body);color:var(--ink);margin-top:.4rem;line-height:1.5}.notice-prompt{visibility:hidden;font-size:var(--notice-prompt);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);margin-top:.7rem;animation:1.6s ease-in-out infinite notice-prompt-pulse}@keyframes notice-prompt-pulse{0%,to{opacity:.5}50%{opacity:1}}.notice-timer{background:#ffffff1a;height:clamp(5px,.7vmin,10px);position:absolute;bottom:0;left:0;right:0}.notice-timer>i{background:var(--notice-color);width:100%;height:100%;box-shadow:0 0 12px var(--notice-color);display:block}#touch-stick{border:1px solid var(--accent-dim);opacity:0;border-radius:50%;transition:opacity .15s;position:absolute;transform:translate(-50%,-50%)}#touch-stick.active{opacity:.5}#touch-nub{background:var(--accent);opacity:.55;border-radius:50%;width:26%;height:26%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.screen{padding:calc(var(--safe-top) + 1rem) calc(var(--safe-right) + 1rem) calc(var(--safe-bottom) + 1rem) calc(var(--safe-left) + 1rem);pointer-events:auto;background:radial-gradient(#05060ac2 0%,#05060af5 70%);place-items:center;display:none;position:absolute;top:0;bottom:0;left:0;right:0;overflow-y:auto}.screen.visible{display:grid}.panel{border:1px solid var(--accent-dim);background:var(--panel);flex-direction:column;gap:1rem;width:min(34rem,100%);max-height:100%;padding:1.6rem;display:flex;box-shadow:0 0 60px #000a,inset 0 0 40px #38e8ff0a}.title{letter-spacing:.06em;text-align:center;color:var(--ink);text-shadow:0 0 30px var(--accent-dim);margin:0;font-size:clamp(2.4rem,11vw,4rem);font-weight:800;line-height:.95}.title em{color:var(--accent);font-style:normal}.tagline{text-align:center;color:var(--ink-dim);letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:.8rem}.tagline i{color:var(--accent);font-style:italic}.score-heading{text-align:center;letter-spacing:.3em;font-size:.86rem}.credit{text-align:center;letter-spacing:.14em}h2{letter-spacing:.24em;text-transform:uppercase;color:var(--ink-dim);margin:0;font-size:.78rem;font-weight:600}p{color:var(--ink);margin:0;font-size:.86rem;line-height:1.6}.icon{flex:none;width:1.3em;height:1.3em;display:block;overflow:visible}.icon.big{width:3rem;height:3rem}button.has-icon{justify-content:center;align-items:center;gap:.55em;display:inline-flex}button{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--bg);background:var(--accent);cursor:pointer;pointer-events:auto;touch-action:manipulation;border:0;min-height:44px;padding:.85rem 1rem;font-size:.9rem;font-weight:700;transition:transform .12s,filter .12s}button:hover{filter:brightness(1.15)}button:active{transform:scale(.97)}button.ghost{color:var(--accent);border:1px solid var(--accent-dim);background:0 0}button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.button-row{flex-wrap:wrap;gap:.6rem;display:flex}.button-row button{flex:10.5rem}input[type=text]{font-family:var(--mono);letter-spacing:.1em;border:1px solid var(--accent-dim);color:var(--ink);background:#ffffff0a;width:100%;min-height:44px;padding:.75rem .9rem;font-size:1rem}input[type=text]:focus{border-color:var(--accent);outline:none}.legend{grid-template-columns:auto 1fr;align-items:center;gap:.55rem .8rem;font-size:.82rem;display:grid}.legend canvas{border:1px solid var(--accent-dim);background:#ffffff06;width:38px;height:38px}.legend b{color:var(--accent);font-weight:700}.legend .legend-name{letter-spacing:.14em;margin-bottom:.15rem;display:block}.keys{grid-template-columns:auto auto 1fr;align-items:center;gap:.5rem .7rem;font-size:.82rem;display:grid}.key-icon{color:var(--accent);display:flex}.key-icon .icon{width:1.4rem;height:1.4rem}kbd{font-family:var(--mono);border:1px solid var(--accent-dim);color:var(--accent);white-space:nowrap;border-radius:3px;padding:.15rem .4rem;font-size:.72rem}.final-score{text-align:center;color:var(--accent);font-variant-numeric:tabular-nums;text-shadow:0 0 34px var(--accent-dim);font-size:clamp(2.6rem,14vw,4.2rem);font-weight:800;line-height:1}.stat-grid{text-align:center;grid-template-columns:repeat(auto-fit,minmax(6.5rem,1fr));gap:.7rem;display:grid}.stat-grid div span{letter-spacing:.18em;color:var(--ink-dim);text-transform:uppercase;justify-content:center;align-items:center;gap:.4em;font-size:.6rem;display:flex}.stat-grid div span .icon{width:1.5em;height:1.5em;color:var(--accent)}.stat-grid div b{font-variant-numeric:tabular-nums;font-size:1.3rem}.board{flex-direction:column;gap:.1rem;max-height:15rem;font-size:.85rem;display:flex;overflow-y:auto}.board-row{grid-template-columns:2.4rem 1fr auto;align-items:baseline;gap:.6rem;padding:.35rem .5rem;display:grid}.board-row:nth-child(odd){background:#ffffff06}.board-row.self{background:var(--accent-dim);color:var(--ink)}.board-row .rank{color:var(--ink-dim);font-variant-numeric:tabular-nums}.board-row .rank .crown{color:#fc4;width:1.25rem;height:1.25rem}.board-row .score{font-variant-numeric:tabular-nums;font-weight:700}.notice{color:var(--ink-dim);font-size:.72rem;line-height:1.5}.notice.warn{color:#ffb066}.notice .icon{vertical-align:-.25em;width:1.2em;height:1.2em;margin-right:.4em;display:inline-block}#boot{place-items:center;gap:1rem;display:grid}.boot-mark{border:2px solid var(--accent);width:46px;height:46px;animation:1.4s cubic-bezier(.6,0,.4,1) infinite boot-spin}@keyframes boot-spin{0%{transform:rotate(0)scale(1)}50%{transform:rotate(180deg)scale(.6)}to{transform:rotate(360deg)scale(1)}}.boot-text{letter-spacing:.3em;color:var(--ink-dim);font-size:.7rem}.hidden{display:none!important}#stats{top:calc(var(--safe-top) + .5rem);border:1px solid var(--accent-dim);color:var(--accent);white-space:pre;pointer-events:none;z-index:5;background:#000c;padding:.5rem .7rem;font-size:.68rem;line-height:1.5;position:absolute;left:50%;transform:translate(-50%)}#rotate-hint{background:var(--bg);text-align:center;pointer-events:auto;z-index:10;place-items:center;padding:2rem;display:none;position:absolute;top:0;bottom:0;left:0;right:0}#rotate-hint .icon{color:var(--accent);margin:0 auto .8rem}@media (orientation:landscape) and (max-height:380px){#rotate-hint.enabled{display:grid}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
/*$vite$:1*/