/* Black Signal lobby, radio subtitles and eleven-second transmission opening. */
.game-mode-switch{grid-template-columns:repeat(3,1fr);gap:5px}
.game-mode-switch button{padding:12px 8px;font-size:10px;text-align:left;letter-spacing:.4px}
.game-mode-switch button small{font-size:8px;line-height:1.5;letter-spacing:0;margin-top:6px}
.game-mode-switch button[aria-pressed=true]{color:#f4d2a5;border-color:#dba970;background:#e5b27814;box-shadow:inset 0 -2px #e5b278}
.lobby-loadout{border-block:1px solid #abc3cb29;padding:13px 0;margin:12px 0 15px}
.lobby-loadout summary{display:flex;justify-content:space-between;align-items:center;gap:12px;cursor:pointer;list-style:none;font:8px monospace;color:#adc1c9;letter-spacing:.6px}
.lobby-loadout summary::-webkit-details-marker{display:none}.lobby-loadout summary b{color:#eff3e8;font:9px monospace}
.lobby-loadout summary b:after{content:' ＋';color:#e3b882}.lobby-loadout[open] summary b:after{content:' −'}
.lobby-loadout .armory-label{margin-top:18px}.lobby-loadout .magazine-note{margin-bottom:0}
#opening-replay{margin-right:22px;font-size:10px}.menu-copy #controls-button{font-size:10px}
.story-menu .menu-copy h1>span{color:#edc38f}.story-menu .menu-shade{background:linear-gradient(90deg,#0b1921f2,#0c1a20b3 36%,#15262720 65%,#09191e99),linear-gradient(0deg,#101e23d9,transparent 50%)}
.story-menu .tagline{color:#f0d0a6}.story-menu .intro{max-width:300px}
.story-board{padding:0!important;width:490px;max-width:46vw;background:#112128f5;border-color:#c9c6ac40;overflow:hidden}
.story-board-top{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:17px 22px;font:10px monospace;letter-spacing:1.5px;border-bottom:1px solid #adc0bb26}
.story-board-top>span:first-child{color:#ead5b8}.story-board-top>span:last-child{font-size:8px;color:#b9d8b9;letter-spacing:.7px}
.chapter-art{height:208px;position:relative;overflow:hidden;background:#1e3435}
#chapter-map{width:100%;height:100%;object-fit:cover;opacity:.65;transform:translateX(20%)}
.chapter-art:after{position:absolute;inset:0;content:'';background:linear-gradient(90deg,#122329f0,#182e3320),linear-gradient(0deg,#102128b3,transparent 75%);pointer-events:none}
.chapter-coordinate{position:absolute;left:24px;top:18px;font:7px monospace;letter-spacing:1px;color:#b6cfc6;z-index:1}
.chapter-number{position:absolute;right:20px;top:24px;font:900 115px/1 Arial;color:#d6dfc61c;z-index:1;letter-spacing:-10px}
.chapter-art-caption{position:absolute;left:24px;bottom:25px;z-index:2}.chapter-art-caption span{display:block;color:#eac592;font:9px monospace;letter-spacing:3px}.chapter-art-caption b{display:block;font:900 62px/.95 Arial;letter-spacing:-3px;color:#f1eee1;margin-top:12px}
.chapter-brief{padding:24px}.chapter-brief .eyebrow{font-size:8px;color:#d2b38c;letter-spacing:1.3px}
.chapter-brief h2{font:600 27px/1.2 Arial;margin:12px 0}.chapter-brief>p{font:12px/1.8 Arial;color:#becdce;margin:14px 0}
.story-route{list-style:none;display:grid;grid-template-columns:1fr 1fr;padding:0;margin:20px 0;gap:17px 20px}
.story-route li{display:flex;gap:10px;align-items:center}.story-route li>span{color:#759493;font:12px monospace;border:1px solid #638d8b66;padding:7px}
.story-route b{display:block;font:500 12px Arial;color:#d9e4de}.story-route small{display:block;font:9px Arial;color:#92b0b3;margin-top:5px}.story-route .current>span{color:#f4cf9d;border-color:#e5bc87;background:#dfb58214}.story-route .done>span{color:#a3ddbb;border-color:#90c8ad}
.story-feature-line{display:flex;gap:14px;flex-wrap:wrap;border-top:1px solid #8eb2b22b;padding-top:17px;font:7px monospace;letter-spacing:.6px;color:#c4d6cf}
.chapter-brief .story-save-status{font:8px/1.7 monospace;color:#d6be9c;margin:14px 0 0}.chapter-brief #story-new{font-size:10px;margin:10px 0 0;padding-bottom:0}
.story-future{padding:15px 24px;border-top:1px solid #adc0bb26;display:grid;grid-template-columns:1fr auto;gap:7px 12px;background:#08191d66}
.story-future span{font:7px monospace;letter-spacing:1px;color:#93b0b2}.story-future b{font:9px monospace;color:#cbd7d2;grid-row:span 2;align-self:center}.story-future small{font:10px Arial;color:#a7bdc0}
#story-hud{position:absolute;right:28px;top:99px;width:288px;display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;align-items:center;color:#efc795;font:8px monospace;letter-spacing:.5px;pointer-events:auto;background:#10232ae8;border-top:2px solid #dcb57e;padding:12px}
#story-menu-button{padding:7px;background:#cfb48515;border:1px solid #d0ba9544;color:#eee1c9;font:8px monospace;cursor:pointer}
#story-checkpoint-flash{color:#a4ddbb;font:8px/1.6 monospace;flex-basis:100%}
.story-radio{position:absolute;right:28px;top:202px;width:288px;padding:16px;background:#0d2028ed;border:1px solid #b1c8b333;border-left:2px solid #c4d6ae}
.story-radio>div{display:flex;gap:10px;align-items:center;color:#d9cead;font:8px monospace;letter-spacing:.6px}.story-radio>div small{margin-left:auto;color:#a0b9b5;font-size:7px}
.radio-bars{color:#b4dbb6;font-size:11px}.story-radio p{font:13px/1.7 Arial;color:#e4ece5;margin:12px 0 0}
body:has(#story-hud:not([hidden])) #kill-feed{top:435px}
.story-panel{width:540px;max-width:92vw;padding:30px}.story-panel h2{font-size:30px}.story-panel>p{font-size:13px;line-height:1.8;color:#c6d6d8}.story-panel .result-stats{margin-block:22px}.story-panel .primary,.story-panel .secondary{width:100%;margin-top:12px}
.story-panel-footer{display:flex;justify-content:space-between;gap:12px}.story-panel-footer .text-button{font-size:11px}
.story-next{background:#e2bd8410;border-left:2px solid #dfbb86;padding:18px;margin:20px 0}.story-next>span{font:8px monospace;letter-spacing:2px;color:#e9cda6}.story-next h3{font:500 21px Arial;margin:10px 0}.story-next p{font:12px/1.7 Arial;color:#bbcacc}.story-next small{font:9px monospace;color:#d0bca0}
#story-log-details{border-block:1px solid #a8c1cc2a;padding:14px 0;margin:17px 0;font:9px monospace;color:#c4d6cd}#story-log-details summary{cursor:pointer}#story-radio-log{max-height:170px;overflow:auto}#story-radio-log p{font:12px/1.7 Arial;color:#c5d5d6;margin:13px 0}#story-radio-log strong{display:block;color:#cfb990;font:8px monospace;margin-bottom:7px}
.opening{position:fixed;inset:0;z-index:50;overflow:hidden;background:#07161bf5;color:#eee9d9}
.opening-grid{position:absolute;inset:0;background:radial-gradient(ellipse at 80% 50%,#718b6638,transparent 65%),linear-gradient(115deg,transparent 45%,#9baa7c0b 45.1%,transparent 45.3%)}
#opening-map{position:absolute;right:-3%;top:50%;transform:translateY(-50%);width:min(65vw,920px);height:auto;opacity:.75;filter:drop-shadow(0 0 30px #9dbf9e15)}
.opening-top,.opening-bottom{position:absolute;left:5%;right:5%;display:flex;align-items:center;justify-content:space-between;gap:30px}
.opening-top{top:38px}.opening-top>span:last-child{font:9px monospace;letter-spacing:2px;color:#adc3b3}
.opening-copy{position:absolute;left:10%;top:50%;transform:translateY(-50%);max-width:80%;z-index:2}
#opening-tag{font:10px monospace;letter-spacing:3px;color:#deb98c}
#opening-title{white-space:pre-line;font:900 clamp(45px,7.7vw,112px)/.98 Arial;letter-spacing:-4px;margin:25px 0 28px;text-transform:uppercase;text-shadow:0 2px 30px #07161b}
#opening-line{font:14px/1.7 Arial;letter-spacing:.5px;color:#c2d4ca;margin:0;max-width:430px}
.opening-logo #opening-title{color:#f0cf9d;letter-spacing:-3px}
.opening-bottom{bottom:38px;font:10px monospace;color:#9fb6b3;letter-spacing:2px}.opening-bottom>span b{color:#edd5b4;font-size:20px;font-weight:400}.opening-bottom>div{display:flex;gap:12px}
.opening button{cursor:pointer;padding:13px 18px;background:#afc9b80e;border:1px solid #bacdb844;color:#e3eadb;font:9px monospace;letter-spacing:1px}.opening button:hover{border-color:#e9c48d;background:#d8b77d18}.opening button kbd{margin-left:12px;color:#9bb3ae;background:none;border:0;font-size:8px}
.opening-track{position:absolute;bottom:0;left:0;right:0;height:2px;background:#c6d4b91a}.opening-track i{display:block;height:100%;background:#edc995;width:0}
.opening-active #masthead,.opening-active #performance-meter{visibility:hidden}
:is(.opening,.story-board,.story-panel,.lobby-loadout) :focus-visible{outline:2px solid #f0cd9b;outline-offset:4px}
@media(min-width:901px) and (max-height:820px){.story-menu .menu-layout{padding-top:84px}.story-board{max-height:calc(100vh - 114px);overflow:auto}.chapter-art{height:155px}.chapter-art-caption b{font-size:48px}.chapter-art-caption{bottom:20px}.chapter-number{font-size:90px;top:26px}.chapter-brief{padding:18px 22px}.chapter-brief h2{font-size:23px;margin:9px 0}.chapter-brief>p{font-size:11px;margin:10px 0}.story-route{gap:12px;margin:15px 0}.story-board-top{padding:13px 22px}.story-future{padding:12px 22px}.story-feature-line{padding-top:12px}.story-menu .foundry-button{display:none}}
@media(max-width:1100px){.story-board{width:430px}.story-menu .menu-copy{width:340px}.game-mode-switch button small{font-size:7px}.story-radio,#story-hud{width:255px;right:20px}}
@media(max-width:900px){.story-board{width:450px;max-width:100%}.story-menu .menu-copy{width:450px;max-width:100%}.story-radio,#story-hud{width:220px}.story-radio p{font-size:11px}.opening-copy{left:8%}#opening-map{opacity:.38;width:95vw;right:-22%}.opening-top>span:last-child{display:none}.opening-top,.opening-bottom{left:7%;right:7%}.opening-copy{max-width:85%}#opening-title{letter-spacing:-2px}}
@media(max-width:650px){#story-hud{top:195px;width:176px;padding:10px}.story-radio{top:285px;width:176px;padding:10px}.story-radio>div{flex-wrap:wrap}.story-radio>div small{display:none}.story-radio p{font-size:10px}.story-board-top{padding-inline:18px}.chapter-brief{padding:20px}.chapter-art-caption b{font-size:53px}.story-panel{padding:22px}.story-panel h2{font-size:26px}.opening button{padding:12px 10px;font-size:8px}.opening button kbd{display:none}#opening-tag{font-size:8px;letter-spacing:1.5px}.opening-bottom{bottom:25px;gap:10px}.opening-bottom>div{gap:6px}#opening-line{font-size:12px}}
@media(prefers-reduced-motion:reduce){.opening *{animation:none!important;transition:none!important}}

/* Keep intro actions clear of the owner toolbar and fit the compact desktop lobby. */
.opening-bottom{bottom:76px}
@media(min-width:901px) and (max-height:820px){.story-menu .menu-layout{padding-top:76px;padding-bottom:14px;min-height:calc(100vh - 48px)}.story-menu .menu-bottom{margin-bottom:12px;padding-top:10px;font-size:7px}}
