:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;--ink:#e8e7df;--muted:#7d8b86;--dim:#56615e;--line:#cee1d82b;--line-bright:#cee1d866;--signal:#badb61;--amber:#df7837;--panel:#070c0db3;font-family:Inter,Helvetica Neue,Arial,sans-serif}*{box-sizing:border-box}html,body,#app{background:#090d0e;width:100%;height:100%;margin:0;overflow:hidden}body{color:var(--ink);overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}button,a{color:inherit;font:inherit}#app{isolation:isolate;touch-action:none;position:relative}#scene{cursor:grab;touch-action:none;outline:none;width:100%;height:100%;display:block;position:absolute;inset:0}#scene:active{cursor:grabbing}.grain,.vignette{z-index:2;pointer-events:none;position:absolute;inset:0}.grain{opacity:.055;mix-blend-mode:soft-light;background-image:repeating-radial-gradient(circle at 30% 15%,#0000 0 1px,#ffffff6b 1px 2px),repeating-radial-gradient(circle at 70% 82%,#0000 0 2px,#0000008c 2px 3px);background-size:5px 7px,7px 5px}.vignette{background:linear-gradient(90deg,#02050659,#0000 23% 76%,#02050673),linear-gradient(#0205064d,#0000 28% 70%,#0205068c)}.hud-header{z-index:5;padding:max(25px, env(safe-area-inset-top)) max(31px, env(safe-area-inset-right)) 0 max(31px, env(safe-area-inset-left));pointer-events:none;justify-content:space-between;align-items:flex-start;display:flex;position:absolute;top:0;left:0;right:0}.brand{color:var(--ink);pointer-events:auto;align-items:center;gap:13px;text-decoration:none;display:flex}.brand-mark{border:1px solid var(--line-bright);clip-path:polygon(15% 0,100% 0,100% 85%,85% 100%,0 100%,0 15%);background:#060b0c8f;grid-template-columns:repeat(3,1fr);align-items:end;gap:3px;width:38px;height:38px;padding:6px;display:grid;position:relative}.brand-mark:after{content:"";border-top:1px solid #badb6161;border-left:1px solid #badb612e;position:absolute;inset:3px}.brand-mark i{background:var(--signal);border-radius:1px 1px 0 0;height:65%;display:block;box-shadow:0 0 11px #badb6140}.brand-mark i:nth-child(2){height:100%}.brand-mark i:nth-child(3){height:43%}.brand b{letter-spacing:.23em;font-size:15px;line-height:1;display:block}.brand small,.status-pill,.telemetry,.asset-readout,.evolution-strip,.controls-hint,.quality-button,.loading-copy{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}.brand small{color:var(--muted);letter-spacing:.16em;margin-top:7px;font-size:8px;display:block}.status-pill{border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);clip-path:polygon(8px 0,100% 0,100% 100%,0 100%,0 8px);color:#aab6b1;letter-spacing:.14em;background:#050a0b8f;align-items:center;gap:10px;min-height:35px;padding:0 8px 0 13px;font-size:8px;display:flex}.status-dot{background:var(--signal);border-radius:50%;width:6px;height:6px;animation:2.7s ease-in-out infinite signal-pulse;box-shadow:0 0 0 4px #badb6114,0 0 12px #badb6175}@keyframes signal-pulse{50%{opacity:.55;box-shadow:0 0 0 7px #badb6105,0 0 8px #badb6133}}.status-code{color:var(--signal);background:#ffffff0e;margin-left:5px;padding:7px 9px;font-weight:500}.telemetry{z-index:4;top:50%;left:max(36px, env(safe-area-inset-left));pointer-events:none;width:260px;position:absolute;transform:translateY(-44%)}.telemetry:before{background:var(--signal);content:"";width:50px;height:1px;margin-bottom:17px;display:block;box-shadow:60px 0 #badb6133}.eyebrow,.asset-label,.evolution-label{color:var(--signal);letter-spacing:.2em;font-size:8px}.telemetry h1{letter-spacing:-.06em;margin:10px 0 11px;font-family:Arial Narrow,Roboto Condensed,Arial,sans-serif;font-size:clamp(40px,4.3vw,68px);font-weight:800;line-height:.82}.telemetry h1 span{color:#9da8a4;letter-spacing:.29em;margin-top:10px;font-family:SFMono-Regular,Consolas,monospace;font-size:9px;line-height:1;display:block}.telemetry>p{color:#788580;letter-spacing:.06em;margin:17px 0 25px;font-size:9px;line-height:1.7}.telemetry dl{border:1px solid var(--line);background:var(--line);grid-template-columns:1fr 1fr;gap:1px;width:235px;margin:0;display:grid}.telemetry dl div{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#080d0eb3;min-height:49px;padding:10px 12px}.telemetry dt,.telemetry dd{letter-spacing:.12em;margin:0;font-size:8px}.telemetry dt{color:#56625f}.telemetry dd{color:#c7cfcb;margin-top:6px}.telemetry dd.nominal{color:var(--signal)}.material-key{color:#64706d;letter-spacing:.12em;text-transform:uppercase;flex-direction:column;gap:6px;margin-top:18px;font-size:7px;display:flex}.material-key span{align-items:center;gap:8px;display:flex}.swatch{background:#b9b3a3;width:15px;height:3px;display:inline-block}.swatch.alloy{background:#3b4543}.swatch.polymer{background:#202b29}.asset-readout{z-index:4;right:max(36px, env(safe-area-inset-right));border-left:1px solid var(--amber);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none;background:#080d0e94;gap:7px;width:205px;padding:13px 14px;display:grid;position:absolute;bottom:19%}.asset-readout b{color:#d5d8cd;letter-spacing:.08em;font-size:9px;font-weight:500}.asset-readout small{color:var(--dim);letter-spacing:.08em;font-size:8px}.evolution-strip{z-index:4;right:max(36px, env(safe-area-inset-right));pointer-events:none;align-items:center;gap:9px;display:flex;position:absolute;bottom:8%}.evolution-label{color:var(--dim);margin-right:5px;font-size:7px}.evolution-node{text-align:center;opacity:.36;gap:4px;min-width:34px;display:grid}.evolution-node.active{opacity:1}.evolution-node b{color:#d4d7cc;font-size:10px;font-weight:500}.evolution-node small{color:var(--dim);letter-spacing:.13em;font-size:6px}.evolution-node.active b{color:var(--signal)}.evolution-line{background:var(--line);width:20px;height:1px}.crosshair{z-index:3;opacity:.16;pointer-events:none;width:26px;height:26px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.crosshair i{background:#dce2df;position:absolute}.crosshair i:first-child{height:1px;top:50%;left:0;right:0}.crosshair i:last-child{width:1px;top:0;bottom:0;left:50%}.controls-hint{z-index:5;bottom:max(23px, env(safe-area-inset-bottom));border:1px solid var(--line);color:#697572;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);letter-spacing:.12em;pointer-events:none;white-space:nowrap;background:#060a0bab;padding:9px 13px;font-size:7px;position:absolute;left:50%;transform:translate(-50%)}.controls-hint i{background:var(--line-bright);width:1px;height:8px;margin:0 9px -2px;display:inline-block}.controls-hint kbd{color:#c4ccc8;font:inherit}.touch-hint{display:none}.quality-button{z-index:7;right:max(28px, env(safe-area-inset-right));bottom:max(23px, env(safe-area-inset-bottom));border:1px solid var(--line);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);letter-spacing:.12em;background:#070c0da6;align-items:center;gap:9px;min-height:33px;padding:0 10px;font-size:7px;display:flex;position:absolute}.quality-button span{color:#5f6b68}.quality-button b{color:var(--signal);font-weight:500}.quality-button:focus-visible{outline:1px solid var(--signal);outline-offset:3px}.touch-joystick{--joystick-size:116px;--knob-x:0px;--knob-y:0px;z-index:8;width:var(--joystick-size);height:var(--joystick-size);opacity:0;pointer-events:none;transition:opacity .12s,transform .16s cubic-bezier(.2,.8,.2,1);position:fixed;top:0;left:0;transform:translate(-50%,-50%)scale(.82)}.touch-joystick.active{opacity:1;transform:translate(-50%,-50%)scale(1)}.joystick-ring{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:radial-gradient(circle,#badb610e 0 25%,#0000 26%),#090e0f6b;border:1px solid #cdddd752;border-radius:50%;position:absolute;inset:0;box-shadow:inset 0 0 0 9px #c4d6d006,0 0 40px #0003}.joystick-ring:before,.joystick-ring:after{content:"";border:1px dashed #badb6124;border-radius:50%;position:absolute}.joystick-ring:before{inset:12px}.joystick-ring:after{border-style:solid;inset:31px}.joystick-knob{z-index:2;width:42px;height:42px;transform:translate(calc(-50% + var(--knob-x)), calc(-50% + var(--knob-y)));background:radial-gradient(circle,#badb6157 0 3px,#0d1614bd 4px 100%);border:1px solid #badb61b8;border-radius:50%;transition:transform 32ms linear;position:absolute;top:50%;left:50%;box-shadow:0 0 21px #badb6117,inset 0 0 0 5px #badb6109}.tick{z-index:2;background:#d2ded957;width:8px;height:2px;position:absolute}.tick.north{top:-1px;left:calc(50% - 4px);transform:rotate(90deg)}.tick.south{bottom:-1px;left:calc(50% - 4px);transform:rotate(90deg)}.tick.east{top:calc(50% - 1px);right:-4px}.tick.west{top:calc(50% - 1px);left:-4px}.loading-screen{z-index:20;background:radial-gradient(circle,#2d3e3b2b,#0000 38%),#080c0d;flex-direction:column;justify-content:center;align-items:center;transition:opacity .7s,visibility .7s;display:flex;position:absolute;inset:0}.loading-screen.done{opacity:0;visibility:hidden}.loader-emblem{border:1px solid #badb6161;align-items:flex-end;gap:5px;width:54px;height:54px;padding:10px;animation:1.7s ease-in-out infinite loader-breathe;display:flex;position:relative}.loader-emblem:before,.loader-emblem:after{content:"";width:10px;height:10px;position:absolute}.loader-emblem:before{border-top:2px solid var(--signal);border-left:2px solid var(--signal);top:-1px;left:-1px}.loader-emblem:after{border-right:2px solid var(--signal);border-bottom:2px solid var(--signal);bottom:-1px;right:-1px}.loader-emblem i{background:var(--signal);flex:1;height:48%}.loader-emblem i:nth-child(2){height:100%}.loader-emblem i:nth-child(3){height:68%}@keyframes loader-breathe{50%{filter:brightness(1.35);transform:scale(1.025)}}.loading-copy{text-align:center;margin-top:23px}.loading-copy span{letter-spacing:.22em;font-size:9px;display:block}.loading-copy small{color:#5f6e6a;letter-spacing:.13em;min-height:12px;margin-top:9px;font-size:7px;display:block}.loading-track{background:#cbded71f;width:min(220px,64vw);height:1px;margin-top:20px;overflow:hidden}.loading-track i{background:var(--signal);width:8%;height:100%;transition:width .28s;display:block;box-shadow:0 0 9px #badb6161}.fallback{z-index:30;color:#b9c1bd;text-align:center;letter-spacing:.08em;background:#090d0e;place-items:center;padding:30px;font-family:SFMono-Regular,Consolas,monospace;font-size:11px;display:grid;position:absolute;inset:0}.fallback[hidden]{display:none}@media (pointer:coarse),(max-width:760px){.hud-header{padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 0 max(16px, env(safe-area-inset-left))}.brand-mark{width:34px;height:34px}.brand b{font-size:13px}.brand small{font-size:7px}.status-pill{gap:8px;min-height:31px;padding-left:10px;font-size:7px}.status-code{display:none}.telemetry{top:auto;bottom:calc(max(20px, env(safe-area-inset-bottom)) + 45px);left:max(16px, env(safe-area-inset-left));width:auto;transform:none}.telemetry:before,.telemetry h1,.telemetry>p,.telemetry dl,.material-key{display:none}.telemetry .eyebrow{border-left:2px solid var(--signal);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#070b0c94;padding:7px 9px;font-size:6px}.asset-readout{right:max(16px, env(safe-area-inset-right));bottom:calc(max(20px, env(safe-area-inset-bottom)) + 126px);gap:5px;width:178px;padding:10px 11px}.asset-readout b{font-size:7px}.asset-readout small{font-size:6px}.evolution-strip{right:max(16px, env(safe-area-inset-right));bottom:calc(max(20px, env(safe-area-inset-bottom)) + 81px);gap:5px}.evolution-label{display:none}.evolution-node{min-width:24px}.evolution-node b{font-size:8px}.evolution-node small{font-size:5px}.evolution-line{width:10px}.crosshair,.desktop-hint{display:none}.touch-hint{display:inline}.controls-hint{bottom:max(16px, env(safe-area-inset-bottom));padding:7px 9px;font-size:6px}.quality-button{right:max(16px, env(safe-area-inset-right));bottom:calc(max(16px, env(safe-area-inset-bottom)) + 41px);min-height:29px;font-size:6px}}@media (max-width:390px){.status-pill>span:nth-child(2){display:none}.status-pill{padding-right:11px}.controls-hint{text-overflow:ellipsis;max-width:calc(100vw - 32px);overflow:hidden}.asset-readout{width:156px}}@media (max-height:540px) and (orientation:landscape){.brand small{display:none}.telemetry,.asset-readout,.evolution-strip{bottom:max(10px, env(safe-area-inset-bottom))}.controls-hint,.quality-button{bottom:max(8px, env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){*,:before,:after{animation-duration:.001ms!important;animation-iteration-count:1!important}}
