:root{--ink:#e7eff5;--forest:#132945;--paper:#1d3f60;--gold:#ebce62;--muted:#b6c9d9;--line:#5a7b96;--red:#f4a69b}*{box-sizing:border-box}body{margin:0;background:#10253e;color:var(--ink);font:14px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0}button:disabled{cursor:not-allowed;opacity:.48}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #ffe771;outline-offset:3px}a{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:650;line-height:1.2}h1{font-size:26px;margin:0;letter-spacing:-.6px}h2{font-size:25px;letter-spacing:-.5px}h3{font-size:20px}.mast{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:56px;padding:10px 24px;background:linear-gradient(#284a70,#1c395b);border-bottom:2px solid #728bac;box-shadow:0 3px 12px #0005}.brand{font-weight:850;font-size:20px;letter-spacing:-.6px;text-decoration:none;line-height:1}.brand span{font-size:9px;color:#d5c376;letter-spacing:2px;display:block;margin-top:4px}.edition{font-size:10px;color:#ccd6df;letter-spacing:1.5px}.quiet{padding:7px;background:transparent;text-decoration:underline;text-underline-offset:4px;color:inherit;font-size:12px}.skip{position:absolute;top:-80px;left:10px;z-index:12;background:var(--gold);color:#12324d;padding:10px}.skip:focus{top:0}main{max-width:1800px;margin:auto;padding:16px 20px 30px}.title-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.eyebrow{color:#d8c477;font-size:9px;letter-spacing:1.5px;font-weight:700;margin:0 0 3px}.year-block{text-align:right;white-space:nowrap}.year-block>span{display:block;font-size:9px;letter-spacing:1px;color:#b2c8db}.year-block strong{font-size:20px}.year-block small{font-size:12px;color:#b4c9db}.turn-steps{display:flex;margin:0 0 12px;gap:5px}.turn-steps>span{background:#213d5b;border:1px solid #4e6a84;color:#aebfd0;font-size:11px;padding:5px 11px;border-radius:3px;display:flex;align-items:center;gap:6px}.turn-steps b{display:grid;place-items:center;border-radius:50%;width:17px;height:17px;background:#132b45;font-size:10px}.turn-steps [aria-current=step]{background:#41698b;border-color:#e6ce74;color:#fff6d6}.turn-steps [aria-current=step] b{background:#e6ce74;color:#18334c}.dashboard{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border:1px solid #7390a7;border-radius:4px;overflow:hidden;background:linear-gradient(#2e4f73,#254667);margin-bottom:12px;box-shadow:0 2px 8px #0003}.metric{padding:8px 14px;border-right:1px solid #6e8ba066;min-width:0}.metric:last-child{border-right:0}.metric-label{font-size:10px;display:block;color:#cad8e3;white-space:nowrap}.metric-value{font-size:23px;font-weight:650;line-height:1.3;color:#fff4d1}.metric-unit{font-size:10px;color:#bcd0df;margin-left:3px}.metric-delta{display:block;font-size:10px;color:#e9d589;min-height:0}.metric-delta:empty{display:none}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:12px;align-items:start}.world-panel{border:2px solid #6888a5;border-radius:4px;overflow:hidden;background:#254969;position:relative;box-shadow:0 6px 22px #0003;min-width:0}.map-top{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 13px;background:linear-gradient(#2c537d,#203e60);border-bottom:1px solid #7392a9;font-size:10px;letter-spacing:1.5px;color:#f0e2aa;min-height:38px}.live-dot{display:inline-block;border-radius:50%;width:6px;height:6px;background:#e9d24c;margin-right:6px}.map-button{font-size:10px;color:#e2edf7;background:#173654;border:1px solid #6c8ca5;border-radius:3px;padding:4px 9px}#world{height:580px;position:relative;overflow:hidden;background:#3473a6;isolation:isolate}#world canvas,#fallback{position:absolute;inset:0;width:100%;height:100%;display:block}#world canvas{z-index:0}#fallback{z-index:0}#fallback svg{width:100%;height:100%;display:block}.fallback-map-inner{height:100%;width:100%;transform-origin:center}.map-mission{position:absolute;left:12px;top:12px;z-index:4;padding:10px 13px;background:#193c60ee;border:1px solid #97afc5;border-left:4px solid #eed35f;border-radius:3px;box-shadow:0 3px 9px #0003;max-width:215px}.kicker{font-size:8px;letter-spacing:1.3px;color:#e8d48d;display:block;margin-bottom:4px}.map-mission strong{font-size:12px;line-height:1.4;display:block}.map-mission a{font-size:10px;color:#ffe48a;display:inline-block;margin-top:5px;text-underline-offset:3px}.map-tools{position:absolute;top:12px;right:12px;z-index:4;display:grid;justify-items:end;gap:9px}.layer-switch{display:flex;border:1px solid #9db0be;border-radius:3px;background:#1b3e63;box-shadow:0 2px 8px #0003;overflow:hidden}.layer-switch button{color:#dfeaf5;background:transparent;font-size:10px;padding:7px 9px;border-right:1px solid #6686a2}.layer-switch button:last-child{border-right:0}.layer-switch button[aria-pressed=true]{color:#1d3851;background:#e6d15d}.zoom-controls{display:grid;border:1px solid #99adbe;border-radius:3px;overflow:hidden}.zoom-controls button{width:31px;height:30px;background:#21476c;color:#f3f2dc;font-size:20px;line-height:1}.zoom-controls button+button{border-top:1px solid #66849e}.zoom-controls button:hover{background:#3a6386}.mini-panel{position:absolute;z-index:3;right:12px;bottom:12px;width:144px;border:2px solid #a8bac6;background:#1a395b;box-shadow:0 3px 10px #0004;border-radius:3px;overflow:hidden}#minimap{height:105px;overflow:hidden}#minimap svg{display:block;width:100%;height:100%}.mini-panel>span{font-size:8px;letter-spacing:1px;display:flex;justify-content:space-between;padding:4px 6px;color:#dce9f5}.mini-panel b{color:#f0d25e}.map-key{position:absolute;bottom:12px;left:12px;z-index:3;font-size:10px;background:#163752e8;color:#e3ebf1;padding:7px 10px;border:1px solid #8aa4b5;border-radius:3px;max-width:calc(100% - 185px)}#map-labels{position:absolute;inset:0;z-index:2;pointer-events:none}.town-label{position:absolute;pointer-events:auto;transform:translate(-50%,-150%);display:flex;align-items:center;padding:0;color:#f5f7ed;background:#1e486dcf;border:1px solid #bbccdc;border-radius:3px;box-shadow:0 2px 3px #0005;white-space:nowrap;min-height:26px;transition:background .15s;max-width:155px}.town-label:hover{background:#376c99}.town-label[aria-pressed=true]{border:2px solid #ffe543;background:#345b79}.town-emblem{width:25px;min-height:25px;display:grid;place-items:center;background:#123755;border-right:1px solid #9fb5c6;color:#f5d957;font-size:16px;line-height:1}.town-name{padding:2px 7px;font-size:10px;font-weight:600;line-height:1.3}.town-pop{font-size:8px;color:#d4e1eb;font-weight:400;display:block}.town-unit{position:absolute;bottom:-24px;left:calc(50% - 10px);width:21px;height:21px;display:grid;place-items:center;background:#294e79;border:2px solid #ded674;border-radius:50%;font-size:9px;color:#fff8d5;box-shadow:0 2px 3px #0004}.town-label[aria-pressed=true] .town-unit{background:#ebce55;color:#1c3c5c}.world-status{font-size:11px;text-align:center;background:#244c70;border-top:1px solid #7492a8;color:#d4e7ee;padding:7px 12px;margin:0;min-height:30px}.districts{display:flex;justify-content:center;gap:4px;flex-wrap:wrap;padding:8px;background:#173754}.districts button{padding:5px 9px;color:#d3e1ec;background:#294e72;border:1px solid #6487a6;border-radius:3px;font-size:10px}.districts button[aria-pressed=true]{color:#233c51;background:#e2ce68;border-color:#f1df82}.citizen{padding:11px 14px;background:linear-gradient(#274e72,#214264);border-top:1px solid #67849c;min-height:80px}.citizen strong{font-size:10px;color:#eedc9a;display:block;margin-bottom:4px}.citizen p{font-size:12px;line-height:1.55;margin:0;color:#e3edf2}.map-bottom{display:flex;justify-content:space-between;gap:10px;color:#abc4d7;background:#193957;padding:6px 13px;font-size:9px}.council-panel{background:linear-gradient(145deg,#2b5279,#1e3d60);border:2px solid #8ba2b7;border-top-color:#ebd278;border-radius:4px;box-shadow:0 5px 20px #0003;overflow:hidden;min-width:0}.chapter-progress{display:flex;height:5px;gap:2px;background:#122b46}.chapter-progress i{background:#476582;flex:1}.chapter-progress i.done{background:#e6d37c}#card{padding:20px}.chapter-label{font-size:9px;letter-spacing:1.3px;text-transform:uppercase;color:#ecd691;margin-bottom:15px}.speaker{display:flex;align-items:center;gap:8px;color:#c1d6e6;font-size:10px;margin-bottom:13px}.portrait{border-radius:50%;border:2px solid #d6c889;background:#203b61;display:grid;place-items:center;width:30px;height:30px;color:#f4e9c3;font-weight:700;font-size:16px}.story{font-size:13px;line-height:1.65;color:#d1dfeb;margin-bottom:19px}#card h2{margin-bottom:12px}.choices{display:grid;gap:9px}.choice{text-align:left;width:100%;padding:13px 12px;background:#1a3a5b;border:1px solid #7996ae;border-radius:3px;color:#f4f4e7;box-shadow:inset 0 1px #b0c3d31c}.choice:hover:not(:disabled){background:#365e84;border-color:#ead27b}.choice-heading{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:5px}.choice-heading strong{font-size:13px;line-height:1.4}.cost{color:#f3d67e;font-size:10px;white-space:nowrap;line-height:1.8}.effect{display:block;font-size:10px;color:#9fd5ee;line-height:1.65}.choice-reason{display:block;font-size:11px;color:#ccdeea;line-height:1.5;margin-top:5px}.panel-foot{border-top:1px solid #6483a0;color:#b7cfdf;padding-top:12px;margin:17px 0 0;font-size:10px;line-height:1.7}.primary{border:1px solid #f1d47a;background:linear-gradient(#d8bc63,#b6973c);color:#1a3550;font-size:12px;font-weight:750;border-radius:3px;padding:13px 16px;display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:44px;box-shadow:inset 0 1px #fff7ba}.primary:hover{background:#e8d07a}.report-list{list-style:none;padding:0;margin:0 0 16px}.report-list li{padding:10px 0;border-bottom:1px solid #62809c;font-size:11px;color:#cfdfeb;line-height:1.65}.report-list strong{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.8px;color:#efd483;margin-bottom:4px}.changes{display:flex;flex-wrap:wrap;gap:5px;margin:13px 0 17px}.change{border:1px solid #6a87a1;background:#193956;padding:5px 7px;border-radius:3px;font-size:10px;color:#d1e5ee}.event-badge{display:inline-block;background:#a9663e;color:#fff5d1;font-size:9px;padding:4px 8px;margin-bottom:14px;border:1px solid #dcb572;border-radius:3px}.score-total{font-size:68px;line-height:1;font-weight:700;margin:15px 0;color:#f6df85}.score-total small{font-size:17px;color:#bacfdc}.ending-note{color:#d4e0e9;font-size:12px;line-height:1.7}.score-row{display:grid;grid-template-columns:86px 1fr 25px;gap:8px;align-items:center;margin:14px 0;font-size:10px}.score-track{height:7px;background:#12304d;border:1px solid #64809a;border-radius:4px;overflow:hidden}.score-fill{height:100%;background:#e6d073}.result-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.result-actions .quiet{font-size:10px}.secondary-drawer,.national-sheets details,.journal{border:1px solid #557694;background:#1a3754;border-radius:3px;padding:13px 15px;margin-top:12px}.secondary-drawer>summary,.national-sheets summary,.journal summary{cursor:pointer;font-size:13px;font-weight:600;color:#d6e5ef}.secondary-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;padding:14px 0 0}.secondary-stats>div{font-size:10px;color:#b8cbda;min-width:0}.secondary-stats strong{display:block;font-size:18px;color:#f0e3b7;margin-top:5px;font-weight:600}.secondary-stats small{font-size:9px;display:block;color:#9cb6ca;margin-top:4px}.national-sheets{display:grid;grid-template-columns:1fr 1fr;gap:12px}.national-sheets details{min-width:0;margin-top:12px;align-self:start}.national-sheets p{font-size:12px;line-height:1.8;color:#c2d5e3;margin:14px 0 8px;overflow-wrap:anywhere}.national-sheets .formula{background:#122e48;border-left:2px solid #bfa95d;padding:11px;color:#d8d5ac;font-size:11px}.account-pairs{margin:12px 0;overflow-wrap:anywhere}.account-pairs>div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #6b88a04d;padding:7px 0;font-size:11px}.account-pairs dt{color:#a9c2d5}.account-pairs dd{color:#e7ecdf;margin:0;text-align:right}.table-scroll{overflow-x:auto;width:100%;max-width:100%;margin:12px 0}.table-scroll table{border-collapse:collapse;width:100%;min-width:350px;font-size:11px}.table-scroll th{color:#e8d491;font-weight:600;white-space:nowrap;border-bottom:1px solid #7793ab;text-align:left;padding:8px 9px 8px 0}.table-scroll td{border-bottom:1px solid #6b88a04d;padding:9px 9px 9px 0;color:#cadbe6}.table-scroll td:not(:first-child),.table-scroll th:not(:first-child){text-align:right}.journal summary span{float:right;font-size:10px;color:#9fb9ce;font-weight:400}.journal article{padding:15px;margin-top:12px;background:#203f5d;border:1px solid #607d98;font-size:12px}.journal article p{color:#c6d6e1}.footline{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;font-size:10px;color:#a6bdd0;padding:14px 0}.model-note{max-width:900px;font-size:12px;line-height:1.8;color:#a8c0d3;margin-top:6px}.model-note summary{cursor:pointer;color:#c7d8e5}.model-note p{margin:13px 0}.storage-note{color:#edcf85;font-size:11px}.error-message{color:#ffb9aa;font-size:12px}dialog{background:linear-gradient(140deg,#2c5276,#193857);color:#e7eff5;border:2px solid #bda869;border-radius:6px;max-width:480px;width:calc(100% - 30px);padding:30px;max-height:90vh;overflow:auto;box-shadow:0 25px 100px #0009}dialog::backdrop{background:#06182bd6;backdrop-filter:blur(3px)}dialog h2{font-size:30px;margin:15px 0}dialog p,dialog li{color:#c7d9e6;font-size:14px;line-height:1.7}dialog ol{padding-left:20px}dialog li{margin:10px 0}dialog label{display:block;font-size:12px;margin-top:20px}dialog label small{display:block;color:#a8c2d5;font-size:10px}dialog input{width:100%;padding:11px 12px;border:1px solid #8ba6ba;border-radius:3px;background:#13304c;color:#f8ecc8;margin:8px 0 18px}.dialog-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}dialog .small{font-size:10px;margin:20px 0 0}.dialog-emblem{font-size:25px;color:#e8cd73}
@media(min-width:1500px){.game-layout{grid-template-columns:minmax(0,1fr) 410px}#world{height:650px}}
@media(max-width:1100px){.game-layout{grid-template-columns:minmax(0,1fr) 340px}.metric{padding:8px 10px}#world{height:570px}.town-name{font-size:9px;padding:2px 5px}.town-emblem{width:21px;min-height:24px;font-size:13px}.map-mission{max-width:185px}#card{padding:17px}.choice{padding:12px 10px}}
@media(max-width:800px){main{padding:13px 10px 24px}.mast{padding:10px 14px}.edition{display:none}h1{font-size:24px}.title-row .eyebrow{font-size:8px}.year-block strong{font-size:18px}.year-block>span{font-size:8px}.turn-steps{gap:4px}.turn-steps>span{font-size:9px;padding:5px 6px;flex:1;gap:5px}.turn-steps b{height:15px;width:15px;font-size:9px;flex-shrink:0}.dashboard{grid-template-columns:repeat(3,minmax(0,1fr))}.metric:nth-child(-n+3){border-bottom:1px solid #6e8ba066}.metric:nth-child(3){border-right:0}.metric{padding:7px 11px}.metric-label{font-size:10px}.metric-value{font-size:22px}.metric-delta{font-size:9px}.game-layout{grid-template-columns:1fr;gap:12px}#world{height:440px}.map-mission{left:8px;top:8px;max-width:168px;padding:8px 9px}.map-mission strong{font-size:11px}.map-tools{top:8px;right:8px}.layer-switch button{font-size:10px;padding:6px 8px}.zoom-controls{display:flex}.zoom-controls button+button{border-top:0;border-left:1px solid #66849e}.zoom-controls button{height:27px;width:28px}.mini-panel{width:100px;right:8px;bottom:8px}#minimap{height:72px}.mini-panel>span{font-size:6px;letter-spacing:.3px}.map-key{left:8px;bottom:8px;font-size:9px;max-width:calc(100% - 125px);padding:5px 7px}.town-name{font-size:9px;padding:2px 5px}.town-emblem{width:20px;min-height:23px;font-size:12px}.town-pop{display:none}.town-label{min-height:24px;max-width:130px}.town-unit{width:18px;height:18px;bottom:-20px;font-size:8px}.citizen{min-height:0}.citizen p{font-size:12px}.districts{padding:7px;gap:4px}.districts button{font-size:10px;padding:5px 7px}.council-panel{border-width:1px;border-top-width:3px}#card{padding:20px}#card h2{font-size:26px}.story{font-size:14px}.choice-heading strong{font-size:14px}.choice-reason{font-size:12px}.effect{font-size:11px}.cost{font-size:11px}.speaker{font-size:11px}.panel-foot{font-size:11px}.report-list li{font-size:12px}.secondary-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.national-sheets{grid-template-columns:1fr;gap:0}.journal summary span{float:none;display:block;margin:5px 0 0 16px}.national-sheets summary,.secondary-drawer>summary{font-size:13px}.world-status{font-size:10px}.footline{font-size:9px}dialog{padding:26px}dialog h2{font-size:27px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.work-outcome{font-size:12px;line-height:1.65;color:#e1e8dc;margin:14px 0}.work-outcome strong{color:#ffe28e}.year-calculation{border-top:1px solid #6a88a0;padding:10px 0 15px;font-size:11px;color:#c1d6e6}.year-calculation summary{cursor:pointer;color:#d8c68f}.year-calculation p{font-size:11px;line-height:1.7;margin:10px 0}.effect{font-size:11px}.choice-reason{font-size:12px}
.replay-settings{border-top:1px solid #6484a0;border-bottom:1px solid #6484a0;padding:10px 0;margin:18px 0;font-size:11px;color:#bcd0df}.replay-settings summary{cursor:pointer}.replay-settings label{margin-top:12px}.replay-settings input{margin-bottom:4px}
/* Decision-first interface, researched against NN/G, Google Playables and Xbox XAG. */
[hidden]{display:none!important}:root{--ink:#edf3f8;--forest:#0d2032;--paper:#173249;--gold:#f2d17a;--muted:#b7c8d7;--line:#49647c}body{background:#0b1d2d;font-size:16px;line-height:1.6}.mast{background:#10283d;border-bottom:1px solid #3d586e;box-shadow:none;min-height:56px}.quiet{font-size:14px;min-height:44px}main{max-width:1440px;padding:22px 28px 35px}h1{font-size:30px}h2{font-size:28px}.eyebrow{font-size:11px;letter-spacing:1.3px}.title-row{margin-bottom:16px}.year-block strong{font-size:24px}.year-block>span{font-size:11px}.dashboard{grid-template-columns:repeat(4,minmax(0,1fr));background:#142e44;border:1px solid #3e5d76;box-shadow:none;margin-bottom:15px}.metric{padding:12px 18px;border-color:#3e5d76}.metric-label{font-size:13px}.metric-value{font-size:27px}.metric-unit{font-size:13px}.metric-delta{font-size:12px}.game-nav{position:sticky;top:0;z-index:15;display:flex;gap:7px;background:#0b1d2df5;padding:9px 0 18px;backdrop-filter:blur(8px)}.game-nav button{flex:1;min-height:48px;border:1px solid #3f607a;border-radius:7px;background:#142c40;color:#bed0df;font-size:15px;font-weight:600;padding:10px 16px}.game-nav button[aria-selected=true]{background:#e4c477;color:#152c3e;border-color:#f8dc96}.game-nav button span{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:50%;background:#1e4764;color:#f6d992;font-size:12px;margin-left:3px}.game-nav button[aria-selected=true] span{background:#193d57}.view-panel{min-width:0}.view-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:12px 0 26px}.view-heading h2{margin:4px 0 8px}.view-heading p{color:#b8cbda;margin:4px 0;font-size:15px}.view-heading .primary{flex-shrink:0}.game-layout{display:grid;grid-template-columns:minmax(0,820px) minmax(240px,1fr);gap:24px;align-items:start}.council-panel{border:1px solid #4c6d87;border-top:3px solid #e3c786;border-radius:10px;background:#163147;box-shadow:none}#card{padding:26px 30px}.chapter-progress{height:4px}.chapter-label{font-size:11px;letter-spacing:1px;margin-bottom:16px}.speaker{font-size:14px;color:#b9cddd;margin-bottom:16px}.portrait{width:38px;height:38px;font-size:18px}.story{font-size:17px;line-height:1.65;color:#d1dfeb;margin-bottom:23px}#card h2{font-size:29px;line-height:1.25}.choices{gap:12px}.choice{border:2px solid #54738e;background:#10283d;border-radius:8px;padding:17px 18px;color:#f2f6f8;box-shadow:none;min-height:48px}.choice:hover:not(:disabled){background:#1d405a;border-color:#b0c1d0}.choice[aria-pressed=true]{background:#27495f;border-color:#f2d17a;box-shadow:0 0 0 1px #f2d17a}.choice:disabled{opacity:1;background:#102333;border-color:#334d63;color:#8da4b8}.choice:disabled .cost{color:#d8ac95}.choice-heading{gap:16px;margin-bottom:5px}.choice-heading strong{display:flex;align-items:flex-start;gap:10px;font-size:17px;line-height:1.4}.choice-letter{display:inline-grid;place-items:center;width:25px;height:25px;border:1px solid #6a89a3;border-radius:5px;font-size:12px;flex-shrink:0;color:#c7dbea;line-height:1}.choice[aria-pressed=true] .choice-letter{background:#edce82;border-color:#edce82;color:#142c3e}.cost{font-size:14px;white-space:nowrap;line-height:1.7}.choice-reason{font-size:15px;line-height:1.6;color:#c6d7e5;margin:10px 0 0}.effect{font-size:13px;line-height:1.65;color:#9cd4e8;margin-top:10px}.decision-footer{position:sticky;bottom:0;z-index:3;background:#163147f5;border-top:1px solid #57758c;padding:13px 0 0;margin-top:20px;backdrop-filter:blur(6px)}.decision-footer p{font-size:13px;line-height:1.4;color:#b8cddd;margin:0 0 9px}.decision-footer .primary{width:100%}.primary{min-height:48px;font-size:15px;line-height:1.4;padding:13px 18px;border-radius:6px;background:#e7c879;box-shadow:none;color:#173045;border-color:#f3d991}.primary:disabled{background:#294459;border-color:#46617a;color:#a1b9cb;opacity:1}.locked-option{border:1px dashed #56728a;background:#10273b;border-radius:8px;padding:16px 18px;display:grid;gap:5px}.locked-option strong{font-size:15px;color:#b8cad9}.locked-option>span{font-size:13px;color:#b3c3cf}.text-action{background:none;color:#efd18c;min-height:44px;text-align:left;font-size:14px;padding:6px 0;text-decoration:underline;text-underline-offset:3px}.unlock-badge{display:inline-block;margin:5px 0 0;color:#a5e1c9;font-size:12px}.development-brief{border:1px solid #35536a;border-radius:9px;background:#122b3f;padding:23px}.development-brief h2{font-size:24px;margin:12px 0}.development-brief>p:not(.eyebrow){font-size:15px;color:#bacfdd;line-height:1.65}.development-brief .primary{width:100%;margin:16px 0 0}#upcoming-benefits h3{font-size:17px;margin:25px 0 10px}#upcoming-benefits p{font-size:14px;color:#b4cddd;margin:8px 0}.turn-steps{font-size:13px;margin:0 0 16px}.turn-steps>span{font-size:12px;padding:7px 11px}.turn-steps b{width:21px;height:21px;font-size:12px}body:not([data-view=council]) .turn-steps{display:none}.report-list li{font-size:15px;line-height:1.65;padding:12px 0}.report-list strong{font-size:11px}.work-outcome{font-size:16px}.change{font-size:13px;padding:6px 10px}.year-calculation{font-size:14px;margin-bottom:15px}.year-calculation summary{min-height:44px;padding:8px 0}.year-calculation p{font-size:14px}.panel-foot{font-size:13px}.ending-note{font-size:16px}.score-row{font-size:14px;grid-template-columns:105px 1fr 30px;margin:18px 0}.result-actions .quiet{font-size:14px}.result-actions{gap:14px}.view-panel .world-panel{border:1px solid #54728a;border-radius:9px;box-shadow:none}.map-top{background:#16334c;font-size:12px;padding:10px 15px}.map-button{font-size:13px;min-height:44px;padding:9px 12px}.map-mission{display:none}#world{height:580px}.layer-switch button{min-height:44px;min-width:48px;font-size:13px;padding:9px 12px}.zoom-controls button{width:44px;height:44px;font-size:25px}.map-tools{gap:10px}.map-key{font-size:12px;padding:9px 12px;max-width:calc(100% - 185px)}.town-label{min-height:32px}.town-name{font-size:12px;padding:4px 8px}.town-pop{font-size:10px}.town-emblem{width:29px;min-height:30px}.citizen{padding:17px}.citizen strong{font-size:14px}.citizen p{font-size:16px;line-height:1.65}.world-status{font-size:13px;padding:9px 14px}.map-bottom{font-size:11px;padding:9px 15px}.secondary-drawer,.national-sheets details,.journal{background:#142d42;border:1px solid #42637d;border-radius:8px;padding:18px;margin-top:14px}.secondary-drawer>summary,.national-sheets summary,.journal summary{font-size:16px;min-height:32px;line-height:1.5}.secondary-stats{gap:18px}.secondary-stats>div{font-size:13px}.secondary-stats strong{font-size:21px}.secondary-stats small{font-size:12px;line-height:1.6}.national-sheets{gap:18px}.national-sheets p,.model-note p{font-size:15px;line-height:1.8}.national-sheets .formula{font-size:13px}.account-pairs>div{font-size:14px;padding:10px 0}.table-scroll table{font-size:14px;min-width:400px}.model-note{max-width:none}.model-note summary{font-size:16px;min-height:44px;padding:12px 0}.journal summary span{font-size:12px}.journal article p{font-size:15px}.learned-record{border:1px solid #496780;border-radius:8px;background:#153149;padding:20px}.learned-record h3{font-size:20px}.learned-record p{font-size:15px;margin:8px 0;color:#b7cfdf}.footline{font-size:12px;margin-top:18px}.insight-bank{background:#19364c;border:1px solid #e5c880;border-radius:8px;padding:14px 22px;min-width:160px;text-align:center}.insight-bank strong{font-size:32px;display:block;line-height:1.15;color:#f1d687}.insight-bank span{font-size:13px;color:#bfd2df}.skill-rule{background:#17334a;border-left:3px solid #d9c080;border-radius:4px;font-size:15px;color:#c4d5e3;padding:14px 18px;line-height:1.6}.skill-root{max-width:620px;margin:26px auto 38px;position:relative;border:1px solid #90adbc;border-radius:8px;padding:15px 20px;display:flex;align-items:center;gap:15px;background:#234359}.skill-root>span{color:#eed080;font-size:25px}.skill-root strong{display:block;font-size:17px}.skill-root small{display:block;font-size:13px;color:#bbd0de}.skill-root b{margin-left:auto;color:#99d9bd;font-size:12px}.skill-root::after{content:'';width:1px;height:25px;background:#678398;position:absolute;bottom:-26px;left:50%}.skill-branches{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;position:relative}.skill-branches::before{content:'';position:absolute;top:-14px;left:16.66%;right:16.66%;border-top:1px solid #678398}.skill-branch{min-width:0;--branch:#9fd7bd}.skill-branch[data-skill-branch=systems]{--branch:#9cc9f0}.skill-branch[data-skill-branch=resilience]{--branch:#ecc58a}.skill-branch>header{position:relative;min-height:100px;text-align:center;padding:10px 8px}.skill-branch>header::before{content:'';width:1px;height:24px;background:#678398;position:absolute;top:-14px;left:50%}.skill-branch>header>span{color:var(--branch);font-size:24px}.skill-branch h3{font-size:20px;margin:2px 0 5px;color:var(--branch)}.skill-branch header p{font-size:14px;color:#b4cbdc;margin:4px 0 15px}.skill-node{position:relative;width:100%;text-align:left;min-height:165px;border:1px solid #4e6b83;border-left:4px solid var(--branch);border-radius:8px;background:#153149;color:#e9f1f7;padding:16px;display:flex;flex-direction:column;gap:10px;margin:0 0 28px}.skill-node+.skill-node::before{content:'';position:absolute;top:-29px;height:27px;left:50%;border-left:2px solid #55748b}.skill-node:hover{border-color:#b6d0df;background:#1e405a}.skill-node.available{box-shadow:0 0 0 1px var(--branch)}.skill-node.learned{background:#163b3e;border-color:#73b49d}.skill-node.locked,.skill-node.unaffordable,.skill-node.waiting{background:#102739;border-color:#456076}.skill-node strong{font-size:18px;font-weight:650;line-height:1.3}.skill-node-top{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.skill-tier{width:25px;height:25px;display:inline-grid;place-items:center;border-radius:50%;background:#294b63;font-size:12px;color:#d6e6f1}.skill-state{font-size:11px;color:#d6e6f2;flex:1}.skill-cost{font-size:12px;color:#f0d18a}.learned .skill-state{color:#a5e3c9}.available .skill-state{color:#f9df97}.skill-summary{font-size:14px;color:#c6d9e7;line-height:1.6}.skill-node small{font-size:12px;color:#a8c0d2;margin-top:auto}.branch-filter{display:none}.skill-feedback{color:#c5ead8;font-size:15px;min-height:20px}.skill-feedback:not(:empty){background:#193d42;border:1px solid #69a995;padding:12px 16px;border-radius:6px;position:sticky;bottom:12px;z-index:5}.dialog-close{width:44px;height:44px;border:1px solid #6e8ba4;background:#193c58;color:#e9f1f5;border-radius:6px;font-size:27px;position:absolute;top:15px;right:15px}#skill-detail{max-width:560px;padding-top:31px}#skill-detail h2{padding-right:30px;font-size:28px}#skill-detail p{font-size:16px}.skill-detail-benefit{color:#efd58e!important;font-weight:600}.skill-facts{margin:20px 0}.skill-facts>div{display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid #54718a;padding:10px 0;font-size:15px}.skill-facts dt{color:#b3cadb}.skill-facts dd{margin:0;text-align:right;color:#f0e3bc}.skill-status-reason{font-size:14px!important;color:#bfd0de!important}#learn-skill{width:100%}dialog{border:1px solid #9bb1c2;border-top:3px solid #dfc680;border-radius:10px;background:#18364f;padding:30px}dialog p,dialog li{font-size:16px}dialog .small{font-size:12px}dialog label{font-size:14px}dialog label small{font-size:12px}.replay-settings{font-size:14px}.replay-settings summary{min-height:35px}.dialog-actions{gap:15px}
@media(max-width:1000px){.game-layout{grid-template-columns:minmax(0,1fr) 260px;gap:16px}#card{padding:22px}.skill-node{padding:13px}.skill-node-top{gap:5px}.skill-node strong{font-size:17px}}
@media(max-width:760px){main{padding:15px 14px 100px}.mast{min-height:52px;padding:8px 15px}.brand{font-size:18px}.brand span{font-size:9px}.mast .quiet{font-size:13px}h1{font-size:24px}.title-row{align-items:center;margin-bottom:14px}.title-row .eyebrow{font-size:9px}.year-block>span{display:none}.year-block strong{font-size:20px}.year-block small{font-size:12px}.dashboard{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:15px}.metric{padding:9px 8px;border-right:1px solid #3e5d76!important;border-bottom:0!important}.metric:last-child{border-right:0!important}.metric-label{font-size:11px;white-space:normal;line-height:1.3;margin-bottom:5px}.metric-value{font-size:21px}.metric-unit{font-size:10px;margin-left:2px}.metric-delta{font-size:10px;line-height:1.4;margin-top:4px}.game-nav{position:fixed;bottom:0;top:auto;left:0;right:0;z-index:30;padding:7px 7px calc(7px + env(safe-area-inset-bottom));gap:5px;border-top:1px solid #54728b;background:#102a3ff7}.game-nav button{padding:10px 2px;min-height:49px;min-width:0;font-size:12px;border-radius:6px;flex:1}.game-nav button span{width:18px;min-width:18px;height:18px;font-size:10px;margin-left:1px}.turn-steps{gap:4px;margin-bottom:14px}.turn-steps>span{font-size:11px;padding:7px 6px;line-height:1.35;min-height:42px}.turn-steps b{width:19px;height:19px;flex-shrink:0;font-size:11px}.game-layout{grid-template-columns:1fr;gap:16px}.council-panel{border-radius:8px}#card{padding:21px 18px}#card h2{font-size:27px}.chapter-label{font-size:11px;line-height:1.5;margin-bottom:14px}.speaker{font-size:13px}.story{font-size:16px;margin-bottom:20px}.choice{padding:16px 13px}.choice-heading{display:block}.choice-heading strong{font-size:16px;line-height:1.45}.cost{display:block;margin:7px 0 0 35px;font-size:14px}.choice-reason{font-size:15px}.effect{font-size:13px}.decision-footer{bottom:75px;margin-left:-3px;margin-right:-3px;padding:12px 3px 4px}.development-brief{padding:20px}.development-brief h2{font-size:22px}.development-brief>p:not(.eyebrow){font-size:15px}.view-heading{align-items:flex-start;gap:12px;margin:6px 0 22px}.view-heading h2{font-size:26px}.view-heading p{font-size:15px}.view-heading>.primary{font-size:13px;max-width:130px;padding:10px 12px}.insight-bank{min-width:92px;padding:12px 10px}.insight-bank strong{font-size:27px}.insight-bank span{font-size:11px}.skill-rule{font-size:14px;padding:13px 14px}.skill-root{margin:22px 0 28px;padding:14px 16px;gap:12px}.skill-root strong{font-size:16px}.skill-root small{font-size:12px}.skill-root b{display:none}.skill-root::after{display:none}.branch-filter{display:flex;gap:7px;margin:0 0 18px}.branch-filter button{flex:1;min-height:48px;border:1px solid #55758f;border-radius:6px;background:#132d44;color:#bbd0df;font-size:13px;padding:7px}.branch-filter button[aria-pressed=true]{background:#3a5a70;color:#fbe7aa;border-color:#dbc17e}.skill-branches{grid-template-columns:1fr;gap:0}.skill-branches::before{display:none}.skill-branch[data-selected=false]{display:none}.skill-branch>header{min-height:0;text-align:left;padding:0 0 16px;display:grid;grid-template-columns:30px 1fr;gap:0 7px}.skill-branch>header::before{display:none}.skill-branch>header>span{grid-row:1/3}.skill-branch header p{margin:0;grid-column:2;font-size:14px}.skill-node{padding:17px;min-height:165px;margin-bottom:25px}.skill-node+.skill-node::before{height:24px;top:-26px}.skill-node strong{font-size:19px}.skill-summary{font-size:15px}.skill-node small{font-size:13px}.skill-state{font-size:12px}.skill-cost{font-size:13px}.skill-feedback:not(:empty){bottom:75px}.skill-facts>div{font-size:14px}#world{height:520px}.mini-panel{display:none}.map-key{max-width:calc(100% - 20px);font-size:12px;padding:8px 10px}.layer-switch button{min-height:44px;min-width:48px;font-size:13px;padding:9px}.zoom-controls button{width:44px;height:44px;font-size:25px}.map-tools{top:10px;right:10px}.world-status{font-size:12px}.town-label{width:44px;height:44px;min-height:44px;max-width:none;border-radius:50%;transform:translate(-50%,-90%);padding:0;border:2px solid #c2d0d8;background:#123754;box-shadow:0 3px 8px #0005}.town-emblem{width:40px;min-height:40px;height:40px;border:0;border-radius:50%;font-size:20px}.town-name{display:none}.town-unit{display:none}.town-label[aria-pressed=true]{border-color:#f7d575}.town-label[aria-pressed=true] .town-name{display:block;position:absolute;bottom:49px;left:50%;transform:translateX(-50%);padding:7px 10px;font-size:13px;border:1px solid #eccd79;border-radius:5px;background:#102d45;pointer-events:none}.town-pop{display:none}.citizen strong{font-size:14px}.citizen p{font-size:16px}.map-bottom{font-size:11px}.secondary-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.secondary-stats>div{font-size:13px}.secondary-stats strong{font-size:22px}.secondary-stats small{font-size:12px}.national-sheets{gap:0}.national-sheets details,.secondary-drawer,.journal{padding:17px}.national-sheets summary,.secondary-drawer>summary,.journal summary{font-size:16px;min-height:36px}.national-sheets p,.model-note p{font-size:15px}.account-pairs>div{font-size:13px}.score-row{font-size:13px;grid-template-columns:92px 1fr 26px}.journal summary span{font-size:12px}.footline{font-size:11px;gap:8px}.footline .quiet{font-size:13px}dialog{padding:25px}dialog p,dialog li{font-size:16px}#skill-detail{padding:27px 23px}#skill-detail h2{font-size:26px}.dialog-close{top:12px;right:12px}.result-actions .quiet{font-size:14px}}
/* Learned node states provide visual confirmation; the live region announces it without covering nodes. */
.skill-feedback,.skill-feedback:not(:empty){position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;padding:0!important;margin:0!important;border:0!important;min-height:0!important}
.metric-value,.metric-unit{white-space:nowrap}.metric-label{overflow-wrap:anywhere}
