/* ATLAS-INK-1 — the WAR ATLAS visual system.
   A wartime cartographer's command table: ink-blue night panels framed like
   map sheets (brass crop marks), cream paper type, brass for everything the
   finger can press, and national colour as identity. Loaded last; it owns the
   look, never layout-critical hit areas or input rules.
   Touch first: every control ≥ 44 px, nothing depends on hover. */

:root{
 /* ink: surfaces, darkest → raised */
 --ink-0:#0a0b09; --ink-1:#121311; --ink-2:#1b1b19; --ink-3:#242522; --ink-4:#2f302d30;
 --line:#333431; --line-hi:#484845;
 /* brass: interactive chrome */
 --brass:#b4a67d; --brass-hi:#ddd0a6; --brass-lo:#6f6548; --brass-glow:#b4a67d40;
 /* paper: type */
 --paper:#d4cfbf; --paper-2:#bab198; --paper-3:#83827b;
 /* signals */
 --go:#6fb37a; --go-ink:#1a1a18; --stop:#d4573f; --warn:#beb087; --info:#79acd6;
 --friend:#5f9fd9; --foe:#d4573f; --neutral:#a69e85;
 /* bars */
 --bar-org:#7fbf5f; --bar-str:#e0c36a; --bar-bg:#00000066;
 /* type */
 --font-ui:-apple-system,"PingFang SC","Hiragino Sans GB","Noto Sans CJK SC","WenQuanYi Zen Hei","Microsoft YaHei",system-ui,sans-serif;
 --font-title:"Songti SC","STSong","Noto Serif CJK SC","Source Han Serif SC","Songti TC",Georgia,serif;
 --font-num:"DIN Alternate","DIN Condensed","Bahnschrift","Roboto Condensed","Arial Narrow",-apple-system,sans-serif;
 /* frame */
 --panel-bg:linear-gradient(180deg,#1d1d1bf5,#111210f7 60%,#0e0e0cf8);
 --panel-edge:0 0 0 1px #000000aa,inset 0 0 0 1px #48484566,inset 0 1px 0 #ede8d90d,0 12px 34px #00000099;
 --crop:linear-gradient(var(--brass),var(--brass)) top left/14px 1.5px no-repeat,
        linear-gradient(var(--brass),var(--brass)) top left/1.5px 14px no-repeat,
        linear-gradient(var(--brass),var(--brass)) top right/14px 1.5px no-repeat,
        linear-gradient(var(--brass),var(--brass)) top right/1.5px 14px no-repeat,
        linear-gradient(var(--brass),var(--brass)) bottom left/14px 1.5px no-repeat,
        linear-gradient(var(--brass),var(--brass)) bottom left/1.5px 14px no-repeat,
        linear-gradient(var(--brass),var(--brass)) bottom right/14px 1.5px no-repeat,
        linear-gradient(var(--brass),var(--brass)) bottom right/1.5px 14px no-repeat;
 --r:3px; --tap:44px;
 --ease:cubic-bezier(.2,.8,.2,1);
}

/* ───────────── base type & controls (inside the game UI) ───────────── */
html body .command-ui.hoi-ui{font-family:var(--font-ui);color:var(--paper);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}
html body .command-ui.hoi-ui .hoi-icon{color:inherit}
html body.playable-integrated .command-ui.hoi-ui :focus-visible{outline:2px solid var(--brass-hi);outline-offset:2px}
html body.playable-integrated .command-ui.hoi-ui button,html body.playable-integrated .command-ui.hoi-ui select,html body.playable-integrated .command-ui.hoi-ui input{
 font-family:var(--font-ui);border-radius:var(--r);border:1px solid var(--line-hi);background:linear-gradient(180deg,#282826,#1d1d1b);color:var(--paper);
 box-shadow:inset 0 1px #ede8d912,0 1px 0 #00000088;text-shadow:none;transition:background-color .12s,border-color .12s,transform .08s}
html body.playable-integrated .command-ui.hoi-ui button:active:not(:disabled){transform:translateY(1px);background:#2f302c00}
html body.playable-integrated .command-ui.hoi-ui button[aria-pressed="true"],html body.playable-integrated .command-ui.hoi-ui button.active,html body.playable-integrated .command-ui.hoi-ui button[aria-checked="true"]{
 background:linear-gradient(180deg,#2e2e2c,#20201f);border-color:var(--brass);color:var(--brass-hi);box-shadow:inset 0 -2px 0 var(--brass),0 0 0 1px #00000088}
html body.playable-integrated .command-ui.hoi-ui button:disabled{opacity:.45;filter:saturate(.4)}
html body.playable-integrated .command-ui.hoi-ui input,html body.playable-integrated .command-ui.hoi-ui select{background:var(--ink-0);box-shadow:inset 0 1px 3px #000000aa}
html body.playable-integrated .command-ui.hoi-ui small,html body.playable-integrated .command-ui.hoi-ui .muted{color:var(--paper-2)}
html body.playable-integrated .command-ui.hoi-ui summary{color:var(--paper);min-height:var(--tap);display:flex;align-items:center;gap:6px}
html body.playable-integrated .command-ui.hoi-ui th{background:var(--ink-0);color:var(--brass);font-weight:600;letter-spacing:.06em}
html body.playable-integrated .command-ui.hoi-ui td{border-bottom:1px solid var(--line)}

/* ───────────── top bar: emblem · resources · systems · clock ───────────── */
html body.playable-integrated .command-ui.hoi-ui .hoi-top{
 position:absolute;inset:0 0 auto;height:78px;padding:0;display:grid;pointer-events:auto;
 grid-template-columns:212px minmax(0,1fr) auto auto 372px;grid-template-rows:36px 42px;
 grid-template-areas:"country res evt alert time" "country nav nav help time";
 background:linear-gradient(180deg,#1b1b19 0%,#121311 100%);border:0;border-bottom:1px solid var(--brass-lo);
 box-shadow:0 1px 0 #000000,0 6px 18px #00000088}
html body.playable-integrated .command-ui.hoi-ui .hoi-top>*{position:relative;inset:auto;left:auto;top:auto;right:auto}
html body.playable-integrated .command-ui.hoi-ui .hoi-country{grid-area:country;width:auto;min-width:0;height:auto;margin:0;padding:6px 14px 6px 10px;display:flex;align-items:center;gap:10px;
 background:linear-gradient(90deg,#242522,#161714)!important;border:0!important;border-right:1px solid var(--line)!important;border-radius:0;box-shadow:inset -1px 0 0 #000000!important;text-align:left}
html body.playable-integrated .command-ui.hoi-ui .hoi-country .hoi-emblem{flex:none;filter:drop-shadow(0 2px 3px #000000aa)}
html body.playable-integrated .command-ui.hoi-ui .hoi-country b{font:700 22px/1.1 var(--font-title);letter-spacing:.12em;color:var(--paper)}
html body.playable-integrated .command-ui.hoi-ui .hoi-country small{display:block;margin-top:3px;font-size:11px;letter-spacing:.14em;color:var(--brass)}
html body.playable-integrated .command-ui.hoi-ui .hoi-national{grid-area:res;height:36px;display:flex;gap:0;align-items:stretch;background:none;border:0;border-bottom:1px solid var(--line);box-shadow:none;overflow:hidden}
html body.playable-integrated .command-ui.hoi-ui .hoi-national button{height:35px;min-height:0;min-width:0;padding:0 14px;display:flex;align-items:center;gap:7px;background:none!important;border:0!important;border-right:1px solid var(--line)!important;border-radius:0;box-shadow:none!important;color:var(--paper-2);font-size:11px}
html body.playable-integrated .command-ui.hoi-ui .hoi-national .hoi-icon{width:20px;height:20px;color:var(--brass)}
html body.playable-integrated .command-ui.hoi-ui .hoi-national button b{font:600 19px/1 var(--font-num);color:var(--paper);letter-spacing:.01em;margin:0}
html body.playable-integrated .command-ui.hoi-ui .hoi-management{grid-area:nav;display:flex;gap:2px;padding:3px 6px 3px 6px;align-items:stretch;overflow-x:auto;scrollbar-width:none}
html body.playable-integrated .command-ui.hoi-ui .hoi-management>button{height:38px!important;min-width:50px;padding:1px 4px 0!important;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1px;
 background:none;border:1px solid transparent;border-radius:var(--r);box-shadow:none;color:var(--paper-2);font-size:13px!important}
html body.playable-integrated .command-ui.hoi-ui .hoi-management>button .hoi-icon{width:21px;height:21px;color:var(--brass)}
html body.playable-integrated .command-ui.hoi-ui .hoi-management>button span{display:block;font-size:11px;line-height:12px;letter-spacing:.08em;color:inherit}
html body.playable-integrated .command-ui.hoi-ui .hoi-management>button[aria-pressed="true"],html body.playable-integrated .command-ui.hoi-ui .hoi-management>button.active{
 background:linear-gradient(180deg,#252523,#1a1a19);border-color:var(--brass-lo);color:var(--brass-hi);box-shadow:inset 0 -2px 0 var(--brass)}
html body.playable-integrated .command-ui.hoi-ui .hoi-top>.icon-guide{grid-area:help;align-self:center;position:relative;left:auto;top:auto}
html body.playable-integrated .command-ui.hoi-ui .hoi-top>.icon-guide>summary{min-height:36px;min-width:40px;justify-content:center;color:var(--paper-3)}
html body.playable-integrated .command-ui.hoi-ui .hoi-top>.hoi-events{grid-area:evt;align-self:stretch;position:relative;height:35px;min-height:0;min-width:48px;margin:0;border:0;border-left:1px solid var(--line);border-radius:0;color:var(--brass);background:none;box-shadow:none}
html body.playable-integrated .command-ui.hoi-ui .hoi-top>.hoi-alert{grid-area:alert;align-self:stretch;position:relative;left:auto;top:auto;height:35px;min-height:0;padding:0 12px;margin:0;border:0;border-left:1px solid var(--line);border-radius:0;background:none;box-shadow:none;font-size:12px!important;color:var(--paper-2);white-space:nowrap}
/* clock */
html body.playable-integrated .command-ui.hoi-ui .hoi-time{grid-area:time;position:relative;right:auto;top:auto;width:auto;min-height:0;height:78px;margin:0;padding:6px 10px 6px 8px;
 display:grid;grid-template-columns:58px auto 1fr auto;grid-template-rows:24px 14px 28px;gap:2px 8px;align-items:center;
 grid-template-areas:"play date date save" "play status status save" "play speeds slow save";
 background:linear-gradient(180deg,#222320,#141512)!important;border:0;border-left:1px solid var(--line);border-radius:0;box-shadow:inset 1px 0 0 #000000!important}
html body.playable-integrated .command-ui.hoi-ui .hoi-time>strong{grid-area:date;font:700 20px/1 var(--font-title);letter-spacing:.04em;color:var(--paper);white-space:nowrap}
html body.playable-integrated .command-ui.hoi-ui .hoi-time>span[role=status]{grid-area:status;justify-self:start;font-size:11px;line-height:14px;letter-spacing:.12em;color:var(--brass)}
html body.playable-integrated .command-ui.hoi-ui #campaign-toggle{grid-area:play;width:58px;height:58px;min-height:0;padding:0;border-radius:50%;display:grid;place-items:center;
 background:radial-gradient(circle at 50% 35%,#d3c59b,#9b8e66 70%,#6f6548);border:2px solid #ccc6b7;color:#131312;box-shadow:0 0 0 2px #00000099,0 3px 10px #000000aa,inset 0 2px 0 #ede8d966}
html body.playable-integrated .command-ui.hoi-ui #campaign-toggle .hoi-icon{width:26px;height:26px}
html body.playable-integrated .command-ui.hoi-ui #campaign-toggle .i-body{opacity:.9}
html body.playable-integrated .command-ui.hoi-ui .hoi-time .time-speeds{grid-area:speeds;display:flex;gap:3px}
html body.playable-integrated .command-ui.hoi-ui .hoi-time .time-speeds button{width:29px;min-width:29px;height:28px;min-height:0;padding:0;font:600 15px/1 var(--font-num);border-radius:2px;
 background:var(--ink-0);border:1px solid var(--line);color:var(--paper-3);box-shadow:none}
html body.playable-integrated .command-ui.hoi-ui .hoi-time .time-speeds button[aria-pressed="true"]{background:var(--brass);border-color:var(--brass-hi);color:#10110f;box-shadow:0 0 10px var(--brass-glow)}
html body.playable-integrated .command-ui.hoi-ui .hoi-time .time-autoslow{grid-area:slow;justify-self:start;height:28px;min-height:0;padding:0 8px;font-size:11px;border-radius:2px}
html body.playable-integrated .command-ui.hoi-ui .hoi-time .time-measured{display:none}
html body.playable-integrated .command-ui.hoi-ui #campaign-save{grid-area:save;width:44px;height:58px;min-height:0;padding:0;display:grid;place-items:center;color:var(--brass)}
html body.playable-integrated .command-ui.hoi-ui .hoi-time .release-save{grid-area:status;justify-self:end;position:static;font-size:10.5px;line-height:14px;color:var(--paper-3);pointer-events:none;white-space:nowrap;overflow:hidden;max-width:150px}
@media (max-width:1150px){
 html body.playable-integrated .command-ui.hoi-ui .hoi-top{grid-template-columns:168px minmax(0,1fr) auto auto 316px}
 html body.playable-integrated .command-ui.hoi-ui .hoi-country b{font-size:18px;letter-spacing:.06em}
 html body.playable-integrated .command-ui.hoi-ui .hoi-country small{display:none}
 html body.playable-integrated .command-ui.hoi-ui .hoi-management>button{min-width:44px}
 html body.playable-integrated .command-ui.hoi-ui .hoi-national button{padding:0 9px}
 html body.playable-integrated .command-ui.hoi-ui .hoi-time>strong{font-size:17px}
}
@media (max-width:900px){
 html body.playable-integrated .command-ui.hoi-ui .hoi-management>button span{display:none}
 html body.playable-integrated .command-ui.hoi-ui .hoi-top{grid-template-columns:64px minmax(0,1fr) auto auto 300px}
 html body.playable-integrated .command-ui.hoi-ui .hoi-country>span:last-child{display:none}
}

/* ───────────── map: sea, names, places, grid ───────────── */
html body.has-hoi-ui #map-wrap{background:radial-gradient(ellipse at 50% 40%,#16303a 0%,#0c1a21 70%,#081217 100%)}
#eastfront-map .national-name{fill:#f3e9cf;stroke:#0b1216;stroke-opacity:.85;font-family:var(--font-title);font-weight:700;opacity:.82}
#eastfront-map[data-political-map="yes"] #province-map{opacity:.55}
#eastfront-map [data-place-kind] text,#industry-logistics text{font-family:var(--font-ui)}
/* touch focus on map items is shown by the selection art, not a browser ring */
#eastfront-map [role=button]:focus{outline:none}

/* ───────────── touch HUD: retheme the TOUCH-COMMAND-1 variables ───────────── */
html:root{--tc-bg:#141512;--tc-bg2:#222320;--tc-line:#484845;--tc-ink:var(--paper);--tc-dim:var(--paper-2);--tc-gold:var(--brass-hi);--tc-ok:var(--go);--tc-warn:var(--warn);--tc-bad:#ef8a73}
html body.playable-integrated .command-ui.hoi-ui :is(.tc-panel,.tc-tray,.tc-commands,.tc-pop,.tc-sheet,.tc-inspect,.tc-banner,.tc-toast){
 background:var(--crop),var(--panel-bg);border:1px solid #48484599;border-radius:4px;box-shadow:var(--panel-edge)}
html body.playable-integrated .command-ui.hoi-ui .touch-hud button{border-radius:3px}
html body.playable-integrated .command-ui.hoi-ui .touch-hud :is(.tc-pop,.tc-sheet,.tc-inspect) header{border-bottom:1px solid var(--line);background:linear-gradient(180deg,#262724,#1b1b19)}
html body.playable-integrated .command-ui.hoi-ui .touch-hud :is(.tc-pop,.tc-sheet,.tc-inspect) header b{font-family:var(--font-title);letter-spacing:.06em;font-size:17px}
/* selection tray: unit chips */
html body.playable-integrated .command-ui.hoi-ui .tc-tray header b{font-family:var(--font-title);letter-spacing:.05em}
html body.playable-integrated .command-ui.hoi-ui .tc-chip{background:linear-gradient(180deg,#272725,#1b1b19);border:1px solid var(--line-hi);border-radius:3px;box-shadow:inset 3px 0 0 var(--brass-lo)}
html body.playable-integrated .command-ui.hoi-ui .tc-chip>button:first-child{background:none;border:0;box-shadow:none}
html body.playable-integrated .command-ui.hoi-ui .tc-chip .tc-sym{background:#d7d1c2;color:#151514;border:1px solid #070706;border-radius:2px}
html body.playable-integrated .command-ui.hoi-ui .tc-chip b{font-family:var(--font-num);font-size:17px;letter-spacing:.02em}
html body.playable-integrated .command-ui.hoi-ui .tc-bars i{background:#00000099;border-radius:1px}
html body.playable-integrated .command-ui.hoi-ui .tc-bars i::after{background:var(--bar-org)}
html body.playable-integrated .command-ui.hoi-ui .tc-bars i.men::after{background:var(--bar-str)}
html body.playable-integrated .command-ui.hoi-ui .tc-tool[aria-pressed="true"]{background:linear-gradient(180deg,#2e2e2c,#20201f);border-color:var(--brass);color:var(--brass-hi)}
/* order column + plan bar: big square command tiles */
html body.playable-integrated .command-ui.hoi-ui .tc-commands{padding:6px;gap:6px}
html body.playable-integrated .command-ui.hoi-ui .tc-commands button{background:linear-gradient(180deg,#282825,#1c1c1a);border:1px solid var(--line-hi);color:var(--paper);font-size:12.5px;letter-spacing:.06em}
html body.playable-integrated .command-ui.hoi-ui .tc-commands button svg{color:var(--brass)}
html body.playable-integrated .command-ui.hoi-ui .tc-commands button[aria-pressed="true"]{background:linear-gradient(180deg,#2f2f2d,#1f1f1d);border-color:var(--brass-hi);color:var(--brass-hi);box-shadow:inset 0 0 0 1px #00000088,0 0 12px var(--brass-glow)}
html body.playable-integrated .command-ui.hoi-ui .tc-commands button[data-kind="ATTACK"] svg{color:#ef7d66}
html body.playable-integrated .command-ui.hoi-ui .tc-planbar header{font-family:var(--font-title)}
html body.playable-integrated .command-ui.hoi-ui .tc-planbar .tc-go:not([data-blocked="1"]){background:linear-gradient(180deg,#3f7d4a,#3d3d3a);border-color:#8fd29a;color:#e8e2d2}
html body.playable-integrated .command-ui.hoi-ui .tc-planbar .tc-go:not([data-blocked="1"]) svg{color:#f0ffe9}
html body.playable-integrated .command-ui.hoi-ui .tc-planbar .tc-stop{background:linear-gradient(180deg,#8b3427,#5a1e16);border-color:#ef8a73;color:#e2ddcf}
html body.playable-integrated .command-ui.hoi-ui .tc-planbar .tc-stop svg{color:#fff0ea}
/* order banner + toasts */
html body.playable-integrated .command-ui.hoi-ui .tc-banner{border-color:var(--brass-lo)}
html body.playable-integrated .command-ui.hoi-ui .tc-banner b{font-family:var(--font-title);color:var(--brass-hi)}
html body.playable-integrated .command-ui.hoi-ui .tc-toast{border-left:4px solid var(--info);background:linear-gradient(90deg,#1e1e1cf8,#131412f5)}
html body.playable-integrated .command-ui.hoi-ui .tc-toast[data-tone="ok"]{border-left-color:var(--go)}
html body.playable-integrated .command-ui.hoi-ui .tc-toast[data-tone="warn"]{border-left-color:var(--warn)}
html body.playable-integrated .command-ui.hoi-ui .tc-toast[data-tone="error"]{border-left-color:var(--stop)}
html body.playable-integrated .command-ui.hoi-ui .tc-toast button{background:var(--ink-0);border-color:var(--brass-lo);color:var(--brass-hi)}
html body.playable-integrated .command-ui.hoi-ui .tc-opt{background:linear-gradient(180deg,#272725,#1b1b19);border-color:var(--line-hi)}
html body.playable-integrated .command-ui.hoi-ui .tc-opt b{font-family:var(--font-title);letter-spacing:.04em}
html body.playable-integrated .command-ui.hoi-ui .tc-opt[data-kind="ATTACK"]:not(:disabled){border-color:#c85a46;background:linear-gradient(180deg,#43211b,#2a1511)}
html body.playable-integrated .command-ui.hoi-ui .tc-primary{background:linear-gradient(180deg,#ccbf95,#968961)!important;border-color:#cec9ba!important;color:#10100e!important;font-weight:700}
html body.playable-integrated .command-ui.hoi-ui .tc-card{background:linear-gradient(180deg,#272725,#1b1b19);border-color:var(--line-hi)}

/* ───────────── army bar (bottom right) ───────────── */
html body.playable-integrated .command-ui.hoi-ui .hoi-commanders{background:var(--crop),var(--panel-bg)!important;border:1px solid #48484599!important;border-radius:4px;box-shadow:var(--panel-edge)!important}
html body.playable-integrated .command-ui.hoi-ui .hoi-commanders>button{color:var(--brass-hi)}
html body.playable-integrated .command-ui.hoi-ui .ui-corps-card{background:linear-gradient(180deg,#272725,#1b1b19)!important;border:1px solid var(--line-hi)!important;border-left:4px solid var(--corps,var(--brass))!important;border-radius:3px}
html body.playable-integrated .command-ui.hoi-ui .ui-corps-card b{font-family:var(--font-title);letter-spacing:.04em;color:var(--paper)}
html body.playable-integrated .command-ui.hoi-ui .ui-corps-card[data-army-selected="true"]{border-color:var(--brass-hi)!important;box-shadow:0 0 0 1px var(--brass),0 0 14px var(--brass-glow)}
html body.playable-integrated .command-ui.hoi-ui .ui-corps-card button{background:none;border:0;box-shadow:none}
html body.playable-integrated .command-ui.hoi-ui .hoi-map-modes{background:var(--panel-bg)!important;border:1px solid #48484599!important;border-radius:4px;box-shadow:var(--panel-edge)!important;padding:4px;gap:4px}
html body.playable-integrated .command-ui.hoi-ui .hoi-map-modes button{font-size:12px;color:var(--paper-2)}
html body.playable-integrated .command-ui.hoi-ui .hoi-map-modes button .hoi-icon{color:var(--brass)}

/* ───────────── zoom controls + joystick (outside the HUD tree) ───────────── */
html body.playable-integrated .zoom-controls{background:var(--panel-bg);border:1px solid #48484599;border-radius:4px;box-shadow:var(--panel-edge);padding:4px;gap:4px}
html body.playable-integrated .zoom-controls .map-control-button{background:linear-gradient(180deg,#282826,#1d1d1b);border:1px solid var(--line-hi);color:var(--paper);border-radius:3px;min-width:44px;min-height:40px;font-size:18px}
html body.playable-integrated .zoom-controls .fit-button{font-size:12px}
html body.playable-integrated #zoom-readout{font-family:var(--font-num);color:var(--brass);font-size:13px}
html body.playable-integrated #map-joystick{background:radial-gradient(circle,#13222acc 0 55%,#0c161ccc 56%);border:1.5px solid var(--brass-lo);box-shadow:0 0 0 1px #0009,0 6px 18px #0008;color:var(--brass)}
html body.playable-integrated #map-joystick .joystick-stick{background:radial-gradient(circle at 50% 35%,#3a5664,#1b2c35);border:2px solid var(--brass)}

/* ───────────── dossier windows (.ui-sidebar) ───────────── */
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar{background:var(--crop),linear-gradient(180deg,#171816f8,#0f0f0dfa)!important;border:1px solid #55534b!important;border-radius:4px;box-shadow:0 0 0 1px #000000cc,0 18px 48px #000000bb,inset 0 0 0 1px #ede8d908!important;color:var(--paper)}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar>header{position:relative;min-height:62px;padding:0 6px 0 8px;gap:10px;border:0;border-bottom:1px solid var(--brass-lo);border-radius:4px 4px 0 0;
 background:linear-gradient(90deg,#121311e6 0%,#121311f2 48%,#12131199 100%),url('/assets/playable/war-atlas/battlefield.jpg') 70% 62%/cover;box-shadow:inset 0 -1px 0 #000000}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"]>header{background-position:70% 60%,85% 70%}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="war"]>header,html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="events"]>header{background-position:70% 60%,20% 75%}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="city"]>header{background-position:70% 60%,95% 40%}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar>header .atlas-panel-title{gap:12px}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar>header .atlas-panel-title>.hoi-icon{width:40px;height:40px;padding:7px;box-sizing:border-box;border-radius:50%;color:var(--brass-hi);
 background:radial-gradient(circle at 50% 35%,#323330,#161714);border:1.5px solid var(--brass);box-shadow:0 0 0 2px #000000aa,0 3px 8px #000000aa}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar>header h2{font:700 21px/1.2 var(--font-title)!important;letter-spacing:.14em;color:var(--paper);text-shadow:0 2px 4px #000000;background:none;border:0;margin:0;padding:0}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar>header .ui-back{min-height:44px;padding:0 12px;border-radius:3px;border:1px solid var(--line-hi);background:#0f0f0dcc;color:var(--paper-2);font-size:14px}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar>header #ui-close{min-width:48px;min-height:48px;padding:0;font-size:26px;line-height:1;border-radius:3px;background:#0f0f0dcc;border:1px solid var(--line-hi);color:var(--paper)}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar .ui-content{padding:12px 14px calc(18px + var(--tc-safe-b,0px));background:none;scrollbar-width:thin;scrollbar-color:var(--line-hi) transparent}
/* content primitives */
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar .ui-content :is(h3,h4){font-family:var(--font-title);color:var(--brass-hi);letter-spacing:.08em;font-weight:700;margin:14px 0 8px;padding-bottom:5px;border-bottom:1px solid var(--line);background:none}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar .ui-content h3{font-size:16px}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar .ui-content h4{font-size:14px}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar .ui-content p{color:var(--paper-2);line-height:1.55}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar .ui-content details{background:#0e0e0cb3;border:1px solid var(--line);border-radius:3px;margin:8px 0;padding:0 10px}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar .ui-content details[open]{padding-bottom:10px;border-color:var(--line-hi)}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar .ui-content summary{list-style:none;font-weight:600;letter-spacing:.04em;color:var(--paper);min-height:44px}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar .ui-content summary::-webkit-details-marker{display:none}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar .ui-content summary::before{content:"";flex:none;width:7px;height:7px;margin-right:4px;border-right:2px solid var(--brass);border-bottom:2px solid var(--brass);transform:rotate(-45deg);transition:transform .15s var(--ease)}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar .ui-content details[open]>summary::before{transform:rotate(45deg) translate(-2px,-2px)}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar .ui-content :is(.button-row,.modern-tabs){display:flex;flex-wrap:wrap;gap:6px}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar .ui-content button{min-height:44px;padding:0 14px;font-size:14px}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar .ui-content .modern-tabs{padding:4px;background:var(--ink-0);border:1px solid var(--line);border-radius:4px;margin-bottom:10px}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar .ui-content .modern-tabs button{flex:1;background:none;border-color:transparent;box-shadow:none}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar .ui-content .modern-tabs button[aria-pressed="true"]{background:linear-gradient(180deg,#2e2e2c,#20201f);border-color:var(--brass)}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar .ui-content table{width:100%}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar .ui-content article{background:linear-gradient(180deg,#1d1d1b,#141512);border:1px solid var(--line);border-radius:3px}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar .ui-content progress{accent-color:var(--brass)}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar .ui-content b{color:var(--paper)}
/* portrait iPad (≤900 px): compact resources, narrower clock, icon-only nav */
@media (max-width:900px){
 html body.playable-integrated .command-ui.hoi-ui .hoi-top{grid-template-columns:60px minmax(0,1fr) auto auto 286px}
 html body.playable-integrated .command-ui.hoi-ui .hoi-top>.hoi-alert{font-size:0!important;padding:0 10px}
 html body.playable-integrated .command-ui.hoi-ui .hoi-top>.hoi-alert::first-letter{font-size:14px}
 html body.playable-integrated .command-ui.hoi-ui .hoi-national button{padding:0 7px;gap:4px;font-size:0}
 html body.playable-integrated .command-ui.hoi-ui .hoi-national button b{font-size:16px}
 html body.playable-integrated .command-ui.hoi-ui .hoi-national .hoi-icon{width:17px;height:17px}
 html body.playable-integrated .command-ui.hoi-ui .hoi-management>button{min-width:40px}
 html body.playable-integrated .command-ui.hoi-ui .hoi-time{grid-template-columns:50px auto 1fr 40px;padding:6px 6px;column-gap:6px}
 html body.playable-integrated .command-ui.hoi-ui #campaign-toggle{width:50px;height:50px}
 html body.playable-integrated .command-ui.hoi-ui .hoi-time .time-speeds button{width:25px;min-width:25px}
 html body.playable-integrated .command-ui.hoi-ui .hoi-time .time-autoslow{font-size:10px;padding:0 5px}
 html body.playable-integrated .command-ui.hoi-ui .hoi-time>strong{font-size:16px}
 html body.playable-integrated .command-ui.hoi-ui .hoi-time .release-save{display:none}
 html body.playable-integrated .command-ui.hoi-ui #campaign-save{width:40px}
}

/* NAVY-1: one retained, touch-first command room. No animation or backdrop blur. */
:is(#naval-window,.nav-production){--nav-gold:#ccc1a0;--nav-muted:#aaa8a3;--nav-line:#4f504e;--nav-blue:#9e9c94;position:fixed;z-index:74;inset:92px max(16px,calc((100vw - 1420px)/2)) 20px;display:flex;flex-direction:column;min-width:0;min-height:0;padding:0;overflow:hidden;background:#171815;color:#d3cec0;border:1px solid #968e76;box-shadow:0 0 0 4px #0e0e0d,0 20px 60px #00000099;font:14px/1.5 'Microsoft YaHei','Noto Sans SC',system-ui,sans-serif;pointer-events:auto;isolation:isolate}
:is(#naval-window,.nav-production) *{box-sizing:border-box}:is(#naval-window,.nav-production) h2,:is(#naval-window,.nav-production) h3,:is(#naval-window,.nav-production) h4,:is(#naval-window,.nav-production) p,:is(#naval-window,.nav-production) figure{margin:0}:is(#naval-window,.nav-production) button,:is(#naval-window,.nav-production) select,:is(#naval-window,.nav-production) input{font:inherit}:is(#naval-window,.nav-production) button{min-height:44px;padding:9px 14px;border:1px solid #595750;border-radius:0;background:linear-gradient(#2c2d2b,#1e1e1c);color:#d0cabb;cursor:pointer;touch-action:manipulation;display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1.4;box-shadow:inset 0 0 0 1px #11110f}:is(#naval-window,.nav-production) button:hover{background:#383937;border-color:#aaa289}:is(#naval-window,.nav-production) button:disabled{opacity:.48;cursor:not-allowed}:is(#naval-window,.nav-production) button:focus-visible,:is(#naval-window,.nav-production) select:focus-visible,:is(#naval-window,.nav-production) input:focus-visible{outline:2px solid #cbc5b5;outline-offset:2px}:is(#naval-window,.nav-production) .nav-primary{border-color:#a79f84;background:linear-gradient(#4a4a47,#353533);color:#e0daca}:is(#naval-window,.nav-production) .nav-primary:hover{background:#5b5952}:is(#naval-window,.nav-production) select,:is(#naval-window,.nav-production) input:not([type=checkbox]){min-width:0;width:100%;height:44px;padding:8px 10px;color:#d8d2c2;background:#161714;border:1px solid #585754;border-radius:0}:is(#naval-window,.nav-production) input[type=checkbox]{appearance:auto;width:22px;height:22px;min-height:22px;accent-color:#c0b490;flex:none;margin:0;cursor:pointer}:is(#naval-window,.nav-production) label{display:flex;flex-direction:column;gap:5px;color:#bebcb7;font-size:12px;min-width:0}:is(#naval-window,.nav-production) small{font-size:11px;color:var(--nav-muted)}:is(#naval-window,.nav-production) .nav-icon{width:23px;height:23px;flex:none;vertical-align:middle}:is(#naval-window,.nav-production) .nav-kicker{display:block;color:var(--nav-gold);font-size:11px;letter-spacing:2px;text-transform:uppercase}:is(#naval-window,.nav-production) .nav-muted{color:var(--nav-muted);font-size:12px;line-height:1.75}:is(#naval-window,.nav-production) .nav-warning{border-left:3px solid #c77e5c;color:#e9b49a;background:#4b302728;padding:8px 12px;font-size:12px;line-height:1.6}:is(#naval-window,.nav-production) .nav-window-header{display:flex;gap:14px;align-items:center;padding:12px 18px;background:linear-gradient(100deg,#2a2b29,#20201e 75%);border-bottom:1px solid #746c55;flex:none}:is(#naval-window,.nav-production) .nav-national-seal{width:46px;height:46px;flex:none}:is(#naval-window,.nav-production) .nav-window-header h2{font-family:Georgia,'Noto Serif SC',serif;font-size:25px;font-weight:500;letter-spacing:2px;color:#d2cdbd}:is(#naval-window,.nav-production) .nav-window-header>button{margin-left:auto;min-width:48px;min-height:48px;padding:4px;font:28px Georgia;color:#c1bbac}:is(#naval-window,.nav-production) .nav-account{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));flex:none;background:#1b1b19;border-bottom:1px solid #434342}:is(#naval-window,.nav-production) .nav-kpi{display:flex;align-items:center;gap:12px;padding:12px 20px;min-width:0;border-right:1px solid #40413f}:is(#naval-window,.nav-production) .nav-kpi:last-child{border-right:0}:is(#naval-window,.nav-production) .nav-kpi>.nav-icon{width:30px;height:30px;color:#b0afa9;opacity:.8}:is(#naval-window,.nav-production) .nav-kpi>div{display:flex;flex-direction:column;min-width:0}:is(#naval-window,.nav-production) .nav-kpi span{font-size:11px;color:#b3b2ab}:is(#naval-window,.nav-production) .nav-kpi b{color:#cac5b5;font-size:25px;font-weight:600;line-height:1.25;font-variant-numeric:tabular-nums}:is(#naval-window,.nav-production) .nav-kpi b em{font-size:15px;font-style:normal;color:#98968f}:is(#naval-window,.nav-production) .nav-kpi small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px}:is(#naval-window,.nav-production) .nav-kpi[data-tone=bad] b,:is(#naval-window,.nav-production) .nav-kpi[data-tone=bad]>.nav-icon{color:#e6a18b}:is(#naval-window,.nav-production) .nav-tabs{display:flex;flex:none;background:#141512;border-bottom:1px solid #575550;padding:0 18px;gap:4px}:is(#naval-window,.nav-production) .nav-tabs button{min-height:52px;border:0;border-bottom:3px solid transparent;box-shadow:none;background:transparent;padding:10px 24px;color:#aeada7}:is(#naval-window,.nav-production) .nav-tabs button[aria-pressed=true]{color:#cbc5b6;background:#292a27;border-bottom-color:#c3b794}:is(#naval-window,.nav-production) .nav-tabs .nav-icon{width:22px;height:22px}:is(#naval-window,.nav-production) .nav-main{flex:1;min-height:0;min-width:0;overflow:auto;overscroll-behavior:contain;touch-action:pan-y;scrollbar-color:#6a6963 #161714;scrollbar-width:thin}:is(#naval-window,.nav-production) .nav-window-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;flex:none;min-height:58px;padding:7px 16px;border-top:1px solid #53524f;background:#1d1d1b}:is(#naval-window,.nav-production) .nav-window-footer>span{color:#afaea9;font-size:11px}:is(#naval-window,.nav-production) .nav-window-footer>button{flex:none;min-height:42px}:is(#naval-window,.nav-production) .nav-empty{min-height:180px;padding:30px 22px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;color:#a09e97;background:radial-gradient(ellipse at center,#28292680,transparent 72%)}:is(#naval-window,.nav-production) .nav-empty>.nav-icon{width:48px;height:48px;color:#9f977e;stroke-width:1}:is(#naval-window,.nav-production) .nav-empty h3{font-size:17px;font-weight:500;color:#c2bcad}:is(#naval-window,.nav-production) .nav-empty p{font-size:12px;max-width:430px;line-height:1.8}:is(#naval-window,.nav-production) .nav-section{min-width:0;background:#1b1b19;border:1px solid #434342}:is(#naval-window,.nav-production) .nav-section>header{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:58px;padding:12px 16px;border-bottom:1px solid #474746;background:#232422}:is(#naval-window,.nav-production) .nav-section>header h3{font-size:17px;letter-spacing:1px;color:#c7c2b3;font-weight:500}:is(#naval-window,.nav-production) .nav-section>header>span{font-size:11px;color:#a19f98}:is(#naval-window,.nav-production) .nav-meter{display:block;height:5px;overflow:hidden;background:#111210;border:1px solid #434342}:is(#naval-window,.nav-production) .nav-meter i{display:block;height:100%;background:#a9a69e}:is(#naval-window,.nav-production) .nav-meter[data-tone=org] i{background:#c6ba96}:is(#naval-window,.nav-production) .nav-meter[data-tone=bad] i{background:#d4826f}:is(#naval-window,.nav-production) .nav-progress-label{display:flex;gap:10px;justify-content:space-between;align-items:baseline;margin:8px 0 5px;color:#aeaca5;font-size:11px}:is(#naval-window,.nav-production) .nav-progress-label b{color:#c9c4b4;font-variant-numeric:tabular-nums}:is(#naval-window,.nav-production) .nav-ship-art{display:block;width:100%;height:auto;max-height:100px;color:#bdb8aa;flex:none}
/* Overview: a restrained illustrated header, then actionable region cards. */
:is(#naval-window,.nav-production) .nav-overview{display:grid;gap:18px;padding:20px}:is(#naval-window,.nav-production) .nav-hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(240px,.75fr);border:1px solid #585855;background:linear-gradient(120deg,#292a27,#1c1c1a)}:is(#naval-window,.nav-production) .nav-hero-copy{padding:28px;align-self:center}:is(#naval-window,.nav-production) .nav-hero h3{font-family:Georgia,'Noto Serif SC',serif;font-size:30px;letter-spacing:2px;font-weight:500;color:#d0cabb;line-height:1.5;margin:10px 0}:is(#naval-window,.nav-production) .nav-hero p{font-size:13px;color:#b8b6b0;line-height:1.9;max-width:560px}:is(#naval-window,.nav-production) .nav-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:23px}:is(#naval-window,.nav-production) .nav-hero figure{position:relative;min-height:245px;overflow:hidden;border-left:1px solid #4f504e}:is(#naval-window,.nav-production) .nav-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;opacity:.82}:is(#naval-window,.nav-production) .nav-hero figure:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#161615e8,transparent 45%)}:is(#naval-window,.nav-production) .nav-hero figcaption{position:absolute;bottom:14px;left:17px;right:12px;z-index:1;font-size:10px;letter-spacing:2px;color:#c6c1b2}:is(#naval-window,.nav-production) .nav-finance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid #474745;background:#21211f}:is(#naval-window,.nav-production) .nav-finance>div{padding:14px 20px;border-right:1px solid #424241;display:flex;justify-content:space-between;gap:15px;align-items:baseline}:is(#naval-window,.nav-production) .nav-finance>div:last-of-type{border-right:0}:is(#naval-window,.nav-production) .nav-finance span{color:#aeaca4;font-size:12px}:is(#naval-window,.nav-production) .nav-finance b{font-size:21px;font-weight:500;color:#c1bcac;font-variant-numeric:tabular-nums}:is(#naval-window,.nav-production) .nav-finance>p{grid-column:1/-1}:is(#naval-window,.nav-production) .nav-region-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px}:is(#naval-window,.nav-production) .nav-region{padding:13px 14px;border:1px solid #4c4d4b;background:linear-gradient(120deg,#272825,#1f1f1d);min-width:0}:is(#naval-window,.nav-production) .nav-region[data-threat=true]{border-color:#706851}:is(#naval-window,.nav-production) .nav-region header{display:flex;gap:9px;align-items:baseline;justify-content:space-between}:is(#naval-window,.nav-production) .nav-region h4{font-size:14px;color:#c8c3b3;font-weight:500}:is(#naval-window,.nav-production) .nav-region header>span{font-size:10px;color:#9f9e99;white-space:nowrap}:is(#naval-window,.nav-production) .nav-region-reading{display:flex;align-items:baseline;justify-content:space-between;margin:10px 0 5px}:is(#naval-window,.nav-production) .nav-region-reading>span{font-size:11px;color:#a2a29f}:is(#naval-window,.nav-production) .nav-region-reading b{font-size:22px;color:#c7c2b2;font-variant-numeric:tabular-nums}:is(#naval-window,.nav-production) .nav-region-reading small{margin-left:3px;font-size:12px}:is(#naval-window,.nav-production) .nav-region-foot{display:flex;gap:5px;justify-content:space-between;flex-wrap:wrap;margin:10px 0 8px;font-size:10px;color:#a5a4a1}:is(#naval-window,.nav-production) .nav-region[data-threat=true] .nav-region-foot>span:last-child{color:#d5a48a}:is(#naval-window,.nav-production) .nav-region>button{width:100%;font-size:11px;min-height:44px;justify-content:space-between;background:#2a2b28}:is(#naval-window,.nav-production) .nav-region>button>.nav-icon{width:18px;height:18px}:is(#naval-window,.nav-production) .nav-log ol{list-style:none;padding:0 16px;margin:0}:is(#naval-window,.nav-production) .nav-log li{padding:10px 0;border-bottom:1px solid #383937;font-size:12px;color:#b7b6b2}:is(#naval-window,.nav-production) .nav-log li:before{content:'·';color:#bdb28f;margin-right:10px}
/* Fleet command: persistent fleet rail, operation controls, readable ship rows. */
:is(#naval-window,.nav-production) .nav-fleet-layout{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100%;align-items:start}:is(#naval-window,.nav-production) .nav-fleet-sidebar{background:#1c1d1a;border-right:1px solid #4a4a48;min-width:0;padding:12px;align-self:stretch}:is(#naval-window,.nav-production) .nav-fleet-sidebar>header{display:flex;justify-content:space-between;padding:5px 3px 15px;color:#c4bfb0}:is(#naval-window,.nav-production) .nav-fleet-sidebar>header h3{font-size:14px;letter-spacing:2px}:is(#naval-window,.nav-production) .nav-fleet-sidebar>header b{font-size:13px;color:#b6b4ac}:is(#naval-window,.nav-production) .nav-fleet-list{display:flex;flex-direction:column;gap:7px}:is(#naval-window,.nav-production) .nav-fleet-card{width:100%;padding:10px 9px;justify-content:flex-start;text-align:left;gap:8px;border-color:#474745;background:#252523;min-height:88px}:is(#naval-window,.nav-production) .nav-fleet-card[aria-pressed=true]{background:linear-gradient(100deg,#3c3c3b,#2e2e2c);border-color:#aba287;box-shadow:inset 3px 0 #c5b997}:is(#naval-window,.nav-production) .nav-fleet-seal{color:#adaca8;align-self:flex-start;padding-top:3px}:is(#naval-window,.nav-production) .nav-fleet-copy{display:flex;flex-direction:column;min-width:0;flex:1;gap:4px}:is(#naval-window,.nav-production) .nav-fleet-copy>b{font-size:13px;color:#cec9ba;overflow-wrap:anywhere}:is(#naval-window,.nav-production) .nav-fleet-copy>span{font-size:10px;color:#a4a3a0}:is(#naval-window,.nav-production) .nav-fleet-copy>em{font-size:10px;font-style:normal;color:#d39b83}:is(#naval-window,.nav-production) .nav-fleet-count{font-size:22px;line-height:1.25;font-weight:500;color:#c7c2b3;text-align:center}:is(#naval-window,.nav-production) .nav-fleet-count small{display:block;font-size:9px}:is(#naval-window,.nav-production) .nav-new-fleet{width:100%;margin-top:12px;font-size:12px;border-style:dashed;background:#20211e}:is(#naval-window,.nav-production) .nav-new-form{display:flex;flex-direction:column;gap:12px;padding:13px 4px 3px}:is(#naval-window,.nav-production) .nav-new-form p{font-size:11px;color:#adaca8}:is(#naval-window,.nav-production) .nav-fleet-main{min-width:0;padding:18px;display:flex;flex-direction:column;gap:16px}:is(#naval-window,.nav-production) .nav-fleet-heading{display:flex;align-items:center;gap:16px;padding:5px 0 15px;border-bottom:1px solid #4c4d4b}:is(#naval-window,.nav-production) .nav-fleet-heading-mark{display:flex;align-items:center;justify-content:center;width:60px;height:60px;border:1px solid #8f876f;border-radius:50%;color:#ccc2a3;flex:none;background:#292928}:is(#naval-window,.nav-production) .nav-fleet-heading-mark .nav-icon{width:34px;height:34px;stroke-width:1.1}:is(#naval-window,.nav-production) .nav-fleet-heading h3{font-size:24px;font-family:Georgia,'Noto Serif SC',serif;color:#cdc7b8;font-weight:500;margin:3px 0}:is(#naval-window,.nav-production) .nav-fleet-heading p{font-size:11px;color:#9f9e99}:is(#naval-window,.nav-production) .nav-fleet-heading>button{margin-left:auto;font-size:11px}:is(#naval-window,.nav-production) .nav-rename{display:flex;align-items:end;gap:10px;padding:12px;background:#2a2a27}:is(#naval-window,.nav-production) .nav-rename>label{flex:1}:is(#naval-window,.nav-production) .nav-orders{border:1px solid #4e4e4d;background:#232322}:is(#naval-window,.nav-production) .nav-orders>header{display:flex;gap:8px;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid #494947;background:#2b2b29}:is(#naval-window,.nav-production) .nav-orders h4{font-size:14px;font-weight:500;color:#c6c0b1}:is(#naval-window,.nav-production) .nav-orders>header>span{font-size:11px;color:#afaeaa}:is(#naval-window,.nav-production) .nav-order-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px 14px 8px}:is(#naval-window,.nav-production) .nav-orders>p{font-size:11px;color:#b1b0ab;padding:0 14px 12px;line-height:1.7}:is(#naval-window,.nav-production) .nav-orders>footer{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 14px;border-top:1px solid #3f3f3e}:is(#naval-window,.nav-production) .nav-orders>footer>span{margin-left:auto;font-size:10px;color:#aeada9}:is(#naval-window,.nav-production) .nav-orders>footer>button{font-size:12px}:is(#naval-window,.nav-production) .nav-orders>p.nav-warning{padding:9px 14px;color:#e9b49a}:is(#naval-window,.nav-production) .nav-ships{border:1px solid #464744;background:#1f1f1e}:is(#naval-window,.nav-production) .nav-ships>header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;background:#292a27;border-bottom:1px solid #484846}:is(#naval-window,.nav-production) .nav-ships h4{font-size:14px;font-weight:500;color:#c5c0b1}:is(#naval-window,.nav-production) .nav-ships h4>span{font-size:11px;margin-left:8px;color:#a9a8a3}:is(#naval-window,.nav-production) .nav-ships>header button{font-size:11px;padding:7px 10px}:is(#naval-window,.nav-production) .nav-ship-row{display:grid;grid-template-columns:100px minmax(120px,1.15fr) minmax(110px,1fr) minmax(100px,1fr) 64px;gap:14px;align-items:center;padding:11px 12px;border-bottom:1px solid #3b3c3a;min-height:76px}:is(#naval-window,.nav-production) .nav-ship-row:last-child{border-bottom:0}:is(#naval-window,.nav-production) .nav-ship-row[data-selected=true]{background:#3e3e3c3d}:is(#naval-window,.nav-production) .nav-ship-select{display:flex;flex-direction:row;align-items:center;gap:9px;min-height:44px;cursor:pointer}:is(#naval-window,.nav-production) .nav-ship-select>span{flex:1;min-width:0}:is(#naval-window,.nav-production) .nav-ship-select .nav-ship-art{width:66px;height:35px;opacity:.8}:is(#naval-window,.nav-production) .nav-ship-name{min-width:0}:is(#naval-window,.nav-production) .nav-ship-name>b{display:block;font-size:12px;font-weight:600;color:#cec8b9;overflow-wrap:anywhere}:is(#naval-window,.nav-production) .nav-ship-name>small{display:block;font-size:10px;line-height:1.6;margin-top:3px}:is(#naval-window,.nav-production) .nav-ship-gauge>span:first-child{display:flex;justify-content:space-between;gap:4px;color:#9b9a95;font-size:10px;margin-bottom:7px}:is(#naval-window,.nav-production) .nav-ship-gauge b{font-size:10px;font-weight:400;color:#c4beaf;font-variant-numeric:tabular-nums}:is(#naval-window,.nav-production) .nav-ship-state{font-size:10px;color:#a9a8a3;text-align:right}:is(#naval-window,.nav-production) .nav-show-more{width:100%;border:0;border-top:1px solid #484846;font-size:11px}:is(#naval-window,.nav-production) .nav-transfer{position:sticky;bottom:0;display:flex;gap:10px;align-items:end;flex-wrap:wrap;padding:12px;background:#2f302ef5;border:1px solid #89816a;box-shadow:0 -5px 18px #00000033}:is(#naval-window,.nav-production) .nav-transfer>b{color:#bdb8a8;font-size:12px;align-self:center}:is(#naval-window,.nav-production) .nav-transfer>label{flex:1;min-width:150px}:is(#naval-window,.nav-production) .nav-transfer>button{font-size:11px}
/* Shipbuilding: silhouettes and specifications at readable, bounded sizes. */
:is(#naval-window,.nav-production) .nav-shipbuilding{padding:20px;display:grid;gap:20px}:is(#naval-window,.nav-production) .nav-class-strip{display:grid;grid-template-columns:repeat(7,minmax(110px,1fr));gap:7px;padding:13px;overflow-x:auto;overscroll-behavior:contain;touch-action:pan-x}:is(#naval-window,.nav-production) .nav-class-option{display:flex;flex-direction:column;min-width:110px;padding:10px 8px;background:#222220;border-color:#4c4d4b;gap:5px}:is(#naval-window,.nav-production) .nav-class-option[aria-pressed=true]{border-color:#b1a788;background:#393937;box-shadow:inset 0 -3px #bdb18d}:is(#naval-window,.nav-production) .nav-class-option[data-available=false]{opacity:.65}:is(#naval-window,.nav-production) .nav-class-option .nav-ship-art{height:48px;width:100%;color:#bab9b5}:is(#naval-window,.nav-production) .nav-class-option>b{font-size:12px;font-weight:500}:is(#naval-window,.nav-production) .nav-class-option>small{font-size:9px;white-space:nowrap}:is(#naval-window,.nav-production) .nav-blueprint{display:grid;grid-template-columns:minmax(200px,.65fr) minmax(0,1.5fr);border-top:1px solid #484947}:is(#naval-window,.nav-production) .nav-blueprint-art{padding:30px 22px;display:flex;flex-direction:column;justify-content:center;align-items:center;background-color:#272725;background-image:linear-gradient(#9290880c 1px,transparent 1px),linear-gradient(90deg,#9290880c 1px,transparent 1px);background-size:20px 20px;border-right:1px solid #50504e}:is(#naval-window,.nav-production) .nav-blueprint-art>.nav-ship-art{color:#b8b7b2;width:100%;max-height:140px;max-width:340px}:is(#naval-window,.nav-production) .nav-blueprint-art>span{font-size:9px;letter-spacing:3px;color:#919089;margin-top:25px}:is(#naval-window,.nav-production) .nav-blueprint-art>h4{font-size:22px;font-family:Georgia,'Noto Serif SC',serif;color:#c9c4b4;letter-spacing:2px;font-weight:500;margin-top:6px}:is(#naval-window,.nav-production) .nav-blueprint-spec{padding:18px;min-width:0}:is(#naval-window,.nav-production) .nav-class-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;margin:0 0 16px}:is(#naval-window,.nav-production) .nav-class-stats>div{border-right:1px solid #464644;text-align:center}:is(#naval-window,.nav-production) .nav-class-stats>div:last-child{border-right:0}:is(#naval-window,.nav-production) .nav-class-stats dt{font-size:10px;color:#9f9e99}:is(#naval-window,.nav-production) .nav-class-stats dd{font-size:20px;margin:5px 0 0;color:#c3beaf;font-variant-numeric:tabular-nums}:is(#naval-window,.nav-production) .nav-build-cost{display:flex;gap:10px 20px;flex-wrap:wrap;padding:11px 0;border-top:1px solid #434342;border-bottom:1px solid #434342;font-size:11px;color:#a3a29d}:is(#naval-window,.nav-production) .nav-build-cost b{color:#c6c1b2;font-weight:500;margin:0 3px}:is(#naval-window,.nav-production) .nav-build-form{display:grid;grid-template-columns:minmax(120px,1fr) 80px auto;gap:12px;align-items:end;margin-top:16px}:is(#naval-window,.nav-production) .nav-build-form button{font-size:12px}:is(#naval-window,.nav-production) .nav-build-note{font-size:10px;color:#9c9b96;margin-top:12px}:is(#naval-window,.nav-production) .nav-blueprint-spec>.nav-warning{margin-top:10px}:is(#naval-window,.nav-production) .nav-queue>article{display:flex;gap:18px;align-items:center;padding:14px 18px;border-bottom:1px solid #424240}:is(#naval-window,.nav-production) .nav-queue-art{width:120px;flex:none;color:#b5b4af}:is(#naval-window,.nav-production) .nav-queue-progress{flex:1;min-width:0}:is(#naval-window,.nav-production) .nav-queue-progress h4{font-size:14px;color:#c7c2b3;font-weight:500}:is(#naval-window,.nav-production) .nav-queue-progress p{font-size:10px;color:#a6a5a0;margin-top:3px}:is(#naval-window,.nav-production) .nav-queue-progress>small{display:block;margin-top:7px;font-size:10px}:is(#naval-window,.nav-production) .nav-queue article>button{flex:none;display:flex;flex-direction:column;gap:1px;font-size:11px;min-width:103px;border-color:#5a5854}:is(#naval-window,.nav-production) .nav-queue article>button small{font-size:9px;color:#beb69c}:is(#naval-window,.nav-production) .nav-research>p{padding:14px 16px}:is(#naval-window,.nav-production) .nav-research-current{display:flex;align-items:center;gap:20px;padding:16px;background:#3637346b;border-bottom:1px solid #56544d}:is(#naval-window,.nav-production) .nav-research-current>div{flex:1;min-width:0}:is(#naval-window,.nav-production) .nav-research-current h4{font-size:16px;font-weight:500;color:#c6c1b2;margin-top:4px}:is(#naval-window,.nav-production) .nav-research-current>button{font-size:11px}:is(#naval-window,.nav-production) .nav-tech-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px}:is(#naval-window,.nav-production) .nav-tech{display:flex;gap:14px;align-items:start;padding:14px;border:1px solid #4a4b49;background:#232322;min-width:0}:is(#naval-window,.nav-production) .nav-tech[data-complete=true]{border-color:#59574f;background:#2c2c2b}:is(#naval-window,.nav-production) .nav-tech-year{font-size:11px;writing-mode:vertical-rl;letter-spacing:2px;color:#bcb39a;border-right:1px solid #696762;padding-right:8px;flex:none;min-height:62px}:is(#naval-window,.nav-production) .nav-tech>div{flex:1;min-width:0}:is(#naval-window,.nav-production) .nav-tech h4{font-size:13px;font-weight:500;color:#c6c1b2}:is(#naval-window,.nav-production) .nav-tech ul{padding:0;margin:7px 0 8px;list-style:none;display:flex;flex-direction:column;gap:3px;color:#b2b1ab;font-size:10px}:is(#naval-window,.nav-production) .nav-tech li>b{color:#bdb8a8;font-weight:500}:is(#naval-window,.nav-production) .nav-tech small{font-size:10px;display:block;line-height:1.6}:is(#naval-window,.nav-production) .nav-tech>button{font-size:10px;padding:8px 10px;min-width:77px;align-self:center}
/* Reports intentionally show confirmed results, without fabricated enemy stats. */
:is(#naval-window,.nav-production) .nav-battles{padding:20px}:is(#naval-window,.nav-production) .nav-report-layout{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:420px}:is(#naval-window,.nav-production) .nav-report-list{padding:12px;border-right:1px solid #494947;display:flex;flex-direction:column;gap:7px}:is(#naval-window,.nav-production) .nav-report-list>button{justify-content:flex-start;text-align:left;padding:12px;gap:12px;min-height:76px}:is(#naval-window,.nav-production) .nav-report-list b{display:block;font-size:12px;color:#c6c0b1;font-weight:500}:is(#naval-window,.nav-production) .nav-report-list small{display:block;font-size:10px;margin-top:5px}:is(#naval-window,.nav-production) .nav-report-list>button[aria-pressed=true]{background:#383837;border-color:#a59c81;box-shadow:inset 3px 0 #bbb08f}:is(#naval-window,.nav-production) .nav-report{position:relative;text-align:center;padding:28px;overflow:hidden;background:radial-gradient(ellipse at center,#30302f,#20201e 70%)}:is(#naval-window,.nav-production) .nav-report>header{position:relative;z-index:1}:is(#naval-window,.nav-production) .nav-report h3{font-size:25px;font-family:Georgia,'Noto Serif SC',serif;font-weight:500;color:#c8c3b3;margin:10px 0}:is(#naval-window,.nav-production) .nav-report strong{font-size:13px;display:inline-block;padding:6px 25px;border-top:1px solid #85837b;border-bottom:1px solid #85837b;color:#c2bcad;letter-spacing:3px}:is(#naval-window,.nav-production) .nav-report strong[data-result=DEFEAT],:is(#naval-window,.nav-production) .nav-report strong[data-result=LOSS]{color:#dfa890;border-color:#8e6655}:is(#naval-window,.nav-production) .nav-report-seal{margin:24px auto 20px;width:84px;height:84px;border:1px solid #777570;outline:1px solid #77757038;outline-offset:5px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#a09e99}:is(#naval-window,.nav-production) .nav-report-seal .nav-icon{width:48px;height:48px;stroke-width:1}:is(#naval-window,.nav-production) .nav-loss-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #585650;border-bottom:1px solid #585650;margin:20px 0}:is(#naval-window,.nav-production) .nav-loss-columns>section{padding:18px 16px;min-width:0}:is(#naval-window,.nav-production) .nav-loss-columns>section:first-child{border-right:1px solid #585650}:is(#naval-window,.nav-production) .nav-loss-columns h4{font-size:11px;color:#a5a49e;font-weight:500;letter-spacing:2px;margin-bottom:10px}:is(#naval-window,.nav-production) .nav-loss-columns p{font-size:19px;color:#c0baab;overflow-wrap:anywhere}
@media(max-width:1180px){:is(#naval-window,.nav-production){inset:88px 10px 12px}:is(#naval-window,.nav-production) .nav-kpi{padding:10px 14px;gap:10px}:is(#naval-window,.nav-production) .nav-fleet-layout{grid-template-columns:220px minmax(0,1fr)}:is(#naval-window,.nav-production) .nav-fleet-main{padding:14px}:is(#naval-window,.nav-production) .nav-ship-row{grid-template-columns:70px minmax(120px,1fr) minmax(100px,1fr) minmax(90px,1fr);gap:9px}:is(#naval-window,.nav-production) .nav-ship-select .nav-ship-art{width:40px}:is(#naval-window,.nav-production) .nav-ship-state{display:none}:is(#naval-window,.nav-production) .nav-class-strip{grid-template-columns:repeat(7,minmax(110px,1fr))}:is(#naval-window,.nav-production) .nav-tech-list{grid-template-columns:1fr}:is(#naval-window,.nav-production) .nav-hero-copy{padding:23px}:is(#naval-window,.nav-production) .nav-hero h3{font-size:26px}}
@media(max-width:900px){:is(#naval-window,.nav-production){inset:78px 7px 9px}:is(#naval-window,.nav-production) .nav-window-header{padding:10px 14px}:is(#naval-window,.nav-production) .nav-window-header h2{font-size:21px}:is(#naval-window,.nav-production) .nav-tabs{padding:0 8px}:is(#naval-window,.nav-production) .nav-tabs button{flex:1;padding:10px 9px;font-size:12px;gap:6px}:is(#naval-window,.nav-production) .nav-tabs .nav-icon{width:19px;height:19px}:is(#naval-window,.nav-production) .nav-kpi{padding:10px;gap:8px}:is(#naval-window,.nav-production) .nav-kpi>.nav-icon{width:24px;height:24px}:is(#naval-window,.nav-production) .nav-kpi b{font-size:21px}:is(#naval-window,.nav-production) .nav-kpi small{font-size:9px}:is(#naval-window,.nav-production) .nav-overview,:is(#naval-window,.nav-production) .nav-shipbuilding,:is(#naval-window,.nav-production) .nav-battles{padding:14px;gap:14px}:is(#naval-window,.nav-production) .nav-region-grid{grid-template-columns:repeat(2,minmax(0,1fr))}:is(#naval-window,.nav-production) .nav-finance>div{padding:12px;flex-direction:column;gap:4px}:is(#naval-window,.nav-production) .nav-fleet-layout{grid-template-columns:190px minmax(0,1fr)}:is(#naval-window,.nav-production) .nav-fleet-sidebar{padding:10px}:is(#naval-window,.nav-production) .nav-fleet-seal{display:none}:is(#naval-window,.nav-production) .nav-fleet-card{padding:10px 8px}:is(#naval-window,.nav-production) .nav-order-fields{grid-template-columns:repeat(2,minmax(0,1fr))}:is(#naval-window,.nav-production) .nav-order-fields>label:last-child{grid-column:1/-1}:is(#naval-window,.nav-production) .nav-ship-row{grid-template-columns:42px minmax(120px,1fr) minmax(90px,1fr);gap:9px;padding:10px}:is(#naval-window,.nav-production) .nav-ship-select .nav-ship-art{display:none}:is(#naval-window,.nav-production) .nav-ship-row .nav-ship-gauge:nth-of-type(3){grid-column:3}:is(#naval-window,.nav-production) .nav-ship-name{grid-row:span 2}:is(#naval-window,.nav-production) .nav-ship-select{grid-row:span 2}:is(#naval-window,.nav-production) .nav-ship-gauge>span:first-child{margin-bottom:4px}:is(#naval-window,.nav-production) .nav-fleet-heading{gap:10px}:is(#naval-window,.nav-production) .nav-fleet-heading-mark{width:44px;height:44px}:is(#naval-window,.nav-production) .nav-fleet-heading-mark .nav-icon{width:27px;height:27px}:is(#naval-window,.nav-production) .nav-fleet-heading h3{font-size:20px}:is(#naval-window,.nav-production) .nav-blueprint{grid-template-columns:190px minmax(0,1fr)}:is(#naval-window,.nav-production) .nav-blueprint-art{padding:22px 13px}:is(#naval-window,.nav-production) .nav-class-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 5px}:is(#naval-window,.nav-production) .nav-class-stats dd{font-size:18px}:is(#naval-window,.nav-production) .nav-build-form{grid-template-columns:minmax(100px,1fr) 80px}:is(#naval-window,.nav-production) .nav-build-form button{grid-column:1/-1}:is(#naval-window,.nav-production) .nav-report-layout{grid-template-columns:220px minmax(0,1fr)}:is(#naval-window,.nav-production) .nav-report{padding:24px 16px}:is(#naval-window,.nav-production) .nav-report h3{font-size:23px}}
@media(max-width:650px){:is(#naval-window,.nav-production){inset:70px 5px 7px}:is(#naval-window,.nav-production) .nav-window-header{gap:10px;padding:9px 12px}:is(#naval-window,.nav-production) .nav-window-header h2{font-size:18px;letter-spacing:1px}:is(#naval-window,.nav-production) .nav-window-header .nav-kicker{font-size:9px;letter-spacing:1px}:is(#naval-window,.nav-production) .nav-national-seal{width:36px;height:36px}:is(#naval-window,.nav-production) .nav-national-seal svg{width:36px;height:36px}:is(#naval-window,.nav-production) .nav-window-header>button{min-width:44px;min-height:44px}:is(#naval-window,.nav-production) .nav-account{grid-template-columns:repeat(4,minmax(0,1fr))}:is(#naval-window,.nav-production) .nav-kpi{padding:8px 7px}:is(#naval-window,.nav-production) .nav-kpi>.nav-icon,:is(#naval-window,.nav-production) .nav-kpi small{display:none}:is(#naval-window,.nav-production) .nav-kpi span{font-size:10px}:is(#naval-window,.nav-production) .nav-kpi b{font-size:18px}:is(#naval-window,.nav-production) .nav-kpi b em{font-size:11px}:is(#naval-window,.nav-production) .nav-tabs{gap:0;padding:0 3px}:is(#naval-window,.nav-production) .nav-tabs button{min-height:48px;font-size:11px;padding:8px 3px;gap:5px}:is(#naval-window,.nav-production) .nav-tabs .nav-icon{width:17px;height:17px}:is(#naval-window,.nav-production) .nav-hero{grid-template-columns:1fr}:is(#naval-window,.nav-production) .nav-hero figure{display:none}:is(#naval-window,.nav-production) .nav-hero-copy{padding:20px}:is(#naval-window,.nav-production) .nav-hero h3{font-size:23px}:is(#naval-window,.nav-production) .nav-hero p{font-size:12px}:is(#naval-window,.nav-production) .nav-hero-actions{margin-top:17px}:is(#naval-window,.nav-production) .nav-overview,:is(#naval-window,.nav-production) .nav-shipbuilding,:is(#naval-window,.nav-production) .nav-battles{padding:10px;gap:12px}:is(#naval-window,.nav-production) .nav-finance>div{padding:10px 8px}:is(#naval-window,.nav-production) .nav-finance b{font-size:17px}:is(#naval-window,.nav-production) .nav-finance span{font-size:10px}:is(#naval-window,.nav-production) .nav-region-grid{padding:10px;gap:8px}:is(#naval-window,.nav-production) .nav-region{padding:10px}:is(#naval-window,.nav-production) .nav-region header{display:block}:is(#naval-window,.nav-production) .nav-region h4{font-size:13px}:is(#naval-window,.nav-production) .nav-region header>span{display:block;margin-top:3px}:is(#naval-window,.nav-production) .nav-region-reading{margin-top:5px}:is(#naval-window,.nav-production) .nav-region-foot{font-size:9px}:is(#naval-window,.nav-production) .nav-region>button{font-size:10px;padding:8px}:is(#naval-window,.nav-production) .nav-section>header{padding:10px 12px}:is(#naval-window,.nav-production) .nav-section>header h3{font-size:15px}:is(#naval-window,.nav-production) .nav-section>header>span{font-size:10px}:is(#naval-window,.nav-production) .nav-fleet-layout{display:block}:is(#naval-window,.nav-production) .nav-fleet-sidebar{border-right:0;border-bottom:1px solid #4a4a48;padding:10px}:is(#naval-window,.nav-production) .nav-fleet-sidebar>header{padding-bottom:8px}:is(#naval-window,.nav-production) .nav-fleet-list{flex-direction:row;overflow-x:auto;overscroll-behavior:contain;touch-action:pan-x;padding-bottom:4px}:is(#naval-window,.nav-production) .nav-fleet-card{width:210px;min-width:210px;min-height:78px}:is(#naval-window,.nav-production) .nav-new-fleet{margin-top:6px}:is(#naval-window,.nav-production) .nav-new-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}:is(#naval-window,.nav-production) .nav-new-form>p{grid-column:1/-1}:is(#naval-window,.nav-production) .nav-new-form>button{grid-column:1/-1}:is(#naval-window,.nav-production) .nav-fleet-main{padding:10px;gap:12px}:is(#naval-window,.nav-production) .nav-order-fields{padding:12px 10px 8px;gap:10px}:is(#naval-window,.nav-production) .nav-orders>footer{padding:10px}:is(#naval-window,.nav-production) .nav-orders>footer>span{margin-left:0;flex-basis:100%}:is(#naval-window,.nav-production) .nav-orders>header{padding:10px;flex-wrap:wrap}:is(#naval-window,.nav-production) .nav-ship-row{grid-template-columns:32px minmax(100px,1fr) minmax(95px,1fr)}:is(#naval-window,.nav-production) .nav-transfer{gap:8px;padding:10px}:is(#naval-window,.nav-production) .nav-transfer>label{min-width:130px}:is(#naval-window,.nav-production) .nav-transfer>button{flex:1}:is(#naval-window,.nav-production) .nav-blueprint{display:block}:is(#naval-window,.nav-production) .nav-blueprint-art{border-right:0;border-bottom:1px solid #50504e;display:grid;grid-template-columns:140px 1fr;gap:4px 16px;padding:13px 18px;text-align:left;align-items:center}:is(#naval-window,.nav-production) .nav-blueprint-art>.nav-ship-art{grid-row:span 2;max-height:70px}:is(#naval-window,.nav-production) .nav-blueprint-art>span{margin:0;align-self:end;font-size:8px}:is(#naval-window,.nav-production) .nav-blueprint-art>h4{font-size:19px;margin:0;align-self:start}:is(#naval-window,.nav-production) .nav-blueprint-spec{padding:14px}:is(#naval-window,.nav-production) .nav-queue>article{padding:12px;gap:12px}:is(#naval-window,.nav-production) .nav-queue-art{display:none}:is(#naval-window,.nav-production) .nav-queue article>button{min-width:78px;padding:8px;font-size:10px}:is(#naval-window,.nav-production) .nav-queue-progress h4{font-size:13px}:is(#naval-window,.nav-production) .nav-tech-list{padding:10px;gap:8px}:is(#naval-window,.nav-production) .nav-tech{padding:12px;gap:10px}:is(#naval-window,.nav-production) .nav-tech>button{min-width:68px;font-size:10px;padding:8px}:is(#naval-window,.nav-production) .nav-report-layout{display:block}:is(#naval-window,.nav-production) .nav-report-list{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid #494947;touch-action:pan-x}:is(#naval-window,.nav-production) .nav-report-list>button{min-width:200px}:is(#naval-window,.nav-production) .nav-report{padding:24px 16px}:is(#naval-window,.nav-production) .nav-window-footer{padding:6px 10px;gap:8px}:is(#naval-window,.nav-production) .nav-window-footer>span{font-size:10px}:is(#naval-window,.nav-production) .nav-window-footer>button{font-size:11px;padding:8px;min-height:44px}:is(#naval-window,.nav-production) .nav-window-footer .nav-icon{width:18px;height:18px}}
@media(max-height:650px) and (min-width:651px){:is(#naval-window,.nav-production){top:70px;bottom:7px}:is(#naval-window,.nav-production) .nav-window-header{padding:7px 14px}:is(#naval-window,.nav-production) .nav-window-header h2{font-size:19px}:is(#naval-window,.nav-production) .nav-window-header>button{min-height:44px;min-width:44px}:is(#naval-window,.nav-production) .nav-national-seal{width:36px;height:36px}:is(#naval-window,.nav-production) .nav-national-seal svg{width:36px;height:36px}:is(#naval-window,.nav-production) .nav-kpi{padding:7px 14px}:is(#naval-window,.nav-production) .nav-kpi b{font-size:20px}:is(#naval-window,.nav-production) .nav-kpi small{display:none}:is(#naval-window,.nav-production) .nav-tabs button{min-height:44px;padding:7px 20px}:is(#naval-window,.nav-production) .nav-window-footer{min-height:52px}}
:is(#naval-window,.nav-production) footer{height:auto;flex:0 0 auto;max-height:none;min-width:0}
:is(#naval-window,.nav-production) .nav-merge{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,220px) auto;gap:14px;align-items:end;padding:14px;border:1px solid #454543;background:#21211f}
:is(#naval-window,.nav-production) .nav-merge h4{font-size:14px;font-weight:500;color:#c5c0b1;margin-bottom:6px}
:is(#naval-window,.nav-production) .nav-merge p{font-size:11px;color:#a5a49f;line-height:1.7}
:is(#naval-window,.nav-production) .nav-merge>button{font-size:11px}
@media(max-width:1100px){:is(#naval-window,.nav-production) .nav-merge{grid-template-columns:minmax(0,1fr) auto}:is(#naval-window,.nav-production) .nav-merge>div{grid-column:1/-1}}
@media(max-width:650px){:is(#naval-window,.nav-production) .nav-merge{grid-template-columns:1fr;padding:12px;gap:10px}:is(#naval-window,.nav-production) .nav-merge>button{width:100%}}
:is(#naval-window,.nav-production) .nav-window-footer>button{min-height:44px}
:is(#naval-window,.nav-production) .nav-fleet-copy>em[data-normal=true]{color:#a4a3a0}
:is(#naval-window,.nav-production) .nav-commerce{display:grid;gap:18px;padding:20px}
:is(#naval-window,.nav-production) .nav-commerce-intro{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:18px 22px;border:1px solid #63625d;background:linear-gradient(110deg,#313130,#222320)}
:is(#naval-window,.nav-production) .nav-commerce-intro h3{font:23px/1.5 Georgia,'Noto Serif SC',serif;color:#c8c3b3;margin:9px 0}
:is(#naval-window,.nav-production) .nav-commerce-intro p{max-width:650px;font-size:12px;line-height:1.8;color:#b3b2ae}
:is(#naval-window,.nav-production) .nav-commerce-intro>div:last-child{display:flex;flex-direction:column;align-items:center;padding-left:24px;border-left:1px solid #61605a;min-width:160px;flex:none}
:is(#naval-window,.nav-production) .nav-commerce-intro>div:last-child>span{font-size:11px;color:#abaaa6}
:is(#naval-window,.nav-production) .nav-commerce-intro>div:last-child>b{font:34px/1.5 Georgia,serif;color:#c3beaf}
:is(#naval-window,.nav-production) .nav-priorities>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:14px 14px 10px}
:is(#naval-window,.nav-production) .nav-priorities>div>button{flex-direction:column;text-align:center;gap:5px;min-height:72px;padding:11px 8px}
:is(#naval-window,.nav-production) .nav-priorities button>b{font-size:13px;font-weight:500}
:is(#naval-window,.nav-production) .nav-priorities button>small{font-size:10px}
:is(#naval-window,.nav-production) .nav-priorities button[aria-pressed=true]{opacity:1;color:#c8c3b3;border-color:#a59c80;background:#3c3c3a;box-shadow:inset 0 -3px #beb390;cursor:default}
:is(#naval-window,.nav-production) .nav-priorities>p{padding:0 15px 13px;font-size:10px}
:is(#naval-window,.nav-production) .nav-commerce-fields{display:grid;grid-template-columns:1fr 1fr 135px;gap:14px;padding:18px}
:is(#naval-window,.nav-production) .nav-quote{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 18px 18px;background:#2a2a29;border:1px solid #50504e}
:is(#naval-window,.nav-production) .nav-quote>div{padding:14px 18px;border-right:1px solid #4f4f4d}
:is(#naval-window,.nav-production) .nav-quote>div:last-child{border:0}
:is(#naval-window,.nav-production) .nav-quote dt{color:#b1afa8;font-size:11px}
:is(#naval-window,.nav-production) .nav-quote dd{margin:4px 0;font-size:25px;line-height:1.4;color:#c5c0b1;font-variant-numeric:tabular-nums}
:is(#naval-window,.nav-production) .nav-quote small{font-size:10px}
:is(#naval-window,.nav-production) .nav-commerce-plan>footer{padding:0 18px 18px;display:flex;align-items:center;flex-wrap:wrap;gap:14px}
:is(#naval-window,.nav-production) .nav-commerce-plan>footer>p{flex:1;min-width:250px;font-size:11px;color:#acaba7;line-height:1.8}
:is(#naval-window,.nav-production) .nav-commerce-plan>footer>button{font-size:12px}
:is(#naval-window,.nav-production) .nav-commerce-plan>footer>.nav-warning{flex-basis:100%}
:is(#naval-window,.nav-production) .nav-voyages>article{display:flex;gap:16px;align-items:center;padding:18px;border-bottom:1px solid #454543}
:is(#naval-window,.nav-production) .nav-voyage-icon{display:flex;align-items:center;justify-content:center;width:55px;height:55px;border:1px solid #66655f;border-radius:50%;color:#b1b0aa;flex:none}
:is(#naval-window,.nav-production) .nav-voyage-icon>.nav-icon{width:31px;height:31px;stroke-width:1.2}
:is(#naval-window,.nav-production) .nav-voyage-main{flex:1;min-width:0}
:is(#naval-window,.nav-production) .nav-voyage-route{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
:is(#naval-window,.nav-production) .nav-voyage-route h4{font-size:14px;font-weight:500;color:#c9c4b4}
:is(#naval-window,.nav-production) .nav-voyage-route h4>span{color:#918f89;margin:0 6px}
:is(#naval-window,.nav-production) .nav-voyage-route>b{font-size:10px;font-weight:400;color:#b7b5ac;border:1px solid #636159;padding:3px 8px}
:is(#naval-window,.nav-production) .nav-voyage-ledger{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:10px;font-size:10px;color:#a8a6a0}
:is(#naval-window,.nav-production) .nav-voyage-ledger>b,:is(#naval-window,.nav-production) .nav-log li>b{font-weight:500;color:#c0bbab}
:is(#naval-window,.nav-production) [data-loss=true]{color:#e3a18d!important}
:is(#naval-window,.nav-production) .nav-voyage-main>.nav-muted{font-size:10px;margin-top:8px}
:is(#naval-window,.nav-production) .nav-voyage-actions>button{font-size:10px;display:flex;flex-direction:column;gap:2px;min-width:105px}
:is(#naval-window,.nav-production) .nav-log li>b{float:right;font-size:11px;margin-left:14px}
@media(max-width:900px){:is(#naval-window,.nav-production) .nav-commerce{padding:14px;gap:14px}:is(#naval-window,.nav-production) .nav-commerce-intro{padding:20px;gap:18px}:is(#naval-window,.nav-production) .nav-commerce-intro h3{font-size:22px}:is(#naval-window,.nav-production) .nav-commerce-intro>div:last-child{min-width:130px;padding-left:18px}:is(#naval-window,.nav-production) .nav-commerce-fields{grid-template-columns:1fr 1fr 105px;padding:14px;gap:10px}:is(#naval-window,.nav-production) .nav-priorities>div{gap:8px;padding:12px}:is(#naval-window,.nav-production) .nav-priorities button>small{font-size:9px}:is(#naval-window,.nav-production) .nav-voyage-icon{display:none}:is(#naval-window,.nav-production) .nav-voyages>article{padding:14px;gap:12px}}
@media(max-width:650px){:is(#naval-window,.nav-production) .nav-commerce{padding:10px;gap:12px}:is(#naval-window,.nav-production) .nav-commerce-intro{padding:16px;gap:14px;align-items:flex-start;flex-wrap:wrap}:is(#naval-window,.nav-production) .nav-commerce-intro h3{font-size:20px}:is(#naval-window,.nav-production) .nav-commerce-intro>div:last-child{flex-direction:row;gap:12px;padding:10px 0 0;border-left:0;border-top:1px solid #61605a;width:100%;align-items:baseline}:is(#naval-window,.nav-production) .nav-commerce-intro>div:last-child>b{font-size:25px}:is(#naval-window,.nav-production) .nav-priorities>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px}:is(#naval-window,.nav-production) .nav-priorities>div>button{min-height:64px}:is(#naval-window,.nav-production) .nav-commerce-fields{grid-template-columns:1fr 1fr;padding:12px;gap:12px}:is(#naval-window,.nav-production) .nav-commerce-fields>label:nth-child(3){grid-column:1/-1}:is(#naval-window,.nav-production) .nav-quote{margin:0 12px 12px}:is(#naval-window,.nav-production) .nav-quote>div{padding:10px 9px}:is(#naval-window,.nav-production) .nav-quote dt{font-size:10px}:is(#naval-window,.nav-production) .nav-quote dd{font-size:21px}:is(#naval-window,.nav-production) .nav-quote small{font-size:9px;line-height:1.6;display:block}:is(#naval-window,.nav-production) .nav-commerce-plan>footer{padding:0 12px 12px;gap:10px}:is(#naval-window,.nav-production) .nav-commerce-plan>footer>button{width:100%}:is(#naval-window,.nav-production) .nav-voyages>article{align-items:flex-start;flex-wrap:wrap;padding:12px;gap:10px}:is(#naval-window,.nav-production) .nav-voyage-main{flex-basis:100%}:is(#naval-window,.nav-production) .nav-voyage-actions{width:100%}:is(#naval-window,.nav-production) .nav-voyage-actions>button{width:100%;min-height:44px;flex-direction:row;justify-content:space-between}:is(#naval-window,.nav-production) .nav-voyage-ledger{gap:5px 12px}}
@media(prefers-reduced-motion:reduce){:is(#naval-window,.nav-production) *{scroll-behavior:auto!important}}

/* ── 10-menu.css ── */
/* ATLAS-INK-1 · main menu and loading screen.
   The painting stays; a dark command slab on the left carries the title and the menu. */
html body.playable-integrated .atlas-home.home-screen{font-family:var(--font-ui);color:var(--paper)}
html body.playable-integrated .atlas-home:before{background:linear-gradient(90deg,#090908f2 0%,#0e0e0cd9 26%,#0e0e0c66 46%,#0e0e0c00 64%),linear-gradient(180deg,#0e0e0c00 60%,#090908cc 100%)}
html body.playable-integrated .atlas-backdrop{filter:saturate(.85) contrast(1.05)}
html body.playable-integrated .atlas-home .atlas-logo{left:max(5vw,40px);top:max(11%,80px);transform:none;width:auto;max-width:44vw;text-align:left;filter:drop-shadow(0 4px 10px #000000cc)}
html body.playable-integrated .atlas-home .atlas-logo>span{display:block;font:700 15px/1 var(--font-num);letter-spacing:.5em;color:var(--brass)}
html body.playable-integrated .atlas-home .atlas-logo h1{margin:10px 0 0!important;font:700 clamp(54px,6.4vw,92px)/.92 "DIN Condensed","Bahnschrift Condensed","Roboto Condensed","Arial Narrow",Impact,sans-serif!important;letter-spacing:.04em;-webkit-text-stroke:0!important;text-shadow:none!important;white-space:nowrap;background:linear-gradient(180deg,#e0daca 0%,#ccc7b8 52%,#a99c75 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
html body.playable-integrated .atlas-home .atlas-logo-rule{justify-content:flex-start;margin:10px 0 8px}
html body.playable-integrated .atlas-home .atlas-logo-rule:before{width:72px;background:var(--brass);box-shadow:none;height:2px}
html body.playable-integrated .atlas-home .atlas-logo-rule:after{width:180px;background:linear-gradient(90deg,var(--brass),transparent);box-shadow:none;height:1px}
html body.playable-integrated .atlas-home .atlas-logo-rule svg{stroke:var(--brass-hi)}
html body.playable-integrated .atlas-home .atlas-logo p{font:700 clamp(20px,2vw,28px)/1.2 var(--font-title);letter-spacing:.6em;padding-left:0;color:var(--paper)}
html body.playable-integrated .atlas-home .atlas-menu{left:max(5vw,40px);top:auto;bottom:max(16vh,120px);transform:none;width:min(360px,40vw);padding:0;gap:2px;border:0;outline:0;background:none;box-shadow:none}
html body.playable-integrated .atlas-home .atlas-menu>button{position:relative;height:58px;min-height:58px;padding:0 18px 0 26px;text-align:left;font:600 19px/1 var(--font-title);letter-spacing:.32em;
 color:var(--paper);background:linear-gradient(90deg,#111210e6,#11121080 70%,#11121000);border:0;border-bottom:1px solid #ede8d914;box-shadow:none;border-radius:0;transition:background .15s,padding .15s var(--ease),color .15s}
html body.playable-integrated .atlas-home .atlas-menu>button:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;background:var(--brass-lo);transition:background .15s,top .15s,bottom .15s}
html body.playable-integrated .atlas-home .atlas-menu>button:is(:hover,:active):enabled{padding-left:32px;color:var(--brass-hi);background:linear-gradient(90deg,#21211ff0,#21211f80 70%,#21211f00)}
html body.playable-integrated .atlas-home .atlas-menu>button:is(:hover,:active):enabled:before{background:var(--brass-hi);top:8px;bottom:8px}
html body.playable-integrated .atlas-home .atlas-menu>button#ai-start:enabled{color:#e3ddcd}
html body.playable-integrated .atlas-home .atlas-menu>button#ai-start:enabled:before{background:var(--brass);top:8px;bottom:8px}
html body.playable-integrated .atlas-home .atlas-menu>button:disabled{color:#74726d;background:linear-gradient(90deg,#111210b3,#11121000);cursor:not-allowed}
html body.playable-integrated .atlas-home .atlas-menu>button:disabled:before{background:#31312f}
html body.playable-integrated .atlas-home .atlas-menu-status{left:max(5vw,40px);top:auto;bottom:max(16vh,120px);transform:translateY(calc(100% + 14px));width:min(420px,44vw);text-align:left;font-size:12.5px;color:var(--paper-2);text-shadow:0 1px 3px #000000}
html body.playable-integrated .atlas-home .atlas-home-footer{color:var(--paper-3);font-size:12px}
html body.playable-integrated .atlas-home .atlas-home-footer button{background:#0f0f0dcc;border:1px solid var(--line-hi);border-radius:3px;min-height:40px;padding:0 14px;color:var(--paper-2)}
html body.playable-integrated .atlas-slogan{font-family:var(--font-title)!important;text-shadow:0 2px 8px #000000cc}
/* dialogs from the menu (settings, credits, sources) */
html body.playable-integrated .atlas-dialog{background:var(--crop),linear-gradient(180deg,#171816,#0d0d0b);border:1px solid #55534b;border-radius:4px;color:var(--paper);box-shadow:0 0 0 1px #000000,0 24px 70px #000000dd}
html body.playable-integrated .atlas-dialog>header{background:linear-gradient(180deg,#222320,#171816);border-bottom:1px solid var(--brass-lo);padding:10px 14px}
html body.playable-integrated .atlas-dialog h2{font:700 20px/1.2 var(--font-title);letter-spacing:.14em}
html body.playable-integrated .atlas-dialog>header button{width:48px;height:48px;font-size:24px;background:#0f0f0d;border:1px solid var(--line-hi);border-radius:3px;color:var(--paper)}
html body.playable-integrated .atlas-dialog button{background:linear-gradient(180deg,#282826,#1d1d1b);border:1px solid var(--line-hi);border-radius:3px;min-height:44px}
/* loading screen */
html body.playable-integrated .atlas-loading.preview-state:before{background:linear-gradient(90deg,#090908ee 0%,#0e0e0cb3 40%,#0e0e0c40 70%),linear-gradient(180deg,#0e0e0c00 50%,#090908dd)}
html body.playable-integrated .atlas-loading .atlas-loading-brand{left:max(5vw,40px);top:max(11%,80px);transform:none;width:auto;text-align:left}
html body.playable-integrated .atlas-loading .atlas-loading-brand>span{font:700 15px/1 var(--font-num);letter-spacing:.5em;color:var(--brass)}
html body.playable-integrated .atlas-loading .atlas-loading-brand>strong{margin-top:10px;font:700 clamp(54px,6.4vw,92px)/.92 "DIN Condensed","Bahnschrift Condensed","Roboto Condensed","Arial Narrow",Impact,sans-serif;letter-spacing:.04em;color:var(--paper);-webkit-text-stroke:0;text-shadow:0 2px 0 #000000,0 0 30px #00000088}
html body.playable-integrated .atlas-loading .atlas-loading-brand>small{width:auto;margin:12px 0 0;padding-top:10px;border-top:2px solid var(--brass);font:700 26px/1.2 var(--font-title);letter-spacing:.6em;color:var(--paper)}
html body.playable-integrated .atlas-loading .preview-state-card{position:absolute;left:max(5vw,40px);bottom:max(12vh,80px);margin:0;width:min(560px,86vw);background:var(--crop),linear-gradient(180deg,#171816f2,#0d0d0bf5);border:1px solid #55534b;border-radius:4px;box-shadow:0 0 0 1px #000000,0 18px 48px #000000cc;color:var(--paper)}
html body.playable-integrated .atlas-loading .preview-kicker{color:var(--brass);letter-spacing:.4em;font-family:var(--font-num)}
html body.playable-integrated .atlas-loading h1{font:700 22px/1.3 var(--font-title)!important;color:var(--paper)!important;letter-spacing:.08em}
html body.playable-integrated .atlas-loading .startup-track{background:#00000099;border:1px solid var(--line);border-radius:2px;height:8px;overflow:hidden}
html body.playable-integrated .atlas-loading .startup-fill{background:linear-gradient(90deg,var(--brass-lo),var(--brass-hi))}
html body.playable-integrated .atlas-loading .startup-milestones span{color:var(--paper-3);border-color:var(--line)}
html body.playable-integrated .atlas-loading .startup-stage{color:var(--paper)}
html body.playable-integrated .atlas-loading :is(.startup-steps,.startup-items){color:var(--paper-2)}

/* ── 30-common.css ── */
/* ATLAS-INK-1 · shared window parts that earlier skins coloured olive/parchment. */
html body.playable-integrated .command-ui.hoi-ui ::-webkit-scrollbar{width:8px;height:8px}
html body.playable-integrated .command-ui.hoi-ui ::-webkit-scrollbar-track{background:transparent}
html body.playable-integrated .command-ui.hoi-ui ::-webkit-scrollbar-thumb{background:var(--line-hi);border:2px solid transparent;background-clip:padding-box;border-radius:6px}
html body.playable-integrated .command-ui.hoi-ui .ui-content small{color:var(--paper-2)}
html body.playable-integrated .command-ui.hoi-ui .ui-content summary{font-size:13.5px}
/* cards with a coloured spine */
html body.playable-integrated .command-ui.hoi-ui .recruit-queue article{background:linear-gradient(180deg,#1d1d1b,#131412);border:1px solid var(--line-hi);border-left:3px solid var(--brass);border-radius:3px;padding:10px 12px}
html body.playable-integrated .command-ui.hoi-ui progress{accent-color:var(--brass);height:8px}
/* unit roster */
html body.playable-integrated .command-ui.hoi-ui .hoi-roster{display:grid;gap:6px}
html body.playable-integrated .command-ui.hoi-ui .hoi-roster button{margin:0;min-height:56px;padding:6px 10px;background:linear-gradient(180deg,#1f201d,#161714);border:1px solid var(--line);border-left:4px solid var(--corps,var(--line-hi));border-radius:3px;box-shadow:none}
html body.playable-integrated .command-ui.hoi-ui .hoi-roster button[aria-pressed=true]{background:linear-gradient(180deg,#272826,#191918);border-color:var(--brass);box-shadow:inset 0 0 0 1px #00000088,0 0 10px var(--brass-glow)}
html body.playable-integrated .command-ui.hoi-ui .hoi-unit-symbol{background:#d7d1c2;border:1px solid #070706;border-radius:2px;color:#151514;padding:5px}
html body.playable-integrated .command-ui.hoi-ui .hoi-unit-symbol svg{color:#14191c}
html body.playable-integrated .command-ui.hoi-ui .hoi-roster b{font:600 17px/1.2 var(--font-num);letter-spacing:.03em;color:var(--paper)}
html body.playable-integrated .command-ui.hoi-ui .hoi-roster small{font-size:12px;color:var(--paper-2)}
html body.playable-integrated .command-ui.hoi-ui .hoi-roster-bars i{background:#00000099;border:0;border-radius:1px}
html body.playable-integrated .command-ui.hoi-ui .hoi-roster-bars i em{background:var(--bar-org)}
html body.playable-integrated .command-ui.hoi-ui .hoi-roster-bars i+i em{background:var(--bar-str)}
html body.playable-integrated .command-ui.hoi-ui .hoi-row-state{color:var(--brass)}
/* division designer */
html body.playable-integrated .command-ui.hoi-ui .division-slot{background:#111210;border:1px solid var(--line);border-radius:3px;color:var(--paper-2);min-height:44px}
html body.playable-integrated .command-ui.hoi-ui .division-slot:not(:disabled):is([data-filled],[aria-pressed="true"]){border-color:var(--brass-lo);color:var(--paper)}
html body.playable-integrated .command-ui.hoi-ui .division-stats{background:linear-gradient(180deg,#1d1d1b,#131412);border:1px solid var(--line-hi);border-radius:3px}
html body.playable-integrated .command-ui.hoi-ui .division-stats b,html body.playable-integrated .command-ui.hoi-ui .division-stats strong{font-family:var(--font-num);color:var(--brass-hi)}
html body.playable-integrated .command-ui.hoi-ui .province-grid>div{background:#0f191f;border-color:var(--line)}
/* notices, legends, plan strip */
html body.playable-integrated .command-ui.hoi-ui .ui-notice{background:var(--panel-bg);border:1px solid var(--line-hi);border-left:4px solid var(--brass);color:var(--paper);border-radius:3px;box-shadow:var(--panel-edge)}
html body.playable-integrated .command-ui.hoi-ui .ui-map-legend{background:#0f0f0dd9;color:var(--paper-2);border-bottom:1px solid var(--line)}
html body.playable-integrated .command-ui.hoi-ui :is(.map-direct,.map-plan-strip,.map-select-tools,.map-layer-tools){background:var(--crop),var(--panel-bg)!important;border:1px solid #48484599!important;border-radius:4px;box-shadow:var(--panel-edge)!important;color:var(--paper)}
html body.playable-integrated .command-ui.hoi-ui :is(.map-direct,.map-plan-strip) button{background:linear-gradient(180deg,#282826,#1d1d1b);border-color:var(--line-hi)}
html body.playable-integrated .command-ui.hoi-ui .map-plan-strip b{font-family:var(--font-title);color:var(--brass-hi);letter-spacing:.06em}
/* city panel */
html body.playable-integrated .command-ui.hoi-ui .city-panel{background:none!important;color:var(--paper)}
html body.playable-integrated .command-ui.hoi-ui .city-panel :is(header,.city-head,.city-title){background:linear-gradient(180deg,#222320,#171816)!important;color:var(--paper)!important;border:1px solid var(--line-hi);border-radius:3px}
/* icon legend popover */
html body.playable-integrated .command-ui.hoi-ui .icon-guide>div{background:var(--crop),var(--panel-bg);border:1px solid var(--line-hi);border-radius:4px;box-shadow:var(--panel-edge);color:var(--paper)}
html body.playable-integrated .command-ui.hoi-ui .icon-guide>div p .hoi-icon{color:var(--brass)}
/* Dedicated windows: systems that do not need the map open wide (HOI4-style full windows);
   map-placement tools (construction, logistics, province) stay as side sheets. */
html.touch-shell body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="division"]{width:min(1080px,calc(100vw - 24px))}
html.touch-shell body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"]:has(#production-workbench){width:min(900px,78vw)}
html.touch-shell body.playable-integrated .command-ui.hoi-ui .ui-sidebar:is([data-mode="war"],[data-mode="events"]){width:min(900px,78vw)}
html body.playable-integrated .command-ui.hoi-ui .ui-content #production-workbench{display:grid;grid-template-columns:1fr;gap:0}
@media (min-width:1000px){html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"]:has(#production-workbench) #production-workbench{grid-template-columns:1fr 1fr;column-gap:12px}
 html body.playable-integrated .command-ui.hoi-ui #production-workbench>:not(.production-line){grid-column:1/-1}}
/* checkboxes and radios: large brass toggles */
html body.playable-integrated .command-ui.hoi-ui input[type=checkbox],html body.playable-integrated .command-ui.hoi-ui input[type=radio]{accent-color:var(--brass);width:24px;height:24px;min-height:0;vertical-align:middle}
html body.playable-integrated .command-ui.hoi-ui input[type=checkbox]:not([hidden]){appearance:none;-webkit-appearance:none;width:44px;height:26px;border-radius:13px;background:#0f0f0d;border:1px solid var(--line-hi);position:relative;flex:none;transition:background .15s}
html body.playable-integrated .command-ui.hoi-ui input[type=checkbox]:not([hidden])::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--paper-3);transition:transform .15s var(--ease),background .15s}
html body.playable-integrated .command-ui.hoi-ui input[type=checkbox]:checked{background:#2e2e2c;border-color:var(--brass)}
html body.playable-integrated .command-ui.hoi-ui input[type=checkbox]:checked::after{transform:translateX(18px);background:var(--brass-hi)}
/* empty states read as quiet notes */
html body.playable-integrated .command-ui.hoi-ui .ui-content :is(.empty,.evt-empty){color:var(--paper-3);font-style:normal;text-align:center;padding:24px 8px}
/* division designer: filled slots carry their NATO symbol on a paper chip */
html body.playable-integrated .command-ui.hoi-ui .division-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:52px}
html body.playable-integrated .command-ui.hoi-ui .division-slot[data-filled="1"]{background:linear-gradient(180deg,#282826,#1d1d1b);border-color:var(--line-hi);color:var(--paper)}
html body.playable-integrated .command-ui.hoi-ui .division-slot[data-filled="0"]{border-style:dashed;color:var(--paper-3)}
html body.playable-integrated .command-ui.hoi-ui .division-slot[aria-pressed="true"]{border-color:var(--brass-hi);box-shadow:0 0 0 1px var(--brass),0 0 12px var(--brass-glow)}
html body.playable-integrated .command-ui.hoi-ui .division-slot .slot-symbol{width:36px;height:26px}
html body.playable-integrated .command-ui.hoi-ui .division-slot small{font-size:11.5px}
html body.playable-integrated .command-ui.hoi-ui .division-save-bar{background:linear-gradient(180deg,#1d1d1b,#121311)!important;border-top:1px solid var(--brass-lo)!important}
html body.playable-integrated .command-ui.hoi-ui :is(.design-primary,.plan-primary):not(:disabled){background:linear-gradient(180deg,#ccbf95,#968961)!important;border-color:#cec9ba!important;color:#10100e!important;font-weight:700}
html body.playable-integrated .command-ui.hoi-ui .design-stats{background:#0f0f0d;border:1px solid var(--line);border-radius:3px}
html body.playable-integrated .command-ui.hoi-ui .design-stat b{font-family:var(--font-num);color:var(--brass-hi)}

/* Compact queue actions are a toolbar, not a nested card. */
html body.playable-integrated .command-ui.hoi-ui .construction-queue article{grid-template-columns:24px minmax(0,1fr) 76px;gap:4px;padding:6px}
html body.playable-integrated .command-ui.hoi-ui .construction-order{grid-column:2/4;display:flex;justify-content:flex-end;gap:5px;padding:0;margin:0;border:0;background:none}
html body.playable-integrated .command-ui.hoi-ui .construction-order button{width:36px!important;min-width:36px!important;min-height:30px!important;height:30px;margin:0;padding:0!important}

/* ── 40-economy.css ── */
/* ATLAS-INK-1 · economy windows: production lines, logistics, construction, recruitment.
   Production reads like a HOI4 line: big equipment plate, factory pips, daily output in brass. */
html body.playable-integrated .command-ui.hoi-ui .factory-summary{position:sticky;top:-12px;z-index:4;display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding:0;margin:0 0 10px;
 background:linear-gradient(180deg,#222320,#171816)!important;border:1px solid var(--line-hi)!important;border-radius:3px;box-shadow:0 6px 12px #00000088;font-size:12px;color:var(--paper-2)}
html body.playable-integrated .command-ui.hoi-ui .factory-summary>span{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 6px;border-right:1px solid var(--line);letter-spacing:.1em}
html body.playable-integrated .command-ui.hoi-ui .factory-summary>span:last-child{border-right:0}
html body.playable-integrated .command-ui.hoi-ui .factory-summary b{font:600 26px/1 var(--font-num);color:var(--brass-hi)}
html body.playable-integrated .command-ui.hoi-ui .production-line{margin:10px 0;padding:0;background:linear-gradient(180deg,#1d1d1b,#131412)!important;border:1px solid var(--line-hi)!important;border-left:0!important;border-radius:3px;box-shadow:0 4px 12px #00000077;overflow:hidden}
html body.playable-integrated .command-ui.hoi-ui .production-line-controls{position:static;background:none!important;padding:0;border:0}
html body.playable-integrated .command-ui.hoi-ui .production-line header{display:grid;grid-template-columns:132px 1fr auto;align-items:stretch;gap:0;background:none!important;color:var(--paper);border-bottom:1px solid var(--line)}
html body.playable-integrated .command-ui.hoi-ui .production-line .equipment-art{width:96px;height:64px;border:0;border-right:1px solid var(--line);background-color:#1e1e1d;box-shadow:inset 0 0 18px #00000099;filter:saturate(.9) contrast(1.05)}
html body.playable-integrated .command-ui.hoi-ui .production-line header>div{padding:12px 12px 8px;display:flex;flex-direction:column;justify-content:center;gap:4px}
html body.playable-integrated .command-ui.hoi-ui .production-line header b{font:700 17px/1.25 var(--font-title)!important;letter-spacing:.06em;color:var(--paper)!important}
html body.playable-integrated .command-ui.hoi-ui .production-line header small{font-size:12px;color:var(--paper-2)!important;opacity:1}
html body.playable-integrated .command-ui.hoi-ui .production-line header strong{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:86px;padding:6px 10px;margin:0;
 background:linear-gradient(180deg,#191a18,#0f0f0d)!important;border:0;border-left:1px solid var(--brass-lo);box-shadow:none;font:600 32px/1 var(--font-num)!important;color:var(--brass-hi)!important}
html body.playable-integrated .command-ui.hoi-ui .production-line header strong small{display:block;margin-top:4px;font:400 11px/1 var(--font-ui)!important;letter-spacing:.1em;color:var(--brass)!important}
html body.playable-integrated .command-ui.hoi-ui .production-line .factory-allocation{margin:0;padding:8px 12px;gap:8px;align-items:center;flex-wrap:nowrap}
html body.playable-integrated .command-ui.hoi-ui .production-line .factory-allocation>span:first-child{font-size:12px;letter-spacing:.12em;color:var(--paper-2)}
html body.playable-integrated .command-ui.hoi-ui .production-line .factory-allocation button{min-width:46px;min-height:44px;padding:0;font-size:22px;font-weight:700;color:var(--brass-hi)}
html body.playable-integrated .command-ui.hoi-ui .production-line .factory-allocation b{font:600 22px/1 var(--font-num);color:var(--paper)}
html body.playable-integrated .command-ui.hoi-ui .factory-slots{display:flex;gap:3px;flex:1;min-width:0;overflow:hidden}
html body.playable-integrated .command-ui.hoi-ui .factory-slots i{width:24px;height:24px;border-radius:2px;color:#10110f;background:linear-gradient(180deg,#d1c39a,#968961);border:1px solid #cfc9b9}
html body.playable-integrated .command-ui.hoi-ui .production-line>:not(.production-line-controls){margin-left:12px;margin-right:12px}
html body.playable-integrated .command-ui.hoi-ui .production-efficiency{height:6px;margin:4px 12px 2px;background:#00000099;border:0;border-radius:3px;overflow:hidden}
html body.playable-integrated .command-ui.hoi-ui .production-efficiency i{background:linear-gradient(90deg,#6f6548,#ddd0a6)}
html body.playable-integrated .command-ui.hoi-ui .production-line details{background:none;border:0;padding:0;margin:6px 12px 10px}
html body.playable-integrated .command-ui.hoi-ui .line-shortage{color:#ef9a83!important}
html body.playable-integrated .command-ui.hoi-ui #production-add{width:100%;min-height:40px;margin-top:8px;border:1px dashed var(--brass-lo);background:#0f0f0d;color:var(--brass-hi);font-size:15px;letter-spacing:.1em}
/* recruitment */
html body.playable-integrated .command-ui.hoi-ui .hoi-recruitment :is(button[data-recruit-template],.recruit-template){justify-content:flex-start}
/* logistics hubs: name · state · capacity meter · load */
html body.playable-integrated .command-ui.hoi-ui details.hub-row>summary{display:grid;grid-template-columns:auto minmax(80px,1fr) auto minmax(90px,1.2fr) auto;align-items:center;gap:10px}
html body.playable-integrated .command-ui.hoi-ui .hub-name{font-family:var(--font-title);letter-spacing:.04em}
html body.playable-integrated .command-ui.hoi-ui .hub-state{font-size:11px;letter-spacing:.12em;padding:2px 7px;border-radius:2px;color:#9bd38a;border:1px solid #4f7a46;justify-self:start}
html body.playable-integrated .command-ui.hoi-ui .hub-row[data-route="0"] .hub-state{color:#ef9a83;border-color:#7a3f33}
html body.playable-integrated .command-ui.hoi-ui .hub-meter{height:8px;background:#00000099;border-radius:4px;overflow:hidden;border:1px solid var(--line)}
html body.playable-integrated .command-ui.hoi-ui .hub-meter i{display:block;height:100%;background:linear-gradient(90deg,#4f7a46,#9bd38a)}
html body.playable-integrated .command-ui.hoi-ui .hub-load{font:600 15px/1 var(--font-num);color:var(--paper)}

/* ── 50-diplomacy.css ── */
/* ATLAS-INK-1 · war overview & diplomacy: heraldic country roll and dossier header. */
html body.playable-integrated .command-ui.hoi-ui .dip-panel{font-size:13.5px}
html body.playable-integrated .command-ui.hoi-ui .dip-nations{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px;margin-bottom:14px}
html body.playable-integrated .command-ui.hoi-ui .dip-nations button{min-height:52px;padding:4px 10px 4px 6px;gap:10px;background:linear-gradient(180deg,#1f201d,#161714);border:1px solid var(--line);border-radius:3px;font-size:14px}
html body.playable-integrated .command-ui.hoi-ui .dip-nations button[aria-pressed=true]{background:linear-gradient(180deg,#272826,#191918);border-color:var(--brass);box-shadow:0 0 10px var(--brass-glow)}
html body.playable-integrated .command-ui.hoi-ui .dip-name{display:flex;flex-direction:column;line-height:1.25;color:var(--paper);font-family:var(--font-title);letter-spacing:.04em}
html body.playable-integrated .command-ui.hoi-ui .dip-rel{font:600 11px/1.3 var(--font-ui);letter-spacing:.14em;color:var(--paper-3)}
html body.playable-integrated .command-ui.hoi-ui [data-rel="WAR"].dip-rel{color:#ef8a73}
html body.playable-integrated .command-ui.hoi-ui [data-rel="ALLY"].dip-rel{color:var(--info)}
html body.playable-integrated .command-ui.hoi-ui [data-rel="OWN"].dip-rel{color:var(--brass)}
html body.playable-integrated .command-ui.hoi-ui .dip-head{display:grid;grid-template-columns:auto 1fr;column-gap:14px;align-items:center;padding:12px 14px;margin:0 0 10px;border:1px solid var(--line-hi);border-left:4px solid var(--neutral);border-radius:3px;background:linear-gradient(90deg,#232421,#131412)}
html body.playable-integrated .command-ui.hoi-ui .dip-head[data-rel="WAR"]{border-left-color:var(--stop)}
html body.playable-integrated .command-ui.hoi-ui .dip-head[data-rel="ALLY"]{border-left-color:var(--friend)}
html body.playable-integrated .command-ui.hoi-ui .dip-head[data-rel="OWN"]{border-left-color:var(--brass)}
html body.playable-integrated .command-ui.hoi-ui .dip-head .dip-head-emblem{grid-row:span 2;filter:drop-shadow(0 3px 5px #000000bb)}
html body.playable-integrated .command-ui.hoi-ui .ui-content .dip-head h3{margin:0;padding:0;border:0;font-size:22px;color:var(--paper)}
html body.playable-integrated .command-ui.hoi-ui .dip-head h3 small{float:none;margin-left:10px;font:600 12px var(--font-ui);letter-spacing:.14em;color:var(--brass)}
html body.playable-integrated .command-ui.hoi-ui .dip-head p{margin:2px 0 0;font-size:12.5px}
html body.playable-integrated .command-ui.hoi-ui .dip-facts{border-color:var(--line)}
html body.playable-integrated .command-ui.hoi-ui .dip-history{margin:10px 0;padding:14px 18px;border:1px solid var(--line-hi);border-left:3px solid var(--brass);background:#181817;color:var(--paper)}
html body.playable-integrated .command-ui.hoi-ui .dip-history small{color:var(--brass);letter-spacing:.12em}
html body.playable-integrated .command-ui.hoi-ui .dip-history h4{margin:6px 0;font-size:18px}
html body.playable-integrated .command-ui.hoi-ui .dip-history p{margin:7px 0;line-height:1.6;font-size:13px}
html body.playable-integrated .command-ui.hoi-ui .dip-actions{gap:8px}
html body.playable-integrated .command-ui.hoi-ui .dip-actions button{min-height:52px;font-size:14px;letter-spacing:.06em}
html body.playable-integrated .command-ui.hoi-ui [data-dip-action="DECLARE_WAR"]:not(:disabled){background:linear-gradient(180deg,#6d2a20,#45180f);border-color:#d4573f;color:#ded8c8}
html body.playable-integrated .command-ui.hoi-ui .dip-confirm{background:linear-gradient(180deg,#2a1813,#0e0e0c);border:1px solid var(--stop);border-radius:3px}
html body.playable-integrated .command-ui.hoi-ui .capitulation-summary progress{accent-color:var(--stop)}

/* ── 60-research.css ── */
/* ATLAS-INK-1 · research window: a technology tree on the command table.
   Full-height dossier (ink panel, brass crop marks, serif title, national emblem);
   research slots as cards; category rail with progress; a blueprint canvas whose
   year ruler and branch gutter stay pinned while panning; node cards with clear
   status; a detail dossier with a docked primary action. Touch first: targets
   ≥ 44 px, nothing depends on hover; no blur/filters on large areas. */
html body.playable-integrated .command-ui.hoi-ui section.rw-window{--rw-line:#0e0e0c;position:fixed;inset:84px 8px 8px;z-index:40;display:grid;grid-template-columns:184px minmax(0,1fr) 316px;grid-template-rows:auto minmax(0,1fr);
 color:var(--paper);font:13px/1.45 var(--font-ui);background:var(--panel-bg);border:1px solid #55534b;border-radius:4px;box-shadow:0 0 0 1px #000000cc,0 18px 48px #000000bb,inset 0 0 0 1px #ede8d908;pointer-events:auto;overflow:hidden}
html body.playable-integrated .command-ui.hoi-ui section.rw-window::after{content:"";position:absolute;inset:4px;background:var(--crop);pointer-events:none;z-index:8}
html body.playable-integrated .command-ui.hoi-ui section.rw-window button{font-family:var(--font-ui);color:var(--paper);cursor:pointer}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-num{font-family:var(--font-num);font-weight:600;letter-spacing:.01em;font-variant-numeric:tabular-nums}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-ic{width:13px;height:13px;flex:none;vertical-align:-2px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-bar{display:block;width:100%;height:6px;background:#000000aa;border-radius:1px;overflow:hidden;box-shadow:inset 0 0 0 1px #ede8d90a}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--brass-lo),var(--brass-hi))}

/* ── header: emblem · title · slots · meta · close ── */
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-head{grid-column:1/-1;display:flex;align-items:center;gap:10px;min-height:80px;padding:8px 10px 8px 16px;border-bottom:1px solid var(--brass-lo);
 background:linear-gradient(90deg,color-mix(in srgb,var(--nation) 30%,transparent),transparent 34%),linear-gradient(90deg,#121311e6 0%,#121311f2 50%,#121311bf 100%),url('/assets/playable/war-atlas/battlefield.jpg') 70% 40%/cover;box-shadow:inset 0 -1px 0 #000000}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-nation{flex:none;display:flex;align-items:center;gap:10px;min-width:0}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-emblem{flex:none;display:block}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-nation h2{margin:0;font:700 22px/1.15 var(--font-title);letter-spacing:.16em;color:var(--paper);text-shadow:0 2px 4px #000000;white-space:nowrap}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-nation p{margin:4px 0 0;display:flex;gap:8px;font-size:11.5px;letter-spacing:.08em;color:var(--brass);white-space:nowrap}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-nation p .rw-num{color:var(--paper-2);font-size:13px;letter-spacing:.02em}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-slots{flex:1;min-width:0;display:flex;gap:8px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-slot{flex:1 1 0;min-width:0;height:62px;display:flex;align-items:center;gap:8px;margin:0;padding:6px 10px 6px 6px;text-align:left;
 background:linear-gradient(180deg,#282825,#1b1b19);border:1px solid var(--brass-lo);border-left:3px solid var(--brass);border-radius:3px;box-shadow:inset 0 1px #ede8d910,0 2px 8px #00000088}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-slot-art{flex:0 0 62px;height:40px;display:flex;align-items:center;justify-content:center;color:var(--brass-hi);background:radial-gradient(ellipse,#b4a67d26,transparent 70%);border-radius:2px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-slot-art svg{width:100%;height:100%}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-slot-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-slot-body small{font-size:10.5px;line-height:1.1;letter-spacing:.06em;color:var(--paper-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-slot-body b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13.5px;line-height:1.15;font-weight:600;color:var(--paper)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-slot-free .rw-slot-body b{display:block}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-slot-eta{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:1px;line-height:1}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-slot-eta b{font-size:25px;color:var(--brass-hi)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-slot-eta small{font-size:10.5px;color:var(--paper-2)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-slot-eta small.rw-num{font-size:12px;color:var(--paper-3)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-slot-free{border:1.5px dashed var(--brass);border-left-width:1.5px;background:repeating-linear-gradient(135deg,#b4a67d12 0 8px,transparent 8px 16px),#131412d9;box-shadow:none}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-slot-free[data-empty]{border-color:var(--line-hi);cursor:default}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-slot-plus{flex:0 0 40px;height:40px;margin-left:4px;display:grid;place-items:center;border-radius:50%;border:1.5px solid var(--brass);color:var(--brass-hi);background:#b4a67d1a}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-slot-plus .rw-ic{width:18px;height:18px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-slot-free .rw-slot-body b{color:var(--brass-hi);font-family:var(--font-title);letter-spacing:.2em}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-slot-free .rw-slot-body small:last-child{color:var(--paper-2)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-meta{flex:none;display:flex;flex-direction:column;justify-content:center;gap:3px;min-width:104px;padding:0 4px 0 10px;border-left:1px solid var(--line)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-meta span{display:flex;justify-content:space-between;align-items:baseline;gap:8px;white-space:nowrap}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-meta small{font-size:10.5px;letter-spacing:.08em;color:var(--paper-3)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-meta b{font-size:12.5px;color:var(--paper);max-width:96px;overflow:hidden;text-overflow:ellipsis}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-meta b.rw-num{font-size:15px;color:var(--brass-hi)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-close{flex:none;align-self:center;width:48px;height:48px;min-height:48px;padding:0;font-size:28px;line-height:1;border-radius:3px;background:#0f0f0dcc;border:1px solid var(--line-hi);color:var(--paper)}

/* ── category rail ── */
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-cats{grid-row:2;display:flex;flex-direction:column;gap:4px;min-height:0;padding:8px 6px 10px 8px;overflow:auto;overscroll-behavior:contain;background:linear-gradient(180deg,#111210f2,#0d0d0bf7);border-right:1px solid var(--line)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-cats button{position:relative;flex:none;display:grid;grid-template-columns:44px minmax(0,1fr);grid-template-rows:1fr 3px;align-items:center;column-gap:8px;row-gap:4px;min-height:50px;margin:0;padding:6px 8px 5px 6px;text-align:left;
 background:transparent;border:1px solid transparent;border-radius:3px;box-shadow:none;color:var(--paper-2)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-cat-art{grid-row:1;height:26px;color:var(--paper-3)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-cat-art svg{display:block;width:100%;height:100%}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-cat-name{min-width:0;display:flex;flex-direction:column;gap:1px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-cat-name>b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13.5px;line-height:1.2;font-weight:600;color:var(--paper)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-cat-name small{font-size:11px;color:var(--paper-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-cat-name small b{font-size:12.5px;color:var(--paper-2)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-cat-avail{position:absolute;left:36px;top:3px;min-width:19px;height:18px;padding:0 4px;display:grid;place-items:center;border-radius:9px;font:700 11.5px/1 var(--font-num);font-style:normal;color:var(--ink-0);background:var(--paper);box-shadow:0 0 0 2px #0f0f0d}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-cat-act{position:absolute;left:36px;top:3px;display:grid;place-items:center;width:19px;height:19px;border-radius:50%;color:var(--ink-0);background:var(--brass-hi);box-shadow:0 0 0 2px #0f0f0d}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-cat-act .rw-ic{width:13px;height:13px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-cat-bar{grid-column:1/-1;grid-row:2;align-self:end;height:3px;background:#00000099;border-radius:1px;overflow:hidden}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-cat-bar i{display:block;height:100%;background:var(--brass-lo)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-cats button[aria-pressed="true"]{background:linear-gradient(90deg,#2e2e2c,#1b1b1a 75%);border-color:var(--brass);box-shadow:inset 3px 0 0 var(--brass-hi),0 0 0 1px #00000088;color:var(--brass-hi)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-cats button[aria-pressed="true"] .rw-cat-art,html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-cats button[aria-pressed="true"] .rw-cat-name>b{color:var(--brass-hi)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-cats button[aria-pressed="true"] .rw-cat-bar i{background:var(--brass-hi)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-cats button[data-rw-cat="institutes"]{margin-top:6px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-cats button[data-rw-cat="institutes"]::before{content:"";position:absolute;left:4px;right:4px;top:-6px;border-top:1px solid var(--line)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-identity{margin:auto 0 0;padding:12px 4px 0;font-size:11.5px;line-height:1.55;color:var(--paper-3);border-top:1px solid var(--line)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-identity b{display:block;margin-bottom:3px;font:700 12.5px var(--font-title);letter-spacing:.1em;color:var(--brass)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-identity span{display:block;margin-top:5px;color:var(--warn);opacity:.85}

/* ── main column: subhead · canvas · legend ── */
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-main{grid-row:2;display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--ink-1)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-subhead{flex:none;display:flex;align-items:center;gap:6px 14px;min-height:58px;padding:6px 10px 6px 14px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#1d1d1b,#141512)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-subhead h3{flex:none;margin:0;font:700 20px/1.2 var(--font-title);letter-spacing:.14em;color:var(--brass-hi);white-space:nowrap}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-prodline{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;font-size:11.5px;line-height:1.35;color:var(--paper-3)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-prodline span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-prodline b{color:var(--paper-2);font-weight:600}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-tools{flex:none;max-width:100%;margin-left:auto;display:flex;flex-wrap:wrap;gap:6px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-now-btn{min-height:44px;margin:0;padding:0 12px;display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:600;letter-spacing:.06em;
 background:linear-gradient(180deg,#2e2e2c,#20201f);border:1px solid var(--brass);color:var(--brass-hi);box-shadow:inset 0 1px #ede8d911,0 2px 6px #00000088}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-now-btn .rw-ic{width:17px;height:17px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-now-btn small{font-size:12px;color:var(--paper-2);padding-left:6px;border-left:1px solid var(--brass-lo)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-toggle{min-height:44px;margin:0;padding:0 12px;display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--paper-2);background:#0f0f0d;border:1px solid var(--line-hi);box-shadow:none}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-toggle[aria-pressed="true"]{color:var(--brass-hi);border-color:var(--brass);background:linear-gradient(180deg,#2e2e2c,#20201f)}

/* canvas: native scrolling, blueprint grid on the tree itself */
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-canvas{flex:1;min-height:0;position:relative;display:block;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;scroll-padding:42px 12px 12px 54px;background:#10100e;cursor:grab}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-canvas.rw-dragging{cursor:grabbing;user-select:none}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-canvas:focus-visible{outline:2px solid var(--brass-hi);outline-offset:-2px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-tree{position:relative;margin:0;background-color:#121310;
 background-image:linear-gradient(#79acd612 1px,transparent 1px),linear-gradient(90deg,#79acd612 1px,transparent 1px),linear-gradient(#79acd608 1px,transparent 1px),linear-gradient(90deg,#79acd608 1px,transparent 1px);
 background-size:96px 96px,96px 96px,24px 24px,24px 24px}
/* year ruler: pinned to the top while panning */
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-ruler{position:sticky;top:0;z-index:5;display:flex;height:34px;background:linear-gradient(180deg,#232421,#181816);border-bottom:1px solid var(--brass-lo);box-shadow:0 4px 10px #00000099}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-ruler-corner{position:sticky;left:0;z-index:2;flex:none;display:flex;align-items:center;justify-content:center;width:46px;height:100%;font-size:10.5px;letter-spacing:.2em;color:var(--paper-3);background:#1d1d1b;border-right:1px solid var(--brass-lo)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-tick{position:absolute;top:0;bottom:0;display:flex;align-items:center;justify-content:center;gap:5px;border-left:1px solid var(--line);color:var(--paper-2)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-tick b{font-size:18px;color:var(--paper)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-tick small{font-size:10.5px;letter-spacing:.12em;color:var(--paper-3)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-now-tag{position:absolute;top:8px;z-index:1;transform:translateX(-50%);padding:0 6px;font:700 11px/18px var(--font-title);color:#10110f;background:var(--brass-hi);border-radius:2px;box-shadow:0 1px 4px #000000aa}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-now{position:absolute;width:0;border-left:1.5px dashed #ddd0a68c;pointer-events:none}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-band{position:absolute;top:34px;bottom:0;border-left:1px solid #79acd614;pointer-events:none}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-band[data-alt="1"]{background:#ede8d905}
/* branch lanes: label pinned to the left gutter, written vertically */
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-lane{position:absolute;left:0;border-top:1px solid #48484566;pointer-events:none}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-lane[data-alt="1"]{background:#79acd607}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-lane span{position:sticky;left:0;z-index:3;display:flex;align-items:center;justify-content:center;width:46px;height:100%;box-sizing:border-box;padding:6px 0;overflow:hidden;
 background:linear-gradient(90deg,#1b1b19,#141512);border-right:1px solid var(--brass-lo);box-shadow:3px 0 8px #00000077}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-lane span b{display:block;width:1.05em;font:700 13px/1.16 var(--font-title);text-align:center;color:var(--paper-2);white-space:normal;word-break:break-all;overflow-wrap:anywhere}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-lane span[data-long] b{font-size:11px;line-height:1.1;width:2.1em}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-lane[data-alt="1"] span{background:linear-gradient(90deg,#1f1f1c,#171816)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-or{position:absolute;height:0;border-top:1.5px dashed #d4573fa6;text-align:center;pointer-events:none}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-or{text-align:left}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-or span{position:sticky;left:58px;display:inline-block;margin:-11px 0 0 12px;padding:2px 10px;font-size:11.5px;letter-spacing:.08em;color:#f0a593;background:#111110;border:1px solid #d4573f80;border-radius:2px}
/* connectors */
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-lines{position:absolute;left:0;top:0;pointer-events:none;overflow:visible}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-edge{fill:none;stroke:#484845;stroke-width:2;stroke-linejoin:round}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-arrow{fill:#484845;stroke:none}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-edge[data-state="locked"]{stroke-dasharray:5 5}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-edge[data-state="ready"]{stroke:#83827b}html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-arrow[data-state="ready"]{fill:#83827b}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-edge[data-state="available"]{stroke:var(--paper)}html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-arrow[data-state="available"]{fill:var(--paper)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-edge[data-state="gated"]{stroke:var(--warn);stroke-dasharray:2 4}html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-arrow[data-state="gated"]{fill:var(--warn)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-edge[data-state="active"]{stroke:var(--brass-hi);stroke-width:2.5}html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-arrow[data-state="active"]{fill:var(--brass-hi)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-edge[data-state="done"]{stroke:var(--brass);stroke-width:2.5}html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-arrow[data-state="done"]{fill:var(--brass)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-edge[data-state="excluded"]{stroke:#d4573f80;stroke-dasharray:3 5}html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-arrow[data-state="excluded"]{fill:#d4573f80}

/* ── node cards ── */
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-node{position:absolute;width:184px;height:76px;margin:0;padding:0;display:flex;align-items:stretch;text-align:left;overflow:visible;
 background:linear-gradient(180deg,#232421,#181816);border:1px solid var(--line-hi);border-radius:3px;box-shadow:0 2px 6px #00000099,inset 0 1px #ede8d90d;color:var(--paper)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-node-art{flex:0 0 64px;display:flex;align-items:center;justify-content:center;border-right:1px solid #00000099;border-radius:2px 0 0 2px;color:var(--paper-2);background:radial-gradient(ellipse at 50% 55%,#79acd61f,transparent 70%),#121310}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-node-art svg{width:60px;height:30px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-node-txt{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:2px;padding:4px 8px 5px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-node-meta{display:flex;align-items:center;gap:6px;height:13px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-year{font:600 12px/1 var(--font-num);letter-spacing:.04em;color:var(--paper-3)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-cross{display:inline-flex;color:var(--info)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-req{display:inline-flex;align-items:center;gap:1px;padding:0 3px;font:600 10.5px/13px var(--font-num);color:var(--warn);border:1px solid #beb08766;border-radius:2px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-req .rw-ic,html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-cross .rw-ic{width:11px;height:11px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;line-height:1.22;font-weight:600;color:var(--paper);overflow-wrap:anywhere}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-foot{display:flex;align-items:center;gap:3px;font-size:11px;line-height:14px;color:var(--paper-2);white-space:nowrap;overflow:hidden}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-foot .rw-num{font-size:13px;color:var(--paper)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-foot em{font-style:normal;font-size:10.5px;color:var(--warn)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-foot .rw-ic{width:11px;height:11px;color:var(--paper-3)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-node .rw-bar{height:4px;margin:1px 0}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-mark{position:absolute;top:-9px;right:-9px;z-index:1;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--ink-0);border:1.5px solid var(--line-hi);color:var(--paper-3);box-shadow:0 1px 3px #000000aa}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-mark .rw-ic{width:12px;height:12px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-ring{width:24px;height:24px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-ring circle{fill:none;stroke:#000000cc;stroke-width:3.5}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-ring .rw-ring-v{stroke:var(--brass-hi);stroke-width:3.5}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-prod{position:absolute;left:70px;bottom:-8px;z-index:1;padding:0 6px;font:700 10.5px/15px var(--font-ui);letter-spacing:.14em;color:var(--go-ink);background:var(--go);border-radius:2px;box-shadow:0 1px 3px #000000aa}
/* status */
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-node[data-status="base"]{background:linear-gradient(180deg,#272724,#1a1a18);border-color:#79acd666}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-node[data-status="base"] .rw-node-art{color:#a9c8df}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-node[data-status="done"]{background:linear-gradient(180deg,#1f1f1e,#141513);border-color:#6f6548b3}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-node[data-status="done"] .rw-node-art{color:#a39671;background:radial-gradient(ellipse at 50% 55%,#b4a67d1f,transparent 70%),#11110f}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-node[data-status="done"] .rw-name{color:#bfbaaa}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-node[data-status="done"] .rw-mark{background:#2b2b29;border-color:var(--brass);color:var(--brass-hi)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-node[data-status="active"]{background:linear-gradient(180deg,#2d2d2c,#1c1c1b);border-color:var(--brass-hi);box-shadow:0 0 0 1px #000000,0 0 14px #b4a67d59}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-node[data-status="active"] .rw-node-art{color:var(--brass-hi);background:radial-gradient(ellipse at 50% 55%,#ddd0a62e,transparent 70%),#151514}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-node[data-status="active"] .rw-mark{border:0;background:#151514;width:24px;height:24px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-node[data-status="active"]::after{content:"";position:absolute;inset:-5px;border:1px solid #ddd0a680;border-radius:5px;pointer-events:none;opacity:.25;animation:rw-glow 2.4s ease-in-out infinite}
@keyframes rw-glow{50%{opacity:1}}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-node[data-status="available"]{border-color:var(--paper);box-shadow:0 0 0 1px #000000aa,0 0 10px #d4cfbf29,inset 0 1px #ede8d914;background:linear-gradient(180deg,#2b2b28,#1e1e1b)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-node[data-status="available"] .rw-node-art{color:var(--paper)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-node[data-status="locked"]{background:#151613;border-style:dashed;border-color:#484845;box-shadow:none}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-node[data-status="locked"] .rw-node-art{color:#64625a;background:#111210}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-node[data-status="locked"] .rw-node-txt{opacity:.7}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-node[data-status="gated"]{background:#151514;border:1px dotted var(--warn);box-shadow:none}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-node[data-status="gated"] .rw-node-art{color:#8f866b;background:#10100f}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-node[data-status="gated"] .rw-foot{color:var(--warn)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-node[data-status="excluded"]{background:repeating-linear-gradient(135deg,#d4573f24 0 6px,transparent 6px 12px),#111111;border-color:#d4573f8c;box-shadow:none}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-node[data-status="excluded"] .rw-node-art{color:#7a4c44;background:transparent}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-node[data-status="excluded"] .rw-name{color:#929088;text-decoration:line-through;text-decoration-color:#d4573fb3}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-node[data-status="excluded"] .rw-mark{color:var(--stop);border-color:#d4573f99}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-node[data-kind="component"] .rw-node-art{border-radius:2px 0 0 2px;background-image:radial-gradient(circle at 50% 50%,#79acd61a 0 40%,transparent 41%)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-node[aria-pressed="true"]{z-index:2;outline:2px solid var(--brass-hi);outline-offset:3px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-node:focus-visible{outline:2px solid #e2dccc;outline-offset:3px}
@media (prefers-reduced-motion:reduce){html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-node[data-status="active"]::after{animation:none;opacity:.7}}

/* legend strip */
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-legend{flex:none;display:flex;flex-wrap:wrap;align-items:center;gap:2px 0;padding:5px 12px;font-size:11px;color:var(--paper-3);border-top:1px solid var(--line);background:#0f0f0d}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-legend i{display:inline-block;width:16px;height:11px;margin:0 5px 0 12px;border:1.5px solid var(--line-hi);border-radius:2px;background:#151613}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-legend i:first-child{margin-left:0}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-legend span{display:inline-flex;align-items:center;gap:4px;margin-left:14px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-legend span .rw-ic{width:12px;height:12px;color:var(--info)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-legend span:last-child .rw-ic{color:var(--warn)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-legend [data-status="done"]{border-color:var(--brass);background:#1f1f1e}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-legend [data-status="active"]{border-color:var(--brass-hi);background:#2d2d2c;box-shadow:0 0 6px #b4a67d80}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-legend [data-status="available"]{border-color:var(--paper);background:#2b2b28}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-legend [data-status="locked"]{border-style:dashed}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-legend [data-status="gated"]{border:1.5px dotted var(--warn)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-legend [data-status="excluded"]{border-color:#d4573f;background:repeating-linear-gradient(135deg,#d4573f66 0 2px,transparent 2px 4px)}

/* ── detail dossier ── */
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-detail{grid-row:2;display:flex;flex-direction:column;min-width:0;min-height:0;border-left:1px solid var(--line);background:linear-gradient(180deg,#171816,#10110f)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-detail-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:12px 14px 16px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-hero{position:relative;height:136px;margin:0 0 10px;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid var(--line-hi);border-radius:3px;color:var(--paper);
 background:radial-gradient(ellipse at 50% 60%,#79acd626,transparent 65%),linear-gradient(#79acd610 1px,transparent 1px) 0 0/16px 16px,linear-gradient(90deg,#79acd610 1px,transparent 1px) 0 0/16px 16px,#10110e;box-shadow:inset 0 0 24px #000000aa}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-hero>svg{height:84%;width:auto;max-width:92%}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-hero[data-status="done"]{color:var(--brass)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-hero[data-status="active"]{color:var(--brass-hi);border-color:var(--brass-lo)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-hero[data-status="locked"],html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-hero[data-status="gated"]{color:#7b7972}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-hero[data-status="excluded"]{color:#8a5148}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-hero[data-status="base"]{color:#a9c8df}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-painted{position:absolute;inset:0;background-repeat:no-repeat}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-hero-year{position:absolute;right:8px;bottom:5px;font-size:24px;line-height:1;color:#d4cfbf4d}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-detail header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-detail h3{margin:0;font:700 19px/1.3 var(--font-title);letter-spacing:.06em;color:var(--paper)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-pill{flex:none;margin-top:2px;padding:2px 8px;font-size:11.5px;line-height:16px;letter-spacing:.06em;white-space:nowrap;border:1px solid var(--line-hi);border-radius:2px;color:var(--paper-2);background:#0f0f0d}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-pill[data-status="done"]{border-color:var(--brass);color:var(--brass-hi);background:#1f1f1e}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-pill[data-status="active"]{border-color:var(--brass-hi);color:#10110f;background:var(--brass-hi)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-pill[data-status="available"]{border-color:var(--paper);color:var(--paper)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-pill[data-status="gated"]{border-color:var(--warn);color:var(--warn)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-pill[data-status="excluded"]{border-color:#d4573f;color:#f0a593}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-pill[data-status="base"]{border-color:#79acd6;color:#a9c8df}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-role{margin:4px 0 0;font-size:12px;line-height:1.5;color:var(--paper-2)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-facts{display:flex;flex-wrap:wrap;gap:1px;margin:10px 0 6px;background:var(--line);border:1px solid var(--line);border-radius:3px;overflow:hidden}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-facts>span{flex:1 1 48px;display:flex;flex-direction:column;gap:3px;padding:6px 7px;background:#131412}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-facts small{font-size:10.5px;letter-spacing:.06em;color:var(--paper-3);white-space:nowrap}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-facts em{font-style:normal;font-size:11px;color:var(--paper-2);white-space:nowrap}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-facts em b{font-size:18px;line-height:1;color:var(--paper)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-facts .rw-ahead em b{color:var(--warn)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-progress{display:flex;align-items:center;gap:10px;margin:6px 0}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-progress .rw-bar{flex:1;height:9px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-progress b{font-size:17px;color:var(--brass-hi)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-time{margin:4px 0 0;font-size:11.5px;color:var(--paper-3)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-detail h4{display:flex;align-items:center;gap:8px;margin:14px 0 6px;font:700 13px/1.3 var(--font-title);letter-spacing:.16em;color:var(--brass)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-detail h4::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--line-hi),transparent)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-detail h4 small{font:400 11px var(--font-ui);letter-spacing:0;color:var(--paper-3)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-effects{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-effects li{display:flex;align-items:flex-start;gap:8px;padding:6px 9px;font-size:13px;line-height:1.5;color:var(--paper);background:#131412;border:1px solid var(--line);border-left:3px solid var(--line-hi);border-radius:2px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-effects li>.rw-ic{width:12px;height:12px;margin-top:4px;color:var(--paper-3)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-effects li[data-tone="up"]{border-left-color:var(--go)}html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-effects li[data-tone="up"]>.rw-ic{color:var(--go)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-effects li[data-tone="down"]{border-left-color:var(--stop)}html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-effects li[data-tone="down"]>.rw-ic{color:var(--stop)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-effects li[data-tone="design"]{border-left-color:var(--brass)}html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-effects li[data-tone="design"]>.rw-ic{color:var(--brass-hi)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-effects li[data-tone="unlock"]{border-left-color:var(--info)}html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-effects li[data-tone="unlock"]>.rw-ic{color:var(--info)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-up{color:var(--go);font-family:var(--font-num);font-size:14px;font-weight:600}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-down{color:#ef8a73;font-family:var(--font-num);font-size:14px;font-weight:600}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-note{margin:6px 0;font-size:11.5px;line-height:1.5;color:var(--paper-3)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-note .rw-ic{color:var(--warn);margin-right:3px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-excl{padding:6px 8px;border-left:3px solid #d4573f99;background:#d4573f12;color:#beb9a9}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-hint{margin:48px 12px;text-align:center;color:var(--paper-3)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-chips{display:flex;flex-wrap:wrap;gap:6px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-chip{display:inline-flex;align-items:center;gap:7px;min-height:44px;max-width:100%;margin:0;padding:4px 12px 4px 10px;text-align:left;font-size:13px;line-height:1.3;
 background:linear-gradient(180deg,#272725,#1c1c1a);border:1px solid var(--line-hi);border-radius:3px;box-shadow:inset 0 1px #ede8d90d;color:var(--paper)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-chip>span{min-width:0}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-chip small{color:var(--paper-3);font-size:11px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-chip .rw-ic{color:var(--paper-3)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-chip[data-state="done"]{border-color:#6f6548}html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-chip[data-state="done"] .rw-ic{color:var(--brass-hi)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-chip[data-state="active"]{border-color:var(--brass-hi)}html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-chip[data-state="active"] .rw-ic{color:var(--brass-hi)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-chip[data-state="available"]{border-color:var(--paper)}html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-chip[data-state="available"] .rw-ic{color:var(--paper)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-chip[data-state="excluded"]{border-color:#d4573f80;color:#929088}
/* equipment comparison + production mix */
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-compare{display:grid;gap:5px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-stat{display:grid;grid-template-columns:44px 1fr 72px;gap:8px;align-items:center;font-size:12px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-stat>span:first-child{color:var(--paper-2)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-stat>b{text-align:right;white-space:nowrap;font-size:14px;color:var(--paper)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-stat>b small{margin-left:3px;font-size:11.5px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-track{position:relative;height:10px;background:#000000aa;border:1px solid var(--line);border-radius:1px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-track i{position:absolute;left:0;top:0;bottom:0}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-track .rw-cur{background:#d4cfbf2e}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-track .rw-new{top:3px;bottom:3px;background:var(--brass)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-mix{margin-top:12px;padding:8px 10px 10px;background:#131412;border:1px solid var(--line-hi);border-radius:3px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-mix h4{margin-top:0}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-mix ul{list-style:none;margin:0;padding:0}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-mix li{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding:4px 0;border-bottom:1px dotted var(--line-hi)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-weight{display:inline-flex;align-items:center;gap:6px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-weight b{min-width:16px;text-align:center;font-size:16px;color:var(--brass-hi)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-weight button{width:40px;height:40px;min-height:40px;padding:0;font-size:18px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-actions button{min-height:44px;padding:0 12px;font-size:13px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-primary{background:linear-gradient(180deg,#ccbf95,#968961);border:1px solid #cec9ba;color:#10100e;font-weight:700;box-shadow:0 0 0 1px #000000aa,inset 0 1px #ede8d966}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-primary:disabled{background:#232322;border-color:var(--line-hi);color:var(--paper-3);box-shadow:none}
/* docked action */
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-cta{flex:none;display:flex;flex-direction:column;gap:8px;padding:10px 14px calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--brass-lo);background:linear-gradient(180deg,#1e1e1c,#121311);box-shadow:0 -8px 16px #00000099}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-cta>button{width:100%;min-height:56px;margin:0;display:flex;align-items:center;justify-content:center;gap:12px;padding:6px 14px;border-radius:3px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-cta>button>.rw-ic{width:20px;height:20px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-cta>button>span{display:flex;flex-direction:column;align-items:flex-start;gap:2px;line-height:1.15}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-cta>button b{font:700 19px/1.1 var(--font-title);letter-spacing:.24em}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-cta>button small{font-size:11.5px;letter-spacing:.04em}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-go{box-shadow:0 0 0 1px #000000aa,0 4px 16px #b4a67d47,inset 0 1px #ede8d977}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-go small{color:#2b2b29}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-go:disabled small{color:var(--paper-3)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-stop{background:linear-gradient(180deg,#5d2a20,#3b1912);border:1px solid #d4573f;color:#ded8c8;box-shadow:0 0 0 1px #000000aa,inset 0 1px #ede8d91a}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-stop small{color:#c0baab}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-cta>button[data-rw-cat-go]{min-height:48px;background:linear-gradient(180deg,#282825,#1d1d1b);border:1px solid var(--warn);color:var(--warn);font-size:14px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-gate{display:flex;align-items:flex-start;gap:8px;margin:0;padding:8px 10px;font-size:12.5px;line-height:1.5;color:var(--paper);border-left:3px solid var(--warn);background:#beb0871a;border-radius:2px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-gate b{color:var(--warn)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-gate-lock{border-left-color:var(--line-hi);background:#131412;color:var(--paper-2)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-gate-lock .rw-ic{margin-top:3px;color:var(--paper-3)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-gate-x{border-left-color:var(--stop);background:#d4573f14;color:#beb9a9}

/* ── institutes and intelligence ── */
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-canvas.rw-inst-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;padding:14px;align-content:start;cursor:default;background:#121310}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-inst{display:flex;flex-direction:column;gap:8px;padding:10px;background:linear-gradient(180deg,#1d1d1b,#131412);border:1px solid var(--line-hi);border-radius:3px;box-shadow:0 3px 10px #00000077}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-inst[aria-current="true"]{border-color:var(--brass);box-shadow:0 0 0 1px var(--brass),0 0 14px var(--brass-glow)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-inst[data-active="false"]{border-color:#d4573f8c;background:repeating-linear-gradient(135deg,#d4573f14 0 6px,transparent 6px 12px),#111111}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-inst-pick{display:grid;grid-template-columns:76px 1fr auto;gap:10px;align-items:center;min-height:52px;margin:0;padding:0;text-align:left;background:none;border:0;box-shadow:none;color:inherit}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-inst-pick b{display:block;font:700 15px/1.25 var(--font-title);letter-spacing:.04em;color:var(--paper)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-inst-pick small{font-size:11.5px;color:var(--paper-3)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-inst-art .rw-art{width:76px;height:40px;color:var(--brass)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-pips{display:inline-flex;gap:5px;padding-right:4px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-pips i{display:inline-block;width:9px;height:9px;border:1px solid var(--brass);transform:rotate(45deg)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-pips i[data-on="true"]{background:var(--brass-hi)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-inst p{margin:0;font-size:12.5px;line-height:1.5;color:var(--paper-2)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-inst-q{display:grid;gap:4px;font-size:12px;color:var(--paper-2)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-inst-q b{color:var(--brass-hi)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-inst>button{min-height:44px;margin:0;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:13px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-locate .rw-ic{color:var(--brass)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-lost{color:#ef8a73}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-events{grid-column:1/-1;font-size:12px;color:var(--paper-3)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-events h4{margin:4px 0;font:700 13px var(--font-title);letter-spacing:.14em;color:var(--brass)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-plain{margin:4px 0 8px 18px;padding:0;font-size:12.5px;line-height:1.55;color:var(--paper-2)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-plain li{margin:3px 0}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-canvas.rw-intel-list{display:block;padding:14px;cursor:default;background:#121310}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-intel{margin-bottom:10px;padding:8px 12px;background:#131412;border:1px solid var(--line);border-left:3px solid var(--info);border-radius:3px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-intel h4{margin:0 0 4px;font:700 14px var(--font-title);letter-spacing:.06em;color:var(--paper)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-intel p{margin:3px 0;font-size:12.5px;color:var(--paper-2)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-subhead .rw-prodline span{display:inline}
html body.playable-integrated .command-ui.hoi-ui section.rw-window[data-rw-view="institutes"] .rw-prodline,html body.playable-integrated .command-ui.hoi-ui section.rw-window[data-rw-view="intel"] .rw-prodline{flex-direction:row;flex-wrap:wrap;gap:2px 14px}

/* ── sizes: 1366 wide gets more room; 1024 tightens; short screens slim the header ── */
@media (min-width:1300px){html body.playable-integrated .command-ui.hoi-ui section.rw-window{grid-template-columns:208px minmax(0,1fr) 352px}}
@media (max-width:1100px){
 html body.playable-integrated .command-ui.hoi-ui section.rw-window{grid-template-columns:142px minmax(0,1fr) 284px}
 html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-meta{display:none}
 html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-nation h2{font-size:19px;letter-spacing:.1em}
 html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-slot-art{flex-basis:60px}
 html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-cats button{grid-template-columns:34px minmax(0,1fr);column-gap:6px;padding-left:4px;padding-right:6px}
 html body.playable-integrated .command-ui.hoi-ui section.rw-window :is(.rw-cat-avail,.rw-cat-act){left:18px}
 html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-cat-art{height:22px}
 html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-cat-name>b{font-size:13px}
 html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-identity{display:none}
 html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-now-btn{padding:0 10px}
 html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-toggle span{max-width:5.5em;line-height:1.2;white-space:normal}
 html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-subhead h3{font-size:18px;letter-spacing:.08em}
}
@media (max-height:800px){
 html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-head{min-height:72px;padding-top:5px;padding-bottom:5px}
 html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-slot{height:58px}
 html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-subhead{min-height:54px;padding-top:4px;padding-bottom:4px}
 html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-cats button{min-height:50px}
 html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-hero{height:112px}
}
.command-ui.hoi-ui .rw-source{margin-top:20px;padding:14px;border:1px solid #736b54;border-left:3px solid #baae89;background:linear-gradient(125deg,#252624,#171716);color:#c0bbab;font-size:12px;line-height:1.65}
.command-ui.hoi-ui .rw-source h4{margin:0 0 8px;color:#c7c2b3;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between}
.command-ui.hoi-ui .rw-source h4 small{font-size:10px;letter-spacing:1px;color:#ada489}
.command-ui.hoi-ui .rw-source p{margin:8px 0;overflow-wrap:anywhere}
.command-ui.hoi-ui .rw-source a{display:block;color:#c9bc97;padding:7px 0;min-height:32px}
.command-ui.hoi-ui .rw-source summary{cursor:pointer;padding:9px 0;min-height:36px}
.command-ui.hoi-ui .rw-source code{font-size:11px;overflow-wrap:anywhere}
@media (max-width:860px){
 html body.playable-integrated .command-ui.hoi-ui section.rw-window{inset:84px 0 0;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr) minmax(0,42%)}
 html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-head{flex-wrap:wrap}
 html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-slots{order:3;flex-basis:100%}
 html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-cats{grid-row:auto;flex-direction:row;border-right:0;border-bottom:1px solid var(--line);padding:6px}
 html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-cats button{grid-template-columns:30px auto}
 html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-identity{display:none}
 html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-main,html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-detail{grid-row:auto}
 html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-detail{border-left:0;border-top:1px solid var(--brass-lo)}
 html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-hero{height:96px}
 html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-prodline{display:none}
}

/* Research atlas: readable branch labels, calendar columns, direct navigation. */
html body.playable-integrated .command-ui.hoi-ui section.rw-window{grid-template-columns:156px minmax(0,1fr) 304px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-subhead{flex-wrap:wrap;gap:4px 12px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-prodline{display:none}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-node{width:200px;height:86px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-node-art{flex-basis:62px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-node-art svg{width:60px;height:44px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-name{font-size:13px;line-height:1.3;-webkit-line-clamp:3}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-ruler-corner{width:120px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-lane span{width:120px;align-items:flex-start;padding:22px 10px;text-align:left}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-lane span b,
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-lane span[data-long] b{width:100%;font-size:12px;line-height:1.6;text-align:left;word-break:normal}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-canvas{scroll-padding:42px 16px 16px 130px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-navigation{flex:none;display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;padding:6px 12px;border-bottom:1px solid var(--line);background:var(--ink-1)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-navigation label{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--paper-3);white-space:nowrap}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-navigation select{min-height:42px;max-width:170px;background:var(--ink-2);color:var(--paper);border:1px solid var(--line-hi);padding:0 24px 0 8px;font:12px var(--font-ui);border-radius:2px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-segments{display:flex;gap:0}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-segments button,
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-detail-toggle{min-height:42px;background:var(--ink-2);border:1px solid var(--line-hi);padding:6px 12px;font-size:12px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-segments button[aria-pressed="true"]{color:var(--brass-hi);box-shadow:inset 0 -3px var(--brass);background:var(--ink-3)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-tree-count{font-size:10px;color:var(--paper-3)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-detail-toggle{display:none}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-node[data-status="active"]::after{animation:none}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-node[data-status="done"]{border-left:3px solid #76756d!important}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-node[data-status="available"]{border-left:3px solid #b9af8e!important}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-node[data-status="active"]{border-left:3px solid #ccbe94!important}
@media (max-width:1100px){
 html body.playable-integrated .command-ui.hoi-ui section.rw-window{grid-template-columns:132px minmax(0,1fr)}
 html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-detail{display:none}
 html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-detail-toggle{display:block}
 html body.playable-integrated .command-ui.hoi-ui section.rw-window[data-rw-detail-open="true"] .rw-detail{display:flex;position:absolute;right:0;top:80px;bottom:0;width:min(342px,75%);z-index:7;box-shadow:-8px 0 20px #00000099!important;background:var(--ink-1)}
 html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-navigation{padding-right:8px}
 html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-tree-count{display:none}
 html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-slot-art{display:none}
 html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-slot-plus{flex-basis:24px}
}
@media (max-width:860px){
 html body.playable-integrated .command-ui.hoi-ui section.rw-window{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr)}
 html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-cats{overflow-x:auto;overflow-y:hidden;min-height:60px;flex-wrap:nowrap}
 html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-cats button{flex:0 0 auto;min-width:104px}
 html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-subhead{min-height:46px}
 html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-subhead h3{font-size:16px}
 html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-navigation{gap:4px 8px;padding:4px 8px}
 html body.playable-integrated .command-ui.hoi-ui section.rw-window[data-rw-detail-open="true"] .rw-detail{top:140px;width:min(360px,88%)}
 html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-navigation .rw-year-select{display:none}
}

html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-detail-close{display:none}
@media (max-width:1100px){html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-detail-close{display:block;min-height:44px;flex:none;width:100%;text-align:right;padding:8px 16px;background:var(--ink-2);border:0;border-bottom:1px solid var(--brass-lo);color:var(--brass-hi)}}

/* Sticky labels and overlay details must cover the scrolling tree in every skin. */
html body.playable-integrated .command-ui.hoi-ui section.rw-window[data-rw-detail-open] .rw-ruler .rw-ruler-corner,
html body.playable-integrated .command-ui.hoi-ui section.rw-window[data-rw-detail-open] .rw-tree .rw-lane>span{background:#0f0f0f!important}
@media (max-width:1100px){
 html[data-ui-theme] body.playable-integrated .command-ui.hoi-ui section.rw-window[data-rw-detail-open="true"] aside.rw-detail{background:#0f0f0f!important;border-left:1px solid #867e67!important}
}

/* ── 65-focus.css ── */
/* NATIONAL-FOCUS-1 · 国策与国家精神 window. Iron plate, a war-room tree on dark steel, category bands with a coloured
   index rule, focus badges with clear states (done gold rim, active progress ring, available bright, locked muted,
   excluded struck through), spirits rail, docked detail sheet with one primary action. Touch first: every target is
   at least 44 px, nothing depends on hover, no filters on large areas (only on small badges). */
html body.playable-integrated .command-ui.hoi-ui section.nf-window{--nf-ink:#0a0a09;--nf-line:#252524;position:fixed;inset:84px 8px 8px;z-index:40;display:grid;grid-template-columns:236px minmax(0,1fr) 320px;grid-template-rows:auto minmax(0,1fr);
 color:var(--paper,#c1bcac);font:13px/1.45 var(--font-ui,system-ui);background:var(--ir-plate,#121211);border:1px solid #000000;box-shadow:0 0 0 1px #000000cc,0 18px 48px #000000bb,inset 0 1px 0 #ede8d910;pointer-events:auto;overflow:hidden}
html body.playable-integrated .command-ui.hoi-ui section.nf-window button{font-family:inherit;color:inherit;cursor:pointer}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-loading{grid-column:1/-1;padding:40px;text-align:center;font-size:16px;letter-spacing:.2em}

/* ── header ── */
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-head{grid-column:1/-1;display:flex;align-items:center;gap:14px;min-height:78px;padding:8px 12px 8px 16px;border-bottom:1px solid #000000;
 background:linear-gradient(90deg,var(--ir-mark,#c8c3b3) 0 4px,transparent 4px),linear-gradient(90deg,color-mix(in srgb,var(--nation) 32%,transparent),transparent 40%),linear-gradient(180deg,#0b0b0a,#141413)}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-title{flex:none;min-width:0}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-title h2{margin:0;font:800 22px/1.1 var(--font-title,serif);letter-spacing:.18em;color:var(--ir-bone,#c1bcac)}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-title small{display:block;margin-top:4px;color:var(--ir-khaki,#cac2a8);letter-spacing:.24em;font-size:11px}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-current{flex:1;display:flex;align-items:center;gap:12px;min-width:0;max-width:520px;margin-left:auto;padding:6px 14px 6px 6px;min-height:62px;text-align:left;background:#00000059;border:1px solid #000000;box-shadow:inset 0 0 0 1px #ede8d90d}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-current>span:last-child{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-current small{font-size:11px;color:var(--ir-bone-2,#9e967e);letter-spacing:.08em}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-current b{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-current.nf-idle{flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;padding-left:16px;border-left:4px solid var(--ir-red,#8c2c20);background:#3d110b80}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-current.nf-idle b{color:var(--ir-alert,#ee8b72);letter-spacing:.2em}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-close{flex:none;width:48px;height:48px;font-size:26px;line-height:1;background:#00000088;border:1px solid #000000}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-node-bar{display:block;height:5px;background:#000000aa;box-shadow:inset 0 0 0 1px #ede8d90d;overflow:hidden}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-node-bar i{display:block;height:100%;background:linear-gradient(90deg,#83795b,var(--ir-mark,#c8c3b3))}

/* ── spirits rail ── */
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-side{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:10px 10px 18px;border-right:1px solid #000000;background:#0000002e}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-side h3{display:flex;justify-content:space-between;align-items:baseline;margin:10px 2px 8px;font:700 13px/1 var(--font-title,serif);letter-spacing:.28em;color:var(--ir-khaki,#cac2a8)}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-side h3:first-child{margin-top:2px}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-spirits{display:flex;flex-direction:column;gap:6px}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-spirit{display:grid;grid-template-columns:60px minmax(0,1fr);gap:8px;align-items:center;min-height:60px;padding:4px 6px 4px 4px;text-align:left;background:#0b0b0a;border:1px solid #000000;border-left:3px solid #b0a78a}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-spirit[data-tone="bad"]{border-left-color:#a3352a}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-spirit[data-tone="mixed"]{border-left-color:#c98a3a}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-spirit[aria-pressed="true"]{background:#1f1f1e;box-shadow:inset 0 0 0 1px var(--ir-mark,#c8c3b3)}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-spirit-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-spirit-txt b{font-size:13px;line-height:1.25}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-spirit-txt small{display:flex;flex-wrap:wrap;gap:2px 8px}
html body.playable-integrated .command-ui.hoi-ui section.nf-window em{font-style:normal;font-size:11px;color:var(--ir-bone-2,#9e967e)}
html body.playable-integrated .command-ui.hoi-ui section.nf-window em[data-good="true"]{color:#a9c27e}.nf-window em[data-good="false"]{color:var(--ir-alert,#ee8b72)}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-note,html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-summary{margin:10px 2px;font-size:12px;color:var(--ir-bone-2,#9e967e)}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-bonus,html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-events{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-bonus li,html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-events li{padding:5px 8px;background:#0000004d;border-left:2px solid var(--ir-khaki-lo,#6a634b);font-size:12px}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-events b{display:block;font-size:11px;letter-spacing:.12em;color:var(--ir-khaki,#cac2a8)}

/* ── tree canvas ── */
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-main{position:relative;display:flex;flex-direction:column;min-width:0;min-height:0}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-canvas{flex:1;min-height:0;overflow:auto;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;
 background:radial-gradient(ellipse at 50% 0%,#20201e 0%,#0f0f0e 70%),#0f0f0e;cursor:grab}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-canvas.nf-dragging{cursor:grabbing}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-tree{position:relative;background-image:linear-gradient(#ede8d906 1px,transparent 1px),linear-gradient(90deg,#ede8d906 1px,transparent 1px);background-size:32px 32px}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-band{position:absolute;top:0;bottom:0;border-left:1px solid #ede8d908;border-right:1px solid #ede8d908;background:linear-gradient(180deg,color-mix(in srgb,var(--rim) 18%,transparent),transparent 220px)}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-band span{position:sticky;top:0;display:block;padding:8px 10px 6px;border-top:3px solid var(--rim);font:700 12px/1 var(--font-title,serif);letter-spacing:.34em;color:var(--ir-bone,#c1bcac);background:#0b0c0bd9;z-index:2}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-lines{position:absolute;left:0;top:0;pointer-events:none}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-edge{fill:none;stroke:#4f504e;stroke-width:3;stroke-linejoin:round}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-edge[data-state="done"]{stroke:var(--ir-mark,#c8c3b3)}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-edge[data-kind="any"]{stroke-dasharray:7 6}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-excl{stroke:var(--ir-red-hi,#b4402f);stroke-width:2.5;stroke-dasharray:4 5}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-excl-mark circle{fill:#1a0c09;stroke:var(--ir-red-hi,#b4402f);stroke-width:2}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-excl-mark path{stroke:#f0b7a8;stroke-width:2;stroke-linecap:round}
/* ── NATIONAL-FOCUS-ART-2: painted icons in national frames ──
   .nf-ic = one painting (<img>, clipped to the frame window) under one SVG frame ring. The window geometry here
   must match focusFrames.ts (viewBox 100: GERMAN octagon 10–90 chamfer 10, SOVIET rounded 11–89 r5, ITALIAN
   arch 10–90 springing at 42, BRITISH circle r39, MINOR rounded 9–91 r2.5, SPIRIT 8–92). States are read from
   the node: available = bright with a breathing halo, active = gold halo + progress ring, done = gilt window
   rim + gold seal, locked = dark monochrome, excluded = dark red-washed monochrome with a struck plaque. */
html body .nf-defs{position:absolute;width:0;height:0;overflow:hidden}
html body .nf-ic{position:relative;display:block;flex:none;width:88px;height:88px}
/* Historical spirit art also appears outside the focus tree (politics/officer corps). */
html body .rg-ic-spirit>.rg-photo{display:block;width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
html body .nf-ic .nf-frame{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
html body .nf-ic .nf-frame-done{display:none}
html body .nf-ic-art{position:absolute;left:10%;top:10%;width:80%;height:80%;display:block;object-fit:cover;background:#171716 center/cover no-repeat;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
html body .nf-ic[data-frame="GERMAN"] .nf-ic-art{clip-path:polygon(12.5% 0,87.5% 0,100% 12.5%,100% 87.5%,87.5% 100%,12.5% 100%,0 87.5%,0 12.5%)}
html body .nf-ic[data-frame="SOVIET"] .nf-ic-art{left:11%;top:11%;width:78%;height:78%;border-radius:6.4%}
html body .nf-ic[data-frame="ITALIAN"] .nf-ic-art{border-radius:50% 50% 0 0/40% 40% 0 0}
html body .nf-ic[data-frame="BRITISH"] .nf-ic-art{left:11%;top:11%;width:78%;height:78%;border-radius:50%}
html body .nf-ic[data-frame="MINOR"] .nf-ic-art{left:9%;top:9%;width:82%;height:82%;border-radius:3%}
html body .nf-ic[data-frame^="S-"] .nf-ic-art{left:8%;top:8%;width:84%;height:84%;border-radius:2%}
html body .nf-ic[data-frame="S-GERMAN"] .nf-ic-art{clip-path:polygon(7.1% 0,92.9% 0,100% 7.1%,100% 92.9%,92.9% 100%,7.1% 100%,0 92.9%,0 7.1%)}
html body .nf-ic[data-frame="S-SOVIET"] .nf-ic-art,html body .nf-ic[data-frame="S-BRITISH"] .nf-ic-art{left:9%;top:9%;width:82%;height:82%;border-radius:4.5%}
html body .nf-ic-svg svg{display:block;width:100%;height:100%}
html body .nf-ic[data-kind="head"]{width:56px;height:56px}
html body .nf-ic[data-kind="card"]{width:60px;height:60px}
html body .nf-ic[data-kind="chip"]{width:34px;height:34px}
html body .nf-ic[data-kind="mini"]{width:44px;height:44px}
html body .nf-ic[data-kind="hero"]{width:200px;height:200px}
/* halo: a pre-blurred radial gradient behind the frame; only its opacity animates (compositor only) */
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-node .nf-ic::before,html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-hero .nf-ic::before{content:"";position:absolute;inset:-14%;border-radius:50%;background:radial-gradient(closest-side,#f6dc8ccc,#f6dc8c40 60%,transparent);opacity:0;pointer-events:none}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-node[data-st="available"] .nf-ic::before{opacity:.55;animation:nf-breathe 2.8s ease-in-out infinite}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-node[data-st="active"] .nf-ic::before,html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-hero[data-st="active"] .nf-ic::before{opacity:.95;background:radial-gradient(closest-side,#e4d6abe6,#c1b38a55 62%,transparent)}
@keyframes nf-breathe{50%{opacity:.2}}
@media (prefers-reduced-motion:reduce){html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-node[data-st="available"] .nf-ic::before{animation:none}}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-node[data-st="done"] .nf-ic .nf-frame-done,html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-hero[data-st="done"] .nf-ic .nf-frame-done{display:inline}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-node[data-st="locked"] .nf-ic,html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-node[data-st="blocked"] .nf-ic,html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-hero[data-st="locked"] .nf-ic,html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-hero[data-st="blocked"] .nf-ic{filter:grayscale(1) brightness(.58) contrast(1.05)}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-node[data-st="excluded"] .nf-ic,html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-hero[data-st="excluded"] .nf-ic{filter:grayscale(1) sepia(.7) hue-rotate(-28deg) saturate(2.2) brightness(.42)}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-node[data-st="excluded"] .nf-ic::after,html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-hero[data-st="excluded"] .nf-ic::after{content:"";position:absolute;left:12%;right:12%;top:50%;height:7%;margin-top:-3.5%;background:#c0392b;box-shadow:0 0 0 1.5px #000000;transform:rotate(-38deg);opacity:.9}

/* ── tree nodes ── */
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-node{position:absolute;width:124px;height:140px;padding:0;display:flex;flex-direction:column;align-items:center;gap:5px;background:none;border:0;text-align:center;z-index:3;-webkit-tap-highlight-color:transparent}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-node .nf-ic{filter:drop-shadow(0 3px 4px #000000dd)}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-node[data-st="locked"] .nf-ic,html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-node[data-st="blocked"] .nf-ic{filter:grayscale(1) brightness(.58) contrast(1.05) drop-shadow(0 3px 4px #000000dd)}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-node[data-st="excluded"] .nf-ic{filter:grayscale(1) sepia(.7) hue-rotate(-28deg) saturate(2.2) brightness(.42) drop-shadow(0 3px 4px #000000dd)}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-node[aria-pressed="true"] .nf-ic{transform:scale(1.07)}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-plaque{position:relative;display:flex;flex-direction:column;justify-content:center;width:124px;min-height:38px;padding:4px 6px 4px;background:linear-gradient(180deg,#1d1e1d,#0f0f0e);border:1px solid #000000;box-shadow:inset 0 1px 0 #ede8d914,inset 0 2px 0 var(--plq,#706951)}
html body.playable-integrated .command-ui.hoi-ui section.nf-window[data-nf-frame="GERMAN"]{--plq:#9c9b95}
html body.playable-integrated .command-ui.hoi-ui section.nf-window[data-nf-frame="SOVIET"]{--plq:#b5372a}
html body.playable-integrated .command-ui.hoi-ui section.nf-window[data-nf-frame="ITALIAN"]{--plq:#69675f}
html body.playable-integrated .command-ui.hoi-ui section.nf-window[data-nf-frame="BRITISH"]{--plq:#b5a77e}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-plaque b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12.5px;line-height:1.22;font-weight:700;letter-spacing:.02em;color:#c1bcac}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-plaque .nf-node-bar{margin-top:3px;height:4px}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-node[data-st="available"] .nf-plaque{background:linear-gradient(180deg,#262625,#121311);border-color:#595750}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-node[data-st="available"] .nf-plaque b{color:#e3ddcd}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-node[data-st="active"] .nf-plaque{background:linear-gradient(180deg,#363734,#181917);border-color:#ac9f76;box-shadow:inset 0 1px 0 #d9d3c330,0 0 10px #c1b38a55}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-node[data-st="active"] .nf-plaque b{color:#d9d3c3}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-node[data-st="done"] .nf-plaque{background:linear-gradient(180deg,#464744,#21211f);border-color:#998b63;box-shadow:inset 0 1px 0 #e2dccd40}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-node[data-st="done"] .nf-plaque b{color:#e0dbcb}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-node[data-st="locked"] .nf-plaque b,html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-node[data-st="blocked"] .nf-plaque b{color:#84827b}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-node[data-st="excluded"] .nf-plaque{background:#1a0d0a;border-color:#4a1a12;box-shadow:none}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-node[data-st="excluded"] .nf-plaque b{color:#8a6a62;text-decoration:line-through;text-decoration-color:#c0392b}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-node[aria-pressed="true"] .nf-plaque{outline:2px solid #d4cebe;outline-offset:1px}
/* seals sit on the frame's lower-right shoulder, away from the category badge */
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-seal{position:absolute;left:84px;top:62px;width:26px;height:26px;display:grid;place-items:center;font:900 15px/1 system-ui;font-style:normal;border-radius:50%;border:1.5px solid #000000;box-shadow:0 2px 3px #000000aa;z-index:2}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-seal[data-seal="done"]{color:#131312;background:radial-gradient(circle at 35% 30%,#e1dbcb,#c3b58c 60%,#7d7049)}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-seal[data-seal="excluded"]{color:#d3cebe;background:radial-gradient(circle at 35% 30%,#d6584a,#8e1f17)}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-seal[data-seal="blocked"]{color:#11110f;background:radial-gradient(circle at 35% 30%,#e4d6ac,#c47f1d)}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-seal[data-seal="locked"]{color:#bdb59b;background:#1d1e1d}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-seal svg{width:13px;height:13px}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-ring{position:absolute;left:80px;top:58px;width:34px;height:34px;z-index:2;filter:drop-shadow(0 2px 2px #000000)}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-ring circle{fill:#0f0f0d;stroke:#272726;stroke-width:6}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-ring circle+circle{fill:none;stroke:#d9cba1;stroke-linecap:round}
/* far zoom: names are unreadable, so plaques become slim status bars and seals grow */
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-canvas[data-far="true"] .nf-plaque{min-height:16px;padding:0}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-canvas[data-far="true"] .nf-plaque b{display:none}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-canvas[data-far="true"] .nf-seal{transform:scale(1.5)}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-canvas[data-far="true"] .nf-band span{padding:14px 18px 10px;font-size:28px;border-top-width:8px}
/* zoom controls */
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-zoom{position:absolute;right:10px;bottom:46px;z-index:6;display:flex;align-items:center;gap:2px;padding:3px;background:#0b0b0ae6;border:1px solid #000000;box-shadow:0 4px 12px #000000aa,inset 0 1px 0 #ede8d912}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-zoom button{min-width:44px;height:44px;padding:0 10px;font-size:20px;background:#1d1e1d;border:1px solid #000000}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-zoom .nf-overview-btn{font-size:13px;letter-spacing:.2em;color:#d4cebe}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-zoom .nf-overview-btn[aria-pressed="true"]{background:#464744}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-zoom output{min-width:48px;text-align:center;font-size:12px;font-variant-numeric:tabular-nums;color:var(--ir-bone-2,#9e967e)}
/* overview: the tree takes the whole window */
html body.playable-integrated .command-ui.hoi-ui section.nf-window[data-overview="true"]{grid-template-columns:0 minmax(0,1fr) 0}
html body.playable-integrated .command-ui.hoi-ui section.nf-window[data-overview="true"] .nf-side,html body.playable-integrated .command-ui.hoi-ui section.nf-window[data-overview="true"] .nf-detail{visibility:hidden;overflow:hidden;padding:0;border:0}

html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-legend{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;padding:6px 12px;border-top:1px solid #000000;background:#0b0b0a;font-size:11px;color:var(--ir-bone-2,#9e967e)}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-legend span{display:inline-flex;align-items:center;gap:6px}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-legend i{display:inline-block;width:14px;height:4px;background:var(--rim,#505050)}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-legend-excl i{height:0;border-top:2px dashed var(--ir-red-hi,#b4402f);background:none}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-legend-any i{height:0;border-top:2px dashed #8b836b;background:none}

/* ── detail sheet ── */
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-detail{display:flex;flex-direction:column;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:12px 14px 0;border-left:1px solid #000000;background:#0b0c0bcc}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-detail header{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-detail h3{flex:1 1 100%;margin:0;font:800 20px/1.25 var(--font-title,serif);letter-spacing:.06em;color:var(--ir-bone,#c1bcac)}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-cat{padding:2px 8px;font-size:11px;letter-spacing:.2em;border-left:3px solid var(--rim,#b0a78a);background:#00000066}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-cat[data-tone="bad"]{border-left-color:#a3352a}.nf-window .nf-cat[data-tone="mixed"]{border-left-color:#c98a3a}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-pill{margin-left:auto;padding:2px 8px;font-size:11px;background:#252524;border:1px solid #000000}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-pill[data-st="done"]{background:#484946;color:#e3ddcd}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-pill[data-st="available"]{background:#3b3b38}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-pill[data-st="active"]{background:#54534b}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-pill[data-st="excluded"],html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-pill[data-st="blocked"]{background:#4a1a12}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-facts{margin:8px 0 4px;font-size:12px;color:var(--ir-khaki,#cac2a8)}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-why{margin:4px 0;padding:6px 8px;font-size:12px;color:#c3beaf;background:#3d110b80;border-left:3px solid var(--ir-red,#8c2c20)}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-desc{margin:6px 0 4px;font-size:13.5px;line-height:1.6;color:var(--ir-bone,#c1bcac)}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-detail h4{margin:12px 0 6px;font:700 11px/1 var(--font-ui,system-ui);letter-spacing:.3em;color:var(--ir-khaki,#cac2a8)}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-effects{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:5px}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-effects>li{padding:6px 8px;background:#0000005c;border-left:3px solid var(--ir-khaki-lo,#6a634b);font-size:13px}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-effects>li[data-kind="spirit"],html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-effects>li[data-kind="swap"]{border-left-color:var(--ir-mark,#c8c3b3)}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-effects>li[data-kind="wargoal"]{border-left-color:var(--ir-red-hi,#b4402f)}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-effect-spirit{display:grid;grid-template-columns:44px minmax(0,1fr);gap:8px;align-items:start;margin-top:6px}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-mods{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:2px}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-mods li{display:flex;justify-content:space-between;gap:10px;font-size:12px}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-mods b{font-variant-numeric:tabular-nums}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-mods li[data-good="true"] b{color:#a9c27e}.nf-window .nf-mods li[data-good="false"] b{color:var(--ir-alert,#ee8b72)}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-chips{display:flex;flex-wrap:wrap;gap:6px}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-chip{min-height:36px;padding:4px 10px;font-size:12px;background:#181817;border:1px solid #000000;border-left:3px solid #4f504e}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-chip[data-st="done"]{border-left-color:var(--ir-mark,#c8c3b3)}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-chip[data-st="excluded"]{text-decoration:line-through;opacity:.7}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-req{margin:0;font-size:12px;color:var(--ir-bone-2,#9e967e)}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-cta{position:sticky;bottom:0;margin:14px -14px 0;padding:10px 14px 12px;background:linear-gradient(180deg,#0b0c0b00,#0b0c0b 30%)}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-primary,html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-secondary{width:100%;min-height:52px;font-size:15px;letter-spacing:.12em;border:1px solid #000000}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-primary{color:#e5dfd0;background:linear-gradient(180deg,var(--ir-red-hi,#b4402f),var(--ir-red,#8c2c20));box-shadow:inset 0 1px 0 #ede8d926}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-primary:disabled{background:#252524;color:#818079;cursor:default}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-secondary{background:#1f1f1e}

/* ── nav: a country without a focus shows a red mark on 国策 ── */
html body.playable-integrated .hoi-ui [data-ui-panel="focus"][data-focus-idle="true"]{position:relative}
html body.playable-integrated .hoi-ui [data-ui-panel="focus"][data-focus-idle="true"]::after{content:"";position:absolute;top:4px;right:6px;width:9px;height:9px;border-radius:50%;background:var(--ir-alert,#ee8b72);box-shadow:0 0 0 2px #000000}

@media (max-width:1060px){html body.playable-integrated .command-ui.hoi-ui section.nf-window{grid-template-columns:200px minmax(0,1fr) 290px}}
@media (max-width:860px){
 html body.playable-integrated .command-ui.hoi-ui section.nf-window{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr) minmax(0,40%)}
 .nf-window .nf-side{max-height:150px;border-right:0;border-bottom:1px solid #000000}
 .nf-window .nf-spirits{flex-direction:row;overflow-x:auto}
 .nf-window .nf-spirit{flex:0 0 210px}
 .nf-window .nf-detail{border-left:0;border-top:1px solid #000000}
}

html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-current .nf-ic{flex:none}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-spirit .nf-ic{filter:drop-shadow(0 2px 3px #000000cc)}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-hero{position:relative;align-self:center;margin:4px 0 10px;filter:drop-shadow(0 10px 16px #000000)}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-hero .nf-seal{left:auto;right:8px;top:auto;bottom:10px;width:40px;height:40px;font-size:22px}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-hero .nf-ring{left:auto;right:4px;top:auto;bottom:6px;width:50px;height:50px}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-hero-spirit .nf-ic{width:184px;height:184px}
/* the Iron theme paints every button as a dark card (!important, id-weighted via #officer-window); focus nodes are
   bare frames + plaques, so this matches that weight */
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) section.nf-window button.nf-node,html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) section.nf-window button.nf-node[aria-pressed="true"],html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) section.nf-window button.nf-node:active:not(:disabled){background:none!important;border:0!important;box-shadow:none!important}

/* NATIONAL-FOCUS-ART-3: spirit plates. Cards lift the tone into the card edge and a soft tinted wash; the events list
   shows the spirit each event would grant (tap opens it). */
html body .nf-ic[data-frame^="S-"]{--tone:#5f7f2e}
html body .nf-ic[data-frame^="S-"][data-tone="mixed"]{--tone:#b9741f}
html body .nf-ic[data-frame^="S-"][data-tone="bad"]{--tone:#9e2a1f}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-spirit{border-left-color:#5f7f2e;background:linear-gradient(90deg,#5f7f2e26,#0b0b0a 45%)}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-spirit[data-tone="mixed"]{border-left-color:#b9741f;background:linear-gradient(90deg,#b9741f26,#0b0b0a 45%)}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-spirit[data-tone="bad"]{border-left-color:#9e2a1f;background:linear-gradient(90deg,#9e2a1f30,#0b0b0a 45%)}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-events li{display:flex;align-items:center;gap:8px}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-events li[data-nf-spirit]{cursor:pointer;min-height:44px}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-events li>span{display:flex;flex-direction:column;min-width:0}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-hero-spirit .nf-ic{width:200px;height:200px}
/* heralds and dispatches carry the painting of the focus or spirit they announce */
.th-herald .nf-ic,.th-dispatch .nf-ic{flex:none;align-self:center;width:40px;height:40px;filter:drop-shadow(0 2px 3px #000000cc)}
.th-herald.with-art,.th-dispatch.with-art{align-items:center}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-hero-spirit::after{content:attr(data-tone-label);position:absolute;left:50%;bottom:-2px;transform:translateX(-50%);padding:2px 12px;font:700 11px/1.4 var(--font-ui,system-ui);letter-spacing:.3em;color:#e4dece;background:var(--tone,#5f7f2e);border:1px solid #000000;box-shadow:0 2px 6px #000000aa}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-hero-spirit[data-tone="good"]{--tone:#5f7f2e}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-hero-spirit[data-tone="mixed"]{--tone:#b9741f}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-hero-spirit[data-tone="bad"]{--tone:#9e2a1f}
/* Finger feedback stays local to the plaque; no filter/scale of the whole tree. */
html.touch-shell body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-chip{min-height:44px}
html.touch-shell body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-node:active .nf-plaque{outline:2px solid #d4cebe;outline-offset:1px}
/* The opaque focus window covers the battlefield. Keep its layout/state, but
   avoid rasterizing the large SVG behind every focus-tree animation on WebKit. */
body.has-focus-window #map-stage{visibility:hidden}
.nf-detail .nf-history{margin:14px 0;border:1px solid #736b54;background:#161715;color:#cbc2a9;font-size:12px;line-height:1.65}
.nf-detail .nf-history summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:8px 12px;color:#c4bfb0;cursor:pointer;letter-spacing:.05em}
.nf-detail .nf-history summary::before{content:'▸';color:#a19980}
.nf-detail .nf-history[open] summary::before{content:'▾'}
.nf-detail .nf-history time{margin-left:auto;font-size:11px;font-variant-numeric:tabular-nums;letter-spacing:0;color:#abaaa6}
.nf-detail .nf-history>div{padding:0 12px 12px;border-top:1px solid #343433}
.nf-detail .nf-history p{margin:10px 0;overflow-wrap:anywhere}
.nf-detail .nf-history p>b{display:block;color:#bdb8a8;font-size:11px;letter-spacing:.1em}
.nf-detail .nf-history nav{display:grid;gap:4px;border-top:1px solid #343433;padding-top:8px}
.nf-detail .nf-history a{display:block;padding:6px 0;color:#b6b5b1;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}

/* Large trees keep their geometry, but offscreen cards need no painting on tablets. */
html body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-node{
 content-visibility:auto;contain-intrinsic-size:124px 140px;
}

/* ── 66-events.css ── */
/* NATIONAL-EVENTS-1 · 国家事件. Dispatch chips under the top bar (never blocking), and the event card: an iron plate
   with the nation's rule, the painting in a double frame with brass corner brackets, the text, and big option buttons
   with their effects listed underneath. Touch first: buttons ≥ 52 px tall, nothing depends on hover, no filters on
   large areas, no animation while the clock runs except a one-time arrival. */
html body.playable-integrated .command-ui.hoi-ui .ne-dock{position:fixed;top:86px;left:50%;transform:translateX(-50%);z-index:44;display:flex;gap:8px;max-width:calc(100vw - 24px);pointer-events:none}
html body.playable-integrated .command-ui.hoi-ui .ne-chip{pointer-events:auto;display:flex;align-items:center;gap:8px;min-height:52px;max-width:260px;padding:4px 12px 4px 4px;text-align:left;color:var(--ir-bone,#c1bcac);font:13px/1.25 var(--font-ui,system-ui);
 background:linear-gradient(90deg,var(--ir-mark,#c8c3b3) 0 3px,transparent 3px),linear-gradient(180deg,#181817,#0d0d0c);border:1px solid #000000;box-shadow:0 0 0 1px #000000cc,0 8px 22px #000000aa,inset 0 1px 0 #ede8d912;cursor:pointer;animation:ne-arrive .45s ease-out 1}
html body.playable-integrated .command-ui.hoi-ui .ne-chip[data-major="true"]{background:linear-gradient(90deg,#b3a57c 0 3px,transparent 3px),linear-gradient(180deg,#1e1e1d,#0c0c0b)}
html body.playable-integrated .command-ui.hoi-ui .ne-chip[data-urgent="true"] small{color:var(--ir-alert,#ee8b72)}
html body.playable-integrated .command-ui.hoi-ui .ne-chip[aria-pressed="true"]{box-shadow:0 0 0 2px var(--ir-mark,#c8c3b3),0 8px 22px #000000aa}
html body.playable-integrated .command-ui.hoi-ui .ne-chip>span:last-child{display:flex;flex-direction:column;gap:2px;min-width:0}
html body.playable-integrated .command-ui.hoi-ui .ne-chip b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.04em}
html body.playable-integrated .command-ui.hoi-ui .ne-chip small{font-size:11px;color:var(--ir-bone-2,#9e967e)}
html body.playable-integrated .command-ui.hoi-ui .ne-chip-loading{padding-left:14px;cursor:default}
@keyframes ne-arrive{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){html body.playable-integrated .command-ui.hoi-ui .ne-chip{animation:none}}

/* pictures: 3:2 painting; chips and rows show the small version */
html body.playable-integrated .command-ui.hoi-ui .ne-pic{position:relative;display:block;flex:none;overflow:hidden;background:#080808 center/cover no-repeat}
html body.playable-integrated .command-ui.hoi-ui .ne-pic img{display:block;width:100%;height:100%;object-fit:cover;background:center/cover no-repeat}
html body.playable-integrated .command-ui.hoi-ui .ne-pic[data-kind="chip"]{width:66px;height:44px;box-shadow:0 0 0 1px #000000,inset 0 0 0 1px #ede8d91a}
html body.playable-integrated .command-ui.hoi-ui .ne-pic[data-kind="row"]{width:60px;height:40px;box-shadow:0 0 0 1px #000000}
html body.playable-integrated .command-ui.hoi-ui .ne-pic[data-kind="card"]{width:100%;aspect-ratio:3/2}
html body.playable-integrated .command-ui.hoi-ui .ne-pic-blank{display:grid;place-items:center;background:radial-gradient(circle at 50% 45%,color-mix(in srgb,var(--nation,#4d4d4a) 45%,#0f0f0f) 0,#090908 75%)}

/* the card */
html body.playable-integrated .command-ui.hoi-ui section.ne-card{position:fixed;z-index:46;top:146px;left:50%;transform:translateX(-50%);width:min(560px,calc(100vw - 24px));max-height:calc(100vh - 160px);max-height:calc(100dvh - 160px);display:flex;flex-direction:column;
 color:var(--ir-bone,#c1bcac);font:14px/1.6 var(--font-ui,system-ui);background:var(--ir-plate,#121211);border:1px solid #000000;box-shadow:0 0 0 1px #000000cc,0 24px 60px #000000cc,inset 0 1px 0 #ede8d912;pointer-events:auto;overflow:hidden}
html body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-head{display:flex;align-items:center;gap:10px;min-height:52px;padding:6px 8px 6px 12px;border-bottom:1px solid #000000;
 background:linear-gradient(90deg,var(--ir-mark,#c8c3b3) 0 4px,transparent 4px),linear-gradient(90deg,color-mix(in srgb,var(--nation) 36%,transparent),transparent 55%),linear-gradient(180deg,#0b0b0a,#141413)}
html body.playable-integrated .command-ui.hoi-ui section.ne-card[data-major="true"] .ne-head{background:linear-gradient(90deg,#b3a57c 0 4px,transparent 4px),linear-gradient(90deg,color-mix(in srgb,var(--nation) 36%,transparent),transparent 55%),linear-gradient(180deg,#131312,#141413)}
html body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-kicker{flex:1;font:700 13px/1 var(--font-title,serif);letter-spacing:.32em;color:var(--ir-khaki,#cac2a8)}
html body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-close{flex:none;min-width:64px;height:44px;padding:0 12px;font:600 14px/1 var(--font-ui,system-ui);letter-spacing:.12em;color:inherit;background:#00000088;border:1px solid #000000;cursor:pointer}
html body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:12px 16px 14px}
/* frame: dark double rule, brass corner brackets, title plate across the lower edge */
html body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-frame{position:relative;flex:none;margin:10px 12px 0;padding:5px;background:#040404;box-shadow:inset 0 0 0 1px #5b5952,inset 0 0 0 4px #040404,inset 0 0 0 5px #2f2f2e}
html body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-frame::before,html body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-frame::after{content:'';position:absolute;width:22px;height:22px;pointer-events:none;border:2px solid #a89b73;z-index:1}
html body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-frame::before{top:1px;left:1px;border-right:0;border-bottom:0}
html body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-frame::after{right:1px;bottom:1px;border-left:0;border-top:0}
html body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-pic[data-kind="card"]{max-height:34vh;max-height:34dvh}
html body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-title{position:absolute;left:5px;right:5px;bottom:5px;margin:0;padding:22px 14px 8px;font:800 21px/1.2 var(--font-title,serif);letter-spacing:.14em;color:#d9d3c3;text-shadow:0 2px 6px #000000;background:linear-gradient(180deg,transparent,#000000d9 60%)}
html body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-desc{margin:0 0 12px;font-size:15px;line-height:1.75;color:#ccc6b6;text-align:justify}
html body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-opts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
html body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-opt{padding:0;background:#0a0a09;border:1px solid #000000;box-shadow:inset 0 0 0 1px #ede8d90a}
html body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-opt[data-chosen="true"]{box-shadow:inset 0 0 0 2px var(--ir-mark,#c8c3b3)}
html body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-opt-btn{display:flex;align-items:center;gap:10px;width:100%;min-height:52px;padding:8px 14px;text-align:left;font:700 15px/1.3 var(--font-ui,system-ui);letter-spacing:.06em;color:#d9d3c3;
 background:linear-gradient(180deg,#242523,#161615);border:0;border-bottom:1px solid #000000;cursor:pointer;touch-action:manipulation}
html body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-opt-btn:active:not(:disabled){background:linear-gradient(180deg,#313130,#1e1e1d)}
html body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-opt-btn:disabled{cursor:default;opacity:.7}
html body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-opt[data-ok="false"] .ne-opt-btn{opacity:.45}
html body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-ai{margin-left:auto;padding:2px 6px;font:600 10px/1.2 var(--font-ui,system-ui);letter-spacing:.1em;color:var(--ir-bone-2,#9e967e);border:1px solid #ede8d922}
html body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-opt-desc,html body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-why{margin:6px 14px 0;font-size:12px;color:var(--ir-bone-2,#9e967e)}
html body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-why{color:var(--ir-alert,#ee8b72)}
html body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-eff{list-style:none;margin:0;padding:6px 14px 8px;display:flex;flex-direction:column;gap:3px}
html body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-eff li{display:flex;align-items:center;gap:8px;font-size:12.5px;line-height:1.4;color:#c7bea5}
html body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-eff li::before{content:'';flex:none;width:5px;height:5px;background:#83795b;transform:rotate(45deg)}
html body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-eff li:has(.nf-ic)::before{display:none}
html body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-eff .nf-ic{width:30px;height:30px;flex:none}
html body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-eff-none{margin:6px 14px 8px;font-size:12px;color:var(--ir-bone-2,#9e967e)}
html body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-deadline{height:5px;margin:14px 0 6px;background:#000000aa;box-shadow:inset 0 0 0 1px #ede8d90d;overflow:hidden}
html body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-deadline i{display:block;height:100%;background:linear-gradient(90deg,#8c2c20,#b3a57c)}
html body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-foot{margin:6px 0 0;font-size:12px;color:var(--ir-bone-2,#9e967e)}
html body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-err{color:var(--ir-alert,#ee8b72);font-weight:600}
/* focus window: recent events rail */
html body.playable-integrated .command-ui.hoi-ui section.nf-window .ne-history{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:6px}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .ne-history button{display:flex;align-items:center;gap:8px;width:100%;min-height:48px;padding:4px 6px 4px 4px;text-align:left;background:#0b0b0a;border:1px solid #000000;border-left:3px solid #83795b}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .ne-history span:last-child{display:flex;flex-direction:column;gap:1px;min-width:0}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .ne-history b{font-size:12.5px;line-height:1.25}
html body.playable-integrated .command-ui.hoi-ui section.nf-window .ne-history small{font-size:11px;color:var(--ir-bone-2,#9e967e);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* narrow / portrait tablets: the card takes the width, chips stay compact */
@media (max-width:820px){
 html body.playable-integrated .command-ui.hoi-ui section.ne-card{top:136px;max-height:calc(100dvh - 148px)}
 html body.playable-integrated .command-ui.hoi-ui .ne-chip{max-width:200px}
 html body.playable-integrated .command-ui.hoi-ui .ne-chip b{font-size:12px}
}
/* the arrival dispatch (theatre layer, outside the command UI): a small 3:2 picture beside the title */
.th-dispatch .ne-pic{flex:none;align-self:center;display:block;width:60px;height:40px;overflow:hidden;box-shadow:0 0 0 1px #000000,0 2px 4px #000000aa}
.th-dispatch .ne-pic img{display:block;width:100%;height:100%;object-fit:cover}
.th-dispatch .ne-pic-blank{display:grid;place-items:center;background:#171716}
.th-dispatch .ne-pic-blank .atlas-emblem{width:26px;height:26px}

/* BETA-HISTORY-1 · a national dispatch folder. The report and actual game choices are distinct;
   one contained scroller keeps every choice reachable on iPad. Alpha retains the original card above. */
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .ne-dock{top:88px;max-width:min(880px,calc(100vw - 24px));max-height:64px;overflow-x:auto;overflow-y:hidden;overscroll-behavior:contain;scrollbar-width:thin;padding:3px 2px 6px;gap:7px;justify-content:flex-start;pointer-events:auto}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .ne-chip{flex:0 0 auto;width:232px;max-width:232px;min-height:50px;height:50px;padding:4px 10px 4px 6px;box-sizing:border-box;gap:9px;border:1px solid #736b54;border-left:3px solid #b4a884;background:linear-gradient(105deg,#292a27,#191a18);box-shadow:inset 0 1px #c7c2b31a,0 2px 5px #00000055;animation:none;touch-action:pan-x}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .ne-chip[data-major="true"]{background:linear-gradient(105deg,#2e2e2c,#1c1c1a);border-left-color:#d0c399}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .ne-chip .ne-pic[data-kind="chip"]{width:54px;height:36px}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .ne-chip b{font-size:12px;line-height:1.4;letter-spacing:0}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .ne-chip small{font-size:10px;line-height:1.25}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .ne-chip[aria-pressed="true"]{border-color:#d0c4a1;box-shadow:inset 0 0 0 1px #a99d7a}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card[data-edition="historical"]{--ne-ink:#313130;--ne-paper:#c6c1b2;--ne-muted:#696863;--ne-brass:#beb392;top:92px;bottom:auto;width:min(960px,calc(100vw - 28px));max-height:calc(100vh - 108px);max-height:calc(100dvh - 108px);border:1px solid #867e67;background:#1a1a18;box-shadow:0 16px 42px #00000099,inset 0 0 0 3px #080907;box-sizing:border-box;isolation:isolate}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card[data-edition="historical"] *{box-sizing:border-box}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-head{flex:0 0 auto;min-height:66px;height:auto;padding:9px 12px 9px 17px;gap:12px;border-bottom:1px solid #7d755e;background:linear-gradient(90deg,var(--nation) 0 4px,transparent 4px),linear-gradient(110deg,#2e2e2d,#1a1a18 76%);box-shadow:inset 0 1px #cac5b523}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card[data-major="true"] .ne-head{background:linear-gradient(90deg,#bcb08b 0 4px,transparent 4px),linear-gradient(110deg,#323231,#1a1a18 76%)}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-head>.atlas-emblem{width:36px;height:36px;flex:none}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-heading{display:grid;gap:6px;min-width:0;flex:1}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-kicker{font:700 14px/1.35 var(--font-title,serif);letter-spacing:.09em;color:#c5c0b0}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-campaign-date{font:11px/1.35 var(--font-ui,system-ui);color:#aeada9;letter-spacing:.02em;font-variant-numeric:tabular-nums}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-record-state{flex:none;font-size:10px;line-height:1;padding:5px 7px;color:#c3baa1;border:1px solid #7d755e;letter-spacing:.1em}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-close{height:44px;min-width:74px;padding:0 10px;font-size:13px;letter-spacing:.04em;border:1px solid #6f6d67;background:linear-gradient(#353534,#272826);box-shadow:inset 0 1px #cec8b81a;color:#d4cebe;touch-action:manipulation}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card :is(button,a,summary):focus-visible{outline:2px solid #cabd96;outline-offset:2px}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-sheet{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);align-items:start;gap:0;flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#797872 #1b1b1a;background:#1c1c1a}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-report{display:block;min-width:0;min-height:100%;padding:14px;background:linear-gradient(115deg,#cac5b5,#d0c7ad);color:var(--ne-ink);border:0;border-right:1px solid #8b836b}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-frame{display:block;position:relative;width:100%;min-width:0;margin:0;padding:4px;background:#262625;border:1px solid #7a7972;box-shadow:0 2px 5px #40403e30,inset 0 0 0 1px #c8c3b370}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-frame::before,html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-frame::after{width:13px;height:13px;border-color:#c6ba96;border-width:1px}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-pic[data-kind="card"]{width:100%;aspect-ratio:16/9;max-height:none;min-height:0}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-art-caption{display:block;margin:0;padding:5px 6px 1px;color:#bcbab5;background:#262625;font:10px/1.45 var(--font-ui,system-ui);letter-spacing:.01em}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-report-text{display:block;padding:15px 5px 5px;min-width:0}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-report-label{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 10px;border-bottom:1px solid #89877f5c;padding-bottom:9px;margin-bottom:11px;font:10px/1.5 var(--font-ui,system-ui);letter-spacing:.06em;color:#65645e}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-title{position:static;inset:auto;margin:0 0 14px;padding:0;background:none;text-shadow:none;color:#2c2c2b;font:800 25px/1.45 Georgia,'Noto Serif SC',var(--font-title,serif);letter-spacing:.06em;overflow-wrap:anywhere}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-desc{margin:0;color:#373836;font:15px/1.9 var(--font-ui,system-ui);text-align:left;overflow-wrap:anywhere}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-desc p{margin:0 0 12px;padding:0;color:inherit;font:inherit;line-height:inherit}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-sources{display:block;margin:18px 0 0;padding:0;border:0;border-top:1px solid #85837c;background:transparent;box-shadow:none;color:#3c3d3a}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-sources>summary{display:flex;align-items:center;justify-content:space-between;gap:9px;min-height:44px;padding:10px 0;margin:0;color:#434341;background:transparent;border:0;list-style:none;font:700 12px/1.5 var(--font-ui,system-ui);cursor:pointer;touch-action:manipulation}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-sources>summary::-webkit-details-marker{display:none}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-sources>summary::before{content:'＋';font-size:14px;font-weight:400}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-sources[open]>summary::before{content:'−'}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-sources>summary>span{margin-left:auto;font-size:10px;font-weight:400;color:#6b6963}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-source-body{padding:1px 0 6px;font-size:12px;line-height:1.8}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-source-body p{margin:0 0 10px;padding:0;color:#444542;font:inherit}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-reference-date{display:flex;flex-wrap:wrap;gap:5px 10px;justify-content:space-between}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-adaptation{padding:9px 10px;border-left:2px solid #7c7a72;background:#a6a49b40}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-adaptation>b{display:block;color:#424340;margin-bottom:3px}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-source-list{display:grid;gap:7px;margin:10px 0 0;padding:0;list-style:none;border-top:1px solid #8f8d8666}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-source-list>li{display:block;margin:0;padding:3px 0;border-bottom:1px solid #8f8d8644}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-source-list a{display:block;min-height:44px;padding:10px 0;color:#3e3e3b;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere;touch-action:manipulation}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-source-list small{display:block;padding-bottom:4px;color:#706e67;font-size:10px}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-decision-panel{display:block;min-width:0;margin:0;padding:16px;background:#1c1c1a;border:0;color:#cec8b9}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-decision-heading{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:13px;padding-bottom:11px;border-bottom:1px solid #69676080}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-decision-heading h4{font:700 14px/1.4 var(--font-title,serif);letter-spacing:.12em;color:#bdb8a8;margin:0;padding:0}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-decision-heading>span{font-size:10px;line-height:1.4;color:#a6a49f;text-align:right}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-opts{gap:12px}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-opt{min-width:0;border:1px solid #696761;background:#232322;box-shadow:inset 0 1px #cdc7b80e}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-opt[data-chosen="true"]{border-color:#c8bb96;box-shadow:inset 3px 0 #c0b38e}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-opt-btn{min-height:56px;height:auto;min-width:0;padding:12px;gap:10px;border:0;border-bottom:1px solid #6d6b6347;background:linear-gradient(100deg,#393a38,#2b2c2a);color:#d4cfbf;font:700 14px/1.55 var(--font-ui,system-ui);letter-spacing:.02em;white-space:normal;overflow-wrap:anywhere;box-shadow:inset 0 1px #d1ccbc1a;touch-action:manipulation}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card button.ne-opt-btn:hover:not(:disabled){background:linear-gradient(100deg,#464744,#333331)}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card button.ne-opt-btn:active:not(:disabled){background:#474845}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-opt-btn[aria-disabled="true"]{cursor:default}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-opt-btn:disabled{opacity:.72}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-opt[data-ok="false"] .ne-opt-btn{opacity:.6}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-choice-letter{flex:none;display:grid;place-items:center;width:26px;height:26px;border:1px solid #968e76;color:#bdb292;font:12px/1 Georgia,serif;background:#1b1b1a;align-self:flex-start;margin-top:1px}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-ai{flex:none;margin-left:auto;padding:3px 5px;font-size:9px;line-height:1.3;color:#b3b1aa;border:1px solid #797872;letter-spacing:.04em}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card :is(.ne-opt-desc,.ne-why){margin:10px 12px 0;padding:0;font:12px/1.65 var(--font-ui,system-ui);color:#b7b6b1}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-why{color:#e9b097}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-option-effects{padding:10px 12px 12px}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-effect-label{display:block;margin-bottom:6px;color:#a3a199;font-size:10px;line-height:1.3;letter-spacing:.12em}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-eff{margin:0;padding:0;gap:6px}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-eff li{padding:0;min-width:0;align-items:flex-start;font:12px/1.6 var(--font-ui,system-ui);color:#cac4b5;overflow-wrap:anywhere}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-eff li::before{margin-top:7px;background:#aba9a0;width:4px;height:4px}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-eff-none{padding:0;margin:0;color:#abaaa3;font-size:12px}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-resolution{display:block;margin:0;padding:0;background:none;border:0;box-shadow:none;min-height:0;height:auto}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-deadline{height:4px;margin:17px 0 8px;background:#111210}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-deadline i{background:linear-gradient(90deg,#8b8265,#c8bc9a)}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-foot{margin:8px 0 0;color:#acaba4;font-size:11px;line-height:1.7}
html[data-scenario="beta-europe-1936"] .th-dispatch .ne-pic{flex:0 0 60px;width:60px;max-width:60px;height:40px;max-height:40px}
@media(max-width:768px){
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card[data-edition="historical"]{top:96px;width:calc(100vw - 20px);max-height:calc(100vh - 108px);max-height:calc(100dvh - 108px)}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-sheet{display:block}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-report{min-height:0;border-right:0;border-bottom:1px solid #8b836b;padding:12px}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-pic[data-kind="card"]{aspect-ratio:2/1;max-height:260px}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-title{font-size:23px;margin-bottom:12px}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-decision-panel{padding:14px}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-head{padding:8px 9px 8px 12px;gap:9px}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-record-state{display:none}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-kicker{font-size:13px;letter-spacing:.04em}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-campaign-date{font-size:10px}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .ne-chip{width:208px;max-width:208px}
}
@media(max-width:430px){
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-head>.atlas-emblem{width:30px;height:30px}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-close{min-width:62px;font-size:12px;padding:0 7px}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-desc{font-size:14px;line-height:1.85}
}
@media(max-height:560px) and (orientation:landscape){
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card[data-edition="historical"]{top:12px;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px)}
}
/* Match the ID-weighted Iron/Folio theme selectors: historical paper headings
   stay ink-dark and the decision controls keep their distinct tactile surfaces. */
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) section.ne-card .ne-title{font:800 25px/1.45 Georgia,'Noto Serif SC',var(--font-title,serif);letter-spacing:.06em;color:#2c2c2b}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) section.ne-card button.ne-opt-btn{background:linear-gradient(100deg,#393a38,#2b2c2a)!important;border:0!important;border-bottom:1px solid #6d6b6347!important;color:#d4cfbf;box-shadow:inset 0 1px #d1ccbc1a!important}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) section.ne-card button.ne-opt-btn:hover:not(:disabled){background:linear-gradient(100deg,#464744,#333331)!important}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) section.ne-card button.ne-opt-btn:active:not(:disabled){background:#474845!important;box-shadow:inset 0 1px 3px #00000044!important}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) section.ne-card button.ne-opt-btn:disabled{opacity:.72;filter:none}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) section.ne-card .ne-opt[data-ok="false"] button.ne-opt-btn{opacity:.6}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) section.ne-card button.ne-close{border:1px solid #6f6d67!important;background:linear-gradient(#353534,#272826)!important;box-shadow:inset 0 1px #cec8b81a!important;color:#d4cebe}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) .ne-chip{border:1px solid #736b54!important;border-left:3px solid #b4a884!important;background:linear-gradient(105deg,#292a27,#191a18)!important;box-shadow:inset 0 1px #c7c2b31a,0 2px 5px #00000055!important;color:#cec8b9}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) .ne-chip[data-major="true"]{background:linear-gradient(105deg,#2e2e2c,#1c1c1a)!important;border-left-color:#d0c399!important}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) .ne-chip[aria-pressed="true"]{border-color:#d0c4a1!important;box-shadow:inset 0 0 0 1px #a99d7a!important;color:#d3cebe!important}
@media(max-width:768px){html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) section.ne-card .ne-title{font-size:23px}}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-effect-detail{flex:1;min-width:0;display:block}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-effect-mods{display:grid;gap:0;margin:8px 0 0;padding:0;border-top:1px solid #7d7b734d;font:12px/1.55 var(--font-ui,system-ui);color:#cac4b5}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-effect-mods>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;margin:0;padding:5px 0;border-bottom:1px solid #7d7b732b}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-effect-mods :is(dt,dd){margin:0;padding:0;min-width:0;font:inherit;line-height:inherit;overflow-wrap:anywhere}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-effect-mods dd{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-effect-mods [data-good="true"] dd{color:#bfbaaa}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-effect-mods [data-good="false"] dd{color:#edb19c}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.ne-card .ne-effect-loading{margin:6px 0 0;padding:0;color:#abaaa3;font:11px/1.6 var(--font-ui,system-ui)}

/* ── 70-officers.css ── */
/* ATLAS-INK-1 · officer window: a personnel dossier — portrait-led, brass rank stars. */
html body.playable-integrated #officer-window.officer-window{background:var(--crop),linear-gradient(180deg,#171816,#0d0d0b);border:1px solid #55534b;border-radius:4px;color:var(--paper);font-family:var(--font-ui);box-shadow:0 0 0 1px #000000,0 24px 70px #000000dd}
html body.playable-integrated #officer-window::backdrop{background:radial-gradient(ellipse at center,#0c0c0a80,#050504e0)}
html body.playable-integrated #officer-window>header{background:linear-gradient(90deg,#121311e8,#121311f5 55%,#121311a0),url('/assets/playable/war-atlas/battlefield.jpg') 30% 70%/cover;border-bottom:1px solid var(--brass-lo);padding:10px 14px;min-height:48px}
html body.playable-integrated #officer-window h2{font:700 18px/1.2 var(--font-title);letter-spacing:.16em;color:var(--paper);text-shadow:0 2px 4px #000000}
html body.playable-integrated #officer-window header small{color:var(--brass);letter-spacing:.24em}
html body.playable-integrated #officer-window button{background:linear-gradient(180deg,#282826,#1d1d1b);border:1px solid var(--line-hi);border-radius:3px;color:var(--paper);min-height:44px}
html body.playable-integrated #officer-window select{background:var(--ink-0);border:1px solid var(--line-hi);border-radius:3px;color:var(--paper);min-height:44px}
html body.playable-integrated #officer-window #officer-window-close{min-width:48px;min-height:48px;font-size:26px;padding:0}
html body.playable-integrated #officer-window .officer-window-body{background:none}
html body.playable-integrated #officer-window .officer-list{border-right:1px solid var(--line);background:#0e0e0cb3}
html body.playable-integrated #officer-window .officer-list button{background:linear-gradient(180deg,#1f201d,#161714);border:1px solid var(--line);border-left:3px solid transparent;padding:5px 8px 5px 5px;min-height:58px}
html body.playable-integrated #officer-window .officer-list button[aria-pressed=true]{background:linear-gradient(180deg,#272826,#191918);border-color:var(--brass);border-left-color:var(--brass-hi);box-shadow:0 0 10px var(--brass-glow)}
html body.playable-integrated #officer-window .officer-list b{font:700 15px/1.3 var(--font-title);letter-spacing:.04em;color:var(--paper)}
html body.playable-integrated #officer-window .officer-face{border:1px solid #070706;box-shadow:0 0 0 1px var(--brass-lo),0 3px 8px #000000aa;border-radius:2px;filter:sepia(.12) contrast(1.05)}
html body.playable-integrated #officer-window .officer-face.vacant{background:repeating-linear-gradient(135deg,#151613 0 6px,#10110f 6px 12px);color:var(--paper-3)}
html body.playable-integrated #officer-window .officer-stars{color:var(--brass-hi);letter-spacing:2px}
html body.playable-integrated #officer-window .officer-stars>span{color:#3f3f3d}
html body.playable-integrated #officer-window .officer-comparison{background:none;gap:8px}
html body.playable-integrated #officer-window .officer-dossier{background:linear-gradient(180deg,#1d1d1b,#121311);border:1px solid var(--line-hi);border-radius:3px;box-shadow:inset 0 1px 0 #ede8d90a}
html body.playable-integrated #officer-window .officer-dossier h3{color:var(--brass);letter-spacing:.4em;font-size:12px}
html body.playable-integrated #officer-window .officer-dossier h4{font:700 20px/1.3 var(--font-title);letter-spacing:.06em;color:var(--paper)}
html body.playable-integrated #officer-window .officer-dossier>.officer-face{width:80px;height:80px;box-shadow:0 0 0 1px #000000,0 0 0 4px #222320,0 0 0 5px var(--brass),0 10px 24px #000000bb}
html body.playable-integrated #officer-window .officer-xp{color:var(--paper-2)}
html body.playable-integrated #officer-window .officer-xp progress{accent-color:var(--brass);height:6px}
html body.playable-integrated #officer-window .officer-stats details{background:#0f0f0d;border:1px solid var(--line);border-radius:3px}
html body.playable-integrated #officer-window .officer-stats svg,html body.playable-integrated #officer-window .officer-trait svg{color:var(--brass)}
html body.playable-integrated #officer-window .officer-stats b{font:600 26px/1 var(--font-num);color:var(--paper)}
html body.playable-integrated #officer-window .officer-stats .positive{color:#9bd38a}
html body.playable-integrated #officer-window .officer-stats .negative{color:#ef9a83}
html body.playable-integrated #officer-window .officer-trait{border-top-color:var(--line)}
html body.playable-integrated #officer-window .officer-trait summary{color:var(--brass-hi)}
html body.playable-integrated #officer-window details p{color:var(--paper-2)}
html body.playable-integrated #officer-window>footer{background:linear-gradient(180deg,#171816,#10110f);border-top:1px solid var(--brass-lo)}
html body.playable-integrated #officer-window #officer-confirm:not(:disabled){background:linear-gradient(180deg,#ccbf95,#968961);border-color:#cec9ba;color:#10100e;font-weight:700;letter-spacing:.06em}
/* officer faces in the army bar */
html body.playable-integrated .command-ui.hoi-ui .officer-bar-face .officer-face{border:1px solid #070706;box-shadow:0 0 0 1px var(--brass-lo);border-radius:2px}

html body.playable-integrated #officer-window .officer-list .officer-face{width:42px;height:48px;flex:0 0 42px}
html body.playable-integrated #officer-window .officer-dossier{min-height:0;padding:8px}
html body.playable-integrated #officer-window .officer-comparison{padding:8px}
html body.playable-integrated #officer-window .officer-stats{margin:8px 0}
html body.playable-integrated #officer-window>footer{min-height:76px;padding:7px 10px}

/* ── 80-multiplayer.css ── */
/* MP-IPAD-1 · in-game multiplayer: council strip, pause banner, link status, host-locked clock. */
html body.playable-integrated .command-ui.hoi-ui .mp-council{position:fixed;left:calc(10px + var(--tc-safe-l,0px));top:calc(84px + var(--tc-safe-t,0px));z-index:30;display:flex;align-items:center;gap:4px;padding:4px;pointer-events:auto;
 background:var(--panel-bg);border:1px solid #48484599;border-radius:4px;box-shadow:var(--panel-edge)}
html body.playable-integrated .command-ui.hoi-ui .mp-council ul{display:flex;gap:3px;margin:0;padding:0;list-style:none}
html body.playable-integrated .command-ui.hoi-ui .mp-seat{position:relative;display:flex;align-items:center;gap:5px;height:36px;padding:0 9px 0 5px;border-radius:3px;background:#0f0f0d;border:1px solid var(--line);font-size:12.5px;color:var(--paper);white-space:nowrap}
html body.playable-integrated .command-ui.hoi-ui .mp-seat[data-you="true"]{border-color:var(--brass);box-shadow:inset 0 -2px 0 var(--brass)}
html body.playable-integrated .command-ui.hoi-ui .mp-seat[data-state="ai"]{opacity:.55;padding-right:6px}
html body.playable-integrated .command-ui.hoi-ui .mp-seat[data-state="offline"]{border-color:#a8473a;background:#2a1411}
html body.playable-integrated .command-ui.hoi-ui .mp-seat-name{max-width:5.5em;overflow:hidden;text-overflow:ellipsis;font-weight:600;letter-spacing:.02em}
html body.playable-integrated .command-ui.hoi-ui .mp-seat-name.mp-ai{font:600 11px var(--font-num);letter-spacing:.12em;color:var(--paper-3)}
html body.playable-integrated .command-ui.hoi-ui .mp-dot{position:absolute;right:2px;top:2px;width:7px;height:7px;border-radius:50%;background:var(--paper-3);box-shadow:0 0 0 1.5px #0f0f0d}
html body.playable-integrated .command-ui.hoi-ui .mp-seat[data-state="online"] .mp-dot{background:#7fd38a}
html body.playable-integrated .command-ui.hoi-ui .mp-seat[data-state="offline"] .mp-dot{background:#ef6a55}
html body.playable-integrated .command-ui.hoi-ui .mp-seat[data-state="ai"] .mp-dot{display:none}
html body.playable-integrated .command-ui.hoi-ui .mp-crown{display:inline-flex;width:14px;height:11px;color:var(--brass-hi)}
html body.playable-integrated .command-ui.hoi-ui .mp-crown svg{width:14px;height:11px}
html body.playable-integrated .command-ui.hoi-ui .mp-room-link{display:grid;place-items:center;width:40px;height:36px;border-radius:3px;color:var(--brass);border:1px solid transparent;margin-left:2px}
html body.playable-integrated .command-ui.hoi-ui .mp-room-link:active{border-color:var(--brass-lo);background:#242522}
html body.playable-integrated .command-ui.hoi-ui .mp-room-link svg{width:22px;height:22px}
html body.playable-integrated .command-ui.hoi-ui .mp-room-link.mp-resign-link{width:auto;min-width:64px;min-height:44px;padding:0 9px;white-space:nowrap;font-size:11px;border-color:var(--brass-lo)}
/* pause / link banner: top centre, one line, compact */
html body.playable-integrated .command-ui.hoi-ui .mp-banner{position:fixed;left:50%;transform:translateX(-50%);top:calc(84px + var(--tc-safe-t,0px));z-index:31;display:flex;align-items:center;gap:10px;min-height:44px;max-width:min(560px,calc(100vw - 560px));padding:4px 6px 4px 14px;pointer-events:auto;
 background:var(--crop),linear-gradient(180deg,#222320f5,#151613f5);border:1px solid var(--brass-lo);border-radius:4px;box-shadow:var(--panel-edge);color:var(--paper);font-size:13.5px}
html body.playable-integrated .command-ui.hoi-ui .mp-banner[data-kind="missing"],html body.playable-integrated .command-ui.hoi-ui .mp-banner[data-kind="link"]{border-color:#c25a45;background:var(--crop),linear-gradient(180deg,#2c1814f5,#0f0f0df5)}
html body.playable-integrated .command-ui.hoi-ui .mp-pause-glyph{font:700 20px/1 var(--font-num);color:var(--brass-hi)}
html body.playable-integrated .command-ui.hoi-ui .mp-reason{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body.playable-integrated .command-ui.hoi-ui .mp-missing{display:flex;gap:2px}
html body.playable-integrated .command-ui.hoi-ui .mp-resume{min-height:36px!important;min-width:84px;padding:0 16px!important;font-weight:700;letter-spacing:.1em;background:linear-gradient(180deg,#ccbf95,#968961)!important;border-color:#cec9ba!important;color:#10100e!important}
html body.playable-integrated .command-ui.hoi-ui .mp-resume:disabled{background:#242522!important;border-color:var(--line-hi)!important;color:var(--paper-3)!important;display:flex;align-items:center;gap:6px}
html body.playable-integrated .command-ui.hoi-ui .mp-wait{display:flex;align-items:center;gap:6px;padding:0 8px;font-size:12px;color:var(--brass);white-space:nowrap}
html body.playable-integrated .command-ui.hoi-ui :is(.mp-wait,.mp-resume) svg{width:13px;height:13px}
html body.playable-integrated .command-ui.hoi-ui .mp-banner[data-kind="link"] b{color:#ffb4a3}
html body.playable-integrated .command-ui.hoi-ui .mp-spinner{width:16px;height:16px;border-radius:50%;border:2px solid #ffb4a355;border-top-color:#ffb4a3;animation:mp-spin .9s linear infinite}
@keyframes mp-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){html body.playable-integrated .command-ui.hoi-ui .mp-spinner{animation:none}}
/* host-only clock: guests see a lock instead of greyed mystery buttons */
html body.playable-integrated .command-ui.hoi-ui .hoi-time .time-speeds[data-locked="true"]{position:relative}
html body.playable-integrated .command-ui.hoi-ui .hoi-time .time-speeds[data-locked="true"] button{opacity:1;filter:none;color:var(--paper-3)}
html body.playable-integrated .command-ui.hoi-ui .hoi-time .time-speeds[data-locked="true"] button[aria-pressed="true"]{background:#2e2e2c;border-color:var(--brass-lo);color:var(--brass-hi);box-shadow:none}
html body.playable-integrated .command-ui.hoi-ui #campaign-toggle[data-guest="true"]:disabled{opacity:1;filter:grayscale(.7) brightness(.7)}
/* the room link used to float over the map controls; it now lives in the council strip */
@media (max-width:900px){html body.playable-integrated .command-ui.hoi-ui .mp-seat-name:not(.mp-ai){max-width:3.2em}
 html body.playable-integrated .command-ui.hoi-ui .mp-banner{max-width:calc(100vw - 40px);top:calc(130px + var(--tc-safe-t,0px))}}
/* while this device is offline, others' status is unknown: grey their dots instead of showing stale green */
html body.playable-integrated .command-ui.hoi-ui .mp-council[data-link="down"] .mp-seat:not([data-you="true"]) .mp-dot{background:var(--paper-3)}
html body.playable-integrated .command-ui.hoi-ui .mp-council[data-link="down"] .mp-seat[data-you="true"] .mp-dot{background:#ef6a55}
/* Four named seats can extend under the centred pause banner on tablet landscape.
   Keep the return-to-room link reachable rather than letting the banner intercept it. */
@media (max-width:1660px){html body.playable-integrated .command-ui.hoi-ui .mp-banner{top:calc(134px + var(--tc-safe-t,0px));max-width:min(560px,calc(100vw - 40px))}}

/* ── 90-theatre.css ── */
/* THEATRE-1 · cinematic overlay, heralds and the camera-locked effects layer.
   iPad rules: only opacity/transform animate; gradients are static and fade in on
   their own layer; the map-anchored effects live in #fx-map (one small SVG). */

/* ── map-anchored effects: small composited elements inside #map-stage ── */
#fx-map{position:absolute;left:0;top:0;width:0;height:0;overflow:visible;pointer-events:none;z-index:3}
#fx-map .fx{position:absolute;pointer-events:none;will-change:transform,opacity;contain:strict}
#fx-map .fx svg{display:block;width:100%;height:100%;overflow:visible}
#fx-map .fx-ripple{border-radius:50%;border:4px solid var(--c);animation:fx-ripple .9s cubic-bezier(.2,.8,.2,1) both}
#fx-map .fx-late{animation-delay:.16s;border-width:2.5px}
@keyframes fx-ripple{from{transform:scale(.25);opacity:1}to{transform:scale(1.5);opacity:0}}
#fx-map .fx-hexflash{animation:fx-hexflash .7s ease-out both}
@keyframes fx-hexflash{0%{opacity:.55}100%{opacity:0}}
#fx-map .fx-bloom{border-radius:50%;background:radial-gradient(closest-side,#e4d6abe6,#ff6a2a73 45%,#ff3a1a00);animation:fx-bloom 1.3s ease-out both}
@keyframes fx-bloom{0%{transform:scale(.2);opacity:0}18%{opacity:1}100%{transform:scale(1.4);opacity:0}}
#fx-map .fx-close{border-radius:50%;border:10px dashed var(--c);animation:fx-close 2.6s cubic-bezier(.6,0,.2,1) both,fx-fade 4.2s ease-in both}
@keyframes fx-close{from{transform:scale(1) rotate(0)}to{transform:scale(var(--to,.55)) rotate(40deg)}}
@keyframes fx-fade{0%,70%{opacity:1}100%{opacity:0}}
#fx-map .fx-pockethex{opacity:0;animation:fx-pockethex 4.2s ease both}
@keyframes fx-pockethex{0%,50%{opacity:0}62%{opacity:.5}80%{opacity:.28}100%{opacity:0}}
#fx-map .fx-arrows{contain:layout paint;animation:fx-fade calc(var(--ms,2.4s) + 2.6s) ease-in var(--d,0ms) both}
#fx-map .fx-arrow-shadow,#fx-map .fx-arrow{fill:none;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;animation:fx-draw var(--ms,2.4s) cubic-bezier(.45,0,.2,1) var(--d,0ms) forwards}
#fx-map .fx-arrow-shadow{stroke:#000000;stroke-opacity:.45;stroke-width:34}
#fx-map .fx-arrow{stroke-width:22;stroke-opacity:.82}
#fx-map .fx-arrow-head{fill:none;stroke-width:22;stroke-linecap:round;stroke-linejoin:round;opacity:0;animation:fx-head .35s ease-out calc(var(--d,0ms) + var(--ms,2.4s) - 120ms) forwards}
@keyframes fx-draw{to{stroke-dashoffset:0}}
@keyframes fx-head{from{opacity:0}to{opacity:.9}}
#fx-map .fx-gain,#fx-map .fx-loss{animation:fx-mark 2.6s ease both}
@keyframes fx-mark{0%{opacity:0}15%{opacity:.75}60%{opacity:.5}100%{opacity:0}}

/* ── heralds: minor moments, never capture input ── */
.th-heralds{position:fixed;left:50%;top:calc(128px + env(safe-area-inset-top,0px));transform:translateX(-50%);z-index:8800;display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none}
.th-herald{--tone:var(--brass-hi,#ddd0a6);display:flex;align-items:baseline;gap:10px;padding:7px 18px 8px;background:linear-gradient(90deg,#0e0e0ce0,#121311f2 30%,#121311f2 70%,#0e0e0ce0);
 box-shadow:0 0 0 1px #000000aa,inset 0 1px 0 #ede8d912,0 10px 26px #00000088;border-top:1.5px solid var(--tone);border-bottom:1px solid #00000066;
 opacity:0;transform:translateY(-10px) scale(.98);transition:opacity .35s ease,transform .45s var(--ease,ease)}
.th-herald.in{opacity:1;transform:none}.th-herald.out{opacity:0;transform:translateY(-6px)}
.th-herald span{font:600 11px/1 var(--font-ui);letter-spacing:.24em;color:var(--tone);text-transform:uppercase}
.th-herald b{font:600 17px/1.2 var(--font-title);letter-spacing:.06em;color:var(--paper,#d4cfbf)}
.th-herald[data-tone=red]{--tone:#ff6a55}.th-herald[data-tone=ash]{--tone:#9f9d97}.th-herald[data-tone=info]{--tone:var(--info,#79acd6)}

/* ── cinematic overlay ── */
.th-cinema{position:fixed;inset:0;z-index:9000;pointer-events:auto;overflow:hidden;color:var(--paper,#d4cfbf);font-family:var(--font-title);-webkit-user-select:none;user-select:none;touch-action:none;opacity:0;transition:opacity .6s ease}
.th-cinema.on{opacity:1}
.th-cinema.passthrough{pointer-events:none}.th-cinema.passthrough .th-skip{display:none}.th-cinema.leaving{opacity:0;transition-duration:.7s;pointer-events:none}
.th-grade,.th-vignette{position:absolute;inset:0;pointer-events:none}
.th-grade{background:#00000000;transition:opacity 1.6s ease}
.th-grade::before,.th-grade::after{content:"";position:absolute;inset:0;opacity:0;transition:opacity 1.8s ease}
/* each grade is a fixed gradient; switching only cross-fades opacity */
.th-cinema[data-grade=dawn] .th-grade::before{opacity:1;background:linear-gradient(180deg,#11120fc0 0%,#21211e70 40%,#48494650 80%,#c9874a5c 100%)}
.th-cinema[data-grade=night] .th-grade::before{opacity:1;background:radial-gradient(120% 90% at 50% 45%,#0e0e0c90,#050504e0)}
.th-cinema[data-grade=ash] .th-grade::before{opacity:1;background:linear-gradient(180deg,#18181890,#21212038 50%,#0b0c0bb0)}
.th-cinema[data-grade=ash] .th-grade::after{opacity:1;background:#25252452}
.th-cinema[data-grade=victory] .th-grade::before{opacity:1;background:radial-gradient(90% 70% at 50% 45%,#40403d90,#0b0b0ae6)}
.th-cinema[data-grade=gold] .th-grade::before{opacity:1;background:radial-gradient(80% 60% at 50% 50%,#b4a67d30,#070706c8 80%)}
.th-cinema[data-grade=alarm] .th-grade::before{opacity:1;background:radial-gradient(110% 80% at 50% 50%,#2a0a08a0,#0c0303e8)}
.th-cinema[data-grade=alarm] .th-grade::after{background:radial-gradient(100% 70% at 50% 50%,#00000000 40%,#d4231a66);animation:th-pulse 1.4s ease-in-out infinite}
@keyframes th-pulse{0%,100%{opacity:.15}50%{opacity:.9}}
.th-cinema[data-grade=none] .th-grade::before{opacity:.0}
.th-vignette{background:radial-gradient(130% 100% at 50% 50%,#00000000 55%,#000000cc)}
.th-bar{position:absolute;left:0;right:0;height:11vh;background:#000000;transform:scaleY(0);transition:transform .9s cubic-bezier(.7,0,.2,1)}
.th-top{top:0;transform-origin:top}.th-bottom{bottom:0;transform-origin:bottom}
.th-cinema.bars .th-bar{transform:scaleY(1)}
.th-content{position:absolute;inset:11vh 6vw;text-align:center;pointer-events:none}
/* fixed slots so pieces that overlap in time never overlap in space: emblem top, title upper-middle, stamp centre, radio low */
.th-content>*{position:absolute;left:0;right:0;margin-inline:auto;width:fit-content;max-width:100%;opacity:0;transition:opacity .9s ease,transform 1.2s cubic-bezier(.2,.8,.2,1)}
.th-content>.th-emblem{top:1vh}.th-content>.th-title{top:31%}.th-content>.th-stamp{top:27%}.th-content>.th-radio{bottom:3%}
.th-content>.th-title[data-style=sub]{top:auto;bottom:8%}.th-content>.th-title[data-style=opening]{top:34%}
.th-content>.in{opacity:1}.th-content>.out{opacity:0!important;transition-duration:.55s}
.th-skip{position:absolute;right:calc(18px + env(safe-area-inset-right,0px));bottom:calc(11vh + 14px);min-height:44px;padding:0 18px;border:1px solid #ddd0a655;border-radius:22px;background:#00000099;color:#ddd0a6cc;font:600 14px var(--font-ui);letter-spacing:.12em;opacity:.0;transition:opacity .5s ease 1.2s}
.th-cinema.on .th-skip{opacity:1}
.th-cinema[data-skippable="0"] .th-skip{visibility:hidden}

/* title card */
.th-title{transform:translateY(14px)}.th-title.in{transform:none}
.th-title .th-kicker{display:block;font:600 13px/1 var(--font-ui);letter-spacing:.42em;color:var(--brass-hi,#ddd0a6);margin-bottom:1.6vh;text-indent:.42em}
.th-title h1{margin:0;font:700 clamp(40px,7vw,86px)/1.06 var(--font-title);letter-spacing:.12em;text-indent:.12em;text-shadow:0 2px 0 #00000088,0 0 40px #000000}
.th-title p{margin:2vh 0 0;font:400 clamp(15px,1.9vw,21px)/1.5 var(--font-title);letter-spacing:.14em;color:#c2bcadd0}
.th-title[data-style=alarm] .th-kicker{color:#ff6a55}.th-title[data-style=alarm] h1{color:#e2ddce}
.th-title[data-style=ash] h1{color:#c6c1b3;font-weight:400;letter-spacing:.2em}.th-title[data-style=ash] .th-kicker{color:#9f9d97}
.th-title[data-style=victory] h1{color:#d4cfbf;text-shadow:0 0 30px #b4a67d88,0 2px 0 #000000}
.th-title[data-style=sub] h1{font-size:clamp(18px,2.4vw,26px);font-weight:400;letter-spacing:.2em;color:#ddd0a6}

/* radio transcript */
.th-radio{width:min(620px,86vw);padding:16px 22px 18px;text-align:left;background:linear-gradient(180deg,#10100ee8,#0b0c0bf0);box-shadow:0 0 0 1px #000000,inset 0 0 0 1px #b4a67d33;transform:translateY(10px)}
.th-radio.in{transform:none}
.th-radio-head{display:block;font:600 11px/1 var(--font-ui);letter-spacing:.3em;color:#ff7a5a;margin-bottom:12px;animation:th-blink 1.1s steps(2) infinite}
@keyframes th-blink{50%{opacity:.35}}
.th-radio p{margin:0;height:6.6em;contain:strict;overflow:hidden;white-space:pre-line;font:500 clamp(17px,2vw,22px)/1.6 "Courier New",var(--font-title);letter-spacing:.08em;color:#d0cbbb}
.th-radio p::after{content:"▍";color:#ddd0a6;animation:th-blink .7s steps(2) infinite}

/* stamp (operation name / 突破) */
.th-stamp{display:grid;justify-items:center;gap:1.4vh;transform:scale(1.6);transition:opacity .25s ease,transform .5s cubic-bezier(.3,1.6,.5,1)}
.th-stamp.in{transform:scale(1)}
.th-stamp b{display:block;padding:.18em .7em .22em;font:900 clamp(46px,8vw,104px)/1 var(--font-title);letter-spacing:.18em;text-indent:.18em;color:#d0cbbc;border:4px double #b4a67d;box-shadow:inset 0 0 0 2px #00000088,0 0 60px #b4a67d44;text-shadow:0 3px 0 #000000aa;transform:rotate(-2.2deg)}
.th-stamp small{font:500 clamp(15px,1.8vw,20px)/1.4 var(--font-ui);letter-spacing:.22em;color:#c2bcad}

/* emblem */
.th-emblem{filter:drop-shadow(0 8px 24px #000000)}
.th-emblem svg{width:clamp(110px,15vw,170px);height:auto;display:block}
.th-emblem[data-mode=rise]{transform:translateY(24px) scale(.94)}.th-emblem[data-mode=rise].in{transform:none}
.th-emblem[data-mode=fall].in{animation:th-fall 6s cubic-bezier(.5,0,.8,.4) 1.2s forwards}
@keyframes th-fall{0%{transform:none;opacity:1}60%{opacity:0}100%{transform:translateY(9vh) rotate(7deg);opacity:0}}
.th-emblem[data-mode=shatter].in{animation:th-shatter 5.2s ease-in 1.6s forwards}
@keyframes th-shatter{0%{transform:none;opacity:1}12%{transform:scale(1.06)}100%{transform:scale(.7) translateY(18vh);opacity:0}}

.th-flash{position:absolute;inset:0;background:#e4dece;pointer-events:none;animation:th-flash .8s ease-out forwards}
@keyframes th-flash{0%{opacity:.75}100%{opacity:0}}

/* settings + mute (top bar) */
html body .th-mute{min-width:44px;min-height:44px}
.th-prefs{display:grid;gap:8px;margin:8px 0}
.th-prefs .th-seg{display:flex;gap:4px}.th-prefs .th-seg button{flex:1;min-height:44px}
.th-prefs .th-seg button[aria-pressed=true]{color:var(--ink-0,#0a0b09);background:var(--brass,#b4a67d)}

@media (prefers-reduced-motion:reduce){
 .th-cinema *,#fx-map *{animation-duration:.01ms!important;animation-delay:0s!important;transition-duration:.2s!important}
 .th-cinema[data-grade=alarm] .th-grade::after{animation:none;opacity:.4}
}

/* ── menu: the painting breathes. Slow camera drift, drifting smoke, rising embers.
   Pure transform/opacity on three fixed layers (no repaint per frame). ── */
html body .atlas-home{overflow:hidden}
html body .atlas-home .atlas-backdrop{transform-origin:62% 48%;animation:th-kenburns 48s ease-in-out infinite alternate;will-change:transform}
@keyframes th-kenburns{from{transform:scale(1.04) translate3d(0,0,0)}to{transform:scale(1.13) translate3d(-1.6%,-1.1%,0)}}
html body .atlas-home .th-smoke,html body .atlas-home .th-embers{position:absolute;pointer-events:none;z-index:-1}
html body .atlas-home .th-smoke{inset:-20% -40%;background:
 radial-gradient(38% 22% at 20% 70%,#c2baa033,#00000000 70%),radial-gradient(30% 18% at 60% 80%,#a69e852a,#00000000 70%),radial-gradient(44% 20% at 90% 62%,#968e7626,#00000000 70%);
 animation:th-smoke 70s linear infinite;will-change:transform;opacity:.9}
@keyframes th-smoke{from{transform:translate3d(-12%,0,0)}to{transform:translate3d(12%,-3%,0)}}
html body .atlas-home .th-embers{left:0;right:0;bottom:-10%;height:120%;background-image:
 radial-gradient(1.6px 1.6px at 12% 88%,#ffb46acc,#00000000),radial-gradient(1.2px 1.2px at 27% 94%,#ffcf8acc,#00000000),radial-gradient(2px 2px at 44% 91%,#ff9a4acc,#00000000),radial-gradient(1.4px 1.4px at 63% 97%,#e3d5abcc,#00000000),radial-gradient(1.8px 1.8px at 78% 90%,#ffa85acc,#00000000),radial-gradient(1.2px 1.2px at 91% 95%,#ffcf8acc,#00000000),
 radial-gradient(1.4px 1.4px at 36% 99%,#ffb46a99,#00000000),radial-gradient(1.6px 1.6px at 85% 99%,#ffb46a99,#00000000);
 animation:th-embers 16s linear infinite;will-change:transform,opacity}
@keyframes th-embers{0%{transform:translate3d(0,0,0);opacity:0}12%{opacity:1}80%{opacity:.7}100%{transform:translate3d(3%,-55%,0);opacity:0}}
html body .atlas-home .atlas-logo{animation:th-logo 2.4s cubic-bezier(.2,.8,.2,1) both}
@keyframes th-logo{from{opacity:0;transform:translateY(10px);letter-spacing:.02em}to{opacity:1;transform:none}}
html body .atlas-home .atlas-menu>button{animation:th-menu .7s cubic-bezier(.2,.8,.2,1) both}
html body .atlas-home .atlas-menu>button:nth-child(1){animation-delay:.6s}html body .atlas-home .atlas-menu>button:nth-child(2){animation-delay:.7s}html body .atlas-home .atlas-menu>button:nth-child(3){animation-delay:.8s}html body .atlas-home .atlas-menu>button:nth-child(4){animation-delay:.9s}html body .atlas-home .atlas-menu>button:nth-child(5){animation-delay:1s}
@keyframes th-menu{from{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:none}}
/* everyday press feedback: a brass flash under the finger on every command button */
html.touch-shell body .command-ui button:active:not(:disabled),html body .atlas-menu button:active:not(:disabled){filter:brightness(1.25);transition:filter 0s}
@media (prefers-reduced-motion:reduce){html body .atlas-home .atlas-backdrop,html body .atlas-home .th-smoke,html body .atlas-home .th-embers{animation:none}}
/* top-bar mute sits under the save button in the clock block */
html body.playable-integrated .command-ui.hoi-ui .hoi-time{grid-template-areas:"play date date save" "play status status save" "play speeds slow mute"}
html body.playable-integrated .command-ui.hoi-ui #campaign-save{height:auto;align-self:stretch}
html body.playable-integrated .command-ui.hoi-ui .th-mute{grid-area:mute;width:44px;height:26px;min-width:0;min-height:0;padding:0;display:grid;place-items:center;color:var(--paper-2);background:none;border:0;position:relative}
html body.playable-integrated .command-ui.hoi-ui .th-mute::after{content:"";position:absolute;inset:-9px -2px -9px -2px} /* 44px touch target */
html body.playable-integrated .command-ui.hoi-ui .th-mute[aria-pressed=true]{color:var(--stop)}

/* TOUCH-GAMEPLAY-2 · input diagnostics (Settings) */
.th-prefs .th-diag summary{cursor:pointer;font-size:12px;color:var(--paper-2,#9f9d96);min-height:36px;display:flex;align-items:center}
.th-prefs .th-diag pre{max-height:220px;overflow:auto;font:11px/1.35 ui-monospace,Menlo,monospace;white-space:pre-wrap;word-break:break-all;background:#0b0c0b;padding:8px;border:1px solid #ede8d914;color:#cec5ac;-webkit-user-select:text;user-select:text}
.th-prefs .th-diag button{min-height:40px}

/* ── 91-atlas-art.css ── */
/* ART-2 · operational-map art direction: printed staff map, ink symbols, hand-coloured territory. */
/* territory reads as an overprint through a light wash plus a border band (politicalTone.ts).
   mix-blend-mode:multiply was tried and halved the pan frame rate (blending the whole map
   layer on every raster), so the look is achieved with plain opacity. */

/* nation names: engraved, widely spaced serif in umber ink with a paper halo */
html body.playable-integrated svg .national-name{fill:#3b2e20;fill-opacity:.78;stroke:#efe6c8;stroke-opacity:.55;stroke-width:3px;font-family:var(--font-title);font-weight:700;letter-spacing:.55em}

/* ── ART-3 document materials ──
   Windows are document stock rather than flat colour: a 2 KB tiling paper grain (fibres and
   tooth) over the ink gradient. Static, one image for every panel, cached once. */
:root{--grain:url(/assets/playable/war-atlas/grain.png) 0 0/96px 96px repeat;
 --panel-bg:var(--grain),linear-gradient(180deg,#1d1d1bf5,#111210f7 60%,#0e0e0cf8)}
html body.playable-integrated .command-ui.hoi-ui .hoi-top{background-image:url(/assets/playable/war-atlas/grain.png),linear-gradient(180deg,#1b1b19,#10110f)}
/* research hero: a drafting sheet — warm film, ruled grid, title rule */
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-hero{--rw-callout:#ddd0a6;background:var(--grain),linear-gradient(#9bc1d414 1px,transparent 1px) 0 0/12px 12px,linear-gradient(90deg,#9bc1d414 1px,transparent 1px) 0 0/12px 12px,radial-gradient(ellipse at 50% 60%,#2f302c,#121311 75%)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-node .rw-art text{display:none}
/* officers: period photographic prints — warm silver-gelatin tone, white paper border, a
   shadow that lifts the print off the page. Pure CSS on the existing portraits. */
html body.playable-integrated .hoi-ui .officer-portrait{filter:sepia(.32) contrast(1.06) brightness(.97);border:3px solid #d2cdbd!important;border-radius:1px;box-shadow:0 0 0 1px #00000077,0 3px 8px #000000aa!important}
html body.playable-integrated .hoi-ui .officer-portrait::after{content:"";position:absolute;inset:0;background:var(--grain);mix-blend-mode:overlay;opacity:.6;pointer-events:none}

/* ── 92-theatre2.css ── */
/* THEATRE-2 · war-film direction on top of THEATRE-1.
   The overlay never takes touches between the letterbox bars; only the bars (tap = reduce), the skip
   button and follow-up actions are interactive. Only transform/opacity animate; gradients are static
   layers that cross-fade. */

/* ── the overlay is see-through to touch ── */
.th-cinema{pointer-events:none;touch-action:auto}
.th-cinema .th-bar,.th-cinema .th-skip,.th-cinema .th-actions button{pointer-events:auto}
.th-cinema.leaving .th-bar,.th-cinema.leaving .th-skip{pointer-events:none}
.th-bar{height:10vh;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}
.th-top{align-items:flex-end}.th-bottom{align-items:center}
.th-content{inset:10vh 5vw}

/* slate (top bar): kicker · place · time, like a film slate */
.th-slate{width:100%;display:flex;align-items:baseline;gap:14px;padding:0 calc(28px + env(safe-area-inset-left,0px)) 1.6vh;opacity:0;transform:translateY(6px);transition:opacity .8s ease .5s,transform 1s cubic-bezier(.2,.8,.2,1) .5s}
.th-slate.in{opacity:1;transform:none}
.th-slate .k{font:600 11px/1 var(--font-ui);letter-spacing:.36em;color:#c9443a;text-transform:uppercase}
.th-slate b{font:600 clamp(16px,2vw,22px)/1 var(--font-title);letter-spacing:.16em;color:#d2cdbd}
.th-slate .t{margin-left:auto;font:500 13px/1 "Courier New",var(--font-ui);letter-spacing:.14em;color:#a69e85}

/* subtitles (bottom bar): speaker + typed line */
.th-sub{contain:layout style;max-width:min(860px,88vw);display:flex;align-items:baseline;gap:14px;opacity:0;transform:translateY(8px);transition:opacity .4s ease,transform .6s cubic-bezier(.2,.8,.2,1)}
.th-sub.in{opacity:1;transform:none}
.th-sub .who{flex:none;font:600 11px/1.6 var(--font-ui);letter-spacing:.24em;color:#b4a67d;white-space:nowrap}
.th-sub .who[data-tone=alarm]{color:#ff6a55}.th-sub .who[data-tone=report]{color:#9fb9c9}.th-sub .who[data-tone=voice]{color:#c2bcad}
.th-sub p{margin:0;font:500 clamp(15px,1.8vw,20px)/1.45 var(--font-title);letter-spacing:.08em;color:#dad4c5;white-space:pre-line;text-shadow:0 1px 0 #000000}

/* climactic title: open frame, upper third, no box */
.th-content>.th-title{top:2%}
.th-title h1{font-size:clamp(28px,4.4vw,58px);white-space:nowrap}.th-title p{margin-top:1vh}
.th-title[data-style=dread] h1{color:#d5d0c0;font-weight:400;letter-spacing:.24em}.th-title[data-style=dread] .th-kicker{color:#ff6a55}
.th-title[data-style=breach] h1{color:#e1dbcb;text-shadow:0 0 34px #ffb85a88,0 2px 0 #000000}.th-title[data-style=breach] .th-kicker{color:#e2d4a9}

/* stamp tones */
.th-content>.th-stamp{top:1%}.th-stamp b{font-size:clamp(34px,5.2vw,68px)}
.th-stamp[data-tone=red] b{color:#d3cebe;border-color:#c9443a;box-shadow:inset 0 0 0 2px #00000088,0 0 60px #c9443a55}
.th-stamp[data-tone=ash] b{color:#c8c3b5;border-color:#807e77;box-shadow:inset 0 0 0 2px #00000088}

/* film grain + light */
/* static grain: an animated full-screen layer recomposited the whole screen every frame (profiled: p95 17→33 ms) */
.th-grain{position:absolute;inset:0;pointer-events:none;opacity:.07;background:url('/assets/playable/war-atlas/grain-heavy.png') repeat}
@keyframes th-grain{0%{transform:translate3d(0,0,0)}20%{transform:translate3d(-2%,1%,0)}40%{transform:translate3d(1%,-2%,0)}60%{transform:translate3d(2%,2%,0)}80%{transform:translate3d(-1%,-1%,0)}100%{transform:translate3d(0,0,0)}}
.th-light{position:absolute;inset:0;pointer-events:none;opacity:0;overflow:hidden}
.th-light::before{content:"";position:absolute;top:-20%;bottom:-20%;left:-60%;width:45%;background:linear-gradient(100deg,#00000000,#d0cbbb24 40%,#e0dbcb38 50%,#d0cbbb24 60%,#00000000);transform:translateX(0) skewX(-12deg)}
.th-light.sweep{opacity:1}.th-light.sweep::before{animation:th-sweep 3.6s cubic-bezier(.4,0,.2,1) forwards}
@keyframes th-sweep{to{transform:translateX(420%) skewX(-12deg)}}
.th-flash{opacity:var(--k,.75);animation:th-flash2 .8s ease-out forwards}
@keyframes th-flash2{0%{opacity:var(--k,.75)}100%{opacity:0}}

/* grades: light enough that the battlefield always reads (THEATRE-2 rule: the map is the screen) */
.th-cinema[data-grade=night] .th-grade::before{background:radial-gradient(120% 90% at 50% 45%,#0e0e0c40,#050504b0)}
.th-cinema[data-grade=dawn] .th-grade::before{background:linear-gradient(180deg,#11120f70 0%,#21211e30 40%,#48494624 80%,#c9874a40 100%)}
.th-cinema[data-grade=ash] .th-grade::before{background:linear-gradient(180deg,#18181855,#21212018 50%,#0b0c0b70)}
.th-cinema[data-grade=ash] .th-grade::after{background:#2525242e}
.th-cinema[data-grade=alarm] .th-grade::before{background:radial-gradient(110% 80% at 50% 50%,#2a0a0830,#0c0303b0)}
.th-cinema[data-grade=victory] .th-grade::before{background:radial-gradient(90% 70% at 50% 45%,#40403d40,#0b0b0ab0)}
/* new grades */
.th-cinema[data-grade=predawn] .th-grade::before{opacity:1;background:linear-gradient(180deg,#070706b0 0%,#10110e50 55%,#1f1f1d60 100%)}
.th-cinema[data-grade=smoke] .th-grade::before{opacity:1;background:linear-gradient(180deg,#10101080,#22222130 55%,#0a0a0990)}
.th-cinema[data-grade=smoke] .th-grade::after{opacity:1;background:#4a4a481a}
.th-cinema[data-grade=dread] .th-grade::before{opacity:1;background:radial-gradient(85% 75% at 50% 50%,#00000000 45%,#3a080670 85%,#0a0202c8)}
.th-cinema[data-grade=dread] .th-grade::after{opacity:.8;background:radial-gradient(70% 60% at 50% 50%,#00000000 60%,#b0201840);animation:none} /* the pulse is the heartbeat in the sound, not a full-screen animation */
.th-cinema[data-grade=alarm] .th-grade::after{animation:th-pulse 1.4s steps(4) infinite}
.th-cinema[data-grade=gold] .th-grade::before{background:radial-gradient(85% 70% at 50% 50%,#b4a67d14,#070706a8 85%)}

/* ── reduced: the player is commanding; the scene folds into a caption and keeps playing ── */
.th-caption{contain:layout style paint;position:fixed;left:50%;top:calc(86px + env(safe-area-inset-top,0px));transform:translate(-50%,-8px);max-width:min(560px,70vw);padding:6px 16px 7px;background:#0a0a09e6;border-top:1.5px solid #c9443a;box-shadow:0 0 0 1px #000000,0 8px 20px #00000088;opacity:0;transition:opacity .35s ease,transform .45s ease;pointer-events:none}
.th-caption span{display:block;font:600 14px/1.3 var(--font-title);letter-spacing:.1em;color:#d2cdbd;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.th-cinema.reduced .th-caption{opacity:1;transform:translate(-50%,0)}
.th-cinema.reduced .th-bar{transform:scaleY(0)!important;pointer-events:none}
.th-cinema.reduced .th-grade,.th-cinema.reduced .th-grain,.th-cinema.reduced .th-light{opacity:0!important;transition:opacity .45s ease}
.th-cinema.reduced .th-vignette{opacity:.35;transition:opacity .45s ease}
.th-cinema.reduced .th-content,.th-cinema.reduced .th-doc-slot{opacity:0;transition:opacity .3s ease}
.th-cinema.reduced .th-skip{bottom:auto;top:calc(80px + env(safe-area-inset-top,0px));right:calc(12px + env(safe-area-inset-right,0px));min-height:40px;padding:0 14px}
.th-vignette{transition:opacity .6s ease;background:radial-gradient(135% 105% at 50% 50%,#00000000 62%,#00000099)}
.th-skip{bottom:calc(10vh + 14px);transition:opacity .5s ease .8s}

/* ── the operations order: Iron document stock (bone paper, black type, red stamp) ── */
.th-doc-slot{position:absolute;left:calc(18px + env(safe-area-inset-left,0px));top:calc(10vh + 18px);width:min(340px,36vw);transition:opacity .3s ease}
.th-doc{position:relative;padding:16px 18px 18px;background:#d0cbbb url('/assets/playable/war-atlas/grain.png');color:#101010;box-shadow:0 0 0 1px #000000,0 18px 40px #000000bb;transform:translateX(-115%) rotate(-1.2deg);opacity:0;transition:transform .9s cubic-bezier(.2,.8,.2,1),opacity .5s ease;font-family:var(--font-title)}
.th-doc.in{transform:rotate(-1.2deg);opacity:1}.th-doc.out{transform:translateX(-115%) rotate(-1.2deg);opacity:0}
.th-doc header{display:flex;justify-content:space-between;align-items:baseline;border-bottom:2px solid #101010;padding-bottom:6px;margin-bottom:8px}
.th-doc header span{font:700 10px/1 var(--font-ui);letter-spacing:.32em;color:#8a2a22}
.th-doc header b{font:700 11px/1 "Courier New",monospace;letter-spacing:.12em}
.th-doc h2{margin:2px 0 2px;font:800 30px/1.1 var(--font-title);letter-spacing:.14em}
.th-doc .meta{font:600 13px/1.45 "Courier New",monospace;letter-spacing:.06em;color:#313130;margin-bottom:8px}
.th-doc ol{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.th-doc li{display:grid;grid-template-columns:34px 1fr auto;gap:8px;align-items:center;padding:4px 0;border-top:1px dashed #10101055;opacity:0;transform:translateX(-8px);animation:th-docline .5s ease forwards}
.th-doc li .officer-face{width:30px;height:38px;display:block;background-image:url('/assets/playable/hoi-visual/commanders.jpg');background-size:800% 400%;filter:grayscale(.6) sepia(.35) contrast(1.1);border:2px solid #dcd7c7;box-shadow:0 0 0 1px #00000066}
.th-doc li b{display:block;font:700 15px/1.25 var(--font-title);letter-spacing:.06em}.th-doc li small{display:block;font:600 12px/1.3 "Courier New",monospace;color:#353533}
.th-doc li em{font:800 18px/1 var(--font-num,var(--font-title));font-style:normal}
@keyframes th-docline{to{opacity:1;transform:none}}
.th-doc .seal{position:absolute;right:14px;bottom:10px;padding:4px 10px;border:3px double #a3241c;color:#a3241c;font:900 18px/1 var(--font-title);letter-spacing:.24em;transform:rotate(-9deg) scale(1.8);opacity:0;transition:opacity .2s ease,transform .45s cubic-bezier(.3,1.7,.5,1)}
.th-doc.sealed .seal{opacity:.88;transform:rotate(-9deg) scale(1)}
.th-doc.dispatch{background-color:#c7c2b2}
.th-doc.dispatch h2{font-size:20px}

/* follow-up actions after a scene: two big touch targets, then they fade */
.th-actions{position:fixed;left:50%;bottom:calc(10vh + 18px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);display:flex;gap:8px;z-index:9001;pointer-events:none}
.th-actions button{min-height:48px;padding:0 20px;border:1px solid #c9443a;background:#111111f0;color:#d4cfbf;font:600 15px var(--font-ui);letter-spacing:.12em;box-shadow:0 8px 22px #000000aa;opacity:0;transform:translateY(8px);animation:th-act .5s ease .2s forwards}
@keyframes th-act{to{opacity:1;transform:none}}
.th-actions.linger{position:fixed;bottom:calc(96px + env(safe-area-inset-bottom,0px));transition:opacity .5s ease}
.th-actions.linger button{pointer-events:auto}.th-actions.out{opacity:0}

/* minor reports between scenes: quiet, stacked, top-left under the bar, never take touches */
.th-dispatches{position:fixed;left:calc(14px + env(safe-area-inset-left,0px));top:calc(92px + env(safe-area-inset-top,0px));z-index:8700;display:flex;flex-direction:column;gap:4px;pointer-events:none;max-width:min(340px,44vw)}
.th-dispatch{display:flex;gap:8px;align-items:baseline;padding:5px 12px 6px;background:#0b0b0ad9;border-left:2px solid var(--tone,#9fb9c9);box-shadow:0 4px 12px #00000077;opacity:0;transform:translateX(-10px);transition:opacity .35s ease,transform .45s ease}
.th-dispatch.in{opacity:1;transform:none}.th-dispatch.out{opacity:0}
.th-dispatch span{flex:none;font:600 10px/1 var(--font-ui);letter-spacing:.2em;color:var(--tone,#9fb9c9)}.th-dispatch b{font:500 13px/1.3 var(--font-title);color:#ccc6b6;letter-spacing:.04em}
.th-dispatch[data-tone=gold]{--tone:#ddd0a6}.th-dispatch[data-tone=red]{--tone:#ff6a55}.th-dispatch[data-tone=ash]{--tone:#9f9d97}

/* screen shake on the map itself (impacts); the camera transform lives on #map-stage, so this moves its parent */
#map-wrap.th-shake{animation:th-shake .42s cubic-bezier(.36,.07,.19,.97)}
@keyframes th-shake{10%,90%{transform:translate3d(-1px,1px,0)}20%,80%{transform:translate3d(3px,-2px,0)}30%,50%,70%{transform:translate3d(-4px,2px,0)}40%,60%{transform:translate3d(4px,-1px,0)}}

/* ── map effects ── */
#fx-map .fx-skirmish i{position:absolute;width:9%;height:9%;border-radius:50%;background:radial-gradient(closest-side,#e2dccc,#ffb24a99 50%,#00000000);opacity:0;animation:fx-spark .32s ease-out both}
@keyframes fx-spark{0%{opacity:0;transform:scale(.4)}30%{opacity:1}100%{opacity:0;transform:scale(1.4)}}
#fx-map .fx-smoke{contain:layout paint;overflow:visible}
#fx-map .fx-smoke i{position:absolute;bottom:8%;width:46%;height:46%;border-radius:50%;background:radial-gradient(closest-side,#c2bdae99,#a1998055 55%,#00000000);opacity:0;animation:fx-puff var(--ms,7s) cubic-bezier(.2,.6,.3,1) both}
#fx-map .fx-smoke.dark i{background:radial-gradient(closest-side,#212120cc,#2e2e2c77 55%,#00000000)}
@keyframes fx-puff{0%{opacity:0;transform:translate3d(0,0,0) scale(.35)}12%{opacity:.85}100%{opacity:0;transform:translate3d(var(--dx,10%),-120%,0) scale(1.9)}}
#fx-map .fx-fire i{position:absolute;inset:22%;border-radius:50%;background:radial-gradient(closest-side,#e4d6abaa,#ff6a2a66 50%,#00000000);animation:fx-flicker .23s steps(2) infinite alternate,fx-fade var(--ms,9s) ease-in both}
#fx-map .fx-fire i+i{inset:32% 18% 18% 36%;animation-duration:.31s,var(--ms,9s)}
@keyframes fx-flicker{from{opacity:.55;transform:scale(.92)}to{opacity:1;transform:scale(1.06)}}
#fx-map .fx-staging{opacity:0;animation:fx-staging 3.4s ease-in-out both}
@keyframes fx-staging{0%{opacity:0}20%{opacity:.9}35%{opacity:.35}55%{opacity:.8}100%{opacity:0}}
#fx-map .fx-muzzle{border-radius:50%;background:radial-gradient(closest-side,#e6e1d2,#e2d4a9 35%,#ff8a3a55 60%,#00000000);opacity:0;animation:fx-muzzle .22s ease-out both}
@keyframes fx-muzzle{0%{opacity:0;transform:scale(.3)}25%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.25)}}
#fx-map .fx-shell{border-radius:50%;background:radial-gradient(closest-side,#e1dbcbee,#ff9a4ab0 35%,#a33a1a44 60%,#00000000);opacity:0;animation:fx-shell 1.1s cubic-bezier(.1,.7,.3,1) both}
#fx-map .fx-shell.soft{background:radial-gradient(closest-side,#e2d4a988,#a33a1a33 55%,#00000000)}
#fx-map .fx-shell::after{content:"";position:absolute;inset:-30%;border-radius:50%;background:radial-gradient(closest-side,#44444255,#00000000);opacity:0;animation:fx-dust 2.2s ease-out inherit both}
@keyframes fx-dust{0%{opacity:0;transform:scale(.4)}25%{opacity:1}100%{opacity:0;transform:scale(1.3)}}
#fx-map .fx-shell i{position:absolute;inset:0;border-radius:50%;border:3px solid #d0cbbb;opacity:0;animation:fx-shellring .7s ease-out inherit both}
@keyframes fx-shell{0%{opacity:0;transform:scale(.2)}12%{opacity:1;transform:scale(.8)}100%{opacity:0;transform:scale(1.35)}}
@keyframes fx-shellring{0%{opacity:.9;transform:scale(.3)}100%{opacity:0;transform:scale(1.6)}}
#fx-map .fx-arrows{animation:fx-fade calc(var(--ms,2.4s) + var(--linger,2.6s)) ease-in var(--d,0ms) both}
#fx-map .fx-arrow-shadow{stroke-width:calc(34px * var(--w,1))}
#fx-map .fx-arrow{stroke-width:calc(22px * var(--w,1))}
#fx-map .fx-arrow-head{stroke-width:calc(22px * var(--w,1))}
#fx-map .fx-arrow-flow{fill:none;stroke:#e5dfd0;stroke-opacity:.55;stroke-width:calc(5px * var(--w,1));stroke-linecap:round;stroke-dasharray:3 9;animation:fx-flow 1.1s linear infinite;opacity:0;animation:fx-flow 1.1s linear var(--ms,2.4s) infinite}
@keyframes fx-flow{from{stroke-dashoffset:24;opacity:1}to{stroke-dashoffset:0;opacity:1}}
#fx-map .fx-crack{contain:layout paint}
#fx-map .fx-crack path{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:100;stroke-dashoffset:100;animation:fx-draw .55s cubic-bezier(.6,0,.3,1) forwards,fx-fade var(--ms,2.6s) ease-in both}
#fx-map .fx-crack .glow{stroke:#ffb85a;stroke-width:26;stroke-opacity:.45}
#fx-map .fx-crack .core{stroke:#e4dece;stroke-width:6}
#fx-map .fx-flood{opacity:0;animation:fx-flood calc(var(--hold,2.6s) + .9s) ease both}
@keyframes fx-flood{0%{opacity:0;transform:scale(.6)}14%{opacity:.95;transform:scale(1.04)}24%{transform:scale(1)}70%{opacity:.55}100%{opacity:0}}
#fx-map .fx-close{border:none;animation:fx-close 2.8s cubic-bezier(.6,0,.2,1) both,fx-fade var(--ms,4.2s) ease-in both}
#fx-map .fx-close i{position:absolute;inset:0;border-radius:50%;border:10px dashed var(--c)}
#fx-map .fx-close.red i{border-style:solid;border-width:4px;box-shadow:inset 0 0 30px #ff6a5533}
#fx-map .fx-pockethex{animation:fx-pockethex var(--ms,4.2s) ease both}
@media (prefers-reduced-motion:reduce){.th-light::before,#fx-map .fx-fire i,#fx-map .fx-arrow-flow,#map-wrap.th-shake{animation:none!important}}

/* ── 95-refined.css ── */
/* ART-3b · restraint pass. The interface read as cheap and cartoonish: glossy gold
   buttons, a coin-like play disc, yellow stars and badges, corner brackets on every
   window, a bordered box around everything. This layer keeps the layout and touch
   targets and changes only the material:
   - one muted bronze accent, used for state and the primary action's rule, never as a fill;
   - flat dark surfaces, separated by hairlines rather than boxes;
   - no gloss, glow or bevel highlights;
   - engraved, letter-spaced labels; condensed tabular numbers. */
:root{
 --brass:#988f71; --brass-hi:#c0b89d; --brass-lo:#484946; --brass-glow:#988f711a;
 --paper:#cdc8b9; --paper-2:#9f9d96; --paper-3:#757470;
 --line:#ede8d914; --line-hi:#ede8d924;
 --crop:linear-gradient(transparent,transparent);
 --r:2px;
 --panel-edge:0 0 0 1px #000000,inset 0 0 0 1px #ede8d90d,0 18px 44px #000000bb;
 --panel-bg:var(--grain),linear-gradient(180deg,#151513f7,#10100ff8);
}
/* controls: flat, hairline, no gloss */
html body.playable-integrated .command-ui.hoi-ui :is(button,select,input){border-color:#ede8d91f;background:#1a1a19;box-shadow:none}
html body.playable-integrated .command-ui.hoi-ui button:active:not(:disabled){transform:none;background:#232321}
html body.playable-integrated .command-ui.hoi-ui :is(button[aria-pressed="true"],button.active,button[aria-checked="true"]){
 background:#1b1b1a;border-color:#ede8d91f;color:var(--brass-hi);box-shadow:inset 0 -2px 0 var(--brass)}
html body.playable-integrated .command-ui.hoi-ui button:disabled{opacity:.38;filter:none}
/* primary actions: dark plate, bronze rule, engraved label — not a gold bar */
html body.playable-integrated .command-ui.hoi-ui :is(.tc-primary,.design-primary,.plan-primary,.rw-primary):not(:disabled),
html body.playable-integrated #officer-window #officer-confirm:not(:disabled),
html body.playable-integrated .command-ui.hoi-ui .mp-resume{
 background:#191a18!important;border:1px solid var(--brass)!important;color:var(--brass-hi)!important;
 box-shadow:inset 0 0 0 1px #000000,inset 0 1px 0 #ede8d90d!important;font-weight:600;letter-spacing:.14em;text-shadow:none!important}
html body.playable-integrated .command-ui.hoi-ui :is(.tc-primary,.design-primary,.plan-primary,.rw-primary):active:not(:disabled),
html body.playable-integrated #officer-window #officer-confirm:active:not(:disabled){background:#232422!important}
/* clock: a squared control plate instead of a brass coin */
html body.playable-integrated .command-ui.hoi-ui #campaign-toggle{border-radius:2px;background:#161614;border:1px solid var(--brass);color:var(--brass-hi);box-shadow:inset 0 0 0 1px #000000}
html body.playable-integrated .command-ui.hoi-ui #campaign-toggle:disabled{border-color:#ede8d924;color:var(--paper-2)}
html body.playable-integrated .command-ui.hoi-ui .hoi-time .time-speeds button[aria-pressed="true"]{background:#1b1b1a;border-color:#ede8d924;color:var(--brass-hi);box-shadow:inset 0 -2px 0 var(--brass)}
html body.playable-integrated .command-ui.hoi-ui .hoi-time strong{font-family:var(--font-num);letter-spacing:.04em;font-weight:600}
/* labels and numbers */
html body.playable-integrated .command-ui.hoi-ui :is(.eyebrow,.rw-kicker,th,legend){letter-spacing:.18em}
html body.playable-integrated .command-ui.hoi-ui :is(h2,h3){font-weight:600;letter-spacing:.06em}
/* officer rank: small bronze pips (like collar insignia) instead of yellow stars */
html body.playable-integrated #officer-window .officer-stars{display:inline-flex;gap:3px;align-items:center;letter-spacing:0}
html body.playable-integrated #officer-window .officer-stars>i{width:9px;height:4px;background:#ede8d91a;transform:skewX(-20deg)}
html body.playable-integrated #officer-window .officer-stars>i[data-on]{background:var(--brass-hi)}
/* small badges that were candy-yellow squares */
html body.playable-integrated .command-ui.hoi-ui .factory-slots i{background:#242422;color:var(--brass-hi);box-shadow:inset 0 0 0 1px var(--brass-lo)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-pill[data-status="active"]{background:transparent;color:var(--brass-hi);border-color:var(--brass)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-slot-free{border:1px dashed #ede8d92e;background:transparent}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-slot-plus{border-radius:2px;border:1px solid #ede8d92e;color:var(--paper-2)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-bar i{background:var(--brass)}
html body.playable-integrated .command-ui.hoi-ui input[type=checkbox]:checked::after{background:var(--brass-hi)}
html body.playable-integrated .th-prefs .th-seg button[aria-pressed=true]{color:var(--brass-hi);background:#1b1b1a;box-shadow:inset 0 -2px 0 var(--brass)}
/* map unit status bars: less saturated, closer to printed colour */
html body.playable-integrated #eastfront-map [data-bar="org"]{fill:#7f9c5f}
html body.playable-integrated #eastfront-map [data-bar="personnel"]{fill:#b8a066}
/* selected states: a bronze edge on a dark row, never a gold-washed card */
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-cats button[aria-pressed="true"],
html body.playable-integrated #officer-window .officer-list button[aria-pressed=true]{background:#1b1b1a!important;border-color:#ede8d91f!important;box-shadow:inset 2px 0 0 var(--brass)!important;color:var(--paper)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-cats button[aria-pressed="true"] :is(.rw-cat-art,.rw-cat-name>b){color:var(--paper)}
/* count badges: small square tallies instead of white bubbles */
html body.playable-integrated .command-ui.hoi-ui section.rw-window :is(.rw-cat-avail,.rw-cat-act){border-radius:1px;background:#2b2b29;color:var(--paper);box-shadow:none;font-weight:600}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-cat-act{background:var(--brass-lo);color:var(--brass-hi)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-primary:not(:disabled) :is(small,span,em){color:var(--paper-2)!important}
/* portraits sit in a dark mount with a fine ivory edge — a photograph, not a gold frame */
html body.playable-integrated :is(#officer-window,.command-ui.hoi-ui) .officer-face{box-shadow:0 0 0 1px #000000,0 0 0 2px #c3beaf33,0 4px 10px #000000aa!important}
html body.playable-integrated #officer-window .officer-dossier>.officer-face{box-shadow:0 0 0 1px #000000,0 0 0 4px #cdc8b9,0 0 0 5px #00000066,0 10px 24px #000000bb!important;filter:sepia(.3) contrast(1.06)}
html body.playable-integrated #officer-window .officer-face.vacant{box-shadow:0 0 0 1px #ede8d924!important}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-node[aria-pressed="true"]{outline:1px solid var(--brass);outline-offset:2px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-locate{background:#1a1a19!important;border-color:#ede8d924!important;color:var(--paper)!important;box-shadow:none!important}
/* menu title: flat engraved ivory with wide tracking, no gilded gradient */
html body.playable-integrated .atlas-home .atlas-logo h1{background:none!important;-webkit-background-clip:border-box!important;background-clip:border-box!important;-webkit-text-fill-color:#c8c3b3!important;color:#c8c3b3!important;text-shadow:0 2px 14px #00000099!important;letter-spacing:.12em!important;font-weight:600!important}
html body.playable-integrated .atlas-home .atlas-logo>span{color:var(--brass)!important;letter-spacing:.5em}

/* ── 97-folio.css ── */
/* ART-4 · "典藏 Folio" interface style (default; the ink-blue style remains under
   settings → 界面风格). A cartographic folio instead of game chrome: bone paper
   panels, charcoal ink type, hairline rules, one oxblood accent, serif titles and
   tracked small labels. It sits on the printed operations map as part of the same
   document. Everything is scoped to html[data-ui-theme="folio"]. */
html[data-ui-theme="folio"]{
 --fo-paper:#d5cfbf; --fo-raised:#ded9ca; --fo-sunk:#c6c1b2; --fo-deep:#cec6ac;
 --fo-ink:#181917; --fo-ink-2:#3e3e3c; --fo-ink-3:#7c745c;
 --fo-rule:#18191724; --fo-rule-2:#18191752;
 --fo-ox:#7b2a21; --fo-ox-hi:#94372b; --fo-ox-wash:#7b2a2112;
 --fo-green:#4d4d4a; --fo-amber:#8a5d14;
 --fo-shadow:0 1px 0 #ede8d980 inset,0 0 0 1px #18191738,0 10px 30px #0000004d;
 --fo-grain:url(/assets/playable/war-atlas/grain.png) 0 0/96px 96px repeat;
}
/* token remap inside the game UI and the separate officer window */
html[data-ui-theme="folio"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window,.th-prefs){
 --ink-0:var(--fo-sunk); --ink-1:var(--fo-paper); --ink-2:var(--fo-raised); --ink-3:var(--fo-deep); --ink-4:#1819170d;
 --line:var(--fo-rule); --line-hi:var(--fo-rule-2);
 --brass:var(--fo-ox); --brass-hi:var(--fo-ox); --brass-lo:#7b2a2166; --brass-glow:transparent;
 --paper:var(--fo-ink); --paper-2:var(--fo-ink-2); --paper-3:var(--fo-ink-3);
 --go:var(--fo-green); --warn:var(--fo-amber); --stop:var(--fo-ox-hi); --info:#4b4c48;
 --bar-org:#4f7a3f; --bar-str:#8a7d56; --bar-bg:#1819171f;
 --panel-bg:var(--fo-grain),linear-gradient(180deg,var(--fo-raised),var(--fo-paper));
 --panel-edge:var(--fo-shadow);
 --tc-bg:var(--fo-paper); --tc-bg2:var(--fo-raised); --tc-line:var(--fo-rule-2); --tc-ink:var(--fo-ink); --tc-dim:var(--fo-ink-2); --tc-gold:var(--fo-ox); --tc-ok:var(--fo-green); --tc-warn:var(--fo-amber); --tc-bad:var(--fo-ox-hi);
 color:var(--fo-ink);
}
/* ── type: serif titles, tracked small labels, tabular figures ── */
html[data-ui-theme="folio"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) :is(h1,h2,h3){font-family:var(--font-title);font-weight:600;letter-spacing:.08em;color:var(--fo-ink)}
html[data-ui-theme="folio"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) :is(.eyebrow,th,legend,small){color:var(--fo-ink-3)}
html[data-ui-theme="folio"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) :is(p,span,b,strong,label,summary,td,li,dt,dd,em){text-shadow:none}

/* ── controls: paper with a hairline; pressed = ink edge; primary = oxblood plate ── */
html[data-ui-theme="folio"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) :is(button,select){
 background:transparent;border:1px solid var(--fo-rule-2);color:var(--fo-ink);box-shadow:none;border-radius:1px}
html[data-ui-theme="folio"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) input{background:var(--fo-raised);border:1px solid var(--fo-rule-2);color:var(--fo-ink);box-shadow:inset 0 1px 2px #1819171a}
html[data-ui-theme="folio"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) button:active:not(:disabled){background:var(--fo-sunk)}
html[data-ui-theme="folio"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) :is(button[aria-pressed="true"],button.active,button[aria-checked="true"]){
 background:var(--fo-raised);border-color:var(--fo-ink);color:var(--fo-ink);box-shadow:inset 0 -2px 0 var(--fo-ox)}
html[data-ui-theme="folio"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) button:disabled{opacity:.4}
html[data-ui-theme="folio"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) :is(.tc-primary,.design-primary,.plan-primary,.rw-primary,.mp-resume,#officer-confirm):not(:disabled){
 background:var(--fo-ox)!important;border:1px solid #4e1912!important;color:#dcd7c8!important;box-shadow:inset 0 1px 0 #ede8d926,0 1px 2px #0000004d!important;letter-spacing:.16em;font-weight:600}
html[data-ui-theme="folio"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) :is(.tc-primary,.design-primary,.plan-primary,.rw-primary,#officer-confirm):not(:disabled) *{color:#dcd7c8!important}
html[data-ui-theme="folio"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) :is(.tc-primary,.design-primary,.plan-primary,.rw-primary,#officer-confirm):active:not(:disabled){background:#5f1f18!important}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui :is(.hoi-icon,svg){color:inherit}

/* ── top bar: a printed masthead strip ── */
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui .hoi-top{background:var(--fo-grain),linear-gradient(180deg,#d9d4c5,#cec8b8)!important;border-bottom:1px solid #18191766;box-shadow:0 1px 0 #ede8d980 inset,0 6px 18px #0000003d;color:var(--fo-ink)}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui .hoi-top *{border-color:var(--fo-rule)}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui .hoi-top :is(b,strong,span,small){color:inherit}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui .hoi-country b{font-family:var(--font-title);letter-spacing:.14em;font-size:21px}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui .hoi-top :is(.hoi-national,.hoi-management) button{background:transparent;border-color:transparent;color:var(--fo-ink)}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui .hoi-top .hoi-management button .hoi-icon{color:var(--fo-ink-2)}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui .hoi-top .hoi-management button[aria-pressed="true"]{box-shadow:inset 0 -2px 0 var(--fo-ox)}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui .hoi-time{background:transparent!important;border-left:1px solid var(--fo-rule-2)}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui .hoi-time strong{font-family:var(--font-title);font-weight:600;letter-spacing:.06em;color:var(--fo-ink)}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui #campaign-toggle{background:var(--fo-ink);border:1px solid var(--fo-ink);color:#d9d4c5;border-radius:1px}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui #campaign-toggle:disabled{background:transparent;color:var(--fo-ink-3);border-color:var(--fo-rule-2)}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui .hoi-time .time-speeds button[aria-pressed="true"]{background:var(--fo-ink);color:#d9d4c5;border-color:var(--fo-ink);box-shadow:none}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui .hoi-alert{color:var(--fo-ox)}

/* ── surfaces: every floating panel is a folio sheet ── */
html[data-ui-theme="folio"] body.playable-integrated :is(.command-ui.hoi-ui :is(.tc-panel,.tc-tray,.tc-commands,.tc-pop,.tc-sheet,.tc-inspect,.tc-banner,.tc-toast,.ui-sidebar,.ui-notice,.hoi-map-modes,.ui-corps-card,.mp-council,.mp-banner),.zoom-controls){
 background:var(--fo-grain),linear-gradient(180deg,var(--fo-raised),var(--fo-paper))!important;border:1px solid #18191759!important;box-shadow:var(--fo-shadow)!important;color:var(--fo-ink);border-radius:1px!important}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui .touch-hud :is(.tc-pop,.tc-sheet,.tc-inspect) header,
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar>header{background:transparent!important;border-bottom:1px solid var(--fo-ink)!important;box-shadow:0 2px 0 -1px var(--fo-paper),0 3px 0 -1px var(--fo-rule-2)}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui .tc-chip{background:var(--fo-raised);border:1px solid var(--fo-rule-2);box-shadow:inset 3px 0 0 var(--fo-ox)}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui .tc-chip .tc-sym{background:var(--fo-sunk);color:var(--fo-ink);border-color:var(--fo-rule-2)}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui .tc-commands button{background:transparent;border:1px solid var(--fo-rule-2);color:var(--fo-ink)}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui .tc-commands button svg{color:var(--fo-ink-2)}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui .tc-commands button[data-kind="ATTACK"] svg{color:var(--fo-ox)}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui .tc-commands button[aria-pressed="true"]{background:var(--fo-ink);color:#d9d4c5;border-color:var(--fo-ink);box-shadow:none}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui .tc-commands button[aria-pressed="true"] svg{color:#efe9da}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui .tc-planbar .tc-go:not([data-blocked="1"]){background:var(--fo-green);border-color:#2c2c29;color:#dcd7c8}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui .tc-planbar .tc-stop{background:var(--fo-ox);border-color:#4e1912;color:#dcd7c8}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui .tc-tool[aria-pressed="true"]{background:var(--fo-ink);color:#d9d4c5;border-color:var(--fo-ink)}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui .tc-bars i{background:#18191724}
html[data-ui-theme="folio"] body.playable-integrated .zoom-controls :is(button,span,output){color:var(--fo-ink);background:transparent;border-color:var(--fo-rule-2)}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui .hoi-map-modes button{color:var(--fo-ink)}
/* sections inside windows: rules, not boxes */
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar :is(section,article,details,fieldset,.panel-block){background:transparent!important;border-color:var(--fo-rule)!important;box-shadow:none!important;color:var(--fo-ink)}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar :is(table,td,th){background:transparent!important;color:var(--fo-ink);border-color:var(--fo-rule)!important}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar th{color:var(--fo-ink-3);font-weight:600}

/* ── officers ── */
html[data-ui-theme="folio"] body.playable-integrated #officer-window{background:var(--fo-grain),linear-gradient(180deg,var(--fo-raised),var(--fo-paper))!important;color:var(--fo-ink);border:1px solid #18191766!important;box-shadow:0 20px 60px #00000099!important}
html[data-ui-theme="folio"] body.playable-integrated #officer-window *:not(svg,svg *,img,.officer-face){background-color:transparent;border-color:var(--fo-rule)}
html[data-ui-theme="folio"] body.playable-integrated #officer-window :is(header,footer){background:transparent!important;border-color:var(--fo-ink)!important}
html[data-ui-theme="folio"] body.playable-integrated #officer-window .officer-list button{background:transparent!important;border:0!important;border-bottom:1px solid var(--fo-rule)!important;box-shadow:none!important;color:var(--fo-ink)}
html[data-ui-theme="folio"] body.playable-integrated #officer-window .officer-list button[aria-pressed=true]{background:var(--fo-raised)!important;box-shadow:inset 3px 0 0 var(--fo-ox)!important}
html[data-ui-theme="folio"] body.playable-integrated #officer-window .officer-stars>i{background:#18191726}
html[data-ui-theme="folio"] body.playable-integrated #officer-window .officer-stars>i[data-on]{background:var(--fo-ox)}
html[data-ui-theme="folio"] body.playable-integrated :is(#officer-window,.command-ui.hoi-ui) .officer-face{box-shadow:0 0 0 3px #e1dcce,0 0 0 4px #18191740,0 3px 8px #0000004d!important;filter:sepia(.28) contrast(1.05)}
html[data-ui-theme="folio"] body.playable-integrated #officer-window .officer-face.vacant{background:repeating-linear-gradient(135deg,#c6c1b2 0 6px,#d0cbbb 6px 12px)!important;color:var(--fo-ink-3)}
html[data-ui-theme="folio"] body.playable-integrated #officer-window :is(.officer-stat,.officer-stats>*){background:transparent!important;border-color:var(--fo-rule-2)!important}

/* ── research ── */
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui section.rw-window{background:var(--fo-grain),var(--fo-paper)!important;--rw-line:#181917;color:var(--fo-ink)}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui section.rw-window :is(header,aside,nav,.rw-detail,.rw-cats,.rw-board,.rw-head,.rw-legend,.rw-detail-body,.rw-slots){background:transparent!important;border-color:var(--fo-rule-2)!important;box-shadow:none!important}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-node{background:var(--fo-raised)!important;border:1px solid var(--fo-rule-2)!important;box-shadow:0 1px 2px #0000001f!important;color:var(--fo-ink)}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-node[aria-pressed="true"]{outline:1.5px solid var(--fo-ox);outline-offset:2px}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-node-art{background:var(--fo-sunk)!important;color:var(--fo-ink-2)!important}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-hero{background:var(--fo-grain),linear-gradient(#18191712 1px,transparent 1px) 0 0/12px 12px,linear-gradient(90deg,#18191712 1px,transparent 1px) 0 0/12px 12px,#ccc6b6!important;color:#252523!important;--rw-callout:var(--fo-ox);box-shadow:inset 0 0 0 1px var(--fo-rule-2)!important;border-color:var(--fo-rule-2)!important}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-hero-year{color:#18191740}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-cats button[aria-pressed="true"]{background:var(--fo-raised)!important;box-shadow:inset 3px 0 0 var(--fo-ox)!important;color:var(--fo-ink)}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui section.rw-window :is(.rw-cat-avail,.rw-cat-act){background:var(--fo-ink);color:#d9d4c5}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-cat-art{color:var(--fo-ink-2)}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui section.rw-window :is(.rw-stat,.rw-stats>*,.rw-effect,.rw-pre,.rw-slot){background:transparent!important;border-color:var(--fo-rule-2)!important;color:var(--fo-ink)}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-locate{background:transparent!important;border-color:var(--fo-rule-2)!important;color:var(--fo-ink)!important}

/* ── heralds (minor event banners) match: a strip of paper with an oxblood rule ── */
html[data-ui-theme="folio"] .th-herald{background:var(--fo-grain),#d6d0c0;box-shadow:0 0 0 1px #18191759,0 8px 22px #00000066;border-top:2px solid var(--tone)}
html[data-ui-theme="folio"] .th-herald b{color:#181917}
html[data-ui-theme="folio"] .th-herald[data-tone=gold]{--tone:#7b2a21}html[data-ui-theme="folio"] .th-herald[data-tone=info]{--tone:#4b4c48}html[data-ui-theme="folio"] .th-herald[data-tone=ash]{--tone:#3e3e3c}html[data-ui-theme="folio"] .th-herald[data-tone=red]{--tone:#94372b}

/* ── audit fixes: surfaces that were hard-coded dark ── */
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui .hoi-top .hoi-country{background:transparent!important;border:0!important;border-right:1px solid var(--fo-rule-2)!important;box-shadow:none!important;color:var(--fo-ink)!important}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui .hoi-top .hoi-country :is(b,small,span){color:var(--fo-ink)!important;text-shadow:none!important}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui .hoi-top .hoi-country small{color:var(--fo-ink-3)!important}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui .hoi-top :is(.hoi-national,.hoi-management) button,
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui .hoi-top :is(.hoi-alert,#campaign-save,.th-mute,.hoi-national>*){background:transparent!important;border-color:transparent!important;box-shadow:none!important}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui .hoi-top #campaign-save{color:var(--fo-ink-2)!important}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui #ui-close{background:transparent!important;border:1px solid var(--fo-rule-2)!important;color:var(--fo-ink)!important;box-shadow:none!important}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui .atlas-panel-title svg.hoi-icon{background:transparent!important;border:1px solid var(--fo-rule-2)!important;color:var(--fo-ink)!important;box-shadow:none!important;border-radius:50%}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui :is(.factory-summary,.civil-account,.construction-columns,.design-workspace,.design-stats,.division-save-bar,.production-efficiency,.dip-head,.hub-meter){background:transparent!important;border-color:var(--fo-rule-2)!important;box-shadow:none!important;color:var(--fo-ink)!important}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui :is(.factory-summary,.civil-account,.design-stats) *{color:inherit}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui :is(.factory-summary,.civil-account) :is(small,span){color:var(--fo-ink-3)!important}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui .factory-summary{border-top:1px solid var(--fo-ink)!important;border-bottom:1px solid var(--fo-ink)!important}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui .factory-summary :is(b,strong){font-family:var(--font-title);font-size:26px;font-weight:600;color:var(--fo-ink)!important}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui .production-line header>strong{background:transparent!important;border-left:1px solid var(--fo-rule-2)!important;color:var(--fo-ink)!important;box-shadow:none!important}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui .production-line header>strong *{color:inherit!important}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui .production-line header>strong :is(small,span){color:var(--fo-ink-3)!important}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui .production-line{background:var(--fo-raised)!important;border:1px solid var(--fo-rule-2)!important;box-shadow:none!important}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui .production-line .equipment-art{filter:sepia(.25) contrast(1.05)}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui .factory-slots i{background:var(--fo-ink)!important;color:#d9d4c5!important;box-shadow:none!important}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui :is(progress,.progress,.bar,[class*="-bar"]:not(.division-save-bar):not(.hoi-top)) {background-color:#1819171f}
/* research board: a drafting table in paper */
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui section.rw-window :is(.rw-subhead,.rw-canvas,.rw-tree,.rw-ruler,.rw-ruler-corner,.rw-lane>span,.rw-cta){background:transparent!important;border-color:var(--fo-rule-2)!important;box-shadow:none!important;color:var(--fo-ink)!important}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-canvas{background:linear-gradient(90deg,#18191710 1px,transparent 1px) 0 0/48px 48px,var(--fo-sunk)!important}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-ruler{background:var(--fo-paper)!important;border-bottom:1px solid var(--fo-ink)!important}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-ruler *{color:var(--fo-ink)!important}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-lane>span{background:var(--fo-paper)!important;color:var(--fo-ink-2)!important}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-subhead *{color:var(--fo-ink)}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui section.rw-window :is(.rw-facts>span,.rw-effects>li,.rw-pill){background:var(--fo-raised)!important;border:1px solid var(--fo-rule-2)!important;color:var(--fo-ink)!important;box-shadow:none!important}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui section.rw-window :is(.rw-facts>span,.rw-effects>li) *{color:var(--fo-ink)}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-facts>span :is(small,em){color:var(--fo-ink-3)}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-ahead,html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-ahead *{color:var(--fo-ox)!important}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-effects>li{border-left:3px solid var(--fo-green)!important}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-effects>li *{color:var(--fo-green)}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui section.rw-window svg path[stroke="#e8e0c8"],html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-link{stroke:var(--fo-ink)}
/* officers: dossiers on paper */
html[data-ui-theme="folio"] body.playable-integrated #officer-window :is(article.officer-dossier,.officer-summary){background:var(--fo-raised)!important;border:1px solid var(--fo-rule-2)!important;box-shadow:none!important;color:var(--fo-ink)!important}
html[data-ui-theme="folio"] body.playable-integrated #officer-window article.officer-dossier *:not(svg,svg *){color:var(--fo-ink)}
html[data-ui-theme="folio"] body.playable-integrated #officer-window article.officer-dossier :is(small,span:not(.officer-face):not(.officer-stars)){color:var(--fo-ink-3)}
html[data-ui-theme="folio"] body.playable-integrated #officer-window article.officer-dossier :is(h3,b,strong){color:var(--fo-ink)!important}
html[data-ui-theme="folio"] body.playable-integrated #officer-window article.officer-dossier svg{color:var(--fo-ox)}
html[data-ui-theme="folio"] body.playable-integrated #officer-window :is(h1,h2){text-shadow:none!important}
html[data-ui-theme="folio"] body.playable-integrated #officer-window footer :is(p,small,span){color:var(--fo-ink-2)!important}
html[data-ui-theme="folio"] body.playable-integrated #officer-window select{background:var(--fo-raised)!important;color:var(--fo-ink)!important}
html[data-ui-theme="folio"] body.playable-integrated #officer-window .officer-summary .officer-face.vacant{background:repeating-linear-gradient(135deg,#c6c1b2 0 6px,#d0cbbb 6px 12px)!important}
/* contrast audit fixes */
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui :is(label,summary,.hub-state,footer>div,footer>details){color:var(--fo-ink)}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-node .rw-name{color:var(--fo-ink)!important}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui .line-shortage{color:var(--fo-ox)!important}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-now-tag{background:var(--fo-ox)!important;color:#dcd7c8!important}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui :is(.ui-corps-bar,.hoi-commanders){background:var(--fo-grain),linear-gradient(180deg,var(--fo-raised),var(--fo-paper))!important;border:1px solid #18191759!important;box-shadow:var(--fo-shadow)!important}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui :is(.ui-corps-bar,.hoi-commanders) button{background:transparent!important;color:var(--fo-ink)!important;border-color:var(--fo-rule-2)!important}
html[data-ui-theme="folio"] body.playable-integrated :is(#officer-window,.command-ui.hoi-ui) .officer-face.vacant{background:repeating-linear-gradient(135deg,#c6c1b2 0 6px,#d0cbbb 6px 12px)!important;color:var(--fo-ink-3)!important}
html[data-ui-theme="folio"] body.playable-integrated #officer-window :is(label,summary,footer>div,footer>details){color:var(--fo-ink-2)!important}
/* printed type casts no shadow */
html[data-ui-theme="folio"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) *{text-shadow:none!important}
html[data-ui-theme="folio"] body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-legend i{background-color:var(--fo-sunk);border-color:var(--fo-rule-2)}

/* ── 98-iron.css ── */
/* ART-5 · "铁血 Iron" interface style (default). The weight of war rather than
   decoration: blackened gunmetal plates with soot and film grain, worn bone type set
   heavy and condensed, hard corners, one dried signal red for commitment (primary
   actions, selection) and khaki for markings. No gold, no gloss. The battlefield is
   darkened at its edges so the eye falls on the front. Scoped to
   html[data-ui-theme="iron"]; settings → 界面风格 switches to 典藏 or 墨蓝.
   STAFF-UI-2: superseded. 铁血 is now the staff interface system recoloured at build time
   (src/theme/staff/iron.mjs) plus src/theme/staff/90-iron.css; the rules below keep the
   original look reachable only as data-ui-theme="iron-classic". The --ir-* tokens stay live. */
html[data-ui-theme="iron"]{
 --ir-steel-0:#0a0a09; --ir-steel-1:#0f0f0f; --ir-steel-2:#161615; --ir-steel-3:#1c1d1c;
 --ir-bone:#c1bcac; --ir-bone-2:#9e967e; --ir-bone-3:#86847d;
 --ir-red:#8c2c20; --ir-red-hi:#b4402f; --ir-red-lo:#3d110b;
 --ir-khaki:#cac2a8; --ir-khaki-lo:#6a634b; --ir-mark:#c8c3b3; --ir-amber:#c3b58c; --ir-alert:#ee8b72;
 --ir-grain:url(/assets/playable/war-atlas/grain-heavy.png) 0 0/160px 160px repeat;
 --ir-plate:var(--ir-grain),linear-gradient(180deg,#181817 0%,#111110 55%,#0c0d0c 100%);
 --ir-edge:0 0 0 1px #000000,inset 0 1px 0 #ede8d90f,inset 0 0 0 1px #ede8d906,0 14px 36px #000000dd;
}
html[data-ui-theme="iron-classic"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window,.th-prefs,.zoom-controls){
 --ink-0:var(--ir-steel-0); --ink-1:var(--ir-steel-1); --ink-2:var(--ir-steel-2); --ink-3:var(--ir-steel-3); --ink-4:#ede8d908;
 --line:#ede8d912; --line-hi:#ede8d921;
 /* the shared accent drives text, icons and rules: keep it light; red is only ever a fill */
 --brass:var(--ir-khaki); --brass-hi:var(--ir-mark); --brass-lo:#4b4c4a; --brass-glow:transparent;
 --paper:var(--ir-bone); --paper-2:var(--ir-bone-2); --paper-3:var(--ir-bone-3);
 --go:#8fb06a; --warn:var(--ir-amber); --stop:var(--ir-alert); --info:#9db7c6;
 --bar-org:#6f8a4e; --bar-str:#a1987c; --bar-bg:#00000080;
 --panel-bg:var(--ir-plate); --panel-edge:var(--ir-edge); --r:0px;
 --font-title:"Songti SC","STSong","Noto Serif CJK SC","Source Han Serif SC",Georgia,serif;
 --tc-bg:var(--ir-steel-1); --tc-bg2:var(--ir-steel-2); --tc-line:#ede8d921; --tc-ink:var(--ir-bone); --tc-dim:var(--ir-bone-2); --tc-gold:var(--ir-mark); --tc-ok:#8fb06a; --tc-warn:var(--ir-amber); --tc-bad:var(--ir-alert);
}
/* ── type: heavy titles, stencilled condensed figures, tracked markings ── */
html[data-ui-theme="iron-classic"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) :is(h1,h2,h3){font-family:var(--font-title);font-weight:800;letter-spacing:.14em;color:var(--ir-bone)}
html[data-ui-theme="iron-classic"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) :is(.eyebrow,th,legend){letter-spacing:.24em;color:var(--ir-khaki)}
html[data-ui-theme="iron-classic"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) *{text-shadow:none}

/* ── surfaces: every floating panel is a steel plate ── */
html[data-ui-theme="iron-classic"] body.playable-integrated :is(.command-ui.hoi-ui :is(.tc-panel,.tc-tray,.tc-commands,.tc-pop,.tc-sheet,.tc-inspect,.tc-banner,.tc-toast,.ui-sidebar,.ui-notice,.hoi-map-modes,.ui-corps-card,.ui-corps-bar,.hoi-commanders,.mp-council,.mp-banner),.zoom-controls,#officer-window){
 background:var(--ir-plate)!important;border:1px solid #000000!important;border-radius:0!important;box-shadow:var(--ir-edge)!important;color:var(--ir-bone)}
/* window and sheet headers: a darker band with a red index tab and a khaki hairline */
html[data-ui-theme="iron-classic"] body.playable-integrated .command-ui.hoi-ui :is(.ui-sidebar>header,.touch-hud .tc-pop>header,.touch-hud .tc-sheet>header,.touch-hud .tc-inspect>header),
html[data-ui-theme="iron-classic"] body.playable-integrated #officer-window>header{
 background:linear-gradient(90deg,var(--ir-mark) 0 4px,transparent 4px),var(--ir-grain),linear-gradient(180deg,#0b0b0a,#121211)!important;border-bottom:1px solid #000000!important;box-shadow:0 1px 0 #b2a99126!important}
html[data-ui-theme="iron-classic"] body.playable-integrated .command-ui.hoi-ui .atlas-panel-title :is(h2,h3,b,strong),
html[data-ui-theme="iron-classic"] body.playable-integrated #officer-window>header :is(h1,h2,h3){font-weight:800;letter-spacing:.2em;color:var(--ir-bone)}
html[data-ui-theme="iron-classic"] body.playable-integrated .command-ui.hoi-ui .atlas-panel-title svg.hoi-icon{background:#0b0c0b;border:1px solid #ffffff1c;border-radius:0;color:var(--ir-khaki);box-shadow:none}

/* ── controls: recessed steel; pressed = darker with a red edge; primary = red plate ── */
html[data-ui-theme="iron-classic"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) :is(button,select){
 background:linear-gradient(180deg,#1b1b1a,#141413)!important;border:1px solid #000000!important;border-radius:0!important;color:var(--ir-bone);
 box-shadow:inset 0 1px 0 #ede8d910,inset 0 0 0 1px #ede8d908,0 1px 0 #ede8d908!important}
html[data-ui-theme="iron-classic"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) input{background:#0a0a09!important;border:1px solid #000000!important;color:var(--ir-bone);box-shadow:inset 0 1px 3px #000000!important;border-radius:0}
html[data-ui-theme="iron-classic"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) button:active:not(:disabled){background:#0c0d0c!important;box-shadow:inset 0 2px 4px #000000!important}
html[data-ui-theme="iron-classic"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) :is(button[aria-pressed="true"],button.active,button[aria-checked="true"]){
 background:linear-gradient(180deg,#111110,#0b0c0b)!important;color:var(--ir-khaki)!important;box-shadow:inset 0 -3px 0 var(--ir-mark),inset 0 1px 3px #000000!important}
html[data-ui-theme="iron-classic"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) button:disabled{opacity:.35}
html[data-ui-theme="iron-classic"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) :is(.tc-primary,.design-primary,.plan-primary,.rw-primary,.mp-resume,#officer-confirm):not(:disabled){
 background:var(--ir-grain),linear-gradient(180deg,#9a3224,#6e2117)!important;border:1px solid #2a0905!important;color:#d7d1c2!important;
 box-shadow:inset 0 1px 0 #ede8d926,inset 0 -2px 0 #0000004d,0 2px 6px #000000aa!important;font-weight:700;letter-spacing:.2em}
html[data-ui-theme="iron-classic"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) :is(.tc-primary,.design-primary,.plan-primary,.rw-primary,#officer-confirm):not(:disabled) *{color:#d7d1c2!important}
html[data-ui-theme="iron-classic"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) :is(.tc-primary,.design-primary,.plan-primary,.rw-primary,#officer-confirm):active:not(:disabled){background:linear-gradient(180deg,#6e2117,#561910)!important}

/* ── top bar: a blackened steel strip ── */
html[data-ui-theme="iron-classic"] body.playable-integrated .command-ui.hoi-ui .hoi-top{background:var(--ir-grain),linear-gradient(180deg,#161615,#0b0c0b)!important;border-bottom:2px solid #000000;box-shadow:0 1px 0 #b2a9911f,0 8px 24px #000000cc}
html[data-ui-theme="iron-classic"] body.playable-integrated .command-ui.hoi-ui .hoi-top :is(.hoi-national,.hoi-management) button,
html[data-ui-theme="iron-classic"] body.playable-integrated .command-ui.hoi-ui .hoi-top :is(.hoi-country,.hoi-alert,#campaign-save,.th-mute){background:transparent!important;border-color:transparent!important;box-shadow:none!important}
html[data-ui-theme="iron-classic"] body.playable-integrated .command-ui.hoi-ui .hoi-top .hoi-country b{font-family:var(--font-title);font-weight:800;letter-spacing:.2em}
html[data-ui-theme="iron-classic"] body.playable-integrated .command-ui.hoi-ui .hoi-top .hoi-management button .hoi-icon{color:var(--ir-khaki)}
html[data-ui-theme="iron-classic"] body.playable-integrated .command-ui.hoi-ui .hoi-top .hoi-management button[aria-pressed="true"]{box-shadow:inset 0 -3px 0 var(--ir-mark)!important}
html[data-ui-theme="iron-classic"] body.playable-integrated .command-ui.hoi-ui .hoi-time{background:transparent!important;border-left:1px solid #000000;box-shadow:inset 1px 0 0 #ede8d90d}
html[data-ui-theme="iron-classic"] body.playable-integrated .command-ui.hoi-ui .hoi-time strong{font-family:var(--font-title);font-weight:800;letter-spacing:.08em;color:var(--ir-bone)}
html[data-ui-theme="iron-classic"] body.playable-integrated .command-ui.hoi-ui #campaign-toggle{background:linear-gradient(180deg,#1d1e1d,#111110)!important;border:1px solid #000000!important;color:var(--ir-bone)!important;box-shadow:inset 0 0 0 1px #b2a99140,inset 0 1px 0 #ede8d914!important}
html[data-ui-theme="iron-classic"] body.playable-integrated .command-ui.hoi-ui .hoi-time .time-speeds button[aria-pressed="true"]{background:var(--ir-mark)!important;color:#111110!important;font-weight:800;box-shadow:inset 0 1px 0 #ede8d926!important}
html[data-ui-theme="iron-classic"] body.playable-integrated .command-ui.hoi-ui .hoi-alert{color:var(--ir-amber)}

/* ── touch HUD details ── */
html[data-ui-theme="iron-classic"] body.playable-integrated .command-ui.hoi-ui .tc-chip{background:linear-gradient(180deg,#191918,#111110)!important;border:1px solid #000000!important;box-shadow:inset 4px 0 0 var(--ir-mark),inset 0 1px 0 #ede8d90d!important}
html[data-ui-theme="iron-classic"] body.playable-integrated .command-ui.hoi-ui .tc-chip .tc-sym{background:#b8b096;color:#161615;border-color:#000000}
html[data-ui-theme="iron-classic"] body.playable-integrated .command-ui.hoi-ui .tc-commands button svg{color:var(--ir-khaki)}
html[data-ui-theme="iron-classic"] body.playable-integrated .command-ui.hoi-ui .tc-commands button[data-kind="ATTACK"] svg{color:var(--ir-alert)}
html[data-ui-theme="iron-classic"] body.playable-integrated .command-ui.hoi-ui .tc-planbar .tc-go:not([data-blocked="1"]){background:linear-gradient(180deg,#59574f,#383835)!important;border-color:#000000!important;color:#d6d1c1!important}
html[data-ui-theme="iron-classic"] body.playable-integrated .command-ui.hoi-ui .tc-planbar .tc-stop{background:linear-gradient(180deg,#9a3224,#6e2117)!important;border-color:#000000!important;color:#d7d1c2!important}

/* ── windows' inner furniture: rules and recessed wells, no candy ── */
html[data-ui-theme="iron-classic"] body.playable-integrated .command-ui.hoi-ui :is(.factory-summary,.civil-account){background:#0a0a09!important;border:1px solid #000000!important;box-shadow:inset 0 2px 6px #000000,inset 0 0 0 1px #ede8d908!important}
html[data-ui-theme="iron-classic"] body.playable-integrated .command-ui.hoi-ui .factory-summary :is(b,strong){font-family:var(--font-title);font-weight:800;color:var(--ir-bone)}
html[data-ui-theme="iron-classic"] body.playable-integrated .command-ui.hoi-ui .production-line{background:linear-gradient(180deg,#171716,#0f0f0f)!important;border:1px solid #000000!important;box-shadow:inset 0 1px 0 #ede8d90a!important}
html[data-ui-theme="iron-classic"] body.playable-integrated .command-ui.hoi-ui .production-line header>strong{background:#0a0a09!important;color:var(--ir-bone)!important;box-shadow:inset 0 0 0 1px #ede8d90a!important}
html[data-ui-theme="iron-classic"] body.playable-integrated .command-ui.hoi-ui .production-line header>strong :is(small,span){color:var(--ir-bone-2)!important}
html[data-ui-theme="iron-classic"] body.playable-integrated .command-ui.hoi-ui .production-line .equipment-art{filter:grayscale(.45) sepia(.2) contrast(1.1) brightness(.85)}
html[data-ui-theme="iron-classic"] body.playable-integrated .command-ui.hoi-ui .factory-slots i{background:#272726!important;color:var(--ir-khaki)!important;box-shadow:inset 0 0 0 1px #000000!important}
html[data-ui-theme="iron-classic"] body.playable-integrated .command-ui.hoi-ui .line-shortage{color:var(--ir-amber)!important}

/* ── research: the drawing office at night ── */
html[data-ui-theme="iron-classic"] body.playable-integrated .command-ui.hoi-ui section.rw-window{background:var(--ir-plate)!important;--rw-line:#0a0a09}
html[data-ui-theme="iron-classic"] body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-canvas{background:linear-gradient(90deg,#ede8d907 1px,transparent 1px) 0 0/48px 48px,#0b0b0a!important}
html[data-ui-theme="iron-classic"] body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-node{background:linear-gradient(180deg,#1a1a19,#121211)!important;border:1px solid #000000!important;box-shadow:inset 0 1px 0 #ede8d90d,0 2px 4px #00000099!important}
html[data-ui-theme="iron-classic"] body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-node[aria-pressed="true"]{outline:2px solid var(--ir-mark);outline-offset:2px}
html[data-ui-theme="iron-classic"] body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-hero{background:var(--ir-grain),linear-gradient(#b2a99112 1px,transparent 1px) 0 0/12px 12px,linear-gradient(90deg,#b2a99112 1px,transparent 1px) 0 0/12px 12px,radial-gradient(ellipse at 50% 60%,#1e1f1d,#0a0a09 80%)!important;--rw-callout:var(--ir-amber);color:var(--ir-bone)!important;border:1px solid #000000!important}
html[data-ui-theme="iron-classic"] body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-cats button[aria-pressed="true"]{box-shadow:inset 4px 0 0 var(--ir-mark),inset 0 1px 3px #000000!important}
html[data-ui-theme="iron-classic"] body.playable-integrated .command-ui.hoi-ui section.rw-window :is(.rw-cat-avail,.rw-cat-act){background:#0a0a09;color:var(--ir-khaki);box-shadow:inset 0 0 0 1px #ede8d914}
html[data-ui-theme="iron-classic"] body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-now-tag{background:var(--ir-red)!important;color:#d7d1c2!important}

/* ── officers: service photographs pinned to steel ── */
html[data-ui-theme="iron-classic"] body.playable-integrated #officer-window .officer-list button[aria-pressed=true]{box-shadow:inset 4px 0 0 var(--ir-mark),inset 0 1px 3px #000000!important;background:#0c0d0c!important}
html[data-ui-theme="iron-classic"] body.playable-integrated #officer-window .officer-stars>i[data-on]{background:var(--ir-khaki)}
html[data-ui-theme="iron-classic"] body.playable-integrated :is(#officer-window,.command-ui.hoi-ui) .officer-face{box-shadow:0 0 0 2px #ccc3aa,0 0 0 3px #000000,0 4px 10px #000000cc!important;filter:grayscale(.35) sepia(.25) contrast(1.12) brightness(.92)}
html[data-ui-theme="iron-classic"] body.playable-integrated #officer-window article.officer-dossier{background:#0c0d0c!important;border:1px solid #000000!important;box-shadow:inset 0 1px 0 #ede8d90a!important}

/* ── the battlefield: darker edges so the eye falls on the front; a static overlay
   outside the moving stage (composited once, no cost while panning) ── */
html[data-ui-theme="iron-classic"] body.has-hoi-ui #map-wrap{background:#0b0d0c}
html[data-ui-theme="iron-classic"] body.playable-integrated #map-wrap::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:2;
 background:radial-gradient(ellipse 75% 70% at 52% 50%,transparent 45%,#0a0b0a59 78%,#0a0b0ab3 100%)}
/* heralds: steel strip with a red index */
html[data-ui-theme="iron-classic"] .th-herald{background:var(--ir-grain),linear-gradient(180deg,#181817,#0d0d0d);border-top:0;box-shadow:inset 4px 0 0 var(--tone),0 0 0 1px #000000,0 10px 26px #000000cc}
html[data-ui-theme="iron-classic"] .th-herald[data-tone=gold]{--tone:#b2a991}

/* ── audit: surfaces still carrying the old navy cast → steel ── */
html[data-ui-theme="iron-classic"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) :is(details,.design-workspace,.design-stats,.division-save-bar,.dip-head,.officer-list,.officer-stats>*){background:linear-gradient(180deg,#141413,#0f0f0e)!important;border-color:#000000!important;box-shadow:inset 0 1px 0 #ede8d908!important}
html[data-ui-theme="iron-classic"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) details details{background:transparent!important;box-shadow:none!important}
html[data-ui-theme="iron-classic"] body.playable-integrated #officer-window>footer{background:var(--ir-grain),linear-gradient(180deg,#0f0f0f,#0a0a09)!important;border-top:1px solid #000000!important;box-shadow:inset 0 1px 0 #ede8d90a!important}
html[data-ui-theme="iron-classic"] body.playable-integrated #officer-window .officer-stats>*{border:1px solid #000000!important}
html[data-ui-theme="iron-classic"] body.playable-integrated :is(#officer-window,.command-ui.hoi-ui) .officer-face.vacant{background:repeating-linear-gradient(135deg,#111110 0 6px,#181817 6px 12px)!important}
html[data-ui-theme="iron-classic"] body.playable-integrated .zoom-controls .map-control-button{background:linear-gradient(180deg,#1b1b1a,#141413)!important;border:1px solid #000000!important;color:var(--ir-bone)!important;border-radius:0!important;box-shadow:inset 0 1px 0 #ede8d910!important}
html[data-ui-theme="iron-classic"] body.playable-integrated .command-ui.hoi-ui section.rw-window :is(.rw-cats,.rw-detail,.rw-cta,.rw-legend,.rw-subhead,.rw-tree,.rw-ruler,.rw-ruler-corner,.rw-lane>span){background:transparent!important;border-color:#000000!important;box-shadow:none!important}
html[data-ui-theme="iron-classic"] body.playable-integrated .command-ui.hoi-ui section.rw-window :is(.rw-cats,.rw-detail){background:#0f0f0f!important}
html[data-ui-theme="iron-classic"] body.playable-integrated .command-ui.hoi-ui section.rw-window :is(.rw-ruler,.rw-ruler-corner,.rw-subhead){background:linear-gradient(180deg,#141413,#0d0d0d)!important;border-bottom:1px solid #000000!important}
html[data-ui-theme="iron-classic"] body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-lane>span{background:#0d0d0d!important;color:var(--ir-bone-2)!important}
html[data-ui-theme="iron-classic"] body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-node-art{background:#0a0a09!important;color:var(--ir-bone-2)!important}
html[data-ui-theme="iron-classic"] body.playable-integrated .command-ui.hoi-ui section.rw-window :is(.rw-facts>span,.rw-effects>li,.rw-pill){background:#0a0a09!important;border:1px solid #000000!important;box-shadow:inset 0 0 0 1px #ede8d908!important}
html[data-ui-theme="iron-classic"] body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-effects>li{border-left:3px solid #6f8a4e!important}
html[data-ui-theme="iron-classic"] body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-ahead,html[data-ui-theme="iron-classic"] body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-ahead *{color:var(--ir-amber)!important}
/* top bar resource stamps: neutral steel wells, not maroon; subtitles in khaki */
html[data-ui-theme="iron-classic"] body.playable-integrated .command-ui.hoi-ui .hoi-top .hoi-national>*{background:linear-gradient(180deg,#111110,#0b0c0b)!important;border:1px solid #000000!important;box-shadow:inset 0 1px 2px #000000,0 1px 0 #ede8d90a!important}
html[data-ui-theme="iron-classic"] body.playable-integrated .command-ui.hoi-ui .hoi-top .hoi-national .hoi-icon{color:var(--ir-khaki)!important}
html[data-ui-theme="iron-classic"] body.playable-integrated .command-ui.hoi-ui .hoi-top .hoi-country small,html[data-ui-theme="iron-classic"] body.playable-integrated .command-ui.hoi-ui .hoi-time span[role=status]{color:var(--ir-bone-2)!important}
html[data-ui-theme="iron-classic"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) :is(small,.dip-rel,.efficiency-value,.rw-detail-body>h4,h3>small,p>span){color:var(--ir-bone-2)}
html[data-ui-theme="iron-classic"] body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-detail-body>h4{color:var(--ir-khaki)!important;letter-spacing:.2em}

/* legibility pass (user feedback: red text and patterns were hard to see) */
html[data-ui-theme="iron-classic"] body.playable-integrated .command-ui.hoi-ui .hoi-top #campaign-save{color:var(--ir-khaki)!important}
html[data-ui-theme="iron-classic"] body.playable-integrated .command-ui.hoi-ui :is(.hoi-icon,svg.hoi-icon){color:var(--ir-khaki)}
html[data-ui-theme="iron-classic"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) :is(summary,details>summary)::marker,html[data-ui-theme="iron-classic"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) summary svg{color:var(--ir-khaki)}
/* empty officer slot: a plain recessed well with a clear mark instead of a faint hatch */
html[data-ui-theme="iron-classic"] body.playable-integrated :is(#officer-window,.command-ui.hoi-ui) .officer-face.vacant{background:#0a0a09!important;color:var(--ir-bone)!important;box-shadow:inset 0 0 0 1px #ede8d92e,0 0 0 1px #000000!important}
/* research: progress, lane rules and legend in readable tones */
html[data-ui-theme="iron-classic"] body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-bar i{background:var(--ir-khaki)!important}
html[data-ui-theme="iron-classic"] body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-now-tag{background:var(--ir-mark)!important;color:#111110!important}
html[data-ui-theme="iron-classic"] body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-legend{color:var(--ir-bone)}
/* film grain: lighter on the large plates so the type never sits on dark blotches */
html[data-ui-theme="iron-classic"]{--ir-plate:url(/assets/playable/war-atlas/grain.png) 0 0/96px 96px repeat,linear-gradient(180deg,#181817 0%,#111110 55%,#0c0d0c 100%)}

/* ── 99-windows.css ── */
/* ── Economy windows: production and construction open as centred, screen-clamped windows ──
   The economy sidebar used to be a right-docked strip (520px, or 400px while a construction tool was
   armed), which squeezed production cards into vertical text and the construction queue into 10px rows.
   Production and construction now open as a proper window (~1080×720, clamped to the viewport). Picking a
   construction site collapses the window into a slim placement bar at the bottom of the map; leaving the
   tool restores the window with its queue intact. */
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"]{
 position:fixed!important;left:50%!important;right:auto!important;transform:translateX(-50%);
 top:calc(78px + var(--tc-safe-t,0px))!important;bottom:auto!important;
 width:min(1080px,calc(100vw - 24px - var(--tc-safe-l,0px) - var(--tc-safe-r,0px)))!important;
 height:min(720px,calc(100dvh - 90px - var(--tc-safe-t,0px) - var(--tc-safe-b,0px)))!important;max-height:none!important;
 display:flex;flex-direction:column;border-radius:8px;border-right-width:1px;z-index:42;
 box-shadow:0 18px 60px #000000cc,0 0 0 1px #000000}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .ui-content{flex:1;min-height:0;overflow-y:auto;padding:10px 16px 16px}
html body.playable-integrated .command-ui.hoi-ui:has(.ui-sidebar[data-mode="economy"]) :is(.hoi-commanders,.tc-tray,.hoi-map-modes){display:none!important}
html body.playable-integrated .command-ui.hoi-ui:has(.ui-sidebar[data-mode="economy"]) .tc-toasts{left:50%!important;transform:translateX(-50%);width:min(440px,80vw)!important}

/* economy tab strip: compact, single row */
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .modern-tabs{display:flex;gap:4px;max-width:520px}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .modern-tabs button{flex:1;min-height:40px;white-space:nowrap}

/* ── production: two readable columns of line cards; titles never wrap per character ── */
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] #production-workbench{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(min(100%,430px),1fr))!important;column-gap:12px;align-items:start}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] #production-workbench>:not(.production-line){grid-column:1/-1}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .production-line{margin:6px 0}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .production-line header{grid-template-columns:96px minmax(0,1fr) auto}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .production-line header>div{min-width:0;padding:8px 10px}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .production-line header b{font-size:16px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .production-line header small{word-break:keep-all;line-height:1.35}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .production-line header strong{min-width:78px;font-size:24px;white-space:nowrap}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .production-line .factory-allocation button{min-width:40px;min-height:40px}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .factory-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}

/* ── construction: wide queue, palette with labels, 15 factory slots in one strip ── */
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .civil-account{padding:8px 4px}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .civil-account span{font-size:12px}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .civil-account b{font-size:18px}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .construction-body{grid-template-columns:minmax(0,1fr) 128px;min-height:300px}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .construction-palette{gap:4px;padding:4px;overflow-y:auto}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .construction-palette button{display:flex!important;align-items:center;justify-content:flex-start;gap:6px;min-height:42px!important;padding:2px 6px!important;text-align:left}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .construction-palette small{font-size:12px;white-space:nowrap}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .construction-columns{display:grid;grid-template-columns:40px minmax(0,1fr) minmax(170px,230px) 132px;gap:8px;font-size:12px;padding:6px 8px}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .construction-columns span:first-child{grid-column:1/3}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .construction-queue article{grid-template-columns:40px minmax(0,1fr) minmax(170px,230px) 132px!important;gap:8px!important;padding:6px 8px!important}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .construction-queue article>button{width:40px!important;min-width:40px!important;min-height:40px!important}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .construction-queue article b{font-size:14px;overflow-wrap:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .construction-queue article small{font-size:12px}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .civil-slots{grid-template-columns:repeat(15,1fr);margin:4px 0}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .civil-slots i{height:8px}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .construction-capacity progress{height:8px}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .construction-order{grid-column:auto;display:flex;gap:4px;justify-content:flex-end}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .construction-order button{width:40px!important;min-width:40px!important;min-height:40px!important;font-size:16px}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .construction-empty{font-size:14px;padding:18px 12px}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction details{font-size:13px}
@media (max-width:760px){
 html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] :is(.construction-columns,.construction-queue article){grid-template-columns:36px minmax(0,1fr) 120px!important}
 html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .construction-order{grid-column:2/-1}
 html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .construction-body{grid-template-columns:minmax(0,1fr) 96px}}

/* ── site selection: the window collapses into a placement bar so the map is reachable ── */
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"][data-placing="1"]{
 top:auto!important;bottom:calc(12px + var(--tc-safe-b,0px))!important;height:auto!important;
 width:min(760px,calc(100vw - 24px - var(--tc-safe-l,0px) - var(--tc-safe-r,0px)))!important;border-radius:10px}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-placing="1"]>header,
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-placing="1"] .ui-content>section>:not(.hoi-construction),
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-placing="1"] .hoi-construction>:not(.construction-placing,[role="alert"]){display:none!important}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-placing="1"] .ui-content{padding:0!important;overflow:visible}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-placing="1"] .ui-content>section{margin:0;padding:0;border:0;background:none}
html body.playable-integrated .command-ui.hoi-ui .construction-placing{display:flex;align-items:center;gap:10px;padding:8px 10px;font-size:13px}
html body.playable-integrated .command-ui.hoi-ui .construction-placing>span{display:flex;flex-direction:column;min-width:0;flex:1}
html body.playable-integrated .command-ui.hoi-ui .construction-placing>span b{font-size:15px;white-space:nowrap}
html body.playable-integrated .command-ui.hoi-ui .construction-placing>span small{opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body.playable-integrated .command-ui.hoi-ui .construction-placing>em{font-style:normal;white-space:nowrap;font-variant-numeric:tabular-nums;opacity:.9}
html body.playable-integrated .command-ui.hoi-ui .construction-placing>button{margin-left:0;min-height:44px;padding:0 14px;white-space:nowrap;font-weight:600}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .construction-placing{background:linear-gradient(180deg,#191918,#0f0f0f);color:var(--ir-bone,#d0cbbb)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .construction-placing>button{background:#373836;border:1px solid #989077;color:var(--ir-bone,#d0cbbb)}
@media (max-width:640px){html body.playable-integrated .command-ui.hoi-ui .construction-placing>em{display:none}}
@media (orientation:portrait){html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"]:not([data-placing="1"]){height:min(1000px,calc(100dvh - 110px - var(--tc-safe-t,0px) - var(--tc-safe-b,0px)))!important}}

/* ── bice-designer.css ── */
/* Ten support slots remain compact and finger-accessible; retain the selected theme. */
.integrated-designer .bice-division-grid { grid-template-columns: minmax(120px,2fr) repeat(5,minmax(58px,1fr)); }
.integrated-designer .division-support-slots { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px; }
.integrated-designer .division-support-slots .division-slot { min-height:54px;min-width:0; }
.integrated-designer .division-palette { max-height:240px;overflow:auto;touch-action:pan-y; }
@media(max-width:720px){.integrated-designer .design-slots{overflow-x:auto}.integrated-designer .bice-division-grid{min-width:480px}}

/* ── deployment.css ── */
/* Recruitment is a work window; map placement leaves the battlefield exposed. */
html body.playable-integrated .hoi-ui .ui-sidebar[data-mode=recruitment]{width:min(920px,calc(100vw - 32px))!important;max-height:calc(100dvh - 170px);bottom:76px!important}
html body.playable-integrated .hoi-ui .hoi-recruitment .recruit-controls{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:16px}
html body.playable-integrated .hoi-ui .hoi-recruitment .recruit-controls label{display:grid;gap:6px;font-size:13px}
html body.playable-integrated .hoi-ui .hoi-recruitment .recruit-columns{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:16px}
html body.playable-integrated .hoi-ui .hoi-recruitment .recruit-queue article{border:1px solid #595753;background:#1e1e1c;padding:12px;margin:8px 0}
html body.playable-integrated .hoi-ui .hoi-recruitment .recruit-queue-title,html body.playable-integrated .hoi-ui .hoi-recruitment article header{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
html body.playable-integrated .hoi-ui .hoi-recruitment article header b{flex:1;min-width:100px}
html body.playable-integrated .hoi-ui .hoi-recruitment input[type=checkbox]{width:24px;height:24px;accent-color:#b7b5ac}
html body.playable-integrated .hoi-ui .hoi-recruitment .recruit-templates{display:flex;flex-direction:column;gap:8px}
html body.playable-integrated .hoi-ui .hoi-recruitment .recruit-templates button{white-space:normal;text-align:left;display:flex;gap:8px;align-items:center}
html body.playable-integrated .hoi-ui .hoi-recruitment .recruit-deploy-footer{display:flex;gap:12px;align-items:center;justify-content:space-between;position:sticky;bottom:0;border-top:1px solid #706e68;padding:12px;background:#1b1b1a;z-index:2}
html body.playable-integrated .hoi-ui .recruit-map-bar{position:fixed;top:calc(var(--atlas-top-h,108px) + 32px);left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100vw - 32px);padding:12px 16px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#1e1e1ceF;border:1px solid #b0aea6;box-shadow:0 8px 28px #00000088;z-index:45;pointer-events:auto;color:#d0cbbb}
html body.playable-integrated .hoi-ui .recruit-map-bar button{min-height:44px}
html body.playable-integrated .hoi-ui .army-deploy-sheet{width:min(720px,calc(100vw - 32px));max-height:calc(100dvh - 164px)}
.army-deploy-list{display:grid;gap:8px}.army-deploy-list article{display:grid;grid-template-columns:56px minmax(0,1fr);gap:12px;align-items:center;padding:12px;background:#21211f;border:1px solid #595854}.army-deploy-list article>div{display:grid;gap:5px}.army-deploy-list article>footer{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}.army-deploy-list .officer-face{width:56px!important;height:64px!important}.army-deploy-list img{max-width:56px;max-height:64px;object-fit:cover}.army-deploy-list small{color:#cac1a8}
@media(max-width:760px){html body.playable-integrated .hoi-ui .hoi-recruitment .recruit-columns{grid-template-columns:1fr}html body.playable-integrated .hoi-ui .hoi-recruitment .recruit-templates{order:-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}html body.playable-integrated .hoi-ui .recruit-map-bar{top:140px;font-size:13px}.recruit-deploy-footer{flex-wrap:wrap}}
html body.playable-integrated .command-ui.hoi-ui .hoi-recruitment .recruit-queue article{background:#1d1d1c!important;border-radius:0}
html body.playable-integrated .command-ui.hoi-ui .hoi-recruitment article>header{background:transparent;padding:0 0 8px;border-bottom:1px solid #4e4f4d;min-height:36px}
html body.playable-integrated .command-ui.hoi-ui .hoi-recruitment article>footer,html body.playable-integrated .hoi-ui .army-deploy-list article>footer{height:auto!important;min-height:44px;flex-wrap:wrap;align-items:center;background:transparent;padding:6px 0;overflow:visible}
html body.playable-integrated .command-ui.hoi-ui .hoi-recruitment article>footer .equipment-priority{flex-basis:100%}
html body.playable-integrated .command-ui.hoi-ui .hoi-recruitment input[type=checkbox]{appearance:auto!important;width:24px!important;height:24px!important;min-width:24px!important;padding:0!important;margin:4px!important;box-shadow:none!important;border:0!important;flex:none}
html body.playable-integrated .command-ui.hoi-ui .hoi-recruitment input[type=checkbox]::before,html body.playable-integrated .command-ui.hoi-ui .hoi-recruitment input[type=checkbox]::after{display:none!important}
.recruit-policy{margin-bottom:12px}
.army-deploy-list{align-content:start;grid-auto-rows:max-content}
html body.playable-integrated .hoi-ui .army-deploy-list article{align-self:start;min-height:0;height:auto}
html body.playable-integrated .command-ui.hoi-ui .hoi-recruitment .recruit-row-options{margin:0 0 0 auto;min-width:160px;max-width:100%}
html body.playable-integrated .command-ui.hoi-ui .hoi-recruitment .recruit-row-options[open]{flex-basis:100%}
html body.playable-integrated .command-ui.hoi-ui .hoi-recruitment .recruit-row-options>div{padding:8px;display:flex;gap:6px;flex-wrap:wrap}

/* ── manpower.css ── */
/* Nation-only personnel ledger, integrated with recruitment and touch alerts. */
html body.playable-integrated .hoi-ui .manpower-summary{padding:14px;margin-bottom:16px;border:1px solid #65645e;background:#1a1b19;scroll-margin-top:12px;outline:none}
html body.playable-integrated .hoi-ui .manpower-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
html body.playable-integrated .hoi-ui .manpower-heading h3{margin:2px 0;font-size:18px}.manpower-heading small{color:#b0aea8}
html body.playable-integrated .hoi-ui .manpower-available{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.manpower-available b{font-size:26px;color:#cac5b5;font-variant-numeric:tabular-nums}.manpower-available[data-shortage=true] b{color:#edb16b}
html body.playable-integrated .hoi-ui .manpower-metrics,html body.playable-integrated .hoi-ui .manpower-record-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.manpower-metrics>div,.manpower-record-grid>div{display:grid;gap:3px;padding:8px 10px;background:#10110f;border:1px solid #3c3d3b;min-width:0}.manpower-metrics span,.manpower-record-grid span{font-size:12px;color:#b4b2ad}.manpower-metrics b,.manpower-record-grid b{font-size:17px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
html body.playable-integrated .hoi-ui .manpower-deficits{display:flex;flex-wrap:wrap;gap:6px 20px;padding:10px 0;color:#c2bdae}.manpower-deficits b{margin-left:6px}.manpower-deficits p{flex-basis:100%;font-size:12px!important;line-height:1.6;margin:0!important}.manpower-deficits[data-shortage=true]{color:#edb16b}
html body.playable-integrated .hoi-ui .manpower-mobilization{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid #484846}.manpower-mobilization>span{display:grid;gap:3px}.manpower-mobilization small{color:#b4b2ad}.manpower-mobilization>div{display:flex;flex-wrap:wrap;gap:8px}
html body.playable-integrated .hoi-ui .manpower-summary button,html body.playable-integrated .hoi-ui .manpower-summary summary,html body.playable-integrated .hoi-ui [data-province-mobilize]{min-height:44px;touch-action:manipulation}.manpower-summary button{min-width:44px}.manpower-summary summary{display:flex;align-items:center;cursor:pointer}.manpower-summary details{margin-top:6px}.manpower-summary summary:before{content:'›';margin-right:8px}.manpower-summary details[open]>summary:before{transform:rotate(90deg)}.manpower-summary .manpower-record-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}.manpower-record p{font-size:12px!important;color:#b4b2ad}
html body.playable-integrated .hoi-ui .manpower-provinces>div{max-height:300px;overflow:auto;overscroll-behavior:contain}.manpower-provinces article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;border-top:1px solid #434341}.manpower-provinces article>span{display:grid;gap:3px;min-width:0}.manpower-provinces small{font-size:12px;color:#b4b2ad}.manpower-provinces b{overflow-wrap:anywhere}.manpower-provinces button{flex:none}
html body.playable-integrated .hoi-ui .hoi-top .manpower-top[data-shortage=true] b,html body.playable-integrated .hoi-ui .hoi-top .manpower-warning-mark{color:#f0ad64!important}.manpower-warning-mark{display:inline-grid;place-items:center;width:16px;height:16px;border:1px solid currentColor;border-radius:50%;font:bold 11px sans-serif}
html body.playable-integrated .hoi-ui .recruit-personnel-note{margin:5px 0!important;font-size:12px!important;color:#ccbe96;line-height:1.6}
@media(max-width:760px){html body.playable-integrated .hoi-ui .manpower-heading{align-items:flex-start;flex-wrap:wrap}html body.playable-integrated .hoi-ui .manpower-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}html body.playable-integrated .hoi-ui .manpower-summary .manpower-record-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.manpower-mobilization>div{width:100%}.manpower-mobilization button{flex:1}.manpower-summary{padding:12px!important}}

/* ── peace-conference.css ── */
/* A compact diplomatic work table, using the campaign's Iron materials. */
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode=war]{width:min(940px,calc(100vw - 32px))!important;max-height:calc(100dvh - 164px)}
html body.playable-integrated .command-ui.hoi-ui .peace-conference{margin:0 0 22px;border:1px solid #65645f;background:#161614;color:var(--paper,#cfcaba);padding:14px;font-size:13px;line-height:1.5}
html body.playable-integrated .command-ui.hoi-ui .peace-conference .peace-heading{display:flex;gap:12px;align-items:center;min-height:52px;height:auto;padding:0 0 12px;border-bottom:1px solid #474746;background:transparent}
html body.playable-integrated .command-ui.hoi-ui .peace-heading>div{flex:1;min-width:0}
html body.playable-integrated .command-ui.hoi-ui .peace-heading h3{margin:0;padding:0;border:0;font-size:20px;line-height:1.35;letter-spacing:.12em;color:#cfcaba}
html body.playable-integrated .command-ui.hoi-ui .peace-heading p{margin:2px 0 0;font-size:13px;color:#b9b7b2}
.peace-seal{font-size:27px;color:#b7b5ac}
.peace-state{white-space:nowrap;padding:4px 8px;border:1px solid #727069;color:#c3beaf;font-size:12px}
.peace-state[data-settled=true]{color:#b9b7af;border-color:#66645d}
.peace-conferences{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}
html body.playable-integrated .command-ui.hoi-ui .peace-conferences button{display:flex;gap:8px;align-items:center;min-height:44px;font-size:13px;padding:6px 10px}
.peace-conferences span{font-size:11px;color:#b3b2ae}
.peace-conferences [aria-pressed=true]{outline:1px solid #b7b5ac;outline-offset:-2px}
.peace-participants{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.peace-participants>div{display:flex;gap:8px;align-items:center;min-width:156px;flex:1;padding:8px;background:#21211f;border:1px solid #3c3c3b}
.peace-participants>div>span{flex:1;display:flex;flex-direction:column;gap:2px}
.peace-participants b{font-size:13px}.peace-participants small{font-size:12px;color:#b3b2ae}.peace-participants i{font-style:normal;color:#a3a198;font-size:18px}
.peace-participants [data-approved=true]{border-color:#75736b}
.peace-instruction{color:#bdb8a8;margin:12px 0}
.peace-territory-head,.peace-territory{display:grid;grid-template-columns:minmax(150px,1.4fr) minmax(90px,.8fr) minmax(110px,1fr) 64px;align-items:center;gap:10px}
.peace-territory-head{font-size:12px;color:#abaaa4;border-bottom:1px solid #55544e;padding:6px 8px}
html body.playable-integrated .command-ui.hoi-ui .peace-conference .peace-territory{padding:9px 8px;border-bottom:1px solid #353533;background:transparent;margin:0;min-height:62px;border-radius:0}
.peace-territory>div{min-width:0;display:flex;flex-direction:column;gap:3px}.peace-territory b{overflow-wrap:anywhere;font-size:13px}.peace-territory small{color:#acaba5;font-size:12px}.peace-controller{font-size:12px;color:#bbbab4}
html body.playable-integrated .command-ui.hoi-ui .peace-conference :is(button,select){min-height:44px;font-size:13px;letter-spacing:0;max-width:100%;border-radius:0}
html body.playable-integrated .command-ui.hoi-ui .peace-conference select{width:100%;min-width:0;padding:6px;background:#242421;color:#d5d0c2;border:1px solid #68665f}
html body.playable-integrated .command-ui.hoi-ui .peace-territory button{padding:4px 6px;min-width:0}
html body.playable-integrated .command-ui.hoi-ui .peace-conference button:disabled{opacity:.55;color:#b6b4ae}
.peace-pagination{display:flex;justify-content:center;align-items:center;gap:12px;padding:10px 0}.peace-pagination>span{font-size:12px;color:#b5b4ad}
html body.playable-integrated .command-ui.hoi-ui .peace-conference .peace-footer{display:flex;gap:12px;justify-content:space-between;align-items:center;flex-wrap:wrap;background:#232322;height:auto!important;min-height:58px;margin:12px -4px 0;padding:8px 12px;border-top:1px solid #6f6d65;overflow:visible}
.peace-footer>span{font-size:13px;color:#c7c2b2}
.peace-confirm{margin:12px 0 0;padding:12px;border:1px solid #a3a198;background:#252524}.peace-confirm>div{display:flex;flex-wrap:wrap;gap:8px}.peace-confirm ul{list-style:none;padding:0;margin:10px 0}.peace-confirm li{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px solid #4d4d4a}
html body.playable-integrated .command-ui.hoi-ui .peace-conference .peace-rules{margin:12px 0 0}
html body.playable-integrated .command-ui.hoi-ui .peace-rules summary{min-height:40px;padding:8px;font-size:13px}
.peace-rules p{font-size:13px;line-height:1.5;padding:0 8px 8px}
.capitulation-meter{display:flex;gap:12px;justify-content:space-between;margin-top:8px}
html body.playable-integrated .command-ui.hoi-ui .capitulation-summary ul{list-style:none;padding:0}.capitulation-summary li{display:grid;grid-template-columns:minmax(80px,1fr) 60px 60px;gap:8px;padding:6px 0;border-bottom:1px solid #444443}.capitulation-summary [data-lost=true]{color:#efac86}.capitulation-summary [data-lost=false]{color:#bab8af}
@media(max-width:680px){html body.playable-integrated .command-ui.hoi-ui .peace-conference{padding:10px}.peace-territory-head{display:none}.peace-territory{grid-template-columns:minmax(0,1fr) 74px;gap:7px}.peace-territory>div{grid-column:1}.peace-territory .peace-controller{grid-column:2;font-size:11px;text-align:right}.peace-territory :is(select,.peace-beneficiary){grid-column:1}.peace-territory button{grid-column:2}.peace-state{font-size:11px;padding:3px 5px}.peace-seal{display:none}.peace-heading h3{font-size:18px!important}.peace-participants>div{min-width:138px}.peace-pagination{gap:7px}.peace-footer>button{width:100%}}
.peace-archive{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px;border:1px solid #64625a;background:#1f1f1e;margin-bottom:14px;font-size:13px}.peace-archive button{min-height:44px}

.peace-map-wrap{background:#101510;border:1px solid #59604c;max-height:300px;overflow:auto;touch-action:pan-x pan-y}.peace-province-map{display:block;width:100%;height:280px;min-width:300px}.peace-province-map [data-peace-pick]{cursor:pointer;outline:none}.peace-province-fill{stroke:none}.peace-province-border{fill:none;stroke:#c1b99f;stroke-width:1.2;vector-effect:non-scaling-stroke;pointer-events:none}.peace-province-map text{fill:#d9d4c4;font-size:22px;font-weight:700;paint-order:stroke;stroke:#151614;stroke-width:3px;pointer-events:none}.peace-province-map [data-peace-pick]:is(:hover,:focus,[data-selected=true]) .peace-province-border{stroke:#e1dccc;stroke-width:3}.peace-province-map [data-peace-pick][data-selected=true] .peace-province-fill{filter:brightness(1.6)}.peace-map-legend{display:flex;gap:12px;flex-wrap:wrap;margin:8px 0 12px}.peace-map-legend i{display:inline-block;width:12px;height:12px;border:1px solid #a3a3a3;margin-right:5px}.peace-territory[data-selected=true]{outline:2px solid #cac1a5;outline-offset:-2px}.dip-war-goal{flex-basis:100%;padding:12px;background:#20201e;border-left:3px solid #b1a789}.dip-war-goal progress{display:block;width:100%;height:8px;margin-top:8px;accent-color:#b1a789}

/* ── production-command.css ── */
/* Production command desk. Original layout/artwork; inspired by the readable
   equipment / factory / efficiency hierarchy of the reference production GUI. */
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] #production-workbench.production-command {
 display:block!important;container-type:inline-size;min-width:0;
 --pr-bg:#151513;--pr-raised:#21221f;--pr-deep:#10100e;--pr-rule:#494947;
 --pr-ink:#d3cebe;--pr-muted:#aeada7;--pr-gold:#cfc39e;--pr-green:#b6cb88;--pr-red:#eda08a;
 color:var(--pr-ink);font-size:13px;line-height:1.4;font-variant-numeric:tabular-nums;
}
#production-workbench.production-command :is(button,input,select){font:inherit;touch-action:manipulation}
#production-workbench.production-command button{min-width:0;min-height:36px;white-space:normal;border-radius:1px;padding:6px 10px}
#production-workbench.production-command :is(button,input,select):focus-visible{outline:2px solid var(--pr-gold);outline-offset:2px}
#production-workbench.production-command button:disabled{opacity:.4;cursor:default}
#production-workbench.production-command :is(p,h3){margin:0}
#production-workbench.production-command small{font-size:11px;color:var(--pr-muted)}
html body.playable-integrated .command-ui.hoi-ui .production-policy{padding:0 10px;margin:0 0 6px;border:1px solid #494947;background:#161715}
html body.playable-integrated .command-ui.hoi-ui .production-policy>summary{min-height:38px;display:flex;align-items:center;gap:12px;padding:0;font-size:12px;color:#bfbebb;cursor:pointer}
.production-policy>summary::before{content:'▸';color:#b1a98e}.production-policy[open]>summary::before{content:'▾'}
.production-policy>summary b{color:#c0baab}.production-policy>summary small{margin-left:auto;color:#9e9c97;font-size:10px}
#production-workbench.production-command .pr-toolbar{display:flex;gap:8px;align-items:center;margin-bottom:6px}
#production-workbench.production-command .pr-overview{display:flex;align-items:center;order:2;flex:none;padding:0}
#production-workbench.production-command .pr-overview>div{display:none}
#production-workbench.production-command .pr-toolbar .pr-factory-pool{flex:1;margin:0;min-width:0}
#production-workbench.production-command .pr-eyebrow{display:none}
#production-workbench.production-command .pr-overview h3{font-size:17px;letter-spacing:.06em;color:var(--pr-ink)}
#production-workbench.production-command .pr-overview p{display:none}
html body.playable-integrated .command-ui.hoi-ui #production-workbench.production-command :is(#production-add,.pr-primary){width:auto;min-height:44px;margin:0;background:linear-gradient(#444542,#31312f);color:#d8d2c2;border:1px solid #989078;box-shadow:inset 0 1px #cfc39e28;font-weight:700;font-size:13px;letter-spacing:.02em}
#production-workbench.production-command .pr-factory-pool{display:grid;grid-template-columns:1.2fr 1fr 1fr auto;align-items:stretch;margin:6px 0;background:var(--pr-deep);border:1px solid var(--pr-rule)}
#production-workbench.production-command .pr-factory-pool>span{display:flex;align-items:center;gap:8px;padding:5px 10px;border-right:1px solid #49494780}
#production-workbench.production-command .pr-factory-pool>span>svg{width:20px;height:20px;color:var(--pr-gold)}
#production-workbench.production-command .pr-factory-pool>span>b{font:600 21px/1.1 var(--font-num,monospace);margin-left:auto}
#production-workbench.production-command .pr-factory-pool>span[data-free=true] b{color:var(--pr-gold)}
#production-workbench.production-command .pr-factory-pool>button{border:0;background:none;align-self:center;color:var(--pr-muted);margin:0 6px}
#production-workbench.production-command .pr-resources{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;margin-bottom:6px}
#production-workbench.production-command .pr-resource{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:1px 6px;padding:4px 7px;background:var(--pr-bg);border:1px solid #49494780;min-width:0}
#production-workbench.production-command .pr-resource>span{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--pr-muted)}
#production-workbench.production-command .rs-ic{display:inline-flex;flex:0 0 auto;width:24px;height:24px;padding:0;border:0;box-shadow:none}
#production-workbench.production-command .rs-ic img{width:100%;height:100%;object-fit:contain}
#production-workbench.production-command .pr-resource>strong{display:block;font-size:14px;line-height:1.2;color:var(--pr-ink);text-align:right}
#production-workbench.production-command .pr-resource>small{display:block;grid-column:1/-1;font-size:10px}
#production-workbench.production-command .pr-resource[data-short=true]{border-bottom:2px solid #b66250;background:#291e18}
#production-workbench.production-command .pr-resource[data-short=true]>:is(strong,small){color:var(--pr-red)}
#production-workbench.production-command :is(.pr-factory-warning,.pr-pending){padding:7px 10px;margin:6px 0;color:var(--pr-gold);background:#262725;border-left:2px solid var(--pr-gold);font-size:12px}
#production-workbench.production-command .pr-factory-warning>button{margin-left:8px;min-height:32px;font-size:11px}
#production-workbench.production-command .pr-queue-title{display:flex;align-items:center;gap:12px;margin:8px 0}
#production-workbench.production-command .pr-queue-title>b{font-size:14px}
#production-workbench.production-command .pr-queue-title>b>span{display:inline-block;margin-left:5px;padding:0 6px;background:var(--pr-raised);color:var(--pr-gold);font-size:12px}
#production-workbench.production-command .pr-queue-title>span{font-size:11px;color:var(--pr-muted);flex:1}
#production-workbench.production-command .pr-queue-title>button{font-size:11px;min-height:32px}
#production-workbench.production-command .pr-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:start}
#production-workbench.production-command .pr-layout.pr-has-picker{grid-template-columns:minmax(0,1.65fr) minmax(290px,1fr)}
#production-workbench.production-command .pr-lines{display:grid;gap:8px;min-width:0}
html body.playable-integrated .command-ui.hoi-ui #production-workbench.production-command .pr-line{display:grid;grid-template-columns:38px minmax(0,1fr);margin:0;padding:0;min-width:0;overflow:visible;border:1px solid var(--pr-rule)!important;border-radius:0;background:var(--pr-bg)!important;box-shadow:inset 0 1px #ede8d909!important}
#production-workbench.production-command .pr-line>:is(.pr-rank,.pr-line-content){margin:0;min-width:0}
#production-workbench.production-command .pr-rank{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 3px;background:var(--pr-deep);border-right:1px solid #49494780}
#production-workbench.production-command .pr-rank>b{font:600 18px/1.2 var(--font-num,monospace);color:var(--pr-gold);margin-bottom:7px}
#production-workbench.production-command .pr-rank>button{padding:0;min-height:34px;width:30px;font-size:17px;color:var(--pr-muted);background:none;border-color:transparent;box-shadow:none}
#production-workbench.production-command .pr-rank>button:hover:not(:disabled){border-color:var(--pr-rule);color:var(--pr-ink)}
#production-workbench.production-command .pr-line-heading{display:flex;align-items:center;gap:12px;padding:4px 12px;border-bottom:1px solid #49494760;background:linear-gradient(90deg,#272826,#1a1a19)}
#production-workbench.production-command .pr-line-heading>div:first-child{flex:1;min-width:0}
#production-workbench.production-command .pr-category{display:block;font-size:10px;letter-spacing:.06em;color:var(--pr-muted)}
#production-workbench.production-command .pr-line-heading b{display:block;font-size:15px;line-height:1.3;color:var(--pr-ink);white-space:normal;overflow-wrap:anywhere}
#production-workbench.production-command .pr-state{font-size:10px;padding:2px 6px;color:var(--pr-green);border:1px solid #7b797180;white-space:nowrap}
#production-workbench.production-command .pr-line[data-production-state=short] .pr-state{color:var(--pr-red);border-color:#b6625080}
#production-workbench.production-command .pr-line:is([data-production-state=idle],[data-production-state=stopped]) .pr-state{color:var(--pr-muted);border-color:#494947}
#production-workbench.production-command .pr-output{display:flex;align-items:baseline;gap:5px;justify-content:flex-end;white-space:nowrap}
#production-workbench.production-command .pr-output>strong{font:600 25px/1 var(--font-num,monospace);color:var(--pr-gold)}
#production-workbench.production-command .pr-output>span{font-size:11px;color:var(--pr-muted)}
#production-workbench.production-command .pr-line-main{display:grid;grid-template-columns:minmax(100px,.75fr) minmax(140px,1fr) minmax(220px,1.2fr);gap:14px;align-items:center;padding:10px 12px}
#production-workbench.production-command .pr-equipment{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:110px;max-width:180px;width:100%;padding:6px;background:radial-gradient(ellipse at 50% 45%,#353634 0%,#1a1b18 80%);border:1px solid #575550;color:#c7bfa6;box-shadow:inset 0 0 0 3px #0e0e0c80}
#production-workbench.production-command .pr-equipment>svg{width:100%;height:70px;max-height:80px;display:block}
#production-workbench.production-command .pr-equipment>span:last-child:not(.equipment-art){color:var(--pr-muted);font-size:10px;margin-top:5px}
html body.playable-integrated .command-ui.hoi-ui #production-workbench.production-command .equipment-art{width:108px;height:72px;max-width:100%;border:0;box-shadow:none;filter:none;background-color:transparent;flex:none}
#production-workbench.production-command .pr-performance{display:flex;flex-direction:column;gap:5px;min-width:0}
#production-workbench.production-command .pr-meter-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:var(--pr-muted)}
#production-workbench.production-command .pr-meter-heading>b{font-size:13px;color:var(--pr-ink);white-space:nowrap}
#production-workbench.production-command .pr-meter-heading>b>small{display:inline;font-size:10px;font-weight:400}
#production-workbench.production-command .pr-meter-heading>span>svg{vertical-align:-2px;width:13px;height:13px}
#production-workbench.production-command .pr-meter{height:9px;border:1px solid #00000088;background:#0c0c0b;overflow:hidden;box-shadow:inset 0 1px #00000066}
#production-workbench.production-command .pr-meter>i{display:block;height:100%;background:linear-gradient(#a7a49c,#6f6d65);border-top:1px solid #ccc7b850}
#production-workbench.production-command .pr-progress{height:6px;margin-bottom:2px}
#production-workbench.production-command .pr-progress>i{background:linear-gradient(#d0ba76,#7f765a);border-color:#e1dccc60}
#production-workbench.production-command .pr-performance>.pr-meter-heading:not(:first-child){margin-top:5px}
#production-workbench.production-command .pr-performance>small{font-size:10px}
#production-workbench.production-command .pr-factories{min-width:0}
#production-workbench.production-command .pr-factory-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:3px;margin:5px 0}
#production-workbench.production-command .pr-factory-grid>i{height:18px;display:flex;align-items:center;justify-content:center;border:1px solid #3d3d3c;background:#111210;color:#3c3c3a;font-style:normal}
#production-workbench.production-command .pr-factory-grid>i>svg{height:13px;width:15px}
#production-workbench.production-command .pr-factory-grid>i[data-factory-state=assigned]{color:#c4beaf;background:#464744;border-color:#89877f}
#production-workbench.production-command .pr-factory-grid>i[data-factory-state=free]{border:1px dashed #6f6d67;color:#727069;background:#1d1d1c}
#production-workbench.production-command .pr-factory-grid>i[data-factory-state=offline]{background:#3b241c;border-color:#986251;color:#c48d75}
#production-workbench.production-command .pr-allocation{display:grid;grid-template-columns:36px 36px minmax(42px,1fr) 36px 36px;gap:4px}
#production-workbench.production-command .pr-allocation>button{padding:0;min-height:36px;color:var(--pr-gold);font-size:14px}
#production-workbench.production-command .pr-allocation>input{min-width:0;width:100%;box-sizing:border-box;appearance:textfield;border-radius:0;background:var(--pr-deep);border:1px solid #727069;color:var(--pr-ink);text-align:center;font-size:15px;padding:3px}
#production-workbench.production-command .pr-allocation>input::-webkit-inner-spin-button{appearance:none}
#production-workbench.production-command .pr-grid-overflow{display:block;text-align:right;margin-top:3px;font-size:10px}
#production-workbench.production-command .pr-line-footer{display:flex;align-items:center;gap:8px;justify-content:space-between;padding:5px 12px;background:#0d0d0c60;border-block:1px solid #49494750}
#production-workbench.production-command .pr-line-resources{display:flex;gap:4px 9px;align-items:center;flex-wrap:wrap;font-size:11px;color:var(--pr-muted)}
#production-workbench.production-command .pr-line-resources>span{display:inline-flex;align-items:center;gap:3px}
#production-workbench.production-command .pr-line-resources .rs-ic{width:20px;height:20px}
#production-workbench.production-command .pr-line[data-production-state=short] .pr-line-resources>span{color:var(--pr-red)}
#production-workbench.production-command .pr-line-resources .pr-resource-ok{color:var(--pr-green)}
#production-workbench.production-command .pr-line-resources>button{font-size:11px;padding:3px 7px;min-height:30px}
#production-workbench.production-command .pr-priority-label{display:flex;align-items:center;gap:6px;margin:0;font-size:10px;white-space:nowrap;color:var(--pr-muted)}
#production-workbench.production-command .pr-priority-label>select{min-height:34px;min-width:42px;max-width:55px;padding:2px 5px;border:1px solid var(--pr-rule);color:var(--pr-ink);background:var(--pr-deep)}
#production-workbench.production-command details.pr-line-details{margin:0;padding:0 12px;background:none;border:0;font-size:11px}
#production-workbench.production-command .pr-line-details>summary{padding:4px 0;min-height:32px;color:var(--pr-muted);cursor:pointer}
#production-workbench.production-command .pr-line-details>p{line-height:1.65;padding:0 0 8px;color:var(--pr-muted)}
#production-workbench.production-command .pr-empty{padding:24px 15px;color:var(--pr-muted);text-align:center;border:1px dashed var(--pr-rule);font-size:12px}
#production-workbench.production-command .pr-has-picker .pr-line-main{grid-template-columns:100px minmax(0,1fr);gap:10px}
#production-workbench.production-command .pr-has-picker .pr-factories{grid-column:1/-1;display:grid;grid-template-columns:minmax(170px,1fr) minmax(210px,1fr);gap:4px 12px;align-items:center}
#production-workbench.production-command .pr-has-picker .pr-factories>.pr-meter-heading{grid-column:1/-1}
#production-workbench.production-command .pr-has-picker .pr-state{display:none}
#production-workbench.production-command .pr-has-picker .pr-output{flex-direction:column;align-items:flex-end;gap:2px}
html body.playable-integrated .command-ui.hoi-ui #production-workbench.production-command .pr-picker{min-width:0;display:block;padding:12px;border:1px solid #a39b81;background:var(--pr-deep);box-shadow:inset 0 3px #a39b8160}
#production-workbench.production-command .pr-picker>header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;padding:0;background:none;border:0}
#production-workbench.production-command .pr-picker h3{font-size:18px;letter-spacing:.03em;color:var(--pr-ink)}
#production-workbench.production-command .pr-picker>header>button{min-width:40px;min-height:40px;font-size:22px;padding:0}
#production-workbench.production-command .production-category-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
#production-workbench.production-command .production-category-tabs>button{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:6px 7px;gap:4px;min-height:40px;font-size:11px;background:var(--pr-bg);border:1px solid var(--pr-rule);box-shadow:none}
#production-workbench.production-command .production-category-tabs>button>b{font-size:11px;font-weight:500;line-height:1.2}
#production-workbench.production-command .production-category-tabs>button>small{flex:none;font-size:10px;color:var(--pr-muted)}
#production-workbench.production-command .production-category-tabs>button[aria-pressed=true]{background:#373836;color:#d8d2c2;border-color:#a79d80;box-shadow:inset 3px 0 #c9bc96}
#production-workbench.production-command .pr-picker-section{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid var(--pr-rule);margin-top:12px;padding-bottom:6px;font-size:12px}
#production-workbench.production-command .pr-picker-section>span{font-size:10px;color:var(--pr-muted)}
#production-workbench.production-command .production-model-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:8px 0}
#production-workbench.production-command .production-model-choice{display:flex;flex-direction:column;align-items:center;text-align:center;gap:3px;padding:6px;min-height:160px;border:1px solid var(--pr-rule);background:var(--pr-bg);overflow-wrap:anywhere;box-shadow:none}
#production-workbench.production-command .production-model-choice[data-current=true]{border-color:#b3a98b;background:#282927}
#production-workbench.production-command .production-model-choice>b{font-size:12px;line-height:1.3;color:var(--pr-ink)}
#production-workbench.production-command .production-model-choice>small{font-size:10px;line-height:1.3}
#production-workbench.production-command .pr-model-art{display:flex;align-items:center;justify-content:center;min-height:64px;width:100%;color:#c7bfa6;flex:none;border-bottom:1px solid #49494750;margin-bottom:3px;background:radial-gradient(ellipse,#42434050,transparent 75%)}
#production-workbench.production-command .pr-model-art svg{display:block;width:100%;height:62px;max-width:150px;color:inherit}
#production-workbench.production-command .pr-model-art .equipment-art{width:90px;height:60px}
#production-workbench.production-command .pr-model-state{display:block;color:var(--pr-green);font-size:10px;width:100%;margin-top:auto;padding-top:6px}
#production-workbench.production-command .production-model-help{font-size:11px!important;line-height:1.6;color:var(--pr-muted);margin-top:10px;padding-top:8px;border-top:1px solid var(--pr-rule)}
#production-workbench.production-command .production-locked-models{margin:0;background:none;border:0;padding:0}
#production-workbench.production-command .production-locked-models>summary{min-height:40px;color:var(--pr-muted);font-size:11px;cursor:pointer}
#production-workbench.production-command .production-locked-models>div{display:grid;grid-template-columns:1fr;gap:4px}
#production-workbench.production-command .production-locked-models button{display:flex;flex-direction:row;justify-content:space-between;gap:8px;text-align:left;align-items:center;font-size:11px;min-height:40px;background:#141512}
#production-workbench.production-command .production-locked-models button>small{font-size:10px}
#production-workbench.production-command .pr-conversion{margin:8px 12px 12px;padding:10px;border:1px solid #8e8466;background:#252523;color:var(--pr-ink)}
#production-workbench.production-command .pr-conversion>b{color:var(--pr-gold);font-size:13px}
#production-workbench.production-command .pr-conversion>p{margin:6px 0;font-size:11px;line-height:1.65;color:var(--pr-muted)}
#production-workbench.production-command .pr-conversion>div{display:flex;gap:8px;margin-top:8px}
#production-workbench.production-command .pr-conversion button{min-height:44px;min-width:80px}
@container (max-width:850px){
 #production-workbench.production-command .pr-layout.pr-has-picker{grid-template-columns:minmax(0,1fr)}
 #production-workbench.production-command .pr-picker{grid-row:1}
 #production-workbench.production-command .production-category-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}
 #production-workbench.production-command .production-model-options{grid-template-columns:repeat(3,minmax(0,1fr))}
 #production-workbench.production-command .pr-has-picker .pr-line-main{grid-template-columns:minmax(90px,.65fr) minmax(125px,1fr) minmax(220px,1.2fr)}
 #production-workbench.production-command .pr-has-picker .pr-factories{grid-column:auto;display:block}
 #production-workbench.production-command .pr-line-heading{gap:8px}
}
@container (max-width:610px){
 #production-workbench.production-command .pr-toolbar{display:block}
 #production-workbench.production-command .pr-overview{justify-content:flex-end;margin-bottom:6px}
 #production-workbench.production-command .pr-line-main,#production-workbench.production-command .pr-has-picker .pr-line-main{grid-template-columns:90px minmax(0,1fr);gap:10px}
 #production-workbench.production-command .pr-factories,#production-workbench.production-command .pr-has-picker .pr-factories{grid-column:1/-1;display:grid;grid-template-columns:minmax(110px,1fr) minmax(210px,1.3fr);gap:4px 10px;align-items:center}
 #production-workbench.production-command .pr-factories>.pr-meter-heading{grid-column:1/-1}
 #production-workbench.production-command .pr-state{display:none}
 #production-workbench.production-command .pr-output{flex-direction:column;align-items:flex-end;gap:2px}
 #production-workbench.production-command .pr-resources{grid-template-columns:repeat(3,minmax(0,1fr))}
 #production-workbench.production-command .pr-queue-title>span{display:none}
 #production-workbench.production-command .pr-queue-title>button{margin-left:auto}
 #production-workbench.production-command .pr-factory-pool{grid-template-columns:repeat(3,minmax(0,1fr))}
 #production-workbench.production-command .pr-factory-pool>button{grid-column:1/-1;border-top:1px solid #49494780;margin:0;min-height:34px}
 #production-workbench.production-command .production-category-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}
 #production-workbench.production-command .production-model-options{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container (max-width:410px){
 #production-workbench.production-command .pr-overview{align-items:flex-start;gap:8px}
 #production-workbench.production-command .pr-overview h3{font-size:18px}
 #production-workbench.production-command .pr-overview p{display:none}
 #production-workbench.production-command .pr-line{grid-template-columns:32px minmax(0,1fr)}
 #production-workbench.production-command .pr-line-main,#production-workbench.production-command .pr-has-picker .pr-line-main{padding:8px}
 #production-workbench.production-command .pr-factories,#production-workbench.production-command .pr-has-picker .pr-factories{display:block}
 #production-workbench.production-command .pr-factory-grid{grid-template-columns:repeat(5,1fr)}
 #production-workbench.production-command .pr-line-heading{padding:8px}
 #production-workbench.production-command .pr-line-heading b{font-size:13px}
 #production-workbench.production-command .pr-line-footer{padding:5px 8px;flex-wrap:wrap}
 #production-workbench.production-command .production-category-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (pointer:coarse){
 #production-workbench.production-command button{min-height:44px}
 #production-workbench.production-command .pr-rank>button{min-height:44px}
 #production-workbench.production-command .pr-allocation{grid-template-columns:40px 40px minmax(44px,1fr) 40px 40px;gap:3px}
 #production-workbench.production-command .pr-allocation>button,#production-workbench.production-command .pr-priority-label>select{min-height:44px}
 #production-workbench.production-command .pr-line-details>summary{min-height:32px;display:flex;align-items:center}
}

/* ── production-models.css ── */
/* Keep model choice beside the actual production lines, including touch screens. */
html body.playable-integrated .command-ui.hoi-ui .production-model-picker{display:block;padding:12px;background:#191a18;border:1px solid #787059;min-width:0}
html body.playable-integrated .command-ui.hoi-ui .production-model-picker>header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
html body.playable-integrated .command-ui.hoi-ui .production-model-picker h3{margin:0;font-size:18px}
html body.playable-integrated .command-ui.hoi-ui .production-model-picker button{min-height:44px;min-width:44px;font-size:13px;padding:9px;touch-action:manipulation;white-space:normal}
html body.playable-integrated .command-ui.hoi-ui .production-category-tabs{display:flex;flex-wrap:wrap;gap:6px}
html body.playable-integrated .command-ui.hoi-ui .production-category-tabs button{flex:1 1 120px;align-items:flex-start;text-align:left}
html body.playable-integrated .command-ui.hoi-ui .production-category-tabs button[aria-pressed=true]{border-color:#d3c7a5;background:#383836;box-shadow:inset 0 -3px #d3c7a5}
html body.playable-integrated .command-ui.hoi-ui .production-model-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}
html body.playable-integrated .command-ui.hoi-ui .production-model-choice{display:flex;flex-direction:column;gap:6px;align-items:center;text-align:center;overflow-wrap:anywhere}
html body.playable-integrated .command-ui.hoi-ui .production-model-choice svg{width:150px;max-width:100%;height:75px;color:#d2c89f}
html body.playable-integrated .command-ui.hoi-ui .production-model-choice span{font-size:12px;color:#c3beaf}
html body.playable-integrated .command-ui.hoi-ui .production-model-help{font-size:12px!important;line-height:1.6;color:#bcbab4}
html body.playable-integrated .command-ui.hoi-ui .production-locked-models summary{min-height:44px;display:flex;align-items:center;cursor:pointer}
html body.playable-integrated .command-ui.hoi-ui .production-locked-models>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
html body.playable-integrated .command-ui.hoi-ui .production-locked-models button{align-items:flex-start;text-align:left}
html body.playable-integrated .command-ui.hoi-ui .production-current-model{color:#c7c2b3!important;white-space:normal!important;overflow-wrap:anywhere}
html body.playable-integrated .command-ui.hoi-ui .line-convert,html body.playable-integrated .command-ui.hoi-ui .conversion-confirm button{min-height:44px;min-width:44px}
.rw-window .rw-production-guidance{border-left:3px solid #b3a98a;background:#242523;padding:10px;margin:12px 0;color:#ccc7b7;font-size:13px;line-height:1.6}.rw-window .rw-production-guidance p{margin:6px 0}.rw-window .rw-production-open{min-height:44px;width:100%;margin:12px 0}
@media(max-width:760px){html body.playable-integrated .command-ui.hoi-ui .production-model-options{grid-template-columns:repeat(2,minmax(0,1fr))}html body.playable-integrated .command-ui.hoi-ui .production-locked-models>div{grid-template-columns:1fr}}

/* ── stockpile.css ── */
/* Equipment ledger: dense rows, finger-sized selection and bounded scrolling.
   Uses the active Iron / Folio / Ink palette and existing equipment artwork. */
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="stockpile"]{
 position:fixed!important;left:50%!important;right:auto!important;transform:translateX(-50%);
 top:calc(84px + var(--tc-safe-t,0px))!important;bottom:auto!important;
 width:min(1120px,calc(100vw - 24px - var(--tc-safe-l,0px) - var(--tc-safe-r,0px)))!important;
 height:min(700px,calc(100dvh - 100px - var(--tc-safe-t,0px) - var(--tc-safe-b,0px)))!important;
 max-height:none!important;display:flex;flex-direction:column;z-index:43;background:var(--panel-bg);box-shadow:var(--panel-edge);
}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="stockpile"] .ui-content{flex:1;min-height:0;padding:0;overflow:hidden}
html body.playable-integrated .command-ui.hoi-ui #stockpile-workbench{display:flex;flex-direction:column;height:100%;min-height:0;color:var(--paper);font-size:14px}
#stockpile-workbench,#stockpile-workbench *{box-sizing:border-box}
html body.playable-integrated .command-ui.hoi-ui #stockpile-workbench :is(button,input,select){min-height:44px;font-size:14px;touch-action:manipulation}
html body.playable-integrated .command-ui.hoi-ui #stockpile-workbench .sp-warning{color:var(--warn)}
#stockpile-workbench .sp-summary{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:0;border-bottom:1px solid var(--line);background:var(--ink-0)}
#stockpile-workbench .sp-summary>div{display:flex;align-items:center;gap:12px;padding:12px 18px;border-right:1px solid var(--line)}
#stockpile-workbench .sp-summary .hoi-icon{width:32px;height:32px;color:var(--brass)}
#stockpile-workbench .sp-summary span{color:var(--paper-2);font-size:13px}
#stockpile-workbench .sp-summary b{display:block;color:var(--paper);font-size:22px;font-family:var(--font-num);margin-top:3px}
#stockpile-workbench .sp-tools{display:flex;gap:8px;padding:10px 14px;border-bottom:1px solid var(--line)}
#stockpile-workbench .sp-tools input{flex:1;min-width:0;padding:8px 12px}
#stockpile-workbench .sp-tools select{width:160px;padding:6px}
#stockpile-workbench .sp-body{display:grid;grid-template-columns:minmax(0,1.48fr) minmax(310px,1fr);flex:1;min-height:0}
#stockpile-workbench .sp-inventory{display:flex;flex-direction:column;min-height:0;min-width:0;border-right:1px solid var(--line-hi)}
#stockpile-workbench .sp-filters{display:flex;gap:4px;padding:10px 12px}
#stockpile-workbench .sp-filters button{flex:1;padding:6px;white-space:nowrap}
#stockpile-workbench .sp-table-scroll{overflow:auto;flex:1;min-height:0;overscroll-behavior:contain}
#stockpile-workbench .sp-table{width:100%;border-collapse:collapse;table-layout:fixed;font-variant-numeric:tabular-nums}
#stockpile-workbench .sp-table th:first-child{width:40%}
#stockpile-workbench .sp-table th:not(:first-child){width:15%}
html body.playable-integrated .command-ui.hoi-ui #stockpile-workbench .sp-table :is(th,td){font-size:13px;padding:8px 6px;text-align:right;border-bottom:1px solid var(--line);letter-spacing:0;white-space:nowrap}
html body.playable-integrated .command-ui.hoi-ui #stockpile-workbench .sp-table thead th{position:sticky;top:0;z-index:1;background:var(--ink-0);color:var(--paper-2);font-weight:normal}
html body.playable-integrated .command-ui.hoi-ui #stockpile-workbench .sp-table th:first-child{text-align:left}
html body.playable-integrated .command-ui.hoi-ui #stockpile-workbench .sp-table tbody th{padding:0;background:transparent}
html body.playable-integrated .command-ui.hoi-ui #stockpile-workbench .sp-table tbody button{display:flex;align-items:center;gap:8px;width:100%;height:58px;border:0!important;background:transparent!important;box-shadow:none!important;text-align:left;padding:6px 10px;color:var(--paper)!important}
#stockpile-workbench .sp-table tbody button span:last-child{white-space:normal;line-height:1.35;overflow-wrap:anywhere}
#stockpile-workbench .sp-table tbody tr:nth-child(even){background:var(--ink-4)}
#stockpile-workbench .sp-table tbody tr.sp-selected{background:var(--ink-3);box-shadow:inset 3px 0 var(--brass-hi)}
#stockpile-workbench .sp-table .equipment-art{display:block;flex:none;width:58px;height:44px;min-width:0}
#stockpile-workbench .sp-definitions{border-top:1px solid var(--line);padding:0 12px;flex-shrink:0}
#stockpile-workbench .sp-definitions summary{font-size:13px;color:var(--paper-2)}
#stockpile-workbench .sp-definitions p{font-size:13px;line-height:1.6;margin:4px 0 10px}
#stockpile-workbench .sp-detail{display:flex;flex-direction:column;min-width:0;min-height:0;padding:12px;overflow:auto;overscroll-behavior:contain;background:var(--ink-1)}
#stockpile-workbench .sp-hero{display:flex;align-items:center;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}
#stockpile-workbench .sp-hero .equipment-art{display:block;flex:none;width:90px;height:52px;min-width:0}
html body.playable-integrated .command-ui.hoi-ui #stockpile-workbench .sp-hero h3{font-size:22px;letter-spacing:.04em;margin:0 0 6px}
#stockpile-workbench .sp-hero span{color:var(--paper-2);font-size:13px}
#stockpile-workbench .sp-detail-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px 0}
#stockpile-workbench .sp-stat>span{display:block;font-size:13px;line-height:1.4;color:var(--paper-2)}
#stockpile-workbench .sp-stat>b{display:block;font-family:var(--font-num);font-size:18px;line-height:1.15;margin-top:3px;font-variant-numeric:tabular-nums}
#stockpile-workbench .sp-stat small{font-size:12px;margin-left:4px}
#stockpile-workbench .sp-freight{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:8px;background:var(--ink-0);border:1px solid var(--line)}
#stockpile-workbench .sp-freight b{font-size:17px}
#stockpile-workbench .sp-tabs{display:flex;gap:6px;margin:8px 0 6px}
#stockpile-workbench .sp-tabs button{flex:1;padding:6px}
#stockpile-workbench .sp-tabs b{margin-left:5px;font-size:13px}
#stockpile-workbench .sp-detail-list{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}
html body.playable-integrated .command-ui.hoi-ui #stockpile-workbench .sp-model{padding:10px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:var(--ink-2)}
html body.playable-integrated .command-ui.hoi-ui #stockpile-workbench .sp-model header{display:flex;justify-content:space-between;align-items:center;gap:6px;background:none;border:0;padding:0;min-height:0;box-shadow:none}
#stockpile-workbench .sp-model header b{font-size:14px}
#stockpile-workbench .sp-model header span{font-size:12px;color:var(--paper-2);white-space:nowrap}
#stockpile-workbench .sp-model>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding-top:8px}
#stockpile-workbench .sp-model .sp-stat b{font-size:17px}
#stockpile-workbench .sp-model p{font-size:13px;color:var(--paper-2);margin:6px 0 0}
#stockpile-workbench .sp-detail-actions{display:flex;gap:8px;padding:10px 0 0;border-top:1px solid var(--line);margin:8px 0 0;flex:0 0 auto;height:auto;min-height:55px;align-items:stretch;background:none}
#stockpile-workbench .sp-detail-actions button{flex:1;display:flex;justify-content:center;align-items:center;gap:6px;padding:6px}
#stockpile-workbench .sp-detail-actions .hoi-icon{width:20px;height:20px}
#stockpile-workbench .sp-recipient{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;margin-bottom:4px;text-align:left;padding:8px}
#stockpile-workbench .sp-recipient b{display:block;font-size:13px;text-align:right}
#stockpile-workbench .sp-empty{padding:20px 12px;color:var(--paper-2);text-align:center;line-height:1.6}
#stockpile-workbench .sp-empty button{display:block;margin:12px auto}
@media(max-width:900px){
 html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="stockpile"]{height:calc(100dvh - 100px - var(--tc-safe-t,0px) - var(--tc-safe-b,0px))!important}
 html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="stockpile"] .ui-content{overflow-y:auto}
 html body.playable-integrated .command-ui.hoi-ui #stockpile-workbench{height:auto;min-height:100%}
 #stockpile-workbench .sp-body{grid-template-columns:minmax(0,1fr);flex:none}
 #stockpile-workbench .sp-inventory{border-right:0;border-bottom:1px solid var(--line-hi)}
 #stockpile-workbench .sp-table-scroll{max-height:330px;flex:none}
 #stockpile-workbench .sp-detail-list{max-height:260px;flex:none}
 #stockpile-workbench .sp-detail-stats{grid-template-columns:repeat(6,minmax(0,1fr))}
 #stockpile-workbench .sp-summary>div{padding:10px}
}
@media(max-width:580px){
 #stockpile-workbench .sp-summary b{font-size:18px}
 #stockpile-workbench .sp-summary .hoi-icon{display:none}
 #stockpile-workbench .sp-table .equipment-art{display:none}
 #stockpile-workbench .sp-detail-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
 #stockpile-workbench .sp-tools select{width:135px}
}

/* ── supply-combat.css ── */
html body.playable-integrated .hoi-ui .atlas-map-switch{position:fixed;left:calc(12px + env(safe-area-inset-left));bottom:calc(8px + env(safe-area-inset-bottom));z-index:35;pointer-events:auto;font-family:var(--font-ui);color:var(--paper);max-width:calc(100vw - 28px)}
.atlas-map-switch nav{display:flex;gap:3px;background:var(--panel-bg,#1b1b1a);border:1px solid var(--line,#6a6965);padding:3px;box-shadow:0 3px 12px #00000088;width:max-content}
html body.playable-integrated .hoi-ui .atlas-map-switch button{min-height:44px;min-width:78px;font-size:14px;padding:6px 12px;background:var(--ink2,#232321);color:var(--paper,#d0cabb);border:1px solid var(--line,#4e4f4d)}
html body.playable-integrated .hoi-ui .atlas-map-switch button[aria-pressed=true]{box-shadow:inset 0 -3px var(--paper2,#c5bca3);background:#3f3f3d}
.supply-legend{position:absolute;bottom:58px;left:0;background:var(--panel-bg,#1b1b1a);border:1px solid var(--line,#6a6965);padding:10px;display:grid;grid-template-columns:repeat(2,max-content);gap:8px 16px;font-size:12px;pointer-events:none;box-shadow:0 3px 12px #00000088}
.supply-legend span{display:flex;align-items:center;gap:7px}.supply-legend i{width:12px;height:12px;border:1px solid #ede8d944}
html.touch-shell body .hoi-ui .tc-tray{bottom:calc(66px + var(--tc-safe-b))}
html.touch-shell body .hoi-ui:has(.atlas-map-switch[data-supply=true]) .tc-tray{bottom:calc(168px + var(--tc-safe-b))}
html body.playable-integrated .hoi-ui .ui-sidebar[data-mode=battle]{width:min(640px,54vw)!important;max-width:calc(100vw - 24px);bottom:76px!important}
html body.playable-integrated .hoi-ui .battle-map-panel{padding:0}.battle-map-panel .r2-map-tools,.battle-map-panel .r2-battle-list{display:none}
html body.playable-integrated .hoi-ui .duel-unit{background:#1e1e1c;border:1px solid #4d4e4c;padding:10px;margin:6px 0}
html body.playable-integrated .hoi-ui .duel-unit header{display:flex;flex-wrap:wrap;align-items:center;gap:5px;padding:0;font-size:13px}
html body.playable-integrated .hoi-ui .duel-unit header button{font-size:13px;text-align:left;min-height:36px;padding:2px 4px;white-space:normal}
.duel-unit .combat-reserve{color:#bfb495}.duel-unit .combat-active{color:#a1c486}
html body.playable-integrated .hoi-ui .duel-combat-stats dl{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:8px 0}
.combat-conditions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.combat-condition{position:relative;border:1px solid #6a6964;background:#21211f;overflow:hidden}.combat-condition img{display:block;width:100%;height:112px;object-fit:cover;filter:saturate(.78) contrast(1.06)}.combat-condition b{position:absolute;bottom:0;left:0;right:0;display:block;padding:16px 10px 7px;font-size:14px;background:linear-gradient(transparent,#121311e8);color:#d7d1c1;text-shadow:0 1px 2px #000000}
.combat-modifiers{display:grid;gap:4px;border-top:1px solid #62615c;padding-top:7px;margin-top:8px}.combat-modifiers div{display:flex;justify-content:space-between;gap:8px;font-size:12px}.combat-modifiers .negative{color:#ef9384}.combat-modifiers .positive{color:#b3d795}.combat-modifiers .neutral{color:#bbb399}
.battle-summary-strip{border-bottom:1px solid #706f6a;padding:10px 0;margin-bottom:10px}.battle-summary-strip b{font-variant-numeric:tabular-nums;font-size:21px}
@media(max-width:900px){html body.playable-integrated .hoi-ui .ui-sidebar[data-mode=battle]{width:calc(100vw - 24px)!important;max-height:calc(100dvh - 170px)}html.touch-shell body .hoi-ui .tc-tray{bottom:calc(130px + var(--tc-safe-b))}html.touch-shell body .hoi-ui:has(.atlas-map-switch[data-supply=true]) .tc-tray{bottom:calc(230px + var(--tc-safe-b))}.atlas-map-switch{max-width:calc(100vw - 24px)}}

html body.playable-integrated .hoi-ui .ui-sidebar[data-mode=battle] .duel-unit{background:#1f1f1d!important}
html body.playable-integrated .hoi-ui .ui-sidebar[data-mode=battle] .duel-unit header button{font-size:13px!important;padding:4px!important;line-height:1.4;max-width:100%}
html body.playable-integrated .hoi-ui .ui-sidebar[data-mode=battle] .combat-modifiers .negative b{color:#ef9384!important}
html body.playable-integrated .hoi-ui .ui-sidebar[data-mode=battle] .combat-modifiers .positive b{color:#b3d795!important}

.supply-legend[hidden]{display:none}

/* ── supply-field.css ── */
/* Supply field: compact legend plus a touch-readable regional breakdown. */
html body.playable-integrated .hoi-ui .supply-legend{display:flex;flex-direction:column;width:278px;max-width:calc(100vw - 28px);gap:8px;padding:12px;line-height:1.35}
html body.playable-integrated .hoi-ui .supply-legend[hidden],html body.playable-integrated .hoi-ui .supply-cell[hidden]{display:none}
.supply-gradient{display:flex;height:12px;width:100%;border:1px solid #c8c3b366}.supply-gradient i{flex:1;height:auto;width:auto;border:0}
.supply-shortage-key{display:flex;gap:8px}.supply-shortage-key span{font-size:11px;gap:4px}
html body.playable-integrated .hoi-ui .supply-cell{position:fixed;right:12px;top:calc(var(--atlas-top-h,108px) + 12px);width:320px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 210px);overflow:auto;padding:14px;background:#161715f5;color:#d3cebe;border:1px solid #78766e;box-shadow:0 10px 28px #00000099;font-size:13px;line-height:1.5;pointer-events:auto;z-index:35}
html body.playable-integrated .hoi-ui .supply-cell>header{display:flex;align-items:center;justify-content:space-between;padding:0 0 10px;border-bottom:1px solid #6e6c66;gap:10px;background:transparent}
.supply-cell>header>div{display:grid;gap:3px}.supply-cell>header span{color:#b3b1ab;font-size:12px}.supply-cell>header b{font-size:17px}
html body.playable-integrated .hoi-ui .supply-cell>header button{min-width:44px;width:44px;height:44px;padding:0;font-size:22px}
.supply-readings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-top:12px}.supply-readings>div{display:grid;background:#282827;padding:10px}.supply-readings b{font-size:22px;font-variant-numeric:tabular-nums}.supply-readings span{font-size:12px;color:#cdc4ab}
.supply-cell .supply-status{margin:10px 0;color:#beb9a9}.supply-cell .supply-status[data-short=true]{color:#f4a081}
.supply-local,.supply-sources>div{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid #474745}.supply-sources span{display:grid}.supply-sources small{color:#b3b1ab;font-size:11px}.supply-reason{color:#cec5ac}
html body.playable-integrated .hoi-ui .supply-cell>footer{height:auto;min-height:44px;padding:0;background:transparent}.supply-cell>footer button{width:100%}
html.touch-shell body .hoi-ui:has(.atlas-map-switch[data-supply=true]) .tc-tray{bottom:calc(222px + var(--tc-safe-b))}
@media(max-width:760px){html body.playable-integrated .hoi-ui .supply-cell{top:146px;width:290px;max-height:calc(100dvh - 230px)}html body.playable-integrated .hoi-ui .supply-legend{width:255px}.supply-shortage-key span{font-size:10px}}
/* SUPPLY-INVASION-1: limit overlays and the inspector's limiting factor + advice */
html body.playable-integrated .hoi-ui .supply-legend .supply-limit-key{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px;margin:4px 0}
html body.playable-integrated .hoi-ui .supply-legend .supply-limit-key i{display:inline-block;width:14px;height:10px;margin-right:6px;border:2px solid;background:none}
html body.playable-integrated .hoi-ui .supply-legend .supply-limit-key i[data-k="encircled"]{border-color:#e0533f}
html body.playable-integrated .hoi-ui .supply-legend .supply-limit-key i[data-k="converting"]{border-color:#c3b58c;border-style:dashed}
html body.playable-integrated .hoi-ui .supply-legend .supply-limit-key i[data-k="hosted"]{border-color:#9db7c6;border-style:dotted;background:#9db7c626}
html body.playable-integrated .hoi-ui .supply-legend .supply-limit-key i[data-k="occupied"]{border-color:#cac2a8;border-style:dotted}
html body.playable-integrated .hoi-ui .supply-cell .supply-limit{display:flex;flex-direction:column;gap:2px;margin:6px 0;padding:6px 8px;border-left:4px solid var(--warn,#c3b58c);background:#00000040}
html body.playable-integrated .hoi-ui .supply-cell .supply-limit[data-limit="OK"]{border-left-color:var(--go,#8fb06a)}
html body.playable-integrated .hoi-ui .supply-cell .supply-limit[data-limit="ENCIRCLED"]{border-left-color:#e0533f}
html body.playable-integrated .hoi-ui .supply-cell .supply-limit b{font-size:14px}
html body.playable-integrated .hoi-ui .supply-cell .supply-limit :is(small,span){font-size:12px}
html body.playable-integrated .hoi-ui .supply-cell .supply-note{font-size:12px;color:var(--brass,#cac2a8)}
html body.playable-integrated .hoi-ui .supply-cell .supply-units{display:flex;flex-direction:column;gap:3px;margin:6px 0;font-size:12px}
html body.playable-integrated .hoi-ui .supply-cell .supply-units>div{display:flex;flex-direction:column;padding:3px 6px;background:#ede8d908}
html body.playable-integrated .hoi-ui .supply-cell .supply-units small{color:var(--paper-2,#9e967e)}

/* ── supply-resources.css ── */
/* RESOURCES-1: resource map mode (legend, province explanation), framed specimen plates, trade tab. */
.rs-ic{--res:#939393;display:inline-grid;place-items:center;flex:none;width:30px;height:30px;border-radius:50%;padding:2px;background:radial-gradient(circle at 35% 30%,#dcd7c7,#b8af96);box-shadow:0 0 0 1.5px var(--res),0 1px 3px #00000088;overflow:hidden;vertical-align:middle}
.rs-ic img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
.rs-ic[data-kind=card]{width:56px;height:56px;border-radius:6px;padding:3px;box-shadow:0 0 0 2px var(--res),0 2px 6px #000000aa}
.rs-ic[data-kind=card] img{border-radius:3px}
.rs-ic[data-kind=hero]{width:120px;height:120px;border-radius:8px}
.rs-ic[data-kind=hero] img{border-radius:5px}

/* map switch: legend above the mode buttons */
html body.playable-integrated .hoi-ui .rs-legend-host[hidden],html body.playable-integrated .hoi-ui .rs-cell[hidden]{display:none}
html body.playable-integrated .hoi-ui .rs-legend-host{position:absolute;bottom:58px;left:0}
html.touch-shell body .hoi-ui .rs-legend-host{bottom:138px}
html.touch-shell body .hoi-ui:has(.atlas-map-switch[data-view=resources]) .tc-tray{bottom:calc(66px + var(--tc-safe-b))}
html body.playable-integrated .hoi-ui .rs-legend{max-height:calc(100dvh - var(--atlas-top-h,108px) - 170px);overflow:auto;overscroll-behavior:contain;width:300px;max-width:calc(100vw - 28px);padding:8px 10px 10px;background:#161715f2;border:1px solid #78766e;box-shadow:0 8px 22px #00000099;color:#d3cebe;font-size:12px}
.rs-legend>header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}
.rs-legend>header b{font-size:13px;letter-spacing:.02em}
html body.playable-integrated .hoi-ui .atlas-map-switch .rs-legend button{min-width:0}
html body.playable-integrated .hoi-ui .atlas-map-switch .rs-legend>header button{min-height:36px;padding:2px 12px;font-size:13px}
.rs-legend>footer{display:flex;flex-wrap:wrap;gap:4px 12px;margin:8px 0 6px;color:#c9c0a7}
.rs-legend>footer i{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:4px;vertical-align:-2px;border:2.5px solid #c2b58b}
.rs-legend>footer i[data-ring=occupied]{border-color:#d0703f;border-style:dashed}.rs-legend>footer i[data-ring=foreign]{border-color:#84827c}
html body.playable-integrated .hoi-ui .atlas-map-switch .rs-open-trade{width:100%;min-height:40px;font-size:13px}

/* national balance (legend and trade tab) */
.rs-balance{list-style:none;margin:0;padding:0;display:grid;gap:3px}
html body.playable-integrated .hoi-ui .rs-balance button{all:unset;box-sizing:border-box;display:grid;grid-template-columns:30px 1fr 56px 62px;align-items:center;gap:8px;width:100%;min-height:44px;padding:4px 6px;border:1px solid transparent;border-radius:4px;cursor:pointer;background:#ede8d908;color:#d3cebe}
html body.playable-integrated .hoi-ui .rs-balance button[aria-pressed=true]{border-color:#c2b58b;background:#c2b58b22}
html body.playable-integrated .hoi-ui .rs-balance button[data-short=true]{background:#8e2d2236}
.rs-name{display:grid;line-height:1.15}.rs-name b{font-size:13px}.rs-name small{font-size:11px;color:#b9b097}
[data-short=true] .rs-name small{color:#ff9d84;font-weight:600}
.rs-meter{height:6px;background:#00000055;border-radius:3px;overflow:hidden}.rs-meter i{display:block;height:100%;background:#8fb069}
[data-short=true] .rs-meter i{background:#d65a41}
.rs-num{text-align:right;line-height:1.1}.rs-num b{font-size:14px}.rs-num small{display:block;font-size:11px;color:#aca48b}
.rs-balance[data-compact=false]{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:6px;margin:8px 0 12px}

/* map layer */
#resource-map .rs-dim{fill:#0c120f;opacity:.34;pointer-events:none}
#resource-map .rs-selected{fill:#fff3c826;stroke:#fff1c2;stroke-width:2.4;vector-effect:non-scaling-stroke}
#resource-map .rs-plaque-bg{fill:#14191469;stroke:#e9dcb455;stroke-width:1}
#resource-map .rs-plaque[data-sel=true] .rs-plaque-bg{fill:#2b2a1ccc;stroke:#fff1c2}
#resource-map .rs-ring{fill:#efe4c8;stroke:#7f8a8f;stroke-width:2.6}
#resource-map [data-ring=own] .rs-ring{stroke:#d9b25b}
#resource-map [data-ring=occupied] .rs-ring{stroke:#d0703f;stroke-dasharray:4 2.4}
#resource-map [data-ring=occupied-own] .rs-ring{stroke:#d9b25b;stroke-dasharray:4 2.4}
#resource-map text{font:700 11px var(--font-ui,system-ui);fill:#fff6dc;paint-order:stroke;stroke:#141812;stroke-width:3px;stroke-linejoin:round}
#resource-map .rs-more{font-size:10px;fill:#e8d9a8}

/* province explanation (right side, like the supply inspector) */
html body.playable-integrated .hoi-ui .rs-cell{position:fixed;right:12px;top:calc(var(--atlas-top-h,108px) + 12px);width:340px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 210px);overflow:auto;padding:14px;background:#161715f5;color:#d3cebe;border:1px solid #78766e;box-shadow:0 10px 28px #00000099;font-size:13px;line-height:1.45;pointer-events:auto;z-index:35;overscroll-behavior:contain}
.rs-cell>header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:10px;border-bottom:1px solid #6e6c66;margin-bottom:10px}
.rs-cell>header>div{display:grid;gap:2px}.rs-cell>header b{font-size:17px}.rs-cell>header span{font-size:12px;color:#b3b1ab}
html body.playable-integrated .hoi-ui .rs-cell [data-res-close]{min-width:44px;min-height:44px;font-size:22px}
.rs-deposits{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.rs-deposits li{display:grid;grid-template-columns:56px 1fr;gap:10px;align-items:start}
.rs-deposits li>div{display:grid;gap:3px}
.rs-deposits b{font-size:15px}.rs-deposits b em{font-style:normal;color:#e9dbb0;margin-left:6px}
.rs-deposits small{color:#bdb59c}
.rs-mods{display:flex;flex-wrap:wrap;gap:4px}.rs-mods i{font-style:normal;font-size:11.5px;padding:1px 6px;border:1px solid #6e6c66;border-radius:9px;background:#ede8d90a}
.rs-note{font-size:12px;color:#b9b097;margin:10px 0 0}

/* province window section */
.rs-prov{list-style:none;margin:4px 0 8px;padding:0;display:grid;gap:6px}
.rs-prov li{display:flex;gap:8px;align-items:center}.rs-prov li>span:not(.rs-ic){display:grid;line-height:1.2}.rs-prov small{color:#aca48b;font-size:11.5px}
.rs-prov li[data-occupied=true] b{color:#f0a274}

/* production line shortage */
.line-shortage .rs-short{color:#ff9d84;font-weight:700;margin-right:6px}
.line-shortage .rs-short-item{display:inline-flex;align-items:center;gap:4px;margin:2px 8px 2px 0;color:#c4bfb0}
.line-shortage .rs-short-item .rs-ic{width:24px;height:24px}
html body.playable-integrated .hoi-ui .line-shortage .rs-short-go{min-height:36px;padding:2px 10px;font-size:12.5px;margin-left:4px}

/* trade tab */
.rs-trade h3{margin:0 0 2px}.rs-trade h4{margin:12px 0 6px;font-size:13.5px;color:#cac5b5}
.rs-head small{color:#b9b097;font-size:12px}
.rs-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px 18px}
.rs-table{width:100%;border-collapse:collapse;font-size:12.5px}
.rs-table th,.rs-table td{padding:4px 4px;text-align:right;border-bottom:1px solid #ede8d914;white-space:nowrap}
.rs-table tbody th{text-align:left;display:flex;align-items:center;gap:6px}
.rs-table tbody th .rs-ic{width:24px;height:24px}
.rs-table tr[data-short=true] td:nth-last-child(-n+2){color:#ff9d84;font-weight:700}
.rs-lines,.rs-contracts,.rs-market{list-style:none;margin:0;padding:0;display:grid;gap:5px}
.rs-lines li{font-size:12.5px;display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}.rs-lines span{display:inline-flex;align-items:center;gap:4px;color:#c4bfb0}.rs-lines .rs-ic{width:22px;height:22px}
.rs-contracts li,.rs-market li{display:flex;align-items:center;gap:8px;padding:5px 6px;background:#ede8d908;border-radius:4px;min-height:48px}
.rs-contracts li>span:not(.rs-ic),.rs-market li>span:not(.rs-ic){flex:1;display:grid;line-height:1.25}.rs-contracts small,.rs-market small{color:#b9b097;font-size:11.5px}
.rs-contracts li[data-dir=out]{background:#4848452e}
.rs-empty{color:#aca48b;font-size:12.5px;justify-content:center;text-align:center}
html body.playable-integrated .hoi-ui .rs-trade button{min-height:44px}
html body.playable-integrated .hoi-ui .rs-market button{display:grid;line-height:1.1;padding:3px 10px;min-width:64px}
.rs-market button small{font-size:10.5px;opacity:.8}
.rs-picker{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;margin-bottom:6px}
html body.playable-integrated .hoi-ui .rs-picker button{display:grid;justify-items:center;gap:2px;padding:4px 0;min-height:56px;font-size:12px}
html body.playable-integrated .hoi-ui .rs-picker button[aria-pressed=true],html body.playable-integrated .hoi-ui .rs-laws button[aria-pressed=true]{box-shadow:inset 0 -3px #c2b58b;background:#3f3f3d}
.rs-laws{display:grid;grid-template-columns:repeat(2,1fr);gap:5px}
html body.playable-integrated .hoi-ui .rs-laws button{display:grid;text-align:left;padding:5px 9px;line-height:1.25}
.rs-laws small{font-size:11px;opacity:.8}

@media(max-width:900px){html body.playable-integrated .hoi-ui .rs-cell{top:auto;bottom:calc(180px + env(safe-area-inset-bottom));max-height:46dvh;width:calc(100vw - 24px)}
 html body.playable-integrated .hoi-ui .rs-legend{width:min(300px,calc(100vw - 28px))}}
@media(max-height:760px){.rs-legend>footer{display:none}html body.playable-integrated .hoi-ui .rs-balance[data-compact=true] button{min-height:40px}}

/* ── zz-ai-boost.css ── */
/* Campaign rules: native controls, retained disclosure state, CSS-only micro effects. */
.campaign-settings{margin:24px 0;border:1px solid #54524c;background:linear-gradient(135deg,#1e1e1d,#121210 72%);color:#d2cdbd;text-align:left;box-shadow:0 9px 24px #00000033;border-radius:3px;overflow:hidden}
.campaign-settings summary{list-style:none;cursor:pointer}.campaign-settings summary::-webkit-details-marker{display:none}.campaign-settings summary:focus-visible{outline:2px solid #c1bcac;outline-offset:-3px}.campaign-settings>summary{display:flex;align-items:center;gap:16px;padding:20px 22px;min-height:94px;background:linear-gradient(115deg,#32323044,transparent 65%)}
.campaign-rules-seal{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;font:28px Georgia,serif;color:#c8bc97;border:1px solid #837a5f;box-shadow:inset 0 0 0 4px #121311;background:#181816;transform:rotate(45deg)}
.campaign-settings-name{display:flex;flex:1;min-width:0;flex-direction:column;gap:5px}.campaign-settings-name>span{font:10px/1.2 Georgia,serif;letter-spacing:.25em;color:#a49b7f}.campaign-settings-name>b{font:24px/1.25 Georgia,"Songti SC","SimSun",serif;color:#d3cebe;letter-spacing:.08em}.campaign-settings-name>small{font-size:12px;line-height:1.5;color:#9d9c96}.campaign-rule-count{font-size:12px;line-height:1.5;white-space:nowrap;color:#c9be9b;padding:5px 9px;border:1px solid #58564f;background:#0e0e0c55}.campaign-fold-mark{font-size:21px;font-weight:300;line-height:1;min-width:18px;color:#afa78e;transition:transform .15s ease;display:inline-block}.campaign-settings[open]>.campaign-settings-summary>.campaign-fold-mark,.campaign-rule-group[open]>summary>.campaign-fold-mark{transform:rotate(45deg)}
.campaign-settings-body{padding:0 18px 18px;border-top:1px solid #454543}.campaign-settings-note{display:flex;align-items:center;gap:12px;justify-content:space-between;padding:10px 1px}.campaign-settings-note>p{font-size:12px;line-height:1.6;margin:0;color:#a9a8a2}.campaign-settings .campaign-rules-reset{flex-shrink:0;min-height:40px;padding:4px 10px;font-size:12px;color:#c3bba1;background:#181916!important;border:1px solid #4e4e4c!important;border-radius:2px!important}.campaign-rules-reset:disabled{opacity:.4}
.campaign-rule-group{border:1px solid #40403f;background:#131311;margin-top:8px;overflow:hidden;border-radius:2px}.campaign-rule-group>summary{display:flex;align-items:center;gap:12px;padding:13px 15px;min-height:68px;background:linear-gradient(100deg,#25252480,#181916 75%)}.campaign-group-index{font:24px Georgia,serif;color:#8f8d85;opacity:.8;min-width:31px}.campaign-rule-group>summary>span:nth-child(2){flex:1;min-width:0}.campaign-rule-group>summary b{display:block;font:17px/1.5 Georgia,"Songti SC","SimSun",serif;letter-spacing:.04em;color:#cbc5b6}.campaign-rule-group>summary small{display:block;font-size:11px;line-height:1.6;color:#9c9b94;margin-top:2px}.campaign-group-meta{font-size:11px;color:#9d9b94;white-space:nowrap}.campaign-rule-group[open]>summary{border-bottom:1px solid #3f3f3d}.campaign-rule-list{padding:0 15px}.campaign-rule-row{display:grid;grid-template-columns:1.25fr 1fr;gap:20px;padding:16px 1px;border-bottom:1px solid #333331}.campaign-rule-row:last-child{border:0}.campaign-rule-row label{display:block;font-size:14px;line-height:1.6;color:#cec8b9}.campaign-rule-row>div>p{font-size:12px;line-height:1.6;color:#999891;margin:4px 0 0}.campaign-rule-row.is-modified label{color:#bdb8a8}.campaign-rule-row.is-modified label:before{content:"";display:inline-block;width:5px;height:5px;background:#c9bc92;border-radius:50%;margin-right:7px;vertical-align:middle}.campaign-settings .campaign-rule-choice select{display:block;width:100%;min-width:0;min-height:44px;padding:9px 30px 9px 12px;background:#252524;border:1px solid #68665f;border-radius:3px;color:#d0cbbc;font:inherit;font-size:13px;line-height:1.5;cursor:pointer;color-scheme:dark}.campaign-settings .campaign-rule-choice select:focus-visible{outline:2px solid #cbc09f;outline-offset:2px}.campaign-settings .campaign-rule-choice select:disabled{opacity:.6;cursor:default}.campaign-rule-choice>small{display:block;color:#afada5;font-size:11px;line-height:1.6;margin-top:6px}
.campaign-ai-body{padding:14px;container-type:inline-size}.ai-boost-intro{font-size:12px;line-height:1.75;color:#a3a29c;margin:0 0 15px}.ai-boost-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
.ai-boost-country{--glow:#beb9a9;--glow-rgb:201,199,238;--bar-start:#6c6b63;--bar-mid:#9e91dd;--bar-end:#c3beaf;--country-wash:#343430;min-width:0;padding:17px 16px 12px;border:1px solid #4e4e4d;border-radius:7px;background:radial-gradient(ellipse at 100% 0,var(--country-wash),transparent 73%),linear-gradient(150deg,#212120,#151614);box-shadow:inset 0 1px #ede8d90c,0 3px 12px #00000022;position:relative}
.ai-boost-country[data-ai-country=GERMAN]{--glow:#f4a49e;--glow-rgb:244,164,158;--bar-start:#65635c;--bar-mid:#c68089;--bar-end:#cbc6b6;--country-wash:#432b30;--flow-duration:5.8s}
.ai-boost-country[data-ai-country=BRITISH]{--glow:#ceadff;--glow-rgb:206,173,255;--bar-start:#4959c3;--bar-mid:#a36de2;--bar-end:#c6c1b2;--country-wash:#322749;--flow-duration:9s}
.ai-boost-country[data-ai-country=ITALIAN]{--glow:#c8c3b3;--glow-rgb:206,224,160;--bar-start:#69675f;--bar-mid:#6cba8e;--bar-end:#f0dc91;--country-wash:#333331;--flow-duration:7.4s}
.ai-boost-country[data-ai-country=SOVIET]{--glow:#ffc38e;--glow-rgb:255,195,142;--bar-start:#9d3452;--bar-mid:#e16a60;--bar-end:#ffcf90;--country-wash:#472b2b;--flow-duration:6.3s}
.ai-boost-country>header{display:flex;align-items:center;gap:12px;min-height:68px;margin-bottom:10px}.ai-boost-emblem{width:60px;height:68px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ai-boost-emblem>.atlas-emblem{width:60px;height:60px;max-width:60px;max-height:68px;filter:drop-shadow(0 3px 3px #00000088)}.ai-boost-title{flex:1;min-width:0}.ai-boost-flavour{display:block;font-size:9px;letter-spacing:.17em;color:var(--glow);opacity:.72;margin-bottom:4px}.ai-boost-title>b{font:22px/1.2 Georgia,"Songti SC","SimSun",serif;color:#dbd6c7;letter-spacing:.09em;display:block}.ai-boost-title>small{display:block;font-size:12px;line-height:1.5;color:#bdb8a8;margin-top:5px;min-height:18px}.ai-boost-rank{display:flex;align-items:baseline;gap:3px;white-space:nowrap;min-width:35px;justify-content:flex-end}.ai-boost-rank>b{font:32px/1 Georgia,serif;color:var(--glow);text-shadow:0 0 14px rgba(var(--glow-rgb),.18)}.ai-boost-rank>span{font:11px Georgia,serif;color:#918f8a}
.ai-strength{height:65px;position:relative;margin:6px 0 0;isolation:isolate}.ai-strength-bed{position:absolute;left:14px;right:14px;top:14px;height:18px;border-radius:12px;background:linear-gradient(#111110,#262625);box-shadow:inset 0 1px 4px #000000aa,0 0 0 1px #ede8d912;overflow:hidden;pointer-events:none}.ai-strength-fill{height:100%;width:var(--boost-percent);position:relative;border-radius:12px;background:linear-gradient(100deg,var(--bar-start),var(--bar-mid) 57%,var(--bar-end));box-shadow:inset 0 1px 0 #ede8d955,inset 0 -3px 6px #15151240;overflow:hidden}.ai-strength-fill::before{content:"";position:absolute;inset:0 -75%;border-radius:inherit;background:linear-gradient(110deg,var(--bar-start) 0%,var(--bar-mid) 23%,var(--bar-end) 42%,var(--bar-mid) 62%,var(--bar-start) 82%,var(--bar-end) 100%);transform:translateX(-12%);animation:ai-gradient-drift var(--flow-duration,7s) ease-in-out infinite alternate;animation-play-state:paused;pointer-events:none}.ai-strength-stars{position:absolute;inset:0;display:block;opacity:.8;background:radial-gradient(circle at 8% 42%,#ede8d999 0 1px,transparent 1.6px),radial-gradient(circle at 23% 68%,#ede8d966 0 .8px,transparent 1.5px),radial-gradient(circle at 41% 29%,#ede8d999 0 1px,transparent 1.6px),radial-gradient(circle at 61% 70%,#ede8d988 0 .8px,transparent 1.4px),radial-gradient(circle at 79% 35%,#ede8d9cc 0 1.1px,transparent 1.7px),radial-gradient(circle at 91% 67%,#ede8d977 0 .8px,transparent 1.4px);animation:ai-stars 3.8s ease-in-out infinite;animation-play-state:paused}.ai-strength-shine{position:absolute;inset:-20px 0;display:block;background:linear-gradient(110deg,transparent 25%,#ede8d933 48%,transparent 72%);transform:translateX(-100%);animation:ai-sweep 5s ease-in-out infinite;animation-play-state:paused}.ai-strength-notches{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(20% - 1px),#13141245 calc(20% - 1px),#13141245 20%);opacity:.75}
.campaign-settings[open] .campaign-ai-group[open] .ai-boost-country[data-boost-visible]:not([data-human]) .ai-strength:not([data-strength="0"]) .ai-strength-fill::before,.campaign-settings[open] .campaign-ai-group[open] .ai-boost-country[data-boost-visible]:not([data-human]) .ai-strength:not([data-strength="0"]) .ai-strength-stars,.campaign-settings[open] .campaign-ai-group[open] .ai-boost-country[data-boost-visible]:not([data-human]) .ai-strength:not([data-strength="0"]) .ai-strength-shine{animation-play-state:running}
.ai-boost-country[data-ai-country=GERMAN] .ai-strength-stars{animation-name:ai-embers;animation-duration:3.2s}.ai-boost-country[data-ai-country=BRITISH] .ai-strength-shine{animation-duration:6.4s}.ai-boost-country[data-ai-country=ITALIAN] .ai-strength-stars{background:repeating-linear-gradient(120deg,transparent 0 18px,#ede8d944 19px 20px,transparent 21px 37px);opacity:.25;animation-duration:5.4s}.ai-boost-country[data-ai-country=SOVIET] .ai-strength-shine{background:linear-gradient(120deg,transparent 20%,#d9d3c350 45%,#ede8d933 50%,transparent 68%);animation-duration:4.4s}
.campaign-settings input.ai-boost-range{appearance:none;-webkit-appearance:none;display:block;position:absolute;left:0;top:0;width:100%;height:46px;min-height:46px;box-sizing:border-box;margin:0;padding:0;border:0!important;border-radius:16px;background:transparent!important;box-shadow:none;color:transparent;cursor:pointer;touch-action:pan-y;z-index:2}
.campaign-settings input.ai-boost-range::-webkit-slider-runnable-track{height:18px;background:transparent;border:0;border-radius:12px}.campaign-settings input.ai-boost-range::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:28px;height:28px;margin-top:-5px;border:1px solid #ede8d999;border-radius:50%;background:radial-gradient(circle at 35% 25%,#ede8d9,#d9d4c6 68%,#acaba8);box-shadow:0 1px 5px #00000077,0 0 12px rgba(var(--glow-rgb),.34);transition:box-shadow .15s}.campaign-settings input.ai-boost-range::-moz-range-track{height:18px;background:transparent;border:0;border-radius:12px}.campaign-settings input.ai-boost-range::-moz-range-thumb{width:27px;height:27px;border:1px solid #ede8d999;border-radius:50%;background:#dfdacc;box-shadow:0 1px 5px #00000077,0 0 12px rgba(var(--glow-rgb),.34)}.campaign-settings input.ai-boost-range:focus-visible{outline:2px solid var(--glow);outline-offset:2px}.campaign-settings input.ai-boost-range:disabled{cursor:default;opacity:.5}.ai-strength.is-human .ai-strength-bed{opacity:.45}.ai-strength-ticks{position:absolute;left:4px;right:4px;top:45px;display:flex;justify-content:space-between;align-items:center;color:#a4a39f;font:10px/1.4 Georgia,"Songti SC",serif;pointer-events:none}.ai-strength-ticks>span{min-width:20px;text-align:center}.ai-strength-ticks>span:first-child{font-size:10px}.ai-boost-country[data-human] .ai-boost-flavour{color:#a5a4a1;opacity:.5}.ai-boost-country[data-human] .ai-boost-rank>b{color:#a3a29f;text-shadow:none}
.ai-boost-effects{font-size:12px;line-height:1.75;color:#b6b5b0}.ai-boost-effects>p{margin:8px 0 6px;min-height:42px}.ai-boost-effects details{border-top:1px solid #ede8d915;margin-top:9px}.ai-boost-effects summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:39px;padding:3px 0;color:var(--glow);font-size:11px}.ai-boost-effects summary>span{font-size:16px;display:inline-block;transition:transform .15s}.ai-boost-effects details[open]>summary>span{transform:rotate(45deg)}.ai-boost-effects dl{margin:0 0 8px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 12px}.ai-boost-effects dl>div{display:flex;align-items:baseline;justify-content:space-between;gap:5px;border-bottom:1px solid #ede8d90b;padding:3px 0;font-size:11px;min-width:0}.ai-boost-effects dt{color:#a19f99}.ai-boost-effects dd{margin:0;color:#d0cbbb;white-space:nowrap}
@keyframes ai-gradient-drift{from{transform:translateX(-12%)}to{transform:translateX(12%)}}
html[data-campaign-page-hidden] .campaign-settings .ai-strength-fill::before,html[data-campaign-page-hidden] .campaign-settings .ai-strength-stars,html[data-campaign-page-hidden] .campaign-settings .ai-strength-shine{animation-play-state:paused!important}
@keyframes ai-stars{0%,100%{opacity:.4}50%{opacity:.95}}@keyframes ai-embers{0%,100%{opacity:.5;transform:translateY(2px)}55%{opacity:1;transform:translateY(-1px)}}@keyframes ai-sweep{0%,16%{transform:translateX(-100%);opacity:0}25%{opacity:.7}72%{opacity:.4}90%,100%{transform:translateX(100%);opacity:0}}
@container(max-width:640px){.ai-boost-grid{grid-template-columns:1fr}}
@media(max-width:650px){.campaign-settings{margin:18px 0}.campaign-settings>summary{padding:15px 13px;gap:12px}.campaign-rules-seal{width:31px;height:31px;flex-basis:31px;font-size:22px}.campaign-settings-name>b{font-size:21px}.campaign-settings-name>small{font-size:10px}.campaign-rule-count{font-size:10px;padding:3px 5px}.campaign-settings-body{padding:0 10px 10px}.campaign-settings-note{align-items:flex-start}.campaign-settings-note>p{font-size:11px}.campaign-rule-group>summary{padding:11px 10px;gap:9px}.campaign-group-index{font-size:21px;min-width:25px}.campaign-group-meta{display:none}.campaign-rule-row{grid-template-columns:1fr;gap:9px;padding:13px 0}.campaign-ai-body{padding:10px}.ai-boost-grid{grid-template-columns:1fr}.ai-boost-country{padding:14px}.ai-boost-title>b{font-size:22px}.ai-boost-effects dl{gap:3px 10px}}
.campaign-settings .ai-strength-fill::before{contain:paint}
@media(prefers-reduced-motion:reduce){.campaign-settings .ai-strength-fill::before{animation:none!important;transform:none}.campaign-settings .ai-strength-stars,.campaign-settings .ai-strength-shine{animation:none!important;transform:none;opacity:.55}.campaign-settings .ai-strength-shine{display:none}.campaign-settings .campaign-fold-mark,.campaign-settings .ai-boost-effects summary>span,.campaign-settings input.ai-boost-range::-webkit-slider-thumb{transition:none}}

.ai-reserve-note{font-size:10px;line-height:1.6;color:#c6c1b2;border-left:2px solid var(--glow);padding-left:7px;margin:8px 0 5px}.ai-reserve-note.is-disabled{color:#a9a7a0;border-left-color:#75736c}

/* ── zz-air-map.css ── */
/* Air force: a map mode with a compact command drawer (touch targets ≥40px, one scroll area). */
#eastfront-map.air-map-active :is(#action-arrows,#corps-fronts,#battle-bubbles){visibility:hidden;pointer-events:none}
#eastfront-map.air-map-active :is(#map-dynamic-layer,#compact-forces){opacity:.55;pointer-events:none}
#air-map .air-arc{stroke-linecap:round;opacity:.86}
#air-map .air-arc[data-tone=fight]{stroke:#cfe6f2}#air-map .air-arc[data-tone=ground]{stroke:#e9a35a}#air-map .air-arc[data-tone=bomb]{stroke:#e06a55}#air-map .air-arc[data-tone=sea]{stroke:#6fc7c0}#air-map .air-arc[data-tone=support],#air-map .air-arc[data-tone=train]{stroke:#c9c39a}
#air-map .air-base{cursor:pointer}#air-map .air-base[data-over=true] path:first-of-type{stroke:#e06a55}
#air-map [data-air-region]{cursor:pointer;transition:fill-opacity .15s}
.air-window{--air-ink:#d9d4c6;--air-dim:#b1afa7;--air-line:#59574f;--air-gold:#d4c79f;--air-bg:#1b1b19;--air-bg2:#252623;color:var(--air-ink);font-size:13px}
#air-window{position:fixed;inset:132px auto 84px 12px;width:min(440px,43vw);z-index:64;display:flex;flex-direction:column;background:linear-gradient(180deg,#20211e,#161715);border:1px solid #8c8a82;box-shadow:0 0 0 3px #10110f,4px 8px 22px #00000088;border-radius:3px;overflow:hidden}
.air-header{display:flex;align-items:center;gap:10px;min-height:60px;padding:9px 12px;background:linear-gradient(110deg,#3a3b37,#20211e);border-bottom:1px solid #8c8a82}
.air-header small{font-size:10px;color:var(--air-dim);letter-spacing:1px}.air-header h2{margin:2px 0 0;font:600 20px/1.1 Georgia,'Noto Serif SC',serif;letter-spacing:3px;color:var(--air-gold)}
.air-header>div{flex:1}.air-header button{width:40px;height:40px;font-size:22px;background:transparent;border:1px solid #6d6b64;color:var(--air-ink);border-radius:2px}
.air-links{display:flex;background:#1a1a18;border-bottom:1px solid var(--air-line)}.air-links button{flex:1;min-height:40px;border:0;background:transparent;color:#cbc1a2;font-size:11px}
.air-kpis{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--air-line)}.air-kpis>div{padding:7px 8px;border-right:1px solid #353633}.air-kpis>div:last-child{border:0}
.air-kpis small,.air-kpis span{display:block;font-size:9.5px;color:var(--air-dim)}.air-kpis b{display:block;font:600 18px/1.2 Georgia,serif;color:var(--air-ink)}
.air-reading{padding:10px 12px;background:linear-gradient(110deg,#363632,#222320);border-bottom:1px solid var(--air-line)}
.air-reading>small{font-size:10px;color:var(--air-dim)}.air-reading h3{margin:3px 0 6px;font:600 19px Georgia,'Noto Serif SC',serif;letter-spacing:2px;color:#cec8b9}
.air-reading-stats{display:flex;flex-wrap:wrap;gap:4px 13px;font-size:11px;color:var(--air-dim)}.air-reading-stats b{color:var(--air-ink)}
.air-reading em{display:block;margin-top:6px;font-style:normal;font-size:11px;color:#c0bdb5}.air-reading em[data-bad=true]{color:#f0a08c}
.air-mission-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-top:8px}
.air-mission-grid button{min-height:42px;padding:3px 2px;font-size:11.5px;line-height:1.15;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;background:#222320;border:1px solid #66645d;color:#c8c3b5;border-radius:2px}
.air-mission-grid button span{font-size:14px}.air-mission-grid button[aria-pressed=true]{background:#40403e;border-color:var(--air-gold);color:#d3cebe}
.air-mission-grid button[data-tone=ground] span{color:#e9a35a}.air-mission-grid button[data-tone=bomb] span{color:#e06a55}.air-mission-grid button[data-tone=sea] span{color:#b0aea6}.air-mission-grid button[data-tone=fight] span{color:#d2cdbd}
.air-tabs{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--air-line)}.air-tabs button{min-height:42px;border:0;border-right:1px solid #353633;background:#1b1b19;color:var(--air-dim);font-size:13px}.air-tabs button[aria-pressed=true]{background:#30312d;color:var(--air-gold);box-shadow:inset 0 -2px var(--air-gold)}
.air-main{flex:1;overflow:auto;overscroll-behavior:contain;touch-action:pan-y;padding:8px}
.air-error{margin:0;padding:0 12px;min-height:0;font-size:11px;color:#f0a08c}.air-error:empty{display:none}.air-error:not(:empty){padding:6px 12px;border-top:1px solid var(--air-line)}
.air-muted{font-size:11px;color:var(--air-dim);margin:6px 0}
.air-wing-list{display:grid;gap:5px}
.air-wing{display:grid;grid-template-columns:44px 1fr auto;gap:8px;align-items:center;width:100%;min-height:58px;padding:6px 8px;text-align:left;background:var(--air-bg2);border:1px solid #454642;border-left:3px solid #6f8a96;color:var(--air-ink);border-radius:2px}
.air-wing[data-mission=fight]{border-left-color:#d2cdbd}.air-wing[data-mission=ground]{border-left-color:#e9a35a}.air-wing[data-mission=bomb]{border-left-color:#e06a55}.air-wing[data-mission=sea]{border-left-color:#b0aea6}
.air-wing[aria-pressed=true]{background:#333331;border-color:var(--air-gold)}
.air-wing-art{color:#c2bdaf;display:grid;place-items:center}.air-wing-copy{min-width:0}.air-wing-copy b,.air-wing-copy small,.air-wing-copy em{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.air-wing-copy b{font-size:12.5px}.air-wing-copy small{font-size:10.5px;color:var(--air-dim)}.air-wing-copy em{font-style:normal;font-size:10.5px;color:#c1bbac}
.air-bar{display:block;height:4px;margin:3px 0;background:#111210;border-radius:2px;overflow:hidden}.air-bar i{display:block;height:100%;background:linear-gradient(90deg,#7fb0c4,#d2cdbd)}
.air-wing-count{text-align:right}.air-wing-count b{font:600 18px Georgia,serif}.air-wing-count small{font-size:10px;color:var(--air-dim)}
.air-filter{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:6px 0;padding:6px 8px;background:#2a2a27;border:1px solid #5a5951;font-size:11px}.air-filter button{min-height:36px;padding:0 10px;font-size:11px}
.air-detail{margin-bottom:8px;padding:9px;background:#252522;border:1px solid #6d8796;border-radius:2px}
.air-detail>header{display:grid;grid-template-columns:1fr;gap:9px;align-items:center}
.air-detail h3{margin:2px 0;font:600 16px Georgia,'Noto Serif SC',serif;color:#cec8b9}.air-detail header small{font-size:10px;color:var(--air-dim)}.air-detail header p{margin:0;font-size:10.5px;color:#c1bbac}
.air-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:3px;margin:8px 0}.air-stats div{padding:4px;background:#1c1c1a;text-align:center}.air-stats dt{font-size:9.5px;color:var(--air-dim)}.air-stats dd{margin:0;font:600 13px Georgia,serif}
.air-gauges{display:flex;flex-wrap:wrap;gap:3px 12px;font-size:11px;color:var(--air-dim)}.air-gauges b{color:var(--air-ink)}
.air-actions{display:grid;gap:6px;margin-top:8px}
.air-actions button,.air-new button,.air-spirit button,.air-line button{min-height:40px;padding:0 12px;background:#2c2c29;border:1px solid #6a6861;color:var(--air-ink);border-radius:2px;font-size:12px}
.air-primary{background:#4a4b48!important;border-color:var(--air-gold)!important;color:#d7d1c2!important}.air-danger{border-color:#a8574a!important;color:#f0b3a5!important}.air-danger[data-armed=true]{background:#5a2a24!important}.air-ghost{background:transparent!important}
.air-toggle{display:flex;align-items:center;gap:8px;min-height:40px;font-size:12px}.air-toggle input{width:22px;height:22px}.air-toggle small{color:var(--air-dim);font-size:10px}
.air-stepper{display:flex;align-items:center;gap:6px}.air-stepper b{flex:1;text-align:center;font-size:12px}.air-stepper b small{font-size:10px;color:var(--air-dim)}.air-stepper button{min-width:44px}
.air-field{display:grid;grid-template-columns:auto 1fr auto;gap:6px;align-items:center;font-size:11px}.air-field select,.air-new select,.air-line select{min-height:40px;max-width:100%;background:#1a1a18;color:var(--air-ink);border:1px solid #6a6861;font-size:12px}
.air-section{margin-bottom:9px;padding:8px;background:#20211e;border:1px solid #454642}.air-section>header{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px}.air-section h3{margin:0;font:600 15px Georgia,'Noto Serif SC',serif;color:#cec8b9}.air-section>header span{font-size:10.5px;color:var(--air-dim)}
.air-line{display:grid;grid-template-columns:40px 1fr;gap:4px 8px;align-items:center;padding:6px 0;border-bottom:1px solid #353633}.air-line .air-stepper,.air-line select,.air-line>button{grid-column:1/-1}
.air-line-copy b{display:block;font-size:12.5px}.air-line-copy small,.air-line-copy span{display:block;font-size:10.5px;color:var(--air-dim)}
.air-new{display:grid;gap:6px;margin-top:8px}
.air-stock{display:grid;grid-template-columns:30px 1fr auto;gap:6px;align-items:center;font-size:12px;padding:3px 0;color:#c1bbac}.air-stock span:first-child{color:#c2bdaf}
.air-catalog{display:grid;gap:4px;max-height:280px;overflow:auto;overscroll-behavior:contain}.air-model{display:grid;grid-template-columns:34px 1fr;gap:6px;align-items:center;padding:4px;background:#1c1c1a}.air-model b{font-size:12px}.air-model small{display:block;font-size:10px;color:var(--air-dim)}.air-model span{color:#c2bdaf}
.air-spirit{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:7px 0;border-bottom:1px solid #353633}.air-spirit[data-on=true]{background:linear-gradient(90deg,#33333133,transparent)}.air-spirit b{font-size:13px;color:#cec8b9}.air-spirit p{margin:2px 0;font-size:11px;color:var(--air-dim)}
.air-mods{list-style:none;margin:3px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:3px 10px;font-size:11px}.air-mods li[data-good=true] b{color:#c0bdb5}.air-mods li[data-good=false] b{color:#f0a08c}.air-mods li span{color:var(--air-dim);margin-right:3px}
.air-report{padding:6px 0;border-bottom:1px solid #353633}.air-report header{display:flex;justify-content:space-between;gap:8px}.air-report header b{font-size:12.5px}.air-report header small{font-size:10px;color:var(--air-dim)}
.air-report-sides{display:grid;gap:2px;margin-top:3px;font-size:11px;color:var(--air-dim)}.air-report-sides span{display:flex;align-items:center;gap:5px}.air-report-sides b{color:#f0a08c}
.air-log{list-style:none;margin:0;padding:0;display:grid;gap:3px;font-size:11px}.air-log small{color:var(--air-dim);margin-right:6px}
.air-embedded{position:static;padding:8px;background:#1b1b19;border:1px solid #454642}
@media (max-width:700px){#air-window{inset:auto 0 0 0;width:100%;height:58vh;border-radius:6px 6px 0 0}.air-mission-grid{grid-template-columns:repeat(3,1fr)}}
@media (prefers-reduced-motion:reduce){#air-map [data-air-region]{transition:none}}
/* Shared button styles elsewhere are more specific; every drawer control keeps a ≥40px touch target. */
#air-window button,.air-embedded button{min-height:40px}
#air-window .air-tabs button,#air-window .air-mission-grid button{min-height:42px}
/* BETA-AIR-1 paintings: wing banner, production rows, model catalogue, spirit cards */
.air-banner{position:relative;margin:-9px -9px 2px;height:132px;overflow:hidden;background:#2f302c;border-bottom:1px solid #6d8796}
.air-banner-art{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 45%}.air-banner::after{content:'';position:absolute;inset:auto 0 0;height:46%;background:linear-gradient(transparent,#151614e6);pointer-events:none}
.air-banner-mark{position:absolute;top:7px;right:8px;filter:drop-shadow(0 1px 2px #000000aa)}.air-banner figcaption{position:absolute;left:10px;bottom:6px;z-index:1;font:600 12px Georgia,'Noto Serif SC',serif;color:#d6d1c1;letter-spacing:.04em;text-shadow:0 1px 2px #000000}
.air-line{grid-template-columns:64px 1fr}.air-line-art,.air-model-art{display:block;width:64px;aspect-ratio:2/1;overflow:hidden;border:1px solid #66645d;border-radius:2px;background:#2f302c}.air-line-art img,.air-model-art img{display:block;width:100%;height:100%;object-fit:cover}
.air-model{grid-template-columns:56px 1fr}.air-model-art{width:56px}
.air-spirit{grid-template-columns:56px 1fr auto}.air-spirit-art{width:56px;height:56px;object-fit:cover;border:1px solid #75736c;border-radius:2px;background:#2f302c}.air-spirit[data-on=true] .air-spirit-art{border-color:var(--air-gold);box-shadow:0 0 0 1px #d4c79f66}
/* AIR-NAVY-UX-1: equipment pictures and map-led orders. Static art, no per-frame effects. */
.air-window .aircraft-image,.air-window .air-banner-art{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 3px 3px #00000099)}
.air-window .aircraft-fallback{position:relative;display:block;width:100%;height:100%}.aircraft-fallback>small{position:absolute;bottom:0;right:0;background:#0f0f0fcc;color:#c3c1b9;font-size:9px;padding:2px}
#air-window .air-main{min-height:0;padding:0 8px 12px}#air-window .air-reading{margin:0 -8px 10px;padding:10px 12px}
#air-window .air-kpis span{display:none}#air-window .air-kpis>div{padding:6px 10px}
#air-window .air-wing{grid-template-columns:88px minmax(0,1fr) 42px;min-height:82px}
#air-window .air-wing-art{width:88px;height:58px;background:radial-gradient(ellipse,#908f8b50,transparent 70%)}
#air-window .air-detail>header{display:block}#air-window .air-banner{width:100%;height:138px;background:linear-gradient(155deg,#444443,#20201d);border:1px solid #72706c;display:block;margin:0 0 8px}
#air-window .air-banner-art{padding:8px 16px 24px}#air-window .air-banner figcaption{background:#1b1b19b0}
#air-window .air-detail h3{font-size:16px;margin:3px 0}#air-window .air-detail .air-stats{margin-block:10px}
.air-map-actions,.air-roster-heading{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.air-roster-heading{justify-content:space-between;margin:8px 0}.air-map-actions button{flex:1;min-width:96px}
.air-window button{cursor:pointer;touch-action:manipulation}.air-window button:disabled{opacity:.45;cursor:not-allowed}.air-window button:focus-visible{outline:2px solid #ccc7b8;outline-offset:2px}
.air-window .air-map-actions button,.air-roster-heading button,.air-roster-back,.air-transfer-plan button,.air-new button{min-height:44px;border:1px solid #71706b;background:linear-gradient(#363635,#232421);color:#c9c4b4;padding:8px;font-size:12px}
.air-roster-back{width:100%;text-align:left;margin:6px 0}.air-map-tip{padding:10px 12px;border-left:2px solid #b6ab8c;background:#30312e;color:#c2bdaf;line-height:1.6;font-size:12px}
.air-airport{padding:12px;border:1px solid #81807b;background:linear-gradient(120deg,#3d3d3c,#232321);margin:8px 0}
.air-airport header{display:flex;align-items:center;justify-content:space-between;gap:8px}.air-airport h3{font-size:19px;color:#c7c2b2;margin:3px 0 8px}.air-airport small{color:#b7b5ad}
.air-airport-capacity{display:flex;justify-content:space-between;font-size:12px;gap:8px}.air-airport .air-bar{display:block;margin:9px 0 12px}
.air-transfer-plan{padding:12px;border:1px solid #c9bb92;background:#333331;color:#d1ccbc;font-size:12px;line-height:1.6}.air-transfer-plan button{margin-right:6px}
.air-window .air-line{grid-template-columns:84px minmax(0,1fr);gap:8px}.air-window .air-line-art{width:84px;height:58px}.air-window .air-stock{grid-template-columns:68px minmax(0,1fr) auto;min-height:55px}.air-window .air-stock>span:first-child{height:48px}
.air-window .air-model-art{width:90px;min-width:90px;height:60px}.air-window .air-create-wing{display:grid;grid-template-columns:1fr 1fr;gap:6px}.air-create-wing button:first-child{grid-column:1/-1;display:grid;grid-template-columns:100px 1fr;align-items:center;text-align:left}.air-create-wing button:first-child>img{height:64px;grid-row:span 2}.air-create-wing small{display:block;font-size:10px;line-height:1.5}.air-create-wing .air-primary{grid-column:1/-1}
.air-equipment-picker{position:fixed;inset:132px 18px 84px auto;width:min(700px,calc(100vw - 480px));z-index:100;display:flex;flex-direction:column;min-height:0;background:#1b1b19;border:1px solid #a39b82;box-shadow:0 12px 40px #000000bb;color:#d9d4c6;font-size:12px}
.air-equipment-picker>header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:linear-gradient(120deg,#3d3e3c,#242522);border-bottom:1px solid #82807b;flex-shrink:0}.air-equipment-picker h3{font-family:Georgia,'Noto Serif SC',serif;font-size:21px;letter-spacing:2px;margin:3px 0;color:#c6c1b2}.air-equipment-picker header small{color:#b7b6b1}
.air-equipment-picker button{min-height:44px;background:#272725;border:1px solid #6a6964;color:#cdc7b8;padding:8px;cursor:pointer}.air-equipment-picker header button{width:44px;font-size:23px}
.air-pick-roles{display:flex;flex-wrap:wrap;gap:5px;padding:8px 12px;border-bottom:1px solid #585752;flex-shrink:0}.air-pick-roles button{font-size:11px;flex:1;white-space:nowrap}.air-pick-roles button[aria-pressed=true]{background:#444442;border-color:#c8bc9a;color:#e0daca}
.air-pick-scroll{overflow:auto;min-height:80px;flex:1;overscroll-behavior:contain;touch-action:pan-y;padding:12px}.air-pick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.air-equipment-picker .air-pick-card{padding:8px 10px 11px;display:flex;flex-direction:column;text-align:left;gap:4px;min-width:0;background:linear-gradient(155deg,#3d3e3c,#242522);border-color:#6d6c67}.air-pick-card>img,.air-pick-card>.aircraft-fallback{height:96px;width:100%;object-fit:contain}.air-pick-card strong{font-size:13px;line-height:1.4}.air-pick-card small,.air-pick-card span{color:#c0beb5;font-size:11px;line-height:1.5}
.air-equipment-picker .air-pick-card[aria-pressed=true]{border-color:#e0d2a8;box-shadow:inset 0 0 0 1px #e0d2a8;background:linear-gradient(155deg,#56544e,#30302f)}
.air-equipment-picker>.air-pick-foot{padding:10px 14px;background:#1f1f1d;border-top:1px solid #787771;flex-shrink:0}.air-equipment-picker>.air-pick-foot>p{margin:4px 0 8px;font-size:11px;line-height:1.4;color:#b9b8b5}.air-equipment-picker .air-primary{width:100%;color:#e0daca;background:linear-gradient(#6d654e,#3f3f3d);border-color:#b9ae8d}
.air-pick-comparison{display:flex;gap:12px}.air-pick-comparison>div{flex:1;min-width:0}.air-pick-comparison>div>small{font-size:11px;color:#bfbaaa}.air-pick-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin:7px 0}.air-pick-stats dt{font-size:10px;color:#a8a7a2}.air-pick-stats dd{margin:1px 0;font-size:13px;font-variant-numeric:tabular-nums}.air-pick-stats small{font-size:9px;padding-left:2px;color:#acaba7}
@media(max-width:1000px){.air-equipment-picker{inset:130px 12px 78px;width:auto}.air-pick-card>img{height:110px}}
@media(max-height:750px){#air-window{top:126px;bottom:64px}.air-equipment-picker{top:126px;bottom:64px}.air-header{min-height:48px;padding:5px 10px}.air-equipment-picker>header{padding:6px 12px}.air-pick-card>img{height:80px}.air-pick-comparison .air-pick-stats{grid-template-columns:repeat(6,1fr)}.air-pick-comparison{display:block}.air-pick-comparison>div:first-child:not(:last-child){display:none}}
@media(max-width:700px){#air-window{inset:auto 10px 76px;width:auto;height:52vh}.air-equipment-picker{inset:115px 10px 76px;width:auto}.air-pick-grid{gap:6px}.air-pick-card>img{height:75px}.air-pick-comparison{display:block}.air-pick-comparison>div:first-child:not(:last-child){display:none}.air-pick-stats{grid-template-columns:repeat(6,1fr)}}

#air-window[data-picker=true]{z-index:320}.air-window.air-embedded[data-picker=true]{position:relative;z-index:320}
.air-equipment-picker>.air-pick-foot{position:static;display:block;height:auto;max-height:40%;overflow:auto;flex:0 0 auto}.air-equipment-picker .air-pick-comparison{position:static}.air-equipment-picker .air-pick-scroll{flex:1 1 0;min-height:80px}.air-equipment-picker .air-pick-card{flex-shrink:0}
/* Layout follows BICE air_selection_view / air_wing_stats_window.
   Symbols and panel rendering are original; no game UI textures are used. */
html body.playable-integrated #air-window.bice-air{inset:132px auto 84px 12px;width:min(670px,55vw);background:#1b1c1b;border:1px solid #575651;border-radius:0;box-shadow:2px 4px 12px #00000099;color:#ccc6b6;font-family:Arial,'Microsoft YaHei',sans-serif}
html body #air-window.bice-air button,html body .air-equipment-picker button{border-radius:0;background:linear-gradient(#2f2f2e,#1c1c1b);color:#c8c3b3;border:1px solid #555450;box-shadow:inset 0 1px #73716a33;font-family:inherit;font-weight:400;font-size:12px}
.bice-command-icon{width:28px;height:28px;flex:none;display:block;color:#afaea8;filter:drop-shadow(1px 1px 0 #000000)}
#air-window.bice-air .air-selection-toolbar{display:flex;align-items:center;gap:4px;min-height:44px;padding:3px 5px;background:linear-gradient(#3c3d3b,#222220);border-bottom:2px solid #0f0f0e;flex:none}
#air-window .air-selection-toolbar>strong{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:400}#air-window .air-selection-toolbar>span{font-size:11px;color:#bcb49a;white-space:nowrap}#air-window .air-selection-toolbar>button{width:40px;min-height:40px;display:grid;place-items:center;padding:4px}
#air-window.bice-air .air-mission-grid{display:flex;flex-wrap:wrap;gap:2px;margin:0;padding:5px;background:#252624;border-bottom:1px solid #4a4a48}
#air-window.bice-air .air-mission-grid>button{flex:1;min-width:44px;min-height:49px;padding:3px 1px;gap:1px}
#air-window.bice-air .air-mission-grid>button small{font-size:9px;white-space:nowrap;font-weight:400;color:#b9b8b3}
#air-window.bice-air .air-mission-grid>button[data-tone=fight] svg{color:#a0bf86}#air-window.bice-air .air-mission-grid>button[data-tone=ground] svg{color:#bb9b73}#air-window.bice-air .air-mission-grid>button[data-tone=sea] svg{color:#91b6bb}#air-window.bice-air .air-mission-grid>button[data-tone=bomb] svg{color:#b5af6c}
html body #air-window.bice-air button[aria-pressed=true]{border-color:#a3a198;background:linear-gradient(#444442,#2f2f2d);box-shadow:inset 0 2px #bdbbb266;color:#dad5c6}
#air-window.bice-air .air-region-line{display:flex;gap:16px;align-items:center;padding:5px 8px;color:#babda6;font-size:11px;background:#1c1e18;min-height:28px}
#air-window.bice-air .air-tabs{display:flex;gap:0;background:#21211f}#air-window.bice-air .air-tabs button{flex:1;min-height:36px;font-size:12px;padding:4px}
#air-window.bice-air .air-main{padding:0;min-height:0;background:#181817}#air-window.bice-air .air-wing-list{display:block;gap:0}#air-window.bice-air .air-base-group{margin:0;padding:0;border:0}
#air-window.bice-air .air-airport{display:flex;align-items:center;gap:5px;margin:0;padding:3px 6px;min-height:44px;border:0;border-block:1px solid #53524e;background:linear-gradient(#3c3d3b,#262625);font-size:12px}
#air-window.bice-air .air-airport .air-base-name{display:flex;gap:8px;align-items:center;flex:1;min-width:0;text-align:left;background:transparent;box-shadow:none;border:0}.air-base-name b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#air-window.bice-air .air-airport button{min-height:38px;flex:none;padding:4px}.air-airport>span{font-variant-numeric:tabular-nums;font-size:12px;white-space:nowrap}
#air-window.bice-air .air-wing-row{display:flex;align-items:center;background:linear-gradient(#2a2b29,#20201e);border-bottom:1px solid #10100f;min-height:60px;padding:0 4px 0 10px}
#air-window.bice-air .air-wing-row[data-selected=true]{background:linear-gradient(#454543,#323231);box-shadow:inset 3px 0 #b9b7ae}
#air-window.bice-air .air-wing-row>.air-wing{display:grid;grid-template-columns:92px minmax(0,1fr) 54px 60px;align-items:center;flex:1;min-height:60px;border:0;box-shadow:none;background:transparent;text-align:left;gap:7px;padding:2px 4px}
#air-window.bice-air .air-wing-row>button:last-child{width:36px;min-height:40px;display:grid;place-items:center;padding:4px}
#air-window.bice-air .air-wing-art{width:92px;height:51px;background:none}#air-window.bice-air .air-wing-copy b{font-size:12px;color:#c6c0b1;font-weight:400}#air-window.bice-air .air-wing-copy small{font-size:10px;color:#a6a49f}#air-window.bice-air .air-bar{height:3px;background:#11110f;border:0}#air-window.bice-air .air-bar i{background:#a2a097}
#air-window.bice-air .air-wing-count b{font-size:16px;font-family:Arial,sans-serif;color:#d0cbbb}#air-window.bice-air .air-wing-count small{font-size:10px}.air-row-mission{display:grid;place-items:center}.air-row-mission svg{width:23px;height:23px}.air-row-mission small{font-size:9px;color:#a9a8a2}
#air-window.bice-air .air-utility{display:flex;align-items:center;background:#252623;border-top:1px solid #4f4f4d;gap:4px;padding:2px 5px}.air-utility>span{margin-left:auto;font-size:11px;color:#acaba4}#air-window .air-utility button{min-height:34px;padding:5px 12px}
#air-window.bice-air .air-error:empty{display:none}.air-all-bases{min-height:36px;width:100%;text-align:left;padding:5px 12px}
#air-window.bice-air .air-detail{position:fixed;z-index:324;left:50%;top:50%;transform:translate(-50%,-50%);width:min(950px,calc(100vw - 32px));max-height:calc(100dvh - 170px);overflow:auto;overscroll-behavior:contain;background:#292927;border:2px solid #727069;border-radius:0;box-shadow:0 8px 35px #000000aa;margin:0;padding:10px 16px}
#air-window.bice-air .air-detail-title{display:flex;align-items:center;justify-content:space-between;padding:0 0 7px;border-bottom:1px solid #686660;font-size:17px;font-weight:400}.air-detail-title button{min-height:40px;width:40px}
#air-window.bice-air .air-detail>header{display:grid;grid-template-columns:260px 1fr;gap:20px;align-items:center;background:transparent;padding:10px 0}#air-window.bice-air .air-banner{height:120px;width:260px;border:1px solid #4d4d4b;background:#1d1e1c;margin:0}#air-window.bice-air .air-detail .air-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:4px 18px;border-block:1px solid #4e4e4c;padding:10px 0}#air-window.bice-air .air-detail .air-stats>div{display:flex;justify-content:space-between;align-items:center;background:transparent;border-bottom:1px solid #444442;padding:5px 6px}#air-window.bice-air .air-detail .air-stats dt{font-size:12px;color:#b9b7b0}#air-window.bice-air .air-detail .air-stats dd{font-size:15px;color:#d2cdbd}
#air-window.bice-air .air-detail .air-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}#air-window.bice-air .air-detail .air-map-actions{flex:1}#air-window.bice-air .air-detail .air-toggle{width:160px}#air-window.bice-air .air-detail .air-danger{min-height:40px;padding:8px}
html body .air-equipment-picker{inset:150px auto 90px 50%;transform:translateX(-50%);width:min(600px,calc(100vw - 28px));background:#21211f;border:2px solid #6e6c65;box-shadow:0 8px 35px #000000bb}
html body .air-equipment-picker>header{background:linear-gradient(#3d3d3c,#252623);padding:6px 10px;border-bottom:1px solid #78766e}html body .air-equipment-picker h3{font-family:Arial,'Microsoft YaHei',sans-serif;font-size:17px;letter-spacing:0}html body .air-equipment-picker .air-pick-roles{background:#242423;border-color:#4d4d4b;padding:4px}.air-equipment-picker .air-pick-roles button{min-height:34px}
html body .air-equipment-picker .air-pick-grid{display:flex;flex-direction:column;gap:2px}html body .air-equipment-picker .air-pick-scroll{padding:5px;background:#151613}
html body .air-equipment-picker .air-pick-card{display:grid;grid-template-columns:130px minmax(0,1fr) 85px;gap:2px 8px;min-height:73px;padding:5px 8px;background:linear-gradient(#2f2f2e,#242423);border:1px solid #494a47}
html body .air-equipment-picker .air-pick-card>img,html body .air-equipment-picker .air-pick-card>.aircraft-fallback{grid-column:1;grid-row:1/5;height:62px;width:130px}
html body .air-equipment-picker .air-pick-card>strong{grid-column:2;font-size:13px}html body .air-equipment-picker .air-pick-card>small{grid-column:2;font-size:11px}html body .air-equipment-picker .air-pick-card>span{grid-column:2;font-size:10px}html body .air-equipment-picker .air-pick-card>span:nth-last-child(2){grid-column:3;grid-row:1/4;align-self:center;font-size:12px;text-align:right}
html body .air-equipment-picker .air-pick-card[aria-pressed=true]{background:linear-gradient(#474744,#323331);border-color:#9f9d95;box-shadow:inset 3px 0 #b9b7ae}
html body .air-equipment-picker>.air-pick-foot{background:#252524;border-color:#6c6a62;max-height:34%;padding:7px 10px}html body .air-equipment-picker>.air-pick-foot>p{font-size:10px;margin:3px 0 5px}html body .air-equipment-picker .air-primary{background:linear-gradient(#4c4c49,#353633);border-color:#807e76;min-height:40px}
html body .air-equipment-picker .air-pick-stats dt{color:#b2b0a8}html body .air-equipment-picker .air-pick-stats dd{color:#cfcabb}
@media(max-width:1000px){html body.playable-integrated #air-window.bice-air{width:55vw}#air-window.bice-air .air-wing-row>.air-wing{grid-template-columns:70px minmax(0,1fr) 40px}.air-row-mission{display:none}#air-window.bice-air .air-wing-art{width:70px}#air-window .air-selection-toolbar>span{display:none}}
@media(max-width:700px){html body.playable-integrated #air-window.bice-air{inset:auto 8px 76px;width:auto;height:53vh}html body .air-equipment-picker{top:108px;bottom:76px}#air-window.bice-air .air-detail{max-height:calc(100dvh - 140px);padding:8px}#air-window.bice-air .air-detail>header{grid-template-columns:130px 1fr;gap:10px}#air-window.bice-air .air-banner{width:130px;height:85px}#air-window.bice-air .air-detail .air-stats{grid-template-columns:repeat(3,1fr);gap:3px}#air-window.bice-air .air-detail .air-stats>div{display:block}}

@media(pointer:coarse){html body.playable-integrated #air-window.bice-air button{min-height:40px}html body.playable-integrated #air-window.bice-air .air-airport button{min-width:40px}}

/* Keep these BICE-like command rows independent of the global Iron button plates. */
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) #air-window.bice-air button{background:linear-gradient(#323231,#232322)!important;border:1px solid #56544e!important;box-shadow:inset 0 1px #8a88802b!important;color:#ccc6b6!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) #air-window.bice-air button[aria-pressed=true]{background:linear-gradient(#4a4a47,#353633)!important;border-color:#a4a299!important;box-shadow:inset 3px 0 #b8b6ad!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) #air-window.bice-air :is(.air-base-name,.air-wing){background:transparent!important;border:0!important;box-shadow:none!important}
html body.playable-integrated #air-window.bice-air .air-equipment-picker h3{font:17px Arial,'Microsoft YaHei',sans-serif;letter-spacing:0}
html body.playable-integrated :is(#air-window,#production-workbench,.air-embedded) .air-equipment-picker>.air-pick-foot{max-height:none;overflow:visible;flex:0 0 auto;padding:7px 10px;box-sizing:border-box}
html body.playable-integrated :is(#air-window,#production-workbench,.air-embedded) .air-equipment-picker .air-pick-comparison{padding:0;gap:14px}
html body.playable-integrated :is(#air-window,#production-workbench,.air-embedded) .air-equipment-picker .air-pick-stats{margin:5px 0;gap:3px}
html body.playable-integrated :is(#air-window,#production-workbench,.air-embedded) .air-equipment-picker .air-pick-stats small{display:inline;font-size:9px}
html body.playable-integrated :is(#air-window,#production-workbench,.air-embedded) .air-equipment-picker .air-primary{display:block;width:100%;min-height:40px}

/* ── zz-beta-economy.css ── */
/* Beta's fiscal ledger and arms exchange share the existing industry window. */
html body.playable-integrated .command-ui.hoi-ui :is(.be-workbench,.rs-cash-trade){--be-bg:#161715;--be-deep:#111110;--be-raised:#232421;--be-line:#55534e;--be-ink:#d0cabb;--be-muted:#a9a8a3;--be-gold:#d2c6a1;--be-good:#bebcb3;--be-bad:#e9a08b;display:block;color:var(--be-ink);font-size:13px;line-height:1.45;font-variant-numeric:tabular-nums;min-width:0;container-type:inline-size}
:is(.be-workbench,.rs-cash-trade) :is(h3,h4,h5,p,dl){margin:0}
:is(.be-workbench,.rs-cash-trade) :is(button,input,select){font:inherit;touch-action:manipulation;min-height:40px;border-radius:1px}
:is(.be-workbench,.rs-cash-trade) :is(input,select){color:var(--be-ink);background:var(--be-deep);border:1px solid var(--be-line);padding:7px 9px;box-sizing:border-box;min-width:0}
:is(.be-workbench,.rs-cash-trade) input{width:100%}
:is(.be-workbench,.rs-cash-trade) button{padding:7px 12px;white-space:normal;min-width:0}
:is(.be-workbench,.rs-cash-trade) :is(button,input,select):focus-visible{outline:2px solid var(--be-gold);outline-offset:2px}
:is(.be-workbench,.rs-cash-trade) button:disabled{opacity:.42;cursor:default}
:is(.be-workbench,.rs-cash-trade) small{color:var(--be-muted);font-size:11px;line-height:1.4}
:is(.be-workbench,.rs-cash-trade) [data-tone=bad]{color:var(--be-bad)}
:is(.be-workbench,.rs-cash-trade) [data-tone=good]{color:var(--be-good)}
:is(.be-workbench,.rs-cash-trade) [data-tone=gold]{color:var(--be-gold)}
html body.playable-integrated .command-ui.hoi-ui :is(.be-workbench,.rs-cash-trade) .be-primary{background:linear-gradient(#484946,#323230);color:#d6d1c1;border:1px solid #999178;box-shadow:inset 0 1px #c9c3b32b;font-weight:700}
.be-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 10px;padding-bottom:8px;border-bottom:1px solid var(--be-line)}
html body.playable-integrated .command-ui.hoi-ui :is(.be-workbench,.rs-cash-trade)>header.be-heading{background:linear-gradient(110deg,#0d0d0c,#191917);color:var(--be-ink);border:1px solid #484946;border-top:1px solid #b4a9876e;border-bottom:1px solid #8d8467;box-shadow:inset 0 1px #c1b5900e;padding:10px 14px;margin:0 0 10px;min-height:0}
.be-heading .be-eyebrow{font-size:10px;letter-spacing:.24em;color:var(--be-gold)}
.be-heading h3{font:700 21px/1.3 Georgia,'Noto Serif SC',serif;letter-spacing:.1em}
.be-heading>p{max-width:50%;color:var(--be-muted);text-align:right;font-size:11px}
.be-account{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--be-line);background:var(--be-deep);margin-bottom:10px}
.be-account>.be-kpi{min-width:0;padding:10px 12px;border-right:1px solid #55534e80;display:grid;gap:3px;align-content:start}
.be-account>.be-kpi:last-child{border:0}
.be-kpi>span{font-size:11px;color:var(--be-muted)}
.be-kpi>strong{font-family:var(--font-num,'Consolas',monospace);font-size:25px;line-height:1.15;font-weight:600;overflow-wrap:anywhere}
.be-kpi>small{display:block;font-size:10px}
.be-alert,.be-error{padding:10px 12px;background:#36251c;border:1px solid #a66c4f;color:var(--be-bad);margin:8px 0!important}
.be-alert svg{width:18px;height:18px;vertical-align:middle}
.be-modifiers{display:flex;flex-wrap:wrap;gap:5px 16px;padding:8px 10px;margin-bottom:10px;background:#22222166;border-bottom:1px solid #55534e88}
.be-modifiers>span{font-size:11px;color:var(--be-muted)}
.be-modifiers b{margin-left:6px;font-size:12px}
.be-finance-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,1fr);gap:12px;align-items:start}
.be-card{background:var(--be-bg);border:1px solid var(--be-line);box-shadow:inset 0 1px #c1bcac0d;margin-bottom:12px;min-width:0;overflow:hidden}
.be-card>header{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;padding:7px 12px;background:linear-gradient(#2e2e2d,#252524);border-bottom:1px solid var(--be-line);box-sizing:border-box}
.be-card>header h4{font-size:14px;display:flex;align-items:center;gap:7px;letter-spacing:.04em}
.be-card>header h4 svg{width:18px;height:18px;color:var(--be-gold)}
.be-card>header>span{font-size:10px;color:var(--be-muted);text-align:right}
.be-card>footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-top:1px solid #55534e80;background:var(--be-deep)}
.be-card>footer>div{display:flex;gap:6px;flex:none}
.be-budget-rows{padding:0 12px}
.be-budget-estimate{display:grid;grid-template-columns:1fr auto;gap:4px 10px;padding:10px 12px;background:#252624;border-top:1px solid #55534e80;font-size:11px}
.be-budget-estimate strong{font:600 20px/1.2 var(--font-num,monospace)}
.be-budget-estimate small{grid-column:1/-1;font-size:10px}
.be-success{padding:10px 12px;background:#2c2c2a;border:1px solid #88867e;color:var(--be-good);margin:8px 0!important}
.be-table-scroll{overflow:auto;overscroll-behavior:contain}
.be-budget-row{display:grid;grid-template-columns:minmax(0,1fr) 132px;gap:5px 12px;padding:10px 0;border-bottom:1px solid #55534e55;align-items:center}
.be-budget-row>span{min-width:0;display:grid;gap:3px}
.be-budget-row b{display:flex;align-items:center;gap:5px;font-size:12px}
.be-budget-row b svg{width:16px;height:16px;color:var(--be-gold)}
.be-budget-row>em{font-style:normal;font-size:10px;color:var(--be-muted);grid-column:1/-1}
.be-checkbox{display:flex;align-items:center;gap:9px;padding:12px 0}
.be-checkbox>input{width:19px;height:19px;min-height:19px;flex:none;accent-color:#c2b89a}
.be-checkbox>span{display:grid;gap:3px}.be-checkbox b{font-size:12px}
.be-ledger-columns{display:grid;grid-template-columns:1fr 1fr}
.be-ledger-columns>section{min-width:0;padding:12px}
.be-ledger-columns>section+section{border-left:1px solid #55534e80}
.be-ledger-columns h5{font-size:12px;letter-spacing:.06em;color:var(--be-gold);padding-bottom:7px;border-bottom:1px solid #55534e80}
.be-ledger dl{margin:4px 0 10px;min-height:120px}
.be-ledger dl>div{display:flex;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px dotted #55534e77;font-size:12px}
.be-ledger dt{min-width:0;overflow-wrap:anywhere}.be-ledger dd{margin:0;white-space:nowrap}
.be-ledger-columns section>footer{display:flex;justify-content:space-between;border-top:1px solid var(--be-line);padding-top:9px;font-size:12px}
.be-ledger-net{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--be-line);background:var(--be-deep);padding:12px}
.be-ledger-net strong{font-size:22px;font-family:var(--font-num,monospace)}
.be-history{background:#161715;border:1px solid var(--be-line);padding:0 12px}
.be-history summary{min-height:42px;line-height:42px;color:var(--be-muted);font-size:12px;cursor:pointer}
.be-history summary span{float:right}.be-history ol{margin:0;padding:0 0 12px 16px;font-size:11px;color:var(--be-muted)}
.be-history li{padding:6px 0;line-height:1.5;border-top:1px solid #55534e55;overflow-wrap:anywhere}
.be-debt>p{padding:10px 12px;font-size:11px;color:var(--be-muted)}
.be-debt>label{display:grid;grid-template-columns:1fr auto;gap:6px;padding:0 12px;font-size:12px}
.be-debt>label>span{font-size:10px;color:var(--be-muted)}.be-debt>label>input{grid-column:1/-1}
.be-debt-limits{display:flex;justify-content:space-between;gap:8px;padding:9px 12px;color:var(--be-muted);font-size:11px}
.be-debt-limits b{color:var(--be-ink);margin-left:6px}
.be-market-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:12px;align-items:start}
.be-market-layout>div,.be-market-layout>aside{min-width:0}
.be-market-tools{display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:8px;padding:10px;border-bottom:1px solid #55534e80}
.be-offer{display:grid;grid-template-columns:90px minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:10px;border-bottom:1px solid #55534e80;min-height:90px;box-sizing:border-box}
.be-offer:last-child{border:0}.be-offer[data-available=false]{background:#161715}
.be-equipment-art{display:flex;align-items:center;justify-content:center;min-width:0;color:#bcbab3;background:radial-gradient(ellipse at center,#55534c55,transparent 75%);--rw-line:#161615;--rw-callout:#cac4b4}
.be-equipment-art>svg{display:block;width:100%;height:auto;max-height:76px;filter:drop-shadow(0 2px 2px #0008)}
.be-equipment-art>svg[viewBox="0 0 24 24"]{width:48px;height:48px}
.be-offer-name{min-width:0;display:grid;gap:3px}.be-offer-name>b{font-size:13px;overflow-wrap:anywhere}
.be-offer-name>span{color:var(--be-muted);font-size:10px}
.be-offer-price{text-align:right;min-width:45px}.be-offer-price>strong{font:600 19px/1.1 var(--font-num,monospace);color:var(--be-gold)}.be-offer-price>small{display:block}
.be-offer>button{min-height:44px}
.be-field{display:grid;gap:5px;padding:10px 12px;font-size:12px}.be-field>small{float:right}.be-field select{width:100%}
.be-sell-model{display:flex;align-items:center;gap:10px;margin:0 12px;padding:8px 0;border-top:1px solid #55534e80}.be-sell-model>.be-equipment-art{width:96px;flex:none}.be-sell-model>div{display:grid;gap:4px;min-width:0}
.be-stock-figures{display:grid;grid-template-columns:repeat(3,1fr);margin:0 12px;background:var(--be-deep);border:1px solid #55534e80}
.be-stock-figures>span{padding:8px 6px;text-align:center;font-size:10px;color:var(--be-muted);border-right:1px solid #55534e80}.be-stock-figures>span:last-child{border:0}.be-stock-figures b{display:block;font:600 18px/1.3 var(--font-num,monospace);color:var(--be-ink)}
.be-sell .be-note,.be-price-range{padding:8px 12px;font-size:10px;color:var(--be-muted)}
.be-form-pair{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:2px 12px}
.be-form-pair label{display:grid;gap:5px;font-size:12px}
.be-quote{display:flex;align-items:baseline;gap:8px;background:#282927;border-top:1px solid #55534e88;padding:10px 12px}
.be-quote>span{flex:1;font-size:11px}.be-quote>strong{font:600 22px/1.1 var(--font-num,monospace);color:var(--be-gold)}
.be-owned article{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-bottom:1px solid #55534e80}.be-owned article>div{display:grid;gap:3px}.be-owned article b{font-size:12px}.be-owned article:last-child{border:0}
.be-empty{padding:20px 14px!important;text-align:center;line-height:1.6;color:var(--be-muted);font-size:12px}
.be-buy-panel{border-color:#a89f84}.be-buy-panel>p{padding:10px 12px 0;color:var(--be-muted);font-size:12px}
.be-buy-panel>header>button{min-width:40px;padding:0;font-size:21px;background:none;border:0}
.be-confirm{background:#252523;border:1px solid #a39979;padding:10px 12px;margin:0 0 12px;box-shadow:inset 3px 0 #bfb493}
.be-confirm>header{display:flex;align-items:center;justify-content:space-between;gap:10px}.be-confirm h4{font-size:15px;color:var(--be-gold)}
.be-confirm>header>button{font-size:21px;border:0;background:none;min-width:40px;padding:0}
.be-confirm>ul{padding:0 0 0 18px;margin:5px 0 10px;font-size:12px;line-height:1.65}
.be-confirm>footer{display:flex;align-items:center;gap:8px;border-top:1px solid #72706888;padding-top:10px}.be-confirm>footer>small{margin-right:auto}
.be-footnote{padding:4px 0 8px;font-size:10px;color:var(--be-muted)}
.rs-cash-trade .rs-cash-ledger{display:flex;align-items:center;gap:16px;background:var(--be-deep);border:1px solid var(--be-line);padding:10px 12px;margin-bottom:10px}
.rs-cash-ledger>div{flex:1;display:flex;align-items:baseline;gap:9px}.rs-cash-ledger strong{font:600 24px/1.1 var(--font-num,monospace);color:var(--be-gold)}
.rs-cash-trade .rs-cash-buy{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:8px;padding:10px 12px}
.rs-cash-trade .rs-cash-buy>label{font-size:11px;display:grid;gap:4px}.rs-cash-trade .rs-cash-buy>p{grid-column:1/-1;color:var(--be-muted);font-size:11px}
.rs-cash-trade .rs-cash-offer{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:11px 12px;border-bottom:1px solid #55534e80}
.rs-cash-offer>div{display:grid;gap:3px;min-width:0}.rs-cash-offer>button{grid-column:2;grid-row:1/3;align-self:center}.rs-cash-offer strong{color:var(--be-gold)}
.rs-cash-trade .rs-contracts>li{display:grid;grid-template-columns:auto 1fr auto;gap:8px}
.rs-cash-trade .rs-contracts>li .rs-ic{flex:none}.rs-cash-trade .rs-contracts>li>span{min-width:0}
@container (max-width:850px){.be-finance-layout,.be-market-layout{grid-template-columns:1fr}.be-market-layout>aside{display:grid;grid-template-columns:1fr 1fr;gap:12px}.be-account>.be-kpi{padding:8px}.be-kpi>strong{font-size:22px}}
@container (max-width:560px){.be-account{grid-template-columns:1fr 1fr}.be-account>.be-kpi:nth-child(2){border-right:0}.be-account>.be-kpi:nth-child(-n+2){border-bottom:1px solid #55534e80}.be-heading{align-items:flex-start}.be-heading>p{max-width:43%;font-size:10px}.be-market-layout>aside{display:block}.be-offer{grid-template-columns:66px minmax(0,1fr) auto;gap:7px}.be-offer>button{grid-column:2/-1}.be-offer-price strong{font-size:17px}.be-confirm>footer{flex-wrap:wrap}.be-confirm>footer>small{width:100%}.be-card>footer{flex-wrap:wrap}.be-budget-row{grid-template-columns:minmax(0,1fr) 110px}.be-ledger-columns{grid-template-columns:1fr}.be-ledger-columns>section+section{border-left:0;border-top:1px solid #55534e80}.be-ledger dl{min-height:0}.rs-cash-trade .rs-cash-ledger{flex-wrap:wrap;gap:8px}.rs-cash-ledger>div{flex-basis:100%}}
@media(max-width:800px){.be-finance-layout,.be-market-layout{grid-template-columns:1fr}.be-account{grid-template-columns:1fr 1fr}.be-account>.be-kpi:nth-child(-n+2){border-bottom:1px solid #55534e80}.be-confirm>footer{flex-wrap:wrap}.be-confirm>footer>small{width:100%}}

/* BETA-FINANCE-2. Brass-rimmed bureau, paper ledger and dark budget desk.
   The two bars compare today's authoritative totals; no historical curve is invented.
   Attribute belongs to html. Keep these rules above Iron's ID-weighted controls. */
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) :is(.be-workbench,.rs-cash-trade){--be-bg:#1a1b19;--be-deep:#121211;--be-raised:#282926;--be-line:#605f5c;--be-ink:#d3cebe;--be-muted:#afaeaa;--be-gold:#cdc19c;--be-good:#c0bdb5;--be-bad:#e7a899;font-size:13px}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) :is(.be-workbench,.rs-cash-trade) :is(button,input,select){min-height:44px;font-size:13px;line-height:1.35;letter-spacing:0}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) :is(.be-workbench,.rs-cash-trade) :is(input,select){background:#141513!important;border:1px solid #6c6b66!important;box-shadow:inset 0 2px 3px #00000044!important;color:#d9d3c4}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) :is(.be-workbench,.rs-cash-trade) button{background:linear-gradient(#353633,#242522)!important;border:1px solid #6d6d69!important;box-shadow:inset 0 1px #cac4b41a,0 1px 2px #00000033!important;color:#cfc9ba;touch-action:manipulation}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) :is(.be-workbench,.rs-cash-trade) button:not(:disabled):hover{border-color:#c9bd98!important;color:#e1dccc}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) :is(.be-workbench,.rs-cash-trade) button.be-primary{background:linear-gradient(#b1a582,#82795e)!important;border-color:#cfc39d!important;box-shadow:inset 0 1px #d6d0c180,0 2px 3px #00000044!important;color:#161715;font-weight:800}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) .be-workbench .be-heading{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:78px;padding:12px 16px;margin-bottom:12px;background:linear-gradient(110deg,#292a28,#171816 72%);border:1px solid #6a6963;border-top:2px solid #bbaf8a;border-bottom:1px solid #877f67;box-shadow:inset 0 0 0 3px #0b0b0a33}
.be-office-mark{display:grid;place-items:center;width:44px;height:44px;border:1px solid #998f70;border-radius:50%;color:#c8bc9a;box-shadow:inset 0 0 0 3px #151613,inset 0 0 0 4px #998f7055}
.be-office-mark>svg{width:27px;height:27px}
.be-heading-copy{min-width:0}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) .be-workbench .be-heading h3{font:700 22px/1.35 Georgia,'Noto Serif SC',serif;letter-spacing:.1em;color:#d4cebe;margin:2px 0 0}
.be-workbench .be-heading>p{max-width:240px;font-size:11px;line-height:1.7;border-left:1px solid #79787266;padding-left:16px}
.be-workbench .be-eyebrow{font-size:10px;letter-spacing:.28em;color:#bab195}
.be-workbench .be-account{gap:0;background:linear-gradient(100deg,#212120,#151513);border:1px solid #787059;box-shadow:inset 0 1px #c5bca31a;margin-bottom:10px}
.be-workbench .be-account>.be-kpi{padding:12px 14px;border-right:1px solid #78705966;position:relative;gap:5px}
.be-workbench .be-account>.be-kpi:last-child{border-right:0}
.be-workbench .be-kpi>span{font-size:11px;letter-spacing:.1em}
.be-workbench .be-kpi>strong{font-family:Georgia,'Times New Roman',serif;font-size:30px;letter-spacing:-.02em;font-weight:500}
.be-workbench .be-kpi>small{font-size:10px;line-height:1.5}
.be-workbench .be-kpi[data-account="cash"]{background:linear-gradient(115deg,#cac2a8,#b1a990);color:#282927;border-right-color:#aaa185}
.be-workbench .be-kpi[data-account="cash"]>span,.be-workbench .be-kpi[data-account="cash"]>small{color:#444442}
.be-workbench .be-kpi[data-account="cash"][data-tone="bad"]>strong{color:#8e3427}
.be-workbench .be-kpi[data-account="balance"]{border-top:2px solid #9c9a92;padding-top:10px}
.be-workbench .be-kpi[data-account="balance"][data-tone="bad"]{border-top-color:#b97661}
.be-workbench .be-kpi[data-account="debt"]{border-top:2px solid #918971;padding-top:10px}
.be-workbench .be-kpi[data-account="credit"]{border-top:2px solid #8f8d86;padding-top:10px;color:#c2c1bc}
.be-workbench .be-modifiers{gap:7px 15px;padding:8px 10px;background:#141412;border:1px solid #434342;color:#afaeaa}
.be-modifiers>strong{font-size:10px;letter-spacing:.08em;color:#bfb598;border-right:1px solid #6b69634d;padding-right:12px;align-self:center}
.be-workbench .be-modifiers>span{font-size:11px;white-space:nowrap}
.be-workbench .be-finance-layout{grid-template-columns:minmax(0,1.12fr) minmax(320px,1fr);gap:14px}
.be-workbench .be-card{border:1px solid #61605b;box-shadow:inset 0 1px #d4cebe0d,0 2px 4px #00000033}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) .be-workbench :is(.be-card,.be-confirm)>header{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:10px;min-height:48px;height:auto;padding:8px 12px;margin:0;background:linear-gradient(100deg,#30302f,#222220);border:0;border-bottom:1px solid #66645f;box-shadow:inset 0 1px #c6c0b119}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) .be-workbench :is(.be-card,.be-confirm)>header h4{display:flex;align-items:center;gap:8px;font:700 14px/1.4 Georgia,'Noto Serif SC',serif;color:#c6c0b1;letter-spacing:.06em;margin:0}
.be-workbench .be-card>header>span{font-size:10px;line-height:1.5;color:#b4b3af;flex-shrink:0}
.be-workbench .be-card>header h4 svg{width:19px;height:19px;flex:none}
.be-workbench .be-card>footer{background:#161715;border-color:#69676166;gap:10px;min-height:56px;box-sizing:border-box}
.be-workbench .be-card>footer>small{line-height:1.6}
.be-workbench .be-budget-row{grid-template-columns:minmax(0,1fr) 128px;padding:11px 0;gap:4px 12px;border-color:#66655f4d}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) .be-workbench .be-budget-rows>label.be-budget-row{display:grid;grid-template-columns:minmax(0,1fr) 128px;align-items:center;gap:4px 12px;min-height:0;margin:0;padding:11px 0}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) .be-workbench .be-budget-row>select{grid-column:2;grid-row:1;width:100%;max-width:100%;margin:0}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) .be-workbench .be-budget-row>span{grid-column:1;grid-row:1;min-width:0}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) .be-workbench .be-budget-row>em{grid-column:1/-1;grid-row:2}
.be-workbench .be-budget-row b{font-size:13px;color:#cec9ba}
.be-workbench .be-budget-row small{font-size:10px;color:#a9a8a3}
.be-workbench .be-budget-row>em{font-size:11px;line-height:1.55;color:#cbc2a9}
.be-workbench .be-checkbox{padding:13px 0;min-height:44px;box-sizing:border-box}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) .be-workbench label.be-checkbox{display:flex;align-items:center;gap:10px}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) .be-workbench .be-checkbox>input{min-height:20px;width:20px;height:20px;accent-color:#b8ad8a;box-shadow:none!important}
.be-workbench .be-budget-estimate{padding:12px;background:linear-gradient(110deg,#333331,#252524);border-color:#8b826855;align-items:center}
.be-workbench .be-budget-estimate>span{font-size:12px;color:#c3beaf}
.be-workbench .be-budget-estimate>strong{font-family:Georgia,serif;font-size:25px;font-weight:500}
.be-workbench .be-budget-estimate>small{line-height:1.7;color:#adaba6}
/* The balance sheet is a restrained paper insert, with darker semantic inks. */
.be-workbench .be-ledger{--be-good:#4a4a47;--be-bad:#944b39;--be-gold:#55534c;--be-muted:#595853;--be-ink:#292a28;--be-line:#a39b82;color:#292a28;background:linear-gradient(110deg,#bfbaaa,#c7bea5);border-color:#a19980;box-shadow:inset 0 0 0 3px #d2cdbd33,0 2px 4px #00000033}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) .be-workbench .be-ledger>header{background:linear-gradient(100deg,#b4ab92,#c6bda4);border-bottom:1px solid #8d856d;box-shadow:inset 0 1px #d9d4c466}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) .be-workbench .be-ledger>header h4{color:#343533}
.be-workbench .be-ledger>header>span{color:#4d4d4b}
.be-cashflow{padding:12px 14px 11px;display:grid;gap:8px;border-bottom:1px solid #a39b8280;background:#d4cfbf20}
.be-cashflow>div{display:grid;grid-template-columns:30px minmax(0,1fr) 70px;align-items:center;gap:10px;font-size:11px;color:#575550}
.be-cashflow>div>i{height:7px;background:#55534e24;overflow:hidden}
.be-cashflow i>b{display:block;height:100%;background:#5a5851}
.be-cashflow [data-flow="EXPENSE"] i>b{background:#9e6e54}
.be-cashflow strong{text-align:right;font:600 13px/1.2 var(--font-num,monospace);color:#333332}
.be-workbench .be-ledger-columns>section{padding:14px;border-color:#9d957c66}
.be-workbench .be-ledger-columns h5{font:700 12px/1.5 Georgia,'Noto Serif SC',serif;letter-spacing:.12em;color:#444442;border-color:#8c8a836b;padding-bottom:9px}
.be-workbench .be-ledger dl>div{padding:9px 0;border-color:#8c8a836b;font-size:12px;line-height:1.5}
.be-workbench .be-ledger dd{font-weight:600}
.be-workbench .be-ledger-columns section>footer{border-top:2px solid #89877f6b;padding-top:10px;font-size:12px;line-height:1.5}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) .be-workbench .be-ledger-columns>section>footer{display:flex;align-items:baseline;justify-content:space-between;gap:12px;min-height:0;height:auto;margin:0;padding:10px 0 0;background:transparent;color:#363735;border:0;border-top:2px solid #89877f6b;box-shadow:none}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) .be-workbench .be-ledger-columns>section>footer :is(b,strong){color:#363735;font-size:12px;line-height:1.5}
.be-workbench .be-ledger-net{background:#aeaca555;border-top:1px solid #8c8a83;padding:12px 14px;gap:12px}
.be-ledger-net>div{display:grid;gap:3px;font-size:12px}
.be-ledger-net>div>small{font-size:10px;line-height:1.5;max-width:260px}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) .be-workbench .be-ledger-net small{color:#454543}
.be-workbench .be-ledger-net>strong{font-family:Georgia,serif;font-size:29px;font-weight:500;white-space:nowrap}
.be-workbench .be-history{background:#151513;border-color:#50504e}
.be-workbench .be-history summary{min-height:44px;line-height:44px;color:#bbb9b5;touch-action:manipulation}
.be-workbench .be-history li{border-color:#5a58514d;color:#aeada7;line-height:1.7}
.be-credit-use{display:grid;gap:7px;padding:11px 12px 0;color:#b1b0aa;font-size:11px}
.be-credit-use>span{display:flex;justify-content:space-between;gap:8px}
.be-credit-use b{font-weight:600;color:#c0baab}
.be-credit-use meter{appearance:none;width:100%;height:7px;border:0;background:#0f0f0d}
.be-credit-use meter::-webkit-meter-bar{background:#0f0f0d;border:0;border-radius:0}
.be-credit-use meter::-webkit-meter-optimum-value{background:#9c9276}
.be-credit-use meter::-moz-meter-bar{background:#9c9276}
/* Exchange catalog and export desk have distinct headings but share real stock artwork. */
.be-workbench .be-market-layout{grid-template-columns:minmax(0,1.6fr) minmax(315px,1fr);gap:14px}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) .be-workbench .be-offers>header{background:linear-gradient(110deg,#373735,#242423);border-bottom-color:#74726e}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) .be-workbench .be-sell>header{background:linear-gradient(110deg,#3b3c3a,#282926);border-bottom-color:#877f68}
.be-workbench .be-market-tools{padding:12px;gap:10px;background:#171715;border-color:#6b696466;grid-template-columns:minmax(0,1fr) 116px}
.be-workbench .be-offer{grid-template-columns:92px minmax(0,1fr) auto;gap:9px 12px;padding:13px 12px;min-height:122px;background:linear-gradient(105deg,#292a2866,#1c1c1a);border-color:#6b696366}
.be-workbench .be-offer:nth-child(even){background:linear-gradient(105deg,#2a2b2966,#1a1a18)}
.be-workbench .be-offer>.be-equipment-art{grid-row:1/3;min-height:84px;border:1px solid #7b79724d;box-shadow:inset 0 0 0 3px #10100e33;background:radial-gradient(ellipse at center,#b8af9622,#13131155)}
.be-workbench .be-offer-name{grid-column:2;gap:5px;align-self:end}
.be-workbench .be-offer-name>b{font-size:14px;color:#d0cabb;line-height:1.4}
.be-workbench .be-offer-name>small{font-size:11px;color:#bdbbb6}
.be-workbench .be-offer-name>span{font-size:10px;color:#9f9d97}
.be-workbench .be-offer-price{grid-column:3;grid-row:1;text-align:right;align-self:center;max-width:140px}
.be-workbench .be-offer-price>strong{font-family:Georgia,serif;font-size:25px;font-weight:500;color:#d0c4a1}
.be-workbench .be-offer-price>small{font-size:10px;line-height:1.6;margin-top:3px}
.be-workbench .be-offer>button{grid-column:3;grid-row:2;padding:5px 12px;min-width:86px}
.be-workbench .be-offer[data-available="false"] .be-offer-name>span{color:#d4a38b}
.be-workbench .be-stock-figures{background:#191917;border-color:#716f6788}
.be-workbench .be-stock-figures>span{font-size:10px;padding:10px 5px;border-color:#716f6755}
.be-workbench .be-stock-figures b{font-family:Georgia,serif;font-size:22px;color:#c6c1b2;margin-top:4px}
.be-workbench .be-stock-figures>span:nth-child(2) b{color:#c2bfb7}
.be-workbench .be-sell-model{padding:12px 0;gap:12px;border-color:#706e674d}
.be-workbench .be-sell-model b{font-size:14px;line-height:1.5;color:#c6c0b1}
.be-workbench .be-price-range{line-height:1.7;color:#a9a8a2}
.be-workbench .be-quote{padding:12px;flex-wrap:wrap;gap:4px 8px;background:linear-gradient(110deg,#373836,#2b2c2a);border-color:#9c927277}
.be-workbench .be-quote>strong{font-family:Georgia,serif;font-size:27px;font-weight:500}
.be-workbench .be-empty{display:grid;justify-items:center;gap:8px;min-height:104px;padding:24px 18px!important;background:linear-gradient(120deg,#1a1b19,#232322);color:#aaa9a3;line-height:1.8}
.be-empty-mark{display:grid;place-items:center;width:38px;height:38px;border:1px solid #6d6b64;color:#b2b0a8;font:30px/1 Georgia,serif}
.be-empty>b{font-size:14px;letter-spacing:.08em;color:#c4bfb0}
.be-empty>p{max-width:370px;font-size:11px}
.be-workbench .be-confirm{background:#252624;border:1px solid #b4a987;box-shadow:inset 3px 0 #c9bc96;padding:0 12px 12px}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) .be-workbench .be-confirm>header{padding:8px 0;background:none;border-bottom-color:#93918955;margin-bottom:9px}
.be-workbench .be-confirm>ul{line-height:1.8;color:#cbc5b6}
.be-workbench .be-footnote{padding-top:8px;border-top:1px solid #57554f55;font-size:10px;color:#9a9992}
@container(max-width:900px){
 .be-workbench .be-market-layout{grid-template-columns:1fr}
 .be-workbench .be-market-layout>aside{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start}
 .be-workbench .be-account>.be-kpi{padding:10px}.be-workbench .be-kpi>strong{font-size:27px}
 .be-workbench .be-card>footer{flex-wrap:wrap}
}
@container(max-width:740px){.be-workbench .be-finance-layout{grid-template-columns:1fr}}
@container(max-width:600px){
 .be-workbench .be-market-layout>aside{display:block}
 .be-workbench .be-account{grid-template-columns:1fr 1fr}
 .be-workbench .be-kpi>strong{font-size:26px}
 .be-workbench .be-account>.be-kpi:nth-child(2){border-right:0}
 .be-workbench .be-heading>p{display:none}
 .be-workbench .be-offer{grid-template-columns:76px minmax(0,1fr) auto;padding:10px;gap:8px}
 .be-workbench .be-offer-price{max-width:110px}.be-workbench .be-offer-price>strong{font-size:23px}
 .be-workbench .be-ledger-columns{grid-template-columns:1fr 1fr}.be-workbench .be-ledger-columns>section+section{border-top:0;border-left:1px solid #9d957c66}
 .be-workbench .be-ledger-columns>section{padding:10px}.be-workbench .be-ledger dl>div{font-size:11px;gap:5px}
}
@container(max-width:380px){
 html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) .be-workbench .be-budget-rows>label.be-budget-row{grid-template-columns:minmax(0,1fr)}
 html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) .be-workbench .be-budget-row>select{grid-column:1;grid-row:2}
 html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) .be-workbench .be-budget-row>em{grid-row:3}
}
@media(max-width:900px){.be-workbench .be-finance-layout,.be-workbench .be-market-layout{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.be-workbench *{scroll-behavior:auto}}

/* Bounded macro indicators and actual treasury history; no animated chart loop. */
.be-workbench .be-macro{border:1px solid #6d6b67;background:linear-gradient(100deg,#2a2a29,#1d1d1c);margin-bottom:10px}
.be-macro-title{display:flex;justify-content:space-between;gap:10px;padding:8px 12px;border-bottom:1px solid #78777144}
.be-workbench .be-macro>dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0}
.be-macro>dl>div{min-width:0;padding:11px 13px;border-right:1px solid #78777144;position:relative}
.be-macro>dl>div:last-child{border-right:0}
.be-macro dt{font-size:11px;color:#bab8b3;display:flex;justify-content:space-between;gap:6px}
.be-macro dt>span{font-size:10px;color:#c7bc99}
.be-workbench .be-macro dd{margin:7px 0 6px;font:500 25px/1.1 Georgia,serif;color:#c7c2b2}
.be-macro dd>small{font:11px/1.3 sans-serif;margin-left:5px;color:#b1b0ab}
.be-macro dd[data-tone=bad]{color:#e9a08b}.be-macro dd[data-tone=good]{color:#bebcb3}
.be-macro>dl>div>small{display:block;font-size:10px;line-height:1.5;min-height:15px}
.be-macro meter{display:block;appearance:none;height:3px;width:100%;border:0;background:#111110;margin:8px 0}
.be-macro meter::-webkit-meter-bar{background:#111110;border-radius:0;border:0}
.be-macro meter::-webkit-meter-optimum-value{background:#adaaa2}
.be-macro meter::-moz-meter-bar{background:#adaaa2}
.be-workbench .be-trend{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;padding:13px 14px;margin-bottom:12px;border:1px solid #67665f;background:#1b1b1a}
.be-trend>div{display:grid;align-content:center;gap:5px;min-width:0}
.be-trend b{font-size:12px;color:#c4bfb0}.be-trend>div>span,.be-trend>div>small{font-size:10px;color:#abaaa4}
.be-trend strong{font:500 25px/1.2 Georgia,serif;overflow-wrap:anywhere}
.be-workbench .be-trend figure{min-width:0;margin:0;align-self:center}
.be-trend svg{display:block;width:100%;height:82px;overflow:visible}
.be-trend-grid{stroke:#8c8a8233;stroke-width:1;fill:none}
.be-trend-line{stroke:#c2b795;stroke-width:2;fill:none;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.be-trend figcaption{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:#a7a59e}
.be-workbench .be-trend-empty{display:flex;justify-content:space-between;gap:10px;font-size:12px}

/* Investment dossiers share one real work slot and retain at least 44 px targets. */
.be-workbench .be-investments{margin-bottom:14px}
.be-workbench .be-investments>header>span{font-size:11px}
.be-workbench .be-invest-availability{padding:11px 14px;color:#b1afa9;font-size:11px;border-bottom:1px solid #6f6d6655;background:#1b1b1a}
.be-workbench .be-invest-active{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:13px;align-items:center;padding:14px;background:linear-gradient(100deg,#3d3d3a,#262725);border-bottom:1px solid #a5a39b88}
.be-invest-seal{display:grid;place-items:center;width:44px;height:44px;border:1px solid #aca284;color:#d2c7a6;box-shadow:inset 0 0 0 3px #2f302d}
.be-invest-seal>svg{width:28px;height:28px}
.be-invest-active h5{font:700 16px/1.5 Georgia,'Noto Serif SC',serif;color:#cfc9ba;letter-spacing:.04em}
.be-invest-active>div>small{color:#b7b5ac;font-size:10px;letter-spacing:.12em}
.be-invest-active p{font-size:11px;line-height:1.6;color:#b9b7b0}
.be-invest-progress{display:flex;align-items:center;gap:10px;margin:7px 0}
.be-invest-progress b{font:12px/1.2 var(--font-num,monospace);min-width:43px;color:#c4beaf}
.be-invest-progress progress{display:block;width:100%;height:7px;appearance:none;border:0;background:#171715;flex:1;min-width:0}
.be-invest-progress progress::-webkit-progress-bar{background:#171715}
.be-invest-progress progress::-webkit-progress-value{background:#b0aea6}
.be-invest-progress progress::-moz-progress-bar{background:#b0aea6}
.be-workbench .be-investment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px;background:#161615}
.be-workbench .be-project{display:flex;flex-direction:column;min-width:0;padding:0;border:1px solid #64625a;background:linear-gradient(135deg,#2d2d2c,#20201f);margin:0;box-shadow:inset 0 1px #c6bda119}
.be-workbench .be-project[data-active=true]{border-color:#b2bc78;box-shadow:inset 3px 0 #b1bf77}
.be-project-title{display:flex;align-items:center;gap:10px;padding:13px 12px 8px}
.be-project-title>span{display:grid;place-items:center;width:34px;height:34px;flex:none;border:1px solid #7d7b7355;color:#c4b99a;background:#1c1c1b}
.be-project-title svg{width:23px;height:23px}
.be-project-title>div{min-width:0}.be-project-title h5{margin:0;font:700 14px/1.5 Georgia,'Noto Serif SC',serif;color:#cac4b4;overflow-wrap:anywhere}
.be-project-title small{font-size:10px;color:#adaba3}
.be-workbench .be-project>p{padding:0 12px 11px;font-size:11px;line-height:1.7;color:#b1afa9;margin:0}
.be-project-effects{margin:0 12px 12px;padding:8px 9px;background:#15151477;border-left:2px solid #95938b;color:#c2bcad;font-size:11px;line-height:1.7;flex:1;overflow-wrap:anywhere}
.be-workbench .be-project>dl{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;margin:0;padding:10px 12px;border-top:1px solid #6b696155}
.be-project dt{font-size:10px;color:#a5a39c}.be-workbench .be-project dd{margin:4px 0 0;font:500 22px/1.2 Georgia,serif;color:#c0baab;overflow-wrap:anywhere}
.be-project dd small{margin-left:4px;font-size:10px;color:#aaa8a2;white-space:nowrap}
.be-project-action{display:flex;gap:9px;align-items:center;justify-content:space-between;padding:8px 10px;border-top:1px solid #6b696155;background:#171816}
.be-project-action>small{font-size:10px;line-height:1.5;min-width:0;max-width:54%}
.be-workbench .be-project-action>button{min-height:44px;flex:none;padding:6px 10px}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) .be-workbench .be-confirm>footer{position:static;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;min-height:44px;height:auto;max-height:none;margin:10px 0 0;padding:10px 0 0;background:transparent;border:0;border-top:1px solid #93918955;box-shadow:none;overflow:visible}
.be-workbench .be-confirm>footer>small{line-height:1.6}
@container(max-width:600px){html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) .be-workbench .be-confirm>footer{grid-template-columns:1fr 1fr}.be-workbench .be-confirm>footer>small{grid-column:1/-1}}
@container(max-width:980px){.be-workbench .be-investment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container(max-width:600px){
 .be-workbench .be-macro>dl{grid-template-columns:repeat(2,minmax(0,1fr))}.be-macro>dl>div:nth-child(2){border-right:0}.be-macro>dl>div:nth-child(n+3){border-top:1px solid #78777144}
 .be-workbench .be-investment-grid{grid-template-columns:1fr;gap:9px;padding:9px}
 .be-workbench .be-invest-active{grid-template-columns:38px minmax(0,1fr);padding:12px;gap:10px}.be-invest-seal{width:34px;height:34px}.be-invest-seal>svg{width:22px;height:22px}
 .be-invest-active>button{grid-column:2;justify-self:start;min-height:44px}
 .be-workbench .be-trend{grid-template-columns:90px minmax(0,1fr);padding:11px;gap:9px}.be-trend strong{font-size:22px}
}
/* National accounts remain bounded; details expand without rebuilding the map. */
.be-national-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#4c4c4b;margin:16px 0}
.be-national-grid .be-kpi{background:#181817;padding:16px 14px;min-width:0}
.be-national-grid .be-kpi>span,.be-national-grid .be-kpi>strong,.be-national-grid .be-kpi>small{display:block}
.be-national-grid .be-kpi>span{color:#b4b3ac;font-size:11px;line-height:1.6;margin-bottom:6px}
.be-national-grid .be-kpi>small{color:#9d9c96;font-size:10px;line-height:1.6;margin-top:6px}
.be-national-grid .be-kpi strong{font-size:clamp(19px,2.2vw,29px);overflow-wrap:anywhere}
.be-national>p,.be-reserves>p{color:#c1b99f;line-height:1.6;margin:12px 14px}
.be-national-credit{display:flex;flex-wrap:wrap;gap:10px 24px;border-bottom:1px solid #40403f;padding:0 14px 16px;font-size:12px;color:#b7af96}
.be-national-credit b{color:#cec9ba;font-variant-numeric:tabular-nums;margin-left:5px}
.be-provinces{margin-top:12px}.be-provinces>summary{min-height:44px;display:flex;align-items:center;cursor:pointer;color:#cfc6a9}
.be-provinces>summary:before{content:'›';margin-right:10px}.be-provinces[open]>summary:before{content:'⌄'}
.be-provinces>p,.be-reserves>small{font-size:12px;color:#aea68d;line-height:1.6}
.be-table-scroll{overflow-x:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.be-table-scroll table{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}
.be-table-scroll th,.be-table-scroll td{padding:12px 10px;border-bottom:1px solid #343433;text-align:right;white-space:nowrap}
.be-table-scroll th:first-child{text-align:left}.be-table-scroll thead{color:#bab298;background:#151514}
.be-table-scroll tbody th{font-weight:500;color:#cdc7b8}.be-table-scroll th small{display:block;color:#b3a98b;font-size:11px}
.be-table-scroll tbody tr:nth-child(even){background:#ede8d903}
.be-reserves>header button{min-height:44px}.be-reserves>small{display:block;margin-top:12px}
.be-budget-row em{overflow-wrap:anywhere}
@media(max-width:1000px){.be-national-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.be-national-credit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
@media(max-width:560px){.be-national-grid .be-kpi{padding:12px 10px}.be-national-credit{grid-template-columns:1fr}.be-table-scroll th,.be-table-scroll td{padding:10px 7px;font-size:12px}}

/* ── zz-campaign-ux.css ── */
/* The command room shares Iron's surfaces and restrained khaki markings. */
.atlas-dialog.solo-dialog{width:min(1060px,calc(100vw - 48px));max-width:none;max-height:calc(100dvh - 40px);padding:0;background:var(--ink-1,#121212);color:var(--paper,#d1ccbc);border:1px solid var(--line-hi,#595955);box-shadow:0 24px 80px #000000bb;}
.atlas-dialog.solo-dialog>header{padding:14px 22px;border-bottom:1px solid var(--line-hi);display:flex;align-items:center;justify-content:space-between;}
.atlas-dialog.solo-dialog>header h2{font-size:19px;margin:0;letter-spacing:.12em;}
.atlas-dialog.solo-dialog>header button{width:44px;height:44px;min-width:44px;font-size:24px;}
.solo-command-room{padding:24px;max-height:calc(100dvh - 160px);overflow:auto;}
.solo-heading>span,.solo-briefing section>span{font:11px var(--font-ui);letter-spacing:.17em;color:var(--paper-2);}
.solo-heading h3{font:30px var(--font-title);margin:8px 0;}.solo-heading p{margin:0 0 22px;color:var(--paper-2);font-size:14px;}
.solo-nations{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
.solo-nations .solo-nation{display:flex;flex-direction:column;align-items:flex-start;gap:15px;text-align:left;padding:18px;min-height:210px;border:1px solid var(--line-hi);background:linear-gradient(145deg,var(--ink-3),var(--ink-0));color:var(--paper);border-radius:0;}
.solo-nations .solo-nation[aria-pressed=true]{border-color:var(--brass-hi);box-shadow:inset 0 -3px var(--brass-hi);background:linear-gradient(145deg,#3b3b39,#151514);}
.solo-nation .atlas-emblem{width:68px;height:68px;}.solo-nation b{font:23px var(--font-title);display:block;}.solo-nation small{display:block;font-size:11px;color:var(--paper-2);margin-top:5px;}.solo-nation i{font:12px var(--font-ui);color:var(--brass-hi);}
.solo-briefing{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:24px 0;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.solo-briefing h4{font-size:15px;margin:9px 0;}.solo-briefing p{font-size:12px;line-height:1.8;color:var(--paper-2);margin:0;}
.solo-launch{display:flex;gap:20px;align-items:center;justify-content:space-between;}.solo-launch strong,.solo-launch small{display:block;}.solo-launch small{font-size:12px;color:var(--paper-2);max-width:440px;line-height:1.7;margin-top:5px;}.solo-launch button{min-height:44px;white-space:nowrap;}.solo-launch .solo-start{background:#713d32;color:#e2dccc;border:1px solid #b07d65;}.solo-status{font-size:13px;min-height:1em;}
.officer-window.officer-quick{width:min(480px,calc(100vw - 32px));max-height:80dvh;}.officer-quick>section{display:flex;align-items:center;gap:18px;padding:20px;}.officer-quick>section .officer-face{width:90px;height:110px;}.officer-quick footer{display:flex;flex-wrap:wrap;padding:16px;gap:10px;}.officer-quick footer p{flex:1 0 100%;font-size:12px;color:var(--paper-2);}.officer-quick footer button{min-height:44px;}.officer-quick footer svg{width:20px;height:20px;}
.quick-refit{width:min(640px,calc(100vw - 32px));max-height:82dvh;overflow:auto;}.quick-refit header{display:flex;justify-content:space-between;align-items:center;}.quick-refit h2{font-size:20px;margin:5px 0;}.quick-refit header small{font-size:10px;letter-spacing:.15em;}.quick-refit p,.quick-refit footer{font-size:12px;line-height:1.7;color:var(--paper-2);}.refit-templates{display:grid;gap:8px;margin:14px 0;}.refit-templates>button{display:flex;align-items:center;text-align:left;gap:14px;padding:12px;width:100%;min-height:76px;}.refit-templates svg{width:32px;height:32px;flex:none;}.refit-templates b,.refit-templates small{display:block;}.refit-templates small{font-size:12px;color:var(--paper-2);}.refit-stats{margin-left:auto;text-align:right;}.quick-refit nav{display:flex;flex-wrap:wrap;gap:6px;}.quick-refit nav button{min-height:40px;}
.factory-site-picker{max-height:260px;overflow:auto;}.factory-site-picker>div{display:grid;grid-template-columns:minmax(0,1fr) 64px 76px;gap:6px;align-items:center;}.factory-site-picker>div>button:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
html.touch-shell body .hoi-ui .quick-refit{bottom:auto;width:min(480px,calc(100vw - 32px));max-height:calc(100dvh - 110px);padding:14px;overflow:auto;}
html body.playable-integrated #officer-window.officer-quick{inset:min(16vh,140px) auto auto 50%;transform:translateX(-50%);margin:0;height:fit-content;min-height:0;max-height:76dvh;overflow:auto;width:min(480px,calc(100vw - 32px));}
html body.playable-integrated #officer-window.officer-quick header h2{flex:1;}
html body.playable-integrated #officer-window.officer-quick footer{position:static;display:flex;flex-wrap:wrap;}
html body.playable-integrated #officer-window.officer-quick footer p{flex-basis:100%;margin:0;}
.atlas-dialog.solo-dialog{--ink-0:#0d0d0d;--ink-1:#151514;--ink-3:#232422;--paper:#d3cebf;--paper-2:#beb69c;--line:#424241;--line-hi:#686762;--brass-hi:#c4bca3;}
.atlas-dialog.solo-dialog>header{background:#1c1c1b;}.atlas-dialog.solo-dialog .solo-launch{position:static;background:none;padding:0;margin:0;}.atlas-dialog.solo-dialog #atlas-new-confirm{background:#6e4035;color:#e2dccc;border-color:#a06a59;}
html body.playable-integrated #atlas-dialog.solo-dialog{background:linear-gradient(145deg,#1a1b19,#0e0e0d);border-radius:0;}
html body.playable-integrated #atlas-dialog.solo-dialog>header{background:#1c1c1b;}
html body.playable-integrated #atlas-dialog.solo-dialog button{background:linear-gradient(145deg,#272826,#151514);border-radius:0;}
html body.playable-integrated #atlas-dialog.solo-dialog .solo-nation[aria-pressed=true]{background:linear-gradient(145deg,#3b3b39,#151514);}
html body.playable-integrated #atlas-dialog.solo-dialog #atlas-new-confirm{background:#6e4035;color:#e2dccc;}
.duel-intelligence{display:grid;gap:6px;margin:8px 0;}.duel-intelligence label{display:grid;grid-template-columns:1fr auto;gap:4px;font-size:12px;}.duel-intelligence .interval-bar{grid-column:1/-1;height:6px;position:relative;background:#080807;}.interval-bar i{position:absolute;left:0;height:100%;background:var(--bar-org);}.interval-bar i.uncertain{opacity:.35;}
@media(max-width:760px){.solo-command-room{padding:16px;}.solo-nations{grid-template-columns:repeat(2,minmax(0,1fr));}.solo-nations .solo-nation{min-height:145px;gap:8px;padding:12px;}.solo-nation .atlas-emblem{width:44px;height:44px;}.solo-briefing{gap:12px;}.solo-launch{align-items:flex-start;flex-direction:column;}.solo-launch .atlas-dialog-actions{width:100%;justify-content:flex-end;}.solo-heading h3{font-size:24px;}}
@media(max-width:520px){.solo-briefing{grid-template-columns:1fr;gap:14px;}.refit-stats{font-size:11px;}.solo-dialog .solo-command-room{max-height:calc(100dvh - 120px);}}

/* ── zz-command-register.css ── */
/* Compact Iron command register: portrait rows, comparative columns, one dossier. */
#officer-window.officer-register{width:min(980px,94vw);max-width:94vw;height:min(680px,88dvh);max-height:88dvh;padding:0;overflow:hidden;display:none}
#officer-window.officer-register[open]{display:flex;flex-direction:column}
#officer-window.officer-register>header{flex:none;display:flex;align-items:center;gap:16px;padding:10px 14px;min-height:60px}
#officer-window.officer-register h2{font-size:19px;margin:3px 0}
#officer-window.officer-register>header>span{font-size:12px;margin-left:auto;color:var(--ink-muted,#c1b89f)}
#officer-window .officer-register-body{display:grid;grid-template-columns:minmax(0,1fr) 248px;min-height:0;flex:1}
#officer-window .officer-register-table{min-width:0;min-height:0;display:flex;flex-direction:column;border-right:1px solid #454544}
#officer-window .officer-register-head,#officer-window.officer-register .officer-list>button{display:grid;grid-template-columns:minmax(170px,1fr) repeat(4,32px) 94px;gap:6px;align-items:center;padding:6px 12px;text-align:left}
#officer-window .officer-register-head{min-height:30px;font-size:12px;color:#bab298;border-bottom:1px solid #454544}
#officer-window.officer-register .officer-list{display:block;width:auto;padding:0;overflow-y:auto;min-height:0;flex:1}
#officer-window.officer-register .officer-list>button{width:100%;min-height:53px;border-width:0 0 1px;background:transparent;margin:0;border-radius:0}
#officer-window.officer-register .officer-list>button[aria-pressed=true]{background:#343432;box-shadow:inset 3px 0 #c0baab}
#officer-window .register-name{display:flex;gap:10px;align-items:center;min-width:0}
#officer-window .register-name>span{min-width:0}
#officer-window .register-name b{font-size:13px;display:block;white-space:normal;letter-spacing:0}
#officer-window .register-name small{font-size:11px;display:block;color:#bab298}
#officer-window .register-name .officer-face{width:34px;height:42px;min-width:34px;margin:0}
#officer-window .officer-register-detail{padding:12px;overflow-y:auto;min-height:0}
#officer-window .officer-register-detail .officer-dossier{display:block;border:0;padding:0;min-height:0}
#officer-window .officer-register-detail .officer-face{width:80px;height:100px;margin:8px auto;display:block}
#officer-window .officer-register-detail h4{font-size:17px;margin:8px 0}
#officer-window .officer-register-detail .officer-stats{display:grid;grid-template-columns:1fr 1fr;gap:6px}
#officer-window.officer-register>footer{padding:10px 14px;display:flex;align-items:center;gap:8px;flex:none;border-top:1px solid #454544}
#officer-window.officer-register>footer [role=status]{flex:1;font-size:12px}
.officer-monogram{background-image:none!important;font-size:24px;color:#c0baab;display:grid;place-items:center}
@media(max-width:800px){#officer-window .officer-register-body{grid-template-columns:minmax(0,1fr) 190px}#officer-window .officer-register-head,#officer-window.officer-register .officer-list>button{grid-template-columns:minmax(110px,1fr) repeat(4,24px) 65px;gap:3px;padding:5px 7px}#officer-window.officer-register>header>span{max-width:150px}}
@media(max-width:580px){#officer-window .officer-register-body{display:flex;flex-direction:column}#officer-window .officer-register-table{flex:1}#officer-window .officer-register-detail{max-height:160px}#officer-window .officer-register-detail .officer-face{float:left;width:60px;height:75px;margin-right:12px}}

.duel-combat-stats{padding:7px 0;border-top:1px solid #4c4d4b;margin-top:6px}
.duel-combat-stats dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:6px 0;gap:4px}
.duel-combat-stats dl>div{background:#1e1e1c;padding:5px;border:1px solid #3b3b3a}
.duel-combat-stats dt{font-size:11px;color:#cac1a8}.duel-combat-stats dd{font:600 15px ui-monospace,monospace;margin:4px 0 0;color:#d1ccbc}
.duel-combat-stats .combat-primary{border-color:#c9c0a7}.duel-combat-stats>small{font-size:10px;line-height:1.4;display:block}

#battle-detail .battle-summary-strip{display:flex;align-items:center;justify-content:space-between;padding:10px 5px;border-bottom:1px solid #4c4d4b;font-size:14px}
#battle-detail .duel-unit>header{display:flex;justify-content:space-between;align-items:center;min-height:36px;gap:8px;font-size:13px}
#battle-detail .duel-unit>header>button{min-height:32px;padding:4px 6px}
#battle-detail .unit-status-row{grid-template-columns:44px minmax(25px,1fr) auto;font-size:12px;gap:5px;white-space:nowrap}
#battle-detail .duel-unit .unit-status-row>span:last-child{font-size:12px}
#battle-detail .duel-combat-stats dt{font-size:12px}
#battle-detail .ui-duel{max-height:none}

/* Commander HQ: stable tablet columns, a readable dossier and a separate school pool. */
#officer-window.officer-hq{width:min(1120px,96vw);max-width:96vw;height:min(790px,92dvh);max-height:92dvh;background:#151614}
#officer-window.officer-hq>header{min-height:70px;gap:12px}
#officer-window.officer-hq>header>span.officer-currency{display:flex;align-items:center;gap:8px;white-space:nowrap;color:#beb9a9;margin-left:auto;font-size:12px}
#officer-window .officer-currency .hoi-icon{width:23px;height:23px;color:#cabd93}
#officer-window .officer-currency b{font:600 23px/1 ui-monospace,monospace}
#officer-window .officer-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:8px 12px;border-bottom:1px solid #55534d;background:#121210;flex:none}
#officer-window .officer-toolbar nav{display:flex;gap:5px}
#officer-window .officer-toolbar button{min-height:44px;min-width:86px;padding:6px 14px;border-color:#5b5954;background:#1f201d;color:#d0c7ad}
#officer-window .officer-toolbar button[aria-pressed=true]{border-color:#baad87;box-shadow:inset 0 -3px #baad87;color:#d6d1c1;background:#323230}
#officer-window .officer-toolbar button b{margin-left:6px;color:#beb69c}
#officer-window .officer-toolbar label{display:flex;align-items:center;gap:8px;font-size:12px}
#officer-window .officer-toolbar select{min-width:100px;min-height:44px;padding:4px 8px}
#officer-window.officer-hq .officer-register-body{grid-template-columns:minmax(0,1fr) 330px;min-height:0;overflow:hidden}
#officer-window.officer-hq .officer-register-head,#officer-window.officer-hq .officer-list>button{grid-template-columns:minmax(175px,1fr) repeat(4,30px) 82px;gap:6px}
#officer-window.officer-hq .officer-list>button{min-height:85px;padding:10px 12px;touch-action:pan-y}
#officer-window.officer-hq .register-name{gap:12px}
#officer-window.officer-hq .register-name .officer-face{width:47px;min-width:47px;height:60px}
#officer-window.officer-hq .register-name b{font-size:14px;line-height:1.5}
#officer-window.officer-hq .register-name small{font-size:11px;line-height:1.6;max-width:220px;white-space:normal}
#officer-window.officer-hq .officer-register-detail{padding:18px 15px;background:linear-gradient(110deg,#181916,#10100f);overscroll-behavior:contain;touch-action:pan-y}
#officer-window.officer-hq .officer-dossier{text-align:left;background:none!important}
#officer-window.officer-hq .officer-dossier h3{margin:0 0 14px;color:#afa585;font-size:12px;letter-spacing:.2em}
#officer-window .officer-identity{display:flex;align-items:center;gap:20px;margin-bottom:14px}
#officer-window .officer-identity .officer-face{width:88px;height:108px;margin:0;flex:none}
#officer-window .officer-identity h4{margin:0 0 8px;font-size:18px;line-height:1.5}
#officer-window .officer-service{display:block;font-size:11px;color:#b6ae95;margin-top:8px}
#officer-window .officer-biography{font-size:12px;line-height:1.75;color:#b9b8b3;margin:12px 0}
#officer-window .officer-traits{display:flex;gap:6px;flex-wrap:wrap}
#officer-window .officer-traits.expanded{display:grid;grid-template-columns:1fr;gap:8px;margin-bottom:16px}
#officer-window .officer-trait-badge{display:flex;align-items:center;gap:9px;border:1px solid #6a634c;padding:7px 10px;background:linear-gradient(120deg,#2b2b2a,#1f1f1e);color:#bdb8a8}
#officer-window .officer-trait-badge>.hoi-icon{width:25px;height:25px;flex:none;color:#c1b591}
#officer-window .officer-trait-badge b{font-size:12px;display:block;line-height:1.6}
#officer-window .officer-trait-badge small{font-size:11px;display:block;line-height:1.65;color:#b3b2ab}
#officer-window .officer-effect-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 0;border-top:1px solid #454543;font-size:11px;color:#b9b7b0}
#officer-window .officer-effect-summary span:nth-child(3),#officer-window .officer-effect-summary small{grid-column:1/-1}
#officer-window .officer-effect-summary b{float:right;color:#cac4b5;font-size:12px}
#officer-window .officer-effect-summary small{line-height:1.6;color:#a4a39e}
#officer-window .officer-current{font-size:12px;padding:9px;border:1px solid #4d4e4b;color:#c7bea5}
#officer-window .officer-empty{padding:28px;text-align:center;color:#a6a59f}
#officer-window.officer-hq>footer{min-height:72px;max-height:140px}
#officer-window.officer-hq>footer button{min-height:46px;min-width:110px;touch-action:manipulation}
@media(max-width:900px){#officer-window.officer-hq .officer-register-body{grid-template-columns:minmax(0,1fr) 280px}#officer-window.officer-hq .officer-register-head,#officer-window.officer-hq .officer-list>button{grid-template-columns:minmax(130px,1fr) repeat(4,23px) 62px;gap:3px;padding:8px}#officer-window.officer-hq .register-name{gap:8px}#officer-window.officer-hq .register-name b{font-size:13px}#officer-window.officer-hq .register-name .officer-face{width:36px;min-width:36px;height:47px}#officer-window.officer-hq .officer-register-detail{padding:12px}#officer-window .officer-identity{gap:12px}#officer-window .officer-identity .officer-face{width:67px;height:86px}#officer-window .officer-identity h4{font-size:16px}}
@media(max-width:620px){#officer-window.officer-hq{height:95dvh;max-height:95dvh}#officer-window.officer-hq>header{min-height:58px;padding:8px}#officer-window.officer-hq h2{font-size:16px}#officer-window .officer-currency{font-size:0!important}#officer-window .officer-currency b{font-size:18px}#officer-window .officer-toolbar{gap:5px;padding:6px}#officer-window .officer-toolbar button{min-width:66px;padding:4px 7px}#officer-window .officer-toolbar label{font-size:0}#officer-window .officer-toolbar select{min-width:75px;font-size:12px}#officer-window.officer-hq .officer-register-body{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(150px,1fr) minmax(150px,1fr)}#officer-window.officer-hq .officer-register-detail{max-height:none;border-top:1px solid #56554e}#officer-window.officer-hq .officer-register-table{min-height:0}#officer-window.officer-hq .officer-list{max-height:none}#officer-window.officer-hq .officer-list>button{min-height:65px}#officer-window.officer-hq .officer-identity .officer-face{float:none}#officer-window.officer-hq .officer-dossier .officer-stats{grid-template-columns:repeat(4,1fr)}#officer-window.officer-hq>footer{min-height:70px;gap:5px;padding:7px}#officer-window.officer-hq>footer [role=status]{min-width:120px}}

html body.playable-integrated #officer-window.officer-hq .officer-toolbar select{background:#222221!important;color:#cbc5b5!important;border:1px solid #766e57!important;color-scheme:dark}
#officer-window.officer-hq .register-name>span:not(.officer-face){min-width:0;overflow:hidden}
#officer-window.officer-hq .register-name small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}

/* ── zz-construction-province.css ── */
/* CONSTRUCTION-002 window (src/playable/constructionProvince.ts): provinces on the left, the national queue on the
   right. Tablet first: every control is at least 44 px, figures are large and tabular, no hover-only information.
   Iron style: steel plates, bone type, khaki markings, red only for commitment (the build button, the rank tab). */
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2{display:flex;flex-direction:column;gap:10px;min-height:0}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-account{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;background:#000000;border:1px solid #000000}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-account span{display:flex;flex-direction:column;gap:2px;padding:6px 10px;background:var(--ink-2,#161615)}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-account small{font-size:11px;letter-spacing:.12em;color:var(--brass,#cac2a8)}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-account b{font-size:20px;font-variant-numeric:tabular-nums;color:var(--paper,#c1bcac);white-space:nowrap}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-body{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(0,1.15fr);gap:12px;min-height:0}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 :is(.c2-provinces,.c2-queue){display:flex;flex-direction:column;gap:6px;min-width:0}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 :is(.c2-provinces,.c2-queue)>header{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:4px 2px;border-bottom:1px solid var(--line-hi,#ede8d921)}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 :is(.c2-provinces,.c2-queue)>header b{font-size:15px;letter-spacing:.2em}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 :is(.c2-provinces,.c2-queue)>header small{font-size:12px;color:var(--paper-2,#9e967e);text-align:right}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-plist{display:flex;flex-direction:column;gap:4px;max-height:340px;overflow-y:auto;overscroll-behavior:contain;padding-right:2px}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-province{display:grid!important;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name meta" "slots slots";gap:4px 8px;align-items:center;min-height:56px;padding:6px 10px!important;text-align:left;background:var(--ink-1,#0f0f0f)!important;border:1px solid #000000!important;border-left:4px solid var(--brass-lo,#4b4c4a)!important;color:var(--paper,#c1bcac)}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-province.picked{border-left-color:var(--ir-red-hi,#b4402f)!important;background:var(--ink-3,#1c1d1c)!important}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-province.blocked{opacity:.72}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-pname{grid-area:name;display:flex;flex-direction:column;min-width:0}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-pname b{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-pname small,html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-pmeta small{font-size:11px;color:var(--paper-2,#9e967e)}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-pmeta{grid-area:meta;display:flex;flex-direction:column;align-items:flex-end;gap:1px}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-pmeta em{font-style:normal;font-size:14px;font-variant-numeric:tabular-nums;color:var(--brass-hi,#c8c3b3)}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-why{color:var(--warn,#c3b58c)!important}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-slots{grid-area:slots;display:flex;gap:2px;flex-wrap:wrap}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-slots i{width:12px;height:8px;background:#ede8d910;border:1px solid #000000}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-slots i.civ{background:#b1a98f}.hoi-construction.c2 .c2-slots i.mil{background:#8c2c20}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-slots i.queued{background:repeating-linear-gradient(135deg,#b1a98f 0 2px,transparent 2px 4px)}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-detail{display:flex;flex-direction:column;gap:6px;padding:8px 10px;background:var(--ink-3,#1c1d1c);border:1px solid #000000;box-shadow:inset 3px 0 0 var(--ir-red,#8c2c20)}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-detail header{display:flex;justify-content:space-between;align-items:center;gap:8px}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-detail header b{font-size:18px;letter-spacing:.08em}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-detail header button{min-height:40px;padding:0 12px}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-detail dl{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:4px 12px;margin:0}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-detail dl div{display:flex;flex-direction:column}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-detail dt{font-size:11px;letter-spacing:.12em;color:var(--brass,#cac2a8)}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-detail dd{margin:0;font-size:13px;font-variant-numeric:tabular-nums}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-detail>small{font-size:11px;color:var(--paper-2,#9e967e);line-height:1.4}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-builds{display:grid;grid-template-columns:1fr 1fr;gap:6px}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-build{display:grid!important;grid-template-columns:28px minmax(0,1fr) 28px;align-items:center;gap:6px;min-height:56px;padding:4px 10px!important;text-align:left;background:linear-gradient(180deg,#5a1d15,#3d110b)!important;border:1px solid #000000!important;color:var(--paper,#c1bcac)}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-build:disabled{background:var(--ink-1,#0f0f0f)!important;opacity:.55}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-build span{display:flex;flex-direction:column;min-width:0}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-build b{font-size:14px}.hoi-construction.c2 .c2-build small{font-size:11px;color:#cbc5b6cc}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-build strong{font-size:22px;text-align:center}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-queue{max-height:520px;overflow-y:auto;overscroll-behavior:contain}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-row{position:relative;display:grid;grid-template-columns:26px 40px minmax(0,1fr) 48px;align-items:center;gap:8px;flex:0 0 auto;height:auto!important;min-height:128px;max-height:none!important;padding:8px;background:var(--ink-1,#0f0f0f);border:1px solid #000000}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-row.paused{opacity:.75;background:repeating-linear-gradient(135deg,#0f0f0f 0 10px,#141413 10px 20px)}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-rank{align-self:stretch;display:grid;place-items:center;background:var(--ir-red,#8c2c20);font-size:15px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--paper,#c1bcac)}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-row.paused .c2-rank{background:var(--brass-lo,#4b4c4a)}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-locate{width:44px;height:44px;padding:0!important}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-main{display:flex;flex-direction:column;gap:2px;min-width:0}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-main>b{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-main>small{font-size:12px;color:var(--paper-2,#9e967e)}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-main .c2-state{color:var(--paper,#c1bcac)}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-progress{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-progress progress{width:100%;height:8px;accent-color:var(--brass,#cac2a8)}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-progress span{font-size:11px;font-variant-numeric:tabular-nums;color:var(--paper-2,#9e967e)}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-mods{display:flex;gap:4px;flex-wrap:wrap}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-mods small{font-size:11px;padding:0 5px;border:1px solid var(--brass-lo,#4b4c4a);color:var(--brass,#cac2a8)}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-alloc{display:flex;flex-direction:column;align-items:center;gap:3px}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-alloc b{font-size:20px;font-variant-numeric:tabular-nums}.hoi-construction.c2 .c2-alloc b small{font-size:11px;color:var(--paper-2,#9e967e)}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-fbar{width:56px;height:6px;background:#00000080;border:1px solid #000000}.hoi-construction.c2 .c2-fbar i{display:block;height:100%;background:#b1a98f}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-actions{display:grid;grid-template-columns:repeat(2,44px);gap:4px}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-actions button{width:44px;height:32px;min-height:32px!important;padding:0!important;font-size:15px}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-confirm{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;margin-left:30px;background:#3d110bcc;border:1px solid #000000}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-confirm span{flex:1 1 220px;font-size:13px}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-confirm button{min-height:44px;padding:0 14px}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-tools{display:flex!important;flex-wrap:wrap;gap:4px;margin-top:6px;padding-top:6px;border-top:1px solid var(--line-hi,#ede8d921)}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-tools button{min-height:44px!important;flex:1 1 104px}
@media (max-width:900px){
 html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-body{grid-template-columns:1fr}
 html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-account{grid-template-columns:repeat(3,minmax(0,1fr))}
 html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-plist{max-height:260px}
}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-province{height:auto!important;max-height:none!important;overflow:visible}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-tools{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));grid-auto-rows:44px;height:auto!important;min-height:0!important;overflow:visible}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-tools button{height:44px!important;min-height:44px!important;max-height:44px;grid-row:auto!important;grid-column:auto!important}

/* Rows keep their intrinsic height while the queue scrolls; WebKit must never
   shrink the row tracks below their multiline content. */
html body.playable-integrated .command-ui.hoi-ui .hoi-construction.c2 .c2-queue>header{flex-shrink:0}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-main{height:auto;min-height:0;overflow-wrap:anywhere}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-main>small{white-space:normal;line-height:1.45}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-actions{grid-column:2/-1;display:flex;justify-content:flex-end;gap:6px}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2 .c2-actions button{width:44px;height:44px!important;min-height:44px!important;flex:0 0 44px}
html body.playable-integrated .command-ui.hoi-ui .rail-map-bar{flex-wrap:wrap;gap:10px}
html body.playable-integrated .command-ui.hoi-ui .rail-map-bar>div{display:flex;flex:1 1 240px;flex-direction:column;gap:5px;min-width:0}
html body.playable-integrated .command-ui.hoi-ui .rail-map-bar select{min-height:44px}

html body.playable-integrated .command-ui.hoi-ui .rail-map-bar{top:auto!important;bottom:calc(84px + env(safe-area-inset-bottom,0px));width:calc(100vw - 32px);max-width:960px}
html body.playable-integrated .command-ui.hoi-ui .rail-map-bar select{background:#1e1e1d;color:#d0cbbb;border:1px solid #807861;padding:6px 12px}
/* Site selection has its own retained map bar, independent of window scroll,
   nested province markup and switches to production or other panels. */
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-placing="1"]{display:none!important}
html body.playable-integrated .command-ui.hoi-ui .construction-map-bar{box-sizing:border-box;z-index:70;max-height:calc(100dvh - var(--atlas-top-h,108px) - 112px);overflow:auto}
html body.playable-integrated .command-ui.hoi-ui .construction-map-bar>span{flex:1 1 180px}
html body.playable-integrated .command-ui.hoi-ui .construction-map-bar>button{flex-shrink:0;min-height:44px}

/* ── zz-deployment-designer.css ── */
/* BETA COMMAND UI · original staff-board treatment; no external art or fonts.
   Keep this after deployment, bice-designer, iron and strategy-management. */
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar:is([data-mode="recruitment"],[data-mode="division"]){position:fixed!important;left:50%!important;right:auto!important;transform:translateX(-50%);top:calc(var(--atlas-top-h,88px) + 8px + var(--tc-safe-t,0px))!important;bottom:auto!important;width:min(1180px,calc(100vw - 24px - var(--tc-safe-l,0px) - var(--tc-safe-r,0px)))!important;height:calc(100dvh - var(--atlas-top-h,88px) - 24px - var(--tc-safe-t,0px) - var(--tc-safe-b,0px))!important;max-height:900px!important;display:flex;flex-direction:column;z-index:44;overflow:hidden}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar:is([data-mode="recruitment"],[data-mode="division"])>.ui-content{flex:1;min-height:0;overflow:auto;padding:14px 18px 18px;overscroll-behavior:contain;touch-action:pan-y}
html body.playable-integrated .command-ui.hoi-ui:has(.ui-sidebar:is([data-mode="recruitment"],[data-mode="division"])) :is(.hoi-commanders,.tc-tray,.hoi-map-modes){display:none!important}
html body.playable-integrated .command-ui.hoi-ui :is(.recruit-hq,.designer-hq){--dd-paper:#d0cabb;--dd-muted:#ada58c;--dd-line:#4b4b49;--dd-gold:#beb390;--dd-green:#afada5;--dd-dark:#161715;color:var(--dd-paper);font-size:13px;line-height:1.5}
html body.playable-integrated .command-ui.hoi-ui :is(.recruit-hq,.designer-hq) :is(button,select,input){min-height:44px;touch-action:manipulation;font-size:13px;max-width:100%;box-sizing:border-box}
html body.playable-integrated .command-ui.hoi-ui :is(.recruit-hq,.designer-hq) button{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 12px;line-height:1.35;white-space:normal}
html body.playable-integrated .command-ui.hoi-ui :is(.recruit-hq,.designer-hq) :is(button,select,input):focus-visible{outline:2px solid #e5cd80;outline-offset:2px}
html body.playable-integrated .command-ui.hoi-ui :is(.recruit-hq,.designer-hq) button:disabled{opacity:.45;cursor:not-allowed}
html body.playable-integrated .command-ui.hoi-ui :is(.recruit-hq,.designer-hq) .hoi-icon{width:20px;height:20px;flex:none;vertical-align:middle}
html body.playable-integrated .command-ui.hoi-ui :is(.recruit-hq,.designer-hq) :is(h3,h4,h5,p){margin:0}
html body.playable-integrated .command-ui.hoi-ui :is(.recruit-hq,.designer-hq) small{font-size:11px;line-height:1.5;color:var(--dd-muted)}
html body.playable-integrated .command-ui.hoi-ui :is(.recruit-hq,.designer-hq) summary{min-height:44px;padding:10px 12px;cursor:pointer;touch-action:manipulation;line-height:1.5}
html body.playable-integrated .command-ui.hoi-ui :is(.recruit-hq-header,.designer-hq-header){display:flex;align-items:center;gap:15px;min-height:100px;padding:17px 20px;border:1px solid #6a624b;border-top:2px solid var(--dd-gold);background:radial-gradient(ellipse at 10% 20%,#44444255,transparent 60%),linear-gradient(115deg,#252524,#151614);box-shadow:inset 0 0 0 3px #11110f}
html body.playable-integrated .command-ui.hoi-ui :is(.recruit-hq-header,.designer-hq-header) h3{font-family:'Songti SC','Noto Serif CJK SC',Georgia,serif;font-size:25px;letter-spacing:.06em;line-height:1.5;color:#d5d0c0;overflow-wrap:anywhere}
html body.playable-integrated .command-ui.hoi-ui :is(.recruit-hq-header,.designer-hq-header)>div:nth-child(2){flex:1;min-width:0}
html body.playable-integrated .command-ui.hoi-ui :is(.recruit-hq-header,.designer-hq-header) p{font-size:12px;color:var(--dd-muted);margin-top:3px}
html body.playable-integrated .command-ui.hoi-ui :is(.recruit-hq-seal,.designer-hq-seal){width:58px;height:66px;display:grid;place-items:center;border:1px solid #aca385;color:#d1bd79;background:linear-gradient(135deg,#595850,#242423);box-shadow:inset 0 0 0 4px #191a18;flex:none;clip-path:polygon(0 0,100% 0,100% 85%,50% 100%,0 85%)}
html body.playable-integrated .command-ui.hoi-ui :is(.recruit-hq-seal,.designer-hq-seal) .hoi-icon{width:34px;height:34px}
html body.playable-integrated .command-ui.hoi-ui .recruit-hq-capacity{text-align:right;border-left:1px solid var(--dd-line);padding-left:18px;flex:none}
html body.playable-integrated .command-ui.hoi-ui .recruit-hq-capacity strong{display:block;font:600 28px/1.3 ui-monospace,monospace;color:#c7c2b2}.recruit-hq-capacity strong span{font-size:15px;color:#989791}
html body.playable-integrated .command-ui.hoi-ui .recruit-overview{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;border:1px solid var(--dd-line);border-top:0;margin-bottom:16px;background:#161715}
html body.playable-integrated .command-ui.hoi-ui .recruit-overview>div{display:flex;align-items:center;gap:12px;padding:12px 16px;border-right:1px solid #383937}
html body.playable-integrated .command-ui.hoi-ui .recruit-overview>div:last-child{border-right:0;color:var(--dd-green)}
html body.playable-integrated .command-ui.hoi-ui .recruit-overview>div>.hoi-icon{width:27px;height:27px;color:#a4a299}
html body.playable-integrated .command-ui.hoi-ui .recruit-overview span{font-size:11px;color:var(--dd-muted)}
html body.playable-integrated .command-ui.hoi-ui .recruit-overview b{display:block;font:600 21px/1.5 ui-monospace,monospace;color:#cfc9ba}
html body.playable-integrated .command-ui.hoi-ui .recruit-hq .recruit-columns{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}
html body.playable-integrated .command-ui.hoi-ui .recruit-hq .recruit-queue{min-width:0}
html body.playable-integrated .command-ui.hoi-ui .recruit-hq .recruit-queue-title{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:10px}
html body.playable-integrated .command-ui.hoi-ui .recruit-hq .recruit-queue-title h4{font-size:18px;letter-spacing:.1em;color:#cac5b5}
html body.playable-integrated .command-ui.hoi-ui .recruit-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin-bottom:12px}
html body.playable-integrated .command-ui.hoi-ui .recruit-filters button{padding:7px 4px;color:#b4b2ad;background:#1c1c1a;border:1px solid #4c4c4a}
html body.playable-integrated .command-ui.hoi-ui .recruit-filters button b{font:600 13px ui-monospace,monospace;color:#bdb8a8}
html body.playable-integrated .command-ui.hoi-ui .recruit-filters button[aria-pressed=true]{background:#333331!important;border-color:#bbb190!important;box-shadow:inset 0 -2px #bbb190;color:#d1ccbd}
html body.playable-integrated .command-ui.hoi-ui .recruit-hq .recruit-queue article.recruit-order{padding:0;margin:0 0 12px;border:1px solid #50504e;border-left:3px solid #727068;background:linear-gradient(135deg,#222221,#191917)!important;border-radius:0;overflow:hidden}
html body.playable-integrated .command-ui.hoi-ui .recruit-hq article.recruit-order[data-status=READY]{border-left-color:#bebbb3;border-color:#8b8981}
html body.playable-integrated .command-ui.hoi-ui .recruit-hq article.recruit-order>header{display:flex;flex-wrap:nowrap;gap:9px;padding:12px;min-height:68px;border-bottom:1px solid #3e3e3c;background:#252624!important}
html body.playable-integrated .command-ui.hoi-ui .recruit-order-number{font:500 12px ui-monospace,monospace;writing-mode:vertical-rl;color:#ada383;border-right:1px solid #55534c;padding:3px 5px 3px 0}
html body.playable-integrated .command-ui.hoi-ui .recruit-order-symbol{width:38px;height:38px;display:grid;place-items:center;background:#bbb9b1;color:#232322;border:3px double #2b2b29;flex:none}
html body.playable-integrated .command-ui.hoi-ui .recruit-order-title{flex:1;min-width:0}
html body.playable-integrated .command-ui.hoi-ui .recruit-hq .recruit-order-title b{display:block;font-size:15px;line-height:1.4;min-width:0;overflow-wrap:anywhere;letter-spacing:0}
html body.playable-integrated .command-ui.hoi-ui .recruit-order-title small{display:flex;align-items:center;gap:4px;margin-top:3px}.recruit-order-title small .hoi-icon{width:13px!important;height:13px!important}
html body.playable-integrated .command-ui.hoi-ui .recruit-state{font-size:11px;white-space:nowrap;border:1px solid #5b5953;color:#bbb9b0;padding:3px 6px;background:#171817}
html body.playable-integrated .command-ui.hoi-ui [data-status=READY] .recruit-state{border-color:#a9a79e;color:#ccc7b7;background:#373735}
html body.playable-integrated .command-ui.hoi-ui .recruit-check{display:flex;align-items:center;gap:2px;font-size:11px;flex:none}
html body.playable-integrated .command-ui.hoi-ui .recruit-readiness{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px 14px 8px}
html body.playable-integrated .command-ui.hoi-ui .recruit-meter>div{display:flex;align-items:baseline;justify-content:space-between;gap:4px;color:#b9b7b1;font-size:12px}.recruit-meter b{font:600 18px ui-monospace,monospace;color:#cfc9ba}.recruit-meter b small{font-size:10px!important}
html body.playable-integrated .command-ui.hoi-ui .recruit-meter progress{display:block;appearance:none;-webkit-appearance:none;width:100%;height:7px;margin:6px 0;border:0;border-radius:0;background:#10100e;accent-color:#adaaa2}
html body.playable-integrated .command-ui.hoi-ui .recruit-meter progress::-webkit-progress-bar{background:#10110f;box-shadow:inset 0 1px 2px #00000088}
html body.playable-integrated .command-ui.hoi-ui .recruit-meter progress::-webkit-progress-value{background:linear-gradient(90deg,#6d6b63,#b7b5ac)}
html body.playable-integrated .command-ui.hoi-ui .recruit-meter[data-meter=equipment] progress::-webkit-progress-value{background:linear-gradient(90deg,#797156,#c3b791)}
html body.playable-integrated .command-ui.hoi-ui .recruit-meter[data-meter=training] progress::-webkit-progress-value{background:linear-gradient(90deg,#62615b,#a9a8a1)}
html body.playable-integrated .command-ui.hoi-ui .recruit-meter progress::-moz-progress-bar{background:#a9a79f}
html body.playable-integrated .command-ui.hoi-ui .recruit-order-reason{font-size:12px;padding:4px 14px 12px;line-height:1.6;color:#c2baa0}.recruit-order-reason[data-ready=true]{color:#c3c1b9!important}
html body.playable-integrated .command-ui.hoi-ui .recruit-hq .recruit-equipment-ledger{margin:0 12px 10px;border:1px solid #3f3f3d!important;background:#171715!important;box-shadow:none!important}
html body.playable-integrated .command-ui.hoi-ui .recruit-equipment-ledger summary{font-size:12px;padding:9px 10px;min-height:40px}
html body.playable-integrated .command-ui.hoi-ui .recruit-equipment-ledger summary>span{font-size:10px;color:#a3a19a;margin-left:8px}
html body.playable-integrated .command-ui.hoi-ui .recruit-equipment-ledger>small,html body.playable-integrated .command-ui.hoi-ui .recruit-equipment-ledger>p{display:block;margin:8px 10px}
html body.playable-integrated .command-ui.hoi-ui .recruit-table-wrap{overflow:auto;max-width:100%;overscroll-behavior:contain}
html body.playable-integrated .command-ui.hoi-ui :is(.recruit-hq,.designer-hq) table{width:100%;border-collapse:collapse;font-size:12px;margin:0}
html body.playable-integrated .command-ui.hoi-ui :is(.recruit-hq,.designer-hq) :is(th,td){text-align:right;padding:8px;border-bottom:1px solid #373735;white-space:nowrap;font-variant-numeric:tabular-nums}
html body.playable-integrated .command-ui.hoi-ui :is(.recruit-hq,.designer-hq) th:first-child{text-align:left;white-space:normal;min-width:80px;font-weight:500}
html body.playable-integrated .command-ui.hoi-ui :is(.recruit-hq,.designer-hq) thead{background:#272826;color:#aeaca4}.recruit-equipment-ledger tr[data-missing=true] td:nth-child(2){color:#cbbe96}
html body.playable-integrated .command-ui.hoi-ui .recruit-hq .recruit-order>footer{display:flex;flex-wrap:wrap;gap:8px;align-items:start;min-height:60px!important;height:auto!important;padding:8px 12px;border-top:1px solid #3f3f3d;background:#1a1a19}
html body.playable-integrated .command-ui.hoi-ui .recruit-row-main{display:flex;gap:6px;flex-wrap:wrap}
html body.playable-integrated .command-ui.hoi-ui .recruit-hq .recruit-row-options{margin:0 0 0 auto;min-width:145px;max-width:100%;background:#1a1b19!important;border:1px solid #4b4c49!important}
html body.playable-integrated .command-ui.hoi-ui .recruit-hq .recruit-row-options[open]{flex-basis:100%}.recruit-row-options summary{font-size:12px}.recruit-row-options>div{padding:10px!important}
html body.playable-integrated .command-ui.hoi-ui .recruit-rank-controls{display:flex;gap:6px;flex-wrap:wrap}.recruit-cancel-action{color:#d7a08e!important}
html body.playable-integrated .command-ui.hoi-ui .recruit-hq .recruit-row-options .equipment-priority{flex:1 1 100%}.recruit-row-options>div>small{flex:1 1 100%}
html body.playable-integrated .command-ui.hoi-ui .recruit-empty{min-height:250px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:12px;border:1px dashed #55534c;padding:25px;background:repeating-linear-gradient(135deg,#181816 0 10px,#1a1b18 10px 11px)}
html body.playable-integrated .command-ui.hoi-ui .recruit-empty>.hoi-icon{width:48px;height:48px;color:#727068}.recruit-empty b{font-size:17px;color:#bfbdb6}.recruit-empty p{max-width:280px;color:#a19f99}
html body.playable-integrated .command-ui.hoi-ui .recruit-planner{min-width:0;border:1px solid #63615a;background:#1d1d1c;box-shadow:inset 0 1px #c2bcad15}
html body.playable-integrated .command-ui.hoi-ui .recruit-planner>header{display:grid;grid-template-columns:1fr auto;gap:1px 8px;padding:12px 14px;border-bottom:1px solid #5b5953;background:#282826}.recruit-planner>header h4{font-size:18px;color:#c5c0b1}.recruit-planner>header>button{grid-column:2;grid-row:1/3;font-size:11px!important;padding:6px!important}
html body.playable-integrated .command-ui.hoi-ui .recruit-hq .recruit-templates{display:flex;flex-direction:column;max-height:310px;overflow:auto;gap:0;overscroll-behavior:contain;touch-action:pan-y;padding:4px}
html body.playable-integrated .command-ui.hoi-ui .recruit-hq .recruit-templates>button{display:flex;align-items:center;gap:10px;flex:none;min-height:74px;padding:10px!important;border:0;border-bottom:1px solid #3f3f3d;text-align:left;background:#1c1c1b!important;justify-content:flex-start}
html body.playable-integrated .command-ui.hoi-ui .recruit-hq .recruit-templates>button[aria-pressed=true]{background:#3d3d3b!important;box-shadow:inset 3px 0 #d3bf79;border-color:#6a6860;color:#d3cebe}
html body.playable-integrated .command-ui.hoi-ui .recruit-template-symbol{width:37px;height:37px;display:grid;place-items:center;background:#b4b2ab;color:#282827;border:3px double #2e2e2c;flex:none}
html body.playable-integrated .command-ui.hoi-ui .recruit-hq :is(.recruit-order-symbol,.recruit-template-symbol)>.hoi-icon{color:#282827!important}
html body.playable-integrated .command-ui.hoi-ui .recruit-templates>button>span:nth-child(2){flex:1;min-width:0}.recruit-templates b{display:block;font-size:13px;line-height:1.45;overflow-wrap:anywhere}.recruit-templates small{display:block;margin-top:4px;font-size:10px!important}.recruit-templates i{font-style:normal;font-size:16px;color:#c9be9a}
html body.playable-integrated .command-ui.hoi-ui .recruit-selected-template{padding:12px 14px;border-block:1px solid #5b5953;background:#272826}.recruit-selected-template>b{display:block;font-size:14px;margin:3px 0 7px}.recruit-selected-template>div{display:flex;justify-content:space-between;gap:6px;font-size:12px;color:#c2bcad}.recruit-selected-template .hoi-icon{width:16px!important;height:16px!important;margin-right:5px}.recruit-selected-template>small:last-child{display:block;margin-top:5px}
html body.playable-integrated .command-ui.hoi-ui .recruit-hq .recruit-controls{display:grid;grid-template-columns:1fr 100px;gap:10px;padding:14px;margin:0;border:0;background:#1a1b18}
html body.playable-integrated .command-ui.hoi-ui .recruit-controls>label:first-child{grid-column:1/-1}.recruit-controls label{display:flex!important;flex-direction:column;gap:5px;font-size:11px}.recruit-controls select{width:100%;min-width:0;background:#141512;color:#cdc7b8}.recruit-controls>small,.recruit-controls>.recruit-blocked,.recruit-controls>#recruit-add{grid-column:1/-1}.recruit-controls>#recruit-pick-city{align-self:end}.recruit-blocked{font-size:12px;color:#c2b794}
html body.playable-integrated .command-ui.hoi-ui .recruit-hq :is(.recruit-primary,#recruit-deploy-now,.recruit-ready-action),html body.playable-integrated .command-ui.hoi-ui .designer-hq .design-primary{background:linear-gradient(#54524b,#333431)!important;border:1px solid #a19f96!important;color:#dad5c5!important;box-shadow:inset 0 1px #c9c4b433!important}
html body.playable-integrated .command-ui.hoi-ui .recruit-hq .recruit-deploy-footer{position:sticky;bottom:-18px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;background:#212120!important;border:1px solid #67655e;border-top:2px solid #bdb28f;padding:12px;margin:16px 0;z-index:3;box-shadow:0 -8px 16px #0d0d0b44}
html body.playable-integrated .command-ui.hoi-ui .recruit-deploy-footer>div{display:flex;gap:12px;align-items:center;flex:1;min-width:160px}.recruit-deploy-footer>div>.hoi-icon{width:28px!important;height:28px!important;color:#b0aea6}.recruit-deploy-footer span b,.recruit-deploy-footer span small{display:block}.recruit-deploy-footer span b{font-size:15px}.recruit-deploy-footer button{flex:none}
html body.playable-integrated .command-ui.hoi-ui .recruit-history{display:flex;flex-wrap:wrap;align-items:start;gap:12px;margin-top:12px}.recruit-history>details{flex:1;min-width:180px}.recruit-help p,.recruit-history details p{margin:8px 12px!important;font-size:12px;color:#b3b2ac}
html body.playable-integrated .command-ui.hoi-ui .recruit-map-workflow{top:auto!important;bottom:calc(22px + var(--tc-safe-b,0px));width:min(820px,calc(100vw - 28px));box-sizing:border-box;display:flex;flex-wrap:nowrap;gap:14px;background:#1c1d1ceF;border:1px solid #a2a097;border-top:3px solid #beb390;padding:14px 18px;pointer-events:auto}
html body.playable-integrated .command-ui.hoi-ui .recruit-map-workflow>div:first-of-type{flex:1;min-width:0;display:grid;gap:3px}.recruit-map-workflow b{font-size:17px;color:#d1ccbc}.recruit-map-workflow small,.recruit-map-workflow div>span{font-size:12px;color:#b8b6af}.recruit-map-seal>.hoi-icon{width:32px;height:32px;color:#c8bd9d}.recruit-map-key{display:grid;gap:6px;white-space:nowrap}.recruit-map-key i{display:inline-block;width:8px;height:8px;background:#b6b4ab;border:1px solid #c2bcad;margin-right:6px}.recruit-map-key i[data-blocked=true]{background:#746c55;border-color:#9d957d}

/* Designer: a wide formation board and a compact, legible comparison ledger. */
html body.playable-integrated .command-ui.hoi-ui .designer-hq fieldset{border:0;padding:0;margin:0;min-width:0}
html body.playable-integrated .command-ui.hoi-ui .designer-xp{display:grid;grid-template-columns:25px auto;gap:1px 9px;align-items:center;color:#cfc29c;border-left:1px solid #55534c;padding-left:18px;flex:none}.designer-xp strong{font:600 25px ui-monospace,monospace}.designer-xp small{grid-column:1/-1;text-align:right}
html body.playable-integrated .command-ui.hoi-ui .designer-hq .designer-tabs{display:grid;grid-template-columns:1fr 1fr auto;gap:5px;margin:12px 0}.designer-hq .designer-tabs button[aria-pressed=true]{background:#383836!important;border-color:#b5ab8b!important;box-shadow:inset 0 -2px #b5ab8b}.designer-tabs button:last-child{font-size:12px!important;color:#bab8af}
html body.playable-integrated .command-ui.hoi-ui .designer-hq .design-library{display:flex;align-items:end;gap:10px;padding:12px;background:#1f1f1e;border:1px solid #454643}.designer-hq .design-library label{flex:1;display:grid;gap:4px;min-width:0;font-size:11px;color:#aba9a2}.designer-hq .design-library select{width:100%;background:#151514;color:#cfcaba;padding:7px 10px}
html body.playable-integrated .command-ui.hoi-ui .designer-name-row{display:flex;gap:10px;align-items:end;padding:12px 0}.designer-name-row label{display:grid;gap:4px;flex:1;min-width:0;font-size:11px;color:#acaba4}.designer-name-row input{width:100%;background:#151613;color:#d5cfc0;padding:7px 12px;font-size:16px!important;border:1px solid #69675f}
html body.playable-integrated .command-ui.hoi-ui .designer-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#4a4a48;border:1px solid #6d6b63;margin-bottom:14px}
html body.playable-integrated .command-ui.hoi-ui .designer-summary>div{display:flex;gap:14px;align-items:center;padding:12px 16px;background:linear-gradient(110deg,#333331,#21211f)}.designer-summary>div:first-child{background:#363634}.designer-summary .hoi-icon{width:30px!important;height:30px!important;color:#acaaa2}.designer-summary span{display:grid;font-size:11px;color:#b9b7b0}.designer-summary strong{font:600 25px/1.4 ui-monospace,monospace;color:#d2cdbe}.designer-summary strong small{font-size:11px!important;color:#b9b7b0}
html body.playable-integrated .command-ui.hoi-ui .designer-hq .design-workspace{display:grid;grid-template-columns:minmax(0,1fr) 292px;gap:16px;align-items:start;background:transparent!important;box-shadow:none!important;border:0!important}
html body.playable-integrated .command-ui.hoi-ui .designer-hq .design-slots{min-width:0;padding:0;background:#191a18;border:1px solid #58564f}
html body.playable-integrated .command-ui.hoi-ui .designer-board-header{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;background:#2a2b29;border-bottom:1px solid #64625b}.designer-board-header h4{font-size:17px;letter-spacing:.08em;color:#c6c1b2}.designer-board-header>span{font-size:12px;color:#b8b6ae}
html body.playable-integrated .command-ui.hoi-ui .designer-board-scroll{overflow-x:auto;overscroll-behavior-x:contain;touch-action:pan-x pan-y;padding:12px}
html body.playable-integrated .command-ui.hoi-ui .designer-hq .division-grid{display:grid;grid-template-columns:minmax(125px,1.9fr) repeat(5,minmax(56px,1fr));gap:7px;min-width:470px;margin:0}
html body.playable-integrated .command-ui.hoi-ui .designer-hq .division-column{display:flex;flex-direction:column;gap:7px;min-width:0}.designer-hq .division-column>small{display:block;padding:5px 0 8px!important;font-size:12px!important;text-align:center;color:#beb9a9!important;border-bottom:1px solid #58564f}.designer-hq .division-column>small>span{display:block;font-size:9px;color:#95928b;margin-top:2px}
html body.playable-integrated .command-ui.hoi-ui .designer-hq .division-support-column{border-right:1px solid #59574f;padding-right:9px;margin-right:2px}.designer-hq .division-support-slots{gap:7px!important}
html body.playable-integrated .command-ui.hoi-ui .designer-hq .division-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-width:0;height:83px;min-height:83px;padding:6px 3px;gap:4px;background:#161615!important;border:1px dashed #56544d!important;border-radius:0;box-shadow:inset 0 0 0 3px #0f0f0e44!important}
html body.playable-integrated .command-ui.hoi-ui .designer-hq .division-slot[data-filled="1"]{background:linear-gradient(145deg,#444442,#2b2b29)!important;border:1px solid #88867e!important;box-shadow:inset 0 1px #c2bcad22,inset 0 0 0 3px #1e1e1c66!important}
html body.playable-integrated .command-ui.hoi-ui .designer-hq .division-slot[aria-pressed=true]{outline:2px solid #e1c779;outline-offset:1px;background:#55534b!important;box-shadow:inset 0 0 0 3px #736a4f44!important}
html body.playable-integrated .command-ui.hoi-ui .designer-hq .division-slot small{font-size:10px;line-height:1.25;color:#cec8b9;white-space:normal;overflow-wrap:anywhere;text-align:center;max-width:100%}.designer-hq .slot-symbol{width:29px!important;height:22px!important;flex:none}.designer-hq .slot-width{font-size:9px;line-height:1;color:#b7b5ad}.designer-hq .slot-add{font:300 24px/1 sans-serif;color:#88867e}
html body.playable-integrated .command-ui.hoi-ui .designer-hq .division-palette{display:block;max-height:none;overflow:visible;padding:0;margin:0 12px 12px;border:1px solid #4e4e4b;background:#151514}
html body.playable-integrated .command-ui.hoi-ui .division-palette>header{display:flex;justify-content:space-between;align-items:center;padding:9px 12px;border-bottom:1px solid #4a4a47;background:#282927}.division-palette>header h4{margin:0!important;font-size:14px;color:#c8c3b3!important}.division-palette>header button{width:44px;padding:0!important;font-size:21px!important}
html body.playable-integrated .command-ui.hoi-ui .designer-palette-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:300px;overflow:auto;overscroll-behavior:contain;padding:8px;touch-action:pan-y}
html body.playable-integrated .command-ui.hoi-ui .designer-hq .designer-palette-grid>button{display:flex;align-items:center;justify-content:flex-start;gap:9px;min-height:58px;padding:8px!important;background:#282927;border:1px solid #54524b;text-align:left;font-size:12px}.designer-palette-grid>button>span{min-width:0}.designer-palette-grid b{display:block;line-height:1.4;font-size:12px}.designer-palette-grid small{display:block;font-size:10px!important;margin-top:3px}.designer-hq .designer-remove-slot{grid-column:1/-1;justify-content:center!important;color:#d9aa92!important}
html body.playable-integrated .command-ui.hoi-ui .designer-palette-empty{display:flex;align-items:center;justify-content:center;gap:15px;padding:24px 15px;color:#9e9c94;font-size:12px}.designer-palette-empty .hoi-icon{width:34px!important;height:34px!important;color:#6f6d65}.designer-palette-empty p{line-height:1.7}
html body.playable-integrated .command-ui.hoi-ui .designer-hq .designer-frontage{display:block;margin:0;border:0!important;border-top:1px solid #4a4a47!important;background:#21211f!important;padding:0;box-shadow:none!important}.designer-frontage summary{font-size:12px}.designer-frontage summary>.hoi-icon{margin-right:6px}.designer-frontage summary>span{float:right;font-size:11px;color:#cec4a8}.designer-frontage>p{font-size:11px;color:#aeaca4;padding:10px 12px;line-height:1.7}
html body.playable-integrated .command-ui.hoi-ui .designer-frontage-terrains{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:0 10px}.designer-frontage-terrains>span{padding:8px;background:#152015;border:1px solid #495737;font-size:12px;color:#c7cbae}.designer-frontage-terrains b{float:right;color:#dfd0a1}.designer-frontage-terrains small{display:block;font-size:10px!important;margin-top:5px}
html body.playable-integrated .command-ui.hoi-ui .designer-hq .design-stats{display:block;min-width:0;padding:0;background:#191a18!important;border:1px solid #64625b!important;box-shadow:none!important}.designer-hq .design-stats>header{padding:13px 14px;border-bottom:1px solid #68665e;background:#2d2d2b}.design-stats>header h4{font-size:17px;color:#c7c2b2}.design-stats>header small{font-size:10px!important}
html body.playable-integrated .command-ui.hoi-ui .designer-stat-group{padding:10px 12px 4px}.designer-stat-group h5{font-size:11px;letter-spacing:.1em;color:#aaa89f;margin-bottom:6px!important;padding-bottom:5px;border-bottom:1px solid #494946}
html body.playable-integrated .command-ui.hoi-ui .designer-hq .design-stat{display:grid;grid-template-columns:1fr auto 42px;align-items:center;gap:7px;padding:6px 0;background:transparent;border-bottom:1px solid #30312f}.designer-hq .design-stat>span{font-size:12px;color:#b9b7b0}.designer-hq .design-stat>b{font:600 17px ui-monospace,monospace;color:#cec8b9}.designer-hq .design-stat>small{text-align:right;font:11px ui-monospace,monospace;color:#7b7a74}.designer-hq .design-change[data-change=positive]{color:#accd85!important}.designer-hq .design-change[data-change=negative]{color:#df9f85!important}
html body.playable-integrated .command-ui.hoi-ui .designer-hq .design-demand{display:block;background:#161615;border-top:1px solid #5b5952;padding:12px;margin-top:10px}.design-demand>header h4{font-size:14px;color:#bfbaaa}.design-demand>header small{font-size:10px!important}
html body.playable-integrated .command-ui.hoi-ui .designer-personnel{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:11px 0;margin-bottom:5px;border-bottom:1px solid #454542}.designer-personnel>.hoi-icon{color:#a8a69e}.designer-personnel>span{display:inline!important;border:0!important;padding:0!important;font-size:11px!important}.designer-personnel strong{font:600 21px ui-monospace,monospace;color:#c4beaf}.designer-personnel>small{flex-basis:100%;font-size:10px!important}
html body.playable-integrated .command-ui.hoi-ui .designer-equipment-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 5px;padding:8px 0;border-bottom:1px solid #363734}.designer-equipment-row>span{display:block!important;border:0!important;padding:0!important;font-size:12px;overflow-wrap:anywhere}.designer-equipment-row>b{font:600 13px ui-monospace,monospace;color:#c4bfaf}.designer-equipment-row>small{grid-column:auto!important;font-size:10px!important}.designer-equipment-row>small:last-child{text-align:right}.designer-equipment-row[data-shortage=true]>small:first-of-type{color:#bcb18d!important}.designer-paper-note{padding:12px;font-size:11px;color:#a3a198;line-height:1.7!important}
html body.playable-integrated .command-ui.hoi-ui .designer-hq .division-save-bar{display:flex;align-items:center;position:sticky;bottom:-18px;z-index:3;margin:14px 0 0;padding:12px;gap:8px;background:#262725!important;border:1px solid #6f6d65!important;border-top:2px solid #beb390!important;box-shadow:0 -8px 18px #0b0c0b44!important}.designer-save-cost{display:flex;align-items:center;gap:10px;margin-right:auto}.designer-save-cost>.hoi-icon{width:28px!important;height:28px!important;color:#c6b993}.designer-save-cost span{display:grid}.designer-save-cost b{font:600 18px ui-monospace,monospace;color:#c1bcac}.designer-save-cost small{font-size:10px!important}.division-save-bar>span{flex:1;min-width:160px}.division-save-bar>span :is(b,small){display:block}
html body.playable-integrated .command-ui.hoi-ui .designer-rules{margin-top:12px;background:#1a1b19!important;border:1px solid #444542!important}.designer-rules p{font-size:12px;color:#b2b1a9;padding:10px 12px}.designer-rules select{margin:0 12px;max-width:calc(100% - 24px)!important}
html body.playable-integrated .command-ui.hoi-ui .designer-hq .design-confirm{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:16px;margin-top:14px;background:#343532;border:1px solid #c3b691;color:#c9c4b4}.design-confirm>span>.hoi-icon{width:32px!important;height:32px!important}.design-confirm>div{flex:1 1 250px}.design-confirm p{margin-top:4px!important;font-size:12px}.design-confirm button:last-child{background:#55534c!important;border-color:#c9bf9f!important}.designer-notice[role=status]{margin:10px 0!important;padding:12px;border-left:3px solid #bcb18e;background:#2d2d2b;color:#c6c0b1}
html body.playable-integrated .command-ui.hoi-ui .design-adopt{padding:16px 0}.design-adopt>header{margin-bottom:14px}.design-adopt h4{font-size:19px;color:#c8c3b3}.design-adopt>header p{font-size:12px;color:#acaaa3;margin-top:5px!important}.design-adopt>label{display:grid;gap:5px;font-size:12px}.design-adopt select{width:100%;padding:8px;background:#1c1c1a;color:#c9c4b4}.design-adopt>h3{font-size:18px;margin:18px 0 12px!important}.adoption-impact{border:1px solid #54524b;background:#181817;padding:12px}.adoption-impact>p{font-size:12px;color:#afada5;margin:12px 0 0!important;line-height:1.7}.designer-adopt-needs{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;margin-top:14px}.designer-adopt-needs>span{display:flex;justify-content:space-between;gap:8px;padding:7px 0;border-bottom:1px solid #383936;font-size:12px}.designer-adopt-needs b{font-variant-numeric:tabular-nums;color:#ccc4aa}
@media(max-width:980px){html body.playable-integrated .command-ui.hoi-ui .recruit-hq .recruit-columns{grid-template-columns:minmax(0,1fr) 285px;gap:12px}html body.playable-integrated .command-ui.hoi-ui .recruit-overview>div{padding:10px;gap:8px}html body.playable-integrated .command-ui.hoi-ui .designer-hq .design-workspace{grid-template-columns:minmax(0,1fr) 240px;gap:12px}html body.playable-integrated .command-ui.hoi-ui .designer-hq .design-stat{grid-template-columns:1fr auto 34px;gap:4px}.designer-hq .design-stat>b{font-size:15px!important}html body.playable-integrated .command-ui.hoi-ui .designer-board-scroll{padding:8px}html body.playable-integrated .command-ui.hoi-ui .designer-hq .division-grid{gap:5px;grid-template-columns:120px repeat(5,minmax(52px,1fr));min-width:420px}html body.playable-integrated .command-ui.hoi-ui .recruit-hq article.recruit-order>header{gap:7px;padding:10px}.recruit-order-number{display:none}.recruit-order-symbol{width:32px!important;height:32px!important}.recruit-order-title b{font-size:13px!important}.recruit-state{padding:3px 4px!important}.recruit-check>span{display:none}}
@media(max-width:760px){html body.playable-integrated .command-ui.hoi-ui .ui-sidebar:is([data-mode="recruitment"],[data-mode="division"])>.ui-content{padding:10px}html body.playable-integrated .command-ui.hoi-ui .recruit-hq .recruit-columns{grid-template-columns:1fr}html body.playable-integrated .command-ui.hoi-ui .recruit-planner{order:-1}html body.playable-integrated .command-ui.hoi-ui .recruit-hq .recruit-templates{display:grid;grid-template-columns:1fr 1fr;max-height:210px;gap:4px;padding:6px}html body.playable-integrated .command-ui.hoi-ui .recruit-hq .recruit-controls{grid-template-columns:1fr 110px}html body.playable-integrated .command-ui.hoi-ui .recruit-hq .recruit-selected-template{padding:9px 14px}html body.playable-integrated .command-ui.hoi-ui .designer-hq .design-workspace{grid-template-columns:1fr}html body.playable-integrated .command-ui.hoi-ui .designer-hq .design-stats{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.designer-hq .design-stats>header,.designer-hq .design-stats>.design-demand,.designer-hq .design-stats>.designer-paper-note{grid-column:1/-1}.designer-hq .design-demand{display:block!important}html body.playable-integrated .command-ui.hoi-ui .designer-hq .division-grid{grid-template-columns:minmax(120px,1.8fr) repeat(5,minmax(48px,1fr));min-width:420px}html body.playable-integrated .command-ui.hoi-ui :is(.recruit-hq-header,.designer-hq-header){padding:12px;gap:12px;min-height:86px}html body.playable-integrated .command-ui.hoi-ui :is(.recruit-hq-header,.designer-hq-header) h3{font-size:20px}.recruit-hq-seal,.designer-hq-seal{width:44px!important;height:54px!important}.recruit-hq-capacity{padding-left:10px!important}.recruit-map-key{display:none}.recruit-map-workflow{gap:10px!important;padding:12px!important}.recruit-map-workflow>button{max-width:100px}.recruit-deploy-footer,.designer-hq .division-save-bar{bottom:-10px!important}.recruit-overview>div>.hoi-icon{display:none}.designer-summary>div{padding:10px!important;gap:8px!important}.designer-summary .hoi-icon{width:22px!important;height:22px!important}.designer-summary strong{font-size:22px!important}}
@media(max-width:480px){html body.playable-integrated .command-ui.hoi-ui .recruit-overview{grid-template-columns:1fr 1fr}.recruit-overview>div{border-bottom:1px solid #383937}.recruit-hq-header p{display:none}.recruit-hq-header h3,.designer-hq-header h3{font-size:17px!important}.recruit-hq-capacity strong{font-size:22px!important}.recruit-readiness{gap:8px!important;padding:12px 10px!important}.recruit-meter>small{font-size:9px!important}.recruit-state{font-size:10px!important}.recruit-templates>button{gap:6px!important}.recruit-template-symbol{width:28px!important;height:28px!important}.recruit-templates small{font-size:9px!important}.recruit-filters button{font-size:11px!important}.designer-tabs{grid-template-columns:1fr 1fr!important}.designer-tabs>button:last-child{grid-column:1/-1}.designer-summary .hoi-icon{display:none!important}.designer-summary strong{font-size:19px!important}.designer-summary strong small{font-size:9px!important}.designer-summary>div{padding:9px!important}.designer-frontage-terrains{grid-template-columns:1fr 1fr!important}.designer-hq .design-stats{gap:0!important}.designer-adopt-needs{grid-template-columns:1fr!important}.recruit-deploy-footer>button{flex:1 1 120px!important}.recruit-deploy-footer>div{flex-basis:100%!important}.designer-hq .division-save-bar{flex-wrap:wrap}.designer-save-cost{flex:1 1 100%}.designer-hq .division-save-bar>button{flex:1}.recruit-map-seal{display:none}.recruit-map-workflow{bottom:12px!important}.recruit-map-workflow b{font-size:14px}.recruit-map-workflow div>span{font-size:11px}}

/* Keep useful controls above the fold on a 720px landscape screen. Nested
   headers explicitly shed the general shell-header sizing and border rules. */
html body.playable-integrated .command-ui.hoi-ui :is(.recruit-hq,.designer-hq,.recruit-hq *,.designer-hq *){box-sizing:border-box}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar:is([data-mode="recruitment"],[data-mode="division"])>header{min-height:52px!important;height:52px!important;padding:4px 10px!important;flex:none!important;box-sizing:border-box}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar:is([data-mode="recruitment"],[data-mode="division"])>header :is(.ui-back,#ui-close){height:44px!important;min-height:44px!important}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar:is([data-mode="recruitment"],[data-mode="division"])>.management-subnav{padding:0 8px!important;margin:0!important;min-height:44px!important;flex:none!important}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar:is([data-mode="recruitment"],[data-mode="division"])>.management-subnav>button{min-height:44px!important;padding:5px 10px!important}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar:is([data-mode="recruitment"],[data-mode="division"])>.ui-content{padding:8px 12px 10px!important;touch-action:pan-x pan-y}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="recruitment"] .management-tabs{padding:0!important;margin:0 0 6px!important;gap:4px!important}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="recruitment"] .management-tabs>button{min-height:44px!important;padding:5px 10px!important}
html body.playable-integrated .command-ui.hoi-ui :is(.recruit-hq,.designer-hq) header{position:static!important;height:auto!important;min-height:0!important;margin:0!important;border:0!important;box-shadow:none!important;flex-shrink:0}
html body.playable-integrated .command-ui.hoi-ui .recruit-hq .recruit-hq-header{height:48px!important;min-height:48px!important;box-sizing:border-box;padding:4px 12px!important;gap:10px!important;border-top:2px solid #beb390!important}
html body.playable-integrated .command-ui.hoi-ui .recruit-hq-header h3{font-size:18px!important;letter-spacing:.04em;line-height:1.3!important}
html body.playable-integrated .command-ui.hoi-ui .recruit-hq-seal{width:30px!important;height:35px!important;box-shadow:inset 0 0 0 2px #191a18}
html body.playable-integrated .command-ui.hoi-ui .recruit-hq-seal .hoi-icon{width:22px!important;height:22px!important}
html body.playable-integrated .command-ui.hoi-ui .recruit-hq-capacity{display:flex;align-items:center;gap:10px;padding-left:12px!important}
html body.playable-integrated .command-ui.hoi-ui .recruit-hq-capacity strong{font-size:20px!important;line-height:1.3}.recruit-hq-capacity>small{font-size:10px!important}
html body.playable-integrated .command-ui.hoi-ui .recruit-overview{height:44px;box-sizing:border-box;margin-bottom:8px!important}
html body.playable-integrated .command-ui.hoi-ui .recruit-overview>div{padding:5px 10px!important;gap:8px!important;min-width:0}
html body.playable-integrated .command-ui.hoi-ui .recruit-overview>div>.hoi-icon{width:20px!important;height:20px!important}
html body.playable-integrated .command-ui.hoi-ui .recruit-overview span{display:flex;gap:8px;align-items:baseline;white-space:nowrap;font-size:11px!important}
html body.playable-integrated .command-ui.hoi-ui .recruit-overview b{display:inline;font-size:18px!important;line-height:1.3!important}
html body.playable-integrated .command-ui.hoi-ui .recruit-hq .recruit-queue-title{height:44px!important;padding:0!important;margin-bottom:4px!important}.recruit-queue-title h4{font-size:16px!important}
html body.playable-integrated .command-ui.hoi-ui .recruit-filters{margin-bottom:6px!important}
html body.playable-integrated .command-ui.hoi-ui .recruit-planner>header{display:flex;justify-content:space-between;align-items:center;padding:4px 8px!important;min-height:44px!important}.recruit-planner>header h4{font-size:16px!important}
html body.playable-integrated .command-ui.hoi-ui .recruit-hq .recruit-templates>button{min-height:60px!important;padding:6px 8px!important}.recruit-templates small{margin-top:2px!important}
html body.playable-integrated .command-ui.hoi-ui .recruit-hq article.recruit-order>header{min-height:54px!important;padding:6px 10px!important;border-bottom:1px solid #3e3e3c!important}
html body.playable-integrated .command-ui.hoi-ui .recruit-readiness{padding:8px 10px 5px!important}.recruit-order-reason{padding:2px 10px 6px!important}
html body.playable-integrated .command-ui.hoi-ui .recruit-hq .recruit-deploy-footer{padding:6px 10px!important;bottom:-10px!important;margin:10px 0!important}
html body.playable-integrated .command-ui.hoi-ui .designer-hq .designer-tabs{grid-template-columns:minmax(110px,1fr) minmax(110px,1fr) auto!important;margin:0 0 6px!important;min-height:44px!important;gap:5px}
html body.playable-integrated .command-ui.hoi-ui .designer-hq .designer-tabs button{min-height:44px!important;padding:5px 10px!important}
html body.playable-integrated .command-ui.hoi-ui .designer-hq .designer-xp{display:flex;align-items:center;gap:7px;min-height:44px;padding:0 12px}.designer-hq .designer-xp strong{font-size:20px}.designer-hq .designer-xp small{font-size:10px!important}.designer-xp .hoi-icon{width:18px!important;height:18px!important}
html body.playable-integrated .command-ui.hoi-ui .designer-controls{display:grid;grid-template-columns:minmax(160px,1fr) minmax(190px,1.1fr) auto auto;gap:7px;padding:0;margin-bottom:6px;align-items:center;background:transparent;border:0}
html body.playable-integrated .command-ui.hoi-ui .designer-controls>label{display:flex!important;align-items:center;min-width:0;gap:7px;font-size:11px;color:#aeaca4}
html body.playable-integrated .command-ui.hoi-ui .designer-controls>label>span{flex:none}
html body.playable-integrated .command-ui.hoi-ui .designer-controls :is(input,select){min-width:0;width:100%;height:44px;min-height:44px;padding:7px 8px;font-size:13px;background:#1b1b1a;color:#d4cfbf;border:1px solid #6b6961}
html body.playable-integrated .command-ui.hoi-ui .designer-hq .designer-summary{height:44px;box-sizing:border-box;margin-bottom:8px!important}
html body.playable-integrated .command-ui.hoi-ui .designer-hq .designer-summary>div{padding:4px 10px!important;gap:8px!important}.designer-hq .designer-summary span{display:flex;gap:9px;align-items:baseline}.designer-hq .designer-summary strong{font-size:20px!important;line-height:1.3!important}.designer-hq .designer-summary .hoi-icon{width:21px!important;height:21px!important}
html body.playable-integrated .command-ui.hoi-ui .designer-hq .designer-board-header{padding:4px 10px!important;min-height:28px!important;border-bottom:1px solid #64625b!important}.designer-board-header h4{font-size:14px!important}.designer-board-header small{display:none}
html body.playable-integrated .command-ui.hoi-ui .designer-hq .designer-board-scroll{padding:6px!important}
html body.playable-integrated .command-ui.hoi-ui .designer-hq .division-column{gap:5px!important}.designer-hq .division-column>small{padding:2px 0 4px!important;font-size:11px!important;line-height:1.3!important}.designer-hq .division-column>small>span{display:none}
html body.playable-integrated .command-ui.hoi-ui .designer-hq .division-slot{display:grid;grid-template-columns:22px minmax(0,1fr);grid-template-rows:auto auto;height:50px!important;min-height:50px!important;padding:4px!important;gap:1px 4px!important}
html body.playable-integrated .command-ui.hoi-ui .designer-hq .division-slot :is(.slot-symbol,.slot-add){grid-row:1/3;grid-column:1;width:22px!important;height:18px!important}.designer-hq .division-slot small{grid-column:2;font-size:10px!important;text-align:left!important;line-height:1.2!important}.designer-hq .division-slot .slot-width{grid-column:2;font-size:9px!important;text-align:left}
html body.playable-integrated .command-ui.hoi-ui .designer-hq .division-support-slots{gap:4px!important}.designer-hq .division-support-slots .division-slot{height:44px!important;min-height:44px!important;grid-template-columns:18px minmax(0,1fr);gap:1px 2px!important;padding:3px!important}.designer-hq .division-support-slots .slot-symbol{width:18px!important;height:15px!important}
html body.playable-integrated .command-ui.hoi-ui .designer-hq .design-stats>header{padding:5px 10px!important;min-height:28px!important;border-bottom:1px solid #68665e!important;display:flex;justify-content:space-between;align-items:center}.design-stats>header h4{font-size:14px!important}.design-stats>header small{font-size:9px!important}
html body.playable-integrated .command-ui.hoi-ui .designer-hq .designer-stat-group{padding:6px 10px 2px}.designer-hq .design-stat{padding:4px 0!important;min-height:24px}.designer-hq .design-stat>b{font-size:15px!important}
html body.playable-integrated .command-ui.hoi-ui .designer-hq .design-stat>.design-change{grid-column:auto!important;grid-row:auto!important;min-height:0!important;line-height:1.2!important;margin:0!important;padding:0!important;white-space:nowrap}
html body.playable-integrated .command-ui.hoi-ui .designer-hq .division-save-bar{padding:6px 10px!important;bottom:-10px!important;margin-top:8px!important}
@media(max-width:760px){html body.playable-integrated .command-ui.hoi-ui .designer-controls{grid-template-columns:minmax(130px,1fr) minmax(130px,1fr) 54px 54px;gap:4px}.designer-controls>label>span{display:none}.designer-controls>button{font-size:11px!important;padding:4px!important}.designer-controls .hoi-icon{display:none}.designer-hq .designer-xp small{display:none}.recruit-overview>div>.hoi-icon{display:none!important}.recruit-overview span{gap:5px!important;font-size:10px!important}.recruit-overview b{font-size:16px!important}}
@media(max-width:480px){html body.playable-integrated .command-ui.hoi-ui .recruit-overview{grid-template-columns:repeat(4,minmax(0,1fr));height:44px}.recruit-overview>div{padding:4px!important}.recruit-overview span{display:block!important;font-size:9px!important}.recruit-overview b{display:block!important;font-size:14px!important}.designer-hq .designer-summary span{display:grid;gap:0}.designer-hq .designer-summary strong{font-size:17px!important}.designer-hq .designer-summary>div{padding:3px 7px!important}.designer-controls{grid-template-columns:1fr 1fr!important}.designer-controls>button{min-height:44px!important}.designer-controls>button:last-child{grid-column:2}.designer-hq .designer-xp{padding:0 5px!important}.designer-tabs button{font-size:11px!important;gap:4px!important}.designer-tabs button>.hoi-icon{display:none}}

/* ── zz-germany-focus.css ── */
/* Beta 1936 national trees: an original steel-and-brass strategy board. Intrinsic chapter
   bands remain part of the map; there is deliberately no numbered route navbar.
   No fullscreen textures, backdrop filters, or looping animation. Alpha is unchanged. */
html body .nf-ic[data-frame$="-1936"] .nf-ic-art{left:5%;top:5%;width:90%;height:90%;clip-path:polygon(8% 0,92% 0,100% 8%,100% 92%,92% 100%,8% 100%,0 92%,0 8%)}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"]{--nf-board:#1b1b19;--nf-panel:#191a18;--nf-raised:#282827;--nf-tool:#1c1c1a;--nf-plaque:#2b2b29;--nf-plaque-low:#1c1c1b;--nf-ready:#474845;--nf-ready-low:#313230;--nf-border:#6f6d65;--nf-accent:#cabe9d;--nf-soft:#aba9a3;--plq:#b1a990;grid-template-columns:0 minmax(0,1fr) 320px;grid-template-rows:68px 48px minmax(0,1fr);top:calc(var(--atlas-top-h,88px) + 4px);background:#161615;color:#cfcaba;border-color:#060606;box-shadow:0 0 0 1px #6f6d68,0 12px 32px #00000099,inset 0 1px #c0bbab22}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] :is(button,input){box-sizing:border-box}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] button:focus-visible{outline:2px solid #c0baab;outline-offset:2px}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-head{grid-row:1;height:68px;min-height:0;padding:6px 12px;box-sizing:border-box;gap:12px;background:linear-gradient(90deg,var(--nf-accent) 0 3px,var(--nf-raised) 3px,var(--nf-panel) 65%);border-bottom:1px solid #746c55;box-shadow:inset 0 1px #c6c0b11a}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-title h2{font-size:22px;letter-spacing:.12em;color:#d3cebe}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-title small{font-size:10px;letter-spacing:.06em;color:#a7a6a2}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-current{min-height:50px;max-width:390px;padding:4px 10px 4px 6px;gap:9px;background:#131412;border:1px solid #54524c;box-shadow:inset 0 1px #c4bfb018}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-current .nf-ic{width:42px;height:42px}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-current b{font-size:14px;color:#cac5b5}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-current small{font-size:10px;letter-spacing:0}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-current.nf-idle{border-left:3px solid #ab9f79;background:#21211f}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-current.nf-idle b{color:#d1c6a6;letter-spacing:.08em}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-close{width:44px;height:44px;min-height:44px;box-shadow:inset 0 1px #a3a19918;background:#141513;border:1px solid #4d4d4b;color:#cfc6ac}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-tools{grid-column:1/-1;grid-row:2;display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:2px 10px;background:var(--nf-tool);border-bottom:1px solid #4d4d4b;box-shadow:inset 0 1px #b0aea60d}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-searchbar{display:flex;align-items:center;gap:5px;min-width:0;flex:1}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-searchbar label{display:flex;align-items:center;min-width:130px;width:280px;max-width:360px;background:#121211;border:1px solid #6a6861;padding:0 8px;box-shadow:inset 0 2px 4px #00000055}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-searchbar label>span{font-size:22px;color:#b2afa7;line-height:1}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-searchbar input{height:40px;min-height:40px;min-width:0;width:100%;border:0;background:transparent;color:#d5d0c0;padding:5px 8px;font:13px system-ui;box-shadow:none}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-searchbar input::placeholder{color:#93928c}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-searchbar button{min-height:44px;padding:5px 10px;border:1px solid transparent;background:transparent;white-space:nowrap;font-size:12px;touch-action:manipulation}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-searchbar button:hover,html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-searchbar button:focus-visible{background:#343432;border-color:#a29a80}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] [data-nf-spirit-toggle][aria-expanded="true"]{background:#373835;border-color:#a4a299;color:#d3cebd}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-searchbar output{color:#d7c9a0;font-variant-numeric:tabular-nums}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-tree-status{display:flex;gap:14px;align-items:center;font-size:11px;color:#b2b1ab;white-space:nowrap}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-tree-status span{display:flex;gap:5px;align-items:center;font-variant-numeric:tabular-nums}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-tree-status i{width:6px;height:6px;border:1px solid #c4c1b9;background:#918e86}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-tree-status [data-st="done"] i{border-color:#cdc29e;background:#a09574}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-main{grid-column:2;grid-row:3}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-side{grid-column:1;grid-row:3;visibility:hidden;padding:0;overflow:hidden;background:#191918}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"][data-spirits-open="true"]{grid-template-columns:230px minmax(0,1fr) 320px}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"][data-spirits-open="true"] .nf-side{visibility:visible;overflow-y:auto;padding:10px;border-right:1px solid #5b5953}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-canvas{background:var(--nf-board)}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-tree{background-image:linear-gradient(#b5b4ad06 1px,transparent 1px),linear-gradient(90deg,#b5b4ad06 1px,transparent 1px);background-size:68px 80px}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-chapter{border-left:1px solid #b4b3ac16;border-right:1px solid #b4b3ac16;background:linear-gradient(180deg,color-mix(in srgb,var(--rim) 10%,transparent),transparent 350px)}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-chapter>span{background:var(--nf-tool);border-top:2px solid var(--rim);padding:7px 12px;min-height:38px;box-sizing:border-box;letter-spacing:.08em;box-shadow:inset 0 -1px #79787333}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-chapter b{color:#cdc7b8;font-size:13px}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-chapter small{display:block;font:10px/1.4 system-ui;letter-spacing:.03em;margin-top:4px;color:#a2a09a}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-edge{stroke:#84827c;stroke-width:2;opacity:.62;stroke-linejoin:round}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-edge[data-state="done"]{stroke:#cabe9d;stroke-width:2.6;opacity:1}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-excl{stroke:#ad6550;stroke-width:2;opacity:.9}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-excl-mark circle{fill:#171715;stroke:#a96551;stroke-width:1.5}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-excl-mark path{stroke:#ce9a84;stroke-width:1.6}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-node .nf-ic::before{animation:none!important;display:none}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-node .nf-ic{width:92px;height:92px;filter:none;transform:none}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-node[data-st="available"] .nf-frame-ready,html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-node[data-st="active"] .nf-frame-ready,html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-node[aria-pressed="true"] .nf-frame-ready{opacity:1}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-node[data-st="locked"] .nf-ic,html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-node[data-st="blocked"] .nf-ic{filter:saturate(.35) brightness(.76)}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-node[data-st="excluded"] .nf-ic{filter:saturate(.2) brightness(.55)}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-node .nf-plaque{min-height:36px;box-sizing:border-box;padding:4px 6px;background:linear-gradient(var(--nf-plaque),var(--nf-plaque-low));border:1px solid #686760;box-shadow:inset 0 1px #b3b1a933,0 2px 0 #0a0a09}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-node .nf-plaque b{font-size:12px;line-height:1.3;color:#cac4b5}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-node[data-st="locked"] .nf-plaque,html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-node[data-st="blocked"] .nf-plaque{border-color:#434442;background:linear-gradient(#222220,#1a1b19)}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-node[data-st="locked"] .nf-plaque b,html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-node[data-st="blocked"] .nf-plaque b{color:#a5a39e}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-node[data-st="available"] .nf-plaque{border-color:#b4b2a9;background:linear-gradient(var(--nf-ready),var(--nf-ready-low));box-shadow:inset 0 1px #c7c2b366,0 2px 0 #0a0a09}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-node[data-st="available"] .nf-plaque b{color:#dbd6c6}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-node[data-st="active"] .nf-plaque{border-color:#cabd95;background:linear-gradient(#4c4c4a,#343532);box-shadow:inset 0 1px #ccc7b84d,0 2px 0 #0a0a09}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-node[data-st="done"] .nf-plaque{border-color:#a29879;background:linear-gradient(#3f3f3d,#2a2a28)}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-node[data-st="done"] .nf-plaque b{color:#c5c0b1}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-node[aria-pressed="true"] .nf-plaque{outline:2px solid #cdc7b8;outline-offset:2px}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-node.nf-search-miss{opacity:.19}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-node-bar i{background:linear-gradient(90deg,#929088,#c1bbac)}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-detail{grid-column:3;grid-row:3;padding:12px 14px 0;background:linear-gradient(var(--nf-raised),var(--nf-panel) 390px);border-left:1px solid #6f6d65}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-dossier-head{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;align-items:center;padding-bottom:10px;border-bottom:1px solid #4f4f4d}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-dossier-head .nf-hero{float:none;margin:0;filter:none;align-self:start}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-dossier-head .nf-hero .nf-ic{width:96px;height:96px;filter:none}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-dossier-head .nf-hero .nf-seal{width:24px;height:24px;font-size:14px;right:2px;bottom:4px}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-dossier-head .nf-hero .nf-ring{width:30px;height:30px;right:0;bottom:2px}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-dossier-head>header{padding:0!important;margin:0!important;min-height:0!important;height:auto!important;border:0!important;box-shadow:none!important;background:none!important;gap:5px;display:flex;align-items:start;align-content:center}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-detail h3{font-size:20px;line-height:1.4;color:#d8d2c2;letter-spacing:.04em;overflow-wrap:anywhere}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-cat{font-size:10px;letter-spacing:.08em;color:#bab8b0}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-pill{margin-left:0;border-color:#68665e;padding:2px 7px;color:#c6c1b2;letter-spacing:.04em}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-pill[data-st="available"]{background:#40413e;border-color:#9a9890;color:#d2cdbd}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-pill[data-st="active"]{background:#4f4f4c;border-color:#aea27f;color:#d0cbbc}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-facts{margin:9px 0 4px;padding:6px 8px;border:1px solid #4c4c4a;background:#181917;font-size:11px;line-height:1.55;color:#bcbab3;font-variant-numeric:tabular-nums}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-desc{margin:7px 0 3px;font-size:12px;line-height:1.8;color:#bfbdb7}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-detail h4{font-size:11px;letter-spacing:.12em;color:#ccc1a1;padding-bottom:6px;border-bottom:1px solid #55534c;margin:13px 0 7px}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-effects{gap:6px}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-effects>li{padding:8px 9px;background:#141413;border:1px solid #3e3e3b;border-left:2px solid #9a9176;box-shadow:inset 0 1px #b1afa710;font-size:12px;line-height:1.7}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-effect-kind{display:block;width:max-content;max-width:100%;margin-bottom:3px;font-size:9px;line-height:1.4;letter-spacing:.12em;color:#a9a79f}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-effect-text{display:block;color:#c6c1b2}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-effect-text b{font-weight:700;color:#cec8b9;font-variant-numeric:tabular-nums}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-effects>li:is([data-kind="war"],[data-kind="joinWar"],[data-kind="wargoal"]){border-left-color:#b76e53;background:#181916}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-effects>li:is([data-kind="war"],[data-kind="joinWar"],[data-kind="wargoal"]) .nf-effect-kind{color:#d6a181}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-effects>li:is([data-kind="research"],[data-kind="tech"],[data-kind="slots"]){border-left-color:#9b9991}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-effects>li[data-kind="decision"]{border-left-color:#b0aea6}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-effect-spirit{padding-top:7px;margin-top:6px;border-top:1px solid #3d3d3b;gap:8px}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-mods{gap:4px}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-mods li{gap:8px;font-size:11px;line-height:1.6}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-mods b{color:#c5c0b1;white-space:nowrap}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-mods li[data-good="true"] b{color:#c3c1b9}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-mods li[data-good="false"] b{color:#e2a68c}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-chip{min-height:44px;padding:6px 9px;background:#282926;border:1px solid #56544d;font-size:11px;touch-action:manipulation}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-chip[data-st="done"]{border-left:3px solid #b6ab88;color:#c9c4b4}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-cta{margin-left:-14px;margin-right:-14px;background:var(--nf-panel);border-top:1px solid #706e66;padding:8px 14px}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-primary{min-height:48px;background:linear-gradient(var(--nf-ready),var(--nf-ready-low));border:1px solid #afada5;box-shadow:inset 0 1px #cbc5b666,0 2px 2px #00000044;color:#dbd6c7;font-size:13px;letter-spacing:.04em}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-primary:disabled{background:#272826;border-color:#50504d;box-shadow:none;color:#9d9b95}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-secondary{min-height:48px;background:#2c2c2a;border-color:#828078;font-size:12px;letter-spacing:.03em}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-legend{background:var(--nf-panel);color:#aba9a3;border-color:#4d4d4b;font-size:10px;min-height:30px}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-zoom{background:#181917f0;border-color:#6f6d66;box-shadow:0 3px 8px #00000066,inset 0 1px #b7b5ac22;bottom:40px}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-zoom button{background:#2d2e2b;border-color:#6c6a62;color:#cdc7b8}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-zoom .nf-overview-btn[aria-pressed="true"]{background:#55534c}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"][data-overview="true"]{grid-template-columns:0 minmax(0,1fr) 0}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-canvas[data-far="true"] .nf-chapter small{display:none}
/* Match the Iron theme's ID-weighted control selectors without touching nodes. */
html[data-scenario="beta-europe-1936"][data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) section.nf-window[data-beta-focus="true"] .nf-searchbar input{background:transparent!important;border:0!important;box-shadow:none!important;color:#d5d0c0}
html[data-scenario="beta-europe-1936"][data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) section.nf-window[data-beta-focus="true"] .nf-searchbar button{background:transparent!important;border:1px solid transparent!important;box-shadow:none!important;color:#bfbaaa}
html[data-scenario="beta-europe-1936"][data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) section.nf-window[data-beta-focus="true"] .nf-searchbar button:is(:hover,:focus-visible,[aria-expanded="true"]){background:#343432!important;border-color:#a29a80!important;color:#d3cebd}
html[data-scenario="beta-europe-1936"][data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) section.nf-window[data-beta-focus="true"] :is(.nf-close,.nf-zoom button,.nf-secondary,.nf-chip){background:linear-gradient(var(--nf-plaque),var(--nf-plaque-low))!important;border:1px solid #716f67!important;box-shadow:inset 0 1px #c4bfaf26!important;color:#cbc5b6}
html[data-scenario="beta-europe-1936"][data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) section.nf-window[data-beta-focus="true"] .nf-primary{background:linear-gradient(var(--nf-ready),var(--nf-ready-low))!important;border:1px solid #afada5!important;box-shadow:inset 0 1px #cbc5b666,0 2px 2px #00000044!important;color:#dbd6c7}
html[data-scenario="beta-europe-1936"][data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) section.nf-window[data-beta-focus="true"] .nf-primary:disabled{background:#272826!important;border-color:#50504d!important;box-shadow:none!important;opacity:1;color:#9d9b95}
html[data-scenario="beta-europe-1936"][data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) section.nf-window[data-beta-focus="true"] .nf-detail h3{letter-spacing:.04em;color:#d8d2c2}
@media(max-width:1390px){
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"][data-spirits-open="true"]{grid-template-columns:0 minmax(0,1fr) 320px}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"][data-spirits-open="true"] .nf-side{position:absolute;left:0;top:116px;bottom:0;width:260px;z-index:10;max-height:none;box-shadow:8px 0 24px #00000099}
}
/* National materials share geometry and legibility, while the map itself stays still. */
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"][data-focus-nation="BRITISH"]{--nf-board:#20211e;--nf-panel:#1f1f1d;--nf-raised:#32322f;--nf-tool:#2a2a28;--nf-plaque:#3b3c38;--nf-plaque-low:#252623;--nf-ready:#5a5850;--nf-ready-low:#3d3e3a;--nf-border:#7e7c75;--nf-accent:#c2b58f;--nf-soft:#b4b2a9;--plq:#b7b6b0}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"][data-focus-nation="ITALIAN"]{--nf-board:#232321;--nf-panel:#1e1e1d;--nf-raised:#343533;--nf-tool:#2c2c2b;--nf-plaque:#3c3c3a;--nf-plaque-low:#2a2a28;--nf-ready:#69675f;--nf-ready-low:#444541;--nf-border:#7a7870;--nf-accent:#b9ae8b;--nf-soft:#b6b4ae;--plq:#c1b99f}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"][data-focus-nation="SOVIET"]{--nf-board:#222220;--nf-panel:#1e1e1d;--nf-raised:#45332c;--nf-tool:#392c27;--nf-plaque:#4b3830;--nf-plaque-low:#222320;--nf-ready:#58564f;--nf-ready-low:#3b3c39;--nf-border:#8a7161;--nf-accent:#bfb38e;--nf-soft:#bdb59b;--plq:#bdb49b}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] :is(.nf-tools,.nf-detail,.nf-legend,.nf-chapter>span){border-color:var(--nf-border)}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] :is(.nf-title small,.nf-legend,.nf-chapter small){color:var(--nf-soft)}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-detail{scrollbar-gutter:stable;overscroll-behavior:contain}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-effects>li[data-kind="economy"]{border-left-color:#bbaf8b;background:linear-gradient(100deg,#55534c26,#12131180)}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-effects>li[data-kind="economy"] .nf-effect-kind{color:#c1b693}
@media(max-width:1100px){
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"],html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"][data-spirits-open="true"]{grid-template-columns:0 minmax(0,1fr) 285px}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-tools{gap:5px}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-searchbar label{width:auto;flex:1}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-tree-status{gap:8px;font-size:10px}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-current{max-width:310px}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-dossier-head{grid-template-columns:84px minmax(0,1fr);gap:10px}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-dossier-head .nf-hero .nf-ic{width:84px;height:84px}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-detail h3{font-size:18px}
}
@media(max-width:860px){
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"],html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"][data-spirits-open="true"]{inset:calc(var(--atlas-top-h,88px) + 4px) 4px 4px;grid-template-columns:minmax(0,1fr);grid-template-rows:58px 48px minmax(140px,1fr) minmax(0,42%)}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-head{height:58px;min-height:0;gap:8px;padding:5px 7px}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-title h2{font-size:16px;letter-spacing:.06em}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-title small{display:none}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-head>.atlas-emblem{width:34px;height:34px}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-current{min-height:44px;padding:4px 7px;flex:1}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-current .nf-ic{display:none}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-current b{font-size:12px}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-current small{font-size:9px}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-tools{padding:2px 6px}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-searchbar{width:100%}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-searchbar button{padding:5px 7px;font-size:11px}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-tree-status{display:none}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-main{grid-row:3;grid-column:1}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-detail{grid-row:4;grid-column:1;display:block;border-top:1px solid #64625b;border-left:0;padding-top:9px}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-dossier-head{grid-template-columns:74px minmax(0,1fr);gap:12px;padding-bottom:8px}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-dossier-head .nf-hero .nf-ic{width:74px;height:74px}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-dossier-head>header{align-items:center}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-detail h3{flex-basis:100%;font-size:18px}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-legend{display:none}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"] .nf-zoom{bottom:6px}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"][data-spirits-open="true"] .nf-side{top:106px;max-height:none;width:min(280px,85vw)}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus="true"][data-overview="true"]{grid-template-columns:minmax(0,1fr);grid-template-rows:58px 48px minmax(0,1fr) 0}
}

/* ── zz-map-sharp.css ── */
/* MAP-SHARP-1: the sharp terrain layer for the area on screen (src/render/terrainDetail.ts). The host is laid out
   like the base terrain image (it follows the SVG in the DOM, so z-index puts it between image and SVG); the
   canvas inside is placed in percent of it and never takes input. */
.map-stage>.terrain-detail-host{position:absolute;left:0;top:0;width:100%;height:100%;z-index:0;overflow:visible;pointer-events:none}
.terrain-detail-host>.terrain-detail{position:absolute;display:block;pointer-events:none}

/* ── zz-national-alerts.css ── */
/* Non-blocking national warnings; the main map remains usable on touch screens. */
html body.playable-integrated .command-ui.hoi-ui .national-alert-strip{position:fixed;left:max(12px,env(safe-area-inset-left));top:144px;z-index:24;display:flex;flex-wrap:wrap;gap:6px;max-width:calc(100vw - 24px);pointer-events:none}
html body.playable-integrated .command-ui.hoi-ui .national-warning{pointer-events:auto;display:flex;align-items:center;gap:8px;min-height:48px;min-width:132px;max-width:190px;padding:5px 10px;border:1px solid #79715a;border-left:3px solid #d4b85e;border-radius:2px;background:linear-gradient(#232321,#121211);box-shadow:0 2px 5px #00000088;color:#ccc7b7;text-align:left;touch-action:manipulation}
html body.playable-integrated .command-ui.hoi-ui .national-warning .hoi-icon{width:24px;height:24px;flex:none}
html body.playable-integrated .command-ui.hoi-ui .national-warning>span:last-child{display:flex;flex-direction:column;gap:2px;min-width:0}
html body.playable-integrated .command-ui.hoi-ui .national-warning b{font:600 13px/1.3 var(--font-ui,system-ui)}
html body.playable-integrated .command-ui.hoi-ui .national-warning small{font:11px/1.3 var(--font-ui,system-ui);max-width:132px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html body.playable-integrated .command-ui.hoi-ui .national-warning.resource-shortage{border-color:#985c48;border-left-color:#e8886d;background:linear-gradient(#34231c,#121211);color:#c2bdae}
html body.playable-integrated .command-ui.hoi-ui .national-warning:focus-visible{outline:2px solid #cfc9ba;outline-offset:3px}
/* Iron's global control rules are important and include an ID selector. */
html[data-ui-theme="iron"] #app .command-ui.hoi-ui .national-alert-strip .national-warning{background:linear-gradient(#232321,#121211)!important;border:1px solid #79715a!important;border-left:3px solid #d4b85e!important;color:#ccc7b7}
html[data-ui-theme="iron"] #app .command-ui.hoi-ui .national-alert-strip .national-warning.resource-shortage{background:linear-gradient(#34231c,#121211)!important;border-color:#985c48!important;border-left-color:#e8886d!important;color:#c2bdae}
html body.playable-integrated .command-ui.hoi-ui .national-warning.diplomacy-pending{border-color:#658e9e;border-left-color:#bdb8a8;background:linear-gradient(#2a2b28,#161714);color:#d8d2c3}
html[data-ui-theme="iron"] #app .command-ui.hoi-ui .national-alert-strip .national-warning.diplomacy-pending{background:linear-gradient(#2a2b28,#161714)!important;border-color:#658e9e!important;border-left-color:#bdb8a8!important;color:#d8d2c3}

/* ── zz-naval-map.css ── */
/* Navy is a map mode. Production/research retain their respective national UI. */
#naval-window.nav-map-drawer{inset:132px auto 84px 12px;width:min(410px,43vw);z-index:64;box-shadow:0 0 0 3px #10191c,4px 8px 22px #0007;border-color:#7e8b7d}
#naval-window.nav-map-drawer .nav-window-header{min-height:64px;padding:10px 14px;gap:10px}
#naval-window.nav-map-drawer .nav-window-header h2{font-size:20px;letter-spacing:3px}
#naval-window.nav-map-drawer .nav-national-seal{width:34px;height:38px}
#naval-window.nav-map-drawer .nav-tabs{padding:0;gap:0;display:grid;grid-template-columns:repeat(3,1fr)}
#naval-window.nav-map-drawer .nav-tabs button{min-height:42px;font-size:12px;padding:8px}
#naval-window.nav-map-drawer .nav-links{display:flex;background:#17262b;border-block:1px solid #455b58}
#naval-window.nav-map-drawer .nav-links button{flex:1;min-height:40px;border:0;border-radius:0;font-size:11px;padding:6px;background:transparent;color:#d5c28f}
#naval-window.nav-map-drawer .nav-main{overflow:auto;overscroll-behavior:contain;touch-action:pan-y}
#naval-window.nav-map-drawer .nav-sea-reading{padding:13px 15px;background:linear-gradient(110deg,#294750,#1a2b32);border-bottom:1px solid #7f8b75}
#naval-window.nav-map-drawer .nav-sea-reading>small{font-size:10px;color:#acbcb4}
#naval-window.nav-map-drawer .nav-sea-reading h3{font-family:Georgia,'Noto Serif SC',serif;font-size:22px;letter-spacing:2px;color:#e4d8b4;margin:5px 0 9px}
#naval-window.nav-map-drawer .nav-sea-reading>div{display:flex;gap:15px;flex-wrap:wrap;font-size:11px;color:#b6c6ba}
#naval-window.nav-map-drawer .nav-sea-reading .nav-mission-buttons{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;margin-top:10px}
#naval-window.nav-map-drawer .nav-mission-buttons button{min-height:40px;padding:5px 2px;font-size:12px;border-color:#60746b;background:#182d33;color:#c4d3c4}
#naval-window.nav-map-drawer .nav-mission-buttons button[aria-pressed=true]{border-color:#d1b77e;color:#f2dfb0;background:#444d39}
#naval-window.nav-map-drawer .nav-fleet-layout{display:block}
#naval-window.nav-map-drawer .nav-fleet-sidebar{border-right:0;border-bottom:1px solid #52645b;padding:10px}
#naval-window.nav-map-drawer .nav-fleet-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:230px;overflow:auto;overscroll-behavior:contain}
#naval-window.nav-map-drawer .nav-fleet-card{min-height:76px;padding:8px;gap:5px}
#naval-window.nav-map-drawer .nav-fleet-seal{display:none}
#naval-window.nav-map-drawer .nav-fleet-copy>b{font-size:12px}
#naval-window.nav-map-drawer .nav-fleet-count{font-size:18px}
#naval-window.nav-map-drawer .nav-fleet-copy>span,#naval-window.nav-map-drawer .nav-fleet-copy>em{font-size:9px}
#naval-window.nav-map-drawer .nav-fleet-main{padding:12px;gap:12px}
#naval-window.nav-map-drawer .nav-fleet-heading{gap:10px;padding-bottom:12px}
#naval-window.nav-map-drawer .nav-fleet-heading-mark{width:36px;height:36px}
#naval-window.nav-map-drawer .nav-fleet-heading h3{font-size:18px}
#naval-window.nav-map-drawer .nav-order-fields{grid-template-columns:1fr;gap:9px;padding:12px}
#naval-window.nav-map-drawer .nav-orders>header{flex-wrap:wrap}
#naval-window.nav-map-drawer .nav-orders footer button{flex:1;min-height:42px}
#naval-window.nav-map-drawer .nav-ship-row{grid-template-columns:62px minmax(0,1fr);gap:6px 12px;padding:10px}
#naval-window.nav-map-drawer .nav-ship-row .nav-ship-gauge{grid-column:auto}
#naval-window.nav-map-drawer .nav-ship-state{display:none}
#naval-window.nav-map-drawer .nav-ship-select .nav-ship-art{width:36px}
#naval-window.nav-map-drawer .nav-merge,#naval-window.nav-map-drawer .nav-transfer{display:flex;flex-wrap:wrap;position:static;padding:10px;gap:8px}
#naval-window.nav-map-drawer .nav-merge>div{flex-basis:100%}
#naval-window.nav-map-drawer .nav-window-footer{padding:8px 12px;min-height:32px;font-size:11px}
#naval-window.nav-map-drawer .nav-commerce,#naval-window.nav-map-drawer .nav-battles{padding:12px}
#naval-window.nav-map-drawer .nav-commerce-intro,#naval-window.nav-map-drawer .nav-commerce-fields,#naval-window.nav-map-drawer .nav-report-layout,#naval-window.nav-map-drawer .nav-loss-columns{display:block}
#naval-window.nav-map-drawer .nav-commerce-fields>label{margin-bottom:12px}
#naval-window.nav-map-drawer .nav-quote{gap:6px}
#naval-window.nav-map-drawer .nav-quote dd{font-size:18px}
#naval-window.nav-map-drawer .nav-voyages>article{flex-wrap:wrap;padding:12px}
#naval-window.nav-map-drawer .nav-voyage-main{min-width:200px}
#naval-window.nav-map-drawer .nav-priorities>div{grid-template-columns:repeat(2,minmax(0,1fr))}
.nav-production{position:static!important;inset:auto!important;z-index:auto!important;display:block!important;box-shadow:none!important;border:0!important;overflow:visible!important;isolation:auto!important;background:#1c1c1a!important}
.nav-production .nav-production-heading{display:flex;align-items:center;gap:18px;padding:18px 22px;border-bottom:1px solid #6b6a65;background:linear-gradient(110deg,#30302f,#212120)}
.nav-production .nav-production-heading>div{flex:1}.nav-production .nav-production-heading small{font-size:11px;color:#b0afaa}.nav-production .nav-production-heading h3{font-size:24px;letter-spacing:3px;margin:5px 0;color:#c5c0b1}.nav-production .nav-production-heading p{font-size:11px;color:#acaba6}
.nav-production .nav-production-heading>b{font-size:26px;color:#cbc0a0}.nav-production .nav-production-heading>b small{display:block;font-size:11px}
.nav-production details.nav-add-line{padding:0;border:1px solid #62615c;background:#232421}.nav-production .nav-add-line>summary{padding:14px 18px;min-height:48px;color:#c6c0b1;cursor:pointer;font-size:14px;list-style:none}.nav-production .nav-add-line[open]>summary{border-bottom:1px solid #62615c}.nav-production .nav-add-line>.nav-section{border:0;margin:0}
.production-kind-tabs{display:flex;gap:8px;margin:0 0 12px;border-bottom:1px solid #6b6963;padding:0 0 10px}
.production-kind-tabs button{flex:1;min-height:48px;color:#cec5ac;background:#21211f;border:1px solid #4c4d4b;font-size:15px;cursor:pointer}.production-kind-tabs button[aria-pressed=true]{background:#363734;border-color:#b5ab8a;box-shadow:inset 0 -3px #beb28e;color:#d3cebe}.production-kind-tabs small{margin-left:12px;font-size:11px}
.nav-production .nav-yard-controls{display:flex;flex-direction:column;gap:8px;min-width:152px;font-size:11px;color:#bcbab5}.nav-production .nav-yard-slots{display:flex;gap:3px}.nav-production .nav-yard-slots button{min-width:27px;width:27px;height:34px;min-height:34px;padding:3px;border-color:#575653;background:#21211f;opacity:.6}.nav-production .nav-yard-slots button[aria-pressed=true]{color:#bfbaaa;opacity:1;background:#3c3c3b;border-color:#ada386}.nav-production .nav-yard-slots svg{width:19px;height:19px}.nav-production .nav-yard-controls>button{min-height:34px;font-size:11px}
.nav-production .nav-line-rank{display:flex;flex-direction:column;gap:4px;align-items:center}.nav-production .nav-line-rank>b{font-size:22px;color:#cdc4a9}.nav-production .nav-line-rank>button{min-height:30px;padding:3px 9px;font-size:14px}.nav-production .nav-queue-art{width:90px}
/* Hide only land command overlays while using the sea map; never mutate their state. */
#eastfront-map.naval-map-active :is(#map-dynamic-layer,#corps-fronts,#battle-bubbles,#action-arrows,#compact-forces){visibility:hidden;pointer-events:none}
#eastfront-map .nav-sea-area,#eastfront-map .nav-map-fleet{cursor:pointer}
@media(max-width:1050px){#naval-window.nav-map-drawer{top:140px;width:min(365px,44vw)}.nav-production .nav-blueprint{grid-template-columns:160px minmax(0,1fr)}.nav-production .nav-class-stats{grid-template-columns:repeat(3,1fr)}.nav-production .nav-queue>article{gap:10px;padding:12px;flex-wrap:wrap}.nav-production .nav-queue-progress{min-width:220px}.nav-production .nav-yard-controls{margin-left:auto}}
@media(max-width:700px){#naval-window.nav-map-drawer{inset:auto 10px 78px;width:auto;height:43vh}#naval-window.nav-map-drawer .nav-fleet-list{max-height:160px}.nav-production .nav-production-heading{padding:12px;flex-wrap:wrap}.nav-production .nav-shipbuilding{padding:10px}.nav-production .nav-blueprint{display:block}.nav-production .nav-blueprint-art{display:none}.nav-production .nav-build-form{grid-template-columns:1fr 70px}.nav-production .nav-build-form button{grid-column:1/-1}.nav-production .nav-queue-progress{min-width:180px}.production-kind-tabs button{font-size:12px}.production-kind-tabs small{display:block;margin:3px 0 0}}
/* Port inspection and one mission strip, matching the map-led naval workflow. */
#naval-window.nav-map-drawer{width:min(440px,43vw)}
#naval-window.nav-map-drawer .nav-main{min-height:0}
#naval-window.nav-map-drawer .nav-mission-buttons button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:52px}
#naval-window.nav-map-drawer .nav-mission-buttons button span{font-size:20px;color:#e1cea0}
#naval-window.nav-map-drawer .nav-base-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:10px}
#naval-window.nav-map-drawer .nav-base-actions button,#naval-window.nav-map-drawer .nav-port-plan button{min-height:44px;font-size:12px;padding:8px}
#naval-window .nav-port-plan{margin:0 10px 10px;padding:12px;background:#343432;border:1px solid #b5aa88;font-size:12px;color:#cbc6b6}#naval-window .nav-port-plan p{line-height:1.5}
#naval-window .nav-port-overview{padding:12px;background:linear-gradient(120deg,#3b3c3a,#232421);border-bottom:1px solid #8c8a82}#naval-window .nav-port-overview header{display:flex;justify-content:space-between;align-items:center}#naval-window .nav-port-overview h3{font-size:20px;color:#c4beaf;margin:3px 0}#naval-window .nav-port-overview small,#naval-window .nav-port-overview p{font-size:12px;color:#bbb9b5}#naval-window .nav-port-overview button{min-height:44px}
#naval-window.nav-map-drawer .nav-fleet-list{display:flex;flex-direction:column;max-height:210px}#naval-window.nav-map-drawer .nav-fleet-card{min-height:66px}#naval-window.nav-map-drawer .nav-fleet-seal{display:block;width:32px;height:32px}#naval-window.nav-map-drawer .nav-fleet-copy>span{font-size:11px}#naval-window.nav-map-drawer .nav-fleet-copy>b{font-size:14px}
#eastfront-map .nav-map-port{cursor:pointer}
@media(max-width:700px){#naval-window.nav-map-drawer{width:auto;height:52vh}}
#naval-window.nav-map-drawer .nav-ship-select .nav-type-image{width:70px;max-height:44px;object-fit:contain}.nav-type-image{object-fit:contain;filter:drop-shadow(0 2px 2px #00000088)}#naval-window.nav-map-drawer .nav-ship-row{grid-template-columns:96px minmax(0,1fr)}
#naval-window .nav-fleet-sidebar[data-detail=true],#naval-window .nav-fleet-main[data-detail=false]{display:none}#naval-window [data-nav-roster]{min-height:44px;width:100%;text-align:left}#naval-window .nav-base-actions{padding:8px}
/* BICE naviesview_window: left fleet list, compact tool rows, mission bar at the bottom. */
html body.playable-integrated #naval-window.bice-navy{width:min(500px,43vw);background:#222220;border-color:#65635d;border-radius:0;box-shadow:2px 4px 12px #00000099}
html body #naval-window.bice-navy button{border-radius:0;background:linear-gradient(#333332,#222221);color:#ccc6b7;border-color:#64625c;font-family:Arial,'Microsoft YaHei',sans-serif;font-size:12px;box-shadow:inset 0 1px #81807933}
#naval-window.bice-navy .nav-window-header{min-height:44px;padding:4px 7px;gap:8px;background:linear-gradient(#40403f,#282827)}#naval-window.bice-navy .nav-window-header h2{font:15px Arial,'Microsoft YaHei',sans-serif;letter-spacing:0;flex:1}#naval-window.bice-navy .nav-window-header>span{font-size:10px;color:#b5b3ac}#naval-window.bice-navy .nav-window-header>button{width:38px;min-height:38px;padding:4px}#naval-window.bice-navy .nav-tabs button{min-height:36px;padding:4px}
#naval-window.bice-navy .nav-main{background:#1c1c1a}#naval-window.bice-navy .nav-fleet-sidebar{padding:4px;border:0}#naval-window.bice-navy .nav-fleet-sidebar>header{display:none}#naval-window.bice-navy .nav-fleet-list{max-height:none;gap:3px}#naval-window.bice-navy .nav-fleet-card{background:linear-gradient(#343433,#232322);min-height:64px;padding:6px;border-color:#595751}#naval-window.bice-navy .nav-fleet-card[aria-pressed=true]{background:#3b3b39;border-color:#a8a69d}
#naval-window.bice-navy .nav-port-overview{padding:5px 8px;background:linear-gradient(#3e3e3c,#282927);border-color:#6f6d65}#naval-window.bice-navy .nav-port-overview h3{font:15px Arial,'Microsoft YaHei',sans-serif}#naval-window.bice-navy .nav-port-overview p{margin:3px 0}#naval-window.bice-navy .nav-port-overview small{font-size:10px}#naval-window.bice-navy .nav-port-overview button{min-height:36px;font-size:11px}
#naval-window.bice-navy .nav-fleet-main{padding:6px;gap:6px}#naval-window.bice-navy .nav-fleet-heading{padding:5px 0;gap:6px}#naval-window.bice-navy .nav-fleet-heading h3{font:15px Arial,'Microsoft YaHei',sans-serif;letter-spacing:0}#naval-window.bice-navy .nav-fleet-heading p{margin:2px 0}#naval-window.bice-navy .nav-fleet-heading-mark{display:none}#naval-window.bice-navy .nav-base-actions{grid-template-columns:repeat(4,1fr);padding:4px;gap:3px}#naval-window.bice-navy .nav-base-actions button{min-height:38px;font-size:10px;padding:3px}#naval-window.bice-navy .nav-base-actions svg{display:none}
#naval-window.bice-navy .nav-ship-row{grid-template-columns:82px minmax(0,1fr) 72px;gap:3px 7px;padding:4px;min-height:60px;background:linear-gradient(#2f2f2e,#222221);border-bottom:1px solid #161615}#naval-window.bice-navy .nav-ship-row .nav-ship-select{grid-row:1/3;min-height:44px}#naval-window.bice-navy .nav-ship-row .nav-ship-name{grid-row:1/3}#naval-window.bice-navy .nav-ship-row .nav-ship-name b{font-size:12px}#naval-window.bice-navy .nav-ship-row .nav-ship-name small{font-size:9px}#naval-window.bice-navy .nav-ship-row .nav-ship-gauge{grid-column:3;font-size:9px}#naval-window.bice-navy .nav-ship-row .nav-meter{height:4px}
#naval-window.bice-navy .nav-sea-reading{position:fixed;bottom:85px;left:max(44vw,calc(50% - 40px));right:12px;width:auto;max-width:532px;z-index:65;background:linear-gradient(#313130,#20201f);padding:8px 10px;border:2px solid #6c6a62;box-shadow:0 2px 8px #00000099}
#naval-window.bice-navy .nav-mission-heading{display:flex;justify-content:space-between;font-size:12px;color:#ccc7b7}#naval-window.bice-navy .nav-mission-heading>span{color:#adaaa2;font-size:11px}#naval-window.bice-navy .nav-sea-reading .nav-mission-buttons{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin:6px 0}#naval-window.bice-navy .nav-mission-buttons button{min-height:56px;gap:3px}#naval-window.bice-navy .nav-mission-buttons small{font-size:10px;font-weight:400}#naval-window.bice-navy .nav-mission-buttons button[aria-pressed=true]{background:#444541;border-color:#a4ba75}#naval-window.bice-navy .nav-region-status{display:flex;justify-content:space-between;font-size:10px;color:#aaa89f}#naval-window.bice-navy .nav-links button{min-height:34px}#naval-window.bice-navy .nav-window-footer:empty{display:none}
@media(max-width:700px){html body.playable-integrated #naval-window.bice-navy{width:auto}#naval-window.bice-navy .nav-sea-reading{position:static;width:auto;max-width:none;border-width:1px;padding:4px}#naval-window.bice-navy .nav-mission-buttons button{min-height:42px;flex-direction:row}#naval-window.bice-navy .nav-mission-buttons svg{width:22px;height:22px}#naval-window.bice-navy .nav-region-status{display:none}}

@media(pointer:coarse){html body.playable-integrated #naval-window.bice-navy button{min-height:40px}}

html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) #naval-window.bice-navy button{background:linear-gradient(#333331,#252523)!important;border:1px solid #626059!important;box-shadow:inset 0 1px #8e8c8433!important;color:#cec9ba!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) #naval-window.bice-navy button[aria-pressed=true]{background:linear-gradient(#4d4e4b,#383835)!important;border-color:#a1ba72!important;box-shadow:inset 3px 0 #bfbcb4!important}

#naval-window.bice-navy :is(.nav-window-header h2,.nav-fleet-heading h3,.nav-port-overview h3){font:15px Arial,'Microsoft YaHei',sans-serif!important;letter-spacing:0!important}
#naval-window.bice-navy .nav-port-overview h3{display:flex;gap:5px;align-items:center}#naval-window.bice-navy .nav-port-overview h3 svg{width:20px;height:20px}
#naval-window.bice-navy .nav-orders>header,#naval-window.bice-navy .nav-ship-list>header{padding:5px 7px;min-height:32px}#naval-window.bice-navy .nav-orders>header h4{margin:0;font-size:12px}#naval-window.bice-navy .nav-orders>header span{font-size:10px}
#naval-window.bice-navy .nav-ship-state{display:none}

/* ── zz-navy-corps.css ── */
/* Ship designer, convoy lanes, admirals, Officer Corps window and lend-lease panel (touch: targets ≥40px, one scroll area). */
/* ---------- ship designer (naval window · 设计) ---------- */
#naval-window .dz{display:flex;flex-direction:column;gap:10px;padding:10px 12px 16px}
#naval-window .dz-note{color:var(--nav-muted);font-size:12.5px;padding:6px 2px}
#naval-window .dz-xp{display:flex;align-items:center;gap:14px;padding:9px 12px;border:1px solid var(--nav-line);background:linear-gradient(110deg,#282927,#1b1b1a)}
#naval-window .dz-xp small{display:block;font-size:10.5px;color:var(--nav-muted);letter-spacing:1px}#naval-window .dz-xp b{font:600 22px/1.1 Georgia,'Noto Serif SC',serif;color:var(--nav-gold)}#naval-window .dz-xp em{font-style:normal;font-size:12px;color:var(--nav-muted)}
#naval-window .dz-xp p{flex:1;font-size:11.5px;color:var(--nav-muted)}
#naval-window .dz-classes{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}
#naval-window .dz-classes button{min-height:42px;padding:4px 2px;flex-direction:column;gap:0;font-size:12.5px}#naval-window .dz-classes button small{font-size:10px;color:var(--nav-muted)}
#naval-window .dz-classes button[aria-pressed=true]{background:#3d3e3c;border-color:var(--nav-gold);color:#d4cfbf}
#naval-window .dz-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px}
#naval-window .dz-card{border:1px solid var(--nav-line);background:#1d1d1c;padding:9px 10px;display:flex;flex-direction:column;gap:5px}
#naval-window .dz-card[data-preferred=true]{border-color:#a29878;box-shadow:inset 3px 0 0 var(--nav-gold)}#naval-window .dz-card[data-obsolete=true]{opacity:.55}
#naval-window .dz-card header{display:flex;justify-content:space-between;gap:6px;align-items:baseline}#naval-window .dz-card header b{font-size:14px;color:#d7d1c2}#naval-window .dz-card header span{font-size:11px;color:var(--nav-muted);white-space:nowrap}
#naval-window .dz-card>p{font-size:11.5px;color:var(--nav-muted)}
#naval-window .dz-mini{display:flex;flex-wrap:wrap;gap:2px 10px;font-size:11.5px;color:#bab9b3}#naval-window .dz-mini b{color:#d5d0c0}
#naval-window .dz-card footer{display:flex;gap:4px;flex-wrap:wrap}#naval-window .dz-card footer button{min-height:40px;padding:4px 10px;font-size:12.5px;flex:1}
#naval-window .dz-editor{border:1px solid #a29878;background:linear-gradient(180deg,#232321,#191917);padding:10px;display:flex;flex-direction:column;gap:8px}
#naval-window .dz-editor>header{display:flex;align-items:center;justify-content:space-between}#naval-window .dz-editor>header small{font-size:11px;color:var(--nav-muted)}#naval-window .dz-editor>header h3{font:600 18px Georgia,'Noto Serif SC',serif;color:var(--nav-gold);letter-spacing:2px}
#naval-window .dz-editor>header button{width:44px;font-size:20px;padding:0}
#naval-window .dz-row{display:grid;grid-template-columns:108px 1fr;gap:8px;align-items:center;font-size:12.5px}
#naval-window .dz-row>span{color:#bfbaad;line-height:1.25}#naval-window .dz-row>span i{display:block;font-style:normal;font-size:10px;color:#d6a46d}
#naval-window .dz-row :is(select,input){min-height:42px;width:100%;min-width:0;background:#141412;color:#d6d1c1;border:1px solid #595750;padding:6px 8px;font-size:13px}
#naval-window .dz-slots{display:flex;flex-direction:column;gap:5px;max-height:none}
#naval-window .dz-preview{position:sticky;top:0;z-index:2;background:#1c1c1a;border:1px solid var(--nav-line);padding:6px}
#naval-window .dz-stats{display:grid;grid-template-columns:repeat(6,1fr);gap:3px;margin:0}
#naval-window .dz-stats div{background:#151614;padding:4px 5px;min-width:0}#naval-window .dz-stats dt{font-size:10px;color:var(--nav-muted)}#naval-window .dz-stats dd{margin:0;font:600 14px/1.2 Georgia,serif;color:#d6d0c1;white-space:nowrap}
#naval-window .dz-stats dd small{display:block;font:500 10.5px/1.1 system-ui,sans-serif}#naval-window .dz-stats div[data-tone=up] small{color:#8fd19a}#naval-window .dz-stats div[data-tone=down] small{color:#f0937e}
#naval-window .dz-commit{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;position:sticky;bottom:0;background:#191917;padding-top:6px;border-top:1px solid var(--nav-line)}
#naval-window .dz-commit span{font-size:12.5px;color:#c7c2b4}#naval-window .dz-commit b{color:var(--nav-gold)}#naval-window .dz-bad{color:#f0a08c!important}
/* ---------- admirals (fleet panel) ---------- */
#naval-window .nav-admiral-skills{font-size:12px;color:#c3c1bc;padding:0 2px 4px}
#naval-window .nav-admiral-traits{list-style:none;margin:0 0 6px;padding:0;display:flex;flex-wrap:wrap;gap:4px}
#naval-window .nav-admiral-traits li{border:1px solid #69624b;background:#21211f;padding:3px 7px;font-size:11.5px;max-width:100%}#naval-window .nav-admiral-traits li b{color:#cec8b9}#naval-window .nav-admiral-traits li small{display:block;color:var(--nav-muted);font-size:10.5px}
/* ---------- convoys (commerce tab) ---------- */
#naval-window .cv-section h4{margin:10px 0 4px;font-size:13px;color:var(--nav-gold)}
#naval-window .cv-totals{display:grid;grid-template-columns:1fr 1fr;gap:6px}
#naval-window .cv-totals>div{border:1px solid var(--nav-line);background:#18282c;padding:7px 9px}#naval-window .cv-totals>div[data-tone=bad]{background:#2a1c1b;border-color:#6b4038}
#naval-window .cv-totals small{display:block;font-size:10.5px;color:var(--nav-muted)}#naval-window .cv-totals b{display:block;font-size:13px;color:#efe5c6}#naval-window .cv-totals span{font-size:11px;color:#b7c0bb}
#naval-window .cv-gateways{margin-top:6px;border:1px solid var(--nav-line);padding:4px 8px}#naval-window .cv-gateways summary{min-height:40px;display:flex;align-items:center;cursor:pointer;color:#cfe3dc}
#naval-window .cv-gateways ul,#naval-window .cv-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
#naval-window .cv-gateways li{font-size:12px;padding:4px 0}#naval-window .cv-gateways li small{display:block;color:var(--nav-muted)}
#naval-window .cv-list li{border-left:3px solid #4f8c86;background:#152327;padding:5px 8px;font-size:12px;display:grid;grid-template-columns:auto 1fr;gap:0 8px}
#naval-window .cv-list li b{color:#cfe9df;white-space:nowrap}#naval-window .cv-list li small{grid-column:1/-1;color:var(--nav-muted);font-size:10.5px}
#naval-window .cv-list li[data-kind=TROOPS]{border-color:#c9a64e}#naval-window .cv-list li[data-kind=ARMS]{border-color:#c47f53}#naval-window .cv-list li[data-kind=COMMERCE]{border-color:#7f9cb7}
#naval-window .cv-reports li[data-own=RAIDER]{border-color:#d9c28b;background:#272618}#naval-window .cv-reports li[data-own=VICTIM]{border-color:#d0705e;background:#2a1a19}
#naval-window .nav-note{font-size:12px;color:var(--nav-muted)}
/* ---------- Officer Corps window ---------- */
.corps-window{--c-ink:#d4cfc1;--c-dim:#aaa8a3;--c-line:#585650;--c-gold:#cec29d;color:var(--c-ink);font:13px/1.45 'Microsoft YaHei','Noto Sans SC',system-ui,sans-serif}
#corps-window{position:fixed;inset:92px auto 20px 12px;width:min(560px,calc(100vw - 24px));z-index:74;display:flex;flex-direction:column;background:linear-gradient(180deg,#1b1b1a,#111110);border:1px solid #8f876f;box-shadow:0 0 0 4px #0b0b0b,0 16px 40px #00000099;overflow:hidden;pointer-events:auto}
#corps-window *{box-sizing:border-box}#corps-window :is(h2,h3,p){margin:0}
#corps-window button{min-height:44px;padding:6px 12px;border:1px solid #5a5956;border-radius:0;background:linear-gradient(#2a2a28,#1b1b1a);color:#d1ccbd;font:inherit;touch-action:manipulation;cursor:pointer}
#corps-window button:disabled{opacity:.45;cursor:not-allowed}#corps-window button[aria-pressed=true]{background:#3e3e3c;border-color:var(--c-gold);color:#d5d0c0}
#corps-window select{min-height:44px;min-width:0;flex:1;background:#10100f;color:var(--c-ink);border:1px solid #5a5956;padding:6px;font:inherit}
.corps-header{display:flex;align-items:center;gap:10px;min-height:60px;padding:8px 12px;background:linear-gradient(110deg,#353533,#1b1b1a);border-bottom:1px solid #8f876f}
.corps-header>div{flex:1}.corps-header small{font-size:10.5px;color:var(--c-dim);letter-spacing:1px}.corps-header h2{font:600 21px/1.1 Georgia,'Noto Serif SC',serif;color:var(--c-gold);letter-spacing:4px}
.corps-header button{width:44px;font-size:22px;padding:0!important}
.corps-gauges{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--c-line)}
.corps-gauge{padding:8px 10px;border-right:1px solid #2d2d2b}.corps-gauge:last-child{border:0}.corps-gauge small{font-size:10.5px;color:var(--c-dim)}
.corps-gauge b{display:block;font:600 19px/1.15 Georgia,serif}.corps-gauge b em{font:400 11px system-ui;color:var(--c-dim)}.corps-gauge p{font-size:10.5px;color:var(--c-dim)}
.corps-bar{display:block;height:4px;background:#282927;margin:3px 0}.corps-bar i{display:block;height:100%;background:var(--c-gold)}
.corps-gauge[data-tone=navy] .corps-bar i{background:#9e9c94}.corps-gauge[data-tone=air] .corps-bar i{background:#a9c6e0}
.corps-tabs{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--c-line)}.corps-tabs button{border-width:0 1px 0 0!important}
.corps-main{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:10px 12px 18px;display:flex;flex-direction:column;gap:9px}
.corps-note{font-size:12px;color:var(--c-dim)}.corps-note b{color:var(--c-gold)}
.corps-slots{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.corps-slot{border:1px dashed #686661;padding:8px;display:flex;flex-direction:column;gap:3px;min-height:96px}.corps-slot[data-filled=true]{border-style:solid;border-color:#a29878;background:#21211e}
.corps-slot small{font-size:10px;color:var(--c-dim)}.corps-slot b{color:#d0cbbc;font-size:14px}.corps-slot p{font-size:11.5px;color:#bfbaad;flex:1}
.corps-chips{display:flex;flex-wrap:wrap;gap:4px}.corps-chips button{min-height:40px!important;padding:4px 10px!important;font-size:12px!important}
.corps-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}
.corps-list li{display:flex;gap:8px;align-items:center;border:1px solid #3a3b38;background:#171716;padding:7px 9px}.corps-list li[data-adopted=true]{border-color:#a29878;background:#20201d}
.corps-list li>div{flex:1;min-width:0}.corps-list b{color:#d5d0c0}.corps-list p{font-size:11.5px;color:#c2c0b8}.corps-list small{font-size:10px;color:#807f78;word-break:break-all}
.corps-list button{flex:0 0 auto;min-width:92px}
.corps-primary{background:linear-gradient(#484946,#2e2e2d)!important;border-color:var(--c-gold)!important;color:#dcd7c8!important}
.corps-admirals{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}
.corps-admirals>li{border:1px solid #3a3b38;background:#171716;padding:8px 10px;display:flex;flex-direction:column;gap:5px}.corps-admirals>li[data-recruited=false]{opacity:.85;border-style:dashed}
.corps-admirals header{display:flex;justify-content:space-between}.corps-admirals header b{color:#d0cbbc;font-size:14px}.corps-admirals header span{color:var(--c-dim);font-size:11.5px}
.corps-skills{display:flex;flex-wrap:wrap;gap:2px 12px;font-size:11.5px;color:#c2c0b8}.corps-skills b{color:#d5d0c0}
.corps-traits{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px}.corps-traits li{border:1px solid #69624b;background:#21211f;padding:3px 7px;font-size:11.5px}.corps-traits small{display:block;color:var(--c-dim);font-size:10.5px}
.corps-assign{display:flex;gap:6px}.corps-admirals small{font-size:11px;color:var(--c-dim)}
.corps-air{display:flex;flex-direction:column;gap:8px;padding:6px 0}.corps-air b{color:var(--c-gold);font-size:18px}
.corps-error{min-height:20px;padding:2px 12px 6px;color:#f0a08c;font-size:12px}
@media (max-width:860px){#corps-window{inset:84px 8px 12px 8px;width:auto}.corps-slots{grid-template-columns:1fr}#naval-window .dz-stats{grid-template-columns:repeat(4,1fr)}#naval-window .dz-row{grid-template-columns:86px 1fr}#naval-window .dz-classes{grid-template-columns:repeat(3,1fr)}}
/* ---------- lend-lease (economy · 军火市场) ---------- */
.at-panel{padding:10px 12px;display:flex;flex-direction:column;gap:7px}
.at-panel>header{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;align-items:baseline}.at-panel>header h4{margin:0}.at-panel>header span{font-size:11px;opacity:.75}
.at-note{font-size:11.5px;opacity:.8;margin:0}
.at-row{display:grid;grid-template-columns:64px 1fr;gap:8px;align-items:center;font-size:12.5px}.at-row :is(select,input){min-height:44px;width:100%;min-width:0;font:inherit}
.at-panel footer{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.at-panel footer button{min-height:44px;padding:6px 16px}
.at-list{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:5px}
.at-list li{border:1px solid #55534e;padding:6px 8px;font-size:12px;display:flex;flex-direction:column;gap:3px}.at-list li[data-incoming=true]{border-color:#8c8a82}
.at-list li header{display:flex;justify-content:space-between;gap:6px}.at-list li em{font-style:normal;color:#f0937e}.at-list li small{opacity:.75;font-size:10.5px}.at-list li button{align-self:flex-end;min-height:40px}
.at-bar{display:block;height:4px;background:#282927}.at-bar i{display:block;height:100%;background:#c0b592}
/* Four navy tabs (舰队 · 设计 · 商运 · 战报) stay on one row; the design commit button spans the drawer. */
#naval-window .nav-tabs{display:grid!important;grid-template-columns:repeat(4,1fr)!important}#naval-window .nav-tabs button{min-width:0;padding-inline:4px}
#naval-window .dz-commit button{flex:1 1 100%;min-height:46px}

/* ── zz-navy-landing.css ── */
/* LANDING-1: compact amphibious operations room. No animated map overlays. */
#naval-window.bice-navy .nav-tabs{grid-template-columns:repeat(5,minmax(0,1fr))!important}
#naval-window.bice-navy .nav-tabs button{min-height:48px!important;gap:3px;font-size:11px}
#naval-window.bice-navy .nav-tabs .nav-icon{width:18px;height:18px}
#naval-window[data-navy-tab=landing] .nav-sea-reading{display:none}
#naval-window .landing-room{padding:10px;display:grid;gap:12px;color:#cdc8b9}
#naval-window .landing-room svg,.landing-army-entry svg{width:24px;height:24px;flex:none}
#naval-window .landing-room button{min-height:48px!important;white-space:normal}
#naval-window .landing-heading{display:flex;align-items:center;gap:12px;padding:12px;background:linear-gradient(115deg,#3c3c3a,#242423);border:1px solid #6c6a62;border-left:3px solid #c8bb95}
#naval-window .landing-heading>div{flex:1;text-align:left;min-width:0}
#naval-window .landing-heading>span{border:1px solid #a29879;padding:10px;color:#cdc19f}
#naval-window .landing-heading>span svg{width:30px;height:30px}
#naval-window .landing-heading h3{font-size:22px;font-family:Georgia,'Noto Serif SC',serif;font-weight:500;letter-spacing:3px;color:#cdc8b9}
#naval-window .landing-heading small{color:#b3b1a9;font-size:10px;letter-spacing:2px}
#naval-window .landing-heading p{font-size:11px;color:#aaa9a2;margin-top:3px}
#naval-window .landing-capacity{display:flex;justify-content:space-between;gap:8px;padding:7px 4px;color:#aeaca4;font-size:11px}
#naval-window .landing-capacity>span{display:flex;gap:4px;align-items:baseline;flex-wrap:wrap}
#naval-window .landing-capacity>span>small{display:inline;margin:0}
#naval-window .landing-capacity b{font-size:20px;color:#d0cabb;font-weight:500;margin-left:5px}
#naval-window .landing-planner,#naval-window .landing-active,#naval-window .landing-history{border:1px solid #57554e;background:#1c1d1c;min-width:0}
#naval-window .landing-planner>summary,#naval-window .landing-history>summary{cursor:pointer;padding:11px 12px;min-height:48px;background:#323231;color:#c9c4b4;list-style-position:inside;font-size:14px;touch-action:manipulation}
#naval-window .landing-planner>summary small{float:right;color:#b2b1a9;margin-top:3px}
#naval-window .landing-plan-body{padding:12px;display:grid;gap:11px}
#naval-window .landing-port-fields{display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:10px 8px;align-items:end}
#naval-window .landing-port-fields label{color:#bebdb8;font-size:11px}
#naval-window .landing-port-fields select{height:46px;background:#191917;color:#cfc9b9;border-color:#6b6962;text-overflow:ellipsis}
#naval-window .landing-port-fields button{font-size:10px;gap:3px;padding:5px;min-height:48px}
#naval-window .landing-port-fields button svg{width:20px;height:20px}
#naval-window .landing-pick-note{background:#3f3f3d;border:1px solid #a79d7e;padding:6px 9px;font-size:11px;display:flex;align-items:center;gap:7px;color:#d2cdbe}
#naval-window .landing-pick-note button{margin-left:auto;padding:5px;flex:none}
#naval-window .landing-unit-heading{display:flex;justify-content:space-between;gap:5px;align-items:center;color:#c0baab;font-size:11px}
#naval-window .landing-unit-heading button{padding:5px 8px;font-size:10px}
#naval-window .landing-unit-list{max-height:270px;overflow:auto;overscroll-behavior:contain;touch-action:pan-y;border:1px solid #484846;scrollbar-width:thin}
#naval-window .landing-unit{display:flex;flex-direction:row;align-items:center;gap:10px;padding:10px;min-height:65px;border-bottom:1px solid #424240;background:#282927;cursor:pointer}
#naval-window .landing-unit:last-child{border-bottom:0}
#naval-window .landing-unit[data-ready=false]{background:#21221f;opacity:.7}
#naval-window .landing-unit input{flex:none;width:23px;height:23px;accent-color:#c0b490}
#naval-window .landing-unit>span{display:flex;flex-direction:column;gap:3px;min-width:0}
#naval-window .landing-unit b{color:#cfc9ba;font-size:12px;font-weight:500;overflow-wrap:anywhere}
#naval-window .landing-unit small{color:#afada5;font-size:10px;line-height:1.5}
#naval-window .landing-assembly{display:grid;grid-template-columns:1fr 1.5fr;gap:6px}
#naval-window .landing-assembly button{padding:5px;font-size:10px;gap:5px}
#naval-window .landing-rules{display:grid;gap:4px;padding:9px 10px;background:#161714;border-left:2px solid #8f8d85;color:#b4b3ac;font-size:11px}
#naval-window .landing-rules>span{display:flex;justify-content:space-between;gap:6px}
#naval-window .landing-rules b{font-weight:500;color:#c2bcad}
#naval-window .landing-note,#naval-window .landing-empty{font-size:11px;line-height:1.7;color:#aeada6}
#naval-window .landing-empty{padding:15px}
#naval-window .landing-launch{width:100%;background:linear-gradient(#58574f,#383936)!important;border-color:#a19f96!important;color:#d5cfbf!important;font-size:13px;min-height:50px!important}
#naval-window .landing-active>header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#323231}
#naval-window .landing-active h3{font-size:14px;font-weight:500;color:#c6c1b2}
#naval-window .landing-operation{padding:12px;display:grid;gap:9px;border-top:1px solid #615f58}
#naval-window .landing-operation>header{display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:11px}
#naval-window .landing-operation>header>b{flex:1;color:#cfc9ba;font-size:12px;font-weight:500}
#naval-window .landing-operation>header>span:last-child{color:#b4b2ac;font-size:10px}
#naval-window .landing-state{font-size:10px;padding:3px 6px;border:1px solid #88867e;color:#c6c1b2;background:#363734}
#naval-window .landing-operation[data-status=ASSAULT] .landing-state{border-color:#a39775;background:#383936;color:#beb9a9}
#naval-window .landing-trip{display:flex;align-items:center;gap:8px;color:#ccc3aa;font-size:12px}
#naval-window .landing-trip>svg{width:22px;height:22px;color:#b6b77e}
#naval-window .landing-trip>b{color:#cbc6b6;font-weight:500}
#naval-window .landing-progress{height:5px;background:#111110;border:1px solid #4a4a47;overflow:hidden}
#naval-window .landing-progress i{display:block;height:100%;background:#b2b0a8}
#naval-window .landing-progress-label{display:flex;justify-content:space-between;color:#aba8a0;font-size:10px;margin-top:-6px}
#naval-window .landing-progress-label b{font-weight:500;color:#c5bfb0}
#naval-window .landing-assault{display:flex;align-items:center;gap:7px;font-size:11px;color:#cabf9b}
#naval-window .landing-reason{color:#ccc3aa;font-size:11px;line-height:1.6}
#naval-window .landing-route{padding:9px;background:#151513;border:1px solid #53524c}
#naval-window .landing-route>header{display:flex;justify-content:space-between;gap:5px;font-size:10px;color:#bbb9b2;margin-bottom:7px}
#naval-window .landing-route>p{margin-top:7px;font-size:10px;color:#b0aea8;line-height:1.6}
#naval-window .landing-route[data-ready=false]>p{color:#c5ba9a}
#naval-window .landing-sea{position:relative;width:100%;display:flex;justify-content:space-between;align-items:center;padding:8px 9px 12px;margin-top:5px;gap:8px;background:#2a2b29!important;text-align:left;border-color:#706e66!important}
#naval-window .landing-sea[data-ready=false]{background:#2b2c2a!important;border-color:#7a7156!important}
#naval-window .landing-sea>span{display:flex;flex-direction:column;gap:3px;flex:1}
#naval-window .landing-sea b{font-size:11px;font-weight:500}
#naval-window .landing-sea small{font-size:10px;line-height:1.45;color:#acaba4}
#naval-window .landing-sea strong{font-size:17px;font-weight:500;color:#c9c4b4}
#naval-window .landing-sea>i{position:absolute;left:0;bottom:0;width:var(--landing-progress);height:3px;background:#98b87b}
#naval-window .landing-sea[data-ready=false]>i{background:#b4a882}
#naval-window .landing-operation>footer{display:flex;gap:6px;flex-wrap:wrap}
#naval-window .landing-operation>footer>button{flex:1;min-width:72px;padding:7px;font-size:11px;gap:4px}
#naval-window .landing-history p{padding:8px 12px;display:flex;justify-content:space-between;gap:8px;font-size:11px;color:#b8b6af}
#naval-window .landing-history p>b{font-weight:500}
.landing-army-entry{display:flex!important;gap:10px;align-items:center;width:100%;min-height:48px!important;text-align:left!important;margin-bottom:10px;border-left:3px solid #c9bd9a!important}
.landing-army-entry>small{margin-left:auto;color:#b3b2ab;font-size:11px}
.beta-sea-sheet .beta-landing-entry{min-height:48px;margin:8px 12px;color:#c5bfb0;background:#3d3d3b;border:1px solid #939189;flex:none;font-size:12px}
#naval-window .nav-supremacy-help{display:flex;gap:6px 12px;flex-wrap:wrap;font-size:10px;padding-top:6px;border-top:1px solid #5a5850;color:#b8b6ad}
#naval-window .nav-supremacy-help>p{flex:1 1 100%;font-size:10px;line-height:1.4}
#naval-window .nav-supremacy-help>button{margin-left:auto;min-height:38px;padding:4px 8px;font-size:10px}
@media(max-width:700px){#naval-window .landing-room{padding:8px}#naval-window .landing-heading{padding:9px}#naval-window .landing-heading h3{font-size:19px}#naval-window .landing-plan-body{padding:9px}#naval-window.bice-navy .nav-tabs .nav-icon{display:none}.landing-army-entry>small{font-size:10px}#naval-window .landing-unit-list{max-height:200px}}
@media(max-width:380px){#naval-window .landing-port-fields{grid-template-columns:minmax(0,1fr) 80px}#naval-window .landing-port-fields button svg{display:none}#naval-window .landing-planner>summary small{display:none}}

/* A destination-first order: staging stays automatic, optional origin stays folded. */
.landing-unit-heading b{display:flex;align-items:center;gap:8px}
.landing-unit-heading em{display:inline-grid;place-items:center;width:24px;height:24px;border:1px solid #9c947c;border-radius:50%;font-style:normal;font-size:12px;color:#d0cbbc}
.landing-army-select{display:grid;gap:6px;color:#bbb9b3;font-size:12px}
.landing-army-select select{width:100%;min-width:0;min-height:48px;padding:8px;background:#1e1e1d;border:1px solid #6c6a64;color:#d4cfbf;font:inherit;font-size:14px}
.landing-origin{border-block:1px solid #474846;padding:10px 0}
.landing-origin summary,.landing-route-details summary{min-height:48px;display:flex;align-items:center;cursor:pointer;color:#c3bdad;font-size:13px}
.landing-origin summary::before,.landing-route-details summary::before{content:'›';margin-right:10px;font-size:22px}
.landing-origin[open] summary::before,.landing-route-details[open] summary::before{transform:rotate(90deg)}
.landing-origin p{color:#adaca7;font-size:12px;line-height:1.65}
.landing-stages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;padding:0;margin:10px 0;list-style:none}
.landing-stages li{border-bottom:2px solid #3d3d3c;padding:6px 2px;font-size:11px;text-align:center;color:#8b8984}
.landing-stages li[data-state=done]{color:#b6b4ac;border-color:#85837b}
.landing-stages li[data-state=current]{color:#cfcabb;border-color:#d1c49a;background:#3f3f3d66}
.landing-mustering{display:flex;gap:8px;align-items:center;color:#c4beaf;font-size:12px;line-height:1.6}
.landing-mustering svg{width:26px;min-width:26px;height:26px}
.beta-sea-targets details>summary{min-height:48px;display:flex;align-items:center;padding:0 12px;border-bottom:1px solid #585651;color:#c8c3b3;cursor:pointer}
.beta-sea-targets button,.beta-sea-units button{min-height:48px}
.beta-sea-ports button[aria-pressed=true]{border-color:#d3c59b;background:#454643;color:#e0dbcb}
.nav-map-transport{cursor:pointer}
.nav-map-transport:hover rect{fill:#47594d;stroke:#fff3cc}

/* ── zz-strategy-management.css ── */
/* Static steel panels; no blur, animated shadows or pointer-move layout work. */
html body .command-ui.hoi-ui .management-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 14px;margin:0 0 8px;border:1px solid #756d56;background:linear-gradient(110deg,#2c2c2b,#181917);box-shadow:inset 4px 0 #b8ae8c}
html body .command-ui.hoi-ui .management-heading h3{margin:2px 0!important;padding:0!important;border:0!important;color:#d6d1c1;font-size:19px;letter-spacing:.12em}
html body .command-ui.hoi-ui .management-heading small{color:#b0a88f;font-size:12px;letter-spacing:.18em}
html body .command-ui.hoi-ui .management-heading>span{color:#cdc4ab;font-variant-numeric:tabular-nums}
html body .command-ui.hoi-ui .management-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
html body .command-ui.hoi-ui .management-tabs button{flex:1;min-width:70px;min-height:44px;padding:8px 12px;border:1px solid #4c4d4b;background:#1d1e1c;color:#bfbeb9}
html body .command-ui.hoi-ui .management-tabs button[aria-pressed=true]{border-color:#bab090;background:#383837;color:#e0dbcb;box-shadow:inset 0 -3px #bab090}
html body .command-ui.hoi-ui .management-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#464643;margin-bottom:14px;border:1px solid #464643}
html body .command-ui.hoi-ui .management-metrics>span{display:flex;flex-direction:column;gap:4px;padding:6px 12px;background:#191a18;color:#a8a7a4;font-size:12px}
html body .command-ui.hoi-ui .management-metrics b{font-size:20px;font-variant-numeric:tabular-nums;color:#cec8b9}
html body .command-ui.hoi-ui :is(.army-management,.rail-planner,.hoi-recruitment,.dip-panel) button{touch-action:manipulation}
html body .command-ui.hoi-ui :is(.deployment-workspace,.rail-endpoints){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
html body .command-ui.hoi-ui .deployment-units{max-height:460px;overflow:auto;overscroll-behavior:contain;border:1px solid #474745}
html body .command-ui.hoi-ui .deployment-units label{display:flex;align-items:center;gap:12px;min-height:58px;padding:8px 12px;border-bottom:1px solid #343432;background:#191a18}
html body .command-ui.hoi-ui .deployment-units input{width:22px;height:22px;accent-color:#b9af90;flex:none}
html body .command-ui.hoi-ui .deployment-units span{display:grid;gap:4px;min-width:0}
html body .command-ui.hoi-ui .deployment-units small{color:#a4a39e;overflow-wrap:anywhere}
html body .command-ui.hoi-ui .deployment-armies article{padding:14px;border:1px solid #4d4e4c;border-left:3px solid #ada385;margin-bottom:10px;background:#1d1d1c}
html body .command-ui.hoi-ui :is(.deployment-armies article,.dip-inbox)>header{display:flex;justify-content:space-between;gap:10px}
html body .command-ui.hoi-ui .deployment-armies button{min-height:44px}
html body .command-ui.hoi-ui .hoi-recruitment .recruit-controls{padding:14px;background:#1f1f1d;border:1px solid #4a4a48;margin-bottom:14px;gap:10px}
html body .command-ui.hoi-ui .hoi-recruitment select{min-height:44px}
html body .command-ui.hoi-ui .hoi-recruitment .recruit-queue article{border:1px solid #464645;border-left:4px solid #716f69;background:#1c1d1b;margin-bottom:10px;padding:14px}
html body .command-ui.hoi-ui .hoi-recruitment article[data-status=READY]{border-left-color:#c2b795;background:#282826}
html body .command-ui.hoi-ui .hoi-recruitment .recruit-templates button{min-height:52px;padding:12px;text-align:left}
html body .command-ui.hoi-ui .hoi-recruitment .recruit-deploy-footer{position:sticky;bottom:0;display:flex;flex-wrap:wrap;gap:8px;padding:12px;background:#191a18;border-top:2px solid #a49b80;z-index:2}
html body .command-ui.hoi-ui #recruit-deploy-now{background:#4b4b49;border-color:#b7b5ac;min-height:44px}
html body .command-ui.hoi-ui .rail-endpoints{grid-template-columns:minmax(0,1fr) auto;align-items:end}
html body .command-ui.hoi-ui .rail-endpoints label{display:flex;flex-direction:column;gap:6px;min-width:0}
html body .command-ui.hoi-ui .rail-endpoints :is(select,button){min-height:44px;max-width:100%}
html body .command-ui.hoi-ui .rail-quote{padding:14px;background:#232321;border:1px solid #968e76;margin-top:12px}
html body .command-ui.hoi-ui .rail-route-summary{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:16px 0;color:#cdc4a9}
html body .command-ui.hoi-ui .rail-quote>button{min-height:48px;width:100%}
html body .command-ui.hoi-ui .opinion-card{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px;margin:12px 0;background:#21211f;border:1px solid #64625b}
html body .command-ui.hoi-ui .opinion-card>div{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}
html body .command-ui.hoi-ui .opinion-card strong{font-size:28px;font-variant-numeric:tabular-nums}
html body .command-ui.hoi-ui .opinion-card meter{width:100%;grid-column:1/-1;height:9px}
html body .command-ui.hoi-ui .opinion-card details{grid-column:1/-1;border-top:1px solid #474846;padding-top:10px}
html body .command-ui.hoi-ui .positive{color:#b8b6ae}
html body .command-ui.hoi-ui .negative{color:#ed9a87}
html body .command-ui.hoi-ui .dip-inbox{border:1px solid #9e9477;background:#252523;padding:12px;margin-bottom:14px}
html body .command-ui.hoi-ui .dip-inbox button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:44px;margin-top:6px;text-align:left;gap:10px}
html body .command-ui.hoi-ui .hoi-top>.dip-notification{grid-area:help;position:relative;min-width:48px;min-height:40px;height:40px;align-self:center;margin:0 3px;padding:4px 14px;font-size:13px;touch-action:manipulation}
html body .command-ui.hoi-ui .dip-notification b{position:absolute;top:0;right:0;border-radius:9px;background:#963c2a;color:#e1dccc;font-size:11px;padding:1px 5px}
html body .command-ui.hoi-ui .integrated-designer .design-workspace{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(230px,1fr);gap:16px;align-items:start}
html body .command-ui.hoi-ui .integrated-designer fieldset{padding:0;border:0;min-width:0}
html body .command-ui.hoi-ui .integrated-designer .design-slots{min-width:0;padding:12px;background:#1a1a19;border:1px solid #615f58}
html body .command-ui.hoi-ui .integrated-designer .division-grid{display:grid;grid-template-columns:minmax(110px,1.5fr) repeat(5,minmax(42px,1fr));gap:8px;min-width:0}
html body .command-ui.hoi-ui .integrated-designer .division-column{display:flex;flex-direction:column;gap:8px;min-width:0}
html body .command-ui.hoi-ui .integrated-designer .division-column>small{color:#bbb399;text-align:center;padding:6px 0;border-bottom:1px solid #4a4b49}
html body .command-ui.hoi-ui .integrated-designer .division-support-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
html body .command-ui.hoi-ui .integrated-designer .division-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:100%;height:76px;min-height:76px;min-width:0;padding:5px 2px;background:#141513;border:1px dashed #4e4f4d;box-shadow:none}
html body .command-ui.hoi-ui .integrated-designer .division-slot[data-filled="1"]{background:linear-gradient(150deg,#393938,#252624);border:1px solid #8b8981}
html body .command-ui.hoi-ui .integrated-designer .division-slot[aria-pressed=true]{outline:2px solid #e1c87f;outline-offset:1px;background:#444543}
html body .command-ui.hoi-ui .integrated-designer .division-slot small{font-size:11px;line-height:1.2;white-space:normal;overflow-wrap:anywhere;color:#c9c4b4}
html body .command-ui.hoi-ui .integrated-designer .slot-symbol{width:30px;height:22px;flex:none}
html body .command-ui.hoi-ui .integrated-designer .division-palette{display:grid;grid-template-columns:repeat(auto-fill,minmax(126px,1fr));gap:6px;max-height:280px;overflow:auto;overscroll-behavior:contain;padding-top:12px}
html body .command-ui.hoi-ui .integrated-designer .division-palette h4{grid-column:1/-1;margin:4px 0 8px;color:#cec5a7}
html body .command-ui.hoi-ui .integrated-designer .division-palette button{min-height:44px;text-align:left;font-size:12px;padding:8px;background:#282926}
html body .command-ui.hoi-ui .integrated-designer .design-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#444443;border:1px solid #444443;padding:0;min-width:0}
html body .command-ui.hoi-ui .integrated-designer .design-stats>h4{grid-column:1/-1;margin:0;padding:12px;color:#c3beaf;background:#292a28;letter-spacing:.12em}
html body .command-ui.hoi-ui .integrated-designer .design-stat{display:flex;flex-direction:column;padding:10px;background:#1c1c1a;gap:4px;min-width:0}
html body .command-ui.hoi-ui .integrated-designer .design-stat>b{font-size:21px;color:#cfcabb;font-variant-numeric:tabular-nums}
html body .command-ui.hoi-ui .integrated-designer .design-stat>span{color:#acaba6;font-size:12px}
html body .command-ui.hoi-ui .integrated-designer .design-change{color:#c4b996;font-size:11px}
html body .command-ui.hoi-ui .integrated-designer .design-demand{grid-column:1/-1;display:flex;flex-direction:column;gap:8px;background:#20201e;padding:12px}
html body .command-ui.hoi-ui .integrated-designer .design-demand h4{margin:0 0 4px}
html body .command-ui.hoi-ui .integrated-designer .design-demand span{display:grid;grid-template-columns:1fr auto;gap:4px;border-top:1px solid #393937;padding-top:8px}
html body .command-ui.hoi-ui .integrated-designer .design-demand small{grid-column:1/-1;color:#afaea8}
html body .command-ui.hoi-ui .integrated-designer .design-stats>small{grid-column:1/-1;padding:10px;background:#1c1c1a}
html body .command-ui.hoi-ui .integrated-designer .division-save-bar{position:sticky;bottom:0;background:#232321;border-top:2px solid #a9a081;padding:12px;z-index:2;display:flex;flex-wrap:wrap;gap:8px}
html body .command-ui.hoi-ui .integrated-designer .division-save-bar button{min-height:44px}
html body .command-ui.hoi-ui .hoi-construction.c2 .c2-row{background:#1e1e1d;border-color:#424240;padding:10px 8px 10px 0;min-height:100px}
html body .command-ui.hoi-ui .ui-sidebar[data-mode=economy] .hoi-construction.c2 .c2-actions button{height:44px;min-height:44px!important}
html body .command-ui.hoi-ui .hoi-construction.c2 .c2-rank{background:#4a4b49;color:#cfcabb}
html body .command-ui.hoi-ui .hoi-construction.c2 .c2-queue>header{position:sticky;top:0;background:#1f1f1d;z-index:1;padding:12px 4px}
@media(max-width:900px){html body .command-ui.hoi-ui .integrated-designer .design-workspace{grid-template-columns:1fr}html body .command-ui.hoi-ui .deployment-workspace{grid-template-columns:1fr}html body .command-ui.hoi-ui .deployment-units{max-height:280px}}
@media(max-width:600px){html body .command-ui.hoi-ui .integrated-designer .division-grid{gap:4px;grid-template-columns:minmax(80px,1.5fr) repeat(5,minmax(30px,1fr))}html body .command-ui.hoi-ui .integrated-designer .division-slot{height:72px;min-height:72px}html body .command-ui.hoi-ui .opinion-card{grid-template-columns:1fr}html body .command-ui.hoi-ui .management-heading{padding:12px}}

html body .command-ui.hoi-ui .hoi-recruitment .management-metrics>span{flex-direction:row;align-items:center;justify-content:space-between;padding:8px 12px}
html body .command-ui.hoi-ui .hoi-recruitment .recruit-controls{padding:8px 12px}

/* WebKit native selects otherwise use a light surface with the inherited pale label. */
html body .command-ui.hoi-ui :is(.hoi-recruitment,.rail-planner,.integrated-designer) select{color-scheme:dark;background-color:#1a1a18!important;color:#d0cabb!important}
html body .command-ui.hoi-ui :is(.deployment-units,.hoi-recruitment) input[type=checkbox]{-webkit-appearance:none!important;appearance:none!important;width:24px!important;min-width:24px!important;height:24px!important;min-height:24px!important;padding:0!important;border:1px solid #9d9b93!important;border-radius:2px!important;background:#151513!important;box-shadow:none!important}
html body .command-ui.hoi-ui :is(.deployment-units,.hoi-recruitment) input[type=checkbox]:checked{background:#6e6c64 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12l4 4L19 6' stroke='%23fff2c7' stroke-width='3' fill='none'/%3E%3C/svg%3E") center/20px 20px no-repeat!important}
html body .command-ui.hoi-ui .deployment-units input::before,html body .command-ui.hoi-ui .deployment-units input::after{display:none!important}
html body .command-ui.hoi-ui .deployment-armies article{border-radius:0!important;background:#1d1d1c!important}

html body .command-ui.hoi-ui .production-resources{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;background:#1a1a19;border:1px solid #62615a;padding:12px;margin-bottom:12px;color:#cbc2a9}
html body .command-ui.hoi-ui .production-resources>b{color:#cdc7b8}
html body .command-ui.hoi-ui .production-resources>small{flex-basis:100%;line-height:1.5}
html body .command-ui.hoi-ui .production-resources .resource-deficit{color:#f1a38c}

/* ── zz-tutorial.css ── */
/* TUTORIAL-1 · 新手教程: spotlight ring + coach card over the live game. Only the card takes touches; the ring and
   the dim are pointer-transparent so the player can always use the control being taught. */
.tut-root[hidden]{display:none}
.tut-ring{position:fixed;z-index:9000;pointer-events:none;border:2px solid #ddcfa5;border-radius:8px;box-shadow:0 0 0 3px #00000099,0 0 18px 4px #ddcfa588;transition:left .18s ease,top .18s ease,width .18s ease,height .18s ease;animation:tut-pulse 1.6s ease-in-out infinite}
.tut-ring[hidden]{display:none}
.tut-ring[data-dim="true"]{box-shadow:0 0 0 3px #00000099,0 0 18px 4px #ddcfa588,0 0 0 200vmax #00000077}
@keyframes tut-pulse{50%{border-color:#fff2c4;box-shadow:0 0 0 3px #0009,0 0 26px 8px #f0cf7aaa}}
.tut-ring[data-dim="true"]{animation:none}
.tut-card{position:fixed;z-index:9001;width:min(400px,calc(100vw - 32px));box-sizing:border-box;padding:14px 16px 12px;color:#d4cebe;
 font:15px/1.55 var(--font-body,system-ui,sans-serif);background:linear-gradient(180deg,#1f1f1df7,#131412f7);border:1px solid #7e7559;border-radius:6px;box-shadow:0 10px 32px #000000bb,inset 0 1px #ede8d914}
/* right: low on the screen, clear of the zoom/layer controls; left: high, clear of the selection tray and joystick */
.tut-card[data-place="right"]{right:max(16px,env(safe-area-inset-right));bottom:max(92px,calc(env(safe-area-inset-bottom) + 92px))}
.tut-card[data-place="left"]{left:max(16px,env(safe-area-inset-left));top:max(150px,calc(env(safe-area-inset-top) + 150px))}
.tut-card[data-place="top"]{left:50%;transform:translateX(-50%);top:max(118px,calc(env(safe-area-inset-top) + 118px))}
.tut-card[data-place="bottom"]{left:50%;transform:translateX(-50%);bottom:max(92px,calc(env(safe-area-inset-bottom) + 92px))}
.tut-card[data-collapsed="1"] :is(.tut-body,.tut-hint){display:none}
.tut-card[data-collapsed="1"] h3{margin-bottom:0;font-size:16px}
.tut-card header{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;letter-spacing:.2em;color:#b8aa81}
.tut-card .tut-progress{letter-spacing:.05em;color:#9e9d97}
.tut-card h3{margin:4px 0 6px;font:600 20px/1.3 var(--font-title,inherit);letter-spacing:.08em;color:#e3ddcd}
.tut-card .tut-body{margin:0;max-height:calc(100vh - 330px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.tut-card[data-place="left"] .tut-body{max-height:calc(100vh - 360px)}
.tut-card .tut-body b{color:#ddcfa5;font-weight:600}
.tut-card .tut-body small{color:#9e9d97}
.tut-card .tut-hint{margin:8px 0 0;padding:6px 10px;font-size:13px;color:#ddcfa5;background:#ddcfa514;border-left:3px solid #b8aa81}
.tut-card .tut-hint[hidden]{display:none}
.tut-card .tut-hint:before{content:"◉ ";animation:tut-blink 1.2s steps(2) infinite}
@keyframes tut-blink{50%{opacity:.3}}
.tut-card footer{display:flex;gap:8px;align-items:center;margin-top:12px}
.tut-card footer>span{flex:1}
html body .tut-card button{min-width:44px;min-height:44px;padding:0 14px;font:500 15px/1 inherit;color:#d4cebe;background:#292a27;border:1px solid #4e4e4c;border-radius:4px;cursor:pointer;touch-action:manipulation}
html body .tut-card button:disabled{opacity:.4;cursor:default}
html body .tut-card .tut-next{color:#131312;background:linear-gradient(180deg,#ddcfa5,#b8aa81);border-color:#ddcfa5;font-weight:600}
html body .tut-card .tut-next[data-kind="skip-step"]{color:#d4cebe;background:#292a27;border-color:#7e7559}
html body .tut-card .tut-skip{background:none;border-color:transparent;color:#9e9d97;padding:0 6px}
html body .tut-card .tut-skip[data-confirm="1"]{color:#ff9d8a;border-color:#a0483a}
@media (max-width:700px){.tut-card{right:16px;left:16px;width:auto;transform:none}}
@media (prefers-reduced-motion:reduce){.tut-ring,.tut-card .tut-hint:before{animation:none}.tut-ring{transition:none}}
/* main-menu dialog */
.atlas-dialog.tutorial-dialog .atlas-tut-outline{margin:6px 0 10px;padding-left:1.4em;columns:2;column-gap:24px;color:#bfb79d}
.atlas-dialog.tutorial-dialog .atlas-tut-actions{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 6px}
.atlas-dialog.tutorial-dialog .atlas-tut-actions button{min-height:48px;padding:0 20px}
.atlas-dialog.tutorial-dialog .atlas-tut-actions button.primary{color:#131312;background:linear-gradient(180deg,#ddcfa5,#b8aa81);border-color:#ddcfa5;font-weight:600}
.atlas-dialog.tutorial-dialog #atlas-tut-new[data-confirm="1"]{color:#d0cbbc;border-color:#a0483a;background:#4a1d17}
/* the card's header/footer must not pick up the game's generic header/footer chrome */
html body .tut-root .tut-card :is(header,footer){position:static;height:auto;min-height:0;flex:none;padding:0;background:none;border:0;box-shadow:none}
html body .tut-root .tut-card footer{margin-top:12px}

/* ── zzz-beta-finance-hud.css ── */
/* Five complete readouts in the existing HUD; Beta alone gets a tighter grid.
   Match the full HUD specificity so atlas-ink and later politics rules cannot
   restore wide padding or shrink numeric flex children into one another. */
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .hoi-top{row-gap:0}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .hoi-national{min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .hoi-national>button{flex:0 0 auto;white-space:nowrap}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .hoi-national>button :is(b,.hoi-icon,.manpower-warning-mark){flex-shrink:0}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .hoi-treasury{color:#e1c982;gap:4px}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .hoi-treasury small{font:10px/1.2 system-ui,sans-serif;opacity:.8}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .hoi-treasury[data-deficit="true"] small{color:#e8a393}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .management-subnav{flex-wrap:wrap}
/* The existing HUD is 36 + 42px. Touch's global 46px button minimum must not
   expand its second row beneath the 78px management-window anchor. */
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .hoi-management{box-sizing:border-box;height:42px;min-height:0;max-height:42px;padding:2px 6px;margin:0;border:0;align-self:start;align-items:stretch;overflow-y:hidden}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .hoi-management>button{box-sizing:border-box;height:38px!important;min-height:38px!important;max-height:38px;padding:1px 4px 0!important;margin:0;gap:1px;line-height:1;flex-shrink:0}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .hoi-management>button .hoi-icon{width:19px;height:19px;flex-shrink:0}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .hoi-management>button span{display:block!important;flex-shrink:0;font-size:10px;line-height:12px;white-space:nowrap}
@media(max-width:1450px){
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .hoi-top{grid-template-columns:168px minmax(0,1fr) 42px 112px 332px}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .hoi-national>button{padding-inline:6px;gap:4px}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .hoi-national>button b{font-size:17px}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .hoi-national .hoi-icon{width:18px;height:18px}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .hoi-national :is(.hoi-treasury,#political-power) small{display:none}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .hoi-country{padding-inline:8px;gap:8px}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .hoi-country small{font-size:9px;letter-spacing:.03em}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .hoi-time>strong{font-size:18px;letter-spacing:.02em}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .hoi-top>.hoi-events{min-width:0}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .hoi-top>.hoi-alert{padding-inline:6px;font-size:11px!important}
}
@media(max-width:1100px){
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .hoi-top{grid-template-columns:116px minmax(0,1fr) 36px 38px 306px}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .hoi-country small{display:none}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .hoi-country b{font-size:18px;letter-spacing:.04em}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .hoi-national>button{padding-inline:5px;gap:4px}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .hoi-national>button b{font-size:16px}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .hoi-top>.hoi-alert{font-size:0!important;padding-inline:8px}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .hoi-top>.hoi-alert::first-letter{font-size:14px}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .hoi-time>strong{font-size:16px}
}
@media(max-width:900px){
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .management-subnav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .management-subnav>button{min-width:0;max-width:none;padding:5px 4px;justify-content:center;font-size:11px}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .hoi-top{grid-template-columns:56px minmax(0,1fr) 30px 30px 270px}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .hoi-country{padding-inline:4px;gap:4px}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .hoi-country>span:last-child{display:none}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .hoi-national>button{padding-inline:4px;gap:3px;font-size:10px}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .hoi-national>button b{font-size:14px;letter-spacing:0}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .hoi-national .hoi-icon{width:14px;height:14px}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .hoi-national .manpower-warning-mark{width:12px;height:12px;font-size:9px}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .hoi-time{grid-template-columns:44px auto 1fr 32px;padding:6px 4px;column-gap:4px}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui #campaign-toggle{width:44px;height:48px}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui #campaign-save{width:32px}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .hoi-time .time-speeds button{width:23px;min-width:23px}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .hoi-time>strong{font-size:15px}
}

/* ── zzz-officer-corps.css ── */
/* Original brass/painted-steel treatment; BICE's stacked service hierarchy. */
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) #production-workbench .pr-overview{display:flex!important;align-items:center;justify-content:space-between;gap:12px;padding:10px 0}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) #production-workbench .pr-overview h3{font-size:19px;margin:4px 0}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) #production-workbench .pr-overview p{font-size:11px;margin:4px 0;color:#b3b2ad}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) .officer-corps .oc-spirit-badge{border:0!important;background:none!important;box-shadow:none!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) .officer-corps .oc-catalog>button{background:#232421!important;border:1px solid #464645!important;box-shadow:none!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) .officer-corps .oc-catalog>button[aria-pressed="true"]{background:#373836!important;border-color:#c4b893!important;box-shadow:inset 3px 0 #c4b893!important}
.command-ui.hoi-ui .oc-total{margin:12px 0;font-size:12px;padding:10px;border:1px solid #4a4a48;background:#1c1c1a}
.command-ui.hoi-ui .oc-total>summary{cursor:pointer;min-height:30px;align-content:center;color:#c2baa0}
.command-ui.hoi-ui .oc-total>ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 20px}
.command-ui.hoi-ui .ui-sidebar[data-mode="officer-corps"]{width:min(1000px,calc(100vw - 24px))!important;max-width:calc(100vw - 24px)!important}
.command-ui.hoi-ui .officer-corps{--oc-gold:#c6bb9b;color:#d0cabb;min-width:0;padding:4px 2px 16px}
.command-ui.hoi-ui .oc-national{display:flex;align-items:center;gap:16px;padding:12px 16px 18px;border-bottom:1px solid #5b5954;margin-bottom:14px;background:linear-gradient(110deg,#313130,#161715)}
.command-ui.hoi-ui .oc-national h3{margin:4px 0;font-size:23px;letter-spacing:.12em;color:#c9c3b3}
.command-ui.hoi-ui .oc-national small{font-size:11px;letter-spacing:.2em;color:#b4ab92}
.command-ui.hoi-ui .oc-national>button{margin-left:auto}
.command-ui.hoi-ui .oc-services{display:grid;gap:12px}
.command-ui.hoi-ui .oc-service{--service:#b2b0a8;border:1px solid #55544f;background:linear-gradient(100deg,#2e2e2d,#1c1c1a 40%,#181817);box-shadow:inset 0 0 0 2px #121210,0 3px 9px #00000044}
.command-ui.hoi-ui .oc-service[data-branch="navy"]{--service:#90aeb8;background:linear-gradient(100deg,#2f302d,#21211f 40%,#181917)}
.command-ui.hoi-ui .oc-service[data-branch="air"]{--service:#b3b1a8;background:linear-gradient(100deg,#2f302c,#242523 40%,#1b1b19)}
.command-ui.hoi-ui .oc-service-heading{display:flex;align-items:center;gap:13px;padding:10px 15px;border-bottom:1px solid #ede8d917;min-height:68px}
.command-ui.hoi-ui .oc-service-heading h3{color:var(--service);margin:0 0 5px;font-size:20px;letter-spacing:.15em}
.command-ui.hoi-ui .oc-service-heading small{font-size:11px;color:#bdb59c}
.command-ui.hoi-ui .oc-service-heading>strong{font-size:13px;font-weight:500;margin-left:auto;color:var(--service);white-space:nowrap}
.command-ui.hoi-ui .oc-service-mark{width:50px;min-width:50px;color:var(--service);display:flex;justify-content:center;filter:drop-shadow(0 2px 2px #000000)}
.command-ui.hoi-ui .oc-service-mark svg{width:42px;height:42px}
.command-ui.hoi-ui .oc-spirit-rail{display:flex;align-items:stretch;gap:4px;padding:10px 16px;overflow-x:auto;overscroll-behavior:contain;scrollbar-width:thin;min-height:118px}
.command-ui.hoi-ui .oc-spirit-badge{flex:0 0 112px;min-width:112px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:5px;background:none!important;border:0!important;box-shadow:none!important;padding:3px!important;color:#cfcabb;min-height:110px!important}
.command-ui.hoi-ui .oc-spirit-badge:hover,.command-ui.hoi-ui .oc-spirit-badge:focus-visible{background:#ede8d909!important;outline:1px solid #c4b99766;outline-offset:-1px}
.command-ui.hoi-ui .oc-spirit-badge>b{font-size:12px;line-height:1.4;white-space:normal;text-align:center}
.command-ui.hoi-ui .oc-spirit-badge>small{font-size:10px;color:#acaaa2}
.command-ui.hoi-ui .oc-spirit-badge>.air-spirit-art,.command-ui.hoi-ui .oc-spirit-badge>.nf-ic{width:66px!important;height:60px!important;flex:none;object-fit:contain;margin:0}
.command-ui.hoi-ui .oc-empty-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:90px;color:#b2aa91}
.command-ui.hoi-ui .oc-empty-slot svg{width:34px;height:34px;opacity:.55}
.command-ui.hoi-ui .oc-empty-slot small{font-size:11px}
.command-ui.hoi-ui .officer-corps button:not(.oc-spirit-badge){min-height:42px!important;padding:8px 12px!important;font-size:13px!important}
.command-ui.hoi-ui .oc-picker{margin-top:16px;border:1px solid #706951;background:#191a18;box-shadow:0 8px 20px #00000055}
.command-ui.hoi-ui .oc-picker>header{display:flex;align-items:center;justify-content:space-between;padding:6px 16px;background:linear-gradient(90deg,#373736,#20201e);border-bottom:1px solid #5b5954}
.command-ui.hoi-ui .oc-picker>header h3{margin:0;color:#bdb8a8;letter-spacing:.12em}
.command-ui.hoi-ui .oc-picker-layout{display:grid;grid-template-columns:minmax(260px,1fr) minmax(250px,1fr);max-height:510px;min-height:320px}
.command-ui.hoi-ui .oc-catalog{padding:10px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;border-right:1px solid #494947}
.command-ui.hoi-ui .oc-catalog h4{color:#bab198;font-size:11px;letter-spacing:.1em;margin:12px 8px}
.command-ui.hoi-ui .oc-catalog>button{display:flex;align-items:center;gap:12px;text-align:left;width:100%;margin:0 0 5px;border-color:#3e3e3d!important;background:#232421!important}
.command-ui.hoi-ui .oc-catalog>button[aria-pressed="true"]{border-color:#c4b893!important;background:#373836!important;box-shadow:inset 3px 0 #c4b893!important}
.command-ui.hoi-ui .oc-catalog>button>.air-spirit-art,.command-ui.hoi-ui .oc-catalog>button>.nf-ic{width:48px!important;height:48px!important;object-fit:contain;flex:none}
.command-ui.hoi-ui .oc-catalog>button>span:last-child{display:flex;flex-direction:column;gap:5px}
.command-ui.hoi-ui .oc-catalog small{color:#aeada9;font-size:11px}
.command-ui.hoi-ui .oc-catalog [data-active="true"] small{color:#c0d692}
.command-ui.hoi-ui .oc-detail{padding:20px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;background:radial-gradient(ellipse at 50% 0,#393a38,#1a1a18 70%)}
.command-ui.hoi-ui .oc-detail>h3{font-size:20px;color:#cac5b5;margin:12px 0 10px}
.command-ui.hoi-ui .oc-detail>p{line-height:1.8;font-size:13px;color:#bdbcb9}
.command-ui.hoi-ui .oc-detail>.air-spirit-art,.command-ui.hoi-ui .oc-detail-art{display:block;width:100px;height:100px;object-fit:contain;margin:0 auto}
.command-ui.hoi-ui .oc-detail-art>.nf-ic{width:100px!important;height:100px!important}
.command-ui.hoi-ui .oc-status{font-size:11px;color:#c9c0a7}
.command-ui.hoi-ui .oc-status[data-active="true"]{color:#c0d692}
.command-ui.hoi-ui .oc-mods{padding:10px 0;margin:12px 0;border-block:1px solid #6c6a6544;list-style:none}
.command-ui.hoi-ui .oc-mods li{display:flex;justify-content:space-between;gap:8px;font-size:12px;padding:5px 0}
.command-ui.hoi-ui .oc-mods li b{color:#dc9d8b;white-space:nowrap}
.command-ui.hoi-ui .oc-mods li[data-good="true"] b{color:#c1beb6}
.command-ui.hoi-ui .oc-source{font-size:11px;color:#a9a8a2;line-height:1.6}
#production-workbench.production-command .pr-overview>.pr-add-actions{display:flex;gap:6px;flex-wrap:wrap}
.command-ui.hoi-ui .pr-line[data-production-branch="air"]{border-left-color:#7e9ba7!important}
.command-ui.hoi-ui .pr-line[data-production-branch="air"] .pr-category{color:#a9c8d0}
.command-ui.hoi-ui .pr-line .pr-equipment>.aircraft-image{width:100%;height:85px;object-fit:contain;filter:drop-shadow(0 3px 3px #00000077)}
.command-ui.hoi-ui .air-deployment{margin:8px 0 16px;border:1px solid #7d755d;background:#2c2d2b;padding:12px}
.command-ui.hoi-ui .air-deployment>header{display:flex;justify-content:space-between;align-items:center}
.command-ui.hoi-ui .air-deployment h3{font-size:16px;margin:0}
.command-ui.hoi-ui .air-deployment .air-create-wing{display:grid;grid-template-columns:1fr;gap:6px}
.command-ui.hoi-ui .air-deployment .air-create-wing button{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%}
.command-ui.hoi-ui .air-deployment .aircraft-image{width:140px;height:60px;object-fit:contain}
@media(max-width:760px){
 .command-ui.hoi-ui .oc-national{gap:8px;padding:8px}.command-ui.hoi-ui .oc-national h3{font-size:17px}
 .command-ui.hoi-ui .oc-national>button{max-width:110px}
 .command-ui.hoi-ui .oc-service-heading{gap:8px;padding:8px}.command-ui.hoi-ui .oc-service-heading h3{font-size:17px}
 .command-ui.hoi-ui .oc-service-mark{width:34px;min-width:34px}.command-ui.hoi-ui .oc-service-mark svg{width:32px;height:32px}
 .command-ui.hoi-ui .oc-service-heading>strong{font-size:11px}
 .command-ui.hoi-ui .oc-picker-layout{grid-template-columns:minmax(150px,.9fr) minmax(180px,1.1fr);max-height:490px}
 .command-ui.hoi-ui .oc-catalog{padding:5px}.command-ui.hoi-ui .oc-detail{padding:12px}
 .command-ui.hoi-ui .oc-catalog>button>.air-spirit-art,.command-ui.hoi-ui .oc-catalog>button>.nf-ic{width:32px!important;height:32px!important}
}
@media(max-width:450px){.command-ui.hoi-ui .oc-picker-layout{display:block;max-height:none}.command-ui.hoi-ui .oc-catalog{max-height:230px}.command-ui.hoi-ui .oc-service-heading>strong{display:none}}

html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) #officer-corps .oc-national{padding:8px 12px!important;margin-bottom:10px!important;gap:12px!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) #officer-corps .oc-national>svg{width:36px!important;height:36px!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) #officer-corps .oc-national h3{font-size:18px!important;letter-spacing:.1em!important;border:0!important;padding:0!important;margin:4px 0 0!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) #officer-corps .oc-services{gap:8px!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) #officer-corps .oc-service{padding:0!important;margin:0!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) #officer-corps .oc-service-heading{padding:7px 12px!important;min-height:52px!important;gap:12px!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) #officer-corps .oc-service-heading h3{font-size:17px!important;border:0!important;padding:0!important;margin:0 0 4px!important;letter-spacing:.1em!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) #officer-corps .oc-service-heading small{font-size:10px!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) #officer-corps .oc-service-mark{width:38px!important;min-width:38px!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) #officer-corps .oc-service-mark svg{width:32px!important;height:32px!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) #officer-corps .oc-spirit-rail{min-height:88px!important;padding:5px 12px!important;gap:8px!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) #officer-corps .oc-spirit-badge{padding:2px!important;min-height:82px!important;gap:3px!important;flex-basis:104px!important;min-width:104px!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) #officer-corps .oc-spirit-badge>.air-spirit-art,html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) #officer-corps .oc-spirit-badge>.nf-ic{width:48px!important;height:46px!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) #officer-corps .oc-spirit-badge>b{font-size:11px!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) #officer-corps .oc-spirit-badge>small{font-size:10px!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) #officer-corps .oc-empty-slot{min-height:70px!important;gap:8px!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) #officer-corps .oc-empty-slot svg{width:27px!important;height:27px!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) #officer-corps .oc-picker>header{padding:5px 12px!important;min-height:46px!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) #officer-corps .oc-picker>header h3{font-size:17px!important;border:0!important;padding:0!important;margin:0!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) #officer-corps .oc-catalog h4{font-size:11px!important;margin:10px 4px!important;padding:0!important;border:0!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) #officer-corps .oc-detail h3{font-size:19px!important;margin:10px 0!important;padding:0!important;border:0!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) #officer-corps .oc-mods li{padding:5px 0!important;min-height:0!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) #officer-corps .oc-mods [data-good="true"] b{color:#c1beb6!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) #officer-corps .oc-mods [data-good="false"] b{color:#dc9d8b!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) #officer-corps .oc-total{padding:6px 12px!important;margin:10px 0!important}

/* ── zzzz-battle-details.css ── */
/* One continuous scroll surface: short tablet viewports must not squeeze
   division cards between fixed-height scenery and reserve panels. */
html body.playable-integrated .hoi-ui .ui-sidebar[data-mode=battle]{width:min(1180px,calc(100vw - 24px))!important;max-width:calc(100vw - 24px);right:12px;left:auto;top:88px;bottom:12px!important;max-height:calc(100dvh - 100px);border-radius:0}
html body.playable-integrated .hoi-ui .ui-sidebar[data-mode=battle]>.ui-content{padding:10px 12px 16px;overscroll-behavior:contain;scrollbar-gutter:stable}
html body.playable-integrated .hoi-ui .ui-sidebar[data-mode=battle]>header{min-height:44px;padding:4px 10px}
html body.playable-integrated .hoi-ui .ui-sidebar[data-mode=battle]>header h2{font-size:17px}
#battle-detail{color:#d0cbbc;font-family:var(--font-ui);font-variant-numeric:tabular-nums;isolation:isolate;min-width:0}
#battle-detail *{box-sizing:border-box}
#battle-detail .battle-detail-heading{display:flex;align-items:center;gap:14px;padding:3px 0 10px;border-bottom:1px solid #575651;min-height:57px}
#battle-detail .battle-detail-heading>div:first-child{flex:1;min-width:0}
#battle-detail .battle-detail-heading small{font-size:11px;color:#bdb59b;letter-spacing:.08em}
#battle-detail .battle-detail-heading h3{font-size:20px;line-height:1.3;margin:3px 0 0;color:#d6d1c1;letter-spacing:.08em}
#battle-detail .battle-detail-heading h3>span{font:12px var(--font-ui);color:#b3aa92;margin-left:8px;letter-spacing:0}
#battle-detail .battle-win{display:flex;align-items:center;gap:9px}
#battle-detail .battle-win small{max-width:55px;line-height:1.5}
#battle-detail .battle-win>b{font:600 29px Georgia,serif;color:#c0b592}
#battle-detail .battle-win>b>span{font:13px var(--font-ui);margin-left:2px}
#battle-detail .battle-win.positive>b{color:#b8d694}#battle-detail .battle-win.negative>b{color:#e09a87}
#battle-detail #battle-close{min-height:44px;min-width:44px;font-size:24px;padding:0;color:#cdc4ab}
#battle-detail .battle-layout{display:flex;flex-direction:column;height:auto;min-height:0}
#battle-detail .battle-theatre{display:grid;grid-template-columns:136px minmax(0,1fr) 136px;gap:12px;padding:4px 0;flex:none;min-height:132px}
#battle-detail .battle-commander{display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0;padding:5px 5px;border:1px solid #55534e;background:linear-gradient(130deg,#2f2f2d,#161715);box-shadow:inset 0 0 0 3px #121210,0 2px 5px #00000066}
#battle-detail .battle-commander-kicker{font-size:10px;letter-spacing:.2em;color:#beb69c;margin-bottom:3px}
#battle-detail .battle-commander .officer-face{display:block;flex:none;width:48px;height:58px;min-width:0;margin:0 0 3px;border:1px solid #a19980;box-shadow:0 2px 6px #00000099;border-radius:0}
#battle-detail .battle-commander>b{font-size:12px;line-height:1.4;overflow-wrap:anywhere;color:#ccc7b8}
#battle-detail .battle-commander>span:not(.officer-face):not(.battle-commander-kicker){font-size:10px;color:#abaaa5;margin-top:0}
#battle-detail .battle-commander-traits{display:flex;flex-wrap:wrap;gap:3px;justify-content:center;margin-top:2px}
#battle-detail .battle-commander-traits>span{font-size:8px;padding:1px 3px;line-height:1.3;border:1px solid #605f59;background:#262625;color:#beb9a9}
#battle-detail .battle-environment{display:grid;grid-template-rows:1fr 1fr;gap:8px;min-width:0}
#battle-detail .battle-environment figure{position:relative;margin:0;min-height:55px;max-height:82px;overflow:hidden;border:1px solid #7e765f;background:#252624}
#battle-detail .battle-environment img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover;filter:saturate(.8) contrast(1.04)}
#battle-detail .battle-environment figcaption{position:absolute;inset:auto 0 0;display:flex;align-items:center;gap:7px;padding:17px 9px 7px;background:linear-gradient(transparent,#111210e8);font-size:12px;text-shadow:0 1px 2px #000000}
#battle-detail .battle-environment figcaption .hoi-icon{width:18px;height:18px;flex:none;color:#cbc3a9}
#battle-detail .battle-environment figcaption b{font-size:14px;color:#dbd5c6}
#battle-detail .battle-environment figcaption span{margin-left:auto;color:#bfbaaa;font-size:11px}
#battle-detail .battle-line-grid,#battle-detail .battle-reserve-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
#battle-detail .battle-line-grid{flex:none;min-height:0;align-items:start}
#battle-detail .battle-reserve-grid{margin-top:10px;flex:none;min-height:0;align-items:start}
#battle-detail .battle-force-column{display:flex;flex-direction:column;min-width:0;min-height:0;background:#141513;border:1px solid #4f4f4d;box-shadow:inset 0 0 0 2px #0e0e0d}
#battle-detail .battle-force-column>header{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:'heading country' 'frontage frontage' 'track track';flex:none;gap:0 8px;padding:7px 10px;background:linear-gradient(90deg,#2e2e2d,#232421);border-bottom:1px solid #6f6850;min-width:0}
#battle-detail .battle-force-column.defend>header{background:linear-gradient(90deg,#2c2c2a,#252523)}
#battle-detail .battle-force-column h4{grid-area:heading;margin:0;padding:0;border:0;color:#c3beaf;font-size:15px;display:flex;gap:8px;align-items:center;line-height:1.3}
#battle-detail .battle-force-column h4 span{font:12px var(--font-ui);color:#c3bba1}
#battle-detail .battle-force-column>header>small{grid-area:country;font-size:11px;color:#afaea9;display:block;line-height:1.6;margin:0}
#battle-detail .battle-frontage{grid-area:frontage;display:flex;align-items:center;gap:7px;font-size:11px;color:#b5b3ae;margin-top:5px}
#battle-detail .battle-frontage>b{font-size:13px;color:#cfcaba}
#battle-detail .battle-frontage>i{margin-left:auto;font-style:normal;color:#aeaca4;font-size:11px}
#battle-detail .battle-frontage>i.is-overwidth{color:#e9a18e}
#battle-detail .battle-frontage-track{grid-area:track;display:block;position:relative;height:4px;background:#111210;margin-top:5px;border:1px solid #484947}
#battle-detail .battle-frontage-track>i{display:block;height:100%;background:#a4a299}
#battle-detail .battle-force-list{flex:none;min-height:0;overflow:visible;padding:7px}
#battle-detail .battle-reserve-column>header{padding:8px 11px}
#battle-detail .battle-reserve-column h4{font-size:13px}
#battle-detail .battle-division{margin:0 0 7px;padding:9px;background:linear-gradient(120deg,#2c2d2b,#212120);border:1px solid #65645e;box-shadow:0 1px 3px #00000066;min-width:0}
#battle-detail .battle-division:last-child{margin-bottom:0}
#battle-detail .battle-division.is-reserve{background:linear-gradient(120deg,#242523,#1c1c1a);border-color:#4b4c4a}
#battle-detail .battle-division>header{display:flex;align-items:center;gap:8px;min-width:0;padding:0;background:none;border:0;min-height:36px}
#battle-detail .battle-unit-symbol{display:grid;place-items:center;flex:none;width:30px;height:27px;color:#222320;background:#c9c1a8;border:1px solid #87857e;box-shadow:inset 0 0 0 2px #a8a087}
#battle-detail .battle-unit-symbol svg{width:23px;height:23px;color:#252a20}
#battle-detail .battle-unit-name{flex:1;min-width:0}
#battle-detail .battle-unit-name>b{display:block;font-size:12px;line-height:1.35;color:#d0cbbc;overflow-wrap:anywhere}
#battle-detail .battle-unit-name>small{display:block;font-size:10px;color:#acaba5;line-height:1.4;margin-top:2px}
#battle-detail .battle-unit-width{border-left:1px solid #65645e;padding-left:8px;text-align:center;min-width:37px;flex:none}
#battle-detail .battle-unit-width>small{display:block;font-size:10px;color:#beb69c}
#battle-detail .battle-unit-width>b{display:block;font:600 17px Georgia,serif;color:#d0cbbc;line-height:1.3}
#battle-detail .battle-vitals{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:8px 0 7px}
#battle-detail .battle-vitals>div{min-width:0}
#battle-detail .battle-vitals label{display:flex;align-items:center;justify-content:space-between;gap:3px;font-size:10px;color:#abaaa4;white-space:nowrap;margin:0 0 3px}
#battle-detail .battle-vitals b{color:#cdc7b8;font-size:10px}
#battle-detail .battle-vital-track{display:block;height:7px;border:1px solid #10100f;background:#10100e;box-shadow:0 1px #636159;overflow:hidden}
#battle-detail .battle-vital-track i{display:block;height:100%;transition:none}
#battle-detail .battle-org{background:linear-gradient(#b7cf87,#749456)}
#battle-detail .battle-strength{background:linear-gradient(#cec3a3,#968a69)}
#battle-detail .battle-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:3px;margin:7px 0 0}
#battle-detail .battle-stats>div{padding:4px 2px;text-align:center;background:#1a1a19;border:1px solid #3f3f3d;min-width:0}
#battle-detail .battle-stats>div.is-primary{border-color:#b5ad94;background:#323230}
#battle-detail .battle-stats dt{font-size:10px;color:#acaba4;line-height:1.3;margin:0}
#battle-detail .battle-stats dd{font-size:12px;color:#d7d1c2;line-height:1.5;margin:0;overflow-wrap:anywhere}
#battle-detail .battle-unit-modifiers{margin:6px 0 0;border:0;padding:0;background:none}
#battle-detail .battle-unit-modifiers>summary{min-height:44px;display:list-item;padding:12px 1px 8px;font-size:11px;color:#b2b0a9;touch-action:manipulation}
#battle-detail .combat-modifiers{border:0;margin:2px 0;padding:2px 1px}
#battle-detail .combat-modifiers>div{font-size:11px}
#battle-detail .combat-modifiers .negative,#battle-detail .combat-modifiers .negative b{color:#e69a85!important}
#battle-detail .combat-modifiers .positive,#battle-detail .combat-modifiers .positive b{color:#b6d38f!important}
#battle-detail .battle-reinforcement{display:flex;gap:6px;align-items:center;justify-content:space-between;font-size:10px;color:#b3b2ab;line-height:1.5}
#battle-detail .battle-reinforcement>b{color:#bfbaaa;font-size:10px;white-space:nowrap}
#battle-detail .battle-reinforcement{margin-top:6px}
#battle-detail .battle-reinforce-detail{border-top:1px solid #4c4d4a;padding:8px 1px 3px;margin-top:8px;font-size:11px;color:#b8b6ae}
#battle-detail .battle-reinforce-detail>div{display:flex;justify-content:space-between;gap:8px;margin-top:4px}
#battle-detail .battle-reinforce-detail b{font-size:11px;color:#c1bbac}
#battle-detail .battle-empty{font-size:12px;color:#82817a;margin:14px 5px;text-align:center}
#battle-detail .battle-contact-vitals{display:flex;justify-content:space-between;font-size:11px;color:#b3b2ac;margin:8px 0}
#battle-detail .battle-unknown,#battle-detail .battle-result{font-size:12px;color:#b2b1ac;line-height:1.5;margin:9px 0}
#battle-detail .battle-order-drawer,#battle-detail .battle-assessment{border:1px solid #4b4c4a;background:#1c1d1c;margin:10px 0 0;padding:0 10px}
#battle-detail .battle-order-drawer>summary,#battle-detail .battle-assessment>summary{font-size:12px;color:#c4bfb0;padding:12px 0;min-height:44px;touch-action:manipulation}
#battle-detail .battle-order-drawer>summary svg{width:15px;height:15px;vertical-align:middle;margin-right:5px}
#battle-detail .battle-order-drawer p,#battle-detail .battle-assessment p{font-size:11px;line-height:1.7;color:#b0afa9;margin:0 0 10px}
#battle-detail .battle-own-orders>div{display:flex;align-items:center;gap:6px;margin-bottom:6px;border-top:1px solid #3f3f3d;padding-top:5px}
#battle-detail .battle-own-orders b{flex:1;font-size:12px}
#battle-detail .battle-own-orders button,#battle-detail .battle-order-drawer button{min-height:44px;padding:6px 10px;font-size:12px}
@media(max-width:900px){html body.playable-integrated .hoi-ui .ui-sidebar[data-mode=battle]{top:82px;right:8px;width:calc(100vw - 16px)!important;max-width:calc(100vw - 16px);bottom:8px!important;max-height:calc(100dvh - 90px)}#battle-detail .battle-theatre{grid-template-columns:112px minmax(0,1fr) 112px;gap:9px}#battle-detail .battle-line-grid,#battle-detail .battle-reserve-grid{gap:9px}#battle-detail .battle-stats{grid-template-columns:repeat(3,minmax(0,1fr))}#battle-detail .battle-stats>div{display:flex;align-items:center;justify-content:space-between;gap:3px;padding:3px 5px}#battle-detail .battle-vitals{gap:6px}#battle-detail .battle-vitals label{font-size:9px}#battle-detail .battle-vitals b{font-size:9px}}
@media(max-width:600px){html body.playable-integrated .hoi-ui .ui-sidebar[data-mode=battle]>.ui-content{padding:7px}#battle-detail .battle-theatre{grid-template-columns:82px minmax(0,1fr) 82px;gap:6px}#battle-detail .battle-commander .officer-face{width:54px;height:68px}#battle-detail .battle-commander>b{font-size:10px}#battle-detail .battle-commander-traits{display:none}#battle-detail .battle-environment figure{min-height:64px}#battle-detail .battle-environment figcaption{flex-wrap:wrap;padding:12px 5px 5px;gap:4px}#battle-detail .battle-environment figcaption span{font-size:9px;margin:0}#battle-detail .battle-line-grid,#battle-detail .battle-reserve-grid{gap:6px}#battle-detail .battle-force-column>header{padding:7px}#battle-detail .battle-force-list{padding:4px}#battle-detail .battle-division{padding:6px}#battle-detail .battle-unit-symbol{display:none}#battle-detail .battle-vitals{grid-template-columns:1fr}#battle-detail .battle-stats{grid-template-columns:repeat(2,minmax(0,1fr))}#battle-detail .battle-frontage{flex-wrap:wrap}#battle-detail .battle-frontage>i{margin:0}#battle-detail .battle-reinforcement{flex-wrap:wrap}#battle-detail .battle-force-column h4{font-size:13px}#battle-detail .battle-detail-heading h3{font-size:16px}#battle-detail .battle-win small{max-width:44px;font-size:9px}#battle-detail .battle-win>b{font-size:23px}}

/* ── zzzz-designer-frontage.css ── */
.designer-frontage{display:grid;grid-template-columns:140px 1fr;gap:12px;margin:12px 0;padding:14px;border:1px solid #6a6861;background:linear-gradient(115deg,#212120,#121210);color:#d0cabb}
.designer-frontage>div:first-child{display:flex;flex-direction:column;justify-content:center;border-right:1px solid #444442}
.designer-frontage strong{font:700 36px/1.15 Georgia,serif;color:#c7c2b3;font-variant-numeric:tabular-nums}
.designer-frontage small{display:block;color:#aeada7;font-size:11px;line-height:1.5}
.designer-frontage-terrains{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.designer-frontage-terrains b{color:#ede6cf;font-variant-numeric:tabular-nums}
.designer-frontage p{grid-column:1/-1;margin:0!important;font-size:12px;line-height:1.65;color:#b3b2ae}
.integrated-designer .slot-width{font-size:10px;color:#c7bea5;line-height:1.2}
.integrated-designer .palette-width{color:#ccc3a6;font-size:11px;margin-left:auto;white-space:nowrap}
@media(max-width:650px){.designer-frontage{grid-template-columns:95px 1fr;padding:10px}.designer-frontage-terrains{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.designer-frontage strong{font-size:30px}}

/* ── zzzz-politics.css ── */
/* National politics: one retained dossier, native scroll, no animated filters or canvases. */
html body.playable-integrated .command-ui.hoi-ui .hoi-management{grid-area:nav;grid-column:2/5;padding-right:8px}
html body.playable-integrated .command-ui.hoi-ui .hoi-management>button{position:relative;flex:1;min-width:48px;max-width:100px}
html body.playable-integrated .command-ui.hoi-ui .hoi-management>.dip-notification{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;margin:0}
html body.playable-integrated .command-ui.hoi-ui .hoi-management .dip-notification b{right:4px;font-size:10px;line-height:14px}
html body.playable-integrated .command-ui.hoi-ui #political-power{color:#d7c991}
html body.playable-integrated .command-ui.hoi-ui #political-power small{font-size:10px;white-space:nowrap;color:#aebd98}
html body.playable-integrated .command-ui.hoi-ui .hoi-national button{padding-inline:9px}
html body.playable-integrated .command-ui.hoi-ui .management-subnav{display:flex;flex:none;gap:4px;padding:7px 10px;overflow:auto;border-bottom:1px solid #4d4e4c;background:#131312;touch-action:pan-x;overscroll-behavior:contain;scrollbar-width:thin}
html body.playable-integrated .command-ui.hoi-ui .management-subnav button{display:flex;justify-content:center;align-items:center;gap:6px;flex:1 0 auto;min-height:44px;padding:6px 12px;font-size:13px;white-space:nowrap}
html body.playable-integrated .command-ui.hoi-ui .management-subnav .hoi-icon{width:20px;height:20px}
html body.playable-integrated .command-ui.hoi-ui .management-subnav button[aria-pressed=true]{border-bottom:3px solid #d0c4a1!important;background:#2f2f2e!important;color:#d7d1c1!important}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar:has(>.management-subnav)>.ui-content .modern-tabs{display:none}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar:has(>.management-subnav){display:flex;flex-direction:column}
html body.playable-integrated .command-ui.hoi-ui .ui-sidebar:has(>.management-subnav)>.ui-content{min-height:0;flex:1;overflow-y:auto}
html body.playable-integrated .command-ui.hoi-ui .pol-window{position:fixed;inset:84px max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));width:min(1120px,calc(100vw - 24px));margin-inline:auto;z-index:43;display:flex;flex-direction:column;pointer-events:auto;overflow:hidden;border:1px solid #7f775f;border-top:3px solid var(--pol-accent);background:linear-gradient(135deg,#1c1c1b,#0f0f0e 70%);box-shadow:0 0 0 2px #000000bb,0 18px 50px #000000bb;color:#cfc9ba;font-family:var(--font-ui,system-ui);isolation:isolate}
html body.playable-integrated .command-ui.hoi-ui:has(.pol-window) :is(.hoi-commanders,.tc-tray,.tc-commands,.hoi-map-modes,.tc-sheet){display:none!important}
html body.playable-integrated .command-ui.hoi-ui .pol-window :is(h2,h3,h4,p){margin:0}
html body.playable-integrated .command-ui.hoi-ui .pol-window :is(h2,h3,h4){font-family:var(--font-title,serif);color:#cfc9ba;letter-spacing:.06em}
html body.playable-integrated .command-ui.hoi-ui .pol-window h3{font-size:17px;margin-bottom:12px}
html body.playable-integrated .command-ui.hoi-ui .pol-window h4{font-size:16px;line-height:1.35}
html body.playable-integrated .command-ui.hoi-ui .pol-window p{font-size:13px;line-height:1.65;color:#b3b1a9}
html body.playable-integrated .command-ui.hoi-ui .pol-window small{font-size:11px;line-height:1.5;color:#a2a19c}
html body.playable-integrated .command-ui.hoi-ui .pol-window .hoi-icon{height:22px;width:22px;flex:none;color:#cec4a8;vertical-align:middle}
html body.playable-integrated .command-ui.hoi-ui .pol-window button{min-height:44px;touch-action:manipulation;font-size:13px;line-height:1.35;cursor:pointer;border-radius:2px;color:#cfc9ba}
html body.playable-integrated .command-ui.hoi-ui .pol-window button:disabled{cursor:default;opacity:.55}
html body.playable-integrated .command-ui.hoi-ui .pol-window button:focus-visible{outline:2px solid #c0baab;outline-offset:2px}
html body.playable-integrated .command-ui.hoi-ui .pol-window-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;min-height:62px;flex:none;border-bottom:1px solid #494947;background:#1e1e1df2}
html body.playable-integrated .command-ui.hoi-ui .pol-window-head>div{display:flex;align-items:center;gap:12px}
html body.playable-integrated .command-ui.hoi-ui .pol-window-head>div>.hoi-icon{width:40px;height:40px;padding:7px;background:#11110f;border:1px solid #5a5853}
html body.playable-integrated .command-ui.hoi-ui .pol-window-head small{letter-spacing:.22em;color:var(--pol-accent)}
html body.playable-integrated .command-ui.hoi-ui .pol-window-head h2{font-size:24px}
html body.playable-integrated .command-ui.hoi-ui #politics-close{width:48px;height:48px;flex:none;font-size:30px;background:#0c0c0bd9!important}
html body.playable-integrated .command-ui.hoi-ui .pol-layout{display:grid;grid-template-columns:200px minmax(0,1fr);flex:1;min-height:0}
html body.playable-integrated .command-ui.hoi-ui .pol-sidebar{min-height:0;overflow-y:auto;background:#0a0a09b3;border-right:1px solid #494947;padding:14px 10px;overscroll-behavior:contain}
html body.playable-integrated .command-ui.hoi-ui .pol-country-art{display:flex;flex-direction:column;align-items:center;padding:2px 0 18px;gap:7px;border-bottom:1px solid #343433;margin-bottom:14px}
html body.playable-integrated .command-ui.hoi-ui .pol-country-art img{display:block;width:136px;height:136px;object-fit:contain;opacity:.94}
html body.playable-integrated .command-ui.hoi-ui .pol-country-art strong{font:700 23px/1.2 var(--font-title,serif);letter-spacing:.23em}
html body.playable-integrated .command-ui.hoi-ui .pol-country-art span{font-size:11px;color:#a4a29d;letter-spacing:.08em}
html body.playable-integrated .command-ui.hoi-ui .pol-sidebar nav{display:flex;flex-direction:column;gap:6px}
html body.playable-integrated .command-ui.hoi-ui .pol-sidebar nav button{display:flex;align-items:center;gap:10px;text-align:left;padding:10px 12px;min-height:52px}
html body.playable-integrated .command-ui.hoi-ui .pol-sidebar nav button[aria-pressed=true]{background:#323231!important;border-color:#a1977b!important;box-shadow:inset 3px 0 var(--pol-accent)!important;color:#dfdaca}
html body.playable-integrated .command-ui.hoi-ui .pol-main{min-width:0;min-height:0;display:flex;flex-direction:column}
html body.playable-integrated .command-ui.hoi-ui .pol-account{display:grid;grid-template-columns:minmax(130px,.65fr) minmax(0,1.35fr);gap:16px;padding:16px 20px;border-bottom:1px solid #424241;background:#232322a3;flex:none}
html body.playable-integrated .command-ui.hoi-ui .pol-balance{display:flex;align-items:center;gap:12px}
html body.playable-integrated .command-ui.hoi-ui .pol-balance>.hoi-icon{width:38px;height:38px;color:#d1ba72}
html body.playable-integrated .command-ui.hoi-ui .pol-balance>div{display:flex;flex-direction:column;gap:3px}
html body.playable-integrated .command-ui.hoi-ui .pol-balance strong{font:600 34px/1.1 var(--font-num,serif);font-variant-numeric:tabular-nums;color:#c7c2b3}
html body.playable-integrated .command-ui.hoi-ui .pol-balance span{font-size:10px;color:#94938d}
html body.playable-integrated .command-ui.hoi-ui .pol-income{padding-left:18px;border-left:1px solid #424241;display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px}
html body.playable-integrated .command-ui.hoi-ui .pol-income>b{font:600 24px var(--font-num,serif);color:#c2bfb7;font-variant-numeric:tabular-nums}
html body.playable-integrated .command-ui.hoi-ui .pol-income>b[data-negative=true]{color:#dfa18b}
html body.playable-integrated .command-ui.hoi-ui .pol-income>div{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:3px 14px}
html body.playable-integrated .command-ui.hoi-ui .pol-income>div span{font-size:11px;color:#a5a39d}
html body.playable-integrated .command-ui.hoi-ui .pol-income>div b{font-size:11px;color:#c6c0b1}
html body.playable-integrated .command-ui.hoi-ui .pol-scroll{min-height:0;flex:1;overflow:auto;overscroll-behavior:contain;touch-action:pan-y;padding:20px;scrollbar-color:#7a7870 #141413;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
html body.playable-integrated .command-ui.hoi-ui .pol-intro{margin:0 0 18px}
html body.playable-integrated .command-ui.hoi-ui .pol-overview>section{margin-bottom:22px}
html body.playable-integrated .command-ui.hoi-ui .pol-nation-trait{display:flex;align-items:center;gap:20px;padding:18px;border:1px solid #63615b;background:linear-gradient(120deg,#37383541,#151514);border-left:3px solid var(--pol-accent)}
html body.playable-integrated .command-ui.hoi-ui .pol-nation-trait .pol-seal{flex:none}
html body.playable-integrated .command-ui.hoi-ui .pol-kicker{font-size:10px;letter-spacing:.2em;color:var(--pol-accent)}
html body.playable-integrated .command-ui.hoi-ui .pol-nation-trait h3{margin:5px 0 7px;font-size:22px}
html body.playable-integrated .command-ui.hoi-ui .pol-current-laws{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
html body.playable-integrated .command-ui.hoi-ui .pol-current-laws button{display:flex;align-items:center;gap:12px;padding:13px;text-align:left;min-height:70px;background:#21211f!important;border:1px solid #484946!important}
html body.playable-integrated .command-ui.hoi-ui .pol-current-laws button>div{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
html body.playable-integrated .command-ui.hoi-ui .pol-current-laws button>span{width:38px;height:38px;display:grid;place-items:center;background:#161615;border:1px solid #444543}
html body.playable-integrated .command-ui.hoi-ui .pol-current-laws button b{font-size:15px}
html body.playable-integrated .command-ui.hoi-ui .pol-current-laws button i{font-style:normal;color:#c0b79a;font-size:20px}
html body.playable-integrated .command-ui.hoi-ui .pol-active>div{display:flex;justify-content:space-between;gap:14px;padding:10px;border-bottom:1px solid #373836;font-size:13px}
html body.playable-integrated .command-ui.hoi-ui .pol-active>div b{color:#c2bfb7;font-variant-numeric:tabular-nums;font-size:12px;white-space:nowrap}
html body.playable-integrated .command-ui.hoi-ui .pol-overview-actions{display:flex;flex-wrap:wrap;gap:8px}
html body.playable-integrated .command-ui.hoi-ui .pol-overview-actions button{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:9px 12px;white-space:nowrap}
html body.playable-integrated .command-ui.hoi-ui .pol-history{margin-top:18px;border-top:1px solid #393a38}
html body.playable-integrated .command-ui.hoi-ui .pol-history summary{min-height:44px;padding-top:12px;color:#bdbbb4}
html body.playable-integrated .command-ui.hoi-ui .pol-history li{font-size:12px;line-height:1.6;color:#b7b6b1;margin-bottom:6px}
html body.playable-integrated .command-ui.hoi-ui .pol-policy-group{margin-bottom:24px}
html body.playable-integrated .command-ui.hoi-ui .pol-policy-group>header{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid #5a5851}
html body.playable-integrated .command-ui.hoi-ui .pol-policy-group>header h3{margin:0}
html body.playable-integrated .command-ui.hoi-ui .pol-policy-group>header>span{font-size:11px;color:#acaaa2}
html body.playable-integrated .command-ui.hoi-ui .pol-policy-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}
html body.playable-integrated .command-ui.hoi-ui .pol-card{display:flex;flex-direction:column;min-width:0;background:#1c1c1b;border:1px solid #41423f;box-shadow:inset 0 1px #c1bcac0c;padding:14px;gap:9px}
html body.playable-integrated .command-ui.hoi-ui .pol-card[data-current=true]{border-color:#b0a689;background:linear-gradient(130deg,#30302e,#1e1e1d)}
html body.playable-integrated .command-ui.hoi-ui .pol-card[data-locked=true]{background:#181816}
html body.playable-integrated .command-ui.hoi-ui .pol-card-title{display:flex;align-items:center;gap:9px;min-width:0}
html body.playable-integrated .command-ui.hoi-ui .pol-card-title h4{flex:1}
html body.playable-integrated .command-ui.hoi-ui .pol-stamp{margin-left:auto;white-space:nowrap;font-size:10px;padding:3px 6px;background:#10100e;border:1px solid #595751;color:#bfbdb4}
html body.playable-integrated .command-ui.hoi-ui .pol-effects{padding:0;margin:3px 0;list-style:none;font-size:12px;line-height:1.65;color:#c0bbab}
html body.playable-integrated .command-ui.hoi-ui .pol-effects li{padding-left:12px;position:relative}
html body.playable-integrated .command-ui.hoi-ui .pol-effects li::before{content:'·';position:absolute;left:1px;color:#c3b898}
html body.playable-integrated .command-ui.hoi-ui .pol-card footer{position:static;display:flex;flex:0 0 auto;flex-wrap:wrap;gap:8px;align-items:center;height:auto;min-height:0;margin-top:auto;padding:7px 0 0;background:transparent;border:0}
html body.playable-integrated .command-ui.hoi-ui .pol-card footer button{display:flex;justify-content:center;align-items:center;gap:5px;flex:1;padding:8px 10px;white-space:nowrap;min-width:110px;background:#353634!important;border:1px solid #9f9575!important;color:#d0cbbc!important}
html body.playable-integrated .command-ui.hoi-ui .pol-card footer button:disabled{background:#1b1b1a!important;border-color:#50504d!important;color:#b5b3ae!important;opacity:.68}
html body.playable-integrated .command-ui.hoi-ui .pol-card footer small{flex-basis:100%;color:#c0b89e;overflow-wrap:anywhere}
html body.playable-integrated .command-ui.hoi-ui .pol-filters{display:flex;gap:5px;margin-bottom:18px}
html body.playable-integrated .command-ui.hoi-ui .pol-filters button{padding:8px 18px}
html body.playable-integrated .command-ui.hoi-ui .pol-filters button[aria-pressed=true]{background:#444542!important;border-color:#c2b794!important}
html body.playable-integrated .command-ui.hoi-ui .pol-decision-group{margin-bottom:24px}
html body.playable-integrated .command-ui.hoi-ui .pol-decision-list{display:flex;flex-direction:column;gap:8px}
html body.playable-integrated .command-ui.hoi-ui .pol-decision{display:grid;grid-template-columns:42px minmax(0,1fr) 132px;gap:14px;padding:16px 14px}
html body.playable-integrated .command-ui.hoi-ui .pol-decision-icon{width:42px;height:52px;display:grid;place-items:center;background:#121311;border:1px solid #4b4b49;box-shadow:inset 0 0 0 4px #262724}
html body.playable-integrated .command-ui.hoi-ui .pol-decision-icon .hoi-icon{width:28px;height:28px}
html body.playable-integrated .command-ui.hoi-ui .pol-decision p{margin-top:7px}
html body.playable-integrated .command-ui.hoi-ui .pol-decision footer{align-self:center;margin-top:0;padding-top:0}
html body.playable-integrated .command-ui.hoi-ui .pol-decision footer button{width:100%}
html body.playable-integrated .command-ui.hoi-ui .pol-decision-intro{display:flex;align-items:center;gap:20px;margin-bottom:18px;padding:16px 18px;border:1px solid #4e4e4c;border-left:3px solid var(--pol-accent);background:linear-gradient(110deg,#32322f,#171815)}
html body.playable-integrated .command-ui.hoi-ui .pol-decision-intro>div{flex:1;min-width:0}
html body.playable-integrated .command-ui.hoi-ui .pol-decision-intro h3{margin:5px 0 7px;font-size:21px}
html body.playable-integrated .command-ui.hoi-ui .pol-decision-intro>button{flex:none;padding:8px 12px;font-size:12px}
html body.playable-integrated .command-ui.hoi-ui .pol-filters{flex-wrap:wrap;margin-bottom:12px;gap:6px}
html body.playable-integrated .command-ui.hoi-ui .pol-filters button{display:flex;align-items:center;gap:8px;padding:8px 12px}
html body.playable-integrated .command-ui.hoi-ui .pol-filters button>span{font-size:11px;font-variant-numeric:tabular-nums;color:#c0baab;padding:1px 5px;background:#0c0c0b7a;min-width:18px}
html body.playable-integrated .command-ui.hoi-ui .pol-category-select{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:#b4b3ac;margin-bottom:18px}
html body.playable-integrated .command-ui.hoi-ui .pol-category-select select{min-height:44px;max-width:75%;padding:8px 34px 8px 12px;border:1px solid #67655e;border-radius:2px;background:#171716;color:#cfc9ba;font-size:13px;touch-action:manipulation}
html body.playable-integrated .command-ui.hoi-ui #politics-decision-category{background-color:#171716!important;color:#cfc9ba!important;color-scheme:dark}
html body.playable-integrated .command-ui.hoi-ui .pol-decision-group>header{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding-bottom:9px;border-bottom:1px solid #616059;margin-bottom:10px}
html body.playable-integrated .command-ui.hoi-ui .pol-decision-group>header h3{margin:0}
html body.playable-integrated .command-ui.hoi-ui .pol-decision-group>header>span{font-size:11px;color:#a7a59d}
html body.playable-integrated .command-ui.hoi-ui .pol-decision-type{display:flex;flex-wrap:wrap;gap:5px 12px;color:#b3b1aa;font-size:10px;letter-spacing:.08em;margin:0 0 7px}
html body.playable-integrated .command-ui.hoi-ui .pol-decision-type>span+span{color:#a09e97}
html body.playable-integrated .command-ui.hoi-ui .pol-decision-effects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px;margin-top:10px}
html body.playable-integrated .command-ui.hoi-ui .pol-decision-effects>div{border-left:2px solid #78766f;padding-left:9px;min-width:0}
html body.playable-integrated .command-ui.hoi-ui .pol-decision-effects>div[data-effect=benefit] .pol-effects{color:#c4c2ba}
html body.playable-integrated .command-ui.hoi-ui .pol-decision-effects>div[data-effect=cost]{border-color:#9c6753}
html body.playable-integrated .command-ui.hoi-ui .pol-decision-effects>div[data-effect=cost] .pol-effects{color:#deb09e}
html body.playable-integrated .command-ui.hoi-ui .pol-decision-effects>div[data-effect=result]{grid-column:1/-1;border-color:#c5ad62;padding:8px 10px;background:#a1904020}
html body.playable-integrated .command-ui.hoi-ui .pol-decision-effects>div[data-effect=result] .pol-effects{color:#c2bcad}
html body.playable-integrated .command-ui.hoi-ui .pol-decision-effects .pol-effects li{overflow-wrap:anywhere}
html body.playable-integrated .command-ui.hoi-ui .pol-requirements{border-top:1px solid #40403e;margin-top:10px}
html body.playable-integrated .command-ui.hoi-ui .pol-requirements>summary{min-height:44px;cursor:pointer;align-content:center;font-size:12px;color:#b7b5ae;touch-action:manipulation}
html body.playable-integrated .command-ui.hoi-ui .pol-requirements>summary>span{float:right;font-variant-numeric:tabular-nums}
html body.playable-integrated .command-ui.hoi-ui .pol-requirements ul{list-style:none;padding:0;margin:0 0 8px;font-size:12px;line-height:1.7;color:#daa38e}
html body.playable-integrated .command-ui.hoi-ui .pol-requirements li{display:flex;gap:8px}
html body.playable-integrated .command-ui.hoi-ui .pol-requirements li[data-met=true]{color:#bdbbb2}
html body.playable-integrated .command-ui.hoi-ui .pol-progress-label{display:flex;justify-content:space-between;gap:8px;margin-top:12px;font-size:11px;color:#b8b6ae}
html body.playable-integrated .command-ui.hoi-ui .pol-progress-label b{color:#c3beaf;font-variant-numeric:tabular-nums}
html body.playable-integrated .command-ui.hoi-ui .pol-progress{height:5px;margin-top:7px;background:#0f0f0e;border:1px solid #58564f;overflow:hidden}
html body.playable-integrated .command-ui.hoi-ui .pol-progress>i{display:block;height:100%;background:#baaf8d}
html body.playable-integrated .command-ui.hoi-ui .pol-decision[data-completed=true]{border-color:#6b6961;background:#252523}
html body.playable-integrated .command-ui.hoi-ui .pol-decision[data-completed=true] .pol-stamp{color:#c2bcad;border-color:#958c6f}
html body.playable-integrated .command-ui.hoi-ui .pol-timing{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:11px;color:#aaa89f;margin-top:6px}
html body.playable-integrated .command-ui.hoi-ui .pol-timing b{color:#cec3a2;font-size:11px}
html body.playable-integrated .command-ui.hoi-ui .pol-core-intro{padding:16px;margin-bottom:18px;border:1px solid #66645c;background:#2d2d2b59}
html body.playable-integrated .command-ui.hoi-ui .pol-core-intro>div{display:flex;align-items:center;gap:10px;margin-bottom:8px}
html body.playable-integrated .command-ui.hoi-ui .pol-core-intro h3{margin:0}
html body.playable-integrated .command-ui.hoi-ui .pol-core-intro>button{margin-top:12px;padding:8px 14px}
html body.playable-integrated .command-ui.hoi-ui .pol-core-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
html body.playable-integrated .command-ui.hoi-ui .pol-core .pol-card-title{align-items:flex-start}
html body.playable-integrated .command-ui.hoi-ui .pol-core .pol-card-title>div{flex:1;min-width:0}
html body.playable-integrated .command-ui.hoi-ui .pol-core .pol-card-title h4{margin-bottom:4px}
html body.playable-integrated .command-ui.hoi-ui .pol-empty{grid-column:1/-1;padding:24px;line-height:1.6;text-align:center;color:#b1b0a8;background:#1d1d1c66;border:1px dashed #5b5951}
html body.playable-integrated .command-ui.hoi-ui .pol-empty button{display:block;margin:12px auto 0;padding:8px 16px}
html body.playable-integrated .command-ui.hoi-ui .pol-bottom{flex:none;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:46px;padding:5px 14px;border-top:1px solid #464644;background:#171816;font-size:11px;color:#acaaa2}
html body.playable-integrated .command-ui.hoi-ui .pol-bottom button{padding:8px 12px;font-size:12px}
@media(max-width:1000px){
 html body.playable-integrated .command-ui.hoi-ui .pol-layout{grid-template-columns:160px minmax(0,1fr)}
 html body.playable-integrated .command-ui.hoi-ui .pol-country-art img{width:112px;height:112px}
 html body.playable-integrated .command-ui.hoi-ui .pol-scroll{padding:14px}
 html body.playable-integrated .command-ui.hoi-ui .pol-policy-options{grid-template-columns:repeat(2,minmax(0,1fr))}
 html body.playable-integrated .command-ui.hoi-ui .pol-decision{grid-template-columns:minmax(0,1fr) 125px}
 html body.playable-integrated .command-ui.hoi-ui .pol-decision-icon{display:none}
 html body.playable-integrated .command-ui.hoi-ui .pol-account{padding:12px 14px;gap:10px}
 html body.playable-integrated .command-ui.hoi-ui .hoi-national #political-power small{display:none}
 html body.playable-integrated .command-ui.hoi-ui .hoi-management>button span{display:block;font-size:10px}
}
@media(max-width:750px){
 html body.playable-integrated .command-ui.hoi-ui .pol-decision-intro{align-items:flex-start;flex-direction:column;gap:10px;padding:12px}
 html body.playable-integrated .command-ui.hoi-ui .pol-window{inset:84px 5px 5px;width:calc(100vw - 10px)}
 html body.playable-integrated .command-ui.hoi-ui .pol-layout{display:flex;flex-direction:column}
 html body.playable-integrated .command-ui.hoi-ui .pol-sidebar{overflow:visible;flex:none;padding:5px;border-right:0;border-bottom:1px solid #454643}
 html body.playable-integrated .command-ui.hoi-ui .pol-country-art{display:none}
 html body.playable-integrated .command-ui.hoi-ui .pol-sidebar nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:3px}
 html body.playable-integrated .command-ui.hoi-ui .pol-sidebar nav button{min-width:0;justify-content:center;padding:7px 4px;gap:5px;font-size:12px;white-space:nowrap}
 html body.playable-integrated .command-ui.hoi-ui .pol-sidebar nav .hoi-icon{width:17px;height:17px}
 html body.playable-integrated .command-ui.hoi-ui .pol-main{flex:1}
 html body.playable-integrated .command-ui.hoi-ui .pol-window-head{padding:6px 10px;min-height:56px}
 html body.playable-integrated .command-ui.hoi-ui .pol-window-head h2{font-size:20px}
 html body.playable-integrated .command-ui.hoi-ui .pol-account{grid-template-columns:120px minmax(0,1fr);padding:10px;gap:8px}
 html body.playable-integrated .command-ui.hoi-ui .pol-balance{gap:7px}
 html body.playable-integrated .command-ui.hoi-ui .pol-balance>.hoi-icon{width:26px;height:26px}
 html body.playable-integrated .command-ui.hoi-ui .pol-balance strong{font-size:27px}
 html body.playable-integrated .command-ui.hoi-ui .pol-income{padding-left:10px;gap:4px}
 html body.playable-integrated .command-ui.hoi-ui .pol-income>div{gap:2px 10px}
 html body.playable-integrated .command-ui.hoi-ui .pol-income>div span,html body.playable-integrated .command-ui.hoi-ui .pol-income>div b{font-size:10px}
 html body.playable-integrated .command-ui.hoi-ui .pol-core-list{grid-template-columns:1fr}
 html body.playable-integrated .command-ui.hoi-ui .pol-bottom>span{max-width:60%;line-height:1.5}
}
@media(max-width:500px){
 html body.playable-integrated .command-ui.hoi-ui .pol-decision-effects{grid-template-columns:1fr}
 html body.playable-integrated .command-ui.hoi-ui .pol-policy-options{grid-template-columns:1fr}
 html body.playable-integrated .command-ui.hoi-ui .pol-decision{grid-template-columns:1fr}
 html body.playable-integrated .command-ui.hoi-ui .pol-decision footer{display:grid;grid-template-columns:130px minmax(0,1fr)}
 html body.playable-integrated .command-ui.hoi-ui .pol-current-laws{grid-template-columns:1fr}
 html body.playable-integrated .command-ui.hoi-ui .pol-nation-trait{gap:12px;padding:12px}
 html body.playable-integrated .command-ui.hoi-ui .pol-seal svg{width:48px;height:48px}
 html body.playable-integrated .command-ui.hoi-ui .pol-sidebar nav .hoi-icon{display:none}
}
/* National spirits live in the political overview, sharing focus art but not its tree. */
/* Beta cabinet dossiers: one category at a time, with live diplomatic missions
   separated from actions the player can still take. Stable rows retain scroll. */
html body.playable-integrated .command-ui.hoi-ui .pol-decision-workspace{display:grid;grid-template-columns:156px minmax(0,1fr);gap:14px;align-items:start}
html body.playable-integrated .command-ui.hoi-ui .pol-decision-intro[data-dossiers=true]{padding:9px 12px;gap:12px;margin-bottom:10px;min-height:60px}
html body.playable-integrated .command-ui.hoi-ui .pol-decision-intro[data-dossiers=true] .pol-kicker{display:none}
html body.playable-integrated .command-ui.hoi-ui .pol-decision-intro[data-dossiers=true] h3{font-size:18px;margin:0 0 3px}
html body.playable-integrated .command-ui.hoi-ui .pol-decision-intro[data-dossiers=true] p{font-size:11px;line-height:1.4}
html body.playable-integrated .command-ui.hoi-ui .pol-dossiers{display:flex;flex-direction:column;gap:7px;position:sticky;top:0;contain:layout style}
html body.playable-integrated .command-ui.hoi-ui .pol-dossiers button{display:flex;align-items:center;gap:9px;text-align:left;padding:12px 9px;min-height:68px;background:#151614!important;border:1px solid #3f3f3d!important;box-shadow:inset 0 1px #ede8d908!important}
html body.playable-integrated .command-ui.hoi-ui .pol-dossiers button>div{display:flex;flex-direction:column;gap:5px;min-width:0}
html body.playable-integrated .command-ui.hoi-ui .pol-dossiers button b{font-size:13px;color:#c3beaf;letter-spacing:.06em}
html body.playable-integrated .command-ui.hoi-ui .pol-dossiers button small{font-size:10px;color:#a3a199}
html body.playable-integrated .command-ui.hoi-ui .pol-dossiers button[aria-pressed=true]{border-color:#a3997c!important;background:linear-gradient(110deg,#373836,#222221)!important;box-shadow:inset 3px 0 #cbbf9d!important}
html body.playable-integrated .command-ui.hoi-ui .pol-dossier-content{min-width:0}
html body.playable-integrated .command-ui.hoi-ui .pol-dossier-head{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;margin-bottom:8px;border-top:2px solid #8a8269;border-bottom:1px solid #454543;background:linear-gradient(110deg,#30302f66,transparent)}
html body.playable-integrated .command-ui.hoi-ui .pol-dossier-head>span{display:grid;place-items:center;flex:none;width:40px;height:48px;border:1px solid #6d654e;background:#131312}
html body.playable-integrated .command-ui.hoi-ui .pol-dossier-head h3{margin-bottom:3px;font-size:17px}
html body.playable-integrated .command-ui.hoi-ui .pol-dossier-head p{font-size:11px;line-height:1.45}
html body.playable-integrated .command-ui.hoi-ui .pol-decision-workspace .pol-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-bottom:12px}
html body.playable-integrated .command-ui.hoi-ui .pol-decision-workspace .pol-filters button{padding:7px 4px;font-size:12px;white-space:nowrap}
html body.playable-integrated .command-ui.hoi-ui .pol-decision-workspace .pol-decision{grid-template-columns:34px minmax(0,1fr);gap:10px;padding:13px 12px;background:linear-gradient(125deg,#232322,#171815)}
html body.playable-integrated .command-ui.hoi-ui .pol-decision-workspace .pol-decision-icon{width:34px;height:43px}
html body.playable-integrated .command-ui.hoi-ui .pol-decision-workspace .pol-decision footer{grid-column:2;display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid #3d3e3c;padding-top:10px;margin-top:0}
html body.playable-integrated .command-ui.hoi-ui .pol-decision-workspace .pol-decision footer button{flex:0 0 auto;min-width:130px;order:2}
html body.playable-integrated .command-ui.hoi-ui .pol-decision-workspace .pol-decision footer small{flex:1;flex-basis:0;order:1;line-height:1.5}
html body.playable-integrated .command-ui.hoi-ui .pol-historical-reference{display:block;margin:7px 0 5px;color:#aea68d!important;font-size:10px!important;letter-spacing:.07em}
html body.playable-integrated .command-ui.hoi-ui .pol-action-outcome{border-left:2px solid #8a8880;background:#10110f66;margin-top:7px;padding:0 9px}
html body.playable-integrated .command-ui.hoi-ui .pol-action-outcome>summary{min-height:36px;padding:9px 0;color:#c3bba0;font-size:12px;font-weight:600;cursor:pointer;touch-action:manipulation}
html body.playable-integrated .command-ui.hoi-ui .pol-action-outcome[open]{padding-bottom:8px}
html body.playable-integrated .command-ui.hoi-ui .pol-decision-workspace .pol-decision[data-kind=action] .pol-decision-type{margin-bottom:4px}
html body.playable-integrated .command-ui.hoi-ui .pol-decision-workspace .pol-decision[data-kind=action] .pol-decision-body>p{font-size:12px;line-height:1.5}
html body.playable-integrated .command-ui.hoi-ui .pol-missions{border:1px solid #837a61;border-left:3px solid #b0a27a;background:linear-gradient(115deg,#2e2f2d,#1a1a18);margin-bottom:20px}
html body.playable-integrated .command-ui.hoi-ui .pol-missions>header{display:flex;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid #595750}
html body.playable-integrated .command-ui.hoi-ui .pol-missions>header h3{margin:4px 0 0;font-size:17px}
html body.playable-integrated .command-ui.hoi-ui .pol-missions>header>b{margin-left:auto;color:#bdb8a8;font-size:22px;font-variant-numeric:tabular-nums}
html body.playable-integrated .command-ui.hoi-ui .pol-missions>article{display:flex;align-items:flex-start;gap:15px;padding:12px 14px;border-bottom:1px solid #4444424f}
html body.playable-integrated .command-ui.hoi-ui .pol-missions>article>div{min-width:0;flex:1}
html body.playable-integrated .command-ui.hoi-ui .pol-missions>article h4{font-size:14px;margin-bottom:4px}
html body.playable-integrated .command-ui.hoi-ui .pol-missions>article p{font-size:12px;margin-top:5px}
html body.playable-integrated .command-ui.hoi-ui .pol-missions>article>strong{flex:none;color:#d4c7a1;font-size:12px;white-space:nowrap;font-variant-numeric:tabular-nums}
@media(max-width:1100px){
 html body.playable-integrated .command-ui.hoi-ui .pol-decision-workspace{grid-template-columns:1fr;gap:12px}
 html body.playable-integrated .command-ui.hoi-ui .pol-dossiers{position:static;display:flex;flex-direction:row;overflow-x:auto;overscroll-behavior-x:contain;touch-action:pan-x;padding-bottom:3px}
 html body.playable-integrated .command-ui.hoi-ui .pol-dossiers button{flex:1 0 123px;min-height:60px;padding:8px 10px}
 html body.playable-integrated .command-ui.hoi-ui .pol-dossier-head{padding:8px 10px;margin-bottom:8px}
 html body.playable-integrated .command-ui.hoi-ui .pol-decision-workspace .pol-decision-icon{display:grid}
}
@media(max-width:600px){
 html body.playable-integrated .command-ui.hoi-ui .pol-decision-workspace .pol-decision{grid-template-columns:minmax(0,1fr)}
 html body.playable-integrated .command-ui.hoi-ui .pol-decision-workspace .pol-decision-icon{display:none}
 html body.playable-integrated .command-ui.hoi-ui .pol-decision-workspace .pol-decision footer{grid-column:1}
 html body.playable-integrated .command-ui.hoi-ui .pol-missions>article{flex-wrap:wrap;gap:7px}
 html body.playable-integrated .command-ui.hoi-ui .pol-missions>article>strong{margin-left:auto}
}
html body.playable-integrated .command-ui.hoi-ui .pol-spirits{border:1px solid #424240;background:linear-gradient(120deg,#222221,#151614);padding:16px;margin:20px 0;contain:layout style}
html body.playable-integrated .command-ui.hoi-ui .pol-spirits>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
html body.playable-integrated .command-ui.hoi-ui .pol-spirits h3{margin:5px 0 0;font-size:20px}
html body.playable-integrated .command-ui.hoi-ui .pol-spirits h3 small{display:inline-block!important;margin-left:10px;color:#bfb598;font:13px system-ui}
html body.playable-integrated .command-ui.hoi-ui .pol-spirits>header>span{font-size:12px;color:#ada58c}
html body.playable-integrated .command-ui.hoi-ui .pol-spirit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;align-items:stretch}
html body.playable-integrated .command-ui.hoi-ui button.pol-spirit{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:5px;padding:8px 4px;min-height:118px;min-width:0;border:1px solid #40403e;background:#141513;box-shadow:inset 0 1px #ede8d908;touch-action:manipulation}
html body.playable-integrated .command-ui.hoi-ui #politics-window button.pol-spirit[aria-expanded=true]{border-color:#cfc3a1!important;background:#2d2d2c!important;box-shadow:inset 0 -3px #cfc3a1!important}
html body.playable-integrated .command-ui.hoi-ui button.pol-spirit:focus-visible{outline:2px solid #ccc7b7;outline-offset:2px}
html body.playable-integrated .command-ui.hoi-ui .pol-spirit .nf-ic{width:64px;height:64px;flex:none}
html body.playable-integrated .command-ui.hoi-ui .pol-spirit>b{font-size:12px;line-height:1.4;text-align:center;white-space:normal;overflow-wrap:anywhere;color:#ccc7b7}
html body.playable-integrated .command-ui.hoi-ui .pol-spirit>small{font-size:10px;color:#a5a39d;margin-top:auto}
html body.playable-integrated .command-ui.hoi-ui .pol-spirit[data-tone=bad]>small{color:#cd9d8c}
html body.playable-integrated .command-ui.hoi-ui #politics-spirit-detail[hidden]{display:none}
html body.playable-integrated .command-ui.hoi-ui .pol-spirit-detail{display:grid;grid-template-columns:144px minmax(0,1fr);gap:18px;border-top:1px solid #6d654e;margin-top:16px;padding-top:16px;align-items:start}
html body.playable-integrated .command-ui.hoi-ui .pol-spirit-painting{display:flex;align-items:center;justify-content:center;min-height:144px;background:radial-gradient(ellipse,#58565033,transparent 70%)}
html body.playable-integrated .command-ui.hoi-ui .pol-spirit-painting .nf-ic{width:144px;height:144px}
html body.playable-integrated .command-ui.hoi-ui .pol-spirit-description{min-width:0}
html body.playable-integrated .command-ui.hoi-ui .pol-spirit-description>header{display:flex;justify-content:space-between;align-items:start;gap:12px}
html body.playable-integrated .command-ui.hoi-ui .pol-spirit-description h4{font-size:21px;margin:6px 0;color:#d0cbbc}
html body.playable-integrated .command-ui.hoi-ui .pol-spirit-description header>button{width:44px;height:44px;flex:none;font-size:23px;padding:0}
html body.playable-integrated .command-ui.hoi-ui .pol-spirit-description p{font-size:13px;line-height:1.65;margin:8px 0;color:#c7bfa6}
html body.playable-integrated .command-ui.hoi-ui .pol-spirit-description p.pol-spirit-source{font-size:11px;color:#9d9b95}
html body.playable-integrated .command-ui.hoi-ui .pol-spirit-mods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 16px;margin:12px 0 0;padding:0;list-style:none}
html body.playable-integrated .command-ui.hoi-ui .pol-spirit-mods li{display:flex;gap:10px;justify-content:space-between;align-items:baseline;padding:5px 0;border-bottom:1px solid #ede8d90b;font-size:12px;color:#cdc5ab}
html body.playable-integrated .command-ui.hoi-ui .pol-spirit-mods b{color:#bcbab1;white-space:nowrap}
html body.playable-integrated .command-ui.hoi-ui .pol-spirit-mods [data-good=false] b{color:#e29582}
@media(max-width:750px){html body.playable-integrated .command-ui.hoi-ui .pol-spirits{padding:12px}html body.playable-integrated .command-ui.hoi-ui .pol-spirit-grid{grid-template-columns:repeat(auto-fill,minmax(82px,1fr))}html body.playable-integrated .command-ui.hoi-ui .pol-spirit-detail{grid-template-columns:80px minmax(0,1fr);gap:12px}html body.playable-integrated .command-ui.hoi-ui .pol-spirit-painting{min-height:80px}html body.playable-integrated .command-ui.hoi-ui .pol-spirit-painting .nf-ic{width:80px;height:80px}html body.playable-integrated .command-ui.hoi-ui .pol-spirit-mods{grid-template-columns:1fr}html body.playable-integrated .command-ui.hoi-ui .pol-spirits>header>span{max-width:84px;text-align:right}}

/* DECISIONS-3 · BlackICE-style single ledger, category headers and compact orders.
   Only opened dossiers / one inspected order are rendered; no animated filters. */
html body.playable-integrated .command-ui.hoi-ui .pol-window[data-tab=decisions]{width:min(710px,calc(100vw - 24px));margin-inline:0;right:auto}
html body.playable-integrated .command-ui.hoi-ui .pol-window[data-tab=decisions] .pol-layout{display:flex;flex-direction:column}
html body.playable-integrated .command-ui.hoi-ui .pol-window[data-tab=decisions] .pol-sidebar{flex:none;padding:5px 8px;border-right:0;border-bottom:1px solid #41413f;overflow:visible}
html body.playable-integrated .command-ui.hoi-ui .pol-window[data-tab=decisions] .pol-country-art{display:none}
html body.playable-integrated .command-ui.hoi-ui .pol-window[data-tab=decisions] .pol-sidebar nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:4px}
html body.playable-integrated .command-ui.hoi-ui .pol-window[data-tab=decisions] .pol-sidebar nav button{min-width:0;min-height:44px;justify-content:center;padding:6px;font-size:12px;gap:6px;white-space:nowrap}
html body.playable-integrated .command-ui.hoi-ui .pol-window[data-tab=decisions] .pol-main{flex:1}
html body.playable-integrated .command-ui.hoi-ui .pol-window[data-tab=decisions] .pol-account{padding:8px 14px;grid-template-columns:135px minmax(0,1fr);gap:10px}
html body.playable-integrated .command-ui.hoi-ui .pol-window[data-tab=decisions] .pol-balance strong{font-size:25px}
html body.playable-integrated .command-ui.hoi-ui .pol-window[data-tab=decisions] .pol-balance>div{gap:0}
html body.playable-integrated .command-ui.hoi-ui .pol-window[data-tab=decisions] .pol-balance>div>span{display:none}
html body.playable-integrated .command-ui.hoi-ui .pol-window[data-tab=decisions] .pol-balance>.hoi-icon{width:28px;height:28px}
html body.playable-integrated .command-ui.hoi-ui .pol-window[data-tab=decisions] .pol-income{gap:3px;padding-left:12px}
html body.playable-integrated .command-ui.hoi-ui .pol-window[data-tab=decisions] .pol-income>b{font-size:20px}
html body.playable-integrated .command-ui.hoi-ui .pol-window[data-tab=decisions] .pol-scroll{padding:12px}
html body.playable-integrated .command-ui.hoi-ui .pol-orders-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
html body.playable-integrated .command-ui.hoi-ui .pol-orders-heading h3{font-size:20px;margin:3px 0 0}
html body.playable-integrated .command-ui.hoi-ui .pol-orders-heading>button{padding:7px 10px;display:flex;align-items:center;gap:5px;font-size:12px}
html body.playable-integrated .command-ui.hoi-ui .pol-order-filters{display:flex;gap:4px;position:sticky;top:-12px;padding:8px 0;margin:0 0 8px;background:#171816;z-index:2;border-bottom:1px solid #4d4d4b}
html body.playable-integrated .command-ui.hoi-ui .pol-order-filters button{flex:1;min-width:0;padding:6px;font-size:12px;white-space:nowrap}
html body.playable-integrated .command-ui.hoi-ui .pol-order-filters button span{margin-left:7px;color:#a19880;font:11px system-ui}
html body.playable-integrated .command-ui.hoi-ui .pol-dossier-stack{display:flex;flex-direction:column;gap:9px}
html body.playable-integrated .command-ui.hoi-ui .pol-dossier{min-width:0;contain:layout style;border:1px solid #484947;box-shadow:0 2px 5px #00000066}
html body.playable-integrated .command-ui.hoi-ui button.pol-dossier-toggle{display:flex;align-items:center;gap:12px;width:100%;min-height:62px;padding:7px 12px;text-align:left;border:0!important;border-radius:0!important;background:linear-gradient(100deg,#3c3c3a,#252524 75%)!important;box-shadow:inset 0 1px #cac4b522,inset 0 -1px #00000088!important}
html body.playable-integrated .command-ui.hoi-ui button.pol-dossier-toggle[aria-expanded=true]{background:linear-gradient(100deg,#424240,#30302f 75%)!important;border-bottom:1px solid #787058!important}
html body.playable-integrated .command-ui.hoi-ui .pol-dossier-seal{display:grid;place-items:center;width:38px;height:42px;color:#d2c6a1;background:linear-gradient(140deg,#141413,#282826);border:1px solid #7e765e;box-shadow:inset 0 0 0 3px #121311;flex:none}
html body.playable-integrated .command-ui.hoi-ui .pol-dossier-title{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}
html body.playable-integrated .command-ui.hoi-ui .pol-dossier-title>b{font:600 16px/1.3 var(--font-title,serif);letter-spacing:.07em;color:#d0cbbc}
html body.playable-integrated .command-ui.hoi-ui .pol-dossier-title>small{font-size:10px;color:#bdb49b}
html body.playable-integrated .command-ui.hoi-ui .pol-dossier-toggle>i{font:24px/1 serif;font-style:normal;color:#cfc4a4;padding-left:6px}
html body.playable-integrated .command-ui.hoi-ui .pol-dossier-body{padding:6px;background:#111210}
html body.playable-integrated .command-ui.hoi-ui p.pol-dossier-description{padding:8px 10px 11px;font-size:12px;line-height:1.6;color:#a5a39e}
html body.playable-integrated .command-ui.hoi-ui .pol-order{background:#222221;border:1px solid #41413f;margin-top:4px;min-width:0}
html body.playable-integrated .command-ui.hoi-ui .pol-order[data-current=true]{border-color:#978d71;background:#333331}
html body.playable-integrated .command-ui.hoi-ui .pol-order[data-locked=true]{background:#181816}
html body.playable-integrated .command-ui.hoi-ui .pol-order[data-completed=true]{background:#20201f;border-color:#57554d}
html body.playable-integrated .command-ui.hoi-ui .pol-order-row{display:flex;align-items:center;gap:6px;min-height:56px;padding-right:7px}
html body.playable-integrated .command-ui.hoi-ui button.pol-order-open{display:flex;gap:9px;align-items:center;min-width:0;flex:1;text-align:left;min-height:54px;padding:7px 6px;background:transparent!important;border:0!important;box-shadow:none!important}
html body.playable-integrated .command-ui.hoi-ui .pol-order-open>span:nth-child(2){display:flex;flex:1;min-width:0;flex-direction:column;gap:3px}
html body.playable-integrated .command-ui.hoi-ui .pol-order-open b{font-size:13px;line-height:1.35;font-weight:600;color:#ccc6b7}
html body.playable-integrated .command-ui.hoi-ui .pol-order-open small{font-size:10px;color:#a19f99}
html body.playable-integrated .command-ui.hoi-ui .pol-order-open>i{font:18px serif;color:#b4ab92;flex:none}
html body.playable-integrated .command-ui.hoi-ui .pol-order-icon{display:grid;place-items:center;width:30px;height:34px;flex:none;background:#10100e;border:1px solid #464744}
html body.playable-integrated .command-ui.hoi-ui .pol-order-icon .hoi-icon{width:19px;height:19px}
html body.playable-integrated .command-ui.hoi-ui .pol-order-cost{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:none}
html body.playable-integrated .command-ui.hoi-ui .pol-order-cost>span{display:grid;grid-template-columns:16px auto;align-items:center;column-gap:4px;min-width:35px;color:#d2c7a4}
html body.playable-integrated .command-ui.hoi-ui .pol-order-cost .hoi-icon{width:15px;height:15px}
html body.playable-integrated .command-ui.hoi-ui .pol-order-cost b{font:600 13px/1.2 var(--font-num,serif);font-variant-numeric:tabular-nums}
html body.playable-integrated .command-ui.hoi-ui .pol-order-cost small{grid-column:1/-1;font-size:9px;text-align:center;color:#b2a991}
html body.playable-integrated .command-ui.hoi-ui .pol-order-cost [data-short=true],html body.playable-integrated .command-ui.hoi-ui .pol-order-cost [data-short=true] small{color:#e29e86}
html body.playable-integrated .command-ui.hoi-ui button.pol-order-run{flex:none;width:68px;min-height:44px;padding:5px 3px;font-size:12px;background:linear-gradient(#58564e,#333331)!important;border:1px solid #a69c7f!important;box-shadow:inset 0 1px #c2bcad33!important;color:#d6d0c1}
html body.playable-integrated .command-ui.hoi-ui button.pol-order-run:disabled{opacity:1;color:#86847f;background:#1f1f1e!important;border-color:#434341!important}
html body.playable-integrated .command-ui.hoi-ui .pol-order-progress{height:3px;background:#0c0c0b;overflow:hidden}
html body.playable-integrated .command-ui.hoi-ui .pol-order-progress>i{display:block;height:100%;background:#c2b690}
html body.playable-integrated .command-ui.hoi-ui .pol-order-detail{padding:12px;border-top:1px solid #484946;background:#161615}
html body.playable-integrated .command-ui.hoi-ui .pol-order-meta{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:#c0b594;margin-bottom:8px}
html body.playable-integrated .command-ui.hoi-ui .pol-order-detail>p{font-size:12px;line-height:1.65}
html body.playable-integrated .command-ui.hoi-ui .pol-order-detail .pol-decision-effects{margin:12px 0}
html body.playable-integrated .command-ui.hoi-ui .pol-order-detail .pol-requirements h4{font:12px system-ui;margin:10px 0;color:#b6b4ad}
html body.playable-integrated .command-ui.hoi-ui .pol-order-detail .pol-requirements h4 span{float:right;color:#b1a78a}
html body.playable-integrated .command-ui.hoi-ui .pol-order-detail .pol-requirements li{font-size:12px}
html body.playable-integrated .command-ui.hoi-ui p.pol-order-reason{color:#d2a085;border-left:2px solid #a86d4e;padding-left:8px;margin:8px 0}
html body.playable-integrated .command-ui.hoi-ui .pol-order-outcome{margin:10px 0;padding:8px;border:1px solid #4b4b49;background:#31312f1f}
html body.playable-integrated .command-ui.hoi-ui .pol-national-meters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}
html body.playable-integrated .command-ui.hoi-ui .pol-national-meter{border:1px solid #58564f;background:linear-gradient(135deg,#2c2d2b,#1a1b18);padding:11px 12px;min-width:0}
html body.playable-integrated .command-ui.hoi-ui .pol-national-meter>header{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:14px}
html body.playable-integrated .command-ui.hoi-ui .pol-national-meter h3{font-size:14px;margin:0}
html body.playable-integrated .command-ui.hoi-ui .pol-national-meter strong{color:#c8c3b2;font:22px/1 var(--font-num,serif);font-variant-numeric:tabular-nums}
html body.playable-integrated .command-ui.hoi-ui .pol-national-meter strong small{font:10px system-ui}
html body.playable-integrated .command-ui.hoi-ui .pol-meter-track{position:relative;height:9px;background:#434341;border:1px solid #7e765f;margin:0 4px 11px}
html body.playable-integrated .command-ui.hoi-ui .pol-meter-track>i{position:absolute;top:0;height:100%;background:#776f58;border-right:1px solid #0f0f0f88;box-sizing:border-box}
html body.playable-integrated .command-ui.hoi-ui .pol-meter-track>i[data-tone=bad]{background:#9f5847}
html body.playable-integrated .command-ui.hoi-ui .pol-meter-track>i[data-tone=good]{background:#828078}
html body.playable-integrated .command-ui.hoi-ui .pol-meter-track>i[data-tone=mixed]{background:#a19676}
html body.playable-integrated .command-ui.hoi-ui .pol-meter-track>em{position:absolute;top:-5px;height:17px;width:4px;transform:translateX(-50%);background:#d7d1c2;box-shadow:0 0 0 1px #0f0f0f}
html body.playable-integrated .command-ui.hoi-ui .pol-meter-caption{display:flex;justify-content:space-between;gap:7px;font-size:11px;color:#cac1a8}
html body.playable-integrated .command-ui.hoi-ui .pol-meter-caption>span{font-variant-numeric:tabular-nums;font-size:10px;color:#aeaca4}
html body.playable-integrated .command-ui.hoi-ui .pol-meter-detail>summary,html body.playable-integrated .command-ui.hoi-ui .pol-reform-phases>summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;touch-action:manipulation;color:#a9a7a0;font-size:11px;list-style:none}
html body.playable-integrated .command-ui.hoi-ui .pol-meter-detail>summary::-webkit-details-marker,html body.playable-integrated .command-ui.hoi-ui .pol-reform-phases>summary::-webkit-details-marker{display:none}
html body.playable-integrated .command-ui.hoi-ui .pol-meter-detail p{font-size:11px;line-height:1.6}
html body.playable-integrated .command-ui.hoi-ui .pol-meter-detail .pol-effects{font-size:11px}
html body.playable-integrated .command-ui.hoi-ui .pol-army-reform{padding:13px 14px;margin-bottom:12px;border:1px solid #746c55;border-top:3px solid #b27b5c;background:linear-gradient(115deg,#2c2d2b,#1f1f1e 80%);contain:layout style}
html body.playable-integrated .command-ui.hoi-ui .pol-reform-heading{display:flex;align-items:center;gap:10px;margin-bottom:9px}
html body.playable-integrated .command-ui.hoi-ui .pol-reform-heading>.hoi-icon{width:30px;height:30px}
html body.playable-integrated .command-ui.hoi-ui .pol-reform-heading>div{flex:1;min-width:0}
html body.playable-integrated .command-ui.hoi-ui .pol-reform-heading h3{font-size:19px;margin:2px 0}
html body.playable-integrated .command-ui.hoi-ui .pol-reform-heading small{font-size:10px;letter-spacing:.15em;color:#b1a990}
html body.playable-integrated .command-ui.hoi-ui .pol-reform-heading>b{font-size:11px;color:#ccc1a0}
html body.playable-integrated .command-ui.hoi-ui .pol-army-reform>p{font-size:12px;line-height:1.6}
html body.playable-integrated .command-ui.hoi-ui .pol-reform-line{display:flex;justify-content:space-between;font-size:11px;color:#bcb49a;margin-top:11px}
html body.playable-integrated .command-ui.hoi-ui .pol-reform-penalties{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px;margin-top:12px}
html body.playable-integrated .command-ui.hoi-ui .pol-reform-penalties>span{display:flex;justify-content:space-between;align-items:baseline;gap:4px;font-size:10px;padding:4px 0;border-bottom:1px solid #ede8d909;color:#b9b197}
html body.playable-integrated .command-ui.hoi-ui .pol-reform-penalties b{color:#e4aa8d;font-size:11px;text-align:right;font-variant-numeric:tabular-nums}
html body.playable-integrated .command-ui.hoi-ui .pol-reform-phases ol{margin:0;padding:0;list-style:none}
html body.playable-integrated .command-ui.hoi-ui .pol-reform-phases li{display:flex;gap:10px;padding:8px 0;border-top:1px solid #a1987d22;color:#a9a7a0;font-size:12px}
html body.playable-integrated .command-ui.hoi-ui .pol-reform-phases li>span{width:16px;flex:none;color:#a59d84}
html body.playable-integrated .command-ui.hoi-ui .pol-reform-phases li[data-status=COMPLETED]>span{color:#bdbbb2}
html body.playable-integrated .command-ui.hoi-ui .pol-reform-phases li[data-status=ACTIVE]>span{color:#c2bcad}
html body.playable-integrated .command-ui.hoi-ui .pol-reform-phases li p{font-size:11px;color:#979690;margin:4px 0 0}
@media(max-width:750px){
 html body.playable-integrated .command-ui.hoi-ui .pol-window[data-tab=decisions]{width:calc(100vw - 10px);margin-inline:0;left:5px;right:5px}
 html body.playable-integrated .command-ui.hoi-ui .pol-window[data-tab=decisions] .pol-scroll{padding:9px}
 html body.playable-integrated .command-ui.hoi-ui .pol-order-filters{top:-9px}
 html body.playable-integrated .command-ui.hoi-ui .pol-window[data-tab=decisions] .pol-sidebar nav button{font-size:11px;gap:4px}
 html body.playable-integrated .command-ui.hoi-ui .pol-window[data-tab=decisions] .pol-sidebar nav .hoi-icon{width:16px;height:16px}
}
@media(max-width:480px){
 html body.playable-integrated .command-ui.hoi-ui .pol-national-meters{grid-template-columns:1fr}
 html body.playable-integrated .command-ui.hoi-ui .pol-order-row{gap:4px;padding-right:4px}
 html body.playable-integrated .command-ui.hoi-ui .pol-order-icon{display:none}
 html body.playable-integrated .command-ui.hoi-ui button.pol-order-open{padding-left:8px}
 html body.playable-integrated .command-ui.hoi-ui .pol-order-open b{font-size:12px}
 html body.playable-integrated .command-ui.hoi-ui .pol-order-cost{gap:4px}
 html body.playable-integrated .command-ui.hoi-ui button.pol-order-run{width:52px}
 html body.playable-integrated .command-ui.hoi-ui .pol-reform-penalties{grid-template-columns:repeat(2,minmax(0,1fr))}
 html body.playable-integrated .command-ui.hoi-ui .pol-orders-heading h3{font-size:17px}
}

html body.playable-integrated .command-ui.hoi-ui .pol-national-meter{padding:0}
html body.playable-integrated .command-ui.hoi-ui .pol-national-meter>summary{display:block;list-style:none;cursor:pointer;touch-action:manipulation;padding:10px 12px;min-height:80px;box-sizing:border-box;background:transparent!important;box-shadow:none!important}
html body.playable-integrated .command-ui.hoi-ui .pol-national-meter>summary::-webkit-details-marker{display:none}
html body.playable-integrated .command-ui.hoi-ui .pol-meter-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:12px}
html body.playable-integrated .command-ui.hoi-ui .pol-meter-heading>b{font:600 14px var(--font-title,serif);letter-spacing:.06em;color:#c6c1b2}
html body.playable-integrated .command-ui.hoi-ui .pol-meter-track{display:block}
html body.playable-integrated .command-ui.hoi-ui .pol-meter-caption>i{font-style:normal;color:#b0a88f}
html body.playable-integrated .command-ui.hoi-ui .pol-meter-detail{padding:0 12px 10px}
html body.playable-integrated .command-ui.hoi-ui .pol-window[data-tab=decisions] .pol-window-head{min-height:56px;padding:6px 12px}
html body.playable-integrated .command-ui.hoi-ui .pol-window[data-tab=decisions] .pol-window-head h2{font-size:21px}
html body.playable-integrated .command-ui.hoi-ui .pol-window[data-tab=decisions] .pol-window-head small{font-size:9px}
html body.playable-integrated .command-ui.hoi-ui .pol-window[data-tab=decisions] .pol-window-head .national-mark{width:38px!important;height:38px!important}

/* ── zzzz-shipyard.css ── */
/* SHIPYARD-1 · 舰船设计局. A self-contained full-screen window: gunmetal plating, brass trim, a dry dock berth
   and archive photographs of every module. Scoped under #ship-designer so no other window is affected. */
#ship-designer{
 --sy-ink:#0a0a0a;--sy-steel:#171816;--sy-steel-2:#1f1f1d;--sy-steel-3:#292927;--sy-edge:#383936;--sy-edge-2:#4d4d4a;
 --sy-brass:#b2a57c;--sy-brass-2:#c2bcad;--sy-brass-dim:#7d7458;--sy-text:#d7d2c4;--sy-dim:#a5a39d;--sy-faint:#75736e;
 --sy-up:#b9b7ae;--sy-down:#ec8d74;--sy-warn:#cdbf95;--sy-paper:#d5d0c2;
 --sy-serif:var(--font-title,"Songti SC","STSong","Noto Serif CJK SC",Georgia,serif);--sy-sans:var(--font-ui,-apple-system,"PingFang SC",system-ui,sans-serif);
 position:fixed;inset:0;z-index:95;display:grid;grid-template-rows:auto minmax(0,1fr);pointer-events:auto;
 background:radial-gradient(120% 90% at 50% 0%,#1c1c1a 0%,#0c0d0b 60%,#070707 100%);color:var(--sy-text);font-family:var(--sy-sans);
 -webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;isolation:isolate;
}
#ship-designer *{box-sizing:border-box}
#ship-designer :is(h2,h3,h4,p){margin:0}
/* The game's global footer/header bars must not leak into the bureau. */
#ship-designer :is(footer,header){height:auto;flex:none;font-size:inherit;padding:0;background:none;border:0;justify-content:normal}
#ship-designer img{display:block;-webkit-user-drag:none}
#ship-designer button{appearance:none;font:inherit;color:inherit;margin:0;min-height:44px;border-radius:6px;border:1px solid var(--sy-edge);
 background:linear-gradient(180deg,#2b2c2a,#1e1e1c);box-shadow:inset 0 1px 0 #ede8d914,0 1px 2px #00000088;cursor:pointer;padding:0 14px;
 transition:transform .12s ease,border-color .15s ease,background .15s ease,box-shadow .15s ease;touch-action:manipulation;text-shadow:none;letter-spacing:.02em}
#ship-designer button:active:not(:disabled){transform:translateY(1px) scale(.985)}
#ship-designer button:disabled{opacity:.42;cursor:default}
#ship-designer button:focus-visible{outline:2px solid var(--sy-brass-2);outline-offset:2px}

/* ── header: brushed gunmetal with a riveted brass seam ── */
#ship-designer .sy-head{position:relative;display:flex;align-items:center;gap:20px;min-height:68px;
 padding:10px max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left));
 background:repeating-linear-gradient(90deg,#ede8d905 0 1px,transparent 1px 3px),linear-gradient(180deg,#2c2d2b 0%,#1b1b19 55%,#141412 100%);
 border-bottom:1px solid #000000;box-shadow:0 1px 0 var(--sy-brass-dim),0 8px 24px #00000099;z-index:3}
#ship-designer .sy-head::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:5px;pointer-events:none;
 background:radial-gradient(circle at 6px 2px,#cabd97 0 1.6px,#434441 2px,transparent 2.6px) 0 0/22px 5px repeat-x}
#ship-designer .sy-crest{display:flex;align-items:center;gap:12px;min-width:0}
#ship-designer .sy-crest small,#ship-designer .sy-plate small,#ship-designer .sy-sheet header small{display:block;color:var(--sy-brass);font-size:11px;letter-spacing:.22em}
#ship-designer .sy-crest h2{font-family:var(--sy-serif);font-size:24px;font-weight:700;letter-spacing:.12em;color:var(--sy-text);white-space:nowrap;text-shadow:0 1px 0 #000000}
#ship-designer .sy-xp{margin-left:auto;display:grid;grid-template-columns:auto minmax(120px,220px);grid-template-rows:auto auto;column-gap:14px;row-gap:4px;align-items:center}
#ship-designer .sy-xp>div span{display:block;font-size:11px;color:var(--sy-dim);letter-spacing:.14em}
#ship-designer .sy-xp>div b{font-family:var(--sy-serif);font-size:22px;color:var(--sy-brass-2)}
#ship-designer .sy-xp em{font-style:normal;font-size:13px;color:var(--sy-faint)}
#ship-designer .sy-xp>i{position:relative;height:10px;border-radius:5px;background:#0b0b0a;box-shadow:inset 0 1px 2px #000000,0 0 0 1px #2c2c2b;overflow:hidden}
#ship-designer .sy-xp>i s{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#7a6e4c,#d2c49c);box-shadow:0 0 10px #d2c49c66}
#ship-designer .sy-xp>small{grid-column:1/-1;font-size:11px;color:var(--sy-faint)}
#ship-designer .sy-close{width:48px;min-width:48px;height:48px;padding:0;border-radius:50%;display:grid;place-items:center;font-size:18px;
 border-color:#444542;background:radial-gradient(circle at 35% 30%,#3a3b38,#171716);color:var(--sy-brass-2)}

/* ── body grid ── */
#ship-designer .sy-body{display:grid;grid-template-columns:clamp(220px,21vw,268px) minmax(0,1fr) clamp(264px,25vw,320px);min-height:0}
#ship-designer .sy-rail,#ship-designer .sy-panel{min-height:0;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;
 background:linear-gradient(180deg,#161715,#111110)}
#ship-designer .sy-rail{border-right:1px solid #000000;box-shadow:inset -1px 0 0 #ede8d90a;padding:14px 12px max(14px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}
#ship-designer .sy-panel{border-left:1px solid #000000;box-shadow:inset 1px 0 0 #ede8d90a;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;padding:14px max(14px,env(safe-area-inset-right)) 0 14px}
#ship-designer .sy-panel>.sy-stats{min-height:0;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;margin-right:-6px;padding-right:6px}
#ship-designer .sy-main{min-height:0;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;display:flex;flex-direction:column}

/* ── rail: class plates and the design archive ── */
#ship-designer .sy-classes{display:grid;grid-template-columns:1fr 1fr;gap:8px}
#ship-designer .sy-class{display:flex;flex-direction:column;align-items:stretch;gap:6px;height:auto;min-height:84px;padding:8px 8px 7px;text-align:left;
 background:linear-gradient(180deg,#242523,#191a18)}
#ship-designer .sy-class img{width:100%;height:30px;object-fit:contain;filter:drop-shadow(0 2px 2px #000000cc) saturate(.85)}
#ship-designer .sy-class b{display:block;font-size:13px;font-weight:600}
#ship-designer .sy-class small{display:block;font-size:10.5px;color:var(--sy-faint)}
#ship-designer .sy-class[aria-pressed="true"]{border-color:var(--sy-brass);background:linear-gradient(180deg,#2e2e2d,#181917);box-shadow:inset 0 0 0 1px #b2a57c55,0 0 14px #b2a57c22}
#ship-designer .sy-class[aria-pressed="true"] b{color:var(--sy-brass-2)}
#ship-designer .sy-designs{margin-top:16px;display:flex;flex-direction:column;gap:8px}
#ship-designer .sy-designs>header h3{font-family:var(--sy-serif);font-size:16px;letter-spacing:.1em}
#ship-designer .sy-designs>header small{display:block;color:var(--sy-faint);font-size:11px;margin-top:2px}
#ship-designer .sy-design{border:1px solid var(--sy-edge);border-radius:8px;background:#1c1c1a;overflow:hidden;box-shadow:0 2px 6px #00000077}
#ship-designer .sy-design[data-current="true"]{border-color:var(--sy-brass);box-shadow:0 0 0 1px #b2a57c66,0 4px 16px #00000099}
#ship-designer .sy-design[data-obsolete="true"]{opacity:.62}
#ship-designer .sy-design-open{display:block;width:100%;height:auto;min-height:62px;padding:9px 11px;text-align:left;border:0;border-radius:0;background:none;box-shadow:none}
#ship-designer .sy-design-open b{display:block;font-size:14px;font-weight:600}
#ship-designer .sy-design-open small{display:block;font-size:11px;color:var(--sy-dim);margin-top:2px}
#ship-designer .sy-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
#ship-designer .sy-tags i{font-style:normal;font-size:10.5px;padding:2px 7px;border-radius:999px;background:#2b2c2a;color:var(--sy-dim)}
#ship-designer .sy-tags i[data-tone="gold"]{background:#2d2d2b;color:var(--sy-brass-2)}
#ship-designer .sy-tags i[data-tone="dim"]{background:#3a2420;color:#e3a593}
#ship-designer .sy-design footer{display:flex;border-top:1px solid #00000099}
#ship-designer .sy-design footer button{flex:1;min-height:40px;border:0;border-radius:0;background:#151614;box-shadow:none;font-size:12px;color:var(--sy-dim)}
#ship-designer .sy-design footer button+button{border-left:1px solid #00000099}
#ship-designer .sy-new{margin-top:4px;min-height:48px;border-style:dashed;border-color:var(--sy-brass-dim);background:#151514;color:var(--sy-brass-2)}

/* ── stage: the dry dock berth ── */
#ship-designer .sy-stage{position:relative;flex:1 0 auto;min-height:clamp(330px,52vh,520px);overflow:hidden;background:#0c0c0b;border-bottom:1px solid #000000}
#ship-designer .sy-dock{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 62%;filter:brightness(.78) saturate(.9) contrast(1.05)}
#ship-designer .sy-stage-shade{position:absolute;inset:0;pointer-events:none;
 background:linear-gradient(180deg,#070707dd 0%,#07070755 26%,transparent 46%,transparent 78%,#070707b0 100%),radial-gradient(110% 80% at 50% 55%,transparent 55%,#000000aa 100%)}
#ship-designer .sy-plate{position:absolute;left:clamp(16px,2.4vw,28px);top:16px;right:16px;z-index:2;display:flex;flex-direction:column;gap:3px;pointer-events:none}
#ship-designer .sy-plate h3{font-family:var(--sy-serif);font-size:clamp(22px,2.6vw,32px);font-weight:700;letter-spacing:.08em;color:#ded9cb;text-shadow:0 2px 12px #000000,0 1px 0 #000000}
#ship-designer .sy-plate p{font-size:12.5px;color:var(--sy-dim)}
#ship-designer .sy-plate-actions{display:flex;gap:8px;margin-top:8px;pointer-events:auto}
#ship-designer .sy-plate-actions button{min-height:40px;font-size:12.5px;background:#121211cc;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-color:#63625c}
#ship-designer .sy-berth{position:absolute;left:3%;right:3%;top:27%;bottom:13%;z-index:1;container-type:size;display:flex;align-items:flex-end;justify-content:center}
#ship-designer .sy-ship{position:relative;width:min(100cqw,calc(100cqh * var(--ar)));aspect-ratio:var(--ar);flex:none}
#ship-designer .sy-ship>img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 18px 16px #000000cc) drop-shadow(0 2px 2px #000000)}
/* stations: plates spread along two lanes, leader lines to brass pins on the deck */
#ship-designer .sy-leaders{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:2}
#ship-designer .sy-leaders line{stroke:#c2bcad;stroke-opacity:.7;stroke-width:1.2;vector-effect:non-scaling-stroke}
#ship-designer .sy-pin{position:absolute;top:var(--deck);width:11px;height:11px;margin:-5.5px 0 0 -5.5px;border-radius:50%;z-index:3;
 background:radial-gradient(circle at 35% 30%,#d4cebe,#9c8f67 60%,#40403d);box-shadow:0 0 0 2px #00000099,0 0 12px #c2bcad99}
#ship-designer .sy-chip{position:absolute;z-index:4;left:var(--x);transform:translate(-50%,-50%);width:min(178px,18.5cqw);min-width:118px;height:auto;min-height:48px;padding:5px 8px 5px 5px;
 display:flex;align-items:center;gap:7px;text-align:left;border-radius:7px;border:1px solid #55534c;background:#0e0e0dec;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
 box-shadow:0 6px 18px #000000bb,inset 0 1px 0 #ede8d912}
#ship-designer .sy-chip:active:not(:disabled){transform:translate(-50%,-50%) scale(.97)}
#ship-designer .sy-chip[data-lane="up"]{top:max(8%,calc(var(--deck) - 30%))}
#ship-designer .sy-chip[data-lane="down"]{top:min(96%,calc(var(--deck) + 26%))}
#ship-designer .sy-chip img{width:42px;height:32px;object-fit:cover;border-radius:4px;flex:none;background:var(--sy-paper);box-shadow:0 0 0 1px #00000088}
#ship-designer .sy-chip span{min-width:0;flex:1}
#ship-designer .sy-chip small{display:block;font-size:10px;color:var(--sy-brass);letter-spacing:.06em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#ship-designer .sy-chip b{display:block;font-size:11.5px;font-weight:600;line-height:1.25;color:var(--sy-text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#ship-designer .sy-chip em,#ship-designer .sy-sys em{position:absolute;top:-7px;right:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;font-style:normal;font-size:11px;line-height:20px;text-align:center;
 color:#121211;background:linear-gradient(180deg,#ccc6b7,#a1946b);box-shadow:0 1px 3px #000000aa;font-family:var(--sy-serif)}
#ship-designer .sy-chip[data-empty="true"]{border-style:dashed;border-color:#727069;background:#0e0e0db8}
#ship-designer .sy-chip[data-empty="true"] img{filter:grayscale(1) brightness(.5)}
#ship-designer .sy-chip[data-missing="true"],#ship-designer .sy-sys[data-missing="true"]{border-color:var(--sy-down);box-shadow:0 0 0 1px #ec8d7466,0 0 18px #ec8d7444;animation:sy-alert 1.6s ease-in-out infinite}
@keyframes sy-alert{50%{box-shadow:0 0 0 1px #ec8d74aa,0 0 26px #ec8d7466}}

/* ── hull systems ── */
#ship-designer .sy-systems{padding:14px clamp(14px,2vw,22px) max(18px,env(safe-area-inset-bottom));background:linear-gradient(180deg,#131312,#0e0e0d)}
#ship-designer .sy-systems>header,#ship-designer .sy-panel>header,#ship-designer .sy-designs>header{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:10px}
#ship-designer .sy-systems h3,#ship-designer .sy-panel h3{font-family:var(--sy-serif);font-size:16px;letter-spacing:.12em}
#ship-designer .sy-systems>header small,#ship-designer .sy-panel>header small{color:var(--sy-faint);font-size:11px}
#ship-designer .sy-sys-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(188px,1fr));gap:8px}
#ship-designer .sy-sys{position:relative;display:flex;align-items:center;gap:10px;height:auto;min-height:66px;padding:7px 10px 7px 7px;text-align:left;background:linear-gradient(180deg,#1f1f1d,#171816)}
#ship-designer .sy-sys img{width:60px;height:45px;object-fit:cover;border-radius:4px;flex:none;background:var(--sy-paper);box-shadow:0 0 0 1px #00000088}
#ship-designer .sy-sys span{min-width:0}
#ship-designer .sy-sys small{display:block;font-size:10.5px;color:var(--sy-brass);letter-spacing:.08em}
#ship-designer .sy-sys b{display:block;font-size:12.5px;font-weight:600;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#ship-designer .sy-sys[data-empty="true"] img{filter:grayscale(1) brightness(.55)}
#ship-designer .sy-sys[data-empty="true"] b{color:var(--sy-faint)}

/* ── performance sheet ── */
#ship-designer .sy-stats{display:flex;flex-direction:column;gap:14px;padding-bottom:12px}
#ship-designer .sy-stat-group h4{font-size:11px;color:var(--sy-brass);letter-spacing:.22em;font-weight:600;padding-bottom:5px;margin-bottom:4px;border-bottom:1px solid #b2a57c33}
#ship-designer .sy-stat{display:grid;grid-template-columns:minmax(0,1fr) auto 64px;grid-template-rows:auto 5px;column-gap:8px;row-gap:4px;align-items:baseline;padding:5px 0}
#ship-designer .sy-stat>span{font-size:12.5px;color:var(--sy-dim)}
#ship-designer .sy-stat>b{font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--sy-text)}
#ship-designer .sy-stat>b small{font-size:10.5px;font-weight:400;color:var(--sy-faint);margin-left:2px}
#ship-designer .sy-stat>em{font-style:normal;font-size:12px;text-align:right;font-variant-numeric:tabular-nums}
#ship-designer .sy-stat[data-tone="up"]>em{color:var(--sy-up)}
#ship-designer .sy-stat[data-tone="down"]>em{color:var(--sy-down)}
#ship-designer .sy-stat>i{grid-column:1/-1;position:relative;height:5px;border-radius:3px;background:#0a0a0a;box-shadow:inset 0 1px 1px #000000}
#ship-designer .sy-stat>i s{position:absolute;inset:0 auto 0 0;border-radius:3px;background:linear-gradient(90deg,#66645d,#b1b0a8)}
#ship-designer .sy-stat[data-tone="up"]>i s{background:linear-gradient(90deg,#3f7c4b,var(--sy-up))}
#ship-designer .sy-stat[data-tone="down"]>i s{background:linear-gradient(90deg,#8e4331,var(--sy-down))}
#ship-designer .sy-stat>i u{position:absolute;top:-3px;bottom:-3px;width:2px;margin-left:-1px;background:var(--sy-brass-2);box-shadow:0 0 4px #000000}
#ship-designer .sy-commit{position:relative;margin:0 -14px 0;padding:14px 14px max(14px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:10px;
 background:linear-gradient(180deg,#151614ee,#0f0f0e);border-top:1px solid #b2a57c55;box-shadow:0 -10px 24px #000000aa}
#ship-designer .sy-name{display:flex;flex-direction:column;gap:5px}
#ship-designer .sy-name span{font-size:11px;color:var(--sy-faint);letter-spacing:.14em}
#ship-designer .sy-name input{-webkit-user-select:text;user-select:text;font:inherit;font-size:16px;min-height:44px;padding:0 12px;border-radius:6px;border:1px solid var(--sy-edge-2);
 background:#0a0a0a;color:var(--sy-text);box-shadow:inset 0 1px 3px #000000}
#ship-designer .sy-name input:focus{outline:none;border-color:var(--sy-brass)}
#ship-designer .sy-cost{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:12.5px;color:var(--sy-down)}
#ship-designer .sy-cost[data-ok="true"]{color:var(--sy-up)}
#ship-designer .sy-cost b{font-family:var(--sy-serif);font-size:20px;color:var(--sy-brass-2)}
#ship-designer .sy-cost b small{font-family:var(--sy-sans);font-size:11px;color:var(--sy-faint)}
#ship-designer .sy-commit-button{min-height:54px;font-size:16px;font-weight:700;letter-spacing:.2em;color:#131311;border-color:#c2bcad;
 background:linear-gradient(180deg,#ccc6b7 0%,#b9ac83 52%,#94875f 100%);box-shadow:inset 0 1px 0 #ede8d988,0 4px 14px #b2a57c44,0 1px 0 #000000}
#ship-designer .sy-commit-button:disabled{color:#3c3d3b;background:linear-gradient(180deg,#4b4c4a,#30302f);border-color:#4b4c4a;box-shadow:none;opacity:1}

/* ── module & hull sheets ── */
#ship-designer .sy-sheet-scrim{position:absolute;inset:0;z-index:20;background:#000000aa;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:sy-fade .18s ease}
#ship-designer .sy-sheet{position:absolute;left:max(0px,calc(50% - 560px));right:max(0px,calc(50% - 560px));bottom:0;z-index:21;max-height:min(78%,720px);display:flex;flex-direction:column;
 border-radius:16px 16px 0 0;border:1px solid #444542;border-bottom:0;background:linear-gradient(180deg,#1c1d1a,#121211);box-shadow:0 -18px 50px #000000dd;animation:sy-rise .24s cubic-bezier(.2,.8,.2,1)}
@keyframes sy-rise{from{transform:translateY(32px);opacity:0}}
@keyframes sy-fade{from{opacity:0}}
#ship-designer .sy-sheet>header{display:flex;align-items:center;gap:14px;padding:16px 18px 14px;border-bottom:1px solid #b2a57c40}
#ship-designer .sy-sheet>header>img{width:92px;height:69px;object-fit:cover;border-radius:6px;background:var(--sy-paper);box-shadow:0 0 0 1px #000000,0 4px 10px #00000099}
#ship-designer .sy-sheet>header>div{flex:1;min-width:0}
#ship-designer .sy-sheet>header h3{font-family:var(--sy-serif);font-size:22px;letter-spacing:.1em}
#ship-designer .sy-sheet>header p{font-size:12.5px;color:var(--sy-dim);margin-top:2px}
#ship-designer .sy-toggle{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;border-radius:22px;border:1px solid var(--sy-edge);font-size:12.5px;color:var(--sy-dim)}
#ship-designer .sy-toggle input{width:20px;height:20px;accent-color:var(--sy-brass)}
#ship-designer .sy-sheet-body{flex:1;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:14px 18px max(18px,env(safe-area-inset-bottom))}
#ship-designer .sy-sheet-body>section+section{margin-top:16px}
#ship-designer .sy-sheet-body h4{font-size:11px;color:var(--sy-brass);letter-spacing:.2em;margin-bottom:8px}
#ship-designer .sy-mod-grid,#ship-designer .sy-hull-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
#ship-designer .sy-mod,#ship-designer .sy-hull{display:flex;align-items:stretch;gap:10px;height:auto;min-height:96px;padding:8px;text-align:left;background:linear-gradient(180deg,#232422,#1a1b19)}
#ship-designer .sy-mod img{width:104px;height:78px;object-fit:cover;border-radius:5px;flex:none;background:var(--sy-paper);box-shadow:0 0 0 1px #00000099}
#ship-designer .sy-mod span,#ship-designer .sy-hull span{min-width:0;display:flex;flex-direction:column;gap:2px}
#ship-designer .sy-mod b,#ship-designer .sy-hull b{font-size:13.5px;font-weight:600;line-height:1.3}
#ship-designer .sy-mod small,#ship-designer .sy-hull small{font-size:11px;color:var(--sy-faint)}
#ship-designer .sy-mod ul{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:4px}
#ship-designer .sy-mod li{font-size:11px;padding:2px 6px;border-radius:4px;background:#0c0c0b;color:var(--sy-dim);font-variant-numeric:tabular-nums}
#ship-designer .sy-mod li[data-tone="up"]{color:var(--sy-up);background:#1c1c1b}
#ship-designer .sy-mod li[data-tone="down"]{color:var(--sy-down);background:#2b1814}
#ship-designer .sy-mod[aria-pressed="true"],#ship-designer .sy-hull[aria-pressed="true"]{border-color:var(--sy-brass);background:linear-gradient(180deg,#2d2d2c,#191917);box-shadow:inset 0 0 0 1px #b2a57c66}
#ship-designer .sy-mod[data-locked="true"]{opacity:.5}
#ship-designer .sy-mod[data-locked="true"] img{filter:grayscale(1)}
#ship-designer .sy-mod-empty{border-style:dashed;margin-bottom:14px;min-height:64px;width:100%;max-width:420px}
#ship-designer .sy-hull{flex-direction:column;gap:8px;min-height:132px}
#ship-designer .sy-hull img{width:100%;height:58px;object-fit:contain;filter:drop-shadow(0 3px 3px #000000cc)}
#ship-designer .sy-hull em{font-style:normal;font-size:11.5px;color:var(--sy-dim)}

#ship-designer .sy-empty,#ship-designer .sy-loading p{color:var(--sy-faint);font-size:13px;padding:12px 0}
#ship-designer .sy-loading{display:grid;place-items:center}
#ship-designer .sy-status{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);z-index:30;max-width:80%;pointer-events:none}
#ship-designer .sy-status:not(:empty){padding:10px 16px;border-radius:8px;background:#2b1814f2;border:1px solid var(--sy-down);color:#d2cdbd;font-size:13px;box-shadow:0 8px 24px #000000bb}

/* ── portrait iPad and narrow windows: one scrolling column ── */
@media (max-width:960px){
 #ship-designer .sy-body{display:flex;flex-direction:column;overflow:auto;-webkit-overflow-scrolling:touch}
 #ship-designer .sy-rail,#ship-designer .sy-panel,#ship-designer .sy-main{overflow:visible;min-height:auto}
 #ship-designer .sy-rail{border-right:0;border-bottom:1px solid #000000;padding:12px 14px}
 #ship-designer .sy-classes{grid-template-columns:repeat(6,minmax(104px,1fr));overflow-x:auto}
 #ship-designer .sy-designs{flex-direction:row;overflow-x:auto;align-items:stretch;margin-top:12px;padding-bottom:4px}
 #ship-designer .sy-designs>header{display:none}
 #ship-designer .sy-design{flex:0 0 220px}
 #ship-designer .sy-new{flex:0 0 160px}
 #ship-designer .sy-stage{min-height:420px}
 #ship-designer .sy-panel{border-left:0;padding-top:16px;display:block;overflow:visible}
 #ship-designer .sy-panel>.sy-stats{overflow:visible}
 #ship-designer .sy-commit{position:sticky;bottom:0;flex-flow:row wrap;align-items:flex-end;gap:8px 14px}
 #ship-designer .sy-commit>.sy-name{flex:1 1 240px}
 #ship-designer .sy-commit>.sy-cost{flex:0 0 auto;flex-direction:column;align-items:flex-end;gap:0}
 #ship-designer .sy-commit-button{flex:1 1 200px}
 #ship-designer .sy-xp>small{display:none}
}
/* The bureau covers the map: hide map-only overlays that sit above every window. */
html:has(#ship-designer) #map-joystick{display:none!important}
@media (prefers-reduced-motion:reduce){#ship-designer *{animation:none!important;transition:none!important}}

/* ── zzzzz-national-identity.css ── */
/* Beta only. Shared SVG emblems are static; the spirit silhouette is transparent,
   with no square image mount or surrounding button tile. Alpha is unchanged. */
/* The integrated Beta has a responsive HUD. The legacy narrow-screen notice
   otherwise sits above that HUD and intercepts its country/resource buttons. */
html[data-scenario="beta-europe-1936"] body.playable-integrated .mobile-game-advisory{display:none;pointer-events:none}
html[data-scenario="beta-europe-1936"] .national-mark{display:block;flex:none;overflow:visible}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui :is(.pol-window[data-identity-nation="GERMAN"],.nf-window[data-focus-nation="GERMAN"]){--ni-ink:#171816;--ni-panel:#282926;--ni-wash:#9e9c9420;--ni-accent:#bfbaac;--ni-line:#72716e;--ni-muted:#acaaa2}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui :is(.pol-window[data-identity-nation="BRITISH"],.nf-window[data-focus-nation="BRITISH"]){--ni-ink:#171714;--ni-panel:#2e2f2b;--ni-wash:#668eaf20;--ni-accent:#beb9a9;--ni-line:#817961;--ni-muted:#b6b4ac}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui :is(.pol-window[data-identity-nation="ITALIAN"],.nf-window[data-focus-nation="ITALIAN"]){--ni-ink:#1d1d1c;--ni-panel:#373835;--ni-wash:#99978f20;--ni-accent:#cfc4a1;--ni-line:#838179;--ni-muted:#bbb9b2}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui :is(.pol-window[data-identity-nation="SOVIET"],.nf-window[data-focus-nation="SOVIET"]){--ni-ink:#1a1a18;--ni-panel:#462d29;--ni-wash:#b85c4820;--ni-accent:#d1c399;--ni-line:#837a5e;--ni-muted:#bdb59b}

/* The identity is visible in the large political header and heraldic masthead,
   not only in a corner insignia. Text and controls retain normal contrast. */
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .pol-window[data-identity-nation]:not([data-identity-nation=""]){background:linear-gradient(125deg,var(--ni-ink),#121813 76%);border-top-color:var(--ni-accent)}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .pol-window[data-identity-nation]:not([data-identity-nation=""]) .pol-window-head{background:linear-gradient(100deg,var(--ni-panel),var(--ni-ink) 72%);border-bottom-color:var(--ni-line);min-height:72px}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .pol-window-head .national-mark{width:52px;height:52px}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .pol-heraldic-display{position:relative;display:grid;place-items:center;isolation:isolate;width:170px;max-width:100%;height:156px;margin-bottom:4px;background:radial-gradient(ellipse,var(--ni-wash),transparent 70%)}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .pol-heraldic-display>.atlas-emblem{position:relative;width:112px;height:128px;z-index:1}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .pol-heraldic-watermark{position:absolute;inset:0;width:100%;height:156px;opacity:.13;pointer-events:none}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .pol-window[data-identity-nation]:not([data-identity-nation=""]) .pol-country-art{border-bottom-color:var(--ni-line);padding-bottom:22px}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .pol-window[data-identity-nation]:not([data-identity-nation=""]) .pol-country-art strong{color:var(--ni-accent);font-size:25px;letter-spacing:.22em}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .pol-window[data-identity-nation]:not([data-identity-nation=""]) .pol-country-art>span{text-align:center;color:var(--ni-muted);font-size:10px;max-width:170px;line-height:1.8;letter-spacing:.02em}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .pol-window[data-identity-nation]:not([data-identity-nation=""]) .pol-sidebar{background:linear-gradient(180deg,var(--ni-ink),#0f0f0e);border-right-color:var(--ni-line)}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .pol-window[data-identity-nation]:not([data-identity-nation=""]) .pol-sidebar nav button[aria-pressed=true]{background:var(--ni-panel)!important;border-color:var(--ni-line)!important;box-shadow:inset 3px 0 var(--ni-accent)!important}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .pol-window[data-identity-nation]:not([data-identity-nation=""]) :is(.pol-nation-trait,.pol-account){background:linear-gradient(110deg,var(--ni-wash),transparent 85%)}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .pol-seal>.national-mark{width:80px;height:80px}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .pol-decision-intro[data-dossiers=true]:has(.pol-decision-national){display:grid;grid-template-columns:70px minmax(0,1fr) auto;gap:16px;padding:13px 16px;background:linear-gradient(110deg,var(--ni-panel),var(--ni-ink));border-color:var(--ni-line)}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .pol-decision-national{display:grid;place-items:center;width:70px;align-self:center}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .pol-decision-intro[data-dossiers=true]:has(.pol-decision-national) h3{font-size:23px;color:var(--ni-accent)}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .pol-dossier-head{position:relative;isolation:isolate;overflow:hidden;padding-right:76px}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .pol-dossier-identity{position:absolute;right:4px;top:50%;transform:translateY(-50%);opacity:.28;pointer-events:none}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .pol-decision-icon .national-mark{width:38px;height:38px}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .pol-window[data-identity-nation]:not([data-identity-nation=""]) .pol-decision-workspace .pol-decision[data-kind=action]{background:linear-gradient(125deg,var(--ni-wash),#161715);border-left-color:var(--ni-line)}

/* Focus board: distinct national metal, a real crest and a recognisable motif. */
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus=true]{--nf-panel:var(--ni-ink);--nf-raised:var(--ni-panel);--nf-tool:var(--ni-ink);--nf-accent:var(--ni-accent);--nf-border:var(--ni-line);--nf-soft:var(--ni-muted)}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-national-marks{display:flex;align-items:center;gap:5px;flex:none}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-national-marks>.atlas-emblem{width:46px;height:46px}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-national-marks>.national-mark{width:37px;height:42px;border-left:1px solid var(--ni-line);padding-left:5px;box-sizing:content-box}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus=true] .nf-head{background:linear-gradient(90deg,var(--ni-accent) 0 3px,var(--ni-panel) 3px,var(--ni-ink) 78%);border-bottom-color:var(--ni-line)}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus=true] .nf-title{flex:0 1 auto;min-width:0}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus=true] .nf-title small{white-space:normal;max-width:360px;line-height:1.4;color:var(--ni-muted)}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-beta-focus=true] :is(.nf-detail,.nf-side){background:var(--ni-ink)}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-spirit-national{display:flex;gap:10px;align-items:center;padding:4px 2px 12px;margin-bottom:10px;border-bottom:1px solid var(--ni-line);color:var(--ni-muted);font-size:11px;line-height:1.5}
html[data-scenario="beta-europe-1936"] body .nf-identity-focus{background:none;border:0}
html[data-scenario="beta-europe-1936"] body .nf-identity-focus>.national-focus-art{width:100%;height:100%;display:block;overflow:visible}

/* Independent spirit badges: remove both the image plate and clickable tile.
   A small triangle/diamond plus textual effects distinguish gains and drawbacks. */
html[data-scenario="beta-europe-1936"] body .nf-spirit-free{background:none!important;border:0!important;box-shadow:none!important;isolation:isolate;overflow:visible}
html[data-scenario="beta-europe-1936"] body .nf-spirit-free>.national-spirit-badge{display:block;position:static;width:100%;height:100%;overflow:visible}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .pol-spirits{border:0;border-top:1px solid var(--ni-line,#63625c);background:transparent;padding:18px 0 8px;margin:18px 0;contain:layout style}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .pol-spirits>header>div{position:relative;padding-left:48px;min-height:40px}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .pol-spirit-seal{position:absolute;left:0;top:1px;width:37px;height:40px}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .pol-spirits>header>span{font-size:11px;color:var(--ni-muted,#aaa9a3)}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .pol-spirit-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:14px 12px;align-items:start}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui #politics-window button.pol-spirit{position:relative;min-height:142px;padding:3px 4px 10px;border:0!important;background:none!important;box-shadow:none!important;border-radius:0;gap:3px}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui #politics-window button.pol-spirit[aria-expanded=true]{border:0!important;background:none!important;box-shadow:none!important}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui #politics-window button.pol-spirit::after{content:"";position:absolute;bottom:2px;left:30%;right:30%;height:2px;background:var(--ni-accent,#d1c7a9);opacity:0}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui #politics-window button.pol-spirit[aria-expanded=true]::after{opacity:1}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui #politics-window button.pol-spirit:is(:hover,[aria-expanded=true])>b{color:var(--ni-accent,#c5bfb0)}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .pol-spirit .nf-ic{width:84px;height:84px;filter:none}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui button.pol-spirit>b{font-size:12px;line-height:1.5;max-width:130px}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .pol-spirit-detail{border-color:var(--ni-line,#63625c)}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .pol-spirit-painting{background:none}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-spirit{position:relative;flex:0 0 auto;grid-template-columns:72px minmax(0,1fr);padding:5px 2px;min-height:76px}
/* Match the Iron controls' ID-weighted selector, including pressed/touch states.
   The old horizontal rail's 210px flex basis must not become a portrait row height. */
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) section.nf-window button.nf-spirit,
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window) section.nf-window button.nf-spirit:is([aria-pressed=true],:active:not(:disabled)){border:0!important;background:none!important;box-shadow:none!important}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-spirit .nf-ic{width:70px;height:70px;filter:none}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-spirit[aria-pressed=true] b{color:var(--ni-accent,#cac0a0);text-decoration:underline;text-underline-offset:4px}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-hero-spirit{background:none!important;border:0!important;box-shadow:none!important}
@media(max-width:900px){
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-national-marks{gap:0}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-national-marks>.atlas-emblem{width:36px;height:40px}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-national-marks>.national-mark{width:28px;height:32px}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .pol-decision-intro[data-dossiers=true]:has(.pol-decision-national){grid-template-columns:52px minmax(0,1fr);gap:12px;padding:12px}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .pol-decision-national,html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .pol-decision-national>.national-mark{width:52px;height:56px}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .pol-decision-intro[data-dossiers=true]:has(.pol-decision-national)>button{grid-column:1/-1;justify-self:start}
}
@media(max-width:600px){
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .pol-spirit-grid{grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:8px}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .pol-spirit .nf-ic{width:74px;height:74px}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui #politics-window button.pol-spirit{min-height:132px}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .pol-window-head .national-mark{width:40px;height:40px}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-national-marks>.atlas-emblem{display:none}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window .nf-national-marks>.national-mark{width:34px;height:38px;border:0;padding:0}
}

/* ── zzzzzz-diplomacy-world.css ── */
/* Public world tension uses retained markup and native meters: no frame loop. */
html[data-scenario="beta-europe-1936"] .dip-world{--dip-heat:#a2a098;margin:0 0 16px;padding:16px 20px;background:linear-gradient(120deg,#242422,#141413);border:1px solid #6a6965;border-top:2px solid var(--dip-heat)}
html[data-scenario="beta-europe-1936"] .dip-world[data-level=rising]{--dip-heat:#bbb08e}
html[data-scenario="beta-europe-1936"] .dip-world[data-level=high]{--dip-heat:#d39558}
html[data-scenario="beta-europe-1936"] .dip-world[data-level=danger]{--dip-heat:#de7965}
html[data-scenario="beta-europe-1936"] .dip-world>header{display:flex;align-items:center;gap:12px}
html[data-scenario="beta-europe-1936"] .dip-world>header>div{flex:1}
html[data-scenario="beta-europe-1936"] .dip-world-globe{font:46px/1 Georgia,serif;color:var(--dip-heat)}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .dip-world h3{margin:3px 0;font-size:22px;letter-spacing:.12em;color:#d0cbbb;border:0}
html[data-scenario="beta-europe-1936"] .dip-world header small{font-size:11px;letter-spacing:.15em;color:#acaba8}
html[data-scenario="beta-europe-1936"] .dip-world header strong{font:34px/1.1 Georgia,serif;color:var(--dip-heat);font-variant-numeric:tabular-nums}
html[data-scenario="beta-europe-1936"] .dip-world header strong small{font:16px/1 Georgia,serif;color:inherit}
html[data-scenario="beta-europe-1936"] .dip-world>meter{display:block;width:100%;height:12px;margin:10px 0;accent-color:var(--dip-heat)}
html[data-scenario="beta-europe-1936"] .dip-world>meter::-webkit-meter-bar{background:#0a0a0a;border:1px solid #545450;border-radius:0}
html[data-scenario="beta-europe-1936"] .dip-world>meter::-webkit-meter-optimum-value{background:linear-gradient(90deg,#6e6c65,var(--dip-heat))}
html[data-scenario="beta-europe-1936"] .dip-world>meter::-moz-meter-bar{background:linear-gradient(90deg,#6e6c65,var(--dip-heat))}
html[data-scenario="beta-europe-1936"] .dip-world-stats{display:flex;flex-wrap:wrap;gap:6px 20px;font-size:12px;color:#b5b4af}
html[data-scenario="beta-europe-1936"] .dip-world-stats b{margin-left:6px;color:#c9c3b3;font-size:16px;font-variant-numeric:tabular-nums}
html[data-scenario="beta-europe-1936"] .dip-world p{color:#b9b7af;line-height:1.6;font-size:12px}
html[data-scenario="beta-europe-1936"] .dip-world details{border-top:1px solid #54545066;margin-top:12px}
html[data-scenario="beta-europe-1936"] .dip-world summary,html[data-scenario="beta-europe-1936"] .dip-country-directory>summary{cursor:pointer;min-height:44px;align-content:center;color:#c6c1b2}
html[data-scenario="beta-europe-1936"] .dip-world-contributors{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px}
html[data-scenario="beta-europe-1936"] .dip-world-contributors button{display:flex;align-items:center;gap:8px;min-height:44px;text-align:left;padding:5px 8px}
html[data-scenario="beta-europe-1936"] .dip-world-contributors button span{flex:1;min-width:0}
html[data-scenario="beta-europe-1936"] .dip-world-contributors button b{font-variant-numeric:tabular-nums;color:var(--dip-heat)}
html[data-scenario="beta-europe-1936"] .dip-world-events{list-style:none;margin:0;padding:0;display:grid;gap:8px}
html[data-scenario="beta-europe-1936"] .dip-world-events li{display:flex;justify-content:space-between;gap:10px;font-size:12px}
html[data-scenario="beta-europe-1936"] .dip-world-events b{color:#d9957e}
html[data-scenario="beta-europe-1936"] .dip-country-directory{margin:0 0 12px;border-bottom:1px solid #4f504e}
html[data-scenario="beta-europe-1936"] .dip-country-directory>summary{padding:5px 10px;background:#222320}
html[data-scenario="beta-europe-1936"] .dip-country-directory>summary>span{float:right;color:#afaea8;font-size:12px;padding:3px 0 3px 12px}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .dip-country-directory .dip-nations{max-height:240px;overflow-y:auto;margin:6px 0 10px;overscroll-behavior:contain;touch-action:pan-y}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .dip-actions button{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-height:60px}
html[data-scenario="beta-europe-1936"] .dip-action-cost{font-size:11px;color:#c3b897;letter-spacing:0}
html[data-scenario="beta-europe-1936"] .dip-cost-note{display:flex;gap:8px 18px;flex-wrap:wrap;padding:12px;border-left:3px solid #b4a884;background:#b4a88412;line-height:1.6}
html[data-scenario="beta-europe-1936"] .dip-cost-note small{flex-basis:100%;color:#b2b1ad}
html[data-scenario="beta-europe-1936"] .dip-cost-note[data-affordable=false]{border-color:#d17d68;color:#e6a590}
html[data-scenario="beta-europe-1936"] .dip-war-warning{color:#e8a087;line-height:1.7}
html[data-scenario="beta-europe-1936"] .dip-nav-tension{font-size:9px;color:#c5b890;letter-spacing:0;font-variant-numeric:tabular-nums}
/* Override the shared command-card header and block-small defaults locally. */
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .dip-world>header{background:none!important;border:0;box-shadow:none;padding:0}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .dip-world>header>strong{display:flex;align-items:baseline;gap:3px;white-space:nowrap;min-width:80px;justify-content:flex-end;font-size:34px}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .dip-world>header>strong>small{display:inline;margin:0;color:inherit}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .dip-head h3 small{display:inline}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .dip-nav-tension{display:inline;font-size:9px;margin:0 0 0 3px;line-height:inherit}
@media(max-width:760px){
 html[data-scenario="beta-europe-1936"] .dip-world{padding:12px}
 html[data-scenario="beta-europe-1936"] .dip-world header strong{font-size:29px}
 html[data-scenario="beta-europe-1936"] .dip-world-stats{gap:8px 12px}
 html[data-scenario="beta-europe-1936"] .dip-world-stats b{font-size:14px}
 html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui .dip-country-directory .dip-nations{grid-template-columns:repeat(2,minmax(0,1fr));max-height:226px}
}

/* ── zzzzzzz-reich2.css ── */
/* GERMAN-REICH-2 focus window (presentation reich-1936): an archive dossier built from historical photographs.
   Charcoal board, paper-white type, hairline rules; the only colour is the oxblood of the active and selected
   state. Photographs are pre-graded monochrome (scripts in docs/german-reich-2); no textures, filters or loops. */
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"]{--rg-ink:#d4cfbf;--rg-dim:#a9a188;--rg-rule:#50504e;--rg-board:#111211;--rg-panel:#181817;--rg-raise:#1f1f1e;--rg-blood:#9b2b22;--rg-blood-hi:#c8463a;--rg-brass:#bcb190;grid-template-rows:92px 48px minmax(0,1fr);background:var(--rg-board);color:var(--rg-ink);border-color:#000000;box-shadow:0 0 0 1px #414240,0 14px 36px #000000bb;font-family:"Noto Serif SC","Songti SC","Source Han Serif SC",serif}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .nf-head{height:92px;padding:6px 12px;gap:14px;background:linear-gradient(180deg,#1f1f1e,#151515);border-bottom:1px solid var(--rg-rule);box-shadow:inset 0 -1px #000000}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .rg-marks{display:flex;align-items:center;gap:10px;flex:none}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .rg-leader{width:62px;height:78px;object-fit:cover;object-position:50% 20%;border:1px solid #000000;outline:1px solid var(--rg-rule);outline-offset:2px;background:#0c0c0c;display:block}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .rg-emblems{display:flex;flex-direction:column;gap:6px}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .rg-emblem{width:34px;height:34px;object-fit:contain;display:block;opacity:.92}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .rg-title{min-width:0}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .rg-title h2{font-size:23px;letter-spacing:.14em;color:var(--rg-ink);font-weight:700;margin:0}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .rg-title small{display:block;margin-top:4px;font-size:11px;letter-spacing:.2em;color:var(--rg-dim)}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .rg-meters{display:grid;gap:7px;flex:1 1 260px;max-width:340px;min-width:200px;margin-left:auto}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .rg-meter{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"name band value" "track track track";align-items:baseline;column-gap:8px;row-gap:3px}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .rg-meter-name{grid-area:name;font-size:12px;letter-spacing:.08em;color:var(--rg-ink)}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .rg-meter-band{grid-area:band;font-size:11px;color:var(--rg-dim);text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .rg-meter-value{grid-area:value;font:600 15px/1 ui-monospace,"SF Mono",Menlo,monospace;color:var(--rg-brass);min-width:2ch;text-align:right}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .rg-meter-track{grid-area:track;position:relative;height:8px;background:#0b0b0b;border:1px solid #353534}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .rg-meter-track i{position:absolute;top:0;bottom:0;background:#313230}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .rg-meter-track i[data-tone="bad"]{background:#5e231e}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .rg-meter-track i[data-tone="good"]{background:#3d3e3c}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .rg-meter-track i[data-tone="mixed"]{background:#454542}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .rg-meter-track em{position:absolute;top:-4px;bottom:-4px;width:3px;margin-left:-1.5px;background:var(--rg-ink);box-shadow:0 0 0 1px #000000}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .nf-current{background:#0e0e0d;border:1px solid var(--rg-rule);box-shadow:none;max-width:300px}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .nf-current b{color:var(--rg-ink)}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .nf-current .nf-node-bar i,html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .nf-node-bar i{background:var(--rg-blood-hi)}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .nf-tools{background:var(--rg-panel);border-bottom:1px solid var(--rg-rule)}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .nf-main,html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .nf-canvas{background:#0f0f0e}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .nf-band{background:linear-gradient(180deg,#1b1b1a,transparent 70px);border-left:1px solid #252525;border-right:1px solid #252525}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .nf-band span b{color:var(--rg-ink);letter-spacing:.16em;font-weight:700}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .nf-band span small{color:var(--rg-dim)}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .nf-band::before{background:var(--rg-rule)!important}
/* Tiles: a photograph in a thin black mount with a paper caption plaque. */
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .rg-ic{position:relative;display:block;flex:none;width:96px;height:72px;background:#0a0a0a;border:1px solid #000000;outline:1px solid #3f3f3e;outline-offset:2px;overflow:visible}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .rg-ic .rg-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;background:#0a0a0a center/cover no-repeat;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .rg-ic[data-asset="portrait"] .rg-photo{object-position:50% 18%}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .rg-ic .rg-inset{position:absolute;right:-8px;bottom:-8px;width:30px;height:38px;object-fit:cover;object-position:50% 18%;border:1px solid #000000;outline:1px solid var(--rg-brass);background:#000000}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .rg-ic-plate{background:#151515}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .rg-ic-plate img,html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .rg-photo-emblem{position:absolute;inset:12%;width:76%!important;height:76%!important;object-fit:contain!important;opacity:.5}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .nf-node{width:124px;height:140px;gap:9px;padding-top:6px}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .nf-node .rg-ic{filter:none;box-shadow:0 3px 8px #000000cc}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .nf-node .nf-plaque{background:#cdc8b9;color:#151514;border:0;box-shadow:0 1px 0 #000000;padding:3px 5px;min-height:30px}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .nf-node .nf-plaque b{color:#151514;font-weight:700;letter-spacing:.02em}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .nf-node[data-st="available"] .rg-ic{outline-color:var(--rg-brass)}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .nf-node[data-st="active"] .rg-ic{outline:2px solid var(--rg-blood-hi);outline-offset:2px}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .nf-node[data-st="done"] .nf-plaque{background:#b7ae95}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .nf-node[data-st="locked"] .rg-ic .rg-photo,html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .nf-node[data-st="blocked"] .rg-ic .rg-photo{filter:brightness(.42) contrast(.9)}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .nf-node[data-st="locked"] .nf-plaque,html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .nf-node[data-st="blocked"] .nf-plaque{background:#776f58}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .nf-node[data-st="excluded"] .rg-ic .rg-photo{filter:brightness(.3)}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .nf-node[data-st="excluded"] .rg-ic::after{content:"";position:absolute;left:-4px;right:-4px;top:50%;height:3px;background:var(--rg-blood-hi);transform:rotate(-24deg);box-shadow:0 0 0 1px #000000}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .nf-node[aria-pressed="true"] .nf-plaque{background:var(--rg-blood);color:#ddd8c9}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .nf-node[aria-pressed="true"] .nf-plaque b{color:#ddd8c9}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .nf-node .nf-ic::before{display:none}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .nf-node .nf-seal,html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .nf-node .nf-ring{top:-6px;right:6px}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .nf-edge{stroke:#67665f}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .nf-edge[data-state="done"]{stroke:var(--rg-brass)}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .nf-excl{stroke:var(--rg-blood-hi)}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .rg-ic[data-kind="head"]{width:52px;height:40px}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .rg-ic[data-kind="card"]{width:64px;height:48px}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .rg-ic[data-kind="mini"]{width:48px;height:36px}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .rg-ic[data-kind="chip"]{width:36px;height:27px}
/* Detail: the full photograph with its credit, then the dossier text. */
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .nf-detail{background:var(--rg-panel);border-left:1px solid var(--rg-rule)}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .nf-hero .rg-ic[data-kind="hero"],html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .nf-hero .rg-ic-spirit[data-kind="hero"]{width:100%;height:auto;aspect-ratio:4/3;outline-offset:3px}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .nf-hero .rg-ic[data-asset="portrait"][data-kind="hero"]{aspect-ratio:4/5;max-height:340px;width:auto;margin:0 auto}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .nf-hero .rg-ic .rg-inset{width:64px;height:80px;right:-6px;bottom:-10px;outline-width:2px}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .nf-hero{display:block;padding:12px 12px 4px}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .nf-hero .nf-ic::before,html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .nf-hero .nf-ic::after{display:none}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .nf-dossier-head header h3{color:var(--rg-ink);letter-spacing:.06em}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .rg-credits{margin:6px 12px 2px;padding:6px 0 4px;border-top:1px solid #2c2c2b;display:grid;gap:4px}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .rg-credits p{margin:0;display:grid;grid-template-columns:auto 1fr;column-gap:6px;font-size:11px;line-height:1.35;color:var(--rg-dim)}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .rg-credits p b{font-weight:600;color:var(--rg-brass);font-size:10px;letter-spacing:.08em;padding-top:1px}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .rg-credits p small{grid-column:2;font-size:10px;color:#77756d;font-family:ui-sans-serif,system-ui,sans-serif;word-break:break-word}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .rg-credits p[data-kind="illustration"] b{color:#99978e}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .nf-primary{background:var(--rg-blood);border-color:#000000;color:#ddd8ca;letter-spacing:.08em;min-height:48px}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .nf-primary:not([disabled]):active{background:var(--rg-blood-hi)}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .nf-pill[data-st="active"]{background:var(--rg-blood)}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .nf-desc{color:#c4bfb0;line-height:1.7}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .nf-spirit{background:#121212;border:1px solid #2c2c2b}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .nf-spirit[aria-pressed="true"]{border-color:var(--rg-blood-hi)}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .rg-ic-spirit[data-tone="bad"]{outline-color:#7b2b24}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .rg-ic-spirit[data-tone="good"]{outline-color:#595751}
@media (max-width:900px){html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"]{grid-template-rows:auto 48px minmax(0,1fr)}html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .nf-head{height:auto;flex-wrap:wrap;row-gap:6px}html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .rg-meters{flex-basis:100%;max-width:none;margin-left:0;order:5}}
@media (orientation:portrait){html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .rg-leader{width:48px;height:60px}html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .rg-title h2{font-size:19px}}
/* Detail: the photograph spans the sheet above the title (the Beta dossier head is a 96px grid otherwise). */
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .nf-dossier-head{display:block;padding-bottom:6px}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .nf-dossier-head .nf-hero{display:block;width:auto;padding:4px 4px 12px;margin:0}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .nf-dossier-head .nf-hero .rg-ic[data-kind="hero"]{width:100%!important;height:auto!important;aspect-ratio:4/3;margin:0}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .nf-dossier-head .nf-hero .rg-ic[data-asset="portrait"][data-kind="hero"]{aspect-ratio:4/5;width:62%!important;margin:0 auto}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .nf-dossier-head .nf-hero .rg-ic .rg-photo{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .nf-dossier-head .nf-hero .rg-ic .rg-inset{position:absolute!important;inset:auto -6px -10px auto!important;width:64px!important;height:80px!important}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .nf-dossier-head .nf-hero .nf-seal,html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .nf-dossier-head .nf-hero .nf-ring{right:10px;bottom:auto;top:12px}
html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .nf-dossier-head>header{padding:2px 4px 0!important}
@media (orientation:portrait){html[data-scenario="beta-europe-1936"] body.playable-integrated .command-ui.hoi-ui section.nf-window[data-presentation="reich-1936"] .nf-dossier-head .nf-hero .rg-ic[data-kind="hero"]{max-height:30vh;width:auto!important;max-width:100%;margin:0 auto}}

.officer-window #admiral-window-close{font-size:27px;padding:0 10px}
#admiral-window[open]{display:flex;flex-direction:column;height:min(760px,92dvh);overflow:hidden}
#admiral-window>header,#admiral-window>footer{flex:none}
#admiral-window .officer-window-body{flex:1;min-height:0;overflow:hidden}
#admiral-window .officer-list{max-height:none;overflow:auto}
#admiral-window .officer-comparison{overflow:auto;align-items:start}
#admiral-window button{color:#e5dfc9;background:#354031;border:1px solid #878467}
#admiral-window .officer-list button{background:#2b332b;color:#e5dfc9}
#admiral-window .officer-list button[aria-pressed=true]{background:#4b5038;border-color:#ead391;color:#fff0c8}
#admiral-window .officer-list small{color:#bac0a8}
#admiral-window .officer-stars{color:#dac17e}
#admiral-window .officer-stars>span{color:#858971}
#admiral-window .officer-list button:hover{background:#434e3b}
#admiral-window #officer-confirm{background:#5b6240;border-color:#cfbc7c}
#admiral-window footer{padding:9px 14px}
#admiral-window .officer-dossier{min-height:420px}
#admiral-window footer details[open]{max-height:100px;overflow:auto}
@media(max-width:800px){#admiral-window .officer-dossier{min-height:0}#admiral-window footer button{font-size:12px;padding:7px}#admiral-window footer [role=status]{font-size:11px}}
@media(max-width:540px){#admiral-window .officer-window-body{overflow:auto}#admiral-window .officer-list{max-height:125px}#admiral-window .officer-comparison{overflow:visible}}
#admiral-window>footer{height:auto;min-height:100px;max-height:32dvh;overflow:auto;line-height:1.4;box-sizing:border-box}
#admiral-window>header{height:auto;box-sizing:border-box}
#admiral-window{pointer-events:auto}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) section.nf-window button.nf-node,html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) section.nf-window button.nf-node[aria-pressed="true"],html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) section.nf-window button.nf-node:active:not(:disabled){background:none!important;border:0!important;box-shadow:none!important}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) section.ne-card .ne-title{font:800 25px/1.45 Georgia,'Noto Serif SC',var(--font-title,serif);letter-spacing:.06em;color:#2c2c2b}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) section.ne-card button.ne-opt-btn{background:linear-gradient(100deg,#393a38,#2b2c2a)!important;border:0!important;border-bottom:1px solid #6d6b6347!important;color:#d4cfbf;box-shadow:inset 0 1px #d1ccbc1a!important}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) section.ne-card button.ne-opt-btn:hover:not(:disabled){background:linear-gradient(100deg,#464744,#333331)!important}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) section.ne-card button.ne-opt-btn:active:not(:disabled){background:#474845!important;box-shadow:inset 0 1px 3px #00000044!important}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) section.ne-card button.ne-opt-btn:disabled{opacity:.72;filter:none}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) section.ne-card .ne-opt[data-ok="false"] button.ne-opt-btn{opacity:.6}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) section.ne-card button.ne-close{border:1px solid #6f6d67!important;background:linear-gradient(#353534,#272826)!important;box-shadow:inset 0 1px #cec8b81a!important;color:#d4cebe}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) .ne-chip{border:1px solid #736b54!important;border-left:3px solid #b4a884!important;background:linear-gradient(105deg,#292a27,#191a18)!important;box-shadow:inset 0 1px #c7c2b31a,0 2px 5px #00000055!important;color:#cec8b9}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) .ne-chip[data-major="true"]{background:linear-gradient(105deg,#2e2e2c,#1c1c1a)!important;border-left-color:#d0c399!important}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) .ne-chip[aria-pressed="true"]{border-color:#d0c4a1!important;box-shadow:inset 0 0 0 1px #a99d7a!important;color:#d3cebe!important}
@media(max-width:768px){html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) section.ne-card .ne-title{font-size:23px}}
html body.playable-integrated #admiral-window.officer-window{background:var(--crop),linear-gradient(180deg,#171816,#0d0d0b);border:1px solid #55534b;border-radius:4px;color:var(--paper);font-family:var(--font-ui);box-shadow:0 0 0 1px #000000,0 24px 70px #000000dd}
html body.playable-integrated #admiral-window::backdrop{background:radial-gradient(ellipse at center,#0c0c0a80,#050504e0)}
html body.playable-integrated #admiral-window>header{background:linear-gradient(90deg,#121311e8,#121311f5 55%,#121311a0),url('/assets/playable/war-atlas/battlefield.jpg') 30% 70%/cover;border-bottom:1px solid var(--brass-lo);padding:10px 14px;min-height:48px}
html body.playable-integrated #admiral-window h2{font:700 18px/1.2 var(--font-title);letter-spacing:.16em;color:var(--paper);text-shadow:0 2px 4px #000000}
html body.playable-integrated #admiral-window header small{color:var(--brass);letter-spacing:.24em}
html body.playable-integrated #admiral-window button{background:linear-gradient(180deg,#282826,#1d1d1b);border:1px solid var(--line-hi);border-radius:3px;color:var(--paper);min-height:44px}
html body.playable-integrated #admiral-window select{background:var(--ink-0);border:1px solid var(--line-hi);border-radius:3px;color:var(--paper);min-height:44px}
html body.playable-integrated #admiral-window #admiral-window-close{min-width:48px;min-height:48px;font-size:26px;padding:0}
html body.playable-integrated #admiral-window .officer-window-body{background:none}
html body.playable-integrated #admiral-window .officer-list{border-right:1px solid var(--line);background:#0e0e0cb3}
html body.playable-integrated #admiral-window .officer-list button{background:linear-gradient(180deg,#1f201d,#161714);border:1px solid var(--line);border-left:3px solid transparent;padding:5px 8px 5px 5px;min-height:58px}
html body.playable-integrated #admiral-window .officer-list button[aria-pressed=true]{background:linear-gradient(180deg,#272826,#191918);border-color:var(--brass);border-left-color:var(--brass-hi);box-shadow:0 0 10px var(--brass-glow)}
html body.playable-integrated #admiral-window .officer-list b{font:700 15px/1.3 var(--font-title);letter-spacing:.04em;color:var(--paper)}
html body.playable-integrated #admiral-window .officer-face{border:1px solid #070706;box-shadow:0 0 0 1px var(--brass-lo),0 3px 8px #000000aa;border-radius:2px;filter:sepia(.12) contrast(1.05)}
html body.playable-integrated #admiral-window .officer-face.vacant{background:repeating-linear-gradient(135deg,#151613 0 6px,#10110f 6px 12px);color:var(--paper-3)}
html body.playable-integrated #admiral-window .officer-stars{color:var(--brass-hi);letter-spacing:2px}
html body.playable-integrated #admiral-window .officer-stars>span{color:#3f3f3d}
html body.playable-integrated #admiral-window .officer-comparison{background:none;gap:8px}
html body.playable-integrated #admiral-window .officer-dossier{background:linear-gradient(180deg,#1d1d1b,#121311);border:1px solid var(--line-hi);border-radius:3px;box-shadow:inset 0 1px 0 #ede8d90a}
html body.playable-integrated #admiral-window .officer-dossier h3{color:var(--brass);letter-spacing:.4em;font-size:12px}
html body.playable-integrated #admiral-window .officer-dossier h4{font:700 20px/1.3 var(--font-title);letter-spacing:.06em;color:var(--paper)}
html body.playable-integrated #admiral-window .officer-dossier>.officer-face{width:80px;height:80px;box-shadow:0 0 0 1px #000000,0 0 0 4px #222320,0 0 0 5px var(--brass),0 10px 24px #000000bb}
html body.playable-integrated #admiral-window .officer-xp{color:var(--paper-2)}
html body.playable-integrated #admiral-window .officer-xp progress{accent-color:var(--brass);height:6px}
html body.playable-integrated #admiral-window .officer-stats details{background:#0f0f0d;border:1px solid var(--line);border-radius:3px}
html body.playable-integrated #admiral-window .officer-stats svg,html body.playable-integrated #admiral-window .officer-trait svg{color:var(--brass)}
html body.playable-integrated #admiral-window .officer-stats b{font:600 26px/1 var(--font-num);color:var(--paper)}
html body.playable-integrated #admiral-window .officer-stats .positive{color:#9bd38a}
html body.playable-integrated #admiral-window .officer-stats .negative{color:#ef9a83}
html body.playable-integrated #admiral-window .officer-trait{border-top-color:var(--line)}
html body.playable-integrated #admiral-window .officer-trait summary{color:var(--brass-hi)}
html body.playable-integrated #admiral-window details p{color:var(--paper-2)}
html body.playable-integrated #admiral-window>footer{background:linear-gradient(180deg,#171816,#10110f);border-top:1px solid var(--brass-lo)}
html body.playable-integrated #admiral-window #officer-confirm:not(:disabled){background:linear-gradient(180deg,#ccbf95,#968961);border-color:#cec9ba;color:#10100e;font-weight:700;letter-spacing:.06em}
html body.playable-integrated #admiral-window .officer-list .officer-face{width:42px;height:48px;flex:0 0 42px}
html body.playable-integrated #admiral-window .officer-dossier{min-height:0;padding:8px}
html body.playable-integrated #admiral-window .officer-comparison{padding:8px}
html body.playable-integrated #admiral-window .officer-stats{margin:8px 0}
html body.playable-integrated #admiral-window>footer{min-height:76px;padding:7px 10px}
html body.playable-integrated .command-ui.hoi-ui :is(.tc-primary,.design-primary,.plan-primary,.rw-primary):not(:disabled),
html body.playable-integrated #admiral-window #officer-confirm:not(:disabled),
html body.playable-integrated .command-ui.hoi-ui .mp-resume{
 background:#191a18!important;border:1px solid var(--brass)!important;color:var(--brass-hi)!important;
 box-shadow:inset 0 0 0 1px #000000,inset 0 1px 0 #ede8d90d!important;font-weight:600;letter-spacing:.14em;text-shadow:none!important}
html body.playable-integrated .command-ui.hoi-ui :is(.tc-primary,.design-primary,.plan-primary,.rw-primary):active:not(:disabled),
html body.playable-integrated #admiral-window #officer-confirm:active:not(:disabled){background:#232422!important}
html body.playable-integrated #admiral-window .officer-stars{display:inline-flex;gap:3px;align-items:center;letter-spacing:0}
html body.playable-integrated #admiral-window .officer-stars>i{width:9px;height:4px;background:#ede8d91a;transform:skewX(-20deg)}
html body.playable-integrated #admiral-window .officer-stars>i[data-on]{background:var(--brass-hi)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-cats button[aria-pressed="true"],
html body.playable-integrated #admiral-window .officer-list button[aria-pressed=true]{background:#1b1b1a!important;border-color:#ede8d91f!important;box-shadow:inset 2px 0 0 var(--brass)!important;color:var(--paper)}
html body.playable-integrated :is(#admiral-window,.command-ui.hoi-ui) .officer-face{box-shadow:0 0 0 1px #000000,0 0 0 2px #c3beaf33,0 4px 10px #000000aa!important}
html body.playable-integrated #admiral-window .officer-dossier>.officer-face{box-shadow:0 0 0 1px #000000,0 0 0 4px #cdc8b9,0 0 0 5px #00000066,0 10px 24px #000000bb!important;filter:sepia(.3) contrast(1.06)}
html body.playable-integrated #admiral-window .officer-face.vacant{box-shadow:0 0 0 1px #ede8d924!important}
html[data-ui-theme="folio"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window,.th-prefs){
 --ink-0:var(--fo-sunk); --ink-1:var(--fo-paper); --ink-2:var(--fo-raised); --ink-3:var(--fo-deep); --ink-4:#1819170d;
 --line:var(--fo-rule); --line-hi:var(--fo-rule-2);
 --brass:var(--fo-ox); --brass-hi:var(--fo-ox); --brass-lo:#7b2a2166; --brass-glow:transparent;
 --paper:var(--fo-ink); --paper-2:var(--fo-ink-2); --paper-3:var(--fo-ink-3);
 --go:var(--fo-green); --warn:var(--fo-amber); --stop:var(--fo-ox-hi); --info:#4b4c48;
 --bar-org:#4f7a3f; --bar-str:#8a7d56; --bar-bg:#1819171f;
 --panel-bg:var(--fo-grain),linear-gradient(180deg,var(--fo-raised),var(--fo-paper));
 --panel-edge:var(--fo-shadow);
 --tc-bg:var(--fo-paper); --tc-bg2:var(--fo-raised); --tc-line:var(--fo-rule-2); --tc-ink:var(--fo-ink); --tc-dim:var(--fo-ink-2); --tc-gold:var(--fo-ox); --tc-ok:var(--fo-green); --tc-warn:var(--fo-amber); --tc-bad:var(--fo-ox-hi);
 color:var(--fo-ink);
}
html[data-ui-theme="folio"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) :is(h1,h2,h3){font-family:var(--font-title);font-weight:600;letter-spacing:.08em;color:var(--fo-ink)}
html[data-ui-theme="folio"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) :is(.eyebrow,th,legend,small){color:var(--fo-ink-3)}
html[data-ui-theme="folio"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) :is(p,span,b,strong,label,summary,td,li,dt,dd,em){text-shadow:none}
html[data-ui-theme="folio"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) :is(button,select){
 background:transparent;border:1px solid var(--fo-rule-2);color:var(--fo-ink);box-shadow:none;border-radius:1px}
html[data-ui-theme="folio"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) input{background:var(--fo-raised);border:1px solid var(--fo-rule-2);color:var(--fo-ink);box-shadow:inset 0 1px 2px #1819171a}
html[data-ui-theme="folio"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) button:active:not(:disabled){background:var(--fo-sunk)}
html[data-ui-theme="folio"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) :is(button[aria-pressed="true"],button.active,button[aria-checked="true"]){
 background:var(--fo-raised);border-color:var(--fo-ink);color:var(--fo-ink);box-shadow:inset 0 -2px 0 var(--fo-ox)}
html[data-ui-theme="folio"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) button:disabled{opacity:.4}
html[data-ui-theme="folio"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) :is(.tc-primary,.design-primary,.plan-primary,.rw-primary,.mp-resume,#officer-confirm):not(:disabled){
 background:var(--fo-ox)!important;border:1px solid #4e1912!important;color:#dcd7c8!important;box-shadow:inset 0 1px 0 #ede8d926,0 1px 2px #0000004d!important;letter-spacing:.16em;font-weight:600}
html[data-ui-theme="folio"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) :is(.tc-primary,.design-primary,.plan-primary,.rw-primary,#officer-confirm):not(:disabled) *{color:#dcd7c8!important}
html[data-ui-theme="folio"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) :is(.tc-primary,.design-primary,.plan-primary,.rw-primary,#officer-confirm):active:not(:disabled){background:#5f1f18!important}
html[data-ui-theme="folio"] body.playable-integrated #admiral-window{background:var(--fo-grain),linear-gradient(180deg,var(--fo-raised),var(--fo-paper))!important;color:var(--fo-ink);border:1px solid #18191766!important;box-shadow:0 20px 60px #00000099!important}
html[data-ui-theme="folio"] body.playable-integrated #admiral-window *:not(svg,svg *,img,.officer-face){background-color:transparent;border-color:var(--fo-rule)}
html[data-ui-theme="folio"] body.playable-integrated #admiral-window :is(header,footer){background:transparent!important;border-color:var(--fo-ink)!important}
html[data-ui-theme="folio"] body.playable-integrated #admiral-window .officer-list button{background:transparent!important;border:0!important;border-bottom:1px solid var(--fo-rule)!important;box-shadow:none!important;color:var(--fo-ink)}
html[data-ui-theme="folio"] body.playable-integrated #admiral-window .officer-list button[aria-pressed=true]{background:var(--fo-raised)!important;box-shadow:inset 3px 0 0 var(--fo-ox)!important}
html[data-ui-theme="folio"] body.playable-integrated #admiral-window .officer-stars>i{background:#18191726}
html[data-ui-theme="folio"] body.playable-integrated #admiral-window .officer-stars>i[data-on]{background:var(--fo-ox)}
html[data-ui-theme="folio"] body.playable-integrated :is(#admiral-window,.command-ui.hoi-ui) .officer-face{box-shadow:0 0 0 3px #e1dcce,0 0 0 4px #18191740,0 3px 8px #0000004d!important;filter:sepia(.28) contrast(1.05)}
html[data-ui-theme="folio"] body.playable-integrated #admiral-window .officer-face.vacant{background:repeating-linear-gradient(135deg,#c6c1b2 0 6px,#d0cbbb 6px 12px)!important;color:var(--fo-ink-3)}
html[data-ui-theme="folio"] body.playable-integrated #admiral-window :is(.officer-stat,.officer-stats>*){background:transparent!important;border-color:var(--fo-rule-2)!important}
html[data-ui-theme="folio"] body.playable-integrated #admiral-window :is(article.officer-dossier,.officer-summary){background:var(--fo-raised)!important;border:1px solid var(--fo-rule-2)!important;box-shadow:none!important;color:var(--fo-ink)!important}
html[data-ui-theme="folio"] body.playable-integrated #admiral-window article.officer-dossier *:not(svg,svg *){color:var(--fo-ink)}
html[data-ui-theme="folio"] body.playable-integrated #admiral-window article.officer-dossier :is(small,span:not(.officer-face):not(.officer-stars)){color:var(--fo-ink-3)}
html[data-ui-theme="folio"] body.playable-integrated #admiral-window article.officer-dossier :is(h3,b,strong){color:var(--fo-ink)!important}
html[data-ui-theme="folio"] body.playable-integrated #admiral-window article.officer-dossier svg{color:var(--fo-ox)}
html[data-ui-theme="folio"] body.playable-integrated #admiral-window :is(h1,h2){text-shadow:none!important}
html[data-ui-theme="folio"] body.playable-integrated #admiral-window footer :is(p,small,span){color:var(--fo-ink-2)!important}
html[data-ui-theme="folio"] body.playable-integrated #admiral-window select{background:var(--fo-raised)!important;color:var(--fo-ink)!important}
html[data-ui-theme="folio"] body.playable-integrated #admiral-window .officer-summary .officer-face.vacant{background:repeating-linear-gradient(135deg,#c6c1b2 0 6px,#d0cbbb 6px 12px)!important}
html[data-ui-theme="folio"] body.playable-integrated :is(#admiral-window,.command-ui.hoi-ui) .officer-face.vacant{background:repeating-linear-gradient(135deg,#c6c1b2 0 6px,#d0cbbb 6px 12px)!important;color:var(--fo-ink-3)!important}
html[data-ui-theme="folio"] body.playable-integrated #admiral-window :is(label,summary,footer>div,footer>details){color:var(--fo-ink-2)!important}
html[data-ui-theme="folio"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) *{text-shadow:none!important}
html[data-ui-theme="iron-classic"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window,.th-prefs,.zoom-controls){
 --ink-0:var(--ir-steel-0); --ink-1:var(--ir-steel-1); --ink-2:var(--ir-steel-2); --ink-3:var(--ir-steel-3); --ink-4:#ede8d908;
 --line:#ede8d912; --line-hi:#ede8d921;
 /* the shared accent drives text, icons and rules: keep it light; red is only ever a fill */
 --brass:var(--ir-khaki); --brass-hi:var(--ir-mark); --brass-lo:#4b4c4a; --brass-glow:transparent;
 --paper:var(--ir-bone); --paper-2:var(--ir-bone-2); --paper-3:var(--ir-bone-3);
 --go:#8fb06a; --warn:var(--ir-amber); --stop:var(--ir-alert); --info:#9db7c6;
 --bar-org:#6f8a4e; --bar-str:#a1987c; --bar-bg:#00000080;
 --panel-bg:var(--ir-plate); --panel-edge:var(--ir-edge); --r:0px;
 --font-title:"Songti SC","STSong","Noto Serif CJK SC","Source Han Serif SC",Georgia,serif;
 --tc-bg:var(--ir-steel-1); --tc-bg2:var(--ir-steel-2); --tc-line:#ede8d921; --tc-ink:var(--ir-bone); --tc-dim:var(--ir-bone-2); --tc-gold:var(--ir-mark); --tc-ok:#8fb06a; --tc-warn:var(--ir-amber); --tc-bad:var(--ir-alert);
}
html[data-ui-theme="iron-classic"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) :is(h1,h2,h3){font-family:var(--font-title);font-weight:800;letter-spacing:.14em;color:var(--ir-bone)}
html[data-ui-theme="iron-classic"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) :is(.eyebrow,th,legend){letter-spacing:.24em;color:var(--ir-khaki)}
html[data-ui-theme="iron-classic"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) *{text-shadow:none}
html[data-ui-theme="iron-classic"] body.playable-integrated :is(.command-ui.hoi-ui :is(.tc-panel,.tc-tray,.tc-commands,.tc-pop,.tc-sheet,.tc-inspect,.tc-banner,.tc-toast,.ui-sidebar,.ui-notice,.hoi-map-modes,.ui-corps-card,.ui-corps-bar,.hoi-commanders,.mp-council,.mp-banner),.zoom-controls,#admiral-window){
 background:var(--ir-plate)!important;border:1px solid #000000!important;border-radius:0!important;box-shadow:var(--ir-edge)!important;color:var(--ir-bone)}
html[data-ui-theme="iron-classic"] body.playable-integrated .command-ui.hoi-ui :is(.ui-sidebar>header,.touch-hud .tc-pop>header,.touch-hud .tc-sheet>header,.touch-hud .tc-inspect>header),
html[data-ui-theme="iron-classic"] body.playable-integrated #admiral-window>header{
 background:linear-gradient(90deg,var(--ir-mark) 0 4px,transparent 4px),var(--ir-grain),linear-gradient(180deg,#0b0b0a,#121211)!important;border-bottom:1px solid #000000!important;box-shadow:0 1px 0 #b2a99126!important}
html[data-ui-theme="iron-classic"] body.playable-integrated .command-ui.hoi-ui .atlas-panel-title :is(h2,h3,b,strong),
html[data-ui-theme="iron-classic"] body.playable-integrated #admiral-window>header :is(h1,h2,h3){font-weight:800;letter-spacing:.2em;color:var(--ir-bone)}
html[data-ui-theme="iron-classic"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) :is(button,select){
 background:linear-gradient(180deg,#1b1b1a,#141413)!important;border:1px solid #000000!important;border-radius:0!important;color:var(--ir-bone);
 box-shadow:inset 0 1px 0 #ede8d910,inset 0 0 0 1px #ede8d908,0 1px 0 #ede8d908!important}
html[data-ui-theme="iron-classic"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) input{background:#0a0a09!important;border:1px solid #000000!important;color:var(--ir-bone);box-shadow:inset 0 1px 3px #000000!important;border-radius:0}
html[data-ui-theme="iron-classic"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) button:active:not(:disabled){background:#0c0d0c!important;box-shadow:inset 0 2px 4px #000000!important}
html[data-ui-theme="iron-classic"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) :is(button[aria-pressed="true"],button.active,button[aria-checked="true"]){
 background:linear-gradient(180deg,#111110,#0b0c0b)!important;color:var(--ir-khaki)!important;box-shadow:inset 0 -3px 0 var(--ir-mark),inset 0 1px 3px #000000!important}
html[data-ui-theme="iron-classic"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) button:disabled{opacity:.35}
html[data-ui-theme="iron-classic"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) :is(.tc-primary,.design-primary,.plan-primary,.rw-primary,.mp-resume,#officer-confirm):not(:disabled){
 background:var(--ir-grain),linear-gradient(180deg,#9a3224,#6e2117)!important;border:1px solid #2a0905!important;color:#d7d1c2!important;
 box-shadow:inset 0 1px 0 #ede8d926,inset 0 -2px 0 #0000004d,0 2px 6px #000000aa!important;font-weight:700;letter-spacing:.2em}
html[data-ui-theme="iron-classic"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) :is(.tc-primary,.design-primary,.plan-primary,.rw-primary,#officer-confirm):not(:disabled) *{color:#d7d1c2!important}
html[data-ui-theme="iron-classic"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) :is(.tc-primary,.design-primary,.plan-primary,.rw-primary,#officer-confirm):active:not(:disabled){background:linear-gradient(180deg,#6e2117,#561910)!important}
html[data-ui-theme="iron-classic"] body.playable-integrated #admiral-window .officer-list button[aria-pressed=true]{box-shadow:inset 4px 0 0 var(--ir-mark),inset 0 1px 3px #000000!important;background:#0c0d0c!important}
html[data-ui-theme="iron-classic"] body.playable-integrated #admiral-window .officer-stars>i[data-on]{background:var(--ir-khaki)}
html[data-ui-theme="iron-classic"] body.playable-integrated :is(#admiral-window,.command-ui.hoi-ui) .officer-face{box-shadow:0 0 0 2px #ccc3aa,0 0 0 3px #000000,0 4px 10px #000000cc!important;filter:grayscale(.35) sepia(.25) contrast(1.12) brightness(.92)}
html[data-ui-theme="iron-classic"] body.playable-integrated #admiral-window article.officer-dossier{background:#0c0d0c!important;border:1px solid #000000!important;box-shadow:inset 0 1px 0 #ede8d90a!important}
html[data-ui-theme="iron-classic"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) :is(details,.design-workspace,.design-stats,.division-save-bar,.dip-head,.officer-list,.officer-stats>*){background:linear-gradient(180deg,#141413,#0f0f0e)!important;border-color:#000000!important;box-shadow:inset 0 1px 0 #ede8d908!important}
html[data-ui-theme="iron-classic"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) details details{background:transparent!important;box-shadow:none!important}
html[data-ui-theme="iron-classic"] body.playable-integrated #admiral-window>footer{background:var(--ir-grain),linear-gradient(180deg,#0f0f0f,#0a0a09)!important;border-top:1px solid #000000!important;box-shadow:inset 0 1px 0 #ede8d90a!important}
html[data-ui-theme="iron-classic"] body.playable-integrated #admiral-window .officer-stats>*{border:1px solid #000000!important}
html[data-ui-theme="iron-classic"] body.playable-integrated :is(#admiral-window,.command-ui.hoi-ui) .officer-face.vacant{background:repeating-linear-gradient(135deg,#111110 0 6px,#181817 6px 12px)!important}
html[data-ui-theme="iron-classic"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) :is(small,.dip-rel,.efficiency-value,.rw-detail-body>h4,h3>small,p>span){color:var(--ir-bone-2)}
html[data-ui-theme="iron-classic"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) :is(summary,details>summary)::marker,html[data-ui-theme="iron-classic"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) summary svg{color:var(--ir-khaki)}
html[data-ui-theme="iron-classic"] body.playable-integrated :is(#admiral-window,.command-ui.hoi-ui) .officer-face.vacant{background:#0a0a09!important;color:var(--ir-bone)!important;box-shadow:inset 0 0 0 1px #ede8d92e,0 0 0 1px #000000!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) #air-window.bice-air button{background:linear-gradient(#323231,#232322)!important;border:1px solid #56544e!important;box-shadow:inset 0 1px #8a88802b!important;color:#ccc6b6!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) #air-window.bice-air button[aria-pressed=true]{background:linear-gradient(#4a4a47,#353633)!important;border-color:#a4a299!important;box-shadow:inset 3px 0 #b8b6ad!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) #air-window.bice-air :is(.air-base-name,.air-wing){background:transparent!important;border:0!important;box-shadow:none!important}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) :is(.be-workbench,.rs-cash-trade){--be-bg:#1a1b19;--be-deep:#121211;--be-raised:#282926;--be-line:#605f5c;--be-ink:#d3cebe;--be-muted:#afaeaa;--be-gold:#cdc19c;--be-good:#c0bdb5;--be-bad:#e7a899;font-size:13px}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) :is(.be-workbench,.rs-cash-trade) :is(button,input,select){min-height:44px;font-size:13px;line-height:1.35;letter-spacing:0}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) :is(.be-workbench,.rs-cash-trade) :is(input,select){background:#141513!important;border:1px solid #6c6b66!important;box-shadow:inset 0 2px 3px #00000044!important;color:#d9d3c4}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) :is(.be-workbench,.rs-cash-trade) button{background:linear-gradient(#353633,#242522)!important;border:1px solid #6d6d69!important;box-shadow:inset 0 1px #cac4b41a,0 1px 2px #00000033!important;color:#cfc9ba;touch-action:manipulation}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) :is(.be-workbench,.rs-cash-trade) button:not(:disabled):hover{border-color:#c9bd98!important;color:#e1dccc}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) :is(.be-workbench,.rs-cash-trade) button.be-primary{background:linear-gradient(#b1a582,#82795e)!important;border-color:#cfc39d!important;box-shadow:inset 0 1px #d6d0c180,0 2px 3px #00000044!important;color:#161715;font-weight:800}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) .be-workbench .be-heading{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:78px;padding:12px 16px;margin-bottom:12px;background:linear-gradient(110deg,#292a28,#171816 72%);border:1px solid #6a6963;border-top:2px solid #bbaf8a;border-bottom:1px solid #877f67;box-shadow:inset 0 0 0 3px #0b0b0a33}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) .be-workbench .be-heading h3{font:700 22px/1.35 Georgia,'Noto Serif SC',serif;letter-spacing:.1em;color:#d4cebe;margin:2px 0 0}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) .be-workbench :is(.be-card,.be-confirm)>header{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:10px;min-height:48px;height:auto;padding:8px 12px;margin:0;background:linear-gradient(100deg,#30302f,#222220);border:0;border-bottom:1px solid #66645f;box-shadow:inset 0 1px #c6c0b119}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) .be-workbench :is(.be-card,.be-confirm)>header h4{display:flex;align-items:center;gap:8px;font:700 14px/1.4 Georgia,'Noto Serif SC',serif;color:#c6c0b1;letter-spacing:.06em;margin:0}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) .be-workbench .be-budget-rows>label.be-budget-row{display:grid;grid-template-columns:minmax(0,1fr) 128px;align-items:center;gap:4px 12px;min-height:0;margin:0;padding:11px 0}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) .be-workbench .be-budget-row>select{grid-column:2;grid-row:1;width:100%;max-width:100%;margin:0}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) .be-workbench .be-budget-row>span{grid-column:1;grid-row:1;min-width:0}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) .be-workbench .be-budget-row>em{grid-column:1/-1;grid-row:2}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) .be-workbench label.be-checkbox{display:flex;align-items:center;gap:10px}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) .be-workbench .be-checkbox>input{min-height:20px;width:20px;height:20px;accent-color:#b8ad8a;box-shadow:none!important}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) .be-workbench .be-ledger>header{background:linear-gradient(100deg,#b4ab92,#c6bda4);border-bottom:1px solid #8d856d;box-shadow:inset 0 1px #d9d4c466}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) .be-workbench .be-ledger>header h4{color:#343533}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) .be-workbench .be-ledger-columns>section>footer{display:flex;align-items:baseline;justify-content:space-between;gap:12px;min-height:0;height:auto;margin:0;padding:10px 0 0;background:transparent;color:#363735;border:0;border-top:2px solid #89877f6b;box-shadow:none}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) .be-workbench .be-ledger-columns>section>footer :is(b,strong){color:#363735;font-size:12px;line-height:1.5}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) .be-workbench .be-ledger-net small{color:#454543}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) .be-workbench .be-offers>header{background:linear-gradient(110deg,#373735,#242423);border-bottom-color:#74726e}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) .be-workbench .be-sell>header{background:linear-gradient(110deg,#3b3c3a,#282926);border-bottom-color:#877f68}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) .be-workbench .be-confirm>header{padding:8px 0;background:none;border-bottom-color:#93918955;margin-bottom:9px}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) .be-workbench .be-confirm>footer{position:static;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;min-height:44px;height:auto;max-height:none;margin:10px 0 0;padding:10px 0 0;background:transparent;border:0;border-top:1px solid #93918955;box-shadow:none;overflow:visible}
html body.playable-integrated #admiral-window.officer-quick{inset:min(16vh,140px) auto auto 50%;transform:translateX(-50%);margin:0;height:fit-content;min-height:0;max-height:76dvh;overflow:auto;width:min(480px,calc(100vw - 32px));}
html body.playable-integrated #admiral-window.officer-quick header h2{flex:1;}
html body.playable-integrated #admiral-window.officer-quick footer{position:static;display:flex;flex-wrap:wrap;}
html body.playable-integrated #admiral-window.officer-quick footer p{flex-basis:100%;margin:0;}
#admiral-window.officer-register{width:min(980px,94vw);max-width:94vw;height:min(680px,88dvh);max-height:88dvh;padding:0;overflow:hidden;display:none}
#admiral-window.officer-register[open]{display:flex;flex-direction:column}
#admiral-window.officer-register>header{flex:none;display:flex;align-items:center;gap:16px;padding:10px 14px;min-height:60px}
#admiral-window.officer-register h2{font-size:19px;margin:3px 0}
#admiral-window.officer-register>header>span{font-size:12px;margin-left:auto;color:var(--ink-muted,#c1b89f)}
#admiral-window .officer-register-body{display:grid;grid-template-columns:minmax(0,1fr) 248px;min-height:0;flex:1}
#admiral-window .officer-register-table{min-width:0;min-height:0;display:flex;flex-direction:column;border-right:1px solid #454544}
#admiral-window .officer-register-head,#admiral-window.officer-register .officer-list>button{display:grid;grid-template-columns:minmax(170px,1fr) repeat(4,32px) 94px;gap:6px;align-items:center;padding:6px 12px;text-align:left}
#admiral-window .officer-register-head{min-height:30px;font-size:12px;color:#bab298;border-bottom:1px solid #454544}
#admiral-window.officer-register .officer-list{display:block;width:auto;padding:0;overflow-y:auto;min-height:0;flex:1}
#admiral-window.officer-register .officer-list>button{width:100%;min-height:53px;border-width:0 0 1px;background:transparent;margin:0;border-radius:0}
#admiral-window.officer-register .officer-list>button[aria-pressed=true]{background:#343432;box-shadow:inset 3px 0 #c0baab}
#admiral-window .register-name{display:flex;gap:10px;align-items:center;min-width:0}
#admiral-window .register-name>span{min-width:0}
#admiral-window .register-name b{font-size:13px;display:block;white-space:normal;letter-spacing:0}
#admiral-window .register-name small{font-size:11px;display:block;color:#bab298}
#admiral-window .register-name .officer-face{width:34px;height:42px;min-width:34px;margin:0}
#admiral-window .officer-register-detail{padding:12px;overflow-y:auto;min-height:0}
#admiral-window .officer-register-detail .officer-dossier{display:block;border:0;padding:0;min-height:0}
#admiral-window .officer-register-detail .officer-face{width:80px;height:100px;margin:8px auto;display:block}
#admiral-window .officer-register-detail h4{font-size:17px;margin:8px 0}
#admiral-window .officer-register-detail .officer-stats{display:grid;grid-template-columns:1fr 1fr;gap:6px}
#admiral-window.officer-register>footer{padding:10px 14px;display:flex;align-items:center;gap:8px;flex:none;border-top:1px solid #454544}
#admiral-window.officer-register>footer [role=status]{flex:1;font-size:12px}
@media(max-width:800px){#admiral-window .officer-register-body{grid-template-columns:minmax(0,1fr) 190px}#admiral-window .officer-register-head,#admiral-window.officer-register .officer-list>button{grid-template-columns:minmax(110px,1fr) repeat(4,24px) 65px;gap:3px;padding:5px 7px}#admiral-window.officer-register>header>span{max-width:150px}}
@media(max-width:580px){#admiral-window .officer-register-body{display:flex;flex-direction:column}#admiral-window .officer-register-table{flex:1}#admiral-window .officer-register-detail{max-height:160px}#admiral-window .officer-register-detail .officer-face{float:left;width:60px;height:75px;margin-right:12px}}
#admiral-window.officer-hq{width:min(1120px,96vw);max-width:96vw;height:min(790px,92dvh);max-height:92dvh;background:#151614}
#admiral-window.officer-hq>header{min-height:70px;gap:12px}
#admiral-window.officer-hq>header>span.officer-currency{display:flex;align-items:center;gap:8px;white-space:nowrap;color:#beb9a9;margin-left:auto;font-size:12px}
#admiral-window .officer-currency .hoi-icon{width:23px;height:23px;color:#cabd93}
#admiral-window .officer-currency b{font:600 23px/1 ui-monospace,monospace}
#admiral-window .officer-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:8px 12px;border-bottom:1px solid #55534d;background:#121210;flex:none}
#admiral-window .officer-toolbar nav{display:flex;gap:5px}
#admiral-window .officer-toolbar button{min-height:44px;min-width:86px;padding:6px 14px;border-color:#5b5954;background:#1f201d;color:#d0c7ad}
#admiral-window .officer-toolbar button[aria-pressed=true]{border-color:#baad87;box-shadow:inset 0 -3px #baad87;color:#d6d1c1;background:#323230}
#admiral-window .officer-toolbar button b{margin-left:6px;color:#beb69c}
#admiral-window .officer-toolbar label{display:flex;align-items:center;gap:8px;font-size:12px}
#admiral-window .officer-toolbar select{min-width:100px;min-height:44px;padding:4px 8px}
#admiral-window.officer-hq .officer-register-body{grid-template-columns:minmax(0,1fr) 330px;min-height:0;overflow:hidden}
#admiral-window.officer-hq .officer-register-head,#admiral-window.officer-hq .officer-list>button{grid-template-columns:minmax(175px,1fr) repeat(4,30px) 82px;gap:6px}
#admiral-window.officer-hq .officer-list>button{min-height:85px;padding:10px 12px;touch-action:pan-y}
#admiral-window.officer-hq .register-name{gap:12px}
#admiral-window.officer-hq .register-name .officer-face{width:47px;min-width:47px;height:60px}
#admiral-window.officer-hq .register-name b{font-size:14px;line-height:1.5}
#admiral-window.officer-hq .register-name small{font-size:11px;line-height:1.6;max-width:220px;white-space:normal}
#admiral-window.officer-hq .officer-register-detail{padding:18px 15px;background:linear-gradient(110deg,#181916,#10100f);overscroll-behavior:contain;touch-action:pan-y}
#admiral-window.officer-hq .officer-dossier{text-align:left;background:none!important}
#admiral-window.officer-hq .officer-dossier h3{margin:0 0 14px;color:#afa585;font-size:12px;letter-spacing:.2em}
#admiral-window .officer-identity{display:flex;align-items:center;gap:20px;margin-bottom:14px}
#admiral-window .officer-identity .officer-face{width:88px;height:108px;margin:0;flex:none}
#admiral-window .officer-identity h4{margin:0 0 8px;font-size:18px;line-height:1.5}
#admiral-window .officer-service{display:block;font-size:11px;color:#b6ae95;margin-top:8px}
#admiral-window .officer-biography{font-size:12px;line-height:1.75;color:#b9b8b3;margin:12px 0}
#admiral-window .officer-traits{display:flex;gap:6px;flex-wrap:wrap}
#admiral-window .officer-traits.expanded{display:grid;grid-template-columns:1fr;gap:8px;margin-bottom:16px}
#admiral-window .officer-trait-badge{display:flex;align-items:center;gap:9px;border:1px solid #6a634c;padding:7px 10px;background:linear-gradient(120deg,#2b2b2a,#1f1f1e);color:#bdb8a8}
#admiral-window .officer-trait-badge>.hoi-icon{width:25px;height:25px;flex:none;color:#c1b591}
#admiral-window .officer-trait-badge b{font-size:12px;display:block;line-height:1.6}
#admiral-window .officer-trait-badge small{font-size:11px;display:block;line-height:1.65;color:#b3b2ab}
#admiral-window .officer-effect-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 0;border-top:1px solid #454543;font-size:11px;color:#b9b7b0}
#admiral-window .officer-effect-summary span:nth-child(3),#admiral-window .officer-effect-summary small{grid-column:1/-1}
#admiral-window .officer-effect-summary b{float:right;color:#cac4b5;font-size:12px}
#admiral-window .officer-effect-summary small{line-height:1.6;color:#a4a39e}
#admiral-window .officer-current{font-size:12px;padding:9px;border:1px solid #4d4e4b;color:#c7bea5}
#admiral-window .officer-empty{padding:28px;text-align:center;color:#a6a59f}
#admiral-window.officer-hq>footer{min-height:72px;max-height:140px}
#admiral-window.officer-hq>footer button{min-height:46px;min-width:110px;touch-action:manipulation}
@media(max-width:900px){#admiral-window.officer-hq .officer-register-body{grid-template-columns:minmax(0,1fr) 280px}#admiral-window.officer-hq .officer-register-head,#admiral-window.officer-hq .officer-list>button{grid-template-columns:minmax(130px,1fr) repeat(4,23px) 62px;gap:3px;padding:8px}#admiral-window.officer-hq .register-name{gap:8px}#admiral-window.officer-hq .register-name b{font-size:13px}#admiral-window.officer-hq .register-name .officer-face{width:36px;min-width:36px;height:47px}#admiral-window.officer-hq .officer-register-detail{padding:12px}#admiral-window .officer-identity{gap:12px}#admiral-window .officer-identity .officer-face{width:67px;height:86px}#admiral-window .officer-identity h4{font-size:16px}}
@media(max-width:620px){#admiral-window.officer-hq{height:95dvh;max-height:95dvh}#admiral-window.officer-hq>header{min-height:58px;padding:8px}#admiral-window.officer-hq h2{font-size:16px}#admiral-window .officer-currency{font-size:0!important}#admiral-window .officer-currency b{font-size:18px}#admiral-window .officer-toolbar{gap:5px;padding:6px}#admiral-window .officer-toolbar button{min-width:66px;padding:4px 7px}#admiral-window .officer-toolbar label{font-size:0}#admiral-window .officer-toolbar select{min-width:75px;font-size:12px}#admiral-window.officer-hq .officer-register-body{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(150px,1fr) minmax(150px,1fr)}#admiral-window.officer-hq .officer-register-detail{max-height:none;border-top:1px solid #56554e}#admiral-window.officer-hq .officer-register-table{min-height:0}#admiral-window.officer-hq .officer-list{max-height:none}#admiral-window.officer-hq .officer-list>button{min-height:65px}#admiral-window.officer-hq .officer-identity .officer-face{float:none}#admiral-window.officer-hq .officer-dossier .officer-stats{grid-template-columns:repeat(4,1fr)}#admiral-window.officer-hq>footer{min-height:70px;gap:5px;padding:7px}#admiral-window.officer-hq>footer [role=status]{min-width:120px}}
html body.playable-integrated #admiral-window.officer-hq .officer-toolbar select{background:#222221!important;color:#cbc5b5!important;border:1px solid #766e57!important;color-scheme:dark}
#admiral-window.officer-hq .register-name>span:not(.officer-face){min-width:0;overflow:hidden}
#admiral-window.officer-hq .register-name small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
html[data-scenario="beta-europe-1936"][data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) section.nf-window[data-beta-focus="true"] .nf-searchbar input{background:transparent!important;border:0!important;box-shadow:none!important;color:#d5d0c0}
html[data-scenario="beta-europe-1936"][data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) section.nf-window[data-beta-focus="true"] .nf-searchbar button{background:transparent!important;border:1px solid transparent!important;box-shadow:none!important;color:#bfbaaa}
html[data-scenario="beta-europe-1936"][data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) section.nf-window[data-beta-focus="true"] .nf-searchbar button:is(:hover,:focus-visible,[aria-expanded="true"]){background:#343432!important;border-color:#a29a80!important;color:#d3cebd}
html[data-scenario="beta-europe-1936"][data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) section.nf-window[data-beta-focus="true"] :is(.nf-close,.nf-zoom button,.nf-secondary,.nf-chip){background:linear-gradient(var(--nf-plaque),var(--nf-plaque-low))!important;border:1px solid #716f67!important;box-shadow:inset 0 1px #c4bfaf26!important;color:#cbc5b6}
html[data-scenario="beta-europe-1936"][data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) section.nf-window[data-beta-focus="true"] .nf-primary{background:linear-gradient(var(--nf-ready),var(--nf-ready-low))!important;border:1px solid #afada5!important;box-shadow:inset 0 1px #cbc5b666,0 2px 2px #00000044!important;color:#dbd6c7}
html[data-scenario="beta-europe-1936"][data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) section.nf-window[data-beta-focus="true"] .nf-primary:disabled{background:#272826!important;border-color:#50504d!important;box-shadow:none!important;opacity:1;color:#9d9b95}
html[data-scenario="beta-europe-1936"][data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) section.nf-window[data-beta-focus="true"] .nf-detail h3{letter-spacing:.04em;color:#d8d2c2}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) #naval-window.bice-navy button{background:linear-gradient(#333331,#252523)!important;border:1px solid #626059!important;box-shadow:inset 0 1px #8e8c8433!important;color:#cec9ba!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) #naval-window.bice-navy button[aria-pressed=true]{background:linear-gradient(#4d4e4b,#383835)!important;border-color:#a1ba72!important;box-shadow:inset 3px 0 #bfbcb4!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) #production-workbench .pr-overview{display:flex!important;align-items:center;justify-content:space-between;gap:12px;padding:10px 0}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) #production-workbench .pr-overview h3{font-size:19px;margin:4px 0}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) #production-workbench .pr-overview p{font-size:11px;margin:4px 0;color:#b3b2ad}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) .officer-corps .oc-spirit-badge{border:0!important;background:none!important;box-shadow:none!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) .officer-corps .oc-catalog>button{background:#232421!important;border:1px solid #464645!important;box-shadow:none!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) .officer-corps .oc-catalog>button[aria-pressed="true"]{background:#373836!important;border-color:#c4b893!important;box-shadow:inset 3px 0 #c4b893!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) #officer-corps .oc-national{padding:8px 12px!important;margin-bottom:10px!important;gap:12px!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) #officer-corps .oc-national>svg{width:36px!important;height:36px!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) #officer-corps .oc-national h3{font-size:18px!important;letter-spacing:.1em!important;border:0!important;padding:0!important;margin:4px 0 0!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) #officer-corps .oc-services{gap:8px!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) #officer-corps .oc-service{padding:0!important;margin:0!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) #officer-corps .oc-service-heading{padding:7px 12px!important;min-height:52px!important;gap:12px!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) #officer-corps .oc-service-heading h3{font-size:17px!important;border:0!important;padding:0!important;margin:0 0 4px!important;letter-spacing:.1em!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) #officer-corps .oc-service-heading small{font-size:10px!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) #officer-corps .oc-service-mark{width:38px!important;min-width:38px!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) #officer-corps .oc-service-mark svg{width:32px!important;height:32px!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) #officer-corps .oc-spirit-rail{min-height:88px!important;padding:5px 12px!important;gap:8px!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) #officer-corps .oc-spirit-badge{padding:2px!important;min-height:82px!important;gap:3px!important;flex-basis:104px!important;min-width:104px!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) #officer-corps .oc-spirit-badge>.air-spirit-art,html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) #officer-corps .oc-spirit-badge>.nf-ic{width:48px!important;height:46px!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) #officer-corps .oc-spirit-badge>b{font-size:11px!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) #officer-corps .oc-spirit-badge>small{font-size:10px!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) #officer-corps .oc-empty-slot{min-height:70px!important;gap:8px!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) #officer-corps .oc-empty-slot svg{width:27px!important;height:27px!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) #officer-corps .oc-picker>header{padding:5px 12px!important;min-height:46px!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) #officer-corps .oc-picker>header h3{font-size:17px!important;border:0!important;padding:0!important;margin:0!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) #officer-corps .oc-catalog h4{font-size:11px!important;margin:10px 4px!important;padding:0!important;border:0!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) #officer-corps .oc-detail h3{font-size:19px!important;margin:10px 0!important;padding:0!important;border:0!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) #officer-corps .oc-mods li{padding:5px 0!important;min-height:0!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) #officer-corps .oc-mods [data-good="true"] b{color:#c1beb6!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) #officer-corps .oc-mods [data-good="false"] b{color:#dc9d8b!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) #officer-corps .oc-total{padding:6px 12px!important;margin:10px 0!important}
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) section.nf-window button.nf-spirit,
html[data-scenario="beta-europe-1936"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window) section.nf-window button.nf-spirit:is([aria-pressed=true],:active:not(:disabled)){border:0!important;background:none!important;box-shadow:none!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window,#admiral-window) :is(.tc-primary,.st-primary,button.primary,[data-primary="true"],.adm-go,#officer-confirm,#adm-confirm,.design-primary,.plan-primary,.rw-primary,.nf-primary,.mp-resume):not(:disabled){
 background:var(--iron-plate),linear-gradient(180deg,#a03526,#7a2419 58%,#5e1a11)!important;background-blend-mode:soft-light,normal!important;
 border:1px solid #2a0905!important;color:var(--iron-red-ink)!important;font-weight:700;letter-spacing:.18em;text-shadow:0 1px 0 #0008;
 box-shadow:inset 0 1px 0 #ffffff2e,inset 0 -2px 0 #0000004d,0 0 0 1px #000,0 6px 14px -6px #000!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window,#admiral-window) :is(.tc-primary,.st-primary,button.primary,[data-primary="true"],.adm-go,.nf-primary,.rw-primary,#officer-confirm,#adm-confirm):not(:disabled) *{color:var(--iron-red-ink)!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#admiral-window,#admiral-window) :is(.tc-primary,.st-primary,button.primary,[data-primary="true"],.adm-go,#officer-confirm,#adm-confirm):active:not(:disabled){background:linear-gradient(180deg,#6e2117,#561910)!important}
/* ── staff/00-tokens.css ── */
/* STAFF-UI-1 · 参谋部 interface system (default theme).
   A general staff's map room at night: graphite panels with a faint cold sheen,
   one warm brass accent for everything that can be pressed or is selected, cream
   type with a clear three-step hierarchy, and four signal colours that always mean
   the same thing — green organisation, gold strength, red danger, blue information.
   Every rule in this folder is scoped to html[data-ui-theme="staff"]; the older
   themes remain selectable in Settings. Touch first: hit areas ≥ 44 px. */

html[data-ui-theme="staff"]{
 /* surfaces, deepest → raised */
 --st-0:#06080a; --st-1:#0c1013; --st-2:#12171b; --st-3:#192026; --st-4:#212a31; --st-5:#2b353d;
 /* hairlines */
 --st-line:#ffffff10; --st-line-2:#ffffff1c; --st-line-3:#ffffff30;
 /* brass accent */
 --st-gold:#d4b06b; --st-gold-hi:#f0d69f; --st-gold-lo:#7c643a; --st-gold-ink:#1a1307; --st-gold-wash:#d4b06b1a; --st-gold-glow:#d4b06b40;
 /* type */
 --st-text:#ece7db; --st-text-2:#aaa89f; --st-text-3:#72767a;
 /* signals */
 --st-org:#7cc46b; --st-str:#ddb44f; --st-red:#e05a47; --st-red-wash:#e05a4722; --st-blue:#6aa8de; --st-blue-wash:#6aa8de1f; --st-amber:#e8a33d; --st-green-wash:#7cc46b1c;
 /* faces */
 --st-font:-apple-system,"SF Pro Text","PingFang SC","Hiragino Sans GB","Noto Sans CJK SC","Source Han Sans SC","Microsoft YaHei",system-ui,sans-serif;
 --st-title:"Songti SC","STSong","Noto Serif CJK SC","Source Han Serif SC",Georgia,serif;
 --st-num:"SF Pro Display","DIN Alternate","Bahnschrift","Roboto Condensed","Helvetica Neue",-apple-system,sans-serif;
 /* geometry and depth */
 --st-r:8px; --st-r-sm:5px; --st-tap:44px;
 --st-panel:linear-gradient(180deg,#151b20f5 0%,#0e1216f8 38%,#0b0e11fa 100%);
 --st-raised:linear-gradient(180deg,#1b2228,#151b20);
 --st-edge:0 0 0 1px #000000b0,inset 0 0 0 1px var(--st-line-2),inset 0 1px 0 #ffffff0d,0 22px 60px -14px #000000d9;
 --st-lift:0 0 0 1px #000000a0,0 10px 26px -8px #000000c0;
 --st-ease:cubic-bezier(.2,.8,.2,1);

 /* Re-point the shared ATLAS-INK tokens so every module that uses them follows. */
 --ink-0:var(--st-0); --ink-1:var(--st-1); --ink-2:var(--st-2); --ink-3:var(--st-3); --ink-4:#ffffff08;
 --line:var(--st-line-2); --line-hi:var(--st-line-3);
 --brass:var(--st-gold); --brass-hi:var(--st-gold-hi); --brass-lo:var(--st-gold-lo); --brass-glow:var(--st-gold-glow);
 --paper:var(--st-text); --paper-2:var(--st-text-2); --paper-3:var(--st-text-3);
 --go:var(--st-org); --stop:var(--st-red); --warn:var(--st-amber); --info:var(--st-blue);
 --bar-org:var(--st-org); --bar-str:var(--st-str); --bar-bg:#00000080;
 --font-ui:var(--st-font); --font-title:var(--st-title); --font-num:var(--st-num);
 --panel-bg:var(--st-panel); --panel-edge:var(--st-edge); --crop:none; --r:var(--st-r-sm);
 --tc-bg:var(--st-1); --tc-dim:var(--st-text-2);
 background:var(--st-0);
}

/* ── staff/10-chrome.css ── */
/* STAFF-UI-1 · shared chrome: type, controls, panels, scrollbars, top bar.
   Selector prefix: html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui (one class
   heavier than the ATLAS-INK base, so these win without !important wherever the base is plain). */

/* ───────── type ───────── */
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui{font-family:var(--st-font);color:var(--st-text);letter-spacing:.01em;-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui :is(small,.muted){color:var(--st-text-2)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui :is(h2,h3){font-family:var(--st-title);font-weight:700;letter-spacing:.06em;color:var(--st-text)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui :focus-visible{outline:2px solid var(--st-gold-hi);outline-offset:2px}

/* ───────── controls ───────── */
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui :is(button,select,input:not([type="checkbox"],[type="radio"],[type="range"])){
 font-family:var(--st-font);border-radius:var(--st-r-sm);border:1px solid var(--st-line-2);background:linear-gradient(180deg,#20282f,#192026);color:var(--st-text);
 box-shadow:inset 0 1px 0 #ffffff0c,0 1px 2px #0007;text-shadow:none;transition:background .14s var(--st-ease),border-color .14s var(--st-ease),color .14s,box-shadow .14s,transform .08s}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui button:hover:not(:disabled){border-color:var(--st-line-3);background:linear-gradient(180deg,#27313a,#1d252c)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui button:active:not(:disabled){transform:translateY(1px);background:#151b20}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui :is(button[aria-pressed="true"],button.active,button[aria-checked="true"],button[aria-selected="true"]){
 background:linear-gradient(180deg,#3a3121,#2a2318);border-color:var(--st-gold-lo);color:var(--st-gold-hi);box-shadow:inset 0 -2px 0 var(--st-gold),inset 0 1px 0 #ffffff10}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui button:disabled{opacity:.42;filter:saturate(.3);cursor:not-allowed}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui :is(input:not([type="checkbox"],[type="radio"],[type="range"]),select){background:#090c0f;border-color:var(--st-line-2);box-shadow:inset 0 1px 3px #000c}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui :is(input,select):focus{border-color:var(--st-gold-lo)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .hoi-icon{color:inherit}
/* the one primary action of a sheet */
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui :is(.tc-primary,.st-primary,button.primary,[data-primary="true"]):not(:disabled){
 background:linear-gradient(180deg,#e2c27f,#c49d55 60%,#a9853f);border-color:#f3dca6;color:var(--st-gold-ink);font-weight:700;box-shadow:0 0 0 1px #000a,inset 0 1px 0 #fff7,0 6px 16px -6px var(--st-gold-glow)}

/* ───────── tables & disclosures ───────── */
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui th{background:#0a0d10;color:var(--st-text-2);font-weight:600;font-size:12px;letter-spacing:.08em}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui td{border-bottom:1px solid var(--st-line)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui summary{color:var(--st-text)}

/* ───────── scrollbars ───────── */
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui *{scrollbar-width:thin;scrollbar-color:#ffffff2a transparent}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui ::-webkit-scrollbar{width:6px;height:6px}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui ::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui ::-webkit-scrollbar-track{background:transparent}

/* ───────── floating surfaces: one panel language for every window and HUD element ───────── */
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui :is(.tc-panel,.tc-tray,.tc-commands,.tc-pop,.tc-sheet,.tc-inspect,.tc-banner,.tc-toast,.ui-sidebar,.ui-notice,.hoi-commanders,.hoi-map-modes,.atlas-map-switch){
 background:var(--st-panel);border:0;border-radius:var(--st-r);box-shadow:var(--st-edge)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui :is(.rw-window,.nf-window,#air-window,#naval-window,#corps-window,#politics-window,.nav-sea-reading){
 background:var(--st-panel)!important;border:0!important;border-radius:var(--st-r)!important;box-shadow:var(--st-edge)!important}

/* window header: eyebrow + serif title, hairline under it */
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar>header{background:linear-gradient(180deg,#1a2127,#12171b);border-bottom:1px solid var(--st-line-2);box-shadow:inset 0 -1px 0 #000;border-radius:var(--st-r) var(--st-r) 0 0}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar>header h2{font:700 21px/1.1 var(--st-title);letter-spacing:.14em;color:var(--st-text)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar>header .atlas-panel-title .hoi-icon{color:var(--st-gold)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui :is(#ui-close,.ui-back,.tc-x,.sr-clear){color:var(--st-text-2)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui :is(#ui-close,.tc-x,.sr-clear):hover{color:var(--st-text)}

/* ───────── top bar ───────── */
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .hoi-top{background:linear-gradient(180deg,#141a1f 0%,#0d1114 100%);border-bottom:1px solid #000;box-shadow:inset 0 -1px 0 var(--st-line-2),0 10px 28px -6px #000c}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .hoi-top::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--st-gold-lo) 18%,var(--st-gold) 50%,var(--st-gold-lo) 82%,transparent);opacity:.7;pointer-events:none}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .hoi-country{background:linear-gradient(90deg,#1a2127,#12171b)!important;border-right:1px solid var(--st-line-2)!important}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .hoi-country b{font:700 22px/1.1 var(--st-title);letter-spacing:.16em}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .hoi-country small{color:var(--st-gold);letter-spacing:.18em}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .hoi-national{border-bottom:1px solid var(--st-line)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .hoi-national button{border-right:1px solid var(--st-line)!important;color:var(--st-text-3)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .hoi-national button:hover{background:#ffffff08!important}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .hoi-national .hoi-icon{color:var(--st-gold);opacity:.85}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .hoi-national button b{font:600 18px/1 var(--st-num);color:var(--st-text)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .hoi-management{gap:2px;padding:3px 6px}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .hoi-management>button{background:none;border:1px solid transparent;box-shadow:none;color:var(--st-text-2);border-radius:var(--st-r-sm)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .hoi-management>button:hover:not(:disabled){background:#ffffff0a;border-color:transparent;color:var(--st-text)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .hoi-management>button .hoi-icon{color:var(--st-gold);opacity:.9}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .hoi-management>button span{letter-spacing:.1em}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .hoi-management>button:is([aria-pressed="true"],.active){background:linear-gradient(180deg,#d4b06b26,#d4b06b0a);border-color:#d4b06b55;color:var(--st-gold-hi);box-shadow:inset 0 -2px 0 var(--st-gold)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .hoi-top>:is(.hoi-events,.hoi-alert){border-left:1px solid var(--st-line);color:var(--st-text-2)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .hoi-time{background:linear-gradient(180deg,#181f25,#0f1317)!important;border-left:1px solid var(--st-line-2)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .hoi-time>strong{font:700 20px/1 var(--st-title);letter-spacing:.06em}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .hoi-time>span[role=status]{color:var(--st-gold)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui #campaign-toggle{background:radial-gradient(circle at 50% 30%,#f2d9a0,#d0aa61 55%,#8d7040);border:1px solid #f6e3b4;color:var(--st-gold-ink);box-shadow:0 0 0 3px #00000099,0 0 0 4px #d4b06b44,0 6px 16px #000b,inset 0 2px 0 #fff8}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .hoi-time .time-speeds button{background:#090c0f;border:1px solid var(--st-line);color:var(--st-text-3);border-radius:4px;box-shadow:none}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .hoi-time .time-speeds button[aria-pressed="true"]{background:linear-gradient(180deg,#e6c887,#c49d55);border-color:#f3dca6;color:var(--st-gold-ink);box-shadow:0 0 12px var(--st-gold-glow)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui #campaign-save{color:var(--st-gold)}

/* ───────── long-press explanation bubble (src/ui/longPressTip.ts) ───────── */
.st-tip{position:fixed;z-index:10000;max-width:min(320px,calc(100vw - 16px));padding:8px 12px;border-radius:6px;background:#0b0e11f7;color:#ece7db;font:500 13px/1.45 -apple-system,"PingFang SC","Noto Sans CJK SC",system-ui,sans-serif;letter-spacing:.02em;box-shadow:0 0 0 1px #d4b06b66,0 10px 28px #000c;pointer-events:none;animation:st-tip .14s ease-out}
.st-tip::after{content:"";position:absolute;left:50%;bottom:-5px;width:10px;height:10px;margin-left:-5px;background:inherit;transform:rotate(45deg);box-shadow:1px 1px 0 #d4b06b66}
.st-tip[data-below="true"]::after{bottom:auto;top:-5px;box-shadow:-1px -1px 0 #d4b06b66}
@keyframes st-tip{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
html body .command-ui.hoi-ui :is(button,[role="button"]){-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}

/* ───────── checkboxes: a clear check square ───────── */
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui input[type="checkbox"]{-webkit-appearance:none;appearance:none;flex:none;width:24px;height:24px;margin:0;border-radius:5px;border:1.5px solid #d4b06b99;background:#090c0f center/16px 16px no-repeat;box-shadow:inset 0 1px 3px #000c;cursor:pointer;transition:background-color .12s,border-color .12s}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui input[type="checkbox"]:checked{background-color:#d4b06b;border-color:#f0d69f;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5 6.5 12 13 4.5' fill='none' stroke='%231a1307' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui input[type="checkbox"]:disabled{opacity:.4}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui input[type="checkbox"]:not([hidden]){width:24px;height:24px;border-radius:5px;position:relative}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui input[type="checkbox"]:not([hidden])::after{display:none}

/* historical photographs for officers and admirals */
.officer-face.officer-photo,.adm-photo{display:inline-block;background-color:#1a1510;background-size:cover!important;background-position:50% 18%!important;background-repeat:no-repeat}
.officer-face.officer-nophoto,.adm-photo.officer-nophoto{background-color:#1c2126!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 76'%3E%3Cpath d='M30 18c7 0 11 5 11 12s-4 14-11 14-11-7-11-14 4-12 11-12Zm-22 58c1-14 10-22 22-22s21 8 22 22Z' fill='%23ffffff22'/%3E%3C/svg%3E")!important;background-size:cover!important;background-position:center!important}

/* ── staff/20-roster.css ── */
/* STAFF-UI-1 · selected-forces roster (src/playable/touch/roster.ts).
   A left column under the top bar: header, aggregate meters, tools, then divisions
   grouped by army. Layout is theme-independent (the roster replaces the old tray in
   every theme); colours fall back to ATLAS-INK tokens outside the staff theme. */

html body .command-ui.hoi-ui .tc-tray.sr-roster,html.touch-shell body .command-ui.hoi-ui .tc-tray.sr-roster{
 --sr-gold:var(--st-gold,var(--brass,#c9a35a));--sr-text:var(--st-text,var(--paper,#ece4cd));--sr-dim:var(--st-text-2,var(--paper-2,#b8b4a4));--sr-faint:var(--st-text-3,var(--paper-3,#7d8a8d));
 --sr-org:var(--st-org,#7fbf5f);--sr-str:var(--st-str,#e0c36a);--sr-red:var(--st-red,#d4573f);--sr-line:var(--st-line,#ffffff12);--sr-line-2:var(--st-line-2,#ffffff1f);
 position:absolute;left:calc(10px + var(--tc-safe-l,0px));top:calc(88px + var(--tc-safe-t,0px));bottom:calc(76px + var(--tc-safe-b,0px));right:auto;
 width:304px;min-width:0;max-width:calc(100vw - 20px);padding:0;display:flex;flex-direction:column;gap:0;overflow:hidden;z-index:30;pointer-events:auto;
 animation:sr-in .22s var(--st-ease,ease-out)}
@keyframes sr-in{from{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:none}}
html body .command-ui.hoi-ui .tc-tray.sr-roster[data-single="true"],html.touch-shell body .command-ui.hoi-ui .tc-tray.sr-roster[data-single="true"]{bottom:auto;max-height:calc(100dvh - 88px - 76px - var(--tc-safe-t,0px) - var(--tc-safe-b,0px))}

/* header: count + icon tools + clear, one row */
html body .command-ui.hoi-ui .sr-roster .sr-head{display:flex;align-items:center;gap:6px;padding:8px 6px 8px 10px;border-bottom:1px solid var(--sr-line)}
html body .command-ui.hoi-ui .sr-roster .sr-total{flex:none;display:inline-flex;align-items:center;gap:5px;padding:0 6px 0 2px;color:var(--sr-gold)}
html body .command-ui.hoi-ui .sr-roster .sr-total .hoi-icon{width:20px;height:20px}
html body .command-ui.hoi-ui .sr-roster .sr-total b{font:700 22px/1 var(--st-num,var(--font-num,sans-serif));color:var(--sr-text)}
html body .command-ui.hoi-ui .sr-roster .sr-clear{flex:none;width:34px;height:38px;min-height:0;padding:0;display:grid;place-items:center;background:none!important;border:1px solid transparent!important;box-shadow:none!important}
html body .command-ui.hoi-ui .sr-roster .sr-clear .hoi-icon{width:18px;height:18px}
html body .command-ui.hoi-ui .sr-roster .sr-tools{flex:1;display:flex;justify-content:flex-end;gap:2px;padding:0;border:0;min-width:0}
html body .command-ui.hoi-ui .sr-roster .sr-tools .tc-tool{position:relative;flex:none;width:36px;height:38px;min-width:0;min-height:0;padding:0;display:grid;place-items:center}
html body .command-ui.hoi-ui .sr-roster .sr-tools .tc-tool :is(.hoi-icon,svg){width:20px;height:20px}
html body .command-ui.hoi-ui .sr-roster .sr-tools .tc-tool span{display:none}
html body .command-ui.hoi-ui .sr-roster .sr-tools .tc-tool .st-count{position:absolute;right:-3px;top:-3px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;font:700 10px/16px var(--st-num,sans-serif);font-style:normal;background:var(--sr-gold);color:#1a1307}

/* meters (shared by summary, rows and the sheet) */
html body .command-ui.hoi-ui .sr-roster .sr-meter{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:6px;min-width:0}
html body .command-ui.hoi-ui .sr-roster .sr-meter em{font-style:normal;font-size:11px;color:var(--sr-faint);letter-spacing:.06em;white-space:nowrap}
html body .command-ui.hoi-ui .sr-roster .sr-meter b{font:600 12px/1 var(--st-num,var(--font-num,sans-serif));color:var(--sr-text);white-space:nowrap;text-align:right}
html body .command-ui.hoi-ui .sr-roster .sr-track{display:block;position:relative;height:5px;border-radius:3px;background:#00000099;box-shadow:inset 0 0 0 1px #ffffff0a;overflow:hidden}
html body .command-ui.hoi-ui .sr-roster .sr-track i{position:absolute;inset:0 auto 0 0;border-radius:inherit;transition:width .3s var(--st-ease,ease)}
html body .command-ui.hoi-ui .sr-roster .sr-meter[data-kind="org"] .sr-track i{background:linear-gradient(90deg,#4f8f44,var(--sr-org));box-shadow:0 0 6px #7cc46b55}
html body .command-ui.hoi-ui .sr-roster .sr-meter[data-kind="str"] .sr-track i{background:linear-gradient(90deg,#9c7b2f,var(--sr-str));box-shadow:0 0 6px #ddb44f44}
html body .command-ui.hoi-ui .sr-roster .sr-meter[data-low="true"] .sr-track i{background:linear-gradient(90deg,#8e2f22,var(--sr-red))}
html body .command-ui.hoi-ui .sr-roster .sr-meter[data-low="true"] b{color:#f19a8a}

/* aggregate: two bars with numbers, warning chips */
html body .command-ui.hoi-ui .sr-roster .sr-sum{display:flex;align-items:center;gap:12px;padding:8px 12px;border-bottom:1px solid var(--sr-line);background:#00000026}
html body .command-ui.hoi-ui .sr-roster .sr-sum-cell{flex:1;min-width:0;display:flex;align-items:center;gap:7px}
html body .command-ui.hoi-ui .sr-roster .sr-sum-cell .sr-meter{flex:1}
html body .command-ui.hoi-ui .sr-roster .sr-sum-cell b{font:600 13px/1 var(--st-num,sans-serif);color:var(--sr-text);white-space:nowrap}
html body .command-ui.hoi-ui .sr-roster .sr-flags{display:flex;gap:4px}
html body .command-ui.hoi-ui .sr-roster .sr-flags span{display:inline-flex;align-items:center;gap:3px;height:22px;padding:0 7px;border-radius:11px;font:600 11.5px/1 var(--st-num,sans-serif)}
html body .command-ui.hoi-ui .sr-roster .sr-flags span .hoi-icon{width:13px;height:13px}
html body .command-ui.hoi-ui .sr-roster .sr-flags [data-tone="warn"]{background:#e8a33d1f;color:#f0c27a}
html body .command-ui.hoi-ui .sr-roster .sr-meter.sr-bare{display:block}
html body .command-ui.hoi-ui .sr-roster .sr-bare .sr-track{height:5px}

/* list */
html body .command-ui.hoi-ui .sr-roster .sr-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding:4px 0 8px}
html body .command-ui.hoi-ui .sr-roster .sr-group>header{position:sticky;top:-4px;z-index:2;display:flex;align-items:center;gap:9px;padding:6px 8px 6px 10px;background:linear-gradient(180deg,#141a1ff2,#11161af2);border-bottom:1px solid var(--sr-line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
html body .command-ui.hoi-ui .sr-roster .sr-face{flex:none;width:30px;height:38px;min-height:0;padding:0;display:grid;place-items:center;border:0!important;background:#ffffff0d!important;border-radius:3px;box-shadow:0 0 0 1px #000,0 0 0 2px #d4b06b40!important;overflow:hidden;color:var(--sr-faint)}
html body .command-ui.hoi-ui .sr-roster .sr-face .officer-face{width:30px;height:38px;border:0;border-radius:0;box-shadow:none!important}
html body .command-ui.hoi-ui .sr-roster .sr-face .hoi-icon{width:18px;height:18px}
html body .command-ui.hoi-ui .sr-roster .sr-group>header div{flex:1;min-width:0;display:flex;flex-direction:column}
html body .command-ui.hoi-ui .sr-roster .sr-group>header b{font-size:13px;color:var(--sr-text);letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body .command-ui.hoi-ui .sr-roster .sr-group>header small{font-size:11px;color:var(--sr-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body .command-ui.hoi-ui .sr-roster .sr-group>header em{font-style:normal;font:700 12px/1 var(--st-num,sans-serif);color:var(--sr-gold);min-width:24px;padding:5px 7px;border-radius:10px;background:#d4b06b17;text-align:center}
html body .command-ui.hoi-ui .sr-roster .sr-icon{flex:none;width:34px;height:34px;min-height:0;padding:0;display:grid;place-items:center;background:none!important;border:0!important;box-shadow:none!important;color:var(--sr-dim)}
html body .command-ui.hoi-ui .sr-roster .sr-icon .hoi-icon{width:18px;height:18px}

html body .command-ui.hoi-ui .sr-roster .sr-row{position:relative;display:flex;align-items:stretch;margin:3px 6px 0;border-radius:5px;background:linear-gradient(180deg,#ffffff07,#ffffff02);box-shadow:inset 0 0 0 1px var(--sr-line)}
html body .command-ui.hoi-ui .sr-roster .sr-row[data-low="true"]{box-shadow:inset 0 0 0 1px #e05a4744}
html body .command-ui.hoi-ui .sr-roster .sr-row[data-engaged="true"]{box-shadow:inset 0 0 0 1px #e05a4766;background:linear-gradient(180deg,#e05a4714,#ffffff02)}
html body .command-ui.hoi-ui .sr-roster .sr-main{flex:1;min-width:0;min-height:48px;padding:6px 6px 6px 8px;display:grid;grid-template-columns:34px minmax(0,1fr) auto auto;grid-template-rows:auto auto;grid-template-areas:"ctr name doing grade" "ctr meters meters meters";gap:4px 7px;align-items:center;text-align:left;background:none!important;border:0!important;box-shadow:none!important;border-radius:5px 0 0 5px}
html body .command-ui.hoi-ui .sr-roster .sr-main:hover{background:#ffffff08!important}
html body .command-ui.hoi-ui .sr-roster .sr-counter{grid-area:ctr;width:34px;height:24px;padding:2px;border-radius:3px;background:linear-gradient(180deg,#efe6cc,#d6caa8);color:#1b1f22;box-shadow:0 0 0 1px #000,inset 0 0 0 1px #fff6}
html body .command-ui.hoi-ui .sr-roster .sr-name{grid-area:name;min-width:0}
html body .command-ui.hoi-ui .sr-roster .sr-name b{display:block;font-size:13px;line-height:1.2;font-weight:600;color:var(--sr-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body .command-ui.hoi-ui .sr-roster .sr-doing-icon{grid-area:doing;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#ffffff0d;color:var(--sr-dim)}
html body .command-ui.hoi-ui .sr-roster .sr-doing-icon .hoi-icon{width:13px;height:13px}
html body .command-ui.hoi-ui .sr-roster .sr-doing-icon:is([data-kind="attack"]){background:#e05a4733;color:#f39a8b}
html body .command-ui.hoi-ui .sr-roster .sr-doing-icon:is([data-kind="move"],[data-kind="navy"]){background:#6aa8de2e;color:#a9cdee}
html body .command-ui.hoi-ui .sr-roster .sr-doing-icon:is([data-kind="retreat"],[data-kind="supply"]){background:#e8a33d2e;color:#f0c27a}
html body .command-ui.hoi-ui .sr-roster .sr-doing-icon:is([data-kind="refit"],[data-kind="train"]){background:#7cc46b24;color:#a7d99b}
html body .command-ui.hoi-ui .sr-roster .sr-main>.sr-grade{grid-area:grade}
html body .command-ui.hoi-ui .sr-roster .sr-meters{grid-area:meters;display:grid;grid-template-columns:1fr 1fr;gap:6px}
html body .command-ui.hoi-ui .sr-roster .sr-meters .sr-track{height:4px}
html body .command-ui.hoi-ui .sr-roster .sr-x{flex:none;width:32px;min-height:0;padding:0;display:grid;place-items:center;background:none!important;border:0!important;border-left:1px solid var(--sr-line)!important;border-radius:0 5px 5px 0!important;box-shadow:none!important;color:var(--sr-faint)}
html body .command-ui.hoi-ui .sr-roster .sr-x .hoi-icon{width:13px;height:13px}
html body .command-ui.hoi-ui .sr-roster .sr-x:hover{color:var(--sr-red)}

/* proficiency: five ticks */
html body .command-ui.hoi-ui .sr-roster .sr-grade{display:inline-flex;gap:2px;align-items:center}
html body .command-ui.hoi-ui .sr-roster .sr-grade i{width:4px;height:9px;border-radius:1px;background:#ffffff1a;transform:skewX(-14deg)}
html body .command-ui.hoi-ui .sr-roster .sr-grade i.on{background:var(--sr-gold);box-shadow:0 0 4px #d4b06b66}
html body .command-ui.hoi-ui .sr-roster .sr-grade[data-grade="elite"] i.on{background:#f3dca6}

/* single-division sheet */
html body .command-ui.hoi-ui .sr-roster .sr-sheet{display:flex;flex-direction:column;gap:12px;padding:12px 14px 14px}
html body .command-ui.hoi-ui .sr-roster .sr-sheet-head{display:flex;gap:12px;align-items:center}
html body .command-ui.hoi-ui .sr-roster .sr-big{flex:none;width:64px;height:48px;min-height:0;padding:0;display:grid;place-items:center;border-radius:5px!important}
html body .command-ui.hoi-ui .sr-roster .sr-big .sr-counter{width:58px;height:42px}
html body .command-ui.hoi-ui .sr-roster .sr-sheet-head>div{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left}
html body .command-ui.hoi-ui .sr-roster .sr-sheet-head b{font:700 17px/1.2 var(--st-title,serif);letter-spacing:.04em;color:var(--sr-text)}
html body .command-ui.hoi-ui .sr-roster .sr-sheet-head small{font-size:12px;color:var(--sr-dim)}
html body .command-ui.hoi-ui .sr-roster .sr-doing{align-self:flex-start;margin-top:2px;padding:2px 8px;border-radius:10px;font-size:11.5px;background:#6aa8de1c;color:#a9cdee}
html body .command-ui.hoi-ui .sr-roster .sr-vitals{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-radius:6px;background:#0000002e;box-shadow:inset 0 0 0 1px var(--sr-line)}
html body .command-ui.hoi-ui .sr-roster .sr-vitals .sr-meter{grid-template-columns:52px 1fr auto}
html body .command-ui.hoi-ui .sr-roster .sr-vitals .sr-track{height:7px}
html body .command-ui.hoi-ui .sr-roster .sr-vitals .sr-meter b{font-size:13px}
html body .command-ui.hoi-ui .sr-roster .sr-vitals .sr-grade i{width:9px;height:9px}
html body .command-ui.hoi-ui .sr-roster .sr-note{margin:0;font-size:11.5px;line-height:1.5;color:var(--sr-dim)}
html body .command-ui.hoi-ui .sr-roster .sr-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;border-radius:6px;overflow:hidden;background:var(--sr-line);box-shadow:inset 0 0 0 1px var(--sr-line)}
html body .command-ui.hoi-ui .sr-roster .sr-stats div{display:flex;flex-direction:column;gap:3px;padding:8px 10px;background:#0e1215}
html body .command-ui.hoi-ui .sr-roster .sr-stats small{font-size:10.5px;color:var(--sr-faint);letter-spacing:.1em}
html body .command-ui.hoi-ui .sr-roster .sr-stats b{font:600 16px/1 var(--st-num,sans-serif);color:var(--sr-text)}
html body .command-ui.hoi-ui .sr-roster .sr-officer{display:flex;gap:12px;align-items:center;padding:10px 12px;border-radius:6px;background:linear-gradient(90deg,#d4b06b14,transparent 70%);box-shadow:inset 0 0 0 1px #d4b06b26}
html body .command-ui.hoi-ui .sr-roster .sr-officer .officer-face{flex:none;width:46px;height:58px;border-radius:4px;background-size:800% 400%;box-shadow:0 0 0 1px #000,0 0 0 2px #d4b06b55}
html body .command-ui.hoi-ui .sr-roster .sr-officer .officer-face.officer-face-additional{background-size:400% 400%}
html body .command-ui.hoi-ui .sr-roster .sr-officer .officer-face.vacant{display:grid;place-items:center;background:#ffffff0d;color:var(--sr-faint)}
html body .command-ui.hoi-ui .sr-roster .sr-officer>div{min-width:0;display:flex;flex-direction:column;gap:2px}
html body .command-ui.hoi-ui .sr-roster .sr-officer small{font-size:11px;color:var(--sr-gold);letter-spacing:.08em}
html body .command-ui.hoi-ui .sr-roster .sr-officer b{font-size:14.5px;color:var(--sr-text)}
html body .command-ui.hoi-ui .sr-roster .sr-officer span{font-size:11.5px;color:var(--sr-dim)}
html body .command-ui.hoi-ui .sr-roster .sr-sheet-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:0;margin:0;background:none;border:0;box-shadow:none}
html body .command-ui.hoi-ui .sr-roster .sr-sheet-actions button{height:44px;white-space:nowrap;min-height:0;padding:0 6px;display:flex;align-items:center;justify-content:center;gap:6px;font-size:12.5px}
html body .command-ui.hoi-ui .sr-roster .sr-sheet-actions .hoi-icon{width:16px;height:16px}

html body .command-ui.hoi-ui .sr-roster .sr-group>header .officer-face.officer-face-additional{background-size:400% 400%}

/* the alert strip steps aside while the roster is open */
html body.has-roster .command-ui.hoi-ui .national-alert-strip{left:calc(326px + var(--tc-safe-l,0px))}

/* idle tray: a compact tool pill bottom-left */
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .tc-tray.tc-empty{padding:6px;gap:4px;border-radius:var(--st-r)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .tc-tray.tc-empty p{font-size:12px;color:var(--st-text-2);max-width:240px;line-height:1.35}

@media (max-width:900px){
 html body .command-ui.hoi-ui .tc-tray.sr-roster,html.touch-shell body .command-ui.hoi-ui .tc-tray.sr-roster{width:300px;bottom:calc(140px + var(--tc-safe-b,0px))}
 html body.has-roster .command-ui.hoi-ui .national-alert-strip{left:calc(318px + var(--tc-safe-l,0px))}
}

/* ── staff/30-fleets.css ── */
/* STAFF-UI-1 · fleet tokens on the map (src/playable/navalMap.ts). Theme-independent. */
#eastfront-map .fleet-token{cursor:pointer;filter:drop-shadow(0 2px 3px #000c)}
#eastfront-map .fleet-token text{font-family:-apple-system,"PingFang SC","Noto Sans CJK SC",system-ui,sans-serif;pointer-events:none}
#eastfront-map .fleet-token:hover .ft-plate{stroke-opacity:1}
#eastfront-map .fleet-token[data-selected="true"]{filter:drop-shadow(0 0 6px #d4b06b99) drop-shadow(0 2px 3px #000c)}
#eastfront-map .fleet-token .ft-wake{transform-box:fill-box;transform-origin:center;animation:ft-wake 1.8s ease-out infinite}
@keyframes ft-wake{from{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(1.9)}}
@media (prefers-reduced-motion:reduce){#eastfront-map .fleet-token .ft-wake{animation:none}}

/* ── staff/40-construction.css ── */
/* STAFF-UI-1 · construction (src/playable/constructionProvince.ts, .c3 markup). Icon first: capacity as a
   coloured bar with numbers, project kinds and map tools as glyphs, one-tap ＋ per province, compact queue. */
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3{gap:12px}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3>.management-heading{display:none}
/* capacity */
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-capacity{display:flex;flex-direction:column;gap:9px;padding:12px 14px;border-radius:var(--st-r);background:linear-gradient(180deg,#1a2126,#12171b);box-shadow:inset 0 0 0 1px var(--st-line-2),inset 0 1px 0 #ffffff0a}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-cap-head{display:flex;align-items:center;gap:18px}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-cap-title{display:inline-flex;align-items:center;gap:8px;color:var(--st-gold)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-cap-title .hoi-icon{width:24px;height:24px}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-cap-title b{font:600 28px/1 var(--st-num);color:var(--st-text)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-cap-title em{font:500 16px/1 var(--st-num);font-style:normal;color:var(--st-text-3)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-chips{display:flex;gap:6px}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-chip{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:13px;background:#ffffff0a}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-chip i{width:10px;height:10px;border-radius:2px}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-chip b{font:600 13px/1 var(--st-num);color:var(--st-text)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-cap-rule{margin-left:auto;display:inline-flex;align-items:center;gap:5px;font:600 13px/1 var(--st-num);color:var(--st-text-2)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-cap-rule .hoi-icon{width:16px;height:16px;color:var(--st-text-3)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-cap-rule small{font-size:11px;color:var(--st-text-3)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-cap-rule i{width:1px;height:14px;margin:0 6px;background:var(--st-line-2)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-cap-bar{display:flex;gap:2px;height:10px;border-radius:5px;overflow:hidden;background:#00000080;box-shadow:inset 0 0 0 1px #ffffff0a}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 :is(.c3-cap-bar,.c3-chip) i.alloc{background:linear-gradient(180deg,#e9cd8f,#c39d55)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 :is(.c3-cap-bar,.c3-chip) i.idle{background:repeating-linear-gradient(135deg,#e8a33d 0 3px,#e8a33d55 3px 6px)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 :is(.c3-cap-bar,.c3-chip) i.consumer{background:#6aa8de}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-cap-bar i.off{background:#ffffff14}
/* columns */
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-body{grid-template-columns:minmax(330px,.9fr) minmax(0,1.1fr);gap:14px;align-items:start}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 :is(.c2-provinces,.c2-queue){gap:9px;padding:12px;border-radius:var(--st-r);background:#0000002e;box-shadow:inset 0 0 0 1px var(--st-line)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-queue{max-height:none;overflow:visible}
/* kinds + tools */
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-kinds{display:grid!important;grid-template-columns:1fr 1fr 52px;gap:6px;padding:0;background:none;border:0;box-shadow:none}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-kind{display:flex!important;align-items:center;gap:10px;height:56px!important;min-height:0;padding:0 14px!important;border-radius:var(--st-r-sm)!important}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-kind .hoi-icon{flex:none;width:36px;height:36px;padding:7px;border-radius:50%;background:#00000059;box-shadow:inset 0 0 0 1px var(--st-line-2);color:var(--st-gold)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-kind b{font-size:14.5px;color:var(--st-text);white-space:nowrap}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-kind[aria-pressed="true"] .hoi-icon{background:linear-gradient(180deg,#ecd29a,#c6a05a);color:var(--st-gold-ink);box-shadow:0 0 12px var(--st-gold-glow)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-kind[aria-pressed="true"] b{color:var(--st-gold-hi)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-tools{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:5px;padding:0;background:none;border:0;box-shadow:none}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-tool{position:relative;height:44px!important;min-height:0;min-width:0;padding:0!important;display:grid!important;place-items:center;border-radius:var(--st-r-sm)!important}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-tool .hoi-icon{width:22px;height:22px;color:var(--st-text-2)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-tool em{position:absolute;right:3px;top:2px;font:700 11px/1 var(--st-num);font-style:normal;color:var(--st-gold)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-tool[aria-pressed="true"] .hoi-icon{color:var(--st-gold-hi)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-map-pick{height:56px!important}
/* filter */
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-filter{display:flex;align-items:center;gap:5px;padding:0;background:none;border:0;box-shadow:none}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-filter button{flex:none;min-height:32px;height:32px;padding:0 12px;border-radius:16px;font-size:12px;background:#ffffff08;border:1px solid var(--st-line-2);box-shadow:none;color:var(--st-text-2)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-filter button[aria-pressed="true"]{background:#d4b06b24;border-color:#d4b06b77;color:var(--st-gold-hi);box-shadow:none}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-filter-count{margin-left:auto;font:600 14px/1 var(--st-num);color:var(--st-text)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-filter-count small{font-size:11px;color:var(--st-text-3)}
/* picked province */
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-detail{gap:9px;padding:10px 12px;border:0;border-radius:var(--st-r-sm);background:linear-gradient(90deg,#d4b06b14,#ffffff05);box-shadow:inset 0 0 0 1px #d4b06b33}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-detail header{display:flex;align-items:center;gap:10px}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-detail header>b{font:700 17px/1.1 var(--st-title);letter-spacing:.06em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-stats{flex:1;display:flex;justify-content:flex-end;gap:12px}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-stats span{display:inline-flex;align-items:center;gap:4px;color:var(--st-text-3)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-stats .hoi-icon{width:15px;height:15px}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-stats b{font:600 13px/1 var(--st-num);color:var(--st-text)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-icon-btn{flex:none;width:38px;height:38px;min-height:0;padding:0;display:grid;place-items:center}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-icon-btn .hoi-icon{width:18px;height:18px}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-detail .c2-why{display:flex;align-items:center;gap:6px;margin:0;font-size:12px}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-detail .c2-why .hoi-icon{width:14px;height:14px;flex:none}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-build{min-height:50px;border-radius:var(--st-r-sm)!important;background:linear-gradient(180deg,#e2c27f,#c49d55 60%,#a9853f)!important;border:1px solid #f3dca6!important;color:var(--st-gold-ink)!important;box-shadow:0 0 0 1px #000a,inset 0 1px 0 #fff7!important}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-build .hoi-icon{color:var(--st-gold-ink)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-build small{color:#1a1307b3!important}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-build:disabled{background:#ffffff0a!important;border-color:var(--st-line-2)!important;color:var(--st-text-3)!important;box-shadow:none!important}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-build:disabled :is(small,.hoi-icon){color:var(--st-text-3)!important}
/* province rows */
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-plist{gap:5px;max-height:460px;padding:2px}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-site{display:grid;grid-template-columns:minmax(0,1fr) auto 48px;align-items:stretch;border-radius:var(--st-r-sm);background:linear-gradient(180deg,#ffffff08,#ffffff03);box-shadow:inset 0 0 0 1px var(--st-line)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-site.picked{box-shadow:inset 0 0 0 1px #d4b06b88,0 0 0 1px #000;background:linear-gradient(90deg,#d4b06b1a,#ffffff05)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-site[data-blocked="true"]{opacity:.55}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-province{grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"name meta" "slots slots" "why why"!important;gap:5px 10px!important;min-height:50px;padding:8px 10px!important;background:none!important;border:0!important;box-shadow:none!important;border-radius:var(--st-r-sm) 0 0 var(--st-r-sm)!important;text-align:left}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-province:hover{background:#ffffff06!important}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-pname b{font-size:14px;color:var(--st-text)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-capital{font-style:normal;color:var(--st-gold);margin-right:4px}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-site-meta{grid-area:meta;display:flex;align-items:center;gap:8px}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-site-meta em{font:600 13px/1 var(--st-num);font-style:normal;color:var(--st-gold-hi)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-site-meta em small{font-size:10.5px;color:var(--st-text-3)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-infra{display:inline-flex;gap:2px}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-infra i{width:7px;height:4px;border-radius:1px;background:#ffffff1c}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-infra i.on{background:var(--st-blue)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-province .c2-why{grid-area:why;display:flex;align-items:center;gap:4px;font-size:11px}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-province .c2-why .hoi-icon{width:12px;height:12px}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-slots{gap:3px}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-slots i{width:13px;height:5px;border:0;border-radius:2px;background:#ffffff14}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-slots i.civ{background:#d9c08a}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-slots i.mil{background:#c9614f}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-slots i.queued{background:repeating-linear-gradient(135deg,#d9c08a 0 2px,transparent 2px 4px);box-shadow:inset 0 0 0 1px #d9c08a66}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-site-cost{display:flex;align-items:center;padding:0 10px}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-site-cost b{font:600 12px/1 var(--st-num);color:var(--st-text-2);white-space:nowrap}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-add{display:grid;place-items:center;width:auto;min-height:0;padding:0;border:0;border-left:1px solid var(--st-line);border-radius:0 var(--st-r-sm) var(--st-r-sm) 0;background:#d4b06b14;box-shadow:none;color:var(--st-gold-hi)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-add span{font:700 20px/1 var(--st-num)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-add:hover:not(:disabled){background:linear-gradient(180deg,#e2c27f,#c49d55);color:var(--st-gold-ink)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-add:disabled{background:none;color:var(--st-text-3)}
/* queue */
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-qhead{display:flex;align-items:center;gap:8px;padding:0 2px 4px;color:var(--st-gold);border:0!important}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-qhead .hoi-icon{width:20px;height:20px}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-qhead b{font:600 18px/1 var(--st-num)!important;letter-spacing:0!important;color:var(--st-text)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-queue-list{display:flex;flex-direction:column;gap:7px}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-row{grid-template-columns:28px 42px minmax(0,1fr) 58px;gap:10px;padding:9px 12px 9px 0!important;border:0!important;border-radius:var(--st-r-sm);background:linear-gradient(180deg,#ffffff09,#ffffff03)!important;box-shadow:inset 0 0 0 1px var(--st-line)!important;overflow:hidden}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-row.paused{opacity:.7;background:repeating-linear-gradient(135deg,#ffffff06 0 8px,transparent 8px 16px)!important}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-rank{align-self:stretch;margin:-9px 0;background:linear-gradient(180deg,#d4b06b33,#d4b06b14)!important;color:var(--st-gold-hi)!important;font:700 13px/1 var(--st-num)!important;border-right:1px solid #d4b06b33}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-row.paused .c2-rank{background:#ffffff0a!important;color:var(--st-text-3)!important}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-locate{width:42px;height:42px;border-radius:50%!important;display:grid;place-items:center;background:#00000059!important;color:var(--st-gold)!important}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-locate .hoi-icon{width:21px;height:21px}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-main{gap:3px}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-main>b{font-size:14px;color:var(--st-text)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-main>small{font-size:11.5px;color:var(--st-text-3)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-main .c2-state{font-size:11px;color:var(--st-text-3)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-bar{position:relative;display:block;height:6px;border-radius:3px;background:#00000080;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff0a}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-bar i{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:linear-gradient(90deg,#a9853f,#ecd29a);box-shadow:0 0 8px #d4b06b66;transition:width .4s var(--st-ease)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-progress span:last-child{font:600 11px/1 var(--st-num);color:var(--st-text-2)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-mods small{border-radius:9px;border-color:#d4b06b44;padding:1px 7px}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-alloc{gap:2px}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-alloc b{font:600 19px/1 var(--st-num);color:var(--st-text)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-alloc>small{font-size:10px;color:var(--st-text-3)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-fbar{width:48px;height:4px;border:0;border-radius:2px;background:#00000080}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-fbar i{background:var(--st-gold);border-radius:2px}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-actions{grid-column:3/-1;display:flex;gap:5px;justify-content:flex-end}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-actions button{width:38px;height:32px;min-height:0;padding:0;font-size:13px}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-actions [data-c2-cancel]:hover{color:var(--st-red);border-color:#e05a4766}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:200px;padding:24px;text-align:center;border-radius:var(--st-r-sm);border:1px dashed var(--st-line-2);color:var(--st-text-3);font-size:13px}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-empty .hoi-icon{width:40px;height:40px;color:var(--st-gold-lo)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-rules>summary{font-size:12px;color:var(--st-text-3)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-rules p{font-size:12px;line-height:1.6;color:var(--st-text-3)}
@media (max-width:1000px){
 html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-body{grid-template-columns:minmax(0,1fr)}
 html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-cap-rule{display:none}
}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-detail header{background:none!important;border:0!important;padding:0!important;box-shadow:none!important}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 :is(.c2-provinces,.c2-queue)>header{background:none!important;border-bottom:0!important}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 :is(.c3-filter-count,.c3-site-meta em){display:inline-flex;align-items:baseline;white-space:nowrap}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-detail .c2-builds{grid-template-columns:1fr 1fr}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-build b{font-size:13.5px;color:var(--st-gold-ink)!important}
/* specialised military plants */
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-specs{display:flex;align-items:center;gap:5px;padding:8px;border-radius:var(--st-r-sm);background:#d4b06b0f;box-shadow:inset 0 0 0 1px #d4b06b2e}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-spec{width:44px;flex:none}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-spec[aria-pressed="true"] .hoi-icon{color:var(--st-gold-ink)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-spec[aria-pressed="true"]{background:linear-gradient(180deg,#ecd29a,#c6a05a)!important;border-color:#f3dca6!important}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-spec-name{margin-left:6px;font-size:13px;font-weight:600;color:var(--st-gold-hi);white-space:nowrap}
/* production lines: specialised plants */
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .pr-spec{display:inline-flex;gap:4px;margin-left:auto;margin-right:8px}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .pr-spec em{font-style:normal;font:700 11.5px/1 var(--st-num);padding:3px 6px;border-radius:8px}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .pr-spec em[data-fit="match"]{background:#7cc46b26;color:#a7d99b}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .pr-spec em[data-fit="off"]{background:#e8a33d26;color:#f0c27a}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .pr-factory-grid i[data-spec-fit="match"]{box-shadow:inset 0 -2px 0 #7cc46b}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .pr-factory-grid i[data-spec-fit="off"]{box-shadow:inset 0 -2px 0 #e8a33d}
/* four building kinds, map placement, building badges */
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-kinds.c3-kinds-4{grid-template-columns:1fr 1fr}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-map-pick-wide{height:40px!important;display:flex!important;gap:8px;justify-content:center}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-map-pick-wide span{font-size:12.5px;color:var(--st-text-2)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-badge{display:inline-flex;align-items:center;gap:1px;margin-left:6px;vertical-align:middle;color:var(--st-blue);font-style:normal}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-badge .hoi-icon{width:14px;height:14px}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-badge b{font:700 10px/1 var(--st-num)}

/* ── staff/50-command.css ── */
/* STAFF-UI-1 · map HUD: verb column, army tiles, map tools, sea-transport banner and port card.
   Icon first — every control is a square glyph with its name in the tooltip and accessible label. */

/* ───────── verb column (right) ───────── */
html.touch-shell body .command-ui.hoi-ui .tc-commands.st-verbs,html body .command-ui.hoi-ui .tc-commands.st-verbs{right:calc(10px + var(--tc-safe-r,0px));top:calc(184px + var(--tc-safe-t,0px));padding:5px;gap:4px;width:auto}
html body .command-ui.hoi-ui .tc-commands.st-verbs>button{position:relative;width:50px;height:50px;min-height:0;min-width:0;padding:0;display:grid;place-items:center;border-radius:var(--st-r-sm,5px)}
html body .command-ui.hoi-ui .tc-commands.st-verbs>button .hoi-icon,html body .command-ui.hoi-ui .tc-commands.st-verbs>button>svg{width:24px;height:24px}
html body .command-ui.hoi-ui .tc-commands.st-verbs>button span{display:none}
html body .command-ui.hoi-ui .tc-commands.st-verbs .st-verb-gap{display:block;height:1px;margin:3px 6px;background:var(--st-line-2,#ffffff1f)}
html[data-ui-theme="staff"] body .command-ui.hoi-ui .tc-commands.st-verbs>button[data-verb="ADVANCE"]{color:#a9cdee}
html[data-ui-theme="staff"] body .command-ui.hoi-ui .tc-commands.st-verbs>button[data-verb="ATTACK"]{color:#f39a8b}
html[data-ui-theme="staff"] body .command-ui.hoi-ui .tc-commands.st-verbs>button[data-verb="SUPPORT"]{color:#f0c27a}
html[data-ui-theme="staff"] body .command-ui.hoi-ui .tc-commands.st-verbs>button[data-verb="RETREAT"]{color:#c8c3b6}
html[data-ui-theme="staff"] body .command-ui.hoi-ui .tc-commands.st-verbs>button[data-verb="SEA"]{color:#8fd0d6}
html[data-ui-theme="staff"] body .command-ui.hoi-ui .tc-commands.st-verbs>button[aria-pressed="true"]{color:var(--st-gold-ink);background:linear-gradient(180deg,#ecd29a,#c6a05a);border-color:#f3dca6;box-shadow:0 0 14px var(--st-gold-glow)}
/* the plan bar keeps its labels but tighter */
html body .command-ui.hoi-ui .tc-commands.tc-planbar>button{min-height:46px}

/* ───────── armed banner ───────── */
html[data-ui-theme="staff"] body .command-ui.hoi-ui .tc-banner{background:var(--st-panel);border:0;box-shadow:var(--st-edge),inset 0 -2px 0 var(--st-gold)}
html body .command-ui.hoi-ui .tc-banner.st-banner{gap:10px;padding:4px 4px 4px 12px}
html body .command-ui.hoi-ui .tc-banner.st-banner>svg{width:26px;height:26px;color:#8fd0d6}
html body .command-ui.hoi-ui .tc-banner.st-banner>b{font:700 20px/1 var(--st-num,sans-serif)}
html body .command-ui.hoi-ui .tc-banner.st-banner>b small{font-size:12px;color:var(--st-text-3,#888)}
html body .command-ui.hoi-ui .st-banner-legend{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;color:var(--st-text-2,#aaa)}
html body .command-ui.hoi-ui .st-banner-legend i{width:12px;height:12px;border-radius:50%;margin-left:6px}
html body .command-ui.hoi-ui .st-banner-legend i[data-port="own"]{background:#2a2312;box-shadow:inset 0 0 0 2px #e6c47d}
html body .command-ui.hoi-ui .st-banner-legend i[data-port="landing"]{background:#3a1410;box-shadow:inset 0 0 0 2px #ef7a66}
html body .command-ui.hoi-ui .tc-banner.st-banner button{width:40px;height:40px;min-height:0;padding:0;font-size:18px}

/* ───────── sea-transport port card ───────── */
html body .command-ui.hoi-ui .tc-pop.st-sea-card{position:fixed;width:256px;padding:0;display:flex;flex-direction:column;overflow:hidden;z-index:60}
html body .command-ui.hoi-ui .st-sea-card header{display:flex;align-items:center;gap:8px;padding:10px 6px 8px 12px;border-bottom:1px solid var(--st-line,#ffffff10)}
html body .command-ui.hoi-ui .st-sea-card header>svg{width:22px;height:22px;flex:none;color:#e6c47d}
html body .command-ui.hoi-ui .st-sea-card[data-landing="true"] header>svg{color:#ef7a66}
html body .command-ui.hoi-ui .st-sea-card header b{font:700 16px/1.1 var(--st-title,serif);letter-spacing:.06em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body .command-ui.hoi-ui .st-sea-card header small{flex:1;font-size:11px;color:var(--st-text-3,#888);white-space:nowrap}
html body .command-ui.hoi-ui .st-sea-card header .tc-x{width:34px;height:34px;min-height:0;padding:0}
html body .command-ui.hoi-ui .st-sea-count{display:flex;gap:16px;padding:10px 14px}
html body .command-ui.hoi-ui .st-sea-count span{display:inline-flex;align-items:center;gap:6px;color:var(--st-gold,#d4b06b)}
html body .command-ui.hoi-ui .st-sea-count span .hoi-icon{width:20px;height:20px}
html body .command-ui.hoi-ui .st-sea-count b{font:700 22px/1 var(--st-num,sans-serif);color:var(--st-text,#eee)}
html body .command-ui.hoi-ui .st-sea-count [data-tone="warn"]{color:var(--st-amber,#e8a33d)}
html body .command-ui.hoi-ui .st-sea-count [data-tone="warn"] b{color:#f0c27a}
html body .command-ui.hoi-ui .st-sea-actions{display:grid;grid-template-columns:48px 1fr;gap:6px;padding:0 10px 10px}
html body .command-ui.hoi-ui .st-sea-actions button{height:46px;min-height:0;padding:0;display:flex;align-items:center;justify-content:center;gap:8px;font-size:15px;font-weight:700}
html body .command-ui.hoi-ui .st-sea-actions button :is(.hoi-icon,svg){width:20px;height:20px}
html body .command-ui.hoi-ui .st-sea-card[data-landing="true"] .tc-primary:not(:disabled){background:linear-gradient(180deg,#ef8a74,#c9533f);border-color:#ffc0b1;color:#1d0805}

/* ───────── map destination ports and convoys ───────── */
#eastfront-map .sea-dest{cursor:pointer}
#eastfront-map .sea-dest .sd-ring{filter:drop-shadow(0 2px 3px #000c)}
#eastfront-map .sea-dest:hover .sd-ring,#eastfront-map .sea-dest[data-selected="true"] .sd-ring{stroke-width:2.6}
#eastfront-map .sea-dest[data-selected="true"]{filter:drop-shadow(0 0 6px #e6c47d)}
#eastfront-map .sea-convoy{filter:drop-shadow(0 2px 3px #000c)}

/* ───────── army tiles (bottom right) ───────── */
html.touch-shell body .command-ui.hoi-ui .hoi-commanders.st-armies,html body .command-ui.hoi-ui .hoi-commanders.st-armies{position:fixed;left:auto;right:calc(10px + var(--tc-safe-r,0px));bottom:calc(10px + var(--tc-safe-b,0px));transform:none;display:flex;flex-direction:row;align-items:stretch;gap:5px;padding:5px;width:auto;height:auto;max-width:calc(100vw - 470px);overflow-x:auto;overflow-y:hidden;scrollbar-width:none;touch-action:pan-x}
html body .command-ui.hoi-ui .hoi-commanders.st-armies::-webkit-scrollbar{display:none}
html body .command-ui.hoi-ui .st-army{position:relative;flex:none;width:50px;height:64px;min-height:0;padding:0!important;display:block;overflow:hidden;border-radius:5px!important;border:0!important;background:#0c1013!important;box-shadow:inset 0 3px 0 var(--corps),0 0 0 1px #000,inset 0 0 0 1px var(--st-line-2,#ffffff1f)!important}
html body .command-ui.hoi-ui .st-army .officer-face,html body .command-ui.hoi-ui .st-army .officer-portrait{position:absolute;inset:3px 0 0 0;width:100%;height:calc(100% - 3px);border:0;border-radius:0;box-shadow:none!important;filter:saturate(.75) contrast(1.05)}
html body .command-ui.hoi-ui .st-army .officer-face.vacant{display:grid;place-items:center;font-size:18px}
html body .command-ui.hoi-ui .st-army::after{content:"";position:absolute;inset:auto 0 0;height:26px;background:linear-gradient(180deg,transparent,#000000d9);pointer-events:none}
html body .command-ui.hoi-ui .st-army-n{position:absolute;left:4px;bottom:3px;z-index:1;font:700 14px/1 var(--st-num,sans-serif);font-style:normal;color:#fff;text-shadow:0 1px 2px #000}
html body .command-ui.hoi-ui .st-army-state{position:absolute;right:3px;bottom:3px;z-index:1;width:17px;height:17px;display:grid;place-items:center;border-radius:50%;background:#000000a0;color:#cfd3d6}
html body .command-ui.hoi-ui .st-army-state .hoi-icon{width:11px;height:11px}
html body .command-ui.hoi-ui .st-army-state[data-state="attack"]{background:#c9533f;color:#fff}
html body .command-ui.hoi-ui .st-army-state[data-state="move"]{background:#3f7fb7;color:#fff}
html body .command-ui.hoi-ui .st-army-state[data-state="pause"]{background:#6b6f73;color:#fff}
html body .command-ui.hoi-ui .st-army[aria-pressed="true"]{box-shadow:inset 0 3px 0 var(--corps),0 0 0 2px var(--st-gold,#d4b06b),0 0 14px var(--st-gold-glow,#d4b06b40)!important}
html body .command-ui.hoi-ui .st-army-add{flex:none;width:44px;height:64px;min-height:0;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--st-gold,#d4b06b)}
html body .command-ui.hoi-ui .st-army-add .hoi-icon{width:20px;height:20px}
html body .command-ui.hoi-ui .st-army-add b{font-size:16px;line-height:1}

/* ───────── map tools (top right, icon row) ───────── */
html.touch-shell body .command-ui.hoi-ui .hoi-map-modes.st-map-tools,html body .command-ui.hoi-ui .hoi-map-modes.st-map-tools{gap:3px;padding:4px}
html body .command-ui.hoi-ui .hoi-map-modes.st-map-tools button{width:44px;height:44px;min-height:0;min-width:0;padding:0;display:grid;place-items:center}
html body .command-ui.hoi-ui .hoi-map-modes.st-map-tools button .hoi-icon{width:22px;height:22px}

@media (max-width:900px){
 html.touch-shell body .command-ui.hoi-ui .hoi-commanders.st-armies,html body .command-ui.hoi-ui .hoi-commanders.st-armies{max-width:calc(100vw - 24px);bottom:calc(76px + var(--tc-safe-b,0px))}
}

/* ───────── map views (bottom left): icon row, the active view names itself ───────── */
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .atlas-map-switch>nav{display:flex;gap:3px;padding:4px}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .atlas-map-switch>nav button{height:44px;min-width:44px;min-height:0;padding:0 11px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:13px;color:var(--st-text-2)}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .atlas-map-switch>nav button .hoi-icon{width:21px;height:21px}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .atlas-map-switch>nav button .st-mv-label{display:none}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .atlas-map-switch>nav button[aria-pressed="true"] .st-mv-label{display:inline}

/* ───────── top bar: management icons without captions ───────── */
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .hoi-management>button{min-width:52px}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .hoi-management>button .hoi-icon{width:23px;height:23px}
html[data-ui-theme="staff"] body.playable-integrated .command-ui.hoi-ui .hoi-management>button span.icon-nav-label{display:none}

/* ── staff/60-navy.css ── */
/* STAFF-UI-1 · naval command: fleet cards with ship-class composition, icon tabs, mission strip. */

/* composition strip (shared) */
.ship-comp{display:inline-flex;flex-wrap:wrap;align-items:center;gap:3px 10px}
.ship-comp-item{display:inline-flex;align-items:center;gap:4px;color:#e2d6b8}
.ship-comp-item .ship-glyph{width:37px;height:14px;flex:none}
.ship-comp-item b{font:700 13px/1 var(--st-num,sans-serif);color:#f3ead2}
.ship-comp-item[data-class="CV"],.ship-comp-item[data-class="BB"]{color:#f0d69f}
.ship-comp-item[data-class="SS"]{color:#9ec3d9}
.ship-comp-item[data-class="CONVOY"]{color:#b9b3a3}

/* window chrome */
html[data-ui-theme="staff"] body .command-ui.hoi-ui #naval-window .nav-window-header{background:linear-gradient(180deg,#1a2127,#12171b);border-bottom:1px solid var(--st-line-2)}
html[data-ui-theme="staff"] body .command-ui.hoi-ui #naval-window .nav-window-header h2{font:700 18px/1 var(--st-title);letter-spacing:.12em}
html[data-ui-theme="staff"] body .command-ui.hoi-ui #naval-window .nav-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:0;padding:0;background:#0000002e;border-bottom:1px solid var(--st-line)}
html[data-ui-theme="staff"] body .command-ui.hoi-ui #naval-window .nav-tabs button{height:46px;min-height:0;padding:0;display:flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:0;background:none;box-shadow:none;color:var(--st-text-3)}
html[data-ui-theme="staff"] body .command-ui.hoi-ui #naval-window .nav-tabs button .nav-tab-label{display:none;font-size:12.5px}
html[data-ui-theme="staff"] body .command-ui.hoi-ui #naval-window .nav-tabs button[aria-pressed="true"]{color:var(--st-gold-hi);background:linear-gradient(180deg,transparent,#d4b06b14);box-shadow:inset 0 -2px 0 var(--st-gold)}
html[data-ui-theme="staff"] body .command-ui.hoi-ui #naval-window .nav-tabs button[aria-pressed="true"] .nav-tab-label{display:inline}
html[data-ui-theme="staff"] body .command-ui.hoi-ui #naval-window .nav-tabs button svg{width:20px;height:20px}
html[data-ui-theme="staff"] body .command-ui.hoi-ui #naval-window .nav-links{display:none}

/* fleet cards */
html body .command-ui.hoi-ui #naval-window .nav-fleet-card.st-fleet{display:grid!important;grid-template-columns:36px minmax(0,1fr) auto;grid-template-areas:"mission main count" "mission where where";align-items:center;gap:5px 10px;min-height:0!important;height:auto!important;padding:10px 12px 9px 10px!important;text-align:left;border-radius:var(--st-r-sm,5px)!important}
html body .command-ui.hoi-ui #naval-window .st-fleet-mission{grid-area:mission;align-self:center;width:36px;height:36px;display:grid;place-items:center;border-radius:6px;background:#9aa6ad;color:#0b1014}
html body .command-ui.hoi-ui #naval-window .st-fleet-mission .mission-glyph{width:22px;height:22px}
html body .command-ui.hoi-ui #naval-window .st-fleet-mission[data-mission="PATROL"]{background:#6aa8de}
html body .command-ui.hoi-ui #naval-window .st-fleet-mission[data-mission="STRIKE"]{background:#e05a47}
html body .command-ui.hoi-ui #naval-window .st-fleet-mission[data-mission="ESCORT"]{background:#7cc46b}
html body .command-ui.hoi-ui #naval-window .st-fleet-mission[data-mission="RAID"]{background:#e8a33d}
html body .command-ui.hoi-ui #naval-window .st-fleet-mission[data-mission="TRAINING"]{background:#b496e0}
html body .command-ui.hoi-ui #naval-window .st-fleet-main{grid-area:main;min-width:0;display:flex;flex-direction:column;gap:6px}
html body .command-ui.hoi-ui #naval-window .st-fleet-main>b{font-size:14px;font-weight:600;color:var(--st-text,#eee);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body .command-ui.hoi-ui #naval-window .st-fleet-where{grid-area:where;display:flex;align-items:center;gap:5px;min-width:0;color:var(--st-text-3,#888)}
html body .command-ui.hoi-ui #naval-window .st-fleet-where .hoi-icon{width:14px;height:14px;flex:none}
html body .command-ui.hoi-ui #naval-window .st-fleet-where[data-moving="true"]{color:#a9cdee}
html body .command-ui.hoi-ui #naval-window .st-fleet-where small{font-size:11.5px;color:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body .command-ui.hoi-ui #naval-window .st-fleet-flag{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#ffffff12;color:#a7d99b}
html body .command-ui.hoi-ui #naval-window .st-fleet-flag[data-tone="warn"]{background:#e8a33d2e;color:#f0c27a}
html body .command-ui.hoi-ui #naval-window .st-fleet-flag .hoi-icon{width:11px;height:11px}
html body .command-ui.hoi-ui #naval-window .st-fleet .nav-fleet-count{grid-area:count;align-self:start;font:700 20px/1 var(--st-num,sans-serif);color:var(--st-text,#eee)}
html[data-ui-theme="staff"] body .command-ui.hoi-ui #naval-window .nav-fleet-card.st-fleet[aria-pressed="true"]{background:linear-gradient(90deg,#d4b06b1f,#ffffff05)!important;box-shadow:inset 0 0 0 1px #d4b06b88!important}
html[data-ui-theme="staff"] body .command-ui.hoi-ui #naval-window .nav-fleet-list{display:flex;flex-direction:column;gap:6px}

/* mission strip */
html body .command-ui.hoi-ui .nav-sea-reading.st-sea{display:flex;flex-direction:column;gap:10px;padding:12px 14px}
html body .command-ui.hoi-ui .st-sea>header{display:flex;align-items:center;justify-content:space-between;gap:10px}
html body .command-ui.hoi-ui .st-sea-fleet{display:flex;flex-direction:column;gap:5px;min-width:0}
html body .command-ui.hoi-ui .st-sea-fleet>b{order:-1;font-size:14px;color:var(--st-text,#eee)}
html body .command-ui.hoi-ui .st-sea-region{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;color:var(--st-text-2,#aaa);white-space:nowrap}
html body .command-ui.hoi-ui .st-sea-region .hoi-icon{width:15px;height:15px;color:var(--st-gold,#d4b06b)}
html body .command-ui.hoi-ui .st-sea .nav-mission-buttons{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:5px!important}
html body .command-ui.hoi-ui .st-sea .nav-mission-buttons button{height:48px!important;min-height:0!important;padding:0!important;display:grid!important;place-items:center}
html body .command-ui.hoi-ui .st-sea .nav-mission-buttons .mission-glyph{width:24px;height:24px}
html body .command-ui.hoi-ui .st-sea .nav-mission-buttons button[data-mission="PATROL"]{color:#a9cdee}
html body .command-ui.hoi-ui .st-sea .nav-mission-buttons button[data-mission="STRIKE"]{color:#f39a8b}
html body .command-ui.hoi-ui .st-sea .nav-mission-buttons button[data-mission="ESCORT"]{color:#a7d99b}
html body .command-ui.hoi-ui .st-sea .nav-mission-buttons button[data-mission="RAID"]{color:#f0c27a}
html body .command-ui.hoi-ui .st-sea .nav-mission-buttons button[data-mission="TRAINING"]{color:#cbb7ee}
html[data-ui-theme="staff"] body .command-ui.hoi-ui .st-sea .nav-mission-buttons button[aria-pressed="true"]{color:var(--st-gold-ink)!important;background:linear-gradient(180deg,#ecd29a,#c6a05a)!important;border-color:#f3dca6!important}
html body .command-ui.hoi-ui .st-supremacy{display:grid;grid-template-columns:minmax(0,1fr) auto auto 44px;align-items:center;gap:10px}
html body .command-ui.hoi-ui .st-sup-bar{position:relative;height:8px;border-radius:4px;background:#00000080;box-shadow:inset 0 0 0 1px #ffffff0c}
html body .command-ui.hoi-ui .st-sup-bar i{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:linear-gradient(90deg,#8e2f22,#e05a47)}
html body .command-ui.hoi-ui .st-sup-bar i[data-ok="true"]{background:linear-gradient(90deg,#4f8f44,#7cc46b)}
html body .command-ui.hoi-ui .st-sup-bar em{position:absolute;top:-4px;bottom:-4px;width:2px;margin-left:-1px;background:#f0d69f;box-shadow:0 0 4px #000}
html body .command-ui.hoi-ui .st-supremacy>b{font:700 15px/1 var(--st-num,sans-serif);color:var(--st-text,#eee)}
html body .command-ui.hoi-ui .st-sup-forces{display:inline-flex;align-items:center;gap:4px;font:600 12px/1 var(--st-num,sans-serif);color:var(--st-text-2,#aaa)}
html body .command-ui.hoi-ui .st-sup-forces .hoi-icon{width:15px;height:15px;color:var(--st-gold,#d4b06b)}
html body .command-ui.hoi-ui .st-sup-forces small{color:var(--st-text-3,#888)}
html body .command-ui.hoi-ui .st-supremacy>button{width:44px;height:40px;min-height:0;padding:0;display:grid;place-items:center;color:#f39a8b}
html body .command-ui.hoi-ui .st-supremacy>button .hoi-icon{width:20px;height:20px}
html body .ship-comp-item{flex-direction:row!important}
html body .ship-comp-item .ship-glyph{order:0}
html body .ship-comp-item b{order:1}

/* ───────── fleet command: admiral card and picker (src/playable/admiralPanel.ts) ───────── */
html body .command-ui.hoi-ui #naval-window .st-admiral{display:flex;flex-direction:column;gap:8px;padding:0;background:none;border:0;box-shadow:none}
html body .command-ui.hoi-ui #naval-window .adm-card,html body .command-ui.hoi-ui #naval-window .adm-pick{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 12px;border-radius:var(--st-r-sm,5px);background:linear-gradient(90deg,#d4b06b14,#ffffff05);box-shadow:inset 0 0 0 1px #d4b06b33;text-align:left;width:100%;min-height:0;height:auto}
html body .command-ui.hoi-ui #naval-window .adm-empty{border:1px dashed #d4b06b55!important;background:#ffffff05!important;box-shadow:none!important}
html body .command-ui.hoi-ui #naval-window .adm-face{display:block;width:56px;height:70px;border-radius:4px;box-shadow:0 0 0 1px #000,0 0 0 2px #d4b06b55;overflow:hidden}
html body .command-ui.hoi-ui #naval-window .adm-vacant{display:grid;place-items:center;align-content:center;gap:2px;background:#ffffff0a;color:var(--st-gold,#d4b06b)}
html body .command-ui.hoi-ui #naval-window .adm-vacant .hoi-icon{width:22px;height:22px}
html body .command-ui.hoi-ui #naval-window .adm-body{min-width:0;display:flex;flex-direction:column;gap:6px}
html body .command-ui.hoi-ui #naval-window .adm-body header{display:flex;align-items:center;gap:8px;padding:0;background:none;border:0}
html body .command-ui.hoi-ui #naval-window .adm-body header b,html body .command-ui.hoi-ui #naval-window .adm-body>b{font:700 15px/1.2 var(--st-title,serif);letter-spacing:.06em;color:var(--st-text,#eee);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body .command-ui.hoi-ui #naval-window .adm-body>small{font-size:11.5px;color:var(--st-text-3,#888)}
html body .command-ui.hoi-ui #naval-window .adm-stars{display:inline-flex;gap:1px;font-size:11px;line-height:1}
html body .command-ui.hoi-ui #naval-window .adm-stars i{font-style:normal;color:#ffffff22}
html body .command-ui.hoi-ui #naval-window .adm-stars i.on{color:var(--st-gold,#d4b06b);text-shadow:0 0 4px #d4b06b88}
html body .command-ui.hoi-ui #naval-window .adm-skills{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px}
html body .command-ui.hoi-ui #naval-window .adm-skills>span{display:grid;grid-template-columns:14px 1fr 14px;align-items:center;gap:5px;color:var(--st-text-3,#888)}
html body .command-ui.hoi-ui #naval-window .adm-skills .hoi-icon{width:14px;height:14px}
html body .command-ui.hoi-ui #naval-window .adm-skills i{display:block;height:4px;border-radius:2px;background:#00000080;overflow:hidden}
html body .command-ui.hoi-ui #naval-window .adm-skills i b{display:block;height:100%;background:linear-gradient(90deg,#a9853f,#ecd29a)}
html body .command-ui.hoi-ui #naval-window .adm-skills em{font:600 11px/1 var(--st-num,sans-serif);font-style:normal;color:var(--st-text,#eee);text-align:right}
html body .command-ui.hoi-ui #naval-window .adm-traits{display:flex;flex-wrap:wrap;gap:4px}
html body .command-ui.hoi-ui #naval-window .adm-traits span{padding:2px 8px;border-radius:9px;font-size:11px;background:#6aa8de1f;color:#b6d4ee}
html body .command-ui.hoi-ui #naval-window .adm-xp{display:block;height:3px;border-radius:2px;background:#00000080;overflow:hidden}
html body .command-ui.hoi-ui #naval-window .adm-xp i{display:block;height:100%;background:var(--st-blue,#6aa8de)}
html body .command-ui.hoi-ui #naval-window .adm-actions{display:flex;flex-direction:column;gap:6px}
html body .command-ui.hoi-ui #naval-window .adm-actions button,html body .command-ui.hoi-ui #naval-window .adm-go{width:44px;height:40px;min-height:0;padding:0;display:grid;place-items:center}
html body .command-ui.hoi-ui #naval-window .adm-actions .hoi-icon,html body .command-ui.hoi-ui #naval-window .adm-go .hoi-icon{width:18px;height:18px}
html body .command-ui.hoi-ui #naval-window .adm-go[data-nav-admiral-recruit]{width:auto;padding:0 10px;display:inline-flex;gap:5px;color:var(--st-blue,#6aa8de)}
html body .command-ui.hoi-ui #naval-window .adm-go b{font:700 13px/1 var(--st-num,sans-serif)}
html body .command-ui.hoi-ui #naval-window .adm-picker{display:flex;flex-direction:column;gap:6px;padding:10px;border-radius:var(--st-r-sm,5px);background:#0000003d;box-shadow:inset 0 0 0 1px var(--st-line,#ffffff10)}
html body .command-ui.hoi-ui #naval-window .adm-picker>header{display:flex;align-items:center;gap:6px;padding:0 2px 4px;background:none;border:0;color:var(--st-blue,#6aa8de)}
html body .command-ui.hoi-ui #naval-window .adm-picker>header .hoi-icon{width:18px;height:18px}
html body .command-ui.hoi-ui #naval-window .adm-picker>header b{font:700 16px/1 var(--st-num,sans-serif);color:var(--st-text,#eee)}
html body .command-ui.hoi-ui #naval-window .adm-picker>header small{font-size:12px;color:var(--st-text-3,#888)}
html body .command-ui.hoi-ui #naval-window .adm-pick{background:#ffffff06;box-shadow:inset 0 0 0 1px var(--st-line,#ffffff10)}
html body .command-ui.hoi-ui #naval-window .adm-pick[data-state="here"]{box-shadow:inset 0 0 0 1px #d4b06b88}
html body .command-ui.hoi-ui #naval-window .adm-pick[data-state="recruit"] .adm-face{filter:grayscale(.85) brightness(.75)}
html body .command-ui.hoi-ui #naval-window .adm-pick[data-state="elsewhere"]{opacity:.85}
html body .command-ui.hoi-ui #naval-window .adm-where{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--st-text-3,#888)}
html body .command-ui.hoi-ui #naval-window .adm-where .hoi-icon{width:12px;height:12px}
html body .command-ui.hoi-ui #naval-window .adm-tag{display:grid;place-items:center;width:44px;color:var(--st-gold,#d4b06b)}
html body .command-ui.hoi-ui #naval-window .adm-tag .hoi-icon{width:20px;height:20px}

/* admiral window: faces sized like the army register */
#admiral-window .register-name .adm-face-sm{width:47px;min-width:47px;height:60px;border-radius:3px;overflow:hidden}
#admiral-window .register-name .adm-face-sm svg,#admiral-window svg.adm-face-sm{width:47px;height:60px}
#admiral-window .adm-face-lg{display:block;width:120px;height:150px;border-radius:4px;box-shadow:0 0 0 1px #000,0 0 0 4px #e3dccb,0 0 0 5px #0006,0 10px 24px #000b}
#admiral-window .adm-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
#admiral-window .adm-stats>div{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 4px;border-radius:4px;background:#ffffff08}
#admiral-window .adm-stats .hoi-icon{width:18px;height:18px;color:var(--st-gold,#d4b06b)}
#admiral-window .adm-stats b{font:700 20px/1 var(--st-num,sans-serif)}
#admiral-window .adm-stats small{font-size:11px;color:var(--st-text-3,#888)}
#admiral-window .adm-stats em{position:absolute;top:4px;right:6px;font-style:normal;font-size:11px;font-weight:700}
#admiral-window .adm-stats em.positive{color:#a7d99b}#admiral-window .adm-stats em.negative{color:#f39a8b}
#admiral-window .adm-credit{margin:8px 0 0;font-size:10.5px;color:var(--st-text-3,#888)}

/* ── staff/70-cabinet.css ── */
/* STAFF-ECON-1 · national gauges (top bar), the economic cabinet's decision card and its finance section.
   Layout is unscoped so every theme gets it; colours come from the staff tokens with fallbacks, so the
   iron build (src/theme/staff/iron.mjs) recolours them with everything else. */

/* ───────── top bar: three slim meters ───────── */
html body .command-ui.hoi-ui .hoi-national .cab-gauges{position:relative;display:flex;align-items:center;gap:6px;padding:0 10px!important;min-width:0;background:none}
html body .command-ui.hoi-ui .cab-g{display:flex;align-items:center;gap:2px;color:var(--st-text-2,#aaa)}
html body .command-ui.hoi-ui .cab-g svg{width:15px;height:15px;flex:none}
html body .command-ui.hoi-ui .cab-g>i{position:relative;display:block;width:6px;height:22px;background:#00000080;box-shadow:inset 0 0 0 1px var(--st-line-2,#ffffff1c);overflow:hidden}
html body .command-ui.hoi-ui .cab-g>i>b{position:absolute;left:0;right:0;bottom:0;background:var(--st-org,#7cc46b);transition:height .4s}
html body .command-ui.hoi-ui .cab-g[data-tone="warn"]>i>b{background:var(--st-amber,#e8a33d)}
html body .command-ui.hoi-ui .cab-g[data-tone="bad"]>i>b{background:var(--st-red,#e05a47)}
html body .command-ui.hoi-ui .cab-g[data-tone="bad"]{color:var(--st-red,#e05a47)}
html body .command-ui.hoi-ui .cab-g[data-strike="1"] svg{animation:cab-pulse 1.2s ease-in-out infinite}
html body .command-ui.hoi-ui .cab-pending{position:absolute;top:2px;right:2px;width:14px;height:14px;border-radius:50%;background:var(--st-red,#e05a47);color:#fff;font:700 10px/14px var(--st-num,sans-serif);text-align:center;font-style:normal}
@keyframes cab-pulse{50%{opacity:.35}}
@media (max-width:900px){html body .command-ui.hoi-ui .cab-g svg{display:none}html body .command-ui.hoi-ui .hoi-national .cab-gauges{gap:3px;padding:0 6px!important}}

/* ───────── decision card ───────── */
html body .command-ui.hoi-ui .cab-card{position:fixed;z-index:40;top:calc(96px + var(--tc-safe-t,0px));left:50%;transform:translateX(-50%);width:min(560px,calc(100vw - 24px));
 padding:12px 12px 10px;background:var(--st-panel,#121619f5);color:var(--st-text,#ece7db);box-shadow:var(--st-edge,0 0 0 1px #000,0 20px 50px #000c);border-radius:var(--st-r,8px);animation:cab-in .28s var(--st-ease,ease-out)}
@keyframes cab-in{from{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%,0)}}
html body .command-ui.hoi-ui .cab-card>header{display:grid;grid-template-columns:44px minmax(0,1fr) 40px;gap:10px;align-items:start}
html body .command-ui.hoi-ui .cab-seal{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--st-r-sm,5px);background:var(--st-red-wash,#e05a4722);color:var(--st-red,#e05a47);box-shadow:inset 0 0 0 1px currentColor}
html body .command-ui.hoi-ui .cab-seal svg{width:26px;height:26px}
html body .command-ui.hoi-ui .cab-card small{display:block;color:var(--st-gold,#d4b06b);font-size:11px;letter-spacing:.2em}
html body .command-ui.hoi-ui .cab-card h3{margin:2px 0 2px;font:700 19px/1.2 var(--st-title,serif);letter-spacing:.1em}
html body .command-ui.hoi-ui .cab-card header p{margin:0;color:var(--st-text-2,#aaa);font-size:13px}
html body .command-ui.hoi-ui .cab-min{width:40px;height:40px;padding:0;display:grid;place-items:center}
html body .command-ui.hoi-ui .cab-min svg{width:16px;height:16px}
html body .command-ui.hoi-ui .cab-time{position:relative;height:16px;margin:10px 0 8px;background:#00000066;box-shadow:inset 0 0 0 1px var(--st-line,#ffffff10)}
html body .command-ui.hoi-ui .cab-time i{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,var(--st-red,#e05a47),var(--st-amber,#e8a33d));opacity:.55}
html body .command-ui.hoi-ui .cab-time span{position:relative;display:block;padding:0 6px;font-size:11px;line-height:16px;color:var(--st-text,#eee)}
html body .command-ui.hoi-ui .cab-options{display:grid;gap:6px;margin:0;padding:0;list-style:none}
html body .command-ui.hoi-ui .cab-options button{display:grid;gap:5px;width:100%;min-height:52px;padding:8px 10px;text-align:left}
html body .command-ui.hoi-ui .cab-options button>b{font-size:15px;letter-spacing:.06em}
html body .command-ui.hoi-ui .cab-chips{display:flex;flex-wrap:wrap;gap:4px}
html body .command-ui.hoi-ui .cab-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 7px 2px 5px;font-size:12px;font-weight:500;background:#0000004d;box-shadow:inset 0 0 0 1px var(--st-line-2,#ffffff1c);color:var(--st-text-2,#aaa);border-radius:var(--st-r-sm,5px)}
html body .command-ui.hoi-ui .cab-chip svg{width:13px;height:13px}
html body .command-ui.hoi-ui .cab-chip[data-tone="good"]{color:var(--st-org,#7cc46b)}
html body .command-ui.hoi-ui .cab-chip[data-tone="bad"]{color:var(--st-red,#e05a47)}
html body .command-ui.hoi-ui .cab-options [data-primary="true"] .cab-chip{background:#0000004d;color:inherit}
html body .command-ui.hoi-ui .cab-tab{position:fixed;z-index:40;top:calc(96px + var(--tc-safe-t,0px));left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;color:var(--st-red,#e05a47)}
html body .command-ui.hoi-ui .cab-tab svg{width:20px;height:20px}

/* ───────── finance page section ───────── */
html body .command-ui.hoi-ui .cab-section .cab-meters{display:grid;gap:6px}
html body .command-ui.hoi-ui .cab-meter{display:grid;grid-template-columns:28px minmax(0,1fr) 46px;grid-template-rows:auto 6px;gap:3px 10px;align-items:center;padding:8px 10px;background:#0000003d;box-shadow:inset 0 0 0 1px var(--st-line,#ffffff10)}
html body .command-ui.hoi-ui .cab-meter>svg{width:24px;height:24px;color:var(--st-gold,#d4b06b)}
html body .command-ui.hoi-ui .cab-meter>span b{display:block;font-size:14px}
html body .command-ui.hoi-ui .cab-meter>span small{color:var(--st-text-2,#aaa);font-size:12px}
html body .command-ui.hoi-ui .cab-meter>strong{font:700 24px/1 var(--st-num,sans-serif);text-align:right}
html body .command-ui.hoi-ui .cab-meter>i{grid-column:1/-1;height:6px;background:#00000080;overflow:hidden}
html body .command-ui.hoi-ui .cab-meter>i>b{display:block;height:100%;background:var(--st-org,#7cc46b)}
html body .command-ui.hoi-ui .cab-meter[data-tone="warn"]>i>b{background:var(--st-amber,#e8a33d)}
html body .command-ui.hoi-ui .cab-meter[data-tone="bad"]>i>b{background:var(--st-red,#e05a47)}
html body .command-ui.hoi-ui .cab-meter[data-tone="bad"]>strong{color:var(--st-red,#e05a47)}
html body .command-ui.hoi-ui :is(.cab-strike,.cab-note){display:flex;align-items:center;gap:6px;margin:8px 0 0;font-size:13px;color:var(--st-text-2,#aaa)}
html body .command-ui.hoi-ui .cab-strike{color:var(--st-red,#e05a47)}
html body .command-ui.hoi-ui .cab-strike[data-tone="warn"]{color:var(--st-amber,#e8a33d)}
html body .command-ui.hoi-ui :is(.cab-strike,.cab-note) svg{width:16px;height:16px;flex:none}
html body .command-ui.hoi-ui .cab-log{margin:8px 0 0;padding:0;list-style:none;display:grid;gap:3px}
html body .command-ui.hoi-ui .cab-log li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;padding:5px 8px;font-size:12px;border-left:2px solid var(--st-gold-lo,#7c643a);background:#00000029}
html body .command-ui.hoi-ui .cab-log li span{grid-column:1;color:var(--st-text-2,#aaa)}
html body .command-ui.hoi-ui .cab-log li small{grid-row:1/3;grid-column:2;align-self:center;color:var(--st-text-3,#777)}

/* ── staff/75-subjects.css ── */
/* REICH-2.2 · protectorates in the diplomacy window (unscoped layout, theme tokens with fallbacks). */
html body .command-ui.hoi-ui .sj-panel{display:grid;gap:6px;margin:0 0 10px;padding:10px;background:#0000003d;box-shadow:inset 0 0 0 1px var(--st-line-2,#ffffff1c)}
html body .command-ui.hoi-ui .sj-panel>header{display:flex;align-items:center;gap:8px}
html body .command-ui.hoi-ui .sj-panel>header svg{width:20px;height:20px;color:var(--st-gold,#d4b06b)}
html body .command-ui.hoi-ui .sj-panel>header b{font:700 15px/1 var(--st-title,serif);letter-spacing:.12em}
html body .command-ui.hoi-ui .sj-panel>header small{margin-left:auto;color:var(--st-text-2,#aaa);font-size:12px}
html body .command-ui.hoi-ui .sj-row{display:grid;grid-template-columns:minmax(90px,1fr) minmax(120px,1.4fr) minmax(0,1.6fr);align-items:center;gap:10px;width:100%;min-height:48px;padding:6px 10px;text-align:left}
html body .command-ui.hoi-ui .sj-name b{display:block;font-size:14px}
html body .command-ui.hoi-ui .sj-name small{color:var(--st-text-2,#aaa);font-size:11px}
html body .command-ui.hoi-ui .sj-auto{position:relative;display:block;height:20px;background:#00000080;box-shadow:inset 0 0 0 1px var(--st-line,#ffffff10);overflow:hidden}
html body .command-ui.hoi-ui .sj-auto i{position:absolute;inset:0 auto 0 0;background:var(--st-gold-lo,#7c643a)}
html body .command-ui.hoi-ui .sj-auto[data-tone="low"] i{background:var(--st-red,#e05a47);opacity:.6}
html body .command-ui.hoi-ui .sj-auto em{position:relative;display:block;padding:0 6px;font:500 11px/20px var(--st-font,sans-serif);font-style:normal;color:var(--st-text,#eee)}
html body .command-ui.hoi-ui .sj-tribute{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
html body .command-ui.hoi-ui .sj-res{display:inline-flex;align-items:center;gap:3px;font:600 12px/1 var(--st-num,sans-serif)}
html body .command-ui.hoi-ui .sj-res .rs-ic{width:18px;height:18px}
html body .command-ui.hoi-ui .sj-log summary{font-size:12px;color:var(--st-text-2,#aaa)}
html body .command-ui.hoi-ui .sj-log ol{margin:4px 0 0;padding-left:18px;font-size:12px;color:var(--st-text-2,#aaa)}
@media (max-width:760px){html body .command-ui.hoi-ui .sj-row{grid-template-columns:1fr 1fr}html body .command-ui.hoi-ui .sj-tribute{grid-column:1/-1}}
html body .command-ui.hoi-ui .sj-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:stretch}
html body .command-ui.hoi-ui .sj-actions{display:flex;gap:4px}
html body .command-ui.hoi-ui .sj-actions button{display:grid;place-items:center;gap:1px;min-width:68px;min-height:48px;padding:4px 6px}
html body .command-ui.hoi-ui .sj-actions button svg{width:16px;height:16px}
html body .command-ui.hoi-ui .sj-actions button b{font-size:13px}
html body .command-ui.hoi-ui .sj-actions button small{font-size:10px;color:var(--st-text-2,#aaa)}
html body .command-ui.hoi-ui .sj-annex-mark{position:absolute;top:0;bottom:0;width:2px;background:var(--st-red,#e05a47);opacity:.8}
html body .command-ui.hoi-ui .sj-factories{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0;font-size:13px}
html body .command-ui.hoi-ui .sj-factories svg{width:16px;height:16px;color:var(--st-gold,#d4b06b)}
html body .command-ui.hoi-ui .sj-factories small{color:var(--st-text-2,#aaa)}
@media (max-width:760px){html body .command-ui.hoi-ui .sj-item{grid-template-columns:1fr}}
/* PEACE-3 · war score and the fate of each defeated country */
html body .command-ui.hoi-ui .peace-score{display:grid;gap:4px;margin:8px 0}
html body .command-ui.hoi-ui .peace-score>div{display:grid;grid-template-columns:110px minmax(0,1fr) 110px;align-items:center;gap:8px;font-size:13px}
html body .command-ui.hoi-ui .peace-score i{display:block;height:10px;background:#00000080;box-shadow:inset 0 0 0 1px var(--st-line,#ffffff10);overflow:hidden}
html body .command-ui.hoi-ui .peace-score i b{display:block;height:100%;background:var(--st-gold,#d4b06b)}
html body .command-ui.hoi-ui .peace-score>div[data-over="true"] i b{background:var(--st-red,#e05a47)}
html body .command-ui.hoi-ui .peace-score>div[data-over="true"] small{color:var(--st-red,#e05a47)}
html body .command-ui.hoi-ui .peace-score small{text-align:right;font-family:var(--st-num,sans-serif)}
html body .command-ui.hoi-ui .peace-fates{display:grid;gap:6px;margin:8px 0}
html body .command-ui.hoi-ui .peace-fate{display:grid;grid-template-columns:28px 110px minmax(0,1fr);align-items:center;gap:8px;padding:6px 8px;background:#0000003d;box-shadow:inset 0 0 0 1px var(--st-line,#ffffff10)}
html body .command-ui.hoi-ui .peace-fate-options{display:flex;flex-wrap:wrap;gap:4px}
html body .command-ui.hoi-ui .peace-fate-options button{min-height:40px;padding:0 10px;font-size:12px}
html body .command-ui.hoi-ui .peace-territory[data-puppet="true"]{opacity:.75}
/* BRITISH-EMPIRE-2 · the Empire page */
html body .command-ui.hoi-ui .em-panel{display:grid;gap:10px}
html body .command-ui.hoi-ui .em-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}
html body .command-ui.hoi-ui .em-head small{color:var(--st-gold,#d4b06b);letter-spacing:.2em;font-size:11px}
html body .command-ui.hoi-ui .em-head h3{margin:2px 0 0;font:700 20px/1.2 var(--st-title,serif);letter-spacing:.12em}
html body .command-ui.hoi-ui .em-gauges{display:flex;flex-wrap:wrap;gap:6px}
html body .command-ui.hoi-ui .em-gauges>span{display:grid;grid-template-columns:20px auto;grid-template-rows:auto auto;column-gap:6px;align-items:center;min-width:96px;padding:6px 10px;background:#0000003d;box-shadow:inset 0 0 0 1px var(--st-line-2,#ffffff1c)}
html body .command-ui.hoi-ui .em-gauges svg{grid-row:1/3;width:20px;height:20px;color:var(--st-gold,#d4b06b)}
html body .command-ui.hoi-ui .em-gauges b{font:700 18px/1 var(--st-num,sans-serif)}
html body .command-ui.hoi-ui .em-gauges small{font-size:11px;color:var(--st-text-2,#aaa)}
html body .command-ui.hoi-ui .em-gauges>span[data-tone="bad"] b{color:var(--st-red,#e05a47)}
html body .command-ui.hoi-ui .em-gauges>span[data-tone="warn"] b{color:var(--st-amber,#e8a33d)}
html body .command-ui.hoi-ui .em-members{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px}
html body .command-ui.hoi-ui .em-member{display:grid;gap:6px;padding:10px;background:#0000003d;box-shadow:inset 0 0 0 1px var(--st-line,#ffffff10),inset 3px 0 0 var(--st-text-3,#777)}
html body .command-ui.hoi-ui .em-member[data-status="war"]{box-shadow:inset 0 0 0 1px var(--st-line,#ffffff10),inset 3px 0 0 var(--st-org,#7cc46b)}
html body .command-ui.hoi-ui .em-member[data-status="neutral"]{box-shadow:inset 0 0 0 1px var(--st-line,#ffffff10),inset 3px 0 0 var(--st-red,#e05a47)}
html body .command-ui.hoi-ui .em-member[data-status="colony"]{box-shadow:inset 0 0 0 1px var(--st-line,#ffffff10),inset 3px 0 0 var(--st-gold,#d4b06b)}
html body .command-ui.hoi-ui .em-name{display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;gap:6px}
html body .command-ui.hoi-ui .em-name b{font-size:15px}
html body .command-ui.hoi-ui .em-name small{color:var(--st-text-2,#aaa);font-size:11px}
html body .command-ui.hoi-ui .em-name em{font-style:normal;font-size:11px;padding:1px 6px;background:#00000066;color:var(--st-text-2,#aaa)}
html body .command-ui.hoi-ui .em-name em[data-status="war"]{color:var(--st-org,#7cc46b)}
html body .command-ui.hoi-ui .em-name em[data-status="neutral"]{color:var(--st-red,#e05a47)}
html body .command-ui.hoi-ui .em-loyal{position:relative;height:18px;background:#00000080;overflow:hidden}
html body .command-ui.hoi-ui .em-loyal i{position:absolute;inset:0 auto 0 0;background:var(--st-gold-lo,#7c643a)}
html body .command-ui.hoi-ui .em-loyal b{position:absolute;top:0;bottom:0;width:2px;background:var(--st-red,#e05a47)}
html body .command-ui.hoi-ui .em-loyal span{position:relative;padding:0 6px;font-size:11px;line-height:18px}
html body .command-ui.hoi-ui .em-flow{display:flex;flex-wrap:wrap;gap:8px;min-height:20px}
html body .command-ui.hoi-ui .em-res{display:inline-flex;align-items:center;gap:3px;font:600 12px/1 var(--st-num,sans-serif)}
html body .command-ui.hoi-ui .em-res svg,html body .command-ui.hoi-ui .em-res .rs-ic{width:16px;height:16px}
html body .command-ui.hoi-ui .em-member p,html body .command-ui.hoi-ui .em-rule{margin:0;font-size:12px;color:var(--st-text-2,#aaa)}
html body .command-ui.hoi-ui .em-log summary{font-size:12px;color:var(--st-text-2,#aaa)}
html body .command-ui.hoi-ui .em-log ol{margin:4px 0 0;padding-left:18px;font-size:12px}

/* NATIONAL-WILL-1 · 国内阵线 (top-bar meters and the politics tab). */
html body .command-ui.hoi-ui .hoi-national .will-gauges{display:flex;align-items:center;gap:6px;padding:0 8px!important;min-width:0;background:none}
html body .command-ui.hoi-ui .will-panel{display:grid;gap:12px}
html body .command-ui.hoi-ui .will-dials{display:grid;grid-template-columns:1fr 1fr;gap:10px}
html body .command-ui.hoi-ui .will-dial{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 10px;padding:10px 12px;background:#0000003d;box-shadow:inset 0 0 0 1px var(--st-line-2,#ffffff1c)}
html body .command-ui.hoi-ui .will-dial>svg{width:26px;height:26px;color:var(--st-gold,#d4b06b)}
html body .command-ui.hoi-ui .will-dial>div{display:flex;align-items:baseline;gap:8px}
html body .command-ui.hoi-ui .will-dial small{color:var(--st-text-2,#aaa);font-size:12px}
html body .command-ui.hoi-ui .will-dial b{font:700 24px/1 var(--st-num,system-ui)}
html body .command-ui.hoi-ui .will-dial em{font-style:normal;font-size:12px;color:var(--st-text-2,#aaa)}
html body .command-ui.hoi-ui .will-dial>i{grid-column:1/-1;position:relative;display:block;height:8px;background:#00000080;overflow:hidden}
html body .command-ui.hoi-ui .will-dial>i>b{position:absolute;inset:0 auto 0 0;background:var(--st-org,#7cc46b)}
html body .command-ui.hoi-ui .will-dial[data-tone="warn"]>i>b{background:var(--st-amber,#e8a33d)}
html body .command-ui.hoi-ui .will-dial[data-tone="bad"]>i>b{background:var(--st-red,#e05a47)}
html body .command-ui.hoi-ui .will-dial>i>s{position:absolute;top:0;bottom:0;width:1px;background:#ffffff30}
html body .command-ui.hoi-ui .will-effects{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
html body .command-ui.hoi-ui .will-effects>div{display:grid;gap:2px;padding:8px 10px;background:#00000029}
html body .command-ui.hoi-ui .will-effects small,html body .command-ui.hoi-ui .will-effects em{color:var(--st-text-2,#aaa);font-size:11px;font-style:normal}
html body .command-ui.hoi-ui .will-effects b{font:700 17px/1.2 var(--st-num,system-ui)}
html body .command-ui.hoi-ui .will-cols{display:grid;grid-template-columns:1fr 1fr;gap:10px}
html body .command-ui.hoi-ui .will-cols h4{display:flex;align-items:center;gap:6px;margin:0 0 6px;font-size:13px}
html body .command-ui.hoi-ui .will-cols h4 svg{width:16px;height:16px}
html body .command-ui.hoi-ui .will-rows{margin:0;padding:0;list-style:none;display:grid;gap:2px}
html body .command-ui.hoi-ui .will-rows li{display:flex;justify-content:space-between;gap:8px;padding:4px 8px;font-size:12px;background:#0000001f}
html body .command-ui.hoi-ui .will-rows li[data-sign="+"] b,html body .command-ui.hoi-ui .will-effects b[data-sign="+"]{color:var(--st-org,#7cc46b)}
html body .command-ui.hoi-ui .will-rows li[data-sign="-"] b,html body .command-ui.hoi-ui .will-effects b[data-sign="-"]{color:var(--st-red,#e05a47)}
html body .command-ui.hoi-ui .will-note{margin:0;color:var(--st-text-2,#aaa);font-size:12px}
html body .command-ui.hoi-ui .will-others{width:100%;border-collapse:collapse;font-size:12px}
html body .command-ui.hoi-ui .will-others th,html body .command-ui.hoi-ui .will-others td{padding:4px 8px;text-align:left;border-bottom:1px solid var(--st-line,#ffffff10)}
html body .command-ui.hoi-ui .will-others td[data-tone="bad"]{color:var(--st-red,#e05a47)}
html body .command-ui.hoi-ui .will-others td[data-tone="good"]{color:var(--st-org,#7cc46b)}
@media (max-width:700px){html body .command-ui.hoi-ui :is(.will-dials,.will-cols,.will-effects){grid-template-columns:1fr}}

/* OCCUPATION-1 · 占领区 tab. */
html body .command-ui.hoi-ui .occ-panel{display:grid;gap:10px}
html body .command-ui.hoi-ui .occ-panel h3{display:flex;align-items:center;gap:8px;margin:0}
html body .command-ui.hoi-ui .occ-panel h3 svg,html body .command-ui.hoi-ui .occ-sum svg{width:18px;height:18px;color:var(--st-gold,#d4b06b)}
html body .command-ui.hoi-ui .occ-sum{display:flex;align-items:center;gap:8px;margin:0;font-size:13px}
html body .command-ui.hoi-ui .occ-sum b{margin-left:auto;font-size:12px}
html body .command-ui.hoi-ui .occ-sum b[data-sign="-"]{color:var(--st-red,#e05a47)}
html body .command-ui.hoi-ui .occ-country{background:#0000003d;box-shadow:inset 0 0 0 1px var(--st-line-2,#ffffff1c)}
html body .command-ui.hoi-ui .occ-head{display:grid;grid-template-columns:auto 1fr minmax(160px,40%);align-items:center;gap:4px 10px;width:100%;min-height:48px;padding:6px 10px;text-align:left;background:none;border:0;color:inherit}
html body .command-ui.hoi-ui .occ-head small{color:var(--st-text-2,#aaa);font-size:12px}
html body .command-ui.hoi-ui .occ-mini{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:3px 6px;font-size:11px}
html body .command-ui.hoi-ui .occ-mini em{font-style:normal;color:var(--st-text-2,#aaa)}
html body .command-ui.hoi-ui .occ-bar{position:relative;display:inline-block;width:100%;height:6px;background:#00000080;overflow:hidden;vertical-align:middle}
html body .command-ui.hoi-ui .occ-bar>b{position:absolute;inset:0 auto 0 0;background:var(--st-org,#7cc46b)}
html body .command-ui.hoi-ui .occ-bar[data-tone="warn"]>b{background:var(--st-amber,#e8a33d)}
html body .command-ui.hoi-ui .occ-bar[data-tone="bad"]>b{background:var(--st-red,#e05a47)}
html body .command-ui.hoi-ui .occ-laws{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:0 8px 8px}
html body .command-ui.hoi-ui .occ-laws>button{display:grid;justify-items:center;gap:2px;min-height:44px;padding:5px 4px;text-align:center;font-size:12px;background:#ffffff08;border:0;box-shadow:inset 0 0 0 1px var(--st-line,#ffffff10);color:inherit}
html body .command-ui.hoi-ui .occ-laws>button svg{width:16px;height:16px}
html body .command-ui.hoi-ui .occ-laws>button small{font-size:10px;color:var(--st-text-2,#aaa);line-height:1.25}
html body .command-ui.hoi-ui .occ-laws>button[aria-checked="true"]{box-shadow:inset 0 0 0 2px var(--st-gold,#d4b06b);background:#d4b06b1a}
html body .command-ui.hoi-ui .occ-table{width:100%;border-collapse:collapse;font-size:12px}
html body .command-ui.hoi-ui .occ-table th,html body .command-ui.hoi-ui .occ-table td{padding:4px 8px;text-align:left;border-top:1px solid var(--st-line,#ffffff10)}
html body .command-ui.hoi-ui .occ-table td .occ-bar{width:60px;margin-right:6px}
html body .command-ui.hoi-ui .occ-table td[data-tone="bad"]{color:var(--st-red,#e05a47)}
html body .command-ui.hoi-ui .occ-table td[data-tone="warn"]{color:var(--st-amber,#e8a33d)}
html body .command-ui.hoi-ui .occ-log{margin:0;padding:0 0 0 16px;font-size:12px;color:var(--st-text-2,#aaa)}
html body .command-ui.hoi-ui .occ-note,html body .command-ui.hoi-ui .occ-empty p{margin:0;font-size:12px;color:var(--st-text-2,#aaa)}
@media (max-width:820px){html body .command-ui.hoi-ui .occ-laws{grid-template-columns:repeat(3,minmax(0,1fr))}html body .command-ui.hoi-ui .occ-head{grid-template-columns:auto 1fr}html body .command-ui.hoi-ui .occ-mini{grid-column:1/-1}}

/* ── staff/78-events.css ── */
/* EVENT-RESET-1 · the event card (Beta): photograph and headline, the story with its quote, lettered choices with
   effect chips. Unscoped layout with theme tokens and fallbacks, like the subjects page. Touch first: every choice is
   at least 56 px tall, the close button 44 px; one column on narrow or portrait screens. */
html body .command-ui.hoi-ui section.ww-card{position:fixed;z-index:60;top:84px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;width:min(940px,calc(100vw - 24px));max-height:calc(100vh - 100px);max-height:calc(100dvh - 100px);margin:0;padding:0;color:var(--st-text,#ece7db);background:var(--st-1,#0c1013);border:1px solid var(--st-gold-lo,#7c643a);box-shadow:0 0 0 1px #000,0 28px 70px -12px #000000e6;font-family:var(--st-font,system-ui);box-sizing:border-box;overflow:hidden;animation:ww-in .22s var(--st-ease,ease-out)}
html body .command-ui.hoi-ui section.ww-card *{box-sizing:border-box}
@keyframes ww-in{from{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%,0)}}
@media (prefers-reduced-motion:reduce){html body .command-ui.hoi-ui section.ww-card{animation:none}}
html body .command-ui.hoi-ui section.ww-card :is(button,a,summary):focus-visible{outline:2px solid var(--st-gold-hi,#f0d69f);outline-offset:2px}

/* bar */
html body .command-ui.hoi-ui section.ww-card .ww-bar{flex:none;display:flex;align-items:center;gap:10px;min-height:52px;padding:4px 6px 4px 12px;background:linear-gradient(90deg,var(--nation,#555) 0 4px,transparent 4px),linear-gradient(180deg,var(--st-3,#192026),var(--st-2,#12171b));border-bottom:1px solid var(--st-line-2,#ffffff1c)}
html body .command-ui.hoi-ui section.ww-card .ww-bar>.atlas-emblem{flex:none;width:28px;height:28px}
html body .command-ui.hoi-ui section.ww-card .ww-kicker{font:700 13px/1 var(--st-title,serif);letter-spacing:.18em;color:var(--st-gold,#d4b06b)}
html body .command-ui.hoi-ui section.ww-card[data-world="true"] .ww-kicker{color:#f2e6c4}
html body .command-ui.hoi-ui section.ww-card .ww-stamp{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--st-text-2,#aaa89f);font:12px/1 var(--st-num,system-ui);font-variant-numeric:tabular-nums}
html body .command-ui.hoi-ui section.ww-card button.ww-close{margin-left:auto;flex:none;display:inline-flex;align-items:center;gap:8px;height:44px;min-width:44px;padding:0 12px;border:0;border-radius:var(--st-r-sm,5px);background:transparent;box-shadow:inset 0 0 0 1px var(--st-line-2,#ffffff1c);color:var(--st-text-2,#aaa89f);font:600 13px/1 var(--st-font,system-ui);cursor:pointer;touch-action:manipulation}
html body .command-ui.hoi-ui section.ww-card button.ww-close b{font-size:20px;font-weight:400;line-height:1}
html body .command-ui.hoi-ui section.ww-card button.ww-close:hover{color:var(--st-text,#ece7db);background:#ffffff0d}

html body .command-ui.hoi-ui section.ww-card .ww-scroll{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}

/* hero: the photograph with the headline set on it */
html body .command-ui.hoi-ui section.ww-card .ww-hero{position:relative;margin:0;padding:0;background:#000;width:100%;height:clamp(200px,42vh,400px);overflow:hidden}
html body .command-ui.hoi-ui section.ww-card .ww-hero .ne-pic{position:absolute;inset:0;display:block;width:100%;height:100%;margin:0;border:0;background:#111}
html body .command-ui.hoi-ui section.ww-card .ww-hero .ne-pic img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 45%;background-size:cover;filter:contrast(1.05) sepia(.18)}
html body .command-ui.hoi-ui section.ww-card .ww-hero .ne-pic-blank{display:grid;place-items:center;background:radial-gradient(circle at 50% 40%,var(--nation,#444) 0,#0b0e10 70%)}
html body .command-ui.hoi-ui section.ww-card .ww-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0000 30%,#000000b8 78%,#000000e6);pointer-events:none}
html body .command-ui.hoi-ui section.ww-card .ww-hero figcaption{position:absolute;z-index:1;left:0;right:0;bottom:0;padding:18px 22px 16px;display:grid;gap:8px}
html body .command-ui.hoi-ui section.ww-card .ww-extra{justify-self:start;padding:3px 8px 2px;background:#b3261e;color:#fff;font:800 12px/1.2 var(--st-title,serif);letter-spacing:.3em}
html body .command-ui.hoi-ui section.ww-card .ww-title{margin:0;padding:0;color:#fbf6ea;font:900 clamp(26px,4.2vw,42px)/1.15 var(--st-title,Georgia,serif);letter-spacing:.06em;text-shadow:0 2px 12px #000}
html body .command-ui.hoi-ui section.ww-card .ww-dateline{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin:0;color:#e4dccb;font:13px/1.4 var(--st-font,system-ui)}
html body .command-ui.hoi-ui section.ww-card .ww-dateline time{color:var(--st-gold-hi,#f0d69f);font:700 13px/1.4 var(--st-num,system-ui);letter-spacing:.06em}
html body .command-ui.hoi-ui section.ww-card .ww-dateline em{font-style:normal;color:#cfc6b4}
html body .command-ui.hoi-ui section.ww-card .ww-dateline em::before{content:'— '}

/* body: story | choices */
html body .command-ui.hoi-ui section.ww-card .ww-body{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start}
html body .command-ui.hoi-ui section.ww-card .ww-story{padding:18px 20px 20px;background:linear-gradient(180deg,#e6dec8,#d8cfb5);color:#2b2a24;font:15px/1.85 var(--st-font,system-ui);min-height:100%}
html body .command-ui.hoi-ui section.ww-card .ww-story>p{margin:0 0 12px}
html body .command-ui.hoi-ui section.ww-card .ww-story>p:first-child::first-letter{float:left;margin:4px 8px 0 0;font:900 44px/.9 var(--st-title,serif);color:#5b2a1c}
html body .command-ui.hoi-ui section.ww-card .ww-quote{margin:16px 0 4px;padding:12px 14px 10px 16px;border-left:3px solid #8b6b2e;background:#00000010}
html body .command-ui.hoi-ui section.ww-card .ww-quote p{margin:0;font:italic 600 16px/1.7 var(--st-title,Georgia,serif);color:#2c2418}
html body .command-ui.hoi-ui section.ww-card .ww-quote cite{display:block;margin-top:6px;font:normal 12px/1.4 var(--st-font,system-ui);color:#6a5f4a}
html body .command-ui.hoi-ui section.ww-card .ww-quote cite::before{content:'—— '}
html body .command-ui.hoi-ui section.ww-card .ww-sources{margin:14px 0 0;border-top:1px solid #00000022;font-size:12px;line-height:1.7;color:#4c473b}
html body .command-ui.hoi-ui section.ww-card .ww-sources summary{display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer;list-style:none;font-weight:600;color:#4c473b}
html body .command-ui.hoi-ui section.ww-card .ww-sources summary::-webkit-details-marker{display:none}
html body .command-ui.hoi-ui section.ww-card .ww-sources summary::before{content:'＋'}
html body .command-ui.hoi-ui section.ww-card .ww-sources[open] summary::before{content:'−'}
html body .command-ui.hoi-ui section.ww-card .ww-sources summary span{margin-left:auto;font-weight:400;opacity:.7}
html body .command-ui.hoi-ui section.ww-card .ww-sources ol{margin:0;padding:0 0 0 18px}
html body .command-ui.hoi-ui section.ww-card .ww-sources a{display:inline-block;min-height:32px;padding:5px 0;color:#3b4a35;overflow-wrap:anywhere}

html body .command-ui.hoi-ui section.ww-card .ww-choices{padding:16px 16px 14px;background:var(--st-2,#12171b)}
html body .command-ui.hoi-ui section.ww-card .ww-choices>h4{margin:0 0 12px;padding:0 0 10px;border-bottom:1px solid var(--st-line-2,#ffffff1c);color:var(--st-gold,#d4b06b);font:700 13px/1 var(--st-title,serif);letter-spacing:.2em}
html body .command-ui.hoi-ui section.ww-card ol.ww-opts{display:grid;gap:10px;margin:0;padding:0;list-style:none}
html body .command-ui.hoi-ui section.ww-card .ww-opts>li.ne-opt{display:block;margin:0;padding:0;background:var(--st-3,#192026);box-shadow:inset 0 0 0 1px var(--st-line-2,#ffffff1c);border-radius:var(--st-r,8px);overflow:hidden}
html body .command-ui.hoi-ui section.ww-card .ww-opts>li.ne-opt[data-chosen="true"]{box-shadow:inset 0 0 0 2px var(--st-gold,#d4b06b);background:linear-gradient(180deg,#2a2416,var(--st-3,#192026))}
html body .command-ui.hoi-ui section.ww-card .ww-opts>li.ne-opt[data-ok="false"]{opacity:.6}
html body .command-ui.hoi-ui section.ww-card .ww-opts .ne-opt-btn{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;margin:0;padding:8px 14px 8px 10px;border:0;border-radius:0;background:linear-gradient(180deg,#ffffff0c,#ffffff03);color:var(--st-text,#ece7db);font:700 16px/1.35 var(--st-title,serif);letter-spacing:.03em;text-align:left;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background .12s}
html body .command-ui.hoi-ui section.ww-card .ww-opts button.ne-opt-btn:hover:not(:disabled){background:linear-gradient(180deg,#d4b06b26,#d4b06b10)}
html body .command-ui.hoi-ui section.ww-card .ww-opts button.ne-opt-btn:active:not(:disabled){background:#d4b06b33}
html body .command-ui.hoi-ui section.ww-card .ww-opts button.ne-opt-btn:disabled{cursor:default}
html body .command-ui.hoi-ui section.ww-card .ww-opts .ne-choice-letter{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--st-gold,#d4b06b);color:var(--st-gold-ink,#1a1307);font:800 15px/1 var(--st-num,system-ui)}
html body .command-ui.hoi-ui section.ww-card .ww-opts li[data-ok="false"] .ne-choice-letter{background:var(--st-text-3,#72767a)}
html body .command-ui.hoi-ui section.ww-card .ww-opts .ne-ai{margin-left:auto;flex:none;padding:3px 7px;border-radius:3px;background:#ffffff12;color:var(--st-text-2,#aaa89f);font:600 11px/1 var(--st-font,system-ui);letter-spacing:.05em}
html body .command-ui.hoi-ui section.ww-card .ww-opts .ne-opt-desc{margin:0;padding:0 14px 6px 56px;color:var(--st-text-2,#aaa89f);font:13px/1.55 var(--st-font,system-ui)}
html body .command-ui.hoi-ui section.ww-card .ww-opts .ne-why{margin:0;padding:0 14px 6px 56px;color:var(--st-red,#e05a47);font-size:12px}
html body .command-ui.hoi-ui section.ww-card .ww-opts .ne-option-effects{padding:2px 12px 12px 56px}
html body .command-ui.hoi-ui section.ww-card .ww-opts .ne-effect-label{display:none}
html body .command-ui.hoi-ui section.ww-card .ww-opts ul.ne-eff{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
html body .command-ui.hoi-ui section.ww-card .ww-opts ul.ne-eff>li{display:flex;align-items:flex-start;gap:6px;max-width:100%;margin:0;padding:5px 8px;border-radius:4px;background:#00000059;box-shadow:inset 0 0 0 1px var(--st-line,#ffffff10);color:var(--st-text,#ece7db);font:12px/1.4 var(--st-font,system-ui)}
html body .command-ui.hoi-ui section.ww-card .ww-opts ul.ne-eff>li:is([data-kind="spirit"],[data-kind="swap"]){flex-basis:100%;background:linear-gradient(90deg,#d4b06b14,#00000059)}
html body .command-ui.hoi-ui section.ww-card .ww-opts ul.ne-eff>li>:is(img,svg,.fw-thumb,.spirit-thumb){flex:none;width:28px;height:28px}
html body .command-ui.hoi-ui section.ww-card .ww-opts .ne-effect-detail{display:grid;gap:4px;min-width:0}
html body .command-ui.hoi-ui section.ww-card .ww-opts .ne-effect-detail>span{font-weight:600}
html body .command-ui.hoi-ui section.ww-card .ww-opts dl.ne-effect-mods{display:flex;flex-wrap:wrap;gap:4px;margin:0}
html body .command-ui.hoi-ui section.ww-card .ww-opts dl.ne-effect-mods>div{display:flex;gap:4px;padding:2px 6px;border-radius:3px;background:#ffffff0d;font-size:11px}
html body .command-ui.hoi-ui section.ww-card .ww-opts dl.ne-effect-mods dt{margin:0;color:var(--st-text-2,#aaa89f)}
html body .command-ui.hoi-ui section.ww-card .ww-opts dl.ne-effect-mods dd{margin:0;font-weight:700;font-family:var(--st-num,system-ui)}
html body .command-ui.hoi-ui section.ww-card .ww-opts dl.ne-effect-mods [data-good="true"] dd{color:var(--st-org,#7cc46b)}
html body .command-ui.hoi-ui section.ww-card .ww-opts dl.ne-effect-mods [data-good="false"] dd{color:var(--st-red,#e05a47)}
html body .command-ui.hoi-ui section.ww-card .ww-opts .ne-effect-loading,html body .command-ui.hoi-ui section.ww-card .ww-opts .ne-eff-none{margin:0;color:var(--st-text-3,#72767a);font-size:11px}

html body .command-ui.hoi-ui section.ww-card .ww-foot{margin-top:12px}
html body .command-ui.hoi-ui section.ww-card .ww-foot .ne-deadline{position:relative;height:6px;margin:0 0 8px;border-radius:3px;background:#ffffff14;overflow:hidden}
html body .command-ui.hoi-ui section.ww-card .ww-foot .ne-deadline>i{position:absolute;inset:0 auto 0 0;background:var(--st-gold,#d4b06b)}
html body .command-ui.hoi-ui section.ww-card .ww-foot .ne-foot{margin:0;color:var(--st-text-2,#aaa89f);font:12px/1.5 var(--st-font,system-ui)}
html body .command-ui.hoi-ui section.ww-card .ww-foot .ne-err{color:var(--st-red,#e05a47)}

/* narrow or portrait (iPad portrait, phones): one column, a shorter photograph */
@media (max-width:820px),(orientation:portrait) and (max-width:1100px){
 html body .command-ui.hoi-ui section.ww-card{top:72px;width:calc(100vw - 16px);max-height:calc(100dvh - 84px)}
 html body .command-ui.hoi-ui section.ww-card .ww-body{grid-template-columns:1fr}
 html body .command-ui.hoi-ui section.ww-card .ww-hero{height:clamp(190px,30vh,360px)}
}
@media (max-width:480px){
 html body .command-ui.hoi-ui section.ww-card .ww-hero figcaption{padding:12px 14px}
 html body .command-ui.hoi-ui section.ww-card .ww-story{padding:14px}
 html body .command-ui.hoi-ui section.ww-card .ww-opts :is(.ne-opt-desc,.ne-why,.ne-option-effects){padding-left:14px}
}
@media (max-height:600px) and (orientation:landscape){
 html body .command-ui.hoi-ui section.ww-card{top:8px;max-height:calc(100dvh - 16px)}
 html body .command-ui.hoi-ui section.ww-card .ww-hero{height:150px}
}

/* the photograph always fills the hero, whatever older .ne-pic sizing rules say */
html body .command-ui.hoi-ui section.ww-card .ww-hero>.ne-pic{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;aspect-ratio:auto!important;padding:0!important}
html body .command-ui.hoi-ui section.ww-card .ww-hero>.ne-pic>img{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important}
/* spirit thumbnails in effect chips stay small */
html body .command-ui.hoi-ui section.ww-card .ww-opts ul.ne-eff>li>.rg-ic{flex:none!important;width:30px!important;height:30px!important;min-width:0!important;max-width:30px!important;overflow:hidden;border-radius:3px}
html body .command-ui.hoi-ui section.ww-card .ww-opts ul.ne-eff>li>.rg-ic :is(img,svg){width:100%!important;height:100%!important;object-fit:cover}
html body .command-ui.hoi-ui section.ww-card .ww-opts .ne-effect-detail{flex:1}
/* while a card is open the dispatch chips step aside (closing with 稍后 brings them back) */
html body .command-ui.hoi-ui .ne-dock:has(~ section.ww-card){display:none!important}
html body:has(section.ww-card) .th-dispatches{opacity:0!important;visibility:hidden;transition:opacity .15s}
html body:has(section.ww-card) #map-joystick{opacity:0!important;pointer-events:none!important}
html body:has(#politics-window,.nf-window,.ww-card) .th-dispatches{opacity:0!important;visibility:hidden}

/* ── staff/80-aid.css ── */
/* AID-UI-2 · arms aid in the diplomacy window (armsTransfer.ts) and the war-goal-ready alert (BETA-JUSTIFY-2).
   Touch first: equipment tiles and quantity buttons are at least 44 px; the send button 48 px. */
html body .command-ui.hoi-ui .aid-card{margin:12px 0;padding:12px;color:var(--st-text,#ece7db);background:var(--st-2,#141a1e);border:1px solid var(--st-line-2,#2c3338);border-left:3px solid var(--st-gold,#c9a45c);box-sizing:border-box}
html body .command-ui.hoi-ui .aid-card *{box-sizing:border-box}
html body .command-ui.hoi-ui .aid-card>header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;margin-bottom:10px}
html body .command-ui.hoi-ui .aid-card>header h4{display:flex;align-items:center;gap:8px;margin:0;font:600 16px/1.2 var(--st-title,var(--st-font,system-ui));letter-spacing:.04em}
html body .command-ui.hoi-ui .aid-card>header h4 svg{width:20px;height:20px}
html body .command-ui.hoi-ui .aid-route{padding:4px 10px;font-size:13px;color:var(--st-text-2,#c9c2b2);background:var(--st-1,#0c1013);border:1px solid var(--st-line-2,#2c3338);border-radius:999px}
html body .command-ui.hoi-ui .aid-route[data-mode="SEA"]{color:#cfe0ef;border-color:#3c5a73}
html body .command-ui.hoi-ui .aid-route[data-mode="NONE"]{color:var(--st-red,#d0705c);border-color:#6b3329}
html body .command-ui.hoi-ui .aid-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;margin-bottom:10px}
html body .command-ui.hoi-ui .aid-items>button{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:baseline;gap:0 8px;min-height:52px;padding:6px 10px;text-align:left;color:inherit;background:var(--st-1,#0c1013);border:1px solid var(--st-line-2,#2c3338);cursor:pointer}
html body .command-ui.hoi-ui .aid-items>button b{grid-column:1;font-size:14px;font-weight:600}
html body .command-ui.hoi-ui .aid-items>button small{grid-column:1;grid-row:2;font-size:12px;color:var(--st-text-3,#8f8a7d);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body .command-ui.hoi-ui .aid-items>button em{grid-column:2;grid-row:1/3;align-self:center;font-style:normal;font:600 15px/1 var(--st-num,var(--st-font,system-ui));color:var(--st-gold-hi,#f0d69f)}
html body .command-ui.hoi-ui .aid-items>button[aria-pressed="true"]{background:#2b2414;border-color:var(--st-gold,#c9a45c);box-shadow:inset 0 0 0 1px var(--st-gold,#c9a45c)}
html body .command-ui.hoi-ui .aid-qty{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px}
html body .command-ui.hoi-ui .aid-qty>button{min-width:44px;height:44px;padding:0 10px;font-size:16px;color:inherit;background:var(--st-1,#0c1013);border:1px solid var(--st-line-2,#2c3338);cursor:pointer}
html body .command-ui.hoi-ui .aid-qty>button.aid-chip{font-size:14px}
html body .command-ui.hoi-ui .aid-qty>button[aria-pressed="true"]{border-color:var(--st-gold,#c9a45c);color:var(--st-gold-hi,#f0d69f)}
html body .command-ui.hoi-ui .aid-qty input{width:110px;height:44px;padding:0 10px;font:600 18px/1 var(--st-num,var(--st-font,system-ui));text-align:center;color:inherit;background:var(--st-0,#070a0c);border:1px solid var(--st-line-3,#3a434a)}
html body .command-ui.hoi-ui .aid-card>footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}
html body .command-ui.hoi-ui .aid-note{font-size:13px;color:var(--st-text-3,#8f8a7d)}
html body .command-ui.hoi-ui .aid-warn{font-size:13px;color:var(--st-red,#d0705c)}
html body .command-ui.hoi-ui .aid-send{min-height:48px;padding:0 22px;font:600 15px/1 var(--st-font,system-ui);color:#1a1408;background:linear-gradient(180deg,var(--st-gold-hi,#f0d69f),var(--st-gold,#c9a45c));border:1px solid #000;cursor:pointer}
html body .command-ui.hoi-ui .aid-send:disabled{opacity:.45;cursor:not-allowed}
html body .command-ui.hoi-ui .aid-empty{margin:4px 0 10px;font-size:14px;color:var(--st-text-3,#8f8a7d)}
html body .command-ui.hoi-ui .aid-help{margin:10px 0 0;font-size:12px;line-height:1.5;color:var(--st-text-3,#8f8a7d)}
html body .command-ui.hoi-ui .aid-ships{display:flex;flex-direction:column;gap:6px;margin:10px 0 0;padding:0;list-style:none}
html body .command-ui.hoi-ui .aid-ship{position:relative;padding:8px 10px;background:var(--st-1,#0c1013);border:1px solid var(--st-line-2,#2c3338);border-left:3px solid #6b8f5a}
html body .command-ui.hoi-ui .aid-ship[data-incoming="true"]{border-left-color:#4f7fa3}
html body .command-ui.hoi-ui .aid-ship-head{display:flex;justify-content:space-between;gap:8px;font-size:13px}
html body .command-ui.hoi-ui .aid-ship-head span{color:var(--st-text-3,#8f8a7d)}
html body .command-ui.hoi-ui .aid-ship p{margin:4px 0;font-size:13px}
html body .command-ui.hoi-ui .aid-ship p em{color:var(--st-red,#d0705c);font-style:normal}
html body .command-ui.hoi-ui .aid-bar{display:block;height:4px;background:#000a}
html body .command-ui.hoi-ui .aid-bar i{display:block;height:100%;background:var(--st-gold,#c9a45c)}
html body .command-ui.hoi-ui .aid-recall{margin-top:6px;min-height:36px;padding:0 12px;color:inherit;background:transparent;border:1px solid var(--st-line-3,#3a434a);cursor:pointer}
html body .command-ui.hoi-ui .aid-summary{margin:8px 0;padding:8px 12px;background:var(--st-2,#141a1e);border:1px solid var(--st-line-2,#2c3338)}
html body .command-ui.hoi-ui .aid-summary>summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-height:36px;font-weight:600;cursor:pointer}
html body .command-ui.hoi-ui .aid-summary>summary svg{width:18px;height:18px}
html body .command-ui.hoi-ui .aid-summary>summary span{font-weight:400;font-size:13px;color:var(--st-text-3,#8f8a7d)}
html body .command-ui.hoi-ui .be-note{font-size:13px;color:var(--st-text-3,#8f8a7d)}
/* war goal ready (alert strip) */
html body .command-ui.hoi-ui nav.national-alert-strip>button.war-goal-ready{border-color:#b0402e;background:linear-gradient(180deg,#4a1a12,#2a0f0b)}
@media (max-width:700px){html body .command-ui.hoi-ui .aid-items{grid-template-columns:1fr 1fr}html body .command-ui.hoi-ui .aid-send{width:100%}}
/* RESEARCH-SLOTS-1: a research slot's specialisation chip (通用 / institute field). */
html body .command-ui.hoi-ui .rw-slot .rw-slot-kind{display:inline-block;margin-left:0;padding:0 6px;font-style:normal;font-size:11px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;line-height:16px;border:1px solid var(--st-line-3,#3a434a);border-radius:999px;color:var(--st-text-2,#c9c2b2)}
html body .command-ui.hoi-ui .rw-slot .rw-slot-kind[data-kind="general"]{color:var(--st-gold-hi,#f0d69f);border-color:var(--st-gold-lo,#7c643a)}

/* ── staff/81-resources.css ── */
/* RES-UI-2 · resources and trade workbench (resources.ts cashResourceTab). Two columns on landscape tablets, one on
   portrait phones; ledger rows, seller amounts and the fill-the-gap button are touch sized (≥44 px). */
html body .command-ui.hoi-ui .rs2{color:var(--st-text,#ece7db)}
html body .command-ui.hoi-ui .rs2 *{box-sizing:border-box}
html body .command-ui.hoi-ui .rs2 h4{display:flex;align-items:baseline;gap:8px;margin:14px 0 8px;font:600 15px/1.2 var(--st-title,var(--st-font,system-ui));letter-spacing:.04em;color:var(--st-gold-hi,#f0d69f)}
html body .command-ui.hoi-ui .rs2 h4 small{font:400 12px/1 var(--st-font,system-ui);color:var(--st-text-3,#8f8a7d);letter-spacing:0}
html body .command-ui.hoi-ui .rs2-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:6px}
html body .command-ui.hoi-ui .rs2-head h3{margin:2px 0 0;font:600 22px/1.1 var(--st-title,var(--st-font,system-ui))}
html body .command-ui.hoi-ui .rs2-cash{display:flex;align-items:baseline;gap:8px;padding:6px 6px 6px 12px;background:var(--st-2,#141a1e);border:1px solid var(--st-line-2,#2c3338)}
html body .command-ui.hoi-ui .rs2-cash span{font-size:12px;color:var(--st-text-3,#8f8a7d)}
html body .command-ui.hoi-ui .rs2-cash strong{font:600 20px/1 var(--st-num,var(--st-font,system-ui))}
html body .command-ui.hoi-ui .rs2-cash small{font-size:12px;color:var(--st-text-2,#c9c2b2)}
html body .command-ui.hoi-ui .rs2-cash button{min-height:36px;margin-left:6px;padding:0 10px;color:inherit;background:var(--st-1,#0c1013);border:1px solid var(--st-line-3,#3a434a)}
html body .command-ui.hoi-ui .rs2-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:16px;align-items:start}
@media (max-width:860px),(orientation:portrait){html body .command-ui.hoi-ui .rs2-grid{grid-template-columns:1fr}}
/* ledger */
html body .command-ui.hoi-ui .rs2-ledger{width:100%;border-collapse:collapse;font-size:13px}
html body .command-ui.hoi-ui .rs2-ledger thead th{padding:4px 6px;font-weight:400;font-size:12px;text-align:right;color:var(--st-text-3,#8f8a7d);border-bottom:1px solid var(--st-line-2,#2c3338)}
html body .command-ui.hoi-ui .rs2-ledger thead th:first-child{text-align:left}
html body .command-ui.hoi-ui .rs2-ledger tbody tr{height:52px;cursor:pointer;border-bottom:1px solid var(--st-line-2,#2c3338)}
html body .command-ui.hoi-ui .rs2-ledger tbody tr:hover{background:#ffffff08}
html body .command-ui.hoi-ui .rs2-ledger tbody tr[aria-selected="true"]{background:#2b2414;box-shadow:inset 3px 0 0 var(--st-gold,#c9a45c)}
html body .command-ui.hoi-ui .rs2-ledger tbody th{display:flex;align-items:center;gap:8px;padding:4px 6px;text-align:left;font-weight:400}
html body .command-ui.hoi-ui .rs2-ledger tbody th .rs-ic{width:32px;height:32px;flex:none}
html body .command-ui.hoi-ui .rs2-ledger tbody th span{display:flex;flex-direction:column}
html body .command-ui.hoi-ui .rs2-ledger tbody th small{font-size:12px;color:var(--st-text-3,#8f8a7d)}
html body .command-ui.hoi-ui .rs2-ledger tbody tr[data-short="true"] th small{color:var(--st-red,#d0705c)}
html body .command-ui.hoi-ui .rs2-ledger td{padding:4px 6px;text-align:right;font-family:var(--st-num,var(--st-font,system-ui));color:var(--st-text-2,#c9c2b2)}
html body .command-ui.hoi-ui .rs2-fill{white-space:nowrap}
html body .command-ui.hoi-ui .rs2-fill b{color:var(--st-text,#ece7db)}
html body .command-ui.hoi-ui .rs2-fill small{color:var(--st-text-3,#8f8a7d)}
html body .command-ui.hoi-ui .rs2-bar{display:inline-block;width:56px;height:6px;margin-right:6px;vertical-align:middle;background:#000a}
html body .command-ui.hoi-ui .rs2-bar i{display:block;height:100%;background:#7fa36b}
html body .command-ui.hoi-ui .rs2-ledger tr[data-short="true"] .rs2-bar i{background:var(--st-red,#d0705c)}
html body .command-ui.hoi-ui .rs2-foot{display:flex;justify-content:space-between;align-items:center;margin-top:6px;font-size:12px;color:var(--st-text-3,#8f8a7d)}
html body .command-ui.hoi-ui .rs2-foot button{min-height:36px;padding:0 10px;color:inherit;background:transparent;border:1px solid var(--st-line-3,#3a434a)}
/* detail column */
html body .command-ui.hoi-ui .rs2-detail{padding:12px;background:var(--st-2,#141a1e);border:1px solid var(--st-line-2,#2c3338)}
html body .command-ui.hoi-ui .rs2-res{display:flex;align-items:center;gap:12px}
html body .command-ui.hoi-ui .rs2-res .rs-ic{width:56px;height:56px;flex:none}
html body .command-ui.hoi-ui .rs2-res>div{flex:1;display:flex;flex-direction:column;gap:2px}
html body .command-ui.hoi-ui .rs2-res h4{margin:0}
html body .command-ui.hoi-ui .rs2-res small{font-size:12px;color:var(--st-text-3,#8f8a7d)}
html body .command-ui.hoi-ui .rs2-gap,html body .command-ui.hoi-ui .rs2-ok{padding:4px 10px;font-size:13px;border-radius:999px;white-space:nowrap}
html body .command-ui.hoi-ui .rs2-gap{color:#ffd9cf;background:#5a1f15;border:1px solid #a3402e}
html body .command-ui.hoi-ui .rs2-ok{color:#d5ecc7;background:#1f3a1a;border:1px solid #4d7a3f}
html body .command-ui.hoi-ui .rs2-fillgap{display:block;width:100%;min-height:50px;margin:12px 0 4px;padding:6px 12px;font:600 14px/1.3 var(--st-font,system-ui);color:#1a1408;background:linear-gradient(180deg,var(--st-gold-hi,#f0d69f),var(--st-gold,#c9a45c));border:1px solid #000;cursor:pointer}
html body .command-ui.hoi-ui .rs2-fillgap:disabled{opacity:.45}
html body .command-ui.hoi-ui .rs2-draft{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0;padding:10px;background:var(--st-1,#0c1013);border:1px solid var(--st-gold-lo,#7c643a)}
html body .command-ui.hoi-ui .rs2-draft label{width:100%;font-size:13px;color:var(--st-text-2,#c9c2b2)}
html body .command-ui.hoi-ui .rs2-draft p{margin:0;flex:1;font-size:13px}
html body .command-ui.hoi-ui .rs2-stepper{display:flex}
html body .command-ui.hoi-ui .rs2-stepper button{width:44px;height:44px;font-size:18px;color:inherit;background:var(--st-2,#141a1e);border:1px solid var(--st-line-3,#3a434a)}
html body .command-ui.hoi-ui .rs2-stepper input{width:80px;height:44px;text-align:center;font:600 18px/1 var(--st-num,var(--st-font,system-ui));color:inherit;background:var(--st-0,#070a0c);border:1px solid var(--st-line-3,#3a434a);border-width:1px 0}
html body .command-ui.hoi-ui .rs2-go{min-height:44px;padding:0 16px;font-weight:600;color:#1a1408;background:var(--st-gold,#c9a45c);border:1px solid #000}
html body .command-ui.hoi-ui .rs2-offers{display:flex;flex-direction:column;gap:6px;margin:10px 0;padding:0;list-style:none}
html body .command-ui.hoi-ui .rs2-offer{display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:center;padding:8px 10px;background:var(--st-1,#0c1013);border:1px solid var(--st-line-2,#2c3338)}
html body .command-ui.hoi-ui .rs2-offer[aria-selected="true"]{border-color:var(--st-gold,#c9a45c)}
html body .command-ui.hoi-ui .rs2-offer[data-ok="false"]{opacity:.55}
html body .command-ui.hoi-ui .rs2-offer>div{display:flex;flex-direction:column}
html body .command-ui.hoi-ui .rs2-offer small{font-size:12px;color:var(--st-text-3,#8f8a7d)}
html body .command-ui.hoi-ui .rs2-price{text-align:right}
html body .command-ui.hoi-ui .rs2-price b{font:600 16px/1 var(--st-num,var(--st-font,system-ui));color:var(--st-gold-hi,#f0d69f)}
html body .command-ui.hoi-ui .rs2-price small{display:block}
html body .command-ui.hoi-ui .rs2-amounts{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px}
html body .command-ui.hoi-ui .rs2-amounts button{min-width:52px;min-height:40px;padding:0 10px;color:inherit;background:var(--st-2,#141a1e);border:1px solid var(--st-line-3,#3a434a);cursor:pointer}
html body .command-ui.hoi-ui .rs2-amounts button[aria-pressed="true"]{border-color:var(--st-gold,#c9a45c);color:var(--st-gold-hi,#f0d69f)}
html body .command-ui.hoi-ui .rs2-contracts li{min-height:52px}

/* ── staff/82-research-vertical.css ── */
/* RESEARCH-TREE-V · Black ICE research layout: years run down the left edge, every sub-branch heads its own column.
   The header row and the year column stay pinned while the tree scrolls (sticky inside the scroll canvas). */
html body .command-ui.hoi-ui section.rw-window .rw-vtree{position:relative}
html body .command-ui.hoi-ui section.rw-window .rw-vcol{position:absolute;top:0;pointer-events:none;border-left:1px solid #79acd614}
html body .command-ui.hoi-ui section.rw-window .rw-vcol[data-alt="1"]{background:#ffffff05}
html body .command-ui.hoi-ui section.rw-window .rw-vband{position:absolute;left:0;pointer-events:none;border-top:1px solid #3d556055}
html body .command-ui.hoi-ui section.rw-window .rw-vband[data-alt="1"]{background:#79acd607}
html body .command-ui.hoi-ui section.rw-window .rw-vheads{position:sticky;top:0;z-index:6;display:block;background:linear-gradient(180deg,#1b2b34,#121e25);border-bottom:1px solid var(--brass-lo,#7c643a)}
html body .command-ui.hoi-ui section.rw-window .rw-vcorner{position:sticky;left:0;z-index:2;display:flex;align-items:center;justify-content:center;width:64px;height:100%;font-size:11px;letter-spacing:.12em;color:var(--paper-3,#8f8a7d);background:inherit;border-right:1px solid var(--line,#2c3338)}
html body .command-ui.hoi-ui section.rw-window .rw-vhead{position:absolute;top:0;bottom:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;padding:0 14px;box-sizing:border-box;border-left:1px solid var(--line,#2c3338);text-align:left}
html body .command-ui.hoi-ui section.rw-window .rw-vhead b{font:700 13px/1.2 var(--font-title,var(--st-title,system-ui));letter-spacing:.14em;color:var(--paper,#ece7db);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
html body .command-ui.hoi-ui section.rw-window .rw-vhead em{font-style:normal;font-size:11px;color:#f0a593}
html body .command-ui.hoi-ui section.rw-window .rw-vhead[data-alt="1"]{background:#ffffff06}
html body .command-ui.hoi-ui section.rw-window .rw-vyears{position:sticky;left:0;top:0;z-index:5;width:64px;pointer-events:none}
html body .command-ui.hoi-ui section.rw-window .rw-vyear{position:absolute;left:0;width:64px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;background:linear-gradient(90deg,#16242c,#111b21);border-right:1px solid var(--brass-lo,#7c643a);border-top:1px solid #3d556055}
html body .command-ui.hoi-ui section.rw-window .rw-vyear b{font:700 15px/1.2 var(--font-title,system-ui);color:var(--paper,#ece7db);writing-mode:horizontal-tb;text-align:center;padding:0 4px}
html body .command-ui.hoi-ui section.rw-window .rw-vnow{position:absolute;height:0;border-top:1.5px dashed #ecd08a8c;pointer-events:none;z-index:1}
html body .command-ui.hoi-ui section.rw-window .rw-vnow span{position:sticky;left:70px;display:inline-block;margin-top:-10px;padding:0 6px;font:700 11px/18px var(--font-title,system-ui);color:#17130a;background:var(--brass,#c9a45c)}
/* Denser Black ICE-style cards: more branches fit on an iPad landscape screen (≈5 columns at 1180 px), still ≥44 px tall for touch. */
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-node{width:158px;height:70px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-node-art{flex-basis:46px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-node-art svg{width:42px;height:32px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-node-txt{padding:3px 6px 4px;gap:1px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-name{font-size:12.5px;line-height:1.22;-webkit-line-clamp:2}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-foot{font-size:10.5px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-vhead{padding:0 10px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-vhead b{font-size:12.5px;letter-spacing:.08em}
/* Black ICE status reading: completed = solid gold frame; waiting on a prerequisite = red/white diagonal stripes on the
   icon; mutually exclusive = dimmed and struck through (no stripes, so the two never look alike). */
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-node[data-status="done"]{border:1.5px solid var(--brass,#c9a45c)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-node[data-status="locked"] .rw-node-art{background:repeating-linear-gradient(135deg,#b8402e55 0 7px,#e8e1d01f 7px 14px),#0d161b}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-legend [data-status="locked"]{background:repeating-linear-gradient(135deg,#b8402e88 0 3px,#e8e1d040 3px 6px)}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-node[data-status="excluded"]{background:#121214;opacity:.72}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-legend [data-status="excluded"]{background:#121214;opacity:.72}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-foot em{white-space:nowrap}
/* Icon mode: 56 px squares (touch ≥44 px); the name and duration move to the detail panel and the accessible label. */
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-canvas[data-icons="1"] .rw-node{width:56px;height:56px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-canvas[data-icons="1"] .rw-node-art{flex:1 1 auto;border-right:0;border-radius:2px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-canvas[data-icons="1"] .rw-node-art svg{width:44px;height:36px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-canvas[data-icons="1"] .rw-node-txt{display:none}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-canvas[data-icons="1"] .rw-mark{top:-7px;right:-7px;width:18px;height:18px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-canvas[data-icons="1"] .rw-prod{display:none}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-canvas[data-icons="1"] .rw-vhead{padding:0 6px}
html body.playable-integrated .command-ui.hoi-ui section.rw-window .rw-canvas[data-icons="1"] .rw-vhead b{font-size:11.5px;letter-spacing:.02em;white-space:normal;line-height:1.15}

/* ── staff/83-volunteers.css ── */
/* BETA-VOLUNTEERS-1 · volunteer card in the diplomacy window (volunteers.ts). Touch targets ≥ 48 px. */
html body .command-ui.hoi-ui:not(#_) .vol-card{margin:12px 0;padding:12px;color:var(--st-text,#ece7db);background:var(--st-2,#141a1e);border:1px solid var(--st-line-2,#2c3338);border-left:3px solid #8a9a5b;box-sizing:border-box}
html body .command-ui.hoi-ui:not(#_) .vol-card *{box-sizing:border-box}
html body .command-ui.hoi-ui:not(#_) .vol-card>header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;margin-bottom:8px}
html body .command-ui.hoi-ui:not(#_) .vol-card>header h4{display:flex;align-items:center;gap:8px;margin:0;font:600 16px/1.2 var(--st-title,var(--st-font,system-ui));letter-spacing:.04em}
html body .command-ui.hoi-ui:not(#_) .vol-card>header h4 svg{width:20px;height:20px}
html body .command-ui.hoi-ui:not(#_) .vol-quota{padding:4px 10px;font-size:13px;color:var(--st-text-2,#c9c2b2);background:var(--st-1,#0c1013);border:1px solid var(--st-line-2,#2c3338);border-radius:999px}
html body .command-ui.hoi-ui:not(#_) .vol-card h5{margin:12px 0 6px;font-size:13px;font-weight:600;color:var(--st-text-2,#c9c2b2)}
html body .command-ui.hoi-ui:not(#_) .vol-note{margin:0 0 8px;font-size:13px;line-height:1.5;color:var(--st-text-3,#8f8a7d)}
html body .command-ui.hoi-ui:not(#_) .vol-warn{font-size:13px;color:var(--st-red,#d0705c)}
html body .command-ui.hoi-ui:not(#_) .vol-empty{font-size:14px;color:var(--st-text-3,#8f8a7d)}
html body .command-ui.hoi-ui:not(#_) .vol-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px;max-height:232px;overflow:auto;margin-bottom:10px}
html body .command-ui.hoi-ui:not(#_) .vol-pick>button{display:flex;align-items:center;gap:10px;min-height:52px;padding:6px 10px;text-align:left;color:inherit;background:var(--st-1,#0c1013);border:1px solid var(--st-line-2,#2c3338);cursor:pointer}
html body .command-ui.hoi-ui:not(#_) .vol-pick>button b{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body .command-ui.hoi-ui:not(#_) .vol-pick>button small{font-size:12px;color:var(--st-text-3,#8f8a7d)}
html body .command-ui.hoi-ui:not(#_) .vol-pick>button[aria-pressed="true"]{background:#24291a;border-color:#8a9a5b;box-shadow:inset 0 0 0 1px #8a9a5b}
html body .command-ui.hoi-ui:not(#_) .vol-card>footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}
html body .command-ui.hoi-ui:not(#_) .vol-send{min-height:48px;padding:0 22px;font:600 15px/1 var(--st-font,system-ui);color:#14170c;background:linear-gradient(180deg,#c3cf94,#8a9a5b);border:1px solid #000;cursor:pointer}
html body .command-ui.hoi-ui:not(#_) .vol-send:disabled{opacity:.45;cursor:not-allowed}
html body .command-ui.hoi-ui:not(#_) .vol-list{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}
html body .command-ui.hoi-ui:not(#_) .vol-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:52px;padding:6px 10px;background:var(--st-1,#0c1013);border:1px solid var(--st-line-2,#2c3338);border-left:3px solid #8a9a5b}
html body .command-ui.hoi-ui:not(#_) .vol-row[data-status="PREPARING"],html body .command-ui.hoi-ui:not(#_) .vol-row[data-status="RETURNING"]{border-left-color:var(--st-gold,#c9a45c)}
html body .command-ui.hoi-ui:not(#_) .vol-row>div{display:flex;flex-direction:column;gap:2px;min-width:0}
html body .command-ui.hoi-ui:not(#_) .vol-row b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body .command-ui.hoi-ui:not(#_) .vol-row small{font-size:12px;color:var(--st-text-3,#8f8a7d)}
html body .command-ui.hoi-ui:not(#_) .vol-recall{flex:none;min-width:64px;min-height:44px;padding:0 12px;color:inherit;background:transparent;border:1px solid var(--st-line-3,#3a434a);cursor:pointer}
@media (max-width:700px){html body .command-ui.hoi-ui:not(#_) .vol-pick{grid-template-columns:1fr 1fr}html body .command-ui.hoi-ui:not(#_) .vol-send{width:100%}}
html body .command-ui.hoi-ui:not(#_) .vol-card>header{background:none;padding:0;border:0}
html body .command-ui.hoi-ui:not(#_) .vol-card>header h4{border:0;padding:0;background:none}
html body .command-ui.hoi-ui:not(#_) .vol-card>footer{background:none;border:0;padding:0;margin:0;position:static}
html body .command-ui.hoi-ui:not(#_) .vol-ic{flex:none;width:44px;height:31px;filter:drop-shadow(0 1px 1px #000a)}
html body .command-ui.hoi-ui:not(#_) .vol-pick>button>span{display:flex;flex-direction:column;gap:2px;min-width:0}
html body .command-ui.hoi-ui:not(#_) .vol-row{justify-content:flex-start}
html body .command-ui.hoi-ui:not(#_) .vol-row>div{flex:1}

/* ── staff/84-map-command-bar.css ── */
/* AIR-NAVY-OPS-1 · Hearts of Iron style command bar over the air / naval map views (mapCommandBar.ts).
   Bottom-centred, compact, touch first: every control ≥ 44 px; the chip row scrolls sideways instead of growing. */
html body .command-ui.hoi-ui:not(#_) .mcb{position:fixed;left:50%;bottom:calc(10px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:40;box-sizing:border-box;
 width:min(760px,calc(100vw - 24px));max-height:46vh;overflow:auto;padding:8px 10px;color:var(--st-text,#ece7db);
 background:linear-gradient(180deg,#18232bf2,#10181ef2);border:1px solid var(--st-gold-lo,#7c643a);border-top:2px solid var(--st-gold,#c9a45c);box-shadow:0 8px 24px #000a;backdrop-filter:blur(4px)}
html body .command-ui.hoi-ui:not(#_) .mcb *{box-sizing:border-box}
html body .command-ui.hoi-ui:not(#_) .mcb>header{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0 0 6px;padding:0;background:none;border:0}
html body .command-ui.hoi-ui:not(#_) .mcb>header b{font:600 15px/1.2 var(--st-title,var(--st-font,system-ui));white-space:nowrap}
html body .command-ui.hoi-ui:not(#_) .mcb>header span{flex:1;min-width:0;font-size:12px;color:var(--st-text-3,#8f8a7d);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body .command-ui.hoi-ui:not(#_) .mcb-ghost,html body .command-ui.hoi-ui:not(#_) .mcb-close{flex:none;min-width:44px;min-height:44px;padding:0 10px;white-space:nowrap;color:inherit;background:transparent;border:1px solid var(--st-line-3,#3a434a);cursor:pointer}
html body .command-ui.hoi-ui:not(#_) .mcb-close svg{width:18px;height:18px}
html body .command-ui.hoi-ui:not(#_) .mcb-hint{display:flex;align-items:center;gap:8px;margin:0;font-size:14px;color:var(--st-text-2,#c9c2b2)}
html body .command-ui.hoi-ui:not(#_) .mcb-hint svg{width:22px;height:22px}
html body .command-ui.hoi-ui:not(#_) .mcb-chips{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;margin-bottom:6px;-webkit-overflow-scrolling:touch}
html body .command-ui.hoi-ui:not(#_) .mcb-chip{flex:none;display:flex;align-items:center;gap:8px;min-height:48px;max-width:220px;padding:4px 10px 4px 6px;color:inherit;text-align:left;background:var(--st-1,#0c1013);border:1px solid var(--st-line-2,#2c3338);cursor:pointer;opacity:.62}
html body .command-ui.hoi-ui:not(#_) .mcb-chip[aria-pressed="true"]{opacity:1;border-color:var(--st-gold,#c9a45c);box-shadow:inset 0 0 0 1px var(--st-gold,#c9a45c);background:#231f14}
html body .command-ui.hoi-ui:not(#_) .mcb-chip span{display:flex;flex-direction:column;min-width:0}
html body .command-ui.hoi-ui:not(#_) .mcb-chip b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body .command-ui.hoi-ui:not(#_) .mcb-chip small{font-size:11px;color:var(--st-text-3,#8f8a7d);white-space:nowrap}
html body .command-ui.hoi-ui:not(#_) .mcb-chip .mcb-art,html body .command-ui.hoi-ui:not(#_) .mcb-chip svg{flex:none;width:48px;height:30px}
html body .command-ui.hoi-ui:not(#_) .mcb-move{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-bottom:6px;padding:6px 8px;background:#2a2412;border:1px solid var(--st-gold-lo,#7c643a)}
html body .command-ui.hoi-ui:not(#_) .mcb-move span{flex:1;min-width:160px;font-size:13px}
html body .command-ui.hoi-ui:not(#_) .mcb-go{min-height:44px;padding:0 16px;font-weight:600;color:#1a1408;background:linear-gradient(180deg,var(--st-gold-hi,#f0d69f),var(--st-gold,#c9a45c));border:1px solid #000;cursor:pointer}
html body .command-ui.hoi-ui:not(#_) .mcb-target{margin:0 0 6px;font-size:13px;color:var(--st-text-2,#c9c2b2)}
html body .command-ui.hoi-ui:not(#_) .mcb-missions{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:6px}
html body .command-ui.hoi-ui:not(#_) .mcb-mission{min-height:46px;padding:0 6px;font:600 14px/1.15 var(--st-font,system-ui);color:inherit;background:var(--st-1,#0c1013);border:1px solid var(--st-line-3,#3a434a);border-left:3px solid #6f8fa6;cursor:pointer}
html body .command-ui.hoi-ui:not(#_) .mcb-mission[data-tone="fighter"]{border-left-color:#6fa3c9}
html body .command-ui.hoi-ui:not(#_) .mcb-mission[data-tone="ground"]{border-left-color:#c98b4f}
html body .command-ui.hoi-ui:not(#_) .mcb-mission[data-tone="naval"]{border-left-color:#4f8fc9}
html body .command-ui.hoi-ui:not(#_) .mcb-mission:disabled{opacity:.4;cursor:not-allowed}
html body .command-ui.hoi-ui:not(#_) .mcb-msg{margin:6px 0 0;font-size:12px;color:var(--st-text-2,#c9c2b2)}
@media (max-width:700px){html body .command-ui.hoi-ui:not(#_) .mcb-missions{grid-template-columns:repeat(3,1fr)}}

/* ── staff/95-compact.css ── */
/* UI-COMPACT-1 · a denser command interface for iPad: less chrome, more map.
   Every control keeps a ≥44 px touch area: where the visible button is smaller, a transparent ::after extends it.
   Selectors carry :not(#_) so they win over the theme's ID-weighted rules without !important. */

/* ── top bar: 78 → ~62 px ── */
html body.playable-integrated .command-ui.hoi-ui header.hoi-top:not(#_){min-height:0;height:64px;grid-template-rows:28px 36px}
html body .command-ui.hoi-ui .hoi-top button.hoi-country:not(#_){min-height:0;height:62px;padding:0 8px;gap:6px}
html body .command-ui.hoi-ui .hoi-top button.hoi-country:not(#_) .atlas-emblem{width:32px;height:32px}
html body .command-ui.hoi-ui .hoi-top button.hoi-country:not(#_) b{font-size:17px;letter-spacing:.12em}
html body .command-ui.hoi-ui .hoi-top button.hoi-country:not(#_) small{font-size:10px}
html body .command-ui.hoi-ui .hoi-top .hoi-national:not(#_){min-height:0;height:28px}
html body .command-ui.hoi-ui .hoi-top .hoi-national:not(#_)>*{min-height:0;height:28px;font-size:15px}
html body .command-ui.hoi-ui .hoi-top .hoi-national:not(#_) svg{width:16px;height:16px}
html body .command-ui.hoi-ui .hoi-top nav.hoi-management:not(#_){min-height:0;height:34px}
html body.playable-integrated .command-ui.hoi-ui .hoi-top nav.hoi-management:not(#_):not(#__)>button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0;height:34px;padding:1px 4px 0;font-size:10px;line-height:1.05;gap:1px;overflow:visible}
html body.playable-integrated .command-ui.hoi-ui .hoi-top nav.hoi-management:not(#_):not(#__)>button svg{width:16px;height:16px;flex:none}
html body .command-ui.hoi-ui .hoi-top nav.hoi-management:not(#_)>button::after{content:'';position:absolute;inset:-5px 0}
html body .command-ui.hoi-ui .hoi-top button#campaign-toggle:not(#_){width:46px;height:46px;min-height:0}
html body .command-ui.hoi-ui .hoi-top button#campaign-toggle:not(#_) svg{width:20px;height:20px}
html body.playable-integrated .command-ui.hoi-ui .hoi-top .hoi-time:not(#_){min-height:0;height:64px;padding:4px 8px;row-gap:2px}
html body.playable-integrated .command-ui.hoi-ui .hoi-top .hoi-time:not(#_)>strong{font-size:17px}
html body.playable-integrated .command-ui.hoi-ui .hoi-top .hoi-time:not(#_) .time-speeds button{position:relative;height:22px;min-height:0}
html body.playable-integrated .command-ui.hoi-ui .hoi-top .hoi-time:not(#_) .time-speeds button::after{content:'';position:absolute;inset:-8px 0}

/* ── alert strip: cards → slim chips ── */
html body .command-ui.hoi-ui nav.national-alert-strip:not(#_)>button{position:relative;min-height:0;height:34px;padding:0 8px;gap:6px;font-size:12px}
html body .command-ui.hoi-ui nav.national-alert-strip:not(#_)>button svg,html body .command-ui.hoi-ui nav.national-alert-strip:not(#_)>button img{width:20px;height:20px}
html body .command-ui.hoi-ui nav.national-alert-strip:not(#_)>button small{display:none}
html body .command-ui.hoi-ui nav.national-alert-strip:not(#_)>button::after{content:'';position:absolute;inset:-5px 0}

/* ── touch tray (多选 / 框选 / 海运): 60 → 46 px, the idle hint shrinks ── */
html body .command-ui.hoi-ui section.tc-tray:not(#_){min-height:0;padding-block:3px}
html body .command-ui.hoi-ui section.tc-tray:not(#_) button.tc-tool{min-height:0;height:40px;padding:0 10px;font-size:13px}
html body .command-ui.hoi-ui section.tc-tray:not(#_) button.tc-tool svg{width:18px;height:18px}
html body .command-ui.hoi-ui section.tc-tray.tc-empty:not(#_)>p{font-size:11px;max-width:180px;line-height:1.3;opacity:.75}

/* ── map-mode switch (地图 / 陆 / 海 / 空 …): icon buttons, label only on the active one ── */
html body .command-ui.hoi-ui .atlas-map-switch:not(#_) nav{min-height:0;padding:3px}
html body .command-ui.hoi-ui .atlas-map-switch:not(#_) nav>button{min-height:0;height:40px;min-width:40px;padding:0 8px}
html body .command-ui.hoi-ui .atlas-map-switch:not(#_) nav>button:not([aria-pressed="true"]) .st-mv-label{display:none}

/* ── map tools (zoom, fit, map modes) ── */
html body .map-card .map-toolbar:not(#_){min-height:0;padding:3px}
html body .map-card .map-toolbar:not(#_) .map-control-button{min-height:0;height:36px;min-width:36px;font-size:12px}
html body .command-ui.hoi-ui nav.hoi-map-modes:not(#_){min-height:0;padding:3px}
html body .command-ui.hoi-ui nav.hoi-map-modes:not(#_)>button{width:40px;height:40px;min-height:0}
html body .command-ui.hoi-ui nav.hoi-map-modes:not(#_)>button svg{width:19px;height:19px}

/* ── joystick and army cards ── */
html body.playable-integrated #map-joystick:not(#_){width:108px;height:108px;opacity:.78}
html body .command-ui.hoi-ui nav.ui-corps-bar:not(#_)>button.ui-corps-card{width:44px;height:54px;min-height:0}

/* ── windows: leave the map visible ── */
html body .command-ui.hoi-ui section#politics-window.pol-window{width:min(900px,calc(100vw - 24px));max-height:calc(100dvh - 80px)}
html body .command-ui.hoi-ui section#politics-window .pol-country-art{max-height:120px;overflow:hidden}
/* The two-column layout already owns its 200 px sidebar. Decisions and narrow
   screens reuse this element as a full-width tab strip, so never cap it here. */
html body .command-ui.hoi-ui section#politics-window .pol-sidebar{width:auto;min-width:0;max-width:none}
@media (orientation:portrait){html body .command-ui.hoi-ui section#politics-window.pol-window{width:calc(100vw - 16px);max-height:calc(100dvh - 160px)}}

/* Decisions are a working ledger: keep controls reachable and reserve height for
   the expanded text. ID scope also wins over national-identity header sizing.
   The one vertical scroller remains .pol-scroll; details never clip their text. */
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-window-head{min-height:52px;padding:3px 10px;box-sizing:border-box}
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-window-head>div{gap:8px}
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-window-head h2{font-size:19px;line-height:1.25;letter-spacing:.06em}
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-window-head small{display:none}
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] #politics-close{width:44px;height:44px;min-height:44px;padding:0;font-size:26px}
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-sidebar{padding:3px 6px}
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-sidebar nav{grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:3px}
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-sidebar nav button{min-height:44px;padding:4px 6px;font-size:12px;line-height:1.25;gap:5px;white-space:nowrap}
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-sidebar nav .hoi-icon{width:18px;height:18px}
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-account{min-height:44px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:5px 12px;box-sizing:border-box}
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-balance{gap:7px}
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-balance>div{flex-direction:row;align-items:baseline;gap:7px}
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-balance strong{font-size:23px}
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-balance>.hoi-icon{width:22px;height:22px}
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-income{grid-template-columns:auto auto minmax(0,1fr);gap:4px 9px;padding-left:12px}
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-income>b{font-size:19px}
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-income>div{grid-column:auto;justify-content:flex-end;gap:2px 10px}
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-scroll{padding:8px 10px;overflow-x:hidden}
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-orders-heading{min-height:44px;margin-bottom:6px;gap:8px}
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-orders-heading>div{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 10px;min-width:0}
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-orders-heading h3{font-size:17px;margin:0;letter-spacing:.04em}
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-orders-heading>button{padding:5px 9px;white-space:nowrap}
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-national-meters{gap:6px;margin-bottom:6px}
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-national-meter>summary{min-height:68px;padding:6px 10px}
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-meter-heading{margin-bottom:6px}
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-national-meter strong{font-size:20px}
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-meter-track{height:7px;margin-bottom:7px}
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-meter-detail{padding:2px 10px 7px}
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-army-reform{padding:8px 10px;margin-bottom:6px}
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-reform-heading{margin-bottom:5px}
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-reform-heading h3{font-size:17px}
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-reform-line{margin-top:6px}
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-reform-penalties{margin-top:6px}
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-order-filters{top:-8px;padding:3px 0;margin-bottom:6px;gap:4px}
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-order-filters button{min-height:44px;padding:4px 6px}
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-dossier-stack{gap:6px}
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-dossier-toggle{min-height:48px;gap:9px;padding:5px 9px}
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-dossier-seal{width:30px;height:34px}
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-dossier-title{gap:1px}
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-dossier-title>b{font-size:14px;letter-spacing:.03em}
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-dossier-body{padding:4px}
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-dossier-description{padding:5px 7px 7px;line-height:1.45}
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-order-row{min-height:48px;gap:5px;padding-right:5px}
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-order-open{min-height:48px;padding:4px 6px;gap:7px}
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-order-open>span:nth-child(2){gap:1px}
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-order-detail{padding:8px;min-width:0;overflow-wrap:anywhere}
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-order-meta{margin-bottom:5px;gap:6px}
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-order-detail>p{font-size:13px;line-height:1.45}
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-historical-reference{margin:4px 0;font-size:11px!important;letter-spacing:.02em;line-height:1.4}
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-decision-effects{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:6px 10px;margin:8px 0}
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-decision-effects>div{padding:4px 7px}
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-decision-effects>div[data-effect=result]{grid-column:auto}
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-order-detail .pol-effects{font-size:12px;line-height:1.45;margin:2px 0}
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-order-outcome{padding:5px 7px;margin:6px 0}
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-requirements{margin-top:6px}
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-requirements h4{margin:6px 0;line-height:1.3}
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-requirements ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:3px 12px;margin-bottom:4px;line-height:1.45}
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-requirements li{gap:5px}
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-order-reason{margin:5px 0;padding-left:6px}
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-bottom{min-height:48px;padding:2px 10px;gap:8px;box-sizing:border-box}
html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-bottom button{min-height:44px;padding:5px 9px;white-space:nowrap}
@media(max-width:650px){
 html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-account{gap:8px;padding-inline:9px}
 html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-income{grid-template-columns:1fr auto;padding-left:8px}
 html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-income>div{grid-column:1/-1;justify-content:flex-start}
 html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-balance>div{flex-direction:column;gap:0}
 html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-order-filters button{justify-content:center;gap:3px}
 html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-order-filters button span{margin-left:0}
}
@media(max-width:480px){
 html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-scroll{padding-inline:7px}
 html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-decision-effects{grid-template-columns:minmax(0,1fr)}
 html body .command-ui.hoi-ui section#politics-window[data-tab=decisions] .pol-requirements ul{grid-template-columns:minmax(0,1fr)}
}

/* the alert chips and the map tools sit closer to the slimmer top bar */
html body.playable-integrated .command-ui.hoi-ui nav.national-alert-strip:not(#_){top:76px}

/* the Beta finance HUD pins the nav buttons at 38 px with !important; inside the 34 px row that cut the labels off */
html[data-scenario] body.playable-integrated .command-ui.hoi-ui .hoi-top nav.hoi-management:not(#_){height:36px;max-height:36px;padding:1px 4px}
html[data-scenario] body.playable-integrated .command-ui.hoi-ui .hoi-top nav.hoi-management:not(#_)>button{height:34px!important;min-height:0!important;max-height:34px;padding:2px 4px 0!important;justify-content:center;gap:1px}
html[data-scenario] body.playable-integrated .command-ui.hoi-ui .hoi-top nav.hoi-management:not(#_)>button .hoi-icon{width:16px;height:16px}
html[data-scenario] body.playable-integrated .command-ui.hoi-ui .hoi-top nav.hoi-management:not(#_)>button span{font-size:10px;line-height:11px;letter-spacing:.04em}

/* ── focus window: 92 + 48 px of header and toolbar → 54 + 38, closer under the top bar ── */
html[data-scenario] body.playable-integrated .command-ui.hoi-ui section.nf-window:not(#_):not(#__){top:68px;grid-template-rows:54px 38px minmax(0,1fr)}
html[data-scenario] body.playable-integrated .command-ui.hoi-ui section.nf-window:not(#_):not(#__) .nf-head{height:54px;min-height:0;padding:4px 10px;gap:10px}
html[data-scenario] body.playable-integrated .command-ui.hoi-ui section.nf-window:not(#_):not(#__) .rg-leader{width:36px;height:46px}
html[data-scenario] body.playable-integrated .command-ui.hoi-ui section.nf-window:not(#_):not(#__) .rg-emblems{flex-direction:row;gap:4px}
html[data-scenario] body.playable-integrated .command-ui.hoi-ui section.nf-window:not(#_):not(#__) .rg-emblems>*{width:22px;height:22px}
html[data-scenario] body.playable-integrated .command-ui.hoi-ui section.nf-window:not(#_):not(#__) .nf-title h2{font-size:19px}
html[data-scenario] body.playable-integrated .command-ui.hoi-ui section.nf-window:not(#_):not(#__) .nf-title small{margin-top:2px;font-size:10px}
html[data-scenario] body.playable-integrated .command-ui.hoi-ui section.nf-window:not(#_):not(#__) .nf-current{min-height:0;height:44px;padding-block:3px}
html[data-scenario] body.playable-integrated .command-ui.hoi-ui section.nf-window:not(#_):not(#__) .nf-close{position:relative;width:38px;height:38px;font-size:22px}
html[data-scenario] body.playable-integrated .command-ui.hoi-ui section.nf-window:not(#_):not(#__) .nf-close::after{content:'';position:absolute;inset:-4px}
html[data-scenario] body.playable-integrated .command-ui.hoi-ui section.nf-window:not(#_):not(#__) .nf-tools{min-height:0;height:38px;padding-block:1px}
html[data-scenario] body.playable-integrated .command-ui.hoi-ui section.nf-window:not(#_):not(#__) .nf-searchbar input{height:32px;min-height:0}
html[data-scenario] body.playable-integrated .command-ui.hoi-ui section.nf-window:not(#_):not(#__) .nf-searchbar button{min-height:0;height:34px;padding-block:2px}

/* ── staff/iron (derived) ── */
html[data-ui-theme="iron"]{
 /* surfaces, deepest → raised */
 --st-0:#070706; --st-1:#0e0e0c; --st-2:#141512; --st-3:#1d1d1a; --st-4:#262623; --st-5:#30312d;
 /* hairlines */
 --st-line:#ede8d910; --st-line-2:#ede8d91c; --st-line-3:#ede8d930;
 /* brass accent */
 --st-gold:#c0b389; --st-gold-hi:#e1d6b4; --st-gold-lo:#6f664d; --st-gold-ink:#1a1307; --st-gold-wash:#c0b3891a; --st-gold-glow:#c0b38940;
 /* type */
 --st-text:#d7d2c4; --st-text-2:#a3a199; --st-text-3:#72716c;
 /* signals */
 --st-org:#7cc46b; --st-str:#c4b78d; --st-red:#e05a47; --st-red-wash:#e05a4722; --st-blue:#6aa8de; --st-blue-wash:#6aa8de1f; --st-amber:#e8a33d; --st-green-wash:#7cc46b1c;
 /* faces */
 --st-font:-apple-system,"SF Pro Text","PingFang SC","Hiragino Sans GB","Noto Sans CJK SC","Source Han Sans SC","Microsoft YaHei",system-ui,sans-serif;
 --st-title:"Songti SC","STSong","Noto Serif CJK SC","Source Han Serif SC",Georgia,serif;
 --st-num:"SF Pro Display","DIN Alternate","Bahnschrift","Roboto Condensed","Helvetica Neue",-apple-system,sans-serif;
 /* geometry and depth */
 --st-r:1px; --st-r-sm:1px; --st-tap:44px;
 --st-panel:linear-gradient(180deg,#181816f5 0%,#10100ef8 38%,#0c0c0bfa 100%);
 --st-raised:linear-gradient(180deg,#1f1f1c,#181816);
 --st-edge:0 0 0 1px #000000b0,inset 0 0 0 1px var(--st-line-2),inset 0 1px 0 #ede8d90d,0 22px 60px -14px #000000d9;
 --st-lift:0 0 0 1px #000000a0,0 10px 26px -8px #000000c0;
 --st-ease:cubic-bezier(.2,.8,.2,1);

 /* Re-point the shared ATLAS-INK tokens so every module that uses them follows. */
 --ink-0:var(--st-0); --ink-1:var(--st-1); --ink-2:var(--st-2); --ink-3:var(--st-3); --ink-4:#ede8d908;
 --line:var(--st-line-2); --line-hi:var(--st-line-3);
 --brass:var(--st-gold); --brass-hi:var(--st-gold-hi); --brass-lo:var(--st-gold-lo); --brass-glow:var(--st-gold-glow);
 --paper:var(--st-text); --paper-2:var(--st-text-2); --paper-3:var(--st-text-3);
 --go:var(--st-org); --stop:var(--st-red); --warn:var(--st-amber); --info:var(--st-blue);
 --bar-org:var(--st-org); --bar-str:var(--st-str); --bar-bg:#00000080;
 --font-ui:var(--st-font); --font-title:var(--st-title); --font-num:var(--st-num);
 --panel-bg:var(--st-panel); --panel-edge:var(--st-edge); --crop:none; --r:var(--st-r-sm);
 --tc-bg:var(--st-1); --tc-dim:var(--st-text-2);
 background:var(--st-0);
}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui{font-family:var(--st-font);color:var(--st-text);letter-spacing:.01em;-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui :is(small,.muted){color:var(--st-text-2)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui :is(h2,h3){font-family:var(--st-title);font-weight:700;letter-spacing:.06em;color:var(--st-text)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui :focus-visible{outline:2px solid var(--st-gold-hi);outline-offset:2px}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui :is(button,select,input:not([type="checkbox"],[type="radio"],[type="range"])){
 font-family:var(--st-font);border-radius:var(--st-r-sm);border:1px solid var(--st-line-2);background:linear-gradient(180deg,#242521,#1d1d1a);color:var(--st-text);
 box-shadow:inset 0 1px 0 #ede8d90c,0 1px 2px #00000077;text-shadow:none;transition:background .14s var(--st-ease),border-color .14s var(--st-ease),color .14s,box-shadow .14s,transform .08s}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui button:hover:not(:disabled){border-color:var(--st-line-3);background:linear-gradient(180deg,#2c2d29,#21221e)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui button:active:not(:disabled){transform:translateY(1px);background:#181816}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui :is(button[aria-pressed="true"],button.active,button[aria-checked="true"],button[aria-selected="true"]){
 background:linear-gradient(180deg,#3a3121,#2a2318);border-color:var(--st-gold-lo);color:var(--st-gold-hi);box-shadow:inset 0 -2px 0 var(--st-gold),inset 0 1px 0 #ede8d910}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui button:disabled{opacity:.42;filter:saturate(.3);cursor:not-allowed}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui :is(input:not([type="checkbox"],[type="radio"],[type="range"]),select){background:#0a0b09;border-color:var(--st-line-2);box-shadow:inset 0 1px 3px #000000cc}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui :is(input,select):focus{border-color:var(--st-gold-lo)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .hoi-icon{color:inherit}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui :is(.tc-primary,.st-primary,button.primary,[data-primary="true"]):not(:disabled){
 background:linear-gradient(180deg,#d0c39b,#aea178 60%,#968961);border-color:#e6dbbb;color:var(--st-gold-ink);font-weight:700;box-shadow:0 0 0 1px #000000aa,inset 0 1px 0 #ede8d977,0 6px 16px -6px var(--st-gold-glow)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui th{background:#0b0b0a;color:var(--st-text-2);font-weight:600;font-size:12px;letter-spacing:.08em}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui td{border-bottom:1px solid var(--st-line)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui summary{color:var(--st-text)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui *{scrollbar-width:thin;scrollbar-color:#ede8d92a transparent}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui ::-webkit-scrollbar{width:6px;height:6px}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui ::-webkit-scrollbar-thumb{background:#ede8d926;border-radius:1px}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui ::-webkit-scrollbar-track{background:transparent}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui :is(.tc-panel,.tc-tray,.tc-commands,.tc-pop,.tc-sheet,.tc-inspect,.tc-banner,.tc-toast,.ui-sidebar,.ui-notice,.hoi-commanders,.hoi-map-modes,.atlas-map-switch){
 background:var(--st-panel);border:0;border-radius:var(--st-r);box-shadow:var(--st-edge)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui :is(.rw-window,.nf-window,#air-window,#naval-window,#corps-window,#politics-window,.nav-sea-reading){
 background:var(--st-panel)!important;border:0!important;border-radius:var(--st-r)!important;box-shadow:var(--st-edge)!important}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar>header{background:linear-gradient(180deg,#1e1e1b,#141512);border-bottom:1px solid var(--st-line-2);box-shadow:inset 0 -1px 0 #000000;border-radius:var(--st-r) var(--st-r) 0 0}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar>header h2{font:700 21px/1.1 var(--st-title);letter-spacing:.14em;color:var(--st-text)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar>header .atlas-panel-title .hoi-icon{color:var(--st-gold)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui :is(#ui-close,.ui-back,.tc-x,.sr-clear){color:var(--st-text-2)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui :is(#ui-close,.tc-x,.sr-clear):hover{color:var(--st-text)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .hoi-top{background:linear-gradient(180deg,#171815 0%,#0f0f0d 100%);border-bottom:1px solid #000000;box-shadow:inset 0 -1px 0 var(--st-line-2),0 10px 28px -6px #000000cc}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .hoi-top::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--st-gold-lo) 18%,var(--st-gold) 50%,var(--st-gold-lo) 82%,transparent);opacity:.7;pointer-events:none}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .hoi-country{background:linear-gradient(90deg,#1e1e1b,#141512)!important;border-right:1px solid var(--st-line-2)!important}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .hoi-country b{font:700 22px/1.1 var(--st-title);letter-spacing:.16em}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .hoi-country small{color:var(--st-gold);letter-spacing:.18em}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .hoi-national{border-bottom:1px solid var(--st-line)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .hoi-national button{border-right:1px solid var(--st-line)!important;color:var(--st-text-3)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .hoi-national button:hover{background:#ede8d908!important}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .hoi-national .hoi-icon{color:var(--st-gold);opacity:.85}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .hoi-national button b{font:600 18px/1 var(--st-num);color:var(--st-text)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .hoi-management{gap:2px;padding:3px 6px}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .hoi-management>button{background:none;border:1px solid transparent;box-shadow:none;color:var(--st-text-2);border-radius:var(--st-r-sm)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .hoi-management>button:hover:not(:disabled){background:#ede8d90a;border-color:transparent;color:var(--st-text)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .hoi-management>button .hoi-icon{color:var(--st-gold);opacity:.9}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .hoi-management>button span{letter-spacing:.1em}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .hoi-management>button:is([aria-pressed="true"],.active){background:linear-gradient(180deg,#c0b38926,#c0b3890a);border-color:#c0b38955;color:var(--st-gold-hi);box-shadow:inset 0 -2px 0 var(--st-gold)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .hoi-top>:is(.hoi-events,.hoi-alert){border-left:1px solid var(--st-line);color:var(--st-text-2)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .hoi-time{background:linear-gradient(180deg,#1c1c19,#11110f)!important;border-left:1px solid var(--st-line-2)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .hoi-time>strong{font:700 20px/1 var(--st-title);letter-spacing:.06em}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .hoi-time>span[role=status]{color:var(--st-gold)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui #campaign-toggle{background:radial-gradient(circle at 50% 30%,#e4d8b6,#bbad84 55%,#7d7355);border:1px solid #eae1c5;color:var(--st-gold-ink);box-shadow:0 0 0 3px #00000099,0 0 0 4px #c0b38944,0 6px 16px #000000bb,inset 0 2px 0 #ede8d988}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .hoi-time .time-speeds button{background:#0a0b09;border:1px solid var(--st-line);color:var(--st-text-3);border-radius:1px;box-shadow:none}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .hoi-time .time-speeds button[aria-pressed="true"]{background:linear-gradient(180deg,#d5c9a2,#aea178);border-color:#e6dbbb;color:var(--st-gold-ink);box-shadow:0 0 12px var(--st-gold-glow)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui #campaign-save{color:var(--st-gold)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui input[type="checkbox"]{-webkit-appearance:none;appearance:none;flex:none;width:24px;height:24px;margin:0;border-radius:1px;border:1.5px solid #c0b38999;background:#0a0b09 center/16px 16px no-repeat;box-shadow:inset 0 1px 3px #000000cc;cursor:pointer;transition:background-color .12s,border-color .12s}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui input[type="checkbox"]:checked{background-color:#c0b389;border-color:#e1d6b4;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5 6.5 12 13 4.5' fill='none' stroke='%231a1307' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui input[type="checkbox"]:disabled{opacity:.4}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui input[type="checkbox"]:not([hidden]){width:24px;height:24px;border-radius:1px;position:relative}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui input[type="checkbox"]:not([hidden])::after{display:none}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .tc-tray.tc-empty{padding:6px;gap:4px;border-radius:var(--st-r)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .tc-tray.tc-empty p{font-size:12px;color:var(--st-text-2);max-width:240px;line-height:1.35}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3{gap:12px}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3>.management-heading{display:none}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-capacity{display:flex;flex-direction:column;gap:9px;padding:12px 14px;border-radius:var(--st-r);background:linear-gradient(180deg,#1d1e1b,#141512);box-shadow:inset 0 0 0 1px var(--st-line-2),inset 0 1px 0 #ede8d90a}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-cap-head{display:flex;align-items:center;gap:18px}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-cap-title{display:inline-flex;align-items:center;gap:8px;color:var(--st-gold)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-cap-title .hoi-icon{width:24px;height:24px}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-cap-title b{font:600 28px/1 var(--st-num);color:var(--st-text)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-cap-title em{font:500 16px/1 var(--st-num);font-style:normal;color:var(--st-text-3)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-chips{display:flex;gap:6px}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-chip{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:13px;background:#ede8d90a}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-chip i{width:10px;height:10px;border-radius:1px}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-chip b{font:600 13px/1 var(--st-num);color:var(--st-text)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-cap-rule{margin-left:auto;display:inline-flex;align-items:center;gap:5px;font:600 13px/1 var(--st-num);color:var(--st-text-2)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-cap-rule .hoi-icon{width:16px;height:16px;color:var(--st-text-3)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-cap-rule small{font-size:11px;color:var(--st-text-3)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-cap-rule i{width:1px;height:14px;margin:0 6px;background:var(--st-line-2)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-cap-bar{display:flex;gap:2px;height:10px;border-radius:1px;overflow:hidden;background:#00000080;box-shadow:inset 0 0 0 1px #ede8d90a}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 :is(.c3-cap-bar,.c3-chip) i.alloc{background:linear-gradient(180deg,#d9cda8,#aea178)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 :is(.c3-cap-bar,.c3-chip) i.idle{background:repeating-linear-gradient(135deg,#e8a33d 0 3px,#e8a33d55 3px 6px)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 :is(.c3-cap-bar,.c3-chip) i.consumer{background:#6aa8de}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-cap-bar i.off{background:#ede8d914}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-body{grid-template-columns:minmax(330px,.9fr) minmax(0,1.1fr);gap:14px;align-items:start}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 :is(.c2-provinces,.c2-queue){gap:9px;padding:12px;border-radius:var(--st-r);background:#0000002e;box-shadow:inset 0 0 0 1px var(--st-line)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-queue{max-height:none;overflow:visible}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-kinds{display:grid!important;grid-template-columns:1fr 1fr 52px;gap:6px;padding:0;background:none;border:0;box-shadow:none}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-kind{display:flex!important;align-items:center;gap:10px;height:56px!important;min-height:0;padding:0 14px!important;border-radius:var(--st-r-sm)!important}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-kind .hoi-icon{flex:none;width:36px;height:36px;padding:7px;border-radius:50%;background:#00000059;box-shadow:inset 0 0 0 1px var(--st-line-2);color:var(--st-gold)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-kind b{font-size:14.5px;color:var(--st-text);white-space:nowrap}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-kind[aria-pressed="true"] .hoi-icon{background:linear-gradient(180deg,#ddd2b0,#b1a47b);color:var(--st-gold-ink);box-shadow:0 0 12px var(--st-gold-glow)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-kind[aria-pressed="true"] b{color:var(--st-gold-hi)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-tools{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:5px;padding:0;background:none;border:0;box-shadow:none}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-tool{position:relative;height:44px!important;min-height:0;min-width:0;padding:0!important;display:grid!important;place-items:center;border-radius:var(--st-r-sm)!important}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-tool .hoi-icon{width:22px;height:22px;color:var(--st-text-2)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-tool em{position:absolute;right:3px;top:2px;font:700 11px/1 var(--st-num);font-style:normal;color:var(--st-gold)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-tool[aria-pressed="true"] .hoi-icon{color:var(--st-gold-hi)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-map-pick{height:56px!important}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-filter{display:flex;align-items:center;gap:5px;padding:0;background:none;border:0;box-shadow:none}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-filter button{flex:none;min-height:32px;height:32px;padding:0 12px;border-radius:16px;font-size:12px;background:#ede8d908;border:1px solid var(--st-line-2);box-shadow:none;color:var(--st-text-2)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-filter button[aria-pressed="true"]{background:#c0b38924;border-color:#c0b38977;color:var(--st-gold-hi);box-shadow:none}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-filter-count{margin-left:auto;font:600 14px/1 var(--st-num);color:var(--st-text)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-filter-count small{font-size:11px;color:var(--st-text-3)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-detail{gap:9px;padding:10px 12px;border:0;border-radius:var(--st-r-sm);background:linear-gradient(90deg,#c0b38914,#ede8d905);box-shadow:inset 0 0 0 1px #c0b38933}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-detail header{display:flex;align-items:center;gap:10px}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-detail header>b{font:700 17px/1.1 var(--st-title);letter-spacing:.06em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-stats{flex:1;display:flex;justify-content:flex-end;gap:12px}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-stats span{display:inline-flex;align-items:center;gap:4px;color:var(--st-text-3)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-stats .hoi-icon{width:15px;height:15px}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-stats b{font:600 13px/1 var(--st-num);color:var(--st-text)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-icon-btn{flex:none;width:38px;height:38px;min-height:0;padding:0;display:grid;place-items:center}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-icon-btn .hoi-icon{width:18px;height:18px}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-detail .c2-why{display:flex;align-items:center;gap:6px;margin:0;font-size:12px}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-detail .c2-why .hoi-icon{width:14px;height:14px;flex:none}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-build{min-height:50px;border-radius:var(--st-r-sm)!important;background:linear-gradient(180deg,#d0c39b,#aea178 60%,#968961)!important;border:1px solid #e6dbbb!important;color:var(--st-gold-ink)!important;box-shadow:0 0 0 1px #000000aa,inset 0 1px 0 #ede8d977!important}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-build .hoi-icon{color:var(--st-gold-ink)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-build small{color:#1a1307b3!important}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-build:disabled{background:#ede8d90a!important;border-color:var(--st-line-2)!important;color:var(--st-text-3)!important;box-shadow:none!important}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-build:disabled :is(small,.hoi-icon){color:var(--st-text-3)!important}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-plist{gap:5px;max-height:460px;padding:2px}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-site{display:grid;grid-template-columns:minmax(0,1fr) auto 48px;align-items:stretch;border-radius:var(--st-r-sm);background:linear-gradient(180deg,#ede8d908,#ede8d903);box-shadow:inset 0 0 0 1px var(--st-line)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-site.picked{box-shadow:inset 0 0 0 1px #c0b38988,0 0 0 1px #000000;background:linear-gradient(90deg,#c0b3891a,#ede8d905)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-site[data-blocked="true"]{opacity:.55}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-province{grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"name meta" "slots slots" "why why"!important;gap:5px 10px!important;min-height:50px;padding:8px 10px!important;background:none!important;border:0!important;box-shadow:none!important;border-radius:var(--st-r-sm) 0 0 var(--st-r-sm)!important;text-align:left}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-province:hover{background:#ede8d906!important}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-pname b{font-size:14px;color:var(--st-text)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-capital{font-style:normal;color:var(--st-gold);margin-right:4px}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-site-meta{grid-area:meta;display:flex;align-items:center;gap:8px}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-site-meta em{font:600 13px/1 var(--st-num);font-style:normal;color:var(--st-gold-hi)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-site-meta em small{font-size:10.5px;color:var(--st-text-3)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-infra{display:inline-flex;gap:2px}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-infra i{width:7px;height:4px;border-radius:1px;background:#ede8d91c}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-infra i.on{background:var(--st-blue)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-province .c2-why{grid-area:why;display:flex;align-items:center;gap:4px;font-size:11px}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-province .c2-why .hoi-icon{width:12px;height:12px}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-slots{gap:3px}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-slots i{width:13px;height:5px;border:0;border-radius:1px;background:#ede8d914}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-slots i.civ{background:#cbc09f}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-slots i.mil{background:#c9614f}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-slots i.queued{background:repeating-linear-gradient(135deg,#cbc09f 0 2px,transparent 2px 4px);box-shadow:inset 0 0 0 1px #cbc09f66}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-site-cost{display:flex;align-items:center;padding:0 10px}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-site-cost b{font:600 12px/1 var(--st-num);color:var(--st-text-2);white-space:nowrap}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-add{display:grid;place-items:center;width:auto;min-height:0;padding:0;border:0;border-left:1px solid var(--st-line);border-radius:0 var(--st-r-sm) var(--st-r-sm) 0;background:#c0b38914;box-shadow:none;color:var(--st-gold-hi)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-add span{font:700 20px/1 var(--st-num)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-add:hover:not(:disabled){background:linear-gradient(180deg,#d0c39b,#aea178);color:var(--st-gold-ink)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-add:disabled{background:none;color:var(--st-text-3)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-qhead{display:flex;align-items:center;gap:8px;padding:0 2px 4px;color:var(--st-gold);border:0!important}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-qhead .hoi-icon{width:20px;height:20px}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-qhead b{font:600 18px/1 var(--st-num)!important;letter-spacing:0!important;color:var(--st-text)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-queue-list{display:flex;flex-direction:column;gap:7px}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-row{grid-template-columns:28px 42px minmax(0,1fr) 58px;gap:10px;padding:9px 12px 9px 0!important;border:0!important;border-radius:var(--st-r-sm);background:linear-gradient(180deg,#ede8d909,#ede8d903)!important;box-shadow:inset 0 0 0 1px var(--st-line)!important;overflow:hidden}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-row.paused{opacity:.7;background:repeating-linear-gradient(135deg,#ede8d906 0 8px,transparent 8px 16px)!important}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-rank{align-self:stretch;margin:-9px 0;background:linear-gradient(180deg,#c0b38933,#c0b38914)!important;color:var(--st-gold-hi)!important;font:700 13px/1 var(--st-num)!important;border-right:1px solid #c0b38933}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-row.paused .c2-rank{background:#ede8d90a!important;color:var(--st-text-3)!important}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-locate{width:42px;height:42px;border-radius:50%!important;display:grid;place-items:center;background:#00000059!important;color:var(--st-gold)!important}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-locate .hoi-icon{width:21px;height:21px}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-main{gap:3px}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-main>b{font-size:14px;color:var(--st-text)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-main>small{font-size:11.5px;color:var(--st-text-3)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-main .c2-state{font-size:11px;color:var(--st-text-3)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-bar{position:relative;display:block;height:6px;border-radius:1px;background:#00000080;overflow:hidden;box-shadow:inset 0 0 0 1px #ede8d90a}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-bar i{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:linear-gradient(90deg,#968961,#ddd2b0);box-shadow:0 0 8px #c0b38966;transition:width .4s var(--st-ease)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-progress span:last-child{font:600 11px/1 var(--st-num);color:var(--st-text-2)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-mods small{border-radius:1px;border-color:#c0b38944;padding:1px 7px}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-alloc{gap:2px}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-alloc b{font:600 19px/1 var(--st-num);color:var(--st-text)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-alloc>small{font-size:10px;color:var(--st-text-3)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-fbar{width:48px;height:4px;border:0;border-radius:1px;background:#00000080}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-fbar i{background:var(--st-gold);border-radius:1px}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-actions{grid-column:3/-1;display:flex;gap:5px;justify-content:flex-end}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-actions button{width:38px;height:32px;min-height:0;padding:0;font-size:13px}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-actions [data-c2-cancel]:hover{color:var(--st-red);border-color:#e05a4766}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:200px;padding:24px;text-align:center;border-radius:var(--st-r-sm);border:1px dashed var(--st-line-2);color:var(--st-text-3);font-size:13px}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-empty .hoi-icon{width:40px;height:40px;color:var(--st-gold-lo)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-rules>summary{font-size:12px;color:var(--st-text-3)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-rules p{font-size:12px;line-height:1.6;color:var(--st-text-3)}
@media (max-width:1000px){html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-body{grid-template-columns:minmax(0,1fr)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-cap-rule{display:none}
}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-detail header{background:none!important;border:0!important;padding:0!important;box-shadow:none!important}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 :is(.c2-provinces,.c2-queue)>header{background:none!important;border-bottom:0!important}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 :is(.c3-filter-count,.c3-site-meta em){display:inline-flex;align-items:baseline;white-space:nowrap}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-detail .c2-builds{grid-template-columns:1fr 1fr}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c2-build b{font-size:13.5px;color:var(--st-gold-ink)!important}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-specs{display:flex;align-items:center;gap:5px;padding:8px;border-radius:var(--st-r-sm);background:#c0b3890f;box-shadow:inset 0 0 0 1px #c0b3892e}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-spec{width:44px;flex:none}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-spec[aria-pressed="true"] .hoi-icon{color:var(--st-gold-ink)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-spec[aria-pressed="true"]{background:linear-gradient(180deg,#ddd2b0,#b1a47b)!important;border-color:#e6dbbb!important}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-spec-name{margin-left:6px;font-size:13px;font-weight:600;color:var(--st-gold-hi);white-space:nowrap}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .pr-spec{display:inline-flex;gap:4px;margin-left:auto;margin-right:8px}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .pr-spec em{font-style:normal;font:700 11.5px/1 var(--st-num);padding:3px 6px;border-radius:1px}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .pr-spec em[data-fit="match"]{background:#7cc46b26;color:#a7d99b}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .pr-spec em[data-fit="off"]{background:#e8a33d26;color:#d5c79d}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .pr-factory-grid i[data-spec-fit="match"]{box-shadow:inset 0 -2px 0 #7cc46b}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .pr-factory-grid i[data-spec-fit="off"]{box-shadow:inset 0 -2px 0 #e8a33d}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-kinds.c3-kinds-4{grid-template-columns:1fr 1fr}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-map-pick-wide{height:40px!important;display:flex!important;gap:8px;justify-content:center}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-map-pick-wide span{font-size:12.5px;color:var(--st-text-2)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-badge{display:inline-flex;align-items:center;gap:1px;margin-left:6px;vertical-align:middle;color:var(--st-blue);font-style:normal}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-badge .hoi-icon{width:14px;height:14px}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"] .hoi-construction.c2.c3 .c3-badge b{font:700 10px/1 var(--st-num)}
html[data-ui-theme="iron"] body .command-ui.hoi-ui .tc-commands.st-verbs>button[data-verb="ADVANCE"]{color:#a9cdee}
html[data-ui-theme="iron"] body .command-ui.hoi-ui .tc-commands.st-verbs>button[data-verb="ATTACK"]{color:#f39a8b}
html[data-ui-theme="iron"] body .command-ui.hoi-ui .tc-commands.st-verbs>button[data-verb="SUPPORT"]{color:#d5c79d}
html[data-ui-theme="iron"] body .command-ui.hoi-ui .tc-commands.st-verbs>button[data-verb="RETREAT"]{color:#bebcb3}
html[data-ui-theme="iron"] body .command-ui.hoi-ui .tc-commands.st-verbs>button[data-verb="SEA"]{color:#8fd0d6}
html[data-ui-theme="iron"] body .command-ui.hoi-ui .tc-commands.st-verbs>button[aria-pressed="true"]{color:var(--st-gold-ink);background:linear-gradient(180deg,#ddd2b0,#b1a47b);border-color:#e6dbbb;box-shadow:0 0 14px var(--st-gold-glow)}
html[data-ui-theme="iron"] body .command-ui.hoi-ui .tc-banner{background:var(--st-panel);border:0;box-shadow:var(--st-edge),inset 0 -2px 0 var(--st-gold)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .atlas-map-switch>nav{display:flex;gap:3px;padding:4px}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .atlas-map-switch>nav button{height:44px;min-width:44px;min-height:0;padding:0 11px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:13px;color:var(--st-text-2)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .atlas-map-switch>nav button .hoi-icon{width:21px;height:21px}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .atlas-map-switch>nav button .st-mv-label{display:none}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .atlas-map-switch>nav button[aria-pressed="true"] .st-mv-label{display:inline}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .hoi-management>button{min-width:52px}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .hoi-management>button .hoi-icon{width:23px;height:23px}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .hoi-management>button span.icon-nav-label{display:none}
html[data-ui-theme="iron"] body .command-ui.hoi-ui #naval-window .nav-window-header{background:linear-gradient(180deg,#1e1e1b,#141512);border-bottom:1px solid var(--st-line-2)}
html[data-ui-theme="iron"] body .command-ui.hoi-ui #naval-window .nav-window-header h2{font:700 18px/1 var(--st-title);letter-spacing:.12em}
html[data-ui-theme="iron"] body .command-ui.hoi-ui #naval-window .nav-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:0;padding:0;background:#0000002e;border-bottom:1px solid var(--st-line)}
html[data-ui-theme="iron"] body .command-ui.hoi-ui #naval-window .nav-tabs button{height:46px;min-height:0;padding:0;display:flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:0;background:none;box-shadow:none;color:var(--st-text-3)}
html[data-ui-theme="iron"] body .command-ui.hoi-ui #naval-window .nav-tabs button .nav-tab-label{display:none;font-size:12.5px}
html[data-ui-theme="iron"] body .command-ui.hoi-ui #naval-window .nav-tabs button[aria-pressed="true"]{color:var(--st-gold-hi);background:linear-gradient(180deg,transparent,#c0b38914);box-shadow:inset 0 -2px 0 var(--st-gold)}
html[data-ui-theme="iron"] body .command-ui.hoi-ui #naval-window .nav-tabs button[aria-pressed="true"] .nav-tab-label{display:inline}
html[data-ui-theme="iron"] body .command-ui.hoi-ui #naval-window .nav-tabs button svg{width:20px;height:20px}
html[data-ui-theme="iron"] body .command-ui.hoi-ui #naval-window .nav-links{display:none}
html[data-ui-theme="iron"] body .command-ui.hoi-ui #naval-window .nav-fleet-card.st-fleet[aria-pressed="true"]{background:linear-gradient(90deg,#c0b3891f,#ede8d905)!important;box-shadow:inset 0 0 0 1px #c0b38988!important}
html[data-ui-theme="iron"] body .command-ui.hoi-ui #naval-window .nav-fleet-list{display:flex;flex-direction:column;gap:6px}
html[data-ui-theme="iron"] body .command-ui.hoi-ui .st-sea .nav-mission-buttons button[aria-pressed="true"]{color:var(--st-gold-ink)!important;background:linear-gradient(180deg,#ddd2b0,#b1a47b)!important;border-color:#e6dbbb!important}

/* ── staff/iron/10-materials.css ── */
/* STAFF-UI-2 · 铁血 materials. The layout, sizes and colours come from the staff system recoloured at
   build time (src/theme/staff/iron.mjs); this layer adds what a recolour cannot express: blackened plate
   with a real steel grain, rivets at the corners of every window, an engraved scene behind each window's
   title, one dried-red plate for the single committing action, condensed stencil numerals and a darkened
   battlefield edge. Art: Recraft (engravings, icons) and FLUX (steel grain) — see iron/CREDITS.md.
   Performance: all of it is static background layers (no filters, no animation), painted once. */

@font-face{font-family:"War Atlas Numerals";src:url(/assets/playable/war-atlas/iron/barlow-condensed-600.woff2) format("woff2");font-weight:400 600;font-display:swap;unicode-range:U+0020-007E,U+00B7,U+2013,U+2014,U+2212}
@font-face{font-family:"War Atlas Numerals";src:url(/assets/playable/war-atlas/iron/barlow-condensed-700.woff2) format("woff2");font-weight:700 900;font-display:swap;unicode-range:U+0020-007E,U+00B7,U+2013,U+2014,U+2212}

html[data-ui-theme="iron"]{
 --st-num:"War Atlas Numerals","DIN Alternate","Bahnschrift","Roboto Condensed",-apple-system,sans-serif;
 --iron-red:#8c2c20; --iron-red-hi:#b4402f; --iron-red-ink:#f1e6d0;
 --iron-plate:url(/assets/playable/war-atlas/iron/plate.webp) 0 0/384px 384px repeat;
 /* four rivets: one background layer each, so any plate can wear them */
 --iron-rivet:radial-gradient(circle at 45% 40%,#8f8a7c 0 .7px,#47453e 1.5px,#121210 2.5px,#0000 3.1px);
 --iron-rivets:var(--iron-rivet) left 7px top 7px/8px 8px no-repeat,var(--iron-rivet) right 7px top 7px/8px 8px no-repeat,
  var(--iron-rivet) left 7px bottom 7px/8px 8px no-repeat,var(--iron-rivet) right 7px bottom 7px/8px 8px no-repeat;
 --iron-base:linear-gradient(180deg,#1b1b18 0%,#131311 46%,#0d0d0c 100%);
}

/* ───────── plates: windows and the large HUD surfaces ───────── */
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui :is(.ui-sidebar,.rw-window,.nf-window,#air-window,#naval-window,#corps-window,#politics-window,.tc-sheet,.tc-pop){
 background:var(--iron-rivets),var(--iron-scene) right top/min(100%,640px) auto no-repeat,var(--iron-plate),var(--iron-base)!important;
 background-blend-mode:normal,normal,normal,normal,screen,soft-light,normal!important;}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar:not(#_){
 background:var(--iron-rivets),var(--iron-plate),var(--iron-base)!important;background-blend-mode:normal,normal,normal,normal,soft-light,normal!important;
 box-shadow:0 0 0 1px #000,inset 0 1px 0 #ffffff12,inset 0 0 0 1px #ffffff08,inset 0 -40px 60px -40px #0009,0 22px 60px -14px #000e!important}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui :is(.sr-roster,.st-verbs,.hoi-commanders,.hoi-map-modes,.atlas-map-switch,.tc-inspect,.tc-banner,.tc-toast,.ui-notice,.st-sea-card,.st-banner){
 background:var(--iron-plate),var(--iron-base)!important;background-blend-mode:soft-light,normal!important}

/* default: no scene (zero specificity, so every per-window rule below wins) */
html[data-ui-theme="iron"] :where(.ui-sidebar,.rw-window,.nf-window,#air-window,#naval-window,#corps-window,#politics-window,.tc-sheet,.tc-pop){--iron-scene:none}
/* an engraved scene behind each window's title (fades out to the left and downward) */
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui :is(.ui-sidebar[data-mode="economy"][data-econ-tab="production"]){--iron-scene:url(/assets/playable/war-atlas/iron/banners/production.webp)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"][data-econ-tab="construction"]{--iron-scene:url(/assets/playable/war-atlas/iron/banners/construction.webp)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"][data-econ-tab="finance"]{--iron-scene:url(/assets/playable/war-atlas/iron/banners/finance.webp)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="economy"]:is([data-econ-tab="market"],[data-econ-tab="trade"]){--iron-scene:url(/assets/playable/war-atlas/iron/banners/market.webp)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui :is(.ui-sidebar[data-mode="economy"][data-econ-tab="resources"],.ui-sidebar[data-mode="stockpile"]){--iron-scene:url(/assets/playable/war-atlas/iron/banners/stockpile.webp)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui :is(.ui-sidebar[data-mode="research"],.rw-window){--iron-scene:url(/assets/playable/war-atlas/iron/banners/research.webp)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui :is(.ui-sidebar[data-mode="focus"],.nf-window){--iron-scene:url(/assets/playable/war-atlas/iron/banners/focus.webp)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui :is(.ui-sidebar[data-mode="politics"],#politics-window){--iron-scene:url(/assets/playable/war-atlas/iron/banners/politics.webp)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="war"]{--iron-scene:url(/assets/playable/war-atlas/iron/banners/war.webp)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui :is(.ui-sidebar[data-mode="navy"],#naval-window){--iron-scene:url(/assets/playable/war-atlas/iron/banners/navy.webp)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar[data-mode="shipyard"]{--iron-scene:url(/assets/playable/war-atlas/iron/banners/shipyard.webp)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui :is(.ui-sidebar[data-mode="air"],#air-window){--iron-scene:url(/assets/playable/war-atlas/iron/banners/air.webp)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui :is(.ui-sidebar:is([data-mode="army"],[data-mode="division"],[data-mode="recruitment"],[data-mode="corps"]),#corps-window){--iron-scene:url(/assets/playable/war-atlas/iron/banners/army.webp)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar:is([data-mode="commanders"],[data-mode="officer-corps"]){--iron-scene:url(/assets/playable/war-atlas/iron/banners/officers.webp)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar:is([data-mode="events"],[data-mode="alerts"]){--iron-scene:url(/assets/playable/war-atlas/iron/banners/events.webp)}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar:is([data-mode="province"],[data-mode="city"]){--iron-scene:url(/assets/playable/war-atlas/iron/banners/province.webp)}

/* window title band: a darker strip, a red index tab, a khaki hairline with a rivet line under it */
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar>header{
 background:linear-gradient(90deg,var(--iron-red) 0 5px,#0000 5px),linear-gradient(90deg,#0d0d0c 0 22%,#0d0d0c00 62%),
  var(--iron-scene) right 64px center/520px auto no-repeat,var(--iron-plate),#0d0d0c!important;background-blend-mode:normal,normal,screen,soft-light,normal!important;
 border-bottom:1px solid #000!important;box-shadow:0 1px 0 #c0b38929,inset 0 1px 0 #ffffff0a!important}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar>header .atlas-panel-title svg.hoi-icon{color:var(--st-gold)!important;background-color:currentColor}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .ui-sidebar>header h2{font-weight:800;letter-spacing:.24em;text-shadow:0 1px 0 #000,0 0 18px #000}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui :is(h3,legend,th){letter-spacing:.16em}

/* ───────── the committing action: one dried-red plate ───────── */
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window,#admiral-window) :is(.tc-primary,.st-primary,button.primary,[data-primary="true"],.adm-go,#officer-confirm,#adm-confirm,.design-primary,.plan-primary,.rw-primary,.nf-primary,.mp-resume):not(:disabled){
 background:var(--iron-plate),linear-gradient(180deg,#a03526,#7a2419 58%,#5e1a11)!important;background-blend-mode:soft-light,normal!important;
 border:1px solid #2a0905!important;color:var(--iron-red-ink)!important;font-weight:700;letter-spacing:.18em;text-shadow:0 1px 0 #0008;
 box-shadow:inset 0 1px 0 #ffffff2e,inset 0 -2px 0 #0000004d,0 0 0 1px #000,0 6px 14px -6px #000!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window,#admiral-window) :is(.tc-primary,.st-primary,button.primary,[data-primary="true"],.adm-go,.nf-primary,.rw-primary,#officer-confirm,#adm-confirm):not(:disabled) *{color:var(--iron-red-ink)!important}
html[data-ui-theme="iron"] body.playable-integrated :is(.command-ui.hoi-ui,#officer-window,#admiral-window) :is(.tc-primary,.st-primary,button.primary,[data-primary="true"],.adm-go,#officer-confirm,#adm-confirm):active:not(:disabled){background:linear-gradient(180deg,#6e2117,#561910)!important}

/* ───────── controls: stamped steel; pressed shows a khaki rule, armed orders a red one ───────── */
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui :is(button,select):not(.tc-primary,.st-primary,.primary,.adm-go){
 box-shadow:inset 0 1px 0 #ffffff12,inset 0 -1px 0 #0000008c,0 1px 0 #ffffff06,0 0 0 1px #0000008c}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .st-verbs button[aria-pressed="true"]{box-shadow:inset 0 -3px 0 var(--iron-red-hi),inset 0 1px 3px #000!important;color:#f1e6d0!important}

/* ───────── top bar: a riveted strip ───────── */
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .hoi-top{
 background:var(--iron-rivet) left 6px center/8px 8px no-repeat,var(--iron-rivet) right 6px center/8px 8px no-repeat,var(--iron-plate),linear-gradient(180deg,#1c1c19,#0e0e0d)!important;
 background-blend-mode:normal,normal,soft-light,normal!important}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .hoi-top::after{background:linear-gradient(90deg,#0000,#8c2c20 12%,#c0b38966 30%,#c0b38966 70%,#8c2c20 88%,#0000)!important}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui :is(.hoi-time>strong,.hoi-national button b){font-family:var(--st-num),var(--st-title);font-weight:700;letter-spacing:.04em}
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui .hoi-country b{font-weight:800;letter-spacing:.24em}

/* condensed figures wherever the staff system sets numbers */
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui :is(.sr-total b,.st-army-n,.st-sea-count b,.c3-cap b,.ship-comp b){font-family:var(--st-num);letter-spacing:.02em}

/* ───────── orders: a hazard edge on the armed-order banner ───────── */
html[data-ui-theme="iron"] body.playable-integrated .command-ui.hoi-ui :is(.st-banner,.tc-banner){
 background:repeating-linear-gradient(135deg,#c0b389 0 6px,#121210 6px 12px) left top/6px 100% no-repeat,var(--iron-plate),var(--iron-base)!important;
 background-blend-mode:normal,soft-light,normal!important;padding-left:16px}

/* ───────── long-press tip ───────── */
html[data-ui-theme="iron"] .st-tip{background:#121210f7;border-radius:1px;color:#d7d2c4;box-shadow:0 0 0 1px #000,inset 0 1px 0 #ffffff12,inset 3px 0 0 #8c2c20,0 10px 26px #000c}
html[data-ui-theme="iron"] .st-tip::after{box-shadow:1px 1px 0 #000}

/* ───────── the battlefield: darker edges so the eye falls on the front (static, outside the moving stage) ───────── */
html[data-ui-theme="iron"] body.has-hoi-ui #map-wrap{background:#0b0c0b}
html[data-ui-theme="iron"] body.playable-integrated #map-wrap::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:2;
 background:radial-gradient(ellipse 78% 72% at 52% 50%,#0000 48%,#0a0b0a4d 80%,#0a0b0aa6 100%)}

/* ── staff/iron/20-icons.css ── */
/* STAFF-UI-2 · 铁血 icon sheet. Generated by experiments/staff-ui-002/icon-css.mjs from icons.json — do not edit by hand.
   Every icon drawn by commandIcon()/missionIcon() carries data-i; in the iron theme the line drawing is replaced by the
   matching silhouette from /assets/playable/war-atlas/iron/icons.webp (Recraft-generated, see CREDITS.md),
   painted in currentColor through a CSS mask so colour states keep working. Per-icon rules repeat the attribute and
   add :not(#_) so they outrank the shared rule. */
html[data-ui-theme="iron"] body.playable-integrated svg[data-i]:is([data-i="air"],[data-i="AIR_SUPERIORITY"],[data-i="AIR_SUPPLY"],[data-i="CAS"],[data-i="INTERCEPT"],[data-i="NAVAL_STRIKE"],[data-i="STRATEGIC"],[data-i="TRAINING"],[data-i="LOGISTICS"],[data-i="NAVAL_PATROL"],[data-i="PORT_STRIKE"],[data-i="RECON"],[data-i="ESCORT"],[data-i="HOLD"],[data-i="PATROL"],[data-i="RAID"],[data-i="STRIKE"],[data-i="airbase"],[data-i="anchor"],[data-i="armor"],[data-i="army"],[data-i="artillery"],[data-i="base"],[data-i="battle"],[data-i="city"],[data-i="construction"],[data-i="decisions"],[data-i="diplomacy"],[data-i="division"],[data-i="events"],[data-i="finance"],[data-i="focus"],[data-i="fort"],[data-i="fuel"],[data-i="gear"],[data-i="infantry"],[data-i="mail"],[data-i="map"],[data-i="market"],[data-i="motor"],[data-i="mud"],[data-i="navy"],[data-i="park"],[data-i="people"],[data-i="policy"],[data-i="politics"],[data-i="production"],[data-i="province"],[data-i="rail"],[data-i="rain"],[data-i="refit"],[data-i="relocate"],[data-i="remove"],[data-i="repair"],[data-i="research"],[data-i="resources"],[data-i="save"],[data-i="settings"],[data-i="stockpile"],[data-i="supply"],[data-i="sun"],[data-i="support"],[data-i="synth"],[data-i="train"],[data-i="vision"],[data-i="war"],[data-i="xp"],[data-i="move"],[data-i="retreat"],[data-i="attack"],[data-i="play"],[data-i="pause"],[data-i="close"],[data-i="add"],[data-i="info"],[data-i="alert"],[data-i="locate"],[data-i="hold"]){background:currentColor;-webkit-mask:url(/assets/playable/war-atlas/iron/icons.webp) 0 0/1000% 800% no-repeat;-webkit-mask-origin:content-box;-webkit-mask-clip:content-box;mask:url(/assets/playable/war-atlas/iron/icons.webp) 0 0/1000% 800% no-repeat;mask-origin:content-box;mask-clip:content-box}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i]:is([data-i="air"],[data-i="AIR_SUPERIORITY"],[data-i="AIR_SUPPLY"],[data-i="CAS"],[data-i="INTERCEPT"],[data-i="NAVAL_STRIKE"],[data-i="STRATEGIC"],[data-i="TRAINING"],[data-i="LOGISTICS"],[data-i="NAVAL_PATROL"],[data-i="PORT_STRIKE"],[data-i="RECON"],[data-i="ESCORT"],[data-i="HOLD"],[data-i="PATROL"],[data-i="RAID"],[data-i="STRIKE"],[data-i="airbase"],[data-i="anchor"],[data-i="armor"],[data-i="army"],[data-i="artillery"],[data-i="base"],[data-i="battle"],[data-i="city"],[data-i="construction"],[data-i="decisions"],[data-i="diplomacy"],[data-i="division"],[data-i="events"],[data-i="finance"],[data-i="focus"],[data-i="fort"],[data-i="fuel"],[data-i="gear"],[data-i="infantry"],[data-i="mail"],[data-i="map"],[data-i="market"],[data-i="motor"],[data-i="mud"],[data-i="navy"],[data-i="park"],[data-i="people"],[data-i="policy"],[data-i="politics"],[data-i="production"],[data-i="province"],[data-i="rail"],[data-i="rain"],[data-i="refit"],[data-i="relocate"],[data-i="remove"],[data-i="repair"],[data-i="research"],[data-i="resources"],[data-i="save"],[data-i="settings"],[data-i="stockpile"],[data-i="supply"],[data-i="sun"],[data-i="support"],[data-i="synth"],[data-i="train"],[data-i="vision"],[data-i="war"],[data-i="xp"],[data-i="move"],[data-i="retreat"],[data-i="attack"],[data-i="play"],[data-i="pause"],[data-i="close"],[data-i="add"],[data-i="info"],[data-i="alert"],[data-i="locate"],[data-i="hold"])>*{display:none}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="air"]:not(#_){-webkit-mask-position:0% 0%;mask-position:0% 0%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="AIR_SUPERIORITY"]:not(#_){-webkit-mask-position:11.1111% 0%;mask-position:11.1111% 0%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="AIR_SUPPLY"]:not(#_){-webkit-mask-position:22.2222% 0%;mask-position:22.2222% 0%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="CAS"]:not(#_){-webkit-mask-position:33.3333% 0%;mask-position:33.3333% 0%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="INTERCEPT"]:not(#_){-webkit-mask-position:44.4444% 0%;mask-position:44.4444% 0%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="NAVAL_STRIKE"]:not(#_){-webkit-mask-position:55.5556% 0%;mask-position:55.5556% 0%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="STRATEGIC"]:not(#_){-webkit-mask-position:66.6667% 0%;mask-position:66.6667% 0%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="TRAINING"]:not(#_){-webkit-mask-position:77.7778% 0%;mask-position:77.7778% 0%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="LOGISTICS"]:not(#_){-webkit-mask-position:88.8889% 0%;mask-position:88.8889% 0%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="NAVAL_PATROL"]:not(#_){-webkit-mask-position:100% 0%;mask-position:100% 0%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="PORT_STRIKE"]:not(#_){-webkit-mask-position:0% 14.2857%;mask-position:0% 14.2857%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="RECON"]:not(#_){-webkit-mask-position:11.1111% 14.2857%;mask-position:11.1111% 14.2857%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="ESCORT"]:not(#_){-webkit-mask-position:22.2222% 14.2857%;mask-position:22.2222% 14.2857%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="HOLD"]:not(#_){-webkit-mask-position:33.3333% 14.2857%;mask-position:33.3333% 14.2857%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="PATROL"]:not(#_){-webkit-mask-position:44.4444% 14.2857%;mask-position:44.4444% 14.2857%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="RAID"]:not(#_){-webkit-mask-position:55.5556% 14.2857%;mask-position:55.5556% 14.2857%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="STRIKE"]:not(#_){-webkit-mask-position:66.6667% 14.2857%;mask-position:66.6667% 14.2857%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="airbase"]:not(#_){-webkit-mask-position:77.7778% 14.2857%;mask-position:77.7778% 14.2857%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="anchor"]:not(#_){-webkit-mask-position:88.8889% 14.2857%;mask-position:88.8889% 14.2857%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="armor"]:not(#_){-webkit-mask-position:100% 14.2857%;mask-position:100% 14.2857%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="army"]:not(#_){-webkit-mask-position:0% 28.5714%;mask-position:0% 28.5714%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="artillery"]:not(#_){-webkit-mask-position:11.1111% 28.5714%;mask-position:11.1111% 28.5714%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="base"]:not(#_){-webkit-mask-position:22.2222% 28.5714%;mask-position:22.2222% 28.5714%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="battle"]:not(#_){-webkit-mask-position:33.3333% 28.5714%;mask-position:33.3333% 28.5714%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="city"]:not(#_){-webkit-mask-position:44.4444% 28.5714%;mask-position:44.4444% 28.5714%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="construction"]:not(#_){-webkit-mask-position:55.5556% 28.5714%;mask-position:55.5556% 28.5714%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="decisions"]:not(#_){-webkit-mask-position:66.6667% 28.5714%;mask-position:66.6667% 28.5714%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="diplomacy"]:not(#_){-webkit-mask-position:77.7778% 28.5714%;mask-position:77.7778% 28.5714%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="division"]:not(#_){-webkit-mask-position:88.8889% 28.5714%;mask-position:88.8889% 28.5714%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="events"]:not(#_){-webkit-mask-position:100% 28.5714%;mask-position:100% 28.5714%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="finance"]:not(#_){-webkit-mask-position:0% 42.8571%;mask-position:0% 42.8571%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="focus"]:not(#_){-webkit-mask-position:11.1111% 42.8571%;mask-position:11.1111% 42.8571%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="fort"]:not(#_){-webkit-mask-position:22.2222% 42.8571%;mask-position:22.2222% 42.8571%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="fuel"]:not(#_){-webkit-mask-position:33.3333% 42.8571%;mask-position:33.3333% 42.8571%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="gear"]:not(#_){-webkit-mask-position:44.4444% 42.8571%;mask-position:44.4444% 42.8571%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="infantry"]:not(#_){-webkit-mask-position:55.5556% 42.8571%;mask-position:55.5556% 42.8571%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="mail"]:not(#_){-webkit-mask-position:66.6667% 42.8571%;mask-position:66.6667% 42.8571%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="map"]:not(#_){-webkit-mask-position:77.7778% 42.8571%;mask-position:77.7778% 42.8571%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="market"]:not(#_){-webkit-mask-position:88.8889% 42.8571%;mask-position:88.8889% 42.8571%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="motor"]:not(#_){-webkit-mask-position:100% 42.8571%;mask-position:100% 42.8571%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="mud"]:not(#_){-webkit-mask-position:0% 57.1429%;mask-position:0% 57.1429%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="navy"]:not(#_){-webkit-mask-position:11.1111% 57.1429%;mask-position:11.1111% 57.1429%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="park"]:not(#_){-webkit-mask-position:22.2222% 57.1429%;mask-position:22.2222% 57.1429%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="people"]:not(#_){-webkit-mask-position:33.3333% 57.1429%;mask-position:33.3333% 57.1429%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="policy"]:not(#_){-webkit-mask-position:44.4444% 57.1429%;mask-position:44.4444% 57.1429%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="politics"]:not(#_){-webkit-mask-position:55.5556% 57.1429%;mask-position:55.5556% 57.1429%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="production"]:not(#_){-webkit-mask-position:66.6667% 57.1429%;mask-position:66.6667% 57.1429%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="province"]:not(#_){-webkit-mask-position:77.7778% 57.1429%;mask-position:77.7778% 57.1429%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="rail"]:not(#_){-webkit-mask-position:88.8889% 57.1429%;mask-position:88.8889% 57.1429%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="rain"]:not(#_){-webkit-mask-position:100% 57.1429%;mask-position:100% 57.1429%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="refit"]:not(#_){-webkit-mask-position:0% 71.4286%;mask-position:0% 71.4286%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="relocate"]:not(#_){-webkit-mask-position:11.1111% 71.4286%;mask-position:11.1111% 71.4286%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="remove"]:not(#_){-webkit-mask-position:22.2222% 71.4286%;mask-position:22.2222% 71.4286%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="repair"]:not(#_){-webkit-mask-position:33.3333% 71.4286%;mask-position:33.3333% 71.4286%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="research"]:not(#_){-webkit-mask-position:44.4444% 71.4286%;mask-position:44.4444% 71.4286%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="resources"]:not(#_){-webkit-mask-position:55.5556% 71.4286%;mask-position:55.5556% 71.4286%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="save"]:not(#_){-webkit-mask-position:66.6667% 71.4286%;mask-position:66.6667% 71.4286%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="settings"]:not(#_){-webkit-mask-position:77.7778% 71.4286%;mask-position:77.7778% 71.4286%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="stockpile"]:not(#_){-webkit-mask-position:88.8889% 71.4286%;mask-position:88.8889% 71.4286%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="supply"]:not(#_){-webkit-mask-position:100% 71.4286%;mask-position:100% 71.4286%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="sun"]:not(#_){-webkit-mask-position:0% 85.7143%;mask-position:0% 85.7143%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="support"]:not(#_){-webkit-mask-position:11.1111% 85.7143%;mask-position:11.1111% 85.7143%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="synth"]:not(#_){-webkit-mask-position:22.2222% 85.7143%;mask-position:22.2222% 85.7143%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="train"]:not(#_){-webkit-mask-position:33.3333% 85.7143%;mask-position:33.3333% 85.7143%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="vision"]:not(#_){-webkit-mask-position:44.4444% 85.7143%;mask-position:44.4444% 85.7143%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="war"]:not(#_){-webkit-mask-position:55.5556% 85.7143%;mask-position:55.5556% 85.7143%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="xp"]:not(#_){-webkit-mask-position:66.6667% 85.7143%;mask-position:66.6667% 85.7143%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="move"]:not(#_){-webkit-mask-position:77.7778% 85.7143%;mask-position:77.7778% 85.7143%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="retreat"]:not(#_){-webkit-mask-position:88.8889% 85.7143%;mask-position:88.8889% 85.7143%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="attack"]:not(#_){-webkit-mask-position:100% 85.7143%;mask-position:100% 85.7143%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="play"]:not(#_){-webkit-mask-position:0% 100%;mask-position:0% 100%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="pause"]:not(#_){-webkit-mask-position:11.1111% 100%;mask-position:11.1111% 100%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="close"]:not(#_){-webkit-mask-position:22.2222% 100%;mask-position:22.2222% 100%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="add"]:not(#_){-webkit-mask-position:33.3333% 100%;mask-position:33.3333% 100%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="info"]:not(#_){-webkit-mask-position:44.4444% 100%;mask-position:44.4444% 100%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="alert"]:not(#_){-webkit-mask-position:55.5556% 100%;mask-position:55.5556% 100%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="locate"]:not(#_){-webkit-mask-position:66.6667% 100%;mask-position:66.6667% 100%}
html[data-ui-theme="iron"] body.playable-integrated svg[data-i][data-i="hold"]:not(#_){-webkit-mask-position:77.7778% 100%;mask-position:77.7778% 100%}
