:root{color:#f7f8ff;background:#070b18;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;color-scheme:dark}*{box-sizing:border-box}html,body{width:100%;min-width:20rem;height:100%;margin:0;overflow:hidden;overscroll-behavior:none}button,a{font:inherit}button{min-width:44px;min-height:44px}.world-shell{position:relative;width:100%;height:100svh;overflow:hidden;background:#070b18}#world-canvas{display:block;width:100%;height:100%;touch-action:none}.topbar{position:absolute;z-index:4;top:0;left:0;display:flex;width:100%;align-items:flex-start;justify-content:space-between;gap:1rem;padding:max(1rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) 1rem max(1rem,env(safe-area-inset-left));pointer-events:none}.brand-block,.connection{pointer-events:auto}.brand{color:#a9b4d4;font-size:.62rem;font-weight:850;letter-spacing:.18em;text-decoration:none}.brand:focus-visible,button:focus-visible{outline:3px solid #79a7ff;outline-offset:3px}.title-row{display:flex;align-items:center;gap:.6rem}h1{margin:.28rem 0 0;font-size:clamp(1.65rem,4vw,3.2rem);line-height:.9;letter-spacing:-.065em}.version{margin-top:.3rem;padding:.24rem .4rem;border:1px solid #ff5c6c80;color:#ffd6da;background:#3a1119;font:750 .61rem/1 ui-monospace,SFMono-Regular,monospace}.connection{display:flex;min-height:2.75rem;align-items:center;gap:.48rem;padding:.55rem .7rem;border:1px solid #28324d;border-radius:.4rem;color:#c9d0e4;background:#0b1122e8;font-size:.72rem;font-weight:750}.connection button{min-height:2rem;margin-left:.25rem;padding:.35rem .6rem;border:1px solid #4e70d8;border-radius:.25rem;color:#fff;background:#244fc4;cursor:pointer}.status-dot{width:.58rem;height:.58rem;flex:0 0 auto;border-radius:50%;background:#e6a44d}.status-dot.online{background:#45db85;box-shadow:0 0 .8rem #45db8580}.status-dot.error{background:#ff5c6c}.telemetry{position:absolute;z-index:3;top:6rem;left:max(1rem,env(safe-area-inset-left));width:min(18rem,calc(100vw - 2rem))}.telemetry-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid #27314b;background:#0a1020e8}.telemetry-grid>div{min-width:0;padding:.62rem .72rem;border-right:1px solid #27314b;border-bottom:1px solid #27314b}.telemetry-grid>div:nth-child(2n){border-right:0}.telemetry-grid>div:nth-last-child(-n+2){border-bottom:0}.telemetry-grid span{display:block;color:#8290b4;font-size:.57rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.telemetry strong{display:block;margin-top:.22rem;overflow:hidden;color:#eef2ff;font:760 .71rem/1.25 ui-monospace,SFMono-Regular,monospace;text-overflow:ellipsis;white-space:nowrap}.telemetry-toggle{display:none}.mission{position:absolute;z-index:3;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));width:min(22rem,calc(100vw - 2rem));padding:.9rem 1rem;border-left:3px solid #ff5969;background:#0a1020e8}.mission p{margin:0 0 .35rem;color:#ff7b88;font:800 .57rem/1 ui-monospace,SFMono-Regular,monospace;letter-spacing:.1em}.mission h2{margin:0;font-size:1rem}.mission span{display:block;margin-top:.3rem;color:#9ba7c5;font-size:.7rem;line-height:1.4}.desktop-help{position:absolute;z-index:3;bottom:max(1rem,env(safe-area-inset-bottom));left:max(1rem,env(safe-area-inset-left));display:grid;gap:.2rem;padding:.62rem .75rem;color:#8f9cbc;background:#0a1020d8;font-size:.64rem}kbd{padding:.18rem .32rem;border:1px solid #4b5878;border-bottom-width:2px;border-radius:.18rem;color:#eef2ff;background:#18223a;font:700 .62rem ui-monospace,monospace}.joystick{display:none}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}@media(hover:none),(pointer:coarse){.desktop-help{display:none}.telemetry{width:auto}.telemetry-toggle{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.58rem .68rem;border:1px solid #34405e;border-radius:.3rem;color:#d7def1;background:#0b1122e8;font-size:.68rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;cursor:pointer}.telemetry-toggle:active{border-color:#6688e8;background:#172548}.telemetry-chevron{display:block;color:#91a9ee;font-size:1rem;line-height:.7;transition:transform .18s cubic-bezier(.16,1,.3,1)}.telemetry[data-mobile-expanded=true] .telemetry-chevron{transform:rotate(180deg)}.telemetry-grid{width:min(15rem,calc(100vw - 1.5rem));margin-top:.35rem}.telemetry[data-mobile-expanded=false] .telemetry-grid{display:none}.mission{right:max(.75rem,env(safe-area-inset-right));bottom:max(.75rem,env(safe-area-inset-bottom));width:min(14rem,calc(100vw - 9.5rem));padding:.65rem .72rem}.mission span{display:none}.joystick{position:absolute;z-index:5;bottom:max(1rem,env(safe-area-inset-bottom));left:max(1rem,env(safe-area-inset-left));display:grid;width:7.25rem;height:7.25rem;place-items:center;border:1px solid #8090b54d;border-radius:50%;background:#0b112285;box-shadow:inset 0 0 0 1.3rem #131d3460;touch-action:none;-webkit-user-select:none;user-select:none}.joystick:before{content:"MOVER";color:#96a4c6;font-size:.55rem;font-weight:850;letter-spacing:.12em}.joystick-knob{position:absolute;width:3.35rem;height:3.35rem;border:2px solid #9db4f0;border-radius:50%;background:#3158cce6;box-shadow:0 .35rem 1rem #02040d99;transform:translateZ(0)}}@media(max-width:42rem){.topbar{padding:max(.75rem,env(safe-area-inset-top)) max(.75rem,env(safe-area-inset-right)) .75rem max(.75rem,env(safe-area-inset-left))}.brand{font-size:.55rem}h1{font-size:1.55rem}.connection{min-height:2.5rem;padding:.45rem .58rem}.telemetry{top:4.75rem;left:max(.75rem,env(safe-area-inset-left))}.telemetry-grid>div{padding:.48rem .55rem}.diagnostic{display:none}.telemetry-grid>div:nth-child(3){border-bottom:0}}@media(max-height:32rem)and (hover:none),(max-height:32rem)and (pointer:coarse){.telemetry{top:4.4rem}.telemetry-grid{width:min(24rem,calc(100vw - 1.5rem));grid-template-columns:repeat(3,1fr)}.telemetry-grid>div{border-bottom:0}.telemetry-grid>div:nth-child(2){border-right:1px solid #27314b}.mission{display:none}.joystick{width:6.35rem;height:6.35rem}.joystick-knob{width:3rem;height:3rem}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
