:root{font-family:Arial,Helvetica,sans-serif;color:#eff5fb;background:#102634;font-synthesis:none;--line:#bad9ed24;--muted:#b5c7d5;--orange:#ffb373;--panel:#0c1b2bed;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--header:calc(72px + var(--safe-top))}
*{box-sizing:border-box}body{margin:0;overflow:hidden;overscroll-behavior:none}button,input,select{font:inherit}button,select{cursor:pointer}button{color:inherit;background:#ffffff09;border:1px solid var(--line);border-radius:9px;padding:11px 13px;min-height:44px;touch-action:manipulation;transition:background .15s}button:hover{background:#ffffff1b}button:active{background:#ffffff29}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--orange);outline-offset:3px}button:disabled{opacity:.5;cursor:default}[hidden]{display:none!important}
#scene,#map,#map3d{position:fixed;inset:0;width:100%;height:100%;touch-action:none}#map3d{display:none;pointer-events:none}.map-view #map3d{display:block}#map{z-index:1}#map3d{z-index:0}
body>header{position:fixed;top:0;left:0;right:0;height:var(--header);padding:calc(12px + var(--safe-top)) calc(24px + var(--safe-right)) 12px calc(24px + var(--safe-left));display:flex;align-items:center;gap:12px;background:#0b192be8;border-bottom:1px solid var(--line);z-index:5}
.brand{color:inherit;text-decoration:none;font-size:20px;letter-spacing:4px;display:flex;align-items:center;gap:12px;font-weight:700;min-height:44px}.brandmark{font-size:25px;color:var(--orange);border:1px solid #ffb37388;padding:3px 7px;letter-spacing:0;transform:skew(-10deg)}.brand small{font-size:12px;letter-spacing:1px;font-weight:400;max-width:130px;line-height:1.5;color:var(--muted)}nav{display:flex;gap:6px;margin:auto}nav button{border:0;background:none;color:var(--muted);min-width:74px;font-size:14px}nav button.active{color:#fff;background:#bad9ed16;border-bottom:2px solid var(--orange)}.icon{font-size:20px;min-width:44px;width:44px;padding:8px}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:13px;box-shadow:0 10px 30px #00102022}
.buildpanel{position:absolute;left:24px;top:calc(var(--header) + 22px);width:286px;padding:22px;max-height:calc(100dvh - var(--header) - 94px);overflow-y:auto;scrollbar-width:thin}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.5px;color:var(--orange)}h1{font-size:26px;line-height:1.15;margin:12px 0}h2{font-size:23px;letter-spacing:-.5px;margin:13px 0}.sub{color:var(--muted);font-size:14px;line-height:1.5;margin:10px 0 23px}label{display:block;font-size:12px;letter-spacing:1px;color:var(--muted);margin:13px 0 8px}input:not([type=checkbox]):not([type=range]),select{width:100%;background:#06131ed9;border:1px solid var(--line);color:#f0f5fa;padding:11px 9px;border-radius:7px;font-size:16px;min-height:44px}select option{background:#102432}.row{display:flex;gap:8px}.row>*{flex:1;min-width:0}.templates{margin-top:10px}.templates button{font-size:13px;padding:9px 6px}.templates button.active{border-color:#ffb37370;color:var(--orange);background:#ffb3730c}.sectionhead{display:flex;align-items:center;justify-content:space-between;margin-top:20px}.sectionhead h2{font-size:17px;letter-spacing:0}.sectionhead span{font-size:12px;color:var(--muted)}.payload{display:flex;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.payload b{font-size:15px}.payload>div{min-width:0;flex:1}.payload select{margin-top:9px}.number{font-size:12px;color:var(--orange);padding-top:4px}.stagecard{padding:12px 0;border-bottom:1px solid var(--line)}.stagecard header{display:flex;justify-content:space-between;align-items:center;font-size:15px}.stagecard header button{font-size:20px;padding:4px 12px;min-width:44px}.stagecard select{margin-top:7px}.stagecard label{display:flex;justify-content:space-between;letter-spacing:0;font-size:14px;margin:13px 0 2px}.stagecard input{width:100%}input[type=range]{accent-color:var(--orange);cursor:pointer;min-height:44px;touch-action:pan-x}input[type=checkbox]{accent-color:var(--orange);width:20px;height:20px;vertical-align:middle;flex-shrink:0}.add{width:100%;margin-top:12px;font-size:14px;color:var(--orange);border-style:dashed}.toggles label{display:flex;align-items:center;gap:8px;letter-spacing:0;font-size:14px;min-height:44px;margin:3px 0}.toggles{margin:12px 0}.buildpanel>.row button{font-size:14px}.missionpanel{position:absolute;right:24px;top:calc(var(--header) + 22px);width:276px;padding:22px;max-height:calc(100dvh - var(--header) - 94px);overflow-y:auto}.missionpanel h2{font-size:25px;line-height:1.2}.objective{display:flex;gap:13px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line)}.objective>span{font-size:12px;color:#8ca9bb}.objective b{font-size:14px;display:block}.objective small{font-size:12px;color:var(--muted);display:block;margin-top:5px;line-height:1.5}.specgrid{display:grid;grid-template-columns:1fr 1fr;gap:17px 12px;margin-top:23px}.specgrid span{font-size:12px;color:var(--muted);letter-spacing:.4px;display:block}.specgrid b{font-size:21px;font-weight:500;display:block;margin-top:7px}.readiness{font-size:13px;color:#a4e1c3;border-top:1px solid var(--line);padding-top:15px;margin-bottom:15px;line-height:1.4}.primary{background:var(--orange);border-color:var(--orange);color:#231d17;font-weight:700;min-height:46px}.primary:hover{background:#ffc795}.missionpanel .primary{width:100%;text-align:left;display:flex;justify-content:space-between}.assistcheck{display:flex;gap:8px;align-items:center;font-size:13px;line-height:1.4;letter-spacing:0;min-height:44px;margin-bottom:0}.viewlabel{position:absolute;left:340px;top:calc(var(--header) + 36px);pointer-events:none;text-shadow:0 2px 12px #001018}.viewlabel h2{font-size:32px;font-weight:500;margin:9px 0}.viewlabel>span:last-child{font-size:13px;color:#d3e2ed}.workfooter{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:20px 24px calc(20px + var(--safe-bottom));background:linear-gradient(transparent,#071828dc);font-size:12px;letter-spacing:1px}.workfooter i{color:var(--orange);margin:0 10px}.workfooter button{display:none}
.telemetry{position:absolute;top:calc(var(--header) + 16px);left:50%;transform:translateX(-50%);display:flex;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px 8px;min-width:580px}.telemetry>div{padding:0 20px;border-right:1px solid var(--line);flex:1}.telemetry>div:last-child{border:0}.telemetry span{display:block;font-size:12px;letter-spacing:.4px;color:var(--muted);white-space:nowrap}.telemetry b{font-size:24px;white-space:nowrap;display:block;margin-top:7px;font-weight:500;font-variant-numeric:tabular-nums}.flightleft{position:absolute;left:24px;top:calc(var(--header) + 118px);width:218px;padding:18px}.flightleft select{margin-top:10px}.ministats{margin-top:16px}.ministats span{display:flex;justify-content:space-between;gap:4px;font-size:13px;color:var(--muted);padding:10px 0;border-bottom:1px solid var(--line)}.ministats b{color:#f0f5f9;font-weight:400}.flightleft>button{width:100%;margin-top:12px}.flightstatus{position:absolute;right:24px;top:calc(var(--header) + 170px);text-align:right;max-width:238px;text-shadow:0 2px 8px #001020}.flightstatus p{font-size:14px;color:#d0e3f0;line-height:1.5}.flightbottom{position:absolute;bottom:calc(18px + var(--safe-bottom));left:50%;transform:translateX(-50%);display:flex;align-items:end;gap:16px}.throttlebox{width:204px;padding:16px}.throttlebox label{margin-top:0;display:flex;justify-content:space-between;font-size:12px}.throttlebox input{width:100%;margin:8px 0}.throttlebox button{padding:8px;font-size:14px}.stagebox{width:212px;padding:16px}.fuelheader{display:flex;justify-content:space-between;font-size:12px;gap:4px}.fuelbar{height:6px;background:#ffffff19;border-radius:4px;margin:11px 0 13px;overflow:hidden}.fuelbar>div{height:100%;width:100%;background:#8dd7b1}.stagebox button{width:100%;font-size:14px}.stagebox .primary{display:flex;justify-content:center;align-items:center}.stagebox small{display:none}.stagebox>button:last-child{margin-top:8px;padding:8px}.navball{width:140px;text-align:center}#navball{width:132px;height:132px;border-radius:50%;border:3px solid #6a8799;box-shadow:0 6px 30px #0009}.steering{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-top:7px}.steering button{background:#112437;min-width:44px;padding:9px 12px;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.steering b{font-size:13px;min-width:30px}.flighttools{position:absolute;right:24px;top:calc(var(--header) + 118px);display:flex;gap:8px}.flighttools button{background:var(--panel);font-size:14px}#guidanceToggle{display:none}.maptools{display:none;position:absolute;bottom:calc(244px + var(--safe-bottom));left:50%;transform:translateX(-50%);gap:8px}.maptools button{background:var(--panel);min-width:44px;font-size:16px}.map-view .maptools{display:flex}.map-view .flightstatus{display:none}
#toast{position:absolute;top:calc(var(--header) + 6px);left:50%;transform:translateX(-50%);background:#eaf5fb;color:#132c3c;padding:13px 20px;border-radius:9px;font-size:14px;z-index:9;opacity:0;transition:opacity .2s;pointer-events:none;text-align:center;max-width:90vw;box-shadow:0 5px 20px #00152655}#toast.show{opacity:1}
dialog{color:#e9f0f5;background:#102333;border:1px solid #53728a;border-radius:16px;padding:30px;max-width:510px;width:calc(100% - 24px);max-height:calc(100dvh - var(--safe-top) - var(--safe-bottom) - 24px);overflow-y:auto}dialog::backdrop{background:#020a14b5}dialog h2{font-size:27px;margin-top:14px;padding-right:24px}dialog p,dialog li{font-size:16px;color:#c0d1dd;line-height:1.6}dialog li{margin-bottom:12px}dialog button.primary{width:100%;margin-top:14px}.close{position:absolute;top:8px;right:8px;border:0;font-size:27px;padding:2px 8px;min-width:44px}dialog label{font-size:16px;letter-spacing:0;color:#e9f0f5;margin:16px 0;min-height:44px}dialog select{margin-top:9px}.resultstats{display:flex;gap:22px;margin:25px 0}.resultstats b{font-size:26px;display:block}.resultstats span{font-size:13px;color:var(--muted)}
@media(max-width:1100px){.brand small{display:none}.buildpanel{left:16px;width:264px;padding:18px}.missionpanel{right:16px;width:248px;padding:18px}.viewlabel{left:302px}.telemetry{min-width:540px}.telemetry>div{padding:0 15px}.flightstatus{max-width:180px}}
@media(max-width:760px), (pointer:coarse) and (max-width:1000px), (max-width:1000px) and (orientation:landscape) and (max-height:600px){
 :root{--header:calc(60px + var(--safe-top))}body>header{padding:calc(8px + var(--safe-top)) calc(10px + var(--safe-right)) 8px calc(10px + var(--safe-left));gap:6px}.brand{font-size:0;letter-spacing:0;gap:0}.brandmark{font-size:21px;padding:3px 6px}.brand small{display:none}nav{gap:2px;flex:1;margin:0;justify-content:center}nav button{min-width:0;flex:1;max-width:74px;font-size:14px;padding:9px 7px}.icon{flex:0 0 44px}.viewlabel{left:calc(16px + var(--safe-left));top:calc(var(--header) + 18px)}.viewlabel h2{font-size:26px}.viewlabel .eyebrow{font-size:12px}.viewlabel>span:last-child{font-size:12px;max-width:270px;display:block;line-height:1.4}
 .buildpanel{display:none;left:calc(10px + var(--safe-left));right:calc(10px + var(--safe-right));top:calc(var(--header) + 10px);bottom:calc(286px + var(--safe-bottom));width:auto;max-height:none;padding:18px;z-index:4;background:#0d2033}.buildpanel.open{display:block}.buildpanel>.sub{margin-bottom:16px}.buildpanel h1{font-size:23px}.missionpanel{left:calc(10px + var(--safe-left));right:calc(10px + var(--safe-right));top:auto;bottom:calc(70px + var(--safe-bottom));width:auto;max-height:none;padding:12px;overflow:visible}.missionpanel>.eyebrow,.missionpanel>h2,.missionpanel>.sub,.objective{display:none}.specgrid{grid-template-columns:repeat(4,1fr);margin:0 0 8px;gap:8px}.specgrid span{font-size:12px;letter-spacing:0}.specgrid b{font-size:18px;margin-top:5px}.readiness{font-size:12px;margin:4px 0 8px;padding-top:8px}.missionpanel .primary{min-height:46px;font-size:16px}.assistcheck{font-size:12px;margin:6px 0 0;min-height:34px;letter-spacing:0}.workfooter{height:calc(62px + var(--safe-bottom));padding:8px calc(12px + var(--safe-right)) calc(8px + var(--safe-bottom)) calc(12px + var(--safe-left));letter-spacing:0;gap:8px}.workfooter>span:first-child{font-size:12px}.workfooter>span:nth-child(2){display:none}.workfooter button{display:block;background:#102739;border-color:#698596;font-size:14px;padding:10px;flex-shrink:0}
 .telemetry{top:calc(var(--header) + 9px);left:calc(10px + var(--safe-left));right:calc(10px + var(--safe-right));transform:none;min-width:0;padding:12px 0;min-height:70px}.telemetry>div{padding:0 10px;min-width:0}.telemetry>div:last-child{display:none}.telemetry>div:nth-child(3){border:0}.telemetry span{font-size:12px;letter-spacing:0}.telemetry b{font-size:20px;margin-top:6px}.flighttools{left:calc(10px + var(--safe-left));right:calc(10px + var(--safe-right));top:calc(var(--header) + 88px);gap:8px;display:grid;grid-template-columns:1fr 1fr 1fr}.flighttools button{font-size:13px;padding:8px;min-height:44px}#guidanceToggle{display:block}#guidanceToggle[aria-expanded=true]{border-color:var(--orange);color:var(--orange)}.flightleft{display:none;left:calc(10px + var(--safe-left));right:calc(10px + var(--safe-right));top:calc(var(--header) + 140px);width:auto;padding:14px;z-index:4;max-height:calc(100dvh - var(--header) - var(--safe-bottom) - 330px);overflow-y:auto;background:#0d2033}.guidance-open .flightleft{display:block}.flightleft .eyebrow{font-size:12px}.flightleft select{font-size:16px;margin-top:8px;min-height:44px}.ministats{display:grid;grid-template-columns:1fr 1fr;gap:0 15px;margin-top:8px}.ministats span{font-size:12px;gap:4px}.flightleft>button{min-height:44px}.flightleft label{font-size:12px;margin-top:14px}.flightstatus{left:calc(16px + var(--safe-left));right:calc(16px + var(--safe-right));top:calc(var(--header) + 145px);text-align:left;max-width:none;pointer-events:none}.flightstatus h2{display:none}.flightstatus p{font-size:13px;max-width:250px;line-height:1.4;margin-top:8px}.flightstatus .eyebrow{font-size:12px;letter-spacing:1px}.guidance-open .flightstatus{display:none}
 .flightbottom{bottom:calc(12px + var(--safe-bottom));left:calc(10px + var(--safe-left));right:calc(10px + var(--safe-right));transform:none;display:grid;grid-template-columns:minmax(0,1fr) 112px minmax(0,1fr);gap:8px;align-items:end}.throttlebox,.stagebox{width:auto;padding:9px;min-width:0}.throttlebox label{display:block;font-size:12px;letter-spacing:0;margin:0}.throttlebox label b{display:block;font-size:16px;margin-top:4px}.throttlebox input{margin:1px 0 3px;height:48px}.throttlebox .row{gap:4px}.throttlebox button{font-size:13px;padding:7px 3px;min-height:44px}.navball{width:112px}#navball{width:104px;height:104px}.steering{display:grid;grid-template-columns:44px 24px 44px;gap:0;margin-top:6px}.steering button{width:44px;min-height:48px;font-size:16px;padding:8px}.steering b{font-size:12px;min-width:0}.stagebox .primary{font-size:13px;min-height:48px;padding:6px 3px;line-height:1.2}.stagebox>button:last-child{font-size:13px;padding:5px 2px;min-height:44px}.fuelheader{font-size:12px;display:block}.fuelheader b{display:block;font-size:16px;margin-top:4px}.fuelbar{margin:6px 0 9px}.maptools{bottom:calc(220px + var(--safe-bottom))}.map-view .flightstatus{display:none}#toast{top:calc(var(--header) + 4px);min-width:220px;font-size:14px;padding:11px 15px}dialog{padding:22px}dialog h2{font-size:24px}.map-view .ministats{display:grid}
}
@media(max-width:1000px) and (orientation:landscape) and (max-height:600px){
 :root{--header:calc(56px + var(--safe-top))}body>header{height:var(--header);padding-top:calc(6px + var(--safe-top));padding-bottom:6px}.brand{font-size:16px;gap:10px}.viewlabel{left:calc(16px + var(--safe-left));top:calc(var(--header) + 10px)}.viewlabel>span:last-child{display:none}.viewlabel h2{font-size:21px}.missionpanel{left:auto;right:calc(10px + var(--safe-right));width:280px;top:calc(var(--header) + 8px);bottom:calc(64px + var(--safe-bottom));overflow-y:auto;max-height:none}.specgrid{grid-template-columns:1fr 1fr}.assistcheck{font-size:12px}.workfooter{left:auto;width:300px;bottom:0;right:var(--safe-right)}.workfooter>span{display:none}.workfooter button{width:100%}.buildpanel{left:calc(10px + var(--safe-left));right:calc(304px + var(--safe-right));top:calc(var(--header) + 8px);bottom:12px;max-height:none}.telemetry{top:calc(var(--header) + 6px);left:calc(200px + var(--safe-left));right:calc(200px + var(--safe-right));min-height:62px;padding:8px 0}.telemetry span{font-size:12px}.telemetry b{font-size:18px}.flighttools{left:calc(10px + var(--safe-left));right:auto;width:174px;top:calc(var(--header) + 8px);grid-template-columns:1fr;gap:6px}.flighttools button{min-height:44px}.flightleft{left:calc(10px + var(--safe-left));right:auto;width:300px;top:calc(var(--header) + 8px);bottom:8px;max-height:none;z-index:6;padding-top:12px}.guidance-open .flightleft{left:calc(190px + var(--safe-left));right:calc(10px + var(--safe-right));width:auto}.flightstatus{top:calc(var(--header) + 83px);left:calc(210px + var(--safe-left));right:210px}.flightstatus p{display:none}.flightbottom{left:calc(10px + var(--safe-left));right:calc(10px + var(--safe-right));bottom:calc(8px + var(--safe-bottom));display:flex;justify-content:space-between;align-items:end;pointer-events:none}.flightbottom>*{pointer-events:auto}.throttlebox{width:174px}.stagebox{width:174px}.navball{position:absolute;right:calc(190px + var(--safe-right));bottom:0;width:112px}#navball{width:70px;height:70px}.throttlebox label{display:flex;align-items:center;justify-content:space-between}.throttlebox label b{margin:0}.throttlebox input{height:36px;min-height:36px;margin:0}.fuelheader{display:flex;align-items:center}.fuelheader b{margin:0}.stagebox .primary{min-height:44px}.fuelbar{margin:7px 0}.maptools{bottom:calc(18px + var(--safe-bottom));left:45%;gap:4px}.maptools button{font-size:14px}.map-view .navball #navball{display:none}
}
@media(max-height:700px) and (orientation:portrait){.viewlabel>span:last-child{display:none}.viewlabel h2{font-size:22px}.flightstatus p{display:none}.buildpanel>.sub{display:none}.buildpanel{bottom:calc(270px + var(--safe-bottom))}.missionpanel{padding:10px}.assistcheck{font-size:12px}.readiness{margin-bottom:5px;padding-top:5px}.flightleft{max-height:calc(100dvh - var(--header) - var(--safe-bottom) - 305px)}}
@media(prefers-reduced-motion:reduce){button,#toast{transition:none}}

#graphicsNotice{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);max-width:300px;background:#102637ed;padding:18px;border:1px solid #91b5d33a;border-radius:12px;line-height:1.5;font-size:14px}#graphicsNotice b,#graphicsNotice span{display:block}#graphicsNotice span{color:var(--muted);margin-top:8px}@media(max-width:760px){#graphicsNotice{top:36%;width:270px;font-size:13px}}
/* Expedition workshop */
.vehicleSwitch{margin:18px 0 12px}.vehicleSwitch .active{background:#ffb373;color:#1b2831;border-color:#ffb373}.history{margin-bottom:16px}.history button{font-size:13px;padding:8px}.history [aria-pressed=true]{color:#ffb373;border-color:#ffb373}.stagecard{border:1px solid var(--line);border-radius:10px;padding:10px;margin-top:10px;cursor:pointer}.stagecard.selected{border-color:#ffb373;background:#ffb37309}.stageEdit .row{gap:5px;margin-top:8px}.stageEdit .row button{font-size:12px;padding:6px;min-width:0}.missionSetup{display:grid;gap:6px}.missionSetup label{margin:7px 0 0}#roverEditor{margin:16px 0}#roverEditor input[type=range]{width:100%}.viewlabel .eyebrow{color:#c3f1e5}.missionpanel .specgrid{margin-top:18px}nav{min-width:0}
#heatWarning{position:fixed;top:calc(var(--header) + 110px);left:50%;transform:translateX(-50%);text-align:center;pointer-events:none;background:linear-gradient(90deg,#4c140400,#762915bf,#4c140400);padding:12px 24px;color:#ffd7a7;font-size:12px;letter-spacing:1px}#heatWarning b{display:block;font-size:14px;margin-top:6px;letter-spacing:0}
.systemHeading{position:absolute;top:calc(var(--header) + 24px);left:32px;pointer-events:none}.systemHeading h1{font-size:32px;font-weight:500;margin:12px 0}.systemHeading p{font-size:14px;color:var(--muted)}.worldCards{position:absolute;bottom:calc(25px + var(--safe-bottom));left:24px;right:24px;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.worldCards button{background:#0d2033e8;text-align:left;padding:18px;border-top:2px solid #a9d8d7;min-width:0}.worldCards b{display:block;font-size:25px;font-weight:500;margin:10px 0}.worldCards span:not(.eyebrow),.worldCards small{display:block;font-size:13px;line-height:1.5;color:#c7d9e4}.worldCards small{margin-top:8px}.worldCards button:nth-child(2){border-color:#d88c65}.worldCards button:nth-child(3){border-color:#b7b9c5}.worldCards button:nth-child(4){border-color:#8db9e5}#exitSystem{position:absolute;right:24px;top:calc(var(--header) + 24px);background:var(--panel)}
.roverTelemetry{position:absolute;top:calc(var(--header) + 16px);left:50%;transform:translateX(-50%);display:flex;gap:35px;padding:16px 24px}.roverTelemetry span{font-size:12px;color:var(--muted);display:block;letter-spacing:1px}.roverTelemetry b{font-size:23px;display:block;margin-top:6px;font-weight:500;white-space:nowrap}.roverObjective{position:absolute;left:24px;top:calc(var(--header) + 126px);padding:18px;width:245px;display:flex;flex-direction:column;gap:10px}.roverObjective b{font-size:20px;font-weight:500}.roverObjective>span:last-of-type{font-size:14px;line-height:1.4;color:var(--muted)}.roverObjective progress{width:100%;height:6px;accent-color:#82e3cf}.roverActions{position:absolute;top:calc(var(--header) + 126px);right:24px;display:flex;gap:8px}.roverActions button{background:var(--panel)}.driveControls{position:absolute;left:24px;right:24px;bottom:calc(22px + var(--safe-bottom));display:flex;align-items:end;justify-content:space-between;pointer-events:none}.driveControls button{pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;min-width:68px;min-height:64px;background:#132b40ed;border-color:#789baf60;font-size:18px}.driveControls button:active{background:#ffb373;color:#162535}.turnpad{display:flex;gap:10px}.pedals{display:flex;flex-direction:column;gap:10px}.pedals button{width:120px}#driveForward{background:#e6b578;color:#1d2830}#roverBrake{font-size:16px;min-width:100px}#roverMap{position:absolute;right:24px;top:calc(var(--header) + 192px);width:150px;height:150px;border:1px solid #a8d6ec40;border-radius:12px}.map-only[data-mode=rover] #roverMap{width:260px;height:260px;left:50%;top:40%;transform:translate(-50%,-20%)}
@media(max-width:760px){
 body>header{gap:4px}.brandmark{font-size:18px;padding:2px 4px}nav{gap:0}nav button{padding:8px 3px;font-size:13px}.icon{flex-basis:44px;min-width:44px;padding:7px}.missionSetup{grid-template-columns:1fr 1fr;gap:5px 8px}.missionSetup label{grid-row:1;font-size:12px}.missionSetup select{grid-row:2;font-size:14px;min-width:0}.missionpanel .specgrid{margin-top:10px;margin-bottom:8px}.missionpanel{bottom:calc(65px + var(--safe-bottom))}.missionpanel .assistcheck{min-height:28px}.viewlabel>span:last-child{max-width:240px}.buildpanel{top:42dvh;bottom:calc(65px + var(--safe-bottom));padding:14px}.buildpanel h1,.buildpanel>.eyebrow,.buildpanel>.sub{display:none}.buildpanel .vehicleSwitch{margin-top:0}.history{margin-bottom:10px}.buildpanel label[for=craftName]{margin-top:6px}#workshop:has(.buildpanel.open) .missionpanel{visibility:hidden}.buildpanel .templates{margin-top:10px}.viewlabel h2{font-size:23px}.workfooter{height:calc(62px + var(--safe-bottom))}.workfooter>span{max-width:130px;line-height:1.5}.workfooter button{min-width:145px}.systemHeading{left:16px;right:16px;top:calc(var(--header) + 16px)}.systemHeading h1{font-size:25px}.systemHeading p{font-size:13px;max-width:230px}.worldCards{bottom:calc(12px + var(--safe-bottom));left:10px;right:10px;grid-template-columns:1fr 1fr;gap:8px}.worldCards button{padding:11px}.worldCards b{font-size:21px;margin:6px 0}.worldCards .eyebrow{font-size:11px;letter-spacing:.8px}.worldCards span:not(.eyebrow){font-size:12px}.worldCards small{display:none}#exitSystem{top:calc(var(--header) + 120px);right:12px;font-size:13px;padding:9px}.roverTelemetry{left:10px;right:10px;transform:none;gap:0;justify-content:space-between;padding:12px 14px}.roverTelemetry b{font-size:20px}.roverTelemetry span{font-size:12px;letter-spacing:0}.roverActions{left:10px;right:10px;top:calc(var(--header) + 99px);gap:7px}.roverActions button{flex:1;padding:8px;font-size:13px}.roverObjective{left:10px;top:calc(var(--header) + 154px);width:200px;padding:12px;gap:8px}.roverObjective .eyebrow{font-size:11px;letter-spacing:.6px}.roverObjective b{font-size:17px}.roverObjective>span:last-of-type{font-size:12px}#roverMap{right:10px;top:calc(var(--header) + 154px);width:125px;height:125px}.driveControls{left:12px;right:12px;bottom:calc(14px + var(--safe-bottom));gap:8px}.driveControls button{min-width:52px;min-height:60px;font-size:17px}.turnpad{gap:6px}.pedals button{width:99px;font-size:15px}#roverBrake{min-width:73px;font-size:14px}.pedals{gap:8px}#heatWarning{top:calc(var(--header) + 142px);width:100%;font-size:11px;padding:10px}.flightstatus{top:calc(var(--header) + 208px)}.flightstatus p{display:none}
}
@media(max-width:1000px) and (orientation:landscape) and (max-height:600px){
 .missionpanel{top:calc(var(--header) + 8px);bottom:calc(60px + var(--safe-bottom));overflow:auto}.missionSetup{grid-template-columns:1fr 1fr;gap:5px}.missionSetup label{grid-row:1}.missionSetup select{grid-row:2;font-size:13px}.missionpanel .specgrid{grid-template-columns:repeat(4,1fr);margin-top:10px;gap:5px}.specgrid b{font-size:14px}.specgrid span{font-size:10px}.buildpanel{top:calc(var(--header) + 8px);bottom:8px;left:55%;right:10px;width:auto}#workshop:has(.buildpanel.open) .missionpanel{visibility:hidden}.systemHeading{top:calc(var(--header) + 8px);left:14px}.systemHeading h1{font-size:22px}.systemHeading p{display:none}.worldCards{grid-template-columns:repeat(4,1fr);gap:6px;left:12px;right:12px;bottom:12px}.worldCards button{padding:8px}.worldCards b{font-size:19px}.worldCards small{display:none}.worldCards span{font-size:11px}.roverTelemetry{left:210px;right:210px;padding:10px;gap:12px;transform:none}.roverTelemetry b{font-size:17px}.roverTelemetry span{font-size:11px}.roverObjective{left:10px;top:calc(var(--header) + 8px);width:182px;padding:12px;gap:6px}.roverObjective b{font-size:17px}.roverObjective span{font-size:12px}.roverActions{top:calc(var(--header) + 8px);left:auto;right:10px;display:grid;width:160px;gap:5px}.roverActions button{min-height:44px;font-size:13px;padding:6px}#roverMap{width:90px;height:90px;top:auto;right:185px;bottom:10px}.driveControls{left:10px;right:10px;bottom:10px}.driveControls button{min-height:48px;min-width:65px}.pedals{flex-direction:row}.pedals button{width:82px;font-size:14px}#roverBrake{position:absolute;left:160px;bottom:0;font-size:14px;min-width:75px}#heatWarning{top:calc(var(--header) + 88px);font-size:11px}.flightstatus{display:none}
}
/* Flight-deck redesign: reference-led instruments and a dedicated assembly workspace. */
:root{--orange:#12b7dd;--muted:#a8b6c0;--line:#8198ab32;--panel:#10171ee8;--header:calc(58px + var(--safe-top));background:#101820;color:#e9eff4}
button{border-radius:3px;font-size:14px}input:not([type=checkbox]):not([type=range]),select{border-radius:3px;background:#0a1018;font-size:14px}.panel{border-radius:3px;box-shadow:none;background:var(--panel)}.primary{background:#10afd2;border-color:#10afd2;color:#051017}.primary:hover{background:#50d1eb}button:focus-visible{outline-color:#36cae8}.eyebrow{font-size:12px;letter-spacing:1px;color:#31c4e8}body>header{height:var(--header);padding-top:calc(6px + var(--safe-top));padding-bottom:6px;background:#090e14e6}.brand{font-size:16px;letter-spacing:2px}.brandmark{font-size:20px;border:0;transform:none;padding:3px}.brand small{font-size:10px;max-width:none}.brand small{display:none}nav button.active{background:#0a76922b;border-bottom-color:#21badd}nav button{min-height:44px}.icon{font-size:19px}.vehicleSwitch .active{background:#17afd1;border-color:#17afd1;color:#04111a}.templates button.active,.stagecard.selected{border-color:#18aaca;color:#e8faff;background:#0f344124}.history [aria-pressed=true]{border-color:#22bfdc;color:#22bfdc}.stagecard{border-radius:3px}.fuelbar>div{background:#46d176}.telemetry{border-radius:3px;background:#080d13c9;padding:10px 4px;min-width:470px}.telemetry b{font-size:22px}.telemetry>div{padding:0 14px}.flightleft{padding:12px;width:210px;background:#10151be0}.flightleft .eyebrow{background:#323d46;padding:9px;margin:-12px -12px 2px}.flightleft select{font-size:14px}.flightbottom{gap:14px}.throttlebox,.stagebox{background:#080e16d9;padding:12px}.navball{width:160px}#navball{width:148px;height:148px;border:6px solid #090c0f;box-shadow:none}.flightstatus h2{font-size:20px;font-weight:400}.flighttools button{background:#090e16dd}.flightstatus p{display:none}.stagebox .primary{background:#10afd2}.maptools button{border-radius:2px}.missionpanel .specgrid b{font-weight:500}.missionpanel .objective{display:none}
.catalogpanel{position:absolute;top:calc(var(--header) + 14px);left:16px;bottom:74px;width:250px;padding:14px;overflow-y:auto}.catalogpanel .sectionhead{margin:0}.catalogpanel h2{font-size:14px;letter-spacing:1px}.catalogpanel .sectionhead span{font-size:10px;letter-spacing:0}.catalogpanel .sub{font-size:13px;line-height:1.5;margin:10px 0 14px}.catalogFilters{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:12px}.catalogFilters button{font-size:12px;min-height:36px;padding:7px;flex:1}.catalogFilters .active{color:#40d3ec;background:#163744;border-color:#326d83}#partLibrary{display:grid;gap:7px}#partLibrary button{text-align:left;padding:12px;position:relative;background:#202a338c;border-color:#758a9e35}#partLibrary b{display:block;font-size:14px;font-weight:500}#partLibrary span{display:block;font-size:12px;color:#91a5b6;margin-top:6px}#partLibrary small{position:absolute;right:8px;top:12px;font-size:11px;color:#54c9e5}#attachedParts{display:grid;gap:5px;margin-top:10px}#attachedParts button{text-align:left;font-size:13px;padding:10px}#attachedParts b{font-weight:500;display:block}#attachedParts span{font-size:12px;display:block;margin-top:4px;color:#98adbe}#attachedParts .active{border-color:#19b7d6}.catalogpanel .add{margin:12px 0 20px}
body[data-mode=build] .buildpanel{left:auto;right:16px;top:calc(var(--header) + 14px);bottom:74px;width:290px;max-height:none;padding:14px;display:block;overflow:auto;background:#10171ee8}body[data-mode=build] .buildpanel>h1,body[data-mode=build] .buildpanel>.sub{display:none}.buildpanel>.eyebrow{padding:10px;margin:-14px -14px 12px;background:#303a44}.buildpanel .vehicleSwitch{margin:0 0 10px}.buildpanel .history{margin-bottom:12px}.buildpanel label{font-size:12px}.buildpanel .sectionhead h2{font-size:16px}.buildpanel .templates{margin-top:8px}.stagecard header{font-size:14px}.stageEdit label{font-size:13px}.stageEdit .row button{font-size:12px}.buildpanel input[type=range]{width:100%}#attachmentInspector h2{font-size:22px;font-weight:400}#attachmentInspector label{display:flex;justify-content:space-between;gap:8px;margin:12px 0 0}#attachmentInspector .row{margin-top:14px}#attachmentInspector .sub{margin-bottom:14px}.buildpanel:has(#attachmentInspector:not([hidden]))>.history{margin-bottom:10px}
body[data-mode=build] .missionpanel{display:none;left:auto;right:16px;top:calc(var(--header) + 14px);bottom:74px;width:290px;max-height:none;overflow:auto;padding:16px;background:#10171ef5}body[data-build-tab=mission] .missionpanel{display:block;visibility:visible!important}body[data-build-tab=mission] .buildpanel{display:none!important}.missionpanel h2{font-weight:400}.missionpanel .sub{font-size:14px}.missionpanel .missionSetup{gap:7px}.missionpanel .missionSetup label{font-size:12px}.missionpanel #readiness{font-size:13px}.missionpanel .assistcheck{min-height:44px;font-size:13px}#buildWarnings p{font-size:13px;color:#e7b878;line-height:1.5;padding:9px;border-left:2px solid #d99c49;background:#b57d1910;margin:10px 0}
.builderToolbar{position:absolute;bottom:calc(12px + var(--safe-bottom));left:16px;right:16px;display:flex;justify-content:center;gap:8px;z-index:4}.builderToolbar button{background:#111e29;min-height:46px;min-width:100px;font-size:14px}.builderToolbar .primary{background:#15b4d7;color:#081321;min-width:160px;margin-left:auto}.builderToolbar .active{border-color:#26c1df;color:#48d3ee}.viewTools{position:absolute;top:calc(var(--header) + 14px);left:50%;transform:translateX(-50%);display:flex;gap:5px}.viewTools button{padding:8px;min-width:44px;min-height:44px;background:#0c141bda;font-size:13px}.viewTools [aria-pressed=true]{border-color:#44d2e9;color:#44d2e9}.viewlabel{left:290px;top:calc(var(--header) + 75px)}.viewlabel h2{font-size:22px;font-weight:400}.viewlabel>span:last-child{font-size:12px}.viewlabel .eyebrow{display:none}.workfooter{display:none!important}
.evaTelemetry{position:absolute;top:calc(var(--header) + 16px);left:50%;transform:translateX(-50%);display:flex;gap:38px;padding:12px 20px}.evaTelemetry span{font-size:12px;color:#99aebb;display:block}.evaTelemetry b{font-size:20px;font-weight:400;margin-top:7px;display:block}.evaActions{position:absolute;top:calc(var(--header) + 110px);right:16px;display:flex;gap:7px}.evaActions button{background:#0b151fd9}.evaHint{position:absolute;top:calc(var(--header) + 110px);left:16px;font-size:14px;color:#d2e2ed;background:#0b151fcc;padding:12px}.evaControls{position:absolute;bottom:calc(20px + var(--safe-bottom));left:20px;right:20px;display:flex;justify-content:space-between;align-items:end;pointer-events:none}.evaControls button{pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;background:#101f2ade;border-color:#859bad66;min-width:54px;min-height:54px}.walkpad{display:grid;grid-template-columns:repeat(3,54px);grid-template-rows:repeat(2,54px);gap:5px}#walkForward{grid-column:2}#walkLeft{grid-column:1;grid-row:2}#walkBack{grid-column:2;grid-row:2}#walkRight{grid-column:3;grid-row:2}.evaVertical{display:grid;gap:8px}.evaVertical button{min-width:130px}.evaControls button:active{background:#17b7db;color:#071522}.roverActions{gap:5px}.roverActions button{font-size:13px}.systemHeading h1{font-size:24px}.worldCards button{border-radius:3px;background:#0b141ddf}.worldCards .eyebrow{font-size:12px}
@media(max-width:1100px){.viewlabel{left:278px}.catalogpanel{width:230px}.viewTools{left:48%}.brand{font-size:14px}body[data-mode=build] .buildpanel,body[data-mode=build] .missionpanel{width:270px}}
@media(max-width:760px){
 :root{--header:calc(56px + var(--safe-top))}body>header{padding-left:8px;padding-right:8px;gap:3px}.brand{font-size:0}.brandmark{font-size:20px}nav button{font-size:13px;min-width:0;padding:8px 3px}.icon{width:44px;flex-basis:44px;min-width:44px}body[data-mode=build] .catalogpanel,body[data-mode=build] .buildpanel,body[data-mode=build] .missionpanel{display:none;position:absolute;left:8px;right:8px;top:47dvh;bottom:calc(68px + var(--safe-bottom));width:auto;padding:12px;max-height:none;overflow:auto;background:#10171ef5}body[data-build-tab=parts] .catalogpanel{display:block}body[data-build-tab=inspect] .buildpanel{display:block}body[data-build-tab=mission] .missionpanel{display:block}.catalogpanel>.sub{display:none}.catalogpanel .sectionhead{margin-bottom:10px}.catalogpanel .sectionhead span{font-size:11px}.catalogFilters{flex-wrap:nowrap;overflow-x:auto;gap:5px}.catalogFilters button{flex:0 0 auto;min-height:44px;font-size:13px;padding:8px 10px}#partLibrary{grid-template-columns:1fr 1fr;gap:7px}#partLibrary small{position:static;display:block;margin-top:6px;font-size:12px}#partLibrary button{padding:10px}#partLibrary b{font-size:14px}#partLibrary span{font-size:12px}.catalogpanel .add{min-height:44px}.buildpanel>.eyebrow{display:block!important;margin:-12px -12px 12px;font-size:12px}.viewTools{left:50%;top:calc(var(--header) + 9px);gap:4px;white-space:nowrap}.viewTools button{min-width:44px;font-size:13px}.viewlabel{left:12px;right:12px;top:calc(var(--header) + 60px)}.viewlabel h2{font-size:18px;margin:6px 0}.viewlabel>span:last-child{display:none}.builderToolbar{left:8px;right:8px;bottom:calc(10px + var(--safe-bottom));gap:4px}.builderToolbar button{font-size:12px;min-width:0;padding:8px 6px;flex:1;min-height:48px}.builderToolbar .primary{min-width:0;flex:1.15;margin:0}.missionpanel>.eyebrow,.missionpanel>h2,.missionpanel>.sub{display:block}.missionpanel>h2{font-size:23px;margin:9px 0}.missionpanel>.sub{margin-bottom:10px}.missionSetup{grid-template-columns:1fr 1fr}.specgrid b{font-size:18px}.missionpanel .specgrid{margin-top:14px}.missionpanel .assistcheck{font-size:13px}.buildpanel .templates button{min-height:44px}.buildpanel .history button{min-height:44px}.history{gap:6px}.buildpanel input:not([type=checkbox]):not([type=range]),.buildpanel select{font-size:16px}.stagecard label{font-size:14px}.stageEdit .row button{font-size:13px}#attachmentInspector label{font-size:12px}#attachmentInspector input[type=range]{min-height:44px}.telemetry{min-width:0;padding:10px 0}.telemetry b{font-size:19px}.telemetry>div{padding:0 10px}.flightbottom{gap:7px;grid-template-columns:minmax(0,1fr) 112px minmax(0,1fr)}.throttlebox,.stagebox{padding:8px}.navball{width:112px}#navball{width:108px;height:108px;border-width:4px}.flightstatus{top:calc(var(--header) + 153px)}.flightstatus .eyebrow{font-size:11px}.flightleft{width:auto}.flightleft .eyebrow{margin:-14px -14px 4px}.roverActions{grid-template-columns:repeat(4,1fr);display:grid;gap:5px}.roverActions button{font-size:12px;padding:7px 3px}.evaTelemetry{left:10px;right:10px;transform:none;gap:10px;justify-content:space-between;padding:12px 15px;top:calc(var(--header) + 12px)}.evaTelemetry b{font-size:18px}.evaActions{left:10px;right:10px;top:calc(var(--header) + 94px);display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:5px}.evaActions button{font-size:13px;min-height:44px;padding:7px}.evaHint{left:10px;top:calc(var(--header) + 198px);font-size:13px;padding:8px 10px;pointer-events:none}.evaControls{left:12px;right:12px;bottom:calc(16px + var(--safe-bottom))}.evaControls button{min-width:48px;min-height:54px}.walkpad{grid-template-columns:repeat(3,48px);grid-template-rows:repeat(2,54px);gap:5px}.evaVertical button{min-width:125px;font-size:14px}#roverMap{border-radius:3px}.roverObjective{border-radius:3px}.roverTelemetry{border-radius:3px}
}
@media(max-width:1000px) and (orientation:landscape) and (max-height:600px){
 :root{--header:calc(54px + var(--safe-top))}body[data-mode=build] .catalogpanel,body[data-mode=build] .buildpanel,body[data-mode=build] .missionpanel{display:none;left:auto;right:10px;top:calc(var(--header) + 8px);bottom:65px;width:280px;max-height:none;padding:12px}body[data-build-tab=parts] .catalogpanel{display:block}body[data-build-tab=inspect] .buildpanel{display:block}body[data-build-tab=mission] .missionpanel{display:block}.catalogFilters{flex-wrap:nowrap;overflow:auto}.catalogFilters button{flex-shrink:0;min-height:44px}#partLibrary{grid-template-columns:1fr 1fr}.catalogpanel>.sub{display:none}.viewTools{left:12px;transform:none;top:calc(var(--header) + 8px)}.viewlabel{left:12px;top:calc(var(--header) + 68px)}.viewlabel h2{font-size:17px}.builderToolbar{left:12px;right:12px;bottom:10px;gap:7px}.builderToolbar button{min-width:75px;font-size:13px;min-height:44px}.builderToolbar .primary{margin-left:auto;min-width:130px}.evaTelemetry{left:220px;right:200px;transform:none;gap:12px;padding:10px}.evaTelemetry b{font-size:16px}.evaTelemetry span{font-size:11px}.evaActions{left:auto;right:10px;top:calc(var(--header) + 10px);width:180px;display:grid;grid-template-columns:1fr 1fr;gap:5px}.evaActions button{font-size:12px;padding:7px;min-height:44px}.evaActions #boardRover{grid-column:span 2}.evaHint{left:12px;top:calc(var(--header) + 12px);max-width:195px;font-size:12px}.evaControls{bottom:12px;left:12px;right:12px}.evaControls button{min-height:44px}.walkpad{grid-template-columns:repeat(3,48px);grid-template-rows:repeat(2,44px);gap:4px}.evaVertical{grid-template-columns:1fr 1fr}.evaVertical button{min-width:90px;font-size:13px}.roverActions{width:180px;display:grid;grid-template-columns:1fr 1fr}.roverActions button{min-height:44px;font-size:12px}.missionpanel .specgrid span{font-size:12px}.missionpanel .specgrid{grid-template-columns:1fr 1fr}#navball{width:80px;height:80px}.navball{width:112px}
}

/* Aircraft assembly and two-thumb flight controls. */
.planeCoordinates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.planeCoordinates input{min-width:0;width:100%;padding:9px 4px}#planeEditor label{font-size:12px}#planeEditor .row label{display:flex;align-items:center;gap:3px}#planeEditor input[type=checkbox]{width:auto}.planeStatus{position:absolute;left:24px;top:158px;padding:15px;max-width:270px;display:grid;gap:7px}.planeStatus p{font-size:13px;margin:0}.planeStatus>span{font:13px monospace;color:#a5b9c5}.planeActions{position:absolute;top:160px;right:24px;display:grid;gap:7px}.planeFlightControls{position:absolute;bottom:max(22px,env(safe-area-inset-bottom));left:24px;right:24px;display:flex;align-items:end;justify-content:space-between;pointer-events:none}.planeFlightControls>*{pointer-events:auto}.planePower{width:230px;padding:14px}.planePower label{display:block;font-size:13px}.planePower input{width:100%}.planePower>button{width:100%;margin-top:8px}.planeStick{position:relative;width:185px;height:185px;border-radius:50%;border:1px solid #86dbea70;background:radial-gradient(circle,#2c698465,#071721bb);touch-action:none;user-select:none;box-shadow:inset 0 0 0 38px #69c9de0d}.planeStick>span{position:absolute;top:14px;width:100%;text-align:center;font-size:12px;letter-spacing:1px}.planeStick small{position:absolute;bottom:17px;width:100%;text-align:center;font-size:11px;color:#bdd4dc}#planeStickKnob{position:absolute;width:48px;height:48px;left:calc(50% - 24px);top:calc(50% - 24px);border:2px solid #8ee6f4;border-radius:50%;background:#24495cdd;pointer-events:none}#planeCrash{position:absolute;left:50%;top:38%;transform:translate(-50%,-50%);width:min(340px,80vw);padding:22px;z-index:12}#planeCrash h2{margin-top:0}#planeCrash button{margin:5px}button[data-plane-type]{touch-action:none}body[data-vehicle=plane] .catalogFilters,body[data-vehicle=plane] #libraryStage,body[data-vehicle=plane] .templates,body[data-vehicle=plane] #explode{display:none}body[data-vehicle=plane] .viewlabel{pointer-events:none}body[data-mode=aircraft] #scene{touch-action:none}
@media(max-width:760px){.planeStatus{left:12px;top:155px;padding:10px;max-width:180px}.planeStatus p{font-size:12px}.planeActions{top:155px;right:12px;gap:5px}.planeActions button{font-size:12px;min-height:34px;padding:5px 9px}.planeFlightControls{left:12px;right:12px;bottom:max(16px,env(safe-area-inset-bottom))}.planePower{width:160px;padding:9px}.planePower button{font-size:12px;padding:7px 5px}.planeStick{width:158px;height:158px}.planeStick small{font-size:10px}#planeEditor .row button{font-size:12px;padding:8px 5px}.planeCoordinates label{font-size:11px}}
@media(max-height:500px){.planeStatus{top:118px;left:14px;max-width:180px}.planeStatus p{display:none}.planeActions{top:70px;right:12px;display:flex;gap:4px;flex-wrap:wrap;max-width:380px;justify-content:flex-end}.planeActions button{font-size:11px;padding:5px;min-height:30px}.planeStick{width:142px;height:142px}.planePower{width:190px;padding:8px}.planePower>button{margin-top:2px;padding:5px}.planeFlightControls{bottom:10px}.planeStatus>span{font-size:12px}}

button[data-part]{touch-action:none}body[data-vehicle=plane] #viewMove{display:none}

@media(max-width:760px) and (min-height:501px){.planeStatus,.planeActions{top:calc(var(--header) + 100px)}#aircraftView .telemetry>div:last-child{display:block}#aircraftView .telemetry span{font-size:10px}#aircraftView .telemetry b{font-size:16px}#aircraftView .telemetry>div{padding:0 7px}}

#navball{cursor:crosshair;touch-action:none}#planeNavball{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.planeStick{background:#122435!important}.planeStick>small{position:absolute;bottom:-28px;left:-35px;right:-35px}.navball>.row button{min-height:36px;font-size:12px}.navball .steering{margin-top:2px}#actuatorReadout,#targetReadout{font-size:12px;line-height:1.45;margin:8px 0}#flightTarget{margin-top:4px}.flightleft{max-height:calc(100dvh - 330px);overflow-y:auto}@media(max-width:760px){.flightleft{max-height:calc(100dvh - 240px)}.navball{width:150px}.navball canvas{width:150px;height:150px}.navball>.row button{min-width:44px;min-height:36px}.flightbottom{align-items:end}.planeStick{width:165px;height:165px}}@media(max-height:480px){.navball{width:115px}.navball canvas{width:115px;height:115px}.navball>.row button{font-size:11px;min-height:28px}.navball .steering{display:none}.planeStick{width:130px;height:130px}.flightleft{max-height:calc(100dvh - 130px)}}
@media(max-width:760px) and (min-height:481px){.flightbottom{grid-template-columns:minmax(0,1fr) 140px minmax(0,1fr);gap:6px}.navball{width:140px}#navball{width:140px;height:140px}.navball .steering{display:none}.navball>.row button{background:#112437;min-height:44px;padding:6px;flex:1}.throttlebox .row{flex-direction:column}.stagebox .primary{min-height:56px}.stagebox>button:last-child{min-height:44px}}@media(max-width:1000px) and (orientation:landscape) and (max-height:480px){.navball{right:calc(50% - 65px);width:130px}#navball{width:130px;height:130px}.navball>.row button{background:#112437;min-height:40px;padding:5px}.planeStick>small{display:none}.planePower button{min-height:40px}}


/* Hideable rocket navball. The surrounding flight controls reflow into two columns. */
#navballPanel[hidden]{display:none!important}
body.navball-hidden .flightbottom{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
body.navball-hidden .flightbottom .throttlebox,body.navball-hidden .flightbottom .stagebox{min-width:min(220px,42vw)}
@media(min-width:761px){body.navball-hidden .flightbottom{display:grid;grid-template-columns:204px 212px;align-items:end}}
@media(max-width:760px){body.navball-hidden .flightbottom{grid-template-columns:minmax(0,1fr) minmax(0,1fr);max-width:430px;width:calc(100% - 20px)}}

/* Direct-manipulation builder: the catalog doubles as a trash target for existing parts/stages. */
#partLibrary button{touch-action:none;cursor:grab}#partLibrary button:active{cursor:grabbing}.catalogpanel{transition:border-color .14s,box-shadow .14s,background-color .14s}body.builder-delete-drop .catalogpanel{border-color:#ff6f63!important;box-shadow:0 0 0 2px #ff6f6344,0 0 30px #ff493522;background:#251517f2!important}body.builder-delete-drop .catalogpanel:after{content:'DROP HERE TO DELETE';position:sticky;bottom:0;display:block;margin:12px 0 0;padding:11px;border:1px solid #ff7568;border-radius:8px;background:#451b20e8;color:#ffd6d1;text-align:center;font-weight:700;letter-spacing:.08em;pointer-events:none}

body.builder-part-snap #scene{cursor:copy} body.builder-part-snap #scene:after{content:'SNAP TO PART';position:fixed;left:50%;bottom:9.5rem;transform:translateX(-50%);z-index:45;padding:.45rem .75rem;border:1px solid #4fe4f1;border-radius:999px;background:#07151dcc;color:#7bf2fa;font:700 11px system-ui;letter-spacing:.11em;pointer-events:none}
/* Staging drag feedback: desktop drag/drop augments the existing accessible move buttons. */
#stages .stagecard[draggable=true]{cursor:grab}
#stages .stagecard.dragging{opacity:.45;cursor:grabbing}
#stages .stagecard.drop-before{box-shadow:inset 0 3px 0 var(--orange)}
#stages .stagecard.drop-after{box-shadow:inset 0 -3px 0 var(--orange)}

/* Cleaner desktop flight HUD: guidance is contextual instead of permanently covering the world. */
@media(min-width:1001px){
 #guidanceToggle{display:inline-flex;align-items:center;justify-content:center}
 .flightleft{display:none;width:270px;background:#0b192bdc;backdrop-filter:blur(8px)}
 .guidance-open .flightleft{display:block}
 .flighttools{max-width:430px;justify-content:flex-end;flex-wrap:wrap;gap:6px}
 .flighttools button{min-height:38px;padding:7px 10px;font-size:12px;background:#091927c9;backdrop-filter:blur(7px)}
 .telemetry{background:#091927cf;backdrop-filter:blur(8px);padding:11px 6px;min-width:520px}
 .telemetry b{font-size:21px}.telemetry>div{padding:0 16px}
 .flightstatus{top:calc(var(--header) + 160px)}
 .throttlebox,.stagebox{background:#091927d8;backdrop-filter:blur(8px)}
 .stagebox button[hidden]{display:none!important}
}

/* Spherical attitude control is the primary rocket interaction surface. */
@media(min-width:1001px){
 body.sphere-control-active #navballPanel{width:208px;filter:drop-shadow(0 12px 28px #0008)}
 body.sphere-control-active #navball{width:196px;height:196px;opacity:.90;border-color:#83b9d2aa;background:#07131b55}
 body.sphere-control-active #navballPanel .steering{display:none}
 body.sphere-control-active #navballPanel>.row{margin-top:-3px;opacity:.74}
 body.sphere-control-active .flightbottom{gap:12px}
}
@media(max-width:1000px){body.sphere-control-active #navball{opacity:.9;background:#07131b55}}
.keybindList{display:grid;gap:7px;margin:12px 0;max-height:min(56vh,520px);overflow:auto;padding-right:3px}.keybindRow{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 10px;border:1px solid #ffffff18;border-radius:10px;background:#07131b66}.keybindRow span{display:grid;gap:2px}.keybindRow small{opacity:.55;font-size:10px}.keybindRow button{min-width:88px}.keybindRow button.listening{outline:2px solid #58ddf5}
