*{margin:0;padding:0;box-sizing:border-box}body{overflow:hidden;background:#000;touch-action:none}html,body{height:100%;height:100dvh}#canvas{display:block;width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges;position:relative;z-index:0}#mobile-controls{display:none;user-select:none;-webkit-user-select:none}@media(pointer:coarse){#mobile-controls{display:block}}.mobile-dock{position:fixed;bottom:0;left:0;right:0;z-index:700;height:56px;display:flex;justify-content:center;align-items:center;gap:12px;padding:0 12px;background:linear-gradient(to top,rgba(0,0,0,.55),transparent);pointer-events:none}.mobile-dock button{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.15);background:#00000059;color:#ffffffa6;font-size:18px;line-height:44px;text-align:center;cursor:pointer;pointer-events:auto;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transition:all .15s}.mobile-dock button:active{background:#ffffff26;transform:scale(.92)}.mobile-autopilot-btn.active{border-color:#64b4ff99;color:#64b4ffe6;background:#64b4ff1a}.mobile-fab{position:fixed;bottom:64px;right:16px;width:48px;height:48px;border-radius:50%;border:1px solid rgba(100,180,255,.35);background:#00000073;color:#64b4ffcc;font-size:20px;line-height:48px;text-align:center;cursor:pointer;pointer-events:auto;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:701;transition:all .25s cubic-bezier(.34,1.56,.64,1);box-shadow:0 0 16px #64b4ff14}.mobile-fab:active{transform:scale(.93)}.mobile-fab.open{transform:rotate(45deg);border-color:#64b4ff99;color:#64b4ff;box-shadow:0 0 24px #64b4ff26}.mobile-speed-dial{position:fixed;bottom:64px;right:16px;z-index:700;pointer-events:none}.speed-dial-btn{position:absolute;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.15);background:#00000080;color:#ffffffa6;font-size:16px;line-height:40px;text-align:center;cursor:pointer;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);pointer-events:none;opacity:0;transform:scale(.3);transition:all .25s cubic-bezier(.34,1.56,.64,1)}.speed-dial-btn:active{background:#ffffff26}.speed-dial-btn.active{border-color:#64b4ff99;color:#64b4ffe6}.speed-dial-btn:nth-child(1){right:4px;bottom:56px;transition-delay:0s}.speed-dial-btn:nth-child(2){right:4px;bottom:104px;transition-delay:.03s}.speed-dial-btn:nth-child(3){right:4px;bottom:152px;transition-delay:.06s}.speed-dial-btn:nth-child(4){right:4px;bottom:200px;transition-delay:.09s}.speed-dial-btn:nth-child(5){right:4px;bottom:248px;transition-delay:.12s}.speed-dial-btn:nth-child(6){right:4px;bottom:296px;transition-delay:.15s}.speed-dial-btn:nth-child(7){right:4px;bottom:344px;transition-delay:.18s}.mobile-fab.open~.mobile-speed-dial .speed-dial-btn{opacity:1;transform:scale(1);pointer-events:auto}#title-screen{position:fixed;inset:0;z-index:500;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;transition:opacity 1s ease}#title-screen.animate-in{animation:title-fade-in 4s ease-out forwards}@keyframes title-fade-in{0%{background:#000}62%{background:#000}to{background:transparent}}#title-screen.fading{opacity:0}.title-content{display:flex;flex-direction:column;align-items:flex-end}@keyframes title-text-in{0%{opacity:0}to{opacity:1}}.title-name{opacity:0;animation:title-text-in 2s ease-out .8s forwards;font-family:Pixelify Sans,system-ui;font-weight:700;font-size:clamp(36px,8vw,80px);letter-spacing:.35em;margin-right:-.35em;color:#fff;margin-top:0;margin-bottom:0;line-height:1.2;text-shadow:-2px -2px 0 rgba(0,0,0,.7),2px -2px 0 rgba(0,0,0,.7),-2px 2px 0 rgba(0,0,0,.7),2px 2px 0 rgba(0,0,0,.7),0 -2px 0 rgba(0,0,0,.7),0 2px 0 rgba(0,0,0,.7),-2px 0 0 rgba(0,0,0,.7),2px 0 0 rgba(0,0,0,.7),-4px -4px 2px rgba(0,0,0,.4),4px -4px 2px rgba(0,0,0,.4),-4px 4px 2px rgba(0,0,0,.4),4px 4px 2px rgba(0,0,0,.4),0 -4px 2px rgba(0,0,0,.4),0 4px 2px rgba(0,0,0,.4),-4px 0 2px rgba(0,0,0,.4),4px 0 2px rgba(0,0,0,.4),0 0 8px rgba(0,0,0,.3),0 0 16px rgba(0,0,0,.15)}.title-prompt{font-family:DotGothic16,monospace;color:#fff;font-size:clamp(12px,2vw,18px);margin-top:8px;letter-spacing:.15em;margin-right:-.15em;position:relative;left:-2px;opacity:0;animation:title-prompt-in 1.5s ease-out 6s forwards,title-blink 4s ease-in-out 7.5s infinite;text-shadow:-1px -1px 0 rgba(0,0,0,.7),1px -1px 0 rgba(0,0,0,.7),-1px 1px 0 rgba(0,0,0,.7),1px 1px 0 rgba(0,0,0,.7),0 -1px 0 rgba(0,0,0,.7),0 1px 0 rgba(0,0,0,.7),-1px 0 0 rgba(0,0,0,.7),1px 0 0 rgba(0,0,0,.7),-2px -2px 2px rgba(0,0,0,.4),2px -2px 2px rgba(0,0,0,.4),-2px 2px 2px rgba(0,0,0,.4),2px 2px 2px rgba(0,0,0,.4),0 -2px 2px rgba(0,0,0,.4),0 2px 2px rgba(0,0,0,.4),-2px 0 2px rgba(0,0,0,.4),2px 0 2px rgba(0,0,0,.4),0 0 6px rgba(0,0,0,.2)}@keyframes title-prompt-in{0%{opacity:0}to{opacity:1}}@keyframes title-blink{0%,to{opacity:1}50%{opacity:0}}.title-keybind-hint{position:fixed;bottom:20px;left:20px;font-family:DotGothic16,monospace;color:#fff6;font-size:13px;letter-spacing:.1em}.splash-mode-picker{display:flex;flex-direction:column;align-items:center;gap:16px;opacity:0;animation:title-prompt-in 1s ease-out .4s forwards}.splash-mode-btn{pointer-events:auto;cursor:pointer;display:flex;flex-direction:column;align-items:center;text-align:center;font-family:DotGothic16,monospace;color:#ffffffd9;background:#00000040;border:1px solid rgba(255,255,255,.25);border-radius:6px;padding:14px 28px;min-width:280px;transition:background .15s ease,border-color .15s ease}.splash-mode-btn:hover,.splash-mode-btn:focus-visible{background:#64b4ff2e;border-color:#64b4ff99;outline:none}.splash-mode-btn:active{background:#64b4ff52}.splash-mode-name{font-size:clamp(18px,2.6vw,24px);letter-spacing:.22em;margin-right:-.22em}.splash-mode-desc{font-size:clamp(10px,1.4vw,12px);letter-spacing:.08em;color:#ffffff80;margin-top:4px}.overlay-close{position:absolute;top:10px;right:10px;width:40px;height:40px;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:#ffffff14;color:#ffffffb3;font-size:22px;line-height:38px;text-align:center;cursor:pointer;z-index:1}.overlay-close:active{background:#fff3}.title-fullscreen-btn{display:none}@media(pointer:coarse){.title-fullscreen-btn{display:block;position:fixed;bottom:24px;right:24px;font-family:DotGothic16,monospace;font-size:14px;letter-spacing:.15em;color:#fff;background:#64b4ff33;border:1px solid rgba(100,180,255,.5);border-radius:8px;padding:12px 20px;cursor:pointer;pointer-events:auto;animation:title-blink 2s ease-in-out infinite;z-index:501}.title-fullscreen-btn:active{background:#64b4ff66}.title-keybind-hint{display:none}}#keybinds-overlay{position:fixed;inset:0;z-index:600;display:flex;align-items:center;justify-content:center;background:#000000b3;pointer-events:auto}.keybinds-panel{position:relative;font-family:DotGothic16,monospace;color:#fff;max-width:420px;width:90%}.keybinds-panel h2{font-size:20px;letter-spacing:.15em;margin-bottom:16px;text-align:center}.keybinds-grid{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;font-size:14px}.kb-key{color:#64b4ffe6;text-align:right;white-space:nowrap}.kb-desc{color:#ffffffb3}.keybinds-dismiss{text-align:center;margin-top:20px;font-size:12px;color:#ffffff59}#settings-overlay{position:fixed;inset:0;z-index:600;display:flex;align-items:center;justify-content:center;background:#000000bf;pointer-events:auto;overflow-y:auto}.settings-panel{position:relative;font-family:DotGothic16,monospace;color:#fff;max-width:380px;width:90%;max-height:85vh;overflow-y:auto;padding:12px 0}.settings-panel h2{font-size:20px;letter-spacing:.15em;text-align:center;margin-bottom:12px}.settings-section h3{font-size:11px;color:#64b4ffb3;letter-spacing:.2em;margin:14px 0 6px;border-bottom:1px solid rgba(100,180,255,.2);padding-bottom:4px}.settings-grid{display:grid;grid-template-columns:1fr auto 40px;gap:8px 10px;align-items:center;font-size:13px}.settings-grid-toggle{grid-template-columns:1fr auto}.settings-grid label{color:#ffffffb3}.settings-grid input[type=range]{width:100px;accent-color:rgba(100,180,255,.8)}.settings-grid input[type=checkbox]{width:18px;height:18px;accent-color:rgba(100,180,255,.8);justify-self:end}.setting-value{color:#00dc82cc;font-size:12px;text-align:right}.setting-select{grid-column:2 / 4;background:#00000080;border:1px solid rgba(100,180,255,.4);color:#ffffffe6;font-family:DotGothic16,monospace;font-size:12px;padding:4px 6px;border-radius:3px;cursor:pointer}.settings-reset{display:block;margin:18px auto 0;background:#ff505026;border:1px solid rgba(255,80,80,.35);color:#ff5050cc;font-family:DotGothic16,monospace;font-size:12px;padding:6px 16px;border-radius:4px;cursor:pointer}.settings-reset:active{background:#ff50504d}.settings-dismiss{text-align:center;margin-top:14px;font-size:12px;color:#ffffff59}#soundtest-overlay{position:fixed;inset:0;z-index:600;display:flex;align-items:center;justify-content:center;background:#000000bf;pointer-events:auto;overflow-y:auto}.soundtest-panel{position:relative;font-family:DotGothic16,monospace;color:#fff;max-width:420px;width:90%;max-height:85vh;overflow-y:auto;padding:12px 0}.soundtest-panel h2{font-size:20px;letter-spacing:.15em;text-align:center;margin-bottom:12px}.soundtest-section{margin:12px 16px}.soundtest-section h3{font-size:13px;color:#64b4ffcc;letter-spacing:.12em;margin-bottom:8px;border-bottom:1px solid rgba(100,180,255,.2);padding-bottom:4px}.soundtest-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.soundtest-btn{background:#00b4641a;border:1px solid rgba(0,180,100,.35);color:#00dc82e6;font-family:DotGothic16,monospace;font-size:12px;padding:8px 10px;border-radius:4px;cursor:pointer;text-align:left;transition:background .1s}.soundtest-btn:hover{background:#00b46440}.soundtest-btn:active{background:#00b46466}.soundtest-btn.playing{background:#64b4ff33;border-color:#64b4ff80;color:#64c8ff}.soundtest-stop-btn{display:block;margin:10px auto 0;background:#ff505026;border:1px solid rgba(255,80,80,.35);color:#ff5050cc;font-family:DotGothic16,monospace;font-size:12px;padding:6px 16px;border-radius:4px;cursor:pointer}.soundtest-stop-btn:active{background:#ff50504d}.soundtest-dismiss{text-align:center;margin-top:14px;font-size:12px;color:#ffffff59}#body-info{position:fixed;top:20px;left:20px;z-index:90;font-family:DotGothic16,monospace;background:none;border:none;padding:0;max-width:400px;pointer-events:none;transition:opacity .5s ease;text-shadow:0 0 8px #000,0 0 16px #000,0 0 24px #000}#body-info.fading{opacity:0}.body-info-type{color:#0f8;font-size:22px;font-weight:700;text-transform:uppercase;letter-spacing:.15em}.body-info-stats{color:#00ff88a6;font-size:16px;font-weight:700;margin-top:2px;letter-spacing:.08em}.body-info-cursor{color:#0f8;font-size:22px;animation:cursor-blink .6s step-end infinite}#flight-mode-toast{position:fixed;top:22%;left:50%;transform:translate(-50%);z-index:95;font-family:DotGothic16,monospace;text-align:center;pointer-events:none;transition:opacity .4s ease;text-shadow:0 0 8px #000,0 0 16px #000,0 0 24px #000}#flight-mode-toast.fading{opacity:0}.flight-mode-toast-label{color:#64ff82;font-size:26px;font-weight:700;text-transform:uppercase;letter-spacing:.18em}.flight-mode-toast-hint{color:#64ff82b3;font-size:15px;font-weight:700;margin-top:4px;letter-spacing:.1em}body.hud-hidden #flight-mode-toast{display:none!important}#commit-burn-btn{position:fixed;bottom:32px;left:50%;transform:translate(-50%);z-index:100;font-family:DotGothic16,monospace;font-size:13px;font-weight:700;letter-spacing:.15em;color:#8cffa0;background:#001405a6;border:1.5px solid rgba(100,255,130,.85);padding:10px 24px;cursor:pointer;text-transform:uppercase;text-shadow:0 0 6px rgba(0,0,0,.9);box-shadow:0 0 18px #3cc85a40;transition:background .15s,box-shadow .15s,transform .08s;outline:none}#commit-burn-btn:hover{background:#143c19d9;box-shadow:0 0 28px #64ff8c80}#commit-burn-btn:active{transform:translate(-50%) translateY(1px)}#mode-swap-btn{position:fixed;top:16px;right:16px;z-index:100;font-family:DotGothic16,monospace;font-size:12px;font-weight:700;letter-spacing:.15em;color:#8cffa0;background:#001405a6;border:1.5px solid rgba(100,255,130,.85);padding:7px 16px;cursor:pointer;text-transform:uppercase;text-shadow:0 0 6px rgba(0,0,0,.9);box-shadow:0 0 14px #3cc85a33;transition:background .15s,box-shadow .15s,transform .08s;outline:none}#mode-swap-btn:hover{background:#143c19d9;box-shadow:0 0 22px #64ff8c73}#mode-swap-btn:active{transform:translateY(1px)}body.hud-hidden #mode-swap-btn,body.hud-hidden #body-info,body.hud-hidden #commit-burn-btn,body.hud-hidden #targeting-overlay{display:none!important}.body-info-cursor.blinking{display:inline}@keyframes cursor-blink{0%,to{opacity:1}50%{opacity:0}}@media(pointer:coarse)and (max-aspect-ratio:1/1){.speed-dial-btn[data-action=fullscreen]{display:none!important}}@media(pointer:coarse)and (orientation:portrait){#body-info{top:12px;left:12px;max-width:70vw}.body-info-type{font-size:16px}.body-info-stats{font-size:12px}.settings-panel,.keybinds-panel{max-width:95vw;max-height:80vh}}#splash-screen{position:fixed;inset:0;z-index:600;background:#000;display:flex;align-items:center;justify-content:center;pointer-events:auto;cursor:pointer}.splash-prompt{font-family:Pixelify Sans,monospace;font-size:24px;color:#fff;letter-spacing:4px}.sc{opacity:0;display:inline-block;animation:sc-glow 4s ease-in-out infinite;animation-delay:calc(var(--i) * .13s)}@keyframes sc-glow{0%{opacity:0}5%{opacity:1}18%{opacity:1}28%{opacity:0}to{opacity:0}}#intro-overlay{position:fixed;inset:0;z-index:550;background:#000;display:flex;align-items:center;justify-content:center}.intro-logo{position:absolute;font-family:Pixelify Sans,monospace;font-size:48px;color:#fff;letter-spacing:6px;opacity:0;transition:opacity 1.6s ease;text-align:center;display:flex;flex-direction:column;align-items:center}.intro-logo.visible{opacity:1}.deshe-title{font-size:96px;letter-spacing:18px;display:block;font-family:DotGothic16,monospace}.deshe-sub{font-size:22px;letter-spacing:12px;margin-top:4px;display:block;text-transform:uppercase;font-family:DotGothic16,monospace}.intro-credit{font-size:24px;letter-spacing:3px;line-height:1.8;font-family:DotGothic16,monospace}.credit-name{font-size:48px;font-weight:700;display:block;letter-spacing:4px;font-family:Pixelify Sans,monospace}#debug-hud{position:fixed;bottom:20px;left:20px;z-index:90;font-family:DotGothic16,monospace;font-size:11px;line-height:1.6;color:#00dc82cc;pointer-events:none;text-shadow:0 0 6px #000,0 0 12px #000;max-width:420px}#debug-hud .dh-label{color:#64b4ffb3;display:inline-block;min-width:60px;text-align:right;margin-right:6px}#debug-hud .dh-val{color:#00dc82d9}#debug-overlay{position:fixed;inset:0;z-index:600;display:flex;align-items:center;justify-content:center;background:#000c;pointer-events:auto;overflow-y:auto}.debug-panel{position:relative;font-family:DotGothic16,monospace;color:#fff;max-width:480px;width:90%;max-height:85vh;overflow-y:auto;padding:12px 16px}.debug-panel h2{font-family:Pixelify Sans,monospace;font-size:18px;letter-spacing:.3em;color:#ff6464e6;margin-bottom:10px}.debug-section h3{font-size:10px;color:#ff646499;letter-spacing:.2em;margin:12px 0 4px;border-bottom:1px solid rgba(255,100,100,.2);padding-bottom:3px}.debug-grid{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;font-size:12px}.debug-grid .dg-label{color:#64b4ffcc;text-align:right;white-space:nowrap}.debug-grid .dg-val{color:#00dc82d9;word-break:break-all}.debug-dismiss{font-size:10px;color:#ffffff4d;text-align:center;margin-top:14px}.debug-slider-row{display:grid;grid-template-columns:80px 1fr 50px;gap:8px;align-items:center;font-size:11px;margin:4px 0}.debug-slider-row .dg-label{color:#64b4ffcc;text-align:right}.debug-slider-row .dg-val{color:#00dc82d9;text-align:right;font-size:10px}.debug-slider-row input[type=range]{width:100%;height:4px;accent-color:rgba(255,100,100,.6)}.debug-btn-grid{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.debug-btn{font-family:DotGothic16,monospace;font-size:10px;padding:4px 8px;border:1px solid rgba(255,100,100,.3);border-radius:3px;background:#ff646414;color:#ffc8c8cc;cursor:pointer;white-space:nowrap}.debug-btn:hover{background:#ff646433;border-color:#ff646480}.debug-btn:active{background:#ff646459}.debug-find-status{font-size:10px;color:#ffc864cc;margin-top:4px;min-height:14px}.debug-seed-row{display:flex;gap:6px;margin-top:4px}.debug-input{font-family:DotGothic16,monospace;font-size:11px;padding:4px 8px;border:1px solid rgba(100,180,255,.3);border-radius:3px;background:#00000080;color:#00dc82e6;flex:1;outline:none}.debug-input:focus{border-color:#64b4ff99}#pretext-lab-overlay{position:fixed;inset:0;z-index:600;display:flex;align-items:center;justify-content:center;background:#000000e6;pointer-events:auto}.pretext-lab-panel{position:relative;width:calc(100vw - 80px);height:calc(100vh - 80px);max-width:1000px;border:1px solid rgba(100,180,255,.15);background:#0a0a12}.pretext-lab-panel .overlay-close{position:absolute;top:-40px;right:0;z-index:10}#pretext-lab-canvas{width:100%;height:100%;display:block}#nav-computer-overlay{position:fixed;inset:0;z-index:600;display:flex;align-items:center;justify-content:center;background:#000000d9;pointer-events:auto}.nav-computer-panel{position:relative;width:calc(100vw - 40px);height:calc(100vh - 40px);max-width:none;max-height:none}.nav-computer-panel .overlay-close{position:absolute;top:-40px;right:0;z-index:10}@media(pointer:coarse){.nav-computer-panel .overlay-close{top:8px;right:8px}}#nav-computer-canvas{width:100%;height:100%;border:1px solid rgba(100,180,255,.15);cursor:grab;display:block}#nav-computer-canvas:active{cursor:grabbing}
