:root{color-scheme:dark;--bg:#0c121c;--surface:#141e2b;--surface-alt:#192534;--line:#293747;--text:#f3f5f7;--muted:#93a1b3;--mint:#9ee7bd;--gold:#e4bb83;--red:#f6a2a0;--blue:#83b7ee;--radius:15px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100vh;margin:0;background:var(--bg);color:var(--text);line-height:1.55}button{font:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}button:focus-visible,a:focus-visible{outline:2px solid var(--mint);outline-offset:3px}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.2;letter-spacing:-.035em}h2{font-size:1.22rem;font-weight:650}p{line-height:1.62}.hidden{display:none!important}.muted{color:var(--muted)}.small{font-size:.76rem}.label,.section-kicker,.eyebrow{font-size:.66rem;font-weight:750;letter-spacing:.15em;color:var(--muted)}.eyebrow{color:var(--mint)}.grain{pointer-events:none;position:fixed;inset:0;z-index:6;opacity:.12;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.2'/%3E%3C/svg%3E")}.header{border-bottom:1px solid var(--line);background:#101823;position:relative;z-index:7}.header-inner{max-width:1480px;margin:auto;min-height:74px;padding:0 35px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:14px}.brand-mark{font-size:1.72rem;font-weight:800;letter-spacing:-.09em;line-height:1}.brand-mark span{color:var(--mint);font-weight:350}.brand-name{font-size:.59rem;letter-spacing:.19em;color:var(--muted);font-weight:800}.header-right{display:flex;align-items:center;gap:22px}.save-state{color:var(--muted);font-size:.72rem}.save-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--mint);margin-right:6px}.text-btn,.subtle-btn{border:0;background:none;color:var(--muted);font-size:.82rem}.text-btn:hover,.subtle-btn:hover{color:var(--mint)}.outline-btn{border:1px solid #465768;color:#e9eef5;border-radius:8px;background:transparent;padding:9px 14px;font-size:.78rem}.outline-btn:hover{border-color:var(--mint)}.shell{max-width:1480px;margin:auto;padding:32px 35px 80px;min-height:75vh}.game-layout{display:grid;grid-template-columns:248px minmax(0,1fr) 244px;gap:27px;align-items:start}.left-rail,.right-rail,.center-stage{min-width:0}.section-kicker{display:flex;justify-content:space-between;align-items:center;margin:7px 0 13px}.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:20px;margin-bottom:15px}.hero-profile{text-align:left}.portrait-wrap{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:17px}.portrait{width:84px;height:84px;display:grid;place-items:center;background:linear-gradient(145deg,#2c534f,#1a3043 75%);border-radius:13px;font-size:2.7rem;font-family:Georgia,serif;color:#d4f3df;box-shadow:inset 0 0 0 1px #436a64}.status-label{font-size:.54rem;letter-spacing:.09em;color:var(--mint);background:#254638;padding:6px 8px;border-radius:5px}.hero-profile h1{font-size:1.7rem;margin-bottom:3px}.thin-line{height:1px;background:var(--line);margin:19px 0}.value-row{font-size:.88rem;margin:5px 0 15px}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px}.mini-note{font-size:.67rem;color:var(--muted)}.stats-list{display:grid;gap:17px}.stat-line{display:flex;align-items:center;justify-content:space-between;font-size:.77rem;margin-bottom:7px}.stat-line strong{font-size:.82rem;font-weight:650}.bar{width:100%;height:5px;background:#304050;border-radius:99px;overflow:hidden}.bar>i{height:100%;display:block;border-radius:99px}.capital{font-size:2.3rem;font-weight:720;letter-spacing:-.05em;line-height:1.1}.finance-grid{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0 14px;padding-top:18px}.finance-grid>div{display:grid;gap:7px}.finance-grid strong{font-size:1rem}.budget-bar,.goal-track{background:#304050;height:6px;border-radius:99px;overflow:hidden;margin-bottom:8px}.budget-bar>div,.goal-track>div{height:100%;background:var(--mint);border-radius:99px;transition:width .35s}.year-banner{min-height:201px;background:radial-gradient(circle at 88% 0%,#244442 0,transparent 32%),linear-gradient(145deg,#1c3040,#121e2c);border:1px solid #395063;border-radius:var(--radius);padding:28px 30px;display:flex;align-items:center;justify-content:space-between;gap:18px}.year-banner h2{font-size:clamp(2.7rem,4.8vw,4.3rem);font-weight:740;margin:8px 0}.year-symbol{color:#5d7887;font-weight:300}.age-text{font-size:1rem;font-weight:500;color:#c7d4d7;letter-spacing:0}.turn-counter{text-align:right}.turn-pips{display:flex;justify-content:flex-end;gap:7px;margin:12px 0}.pip{width:23px;height:10px;border-radius:3px;background:#456271}.pip.live{background:var(--mint)}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:24px 0 16px}.section-head h2{font-size:1.65rem;margin-top:7px}.category-filters{display:flex;gap:7px;overflow:auto;padding:0 0 15px;scrollbar-width:thin}.filter{border:1px solid #334453;background:transparent;color:#9facba;border-radius:99px;font-size:.75rem;white-space:nowrap;padding:7px 13px}.filter.active,.filter:hover{background:#28463f;color:var(--mint);border-color:#3b7967}.actions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.action-card{border:1px solid var(--line);background:var(--surface);border-radius:12px;text-align:left;min-height:147px;padding:17px;transition:background .15s,border-color .15s,transform .15s;display:flex;flex-direction:column;align-items:stretch;gap:12px;color:inherit}.action-card:hover:not(:disabled){border-color:#5b8e80;background:var(--surface-alt);transform:translateY(-2px)}.action-top{display:flex;justify-content:space-between;align-items:center}.action-icon{background:#253b42;border-radius:9px;color:var(--mint);width:34px;height:34px;font-size:1.32rem;display:grid;place-items:center}.action-cost{font-size:.7rem;color:var(--gold)}.action-card h3{font-size:.95rem;font-weight:670}.action-card p{font-size:.74rem;color:var(--muted);margin-top:5px;line-height:1.45}.action-card .unavailable{color:var(--red);margin-top:7px}.advance-wrap{display:flex;align-items:center;gap:20px;justify-content:space-between;margin:19px 0 26px}.primary-btn{padding:12px 19px;border:1px solid var(--mint);border-radius:9px;background:var(--mint);color:#10241d;font-weight:760;font-size:.83rem;display:inline-flex;justify-content:space-between;gap:17px;align-items:center;white-space:nowrap;box-shadow:0 6px 22px #0c171b33}.primary-btn:hover:not(:disabled){background:#b6f4cd}.primary-btn.large{padding:16px 22px;font-size:.95rem}.subtle-btn{padding:0;margin-top:18px;color:var(--mint);width:100%;display:flex;justify-content:space-between}.chronicle{margin-top:14px;padding:24px}.chronicle h2{margin-top:6px}.history-list{display:grid}.history-item{padding:13px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:57px 1fr;gap:13px}.history-item:first-child{border-top:none}.history-date{font-size:.76rem;font-weight:750;color:var(--mint)}.history-type{color:var(--muted);font-size:.65rem;margin-bottom:4px}.history-text{font-size:.8rem;line-height:1.55}.goal-panel{background:linear-gradient(155deg,#18322f,#131e2a 75%);border-color:#34574f}.goal-symbol{font-size:2rem;color:var(--mint);line-height:1}.goal-panel>.label{margin:19px 0 10px}.goal-panel h2{font-size:1.32rem}.goal-panel>.muted{font-size:.79rem;margin:9px 0 20px}.goal-track-info{display:flex;justify-content:space-between;font-size:.73rem;color:var(--mint)}.spacer-top{margin-top:31px}.people-panel{padding:6px 18px}.person-item{padding:15px 0;border-top:1px solid var(--line)}.person-item:first-child{border-top:none}.person-top{display:flex;align-items:center;gap:9px}.person-avatar{height:35px;width:35px;display:grid;place-items:center;background:#2c3c4c;border-radius:50%;color:#d5e1ec;font-family:Georgia,serif}.person-top strong{font-size:.78rem}.person-top p{font-size:.66rem;color:var(--muted)}.person-rel{font-size:.72rem;margin-left:auto;color:var(--mint)}.person-item>.bar{margin:10px 0}.person-memory{font-size:.7rem;color:var(--muted)}.quote-panel{padding:9px 9px 9px 15px}.quote-mark{font-family:Georgia,serif;font-size:3rem;line-height:1;color:var(--mint)}.quote-panel p{font-family:Georgia,serif;font-style:italic;font-size:1.14rem;margin-bottom:12px;line-height:1.5}.notice{margin:16px 0 0;padding:14px 18px;background:#233c38;border:1px solid #477766;border-radius:10px;color:#d5fbe3;font-size:.85rem}.modal-root{position:fixed;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;padding:18px}.modal-backdrop{position:absolute;inset:0;background:#050912df;backdrop-filter:blur(7px)}.dialog{position:relative;z-index:1;width:min(100%,540px);max-height:min(90vh,900px);overflow-y:auto;background:#182433;border:1px solid #4b6370;border-radius:18px;padding:28px;box-shadow:0 22px 90px #0009}.modal-close{position:absolute;right:14px;top:12px;background:none;border:none;color:#9faeba;font-size:1.8rem;line-height:1;padding:5px 10px}.dialog h2{font-size:1.7rem;padding-right:30px;margin:8px 0 13px}.dialog p{color:var(--muted);font-size:.87rem;margin-bottom:17px}.choice{display:block;border:1px solid #344758;border-radius:11px;width:100%;background:#1d2d3d;color:#f5f8fa;padding:15px;margin:10px 0;text-align:left}.choice:hover:not(:disabled){background:#264336;border-color:var(--mint)}.choice strong{display:block;font-size:.87rem}.choice span{display:block;color:var(--muted);font-size:.74rem;margin-top:5px}.modal-buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:21px}.modal-buttons button{flex:1}.goal-choice{display:flex;align-items:center;justify-content:space-between}.modal-kicker{font-size:.69rem;text-transform:uppercase;letter-spacing:.12em;color:var(--mint);font-weight:700}.danger-btn{padding:12px 16px;color:#ffd7d7;background:#592d31;border:1px solid #864b50;border-radius:9px}.welcome{min-height:74vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:56px 15px}.welcome h1{font-size:clamp(2.6rem,6vw,5.5rem);letter-spacing:-.06em;line-height:1.09;margin:19px 0}.welcome h1 em{font-style:normal;color:var(--mint)}.welcome-description{max-width:610px;color:#b1c0cf;font-size:1.06rem;margin:0 auto 26px}.welcome-foot{font-size:.75rem;color:var(--muted);margin-top:18px}.welcome-orbit{height:145px;width:145px;border:1px solid #32574d;border-radius:50%;display:grid;place-items:center;position:relative;background:radial-gradient(circle,#1b3b37,transparent 70%)}.welcome-orbit span{font-size:4rem;font-family:Georgia,serif;color:var(--mint)}.orbit{position:absolute;border:1px solid #477665;border-radius:50%;inset:15px}.orb2{inset:-19px;border-color:#253f3f}footer{border-top:1px solid var(--line);padding:22px 35px;display:flex;justify-content:space-between;gap:15px;color:#728298;font-size:.69rem;max-width:1480px;margin:auto}body.modal-open{overflow:hidden}
@media(max-width:1180px){.game-layout{grid-template-columns:220px minmax(0,1fr)}.right-rail{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr 1fr;gap:15px}.right-rail>.section-kicker{display:none}.right-rail>.panel{margin:0}.quote-panel{align-self:center}.left-rail .panel{padding:15px}.shell{padding:25px 22px 70px}.header-inner{padding:0 22px}}
@media(max-width:740px){.game-layout{grid-template-columns:1fr;gap:14px}.left-rail{display:grid;grid-template-columns:1fr 1fr;gap:12px}.left-rail>.section-kicker{grid-column:1/-1;margin-bottom:0}.hero-profile{grid-row:span 2}.left-rail>.panel{margin:0}.right-rail{display:block}.right-rail>.panel{margin-bottom:13px}.left-rail .hero-profile{grid-row:span 2}.center-stage{order:2}.right-rail{order:3}.year-banner{padding:22px;min-height:170px}.brand-name,.save-state{display:none}.header-right{gap:10px}.header-inner{min-height:62px}.section-head h2{font-size:1.35rem}.shell{padding:18px 14px 50px}.advance-wrap{align-items:stretch;flex-direction:column;gap:12px}.primary-btn{justify-content:center}footer{flex-direction:column;padding:20px 15px}}
@media(max-width:480px){.actions-grid{grid-template-columns:1fr}.action-card{min-height:105px}.left-rail{grid-template-columns:1fr 1fr}.left-rail .hero-profile{grid-column:1/-1;grid-row:auto}.left-rail .metrics-panel,.left-rail .finance-panel{grid-column:1/-1}.year-banner{flex-direction:column;align-items:flex-start}.turn-counter{text-align:left}.turn-pips{justify-content:flex-start}.outline-btn,.text-btn{font-size:.72rem;padding:7px 9px}.brand-mark{font-size:1.4rem}.dialog{padding:23px 18px}.welcome{padding:44px 0}.welcome-orbit{height:104px;width:104px}.welcome-description{font-size:.94rem}.welcome h1{font-size:2.6rem}}
