:root{--bg:#ebe6d9;--panel:#f6f2e8;--paper:#20343c;--navy:#17323b;--gold:#ad7933;--gold-dark:#87571f;--teal:#267c72;--red:#aa4836;--muted:#6c7d7c;--line:#1c3c381a;color-scheme:light}
body{background:#eae5d8;background-image:url('assets/paper-texture.webp');background-size:560px;color:var(--paper)}
.masthead{height:82px;background-image:none;background-color:#f5f1e6;border:0;border-bottom:2px solid var(--navy);color:var(--navy);padding:0 32px}.brand b{font-size:27px;letter-spacing:3px}.brand small{color:var(--red);font-size:10px;letter-spacing:3px}.brand .seal{width:48px;height:48px}.header-date{font-size:13px;letter-spacing:.5px;color:#617171}.header-actions{gap:9px}.quiet{background-image:none;background-color:transparent;border:1px solid #17323b30;color:var(--navy);padding:7px 12px;font-size:13px}.quiet:hover{background:#17323b08}
.game-shell{max-width:1600px;grid-template-columns:210px 1fr;min-height:calc(100vh - 82px)}.sidebar{background-image:url('assets/paper-texture.webp');background-size:380px;background-color:#f4eee0;border-right:1px solid #17323b24;padding:27px 19px}.sidebar-label{font-size:11px;letter-spacing:1px;color:var(--red)}.profile{border-bottom:1px solid #183e3925;padding-bottom:25px;margin:20px 0}.profile .portrait{width:55px;height:66px}.profile b{font-size:15px;color:var(--navy)}.profile small{font-size:12px;color:#6e7e7b}.nav-item{background:none;color:#63716e;padding:12px 11px;margin-bottom:4px;font-size:14px;gap:12px}.nav-item.active{background:#a747360c;background-image:none;border:0;border-left:3px solid var(--red);color:var(--red);font-weight:700}.nav-item:hover{color:var(--navy);background:#17323b07}.nav-icon{width:27px;height:27px}.career-preview{border-top:1px solid #183e3925;margin-top:28px;padding-top:22px}.career-preview small{color:var(--red);font-size:11px}.career-preview b{font-size:18px;color:var(--navy)}.career-preview p{font-size:12px;color:#71807c}.sidebar-indicator{color:#75807c}.sidebar-indicator b{color:var(--navy)}.sidebar-footer{font-size:10px;color:#819088;margin-top:32px}
main{padding:27px 32px 30px}.eyebrow{font-size:11px;letter-spacing:1.7px;color:var(--red)}.page-heading{margin-bottom:18px}.page-heading h1{font-size:30px;letter-spacing:1px;margin-top:3px}.paper-tag,.mini-tag{background:#aa48360e;border:1px solid #aa483639;color:var(--red);font-size:12px;letter-spacing:0;padding:4px 9px}.stat-grid{gap:0;margin-bottom:23px;border-bottom:1px solid #19392c25;padding-bottom:18px}.stat{border:0;border-image:none;background:none;box-shadow:none;padding:0 22px;border-right:1px solid #17323b22}.stat:first-child{padding-left:0}.stat:last-child{border-right:0}.stat small{font-size:12px;letter-spacing:0;color:#71807d}.stat strong,.stat strong.money{font-size:34px;color:var(--navy);padding:0;margin-top:5px}.stat strong span{font-size:14px;color:#71817c}.stat strong.money{font-size:30px;margin-top:9px}
.panel,.event-card,.action-card,.welfare-card{background-image:url('assets/paper-texture.webp');background-size:450px;background-color:#f7f2e6;border:1px solid #17323b20;border-image:none;color:var(--navy);box-shadow:0 2px 0 #17323b08;padding:24px}.panel h2,.panel h3{color:var(--navy)}.panel p:not(.small-note){color:#677774;font-size:15px;line-height:1.9}.small-note{font-size:12px!important;color:#74817e;line-height:1.9}.teal{color:var(--teal)}.red{color:var(--red)}.text-gold{color:#ad7933}.meter{background:#21675e15;height:5px}.meter>span{background:#3e8f80}
.button,.button.gold{border:0;background-color:var(--navy);background-image:url('assets/ink-texture.webp');background-size:300px;color:#f6f0dc;box-shadow:none;border-radius:2px;min-height:44px;padding:11px 17px;font-size:14px;letter-spacing:.5px}.button.gold:hover{filter:brightness(1.16)}.button:not(.gold){background-image:none;background:#183f390d;color:var(--navy);border:1px solid #17323b28}.button:hover:not(:disabled){transform:translateY(-1px)}button:disabled{opacity:.4}
.campaign-layout{grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr);gap:23px}.city-board{min-height:350px;border:0;border-bottom:4px solid #f9f4e6;background:#e7d8b4;box-shadow:0 2px 0 #17323b1a;overflow:hidden}.scene{background-image:url('assets/rivergate.webp');background-position:center;background-size:cover}.scene-stamp{top:18px;left:19px;padding:8px 11px;background:#f8f0dded;color:var(--red);border:1px solid #b1563a8c;box-shadow:0 2px 0 #17323b15;transform:rotate(-2deg);font:12px Georgia,serif;letter-spacing:2px}.scene-stamp small{font-size:8px;letter-spacing:2px}.scene-caption{color:#f5eedc;padding:75px 24px 23px;background:linear-gradient(transparent,#12343ba8 45%,#17323b)}.scene-caption .eyebrow{color:#e9c479}.scene-caption h2{font-size:28px;color:#f5eedc;letter-spacing:1px;margin:6px 0}.scene-caption p{color:#d8e5d9;font-size:13px}.brief{padding:24px;gap:12px;border:1px solid #183f3922;border-top:3px solid var(--red);box-shadow:0 3px 0 #17323b10;display:flex}.brief>.eyebrow,.brief>h2,.brief>p:first-of-type,.brief>.button{order:initial}.brief h2{font-size:25px}.brief p{font-size:14px!important;color:#61726d;line-height:1.9}.brief .button{margin-top:0}.brief>p:not(:first-of-type){font-size:12px!important}.brief-line{border-bottom-color:#17323b18;padding:9px 0;font-size:12px}.brief-line span{color:#74817d}.brief-line b{color:var(--navy);font-weight:500}.brief .small-note{font-size:12px}
.phase-strip{border-bottom:0;margin-bottom:21px;padding:0;gap:8px}.phase-step{background:#17323b08;border:0;padding:8px 11px;min-width:95px;font-size:12px;color:#75837d;display:flex;align-items:center;gap:9px}.phase-step:first-child{padding-left:11px}.phase-step span{font-size:15px;padding:0}.phase-step.current{background:var(--red);color:#fff6e4}.phase-step.done{background:#297e7010;color:var(--teal)}
.section-heading{margin:26px 0 14px}.section-heading h2{font-size:21px}.action-selectors{gap:14px;margin-bottom:14px}.action-selectors label{font-size:12px;color:var(--red)}input,select{background:#f9f5ea;color:var(--navy);border:1px solid #17323b30;border-radius:2px;min-height:43px;padding:10px 12px;font-size:14px}.action-selectors select{font-size:13px;min-height:40px}.action-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.action-card{display:flex;flex-direction:column;align-items:flex-start;gap:9px;padding:19px;min-height:211px;background-color:#fbf5e6;transition:box-shadow .2s,transform .2s}.action-card:hover:not(:disabled){filter:none;box-shadow:0 6px 15px #183f3912;transform:translateY(-2px);border-color:#17323b65}.action-card .icon{width:58px;height:58px}.action-card h3{font-size:17px}.action-card p{font-size:13px;line-height:1.75;color:#75817b;margin:7px 0 10px;min-height:46px}.action-card span:not(.sprite){font-size:12px;color:var(--red)}.electorate{margin-top:24px}.voter-row{border-bottom:1px solid #183f3916;padding:11px 0}.voter-row b{font-size:14px;color:var(--navy)}.voter-row small{font-size:12px;color:#77837c}.voter-row>div:last-child{color:var(--teal);font-size:18px}
.turnbar{background-color:var(--navy);background-image:url('assets/ink-texture.webp');background-size:450px;border:0;border-image:none;color:#f4eddc;box-shadow:0 4px 18px #17323b16;padding:15px 21px;margin-top:28px;border-radius:2px;bottom:12px}.turnbar .eyebrow{color:#dcbd7d}.turnbar>div>span:not(.eyebrow){color:#bfd0c6}.turnbar i{color:#e9bc6c}.turnbar i span{color:#829a8e}.turnbar .button,.turnbar .button.gold{background-image:none;background:var(--red);color:#fff3df;font-weight:500;min-height:42px}.event-card{border-left:3px solid var(--red);padding:22px;margin-bottom:22px}.event-title h2{font-size:22px}.event-title p{color:#677b70;font-size:14px;line-height:1.9}.event-options button{background-image:none;background:#183f3907;border:1px solid #183f3926;padding:15px}.event-options button:hover{background:#183f3910}.event-options b{color:var(--navy);font-size:14px}.event-options small{color:#74847c;font-size:12px}.three-grid{gap:14px}.choice-card{background:#f7f2e5;border:1px solid #17323b24;padding:20px}.choice-card b{color:var(--navy)}.choice-card small{color:#6d7c75}
.welfare-grid{gap:13px}.welfare-card{padding:18px}.welfare-icon{width:47px;height:47px}.welfare-card>span:not(.sprite){font-size:13px;color:#738078}.welfare-card b{font-size:31px;color:var(--navy)}.welfare-card b small{color:#859185}.budget-layout{gap:22px}.allocation-title{border-top-color:#17323b20}.allocation-row{font-size:14px}.budget-top label{font-size:13px;color:#6a7a71}.budget-top output{color:var(--red);font-size:29px}input[type=range]{accent-color:var(--teal);background:transparent;border:0;box-shadow:none;padding:0}.allocation-row output{color:var(--red)}.budget-presets{gap:10px}.ledger-row{font-size:14px;border-bottom-color:#17323b1a}.ledger-row>span{color:#6c7a74}.ledger-row b{color:var(--navy);font-size:18px}.ledger-balance{border-bottom-color:#17323b1a}.ledger-balance span{color:#748074}.ledger-balance b{font-size:34px}.budget-form h2,.ledger h2{font-size:23px}.faction-grid{gap:15px}.faction{padding:20px}.faction p{font-size:13px!important;min-height:65px}.faction h3{font-size:18px}.faction .button{font-size:12px;letter-spacing:0;padding:9px 5px}.faction-icon{width:54px;height:54px}.faction-relation{font-size:13px}.faction-relation b{color:var(--red)}.chamber-number strong{color:var(--red);font-size:42px}.chamber p{font-size:14px!important}.chamber h2{font-size:23px}.policy-grid{gap:16px}.policy{padding:23px}.policy p{font-size:14px!important;color:#6a7b70}.policy .button{margin-top:auto}.policy-effects{font-size:12px}.policy .meter{height:4px}.project p{font-size:14px!important}.promise-panel p{font-size:14px!important}
.jurisdiction-grid>div{border-top-color:#17323b25}.jurisdiction-grid span{color:#718073;font-size:13px}.map-legend{font-size:12px}.states-grid{gap:10px}.state-tile{border:1px solid #1f665b35;background-image:url('assets/paper-texture.webp');background-size:320px;background-color:#e4f0e5;color:#215c54;min-height:120px;padding:12px 8px;filter:none}.state-tile>small{color:#5e8479}.state-tile.trailing{background-image:none;background-color:#a6493610;background-blend-mode:normal;filter:none;border-color:#a6493630;color:#9a4a3b}.state-tile.trailing>small{color:#8c746a}.state-tile.swing{background-image:none;background:#e5bf6f38;border-color:#b0803944;color:#7d551f}.state-tile.swing>small{color:#937740}.state-tile.selected{outline-color:var(--navy)}.state-tile>span,.state-tile>small{font-size:12px}.state-tile>b{font-size:18px}.state-tile>strong{font-size:20px}.jurisdiction-head p{font-size:14px!important}.territory-note p{font-size:14px!important}
.career-summary{box-shadow:none;border-top:3px solid var(--red)}.career-summary h2{font-size:25px}.career-summary p{font-size:14px!important}.career-score strong{color:var(--red)}.career-score span{color:#7b8579}.career-icon{width:100px;height:100px}.career-metrics{gap:24px;font-size:14px}.career-metrics b{color:var(--navy)}.office-grid{gap:15px}.office-card{padding:22px}.office-card h3{font-size:18px}.office-card p{font-size:13px!important;color:#6a7d70;min-height:67px}.office-card.held{outline:0;border-color:#b655405f;border-top:3px solid var(--red)}.office-card .button{font-size:13px}.eligibility{font-size:13px}.log-entry{border-bottom-color:#17323b13}.log-entry p{color:#6d7d73;font-size:13px!important}.log-entry time{color:var(--red)}.records-actions .quiet{font-size:13px}
.result-board{padding:35px;background-color:#f8f1de;border-top:3px solid var(--red)}.result-score h2{font-size:29px}.result-score strong{color:var(--red)}.result-score strong span{color:#7b8173}.result-score p{font-size:15px!important;color:#6d7a6f}.result-candidates>div>b{color:var(--navy)}.result-candidates>div>small{color:#7a8376}.result-portrait{width:125px;height:145px}.ev-track{background:#ab4d3930}.ev-track>span{background:var(--teal)}.ev-track i{background:var(--red)}.ev-result p{font-size:13px;color:#748371}.district-list>div{border-color:#17323b20}.district-list small{color:#7d8877}.vote-notice{background:var(--navy);color:#f4eddd;border-radius:2px;padding:15px 20px;font-size:13px}.vote-notice button{color:#f5eedd}
dialog{background-color:#f7f2e6;background-image:url('assets/paper-texture.webp');background-size:550px;border:1px solid #17323b40;border-image:none;color:var(--navy);box-shadow:0 18px 70px #17323b45;border-radius:3px}dialog::backdrop{background:#122f35a8;backdrop-filter:blur(5px)}.modal-head{padding:24px 28px 18px;border-bottom:1px solid #17323b17}.modal-head h2{font-size:26px;color:var(--navy)}.close{color:var(--navy)}.modal-body{padding:24px 28px}.modal-body p{font-size:15px;line-height:1.9;color:#6c7c74}.modal-body .small-note{font-size:12px!important}.modal-foot{border-top:1px solid #17323b17;padding:20px 28px}.field label{color:var(--red);font-size:13px}.guide-intro h3{color:var(--navy)}.guide-intro ol{font-size:14px;color:#647970}.sources{border-color:#17323b1a}.sources article{border-color:#17323b1a}.sources b{color:var(--navy)}.sources article p{font-size:13px;color:#798574}a{color:var(--teal)}#toast{border:0;border-left:3px solid var(--red);background:#fff6de;color:var(--navy);box-shadow:0 7px 30px #17323b22;font-size:14px}
@media(min-width:1101px){.brief>.eyebrow{order:-4}.brief>h2{order:-3}.brief>p:first-of-type{order:-2}.brief>.button{order:-1}.brief .button{margin-top:0}}
@media(max-width:1250px){.game-shell{grid-template-columns:185px 1fr}.sidebar{padding:24px 15px}.action-grid{grid-template-columns:repeat(2,1fr)}.action-card{display:flex;flex-direction:row;align-items:center;min-height:138px}.action-card .icon{width:58px;height:58px}.action-card p{min-height:0}.action-card h3{font-size:17px}.header-date{font-size:12px}.campaign-layout{grid-template-columns:1.7fr 1fr}.brief{padding:22px}.brief h2{font-size:23px}}
@media(max-width:1100px){.campaign-layout{grid-template-columns:1fr}.brief{display:flex;flex-direction:column}.brief>*{margin-bottom:0}.brief .button{max-width:100%}.brief h2{font-size:24px}.city-board{min-height:360px}.page-heading h1{font-size:28px}.sidebar{padding:22px 13px}.stat{padding:0 15px}.stat strong{font-size:31px}.stat strong.money{font-size:27px}.stat small{font-size:12px}.office-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.masthead{height:auto;min-height:82px;padding:15px 18px;gap:12px}.brand b{font-size:24px}.brand .seal{width:41px;height:41px}.brand small{font-size:9px;letter-spacing:2px}.header-actions{gap:7px;margin-left:0}.quiet{padding:6px 10px;font-size:12px}.game-shell{display:block}.sidebar{padding:7px 11px;border-right:0;border-bottom:1px solid #17323b24}.sidebar nav{gap:0}.nav-item{border:0!important;border-bottom:2px solid transparent!important;padding:10px 11px;font-size:13px;margin:0}.nav-item.active{background:none;border-bottom-color:var(--red)!important}.sidebar-indicator{display:none}main{padding:23px 17px 20px}.page-heading{gap:14px;margin-bottom:21px}.page-heading h1{font-size:27px}.eyebrow{font-size:10px;letter-spacing:1px}.stat-grid{grid-template-columns:repeat(2,1fr);gap:18px 0;margin-bottom:22px;padding-bottom:20px}.stat{padding:0 15px}.stat:first-child,.stat:nth-child(3){padding-left:0}.stat:nth-child(2){border-right:0}.stat strong{font-size:31px}.stat strong.money{font-size:28px;margin-top:8px}.stat small{font-size:12px}.stat:last-child{border-right:0}.city-board{min-height:350px}.scene-stamp{top:17px;left:17px}.scene-caption{padding:60px 22px 23px}.scene-caption h2{font-size:25px}.scene-caption p{font-size:13px}.panel{padding:22px}.brief{padding:23px}.phase-strip{gap:6px}.phase-step{min-width:96px;padding:9px 10px;font-size:12px}.action-selectors{gap:12px}.action-grid{grid-template-columns:1fr;gap:12px}.action-card{padding:20px;min-height:130px;gap:18px}.action-card p{font-size:14px;margin-bottom:8px}.action-card span:not(.sprite){font-size:12px}.section-heading h2{font-size:21px}.electorate{padding:21px}.voter-row{gap:9px}.turnbar{padding:14px 17px;bottom:10px;gap:12px;margin-top:25px}.turnbar>div{gap:12px;min-width:0}.turnbar b{font-size:13px}.turnbar>div>span:not(.eyebrow){font-size:12px}.turnbar .button{width:100%;min-height:42px;font-size:14px}.welfare-grid{gap:10px}.welfare-card{padding:17px}.welfare-card b{font-size:29px}.welfare-card:last-child{grid-template-columns:45px 1fr 74px}.faction-grid{grid-template-columns:1fr;gap:14px}.faction{padding:22px;display:block}.faction p{min-height:0;font-size:14px!important}.faction h3{font-size:20px}.faction .button{font-size:14px}.faction-icon{width:50px;height:50px}.policy{padding:23px}.policy p{font-size:15px!important}.office-grid{grid-template-columns:1fr;gap:15px}.office-card{padding:23px;gap:11px}.office-card h3{font-size:21px}.office-card p{min-height:0;font-size:14px!important}.office-card .button{font-size:14px}.office-icon{width:76px;height:76px;margin:0 0 7px}.office-card .mini-tag{margin-bottom:1px}.office-card .brief-line,.office-card .brief-line b{font-size:14px}.eligibility{min-height:0;font-size:14px}.states-grid{grid-template-columns:repeat(3,1fr);gap:9px}.state-tile{min-height:118px;padding:12px 8px}.state-tile>span,.state-tile>small{font-size:12px}.state-tile>b{font-size:19px}.career-summary{padding:24px}.career-summary h2{font-size:23px}.career-icon{width:69px;height:69px}.career-score strong{font-size:45px}.result-board{padding:26px 21px}.result-score h2{font-size:29px}.result-score strong{font-size:55px}.result-portrait{width:92px;height:111px}.event-card{padding:21px}.event-title{gap:13px}.event-title .icon{width:45px;height:45px}.event-title p{font-size:14px}.event-title h2{font-size:20px}.event-options b{font-size:14px}.event-options small{font-size:13px}.modal-head,.modal-body,.modal-foot{padding:20px}.modal-head h2{font-size:24px}.modal-body p{font-size:15px}.sources article p{font-size:13px}.budget-top{gap:18px}.budget-top output{font-size:27px}}
