:root{color-scheme:dark;font-family:Arial,Helvetica,sans-serif;color:#edeedc;background:#101915;font-synthesis:none;--line:#d9dfbd26;--muted:#a3b0a0;--accent:#d8e6a4}*{box-sizing:border-box}body{margin:0}button,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button,select{border:1px solid var(--line);border-radius:4px;background:#17251feF;color:inherit;min-height:42px;padding:10px 14px}button,a,select{touch-action:manipulation}button{cursor:pointer}button:hover,select:hover{border-color:#d8e6a487}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:4px}a{color:var(--accent);text-underline-offset:4px}button[disabled]{opacity:.6;cursor:wait}[hidden]{display:none!important}.brand{text-decoration:none;color:#eceedd;font-weight:700;letter-spacing:.17em;font-size:15px;white-space:nowrap}.brand span{font-size:10px;font-weight:400;letter-spacing:.18em;margin-left:10px;color:#a3b0a0}.eyebrow,.build-tag{font-size:10px;letter-spacing:.19em;color:var(--accent)}.entry{min-height:100dvh;background:radial-gradient(ellipse at 85% 15%,#4f58422b,transparent 55%),linear-gradient(120deg,#101915,#1c271c)}.entry>header{display:flex;justify-content:space-between;gap:20px;padding:30px 5vw;border-bottom:1px solid var(--line)}.entry main{max-width:1500px;margin:auto;padding:65px 8vw;display:grid;grid-template-columns:1.2fr 1fr;gap:10vw;align-items:center}.entry h1{font-size:clamp(52px,6.7vw,100px);line-height:.96;letter-spacing:-.055em;font-weight:400;margin:30px 0}.lede{font-size:19px;line-height:1.65;max-width:490px;color:#c6cebd}.setting{font-size:12px;color:var(--muted);line-height:1.7;max-width:480px;margin:28px 0}.specs{display:flex;gap:38px;margin:32px 0}.specs span{font-size:10px;color:var(--muted)}.specs strong{display:block;font-size:24px;color:#eef0dc;font-weight:400;margin-bottom:7px}.primary{background:var(--accent);color:#192419;border:0;padding:16px 22px;font-weight:700;min-width:200px;text-align:left}.primary span{float:right;margin-left:40px}#entry-status{font-size:11px;color:var(--muted);min-height:20px}.entry-selection{padding:24px;border:1px solid var(--line);background:#111c1780;box-shadow:0 30px 100px #0002}.entry-selection img{display:block;width:100%;height:245px;object-fit:cover;margin:20px 0;filter:saturate(.7)}label{font-size:11px;color:var(--muted);display:block;margin-bottom:8px}.entry-selection select{width:100%;font-size:16px}.entry-selection p:not(.eyebrow){font-size:12px;line-height:1.7;color:var(--muted)}.entry-selection a{font-size:12px}.entry footer{padding:24px 5vw;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:start;gap:30px;font-size:12px}.entry details{max-width:850px}.entry details p{font-size:12px;line-height:1.8;color:var(--muted)}summary{cursor:pointer}.app{height:100dvh;width:100%;position:relative;overflow:hidden;background:#a1a38e}#viewport{position:absolute;inset:0}#viewport canvas{width:100%;height:100%;display:block;touch-action:none;outline:none}.toolbar{position:absolute;inset:0 0 auto;display:flex;align-items:center;gap:20px;padding:16px 22px;background:linear-gradient(#101a16eb,#101a1680,transparent);z-index:4}.toolbar select{max-width:240px;background:#17251fd9;font-size:12px}.toolbar-actions{display:flex;gap:6px;margin-left:auto}.toolbar-actions button{min-width:42px;background:#17251fc9}#leave{font-size:11px}.range-label{position:absolute;top:92px;left:26px;display:grid;gap:9px;pointer-events:none;text-shadow:0 1px 6px #0009}.range-label strong{font-size:18px;font-weight:400;color:#fffde8}#notice{font-size:11px;color:#f9edbe}.map-panel{position:absolute;top:92px;right:24px;width:190px;background:#14231ce8;border:1px solid var(--line);border-radius:5px;overflow:hidden}.map-panel>button{width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;min-height:34px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.15em;padding:10px}.map-panel canvas{width:100%;display:block;opacity:.93}.map-navigation{display:none;padding:14px}.map-panel.expanded{width:min(450px,calc(100vw - 32px));max-height:calc(100dvh - 120px);overflow:auto;z-index:8}.map-panel.expanded .map-navigation{display:block}.map-navigation select{max-width:100%;width:65%;font-size:12px;padding:8px}.map-navigation button{font-size:11px;padding:8px}.map-navigation small{font-size:10px;color:var(--muted);display:block;margin-top:9px}.telemetry{position:absolute;left:26px;bottom:88px;display:flex;gap:28px;text-shadow:0 1px 7px #0008;pointer-events:none}.telemetry strong{display:block;font-size:36px;line-height:1;font-weight:400;font-variant-numeric:tabular-nums}.telemetry span{font-size:9px;text-transform:uppercase;letter-spacing:.12em;display:block;margin-top:9px;color:#f4f1d5}.lower-actions{position:absolute;bottom:27px;left:24px;display:flex;gap:7px}.lower-actions button,.lower-actions select{font-size:10px;min-height:36px;padding:8px 12px;background:#18261fe3}.keyboard-hint{position:absolute;right:24px;bottom:30px;max-width:500px;font-size:10px;color:#fff6dc;text-shadow:0 1px 5px #000;line-height:2;pointer-events:none}.keyboard-hint span{margin:0 10px}.touch-controls{display:none}.pause-screen{position:absolute;inset:0;z-index:10;background:#0f1c15d9;display:flex;flex-direction:column;align-items:center;justify-content:center;backdrop-filter:blur(5px)}.pause-screen h2{font-weight:400;font-size:38px;letter-spacing:-.03em}dialog{max-width:560px;width:calc(100vw - 30px);max-height:85dvh;overflow:auto;color:#e1e5d4;background:#14231e;border:1px solid #84917766;border-radius:5px;padding:32px;z-index:20}dialog::backdrop{background:#09130ce0}dialog h2{font-size:30px;font-weight:400}dialog p,dialog dd{font-size:12px;line-height:1.7;color:#b6c0ad}dialog dl{display:grid;grid-template-columns:110px 1fr;gap:8px;font-size:13px}dialog dd{margin:0}dialog>a{font-size:12px}#close-help{float:right}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(pointer:coarse),(max-width:760px){.touch-controls{display:flex;position:absolute;bottom:80px;left:16px;right:16px;justify-content:space-between;pointer-events:none}.touch-controls button{pointer-events:auto;touch-action:none;user-select:none;width:48px;height:46px;padding:0;background:#182a22c9;border-color:#d5dfb750;font-size:20px}.touch-controls button[data-action=boost],.touch-controls button[data-action=brake]{font-size:9px;letter-spacing:.06em}.touch-controls button.pressed{background:#b5c888;color:#17251b}.dpad{display:grid;grid-template-columns:repeat(3,48px);gap:4px}.dpad button:first-child{grid-column:2}.dpad button:nth-child(2){grid-row:2;grid-column:1}.dpad button:nth-child(3){grid-row:2;grid-column:2}.dpad button:nth-child(4){grid-row:2;grid-column:3}.touch-alt{display:grid;grid-template-columns:repeat(3,48px);gap:4px}.keyboard-hint{display:none}.telemetry{bottom:205px;left:18px;gap:18px}.telemetry strong{font-size:25px}.telemetry span{font-size:8px}.lower-actions{bottom:22px;left:16px;right:16px;flex-wrap:wrap}.toolbar{padding:10px 12px;gap:10px;flex-wrap:wrap;background:linear-gradient(#101a16fa,#101a16a0,transparent)}.toolbar .brand{font-size:11px}.toolbar .brand span{display:none}.toolbar select{font-size:11px;width:145px;max-width:40vw;padding:9px 5px}.toolbar-actions{gap:3px}.toolbar-actions button{min-width:34px;min-height:36px;padding:6px}#leave{font-size:9px}.range-label{top:104px;left:18px}.range-label strong{font-size:14px}.map-panel{width:120px;top:104px;right:16px}.map-panel>button{font-size:8px;padding:8px}.entry main{grid-template-columns:1fr;gap:30px;padding:32px 7vw}.entry>header{padding:22px 6vw;align-items:center}.build-tag{font-size:8px}.entry .brand span{display:none}.entry h1{margin:20px 0;font-size:64px}.entry .lede{font-size:16px}.entry-selection img{height:180px}.entry footer{flex-direction:column;padding:20px 7vw}.entry .specs{gap:30px}.entry .setting{font-size:11px}}@media(max-width:390px){.toolbar{gap:6px}.toolbar select{width:135px}.toolbar-actions button{min-width:30px}.touch-controls{left:10px;right:10px}.touch-controls button{width:44px}.dpad,.touch-alt{grid-template-columns:repeat(3,44px)}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* The landing-page host supplies the public header and morphology catalogue. */
/* One viewport and one opaque preparation screen during loading and play. */
html.range-running,html.range-running body{height:100dvh;width:100%;overflow:hidden;overscroll-behavior:none}
.range-running .app{position:fixed;inset:0;width:100%;height:100dvh}
.range-loading .app,.range-loading .entry{visibility:hidden;pointer-events:none}
.game-loading{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:24px;background:#101915;color:#edf2e4;isolation:isolate}
.game-loading>div{width:min(420px,100%)}.game-loading h2{font-size:clamp(22px,4vw,30px);font-weight:400;line-height:1.4}.game-loading progress{display:block;width:100%;height:12px;accent-color:#d8e6a4}.game-loading progress::-webkit-progress-bar{background:#2a3830;border-radius:6px}.game-loading progress::-webkit-progress-value{background:#d8e6a4;border-radius:6px}.game-loading #game-loading-percent{font-variant-numeric:tabular-nums;text-align:right;font-size:13px}.loading-note{color:#aab8ac;font-size:12px;line-height:1.6}
/* These legacy hooks remain available for lifecycle recovery, never as controls. */
#camera,#leave{display:none!important}
button[aria-pressed="true"],button[aria-expanded="true"]{border-color:#dcf2a2!important;box-shadow:0 0 0 1px #dcf2a26b,0 0 14px #b9e46a70,inset 0 0 10px #c4df7b18}
button[aria-pressed="false"]{box-shadow:none}
.range-reticle{top:50%!important;width:14px!important;height:14px!important;border:0!important;border-radius:0!important;background:linear-gradient(#edf6db,#edf6db) left center/4px 1px no-repeat,linear-gradient(#edf6db,#edf6db) right center/4px 1px no-repeat,linear-gradient(#edf6db,#edf6db) center top/1px 4px no-repeat,linear-gradient(#edf6db,#edf6db) center bottom/1px 4px no-repeat;box-shadow:none!important;opacity:.65}
.range-reticle::after{display:none!important}
.range-embedded .entry{position:relative;display:flex;align-items:center;min-height:100dvh;background:linear-gradient(90deg,#0b1716ed,#0b171675 65%,#0b17162b),url(/assets/range/range-preview.jpg) center/cover}
.range-embedded .entry>header,.range-embedded .entry>footer,.range-embedded .entry-selection{display:none}
.range-embedded .entry main{display:block;width:100%;padding:40px 6%;margin:0;position:relative}
.range-embedded .entry h1{font-size:clamp(48px,6vw,84px);max-width:8ch;margin:20px 0;line-height:1}
.range-embedded .entry .lede{font-size:clamp(16px,2vw,20px);max-width:440px;color:#e0e7db}
.range-embedded .entry .setting{max-width:440px;color:#c7d0c1}
.range-embedded .entry .specs{gap:28px}
.range-embedded .toolbar>.brand{display:none}
.range-embedded .toolbar select{max-width:260px}
@media(max-width:700px){.range-embedded .entry{background-position:60% center}.range-embedded .entry main{padding:32px 7%}.range-embedded .entry .setting{font-size:11px}.range-embedded .entry h1{font-size:58px}.range-embedded .toolbar select{max-width:48vw}}
/* Proportional movement stick; camera touches belong only to the scene. */
.environment-controls{position:absolute;left:26px;top:150px;display:flex;gap:6px;z-index:3}.environment-controls select,.environment-controls button{font-size:11px;min-height:34px;padding:7px 10px;background:#17251fe6}
@media(pointer:coarse),(max-width:760px){.environment-controls{left:16px;top:158px;max-width:225px;flex-wrap:wrap;gap:4px}.environment-controls select,.environment-controls button{font-size:10px;min-height:31px;padding:6px 8px}}
@media(max-height:520px) and (pointer:coarse){.environment-controls{left:240px;top:62px;max-width:250px}}
.gyro-controls{display:none}
@media(pointer:coarse),(max-width:760px){
 .joystick-wrap{pointer-events:none;display:grid;justify-items:center;gap:5px}
 .joystick{width:116px;height:116px;position:relative;border:1px solid #d5dfb777;border-radius:50%;background:radial-gradient(circle,#344b3866,#14231cbb);pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none}
 .joystick::before,.joystick::after{content:'';position:absolute;background:#d5dfb733;pointer-events:none}
 .joystick::before{width:1px;top:12px;bottom:12px;left:50%}.joystick::after{height:1px;left:12px;right:12px;top:50%}
 .joystick-knob{position:absolute;inset:calc(50% - 22px);width:44px;height:44px;border-radius:50%;border:1px solid #d5dfb7a0;background:#6f8957e0;pointer-events:none;will-change:transform}
 .joystick.pressed .joystick-knob{background:#c7d99e}.joystick-caption{font-size:9px;letter-spacing:.13em;color:#fff6dc;text-shadow:0 1px 4px #000}
 .touch-controls{align-items:end;bottom:96px}.touch-alt{align-self:end}.telemetry{bottom:245px}
 .gyro-controls{display:flex;position:absolute;left:16px;right:16px;bottom:52px;gap:6px;align-items:center;flex-wrap:wrap;pointer-events:none}
 .gyro-controls button{pointer-events:auto;font-size:10px;min-height:34px;padding:6px 10px;background:#18261fe3}
 .gyro-controls [aria-pressed=true]{border-color:var(--accent)}#gyro-status{font-size:9px;max-width:170px;color:#fff6dc;text-shadow:0 1px 4px #000}
 .lower-actions{bottom:8px}.lower-actions button,.lower-actions select{min-height:32px;padding:6px 9px}
 .touch-controls,.touch-controls *{touch-action:none;-webkit-user-select:none;user-select:none}
}
@media(max-height:520px) and (pointer:coarse){.joystick{width:96px;height:96px}.touch-controls{bottom:85px}.telemetry{bottom:210px}.telemetry strong{font-size:21px}.range-label{top:65px}.map-panel{top:65px}.map-panel:not(.expanded){width:96px}.gyro-controls{bottom:44px}.gyro-controls #gyro-status{max-width:240px}}
.activity-status{position:absolute;top:204px;left:26px;max-width:310px;display:grid;gap:6px;pointer-events:none;text-shadow:0 1px 5px #000}.activity-status #objective{font-size:11px;line-height:1.6;color:#ebefdc}.session-panel{position:absolute;top:274px;left:26px;width:240px;z-index:5}.session-panel button,.session-panel select{font-size:11px;min-height:36px;padding:8px 10px;background:#17251ff2}.session-panel>button{min-height:34px;font-size:10px}.session-content{display:none;padding:14px;background:#12231bf2;border:1px solid var(--line);border-radius:4px;margin-top:5px;max-height:calc(100dvh - 340px);overflow:auto}.session-panel.expanded .session-content{display:grid;gap:8px}.session-content label{margin:0}.session-content small{font-size:10px;line-height:1.7;color:#b7c4ad}.session-content button[aria-pressed=true]{border-color:var(--accent)}.ability-controls{position:absolute;right:26px;bottom:115px;display:grid;gap:7px;width:245px;z-index:3}.ability-controls button{font-size:11px;background:#14271eea;min-height:42px}.ability-controls button:first-child{border-color:#a4c590a0}.ability-meter{font-size:10px;display:flex;align-items:center;gap:10px;text-shadow:0 1px 3px #000}.ability-meter progress{width:120px;height:5px;accent-color:#d8e6a4}.ability-meter span{min-width:75px}.ability-controls button:disabled{cursor:default}
.range-toast{position:absolute;top:92px;left:50%;transform:translateX(-50%);max-width:min(430px,calc(100vw - 580px));padding:8px 12px;background:#14231de8;border:1px solid var(--line);border-radius:4px;font-size:11px;line-height:1.5;z-index:4;pointer-events:none}.range-toast:empty{display:none}
.interior-panel{position:absolute;top:88px;right:22px;width:310px;max-height:calc(100dvh - 125px);overflow:auto;padding:16px;background:#10212aeF;border:1px solid #a9cad64d;border-radius:5px;z-index:6}.interior-panel h2{font-size:18px;font-weight:400;line-height:1.4;margin:12px 0}.interior-panel p{font-size:11px;line-height:1.65;color:#c3d0d0}.interior-panel button,.interior-panel select{font-size:11px;min-height:38px;width:100%;background:#20343e}.interior-panel select{max-width:100%}.interior-top{display:grid;gap:12px}.interior-top .eyebrow{color:#b4d8dd}.interior-panel canvas{width:100%;display:block;margin:12px 0}.interior-panel label{margin-top:12px}.interior-travel{display:flex;gap:6px;margin-top:7px}.interior-panel .interior-hint{font-size:10px;margin-bottom:0}.interior-panel #interior-interact:disabled{cursor:default}.aboard .map-panel,.aboard .range-label,.aboard .environment-controls,.aboard .activity-status,.aboard .session-panel,.aboard .ability-controls,.aboard .telemetry,.aboard .keyboard-hint,.aboard #camera,.aboard #home,.aboard .touch-alt [data-action=up],.aboard .touch-alt [data-action=down]{display:none}.aboard .range-toast{top:90px;left:24px;transform:none;max-width:420px}.aboard .touch-alt{grid-template-columns:repeat(2,48px)}
@media(pointer:coarse),(max-width:760px){.interior-panel{top:93px;right:12px;width:225px;max-height:calc(100dvh - 360px);padding:12px}.interior-panel h2{font-size:14px;margin:8px 0}.interior-panel p{font-size:10px}.interior-panel button,.interior-panel select{min-height:36px;font-size:10px;padding:7px}.interior-panel .interior-hint{display:none}.aboard .range-toast{top:auto;bottom:260px;left:16px;max-width:calc(100vw - 32px)}.aboard .touch-controls{bottom:90px}}
@media(max-height:520px) and (pointer:coarse){.interior-panel{top:60px;width:240px;max-height:calc(100dvh - 210px)}.interior-panel #interior-description{display:none}.aboard .range-toast{bottom:auto;top:65px;left:16px;right:auto;width:230px}.aboard .touch-controls{bottom:45px}.aboard .gyro-controls{bottom:6px;left:145px;max-width:calc(100vw - 160px)}}
@media(pointer:coarse),(max-width:760px){.activity-status{top:230px;left:16px;max-width:186px;gap:4px}.activity-status .eyebrow{font-size:8px}.activity-status #objective{font-size:9px;line-height:1.5}.session-panel{top:296px;left:16px;width:190px}.session-panel>button{font-size:9px;padding:6px 8px;min-height:31px}.session-content{max-height:calc(100dvh - 365px)}.ability-controls{top:248px;right:16px;bottom:auto;width:150px;gap:5px}.ability-controls button{font-size:9px;min-height:40px;padding:7px}.ability-meter{font-size:8px;gap:4px}.ability-meter span{min-width:61px}.ability-meter progress{width:75px}}
@media(pointer:coarse),(max-width:760px){.range-toast{top:auto;bottom:345px;left:16px;right:16px;transform:none;max-width:none;padding:7px 10px;font-size:10px}}
@media(max-height:520px) and (pointer:coarse){.activity-status{top:101px;left:240px;max-width:230px}.session-panel{top:150px;left:240px;width:185px}.session-content{max-height:calc(100dvh - 195px)}.ability-controls{top:65px;right:16px;width:145px}.ability-controls button{min-height:34px}.environment-controls{max-width:260px}.telemetry{bottom:208px}}
@media(max-height:520px) and (pointer:coarse){.range-toast{top:155px;bottom:auto;left:auto;right:16px;width:180px}}

.interior-top{grid-template-columns:1fr 1fr}.interior-top>.eyebrow{grid-column:1 / -1}.interior-panel.minimised>*:not(.interior-top){display:none}.interior-panel.minimised{max-height:none}.aboard .gyro-controls{z-index:7}
.interior-top #interior-view{grid-column:1 / -1;min-height:44px}.interior-top #interior-view:disabled{cursor:default}.interior-avatar-status{grid-column:1 / -1;font-size:10px;line-height:1.5;color:#f2dcab}.minimal-ui #interior-view{margin-top:6px}.minimal-ui .interior-avatar-status{display:block;margin-top:6px}
.interior-top>#interior-interact{grid-column:1 / -1;min-height:44px}
/* Ship navigation expands only while the map is open. */
.interior-panel.map-open:not(.minimised){width:min(760px,calc(100vw - 44px));max-height:calc(100dvh - 125px)}
.interior-map-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.interior-map-actions label{grid-column:1/-1;margin:4px 0 -2px}.interior-map-actions select{width:100%}.interior-map-body{min-width:0}.interior-map-body canvas{background:#101f29;border:1px solid #7e9ba34d;cursor:crosshair}.interior-map-body.show-ship-layers{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:14px;align-items:start}.interior-layers{display:grid;gap:6px;margin:12px 0}.interior-layers button{text-align:left;min-height:48px}.interior-layers button[aria-pressed=true]{border-color:#d8e6a4;background:#304448}.interior-layers small{display:block;color:#c5d2ce;line-height:1.4;margin-top:3px;font-size:10px}.interior-map-legend{border-left:2px solid #9db9b9;padding-left:10px}.interior-function-legend{display:flex;flex-wrap:wrap;gap:8px 14px;color:#d2ded8;font-size:10px;margin:12px 0}.interior-function-legend span{display:inline-flex;gap:5px;align-items:center}.interior-function-legend i{width:8px;height:8px;display:inline-block}.interior-destination-filters{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;border-top:1px solid #a9cad633;padding-top:12px}.interior-destination-filters label{margin:4px 0 0}.interior-destination-filters #interior-room-search,.interior-destination-filters label[for=interior-room-search],.interior-destination-filters #interior-clear-filters{grid-column:1/-1}.interior-destination-filters input{font:inherit;min-height:44px;min-width:0;width:100%;padding:10px;border:1px solid #a9cad650;border-radius:4px;color:#e7eee5;background:#152b35}.interior-destination-filters select{min-width:0}.interior-destination-filters label{grid-column:1/-1}.interior-destination-filters select{grid-column:1/-1}#interior-search-status{min-height:16px}#interior-selected-destination{padding:10px;background:#1d3841;border:1px solid #819e9340;border-radius:3px;color:#f0eccb;line-height:1.6}
@media(pointer:coarse),(max-width:760px){.interior-panel.map-open:not(.minimised){width:calc(100vw - 24px);max-height:calc(100dvh - 335px)}.interior-map-body.show-ship-layers{display:block}.interior-layers{grid-template-columns:1fr 1fr}.interior-layers button,.interior-map-actions button,.interior-map-actions select,.interior-destination-filters select,.interior-travel button{min-height:44px}.interior-function-legend{font-size:10px}.interior-map-actions{gap:6px}}
@media(max-height:520px) and (pointer:coarse){.interior-panel.map-open:not(.minimised){max-height:calc(100dvh - 105px);width:min(620px,calc(100vw - 24px))}.interior-map-body.show-ship-layers{display:grid;grid-template-columns:minmax(0,1fr) 210px}.interior-layers{grid-template-columns:1fr}}

/* Optional clear view keeps the essential actions and recovery controls. */
.minimal-ui .range-label,.minimal-ui .map-panel,.minimal-ui .environment-controls,.minimal-ui .activity-status,.minimal-ui .session-panel,.minimal-ui .telemetry,.minimal-ui .lower-actions,.minimal-ui .keyboard-hint,.minimal-ui .toolbar>.brand,.minimal-ui .toolbar>label,.minimal-ui .toolbar>select,.minimal-ui .joystick-caption,.minimal-ui #gyro-status,.minimal-ui .interior-panel>*:not(.interior-top),.minimal-ui .interior-top>.eyebrow,.minimal-ui #interior-collapse{display:none}
.minimal-ui .interior-panel{max-height:none;width:185px;padding:8px;background:#10212ac9}.minimal-ui .interior-top{display:block}
.minimal-ui .interior-panel.map-open:not(.minimised){width:185px;max-height:none}
#ui-toggle{font-size:11px;min-width:70px}#ui-toggle[aria-pressed=true]{border-color:var(--accent)}
@media(pointer:coarse),(max-width:760px){.toolbar>.brand{display:none}.toolbar select{max-width:37vw}#ui-toggle{font-size:9px;min-width:52px;padding:6px}.minimal-ui .interior-panel{width:150px;top:65px}.minimal-ui .touch-controls{opacity:.85}}
@media(pointer:coarse),(max-width:760px){.minimal-ui .interior-panel.map-open:not(.minimised){width:150px;max-height:none}}

/* Progressive ship destinations: one set of choices at a time. */
.interior-panel.map-open:not(.minimised){width:min(900px,calc(100vw - 44px))}
.ship-navigation-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:22px;margin-top:14px;align-items:start}
.ship-destination-picker,.ship-map-preview{min-width:0}
.ship-room-search{display:grid;gap:7px}.ship-room-search label{margin:0;font-size:11px;color:#d9e4df}
.ship-room-search input{font:inherit;font-size:12px;min-height:44px;width:100%;min-width:0;padding:10px;border:1px solid #a9cad650;border-radius:4px;color:#e7eee5;background:#152b35}
.ship-destination-path{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:12px 0 16px}
.ship-destination-path button{min-width:0;min-height:44px;text-align:left;padding:9px;font-size:10px;line-height:1.5}
.ship-destination-path button[aria-current=step]{border-color:#d8e6a4;background:#304448;color:#edf3d8}.ship-destination-path button:disabled{opacity:.45}
#interior-step-heading{font-size:14px;font-weight:500;margin:0 0 12px;color:#e2e9de}
.ship-destination-choices{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ship-destination-choices button,.ship-search-results button,.ship-lift-choices button{min-height:48px;min-width:0;text-align:left;padding:10px;line-height:1.5;overflow-wrap:anywhere}
.ship-destination-choices button span,.ship-search-results button span{display:block;color:#e7eee5}
.ship-destination-choices button small,.ship-search-results button small{display:block;font-size:10px;line-height:1.5;color:#b6cbcb;margin-top:5px;font-weight:400}
.ship-destination-choices[data-step=layer] button{min-height:86px}.ship-destination-choices[data-step=room]{grid-template-columns:1fr}
.ship-destination-choices button[data-function]{border-left-width:3px}.ship-destination-choices button[aria-pressed=true]{border-color:#d8e6a4;background:#304448}
.ship-search-results{list-style:none;padding:0;margin:0;display:grid;gap:8px}.ship-search-results[hidden]{display:none}
.ship-map-preview summary{font-size:11px;cursor:pointer;min-height:44px;display:flex;align-items:center;border-bottom:1px solid #a9cad633;color:#dce7de}.ship-map-preview summary::before{content:'▸';margin-right:8px}.ship-map-preview[open] summary::before{content:'▾'}
.ship-map-preview .interior-map-actions{grid-template-columns:1fr 1fr}.ship-map-preview #interior-map-current{grid-column:1/-1}
.ship-lift-choices{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.interior-panel.map-open:not(.minimised)>#interior-description,.interior-panel.map-open:not(.minimised)>#interior-mode,.interior-panel.map-open:not(.minimised)>.interior-hint{display:none}
.interior-panel.map-open:not(.minimised) .interior-top>#interior-view,.interior-panel.map-open:not(.minimised) .interior-top>#interior-caddy,.interior-panel.map-open:not(.minimised) .interior-top>.interior-avatar-status,.interior-panel.map-open:not(.minimised) .interior-top>#interior-interact{display:none}
.interior-panel.map-open:not(.minimised)>h2{font-size:14px;margin:12px 0}.ship-destination-picker button:focus-visible,.ship-map-preview button:focus-visible,.ship-room-search input:focus-visible{outline:2px solid #d8e6a4;outline-offset:2px}
@media(pointer:coarse),(max-width:760px){.interior-panel.map-open:not(.minimised){width:calc(100vw - 24px);top:65px;max-height:calc(100dvh - 82px)}.ship-navigation-layout{display:block;margin-top:14px}.ship-map-preview{margin-top:18px}.ship-destination-choices button,.ship-search-results button,.ship-destination-path button,.ship-lift-choices button{min-height:48px;font-size:11px}.ship-destination-choices[data-step=layer] button{min-height:82px}.aboard.ship-navigation-open .touch-controls,.aboard.ship-navigation-open .gyro-controls{display:none}}
/* Keep the existing compact hidden-interface state ahead of map styling. */
.minimal-ui .interior-panel.map-open:not(.minimised){width:185px;max-height:none}.minimal-ui .interior-panel.map-open:not(.minimised) .interior-top>#interior-view,.minimal-ui .interior-panel.map-open:not(.minimised) .interior-top>#interior-caddy{display:block}
@media(pointer:coarse),(max-width:760px){.minimal-ui .interior-panel.map-open:not(.minimised){width:150px}}

#interior-search-status:empty{display:none}

/* Crew greetings and caddy horn remain available in the compact play toolbar. */
#interior-honk,#interior-crew-interact{grid-column:1/-1;min-height:44px}
.interior-panel.map-open:not(.minimised) .interior-top>#interior-honk,.interior-panel.map-open:not(.minimised) .interior-top>#interior-crew-interact{display:none}
.minimal-ui .interior-panel.map-open:not(.minimised) .interior-top>#interior-honk:not([hidden]),.minimal-ui .interior-panel.map-open:not(.minimised) .interior-top>#interior-crew-interact:not([hidden]){display:block}
.interior-panel.minimised .interior-top{gap:8px}
.interior-panel.minimised .interior-top>.interior-avatar-status,.minimal-ui .interior-top>.interior-avatar-status{display:none}

/* Mobile play presents only thumb controls and a compact menu/map bar. */
.mobile-hud-bar,.mobile-action-dock{display:none}
.save-entry{display:grid;gap:9px;max-width:330px;margin-top:12px}.save-entry button{font-size:13px}.save-entry p{font-size:11px;color:var(--muted);line-height:1.6;margin:0}.save-entry #continue-game{border-color:var(--accent)}
#saves-dialog{max-width:560px}#close-saves{float:right;min-width:44px;min-height:44px}#saves-dialog h2{margin-top:0}#saves-dialog details{margin:18px 0;border-top:1px solid var(--line);padding-top:14px}#saves-dialog summary{font-size:13px}#saves-dialog input[type=file]{display:block;width:100%;margin:12px 0;font-size:12px}#save-actions,#save-recovery{display:grid;gap:9px;margin:16px 0}#saves-dialog button{min-height:44px}#save-preview{border:1px solid var(--line);padding:16px;margin:16px 0}#save-preview h3{font-size:16px}#save-preview button{margin:4px 8px 4px 0;font-size:12px}#save-status,#save-message{color:#f0dfb4}
#saves-dialog input[type=file]{min-height:44px}#saves-dialog input[type=file]::file-selector-button{min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:4px;background:#223c30;color:#edf2e5;margin-right:8px}
.mobile-hud .toolbar,.mobile-hud .range-label,.mobile-hud .activity-status,.mobile-hud .environment-controls,.mobile-hud .session-panel,.mobile-hud .ability-controls,.mobile-hud .lower-actions,.mobile-hud .gyro-controls,.mobile-hud .keyboard-hint,.mobile-hud .walking-hint,.mobile-hud .range-toast,.mobile-hud .joystick-caption,.mobile-hud .touch-alt{display:none!important}
.mobile-hud .telemetry{display:none}.mobile-hud .mobile-show-instruments .telemetry{display:flex;top:68px;bottom:auto;left:16px;gap:16px}.mobile-hud .telemetry strong{font-size:18px}.mobile-hud .telemetry span{font-size:7px}
.mobile-hud .touch-controls,.mobile-hud .aboard .touch-controls{bottom:max(22px,env(safe-area-inset-bottom));left:max(18px,env(safe-area-inset-left));right:auto;z-index:7}.mobile-hud .joystick{width:116px;height:116px}
.mobile-hud .mobile-hud-bar{display:flex;position:absolute;inset:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) auto max(12px,env(safe-area-inset-left));gap:8px;z-index:14;pointer-events:none;align-items:start}
.mobile-hud #mobile-map-toggle{margin-right:auto;order:-1}
.mobile-hud .mobile-icon,.mobile-hud .mobile-altitude-controls button{display:grid;place-items:center;width:50px;height:50px;min-width:44px;min-height:44px;border-radius:50%;padding:11px;background:#13271ecb;border:1px solid #cde2d077;box-shadow:0 2px 8px #0002;pointer-events:auto;touch-action:none;color:#eaf6de}
.mobile-hud .mobile-hud-bar .mobile-icon{width:44px;height:44px;padding:10px}
.mobile-hud .mobile-icon svg,.mobile-hud .mobile-altitude-controls svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.mobile-hud .mobile-icon:disabled{opacity:.35}.mobile-hud #mobile-fire{color:#addefc;border-color:#a6d4ed99}.mobile-hud #mobile-land{color:#d8e6a4}
.mobile-hud .mobile-action-dock{display:grid;grid-template-columns:repeat(2,50px);gap:10px;position:absolute;right:max(18px,env(safe-area-inset-right));bottom:max(22px,env(safe-area-inset-bottom));z-index:7;align-items:end;pointer-events:none}
.mobile-hud .mobile-altitude-controls{grid-column:1/-1;display:flex;gap:10px;pointer-events:none}.mobile-hud .mobile-altitude-controls[hidden]{display:none}
.mobile-hud .map-panel:not(.expanded){display:none}.mobile-hud .map-panel.expanded{top:68px;right:12px;width:min(380px,calc(100vw - 24px));max-height:calc(100dvh - 84px)}
.mobile-hud .mobile-map-open .touch-controls,.mobile-hud .mobile-map-open .mobile-action-dock{display:none}
.mobile-hud #interior-panel{display:none}.mobile-hud #interior-panel.map-open:not(.minimised){display:block;top:68px;right:12px;width:calc(100vw - 24px);max-height:calc(100dvh - 84px)}
.mobile-hud #interior-panel .interior-top,.mobile-hud #interior-map-toggle,.mobile-hud #interior-panel>h2{display:none}
.mobile-hud #mobile-settings{padding:24px;max-width:520px;width:calc(100vw - 28px);max-height:calc(100dvh - 40px)}
.mobile-hud #mobile-settings h2{font-size:24px;margin:0 40px 20px 0}.mobile-hud #mobile-settings-close{position:absolute;right:14px;top:14px;min-width:44px;min-height:44px;font-size:24px;padding:0}
.mobile-hud #mobile-settings details{padding:14px 0;border-top:1px solid var(--line)}.mobile-hud #mobile-settings summary{font-size:13px;min-height:34px;padding-top:8px}
.mobile-hud #mobile-settings details>div,.mobile-hud #mobile-system-settings{display:grid;gap:10px;padding-top:8px}.mobile-hud #mobile-settings label{font-size:12px;margin:8px 0 0}.mobile-hud #mobile-settings input[type=checkbox]{min-width:20px;min-height:20px;vertical-align:middle;margin-right:6px}
.mobile-hud #mobile-settings button,.mobile-hud #mobile-settings select{min-height:44px;width:100%;font-size:12px}.mobile-hud #mobile-settings .session-content{display:grid;position:static;max-height:none;margin:0;padding:0;border:0;background:none}
.mobile-hud #mobile-settings #mobile-settings-close{width:44px;height:44px;min-width:44px;font-size:24px;padding:0;border:0;background:none}
.mobile-hud #mobile-settings .session-content{gap:9px}
.mobile-hud .mobile-icon,.mobile-hud .mobile-altitude-controls button{background:transparent;border-color:transparent;box-shadow:none;color:#fff}
.mobile-hud #mobile-fire{color:#a9deff;border-color:transparent}.mobile-hud #mobile-land{color:#ffe4a4;border-color:transparent}
.mobile-hud #mobile-use,.mobile-hud #mobile-console,.mobile-hud #mobile-crew{color:#c0f3d0}.mobile-hud #mobile-caddy,.mobile-hud #mobile-honk{color:#d8cdff}
.mobile-hud #mobile-settings-toggle.save-warning{color:#ffd399}
.mobile-hud .mobile-icon svg,.mobile-hud .mobile-altitude-controls svg{filter:drop-shadow(0 0 3px currentColor) drop-shadow(0 1px 2px #000b)}
.mobile-hud .mobile-icon:active svg,.mobile-hud .mobile-altitude-controls button:active svg{filter:drop-shadow(0 0 5px #fffb) drop-shadow(0 1px 2px #000b)}
.mobile-hud #mobile-settings #help{font-size:13px}.mobile-hud #mobile-settings #help::after{content:' Current guidance & mission help'}.mobile-hud #mobile-settings #leave{font-size:12px}
.mobile-hud #mobile-tutorial{position:absolute;top:72px;left:16px;max-width:min(292px,calc(100vw - 32px));padding:14px 42px 12px 14px;border:1px solid #b9d4b76e;border-radius:8px;background:#14271de6;z-index:9;color:#e4edda}
.mobile-hud #mobile-tutorial strong{font-size:12px;font-weight:600}.mobile-hud #mobile-tutorial p{font-size:11px;line-height:1.6;margin:6px 0 0}.mobile-hud #mobile-tutorial-close{position:absolute;right:2px;top:2px;min-width:38px;min-height:38px;border:0;background:none;padding:0;font-size:22px}
.mobile-hud #help-dialog>:not(#close-help):not(.mobile-context-guide){display:none}.mobile-context-guide{display:none}.mobile-hud .mobile-context-guide{display:block}
@media(max-height:520px){.mobile-hud .joystick{width:96px;height:96px}.mobile-hud .mobile-action-dock{grid-template-columns:repeat(3,46px);gap:7px}.mobile-hud .mobile-icon,.mobile-hud .mobile-altitude-controls button{width:46px;height:46px}.mobile-hud .mobile-altitude-controls{grid-column:auto;gap:7px}.mobile-hud #mobile-tutorial{top:65px;max-width:300px}.mobile-hud .touch-controls,.mobile-hud .aboard .touch-controls,.mobile-hud .mobile-action-dock{bottom:max(16px,env(safe-area-inset-bottom))}}

/* Desktop uses the same clear, unbacked glyphs while retaining its controls. */
.desktop-hud .desktop-icon,.desktop-hud #mobile-settings-toggle{display:inline-grid;place-items:center;position:relative;width:46px;min-width:44px;height:44px;min-height:44px;padding:10px;border:1px solid transparent;border-radius:4px;background:transparent;box-shadow:none;font-size:0!important;line-height:0;color:#fff;vertical-align:middle}
.desktop-hud .desktop-icon::before{content:'';width:25px;height:25px;background:currentColor;mask:var(--hud-icon) center/contain no-repeat;filter:drop-shadow(0 0 3px currentColor) drop-shadow(0 1px 2px #000b)}
.desktop-hud #mobile-settings-toggle svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 3px currentColor) drop-shadow(0 1px 2px #000b)}
.desktop-hud .desktop-icon:disabled{opacity:.35;cursor:default}.desktop-hud .desktop-icon:active::before{filter:drop-shadow(0 0 5px currentColor)}
.desktop-hud #ability-fire{color:#a9deff}.desktop-hud #landing-toggle{color:#ffe4a4}.desktop-hud #ability-use,.desktop-hud #interior-interact,.desktop-hud #interior-crew-interact{color:#c0f3d0}.desktop-hud #interior-caddy,.desktop-hud #interior-honk{color:#d8cdff}.desktop-hud #mobile-settings-toggle.save-warning{color:#ffd399}
.desktop-hud .toolbar{background:linear-gradient(#101a1699,transparent)}.desktop-hud .toolbar-actions{gap:4px}.desktop-hud .ability-controls{width:auto;grid-template-columns:repeat(2,46px);gap:6px;bottom:76px}.desktop-hud .ground-controls{grid-column:1/-1;display:flex;justify-content:end;gap:6px}.desktop-hud #ground-status,.desktop-hud #greg-laser-status{position:absolute;right:0;bottom:100%;width:260px;text-align:right;font-size:10px;line-height:1.6;pointer-events:none}.desktop-hud .ability-meter{grid-column:1/-1;justify-content:end}.desktop-hud .ability-meter progress{width:55px}.desktop-hud .ability-meter span{min-width:0}.desktop-hud .keyboard-hint{bottom:12px;max-width:560px;opacity:.8}.desktop-hud .lower-actions{align-items:center}.desktop-hud .map-panel>button.desktop-icon{display:grid;width:100%;height:44px;justify-content:end;padding-right:14px;border-bottom-color:var(--line)}.desktop-hud .map-panel>button.desktop-icon span{display:none}
.desktop-ground-actions{display:flex;position:absolute;right:26px;bottom:208px;align-items:center;gap:7px;z-index:6}.desktop-ground-actions #caddy-status{position:absolute;right:0;bottom:100%;width:280px;text-align:right;pointer-events:none;font-size:10px;line-height:1.6;color:#f2dcab}
.desktop-hud #mobile-settings{padding:24px;max-width:520px;width:calc(100vw - 28px);max-height:calc(100dvh - 40px)}.desktop-hud #mobile-settings h2{font-size:24px;margin:0 40px 20px 0}.desktop-hud #mobile-settings-close{position:absolute;right:14px;top:14px;min-width:44px;min-height:44px;width:44px;font-size:24px;padding:0;border:0;background:none}
.desktop-hud #mobile-settings details{padding:14px 0;border-top:1px solid var(--line)}.desktop-hud #mobile-settings summary{font-size:13px;min-height:34px;padding-top:8px}.desktop-hud #mobile-settings details>div,.desktop-hud #mobile-system-settings{display:grid;gap:10px;padding-top:8px}.desktop-hud #mobile-settings label{font-size:12px;margin:8px 0 0}.desktop-hud #mobile-settings input[type=checkbox]{min-width:20px;min-height:20px;vertical-align:middle;margin-right:6px}.desktop-hud #mobile-settings button:not(#mobile-settings-close),.desktop-hud #mobile-settings select{min-height:44px;width:100%;font-size:12px}.desktop-hud #mobile-settings #mobile-settings-close{font-size:24px}
.craft-flight .range-reticle{top:39%}
.desktop-hide-instruments .telemetry{display:none}
.desktop-hud button.desktop-icon{background:transparent!important;border-color:transparent!important;box-shadow:none!important}
.hud-walking .telemetry{display:none!important}
.desktop-hud .toolbar{z-index:14}

/* Persistent toggle state, after the established icon-only HUD rules. */
.desktop-hud button.desktop-icon[aria-pressed="true"],.mobile-hud button[aria-pressed="true"],.desktop-hud button[aria-expanded="true"],.mobile-hud button[aria-expanded="true"]{border-color:#dcf2a2!important;box-shadow:0 0 0 1px #dcf2a26b,0 0 14px #b9e46a70,inset 0 0 10px #c4df7b18!important}
.desktop-hud button.desktop-icon[aria-pressed="false"],.mobile-hud button[aria-pressed="false"]{box-shadow:none!important}
.desktop-hud .desktop-icon::before,.mobile-hud .mobile-icon svg,.mobile-hud .mobile-altitude-controls svg{filter:drop-shadow(0 1px 2px #000b)}
.desktop-hud .desktop-icon[aria-pressed="true"]::before,.mobile-hud .mobile-icon[aria-pressed="true"] svg{filter:drop-shadow(0 0 5px #dcf2a2)}

/* Mothership exploration keeps its view clear between the edge controls. */
.mothership-edge-hud .mothership-edge{position:absolute;z-index:16;pointer-events:none}
.mothership-edge-hud .mothership-edge button{pointer-events:auto;min-width:44px;min-height:44px}
.mothership-edge-hud .mothership-navigation-dock{top:max(16px,env(safe-area-inset-top));left:max(22px,env(safe-area-inset-left));display:flex;align-items:center;gap:10px;max-width:40vw}
.mothership-navigation-dock #interior-room{margin:0;max-width:260px;font-size:12px;line-height:1.5;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 4px #000}
.mothership-edge-hud .mothership-exit-dock{top:max(16px,env(safe-area-inset-top));right:max(22px,env(safe-area-inset-right));display:flex;align-items:center}
.mothership-edge-hud .toolbar{padding-right:82px;justify-content:flex-end}.mothership-edge-hud .toolbar>.brand,.mothership-edge-hud .toolbar>label,.mothership-edge-hud .toolbar>select{display:none}
.mothership-edge-hud .lower-actions{display:none}
.mothership-edge-hud .mothership-actions-dock{right:max(22px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));display:flex;gap:8px;align-items:center}
.mothership-edge-hud .mothership-lift-dock{left:max(22px,env(safe-area-inset-left));bottom:max(24px,env(safe-area-inset-bottom));max-width:min(380px,42vw)}
.mothership-lift-dock #interior-lift{pointer-events:auto;background:#10212aeb;border:1px solid #a9cad64d;border-radius:5px;padding:12px;max-height:40dvh;overflow:auto}.mothership-lift-dock p{margin:0 0 8px;font-size:12px}
.mothership-edge-hud #interior-panel{display:none!important}.mothership-edge-hud #interior-panel.map-open:not(.minimised){display:block!important;left:max(22px,env(safe-area-inset-left));right:auto;top:76px;max-height:calc(100dvh - 94px)}
.mothership-edge-hud #interior-panel>.interior-top,.mothership-edge-hud #interior-collapse{display:none!important}
.mothership-edge-hud.minimal-ui .mothership-lift-dock,.mothership-edge-hud.minimal-ui .mothership-navigation-dock{display:none}
.mothership-edge-hud .mothership-avatar-dock{top:76px;left:50%;transform:translateX(-50%);width:min(440px,calc(100vw - 44px));text-align:center}
.mothership-avatar-dock .interior-avatar-status{display:block;margin:0;padding:8px 12px;background:#10212aeb;border:1px solid #f2dcab66;border-radius:5px;color:#f2dcab;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.mothership-exit-status{position:absolute;right:0;top:100%;width:min(320px,80vw);font-size:12px;line-height:1.5;color:#f5dfb3;text-shadow:0 1px 4px #000}
.mothership-exit-dialog{max-width:430px}.mothership-exit-dialog h2{font-size:25px;margin-top:0}.mothership-exit-choices{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap}.mothership-exit-choices button{min-height:44px}.mothership-exit-dialog [role=status]{color:#f5dfb3}
.mobile-hud .mothership-edge-hud .mothership-navigation-dock{top:68px;left:16px;max-width:calc(100vw - 32px)}
.mobile-hud .mothership-navigation-dock #interior-map-toggle,.mobile-hud .mothership-edge-hud .mothership-actions-dock{display:none}
.mobile-hud .mothership-edge-hud .mothership-exit-dock{top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right))}
.mobile-hud .mothership-edge-hud .mobile-hud-bar{left:72px;right:72px;justify-content:flex-end}.mobile-hud .mothership-edge-hud #mobile-map-toggle{position:fixed;top:max(12px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left))}
.mobile-hud .mothership-exit-dock #interior-return{width:50px;height:50px;padding:10px;font-size:0;background:transparent;border-color:transparent;color:#fff}
.mobile-hud .mothership-exit-dock #interior-return::before{content:'';display:block;width:28px;height:28px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 4H4v16h6M8 12h13m-5-5 5 5-5 5' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.mobile-hud .mothership-edge-hud .mothership-lift-dock{left:16px;bottom:190px;max-width:calc(100vw - 150px)}
.mobile-hud .mothership-edge-hud #interior-panel.map-open:not(.minimised){top:100px;left:12px;width:calc(100vw - 24px);max-height:calc(100dvh - 116px)}
.mothership-edge-hud.ship-object-open #interior-panel{visibility:hidden}
.mothership-edge-hud.minimal-ui #interior-panel.map-open:not(.minimised){display:none!important}
@media(max-height:520px){.mobile-hud .mothership-edge-hud .mothership-lift-dock{left:156px;bottom:22px;max-width:calc(100vw - 340px)}.mobile-hud .mothership-lift-dock #interior-lift{max-height:40dvh}.mobile-hud .mothership-navigation-dock #interior-room{max-width:48vw}}
/* Preparation remains genuine while the passenger transfer stays visible. */
.range-transfer-loading .app{visibility:visible;pointer-events:auto}
.range-transfer-loading .ability-controls,.range-transfer-loading .desktop-ground-actions,.range-transfer-loading .touch-controls,.range-transfer-loading .mobile-action-dock,.range-transfer-loading .map-panel,.range-transfer-loading #mobile-map-toggle{display:none!important}
.range-transfer-loading #game-loading{background:transparent;place-items:end center;padding:16px;pointer-events:none}
.range-transfer-loading #game-loading>div{width:min(420px,calc(100vw - 32px));padding:12px 16px;background:#10212aeb;border:1px solid #a9cad64d;border-radius:6px}
.range-transfer-loading #game-loading .eyebrow,.range-transfer-loading #game-loading .loading-note{display:none}
.range-transfer-loading #game-loading-label{font-size:14px;margin:0 0 8px}.range-transfer-loading #game-loading-percent{font-size:11px;margin:5px 0 0}

/* Speech remains readable over bright terrain, dark rooms and minimal HUD mode. */
#range-dialogue{position:absolute;z-index:90;left:50%;bottom:max(92px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(680px,calc(100% - 48px));box-sizing:border-box;padding:12px 18px;background:rgba(6,12,18,.94);border:1px solid #b8d9e44d;border-radius:6px;color:#fff;box-shadow:0 3px 18px #0007;pointer-events:none;text-align:center;line-height:1.5;font-size:clamp(15px,1.35vw,18px);overflow-wrap:anywhere;text-shadow:0 1px 2px #000}
#range-dialogue[hidden]{display:none!important}
.range-dialogue-speaker{display:block;margin-bottom:3px;color:#bce5ef;font-size:.82em;letter-spacing:.025em;font-weight:700}
.range-dialogue-text{display:block;min-height:3em;white-space:pre-wrap}
.range-dialogue-announcement{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.range-loading #range-dialogue{visibility:hidden}
.mobile-hud #range-dialogue{bottom:max(190px,calc(env(safe-area-inset-bottom) + 174px));width:calc(100% - 28px);padding:10px 13px;font-size:15px}
.mobile-hud .on-foot #range-dialogue{bottom:max(284px,calc(env(safe-area-inset-bottom) + 268px))}
@media(max-height:520px){#range-dialogue,.mobile-hud #range-dialogue,.mobile-hud .on-foot #range-dialogue{bottom:max(12px,env(safe-area-inset-bottom));width:min(680px,calc(100% - 328px));padding:8px 12px;font-size:14px;line-height:1.4}.range-dialogue-text{min-height:2.8em}}

/* Fullscreen communicates state through its label; no active-mode glow. */
#fullscreen[aria-pressed="true"],#desktop-setting-fullscreen[aria-pressed="true"]{box-shadow:none!important;border-color:#c6d5c24d!important;background:#102319d9!important}
#fullscreen[aria-pressed="true"]::before,#desktop-setting-fullscreen[aria-pressed="true"]::before{filter:none!important}
#quick-return-craft,#caddy-headlights,#mission-floor-guide{position:absolute;z-index:6;min-height:44px;font-size:11px;padding:10px 13px;background:#102319e8;border:1px solid #b8ccb266;border-radius:6px;color:#eef4dc}
#quick-return-craft{left:50%;bottom:18px;transform:translateX(-50%)}
#caddy-headlights{right:20px;bottom:178px}#mission-floor-guide{right:20px;bottom:230px}
.mothership-edge #caddy-headlights,.mothership-edge #mission-floor-guide{position:static;transform:none}
.mobile-hud #quick-return-craft{left:16px;top:120px;bottom:auto;transform:none;max-width:130px}
.mobile-hud #caddy-headlights{right:14px;bottom:242px}.mobile-hud #mission-floor-guide{right:14px;bottom:294px}
/* Each caddy control retains its own slot as controls appear or disappear. */
.desktop-hud .desktop-ground-actions{display:block;right:20px;bottom:176px;width:158px;height:46px;pointer-events:none}
.desktop-hud .desktop-ground-actions button{pointer-events:auto}
.desktop-hud .desktop-ground-actions #interior-caddy{position:absolute;right:108px;bottom:0}
.desktop-hud .desktop-ground-actions #interior-honk{position:absolute;right:54px;bottom:0}
.desktop-hud #caddy-headlights{right:20px;bottom:176px;width:46px;height:46px;padding:10px}
.desktop-hud .mothership-edge-hud .mothership-actions-dock{padding-right:162px;min-height:46px}
.desktop-hud .mothership-edge-hud #interior-caddy{position:fixed;right:130px;bottom:max(24px,env(safe-area-inset-bottom))}
.desktop-hud .mothership-edge-hud #interior-honk{position:fixed;right:76px;bottom:max(24px,env(safe-area-inset-bottom))}
.desktop-hud .mothership-edge-hud #caddy-headlights{position:fixed;right:22px;bottom:max(24px,env(safe-area-inset-bottom))}
.mobile-hud .mobile-altitude-controls{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(158px,calc(env(safe-area-inset-bottom) + 158px));width:110px;justify-content:space-between}
@media(max-height:520px){.mobile-hud .mobile-altitude-controls{right:max(18px,env(safe-area-inset-right));bottom:max(122px,calc(env(safe-area-inset-bottom) + 122px));width:99px}}

.mothership-edge-hud .mothership-utilities-dock{right:max(22px,env(safe-area-inset-right));bottom:84px;display:flex;gap:8px}.mothership-utilities-dock button{width:44px;height:44px;padding:8px!important}.mobile-hud .mothership-edge-hud .mothership-utilities-dock{right:14px;bottom:242px;flex-direction:column}
