@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700&family=Noto+Serif+KR:wght@400;500;600;700&display=swap');
:root{--paper:#f4f1e9;--panel:#fbf9f2;--ink:#293c32;--muted:#7c8273;--line:#dcdccf;--green:#244c3b;--gold:#b28a42;--red:#ad6650;--soft:#e9eddf;--serif:'Noto Serif KR',serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Noto Sans KR',sans-serif;font-size:14px}button,input{font:inherit}button{color:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:4px}button{transition:background .18s,transform .18s}button:not(:disabled):active{transform:translateY(1px)}svg{width:20px;height:20px;flex-shrink:0;vertical-align:middle}.shell{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:36px 22px 22px;background:#eeeee3;border-right:1px solid var(--line);display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-weight:700;font-size:21px;letter-spacing:-1px}.brand svg{width:31px;height:31px;color:var(--gold)}.brand-sub{font-size:9px;letter-spacing:2.5px;color:var(--muted);margin:8px 0 30px 41px}.country{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:23px 0;text-align:center}.crest{width:47px;height:54px;background:var(--green);clip-path:polygon(0 0,100% 0,100% 70%,50% 100%,0 70%);margin:0 auto 13px;display:grid;place-items:center;color:#dac28d}.crest svg{width:26px;height:26px}.country strong{font-family:var(--serif);font-size:16px}.country p{font-size:11px;color:var(--muted);margin:7px 0 0}.nav{display:grid;gap:7px;margin-top:25px}.nav button{border:0;background:transparent;display:flex;align-items:center;gap:12px;padding:13px 14px;text-align:left;border-radius:4px;color:#6b7469;font-size:13px}.nav button.active{background:var(--green);color:#fffaf0}.nav button:hover:not(.active){background:#e3e5d7}.sidebar-bottom{margin-top:auto;padding-top:35px}.era{border:1px solid #d2d6c4;padding:14px;font-size:11px;line-height:1.8;color:#707a69}.era strong{color:var(--green);display:block;font-size:12px}.save{font-size:10px;color:var(--muted);margin-top:20px;display:flex;gap:6px;align-items:center}.dot{height:5px;width:5px;border-radius:50%;background:#7e9570;display:inline-block}.main{padding:30px 38px 24px;max-width:1600px;width:100%;margin:auto}.topbar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:23px;gap:12px}.eyebrow{font-size:10px;letter-spacing:1.7px;color:#89917d;font-weight:600}.topbar h1{font-family:var(--serif);font-weight:600;font-size:24px;margin:8px 0 0;letter-spacing:-1px}.top-meta{display:flex;align-items:center;gap:16px;font-size:11px;color:var(--muted)}.outline-btn{border:1px solid #ccd1c0;background:transparent;padding:8px 12px;border-radius:3px;font-size:11px}.outline-btn:hover{background:var(--soft)}.stats{display:grid;grid-template-columns:repeat(5,1fr);margin:24px 0;gap:12px}.stat{border:1px solid var(--line);background:var(--panel);padding:16px 18px 13px;border-radius:4px}.stat-label{font-size:11px;color:#7f8776;display:flex;align-items:center;gap:7px}.stat-label svg{width:15px;height:15px}.stat-num{display:flex;align-items:baseline;gap:7px;margin:10px 0 9px;font-family:var(--serif);font-weight:600;font-size:27px}.stat-num small{font-family:inherit;font-size:11px;font-weight:400;color:var(--muted)}.stat-bottom{font-size:10px;color:var(--muted);min-height:12px}.stat-bar{height:3px;background:#e8eadf;margin-top:13px}.stat-bar span{display:block;height:100%;background:#789071}.stat:first-child .stat-label svg{color:var(--gold)}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 272px;gap:23px;align-items:start}.panel{border:1px solid var(--line);background:var(--panel);border-radius:4px;overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:18px 21px;border-bottom:1px solid var(--line)}.panel-head h2{margin:0;font-size:13px;font-weight:600;display:flex;align-items:center;gap:8px}.tiny{font-size:10px;color:var(--muted)}.city-panel{background:#e6ebd8}.city-head{display:flex;justify-content:space-between;padding:17px 21px;position:absolute;top:0;width:100%;z-index:1}.city-head span{font-size:10px;color:#5c7053;background:#edf1e3ba;padding:5px 9px;border:1px solid #d2dcc2}.scene{height:242px;position:relative;overflow:hidden}.scene canvas{width:100%;height:100%;image-rendering:pixelated;display:block}.city-caption{padding:13px 20px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #cdd5bc;background:#f2f3e7;font-size:11px}.city-caption span{color:#828b71;font-size:10px}.year-progress{display:flex;gap:5px}.year-progress i{width:10px;height:4px;background:#d6ddca}.year-progress i.done{background:#779166}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:27px 0 13px}.section-heading h2{font-family:var(--serif);font-size:18px;font-weight:600;margin:0;display:flex;gap:9px;align-items:center}.section-heading h2 small{font-family:sans-serif;font-size:10px;font-weight:400;background:#e9ecdf;padding:4px 7px;color:#7d896d}.phase-line{display:flex;align-items:center;gap:8px;margin-bottom:19px;font-size:10px;color:#a0a58f}.phase-line .current{color:var(--green);font-weight:700}.phase-line i{height:1px;background:var(--line);width:25px}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.project{padding:19px;text-align:left;border:1px solid var(--line);background:var(--panel);border-radius:4px;display:flex;flex-direction:column;position:relative;min-height:176px}.project:hover:not(:disabled){border-color:#839675;background:#f6f7ec}.project-top{display:flex;justify-content:space-between;align-items:center}.project-icon{width:35px;height:35px;background:#e9eddf;border:1px solid #dce2cd;display:grid;place-items:center;color:#6a8057}.project-icon svg{width:22px;height:22px}.level-dots{display:flex;gap:4px}.level-dots i{display:block;width:5px;height:5px;background:#dfe1d4}.level-dots .filled{background:var(--gold)}.project h3{font-size:14px;margin:12px 0 6px;font-weight:600}.project p{font-size:11px;color:var(--muted);line-height:1.8;margin:0 0 15px}.project-bottom{display:flex;justify-content:space-between;gap:6px;align-items:center;margin-top:auto;font-size:10px}.project-price{color:#a58447}.project-effect{color:#658064}.rest-btn{width:100%;border:1px dashed #cfd5bf;background:transparent;color:#7d8872;padding:12px;margin-top:12px;text-align:left;display:flex;justify-content:space-between;font-size:11px}.rest-btn:hover{background:#ecefdf}.rail{display:grid;gap:18px}.leader-body{padding:21px}.leader-profile{display:flex;align-items:center;gap:13px}.portrait{width:60px;height:68px;image-rendering:pixelated;background:#dce3ce;border:1px solid #c8d1b9;flex-shrink:0}.leader-name{font-family:var(--serif);font-size:17px;font-weight:600}.leader-profile p{font-size:10px;color:var(--muted);margin:7px 0}.leader-skills{margin-top:21px;display:grid;gap:12px}.skill-row{display:flex;align-items:center;gap:10px;font-size:10px}.skill-row span:first-child{width:25px;color:var(--muted)}.skill-track{height:4px;background:#e4e7d9;flex:1}.skill-track i{background:#8a9b72;height:100%;display:block}.skill-row b{font-family:var(--serif);font-weight:500}.traits{display:flex;flex-wrap:wrap;gap:5px;margin-top:18px}.tag{font-size:9px;border:1px solid #d8dfc9;background:#eff2e6;padding:4px 6px;color:#788363}.trait-empty{font-size:10px;line-height:1.9;color:#939a86}.quote{font-family:var(--serif);font-size:11px;line-height:1.9;color:#8a8e7a;padding:14px 20px;border-top:1px solid var(--line);text-align:center;background:#f5f4eb}.advisor-list{padding:0 18px}.advisor-mini{display:flex;align-items:center;gap:10px;padding:14px 0;border-bottom:1px solid #e4e6da}.advisor-mini:last-child{border:0}.advisor-mini .portrait{width:34px;height:39px}.advisor-mini strong{font-size:11px;font-weight:500}.advisor-mini p{font-size:9px;margin:4px 0;color:var(--muted)}.advisor-mini>span{font-size:9px;color:#859078;margin-left:auto}.text-button{border:0;background:transparent;color:#7f886e;font-size:10px;padding:12px 18px;display:block;width:100%;text-align:right}.goal-box{border:1px solid #d8d7c5;background:#ecebde;padding:18px}.goal-box h3{font-size:11px;margin:0 0 9px;display:flex;gap:7px;align-items:center}.goal-box p{font-size:11px;line-height:1.9;color:#858873;margin:0}.goal-box strong{font-weight:500;color:#606d53}.footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:28px;padding-top:17px;font-size:9px;color:#a0a38f}.event-card{padding:25px;background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--gold)}.event-label{font-size:10px;color:var(--gold);letter-spacing:1px}.event-card h3{font-family:var(--serif);font-size:22px;margin:15px 0}.event-story{font-size:13px;line-height:1.95;color:#6f796a;margin-bottom:24px}.choices{display:grid;gap:10px}.choice{border:1px solid var(--line);background:#f7f7ed;padding:15px 17px;text-align:left;display:grid;grid-template-columns:23px 1fr;gap:10px}.choice:hover:not(:disabled){border-color:#72896a;background:#eef1e3}.choice-num{font-family:var(--serif);color:#a8ab92;font-size:18px}.choice strong{display:block;font-size:12px;font-weight:600}.choice p{font-size:10px;color:var(--muted);margin:6px 0 10px}.effect-list{display:flex;flex-wrap:wrap;gap:7px;font-size:10px;color:#6a8865}.negative{color:#b0775b}.event-note{font-size:10px;color:var(--muted);margin-top:15px;line-height:1.8}.primary{border:1px solid var(--green);background:var(--green);color:#fff9e9;padding:13px 23px;font-size:12px;border-radius:3px;display:inline-flex;gap:10px;align-items:center;justify-content:center}.primary:hover{background:#35604b}.report{padding:27px;text-align:center}.report .report-seal{display:grid;place-items:center;background:#e9eddd;border:1px solid #d5ddc4;border-radius:50%;width:52px;height:52px;margin:0 auto;color:#708a60}.report h3{font-family:var(--serif);font-weight:600;font-size:21px}.report p{font-size:12px;line-height:1.9;color:var(--muted)}.report .effect-list{justify-content:center;gap:14px;font-size:12px;margin:22px 0}.accounting{border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);padding:12px;margin:20px 0;font-size:11px;color:#8d927d;display:flex;justify-content:center;gap:20px}.report .primary{width:100%;margin-top:10px}.timeline{padding:8px 23px}.timeline-item{padding:19px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:50px 1fr;gap:15px}.timeline-item:last-child{border:0}.timeline-year{font-family:var(--serif);color:var(--gold);font-size:15px}.timeline-item strong{font-size:12px;font-weight:500}.timeline-item .effect-list{margin-top:8px}.timeline-kind{font-size:9px;color:var(--muted);margin-bottom:6px}.empty{padding:35px;text-align:center;color:var(--muted);line-height:2;font-size:12px}.people-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.person-card{padding:20px}.person-card .leader-profile{margin-bottom:16px}.person-card p{font-size:11px;color:var(--muted);line-height:1.8}.person-card .outline-btn{width:100%;margin-top:12px}.person-card .active-badge{color:#749065;font-size:10px}.foreign{padding:22px;margin-bottom:13px}.foreign-top{display:flex;justify-content:space-between;align-items:center}.foreign h3{font-family:var(--serif);margin:0;font-size:18px}.foreign p{color:var(--muted);font-size:11px;line-height:1.9}.relation{display:flex;align-items:center;gap:10px;font-size:11px;margin:17px 0}.relation-bar{height:5px;flex:1;background:#e3e5d6}.relation-bar i{height:100%;background:#8b9f73;display:block}.foreign .outline-btn{width:100%}.overlay{position:fixed;inset:0;background:#182c26b5;backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:25px;z-index:10;overflow-y:auto}.modal{background:var(--panel);border:1px solid #cbcdb9;width:620px;max-width:100%;padding:40px;box-shadow:0 20px 80px #071b2040;position:relative}.modal .crest{width:45px;height:50px}.modal h2{text-align:center;font-family:var(--serif);font-size:30px;font-weight:600;margin:18px 0 12px}.modal-sub{text-align:center;font-size:12px;color:var(--muted);line-height:2}.career-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:28px 0}.career{padding:20px 12px 15px;border:1px solid var(--line);background:transparent;text-align:center}.career.selected{border:1px solid var(--green);background:#edf1e4;box-shadow:inset 0 0 0 1px var(--green)}.career svg{width:25px;height:25px;color:#829168}.career strong{display:block;font-size:12px;margin:12px 0}.career p{font-size:10px;line-height:1.8;color:var(--muted);min-height:36px}.career small{font-size:9px;color:#879374}.modal>.primary{width:100%}.modal-foot{text-align:center;font-size:10px;color:#959a86;margin:17px 0 0}.help-list{font-size:12px;line-height:2.1;color:#697660;padding-left:20px}.close{position:absolute;right:17px;top:14px;background:none;border:none;font-size:22px;color:var(--muted)}#toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,20px);background:#254c3b;color:#fff8e7;padding:13px 22px;border-radius:4px;font-size:12px;opacity:0;pointer-events:none;transition:.2s;z-index:20;max-width:90%}#toast.show{opacity:1;transform:translate(-50%,0)}.ending{padding:36px;max-width:900px;margin:0 auto;text-align:center}.ending .eyebrow{margin:20px 0}.ending h2{font-family:var(--serif);font-weight:600;font-size:35px;margin:15px 0}.ending h3{font-family:var(--serif);font-size:22px;color:var(--gold)}.ending-text{font-size:13px;line-height:2;color:var(--muted)}.ending-score{width:86px;height:86px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--gold);border-radius:50%;margin:24px auto;color:var(--gold);font-family:var(--serif);font-size:32px}.ending-score small{font-size:9px;font-family:sans-serif}.compare-box{background:#eff0e4;border:1px solid #d8ddc9;padding:22px;margin:24px 0}.compare-box h3{margin:7px 0 12px}.evidence{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin:15px 0}.ending-table{width:100%;border-collapse:collapse;text-align:left;font-size:12px;margin:25px 0}.ending-table td,.ending-table th{border-bottom:1px solid var(--line);padding:12px}.ending-table th{color:var(--muted);font-weight:400;font-size:10px}.ending-table td:last-child{text-align:right}.ending-table th:last-child{text-align:right}.ending-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.ending .timeline{text-align:left;margin:20px 0}.mobile-brand{display:none}.warn{color:#ad7156}.help-link{border:0;background:none;color:var(--muted);font-size:11px}.new-trait{border:1px solid #d9c896;background:#f5efd9;padding:10px;color:#a28540;font-size:12px;margin:15px 0}.mini-title{font-size:10px;color:var(--muted);margin-top:23px}.mobile-save{display:none}
@media(min-width:1450px){.main{padding:36px 48px}.content-grid{grid-template-columns:minmax(0,1fr) 300px}.scene{height:290px}.project{min-height:190px}}
@media(max-width:1150px){.shell{grid-template-columns:180px 1fr}.sidebar{padding:30px 15px}.main{padding:25px}.content-grid{grid-template-columns:minmax(0,1fr) 235px;gap:15px}.stat{padding:13px}.brand{font-size:18px}.brand-sub{font-size:8px;margin-left:28px}.brand svg{width:25px}.scene{height:220px}.project{padding:15px}.top-meta{gap:8px}.stat-num{font-size:24px}}
@media(max-width:950px){.content-grid{grid-template-columns:1fr}.rail{grid-template-columns:1fr 1fr}.goal-box{display:none}.scene{height:260px}.stats{gap:7px}.stat{padding:12px 10px}.stat-num{font-size:23px}.stat-bottom{font-size:9px}.top-meta>span{display:none}}
@media(max-width:650px){body{font-size:13px}.shell{display:block}.sidebar{height:auto;position:relative;padding:16px 18px 0;border-right:0;border-bottom:1px solid var(--line)}.brand{font-size:20px}.brand-sub,.country,.sidebar-bottom{display:none}.nav{display:flex;margin-top:16px;gap:4px}.nav button{flex:1;justify-content:center;font-size:11px;padding:12px 4px;border-radius:3px 3px 0 0;gap:5px}.nav button svg{width:15px;height:15px}.main{padding:20px 15px}.topbar{padding-bottom:18px}.topbar h1{font-size:21px}.top-meta{gap:4px}.top-meta .outline-btn{font-size:10px;padding:7px}.stats{grid-template-columns:repeat(5,1fr);gap:5px;margin:18px 0}.stat{padding:11px 7px}.stat-label{font-size:9px;gap:4px}.stat-label svg{width:12px;height:12px}.stat-num{font-size:21px;margin:9px 0}.stat-num small{display:none}.stat-bottom{font-size:8px;line-height:1.5;min-height:24px}.stat-bar{margin-top:6px}.scene{height:225px}.city-caption{padding:12px;font-size:10px}.city-caption>span{display:none}.year-progress i{width:7px}.city-head{padding:14px}.section-heading h2{font-size:18px}.section-heading>.tiny{font-size:9px}.project-grid{gap:9px}.project{padding:14px;min-height:191px}.project p{font-size:10px}.project-bottom{align-items:flex-start;flex-direction:column;gap:6px}.rail{grid-template-columns:1fr 1fr;gap:10px}.panel-head{padding:15px 12px}.panel-head h2{font-size:12px}.leader-body{padding:14px 12px}.leader-profile{gap:8px}.leader-profile .portrait{width:44px;height:52px}.leader-name{font-size:15px}.leader-profile p{font-size:9px}.quote{padding:12px;font-size:10px}.advisor-list{padding:0 12px}.advisor-mini{gap:7px}.advisor-mini>span{display:none}.advisor-mini strong{font-size:10px}.footer{line-height:1.8;font-size:8px;gap:12px}.event-card{padding:20px 16px}.event-card h3{font-size:20px}.event-story{font-size:12px}.choice{padding:14px 10px}.people-grid{gap:9px}.person-card{padding:15px}.foreign{padding:19px}.overlay{padding:15px}.modal{padding:32px 20px;max-height:95vh;overflow:auto}.modal h2{font-size:27px}.career-options{gap:7px}.career{padding:16px 7px}.career p{font-size:9px;min-height:48px}.career small{font-size:8px}.ending{padding:24px 16px}.ending h2{font-size:27px}.ending h3{font-size:19px}.timeline{padding:8px 14px}.timeline-item{grid-template-columns:40px 1fr;gap:8px}.mobile-save{display:block;margin-top:12px;font-size:9px;color:var(--muted)}.report{padding:23px 17px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.scene canvas{object-fit:cover}.project-effect{display:flex;flex-wrap:wrap;gap:4px}.section-heading h2 small{white-space:nowrap;flex-shrink:0}
@media(max-width:650px){.scene{height:180px}.section-heading{display:block}.section-heading h2{font-size:17px;line-height:1.7}.section-heading>.tiny{display:block;margin-top:7px}.stat-bottom{font-size:9px}.project p{font-size:11px}.project-bottom{font-size:11px}.city-head span{font-size:9px;padding:4px 6px}}
/* Research routes and persistent night palette. */
.research-summary{width:100%;display:flex;align-items:center;gap:12px;padding:17px 18px;margin-top:14px;background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--gold);text-align:left}.research-summary span{flex:1}.research-summary strong{display:block;font-size:12px}.research-summary small{display:block;margin-top:6px;color:var(--muted);font-size:10px}.research-summary b{font-size:10px;color:var(--gold)}.research-intro{padding:20px;background:var(--soft);border:1px solid var(--line);margin-bottom:20px}.research-intro p{font-size:12px;line-height:1.9;color:var(--muted)}.research-tree{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.branch{min-width:0}.branch>h3{display:flex;gap:8px;align-items:center;font-size:14px}.tech-node{padding:15px;border:1px solid var(--line);background:var(--panel);margin-bottom:12px;position:relative}.tech-node.complete{border-color:var(--gold)}.tech-node.running{border-color:#7ba892;box-shadow:inset 3px 0 #7ba892}.tech-stage{font-size:10px;color:var(--muted);line-height:1.8}.tech-node h4{font-size:13px;margin:10px 0}.tech-node h4 span{display:block;font-size:10px;margin-top:5px;color:var(--gold)}.tech-node p{font-size:11px;line-height:1.8;color:var(--muted)}.tech-node .outline-btn{width:100%;padding:10px 5px;line-height:1.6}.top-meta{flex-wrap:wrap;justify-content:flex-end}.nav{gap:4px}
:root[data-theme="dark"]{color-scheme:dark;--paper:#121b20;--panel:#1b272b;--ink:#e2e7dc;--muted:#a5b4aa;--line:#35463f;--green:#315d4d;--gold:#d4b570;--red:#e49683;--soft:#24352f}
[data-theme="dark"] .sidebar{background:#172326}[data-theme="dark"] .nav button{color:#b9c8bb}[data-theme="dark"] .nav button:hover:not(.active),[data-theme="dark"] .project:hover:not(:disabled),[data-theme="dark"] .choice:hover:not(:disabled),[data-theme="dark"] .rest-btn:hover{background:#2a3d34}[data-theme="dark"] .nav button.active{color:#f5f3e6}
[data-theme="dark"] :is(.era,.outline-btn,.rest-btn,.tag,.goal-box,.modal,.portrait,.project-icon,.compare-box){border-color:var(--line)}[data-theme="dark"] :is(.quote,.choice,.career.selected,.compare-box,.goal-box,.city-caption,.tag,.project-icon,.report-seal){background:#24352f;color:var(--ink)}[data-theme="dark"] :is(.city-panel,.portrait){background:#24352f}[data-theme="dark"] .city-caption{border-color:var(--line)}[data-theme="dark"] .city-head span{background:#1c2c2ee8;border-color:#526354;color:#d6e0cd}[data-theme="dark"] :is(.event-story,.help-list,.stat-label,.eyebrow,.era,.era strong,.goal-box strong,.goal-box p,.city-caption span,.project-icon,.phase-line,.text-button,.trait-empty,.quote,.advisor-mini>span,.rest-btn,.section-heading h2 small,.career small,.career svg,.modal-foot,.accounting,.footer,.relation,.choice-num,.person-card .active-badge){color:var(--muted)}[data-theme="dark"] .phase-line .current{color:#a2d0b3}[data-theme="dark"] .section-heading h2 small{background:#2b3d33}[data-theme="dark"] :is(.stat-bar,.skill-track,.relation-bar,.level-dots i,.year-progress i){background:#3b4a40}[data-theme="dark"] .level-dots .filled{background:var(--gold)}[data-theme="dark"] .year-progress i.done{background:#a5ba82}[data-theme="dark"] :is(.effect-list,.project-effect){color:#a5d3a7}[data-theme="dark"] :is(.negative,.warn){color:#efa68f}[data-theme="dark"] .project-price{color:var(--gold)}[data-theme="dark"] .new-trait{background:#373527;border-color:#756342;color:#e2c784}[data-theme="dark"] .advisor-mini{border-color:var(--line)}[data-theme="dark"] .scene canvas{filter:saturate(.7) brightness(.85)}[data-theme="dark"] .career.selected{border-color:#8ab398;box-shadow:inset 0 0 0 1px #8ab398}button:disabled{opacity:.65}
@media(max-width:1100px){.research-tree{grid-template-columns:1fr}.branch{display:grid;grid-template-columns:1fr 1fr;gap:10px}.branch>h3{grid-column:1/-1}.branch>.tech-node:nth-child(3){grid-column:1/-1}.tech-node{margin:0}.branch{margin-bottom:16px}}
@media(max-width:650px){.nav button{font-size:10px;gap:4px}.nav button svg{width:13px}.topbar{align-items:flex-start}.top-meta{max-width:155px}.topbar h1{font-size:19px}.research-summary{padding:14px 12px;gap:8px}.research-summary b{white-space:nowrap}.research-tree{gap:6px}.tech-node{padding:12px}.research-summary small{line-height:1.7}.research-intro{padding:16px}.top-meta .outline-btn{padding:7px 8px}.research-summary>svg{display:none}}

.route-map{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:14px;grid-column:1/-1}.route-step{padding:9px 4px;text-align:center;border:1px solid var(--line);background:var(--soft);font-size:10px;color:var(--muted)}.route-step.root{grid-column:1/-1}.route-step.done{border-color:var(--gold);color:var(--gold)}
/* Historical campaign selection. */
.atlas-shell{max-width:1440px;margin:auto;padding:0 40px 30px}.atlas-header{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line)}.atlas-home,.game-home{color:var(--muted);text-decoration:none;font-size:12px}.game-home{display:block;margin:-14px 0 16px}.atlas-header>span{font-family:var(--serif);font-size:20px;font-weight:600}.atlas-header small{font:9px sans-serif;letter-spacing:2px;color:var(--muted);margin-left:18px}.atlas-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;padding:38px 0 28px}.atlas-heading h1{font:600 clamp(28px,3vw,42px)/1.45 var(--serif);letter-spacing:-1.5px;margin:12px 0 0}.atlas-heading>p{font-size:12px;line-height:2;color:var(--muted);margin:0}.era-picker{display:flex;gap:12px;align-items:center;padding:18px 0 24px}.atlas-step{font-size:11px;letter-spacing:.6px;font-weight:600;color:var(--gold)}.era-picker>.atlas-step{min-width:96px}.era-option{display:flex;align-items:center;gap:18px;padding:13px 22px;border:1px solid var(--line);background:var(--panel);min-width:220px;text-align:left}.era-option strong{font:28px var(--serif)}.era-option span{font-size:11px;color:var(--muted)}.era-option.selected{border-color:var(--gold);box-shadow:inset 0 -2px var(--gold);background:var(--soft)}.era-note{font-size:10px;line-height:1.9;color:var(--muted);margin-left:auto}.atlas-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:22px;align-items:start}.atlas-map-panel{border:1px solid var(--line);background:var(--panel);overflow:hidden}.atlas-map-heading{display:flex;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--line);font-size:11px;color:var(--muted)}.map-frame{position:relative;aspect-ratio:990/630;background:#111e25}.country-map{width:100%;height:100%;display:block;color:#83978a}.map-sea{fill:#111e25}.map-land{fill:#273330;stroke:#3e5149;stroke-width:1.5}.map-country{cursor:pointer;outline:none}.map-country path{fill:var(--country-color);fill-opacity:.45;stroke:var(--country-color);stroke-width:1.6;stroke-linejoin:round;transition:fill-opacity .15s}.map-country:hover path,.map-country:focus-visible path{fill-opacity:.8;stroke:#f2dfad;stroke-width:3}.map-country.selected path{fill-opacity:.9;stroke:#f8df9c;stroke-width:3}.map-country text{font:600 22px var(--serif);fill:#f2eddc;paint-order:stroke;stroke:#172a26;stroke-width:4px;stroke-linejoin:round}.map-country .map-leader{font:11px sans-serif;stroke-width:3px;fill:#ececdf}.map-muted{font:13px sans-serif;fill:#a3afa3;letter-spacing:2px}.sea-label{font:14px var(--serif);fill:#728991}.map-date{font:64px var(--serif);fill:#597066;opacity:.65}.map-tools{position:absolute;right:15px;bottom:15px;display:flex;gap:5px}.map-tools button{min-width:40px;height:38px;border:1px solid #586d61;background:#1b2a2f;color:#e4e7db;font-size:16px}.map-tools button:last-child{font-size:11px}.map-disclaimer{margin:0;padding:12px 18px;border-top:1px solid var(--line);font-size:10px;color:var(--muted);line-height:1.8}.country-search{border-top:1px solid var(--line);padding:16px 18px}.country-search label{font-size:11px;color:var(--muted);display:block;margin-bottom:9px}.country-search input{width:100%;padding:11px 12px;background:var(--paper);border:1px solid var(--line);color:var(--ink);border-radius:2px;font-size:12px}.country-options{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.country-chip{padding:10px;background:var(--panel);border:1px solid var(--line);font-size:11px;display:flex;align-items:center;gap:7px}.country-chip>span{width:7px;height:7px}.country-chip small{font-size:9px;color:var(--muted)}.country-chip.selected{border-color:var(--gold);background:var(--soft)}.country-dossier{border:1px solid var(--line);background:var(--panel);padding:24px;min-height:490px}.country-dossier>h2{font:600 28px var(--serif);margin:10px 0}.dossier-emblem{font:38px var(--serif);border:1px solid var(--line);width:66px;height:66px;display:grid;place-items:center;margin-top:20px;background:var(--soft)}.dossier-leader{font-size:16px}.dossier-leader span{font-size:10px;color:var(--muted);margin-left:6px}.country-dossier h3{font-size:13px;margin-top:24px}.country-dossier>p:not(.eyebrow):not(.dossier-leader){font-size:11px;line-height:1.9;color:var(--muted)}.country-dossier dl{display:grid;grid-template-columns:34px 1fr;gap:10px;font-size:10px;line-height:1.8;border-top:1px solid var(--line);padding-top:16px}.country-dossier dt{color:var(--muted)}.country-dossier dd{margin:0}.dossier-stats{display:flex;gap:10px;margin:22px 0}.dossier-stats>span{flex:1;font-size:10px;color:var(--muted)}.dossier-stats strong{display:block;font:22px var(--serif);color:var(--ink);margin-top:6px}.dossier-stats i{display:block;height:3px;background:linear-gradient(to right,var(--gold) var(--value),var(--line) var(--value));margin-top:8px}.dossier-goal{padding:13px;background:var(--soft);border-left:2px solid var(--gold)}.dossier-goal small{color:var(--gold);font-size:9px}.dossier-goal strong{display:block;font-size:11px;margin-top:8px}.dossier-goal p{font-size:10px;line-height:1.8;color:var(--muted);margin-bottom:0}.country-dossier>.primary{width:100%;margin-top:16px;padding:14px 8px}.country-dossier .dossier-note{font-size:9px!important}.dossier-empty{padding-top:75px;text-align:center}.dossier-empty>span{font-size:55px;color:var(--gold)}.dossier-empty h2{font:22px var(--serif);margin:20px 0}.dossier-empty>p{color:var(--muted);font-size:12px;line-height:2}.atlas-footer{display:flex;align-items:start;gap:24px;padding-top:25px;color:var(--muted);font-size:10px;line-height:1.9}.atlas-footer details{flex:1}.atlas-footer summary{cursor:pointer}.atlas-footer details a{display:block;color:var(--muted)}.atlas-footer>p{margin:0}.scenario-goal{padding:14px 18px;margin-top:14px;border:1px solid var(--line);border-left:3px solid var(--gold);background:var(--soft);font-size:11px;display:flex;justify-content:space-between;gap:10px}.scenario-goal span{color:var(--muted)}.event-note a{color:var(--gold)}.empty-search{color:var(--muted);font-size:11px}
@media(max-width:1000px){.atlas-shell{padding:0 24px 24px}.atlas-layout{grid-template-columns:minmax(0,1fr) 280px;gap:14px}.era-option{min-width:0;padding:12px 18px}.era-picker>.atlas-step{min-width:75px}.atlas-heading>p{max-width:250px}.country-dossier{padding:18px}.country-chip small{display:none}}
@media(max-width:720px){.atlas-shell{padding:0 16px 24px}.atlas-header{min-height:70px;gap:8px}.atlas-header>span{font-size:16px}.atlas-header small{display:none}.atlas-home{font-size:10px}.atlas-header .outline-btn{font-size:10px;padding:8px}.atlas-heading{display:block;padding:25px 0 15px}.atlas-heading h1{font-size:30px}.atlas-heading>p{max-width:none;margin-top:15px;font-size:11px}.era-picker{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px 0 18px}.era-picker>.atlas-step{grid-column:1/-1;margin-bottom:4px}.era-option{display:block;padding:10px 14px}.era-option span{display:block;font-size:9px;margin-top:4px}.era-option strong{font-size:26px}.era-note{display:none}.atlas-layout{grid-template-columns:1fr}.atlas-map-heading{padding:14px;font-size:10px}.map-frame{aspect-ratio:1.35}.map-disclaimer{font-size:9px;padding:10px 13px}.country-search{padding:13px}.country-chip{padding:10px 8px;font-size:11px}.country-chip small{display:none}.country-dossier{min-height:0}.dossier-empty{padding:12px}.dossier-empty>span{display:none}.dossier-empty h2{margin:10px 0}.atlas-footer{flex-wrap:wrap;gap:18px}.atlas-footer details{flex-basis:100%}.atlas-footer>p{font-size:9px}.scenario-goal{display:block;line-height:1.8}.scenario-goal span{display:block}.game-home{margin:0;font-size:10px}.country-dossier>h2{font-size:26px}}
