/* Obsidian Chronicle — visual layer only. Country accents never replace status colors. */
:root[data-theme="dark"]{color-scheme:dark;--paper:#090a0c;--panel:#141519;--ink:#ece9e2;--muted:#a4a4ac;--line:#303137;--green:#796747;--gold:#c7ad7c;--red:#df8e85;--soft:#1d1e23;--serif:'Noto Serif KR',serif}
#app{--nation:#c7ad7c;--science:#9daed0;--military:#ce9991;--politics:#c9b98e}
[data-theme="dark"] body{background:#090a0c;color:var(--ink)}
[data-theme="dark"] #app :is(.sidebar,.modal,.atlas-map-panel,.country-dossier,.event-card,.panel,.battle-panel,.tech-node,.project,.policy-card,.tactic-card,.terrain-card,.faction-card,.province-card,.combo-card,.foreign,.bill-card,.career,.ach,.army-overview>div){background:var(--panel);border-color:var(--line);box-shadow:none}
[data-theme="dark"] #app :is(.research-intro,.research-summary,.realm-warning,.enemy-intent,.scenario-goal,.campaign-cost,.goal-box,.quote,.city-caption,.tag,.project-icon,.report-seal,.choice,.compare-box,.intent-box,.route-box,.pact-box,.stage-box,.pledge-card,.pledge-option,.guide-box,.guide-step,.war-panel,.dynasty-actions,.route-step,.bill-forecast,.province-map){background:var(--soft);border-color:var(--line);color:var(--ink)}
[data-theme="dark"] #app :is(.sidebar,.topbar,.panel-head,.atlas-header,.footer,.atlas-map-heading,.country,.battle-history,.advisor-mini,.country-search,.city-caption,.map-disclaimer){border-color:var(--line)}
[data-theme="dark"] #app :is(.era,.outline-btn,.rest-btn,.help-link,.region-tabs button,.era-option,.country-chip){background:transparent;border-color:var(--line);color:var(--muted)}
[data-theme="dark"] #app :is(.nav button.active,.primary){background:#bba173;color:#12110e;border-color:#cdb789}
[data-theme="dark"] #app :is(.nav button:hover:not(.active),.project:hover:not(:disabled),.choice:hover:not(:disabled),.policy-card:hover:not(:disabled),.tactic-card:hover:not(:disabled),.terrain-card:hover,.outline-btn:hover){background:#25262b;border-color:#7c715b;color:var(--ink)}
[data-theme="dark"] #app :is(.primary:hover){background:#d0b887;color:#14120d}
[data-theme="dark"] #app :is(.country-chip.selected,.era-option.selected,.policy-card.selected,.terrain-card.selected,.pledge-option.selected,.route-step.done,.career.selected){background:#26231e;border-color:var(--gold);box-shadow:none;color:var(--ink)}
[data-theme="dark"] #app :is(.effect-list,.project-effect){color:#b3c9ad}
[data-theme="dark"] #app :is(.negative,.warn){color:#df8e85}
[data-theme="dark"] #app :is(.stat-label,.stat-bottom,.event-story,.project p,.policy-card p,.tactic-card p,.era,.quote,.city-caption span,.project-icon,.phase-line,.text-button,.trait-empty,.goal-box p,.goal-box strong,.advisor-mini>span,.section-heading h2 small,.career small,.modal-foot,.accounting,.footer,.relation,.choice-num,.eyebrow,.tiny){color:var(--muted)}
[data-theme="dark"] #app :is(.stat-bar,.skill-track,.relation-bar,.level-dots i,.year-progress i){background:#303137}
[data-theme="dark"] #app :is(.stat-bar span,.skill-track i,.year-progress i.done){background:#a99b7f}
[data-theme="dark"] .level-dots .filled{background:var(--gold)}
[data-theme="dark"] .phase-line .current{color:var(--gold)}
[data-theme="dark"] .section-heading h2 small{background:#23242a}
[data-theme="dark"] .map-frame,[data-theme="dark"] .map-sea{background:#0b0e12;fill:#0b0e12}
[data-theme="dark"] .map-land{fill:#24272c;stroke:#3d4249}
[data-theme="dark"] .map-country path{fill-opacity:.32;stroke-opacity:.8;stroke-width:1.4}
[data-theme="dark"] .map-country.selected path{fill-opacity:.72;stroke:#dfc99a;stroke-width:2}
[data-theme="dark"] .map-country:hover path{fill-opacity:.65}
[data-theme="dark"] .map-tools button{background:#191c22;border-color:#494c53;color:#e1ded7}
[data-theme="dark"] .new-trait{background:#29251c;border-color:#685b41;color:#dcc28d}
[data-theme="dark"] #toast{background:#29261f;color:#f1e8d5;border:1px solid #6c6048}
.ui-icon{display:inline-block;width:22px;height:22px;flex-shrink:0;vertical-align:middle;pointer-events:none;color:var(--gold)}
.shell{grid-template-columns:208px minmax(0,1fr)}.sidebar{padding:28px 18px 20px}.brand{font-size:20px}.brand-sub{font-size:8px;letter-spacing:2px}.main{padding:28px 32px 24px;max-width:1680px}.topbar h1{font-size:26px;letter-spacing:-.8px}.topbar{padding-bottom:20px}.top-meta{gap:12px}.country{padding:20px 0}.country strong{font-size:16px}.crest{width:64px;height:70px;clip-path:none;background:transparent!important;border:1px solid var(--line);border-top:2px solid var(--nation);margin-bottom:12px}.crest .nation-emblem{width:52px;height:52px;color:var(--nation)}.nation-emblem{width:44px;height:44px;flex-shrink:0}.nav{gap:5px;margin-top:22px}.nav button{padding:12px 13px;gap:11px;font-size:12px;border:1px solid transparent;border-radius:3px}.nav button .ui-icon{width:19px;height:19px;color:currentColor}.sidebar-bottom{padding-top:20px}.era{border-style:solid;font-size:10px}.stats{gap:8px;margin:22px 0 18px}.stat{padding:14px 16px 12px;border-radius:3px;position:relative;background:var(--panel)}.stat-label{font-size:11px;gap:8px}.stat-label .ui-icon{width:17px;height:17px;color:var(--gold)}.stat-num{font-variant-numeric:tabular-nums;font-size:29px;margin:10px 0 8px}.stat-bottom{font-size:10px;line-height:1.5}.stat-bar{height:2px}.realm-strip{border-radius:3px;margin:0 0 22px}.realm-strip button>span{display:flex;align-items:center;gap:7px}.realm-strip .ui-icon{width:15px;height:15px;color:var(--muted)}.realm-strip strong{font-size:21px}.realm-strip>p{font-size:10px;line-height:1.8}.content-grid{grid-template-columns:minmax(0,1fr) 270px;gap:22px}.panel,.project,.policy-card,.tactic-card{border-radius:3px}.panel-head{padding:15px 18px}.panel-head h2{font-size:12px;letter-spacing:.3px}.section-heading h2{font-size:19px}.project{padding:20px;min-height:183px}.project-icon{width:43px;height:43px;border-radius:3px}.project-icon .ui-icon{width:26px;height:26px}.project h3{margin:14px 0 8px;font-size:15px}.project p{font-size:12px;line-height:1.8}.project-bottom{font-size:11px}.event-card{border-top:2px solid var(--nation);padding:25px}.event-card h3{font-size:25px;line-height:1.55;letter-spacing:-.5px}.event-story{font-size:13px;line-height:2}.choice{padding:17px 18px;gap:12px;grid-template-columns:22px minmax(0,1fr);border-radius:3px}.choice strong{font-size:13px;line-height:1.75;display:flex;align-items:center;gap:11px}.choice p{font-size:11px;line-height:1.9}.choice .choice-glyph{width:25px;height:25px;flex-shrink:0}.choice-num{font:13px var(--serif);padding-top:5px}.effect-list{font-size:10px;line-height:1.8;gap:5px 10px}.choice .effect-list span{padding:2px 5px;background:#88888809;border-radius:2px}.choice:disabled{opacity:.54}.choice:disabled .choice-glyph{color:var(--muted)}.primary{font-weight:600;letter-spacing:.1px}.outline-btn{min-height:34px}.research-tree{gap:15px}.branch>h3{font-size:13px;padding:9px 0;border-bottom:1px solid var(--line)}.branch:has([data-ui-branch=science])>h3{color:var(--science)}.branch:has([data-ui-branch=military])>h3{color:var(--military)}.branch:has([data-ui-branch=politics])>h3{color:var(--politics)}.tech-node{padding:18px 16px;border-radius:3px}.tech-node h4{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:14px;line-height:1.7;margin:14px 0}.tech-node h4 span{width:100%;margin:0;font-size:10px}.tech-node .research-glyph{width:31px;height:31px;padding:4px;box-sizing:content-box;border:1px solid var(--line);border-radius:3px}.tech-node[data-ui-branch=science] .research-glyph{color:var(--science)}.tech-node[data-ui-branch=military] .research-glyph{color:var(--military)}.tech-node[data-ui-branch=politics] .research-glyph{color:var(--politics)}.tech-node.complete{border-color:#8f7e5a;background:linear-gradient(135deg,#bc9e6210,transparent)!important}.tech-node.running{border-color:#aab8ce;box-shadow:inset 2px 0 #aab8ce!important}.tech-node p{font-size:11px;line-height:1.9}.route-map{gap:5px}.route-step{font-size:10px;padding:9px 5px}.research-filters button.selected{border-color:var(--gold);color:var(--gold)}.research-intro{padding:20px}.research-summary{border-radius:3px}.policy-card strong,.tactic-card strong,.pledge-option strong,.combo-card strong,.province-card h3{display:flex;align-items:center;gap:9px}.policy-card .ui-icon,.tactic-card .ui-icon{width:23px;height:23px}.faction-card>span{display:flex;align-items:center;gap:8px}.faction-card .ui-icon{width:18px;height:18px}.faction-card strong{font-size:26px}.faction-card p{font-size:10px}.battle-panel{padding:23px}.battle-scene{border:1px solid var(--line);filter:saturate(.55)}.enemy-intent{border-color:var(--military)}.tactic-card{padding:18px}.tactic-card.withdraw .ui-icon{color:var(--muted)}
.ui-portrait.portrait{width:72px;height:90px;display:block;background:#18191d!important;border:1px solid var(--line);border-bottom:2px solid var(--nation);image-rendering:pixelated;border-radius:2px;flex-shrink:0}.leader-profile{gap:14px;align-items:center}.leader-name{font-size:18px;line-height:1.5}.leader-profile p{font-size:10px;line-height:1.7}.advisor-mini .ui-portrait{width:40px;height:50px}.leader-body{padding:18px}.person-card .ui-portrait{width:80px;height:100px}.quote{font-size:11px;padding:15px;line-height:1.9}.scene{height:auto;min-height:200px}.ui-city{display:block;width:100%;height:auto;min-height:200px;object-fit:cover}.city-head{padding:13px 17px}.city-head span{background:#101115d9!important;border-color:#484640!important;color:#c4beb2!important;font-size:9px}.city-caption{padding:13px 17px;font-size:11px}.city-caption span{font-size:10px}.country-dossier{position:relative;border-top:2px solid var(--nation)!important;padding:24px}.dossier-emblem{width:58px;height:58px;margin-top:18px;background:transparent;border-color:var(--line)}.dossier-emblem .nation-emblem{width:47px;height:47px}.country-dossier>h2{font-size:28px;margin-top:12px;max-width:65%;line-height:1.4}.dossier-portrait.ui-portrait{position:absolute;right:24px;top:72px;width:77px;height:96px}.dossier-leader{margin-top:15px;clear:both;line-height:1.8}.dossier-leader span{display:block;margin-left:0}.nation-caption{font-size:10px!important;color:var(--nation)!important;padding-bottom:14px;border-bottom:1px solid var(--line)}.country-dossier dl{line-height:1.9}.country-chip{gap:8px;border-radius:3px}.country-chip .country-token{display:inline-flex;width:24px;height:24px}.country-token .nation-emblem{width:24px;height:24px}.atlas-shell{padding-top:0;max-width:1520px}.atlas-heading h1{font-size:39px;letter-spacing:-1px}.atlas-header>span{color:#d9c59e}.atlas-header small{color:var(--muted)}.era-option.selected{border-bottom:2px solid var(--gold)}.map-country text{fill:#eee9de;stroke:#12151b;stroke-width:4px}.map-muted{fill:#a2a5af}.sea-label{fill:#67717c}.map-date{fill:#657079}.ui-atlas-link{color:var(--muted);font-size:10px;text-decoration:none;white-space:nowrap}.ui-atlas-link:hover{color:var(--gold)}.footer{gap:16px;flex-wrap:wrap}.atlas-footer{flex-wrap:wrap}.guide-box{border-left:2px solid var(--gold)}.guide-step strong{color:var(--ink)}
@media(min-width:1600px){.content-grid{grid-template-columns:minmax(0,1fr) 290px}.main{padding:30px 44px}.stats{gap:12px}}
@media(max-width:1100px){.content-grid{grid-template-columns:minmax(0,1fr)}.rail{grid-template-columns:1fr 1fr}.shell{grid-template-columns:180px minmax(0,1fr)}.main{padding:24px}.sidebar{padding:25px 13px}.brand{font-size:18px}.brand-sub{letter-spacing:1px}.stat{padding:12px}.research-tree{grid-template-columns:1fr}.branch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.branch>h3,.branch>.route-map{grid-column:1/-1}}
@media(max-width:720px){.shell{display:block}.sidebar{position:relative;height:auto;padding:18px 16px 0}.sidebar .country,.sidebar-bottom,.brand-sub{display:none}.sidebar .game-home{margin:7px 0 12px}.nav{display:flex;overflow:auto;margin:0;padding:0 0 9px;width:100%;gap:4px;scrollbar-width:thin}.nav button{flex:none;white-space:nowrap;min-width:65px;padding:10px 11px;font-size:11px;gap:6px}.nav .ui-icon{width:16px!important;height:16px!important}.main{padding:22px 16px}.topbar h1{font-size:22px}.top-meta{gap:7px;max-width:154px}.stats{gap:6px;grid-template-columns:repeat(3,minmax(0,1fr))}.stat:nth-last-child(-n+2){grid-column:auto}.stat{padding:12px}.stat-num{font-size:26px}.stat-label{font-size:10px}.stat-bottom{font-size:9px}.realm-strip{margin-top:0}.realm-strip button{padding:12px}.project-grid{gap:10px}.project{padding:15px}.project h3{font-size:14px}.project p{font-size:11px}.project-bottom{flex-wrap:wrap}.event-card{padding:18px}.event-card h3{font-size:23px}.choice{padding:14px 12px;grid-template-columns:17px minmax(0,1fr);gap:8px}.choice strong{font-size:12px;gap:9px}.choice .choice-glyph{width:22px;height:22px}.choice p{font-size:11px}.event-story{font-size:12px}.effect-list{font-size:10px}.rail{gap:12px}.leader-profile{flex-wrap:wrap;gap:10px}.leader-name{font-size:16px}.leader-body{padding:15px}.advisor-mini{flex-wrap:wrap;gap:7px}.advisor-mini>span{margin-left:0}.ui-portrait.portrait{width:64px;height:80px}.advisor-mini .ui-portrait{width:36px;height:45px}.battle-panel{padding:15px}.battle-forces{gap:12px}.research-intro{padding:16px}.tech-node{padding:15px}.tech-node h4{font-size:13px}.tech-node .research-glyph{width:26px;height:26px}.atlas-shell{padding:0 16px 24px}.atlas-heading h1{font-size:30px}.atlas-header>span{font-size:16px}.country-dossier{padding:22px}.dossier-portrait.ui-portrait{right:22px;top:65px;width:77px;height:96px}.country-dossier>h2{font-size:26px}.map-country text{font-size:26px}.map-country .map-leader{font-size:13px}.scene{min-height:160px}.ui-city{min-height:160px}.faction-grid{grid-template-columns:1fr 1fr}.faction-card{padding:14px}.footer{font-size:9px}.atlas-map-heading{gap:10px}.region-tabs{gap:5px;flex-wrap:wrap}.region-tabs button{font-size:10px}}
@media(max-width:390px){.main{padding:18px 12px}.project-grid,.people-grid{grid-template-columns:1fr}.branch{grid-template-columns:1fr}.rail{grid-template-columns:1fr}.leader-profile{flex-wrap:nowrap}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stat:first-child{grid-column:1/-1}.stat:first-child .stat-num{margin:8px 0}.topbar h1{font-size:20px}.atlas-heading h1{font-size:27px}.city-caption{align-items:start;gap:8px}.city-caption span{max-width:45%;line-height:1.7}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

#app .tiny{font-size:11px;line-height:1.7}#app .brand-sub{letter-spacing:1.1px;font-size:8px;white-space:nowrap;margin-left:0;text-align:center}#app .event-label{font-size:11px}#app .research-summary small{font-size:11px}

#app .small-action-icon{width:16px;height:16px;margin-right:7px;vertical-align:-3px}
