/* Clear hierarchy, with the same geometry in motion-reduced browsers. */
.compact .topbar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) 44px;align-items:center;gap:8px;padding:7px 14px;height:68px;background:#090f19f2}
.compact .topbar .brand,.compact .topbar .capacity{display:none}
.compact .resource{width:auto;min-width:0;margin:0;padding:0;height:auto;border:0;display:block}
.compact .resource>div{min-width:0}.compact .resource small{font-size:11px;font-weight:550;line-height:1.2;color:#bac6d3;margin:0 0 3px}
.compact .resource strong{font-family:var(--font);font-size:20px;font-weight:650;line-height:1.15;letter-spacing:0;font-variant-numeric:tabular-nums;color:#f1f4f8}
.compact .resource em{display:block;font-size:9px;line-height:1.2;margin-top:3px;color:#8192a7}
.compact .top-actions{position:static;inset:auto;margin:0;padding:0;display:block;max-width:none}
.compact .top-actions #menu-open{width:44px;height:44px;min-height:44px;margin:0;padding:10px;color:#dee8f4;border:0;border-radius:0;background:transparent!important;box-shadow:none}
.compact #nomad-hud{gap:16px}.compact #nomad-hud strong{font-size:32px;font-weight:650;letter-spacing:-.035em;line-height:1.2;font-variant-numeric:tabular-nums;white-space:nowrap}
.compact #nomad-hud small{font-size:11px;letter-spacing:.08em;color:#b3c2d2}.compact #nomad-hud strong em{font-size:13px;font-weight:450;letter-spacing:0;color:#a8b7c7}
.compact #nomad-hud button>span{font-size:11px;color:#9eafc2;margin-top:2px}
.compact #nomad-energy>strong,.compact #nomad-energy.energy-arrival>strong,.compact #nomad-energy.energy-arrival>:nth-child(2){outline:none!important;border:0!important;box-shadow:none!important;background:transparent!important;animation:none!important}
.compact #nomad-energy:focus-visible{outline:2px solid #a3cedd!important;outline-offset:4px}
.compact #drawer,.compact.tutorial-active[data-sheet="open"] #drawer{top:calc(178px + env(safe-area-inset-top,0px))!important}
.compact #quick-ships .fleet-card{height:76px!important;min-height:76px!important;display:grid;grid-template-rows:15px 31px 16px;align-content:center;gap:1px;padding:5px 8px 7px!important}
.compact #quick-ships .fleet-card>.card-class{min-height:0;line-height:15px}.compact #quick-ships .fleet-card>.card-class b{font-size:11px;line-height:15px}
.compact #quick-ships .fleet-card>svg{height:31px;width:100%;margin:0;align-self:center}
.compact #quick-ships .card-name{position:static;display:flex;flex-direction:row;justify-content:space-between;align-items:center;line-height:16px;font-size:10px;margin:0;padding:0;min-height:0}
.compact #quick-ships .card-name>.group-count{position:static;font-size:12px;line-height:16px}
.compact #quick-ships .card-name>span,.compact #quick-ships .fleet-card>p{display:none}
.compact #quick-ships .fleet-card .tiny-health{bottom:0;height:2px}.compact #quick-ships .mother-mini{display:flex!important;gap:1px!important}.compact .mother-mini img{height:39px}.compact .mother-mini b{line-height:16px}
/* Hue and shape both identify the queue; the fill never sits behind its label. */
.queue-item{position:relative;padding:10px 11px 15px!important;min-height:48px;background:#131e2a!important;overflow:hidden;border:1px solid #53677f44;border-radius:6px}
.queue-item>i{position:absolute!important;inset:auto auto 0 0!important;height:4px!important;opacity:1!important;max-width:100%;transition:width .15s linear}
.queue-item b,.queue-item span{position:relative;z-index:1}.queue-item span{font-variant-numeric:tabular-nums;font-size:11px}
#production-queue .queue-item{border-left:3px solid #e6bd76}#production-queue .queue-item>i{background:#e6bd76!important}#production-queue .queue-item b{color:#f0d9b0}
#research-queue .queue-item{border-left:3px solid #80d7e8}#research-queue .queue-item>i{background:#80d7e8!important}#research-queue .queue-item b{color:#b5eaf3}
.tech-node{position:relative;padding:16px 82px 16px 15px!important;min-height:120px!important;overflow:hidden;text-align:left}
.tech-node .research-pictogram{position:absolute;right:10px;top:20px;display:grid;place-items:center;width:62px;height:62px;color:#99c8da;opacity:.9}
.tech-node .research-pictogram svg{width:100%;height:100%;margin:0}.tech-node .research-pictogram .model-unit-icon{width:72px}
.tech-node>strong{display:block;font-size:15px!important;line-height:1.4;margin:7px 0}.tech-node>small{font-size:10px!important}.tech-node>p{font-size:12px!important;line-height:1.5;margin:0 0 10px}.tech-node .tech-cost{font-size:11px;line-height:1.5}
.tech-node.running{border-color:#80d7e888!important;background:#142b38!important}.tech-node.running>small{color:#a7e8f1}
/* Two seats, two named identities, with extra copies tucked away. */
#crew-panel{padding-top:4px}.crew-intro>p{font-size:13px;line-height:1.5;margin:0 0 10px;color:#c5d4df}
#crew-panel .recruit-banner{padding:12px;margin:0 0 14px;min-height:60px;gap:10px;align-items:center}#crew-panel .recruit-banner>span{font-size:12px}#crew-panel .recruit-banner button{min-width:110px;font-size:13px;min-height:44px}
#crew-panel .crew-filter{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:0 0 14px}
#crew-panel .crew-filter button{display:flex;justify-content:space-between;align-items:center;min-height:40px;font-size:11px;padding:8px;white-space:nowrap;border-radius:5px}#crew-panel .crew-filter small{font-size:10px;opacity:.65;margin-left:3px}
#crew-panel .n-select{display:flex;align-items:center;gap:12px;font-size:12px;margin:0 0 10px;padding:0}#crew-panel .n-select select{flex:1;width:0;min-height:42px;font-size:13px;padding:8px}
.crew-seat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:18px}
.crew-seat{display:grid;grid-template-columns:40px 1fr;gap:7px;align-items:center;min-height:90px;padding:10px;border:1px solid #8ea8bb55;border-radius:7px;background:#15222e;min-width:0}
.crew-seat .crew-portrait.small{width:40px;height:40px;grid-row:1/3;border-radius:5px}.crew-seat .crew-portrait>span{display:none}.crew-seat>span{display:flex;flex-direction:column;gap:3px;min-width:0}.crew-seat b{font-size:12px}.crew-seat small{font-size:10px;color:#a5b4c4}.crew-seat button{grid-column:2;font-size:10px;min-height:26px;padding:3px 5px;justify-self:start}
.crew-seat.vacant{display:flex;justify-content:center;gap:8px;border-style:dashed;background:#111c27;color:#8fa4b6;font-size:12px}.crew-seat.vacant>b{font-size:22px;font-weight:300}
.crew-character{margin:0 0 12px;border:1px solid #6e889c38;border-radius:7px;overflow:hidden;background:#13202c}.crew-character>header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid #6e889c2b}.crew-character>header>b{font-size:13px}.crew-character>header>small{font-size:11px;color:#a2b5c4}
#crew-panel .crew-card{display:grid;grid-template-columns:56px minmax(0,1fr);gap:10px;padding:12px;margin:0;border:0;border-radius:0;background:transparent;min-height:0}
#crew-panel .crew-portrait{width:56px;height:56px;border-radius:5px;box-shadow:none;border:1px solid #a6b8c244}.crew-portrait>span{font-size:11px!important}
#crew-panel .crew-details h4{font-size:14px;line-height:1.3;margin:0 0 5px}#crew-panel .crew-details h4 small{font-size:11px;margin-left:5px;color:#acbdcc}#crew-panel .crew-details p{font-size:12px;line-height:1.4;margin:0 0 4px}#crew-panel .crew-details>small{font-size:10px;color:#90a7ba}
#crew-panel .crew-card .n-card-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0}#crew-panel .n-card-actions button{font-size:11px;min-height:36px;padding:7px 10px}
.crew-character details{border-top:1px solid #6e889c30}.crew-character summary,.crew-help summary{padding:12px;font-size:11px;color:#adc3d3;cursor:pointer}.crew-character details .crew-card{border-top:1px solid #6e889c30!important}.crew-help{margin:8px 0;color:#91a7b9}.crew-help p{font-size:12px;line-height:1.6;margin:8px 12px}
.crew-unowned{display:flex;align-items:center;gap:15px;padding:14px;font-size:12px;color:#91a6b8}.crew-unowned .crew-portrait{filter:grayscale(.65);opacity:.6}
/* Ten compact, equal segments fit on every portrait width. */
.talent-guide{font-size:13px;line-height:1.5;color:#c1d3df;margin:0 0 14px}
#talents-panel .n-stats{padding:12px;gap:8px;margin:0 0 12px}#talents-panel .n-stats span{font-size:10px}#talents-panel .n-stats b{font-size:22px;margin-top:4px}
#talents-panel>.n-wide{margin:0 0 16px;min-height:46px;font-size:13px;padding:10px}
#talents-panel .talent-tree{display:grid;gap:12px;padding:0;margin:0;border:0}
#talents-panel .talent-tree article{margin:0;padding:16px;background:#15222e;border:1px solid #92aabd40;border-radius:7px}
#talents-panel .talent-tree article>small{display:none}#talents-panel .talent-tree h4{font-size:16px;margin:0 0 6px}#talents-panel .talent-tree p{font-size:12px;line-height:1.4;margin:0 0 12px}
#talents-panel .talent-nodes{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:5px;margin:0 0 14px;width:100%;padding:0}
#talents-panel .talent-nodes i{display:block;transform:none;width:100%;height:10px;min-width:0;margin:0;border:1px solid #65858d70;border-radius:2px;background:#101a24}
#talents-panel .talent-nodes i.on{background:#a0d7be;border-color:#a0d7be;box-shadow:none}
#talents-panel .talent-tree button{min-height:40px;width:100%;padding:9px;font-size:12px}
[hidden],.compact [hidden]{display:none!important}

#crew-panel .recruit-banner>span{display:inline;white-space:nowrap;line-height:1.4}#crew-panel .recruit-banner>span>b{display:inline;font-size:14px;margin:0}
#crew-panel .recruit-banner button small{display:block;color:#364535!important;font-size:10px!important;margin:3px 0 0!important}
#crew-panel .crew-seat .crew-portrait.small{width:40px;height:40px}

/* Deliberate, readable comms: one speaker, one report, no competing HUD. */
body[data-stage="briefing"] .shell-footer{display:none}
body[data-stage="briefing"] .shell-shade{background:linear-gradient(150deg,#08121eeb,#0a1422fa)}
.opening-comms{position:relative;width:min(100% - 40px,460px);margin:0 auto;min-height:100%;padding:24px 0 28px;display:flex;flex-direction:column;justify-content:center;gap:16px;box-sizing:border-box}
.opening-comms header,.opening-comms nav{display:flex;align-items:center;justify-content:space-between;gap:12px}
.opening-comms header>span{font:11px system-ui;letter-spacing:2px;color:#9cc0c9}
.opening-comms button{font:600 13px system-ui;min-height:44px;padding:10px 14px;color:#dce8eb;border:1px solid #7596a448;background:transparent;border-radius:4px}
.opening-comms header button{border:0;color:#a8b6c5;font-size:12px;padding-right:0}
.comms-visual{position:relative;width:180px;height:202px;align-self:center;border:1px solid #8cbac24d;background:#102233}
#comms-portrait{width:100%;height:100%;background-repeat:no-repeat}
#comms-channel{position:absolute;left:0;right:0;bottom:0;background:#0a1625e8;color:#bbd5dc;padding:8px 6px;font:11px system-ui;text-align:center;letter-spacing:.5px}
.comms-copy{min-height:146px;padding:0 4px}
#comms-status{color:#93c6cd;font-size:11px;letter-spacing:1px}
#comms-name{font:600 24px system-ui;margin:8px 0 12px;color:#f0dfb8}
#comms-line{font:400 16px/1.8 system-ui;margin:0;color:#e2e9ef;word-break:keep-all;overflow-wrap:anywhere}
.opening-comms nav{border-top:1px solid #8094aa33;padding-top:16px}
#comms-count{font:11px ui-monospace,monospace;letter-spacing:2px;color:#8fa7ba}
#comms-next{background:#e8d2a4;color:#101b27;border-color:#e8d2a4}
#comms-back:disabled{opacity:.25}
.toast.report{display:flex;gap:10px;align-items:center;max-width:340px;padding:10px 13px;text-align:left;border-left-color:#8ac9d0}
.toast.report img{width:36px;height:42px;object-fit:cover;object-position:50% 20%;border-radius:3px;flex-shrink:0}
.toast.report>span{font-size:12px;line-height:1.6}
.toast.report small{display:block;font-size:9px;letter-spacing:1px;color:#94c3cd;margin-bottom:3px}
@media(max-height:680px){.opening-comms{gap:12px;padding-top:16px;padding-bottom:20px}.comms-visual{width:144px;height:162px}.comms-copy{min-height:142px}#comms-line{font-size:15px;line-height:1.7}#comms-name{font-size:22px;margin:5px 0 8px}}
#crew-panel .crew-seat{min-height:78px;padding:8px}
