/* Expedition command: configuration is a real seeded mission, not a backdrop. */
.lobby-page{padding:35px 0 55px}.command-lobby{border:1px solid #52738773;background:linear-gradient(130deg,#172a38e8,#0b1722f5);box-shadow:0 25px 90px #0005}.mode-lobby{padding:32px}.command-lobby h1{font-size:clamp(36px,4.5vw,62px);line-height:1.04;margin:12px 0 24px}.command-lobby label{display:block;font-size:12px;color:#ccdde6;font-weight:600;margin-bottom:8px}.command-lobby input:not([type=checkbox]):not([type=color]){width:100%;background:#08131e;color:#e4f0f6;border:1px solid #4f70827a;padding:11px;font:14px var(--font);border-radius:2px}.command-lobby select{font-size:13px;padding:12px}.command-lobby .mode-grid{margin-top:25px;gap:18px}.illustrated-mode{padding:0;gap:0;overflow:hidden;border-color:#597c8b70;background:#112230;min-height:0}.illustrated-mode>img{width:100%;height:175px;object-fit:cover;object-position:center 60%;border-bottom:1px solid #719aad5c}.mode-copy{display:flex;flex-direction:column;padding:23px;gap:14px;flex:1}.mode-copy h2{font-size:35px}.mode-copy .tag{font-size:8px}.mode-copy p{font-size:13px;line-height:1.7;min-height:86px}.mode-badges{color:#a1c6d3;font-size:10px;margin-top:auto}.mode-copy .btn{font-size:9px;padding:14px;gap:8px}.lobby-network{border-top:1px solid #64889b40;display:flex;gap:12px;align-items:center;margin-top:25px;padding-top:20px}.lobby-network>span{color:#7899ac;font-size:9px;letter-spacing:1.4px;margin-right:auto}.lobby-network .btn{font-size:8px;min-height:40px;padding:12px}.setup-lobby{display:grid;grid-template-columns:minmax(0,1fr) 330px}.lobby-main{padding:28px}.lobby-main>.back{display:block;margin-bottom:22px}.lobby-main>.tag{display:block}.commander-card{display:flex;gap:14px;align-items:center;background:#243d4c66;border:1px solid #5e879c5c;padding:18px;margin-bottom:25px}.commander-badge{width:58px;height:58px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;border:2px solid #8cceec;color:#cbe9fa;font-size:27px;font-family:'Barlow Condensed'}.commander-card>div{flex:1}.commander-card small{font-size:10px;color:#8da6b8;display:block;margin-top:7px}.color-pick{font-size:8px!important;letter-spacing:1px;text-align:center}.color-pick input{width:40px;height:35px;border:1px solid #5e8399;background:#102331;display:block;margin:8px auto 0;padding:4px}.setup-section{border-top:1px solid #64889b40;padding:22px 0}.setup-section>.tag{display:block;margin-bottom:15px}.faction-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.faction-choice{position:relative;text-align:center;padding:17px 10px;border:1px solid #46657787;background:#122332;transition:border-color .2s,background .2s}.faction-choice.selected{border-color:#e4b47b;background:linear-gradient(135deg,#70503566,#26364066);box-shadow:inset 0 0 0 1px #e4b47b3b}.faction-choice:hover{border-color:#93d3e5}.choice-emblem{font-size:29px;color:#9dcfe2;display:block;margin:0 0 9px}.faction-choice strong{font-size:13px;display:block}.faction-choice small{color:#91a8b9;font-size:10px;line-height:1.6;display:block;margin-top:7px}.choice-check{position:absolute;top:8px;right:8px;color:#edbd84;font-size:12px;opacity:0}.selected .choice-check{opacity:1}.rival-choices .faction-choice{padding:12px 7px}.rival-choices .choice-emblem{font-size:18px;margin-bottom:6px}.rival-choices small{display:none}.lobby-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.lobby-fields .field{margin-bottom:15px}.fixed-field{border:1px solid #4867797a;background:#0b1925;padding:13px;font-size:12px;color:#aec9d7}.lobby-options{border-top:1px solid #64889b40;padding-top:20px}.lobby-options summary{font-size:10px;letter-spacing:1.5px;color:#d7b184;cursor:pointer;margin-bottom:18px}.guide-choice{display:flex!important;align-items:center;gap:8px;font-size:10px!important;margin:20px 0}.guide-choice input{accent-color:#80cde4}.lobby-map{border-left:1px solid #64889b40;padding:26px 22px;background:#08131d88}.lobby-map>.tag{display:block;margin-bottom:22px}.map-preview{position:relative;margin:18px 0;border:1px solid #81b8c271;box-shadow:0 0 20px #73d2ec0b}.map-preview canvas{width:100%;height:auto;display:block;image-rendering:pixelated}.new-map{position:absolute;right:8px;top:8px;padding:8px 10px;border:1px solid #81b8c2c4;background:#102331ed;color:#d5ecf5;font-size:9px;letter-spacing:1px}.new-map:hover{background:#28516a}.lobby-map h3{font-size:24px;margin-bottom:9px}.lobby-map p{font-size:12px;line-height:1.8}.map-legend{display:flex;gap:8px;flex-wrap:wrap;font-size:8px;color:#98b8ca;margin:15px 0 22px}.map-legend i{display:inline-block;width:6px;height:6px;background:#6ed4ed;margin-right:4px}.map-legend>span:nth-child(2) i{background:#ef956e}.lobby-map-meta{display:flex;justify-content:space-between;gap:8px;font-size:8px;color:#6d94aa;letter-spacing:1px;margin-top:15px}.lobby-launch{grid-column:1/-1;border-top:1px solid #64889b40;display:flex;justify-content:space-between;gap:15px;align-items:center;padding:20px 26px;background:#102330}.lobby-launch>span{font-size:11px;color:#9ab4c6}.lobby-launch>div{display:flex;gap:10px}.lobby-launch .btn{font-size:9px;min-height:46px;padding:13px 18px}.wave-briefing h3{font-size:26px;margin:8px 0}.wave-briefing ul{padding-left:18px;color:#b6c8d2;font-size:12px;line-height:1.8;margin-bottom:25px}
.account-button{font-size:9px;letter-spacing:1px;color:#a7c8d8;border:1px solid #63859b5e;background:#142331;padding:8px 11px;white-space:nowrap}.account-button:hover{color:#e0f7ff;border-color:#89d8ec}.account-dialog{max-width:460px;width:92vw;background:linear-gradient(140deg,#1a3042,#0b1722);border:1px solid #7096ac;color:#e3eef5;padding:30px;box-shadow:0 25px 100px #000b}.account-dialog::backdrop{background:#030b16c9;backdrop-filter:blur(5px)}.account-dialog h2{font-size:36px;margin:15px 0}.account-dialog p{font-size:13px}.dialog-close{position:absolute;top:10px;right:12px;font-size:24px;color:#9fb8c7}.social-logins{display:grid;gap:10px}.social-logins .btn{width:100%;justify-content:start;gap:14px;font-size:10px}.social-logins b{font-size:20px}.google-login b{color:#7bdaec}.discord-login{border-color:#8e95de88}.discord-login b{color:#b2b9ff}.unavailable{opacity:.4;cursor:default;pointer-events:none}.email-separator{text-align:center;font-size:9px;letter-spacing:2px;color:#8fabbc;margin:24px 0}.account-dialog form label{display:block;font-size:12px;margin-bottom:10px;color:#b6cbd7}.account-dialog form input{display:block;width:100%;background:#07131e;border:1px solid #63859b;color:#e0f0f8;padding:12px;margin-bottom:12px;font:14px var(--font)}.account-dialog form .btn{width:100%}.account-dialog .btn:disabled{opacity:.4;cursor:default}.auth-note{font-size:10px;line-height:1.7;color:#7f9aaa;display:block;margin-top:20px}.account-dialog #account-content>button{display:block;width:100%;margin-top:12px}

/* Compact selection: actions first, optional statistics, five visual queue slots. */
.command-panel{width:clamp(260px,23vw,320px);max-height:calc(100dvh - 95px);height:auto;box-shadow:0 10px 35px #0007,inset 0 0 0 2px #122431}.command-panel .command-content{padding:11px;max-height:calc(100dvh - 140px)}.command-handle{padding:9px 11px;min-height:37px;font-size:9px}.panel-actions button{width:25px;height:25px;font-size:16px}.command-panel .identity{gap:9px;margin:9px 0}.command-panel .portrait{width:48px;height:48px}.command-panel .selection h3{font-size:23px;margin-bottom:3px}.command-panel .identity small{font-size:10px}.command-panel .selection>.tag{font-size:8px;letter-spacing:1px}.command-panel .health-line strong{font-size:10px}.command-panel .order-state{font-size:11px;padding:9px 0}.command-panel .selection{padding-bottom:9px;margin-bottom:0}.command-panel .selection p{font-size:11px;line-height:1.65}.selection-details{border-top:1px solid #63859b38;padding-top:9px;margin-top:3px}.selection-details summary{font-size:8px;letter-spacing:1.3px;color:#8eafc2;cursor:pointer;margin-bottom:7px}.selection-details .unit-stats{gap:4px}.selection-details .unit-stats>div{padding:6px}.selection-details .unit-stats small{font-size:8px}.selection-details .unit-stats strong{font-size:16px}.command-panel .commands{gap:5px}.command-panel .command-section{font-size:9px;letter-spacing:1.5px;margin:8px 0 3px}.command-panel .illustrated-command{min-height:64px;padding:11px 6px 6px;gap:4px}.command-panel .illustrated-command canvas{width:38px;height:38px}.command-panel .command .command-label{font-size:11px}.command-panel .command .command-label small{font-size:9px;margin-top:4px}.command-panel .command-label em{font-size:8px}.command-panel .illustrated-command kbd{font-size:8px}.command-panel .illustrated-command:not(:has(canvas)){min-height:44px}.command-panel .order-symbol{font-size:19px;width:25px}.command-panel .vent-stock{padding-top:10px;margin-top:8px;font-size:9px}.command-panel .vent-stock strong{font-size:18px;margin-top:7px}.panel-help{font-size:9px!important;padding:8px!important;min-height:0!important;margin-top:11px}.construction-progress{height:4px;background:#2a4150;margin:0 0 8px}.construction-progress>div{height:100%;background:#e9b975}.resume-construction{display:block;width:100%;padding:9px 5px;background:#304c5c;border:1px solid #86b4c888;color:#d2ebf8;font-size:9px;letter-spacing:1px;margin-bottom:10px}.resume-construction:hover{background:#3a6478}.queue-heading{display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:1px;color:#a5c1d1;margin:12px 0 8px}.queue-heading b{font-weight:400;color:#dcb37d}.portrait-queue{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.queue-slot{position:relative;display:block;aspect-ratio:1;border:1px solid #496b80;background:#0a1722;padding:2px;overflow:hidden;min-width:0}.queue-slot canvas{display:block;width:100%;height:100%;object-fit:contain}.queue-slot.training-now{border-color:#e8bd83;box-shadow:0 0 0 1px #e8bd8333}.queue-slot.empty-slot{border-style:dashed;display:grid;place-items:center;color:#375266;font-size:18px}.queue-count{position:absolute;right:2px;bottom:4px;font-size:9px;color:#d7e9f1;background:#0b1726a3}.queue-remove{position:absolute;right:2px;top:-3px;color:#ffb596;opacity:0;font-size:15px;text-shadow:0 0 4px #000}.queue-slot:is(:hover,:focus-visible) .queue-remove{opacity:1}.queue-progress{position:absolute;bottom:0;left:0;height:3px;background:#edbd83}.queue-caption{font-size:10px!important;line-height:1.55!important;color:#a5bfce;margin:7px 0 0}.queue-caption>span{font-size:8px;color:#7d9bb0}.production-block>.tag{display:none}.command-panel .applied-upgrades{margin-top:7px;padding-top:8px}.command-panel .applied-upgrades p{font-size:10px;margin-bottom:0}
.mission{width:280px;max-width:27vw;left:16px;right:auto;top:78px;padding:14px 16px;background:#0c1b28ed;border:1px solid #56798d6b;border-left:2px solid #dda86c;box-shadow:0 5px 25px #0005}.mission h3{font-size:17px;margin:10px 0 8px}.mission p{font-size:11px;line-height:1.7;margin-bottom:8px}.mission .tag{font-size:8px;letter-spacing:1.6px}.guide-actions{display:flex;justify-content:space-between;align-items:center}.guide-actions button{font-size:9px;color:#a1cbdd;padding:5px 0}.guide-actions button:last-child{font-size:18px;padding:0 3px}.guide-progress{margin-top:7px;height:3px;background:#29404e}.guide-progress:before{content:'';display:block;height:100%;width:var(--progress,0%);background:#b8d7a0;transition:width .3s}#training-target{position:absolute;z-index:3;pointer-events:none;transform:translateX(-50%);text-align:center;filter:drop-shadow(0 3px 4px #000)}#training-target[hidden]{display:none}#training-target>span{display:block;color:#ffd39c;font-size:44px;line-height:35px;animation:instructor-point 1.1s ease-in-out infinite}#training-target>b{font-size:8px;color:#ffe4b8;letter-spacing:1px;background:#13212fdf;padding:5px;border:1px solid #daa96780}@keyframes instructor-point{50%{transform:translateY(6px)}}
.training-welcome{width:min(1050px,92vw);max-height:90vh;overflow:auto;background:linear-gradient(135deg,#233e50,#102332);border:1px solid #8bb2c5;box-shadow:0 20px 100px #0009;padding:30px}.training-welcome h2{font-size:42px;margin:14px 0}.training-welcome>p{font-size:14px;max-width:800px}.welcome-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-top:24px}.welcome-grid img{width:100%;height:130px;object-fit:cover;border:1px solid #6a91a66b}.welcome-grid h3{font:12px var(--font);letter-spacing:1.5px;color:#efbd86;margin:12px 0 8px}.welcome-grid p{font-size:12px;line-height:1.7}.welcome-actions{display:flex;justify-content:end;gap:12px;margin-top:15px}.welcome-actions .btn{font-size:9px}.boon-choice{position:fixed;z-index:60;top:50%;left:50%;transform:translate(-50%,-50%);width:360px;max-width:90vw;background:#152d3def;border:1px solid #8ab7ca;box-shadow:0 20px 100px #000b;padding:24px}.boon-choice h3{font-size:29px;margin:14px 0}.boon-choice>button{display:block;width:100%;padding:13px;margin-top:9px;border:1px solid #628fa5;background:#234558;color:#daedf5;text-align:left;font-size:11px;letter-spacing:1px}.boon-choice>button:hover{background:#365f73;border-color:#afd9e8}.boon-choice small{display:block;color:#a1bdcb;font-size:10px;margin-top:7px;letter-spacing:0}
@media(max-width:1050px){.setup-lobby{grid-template-columns:minmax(0,1fr) 270px}.lobby-main{padding:22px}.lobby-map{padding:22px 16px}.commander-card{padding:12px}.commander-badge{width:42px;height:42px;font-size:22px}.faction-choice small{font-size:9px}.lobby-launch{align-items:start;flex-direction:column}.mode-copy{padding:17px}.mode-copy p{min-height:110px}.lobby-network{flex-wrap:wrap}.topbar{gap:18px}.nav{margin-left:15px;gap:18px}.command-panel{width:270px}.mission{max-width:26vw;width:255px}}
@media(max-width:750px){.setup-lobby{grid-template-columns:1fr}.lobby-map{border-left:0;border-top:1px solid #63859b66}.map-preview{max-width:500px}.lobby-main{padding:20px}.mode-lobby{padding:20px}.mode-grid{grid-template-columns:1fr}.mode-copy p{min-height:0}.lobby-launch>div{flex-wrap:wrap}.faction-choice strong{font-size:11px}.faction-choice small{font-size:9px}.faction-choice{padding:13px 7px}.lobby-network>span{width:100%}.command-lobby h1{font-size:39px}.welcome-grid{grid-template-columns:1fr 1fr}.training-welcome{padding:20px}.training-welcome h2{font-size:32px}.welcome-actions{flex-direction:column}.command-panel{width:min(270px,68vw);max-height:calc(100dvh - 85px)}.command-panel .command-content{max-height:calc(100dvh - 130px)}.mission{max-width:47vw;width:230px;top:64px;padding:10px;left:9px}.mission p{font-size:10px}.mission h3{font-size:14px}.topbar .account-button{position:absolute;right:0;top:19px;font-size:8px}.hero-wrap .topbar .audio-btn{right:0;top:60px}.topbar .nav{width:100%;margin:0;justify-content:space-between}.command-panel .command .command-label{font-size:10px}}
@media(prefers-reduced-motion:reduce){#training-target>span{animation:none}}

/* Mission screens fit the usable browser window; the marketing landing page is unchanged. */
.mission-shell{height:100dvh;min-height:0;width:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding-inline:clamp(14px,3vw,44px);overflow:hidden}
.mission-shell>.topbar{height:clamp(54px,9dvh,80px);min-height:0;gap:20px;flex-wrap:nowrap;padding:0}
.mission-shell>.topbar .nav{margin-left:clamp(0px,2vw,30px);gap:clamp(12px,2vw,28px)}
.mission-shell>.topbar .nav a{padding-block:20px}
.mission-shell>footer{padding-block:clamp(8px,1.5dvh,14px);font-size:9px;gap:12px}
.mission-shell>.lobby-page{min-width:0;min-height:0;max-height:100%;padding-block:clamp(10px,2dvh,20px);overflow:hidden}
.mission-shell .mode-lobby{height:100%;min-height:0;padding:clamp(14px,2.5dvh,25px);display:flex;flex-direction:column;gap:clamp(8px,1.4dvh,14px);overflow:auto;overscroll-behavior:contain}
.mission-shell .mode-lobby>h1{margin:0;font-size:clamp(30px,5dvh,50px);line-height:1.05;flex-shrink:0}
.mission-shell .mode-lobby>.tag{flex-shrink:0}
.mission-shell .resume-strip{margin:0;flex-shrink:0;gap:14px}
.mission-shell .resume-strip .btn{min-height:38px;padding:10px 15px;font-size:9px}
.mission-shell .resume-strip span{font-size:11px}
.mission-shell .mode-grid{flex:1;min-height:260px;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,1.5vw,18px);margin:0}
.mission-shell .illustrated-mode{min-width:0;min-height:0;height:100%;overflow:hidden}
.mission-shell .illustrated-mode>img{height:clamp(64px,16dvh,155px);min-height:0;flex-shrink:1;object-fit:cover}
.mission-shell .mode-copy{padding:clamp(12px,1.8dvh,20px);gap:clamp(6px,1dvh,12px);min-height:0}
.mission-shell .mode-copy h2{font-size:clamp(25px,3.8dvh,35px);line-height:1.05}
.mission-shell .mode-copy p{min-height:0;font-size:12px;line-height:1.5}
.mission-shell .mode-copy .btn{min-height:38px;padding:10px 8px;font-size:9px;letter-spacing:1px;flex-shrink:0}
.mission-shell .lobby-network{flex-shrink:0;margin:0;padding-top:clamp(9px,1.5dvh,16px);gap:10px}
.mission-shell .lobby-network .btn{min-height:36px;padding:9px 11px}
.mission-shell .setup-lobby{height:100%;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;overflow:hidden}
.mission-shell .lobby-body{display:grid;grid-template-columns:minmax(0,1fr) clamp(250px,27vw,330px);min-width:0;min-height:0;overflow:hidden}
.mission-shell .lobby-main,.mission-shell .lobby-map{min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:clamp(16px,2dvh,25px)}
.mission-shell .lobby-main h1{font-size:clamp(32px,5dvh,50px);margin:8px 0 18px}
.mission-shell .lobby-main>.back{margin-bottom:14px}
.mission-shell .lobby-launch{grid-column:1;min-width:0;flex-direction:row;align-items:center;padding:12px 18px;gap:10px}
.mission-shell .lobby-launch>div{flex-shrink:0;gap:8px}
.mission-shell .lobby-launch .btn{min-height:40px;padding:10px 14px}
.mission-shell .map-preview{margin-block:12px}
.mission-shell .map-preview canvas{max-height:28dvh;object-fit:contain}
/* Long dialog content scrolls inside the window; closing controls remain reachable. */
.account-dialog{max-height:calc(100dvh - 24px);max-width:calc(100vw - 24px);overflow:auto;overscroll-behavior:contain}
.account-dialog .dialog-close{position:sticky;top:0;float:right;z-index:3;background:#102333}
@media(max-width:950px){
 .mission-shell>.topbar{gap:12px}.mission-shell>.topbar .brand{font-size:18px}.mission-shell>.topbar .brand small{font-size:8px}.mission-shell>.topbar .nav{gap:12px;margin-left:0}.mission-shell>.topbar .nav a{font-size:10px;letter-spacing:1px}
 .mission-shell .lobby-launch>span{font-size:10px}.mission-shell .lobby-launch .btn{font-size:8px;padding:10px}
}
@media(max-width:759px){
 .mission-shell{padding-inline:12px}
 .mission-shell>.topbar{height:auto;min-height:92px;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:10px 0}
 .mission-shell>.topbar .brand{order:0;margin-right:auto}.mission-shell>.topbar .account-button{position:static;order:1}.mission-shell>.topbar .audio-btn{order:2;margin-left:0;font-size:9px}.mission-shell>.topbar .nav{order:3;width:100%;margin:0;justify-content:space-between}.mission-shell>.topbar .nav a{padding:8px 0}
 .mission-shell>footer{font-size:8px;padding-block:8px}
 .mission-shell .mode-lobby{gap:10px;overflow:auto}
 .mission-shell .resume-strip{align-items:stretch;flex-direction:column;gap:6px}
 .mission-shell .mode-grid{display:flex;flex-direction:column;min-height:0;flex:none;gap:12px}
 .mission-shell .illustrated-mode{display:grid;grid-template-columns:minmax(75px,27%) minmax(0,1fr);height:auto;min-height:165px}
 .mission-shell .illustrated-mode>img{width:100%;height:100%;max-height:none;border-bottom:0;border-right:1px solid #719aad5c}
 .mission-shell .mode-copy{padding:12px;gap:6px}.mission-shell .mode-copy h2{font-size:26px}.mission-shell .mode-copy p{font-size:11px;line-height:1.45}.mission-shell .mode-copy .tag{font-size:7px;letter-spacing:1px}.mission-shell .mode-copy .btn{font-size:8px;min-height:36px;padding:8px 5px}
 .mission-shell .lobby-network{flex-wrap:wrap}.mission-shell .lobby-network>span{width:100%}.mission-shell .lobby-network .btn{flex:1;font-size:8px}
 .mission-shell .lobby-body{display:block;overflow:auto;overscroll-behavior:contain}.mission-shell .lobby-main,.mission-shell .lobby-map{overflow:visible;scrollbar-gutter:auto}
 .mission-shell .lobby-launch{flex-direction:column;align-items:stretch;padding:10px}.mission-shell .lobby-launch>div{display:grid;grid-template-columns:1fr 1fr}.mission-shell .lobby-launch .btn{min-height:40px;font-size:8px;letter-spacing:.6px}
 .mission-shell .map-preview canvas{max-height:35dvh}
}
@media(min-width:760px) and (max-height:620px){
 .mission-shell>.topbar{height:50px}.mission-shell>footer{padding-block:7px}
 .mission-shell .mode-lobby{padding:12px;gap:7px}.mission-shell .mode-lobby>h1{font-size:30px}.mission-shell .mode-grid{min-height:240px}
 .mission-shell .illustrated-mode>img{height:70px}.mission-shell .mode-copy{padding:10px;gap:6px}.mission-shell .mode-copy h2{font-size:25px}.mission-shell .mode-copy p{font-size:11px;line-height:1.4}.mission-shell .mode-copy .btn{min-height:34px;padding:8px}.mission-shell .lobby-network{padding-top:7px}
}

/* Compact setup spacing preserves readable controls in a short laptop window. */
.mission-shell .commander-card{padding:12px;gap:10px;margin-bottom:12px}
.mission-shell .commander-badge{width:42px;height:42px;font-size:23px}
.mission-shell .commander-card small{font-size:10px;margin-top:4px}
.mission-shell .setup-identity{padding:10px 0;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.mission-shell .setup-identity p{font-size:11px;line-height:1.4;margin:4px 0 0}
.mission-shell .setup-identity .social-logins{flex:1;gap:7px;min-width:0}
.mission-shell .setup-identity .social-logins .btn{width:auto;flex:1;min-height:38px;font-size:9px;letter-spacing:.6px;padding:8px 10px;white-space:nowrap}
.mission-shell .setup-section{padding:12px 0}.mission-shell .setup-section>.tag{margin-bottom:10px}
.mission-shell .faction-choice{padding:10px 8px}.mission-shell .choice-emblem{font-size:23px;margin-bottom:5px}
.mission-shell .faction-choice small{line-height:1.4;margin-top:4px}.mission-shell .faction-choice strong{font-size:12px}
.mission-shell .lobby-fields{gap:12px}.mission-shell .lobby-fields .field{margin-bottom:8px}
.mission-shell .command-lobby label{font-size:11px;margin-bottom:6px}
.mission-shell .veyr-briefing{margin:10px 0;padding:10px;gap:12px}.mission-shell .veyr-briefing img{width:120px;max-height:100px}
.mission-shell .veyr-briefing h3{font-size:21px;margin:5px 0}.mission-shell .veyr-briefing p{font-size:11px;line-height:1.5;margin-bottom:8px}
.mission-shell .guide-choice{margin:12px 0}.mission-shell .lobby-options{padding-top:12px}.mission-shell .lobby-options summary{margin-bottom:12px}
@media(max-width:759px){.mission-shell .setup-identity{display:block}.mission-shell .setup-identity .social-logins{margin-top:9px}.mission-shell .setup-identity .social-logins .btn{min-width:120px}.mission-shell .veyr-briefing img{width:100%;height:100px}}

/* Tutorial introduction keeps its decision buttons visible while examples can scroll. */
.training-welcome{display:flex;flex-direction:column;min-height:0;overflow:hidden}
.training-welcome>.tag,.training-welcome>h2,.training-welcome>p,.training-welcome>.welcome-actions{flex-shrink:0}
.training-welcome .welcome-grid{min-height:0;overflow:auto;overscroll-behavior:contain;margin-top:clamp(10px,2dvh,24px)}
.training-welcome .welcome-actions{padding-top:8px;margin-top:8px}
@media(max-height:700px){.training-welcome{padding:20px}.training-welcome h2{font-size:32px;margin:8px 0}.training-welcome>p{font-size:12px;line-height:1.5;margin-bottom:8px}.welcome-grid img{height:clamp(70px,15dvh,110px)}.welcome-grid p{font-size:11px;line-height:1.5}.welcome-actions .btn{min-height:40px;padding:10px 14px}}

/* Saved navigation enlargement may wrap; it must not squeeze mission actions offscreen. */
.mission-shell>.topbar{height:auto;flex-wrap:wrap;max-height:calc(35dvh / var(--ui-scale,1));overflow:auto}
.mission-shell>.topbar .nav{min-width:0;flex-wrap:wrap}
.mission-shell>footer{flex-wrap:wrap}
@media(min-width:760px) and (max-height:620px){.mission-shell>.topbar{height:auto;min-height:50px}}

/* Spend spare card height on its artwork, not empty gaps between text and actions. */
@media(min-width:760px){
 .mission-shell .illustrated-mode{display:grid;grid-template-rows:minmax(82px,1fr) auto}
 .mission-shell .illustrated-mode>img{width:100%;height:100%;min-height:0;object-fit:cover;object-position:center 55%;flex:none}
 .mission-shell .mode-copy{flex:none;gap:8px;min-height:0}
 .mission-shell .mode-copy p{min-height:3em;margin:0}
 .mission-shell .mode-badges,.mission-shell .mode-copy .btn{margin-top:0}
}
@media(min-width:760px) and (max-height:620px){
 .mission-shell .illustrated-mode{grid-template-rows:minmax(64px,1fr) auto}
 .mission-shell .mode-copy{gap:6px;padding:10px}
}

.multiplayer-dialog{width:min(740px,calc(100vw - 30px));max-width:740px;max-height:calc(100dvh - 30px);overflow:auto}.multiplayer-dialog .actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.multiplayer-dialog .actions input{min-width:0;width:100%;grid-row:2}.multiplayer-dialog #join-room{grid-row:2}.multiplayer-dialog #create-room{grid-column:1/-1}.multiplayer-dialog select,.multiplayer-dialog>input{width:100%;padding:10px;background:#101c28;color:#e6eff5;border:1px solid #536879}.multiplayer-dialog label{display:block;margin-top:10px}.multiplayer-dialog #online-members li{padding:7px}.multiplayer-dialog .social-logins{flex-wrap:wrap}
/* Keep mission artwork proportional on tall/high-DPI windows. */
@media(min-width:760px){
 .mission-shell .mode-lobby{height:auto;max-height:100%}
 .mission-shell .mode-grid{flex:0 0 auto;min-height:0}
 .mission-shell .illustrated-mode{height:auto;grid-template-rows:auto 1fr}
 .mission-shell .illustrated-mode>img{height:auto;aspect-ratio:16/9;max-height:min(26dvh,240px);object-fit:cover}
}
@media(min-width:760px) and (max-height:620px){.mission-shell .illustrated-mode>img{max-height:100px}}
/* Hotkeys remain readable even when a construction/recruit card is disabled. */
.game kbd,.page kbd,.tech-dialog kbd{color:#fff!important;font-weight:700;text-shadow:0 0 3px #fff9,0 0 7px #b9deffb0;opacity:1}
.command-panel .command kbd{font-size:10px!important;line-height:1.2;background:#07111cdd;border:1px solid #ffffff70;padding:2px 3px;border-radius:2px;right:4px;top:3px}
.command-panel .command:disabled{opacity:1;background:#14202a;color:#78909f;border-color:#ffffff17}
.command-panel .command:disabled canvas,.command-panel .command:disabled .command-label,.command-panel .command:disabled .order-symbol{opacity:.43}

.game-hint,.game-hint span{color:#fff;text-shadow:0 0 3px #fff7,0 0 7px #b9deff80;font-weight:600}

/* Full-window hero: browser CSS viewport, never physical monitor resolution. */
.hero-wrap{min-height:100dvh}.hero-wrap>.shell{width:100%;max-width:none;min-height:100dvh;padding-inline:clamp(22px,4vw,110px);display:flex;flex-direction:column}.hero-wrap .hero{flex:1;min-height:0;padding-top:clamp(42px,10dvh,150px);padding-bottom:clamp(45px,10dvh,140px)}.hero-wrap .hero h1{font-size:clamp(64px,5.7vw,140px);max-width:1050px}.hero-wrap .strip{flex-shrink:0}.frontier-below{width:100%;max-width:none;padding-inline:clamp(22px,4vw,110px)}
.allegiance-vharketh .faction-art{background-image:url('/assets/vharketh-buildings.png');background-size:300% 300%}.faction-choices{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:650px){.hero-wrap .hero h1{font-size:clamp(48px,10vw,68px)}.hero-wrap .hero{padding-top:35px;padding-bottom:20px}.hero-wrap .hero-location{margin-top:18px}.faction-choices{grid-template-columns:1fr}}
.debug-panel{position:absolute;z-index:90;left:50%;top:70px;transform:translateX(-50%);width:min(540px,94vw);max-height:calc(100dvh - 100px);overflow:auto;background:#09131cf5;border:1px solid #c4deeb;padding:16px;color:#fff;box-shadow:0 0 24px #000b;font:12px system-ui}.debug-panel header{display:flex;justify-content:space-between}.debug-panel output{display:block;white-space:pre-line;padding:12px 0;line-height:1.6;color:#b8edff}.debug-panel label{display:block;padding:6px}.debug-panel button{background:#273e50;color:#fff;border:1px solid #7aafc4;padding:7px;margin:3px;cursor:pointer}.debug-panel button:disabled{opacity:.4}.debug-panel p{line-height:1.5}.event-feed{position:absolute;z-index:22;top:8px;left:50%;transform:translateX(-50%);width:min(470px,45vw);background:#0c1922ef;border:1px solid #6e8d9b75;color:#d0e5ef;font-size:10px;padding:6px}.event-feed summary{cursor:pointer;letter-spacing:1px}.event-feed button{display:block;width:100%;text-align:left;margin-top:5px;padding:6px;background:#1b303e;border:1px solid #4e7182;color:#def3ff;font-size:10px}.event-feed button:disabled{opacity:1;background:transparent;border-color:transparent;color:#a9c0cf}.reward-receipt{margin:5px 2px;color:#c3e6a7}.event-feed[hidden],.debug-panel[hidden]{display:none}@media(max-width:700px){.event-feed{width:calc(100% - 20px);max-width:none;left:10px;transform:none;top:4px}.event-feed summary{font-size:8px}}

@media(min-width:760px) and (max-height:800px){.hero-wrap .hero{padding-top:24px;padding-bottom:20px}.hero-wrap .hero h1{font-size:clamp(48px,4.5vw,74px);line-height:1.02;margin-bottom:18px}.hero-wrap .hero p{margin-top:14px;margin-bottom:18px;font-size:13px}.hero-wrap .hero .fine{margin:12px 0 0;font-size:10px}.hero-wrap .hero .btn{padding:14px 20px}.hero-wrap .strip{padding-top:22px;padding-bottom:22px}.hero-wrap .topbar{height:76px;min-height:76px}}
@media(max-width:650px){.hero-wrap .hero-location{display:none}.hero-wrap .strip{padding-block:12px;row-gap:12px}.hero-wrap .hero{padding-top:24px;padding-bottom:16px}}
@media(min-width:760px) and (max-height:480px){.hero-wrap .topbar{height:56px;min-height:56px}.hero-wrap .hero{padding-block:8px}.hero-wrap .hero h1{font-size:44px;margin-bottom:8px}.hero-wrap .hero p{max-width:600px;font-size:11px;margin:6px 0}.hero-wrap .hero .fine,.hero-wrap .hero-location{display:none}.hero-wrap .hero .btn{padding:10px 16px}.hero-wrap .strip{padding-block:12px}}

.event-feed{position:fixed;transform:none;max-height:calc(100dvh - 100px);overflow:auto}.feed-grip{display:inline-block;cursor:grab;padding-right:8px;font-size:16px;touch-action:none}
