:root{--bg: #06070b;--bg-soft: #0d1018;--fg: #e9eef9;--fg-dim: #8e95a8;--accent: #2bd3ff;--accent-warm: #ffd23f;--accent-hot: #ff5cb1;--danger: #ff4554}*{box-sizing:border-box}html,body{margin:0;padding:0;width:100%;height:100%;background:var(--bg);color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;overscroll-behavior:none;touch-action:none;user-select:none;overflow:hidden}#stage{position:fixed;inset:0;width:100%;height:100%;display:block;background:var(--bg)}#hud{position:fixed;inset:0;pointer-events:none;display:grid;place-items:center;font-weight:600;letter-spacing:.04em;text-transform:uppercase}#hud>div{display:grid;place-items:center;gap:18px;text-align:center;padding:24px;pointer-events:none}#hud>div[hidden]{display:none!important}#hud .title{font-size:clamp(48px,9vw,96px);letter-spacing:.18em;background:linear-gradient(135deg,var(--accent),var(--accent-hot));-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 40px rgba(43,211,255,.25);margin:0}#hud .title.dead{background:linear-gradient(135deg,var(--danger),var(--accent-hot));-webkit-background-clip:text;background-clip:text;color:transparent}#hud .title.success,#hud .title.victory{background:linear-gradient(135deg,var(--accent),var(--accent-warm));-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 40px rgba(43,211,255,.35)}#hud .title.pop-in{animation:titlePopIn .36s cubic-bezier(.2,.9,.3,1.4)}@keyframes titlePopIn{0%{transform:scale(.85);opacity:0}60%{transform:scale(1.06);opacity:1}to{transform:scale(1);opacity:1}}#hud .title.new-best{animation:titlePopIn .36s cubic-bezier(.2,.9,.3,1.4),newBestPulse 1.4s ease-in-out infinite .36s}@keyframes newBestPulse{0%,to{text-shadow:0 0 40px rgba(255,210,63,.45),0 0 80px rgba(255,210,63,.25);filter:brightness(1)}50%{text-shadow:0 0 60px rgba(255,210,63,.95),0 0 120px rgba(255,210,63,.55);filter:brightness(1.25)}}#hud .subtitle{font-size:clamp(14px,2.5vw,18px);color:var(--fg-dim);letter-spacing:.22em}#hud .hint{font-size:12px;color:var(--fg-dim);letter-spacing:.2em;opacity:.7}#hud-loading .progress{width:min(60vw,320px);height:4px;background:#ffffff14;border-radius:4px;overflow:hidden}#hud-loading .progress .bar{height:100%;width:0%;background:linear-gradient(90deg,var(--accent),var(--accent-hot));transform-origin:left;transition:width .12s ease-out}#hud-game{align-self:start;justify-self:stretch;padding:24px 28px!important}#hud-game .game-stats{display:flex;width:100%;justify-content:space-between;gap:24px}#hud-game .stat{font-size:14px;letter-spacing:.2em;color:var(--fg);background:#0003;padding:8px 14px;border-radius:999px;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.06)}#hud-game .stat#hud-shape[data-shape=octagon]{color:var(--accent)}#hud-game .stat#hud-shape[data-shape=square]{color:var(--accent-warm)}#hud-game .stat#hud-shape[data-shape=triangle]{color:var(--accent-hot)}#hud-game .stat#hud-level{color:var(--fg-dim);letter-spacing:.28em}#hud-game .stat.combo{font-size:16px;color:var(--accent-warm);background:#ffd23f1f;border-color:#ffd23f66;transform-origin:center;transition:opacity .2s ease-out,transform .16s cubic-bezier(.2,.9,.3,1.4)}#hud-game .stat.combo.pop{animation:comboPop .22s cubic-bezier(.2,.9,.3,1.4)}@keyframes comboPop{0%{transform:scale(.85)}60%{transform:scale(1.18)}to{transform:scale(1)}}#hud-game .stat.pickup{font-size:13px;letter-spacing:.22em;animation:pickupPulse 1.1s ease-in-out infinite}#hud-game .stat.pickup.shield{color:#6bd2ff;background:#6bd2ff1f;border-color:#6bd2ff73;text-shadow:0 0 10px rgba(107,210,255,.6)}#hud-game .stat.pickup.slowmo{color:var(--accent-hot);background:#ff5cb11f;border-color:#ff5cb173;text-shadow:0 0 10px rgba(255,92,177,.6)}#hud-game .stat.pickup.magnet{color:#c594ff;background:#b265ff24;border-color:#b265ff73;text-shadow:0 0 10px rgba(178,101,255,.6)}#hud-game .stat.pickup.double{color:#ffe070;background:#ffe07024;border-color:#ffe07080;text-shadow:0 0 10px rgba(255,200,64,.65)}@keyframes pickupPulse{0%,to{filter:brightness(1);transform:scale(1)}50%{filter:brightness(1.35);transform:scale(1.04)}}#hud-flash{position:absolute;inset:0;background:var(--danger);opacity:0;pointer-events:none;mix-blend-mode:screen;transition:opacity .22s ease-out}#hud-flash.flash{opacity:.55;transition:opacity 60ms ease-in}#hud-flash.flash-gate{opacity:.6}#hud-popups{position:absolute;inset:0;pointer-events:none;display:block}#hud-popups .popup{position:absolute;left:50%;top:38%;transform:translate(-50%);font-weight:800;font-size:clamp(28px,5vw,56px);letter-spacing:.08em;text-shadow:0 0 24px currentColor;opacity:0;pointer-events:none;white-space:nowrap}#hud-popups .popup.kind-accent{color:var(--accent)}#hud-popups .popup.kind-warm{color:var(--accent-warm)}#hud-popups .popup.kind-hot{color:var(--accent-hot)}#hud-popups .popup.kind-danger{color:var(--danger)}#hud-popups .popup.rise{animation:popupRise .8s cubic-bezier(.2,.9,.3,1) forwards}@keyframes popupRise{0%{transform:translate(-50%) scale(.7);opacity:0}15%{transform:translate(-50%,-6px) scale(1.15);opacity:1}60%{transform:translate(-50%,-32px) scale(1);opacity:1}to{transform:translate(-50%,-64px) scale(.95);opacity:0}}#hud .btn{pointer-events:auto;cursor:pointer;font-family:inherit;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--fg);background:#ffffff0f;border:1px solid rgba(255,255,255,.14);padding:14px 28px;border-radius:999px;font-size:14px;transition:transform .12s ease-out,background .12s ease-out,border-color .12s ease-out,color .12s ease-out}#hud .btn:hover{background:#2bd3ff2e;border-color:#2bd3ff8c;color:var(--accent);transform:translateY(-1px)}#hud .btn:active{transform:translateY(1px)}#hud-pause{background:#06070bb8;backdrop-filter:blur(12px);pointer-events:auto}#hud-pause .pause-buttons{display:grid;gap:10px;justify-items:stretch;width:min(80vw,280px)}#hud-pause .pause-buttons .btn{width:100%}#hud-menu .mode-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;width:min(92vw,720px)}#hud-menu .btn.mode{pointer-events:auto;display:grid;grid-template-rows:auto auto auto;gap:6px;padding:18px 22px;min-width:168px;text-align:center;border-radius:18px;background:#ffffff0a;border:1px solid rgba(255,255,255,.12);letter-spacing:.04em}#hud-menu .btn.mode:hover{background:#2bd3ff1a;border-color:#2bd3ff8c;transform:translateY(-2px)}#hud-menu .mode-num{font-size:11px;letter-spacing:.32em;color:var(--fg-dim);opacity:.7}#hud-menu .mode-name{font-size:22px;letter-spacing:.18em;background:linear-gradient(135deg,var(--accent),var(--accent-hot));-webkit-background-clip:text;background-clip:text;color:transparent;text-transform:uppercase}#hud-menu .btn.mode[data-act=endless] .mode-name{background:linear-gradient(135deg,var(--accent-warm),var(--accent-hot));-webkit-background-clip:text;background-clip:text;color:transparent}#hud-menu .btn.mode[data-act=daily] .mode-name{background:linear-gradient(135deg,var(--accent-hot),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}#hud-menu .mode-sub{font-size:10px;letter-spacing:.22em;color:var(--fg-dim);text-transform:uppercase}#hud-tutorial.tutorial-hint{position:absolute;bottom:18%;left:50%;transform:translate(-50%);font-size:clamp(14px,2.2vw,18px);letter-spacing:.22em;color:var(--fg);background:#0006;padding:10px 18px;border-radius:999px;border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(8px);display:flex;align-items:center;gap:8px;animation:tutorialFade .6s ease-out;pointer-events:none}#hud-tutorial.fade-out{animation:tutorialFadeOut .36s ease-in forwards}#hud-tutorial .kbd{display:inline-block;min-width:22px;padding:2px 6px;border-radius:6px;background:#ffffff1f;border:1px solid rgba(255,255,255,.22);font-size:14px;letter-spacing:0}@keyframes tutorialFade{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}@keyframes tutorialFadeOut{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-8px)}}#hud-beat-dot{position:absolute;left:50%;bottom:7%;transform:translate(-50%);width:26px;height:26px;pointer-events:none;display:grid;place-items:center;opacity:.55}#hud-beat-dot .ring{position:absolute;inset:0;border-radius:50%;border:1.5px solid rgba(255,255,255,.25);box-shadow:inset 0 0 6px #ffffff0f}#hud-beat-dot .dot{width:8px;height:8px;border-radius:50%;background:var(--fg);box-shadow:0 0 6px #ffffff4d;transform:scale(1);transition:transform .11s ease-out,box-shadow .11s ease-out,background .11s ease-out}#hud-beat-dot.pulse-kick .dot{transform:scale(1.8);background:var(--accent);box-shadow:0 0 18px var(--accent),0 0 36px #2bd3ff80}#hud-beat-dot.pulse-snare .dot{transform:scale(1.35);background:var(--accent-warm);box-shadow:0 0 12px var(--accent-warm)}#hud-beat-dot.pulse-kick .ring{border-color:#2bd3ff99}#hud-frenzy{position:absolute;top:18%;left:50%;transform:translate(-50%);font-weight:900;font-size:clamp(36px,7vw,72px);letter-spacing:.2em;color:var(--accent-warm);text-shadow:0 0 32px rgba(255,210,63,.7),0 0 80px rgba(255,92,177,.5);pointer-events:none;animation:frenzyPulse .38s ease-in-out infinite alternate}#hud-frenzy[hidden]{display:none!important}@keyframes frenzyPulse{0%{transform:translate(-50%) scale(1);filter:brightness(1)}to{transform:translate(-50%) scale(1.08);filter:brightness(1.3)}}#hud-boss{position:absolute;top:12%;left:50%;transform:translate(-50%);font-weight:800;font-size:clamp(20px,3vw,32px);letter-spacing:.3em;color:var(--accent-hot);text-shadow:0 0 24px rgba(255,92,177,.65);pointer-events:none;animation:bossEnter .36s cubic-bezier(.2,.9,.3,1.4)}#hud-boss[hidden]{display:none!important}@keyframes bossEnter{0%{transform:translate(-50%,-8px) scale(.85);opacity:0}60%{transform:translate(-50%) scale(1.06);opacity:1}to{transform:translate(-50%) scale(1);opacity:1}}#hud-game .stat.mirror{font-size:16px;letter-spacing:.2em;color:var(--accent-hot);background:#ff5cb11f;border-color:#ff5cb173;text-shadow:0 0 10px rgba(255,92,177,.6);animation:mirrorWiggle .6s ease-in-out infinite}@keyframes mirrorWiggle{0%,to{transform:scaleX(1)}50%{transform:scaleX(-1)}}#hud-toasts{position:absolute;top:18px;right:18px;display:flex;flex-direction:column;gap:10px;pointer-events:none;width:clamp(220px,28vw,320px);z-index:50}#hud-toasts .toast{display:grid;gap:4px;padding:12px 14px;border-radius:14px;background:#080a10c7;border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(12px);text-align:left;letter-spacing:.04em;transform:translate(120%);opacity:0;transition:transform .32s cubic-bezier(.2,.9,.3,1.4),opacity .32s ease-out}#hud-toasts .toast.in{transform:translate(0);opacity:1}#hud-toasts .toast.out{transform:translate(120%);opacity:0}#hud-toasts .toast .title{font-size:10px;letter-spacing:.32em;color:var(--fg-dim)}#hud-toasts .toast .name{font-size:16px;font-weight:800;color:var(--fg);letter-spacing:.12em}#hud-toasts .toast .desc{font-size:11px;letter-spacing:.08em;color:var(--fg-dim);text-transform:none}#hud-toasts .toast.tier-bronze .name{background:linear-gradient(135deg,#ffba6b,#ff7a3c);-webkit-background-clip:text;background-clip:text;color:transparent}#hud-toasts .toast.tier-silver .name{background:linear-gradient(135deg,#cfd8e6,#6bd2ff);-webkit-background-clip:text;background-clip:text;color:transparent}#hud-toasts .toast.tier-gold .name{background:linear-gradient(135deg,#ffd23f,#ff5cb1);-webkit-background-clip:text;background-clip:text;color:transparent}#hud-stats{background:#06070bdb;backdrop-filter:blur(14px);pointer-events:auto;align-items:stretch!important;justify-items:stretch!important;padding:24px!important;width:100%;height:100%;display:grid;grid-template-rows:auto auto 1fr;gap:14px!important}#hud-stats .stats-header{display:flex;align-items:center;justify-content:space-between;gap:14px}#hud-stats .title.small{font-size:clamp(20px,4vw,36px);letter-spacing:.32em}#hud-stats .btn.pill{padding:10px 18px;font-size:12px}#hud-stats .stats-tabs{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}#hud-stats .tab{pointer-events:auto;cursor:pointer;font-family:inherit;font-weight:700;font-size:12px;letter-spacing:.18em;text-transform:uppercase;padding:8px 14px;border-radius:999px;background:#ffffff0a;border:1px solid rgba(255,255,255,.12);color:var(--fg-dim)}#hud-stats .tab:hover{color:var(--fg)}#hud-stats .tab.active{color:var(--accent);border-color:#2bd3ff8c;background:#2bd3ff14}#hud-stats .stats-body{overflow-y:auto;padding:4px 6px}#hud-stats .tab-pane{display:none}#hud-stats .tab-pane.active{display:grid;gap:12px}#hud-stats .lifetime-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}#hud-stats .lifetime-tile{padding:14px;border-radius:14px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}#hud-stats .lifetime-tile .label{font-size:10px;letter-spacing:.32em;color:var(--fg-dim)}#hud-stats .lifetime-tile .value{font-size:clamp(20px,3vw,28px);font-weight:800;color:var(--fg);letter-spacing:.04em;text-align:left;margin-top:6px}#hud-stats .ach-list{display:grid;gap:8px}#hud-stats .ach-row{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px 14px;border-radius:14px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}#hud-stats .ach-row.locked{opacity:.45}#hud-stats .ach-row .name{font-weight:800;font-size:14px;letter-spacing:.14em;color:var(--fg)}#hud-stats .ach-row .desc{font-size:11px;letter-spacing:.06em;color:var(--fg-dim);text-transform:none;margin-top:4px}#hud-stats .ach-row .badge{font-size:10px;letter-spacing:.2em;align-self:center;padding:4px 8px;border-radius:999px;border:1px solid currentColor}#hud-stats .ach-row.tier-bronze .badge{color:#ffba6b}#hud-stats .ach-row.tier-silver .badge{color:#6bd2ff}#hud-stats .ach-row.tier-gold .badge{color:var(--accent-warm)}#hud-stats .cos-section{display:grid;gap:8px}#hud-stats .cos-section h3{font-size:12px;letter-spacing:.32em;color:var(--fg-dim);margin:4px 0;font-weight:700}#hud-stats .cos-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}#hud-stats .cos-card{position:relative;pointer-events:auto;cursor:pointer;display:grid;gap:6px;padding:10px 12px;border-radius:12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);text-align:left}#hud-stats .cos-card:hover{border-color:#2bd3ff73}#hud-stats .cos-card .swatch{width:100%;height:38px;border-radius:8px;background:linear-gradient(135deg,#fff,#2bd3ff)}#hud-stats .cos-card .name{font-size:13px;font-weight:700;letter-spacing:.12em;color:var(--fg)}#hud-stats .cos-card .gate{font-size:10px;letter-spacing:.18em;color:var(--fg-dim);text-transform:none}#hud-stats .cos-card.locked{opacity:.55;cursor:not-allowed}#hud-stats .cos-card.selected{border-color:var(--accent);background:#2bd3ff14}#hud-menu .menu-extras{display:flex;gap:10px;justify-content:center}#hud-menu .btn.pill{padding:10px 18px;font-size:12px}#hud-menu .menu-difficulty{display:flex;gap:8px;align-items:center;justify-content:center;margin-top:4px}#hud-menu .menu-difficulty .diff-label{font-size:11px;letter-spacing:.22em;opacity:.55;margin-right:6px}#hud-menu .btn.diff{padding:8px 14px;font-size:11px;letter-spacing:.2em;border-radius:999px;background:#ffffff0a;border:1px solid rgba(255,255,255,.18);color:#ffffffbf}#hud-menu .btn.diff:hover{background:#ffffff14;color:#fff}#hud-menu .btn.diff.active{background:#ffd23f24;border-color:#ffd23f8c;color:#ffd23f;text-shadow:0 0 10px rgba(255,210,63,.55)}#hud-game .stat.diff-badge{font-size:11px;letter-spacing:.22em;color:#ffd23f;background:#ffd23f1f;border-color:#ffd23f73;text-shadow:0 0 8px rgba(255,210,63,.6)}#hud-game .stat.diff-badge.easy{color:#7fffaa;background:#7fffaa1f;border-color:#7fffaa73;text-shadow:0 0 8px rgba(127,255,170,.6)}#hud-game .stat.diff-badge.hard{color:#ff5cb1;background:#ff5cb124;border-color:#ff5cb180;text-shadow:0 0 8px rgba(255,92,177,.65)}#hud-daily-modifier{position:absolute;top:6%;left:50%;transform:translate(-50%);font-weight:700;font-size:clamp(11px,1.6vw,14px);letter-spacing:.28em;color:var(--accent-warm);background:#ffd23f1a;border:1px solid rgba(255,210,63,.35);padding:6px 14px;border-radius:999px;pointer-events:none;text-shadow:0 0 12px rgba(255,210,63,.55)}#hud-daily-modifier[hidden]{display:none!important}#hud-story-select{background:#06070bdb;backdrop-filter:blur(14px);pointer-events:auto;align-items:stretch!important;justify-items:stretch!important;padding:24px!important;width:100%;height:100%;display:grid;grid-template-rows:auto auto 1fr auto;gap:14px!important}#hud-story-select .stats-header{display:flex;align-items:center;justify-content:space-between;gap:14px}#hud-story-select .title.small{font-size:clamp(20px,4vw,36px);letter-spacing:.32em}#hud-story-select .btn.pill{padding:10px 18px;font-size:12px}#hud-story-select .menu-difficulty{justify-content:center}#hud-story-select .hint{text-align:center;font-size:11px;letter-spacing:.18em;color:var(--fg-dim);opacity:.7}#hud-story-select .level-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));align-content:start;overflow-y:auto}#hud-story-select .level-card{position:relative;pointer-events:auto;cursor:pointer;display:grid;gap:6px;padding:16px;border-radius:14px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);text-align:left;font:inherit;color:var(--fg)}#hud-story-select .level-card:hover{border-color:#2bd3ff73;background:#2bd3ff0f}#hud-story-select .level-card .num{font-size:11px;letter-spacing:.32em;color:var(--fg-dim)}#hud-story-select .level-card .name{font-size:clamp(16px,2.4vw,22px);font-weight:800;letter-spacing:.06em}#hud-story-select .level-card .meta{font-size:10px;letter-spacing:.22em;color:var(--fg-dim);text-transform:none;margin-top:4px}#hud-story-select .level-card.locked{opacity:.55;cursor:not-allowed;border-style:dashed}#hud-story-select .level-card.locked:hover{border-color:#ffffff2e;background:#ffffff0a}#hud-story-select .level-card .lock{position:absolute;top:12px;right:14px;font-size:16px;opacity:.8}#hud-story-select .level-card.shake{animation:storyLockShake .32s ease-in-out}@keyframes storyLockShake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}50%{transform:translate(4px)}75%{transform:translate(-2px)}}
