:root{--pink:#ff2fb9;--pink-soft:#ff8ad9;--cyan:#38f5ff;--violet:#7a3cff;--bg:#05010e;--font-display:"Orbitron", "Share Tech Mono", "Courier New", monospace;--font-mono:"Share Tech Mono", "Courier New", monospace}html,body{background:var(--bg);height:100%;font-family:var(--font-display);color:#e8dcff;-webkit-user-select:none;user-select:none;margin:0;padding:0;overflow:hidden}canvas#game{width:100vw;height:100vh;display:block;position:fixed;inset:0}.hud{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:linear-gradient(160deg,#140632b3,#080218bf);border:1.5px solid #7a3cffd9;border-radius:3px;min-width:230px;padding:14px 20px 12px;transition:opacity .4s;position:fixed;top:22px;left:22px;box-shadow:0 0 14px #7a3cff73,inset 0 0 22px #38f5ff0d}.hud.hidden{opacity:0}.hud-row{flex-direction:column;gap:2px;display:flex}.hud-label{letter-spacing:.18em;color:var(--pink-soft);text-shadow:0 0 8px #ff2fb9b3;font-size:12px}.hud-value{font-family:var(--font-display);letter-spacing:.08em;color:var(--cyan);text-shadow:0 0 6px #38f5ffe6,0 0 22px #38f5ff8c,2px 0 #ff2fb959;font-variant-numeric:tabular-nums;font-size:38px;font-weight:700;line-height:1.05}.hud-unit{letter-spacing:.2em;color:var(--cyan);vertical-align:6px;margin-left:12px;font-size:14px}.hud-divider{background:linear-gradient(90deg, var(--pink), #ff2fb900);height:1px;margin:10px 0 8px}.overlay{pointer-events:none;text-align:center;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.overlay.intro,.overlay.win{background:radial-gradient(#0a021e8c,#05010ed9);animation:.6s ease-out fadeIn}.intro-card,.win-card{clip-path:polygon(0 0,calc(100% - 26px) 0,100% 26px,100% 100%,26px 100%,0 calc(100% - 26px));background:linear-gradient(#1e063c8c,#080218b3);border:1.5px solid #ff2fb9b3;padding:42px 64px;box-shadow:0 0 30px #ff2fb959,inset 0 0 40px #7a3cff26}.eyebrow{font-family:var(--font-mono);letter-spacing:.28em;color:var(--cyan);opacity:.85;margin-bottom:14px;font-size:13px}.title{letter-spacing:.1em;color:#fff3fc;text-shadow:0 0 10px #ff2fb9e6,0 0 40px #ff2fb999,0 0 80px #7a3cff99;margin:0;font-size:clamp(38px,6.5vw,82px);font-weight:900;line-height:1;animation:6s infinite titleFlicker;position:relative}.title:before,.title:after{content:attr(data-text);opacity:.7;pointer-events:none;position:absolute;inset:0}.title:before{color:var(--cyan);mix-blend-mode:screen;animation:3.5s step-end infinite glitchA;transform:translate(-3px)}.title:after{color:var(--pink);mix-blend-mode:screen;animation:4.2s step-end infinite glitchB;transform:translate(3px)}.subtitle{letter-spacing:.42em;color:var(--pink-soft);margin-top:16px;font-size:15px}.controls{font-family:var(--font-mono);letter-spacing:.16em;color:#cbb8ff;justify-content:center;gap:34px;margin-top:34px;font-size:14px;display:flex}.controls b{color:var(--cyan);margin-right:8px;font-weight:600}.prompt{letter-spacing:.35em;color:var(--cyan);text-shadow:0 0 12px #38f5ffcc;margin-top:36px;font-size:16px;animation:1.4s steps(2,end) infinite blink}.overlay.death{align-items:flex-end;padding-bottom:12vh;animation:.5s ease-out deathShake}.death-card{background:#3c001499;border-left:3px solid #ff1f4f;border-right:3px solid #ff1f4f;padding:16px 40px;box-shadow:0 0 30px #ff1f4f66}.death-title{letter-spacing:.22em;color:#ffd3dd;text-shadow:0 0 12px #ff1f4f,0 0 30px #ff1f4f,-3px 0 #38f5ff99;font-size:30px;font-weight:700;animation:.35s steps(2,end) infinite deathJitter}.death-sub{font-family:var(--font-mono);letter-spacing:.3em;color:var(--cyan);margin-top:6px;font-size:13px}.win-stats{justify-content:center;gap:48px;margin-top:30px;display:flex}.win-stats>div{flex-direction:column;gap:6px;display:flex}.win-value{color:var(--cyan);letter-spacing:.08em;text-shadow:0 0 8px #38f5ffe6,0 0 26px #38f5ff80;font-variant-numeric:tabular-nums;font-size:44px;font-weight:700}.toast{letter-spacing:.35em;color:var(--cyan);text-shadow:0 0 10px #38f5ffe6;pointer-events:none;background:#05141e8c;border:1px solid #38f5ff99;padding:8px 26px;font-size:16px;animation:1.8s ease-out forwards toast;position:fixed;top:18%;left:50%;transform:translate(-50%)}.flash{pointer-events:none;opacity:0;mix-blend-mode:screen;position:fixed;inset:0}@keyframes blink{50%{opacity:.25}}@keyframes fadeIn{0%{opacity:0}}@keyframes toast{0%{opacity:0;transform:translate(-50%,10px)}12%{opacity:1;transform:translate(-50%)}80%{opacity:1}to{opacity:0}}@keyframes deathJitter{0%{text-shadow:0 0 12px #ff1f4f,0 0 30px #ff1f4f,-4px 0 #38f5ffb3;transform:translate(-2px)}50%{text-shadow:0 0 12px #ff1f4f,0 0 30px #ff1f4f,4px 0 #38f5ffb3;transform:translate(2px)}}@keyframes deathShake{0%{transform:translate(6px,-4px)}25%{transform:translate(-6px,3px)}50%{transform:translate(4px,2px)}to{transform:none}}@keyframes titleFlicker{0%,92%,to{opacity:1}93%{opacity:.55}94%{opacity:1}97%{opacity:.7}98%{opacity:1}}@keyframes glitchA{0%,88%,to{clip-path:inset(0 0 100%)}89%{clip-path:inset(10% 0 55%);transform:translate(-6px)}91%{clip-path:inset(60% 0 10%);transform:translate(5px)}93%{clip-path:inset(30% 0 40%);transform:translate(-3px)}95%{clip-path:inset(0 0 100%)}}@keyframes glitchB{0%,80%,to{clip-path:inset(0 0 100%)}81%{clip-path:inset(45% 0 20%);transform:translate(6px)}84%{clip-path:inset(5% 0 80%);transform:translate(-5px)}87%{clip-path:inset(70% 0 5%);transform:translate(4px)}90%{clip-path:inset(0 0 100%)}}@media (max-width:720px){.hud{transform-origin:0 0;transform:scale(.8)}.controls{flex-direction:column;gap:10px}}.settings-toggle,.fullscreen-toggle{width:40px;height:40px;color:var(--cyan);cursor:pointer;opacity:.7;background:#080218b3;border:1.5px solid #7a3cffd9;border-radius:3px;padding:0;font-size:22px;line-height:40px;transition:opacity .2s;position:fixed;top:22px;box-shadow:0 0 14px #7a3cff73}.settings-toggle{right:22px}.fullscreen-toggle{right:72px}.settings-toggle:hover,.fullscreen-toggle:hover{opacity:1}.fullscreen-toggle:disabled{cursor:not-allowed;opacity:.25}.settings-panel{box-sizing:border-box;width:300px;max-height:calc(100vh - 94px);font-family:var(--font-mono);background:linear-gradient(160deg,#140632eb,#080218f0);border:1.5px solid #7a3cffd9;border-radius:3px;padding:16px 20px 14px;position:fixed;top:72px;right:22px;overflow-y:auto;box-shadow:0 0 14px #7a3cff73,inset 0 0 22px #38f5ff0d}.settings-head{justify-content:space-between;align-items:baseline;margin-bottom:6px;display:flex}.settings-head .eyebrow{margin:0}.settings-close{letter-spacing:.2em;color:var(--pink-soft);opacity:.8;font-size:11px}.settings-row{margin-top:12px}.settings-label{font-family:var(--font-display);letter-spacing:.18em;color:var(--pink-soft);text-shadow:0 0 8px #ff2fb9b3;margin-bottom:6px;font-size:12px}.settings-seg{gap:4px;display:flex}.settings-seg button,.settings-reset{font-family:var(--font-mono);letter-spacing:.12em;color:#cbb8ff;cursor:pointer;background:#1e063c80;border:1px solid #7a3cff80;border-radius:2px;flex:1;padding:6px 0;font-size:13px}.settings-seg button:hover,.settings-reset:hover{border-color:var(--cyan);color:var(--cyan)}.settings-seg button.active{color:var(--cyan);border-color:var(--cyan);text-shadow:0 0 8px #38f5ffcc;background:#38f5ff1f}.settings-hint{color:#cbb8ff99;margin-top:5px;font-size:11px;line-height:1.4}.settings-reset{width:100%;margin-top:16px;display:block}.runtime-menu{z-index:15;box-sizing:border-box;max-width:760px;font-family:var(--font-mono);color:#ddd3fa;background:#070216f0;flex-direction:column;justify-content:safe center;gap:18px;margin:auto;padding:50px;display:flex;position:fixed;inset:0;overflow-y:auto}.runtime-menu[hidden],.runtime-toolbar[hidden]{display:none}.runtime-menu h1{color:var(--cyan);letter-spacing:.05em;margin:0;font-size:clamp(32px,6vw,64px)}.runtime-menu p{white-space:pre-wrap;margin:0 0 16px;line-height:1.6}.runtime-menu button,.runtime-toolbar button{font:inherit;color:var(--cyan);cursor:pointer;text-align:left;background:#150a2c;border:1px solid #7547b5;padding:16px 20px}.runtime-menu button span{color:#c2b1d9;margin-top:10px;font-size:13px;line-height:1.6;display:block}.runtime-menu button:hover,.runtime-menu button:focus-visible,.runtime-toolbar button:focus-visible{border-color:var(--cyan);outline:2px solid var(--cyan);outline-offset:3px}.runtime-toolbar{z-index:20;font:12px var(--font-mono);gap:8px;display:flex;position:fixed;bottom:18px;left:18px}.runtime-toolbar button{background:#0a031cd9;padding:10px 14px}@media (max-width:600px){.runtime-menu{padding:30px 24px}.runtime-toolbar{gap:4px;bottom:8px;left:8px}}.control-settings{color:#d9c8f3;margin-top:20px;font-size:13px}.control-settings summary{color:var(--cyan);cursor:pointer;padding:10px 0}.control-settings p{line-height:1.6}.control-settings button{text-align:left;width:100%;color:inherit;font:inherit;cursor:pointer;background:#120827;border:1px solid #65468c;margin:6px 0;padding:9px;display:block}.control-settings button:focus-visible{outline:2px solid var(--cyan)}.control-settings label{margin-top:12px;display:block}.control-settings select{color:#fff;background:#120827;width:100%;margin:6px 0;padding:6px}.runtime-toolbar button:disabled{opacity:.45;cursor:default}.traction-status{font:12px var(--font-mono);letter-spacing:.1em;color:var(--cyan);margin-top:12px}#settings{z-index:30;position:relative}.editor{z-index:28;color:#dce9ef;font:12px/1.5 var(--font-mono);text-shadow:none;background:#09111b;flex-direction:column;display:flex;position:fixed;inset:0}.editor[hidden]{display:none}.editor *{box-sizing:border-box}.editor header{border-bottom:1px solid #2a3d4e;justify-content:space-between;align-items:center;gap:16px;min-height:74px;padding:12px 148px 12px 20px;display:flex}.editor header small{color:#6ce6d4;letter-spacing:.18em;font-size:10px;display:block}.editor header strong{font-size:17px;font-weight:500}.editor button,.editor input,.editor select{font:inherit;color:inherit;background:#111f2c;border:1px solid #3a5064;border-radius:3px;min-width:0;padding:7px 9px}.editor button{cursor:pointer;white-space:nowrap}.editor button:hover,.editor button[aria-pressed=true]{color:#a1fff0;background:#24423e;border-color:#6ce6d4}.editor :focus-visible{outline-offset:2px;outline:2px solid #ffe198}.editor button:disabled{opacity:.35;cursor:default}.editor-actions{flex-wrap:wrap;gap:6px;display:flex}.editor-tools{border-bottom:1px solid #2a3d4e;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 20px;display:flex}.editor-tools label{align-items:center;gap:6px;display:flex}.editor-tools input[type=number]{width:64px}.editor-tools label span{color:#9db2c3}.editor-tools>span{color:#6ce6d4;min-width:54px;font-size:10px}.editor-layout{flex:1;grid-template-columns:200px minmax(240px,1fr) 290px;min-height:0;display:grid}.editor aside{scrollbar-width:thin;background:#0e1925;border-right:1px solid #2a3d4e;padding:14px;overflow:auto}.editor aside:last-child{border-left:1px solid #2a3d4e;border-right:0}.editor h2{font:600 12px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:#fff;margin:0 0 14px}.editor h3{color:#97b6cb;margin:16px 0 5px;font-size:11px;font-weight:500}.editor aside p{color:#9db2c3;overflow-wrap:anywhere}.editor aside input:not([type=checkbox]),.editor aside select{width:100%}.editor aside label{margin:8px 0;display:block}.editor aside label>span{color:#9db2c3;margin-bottom:3px;display:block}.editor aside label:has(input[type=checkbox]){flex-direction:row-reverse;justify-content:flex-end;align-items:center;gap:7px;display:flex}.editor [data-part]{text-align:left;justify-content:space-between;gap:6px;width:100%;margin-top:6px;display:flex}.editor [data-part] small{color:#9db2c3;font-size:9px}.editor details{border-top:1px solid #2a3d4e;margin-top:16px;padding-top:10px}.editor summary{cursor:pointer;color:#a1fff0;padding:3px 0 8px}.editor .editor-vector{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;display:grid}.editor .editor-vector label{margin-top:0}.editor-stage{flex-direction:column;min-width:0;min-height:0;display:flex;position:relative}.editor-canvas{touch-action:none;-webkit-user-select:none;user-select:none;flex:1;width:100%;min-height:0}.editor-canvas text{font-family:var(--font-mono)}.editor-help{color:#718da3;border-top:1px solid #2a3d4e;margin:0;padding:8px 12px;font-size:10px}.editor .editor-issue{white-space:normal;text-align:left;overflow-wrap:anywhere;width:100%;margin:5px 0;font-size:10px}.editor .editor-issue.error{color:#ffc3d2;border-color:#b95c71}.editor .editor-issue.warning{color:#f6d990;border-color:#9f8749}.editor footer{color:#809aae;border-top:1px solid #2a3d4e;justify-content:space-between;gap:12px;min-height:34px;padding:8px 16px;display:flex}.editor footer p{color:#ffe198;white-space:pre-wrap;max-height:72px;margin:0;overflow:auto}@media (max-width:1050px){.editor-layout{grid-template-columns:155px minmax(180px,1fr) 245px}.editor header{flex-wrap:wrap}.editor header strong{font-size:14px}.editor-tools{gap:6px;padding:8px}.editor aside{padding:9px}.editor [data-part] small{display:none}}@media (max-width:700px){.editor-layout{grid-template-columns:125px minmax(170px,1fr)}.editor aside:last-child{border-top:1px solid #2a3d4e;grid-column:1/-1;max-height:34vh}.editor header{padding-right:110px}.editor button{padding:5px}.editor footer{font-size:10px}}.runtime-menu>*{flex-shrink:0}.signal-trace{z-index:29;color:#c5e9e3;width:min(420px,100vw - 245px);max-height:55vh;font:11px/1.5 var(--font-mono);text-shadow:none;background:#0b1823f5;border:1px solid #3e706a;border-radius:4px;padding:10px 14px;position:fixed;bottom:44px;left:220px;overflow:auto}.signal-trace[hidden]{display:none}.signal-trace summary{cursor:pointer;color:#a1fff0}.signal-trace select{color:#fff;width:100%;font:inherit;background:#142a35;border:1px solid #3e706a;padding:6px}.signal-trace p,.signal-trace li{overflow-wrap:anywhere}.signal-trace ol{padding-left:20px}.signal-trace pre{white-space:pre-wrap;overflow-wrap:anywhere}.signal-trace details{margin-top:10px}.editor aside details>div>button,.editor aside details details>button{margin:3px 3px 3px 0}@media (max-width:700px){.signal-trace{width:calc(100vw - 16px);max-height:40vh;bottom:40px;left:8px}}
