/* Desktop combat: telemetry in the left rail, words own the remaining viewport. */
#gameScreen{height:calc(100dvh - 64px);min-height:0;padding:12px 0 10px}
#gameScreen .combat-layout{height:100%;grid-template-columns:224px minmax(0,1fr);gap:12px;align-items:stretch}
#gameScreen .left-rail{display:flex;flex-direction:column;gap:10px;min-height:0}
#gameScreen .combat-header{display:grid;grid-template-columns:1fr;gap:10px;margin:0}
#gameScreen .stat-block{text-align:left;padding:12px 15px;min-height:0}
#gameScreen .stat-value{font-size:30px;line-height:1.2}
#gameScreen .stat-label{font-size:9px;line-height:1.5;letter-spacing:.1em}
#gameScreen .pace-main{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline;margin-top:6px}
#gameScreen .pace-main>span{font-size:32px}
#gameScreen .pace-main b{flex-basis:100%;margin:2px 0 0;font-size:11px}
#gameScreen .pace-detail{font-size:9px;line-height:1.6;margin-top:7px}
#gameScreen .health-detail{font-size:9px;gap:10px;margin-top:8px}
#gameScreen .combo-card{padding:14px;min-height:0}
#gameScreen .combo-card h3{font-size:10px;margin-bottom:8px}
#gameScreen .combo-caption{font-size:10px;line-height:1.5}
#gameScreen .combo-number{font-size:30px}
#gameScreen .combo-card .setting-note{font-size:9px;margin-top:7px}
#gameScreen .arena-frame{display:flex;flex-direction:column;min-width:0;min-height:0;padding:9px}
#gameScreen .arena-toolbar{flex-shrink:0;min-height:30px;padding-bottom:6px}
#gameScreen .threat-inline{flex-shrink:0}
#gameScreen .mission-objective{flex-shrink:0;padding:7px 10px;margin-bottom:6px}
#gameScreen .arena{height:auto;min-height:260px;flex:1 1 0;margin:0}
#gameScreen .input-dock{position:relative;inset:auto;transform:none;width:auto;flex-shrink:0;margin-top:8px;padding:8px 12px;border:1px solid #315264;border-radius:8px;background:#091722}
#gameScreen .typing-track{font-size:21px;min-height:25px}
#gameScreen .lock-timer{margin-top:4px}
#gameScreen .combat-footer{flex-shrink:0;margin-top:7px;gap:12px}
#gameScreen .combat-footer p{font-size:9px;line-height:1.5;max-width:65%}
#gameScreen .footer-buttons .small-button{padding:7px 10px;white-space:nowrap}
#gameScreen .enemy-stage{top:26px;width:clamp(240px,25vw,310px)}
#gameScreen .enemy-stage .boss-figure{height:clamp(128px,calc((100dvh - 300px)*.36),240px)}
#gameScreen .enemy-health-panel{padding:9px 11px}
#gameScreen .boss-name{font-size:12px}
#gameScreen .hazard-note{bottom:12px}
#gameScreen .right-rail,#gameScreen .hull-card{display:none}
.fullscreen-button{white-space:nowrap;color:#b9e8ee;border-color:#3d6270}
.fullscreen-button[aria-pressed=true]{color:#a3f6da;border-color:#66c8b0;background:#12322c}
:fullscreen{background:#040b13}

/* Checkpoint cards fit on an ordinary desktop without concealing any choices. */
html:has(#gameDialog[open]){overflow:hidden}
#gameDialog:has(.requisition-modal){padding:16px}
#gameDialog .requisition-modal{width:min(1180px,100%);max-height:calc(100dvh - 32px);padding:18px 20px;overflow:auto}
.requisition-modal .modal-heading{margin:0 0 10px;gap:18px}
#gameDialog .requisition-modal .modal-heading h2{font-size:21px;letter-spacing:.04em;flex:1}
#gameDialog .requisition-modal .checkpoint-comms{margin:0 0 10px;padding:9px 12px;font-size:12px;line-height:1.55}
.requisition-modal .requisition-summary{display:flex;align-items:center;gap:14px;padding:8px 12px;margin:0}
.requisition-modal .requisition-summary b{font-size:11px;margin-right:auto}
.requisition-modal .requisition-summary span{font-size:9px;margin:0}
.requisition-modal .tier-unlock{margin:8px 0;padding:6px 10px;font-size:10px;line-height:1.4}
.requisition-modal .modal-label{font-size:9px;letter-spacing:.1em}
.requisition-modal .upgrade-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin:8px 0 12px;gap:10px}
.requisition-modal .upgrade-card{min-height:162px;padding:11px 13px;gap:6px;border-radius:10px}
.requisition-modal .upgrade-icon{font-size:24px;height:25px}
.requisition-modal .upgrade-card strong{font-size:14px}
.requisition-modal .upgrade-card p{font-size:11px;line-height:1.45}
.requisition-modal .upgrade-select{padding-top:6px;font-size:8px}
.requisition-modal .route-grid{margin:7px 0 9px;gap:10px}
#gameDialog .requisition-modal .route-card{padding:9px 12px}
.requisition-modal .route-card strong{font-size:12px;margin-top:4px}
#gameDialog .requisition-modal .route-card p{font-size:10px;line-height:1.45;margin:4px 0 0}
.checkpoint-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 9px;padding:8px 0;border-top:1px solid #385264}
.checkpoint-controls p{margin:0;color:#a9c4d3;font-size:10px}
.checkpoint-controls kbd{font-size:10px;padding:3px 5px;margin-right:3px}
.checkpoint-controls .requisition-selection{color:#bfece1;font-size:10px;text-align:right}
.requisition-modal .modal-actions{position:static;margin:0;padding:0;background:none;align-items:center}
.requisition-modal .modal-actions .primary-button{padding:12px 18px;min-height:42px;font-size:12px}
.requisition-modal .modal-actions kbd{font-size:10px}
.requisition-modal .upgrade-card:focus-visible,.requisition-modal .route-card:focus-visible{outline:3px solid #fff1ad;outline-offset:3px;box-shadow:0 0 24px #ffe39a30}
.requisition-modal button:focus-visible{outline:3px solid #fff1ad;outline-offset:3px}
@media(max-height:700px){
  #gameScreen .combat-header{gap:8px}#gameScreen .stat-block{padding:9px 12px}#gameScreen .combo-card{padding:11px}
  #gameScreen .stat-value,#gameScreen .pace-main>span{font-size:27px}
  #gameDialog .requisition-modal{padding:14px 18px}
  .requisition-modal .upgrade-card{min-height:145px;padding:9px 11px;gap:5px}
  .requisition-modal .upgrade-icon{height:21px;font-size:21px}
  .requisition-modal .upgrade-card p{font-size:10px}
  #gameDialog .requisition-modal .checkpoint-comms{font-size:11px;padding:7px 10px;margin-bottom:8px}
}
@media(max-width:1100px){#gameScreen .combat-layout{grid-template-columns:194px minmax(0,1fr)}#gameScreen .mission-objective{gap:8px}#gameScreen .mission-objective>div:first-child{min-width:190px}#gameScreen .mission-objective span{font-size:8px}}
@media(max-width:900px){#gameScreen .combat-layout{grid-template-columns:175px minmax(0,1fr)}.requisition-modal .upgrade-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.checkpoint-controls{flex-wrap:wrap}#gameScreen .mission-track{display:none}#gameScreen .input-status span{font-size:9px}}
@media(max-height:580px){#gameScreen{height:auto;min-height:510px}#gameScreen .combat-layout{min-height:490px}}

/* Keep all five chapter assignments and deployment controls on one board. */
#boardScreen{height:calc(100dvh - 64px);max-width:none;min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:10px;padding:12px 0 8px}
#boardScreen .board-heading,#boardScreen .chapter-tabs{margin:0}
#boardScreen .board-layout{height:auto;min-height:0;grid-template-columns:290px minmax(0,1fr)}
#boardScreen .mission-list{flex:1;min-height:0;overflow:visible;grid-template-rows:repeat(5,minmax(0,1fr));padding:8px;gap:6px}
#boardScreen .mission-card{min-height:0;padding:8px 11px;gap:4px;align-content:center}
#boardScreen .mission-card strong{font-size:14px;line-height:1.2}
#boardScreen .mission-card small{font-size:9px;line-height:1.3}
#boardScreen .district-heading{padding:10px 14px;gap:4px}
#boardScreen .district-report{flex-shrink:0;padding:9px 14px;font-size:10px;line-height:1.4}
#boardScreen .dossier-hero{min-height:0;padding:12px 18px}
#boardScreen .dossier-hero h2{font-size:28px;margin-bottom:7px}
#boardScreen .dossier-hero>p{margin-bottom:6px}
#boardScreen .dossier-body{flex:1;overflow:visible;display:flex;flex-direction:column;gap:8px;padding:10px 18px}
#boardScreen .story-transmission{flex:1;min-height:0;padding:8px 11px}
#boardScreen .transmission-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}
#boardScreen .transmission-heading>span{font:9px var(--mono,monospace);letter-spacing:1px;color:var(--chapter)}
#boardScreen #boardBriefing{padding:3px 7px;font-size:9px;white-space:nowrap}
#boardScreen .story-transmission p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;font-size:12px;line-height:1.45;margin:6px 0 0}
#boardScreen .mission-orders{flex-shrink:0;padding:0;gap:16px}
#boardScreen .mission-orders p{font-size:11px;line-height:1.4;margin-top:4px}
#boardScreen .board-rules-button{flex-shrink:0;border:0;border-top:1px solid #28404d;padding:7px 0 0;background:transparent;color:#a9c7d4;font-size:10px;text-align:left;cursor:pointer}
#boardScreen .board-rules-button:hover{color:#e4f8ff}
#boardScreen .deployment-kit{flex-shrink:0;gap:9px}
#boardScreen .deployment-kit label{font-size:9px;gap:4px}
#boardScreen .deployment-kit select{padding:7px 9px;font-size:11px}
#boardScreen .equipment-description{flex-shrink:0;font-size:9px;line-height:1.4;margin:0}
#boardScreen .deployment-footer{padding:9px 18px;gap:10px}
#boardScreen .deployment-footer button{padding:10px 16px;font-size:12px;min-height:40px}
#boardScreen .world-status{padding:0 3px;font-size:8px;gap:6px 18px}
@media(max-width:1100px){#boardScreen .board-layout{grid-template-columns:235px minmax(0,1fr)}#boardScreen .dossier-hero,#boardScreen .dossier-body,#boardScreen .deployment-footer{padding-left:13px;padding-right:13px}}
@media(max-height:700px){
  #boardScreen{gap:8px;padding-top:8px;padding-bottom:6px}
  #boardScreen .board-heading h1{font-size:22px}
  #boardScreen .board-eyebrow{font-size:9px;margin-bottom:4px}
  #boardScreen .chapter-tabs button{padding:7px 12px}
  #boardScreen .dossier-hero{padding-top:9px;padding-bottom:9px}
  #boardScreen .dossier-hero h2{font-size:25px}
  #boardScreen .mission-card{padding:6px 10px;gap:3px}
  #boardScreen .mission-card strong{font-size:13px}
  #boardScreen .dossier-body{gap:6px;padding-top:8px;padding-bottom:8px}
  #boardScreen .story-transmission p{font-size:11px;-webkit-line-clamp:3}
}
@media(max-height:600px){
  #boardScreen .board-heading h1 span{display:inline;margin-left:10px}
  #boardScreen .board-actions button{padding:6px 9px;font-size:10px}
  #boardScreen .district-heading span{font-size:12px}
  #boardScreen .district-report{font-size:9px;padding:6px 10px}
  #boardScreen .story-transmission p{-webkit-line-clamp:2}
  #boardScreen .dossier-hero h2{font-size:22px}
  #boardScreen .deployment-footer small{display:none}
}
