:root{color-scheme:light;--paper:#f3efe4;--paper-deep:#e8e0d0;--ink:#17221c;--ink-soft:#4d594f;--forest:#173f32;--forest-light:#285e4b;--cream:#fbf7ec;--lime:#c7d86f;--ochre:#d39b3a;--rust:#a64f32;--blue:#4d7380;--line:#bbb5a8;--line-dark:#5b7167;--focus:#b64221;--shadow:0 .5rem 1.5rem rgb(23 34 28/.12);--radius-sm:.25rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--space-9:6rem;--page:min(76rem,calc(100% - 2rem));--serif:Charter,"Iowan Old Style","Palatino Linotype",Georgia,serif;--sans:"Avenir Next",Avenir,"Trebuchet MS",sans-serif;--mono:"SFMono-Regular",Consolas,monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.55}button,summary,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button{font:inherit}:focus-visible{outline:.2rem solid var(--focus);outline-offset:.2rem}.skip-link{position:fixed;z-index:20;top:var(--space-4);left:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--cream);transform:translateY(-200%)}.skip-link:focus{transform:none}.masthead{width:var(--page);margin:0 auto;padding:var(--space-5) 0;display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-5);border-bottom:.1rem solid var(--ink)}.wordmark{flex:0 0 auto;display:grid;text-decoration:none;font-family:var(--serif);font-size:1.35rem;font-weight:700;line-height:1.1}.wordmark-kicker,.eyebrow,.chapter-number{font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.wordmark-kicker{color:var(--rust)}nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2) var(--space-5);font-size:.78rem;font-weight:700}nav a{text-underline-offset:var(--space-2)}nav a:hover{color:var(--rust)}.hero{width:var(--page);min-height:37rem;margin:0 auto;padding:var(--space-9) 0 var(--space-8);display:grid;grid-template-columns:minmax(0,1.7fr) minmax(16rem,.8fr);align-items:end;gap:var(--space-8)}.eyebrow{margin:0 0 var(--space-4);color:var(--rust)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);line-height:1.02}h1{max-width:14ch;margin-bottom:var(--space-5);font-size:clamp(3.3rem,7.4vw,7rem);letter-spacing:-.045em}h1 em{color:var(--rust);font-weight:400}.dek{max-width:45rem;margin-bottom:0;color:var(--ink-soft);font-family:var(--serif);font-size:clamp(1.1rem,2vw,1.4rem)}.hero-figure{align-self:center;padding:var(--space-5) 0;display:grid;gap:var(--space-2);border-top:.25rem solid var(--rust);border-bottom:.1rem solid var(--line)}.hero-number{font-family:var(--serif);font-size:clamp(2.2rem,4vw,3.6rem);font-variant-numeric:tabular-nums;line-height:1}.rule-note{padding-top:var(--space-3);color:var(--ink-soft);font-size:.8rem}.chapter{width:var(--page);margin:0 auto;padding:var(--space-9) 0;border-top:.1rem solid var(--line);scroll-margin-top:var(--space-8)}.chapter-tint{width:100%;padding-right:max(var(--space-4),calc((100% - 76rem)/2));padding-left:max(var(--space-4),calc((100% - 76rem)/2));background:var(--cream)}.chapter-heading{display:grid;grid-template-columns:minmax(18rem,1fr) minmax(18rem,.7fr);gap:var(--space-7);margin-bottom:var(--space-7)}.chapter-number{margin-bottom:var(--space-3);color:var(--rust)}h2{max-width:16ch;margin-bottom:0;font-size:clamp(2.5rem,5vw,5rem);letter-spacing:-.035em}.chapter-heading>p{align-self:end;max-width:34rem;margin-bottom:0;color:var(--ink-soft);font-family:var(--serif);font-size:1.15rem}.trend-panel{display:grid;grid-template-columns:12rem minmax(0,1fr);gap:var(--space-5)}.trend-summary{padding:var(--space-5);display:flex;flex-direction:column;justify-content:flex-end;background:var(--forest);color:var(--cream)}.trend-summary>span:first-child{color:var(--lime);font-family:var(--serif);font-size:3.4rem}.trend-summary strong{margin:var(--space-2) 0;font-family:var(--serif);font-size:1.35rem;line-height:1.15}.trend-summary>span:last-of-type,.trend-summary small{color:var(--paper-deep);font-size:.72rem}.trend-summary small{margin-top:var(--space-3);padding-top:var(--space-3);border-top:.1rem solid var(--line-dark)}.chart-scroll{min-width:0;overflow-x:auto}.trend-chart{display:block;min-width:44rem;width:100%;height:auto}.chart-legend{min-height:var(--space-6);display:flex;justify-content:flex-end;gap:var(--space-3)}.chart-legend button{padding:var(--space-1) var(--space-2);display:inline-flex;align-items:center;gap:var(--space-2);border:0;background:transparent;color:var(--ink);font-size:.75rem;cursor:pointer}.chart-legend button[aria-pressed=false]{opacity:.45;text-decoration:line-through}.chart-legend i{width:var(--space-5);height:.2rem;background:var(--forest)}.chart-legend i.real{background:var(--rust)}.chart-grid{stroke:var(--line);stroke-width:1;stroke-dasharray:2 6}.chart-axis-label{fill:var(--ink-soft);font:12px var(--sans)}.chart-line{fill:none;stroke:var(--forest);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.chart-line.real{stroke:var(--rust);stroke-width:3;stroke-dasharray:7 6}.chart-point{fill:var(--paper);stroke:var(--forest);stroke-width:3;cursor:pointer;transition:fill 160ms ease-out}.chart-point.real{stroke:var(--rust)}.chart-point:hover,.chart-point.active{fill:var(--ochre)}.chart-point:focus{outline:none;stroke:var(--focus);stroke-width:6}.chart-year{fill:var(--ink);font:700 13px var(--sans);text-anchor:middle;pointer-events:none}.year-dock{position:sticky;z-index:10;top:0;width:100%;padding:var(--space-2) max(var(--space-4),calc((100% - 76rem)/2));display:grid;align-items:stretch;gap:var(--space-2);background:var(--cream);border-top:.1rem solid var(--ink);border-bottom:.1rem solid var(--ink);box-shadow:var(--shadow)}.year-dock p{margin-bottom:0}.year-dock .eyebrow{color:var(--ink)}.year-dock>div:first-child p:last-child{color:var(--ink-soft);font-size:.78rem}.year-selector{width:max-content;display:flex;flex-wrap:nowrap;justify-content:flex-start;gap:var(--space-1)}.year-button{min-width:var(--space-7);min-height:var(--space-7);padding:var(--space-1) var(--space-2);border:.1rem solid var(--line);border-radius:99rem;background:transparent;color:var(--ink);font-size:.78rem;font-weight:700;cursor:pointer}.year-button:hover{border-color:var(--rust);color:var(--rust)}.year-button[aria-pressed=true]{background:var(--rust);border-color:var(--rust);color:var(--cream)}.selected-year-line,.project-total{margin-bottom:var(--space-6);padding:var(--space-3) 0;display:flex;align-items:baseline;gap:var(--space-4);border-top:.1rem solid var(--ink);border-bottom:.1rem solid var(--ink)}.selected-year-line>strong{font-family:var(--serif);font-size:2rem}.selected-year-line>span:last-child{margin-left:auto}.tabular{font-variant-numeric:tabular-nums}.section-label{min-height:var(--space-6);margin-bottom:var(--space-5);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}h3{margin-bottom:0;font-size:clamp(1.45rem,2vw,2rem)}.badge{padding:var(--space-1) var(--space-2);border:.1rem solid currentColor;border-radius:99rem;font-size:.65rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.badge.additive{color:var(--forest-light)}.badge.overlay{color:var(--lime)}.budget-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6)}.budget-card{padding:var(--space-6);background:var(--cream);border-top:.35rem solid var(--forest);box-shadow:var(--shadow)}.metric-list{margin:0}.metric-list>div{padding:var(--space-3) 0;display:flex;justify-content:space-between;gap:var(--space-4);border-bottom:.1rem solid var(--line)}.metric-list dt,.metric-list dd{margin:0}.metric-list dd{font-family:var(--mono);font-size:.82rem;text-align:right}.unavailable-value{color:var(--rust);font-family:var(--sans)!important;font-weight:700}.metric-foot{margin-top:var(--space-5);display:flex;justify-content:space-between;gap:var(--space-3);font-size:.8rem}.metric-foot strong{color:var(--forest-light);font-family:var(--mono)}.metric-foot strong.positive{color:var(--rust)}.revenue-bar{height:5rem;display:flex;overflow:hidden;background:var(--paper-deep);border-radius:var(--radius-sm)}.revenue-segment{min-width:0;transition:opacity 160ms ease-out,flex-basis 360ms cubic-bezier(.22,1,.36,1)}.revenue-segment.muted{opacity:.18}.revenue-0{background:var(--forest)}.revenue-1{background:var(--rust)}.revenue-2{background:var(--ochre)}.revenue-3{background:var(--blue)}.revenue-4{background:var(--line-dark)}.revenue-legend{margin:var(--space-5) 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--space-7)}.revenue-row{padding:var(--space-3) 0;display:grid;grid-template-columns:1rem 1fr auto;align-items:baseline;gap:var(--space-3);border-bottom:.1rem solid var(--line)}.revenue-row dt,.revenue-row dd{margin:0}.revenue-row dd{font-family:var(--mono);font-size:.78rem;text-align:right}.revenue-key{width:.75rem;height:.75rem;padding:0;border:0;border-radius:50%;cursor:pointer}.composition-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:var(--space-7)}.stacked-bar{height:4.5rem;margin-bottom:var(--space-5);display:flex;overflow:hidden;background:var(--paper-deep);border-radius:var(--radius-sm)}.bar-segment{min-width:0;transition:flex-basis 360ms cubic-bezier(.22,1,.36,1)}.bar-segment.current{background:var(--forest)}.bar-segment.capital{background:var(--ochre)}.bar-segment.financial{background:var(--blue)}.ledger-list{margin:0}.ledger-row{padding:var(--space-3) 0;display:grid;grid-template-columns:1rem 1fr auto;align-items:baseline;gap:var(--space-3);border-bottom:.1rem solid var(--line)}.ledger-row dt,.ledger-row dd{margin:0}.ledger-row dd{font-family:var(--mono);font-size:.8rem;text-align:right}.swatch{width:.65rem;height:.65rem;border-radius:50%;background:var(--forest)}.swatch.capital{background:var(--ochre)}.swatch.financial{background:var(--blue)}.economic-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.economic-card{padding:var(--space-4);border-top:.25rem solid var(--forest-light);background:var(--paper-deep)}.economic-card span,.economic-card strong{display:block}.economic-card span{color:var(--ink-soft);font-size:.75rem}.economic-card strong{margin-top:var(--space-2);font-family:var(--serif);font-size:1.25rem}.unavailable{padding:var(--space-6);display:grid;gap:var(--space-2);background:var(--paper-deep);color:var(--ink);border-left:.3rem solid var(--ochre)}.unavailable[hidden]{display:none}.annotation{max-width:55rem;margin:var(--space-6) 0 0 auto;padding-left:var(--space-4);color:var(--ink-soft);border-left:.15rem solid var(--rust);font-family:var(--serif)}.data-note{margin-top:var(--space-5);padding:var(--space-4);background:var(--paper-deep);border-left:.25rem solid var(--rust);font-size:.8rem}.data-note[hidden]{display:none}.chapter-dark{width:100%;padding-right:max(var(--space-4),calc((100% - 76rem)/2));padding-left:max(var(--space-4),calc((100% - 76rem)/2));background:var(--forest);color:var(--cream);border:0}.chapter-dark .chapter-number{color:var(--lime)}.chapter-dark .chapter-heading>p{color:var(--paper-deep)}.school-block{padding-top:var(--space-6);border-top:.1rem solid var(--line-dark)}.school-list{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-5)}.school-item{padding-top:var(--space-3);border-top:.35rem solid var(--lime)}.school-item:nth-child(2){border-color:var(--ochre)}.school-item:nth-child(3){border-color:var(--rust)}.school-item:nth-child(4){border-color:var(--blue)}.school-item span,.school-item strong{display:block}.school-item span{color:var(--paper-deep);font-size:.76rem}.school-item strong{margin-top:var(--space-2);font-family:var(--serif);font-size:clamp(1.3rem,2.4vw,2rem)}.project-total{justify-content:space-between}.project-total>strong{font-family:var(--serif);font-size:clamp(1.8rem,3vw,3rem)}.project-list{display:grid;gap:var(--space-2)}.project-row{display:grid;grid-template-columns:minmax(12rem,1.1fr) minmax(12rem,2fr) auto;align-items:center;gap:var(--space-4);padding:var(--space-2) 0}.project-label{font-weight:700}.project-track{height:1.6rem;background:var(--paper-deep)}.project-fill{display:block;height:100%;min-width:var(--space-1);background:var(--rust);transition:width 360ms cubic-bezier(.22,1,.36,1)}.project-row:nth-child(even) .project-fill{background:var(--ochre)}.project-value{min-width:7rem;font-family:var(--mono);font-size:.8rem;text-align:right}.reconciliation{margin-top:var(--space-5);padding:var(--space-3);background:var(--paper-deep);font-size:.78rem;text-align:right}.reserve-note{margin-top:var(--space-6);padding:var(--space-5);display:grid;gap:var(--space-2);background:var(--forest);color:var(--cream);border-left:.35rem solid var(--lime)}.reserve-note span{color:var(--paper-deep);font-size:.8rem}.source-links{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);font-size:.78rem}.source-links a{color:var(--forest-light);text-underline-offset:var(--space-1)}.methodology{width:var(--page);margin:0 auto;padding:var(--space-9) 0;display:grid;grid-template-columns:.8fr 1.2fr;gap:var(--space-8);border-top:.3rem solid var(--ink)}.methodology h2{font-size:clamp(2.4rem,4vw,4rem)}.method-copy{max-width:44rem}.method-copy>p:not(.source-links){font-family:var(--serif);font-size:1.08rem}details{margin:var(--space-6) 0;border-top:.1rem solid var(--line);border-bottom:.1rem solid var(--line)}summary{padding:var(--space-4) 0;font-weight:700;cursor:pointer}.definitions{margin:0 0 var(--space-5)}.definitions div{padding:var(--space-3) 0;display:grid;grid-template-columns:12rem 1fr;gap:var(--space-4);border-top:.1rem solid var(--line)}.definitions dt{font-weight:700}.definitions dd{margin:0;color:var(--ink-soft)}.method-copy .source{padding-top:var(--space-4);color:var(--ink-soft);font-family:var(--sans);font-size:.78rem}footer{padding:var(--space-6) max(var(--space-4),calc((100% - 76rem)/2));display:flex;justify-content:space-between;gap:var(--space-4);background:var(--ink);color:var(--paper);font-size:.78rem}@media(max-width:760px){:root{--page:calc(100% - 2rem);--space-9:4rem}nav{display:none}.hero{min-height:auto;padding-top:var(--space-8);grid-template-columns:1fr;gap:var(--space-7)}h1{font-size:clamp(3rem,14vw,5rem)}.chapter-heading,.composition-grid,.methodology{grid-template-columns:1fr;gap:var(--space-5)}.trend-panel,.budget-grid{grid-template-columns:1fr}.year-selector{justify-content:flex-start}.selected-year-line{flex-wrap:wrap}.selected-year-line>span:last-child{width:100%;margin-left:0}.revenue-legend,.school-list{grid-template-columns:repeat(2,1fr)}.project-row{grid-template-columns:1fr auto;gap:var(--space-2)}.project-track{grid-column:1/-1;grid-row:2}.definitions div{grid-template-columns:1fr;gap:var(--space-1)}}@media(max-width:480px){.school-list,.revenue-legend,.economic-cards{grid-template-columns:1fr}.section-label{align-items:flex-start;flex-direction:column}.metric-foot{flex-direction:column}.revenue-row{grid-template-columns:1rem 1fr}.revenue-row dd{grid-column:2;text-align:left}.chart-legend{justify-content:flex-start}footer{flex-direction:column}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
.global-controls{min-width:0;display:flex;align-items:center;gap:var(--space-2);flex-wrap:nowrap}.trend-panel-wide{grid-template-columns:12rem minmax(0,1fr)}.chart-column,.chart-frame{position:relative;min-width:0}.chart-tooltip{position:absolute;z-index:3;top:var(--space-6);min-width:13rem;padding:var(--space-3);display:grid;gap:var(--space-1);transform:translateX(-50%);background:var(--ink);color:var(--cream);box-shadow:var(--shadow);pointer-events:none;font-size:.72rem}.chart-tooltip[hidden]{display:none}.chart-tooltip strong{font-family:var(--serif);font-size:1rem}.chart-tooltip span{display:flex;align-items:center;gap:var(--space-2)}.chart-tooltip i,.chart-legend i{width:var(--space-5);height:.2rem;background:var(--forest)}.chart-tooltip i.expenditure,.chart-legend i.expenditure{background:var(--rust)}.chart-tooltip i.result,.chart-legend i.result{background:var(--ochre)}.chart-tooltip i.reserve,.chart-legend i.reserve{background:var(--blue)}.chart-line.revenue{stroke:var(--forest)}.chart-line.expenditure{stroke:var(--rust)}.chart-line.result{stroke:var(--ochre);stroke-width:3}.chart-line.reserve{stroke:var(--blue);stroke-width:3;stroke-dasharray:7 6}.chart-point.expenditure{stroke:var(--rust)}.chart-point.result{stroke:var(--ochre)}.chart-point.reserve{stroke:var(--blue)}.chart-year-target{cursor:pointer}.chart-year-target:focus{outline:none}.chart-year-target:focus .chart-year{fill:var(--focus);text-decoration:underline}.chart-unit{margin:0;text-align:right;color:var(--ink-soft);font-size:.68rem}.status{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border:.1rem solid currentColor;border-radius:99rem;font-size:.66rem;line-height:1;text-transform:uppercase;white-space:nowrap}.status svg{width:1rem;height:1rem}.status-ok{color:var(--forest-light)}.status-warning{color:var(--ochre)}.status-critical{color:var(--rust)}.actual-comparison{margin-bottom:var(--space-6);padding:var(--space-5);display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4) var(--space-6);background:var(--forest);color:var(--cream)}.actual-row{display:grid;grid-template-columns:1fr auto;gap:var(--space-2)}.actual-row strong{font-family:var(--mono);font-size:.8rem}.actual-row i{grid-column:1/-1;height:1rem;background:var(--line-dark)}.actual-row b{display:block;height:100%;background:var(--lime)}.actual-row.expenditure b{background:var(--ochre)}.actual-result{grid-column:1/-1;margin:0;padding-top:var(--space-3);border-top:.1rem solid var(--line-dark);font-family:var(--serif);font-size:1.35rem}.actual-result.surplus{color:var(--lime)}.actual-result.deficit{color:var(--ochre)}.surplus-section{margin-top:var(--space-8);padding-top:var(--space-6);border-top:.2rem solid var(--ink)}.surplus-flow{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));align-items:stretch;gap:var(--space-2)}.flow-step{min-height:7rem;padding:var(--space-4);display:flex;flex-direction:column;justify-content:space-between;background:var(--cream);border-top:.25rem solid var(--line-dark)}.flow-step span{color:var(--ink-soft);font-size:.7rem}.flow-step strong{font-family:var(--serif);font-size:clamp(1rem,1.5vw,1.3rem)}.flow-step.income{border-color:var(--forest)}.flow-step.raw{border-color:var(--ochre)}.flow-step.transfer{background:var(--forest);color:var(--cream);border-color:var(--lime)}.flow-step.transfer span{color:var(--paper-deep)}.flow-operator{align-self:center;text-align:center;font-family:var(--serif);font-size:1.8rem}.flow-discrepancy{grid-column:1/-1;margin-top:var(--space-3);padding:var(--space-4);background:var(--paper-deep);border-left:.3rem solid var(--rust)}.flow-discrepancy>div{display:flex;align-items:center;gap:var(--space-3)}.flow-discrepancy p{margin:var(--space-3) 0 0;font-size:.8rem}.info-disclosure{margin-top:var(--space-6)}.info-disclosure summary{display:flex;align-items:center;gap:var(--space-2)}.info-disclosure>p{max-width:55rem;color:var(--ink-soft)}.info-mark{width:1.35rem;height:1.35rem;display:inline-grid;place-items:center;border:.1rem solid currentColor;border-radius:50%;font-family:var(--serif);font-weight:700}.definitions.compact{margin:0 var(--space-4) var(--space-4)}.revenue-definition{margin:0;border:0}.revenue-definition summary{padding:0;font-weight:400}.revenue-definition p{grid-column:1/-1;margin:var(--space-2) 0 0;color:var(--ink-soft);font-size:.75rem}.revenue-row{align-items:start}.data-note{display:flex;align-items:center;gap:var(--space-3)}@media(max-width:900px){.dock-meta{justify-content:flex-start}.surplus-flow{grid-template-columns:1fr auto 1fr}.flow-discrepancy{grid-column:1/-1}}@media(max-width:760px){.actual-comparison{grid-template-columns:1fr}.actual-result{grid-column:1}.trend-panel-wide{grid-template-columns:1fr}}@media(max-width:480px){.surplus-flow{grid-template-columns:1fr}.flow-operator{transform:rotate(90deg)}}
.status-warning{color:var(--rust)}


.chart-caveat{max-width:62rem;margin:var(--space-5) 0 0 auto;padding:var(--space-4);background:var(--paper-deep);border-left:.25rem solid var(--blue);color:var(--ink-soft);font-size:.8rem}.chart-caveat a{color:var(--forest-light);font-weight:700;text-underline-offset:var(--space-1)}
.chart-tooltip i.eurofund,.chart-legend i.eurofund{background:var(--line-dark)}.chart-line.eurofund{stroke:var(--line-dark);stroke-width:3;stroke-dasharray:2 5}.chart-point.eurofund{stroke:var(--line-dark)}
.budget-history{margin-bottom:var(--space-6);padding:var(--space-5);background:var(--cream);border-top:.25rem solid var(--forest)}.budget-chart-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-3)}.budget-chart{display:block;min-width:44rem;width:100%;height:auto}.budget-chart-legend{display:flex;flex-wrap:wrap;gap:var(--space-3);font-size:.72rem}.budget-chart-legend span{display:inline-flex;align-items:center;gap:var(--space-2)}.budget-chart-legend i{width:var(--space-5);height:.2rem;background:var(--line-dark)}.budget-chart-legend i.adjusted{background:var(--forest)}.budget-chart-legend i.actual{background:var(--rust)}.budget-line{fill:none;stroke:var(--line-dark);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.budget-line.adjusted{stroke:var(--forest);stroke-width:3}.budget-line.actual{stroke:var(--rust);stroke-width:3;stroke-dasharray:7 5}.budget-point{fill:var(--paper);stroke:var(--line-dark);stroke-width:2}.budget-point.adjusted{stroke:var(--forest)}.budget-point.actual{stroke:var(--rust)}
.metric-deltas{display:grid;grid-template-columns:1fr;gap:var(--space-2)}.metric-deltas strong{text-align:left}.explanation-note{margin:var(--space-6) 0;padding:var(--space-4);display:grid;grid-template-columns:minmax(10rem,.35fr) 1fr;gap:var(--space-4);border-top:.1rem solid var(--line);border-bottom:.1rem solid var(--line)}.explanation-note p{margin:0;color:var(--ink-soft)}
.utilization-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);margin-top:var(--space-7)}.utilization-card{padding:var(--space-5);background:var(--cream);border-top:.25rem solid var(--forest)}.utilization-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.utilization-value{display:block;margin:var(--space-3) 0;font-family:var(--serif);font-size:2rem}.utilization-card small{color:var(--ink-soft)}.status-na{color:var(--ink-soft)}.budget-debrief{margin-top:var(--space-4);padding:var(--space-5);background:var(--paper-deep);border-left:.25rem solid var(--ochre);font-size:.85rem}.budget-debrief p:last-child{margin-bottom:0}.source-integrity{margin-top:var(--space-4);padding:var(--space-4) 0;display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:var(--space-3);border-top:.1rem solid var(--line);font-size:.78rem}.source-integrity>span{font-weight:700;text-transform:uppercase;letter-spacing:.06em}.source-integrity .status{border-style:dashed}.source-integrity p{margin:0;color:var(--ink-soft)}
.revenue-definition{min-width:0}.revenue-definition dt{font-weight:700}.revenue-definition p{margin:var(--space-1) 0 0;color:var(--ink-soft);font-size:.75rem}.revenue-explanations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4);margin-top:var(--space-6)}.revenue-explanations article{padding:var(--space-4) 0;border-top:.25rem solid var(--forest)}.revenue-explanations article:nth-child(2){border-color:var(--blue)}.revenue-explanations article:nth-child(3){border-color:var(--rust)}.revenue-explanations p{margin:var(--space-2) 0 0;color:var(--ink-soft);font-size:.8rem}
.school-glossary{margin:0 0 var(--space-5);display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5);font-size:.72rem}.school-glossary div{display:flex;gap:var(--space-2)}.school-glossary dt{color:var(--lime);font-weight:700}.school-glossary dd{margin:0;color:var(--paper-deep)}
.investment-comparison{height:var(--space-7);display:flex;overflow:hidden;background:var(--paper-deep);border:.1rem solid var(--line-dark);border-radius:var(--radius-sm)}.investment-comparison span{display:block;min-width:0;transition:flex-basis 360ms cubic-bezier(.22,1,.36,1)}.investment-actual{background:var(--forest)}.investment-unused{background:var(--ochre)}.investment-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3);margin:var(--space-3) 0 var(--space-7)}.investment-card{min-height:8rem;padding:var(--space-5);display:flex;flex-direction:column;justify-content:space-between;background:var(--cream);border-top:.25rem solid var(--line-dark)}.investment-card.actual{border-color:var(--forest)}.investment-card.unused{border-color:var(--ochre)}.investment-card.ratio{background:var(--forest);color:var(--cream);border-color:var(--lime)}.investment-card span{color:var(--ink-soft);font-size:.75rem}.investment-card.ratio span{color:var(--paper-deep)}.investment-card strong{font-family:var(--serif);font-size:clamp(1.25rem,2vw,1.8rem)}
.reserve-flow{display:grid;grid-template-columns:minmax(9rem,.7fr) minmax(15rem,1.4fr) minmax(15rem,1.4fr) minmax(9rem,.7fr);align-items:stretch;gap:var(--space-3)}.reserve-stage,.reserve-movement-group{min-width:0;background:var(--cream);border-top:.25rem solid var(--line-dark)}.reserve-stage{padding:var(--space-5);display:flex;flex-direction:column;justify-content:space-between}.reserve-stage.closing{background:var(--forest);color:var(--cream);border-color:var(--lime)}.reserve-stage-label{color:var(--ink-soft);font-size:.72rem}.reserve-stage.closing .reserve-stage-label{color:var(--paper-deep)}.reserve-stage strong{font-family:var(--serif);font-size:clamp(1.2rem,2vw,1.7rem)}.reserve-movement-group.inflows{border-color:var(--forest)}.reserve-movement-group.outflows{border-color:var(--rust)}.reserve-movement-head{padding:var(--space-4);display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);border-bottom:.1rem solid var(--line)}.reserve-movement-head>span{font-weight:700}.reserve-movement-head strong,.reserve-movement>strong{font-family:var(--mono);font-size:.78rem;text-align:right}.reserve-movement-list{padding:0 var(--space-4)}.reserve-movement{padding:var(--space-3) 0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-3);border-bottom:.1rem solid var(--line)}.reserve-movement:last-child{border-bottom:0}.reserve-movement-label,.reserve-movement-type{display:block}.reserve-movement-label{font-size:.78rem;font-weight:700}.reserve-movement-type{margin-top:var(--space-1);color:var(--ink-soft);font-size:.65rem;text-transform:uppercase;letter-spacing:.06em}.reserve-movement>strong.negative{color:var(--rust)}.reserve-empty{margin:0;padding:var(--space-4) 0;color:var(--ink-soft);font-size:.78rem}.reserve-formula{margin:var(--space-5) 0 0;padding:var(--space-4);background:var(--forest);color:var(--cream);border-left:.25rem solid var(--lime);font-family:var(--mono);font-size:.8rem}.reserve-formula.has-difference{border-color:var(--rust)}.reserve-source-notes{display:grid;gap:var(--space-3);margin-top:var(--space-4)}.reserve-source-note{padding:var(--space-4);display:grid;grid-template-columns:var(--space-5) 1fr;align-items:start;gap:var(--space-3);background:var(--paper-deep);border-left:.25rem solid var(--forest)}.reserve-source-note.warning{border-color:var(--ochre)}.reserve-source-note.critical{border-color:var(--rust)}.reserve-source-note svg{width:var(--space-5);height:var(--space-5);color:var(--forest-light)}.reserve-source-note.warning svg{color:var(--ochre)}.reserve-source-note.critical svg{color:var(--rust)}.reserve-source-note p{margin:0;color:var(--ink-soft);font-size:.8rem}
@media(max-width:760px){.budget-chart-head,.source-integrity{align-items:flex-start;flex-direction:column}.source-integrity{display:flex}.revenue-explanations{grid-template-columns:repeat(2,minmax(0,1fr))}.explanation-note{grid-template-columns:1fr}.utilization-grid{grid-template-columns:1fr}.investment-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.reserve-flow{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.revenue-explanations,.investment-summary,.reserve-flow{grid-template-columns:1fr}.budget-chart-head{align-items:flex-start;flex-direction:column}}
.control-caveat{margin:var(--space-3) 0 0;color:var(--ink-soft);font-size:.78rem}
.functional-year-line{border-color:var(--line-dark)}.functional-year-line>strong{color:var(--lime)}
.functional-overview{display:grid;gap:var(--space-3)}
.functional-group{border-top:.1rem solid var(--line-dark)}
.functional-summary{width:100%;padding:var(--space-4) 0;display:grid;grid-template-columns:minmax(12rem,1fr) auto;align-items:center;gap:var(--space-2) var(--space-5);border:0;background:transparent;color:var(--cream);text-align:left;cursor:pointer}
.functional-summary:hover .functional-group-name{color:var(--lime)}
.functional-group-name{font-family:var(--serif);font-size:clamp(1.2rem,2vw,1.65rem);font-weight:700}
.functional-group-figures{display:flex;align-items:baseline;justify-content:flex-end;gap:var(--space-3);font-variant-numeric:tabular-nums}
.functional-group-figures strong{font-family:var(--mono);font-size:.85rem}.functional-group-figures span{min-width:4rem;color:var(--paper-deep);font-size:.75rem;text-align:right}
.functional-track{height:var(--space-2);display:block;overflow:hidden;background:var(--line-dark)}.functional-fill{height:100%;display:block;background:var(--lime);transition:width 360ms cubic-bezier(.22,1,.36,1)}
.functional-chevron{grid-column:2;color:var(--paper-deep);font-size:.7rem;text-align:right;text-decoration:underline;text-underline-offset:var(--space-1)}
.functional-detail{margin-bottom:var(--space-5);padding:var(--space-4);background:var(--cream);color:var(--ink)}.functional-detail[hidden]{display:none}
.functional-code-range{margin-bottom:var(--space-3);color:var(--ink-soft);font-size:.72rem}
.functional-row-list{display:grid}.functional-row{padding:var(--space-3) 0;display:grid;grid-template-columns:minmax(12rem,1.2fr) minmax(14rem,1fr) auto;align-items:start;gap:var(--space-2) var(--space-4);border-top:.1rem solid var(--line)}
.functional-row-identity{display:grid;grid-template-columns:5.5rem 1fr;gap:var(--space-3)}.functional-row-identity code{font-family:var(--mono);font-size:.75rem;font-weight:700}.functional-row-identity span{font-size:.82rem}
.functional-row-meta{display:grid;gap:var(--space-1);color:var(--ink-soft);font-size:.68rem}.functional-kind{width:max-content;padding:0 var(--space-2);border:.1rem solid currentColor;border-radius:99rem;font-weight:700}.functional-kind.capital{color:var(--rust)}.functional-kind.current{color:var(--forest-light)}.functional-kind.financial{color:var(--blue)}
.functional-row-value{font-family:var(--mono);font-size:.76rem;text-align:right;white-space:nowrap}.functional-row-value.is-zero{color:var(--forest-light)}.functional-row-value.is-unavailable{color:var(--rust);font-family:var(--sans)}
.functional-row-note{grid-column:1/-1;margin:0;padding-left:var(--space-4);border-left:.15rem solid var(--ochre);color:var(--ink-soft);font-size:.72rem}
.functional-admin-note{max-width:58rem;margin:var(--space-6) 0;padding:var(--space-4);border-left:.25rem solid var(--lime);background:var(--forest-light);font-size:.8rem}
.functional-reconciliation{margin-top:var(--space-7);padding:var(--space-5);display:block;background:var(--forest-light);border-left:.3rem solid var(--lime)}.functional-reconciliation.has-warning{border-color:var(--ochre)}.functional-reconciliation p{margin:var(--space-2) 0 0;color:var(--paper-deep);font-size:.8rem}
.functional-unavailable{background:var(--cream);border-color:var(--ochre);font-weight:700}
@media(max-width:760px){.functional-row{grid-template-columns:1fr auto}.functional-row-meta{grid-column:1}.functional-row-value{grid-column:2;grid-row:1/3}.functional-admin-note{margin-top:var(--space-5)}}
@media(max-width:480px){.functional-summary{grid-template-columns:1fr}.functional-group-figures{justify-content:space-between}.functional-chevron{grid-column:1;text-align:left}.functional-row{grid-template-columns:1fr}.functional-row-identity{grid-template-columns:1fr}.functional-row-value{grid-column:1;grid-row:auto;text-align:left}}
@media(max-width:760px){
  :root{--page:calc(100vw - 2rem)}
  .masthead,.hero,.chapter,.methodology{max-width:var(--page)}
  .chapter-tint,.chapter-dark{max-width:100vw}
  .hero-copy,.hero-figure,.chapter-heading>*,.trend-panel>*,.composition-grid>*,.functional-summary>*{min-width:0}
  .hero h1,.hero .dek,.chapter-heading>p{max-width:100%;overflow-wrap:break-word}
  .chart-scroll{width:100%;max-width:100%;overflow-x:auto}
  .functional-summary{grid-template-columns:1fr}
  .functional-group-figures{justify-content:space-between}
  .functional-chevron{grid-column:1;text-align:left}
}
@media(max-width:760px){
  .chart-legend{width:100%;max-width:100%;display:flex;flex-wrap:wrap;justify-content:flex-start}
  .chart-legend button{min-width:0;max-width:100%;white-space:normal;text-align:left}
}
.history-panel{min-width:0;margin:0 0 var(--space-7);padding:var(--space-5);background:var(--cream);border-top:.25rem solid var(--forest)}.history-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-3)}.history-head .eyebrow,.history-head h3{margin:0}.history-head h3{font-family:var(--serif);font-size:clamp(1.25rem,2vw,1.7rem)}.history-chart-frame{position:relative;min-width:0}.history-chart{display:block;min-width:44rem;width:100%;height:auto}.history-selected-band{fill:var(--paper-deep);stroke:var(--line)}.history-segment{stroke:var(--cream);stroke-width:1}.history-chart g[role=button]{cursor:pointer}.history-chart g[role=button]:focus{outline:none}.history-chart g[role=button]:focus>rect:first-child{stroke:var(--focus);stroke-width:3}.history-legend{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2) var(--space-3);font-size:.7rem}.history-legend span,.history-legend button{display:inline-flex;align-items:center;gap:var(--space-2)}.history-legend button{padding:var(--space-1);border:0;background:transparent;color:var(--ink);font:inherit;cursor:pointer}.history-legend button[aria-pressed=false]{opacity:.45;text-decoration:line-through}.history-legend i,.history-tooltip i{width:var(--space-3);height:var(--space-3);display:inline-block;flex:0 0 auto;background:var(--line-dark)}.history-tooltip{top:var(--space-4);max-width:20rem}.history-tooltip-total{margin-top:var(--space-1);padding-top:var(--space-2);border-top:.1rem solid var(--line)}.history-note{margin:var(--space-3) 0 0;padding-top:var(--space-3);border-top:.1rem solid var(--line);color:var(--ink-soft);font-size:.78rem}.history-revenue-0{fill:var(--forest);background:var(--forest)!important}.history-revenue-1{fill:var(--ochre);background:var(--ochre)!important}.history-revenue-2{fill:var(--blue);background:var(--blue)!important}.history-revenue-3{fill:var(--lime);background:var(--lime)!important}.history-revenue-4{fill:var(--rust);background:var(--rust)!important}.history-current{fill:var(--forest);background:var(--forest)!important}.history-capital{fill:var(--ochre);background:var(--ochre)!important}.history-financial{fill:var(--blue);background:var(--blue)!important}
.capital-history-panel{max-width:100%;overflow:hidden;border-color:var(--ochre)}.capital-history-scroll{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}.capital-history-chart{min-width:44rem}.capital-selected-band{fill:var(--lime);fill-opacity:.16;stroke:var(--line)}.capital-zero-line{stroke:var(--ink);stroke-width:1.5}.capital-bar,.capital-fulfillment-point{cursor:crosshair}.capital-bar:focus,.capital-fulfillment-point:focus{outline:none;stroke:var(--focus);stroke-width:4}.capital-plan{fill:var(--paper-deep);background:var(--line-dark)!important;stroke:var(--line-dark);stroke-width:1}.capital-actual{fill:var(--forest);background:var(--forest)!important}.capital-unused{fill:var(--ochre);background:var(--ochre)!important}.capital-fulfillment{fill:var(--cream);background:var(--rust)!important;stroke:var(--rust);stroke-width:3}.capital-fulfillment-line{fill:none;stroke:var(--rust);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.capital-percent-lane{fill:var(--paper-deep);stroke:var(--line);stroke-width:1}.capital-threshold{stroke:var(--line-dark);stroke-width:1;stroke-dasharray:3 4}.capital-percent-label,.capital-axis-title{fill:var(--ink-soft);font:10px var(--sans)}.capital-lane-title{fill:var(--ink);font:700 11px var(--sans)}.capital-history-tooltip i.capital-plan{background:var(--line-dark)!important}.capital-history-tooltip i.capital-actual{background:var(--forest)!important}.capital-history-tooltip i.capital-unused{background:var(--ochre)!important}.capital-history-tooltip i.capital-fulfillment{background:var(--rust)!important}.capital-history-legend i.capital-plan{background:var(--line-dark)}.capital-history-legend i.capital-actual{background:var(--forest)}.capital-history-legend i.capital-unused{background:var(--ochre)}.capital-history-legend i.capital-fulfillment{background:var(--rust);border-radius:50%}
.metric-list dd,.metric-foot strong,.revenue-row dd,.ledger-row dd,.economic-card strong,.actual-row strong,.actual-result,.investment-card strong,.utilization-value,.project-total strong,.project-value,.flow-step strong,.functional-group-figures,.functional-row-value,.reserve-stage-amount,.reserve-movement strong,.reserve-net-change strong,.debt-grid strong,.hero-number{min-width:0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.investment-card strong{font-size:clamp(1.05rem,2vw,1.7rem)}.debt-grid strong{font-size:clamp(1.2rem,2.5vw,2rem)}.metric-list dd,.actual-row strong,.project-value{font-size:clamp(.72rem,1.2vw,.82rem)}
.functional-history{min-width:0;margin-bottom:var(--space-7);padding:var(--space-5) 0;border-top:.25rem solid var(--lime);border-bottom:.1rem solid var(--line-dark)}.functional-history .history-head{align-items:flex-end}.functional-history-chart{display:grid;gap:var(--space-4)}.functional-history-row{min-width:0}.functional-history-row-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-2)}.functional-history-row-head>strong{font-family:var(--serif);font-size:1rem}.functional-history-figures{display:flex;gap:var(--space-3);font-variant-numeric:tabular-nums}.functional-history-figures b{font-family:var(--mono);font-size:.72rem}.functional-history-figures span{min-width:4rem;color:var(--paper-deep);font-size:.7rem;text-align:right}.functional-period-track{height:var(--space-7);display:flex;overflow:visible;background:var(--line-dark);transition:width 360ms cubic-bezier(.22,1,.36,1)}.functional-year-segment{position:relative;min-width:0;padding:0;border:0;border-right:.1rem solid var(--forest);color:var(--ink);font:700 .62rem var(--sans);cursor:pointer;flex-basis:0}.functional-year-segment.year-2020{background:var(--lime)}.functional-year-segment.year-2021{background:var(--ochre)}.functional-year-segment.year-2022{background:var(--blue);color:var(--cream)}.functional-year-segment.year-2023{background:var(--rust);color:var(--cream)}.functional-year-segment.year-2024{background:var(--paper-deep)}.functional-year-segment.is-other{background:transparent;color:var(--cream);outline:.1rem dashed var(--paper-deep);outline-offset:-.15rem}.functional-year-segment.is-selected{box-shadow:inset 0 0 0 .2rem var(--focus)}.functional-year-segment:focus-visible{z-index:2;outline:.2rem solid var(--lime);outline-offset:.15rem}.functional-segment-year{overflow:hidden;display:block}.functional-year-tooltip{position:absolute;z-index:4;left:50%;bottom:calc(100% + var(--space-2));width:max-content;max-width:14rem;padding:var(--space-2) var(--space-3);display:none;transform:translateX(-50%);background:var(--cream);box-shadow:var(--shadow);color:var(--ink);font-weight:700;white-space:normal}.functional-year-segment:hover .functional-year-tooltip,.functional-year-segment:focus .functional-year-tooltip{display:block}.functional-history-note{border-color:var(--line-dark);color:var(--paper-deep)}
.reserve-history-panel{border-color:var(--blue)}.reserve-zero-line{stroke:var(--ink);stroke-width:1.5}.reserve-movement-bar{stroke:var(--cream);stroke-width:1}.reserve-addition{fill:var(--forest);background:var(--forest)!important}.reserve-use{fill:var(--rust);background:var(--rust)!important}.reserve-financial{fill:var(--blue);background:var(--blue)!important}.reserve-deposit{fill:var(--ochre);background:var(--ochre)!important;stroke:var(--ink);stroke-width:1;stroke-dasharray:3 2}.reserve-closing{background:var(--ink)!important}.reserve-closing-line{fill:none;stroke:var(--ink);stroke-width:3}.reserve-closing-point{fill:var(--cream);stroke:var(--ink);stroke-width:3}
@media(max-width:760px){.history-head{align-items:flex-start;flex-direction:column}.history-legend{justify-content:flex-start}.history-panel{padding:var(--space-4)}.functional-history-row-head{align-items:flex-start;flex-direction:column}.functional-history-figures{width:100%;justify-content:space-between}.functional-period-track{width:100%!important}.functional-segment-year{font-size:0}.functional-year-segment{min-width:var(--space-3)}}@media(max-width:480px){.history-panel{padding:var(--space-3)}.history-tooltip{max-width:calc(100% - var(--space-4))}}
.functional-period-track.is-zero{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:transparent;border:.1rem solid var(--line-dark)}.functional-year-segment.is-zero{background:transparent!important;color:var(--paper-deep);border-color:var(--line-dark)}@media(max-width:760px){.functional-year-segment{min-width:0}}
.functional-year-segment.year-2020 .functional-year-tooltip{left:0;transform:none}.functional-year-segment.year-2024 .functional-year-tooltip{right:0;left:auto;transform:none}
.functional-year-legend{display:flex;flex-wrap:wrap;gap:var(--space-3);font-size:.7rem}.functional-year-legend span{display:inline-flex;align-items:center;gap:var(--space-1)}.functional-year-key{width:var(--space-3);height:var(--space-3);display:inline-block}.functional-year-key.year-2020{background:var(--lime)}.functional-year-key.year-2021{background:var(--ochre)}.functional-year-key.year-2022{background:var(--blue)}.functional-year-key.year-2023{background:var(--rust)}.functional-year-key.year-2024{background:var(--paper-deep)}

.surplus-flow{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr)}
.flow-step{min-width:0;display:grid;grid-template-rows:minmax(var(--space-7),auto) auto;align-content:space-between}
.flow-step span{align-self:start}.flow-step strong{min-width:0;align-self:end;font-variant-numeric:tabular-nums;line-height:1.15;overflow-wrap:anywhere}

.functional-view-switch{display:inline-flex;flex-wrap:wrap;gap:var(--space-1);padding:var(--space-1);border:.1rem solid var(--line-dark);border-radius:var(--radius-sm)}
.functional-view-switch button{padding:var(--space-2) var(--space-3);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--cream);font-size:.72rem;font-weight:700;cursor:pointer}
.functional-view-switch button:hover{color:var(--lime)}.functional-view-switch button[aria-pressed=true]{background:var(--lime);color:var(--ink)}
#functional-ranking-view[hidden],#functional-area-view[hidden]{display:none}
.functional-area-frame{margin-top:var(--space-4)}.functional-area-chart{display:block;min-width:44rem;width:100%;height:auto}
.functional-area-layer{stroke:var(--forest);stroke-width:1;fill-opacity:.9}.functional-area-selected{fill:var(--cream);fill-opacity:.12;stroke:var(--lime);stroke-width:1}.functional-area-selected-line{stroke:var(--lime);stroke-width:3;stroke-dasharray:3 3;pointer-events:none}
.functional-area-chart g[role=button]{cursor:pointer}.functional-area-chart g[role=button]:focus{outline:none}.functional-area-chart g[role=button]:focus .chart-year{fill:var(--lime);text-decoration:underline}
.functional-area-layer[role=button]{cursor:pointer}.functional-area-layer[role=button]:focus{outline:none;stroke:var(--focus);stroke-width:4}
.functional-area-legend{margin-top:var(--space-4);display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);font-size:.68rem}.functional-area-legend span{display:inline-flex;align-items:center;gap:var(--space-2)}.functional-area-legend i,.functional-area-tooltip i{width:var(--space-4);height:var(--space-2);flex:0 0 auto}
.functional-area-tooltip{top:var(--space-3);max-height:calc(100% - var(--space-6));overflow-y:auto;border:.1rem solid var(--line-dark)}
.functional-area-layer.area-administration{fill:var(--forest-light)}.functional-area-legend i.area-administration,.functional-area-tooltip i.area-administration{background:var(--forest-light)}
.functional-area-layer.area-public{fill:var(--blue)}.functional-area-legend i.area-public,.functional-area-tooltip i.area-public{background:var(--blue)}
.functional-area-layer.area-security{fill:var(--rust)}.functional-area-legend i.area-security,.functional-area-tooltip i.area-security{background:var(--rust)}
.functional-area-layer.area-infrastructure{fill:var(--ochre)}.functional-area-legend i.area-infrastructure,.functional-area-tooltip i.area-infrastructure{background:var(--ochre)}
.functional-area-layer.area-environment{fill:var(--lime)}.functional-area-legend i.area-environment,.functional-area-tooltip i.area-environment{background:var(--lime)}
.functional-area-layer.area-spaces{fill:var(--paper-deep)}.functional-area-legend i.area-spaces,.functional-area-tooltip i.area-spaces{background:var(--paper-deep)}
.functional-area-layer.area-health{fill:var(--line)}.functional-area-legend i.area-health,.functional-area-tooltip i.area-health{background:var(--line)}
.functional-area-layer.area-culture{fill:var(--rust);fill-opacity:.7}.functional-area-legend i.area-culture,.functional-area-tooltip i.area-culture{background:var(--rust)}
.functional-area-layer.area-education{fill:var(--lime);fill-opacity:.7}.functional-area-legend i.area-education,.functional-area-tooltip i.area-education{background:var(--lime)}
.functional-area-layer.area-social{fill:var(--blue);fill-opacity:.7}.functional-area-legend i.area-social,.functional-area-tooltip i.area-social{background:var(--blue)}
.functional-area-layer.area-other{fill:var(--line-dark)}.functional-area-legend i.area-other,.functional-area-tooltip i.area-other{background:var(--line-dark)}

.reserve-stage,.reserve-movement-group,.reserve-movement,.reserve-movement>div{min-width:0}
.reserve-stage{display:grid;grid-template-rows:minmax(var(--space-6),auto) auto;align-content:space-between}
.reserve-stage-amount{min-width:0;font-size:clamp(1.2rem,2.4vw,1.8rem)!important;font-variant-numeric:tabular-nums;line-height:1.05;overflow-wrap:anywhere}
.reserve-movement-head{display:grid;grid-template-columns:minmax(0,1fr) auto}.reserve-movement-head strong,.reserve-movement>strong{min-width:0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.reserve-formula{max-width:100%;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;white-space:normal}
.reserve-source-note,.reserve-source-note p{min-width:0}.reserve-source-note p{overflow-wrap:anywhere}

@media(max-width:760px){.surplus-flow{grid-template-columns:minmax(0,1fr)}.flow-operator{transform:rotate(90deg)}.functional-view-switch{width:100%}.functional-view-switch button{flex:1 1 auto}.functional-area-legend{gap:var(--space-2) var(--space-3)}}
@media(max-width:480px){.surplus-flow{grid-template-columns:minmax(0,1fr)}.flow-step{grid-template-rows:auto auto;gap:var(--space-4)}.reserve-movement-head,.reserve-movement{grid-template-columns:minmax(0,1fr);align-items:start}.reserve-movement-head strong,.reserve-movement>strong{text-align:left}.reserve-source-note{grid-template-columns:var(--space-5) minmax(0,1fr)}}

.dock-intro{min-width:0;display:flex;align-items:baseline;gap:var(--space-3)}.year-dock .dock-intro .eyebrow{flex:0 0 auto;margin:0;color:var(--ink)}.dock-claim{min-width:0;overflow:hidden;color:var(--ink-soft);font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}
.year-scroll{min-width:0;flex:1 1 auto;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}.inflation-switch{min-height:var(--space-7);flex:0 0 auto;padding:var(--space-1);display:inline-flex;align-items:center;gap:var(--space-2);border:0;background:transparent;color:var(--ink);font-size:.72rem;font-weight:700;cursor:pointer}.inflation-switch:hover{color:var(--rust)}.switch-track{width:var(--space-7);height:var(--space-5);padding:var(--space-1);display:flex;align-items:center;border:.1rem solid var(--line-dark);border-radius:var(--space-5);background:var(--paper-deep);transition:background 160ms ease-out}.switch-track span{width:var(--space-4);height:var(--space-4);border-radius:50%;background:var(--ink-soft);transition:transform 160ms ease-out,background 160ms ease-out}.inflation-switch[aria-checked=true] .switch-track{background:var(--forest)}.inflation-switch[aria-checked=true] .switch-track span{background:var(--lime);transform:translateX(var(--space-4))}
.chart-caveat p{margin:0}.chart-caveat p+p{margin-top:var(--space-3)}.chart-caveat .source-links{margin-top:var(--space-3)}
.chart-tooltip i.inflation,.chart-legend i.inflation{height:var(--space-2);background:var(--ochre)}.chart-tooltip i.population,.chart-legend i.population{height:var(--space-2);background:var(--forest-light)}
.chart-line.inflation{stroke:var(--ochre);stroke-width:3}.chart-point.inflation{stroke:var(--ochre)}
.chart-line.population{stroke:var(--forest-light);stroke-width:3}.chart-point.population{stroke:var(--forest-light)}
.context-lane{stroke:var(--line);stroke-width:1}.inflation-lane{fill:var(--paper-deep)}.population-lane{fill:var(--cream)}
.context-lane-label{fill:var(--ink);font:700 11px var(--sans)}.context-scale-label{fill:var(--ink-soft);font:10px var(--sans)}
.trend-selected-band{fill:var(--lime);fill-opacity:.16;stroke:var(--line);stroke-width:1}
.trend-chart g[role=button]{cursor:pointer}.trend-chart g[role=button]:focus{outline:none}.trend-chart g[role=button]:focus .chart-year{fill:var(--focus);text-decoration:underline}

.reserve-flow{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-5)}
.reserve-balance-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}
.reserve-balance-summary .reserve-stage{min-height:8rem}.reserve-balance-summary .reserve-stage.closing{background:var(--cream);color:var(--ink);border-color:var(--forest)}
.reserve-balance-summary .reserve-stage.closing .reserve-stage-label{color:var(--ink-soft)}
.reserve-flow-lanes{display:grid;grid-template-columns:minmax(0,1fr) minmax(9rem,.42fr) minmax(0,1fr);align-items:stretch;gap:var(--space-3)}
.reserve-net-change{position:relative;min-width:0;padding:var(--space-4);display:grid;align-content:center;gap:var(--space-2);text-align:center;background:var(--paper-deep);border-top:.25rem solid var(--blue)}
.reserve-net-change::before,.reserve-net-change::after{position:absolute;top:50%;color:var(--blue);font-family:var(--serif);font-size:1.5rem;line-height:1;transform:translateY(-50%)}
.reserve-net-change::before{content:"→";right:calc(100% + var(--space-1))}.reserve-net-change::after{content:"←";left:calc(100% + var(--space-1))}
.reserve-net-change span,.reserve-net-change small{color:var(--ink-soft);font-size:.68rem}.reserve-net-change strong{font-family:var(--serif);font-size:1.3rem;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}

@media(max-width:760px){.dock-claim{font-size:.72rem}.reserve-flow-lanes{grid-template-columns:minmax(0,1fr) minmax(8rem,.5fr) minmax(0,1fr)}}
@media(max-width:480px){.year-dock{padding:var(--space-2) var(--space-3)}.global-controls{width:100%}.reserve-balance-summary,.reserve-flow-lanes{grid-template-columns:minmax(0,1fr)}.reserve-net-change{text-align:left}.reserve-net-change::before,.reserve-net-change::after{display:none}.reserve-stage-amount{overflow-wrap:normal}.reserve-movement-head,.reserve-movement{grid-template-columns:minmax(0,1fr) auto}.reserve-movement-head strong,.reserve-movement>strong{text-align:right}}

.chapter,.methodology{scroll-margin-top:calc(var(--sticky-dock-height,var(--space-8)) + var(--space-5))}
.contents-nav{position:relative;z-index:2;flex:0 0 auto;font-size:.75rem}
.toc-toggle{min-height:var(--space-7);width:calc(var(--space-9) + var(--space-7));padding:var(--space-2) var(--space-3);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-2);border:.1rem solid var(--forest);border-radius:var(--radius-sm);background:var(--forest);color:var(--cream);cursor:pointer;text-align:left}
.toc-toggle:hover{background:var(--forest-light)}
.toc-current{min-width:0;overflow:hidden;font-weight:700;text-overflow:ellipsis;white-space:nowrap}
.toc-current span{margin-right:var(--space-1);color:var(--lime);font-family:var(--mono);font-size:.68rem}
.toc-chevron{font-family:var(--mono);font-size:1.1rem;font-weight:700;line-height:1}
.toc-toggle[aria-expanded=true] .toc-chevron{transform:rotate(45deg)}
.toc-panel{position:absolute;z-index:2;top:calc(100% + var(--space-2));right:0;width:min(calc(var(--space-9) + var(--space-9) + var(--space-9)),calc(100vw - var(--space-6)));max-height:calc(100vh - var(--sticky-dock-height,var(--space-8)) - var(--space-5));padding:var(--space-2);overflow-y:auto;overscroll-behavior:contain;background:var(--cream);border:.1rem solid var(--ink);border-radius:var(--radius-sm);box-shadow:var(--shadow)}
.toc-panel[hidden]{display:none}
.contents-nav nav{display:block;font-size:inherit;font-weight:400}
.contents-nav ol{margin:0;padding:0;list-style:none}
.contents-nav li+li{border-top:.1rem solid var(--line)}
.contents-nav li.toc-method{margin-top:var(--space-2);border-top:.2rem solid var(--ink)}
.contents-nav a{min-height:var(--space-7);padding:var(--space-2) var(--space-3);display:grid;grid-template-columns:var(--space-6) minmax(0,1fr);align-items:center;gap:var(--space-2);border-left:.25rem solid transparent;text-decoration:none}
.contents-nav a:hover{background:var(--paper-deep)}
.contents-nav a span{color:var(--ink-soft);font-family:var(--mono);font-size:.68rem}
.contents-nav a strong{overflow-wrap:anywhere}
.contents-nav a[aria-current=location]{border-left-color:var(--lime);background:var(--forest);color:var(--cream);font-weight:700}
.contents-nav a[aria-current=location] span{color:var(--lime)}
@media(max-width:760px){
  .toc-toggle{width:calc(var(--space-8) + var(--space-7))}
}

/* Standalone elections page and neutral profile */
.profile-page,.elections-page{width:var(--page);margin-inline:auto}
.elections-hero{padding:var(--space-9) 0 var(--space-8);border-bottom:.3rem solid var(--forest)}
.elections-hero h1{max-width:12ch;margin:var(--space-3) 0;font-family:var(--serif);font-size:clamp(3rem,8vw,6.5rem);line-height:.9;letter-spacing:-.04em}
.elections-lead{max-width:42rem;color:var(--ink-soft);font-family:var(--serif);font-size:clamp(1.15rem,2vw,1.5rem);line-height:1.5}
.demo-notice{max-width:52rem;margin:var(--space-6) 0 0;padding:var(--space-4) var(--space-5);border-left:.3rem solid var(--rust);background:var(--cream);color:var(--ink-soft)}
.demo-notice strong{display:block;color:var(--rust)}
.elections-section{padding:var(--space-8) 0}
.elections-section-council{border-top:.1rem solid var(--line)}
.elections-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(16rem,.55fr);gap:var(--space-2) var(--space-6);align-items:end;margin-bottom:var(--space-6)}
.elections-heading .chapter-number{grid-column:1/-1;margin:0}
.elections-heading h2{margin:0;font-family:var(--serif);font-size:clamp(2rem,4vw,3.25rem);line-height:1}
.elections-heading>p:last-child{margin:0;color:var(--ink-soft);line-height:1.55}
.candidate-grid{display:grid;align-items:stretch;gap:var(--space-5);overflow:visible}
.candidate-grid-mayor{grid-template-columns:repeat(2,minmax(0,1fr))}
.candidate-grid-council{grid-template-columns:repeat(3,minmax(0,1fr))}
.candidate-tile{position:relative;min-width:0;padding:var(--space-5);display:grid;grid-template-rows:auto 1fr;gap:var(--space-5);background:var(--cream);border:.1rem solid var(--line);border-top:.25rem solid var(--forest);box-shadow:var(--shadow);transition:border-color 180ms ease-out,box-shadow 180ms ease-out}
.candidate-tile-featured{border-top-color:var(--rust)}
.candidate-tile-featured:hover,.candidate-tile-featured:focus-within{border-color:var(--rust);box-shadow:0 var(--space-2) var(--space-6) color-mix(in srgb,var(--ink) 18%,transparent)}
.candidate-heading{min-width:0;display:grid;grid-template-columns:calc(var(--space-7) + var(--space-2)) auto minmax(0,1fr);align-items:center;gap:var(--space-3)}
.candidate-thumbnail{position:relative;align-self:center;width:calc(var(--space-7) + var(--space-2));height:calc(var(--space-7) + var(--space-2));display:grid;place-items:center;flex:0 0 auto;overflow:hidden;border:.1rem solid var(--line);border-radius:var(--radius-sm);background:var(--paper-deep)}
.candidate-thumbnail img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;object-position:50% 42%}
.candidate-thumbnail-moravcik img{object-position:14% 50%}
.candidate-thumbnail-placeholder{color:var(--ink-soft);font-family:var(--serif);font-size:1rem;font-weight:800;letter-spacing:.04em}
.candidate-number{min-width:var(--space-7);height:var(--space-7);display:grid;place-items:center;border-radius:99rem;background:var(--forest);color:var(--cream);font-size:.72rem;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:.06em}
.candidate-tile-featured .candidate-number{background:var(--rust)}
.candidate-tile h3{min-width:0;margin:0;font-family:var(--serif);font-size:clamp(1.15rem,2vw,1.5rem);line-height:1.15;overflow-wrap:anywhere}
.candidate-tile-linked:hover,.candidate-tile-linked:focus-within{border-color:var(--forest-light);box-shadow:0 var(--space-2) var(--space-6) color-mix(in srgb,var(--ink) 18%,transparent)}
.candidate-grid-mayor .candidate-tile{padding:var(--space-6)}
.candidate-grid-mayor .candidate-tile h3{font-size:clamp(1.5rem,3vw,2rem)}
.candidate-details{min-width:0;margin:0;display:grid;align-content:start}
.candidate-details div{padding:var(--space-3) 0;border-top:.1rem solid var(--line)}
.candidate-details dt{margin-bottom:var(--space-1);color:var(--ink-soft);font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.candidate-details dd{margin:0;line-height:1.45;overflow-wrap:anywhere}
.candidate-card-link{display:inline-flex;align-items:center;gap:var(--space-2);color:inherit;text-decoration:none}
.candidate-card-link::after{content:"";position:absolute;z-index:1;inset:0}
.candidate-card-link:focus-visible{outline:0}
.candidate-card-link:focus-visible::after{outline:.2rem solid var(--focus);outline-offset:var(--space-1)}
.candidate-tile[tabindex]{cursor:help}
.candidate-tile-tooltip{position:absolute;z-index:3;left:50%;bottom:calc(100% + var(--space-3));width:max-content;max-width:min(calc(100% - var(--space-4)),calc(100vw - var(--space-6)));padding:var(--space-2) var(--space-3);visibility:hidden;opacity:0;transform:translate(-50%,var(--space-1));background:var(--ink);color:var(--cream);box-shadow:var(--shadow);font-family:var(--sans);font-size:.72rem;font-weight:700;line-height:1.4;pointer-events:none;text-align:center;white-space:normal;transition:opacity 160ms ease-out,transform 160ms ease-out}
.candidate-tile-tooltip::after{content:"";position:absolute;left:50%;bottom:calc(var(--space-1) * -1);width:var(--space-2);height:var(--space-2);transform:translateX(-50%) rotate(45deg);background:var(--ink)}
.candidate-tile[tabindex]:hover .candidate-tile-tooltip{visibility:visible;opacity:1;transform:translate(-50%,0)}
.candidate-tile[tabindex]:focus-visible .candidate-tile-tooltip{visibility:visible;opacity:1;transform:translate(-50%,0);transition:none}
.elections-return{margin-bottom:var(--space-8);padding:var(--space-5);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);border-top:.25rem solid var(--ochre);background:var(--paper-deep)}

/* Persistent creator credit shared by every public route. */
body{padding-bottom:calc(5rem + var(--space-7))}
.creator-bar{position:fixed;z-index:9;right:var(--space-5);bottom:var(--space-5);width:min(32rem,calc(100% - var(--space-6)));margin:0;color:var(--cream)}
.creator-bar-link{min-height:5rem;padding:var(--space-3) var(--space-4);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-3);overflow:hidden;border:.1rem solid var(--line-dark);border-radius:99rem;background:linear-gradient(135deg,color-mix(in srgb,var(--forest) 94%,transparent),color-mix(in srgb,var(--ink) 96%,transparent));-webkit-backdrop-filter:blur(var(--space-2));backdrop-filter:blur(var(--space-2));box-shadow:var(--shadow);color:inherit;text-decoration:none;transition:box-shadow 180ms ease-out,border-color 180ms ease-out}
.creator-bar-link:hover{border-color:var(--lime);box-shadow:0 var(--space-3) var(--space-6) color-mix(in srgb,var(--ink) 24%,transparent)}
.creator-bar-link:focus-visible{outline:.2rem solid var(--focus);outline-offset:var(--space-1)}
.creator-bar-avatar{width:3.25rem;height:3.25rem;display:grid;place-items:center;border:.1rem solid var(--lime);border-radius:50%;background:var(--lime);color:var(--forest);font-family:var(--serif);font-size:1.1rem;font-weight:800;letter-spacing:.04em;box-shadow:inset 0 0 0 var(--space-1) var(--forest)}
.creator-bar-copy{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:0 var(--space-2)}
.creator-bar-eyebrow{grid-column:1/-1;color:var(--lime);font-size:.62rem;font-weight:800;letter-spacing:.1em;line-height:1.4;text-transform:uppercase}
.creator-bar-name{font-family:var(--serif);font-size:1.15rem;line-height:1.2;white-space:nowrap}
.creator-bar-context{min-width:0;color:var(--paper-deep);font-size:.72rem;line-height:1.35;overflow-wrap:anywhere}
.creator-bar-arrow{width:var(--space-6);height:var(--space-6);display:grid;place-items:center;border:.1rem solid var(--line-dark);border-radius:50%;color:var(--lime);font-size:1.15rem;line-height:1;transition:background-color 180ms ease-out,border-color 180ms ease-out,color 180ms ease-out}
.creator-bar-link:hover .creator-bar-arrow{border-color:var(--lime);background:var(--lime);color:var(--forest)}
.profile-section-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,.7fr);gap:var(--space-6);align-items:end;margin-bottom:var(--space-6)}
.profile-section-heading h2{margin:var(--space-2) 0 0;font-family:var(--serif);font-size:clamp(2rem,4vw,3.25rem);line-height:1}
.profile-section-heading>p{margin:0;color:var(--ink-soft);line-height:1.55}
.candidate-portrait{position:relative;min-width:0;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--forest);color:var(--cream)}
.candidate-portrait::before{content:"";position:absolute;inset:var(--space-4);border:.1rem solid var(--line-dark)}
.candidate-portrait span{font-family:var(--serif);font-size:clamp(3.5rem,9vw,7rem);color:var(--lime)}
.candidate-portrait small{position:absolute;right:var(--space-4);bottom:var(--space-4);left:var(--space-4);padding-top:var(--space-3);border-top:.1rem solid var(--line-dark);color:var(--paper-deep);font-size:.67rem;line-height:1.35;text-align:center}
.text-link{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--forest);font-weight:700;text-decoration-thickness:.1rem;text-underline-offset:var(--space-2)}
.text-link:hover{color:var(--rust)}

.profile-body{background:var(--paper)}
.profile-masthead{position:relative}
.breadcrumb{padding:var(--space-5) 0}
.breadcrumb a{color:var(--forest);font-size:.8rem;font-weight:700;text-underline-offset:var(--space-1)}
.profile-hero{padding:var(--space-4) 0 var(--space-8);display:grid;grid-template-columns:minmax(17rem,.42fr) minmax(0,1fr);gap:var(--space-7);border-bottom:.1rem solid var(--line)}
.candidate-portrait-large{min-height:30rem}
.profile-heading{align-self:center}
.profile-heading h1{max-width:15ch;margin:var(--space-3) 0 var(--space-4);font-family:var(--serif);font-size:clamp(2.7rem,6vw,5.2rem);line-height:.94;letter-spacing:-.04em}
.profile-birth-name{display:block;margin-top:var(--space-2);color:var(--ink-soft);font-family:var(--sans);font-size:clamp(1.15rem,2.4vw,1.8rem);font-weight:600;letter-spacing:0;line-height:1.2;white-space:nowrap}
.profile-role{margin:0 0 var(--space-5);color:var(--ink-soft)}
.profile-lead{max-width:42rem;margin:var(--space-5) 0;color:var(--ink-soft);font-size:1.05rem;line-height:1.6}
.profile-section{padding:var(--space-8) 0;border-bottom:.1rem solid var(--line);scroll-margin-top:var(--space-6)}
.proposals-section{border-bottom:0}
.proposal-list{border-top:.3rem solid var(--ochre)}
.proposal-list article{padding:var(--space-6) 0;display:grid;grid-template-columns:5rem minmax(0,1fr);gap:var(--space-5);border-bottom:.1rem solid var(--line)}
.proposal-number{font-family:var(--mono);font-size:.75rem;color:var(--rust)}
.proposal-list h3{max-width:32ch;margin:0 0 var(--space-3);font-family:var(--serif);font-size:clamp(1.4rem,3vw,2rem)}
.proposal-list p{max-width:48rem;margin:0;color:var(--ink-soft);line-height:1.6}
.proposal-list .example{margin-top:var(--space-3);padding-left:var(--space-4);border-left:.2rem solid var(--ochre);font-size:.82rem}
.timeline-section{padding-inline:var(--space-6);background:var(--forest);color:var(--cream);border:0}
.timeline-section .chapter-number,.timeline-section .profile-section-heading>p{color:var(--paper-deep)}
.timeline{margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;border-top:.1rem solid var(--line-dark);border-left:.1rem solid var(--line-dark)}
.timeline li{min-height:18rem;padding:var(--space-5);border-right:.1rem solid var(--line-dark);border-bottom:.1rem solid var(--line-dark)}
.timeline li>span{display:block;margin-bottom:var(--space-7);color:var(--lime);font-family:var(--mono);font-size:.72rem;font-weight:700;text-transform:uppercase}
.timeline h3{margin:0 0 var(--space-3);font-family:var(--serif);font-size:1.4rem}
.timeline p{margin:0;color:var(--paper-deep);font-size:.82rem;line-height:1.55}
.kpi-table-wrap{max-width:100%;overflow-x:auto}
.kpi-table{width:100%;min-width:44rem;border-collapse:collapse;background:var(--cream);text-align:left}
.kpi-table caption{padding:var(--space-3) 0;color:var(--ink-soft);font-size:.75rem;text-align:left}
.kpi-table th,.kpi-table td{padding:var(--space-4);border-bottom:.1rem solid var(--line);vertical-align:top}
.kpi-table thead th{border-top:.3rem solid var(--forest);color:var(--forest);font-size:.68rem;letter-spacing:.07em;text-transform:uppercase}
.kpi-table tbody th{font-family:var(--serif);font-size:1.05rem}
.kpi-table td{color:var(--ink-soft);font-size:.8rem;line-height:1.45}
.source-list{margin:0;padding:0;list-style:none;border-top:.25rem solid var(--forest)}
.source-list li{padding:var(--space-5) 0;display:grid;grid-template-columns:4rem minmax(0,1fr);gap:var(--space-4);border-bottom:.1rem solid var(--line)}
.source-index{font-family:var(--mono);font-size:.72rem;color:var(--forest-light)}
.source-list strong{font-family:var(--serif);font-size:1.15rem}
.source-list p{margin:var(--space-2) 0;color:var(--ink-soft);font-size:.82rem}
.profile-return{padding:var(--space-7) 0 var(--space-8)}

/* Paula Baranová — personal introduction and photo gallery */
.paula-profile .paula-story{max-width:52rem;display:grid;gap:var(--space-3)}
.paula-profile .paula-story p{margin:0;color:var(--ink-soft);font-size:1rem;line-height:1.65}
.paula-profile .paula-gallery{margin-top:var(--space-6);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5)}
.paula-profile .paula-gallery figure{min-width:0;margin:0;border-top:var(--space-1) solid var(--forest)}
.paula-profile .paula-gallery-link{width:100%;padding:0;display:block;border:0;background:transparent;color:var(--ink);font:inherit;text-align:left;text-decoration:none;cursor:zoom-in}
.paula-profile .paula-gallery-link:focus-visible{outline:.2rem solid var(--focus);outline-offset:var(--space-1)}
.paula-profile .paula-gallery img{width:100%;height:auto;display:block;background:var(--paper-deep)}
.paula-profile .paula-gallery figcaption{padding:var(--space-3) 0;color:var(--ink-soft);font-size:.8rem;font-weight:700;line-height:1.4}
.paula-profile .paula-gallery-link:hover figcaption{color:var(--rust)}
html.paula-lightbox-open{overflow:hidden}
html.paula-lightbox-open body{position:fixed;top:var(--paula-scroll-lock-top);right:0;left:0;width:100%;padding-right:var(--paula-scrollbar-compensation);overflow:hidden}
.paula-lightbox{width:min(76rem,calc(100% - var(--space-6)));max-height:calc(100% - var(--space-6));padding:var(--space-4);border:.1rem solid var(--line-dark);background:var(--ink);color:var(--cream);box-shadow:var(--shadow)}
.paula-lightbox::backdrop{background:color-mix(in srgb,var(--ink) 82%,transparent)}
.paula-lightbox-close{margin-left:auto;padding:var(--space-2) var(--space-3);border:.1rem solid var(--line-dark);background:transparent;color:var(--cream);font:inherit;font-size:.78rem;font-weight:700;cursor:pointer}
.paula-lightbox-close:hover{border-color:var(--lime);color:var(--lime)}
.paula-lightbox-close:focus-visible{outline:.2rem solid var(--focus);outline-offset:var(--space-1)}
.paula-lightbox figure{margin:var(--space-3) 0 0;display:grid;justify-items:center;gap:var(--space-3)}
.paula-lightbox img{width:auto;height:auto;max-width:100%;max-height:calc(100vh - (var(--space-8) * 2));max-height:calc(100dvh - (var(--space-8) * 2));display:block;object-fit:contain}
.paula-lightbox figcaption{color:var(--paper-deep);font-size:.82rem;font-weight:700;text-align:center}

/* Candidate statement profiles */
:is(.magat-profile,.candidate-profile) .profile-label{width:max-content;margin:0;padding:var(--space-2) var(--space-3);background:var(--forest);color:var(--cream);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
:is(.magat-profile,.candidate-profile) .profile-facts{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:.1rem solid var(--line);border-bottom:.1rem solid var(--line)}
:is(.magat-profile,.candidate-profile) .profile-facts div{padding:var(--space-3) var(--space-4);border-right:.1rem solid var(--line)}
:is(.magat-profile,.candidate-profile) .profile-facts div:first-child{padding-left:0}
:is(.magat-profile,.candidate-profile) .profile-facts div:last-child{border-right:0}
:is(.magat-profile,.candidate-profile) .profile-facts dt{margin-bottom:var(--space-1);color:var(--ink-soft);font-size:.64rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
:is(.magat-profile,.candidate-profile) .profile-facts dd{margin:0;font-family:var(--serif);font-size:1.05rem}
:is(.magat-profile,.candidate-profile) .candidate-portrait-large{min-height:0;aspect-ratio:4/5}
:is(.magat-profile,.candidate-profile) .candidate-profile-image,.magat-profile .magat-profile-image{width:100%;height:100%;display:block;object-fit:cover}
.magat-profile .magat-profile-image{object-position:50% 42%}
.moravcik-profile .candidate-profile-image{object-position:10% 50%}
.magat-profile .magat-experience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5)}
.magat-profile .magat-experience-grid article{padding:var(--space-5);background:var(--cream);border-top:.25rem solid var(--forest);box-shadow:var(--shadow)}
.magat-profile .experience-kicker{margin:0 0 var(--space-5);color:var(--rust);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.magat-profile .magat-experience-grid h3{margin:0 0 var(--space-3);font-family:var(--serif);font-size:1.4rem;line-height:1.15}
.magat-profile .magat-experience-grid article>p:last-child{margin:0;color:var(--ink-soft);font-size:.86rem;line-height:1.6}
.magat-profile .magat-priority-list{margin:0;padding:0;list-style:none}
.magat-profile .magat-priority-list li{padding:var(--space-6) 0;display:grid;grid-template-columns:5rem minmax(0,1fr);gap:var(--space-5);border-bottom:.1rem solid var(--line)}
.magat-profile .magat-priority-list h3{max-width:32ch;margin:0 0 var(--space-3);font-family:var(--serif);font-size:clamp(1.4rem,3vw,2rem)}
.magat-profile .magat-priority-list p{max-width:48rem;margin:0;color:var(--ink-soft);line-height:1.6}
.magat-profile .magat-challenges-section{padding-inline:var(--space-6);background:var(--forest);color:var(--cream);border:0}
.magat-profile .magat-challenges-section .chapter-number,.magat-profile .magat-challenges-section .profile-section-heading>p{color:var(--paper-deep)}
.magat-profile .magat-challenge-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:.1rem solid var(--line-dark);border-left:.1rem solid var(--line-dark)}
.magat-profile .magat-challenge-grid article{padding:var(--space-6);border-right:.1rem solid var(--line-dark);border-bottom:.1rem solid var(--line-dark)}
.magat-profile .magat-challenge-grid .proposal-number{display:block;margin-bottom:var(--space-6);color:var(--lime)}
.magat-profile .magat-challenge-grid h3{margin:0 0 var(--space-3);font-family:var(--serif);font-size:clamp(1.4rem,3vw,2rem)}
.magat-profile .magat-challenge-grid p{margin:0;color:var(--paper-deep);line-height:1.6}
.magat-profile .magat-closing{max-width:54rem;border-bottom:0}
.magat-profile .magat-closing h2{margin:var(--space-3) 0 var(--space-6);font-family:var(--serif);font-size:clamp(2rem,5vw,4rem);line-height:1}
.magat-profile .magat-closing blockquote{margin:0 0 var(--space-6);padding:var(--space-5);border-left:.25rem solid var(--ochre);background:var(--cream)}
.magat-profile .magat-closing blockquote p{margin:0 0 var(--space-3);font-family:var(--serif);font-size:1.3rem;line-height:1.4}
.magat-profile .magat-closing cite{color:var(--ink-soft);font-size:.75rem;font-style:normal}
.magat-profile .source-note{max-width:46rem;margin:0 0 var(--space-4);color:var(--ink-soft);font-size:.82rem;line-height:1.55}

/* Peter Moravčík — public program profile */
.moravcik-profile .moravcik-priorities{border-bottom:0}
.moravcik-profile .priority-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5)}
.moravcik-profile .priority-card{padding:var(--space-5);background:var(--cream);border-top:.25rem solid var(--forest);box-shadow:var(--shadow)}
.moravcik-profile .priority-card header{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-4)}
.moravcik-profile .priority-card h3{margin:0;font-family:var(--serif);font-size:clamp(1.4rem,3vw,2rem);line-height:1.1}
.moravcik-profile .priority-card ul{margin:0;padding-left:var(--space-5);display:grid;gap:var(--space-3);color:var(--ink-soft);line-height:1.55}
.moravcik-profile .priority-card li::marker{color:var(--rust)}
.moravcik-profile .moravcik-source{max-width:54rem;border-top:.3rem solid var(--ochre);border-bottom:0}
.moravcik-profile .moravcik-source h2{margin:var(--space-3) 0 var(--space-4);font-family:var(--serif);font-size:clamp(2rem,4vw,3.25rem);line-height:1}
.moravcik-profile .source-note{max-width:46rem;margin:0 0 var(--space-4);color:var(--ink-soft);font-size:.82rem;line-height:1.55}

a:focus-visible,button:focus-visible,[tabindex]:focus-visible,summary:focus-visible{outline:.2rem solid var(--focus);outline-offset:var(--space-1)}
.item-tooltip{position:absolute;z-index:5;left:50%;bottom:calc(100% + var(--space-2));max-width:min(22rem,calc(100vw - var(--space-6)));padding:var(--space-2) var(--space-3);transform:translateX(-50%);background:var(--ink);color:var(--cream);box-shadow:var(--shadow);font-size:.72rem;font-weight:700;line-height:1.4;pointer-events:none;white-space:normal}
.item-tooltip[hidden]{display:none}
.tooltip-surface{position:relative;overflow:visible}
.tooltip-target{cursor:help}
.tooltip-target:focus-visible{outline:.2rem solid var(--focus);outline-offset:var(--space-1)}
.history-segment,.reserve-movement-bar,.chart-point,.budget-point,.reserve-closing-point{cursor:crosshair}
.history-segment:focus,.reserve-movement-bar:focus,.chart-point:focus,.budget-point:focus,.reserve-closing-point:focus{outline:none;stroke:var(--focus);stroke-width:4}
.chart-hit-zone{cursor:pointer}
.chart-hit-zone:focus{outline:none}
.chart-hit-zone:focus .chart-year{fill:var(--focus);text-decoration:underline}
.budget-selected-band{fill:var(--lime);fill-opacity:.16;stroke:var(--line)}
.reserve-closing-hit{fill:none;stroke:transparent;stroke-width:18;cursor:crosshair}
.revenue-bar.tooltip-surface,#budget-type-bar.tooltip-surface,.investment-comparison.tooltip-surface{overflow:visible}
.investment-comparison.tooltip-surface .investment-actual{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}
.investment-comparison.tooltip-surface .investment-unused{border-radius:0 var(--radius-sm) var(--radius-sm) 0}

body>.floating-tooltip{position:fixed;z-index:9;right:auto;bottom:auto;margin:0;transform:none;pointer-events:none}
body>.chart-tooltip.floating-tooltip{top:auto}
.investment-comparison.tooltip-surface{overflow:hidden}
@media(max-width:760px){
  .elections-heading,.profile-section-heading,.profile-hero{grid-template-columns:1fr}
  .paula-profile .paula-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
  .candidate-grid-council{grid-template-columns:repeat(2,minmax(0,1fr))}
  .candidate-heading{grid-template-columns:var(--space-7) auto minmax(0,1fr);gap:var(--space-2)}
  .candidate-thumbnail{width:var(--space-7);height:var(--space-7)}
  .elections-hero{padding-top:var(--space-7)}
  .elections-return{align-items:flex-start;flex-direction:column}
  .timeline{grid-template-columns:repeat(2,minmax(0,1fr))}
  .candidate-portrait-large{min-height:24rem}
  .profile-hero{gap:var(--space-5)}
  .creator-bar{right:var(--space-4);bottom:var(--space-4);width:calc(100% - (var(--space-4) * 2))}
  .creator-bar-link{min-height:4rem;padding:var(--space-2) var(--space-3);grid-template-columns:auto minmax(0,1fr) auto;gap:var(--space-2)}
  .creator-bar-avatar{width:2.5rem;height:2.5rem;font-size:.9rem;box-shadow:inset 0 0 0 var(--space-1) var(--forest)}
  .creator-bar-copy{display:block}
  .creator-bar-eyebrow,.creator-bar-name,.creator-bar-context{display:block}
  .creator-bar-eyebrow{font-size:.55rem}
  .creator-bar-name{font-size:1rem}
  .creator-bar-context{font-size:.68rem}
  .creator-bar-arrow{width:var(--space-5);height:var(--space-5);font-size:.9rem}
  :is(.magat-profile,.candidate-profile) .profile-facts{grid-template-columns:1fr}
  :is(.magat-profile,.candidate-profile) .profile-facts div,:is(.magat-profile,.candidate-profile) .profile-facts div:first-child{padding:var(--space-3) 0;border-right:0;border-bottom:.1rem solid var(--line)}
  :is(.magat-profile,.candidate-profile) .profile-facts div:last-child{border-bottom:0}
  .moravcik-profile .priority-card-grid{grid-template-columns:1fr}
  .magat-profile .magat-experience-grid{grid-template-columns:1fr}
  .magat-profile .magat-challenge-grid{grid-template-columns:1fr}
}
@media(max-width:480px){
  .elections-hero h1,.profile-heading h1{font-size:2.6rem}
  .candidate-grid-mayor,.candidate-grid-council,.timeline,.public-data-divider,.paula-profile .paula-gallery{grid-template-columns:1fr}
  .proposal-list article{grid-template-columns:1fr;gap:var(--space-2)}
  .magat-profile .magat-priority-list li{grid-template-columns:1fr;gap:var(--space-2)}
  .timeline li{min-height:0}
  .timeline li>span{margin-bottom:var(--space-4)}
  .source-list li{grid-template-columns:1fr;gap:var(--space-2)}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}
@media print{
  :root{--paper:var(--cream);--paper-deep:var(--cream);--page:100%}
  body{padding-bottom:0;background:var(--cream);font-size:10pt}
  .skip-link,.masthead,.contents-nav,.breadcrumb,.profile-return,.creator-bar,footer,.text-link{display:none!important}
  .profile-page{width:100%}
  .profile-hero,.profile-section{padding:1.5rem 0}
  .profile-hero{grid-template-columns:11rem 1fr}
  .candidate-portrait-large{min-height:14rem}
  .profile-heading h1{font-size:2.4rem}
  .timeline li{min-height:0;break-inside:avoid}
  .proposal-list article,.source-list li{break-inside:avoid}
  .timeline-section{margin-inline:0;padding-inline:0;background:var(--cream);color:var(--ink)}
  .timeline-section .chapter-number,.timeline-section .profile-section-heading>p,.timeline p{color:var(--ink-soft)}
  .timeline{grid-template-columns:repeat(2,1fr)}
  .timeline li>span{margin-bottom:var(--space-3);color:var(--ink)}
  .kpi-table{min-width:0}
  a{color:var(--ink);text-decoration:none}
}

/* Municipality routing, shared switch and Častá overview */
.municipality-switch{flex:0 0 auto;gap:var(--space-1);padding:var(--space-1);border:.1rem solid var(--line-dark);border-radius:var(--radius-sm)}
.municipality-switch a{min-height:var(--space-6);padding:var(--space-1) var(--space-3);display:inline-flex;align-items:center;text-decoration:none}
.municipality-switch a[aria-current=page]{background:var(--forest);color:var(--cream)}
.municipality-switch a:not([aria-current=page]):hover{background:var(--paper-deep);color:var(--rust)}
.primary-nav{min-width:0}
.hub-masthead{width:var(--page);margin-inline:auto;padding:var(--space-6) 0;border-bottom:.1rem solid var(--ink)}
.municipality-hub{width:var(--page);margin-inline:auto}
.hub-intro{max-width:58rem;padding:var(--space-8) 0 var(--space-7)}
.hub-intro h1{max-width:16ch;margin:var(--space-3) 0 var(--space-5)}
.hub-intro>p:not(.eyebrow){max-width:52rem;margin:0;color:var(--ink-soft);font-family:var(--serif);font-size:clamp(1rem,1.7vw,1.25rem);line-height:1.55}
.hub-intro>p:not(.eyebrow)+p{margin-top:var(--space-3)}
.hub-section{min-width:0}
.hub-budgets{padding-bottom:var(--space-8)}
.hub-section-heading{max-width:52rem;margin-bottom:var(--space-5)}
.hub-section-heading .eyebrow{margin-bottom:var(--space-2)}
.hub-section-heading h2{margin:0;font-family:var(--serif);font-size:clamp(2rem,4vw,3.25rem);line-height:1}
.hub-section-heading>p:last-child{max-width:44rem;margin:var(--space-3) 0 0;color:var(--ink-soft);line-height:1.55}
.municipality-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));align-items:stretch;gap:var(--space-4)}
.municipality-card{min-width:0;padding:var(--space-5);display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4);background:var(--cream);border-top:.35rem solid var(--ochre);text-decoration:none;box-shadow:var(--shadow)}
.municipality-card-primary{background:var(--forest);color:var(--cream);border-color:var(--lime)}
.municipality-card .chapter-number{margin:0}
.municipality-card-primary .chapter-number{color:var(--lime)}
.municipality-card h3{margin:0;font-family:var(--serif);font-size:clamp(1.8rem,3vw,2.5rem);line-height:1}
.municipality-card>span:not(.chapter-number){color:var(--ink-soft);font-size:.88rem;line-height:1.5}
.municipality-card-primary>span:not(.chapter-number){color:var(--paper-deep)}
.municipality-card>b{margin-top:auto;padding-top:var(--space-3);border-top:.1rem solid currentColor;font-size:.78rem}
.municipality-card:hover b{color:var(--rust)}
.municipality-card-primary:hover b{color:var(--lime)}
.municipality-card:focus-visible{outline:.2rem solid var(--focus);outline-offset:.2rem}
.municipality-card-upcoming{background:var(--paper-deep);border:.1rem dashed var(--line-dark);border-top:.35rem solid var(--line-dark);box-shadow:none;color:var(--ink-soft)}
.municipality-card-upcoming h3{color:var(--ink)}
.municipality-card-upcoming>b{border:0;color:var(--rust);font-family:var(--mono);font-size:.7rem;text-transform:uppercase}
.debt-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:.3rem solid var(--forest);border-left:.1rem solid var(--line)}
.debt-grid article{min-height:10rem;padding:var(--space-5);display:flex;flex-direction:column;justify-content:space-between;border-right:.1rem solid var(--line);border-bottom:.1rem solid var(--line);background:var(--paper)}
.debt-grid .debt-total{background:var(--forest);color:var(--cream)}
.debt-grid strong{font-family:var(--serif);font-size:clamp(1.35rem,2.5vw,2rem);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.debt-grid small{color:var(--ink-soft)}
.canonical-section-body{display:contents}
.canonical-section-body[hidden]{display:none}
.feature-state-panel{margin-top:var(--space-5);padding:var(--space-6);display:grid;gap:var(--space-2);border:.1rem solid var(--line-dark);border-left:.35rem solid var(--rust);background:var(--cream)}
.feature-state-panel[hidden]{display:none}
.feature-state-panel strong{font-family:var(--serif);font-size:clamp(1.25rem,2vw,1.7rem)}
.feature-state-panel span{max-width:48rem;color:var(--ink-soft)}
.feature-state-panel.is-na{border-left-color:var(--blue)}
.chart-year-missing{fill:var(--ink-soft);text-decoration:line-through}
.inflation-switch:disabled{cursor:not-allowed;opacity:.55}
@media(max-width:1000px) and (min-width:761px){.masthead{flex-wrap:wrap}.primary-nav{width:100%;justify-content:flex-start;padding-top:var(--space-3);border-top:.1rem solid var(--line)}.municipality-switch{margin-left:auto}}
@media(max-width:760px){.masthead{align-items:center;flex-wrap:wrap}.masthead .municipality-switch{display:flex;margin-left:auto}.masthead .primary-nav{display:none}.hub-intro{padding:var(--space-7) 0 var(--space-6)}.debt-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.masthead .wordmark{width:100%}.masthead .municipality-switch{width:100%;margin:var(--space-3) 0 0;justify-content:stretch}.municipality-switch a{flex:1;justify-content:center}.municipality-grid,.debt-grid{grid-template-columns:1fr}}

/* Feature-driven municipality data views. */
.revenue-5,.history-revenue-5{background:var(--ink)}
.history-segment.history-revenue-5{fill:var(--ink)}
.functional-area-layer.area-P1,.functional-area-legend i.area-P1,.functional-area-tooltip i.area-P1{fill:var(--forest-light);background:var(--forest-light)}
.functional-area-layer.area-P2,.functional-area-legend i.area-P2,.functional-area-tooltip i.area-P2{fill:var(--blue);background:var(--blue)}
.functional-area-layer.area-P3,.functional-area-legend i.area-P3,.functional-area-tooltip i.area-P3{fill:var(--rust);background:var(--rust)}
.functional-area-layer.area-P4,.functional-area-legend i.area-P4,.functional-area-tooltip i.area-P4{fill:var(--ochre);background:var(--ochre)}
.functional-area-layer.area-P5,.functional-area-legend i.area-P5,.functional-area-tooltip i.area-P5{fill:#6d846f;background:#6d846f}
.functional-area-layer.area-P6,.functional-area-legend i.area-P6,.functional-area-tooltip i.area-P6{fill:#8b6559;background:#8b6559}
.functional-area-layer.area-P7,.functional-area-legend i.area-P7,.functional-area-tooltip i.area-P7{fill:#759aa4;background:#759aa4}
.functional-area-layer.area-P8,.functional-area-legend i.area-P8,.functional-area-tooltip i.area-P8{fill:#a77b35;background:#a77b35}
.functional-area-layer.area-P9,.functional-area-legend i.area-P9,.functional-area-tooltip i.area-P9{fill:#446c5d;background:#446c5d}
.functional-area-layer.area-P10,.functional-area-legend i.area-P10,.functional-area-tooltip i.area-P10{fill:#965440;background:#965440}
.functional-area-layer.area-P11,.functional-area-legend i.area-P11,.functional-area-tooltip i.area-P11{fill:#667f88;background:#667f88}
.functional-area-layer.area-P12,.functional-area-legend i.area-P12,.functional-area-tooltip i.area-P12{fill:#baa05f;background:#baa05f}
.functional-year-key.year-2025{background:var(--ink)}
.debt-notes{grid-column:1/-1;margin-top:var(--space-4);padding:var(--space-4);background:var(--paper-deep);border-left:.25rem solid var(--ochre)}
.debt-notes p{margin:0;color:var(--ink-soft);font-size:.8rem}
.debt-notes p+p{margin-top:var(--space-2)}

/* Editorial articles and budget comparisons */
.hub-articles{margin-bottom:var(--space-9);padding:var(--space-7) var(--space-6) var(--space-8);background:var(--paper-deep);border-top:.25rem solid var(--forest)}
.hub-articles-link{padding:var(--space-5);display:grid;grid-template-columns:minmax(8rem,.35fr) minmax(18rem,1.25fr) auto;align-items:center;gap:var(--space-5);background:var(--cream);border-left:.35rem solid var(--rust);text-decoration:none}
.hub-articles-link .chapter-number{margin:0}.hub-articles-link>h3{margin:0;font-family:var(--serif);font-size:clamp(1.4rem,2.5vw,2.2rem);line-height:1.1}.hub-articles-link>span:last-child{font-size:.78rem;font-weight:700;text-decoration:underline;text-underline-offset:var(--space-2)}.hub-articles-link:hover>span:last-child{color:var(--rust)}.hub-articles-link:focus-visible{outline:.2rem solid var(--focus);outline-offset:.2rem}
@media(max-width:760px){.hub-articles{padding:var(--space-6) var(--space-5) var(--space-7)}}
.article-hero{width:var(--page);margin:0 auto;padding:var(--space-9) 0 var(--space-8);display:grid;grid-template-columns:minmax(0,1.55fr) minmax(17rem,.65fr);align-items:end;gap:var(--space-8)}
.article-hero h1{max-width:13ch}.article-lead{max-width:50rem;margin:0;color:var(--ink-soft);font-family:var(--serif);font-size:clamp(1.15rem,2vw,1.45rem)}
.article-scope{padding:var(--space-5);background:var(--forest);color:var(--cream);border-top:.35rem solid var(--lime)}.article-scope strong{font-family:var(--serif);font-size:1.35rem}.article-scope p{margin:var(--space-3) 0 0;color:var(--paper-deep);font-size:.82rem}
.article-toc{width:var(--page);margin:0 auto var(--space-6);padding:var(--space-3) 0;justify-content:flex-start;border-top:.1rem solid var(--ink);border-bottom:.1rem solid var(--ink);font-size:.72rem}
.article-section,.article-finding{width:var(--page);margin:0 auto;padding:var(--space-8) 0;border-top:.1rem solid var(--line);scroll-margin-top:var(--space-4)}
.article-section-heading{margin-bottom:var(--space-6);display:grid;grid-template-columns:minmax(18rem,1fr) minmax(18rem,.75fr);gap:var(--space-7)}.article-section-heading>p{align-self:end;margin:0;color:var(--ink-soft);font-family:var(--serif);font-size:1.08rem}
.budget-table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;border:.1rem solid var(--line);background:var(--cream)}
.comparison-table{width:100%;min-width:58rem;border-collapse:collapse;font-variant-numeric:tabular-nums}.comparison-table caption{padding:var(--space-4);color:var(--ink-soft);font-size:.78rem;text-align:left}.comparison-table th,.comparison-table td{padding:var(--space-3);border-top:.1rem solid var(--line);border-right:.1rem solid var(--line);text-align:right;white-space:nowrap}.comparison-table th:first-child{text-align:left}.comparison-table thead tr:first-child th{background:var(--forest);color:var(--cream);font-family:var(--serif);font-size:1.15rem}.comparison-table thead tr:nth-child(2) th{background:var(--paper-deep);font-size:.72rem}.comparison-table tbody th{font-family:var(--serif)}.comparison-table td{font-family:var(--mono);font-size:.76rem}.comparison-table td:last-child,.comparison-table th:last-child{border-right:0}
.comparison-caveat{margin:var(--space-5) 0 0;padding:var(--space-4);background:var(--paper-deep);border-left:.25rem solid var(--ochre);color:var(--ink-soft);font-size:.84rem}
.finding-heading{max-width:56rem;margin-bottom:var(--space-6)}.finding-heading h2{max-width:18ch}.finding-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}
.finding-part{padding:var(--space-5);background:var(--cream);border-top:.3rem solid var(--forest)}.finding-part:nth-child(2){border-color:var(--ochre)}.finding-part:nth-child(3){border-color:var(--rust)}.finding-part h3{margin-bottom:var(--space-4);font-size:1.35rem}.finding-part p{margin:0;color:var(--ink-soft);font-size:.86rem}
.numbers-dont-say{width:100%;padding:var(--space-8) max(var(--space-4),calc((100% - 76rem)/2));display:grid;grid-template-columns:minmax(18rem,.75fr) minmax(18rem,1.25fr);gap:var(--space-8);background:var(--forest);color:var(--cream)}.numbers-dont-say .chapter-number{color:var(--lime)}.numbers-dont-say h2{max-width:13ch}.numbers-dont-say p{color:var(--paper-deep);font-family:var(--serif);font-size:1.08rem}.numbers-dont-say p:last-child{margin-bottom:0}
.article-definitions{margin:0}.article-definitions>div{padding:var(--space-5) 0;display:grid;grid-template-columns:minmax(12rem,.55fr) minmax(18rem,1.45fr);gap:var(--space-5);border-top:.1rem solid var(--line)}.article-definitions dt{font-family:var(--serif);font-size:1.3rem;font-weight:700}.article-definitions dd{margin:0;color:var(--ink-soft)}
.article-sources .source-list a{display:inline-block;color:var(--forest-light);font-weight:700;text-underline-offset:var(--space-1)}.dashboard-links{margin-top:var(--space-7);padding:var(--space-5);display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);background:var(--forest);color:var(--cream);border-left:.35rem solid var(--lime)}.dashboard-links>strong{font-family:var(--serif);font-size:1.35rem}.dashboard-links>div{display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-5)}.dashboard-links a{font-size:.8rem;font-weight:700;text-underline-offset:var(--space-2)}.dashboard-links a:hover{color:var(--lime)}
@media(max-width:760px){.hub-articles-link,.article-hero,.article-section-heading,.finding-grid,.numbers-dont-say{grid-template-columns:1fr}.hub-articles-link{padding:var(--space-5)}.article-hero{padding-top:var(--space-8);gap:var(--space-6)}.article-masthead nav{width:100%;padding-top:var(--space-3);display:flex;justify-content:flex-start;border-top:.1rem solid var(--line)}.article-toc{display:flex;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto}.article-section,.article-finding{padding:var(--space-7) 0}.article-section-heading{gap:var(--space-4)}.finding-grid{gap:var(--space-3)}.numbers-dont-say{gap:var(--space-5)}.article-definitions>div{grid-template-columns:1fr;gap:var(--space-2)}.dashboard-links{align-items:flex-start;flex-direction:column}}
@media(max-width:480px){.article-masthead .wordmark{width:100%}.article-masthead nav{gap:var(--space-2) var(--space-4)}.hub-articles-link>span:last-child{justify-self:start}.finding-part{padding:var(--space-4)}.article-sources .source-list li{grid-template-columns:2.5rem minmax(0,1fr)}.dashboard-links>div{display:grid}}

/* Curated public-document links and index. */
.source-file-link{display:block;max-width:100%;color:var(--forest);text-decoration-thickness:.1rem;text-underline-offset:.18rem}.source-file-link:hover{color:var(--rust)}.source-file-link code{color:inherit}.context-source-heading{margin:var(--space-7) 0 var(--space-3);font-family:var(--serif);font-size:1.35rem}.context-source-list{margin:0;padding:0;display:grid;gap:var(--space-3);list-style:none}.context-source-list li{padding:var(--space-3) 0;display:grid;gap:var(--space-1);border-bottom:.1rem solid var(--line)}.context-source-list a{font-weight:700}.context-source-list span{color:var(--ink-soft);font-size:.82rem;line-height:1.5}
.documents-page{width:var(--page);margin-inline:auto}.documents-hero{max-width:52rem;padding:var(--space-9) 0 var(--space-8)}.documents-hero h1{margin:var(--space-3) 0;font-family:var(--serif);font-size:clamp(3rem,8vw,6.5rem);line-height:.9}.documents-hero>p:last-child{max-width:44rem;color:var(--ink-soft);font-size:1.05rem;line-height:1.6}.documents-group{padding:var(--space-7) 0}.documents-group h2{margin:0 0 var(--space-5);font-family:var(--serif);font-size:clamp(1.8rem,4vw,3rem)}.document-index-list{margin:0;padding:0;border-top:.25rem solid var(--forest);list-style:none}.document-index-list li{padding:var(--space-4) 0;display:grid;grid-template-columns:5rem minmax(0,1fr);gap:var(--space-4);border-bottom:.1rem solid var(--line)}.document-index-list li>span{font-family:var(--mono);font-weight:700;color:var(--forest-light)}.document-index-list div{min-width:0;display:grid;gap:var(--space-2)}.document-index-list a{width:fit-content;max-width:100%;overflow-wrap:anywhere;font-family:var(--serif);font-size:1.1rem;font-weight:700;text-underline-offset:.2rem}.document-index-list small{color:var(--ink-soft);line-height:1.45}@media(max-width:480px){.document-index-list li{grid-template-columns:1fr;gap:var(--space-2)}}

/* Supplemental RegisterÚZ accounting view. */
.accounting-section{background:var(--paper-deep)}
.accounting-controls{margin-bottom:var(--space-5);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}
.accounting-scope-switch{display:inline-flex;border:.1rem solid var(--forest)}
.accounting-scope-switch button{min-height:2.75rem;padding:.65rem var(--space-4);border:0;background:transparent;color:var(--forest);font:700 .75rem/1.2 var(--sans);cursor:pointer}
.accounting-scope-switch button+button{border-left:.1rem solid var(--forest)}
.accounting-scope-switch button[aria-pressed=true]{background:var(--forest);color:var(--cream)}
.accounting-scope-switch button:focus-visible{outline:.2rem solid var(--focus);outline-offset:.15rem}
.accounting-basis{max-width:24rem;color:var(--ink-soft);font-size:.75rem;text-align:right}
.accounting-history{margin-bottom:var(--space-5)}
.accounting-chart{min-width:44rem}
.accounting-line{fill:none;stroke-width:3;stroke-linejoin:round;stroke-linecap:round}
.accounting-line.accounting-revenue{stroke:var(--forest-light)}
.accounting-line.accounting-cost{stroke:var(--rust)}
.accounting-line.accounting-result{stroke:var(--ochre)}
.accounting-point{stroke:var(--cream);stroke-width:2;cursor:crosshair}
.accounting-point.accounting-revenue,.accounting-legend i.accounting-revenue,.accounting-chart-tooltip i.accounting-revenue{fill:var(--forest-light);background:var(--forest-light)}
.accounting-point.accounting-cost,.accounting-legend i.accounting-cost,.accounting-chart-tooltip i.accounting-cost{fill:var(--rust);background:var(--rust)}
.accounting-point.accounting-result,.accounting-legend i.accounting-result,.accounting-chart-tooltip i.accounting-result{fill:var(--ochre);background:var(--ochre)}
.accounting-selected-band{fill:var(--lime);fill-opacity:.16;stroke:var(--line)}
.accounting-zero-line{stroke:var(--ink);stroke-width:1.5}
.accounting-year-line{margin-bottom:var(--space-4)}
.accounting-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:.3rem solid var(--forest);border-left:.1rem solid var(--line)}
.accounting-summary article{min-height:9rem;padding:var(--space-5);display:flex;flex-direction:column;justify-content:space-between;border-right:.1rem solid var(--line);border-bottom:.1rem solid var(--line);background:var(--cream)}
.accounting-summary article.accounting-result{background:var(--forest);color:var(--cream)}
.accounting-summary span{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.accounting-summary strong{font-family:var(--serif);font-size:clamp(1.5rem,3vw,2.45rem);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.accounting-summary .negative,.supplemental-result-grid .negative{color:var(--rust)}
.accounting-summary .accounting-result .negative{color:#f3b59d}
.accounting-table-wrap{margin-top:var(--space-5);overflow-x:auto;background:var(--cream);border:.1rem solid var(--line)}
.accounting-metric-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.accounting-metric-table tr{display:grid;grid-template-columns:minmax(12rem,1fr) minmax(13rem,.75fr)}
.accounting-metric-table th,.accounting-metric-table td{padding:var(--space-3) var(--space-4);border-bottom:.1rem solid var(--line)}
.accounting-metric-table th{text-align:left;font-family:var(--serif)}
.accounting-metric-table td{text-align:right;font-family:var(--mono)}
.accounting-metric-table .unavailable-value{color:var(--ink-soft);font-family:var(--sans);font-style:italic}
.accounting-reconciliation{margin-top:var(--space-5);padding:var(--space-4);display:grid;grid-template-columns:auto 1fr;gap:var(--space-2) var(--space-3);align-items:center;background:var(--cream);border-left:.3rem solid var(--forest)}
.accounting-reconciliation .status-icon{grid-row:1/3}.accounting-reconciliation p{grid-column:2;margin:0;color:var(--ink-soft);font-size:.82rem}
.accounting-conflicts{margin-top:var(--space-4)}.accounting-conflicts details{padding:var(--space-4);background:var(--cream);border:.1rem solid var(--line)}.accounting-conflicts summary{cursor:pointer;font-weight:700}.accounting-conflicts p{margin:var(--space-3) 0 0;color:var(--ink-soft);font-size:.82rem}.accounting-conflicts p.is-selected{padding-left:var(--space-3);border-left:.25rem solid var(--rust);color:var(--ink)}
.accounting-sources{margin-top:var(--space-5);padding:var(--space-5);background:var(--cream);border-top:.3rem solid var(--forest)}.accounting-source-head{display:flex;align-items:end;justify-content:space-between;gap:var(--space-4)}.accounting-source-head h3{margin:0}.accounting-source-head p{margin:0;color:var(--ink-soft);font-size:.76rem}.accounting-document-links{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);font-size:.76rem}.accounting-document-links .source-file-link{display:inline-block}.accounting-source-hierarchy{margin:var(--space-4) 0 0;padding-left:1.4rem;color:var(--ink-soft);font-size:.82rem}.accounting-source-hierarchy li+li{margin-top:var(--space-2)}
.accounting-explanation{margin-top:var(--space-5);padding:var(--space-5);background:var(--forest);color:var(--cream);border-left:.35rem solid var(--lime)}.accounting-explanation p{max-width:56rem;margin:var(--space-2) 0 0;color:var(--paper-deep);font-size:.88rem}
.accounting-interim-budget{margin-top:var(--space-6)}.accounting-interim-budget[hidden]{display:none}
.supplemental-budget{overflow:hidden;background:var(--cream);border:.1rem solid var(--line-dark);border-top:.45rem solid var(--rust);box-shadow:0 .7rem 1.6rem rgb(30 43 35/.08)}
.supplemental-warning{padding:var(--space-5);background:var(--paper-deep);border-left:.35rem solid var(--rust)}
.supplemental-warning h3{max-width:34ch;margin:var(--space-2) 0;font-size:clamp(1.5rem,3vw,2.2rem)}
.supplemental-warning strong{display:block;max-width:58rem;color:var(--rust);font-family:var(--serif);font-size:1.05rem}
.supplemental-warning p:last-child{max-width:58rem;margin:var(--space-3) 0 0;color:var(--ink-soft);font-size:.84rem}
.accounting-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.accounting-table-scroll:focus-visible{outline:.2rem solid var(--focus);outline-offset:-.2rem}
.supplemental-budget-table{width:100%;min-width:46rem;border-collapse:collapse;font-variant-numeric:tabular-nums}
.supplemental-budget-table caption{padding:var(--space-3) var(--space-4);text-align:left;color:var(--ink-soft);font-size:.75rem;font-weight:700}
.supplemental-budget-table th,.supplemental-budget-table td{padding:var(--space-3) var(--space-4);border-top:.1rem solid var(--line);text-align:right}
.supplemental-budget-table th:first-child{text-align:left}
.supplemental-budget-table thead th{background:var(--forest);color:var(--cream);font-size:.75rem}
.supplemental-budget-table tbody th{font-family:var(--serif)}
.supplemental-budget-table td{font-family:var(--mono);font-size:.78rem}
.supplemental-budget-table .budget-group-label{background:var(--paper-deep);font-family:var(--sans);font-size:.72rem;text-transform:uppercase;letter-spacing:.05em}
.supplemental-calculations,.supplemental-capital{padding:var(--space-5);border-top:.1rem solid var(--line)}
.supplemental-subhead{display:grid;grid-template-columns:minmax(13rem,.7fr) minmax(18rem,1.3fr);gap:0 var(--space-5);align-items:end}
.supplemental-subhead .eyebrow{grid-column:1}
.supplemental-subhead h4{grid-column:1;margin:var(--space-2) 0 0;font-size:1.35rem}
.supplemental-subhead>p:last-child{grid-column:2;grid-row:1/3;margin:0;color:var(--ink-soft);font-size:.8rem}
.supplemental-calculation-grid{margin:var(--space-4) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3);list-style:none}
.supplemental-calculation-grid li{min-width:0;padding:var(--space-4);display:flex;flex-direction:column;background:var(--paper-deep);border-top:.25rem solid var(--ochre)}
.supplemental-calculation-grid h5{margin:var(--space-2) 0;font-family:var(--serif);font-size:1rem}
.supplemental-calculation-grid strong{font-family:var(--mono);font-size:1.05rem;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.supplemental-calculation-grid strong.negative{color:var(--rust)}
.supplemental-provenance{color:var(--forest);font-size:.64rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.supplemental-formula{margin:auto 0 0;padding-top:var(--space-3);color:var(--ink-soft);font:normal .68rem/1.45 var(--mono);overflow-wrap:anywhere}
.supplemental-capital{background:var(--paper-deep)}
.supplemental-capital-bars{margin-top:var(--space-4);padding:var(--space-4);background:var(--cream);border:.1rem solid var(--line)}
.supplemental-capital-bar+.supplemental-capital-bar{margin-top:var(--space-3)}
.supplemental-capital-bar>div{display:flex;justify-content:space-between;gap:var(--space-3);font-size:.78rem}
.supplemental-capital-bar strong{font-family:var(--mono);font-variant-numeric:tabular-nums}
.supplemental-capital-track{height:.7rem;margin-top:var(--space-2);display:block;overflow:hidden;background:var(--line)}
.supplemental-capital-track i{height:100%;display:block;background:var(--forest)}
.supplemental-capital-bar:nth-child(2) .supplemental-capital-track i{background:var(--ochre)}
.supplemental-capital-stats{margin:var(--space-3) 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}
.supplemental-capital-stats>div{padding:var(--space-3) var(--space-4);display:flex;justify-content:space-between;gap:var(--space-3);background:var(--cream);border:.1rem solid var(--line)}
.supplemental-capital-stats dt{color:var(--ink-soft);font-size:.75rem}.supplemental-capital-stats dd{margin:0;font-family:var(--mono);font-weight:700;text-align:right}
.supplemental-capital-formula{margin:var(--space-3) 0 0;color:var(--ink-soft);font-size:.72rem}
.supplemental-boundary{margin:var(--space-4);padding:var(--space-4);background:var(--paper-deep);border-left:.3rem solid var(--rust)}
.supplemental-boundary p{margin:var(--space-2) 0 0;color:var(--ink-soft);font-size:.78rem}
.supplemental-budget>.accounting-document-links{margin:0;padding:0 var(--space-4) var(--space-4)}
@media(max-width:1000px){.supplemental-calculation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.accounting-controls,.accounting-source-head{align-items:stretch;flex-direction:column}.accounting-basis{text-align:left}.accounting-summary{grid-template-columns:1fr}.accounting-summary article{min-height:7rem}.supplemental-subhead{grid-template-columns:1fr}.supplemental-subhead .eyebrow,.supplemental-subhead h4,.supplemental-subhead>p:last-child{grid-column:1;grid-row:auto}.supplemental-subhead>p:last-child{margin-top:var(--space-3)}}
@media(max-width:540px){.supplemental-calculation-grid,.supplemental-capital-stats{grid-template-columns:1fr}.supplemental-calculations,.supplemental-capital,.supplemental-warning{padding:var(--space-4)}}
@media(max-width:480px){.accounting-scope-switch{display:grid;grid-template-columns:1fr}.accounting-scope-switch button+button{border-top:.1rem solid var(--forest);border-left:0}.accounting-metric-table tr{grid-template-columns:1fr}.accounting-metric-table td{text-align:left;padding-top:0}}

/* Generated RegisterÚZ corpus index. */
.registeruz-index-meta{margin:0 0 var(--space-6);padding:var(--space-4);display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-6);background:var(--forest);color:var(--cream)}
.registeruz-index-meta a{color:var(--lime);font-weight:700}
.registeruz-index-nav{margin-bottom:var(--space-7);display:flex;flex-wrap:wrap;gap:var(--space-2)}
.registeruz-index-nav a{padding:.45rem .65rem;border:.1rem solid var(--forest);font-size:.72rem;font-weight:700;text-decoration:none}
.registeruz-index-nav a:hover{background:var(--forest);color:var(--cream)}
.registeruz-scope{margin-top:var(--space-6)}.registeruz-scope h3{margin:0 0 var(--space-3);font-size:1.25rem}.registeruz-type{margin:var(--space-4) 0}.registeruz-type h4{margin:0 0 var(--space-2);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}
.registeruz-document-list{margin:0;padding:0;list-style:none;border-top:.1rem solid var(--line)}.registeruz-document-list li{padding:var(--space-3) 0;display:grid;grid-template-columns:minmax(14rem,1fr) minmax(12rem,.75fr);gap:var(--space-2) var(--space-4);border-bottom:.1rem solid var(--line)}.registeruz-document-list a{overflow-wrap:anywhere;font-weight:700}.registeruz-document-meta{display:flex;flex-wrap:wrap;gap:var(--space-2);color:var(--ink-soft);font:normal .7rem/1.45 var(--mono)}.registeruz-document-meta code{overflow-wrap:anywhere}.registeruz-official{justify-self:end;font-size:.72rem}
@media(max-width:760px){.registeruz-document-list li{grid-template-columns:1fr}.registeruz-official{justify-self:start}}
.accounting-audit-path{margin:var(--space-3) 0 0;color:var(--ink-soft);font-size:.7rem;overflow-wrap:anywhere}.accounting-audit-path code{font-size:inherit}

/* Predbežné rozpočtové údaje z výročnej správy. */
.year-button.is-partial{position:relative;border-color:var(--rust);color:var(--rust)}
.year-button.is-partial::after{content:"";position:absolute;top:.28rem;right:.28rem;width:.38rem;height:.38rem;transform:rotate(45deg);background:currentColor}
.status-partial,.badge.partial{color:var(--rust);border-color:var(--rust);background:#fff5df}
.status-partial svg{width:1rem;height:1rem;flex:0 0 auto}
.partial-source-warning{margin:0 0 var(--space-5);padding:var(--space-4) var(--space-5);display:grid;grid-template-columns:auto 1fr;gap:var(--space-2) var(--space-3);align-items:center;border:.1rem solid var(--rust);border-left:.4rem solid var(--rust);background:#fff5df;color:var(--ink)}
.partial-source-warning>svg{grid-row:1/3;width:1.35rem;height:1.35rem;color:var(--rust)}
.partial-source-warning>strong{font-family:var(--serif);font-size:clamp(1rem,2vw,1.25rem)}
.partial-source-warning>p{grid-column:2;margin:0;color:var(--ink-soft);font-size:.78rem}
.partial-source-links a{font-weight:700}
.partial-source-chip{width:max-content;margin-top:auto;padding:var(--space-1) var(--space-2);display:block;border:.1rem solid var(--rust);background:var(--paper-deep);color:var(--rust);font-size:.62rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.has-partial-data .trend-summary,.has-partial-data .budget-card,.has-partial-data .utilization-card,.has-partial-data .source-integrity,.has-partial-data .surplus-section,.has-partial-data .composition-grid>article,.has-partial-data .investment-card{box-shadow:inset 0 -.2rem 0 var(--paper-deep)}
.flow-step .partial-source-chip{grid-row:3;margin-top:var(--space-2);font-size:.52rem}
.chart-year-partial{fill:var(--rust);font-weight:800}
.chart-point.is-partial,.budget-point.is-partial,.capital-fulfillment-point.is-partial,.reserve-closing-point.is-partial,.accounting-point.is-partial{fill:var(--cream);stroke:var(--rust);stroke-width:3;stroke-dasharray:3 2}
.history-segment.is-partial,.capital-bar.is-partial{stroke:var(--rust);stroke-width:2;stroke-dasharray:3 2}
@media(max-width:540px){.partial-source-warning{grid-template-columns:1fr}.partial-source-warning>svg{grid-row:auto}.partial-source-warning>p{grid-column:1}}
.chart-grid{stroke:var(--line);stroke-width:1}.chart-zero-line,.capital-zero-line,.reserve-zero-line,.accounting-zero-line{stroke:var(--ink);stroke-width:1.5}.chart-line,.budget-line,.capital-fulfillment-line,.reserve-closing-line,.accounting-line{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.chart-point,.budget-point,.capital-fulfillment-point,.reserve-closing-point,.accounting-point{vector-effect:non-scaling-stroke}.trend-selected-band,.budget-selected-band,.history-selected-band,.capital-selected-band,.accounting-selected-band{fill:var(--lime);fill-opacity:.16;stroke:var(--line);stroke-width:1}.capital-bar,.history-segment,.reserve-movement-bar{rx:var(--radius-sm);ry:var(--radius-sm)}

/* Dashboard view themes. The controller selects one registry entry and CSS owns presentation. */
body[data-dashboard-view="desktop-compact"]{
  --page:min(86rem,calc(100% - 2rem));
  --space-5:1.25rem;
  --space-6:1.75rem;
  --space-7:2.5rem;
  --space-8:3.25rem;
  --space-9:4.5rem;
  line-height:1.45;
}
body[data-dashboard-view="desktop-compact"] .masthead{padding:var(--space-4) 0}
body[data-dashboard-view="desktop-compact"] .hero{min-height:28rem;padding:var(--space-8) 0;gap:var(--space-6)}
body[data-dashboard-view="desktop-compact"] .hero h1{font-size:clamp(3.2rem,5vw,5.5rem)}
body[data-dashboard-view="desktop-compact"] .year-dock,
body[data-dashboard-view="desktop-compact"] footer{padding-right:max(var(--space-4),calc((100% - 86rem)/2));padding-left:max(var(--space-4),calc((100% - 86rem)/2))}
body[data-dashboard-view="desktop-compact"] .chapter-tint,
body[data-dashboard-view="desktop-compact"] .chapter-dark{padding-right:max(var(--space-4),calc((100% - 86rem)/2));padding-left:max(var(--space-4),calc((100% - 86rem)/2))}
body[data-dashboard-view="desktop-compact"] .chapter{padding-block:var(--space-8)}
body[data-dashboard-view="desktop-compact"] .chapter-heading{gap:var(--space-6);margin-bottom:var(--space-6)}
body[data-dashboard-view="desktop-compact"] .chapter-heading h2{font-size:clamp(2.25rem,3.6vw,3.75rem)}
body[data-dashboard-view="desktop-compact"] .trend-panel{grid-template-columns:10.5rem minmax(0,1fr);gap:var(--space-4)}
body[data-dashboard-view="desktop-compact"] .trend-summary,
body[data-dashboard-view="desktop-compact"] .budget-card,
body[data-dashboard-view="desktop-compact"] .history-panel,
body[data-dashboard-view="desktop-compact"] .accounting-summary article,
body[data-dashboard-view="desktop-compact"] .accounting-sources{padding:var(--space-4)}
body[data-dashboard-view="desktop-compact"] .budget-grid,
body[data-dashboard-view="desktop-compact"] .composition-grid{gap:var(--space-5)}
body[data-dashboard-view="desktop-compact"] .selected-year-line,
body[data-dashboard-view="desktop-compact"] .project-total{margin-bottom:var(--space-5)}
body[data-dashboard-view="desktop-compact"] .history-panel,
body[data-dashboard-view="desktop-compact"] .functional-history{margin-bottom:var(--space-6)}
body[data-dashboard-view="desktop-compact"] .flow-step{min-height:6rem;padding:var(--space-3)}
body[data-dashboard-view="desktop-compact"] .accounting-summary article{min-height:7rem}
body[data-dashboard-view="desktop-compact"] .methodology{padding:var(--space-8) 0;gap:var(--space-7)}

body[data-dashboard-view="phone-minimal"]{
  --page:calc(100% - 1rem);
  --space-5:1.125rem;
  --space-6:1.5rem;
  --space-7:2.75rem;
  --space-8:3rem;
  --space-9:3.5rem;
  line-height:1.45;
}
body[data-dashboard-view="phone-minimal"] .masthead{padding:.75rem 0;gap:.75rem}
body[data-dashboard-view="phone-minimal"] .wordmark{font-size:1.1rem}
body[data-dashboard-view="phone-minimal"] .wordmark-kicker{display:none}
body[data-dashboard-view="phone-minimal"] .masthead .municipality-switch{width:100%;margin:.25rem 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
body[data-dashboard-view="phone-minimal"] .municipality-switch a{min-height:2.75rem;justify-content:center}
body[data-dashboard-view="phone-minimal"] .hero{padding:2.25rem 0 2rem;gap:var(--space-5)}
body[data-dashboard-view="phone-minimal"] .hero .eyebrow{display:none}
body[data-dashboard-view="phone-minimal"] .chapter-tint,
body[data-dashboard-view="phone-minimal"] .chapter-dark{padding-right:.5rem;padding-left:.5rem}
body[data-dashboard-view="phone-minimal"] .hero h1{margin-bottom:var(--space-4);font-size:clamp(2.55rem,12vw,3.75rem);line-height:.96}
body[data-dashboard-view="phone-minimal"] .hero .dek{font-size:1rem;line-height:1.45}
body[data-dashboard-view="phone-minimal"] .hero-figure{padding:var(--space-3) 0;gap:var(--space-1)}
body[data-dashboard-view="phone-minimal"] .hero-number{font-size:2rem}
body[data-dashboard-view="phone-minimal"] .year-dock{padding:.5rem;gap:.375rem;box-shadow:0 .25rem .75rem rgb(23 34 28/.1)}
body[data-dashboard-view="phone-minimal"] .dock-intro{gap:0}
body[data-dashboard-view="phone-minimal"] .dock-claim{display:none}
body[data-dashboard-view="phone-minimal"] .year-dock .dock-intro .eyebrow{font-size:.6rem}
body[data-dashboard-view="phone-minimal"] .global-controls{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.375rem}
body[data-dashboard-view="phone-minimal"] .year-button,
body[data-dashboard-view="phone-minimal"] .inflation-switch,
body[data-dashboard-view="phone-minimal"] .toc-toggle{min-height:2.75rem}
body[data-dashboard-view="phone-minimal"] .year-button{min-width:2.75rem;padding:.25rem .5rem}
body[data-dashboard-view="phone-minimal"] .inflation-switch{padding:.25rem}
body[data-dashboard-view="phone-minimal"] .inflation-switch>span:last-child,
body[data-dashboard-view="phone-minimal"] .toc-current{display:none}
body[data-dashboard-view="phone-minimal"] .toc-toggle{width:2.75rem;padding:.5rem;display:grid;grid-template-columns:1fr}
body[data-dashboard-view="phone-minimal"] .toc-chevron{text-align:center}
body[data-dashboard-view="phone-minimal"] .chapter{padding-block:2.5rem}
body[data-dashboard-view="phone-minimal"] .chapter-heading{gap:var(--space-4);margin-bottom:var(--space-5)}
body[data-dashboard-view="phone-minimal"] .chapter-heading h2{font-size:clamp(2rem,10vw,2.8rem)}
body[data-dashboard-view="phone-minimal"] .chapter-heading>p{font-size:.95rem;line-height:1.45}
body[data-dashboard-view="phone-minimal"] .chapter-number{margin-bottom:var(--space-2)}
body[data-dashboard-view="phone-minimal"] .trend-summary,
body[data-dashboard-view="phone-minimal"] .budget-card,
body[data-dashboard-view="phone-minimal"] .history-panel,
body[data-dashboard-view="phone-minimal"] .actual-comparison,
body[data-dashboard-view="phone-minimal"] .accounting-summary article,
body[data-dashboard-view="phone-minimal"] .accounting-sources,
body[data-dashboard-view="phone-minimal"] .supplemental-warning,
body[data-dashboard-view="phone-minimal"] .supplemental-calculations,
body[data-dashboard-view="phone-minimal"] .supplemental-capital{padding:var(--space-4)}
body[data-dashboard-view="phone-minimal"] .budget-card,
body[data-dashboard-view="phone-minimal"] .history-panel,
body[data-dashboard-view="phone-minimal"] .supplemental-budget{box-shadow:none}
body[data-dashboard-view="phone-minimal"] .history-panel,
body[data-dashboard-view="phone-minimal"] .functional-history{margin-bottom:var(--space-5)}
body[data-dashboard-view="phone-minimal"] .selected-year-line,
body[data-dashboard-view="phone-minimal"] .project-total{margin-bottom:var(--space-5);padding:var(--space-2) 0;gap:var(--space-2)}
body[data-dashboard-view="phone-minimal"] .selected-year-line>strong{font-size:1.5rem}
body[data-dashboard-view="phone-minimal"] .section-label{margin-bottom:var(--space-4)}
body[data-dashboard-view="phone-minimal"] .metric-list>div,
body[data-dashboard-view="phone-minimal"] .ledger-row{padding:var(--space-2) 0}
body[data-dashboard-view="phone-minimal"] .school-list,
body[data-dashboard-view="phone-minimal"] .revenue-legend,
body[data-dashboard-view="phone-minimal"] .economic-cards,
body[data-dashboard-view="phone-minimal"] .investment-summary,
body[data-dashboard-view="phone-minimal"] .debt-grid{grid-template-columns:1fr}
body[data-dashboard-view="phone-minimal"] .chart-legend button,
body[data-dashboard-view="phone-minimal"] .history-legend button,
body[data-dashboard-view="phone-minimal"] .functional-view-switch button,
body[data-dashboard-view="phone-minimal"] .accounting-scope-switch button,
body[data-dashboard-view="phone-minimal"] summary{min-height:2.75rem}
body[data-dashboard-view="phone-minimal"] .chart-unit{display:none}
body[data-dashboard-view="phone-minimal"] .chart-caveat,
body[data-dashboard-view="phone-minimal"] .history-note,
body[data-dashboard-view="phone-minimal"] .data-note{font-size:.78rem}
body[data-dashboard-view="phone-minimal"] .methodology{padding:2.5rem 0;gap:var(--space-5)}
body[data-dashboard-view="phone-minimal"] footer{padding:var(--space-5) .5rem}

/* Shared dubova.online brand lockup. */
.wordmark{max-width:100%;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--space-3)}
.wordmark-mark{width:var(--space-7);height:var(--space-7);display:grid;place-items:center;background:var(--forest);color:var(--lime);font-family:var(--serif);font-size:1.5rem;font-weight:700;line-height:1}
.wordmark-copy{min-width:0;display:grid;gap:var(--space-1)}
.wordmark-copy>strong{font-family:var(--serif);font-size:1.35rem;line-height:1}
.wordmark-copy>.wordmark-kicker{display:block;color:var(--rust);line-height:1.25}
.wordmark:hover .wordmark-copy>strong{color:var(--rust)}
body[data-dashboard-view="phone-minimal"] .wordmark-kicker{display:block}
@media(max-width:480px){
  .wordmark-mark{width:var(--space-6);height:var(--space-6);font-size:1.1rem}
  .wordmark-copy>strong{font-size:1.1rem}
}

/* Long-form municipal analysis. */
.article-related-card{width:var(--page);margin:0 auto var(--space-7)}
.article-prose{max-width:52rem;margin-left:auto;font-family:var(--serif);font-size:1.05rem;line-height:1.75}
.article-prose h3{margin:var(--space-6) 0 var(--space-3);font-size:1.45rem;line-height:1.2}
.article-prose p{margin:0 0 var(--space-5)}
.article-evidence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4);margin-bottom:var(--space-7)}
.article-evidence-grid article{min-width:0;padding:var(--space-5);background:var(--cream);border-top:.3rem solid var(--forest)}
.article-evidence-grid article:nth-child(2){border-color:var(--rust)}
.article-evidence-grid article:nth-child(3){border-color:var(--ochre)}
.article-evidence-grid h3{margin:0 0 var(--space-4);font-size:1.25rem}
.article-evidence-grid strong{display:block;margin-bottom:var(--space-3);font-family:var(--mono);font-size:clamp(1.3rem,2.5vw,2rem);overflow-wrap:anywhere}
.article-evidence-grid p{margin:0;color:var(--ink-soft);font-size:.84rem}
.article-action-list{margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);list-style:none;counter-reset:article-action}
.article-action-list li{position:relative;padding:var(--space-6) var(--space-5) var(--space-5);background:var(--cream);border-top:.3rem solid var(--forest);counter-increment:article-action}
.article-action-list li::before{content:counter(article-action,decimal-leading-zero);position:absolute;top:var(--space-3);right:var(--space-4);color:var(--rust);font-family:var(--mono);font-size:.75rem;font-weight:700}
.article-action-list h3{margin:0 0 var(--space-3);padding-right:var(--space-6);font-size:1.3rem}
.article-action-list p{margin:0;color:var(--ink-soft);font-size:.86rem}
@media(max-width:760px){.article-prose{margin-left:0}.article-evidence-grid,.article-action-list{grid-template-columns:1fr}}

footer{flex-wrap:wrap}
footer .ai-disclosure{width:100%;margin:0;color:var(--paper-deep)}

/* Scoped layout for the finance and development analysis. */
body.finance-development-article{--finance-page:min(72rem,calc(100% - 2rem))}
body.finance-development-article .article-hero,
body.finance-development-article .article-toc,
body.finance-development-article .article-section,
body.finance-development-article .article-finding{width:var(--finance-page)}
body.finance-development-article .article-hero{display:block;padding:var(--space-8) 0 var(--space-7)}
body.finance-development-article .article-hero>div{max-width:68rem}
body.finance-development-article .article-hero h1{max-width:20ch;font-size:clamp(2.3rem,5vw,3.5rem);line-height:1.02}
body.finance-development-article .article-lead{max-width:62rem;font-size:clamp(1.08rem,2vw,1.35rem);line-height:1.55}
body.finance-development-article .article-scope{max-width:62rem;margin-top:var(--space-6)}
body.finance-development-article .article-section,
body.finance-development-article .article-finding{padding:var(--space-7) 0}
body.finance-development-article .article-section-heading{display:block;max-width:68rem;margin-bottom:var(--space-6)}
body.finance-development-article .article-section-heading h2,
body.finance-development-article .finding-heading h2,
body.finance-development-article .numbers-dont-say h2{max-width:30ch;margin:var(--space-2) 0 0;font-size:clamp(1.65rem,3vw,2.1rem);line-height:1.12}
body.finance-development-article .article-section-heading>p{max-width:62rem;margin-top:var(--space-4);font-size:1.05rem;line-height:1.6}
body.finance-development-article .article-prose{max-width:64rem;margin-left:0;font-size:1.05rem;line-height:1.75}
body.finance-development-article .article-prose h3{font-size:clamp(1.2rem,2vw,1.4rem)}
body.finance-development-article .money,
body.finance-development-article .number{white-space:nowrap;font-variant-numeric:tabular-nums}
body.finance-development-article .article-comparison{max-width:64rem;margin-top:var(--space-5);padding:var(--space-5);border:.1rem solid color-mix(in srgb,var(--line) 72%,transparent);border-left:.25rem solid var(--ochre);background:color-mix(in srgb,var(--cream) 58%,transparent)}
body.finance-development-article .article-comparison h3{margin:0 0 var(--space-3);font-size:1.3rem}
body.finance-development-article .article-comparison p{margin:0;color:var(--ink-soft);font-family:var(--serif);line-height:1.65}
body.finance-development-article .finding-heading{max-width:68rem}
body.finance-development-article .article-action-list{max-width:68rem}
body.finance-development-article .numbers-dont-say{display:block;padding:var(--space-7) max(var(--space-4),calc((100% - 72rem)/2))}
body.finance-development-article .numbers-dont-say>div{max-width:64rem}
body.finance-development-article .numbers-dont-say>div+div{margin-top:var(--space-5)}
body.finance-development-article .article-definitions>div{display:block;max-width:64rem}
body.finance-development-article .article-definitions dd{margin-top:var(--space-2)}
@media(max-width:760px){
  body.finance-development-article .article-hero{padding-top:var(--space-7)}
  body.finance-development-article .article-section,
  body.finance-development-article .article-finding{padding:var(--space-6) 0}
  body.finance-development-article .article-comparison{padding:var(--space-4)}
}
