#game-screen #side-controls .supply-instruction{font-size:10px;line-height:13px;margin:0 0 3px;color:#57503d}
#game-screen #side-controls .supply-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
#game-screen #side-controls .supply-card{position:relative;display:grid;grid-template-columns:18px minmax(0,1fr);grid-template-rows:14px 16px 13px;gap:1px 3px;text-align:left;padding:3px 5px 4px;min-height:52px;min-width:0;width:100%;border:1px solid #9d8c65;border-bottom-color:#695a3b;background:linear-gradient(#f5ecd7,#ddd0af);box-shadow:inset 0 1px #fff8e8;color:#272d22;cursor:pointer;border-radius:2px}
#game-screen #side-controls .supply-card canvas{grid-row:1;width:16px;height:14px;align-self:center;opacity:1}
#game-screen #side-controls .supply-card .supply-name{font-size:12px;font-weight:650;line-height:14px;color:#343728}
#game-screen #side-controls .supply-card [data-supply-owned]{grid-column:1/-1;grid-row:2;font-size:13px;font-variant-numeric:tabular-nums;line-height:16px;color:#252b20;font-weight:750}
#game-screen #side-controls .supply-card .supply-target{grid-column:1/-1;grid-row:3;display:flex;align-items:baseline;justify-content:space-between;gap:2px;color:#56513e;font-size:10px;line-height:13px;overflow:visible}
#game-screen #side-controls .supply-card [data-supply-target]{color:#353b2b;font-size:11px;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
#game-screen #side-controls .supply-card [data-supply-action]{display:none}
#game-screen #side-controls .supply-card.active:after{content:'Ⅱ';position:absolute;right:4px;top:3px;font-size:10px;line-height:12px;color:#735222}
#game-screen .side-pane[data-pane=weapons]{overflow-y:auto;overflow-x:hidden;padding-top:14px;scrollbar-width:thin;scrollbar-color:#9d8b61 #ddd1b6}
#game-screen #side-controls .supply-card progress{position:absolute;bottom:2px;left:4px;width:calc(100% - 8px);height:2px;appearance:none;border:0;background:#c6b997}
#game-screen #side-controls .supply-card progress::-webkit-progress-bar{background:#c6b997}
#game-screen #side-controls .supply-card progress::-webkit-progress-value{background:#8c713a}
#game-screen #side-controls .supply-card:hover:not(:disabled){border-color:#806331;background:linear-gradient(#fff5df,#e5d5ad)}
#game-screen #side-controls .supply-card:active:not(:disabled){box-shadow:inset 0 2px 4px #55432655}
#game-screen #side-controls .supply-card.active{border-color:#987334;background:linear-gradient(#f3dfac,#dfc58a);box-shadow:inset 3px 0 #8d692d,inset 0 1px #fff0c5}
#game-screen #side-controls .supply-card:disabled{cursor:default;opacity:1;background:#e3dcc8}
#game-screen #side-controls .supply-card:focus-visible{outline:2px solid #6b542e;outline-offset:1px}
#game-screen #side-controls .supply-adjust{margin-top:2px;padding:0;border-bottom:0}
#game-screen #side-controls .supply-adjust summary{font-size:11px;padding:2px 0;color:#574830;cursor:pointer}
#game-screen #side-controls .supply-adjust[open]{padding-bottom:7px}
#control-help{width:min(390px,calc(100vw - 32px));max-height:85dvh;overflow:auto;padding:24px;border:6px ridge #ae9465;border-radius:1px;background:linear-gradient(135deg,#eee5cb,#d8c8a6);color:#302d22;box-shadow:0 14px 50px #0008;color-scheme:light;font-family:var(--font-ui)}
#control-help::backdrop{background:#10171080}
#control-help header{padding:0 0 15px;border-bottom:1px solid #a8977166;background:none}
#control-help header>span{font-size:11px;letter-spacing:.06em;color:#766342}
#control-help h2{margin:4px 0 0;font-size:22px;font-weight:700;color:#302d22}
#control-help .control-help-body{padding:8px 0 12px;counter-reset:help-item}
#control-help .control-help-body p{position:relative;margin:12px 0;padding-left:22px;font-size:14px;line-height:1.7;word-break:keep-all;color:#383a2f}
#control-help .control-help-body p:not([class])::before{counter-increment:help-item;content:counter(help-item) ')';position:absolute;left:0;color:#76613b}
#control-help .control-help-body .help-shortcut{padding-left:0;font-size:12px;color:#705b32}
#control-help .control-help-body .help-unavailable{padding:10px;border:1px solid #a58b634d;background:#b3a08022;font-size:12px;color:#76512e}
#control-help footer{text-align:center;padding-top:8px}
#control-help footer button{min-width:92px;padding:8px 20px;border:1px solid #736142;background:linear-gradient(#7b6b4b,#514632);box-shadow:inset 0 1px #d1ba8677;color:#fff3d4;font-size:14px;font-weight:600;cursor:pointer}
#control-help footer button:focus-visible{outline:2px solid #4c3e26;outline-offset:3px}
#panel .board-tabs{display:flex;gap:6px;border-bottom:1px solid #b8a77e;padding-bottom:12px;margin-bottom:16px}
#panel .board-tabs button{flex:1;padding:9px 8px;font-size:14px}
#panel .board-tabs button[aria-pressed=true]{background:linear-gradient(#8b7041,#5c4a2d);border-color:#bca36b;color:#fff2d0}
#panel .board-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
#panel .board-toolbar h3{font-size:17px;color:#3c3b2f}
#panel .board-toolbar small{color:#706850;font-size:12px}
#panel .board-list{border-top:1px solid #b7a785}
#panel .board-post{display:flex;flex-direction:column;gap:6px;width:100%;text-align:left;padding:13px 8px;border:0;border-bottom:1px solid #c1b697;background:transparent;box-shadow:none;text-shadow:none;color:#31372b}
#panel .board-post strong{font-size:15px;font-weight:600;color:#31372b;overflow-wrap:anywhere}
#panel .board-post span{font-size:12px;color:#786c52}
#panel .board-post:hover{background:#eadfbd}
#panel .board-empty{text-align:center;padding:35px 0;color:#746b55}
#panel .board-pages{display:flex;justify-content:center;align-items:center;gap:15px;margin-top:18px;color:#66563b}
#panel .board-article h3{font-size:21px;line-height:1.5;color:#30372c;overflow-wrap:anywhere}
#panel .board-byline{font-size:12px;color:#7f7255;margin:6px 0 18px}
#panel .board-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.85;font-size:14px;color:#333d2c;min-height:180px}
#panel .board-article footer{display:flex;gap:8px;border-top:1px solid #b6a786;padding-top:16px;margin-top:20px}
#panel #board-editor{display:grid;gap:16px}
#panel #board-editor h3{font-size:18px;color:#353b2e}
#panel #board-editor label{font-size:13px;color:#625638}
#panel #board-editor input,#panel #board-editor textarea{width:100%;padding:9px;font:14px/1.6 var(--font-ui);background:#f4ecd7;color:#293325;border:1px solid #aa9770;resize:vertical;box-sizing:border-box}
#panel .board-editor-actions{display:flex;justify-content:flex-end;gap:8px}

#game-screen #side-controls .supply-card [data-supply-detail]{display:none}
#game-screen .general-nameplate{left:9%;right:4%;bottom:7px;height:50px;grid-template-columns:22px minmax(0,1fr);grid-template-rows:auto auto auto;gap:1px 5px;align-items:center;align-content:center}
#game-screen .general-nameplate>.rank-badge{grid-column:1;grid-row:1/4;width:22px;height:38px;object-fit:contain;filter:drop-shadow(0 1px 1px #0008)}
#game-screen .general-nameplate #player-name{grid-column:2;grid-row:1;font-size:12px;line-height:1.25}
#game-screen .general-nameplate #player-rank{grid-column:2;grid-row:2;font-size:11px;color:#fff0c7;line-height:1.2}
#game-screen .general-nameplate #player-nation{grid-column:2;grid-row:3;font-size:10px;line-height:1.2}
#panel .general-rank-summary{display:grid;grid-template-columns:36px 1fr;column-gap:12px;align-items:center}
#panel .general-rank-summary .rank-badge{width:32px;height:54px;grid-row:1/3}
#panel .general-rank-summary strong{align-self:start}

#game-screen .side-pane .city-card #city-stage{display:flex;align-items:center;gap:2px}
#city-stage canvas{width:40px;height:28px;object-fit:contain}

#game-screen .side-pane[data-pane=weapons] #side-controls{overflow:visible;min-width:0;width:100%;box-sizing:border-box;padding-top:0;padding-bottom:0}

/* Shared original-coordinate political map, for both entry and live overview. */
.political-map-wrap{min-width:0;width:100%;align-self:start;background:#4e412d;border:1px solid #a38b5b}
.political-map{display:block;width:100%;height:auto;aspect-ratio:800/456;overflow:hidden}
.political-map image{pointer-events:none}
.political-city{cursor:pointer;outline:none}
.political-city .city-hit{pointer-events:all}
.political-city:hover .city-hit,.political-city:focus-visible .city-hit,.political-city.nation-selected .city-hit{stroke:#fff4b6;stroke-width:2;fill:#fff4b640}
.political-city.nation-dimmed{opacity:.35}
.political-city[aria-disabled=true]{cursor:default}
.political-key{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:8px 10px;margin:0!important;color:#f7edda!important;font-size:12px!important;line-height:1.4!important}
.key-neutral{display:inline-block;width:13px;height:13px;background:#f3f0e6;border:1px solid #b4a582}
.key-capital{color:#ffe977;margin-left:8px}.map-instruction{margin-left:auto;color:#d9cbb1}
.nation-selection-layout{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:16px;max-width:1200px;width:100%;align-items:start}
.nation-choice-list{max-height:65dvh;overflow:auto;scrollbar-width:thin}
.nation-choice-list .nations{display:grid;grid-template-columns:1fr;gap:5px}
#entry-content .nation-choice-list .nation-choice{padding:6px;min-width:0;min-height:46px;height:auto;gap:8px}
#entry-content .nation-choice-list .nation-choice b{font-size:17px}
#entry-content .nation-choice-list .nation-choice canvas{width:30px;height:32px;flex:none}
#entry-content .nation-highlighted{outline:2px solid #edd48e;background:#83713e}
.selected-nation-caption{font-size:13px;line-height:1.5;color:#fff0cc;margin-bottom:8px}
#panel.world-overview{width:min(1200px,95vw);max-width:95vw}
#world-political{flex:1;min-width:0}
#panel .political-key{font-size:12px;line-height:1.4}
@media(max-width:900px){.nation-selection-layout{grid-template-columns:1fr}.nation-choice-list{max-height:220px}.nation-choice-list .nations{grid-template-columns:repeat(2,minmax(0,1fr))}.world-layout{flex-direction:column}#world-roster{width:100%;max-height:150px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;border-left:0;padding:8px 0}#world-roster h3{grid-column:1/-1}.map-instruction{margin-left:0}}

#panel.world-overview #panel-content{overflow:auto}

.connection-panel{width:min(420px,90vw);padding:26px;text-align:center;border:1px solid #a48c5e;background:#3d382de8;color:#f1e7cf;box-shadow:0 8px 24px #14171055}
#entry-content .connection-panel h2{font-size:21px;color:#fff1cb;margin:0 0 12px}
#entry-content .connection-panel p{font-size:14px;line-height:1.7;color:#e2d7bd;margin:0 0 20px}
#entry-content .connection-panel button,#entry-content .connection-panel a{display:inline-block;padding:9px 22px;min-width:120px;background:#75603b;border:1px solid #c8ad72;color:#fff1d0;text-decoration:none;font-size:14px;cursor:pointer}

.is-command-pending{opacity:.72;pointer-events:none}.is-command-pending .row-action{color:#5d4d2c;background:#d8c48b}
.nation-members{display:flex;flex-wrap:wrap;gap:7px 12px}.nation-member{white-space:nowrap}.nation-member.online{color:#d5e8bc}.nation-member.offline{color:#aea995}

#nationality-map{min-width:0}#nationality-current{font-size:14px;color:#f5dda5}.entry-world-status{min-height:18px}#nationality-connection[data-state=live]{color:#bed596}
