/* Preserve the field-guide identity; make the next action unmistakable. */
[hidden]{display:none!important}
header .crest{display:flex;align-items:center;justify-content:center;padding:3px;overflow:hidden;width:42px;height:52px;flex-shrink:0}
header .crest img{width:100%;height:100%;object-fit:contain;mix-blend-mode:screen;filter:sepia(1) saturate(.65)}
header .title p{letter-spacing:.24em}
.game-menu{position:relative;order:90;margin:0;color:#e5dcc5}
.game-menu>summary{cursor:pointer;list-style:none;padding:10px 13px;border:1px solid #65715a;border-radius:4px;font-size:13px}
.game-menu>summary::-webkit-details-marker{display:none}
.game-menu[open]>summary{background:#2d392e;color:#e4ca8b}
.game-menu-panel{position:absolute;top:calc(100% + 10px);right:0;width:272px;padding:12px;background:#15221c;border:1px solid #8d805b;border-radius:6px;box-shadow:0 14px 40px #0008;z-index:400}
.game-menu-panel button{display:block;width:100%;text-align:left;padding:12px;margin-bottom:4px;background:transparent;border-color:transparent}
.game-menu-panel button:hover{background:#2a392d;border-color:#647055}
.game-menu-panel p{font-size:12px;line-height:1.5;color:#b0beb2;margin:12px 4px 4px}
#welcomeScreen{min-height:calc(100svh - var(--game-header-height,108px));position:relative;display:flex;align-items:center;background:#102019 url('assets/welcome-hero-sharp-v3.png') center right/cover no-repeat;padding:56px clamp(24px,4vw,72px)}
.welcome-open>main{display:none!important}.welcome-open>header .title{visibility:hidden}.welcome-open #designerBtn{display:none}
.welcome-content{width:min(38vw,540px);position:relative;z-index:1}.welcome-content>.eyebrow{color:#d6bd81;letter-spacing:.18em;font-size:11px}
#welcomeTitle{font:normal clamp(48px,5.2vw,84px)/1.05 Georgia,serif;letter-spacing:-.035em;color:#f3eddc;margin:30px 0 26px}
#welcomeTitle em{font-style:normal;color:#dbc287}.welcome-copy-panel{padding:22px 24px;background:#10291fee;border:1px solid #536447;border-radius:5px;box-shadow:0 12px 32px #0002}.welcome-lead{font-size:22px;line-height:1.4;color:#f0eddf;margin:0}.welcome-description{font-size:16px;line-height:1.75;color:#d0d8c9;margin:18px 0 0}
#enterBattalionLab{min-height:64px;min-width:284px;max-width:100%;margin:24px auto 0;display:flex;justify-content:center;gap:24px;align-items:center;font-size:16px;padding:16px 24px;background:#e0c482;color:#102018;border:1px solid #f1d79a;outline:1px solid #829575;outline-offset:3px;box-shadow:inset 0 0 0 4px #244735,0 6px 28px #0004;border-radius:5px}.welcome-attack-arrow{width:48px;height:26px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round}#enterBattalionLab:focus-visible{outline:3px solid #e9daa6;outline-offset:5px}
#enterBattalionLab:hover{background:#f1d99f;transform:translateY(-1px)}
.template-top #resetTemplate{background:#223027;color:#d4c9aa;border:1px solid #7a785b;box-shadow:none}.template-top #launchBattle{background:#e3c77f;color:#111b13;border:1px solid #f1d998;font-weight:750;box-shadow:0 3px 16px #cfb46528}.template-top #launchBattle:hover{background:#f1d998;box-shadow:0 3px 22px #cfb46550}
.designer-force-tabs{flex-wrap:wrap;gap:8px!important}.designer-force-tabs #missionOrderButton{margin-left:12px;border-color:#8c805b;color:#e1c68c;background:#17261f}.designer-force-tabs #missionOrderButton[aria-expanded=true]{background:#3b4028;border-color:#d4bb7e}
.mission-order{border:1px solid #6e7151;border-radius:5px;margin:18px 0 24px;padding:22px;background:#15251d}.mission-order-heading{display:flex;justify-content:space-between;gap:16px;align-items:center}.mission-order-heading h3{font:24px Georgia,serif;text-transform:none;color:#e4ddc6;margin:8px 0 18px}.mission-role{border:1px solid #7f8f75;color:#d8d4b6;padding:6px 12px;border-radius:3px;font-size:12px}.mission-sketch{width:100%;max-height:190px;border:1px solid #334c3c;border-radius:3px}.brief-flow{animation:briefFlow 3s linear infinite}@keyframes briefFlow{to{stroke-dashoffset:-52}}
.sketch-caption{font-size:11px;color:#9ba99b;margin:6px 0 16px}.order-paragraphs{display:grid;grid-template-columns:1fr 1fr;gap:14px 24px}.order-paragraphs>section{display:flex;gap:12px;border-top:1px solid #354a3a;padding-top:12px;min-width:0}.order-paragraphs>section:nth-child(3){grid-column:1/-1}.order-number{font:18px Georgia,serif;color:#bcaa77}.order-paragraphs h4{margin:2px 0 8px;font-size:14px;color:#dfd4b5}.order-paragraphs p{font-size:13px;line-height:1.6;margin:0 0 8px;color:#bdc9bc}.order-paragraphs .small{font-size:11px;color:#a3b29f}.order-settings>summary{color:#d5bd82;font-size:12px;cursor:pointer;padding:9px 0}.order-settings .preparation-panel{margin:0;padding:12px 0;border:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;align-items:center}.order-settings select{width:100%;min-width:0}.daily-deliveries{border-top:1px solid #3d4d3f;margin-top:14px;padding:12px 0}.daily-deliveries h3{font-size:12px;color:#d5bd82}.daily-deliveries .design-stat{gap:12px}.daily-deliveries .design-stat span{font-size:12px}.daily-deliveries .design-stat b{white-space:nowrap;font-size:17px}.supply-total{color:#dcc58a}.setting-row{display:flex;align-items:center;gap:12px;margin:20px 0}.setting-row input{width:18px;height:18px}
.reduce-motion .brief-flow{animation:none}.reduce-motion *{scroll-behavior:auto!important;transition:none!important}
@media(prefers-reduced-motion:reduce){.brief-flow{animation:none}#enterBattalionLab:hover{transform:none}}
@media(min-width:701px) and (max-aspect-ratio:3/2){#welcomeScreen{align-items:flex-start;background-image:linear-gradient(#102019 0%,#102019ee 12%,#10201900 42%),url('assets/welcome-hero-sharp-v3.png');background-size:100% 100%,100% auto;background-position:center,right bottom}.welcome-content{width:min(38vw,540px)}}
@media(max-width:1000px){.welcome-open>header .title{display:none}.welcome-content{width:min(46vw,480px)}#welcomeTitle{font-size:clamp(40px,5.2vw,62px)}}
@media(max-width:700px){#welcomeScreen{padding:clamp(210px,53vw,360px) 24px 36px;align-items:flex-start;background-size:auto clamp(280px,72vw,450px);background-position:right top}.welcome-content{width:100%;max-width:540px;margin:auto}.welcome-content>.eyebrow{font-size:9px;line-height:1.6}#welcomeTitle{font-size:49px;margin:20px 0 24px;text-shadow:0 2px 20px #102019}.welcome-copy-panel{padding:20px}.welcome-lead{font-size:20px}.welcome-description{font-size:15px}#enterBattalionLab{min-width:0;width:100%}.order-paragraphs{grid-template-columns:1fr}.order-paragraphs>section:nth-child(3){grid-column:auto}.order-settings .preparation-panel{display:block}.mission-order{padding:12px}.designer-force-tabs #missionOrderButton{margin-left:0}.game-menu-panel{right:-20px;width:min(272px,calc(100vw - 32px))}header .title h1{font-size:26px}header .title p{font-size:8px}}

.brief-map-layout{display:grid;grid-template-columns:minmax(220px,1fr) minmax(170px,.7fr);gap:18px;align-items:start}.mission-sketch.geographic-brief{max-height:400px;aspect-ratio:1;display:block;background:#102019}.brief-objective{cursor:pointer}.brief-objective circle{fill:#14261f;stroke:#d7c18b;stroke-width:3}.brief-objective text{fill:#eee4c7;font-size:22px;pointer-events:none}.brief-objective:hover circle,.brief-objective:focus circle,.brief-objective.selected circle{fill:#d7c18b;stroke:#fff0be;stroke-width:5}.brief-objective.selected text,.brief-objective:hover text{fill:#13251d}.brief-objective-list label{display:block;margin:8px 0}.brief-objective-list select{width:100%}.brief-objective-list p{line-height:1.6}.brief-map-key{display:flex;justify-content:space-between;gap:8px;color:#aebaa7;border-top:1px solid #43513f;padding-top:12px;font-size:12px}.approach-summary,.approach-requirements,.approach-advanced{grid-column:1/-1}.approach-requirements{font-size:12px;padding:10px 12px;background:#233b2c;border-left:3px solid #88b49b}.approach-requirements.missing{background:#3b2c21;border-color:#d0aa65}.approach-requirements span{display:block;margin-top:6px}.approach-advanced>summary{padding:10px 0;color:#d5bd82;cursor:pointer}.approach-advanced>div{display:grid;grid-template-columns:1fr 1.5fr;gap:12px;align-items:center}.setting-explanation{grid-column:1/-1;font-size:12px;line-height:1.6;color:#b7c5b3}select optgroup{color:#c4bb9f}select option:disabled{color:#879086}
@media(max-width:700px){.brief-map-layout{grid-template-columns:1fr}.mission-sketch.geographic-brief{max-height:none}.approach-advanced>div{grid-template-columns:1fr}.approach-summary{margin-top:12px}}

.brief-objective text{display:none}.brief-objective.selected text{display:block;font-size:24px;paint-order:stroke;stroke:#13251d;stroke-width:5;fill:#fff0be;transform:translateY(-23px)}.brief-objective circle{stroke-width:4}.brief-objective.selected circle{r:15}.order-settings .preparation-panel{width:100%}

/* Full-bleed welcome illustration, including tall desktop viewports. */
@media(min-width:701px){#welcomeScreen{min-height:calc(100svh - var(--game-header-height,108px));background-image:url("assets/welcome-hero-sharp-v3.png");background-size:cover;background-position:64% center;align-items:center}}
#enterBattalionLab{font-family:Georgia,serif;font-size:20px;letter-spacing:.02em;width:100%;min-width:0;margin:24px auto 0}

#tutorialPanel{position:fixed;right:24px;bottom:24px;width:min(360px,calc(100vw - 48px));padding:20px;background:#10291f;border:1px solid #d9bd75;border-radius:8px;z-index:99999;box-shadow:0 8px 30px #0008}#tutorialPanel h3{margin:8px 0}#tutorialPanel p{font-size:14px;line-height:1.55}#tutorialPanel button{margin:6px 8px 0 0}.tutorial-highlight{outline:3px solid #ead28c!important;outline-offset:4px;box-shadow:0 0 20px #e5c57066!important}#tutorialPanel[hidden]{display:none}

/* Explicit welcome choices; content remains scrollable on short screens. */
#welcomeScreen{box-sizing:border-box;padding-top:clamp(24px,5vh,56px);padding-bottom:clamp(24px,5vh,56px)}
.welcome-actions{display:grid;gap:12px;margin-top:22px}
.welcome-actions .welcome-action,.welcome-actions #enterBattalionLab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:100%;min-width:0;min-height:72px;margin:0;padding:13px 16px;border:1px solid #8b9876;border-radius:5px;background:#183628;color:#ede9d9;outline:0;box-shadow:inset 0 0 0 3px #244735;font-family:Georgia,serif;letter-spacing:.01em}
.welcome-actions .welcome-action strong{font-size:21px;font-weight:normal}
.welcome-actions .welcome-action small{font:12px/1.5 Arial,sans-serif;letter-spacing:0}
.welcome-actions .welcome-action.primary{background:#e0c482;color:#102018;border-color:#f1d79a}
.welcome-actions .welcome-action:hover{filter:brightness(1.12)}
.welcome-actions .welcome-action:focus-visible{outline:3px solid #e9daa6;outline-offset:3px}
@media(min-width:701px) and (max-height:850px){#welcomeTitle{font-size:clamp(40px,4.8vw,64px);margin:18px 0}.welcome-copy-panel{padding:18px 20px}.welcome-lead{font-size:20px}.welcome-description{font-size:14px;line-height:1.6;margin-top:12px}.welcome-actions{margin-top:16px}}
.welcome-actions #enterBattalionLab.primary{background:#e0c482;color:#102018;border-color:#f1d79a}.welcome-actions .welcome-action strong,.welcome-actions .welcome-action small{color:inherit}
/* The briefing occupies the centre; guidance moves aside to expose its target. */
#tutorialPanel{left:50%;top:50%;right:auto;bottom:auto;transform:translate(-50%,-50%);width:min(490px,calc(100vw - 40px));max-height:80dvh;overflow:auto;padding:26px;background:#10271ff5;border-color:#d6be82;box-shadow:0 16px 64px #000a}
#tutorialPanel.guiding{left:20px;top:120px;transform:none;width:min(350px,calc(100vw - 40px))}
#tutorialPanel h3{font:26px Georgia,serif;color:#ead59e}#tutorialPanel p{color:#e5e9df;font-size:15px}.tutorial-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
#tutorialConnector{position:fixed;inset:0;width:100vw;height:100dvh;pointer-events:none;z-index:99998}#tutorialConnector path{fill:none;stroke:#8de0c4;stroke-width:2}#tutorialConnector circle{fill:#8de0c4}
.unit-command-intent dl{display:grid;grid-template-columns:minmax(95px,.8fr) minmax(0,1.7fr);margin:0}.unit-command-intent dt,.unit-command-intent dd{margin:0;padding:9px 0;border-bottom:1px solid #52635266;font-size:12px;line-height:1.5}.unit-command-intent dt{color:#d8bd82;padding-right:12px}.unit-command-intent dd{color:#f0f0e4}.unit-command-intent h3{margin:12px 0 6px}
.inspector-fold{border-top:1px solid #52635277;margin-top:12px;padding-top:3px}.inspector-fold>summary{font-size:13px;padding:10px 0;color:#dbc58e}.inspector-fold>div,.inspector-fold>section{margin-top:8px}
body:not(.design-mode) .map-wrap>svg#map{height:calc(100dvh - 240px);min-height:320px;max-height:1000px;width:100%;display:block;touch-action:none}
#observerMode,#mapStep,#nextAction,#simultaneousMode,#replayActions,#detailWatch,#smoothWatch{display:none!important}
@media(max-width:650px){#tutorialPanel.guiding{top:auto;bottom:12px;left:12px;width:calc(100vw - 24px);max-height:34dvh}body:not(.design-mode) .map-wrap>svg#map{height:calc(100dvh - 260px)}}
.map-wrap{scroll-margin-top:115px;overflow-anchor:none}.map-navigation{overflow-anchor:none}.unit-inspector .unit-hero-symbol{max-height:95px;width:125px}.unit-inspector .unit-hero-symbol svg,.unit-inspector .unit-hero-symbol img{max-height:95px}.unit-inspector .unit-identity{min-height:0;margin:8px 0}.unit-inspector .condition-bars small{font-size:10px}.unit-inspector .unit-command-intent>p{font-size:12px}.unit-inspector .unit-command-intent>h3{font-size:13px}
body:not(.design-mode) .map-wrap>svg#map{height:calc(100dvh - 310px);max-height:none}.map-navigation [hidden]{display:none!important}

.scenario-preview .brief-map-layout{display:block}.scenario-preview .mission-sketch{width:100%;height:auto;max-height:250px}.scenario-preview .brief-objective-list{padding:10px 0}.scenario-preview .brief-map-key,.scenario-preview .brief-objective-list>p.small{display:none}.scenario-preview .mission-core{font-size:13px;line-height:1.5;text-decoration:underline;text-underline-offset:4px;padding:8px 0}.scenario-preview .brief-objective.critical circle{fill:#d8bd78;stroke:#fff3bd;stroke-width:4}.scenario-preview .brief-objective.selected circle{stroke:#9ee5d1;stroke-width:6}.designer-environment label[for=missionPair]{display:block;margin-top:12px}.territory-context{font-size:14px;line-height:1.6}.template-cost{margin:14px 0}.scenario-preview .mission-core{order:2}

#unitInspector{z-index:125;top:calc(var(--game-header-height,108px) + 12px);max-height:calc(100dvh - var(--game-header-height,108px) - 24px)}

body:not(.design-mode) .map-wrap>svg#map{min-height:240px;aspect-ratio:auto}

.hostomel-sketch .brief-objective text{font-size:7px}.scenario-preview .hostomel-sketch .brief-objective circle{stroke-width:1}.scenario-preview .hostomel-sketch .brief-objective.selected circle{stroke-width:1.5}
