/* v0.4 — immersive drydock. Existing management screens remain accessible. */
body[data-view="salvage"]{overflow:hidden;background:#080e12}
body[data-view="salvage"] .game-shell{max-width:none;height:100svh;min-height:640px;padding:0;position:relative;isolation:isolate}
body[data-view="salvage"] .workspace{position:absolute;inset:0;display:block;min-height:0;padding:0}
body[data-view="salvage"] .bay{position:absolute;inset:0;min-height:0;height:auto;border:0;border-radius:0;background:#111b21 url('assets/drydock.png') center/cover no-repeat}
body[data-view="salvage"] .bay::before{background:linear-gradient(180deg,#03090ed9 0%,transparent 26%,transparent 67%,#03090ee6 100%),linear-gradient(90deg,#03090e55,transparent 28%,transparent 72%,#03090e55);z-index:0}
body[data-view="salvage"] .topbar{position:absolute;top:0;left:0;right:0;height:78px;padding:0 30px;border-bottom:1px solid #98b4bd26;z-index:6;background:linear-gradient(#071017ed,#07101766);gap:24px}
body[data-view="salvage"] .brand{font-size:18px;letter-spacing:3px}.brand-light{letter-spacing:4px}
body[data-view="salvage"] .session-label{margin-left:8px;color:#aec1c8}
body[data-view="salvage"] .yard-toolbar{position:absolute;top:88px;left:28px;right:28px;z-index:5;padding:0;border:0;gap:10px}
body[data-view="salvage"] .bay-tab{background:#0c1b24c9;backdrop-filter:blur(10px);border-radius:3px}
body[data-view="salvage"] .bay-tab.active{border-color:#d39950;background:#372c1bcc}
body[data-view="salvage"] .rank-button{background:#0b1821bb;padding:10px;border-radius:3px}
body[data-view="salvage"] .save-status{display:none}
body[data-view="salvage"] .view-tabs{position:absolute;right:28px;top:140px;z-index:5;padding:0;gap:4px;background:#0a1720c9;border:1px solid #789aa52b;backdrop-filter:blur(12px)}
body[data-view="salvage"] .view-tabs button{font-size:14px;padding:10px 14px}
body[data-view="salvage"] .mission-panel{position:absolute;top:154px;left:30px;width:258px;padding:17px 18px;background:linear-gradient(110deg,#0a1721e8,#0a172199);border-left:2px solid #eba758;z-index:4;display:block;backdrop-filter:blur(12px)}
body[data-view="salvage"] .mission-panel h1{font-size:27px;margin:10px 0 16px;letter-spacing:-.6px}
body[data-view="salvage"] .label-row{font-size:14px}
body[data-view="salvage"] .mission-panel .progress-track{display:block;margin:9px 0 12px;height:3px}
.mission-details summary,.inspector>summary,.cargo-panel>summary{cursor:pointer;font-size:14px;color:#aec2cb;min-height:36px;padding:9px 0}
body[data-view="salvage"] .mission-details[open]{max-height:calc(100svh - 320px);overflow:auto;scrollbar-width:thin}
body[data-view="salvage"] .mission-details .component-list{display:flex;flex-flow:column;max-height:250px;margin:12px 0;overflow:auto}
body[data-view="salvage"] .mission-details .component-button{width:100%;min-width:0;flex:none;min-height:48px;padding:8px}
body[data-view="salvage"] .mission-details .component-button>span:nth-child(2){display:block}
body[data-view="salvage"] .mission-details .component-status{display:block}
body[data-view="salvage"] .mission-separator{margin:16px 0}
body[data-view="salvage"] .mission-bottom{padding:12px 0;display:block}
body[data-view="salvage"] .mission-actions{display:grid}
body[data-view="salvage"] .canvas-wrap{inset:115px 115px 168px}
body[data-view="salvage"] .bay-top{top:auto;bottom:34px;left:30px;right:30px;z-index:2}
body[data-view="salvage"] .bay-watermark,body[data-view="salvage"] .bay-coordinate{display:none}
body[data-view="salvage"] .bay-hint{bottom:172px;font-size:14px;color:#c0d3d8;text-shadow:0 2px 5px #000;left:25%;right:25%}
body[data-view="salvage"] .tool-strip{left:auto;right:30px;bottom:110px;width:240px;min-height:55px;padding:10px;background:#091720bf;border-color:#789aa533;gap:8px}
body[data-view="salvage"] .tool-strip .tool-emblem{display:none}
body[data-view="salvage"] .tool-time{min-width:55px}
body[data-view="salvage"] .tool-strip small{font-size:12px;letter-spacing:0}
body[data-view="salvage"] .control-panel{position:absolute;right:30px;top:203px;width:240px;z-index:4;gap:8px}
body[data-view="salvage"] .inspector,body[data-view="salvage"] .cargo-panel{display:block;padding:8px 14px;background:#081620d9;border:1px solid #72909c3b;backdrop-filter:blur(12px);border-radius:3px;max-height:calc(100svh - 450px);overflow:auto}
body[data-view="salvage"] .inspect-heading{margin:12px 0}.inspector .inspect-heading h2{font-size:18px}
body[data-view="salvage"] .inspector>p{font-size:14px;min-height:0}
body[data-view="salvage"] .upgrade-card{padding:12px;background:#0d1c25c9;border-radius:3px}
body[data-view="salvage"] .recycle-button{position:fixed;right:30px;bottom:49px;width:240px;min-height:50px;border:1px solid #72d5cf;color:#aff5e7;background:#153733e8;border-radius:4px;justify-content:center}
body[data-view="salvage"] .action-dock{position:absolute;bottom:49px;left:50%;transform:translateX(-50%);z-index:5;width:390px;margin:0;padding:12px 14px;background:linear-gradient(#0d1d27e6,#07141bef);border:1px solid #66879366;border-top:2px solid #83b5be;border-radius:5px;box-shadow:0 12px 35px #0008;backdrop-filter:blur(16px)}
body[data-view="salvage"] .dock-selection{margin:0 0 8px}.dock-selection .small-action{background:transparent;border-color:#62808c44}
body[data-view="salvage"] .dock-selection .small-action{min-height:30px;min-width:32px;padding:0}
body[data-view="salvage"] .tool-picker{gap:8px}
body[data-view="salvage"] .tool-picker button{min-height:52px;background:linear-gradient(#253b49,#122430);border-radius:3px;border-color:#66849188;color:#bcd0d8}
body[data-view="salvage"] .tool-picker button.active{background:linear-gradient(#305556,#153235);border-color:#8fe5d8;color:#e0fff6;box-shadow:0 0 16px #6de8d122,inset 0 -3px #7edccb}
body[data-view="salvage"] .tool-picker button[data-tool="cutter"].active{background:linear-gradient(#584532,#33271a);border-color:#ffc177;box-shadow:inset 0 -3px #ffc177}
body[data-view="salvage"] .tool-picker kbd{display:inline;margin-left:6px}
body[data-view="salvage"] .action-dock .hold-button{min-height:40px;margin-top:8px;padding:9px 12px;font-size:14px}
body[data-view="salvage"] .hold-note{display:none}
body[data-view="salvage"] .dock-shortcuts{display:none}
.yard-stations{position:absolute;left:30px;top:45%;display:grid;gap:10px;z-index:3}
.yard-stations button{display:grid;grid-template-columns:36px 1fr;gap:3px 10px;align-items:center;min-height:61px;width:178px;text-align:left;background:linear-gradient(100deg,#10242ded,#0b1a23b3);border:1px solid #718f9955;border-left:2px solid #70cbbd;border-radius:3px;padding:10px 13px;box-shadow:0 8px 22px #0004;backdrop-filter:blur(6px)}
.yard-stations button:hover{background:#23424be8;border-color:#83d9d0}
.yard-stations button>span{grid-row:1/3;color:#8fddd3;font-size:28px;text-align:center}
.yard-stations strong{font-size:14px;font-weight:500}.yard-stations small{font-size:12px;color:#9eb6bf}
.part-callout{position:absolute;top:48%;right:10%;z-index:2;max-width:230px;padding:13px 18px;background:linear-gradient(90deg,#0b1e27ed,#0b1e2777);border-left:2px solid #8bcfc6;pointer-events:none;box-shadow:0 4px 18px #0003}
.part-callout small{font:12px var(--mono);color:#8fd8cb;display:block;letter-spacing:1px}.part-callout strong{display:block;font-size:16px;margin:7px 0}.part-callout>span{font-size:14px;color:#c6d6dc;line-height:1.5;display:block}
body[data-view="salvage"] .next-milestone{position:absolute;left:30px;bottom:56px;z-index:3;max-width:240px;padding:0;display:flex;gap:8px;font-size:12px}
body[data-view="salvage"] .next-milestone .progress-track{flex-basis:100%;max-width:210px;width:210px;order:2}
body[data-view="salvage"] .next-milestone button{display:none}
body[data-view="salvage"] .tutorial-panel{position:absolute;left:50%;top:145px;transform:translateX(-50%);z-index:6;max-width:430px;width:35%;margin:0;padding:12px 15px;gap:8px;background:#0c242ce8;backdrop-filter:blur(12px);flex-wrap:wrap;border-radius:4px}
body[data-view="salvage"] .tutorial-panel>div{flex-basis:100%;min-width:0}
body[data-view="salvage"] .tutorial-panel p{font-size:14px;line-height:1.5}
body[data-view="salvage"] .tutorial-panel button{min-height:32px;padding:5px 10px}
body[data-view="salvage"] .statusbar{position:absolute;bottom:0;left:30px;right:30px;margin:0;padding:9px 0;border:0;z-index:3;font-size:12px;height:30px;pointer-events:none;opacity:.65}
body[data-view="salvage"] .statusbar>span:first-child{max-width:70%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
body[data-view="salvage"] .drone-overlay{bottom:230px;left:50%;right:auto;transform:translateX(-50%);width:min(380px,70%);background:#0c292ded}
body[data-view="salvage"] .bay-empty{inset:34% auto auto 50%;transform:translateX(-50%);width:min(400px,85%);padding:30px;background:#0b1d27ed;border:1px solid #6daea5;z-index:4;backdrop-filter:blur(15px)}
.arrival-banner{position:absolute;top:40%;left:50%;transform:translate(-50%,-50%);z-index:7;pointer-events:none;text-align:center;padding:22px 36px;background:#0a1a24e8;border-top:1px solid #ccab75;border-bottom:1px solid #ccab75;box-shadow:0 15px 65px #0008}
.arrival-banner small{color:#d4b582;font:12px var(--mono);letter-spacing:2px}.arrival-banner strong{display:block;font-size:28px;margin-top:10px}
body[data-view="salvage"] .toast{bottom:258px}
body[data-view="salvage"] .dev-test-badge{width:auto;font-size:12px;padding:7px 10px;order:3}
@media(max-width:1100px){
 body[data-view="salvage"] .mission-panel{width:215px;left:18px}
 body[data-view="salvage"] .control-panel{right:18px;width:190px}
 body[data-view="salvage"] .view-tabs{right:18px}.part-callout{right:25px;max-width:180px;top:53%}
 body[data-view="salvage"] .action-dock{width:350px}.yard-stations{left:18px}.yard-stations button{width:150px}
 body[data-view="salvage"] .tool-strip{display:none}body[data-view="salvage"] .recycle-button{right:18px;width:190px}
 body[data-view="salvage"] .next-milestone{left:18px;max-width:170px}
 body[data-view="salvage"] .canvas-wrap{inset:150px 60px 180px}
 body[data-view="salvage"] .tutorial-panel{width:36%;max-height:190px;overflow:auto}
 body[data-view="salvage"] .bay-hint{bottom:225px;left:22%;right:22%;font-size:12px}
}
@media(max-width:760px){
 body[data-view="salvage"] .game-shell{height:100svh;min-height:620px;padding:0}
 body[data-view="salvage"] .topbar{height:60px;padding:0 12px;gap:6px}
 body[data-view="salvage"] .brand{font-size:14px;gap:7px;letter-spacing:2px}.brand svg{width:32px;height:32px}
 body[data-view="salvage"] .brand-light{font-size:10px;letter-spacing:3px}
 body[data-view="salvage"] .session-label,body[data-view="salvage"] .wallet-label{display:none}
 body[data-view="salvage"] .top-actions{gap:0}.wallet{margin-right:5px}.wallet strong{font-size:18px}
 body[data-view="salvage"] .yard-toolbar{top:69px;left:12px;right:12px;gap:4px;flex-wrap:nowrap}
 body[data-view="salvage"] .yard-toolbar nav{width:auto;flex:none}.bay-tab span{display:none}
 body[data-view="salvage"] .bay-tab{min-height:36px;padding:7px 8px;font-size:12px}
 body[data-view="salvage"] .rank-button{width:auto;min-height:36px;padding:7px;gap:6px;margin-left:auto}.rank-button>span{display:none}
 body[data-view="salvage"] .dev-test-badge{position:absolute;right:0;top:43px;font-size:12px;padding:4px 7px;pointer-events:none}
 body[data-view="salvage"] .view-tabs{top:auto;bottom:calc(195px + env(safe-area-inset-bottom));left:12px;right:12px;justify-content:center;z-index:5}
 body[data-view="salvage"] .view-tabs button{flex:1;min-height:35px;padding:6px;font-size:13px;white-space:nowrap}.view-tabs span{display:inline;font-size:12px}
 body[data-view="salvage"] .mission-panel{top:114px;left:12px;width:190px;padding:10px 12px}
 body[data-view="salvage"] .mission-panel>.section-kicker{font-size:12px;letter-spacing:.4px}
 body[data-view="salvage"] .mission-panel h1{font-size:20px;margin:6px 0 9px}
 body[data-view="salvage"] .mission-panel .label-row{font-size:12px}.mission-details summary{font-size:12px;min-height:30px;padding:6px 0}
 body[data-view="salvage"] .mission-panel .progress-track{margin:7px 0}
 body[data-view="salvage"] .mission-details[open]{max-height:calc(100svh - 390px);min-height:170px}
 body[data-view="salvage"] .mission-panel:has(details[open]){z-index:8;background:#0a1721fa;width:min(320px,calc(100vw - 24px))}
 body[data-view="salvage"] .canvas-wrap{inset:170px 0 230px}
 .yard-stations{left:12px;top:auto;bottom:calc(242px + env(safe-area-inset-bottom));display:flex;gap:6px}
 .yard-stations button{min-height:46px;width:48px;padding:6px;display:flex;justify-content:center;flex-direction:column;gap:0;background:#0c2329cc}
 .yard-stations button>span{font-size:20px}.yard-stations strong{font-size:12px}.yard-stations small{display:none}
 body[data-view="salvage"] .control-panel{top:160px;right:12px;width:auto;max-width:150px;gap:6px}
 body[data-view="salvage"] .control-panel>.inspector{padding:4px 8px}
 body[data-view="salvage"] .inspector>summary{font-size:12px;min-height:30px;padding:6px 0}
 body[data-view="salvage"] .inspector[open]{position:fixed;top:155px;right:12px;width:min(300px,calc(100vw - 24px));max-height:calc(100svh - 400px);background:#091923fa;padding:12px}
 body[data-view="salvage"] .cargo-panel,body[data-view="salvage"] .upgrade-card{display:none}
 .part-callout{top:auto;bottom:calc(293px + env(safe-area-inset-bottom));right:12px;max-width:180px;padding:9px 12px}.part-callout strong{font-size:14px;margin:5px 0}.part-callout>span{font-size:12px}.part-callout small{font-size:12px;letter-spacing:0}
 body[data-view="salvage"] .action-dock{bottom:calc(12px + env(safe-area-inset-bottom));left:12px;right:12px;transform:none;width:auto;padding:9px 10px}
 body[data-view="salvage"] .dock-selection{margin-bottom:5px}.dock-selection strong{font-size:14px}
 body[data-view="salvage"] .tool-picker button{min-height:44px;font-size:14px;padding:6px}.tool-picker kbd{display:none!important}
 body[data-view="salvage"] .action-dock .hold-button{min-height:39px;margin-top:6px;font-size:13px}
 body[data-view="salvage"] .recycle-button{position:fixed;bottom:calc(242px + env(safe-area-inset-bottom));right:12px;width:calc(100vw - 238px);min-width:106px;min-height:46px;font-size:13px;padding:8px;z-index:3;gap:5px}
 body[data-view="salvage"] .recycle-button svg{display:none}
 body[data-view="salvage"] .next-milestone,body[data-view="salvage"] .statusbar,body[data-view="salvage"] .bay-top,body[data-view="salvage"] .bay-hint{display:none}
 body[data-view="salvage"] .tutorial-panel{top:240px;left:12px;transform:none;width:calc(100vw - 24px);max-width:none;max-height:145px;padding:9px 12px}
 body[data-view="salvage"] .tutorial-panel p{font-size:14px}.tutorial-panel strong{font-size:14px}
 body[data-view="salvage"] .drone-overlay{bottom:320px;width:calc(100vw - 24px);z-index:4}
 body[data-view="salvage"] .bay-empty{top:32%;padding:20px;z-index:4}
 body[data-view="salvage"] .toast{bottom:300px;max-width:calc(100vw - 24px)}
 .arrival-banner{width:85%;padding:20px}.arrival-banner strong{font-size:23px}
}
@media(max-height:650px) and (min-width:761px){
 body[data-view="salvage"] .game-shell{min-height:480px}.yard-stations{top:220px;gap:5px}.yard-stations button{min-height:43px;padding:5px 10px}.yard-stations small{display:none}
 body[data-view="salvage"] .mission-panel{top:140px;padding:10px 14px}.mission-panel>.section-kicker{display:none}
 body[data-view="salvage"] .mission-panel h1{margin:0 0 7px;font-size:23px}body[data-view="salvage"] .mission-details:not([open]){display:none}
 body[data-view="salvage"] .canvas-wrap{inset:100px 115px 145px}body[data-view="salvage"] .action-dock{bottom:30px;padding:8px 12px}
 body[data-view="salvage"] .action-dock .dock-selection{margin-bottom:4px}body[data-view="salvage"] .tool-picker button{min-height:40px}
 body[data-view="salvage"] .bay-hint{display:none}.part-callout{top:58%}
 body[data-view="salvage"] .control-panel{top:195px}body[data-view="salvage"] .control-panel>.cargo-panel{display:none}
}
@media(max-height:619px) and (max-width:760px){body[data-view="salvage"]{overflow-y:auto}}
/* Keep station hit areas separate from the mission card at compact heights. */
@media(min-width:761px){
 .yard-stations{top:max(340px,43%)}
 body[data-view="salvage"] .control-panel>.cargo-panel,body[data-view="salvage"] .control-panel>.upgrade-card{display:none}
}
@media(min-width:761px) and (max-height:800px){.yard-stations{top:330px;gap:8px}.yard-stations button{min-height:53px;padding:6px 10px}}
@media(min-width:761px) and (max-height:650px){.yard-stations{top:245px;gap:5px}.yard-stations button{min-height:43px;padding:5px 10px}}
@media(max-width:359px){.yard-stations{gap:4px}.yard-stations button{width:41px}.yard-stations strong{font-size:12px}body[data-view="salvage"] .recycle-button{width:calc(100vw - 206px)}}
