/* HOI4-ART-RESET-001: one visual system, no layout or input ownership rules.
   Original SVG metal texture; existing commissioned equipment/fictional portraits.
   Active states deliberately use flat ochre/olive, never a luminous halo. */
.command-ui.hoi-ui {
 --art-ink:#e5e1ca; --art-muted:#b8b7a5; --art-frame:#7b7d6d;
 --art-panel:#303731; --art-inset:#202923; --art-button:#414a3d;
 --art-active:#687147; --art-gold:#d4bd7b; --art-org:#77a85d;
 --hoi-ink:var(--art-ink); --hoi-edge:var(--art-frame); --hoi-panel:var(--art-panel);
 color:var(--art-ink);font-family:"Segoe UI","Microsoft YaHei",sans-serif;
 font-variant-numeric:tabular-nums; font-weight:400;
}
body.has-hoi-ui #map-wrap {background:#303b3c;}
.hoi-ui .hoi-top,.hoi-ui .hoi-national,.hoi-ui .hoi-time,
.hoi-ui .ui-sidebar,.hoi-ui .hoi-commanders,.hoi-ui .map-direct,
.hoi-ui .map-plan-strip,.hoi-ui .map-layer-tools,.hoi-ui .map-select-tools {
 background:#2e2e2d url('./metal.svg') repeat; border-color:var(--art-frame);
 box-shadow:inset 0 1px #8d8b86,inset 0 -1px #171816,2px 2px 0 #191a18cc;
}
.hoi-ui .ui-sidebar {border:1px solid #171816;border-right:4px ridge #73716d;}
.hoi-ui .ui-sidebar header,.hoi-ui .ui-sidebar>header,.hoi-ui .ui-sidebar h2 {
 background:#3d3d3c;border-color:#7f7e78;color:#d7d1c2;
 text-shadow:0 1px #171716;letter-spacing:.055em;font-weight:700;
}
.hoi-ui .ui-sidebar h3,.hoi-ui .ui-sidebar h4 {color:#c2bdae;letter-spacing:.02em;}
.hoi-ui .hoi-country {background:#383837;border:3px ridge #a69e85;color:#cdc7b8;text-shadow:0 1px #161714;}
.hoi-ui .hoi-national button {border-right:1px solid #56544f;color:#cfcaba;font-size:14px;}
.hoi-ui .hoi-national .hoi-icon {color:#bfbeb9;}
.hoi-ui button,.hoi-ui select,.hoi-ui input {
 border-radius:0;border:1px solid #7d7c76;background:var(--art-button);color:var(--art-ink);
 box-shadow:inset 1px 1px #65645e,inset -1px -1px #232421;
 text-shadow:0 1px #212120;font:inherit;line-height:1.25;
}
.hoi-ui button:hover:not(:disabled),.hoi-ui summary:hover {background-color:#54524b;color:#e3ddcd;border-color:#ada58c;}
.hoi-ui button:active:not(:disabled) {box-shadow:inset 1px 2px #242422;}
.hoi-ui button[aria-pressed="true"],.hoi-ui button.active,.hoi-ui .selected,
.hoi-ui button[aria-checked="true"] {background:var(--art-active);border-color:#d2c59f;color:#e0daca;box-shadow:inset 0 -2px #bcb08c;}
.hoi-ui :focus-visible {outline:2px solid #dbcea3;outline-offset:2px;}
.hoi-ui button:disabled {opacity:.48;background:#2e2e2c;box-shadow:none;text-shadow:none;}
.hoi-ui input,.hoi-ui select {background:#21221f;box-shadow:inset 1px 1px #121311;}
.hoi-ui small,.hoi-ui .muted {color:var(--art-muted);text-shadow:none;}
.hoi-ui details {border-color:#63625d;}
.hoi-ui summary {color:#c0bbab;cursor:pointer;}
.hoi-ui table {border-collapse:collapse;font-variant-numeric:tabular-nums;}
.hoi-ui th {color:#c7bea5;background:#222321;font-size:11px;letter-spacing:.04em;}
.hoi-ui td {border-bottom:1px solid #56544f;padding:5px 4px;}
.hoi-ui tbody tr:nth-child(even) {background:#1b1b1a35;}
.hoi-ui .hoi-icon {stroke-width:1.7;stroke-linejoin:round;vertical-align:middle;}
.hoi-ui .hoi-management button {background:#3a3b39;border:1px solid #7d7c76;border-bottom:3px solid #262625;}
.hoi-ui .hoi-management button[aria-pressed="true"] {border-bottom-color:#ccbf98;background:#69675f;}
.hoi-ui .production-line {
 border:1px solid #74726b;border-left:3px solid #b2aa8f;
 background:#2a2a29;box-shadow:inset 0 1px #96958d38;margin:6px 0;
}
.hoi-ui .production-line-controls {background:#3b3c3a;border-bottom:1px solid #7a7870;padding:6px;}
.hoi-ui .production-line header {background:none!important;display:flex;align-items:center;border:0;}
.hoi-ui .production-line header b {font-size:14px;letter-spacing:.015em;color:#d4cfbf;}
.hoi-ui .production-line header small {font-size:11px;color:#bcbab4;}
.hoi-ui .equipment-art {border:1px solid #7d7b73;background-color:#272826;box-shadow:inset 0 0 0 2px #1b1b1a;}
.hoi-ui .production-line header strong {font-size:23px;background:#21211f;color:#c7c2b2;min-width:50px;border:1px solid #68665e;padding:5px 6px;text-align:right;}
.hoi-ui .production-line header strong small {font-size:10px;display:block;color:#b3b2ab;}
.hoi-ui .factory-allocation {background:#2b2c2a;padding:4px 0;border-top:1px solid #73716a;border-bottom:0;}
.hoi-ui .factory-slots {gap:2px;}
.hoi-ui .factory-slots i {background:#59574f;color:#c7c2b3;border:1px solid #96948c;box-shadow:inset 1px 1px #a9a79e55;}
.hoi-ui .production-efficiency {height:8px;background:#171716;border:1px solid #7f7d76;box-shadow:inset 0 1px #000000;}
.hoi-ui .production-efficiency i {background:#95938b;border-right:1px solid #c3c0b8;box-shadow:inset 0 1px #bfbcb4;}
.hoi-ui .factory-summary {background:#252624;border:1px solid #7b7971;color:#c7c2b2;}
.hoi-ui .production-rate {font-size:11px;color:#bbb9b1;}
.hoi-ui .production-actions {border-top:1px solid #484946;padding-top:5px;}
.hoi-ui .hoi-roster button {background:#333332;border-bottom:1px solid #6d6b66;box-shadow:none;}
.hoi-ui .hoi-roster button[aria-checked="true"] {background:#6a6860;color:#e0dbcb;border-left:3px solid #d2c59f;}
.hoi-ui .hoi-roster b {color:#d0cbbc;}
.hoi-ui .hoi-commanders {border-top:3px ridge #8f876f;}
.hoi-ui .hoi-commanders button {border:2px ridge #8f876f;background:#343533;}
.hoi-ui .officer-portrait {border:1px solid #a49c83;box-shadow:inset 0 0 0 2px #1f1f1d;filter:none;}
.hoi-ui .map-direct,.hoi-ui .map-plan-strip {border-top:2px solid #9d957d;}
.hoi-ui .map-direct button,.hoi-ui .map-plan-strip button {background:#434341;}
.hoi-ui .construction-order,.hoi-ui .recruit-queue article,.hoi-ui .province-grid>div,
.hoi-ui .division-stats,.hoi-ui .division-slot {border-color:#768067;background-color:#273328;}
.hoi-ui progress {accent-color:var(--art-org);}
.hoi-ui ::-webkit-scrollbar {width:8px;height:8px;}
.hoi-ui ::-webkit-scrollbar-track {background:#21221f;}
.hoi-ui ::-webkit-scrollbar-thumb {background:#7f7e77;border:2px solid #313130;}
#eastfront-map .national-name {opacity:.76;}
#eastfront-map [data-marker-face] {shape-rendering:geometricPrecision;}
#eastfront-map .production-grid {stroke-opacity:.04;fill:none;}
/* Keep all original counter transforms, transparent touch targets and city sizes. */
@media(max-width:1100px){.hoi-ui .production-line header strong{font-size:20px}.hoi-ui .production-line header b{font-size:12px}}
