@import url('./gameplay-v13.css');
@import url('./holodeck.css');
.login-art{position:absolute;inset:0;z-index:-1;background:#061019 url('./art/login-v2.png') center/cover no-repeat}.login-screen:after{background:linear-gradient(90deg,#03090b55,transparent 50%,#050b11aa)}.login-copy{align-self:start;margin-top:8vh;text-shadow:0 3px 24px #000}.login-copy h1{font-size:clamp(48px,5vw,76px);font-weight:500}.login-copy .intro-copy{color:#e2eee7;text-shadow:0 2px 12px #000}.login-panel{background:#071019e8;backdrop-filter:blur(18px);border-color:#678775;box-shadow:0 25px 90px #000b}.forgot-link{display:block;margin-top:10px;color:#b4d5ca;font-size:14px}.login-copy .coordinates{display:none}.desktop-notice{display:none}.weapon-hud{position:fixed;left:50%;bottom:91px;transform:translateX(-50%);width:260px;padding:13px 18px;text-align:center;pointer-events:none}.weapon-hud>span{color:#bde5f5;font-size:15px}.weapon-hud>small{font-size:11px;color:#91a8b6}.weapon-hud p{font-size:12px;color:#d9bd83;margin:8px 0 0}.weapon-hud progress::-webkit-progress-value{background:#8cdcf7}.control-hint{bottom:65px;font-size:12px;left:270px;right:270px}.station-nav{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap}.upgrade-grid+.upgrade{margin-top:20px}.upgrade>button+button{margin-top:8px}.map-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:13px}.map-list span{display:flex;justify-content:space-between;gap:12px}.map-list b{color:#d1bb8b;font-weight:400}.scores{border-collapse:collapse;width:100%}.scores th,.scores td{padding:12px;text-align:left;border-bottom:1px solid #355049}.scores th{font-size:13px;color:#a8c8bc}.scores td{font-size:15px}.scores td:nth-child(n+3){font-variant-numeric:tabular-nums;color:#b6e991}#sector-map{width:100%;height:auto;border:1px solid #314957}.bottom-hud .action-bar{gap:2px}.action-bar button{padding:11px 12px}.touch-controls{display:none!important}.avatar-card.player-portrait canvas,.crew-contact>canvas{height:clamp(180px,28vh,310px)}.avatar-card.player-portrait,.crew-contact{width:clamp(195px,18vw,255px)}.auth-screen .login-panel h2{font-size:25px}.auth-screen .login-copy{align-self:center}.auth-screen a{color:#b4e399}#invite-result{font-size:14px;color:#a7d9ba}.inline-email{font-size:12px;color:#a5b7b0}
@media(max-width:1100px){.action-bar button{font-size:12px;padding:10px 7px}.weapon-hud{width:210px}.login-screen{grid-template-columns:1fr 380px}.login-copy h1{font-size:48px}.crew-contact,.avatar-card.player-portrait{width:185px}.control-hint{display:block;left:200px;right:200px;font-size:11px}}
@media(max-width:900px){.desktop-notice{display:block;position:fixed;bottom:0;left:0;right:0;background:#111c25;color:#e8ddd0;border-top:1px solid #b49765;padding:10px;text-align:center;font-size:13px;z-index:99}.login-screen{display:flex}.login-copy{margin-top:0}.login-panel{max-width:450px;align-self:center;width:100%}#game{min-width:1000px}.login-footer{bottom:55px}}

.avatar-workshop{display:grid;grid-template-columns:230px 1fr;gap:25px}.avatar-workshop>aside{align-self:start;position:sticky;top:0}.avatar-workshop .preview-portrait{width:230px;height:auto;background:radial-gradient(ellipse at 50% 40%,#344f53,#111d27 65%);border:1px solid #4d6768}.avatar-workshop .design-grid{gap:0 12px}.avatar-workshop label{margin-bottom:10px}.avatar-workshop select{padding:8px}.fashion-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.fashion-card{background:#15232b;border:1px solid #3c535b;padding:10px;text-align:center}.fashion-card canvas{width:100%;height:auto;background:radial-gradient(ellipse,#385059,#14212b 70%)}.fashion-card h3{font-size:14px;margin:8px 0}.fashion-card p{font-size:12px;margin-bottom:8px}.fashion-card button{width:100%;font-size:12px;padding:8px}dialog:has(.avatar-workshop){width:min(950px,95vw)}.avatar-card.player-portrait canvas,.crew-contact>canvas{height:clamp(220px,32vh,350px)}

.bust-presets{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:14px 0 7px}.bust-presets span{margin-right:auto;font-size:14px;color:#c2d1cd}.bust-presets button{padding:5px 9px;font-size:12px}.full-preview{display:flex;gap:8px;align-items:center;margin-top:8px}.full-preview input{width:auto;margin:0}.fashion-card canvas{max-height:440px;object-fit:contain}.avatar-workshop .preview-portrait{max-height:610px;object-fit:contain}

#quest-tracker{position:fixed;z-index:4;top:100px;left:50%;transform:translateX(-50%);max-width:500px;padding:8px 14px;font-size:13px;color:#edcf91;pointer-events:none;text-align:center}
.build-overview{display:grid;grid-template-columns:360px 1fr;gap:24px;align-items:center}.build-slots{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:20px 0}.build-slots article{background:#101e29;border:1px solid #345160;padding:12px}.component-card{border-left:4px solid var(--rarity)!important}.component-card h3,.component-card .rank{color:var(--rarity)}
.build-overview{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.build-overview canvas{width:100%;height:auto}.build-slots{grid-template-columns:repeat(5,minmax(0,1fr))}.build-slots article{min-width:0;overflow-wrap:anywhere;font-size:14px}.build-slots button{padding:9px;font-size:14px}

#expedition-status{position:fixed;top:148px;left:50%;transform:translateX(-50%);padding:5px 12px;color:#edc27c;background:#07131bcc;border:1px solid #3a4d52;font-size:12px;pointer-events:none}

.batch-scrap{margin:18px 0;padding:12px;border:1px solid #35566b;border-radius:10px}.batch-scrap button{margin:4px}
.component-card{position:relative}.component-comparison{display:none;position:absolute;inset:10px 10px auto;z-index:5;padding:14px;background:#07131f;border:1px solid #6e9cae;border-radius:10px;box-shadow:0 8px 24px #000b;pointer-events:none;font-size:13px}.component-card:hover .component-comparison,.component-card:focus-within .component-comparison{display:block}.component-comparison div{display:grid;grid-template-columns:1fr auto;gap:3px 12px;margin:9px 0}.component-comparison small{grid-column:1;color:#aebfce}.component-comparison strong{grid-column:2;grid-row:span 2;align-self:center}.component-comparison .better{color:#79eda2}.component-comparison .worse{color:#ff8895}

.controls-list{margin:18px 0}.control-row{display:grid;grid-template-columns:180px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid #31505b}.control-row>div{display:flex;flex-wrap:wrap;gap:7px}.control-row span{display:flex;gap:2px}.control-row button{padding:8px 10px}.action-bar kbd{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

#panel.holodeck-panel{width:100vw;max-width:none;height:100vh;max-height:none;margin:0;padding:0;border:0;overflow:hidden;background:#071722}#panel.holodeck-panel .dialog-heading{position:absolute;top:14px;right:20px;left:20px;z-index:5;align-items:start;background:none}#panel.holodeck-panel #panel-title,#panel.holodeck-panel #panel-subtitle{display:none}#panel.holodeck-panel #close-panel{background:#091821d9}#panel.holodeck-panel #back-panel{background:#091821d9}.holodeck-stage{position:relative;width:100vw;height:100vh}.holodeck-stage canvas{width:100%;height:100%;display:block}.holodeck-top{position:absolute;left:24px;top:85px;right:24px}.holodeck-top button{margin:8px 8px 0 0;background:#0c1e33dd}.holodeck-bottom{position:absolute;bottom:15px;left:3%;right:3%;padding:14px 20px;background:#071522e8;border:1px solid #4d8790;border-radius:12px}.holodeck-bottom>div{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.holodeck-bottom label{display:flex;gap:10px;align-items:center}.holodeck-bottom p{margin:0 0 10px}.holodeck-bottom small{display:block;margin-top:10px;color:#adc3cd}



/* Combat HUD must not select text while aiming or firing. */
#game{user-select:none;-webkit-user-select:none}
#game input,#game textarea,#game [contenteditable]{user-select:text;-webkit-user-select:text}

/* One compact row directly below the header, clear of the side HUD. */
#objectives-hud{position:fixed;top:64px;left:50%;transform:translateX(-50%);width:min(780px,calc(100vw - 550px));display:grid;grid-template-columns:1fr 1.2fr .8fr;align-items:start;gap:6px;pointer-events:none}
#objectives-hud #target,#objectives-hud #quest-tracker,#objectives-hud #expedition-status{position:static;transform:none;min-width:0;max-width:none;width:100%;padding:6px 9px;margin:0;font-size:11px;line-height:1.35;text-align:left;overflow-wrap:anywhere}
#objectives-hud #target{grid-column:1}
#objectives-hud #quest-tracker{grid-column:2}
#objectives-hud #expedition-status{grid-column:3}
#objectives-hud progress{height:4px;margin:4px 0}
#objectives-hud small{font-size:10px}
@media(max-width:1100px){#objectives-hud{width:calc(100vw - 510px);gap:4px}#objectives-hud #target,#objectives-hud #quest-tracker,#objectives-hud #expedition-status{padding:5px 6px;font-size:10px}}

/* Compact weapon strip leaves more vertical space for combat. */
.weapon-hud{width:min(760px,calc(100vw - 550px));padding:7px 12px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 14px}
.weapon-hud>span{font-size:13px;text-align:left}
.weapon-hud>small{grid-column:2;grid-row:1;font-size:11px;text-align:right}
.weapon-hud>progress{grid-column:1/-1;grid-row:2;width:100%;height:4px;margin:0}
.weapon-hud #boss-status{grid-column:1/-1;grid-row:3;margin:0;font-size:11px;line-height:1.3}
@media(max-width:1100px){.weapon-hud{width:calc(100vw - 420px);gap:4px 8px}}

/* Group all resources below the tactical scan, in the same right-hand panel. */
.radar .cargo-hold{margin-top:12px;padding-top:11px;border-top:1px solid #345047;text-align:left;min-width:170px}
.radar .cargo-hold h3{margin:0 0 9px;color:var(--accent);font:12px Consolas,monospace;letter-spacing:1px;text-transform:uppercase}
.radar .cargo-hold dl{margin:0;font-size:12px;line-height:1.6}
.radar .cargo-hold dl>div{display:flex;justify-content:space-between;gap:15px}
.radar .cargo-hold dt{color:#afbfbc}.radar .cargo-hold dd{margin:0;color:#d9f4dd;font-variant-numeric:tabular-nums;font-weight:600}
.radar canvas{margin-inline:auto}

#sector-victory{position:fixed;z-index:35;top:23%;left:50%;transform:translateX(-50%);width:min(760px,78vw);padding:24px 30px;text-align:center;pointer-events:none;border:1px solid #8eff69;background:linear-gradient(110deg,#071b16f2,#103628f2,#071b16f2);box-shadow:0 0 35px #8eff6933,inset 0 0 24px #8eff6912}
#sector-victory[hidden]{display:none}#sector-victory strong{display:block;color:#acff8d;font-size:clamp(22px,2.6vw,36px);line-height:1.25;text-shadow:0 0 15px #8eff6966}#sector-victory span{display:block;margin-top:12px;color:#d6f0de;font-size:14px}

/* Keep the comparison outside the component controls, in the dialog top layer. */
.component-comparison{position:fixed;inset:110px auto auto 8px;width:240px;max-height:calc(100vh - 130px);overflow:auto;box-sizing:border-box}
#panel:has(.component-card){margin-left:auto;margin-right:auto;max-width:calc(100vw - 520px)}
