:root{--ink:#fff;--ink-dim:#ffffffb8;--accent:#ff4d3d;--accent-2:#ffb347;--panel:#100a0e6b;--panel-border:#ffffff29;--shadow:#00000073;--scrim:linear-gradient(180deg, #14080c0d 0%, #14080c40 45%, #0c060ac7 100%);font-variant-numeric:tabular-nums;font-family:-apple-system,SF Pro Display,system-ui,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;background:#1a1012;margin:0;overflow:hidden}#game{position:fixed;inset:0}#game canvas{width:100%;height:100%;display:block}#flash{opacity:0;pointer-events:none;background:#fff;position:fixed;inset:0}#flash.on{animation:.7s ease-out flash}@keyframes flash{0%{opacity:.85}to{opacity:0}}[hidden]{display:none!important}#hud{pointer-events:none;padding:calc(env(safe-area-inset-top) + 10px) calc(env(safe-area-inset-right) + 14px) calc(env(safe-area-inset-bottom) + 14px) calc(env(safe-area-inset-left) + 14px);flex-direction:column;display:flex;position:fixed;inset:0}.hud-top{justify-content:space-between;align-items:flex-start;display:flex}.score{text-align:center;text-shadow:0 3px 14px var(--shadow)}#score{letter-spacing:-.02em;font-size:clamp(40px,9vw,68px);font-weight:800;line-height:1}.score-unit{letter-spacing:.3em;color:var(--ink-dim);margin-top:4px;font-size:11px;font-weight:700}.icon-btn{pointer-events:auto;border:1px solid var(--panel-border);background:var(--panel);-webkit-backdrop-filter:blur(10px);width:44px;height:44px;color:var(--ink);cursor:pointer;border-radius:14px;place-items:center;padding:0;display:grid}.icon-btn svg{fill:currentColor;width:22px;height:22px}#mute-btn .sound-off,#mute-btn.muted .sound-on{display:none}#mute-btn.muted .sound-off{display:block}#popups{align-self:center;height:0;position:relative}.popup{white-space:nowrap;text-align:center;letter-spacing:.02em;color:var(--ink);text-shadow:0 0 18px #ff783cd9, 0 3px 10px var(--shadow);font-size:clamp(22px,5.4vw,34px);font-style:italic;font-weight:900;animation:1.1s cubic-bezier(.2,.9,.25,1) forwards popup;position:absolute;top:34px;left:50%;transform:translate(-50%)}.popup small{color:var(--accent-2);font-size:.6em;display:block}@keyframes popup{0%{opacity:0;transform:translate(-50%,10px)scale(.6)}15%{opacity:1;transform:translate(-50%)scale(1.08)}30%{transform:translate(-50%)scale(1)}75%{opacity:1}to{opacity:0;transform:translate(-50%,-26px)scale(.96)}}#hint{background:var(--panel);border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(10px);opacity:0;border-radius:999px;margin:auto auto 18px;padding:10px 18px;font-size:15px;font-weight:600;transition:opacity .4s}#hint.show{opacity:1}.hud-bottom{justify-content:space-between;gap:12px;display:flex}.gauge{background:var(--panel);border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(10px);border-radius:14px;flex:0 220px;padding:9px 12px 10px}.gauge-head{letter-spacing:.14em;color:var(--ink-dim);justify-content:space-between;align-items:baseline;margin-bottom:7px;font-size:11px;font-weight:700;display:flex}.gauge-head b{color:var(--ink);letter-spacing:0;font-size:15px}.bar{background:#ffffff24;border-radius:99px;height:6px;overflow:hidden}.bar>div{border-radius:inherit;background:linear-gradient(90deg, var(--accent-2), var(--accent));width:0%;height:100%;box-shadow:0 0 12px #ff6e3ccc}#combo-bar{background:linear-gradient(90deg,#7ad7ff,#fff);box-shadow:0 0 12px #8cd2ffcc}#debug{left:calc(env(safe-area-inset-left) + 8px);top:calc(env(safe-area-inset-top) + 64px);white-space:pre;background:#00000080;border-radius:6px;padding:6px 8px;font:600 11px/1.4 ui-monospace,Menlo,monospace;position:fixed}.screen{padding:calc(env(safe-area-inset-top) + 24px) 16px calc(env(safe-area-inset-bottom) + 28px);background:var(--scrim);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex;position:fixed;inset:0}#title-screen{justify-content:space-between}.title-block{text-shadow:0 6px 30px #00000080;margin-top:6vh}.kicker{letter-spacing:.5em;color:var(--accent-2);margin-bottom:10px;font-size:12px;font-weight:800}h1{letter-spacing:-.01em;margin:0;font-size:clamp(52px,14vw,120px);font-style:italic;font-weight:900;line-height:.86}h1 span{background:linear-gradient(90deg,#ffd27a,#ff5a3c);color:#0000;-webkit-background-clip:text;background-clip:text;display:block}h2{margin:0;font-size:clamp(40px,11vw,80px);font-style:italic;font-weight:900}.wrecked{color:var(--accent);text-shadow:0 0 30px #ff3c2899}.title-actions{flex-direction:column;align-items:center;gap:12px;display:flex}.primary-btn,.secondary-btn{font:inherit;letter-spacing:.04em;color:var(--ink);cursor:pointer;pointer-events:auto;border:none;border-radius:999px;padding:16px 52px;font-size:20px;font-weight:800}.primary-btn{background:linear-gradient(90deg,#ff8a3d,#ff3d4d);box-shadow:0 10px 30px #ff463273,inset 0 1px #ffffff59}.primary-btn:active,.secondary-btn:active{transform:scale(.97)}.secondary-btn{background:var(--panel);border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(10px);padding:12px 36px;font-size:16px}.best,.controls{color:var(--ink-dim);margin:0;font-size:14px;font-weight:600}.result{gap:36px;display:flex}.result span{font-size:clamp(36px,9vw,56px);font-weight:800;display:block}.result small{letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim);font-size:12px;font-weight:700}
