/* Release v9 UX hardening: dense budget explorer, stable year navigation and debt context. */
.year-rail{display:flex;flex-wrap:wrap;gap:7px;width:100%;padding-top:12px;margin-top:2px;border-top:1px solid rgba(17,20,22,.09)}
.year-chip{display:inline-flex;align-items:center;justify-content:center;min-width:58px;min-height:36px;padding:0 12px;border:1px solid rgba(17,20,22,.14);border-radius:999px;background:rgba(255,255,255,.72);color:#15181a;font-size:13px;font-weight:800;text-decoration:none;transition:transform .15s ease,border-color .15s ease,background .15s ease}.year-chip:hover,.year-chip:focus-visible{transform:translateY(-1px);border-color:#6c50c5;outline:none}.year-chip.active{background:#111416;color:#fff;border-color:#111416}
.flow-viewport{overflow:visible!important;padding:0!important}.enhanced-flow{position:relative;min-height:640px;padding:18px 20px 28px;background:linear-gradient(90deg,rgba(73,181,159,.035),transparent 35%,transparent 65%,rgba(181,18,71,.035)),#fbfaf7;overflow:hidden}.ef-toolbar{position:relative;z-index:3;display:flex;gap:18px;justify-content:space-between;align-items:flex-start;margin-bottom:18px;padding:14px 16px;border:1px solid rgba(17,20,22,.09);border-radius:16px;background:rgba(255,255,255,.88);box-shadow:0 12px 32px rgba(25,27,29,.06)}.ef-toolbar>div:first-child{display:grid;gap:4px;max-width:850px}.ef-toolbar strong{font-size:15px}.ef-toolbar span{color:#656568;font-size:12px;line-height:1.45}.ef-toggle{display:inline-flex;flex:0 0 auto;padding:3px;border-radius:999px;background:#eeece8}.ef-toggle button{border:0;border-radius:999px;padding:8px 11px;background:transparent;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.ef-toggle button.active{background:#fff;box-shadow:0 2px 10px rgba(17,20,22,.08)}
.ef-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(230px,.95fr) minmax(220px,.78fr) minmax(260px,1.05fr);gap:clamp(34px,4vw,74px);align-items:center}.ef-column{align-self:stretch;display:flex;flex-direction:column;min-width:0}.ef-column-title{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:10px;padding:0 3px}.ef-column-title span{font-weight:900;font-size:12px;letter-spacing:.06em;text-transform:uppercase}.ef-column-title small{color:#85858a;font-size:10px}.ef-node-list{display:grid;gap:8px;align-content:center;height:100%}.ef-node{position:relative;z-index:2;display:grid;gap:2px;width:100%;min-height:64px;padding:10px 12px 12px;border:1px solid rgba(17,20,22,.12);border-radius:13px;background:rgba(255,255,255,.94);color:#17191b;font:inherit;text-align:left;text-decoration:none;cursor:default;overflow:hidden;box-shadow:0 7px 20px rgba(17,20,22,.035);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}button.ef-target[data-action="open-item"]{cursor:pointer}button.ef-target[data-action="open-item"]:hover,button.ef-target[data-action="open-item"]:focus-visible,.ef-more:hover,.ef-more:focus-visible{transform:translateX(-2px);border-color:rgba(181,18,71,.42);box-shadow:0 10px 26px rgba(181,18,71,.1);outline:none}.ef-source:hover,.ef-source:focus-visible{transform:translateX(2px);border-color:rgba(27,139,121,.4);outline:none}.ef-node i{position:absolute;z-index:-1;inset:auto 0 0 0;height:5px;background:rgba(181,18,71,.18);transform-origin:left center;transform:scaleX(var(--share))}.ef-source i{background:rgba(27,139,121,.24)}.ef-node-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.ef-node-name{font-size:12.5px;line-height:1.22;font-weight:850}.ef-node strong{margin-top:1px;font-size:16px;letter-spacing:-.02em}.ef-node small{color:#7b7b80;font-size:10px}.ef-badge{flex:0 0 auto;padding:2px 6px;border-radius:999px;background:#f3e0e7;color:#9e123d;font-size:8px;line-height:1.3;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.ef-badge.official{background:#def1ec;color:#146e5e}
.ef-center-wrap{display:flex;align-items:center;justify-content:center;min-height:300px}.ef-center-card{width:min(100%,310px);padding:22px 20px;border-radius:18px;background:#111416;color:#fff;box-shadow:0 26px 70px rgba(17,20,22,.18)}.ef-center-card>span{display:block;margin-bottom:5px;color:#c7c5c1;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.ef-center-card>strong{display:block;font-size:15px;line-height:1.25}.ef-center-card>b{display:block;margin-top:8px;font-size:clamp(24px,2.2vw,34px);letter-spacing:-.04em}.ef-center-card>small{display:block;margin-top:5px;color:#d4d0ca;font-size:10px}.ef-connections{position:absolute;z-index:1;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.ef-path{fill:none;stroke-linecap:round;opacity:.25;transition:opacity .15s ease,filter .15s ease}.ef-path.source{stroke:#64c6b2}.ef-path.target{stroke:#ad3156}.enhanced-flow.has-flow-hover .ef-path{opacity:.07}.enhanced-flow.has-flow-hover .ef-path.active{opacity:.64;filter:drop-shadow(0 4px 7px rgba(17,20,22,.12))}.ef-more{border-style:dashed;cursor:pointer}.vps-explainer{margin:0 18px 14px;padding:14px 16px;border:1px solid #d8d0e9;border-radius:14px;background:#f4f0fb}.vps-explainer strong{font-size:13px}.vps-explainer p{margin:5px 0 0;color:#5f5969;font-size:12px;line-height:1.5}
.live-model-pill{display:inline-flex;align-items:center;gap:7px;width:max-content;margin-bottom:8px;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.11);color:#fff;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.live-model-pill i{width:7px;height:7px;border-radius:50%;background:#91e2c8;box-shadow:0 0 0 0 rgba(145,226,200,.55);animation:livePulse 1.8s infinite}@keyframes livePulse{0%{box-shadow:0 0 0 0 rgba(145,226,200,.5)}70%{box-shadow:0 0 0 7px rgba(145,226,200,0)}100%{box-shadow:0 0 0 0 rgba(145,226,200,0)}}.debt-counter{font-variant-numeric:tabular-nums;white-space:nowrap}.enhanced-debt-chart{width:100%;min-height:390px;overflow:visible}.debt-grid-line{stroke:rgba(17,20,22,.1);stroke-width:1}.debt-axis-label,.debt-year-label,.debt-chart-legend text,.government-axis-title{fill:#777477;font-size:11px;font-family:inherit}.debt-axis-title{fill:#3c3b3f;font-size:11px;font-weight:900;font-family:inherit}.debt-axis-title.ratio,.debt-axis-label.ratio{fill:#9f244a}.debt-main-line{fill:none;stroke:#6c50c5;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.debt-ratio-line{fill:none;stroke:#b51247;stroke-width:2.5;stroke-dasharray:8 6;stroke-linecap:round;stroke-linejoin:round}.debt-point{fill:#fff;stroke:#6c50c5;stroke-width:2.5}.gov-band rect{fill:rgba(17,20,22,.065);stroke:rgba(17,20,22,.08)}.gov-band:nth-of-type(2n) rect{fill:rgba(108,80,197,.1)}.gov-band text{fill:#29272d;font-size:11px;font-weight:850;font-family:inherit}
@media(max-width:1100px){.ef-grid{grid-template-columns:minmax(210px,.9fr) minmax(185px,.7fr) minmax(230px,1fr);gap:28px}.ef-connections{opacity:.75}}@media(max-width:820px){.ef-toolbar{flex-direction:column}.ef-grid{grid-template-columns:1fr;gap:18px}.ef-center-wrap{min-height:auto;order:-1}.ef-center-card{width:100%;max-width:none}.ef-connections{display:none}.ef-node-list{grid-template-columns:repeat(2,minmax(0,1fr))}.debt-counter{white-space:normal;overflow-wrap:anywhere}}@media(max-width:560px){.enhanced-flow{padding:12px}.ef-node-list{grid-template-columns:1fr}.ef-toggle{width:100%}.ef-toggle button{flex:1}.year-rail{gap:5px}.year-chip{min-width:52px;padding:0 8px}.enhanced-debt-chart{min-height:340px}}
