@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600&family=Space+Grotesk:wght@500;600;700&display=swap";:root{color-scheme:dark;--bg: #050608;--text: #d6dde6;--muted: rgba(214, 221, 230, .7);--accent: #57f4ff;--panel: rgba(7, 9, 12, .6);--font-ui: "Space Grotesk", "Segoe UI", sans-serif;--font-title: "Space Grotesk", "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Consolas", "Courier New", monospace;--hud-width: 420px;--hud-padding-x: 16px;--hud-padding-y: 10px;--hud-top: 18px}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;background:var(--bg);font-family:var(--font-ui);color:var(--text);overflow:hidden}#app{position:relative;width:100%;height:100%;background:var(--bg)}#game{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}#hud{position:absolute;top:var(--hud-top);left:50%;transform:translate(-50%);z-index:10;font-size:12px;letter-spacing:.14em;text-transform:uppercase}.hud-shell{display:flex;gap:14px;align-items:stretch}.hud-bar{width:min(var(--hud-width),calc(100vw - 32px));display:grid;gap:10px;padding:var(--hud-padding-y) var(--hud-padding-x);background:#07090c59;border:1px solid rgba(214,221,230,.2);box-shadow:0 12px 30px #00000059,0 0 12px #57f4ff14;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.hud-modes{display:flex;flex-direction:column;gap:10px;justify-content:center;align-items:center;padding:6px;background:#07090c4d;border:1px solid rgba(214,221,230,.16);box-shadow:0 12px 30px #0000004d,0 0 10px #57f4ff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.mode-chip{width:44px;height:44px;border-radius:999px;border:1px solid rgba(214,221,230,.22);display:grid;place-items:center;position:relative;background:radial-gradient(circle at 35% 35%,#57f4ff26,#07090c73 55%),#07090c99;box-shadow:inset 0 0 14px #57f4ff14,0 0 10px #0003;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.mode-cooldown{position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:999px;background:conic-gradient(#78ffdcb3 calc(var(--cooldown, 0) * 1turn),#d6dde614 0);mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 3px));-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 3px));opacity:0;transition:opacity .2s ease;pointer-events:none}.mode-chip.cooling .mode-cooldown{opacity:1}.mode-chip.active{border-color:#57f4ffd9;box-shadow:0 0 18px #57f4ff38;transform:translateY(-1px)}.mode-key{position:absolute;top:6px;left:8px;font-family:var(--font-mono);font-size:9px;letter-spacing:.18em;color:var(--muted)}.mode-chip.active .mode-key{color:var(--text)}.mode-icon{width:22px;height:22px;position:relative}.mode-icon--burst:before{content:"";position:absolute;width:5px;height:5px;border-radius:999px;left:8px;top:9px;background:#57f4ffe6;box-shadow:6px -2px #57f4ffb3,12px -4px #57f4ff73}.mode-icon--burst:after{content:none}.mode-icon--rail:before{content:"";position:absolute;width:22px;height:4px;left:0;top:9px;background:linear-gradient(90deg,#78ffdc26,#78ffdcf2,#d2fff5d9);box-shadow:0 0 12px #78ffdc80}.mode-icon--rail:after{content:"";position:absolute;width:10px;height:10px;right:-2px;top:6px;border-radius:2px;border:1px solid rgba(210,255,245,.85);background:#78ffdc1f;transform:rotate(45deg);box-shadow:0 0 10px #78ffdc73}.hud-primary{display:flex;align-items:baseline;justify-content:center;gap:10px}.hud-primary span:last-child{font-size:22px;letter-spacing:.08em}.hud-secondary{display:grid;grid-template-columns:repeat(3,auto);gap:14px;justify-content:center}.hud-secondary .hp-block{display:flex;align-items:center;gap:8px}.hud-secondary .hp-block .label{margin:0}.hud-secondary .label{color:var(--muted);font-size:9px}.buffs{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:8px}.buff-pill{padding:4px 10px;border-radius:999px;border:1px solid rgba(87,244,255,.35);background:#07090c80;color:#d6dde6cc;font-size:9px;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}.hp{display:flex;gap:6px;align-items:center}.hp .pip{width:8px;height:8px;border-radius:999px;border:1px solid rgba(87,244,255,.7);background:#57f4ff2e}.hp .pip.empty{background:transparent;border-color:#d6dde659}#overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;z-index:20;background:#05060866}#pause,#pause-settings{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;z-index:18;background:#05060866}#start{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;z-index:15;background:#05060847}#start.demo-left{justify-items:start}#start.demo-left .card{text-align:left;margin-left:clamp(24px,8vw,120px)}#overlay.hidden,#pause.hidden,#pause-settings.hidden{opacity:0;pointer-events:none}#pause .pause-actions{margin-top:14px;display:grid;gap:10px}#pause-settings .menu-settings{margin-top:10px;padding:18px 22px;border:1px solid rgba(214,221,230,.18);background:#07090c59;display:grid;gap:12px}#pause-settings .settings-group{padding:12px 14px}#pause-settings .settings-row{grid-template-columns:96px 1fr}#pause-settings button{margin-top:18px;justify-self:center}#start.hidden{opacity:0;pointer-events:none}#overlay .card,#pause .card,#pause-settings .card{text-align:center;padding:34px 38px;border:1px solid rgba(87,244,255,.22);border-radius:0;background:#05060873;box-shadow:none;display:grid;gap:14px}#start .card{text-align:center;padding:34px 42px;max-width:520px;width:min(90vw,520px);border:1px solid rgba(87,244,255,.2);border-radius:0;background:#05060859;box-shadow:none;display:grid;gap:14px}#start .card h1{text-align:center;width:100%}.audio-toggle{position:absolute;top:18px;right:18px;width:44px;height:44px;border-radius:0;border:1px solid rgba(214,221,230,.25);background:#07090c59;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--text);display:grid;place-items:center;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,color .2s ease;z-index:100}.audio-toggle:hover{transform:translateY(-1px);box-shadow:0 0 14px #d6dde62e}.audio-toggle:focus-visible{outline:1px solid rgba(87,244,255,.7);outline-offset:2px}.audio-toggle .audio-icon{width:22px;height:22px}.audio-toggle.muted:after{content:"";position:absolute;width:2px;height:32px;background:#ff5a5ae6;transform:rotate(45deg)}.audio-toggle.muted .audio-wave{opacity:.2}.menu-panel.hidden{display:none}.menu-buttons{display:grid;gap:10px;margin-top:8px}.menu-top{margin-top:14px;display:grid;gap:6px;text-transform:uppercase;letter-spacing:.12em}.menu-top .label{font-size:10px;color:var(--muted)}.menu-settings{margin-top:18px;display:grid;gap:10px;text-transform:uppercase;letter-spacing:.12em}.menu-settings .label{font-size:10px;color:var(--muted)}.settings-group{display:grid;gap:10px;padding:10px 12px;border:1px solid rgba(214,221,230,.16);background:#07090c40}.settings-title{font-size:10px;color:var(--muted);letter-spacing:.18em}.settings-row{display:grid;grid-template-columns:88px 1fr;align-items:center;gap:10px;font-size:10px}.settings-row label{color:var(--muted)}.settings-row input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:2px;background:#d6dde633;border-radius:999px;outline:none}.settings-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:12px;border-radius:999px;background:#57f4fff2;box-shadow:0 0 8px #57f4ff73;border:1px solid rgba(87,244,255,.9);cursor:pointer}.settings-row input[type=range]::-moz-range-thumb{width:12px;height:12px;border-radius:999px;background:#57f4fff2;box-shadow:0 0 8px #57f4ff73;border:1px solid rgba(87,244,255,.9);cursor:pointer}.settings-row input[type=range]::-moz-range-track{height:2px;background:#d6dde633;border-radius:999px}#menu-settings .ghost{margin-top:14px;justify-self:center}.leader-preview{display:grid;gap:6px;font-size:12px;letter-spacing:.12em;width:100%}.leader-preview .leader-row{display:grid;grid-template-columns:36px 1fr auto;gap:10px;padding:6px 0;border-bottom:1px solid rgba(214,221,230,.12);background:transparent;font-variant-numeric:tabular-nums}.leader-preview .leader-row span:nth-child(2){font-size:11px;color:var(--muted);letter-spacing:.14em}.leader-preview .leader-row span:nth-child(3){font-size:16px;color:var(--text);letter-spacing:.12em;text-align:right;justify-self:end}.howto{margin-top:4px;display:grid;gap:16px;text-align:left}.howto-header{display:grid;gap:6px;padding-bottom:12px;border-bottom:1px solid rgba(214,221,230,.18)}.howto-kicker{font-size:10px;letter-spacing:.32em;color:var(--muted);text-transform:uppercase}.howto h2{font-family:var(--font-title);font-size:22px;letter-spacing:.22em;text-transform:uppercase}.howto-sub{font-size:11px;color:var(--muted);letter-spacing:.16em;text-transform:uppercase}.howto-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.howto-panel{border:1px solid rgba(214,221,230,.16);background:radial-gradient(circle at top left,rgba(87,244,255,.08),transparent 55%),#07090c6b;padding:12px;display:grid;gap:10px}.howto-panel h3{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--accent)}.keypad{display:grid;grid-template-columns:repeat(3,36px);grid-template-rows:repeat(2,36px);gap:6px;align-items:center;justify-content:start}.keycap{min-width:36px;height:36px;display:grid;place-items:center;border:1px solid rgba(214,221,230,.25);background:linear-gradient(135deg,#d6dde614,#07090c99),#07090ca6;font-family:var(--font-mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase}.keycap--wide{padding:0 10px;min-width:86px}.keycap--ghost{opacity:0;border-color:transparent;background:transparent}.input-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.input-label{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.howto-list{display:grid;gap:6px}.howto-item{display:grid;grid-template-columns:10px 1fr;gap:8px;align-items:center;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.howto-dot{width:8px;height:8px;border-radius:999px;background:var(--accent);box-shadow:0 0 10px #57f4ff66}.howto-dot--hazard{background:#ff5a5a;box-shadow:0 0 10px #ff5a5a66}.howto-dot--jam{background:#7aaeff;box-shadow:0 0 10px #7aaeff66}.howto-dot--gravity{background:#9fd6ff;box-shadow:0 0 10px #9fd6ff66}.howto-dot--shield{background:#78c8ff;box-shadow:0 0 10px #78c8ff66}.howto-dot--double{background:#ffd166;box-shadow:0 0 10px #ffd16666}.howto-dot--vector{background:#b6ff3b;box-shadow:0 0 10px #b6ff3b66}.howto-dot--repair{background:#57f4ff;box-shadow:0 0 10px #57f4ff66}.howto-dot--score{background:#d6dde6;box-shadow:0 0 10px #d6dde659}#menu-howto .ghost{margin-top:12px}@media (max-width: 560px){.howto-grid{grid-template-columns:1fr}}#menu-leaderboard .ghost{margin-top:12px}#overlay h1,#pause h1,#pause-settings h1{font-family:var(--font-title);font-size:clamp(30px,5vw,44px);font-weight:700;letter-spacing:.26em;text-transform:uppercase}#overlay h1{text-shadow:0 0 16px rgba(87,244,255,.28)}#start h1{font-family:var(--font-title);font-size:clamp(34px,6vw,60px);font-weight:700;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}#overlay p,#pause p,#pause-settings p{margin-top:12px;font-size:12px;color:var(--muted);letter-spacing:.18em;text-transform:uppercase}#overlay .hint{margin-top:16px;font-size:11px;color:var(--muted);letter-spacing:.12em;text-transform:uppercase}#overlay .hint .key{color:var(--accent);font-weight:600;text-shadow:0 0 8px rgba(87,244,255,.4)}#overlay .summary{margin-top:18px;display:grid;gap:8px;text-transform:uppercase;letter-spacing:.16em;border-top:1px solid rgba(214,221,230,.14);border-bottom:1px solid rgba(214,221,230,.14);padding:16px 0}#overlay .summary div{display:flex;justify-content:space-between;align-items:center;gap:18px;height:36px;padding:0;border-bottom:1px solid rgba(214,221,230,.12)}#overlay .summary div:last-child{border-bottom:none}#overlay .summary .label{font-size:11px;color:var(--muted);letter-spacing:.22em}#overlay .summary span:last-child{display:block;font-family:var(--font-mono);font-size:24px;letter-spacing:.06em}#overlay .submit-row{margin-top:18px;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}#overlay .submit-message{margin-top:8px;min-height:14px;font-size:10px;letter-spacing:.14em}#overlay input{padding:8px 12px;border-radius:0;border:1px solid rgba(214,221,230,.28);background:transparent;color:var(--text);font-size:11px;letter-spacing:.2em;text-transform:uppercase;width:100%;font-family:var(--font-mono)}#overlay input::placeholder{color:#d6dde680}#overlay input:focus-visible{outline:1px solid rgba(87,244,255,.7);outline-offset:2px}#overlay .primary,#pause .primary{padding:8px 18px;border-radius:0;border:1px solid rgba(87,244,255,.6);background:transparent;color:var(--text);font-size:11px;letter-spacing:.22em;text-transform:uppercase;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,color .2s ease;font-family:var(--font-mono)}#overlay .primary:hover,#pause .primary:hover{transform:translateY(-1px);box-shadow:0 0 16px #57f4ff40;text-decoration:underline;text-underline-offset:6px}#overlay .leaderboard,#start .leaderboard{margin-top:18px;text-align:left;font-size:12px;letter-spacing:.12em;text-transform:uppercase;background:transparent;border:none;border-radius:0;padding:0}#overlay .leaderboard-header,#start .leaderboard-header{color:var(--muted);margin-bottom:8px;font-size:10px;letter-spacing:.2em}#overlay .leader-row,#start .leader-row{display:grid;grid-template-columns:36px 1fr 70px 90px;gap:10px;padding:8px 0;border-bottom:1px solid rgba(214,221,230,.12);font-variant-numeric:tabular-nums}#overlay .leader-row:nth-child(2n),#start .leader-row:nth-child(2n){background:transparent}#overlay .leader-row span:last-child,#start .leader-row span:last-child{color:var(--muted);font-size:10px}#overlay .leaderboard.hidden{display:none}.muted{color:var(--muted);font-size:11px;letter-spacing:.16em;text-transform:uppercase}#start .hint{font-size:12px;color:var(--muted);letter-spacing:.16em;text-transform:uppercase}#start .primary{margin-top:8px;padding:10px 22px;border-radius:0;border:1px solid rgba(87,244,255,.6);background:transparent;color:var(--text);font-size:12px;letter-spacing:.22em;text-transform:uppercase;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,color .2s ease;font-family:var(--font-mono)}#start .ghost,#overlay .ghost,#pause .ghost,#start a.ghost{text-decoration:none}#start .ghost,#overlay .ghost,#pause .ghost,#start a.ghost{padding:8px 18px;border-radius:0;border:1px solid rgba(214,221,230,.25);background:transparent;color:var(--text);font-size:11px;letter-spacing:.22em;text-transform:uppercase;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,color .2s ease;font-family:var(--font-mono)}#start .menu-buttons a.ghost{text-align:center;display:block}#overlay #toggle-leaderboard,#overlay #restart{margin-top:12px}#overlay #back-to-menu{margin-top:10px}#start .ghost:hover,#overlay .ghost:hover,#pause .ghost:hover{transform:translateY(-1px);box-shadow:0 0 14px #d6dde62e;text-decoration:underline;text-underline-offset:6px}#start .primary:hover{transform:translateY(-1px);box-shadow:0 0 18px #57f4ff47;text-decoration:underline;text-underline-offset:6px}#start .primary:active{transform:translateY(1px)}#start .primary:focus-visible,#start .ghost:focus-visible,#overlay .primary:focus-visible,#overlay .ghost:focus-visible,#pause .primary:focus-visible,#pause .ghost:focus-visible{outline:1px solid rgba(87,244,255,.7);outline-offset:2px}#score,#time,#kills,#final-score,#final-time,#final-kills,.leader-preview .leader-row span:nth-child(3),#overlay .leader-row span:nth-child(3),#overlay .leader-row span:nth-child(4),#start .leader-row span:nth-child(3),#start .leader-row span:nth-child(4){font-family:var(--font-mono);letter-spacing:.08em}.leader-preview .leader-row span:nth-child(2){letter-spacing:.2em}@media (max-width: 720px){#hud{--hud-width: 360px;--hud-padding-x: 12px;--hud-padding-y: 8px;--hud-top: 12px}.audio-toggle{top:12px;right:12px;width:40px;height:40px}.hud-bar{width:min(var(--hud-width),calc(100vw - 24px))}.hud-shell{gap:10px}.hud-modes{padding:4px}.mode-chip{width:40px;height:40px}#overlay .card{width:80%}#start .card{width:84%}}
