/* The campaign desk: original atlas art, warm paper, aged brass and field-green leather. */
:root{--ink:#29382f;--muted:#777e6b;--paper:#eee9db;--panel:#f7f2e6;--line:#d7d0bd;--gold:#b69860;--green:#304e3e;--serif:'Songti SC','STSong','Noto Serif SC',Georgia,serif}
body.at-home .app-shell{display:none}
.front-menu{min-height:100dvh;position:relative;isolation:isolate;display:flex;flex-direction:column;color:#eee8d6;background:#162f26;overflow:hidden}
.front-menu[hidden]{display:none}
.front-menu::before{content:'';position:absolute;inset:0;z-index:-2;background:url('assets/command-atlas.svg') no-repeat right center/auto 110%;opacity:.8}
.front-menu::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#122b23 0%,#172f27f5 28%,#172f27ca 44%,#17342620 74%),linear-gradient(0deg,#10291ff2 0%,transparent 35%,#15312622 80%,#132b23b0);pointer-events:none}
.front-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:25px 5.5%;border-bottom:1px solid #d3bd7e33}
.front-wordmark{display:flex;align-items:center;gap:14px;font-family:var(--serif);font-size:27px;letter-spacing:7px}
.front-wordmark>.icon{width:39px;height:39px;color:#c4aa72;stroke-width:1}
.front-wordmark small{display:block;font:8px/1.6 var(--sans);letter-spacing:3px;color:#b6b79d}
.front-edition{font:11px var(--serif);letter-spacing:3px;color:#bdc5b0}
.front-manual-link{font-size:11px;display:flex;gap:9px;align-items:center;color:#e1d0a3;padding:10px 0}
.front-manual-link .icon{width:16px;height:16px}
.front-main{flex:1;display:flex;align-items:center;justify-content:space-between;gap:60px;width:100%;max-width:1500px;margin:auto;padding:38px 7% 30px;min-height:580px}
.front-introduction{width:430px;flex-shrink:0;position:relative}
.front-kicker{display:flex;align-items:center;gap:12px;color:#cab47c;font:9px Georgia,serif;letter-spacing:3px}
.front-kicker span{width:26px;height:1px;background:#bfa36c}
.front-overline{font:11px var(--serif);color:#bec6ae;letter-spacing:6px;margin:23px 0 10px}
.front-introduction h1{font:700 clamp(65px,7vw,108px)/1.12 var(--serif);letter-spacing:15px;margin:0;color:#f6efd9;text-shadow:2px 3px 0 #0b2017,0 0 40px #e5d9a517}
.front-introduction h1 span{color:#d5bd83}
.front-introduction h1 small{display:block;font:12px/2.8 Georgia,serif;letter-spacing:7px;color:#ded5b9}
.front-years{display:flex;align-items:center;gap:17px;margin:10px 0 20px;border-top:1px solid #beaa713d;padding-top:14px}
.front-years b{font:22px Georgia,serif;letter-spacing:2px;color:#d5c08c}
.front-years i{font-size:9px;font-style:normal;color:#aa945e}
.front-years span{font:10px var(--serif);color:#b4bda7;letter-spacing:1px;margin-left:auto}
.front-description{font:12px/2.1 var(--serif);color:#c5cbb8;margin:0 0 26px;letter-spacing:1px}
.front-actions{display:grid;gap:9px}
.front-action{width:100%;display:flex;align-items:center;gap:15px;text-align:left;border:1px solid #b7ab7855;background:linear-gradient(100deg,#53644935,#2d473b55);padding:14px 18px;min-height:65px;box-shadow:inset 0 0 0 2px #102c2633;color:#e1dec9;position:relative}
.front-action::after{content:'';position:absolute;right:4px;top:4px;bottom:4px;width:2px;background:#a5925f66}
.front-action-number{color:#9eab91;font:10px Georgia;letter-spacing:1px}
.front-action>.icon{width:21px;height:21px;color:#c6b27b}
.front-action strong{display:block;font:18px var(--serif);letter-spacing:3px}
.front-action small{display:block;font:9px/1.7 var(--sans);color:#b5bea9;letter-spacing:1px;margin-top:3px}
.front-action>b{margin-left:auto;font-size:17px;font-weight:400;color:#c7b481}
.front-action.primary{color:#293b2e;background:linear-gradient(110deg,#dfc796,#c9ac70);border-color:#e5d0a0;box-shadow:inset 0 0 0 3px #bca16b,0 6px 18px #061b1733}
.front-action.primary strong{font-weight:700}
.front-action.primary small,.front-action.primary .front-action-number,.front-action.primary>.icon,.front-action.primary>b{color:#526044}
.front-action:hover:not(:disabled){background-color:#6b784955;color:#fff4d4;border-color:#ddc082;box-shadow:inset 0 0 0 2px #bfa46a45,0 5px 20px #00170d44}
.front-action.primary:hover{background:linear-gradient(110deg,#edd8ac,#dac18a);color:#20382c}
.front-reference{display:flex;gap:14px;align-items:center;color:#b9c0aa;font-size:10px;margin-top:22px}
.front-reference button{display:flex;gap:6px;align-items:center;padding:5px 0}
.front-reference .icon{width:13px;height:13px;color:#c4ae7a}
.front-reference>span{color:#a4925e}
.front-atlas-note{align-self:flex-end;width:300px;margin-bottom:40px;text-shadow:0 1px 10px #0e2b22;color:#e3dfc7}
.atlas-note-line{display:block;background:#b8a06b;width:60px;height:1px;margin-bottom:15px}
.front-atlas-note>small{font:8px Georgia,serif;letter-spacing:2px;color:#d4c9a1}
.front-atlas-note>strong{display:block;font:25px var(--serif);letter-spacing:5px;margin:14px 0}
.front-atlas-note p{font:11px/2 var(--serif);color:#d4d7c0;letter-spacing:1px}
.front-seal{display:flex;align-items:center;gap:13px;border-top:1px solid #bfa36b66;margin-top:21px;padding-top:17px}
.front-seal .icon{width:32px;height:32px;color:#c6b17a;stroke-width:1}
.front-seal span{font:8px/1.8 Georgia;letter-spacing:2px;color:#c6c8af}
.front-footer{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:17px 5.5%;border-top:1px solid #c1b07b33;color:#a3b09a;font-size:9px;letter-spacing:1px}
.front-footer b{font:10px Georgia;color:#c2ae7a;letter-spacing:2px}
.front-error{color:#e5b7a0;font-size:11px;line-height:1.8}
/* The field desk retains a compact command layout with stronger materials and hierarchy. */
.masthead{background:linear-gradient(180deg,#2d4235,#1d3027);border-bottom:2px solid #9b8150;box-shadow:0 3px 12px #172b1c24;z-index:2}
.brand{color:#eee4c9;letter-spacing:5px}
.brand-emblem{color:#d5bb7e;background:#c6ac6d0b}
.nav-button.active{color:#f0d59a}
.nav-button.active:after{background:#c8a765;height:3px}
.resource-bar{background:linear-gradient(#f3efdf,#e6e2d1);border-bottom:1px solid #b6b395}
.workspace-utility{background:#dfddcd;border-bottom-color:#bdbba2;color:#5e6c58}
.panel-heading{background:linear-gradient(90deg,#dddac8,#e9e5d6);border-bottom:1px solid #c4bea6;color:#626d55;letter-spacing:2px}
.management-panel,.intel-panel{background:#f3efe3;border-color:#c7bea3}
.country-heading h1{font-weight:600;color:#304332}
.leader-card{background:linear-gradient(115deg,#e4e4d1,#eeeadb);border:1px solid #d0c9b0;box-shadow:inset 3px 0 #a18b5c}
.leader-medallion{background:linear-gradient(145deg,#718265,#3b513f);color:#e1d7b9;border-color:#a49b6a}
.action-button{background:linear-gradient(#4e654b,#374f3b);border:1px solid #5c7250;box-shadow:inset 0 1px #d7d7a21f;color:#f0ead7}
.action-button:hover:not(:disabled){background:linear-gradient(#5d7653,#455e43);color:#fff1c6}
.action-button.secondary{background:#efecdc;border-color:#b9b79a;box-shadow:inset 0 1px #fffbf0;color:#4e6043}
.item-card{background:linear-gradient(110deg,#f3f0e4,#ece9da);border-color:#cfcab3}
.map-panel{box-shadow:inset 0 0 0 1px #b6ad8e}
.map-toolbar{background:#e5e2d0;border-bottom:1px solid #b2b695}
.time-bar{background:linear-gradient(#293f31,#1d3026);border-top:2px solid #a28a54;box-shadow:0 -3px 12px #20312122}
.modal{background:linear-gradient(110deg,#f6f1e4,#eeeadb);border:1px solid #b9b294;box-shadow:0 28px 100px #06190f77,inset 0 0 0 5px #e0d9c5;padding:34px 38px}
.modal h2{color:#304331;font-weight:600}
.modal-intro{color:#6f7a60;font-size:12px}
.modal-eyebrow{color:#8a815d}
.focus-node{border-color:#c5c5a8;background:#ecebdc;border-top:2px solid #bca574}
.focus-node:after{content:none!important}
.focus-node p,.focus-node .node-status{color:#67755c}
.focus-node.locked{opacity:.8}
.focus-node.done{background:#e4e8d1;border-color:#a4b18b}
.field-select{background:#f7f3e6;border-color:#bdbb9d;color:#384d39}
.country-card{background:#eeecdc;border-color:#c6c6aa;box-shadow:inset 0 0 0 3px #f9f6e955}
.country-card p{color:#6d795d;font-size:10px}
.country-card.selected{border-color:#9b8857;background:#e6e5c9;box-shadow:inset 0 0 0 2px #bda56e}
.country-card .nation-en{color:#778068}
.new-campaign-name{margin-bottom:20px}
.archive-toolbar{display:flex;gap:9px;margin-bottom:25px;flex-wrap:wrap}
.archive-toolbar .action-button{width:auto}
.campaign-archives{display:grid;gap:12px}
.archive-dossier{display:flex;align-items:center;gap:20px;background:#ede9d9;border:1px solid #c8c5ab;padding:19px 21px;box-shadow:inset 4px 0 #9b8b60}
.archive-number{font:26px Georgia,serif;color:#b4af91}
.archive-flag.flag{width:42px;height:28px;flex-shrink:0}
.archive-information{min-width:0;flex:1}
.archive-information>small{font-size:9px;color:#7a8067;letter-spacing:1px}
.archive-information h3{font:600 17px var(--serif);margin:7px 0;color:#364a36;overflow-wrap:anywhere}
.archive-information p{font-size:10px;color:#7c826a;margin:0}
.archive-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;width:154px}
.archive-actions .action-button:first-child{grid-column:1/-1}
.archive-empty{text-align:center;border:1px dashed #c3bda3;padding:50px 20px;background:#edeadb}
.archive-empty>.icon{width:35px;height:35px;color:#9e8c5c}
.archive-empty h3{font:23px var(--serif);color:#4a5e45}
.archive-empty p{line-height:2;color:#7b846b}
/* One continuous focus atlas. Connections are SVG paths from the data model, never card tails. */
.modal.focus-atlas-modal{width:calc(100vw - 28px);height:calc(100dvh - 28px);max-height:none;max-width:1800px;padding:0;overflow:hidden;display:flex;flex-direction:column;background:#283f32;box-shadow:0 15px 90px #06190fb0,inset 0 0 0 1px #b4a36e;border-color:#b7a16d}
.focus-atlas-header{flex:none;display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:22px 28px 15px;color:#e7e1c9;background:linear-gradient(110deg,#304d39,#243b2e);border-bottom:1px solid #a08a5266}
.focus-atlas-header .modal-eyebrow{color:#bcaa73;font-size:8px;margin-bottom:9px}
.focus-atlas-header h2{font:600 26px var(--serif);color:#f0e8ce;margin:0;letter-spacing:3px}
.focus-atlas-header p{font-size:10px;color:#b4bfa8;margin:9px 0 0;letter-spacing:.5px}
.focus-atlas-close{font-size:27px;font-weight:200;color:#b9b892;padding:0 3px;line-height:1}
.focus-atlas-tools{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 20px;background:#ddd9c4;border-bottom:1px solid #aaa485;color:#5c6b4f}
.focus-atlas-tools nav{display:flex;gap:4px;overflow:auto;white-space:nowrap;scrollbar-width:none}
.focus-atlas-tools nav button{font-size:10px;padding:7px 10px;border:1px solid transparent}
.focus-atlas-tools nav button.active{border-color:#b3ab83;background:#ece7d0;color:#4b5c3c}
.focus-zoom-controls{display:flex;align-items:center;gap:3px;flex-shrink:0;white-space:nowrap}
.focus-zoom-controls button{border:1px solid #bcb694;background:#eee9d5;padding:6px 9px;font-size:10px}
.focus-zoom-controls output{font:11px Georgia;min-width:35px;text-align:center}
.focus-atlas-workspace{display:flex;min-height:0;flex:1}
.focus-chart-viewport{position:relative;flex:1;min-width:0;overflow:auto;cursor:grab;overscroll-behavior:contain;touch-action:pan-x pan-y;scrollbar-width:thin;scrollbar-color:#8c9669 #243b2e;background-color:#263f32;background-image:radial-gradient(#9bab7633 .8px,transparent .8px),linear-gradient(90deg,#223a3022,#3a4c2e15);background-size:20px 20px,100% 100%}
.focus-chart-viewport.dragging{cursor:grabbing;user-select:none}
.focus-chart-space{position:relative;min-width:100%;min-height:100%}
.focus-chart{position:absolute;left:0;top:0;transform-origin:0 0}
.focus-dependencies{position:absolute;left:0;top:0;overflow:visible;pointer-events:none;color:#8d9d6d}
.focus-edge{stroke:#82936c;stroke-width:1.8;fill:none;stroke-linejoin:round;opacity:.75;stroke-dasharray:5 4}
.focus-edge.fulfilled{stroke:#c7b177;stroke-width:2.2;stroke-dasharray:none;opacity:.95}
.focus-root-label{position:absolute;top:25px;width:220px;text-align:center;color:#c3bf97;font:16px var(--serif);letter-spacing:3px}
.focus-map-node{position:absolute;width:168px;height:112px;display:flex;flex-direction:column;text-align:left;align-items:flex-start;background:linear-gradient(110deg,#dcd9bc,#c9cfaf);border:1px solid #a2ad82;padding:15px 10px 25px 53px;box-shadow:0 4px 7px #0a241940,inset 0 0 0 3px #ddd7af55;cursor:pointer;color:#2d4330}
.focus-map-node small{font-size:8px;color:#71805d;letter-spacing:.5px;margin-bottom:7px;white-space:nowrap}
.focus-map-node strong{font:600 12px/1.65 var(--serif);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.focus-map-medal{position:absolute;top:17px;left:10px;width:34px;height:40px;display:grid;place-items:center;background:linear-gradient(#89936a,#5a704e);border:1px solid #4e6546;box-shadow:inset 0 0 0 2px #a7aa7c;color:#e4d8a9;clip-path:polygon(0 0,100% 0,100% 78%,50% 100%,0 78%)}
.focus-map-medal .icon{width:23px;height:23px;stroke-width:1.3}
.focus-map-status{position:absolute;bottom:0;left:0;right:0;border-top:1px solid #9eab7966;background:#71865f20;padding:6px 9px;text-align:center;font:9px var(--sans);color:#5b704e;letter-spacing:1px}
.focus-map-node.locked{background:linear-gradient(110deg,#a4b09a,#8d9f8a);border-color:#7b916f;color:#284033;box-shadow:0 3px 7px #08221430,inset 0 0 0 3px #acb89725}
.focus-map-node.locked small,.focus-map-node.locked .focus-map-status{color:#3e5943}
.focus-map-node.locked .focus-map-medal{background:linear-gradient(#84957d,#647d65);color:#c6c8a4}
.focus-map-node.available{border-color:#d3c082;background:linear-gradient(110deg,#ebe2b9,#d2d4a8);box-shadow:0 4px 12px #0a24194a,inset 0 0 0 3px #e4ce914d}
.focus-map-node.done{background:linear-gradient(110deg,#b9c799,#9cb385);border-color:#adc28d}
.focus-map-node.done .focus-map-status{color:#355c37;background:#6c955331}
.focus-map-node.working{background:linear-gradient(110deg,#e2c98d,#c4b57d);border-color:#e7cc85}
.focus-map-node.working .focus-map-medal{background:linear-gradient(#aa8e49,#716b38);color:#ffe5a3}
.focus-map-node.working .focus-map-status{color:#736132;background:#d9c680}
.focus-map-node.selected{outline:2px solid #e5c985;outline-offset:4px;z-index:2}
.focus-map-node:hover{color:#1e3a29;box-shadow:0 0 20px #c9c38244,inset 0 0 0 2px #f9e2a1}
.focus-detail{width:310px;flex-shrink:0;padding:28px 23px;overflow:auto;scrollbar-width:thin;background:linear-gradient(100deg,#eee9d5,#dedfc8);border-left:1px solid #abac85;color:#3a4e38}
.focus-detail-crest{width:63px;height:72px;display:grid;place-items:center;background:linear-gradient(#b9ae74,#77815a);color:#efe1aa;border:1px solid #807e51;box-shadow:inset 0 0 0 4px #c3bc8555;margin-bottom:22px;clip-path:polygon(0 0,100% 0,100% 75%,50% 100%,0 75%)}
.focus-detail-crest>.icon{width:36px;height:36px;stroke-width:1.2}
.focus-detail .modal-eyebrow{font-size:8px;line-height:1.8;color:#868259;letter-spacing:1px}
.focus-detail>h3{font:600 23px/1.5 var(--serif);color:#30472f;margin:9px 0 11px}
.focus-detail-duration{display:flex;gap:8px;align-items:center;font-size:9px;line-height:1.8;color:#7b8366}
.focus-detail-duration .icon{width:15px;height:15px}
.focus-detail section{border-top:1px solid #bbc2a1;padding-top:16px;margin-top:20px}
.focus-detail h4{font-size:10px;letter-spacing:2px;font-weight:500;color:#76815d;margin:0 0 10px}
.focus-detail p{font-size:11px;line-height:1.9;margin:0 0 16px;color:#5f7252;overflow-wrap:anywhere}
.focus-detail .focus-condition.locked{color:#9b6650}
.focus-detail .action-button{margin-top:12px;min-height:42px;font-size:11px}
.focus-relation{display:flex;justify-content:space-between;gap:10px;text-align:left;width:100%;font-size:11px;line-height:1.7;color:#576d48;border-bottom:1px solid #c6caae;padding:8px 0}
.focus-relation b{font-weight:400;color:#9b8a50}
.focus-detail-stamp{border:2px solid #89945d;color:#758351;font:15px var(--serif);letter-spacing:5px;padding:13px 10px;text-align:center;margin-top:22px}
.focus-detail .focus-leaf-note{font-size:10px;color:#81886c;margin:22px 0}
.focus-detail-links{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:25px}
.focus-detail-links .action-button{font-size:9px;min-height:34px;margin:0;padding:6px}
.focus-detail-links .action-button:last-child{grid-column:1/-1}
.focus-atlas-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;flex:none;padding:12px 22px;background:#20372a;border-top:1px solid #89915b66;font-size:9px;color:#b0b99c}
.focus-atlas-footer>span{display:flex;align-items:center;gap:8px}
.focus-atlas-footer b{font-weight:400;color:#858e75;margin-left:10px}
.focus-key{width:7px;height:7px;display:inline-block;border:1px solid #9aad79;margin-left:10px}
.focus-key:first-child{margin-left:0}
.focus-key.done{background:#98b37c}.focus-key.working{background:#dac17a;border-color:#dac17a}.focus-key.available{background:#c3c699}.focus-key.locked{background:#5c7659}
@media(min-width:1500px){.front-main{padding-top:55px;padding-bottom:55px}.front-introduction{width:470px}.front-description{font-size:13px}.front-action{padding:17px 21px;min-height:73px}.front-atlas-note{margin-bottom:60px}.focus-detail{width:340px}}
@media(max-width:1060px){.front-main{padding:35px 6%;gap:40px}.front-introduction{width:390px}.front-atlas-note{width:235px}.front-menu::before{background-position:60% center;opacity:.7}.front-main{min-height:550px}.focus-atlas-tools{flex-wrap:wrap;gap:8px}.focus-atlas-tools nav{width:100%}.focus-zoom-controls{margin-left:auto}.focus-detail{width:280px}.focus-atlas-footer b{display:none}}
@media(max-width:700px){.front-header{padding:20px 6%;gap:12px}.front-wordmark{font-size:24px}.front-edition{display:none}.front-manual-link{font-size:10px}.front-main{padding:32px 8%;min-height:0;display:block;flex:1}.front-introduction{width:100%;max-width:430px;margin:auto}.front-menu::after{background:linear-gradient(90deg,#122b23f5,#172f27bd),linear-gradient(0deg,#10291f,transparent)}.front-menu::before{background-position:60% center;opacity:.4}.front-introduction h1{font-size:74px}.front-overline{margin-top:20px}.front-atlas-note{display:none}.front-description{font-size:12px;margin-bottom:24px}.front-kicker{font-size:8px;letter-spacing:2px}.front-kicker span{width:18px}.front-footer{padding:17px 6%;font-size:8px}.front-footer>span:nth-child(2){display:none}.front-reference{gap:12px;font-size:9px}.front-years{gap:12px}.front-years span{font-size:9px}.front-action{min-height:65px}.modal{padding:27px 23px}.archive-dossier{gap:12px;padding:16px 14px;flex-wrap:wrap}.archive-number{font-size:22px}.archive-flag.flag{width:32px;height:22px}.archive-information{min-width:150px}.archive-actions{width:100%;grid-template-columns:2fr 1fr 1fr}.archive-actions .action-button:first-child{grid-column:auto}.archive-information h3{font-size:16px}.archive-toolbar .action-button{font-size:10px;flex:1}.modal.focus-atlas-modal{width:100vw;height:100dvh;border:0;max-height:100dvh}.focus-atlas-header{padding:18px 18px 14px}.focus-atlas-header h2{font-size:21px}.focus-atlas-header p{font-size:9px;line-height:1.7;max-width:285px}.focus-atlas-header .modal-eyebrow{font-size:7px;letter-spacing:1.5px}.focus-atlas-tools{padding:8px 10px}.focus-atlas-tools nav button{font-size:9px;padding:6px 8px}.focus-atlas-workspace{flex-direction:column}.focus-chart-viewport{min-height:210px;flex:1}.focus-detail{width:100%;height:34dvh;max-height:310px;flex-shrink:0;border-left:0;border-top:2px solid #a99b64;padding:18px 22px}.focus-detail-crest{float:right;width:46px;height:54px;margin:0 0 10px 17px}.focus-detail-crest>.icon{width:28px;height:28px}.focus-detail>h3{font-size:21px;margin:5px 0}.focus-detail section{margin-top:15px;padding-top:12px}.focus-detail>p{margin:13px 0}.focus-atlas-footer{padding:10px 12px;font-size:8px}.focus-atlas-footer>span:last-child{display:none}.focus-detail-links{margin-top:15px}.country-cards{grid-template-columns:repeat(2,1fr)}}
@media(prefers-reduced-motion:reduce){button,a{transition:none!important}}
.focus-map-search{display:flex;align-items:center;gap:5px;flex-shrink:0}
.focus-map-search input{width:126px;font-size:10px;padding:7px 9px;background:#efe9d5;border:1px solid #bbb592;color:#536345}
.focus-map-search small{font-size:8px;color:#8b7d50;white-space:nowrap}
.focus-map-node.search-match{box-shadow:0 0 0 3px #b7aa6a,0 0 20px #e1c47455}
@media(max-width:1060px){.focus-map-search{margin-right:auto}.focus-zoom-controls{margin-left:0}}
@media(max-width:700px){.focus-chart-viewport{min-height:180px}.focus-detail{height:30dvh;max-height:270px}.focus-map-search input{width:125px}}
.modal-backdrop:has(>.focus-atlas-modal){padding:14px}
@media(max-width:700px){.modal-backdrop:has(>.focus-atlas-modal){padding:0}}

/* v8.10.1 — the same campaign desk throughout every department. */
:root{--desk-paper:#f2eddf;--desk-inset:#e7e2d0;--desk-rule:#c7bea3;--desk-ink:#354735;--desk-brass:#a78d54;--desk-quiet:#6c755f}
button,input,select,summary,a{ -webkit-tap-highlight-color:#a58e5933 }
button:focus-visible,a:focus-visible{outline:2px solid #aa8d4e;outline-offset:3px}
button:disabled{cursor:not-allowed}
.masthead .header-tools{color:#d2c7a5}
.nav-button{transition:color .15s,background-color .15s}
.nav-button:hover{color:#e4cd91;background:#d0b36c0a}
.panel-heading{min-height:47px;border-top:1px solid #faf4df99;box-shadow:inset 0 -2px #ded7c1}
.panel-heading .serial{color:#8c8467;font:8px Georgia,serif;letter-spacing:1.5px}
.panel-scroll{padding-top:15px;scrollbar-color:#b6b095 #ece8da}
.panel-title{font:600 25px/1.4 var(--serif);color:var(--desk-ink);letter-spacing:2px;margin:0 0 10px}
.panel-description{font-size:11px;line-height:1.9;color:var(--desk-quiet);margin:0 0 19px;padding-bottom:16px;border-bottom:3px double var(--desk-rule)}
.section-heading{color:#4e6045;letter-spacing:.6px;margin-bottom:13px}
.section-heading small{color:#8a8162;font:8px/1.8 Georgia,serif;letter-spacing:1.3px}
.management-section{border-top-color:var(--desk-rule)}
.country-heading{border-bottom:3px double var(--desk-rule);padding-bottom:18px}
.country-heading .english{color:#867f63;line-height:1.8}
.country-meta{color:#68715c}
.country-meta b{border-color:#aaa57c;background:#e8e2cc;color:#6c6544}
.leader-card{padding:13px 11px;margin:17px 0}
.leader-card small{color:#6e775f;line-height:1.7}
.leader-medallion{width:46px;height:54px;box-shadow:inset 0 0 0 3px #c8bd862b}
.national-stats{margin-top:15px;gap:14px}
.mini-stat{color:#6f775f}.mini-stat strong{color:#3e563c}
.track{height:4px;background:#d5d6bc;border-bottom:1px solid #fdf8e8}
.track i{background:linear-gradient(90deg,#637e51,#99a26f)}
.track.gold i{background:linear-gradient(90deg,#9e8450,#d2bd80)}
.hq-shortcuts button{background:linear-gradient(110deg,#ece7d5,#e4e2cc);border-color:#c5bea0;color:#4c6245;box-shadow:inset 0 0 0 2px #faf6e833;min-height:38px}
.hq-shortcuts button:hover{background:#dedcc0;border-color:#a79762}
.hq-shortcuts span{color:#9a8757}
.panel-view-tabs{background:var(--desk-paper);border-bottom-color:var(--desk-rule);gap:5px}
.panel-view-tabs button,.filter-tabs button,.military-tabs button{background:#e8e4d2;border:1px solid #c7bfa1;color:#6b735b;box-shadow:inset 0 1px #faf5e6;font-size:10px}
.panel-view-tabs button.active,.filter-tabs button.active,.military-tabs button.active{background:linear-gradient(#52654b,#374e3b);border-color:#536745;color:#f2e8c9;box-shadow:inset 0 -2px #b49a5a}
.filter-tabs{gap:4px;flex-wrap:wrap}
.filter-tabs button{padding:7px 9px}
.item-card{padding:15px 13px;border:1px solid var(--desk-rule);box-shadow:inset 0 0 0 2px #fffcf022,0 2px 4px #3f482705;margin-bottom:12px}
.item-top{gap:9px;color:#40543c}
.item-top strong{font:600 13px/1.65 var(--serif);color:#374e37}
.item-top small{color:#8a784c;font-size:9px;line-height:1.7}
.item-card p{font-size:10px;line-height:1.9;color:#6d765d}
.item-effect{color:#5b7149;font-size:10px;line-height:1.85;background:#e3e5ca;border-left:2px solid #99a270;padding:8px 9px}
.action-button{min-height:35px;font-size:11px;letter-spacing:.5px}
.action-button.small{min-height:31px;font-size:10px}
.action-button.secondary:hover:not(:disabled){background:#e2dfc5;border-color:#a39462;color:#3a553a}
.action-button:disabled{opacity:.48;box-shadow:none}
.field-select,input[type=number],input[type=search]{background:#f9f4e7;border:1px solid #bdb397;border-radius:0;color:#354c37;accent-color:#8d965e}
.field-select:focus{outline:1px solid #aa8e51;outline-offset:1px;box-shadow:0 0 0 3px #b59b5b20}
.select-label,.tank-design-form label{color:#726e50;font-size:10px;line-height:1.7;letter-spacing:.5px}
.inline-note,.context-tip{color:#747b63;font-size:10px;line-height:1.85}
.empty-note{color:#80836a;background:#eae6d5;border:1px dashed #c3bba0;padding:14px;line-height:1.9}
.objective-note,.peace-note,.tank-help{background:#e7e4cf;border-color:#c5bea1;color:#6a7657;line-height:1.9}
.context-fold{border-top-color:#c8bfa3}
.context-fold>summary{color:#5c6d4e;font-size:11px}
.context-fold>summary:after{color:#a28c55}
.context-fold[open]>summary{color:#8d713d}
.focus-feature{background:linear-gradient(110deg,#e9e1c9,#e0e1c6);border-color:#b5ad83;box-shadow:inset 0 0 0 3px #faf1d638}
.focus-feature strong{color:#3d543a}.focus-feature p{color:#74785d}
.research-slot{border-color:#d6cdb5}
.slot-icon{background:#e4dfc9;border-color:#c2b897;color:#8a7a4e}
.research-slot strong{font-size:11px;color:#4a6042}
.research-slot small{color:#7c8066;font-size:9px}
.force-tile{background:linear-gradient(125deg,#ece7d6,#e3e2cb);border-color:#c6bea1;box-shadow:inset 0 0 0 2px #f8f3e84d;padding-top:13px}
.force-tile b{color:#4e6344}.force-tile small{color:#767b60;font-size:9px}
.stock-cell,.stock-grid>div{background:#e9e4d3;border-color:#c6bea2;padding:12px 10px}
.stock-cell strong,.stock-cell b{color:#465d3e;font-family:Georgia,serif}
.stock-cell small{color:#77785d}
.production-visual{background:linear-gradient(110deg,#e2dfca,#d9dcc3);border-color:#c4b999}
.allocation-control{border-color:#c9c0a5;background:#ede8d8}
.allocation-control label,.mini-label{color:#6b7359;font-size:10px}
input[type=range]{accent-color:#8a905d;cursor:pointer}
.budget-card{background:linear-gradient(120deg,#354e3c,#253c30);border:1px solid #7e8b5d;box-shadow:inset 0 0 0 3px #c9bc7a18;color:#dce0c5;padding:20px 15px}
.budget-card>small,.budget-card>div{color:#bac7a7}.budget-card>strong{color:#ecdbac;font:32px Georgia,serif;letter-spacing:1px}
.budget-card>strong em{color:#a5b697;font-size:10px}.budget-card>b{color:#d4c28b;border-color:#86936655}
.budget-card>b.negative{color:#e1a68a}
.policy-option{border-color:#c8bfa3;background:#ece7d5;padding:13px 11px}
.policy-option strong{font:600 12px var(--serif);color:#485e3f}.policy-option small{font-size:10px;line-height:1.8;color:#737c60}
.policy-option b{color:#9b814b;font-size:9px}
.policy-option.active{background:#dfe3c8;border-color:#9da77b;opacity:1;box-shadow:inset 3px 0 #89945d}
.diplomacy-country{border-bottom:1px solid #d1c8af;padding:13px 0;gap:11px}
.diplomacy-country:hover{background:#e7e2cf}.diplomacy-country strong{font:600 12px var(--serif);color:#41573c}
.diplomacy-country small{font-size:9px;line-height:1.8;color:#7d8066;margin-top:5px}
.diplomacy-country>b{color:#718455;font:15px Georgia,serif}.diplomacy-country>b.hostile{color:#a06449}
.flag{border:1px solid #9b977b;box-shadow:1px 2px 2px #454c2b1c}
/* Map furniture and brass-backed counters, with one reusable equipment sprite. */
.map-toolbar{background:linear-gradient(#e6e2cf,#dadac3);border-color:#b9b397}
.map-toolbar strong{color:#536448}
.service-view-tabs{border-color:#aea57f;background:#b8b38e;gap:1px}
.service-view-tabs button{background:#e5dfc9;color:#626f52;display:flex;align-items:center;justify-content:center;gap:5px}
.service-view-tabs button.active{background:#40573e;color:#ecdfb8;box-shadow:inset 0 -2px #bd9c57}
.service-view-tabs .icon{width:18px;height:17px}
.map-display-tools button,.map-modes button.active{background:#e7e2cc;border-color:#b7ac87;color:#6a6f51}
.map-zoom{border:1px solid #b3aa89;background:#eee7d2;box-shadow:2px 3px 7px #26392d24}
.map-zoom button{color:#566547;border-color:#cec5a9;background:#eee7d2}
.map-zoom button:hover{background:#dbd7b9}
.map-legend{background:#f1ead4df;color:#6e765d;border:1px solid #bcb38d;box-shadow:2px 3px 6px #293e2b0d}
.map-hint{background:#f2ead2e8;color:#62714e;border:1px solid #c2b58e;border-radius:0;box-shadow:0 2px 4px #283e3010}
.map-caption{color:#536954}.map-caption small{color:#74816b}
.army-group-bar{background:#dedcc6;border-color:#bab397}
.army-group-shortcut{background:#eee7d2;border-color:#bcb38e;color:#56674a;box-shadow:inset 0 1px #fff5dc}
.army-group-shortcut.active{background:#40583f;border-color:#a99861;color:#efdfb5}
.group-edit-button,.select-army-button{background:#e7e0c9;border-color:#bdb18b;color:#5c6c4b}
.unit-command-bar{background:linear-gradient(#eee8d7,#e4dfcb);border-color:#bcb393}
.command-selection strong{color:#3e573d}.command-selection small{color:#737c61;line-height:1.7}
.unit-command-buttons button{border-color:#bdb394;background:#ebe4ce;color:#566b45}
.unit-command-buttons button.active{background:#516446;color:#f5e9c3}
#armyGroupBar:empty,#unitCommandBar:empty{display:none}
.situation-bar{background:#dedcc6;border-top-color:#b8ae8b;color:#626f52}
.service-map-token .marker-shadow{fill:#20392d;opacity:.23;stroke:none;stroke-width:0}
.service-map-token .marker-frame{fill:#3d5348;stroke:#b4a376;stroke-width:1.2}
.service-map-token.hostile .marker-frame{fill:#714c3d;stroke:#ba9574}
.service-map-token.neutral .marker-frame{fill:#5e6b59;stroke:#b5b296}
.service-map-token .marker-light{fill:#b9bd8320}
.service-map-token .marker-inset{fill:none;stroke:#d9ce9c55;stroke-width:.5}
.service-map-token .marker-leader{fill:none;stroke:#4e6655;stroke-opacity:.6;stroke-width:1}
.service-map-token .marker-count{font:bold 13px Georgia,serif;fill:#f1e1b5;paint-order:stroke;stroke:#2f4938;stroke-width:1.5}
.service-map-token .marker-branch{font:6px Georgia,serif;letter-spacing:1px;fill:#d0ceb0}
.service-map-token .marker-badge{fill:#e8e2cb;stroke:#9b9975;stroke-width:.7}
.service-map-token .marker-badge-label{font:9px var(--sans);fill:#4b6245}
.service-map-token:is(.selected,:focus) rect{stroke-width:0}
.service-map-token:is(.selected,:focus) .marker-frame{stroke:#eed08a;stroke-width:2.5;fill:#556543}
.service-map-token:is(.selected,:focus) .marker-inset{stroke:#ead99b77;stroke-width:.5}
.service-map-token:hover .marker-frame{stroke:#e8cc89;stroke-width:2}
/* The right-hand intelligence dossier. */
.intel-scroll{padding-top:0;scrollbar-color:#b7b296 transparent}
.province-heading{background:linear-gradient(110deg,#e9e4d1,#f0ebdd);border-bottom:3px double #c1b697;padding-top:20px}
.territory-tag{color:#8a7f5c}.territory-tag span:last-child{color:#938a6a}
.province-heading h2{font-weight:600;color:#3b533b;letter-spacing:2px}
.province-owner{color:#757b61;line-height:1.8}
.context-nation-card,.inspector-group,.service-status-card{background:#e8e4d0;border-color:#c2b799}
.unit-selection-stats{background:#ebe6d5;border-color:#c8bda1}
.unit-control-instruction{color:#687a55;line-height:1.9}
.dispatch.context-fold{background:#e3dfcc;border-color:#bfb697}
.dispatch.context-fold>summary{color:#697755}
.service-overview>p{font-size:10px;color:#6a765b;line-height:1.9}
.service-list-row{background:#e9e4d1;border-color:#c7bda0;box-shadow:inset 2px 0 var(--group-color);padding:12px 10px}
.service-list-row strong{color:#3f593e;font:600 12px var(--serif)}
.service-list-row small{color:#747e61;font-size:10px;line-height:1.8}
.service-roster-card,.army-group-card,.subject-card,.war-report-country{background:linear-gradient(115deg,#f0ebdb,#e6e2ce);border:1px solid #bfb695;box-shadow:inset 0 0 0 3px #faf2da33}
.service-roster-card p,.army-group-card p,.subject-card p{color:#6a7759;line-height:1.9}
.subject-card-heading h3,.group-card-heading strong{font-family:var(--serif);color:#3d553b}
.subject-card-heading small{color:#7c8063;line-height:1.7}
.service-transfer-form,.group-create,.group-assign,.group-selection-summary{background:#e5e0cb;border-color:#c4b89a}
.service-manifest{background:#efe8d7;border-color:#c5b99b}
.service-manifest>div{border-color:#d5c9ae}.service-manifest label{color:#667451}
.service-guide-steps article{background:#e9e3cf;border-color:#c5b99c}
.service-guide-steps b{color:#5b6e46}.service-guide-steps p{color:#727c5c}
/* Reports, foreign-office papers and the engineering bureau. */
.modal>.modal-eyebrow{font:8px Georgia,serif;letter-spacing:2.5px;color:#8f7d52;display:block;margin-bottom:12px;padding-right:24px;line-height:1.8}
.modal>h2{border-bottom:3px double #c2b795;padding-bottom:16px;letter-spacing:2px}
.modal-intro{font-size:12px;line-height:1.9;color:#70785c}
.modal-close{color:#8e835d;border:1px solid #c9bd9b;width:29px;height:29px;line-height:23px;font-size:23px;background:#eee7d2}
.modal-close:hover{color:#684c2e;background:#e0d5b7}
.modal-footer{border-color:#c5b897;padding-top:20px;color:#7d795b;font-size:10px;line-height:1.8}
.country-intel-grid>div,.intel-comparison,.war-metrics>div,.current-force-facts>div,.tank-stat-grid>div{background:#e7e2cd;border-color:#c9bfa0;box-shadow:inset 0 1px #faf2dc55}
.intelligence-label{background:#dedfc4;border-color:#b3ba90;color:#6f7b53;letter-spacing:1px}
.country-intel-grid b,.war-metrics b,.current-force-facts b,.tank-stat-grid b{color:#405a3e;font-family:Georgia,var(--serif);font-weight:500}
.country-intel-grid small,.war-metrics small,.current-force-facts small,.tank-stat-grid small{color:#7a7b5c;font-size:10px;line-height:1.7}
.war-report-country{padding:20px}
.war-report-country>.subject-card-heading{border-bottom:3px double #c5b894;padding-bottom:15px;margin-bottom:16px}
.war-report-country>.subject-card-heading>b{color:#917745;font-family:Georgia,serif}
.current-force-status{color:#6d785a;line-height:1.85}
.war-summary-card,.stat-summary>div{background:#e5e1cb;border-color:#bdb591}
.war-summary-card b,.stat-summary b{color:#566e43}
.tank-help{padding:14px;margin-top:18px;border-left:2px solid #aa9561}
.tank-help p{font-size:10px;line-height:1.9;color:#737c5c}
.workshop-intro{position:relative;overflow:hidden;border-top:3px solid #9d8a59}
.workshop-intro>.item-top{position:relative;z-index:1;min-height:28px}
.workshop-intro>p{position:relative;z-index:1}
.tank-design-form .field-select{min-height:37px}
.tank-stat-grid{gap:1px;border:1px solid #b9ad8d;background:#c4b99a}
.tank-stat-grid>div{border:0;min-height:61px;padding:10px}
.tank-stat-grid b{font-size:16px;line-height:1.6}
.tank-live-preview svg{border:1px solid #a89869;box-shadow:0 4px 9px #2d402220}
.tank-designer-footer{border-top:3px double #b9ad8a}
.training-resources{background:#e9e4ce;border-color:#c5b998}
.training-resources>div{border-color:#d1c5a5}.training-resources b{color:#506845}
.training-shortage{color:#a16646}.training-ready{color:#637b45}
.directory-feature,.rule-search-result{background:#e9e3ce;border-color:#c8bc9b}
.directory-feature:hover,.rule-search-result:hover{background:#dedcc1;border-color:#ab9e72}
.directory-feature strong{color:#4b6040}.directory-feature small{color:#7d8061}
.rule-content{color:#657353}.rule-content p{color:#70795b}
.rule-chapters button{color:#7b7b5e}.rule-chapters button.active{background:#dedfc2;border-color:#99975e;color:#516a3f}
.rule-table{border-color:#c5b999}.rule-table td{border-color:#d1c6a8}.rule-table tr:first-child{background:#dfdec4;color:#556d43}
.news-modal>h2{border-bottom:0;padding-bottom:0}.news-choices .news-choice{background:#e6e1cb;border-color:#bfb18d}
.news-choice:hover:not(:disabled){background:#d9dcc0}.news-masthead{border-bottom-color:#8a896b}
.news-archive-row{background:#e9e3cf;border-color:#bdb48f}.news-response{background:#e1e2c7;border-color:#b8b78c}
.toast-region .toast{background:#304a37;border:1px solid #b9a16a;color:#f0e3bd;box-shadow:0 5px 18px #1f34252b}
.time-controls .step-button,.speeds button.active{background:#c5b27c17;border:1px solid #a99c675c;color:#dfd2aa}
.play-button{border-color:#b5a06a;color:#e0ca91;background:#c9b06b0d}
@media(max-width:1060px){.map-toolbar .service-view-tabs button{padding:5px 8px}.panel-scroll{padding-left:16px;padding-right:16px}}
@media(max-width:820px){.service-view-tabs button .icon{width:19px;height:17px}.service-view-tabs button{min-height:31px}.war-report-country{padding:16px}.panel-title{font-size:24px}.modal>.modal-eyebrow{letter-spacing:1.7px}.country-heading h1{font-size:24px}}
@media(max-width:560px){.map-toolbar .service-view-tabs button{gap:4px;padding:5px 7px}.map-hint{font-size:8px;max-width:calc(100% - 65px);text-align:center}.map-legend{font-size:8px}.modal>h2{font-size:25px}.tank-stat-grid b{font-size:15px}.tank-stat-grid small{font-size:9px}.service-roster-card{padding:15px}.panel-description{font-size:11px}.focus-atlas-modal>h2{border:0;padding:0}}
@media(prefers-reduced-motion:reduce){.nav-button{transition:none}}
.unit-command-buttons button{font-size:10px;padding:7px 9px}.command-key-hint{font-size:9px;color:#7d8164}
@media(max-width:560px){.unit-command-buttons button{font-size:10px;padding:7px}.command-key-hint{font-size:8px}}
.war-report-country:only-child{grid-column:1/-1}
.current-force-facts{background:#e1dfc7;border-color:#bdb696}
.war-metrics>div{padding:10px;border-top-color:#bdb18d}
.country-intel-grid strong{color:#405b3d}
.platform-designer-modal .tank-stat-grid{padding:0;gap:1px}
.platform-designer-modal .tank-stat-grid>div{padding:10px;display:block;border:0}
.platform-designer-modal .tank-stat-grid b{display:block;font-size:15px;text-align:left;margin-top:5px}
.political-columns>section,.political-conditions,.political-front-grid>article,.alignment-card,.peace-demand-card,.peace-quote,.peace-contribution,.completion-card{background:#e9e4cf;border-color:#c2b596}
.political-metrics>div,.political-support,.july-facts>div,.july-snapshot-note,.peace-last-round{background:#e1dfc7;border-color:#bdb493}
.july-tracker{background:#ece7d5;border-color:#bdb393}.july-summary{color:#5a6d49}
.july-heading h3{color:#435b3b}.july-steps li{border-color:#c1ba9a}
.political-choices button,.event-option{background:#e8e2cd;border-color:#bdaf8b}
.event-option:hover:not(:disabled),.political-choices button:hover:not(:disabled){background:#dce0c2;border-color:#a39c6b}
.event-seal{color:#9f8752;border-color:#b3a06a}
.completion-card h3{color:#485f3c}.completion-card p{color:#737b5a}
@media(min-width:821px){.war-report-country:only-child .current-force-facts{grid-template-columns:repeat(3,minmax(0,1fr))}}
.panel-heading{gap:8px}#panelEyebrow{font-size:9px;line-height:1.65;letter-spacing:1.3px}.panel-heading .serial{white-space:nowrap;flex:none}

/* v8.10.2 — one restrained line-icon family in navigation, cards and map counters. */
.marker-symbol{fill:none;stroke:#e2dfc7;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.service-view-tabs .icon{width:17px;height:17px;stroke-width:1.5}
/* v8.10.3: compact counters and sea basins shaped by the existing coastline. */
.service-map-token .marker-count{font-size:10px;stroke-width:1}
.service-map-token .marker-badge-label{font-size:8px}
.service-map-token .marker-shadow{opacity:.17}
.service-map-token:is(.selected,:focus) .marker-frame{stroke-width:1.8}
.service-map-token:hover .marker-frame{stroke-width:1.5}
.app-shell[data-theatre="navy"] .sea-label,.app-shell[data-theatre="navy"] .sea-en{display:none}
.naval-gateway{fill:none;stroke:#587b7a;stroke-width:1.2;stroke-dasharray:5 4;stroke-opacity:.7}
.naval-zone-name{font:12px var(--serif);font-weight:600;letter-spacing:2px;fill:#3d6767;paint-order:stroke;stroke:#dce7da;stroke-width:3px;stroke-opacity:.75}
.naval-zone-control{font:9px var(--sans);fill:#526f62;paint-order:stroke;stroke:#dce7da;stroke-width:2px;stroke-opacity:.7}
.naval-basin-label{font-family:var(--serif);fill:#547677;letter-spacing:1px;paint-order:stroke;stroke:#dce8dc;stroke-width:1.5px;stroke-opacity:.6}
/* Staff desk: actionable summaries, with one shared monochrome icon family. */
.staff-summary{padding:13px 12px 11px;margin:0 0 18px;border:1px solid #b9b28e;border-top:3px solid #9b8856;background:#ebe7d5}
.staff-summary .section-heading{margin-bottom:9px;color:#354d3c}
.staff-summary .section-heading button{font-size:10px;color:#65714e}
.staff-peek{width:100%;display:flex;align-items:center;gap:8px;padding:8px 0;border-top:1px solid #c5bea14d;text-align:left;font-size:11px;line-height:1.5;color:#4c5e43}
.staff-peek b{font-weight:400;margin-left:auto;color:#827548}
.staff-dot{width:5px;height:5px;border-radius:50%;background:#78885b;flex:none}
.staff-peek.watch .staff-dot{background:#b28a47}.staff-peek.urgent .staff-dot{background:#a05240}
.staff-next{display:block;width:100%;text-align:left;font-size:10px;color:#6b7257;border-top:1px solid #bdb596;margin-top:7px;padding:10px 0 0;line-height:1.6}
.staff-next b{display:block;font:14px Georgia,serif;color:#796839;margin-top:4px}
.workspace-utility [data-staff-badge]{background:#526346;color:#f0ebd3;border-color:#526346}
[data-staff-badge].attention{border-color:#9b5c43;background:#79503d;color:#fff1d4}
.staff-brief-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:28px;margin-top:24px}
.staff-advice-list{display:grid;gap:10px}.staff-advice{display:block;text-align:left;padding:15px 16px;border:1px solid #c1b99b;border-left:3px solid #89936a;background:#ece8d7;width:100%}
.staff-advice.watch{border-left-color:#b18d50}.staff-advice.urgent{border-left-color:#a25842}
.staff-level{font-size:9px;letter-spacing:1px;color:#697b53}.staff-advice.watch .staff-level{color:#946c36}.staff-advice.urgent .staff-level{color:#9b503e}
.staff-advice strong{display:flex;justify-content:space-between;font-size:14px;line-height:1.6;margin:5px 0;color:#354d3c}.staff-advice strong b{font-weight:400;color:#8b7b49}
.staff-advice p,.staff-clear p{margin:0;font-size:11px;line-height:1.85;color:#6b715e}
.staff-advice:hover,.staff-progress:hover,.staff-peek:hover{background:#e2e0c8}
.staff-schedule{border-left:1px solid #c2baa0;padding-left:24px}.staff-progress{display:block;width:100%;padding:15px 0;text-align:left;border-bottom:1px solid #c2baa070}
.staff-progress small{font-size:10px;color:#8b7950}.staff-progress strong{display:flex;justify-content:space-between;gap:14px;margin:7px 0 11px;font-size:13px;color:#46583c}.staff-progress b{font-size:12px;font-weight:400;white-space:nowrap;color:#7a6a3d}
.staff-clear{font-size:15px;color:#556d44;padding:22px 0}.staff-clear p{margin-top:10px}
.map-layer-control{display:flex;align-items:center;gap:5px;font-size:10px;color:#647052;white-space:nowrap}
.map-layer-control select{font:11px var(--sans);color:#3f573e;background:#eee9d5;border:1px solid #b8b08e;padding:5px 4px;max-width:78px}
.map-staff-button{display:none;border:1px solid #b6ac87;padding:6px 9px;color:#526546;font-size:11px;white-space:nowrap}
.map-toolbar{column-gap:10px}.map-display-tools{margin-left:auto}
.app-shell.map-expanded{height:100dvh;min-height:0}
.map-expanded>.masthead,.map-expanded>.resource-bar,.map-expanded>.workspace-utility{display:none}
.map-expanded .command-layout{flex:1;min-height:0}
.map-expanded .map-staff-button{display:block}
.map-expanded .map-toolbar{min-height:52px}
.map-expanded .map-panel{min-height:0}
@media(min-width:821px) and (max-height:800px){
 .app-shell{min-height:600px}.masthead{height:62px}.resource-bar{height:66px}.workspace-utility{height:36px}.time-bar{height:60px}
 .map-toolbar{padding-top:5px;padding-bottom:5px}.situation-bar{height:40px}
}
@media(max-width:1100px){.map-toolbar>div:first-child{display:none}.map-toolbar .map-display-tools{margin-left:auto}}
@media(max-width:820px){
 .map-toolbar .service-view-tabs{order:0;width:auto;flex:1;justify-content:flex-start}.map-toolbar .service-view-tabs button{flex:none}
 .map-toolbar .map-display-tools{margin-left:0}.map-layer-control{margin-left:auto}.map-layer-control select{padding:6px 4px}
 .map-expanded .map-toolbar .service-view-tabs{flex:1 1 100%;order:2}.map-expanded .map-staff-button{margin-left:auto}
 .workspace-utility>span{display:none}.workspace-utility>div{width:100%;justify-content:space-between;gap:4px}.workspace-utility button{padding:7px;font-size:10px}
 .staff-brief-grid{grid-template-columns:1fr;gap:22px}.staff-schedule{border-left:0;border-top:1px solid #c2baa0;padding:20px 0 0}
}

.army-group-bar[hidden],.unit-command-bar[hidden]{display:none!important}

/* Keep display actions clickable while the map is resized or repainted. */
.map-toolbar{position:relative;z-index:6;flex-shrink:0}
.map-display-tools{position:relative;z-index:1;flex-shrink:0;pointer-events:auto}
.map-display-tools button{min-height:30px;touch-action:manipulation}
.map-expanded #expandMapButton{min-width:100px;font-size:11px;font-weight:600;border-color:#a68d50}
@media(max-width:820px){.map-toolbar .map-display-tools{order:-1}.map-display-tools button{min-height:34px}.map-expanded #expandMapButton{min-width:105px}}
/* v8.12: display controls have their own row; no overlapping flex orders. */
.map-toolbar{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;flex-wrap:nowrap!important;height:auto!important;min-height:0!important;padding:7px 12px!important;gap:6px!important;position:relative;z-index:6;flex-shrink:0}
.map-toolbar>.map-primary-controls{display:flex!important;flex-wrap:wrap;align-items:center;justify-content:space-between;width:100%;gap:6px}
.map-toolbar .map-primary-controls .service-view-tabs{order:0!important;width:auto!important;flex:0 0 auto!important;margin:0!important;display:flex;gap:0}
.map-toolbar .service-view-tabs button{flex:none!important;min-height:32px;padding:5px 9px!important;font-size:11px;white-space:nowrap}
.map-toolbar .map-primary-controls .map-display-tools{order:0!important;margin:0 0 0 auto!important;display:flex;flex-wrap:wrap;gap:4px;flex-shrink:0}
.map-toolbar .map-display-tools button{min-height:32px;padding:5px 8px!important;font-size:10px!important;min-width:0!important;font-weight:400;white-space:nowrap}
.map-toolbar #expandMapButton[aria-pressed="true"]{background:#425b40;color:#fff3cd;border-color:#a88c4f}
.map-toolbar .map-secondary-controls{display:flex!important;align-items:center;justify-content:flex-start;gap:12px;width:100%;min-height:25px}
.map-secondary-controls>strong{font-size:10px;white-space:nowrap;color:#5b6b4d;letter-spacing:.4px}
.map-secondary-controls .map-layer-control{margin:0;gap:5px}.map-secondary-controls .map-layer-control select{font-size:10px;padding:3px 5px}
.map-secondary-controls>.map-staff-button{margin-left:auto!important;font-size:10px;padding:4px 7px}
.map-secondary-controls>small{margin-left:auto;font-size:8px;color:#85866c;white-space:nowrap}
.map-expanded .map-secondary-controls>small{display:none}
.naval-boundary-casing,.naval-sea-boundaries,.naval-selected-outline{fill:none;stroke-linejoin:round;stroke-linecap:round;pointer-events:none}
.naval-boundary-casing{stroke:#e9e5cc;stroke-width:3;opacity:.7}
.naval-sea-boundaries{stroke:#486f71;stroke-width:1.25;stroke-dasharray:7 5;opacity:.9}
.naval-selected-outline{stroke:none}.naval-selected-outline.active{stroke:#a37629;stroke-width:2;stroke-dasharray:9 5}
.archive-view-tabs{display:flex;gap:7px;margin:18px 0}.archive-view-tabs .action-button{width:auto;font-size:11px;padding:8px 12px}
.archive-actions{grid-template-columns:repeat(3,auto)}.archive-actions .action-button:first-child{grid-column:1/-1}
.action-button.danger{color:#99513f;border-color:#bc8d75}.action-button.danger:hover{background:#ead4c1;color:#7d3c2e}
@media(max-width:820px){
 .map-toolbar .map-primary-controls .service-view-tabs{width:100%!important;justify-content:stretch;flex:1 1 100%!important}
 .map-toolbar .service-view-tabs button{flex:1!important;font-size:11px!important;min-height:34px}
 .map-toolbar .map-primary-controls .map-display-tools{width:100%;margin:0!important;justify-content:stretch}
 .map-toolbar .map-display-tools button{flex:1;min-height:34px;font-size:10px!important}
 .map-secondary-controls{gap:8px!important}.map-secondary-controls>small{display:none}.map-secondary-controls>strong{font-size:9px}
 .archive-actions{grid-template-columns:repeat(3,1fr)}
}

/* Keep a native service selector available beside the map view buttons. */
.map-secondary-controls{flex-wrap:wrap}
.map-service-control{display:flex;align-items:center;gap:5px;font-size:10px;white-space:nowrap;flex:none}
.map-service-control select{border:1px solid #b6b58e;background:#f3f0dd;color:#536448;padding:3px 5px;min-height:28px;font:inherit;cursor:pointer}
@media(max-width:560px){.map-secondary-controls>strong{display:none}.map-service-control select,.map-layer-control select{min-height:32px}}

.storage-notice{padding:12px 15px;border:1px solid #b6b68e;background:#e7e5d1;margin:14px 0;font-size:11px;line-height:1.8}.storage-notice p{margin:5px 0;color:#70735d}.storage-notice .action-button{display:inline-block;width:auto;margin:5px 8px 0 0;padding:6px 10px}.front-main .storage-notice{max-width:530px;background:#d5c9a915;border-color:#b8a57155;color:#d4c59c}.front-main .storage-notice p{color:#b7bda8}.front-main .storage-notice .action-button{color:#e1d2a6;border-color:#b8a57166}.save-failed{color:#9a4331!important}.save-alert{position:fixed;bottom:74px;left:12px;right:12px;z-index:70;padding:12px 16px;background:#f3e2d2;border:2px solid #a65745;box-shadow:0 4px 20px #33241944;display:flex;flex-wrap:wrap;gap:10px;align-items:center;color:#793d2e}.save-alert[hidden]{display:none}.save-alert span{flex:1;min-width:200px}.save-alert button{padding:8px 12px;border:1px solid #a56b50;background:#f9efdf}.front-main{overflow:auto}.front-actions+.storage-notice strong{overflow-wrap:anywhere}

/* Live air-ground and blockade reports keep the command-room paper palette. */
.air-effects-readout,.blockade-readout{margin:14px 0;padding:12px 14px;background:var(--paper-soft,#e9e6d5);border:1px solid #c7bea0;border-left:3px solid #a88b50}
.air-effects-readout .naval-stat{margin:0 0 7px}.air-effects-readout>small{display:block;font-size:10px;line-height:1.7;margin:7px 0 10px;color:#6c795b}.air-effects-readout .terrain-row{font-size:10px;gap:8px}.air-effects-readout .terrain-row strong{white-space:nowrap;font-weight:500}.air-effects-readout .inline-note,.blockade-readout .inline-note{font-size:10px;margin:9px 0 0}.blockade-readout>b{font-size:12px;font-weight:500;color:#526343}
.air-effects-help{font-size:10px;color:#6c795b;margin-top:10px}.air-effects-help summary{cursor:pointer;text-underline-offset:3px}

/* Readable brass and paper controls, including the two home backup actions. */
:root{--muted:#5b6654}
.front-main .storage-notice{background:#203c30;border-color:#8d855d;color:#f0dfb2}
.front-main .storage-notice p{color:#d8dfcc}
.front-main .storage-notice .action-button.secondary{background:#f1e6c8;color:#344b37;border-color:#bda56a;box-shadow:inset 0 1px #fff8e6;font-weight:500}
.front-main .storage-notice .action-button.secondary:hover:not(:disabled){background:#e4d1a3;color:#253c2b;border-color:#e6c77b}
.front-main .storage-notice .action-button.secondary:focus-visible{outline:3px solid #efd08c;outline-offset:3px}
.front-reference,.front-footer{color:#ced7bd}
:is(.management-panel,.intel-panel,.modal) :is(.panel-description,.inline-note,.empty-note,.modal-intro,.item-card p,.select-label,.training-resources,.service-guide-steps p,.archive-information small,.archive-information p,.focus-detail>p,.rule-content){color:#526149}
:is(.management-panel,.intel-panel,.modal) .action-button.secondary{color:#344b37}
:is(.management-panel,.intel-panel,.modal) .section-heading{color:#586148}
.save-conflict{color:#79571e!important}
.save-alert[data-issue="conflict"]{background:#f1e5bd;border-color:#91712d;color:#55421d}
.save-alert button{color:#3f4d31;font-weight:500}
.save-health.has-issue{border-left:3px solid #977531}
.save-health p,.save-mechanism p{color:#526149;font-size:12px;line-height:1.9}
.backup-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.backup-actions .action-button{width:auto;margin:0;flex:1 1 180px}
.save-mechanism{display:grid;gap:12px;margin:18px 0}.save-mechanism article{border:1px solid #c5bea5;background:#ede8d8;padding:14px 17px}.save-mechanism b{font-size:13px;color:#344b37}.save-mechanism p{margin:7px 0 0}

/* Political intelligence: readable pies, separate domestic and diplomatic mandates. */
.country-political-overview{border:1px solid #c4b99b;background:#eee8d8;padding:17px;margin:18px 0 22px}.country-political-overview>.section-heading{margin:0 0 12px}.country-political-summary{display:flex;gap:10px 24px;flex-wrap:wrap;font-size:11px;color:#586148;margin-bottom:15px}.country-political-summary b{color:#344b37;margin-left:7px;font-weight:600}.country-support-pies{display:grid;grid-template-columns:1fr 1fr;gap:15px}.support-pie-card{background:#f6efdf;border:1px solid #c8bea1;padding:12px;min-width:0}.support-pie-card h3{font:15px var(--serif);color:#344b37;margin:0 0 8px}.support-pie-body{display:flex;gap:12px;align-items:center}.support-pie-body svg{width:110px;height:110px;flex:none}.support-pie-body ul{list-style:none;padding:0;margin:0;flex:1;min-width:0}.support-pie-body li{display:flex;align-items:center;gap:6px;font-size:10px;line-height:1.6;margin:7px 0;color:#3f523b}.support-pie-body i{width:9px;height:9px;flex:none;border:1px solid #635e4544}.support-pie-body li span{flex:1}.support-pie-body b{white-space:nowrap;font-weight:600;font-variant-numeric:tabular-nums}.political-columns .support-pie-body{flex-wrap:wrap}.decision-category{font:17px var(--serif);margin:20px 0 12px;color:#344b37}.political-decision-card{border:1px solid #c5bca0;background:#eee8d9;margin:11px 0;padding:14px}.political-decision-card.working{border-left:3px solid #a18442}.political-decision-card .item-top strong{font-size:12px;line-height:1.6}.political-decision-card p,.political-decision-card>small{font-size:10px;line-height:1.9;color:#526149}.decision-cost{font-size:11px;color:#6d5127;border-top:1px solid #d0c5a7;padding-top:8px;margin-top:10px}.decision-status{font-size:10px;line-height:1.7;margin:8px 0;color:#526149}.political-decision-card .action-button{margin-bottom:0}.political-decision-modal .item-card p{font-size:12px;line-height:1.9}
@media(max-width:1050px){.country-support-pies{grid-template-columns:1fr}.support-pie-body svg{width:125px;height:125px}.support-pie-body li{font-size:11px}}
@media(max-width:560px){.country-political-overview{padding:12px}.support-pie-body{gap:9px}.support-pie-body svg{width:100px;height:100px}.support-pie-body li{font-size:10px}.country-political-summary{font-size:10px}}
.political-decision-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}.political-decision-grid .political-decision-card{margin:0;display:flex;flex-direction:column}.political-decision-grid .decision-cost{margin-top:auto}.political-decision-room-summary{display:flex;align-items:center;gap:12px 25px;flex-wrap:wrap;font-size:11px;color:#526149;padding:12px 0}.political-decision-room-summary b{color:#344b37;font-size:15px;margin-left:5px}.political-decision-room-summary .action-button{margin:0 0 0 auto;width:auto}.decision-active-summary{border:1px solid #b8b292;background:#e9e5d1;padding:11px;margin:10px 0;font-size:11px}.decision-active-summary b{display:block;font-weight:500;color:#344b37}.decision-active-summary small{display:block;margin:6px 0;color:#526149}.political-decision-tabs button{padding:9px 14px}
@media(max-width:700px){.political-decision-grid{grid-template-columns:1fr}.political-decision-room-summary{gap:12px}.political-decision-room-summary .action-button{margin-left:0}.political-decision-tabs{display:flex}}

/* A single statistics room, keeping detailed ledgers out of the map sidebars. */
.statistics-modal{width:min(1180px,calc(100vw - 36px));max-width:1180px}.statistics-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin:18px 0}.statistics-toolbar>label{font-size:11px;color:#526149;min-width:210px}.statistics-toolbar label select{display:block;margin-top:5px;width:100%}.statistics-toolbar input{flex:1;min-width:210px;margin:0}.statistics-toolbar .action-button{width:auto;margin:0;min-height:38px}.statistics-tabs{display:flex;flex-wrap:wrap;gap:5px;border-top:1px solid #beb18d;border-bottom:1px solid #beb18d;padding:9px 0;margin-bottom:18px}.statistics-tabs button{padding:8px 12px;border:1px solid #c9bea0;background:#ebe4d0;color:#45553e;font-size:11px}.statistics-tabs button.active{background:#415b42;border-color:#415b42;color:#fff1ce}.statistics-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.statistics-metrics article{background:#ece6d5;border:1px solid #c7bea1;padding:14px 15px;min-width:0}.statistics-metrics small{display:block;color:#526149;font-size:11px}.statistics-metrics strong{font:25px var(--serif);color:#344b37;display:block;margin:7px 0 2px;overflow-wrap:anywhere}.statistics-metrics span{font-size:10px;color:#657057;display:block;line-height:1.6}.statistics-section{margin:22px 0}.statistics-section h3{font:18px var(--serif);color:#344b37;margin:0 0 12px}.statistics-table-scroll{overflow:auto;border:1px solid #c5bda2}.statistics-table-scroll table{width:100%;border-collapse:collapse;font-size:11px;color:#3d5037}.statistics-table-scroll th{background:#ded8c1;color:#344b37;font-weight:600;text-align:left;white-space:nowrap}.statistics-table-scroll td,.statistics-table-scroll th{padding:10px 12px;border-bottom:1px solid #d1c8ac;vertical-align:top;line-height:1.8}.statistics-table-scroll td{font-variant-numeric:tabular-nums}.statistics-table-scroll tbody tr:nth-child(even){background:#ede7d5}.statistics-table-scroll tbody tr:last-child td{border-bottom:0}.statistics-search-results{display:flex;gap:10px;flex-wrap:wrap}.statistics-search-results .action-button{width:auto}.workspace-utility [data-action="statistics"]{color:#344b37;font-weight:600}
@media(max-width:820px){.statistics-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.statistics-toolbar>label,.statistics-toolbar input{min-width:0;width:100%;flex:1 1 100%}.statistics-toolbar .action-button{width:100%}.statistics-tabs button{font-size:10px;padding:8px}.workspace-utility{height:auto!important;min-height:42px;padding-top:6px;padding-bottom:6px}.workspace-utility>div{flex-wrap:wrap}.statistics-metrics strong{font-size:22px}}
.map-statistics-entry{display:none!important}.map-expanded .map-statistics-entry{display:inline-flex!important;align-items:center;justify-content:center}
