.tank-upgrade-controls{margin:12px 0;padding:12px;border:1px solid #697454;background:#18251b}
.tank-upgrade-controls h3{margin:0 0 6px;color:#e8d78b}
.tank-upgrade-controls p{margin:0 0 10px;color:#d1d3bc;font-size:.9em}
.tank-upgrade-row{display:grid;grid-template-columns:1fr auto;gap:5px 12px;padding:8px 0;border-top:1px solid #445140;align-items:center}
.tank-upgrade-row span{display:flex;align-items:center;gap:8px}
.tank-upgrade-row button{min-width:34px;min-height:30px}
.tank-upgrade-row small{grid-column:1/-1;color:#bfc9b4;line-height:1.4}

/* A clock readout sits on the second toolbar row without displacing speed controls. */
#clockStatus{grid-column:2;grid-row:2;justify-self:end;align-self:center;z-index:1;margin-right:2px;padding:5px 8px;border:1px solid #52614e;background:#101813;color:#bfc8b7;font:11px ui-monospace,monospace;white-space:nowrap}
#clockStatus.running{border-color:#8a7948;color:#e7d184}
@media(max-width:1200px){#clockStatus{display:none}}





/* An ink, slate and aged brass palette. No external assets or remote fonts. */
:root{--ink:#131a1b;--panel:#20292a;--line:#465052;--cream:#dedacf;--gold:#b5a17b;--command-muted:#9ca8a7;--command-brass:#c0a77d}
body{color:#dedacf;background:#141c1e;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;font-size:13px;-webkit-font-smoothing:antialiased}
body>header{background:#192224;border-bottom:1px solid #56605c;padding-inline:18px;box-shadow:0 3px 12px #0004;gap:0 18px}
.brand{font-family:"Songti SC","Noto Serif SC",Georgia,serif;font-size:24px;letter-spacing:4px;color:#e3dfd1}.brand b{color:#b9a27a}.brand small{font-size:8px;line-height:1.7;color:#8b9b9b;letter-spacing:3px}
body button,body select,body input,body textarea{font:inherit;color:#d7d9d0;background:#273234;border:1px solid #4b595a;border-radius:2px;box-shadow:none;text-shadow:none}
body button{transition:background-color .14s,border-color .14s,color .14s}
body button:hover,body button.active,body button[aria-selected="true"]{background:#354346;color:#eee3cc;border-color:#a59271;box-shadow:none}
body button:focus-visible,body select:focus-visible,body input:focus-visible,body summary:focus-visible{outline:2px solid #c4ad83;outline-offset:3px}
body button:disabled{color:#8a9594;border-color:#3a4546;background:#20292a;opacity:.55;cursor:not-allowed}
.top{gap:5px}.top>span{background:#131d1f;border-color:#364548;padding:7px 9px;font-variant-numeric:tabular-nums}.top>span b{color:#ddd8c8;font-weight:600}.top button{background:transparent}.play-mode-control{color:#9ba9a8}.clock-status{color:#a9b4aa;background:#26312e;border-color:#46574e}
body .warnings{border-top:1px solid #344345;gap:5px;justify-content:flex-start;padding-block:7px}
body .warnings .task-entry{min-width:96px;background:transparent;border:1px solid transparent;border-radius:2px;color:#acb6b2;gap:8px;font-size:11px}
body .warnings .task-entry.attention{background:#30332d;border-color:#68634e;color:#d2c4a3}
body .warnings .task-entry:hover{background:#3c4035;border-color:#a99b79}
body .warnings .task-entry>b{display:flex;align-items:center;color:#bda67b;font-weight:400}
body .warnings .task-entry i{background:#171e1f;border:0;border-radius:2px;color:#e3d3b2;font:600 11px ui-monospace,monospace;padding:2px 4px;min-width:18px}
body .left,body .right{background:#1b2527;border-color:#485657;padding:17px 16px;color:#c0c9c4}
body .left:before{content:"国家档案";display:block;color:#7f9191;font:9px ui-monospace,monospace;letter-spacing:1.8px;margin:0 0 12px}
body .left.collapsed:before{display:none}
.left h2{font-family:"Songti SC","Noto Serif SC",serif;font-size:22px;line-height:1.45;color:#e4dfcf;margin-bottom:12px}
body h3{color:#bca680;border-bottom:1px solid #405052;font-size:12px;font-weight:600;letter-spacing:1px;padding-bottom:10px}
body .left-country-summary{border-color:#3c4b4b;line-height:1.7;padding:10px 0}.left-country-summary b{color:#bcae8e}.left-country-summary small{color:#a6b3ae}
body .leaders{color:#96a6a3;padding-block:12px}.leaders b{color:#ddd8c9}
body .flag{box-shadow:none!important;border:1px solid #64716a!important;filter:saturate(.65);border-radius:1px}
body .spirit-chip,body .spirit-button,body .spirit-list button{background:transparent;border-color:#485652;color:#b8c0b7;border-radius:1px}
body .card,body .experience-priorities,body .policy-flow{background:#202c2e;border:1px solid #425153;box-shadow:none;border-radius:2px;padding:12px}
body .card b{color:#d7c7a5}.card small,body .experience-priorities small{color:#a7b4ae;line-height:1.65}
.experience-priorities header{background:transparent}.experience-priorities article{border-color:#3a494a;padding:10px 0}.experience-priorities article>b{font-weight:600;color:#d3d8ca}
body .metric{border-color:#3a494a;padding-block:9px}.metric b{color:#d5c09b;font-variant-numeric:tabular-nums}
body .management-overlay{background:#192325;border:1px solid #52605f;box-shadow:0 20px 50px #0006}
body .management-head{background:#202c2e;border-bottom:1px solid #52605d}body .management-head h2{font-family:"Songti SC","Noto Serif SC",serif;letter-spacing:2px;color:#e3dece;font-size:25px}#managementKicker{color:#8eaaa6;font-size:10px}
body #managementClose{background:transparent;border-color:#66736c;color:#d4c7ab}
body .management-body{background:#192325;padding:20px}
body .archive-pane,body .focus-subtree-nav,body .leader-sheet{background:#1e292b;border-color:#435456;box-shadow:none}
body .full-focus-canvas,body .tech-board{background-color:#152022;border-color:#405052;background-image:linear-gradient(#788d8410 1px,transparent 1px),linear-gradient(90deg,#788d8410 1px,transparent 1px);background-size:32px 32px}
body .full-focus-node,body .tech-node,body .research-slot,body .law-card,body .cabinet-slot{background:#283537;border:1px solid #5a6a63;box-shadow:none;border-radius:2px;color:#d0d8cc}
body .full-focus-node.running{border-color:#bca277;box-shadow:inset 3px 0 #bca277}.full-focus-node.done,.tech-node.done{background:#2e4038;border-color:#687e66}
body .full-focus-node:hover{border-color:#c2ad85;box-shadow:0 4px 12px #0003}
body .focus-route-group{box-shadow:none;border-color:#59665b;background:#b1a67b05}
body .focus-subtree-nav button.active{background:#34423c;border-color:#8e9272;color:#e1d7ba}
body .progress{height:4px;background:#111a1b;border-radius:0}.progress i,body .focus-node-progress{background:#b49c70;box-shadow:none}
body .party-pie{border:2px solid #9a977d;box-shadow:none}.party-pie>i{background:#1e292a;border-color:#4e605b}.party-chart,.party-detail-row{background:#1c282a;border-color:#435351}
body .map-wrap{background:#2c4147;border-top:0;isolation:isolate}
body #map{background:#2c4147}.map-wrap .sea{fill:#2c4147!important}
body .map-tools,body .map-pan-help,body .map-zoom-overlay,body .map-wrap .legend{background:#172427ed!important;color:#c2c9ba;border:1px solid #6a7768;box-shadow:0 2px 8px #0003;backdrop-filter:none;border-radius:2px}
body .map-tools{padding:4px}.map-tools span{font-size:11px;letter-spacing:.3px;color:#d3d6c6}.map-pan-help{font-size:10px;letter-spacing:.5px;opacity:.8}
body .map-wrap .nation{stroke:#c1b99a;stroke-width:.7;filter:none;stroke-opacity:.7}
body .map-wrap .neutral{fill:#848774!important;stroke:#b3af98!important}
body .map-wrap .country-name-label{fill:#eee6cf;font-weight:600;stroke:#24332b;stroke-width:1.2px;stroke-opacity:.72;letter-spacing:.14em}
body .map-wrap .operational-province-fill{stroke:#34433c;stroke-width:.4}
body .map-wrap .nation.selected,body .map-wrap .selected-battle-tile{stroke:#eee0b3!important;stroke-width:1.8!important;filter:none!important}
body .map-wrap .river{stroke:#8caaa9!important;stroke-opacity:.6}
body .map-wrap .unit-bg,body .map-wrap .battle-card{filter:none;stroke:#b8b49a;rx:1}
body .map-wrap .legend{opacity:.9;color:#c2cabb;font-size:10px;padding:8px 10px}
body #mapBottomDetail,body .battle-detail,body .advisor-drawer{background:#1d292bf5;border-color:#7d8068;box-shadow:0 6px 24px #0005;color:#c3cec5}
body #mapBottomDetail>header{background:#263437;border-color:#53645c;color:#e0d7bf}
body .province-detail-grid>section{background:transparent;border-color:#435550}.province-detail-grid h4{color:#baa784;font-weight:500}.province-detail-grid b{color:#dedacb}
body .modal{background:#0c1415c4;backdrop-filter:blur(2px)}body .modal article{background:#253234;border:1px solid #a59470;box-shadow:0 24px 90px #0006;border-radius:2px;padding:28px}body .modal h2{font-family:"Songti SC",serif;font-size:27px;color:#e4ddca}.modal small{color:#b8a47c}.modal p{line-height:1.8;color:#c4d0c7}
body table{border-collapse:collapse}body th{color:#b8ab8c;background:#263437}body td,body th{border-color:#3c5050}body tbody tr:nth-child(even){background:#8faaa306}
body .harmony-history-note{background:transparent;border-color:#697564;color:#9fafa8;font-size:10px}
body .command-icon{display:inline-block!important;width:18px!important;height:18px!important;min-width:18px;flex:none;fill:none!important;stroke:currentColor!important;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round;vertical-align:-3px;color:inherit;overflow:visible;pointer-events:none}
.command-icon path{fill:none!important;stroke:currentColor!important}.command-icon-wrap{display:inline-flex;align-items:center;vertical-align:-3px;line-height:1;color:#b5ac91;margin-right:3px;pointer-events:none}
.top .command-icon{width:16px!important;height:16px!important;min-width:16px}.top .command-icon-wrap{border:0!important;padding:0!important;background:none!important}
.focus-icon .command-icon,.node-icon .command-icon{width:25px!important;height:25px!important}.task-entry .command-icon{width:16px!important;height:16px!important;min-width:16px}
body ::-webkit-scrollbar{width:7px;height:7px}body ::-webkit-scrollbar-track{background:#182325}body ::-webkit-scrollbar-thumb{background:#52635e;border:2px solid #182325;border-radius:3px}
@media(max-width:900px){body>header{padding-inline:10px;gap:0 8px}.brand{font-size:20px}.warnings .task-entry{min-width:auto!important;padding-inline:6px}.management-body{padding:12px!important}}
@media(prefers-reduced-motion:reduce){body button{transition:none}}

.map-wrap::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22180%22%20height%3D%22180%22%3E%3Cfilter%20id%3D%22g%22%3E%3CfeTurbulence%20type%3D%22fractalNoise%22%20baseFrequency%3D%22.8%22%20numOctaves%3D%222%22%20stitchTiles%3D%22stitch%22/%3E%3C/filter%3E%3Crect%20width%3D%22100%25%22%20height%3D%22100%25%22%20opacity%3D%22.4%22%20filter%3D%22url%28%23g%29%22/%3E%3C/svg%3E");opacity:.085;mix-blend-mode:soft-light}
/* Keep selected nodes distinct without the former luminous double frame. */
body #managementBody[data-management-tab="focus"] .full-focus-canvas{background-color:#192628!important;border-color:#405456;background-image:linear-gradient(#a0b6a810 1px,transparent 1px),linear-gradient(90deg,#a0b6a810 1px,transparent 1px)}
body #managementBody .full-focus-node.focus-selected{border:1px solid #c4b18c!important;outline:0!important;box-shadow:inset 3px 0 #c4b18c!important;background:#364641!important}
body .weapon-stockpile-panel,body .equipment-readiness-panel,body .production-readiness-panel{background:#1b2729;border-color:#405453}
body .weapon-stock-row{background:#263437;border-color:#455a55;border-radius:1px}
body .weapon-stock-row.deficit{background:#3a2b29;border-color:#79514a}
body .weapon-stock-row.deficit strong,body .weapon-stock-row.deficit em{color:#d8a197}
body .weapon-stock-row.surplus{background:#283932;border-color:#526e5d}
body .weapon-stock-row.surplus strong,body .weapon-stock-row.surplus em{color:#b0c69c}
body .weapon-stock-row.balanced strong,body .weapon-stock-row.balanced em{color:#c5b695}
