:root{color-scheme:dark;--bg:#141219;--panel:#1e1a24;--text:#ebe5de;--muted:#a79eaf;--line:#3a3342;--gold:#d6b888;--red:#ff8e9c;--green:#93cfad;--violet:#b4a8dc}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 70% -10%,#40293c4f,transparent 55%),var(--bg);color:var(--text);font:14px/1.8 system-ui,-apple-system,"Noto Sans TC",sans-serif}button,select{font:inherit}button{cursor:pointer;border:1px solid #55465e;color:var(--text);background:#29222f;border-radius:5px;padding:8px 13px;line-height:1.6}button:hover:not(:disabled){background:#493750;border-color:var(--gold)}button:disabled{cursor:not-allowed;color:#9d94a3;background:#231f29;border-color:#39313f}button.primary{background:var(--gold);border-color:var(--gold);color:#211a1c;font-weight:650}button.primary:hover:not(:disabled){background:#e8cfa6}button.primary:disabled{background:#4a3e35;color:#ab9d90;border-color:#4a3e35}button:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:4px}a{color:var(--gold)}header{max-width:1440px;margin:auto;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:26px 32px;border-bottom:1px solid var(--line)}.brand{text-decoration:none;font:26px/1.4 Georgia,"Noto Serif TC",serif;letter-spacing:3px;color:var(--text)}.brand span{font:12px system-ui;letter-spacing:1px;color:var(--gold);display:block}.header-actions{display:flex;gap:8px}.header-actions button{background:none;font-size:12px}main{max-width:1440px;padding:0 32px;margin:auto;min-height:65vh}footer{max-width:1376px;border-top:1px solid var(--line);padding:25px 12px 40px;margin:40px auto 0;text-align:center;color:var(--muted);font-size:11px;line-height:2}h1,h2,h3,h4,p{margin:0}h2{font:500 23px/1.6 Georgia,"Noto Serif TC",serif}h3{font-size:16px}h4{font-size:13px}p{margin:12px 0}small,.tiny{font-size:11px}.quiet,.tiny{color:var(--muted)}.eyebrow{font:10px/1.7 Georgia,serif;color:var(--gold);letter-spacing:2px}.panel{border:1px solid var(--line);border-radius:8px;background:linear-gradient(130deg,#241d2a,var(--panel));padding:22px}.intro{display:grid;grid-template-columns:1.15fr 1fr;gap:70px;min-height:690px;align-items:center;padding:48px 30px}.intro h1{font:500 clamp(35px,4.2vw,60px)/1.6 Georgia,"Noto Serif TC",serif;letter-spacing:3px;margin:18px 0}.intro h1 em{font-style:normal;color:var(--gold)}.intro-copy>p{color:var(--muted);line-height:2.2}.intro-facts{display:flex;gap:28px;color:var(--gold);font-size:12px;margin-top:30px}.birth-settings{padding:30px}.birth-seal{font:80px Georgia;color:var(--gold);text-align:center;margin:0 0 20px}.birth-settings h2{font-size:22px;margin:10px 0 20px}.birth-settings label{margin-top:18px}.birth-settings button{width:100%;padding:14px;margin-top:14px}label{display:block;font-size:12px;color:var(--muted);margin:8px 0}select{width:100%;padding:10px;background:#15121b;color:var(--text);border:1px solid #514358;border-radius:4px}.yearbar{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:32px 0}.yearbar h1{font:45px/1.5 Georgia,serif;letter-spacing:1px}.yearbar h1>span{font:14px system-ui;color:var(--muted);margin:0 28px 0 8px}.yearbar h1 em{font:26px Georgia,"Noto Serif TC",serif;font-style:normal;color:var(--gold)}.yearbar p{color:var(--muted);font-size:12px;margin:0}.time-controls{min-width:300px;display:flex;flex-direction:column;gap:8px}.time-buttons{display:flex;gap:8px}.time-buttons select{width:160px;font-size:12px}.time-controls small{color:var(--muted);text-align:right}.life-grid{display:grid;grid-template-columns:235px minmax(0,1fr) 290px;gap:24px}.profile{display:flex;flex-direction:column;gap:15px}.profile h2{font-size:30px;margin:8px 0}.profile p{font-size:12px;line-height:2}.chip{display:inline-block;border:1px solid #63516c;background:#302635;color:var(--gold);border-radius:3px;padding:2px 6px;font-size:10px;margin:2px 3px 2px 0}.stats{margin-top:24px;display:grid;gap:12px}.stat>div:first-child{display:flex;justify-content:space-between;font-size:11px;margin-bottom:4px}.stat b{font-weight:500;color:#ddd3e4}.track{height:3px;background:#3e3548;overflow:hidden}.track i{display:block;height:100%;background:var(--violet)}.track i.danger{background:#bc7085}.resources{display:grid;grid-template-columns:1fr 1fr;gap:8px}.resources small{color:var(--muted)}.resources b{display:block;font:25px Georgia;margin-top:5px}.toast{border-left:2px solid var(--gold);background:#302638;padding:10px 15px;margin-bottom:20px;font-size:12px}.story-column{min-width:0}.event-panel{border:1px solid #9a7959;background:linear-gradient(135deg,#302332,#231d27);padding:24px;border-radius:7px;position:relative}.event-panel h2{margin-top:12px}.event-panel>p{line-height:2;color:#d4c8d8}.event-panel small{display:block;color:var(--muted);margin-top:15px}.event-choices{display:flex;flex-direction:column;gap:10px;margin-top:22px}.event-choice{border-top:1px solid #514052;padding-top:12px}.event-choice button{width:100%;text-align:left;background:#382b3e;border-color:#695273;padding:11px 14px}.event-choice button:disabled{border-color:#493844;color:#a99ba8;background:#28212b}.effects{display:flex;flex-wrap:wrap;gap:3px 10px;font-size:10px;color:var(--muted);margin-top:7px}.requirements{display:flex;flex-wrap:wrap;gap:4px 8px;font-size:10px;line-height:1.9;margin:8px 0 12px}.met,.positive{color:var(--green)}.unmet,.negative{color:var(--red)}.quiet-year{padding:24px 4px}.quiet-year h2{font-size:22px;margin-top:9px}.quiet-year p{color:var(--muted);font-size:12px}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:26px 0 20px;overflow-x:auto}.tabs button{border:0;border-radius:0;white-space:nowrap;padding:10px 11px;background:none;color:var(--muted);font-size:12px}.tabs button.active{color:var(--gold);border-bottom:2px solid var(--gold)}.timeline{padding-left:15px;border-left:1px solid #5a4357;margin-left:5px}.year-heading{font:24px Georgia;color:var(--gold);padding-top:22px;margin-bottom:15px}.year-heading:first-child{padding-top:0}.year-heading span{font:11px system-ui;color:var(--muted);margin-left:10px}.entry{position:relative;padding:0 0 19px 5px}.entry p{margin:0;font-size:13px;line-height:2}.entry-mark{position:absolute;left:-24px;top:9px;width:7px;height:7px;border-radius:50%;background:#665065;border:2px solid var(--bg)}.entry.choice .entry-mark,.entry.power .entry-mark,.entry.birth .entry-mark{background:var(--gold)}.entry.year p{color:var(--muted)}.entry.finance p{font-size:11px;color:var(--muted)}.entry .effects{margin-top:3px}.action-count{font-size:12px;color:var(--muted);margin:8px 0}.action-count b{font:30px Georgia;color:var(--gold);margin-right:6px}.dots{display:flex;gap:6px;float:right;margin-top:17px}.dots i{width:7px;height:7px;border:1px solid #8e7695;border-radius:50%}.dots .remaining{background:var(--gold);border-color:var(--gold)}.choices-column h2{margin-top:8px;font-size:21px}.choices-column p{font-size:11px}.choices-column small{font-size:10px}.focus-effects{margin-bottom:5px}hr{border:0;border-top:1px solid var(--line);margin:20px 0}.action-option{border-bottom:1px solid var(--line);padding:12px 0}.action-option summary{display:flex;justify-content:space-between;gap:8px;list-style:none;cursor:pointer;font-size:12px}.action-option summary::-webkit-details-marker{display:none}.action-option summary span:last-child{font-size:10px}.action-option button{width:100%;font-size:11px}.action-option[open] summary{color:var(--gold)}.career-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.opportunity{padding:16px;border:1px solid var(--line);border-radius:5px;background:#211b27}.opportunity h3{font-size:14px;margin:6px 0}.opportunity .pay{font:23px Georgia;color:var(--gold);margin:10px 0}.pay small{font:10px system-ui;color:var(--muted)}.opportunity button{width:100%;font-size:11px}.opportunity p{font-size:11px}.section-title{margin-top:30px}.region{border-bottom:1px solid var(--line);padding:20px 0}.region-head{display:flex;justify-content:space-between;gap:8px}.region-head span{font-size:10px}.routes{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:15px}.routes p{font-size:10px;margin:5px 0}.routes button{font-size:11px;width:100%}.birth-record{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0}.birth-record small{display:block;color:var(--muted);font-size:10px}.birth-record b{font-size:12px}.birth-record~p{font-size:12px}.ending{padding:30px;border:1px solid var(--gold);text-align:center;background:#2f2534;border-radius:7px}.ending h2{color:var(--gold);margin-top:12px}.loading{text-align:center;padding:120px;color:var(--muted)}dialog{width:min(760px,92vw);max-height:85vh;overflow-y:auto;background:#211b27;color:var(--text);border:1px solid #7b627b;border-radius:8px;padding:30px}dialog::backdrop{background:#000a;backdrop-filter:blur(4px)}dialog p{font-size:12px}dialog h3{color:var(--gold);margin-top:28px}dialog table{border-collapse:collapse;width:100%;font-size:12px;margin:12px 0}td,th{padding:8px;border-bottom:1px solid var(--line);text-align:left}dialog>button{margin-top:24px;width:100%}dialog ul{padding-left:18px;font-size:12px;line-height:2.2}@media(min-width:1400px){.life-grid{grid-template-columns:260px minmax(0,1fr) 305px;gap:28px}}@media(max-width:1100px){.life-grid{grid-template-columns:210px minmax(0,1fr);gap:20px}.choices-column{grid-column:2}.profile{grid-row:span 2}.choices-column .action-list{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.intro{gap:30px;padding:35px 0}.intro h1{font-size:44px}.time-controls{min-width:270px}}@media(max-width:720px){header{padding:17px 16px;align-items:flex-start;gap:10px}.brand{font-size:21px;letter-spacing:1px}.brand span{font-size:10px}.header-actions{gap:4px;flex-wrap:wrap;justify-content:flex-end;max-width:190px}.header-actions button{padding:5px 7px;font-size:10px}main{padding:0 16px}.intro{grid-template-columns:1fr;gap:25px;padding:30px 0}.intro h1{font-size:36px;line-height:1.65;letter-spacing:1px}.intro-copy>p{font-size:12px}.intro-facts{margin-top:20px}.birth-settings{padding:22px}.birth-seal{font-size:50px}.yearbar{align-items:flex-start;padding:24px 0;gap:12px}.yearbar h1{font-size:32px}.yearbar h1>span{margin-right:10px;font-size:10px}.yearbar h1 em{font-size:22px}.yearbar .eyebrow{font-size:8px;letter-spacing:1px}.time-controls{min-width:0;width:170px}.time-buttons{flex-direction:column;gap:5px}.time-buttons select{width:100%;padding:5px;font-size:10px}.time-buttons button{font-size:11px;padding:5px}.time-controls>.primary{font-size:11px;padding:7px}.time-controls small{font-size:9px}.life-grid{display:flex;flex-direction:column;gap:20px}.profile{display:grid;grid-template-columns:1fr;order:2}.profile .panel:first-child{padding:18px}.profile h2{font-size:24px}.profile .stats{grid-template-columns:repeat(2,1fr);gap:13px 20px;margin-top:16px}.profile p{display:inline-block;margin-right:12px}.profile .chip{display:inline-block}.story-column{order:0}.choices-column{order:1}.choices-column .action-list{grid-template-columns:1fr 1fr}.event-panel{padding:20px}.event-panel h2{font-size:21px}.event-panel p{font-size:13px}.event-choice button{font-size:12px}.timeline{max-height:460px;overflow-y:auto}.career-grid{grid-template-columns:1fr 1fr}.opportunity{padding:12px}.routes{gap:10px}.requirements{font-size:10px}footer{margin:25px 16px 0;padding-top:20px;font-size:10px}dialog{padding:22px}.birth-record{gap:14px}.toast{font-size:11px}.entry p{font-size:12px}}
/* Narrative directions and annual asset statements. */
.focus-description{font-size:12px;color:#c8bacf;line-height:1.9;margin:12px 0 20px}.life-summary{display:flex;flex-direction:column;border-top:1px solid var(--line);padding-top:18px;margin-top:20px}.life-summary>span{font-size:11px;color:var(--muted)}.life-summary b{font:29px Georgia;color:var(--gold);margin:8px 0}.life-summary b small{font:11px system-ui}.career-catalog{margin-top:25px}.career-catalog>summary,.route-details>summary{cursor:pointer;color:var(--gold);font-size:12px;padding:10px 0}.asset-list{display:grid;gap:12px;margin-top:18px}.asset-list .opportunity p{font-size:12px}.finance-totals{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}.finance-totals small{display:block;color:var(--muted)}.finance-totals b{display:block;font:30px Georgia;color:var(--gold);margin-top:5px}.ledger{width:100%;border-collapse:collapse;margin-top:15px;font-size:12px}.ledger td:last-child{text-align:right}.route-details h4{margin-top:10px}.event-panel .effects{font-size:11px}
.relationship-card{padding:24px;border:1px solid #765b70;background:linear-gradient(130deg,#362536,#251d2c);border-radius:7px;margin:20px 0}.relationship-card h3{font:27px Georgia,serif;margin:12px 0}.relationship-card p{font-size:13px}.family-card{margin-top:16px}.past-loves{padding:10px 0}.past-loves p{font-size:12px}.love-timeline{margin-top:24px}.love-timeline .entry{padding-top:8px;padding-bottom:25px}.love-timeline .entry-mark{top:17px}.event-choice .requirements:empty{display:none}.event-choice button{margin-bottom:4px}
.birth-registration{max-width:950px;margin:42px auto 50px;border:1px solid #816380;border-radius:8px;overflow:hidden;background:linear-gradient(145deg,#29202f,#18171f)}.registration-top{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#b58d9e;color:#20161d;padding:14px 24px;font:21px Georgia,serif}.registration-top small{font:10px monospace}.registration-body{padding:32px}.registration-body h1{font:44px/1.5 Georgia,serif;margin:10px 0 18px;letter-spacing:2px}.registration-body h1 small{font:14px system-ui;color:var(--gold);letter-spacing:0}.birth-lede{color:#d5c8db;font-size:14px;line-height:2}.registration-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 25px;border-top:1px solid var(--line);margin-top:25px;padding-top:25px}.registration-facts small{display:block;color:var(--muted);font-size:11px;margin-bottom:6px}.registration-facts strong{font-size:14px;font-weight:600}.birth-probability{background:#342b39;border-left:2px solid var(--gold);padding:16px;margin:28px 0 18px;font-size:12px;line-height:2}.birth-actions{display:flex;gap:10px;margin-top:24px;flex-wrap:wrap}.birth-actions button{padding:12px 22px}.birth-actions button:first-child{flex:1}.birth-registration~footer{margin-top:20px}@media(max-width:650px){.birth-registration{margin:24px 0}.registration-top{padding:12px 17px;font-size:18px}.registration-body{padding:22px 18px}.registration-body h1{font-size:32px}.registration-facts{grid-template-columns:repeat(2,1fr);gap:22px 16px}.birth-actions{flex-direction:column}.birth-lede{font-size:12px}}

.currency-note{display:block;font-size:11px!important;font-weight:400;line-height:1.6;color:var(--muted,#b3a6b9);margin-top:3px;overflow-wrap:anywhere}.ledger .currency-note{white-space:normal}.resources>div{min-width:0}

.income-rank{border-top:1px solid var(--line);margin-top:18px;padding-top:15px}.income-rank>small{display:block;color:var(--muted);font-size:11px}.income-rank>strong{display:block;color:var(--gold);font-size:20px;margin-top:6px}.income-rank p{font-size:13px;margin:9px 0}.income-rank p strong{margin-left:5px;color:var(--gold)}.rank-info{font:inherit;padding:0;border:0;background:none;color:var(--gold);text-decoration:underline;cursor:pointer}

.world-affinities{border-top:1px solid var(--line);margin-top:22px;padding-top:20px}.world-affinities h3{font-size:16px;margin:8px 0 16px}.world-affinities .stat{margin-top:12px}.world-affinities .stat b small{font-size:10px;color:var(--muted);font-weight:400}.affinity-muggle i{background:#7dbcb3!important}.affinity-wizard i{background:#b298da!important}.world-affinities .tiny{line-height:1.8;margin-top:14px}

.hallow-collection h3{font-size:17px;margin:8px 0 16px}.hallow-collection h3 small{float:right;color:var(--muted);font-size:12px}.hallow-item{border-top:1px solid var(--line);padding:12px 0;color:var(--muted);font-size:13px}.hallow-item summary{cursor:pointer}.hallow-item summary small{display:block;font-size:10px;margin:5px 0 0 18px}.hallow-item.found{color:var(--gold)}.hallow-collection .tiny{line-height:1.8}

.hallow-search{border-top:1px solid var(--line);padding-top:14px}.hallow-search>b,.hallow-search>small{display:block;margin:5px 0}.hallow-search>small{font-size:11px;color:var(--muted)}.legendary-achievement{border:1px solid #b89559;border-radius:8px;background:linear-gradient(135deg,#493147,#2c2435);padding:15px;margin-top:15px}.legendary-achievement>*{display:block}.legendary-achievement small{font-size:10px;letter-spacing:2px;color:#d4b888}.legendary-achievement strong{font-size:19px;color:#f5d698;margin:8px 0}.legendary-achievement span{font-size:11px;color:#d8c5aa}

.legend-roster{display:grid;gap:15px;margin:24px 0 32px}.legend-card{padding:24px;border:1px solid #8f704a;border-radius:12px;background:linear-gradient(135deg,#423044,#282333)}.legend-card h3{font:28px Georgia,serif;color:#f1d69e;margin:10px 0}.legend-chip{border-color:#aa884f!important;color:#edcf95!important}.achievement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.achievement-card{border:1px solid var(--line);border-radius:9px;padding:17px;opacity:.6}.achievement-card.unlocked{opacity:1;border-color:#a17e4f;background:#3b2c3c}.achievement-card h4{font-size:15px;margin:10px 0}.achievement-card small{font-size:10px;color:var(--muted)}.achievement-card p{font-size:12px;line-height:1.8}.empty-hall{padding:35px 25px;border:1px dashed #79627c;border-radius:12px;text-align:center}.empty-hall strong{color:var(--gold)}@media(max-width:500px){.achievement-grid{grid-template-columns:1fr}}

.hall-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.hall-controls small{color:var(--muted);font-size:11px}.header-actions{flex-wrap:wrap}

.birth-income-rank{margin-top:10px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px}.birth-income-rank>small{display:block;flex-basis:100%;font-size:10px;color:var(--muted)}.quintile-dots{display:inline-flex;gap:4px}.quintile-dots i{width:8px;height:8px;border:1px solid #a88cba;border-radius:50%}.quintile-dots .filled{background:#c4a2c2}.soul-collection{display:flex;gap:7px;flex-wrap:wrap;border:1px solid var(--line);padding:15px;border-radius:9px;margin-top:20px}.soul-type{font-size:11px;color:var(--muted);padding:8px}.soul-type code{font-size:10px}.soul-type.discovered{color:var(--gold);border-color:#9d7951}.soul-type.selected{background:#604252}.memory-list{display:grid;gap:13px;margin-top:24px}.memory-card{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:21px;border:1px solid var(--line);border-radius:10px;background:#241f2c}.memory-card h3{margin:0 0 9px;font-size:18px;color:var(--gold)}.memory-card p{font-size:12px;line-height:1.9}.memory-card small{font-size:10px;color:var(--muted)}.memory-card button{flex-shrink:0}.memory-detail{padding:24px;border:1px solid #9a7950;border-radius:12px;background:#302535;margin:22px 0}.memory-detail .timeline{max-height:650px;overflow:auto;margin-top:20px}.memory-detail .entry small{color:var(--gold);font-size:10px}.cognition-summary{border-top:1px solid var(--line);padding-top:17px;margin-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.cognition-summary small{color:var(--muted);font-size:10px;display:block}.cognition-summary b{font:24px Georgia;color:var(--gold);display:block;margin-top:7px}.cognition-summary p{grid-column:1/-1;line-height:1.8}@media(max-width:500px){.memory-card{display:block}.memory-card button{margin-top:12px}.header-actions button{font-size:10px;padding:7px}.header-actions{max-width:230px}}

.investment-grid{display:grid;gap:14px}.asset-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.asset-head small{color:var(--muted);font-size:11px}.asset-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.property-catalog{margin:20px 0}.property-catalog>summary{cursor:pointer;color:var(--gold);padding:14px;border:1px dashed var(--line);border-radius:8px}.market-context h3{font-size:16px;margin-top:10px}

.friend-roster{display:grid;gap:9px;margin:15px 0 25px}.friend-roster article{border:1px solid var(--line);border-radius:8px;padding:13px 16px}.friend-roster strong{font-size:13px}.friend-roster small{display:block;color:var(--muted);font-size:10px;margin-top:7px}

.people-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin-top:20px}.person-card{border:1px solid var(--line);border-radius:7px;padding:18px;background:#241e2a;margin:12px 0}.person-card h3{font-size:21px;margin:0 0 8px}.person-card dl{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0 0}.person-card dt{font-size:10px;color:var(--muted)}.person-card dd{margin:3px 0 0;font-size:12px;overflow-wrap:anywhere}.event-panel .person-card{background:#1e1924}.birth-registration h1{overflow-wrap:anywhere}

/* Compact asset management keeps one active form per category. */
.holding-list{display:grid;gap:.45rem;margin-bottom:1rem}.holding-row{display:flex;justify-content:space-between;gap:.75rem;text-align:left;width:100%}.holding-row.selected{border-color:var(--gold,#c5a66a)}.finance-form{display:grid;grid-template-columns:1fr 2fr;gap:.75rem}.finance-form input{width:100%;box-sizing:border-box}.compact-property{padding:1rem 0;border-bottom:1px solid #ffffff18}.asset-details{padding:1rem 0}.asset-details summary{cursor:pointer;color:var(--gold,#c5a66a);margin-bottom:.75rem}.asset-details select{width:100%}.compact-property button{margin-top:.6rem}@media(max-width:600px){.finance-form{grid-template-columns:1fr}.holding-row{flex-wrap:wrap}}

/* Theme colors cover all narrative, form, archive and financial surfaces. */
:root[data-theme="light"]{color-scheme:light;--bg:#f6f2eb;--panel:#fffcf7;--text:#2d2731;--muted:#665c6b;--line:#d5cbd8;--gold:#80591f;--red:#b32642;--green:#247345;--violet:#725197}
:root[data-theme="dark"]{color-scheme:dark}
[data-theme="light"] body{background:radial-gradient(ellipse at 70% -10%,#e9dfef99,transparent 55%),var(--bg)}
[data-theme="light"] button{background:#f2ebf4;border-color:#b8a5c2}
[data-theme="light"] button:hover:not(:disabled){background:#e4d7e9;border-color:var(--gold)}
[data-theme="light"] button:disabled{color:#7c727f;background:#eee9ee;border-color:#d4cbd7}
[data-theme="light"] button.primary{background:#80591f;border-color:#80591f;color:#fffaf0}
[data-theme="light"] button.primary:hover:not(:disabled){background:#654315}
[data-theme="light"] button.primary:disabled{background:#dfd3c0;color:#716752;border-color:#d1c3ac}
[data-theme="light"] .panel{background:linear-gradient(130deg,#fffaf7,var(--panel))}
[data-theme="light"] select,[data-theme="light"] input{color:var(--text);background:#fffdf9;border-color:#b8a5c2}
[data-theme="light"] .chip{border-color:#baa2c0;background:#eee4f0;color:#674323}
[data-theme="light"] .stat b{color:#44334f}
[data-theme="light"] .track{background:#ddd3e4}
[data-theme="light"] .track i.danger{background:#aa4560}
[data-theme="light"] .toast{background:#ece3f0}
[data-theme="light"] .event-panel{border-color:#b2976c;background:linear-gradient(135deg,#f6edf5,#fffcf7)}
[data-theme="light"] .event-panel>p,[data-theme="light"] .birth-lede{color:#504355}
[data-theme="light"] .event-choice{border-color:#d1bfd6}
[data-theme="light"] .event-choice button{background:#ede2f0;border-color:#b497c0}
[data-theme="light"] .event-choice button:hover:not(:disabled){background:#dfcee6}
[data-theme="light"] .event-choice button:disabled{color:#776c7a;background:#eee8ee;border-color:#d0c4d1}
[data-theme="light"] .timeline{border-color:#c5b2c6}
[data-theme="light"] .entry-mark{background:#907493}
[data-theme="light"] .dots i{border-color:#9777a0}
[data-theme="light"] .opportunity,[data-theme="light"] dialog{background:#fffcf8}
[data-theme="light"] dialog{border-color:#a78aab}
[data-theme="light"] dialog::backdrop{background:#352a4059}
[data-theme="light"] .ending{background:#f1e8f2}
[data-theme="light"] .focus-description{color:#66516f}
[data-theme="light"] .relationship-card{border-color:#b497ad;background:linear-gradient(130deg,#f1e2ec,#fffaf7)}
[data-theme="light"] .birth-registration{border-color:#b291ad;background:linear-gradient(145deg,#f3e9f0,#fffcf7)}
[data-theme="light"] .registration-top{background:#e4c8d4;color:#43283b}
[data-theme="light"] .birth-probability{background:#ece3ee}
[data-theme="light"] .affinity-muggle i{background:#367f76!important}
[data-theme="light"] .affinity-wizard i{background:#8056a3!important}
[data-theme="light"] .legendary-achievement,[data-theme="light"] .legend-card{background:linear-gradient(135deg,#f1e3ee,#fffbef);border-color:#aa823f}
[data-theme="light"] .legendary-achievement small,[data-theme="light"] .legendary-achievement strong,[data-theme="light"] .legend-card h3{color:#795014}
[data-theme="light"] .legendary-achievement span{color:#705c3c}
[data-theme="light"] .legend-chip{color:#795014!important;border-color:#aa823f!important}
[data-theme="light"] .achievement-card.unlocked{background:#efe3ef;border-color:#aa823f}
[data-theme="light"] .empty-hall{border-color:#a28ba8}
[data-theme="light"] .quintile-dots i{border-color:#9974a4}
[data-theme="light"] .quintile-dots .filled{background:#9974a4}
[data-theme="light"] .soul-type.selected{background:#e4ccd9}
[data-theme="light"] .memory-card,[data-theme="light"] .person-card{background:#fffcf8}
[data-theme="light"] .memory-detail{background:#f0e5f0;border-color:#aa823f}
[data-theme="light"] .event-panel .person-card{background:#fffaf7}
[data-theme="light"] .compact-property{border-color:var(--line)}
.header-actions{flex-wrap:wrap;justify-content:flex-end}
#themeBtn{white-space:nowrap;min-width:75px}

/* Native picker: equal-width CJK names, including the unrestricted option. */
#birthSchool,#birthSchool option{font-family:"Noto Sans Mono CJK TC","Noto Sans Mono CJK SC",monospace;white-space:pre}

.return-gain{color:var(--red);font-weight:650}.return-loss{color:var(--green);font-weight:650}.return-neutral{color:var(--muted)}.holding-returns{display:block;white-space:normal;line-height:1.8;margin-top:4px}.holding-row>span{min-width:0}.holding-row>b{flex-shrink:0}

/* Decisions float above planning, and can be minimized without advancing time. */
.event-overlay{position:fixed;inset:0;z-index:100;background:rgba(10,8,14,.72);display:flex;align-items:center;justify-content:center;padding:24px;backdrop-filter:blur(4px)}
.event-dialog{width:min(780px,100%);max-height:88dvh;overflow:auto;box-shadow:0 24px 100px #0008;margin:0;background:var(--panel,#29232f)}
.event-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.event-toolbar button{font-size:12px;padding:8px 12px}.event-pending{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;border:1px solid var(--line,#66516b);border-radius:8px;margin-bottom:18px;background:var(--panel,#29232f)}
.compact-property input[type=checkbox]{width:auto;margin-right:8px}.event-choice .tiny{line-height:1.6;margin-top:8px}.person-card dl div{min-width:0}
@media(max-width:640px){.event-overlay{padding:10px}.event-dialog{max-height:94dvh;padding:20px}.event-pending{align-items:flex-start;flex-direction:column}.event-toolbar{gap:8px}}

/* Counted properties retain individual identities behind an optional disclosure. */
.property-row-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:14px}.property-row-head .tiny{margin:4px 0}.property-figures{text-align:right;display:flex;flex-direction:column;gap:7px;min-width:110px}.property-figures>span{font-variant-numeric:tabular-nums;white-space:nowrap}.property-sale{display:flex;align-items:center;justify-content:flex-end;gap:8px}.property-sale small{font-size:10px;color:var(--muted)}.property-sale button,.compact-property .property-sale button{width:auto;flex:0 0 auto;margin:0;padding:5px 11px;font-size:11px;white-space:nowrap;min-height:29px}.property-sale select{width:160px;max-width:180px;font-size:11px;margin:0;padding:5px 8px;min-height:29px}.property-count{color:var(--gold);font-size:14px;margin-left:7px;white-space:nowrap}.property-breakdown{margin-top:8px}.property-breakdown>summary{font-size:11px;color:var(--muted);cursor:pointer}.property-unit{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid var(--line);padding:12px 0}.property-unit small{display:block;color:var(--muted);font-size:10px}.property-unit .property-sale{flex-wrap:wrap}.manor-effects{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.manor-effects>div{background:color-mix(in srgb,var(--gold) 6%,transparent);border:1px solid var(--line);border-radius:6px;padding:10px 12px}.manor-effects small{font-size:10px;color:var(--gold)}.manor-effects p{font-size:11px;line-height:1.7;margin:4px 0}.manor-name-form{display:flex;gap:8px;align-items:center}.manor-name-form input{min-width:0;flex:1}.manor-name-form button{margin:0;white-space:nowrap;width:auto}.manor-card{padding-top:20px;padding-bottom:20px}
@media(max-width:600px){.property-row-head{gap:10px}.property-figures{min-width:90px;font-size:12px}.property-sale{flex-wrap:wrap}.property-sale select{max-width:125px;font-size:10px}.manor-effects{grid-template-columns:1fr}.property-unit{align-items:flex-start}.property-unit .property-sale small{max-width:120px;text-align:right}}

/* A full-width desktop workspace keeps navigation and controls in view. */
footer{display:flex;align-items:center;justify-content:center;gap:12px 24px;flex-wrap:wrap;max-width:none;padding:15px 20px;margin-top:24px}
.footer-credits summary{cursor:pointer}.footer-credits>div{position:fixed;bottom:60px;left:50%;transform:translateX(-50%);width:min(640px,calc(100vw - 32px));max-height:50dvh;overflow:auto;padding:22px;background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 50px #0005;z-index:90;text-align:left;font-size:12px}.support-link{white-space:nowrap}
.profile-card h2{overflow-wrap:anywhere}.profile-identity{color:var(--muted)}.household-now strong{color:var(--gold);margin-left:8px}.load-summary{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 12px;border-top:1px solid var(--line);padding-top:10px;margin:12px 0;font-size:11px;color:var(--muted)}.health-indicator{flex-basis:100%}.sidebar-links{display:flex;gap:8px}.funds-card>b,.wealth-card>b{display:block;font-size:23px;line-height:1.4;font-variant-numeric:tabular-nums}.funds-card>small,.wealth-card>small{color:var(--muted)}.funds-card p,.wealth-card p{color:var(--muted);font-size:11px}.wealth-percentile{display:inline-block;font-size:11px;color:var(--gold);padding:2px 8px;background:color-mix(in srgb,var(--gold) 9%,transparent);border-radius:4px;margin-top:8px}.power-summary{display:flex;justify-content:space-between;gap:8px;margin-top:12px;font-size:11px;color:var(--muted)}.power-summary b{color:var(--text)}.direction-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}.direction-pair label{min-width:0}.chapter-status{font-size:12px;color:var(--gold);padding:12px 16px;border:1px solid var(--line);border-radius:6px}.direction-hint{color:var(--muted);font-size:11px}
@media(min-width:1000px){
  body.game-playing{height:100dvh;display:flex;flex-direction:column;overflow:hidden}
  body.game-playing>header{max-width:none;width:100%;padding:10px 20px;min-height:55px;flex:0 0 auto;gap:16px}
  body.game-playing .header-actions{max-width:none;gap:6px;flex-wrap:nowrap}
  body.game-playing .header-actions button{font-size:11px;padding:6px 10px}
  body.game-playing>main{width:100%;max-width:none;padding:0 18px 12px;min-height:0;flex:1;display:flex;flex-direction:column;overflow:hidden}
  body.game-playing .yearbar{padding:12px 2px;align-items:center;flex:0 0 auto;gap:16px}
  body.game-playing .yearbar>div:first-child{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
  body.game-playing .yearbar .eyebrow{display:none}
  body.game-playing .yearbar h1{font-size:32px;line-height:1.15;margin:0;white-space:nowrap}
  body.game-playing .yearbar h1>span{margin-right:15px}
  body.game-playing .yearbar h1 em{font-size:23px}
  body.game-playing .yearbar p{font-size:11px}
  body.game-playing .time-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
  body.game-playing .time-controls>small{flex-basis:100%;font-size:10px;line-height:1.3}
  body.game-playing .time-controls button,body.game-playing .time-controls select{font-size:11px;padding:5px 10px;margin:0;width:auto}
  body.game-playing .time-buttons{gap:6px}
  body.game-playing .life-grid{display:grid;grid-template-columns:220px minmax(0,1fr) 220px;gap:14px;flex:1;min-height:0}
  body.game-playing .profile,body.game-playing .choices-column{display:flex;flex-direction:column;gap:10px;grid-column:auto;grid-row:auto;min-width:0;min-height:0}
  body.game-playing .panel{padding:14px;border-radius:8px}
  body.game-playing .profile .panel:first-child{padding:14px}
  body.game-playing .profile h2{font-size:24px;margin:3px 0;line-height:1.3}
  body.game-playing .profile p{font-size:11px;line-height:1.5;margin:6px 0;display:block}
  body.game-playing .profile .eyebrow,body.game-playing .choices-column .eyebrow{font-size:8px;letter-spacing:1.5px}
  body.game-playing .profile .stats{display:grid;grid-template-columns:1fr 1fr;gap:9px 16px;margin-top:14px}
  body.game-playing .stat>div{font-size:11px;line-height:1.5}
  body.game-playing .track{height:3px;margin-top:3px}
  body.game-playing .profile button,body.game-playing .choices-column button{font-size:11px;padding:5px 8px}
  body.game-playing .load-summary{margin:10px 0 8px;padding-top:8px;font-size:10px}
  body.game-playing .residence-card label,body.game-playing .direction-card label{font-size:11px;margin:8px 0 4px;display:block}
  body.game-playing .residence-card>label:first-child{margin-top:0}
  body.game-playing .residence-card select,body.game-playing .direction-card select{font-size:12px;padding:6px 8px;margin:0;min-height:32px}
  body.game-playing .residence-card .tiny{font-size:10px;line-height:1.5;margin:5px 0 0}
  body.game-playing .funds-card>b,body.game-playing .wealth-card>b{font-size:23px}
  body.game-playing .funds-card>small,body.game-playing .wealth-card>small{font-size:10px}
  body.game-playing .story-column{display:flex;flex-direction:column;min-height:0;min-width:0;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--panel) 65%,transparent);overflow:hidden}
  body.game-playing .story-column>.quiet-year{padding:12px 18px;border:0;margin:0;background:none;text-align:left;flex-shrink:0}
  body.game-playing .story-column>.quiet-year .eyebrow,body.game-playing .story-column>.quiet-year p{display:none}
  body.game-playing .story-column>.quiet-year h2{font-size:16px;line-height:1.5;margin:0}
  body.game-playing .event-pending,body.game-playing .chapter-status{margin:10px 12px 0;padding:8px 12px;font-size:11px;flex-shrink:0}
  body.game-playing .event-pending button{padding:5px 10px;font-size:11px}
  body.game-playing .tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));flex-shrink:0;overflow:visible;gap:0;margin:0;padding:0 10px;background:color-mix(in srgb,var(--gold) 3%,transparent)}
  body.game-playing .tabs button{font-size:11px;padding:8px 3px;white-space:normal;line-height:1.4;min-height:33px}
  body.game-playing #pageContent{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:18px 22px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
  body.game-playing #pageContent:focus-visible{outline:2px solid var(--gold);outline-offset:-3px}
  body.game-playing #pageContent>.timeline,body.game-playing #pageContent .timeline{max-height:none;overflow:visible}
  body.game-playing #pageContent>h2:first-child{margin-top:0;font-size:23px}
  body.game-playing .choices-column h2{font-size:20px;line-height:1.4;margin:3px 0}
  body.game-playing .choices-column .direction-hint{font-size:10px;margin:4px 0 8px;line-height:1.5}
  body.game-playing .choices-column .focus-description{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:10px;line-height:1.5;margin:9px 0}
  body.game-playing .wealth-card{margin-top:auto}
  body.game-playing .wealth-card p{margin:6px 0}
  body.game-playing>footer{flex:0 0 auto;min-height:34px;padding:6px 18px;margin:0;border-top:1px solid var(--line);font-size:10px;line-height:1.5;justify-content:flex-start;gap:10px 24px}
  body.game-playing>footer .support-link{margin-left:auto}
  body.game-playing>main>.toast{flex-shrink:0;margin:0 0 8px;padding:7px 12px;font-size:11px}
}
@media(min-width:1600px){body.game-playing .life-grid{grid-template-columns:240px minmax(0,1fr) 240px;gap:18px}body.game-playing .tabs{grid-template-columns:repeat(6,minmax(0,1fr))}body.game-playing .profile .stats{gap:13px 18px}body.game-playing .panel{padding:18px}}
@media(min-width:1000px) and (max-height:800px){body.game-playing .panel,body.game-playing .profile .panel:first-child{padding:10px 12px}body.game-playing .life-grid{gap:12px}body.game-playing .profile,body.game-playing .choices-column{gap:8px}body.game-playing .profile h2{font-size:21px}body.game-playing .profile .stats{gap:6px 14px;margin-top:9px}body.game-playing .profile p{margin:4px 0;font-size:10px}body.game-playing .load-summary{margin:7px 0;padding-top:6px}body.game-playing .residence-card label,body.game-playing .direction-card label{margin:6px 0 3px;font-size:10px}body.game-playing .residence-card select,body.game-playing .direction-card select{padding:4px 6px;min-height:28px;font-size:11px}body.game-playing .residence-card .tiny{font-size:9px}body.game-playing .yearbar{padding:9px 2px}body.game-playing .choices-column .focus-description{margin:6px 0}body.game-playing .power-summary{margin-top:8px}body.game-playing .funds-card>b,body.game-playing .wealth-card>b{font-size:21px}}
@media(max-width:999px){.profile .stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 20px}.profile,.choices-column{gap:12px}.direction-pair{grid-template-columns:1fr 1fr}footer{font-size:10px;gap:10px}.wealth-card,.funds-card{margin-top:12px}.funds-card p{display:block}.profile button{font-size:12px}}
@media(min-width:1000px){
  body.game-playing .brand{display:flex;align-items:baseline;gap:10px;font-size:23px;line-height:1.3}
  body.game-playing .brand span{display:inline;font-size:10px;margin:0;letter-spacing:1px}
  body.game-playing>header{min-height:51px;padding:9px 18px}
  body.game-playing .time-controls{flex-direction:row;min-width:0;max-width:460px}
  body.game-playing .time-controls>small{margin:0}
  body.game-playing .profile-card>.eyebrow{display:none}
  body.game-playing .profile .stats{gap:7px 16px}
  body.game-playing .residence-card .tiny{display:none}
  body.game-playing .wealth-card{padding:12px 14px}
  body.game-playing .wealth-percentile{margin-top:4px;padding:1px 7px;line-height:1.5}
  body.game-playing .wealth-card .power-summary{margin-top:8px;line-height:1.5}
  body.game-playing .wealth-card p{line-height:1.5;margin:4px 0}
}
@media(min-width:1000px) and (max-height:800px){
  body.game-playing .profile .stats{gap:5px 14px}
  body.game-playing .profile-identity{font-size:10px}
  body.game-playing .direction-hint{display:none}
  body.game-playing .direction-card .eyebrow{display:none}
  body.game-playing .choices-column h2{font-size:18px;margin:0 0 5px}
  body.game-playing .choices-column .focus-description{display:none}
  body.game-playing .direction-card>button{margin-top:8px}
  body.game-playing .wealth-card{padding:10px 12px}
  body.game-playing .wealth-card>b{font-size:20px}
  body.game-playing .wealth-card .power-summary{margin-top:5px}
}
@media(min-width:1000px) and (max-height:740px){
  body.game-playing .panel,body.game-playing .profile .panel:first-child{padding:8px 10px}
  body.game-playing .profile h2{font-size:19px;margin:2px 0}
  body.game-playing .profile .stats{gap:4px 12px;margin-top:7px}
  body.game-playing .profile .stat>div:first-child{font-size:10px;line-height:12px}
  body.game-playing .profile .stat .track{height:2px;margin-top:2px}
  body.game-playing .profile p{margin:3px 0}
  body.game-playing .profile button,body.game-playing .choices-column button{padding:4px 7px;font-size:10px;line-height:1.4}
  body.game-playing .load-summary{font-size:9px;gap:3px 8px;margin:6px 0;padding-top:5px}
  body.game-playing .residence-card label{line-height:1.3;margin:5px 0 3px}
  body.game-playing .residence-card select{min-height:26px;padding:3px 6px}
  body.game-playing .funds-card>b{font-size:19px}
  body.game-playing .wealth-card{padding:8px 10px}
}

.residence-bonus{color:var(--muted);font-size:10px;line-height:1.5;margin:7px 0 0}.residence-bonus strong{color:var(--gold);font-weight:600}.residence-bonus small{font-size:9px}
@media(min-width:1000px){body.game-playing .profile .residence-bonus{display:block;font-size:10px;line-height:1.4;margin:6px 0 0}body.game-playing .residence-bonus small{display:none}}
@media(min-width:1000px) and (max-height:740px){body.game-playing .funds-card>p,body.game-playing .profile-card>.profile-identity{display:none}body.game-playing .profile .residence-bonus{font-size:9px}}

.current-residence{font-size:12px;color:var(--gold);overflow-wrap:anywhere;line-height:1.5;margin:5px 0 7px}.residence-card>button{margin-bottom:2px}

/* Artwork stays behind the original accessible text and controls. */
.asset-art{background-image:linear-gradient(90deg,var(--panel) 0%,color-mix(in srgb,var(--panel) 90%,transparent) 48%,color-mix(in srgb,var(--panel) 45%,transparent) 100%),var(--asset-art,none);background-size:cover;background-position:center,right center;background-repeat:no-repeat;isolation:isolate}.compact-property.asset-art{border:1px solid var(--line);border-radius:8px;padding:18px;margin:12px 0}.asset-art .tiny,.asset-art small{color:var(--text)}.asset-art .manor-effects>div{background:color-mix(in srgb,var(--panel) 85%,transparent)}.residence-card.asset-art{background-image:linear-gradient(color-mix(in srgb,var(--panel) 78%,transparent),color-mix(in srgb,var(--panel) 90%,transparent)),var(--asset-art,none);background-position:center}.asset-art button,.asset-art select,.asset-art input{background-color:var(--panel)}

.region.asset-art{border:1px solid var(--line);border-radius:8px;margin:12px 0;padding:20px;min-height:180px}.region.asset-art .region-head>span{align-self:flex-start;flex-shrink:0;border-radius:4px;background:var(--panel);padding:2px 8px}.region.asset-art .route-details{background:color-mix(in srgb,var(--panel) 92%,transparent);border-radius:5px;padding:8px 12px}

/* Quiet environment artwork stays behind the readable game panels. */
body{background-image:linear-gradient(rgba(20,18,25,.82),rgba(20,18,25,.93)),url('art/site-background.webp');background-size:cover;background-position:center;background-attachment:fixed}
[data-theme="light"] body{background-image:linear-gradient(rgba(247,243,237,.86),rgba(247,243,237,.96)),url('art/site-background.webp');background-size:cover;background-position:center;background-attachment:fixed}
@media(max-width:999px){body,[data-theme="light"] body{background-attachment:scroll}}

.family-branch{border-left:2px solid var(--line);padding:10px 14px;margin:12px 0 12px calc(var(--family-depth,0)*16px);overflow-wrap:anywhere}.family-branch h4{margin:0}.housing-summary details{margin:8px 0}.housing-summary p,.family-tree p{overflow-wrap:anywhere}.relationship-card button{margin:4px 6px 4px 0}@media(max-width:600px){.family-branch{margin-left:calc(var(--family-depth,0)*8px);padding-left:10px}}

/* Language selection shares the existing navigation and stays usable on narrow screens. */
.language-control{display:flex;align-items:center;margin:0}.language-control select{width:auto;max-width:140px;font-size:12px;padding:7px;border-radius:5px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(min-width:1000px){body.game-playing .header-actions{flex-wrap:wrap}}

.yearbar h1 em{white-space:nowrap}.stat>div:first-child{gap:6px}.stat>div:first-child>span{min-width:0;overflow-wrap:anywhere}.stat>div:first-child>b{flex-shrink:0}

/* Keep the reading surface quiet; secondary controls open on demand. */
.header-menu{position:relative;align-self:center}
.header-menu>summary{cursor:pointer;padding:7px 12px;border:1px solid var(--line);border-radius:5px;font-size:12px;list-style:none}
.header-menu>summary::-webkit-details-marker{display:none}
.header-menu>summary::after{content:' +';color:var(--gold)}
.header-menu[open]>summary::after{content:' −'}
.header-menu nav{position:absolute;top:calc(100% + 8px);right:0;z-index:110;display:grid;gap:6px;padding:10px;min-width:180px;background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 35px #0004}
.header-menu nav button{text-align:left;min-height:40px}
.profile-card>.stats{margin:22px 0}
.profile-card>button{margin:6px 5px 0 0}
.status-stats{grid-template-columns:repeat(2,minmax(0,1fr));margin:16px 0 22px}
.advanced-directions{border-top:1px solid var(--line);margin-top:18px;padding-top:12px}
.advanced-directions>summary,.guide-section>summary{cursor:pointer;color:var(--gold)}
.direction-card>.sidebar-links{flex-wrap:wrap;margin-top:20px}
.direction-card>.sidebar-links button{flex:1;white-space:nowrap}
.guide-section{border-top:1px solid var(--line);padding:16px 0}
.guide-section>summary{font-size:14px;font-weight:600;line-height:1.7}
.guide-section[open]>summary{margin-bottom:14px}
.guide-section p{line-height:1.9}
.timeline-effects{margin-top:5px;color:var(--muted);font-size:11px}
.setup-guide{text-align:center}
.birth-settings .setup-guide button{width:auto;padding:6px 12px;background:none;border-color:transparent;color:var(--muted);margin-top:8px}
.residence-card .residence-bonus{font-size:12px;line-height:1.8}
.profile .funds-card{margin:0}
@media(min-width:1000px){
  body.game-playing .profile,body.game-playing .choices-column{overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
  body.game-playing .profile>.panel,body.game-playing .choices-column>.panel{flex-shrink:0;padding:20px 16px}
  body.game-playing .profile>.profile-card:first-child{padding:20px 16px}
  body.game-playing .profile .stats{margin:22px 0;gap:18px 16px}
  body.game-playing .direction-card label{margin:16px 0 7px}
  body.game-playing .direction-card select{padding:9px 8px;min-height:40px}
  body.game-playing .profile button,body.game-playing .choices-column button{min-height:36px}
  body.game-playing #pageContent{padding:26px 30px}
  body.game-playing .tabs button{min-height:42px;font-size:12px}
}
@media(min-width:1280px){body.game-playing .tabs{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:999px){
  .header-actions{max-width:none;align-items:center}
  .life-grid{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:16px}
  .story-column{grid-column:1;grid-row:1 / span 2}
  .profile{grid-column:2;grid-row:1;display:flex;flex-direction:column}
  .choices-column{grid-column:2;grid-row:2;align-self:start;display:block}
  .profile h2{font-size:23px}
  .panel{padding:20px}
  .tabs{flex-wrap:wrap;overflow:visible;margin-top:0}
  .tabs button{white-space:normal;min-height:42px}
}
@media(max-width:720px){
  header{position:relative;flex-direction:column;align-items:stretch;padding:16px;gap:12px}
  .brand{font-size:22px}
  .header-actions{justify-content:flex-start;gap:8px}
  .header-actions button,.header-menu>summary{font-size:12px;min-height:40px;padding:8px 10px}
  .header-menu{position:static}.header-menu nav{left:16px;right:16px;min-width:0}
  .language-control select{min-height:40px}
  .yearbar{flex-wrap:wrap;padding:24px 0 20px}
  .yearbar>div:first-child{flex:1 1 100%}
  .time-controls{width:100%;flex-direction:row;flex-wrap:wrap;align-items:center}
  .time-buttons{flex:1;flex-direction:row}
  .time-buttons button{flex:1}
  .time-buttons select{width:65px}
  .time-controls>.primary{min-height:42px;padding:10px}
  .time-controls small{flex-basis:100%;text-align:left;font-size:11px}
  .life-grid{display:flex;flex-direction:column}
  .story-column{order:0}
  .choices-column{order:1;width:100%}
  .profile{order:2;width:100%}
  .tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
  .tabs button{padding:10px 4px;font-size:12px}
  .quiet-year{padding:12px 0 20px}
  .quiet-year h2{font-size:20px}
  .quiet-year .eyebrow,.quiet-year p{display:none}
  .sidebar-links button,.profile-card>button{min-height:42px}
  .direction-pair{grid-template-columns:1fr}
  .profile p{display:block}
  .entry p{font-size:14px}
  dialog{padding:22px}
  dialog table{display:block;overflow-x:auto}
}

.registration-glance{display:flex;gap:10px 20px;flex-wrap:wrap;color:var(--gold);margin:24px 0}.birth-details{border-top:1px solid var(--line);padding-top:18px;margin:20px 0}.birth-details>summary{cursor:pointer;color:var(--muted)}

#dataDialog{padding-top:18px}#closeData{position:sticky;top:0;display:block;width:auto;margin:0 0 14px auto;z-index:1}#dataContent{clear:both}

/* Information stays left; persistent direction controls stay right. */
.metric-list{display:grid;gap:7px;margin:14px 0;font-size:12px;font-variant-numeric:tabular-nums}
.metric-list>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px;min-width:0}
.metric-list dt{color:var(--muted);flex-shrink:0}
.metric-list dd{margin:0;text-align:right;overflow-wrap:anywhere}
.profile .metric-list{border-top:1px solid var(--line);padding-top:12px}
.profile .metric-list>div{gap:6px}
.profile .current-residence{font-size:11px}
.profile h3,.career-summary h3{font-size:14px;margin:0 0 8px}
.profile .funds-card>small{display:block;text-align:right;font-size:10px}
.planning-section>summary,.asset-category>summary{cursor:pointer;color:var(--gold);font-size:14px;font-weight:600;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:10px}
.planning-section>summary::-webkit-details-marker,.asset-category>summary::-webkit-details-marker{display:none}
.planning-section>summary::after,.asset-category>summary::after{content:'+';font-size:18px;font-weight:400}
.planning-section[open]>summary::after,.asset-category[open]>summary::after{content:'−'}
.planning-section[open]>summary,.asset-category[open]>summary{margin-bottom:16px}
.asset-category{margin:14px 0}
.asset-category>summary{min-height:28px}
.career-summary>.planning-section{border-top:1px solid var(--line);padding-top:12px;margin-top:12px}
.career-summary strong{font-size:13px;color:var(--gold)}
.choices-column .direction-card>.eyebrow{font-size:9px}
.choices-column .asset-actions button{flex:1;min-width:70px}
.choices-column .planning-section h2{display:none}
.choices-column .planning-section .panel{border:0;padding:10px 0;background:none;margin:0}
.choices-column .planning-section p{font-size:12px;margin:6px 0}
.relationship-card{padding:18px;margin:0;background:var(--panel);border-color:var(--line)}
.relationship-card h3{font-size:20px;margin:0 0 10px}
.relationship-card p{font-size:12px;margin:8px 0}
.relationship-card .chip{font:11px system-ui}
#pageContent>.finance-totals{margin:0}
#pageContent .finance-totals b{font-size:24px;overflow-wrap:anywhere}
#pageContent .asset-category .finance-form{margin-top:12px}
@media(min-width:1000px){
  body.game-playing .life-grid{grid-template-columns:242px minmax(0,1fr) 242px}
  body.game-playing .profile>.panel,body.game-playing .profile>.profile-card:first-child,body.game-playing .choices-column>.panel{padding:16px 14px}
  body.game-playing .profile .stats{margin:16px 0;gap:10px 14px}
  body.game-playing .profile .metric-list{font-size:11px;gap:6px;margin:12px 0 0}
  body.game-playing .profile .sidebar-links{margin-top:14px}
  body.game-playing .direction-card label{margin:12px 0 5px}
  body.game-playing .direction-card select{min-height:36px;padding:6px 8px}
  body.game-playing .tabs{grid-template-columns:repeat(5,minmax(0,1fr))}
}
@media(min-width:1600px){body.game-playing .life-grid{grid-template-columns:265px minmax(0,1fr) 265px}}
@media(min-width:721px) and (max-width:999px){
  .life-grid{grid-template-columns:205px minmax(0,1fr);gap:14px}
  .profile{grid-column:1;grid-row:1 / span 2;align-self:start}
  .choices-column{grid-column:2;grid-row:1;display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .choices-column>.direction-card{grid-column:1 / -1}
  .story-column{grid-column:2;grid-row:2}
  .panel{padding:16px}
}
@media(max-width:720px){
  .life-grid{gap:14px}
  .choices-column{order:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .choices-column>.direction-card{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:5px 12px;align-items:center}
  .direction-card>.eyebrow,.direction-card>h2{grid-column:1 / -1}
  .direction-card>label{margin:4px 0;font-size:12px}
  .direction-card>select{margin:0;min-height:40px;font-size:12px}
  .choices-column>.career-summary,.choices-column>.planning-section{grid-column:1 / -1;margin:0}
  .story-column{order:1}
  .profile{order:2}
  .profile .metric-list{display:grid;grid-template-columns:1fr 1fr;column-gap:24px}
  .profile .stats{gap:12px 20px;margin:16px 0}
  .asset-category{padding:16px}
  .finance-totals{gap:14px}
  #pageContent .finance-totals b{font-size:20px}
}
.profile h3>small{float:right;font-size:10px;font-weight:400;color:var(--muted)}
