:root{--ink: #172022;--paper: #293234;--paper-raised: #303c3d;--brass: #b39a64;--rule: #626354;--text-warm: #e6dfce;--text-soft: #b4bbae;color:var(--text-warm);background:#141a1c;color-scheme:dark}body{background:radial-gradient(ellipse at 50% 0,#35433d55,transparent 65%),#141a1c}#app{width:min(1480px,calc(100vw - 48px));max-width:1480px;margin-inline:auto;padding:22px 24px 48px;box-sizing:border-box}h1,h2,h3{font-family:Georgia,Songti SC,SimSun,serif;color:#e4d1a6}h1{letter-spacing:.12em}h2{letter-spacing:.06em}h3{font-size:1rem}small,.muted,.subtitle{color:var(--text-soft)}button{background:linear-gradient(#45524b,#303c39);border:1px solid #777966;border-radius:3px;color:#e7dfca}button:hover:not(:disabled):not([aria-disabled=true]){border-color:#d1b67e;filter:brightness(1.12)}button.secondary{background:#273538;color:#c5d0c4;border-color:#627369}button.danger{background:#503739!important;border-color:#936765;color:#efd2c5}button:disabled{opacity:.5}button[aria-disabled=true]{opacity:.5;cursor:not-allowed}input,select{color:var(--text-warm);background:#172426;border:1px solid #67766c;border-radius:3px;padding:8px;max-width:100%}input[type=checkbox]{accent-color:var(--brass)}select{min-height:40px}button:focus-visible,summary:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid #e5ca85;outline-offset:3px}.panel,.alert,.stats>div{background:linear-gradient(130deg,#2c3536,#242e30);border-color:#5e6356;border-radius:3px;box-shadow:0 6px 16px #0002}.panel{padding:18px;margin:14px 0}.panel>h2,.panel>.section-heading:first-child{padding-bottom:12px;border-bottom:1px solid #89764e66}.sticky-status{position:static;background:transparent;padding-bottom:0}.realtime-bar{background:#202c2f;border-color:#656e60;border-radius:3px}.clock{color:#e0c588}.speed.selected,.tabs .active,.mode .selected{background:linear-gradient(#b29a64,#76623f);color:#fff1cd;border-color:#d7bd86;box-shadow:inset 0 0 0 2px #dcc28a33}.tabs{gap:5px;padding:8px 0 12px;border-bottom:1px solid #81704e;margin-bottom:14px;scrollbar-color:#897652 #1c2629}.tabs button{background:#253235;padding-inline:16px;border-color:#54675f}.report{max-height:100px;background:#1e292c;padding:10px 14px;border:1px solid #526157;border-radius:3px;scrollbar-width:thin;scrollbar-color:#897652 #1c2629}.report h2{display:flex;align-items:center;gap:6px;font-size:.8rem;margin:0 0 5px;color:#c9b98c}.report p{font-size:.8rem;color:#c5cdc1}.build-purpose{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.stats{gap:10px}.stats>div{padding:12px 14px;min-width:0}.stats strong,.population-angle strong{color:#efe1bd;font-variant-numeric:tabular-nums}.resource,.population-angle,.economy-row,.market-price,.map-detail{background:#253235;border-color:#596a5e;border-radius:3px}.resource{box-shadow:inset 0 1px #bca56d22}.resource-icon{color:#c6b37b}.build-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.build-btn{padding:14px;min-height:80px;background:linear-gradient(135deg,#3a4843,#293738);border-color:#7f8066;box-shadow:inset 0 0 0 3px #ffffff03}.build-btn strong{color:#e8d9b2}.build-btn small{color:#b6c2ad;line-height:1.6}.building-item{background:#263235;border:1px solid #596659;border-left:3px solid #a38e60;border-radius:3px;padding:14px}.building-item>div:first-child{min-width:0}.building-item strong{color:#e2d4b4}.tile-building-group h3{color:#c8b581;font-size:.86rem;margin-block:16px 10px}.job-row{padding:12px 0;border-color:#5d665644}.job-stepper{font-variant-numeric:tabular-nums}.opening-build-hint{background:#394234;border-color:#a68e59;color:#e4d3a4}.diplomacy-faction{border:1px solid #626b5a;background:#263336;padding:16px;margin-block:12px}.diplomacy-faction>div:first-child{display:grid;gap:7px;min-width:0}.diplomacy-faction>div:first-child>strong{font-size:1.05rem;color:#e6d5ad}.diplomacy-faction>div:first-child small{line-height:1.55}.diplomacy-faction>.actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;padding-top:10px;border-top:1px solid #626b5a66}.diplomacy-faction>.actions button{flex:1 1 120px}.diplomacy-panel>.diplomacy-costs{padding:9px 12px;background:#202b2d;border-left:3px solid #b39a64}.relation-badge{border-radius:3px}.liking-meter{background:#162123}.liking-meter span{background:#9ba77b}.treasury-stats>div,.population-angle{box-shadow:inset 0 2px #a9925933}.tooltip-layer{background:#19282af5;border-color:#a98f59;color:#eee5d2;border-radius:3px;line-height:1.65}[data-live-toast]{position:fixed;z-index:110;bottom:18px;left:50%;transform:translate(-50%);width:max-content;max-width:min(640px,calc(100vw - 32px));padding:12px 18px;margin:0;background:#263a36;color:#f3dfac;border:1px solid #a38b57;border-left:4px solid #d5b773;box-shadow:0 8px 28px #0008;border-radius:3px;font-size:.85rem;pointer-events:none}[data-live-toast][hidden]{display:none}[data-page-failure]{position:fixed;z-index:200;top:0;left:0;right:0;display:grid;gap:6px;padding:10px 16px;background:#4a2222;color:#ffe9c8;border-bottom:2px solid #c8874f;font-size:.85rem}[data-page-failure] p{margin:0}[data-page-failure] .page-failure-actions{display:flex;gap:8px}[data-page-failure] button{padding:6px 12px}.talent-card{background:linear-gradient(125deg,#303d3c,#202f32);border-color:#74745c;border-radius:3px}.talent-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.talent-card{padding:14px;display:grid;gap:10px}.talent-card .talent-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;border-bottom:1px solid #74745c66;padding-bottom:10px}.talent-card .talent-heading>span{color:#d8c58f;text-align:right;font-size:.82rem}.talent-card dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0}.talent-card dl>div{padding:7px;background:#202b2d;border:1px solid #53635b;border-radius:3px}.talent-card dt{color:var(--text-soft);font-size:.75rem}.talent-card dd{margin:2px 0 0;color:#e5d09a;font-weight:700}.talent-card .select-line{grid-template-columns:1fr;gap:5px}.talent-card>button{width:100%}.talent-heading strong{color:#e2c790;font-family:Georgia,Songti SC,serif;font-size:1.3rem}.talent-card progress{accent-color:#a7b383}.talent-card label{display:grid;gap:6px;color:#bcc8b9}.asset-flow-grid{background:#202e30}.asset-flow-grid h4{color:#dcc998}.charter-panel{border-left:3px solid #b39a64}.event-card{background:linear-gradient(130deg,#303a37,#1b292d);color:#e7e0ce;border-color:#ae935f;border-radius:3px}.event-card h2{color:#eed49b;font-size:1.4rem}.event-card .muted{color:#b8bba8}.event-illustration{background:#253432;border-color:#89764e}.event-options button{padding:13px 16px;border-left:3px solid #b9a16b}.event-options small{color:#c1cbbb}.event-options span{color:#eed49b;padding-top:5px;border-top:1px solid #8d815344}.tutorial-event-card .event-actions{background:#202e2d}@media(min-width:1150px){.workspace-main>header{align-items:center;margin-bottom:12px}.workspace-main>header>div:first-child{display:flex;align-items:baseline;gap:14px}.workspace-main>header h1{font-size:1.35rem}.workspace-main>header .subtitle{margin:0}.workspace-main>header .year{display:flex;align-items:center;gap:12px}.workspace-main>header .back-menu{margin:0;min-height:32px}.sticky-status{display:grid;grid-template-columns:minmax(540px,1.1fr) minmax(240px,1fr);gap:14px}.realtime-bar{margin:0;padding:10px}.realtime-bar button{min-height:36px;padding:6px 8px}.sticky-status .report{margin:0;max-height:82px}.diplomacy-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.diplomacy-panel>h2,.diplomacy-panel>p{grid-column:1/-1;margin:0}.diplomacy-faction{flex-direction:column;margin:0}.population-dual{grid-template-columns:repeat(2,minmax(0,1fr))}.population-angle{grid-template-columns:1fr auto;align-items:center;gap:4px 16px;padding:12px 14px}.population-angle>strong{grid-column:2;grid-row:1 / 3;font-size:1.5rem}.population-angle>button{grid-column:1/-1}.town-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:720px){#app{width:100%;padding:12px 12px 32px}.panel{padding:13px}.tabs button{padding-inline:12px}.build-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-heading,.select-line{flex-wrap:wrap}.select-line select{min-width:0;width:100%}}@media(prefers-reduced-motion:reduce){button{transition:none}}.trade-market-panel .market-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}.trade-market-panel .trade-card{min-width:0;padding:15px;border:1px solid #536260;border-top:2px solid #988350;border-radius:3px;background:#202e30;color:#dedace;display:grid;gap:12px}.trade-card .section-heading{align-items:baseline;margin:0;gap:6px}.trade-card .section-heading b{font:700 19px Georgia,"Noto Serif SC",serif;color:#e4d29d}.trade-card .section-heading strong{font-size:11px;color:#aab8ad}.trade-card summary{cursor:pointer;color:#d9c98f;padding:5px 0}.trade-card .trade-quotes{display:grid;gap:6px;margin-top:8px}.trade-card .trade-strategy{border-top:1px solid #465350}.trade-card .trade-order-controls{display:grid;grid-template-columns:minmax(60px,1fr) auto auto;gap:6px}.trade-card input{min-width:0;width:100%;box-sizing:border-box}.trade-card input[type=checkbox]{width:auto}.trade-policy-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.trade-policy-fields label{font-size:12px;display:grid;gap:4px}[data-live-trade-settlement]{display:flex;flex-wrap:wrap;gap:10px 20px;padding:14px;margin:12px 0 20px;border-left:3px solid #ad9559;background:#1b292b}[data-live-trade-settlement] small{flex-basis:100%;color:#b8cebc}@media(max-width:1050px){.trade-market-panel .market-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.trade-market-panel .market-grid{grid-template-columns:1fr}}.resource [data-live-resource-rate][hidden]{display:none}.town-coins{color:#e5c77f;font-variant-numeric:tabular-nums}.map-panel{padding:24px;border-top:3px solid #b69c63;background:#202e30}.map-heading{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:20px}.map-heading h2{font:30px Georgia,Songti SC,serif;color:#e5d2a2;letter-spacing:.12em;margin:8px 0}.map-heading p{margin:0;color:#b5c2b4;font-size:13px}.map-ledger{display:grid;gap:10px;color:#b5c2b4;font-size:12px}.map-ledger b{color:#e3cb8e;font:24px Georgia,serif;padding-inline:8px}.map-exploration-guide{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,300px);gap:18px;align-items:center;margin-bottom:18px;padding:14px 16px;border:1px solid #536a61;border-left:3px solid #b69c63;background:linear-gradient(135deg,#263a37,#1b2a2c)}.map-exploration-copy{min-width:0}.map-exploration-copy h3{margin:5px 0 8px;color:#e6d2a3;font:20px Georgia,Songti SC,serif}.map-exploration-copy ol{display:flex;flex-wrap:wrap;gap:7px 18px;margin:0;padding:0;list-style:none}.map-exploration-copy li{display:flex;gap:7px;align-items:flex-start;color:#c2d0c1;font-size:12px;line-height:1.6}.map-exploration-copy li b{flex:none;display:grid;place-items:center;width:20px;height:20px;border:1px solid #8c9a78;border-radius:50%;color:#e6ca88;font-size:11px}.map-exploration-copy li strong{color:#f0dda9}.map-exploration-next{display:grid;gap:4px;min-width:0;padding:10px 12px;border:1px solid #687b6a;background:#17282799}.map-exploration-next small{color:#d6b971;font-size:11px;letter-spacing:.12em}.map-exploration-next strong{color:#f1dfb0;font-size:14px;line-height:1.45}.map-exploration-next p{margin:0;color:#b9c9b9;font-size:11px;line-height:1.55}.map-workspace{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start}.map-sheet{min-width:0;border:1px solid #77795f;padding:6px;background:#182527}.map-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:7px 8px 13px;flex-wrap:wrap}.map-toolbar>span{font-size:11px;color:#a4b4a7}.map-viewport{height:560px;min-height:0;position:relative;border:1px solid #667362;background:radial-gradient(ellipse at center,#33483f,#152426);overflow:hidden;touch-action:none}.map-canvas{position:absolute;top:0;left:0;max-width:none;transform-origin:0 0;transition:none}.map-canvas .map-tile{cursor:pointer;outline:none!important}.map-ground{stroke:#91a185;stroke-opacity:.45;stroke-width:1}.terrain-unknown .map-ground{fill:#243734;stroke:#557168;stroke-dasharray:4 4}.terrain-forest .map-ground{fill:#344c39}.terrain-plain .map-ground{fill:#596b48}.terrain-hill .map-ground{fill:#626548}.terrain-mountain .map-ground{fill:#465750}.terrain-highMountain .map-ground{fill:#3f5059;stroke:#aebfc3}.terrain-riverValley .map-ground{fill:#3f635b}.terrain-lake .map-ground{fill:#304f58}.terrain-wetland .map-ground{fill:#435e4b}.terrain-grassland .map-ground{fill:#66734b}.terrain-ruin .map-ground{fill:#625e51}.map-tile.owner-player .map-ground{stroke:#d3be7e;stroke-width:2}.map-tile[class*=faction-] .map-ground{stroke:#bc867b;stroke-width:2}.map-tile.selected .map-ground,.map-tile:focus .map-ground{stroke:#ffe2a0;stroke-width:3;stroke-opacity:1;filter:drop-shadow(0 0 4px #e7bf7277)}.map-tile:hover .map-ground{stroke:#e3d4a6;stroke-opacity:1}.map-terrain-label{fill:#f0ead8;font-size:11px;letter-spacing:.3px}.map-coord{fill:#cad4bd;font-size:8px}.map-building-marker{fill:#e6dfc6;font-size:9px}.map-fog-mark{fill:#6e8b7e;font:32px Georgia,serif}.map-ore-marker{fill:#d7d9c5;stroke:#283a36}.map-compass{position:absolute;right:16px;top:16px;color:#e0c78b;font:18px Georgia,serif;text-align:center;pointer-events:none;line-height:1.5;text-shadow:0 2px 6px #000}.map-tile.map-expanding .map-ground{stroke:#e0b45f;stroke-width:3;stroke-dasharray:7 4;stroke-opacity:1}.map-tile.map-tutorial-target .map-ground{stroke:#ffe2a0;stroke-width:4;stroke-opacity:1;filter:drop-shadow(0 0 6px #e7bf72aa);animation:tutorial-target-pulse 1.6s ease-in-out infinite}@keyframes tutorial-target-pulse{0%,to{stroke-opacity:1}50%{stroke-opacity:.45}}button.tutorial-cta{border-color:#ffe2a0;color:#fff6d8;box-shadow:0 0 10px #e7bf7255}.map-expansion-progress{display:grid;gap:6px;padding:10px 12px;border:1px solid #647363;border-left:3px solid #e0b45f;background:#2b3a36}.map-expansion-progress strong{color:#ebd7a4;font:16px Georgia,Songti SC,serif}.map-expansion-progress small{color:#c6d0bf;font-size:11px}.map-expansion-progress progress{width:100%;accent-color:#e0b45f}.map-legend{display:flex;flex-wrap:wrap;gap:12px;padding:13px 9px 7px;color:#c2c4a9;font-size:11px}.map-legend small{flex-basis:100%;color:#99aea0}.map-detail{margin:0;padding:16px 18px;border:1px solid #647363;border-top:3px solid #b69c63;background:linear-gradient(135deg,#34413a,#223132);display:grid;gap:9px}.map-detail h3{font:23px Georgia,Songti SC,serif;color:#ebd7a4;line-height:1.35}.map-detail p{font-size:12px;line-height:1.5;margin:0;color:#c6d0bf;overflow-wrap:anywhere}.map-detail .map-owner{color:#d7bd7e}.map-detail button{width:100%;margin:0;padding:9px}.map-detail button small{display:block;white-space:normal;line-height:1.4}.map-detail progress{width:100%;accent-color:#c7b37a}.map-detail [data-live-exploration]{display:grid;gap:9px}.map-detail [data-live-exploration]:not(:empty){border-top:1px solid #6a775d88;padding-top:10px}.map-stages{display:flex;gap:6px;padding:0;list-style:none;margin:0}.map-stages li{flex:1;display:grid;gap:5px;justify-items:center;text-align:center;font-size:10px;color:#9cae9e;padding-bottom:8px;border-bottom:2px solid #526654}.map-stages b{border:1px solid #829073;border-radius:50%;width:23px;height:23px;display:grid;place-items:center}.map-stages .complete{color:#cee0b1;border-color:#b3c393}.map-stages .next{color:#e9cc89;border-color:#d3b46d}.territory-panel{margin-top:20px}.territory-overview{display:flex;flex-wrap:wrap;gap:20px;color:#b9c6b6}.territory-overview strong{color:#dfc890;margin-left:6px}.army-marker circle{fill:#192f34;stroke:#e3c98f;stroke-width:2}.army-marker text{fill:#f4e5bf;font-size:11px}@media(max-width:1050px){.map-workspace{grid-template-columns:minmax(0,1fr) 270px;gap:12px}.map-viewport{height:480px}}@media(max-width:760px){.map-panel{padding:13px}.map-heading{align-items:flex-start;gap:10px}.map-heading h2{font-size:24px}.map-heading p{font-size:11px}.map-ledger{min-width:90px;font-size:10px}.map-ledger b{font-size:19px;padding-inline:3px}.map-exploration-guide{grid-template-columns:1fr;gap:10px;padding:12px}.map-exploration-copy ol{display:grid}.map-workspace{grid-template-columns:1fr}.map-viewport{height:360px}.map-detail{padding:16px}.map-toolbar{padding:5px;gap:8px}.map-controls{width:100%}.map-controls button:last-child{margin-left:auto}.map-legend{gap:9px}}.resign-confirm{margin-top:18px;padding:20px;border:1px solid #c1a15b;background:#1a2829;max-width:760px}.resign-confirm h3{color:#ead6a1;margin-top:0}.jobs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.jobs-grid .job-row{margin:0;padding:12px;border:1px solid #596659;background:#263235;gap:12px;min-width:0}.job-title{display:flex;align-items:center;gap:9px;color:#e2d4b4}.job-icon{width:24px;height:24px;flex:none;color:#c6af76;padding:5px;box-sizing:content-box;border:1px solid #8b885b66;border-radius:4px;background:#172a29}.jobs-grid .job-row>div:first-child{min-width:0}.jobs-grid .job-row small{margin-top:5px;font-size:11px;line-height:1.5}.jobs-grid .job-stepper{flex:none}@media(max-width:640px){.jobs-grid{grid-template-columns:1fr}}.building-item.has-talent{border:1px solid #cfaf62;box-shadow:inset 0 0 0 1px #cfaf6228}.building-item .building-talent,.building-item .building-modes{width:100%;flex-basis:auto}.building-talent{padding:10px 12px;background:#a184391a;color:#ead397;border-left:2px solid #bfa365}.building-modes{border-top:1px solid #69776966;padding-top:10px}.building-modes summary{color:#d8c390;cursor:pointer;font-size:13px}.building-mode{padding:12px 0;border-bottom:1px solid #52635944}.building-mode summary span{display:block;font-size:12px;line-height:1.6;color:#c3ccc1;margin-top:4px}.building-mode .mode-stepper{margin:8px 0}.building-mode>div:first-child{flex:1 1 180px}.building-mode small,.building-talent small{display:block;line-height:1.6}.mode-stepper{display:flex;gap:5px;align-items:center}.mode-stepper button{min-width:30px;padding:5px 8px}.mode-stepper b{width:44px;text-align:center;color:#e3cd93}.governor-annexes .storage-grid{grid-template-columns:1fr}.storage-meter{display:grid;grid-template-columns:1fr auto;gap:6px;margin:12px 0;font-size:13px}.storage-meter meter{width:100%;height:10px;grid-column:1/-1;accent-color:#bbab76}.storage-meter small,.storage-box p small{grid-column:1/-1;display:block;color:#aabbad;font-size:11px}@media(max-width:600px){.building-item{flex-wrap:wrap}}.settlement-player{max-width:1040px;margin:24px auto;padding:32px;border-top:3px solid #baa060;background:radial-gradient(ellipse at top right,#41463a55,transparent 60%),#202e30}.settlement-heading{display:flex;justify-content:space-between;align-items:center;gap:24px}.settlement-player h2{font-size:32px;letter-spacing:.15em}.settlement-total{display:grid;grid-template-columns:auto auto;align-items:baseline;gap:0 6px;color:#e4cd8f}.settlement-total small{grid-column:1 / -1;letter-spacing:.2em}.settlement-total strong{font:56px Georgia,serif}.settlement-narration{line-height:1.9;padding:18px 0;border-block:1px solid #62716a66;color:#d1d8cb}.settlement-dimensions{display:grid;gap:16px;padding:20px 0}.settlement-dimension{display:grid;grid-template-columns:128px 1fr 90px;gap:18px;align-items:center}.settlement-dimension strong{text-align:right;font-size:20px}.score-track{background:#131f21;height:8px;border-radius:2px;overflow:hidden}.score-track i{display:block;background:linear-gradient(90deg,#677e6a,#c5b27a);height:100%}.settlement-dimension.negative .score-track i{background:#c4837b}.settlement-summary{display:flex;gap:18px;flex-wrap:wrap;padding:16px;background:#182426}.settlement-summary b{color:#e2cd9b;margin-left:8px}@media(max-width:650px){.settlement-player{padding:18px}.settlement-heading{align-items:flex-start;flex-direction:column;gap:6px}.settlement-player h2{font-size:26px}.settlement-total strong{font-size:44px}.settlement-dimension{grid-template-columns:65px 1fr 70px;gap:10px}}@media(max-width:650px){.settlement-dimension{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px}.settlement-dimension>span{grid-column:1;grid-row:1}.settlement-dimension>strong{grid-column:2;grid-row:1}.settlement-dimension>.score-track{grid-column:1 / -1;grid-row:2}}.storage-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0;align-items:start}.storage-box{min-width:0;background:linear-gradient(135deg,#2c3838,#222d2f);border:1px solid #68705f;border-radius:3px;padding:14px}.storage-box h3{margin:0 0 8px;color:#e4d1a6}.storage-box meter{width:100%;height:8px}.storage-box .economy-asset{margin-top:8px}.storage-box button{width:100%;margin-top:8px}.storage-box small{color:#d9c589}.storage-box p small{display:block;color:#aabbad;font-size:11px}@media(max-width:900px){.storage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.storage-grid{grid-template-columns:1fr}.building-item{flex-wrap:wrap}}.building-heading{display:grid;gap:5px}.building-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.building-title-row>strong{min-width:0}.building-title-row .mode-stepper{flex:none}.building-modes{display:grid;gap:6px;margin-top:12px}.building-mode{border:1px solid #53635b;background:#202b2d;border-radius:3px;padding:8px 10px}.building-mode>summary{display:grid;grid-template-columns:minmax(120px,1fr) auto minmax(100px,1fr);align-items:center;gap:8px;cursor:pointer}.building-mode>summary .mode-recipe{color:#d8c58f;font-size:.82rem;text-align:right}.building-mode>summary>[data-live-mode-history]{color:#9fc9a7;font-size:.8rem;text-align:right}.job-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;border-top:1px solid #53635b66;padding:8px 0 0;margin-top:8px}.job-row small{display:block}.mode-stepper{display:inline-flex;align-items:center;gap:4px}.mode-stepper button{min-width:30px;min-height:30px;padding:4px 7px}.mode-stepper b{min-width:42px;text-align:center;font-variant-numeric:tabular-nums}.building-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.building-actions button{flex:1 1 90px}.building-item{background:linear-gradient(135deg,#2b3738,#232d2f);border:1px solid #5b675b;border-radius:3px;padding:14px}.tile-building-group>h3{border-bottom:1px solid #89764e66;padding-bottom:8px}.existing-building-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px}@media(max-width:650px){.building-mode>summary{grid-template-columns:1fr}.building-mode>summary .mode-recipe,.building-mode>summary>[data-live-mode-history]{text-align:left}.job-row,.existing-building-grid{grid-template-columns:1fr}}.map-resource-summary{display:grid;gap:8px;margin:12px 0}.map-resource-summary>strong{color:#e4d1a6}.map-resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.map-resource-grid>span{padding:8px;background:#202b2d;border:1px solid #53635b;border-radius:3px;font-size:.82rem}.map-resource-summary p{margin:0;color:var(--text-soft)}@media(max-width:650px){.map-resource-grid{grid-template-columns:1fr}}.frost-page{border-color:#b94b58;background:linear-gradient(135deg,#38272a,#28282c)}.frost-page>.frost-alert{display:flex;align-items:center;gap:10px;padding:10px 12px;margin:0 0 12px;background:#6d1f2b;border:1px solid #d66;color:#ffe8e8;font-weight:700}.frost-page>h3{margin-top:18px;padding-top:12px;border-top:1px solid #b94b5866}.frost-breakdown{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0}.frost-breakdown>div{padding:8px;background:#252d30;border:1px solid #6a5552;border-radius:3px}.frost-breakdown dt{color:#d8cdbb}.frost-breakdown dd{margin:3px 0 0}.frost-page details{background:#202a2c;border:1px solid #635653;border-radius:3px;padding:9px;margin:8px 0}.frost-page details>summary{cursor:pointer;color:#e5d09a}.frost-page .heat-relief{color:#8ee0aa}.frost-page .heat-burden{color:#ff9a8e}.frost-trend{padding:10px;background:#202a2c;border:1px solid #635653;border-radius:3px}@media(max-width:650px){.frost-breakdown{grid-template-columns:1fr}}.governance-page>.grid.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.governance-page>.grid.two>section{padding:14px;background:#202b2d;border:1px solid #53635b;border-radius:3px}.governance-page .select-line{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,1fr);align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid #53635b66}.governance-page .select-line:last-of-type{border-bottom:0}.governance-page .select-line input,.governance-page .select-line select{width:100%}.governance-page h3{margin-top:0}.governance-page p{color:var(--text-soft)}@media(max-width:650px){.governance-page>.grid.two{grid-template-columns:1fr}.governance-page .select-line{grid-template-columns:1fr}.governance-page .select-line input,.governance-page .select-line select{max-width:none}}.progression-page .progression-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;padding-bottom:12px;border-bottom:1px solid #89764e66}.progression-page .tree-ledger{display:grid;gap:4px;text-align:right}.progression-page .tech-card{background:linear-gradient(135deg,#2b3738,#202a2c);border:1px solid #69715f;border-radius:3px;padding:14px}.progression-page .tech-card h3{margin:6px 0}.progression-page .tech-card h4{margin:14px 0 6px;color:#d8c58f}.progression-page .tree-costs{display:grid;grid-template-columns:1fr;gap:6px;margin:12px 0}.progression-page .tree-costs>div{display:flex;justify-content:space-between;padding:8px;background:#202b2d;border:1px solid #53635b;border-radius:3px}.progression-page .tree-costs dt{color:var(--text-soft)}.progression-page .tree-costs dd{margin:0;color:#e5d09a;font-weight:700}.progression-page .tree-requirement{padding:8px 10px;background:#3b3028;border-left:3px solid #bd8e5e;color:#f0d0a2}.progression-page .research-project,.progression-page .research-queue{border-radius:3px}@media(max-width:650px){.progression-page .progression-heading{align-items:flex-start;flex-direction:column}.progression-page .tree-ledger{text-align:left}}@media(max-width:650px){.talent-cards{grid-template-columns:1fr}.talent-card dl{grid-template-columns:repeat(2,minmax(0,1fr))}.talent-card .talent-heading{flex-direction:column}.talent-card .talent-heading>span{text-align:left}}.resource-icon-sprite{--resource-icon-size: 28px;display:inline-block;width:var(--resource-icon-size);height:var(--resource-icon-size);flex:none;background-image:var(--resource-icon-sheet);background-repeat:no-repeat;background-size:calc(var(--resource-icon-size) * 6) calc(var(--resource-icon-size) * 5);background-position:calc(var(--resource-icon-x) * var(--resource-icon-size) * -1) calc(var(--resource-icon-y) * var(--resource-icon-size) * -1);filter:drop-shadow(0 1px 1px #0008)}.resource-icon-sprite--sm{--resource-icon-size: 20px}.resource-icon-sprite--lg{--resource-icon-size: 44px}.asset-name .resource-icon-sprite{width:var(--resource-icon-size);height:var(--resource-icon-size)}.qualification-name{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.military-reserves{margin:14px 0;padding:12px 0;border-top:1px solid var(--line)}.military-reserves h3{font-size:15px;margin:0 0 10px}.military-reserve-row{display:flex;flex-wrap:wrap;gap:10px;align-items:end;padding:8px 0}.military-reserve-row>span{margin-right:auto;align-self:center}.military-reserve-row label{display:grid;gap:4px;font-size:13px}.military-reserve-row input{width:86px;min-height:36px}.qualification-name:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--qualification-color);flex:none}.qualification-farmer{--qualification-color:#77c78a}.qualification-worker{--qualification-color:#78bdf0}.qualification-artisan{--qualification-color:#e3ce65}.qualification-scholar{--qualification-color:#bc97e8}.qualification-soldier{--qualification-color:#ed8989}.qualification-population{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:8px;padding:12px 0 14px;border-bottom:1px solid var(--line)}.qualification-population>div{display:grid;gap:4px;padding:10px 12px;background:#243032;border:1px solid #48544e;border-radius:5px;min-width:0}.qualification-population strong{font-size:18px}.qualification-population small{font-size:12px;line-height:1.45}.build-qualification-group{grid-column:1/-1;min-width:0}.build-qualification-group h3{margin:8px 0 12px;font-size:16px}.qualification-training{margin:14px 0}.qualification-training .section-heading{margin-bottom:0}.training-lanes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:12px;margin-top:14px}.training-capacity-note{margin:10px 0 0;color:var(--text-soft);font-size:12px;line-height:1.6}.training-lane{display:block;padding:14px;border:1px solid #4c5b55;border-radius:6px;background:#202b2d;min-width:0}.training-lane-content{display:grid;gap:12px;margin-top:12px}.training-lane-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;list-style:none}.training-lane-heading h4,.training-lane-locked h4{margin:0;font-size:15px}.training-lane-heading>span{font-size:12px;color:var(--text-soft);text-align:right}.training-lane-locked{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 14px;background:#222b2d;color:var(--text-soft)}.training-lane-locked p{margin:4px 0 0;font-size:13px}.training-lane-locked>span{font-size:12px;white-space:nowrap;color:#d5b977}.training-controls{display:grid;grid-template-columns:repeat(2,minmax(130px,1fr)) minmax(130px,180px) auto auto;gap:10px;align-items:end;max-width:900px}.training-controls label{display:grid;gap:4px;font-size:13px;min-width:0}.training-controls input{width:100%;min-height:36px}.training-controls select{max-width:220px;min-height:36px}.training-controls button{min-height:36px}.training-count-stepper{display:grid;grid-template-columns:36px minmax(48px,1fr) 36px;gap:4px;align-items:stretch}.training-count-stepper button{padding:4px;font-size:1.05rem}.training-count-stepper input{text-align:center;font-variant-numeric:tabular-nums}.training-lane-details{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:start}.training-lane p{font-size:13px;margin:8px 0;overflow-wrap:anywhere}.training-lane-details [data-training-quote]{padding:10px 12px;border-left:2px solid #6d826f;background:#1c2527}.training-project{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 0}.training-project button{margin-left:auto}.qualification-table-wrap{overflow-x:auto;max-width:100%;margin:12px 0}.qualification-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:13px}.qualification-table caption{text-align:left;padding:8px 0;font-weight:600}.qualification-table th,.qualification-table td{padding:8px;text-align:right;white-space:nowrap;border-bottom:1px solid var(--line)}.qualification-table th:first-child{text-align:left}@media(max-width:900px){.training-lanes{grid-template-columns:minmax(0,1fr)}.training-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.training-lane-details{grid-template-columns:minmax(0,1fr)}}@media(max-width:600px){.training-controls{grid-template-columns:minmax(0,1fr)}.training-lane-locked{align-items:flex-start;flex-direction:column}.qualification-population{grid-template-columns:repeat(2,minmax(0,1fr))}}.living-diagnostics{margin:16px 0;padding:14px;border:1px solid #52635b;border-radius:7px;background:linear-gradient(135deg,#202d2d,#26302d);min-width:0}.living-diagnostics .section-heading{margin-bottom:8px}.living-diagnostics .section-heading h3{margin:0;font-size:16px}.living-diagnostics .section-heading span{color:#afbbb0;font-size:12px}.living-diagnostics-note{margin:0 0 12px;color:#aab7ad;font-size:12px;line-height:1.55;overflow-wrap:anywhere}.living-diagnostic-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;min-width:0}.living-diagnostic-card{padding:12px;border:1px solid #485850;border-radius:6px;background:#1d2829;min-width:0}.living-diagnostic-card header{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding-bottom:8px;border-bottom:1px solid #3f4e48}.living-diagnostic-card header h4{margin:0;font-size:14px}.living-diagnostic-card header>span{color:#c7d1c8;font-size:12px;white-space:nowrap;font-variant-numeric:tabular-nums}.living-diagnostic-top,.living-diagnostic-all ol{display:grid;gap:8px;margin:10px 0 0;padding:0;list-style:none}.living-diagnostic-item{padding:9px 10px;border-left:3px solid #78877d;background:#222e2f;min-width:0}.living-diagnostic-item.living-diagnostic-total{border-left-color:#d8655d;background:#302525}.living-diagnostic-item.living-diagnostic-partial{border-left-color:#dcae56;background:#302d23}.living-diagnostic-item.living-diagnostic-quality{border-left-color:#8db4d2;background:#242c31}.living-diagnostic-item.living-diagnostic-risk{border-left-color:#c787c9;background:#2e2730}.living-diagnostic-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.living-diagnostic-heading strong{font-size:13px}.living-diagnostic-heading span{color:#c5d0c7;font-size:11px;white-space:nowrap}.living-diagnostic-item p{margin:5px 0 0;color:#cfd8d1;font-size:12px;line-height:1.5;overflow-wrap:anywhere}.living-diagnostic-item small{display:block;margin-top:5px;color:#e2cc91;font-size:12px;line-height:1.5;overflow-wrap:anywhere}.living-diagnostic-empty{margin:10px 0 0;color:#aebaaf;font-size:12px;line-height:1.55}.living-diagnostic-all{margin-top:10px;border-top:1px solid #3f4e48;padding-top:8px}.living-diagnostic-all summary{cursor:pointer;color:#d7c18a;font-size:12px}@media(min-width:561px){.town-overview-metrics .town-metric-card:has(>.living-details[open]){grid-column:1/-1}}@media(max-width:600px){.living-diagnostics{padding:11px}.living-diagnostic-grid{grid-template-columns:minmax(0,1fr)}.living-diagnostic-card header{align-items:flex-start;flex-direction:column}.living-diagnostic-card header>span{white-space:normal}.living-diagnostic-heading{align-items:flex-start;flex-direction:column}.living-diagnostic-heading span{white-space:normal}}.gdp-overview{margin-top:16px;border-color:#6e795f;background:linear-gradient(135deg,#1f2e31,#27322e);overflow:hidden}.gdp-overview .section-heading{align-items:flex-start;margin-bottom:14px}.gdp-overview .section-heading h2{margin:0;color:#f0d79a}.gdp-overview .section-heading small{display:block;margin-top:4px;color:#abb8ae}.gdp-window{display:inline-flex;align-items:center;padding:4px 9px;border:1px solid #66746a;border-radius:999px;color:#c9d3c7;font-size:12px;white-space:nowrap}.gdp-flow{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1.1fr) auto minmax(0,1fr);gap:10px;align-items:stretch}.gdp-flow-step{display:grid;align-content:center;gap:4px;min-height:112px;padding:16px;background:#202c2e;border:1px solid #4e5c56;border-radius:7px;min-width:0}.gdp-flow-step small{color:#aeb9ae}.gdp-flow-step strong{font:700 clamp(26px,3vw,40px)/1 Georgia,"Noto Serif SC",serif;color:#e4cf99;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.gdp-flow-step span{color:#899a91;font-size:12px}.gdp-flow-total{border-color:#b0965f;background:linear-gradient(135deg,#30362f,#222d2d);box-shadow:inset 0 0 0 1px #c6aa6933}.gdp-flow-total strong{color:#f2d692}.gdp-flow-attraction{border-color:#66806e;background:linear-gradient(135deg,#253630,#1f292b)}.gdp-flow-attraction strong{color:#8fd19e}.gdp-flow-arrow{display:grid;place-items:center;color:#9d8d65;font-size:24px;font-weight:700}.gdp-footnote{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px solid #46534f;color:#aeb9ae;font-size:12px}@media(max-width:900px){.gdp-flow{grid-template-columns:1fr}.gdp-flow-arrow{transform:rotate(90deg);min-height:12px}.gdp-flow-step{min-height:auto}}.sticky-status{position:sticky;top:0;z-index:10;background:#17191c;padding-bottom:8px}.realtime-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:#1f252d;border:1px solid #68737d;border-radius:6px;margin:10px 0}.realtime-bar>div{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.clock{color:#f3c969;font-variant-numeric:tabular-nums}.speed-group{display:flex;gap:5px}.speed.selected,.tabs .active,.mode .selected{background:#e1a94a;color:#1b1f24;box-shadow:0 0 0 2px #f4d58e inset}.tabs{display:flex;gap:6px;overflow-x:auto;padding:4px 0 10px}.tabs button{white-space:nowrap;min-height:44px}.grid.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #454c54}.item>div{display:grid;gap:3px}.item small{color:#abb5ba}.item.done{opacity:.6}.positive{color:#7fd49a!important}.negative{color:#ef8b7b!important}.actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.worker-control{display:flex!important;align-items:center;gap:5px;flex-wrap:wrap}.worker-count{color:#f3c969;font-size:.84rem;white-space:nowrap}.worker-control button{min-width:42px;padding:8px 9px}.report{max-height:180px;overflow:auto;margin:0 0 10px}.report p{margin:4px 0}.tile-building-group{padding:4px 0 8px}.tile-building-group h3{margin:8px 0 2px;color:#f3c969}.economy-details{display:grid;gap:5px}.economy-row{display:grid;grid-template-columns:minmax(70px,1fr) repeat(3,minmax(72px,auto));align-items:center;gap:8px;padding:8px 10px;background:#343a40;border-radius:4px}.economy-row strong{text-align:right}.knowledge-rate{display:flex;justify-content:space-between;gap:12px;padding:12px;background:#343a40;border-left:3px solid #e1a94a;margin:10px 0}.exploration-progress{display:grid;gap:4px;min-width:180px}.exploration-progress progress{width:100%;accent-color:#e1a94a}.half-year{width:100%;margin-top:16px;min-height:52px;font-size:1rem}.select-line{display:flex;align-items:center;gap:8px;margin-bottom:12px}button{transition:transform .08s ease,filter .08s ease,opacity .08s ease}button:active:not(:disabled){transform:scale(.95);filter:brightness(.78)}button:focus-visible{outline:3px solid #f4d58e;outline-offset:2px}button:disabled{filter:grayscale(1);opacity:.38;cursor:not-allowed}@media(max-width:640px){.realtime-bar{align-items:stretch;flex-direction:column}.grid.two{grid-template-columns:1fr}.item{align-items:flex-start;flex-direction:column}.actions{justify-content:flex-start}.item button,.item input{min-height:42px}.worker-control{width:100%}.worker-control button{flex:1}.exploration-progress{width:100%}.economy-row{grid-template-columns:1fr 1fr;gap:4px}.economy-row strong{text-align:left}.knowledge-rate{align-items:flex-start;flex-direction:column}}.map-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.map-tile{min-height:150px;padding:10px;border:1px solid #56616a;border-radius:5px;display:flex;flex-direction:column;gap:5px;color:#fff}.map-tile small{color:#eef2f3}.map-tile button{margin-top:auto}.map-markers{font-size:.78rem;color:#f6d995;line-height:1.35}.terrain-unknown{background:#3e454b}.terrain-plain{background:#566846}.terrain-forest{background:#285a47}.terrain-hill{background:#80623f}.terrain-mountain{background:#4f5962}.terrain-riverValley{background:#2f6473}.terrain-wetland{background:#42675d}.terrain-lake{background:#285f82}.terrain-ruin{background:#6b4f69}.map-tile progress{width:100%;margin-top:auto;accent-color:#e1a94a}.map-panel{overflow:hidden}.map-controls{display:flex;gap:5px}.map-controls button{min-width:42px;min-height:38px;padding:5px 9px}.map-viewport{height:min(68vw,560px);min-height:360px;overflow:hidden;border:1px solid #56616a;background:#1d2529;touch-action:none;cursor:grab}.map-viewport:active{cursor:grabbing}.map-canvas{display:grid;grid-template-columns:repeat(var(--map-columns),minmax(92px,1fr));gap:4px;transform-origin:center center;min-width:720px;padding:8px;transition:transform .15s ease}.map-canvas .map-tile{min-height:92px;padding:7px;border-radius:3px;font-size:.78rem;cursor:pointer;overflow:hidden}.map-coord{font-size:.68rem;color:#c8d2d5}.map-resource-markers{min-height:1.2em;color:#f5d484;font-size:.75rem}.map-detail{margin-top:10px;padding:12px;border-left:3px solid #e1a94a;background:#343a40}.map-detail h3{margin:0 0 5px}.map-detail p{margin:4px 0;color:#d9e0e3}.map-detail button{margin-top:8px}@media(max-width:720px){.map-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.map-viewport{height:70vw;min-height:300px}.map-canvas{min-width:680px}}@media(max-width:420px){.map-grid{grid-template-columns:1fr}.map-viewport{min-height:270px}.map-canvas{min-width:640px}}.map-canvas{display:block;width:100%;min-width:0;height:auto;padding:0;transform-origin:center center}.map-canvas .map-tile{min-height:0;padding:0;background:transparent;outline:none}.map-canvas .map-tile.selected{outline:3px solid #f4d58e;outline-offset:-2px}.map-ground{stroke:#68747a;stroke-width:1}.terrain-unknown .map-ground{fill:#3e454b}.terrain-plain .map-ground{fill:#566846}.terrain-forest .map-ground{fill:#285a47}.terrain-hill .map-ground{fill:#80623f}.terrain-mountain .map-ground{fill:#4f5962}.terrain-riverValley .map-ground{fill:#2f6473}.terrain-wetland .map-ground{fill:#42675d}.terrain-lake .map-ground{fill:#285f82}.terrain-ruin .map-ground{fill:#6b4f69}.terrain-grassland .map-ground{fill:#71834d}.map-terrain-label{fill:#fff;font-size:11px;font-weight:700}.map-coord{fill:#d4dfe2;font-size:9px}.map-resource-markers{fill:#f5d484;font-size:10px}.map-building-marker{fill:#f2e6bd;font-size:10px}.map-owner-marker{fill:#e1a94a;stroke:#fff;stroke-width:1}.map-neighbor{stroke:#d5bd7b;stroke-width:2;stroke-opacity:.42;stroke-dasharray:3 3;pointer-events:none}.map-neighbors{pointer-events:none}.resource-stock{margin:1rem 0;padding:.75rem;border:1px solid #68737d;background:#2a3036}.resource-stock h3{margin:0 0 .5rem}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.section-heading h2{margin-bottom:0}.trade-deal{color:#f3c969!important;font-weight:600}.market-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0 18px}.market-price{display:grid;gap:6px;padding:10px;background:#343a40;border:1px solid #56616a;border-radius:5px;min-width:0}.market-price strong{font-size:1.15rem;color:#f3c969}.trade-card .section-heading{margin:0}.trade-quotes{display:grid;gap:3px;color:#d9e0e3}.trade-quotes small{font-size:.72rem;overflow-wrap:anywhere}.trade-order-controls{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:4px}.trade-order-controls input,.trade-policy-fields input{min-width:0;width:100%;background:#111;color:#fff;border:1px solid #68737d;border-radius:4px;padding:6px}.trade-policy-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.trade-policy-fields label{display:grid;gap:2px;font-size:.72rem;color:#abb5ba}.trade-policy-fields label:nth-child(-n+2){display:flex;align-items:center;gap:4px}.trade-policy-fields label:nth-child(-n+2) input{width:18px}.trade-market-panel [data-live-trade-settlement]{display:grid;gap:4px;padding:10px;border-left:3px solid #e1a94a;background:#293238}.trade-market-panel [data-live-trade-settlement] span,.trade-market-panel [data-live-trade-settlement] small{overflow-wrap:anywhere}@media(max-width:640px){.market-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trade-order-controls{grid-template-columns:1fr 1fr}.trade-order-controls input{grid-column:1 / -1}}.building-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.building-actions .danger{min-height:36px;padding:7px 10px}.tech-category{margin:14px 0}.tech-category h3{margin:0 0 6px;color:#f3c969}.history-panel{max-height:70vh;overflow:auto}.history-list{display:grid;gap:2px}.fuel-settings{display:grid;gap:8px;margin:12px 0;padding:10px;border:1px solid #56616a;min-width:0}.fuel-settings label{display:flex;gap:6px;align-items:center}.fuel-order{display:flex;align-items:center;justify-content:space-between;gap:10px}.fuel-order span{display:flex;gap:5px}.fuel-order button{min-height:44px;padding:7px 10px}.fuel-tier{color:#f3c969}@media(max-width:480px){.fuel-order{align-items:stretch;flex-direction:column}.fuel-order span button{flex:1}}.building-item.staffing-pending{border-left:4px solid #e1a94a;background:#3d3528;padding-left:8px}.population-dual{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:8px}.population-angle{display:grid;gap:3px;align-content:start;min-width:0;padding:11px 12px;background:#343a40;border:1px solid #56616a;border-radius:5px}.population-angle small{color:#abb5ba}.population-angle strong{font-size:1.35rem;font-variant-numeric:tabular-nums}.population-angle>span{color:#abb5ba;font-size:.78rem}.population-angle.has-idle{border-color:#e1a94a;background:#3d3528}.population-angle .idle-alert{color:#f3c969;font-weight:700}.population-angle:not(.has-idle) .idle-alert{color:#7fd49a}.population-angle button{justify-self:start;min-height:36px;padding:7px 10px;margin-top:4px}.population-angle button[hidden]{display:none}.governor-action,.job-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid #454c54}.governor-action>div,.job-row>div:first-child{display:grid;gap:3px}.job-stepper{display:grid;grid-template-columns:44px 36px 44px;align-items:center;text-align:center;gap:4px}.job-stepper button{font-size:1.15rem;padding:6px}.tech-list{display:grid;gap:6px}.tech-list .item{padding:9px 0}.building-actions button small{display:block;color:#ffe3c7;margin-top:3px}.jobs-panel h3{margin:0}.jobs-panel{margin-top:2px}@media(max-width:640px){.governor-action,.job-row{align-items:stretch;flex-direction:column}.job-stepper{align-self:stretch;grid-template-columns:1fr 48px 1fr}.building-actions{width:100%;justify-content:flex-start}.building-actions button{flex:1}}.tooltip-layer{position:fixed;z-index:1000;max-width:min(320px,calc(100vw - 16px));padding:8px 10px;border:1px solid #f3d28a;border-radius:6px;background:#1f252dfa;color:#fff;box-shadow:0 8px 24px #0000006b;font-size:.82rem;line-height:1.35;pointer-events:none;overflow-wrap:anywhere;white-space:pre-line}.tooltip-layer[hidden]{display:none}.tooltip-layer.concept-tooltip{display:grid;gap:7px;max-width:min(380px,calc(100vw - 16px));pointer-events:auto;white-space:normal}.tooltip-layer.concept-tooltip:before,.tooltip-layer.concept-tooltip:after{content:"";position:absolute;left:0;right:0;height:12px}.tooltip-layer.concept-tooltip:before{top:-12px}.tooltip-layer.concept-tooltip:after{bottom:-12px}.tooltip-layer.concept-tooltip>strong{color:#f4d58e;font-size:.9rem}.tooltip-layer.concept-tooltip>span{color:#edf0e8}.concept-details-button{align-self:start;min-height:32px;padding:5px 9px;border:1px solid #b79b5a;border-radius:4px;background:#3a443f;color:#ffe3a3;font:600 .78rem/1.2 inherit;cursor:pointer}.concept-details-button:hover,.concept-details-button:focus-visible{background:#4a554c;outline:2px solid #f3d28a;outline-offset:2px}.concept-detail-card{width:min(680px,100%)}.concept-detail-kind{margin:0 0 6px}.concept-detail-short{color:#39463f}.concept-detail-rows{display:grid;gap:8px;margin:18px 0}.concept-detail-rows>div{display:grid;grid-template-columns:minmax(100px,140px) minmax(0,1fr);gap:12px;padding:7px 0;border-top:1px solid #b9ad93}.concept-detail-rows dt{color:#755d2f;font-weight:700}.concept-detail-rows dd{margin:0;color:#27312c;overflow-wrap:anywhere}@media(max-width:600px){.tooltip-layer.concept-tooltip{max-width:calc(100vw - 16px)}.concept-detail-rows>div{grid-template-columns:1fr;gap:3px}}.resource{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"icon name" "icon value" "icon rate";align-items:center;column-gap:7px;min-height:72px;border-left:3px solid #68737d}.resource-icon{grid-area:icon;font-size:1.45rem;color:#f3c969}.resource b{grid-area:name}.resource strong{grid-area:value;font-size:1.15rem}.resource small{grid-area:rate}.food-resources .resource{border-left-color:#7fd49a}.resource-berry{border-left-color:#d47f9d}.resource-meat{border-left-color:#d88a72}.resource-bread{border-left-color:#e1c069}.resource-heading{margin-top:14px}.info-button{display:inline-grid;place-items:center;width:25px;min-height:25px;padding:0;border-radius:50%;background:#46515a;color:#f4d58e;font-size:.85rem;vertical-align:middle}.danger-text{color:#ff7b72!important;font-weight:700}.action-alert-overlay .event-card{border-left:4px solid #e1a94a}.action-alert-failure .event-card{border-left-color:#d97968}.action-alert-success .event-card{border-left-color:#7fd49a}.action-alert-failure .action-alert-kind{color:#ff9b8d}.action-alert-success .action-alert-kind{color:#8ed7a3}.action-alert-message{white-space:pre-line;overflow-wrap:anywhere}.terrain-grassland{background:#71834d}.tech-panel{border-color:#826f50}.knowledge-balance{color:#f3c969;font-weight:700}.tech-major-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:12px 0}.tech-major-tabs button{background:#46515a}.tech-major-tabs .selected{background:#e1a94a;color:#1b1f24;box-shadow:0 0 0 2px #f4d58e inset}.tech-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tech-card{display:grid;align-content:start;gap:7px;min-width:0;padding:13px;border:1px solid #56616a;border-left:4px solid #e1a94a;border-radius:6px;background:#30363b;overflow-wrap:anywhere}.tech-card.done{border-left-color:#7fd49a;opacity:.72}.tech-card-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.tech-major{color:#f3c969;font-size:.78rem;font-weight:700}.tech-card p{margin:0;color:#d9e0e3;font-size:.86rem}.tech-card small{display:block}.tech-card button,.tech-state{margin-top:auto}.tech-state{color:#7fd49a;font-weight:700}.research-project{display:grid;gap:8px;padding:12px;margin:10px 0;border:1px solid #6b7a82;border-left:4px solid #e1a94a;border-radius:6px;background:#252b30}.research-project.idle{border-left-color:#68737d}.research-project progress{width:100%;height:18px;accent-color:#e1a94a}.research-project .section-heading{margin:0}.research-project button{min-height:36px;padding:6px 10px;background:#724447}.debug-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;border-color:#7a6747}.debug-toggle p{margin:0}.switch-line{display:flex;align-items:center;gap:8px;white-space:nowrap}.switch-line input{width:22px;height:22px;accent-color:#e1a94a}.debug-panel{border-color:#a88248}.debug-panel details{padding:10px 0;border-top:1px solid #454c54}.debug-panel summary{cursor:pointer;color:#f3c969;font-weight:700}.debug-panel p,.debug-panel li,.debug-ledger small{overflow-wrap:anywhere}.debug-panel ul{display:grid;gap:6px;padding-left:20px}.debug-ledger{display:grid;gap:8px;margin-top:8px}.debug-ledger article{display:grid;gap:3px;padding:9px;background:#343a40;border-radius:4px}@media(max-width:640px){.tech-card-grid{grid-template-columns:1fr}.tech-card-heading{align-items:flex-start}.debug-toggle{align-items:flex-start;flex-direction:column}.switch-line{width:100%;justify-content:space-between}.debug-panel ul{padding-left:18px}.tech-major-tabs button{padding-inline:5px}}@media(max-width:640px){.speed-group{width:100%;flex-wrap:wrap}}.economy-class h3{margin:8px 0;color:#f3c969}.economy-class{display:grid;gap:7px;margin-top:14px}.economy-asset{border:1px solid #56616a;border-radius:6px;background:#30363b}.economy-asset summary{display:grid;grid-template-columns:minmax(120px,1.3fr) repeat(3,minmax(100px,1fr));gap:10px;align-items:center;padding:11px;cursor:pointer}.asset-flow-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 12px 12px}.asset-flow-grid section{padding:10px;background:#272b2f;border-radius:5px}.asset-flow-grid h4{display:flex;justify-content:space-between;gap:8px;margin:0 0 7px}.asset-flow-grid ul{display:grid;gap:5px;margin:0;padding:0;list-style:none}.asset-flow-grid li{display:flex;justify-content:space-between;gap:8px}.talent-card{display:grid;gap:10px;padding:13px;border:1px solid #56616a;border-left:4px solid #d7aa42;border-radius:6px;background:#30363b}.talent-heading>div{display:grid}.talent-status{color:#f3c969;font-size:.8rem}.talent-card dl{display:grid;gap:6px;margin:0}.talent-card dl>div{display:grid;grid-template-columns:54px 1fr;gap:8px}.talent-card dt{color:#abb5ba}.talent-card dd{margin:0}.trait-chip{min-height:32px;padding:5px 8px;background:#46515a}.governance-migration{margin-top:14px;padding-top:12px;border-top:1px solid #56616a}.governance-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.governance-controls label{display:grid;gap:4px}.governance-controls select{min-width:0;background:#111;color:#fff;border:1px solid #68737d;padding:9px;border-radius:4px}@media(max-width:640px){.economy-asset summary{grid-template-columns:repeat(2,minmax(0,1fr))}.asset-flow-grid,.talent-cards,.governance-controls{grid-template-columns:1fr}.asset-flow-grid li{align-items:flex-start;flex-direction:column}}.governance-rank{display:grid;gap:16px}.rank-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:14px;border-bottom:1px solid #3d5054}.rank-heading h3{margin:3px 0 5px;font-size:clamp(1.35rem,2.5vw,2rem)}.rank-heading p{margin:0;color:#aebbb3}.rank-heading>div:first-child>small{color:#cdb77d;font-weight:700;letter-spacing:.08em}.rank-medallion{display:grid;place-items:center;flex:0 0 82px;width:82px;height:82px;border:1px solid #c4a55f;border-radius:50%;background:radial-gradient(circle at 35% 28%,#3e4d43,#172124);box-shadow:inset 0 0 0 5px #0d1719,0 0 24px #0006}.rank-medallion strong{font:700 2rem/1 Georgia,Songti SC,serif;color:#f2d48d}.rank-medallion small{color:#aab7ae}.rank-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.rank-metric{display:grid;gap:4px;padding:13px;border:1px solid #405158;border-left:3px solid #b69550;background:#172326}.rank-metric small{color:#aebbb3}.rank-metric strong{font-size:1.3rem;color:#f0d794}.rank-metric span{color:#8fa098;font-size:.76rem}.rank-columns{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:12px}.rank-bonuses,.rank-requirements{padding:14px;border:1px solid #405158;background:#141f23}.rank-bonuses h4,.rank-requirements h4,.rank-support h4{margin:0 0 10px}.rank-bonuses dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.rank-bonuses dl>div{display:grid;gap:2px;padding:9px;background:#1e2c2f;border:1px solid #35484d}.rank-bonuses dt{color:#aebbb3;font-size:.76rem}.rank-bonuses dd{margin:0;font-weight:700;color:#f0d794}.rank-requirements ul{display:grid;gap:7px;margin:0;padding:0;list-style:none}.rank-requirements li{display:flex;justify-content:space-between;gap:12px;padding:7px 9px;border-left:3px solid #7fd49a;background:#1b2a26}.rank-requirements li.missing{border-left-color:#d97968;background:#2a2020}.rank-requirements li.missing strong{color:#ffab9d}.rank-requirements li.met strong{color:#9de1b2}.rank-support{padding:14px;border:1px solid #405158;background:#141f23}.rank-support>.section-heading{align-items:flex-end}.rank-support-scroll{overflow:auto}.rank-support table{width:100%;border-collapse:collapse}.rank-support th,.rank-support td{padding:8px;border-bottom:1px solid #33454a;text-align:left}.rank-support thead th{color:#c6b27c;font-size:.8rem}.rank-support td:last-child,.rank-support th:last-child{text-align:right}.rank-support-value{display:inline-block;min-width:44px}.rank-support-meter{display:inline-block;width:min(150px,16vw);height:7px;margin-left:6px;border-radius:4px;background:#324147;vertical-align:middle;overflow:hidden}.rank-support-meter i{display:block;height:100%;background:linear-gradient(90deg,#b58e46,#8fd0a2)}.rank-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:14px;border-top:1px solid #3d5054}.rank-actions p{margin:0}.rank-actions button{min-width:240px}@media(max-width:760px){.rank-metrics,.rank-columns{grid-template-columns:1fr}.rank-heading{align-items:flex-start}.rank-medallion{flex-basis:68px;width:68px;height:68px}.rank-actions{align-items:stretch;flex-direction:column}.rank-actions button{width:100%;min-width:0}.rank-support-meter{width:80px}}.menu-header{margin-bottom:30px}.menu-hero{padding:clamp(24px,7vw,72px) clamp(18px,6vw,64px);border:1px solid #59646d;border-radius:8px;background:linear-gradient(145deg,#292f33,#202428);box-shadow:0 18px 42px #00000038}.menu-kicker{margin:0 0 12px;color:#e1a94a;font-size:.82rem;letter-spacing:.08em}.menu-hero h2{font-size:clamp(1.55rem,4vw,2.3rem);margin-bottom:8px}.menu-actions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:28px}.menu-actions button{min-height:68px;font-size:1rem}.menu-actions .menu-disabled{background:#3b4145;color:#98a1a6}.menu-actions small{display:block;color:#98a1a6;margin-top:3px}.menu-form,.placeholder-page{max-width:680px}.menu-form .select-line{display:grid;grid-template-columns:80px minmax(0,1fr) auto;align-items:center;gap:10px;margin:14px 0}.menu-form input,.menu-form select{min-height:44px;width:100%;background:#111;color:#fff;border:1px solid #68737d;border-radius:4px;padding:9px;font-size:1rem}.menu-start{width:100%;margin-top:12px;font-size:1rem}.back-menu{display:block;margin-top:8px;min-height:34px;padding:6px 10px;font-size:.78rem}.session-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid #454c54}.session-row>div:first-child{display:grid;gap:4px;min-width:0}.session-row small{overflow-wrap:anywhere}.session-detail{border-color:#a88248}.placeholder-stat{display:inline-grid;gap:3px;min-width:130px;margin:12px 10px 12px 0;padding:12px;border:1px solid #56616a;border-radius:5px;background:#30363b}.placeholder-stat strong{font-size:1.5rem;color:#f3c969}.placeholder-stat small{color:#abb5ba}@media(max-width:680px){.menu-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-actions button:last-child{grid-column:span 2}.session-row{align-items:stretch;flex-direction:column}.session-row .actions{width:100%}.session-row .actions button{flex:1}.menu-form .select-line{grid-template-columns:1fr}.menu-form .select-line button{width:100%}}.town-stats,.living-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.town-stats strong,.living-summary strong{overflow-wrap:anywhere}.tech-card.locked{border-left-color:#68737d;background:#292e32;opacity:.62}.tech-missing{color:#ef8b7b!important}.governance-migration{margin-top:16px;padding-top:12px;border-top:1px solid #56616a}.governance-controls{display:flex;gap:10px;flex-wrap:wrap}.governance-controls label{display:grid;gap:5px;flex:1;min-width:160px}.governance-controls select{width:100%}.economy-class{margin:16px 0}.economy-class>h3{margin:0 0 7px;color:#f3c969}.economy-asset{border:1px solid #56616a;border-radius:5px;background:#30363b;margin:7px 0;overflow:hidden}.economy-asset summary{display:grid;grid-template-columns:minmax(100px,1.2fr) repeat(3,minmax(112px,1fr));gap:10px;align-items:center;padding:11px;cursor:pointer;list-style-position:inside}.economy-asset summary>span{display:grid;gap:2px;min-width:0}.economy-asset summary strong{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.asset-flow-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 12px 12px;border-top:1px solid #454c54;background:#292e32}.asset-flow-grid h4{display:flex;justify-content:space-between;gap:8px;margin:12px 0 6px}.asset-flow-grid ul{display:grid;gap:6px;margin:0;padding:0;list-style:none}.asset-flow-grid li{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-top:1px solid #3f464d;font-size:.83rem}.asset-flow-grid li span:last-child{text-align:right}.talent-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.talent-card{display:grid;align-content:start;gap:12px;padding:13px;border:1px solid #56616a;border-left:4px solid #d6a95f;border-radius:6px;background:#30363b}.talent-heading{display:flex;justify-content:space-between;gap:10px}.talent-heading>div{display:grid;gap:3px}.talent-status{color:#f3c969;font-size:.78rem;white-space:nowrap}.talent-card dl{display:grid;gap:7px;margin:0}.talent-card dl>div{display:grid;grid-template-columns:60px 1fr;gap:8px;border-top:1px solid #454c54;padding-top:7px}.talent-card dt{color:#abb5ba;font-size:.82rem}.talent-card dd{margin:0;overflow-wrap:anywhere}.trait-chip{min-height:32px;padding:5px 9px;background:#46515a;color:#f4d58e}.opening-build-hint{padding:10px;border-left:3px solid #e1a94a;background:#343a40;color:#f3c969;font-weight:700}@media(max-width:640px){body{overflow-x:hidden}#app,.app-page,.sticky-status,.realtime-bar,.realtime-bar>div,.panel{min-width:0;max-width:100%}.realtime-bar>div:first-child span,.report p{overflow-wrap:anywhere}.tabs{width:100%;max-width:100%}.economy-asset summary{grid-template-columns:repeat(2,minmax(0,1fr))}.asset-flow-grid,.talent-cards,.expedition-supply-grid{grid-template-columns:1fr}.asset-flow-grid li{align-items:flex-start;flex-direction:column;gap:3px}.asset-flow-grid li span:last-child{text-align:left}.town-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.expedition-supply-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:8px 0}.expedition-supply-grid label{display:grid;gap:4px}.expedition-supply-grid input,.expedition-builder input,.expedition-builder select{min-height:40px}.expedition-builder>button{min-height:44px}.event-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:grid;place-items:center;padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom));background:#141615b8}.build-btn{display:flex;flex-direction:column;align-items:stretch;gap:7px;padding:14px;background:#34413b;border:1px solid #7e8769;color:#f3e5c7;line-height:1.5}.build-card{position:relative;display:grid;min-width:0}.build-card>.build-btn{width:100%;height:100%;padding-right:58px}.build-concept-info{position:absolute;z-index:2;top:10px;right:10px;min-width:38px;min-height:38px;padding:0 8px;border-radius:19px;background:#46515a;color:#f4d58e;font-size:.75rem}.build-btn strong{display:block;font-size:1rem}.build-btn .build-purpose{display:block;color:#d0d6cd;font-weight:400}.build-btn small{margin:0;color:#d0d6cd}.build-btn .build-blocker{display:block;color:#e3bd95;font-size:.82rem}.build-btn.is-unavailable{background:#2c3334;border-color:#596261}.build-btn.building-under-construction:disabled{opacity:1;background:#34453e;border-color:#a29563}.build-btn progress{width:100%;height:14px;display:block;margin:8px 0 4px;accent-color:#beab74}@media(max-width:480px){.build-grid{grid-template-columns:1fr}}.event-card{width:min(720px,100%);max-height:calc(100dvh - 32px - env(safe-area-inset-bottom));overflow:auto;display:grid;grid-template-columns:132px 1fr;gap:20px;padding:20px;padding-bottom:calc(20px + env(safe-area-inset-bottom));background:#f4f1e8;color:#202622;border:1px solid #8b7552;border-radius:8px;box-shadow:0 18px 52px #0006}.event-card h2{color:#59451f}.tutorial-event-card{overflow:hidden;grid-template-rows:auto minmax(0,1fr)}.tutorial-event-card .event-card-content{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto}.tutorial-event-card .event-card-body{min-height:0;overflow:auto;padding-bottom:8px}.tutorial-event-card .event-actions{position:sticky;bottom:0;padding-top:10px;background:#f4f1e8}.tutorial-event-card .event-actions button{min-height:44px}.event-illustration{display:grid;place-items:center;aspect-ratio:1;font-size:64px;background:#d8d1c0;border:1px solid #9a8d75;border-radius:6px}.event-options{display:grid;gap:10px;margin-top:18px}.event-options button{display:grid;gap:4px;width:100%;min-height:76px;text-align:left;background:#354b40;color:#fff;border:1px solid #647c69}.event-options small,.event-options span{display:block;white-space:normal;color:#e2e9e1}.event-options span{font-size:.78rem}.event-options button:disabled{opacity:1;background:#e2e3dd;color:#596059;border-color:#aeb4ab}.event-options button:disabled small,.event-options button:disabled span{color:#596059}.event-card .muted{color:#546052}.event-card:has(>.event-card-content:only-child){grid-template-columns:1fr}.event-options button:focus-visible{outline:3px solid #9e6a22;outline-offset:2px}@media(max-width:600px){.event-overlay{align-items:end;padding:0;padding-bottom:env(safe-area-inset-bottom)}.event-card{grid-template-columns:1fr;max-height:calc(92dvh - env(safe-area-inset-bottom));border-radius:8px 8px 0 0;padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom))}.event-illustration{aspect-ratio:auto;min-height:96px;font-size:52px}.event-options button{min-height:88px}}.prayer-panel{margin-top:14px;border-color:#9a7a43}.prayer-grid,.legacy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.prayer-card{display:grid;grid-template-columns:48px 1fr auto;gap:10px;align-items:center;padding:10px;border:1px solid #56616a;border-left:4px solid #d6a95f;background:#30363b;border-radius:5px;min-width:0}.prayer-card.locked{opacity:.5;filter:grayscale(.8)}.prayer-card p{margin:3px 0;font-size:.84rem}.prayer-icon{display:grid;place-items:center;min-height:42px;background:#46515a;color:#f3c969;font-size:1.3rem}.hall-panel .stats span{display:block;color:#abb5ba;font-size:.74rem}.hall-panel h3{margin-top:18px}.legacy-grid .item{align-items:center}.legacy-grid button{min-height:36px}@media(max-width:640px){.prayer-grid,.legacy-grid{grid-template-columns:1fr}.prayer-card{grid-template-columns:40px 1fr}.prayer-card button{grid-column:2;justify-self:start;width:100%}}.route-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.route-card{padding:10px;border:1px solid #56616a;border-left:4px solid #78a9bc;background:#30363b}.route-card.selected{border-left-color:#e1a94a;background:#3d3528}.route-result,.menu-notice{padding:10px;border-left:3px solid #e1a94a;background:#3d3528;color:#f3c969}.route-dimensions{grid-template-columns:repeat(6,minmax(0,1fr))}.meta-rewards strong{color:#f3c969}@media(max-width:640px){.route-grid{grid-template-columns:1fr}.route-dimensions,.hall-panel .stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.map-relic-marker{fill:#f3c969;font-size:11px;font-weight:700}.investigation-panel{display:grid;gap:16px}.investigation-group{padding-top:14px;border-top:1px solid #56616a}.investigation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.investigation-card{display:grid;align-content:start;gap:8px;min-width:0;padding:12px;border:1px solid #56616a;border-left:4px solid #78a9bc;border-radius:6px;background:#30363b}.investigation-card.conflicting{border-left-color:#d6a95f}.investigation-card.missing{min-height:112px;place-content:center;text-align:center;color:#abb5ba;border-style:dashed;border-left-width:1px}.investigation-card h3,.investigation-card p,.investigation-card blockquote{margin:0}.investigation-card blockquote{padding-left:10px;border-left:2px solid #68737d;color:#eef2f3}.investigation-card dl{display:grid;gap:5px;margin:0}.investigation-card dl>div{display:grid;grid-template-columns:70px 1fr;gap:8px}.investigation-card dt{color:#abb5ba}.investigation-card dd{margin:0;overflow-wrap:anywhere}.investigation-flag{padding:3px 6px;border:1px solid #d6a95f;color:#f3c969;font-size:.75rem}.investigation-conclusion{padding:10px;border-left:3px solid #7fd49a;background:#293c32;color:#bfe8ca}@media(max-width:640px){.investigation-grid{grid-template-columns:1fr}.investigation-panel>.section-heading,.investigation-group>.section-heading{align-items:flex-start;flex-direction:column}}.value-chain{min-width:0;overflow-wrap:anywhere}.value-chain details{min-width:0}.value-chain-table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}.value-chain table{width:100%;min-width:760px;border-collapse:collapse}.value-chain th,.value-chain td{padding:.6rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--line, #45403a)}.value-chain td small{display:block;max-width:24rem}.value-chain table[data-value-sort=commodity]{min-width:920px}.value-chain table[data-value-sort=unit-cost-asc]{min-width:1180px}.value-chain td.value-chain-cost{color:#d8c58d;font-variant-numeric:tabular-nums;white-space:nowrap}.value-chain button{min-height:44px;margin:.25rem}.existing-building-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}.existing-building-grid .building-item{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:12px;min-width:0;margin:0}.existing-building-grid .building-actions{display:flex;flex-wrap:wrap;gap:6px}.governance-layout{display:grid;gap:12px;align-items:start}.treasury-panel{order:-1}.treasury-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.risk-contributions{display:flex;gap:12px;flex-wrap:wrap;margin:12px 0}.faith-summary .stats{grid-template-columns:repeat(2,minmax(0,1fr))}.asset-flow-grid li.asset-flow-instance{padding:0 0 4px 14px;border:0;color:#abb5ba;font-size:.76rem}.asset-flow-instance small:first-child{min-width:0;overflow-wrap:anywhere;text-align:left}@media(max-width:640px){.existing-building-grid{grid-template-columns:1fr}.treasury-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.wellbeing-lines{white-space:pre-line;font-variant-numeric:tabular-nums;line-height:1.7}.town-stats:has(details[open]){grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.town-stats .living-details p,.town-stats .cohesion-details p{font-size:.88rem}.town-stats summary{cursor:pointer}@media(max-width:640px){.town-stats:has(details[open]){grid-template-columns:1fr}}.asset-name b{display:flex;align-items:center;gap:9px}.asset-name .asset-icon{flex:none;width:25px;height:25px;color:#d6b977}.asset-name .resource-icon-sprite{width:28px;height:28px}.governor-building{grid-column:1/-1}.governor-annexes{width:100%;min-width:0}.annex-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:12px 0}.annex-item{padding:12px;border:1px solid #596058;background:#222e30}.annex-item strong{color:#d6b977}.asset-stockpile{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px}.asset-stockpile small{flex-basis:100%;color:#a9b5b4}.industry-guides{border-top:1px solid #596058;margin-top:20px;padding-top:10px}.building-under-construction{border-left:4px solid #e1a94a;background:#3d3528;padding-left:10px}.building-under-construction progress{width:min(320px,100%);accent-color:#e1a94a}.tab-warning{color:#ef8b7b!important;border-color:#ef8b7b!important}.frost-alert{color:#ef8b7b;font-weight:700}.frost-breakdown{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0}.frost-breakdown div{padding:10px;background:#30363b;border-left:3px solid #68737d}.frost-breakdown dt{color:#abb5ba;font-size:.82rem}.frost-breakdown dd{margin:4px 0 0;font-weight:700;font-variant-numeric:tabular-nums}@media(max-width:640px){.frost-breakdown{grid-template-columns:1fr}}.edition-name{white-space:nowrap}.tabs .frost-tab{background:#782a33;border-color:#e38d91;color:#fff1f1}.tabs .frost-tab.active{background:#a63240}.frost-page{background:#39282d;border-color:#c96f79}.frost-page .heat-relief{color:#8ce0ae}.frost-page .heat-burden{color:#ffabab}.frost-page details{margin:1rem 0;padding:.75rem;border:1px solid #84505b;border-radius:.5rem}.frost-page summary{cursor:pointer}.frost-page .frost-breakdown div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem}.frost-page .frost-breakdown dd{margin:0}.frost-page p{overflow-wrap:anywhere}.sticky-status{padding:4px 0}.sticky-status .realtime-bar{margin:0 0 8px}.sticky-status .tabs{padding:8px 0 4px;margin:0}.decision-stock{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:6px 10px;font-variant-numeric:tabular-nums}.decision-inventory{display:flex;gap:12px;overflow-x:auto;min-width:0;scrollbar-width:thin}.decision-inventory>span{flex:none;white-space:nowrap}.decision-population>span{white-space:nowrap}.decision-population b{display:inline-block;min-width:12ch}.decision-population em{display:block;font-style:normal}.decision-population em[hidden]{display:none}.decision-cohesion{display:flex;gap:8px;font-size:12px;white-space:nowrap}.game-report-log{margin:16px 0;border-top:1px solid #596058;padding-top:10px}.game-report-log summary{cursor:pointer;margin-bottom:8px}.building-heading{width:100%;min-width:0}.building-title-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.mode-stepper{display:inline-flex;align-items:center;gap:5px;flex-wrap:nowrap}.mode-stepper button{min-width:30px;padding:5px 7px}.mode-stepper b{min-width:2.5em;text-align:center;white-space:nowrap}.building-mode summary{display:list-item}.building-mode summary>.mode-stepper{margin-left:8px;vertical-align:middle}.building-mode summary>[data-live-mode-history]{display:block;margin-top:5px;font-weight:400}.building-mode-summary{display:flex;align-items:center;min-width:0;margin-top:8px}.building-details-button{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:6px 10px;border:1px solid #786b4d;border-radius:5px;background:#263335;color:#f0d79d;font:600 13px/1.3 inherit;cursor:pointer}.building-details-button:hover,.building-details-button:focus-visible{background:#334347;outline:2px solid #e0c27b;outline-offset:2px}.building-details-button small{color:#b8c5be;font-size:11px;font-weight:400}.building-detail-card{width:min(1240px,calc(100vw - 48px));max-height:calc(94dvh - env(safe-area-inset-bottom))}.event-overlay .building-detail-card,.event-overlay .event-card:has(>.event-card-content:only-child).building-detail-card{width:min(1240px,calc(100vw - 48px));max-height:calc(94dvh - env(safe-area-inset-bottom))}.building-detail-body{max-height:min(78dvh,820px);overflow:auto;overscroll-behavior:contain;padding-right:4px;scroll-behavior:auto}.building-detail-body .building-modes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));align-items:start;gap:12px;margin-top:0}.building-detail-body .building-mode{min-width:0;content-visibility:auto}.building-detail-body .building-disabled-modes{grid-column:1/-1}@media(max-width:900px){.building-detail-body .building-modes{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}}@media(max-width:600px){.building-mode-summary{width:100%}.building-details-button{width:100%;justify-content:space-between}.building-detail-card,.event-overlay .building-detail-card{width:100%;max-height:calc(92dvh - env(safe-area-inset-bottom));border-radius:8px 8px 0 0}.building-detail-body{max-height:calc(76dvh - 40px);padding-right:0}.building-detail-body .building-modes{grid-template-columns:1fr}}.building-heading-right{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.building-throughput{display:inline-flex;align-items:center;padding:2px 7px;border:1px solid #56616a;border-radius:999px;font-size:.78rem;font-variant-numeric:tabular-nums;white-space:nowrap;cursor:help}.building-throughput.positive{color:#7fd49a;border-color:#3f6b52}.building-throughput.negative{color:#ef8b7b;border-color:#6b4340}.building-throughput.is-neutral{color:#abb5ba}.job-row strong>.building-throughput{margin-left:6px}.building-role{color:#c8b98d}.tile-building-group>.building-group>summary{display:flex;align-items:center;gap:8px;margin:16px 0 10px;cursor:pointer;list-style:none}.building-group>summary::-webkit-details-marker{display:none}.building-group>summary:before{content:"▸";color:#9aa7a2}.building-group[open]>summary:before{content:"▾"}.building-group-title{color:#c8b581;font-size:.86rem;font-weight:700}.building-group-count{margin-left:auto;color:#abb5ba;font-size:.78rem}@media(max-width:640px){.decision-stock{grid-template-columns:auto minmax(0,1fr);gap:6px;padding:4px;font-size:12px}.decision-inventory{grid-column:1 / -1;padding-bottom:4px}.decision-cohesion{justify-content:flex-end;flex-wrap:wrap;gap:2px 6px;font-size:11px}}.map-viewport{position:relative;user-select:none;-webkit-user-select:none}.map-viewport .map-canvas{position:absolute;inset:0 auto auto 0;max-width:none;transform-origin:0 0;transition:none}.map-viewport.is-dragging,.map-viewport.is-dragging *{cursor:grabbing}.map-controls{display:flex;flex-wrap:wrap;gap:5px}.map-controls button{touch-action:manipulation;min-height:44px}.storage-box .economy-asset summary{grid-template-columns:repeat(2,minmax(0,1fr))}.storage-box .economy-asset summary .asset-name{grid-column:1/-1}.event-card-body .narrative-quote{margin:12px 0;padding-left:12px;border-left:3px solid #b39a64}.event-card-body .narrative-quote cite{display:block;font-style:normal;font-weight:700;opacity:.85}.event-card-body .narrative-quote p{margin:4px 0 0}#app{max-width:2040px}.workspace-layout{display:grid;grid-template-columns:clamp(240px,30vw,440px) minmax(0,1fr);gap:clamp(12px,2vw,24px);align-items:start}.workspace-main{min-width:0}.report-sidebar{position:sticky;top:16px;display:flex;flex-direction:column;height:calc(100dvh - 32px);width:auto;margin:0;z-index:auto;min-width:0}.report-sidebar .game-report-log{display:flex;flex-direction:column;min-height:0;height:100%;margin:0;padding:0;border-top:0}.report-sidebar .game-report-log::details-content{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.report-sidebar .report{margin:12px 0 0;flex:1 1 auto;min-height:0;max-height:none;overflow-y:auto;overscroll-behavior:auto}.report-sidebar .report p{overflow-wrap:anywhere;line-height:1.65}@media(max-width:650px){.workspace-layout{grid-template-columns:minmax(0,1fr)}.workspace-main{grid-row:1}.report-sidebar{position:static;grid-row:2;height:auto}.report-sidebar .game-report-log{height:auto}.report-sidebar .report{max-height:320px}}.trade-groups,.trade-commodity-list{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.trade-groups{gap:16px;margin:20px 0}.trade-commodity{min-width:0;border:1px solid var(--line,#56616a);border-radius:5px;background:#30363b;font-variant-numeric:tabular-nums}.trade-commodity-summary{display:grid;grid-template-columns:minmax(130px,1.2fr) repeat(3,minmax(0,1fr));align-items:center;gap:16px;padding:12px}.trade-commodity-summary>div{display:grid;gap:4px;min-width:0}.trade-commodity-summary h4{display:flex;align-items:center;gap:9px;margin:0;font-size:16px}.trade-commodity-summary strong{font-size:16px;overflow-wrap:anywhere}.trade-commodity small{font-size:13px;overflow-wrap:anywhere}.trade-asset-mark{display:grid;place-items:center;width:25px;height:25px;flex:none;color:#d6b977;border:1px solid var(--line,#56616a);border-radius:4px}.trade-commodity-orders{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:10px 12px;border-top:1px solid var(--line,#56616a)}.trade-quantity{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}.trade-quantity label{display:flex;align-items:center;gap:8px;flex:none;white-space:nowrap}.trade-market-panel .trade-quantity input{width:88px;flex:0 0 88px;min-width:0;min-height:38px}.trade-checkout{padding:12px 0}@media(max-width:700px){.trade-commodity-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.trade-commodity-orders{grid-template-columns:minmax(0,1fr)}}#app:has(.workspace-layout){max-width:1800px}.workspace-layout{grid-template-columns:clamp(240px,18vw,300px) minmax(0,1fr);gap:16px}.report-sidebar .report{margin-top:8px}.report-sidebar .report h2{font-size:15px}.report-sidebar .report p{padding:8px 0;font-size:13px;line-height:1.45}.report-sidebar .info-button{min-width:36px;min-height:36px}@media(min-width:651px){.report-sidebar{height:auto;max-height:calc(100dvh - 32px)}.report-sidebar .game-report-log{height:auto;max-height:inherit}.report-sidebar .report{flex:0 1 auto;height:auto;max-height:calc(100dvh - 100px)}}@media(max-width:650px){.report-sidebar .report{margin-top:6px}.report-sidebar .report p{padding:6px 0}}@media(max-width:650px){.workspace-layout{grid-template-columns:minmax(0,1fr)}.workspace-main{grid-row:1}.report-sidebar{grid-row:2;width:100%}}.tabs .merchant-tab{color:#166534;border-color:#87bb95;background:#edf8ef}.tabs .merchant-tab.active{color:#fff;border-color:#26763b;background:#26763b}.merchant-market input,.merchant-auto input[type=number]{width:88px;min-width:68px;max-width:100%}.merchant-auto select{max-width:160px}.merchant-auto fieldset{min-width:0;border:0;padding:0;margin:0}.merchant-auto [data-auto-move],.merchant-auto [data-auto-remove]{width:30px;min-width:30px;padding:4px}.merchant-market [data-merchant-preview]{display:block;min-height:18px;margin-top:4px;font-size:12px;white-space:nowrap}.merchant-market .trade-table,.merchant-auto .trade-table{min-width:620px}.merchant-history-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.merchant-history-summary h3{margin:0}.merchant-history-dialog .event-card{grid-template-columns:1fr;width:min(920px,calc(100vw - 32px));max-height:calc(92dvh - 32px)}.merchant-history-dialog [data-merchant-history-content]{min-width:0;max-height:min(52dvh,520px);overflow:auto}.merchant-history-dialog [data-merchant-history-content] .trade-table{min-width:620px}.consumption-report tbody td{color:#9de1b2}.consumption-report tbody td .negative{color:#ff9d8f}.merchant-history-pagination{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:12px}.merchant-history-pagination span{font-size:12px;color:var(--muted,#6b7280)}@media(max-width:600px){.merchant-history-dialog{align-items:end;padding:0;padding-bottom:env(safe-area-inset-bottom)}.merchant-history-dialog .event-card{width:100%;max-height:92dvh;border-radius:8px 8px 0 0;padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom))}.merchant-history-dialog [data-merchant-history-content]{max-height:48dvh}.merchant-history-pagination button{min-height:40px}}.settlement-feedback{display:grid;gap:2px;width:100%;max-width:100%;margin-top:auto;color:#d9e0e3;font-size:.76rem;line-height:1.35}.settlement-feedback strong{color:#f3d78f}.settlement-feedback-range{color:#bfc8c6;font-variant-numeric:tabular-nums}.settlement-feedback ul{display:flex;flex-wrap:wrap;gap:2px 10px;padding:0;margin:0;list-style:none}.settlement-feedback li{overflow-wrap:anywhere}.settlement-feedback-alerts{color:#efb09e}.settlement-feedback-alerts>span{font-weight:700}.settlement-feedback-alerts ul{display:grid;gap:1px}.realtime-controls{display:grid!important;justify-items:end;gap:6px;min-width:0}@media(max-width:640px){.realtime-controls{width:100%;justify-items:stretch}.settlement-feedback{max-width:none}}.app-page:has(.map-panel) .opening-guide [data-tab=map]{display:none}@media(min-width:1201px){.app-page:has(.map-panel):has(.opening-guide){padding-right:456px}.app-page:has(.map-panel):has(.opening-guide) .map-panel{min-width:0}.app-page:has(.map-panel):has(.opening-guide) .map-workspace{grid-template-columns:minmax(0,1fr) minmax(270px,340px)}}.tree-viewport{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab}.tree-viewport.is-dragging{cursor:grabbing}.progression-page{padding:20px;background:linear-gradient(135deg,#292f32,#202729);border:1px solid #86704d;border-radius:3px;box-shadow:0 8px 28px #0004;min-width:0}.progression-heading{align-items:center;padding:2px 0 16px;border-bottom:1px solid #786746;gap:12px}.progression-heading h2,.progression-heading h3{font-family:Georgia,Songti SC,serif;font-size:1.6rem;letter-spacing:.15em;margin:5px 0 0;color:#e8d6ab}.tree-eyebrow{display:block;font-size:.67rem;letter-spacing:.13em;text-transform:uppercase;color:#b5a582}.tree-ledger{display:grid;gap:5px;text-align:right;font-variant-numeric:tabular-nums;color:#e2c98e}.progression-page .tech-major-tabs{grid-template-columns:repeat(4,minmax(0,1fr));max-width:720px;margin:16px auto}.progression-page .tech-major-tabs button{border:1px solid #777057;border-radius:2px;background:#303b3d;font-size:1rem;color:#d4c9b1;box-shadow:inset 0 0 0 3px #202729}.progression-page .tech-major-tabs button small{margin-left:14px;color:inherit}.progression-page .tech-major-tabs .selected{background:linear-gradient(#b29a64,#746040);color:#fff4d9;border-color:#dfc286}.progression-workspace{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start;margin-top:16px}.tree-map{min-width:0;border:1px solid #625d4d;background:#181f21;box-shadow:inset 0 0 30px #0005}.tree-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:54px;padding:7px 12px;border-bottom:1px solid #58523f;color:#b4b1a4;font-size:.76rem;background:#242e30}.tree-zoom{display:flex;gap:3px;flex-shrink:0}.tree-zoom button{background:#384446;border:1px solid #68716a;border-radius:2px;min-height:34px;min-width:34px;padding:4px 8px;color:#e5d3ae}.tree-viewport{height:620px;overflow:auto;position:relative;overscroll-behavior:contain;scrollbar-color:#897652 #1c2629;scrollbar-width:thin;outline-offset:3px}.tree-scaled-space{position:relative;margin-inline:auto}.tree-canvas{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:top left;background:radial-gradient(ellipse at top,#35403b60,transparent 60%),repeating-linear-gradient(45deg,transparent 0 12px,#ffffff02 12px 13px)}.tree-tier{position:absolute;left:0;right:0;height:138px;border-top:1px solid #c1ab7520;pointer-events:none}.tree-tier>span{position:absolute;left:52px;top:5px;color:#ae997863;font-family:Georgia,serif;font-size:18px}.tree-links{position:absolute;top:0;right:0;bottom:0;left:0;overflow:visible;color:#938463;pointer-events:none}.tree-link{stroke:#837653;stroke-width:1.15;fill:none;opacity:.18}.tree-link.completed{stroke:#77a388;opacity:.48}.tree-link.highlighted{stroke:#e4c37b;stroke-width:2.15;opacity:.9;filter:drop-shadow(0 0 3px #e4c37b44)}.tree-node{position:absolute;width:176px;height:92px;display:flex;align-items:center;gap:9px;text-align:left;padding:10px;border:1px solid #777263;border-radius:3px;background:linear-gradient(150deg,#354145,#263034);box-shadow:0 5px 10px #0007,inset 0 0 0 3px #ffffff05;color:#e3ddd0;overflow:hidden;white-space:normal}.tree-node:hover{border-color:#d7c492;background:linear-gradient(150deg,#4d5349,#303c3a)}.tree-node:focus-visible{outline:3px solid #f0d295;outline-offset:3px;z-index:2}.tree-emblem{display:grid;place-items:center;width:32px;height:38px;flex-shrink:0;font-size:23px;color:#cbb780;border:1px solid #91805c;border-radius:50% 50% 35% 35%;background:#1d292b}.tree-node-copy{display:grid;gap:3px;min-width:0}.tree-node-copy strong{font-family:Georgia,Songti SC,serif;font-size:.89rem;line-height:1.25;overflow-wrap:anywhere}.tree-node-copy small{font-size:.62rem;color:#aaa99c;line-height:1.3}.tree-state{font-size:.64rem;color:#adae9d}.tree-node.is-done{background:linear-gradient(135deg,#384e44,#253b33);border-color:#789582}.tree-node.is-done .tree-state{color:#a8d0b4}.tree-node.is-active{border-color:#ebcc7e;background:linear-gradient(135deg,#645b3e,#383b2f)}.tree-node.is-active .tree-state{color:#f7d889}.tree-node.is-queued{border-color:#86afc4}.tree-node.is-queued .tree-state{color:#a2cbe0}.tree-node.is-locked{background:linear-gradient(135deg,#303638,#242b2e);color:#a9ada9;border-color:#515a56}.tree-node.is-locked .tree-emblem{opacity:.55}.tree-node.is-selected{outline:2px solid #f5d79c;outline-offset:3px;z-index:1;box-shadow:0 0 18px #f5d79c28}.tree-node.is-ancestor{border-color:#c4ab72;box-shadow:inset 0 0 0 2px #c4ab7225,0 5px 10px #0007}.tree-node.is-unknown{opacity:1;background:#1f282a;border:1px dashed #565e57;color:#7a827e;box-shadow:none}.tree-node.is-unknown .tree-emblem{border-color:#505b54;color:#7a827e}.tree-legend{display:flex;gap:16px;flex-wrap:wrap;padding:10px 14px;border-top:1px solid #58523f;font-size:.7rem;color:#9ba49e}.tree-legend .done{color:#9bc4a9;font-size:inherit}.tree-legend .active{color:#ebcc7e}.tree-legend .queued{color:#99bdd1}.tree-sidebar{display:grid;gap:14px;min-width:0}.tree-sidebar .research-project{margin:0;background:#343b34;border-color:#8a7751;box-shadow:inset 0 0 0 3px #0002}.tree-inspector{display:grid;gap:10px;background:#2c3537;padding:16px;border:1px solid #6d705f;border-radius:2px;white-space:normal}.tree-inspector h3{font-family:Georgia,Songti SC,serif;font-size:1.3rem;color:#e5d5ad;margin:0}.tree-inspector h4{font-size:.75rem;color:#b5b7a9;margin:6px 0 0}.tree-inspector p{font-size:.84rem;line-height:1.7;margin:0;color:#c5c8bd}.tree-inspector small{font-size:.7rem;line-height:1.6}.tree-inspector>button{background:linear-gradient(#ac8e50,#7a653e);border:1px solid #ccb67e;border-radius:2px;color:#fff3d4}.tree-inspector .tech-action{display:grid;gap:6px;justify-items:start}.tree-inspector .tech-action button{background:linear-gradient(#ac8e50,#7a653e);border:1px solid #ccb67e;border-radius:2px;color:#fff3d4}.tree-inspector .tech-action small{color:#b5b7a9}.tree-prerequisites{display:flex;flex-wrap:wrap;gap:5px;font-size:.78rem}.tree-prerequisite{background:#212e32;border:1px solid #596d6a;border-radius:2px;padding:6px 8px;min-height:32px;font-size:.75rem;color:#c3c8bf}.tree-prerequisite.complete{border-color:#779d83;color:#a9cbae}.tree-costs{margin:0;display:grid;gap:5px;border-top:1px solid #5a6257;padding-top:10px;font-size:.76rem}.tree-costs>div{display:flex;justify-content:space-between;gap:8px}.tree-costs dt{color:#aab0a4}.tree-costs dd{margin:0;color:#e4d2a7;text-align:right}.tree-inspector .tree-requirement{font-size:.74rem;color:#d1b589}.tree-sidebar .research-queue{background:#252f32;border:1px solid #5f6c65;padding:12px;border-radius:2px}.research-queue h3{font-family:Georgia,Songti SC,serif;margin:0;color:#d8c9a5;font-size:1rem}.research-queue .section-heading{margin-bottom:10px}.research-queue small,.queue-last{font-size:.7rem;color:#9ca99e}.queue-item{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:6px;border-top:1px solid #53615566;padding:8px 0}.queue-number{color:#bfac7c;font-family:Georgia,serif}.queue-title{background:none;text-align:left;padding:3px;min-height:28px;color:#d3d9c8;font-size:.83rem}.queue-controls{grid-column:3;display:flex;gap:3px}.queue-controls button{min-width:28px;min-height:30px;padding:3px 6px;border:1px solid #667465;background:#33413e;border-radius:2px}.grace-workspace .tree-viewport{height:450px}.grace-panel .tree-emblem{border-radius:50%;color:#dac892}@media(min-width:1150px){.progression-page{padding:16px}.faith-summary{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px 24px}.faith-summary h2{margin:0}.faith-summary .stats>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:8px 12px}.faith-summary .stats strong{margin:0}.faith-summary>p{grid-column:1/-1;margin:2px 0}.progression-heading{padding-bottom:10px}.progression-heading h2,.progression-heading h3{font-size:1.35rem}.progression-page .tech-major-tabs{margin:10px auto;max-width:620px}.progression-page .tech-major-tabs button{min-height:36px;padding:6px 10px;font-size:.9rem}.progression-workspace{margin-top:12px;gap:14px}.tree-toolbar{min-height:46px;padding:5px 10px}.tree-viewport{height:clamp(380px,calc(100dvh - 350px),720px)}.tree-sidebar{position:sticky;top:12px;max-height:calc(100dvh - 28px);overflow:auto;scrollbar-width:thin}}@media(max-width:900px){.progression-workspace{grid-template-columns:minmax(0,1fr)}.tree-sidebar{grid-template-columns:repeat(2,minmax(0,1fr))}.tree-sidebar .research-queue{grid-column:1/-1}.tree-viewport{height:500px}.tree-sidebar .research-project{align-self:start}}@media(max-width:560px){.progression-page{padding:10px}.progression-heading h2,.progression-heading h3{font-size:1.2rem}.tree-ledger{font-size:.78rem}.tree-eyebrow{font-size:.58rem}.tree-sidebar{grid-template-columns:minmax(0,1fr)}.tree-viewport{height:400px}.grace-workspace .tree-viewport{height:380px}.tree-toolbar{align-items:start}.tree-toolbar>span{max-width:140px}.progression-page .tech-major-tabs button{font-size:.86rem;padding:8px 4px}.progression-page .tech-major-tabs button small{display:block;margin:3px 0 0}.tree-legend{gap:9px;font-size:.64rem}}.empire-foundations{margin:12px 0;padding:12px 16px;border:1px solid #625c49;border-radius:8px;color:#d2c9ae;font-size:.85rem}.empire-foundations summary,.tech-project-list summary{cursor:pointer;font-weight:600}.tech-methods{padding:0;list-style:none;display:grid;gap:12px}.tech-methods li{display:grid;gap:5px;min-width:0;padding:9px;border:1px solid #625c49;border-radius:6px;background:#242c2d;font-size:.8rem;line-height:1.35;overflow-wrap:anywhere}.tech-methods span,.tech-methods small{display:block;line-height:1.55}.tech-project-list{padding:12px}.tech-project-list>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;margin-top:12px}.tech-project-list button{display:grid;gap:6px;text-align:left;min-height:60px}.tech-project-list button span{font-size:.75rem}.tech-project-list button[aria-pressed=true]{border-color:#d0b47b;background:#3b3d32}@media(max-width:560px){.tech-major-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.tech-methods li{padding:9px}}.tech-panel{container-type:inline-size}@container (max-width:950px){.tech-panel .progression-workspace{grid-template-columns:minmax(0,1fr)}.tech-panel .tree-sidebar{position:static;max-height:none;overflow:visible;grid-template-columns:repeat(2,minmax(0,1fr))}.tech-panel .tree-inspector{grid-column:1/-1}.tech-panel .tech-methods{grid-template-columns:repeat(2,minmax(0,1fr))}.tech-panel .tree-viewport{height:440px}}@container (max-width:520px){.tech-panel .tree-sidebar,.tech-panel .tech-methods{grid-template-columns:minmax(0,1fr)}.tech-panel .tree-viewport{height:360px}}@media(min-width:1000px){.progression-page{padding:14px}.progression-heading{padding:0 0 10px}.progression-page .tech-major-tabs{margin:10px auto;max-width:640px}.progression-page .tech-major-tabs button{min-height:36px;padding:5px 8px;font-size:.9rem}.progression-workspace{grid-template-columns:minmax(0,1fr) minmax(300px,340px);gap:12px;margin-top:10px}.tree-toolbar{min-height:40px;padding:4px 8px}.tree-viewport{height:clamp(520px,60dvh,720px)}.tree-sidebar{gap:10px}}@container (max-width:950px){.tech-panel .progression-workspace{grid-template-columns:minmax(0,1fr)}.tech-panel .tree-sidebar{position:static;max-height:none;overflow:visible;grid-template-columns:repeat(2,minmax(0,1fr))}.tech-panel .tree-inspector{grid-column:1/-1}.tech-panel .tree-viewport{height:480px}}@container (max-width:560px){.tech-panel .tree-sidebar{grid-template-columns:minmax(0,1fr)}.tech-panel .tree-viewport{height:380px}}.tech-method{display:block!important;position:relative}.tech-method-trigger{display:grid;gap:5px;width:100%;min-height:44px;padding:6px 0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;font:inherit}.tech-method-trigger:hover,.tech-method-trigger:focus-visible{color:#f1dcae}.tech-method-preview{display:grid;position:absolute;z-index:4;inset-inline:0;top:calc(100% + 4px);gap:7px;max-height:min(70vh,480px);margin:0;padding:10px;border:1px solid #5e675b;border-radius:6px;background:#192325;box-shadow:0 10px 26px #0008;overflow:auto}.tech-method-preview[hidden]{display:none}.tech-method-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:8px;border-bottom:1px solid #5e675b;color:#e6d6ad}.tech-method-dialog-heading strong{font-size:.82rem}.tech-method-dialog-heading button{min-height:36px;padding:5px 10px}.tech-method-preview dl{display:grid;gap:4px;margin:0}.tech-method-preview dl>div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:7px}.tech-method-preview dt{color:#aeb9b0}.tech-method-preview dd{margin:0;color:#e6d6ad}.tech-method-preview p{margin:0;color:#9ea9a2;font-size:.72rem}.tech-upgrade-comparison{display:grid;grid-template-columns:minmax(0,1fr);gap:7px;margin-top:7px;padding-top:8px;border-top:1px solid #5e675b;min-width:0}.tech-upgrade-comparison>summary{display:flex;align-items:baseline;gap:7px;cursor:pointer;color:#d8c07d;font-weight:600}.tech-upgrade-summary{margin-left:auto;color:#aeb9b0;font-weight:400;text-align:right}.tech-comparison-scroll{width:100%;min-width:0;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;border:1px solid #4e5b54;border-radius:4px;background:#192325}.tech-comparison-table{width:100%;min-width:520px;border-collapse:collapse;font-size:.74rem;font-variant-numeric:tabular-nums}.tech-comparison-table th,.tech-comparison-table td{padding:6px 7px;border-bottom:1px solid #394741;text-align:left;vertical-align:top}.tech-comparison-table th{color:#c3b58d;background:#202c2d}.tech-comparison-table tbody th{font-weight:500}.tech-comparison-table tr:last-child th,.tech-comparison-table tr:last-child td{border-bottom:0}.tech-comparison-status{display:grid;gap:5px;margin:0}.tech-comparison-status>div{display:grid;grid-template-columns:78px minmax(0,1fr);gap:7px}.tech-comparison-status dt{color:#9daaa2}.tech-comparison-status dd{margin:0;color:#e3d7b4}.tech-comparison-status>div:last-child dd{color:#9ea9a2;font-size:.7rem}@media(max-width:560px){.tech-method-preview{position:static;max-height:55vh;margin-top:4px}.tech-upgrade-comparison>summary{align-items:flex-start;flex-direction:column;gap:2px}.tech-upgrade-summary{margin-left:0;text-align:left}.tech-comparison-status>div{grid-template-columns:1fr;gap:2px}.tech-comparison-table{min-width:460px}}:root{font-family:MiSans,Microsoft YaHei UI,Microsoft YaHei,PingFang SC,Noto Sans SC,system-ui,-apple-system,Segoe UI,sans-serif;font-size:16px;line-height:1.6;color:#eee9db;--text-soft:#c0cbc5;--text-warm:#eee9db;--line:#52615b;--brass:#dec382}*{box-sizing:border-box}body{margin:0;font-size:16px;background:#141e20}#app{width:100%;max-width:1440px;margin:auto;padding:24px}h1,h2{font-family:Georgia,"Noto Serif SC",Songti SC,serif;line-height:1.3;letter-spacing:.04em}h1,h2{font-size:24px}h3{font-family:inherit;font-size:18px;line-height:1.4}h4{font-size:16px}p{margin:12px 0;line-height:1.6}small,.muted,.subtitle{font-size:13px;line-height:1.5;color:var(--text-soft)}button,input,select{font:inherit;font-size:14px;line-height:1.5;border-radius:6px}button{min-height:40px;padding:8px 16px;white-space:nowrap;cursor:pointer;color:#f0e9d7;border:1px solid #728071;background:#34473f}button:disabled{opacity:1;color:#abb5af;background:#263234;border-color:#52615b;cursor:not-allowed;box-shadow:none}button:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #f5d989;outline-offset:3px}input:not([type=checkbox]),select{min-height:44px;min-width:0;padding:10px 12px;max-width:100%;width:100%}input[type=checkbox]{width:20px;height:20px;flex:none;margin:0;accent-color:#dec382}label:has(input[type=checkbox]){display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer}summary{cursor:pointer;padding:12px 0;min-height:44px;overflow-wrap:anywhere}details>summary:focus-visible{border-radius:6px}.panel{padding:20px;margin:16px 0;border:1px solid #46564f;border-radius:10px;background:#243134;box-shadow:0 4px 14px #0002;min-width:0}.panel>h2,.section-heading h2{margin-top:0;font-size:24px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.grid,.grid.two,.build-grid,.storage-grid,.talent-cards{gap:16px}.grid>*{min-width:0}.actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.actions>button{flex:0 1 auto}.item{min-width:0;gap:16px}.item small{display:block}.item>div{min-width:0}.stats strong,.metric-label+strong,dd,meter,.clock,[data-live-asset-stock],[data-live-asset-net]{font-variant-numeric:tabular-nums}.stats>div{display:grid;align-content:start;gap:8px;padding:16px;border-radius:8px}.stats>div strong{font-size:24px}.positive{color:#b0deb4}.negative,.danger-text{color:#ffb8a5}.sticky-status{display:grid;grid-template-columns:1fr;position:sticky;top:0;z-index:25;gap:8px;background:#141e20f5;padding:8px 0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.sticky-status .realtime-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding:12px 16px;margin:0;border:1px solid var(--line);border-radius:8px}.realtime-bar>div:first-child{display:flex;flex-wrap:wrap;gap:12px}.realtime-bar b{font-size:13px;color:var(--text-soft)}.speed-group{display:flex;flex-wrap:wrap;gap:4px}.realtime-bar .speed-group button{min-width:44px;min-height:44px;padding:8px}.speed-group [data-pause]{min-width:72px;margin-left:8px}.speed.selected,.tabs button.active{background:#dec382;color:#202922;border-color:#f1dca0;box-shadow:inset 0 -3px #806b37}.decision-stock{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 24px;padding:8px 16px;border:0;background:#1b292b;font-size:14px;border-radius:6px}.decision-summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 16px;margin-left:auto;min-width:0;font-size:13px}.live-status{flex:none;padding-left:12px;border-left:1px solid #586354;color:#c9d3cd;font-size:12px;white-space:nowrap}.live-status[data-status-state=paused]{color:#f0c979;font-weight:700}.qualification-next-step{display:flex;flex:1 1 100%;align-items:center;justify-content:space-between;gap:12px;padding-top:7px;border-top:1px solid #ffffff14;color:#d6dfd8;font-size:12px;line-height:1.45}.qualification-next-step>span{min-width:0}.qualification-next-step b{margin:0 7px 0 0;color:#e5c77f;white-space:nowrap}.qualification-next-step button{flex:none;min-height:32px;padding:5px 10px;font-size:12px}.decision-inventory{display:flex;flex-wrap:wrap;gap:8px 20px;min-width:0}.decision-inventory b{color:#e5c77f}.decision-inventory b.positive{color:#b0deb4}.decision-inventory b.negative{color:#ffb8a5}.decision-cohesion{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:13px}.decision-stock b{margin-left:6px}.tabs{display:flex;overflow-x:auto;gap:6px;padding:4px 0 8px;margin:0;border-bottom:1px solid var(--line);scrollbar-width:thin}.tabs button{flex:none;min-height:44px;padding:10px 16px;font-size:14px}.menu-hero{max-width:960px;padding:40px;margin:24px auto;border-radius:12px;background:radial-gradient(ellipse at top right,#bca15d18,transparent 65%),#243134}.menu-hero h2{font-size:32px;margin:20px 0 12px}.menu-actions{display:grid;grid-template-columns:1fr;gap:16px;max-width:none;margin-top:24px}.menu-actions .primary-start{display:grid;gap:8px;justify-items:start;text-align:left;min-width:0;white-space:normal;overflow-wrap:anywhere;min-height:88px;padding:20px 24px;background:#dec382;color:#202922}.primary-start strong{font-size:20px;font-family:inherit;font-weight:700;letter-spacing:.02em}.primary-start small{font-family:inherit;font-size:16px;font-weight:400;line-height:1.5;letter-spacing:.01em;color:#1f2d28}.menu-secondary{display:flex;gap:12px}.menu-secondary button{flex:1;min-height:44px}.menu-form{max-width:720px;margin-inline:auto}.menu-form label{display:grid;gap:8px}.population-dual{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.population-angle{display:grid;grid-template-columns:1fr auto;gap:6px 16px;padding:16px;border-radius:8px}.population-angle strong{font-size:24px;grid-column:2;grid-row:1/3}.population-angle small,.population-angle span{font-size:14px}.town-stats{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-top:16px}.town-stats>div:nth-child(n+3){display:flex;align-items:center;gap:12px}.cohesion-metric>.metric-label{display:block;font-size:14px;color:var(--text-soft)}.cohesion-metric>strong{display:block;font-size:28px}#cohesion-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;margin-top:12px;font-size:14px}#cohesion-details>small{grid-column:1/-1}.living-details summary{display:flex;justify-content:space-between;align-items:center;gap:16px}.living-details summary strong{font-size:18px}.wellbeing-lines{white-space:pre-line;font-size:14px;line-height:1.65}.build-grid,.town-construction .build-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px}.build-btn,.town-construction .build-btn{display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:left;padding:20px;min-height:0;border-radius:8px}.build-btn strong{font-size:18px}.build-btn small,.build-purpose{font-size:14px;line-height:1.6}.build-btn:only-child{max-width:640px}.building-item{display:flex;flex-direction:column;gap:16px;width:100%;padding:20px;border-radius:8px}.building-item>div{width:100%}.building-item strong{font-size:16px}.building-actions{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap}.building-actions>button{flex:0 1 auto}.building-more{min-width:120px}.building-more>.actions{padding-top:12px}.job-automation{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:16px 0}.job-row,.production-mode{padding:12px 0}.job-stepper{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.job-stepper button{min-width:44px;min-height:44px}.job-stepper .secondary{margin-left:8px}.governor-annexes .storage-grid,.storage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px}.storage-box{min-width:0;padding:16px;border:1px solid var(--line);border-radius:8px}.storage-box h3{margin:0 0 12px}.storage-box button{width:auto;min-height:40px}.storage-box meter{width:100%;height:12px;display:block}.storage-box p{font-size:14px}.storage-box button small{font-size:13px}.economy-asset{border-top:1px solid var(--line);margin-top:16px}.economy-asset summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.economy-asset summary>span{display:grid;gap:4px;min-width:0}.economy-asset summary strong{font-size:16px}.economy-asset summary small{font-size:13px}.asset-stockpile{flex-wrap:wrap;padding:12px 0}.asset-stockpile small{flex-basis:100%;padding-left:30px}.asset-flow-grid{display:grid;grid-template-columns:1fr;gap:16px;padding:12px;border-radius:6px}.asset-flow-grid h4{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;margin:0 0 8px}.asset-flow-grid li{font-size:14px}.asset-flow-grid small{font-size:13px}.governance-page{max-width:760px}.governance-page .grid.two{display:grid;grid-template-columns:1fr;gap:24px}.governance-page section+section{border-top:1px solid var(--line);padding-top:16px}.select-line{display:grid;grid-template-columns:minmax(120px,auto) minmax(0,1fr);gap:12px;align-items:center;margin:12px 0}.military-summary{display:flex;flex-wrap:wrap;gap:12px 24px;padding:16px;background:#1b292b;border-radius:8px;margin-bottom:16px}.troop-recruit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px}.troop-card{padding:16px;border:1px solid var(--line);border-radius:8px}.troop-card small{font-size:14px;line-height:1.6;margin-top:8px}.featured-troop{border:1px solid var(--line);border-radius:8px;padding:0 16px}.featured-troop summary{display:flex;justify-content:space-between;gap:12px}.featured-troop ul{padding-left:20px}.featured-troop p{font-size:14px}.talent-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));align-items:stretch}.talent-card{padding:20px;border-radius:8px;gap:16px}.talent-card .talent-heading strong{font:600 20px/1.4 inherit}.talent-heading small{display:block;margin-top:6px}.talent-card dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.talent-card dl>div:last-child{grid-column:1/-1}.talent-card dt{font-size:13px}.talent-card dd{font-size:16px}.talent-card>.select-line{grid-template-columns:120px minmax(0,1fr)}.talent-card>button{width:auto;justify-self:start}.talent-status{display:grid;gap:6px;text-align:right;font-size:14px}.diplomacy-panel{display:block}.faction-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:16px;margin-top:16px}.diplomacy-faction{display:block;margin:0;padding:20px;border-radius:8px}.diplomacy-faction>.actions button{flex:0 1 auto;min-height:44px}.diplomacy-faction small{font-size:14px}.faction-filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;margin:16px 0}.faction-filters label{display:grid;gap:6px;font-size:14px}.faction-more{margin-top:12px;border-top:1px solid var(--line)}.faction-more>.actions{padding:12px 0}.faction-more .danger-actions{border-top:1px solid var(--line);padding-top:12px}.relation-badge{display:inline-block;padding:3px 10px;font-size:13px;border:1px solid var(--line);border-radius:20px}.relation-hostile{color:#ffb8a5}.relation-ally{color:#b0deb4}.history-filters{display:flex;flex-wrap:wrap;gap:16px;padding:16px;background:#1b292b;border-radius:8px;margin-bottom:16px}.history-filters label{display:flex;align-items:center;gap:8px}.history-filters input[type=number]{width:110px}.history-filters select{width:auto}.history-list .item{display:block;padding:12px 0;border:0;border-bottom:1px solid #46564f;background:transparent}.history-list .item>div{display:grid;grid-template-columns:160px minmax(0,1fr);gap:16px;min-width:0}.history-list .item small{font-size:15px;min-width:0;overflow-wrap:anywhere;word-break:break-word}.history-list .item strong{font-size:14px;color:var(--text-soft)}.history-year-heading{margin:24px 0 8px;font-size:18px}.history-list .important{border-left:3px solid #dec382;padding-left:12px}.history-pager{justify-content:space-between;margin:16px 0;font-size:14px}.history-pager:last-child{border-top:1px solid var(--line);padding-top:16px;color:var(--text-soft)}.fuel-settings{max-width:640px;padding:16px;border:1px solid var(--line);border-radius:8px}.fuel-order{display:flex;justify-content:space-between;gap:16px;padding:8px 0}.fuel-order>span{display:flex;gap:8px}.fuel-order button{min-width:64px;min-height:44px}.settings-panel,.debug-settings,.resignation-panel{max-width:760px}.resignation-panel{border-color:#946a61}.switch-line{gap:16px}.shortcut-list{display:grid;gap:8px;margin:10px 0 18px}.shortcut-list>div{display:grid;grid-template-columns:minmax(180px,auto) minmax(0,1fr);gap:12px;padding:8px 10px;background:#202b2d;border:1px solid #53635b;border-radius:4px}.shortcut-list dt,.shortcut-list dd{margin:0}.shortcut-list dd{color:var(--text-soft)}.shortcut-list kbd{display:inline-block;padding:3px 7px;border:1px solid #78857d;border-radius:4px;background:#151c1e;color:#f3c969;font:600 12px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace}@media(max-width:600px){.shortcut-list>div{grid-template-columns:1fr}}.game-report-log{margin:0}.report{border-radius:8px;padding:0;max-height:none}.report summary{position:sticky;top:0;z-index:1;display:flex;align-items:center;gap:8px;padding:14px;background:#1e292c;border-radius:8px 8px 0 0;color:#ead5a3;font-weight:700;cursor:pointer}.report details[open] summary{border-bottom:1px solid #526157;border-radius:8px 8px 0 0}.report [data-live-report-lines]{flex:1 1 auto;min-height:0;padding:0 14px 12px;overflow:auto;scrollbar-width:thin}.report p{font-size:14px;line-height:1.65;overflow-wrap:anywhere}.info-button,.map-controls button,.map-toolbar button{min-width:44px;min-height:44px}.map-detail{border-radius:8px;padding:20px}.map-detail p,.map-detail small,.map-toolbar small,.map-legend small{font-size:13px}.map-workspace{grid-template-columns:minmax(0,1fr) minmax(280px,360px)}.tree-node-copy small,.tree-state,.tree-tier>span{font-size:13px}.event-overlay{padding:16px}.event-card{width:min(100%,560px);max-height:calc(100dvh - 32px);overflow:auto;border-radius:12px}.event-card-content{padding:24px;min-width:0}.event-card h2{font-size:24px}.event-card p,.event-options small,.event-options span{font-size:14px}.event-options button{min-height:44px;padding:16px;border-radius:8px}.event-actions{position:sticky;bottom:0;padding-top:12px;background:#243134}.tooltip-layer{font-size:14px;max-width:min(360px,calc(100vw - 24px));border-radius:8px}.empty-state{padding:24px;text-align:center;color:var(--text-soft);border:1px dashed var(--line);border-radius:8px}[hidden]{display:none!important}@media(max-width:760px){#app{padding:12px}.menu-hero{padding:24px}.menu-hero h2{font-size:26px}.menu-secondary{flex-wrap:wrap}.menu-secondary button{flex:1 1 100px}.panel{padding:16px}.town-stats,.faction-filters{grid-template-columns:1fr}.sticky-status{gap:4px}.sticky-status .realtime-bar{padding:8px}.decision-stock{padding:6px 8px}.decision-cohesion{font-size:13px}.tabs button{padding-inline:12px}.history-list .item>div{grid-template-columns:1fr;gap:4px}.map-workspace{grid-template-columns:1fr}}@media(max-width:650px){.live-status{flex-basis:100%;padding:4px 0 0;border-left:0;border-top:1px solid #ffffff12}.qualification-next-step{align-items:flex-start;flex-direction:column}.qualification-next-step button{min-height:40px}}@media(max-width:480px){.population-dual{grid-template-columns:1fr 1fr;gap:8px}.population-angle{padding:12px;grid-template-columns:1fr}.population-angle strong{grid-column:auto;grid-row:auto}.population-angle span{font-size:13px}.realtime-bar>div:first-child>b{display:none}.select-line,.talent-card>.select-line{grid-template-columns:1fr}.event-card-content{padding:16px}.fuel-order{gap:8px}.fuel-order button{min-width:44px;padding:8px}.town-stats{gap:12px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}:root{--surface:#243134;--surface-inset:#1b292b;--warning:#e5b965;--success:#a8d6b7}#app{max-width:1600px;padding:24px 32px}small,.muted,.subtitle{font-size:14px}.panel{margin:20px 0;padding:24px}.panel>h2{margin-bottom:16px}button.danger{background:#57373c;border-color:#a47177;color:#ffe1df}button:disabled{opacity:.65}button:disabled:hover{transform:none;filter:none}.decision-population em{font-style:normal;color:var(--warning);white-space:nowrap}.town-stats{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.town-stats>div{min-height:0}#cohesion-details{grid-template-columns:1fr;gap:4px;margin-top:8px}#cohesion-details>small:first-child{color:var(--text-soft)}.living-details summary,.cohesion-details summary{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:0}.living-details summary:after,.cohesion-details summary:after{content:"展开明细 ▾";font-size:14px;color:var(--brass)}.living-details[open] summary:after,.cohesion-details[open] summary:after{content:"收起明细 ▴"}[data-live-city-overview]>p:has(button){display:flex;align-items:center;flex-wrap:wrap;gap:12px}.town-frost-alert{display:flex;flex-wrap:wrap;gap:8px 16px;padding:12px 16px;background:#492b32;border-left:3px solid #dc9997;border-radius:8px}.tabs .frost-tab{background:#64313a;border-color:#ca8b8b;color:#ffe2de}.tabs .frost-tab.active{background:#a24c57;border-color:#f1afab;color:#fff}.event-overlay{padding:24px;background:#081011a8}.event-card,.event-card:has(>.event-card-content:only-child){display:block;width:min(720px,100%);max-height:calc(100dvh - 48px);padding:0;overflow:auto;background:#f4f1e8;color:#27312c;gap:0;border-radius:12px}.event-card-content,.tutorial-event-card .event-card-content{display:block;width:100%;padding:28px 36px;min-width:0}.event-card h2{font-size:28px;margin:12px 0 20px;color:#59451f;word-break:normal}.event-card p,.event-card small,.event-card span{font-size:16px;line-height:1.7;word-break:normal;overflow-wrap:break-word}.event-card .muted{color:#566454;font-size:14px}.event-card-body,.tutorial-event-card .event-card-body{overflow:visible;padding:0}.event-card-content:has(>.event-card-body),.tutorial-event-card .event-card-content{display:flex;flex-direction:column;max-height:calc(100dvh - 50px)}.event-card-content:has(>.event-card-body)>p,.event-card-content:has(>.event-card-body)>h2,.event-actions{flex:none}.event-card-content>.event-card-body,.tutorial-event-card .event-card-body{min-height:0;overflow-y:auto;flex:1 1 auto;padding:0 4px 4px 0}.event-options{gap:12px;margin-top:24px}.event-options button{display:grid;grid-template-columns:minmax(0,1fr);width:100%;padding:16px 20px;white-space:normal;min-height:44px;text-align:left}.event-options strong{font-size:18px;white-space:normal}.event-options button:disabled{opacity:1}.event-actions,.tutorial-event-card .event-actions{position:static;display:flex;flex-wrap:wrap;gap:12px;margin-top:16px;padding:0;background:transparent}.event-actions:empty{display:none}.event-actions button{min-width:140px}.event-illustration{display:none}.existing-building-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch}.existing-building-grid .building-item{padding:20px;gap:12px}.building-title-row{flex-wrap:wrap;align-items:center;gap:10px 16px}.building-heading{gap:4px}.building-heading>small{font-size:14px}.building-modes{margin:0;padding-top:12px;gap:8px}.building-mode{padding:12px;border-radius:8px}.building-mode>summary{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;list-style:none;padding:0;min-height:0}.building-mode>summary::-webkit-details-marker{display:none}.building-mode>summary>span:first-child{font-weight:600;color:var(--text-warm)}.building-mode>summary>span:first-child:before{content:"▸";margin-right:8px;color:var(--brass)}.building-mode[open]>summary>span:first-child:before{content:"▾"}.building-mode>summary>span{margin:0;font-size:14px}.building-mode>summary>.mode-stepper,.mode-stepper{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0;white-space:nowrap}.mode-stepper button{min-height:40px;min-width:40px;padding:6px 10px;flex:none}.mode-stepper b{width:auto;min-width:40px;flex:none}.mode-stepper .stepper-label{margin-right:4px;font-size:14px;color:var(--text-soft)}.building-mode>summary .mode-recipe,.building-mode>summary>[data-live-mode-history]{text-align:left;font-size:14px}.production-diagnostic{margin:10px 0;padding:10px;border:1px solid #455a58;border-left:3px solid #6f9a78;border-radius:5px;background:#101d20;min-width:0}.production-diagnostic.is-blocked{border-left-color:#c58b63;background:#211b18}.production-diagnostic dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin:0}.production-diagnostic dl>div{min-width:0;padding:7px 8px;border:1px solid #344b4d;border-radius:4px;background:#142326}.production-diagnostic dl>div.wide{grid-column:1/-1}.production-diagnostic dt{color:#9eaaa4;font-size:12px}.production-diagnostic dd{margin:3px 0 0;color:#e4d6ae;font-size:14px;line-height:1.55;overflow-wrap:anywhere}.production-diagnostic dd small{display:block;margin-top:3px;color:#aab8b1;font-size:12px;font-weight:400;line-height:1.5}.production-diagnostic .reason strong{color:#efc58f}.production-diagnostic.is-running .reason strong{color:#a9d6b2}.job-row>.production-diagnostic{grid-column:1/-1;width:100%}.existing-building-grid .building-actions{margin-top:auto;padding-top:8px;justify-content:flex-start;align-items:start;gap:12px}.building-actions>button{flex:none}.building-more>summary,.faction-more>summary{padding:8px 12px;min-height:40px;border:1px solid var(--line);border-radius:6px;font-size:14px}.building-more[open]>.actions{padding:8px 0}.talent-table-wrap{margin-top:12px;overflow-x:auto;max-width:100%;border:1px solid #4d5b55;border-radius:6px;background:#172326;overscroll-behavior-inline:contain}.talent-table{width:100%;min-width:1080px;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums}.talent-table caption{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.talent-table th,.talent-table td{padding:11px 10px;text-align:left;vertical-align:top;border-bottom:1px solid #3b4946}.talent-table thead th{background:#243235;color:#d9c999;font-size:13px;font-weight:600;white-space:nowrap}.talent-table tbody tr:hover{background:#213033}.talent-table tbody tr:last-child td{border-bottom:0}.talent-sort-button{display:inline-flex;align-items:center;gap:5px;min-height:32px;padding:4px 2px;border:0;background:none;color:inherit;font:inherit;font-weight:700;cursor:pointer}.talent-sort-button:hover,.talent-sort-button:focus-visible,.talent-sort-button.is-active{color:#f3c969}.talent-sort-arrow{font-size:12px;color:#e6b95f}.talent-name{min-width:180px}.talent-name>strong{display:block;color:#f0d89f;font-size:16px}.talent-name>small,.talent-ability{display:block;margin-top:3px;color:#9eaaa5;line-height:1.45}.talent-name details{margin-top:7px}.talent-name summary{cursor:pointer;color:#d4bd82}.talent-name details p{margin:7px 0 0;color:#b9c2bc;line-height:1.55;min-width:220px;max-width:360px;white-space:normal}.talent-status-cell{min-width:150px;max-width:220px}.talent-status-cell .talent-assignment{display:inline-block;max-width:none;white-space:normal}.talent-active-effects{display:block;margin-top:6px;color:#9fc4a8;line-height:1.45}.talent-number{width:92px}.talent-number>strong{display:block;color:#ead69d;font-size:17px}.talent-number meter{display:block;width:72px;height:7px;margin-top:5px;accent-color:#a8c299}.talent-traits{min-width:170px;max-width:240px}.talent-traits>span{display:inline-block;margin:0 4px 4px 0;padding:4px 7px;background:#354541;color:#f0d79d;border-radius:4px;line-height:1.35}.talent-actions{min-width:240px;display:grid;gap:8px}.talent-actions .select-line{display:grid;gap:5px;margin:0;font-size:13px}.talent-actions select{min-width:200px;min-height:38px}.talent-actions button{width:100%}@media(max-width:760px){.talent-table-wrap{border-radius:4px}.talent-table{min-width:1020px}.talent-table th,.talent-table td{padding:10px 8px}}.troop-card{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.troop-card>button{margin-top:auto}.military-armies>.actions{justify-content:flex-start;gap:12px;margin-top:16px}.faction-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.diplomacy-faction{display:flex;flex-direction:column;gap:12px;padding:20px}.diplomacy-faction>.actions{justify-content:flex-start;margin-top:auto}.diplomacy-faction small{line-height:1.6;margin-top:8px}.faction-affinity{display:grid;grid-template-columns:1fr auto;gap:4px 12px;margin-top:12px;font-size:14px}.faction-affinity meter{grid-column:1/-1;width:100%;height:10px;accent-color:#94b79a}.faction-more{margin-top:0;padding-top:12px}.faction-more .actions{justify-content:flex-start}.relation-neutral{color:#c5d4dc;background:#29383f}.relation-trade,.relation-treaty,.relation-ally{color:#c1e2c8;background:#2c4638;border-color:#789b7e}.relation-armistice{color:#f4daa0;background:#4c422c;border-color:#ad9865}.relation-hostile{color:#ffd3cd;background:#513137;border-color:#c88c8c}.tree-node{width:224px;height:104px;min-height:104px;grid-template-columns:28px minmax(0,1fr);padding:10px;white-space:normal}.tree-node-copy{min-width:0}.tree-node-copy strong{line-height:1.4;white-space:normal}.tree-node-copy small,.tree-state{font-size:13px;line-height:1.4}.tree-branch-label{position:absolute;top:8px;text-align:center;font-size:14px;color:var(--brass);pointer-events:none}.tree-tier{pointer-events:none}.tree-sidebar{max-height:none;position:static;overflow:visible}.tree-inspector button,.queue-title,.tree-prerequisite{white-space:normal}.tree-viewport{height:clamp(420px,55dvh,720px)}.tree-toolbar{font-size:14px}.tree-link.optional{stroke-dasharray:6 5}.frost-trend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px;padding:16px;border-radius:8px}.frost-month{display:grid;grid-template-columns:36px minmax(0,1fr) 64px;align-items:center;gap:8px;font-size:14px}.frost-month meter{width:100%;height:12px;accent-color:#a8c299}.frost-month.current{color:var(--brass);font-weight:600}.frost-month>span:last-child{text-align:right;font-variant-numeric:tabular-nums}@media(max-width:1100px){.talent-cards,.faction-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.existing-building-grid{grid-template-columns:1fr}}@media(max-width:760px){#app{padding:12px}.panel{padding:16px;margin:16px 0}.talent-cards,.faction-grid{grid-template-columns:1fr}.event-overlay{padding:12px}.event-card{max-height:calc(100dvh - 24px)}.event-card-content,.tutorial-event-card .event-card-content{padding:24px}.town-stats{grid-template-columns:1fr}.tree-toolbar{align-items:center}.tree-toolbar>span{max-width:none}}@media(max-width:600px){button{min-height:44px}.event-card h2{font-size:24px}.event-actions{flex-direction:column}.event-actions button{width:100%}.building-title-row>.mode-stepper{flex:1 1 100%}.talent-card .talent-heading{flex-direction:row}.mode-stepper button{min-height:44px;min-width:44px}.tree-viewport{height:420px}.tree-zoom{flex-wrap:wrap}.tree-sidebar{grid-template-columns:minmax(0,1fr)}.frost-trend{grid-template-columns:1fr}}.event-card-body .narrative-quote{margin:14px 0;padding:2px 0 2px 14px;border-left:3px solid #b39a64}.event-card-body .narrative-quote cite{display:block;font-style:normal;font-weight:700;color:#59451f;font-size:14px;letter-spacing:.04em}.event-card-body .narrative-quote p{margin:6px 0 0;color:#3a443c}.cohesion-contributions{margin:0;font-size:14px;font-variant-numeric:tabular-nums}.cohesion-contributions>div{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px solid #56616a}.cohesion-contributions dt{overflow-wrap:anywhere}.cohesion-contributions dd{margin:0;white-space:nowrap}.cohesion-details summary>strong{font-size:28px}.cohesion-details summary>span{font-size:14px;color:var(--text-soft)}#cohesion-details p{margin:6px 0;line-height:1.65}#cohesion-details ul{padding-left:20px;margin:0;overflow-wrap:anywhere}.cohesion-equation{padding:10px;background:var(--surface-inset);border-radius:6px}.build-choice .build-purpose,.build-purpose{white-space:normal;overflow-wrap:anywhere;min-width:0}.map-tile.player-territory>polygon:nth-of-type(2){stroke:#f7d56b;stroke-width:4;paint-order:stroke fill;vector-effect:non-scaling-stroke}.map-tile.player-territory.selected>polygon:nth-of-type(2){stroke:#fff3b0;stroke-width:6}.build-btn .build-purpose{white-space:normal;overflow-wrap:anywhere;min-width:0;max-width:100%}.economy-ledger .storage-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.economy-ledger .storage-box .economy-asset summary{display:grid;grid-template-columns:minmax(120px,1.2fr) repeat(3,minmax(100px,1fr)) auto;align-items:center;gap:16px}.economy-ledger .storage-box .economy-asset .asset-name{grid-column:auto}.economy-ledger .asset-actions{grid-column:5;justify-self:end;display:flex;flex-wrap:nowrap;align-items:center;gap:16px}.economy-ledger .asset-actions .asset-stockpile{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;padding:8px 0;white-space:nowrap}.economy-ledger .asset-stockpile input{width:auto;margin:0}@media(max-width:700px){.economy-ledger .storage-box .economy-asset summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.economy-ledger .storage-box .economy-asset .asset-name{grid-column:1 / 3;grid-row:1}.economy-ledger .asset-actions{grid-column:3;grid-row:1}}.society-factors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0}.society-factors>section{padding:16px;border:1px solid #48544e;border-radius:6px;background:#1f2b2c;min-width:0}.society-factors h3{font-size:14px;margin:0 0 8px;color:#c4c9be}.town-stats .society-factors strong{display:block;font-size:24px;color:#f1d68e;margin:4px 0 14px}.society-factors dl,.society-cohorts{margin:0;font-size:13px;line-height:1.7}.society-factors dl>div,.society-cohorts>div{display:flex;justify-content:space-between;gap:12px;padding:3px 0}.society-factors dd,.society-cohorts dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}.society-factors p,.society-caption{color:#b7beb5;line-height:1.65}.society-equation{padding:12px 16px;background:#384037;border-left:3px solid #b9a166;line-height:1.8}.society-equation span{display:block;color:#bec5bb}.society-cohorts>div{border-bottom:1px solid #445049;flex-wrap:wrap}.production-settings{background:transparent;border:0;box-shadow:none}.production-settings h2{font-size:20px;letter-spacing:0}.production-settings h2>span{font-size:14px;font-weight:400;color:var(--text-soft)}.production-settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:20px 32px;max-width:1120px}.production-setting{border:0;border-top:1px solid #445049;margin:0;padding:8px 0 0;min-width:0}.production-setting legend{padding:0 10px 0 0;font-size:15px;font-weight:600}.production-setting legend>span{font-weight:400;font-size:13px;color:var(--text-soft);font-variant-numeric:tabular-nums}.production-setting-modes{display:grid;gap:2px}.production-setting .production-setting-mode{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:44px;padding:6px 8px;cursor:pointer;border-radius:4px}.production-setting-mode:hover,.production-setting-mode:focus-within{background:#35433e}.production-setting-name{min-width:0;overflow-wrap:anywhere;font-size:14px}.production-setting-name small{display:block;font-size:12px;color:var(--text-soft)}.production-setting-status{font-size:12px;color:var(--text-soft);font-variant-numeric:tabular-nums;white-space:nowrap}.production-setting-mode.is-disabled .production-setting-name{color:var(--text-soft)}.production-setting input[type=checkbox]{margin:0;width:18px;height:18px;accent-color:#a8c299;cursor:pointer}@media(max-width:960px){.society-factors{grid-template-columns:1fr}.society-factors>section{padding:12px}.society-factors dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px}}@media(max-width:480px){.society-factors dl{grid-template-columns:1fr}.society-cohorts dd{text-align:left}}:root{--density-panel-pad:16px;--density-gap:12px;--density-copy:14px;--density-small:12px}.app-page{container-type:inline-size}@media(min-width:1101px){#app:has(.workspace-layout){padding:14px 18px}.workspace-main>header{margin-bottom:8px}.workspace-main>header h1{font-size:1.35rem}.workspace-main>header .subtitle{font-size:12px}.sticky-status{gap:5px;padding:4px 0}.sticky-status .realtime-bar{padding:6px 10px;gap:8px}.realtime-bar .speed-group button{min-width:36px;min-height:36px;padding:4px 8px}.speed-group [data-pause]{min-width:60px;margin-left:4px}.decision-stock{padding:6px 10px;font-size:13px}.decision-summary,.decision-cohesion{font-size:12px}.tabs{gap:4px;padding:2px 0 4px}.tabs button{min-height:36px;padding:5px 11px;font-size:13px}.panel{padding:var(--density-panel-pad);margin:12px 0;border-radius:8px;box-shadow:0 2px 8px #0002}.panel>h2,.section-heading h2{font-size:20px;margin-bottom:10px}h3{font-size:16px}p{margin:8px 0;line-height:1.5}small,.muted,.subtitle{font-size:var(--density-small)}.stats>div{padding:10px;gap:4px}.stats>div strong{font-size:20px}.app-page button:not(.tree-node):not(.build-btn){min-height:36px;padding:5px 10px}.app-page input:not([type=checkbox]),.app-page select{min-height:36px;padding:7px 9px}}.town-summary-grid,.town-dashboard{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--density-gap);align-items:start}.town-summary-grid>*,.town-dashboard>*{min-width:0}.town-summary-grid>.panel,.town-summary-panel{margin:0}.town-dashboard-primary,.town-dashboard-secondary{display:grid;gap:var(--density-gap);align-content:start;min-width:0}.town-dashboard .panel,.town-dashboard .qualification-training{margin:0}@container (min-width:900px){.town-summary-grid{grid-template-columns:minmax(240px,.48fr) minmax(0,1.8fr)}.town-summary-grid>[data-live-city-overview]{grid-column:1;grid-row:1}.town-frost-alert{grid-column:1/-1;grid-row:2}.town-summary-panel{grid-column:2;grid-row:1}.town-dashboard{grid-template-columns:minmax(0,2fr) minmax(290px,.75fr);height:auto}.town-dashboard-primary,.town-dashboard-secondary{min-width:0}.town-dashboard-primary>.panel>h2,.town-dashboard-primary .section-heading,.town-dashboard-secondary>.panel>h2,.town-dashboard-secondary .section-heading{margin-top:0;padding:8px 0 6px;border-bottom:1px solid #52615b66}.town-dashboard:has(.town-dashboard-secondary:empty){grid-template-columns:minmax(0,1fr)}.town-dashboard:has(.town-dashboard-secondary:empty) .town-dashboard-primary{grid-column:1/-1;grid-row:1}.town-dashboard-primary{grid-column:1;grid-row:1}.town-dashboard-secondary{grid-column:2;grid-row:1}.town-construction .build-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.town-construction .build-btn{padding:12px;gap:6px}.build-purpose{font-size:13px;line-height:1.45}.existing-building-grid{gap:10px}.existing-building-grid .building-item{padding:14px;gap:8px}.existing-building-grid .governor-building{grid-column:auto;min-width:0}.governor-building .annex-grid{grid-template-columns:minmax(0,1fr)}}.qualification-population{grid-template-columns:repeat(auto-fit,minmax(108px,1fr));gap:6px;padding:8px 0 10px}.qualification-population>div{padding:7px 8px;gap:2px}.qualification-population strong{font-size:16px}.qualification-population small{font-size:11px;line-height:1.35}.training-lanes{gap:10px;margin-top:8px}.training-lane{padding:10px;gap:8px}.training-lane-locked{padding:7px 10px}.training-lane-locked p{margin:2px 0 0}.training-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-width:none}.training-controls button{white-space:normal}.training-controls input,.training-controls select,.training-controls button{min-height:36px}.training-count-stepper{grid-template-columns:32px minmax(44px,1fr) 32px;gap:3px}.training-lane-details{gap:8px}.training-project{padding:5px 0}.economy-ledger{padding:12px}.economy-ledger .storage-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin:12px 0}.economy-ledger .storage-box{padding:10px;border-radius:5px}.economy-ledger .storage-box h3{font-size:15px;margin-bottom:5px}.economy-ledger .storage-box p{margin:4px 0}.economy-ledger .storage-grid{--asset-actions-width:56px}.economy-ledger .storage-grid[data-stockpiling=true]{--asset-actions-width:124px}.economy-ledger .storage-box{--asset-columns:minmax(90px,1.2fr) minmax(48px,.7fr) minmax(80px,1fr) minmax(48px,.7fr) var(--asset-actions-width);container-type:inline-size}.economy-ledger .economy-asset-columns{display:grid;grid-template-columns:var(--asset-columns);gap:6px;padding:6px;border-bottom:1px solid #53635b88;color:#b9c2b6;font-size:11px;line-height:1.3;font-variant-numeric:tabular-nums}.economy-ledger .economy-asset-columns span:not(:first-child){padding-left:6px;border-left:1px solid #4b5a5450}.economy-ledger .economy-asset-columns .asset-sort{display:flex;align-items:center;gap:4px;justify-content:flex-start;min-height:0;padding:2px 4px;border:0;border-radius:2px;background:none;color:inherit;font-size:11px;font-variant-numeric:tabular-nums;text-align:left}.economy-ledger .economy-asset-columns .asset-sort:not(:first-child){border-left:1px solid #4b5a5450}.economy-ledger .economy-asset-columns .asset-sort:hover{background:#ffffff10;color:#e8e2d2}.economy-ledger .economy-asset-columns .asset-sort[aria-pressed=true]{color:#f0d584}.economy-ledger .economy-asset-columns .asset-sort-mark{font-size:9px;line-height:1}.economy-ledger .storage-box .economy-asset summary{display:grid;grid-template-columns:var(--asset-columns);align-items:center;gap:6px;padding:5px 6px}.economy-ledger .storage-box .economy-asset summary span>small{display:none}.economy-ledger .storage-box .economy-asset summary strong{font-size:13px;white-space:nowrap}.economy-ledger .storage-box .economy-asset summary>span+span{padding-left:6px;border-left:1px solid #4b5a5450}.economy-ledger .asset-actions{gap:12px}.economy-ledger .asset-stockpile{padding:4px 0;font-size:12px}.growth-action-hint{display:inline-flex}.growth-action-hint button:disabled{pointer-events:none}@container (max-width:449px){.economy-ledger .economy-asset-columns{display:none}.economy-ledger .storage-box .economy-asset summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px}.economy-ledger .storage-box .economy-asset summary .asset-name{grid-column:1/-1;grid-row:auto}.economy-ledger .storage-box .economy-asset summary span>small{display:block;font-size:11px}.economy-ledger .asset-actions{grid-column:1/-1;grid-row:auto;justify-self:start}}.economy-ledger .asset-flow-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:8px 6px}.economy-ledger .asset-flow-grid h4{margin:0 0 5px;font-size:13px}.economy-ledger .asset-flow-grid li{padding:4px 0;font-size:12px}.qualification-table-wrap{max-height:clamp(180px,28dvh,320px);overflow:auto;overscroll-behavior:auto}.value-chain{padding:12px}.value-chain p{margin:6px 0}.value-chain details{margin:6px 0}@media(min-width:1000px){.economy-ledger .storage-box{height:auto;max-height:none;overflow:visible}.economy-ledger .storage-box h3{position:static;background:transparent;padding-bottom:5px}}@media(min-width:1000px)and (max-width:1499px){.economy-ledger .storage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:999px){.economy-ledger .storage-box{height:auto;overflow:visible}}@media(min-width:1500px){.economy-ledger .storage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.economy-ledger .economy-asset-columns{display:none}.town-dashboard .storage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.economy-ledger .storage-box .economy-asset summary{grid-template-columns:minmax(110px,1.2fr) repeat(3,minmax(0,1fr)) auto}.economy-ledger .storage-box .economy-asset summary span>small{display:block;font-size:11px}.economy-ledger .asset-flow-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:600px){.town-dashboard .storage-grid,.economy-ledger .storage-grid{grid-template-columns:minmax(0,1fr)}.economy-ledger .storage-box .economy-asset summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px}.economy-ledger .storage-box .economy-asset summary .asset-name{grid-column:1/-1}.economy-ledger .asset-actions{grid-column:1/-1;justify-self:start}.training-controls input,.training-controls select,.training-controls button{min-height:44px}.town-summary-grid,.town-dashboard{gap:8px}}body{background:radial-gradient(900px 420px at 58% -12%,#4b3b2538,transparent 68%),radial-gradient(800px 520px at 0% 45%,#15313a2e,transparent 72%),#071013}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:repeating-linear-gradient(135deg,#ffffff02 0 1px,transparent 1px 9px);opacity:.35}#app:has(.workspace-layout){max-width:1880px;padding:16px 20px}.workspace-main>header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:2px 0 12px;border-bottom:1px solid #8d75452e}.workspace-main>header>div:first-child{display:block;min-width:0}.workspace-main>header h1{font-size:30px;margin:0 0 2px;color:#ead6a5;text-shadow:0 1px 0 #000}.workspace-main>header .subtitle{font-size:12px;color:#93a39f;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workspace-main>header .year{display:flex;align-items:center;gap:8px;color:#d7bd7d}.workspace-main>header .year>b{font-size:12px;letter-spacing:.06em;color:#c9b477}.workspace-main>header .back-menu{background:#111c21;border-color:#405158;color:#cfd7d1;min-height:34px}.sticky-status{gap:5px;padding:6px 0 4px;background:#071013ef;border-bottom:1px solid #72807124}.sticky-status .realtime-bar{background:linear-gradient(180deg,#18242a,#101a1f);border:1px solid #405159;border-left:3px solid #c9a557;border-radius:3px;box-shadow:inset 0 1px #ffffff0b,0 5px 14px #0003}.realtime-bar b{color:#d8c083;letter-spacing:.08em}.clock{color:#f0d584}.decision-stock{background:linear-gradient(180deg,#121e23,#0d171b);border:1px solid #34474e;border-radius:3px;box-shadow:inset 0 1px #ffffff08}.decision-stock,.decision-summary,.decision-inventory,.decision-cohesion{color:#c9d3cd}.decision-stock b{color:#f2d386}.tabs{gap:4px;padding:4px;background:#081115;border:1px solid #2b3b40;border-radius:3px;box-shadow:inset 0 1px #ffffff08}.tabs button{position:relative;min-width:142px;min-height:52px;padding:7px 12px 8px;text-align:left;background:linear-gradient(180deg,#111d22,#0b1519);border:1px solid transparent;border-bottom:2px solid #30434a;border-radius:2px;color:#c7d0cc;font-size:14px;letter-spacing:.03em;box-shadow:inset 0 1px #ffffff08}.tabs button:after{display:block;margin-top:3px;color:#82928d;font-size:10px;line-height:1.2;letter-spacing:.02em}.tabs button:hover{background:linear-gradient(180deg,#1b2b31,#101d22);border-color:#5b6a67;color:#f2e4c2}.tabs button.active{background:linear-gradient(180deg,#26312e,#18231f);border-color:#c9a75c;border-bottom-color:#efc96f;color:#ffe8ae;box-shadow:inset 0 0 0 1px #f4d98b1c,0 0 14px #c9a5571a;transform:none}.tabs button.active:after{color:#d6bd80}.tabs [data-tab=town]:after{content:"建造与派工"}.tabs [data-tab=map]:after{content:"探索与扩张"}.tabs [data-tab=tech]:after{content:"研究与知识"}.tabs [data-tab=economy]:after{content:"生产与账本"}.tabs [data-tab=faith]:after{content:"传统与神恩"}.tabs [data-tab=governance]:after{content:"移民与治理"}.tabs [data-tab=frost]:after{content:"供热与寒潮"}.tabs [data-tab=investigation]:after{content:"调查线索"}.tabs [data-tab=military]:after{content:"军队与编制"}.tabs [data-tab=talents]:after{content:"名册与任用"}.tabs [data-tab=trade]:after{content:"商路与订单"}.tabs [data-tab=diplomacy]:after{content:"邦交与条约"}.tabs [data-tab=history]:after{content:"纪年与记录"}.tabs [data-tab=settings]:after{content:"存档与导出"}.app-page{padding-top:12px}.panel{background:linear-gradient(180deg,#101c21f2,#0b1519f2);border:1px solid #33454b;border-radius:4px;box-shadow:0 10px 26px #0004,inset 0 1px #ffffff08}.panel>h2,.section-heading h2{font-family:Georgia,Songti SC,serif;color:#ead5a3;letter-spacing:.07em}.panel>h2:after,.section-heading h2:after{content:"";display:block;width:42px;height:1px;margin-top:7px;background:linear-gradient(90deg,#d2ae5f,transparent)}.section-heading{border-bottom:1px solid #6f654829;padding-bottom:8px}.town-summary-grid>[data-live-city-overview]{background:radial-gradient(360px 120px at 20% 0,#7d673529,transparent 72%),linear-gradient(180deg,#132126,#0d181c);border-color:#8c7446}.town-summary-grid>[data-live-city-overview] h2{font-size:26px;color:#f0d99d}.town-summary-grid>[data-live-city-overview] p{color:#bcc9c2}.town-summary-panel>.panel{height:100%}.population-angle,.stats>div,.building-mode,.training-lane,.storage-box,.economy-asset,.tech-card{border-color:#3f5258!important;background:linear-gradient(180deg,#142126,#0e191d)!important;box-shadow:inset 0 1px #ffffff08,0 4px 12px #0002;border-radius:3px!important}.population-angle small,.stats small{color:#94a49f}.population-angle strong,.stats strong{color:#f0d27f}.stats>div+.stats>div{border-left:1px solid #5e694e3d}.build-btn,.building-item,.town-construction .build-btn{background:linear-gradient(180deg,#1a292c,#111d20);border-color:#51635d;border-radius:2px;box-shadow:inset 0 1px #ffffff10;color:#e9e3d2}.build-btn:hover:not(:disabled),.building-item:hover{border-color:#d1ae62;background:linear-gradient(180deg,#263630,#162521);box-shadow:0 0 0 1px #d1ae6220,0 8px 20px #0003}.build-btn strong{color:#f1d58f;font-family:Georgia,Songti SC,serif;letter-spacing:.04em}.build-btn small,.build-purpose{color:#a9b6ae}button:not(:disabled){text-shadow:0 1px #000}.app-page button:not(.tree-node):not(.build-btn){background:linear-gradient(180deg,#1d2d31,#152226);border-color:#475c62;border-radius:3px;color:#e8e2d2;box-shadow:inset 0 1px #ffffff0b}.app-page button:hover:not(:disabled){border-color:#c7a65e;color:#ffe9b1}input:not([type=checkbox]),select{background:#0b1519;border:1px solid #41555c;color:#e8e2d2;border-radius:3px}input:focus,select:focus{border-color:#d0ad62;box-shadow:0 0 0 2px #d0ad6222;outline:none}.storage-box h3,.jobs-panel h3,.qualification-training h2{color:#e7d19a}.meter,progress{accent-color:#c8a85d}.report-sidebar .game-report-log>summary{color:#dfca96;font-family:Georgia,Songti SC,serif;letter-spacing:.08em}.report-sidebar .report{background:linear-gradient(180deg,#101c21,#0c161a);border-color:#33464c;border-radius:3px}.report-sidebar .report p{border-bottom-color:#5c674b29}.narration,.milestone-text{color:#d8cfa8}.warning-text{color:#ecc477}.exploration-text{color:#7fd49a}@media(max-width:900px){.workspace-main>header{grid-template-columns:minmax(0,1fr) auto}.tabs button{min-width:118px;min-height:48px}.workspace-main>header h1{font-size:24px}.workspace-main>header .subtitle{font-size:11px}}@media(max-width:600px){.workspace-main>header{grid-template-columns:1fr;gap:6px}.workspace-main>header .year{justify-content:flex-start}.workspace-main>header .subtitle{white-space:normal}.tabs button{min-width:112px}.sticky-status .speed-group{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;width:100%}.realtime-bar .speed-group button,.speed-group [data-pause]{min-width:0;width:100%;margin-left:0;padding:5px 2px}}@media(min-width:1000px)and (max-width:1279px){#app:has(.workspace-layout){max-width:100%;padding:12px}.workspace-layout{grid-template-columns:216px minmax(0,1fr);gap:12px}.workspace-main>header{padding-bottom:8px}.workspace-main>header h1{font-size:26px}.workspace-main>header .subtitle{font-size:11px}.tabs button{min-width:120px;min-height:46px;padding:6px 9px}.tabs button:after{font-size:9px}.panel{padding:14px;margin:10px 0}.report-sidebar .report p{font-size:12px}}@media(min-width:2200px){:root{font-size:18px}#app:has(.workspace-layout){max-width:min(96vw,3600px);padding:clamp(20px,1vw,32px)}.workspace-layout{grid-template-columns:clamp(280px,13vw,420px) minmax(0,1fr);gap:24px}.workspace-main>header h1{font-size:clamp(32px,1.6vw,46px)}.workspace-main>header .subtitle{font-size:clamp(13px,.55vw,17px)}.sticky-status .realtime-bar{padding:10px 16px}.tabs button{min-width:clamp(160px,7vw,220px);min-height:64px;font-size:16px}.tabs button:after{font-size:12px}.panel{padding:clamp(18px,.7vw,28px);margin:16px 0}.panel>h2,.section-heading h2{font-size:clamp(22px,1.2vw,30px)}.stats>div{padding:16px}.stats>div strong{font-size:28px}.population-angle strong{font-size:30px}.town-dashboard{height:auto}.town-construction .build-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.economy-ledger .storage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tree-viewport{height:clamp(720px,42dvh,1000px)}}@media(min-width:3200px){:root{font-size:30px}#app:has(.workspace-layout){max-width:3600px;padding:24px 32px}.workspace-layout{grid-template-columns:420px minmax(0,1fr);gap:28px}.workspace-main>header h1{font-size:54px}.workspace-main>header .subtitle{font-size:20px}.realtime-bar b,.decision-stock,.decision-summary,.decision-cohesion{font-size:20px}.realtime-bar .speed-group button{min-width:58px;min-height:58px;font-size:20px}.speed-group [data-pause]{min-width:96px}.tabs button{min-width:250px;min-height:88px;font-size:22px;padding:12px 18px}.tabs button:after{font-size:15px}.panel{padding:30px;margin:22px 0;border-radius:6px}.panel>h2,.section-heading h2{font-size:36px}.panel p,.panel small,.panel li{font-size:20px}.stats>div{padding:22px}.stats>div strong{font-size:40px}.population-angle strong{font-size:42px}.town-dashboard{height:auto}.town-construction .build-grid{grid-template-columns:repeat(auto-fill,minmax(360px,1fr))}.build-btn strong{font-size:26px}.build-btn small{font-size:18px}.economy-ledger .storage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.economy-ledger .storage-box{height:auto;max-height:none;overflow:visible}.tree-viewport{height:clamp(950px,46dvh,1450px)}.tree-node-copy strong{font-size:20px}.tree-node-copy small,.tree-state{font-size:16px}.report-sidebar .report h2{font-size:22px}.report-sidebar .report p{font-size:19px;line-height:1.55}}@media(min-width:3800px){#app:has(.workspace-layout){max-width:3600px}}.app-page>.value-chain{margin:22px 0 0;border-style:dashed;border-color:#59656a;background:linear-gradient(180deg,#0d171b,#0a1215);opacity:.94}.value-chain-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:0 0 10px;border-bottom:1px solid #52626a}.value-chain-heading h2{margin:4px 0 0;font-size:22px;color:#d8c9a2;letter-spacing:.04em}.value-chain-heading>small{color:#8e9b96;font-size:12px;white-space:nowrap}.value-chain-summary{margin:10px 0 4px;color:#d5c28d;font-size:13px}.value-chain-note{max-width:1100px;color:#8e9b96;font-size:12px}.value-chain-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:14px 0 6px}.value-chain-section-heading h3{margin:0;color:#bfc9c3;font-size:14px}.value-chain-section-heading span{color:#7f918d;font-size:11px}.value-chain [data-value-score]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:12px 0}.value-chain [data-value-score] p{margin:0;padding:7px 9px;background:#111d21;border-left:2px solid #6f674c;color:#b9c4bd;font-size:12px}.value-chain details{margin:8px 0;border:1px solid #34464c;background:#0b1519}.value-chain details>summary{padding:10px 12px;color:#d8c58d;background:#111d21}.value-chain details>summary::marker{color:#d8c58d}.value-chain .value-chain-table-scroll{margin:8px;border-color:#3e5057}@media(max-width:900px){.value-chain [data-value-score]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.value-chain [data-value-score]{grid-template-columns:minmax(0,1fr)}}@media(max-width:3199px){.tabs button{min-width:116px;min-height:44px;padding:5px 9px}.tabs button:after{font-size:9px}}.map-viewport{height:clamp(560px,72dvh,900px);min-height:560px}.map-panel{overflow:visible}.map-canvas{will-change:transform;transform-origin:0 0}.tree-node{width:176px;height:92px;min-height:92px;padding:8px;gap:6px}.tree-node-copy strong{font-size:15px}.tree-node-copy small,.tree-state{font-size:12px}@media(min-width:1000px){.tech-workspace{grid-template-columns:minmax(0,1fr);gap:14px}.tech-workspace .tree-sidebar{position:static;max-height:none;overflow:visible;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:0}.tech-workspace .tree-sidebar .tech-card{grid-column:1/-1}.tech-workspace .tree-sidebar .research-project,.tech-workspace .tree-sidebar .research-queue{min-width:0}.tech-workspace .tech-detail-rail .tech-methods{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.tech-workspace .tech-detail-rail .tech-methods li{min-height:42px;padding:8px 9px;align-content:center;font-size:.75rem;line-height:1.35}.tech-workspace .tree-viewport{height:clamp(560px,62dvh,900px)}}@media(max-width:999px){.tech-workspace .tree-sidebar{grid-template-columns:minmax(0,1fr)}.tech-workspace .tree-sidebar .tech-card{grid-column:auto}.tech-workspace .tree-viewport{height:480px}}@container (max-width:520px){.tech-panel .tech-workspace .tech-detail-rail .tech-methods{grid-template-columns:minmax(0,1fr)}}@media(min-width:3200px){.map-viewport{height:clamp(900px,58dvh,1300px);min-height:900px}.tabs button{min-width:168px;min-height:54px}.tech-workspace .tree-viewport{height:clamp(900px,52dvh,1400px)}.tech-workspace .tech-detail-rail .tech-methods{grid-template-columns:repeat(2,minmax(0,1fr))}}.app-page>.treasury-panel{margin:14px 0 0;padding:12px;border-color:#9d844c;background:radial-gradient(500px 120px at 10% 0,#8a713526,transparent 72%),linear-gradient(180deg,#142126,#0d181c)}.app-page>.treasury-panel>h3{margin:0 0 6px;color:#f0d68d;font-size:16px}.app-page>.treasury-panel .economy-asset{width:100%;max-width:none}.map-workspace{grid-template-columns:minmax(0,1fr);gap:12px}.map-detail{margin-top:0}@media(min-width:1000px){.map-viewport{height:clamp(640px,72dvh,900px)}}@media(min-width:3200px){.map-viewport{height:clamp(1000px,58dvh,1400px);min-height:1000px}}.town-overview-panel{padding:18px;margin:0 0 14px;border-color:#b99755;background:radial-gradient(560px 180px at 12% 0,#8a713526,transparent 72%),linear-gradient(180deg,#152329,#0d171c);box-shadow:inset 0 1px #ffffff0b,0 12px 30px #0004}.town-overview-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:0 0 14px;border-bottom:1px solid #8c744655}.town-overview-heading h2{margin:4px 0 0;color:#f0d99d;font-family:Georgia,Songti SC,serif;font-size:26px;letter-spacing:.06em}.town-population-disclosure{min-width:min(100%,330px);border:1px solid #9d844c;background:linear-gradient(180deg,#19292d,#101c21);border-radius:3px}.town-population-disclosure>summary{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:3px 14px;align-items:center;padding:10px 12px;cursor:pointer;list-style-position:inside}.town-population-label{color:#aebbb3;font-size:12px;letter-spacing:.03em}.town-population-disclosure summary strong{color:#f1d58b;font-size:22px;font-variant-numeric:tabular-nums;text-align:right}.town-population-disclosure summary strong b{font-weight:700}.town-population-disclosure summary strong em{font-size:14px;color:#c7d3c9}.town-disclosure-hint{grid-column:1/-1;color:#8e9b96;font-size:11px}.town-population-disclosure[open] .town-disclosure-hint{color:#d0b779}.town-housing-details{padding:10px 12px 12px;border-top:1px solid #52626a;background:#0b1519}.town-housing-row{display:grid;grid-template-columns:minmax(72px,1fr) auto auto;gap:10px;align-items:baseline;padding:5px 0;border-top:1px solid #49595d55;font-size:12px}.town-housing-row:first-child{border-top:0}.town-housing-row strong{color:#d9cba8}.town-housing-row b{color:#f0d58b;font-variant-numeric:tabular-nums}.town-housing-row em{color:#9fbd9f;font-style:normal;min-width:66px;text-align:right}.town-housing-warmth{display:flex;justify-content:space-between;gap:12px;margin:8px 0 4px;padding-top:7px;border-top:1px solid #7f6c4655;color:#b8c7bd;font-size:12px}.town-housing-warmth b{color:#9cccae}.town-housing-next{margin:4px 0 0;color:#b8c7bd;font-size:12px}.town-housing-next b{color:#f0d58b}.town-housing-next small{display:block;margin-top:2px;color:#8e9b96}.town-overview-panel>.town-stats{margin-top:12px}.town-frost-alert{margin:0 0 12px}@media(max-width:700px){.town-overview-panel{padding:13px}.town-overview-heading{display:grid;gap:10px}.town-overview-heading h2{font-size:23px}.town-population-disclosure{min-width:0}.town-overview-panel .town-stats{grid-template-columns:minmax(0,1fr)}.town-housing-row{grid-template-columns:minmax(64px,1fr) auto;gap:6px 10px}.town-housing-row em{grid-column:2;min-width:0}}.town-construction .build-btn.is-unavailable,.town-construction .build-btn.is-unavailable:disabled{opacity:.52;color:#8e9994;border-color:#3f4c4a!important;background:linear-gradient(180deg,#182326,#111a1d)!important;box-shadow:none;filter:grayscale(.55) brightness(.74)}.town-construction .build-btn.is-unavailable strong,.town-construction .build-btn.is-unavailable small,.town-construction .build-btn.is-unavailable .build-purpose{color:#87938e}.frost-housing-warmth{margin:10px 0;padding:10px;border-left:3px solid #7f9d86;background:#142126}.frost-housing-warmth h4{margin:0 0 7px;color:#d8c9a2;font-size:13px}.frost-housing-warmth .frost-breakdown{margin:0}.frost-housing-warmth p{margin:8px 0 0;color:#aebbb3;font-size:12px}.frost-housing-warmth p strong{color:#9cccae}.town-overview-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px;align-items:start}.town-metric-card{min-width:0;min-height:148px;padding:10px;border:1px solid #3f5258;border-radius:3px;background:linear-gradient(180deg,#142126,#0e191d);box-shadow:inset 0 1px #ffffff08,0 4px 12px #0002}.town-metric-card>.town-population-disclosure{width:100%;min-width:0;border:0;background:transparent}.town-metric-card>.town-population-disclosure>summary{padding:0;gap:2px 8px}.town-metric-card summary small,.town-metric-card .town-population-label{white-space:nowrap;font-size:11px;line-height:1.35}.town-metric-card summary strong{font-size:19px;line-height:1.25}.town-metric-card .town-population-disclosure summary strong{font-size:18px;white-space:nowrap}.town-metric-card>.cohesion-details>summary>span,.town-metric-card>.living-details>summary>span,.town-metric-card>.migration-details>summary>span{font-size:11px;line-height:1.35;white-space:nowrap}.town-metric-card>.town-population-disclosure .town-housing-details{margin-top:10px}.town-metric-card>.cohesion-details,.town-metric-card>.living-details,.town-metric-card>.migration-details{height:100%;margin:0}.town-metric-card>.cohesion-details>summary,.town-metric-card>.living-details>summary,.town-metric-card>.migration-details>summary{display:grid;gap:7px;list-style:none;padding:0}.town-metric-card>.cohesion-details>summary::-webkit-details-marker,.town-metric-card>.living-details>summary::-webkit-details-marker,.town-metric-card>.migration-details>summary::-webkit-details-marker{display:none}.town-metric-card>.cohesion-details>summary:after,.town-metric-card>.living-details>summary:after,.town-metric-card>.migration-details>summary:after{content:"展开明细 ▾";color:#dec382;font-size:12px}.town-metric-card>.cohesion-details[open]>summary:after,.town-metric-card>.living-details[open]>summary:after,.town-metric-card>.migration-details[open]>summary:after{content:"收起明细 ▴"}@media(max-width:800px){.town-overview-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.town-overview-metrics{grid-template-columns:minmax(0,1fr)}}.town-overview-metrics .town-metric-card{min-height:168px;padding:14px}.town-metric-card>.town-population-disclosure,.town-metric-card>.cohesion-details,.town-metric-card>.living-details,.town-metric-card>.migration-details{height:100%;margin:0;min-width:0;border:0;background:transparent}.town-metric-card>.town-population-disclosure>summary,.town-metric-card>.cohesion-details>summary,.town-metric-card>.living-details>summary,.town-metric-card>.migration-details>summary{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;list-style:none;padding:0}.town-metric-card summary::-webkit-details-marker{display:none}.town-metric-card summary small,.town-metric-card .town-population-label{white-space:normal;font-size:13px;line-height:1.4;color:#aebbb3}.town-metric-card summary strong{font-size:26px;line-height:1.2;color:#f1d58b;text-align:left}.town-metric-card .town-population-disclosure summary strong{font-size:26px;white-space:nowrap}.town-metric-card .town-population-disclosure summary strong em{font-size:15px}.town-metric-card>.cohesion-details>summary>span,.town-metric-card>.living-details>summary>span,.town-metric-card>.migration-details>summary>span,.town-metric-card>.town-population-disclosure>summary>span{font-size:13px;line-height:1.4;white-space:normal;color:#9faaa3}.town-metric-card>.cohesion-details>summary:after,.town-metric-card>.living-details>summary:after,.town-metric-card>.migration-details>summary:after,.town-metric-card>.town-population-disclosure>summary:after{content:"展开明细 ▾";color:#dec382;font-size:13px}.town-metric-card>.cohesion-details[open]>summary:after,.town-metric-card>.living-details[open]>summary:after,.town-metric-card>.migration-details[open]>summary:after,.town-metric-card>.town-population-disclosure[open]>summary:after{content:"收起明细 ▴"}.town-metric-card>.town-population-disclosure .town-housing-details{margin:10px 0 0;padding-top:10px;border-top:1px solid #52626a;background:transparent}.town-metric-card .town-housing-list>div{padding:5px 0;border-bottom:1px solid #49595d55;font-size:13px}.town-metric-card .town-housing-list>div:last-child{border-bottom:0}.town-metric-card .town-housing-list dt{color:#d9cba8}.town-metric-card .town-housing-list dd{color:#f0d58b}.tech-research-strip{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(0,1.6fr);gap:12px;margin:12px 0 14px;padding:12px;border:1px solid #625d4d;background:linear-gradient(180deg,#1b2527,#151e20);box-shadow:inset 0 1px #ffffff08}.research-project{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:10px;border:1px solid #6d705f;border-radius:3px;background:linear-gradient(135deg,#2b3738,#202a2c)}.research-project .tree-emblem{width:38px;height:42px;font-size:22px}.research-project-copy{display:grid;gap:4px;min-width:0}.research-project-copy strong{color:#e5d5ad;font-family:Georgia,Songti SC,serif;font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.research-project progress{width:100%;height:12px;accent-color:#d1ad62}.research-project-copy small{color:#aebbb3;font-size:11px}.research-project>button{min-height:32px;padding:4px 8px;align-self:center}.research-project.idle{grid-template-columns:44px minmax(0,1fr);border-style:dashed}.tech-queue-rail{min-width:0;padding:2px 0}.tech-queue-rail .section-heading{padding:0 0 7px;border-bottom:1px solid #52615b66}.tech-queue-cards{display:flex;gap:8px;overflow-x:auto;padding:8px 2px 5px;scrollbar-width:thin}.tech-queue-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;flex:0 0 230px;min-width:230px;padding:8px;border:1px solid #68705f;border-radius:3px;background:linear-gradient(150deg,#354145,#263034);box-shadow:0 4px 10px #0005}.queue-tech-main{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:7px;min-width:0;padding:0;border:0;background:transparent;text-align:left}.queue-tech-main .tree-emblem{width:28px;height:32px;font-size:17px}.queue-order{position:absolute;left:4px;top:3px;color:#d6bd80;font-size:11px;font-family:Georgia,serif}.queue-tech-card .tree-node-copy{gap:2px}.queue-tech-card .tree-node-copy strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.queue-tech-card .tree-node-copy small,.queue-tech-card .tree-state{font-size:10px}.queue-tech-card .queue-controls{display:grid;gap:2px}.queue-tech-card .queue-controls button{min-width:24px;min-height:25px;padding:1px 4px;font-size:11px}.tech-queue-rail>small{display:block;color:#8e9b96;font-size:11px}.tech-workspace.has-detail{grid-template-columns:minmax(0,1fr) minmax(320px,360px);gap:14px;align-items:start}.tech-workspace.no-detail{grid-template-columns:minmax(0,1fr)}.tech-workspace.has-detail .tree-sidebar.tech-detail-rail{display:block;position:sticky;top:12px;max-height:calc(100dvh - 24px);overflow:auto;scrollbar-width:thin}.tech-detail-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 0 8px;border-bottom:1px solid #52615b66}.tech-detail-heading>button{min-width:32px;min-height:30px;padding:2px 8px}.tech-workspace.has-detail .tech-detail-rail>.tech-card{margin-top:10px}@media(max-width:760px){.tech-research-strip,.tech-workspace.has-detail{grid-template-columns:minmax(0,1fr)}.tech-workspace.has-detail .tree-sidebar.tech-detail-rail{position:static;max-height:none;overflow:visible}}@media(min-width:761px){.tech-panel .tech-workspace.has-detail{grid-template-columns:minmax(0,1fr) minmax(300px,340px)}.tech-panel .tech-workspace.has-detail .tree-sidebar.tech-detail-rail{display:block;position:sticky;top:12px;max-height:calc(100dvh - 24px);overflow:auto}}@media(max-width:600px){.research-project{grid-template-columns:38px minmax(0,1fr)}.research-project>button{grid-column:1/-1}.tech-queue-card{flex-basis:210px;min-width:210px}}.trade-groups{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin:14px 0 18px}.trade-group{min-width:0;padding:10px 10px 8px;border:1px solid #52615b;border-radius:4px;background:#111c20}.trade-group>h3{margin:0 0 8px;color:#e5d09a;font-size:15px}.trade-table-scroll{overflow-x:auto;overscroll-behavior-x:contain;border:1px solid #3f5258;border-radius:3px}.trade-table{width:100%;min-width:1080px;border-collapse:separate;border-spacing:0;table-layout:fixed;font-variant-numeric:tabular-nums}.trade-table th{padding:7px 8px;text-align:left;color:#9eaaa4;background:#182629;border-bottom:1px solid #52615b;font-size:11px;font-weight:600;letter-spacing:.04em}.trade-table th:nth-child(1){width:220px}.trade-table th:nth-child(2),.trade-table th:nth-child(3),.trade-table th:nth-child(4),.trade-table th:nth-child(5){width:86px}.trade-table th:nth-child(6){width:104px}.trade-table th:nth-child(7),.trade-table th:nth-child(8){width:170px}.trade-table .trade-commodity{min-width:0;border:0;border-radius:0;background:transparent}.trade-table .trade-commodity:nth-child(2n){background:#0d171a}.trade-table td{padding:7px 8px;border-bottom:1px solid #3f525866;vertical-align:middle;color:#dbe2dc;font-size:13px}.trade-table tr:last-child td{border-bottom:0}.trade-product{display:flex;align-items:center;gap:8px;min-width:0}.trade-product>span:last-child{display:grid;gap:2px;min-width:0}.trade-product strong{color:#e8d7a7;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trade-product small{color:#95a39d;font-size:11px}.trade-product-icon{display:grid;place-items:center;width:28px;height:28px;flex:none;color:#d9c27e}.trade-table [data-trade-stock],.trade-table [data-trade-base],.trade-table [data-trade-market-price],.trade-table [data-trade-used]{color:#e4d3a2;font-size:13px}.trade-table [data-trade-fluctuation]{color:#a9cdb1;font-size:12px}.trade-table .trade-quantity{display:grid;grid-template-columns:auto 64px;align-items:center;gap:6px}.trade-table .trade-quantity span{color:#9eaaa4;font-size:11px}.trade-table .trade-quantity input{width:64px;min-width:0;height:30px;min-height:30px;padding:3px 6px}.trade-table [data-batch-quote]{display:block;margin-top:3px;color:#98a8a1;font-size:10px;white-space:nowrap}.trade-checkout{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;border:1px solid #52615b;background:#111c20}.trade-checkout [data-trade-total]{margin:0;color:#d7c48d;font-size:13px}.trade-checkout [data-trade-order-feedback]{grid-column:1/-1;margin:0;color:#c9d3cd;font-size:12px}.trade-market-panel>h3{margin-top:18px}.shipment-item{display:block;padding:12px;border:1px solid #4c615c;border-radius:5px;background:#111c20}.shipment-item>div{display:grid;gap:8px;min-width:0}.shipment-stages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none}.shipment-stages li{display:grid;gap:2px;min-width:0;padding:8px;border:1px solid #405553;border-radius:4px;background:#17272a}.shipment-stages li span{color:#9eaaa4;font-size:12px}.shipment-stages li b{color:#e5d09a;font-size:15px;font-variant-numeric:tabular-nums}.shipment-stages li small{color:#aab8b1;font-size:11px;overflow-wrap:anywhere}.shipment-stages li.is-delayed{border-color:#a87455;background:#2a1d19}.shipment-stages li.is-delayed b{color:#f0b583}@media(max-width:700px){.trade-table{min-width:920px}.trade-table .trade-quantity{grid-template-columns:auto 56px}.trade-table .trade-quantity input{width:56px}}@media(max-width:520px){.production-diagnostic dl{grid-template-columns:1fr}.production-diagnostic dl>div.wide{grid-column:auto}.shipment-stages{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:901px){.map-panel .map-workspace{grid-template-columns:minmax(0,1fr) minmax(300px,340px);gap:14px;align-items:start}.map-panel .map-detail{position:sticky;top:12px;max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}}@media(min-width:901px)and (max-width:1200px){.map-panel .map-workspace{grid-template-columns:minmax(0,1fr) minmax(270px,300px)}}@media(max-width:900px){.map-panel .map-workspace{grid-template-columns:minmax(0,1fr)}.map-panel .map-detail{position:static;max-height:none;overflow:visible}}@media(max-width:600px){.back-menu{min-height:44px;padding:10px 12px}.tabs{scroll-snap-type:x proximity}.tabs button{scroll-snap-align:start}}.strategy-map-panel{overflow:hidden}.strategy-map-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:10px}.strategy-map-header h2{margin:3px 0 0;color:#ead8a6;font-family:Georgia,Songti SC,serif}.strategy-map-header p{margin:4px 0 0;color:#aebbb3;font-size:12px}.strategy-map-stats{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.strategy-map-stats span{padding:4px 8px;border:1px solid #5b695f;background:#152224;color:#d8c88f;font-size:11px}.strategy-map-stage{overflow:hidden;border:1px solid #4d5e58;background:radial-gradient(circle at 44% 45%,#253538,#10191b 72%)}.strategy-map-canvas{display:block;width:100%;height:auto;min-height:280px}.strategy-cell{stroke:#17211f;stroke-width:1;transition:filter .15s ease,stroke-width .15s ease}.strategy-cell:hover{filter:brightness(1.18)}.strategy-cell-mountain{fill:#5c625f}.strategy-cell-water{fill:#315f73}.strategy-cell-controlled{stroke:#e2bd5a;stroke-width:3}.continental-layer{opacity:1;filter:saturate(.9) brightness(1.04);transition:opacity .15s ease,filter .15s ease}.continental-layer .strategy-region-label{font-size:7px;opacity:.72}.map-canvas .map-tile .map-ground{opacity:.72}.map-canvas .map-tile>polygon:not(.map-ground){opacity:.18}.map-canvas{background:radial-gradient(ellipse at 42% 45%,#263a35 0,#172522 72%)}.strategy-region-first-light-north{fill:#6a5b30}.strategy-region-white-plain{fill:#4f6e79}.strategy-region-grey-ridge{fill:#626763}.strategy-region-mist-river{fill:#426d67}.strategy-region-west-woods{fill:#47664d}.strategy-region-iron-march{fill:#775137}.strategy-region-deep-furnace-highlands{fill:#624d72}.strategy-region-three-harbors-coast{fill:#35676d}.strategy-region-solren-heartland{fill:#7a6832}.strategy-region-sacred-flame-south{fill:#7c4a48}.strategy-region-south-march{fill:#6b6b3a}.strategy-region-east-march{fill:#604d75}.strategy-mountain-glyph,.strategy-water-glyph{fill:#dce8e3;font-size:12px;text-anchor:middle;pointer-events:none}.strategy-water-glyph{fill:#cfe9f3}.strategy-region-label{fill:#f1e7c9;stroke:#111918;stroke-width:4px;paint-order:stroke;font-size:11px;font-weight:600;letter-spacing:.08em}.strategy-node-core{fill:#e8dfc5;stroke:#101816;stroke-width:2}.strategy-node-start{fill:#e5bd51;stroke:#fff1bc;stroke-width:3}.strategy-node-ring{fill:none;stroke:#d6b35e;stroke-width:2}.strategy-node-label{fill:#f2ead5;stroke:#101816;stroke-width:4px;paint-order:stroke;font-size:10px;font-weight:600}.strategy-map-footer{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:8px;color:#9eaaa4;font-size:11px}@media(max-width:760px){.strategy-map-header{align-items:flex-start;flex-direction:column}.strategy-map-stats{justify-content:flex-start}.strategy-map-canvas{min-height:230px}}.opening-guide{display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:14px;position:fixed;right:24px;top:188px;z-index:35;width:min(420px,calc(100vw - 48px));max-height:calc(100dvh - 200px);overflow:auto;padding:18px 20px;margin:0;background:linear-gradient(145deg,#33463b,#22302b);border:1px solid #6d826d;border-left:4px solid #e2c079;border-radius:10px;box-shadow:0 18px 40px #0008}.opening-guide-copy{display:grid;gap:5px;min-width:0}.opening-guide-copy small{color:#d8bb77;font-size:12px;letter-spacing:.03em}.opening-guide strong{font-size:17px;color:#ffe6af;line-height:1.55}.opening-guide p{margin:0;color:#cbd8cf;font-size:13px}.opening-guide .opening-guide-pause{padding:8px 10px;border-left:3px solid #e2c079;background:#111d1a;color:#f2dda9}.opening-guide-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-start;padding-top:10px;border-top:1px solid #ffffff14}.app-page:has(.opening-guide){padding-right:456px}@media(min-width:1201px){.app-page:has(.opening-guide) .economy-ledger{margin-right:-456px}}@media(max-width:1200px){.opening-guide{position:sticky;right:auto;top:12px;width:100%;max-height:none;margin:14px 0}.app-page:has(.opening-guide){padding-right:0}}.opening-guide-progress{display:grid;gap:8px;padding:12px;border:1px solid #51655a;border-radius:6px;background:#15231f}.opening-guide-wait-line{display:flex;align-items:baseline;gap:6px}.opening-guide-wait-line span{color:#d8c78f;font-size:13px}.opening-guide-wait-line b{color:#ffe2a0;font-size:20px}.opening-guide-wait-line small{color:#9eb0a4}.opening-guide-progress progress{width:100%;height:10px;accent-color:#d8b86a}.opening-guide-progress p{margin:0;color:#b8c8bc;font-size:12px}.auto-balance-report{top:96px;max-height:calc(100dvh - 120px)}.auto-balance-report section{display:grid;gap:6px}.auto-balance-report h4{margin:0;color:#ffe6af;font-size:14px}.auto-balance-report ul{margin:0;padding-left:18px;display:grid;gap:4px;color:#cbd8cf;font-size:13px}.auto-balance-settings,.auto-balance-locks,.auto-balance-reserves{min-width:0}.auto-balance-setting-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;min-width:0}.auto-balance-target-note{margin:0!important;overflow-wrap:anywhere}.auto-balance-lock-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:8px 12px;min-width:0}.auto-balance-lock-list .switch-line{min-width:0;align-items:flex-start}.auto-balance-lock-list .switch-line span{overflow-wrap:anywhere}.auto-balance-reserve-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px;max-height:240px;overflow:auto;padding-right:4px;min-width:0}.auto-balance-reserve-list label{display:grid;grid-template-columns:minmax(0,1fr) 72px;align-items:center;gap:6px;min-width:0;color:#cbd8cf;font-size:12px}.auto-balance-reserve-list label span{overflow-wrap:anywhere}.auto-balance-reserve-list input{width:100%;min-width:0}@media(max-width:1200px){.auto-balance-report{position:fixed;top:88px;right:16px;width:min(420px,calc(100vw - 32px));max-height:calc(100dvh - 112px);margin:0}}@media(max-width:650px){.auto-balance-report{top:auto;left:12px;right:12px;bottom:12px;width:auto;max-height:70dvh}.auto-balance-lock-list,.auto-balance-reserve-list{grid-template-columns:minmax(0,1fr)}.auto-balance-reserve-list{max-height:180px}}.menu-mode-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0;padding:14px;border:1px solid var(--line);border-radius:8px}.menu-mode-choice legend{padding:0 8px;color:#d8c58f;font-weight:700}.menu-mode-option{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;padding:12px;border:1px solid #52615b;border-radius:6px;background:#1b292b;cursor:pointer}.menu-mode-option:has(input:checked){border-color:#dec382;background:#2b3934;box-shadow:inset 0 0 0 1px #dec38255}.menu-mode-option input{margin-top:9px}.menu-mode-option span{display:grid;gap:3px;min-width:0}.menu-mode-option strong{color:#f0dfaf}.menu-mode-option small{color:#aebbb3;white-space:normal}@media(max-width:640px){.menu-mode-choice{grid-template-columns:1fr}}.map-toolbar{align-items:center;justify-content:space-between}.map-toolbar-copy{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;min-width:0}.map-view-switch{display:flex;gap:4px;padding:3px;border:1px solid #52615b;border-radius:7px;background:#172326}.map-view-switch button{min-height:34px;padding:5px 12px;border:0;background:transparent}.map-view-switch button.selected{background:#dec382;color:#202922;box-shadow:none}.map-viewport[data-map-mode=campaign]{height:min(48vw,440px)}.map-water-mark{fill:none;stroke:#9fd0df;stroke-width:3;stroke-linecap:round;pointer-events:none}.map-mountain-mark{fill:#aeb6ae;stroke:#2b3534;stroke-width:2;pointer-events:none}.map-view-political .map-terrain-label,.map-view-political .map-building-marker{stroke:#111918;stroke-width:4px;paint-order:stroke;font-weight:700}.map-view-political .map-building-marker{font-size:9px}.map-view-political .map-ground{fill:#68715d}.map-canvas.map-view-political .strategy-region-first-light-north .map-ground{fill:#77663b}.map-canvas.map-view-political .strategy-region-white-plain .map-ground{fill:#597a82}.map-canvas.map-view-political .strategy-region-grey-ridge .map-ground{fill:#6c716c}.map-canvas.map-view-political .strategy-region-mist-river .map-ground{fill:#4a766f}.map-canvas.map-view-political .strategy-region-west-woods .map-ground{fill:#506f55}.map-canvas.map-view-political .strategy-region-iron-march .map-ground{fill:#7d5a3f}.map-canvas.map-view-political .strategy-region-deep-furnace-highlands .map-ground{fill:#6b557b}.map-canvas.map-view-political .strategy-region-three-harbors-coast .map-ground{fill:#3d747a}.map-canvas.map-view-political .strategy-region-solren-heartland .map-ground{fill:#82703a}.map-canvas.map-view-political .strategy-region-sacred-flame-south .map-ground{fill:#85534f}.map-canvas.map-view-political .strategy-region-south-march .map-ground{fill:#72733f}.map-canvas.map-view-political .strategy-region-east-march .map-ground{fill:#69557d}.map-canvas.map-view-political .map-tile[data-owner=first-light-outpost] .map-ground{fill:#d8b75c}.map-canvas.map-view-political .map-tile[data-owner=solren-remnant] .map-ground{fill:#a85e45}.map-canvas.map-view-political .map-tile[data-owner=white-plain-regency] .map-ground{fill:#8faeb3}.map-canvas.map-view-political .map-tile[data-owner=iron-oath-march] .map-ground{fill:#9a6747}.map-canvas.map-view-political .map-tile[data-owner=deep-furnace-duchy] .map-ground{fill:#81649a}.map-canvas.map-view-political .map-tile[data-owner=three-harbors-league] .map-ground{fill:#4d9298}.map-canvas.map-view-political .map-tile[data-owner=sacred-flame-see] .map-ground{fill:#b96158}.map-canvas.map-view-political .map-tile.terrain-impassable-mountain .map-ground{fill:#626864}.map-canvas.map-view-political .map-tile.terrain-impassable-mountain .map-ground{stroke:#b7c4c2}.map-canvas.map-view-political .map-tile.terrain-water .map-ground{fill:#315f73}.map-view-terrain .map-tile.map-unknown{opacity:.72}.map-detail-impassable{border-left-color:#8e9b96}.strategic-province-panel,.strategic-see-resolution{display:grid;gap:9px;padding:12px;border:1px solid #647363;border-radius:6px;background:#1d2b2c}.strategic-province-panel>h4,.strategic-see-resolution>h4{margin:0;color:#e6cf95;font:17px Georgia,Songti SC,serif}.strategic-province-panel>p,.strategic-see-resolution>p{margin:0}.strategic-army-row{display:grid;gap:6px;padding:10px;border:1px solid #596a5e;border-radius:5px;background:#263537}.strategic-army-row header{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.strategic-army-row header span{color:#d7bd7e;font-size:.8rem}.strategic-army-row small{line-height:1.55;overflow-wrap:anywhere}.strategic-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.strategic-action-grid button{width:100%;margin:0;min-height:38px;padding:7px}.strategic-see-resolution{border-color:#a56855;background:#332526}.strategic-army-marker{pointer-events:none}.strategic-army-marker circle{fill:#d8b75c;stroke:#fff4c9;stroke-width:2}.strategic-army-marker text{fill:#182020;font-size:10px;font-weight:700}.strategic-army-marker.faction-sacred-flame-see circle{fill:#b96158}.strategic-army-marker.faction-solren-remnant circle{fill:#a85e45}.strategic-army-marker.faction-white-plain-regency circle{fill:#8faeb3}.strategic-army-marker.faction-iron-oath-march circle{fill:#9a6747}.strategic-army-marker.faction-deep-furnace-duchy circle{fill:#81649a}.strategic-army-marker.faction-three-harbors-league circle{fill:#4d9298}@media(max-width:420px){.strategic-action-grid{grid-template-columns:1fr}}.map-canvas.map-view-political .map-tile[data-region-boundary=grey-north-wall] .map-ground{fill:#77766d;stroke:#d5c6a0;stroke-width:2}.economy-ledger [data-storage-summary]{display:grid;gap:8px;padding-bottom:5px}.economy-ledger .storage-meta{display:flex;flex-wrap:wrap;gap:5px;align-items:center;margin:0;color:#c5cec8}.economy-ledger .storage-meta span{padding:3px 7px;background:#182528;border:1px solid #46575a;border-radius:999px;font-size:11px;line-height:1.3;white-space:nowrap}.economy-ledger .storage-meta.storage-empty{display:block;padding:5px 0;color:#aab7b1}.economy-ledger .storage-stock{display:flex;align-items:baseline;gap:6px;margin:0}.economy-ledger .storage-stock strong{font:700 22px/1 Georgia,serif;color:#f0d998}.economy-ledger .storage-stock span{color:#9daaa4;font-size:12px}.economy-ledger .storage-stock+meter{margin:0}.economy-ledger .storage-supply{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0}.economy-ledger .storage-supply>div{padding:7px 8px;background:#1a2629;border:1px solid #405059;border-radius:4px}.economy-ledger .storage-supply dt{color:#9eaaa5;font-size:11px;line-height:1.3}.economy-ledger .storage-supply dd{margin:3px 0 0;color:#e2d3a8;font-size:13px;font-weight:700;line-height:1.2}.economy-ledger .food-safety{margin:0;padding:8px 9px;background:#172326;border:1px solid #35474d;border-radius:4px}.economy-ledger .storage-safety-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.economy-ledger .food-safety progress{width:100%;height:7px;margin:5px 0 0}.economy-ledger .storage-safety-note{margin:5px 0 0;color:#e0a084;font-size:11px;line-height:1.4}.economy-ledger .storage-actions{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:7px;margin-top:0}.economy-ledger .storage-actions button{width:auto;min-width:72px;margin:0;padding:6px 10px}.economy-ledger .storage-reason{justify-self:end;text-align:right;color:#d8c18b;font-size:11px;line-height:1.35}@media(max-width:600px){.economy-ledger .storage-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.economy-ledger .storage-reason{grid-column:1/-1;justify-self:start;text-align:left}}.frost-page{padding:clamp(16px,2vw,26px);overflow:hidden}.frost-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px 20px;margin-bottom:14px;background:radial-gradient(circle at 88% 10%,rgba(227,141,145,.26),transparent 34%),linear-gradient(135deg,#472b32,#202a2c);border:1px solid #b86a78;border-radius:12px;box-shadow:0 14px 36px #0000002e}.frost-hero-copy{min-width:0}.frost-hero h2{margin:4px 0 6px;font-size:clamp(26px,3vw,38px);letter-spacing:.06em}.frost-hero p{margin:0;color:#c9b7b3;max-width:680px}.frost-status{flex:0 0 auto;min-width:156px;display:grid;gap:3px;padding:11px 13px;border:1px solid #d48b94;border-radius:9px;background:#5b2630;color:#fff0ef;text-align:right}.frost-status span{font-size:13px;letter-spacing:.08em}.frost-status strong{font-size:20px}.frost-status small{color:#e6bbb9}.frost-status.is-winter{background:#24443b;border-color:#6fbd94}.frost-status.is-deep-frost{background:#451e2a;border-color:#ee7f91;box-shadow:0 0 0 2px #ee7f9124}.frost-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.frost-kpi{position:relative;display:grid;gap:3px;min-width:0;padding:13px 14px;background:#202a2c;border:1px solid #5f4b50;border-top:3px solid #b86a78;border-radius:8px}.frost-kpi small{color:#aeb7b5;font-size:12px}.frost-kpi strong{font-size:clamp(21px,2vw,28px);color:#f1d39e;font-variant-numeric:tabular-nums}.frost-kpi span{color:#c4b9b4;font-size:12px;overflow-wrap:anywhere}.frost-kpi.is-warning{border-top-color:#ef8b7b;background:#332629}.frost-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.frost-card{min-width:0;padding:16px 18px;background:linear-gradient(160deg,#222d2f,#1d2528);border:1px solid #66575a;border-radius:10px;box-shadow:0 10px 26px #00000024}.frost-card-wide{grid-column:1/-1}.frost-card h3{margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid #6e555b;color:#f0cfa5;letter-spacing:.03em}.frost-card p{margin:8px 0}.frost-card details{margin:10px 0}.frost-card .frost-housing-warmth{margin-top:12px;padding-top:10px;border-top:1px dashed #76565e}.frost-clothing{padding:9px 10px;background:#282e2f;border-left:3px solid #7e9d9b;border-radius:4px}.frost-page .frost-trend{background:#1a2224;border-color:#6d5559}.frost-page details>summary{font-weight:600}@media(max-width:820px){.frost-hero{flex-direction:column}.frost-status{width:100%;text-align:left}.frost-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.frost-layout{grid-template-columns:1fr}.frost-card-wide{grid-column:auto}}@media(max-width:520px){.frost-page{padding:12px}.frost-kpis{grid-template-columns:1fr}.frost-card{padding:13px 12px}.frost-hero{padding:14px}}.town-frost-alert.is-protected{background:#223a31;border-color:#6fbd94;color:#dcecdf}.housing-panel{display:block;container-type:inline-size;width:100%;flex:none}.housing-growth-row{display:flex;align-items:center;align-content:flex-start;flex-wrap:wrap;gap:6px 8px}.housing-growth-row+.housing-growth-row{margin-top:8px}.housing-growth-row>span:first-child{min-width:100px;font-size:13px;color:#d4d4bd}.housing-growth-row label{display:flex;align-items:center;gap:5px;font-size:12px}.housing-growth-row input{width:64px;min-width:0;margin:0;padding:7px 6px;font-variant-numeric:tabular-nums}.housing-growth-row button{min-width:54px;margin:0;padding:7px 10px}.housing-growth-row small{color:#a6b3ae;font-variant-numeric:tabular-nums}@container (max-width:360px){.housing-growth-row>span:first-child{flex-basis:100%}.housing-growth-row small{flex-basis:100%}}.town-construction>.build-grid:has(>.build-qualification-group){display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,max-content));gap:12px 16px;align-items:start;justify-content:start;min-width:0}.town-construction .build-qualification-group{grid-column:auto;min-width:0;max-width:min(100%,320px)}.town-construction .build-qualification-group>.build-grid{grid-template-columns:1fr;gap:10px}.jobs-panel{container-type:inline-size}.jobs-building-groups{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 16px;align-items:start;min-width:0}.jobs-building-groups>.tile-building-group{grid-column:auto;min-width:0}.jobs-building-groups>.tile-building-group[data-group-row]{grid-column:1/-1}.jobs-building-groups .existing-building-grid{grid-template-columns:1fr;gap:12px;align-items:start}.jobs-building-groups>.tile-building-group[data-group-row] .existing-building-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.town-construction .build-effect{white-space:normal;overflow-wrap:anywhere}.jobs-panel .existing-building-grid .governor-building{align-self:start}@container (max-width:1179px){.jobs-building-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}@container (max-width:575px){.jobs-building-groups{grid-template-columns:1fr}}@media(max-width:859px){.jobs-building-groups>.tile-building-group[data-group-row] .existing-building-grid{grid-template-columns:1fr}.town-construction>.build-grid:has(>.build-qualification-group){grid-template-columns:1fr}.town-construction .build-qualification-group{max-width:none}}.jobs-panel .section-heading h3{font-size:20px;line-height:22px}.building-input:empty{display:none}.building-input{display:block;color:#b9c7bd}.building-hearth-quick{display:grid;gap:6px;margin-top:8px;border-top:1px solid #52615b55;padding-top:8px}.building-hearth-quick .mode-stepper{display:inline-flex;align-items:center;gap:6px}.building-hearth-quick .stepper-label{color:#9fb0a7}.building-hearth-quick select{min-height:30px;padding:3px 6px}.building-hearth-fuel{display:flex;align-items:center;gap:6px;color:#9fb0a7}.building-hearth-fuel>span{white-space:nowrap}.building-hearth-fuel select{flex:1;min-width:0}.building-hearth-quick small{display:block;color:#aab8b1}.building-hearth-details .building-facts{display:grid;gap:6px;margin:0 0 10px}.building-hearth-details .building-facts>div{display:grid;grid-template-columns:minmax(96px,auto) minmax(0,1fr);gap:10px}.building-hearth-details .building-facts dt{color:#9fb0a7}.building-hearth-details .building-facts dd{margin:0}.building-detail-body .building-modes.building-hearth-details{grid-template-columns:1fr}.building-hearth-details .table-wrap{max-width:100%;overflow-x:auto}.building-mode-quick{display:grid;gap:4px;margin-top:8px;border-top:1px solid #53635b66;padding-top:8px}.building-mode-quick .mode-quick-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.building-mode-quick .mode-quick-name{font-size:13px;color:#d8c58f;overflow-wrap:anywhere}.building-mode-quick .mode-stepper>.stepper-label{display:none}.jobs-panel .building-heading-right{max-width:100%;justify-content:flex-start}.jobs-panel .building-heading-right>.mode-stepper{max-width:100%;min-width:0;white-space:normal}.jobs-panel .building-details-button{max-width:100%;flex-wrap:wrap;white-space:normal;text-align:left;justify-content:flex-start}.jobs-panel .building-details-button small{min-width:0;overflow-wrap:anywhere}.job-automation>.switch-line{width:auto;justify-content:flex-start;gap:10px;min-height:44px;cursor:pointer}@media(max-width:960px),(pointer:coarse){.jobs-panel .mode-stepper button{min-width:44px;min-height:44px}}@media(max-width:600px){.jobs-panel .building-heading-right:has(>.mode-stepper){display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;width:100%}.jobs-panel .building-heading-right>.mode-stepper{display:contents}.jobs-panel .building-heading-right>.building-throughput{grid-column:1/4;justify-self:start}.jobs-panel .building-heading-right>.building-warning{grid-column:1/-1}.jobs-panel .mode-stepper>.stepper-label{grid-column:4/6;justify-self:end;margin:0}.jobs-panel .building-heading-right>.mode-stepper>button{min-width:44px;width:100%;padding-inline:4px}.jobs-panel .building-heading-right>.mode-stepper>b{min-width:0;font-size:16px}.jobs-panel .building-details-button small{display:none}}@media(max-width:360px){.jobs-panel .building-heading-right:has(>.mode-stepper){grid-template-columns:repeat(6,minmax(0,1fr))}.jobs-panel .building-heading-right>.building-throughput{grid-column:1/5}.jobs-panel .mode-stepper>.stepper-label{grid-column:5/7}.jobs-panel .building-heading-right>.mode-stepper>button{grid-column:span 3}.jobs-panel .building-heading-right>.mode-stepper>button:nth-of-type(-n+2),.jobs-panel .building-heading-right>.mode-stepper>b{grid-column:span 2}}@media(max-width:960px){.workspace-main>.sticky-status{display:contents}.workspace-main>.sticky-status>.realtime-bar{position:sticky;top:0;z-index:25;margin:6px 0 8px}.workspace-main>.sticky-status>.decision-stock{margin-bottom:8px}.workspace-main>.sticky-status>.tabs{margin-bottom:12px}.sticky-status .realtime-bar .speed-group{display:flex;flex-wrap:wrap;width:100%;gap:4px}.sticky-status .realtime-bar .speed-group button{flex:1 0 44px;min-width:44px;min-height:44px;width:auto;margin:0}}.town-stats,.town-stats:has(details[open]){grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.town-stats>div:nth-child(n){display:block;min-width:0;background:#293638;border-radius:8px;padding:12px}.town-stats>div:has(details[open]){grid-column:1/-1}.town-stats summary{display:grid;gap:8px;cursor:pointer;list-style:none;padding:0}.town-stats summary>strong{font-size:1.6rem;line-height:1.35;margin:0}.town-stats summary>span{font-size:.85rem;line-height:1.6}.town-stats summary:after{content:"展开明细 ▾";font-size:.82rem;color:var(--brass)}.town-stats details[open]>summary:after{content:"收起明细 ▴"}.town-stats .migration-details p{font-size:.88rem;line-height:1.65;overflow-wrap:anywhere}@media(max-width:900px){.town-stats,.town-stats:has(details[open]){grid-template-columns:1fr}}:root[data-ui-theme=brassLedger]{--ink:#241b12;--paper:#ead8ae;--paper-raised:#f4e8c9;--brass:#9b6d2b;--rule:#a48755;--text-warm:#302418;--text-soft:#645238;--line:#9d8356;--surface:#ead8ae;--surface-inset:#d9c18f;--warning:#9b5b20;--success:#4f7355;color:#302418;font-family:Georgia,"Noto Serif SC",Songti SC,SimSun,serif}:root[data-ui-theme=brassLedger] body{color:#302418;background:radial-gradient(900px 420px at 58% -12%,#fff0bd55,transparent 68%),radial-gradient(800px 520px at 0% 45%,#8a5b2422,transparent 72%),#d8c397}:root[data-ui-theme=brassLedger] body:before{background:repeating-linear-gradient(0deg,#694b2114 0 1px,transparent 1px 7px);opacity:.28}:root[data-ui-theme=brassLedger] #app,:root[data-ui-theme=brassLedger] .workspace-main,:root[data-ui-theme=brassLedger] .workspace-layout{color:#302418}:root[data-ui-theme=brassLedger] .panel,:root[data-ui-theme=brassLedger] .menu-hero,:root[data-ui-theme=brassLedger] .report-sidebar .report,:root[data-ui-theme=brassLedger] .storage-box,:root[data-ui-theme=brassLedger] .treasury-panel,:root[data-ui-theme=brassLedger] .economy-asset,:root[data-ui-theme=brassLedger] .building-item,:root[data-ui-theme=brassLedger] .build-btn,:root[data-ui-theme=brassLedger] .town-metric-card,:root[data-ui-theme=brassLedger] .tech-card,:root[data-ui-theme=brassLedger] .tree-node,:root[data-ui-theme=brassLedger] .research-project,:root[data-ui-theme=brassLedger] .tech-queue-rail,:root[data-ui-theme=brassLedger] .talent-table-wrap,:root[data-ui-theme=brassLedger] .event-card,:root[data-ui-theme=brassLedger] .map-detail,:root[data-ui-theme=brassLedger] .decision-stock,:root[data-ui-theme=brassLedger] .qualification-table-wrap{border-color:#a48755!important;color:#302418!important;background:linear-gradient(180deg,#f5e9cb,#e5d2a8)!important;box-shadow:inset 0 1px #fff8e3,0 5px 16px #5d401d33!important}:root[data-ui-theme=brassLedger] .workspace-main>header,:root[data-ui-theme=brassLedger] .sticky-status{background:#e3d0a8ee!important;border-color:#a48755!important}:root[data-ui-theme=brassLedger] .tabs{background:#cbb584!important;border-color:#a48755!important}:root[data-ui-theme=brassLedger] .tabs button,:root[data-ui-theme=brassLedger] button,:root[data-ui-theme=brassLedger] .mode-stepper button{background:#dbc796!important;border-color:#9b7a47!important;color:#382819!important;text-shadow:none!important}:root[data-ui-theme=brassLedger] .tabs button.active,:root[data-ui-theme=brassLedger] button:hover:not(:disabled){background:#bc9856!important;border-color:#735325!important;color:#251a10!important}:root[data-ui-theme=brassLedger] button:disabled{background:#c9b995!important;color:#796b52!important}:root[data-ui-theme=brassLedger] input:not([type=checkbox]),:root[data-ui-theme=brassLedger] select{background:#f6ebcf!important;border-color:#a48755!important;color:#302418!important}:root[data-ui-theme=brassLedger] h1,:root[data-ui-theme=brassLedger] h2,:root[data-ui-theme=brassLedger] h3,:root[data-ui-theme=brassLedger] h4,:root[data-ui-theme=brassLedger] strong,:root[data-ui-theme=brassLedger] .tree-eyebrow{color:#3d2a16!important;font-family:Georgia,"Noto Serif SC",Songti SC,SimSun,serif}:root[data-ui-theme=brassLedger] small,:root[data-ui-theme=brassLedger] .muted,:root[data-ui-theme=brassLedger] .subtitle{color:#6b583c!important}:root[data-ui-theme=brassLedger] .opening-guide strong{color:#ffe6af!important}:root[data-ui-theme=brassLedger] .opening-guide small{color:#d8bb77!important}:root[data-ui-theme=brassLedger] .tree-viewport,:root[data-ui-theme=brassLedger] .map-viewport{background:#d9c596!important;border-color:#a48755!important}:root[data-ui-theme=brassLedger] .tree-link{stroke:#9b7a47!important}:root[data-ui-theme=brassLedger] .tree-node{filter:none}:root[data-ui-theme=brassLedger] .tree-node.active{background:#c59d58!important}:root[data-ui-theme=brassLedger] .map-ground{stroke:#8b7246!important}:root[data-ui-theme=brassLedger] meter,:root[data-ui-theme=brassLedger] progress{accent-color:#9b6d2b!important}:root[data-ui-theme=brassLedger] .asset-flow-grid{background:#e1cca0!important;border-color:#a48755!important}:root[data-ui-theme=brassLedger] .asset-flow-grid li,:root[data-ui-theme=brassLedger] .cohesion-contributions>div{border-color:#b49b6b66!important}:root[data-ui-theme=brassLedger] .positive{color:#3f704a!important}:root[data-ui-theme=brassLedger] .negative{color:#9a3f35!important}@media(max-width:600px){:root[data-ui-theme=brassLedger] .panel,:root[data-ui-theme=brassLedger] .town-metric-card,:root[data-ui-theme=brassLedger] .building-item,:root[data-ui-theme=brassLedger] .tech-card{background:#f0e2bd!important}}:root[data-ui-theme=brassLedger] #app:has(.workspace-layout){max-width:1800px!important;padding:16px 20px!important}@media(min-width:651px){:root[data-ui-theme=brassLedger] .workspace-layout{grid-template-columns:clamp(240px,30vw,440px) minmax(0,1fr)!important;gap:20px!important}}:root[data-ui-theme=brassLedger] .report-sidebar{max-height:calc(100dvh - 32px)!important}:root[data-ui-theme=brassLedger] .panel{padding:20px!important;margin:16px 0!important;border-radius:8px!important}:root[data-ui-theme=brassLedger] .section-heading h2,:root[data-ui-theme=brassLedger] .panel>h2{font-size:26px}:root[data-ui-theme=brassLedger] .sticky-status{grid-template-columns:1fr!important;gap:8px!important;padding:8px 0!important}:root[data-ui-theme=brassLedger] .tabs{gap:6px!important;padding:4px 0 8px!important}:root[data-ui-theme=brassLedger] .tabs button{min-height:44px!important;padding:10px 16px!important;font-size:14px!important}:root[data-ui-theme=brassLedger] .town-overview-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}:root[data-ui-theme=brassLedger] .town-metric-card{min-height:184px!important;padding:16px!important}:root[data-ui-theme=brassLedger] .town-dashboard{grid-template-columns:minmax(0,1.6fr) minmax(320px,.85fr)!important;gap:16px!important;height:auto!important}:root[data-ui-theme=brassLedger] .economy-ledger .storage-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}:root[data-ui-theme=brassLedger] .economy-ledger .storage-box{height:auto!important;max-height:none!important;overflow:visible!important;padding:16px!important}:root[data-ui-theme=brassLedger] .tech-research-strip{grid-template-columns:minmax(280px,.8fr) minmax(0,1.4fr)!important;gap:16px!important;padding:16px!important}:root[data-ui-theme=brassLedger] .tech-workspace.has-detail{grid-template-columns:minmax(0,1fr) 300px!important;gap:18px!important}:root[data-ui-theme=brassLedger] .tech-workspace .tree-viewport{height:620px!important}:root[data-ui-theme=brassLedger] .tech-workspace .tree-detail-rail .tech-methods{grid-template-columns:minmax(0,1fr)!important}:root[data-ui-theme=brassLedger] .map-panel .map-workspace{grid-template-columns:minmax(0,1fr)!important;gap:16px!important}@media(max-width:900px){:root[data-ui-theme=brassLedger] .town-overview-metrics{grid-template-columns:minmax(0,1fr)!important}:root[data-ui-theme=brassLedger] .town-dashboard{grid-template-columns:minmax(0,1fr)!important}:root[data-ui-theme=brassLedger] .tech-workspace.has-detail{grid-template-columns:minmax(0,1fr)!important}}@media(max-width:600px){:root[data-ui-theme=brassLedger] .economy-ledger .storage-grid{grid-template-columns:minmax(0,1fr)!important}}.economy-ledger{container-type:inline-size}@container (min-width: 680px){.economy-ledger .storage-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@container (max-width: 679px){.economy-ledger .storage-grid{grid-template-columns:minmax(0,1fr)!important}}.economy-ledger .storage-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}@media(max-width:600px){.economy-ledger .storage-grid{grid-template-columns:minmax(0,1fr)!important}}.residents-page .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}:root{--resident-surface:#111d21;--resident-raised:#17262b;--resident-text:#e1e6da;--resident-muted:#a9bbb4;--resident-line:#3b4e50;--resident-gold:#efd38d;--resident-warning:#e7b36f;--resident-danger:#ef9390}:root[data-ui-theme=brassLedger]{--resident-surface:#ede0bd;--resident-raised:#e3d0a8;--resident-text:#302b20;--resident-muted:#615542;--resident-line:#a48755;--resident-gold:#765216;--resident-warning:#8d5216;--resident-danger:#9c3131}.workspace-main .sticky-status{grid-template-columns:minmax(0,1fr)!important;gap:8px!important}.workspace-main .sticky-status>.decision-stock,.workspace-main .sticky-status>.tabs{grid-column:1/-1!important;grid-row:auto!important}.resident-city-switch{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--resident-muted)}.resident-city-switch select{margin:0;min-width:0;max-width:200px}.app-page:has(.residents-page){padding-right:0!important}.decision-stock{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:6px 20px!important;align-items:start}.decision-stock .resident-top-strip{grid-column:1;grid-row:1;min-width:0}.decision-stock .resident-top-flags{grid-column:1;grid-row:2}.decision-stock .decision-inventory{grid-column:1;grid-row:3;min-width:0}.decision-stock .decision-national{grid-column:2;grid-row:3;border:0;padding:0;justify-content:flex-end}.decision-stock .qualification-next-step{grid-column:1/-1;grid-row:4}.decision-stock>.realtime-bar{grid-column:2;grid-row:1/3;align-self:start;display:grid;gap:4px;justify-items:end;padding:0;border:0;background:none;margin:0;box-shadow:none}.decision-stock>.realtime-bar>.speed-group{justify-content:flex-end}.decision-stock>.realtime-bar>.live-status{font-size:12px;color:var(--resident-muted);justify-self:end}.decision-stock>.realtime-bar>.clock{text-align:right;white-space:nowrap}.decision-stock>.realtime-bar>.resident-city-switch{justify-self:end}.resident-top-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));min-width:0;border-top:1px solid var(--resident-line);padding-top:8px}.resident-top-metric{display:flex!important;flex-direction:column!important;gap:2px!important;align-items:flex-start!important;justify-content:center!important;min-width:0!important;margin:0!important;padding:4px 12px!important;border:0!important;border-right:1px solid var(--resident-line)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;text-align:left!important;color:var(--resident-text)!important}.resident-top-metric:first-child{padding-left:0!important}.resident-top-metric:last-child{border-right:0!important}.resident-top-metric>span{font-size:12px;color:var(--resident-muted);white-space:nowrap}.resident-top-metric>strong{font-size:20px;color:var(--resident-gold);font-variant-numeric:tabular-nums;line-height:1.35;overflow-wrap:normal}.resident-top-metric.housing-short>strong{color:var(--resident-danger)!important}.resident-top-metric>.resident-top-detail{display:block;font-size:12px;color:var(--resident-muted);line-height:1.45;white-space:normal}.resident-top-metric>.resident-top-housing{border-top:1px solid var(--resident-line);padding-top:3px;margin-top:2px}.resident-top-metric:hover{background:var(--resident-raised)!important}.resident-top-flags{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.resident-top-flags[hidden]{display:none}.resident-top-flags button{border:0!important;background:transparent!important;padding:0!important;margin:0!important;min-height:0!important;color:var(--resident-warning)!important;font-size:12px}.tabs [data-tab=residents]:after{content:"人口与生活"}.town-city-heading,.residents-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:12px 0 16px;min-width:0}.town-city-heading>*,.residents-heading>div{min-width:0}.town-city-heading h2,.residents-heading h2{font:24px Georgia,Songti SC,serif;color:var(--resident-gold);margin:0;min-width:0;overflow-wrap:anywhere}.town-city-heading button,.residents-heading>span{flex-shrink:0}.residents-page{container-type:inline-size;width:100%;grid-column:1/-1;min-width:0;color:var(--resident-text);font-size:14px}.resident-eyebrow{margin:0 0 4px;color:var(--resident-muted);font-size:12px;letter-spacing:.15em}.residents-heading>span{font-size:12px;color:var(--resident-muted);white-space:nowrap}.resident-tabs{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 16px;border-bottom:1px solid var(--resident-line)}.resident-tabs button{margin:0!important;padding:8px 16px!important;border:0!important;border-bottom:2px solid transparent!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:var(--resident-muted)!important;font-size:14px}.resident-tabs button[aria-current=page]{color:var(--resident-gold)!important;border-bottom-color:var(--resident-gold)!important;background:var(--resident-raised)!important}.resident-topics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:24px;padding:12px 0 16px;border-bottom:1px solid var(--resident-line)}.resident-topics>section{display:flex;justify-content:space-between;align-items:center;gap:12px;min-width:0}.resident-topics h3{font-size:14px;font-weight:500;color:var(--resident-muted);margin:0 0 8px}.resident-topics p{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 16px;margin:0}.resident-topics p>strong{font-size:20px;color:var(--resident-gold);font-variant-numeric:tabular-nums}.resident-topics p>span,.resident-topics small{font-size:12px;color:var(--resident-muted)}.resident-topics button{flex-shrink:0;margin:0}.resident-list table{width:100%;border-collapse:collapse;table-layout:fixed}.resident-list th,.resident-list td{text-align:left;vertical-align:middle;padding:12px 8px;border-bottom:1px solid var(--resident-line);font-size:14px}.resident-list thead th{font-size:12px;color:var(--resident-muted);font-weight:500;padding-top:0;padding-bottom:12px}.resident-list th:first-child{width:25%;padding-left:0}.resident-list th:nth-child(2){width:18%}.resident-list th:nth-child(3){width:16%}.resident-list th:nth-child(4){width:13%}.resident-list th:nth-child(5){width:20%}.resident-list th:last-child{width:8%}.resident-list tbody tr{height:72px}.resident-list tbody tr:hover{background:var(--resident-raised)}.resident-list strong{display:block;font-weight:500;color:var(--resident-text);font-variant-numeric:tabular-nums}.resident-list strong b{margin-left:4px;font-weight:500;color:var(--resident-gold)}.resident-list small{display:block;margin-top:6px;color:var(--resident-muted);font-size:12px;line-height:1.5;font-weight:400}.resident-list .resident-row-action{text-align:right;padding-right:0}.resident-row-action button{margin:0;padding:6px 8px}.resident-warning,.resident-issue-partial,.resident-issue-risk{color:var(--resident-warning)!important}.resident-issue-total{color:var(--resident-danger)!important}.resident-issue-quality{color:var(--resident-muted)}.resident-empty{padding:16px 0;color:var(--resident-muted);font-size:14px}.resident-accounts .panel{margin:0 0 16px}.resident-accounts .section-heading{align-items:baseline}.resident-accounts .section-heading span,.resident-accounts .muted{font-size:12px;color:var(--resident-muted)}.resident-accounts .qualification-table-wrap{max-width:100%;overflow:auto}.resident-accounts td{font-variant-numeric:tabular-nums;text-align:right}.resident-ledger-link{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:16px 0;color:var(--resident-muted);font-size:14px}.resident-detail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1500;display:flex;align-items:center;justify-content:center;padding:16px;background:#030a0ccc}.resident-detail-card{display:flex;flex-direction:column;width:min(1200px,calc(100vw - 32px));max-height:calc(100dvh - 32px);min-width:0;overflow:hidden;border:1px solid var(--resident-line);border-radius:6px;background:var(--resident-surface);color:var(--resident-text);box-shadow:0 24px 80px #0008;font-size:14px}.resident-detail-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 16px;padding:16px 24px;border-bottom:1px solid var(--resident-line)}.resident-detail-heading h2{margin:0;font:24px Georgia,Songti SC,serif;color:var(--resident-gold);grid-column:1;overflow-wrap:anywhere}.resident-detail-heading>.resident-dialog-time{grid-column:1;grid-row:2;display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--resident-muted)}.resident-detail-heading>[data-close-resident-detail]{grid-column:2;grid-row:1/3;margin:0}.resident-dialog-time button{margin:0;padding:4px 12px;font-size:12px}.resident-detail-body{overflow:auto;overflow-anchor:none;overscroll-behavior:contain;min-height:0;padding:24px}.resident-detail-card footer{padding:12px 24px;border-top:1px solid var(--resident-line);display:flex;justify-content:flex-end}.resident-detail-card button{font-family:inherit;line-height:1.4}.resident-detail-card h3{font-size:16px;color:var(--resident-text);margin:24px 0 12px}.resident-detail-card h4{font-size:14px;color:var(--resident-text);margin:0 0 12px}.resident-detail-metrics{display:flex;flex-wrap:wrap;gap:16px 32px;margin-bottom:24px}.resident-detail-metric{display:grid;gap:6px;min-width:120px}.resident-detail-metric>span,.resident-detail-metric>small{font-size:12px;color:var(--resident-muted)}.resident-detail-metric>strong{font-size:20px;color:var(--resident-gold);font-weight:500;font-variant-numeric:tabular-nums}.resident-detail-links{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.resident-detail-links button{margin:0}.resident-training{display:grid;gap:4px;margin-top:4px}.resident-training .training-queue h3{margin:0;font-size:15px}.resident-training .training-queue{margin:0}.resident-training .training-lanes{margin-top:12px;grid-template-columns:minmax(0,1fr)}.resident-training .training-lane{border-color:var(--resident-line);background:var(--resident-raised);color:var(--resident-text)}.resident-training .training-lane-heading>span,.resident-training .training-lane p.muted{color:var(--resident-muted)}.resident-training .training-lane-details [data-training-quote]{border-left-color:var(--resident-line);background:transparent}.resident-training .training-project{border-bottom:1px solid var(--resident-line)}.resident-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin:0}.resident-facts>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--resident-line)}.resident-facts dt{color:var(--resident-muted)}.resident-facts dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}.resident-diagnostics article,.resident-health-list article,.resident-factor-group{margin:0 0 24px;padding-bottom:16px;border-bottom:1px solid var(--resident-line)}.resident-diagnostics ol{padding-left:20px;margin:12px 0}.resident-diagnostics li{padding:0 0 16px}.resident-diagnostics li p{color:var(--resident-text);margin:6px 0;font-size:14px;line-height:1.6}.resident-diagnostics li small{display:block;color:var(--resident-muted);font-size:12px;line-height:1.6}.resident-diagnostics li button{margin:8px 0 0;font-size:12px}.resident-detail-caption{font-size:12px;color:var(--resident-muted);line-height:1.6}.resident-detail-body .qualification-population{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;padding:0;border-bottom:0}.resident-detail-body .qualification-population>div{gap:3px;padding:9px 11px;background:var(--resident-raised);border:1px solid var(--resident-line);border-radius:5px}.resident-detail-body .qualification-population strong{font-size:18px;font-weight:500;color:var(--resident-gold);font-variant-numeric:tabular-nums}.resident-detail-body .qualification-population small{color:var(--resident-muted);font-variant-numeric:tabular-nums}.resident-detail-body>h3,.resident-training>h3{padding-top:16px;border-top:1px solid var(--resident-line)}.resident-training .training-controls{grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) minmax(150px,190px) auto auto;gap:10px;max-width:none}.resident-training .training-controls button{padding-inline:14px}.resident-training .training-lane{padding:14px 16px}@media(max-width:760px){.resident-training .training-controls{grid-template-columns:repeat(2,minmax(0,1fr))}}.resident-detail-body .panel{background:transparent!important;border:0!important;padding:0!important;box-shadow:none!important}.resident-detail-body .qualification-table-wrap{max-height:none;overflow:visible;max-width:100%}.living-detail-columns{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.25fr) minmax(340px,1fr);gap:24px;align-items:start}.living-diagnosis-column,.living-composition-column,.living-coverage-column{min-width:0}.living-diagnosis-column .living-diagnostics{margin:0}.living-composition-column>section>h3{margin-top:0}.resident-composition-table-wrap{max-width:100%;overflow:visible}.resident-composition-table{width:100%;border-collapse:collapse;table-layout:auto;font-size:12px}.resident-composition-table th,.resident-composition-table td{padding:5px 6px;border-bottom:1px solid var(--resident-line);font-variant-numeric:tabular-nums;line-height:1.25}.resident-composition-table thead th{color:var(--resident-muted);font-weight:500;text-align:right;white-space:nowrap}.resident-composition-table thead th:first-child{text-align:left}.resident-composition-table tbody th{color:var(--resident-muted);font-weight:400;text-align:left;white-space:nowrap}.resident-composition-table tbody td{text-align:right;color:var(--resident-text);white-space:nowrap}.living-composition-disclosure{margin:0 0 16px;border-bottom:1px solid var(--resident-line)}.living-composition-disclosure>summary{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:0 0 8px;cursor:pointer;list-style:none}.living-composition-disclosure>summary::-webkit-details-marker{display:none}.living-composition-disclosure>summary h3{margin:0;font-size:16px;color:var(--resident-text)}.living-composition-disclosure>summary.section-heading h3{font-family:Georgia,Songti SC,serif;color:var(--resident-gold);letter-spacing:.04em}.living-composition-disclosure>summary span{font-size:11px;color:var(--resident-muted);text-align:right}.living-composition-disclosure[open]>summary{margin-bottom:8px}.living-composition-column .consumption-report{margin-top:16px}.living-composition-column .consumption-report .section-heading{margin:0 0 8px}.living-composition-column .consumption-report .section-heading h2{font-size:16px}.living-composition-column .consumption-report .muted{font-size:11px;line-height:1.35}.living-composition-column .qualification-table{font-size:12px}.living-composition-column .qualification-table th,.living-composition-column .qualification-table td{padding:5px 6px}.living-coverage-column>h3{margin-top:0;color:var(--resident-gold)}.resident-detail-body .living-contribution-detail{margin-top:24px}.resident-detail-body .living-contribution-detail h3{color:var(--resident-gold)}.living-coverage-table-wrap{max-width:100%;overflow:auto}.living-coverage-table{width:100%;border-collapse:collapse;table-layout:auto;font-size:12px}.living-coverage-table th,.living-coverage-table td{padding:7px 8px;border-bottom:1px solid var(--resident-line);font-variant-numeric:tabular-nums;line-height:1.25}.living-coverage-table thead th{color:var(--resident-muted);font-weight:500;text-align:right;white-space:nowrap}.living-coverage-table thead th:first-child{text-align:left}.living-coverage-table tbody th{color:var(--resident-muted);font-weight:400;text-align:left;white-space:nowrap}.living-coverage-table tbody td{text-align:right;color:var(--resident-text);white-space:nowrap}.living-coverage-table .living-coverage-full{color:#72d29a!important;font-weight:600}.living-coverage-table .living-coverage-zero{color:var(--resident-danger)!important;font-weight:600}.living-diagnostics-grouped .section-heading{margin-top:0}.living-diagnostic-groups{display:grid;gap:8px}.living-diagnostic-group{border:1px solid var(--resident-line);border-radius:4px;background:color-mix(in srgb,var(--resident-surface) 88%,white 12%)}.living-diagnostic-group>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;cursor:pointer;list-style:none}.living-diagnostic-group>summary::-webkit-details-marker{display:none}.living-diagnostic-group>summary strong{color:var(--resident-text)}.living-diagnostic-group>summary span{color:var(--resident-muted);font-size:12px;white-space:nowrap}.living-diagnostic-group>p,.living-diagnostic-group>ul,.living-diagnostic-group>small{display:block;margin:0 12px 10px;line-height:1.6}.living-diagnostic-group>ul{padding-left:18px}.living-diagnostic-group>ul li{display:flex;gap:8px;justify-content:space-between;border-top:1px solid color-mix(in srgb,var(--resident-line) 60%,transparent);padding:6px 0}.living-diagnostic-group>ul li span{color:var(--resident-muted);text-align:right}.living-diagnostic-total>summary strong{color:var(--resident-danger,#e67676)}.living-diagnostic-partial>summary strong{color:var(--resident-warning,#ecc477)}:root[data-ui-theme=brassLedger] .decision-stock,:root[data-ui-theme=brassLedger] .decision-inventory,:root[data-ui-theme=brassLedger] .decision-cohesion,:root[data-ui-theme=brassLedger] .qualification-next-step{color:var(--resident-text)!important}:root[data-ui-theme=brassLedger] .decision-stock b,:root[data-ui-theme=brassLedger] .decision-stock .live-status{color:var(--resident-gold)}:root[data-ui-theme=brassLedger] .report p{color:var(--resident-text)}:root[data-ui-theme=brassLedger] .report p.danger-text{color:var(--resident-danger)}:root[data-ui-theme=brassLedger] .report p.warning-text{color:var(--resident-warning)}@container (max-width:760px){.resident-topics{grid-template-columns:1fr;gap:16px}.resident-list thead{display:none}.resident-list table,.resident-list tbody{display:block}.resident-list tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));height:auto;gap:12px 16px;padding:16px 0;border-bottom:1px solid var(--resident-line);position:relative}.resident-list th,.resident-list td{display:block;width:auto!important;border:0;padding:0;text-align:left}.resident-list th{grid-column:1/-1;padding-right:64px!important}.resident-list td[data-label]:before{content:attr(data-label);display:block;font-size:12px;color:var(--resident-muted);margin-bottom:4px}.resident-list .resident-row-action{position:absolute;right:0;top:16px}.resident-list small{margin-top:4px}}@media(max-width:1100px){.resident-top-metric{flex-direction:column;align-items:flex-start!important;gap:2px!important}.resident-top-metric>strong{font-size:16px}}@media(max-width:600px){.decision-stock>.realtime-bar{grid-column:1/-1;grid-row:1;justify-items:start}.decision-stock>.realtime-bar>.speed-group{justify-content:flex-start}.decision-stock>.realtime-bar>.live-status,.decision-stock>.realtime-bar>.clock,.decision-stock>.realtime-bar>.resident-city-switch{justify-self:start;text-align:left}.decision-stock .resident-top-strip{grid-column:1/-1;grid-row:2;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 0}.decision-stock .resident-top-flags{grid-column:1/-1;grid-row:3}.decision-stock .decision-inventory{grid-column:1/-1;grid-row:4}.decision-stock .decision-national{grid-column:1/-1;grid-row:5;justify-content:flex-start}.decision-stock .qualification-next-step{grid-row:6}.resident-top-metric{padding:4px 8px!important;min-height:44px!important;flex-direction:column;align-items:flex-start!important;gap:3px!important}.resident-top-metric:nth-child(2){border-right:0!important}.resident-top-metric:nth-child(3){padding-left:0!important}.resident-top-metric>strong{font-size:16px;max-width:100%;white-space:normal}.resident-top-metric[data-resident-detail=cohesion]{flex-wrap:wrap}.residents-heading{align-items:flex-start;gap:8px}.residents-heading h2{font-size:22px}.resident-tabs{gap:0}.resident-tabs button{padding:8px 12px!important;min-height:44px}.resident-topics>section{align-items:flex-start}.resident-topics p>span{flex-basis:100%}.resident-detail-overlay{padding:16px}.resident-detail-heading{padding:16px;gap:8px}.resident-detail-heading h2{font-size:20px}.resident-detail-heading>.resident-dialog-time{grid-column:1/-1;grid-row:2}.resident-detail-heading>[data-close-resident-detail]{grid-row:1}.resident-detail-body{padding:16px}.resident-detail-card footer{padding:12px 16px}.resident-detail-card button,.resident-topics button{min-height:44px}.resident-top-flags button{min-height:44px!important}.resident-city-switch select{min-height:44px}.resident-facts{grid-template-columns:1fr}.resident-detail-metrics{gap:16px}.living-detail-columns{grid-template-columns:1fr;gap:16px}.resident-ledger-link{align-items:flex-start;flex-direction:column;gap:8px}}@media(max-width:1200px)and (min-width:601px){.living-detail-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.living-coverage-column{grid-column:1/-1}}@media(max-width:1100px){.living-diagnostic-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.living-diagnostic-group{margin:0}.living-diagnostic-group>summary{min-height:44px;padding:7px 8px;align-items:flex-start;flex-direction:column;gap:3px}.living-diagnostic-group[open]{grid-column:1/-1}.living-diagnostic-group>p,.living-diagnostic-group>ul,.living-diagnostic-group>small{margin-left:8px;margin-right:8px}}.pasture-summary{display:grid;gap:8px;min-width:0}.pasture-summary>div{display:grid;gap:4px;min-width:0}.pasture-summary p{margin:0;color:#d9e0e3;font-variant-numeric:tabular-nums}.pasture-summary p.negative{color:#ef8b7b}.pasture-summary button{width:100%}.pasture-jobs{display:grid;gap:5px;min-width:0;padding:9px 11px;border-left:3px solid #e1a94a;border-radius:0 5px 5px 0;background:#30363b}.pasture-jobs>p{margin:0;font-variant-numeric:tabular-nums}.pasture-jobs>p:first-child strong{margin-right:6px;color:#f3c969}.pasture-jobs>p.muted{color:#abb5ba;font-size:.78rem}.pasture-jobs>p:not(:first-child):not(.muted){display:flex;flex-wrap:wrap;align-items:center;gap:6px}.pasture-jobs button{min-height:32px;padding:4px 10px}.pasture-district-overview{display:grid;gap:3px;margin:0;padding:0;list-style:none}.pasture-district-overview li{padding:7px 9px;border-top:1px solid #454c54;color:#d9e0e3;font-size:.82rem;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.pasture-district-overview li strong{margin-right:6px;color:#f3c969}.pasture-summary .pasture-district-overview li:first-child{border-top-color:#56616a}.pasture-overview{display:grid;gap:10px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid #454c54}.pasture-overview>p{margin:0;font-variant-numeric:tabular-nums}.pasture-overview>p strong{margin-right:6px;color:#f3c969}.pasture-district-list{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px}.pasture-district-list button{white-space:nowrap}.pasture-orders{display:grid;gap:5px;margin:8px 0 0;padding:0;list-style:none}.pasture-orders li{display:grid;gap:4px;padding:8px 10px;border-left:3px solid #56616a;background:#30363b;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.pasture-market-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:10px;align-items:start}.pasture-market-grid fieldset{display:grid;gap:8px;align-content:start;min-width:0;margin:0;padding:10px 12px;border:1px solid #454c54;border-radius:4px;background:#30363b}.pasture-market-grid legend{grid-column:1/-1;padding:0 4px;color:#f3c969;font-size:.82rem;font-variant-numeric:tabular-nums}.pasture-market-grid label{display:flex;align-items:center;gap:8px}.pasture-market-grid input[type=number]{min-width:0;width:100%;max-width:120px;font-variant-numeric:tabular-nums}.pasture-market-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pasture-market-actions button{min-width:0}@media(max-width:640px){.pasture-jobs>p:not(:first-child):not(.muted){width:100%}.pasture-jobs button{flex:1}}.pasture-staffing{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;margin:6px 0 0}.pasture-staffing .pasture-worker{display:inline-flex;align-items:center;gap:6px}.pasture-staffing .pasture-worker small{color:#a9bbb4}.pasture-staffing .pasture-worker b{min-width:34px;text-align:center;font-variant-numeric:tabular-nums;color:#f0d584}.pasture-staffing .pasture-worker button{min-width:30px;min-height:30px;padding:2px 7px}.building-detail-overlay{background:#030a0ccc}.building-detail-overlay .building-detail-card{background:var(--resident-surface,#111d21)!important;color:var(--resident-text,#e1e6da)!important;border:1px solid var(--resident-line,#3b4e50)!important;border-radius:6px;box-shadow:0 24px 80px #0008}.building-detail-overlay .building-detail-card h2{font:24px Georgia,Songti SC,serif;color:var(--resident-gold,#efd38d);margin:6px 0 14px}.building-detail-overlay .building-detail-card .muted,.building-detail-overlay .building-detail-card small{color:var(--resident-muted,#a9bbb4)}.building-detail-overlay .building-detail-card strong,.building-detail-overlay .building-detail-card p{color:var(--resident-text,#e1e6da)}.building-detail-overlay .building-detail-card .positive{color:#9de1b2!important}.building-detail-overlay .building-detail-card .negative,.building-detail-overlay .building-detail-card .danger-text{color:#ef9390!important}.building-detail-overlay .building-detail-card .building-mode{border-color:var(--resident-line,#3b4e50)!important;background:var(--resident-raised,#17262b)!important;box-shadow:none}.building-detail-overlay .building-detail-card fieldset{min-width:0;margin:8px 0 0;padding:10px 12px;border:1px solid var(--resident-line,#3b4e50);border-radius:6px;background:var(--resident-raised,#17262b)}.building-detail-overlay .building-detail-card legend{padding:0 6px;color:var(--resident-gold,#efd38d);font-size:13px;font-weight:600}.building-detail-overlay .building-detail-card .qualification-table caption{color:var(--resident-muted,#a9bbb4);font-weight:600}.building-detail-overlay .building-detail-card .qualification-table th,.building-detail-overlay .building-detail-card .qualification-table td{border-bottom-color:var(--resident-line,#3b4e50);color:var(--resident-text,#e1e6da)}.building-detail-overlay .building-detail-card .qualification-table thead th{color:var(--resident-muted,#a9bbb4)}.building-detail-overlay .building-detail-card meter,.building-detail-overlay .building-detail-card progress{accent-color:var(--resident-gold,#efd38d)}.building-detail-overlay .building-detail-card .event-actions{background:transparent;border-top:1px solid var(--resident-line,#3b4e50);margin-top:18px;padding-top:14px}.building-detail-overlay .building-detail-card input:not([type=checkbox]),.building-detail-overlay .building-detail-card select{background:#0d171a;border:1px solid var(--resident-line,#3b4e50);color:var(--resident-text,#e1e6da)}.building-detail-overlay .building-detail-body{color:var(--resident-text,#e1e6da)}.building-detail-overlay .building-detail-body .mode-preview-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 10px;padding:8px 10px;border:1px solid var(--resident-line,#3b4e50);border-radius:6px;background:var(--resident-raised,#17262b);cursor:pointer}.building-detail-overlay .building-detail-body .mode-preview-line>span{color:var(--resident-gold,#efd38d);font-weight:600}.building-detail-overlay .building-detail-body .mode-preview-line>small{color:var(--resident-muted,#a9bbb4)}@media(max-width:600px){.building-detail-overlay .building-detail-card h2{font-size:20px}}.grace-workspace{--grace-gold: #d6bc81;display:grid;gap:20px;min-width:0}.grace-workspace h3,.grace-workspace h4,.grace-workspace p{margin-top:0}.grace-overview{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(230px,.65fr);gap:20px;align-items:start}.grace-pyramid-panel,.grace-flow,.grace-draw{padding:18px;border:1px solid var(--rule);background:#17242655}.grace-pyramid{display:grid;gap:10px;padding-block:18px}.grace-pyramid-row{display:flex;justify-content:center;gap:8px}.grace-slot{flex:0 1 140px;min-width:0;display:grid;gap:5px;text-align:center;padding:10px 6px;min-height:105px;border:1px dashed #778270;background:#253332;overflow-wrap:anywhere}.grace-slot[data-grace-deep=true]{border-color:var(--grace-gold);background:linear-gradient(145deg,#5b4b30,#293635)}.grace-slot[aria-pressed=true]{outline:2px solid var(--grace-gold);outline-offset:2px}.grace-slot.is-occupied{border-style:solid}.grace-slot small{font-size:.7rem}.grace-slot strong{color:#eee2c0;font-size:.86rem}.grace-slot-symbol{font-size:1.35rem;color:var(--grace-gold);line-height:1.25}.grace-row-label{text-align:center;font-size:.74rem;color:var(--text-soft);margin-bottom:4px}.grace-flow dl{display:grid;gap:10px;margin:0}.grace-flow dl>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:5px 14px}.grace-flow dt{color:var(--text-soft)}.grace-flow dd{margin:0;color:#eee2c0;font-variant-numeric:tabular-nums}.grace-flow-bar{height:9px;margin:15px 0 8px;background:#142426;border:1px solid var(--rule)}.grace-flow-bar span{display:block;height:100%;background:var(--grace-gold)}.grace-note{font-size:.83rem;line-height:1.7;color:var(--text-soft)}.grace-actions,.grace-filters{display:flex;gap:10px;flex-wrap:wrap;align-items:end}.grace-filters{padding:12px 0;border-block:1px solid #62635466;margin-bottom:14px}.grace-filters label{display:grid;gap:5px;font-size:.8rem;flex:1 1 130px}.grace-filters select,.grace-filters input{width:100%;box-sizing:border-box;min-width:0}.grace-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,255px),1fr));gap:12px}.grace-card{display:flex;flex-direction:column;gap:10px;border:1px solid #6c715e;border-top:3px solid var(--grace-gold);padding:15px;background:linear-gradient(145deg,#303d3c,#202c2f);min-width:0}.grace-card header{display:flex;align-items:start;gap:10px;margin:0}.grace-card h4{font:700 1.08rem Georgia,Songti SC,serif;color:#e9d6a6;margin-bottom:4px}.grace-card .grace-god{color:var(--text-soft);font-size:.75rem}.grace-card-badge{border:1px solid #8b7954;min-width:35px;min-height:35px;display:grid;place-items:center;color:var(--grace-gold);font-size:1.2rem}.grace-card-meta{display:flex;flex-wrap:wrap;gap:5px 10px;font-size:.72rem;color:#c6cbb9}.grace-card-effects{display:grid;gap:8px;font-size:.83rem;line-height:1.65}.grace-card-effects p{margin:0}.grace-card-effects b{color:#e5d2a1}.grace-card blockquote{border-left:2px solid #9f8754;padding-left:9px;margin:2px 0;font:.85rem/1.8 Georgia,Songti SC,serif;color:#cac6b1}.grace-card details{font-size:.8rem;line-height:1.65;color:var(--text-soft)}.grace-card .grace-actions{margin-top:auto;padding-top:8px}.grace-card .grace-actions button{flex:1}.grace-selection{border-left:3px solid var(--grace-gold);padding:12px 14px;background:#394234}.grace-selection p{margin:0 0 6px}.grace-empty{padding:24px 12px;border:1px dashed #778270;text-align:center;color:var(--text-soft)}.grace-status{font-size:.83rem;line-height:1.6;color:#dbc997}.grace-collection-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}@media(max-width:1000px){.grace-overview{grid-template-columns:minmax(0,1fr)}}@media(max-width:650px){.grace-pyramid-panel,.grace-flow,.grace-draw{padding:12px}.grace-pyramid-row{gap:5px}.grace-slot{padding:9px 3px;min-height:92px}.grace-slot strong{font-size:.72rem}.grace-slot small{font-size:.65rem}.grace-card-grid{grid-template-columns:minmax(0,1fr)}.grace-filters label{flex-basis:110px}}
