/* Austerity's editorial game table. The rules engine and saved games are unchanged. */
:root{--paper:#eee9dd;--card:#fcfaf4;--ink:#24392f;--muted:#697064;--line:#d9d2c1;--green:#254a38;--gold:#c49b4b;--shadow:0 5px 16px #39321c06,0 1px 2px #39321c05}
body{background:radial-gradient(ellipse at 50% 0,#faf6e9 0,transparent 65%),var(--paper)}
.shell{max-width:1450px;padding:22px 44px 32px}.topbar{border-bottom:1px solid #b9bbaa;padding-bottom:16px}.brand-small{font-family:'DM Sans',sans-serif;font-size:13px;text-transform:uppercase;letter-spacing:2.4px;font-weight:600}.brand-mark{height:35px;width:35px;border:1px solid #a3ac8f;background:none;color:var(--green);font-family:Georgia;font-size:28px;border-radius:0;letter-spacing:0}.nav{gap:4px}.nav .ghost{font-size:12px;font-weight:500;padding:10px 13px}.nav .nav-tutorial{background:#e4e8d8;border-color:#d0d7c0}.languages{margin-left:12px;border-color:#c4ccba;background:#f6f5ed}.languages button{min-width:36px;min-height:32px;font-size:11px}.line-icon{width:24px;height:24px;display:block}
.masthead{padding:29px 0 24px;min-height:180px}.masthead h1{font-size:clamp(60px,7vw,98px);letter-spacing:-5px;line-height:1.06;margin:12px 0 12px}.masthead .eyebrow{color:#778062;font-size:9px;letter-spacing:2.5px}.masthead p{font-size:11px;color:#6e7364}.city{width:44%;right:160px;bottom:13px;opacity:.62}.year-badge{background:#f8f5e9;border:1px solid #c9cdba;padding:14px 22px;min-width:115px;box-shadow:4px 4px 0 #dcdccc;transform:rotate(2deg)}.year-badge strong{font-size:51px;line-height:1.12;margin:5px 0}.year-badge small{font-size:9px}.edition-bar{padding:12px 0;border-color:#616c58;letter-spacing:1px;font-size:9px}.save-state{font-size:9px}
.main-grid{grid-template-columns:minmax(0,1fr) 306px;grid-template-areas:'nation nation' 'game budget';gap:24px;margin-top:25px;align-items:start}.left-column{display:contents}.nation{grid-area:nation;padding:0;border:0;background:none;box-shadow:none}.nation>.section-title{display:inline-flex;margin-right:15px;font-size:10px;letter-spacing:1.8px}.nation>.section-sub{display:inline;font-size:11px}.tracks{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px;margin-top:16px}.track,.track:last-child{padding:17px 18px 14px;border:1px solid #ddd7c6;border-radius:8px;background:#fbfaf2;box-shadow:var(--shadow);position:relative;overflow:hidden}.track:before{content:'';position:absolute;inset:0 auto 0 0;width:3px;background:var(--track-color)}.track-head{display:flex;align-items:flex-start;gap:12px}.track-head>span{display:flex;align-items:center;gap:9px;font-size:11px;font-weight:600;line-height:1.5;padding-top:3px;min-width:0}.track-icon{display:grid;place-items:center;flex-shrink:0;color:var(--track-color);width:28px;height:28px;background:#f0eee1;border-radius:7px;font-style:normal}.track-icon svg{height:18px;width:18px}.track strong{font-family:Georgia,serif;font-size:35px;font-weight:400;white-space:nowrap}.track strong small{font-family:'DM Sans',sans-serif;font-size:9px;margin-left:2px}.track-bar{gap:4px;margin:18px 0 10px}.track-bar i{height:6px;border-radius:1px;background:#e5e5d9}.track-note{font-size:8px;letter-spacing:1.4px}.track-note:before{content:'';width:4px;height:4px;background:#8a9b72;display:inline-block;border-radius:50%;margin:0 6px 2px 0}.track.danger{background:#fff0e5;border-color:#d7bcb0}.track.danger .track-note:before{background:var(--red)}.tax-note{display:none}.center-column{grid-area:game;min-width:0}.right-column{grid-area:budget;display:block;min-width:0}.mandate{grid-area:goal;align-self:start;margin:0;padding:19px 22px;background:#e0e5d5;border:1px solid #cdd5bc;box-shadow:inset 0 0 0 4px #eef0e3;border-radius:7px}.mandate p{font-size:12px;line-height:1.8}.decision-flow{display:flex;gap:0;justify-content:space-between;margin-bottom:14px;padding:0 2px}.decision-flow>span{display:flex;align-items:center;gap:7px;color:#828779;font-size:10px;line-height:1.4}.decision-flow b{display:grid;place-items:center;font-size:8px;width:23px;height:23px;border:1px solid #d0d4c2;border-radius:50%;font-weight:500}.decision-flow .active{color:var(--green);font-weight:700}.decision-flow .active b{background:var(--green);border-color:var(--green);color:#fff}.decision-flow .complete b{border-color:#b8c4aa;background:#dce4d0;color:var(--green)}
.stage-card{background:#234633;color:#fff5dc;border:1px solid #153b28;border-radius:10px;min-height:362px;padding:27px 42px 33px;overflow:hidden;box-shadow:0 8px 24px #16352413;isolation:isolate}.stage-card:before{content:'';position:absolute;inset:10px;border:1px solid #8d9f7150;border-radius:5px;pointer-events:none;z-index:-1}.stage-card:after{content:'';position:absolute;right:-36px;bottom:-35px;width:300px;height:260px;background:url('assets/parliament.svg') no-repeat center/contain;opacity:.31;z-index:-1;pointer-events:none}.stage-card .eyebrow{color:#aabb97;letter-spacing:3px;font-size:9px;padding:0 0 9px;border-bottom:1px solid #8f9e7160;min-width:135px}.stage-card h2{font-size:clamp(25px,2.6vw,38px);letter-spacing:-1.2px;margin:19px 0 15px;max-width:620px;color:#fcf1d8}.stage-card p{color:#c1ccb4;font-size:13px;line-height:1.9;max-width:490px;margin-bottom:23px}.stage-card button{background:#f4e6be;border-color:#e0cca0;color:#284a35;box-shadow:0 4px 0 #152f2450;min-height:44px}.stage-card button:hover:not(:disabled){background:#fff1cc}.stage-card .primary{background:#e3bc66;border-color:#e3bc66;color:#253e2b}.stage-card .primary:hover:not(:disabled){background:#f0cb7d}.stage-card .draw-button{padding:15px 24px;min-width:235px;font-weight:700;font-size:13px}.stage-card .source-control{color:#becab0}.stage-card .source-control select,.stage-card .policy-selects select{color:#243e2b;background:#eef0db;border-color:#c2ccae}.stage-card .policy-selects{font-size:12px;color:#d9e3ce}.current-cubes{margin:6px 0 0;min-height:53px;align-items:center}.bag-illustration{margin:9px 0 5px;background:#97ab78;box-shadow:inset -8px -5px 0 #69805b;width:53px;height:50px}.bag-illustration:before{width:40px;left:6px;border-color:#ced2a0;top:-6px;border-top-width:6px}.bag-illustration:after{color:#f0ebc5;font-size:29px;inset:8px 0 0}.cube{border-radius:4px;box-shadow:inset -3px -3px 0 #0002,0 2px 2px #0001}.cube.large{width:50px;height:50px;box-shadow:inset -5px -5px 0 #0002,0 6px 12px #0002}.stage-card[data-stage=cut],.stage-card[data-stage=allcuts]{background:#503b2c;border-color:#443324}.stage-card[data-stage=cut] .eyebrow,.stage-card[data-stage=allcuts] .eyebrow{color:#d5b092}.stage-card[data-stage=income]{background:#304c3a}.stage-card[data-stage=policy]{background:#304643}.game-over .result-seal{border-color:#e3bc66;color:#e3bc66}.game-over.loss{background:#533b32}.game-over.loss .result-seal{color:#e8b5a0;border-color:#e8b5a0}
.institutions{margin-top:25px}.institutions>.section-title{font-size:10px;letter-spacing:1.8px}.institutions>.section-sub{font-size:11px;margin:0 0 15px}.institution-grid{gap:13px}.institution{background:#fcfaf3;padding:18px 16px 16px;min-height:254px;border:1px solid #d9d3c1;border-top:3px solid var(--institution-color);border-radius:8px;position:relative;box-shadow:var(--shadow)}.institution-heading{display:flex;align-items:center;gap:10px;min-height:43px;margin-bottom:14px}.institution-icon{display:grid;place-items:center;height:35px;width:35px;border:1px solid #ddd9ca;border-radius:8px;color:var(--institution-color);background:#f0efe3;flex-shrink:0}.institution-icon svg{width:21px;height:21px}.institution h3{font-family:'DM Sans',sans-serif;font-size:12px;font-weight:600;line-height:1.5;min-height:0;margin:0}.institution .benefit{font-size:13px;color:#415843;min-height:42px;font-weight:500}.benefit-label{display:block;font-size:8px;font-weight:500;text-transform:uppercase;letter-spacing:.8px;color:#7d8275;margin-bottom:7px}.cut-dots{margin:17px 0 12px;gap:5px}.cut-dots i{height:7px;width:21px;border-color:#cdd1bd}.cut-dots span{font-size:9px}.penalty{font-size:11px;line-height:1.55;margin-bottom:17px;min-height:34px}.penalty .benefit-label{font-size:7px;margin-bottom:4px;color:#938476}.institution button{min-height:41px;font-size:11px;padding:9px;background:#eeeee1;border-color:#d9dcc9;box-shadow:none}.institution button.primary{background:var(--green);color:#f7f0da;border-color:var(--green)}.institution button:disabled{opacity:.7;color:#929684;background:#eeefe5;border-color:#e5e6da}.institution button.primary:hover{background:#345c42}
.budget-panel{padding:21px 22px;background:#fbfaf2;border-color:#d8d2c0;border-radius:9px}.budget-symbol{color:#80906d}.budget-symbol svg{width:23px;height:23px}.budget-head{margin:12px 0 2px;align-items:center}.budget-head strong{font-size:60px;line-height:1.1;letter-spacing:-3px}.budget-head span{font-size:10px;max-width:65px;line-height:1.6}.composition-bar{height:7px;margin:15px 0 19px}.bag-row{font-size:11px;margin-top:8px;padding:4px 0;gap:11px}.bag-row>.cube{width:22px;height:22px}.bag-row strong{border:1px solid #e0e1d2;background:#f2f3e9;border-radius:5px;width:29px;text-align:center;padding:3px 0;font-size:12px;font-variant-numeric:tabular-nums}.pool{border-top:1px solid #d9ddcb;margin-top:19px;padding-top:17px}.pool .section-title{font-size:9px;letter-spacing:1.3px}.pool .section-title>span{font-variant-numeric:tabular-nums;color:var(--green);font-size:12px}.pool .cubes{min-height:25px}.pool:nth-last-child(2){background:#eeead7;margin:19px -10px 0;padding:14px 12px;border:1px solid #e1dcc5;border-radius:6px}.pool .empty{color:#939781;font-size:11px;font-style:italic}.action-panel{padding:21px 22px;border-color:#d8d2c0;border-radius:9px;margin-top:18px}.action-panel .section-sub{font-size:11px;margin-bottom:5px}.fiscal{gap:10px;padding:15px 0}.fiscal>div{flex:1;min-width:0}.fiscal-icon{width:31px;height:34px;color:#708364;background:#edf0e3;display:grid;place-items:center;border-radius:5px;flex-shrink:0}.fiscal-icon svg{width:19px;height:19px}.fiscal h3{font-size:12px}.fiscal p{font-size:10px;line-height:1.7}.fiscal button{min-width:34px;min-height:34px;border-radius:50%;padding:5px;background:#f3f5e9}.action-panel .source-control{display:block;font-size:10px;line-height:1.7;color:#7c8171;margin-top:14px}.action-panel .source-control select{display:block;width:100%;padding:8px 9px;min-height:36px;font-size:11px}.tools{gap:4px;margin-top:16px}.tools button{font-size:10px;padding:7px 8px;border-color:#d7dbca;background:#e9eddf;min-height:34px}.record{padding:18px 22px;background:#f6f4e9;border:1px solid #d9d3c2;border-radius:7px;margin-top:23px;box-shadow:none}.record-list{max-height:154px}.record-entry{font-size:11px;line-height:1.7}.record-entry small{font-size:8px;color:#8d947f}.footer{font-size:9px;line-height:1.8;padding-top:20px;margin-top:30px}.footer p{max-width:770px}.footer a{font-size:10px}.policy-panel{background:#f2f2e6;border-color:#d2d8c3}.section-title{letter-spacing:1.6px}.modal{border:1px solid #c5ccb5;box-shadow:0 24px 100px #12271f45}.overlay{background:#172c23cc;backdrop-filter:blur(7px)}.lesson-header{background:#e4e9d9}.lesson-footer{background:#e7ebdd}.lesson-progress{height:5px}.lesson-board{box-shadow:inset 0 0 0 4px #f4f6eb;background:#e7edde}.lesson-practice{border-color:#cbd4bb}.lesson-tip{border-left:3px solid #869b70}.detailed-tutorial .lesson-content{background:#f9f7ee}.detailed-tutorial h2{color:#264a35}.detailed-tutorial .lesson-action-label{color:#345438}
@media(min-width:1500px){.main-grid{grid-template-columns:minmax(0,1fr) 320px;gap:27px}.stage-card{min-height:390px}.shell{padding-top:25px}}
@media(max-width:1150px){.shell{padding:18px 25px 26px}.main-grid{grid-template-columns:minmax(0,1fr) 270px;grid-template-areas:'nation nation' 'game budget';gap:19px}.right-column{grid-column:auto;display:block}.track,.track:last-child{padding:15px 13px}.track-head{gap:5px}.track-head>span{font-size:10px;gap:5px}.track-icon{width:23px;height:23px}.track strong{font-size:30px}.institution-heading{gap:7px}.institution-icon{height:30px;width:30px}.institution h3{font-size:11px}.institution{padding:15px 12px}.stage-card{padding:25px 30px}.stage-card h2{font-size:30px}.city{width:40%;right:150px}.budget-panel,.action-panel{padding:20px 18px}.decision-flow>span{font-size:9px;gap:5px}.decision-flow b{width:20px;height:20px}}
@media(max-width:900px) and (min-width:721px){.track-head{display:block}.track-head>span{min-height:34px}.track strong{display:block;font-size:34px;margin-top:7px}.institution-grid{grid-template-columns:1fr}.institution{display:grid;grid-template-columns:1fr 1fr;gap:12px;min-height:0}.institution-heading{margin:0}.institution .benefit{min-height:0}.cut-dots{margin:0}.penalty{margin:0;min-height:0}.institution button{grid-column:1/-1}.stage-card p{font-size:12px}.decision-flow>span{flex-direction:column;gap:5px;font-size:8px}.stage-card h2{font-size:28px}}
@media(max-width:720px){.shell{padding:14px 16px 22px}.topbar{gap:8px;padding-bottom:12px}.brand-small{font-size:10px;letter-spacing:1.2px;gap:7px}.brand-mark{width:27px;height:27px;font-size:23px}.nav{gap:2px}.nav .ghost{padding:8px;font-size:10px;min-height:34px}.nav .nav-tutorial{background:none;border-color:transparent}.languages{margin-left:3px;padding:2px}.languages button{min-width:29px;min-height:30px;padding:4px;font-size:10px}.nav .new-game-nav{display:none}.masthead{padding:22px 0 21px;min-height:146px}.masthead h1{font-size:64px;letter-spacing:-4px;margin:11px 0 10px}.masthead .eyebrow{font-size:7px;letter-spacing:1.7px}.masthead p{font-size:9px;max-width:245px;line-height:1.7}.city{width:45%;right:68px;bottom:15px;opacity:.48}.year-badge{min-width:59px;padding:8px 11px;box-shadow:3px 3px 0 #dcdccc}.year-badge strong{font-size:34px;margin:4px 0}.year-badge .eyebrow{font-size:7px;letter-spacing:1px}.year-badge small{font-size:7px}.edition-bar{font-size:7px;letter-spacing:.6px;gap:8px;padding:10px 0}.save-state{font-size:7px}.main-grid{display:grid;grid-template-columns:1fr;grid-template-areas:'nation' 'game' 'budget';gap:20px;margin-top:20px}.left-column{display:contents}.nation{order:initial;padding:0}.nation>.section-title{font-size:9px;margin-bottom:11px}.nation>.section-sub{display:none}.tracks{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin:0}.track,.track:last-child{padding:11px 7px 10px;border-radius:5px}.track-head{display:block;min-height:0}.track-head>span{display:block;font-size:8px;min-height:35px;line-height:1.5;padding:0;word-break:normal}.track-icon{display:none}.track strong{display:block;margin-top:5px;font-size:29px}.track strong small{font-size:7px}.track-bar{gap:1px;margin:11px 0 8px}.track-bar i{height:5px}.track-note{font-size:6px;letter-spacing:.25px;white-space:nowrap}.track-note:before{display:none}.track:before{width:2px}.center-column{order:initial}.right-column{order:initial;grid-column:auto}.mandate{order:initial;padding:19px}.decision-flow{margin-bottom:13px}.decision-flow>span{flex-direction:column;font-size:8px;gap:5px;text-align:center;flex:1;max-width:20%}.decision-flow b{width:21px;height:21px}.stage-card{min-height:330px;padding:24px 25px 29px;border-radius:8px}.stage-card h2{font-size:29px;line-height:1.5;margin:17px 0 13px;letter-spacing:-.9px}.stage-card p{font-size:12px;line-height:1.85;margin-bottom:21px}.stage-card .eyebrow{font-size:8px;letter-spacing:2px}.stage-card:after{right:-69px;bottom:-33px;width:260px;height:220px;opacity:.2}.stage-card .draw-button{min-width:210px;font-size:12px}.stage-card .choices{gap:10px}.stage-card .choices button{font-size:12px;min-height:44px}.stage-card .source-control{flex-direction:column;gap:5px;margin-bottom:13px;font-size:11px}.stage-card .source-control select{min-height:36px}.institutions{margin-top:23px}.institutions .section-title{font-size:9px}.institutions .section-sub{font-size:11px;line-height:1.6;margin-bottom:13px}.institution-grid{grid-template-columns:1fr;gap:11px}.institution{display:grid;grid-template-columns:1fr 1fr;gap:15px 17px;padding:18px;min-height:0;border-radius:7px}.institution-heading{gap:10px;margin:0;min-height:37px}.institution-icon{height:33px;width:33px}.institution h3{font-size:13px;line-height:1.5}.institution .benefit{font-size:13px;min-height:0;line-height:1.6;align-self:center}.benefit-label{font-size:8px;margin-bottom:5px}.institution .cut-dots{margin:0;align-self:center;flex-wrap:wrap}.cut-dots i{width:18px;height:7px}.cut-dots span{font-size:9px;margin-left:3px}.institution .penalty{font-size:12px;min-height:0;margin:0}.penalty .benefit-label{font-size:7px}.institution button{min-height:44px;grid-column:1/-1;font-size:12px;padding:10px;margin:0}.budget-panel{padding:22px;border-radius:8px}.budget-head strong{font-size:56px}.budget-head span{max-width:none;font-size:12px}.bag-row{font-size:13px;padding:5px 0}.bag-row strong{font-size:13px;width:33px}.pool .section-title{font-size:10px}.action-panel{padding:22px}.fiscal{gap:12px;padding:17px 0}.fiscal-icon{width:37px;height:37px}.fiscal-icon svg{width:22px;height:22px}.fiscal h3{font-size:14px}.fiscal p{font-size:12px}.fiscal button{min-height:44px;min-width:44px}.action-panel .source-control{font-size:11px}.action-panel .source-control select{min-height:44px;font-size:12px}.tools{gap:7px;justify-content:flex-start}.tools button{font-size:11px;min-height:44px;padding:9px 12px}.record{padding:19px;margin-top:22px}.record .section-title{font-size:9px}.record-entry{font-size:11px}.footer{font-size:9px;gap:12px}.footer a{font-size:10px}.lesson-header{padding:15px 17px 12px}.lesson-footer{padding:12px 17px}.overlay{padding:12px}.detailed-tutorial{padding:0}.lesson-content{padding:17px}}
@media(max-width:360px){.shell{padding:12px}.brand-small{font-size:9px;letter-spacing:.8px}.nav .ghost{font-size:9px;padding:7px 5px}.nav .nav-tutorial{display:inline-block}.masthead h1{font-size:55px}.masthead .eyebrow{letter-spacing:1px}.masthead p{max-width:190px;font-size:8px}.year-badge{min-width:53px;padding:7px 8px}.track,.track:last-child{padding:10px 5px}.track-head>span{font-size:7px}.track strong{font-size:26px}.track-note{font-size:5px}.decision-flow>span{font-size:7px}.stage-card{padding:22px 19px}.stage-card h2{font-size:26px}.institution{padding:15px;gap:13px}.institution h3{font-size:11px}.institution-icon{width:28px;height:28px}.institution .benefit{font-size:12px}.institution .penalty{font-size:11px}}
@media print{body{background:#fff}.stage-card{background:#fff;color:#223c2a}.stage-card h2,.stage-card p{color:#223c2a}.decision-flow,.stage-card:after{display:none}.main-grid{display:block}.nation{margin-bottom:20px}}
.nation{position:relative}.tax-note{display:flex;position:absolute;right:0;top:-3px;align-items:center;gap:9px;border:0;padding:0;margin:0;font-size:10px;color:#6e785f}.tax-note>span:last-child{display:flex;align-items:center;gap:5px;font-weight:600}.tax-note .cube{width:17px;height:17px;font-size:9px}.center-column>.mandate{margin-top:20px;padding:18px 22px}.center-column>.mandate .section-title{font-size:9px}.center-column>.mandate p{font-size:12px;max-width:740px;margin-top:7px}@media(max-width:720px){.tax-note{font-size:9px;top:-3px;gap:6px}.tax-note .cube{width:15px;height:15px}.center-column>.mandate{padding:18px}.nation>.section-title{margin-right:0}}@media(max-width:360px){.nation>.section-title{font-size:8px;letter-spacing:1.2px}.tax-note{font-size:8px}}
.mobile-dock{display:none}@media(max-width:720px){.shell{padding-bottom:106px}.mobile-dock{display:flex;position:fixed;z-index:5;bottom:max(12px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:calc(100% - 32px);max-width:430px;padding:7px;background:#244734f2;color:#f6ecd0;backdrop-filter:blur(12px);border:1px solid #849776;border-radius:13px;box-shadow:0 6px 25px #153b2838}.mobile-dock button{display:flex;flex:1;align-items:center;justify-content:center;gap:8px;border:0;border-radius:7px;background:transparent;color:#e8edda;font-size:11px;min-height:44px;padding:8px}.mobile-dock button:hover:not(:disabled),.mobile-dock button:focus-visible{background:#456247}.mobile-dock button .line-icon{width:19px;height:19px;color:#c4d1a8}.decision-flow,.budget-panel,.action-panel{scroll-margin-top:16px}.footer{padding-bottom:10px}}@media print{.mobile-dock{display:none}}
.stage-card:after{right:0;bottom:0}
.lesson-content h2:focus{outline:none}
