:root{
 --gold:#e1bc77;--gold-bright:#f5d99e;--ink:#0b171e;--border:#9b7743;--muted:#c3b8a3;
 --wood:linear-gradient(180deg,#20292a,#182124);
 --metal:linear-gradient(#46504b,#303b39);--shadow:0 2px 8px #0006;
}
*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--ink);color:#f0e7d4;font:12px system-ui,-apple-system,sans-serif}
button,select,input{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:not-allowed;opacity:.5}
button:focus-visible,select:focus-visible,input:focus-visible,canvas:focus-visible{outline:3px solid #ffe1a0;outline-offset:3px}
button:hover:not(:disabled){filter:brightness(1.15)}button:active:not(:disabled){filter:brightness(1.3)}
 .topbar{height:46px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 18px;background:var(--wood);border-bottom:1px solid #8c866744;box-shadow:var(--shadow);position:relative;z-index:5}
 .brand{display:flex;align-items:center;gap:7px;font-weight:650;letter-spacing:1px;font-size:14px;color:var(--gold-bright);text-shadow:0 2px #000}
 .brand-mark{font-size:24px;color:var(--gold)} .brand small{display:none;font:9px system-ui;letter-spacing:2px;color:var(--muted);margin-top:3px}
.resources{display:flex;align-items:center;gap:17px;font:12px system-ui;font-variant-numeric:tabular-nums}
.coin,.pearl{background:#0004;border:1px solid #b99b5326;padding:5px 9px;white-space:nowrap}.coin{color:#ffd184}.pearl{color:#c3e4e4}
.resources button{border:1px solid var(--border);background:#241e17;padding:6px 9px;font-size:10px;min-width:32px;height:32px}
 .game-shell{position:fixed;inset:46px 0 0;overflow:hidden;background:#20595d}
#gameCanvas{width:100%;height:100%;display:block;touch-action:none;cursor:crosshair}
 .panel{background:var(--wood);border:1px solid #8c866765;box-shadow:var(--shadow);border-radius:2px}
 .panel-title{background:#ffffff05;border-bottom:1px solid #ae8a51;padding:4px 9px;color:var(--gold-bright);font-size:10px;letter-spacing:.8px;display:flex;align-items:center;justify-content:space-between;gap:7px;min-height:29px;text-shadow:0 1px #000}
.panel-title button{background:#16150e77;border:1px solid #b89a5340;color:var(--gold-bright);font-size:16px;padding:0 3px;min-width:26px;min-height:26px;flex-shrink:0}
.chart-top{position:absolute;top:0;left:0;right:0;display:flex;justify-content:center;gap:18px;height:24px;background:#182b32dd;border-bottom:1px solid #b6a27750;font:9px system-ui;letter-spacing:.8px;align-items:center;pointer-events:none;color:#ebddc4}
.local-mode{color:#ced4c9}
 .ship-card{position:absolute;left:12px;top:36px;width:235px}.ship-card .ship-content{padding:7px 9px;background:none}.ship-card #portrait{display:none}.ship-card #shipDetails{margin-left:auto;font:20px/1 system-ui;min-width:28px;min-height:28px}.ship-stats #shipProgress{display:grid;gap:4px}
.ship-content{display:flex;padding:5px 7px;gap:7px;background:radial-gradient(ellipse at 20% 70%,#63818b30,transparent 65%)}
#portrait{width:98px;height:86px;object-fit:contain} .ship-stats{flex:1;min-width:0;padding-top:0;display:grid;gap:4px}
.ship-stats>div:first-child{display:flex;justify-content:space-between;font:10px system-ui;color:#e8d4ad}.ship-stats b{color:var(--gold-bright)}
 .bar{height:15px;border:1px solid #080c0f;box-shadow:0 0 0 1px #b996513d;background:#081319;position:relative;overflow:hidden}
.bar i{display:block;height:100%;transition:width .15s}.bar span{position:absolute;inset:0;text-align:center;font:10px/14px system-ui;font-variant-numeric:tabular-nums;text-shadow:0 1px 2px #000;color:#fff}
.hp i,.enemy i{background:linear-gradient(#b74433,#732219)}.xp i{background:linear-gradient(#497c99,#224762)}.elite i{background:linear-gradient(#c99c4e,#7c5927)}
.ship-bottom{display:flex;justify-content:space-around;border-top:1px solid #b99b5333;padding:6px;font:9px system-ui;color:#e6d2ae}
.target-card{position:absolute;left:50%;transform:translateX(-50%);top:36px;width:255px}
.target-body{padding:9px}.target-body>span{display:block;font:10px system-ui;color:var(--muted);margin-bottom:6px}.target-body small{display:block;margin-top:6px;font:11px system-ui;color:#e5d5b9}
 .mission{position:absolute;top:148px;left:12px;width:215px}
 .mission-body{padding:9px 10px;color:#e5decb;background:#202b2d}
 .mission strong{font-size:13px;color:#ede1be}.mission p{font:12px/1.5 system-ui;color:#c1cec9;margin:6px 0 9px}
.mission-progress{height:6px;background:#6c5a3b;border:1px solid #9c8054}.mission-progress i{display:block;height:100%;background:#344e42;width:0}
.mission-footer{display:flex;justify-content:space-between;gap:5px;margin-top:8px;font:10px system-ui;font-weight:600}
.minimap{position:absolute;right:12px;top:36px;width:196px}.minimap canvas{width:100%;height:140px;display:block;cursor:crosshair;touch-action:none}
.map-footer{display:flex;justify-content:space-between;padding:7px;font:10px system-ui;border-top:1px solid #b99b5344;color:#dbc8a5}
.chart-controls{display:flex;align-items:center;justify-content:space-around;gap:2px;padding:4px 3px;border-top:1px solid #b99b5344}
.chart-controls button{background:#152830;border:1px solid #917647;color:#efd6a7;font:18px system-ui;min-width:29px;min-height:29px;padding:0}
.chart-controls button[aria-pressed=true]{border-color:#efd6a7;background:#4c4930}.chart-controls output{font:9px system-ui;color:#ded3bd;min-width:29px;text-align:center;font-variant-numeric:tabular-nums}
.field-label{display:block;font:12px system-ui;color:#ead2ad;margin:18px 0 7px}.navigation-select{width:100%;background:#14262c;border:1px solid #a08655;min-height:42px;font:16px system-ui;padding:7px}
.navigation-form{display:grid;grid-template-columns:1fr 1fr 1.4fr;align-items:end;gap:12px;margin:20px 0 10px}.navigation-form label{font:12px system-ui;color:#ead2ad}.navigation-form input{display:block;width:100%;min-width:0;min-height:42px;background:#14262c;border:1px solid #a08655;margin-top:7px;padding:7px;font:16px system-ui;text-transform:uppercase}.navigation-form button{background:var(--metal);border:1px solid var(--gold);min-height:42px;font:12px system-ui;padding:8px}.navigation-feedback{font:12px system-ui;color:#e7d7b4;min-height:22px}
.log{position:absolute;bottom:15px;left:12px;width:265px;max-height:155px}.log #logEntries{padding:7px 9px;max-height:116px;overflow:auto;font:10px/1.6 system-ui;color:#e1d1b3}.log p{margin:0 0 2px}.log time{color:#a4c4c6;margin-right:5px}.log.collapsed #logEntries{display:none}
 .action-dock{position:absolute;bottom:15px;left:50%;transform:translateX(-50%);padding:5px;width:406px;border-width:1px;box-shadow:var(--shadow)}
.action-row{display:flex;gap:5px}.action{flex:1;min-width:0;min-height:65px;border:2px ridge #a88650;background:radial-gradient(ellipse at 50% 25%,#65523a,#28221b 80%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;position:relative}
.action .symbol{font:24px Georgia;color:var(--gold-bright);text-shadow:0 2px 4px #000}.action b{font:10px system-ui;font-weight:650;letter-spacing:.25px;color:#f3e2be}.action small{font:9px system-ui;color:#d5c8ad}
 .symbol svg{display:block;width:23px;height:23px;opacity:.9}
 .action.primary{background:#704637;border-color:#c19c68}.action[aria-pressed=true]{border-color:#ffe0a1;background:#795735;box-shadow:inset 0 0 10px #ffbc5355}.action[aria-pressed=true]:after{content:'';position:absolute;top:3px;right:3px;width:5px;height:5px;border-radius:50%;background:#ffdf95;box-shadow:0 0 6px #ffba5d}
.utility-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:6px}.utility-row button{display:grid;grid-template-columns:22px 1fr;column-gap:3px;align-items:center;align-content:center;min-width:0;min-height:44px;padding:3px 6px;background:linear-gradient(#3d514c,#172b30);border:1px solid #a9b18c;text-align:left;color:#e9dfbd}.utility-row button:disabled{opacity:.65}.utility-row button>span{grid-row:1/span 2;color:#c0e3d5;font:25px Georgia;text-align:center}.utility-row b{font:600 10px system-ui}.utility-row small{font:9px/1.5 system-ui;color:#d0dbc7;white-space:nowrap;font-variant-numeric:tabular-nums}
.ammo-row{display:flex;align-items:center;gap:7px;margin-top:6px;font:10px system-ui;height:27px;white-space:nowrap}.ammo-row label{color:#dbcba7;font-size:9px}.ammo-row select{min-width:137px;background:#171c1b;border:1px solid #a08756;height:26px;font:11px system-ui;padding:0 3px}.ammo-row #ammoCount{color:var(--gold-bright);font-variant-numeric:tabular-nums}.ammo-row #reloadText{margin-left:auto;color:#d5ddc6;font-size:9px}
 .utility-dock{position:absolute;right:12px;bottom:15px;width:207px;padding:3px}.utility-dock .utility-row{margin-top:0}.utility-dock button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;min-height:44px;padding:3px 4px;text-align:center}.utility-dock button>span{font:18px/16px Georgia}.utility-dock b{font:600 9px/10px system-ui}.utility-dock small{font:8px/10px system-ui}
.hint{position:absolute;bottom:139px;left:50%;transform:translateX(-50%);font:11px system-ui;padding:6px 12px;background:#102731e6;border:1px solid #c1ac7f55;white-space:nowrap;pointer-events:none;color:#ecdfc4}
.edge-prompt{position:absolute;left:50%;transform:translateX(-50%);bottom:145px;z-index:15;width:350px;max-width:calc(100% - 24px);padding:5px;text-align:center}
.edge-prompt button{display:block;width:100%;min-height:44px;padding:7px 10px;background:var(--metal);border:1px solid var(--gold);color:#ffe8b6;font:11px/1.5 system-ui;overflow-wrap:anywhere}
.edge-prompt button:disabled{opacity:1;background:#283138;color:#ddc8a3;border-color:#b9a06a}.edge-prompt small{display:block;margin:5px 3px 2px;font:10px/1.5 system-ui;color:#e1d7be}
.toast{position:absolute;left:50%;top:178px;transform:translate(-50%,-8px);background:var(--wood);border:1px solid var(--gold);color:#ffe2ab;font:12px/1.5 system-ui;padding:9px 14px;opacity:0;transition:.2s;pointer-events:none;z-index:30;max-width:90%;text-align:center;box-shadow:var(--shadow)}.toast.show{opacity:1;transform:translate(-50%,0)}
.resources .inventory-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-width:54px;line-height:1.1;white-space:nowrap}
.inventory-button small{font:9px system-ui;color:#b8dfd2;min-height:10px}
.hidden{display:none!important}
dialog{padding:0;border:1px solid #9f956f;border-radius:2px;color:#f0e3cb;background:#182124;max-width:calc(100vw - 24px);max-height:calc(100dvh - 30px);box-shadow:0 25px 80px #000c}dialog::backdrop{background:#06141bcc}
 .modal-panel{padding:19px 20px;width:640px;max-width:100%;position:relative;background:var(--wood)} .modal-panel.wide{width:780px}.modal-panel>.eyebrow{display:none}
.close{position:absolute;right:12px;top:10px;border:1px solid var(--border);color:var(--gold-bright);background:#221d16;width:36px;height:36px;font:24px Georgia}
.eyebrow{font:10px system-ui;letter-spacing:1.6px;color:var(--gold);margin:0 38px 10px 0}h2{font-size:22px;color:var(--gold-bright);margin:8px 28px 12px 0} .modal-lead{font:12px/1.5 system-ui;color:#d7ccb7}
.upgrade-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.upgrade-item{background:#111f25;border:1px solid #b99b5344;padding:10px}.upgrade-item header{display:flex;justify-content:space-between;gap:10px}.upgrade-item h3{margin:0;color:#efd7ae;font-size:14px}.upgrade-item p{font:12px/1.6 system-ui;color:#cdc4b0}
.upgrade-item button,.fleet-card button,.map-choice{width:100%;border:1px solid #b79658;background:var(--metal);min-height:40px;padding:9px;color:#f6e3bc;font:12px system-ui}
 .fleet-tabs{display:flex;gap:5px;margin:12px 0}.fleet-tabs button{border:1px solid var(--border);background:#17252a;padding:8px 11px;font:11px system-ui;min-height:40px}.fleet-tabs button[aria-pressed=true]{color:var(--gold-bright);background:#695135}
.fleet-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.fleet-card{border:1px solid #897247;background:radial-gradient(ellipse at 50% 15%,#35545d,#10232b 50%);position:relative;padding:10px}.fleet-card.selected{border:2px solid var(--gold-bright);padding:9px} .fleet-card canvas{width:100%;height:96px;object-fit:contain}.fleet-card h3{margin:0 0 6px;font-size:18px;color:#f1d4a2}.fleet-card .role{font:10px system-ui;color:#b9d5d6}.fleet-card p{font:11px/1.6 system-ui;color:#d1c9b8;min-height:53px}.fleet-card dl{font:11px system-ui;display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:10px 0}.fleet-card dt{color:#bbcdcb}.fleet-card dd{margin:0;text-align:right;color:#f0dfbe}.fleet-card button{margin-top:8px;font-size:11px}
.cargo-tabs button{flex:1;min-height:44px}.cargo-grid{align-items:stretch}.cargo-card{display:flex;flex-direction:column;gap:8px;min-width:0}.cargo-card.selected{border-color:var(--gold-bright)}.cargo-card header{align-items:center;justify-content:flex-start}.cargo-icon{font:26px/1 Georgia;width:31px;text-align:center;flex-shrink:0}.cargo-card h3{font-size:17px}.cargo-card p{margin:0}.cargo-card .cargo-stock{color:#d6d6ac;font-size:11px;margin-top:auto}.cargo-status{font:11px system-ui;color:#b3dbc9;min-height:17px;font-variant-numeric:tabular-nums}.cargo-card button{min-height:44px}.cargo-card .cargo-buy{background:#243339;color:#e6d3ac} .cargo-tabs{position:sticky;top:0;z-index:1;background:#182124;padding:4px 0;margin:12px 0}.cargo-grid{margin-top:14px}
.cargo-quick{display:flex;gap:7px;margin:12px 0 5px}.cargo-quick:empty{display:none}.cargo-quick button{flex:1;min-width:0;min-height:48px;padding:6px 5px;border:1px solid var(--gold);background:var(--metal);color:#f8e5c0;font:11px/1.5 system-ui;white-space:pre-line}.cargo-quick button:disabled{opacity:.7;background:#243339}
.elite-intro{font:12px/1.6 system-ui;color:#c7d2cd}.elite-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.elite-cell{background:#12262d;border:1px solid #566766;text-align:center;padding:3px 3px 7px;color:#c6c9b9;min-height:125px;overflow:hidden}.elite-cell.unlocked{border-color:#a98c54;color:#f2d69d}.elite-cell.active{background:#34463c;border:2px solid #f2d69d;padding:2px 2px 6px}.elite-cell img{display:block;width:100%;height:94px;object-fit:contain;opacity:.75}.elite-cell.unlocked img,.elite-cell:hover img,.elite-cell:focus-visible img{opacity:1}.elite-cell b{font:600 10px/1.3 system-ui;display:block}.elite-cell small{font:9px system-ui;display:block;margin-top:4px;font-variant-numeric:tabular-nums}.elite-detail{display:grid;grid-template-columns:210px 1fr;align-items:center;gap:12px;margin:10px 0;background:#102229;border:1px solid #536864;padding:4px 10px;font:12px/1.5 system-ui;color:#e8d7b9}.elite-detail canvas{width:210px;height:150px;max-width:100%;object-fit:contain}.elite-detail strong{font-size:16px;color:#f2d69d}.elite-detail p{margin:5px 0}.elite-detail p[role=status]{color:#b5d2c5;font-size:11px}.elite-directions{display:flex;gap:7px}.elite-directions button{width:44px;min-height:44px;background:#24383e;border:1px solid #9e8858;font-size:23px}.elite-note{font:11px/1.5 system-ui;color:#c0d0c9}
.modal-panel p:not(.eyebrow){line-height:1.7}.notice{border-top:1px solid #a5a58944;padding-top:12px;color:#c8cec0;font:12px system-ui}
.start-screen{position:absolute;inset:0;z-index:40;background:linear-gradient(90deg,#081720fc 20%,#142d3bea 50%,#13384beb);display:flex;align-items:center;overflow:hidden;border:8px solid #241e17;box-shadow:inset 0 0 0 1px #94764b,inset 0 0 60px #0007}
.start-content{position:relative;z-index:2;margin-left:8vw;max-width:48%;text-align:left}.start-content h1{font:bold clamp(42px,7vw,86px)/.95 Georgia;letter-spacing:2px;color:#f1e6cf;margin:16px 0;text-shadow:0 3px 4px #000}.start-content h1 span{font-size:.72em;color:var(--gold)}.tagline{font:16px/1.8 Georgia;color:#d5dfdb}.start-button{display:block;border:2px ridge var(--gold);background:var(--metal);color:#f8e6bf;font:700 14px Georgia;letter-spacing:1.2px;padding:15px 25px;margin:22px 0 10px;min-height:48px}.start-button span{margin-left:25px;font-size:18px}.start-content small{font:10px/1.6 system-ui;color:#c0ccc9}.asset-status{font:11px/1.5 system-ui;color:#e0d2b6;max-width:340px;margin:8px 0}.asset-retry{border:1px solid var(--gold);background:#293630;padding:8px 12px;font:10px system-ui;margin:4px 0 8px}
.start-art{position:absolute;right:-7%;top:8%;width:70%;height:90%;background:url('assets/warship.webp') center/contain no-repeat;opacity:.8;mix-blend-mode:screen;mask-image:linear-gradient(90deg,transparent,black 25%)}
.rotate-screen{display:none;position:fixed;inset:0;z-index:100;background:radial-gradient(ellipse at 50% 20%,#264656,#102b3b);align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:28px;border:8px solid #30251b;box-shadow:inset 0 0 0 1px var(--border)}.rotate-screen h2{font-size:25px;margin-right:0}.rotate-screen p{font:15px/1.7 system-ui;color:#d6e0dc}.rotate-screen small{margin-top:17px;font:12px/1.5 system-ui;color:#bdcbc5}.rotate-icon{font:70px Georgia;color:var(--gold)}.rotate-screen button{border:1px solid var(--gold);background:var(--metal);padding:13px 20px;font:12px system-ui;color:#ffe5b5;min-height:44px}
@media(max-width:1000px){.log{width:210px;bottom:142px}.target-card{left:auto;right:12px;top:273px;transform:none;width:196px}.hint{display:none}.fleet-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(pointer:coarse){.resources button{min-width:40px;min-height:36px}.panel-title button{min-width:30px;min-height:28px}.ammo-row select{font-size:16px;height:32px}.ammo-row{height:34px}.action{min-width:48px;min-height:56px}}
@media(max-height:550px) and (orientation:landscape){
 .topbar{height:38px;padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}.brand{font-size:12px;letter-spacing:1px}.brand-mark{font-size:23px}.brand small{display:none}.resources{gap:10px;font-size:11px}.coin,.pearl{padding:3px 5px}.resources button{height:29px;font-size:9px;min-height:29px}.game-shell{top:38px}.chart-top{height:21px;font-size:8px;gap:12px}
 .ship-card{left:max(7px,env(safe-area-inset-left));top:27px;width:215px}.ship-content{padding:2px 5px;gap:4px}#portrait{width:62px;height:63px}.ship-stats{padding-top:3px;gap:3px}.ship-stats>div:first-child{font-size:9px}.bar{height:14px}.bar span{font-size:9px;line-height:13px}.ship-bottom{font-size:9px;padding:4px}.panel-title{font-size:9px;min-height:25px;padding:3px 6px}.panel-title button{min-height:24px;min-width:26px}
 .minimap{right:max(7px,env(safe-area-inset-right));top:27px;width:133px}.minimap canvas{height:86px}.map-footer{padding:4px;font-size:9px}.target-card{top:27px;left:50%;right:auto;transform:translateX(-50%);width:188px}.target-body{padding:6px}.target-body>span{font-size:9px}.target-body small{font-size:10px}
  .mission{left:max(7px,env(safe-area-inset-left));top:129px;width:170px}.mission .panel-title{font-size:8px;letter-spacing:.3px}.mission-body{padding:7px 9px}.mission strong{font-size:12px}.mission p{font-size:10px;margin:5px 0}.mission-footer{font-size:9px}.log{display:none}
 .action-dock{left:auto;right:max(7px,env(safe-area-inset-right));transform:none;bottom:max(6px,env(safe-area-inset-bottom));width:338px;padding:4px;border-width:1px}.action-row{gap:3px} .action{min-height:46px;min-width:44px}.action small{display:none}.action b{font-size:9px}.action .symbol{font-size:21px}.ammo-row{height:30px;gap:5px}.ammo-row select{font-size:16px;height:29px;min-width:145px}.ammo-row label{display:none}.ammo-row #reloadText{font-size:8px}.hint{display:none}.toast{top:143px;font-size:11px;padding:7px 12px}
 .start-screen{border-width:5px}.start-content{margin-left:6vw;max-width:50%}.start-content .eyebrow{font-size:8px;margin-bottom:5px}.start-content h1{font-size:45px;margin:8px 0}.start-content .tagline{font-size:12px;line-height:1.5;margin:9px 0}.start-button{margin:11px 0 6px;padding:10px 20px;min-height:42px}.asset-status{font-size:10px;margin:5px 0}.start-content small{font-size:9px} .fleet-card canvas{height:82px} .modal-panel{padding:16px 18px}.modal-panel h2{font-size:21px}
}
@media(max-width:730px) and (orientation:landscape){.resources{gap:6px}.resources #soundButton{font-size:0;width:30px}.resources #soundButton:after{content:'♪';font-size:14px}.ship-card{width:195px}.target-card{width:165px;left:53%} .action-dock{width:306px}.action{min-width:42px}.mission{width:158px}.elite-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.elite-detail{grid-template-columns:160px 1fr;gap:7px}.elite-detail canvas{width:160px;height:118px}.elite-cell{min-height:114px}.elite-cell img{height:83px}.local-mode{display:none}}
@media(max-height:550px) and (orientation:landscape){.chart-controls{padding:3px 1px;gap:1px}.chart-controls button{min-width:25px;min-height:28px;font-size:16px}.chart-controls output{min-width:22px;font-size:8px}.map-footer #mapName{max-width:75px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
@media(max-width:1000px){.utility-dock{left:12px;right:auto;width:180px}}
@media(max-height:550px) and (orientation:landscape){.utility-dock{left:max(7px,env(safe-area-inset-left));right:auto;bottom:max(6px,env(safe-area-inset-bottom));width:207px}.utility-row{gap:3px}.utility-row b{font-size:9px}.utility-row small{font-size:8px}.edge-prompt{left:max(7px,env(safe-area-inset-left));transform:none;bottom:76px;width:215px;padding:4px}.edge-prompt small{display:none}.edge-prompt button{font-size:10px}.mission.edge-mode{display:none}}
@media(max-height:360px) and (orientation:landscape){.mission{top:auto;bottom:8px}.mission p{display:none}.mission-body{padding:5px 8px}.mission-footer{margin-top:5px}.mission-progress{margin-top:5px}.start-content h1{font-size:36px}.start-content .tagline{display:none}.start-art{top:1%;height:98%}}
@media(max-height:360px) and (orientation:landscape){.mission{bottom:70px}.mission-body{position:absolute;left:-2px;right:-2px;bottom:100%;border:2px ridge var(--border);box-shadow:var(--shadow)}.minimap canvas{height:60px}.map-footer{display:none}}
@media(max-width:1024px) and (orientation:portrait) and (pointer:coarse){.rotate-screen{display:flex}}
@media(max-width:640px) and (orientation:portrait){.rotate-screen{display:flex}}
@media(max-width:650px){.modal-panel{padding:22px 16px}.upgrade-grid{grid-template-columns:1fr}.fleet-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.elite-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}

/* Compact equipment rows keep actions visible and descriptions available on demand. */
.cargo-grid{display:flex;flex-direction:column;gap:7px}.cargo-card{display:grid;grid-template-columns:minmax(0,1fr) 128px;gap:5px 12px;align-items:center;padding:10px 12px}.cargo-card header{grid-column:1;grid-row:1}.cargo-card h3{font:600 14px system-ui}.cargo-card .cargo-icon{font-size:22px;width:25px}.cargo-card .cargo-stock{grid-column:1;grid-row:2;margin:0;font:11px/1.5 system-ui;overflow-wrap:anywhere}.cargo-info{grid-column:1;grid-row:3;min-width:0;color:#d3d9ca;font:11px/1.5 system-ui}.cargo-info summary,.quick-fold>summary{cursor:pointer;min-height:26px;padding:3px 0;color:#bcd1c6}.cargo-info p{font:12px/1.5 system-ui;margin:5px 0;max-width:46ch}.cargo-card .cargo-status{grid-column:2;grid-row:1;text-align:center;font-size:10px}.cargo-card button{grid-column:2;grid-row:2 / span 2;min-height:44px;font:11px/1.4 system-ui;padding:6px}.cargo-card[data-catalog=items] button[data-item]{grid-row:2}.cargo-card[data-catalog=items] .cargo-buy{grid-row:3}.quick-fold{margin:8px 0;color:#ced9d1;font:11px system-ui}.quick-fold .cargo-quick{margin:5px 0}.navigation-select,.navigation-form input{font-size:16px}.modal-panel .notice{font-size:11px}.modal-panel .close{right:10px;top:10px;width:34px;height:34px}.modal-panel h2{padding-right:22px}.ship-card #shipDetails:focus-visible{outline-offset:1px}
@media(max-width:520px){.cargo-card{grid-template-columns:minmax(0,1fr) 109px;gap:4px 8px;padding:9px}.cargo-card h3{font-size:13px}.cargo-card .cargo-icon{display:none}}
@media(max-height:550px) and (orientation:landscape){.ship-card .ship-content{padding:5px 7px}.ship-stats{padding-top:0}.ship-card .panel-title{min-height:28px}.ship-card #shipDetails{min-height:26px;min-width:28px}.ship-bottom{padding:4px}.action-dock .symbol svg{width:21px;height:21px}.cargo-card{padding:8px 10px}.cargo-info summary{min-height:24px}.cargo-card .cargo-stock{font-size:10px}.utility-dock{padding:3px}.modal-lead{margin:8px 0}.cargo-tabs{margin:9px 0}.fleet-tabs button{min-height:40px}.modal-panel p:not(.eyebrow){line-height:1.5}}

/* Bottom status strips reserve the combat controls' width, including safe areas. */
.status-dock{--combat-width:406px;--own-status-width:136px;--target-status-width:170px;--status-edge:max(12px,env(safe-area-inset-left));--status-right:max(12px,env(safe-area-inset-right));--status-bottom:max(15px,env(safe-area-inset-bottom));position:absolute;left:var(--status-edge);bottom:calc(var(--status-bottom) + 56px);width:max-content;max-width:min(360px,calc(100% - var(--combat-width) - var(--status-edge) - var(--status-right) - 14px));display:flex;align-items:flex-end;gap:6px;z-index:12;pointer-events:none}
.status-dock .ship-card,.status-dock .target-card{position:relative;left:auto;right:auto;top:auto;transform:none;width:var(--own-status-width);min-width:0;flex:0 1 var(--own-status-width);pointer-events:auto;border-color:#8c9b8666}
.status-dock .target-card{display:grid;grid-template-columns:minmax(0,1fr) 44px;width:var(--target-status-width);flex-basis:var(--target-status-width)}
.status-dock .hud-summary,.status-dock #shipDetails{display:flex;flex-direction:column;justify-content:center;gap:5px;width:100%;height:50px;min-height:50px;min-width:0;border:0;background:#17272be8;margin:0;padding:6px;font:11px/1.2 system-ui;text-align:left;color:#e8dec5}
.status-dock .hud-summary:focus-visible,.status-dock #clearTarget:focus-visible{outline:2px solid #ffe1a0;outline-offset:-3px}
.hud-title{display:flex;align-items:center;gap:4px;min-width:0;width:100%}
.status-dock #shipName,.status-dock #targetName{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:650}
.status-dock #classLabel{font-size:9px;white-space:nowrap;color:#c3cab9}
.hud-chevron{font-size:12px;color:#d6c497;flex-shrink:0}
.hud-range{font-size:12px;color:#e8c78e;flex-shrink:0}
.status-dock .bar{height:15px;box-shadow:none;margin:0;width:100%}
.status-dock .bar span{font:10px/14px system-ui;font-variant-numeric:tabular-nums;white-space:nowrap}
.status-dock #clearTarget{width:44px;min-width:44px;height:50px;min-height:50px;border:0;border-left:1px solid #8c9b8633;background:#17272be8;font:22px system-ui;color:#d7c7a6;padding:0}
.hud-extra{position:absolute;left:0;bottom:calc(100% + 6px);width:232px;max-width:calc(100vw - 32px);padding:10px;background:#142329f5;border:1px solid #8c9b8688;border-radius:3px;box-shadow:0 3px 12px #0006;color:#e8dec5;font:12px/1.5 system-ui;overflow-wrap:anywhere}
.status-dock .target-card .hud-extra{left:auto;right:0}
.status-dock #portrait{display:none}
.hud-identity{display:flex;justify-content:space-between;gap:7px;font-size:11px}
.hud-identity b{color:var(--gold-bright)}
.hud-extra p{font-size:11px;font-variant-numeric:tabular-nums;margin:5px 0}
.hud-extra #shipProgress{display:grid;gap:5px;margin:7px 0}
.status-dock .ship-bottom{padding:6px 0 0;font-size:10px;border-top:1px solid #8c9b8633;gap:6px}
.status-dock #targetType{display:block;font-size:10px;color:#dbba87}
.status-dock #rangeText{display:block;font-size:11px;color:#d6dfcd;line-height:1.5}
.action-dock{left:auto;right:max(12px,env(safe-area-inset-right));transform:none}
.utility-dock{left:max(12px,env(safe-area-inset-left));right:auto}
.log{bottom:136px}
@media(max-height:550px) and (orientation:landscape){
 .status-dock{--combat-width:338px;--own-status-width:124px;--target-status-width:164px;--status-edge:max(7px,env(safe-area-inset-left));--status-right:max(7px,env(safe-area-inset-right));--status-bottom:max(6px,env(safe-area-inset-bottom));max-width:min(352px,calc(100% - var(--combat-width) - var(--status-edge) - var(--status-right) - 14px))}
 .status-dock .hud-summary,.status-dock #shipDetails,.status-dock #clearTarget{height:48px;min-height:48px}
 .status-dock .hud-summary,.status-dock #shipDetails{padding:5px;gap:4px;font-size:10px}
 .status-dock .bar span{font-size:9px}
 .mission{top:27px;bottom:auto}
 .mission-body{top:100%;bottom:auto}
 .edge-prompt{bottom:calc(max(6px,env(safe-area-inset-bottom)) + 116px)}
 .hud-extra{padding:8px;width:215px}
 .action-dock{right:max(7px,env(safe-area-inset-right))}
 .utility-dock{left:max(7px,env(safe-area-inset-left))}
}
@media(max-width:730px) and (max-height:550px) and (orientation:landscape){.status-dock{--combat-width:306px}.status-dock #classLabel{font-size:8px}.hud-extra{max-width:calc(100vw - 24px)}}

/* Ship management stays in one scrollable dialog, outside the compact sea HUD. */
#shipModal{width:min(880px,calc(100vw - 24px));max-width:none;max-height:none;padding:0;border:1px solid #8c9b8688;border-radius:5px;background:#142329;color:#e8dec5;overflow:hidden}
.ship-management{height:min(620px,calc(100dvh - 24px));display:flex;flex-direction:column;font:13px/1.45 system-ui}
.ship-menu-header{display:flex;align-items:center;gap:16px;padding:10px 14px;border-bottom:1px solid #8c9b8644;background:#1b2d31;flex-shrink:0}
.ship-menu-header h2{margin:0;font:600 20px/1.2 Georgia,serif;color:#eed6a6}.ship-menu-header span{font-size:12px;font-variant-numeric:tabular-nums}.ship-menu-header>span{margin-left:auto;color:#d7c08d;white-space:nowrap}
.ship-menu-header .close{position:static;min-width:44px;min-height:44px;width:44px;height:44px;margin:0;border:1px solid #8c9b8644;background:#203338;font-size:26px;color:#e8dec5}
.ship-menu-body{display:grid;grid-template-columns:126px minmax(0,1fr);min-height:0;flex:1}
.ship-menu-nav{display:flex;flex-direction:column;gap:2px;padding:7px;border-right:1px solid #8c9b8644;background:#17272b;overflow-y:auto;overscroll-behavior:contain}
.ship-menu-nav button{min-height:44px;flex-shrink:0;border:1px solid transparent;border-radius:3px;padding:8px;text-align:left;font:12px/1.3 system-ui;background:transparent;color:#ccd5c8}
.ship-menu-nav button[aria-pressed=true]{border-color:#c5a66677;background:#b3975522;color:#ffe3ae;font-weight:650}
.ship-menu-content{min-width:0;overflow-y:auto;overscroll-behavior:contain;padding:12px 16px;scrollbar-color:#718d8a #17272b}
.ship-menu-content>h3{margin:0 0 10px;font:600 18px Georgia,serif;color:#eed6a6}.ship-lead{margin:0 0 12px;color:#cad3c6;font-size:12px;max-width:64ch;line-height:1.55}
.ship-row{padding:11px 0;border-top:1px solid #8c9b8633}.ship-row h4,.ship-overview h4{font:600 14px/1.4 system-ui;margin:0;color:#e8dec5}.ship-row-info p{font-size:12px;margin:4px 0 8px;color:#c4cfc6;max-width:64ch}
.ship-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:flex-end}.ship-control,.ship-menu-footer button,.hud-management{min-height:44px;min-width:44px;padding:8px 11px;border:1px solid #a7936266;border-radius:3px;background:#35453c;color:#ffe4ad;font:12px/1.3 system-ui}
.ship-control.secondary{background:#21343a;color:#d8dfd2;border-color:#8c9b8655}.ship-management button:disabled{opacity:.48;cursor:default}.ship-management button:focus-visible,.ship-management input:focus-visible,.ship-management select:focus-visible,.hud-management:focus-visible{outline:2px solid #ffe1a0;outline-offset:-2px}
.ship-quantity,.ship-module-select{display:flex;flex-direction:column;gap:2px;font-size:11px;color:#c4cfc6}.ship-quantity input{width:70px}.ship-management input,.ship-management select{min-height:44px;border:1px solid #8c9b8677;border-radius:3px;background:#0e1d22;color:#e8dec5;padding:6px;font:16px system-ui}.ship-module-select select{width:230px;max-width:100%}
.ship-overview{display:grid;grid-template-columns:210px minmax(0,1fr);align-items:center;gap:12px}.ship-preview{display:block;width:210px;height:150px;background:radial-gradient(ellipse,#39616a88,transparent 70%)}.ship-values{display:grid;grid-template-columns:1fr 1fr;gap:3px 12px;margin:8px 0;font-size:12px}.ship-values dt{color:#b9c8c0}.ship-values dd{text-align:right;margin:0;font-variant-numeric:tabular-nums}
.castle-choices{margin:10px 0}.castle-choices [aria-pressed=true]{background:#5f633e;border-color:#d7bb79}.ship-live{font-size:11px;color:#d7c08d;margin:7px 0 0}.ship-subtitle{margin:16px 0 8px}
.ship-stock{width:100%;border-collapse:collapse;font-size:12px;margin-bottom:12px}.ship-stock th,.ship-stock td{padding:8px 5px;border-bottom:1px solid #8c9b8633;text-align:right;font-variant-numeric:tabular-nums}.ship-stock th:first-child{text-align:left;font-weight:500}.ship-stock thead{color:#d7c08d}
.ship-menu-footer{display:flex;align-items:center;gap:8px;padding:8px 12px;border-top:1px solid #8c9b8644;background:#17272b;flex-shrink:0}.ship-menu-footer>div{flex:1;min-width:0}.ship-menu-footer p{margin:0;font-size:12px;color:#ffdda4}.ship-menu-footer small{font-size:11px;color:#c4cfc6;display:block}.ship-menu-footer button{white-space:nowrap}.hud-management{width:100%;margin-top:7px}.hud-extra #boardingHint{display:block;font-size:10px;line-height:1.4;margin-top:5px;color:#d7c08d}
@media(max-height:550px) and (orientation:landscape){#shipModal{width:min(880px,calc(100vw - max(8px,env(safe-area-inset-left)) - max(8px,env(safe-area-inset-right))));margin:auto}.ship-management{height:calc(100dvh - max(8px,env(safe-area-inset-top)) - max(8px,env(safe-area-inset-bottom)))}.ship-menu-header{padding:5px 9px;gap:9px}.ship-menu-header h2{font-size:17px}.ship-menu-header span{font-size:11px}.ship-menu-body{grid-template-columns:112px minmax(0,1fr)}.ship-menu-nav{padding:4px}.ship-menu-nav button{font-size:11px}.ship-menu-content{padding:9px 12px}.ship-menu-content>h3{font-size:16px;margin-bottom:7px}.ship-menu-footer{padding:5px 8px}.ship-menu-footer small{font-size:10px}.ship-menu-footer p{font-size:11px}.ship-row{padding:8px 0}.ship-overview{grid-template-columns:160px minmax(0,1fr);gap:8px}.ship-preview{width:160px;height:115px}.ship-values{gap:2px 8px}.ship-lead{margin-bottom:8px}}
@media(max-width:650px){.ship-menu-footer #shipStop{max-width:65px;white-space:normal}.ship-menu-footer #shipResume{max-width:77px;white-space:normal}.ship-module-select select{width:190px}}
