.modal-frame:has(.controls-modal),.modal-frame:has(.locations-modal){width:min(920px,calc(100vw - 32px))}.modal.controls-modal,.modal.locations-modal{width:100%;max-width:none}.controls-toolbar{display:grid;grid-template-columns:1fr 190px;gap:16px;margin:24px 0 16px}.controls-toolbar label,.controls-layout label{color:#c9c6ad;font-size:12px;display:grid;gap:8px}.controls-toolbar input,.controls-toolbar select,.controls-layout select{min-width:0;width:100%;background:#14291f;color:#e2dec7;border:1px solid #8d947352;padding:10px 12px;font:inherit;border-radius:2px}.controls-layout{display:grid;grid-template-columns:1fr 220px;align-items:center;gap:10px}.controls-layout p{grid-column:1 / -1;font-size:11px;color:#a7b6a1;line-height:1.6;margin:0 0 16px}#control-feedback{color:#d5c294;font-size:12px;min-height:24px}#control-conflicts{color:#ffc195;font-size:12px;line-height:1.6}#control-conflicts:not(:empty){padding:12px;margin-bottom:12px;border:1px solid #a76c44;background:#52362366}.controls-list{border-top:1px solid #82906c40}.control-row{display:grid;grid-template-columns:minmax(150px,1fr) 114px 114px 44px 44px;align-items:center;gap:8px;border-bottom:1px solid #82906c28;padding:10px 0}.control-row strong{display:block;color:#e3dec8;font-weight:500;font-size:12px}.control-row small{display:block;color:#99ab98;margin-top:4px;font-size:10px}.control-key{padding:9px 6px;min-height:36px;background:#263d2d;color:#e1d1a3;border:1px solid #7682696b;font:inherit;font-size:11px;overflow-wrap:anywhere}.control-key[aria-pressed=true]{border-color:#e5c584;outline:1px solid #e5c584;background:#4c4931}.control-row-action{background:none;border:0;color:#acbaa1;font-size:11px;padding:10px 0}.control-conflict{background:#643b222e}.control-conflict .control-key{border-color:#be885b}.control-fixed{grid-column:2 / -1;color:#9aac99;font-size:11px;text-align:right}.controls-help{color:#9aac99;font-size:11px;line-height:1.7}.controls-footer{display:flex;align-items:center;gap:12px;width:100%}.controls-footer .text-button{margin-right:auto}.controls-footer .primary-button:disabled{opacity:.45;cursor:default}.locations-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}.location-card{border:1px solid #9a986745;padding:14px;background:#152c2280}.location-card h3{color:#d9c392;margin:0 0 8px;font-family:var(--font-display, inherit);font-size:15px}.location-card p{color:#a7b99f;font-size:11px;margin:6px 0 12px}.location-card button{background:#263d2d;color:#e0d7b5;border:1px solid #7e8e6b66;padding:8px;font-size:11px;margin-right:5px}.location-card button:disabled{opacity:.35}.location-card small{display:block;color:#a7b99f;font-size:10px;margin-top:12px}@media(max-width:680px){.controls-toolbar,.controls-layout{grid-template-columns:1fr}.control-row{grid-template-columns:minmax(72px,1fr) minmax(72px,1fr) 42px 42px}.control-row>div{grid-column:1 / -1}.control-fixed{grid-column:1 / -1;text-align:left}.locations-grid{grid-template-columns:1fr}.controls-footer{flex-wrap:wrap}}.manual-bindings{margin:24px 0;padding:18px;border:1px solid #8b947249}.manual-bindings summary{cursor:pointer;color:#d8c595}.manual-bindings dl{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px}.manual-bindings dl>div{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #82906c28;padding-bottom:5px;font-size:11px}.manual-bindings dd{color:#d8c595;margin:0}@media(max-width:680px){.manual-bindings dl{grid-template-columns:1fr}}.front-screen{position:relative;min-height:100svh;overflow:hidden;background:#101815;color:#ece8d8}.front-title-art,.front-title-shade{position:absolute;inset:0;width:100%;height:100%}.front-title-art{object-fit:cover;object-position:70% center}.front-title-shade{background:linear-gradient(90deg,#101815f0,#101815c7 30%,#1018151a 58%,#10181500)}.front-title-content{position:relative;z-index:1;display:flex;width:min(460px,calc(100% - 48px));min-height:100svh;margin-left:clamp(24px,6.67vw,96px);flex-direction:column;justify-content:center;gap:56px}.front-title-heading{display:flex;flex-direction:column;gap:16px}.front-title-heading h1{margin:0;color:#ece8d8;font-family:var(--serif);font-size:clamp(44px,4.45vw,64px);font-weight:600;line-height:1.05}.front-title-heading p{margin:0;color:var(--muted);font-size:19px;line-height:1.5}.front-title-menu{display:flex;align-items:flex-start;flex-direction:column;gap:6px}.front-title-campaign,.front-title-resume,.front-title-link{display:flex;align-items:center;font-size:18px}.front-title-campaign{justify-content:space-between;min-width:280px;height:56px;margin-bottom:10px;padding:0 24px 0 28px;border-radius:2px;background:var(--gold);color:#101815;font-weight:600}.front-title-resume{min-width:280px;height:52px;margin-bottom:14px;padding:0 28px;border:1px solid rgba(198,166,109,.45);border-radius:2px;font-size:17px;font-weight:500}.front-title-link{height:44px;padding:0;color:#ece8d8}.front-title-campaign:hover{background:var(--gold-bright)}.front-title-resume:hover,.front-title-link:hover,.front-title-version:hover{color:var(--gold-bright)}.front-title-version{position:absolute;z-index:1;right:48px;bottom:36px;color:var(--muted);font-size:14px}.front-chapters{display:flex;flex-direction:column;gap:28px;padding:28px clamp(24px,4vw,64px) 32px}.front-chapters-art,.front-chapters-shade{position:absolute;inset:0;width:100%;height:100%}.front-chapters-art{object-fit:cover}.front-chapters-shade{background:linear-gradient(180deg,#101815a6,#101815bd 55%,#101815eb)}.front-chapters-heading{position:relative;z-index:1;display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px 20px}.front-chapters-heading h1{margin:0;font:600 40px var(--serif);grid-column:1}.front-chapters-back{display:flex;align-items:center;gap:8px;min-height:44px;width:fit-content;padding:0;color:var(--muted)}.front-chapters-back:hover{color:var(--gold-bright)}.front-chapters-progress{grid-column:2;grid-row:2;margin:0;color:var(--muted);font-size:14px}.front-chapters-list{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.campaign-act{display:flex;flex-direction:column;gap:10px}.campaign-act h2{margin:0 0 8px;padding-bottom:12px;border-bottom:1px solid #c6a66d66;font:600 23px var(--serif);color:var(--gold)}.front-chapter,.campaign-future{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;padding:12px;width:100%;text-align:left;border:1px solid transparent;border-radius:2px}.front-chapter{background:#101815d9;min-height:148px}.front-chapter:hover,.front-chapter-selected{border-color:#c6a66d99;background:#28352de8}.front-chapters button:focus-visible,.replay-loadout input:focus-visible,.replay-loadout select:focus-visible{outline:2px solid #f5e2ab;outline-offset:4px}.front-chapter-numeral{font:600 23px var(--serif);color:var(--gold)}.front-chapter-copy{display:flex;flex-direction:column;gap:5px}.front-chapter-title{font:600 21px var(--serif);color:#ece8d8}.front-chapter-place{font-size:12px;color:var(--muted)}.campaign-place,.campaign-future{font-size:14px}.campaign-future{color:#b9b8a9;min-height:78px;background:#1018159c}.campaign-state{font-size:12px;letter-spacing:.03em}.campaign-best{font-size:13px;color:#ede0b9}.front-chapters-detail{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:32px;border-top:1px solid #c6a66d44;padding-top:20px}.front-chapters-detail h2{margin:0 0 8px;font:600 20px var(--serif);color:var(--gold)}.front-chapters-detail p{max-width:760px;margin:0;font-size:16px;line-height:1.5}.front-chapters-open{display:flex;flex-shrink:0;align-items:center;gap:24px;min-height:52px;padding:12px 24px;border-radius:2px;background:var(--gold);color:#101815;font-size:17px;font-weight:600}.front-chapters-open:hover{background:var(--gold-bright)}.front-load-heading{position:relative;z-index:1;display:flex;width:min(920px,calc(100% - 48px));margin:0 auto;padding-top:56px;align-items:center;gap:28px}.front-load-heading h1{margin:0;color:#ece8d8;font-family:var(--serif);font-size:44px;font-weight:600}.front-load-back{height:44px;padding:0;color:var(--muted);font-size:16px}.front-load-back:hover{color:var(--gold-bright)}.front-load-list{position:relative;z-index:1;display:flex;width:min(920px,calc(100% - 48px));margin:72px auto;flex-direction:column;gap:10px}.front-load-entry{display:grid;min-height:116px;grid-template-columns:168px minmax(0,1fr) auto;overflow:hidden;border:1px solid rgba(198,166,109,.32);border-radius:2px;background:#101815b8}.front-load-entry>img{width:100%;height:116px;object-fit:cover}.front-load-copy{display:flex;padding:18px 24px;flex-direction:column;justify-content:center;gap:5px}.front-load-copy>span,.front-load-copy p,.front-load-empty p{color:var(--muted);font-size:14px}.front-load-copy h2,.front-load-empty h2{margin:0;color:#ece8d8;font-family:var(--serif);font-size:25px;font-weight:600}.front-load-copy p,.front-load-empty p{margin:0}.front-load-actions{display:flex;align-items:center;gap:8px;padding:20px}.front-load-actions button{height:38px;padding:0 15px;border:1px solid rgba(198,166,109,.48);border-radius:2px;color:#ece8d8}.front-load-actions button:hover{border-color:var(--gold-bright);color:var(--gold-bright)}.front-load-empty{display:flex;min-height:86px;padding:16px 24px;align-items:center;justify-content:space-between}.save-slot-picker .save-slot-choice{display:flex;min-height:58px;padding:10px 16px;align-items:flex-start;flex-direction:column;gap:4px;text-align:left}.save-slot-picker .save-slot-choice small{color:var(--muted);font-size:11px}@media(max-width:640px){.front-title-content{gap:40px}.front-title-heading p{max-width:300px;font-size:17px}.front-title-campaign,.front-title-resume{min-width:min(280px,calc(100vw - 48px))}.front-title-version{right:24px;bottom:24px}.front-load-heading{flex-direction:column;align-items:flex-start;gap:12px;padding-top:24px}.front-load-heading h1{font-size:34px}.front-load-list{margin:38px auto}.front-load-entry{grid-template-columns:96px minmax(0,1fr)}.front-load-entry>img{height:100%}.front-load-actions{grid-column:1 / -1;justify-content:flex-end;padding-top:0}}.front-briefing-art,.front-briefing-shade{position:absolute;inset:0;width:100%;height:100%}.front-briefing-art{object-fit:cover;object-position:center}.front-briefing-shade{background:linear-gradient(90deg,#101815f2,#101815db 46%,#1018159e)}.front-briefing-back{position:absolute;z-index:2;top:32px;left:clamp(24px,6.67vw,96px);display:flex;height:44px;align-items:center;gap:6px;padding:0;color:var(--muted);font-size:16px}.front-briefing-back:hover{color:var(--gold-bright)}.front-briefing-content{position:absolute;z-index:1;top:104px;right:clamp(24px,6.67vw,96px);bottom:104px;left:clamp(24px,6.67vw,96px);display:grid;grid-template-columns:minmax(0,620px) minmax(0,1fr);align-content:start;gap:32px 40px;overflow-y:auto}.front-briefing-summary{display:flex;flex-direction:column;gap:24px}.front-briefing-heading{display:flex;flex-direction:column;gap:12px}.front-briefing-heading p,.front-briefing-objectives h2,.front-briefing-commander h2{color:var(--gold-bright);font-size:16px;font-weight:600}.front-briefing-heading h1{color:#ece8d8;font-family:var(--serif);font-size:54px;font-weight:600;line-height:1.08}.front-briefing-situation{max-width:580px;color:#ece8d8;font-size:20px;line-height:1.55;text-wrap:pretty}.front-briefing-objectives{display:flex;flex-direction:column;gap:12px}.front-briefing-objectives ul{display:flex;margin:0;padding:0;flex-direction:column;gap:10px;list-style:none}.front-briefing-objectives li{display:flex;align-items:baseline;gap:14px;font-size:18px;line-height:1.4}.front-briefing-objectives li>span:first-child{width:9px;height:9px;flex:none;border:1.5px solid var(--gold);transform:translateY(-1px)}.front-briefing-tip{max-width:580px;color:var(--muted);font-size:16px;line-height:1.5;text-wrap:pretty}.front-briefing-tip strong{color:#ece8d8;font-weight:600}.front-briefing-map{display:flex;margin:0;padding:16px;min-width:0;max-width:100%;box-sizing:border-box;flex-direction:column;gap:10px;border:1px solid rgba(198,166,109,.25);border-radius:2px;background:#101815d1;align-self:start;justify-self:end}.front-briefing-map svg{display:block;width:440px;max-width:100%;height:auto;aspect-ratio:440 / 358;border-radius:2px}.front-briefing-map figcaption{max-width:440px;color:var(--muted);font-size:14px}.front-briefing-commander{grid-column:1 / -1;max-width:720px}.front-commander h2{color:#ece8d8;font-family:var(--serif);font-size:20px;font-weight:600}.front-commander small{color:var(--muted);font-size:14px}.front-commander{display:flex;align-items:flex-start;gap:20px;padding-top:0}.front-commander img{width:96px;height:96px;flex:none;border:1px solid rgba(198,166,109,.35);border-radius:2px;object-fit:cover}.front-commander>div{display:flex;flex-direction:column;gap:6px}.front-commander p{color:#ece8d8;font-size:16px;line-height:1.45}.front-briefing-launch{position:absolute;z-index:2;right:0;bottom:0;left:0;display:flex;height:104px;align-items:center;justify-content:space-between;padding:0 clamp(24px,6.67vw,96px);border-top:1px solid rgba(198,166,109,.22);background:#101815eb}.front-difficulty{display:flex;align-items:center;gap:8px}.front-difficulty>span{margin-right:8px;color:var(--muted);font-size:16px}.front-difficulty button{height:44px;padding:0 20px;border:1px solid rgba(198,166,109,.28);border-radius:2px;font-size:16px;font-weight:500}.front-difficulty button:hover,.front-difficulty button[aria-pressed=true]{border-color:#e4c895cc;background:#c6a66d29}.front-briefing-ride{display:flex;min-width:240px;height:56px;align-items:center;justify-content:space-between;gap:24px;padding:0 24px 0 28px;border-radius:2px;background:var(--gold);color:#101815;font-size:18px;font-weight:600}.front-briefing-ride:hover{background:var(--gold-bright)}@media(max-height:940px)and (min-width:761px){.front-briefing-back{top:20px}.front-briefing-content{top:76px;gap:24px 40px}.front-briefing-summary{gap:16px}.front-briefing-heading{gap:8px}.front-briefing-heading h1{font-size:44px}.front-briefing-situation{font-size:18px;line-height:1.45}.front-briefing-objectives{gap:8px}.front-briefing-objectives ul{gap:6px}.front-briefing-objectives li{font-size:17px}.front-briefing-tip{font-size:15px}.front-briefing-map svg{width:380px}.front-commander{padding-top:0}.front-commander img{width:80px;height:80px}}@media(max-height:760px)and (min-width:761px){.front-briefing-content{top:68px}.front-briefing-heading h1{font-size:38px}.front-briefing-situation{font-size:16px}.front-briefing-objectives li{font-size:15px;line-height:1.3}.front-briefing-objectives ul{gap:4px}.front-briefing-map svg{width:340px}}@media(max-width:1100px)and (min-width:761px){.front-briefing-content{grid-template-columns:minmax(0,48vw) minmax(0,1fr)}.front-briefing-heading h1{font-size:44px}.front-briefing-situation{font-size:18px}.front-briefing-objectives li{font-size:16px}.front-briefing-map svg{width:34vw;height:auto;aspect-ratio:440 / 358}.front-briefing-map figcaption{width:34vw}.front-commander h2{font-size:17px}}@media(max-width:760px){.front-briefing{--briefing-launch-height: 192px}.front-briefing-back{top:24px;left:24px}.front-briefing-content{top:92px;right:24px;bottom:var(--briefing-launch-height);left:24px;grid-template-columns:minmax(0,1fr);gap:32px}.front-briefing-map{justify-self:stretch}.front-briefing-heading h1{font-size:40px}.front-briefing-situation{font-size:18px}.front-briefing-objectives li{font-size:16px}.front-briefing-map svg{width:100%;height:auto}.front-briefing-map figcaption{max-width:none}.front-briefing-commander{grid-template-columns:1fr}.front-commander{padding-top:0}.front-briefing-launch{height:var(--briefing-launch-height);box-sizing:border-box;padding:24px;align-items:stretch;flex-direction:column;gap:20px}.front-difficulty{flex-wrap:wrap}.front-difficulty>span{width:100%}.front-difficulty button{flex:1;padding:0 10px}.front-briefing-ride{width:100%}}.front-camp{height:100svh}.camp-painting{position:absolute;top:50%;left:50%;width:max(100vw,150svh);height:max(100svh,66.666667vw);transform:translate(-50%,-50%)}.camp-art,.camp-shade,.camp-stations{position:absolute;inset:0;width:100%;height:100%}.camp-art{object-fit:cover;pointer-events:none}.camp-shade{pointer-events:none;background:linear-gradient(180deg,#101815a6,#10181514 35%,#1018151f 75%,#10181599)}.camp-heading{position:absolute;top:28px;left:32px;pointer-events:none;text-shadow:0 2px 8px #101815}.camp-heading p,.camp-heading h1{margin:0 0 6px}.camp-heading p,.camp-station-name{color:#e3c98d;font-size:13px;letter-spacing:.06em}.camp-heading h1{font-family:var(--serif);font-size:clamp(24px,2.5vw,36px);font-weight:500}.camp-station,.camp-panel button,.camp-title{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:40px;padding:8px 16px;border:1px solid #b79c61;border-radius:3px;background:#101815ed;color:#f4edda;cursor:pointer}.camp-station{position:absolute;left:var(--station-x);top:var(--station-y);transform:translate(-50%,-50%);font-family:var(--serif);font-size:17px;box-shadow:0 4px 16px #10181599;white-space:nowrap}.camp-station:hover,.camp-station[aria-expanded=true],.camp-panel button:hover,.camp-title:hover{background:#304236;border-color:#ffe0a0}.camp-station:focus-visible,.camp-panel button:focus-visible,.camp-title:focus-visible{outline:3px solid #ffe0a0;outline-offset:4px}.camp-marker{display:inline-grid;place-items:center;width:22px;height:22px;border:1px solid #f3d898;border-radius:50%;background:#e3c98d;color:#101815;font-family:DM Sans Variable,sans-serif;font-size:15px;font-weight:700}.camp-marker-label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.camp-panel-slot{position:absolute;top:24px;left:50%;width:clamp(360px,32vw,460px);transform:translate(-50%)}.camp-panel{max-height:calc(50svh - 32px);overflow-y:auto;padding:14px 18px;border:1px solid #a88c56;border-radius:4px;background:#101815f7;box-shadow:0 12px 36px #10181580;scrollbar-color:#b79c61 #101815}.camp-panel p{margin:0}.camp-panel h2{margin:3px 0;font-family:var(--serif);font-size:23px;font-weight:500}.camp-panel .camp-panel-close{float:right;min-height:32px;padding:4px 8px;margin:-4px -8px 6px 8px;border-color:transparent;font-size:12px}.camp-role{color:#c0c7b8;font-size:13px}.camp-dialogue{clear:both;margin-top:10px;font-size:16px;line-height:1.45}.camp-speaker{color:#e3c98d;font-size:13px}.camp-speaker span{float:right;color:#c0c7b8}.camp-dialogue .camp-line{margin-top:5px}.camp-dialogue .camp-previous-line{margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #586049}.camp-conversation-controls{display:flex;gap:8px;margin-top:12px}.camp-conversation-controls button{min-height:36px;padding:6px 12px;font-size:14px}.camp-panel .camp-conversation-complete{margin-top:12px;color:#c0c7b8;font-size:13px}.camp-station-action{margin-top:14px;padding-top:12px;border-top:1px solid #586049;font-size:14px;line-height:1.5}.camp-title{position:absolute;bottom:24px;left:32px}.camp-dialogue p{line-height:1.45}.camp-panel-slot:has([data-smithy-panel=true]){width:min(740px,calc(100vw - 64px))}.camp-panel[data-smithy-panel=true]{max-height:calc(100svh - 100px);padding:20px 24px}.smithy-balance{color:#e3c98d;font-size:18px;font-variant-numeric:tabular-nums}.smithy-group h3{margin:24px 0 10px;padding-bottom:8px;border-bottom:1px solid #586049;font-family:var(--serif);font-size:20px;font-weight:500}.smithy-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.smithy-card{padding:14px;border:1px solid #586049;border-radius:3px;background:#1b2923}.smithy-card:focus{outline:3px solid #ffe0a0;outline-offset:2px}.smithy-card h4{margin:0 0 8px;font-family:var(--serif);font-size:18px;font-weight:500;color:#f4edda}.smithy-preview{display:grid;gap:8px;margin:12px 0;padding:0;list-style:none}.smithy-preview li{display:grid;gap:2px}.smithy-preview span{color:#c0c7b8;font-size:13px}.smithy-preview strong{color:#f4edda;font-size:16px;font-variant-numeric:tabular-nums}.smithy-card .smithy-price{margin-top:12px;color:#e3c98d;font-weight:600}.smithy-owned,.smithy-affordable{color:#b9d7bb}.smithy-shortfall{color:#e2c4ad}.smithy-card button{margin-top:10px}.smithy-confirmation{margin-top:12px;padding-top:12px;border-top:1px solid #b79c61}.smithy-confirmation .smithy-warning,.camp-save-error{margin-top:10px;color:#ffe0a0}@media(max-width:620px){.smithy-cards{grid-template-columns:1fr}.camp-panel[data-smithy-panel=true]{padding:16px}}.camp-panel-slot:has([data-elders-panel=true]){width:min(780px,calc(100vw - 64px))}.camp-panel[data-elders-panel=true]{max-height:calc(100svh - 100px);padding:20px 24px}.elders-renown{color:#e3c98d;font-size:18px;font-variant-numeric:tabular-nums}.elders-threshold{color:#c0c7b8}.elders-pair h3{display:flex;justify-content:space-between;gap:12px;margin:24px 0 10px;padding-bottom:8px;border-bottom:1px solid #586049;font-family:var(--serif);font-size:20px;font-weight:500}.elders-pair h3 span{align-self:center;color:#c0c7b8;font-family:DM Sans Variable,sans-serif;font-size:13px}.elders-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.elders-card{padding:14px;border:1px solid #586049;border-radius:3px;background:#1b2923}.elders-card:focus{outline:3px solid #ffe0a0;outline-offset:2px}.elders-card h4{margin:0 0 8px;color:#f4edda;font-family:var(--serif);font-size:18px;font-weight:500}.elders-card .elders-status{margin-top:12px;color:#e2c4ad}.elders-card[data-research-state=chosen]{border-color:#b79c61}.elders-card[data-research-state=chosen] .elders-status,.elders-card[data-research-state=available] .elders-status{color:#b9d7bb}.elders-card button{margin-top:10px}.elders-confirmation{margin-top:12px;padding-top:12px;border-top:1px solid #b79c61}.elders-confirmation .elders-warning{margin-top:10px;color:#ffe0a0}@media(max-width:620px){.elders-cards{grid-template-columns:1fr}.camp-panel[data-elders-panel=true]{padding:16px}}.camp-panel-slot:has(.council-roster){width:min(1240px,calc(100vw - 64px))}.camp-panel:has(.council-roster){max-height:calc(100svh - 96px)}.camp-panel:has(.council-roster) .camp-panel-close{position:sticky;top:0;z-index:1}.council-roster h3{margin:0 0 12px;color:var(--gold-bright);font-family:var(--serif);font-size:18px;font-weight:500}.council-role{min-width:0;margin:0 0 18px;padding:0;border:0}.council-role legend{margin-bottom:8px;padding:0;color:var(--gold-bright);font-family:var(--serif);font-size:16px}.council-choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.camp-panel .council-choice{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:8px;min-width:0;padding:12px;border:1px solid #68735a;border-radius:3px;background:#19251f;color:#f4edda;text-align:left;font-family:inherit;font-size:14px;line-height:1.5}.council-tribe{color:#e3c98d;font-size:12px}.council-choice strong{font-size:16px}.council-description,.council-stats,.council-roster>p{color:#c0c7b8}.council-stats{font-size:13px}.council-status{margin-top:auto;padding-top:8px;border-top:1px solid #586049;font-size:13px}.camp-panel .council-choice[aria-pressed=true]{border-color:#e3c98d;background:#304236}.council-choice[aria-pressed=true] .council-status{color:#ffe0a0;font-weight:600}.camp-panel .council-choice[data-council-state=locked]{border-style:dashed;background:#17211c}.camp-panel button.council-choice:hover{border-color:#ffe0a0;background:#304236}@media(max-width:900px){.camp-panel-slot:has(.council-roster){width:calc(100vw - 32px)}.council-choices{grid-template-columns:minmax(0,1fr)}}.council-contracts{margin-top:24px;padding-top:20px;border-top:1px solid #baa66b50}.contract-card{padding:16px;border:1px solid #baa66b60;background:#17271fcc}.contract-card h4{margin:0 0 12px;color:#e4d4a4;font-size:18px}.contract-card p{line-height:1.6}.contract-price,.contract-status,.front-briefing-auxiliaries,.selection-company{color:#d8c79b}.contract-card button{padding:9px 18px;border:1px solid #baa66b80;background:#263d30;color:#ece8d8}.contract-card:focus-visible,.contract-card button:focus-visible{outline:2px solid #e4d4a4;outline-offset:3px}.auxiliary-controls{display:flex;gap:5px;z-index:5}.auxiliary-controls:empty{display:none}.auxiliary-slot{position:relative}.auxiliary-button{position:relative;display:grid;place-items:center;width:44px;height:44px;padding:0 0 4px;color:#e4d4a4;background:#101d18ed;border:1px solid #b5aa7150}.auxiliary-button.dimmed{color:#9a9b88;background:#101d18db;cursor:default}.auxiliary-button[aria-disabled=false]:hover{background:#263d30}.auxiliary-button:focus-visible{outline:2px solid #e4d4a4;outline-offset:2px}.auxiliary-button kbd{position:absolute;top:1px;right:2px;min-width:11px;min-height:11px;padding:0 2px;font-size:8px}.auxiliary-button progress{position:absolute;bottom:2px;left:3px;width:36px;height:3px;accent-color:#baa66b}.auxiliary-detail{position:absolute;bottom:calc(100% + var(--auxiliary-detail-gap, 8px));left:0;width:min(280px,calc(100vw - 24px));max-height:calc(100svh - var(--hud-height) - var(--footer-height) - 130px);overflow-y:auto;padding:12px;color:#c2bba5;background:#101d18fa;border:1px solid #b5aa7177;box-shadow:0 4px 16px #0006;font-size:11px;line-height:1.5;visibility:hidden}.auxiliary-slot:before{content:"";position:absolute;bottom:100%;left:0;width:44px;height:var(--auxiliary-detail-gap, 8px)}.auxiliary-slot:hover .auxiliary-detail,.auxiliary-button:focus-visible+.auxiliary-detail{visibility:visible}.auxiliary-detail strong,.auxiliary-detail span{display:block}.auxiliary-detail strong{color:#e4d4a4;font-size:13px;margin-bottom:4px}.auxiliary-detail p{margin:6px 0 0}.auxiliary-detail :empty{display:none}.auxiliary-controls kbd[hidden]{display:none}.replay-loadout{padding-top:16px;border-top:1px solid #c6a66d66;font-size:14px}.replay-loadout fieldset{border:0;padding:0;margin:0;min-width:0}.replay-loadout legend{color:var(--gold);font:600 17px var(--serif);margin-bottom:12px}.replay-loadout label{display:flex;align-items:center;gap:8px;min-height:32px}.replay-loadout input{accent-color:var(--gold);flex-shrink:0}.replay-loadout label:has(input:disabled){color:var(--muted)}.replay-modes{display:flex;flex-wrap:wrap;gap:6px 24px}.replay-options{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}.replay-options fieldset:last-child{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:8px 20px}.replay-options select{background:#18261f;color:#ece8d8;border:1px solid #c6a66d66;border-radius:2px;padding:6px;min-width:0}.replay-options fieldset:last-child label{justify-content:space-between}.replay-summary{line-height:1.6}.replay-error{position:absolute;bottom:100%;left:0;right:0;margin:0;padding:12px 24px;color:#ffe0c7;background:#402d24;font-size:14px}@media(max-width:640px){.front-chapters{gap:24px;padding:20px 24px 32px}.front-chapters-heading{display:flex;align-items:flex-start;flex-direction:column}.front-chapters-list{grid-template-columns:1fr}.front-chapters-detail{align-items:flex-start;flex-direction:column;gap:20px}.replay-options,.replay-options fieldset:last-child{grid-template-columns:1fr}}.campaign-mastery{margin:-6px 0 4px;color:var(--muted);font-size:12px;line-height:1.5}.campaign-achievements{color:var(--gold-bright);font-size:12px}.front-chapters-detail .achievement-list{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px 24px}.front-chapters-detail .achievement-list li{display:flex;flex-direction:column;gap:3px}.briefing-achievements h2{margin:0 0 12px;color:var(--gold);font:600 18px var(--serif)}:root{font-family:DM Sans Variable,sans-serif;color:#ece8d8;background:#101815;font-synthesis:none;font-weight:400;--gold: #c6a66d;--gold-bright: #e4c895;--muted: #9da699;--line: #c6b58425;--panel: #15211df5;--serif: "Cinzel Variable", Georgia, serif;--ease: cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit;border:0;background:none}button:disabled{cursor:default}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--gold-bright);outline-offset:4px}button,select,a{touch-action:manipulation}button svg,a svg{flex-shrink:0}p{color:#b9bfb0;line-height:1.75}h1,h2,h3,p{margin:0}em{font-weight:400}svg{vertical-align:middle}::selection{background:#b798614d;color:#f6eacc}.emblem{height:44px;width:44px;color:var(--gold)}.eyebrow{font-size:10px;letter-spacing:2.6px;color:var(--gold);font-weight:600;display:flex;align-items:center;gap:12px}.label-gold{color:var(--gold);font-size:9px;font-weight:600;letter-spacing:1.8px}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;color:#bcc3b8;transition:color .18s,background .18s}.icon-button:hover{color:var(--gold-bright);background:#c6a66d0d}.primary-button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:linear-gradient(110deg,#c1a36d,#d5bc87);border:1px solid #e6cea04a;color:#20291f;padding:17px 25px;min-height:53px;font-size:12px;font-weight:700;letter-spacing:.3px;box-shadow:0 3px 18px #0002,inset 0 1px #fff2;transition:filter .15s,transform .15s,box-shadow .15s}.primary-button:hover{filter:brightness(1.12);box-shadow:0 5px 25px #c5a26520}.primary-button:active{transform:translateY(1px)}.secondary-button{border:1px solid var(--line);background:#bac09a05;color:#c8ccbd;display:flex;align-items:center;gap:12px;justify-content:center;padding:14px 22px;font-size:12px;transition:background .15s,border-color .15s}.secondary-button:hover{border-color:#c6a66d77;background:#c6a66d0d}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:11px;color:#b9bbab;padding:14px 0;transition:color .15s}.text-button:hover{color:var(--gold-bright)}kbd{font:9px DM Sans Variable,sans-serif;min-width:17px;min-height:16px;border:1px solid #d2ccad30;border-bottom-width:2px;border-radius:3px;padding:1px 4px;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#c4c8b9;background:#0a14174d;white-space:nowrap}select{appearance:none;background:#202b23 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' stroke='%23b7b59b'%3E%3Cpath d='m4 5 3 3 3-3'/%3E%3C/svg%3E") no-repeat right 10px center;color:#e0e0ce;border:1px solid var(--line);border-radius:0;padding:9px 33px 9px 12px;font-size:12px;cursor:pointer}select option{background:#192820}.live-dot{display:inline-block;width:5px;height:5px;border-radius:100%;background:#7f9b77;box-shadow:0 0 7px #8aa47b30}.menu-header{height:99px;display:flex;align-items:center;padding:0 4.2%;border-bottom:1px solid #d8cda017;gap:50px;position:relative;z-index:2;flex-shrink:0}.brand{display:flex;align-items:center;gap:13px}.brand .emblem{width:39px;height:46px}.brand>span{font-family:var(--serif);font-size:16px;letter-spacing:2px;font-weight:600}.brand small{display:block;font-family:DM Sans Variable,sans-serif;font-size:7px;letter-spacing:3.5px;color:#a8ab97;margin-top:5px}.menu-header nav{display:flex;align-items:stretch;gap:31px;height:100%;margin-left:25px}.nav-link{font-size:11px;color:#a5b0a0;position:relative;letter-spacing:.3px;padding:4px 0 0}.nav-link.active{color:#e0c38e}.nav-link.active:after{position:absolute;bottom:-1px;left:0;right:0;content:"";height:2px;background:var(--gold)}.nav-link:hover{color:#e0c38e}.header-tools{display:flex;align-items:center;gap:9px;margin-left:auto}.edition-label{font-size:8px;letter-spacing:1.8px;color:#a1ae9b;margin-right:15px}.launch-actions{display:flex;align-items:center;gap:24px;flex-shrink:0;position:relative;padding-bottom:10px}.launch-actions .primary-button{width:207px}.library-screen{min-height:100svh;position:relative;isolation:isolate}.library-art{position:absolute;z-index:-1;inset:0 0 auto;height:480px;background:linear-gradient(0deg,#101815,transparent),linear-gradient(90deg,#101815eb,#101815ca),url(/art/campaign.jpg) center 30% / cover}.library-content{max-width:1250px;margin:auto;padding:65px 45px}.library-content>h1{font-family:var(--serif);font-weight:400;font-size:40px;letter-spacing:-1.2px;margin:15px 0}.library-lead{font-size:13px;max-width:700px}.manual-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:40px 0 24px}.manual-card{border:1px solid var(--line);padding:30px 26px;background:#18231cbd;position:relative}.manual-card>svg{color:var(--gold)}.manual-number{position:absolute;right:24px;top:26px;font-family:var(--serif);font-size:30px;color:#9aa07e22}.manual-card h2{font-family:var(--serif);font-size:16px;font-weight:400;margin:20px 0 12px}.manual-card p{font-size:11px;line-height:1.9}.manual-card dl{margin:22px 0 0;display:grid;gap:12px}.manual-card dl>div{display:flex;justify-content:space-between;gap:12px;font-size:9px;line-height:1.7}.manual-card dt{color:#9fae96}.manual-card dd{margin:0;text-align:right;color:#c0c4ab;white-space:nowrap}.manual-bottom{display:flex;gap:30px}.manual-bottom>div{display:flex;gap:14px;flex:1;background:#a1ac7705;padding:20px}.manual-bottom>div>svg{color:var(--gold);flex-shrink:0}.manual-bottom p{font-size:10px}.manual-bottom strong{color:#d0d4bd;font-weight:500}.library-content>.text-button{margin-top:25px}.history-intro{display:flex;gap:40px;padding:40px 0;border-bottom:1px solid var(--line);margin-bottom:12px}.history-mark{font-family:var(--serif);font-size:27px;color:var(--gold);text-align:center;line-height:1.2;padding-top:10px}.history-mark i{font-size:17px;font-style:normal;opacity:.4}.history-intro h2,.history-chapters h2{font-family:var(--serif);font-weight:400;font-size:21px;margin-bottom:12px}.history-intro p{font-size:12px;max-width:920px;margin-bottom:12px}.history-chapters article{display:flex;gap:40px;padding:30px 0;border-bottom:1px solid var(--line)}.history-year{font-family:var(--serif);font-size:26px;color:#a6a885;min-width:90px}.history-chapters h2{margin:9px 0}.history-chapters p{font-size:12px}.history-chapters .reconstruction{font-size:11px;margin-top:12px;color:#8f9e89}.history-chapters .commander-words{margin-top:12px}.reconstruction+.reconstruction{margin-top:8px}.reconstruction strong,.commander-words strong{font-weight:500;color:#c4b382;margin-right:7px}.source-list{margin-top:35px}.source-list a{display:flex;align-items:center;justify-content:space-between;padding:20px 0;border-bottom:1px solid var(--line);color:#c4c6ae;font-size:11px}.source-list a:hover{color:var(--gold-bright)}.source-list small{display:block;margin-top:5px;font-size:9px;color:#8b9d85}.modal-layer{position:fixed;inset:0;z-index:100;background:#05100bdd;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:25px;animation:fade-in .2s ease;overflow:auto}.modal-frame{position:relative;display:flex;flex-direction:column;width:max-content;max-width:100%;max-height:calc(100svh - 50px);animation:arrive .25s var(--ease)}.modal{flex:0 1 auto;min-height:0;background:linear-gradient(130deg,#263025,#14211b);border:1px solid #af9b6655;max-width:100%;width:min(var(--modal-width, 550px),calc(100vw - 50px));padding:42px;position:relative;box-shadow:0 35px 100px #0006,inset 0 1px #eed3a008;max-height:calc(100svh - 50px);overflow:auto}.modal:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,#c5a56eaa,transparent)}.modal-close{position:absolute;top:16px;right:16px;z-index:5;width:36px;height:36px;padding:8px;color:var(--gold-bright);background:#14211bf2;border:1px solid var(--line)}.modal-close:hover{background:#344233}.modal>.eyebrow{padding-right:36px}.modal h2{font-family:var(--serif);font-size:30px;font-weight:400;line-height:1.3;margin:14px 0 18px;letter-spacing:-.8px}.modal>p{font-size:12px;line-height:1.9}.modal-symbol{color:var(--gold);margin-bottom:25px}.modal-symbol .emblem{height:58px;width:58px}.settings-modal h2{margin-bottom:27px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid var(--line);padding:20px 0;font-size:12px}.setting-row strong{font-weight:500}.setting-row small{display:block;font-size:9px;color:#8f9f88;margin-top:6px}.setting-row input{accent-color:var(--gold);width:145px}.toggle{width:36px;height:20px;background:#7280682d;border:1px solid #9caf7940;border-radius:15px;padding:3px;transition:background .15s;flex-shrink:0}.toggle i{display:block;width:12px;height:12px;background:#8b9a80;border-radius:50%;transition:transform .2s var(--ease),background .15s}.toggle.on{background:#c3a46944;border-color:#c3a46966}.toggle.on i{background:#d3b985;transform:translate(15px)}.setting-note{font-size:10px;color:#8f9e88;margin:12px 0 26px;line-height:1.7}.settings-modal>.primary-button{width:100%}.pause-modal{--modal-width: 425px;text-align:center;max-width:425px}.pause-modal .eyebrow{justify-content:center;font-size:8px}.pause-modal h2{font-size:26px}.pause-modal>p{font-size:11px}.pause-actions{display:grid;gap:9px;margin-top:30px}.pause-actions .primary-button{justify-content:center;gap:12px}.pause-actions kbd{margin-left:auto;font-size:8px;color:#354031;background:#24311c12;border-color:#32442140}.pause-actions .primary-button>svg{margin-right:auto}.pause-actions>.text-button{margin-top:4px}.dialog-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:28px}.help-modal{--modal-width: 1180px;max-width:1180px}.help-modal>.eyebrow{margin-top:4px}.help-modal>.manual-grid{margin-top:20px}.help-modal .manual-card{padding:22px}.help-modal .manual-card h2{font-size:15px}.help-modal .manual-card dl>div{font-size:8px}.outcome-modal{--modal-width: 600px;text-align:center;max-width:600px;padding:40px 45px}.outcome-crest{margin:0 auto 25px;display:flex;align-items:center;justify-content:center;width:100px;height:100px;border:1px solid #bda06b66;background:radial-gradient(#c4a66822,transparent);clip-path:polygon(50% 0,100% 20%,100% 75%,50% 100%,0 75%,0 20%)}.outcome-crest .emblem{width:65px;height:65px}.outcome-crest.defeat .emblem{color:#ba8267}.outcome-modal>.eyebrow{justify-content:center}.outcome-modal h2{font-size:33px}.outcome-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:23px 0;margin:26px 0}.outcome-stats>div+div{border-left:1px solid var(--line)}.outcome-stats strong{font-family:var(--serif);font-size:25px;font-weight:400;color:#d8c297}.outcome-stats span{display:block;font-size:6px;letter-spacing:1.5px;color:#a1ad97;margin-top:9px}.outcome-rewards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}@media(max-width:600px){.outcome-rewards{grid-template-columns:1fr;gap:0}}.outcome-tribute,.outcome-renown{margin:0 0 24px;text-align:left}.outcome-tribute h3,.outcome-renown h3{font-family:var(--serif);font-size:18px;color:#d8c297;margin:0 0 12px}.outcome-tribute dl,.outcome-renown dl{margin:0;font-size:13px}.outcome-tribute dl>div,.outcome-renown dl>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;padding:6px 0}.outcome-tribute dd,.outcome-renown dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}.tribute-row[data-state=new] dd,.tribute-balance dd,.renown-row[data-state=new] dd,.renown-total dd{color:#d8c297}.tribute-row[data-state=incomplete],.renown-row[data-state=incomplete]{color:#a1ad97}.outcome-tribute .tribute-total,.outcome-renown .renown-earned{border-top:1px solid var(--line);margin-top:8px;padding-top:12px}.tribute-balance,.renown-total{font-weight:600}.outcome-actions{display:grid}.outcome-actions>.primary-button{justify-content:center}.outcome-actions>.text-button{margin-top:8px}#toast{position:fixed;left:50%;bottom:32px;transform:translate(-50%,15px);background:#263124f5;color:#e1dac1;border:1px solid #bba27166;padding:14px 23px;z-index:300;font-size:12px;box-shadow:0 10px 40px #0004;opacity:0;pointer-events:none;transition:opacity .2s,transform .25s;max-width:calc(100% - 30px);text-align:center}#toast.visible{opacity:1;transform:translate(-50%)}.in-battle{overflow:hidden}.battle-screen{height:100svh;overflow:hidden;position:relative;--hud-height: 215px;--header-height: 59px;--footer-height: 24px;background:#15241c;-webkit-user-select:none;user-select:none}.battle-header{height:var(--header-height);display:flex;align-items:center;background:linear-gradient(0deg,#19251fe8,#142018);border-bottom:1px solid #b9a16b6b;position:absolute;inset:0 0 auto;z-index:10;box-shadow:0 3px 15px #05100b45}.battle-brand{height:100%;display:flex;align-items:center;gap:10px;padding:0 22px;border-right:1px solid var(--line);color:#d7c59c;font-family:var(--serif);font-size:11px;letter-spacing:1px}.battle-brand .emblem{width:29px;height:34px}.battle-brand:hover{background:#c9b98109}.battle-chapter{display:flex;align-items:center;gap:12px;font-size:11px;color:#b6bca6;margin-left:22px}.battle-chapter>span{color:var(--gold);font-family:var(--serif);font-size:15px}.battle-chapter>i{width:1px;height:16px;background:var(--line)}.resources{display:flex;align-items:center;gap:30px;margin-left:auto;margin-right:28px}.resource{display:flex;align-items:center;gap:9px;min-width:100px}.resource>svg{color:#c6b787}.resource strong{font-size:17px;font-weight:500;font-variant-numeric:tabular-nums;color:#e2e3cf}.resource small{font-size:9px;color:#91ad81;margin-left:0}.resource:nth-child(2)>svg{color:#94ad83}.resource.population{min-width:80px}.resource.population svg{color:#b5b998}.resource strong em{font-size:12px;font-style:normal;color:#9ca88e}.resource .supply-full,.resource .supply-full em{color:#e6b777}.battle-header-end{display:flex;align-items:center;gap:8px;border-left:1px solid var(--line);padding:0 14px;height:30px}.battle-header-end>span{font-size:10px;color:#abb899;margin-right:10px;font-variant-numeric:tabular-nums}#battlefield{position:absolute;left:0;right:0;top:var(--header-height);bottom:calc(var(--hud-height) + var(--footer-height))}.battle-canvas{display:block;outline:none!important;touch-action:none}.battle-overlay{position:absolute;inset:0;pointer-events:none}.objective-panel{position:absolute;left:20px;top:80px;width:259px;background:linear-gradient(110deg,#13231bdd,#18281ccf);border:1px solid #c2bf7a28;border-left:2px solid #b7a76b77;padding:11px 13px 13px;z-index:4;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 5px 20px #09110c25}.objective-heading{display:flex;align-items:center;justify-content:space-between;color:#c1bb93;font-size:7px;font-weight:600;letter-spacing:1.3px;margin-bottom:8px}.objective-heading>span{display:flex;align-items:center;gap:8px}.objective-heading>.icon-button{width:16px;height:18px;color:#aab392}.objective{display:flex;align-items:flex-start;gap:9px;font-size:10px;color:#c9ceb8;line-height:1.5;margin-top:9px}.objective-box{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:10px;height:10px;border:1px solid #9da87c77;margin-top:2px}.objective b{font-size:9px;color:var(--gold);white-space:nowrap;padding-left:3px}.objective.done{color:#91b48b}.objective.done .objective-box{border-color:#95b37b66;background:#98b67814;color:#b5d797}.bonus-heading{color:#c1bb93;font-size:10px;margin-top:14px}.bonus-objective{width:100%;border:0;padding:0;text-align:left;background:none;font:inherit}.bonus-objective[data-bonus-depot]{cursor:pointer}.bonus-objective[data-bonus-depot]:hover{color:#e0d39b}#wave-timer{display:flex;align-items:center;gap:7px;color:#c5b78d;font-size:7px;letter-spacing:.7px;margin-top:14px}#wave-timer:empty{display:none}#wave-timer b{margin-left:auto;font-weight:500}.battle-location{position:absolute;top:84px;right:24px;z-index:3;color:#d1d0b1;font-size:10px;text-shadow:0 2px 8px #102517;letter-spacing:.1px}.battle-location>svg{margin-right:5px;color:#c7c6a4}.battle-location>span{display:block;text-align:right;margin-top:7px;font-size:6px;letter-spacing:1.7px;color:#b7c7a5}.battle-notices{position:absolute;top:215px;left:20px;z-index:6;display:flex;flex-direction:column;gap:7px;pointer-events:none;max-width:350px}.battle-notice{display:flex;align-items:center;gap:11px;background:linear-gradient(90deg,#1b2c22ed,#1b2c22aa);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid #b1ba8b22;border-left:2px solid #b4a574;box-shadow:0 5px 20px #0b190e30;color:#d5d6b8;font-size:10px;padding:12px 14px;line-height:1.65;animation:notice-in .35s var(--ease)}.battle-notice svg{flex-shrink:0;color:#c8b884}.battle-notice.leaving{opacity:0;transform:translate(-8px);transition:opacity .3s,transform .3s}.battle-notice.ready{border-left-color:#91b385}.battle-notice.ready svg{color:#a4c09a}.camera-tools{position:absolute;right:18px;bottom:calc(var(--hud-height) + var(--footer-height) + 17px);z-index:4;display:flex;flex-direction:column;border:1px solid #b7bd8744;background:#18261be0}.camera-tools button{width:31px;height:29px;color:#cad0b1;font-size:16px}.camera-tools button+button{border-top:1px solid #9bab7625}.camera-tools button:hover{background:#adb5841b}.control-groups{position:absolute;bottom:calc(var(--hud-height) + var(--footer-height) + 13px);left:290px;z-index:4;display:flex;gap:5px}.group-slot{display:flex;align-items:center;gap:11px;background:#18261bd9;border:1px solid #b8be8d30;height:28px;padding:4px 9px 4px 4px;min-width:47px;color:#93a786}.group-slot kbd{color:#899b7c;border-color:#abb88930;min-height:16px}.group-slot>span{font-size:9px}.group-slot.assigned{color:#d4c899;border-color:#b4ad7055}.group-slot.assigned kbd{color:#d6c291}.command-hint{position:absolute;left:50%;bottom:calc(var(--hud-height) + var(--footer-height) + 17px);transform:translate(-50%);color:#e4d3a9;background:#273225ed;padding:11px 17px;border:1px solid #c1ab7077;font-size:11px;z-index:5;display:none;align-items:center;gap:12px;box-shadow:0 5px 25px #07180f55;white-space:nowrap}.command-hint.visible{display:flex}.command-hint kbd{margin-left:15px}.battle-hud{display:grid;grid-template-columns:268px minmax(280px,1fr) 412px;position:absolute;bottom:var(--footer-height);height:var(--hud-height);left:0;right:0;z-index:10;background:linear-gradient(180deg,#1a2821,#111d18);border-top:1px solid #c4b27e77;box-shadow:0 -5px 25px #06140c59}.minimap-panel{padding:10px 14px 7px;border-right:1px solid #bac69729;position:relative}.panel-topline{display:flex;align-items:center;justify-content:space-between;color:#9fac90;font-size:7px;letter-spacing:1.25px;line-height:15px}.panel-topline>span:first-child{display:flex;align-items:center;gap:6px}.panel-topline>span:last-child{font-size:7px;color:#b9b893}.panel-topline button{color:#94a18b;display:flex;padding:0}.panel-topline button:hover{color:#d5c598}#minimap{display:block;width:100%;height:150px;object-fit:fill;cursor:crosshair;border:1px solid #a6ad7c40;margin:5px 0 6px;image-rendering:auto;box-shadow:inset 0 0 20px #0006}.minimap-actions{display:flex;justify-content:space-between;gap:12px}.minimap-actions button{display:flex;align-items:center;gap:6px;font-size:7px;letter-spacing:.4px;color:#b4c0a3;padding:0}.minimap-actions button:hover{color:#dbc699}.minimap-actions kbd{font-size:7px;min-height:14px}.selection-panel{padding:15px 23px 10px;overflow:hidden;border-right:1px solid #bcc39125;position:relative;background:radial-gradient(ellipse at 15% 80%,#8c967d09,transparent 70%)}.selection-heading{display:flex;align-items:center;justify-content:space-between;font-size:7px;letter-spacing:1.4px;color:#96a58b;margin-bottom:14px}.selection-team{font-size:6px;letter-spacing:1px;color:#84a183}.single-selection{display:flex;gap:17px;align-items:center}.unit-portrait{width:83px;height:93px;border:1px solid #b5a4745e;position:relative;display:flex;justify-content:center;align-items:center;color:#c4b27c;flex-shrink:0;background:radial-gradient(ellipse at 50% 32%,#a9a57636,transparent 75%),linear-gradient(145deg,#3b4430,#17271e);box-shadow:inset 0 0 10px #141e1944}.unit-portrait:before{content:"";position:absolute;inset:4px;border:1px solid #b8ba8a19;clip-path:polygon(0 0,30% 0,30% 2%,2% 2%,2% 30%,0 30%,0 0,100% 100%,70% 100%,70% 98%,98% 98%,98% 70%,100% 70%,100% 100%)}.unit-portrait>svg{margin-bottom:10px;filter:drop-shadow(0 4px 4px #10271988)}.unit-portrait>span{position:absolute;bottom:10px;left:0;right:0;text-align:center;font-size:7px;letter-spacing:2px;color:#a6b58f}.unit-description{min-width:0;flex:1}.unit-description h3{font-family:var(--serif);font-size:18px;font-weight:400;letter-spacing:-.2px;margin-bottom:6px;color:#e1dec8}.unit-description p{font-size:9px;color:#a4b096;line-height:1.65;max-width:355px}.selection-health{height:13px;margin-top:9px;background:#0b16119c;border:1px solid #afba8630;position:relative;max-width:300px;overflow:hidden}.selection-health>i{display:block;height:100%;background:linear-gradient(90deg,#4b7559,#77926b);opacity:.7;transition:width .15s linear}.selection-health>span{position:absolute;left:0;right:0;top:0;line-height:11px;font-size:6px;letter-spacing:1.2px;text-align:center;color:#e0e3c9;text-shadow:0 1px #172919}.selection-stats{font-size:7px;color:#abb398;display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;letter-spacing:.5px}.selection-stats>span{display:inline-flex;align-items:center;gap:5px;margin-left:12px}.selection-stats svg{color:#a99e75}.unit-roster{display:flex;flex-wrap:wrap;gap:5px;margin-top:11px;max-height:47px;overflow:auto}.unit-roster button{width:31px;height:30px;border:1px solid #b5bb892c;background:#53603b24;position:relative;display:flex;align-items:center;justify-content:center;color:#aabc99}.unit-roster button:hover{border-color:#c7b47799;color:#ddc990}.unit-roster button>i{position:absolute;bottom:0;left:0;height:2px;background:#88a67a}.training-queue{display:flex;gap:6px;margin-top:10px}.training-queue:empty{display:none}.training-queue button{position:relative;display:flex;align-items:center;gap:7px;height:28px;min-width:54px;max-width:90px;padding:5px 8px;background:#b6bb8433;border:1px solid #bcbd8533;color:#b7c49e}.training-queue small{font-size:8px}.training-queue i{position:absolute;left:0;bottom:0;height:2px;background:#d2b46b}.training-queue button:hover{border-color:#cba977;filter:brightness(1.12)}.orders-panel{padding:14px 19px 12px}.orders-panel>.panel-topline{margin-bottom:13px}.command-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.command-button{border:1px solid #9eaa782f;background:linear-gradient(145deg,#2a3928,#1b2b20);padding:23px 3px 8px;min-width:0;height:106px;display:flex;flex-direction:column;align-items:center;gap:9px;position:relative;transition:border-color .15s,background .15s;overflow:hidden}.command-button.ready-pulse{animation:ability-ready 1.1s ease-out}@keyframes ability-ready{0%{border-color:#f0d48f;box-shadow:inset 0 0 0 2px #f0d48fcc}to{border-color:#9eaa782f;box-shadow:inset 0 0 0 2px #f0d48f00}}.command-button>svg{color:#c4c69b;z-index:1}.command-button>span{color:#c6c9af;font-size:8px;text-align:center;line-height:1.3;min-height:20px;z-index:1;max-width:59px}.command-button>small{font-size:7px;color:#b6aa79;line-height:1;z-index:1}.command-button>kbd{position:absolute;top:4px;right:4px;font-size:7px;min-width:13px;min-height:13px;line-height:10px;padding:0 3px;background:#15251a55;border-color:#a9b68027;color:#b5bb93;z-index:1}.command-button:hover:not(:disabled){border-color:#c2ac6e99;background:linear-gradient(145deg,#4b5132,#2a3825)}.command-button:active:not(:disabled){transform:translateY(1px)}.command-button:disabled>svg,.command-button:disabled>span,.command-button:disabled>small{opacity:.35}.command-button .cooldown{position:absolute;bottom:0;left:0;right:0;background:#081410bd;height:0;pointer-events:none}.cooldown-label{position:absolute;top:33px;color:#d8cea6;font-size:14px;z-index:2;font-weight:400;pointer-events:none}.command-button.researched .cooldown-label{color:#9bc18f;font-size:22px}.enemy-intel{font-size:11px;color:#a5b498;margin-top:23px}.empty-selection{height:100%;display:flex;align-items:center;gap:22px;justify-content:center;opacity:.75}.empty-selection .emblem{width:67px;height:67px;color:#999d70}.empty-selection .label-gold{font-size:7px}.empty-selection h3{font-family:var(--serif);font-weight:400;font-size:18px;margin:10px 0}.empty-selection p{font-size:9px}.battle-footer{position:absolute;bottom:0;left:0;right:0;height:var(--footer-height);display:flex;align-items:center;justify-content:space-between;padding:0 15px;background:#101b15;border-top:1px solid #b0b98b19;color:#7e9277;z-index:10;font-size:6px;letter-spacing:.9px;gap:20px}.battle-footer>span{display:flex;align-items:center;gap:6px}.battle-footer>span:nth-child(2){font-size:7px;letter-spacing:.1px}.battle-footer b{font-weight:400;color:#9aa78b}.battle-footer i:not(.live-dot){font-style:normal;opacity:.4;margin:0 3px}@keyframes arrive{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes notice-in{0%{opacity:0;transform:translate(-9px)}to{opacity:1;transform:translate(0)}}@media(min-width:1600px){.battle-screen{--hud-height: 235px}.battle-hud{grid-template-columns:285px minmax(400px,1fr) 440px}.orders-panel{padding:17px 25px}.command-button{height:119px;padding-top:27px}.command-button>span{font-size:9px}.selection-panel{padding:18px 28px}.unit-portrait{width:90px;height:101px}.unit-description h3{font-size:22px}.unit-description p{font-size:11px}#minimap{height:166px}.control-groups{left:306px}.objective-panel{width:295px}.objective{font-size:11px}.battle-notices{top:227px}}@media(max-width:1150px){.menu-header{padding:0 30px;gap:30px;height:84px}.menu-header nav{gap:23px;margin-left:0}.edition-label{display:none}.launch-actions{gap:15px}.launch-actions .primary-button{width:185px}.battle-brand{padding:0 13px}.battle-brand>span{display:none}.battle-chapter{margin-left:15px;font-size:10px}.resources{gap:20px;margin-right:15px}.resource{min-width:85px;gap:7px}.battle-screen{--hud-height: 205px}.battle-hud{grid-template-columns:225px minmax(225px,1fr) 354px}.orders-panel{padding:14px 12px}.selection-panel{padding:14px 16px}.unit-portrait{width:63px;height:84px}.unit-description h3{font-size:15px}.unit-description p{font-size:8px}.single-selection{gap:12px}.command-button{height:103px}.command-grid{gap:4px}.command-button>span{font-size:7px}.command-button>svg{width:20px}.selection-stats>span{margin-left:4px}.unit-roster button{height:28px;width:28px}.selection-team{display:none}#minimap{height:141px}.control-groups{left:244px}.battle-location{font-size:9px}.manual-grid{gap:12px}.manual-card{padding:24px 20px}.manual-card dl>div{font-size:8px}}@media(max-width:900px){.menu-header{gap:15px;padding:0 24px}.brand>span{font-size:13px;letter-spacing:1.2px}.brand small{font-size:6px;letter-spacing:2px}.brand .emblem{width:32px}.menu-header nav{gap:18px;margin-left:auto}.header-tools{gap:0;margin-left:12px}.fullscreen-button{display:none}.launch-actions{gap:7px}.launch-actions .primary-button{width:151px;font-size:11px;padding:15px;gap:10px}.battle-header{--header-height: 54px}.battle-chapter{font-size:9px;gap:8px}.battle-chapter>span{font-size:13px}.resources{gap:14px;margin-right:8px}.resource{min-width:66px;gap:5px}.resource>svg{width:16px}.resource strong{font-size:14px}.resource small{font-size:7px}.resource.population{min-width:72px}.battle-header-end{padding:0 7px;gap:2px}.battle-header-end>span{margin-right:0;font-size:9px}.battle-header-end>.icon-button{width:27px}.battle-hud{grid-template-columns:189px minmax(200px,1fr) 285px}.battle-screen{--hud-height: 192px;--header-height: 54px}.minimap-panel{padding:9px 9px 5px}#minimap{height:130px}.selection-panel{padding:12px}.selection-heading{font-size:6px;letter-spacing:1px;margin-bottom:12px}.unit-portrait{width:52px;height:75px}.unit-portrait svg{width:30px}.unit-description h3{font-size:13px}.unit-description p{font-size:7px}.selection-stats{font-size:6px;gap:3px;flex-wrap:wrap}.selection-stats svg{width:11px}.single-selection{gap:9px}.orders-panel{padding:12px 9px}.command-button>span{font-size:6px;max-width:48px}.command-button>svg{width:19px}.command-button{height:100px}.command-button>small{font-size:6px}.command-button>kbd{font-size:6px}.panel-topline{font-size:6px;letter-spacing:1px}.unit-roster{gap:4px;margin-top:12px}.unit-roster button{width:25px;height:25px}.unit-roster button svg{width:15px}.control-groups{left:205px}.battle-footer>span:nth-child(2){font-size:6px;gap:3px}.battle-footer{font-size:5px;gap:10px}.objective-panel{top:71px;left:14px;width:235px}.objective{font-size:9px}.battle-location{top:77px;right:17px;font-size:8px}.battle-notices{top:204px;left:14px;max-width:300px}.battle-notice{font-size:9px}.manual-grid{grid-template-columns:1fr}.manual-card dl>div{font-size:10px}.manual-card p{font-size:12px}.manual-card h2{font-size:19px}.manual-bottom{flex-direction:column;gap:12px}.help-modal{max-width:650px}.help-modal .manual-card dl>div{font-size:10px}}@media(max-width:650px){.menu-header{height:78px;padding:0 20px;flex-wrap:wrap;gap:0;align-content:center;justify-content:space-between}.brand>span{font-size:12px}.brand small{font-size:5px}.brand .emblem{width:30px;height:35px}.menu-header nav{order:3;width:100%;height:24px;justify-content:center;margin-top:7px;gap:34px}.nav-link{font-size:9px;padding:0}.header-tools{margin-left:auto}.header-tools .icon-button{height:25px;width:28px}.launch-actions{justify-content:space-between;margin-top:23px;padding-bottom:16px}.launch-actions .primary-button{width:65%;font-size:12px}.modal-layer{padding:14px}.modal-frame{max-height:calc(100svh - 28px)}.modal{width:min(var(--modal-width, 550px),calc(100vw - 28px));padding:28px;max-height:calc(100svh - 28px)}.modal h2{font-size:25px}.library-content{padding:38px 24px}.library-content>h1{font-size:29px}.library-lead{font-size:11px}.library-content>.eyebrow{font-size:7px;letter-spacing:1.5px}.history-intro{gap:20px;padding:30px 0}.history-mark{font-size:18px}.history-intro h2{font-size:19px}.history-intro p{font-size:11px}.history-chapters article{gap:20px}.history-year{font-size:19px;min-width:49px}.history-chapters h2{font-size:17px}.history-chapters p{font-size:11px}.history-chapters .label-gold{font-size:7px}.history-chapters .reconstruction{font-size:10px}.source-list a{font-size:10px;gap:15px}.setting-row{gap:15px}.setting-row small{font-size:8px;max-width:165px}.setting-row input{width:110px}.outcome-modal{padding:30px 25px}.outcome-stats span{font-size:5px;letter-spacing:.8px}.outcome-modal>p{font-size:11px}.battle-screen{--hud-height: 175px;--header-height: 47px}.battle-chapter{font-size:8px;margin-left:6px;max-width:145px;white-space:nowrap;overflow:hidden}.battle-chapter>span{font-size:11px}.battle-chapter i{display:none}.battle-brand{padding:0 7px}.battle-brand .emblem{width:24px}.resources{gap:9px;margin-right:6px}.resource{min-width:40px;gap:3px}.resource>svg{width:12px}.resource strong{font-size:11px}.resource small{display:none}.resource.population{min-width:52px}.resource strong em{font-size:9px}.battle-header-end{gap:0;padding:0 3px}.battle-header-end>.icon-button{width:24px}.battle-header-end>span{display:none}.battle-header-end>[data-action=sound]{display:none}.battle-hud{grid-template-columns:130px 1fr;grid-template-rows:76px 1fr}.minimap-panel{grid-row:1/3;padding:7px}.panel-topline{font-size:5px;letter-spacing:.7px}#minimap{height:114px;margin:5px 0}.minimap-actions{flex-direction:column;gap:6px}.minimap-actions button{font-size:6px}.minimap-actions button kbd{margin-left:auto;font-size:6px;min-height:12px}.selection-panel{border-right:0;border-bottom:1px solid var(--line);padding:8px 10px;grid-column:2}.selection-heading{display:none}.single-selection{gap:9px}.unit-portrait{width:42px;height:55px}.unit-portrait>svg{width:23px;margin-bottom:8px}.unit-portrait>span{font-size:5px;bottom:5px}.unit-description h3{font-size:12px;margin-bottom:3px}.unit-description p{font-size:6px;max-height:21px;overflow:hidden}.selection-health{height:10px;margin-top:5px}.selection-health>span{font-size:5px;line-height:8px}.selection-stats,.unit-roster,.training-queue{display:none}.orders-panel{grid-column:2;padding:7px 8px}.orders-panel>.panel-topline{margin-bottom:5px}.command-grid{gap:4px}.command-button{height:66px;padding:15px 2px 3px;gap:5px}.command-button>svg{width:15px;height:15px}.command-button>span{font-size:5px;min-height:13px;max-width:39px}.command-button>small{font-size:5px}.command-button>kbd{font-size:5px;top:2px;right:2px;min-height:10px;min-width:10px;line-height:8px;padding:0 2px}.cooldown-label{top:19px;font-size:10px}.objective-panel{width:195px;left:10px;top:60px;padding:9px 11px}.objective-heading{font-size:6px;letter-spacing:.6px;margin-bottom:5px}.objective{font-size:8px;gap:7px;margin-top:7px}.objective-box{height:9px;width:9px}.battle-location{top:64px;right:10px;font-size:6px;max-width:140px;text-align:right}.battle-location svg{width:12px}.battle-location>span{font-size:5px;letter-spacing:.7px;line-height:1.5}#wave-timer{font-size:6px;letter-spacing:0}.battle-notices{top:175px;left:10px;max-width:245px}.battle-notice{font-size:8px;padding:9px 10px;gap:8px}.battle-notice svg{width:13px}.control-groups{left:143px;bottom:calc(var(--hud-height) + var(--footer-height) + 9px);gap:4px}.group-slot{min-width:31px;height:23px;gap:5px;padding:3px 5px 3px 3px}.group-slot kbd{font-size:7px;min-width:13px;padding:0 2px}.group-slot>span{font-size:7px}.camera-tools{right:10px;bottom:calc(var(--hud-height) + var(--footer-height) + 9px)}.camera-tools button{width:27px;height:26px}.battle-footer{padding:0 8px;font-size:4px;letter-spacing:.4px}.battle-footer>span:nth-child(2){display:none}.command-hint{max-width:90%;font-size:8px;white-space:normal;gap:8px;padding:9px 12px;bottom:calc(var(--hud-height) + var(--footer-height) + 39px)}.command-hint kbd{margin-left:3px}.empty-selection{gap:10px}.empty-selection .emblem{width:36px;height:36px}.empty-selection .label-gold{font-size:5px}.empty-selection h3{font-size:13px;margin:5px 0}.empty-selection p{font-size:6px}.help-modal .manual-card{padding:20px}.help-modal>.manual-grid{margin-top:15px}.manual-bottom{gap:10px}.manual-bottom>div{padding:15px}.help-modal .manual-card h2{font-size:16px}.help-modal .manual-card dl>div{font-size:9px}.help-modal .manual-card p{font-size:10px}}@media(max-height:780px)and (min-width:901px){.menu-header{height:78px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.strategy-tools{position:absolute;left:24px;top:205px;z-index:5;display:flex;flex-direction:column;gap:8px;width:225px}.strategy-tools button{position:relative;display:flex;align-items:center;gap:10px;color:#d8c79b;background:linear-gradient(130deg,#17271fef,#101d18dc);border:1px solid #b5aa713d;padding:13px;text-align:left;font-size:10px;letter-spacing:.1em;box-shadow:0 5px 20px #0002}.strategy-tools button:hover{border-color:#baa66b}#hero-shortcut{overflow:hidden}#hero-shortcut>span{font-family:Cinzel Variable,serif;font-size:15px;letter-spacing:.02em}#hero-shortcut small{display:block;font:9px DM Sans Variable,sans-serif;color:#98a38f;margin-top:5px}#hero-shortcut kbd{margin-left:auto}#hero-shortcut i{position:absolute;height:3px;bottom:0;left:0;background:#8aca9e;transition:width .2s}.production-tracker{position:absolute;right:24px;top:78px;z-index:5;width:192px;display:grid;gap:5px;max-height:240px;overflow:auto}.production-tracker button{display:flex;align-items:center;position:relative;gap:7px;padding:10px;background:#12221ceb;color:#becab4;border:1px solid #9fa17b33;font-size:10px;text-align:left}.production-tracker span{flex:1}.production-tracker b{color:#d9c48a;font-size:9px}.production-tracker i{position:absolute;left:0;bottom:0;height:2px;background:#c7ac68}.command-grid.dense{grid-template-columns:repeat(4,1fr);gap:5px}.command-grid.dense .command-button{height:69px;padding:10px 3px 5px;gap:4px}.command-grid.dense .command-button>svg{width:20px;height:20px}.command-grid.dense .command-button>span{font-size:9px;max-width:100%;min-height:13px}.command-grid.dense .command-button>small{font-size:8px}.command-grid.dense .command-button>kbd{top:3px;right:3px;font-size:8px}.command-grid.dense .cooldown-label{top:17px}.technology-modal{--modal-width: 900px}.technology-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0}.technology-grid article{background:#14231b;border:1px solid #989a7028;padding:16px}.technology-grid article.ready{border-color:#79b99466}.technology-grid article>span{font-size:8px;letter-spacing:.1em;color:#93b8a2}.technology-grid h3{font:500 16px Cinzel Variable,serif;color:#d8c699;margin:10px 0}.technology-grid p{font-size:11px;line-height:1.65}.technology-grid small{color:#beab7e;font-size:9px}@media(max-height:800px){.strategy-tools{top:190px;width:205px}.strategy-tools button{padding:9px 11px}.command-grid.dense .command-button{height:57px;padding:7px 2px 3px;gap:2px}.command-grid.dense .command-button>svg{width:17px;height:17px}.command-grid.dense .command-button>span{font-size:8px}}@media(max-width:900px){.strategy-tools{left:12px;top:170px;width:180px}.production-tracker{right:12px;width:150px}.technology-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.strategy-tools{top:160px;width:155px}.strategy-tools button{font-size:8px;padding:8px}#hero-shortcut>span{font-size:12px}#hero-shortcut small{font-size:8px}.production-tracker{max-height:140px;width:130px}.technology-grid{grid-template-columns:1fr}}.strategy-tools{top:auto;bottom:calc(var(--hud-height) + var(--footer-height) + 13px);flex-direction:row;width:245px;gap:6px}#hero-shortcut{flex:1;min-width:0;padding:10px}#hero-shortcut>span{font-size:13px}#hero-shortcut small{font-size:8px}#tech-tree{font-size:0;width:36px;justify-content:center;padding:6px}#tech-tree svg{flex-shrink:0}@media(max-width:900px){.strategy-tools{width:205px}#hero-shortcut{gap:6px;padding:8px}#hero-shortcut kbd{display:none}}.unit-portrait>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.unit-portrait>span{z-index:1;text-shadow:0 1px 4px #000;padding:3px 6px;background:#14251dc9;border:1px solid #b4a5712b}.intel-panel{border-top:1px solid #98a88533;margin-top:12px;padding-top:12px}.intel-panel summary{font-size:9px;letter-spacing:.06em;color:#cbb987;cursor:pointer}.intel-panel summary>span{font-size:7px;color:#8f9f8e;margin-left:4px}.battle-alerts{position:absolute;top:76px;left:50%;transform:translate(-50%);z-index:12;display:grid;gap:7px;width:min(360px,32vw);pointer-events:none}.battle-alert{display:flex;gap:10px;align-items:center;text-align:left;padding:13px 15px;background:#35211ef5;border:1px solid #df936c88;border-left:3px solid #f19a75;color:#f2be99;box-shadow:0 8px 28px #0005;pointer-events:auto;animation:notice-in .2s var(--ease)}.battle-alert>span{flex:1}.battle-alert strong{display:block;font-size:11px;line-height:1.5}.battle-alert small{display:block;font-size:9px;color:#c8af98;margin-top:3px}.battle-alert.report{background:#192d26f5;border-color:#92bbaa77;color:#c2d6bd}.battle-alert:hover{filter:brightness(1.18)}#last-alert{font-size:8px;color:#dcb789;background:transparent;border:0}#last-alert kbd{font-size:8px;margin-left:3px}.objective-panel{max-height:calc(100% - 415px);overflow:auto;scrollbar-width:thin}.battle-notices{top:auto;bottom:310px;left:calc(50% - 170px);width:340px}@media(max-height:800px){.objective-panel{max-height:270px}}@media(max-width:900px){.battle-alerts{top:66px;width:300px;left:auto;right:14px;transform:none}.production-tracker{top:180px}.battle-notices{display:none}}@media(prefers-reduced-motion:reduce){.battle-alert{animation:none}}.battle-fullscreen{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid #c9b17b44;border-radius:3px;color:#d6c394;font-size:10px}.battle-fullscreen:hover{background:#c9b17b1c}@media(max-width:800px){.battle-fullscreen span{display:none}}.launch-modal{--modal-width: 520px;max-width:520px}.launch-modal .launch-actions{display:flex;flex-direction:column;margin-top:20px;align-items:stretch;min-width:0;gap:10px}.launch-error{margin-top:20px;color:var(--muted);font-size:12px;overflow-wrap:anywhere}.launch-error summary{cursor:pointer}.launch-modal .launch-actions .primary-button{width:100%;min-width:0}.dialog-footer{flex-shrink:0;display:flex;align-items:center;gap:24px;padding:16px 24px;border:1px solid #af9b6655;border-top-color:var(--line);background:#18261e}.dialog-footer .primary-button{margin-left:auto;min-width:170px;flex-shrink:0}@media(max-width:760px){.dialog-footer{display:grid;grid-template-columns:auto 1fr;gap:12px;padding:14px 20px}.dialog-footer .primary-button{grid-column:1 / -1;width:100%;min-width:0}}@media(max-height:650px)and (min-width:761px){.menu-header{height:64px}}.achievement-list{margin:0;padding:0;list-style:none;font-size:13px;line-height:1.5}.achievement-list li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;padding:4px 0}.achievement-list strong{color:var(--gold-bright);font-weight:500}.achievement-list span{color:var(--muted)}.chronicle-achievements{margin:36px 0;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.chronicle-achievements h2{font:600 26px var(--serif);color:var(--gold);margin:0 0 20px}.chronicle-achievement-chapters,.chronicle-mastery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.chronicle-achievement-chapters h3{font:600 18px var(--serif);margin:0 0 12px}.chronicle-achievement-chapters .achievement-list li,.chronicle-mastery p{display:flex;flex-direction:column;gap:4px}.chronicle-mastery p{margin:20px 0 0;font-size:13px;line-height:1.5;color:var(--muted)}.chronicle-mastery strong{color:var(--gold);font-weight:500}.outcome-achievements{margin:20px 0;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.outcome-achievements h3{margin:0 0 8px;color:var(--gold);font:600 18px var(--serif)}.outcome-achievements ul{list-style:none;padding:0;margin:0;font-size:14px;line-height:1.6}@media(max-width:760px){.chronicle-achievement-chapters,.chronicle-mastery{grid-template-columns:minmax(0,1fr);gap:20px}}.battle-screen .objective-panel{top:calc(var(--header-height) + 12px);left:14px;width:236px;padding:0;max-height:calc(100% - var(--hud-height) - var(--header-height) - 70px);background:none;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;overflow:visible;pointer-events:none;text-shadow:0 1px 3px #000,0 0 6px #000}.battle-screen .objective-heading{margin-bottom:5px;font-size:9px;letter-spacing:.8px}.objective-heading b{font-weight:400;color:#c6d1be}.battle-screen #objectives-toggle{pointer-events:auto;width:26px;height:24px;border:1px solid #b6b68b55;background:#14271dcc;font-size:17px}.battle-screen .objective{margin-top:5px;font-size:11px;line-height:1.4;gap:7px}.battle-screen .objective[hidden]{display:none}.battle-screen #wave-timer{margin:7px 0;padding:0;border:0;font-size:9px}.battle-screen .intel-panel{margin-top:8px;padding-top:0;border:0}.battle-screen .intel-panel summary{pointer-events:auto;width:fit-content;padding:5px 7px;background:#10231bc7;border:1px solid #b6b68b33}.battle-screen .intel-panel[open]{pointer-events:auto;padding:8px;background:#13231bf5;max-height:min(270px,38vh);overflow-y:auto;text-shadow:none;scrollbar-width:thin}.battle-screen.placing-building .objective-panel{opacity:.2}.battle-screen.placing-building .intel-panel{visibility:hidden}.battle-screen .battle-location{top:calc(var(--header-height) + 16px);opacity:.7;pointer-events:none}.battle-screen .battle-alerts{top:calc(var(--header-height) + 12px)}.battle-screen .battle-alert{padding:8px 10px}.battle-screen .battle-notices{bottom:calc(var(--hud-height) + var(--footer-height) + 54px);pointer-events:none}@media(min-width:901px){.battle-screen{--hud-height: 164px;--header-height: 36px;--footer-height: 16px;--map-width: 190px}.battle-screen .battle-brand{padding:0 14px;font-size:10px}.battle-screen .battle-brand .emblem{width:23px;height:27px}.battle-screen .battle-chapter{font-size:10px;margin-left:14px;gap:9px}.battle-screen .battle-chapter>span{font-size:12px}.battle-screen .resources{gap:20px;margin-right:16px}.battle-screen .resource{min-width:78px;gap:6px}.battle-screen .resource strong{font-size:15px}.battle-screen .resource>svg{width:17px}.battle-screen .battle-header-end{height:28px}.battle-screen .battle-hud{grid-template-columns:var(--map-width) minmax(240px,1fr) 360px;grid-template-rows:minmax(0,1fr);box-shadow:0 -2px 10px #06140c50}.battle-screen .minimap-panel{padding:5px 8px;grid-row:auto}.battle-screen #minimap{height:116px;margin:3px 0}.battle-screen .minimap-actions{gap:5px}.battle-screen .selection-panel{padding:7px 12px;overflow-y:auto;scrollbar-width:thin;grid-column:auto}.battle-screen .selection-heading{margin-bottom:5px;font-size:8px}.battle-screen .single-selection{gap:10px}.battle-screen .unit-portrait{width:57px;height:65px}.battle-screen .unit-description h3{font-size:15px;margin-bottom:2px}.battle-screen .unit-description p{font-size:10px;line-height:1.3}.battle-screen .selection-health{margin-top:4px;height:12px}.battle-screen .selection-stats{margin-top:4px;font-size:9px}.battle-screen .subgroups{padding:4px 0;gap:4px}.battle-screen .subgroups button{min-height:23px;padding:3px 6px;font-size:9px}.battle-screen .subgroup-hint{font-size:8px;max-width:66px}.battle-screen .unit-roster{margin-top:2px;max-height:30px;overflow-y:auto}.battle-screen .unit-roster button{width:27px;height:27px}.battle-screen .production-queues{max-height:118px;margin-top:3px}.battle-screen .selection-panel:has(.production-queues:not(:empty)) .single-selection{display:none}.battle-screen .producer-row,.battle-screen .producer-entry{padding:4px 6px}.battle-screen .orders-panel{padding:6px 10px;grid-column:auto;overflow-y:auto;scrollbar-width:thin}.battle-screen .orders-panel>.panel-topline{margin-bottom:4px}.battle-screen .command-grid,.battle-screen .command-grid.dense{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.battle-screen .command-button,.battle-screen .command-grid.dense .command-button{height:64px;padding:8px 3px 3px;gap:2px}.battle-screen .command-button>svg,.battle-screen .command-grid.dense .command-button>svg{width:19px;height:19px}.battle-screen .command-button>span,.battle-screen .command-grid.dense .command-button>span{font-size:9px;min-height:12px;max-width:100%;line-height:1.15}.battle-screen .command-button>small,.battle-screen .command-grid.dense .command-button>small{font-size:8px}.battle-screen .command-button>kbd{top:2px;right:2px;font-size:8px}.battle-screen .cooldown-label{top:15px}.battle-screen .strategy-tools{left:8px;bottom:calc(var(--hud-height) + var(--footer-height) + 5px);width:182px}.battle-screen #hero-shortcut{padding:5px 7px;gap:6px}.battle-screen #hero-shortcut>span{font-size:11px}.battle-screen #hero-shortcut small{display:none}.battle-screen #hero-shortcut>svg{width:16px}.battle-screen .control-groups{left:calc(var(--map-width) + 12px);bottom:calc(var(--hud-height) + var(--footer-height) + 5px);gap:4px}.battle-screen .group-slot{height:26px;min-width:36px;padding:3px}.battle-screen .camera-tools{bottom:calc(var(--hud-height) + var(--footer-height) + 5px);right:10px}.battle-screen .camera-tools button{width:28px;height:26px}.battle-screen .command-hint{bottom:calc(var(--hud-height) + var(--footer-height) + 39px);padding:8px 12px}.battle-screen .production-tracker{top:calc(var(--header-height) + 70px);right:12px;width:174px}.battle-screen .battle-footer{font-size:6px}}@media(min-width:1500px)and (min-height:850px){.battle-screen{--hud-height: 180px;--map-width: 214px}.battle-screen #minimap{height:132px}.battle-screen .battle-hud{grid-template-columns:var(--map-width) minmax(300px,1fr) 394px}.battle-screen .command-button,.battle-screen .command-grid.dense .command-button{height:70px}}@media(min-width:901px){.battle-screen .selection-panel:has(.production-queues>:only-child) .single-selection{display:flex}.battle-screen .selection-panel:has(.production-queues>:only-child) .production-queues{max-height:68px}}@media(min-width:901px){.battle-screen .worker-commands .command-grid,.battle-screen .worker-commands .command-grid.dense{grid-template-columns:repeat(6,minmax(0,1fr))}}.battle-screen .battle-shortcuts{position:absolute;left:calc(var(--map-width) + 12px);bottom:calc(var(--hud-height) + var(--footer-height) + 5px);display:flex;align-items:end;gap:12px;z-index:6}.battle-screen .battle-shortcuts:not(:has(.auxiliary-button)){display:contents}.battle-screen:has(.auxiliary-button) .battle-shortcuts .control-groups{position:static}.battle-screen:has(.auxiliary-button) .command-hint{bottom:calc(var(--hud-height) + var(--footer-height) + 59px)}@media(max-width:900px){.battle-screen .battle-shortcuts{left:230px;bottom:calc(var(--hud-height) + var(--footer-height) + 13px)}.battle-screen .auxiliary-controls{position:fixed;left:12px;bottom:calc(var(--hud-height) + var(--footer-height) + 85px)}.battle-screen:has(.auxiliary-button) .command-hint{left:auto;right:12px;max-width:calc(100vw - 180px);white-space:normal;transform:none}}@media(max-width:650px){.battle-screen .battle-shortcuts{left:12px;bottom:calc(var(--hud-height) + var(--footer-height) + 9px)}.battle-screen:has(.auxiliary-button) .strategy-tools{bottom:calc(var(--hud-height) + var(--footer-height) + 44px)}.battle-screen .auxiliary-controls{bottom:calc(var(--hud-height) + var(--footer-height) + 116px)}}@media(min-width:901px){.battle-screen:has(.command-hint.visible) .battle-shortcuts{--auxiliary-detail-gap: 50px}}.transmission-container{position:absolute;top:calc(var(--header-height) + 10px);left:50%;z-index:9;width:480px;max-width:calc(100% - 32px);transform:translate(-50%)}.transmission-panel{display:flex;gap:14px;padding:14px;background:#101815ed;border:1px solid rgb(198 166 109 / 35%);border-radius:2px}.transmission-panel>img{flex:none;width:72px;height:72px;object-fit:cover;border:1px solid rgb(198 166 109 / 50%);border-radius:2px}.transmission-content{display:flex;flex:1;flex-direction:column;gap:6px;min-width:0}.transmission-heading,.transmission-log-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.transmission-heading>span,.transmission-log h2{color:#ece8d8;font-family:var(--serif);font-size:15px;font-weight:600}.transmission-heading button,.transmission-log button{display:flex;align-items:center;justify-content:center;height:28px;padding:0 10px;border:1px solid rgb(198 166 109 / 35%);border-radius:2px;color:#ece8d8;font-size:13px}.transmission-heading button{gap:8px}.transmission-heading button:hover,.transmission-log button:hover,.transmission-log-toggle:hover{background:#c6a66d1a}.transmission-heading kbd{min-height:0;padding:0;border:0;background:transparent;color:#a3ac9f;font-family:DM Sans Variable,sans-serif;font-size:11px}.transmission-panel p{margin:0;color:#ece8d8;font-size:15px;line-height:1.45;text-wrap:pretty}.transmission-progress{height:2px;overflow:hidden;background:#c6a66d2e}.transmission-progress>i{display:block;height:2px;background:#c6a66d}.transmission-log{position:absolute;top:calc(var(--header-height) + 4px);right:16px;z-index:11;display:flex;flex-direction:column;gap:12px;width:400px;max-width:calc(100% - 32px);max-height:calc(100% - var(--header-height) - 20px);padding:16px;overflow-y:auto;background:#101815f2;border:1px solid rgb(198 166 109 / 35%);border-radius:2px}.transmission-log h2{margin:0;font-size:17px}.transmission-log button{width:28px;flex:none;padding:0;font-size:20px;font-weight:400;line-height:1}.transmission-log ol{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none}.transmission-log li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px;color:#ece8d8;font-size:14px;line-height:1.45}.transmission-log li>span:first-child,.transmission-log>p{color:#a3ac9f;font-variant-numeric:tabular-nums}.transmission-log strong{color:#e4c895;font-weight:600}.transmission-log>p{margin:0;font-size:13px;line-height:1.45}.transmission-log-toggle{display:inline-flex;align-items:center;justify-content:center;width:28px;height:26px;padding:0;border:1px solid rgb(198 166 109 / 35%);border-radius:2px;color:#c6a66d}@media(max-width:800px){.transmission-container{top:calc(var(--header-height) + 8px)}.transmission-panel{gap:10px;padding:10px}.transmission-panel>img{width:56px;height:56px}.transmission-heading>span,.transmission-panel p{font-size:13px}.transmission-log{right:16px}}.cinematic-layer{position:absolute;inset:0;z-index:40;pointer-events:none}.cinematic-overlay{position:absolute;inset:0;overflow:hidden;pointer-events:auto}.cinematic-storyboard{background:#080d0b}.cinematic-stills,.cinematic-still,.cinematic-still>img{position:absolute;inset:0;width:100%;height:100%}.cinematic-still{z-index:0;margin:0;overflow:hidden;opacity:0;transition:opacity .6s ease}.cinematic-still.is-active{z-index:2;opacity:1}.cinematic-still.is-leaving{z-index:1}.cinematic-still.is-active>img,.cinematic-still.is-leaving>img{animation:cinematic-framing var(--cinematic-seconds) linear both}.cinematic-still>img{object-fit:cover;will-change:transform,transform-origin}@keyframes cinematic-framing{0%{transform:scale(var(--cinematic-from-scale));transform-origin:var(--cinematic-from-x) var(--cinematic-from-y)}to{transform:scale(var(--cinematic-to-scale));transform-origin:var(--cinematic-to-x) var(--cinematic-to-y)}}.cinematic-still:after{position:absolute;inset:0;content:"";background:linear-gradient(180deg,#0408061a 45%,#040806e0)}.cinematic-still figcaption{position:absolute;right:clamp(24px,9vw,150px);bottom:clamp(48px,9vh,110px);left:clamp(24px,9vw,150px);z-index:1;display:flex;justify-content:center}.cinematic-still figcaption p{max-width:920px;color:#f1ead9;font-family:DM Sans Variable,sans-serif;font-size:clamp(18px,1.75vw,26px);line-height:1.55;text-align:center;text-shadow:0 2px 18px #000;text-wrap:balance}[data-cinematic=skip]{position:absolute;top:clamp(18px,3vh,34px);right:clamp(18px,3vw,42px);z-index:4;display:inline-flex;align-items:center;gap:10px;min-height:38px;padding:0 14px;background:#0a110ec7;border:1px solid rgb(214 188 135 / 52%);border-radius:2px;color:#f1ead9;font-size:14px;font-weight:600;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}[data-cinematic=skip]:hover{background:#282e23e5;border-color:#d6bc87}[data-cinematic=skip] kbd{padding:1px 5px;background:#e7d9b91f;border:1px solid rgb(231 217 185 / 28%);border-radius:2px;color:#d8c9a9;font-family:DM Sans Variable,sans-serif;font-size:10px;font-weight:500}.cinematic-reveal{background:#0408060d}.cinematic-letterbox{position:absolute;right:0;left:0;height:clamp(70px,12vh,132px);background:#050806;box-shadow:0 0 34px #000000a6}.cinematic-letterbox-top{top:0}.cinematic-letterbox-bottom{bottom:0}.battle-screen.cinematic-playing>:not(#battlefield):not(.cinematic-layer){opacity:0;pointer-events:none}@media(prefers-reduced-motion:reduce){.cinematic-still{transition:none}.cinematic-still.is-active>img,.cinematic-still.is-leaving>img{animation:none;transform:scale(var(--cinematic-from-scale));transform-origin:var(--cinematic-from-x) var(--cinematic-from-y)}}
