:root{color:#e9eef2;font-synthesis:none;--cyan:#8be4f6;--muted:#a1afba;--line:#b5cfdd30;background:#101822;font-family:Inter,Segoe UI,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,summary{font:inherit}button,summary{cursor:pointer}button:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid var(--cyan);outline-offset:5px}button{color:inherit}button:disabled{opacity:.5;cursor:wait}[hidden]{display:none!important}#game{outline:none;width:100%;height:100%;display:block;position:fixed;inset:0}#shell{pointer-events:none;position:fixed;inset:0}#shell button,#shell input,#shell summary,#menu,#diagnostics{pointer-events:auto}.masthead{text-shadow:0 2px 12px #0008;align-items:center;gap:14px;display:flex;position:absolute;top:32px;left:42px}.brand-mark{clip-path:polygon(0 0,100% 0,85% 20%,64% 20%,64% 100%,36% 80%,36% 20%,15% 20%);background:var(--cyan);color:#0000;width:37px;height:42px}.brand{letter-spacing:.22em;font-size:19px;font-weight:750}.brand span{letter-spacing:.16em;color:#c4d0d8;font-size:11px;font-weight:450}.eyebrow{letter-spacing:.22em;color:var(--muted);margin-top:7px;font-size:10px;font-weight:600}.eyebrow span{color:#e9eef2;margin-left:8px}.accent{color:var(--cyan)}.build-tag{letter-spacing:.14em;color:#d5dfe4;text-shadow:0 2px 12px #000;align-items:center;gap:9px;font-size:10px;display:flex;position:absolute;top:40px;right:42px}.build-tag i,.location i{background:var(--cyan);border-radius:50%;width:5px;height:5px;box-shadow:0 0 10px #8be4f699}.build-tag span{opacity:.5;padding-left:10px}.panel{border:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(120deg,#0d1824f5,#0e1925d1);border-left:2px solid #89d6e5aa;width:390px;max-height:calc(100dvh - 170px);padding:32px 34px 24px;position:absolute;top:50%;left:7.2vw;overflow:auto;transform:translateY(-47%);box-shadow:0 24px 80px #030a1450}h1{letter-spacing:-.045em;margin:24px 0 20px;font-size:50px;font-weight:650;line-height:1.04}h1 em{color:var(--cyan);font-style:normal}.intro{color:#b4c2cd;margin:0 0 24px;font-size:13px;line-height:1.75}.primary{background:var(--cyan);color:#101f2e;border:0;justify-content:space-between;align-items:center;width:100%;padding:16px 19px;font-size:13px;font-weight:700;transition:background .15s,transform .15s;display:flex}.primary:hover{background:#c4f4ff;transform:translateY(-1px)}.primary span+span{font-size:21px;font-weight:400;line-height:1}.zones-label{letter-spacing:.19em;color:#9dabb8;margin:22px 0 10px;font-size:9px}.zones{grid-template-columns:repeat(4,1fr);gap:5px;display:grid}.zones button{border:1px solid var(--line);color:#c2ced7;background:#ffffff05;padding:10px 2px;font-size:10px;transition:background .15s}.zones button:hover,.zones button[aria-pressed=true]{color:var(--cyan);background:#8be4f61c;border-color:#8be4f688}.control-grid{color:#a8b8c6;grid-template-columns:1fr 1fr;gap:15px 10px;margin:24px 0;font-size:10px;display:grid}.control-grid span{flex-direction:column;gap:7px;display:flex}kbd{letter-spacing:.1em;color:#e0ebf1;font-family:inherit;font-size:9px;font-weight:600}details{border-top:1px solid var(--line);padding-top:15px}summary{color:#b1c0ce;justify-content:space-between;font-size:11px;list-style:none;display:flex}summary::-webkit-details-marker{display:none}summary span{color:var(--cyan)}.settings-content{font-size:11px;line-height:1.6}.settings-content label{align-items:center;gap:8px;margin:12px 0;display:flex}.settings-content input{accent-color:var(--cyan)}.slider-label{flex-wrap:wrap}.slider-label input{width:100%}.muted{color:var(--muted)}.reference-note{color:#8697a7;letter-spacing:.025em;margin:18px 0 0;font-size:9px;line-height:1.6}#menu-footer{letter-spacing:.17em;color:#c7d1d8aa;justify-content:space-between;font-size:9px;display:flex;position:absolute;bottom:26px;left:42px;right:42px}.location{letter-spacing:.14em;text-shadow:0 1px 6px #000;align-items:center;gap:10px;font-size:10px;display:flex;position:absolute;top:105px;left:42px}.location #state-label{color:var(--cyan);padding-left:15px;font-size:9px}.minimal{border:1px solid var(--line);letter-spacing:.1em;background:#0c16247a;padding:8px 11px;font-size:9px;position:absolute;top:88px;right:42px}.minimal span{color:#b2c1ce;margin-left:10px}.crosshair{filter:drop-shadow(0 1px 2px #000);align-items:center;gap:6px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.crosshair span{background:#bdeeffcc;width:9px;height:1px}.crosshair i{border:1px solid #c6f1ff;border-radius:50%;width:3px;height:3px}.vitals{text-shadow:0 1px 6px #000;width:218px;position:absolute;bottom:66px;left:42px}.vital-label{letter-spacing:.17em;justify-content:space-between;align-items:center;margin-bottom:9px;font-size:9px;display:flex}.vital-label strong{letter-spacing:.06em;color:var(--cyan);font-size:10px;font-weight:500}.meter{background:#070f1b90;height:4px;box-shadow:0 0 0 1px #9ac3d42a}.meter>div{background:var(--cyan);width:100%;height:100%;box-shadow:0 0 10px #8be4f655}.health-label{margin-top:16px}.health-label strong{color:#d1dfd5}.health-meter{height:2px}.health-meter>div{box-shadow:none;background:#d1dfd5}#pack-label{letter-spacing:.18em;color:#b2c0c9;margin-top:13px;font-size:8px}.speed-cluster{text-align:right;text-shadow:0 2px 8px #0008;position:absolute;bottom:64px;right:42px}.speed-main{justify-content:flex-end;align-items:baseline;gap:9px;display:flex}.speed-main strong{letter-spacing:-.04em;font-family:Bahnschrift,Consolas,monospace;font-size:54px;font-weight:400;line-height:1}.speed-main span{color:#c3d4df;font-size:12px}.speed-caption{letter-spacing:.18em;color:#bacad3;margin-top:8px;font-size:8px}.speed-caption span{color:var(--cyan);padding-left:12px}.ammo{justify-content:flex-end;align-items:center;gap:10px;margin-top:22px;display:flex}.ammo strong{font-size:25px;font-weight:400}.ammo>span:last-child{letter-spacing:.13em;text-align:left;color:#b3c9d5;max-width:58px;font-size:8px;line-height:1.6}.disc-icon{border:2px solid #8be4f6;border-radius:50%;width:24px;height:10px;display:inline-block;box-shadow:0 0 10px #8be4f655}.bottom-hint{letter-spacing:.06em;white-space:nowrap;text-shadow:0 2px 6px #000;font-size:9px;position:absolute;bottom:27px;left:50%;transform:translate(-50%)}.bottom-hint span{color:#b5c1c9;margin:0 14px 0 4px}.bottom-hint b{color:#829aa7;margin:0 12px 0 0}#toast{color:#d6e6ee;text-align:center;opacity:0;background:#0c1a267d;border-left:2px solid #8be4f688;max-width:45vw;padding:10px 16px;font-size:11px;transition:opacity .2s;position:absolute;bottom:92px;left:50%;transform:translate(-50%)}#toast.visible{opacity:1}#diagnostics{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0c1825ed;border:1px solid #a0c8de33;width:280px;max-height:calc(100dvh - 180px);padding:19px;font-size:11px;position:absolute;top:140px;right:28px;overflow:auto}.diag-heading{letter-spacing:.12em;justify-content:space-between;align-items:center;font-size:11px;display:flex}.diag-heading button{color:#c6dae7;background:0 0;border:0;padding:0;font-size:20px}.diag-sub{letter-spacing:.08em;color:var(--cyan);margin:7px 0 20px;font-size:8px}dl{margin:0}dl>div{justify-content:space-between;gap:8px;margin:10px 0;display:flex}dt{color:#95aabb;font-size:10px}dd{color:#d9e8f1;text-align:right;margin:0;font-family:Consolas,monospace;font-size:10px}.diag-buttons{gap:6px;margin-top:20px;display:flex}.diag-buttons button{background:#8be4f611;border:1px solid #8be4f64d;flex:1;padding:9px 10px;font-size:10px}.diag-buttons button:hover{background:#8be4f62b}#trace-status{color:#96aabb;font-size:9px;line-height:1.6}#loading{color:var(--cyan);letter-spacing:.1em;text-align:center;font-size:13px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.loading-line{background:linear-gradient(90deg,#0000,#8be4f6,#0000);width:180px;height:2px;margin-top:20px;animation:1s ease-in-out infinite pulse;display:block}#error{pointer-events:auto;background:#211c25;border:1px solid #e9ac8c;width:min(90vw,500px);padding:25px;font-size:14px;line-height:1.6;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes pulse{50%{opacity:.25}}@media (height<=800px){.panel{max-height:calc(100dvh - 135px);padding:22px 28px}h1{margin:16px 0;font-size:42px}.intro{margin-bottom:16px}.control-grid{gap:10px;margin:18px 0}.reference-note{margin-top:12px}.masthead{top:23px}.build-tag{top:31px}}@media (width<=760px){.masthead{top:22px;left:22px}.brand{font-size:16px}.brand span{font-size:8px}.build-tag{font-size:8px;top:83px;right:20px}.panel{width:min(390px,100vw - 44px);max-height:calc(100dvh - 160px);top:52%;left:22px}#menu-footer{font-size:7px;left:22px;right:22px}.location{font-size:8px;top:82px;left:22px}.location #state-label{padding-left:0}.minimal{top:112px;right:22px}.vitals{width:150px;bottom:60px;left:22px}.speed-cluster{bottom:56px;right:22px}.speed-main strong{font-size:40px}.bottom-hint{font-size:7px;bottom:20px}.bottom-hint span{margin-right:6px}.bottom-hint b{margin-right:5px}#toast{width:max-content;max-width:85vw;bottom:200px}#diagnostics{width:270px;top:150px;right:15px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.settings-button{color:var(--cyan);background:#8be4f611;border:1px solid #8be4f64d;padding:9px 12px;font-size:11px}.graphics-label{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.graphics-label select{font:inherit;color:#d9eef1;pointer-events:auto;background:#172b37;border:1px solid #8be4f666;max-width:100%;padding:8px}.graphics-label select:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}.speed-cluster{text-shadow:0 1px 3px #000;background:linear-gradient(115deg,#10202b96,#101c2bd9);border-right:1px solid #a5d4dc55;padding:14px 16px}.zones{grid-template-columns:repeat(3,1fr)}#station-prompt{letter-spacing:.12em;color:#c0f4ff;background:#10202bce;border:1px solid #87d8e566;padding:12px 18px;font-size:11px;position:absolute;top:60%;left:50%;transform:translate(-50%)}#inventory-panel{pointer-events:auto;color:#e8eff1;background:linear-gradient(135deg,#15242a,#0e1821);border:1px solid #7cbbc67a;border-top:3px solid #8be4f6;width:min(490px,100vw - 32px);max-height:calc(100dvh - 40px);padding:30px;overflow:auto;box-shadow:0 20px 90px #000a}#inventory-panel::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#07131b80}#inventory-panel h2{letter-spacing:-.03em;margin:12px 0;font-size:30px}.inventory-intro{color:#aabdc4;margin:0 0 22px;font-size:13px;line-height:1.65}.inventory-readouts{border-top:1px solid #94d7e330;border-bottom:1px solid #94d7e330;grid-template-columns:repeat(3,1fr);gap:12px;padding:15px 0;display:grid}.inventory-readouts div{flex-direction:column;gap:8px;display:flex}.inventory-readouts span{letter-spacing:.14em;color:#91adb6;font-size:9px}.inventory-readouts strong{font-variant-numeric:tabular-nums;color:#c9f3f8;font-size:24px;font-weight:500}.inventory-service{margin:17px 0 22px}.inventory-service>span{letter-spacing:.12em;color:#9fdcc7;margin-bottom:10px;font-size:9px;display:block}.inventory-equipment{letter-spacing:.08em;gap:8px;font-size:10px;display:flex}.inventory-equipment span{background:#c4e8ed0b;border:1px solid #a0cad025;padding:9px 12px}.inventory-packs{border:0;margin:22px 0 0;padding:0}.inventory-packs legend{letter-spacing:.15em;color:#91adb6;margin-bottom:10px;font-size:9px}.inventory-packs label{cursor:pointer;border:1px solid #9ec9d52b;align-items:center;gap:12px;margin-bottom:8px;padding:12px;display:flex}.inventory-packs label:has(input:checked){background:#8be4f613;border-color:#8be4f66b}.inventory-packs input{accent-color:#8be4f6}.inventory-packs strong{font-size:13px;font-weight:500}.inventory-packs small{color:#9bb1bb;margin-top:4px;font-size:11px;display:block}#inventory-message{color:#b9cdd2;min-height:35px;margin:15px 0;font-size:11px;line-height:1.6}.inventory-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.inventory-actions .primary{justify-content:center}.inventory-actions>button:last-child{color:#d9eef1;background:0 0;border:1px solid #8be4f666;font-size:12px}.inventory-actions>button:last-child:hover{background:#8be4f616}.inventory-help{text-align:center;color:#8fa7b2;margin:18px 0 0;font-size:10px}@media (height<=700px){#inventory-panel{padding:18px 24px}#inventory-panel h2{font-size:25px}.inventory-intro{margin-bottom:12px}.inventory-service{margin:12px 0}.inventory-packs{margin-top:14px}.inventory-packs label{padding:8px}.inventory-help{margin-top:12px}}
