/* Tactical table 0.4: one viewport, one active operator, contextual details. */
.in-mission{overflow:hidden;background:#1b2019;color:#eee4cc}.in-mission .top-nav{height:54px;padding:0 18px;background:#181e18;border-bottom:1px solid #71654a}.in-mission .brand-name{font-size:23px}.in-mission .brand-mark{height:30px;width:29px;font-size:26px}.in-mission .brand-sub{font-size:7px}.in-mission .top-right{gap:8px}.in-mission .top-right .btn{min-height:29px;font-size:10px;padding:5px 9px}.in-mission .save-status{font-size:9px}.command-table{height:calc(100dvh - 54px);max-width:1920px;margin:auto;padding:12px;display:grid;grid-template-rows:54px minmax(0,1fr) 122px;gap:10px}.mission-bar{display:flex;align-items:center;gap:22px;border:1px solid #73674c;background:linear-gradient(100deg,#3b412f,#292f25);padding:8px 14px;box-shadow:0 3px #10170f}.round-counter{display:flex;gap:9px;align-items:center;border-right:1px solid #74684d;padding-right:18px}.round-counter small,.mission-status span,.pressure-stat>span{font-size:9px;letter-spacing:.1em;color:#cbbd99}.round-counter b{font:29px Impact,Arial Narrow,sans-serif;color:#f0d49c}.mission-status{display:flex;flex-direction:column;gap:4px;flex:1}.mission-status strong{font-size:12px;letter-spacing:.05em}.pressure-stat{display:flex;align-items:center;gap:10px}.pressure-stat>b{font-size:22px;color:#e0b879}.pressure-stat small{font-size:10px;color:#a99e80}.journal-button{border:1px solid #7c6f50;background:#282f24;color:#dfd2b0;padding:9px;font-size:11px;cursor:pointer}.journal-button b{margin-left:10px;color:#f2ce87}
.tactical-workspace{display:grid;grid-template-columns:210px minmax(0,1fr) 320px;gap:12px;min-height:0}.tactical-workspace>*{min-width:0;min-height:0}.briefing-column{overflow:auto;scrollbar-width:thin;padding-right:3px}.squad-heading{display:flex;justify-content:space-between;padding:9px 4px;font-size:10px;letter-spacing:.1em;color:#ddc28c}.squad-heading span{font-size:10px;letter-spacing:0;color:#adbaa2}.briefing-column .roster-panel{border:0;background:none;box-shadow:none;padding:0}.briefing-column .panel-header,.briefing-column .roster-foot{display:none}.briefing-column .roster-item{padding:9px 7px;gap:8px;margin-bottom:5px;border:1px solid #596449;background:#2b3428;border-radius:2px}.briefing-column .roster-item.active{border-color:#dfb56b;background:#4b4931}.briefing-column .roster-item:disabled:not(.active){opacity:.65}.briefing-column .roster-name{font-size:11px}.briefing-column .roster-meta{font-size:9px}.briefing-column .acting{display:none}.briefing-column .avatar{width:37px;height:44px}.briefing-column .roster-ap{font-size:11px}.briefing-column .bars{margin:5px 0}.mission-tracker{margin-top:16px;border-top:2px solid #8b7953}.mission-tracker>header{display:flex;justify-content:space-between;padding:12px 3px;color:#d9bd82;font-size:10px;letter-spacing:.1em}.mission-step{display:flex;width:100%;align-items:flex-start;text-align:left;gap:9px;padding:10px 6px;border:0;border-bottom:1px solid #505744;background:transparent;color:#dfd8c0;cursor:pointer}.mission-step:hover{background:#3b4431}.mission-step i{font-style:normal;display:grid;place-items:center;flex:none;width:22px;height:22px;border:1px solid #8b7954;color:#e1ba75;font-size:10px}.mission-step span{min-width:0}.mission-step b{font-size:11px;line-height:1.4;display:block}.mission-step small{display:block;color:#abae92;font-size:9px;line-height:1.5;margin-top:4px}.mission-step.current{background:#3a402d;border-left:2px solid #d1a55e}.mission-step.done{color:#a8c095}.mission-step.done i{background:#435a38}.mission-step.locked{opacity:.6}.mission-step.secondary{opacity:.85}
.board-stage{display:flex;flex-direction:column;padding:12px;background:linear-gradient(145deg,#414534,#30392b);border:2px solid #857654;box-shadow:inset 0 0 0 1px #1d281b;overflow:hidden}.stage-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none}.stage-heading>div>span{font-size:8px;letter-spacing:.16em;color:#d7bc81}.stage-heading h2{font-size:27px;margin-top:4px;color:#f3e3b8}.board-tabs{display:flex;gap:3px}.board-tabs button{border:1px solid #788060;color:#d2d6be;background:#293425;padding:7px 9px;font-size:10px;cursor:pointer}.board-tabs button[aria-pressed=true]{background:#b29b64;color:#1e291b;border-color:#d7bf83}.board-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:9px;color:#c4c6ad;margin:10px 0;flex:none}.board-legend span{display:flex;gap:5px;align-items:center}.board-legend i{width:7px;height:7px;display:inline-block}.legend-move{background:#bed38f}.legend-attack{background:#e99d7c}.board-surface{flex:1;min-height:0;min-width:0;display:flex;align-items:center;justify-content:center;container-type:size}.board-stage .map-frame{width:min(100cqw,100cqh);height:min(100cqw,100cqh);max-width:none;margin:0;padding:5px;border:3px solid #9c8c65;background:#615f49;flex:none}.board-stage .map-grid{height:100%;width:100%;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(5,minmax(0,1fr));gap:2px}.board-stage .tile{aspect-ratio:auto;width:100%;height:100%;min-height:0;border:1px solid #827f65}.board-stage .tile-img{object-fit:cover}.board-stage .tile-art:after{background:linear-gradient(160deg,#f1e0b208,#071a1420)}.board-stage .tile-coord{font:700 9px system-ui,sans-serif;padding:2px 4px;top:3px;left:3px}.board-stage .tile-symbols{top:3px;right:3px;gap:2px}.board-stage .map-icon{width:16px;height:16px;font-size:10px}.board-stage .tokens{padding:23% 4% 8%;gap:3px}.board-stage .map-token{width:clamp(19px,3.6cqw,34px);height:clamp(19px,3.6cqw,34px);border-width:2px;font-size:9px}.board-stage .map-token.hero{width:clamp(20px,3.8cqw,36px);height:clamp(24px,4.4cqw,42px)}.board-stage .map-token .token-img{object-fit:contain}.board-stage .door-label{font-size:7px;padding:2px}.board-stage .tile.selected{outline:3px solid #ffe29c;outline-offset:-4px;box-shadow:inset 0 0 0 4px #e5ae5533}.board-stage .tile.reachable:not(.selected){border-color:#adc883;box-shadow:inset 0 0 0 1px #adc883}.board-stage .tile.can-attack:not(.selected){border-color:#e4a083;box-shadow:inset 0 0 0 2px #da987b}.board-stage [hidden]{display:none!important}.rooms-board{width:100%;max-height:100%;display:grid;grid-template-columns:1fr 1fr;gap:12px;overflow:auto}.room-sector .tile{height:auto;aspect-ratio:1.4}.room-sector .text-button{font-size:10px;padding:6px 0}.rooms-board>p{grid-column:1/-1;font-size:11px;color:#c5c6aa}.board-feedback{flex:none;margin-top:9px;min-height:25px}.last-event{font-size:10px;line-height:1.4;color:#e0d5b7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-top:1px solid #72775b;padding-top:7px}.roll-inline{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:5px 0;font-size:9px}.roll-inline>span{color:#b6bb9e}.roll-inline .dice-tray{margin:0;gap:4px}.roll-inline .die{width:22px;height:22px;font-size:13px;border-width:1px;border-radius:3px}
.operator-console{border:1px solid #9a845a;display:flex;flex-direction:column;background:#242e23;overflow:hidden;box-shadow:3px 3px #121b12}.operator-identity{display:flex;align-items:center;gap:10px;padding:12px;background:linear-gradient(120deg,#dbcca7,#b6a77e);color:#293122;flex:none}.operator-identity>div>span{font-size:8px;font-weight:800;letter-spacing:.1em;color:#584d30}.operator-identity h3{font-size:23px;margin:4px 0}.operator-identity small{font-size:10px;color:#4b4c35}.portrait-button{padding:0;background:none;border:0;cursor:pointer;flex:none}.operator-identity .avatar.large{width:58px;height:68px;background:#c1ba9d;border:2px solid #605b40;border-radius:2px}.ap-track{display:flex;gap:5px;align-items:center;margin-top:8px}.ap-track i{width:15px;height:8px;background:#9b9477;border:1px solid #7b7357;transform:skewX(-18deg)}.ap-track i.filled{background:#465e2e;border-color:#304522}.ap-track b{font-size:10px;margin-left:6px}.equipped-summary{display:flex;align-items:center;gap:10px;background:#34402e;border:0;border-bottom:1px solid #697552;padding:7px 12px;text-align:left;color:#eee0bc;cursor:pointer;flex:none}.equipped-art{width:52px;height:34px;object-fit:contain}.equipped-summary b{font-size:11px;display:block}.equipped-summary small{display:block;font-size:9px;margin-top:3px;color:#b3bea1}.console-tabs{display:flex;flex:none;background:#1d291f}.console-tabs button{width:33.333%;padding:10px 5px;border:0;border-bottom:3px solid transparent;color:#b7c3a6;background:transparent;font-size:11px;cursor:pointer}.console-tabs button[aria-pressed=true]{color:#f2d79e;border-bottom-color:#c6a260;background:#35402c}.console-content{flex:1;overflow:auto;min-height:0;padding:12px;scrollbar-width:thin;scrollbar-color:#857b54 #252f22}.operator-console .action-panel{padding:0;background:none;border:0;box-shadow:none}.target-summary{display:grid;grid-template-columns:1fr auto;align-items:center;gap:5px;border-left:3px solid #c0a466;padding:7px 9px;background:#343c2c}.target-summary>span{font-size:8px;color:#c7b884;grid-column:1/-1;letter-spacing:.08em}.target-summary strong{font-size:13px}.target-summary small{font-size:9px;color:#c1c3a7}.tactic-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:9px}.tactic-action{display:grid;grid-template-columns:1fr auto;gap:4px;padding:9px 8px;min-height:61px;text-align:left;border:1px solid #63724e;background:#3d4b33;color:#f0e5c6;border-radius:2px;cursor:pointer;align-content:start;min-width:0}.tactic-action>span{font-size:11px;font-weight:700}.tactic-action>b{font-size:9px;color:#efd499;white-space:nowrap}.tactic-action>small{grid-column:1/-1;font-size:9px;line-height:1.4;color:#bfc5a9}.tactic-action.ready:hover{background:#536444;border-color:#c3d2a1}.tactic-action:disabled{opacity:1;background:#2b3427;border-color:#434e39;cursor:not-allowed}.tactic-action:disabled>span{color:#929f86}.tactic-action:disabled>b{color:#9c9679}.tactic-action:disabled>small{color:#99a38e}.local-action-heading{margin-top:15px;font-size:8px;letter-spacing:.08em;color:#c9b683;border-top:1px solid #566044;padding-top:12px}.shot-preview{padding:9px;background:#3d3927;border-left:2px solid #c5a064;margin-top:8px;font-size:10px;line-height:1.6}.shot-preview b,.shot-preview span,.shot-preview strong{display:block}.shot-preview strong{color:#edaf91}.operator-console .utility-actions{margin:10px 0 0}.operator-console .utility-actions summary{font-size:10px;color:#bfc2a4}.operator-console .utility-actions .tactic-action{width:100%;margin-top:8px}.operator-console .mini-label{font-size:8px;margin:9px 0 5px}.operator-console .control{font-size:11px;min-height:32px;padding:6px}.activation-footer{flex:none;padding:10px 12px;background:#1e281e;border-top:1px solid #65704d}.activation-footer>span{font-size:9px;color:#bcc4aa;display:block;margin-bottom:7px}.activation-footer .btn-end{background:#9e7841;border-color:#bf9b60;color:#fff0cb;min-height:35px;font-size:11px}.waiting-turn h3{margin:8px 0;font-size:25px}.waiting-turn p{font-size:12px;color:#c5cbb6}.waiting-turn .roster-panel{margin-top:14px;border:0;background:none;box-shadow:none}.waiting-turn .panel-header,.waiting-turn .roster-foot{display:none}.waiting-turn .roster-item{padding:10px 6px}.waiting-turn .roster-name{font-size:11px}.waiting-turn .roster-meta{font-size:9px}
.inventory-selector{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}.inventory-selector button{background:#283923;border:1px solid #5c714c;text-align:left;padding:8px;color:#cbd5ba;font-size:10px}.inventory-selector button.selected{border-color:#d2b275;color:#f1d9a2}.inventory-selector button:disabled{opacity:.45}.inventory-console .equipment-card{border-width:3px}.inventory-console .card-illustration{height:110px}.inventory-console .equipment-card h3{font-size:22px}.inventory-console .card-effect{min-height:0;font-size:10px}.inventory-console .card-stats{grid-template-columns:repeat(4,1fr)}.inventory-console .card-stats dt{font-size:7px}.inventory-console .card-stats dd{font-size:12px}.empty-inventory{font-size:12px;line-height:1.7;color:#bec9ab;padding:15px 0}.intel-console h3{font-size:22px}.intel-note{font-size:11px;line-height:1.6;color:#b9c8a7;margin:10px 0;padding:10px;background:#303e29;border:1px solid #506443}.enemy-dossier{display:flex;align-items:center;gap:10px;border-bottom:1px solid #516544;padding:12px 0}.enemy-portrait{width:55px;height:66px;object-fit:contain;background:#394733;border:1px solid #6e7c57}.enemy-dossier b{font-size:12px;display:block}.enemy-dossier span{font-size:10px;color:#bcc8ad;display:block;margin:5px 0}.enemy-dossier strong{font-size:10px;color:#e0bf87;display:block;line-height:1.5}.text-button{border:0;background:none;color:#d8c18d;font-size:10px;text-decoration:underline;cursor:pointer;padding:6px 0}
.hand-strip{min-width:0;display:grid;grid-template-columns:210px minmax(0,1fr) 200px;gap:12px;background:#252e22;border:1px solid #6e7756;padding:9px;overflow:hidden}.supply-pile{border:3px double #a99566;background:repeating-linear-gradient(45deg,#34432d,#34432d 7px,#3c4a33 8px,#3c4a33 10px);display:flex;flex-direction:column;justify-content:center;padding:6px 12px;gap:4px}.supply-pile>span,.draw-reveal>span{font-size:8px;letter-spacing:.12em;color:#d1c396}.supply-pile>div{display:flex;align-items:center;gap:9px}.supply-pile b{font-size:25px;color:#e8d7a6}.supply-pile small{font-size:9px;line-height:1.5;color:#c4c6a7}.supply-pile button{background:#b39a63;border:1px solid #d0b77f;color:#1e2b19;padding:5px;font-size:10px;font-weight:700}.supply-pile button:disabled{opacity:.45}.hand-cards{display:flex;gap:9px;min-width:0;overflow-x:auto;scrollbar-width:thin}.hand-card{width:calc((100% - 27px)/4);min-width:100px;flex:none;border:2px solid #8d8762;background:linear-gradient(#ccc09d,#b2a57e);color:#252e1d;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:5px 7px;gap:3px;border-radius:3px;cursor:pointer}.hand-card>span{font-size:7px;letter-spacing:.09em;align-self:start;font-weight:800}.hand-card>b{font-size:10px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:100%}.hand-art{height:48px;max-width:100%;object-fit:contain;filter:drop-shadow(2px 3px 2px #4d503344)}.hand-card.equipped{border-color:#c3ad70}.hand-card.selected{border-color:#f6dc8e;box-shadow:inset 0 0 0 2px #806333}.hand-card:disabled{background:#303b29;color:#89997b;border:1px dashed #677752;cursor:default}.hand-symbol{font-size:27px;color:#7f916c}.hand-empty{display:grid;place-items:center;text-align:center;width:100%;font-size:12px;color:#aebf98}.draw-reveal{background:#3a422d;border:1px dashed #8e8a5e;display:flex;flex-direction:column;align-items:start;justify-content:center;gap:9px;padding:12px;text-align:left;color:#dfd1a5;cursor:pointer}.draw-reveal b{font-size:12px}.draw-reveal small{font-size:9px;color:#a6b28c}.draw-reveal:disabled{opacity:.6;cursor:default}.inspector-modal{position:relative;max-width:460px;background:#252f22;border:1px solid #a99563;padding:34px 20px 20px;border-radius:3px}.inspector-close{position:absolute;right:8px;top:4px;background:transparent;color:#f3dcab;border:0;font-size:25px;cursor:pointer}.inspector-modal .card-illustration{height:200px}.inspector-modal .card-effect{min-height:0}.inspector-modal .card-stats dt{font-size:10px}.inspector-modal .card-stats dd{font-size:19px}.journal-entries{margin:16px 0;max-height:60vh;overflow:auto}.journal-entries p{font-size:12px;padding:8px 0;border-bottom:1px solid #4c5c3c}.journal-entries b{color:#d0b678;margin-right:7px}.in-mission .modal-backdrop{backdrop-filter:blur(3px)}.in-mission .mobile-jump{display:none}
@media(min-width:1600px){.tactical-workspace{grid-template-columns:235px minmax(0,1fr) 350px}.hand-strip{grid-template-columns:235px minmax(0,1fr) 220px}.tactic-action>span{font-size:12px}.tactic-action>small{font-size:10px}.stage-heading h2{font-size:32px}.operator-identity h3{font-size:26px}}
@media(max-width:1190px){.tactical-workspace{grid-template-columns:170px minmax(0,1fr) 290px;gap:8px}.hand-strip{grid-template-columns:170px minmax(0,1fr) 150px;gap:8px}.command-table{padding:8px}.briefing-column .avatar{width:28px;height:35px}.briefing-column .roster-ap{font-size:9px}.briefing-column .roster-item{gap:5px;padding:8px 4px}.briefing-column .roster-name{font-size:10px}.briefing-column .roster-meta{font-size:8px}.mission-step b{font-size:10px}.stage-heading{flex-wrap:wrap;gap:5px}.board-legend{gap:7px;font-size:8px}.board-stage{padding:9px}.board-stage .door-label{font-size:6px}.mission-bar{gap:14px}.hand-card{min-width:80px}.hand-card>b{font-size:9px}}
@media(max-width:900px){.in-mission{overflow:auto}.in-mission .top-nav{height:auto;min-height:54px;flex-wrap:wrap;padding:10px;gap:10px}.in-mission .top-right{margin-left:auto}.in-mission .save-status{display:none}.command-table{height:auto;display:flex;flex-direction:column;padding:8px}.mission-bar{gap:12px;flex-wrap:wrap;min-height:60px}.mission-status{min-width:130px}.mission-bar .pressure-stat>b{font-size:18px}.mission-bar .pressure-stat>span{font-size:8px}.tactical-workspace{display:flex;flex-direction:column;gap:12px}.board-stage{order:0;height:min(95vw,690px);min-height:420px}.operator-console{order:1;max-height:none}.operator-identity{padding:10px 14px}.operator-identity .avatar.large{height:58px;width:50px}.console-content{max-height:65vh}.briefing-column{order:2;display:grid;grid-template-columns:1fr 1fr;gap:12px;overflow:visible}.briefing-column .squad-heading{grid-column:1/-1}.briefing-column .mission-tracker{margin-top:0}.briefing-column .roster-item{padding:10px 7px}.briefing-column .roster-name{font-size:12px}.briefing-column .roster-meta{font-size:10px}.briefing-column .avatar{width:38px;height:45px}.hand-strip{grid-template-columns:130px minmax(0,1fr);min-height:134px;order:3}.hand-cards{min-height:100px}.draw-reveal{grid-column:1/-1;flex-direction:row;align-items:center;padding:8px}.hand-card{min-width:100px}.stage-heading{flex-wrap:nowrap}.board-stage .map-token{width:28px;height:28px}.board-stage .map-token.hero{width:28px;height:33px}.in-mission .mobile-jump{display:inline-flex;text-decoration:none}.board-legend{font-size:9px}.console-content .tactic-action{min-height:64px}.tactic-action>span{font-size:12px}.tactic-action>small{font-size:10px}}
@media(max-width:480px){.mission-bar{gap:10px;padding:8px}.round-counter{padding-right:8px}.round-counter small{font-size:8px}.mission-status strong{font-size:10px}.journal-button{font-size:10px;padding:6px}.pressure-stat{gap:6px}.board-stage{min-height:400px}.board-stage .map-icon{width:13px;height:13px}.board-stage .map-token{width:23px;height:23px}.board-stage .map-token.hero{width:24px;height:28px}.board-stage .tile-coord{font-size:8px}.stage-heading h2{font-size:24px}.board-tabs button{padding:7px;font-size:9px}.hand-strip{grid-template-columns:100px minmax(0,1fr)}.supply-pile{padding:6px}.supply-pile>div{gap:4px}.supply-pile small{font-size:8px}.briefing-column{grid-template-columns:1fr}.mission-step b{font-size:12px}.mission-step small{font-size:10px}}

.board-stage .map-grid{container-type:size}.board-stage .map-token{width:clamp(15px,5.6cqw,32px);height:clamp(15px,5.6cqw,32px)}.board-stage .map-token.hero{width:clamp(16px,6cqw,34px);height:clamp(20px,7cqw,40px)}.board-stage .tokens:has(.map-overflow) .map-token{width:clamp(13px,4cqw,24px);height:clamp(16px,4.8cqw,28px)}.board-stage .map-overflow{display:grid;place-items:center;background:#273c26;color:#f4dda7;border:1px solid #b2aa78;border-radius:3px;padding:2px;font-size:9px;min-width:16px}.ally-inspect{display:block;width:100%;text-align:left;padding:9px;background:#3b4e30;color:#e1dfbd;border:1px solid #6c8051;margin:6px 0;font-size:11px}
@media(min-width:901px) and (max-height:800px){.in-mission .top-nav{height:46px}.command-table{height:calc(100dvh - 46px);grid-template-rows:44px minmax(0,1fr) 96px;gap:8px;padding:8px}.mission-bar{padding:5px 12px}.round-counter b{font-size:24px}.board-stage{padding:8px}.stage-heading h2{font-size:22px}.stage-heading>div>span{display:none}.board-legend{margin:6px 0;font-size:8px}.board-feedback{margin-top:5px;min-height:20px}.last-event{padding-top:4px;font-size:9px}.operator-identity{padding:8px 10px}.operator-identity .avatar.large{height:48px;width:40px}.operator-identity h3{font-size:20px;margin:2px 0}.ap-track{margin-top:4px}.equipped-summary{padding:4px 10px}.equipped-art{height:26px}.console-tabs button{padding:7px 5px}.activation-footer{padding:7px 10px}.activation-footer .btn-end{min-height:29px}.activation-footer>span{font-size:8px;margin-bottom:5px}.console-content{padding:9px}.tactic-action{min-height:54px;padding:7px}.hand-strip{padding:6px;gap:9px}.hand-art{height:32px}.hand-card{padding:3px 6px}.hand-card>b{font-size:9px}.supply-pile b{font-size:19px}.supply-pile{padding:3px 9px;gap:2px}.supply-pile button{padding:3px}.draw-reveal{padding:8px;gap:5px}.draw-reveal b{font-size:11px}}

/* Playtest 0.5: location is always explicit; building traversal stays in the action console. */
.location-banner{display:flex;justify-content:space-between;gap:10px;padding:6px 9px;margin-top:8px;background:#202f21;border-left:3px solid #c9ae6e;font-size:10px;flex:none}.location-banner b{color:#e6d09d}.location-banner span{color:#cbddba;font-weight:700}.building-travel{padding:10px;margin-bottom:12px;border:1px solid #af985f;background:#3b462d}.building-travel>span{display:block;font-size:10px;font-weight:800;color:#ecd6a1;line-height:1.5}.building-travel button{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;background:#a08e59;border:1px solid #c2ae77;color:#172413;padding:9px;margin:7px 0;font-size:11px;text-align:left}.building-travel button:disabled{opacity:.5}.building-travel>small{display:block;font-size:9px;color:#bdc9a5;line-height:1.5}.building-board{display:flex;flex-direction:column;gap:10px;align-self:stretch;justify-content:center;width:100%;overflow:hidden}.building-chooser{display:flex;gap:8px;flex:none}.building-chooser button{flex:1;border:1px solid #78885f;background:#2d3e27;color:#d9dfc1;padding:9px;font-size:10px}.building-chooser button[aria-pressed=true]{border-color:#dfc181;background:#56633d;color:#f6dfaa}.building-layout{display:grid;grid-template-columns:1fr 1.2fr 1.2fr;gap:12px;align-items:center;min-height:0}.building-layout .room-sector{min-width:0;padding:7px;border:1px solid #84936a;background:#283b25}.building-layout .room-sector.occupied{border:3px solid #e3c477;background:#5c6339;padding:5px}.building-layout h4{font-size:9px;color:#d6c087;margin:0 0 7px}.building-layout .tile{width:100%;height:auto;aspect-ratio:1!important;container-type:size}.building-layout .room-sector>span{display:block;min-height:30px;margin-top:7px;font-size:10px;color:#e9e1bf;line-height:1.5}.building-layout .tile-coord{display:none}.building-layout .map-token{width:40px;height:46px}.building-layout .map-token.hero{width:44px;height:52px}.building-route{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #75885c;padding-top:10px;font-size:10px;color:#e2cea2}.building-board>p{font-size:10px;line-height:1.5;margin:0;color:#c5d1b2}.board-stage .tokens{padding:23% 3% 4%;gap:2px}.board-stage .map-token{width:clamp(20px,7.6cqw,43px);height:clamp(24px,8.6cqw,49px);box-shadow:0 3px 0 #101e13,0 4px 5px #0009}.board-stage .map-token.hero{width:clamp(22px,8cqw,46px);height:clamp(27px,9.3cqw,54px)}.board-stage .tokens:has(.map-overflow) .map-token{width:clamp(18px,6cqw,34px);height:clamp(21px,7.1cqw,41px)}.board-stage .map-icon.search{width:auto;min-width:20px;padding:0 3px;font-size:9px}.enemy-portrait{width:75px;height:88px}.briefing-column .avatar{width:45px;height:53px}.operator-identity .avatar.large{width:66px;height:78px}
@media(min-width:901px) and (max-height:800px){.location-banner{font-size:9px;margin-top:4px;padding:4px 6px}.building-chooser button{padding:6px;font-size:9px}.building-board{gap:7px}.building-layout{gap:7px}.building-layout .room-sector{padding:5px}.building-layout h4{font-size:8px}.building-board>p{font-size:9px}.operator-identity .avatar.large{width:48px;height:58px}.briefing-column .avatar{width:36px;height:43px}}
@media(max-width:900px){.board-stage{min-height:470px}.building-layout{gap:7px}.building-layout .room-sector{padding:5px}.building-layout .map-token,.building-layout .map-token.hero{width:30px;height:38px}.location-banner{font-size:9px}.building-route{flex-direction:column;gap:5px}}

.board-stage .building-layout .map-token,.board-stage .building-layout .map-token.hero{width:clamp(22px,30cqw,48px);height:clamp(28px,36cqw,58px)}.board-stage .building-layout .tokens:has(.map-overflow) .map-token{width:clamp(20px,20cqw,32px);height:clamp(25px,25cqw,40px)}

.board-stage .tokens:has(.map-token:nth-child(3)) .map-token{width:clamp(18px,6cqw,34px);height:clamp(21px,7.1cqw,41px)}.board-stage .building-layout .tokens:has(.map-token:nth-child(3)) .map-token{width:clamp(20px,20cqw,32px);height:clamp(25px,25cqw,40px)}

@media(max-width:900px){.board-stage:has(.building-board:not([hidden])){min-height:550px}.building-layout{flex-shrink:0}}

/* Progression dossier and four-page corporate archive. */
.progression-shortcut{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px;padding:8px 12px;background:#273b28;color:#e8d59d;border:0;border-bottom:1px solid #7c825c;font-size:10px;cursor:pointer}.progression-shortcut b{color:#f2c879}.level-seal{margin-left:auto;border:2px solid #b79b5e;padding:8px;color:#f2d999;font-size:14px;white-space:nowrap}.character-card .hero-action-header{flex-wrap:wrap;gap:10px}.xp-heading{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:12px}.xp-heading span{color:#d8c390}.xp-meter{height:10px;background:#172319;border:1px solid #8a9167;margin:10px 0 14px}.xp-meter>span{display:block;height:100%;background:#c4b671}.base-perk{background:#33472c;padding:10px;border-left:3px solid #a5bc79;font-size:12px!important}.base-perk b{font-size:10px;color:#bed79c}.perk-track{padding:0;margin:14px 0;list-style:none;display:grid;gap:8px}.perk-track li{display:flex;align-items:center;gap:12px;padding:10px;border:1px solid #66734e;background:#263622}.perk-track small{font-size:9px;letter-spacing:.05em;color:#c5c8b4}.perk-track p{margin:4px 0 0;font-size:13px;line-height:1.4}.perk-track .perk-level{display:grid;place-items:center;flex:none;width:30px;height:30px;border:1px solid #819766;font-weight:800}.perk-track .acquired{border-color:#a9bc7a;background:#3c502f}.perk-track .acquired small{color:#d3e6b1}.perk-track .next{border:2px solid #d3b46c;background:#49472b}.perk-track .next small{color:#ffe0a0}.perk-track .locked{background:#293027;color:#c0c5b4}.progression>small{font-size:10px;color:#bac4a9}.inspector-modal:has(.progression){width:min(680px,94vw)}
.lore-screen{min-height:100dvh;padding:24px clamp(16px,4vw,64px);background:radial-gradient(ellipse at 20% 20%,#52604355,transparent 65%),repeating-linear-gradient(0deg,#0000 0 3px,#0002 4px),#151d17;color:#e7dfc5;display:flex;flex-direction:column;justify-content:center;gap:20px}.lore-top{display:flex;justify-content:space-between;align-items:center;gap:14px;width:min(1100px,100%);margin:auto auto 0}.lore-top>b{font-size:24px;letter-spacing:.06em}.lore-top>b span{color:#d49e56}.lore-sheet{display:grid;grid-template-columns:32% 1fr;max-width:1100px;width:100%;margin:0 auto;border:1px solid #96926b;background:#d6c9a7;box-shadow:10px 12px 0 #0005}.lore-art{position:relative;min-height:470px;display:flex;flex-direction:column;align-items:center;justify-content:space-around;padding:30px 20px;background:repeating-linear-gradient(135deg,#0000 0 20px,#ffffff05 20px 22px),#354932;border-right:2px solid #8c8c62;overflow:hidden}.lore-year{font-size:clamp(48px,6vw,86px);font-weight:900;letter-spacing:-.04em;color:#e2cf9e}.lore-emblem{display:grid;place-items:center;border:5px double #c4b779;border-radius:50%;width:170px;height:170px;font-size:70px;color:#d8cd99;box-shadow:0 0 0 16px #bcb78015}.lore-stamp{padding:10px;border:2px solid currentColor;transform:rotate(-7deg);font-size:12px;text-align:center;letter-spacing:.1em;font-weight:800}.lore-copy{padding:clamp(22px,4vw,50px);color:#263124;display:flex;flex-direction:column;justify-content:center}.lore-copy .section-eyebrow{color:#646140;line-height:1.6}.lore-copy h1{font-size:clamp(30px,3.3vw,48px);line-height:1.08;margin:17px 0 20px;outline:none}.lore-copy p{font-size:15px;line-height:1.65;margin:0 0 15px}.lore-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:16px;padding-top:18px;border-top:1px solid #8c8d6a}.lore-controls .btn-ghost{color:#35412f;border-color:#777d5f}.lore-controls>span{font-size:12px;font-weight:800}.lore-controls .btn:disabled{opacity:.4}.lore-timeline{width:min(1100px,100%);margin:0 auto auto;display:flex;justify-content:space-between;border-top:1px solid #5d674e;padding-top:12px;color:#97a086;font-size:13px}.lore-timeline .current{color:#f1d69b;font-weight:900}.lore-2 .lore-art{background-color:#633c2d}.lore-2 .lore-stamp{color:#ffd2a7}.lore-3 .lore-art{background-color:#292d28}.lore-3 .lore-emblem{border-style:dashed;color:#b8bd9e}
@media(max-width:700px){.lore-screen{padding:16px;gap:14px}.lore-top>b{font-size:17px}.lore-top .btn{font-size:11px;padding:9px}.lore-sheet{grid-template-columns:1fr}.lore-art{min-height:0;height:135px;flex-direction:row;padding:16px;border-right:0;border-bottom:2px solid #8c8c62;gap:12px}.lore-year{font-size:50px}.lore-emblem{width:68px;height:68px;font-size:34px;flex:none;border-width:3px}.lore-stamp{font-size:8px;max-width:100px;padding:7px}.lore-copy{padding:22px}.lore-copy p{font-size:14px}.lore-controls .btn{font-size:11px;padding:10px}.lore-controls{gap:8px}.perk-track p{font-size:12px}}

.character-card .level-seal{color:#493e21;border-color:#80713e;background:#c9b774}.character-card .xp-heading span{color:#565032}.character-card .progression>small{color:#565b40}.character-card .perk-level{color:#e4d9b0}.inspector-modal:has(.progression){max-width:min(680px,94vw);width:min(680px,94vw)}.lore-copy,.lore-sheet{min-width:0}.lore-copy h1:focus{outline:none!important}

/* Enemy inspector shares the equipment card layout. */
.enemy-open{display:block;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;text-align:left;font:inherit;border-radius:3px}.enemy-open:hover{background:#ffffff12}.enemy-open:focus-visible{outline:2px solid #f2c879;outline-offset:3px}.enemy-open-name{width:100%;padding:3px 0}.enemy-open-name small{display:block;color:#e1c48b;font-size:10px;margin-top:4px}.enemy-detail{background:#d4c69f;color:#292e22}.enemy-detail .card-illustration{background:radial-gradient(#b7b28d,#77765b)}.enemy-description{margin:0;padding:15px;font-size:13px;line-height:1.6;border-bottom:1px solid #a49771}.enemy-abilities{padding:14px}.enemy-abilities h4{margin:0 0 10px;font-size:14px}.enemy-abilities ul{margin:0;padding-left:18px}.enemy-abilities li{margin-bottom:10px;font-size:12px;line-height:1.5}.enemy-abilities small{font-size:11px;line-height:1.5}.enemy-intent{padding:10px;background:#bdb18c;border-left:3px solid #685c3d;font-size:12px;line-height:1.6}.enemy-detail .card-stats dd{overflow-wrap:anywhere}.inspector-modal:has(.enemy-detail){max-height:90dvh;overflow-y:auto;width:min(460px,94vw)}
/* Scrollbars and directional buttons are the gesture-independent fallback. */
.board-surface{position:relative}.map-viewport{position:absolute;inset:0;overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y;scrollbar-width:auto;scrollbar-color:#a79970 #293421}.board-stage .map-viewport .map-frame{width:100%;height:auto;aspect-ratio:1;margin:0 auto;max-width:none}.map-viewport.drag-map{cursor:grab;touch-action:none;user-select:none}.map-viewport.drag-map .tile,.map-viewport.drag-map button{cursor:grab}.map-viewport.drag-map:active{cursor:grabbing}.map-navigation{display:flex;align-items:center;flex-wrap:wrap;gap:5px;padding:6px 0;flex:none}.map-navigation button{min-width:32px;min-height:32px;border:1px solid #9b916b;border-radius:3px;background:#d5c69e;color:#112c09;font-size:12px;padding:5px 8px}.map-navigation button[aria-pressed=true]{background:#f0d780;outline:2px solid #112c09}.map-navigation button:disabled{opacity:.4}.map-navigation output{min-width:42px;text-align:center;color:#f0dfae;font-size:12px}.map-pan-buttons{display:flex;gap:4px}.map-navigation small{flex-basis:100%;font-size:10px;line-height:1.4;color:#e2d4b3}.board-stage:has(.map-navigation){min-height:520px}

/* Persistent Molotov hazard; no weapon illustration. */
.tile.burning{box-shadow:inset 0 0 0 3px #e56c23,inset 0 0 22px #d8602766}
.map-icon.fire{background:#9e351b;color:#fff1d6;font-size:9px;font-weight:900;padding:3px;width:auto;min-width:32px}
