.forecast-app{--sans:"Instrument Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--mono:"Geist Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;--bg:#ffffff;--bg2:#f5f5f7;--card:#f5f5f7;--ink:#1d1d1f;--ink2:#6a6a70;--line:#d2d2d7;--line-soft:#e8e8ed;--line-card:#dcdce1;--grid:#d2d2d7;--accent:#0066cc;--track:#dfdfe4;--seg:#ececf0;--seg-on:#ffffff;--seg-hover:rgba(0,0,0,.05);--shadow:rgba(0,0,0,.16);--tip:#1d1d1f;--tip-ink:#f5f5f7;--good:#1c7c2f;--warn:#c77700;--bad:#c2331f;--on-light:#141416;--on-dark:#ffffff;--na:#dcdce2;--nav:rgba(255,255,255,.8);--l1:#dfeafa;--l1-ink:#16365f;--h1:#fdf1e3;--h2:#fbdcb8;--h3:#f7bd88;--h4:#f0975a;--h5:#e06c3c;--h6:#bd4229;--h7:#86211c;--v1:#1c5cab;--v2:#5598e7;--v3:#b7d3f6;--v4:#e9e8e4;--v5:#f5c0b0;--v6:#e3694f;--v7:#a8201b;--s0:#e6e6ea;--s1:#cde2fb;--s2:#6da7ec;--s3:#1c5cab;--tn:#e9edf2;--tn-ink:#3a3f47;--te:#f7bd88;--te-ink:#4a2506;--th:#bd4229;--th-ink:#ffffff;--f1:#5598e7;--f1-ink:#0c1f38;--f2:#c9ccd3;--f2-ink:#1d1d1f;--f3:#e06c3c;--f3-ink:#ffffff;--f4:#86211c;--f4-ink:#ffffff}
@media  (prefers-color-scheme:dark){.forecast-app:not([data-theme="light"]){--bg:#000000;--bg2:#101012;--card:#1c1c1e;--ink:#f5f5f7;--ink2:#a1a1a6;--line:#38383a;--line-soft:#232325;--line-card:#343437;--grid:#3a3a3c;--accent:#2997ff;--track:#3a3a3c;--seg:#1c1c1e;--seg-on:#48484a;--seg-hover:rgba(255,255,255,.07);--shadow:rgba(0,0,0,.6);--tip:#f5f5f7;--tip-ink:#1d1d1f;--good:#4cc765;--warn:#f0a63a;--bad:#ff6a55;--on-light:#141416;--on-dark:#ffffff;--na:#3a3a3c;--nav:rgba(0,0,0,.72);--l1:#1d3350;--l1-ink:#cfe2fb;--h1:#2b2729;--h2:#48292a;--h3:#6b2d2b;--h4:#942f2a;--h5:#c0432b;--h6:#e4692f;--h7:#fb9c4d;--v1:#6da7ec;--v2:#2f6fbd;--v3:#1d416f;--v4:#3a3a3c;--v5:#6f2f2b;--v6:#bb473b;--v7:#f2745f;--s0:#2c2c2e;--s1:#1d416f;--s2:#2f6fbd;--s3:#6da7ec;--tn:#25282e;--tn-ink:#c7cbd3;--te:#a35a22;--te-ink:#fff1e2;--th:#e0553a;--th-ink:#ffffff;--f1:#2f6fbd;--f1-ink:#ffffff;--f2:#48484a;--f2-ink:#f5f5f7;--f3:#c0432b;--f3-ink:#ffffff;--f4:#fb9c4d;--f4-ink:#141416;color-scheme:dark}}
.forecast-app[data-theme="dark"]{--bg:#000000;--bg2:#101012;--card:#1c1c1e;--ink:#f5f5f7;--ink2:#a1a1a6;--line:#38383a;--line-soft:#232325;--line-card:#343437;--grid:#3a3a3c;--accent:#2997ff;--track:#3a3a3c;--seg:#1c1c1e;--seg-on:#48484a;--seg-hover:rgba(255,255,255,.07);--shadow:rgba(0,0,0,.6);--tip:#f5f5f7;--tip-ink:#1d1d1f;--good:#4cc765;--warn:#f0a63a;--bad:#ff6a55;--on-light:#141416;--on-dark:#ffffff;--na:#3a3a3c;--nav:rgba(0,0,0,.72);--l1:#1d3350;--l1-ink:#cfe2fb;--h1:#2b2729;--h2:#48292a;--h3:#6b2d2b;--h4:#942f2a;--h5:#c0432b;--h6:#e4692f;--h7:#fb9c4d;--v1:#6da7ec;--v2:#2f6fbd;--v3:#1d416f;--v4:#3a3a3c;--v5:#6f2f2b;--v6:#bb473b;--v7:#f2745f;--s0:#2c2c2e;--s1:#1d416f;--s2:#2f6fbd;--s3:#6da7ec;--tn:#25282e;--tn-ink:#c7cbd3;--te:#a35a22;--te-ink:#fff1e2;--th:#e0553a;--th-ink:#ffffff;--f1:#2f6fbd;--f1-ink:#ffffff;--f2:#48484a;--f2-ink:#f5f5f7;--f3:#c0432b;--f3-ink:#ffffff;--f4:#fb9c4d;--f4-ink:#141416;color-scheme:dark}
.forecast-app *{box-sizing:border-box}
.forecast-app{-webkit-text-size-adjust:100%}
.forecast-app{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased}
.forecast-app a{color:var(--accent);text-decoration:none}
.forecast-app a:hover{text-decoration:underline}
.forecast-app :focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}
.forecast-app h1,.forecast-app h2,.forecast-app h3,.forecast-app p,.forecast-app ul,.forecast-app ol,.forecast-app dl,.forecast-app dd,.forecast-app figure{margin:0}
.forecast-app ul,.forecast-app ol{padding:0;list-style:none}
.forecast-app .band{padding-block:clamp(48px,7vw,88px)}
.forecast-app .band.alt{background:var(--bg2)}
.forecast-app .wrap{max-width:1200px;margin-inline:auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.forecast-app .stack{display:flex;flex-direction:column;gap:var(--g,24px)}
.forecast-app .mono{font-family:var(--mono);font-size:.75rem;letter-spacing:.01em;font-variant-numeric:tabular-nums}
.forecast-app .quiet{color:var(--ink2)}
.forecast-app .small{font-size:.875rem;line-height:1.45}
.forecast-app h2{font-size:clamp(1.75rem,3.4vw,2.625rem);line-height:1.1;letter-spacing:-.022em;font-weight:600;text-wrap:balance}
.forecast-app h3{font-size:1.1875rem;line-height:1.25;letter-spacing:-.012em;font-weight:600;text-wrap:balance}
.forecast-app .intro{max-width:44rem;display:flex;flex-direction:column;gap:12px}
.forecast-app .intro p{color:var(--ink2);font-size:1.125rem;line-height:1.45}
.forecast-app .src{font-size:.8125rem;line-height:1.5;color:var(--ink2)}
.forecast-app .hero{padding-block:clamp(28px,4vw,52px) clamp(16px,2vw,24px)}
.forecast-app .hero h1{font-size:clamp(2rem,4.2vw,3.5rem);line-height:1.06;letter-spacing:-.03em;font-weight:600;max-width:23em;text-wrap:balance}
.forecast-app .hero .lede{font-size:clamp(1.0625rem,1.4vw,1.1875rem);line-height:1.42;color:var(--ink2);max-width:46em;letter-spacing:-.006em}
.forecast-app .seg-scroll{overflow-x:auto;scrollbar-width:none;margin-inline:-4px;padding:4px}
.forecast-app .seg-scroll::-webkit-scrollbar{display:none}
.forecast-app .seg{display:inline-flex;gap:2px;padding:3px;background:var(--seg);border-radius:12px;min-width:max-content}
.forecast-app .seg button{appearance:none;border:0;background:transparent;color:var(--ink);font:500 .875rem/1 var(--sans);padding:10px 14px;border-radius:9px;cursor:pointer;white-space:nowrap}
.forecast-app .seg button[aria-selected="true"]{background:var(--seg-on);box-shadow:0 1px 3px var(--shadow)}
.forecast-app .seg button:hover:not([aria-selected="true"]){background:var(--seg-hover)}
.forecast-app .atlas{display:grid;grid-template-columns:minmax(0,1fr) 352px;gap:clamp(20px,3vw,40px);align-items:start}
.forecast-app .atlas-main{min-width:0;display:flex;flex-direction:column;gap:20px}
.forecast-app .layer-head{display:flex;flex-direction:column;gap:6px;max-width:46rem}
.forecast-app .layer-head h2{font-size:1.5rem;letter-spacing:-.018em}
.forecast-app .layer-head p{color:var(--ink2);font-size:.9375rem;line-height:1.45}
.forecast-app .mapbox{position:relative}
.forecast-app #map{display:block;width:100%;height:auto;touch-action:manipulation}
.forecast-app #map path.st{stroke:var(--bg);stroke-width:.9;stroke-linejoin:round;cursor:pointer;transition:fill .28s ease}
.forecast-app #map path.st:focus{outline:none}
.forecast-app #map .ring{fill:none;pointer-events:none;stroke-linejoin:round}
.forecast-app #ring-sel{stroke:var(--ink);stroke-width:2.2}
.forecast-app #ring-hov{stroke:var(--ink);stroke-width:1.2;opacity:.7}
.forecast-app #map text{font:600 12.5px var(--sans);text-anchor:middle;dominant-baseline:central;pointer-events:none;transition:fill .28s ease}
.forecast-app .tip{position:absolute;pointer-events:none;background:var(--tip);color:var(--tip-ink);border-radius:10px;padding:8px 11px;box-shadow:0 6px 22px var(--shadow);font-size:.8125rem;line-height:1.3;white-space:nowrap;z-index:5}
.forecast-app .tip b{display:block;font-size:.9375rem;font-weight:600}
.forecast-app .legend-row{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:flex-end;justify-content:space-between}
.forecast-app .legend{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1 1 320px;max-width:520px}
.forecast-app .scale{display:flex;gap:2px}
.forecast-app .scale i{flex:1;height:10px;display:block}
.forecast-app .scale i:first-child{border-radius:5px 0 0 5px}
.forecast-app .scale i:last-child{border-radius:0 5px 5px 0}
.forecast-app .scale-labels{display:flex;gap:2px}
.forecast-app .scale-labels span{flex:1;min-width:0;font-family:var(--mono);font-size:.6875rem;color:var(--ink2);font-variant-numeric:tabular-nums}
.forecast-app .keyrow{display:flex;flex-wrap:wrap;gap:6px 16px}
.forecast-app .keyrow span{display:inline-flex;gap:7px;align-items:center;font-size:.8125rem;color:var(--ink2)}
.forecast-app .keyrow i{width:12px;height:12px;border-radius:3px;display:block;flex:none}
.forecast-app .legend-unit{font-size:.8125rem;color:var(--ink2)}
.forecast-app .chips{display:flex;flex-direction:column;gap:6px}
.forecast-app .chips .row{display:flex;flex-wrap:wrap;gap:4px}
.forecast-app .chips button{appearance:none;border:0;width:36px;height:30px;border-radius:7px;font:600 .75rem/1 var(--sans);cursor:pointer;transition:background-color .28s ease,color .28s ease}
.forecast-app .chips button[aria-pressed="true"]{outline:2px solid var(--ink);outline-offset:1px}
.forecast-app .ranks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 32px}
.forecast-app .ranks h3{font-size:.9375rem;margin-bottom:6px}
.forecast-app .ranks button{appearance:none;border:0;border-top:1px solid var(--line);background:transparent;color:var(--ink);width:100%;display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 0;font:inherit;font-size:.9375rem;text-align:left;cursor:pointer}
.forecast-app .ranks button:hover .nm{color:var(--accent)}
.forecast-app .ranks i{width:12px;height:12px;border-radius:3px;display:block}
.forecast-app .ranks .val{font-size:.8125rem;color:var(--ink2);font-variant-numeric:tabular-nums;white-space:nowrap}
.forecast-app .weights{border-top:1px solid var(--line);padding-top:18px;display:flex;flex-direction:column;gap:14px}
.forecast-app .weights-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.forecast-app .weights-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 32px}
.forecast-app .weights label{display:flex;justify-content:space-between;gap:8px;font-size:.875rem;margin-bottom:4px}
.forecast-app .weights label span:last-child{color:var(--ink2);font-variant-numeric:tabular-nums}
.forecast-app .weights input[type=range]{width:100%;accent-color:var(--accent);display:block}
.forecast-app .textbtn{appearance:none;border:0;background:transparent;color:var(--accent);font:500 .875rem var(--sans);cursor:pointer;padding:4px 0}
.forecast-app .panel{background:var(--card);border-radius:20px;padding:22px;display:flex;flex-direction:column;gap:18px;position:sticky;top:calc(16px + env(safe-area-inset-top,0px));min-width:0}
.forecast-app .panel select{appearance:none;width:100%;border:0;background:transparent;color:var(--ink);font:600 1.625rem/1.15 var(--sans);letter-spacing:-.02em;padding:0 26px 0 0;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--ink2) 50%),linear-gradient(135deg,var(--ink2) 50%,transparent 50%);background-position:calc(100% - 13px) 55%,calc(100% - 7px) 55%;background-size:6px 6px;background-repeat:no-repeat;text-overflow:ellipsis}
.forecast-app .panel-sub{font-size:.875rem;color:var(--ink2);margin-top:4px}
.forecast-app .badge{display:inline-flex;align-items:center;gap:7px;font-size:.8125rem;font-weight:500}
.forecast-app .badge i{width:9px;height:9px;border-radius:50%;display:block;flex:none}
.forecast-app .meter{display:flex;flex-direction:column;gap:5px}
.forecast-app .meter-top{display:flex;justify-content:space-between;gap:12px;font-size:.875rem;align-items:baseline}
.forecast-app .meter-top span:first-child{color:var(--ink2);flex:none}
.forecast-app .meter-top span:last-child{text-align:right;font-weight:500}
.forecast-app .bar{height:5px;background:var(--track);border-radius:3px;overflow:hidden}
.forecast-app .bar i{display:block;height:100%;background:var(--ink);border-radius:3px;transition:width .3s ease}
.forecast-app .tiers{display:grid;grid-template-columns:repeat(5,1fr);gap:2px}
.forecast-app .tiers div{font-family:var(--mono);font-size:.6875rem;text-align:center;padding:6px 0;border-radius:4px}
.forecast-app .tn{background:var(--tn);color:var(--tn-ink)}
.forecast-app .te{background:var(--te);color:var(--te-ink)}
.forecast-app .th{background:var(--th);color:var(--th-ink)}
.forecast-app .minibars{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;align-items:end;height:92px}
.forecast-app .minibars div{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;gap:4px;min-width:0}
.forecast-app .minibars b{font-weight:500;font-size:.75rem;font-variant-numeric:tabular-nums}
.forecast-app .minibars i{display:block;width:100%;max-width:38px;background:var(--ink);opacity:.8;border-radius:4px 4px 0 0;min-height:2px}
.forecast-app .minibars span{font-family:var(--mono);font-size:.6875rem;color:var(--ink2)}
.forecast-app .tests{display:flex;flex-direction:column;gap:6px;font-size:.875rem}
.forecast-app .tests li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:8px;align-items:baseline}
.forecast-app .tests b{font-size:.75rem;font-weight:600}
.forecast-app .pass{color:var(--good)}
.forecast-app .miss{color:var(--bad)}
.forecast-app .panel-sec{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--line-card);padding-top:14px}
.forecast-app .panel-sec h3{font-size:.8125rem;font-weight:600;letter-spacing:0;color:var(--ink2)}
.forecast-app .panel-note{font-size:.9375rem;line-height:1.42}
.forecast-app details.table-wrap summary{cursor:pointer;color:var(--accent);font-weight:500;font-size:.9375rem;padding:6px 0}
.forecast-app .tscroll{overflow-x:auto;margin-top:10px}
.forecast-app table{border-collapse:collapse;width:100%;font-size:.875rem;font-variant-numeric:tabular-nums}
.forecast-app th{text-align:right;font-weight:600;padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap;font-size:.8125rem}
.forecast-app th:first-child,.forecast-app td:first-child{text-align:left;padding-left:0}
.forecast-app td{text-align:right;padding:9px 12px;border-bottom:1px solid var(--line-soft);white-space:nowrap}
.forecast-app th button{appearance:none;border:0;background:transparent;font:inherit;color:inherit;cursor:pointer;padding:0}
.forecast-app th[aria-sort="ascending"] button::after{content:" ↑"}
.forecast-app th[aria-sort="descending"] button::after{content:" ↓"}
.forecast-app tr[data-k]{cursor:pointer}
.forecast-app tr[data-k]:hover td{background:var(--seg-hover)}
.forecast-app .fbar{display:flex;gap:2px;height:60px;margin-top:8px}
.forecast-app .fbar div{display:flex;align-items:center;padding-left:14px;font-weight:600;font-size:1.0625rem;min-width:0;overflow:hidden}
.forecast-app .fbar div:first-child{border-radius:12px 0 0 12px}
.forecast-app .fbar div:last-child{border-radius:0 12px 12px 0;padding-left:0}
.forecast-app .f1{background:var(--f1);color:var(--f1-ink)}
.forecast-app .f2{background:var(--f2);color:var(--f2-ink)}
.forecast-app .f3{background:var(--f3);color:var(--f3-ink)}
.forecast-app .f4{background:var(--f4);color:var(--f4-ink)}
.forecast-app .futures{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.forecast-app .futures li{display:flex;flex-direction:column;gap:8px;min-width:0}
.forecast-app .futures .pc{font-size:2.25rem;line-height:1;letter-spacing:-.03em;font-weight:600}
.forecast-app .futures .key{width:28px;height:5px;border-radius:3px;display:block}
.forecast-app .futures p{color:var(--ink2);font-size:.9375rem;line-height:1.45}
.forecast-app .odds-axis,.forecast-app .odds-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,38%) 72px;gap:20px;align-items:center}
.forecast-app .axis-ticks{position:relative;height:18px}
.forecast-app .axis-ticks span{position:absolute;transform:translateX(-50%);font-family:var(--mono);font-size:.6875rem;color:var(--ink2)}
.forecast-app .axis-ticks span:first-child{transform:none}
.forecast-app .axis-ticks span:last-child{transform:translateX(-100%)}
.forecast-app .odds-row{padding:14px 0;border-top:1px solid var(--line)}
.forecast-app .odds-row h3{font-size:1rem;font-weight:600}
.forecast-app .odds-row p{font-size:.875rem;line-height:1.42;color:var(--ink2);margin-top:3px}
.forecast-app .track{position:relative;height:12px;background:linear-gradient(to right,var(--grid) 1px,transparent 1px) 0 0/25% 100%,linear-gradient(var(--line),var(--line)) 0 50%/100% 1px no-repeat}
.forecast-app .track i{position:absolute;top:2px;height:8px;border-radius:4px;background:var(--accent);min-width:8px}
.forecast-app .odds-val{font-weight:600;text-align:right;font-variant-numeric:tabular-nums;font-size:.9375rem;white-space:nowrap}
.forecast-app .lad{min-width:880px}
.forecast-app .lad td,.forecast-app .lad th{text-align:left;padding:7px 10px;white-space:normal;vertical-align:middle}
.forecast-app .lad th{white-space:nowrap}
.forecast-app .lad .yr{text-align:center;width:66px;padding:0 1px}
.forecast-app .lad .cell{display:block;text-align:center;font-size:.75rem;font-weight:500;padding:9px 0;border-radius:6px}
.forecast-app .lad .nm{font-weight:600;white-space:nowrap}
.forecast-app .lad .rg{display:block;font-size:.8125rem;color:var(--ink2);font-weight:400;white-space:normal;min-width:190px}
.forecast-app .lad .mg{white-space:nowrap;font-variant-numeric:tabular-nums}
.forecast-app .lad .short{color:var(--bad);font-weight:600}
.forecast-app .lad .why{font-size:.8125rem;line-height:1.38;color:var(--ink2);min-width:280px}
.forecast-app .group{display:flex;flex-direction:column;gap:18px}
.forecast-app .group-head{display:flex;align-items:center;gap:10px}
.forecast-app .group-head i{width:10px;height:10px;border-radius:50%;display:block}
.forecast-app .group-head h3{font-size:1.0625rem}
.forecast-app .items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 44px}
.forecast-app .item{display:flex;flex-direction:column;gap:9px;border-top:1px solid var(--line);padding-top:16px;min-width:0}
.forecast-app .item p{font-size:1rem;line-height:1.5}
.forecast-app .item .other{color:var(--ink2)}
.forecast-app .item .other b{font-weight:600;color:var(--ink)}
.forecast-app .claim{display:grid;grid-template-columns:minmax(0,5fr) 118px minmax(0,8fr);gap:8px 28px;padding:18px 0;border-top:1px solid var(--line);align-items:baseline}
.forecast-app .claim h3{font-size:1.0625rem}
.forecast-app .claim p{font-size:1rem;line-height:1.48}
.forecast-app .two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 64px}
.forecast-app .who{display:flex;flex-direction:column;gap:4px;border-top:1px solid var(--line);padding-block:14px}
.forecast-app .who p{font-size:.9375rem;line-height:1.45}
.forecast-app .when{display:grid;grid-template-columns:104px minmax(0,1fr);gap:4px 16px;border-top:1px solid var(--line);padding-block:12px;align-items:baseline}
.forecast-app .when p{font-size:.9375rem;line-height:1.45}
.forecast-app .prep{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 40px}
.forecast-app .prep li{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--line);padding-top:14px}
.forecast-app .prep p{color:var(--ink2);font-size:.9375rem;line-height:1.45}
.forecast-app .terms{display:grid;grid-template-columns:150px minmax(0,1fr);gap:8px 20px;font-size:.9375rem}
.forecast-app .terms dt{font-weight:600}
.forecast-app .terms dd{color:var(--ink2)}
.forecast-app .method p{font-size:.9375rem;line-height:1.5;color:var(--ink2);max-width:44rem}
.forecast-app .sources{columns:2;column-gap:48px;font-size:.875rem;line-height:1.4}
.forecast-app .sources li{break-inside:avoid;padding-block:5px}
.forecast-app footer{padding-block:28px 44px;color:var(--ink2);font-size:.8125rem}
@media  (max-width:980px){.forecast-app .atlas{display:flex;flex-direction:column;gap:20px}
.forecast-app .atlas-main{display:contents}
.forecast-app .layer-head{order:1}
.forecast-app .mapbox{order:2}
.forecast-app .legend-row{order:3}
.forecast-app #layer-src{order:4}
.forecast-app .panel{position:static;order:5;width:100%}
.forecast-app .ranks{order:6}
.forecast-app .weights{order:7}
.forecast-app .futures{grid-template-columns:repeat(2,minmax(0,1fr))}
.forecast-app .prep{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media  (max-width:720px){.forecast-app #map text{display:none}
.forecast-app .items,.forecast-app .two,.forecast-app .prep,.forecast-app .weights-grid{grid-template-columns:minmax(0,1fr)}
.forecast-app .claim{grid-template-columns:minmax(0,1fr)}
.forecast-app .odds-axis{display:none}
.forecast-app .odds-row{grid-template-columns:minmax(0,1fr) 72px;gap:8px 12px}
.forecast-app .odds-row .odds-txt{grid-column:1/-1}
.forecast-app .sources{columns:1}
.forecast-app .terms{grid-template-columns:minmax(0,1fr)}
.forecast-app .terms dd{margin-bottom:8px}
.forecast-app .fbar{height:48px}
.forecast-app .fbar div{padding-left:8px;font-size:.9375rem}}
@media  (max-width:520px){.forecast-app .ranks{grid-template-columns:minmax(0,1fr)}}
@media  (max-width:440px){.forecast-app .futures{grid-template-columns:minmax(0,1fr)}
.forecast-app .when{grid-template-columns:minmax(0,1fr)}}
@media  (prefers-reduced-motion:reduce){.forecast-app *{transition:none!important;scroll-behavior:auto!important}}
.forecast-app::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:21;background:var(--bg)}
.forecast-app{scroll-padding-top:56px}
.forecast-app .vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.forecast-app .hero{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:clamp(24px,4vw,64px);align-items:start;padding-block:clamp(28px,4vw,56px) clamp(24px,3vw,40px)}
.forecast-app .hero h1{font-size:clamp(2rem,4.2vw,3.5rem);max-width:15em}
.forecast-app .hero .lede{max-width:38em}
.forecast-app .hero-l{min-width:0}
.forecast-app .changes{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--line);padding-top:12px;max-width:40em}
.forecast-app .changes p{font-size:.9375rem;line-height:1.4}
.forecast-app .gauge{background:var(--card);border-radius:22px;padding:22px;display:flex;flex-direction:column;gap:14px;min-width:0}
.forecast-app .g-title{font-size:.8125rem;font-weight:600;color:var(--ink2)}
.forecast-app .g-main{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.forecast-app .g-num{font-size:5rem;line-height:.95;font-weight:600;letter-spacing:-.04em}
.forecast-app .g-band{font-size:1.125rem;font-weight:600;letter-spacing:-.01em}
.forecast-app .g-dom{display:flex;flex-direction:column;gap:6px}
.forecast-app .gd{display:grid;grid-template-columns:96px minmax(0,1fr);gap:10px;align-items:center;font-size:.75rem;color:var(--ink2)}
.forecast-app .secnav{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--nav);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-block:1px solid var(--line-soft)}
.forecast-app .secnav .wrap{display:flex;gap:22px;overflow-x:auto;scrollbar-width:none;padding-block:11px}
.forecast-app .secnav .wrap::-webkit-scrollbar{display:none}
.forecast-app .secnav a{color:var(--ink);font-size:.8125rem;font-weight:500;white-space:nowrap}
.forecast-app .panel{top:calc(60px + env(safe-area-inset-top,0px));max-height:none}
.forecast-app .stress{background:var(--card);border-radius:22px;padding:clamp(18px,2.4vw,26px);display:flex;flex-direction:column;gap:14px}
.forecast-app .stress-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.forecast-app .stress-head h2{font-size:1.5rem;letter-spacing:-.018em}
.forecast-app .scn{display:flex;flex-wrap:wrap;gap:8px}
.forecast-app .scn button{appearance:none;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:500 .875rem/1 var(--sans);padding:10px 14px;border-radius:999px;cursor:pointer;transition:background-color .2s ease,color .2s ease,border-color .2s ease}
.forecast-app .scn button:hover{border-color:var(--ink2)}
.forecast-app .scn button[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.forecast-app .custom{display:flex;flex-direction:column;gap:6px}
.forecast-app .custom-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.forecast-app .custom-row input{flex:1 1 240px;min-width:0;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:400 1rem/1.3 var(--sans);padding:11px 14px;border-radius:12px}
.forecast-app .custom-row button[type=submit]{appearance:none;border:0;background:var(--accent);color:var(--on-dark);font:600 .9375rem/1 var(--sans);padding:12px 18px;border-radius:12px;cursor:pointer}
.forecast-app .custom-row button[disabled]{opacity:.5;cursor:default}
.forecast-app .seg-sm button{padding:8px 12px;font-size:.8125rem}
.forecast-app .ctl-row{display:flex;align-items:center;gap:12px;margin-top:6px;flex-wrap:wrap}
.forecast-app .ctl-row input[type=range]{flex:0 1 240px;accent-color:var(--accent)}
.forecast-app .fcs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.forecast-app .fc{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:10px;background:var(--bg);min-width:0}
.forecast-app .fc.on{box-shadow:inset 0 0 0 1.5px var(--accent)}
.forecast-app .fc-v{font-size:1.25rem;font-weight:600;letter-spacing:-.02em}
.forecast-app .fc-was{font-size:.6875rem;color:var(--ink2)}
.forecast-app .fc-l{font-size:.6875rem;color:var(--ink2)}
.forecast-app .h-sub{font-size:1.375rem;letter-spacing:-.016em}
.forecast-app .sg-grid{columns:3;column-gap:36px}
.forecast-app .sg-dom{break-inside:avoid;padding-bottom:22px}
.forecast-app .sg-dom>h3{font-size:.8125rem;font-weight:600;color:var(--ink2);margin-bottom:6px}
.forecast-app .sg{border-top:1px solid var(--line)}
.forecast-app .sg summary{list-style:none;display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 0;cursor:pointer}
.forecast-app .sg summary::-webkit-details-marker{display:none}
.forecast-app .lv{display:block;text-align:center;font-size:.6875rem;font-weight:600;padding:4px 0;border-radius:6px}
.forecast-app .lv0{background:var(--tn);color:var(--tn-ink)}
.forecast-app .lv1{background:var(--l1);color:var(--l1-ink)}
.forecast-app .lv2{background:var(--te);color:var(--te-ink)}
.forecast-app .lv3{background:var(--th);color:var(--th-ink)}
.forecast-app .sg-n{font-size:.9375rem;font-weight:500;min-width:0}
.forecast-app .sg-t{font-size:.6875rem;color:var(--ink2);white-space:nowrap}
.forecast-app .sg-b{display:flex;flex-direction:column;gap:6px;padding:2px 0 12px;font-size:.875rem;line-height:1.42}
.forecast-app .sg-f{color:var(--ink2)}
.forecast-app .sg-w{color:var(--ink2);font-size:.8125rem}
.forecast-app .news-wrap{display:grid;grid-template-columns:240px minmax(0,1fr);gap:16px 36px}
.forecast-app .nw{display:grid;grid-template-columns:64px minmax(0,1fr);gap:10px;border-top:1px solid var(--line);padding-block:11px}
.forecast-app .nw h3{font-size:.9375rem;font-weight:500;line-height:1.32;letter-spacing:0}
.forecast-app .nw h3 a{color:var(--ink)}
.forecast-app .nw h3 a:hover{color:var(--accent)}
.forecast-app .ask-sec{display:flex;flex-direction:column;gap:12px;background:var(--bg);border-radius:22px;padding:clamp(18px,2.4vw,26px)}
.forecast-app .ask-out{white-space:pre-wrap;font-size:1rem;line-height:1.5;max-width:46rem}
.forecast-app .or{display:grid;grid-template-columns:minmax(0,1fr) repeat(3,96px);gap:8px 14px;align-items:start;border-top:1px solid var(--line);padding-block:14px}
.forecast-app .or-head{border-top:0;padding-block:0 8px;position:static;align-items:end}
.forecast-app .or-h{font-size:.8125rem;font-weight:600;text-align:right;color:var(--ink2)}
.forecast-app .or-h.on{color:var(--ink)}
.forecast-app .or-t{display:flex;flex-direction:column;gap:5px;min-width:0}
.forecast-app .or-t h3{font-size:1rem}
.forecast-app .or-t p{font-size:.875rem;line-height:1.42;color:var(--ink2);max-width:46rem}
.forecast-app .or-t .track{max-width:420px;margin-top:4px}
.forecast-app .or-t .track i{transition:left .35s ease,width .35s ease}
.forecast-app .or-rg{font-size:.75rem;color:var(--ink2)}
.forecast-app .or-c{display:flex;flex-direction:column;align-items:flex-end;gap:1px;text-align:right}
.forecast-app .or-v{font-size:1.125rem;font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:-.01em;color:var(--ink2)}
.forecast-app .or-c.on .or-v{color:var(--ink);font-weight:600}
.forecast-app .or-was{font-size:.6875rem;color:var(--ink2)}
.forecast-app .or-l{display:none;font-size:.6875rem;color:var(--ink2)}
.forecast-app .futures .pc:empty::after{content:"–"}
.forecast-app .fails{min-width:860px}
.forecast-app .fails th,.forecast-app .fails td{text-align:left;white-space:normal;vertical-align:top;padding:7px;font-size:.8125rem;line-height:1.32;border-bottom:0}
.forecast-app .fails th{font-size:.8125rem}
.forecast-app .fails td.sys{font-weight:600;white-space:nowrap;padding-left:0}
.forecast-app .fails td span.c{display:block;border-radius:8px;padding:8px;height:100%}
.forecast-app .c0{background:var(--tn);color:var(--tn-ink)}
.forecast-app .c1{background:var(--l1);color:var(--l1-ink)}
.forecast-app .c2{background:var(--te);color:var(--te-ink)}
.forecast-app .c3{background:var(--th);color:var(--th-ink)}
.forecast-app .preds td,.forecast-app .preds th{text-align:left;white-space:normal}
.forecast-app .preds th:not(:first-child),.forecast-app .preds td:not(:first-child){white-space:nowrap}
.forecast-app .preds td:first-child{min-width:260px}
.forecast-app summary.group-head{cursor:pointer;list-style:none}
.forecast-app summary.group-head::-webkit-details-marker{display:none}
.forecast-app details.group[open]>summary{margin-bottom:18px}
@media  (max-width:1080px){.forecast-app .sg-grid{columns:2}}
@media  (max-width:980px){.forecast-app .hero{grid-template-columns:minmax(0,1fr)}
.forecast-app .news-wrap{grid-template-columns:minmax(0,1fr)}}
@media  (max-width:720px){.forecast-app .sg-grid{columns:1}
.forecast-app .or,.forecast-app .or-head{grid-template-columns:repeat(3,minmax(0,1fr))}
.forecast-app .or-head{display:none}
.forecast-app .or-t{grid-column:1/-1}
.forecast-app .or-c{align-items:flex-start;text-align:left}
.forecast-app .or-l{display:block}
.forecast-app .g-num{font-size:4rem}}
.forecast-app .band{--bb:var(--bg)}
.forecast-app .band.alt{--bb:var(--bg2)}
.forecast-app .tscroll{position:relative}
.forecast-app .prep.four{grid-template-columns:repeat(4,minmax(0,1fr))}
@media  (max-width:1100px){.forecast-app .prep.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media  (max-width:640px){.forecast-app .prep.four{grid-template-columns:minmax(0,1fr)}}
.forecast-app .fails{min-width:1040px;table-layout:fixed;border-collapse:separate;border-spacing:3px}
.forecast-app .fails th:first-child{width:140px}
.forecast-app .fails th{padding:4px 6px;color:var(--ink2);font-weight:600}
.forecast-app .fails td{padding:0;height:1px}
.forecast-app .fails td.sys{padding:8px 10px 8px 0;position:sticky;left:0;z-index:1;background:var(--bb);font-size:.875rem;white-space:normal;width:150px;min-width:130px}
.forecast-app .fails td span.c{display:flex;align-items:center;min-height:46px;height:100%;padding:8px 10px;line-height:1.28;font-size:.8125rem;font-weight:500}
.forecast-app .fails .doc{box-shadow:inset 0 0 0 2px var(--ink)}
.forecast-app .fkey{flex-wrap:wrap}
.forecast-app .fkey i{display:inline-block;width:14px;height:14px;border-radius:4px}
.forecast-app .dockey{background:transparent;box-shadow:inset 0 0 0 2px var(--ink)}
.forecast-app .fb-list{columns:2;column-gap:36px;margin-top:10px}
.forecast-app .fb-list p{break-inside:avoid;margin-bottom:12px;font-size:.875rem;line-height:1.45}
.forecast-app .rec{min-width:680px}
.forecast-app .rec td,.forecast-app .rec th{white-space:normal!important;vertical-align:top;font-size:.8125rem}
.forecast-app .rec td:first-child{min-width:0!important}
.forecast-app .formula{font-size:.8125rem;line-height:1.7;overflow-wrap:anywhere;color:var(--ink)}
.forecast-app .formula sup{font-size:.72em}
@media  (max-width:720px){.forecast-app .fb-list{columns:1}}.forecast-app .forecast-live-desk{padding-block:28px;border-bottom:1px solid var(--line);font-size:13px;line-height:1.7}.forecast-app .forecast-live-desk h2{font-size:22px;margin:0 0 8px}.forecast-app .live-feed-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.forecast-app .live-feed{padding:18px;background:var(--card);border:1px solid var(--line);border-radius:16px;display:flex;align-items:flex-start;flex-direction:column;gap:5px}.forecast-app .live-feed p{margin:0;font-size:12px}.forecast-app .live-status{font-size:11px;color:var(--accent)}.forecast-app .live-status.cached,.forecast-app .live-status.unavailable,.forecast-app .live-warning{color:#efa764}.forecast-app .forecast-live-desk a{color:var(--accent)}@media(max-width:700px){.forecast-app .live-feed-grid{grid-template-columns:1fr}.forecast-app .live-feed{padding:14px}}

/* Keep the atlas independent of the site's generic card, SVG, and form rules. */
.forecast-app{--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--mono:ui-monospace,"SF Mono",Menlo,monospace;background:var(--bg);color:var(--ink);font:17px/1.5 var(--sans);min-width:0;isolation:isolate}
.forecast-app[data-theme="dark"]{--bg:#091827;--bg2:#0d2133;--card:#132b40;--ink:#edf4fa;--ink2:#a4b7c5;--line:#ffffff24;--line-soft:#ffffff12;--line-card:#ffffff20;--grid:#456078;--accent:#8adeb0;--track:#294154;--seg:#132b40;--seg-on:#315146;--nav:#0b1d2fe8;--shadow:#0005}
.forecast-app p{color:inherit}.forecast-app .quiet,.forecast-app .src{color:var(--ink2)}
.forecast-app svg{width:100%;height:auto;flex-shrink:initial}
.forecast-app .secnav{top:88px;z-index:15}.forecast-app .panel{top:152px}
.forecast-app .hero{width:auto;max-width:1240px;margin:0 auto;min-height:0}
.forecast-app .wrap{max-width:1240px;padding-inline:28px}
.forecast-app .hero h1{font-size:clamp(35px,4vw,56px);font-weight:550;letter-spacing:-.05em;line-height:1.1}
.forecast-app .gauge,.forecast-app .stress,.forecast-app .panel{border:1px solid var(--line-card);box-shadow:0 18px 45px -30px #0005}
.forecast-app section{scroll-margin-top:150px}
.forecast-app .forecast-context{display:flex;gap:24px;align-items:center;justify-content:space-between;padding-block:24px;border-bottom:1px solid var(--line-soft);font-size:11px;line-height:1.8;color:var(--ink2)}
.forecast-app .forecast-context b{color:var(--ink);font-weight:550}.forecast-app .forecast-context>div{max-width:880px}
.forecast-app #forecast-theme{border:1px solid var(--line);background:var(--card);color:var(--ink);font:500 11px var(--sans);border-radius:30px;padding:10px 16px;white-space:nowrap;cursor:pointer}
.interior .forecast-app label{font:inherit;color:inherit}.interior .forecast-app input[type="range"]{padding:0;border:0;background:transparent;box-shadow:none}
.forecast-app details[open] summary>span{transform:none}.forecast-app summary{font:inherit;color:var(--ink)}
.forecast-app .forecast-links{display:flex;flex-wrap:wrap;gap:15px;font-size:12px}
.forecast-app .forecast-attribution{border-top:1px solid var(--line);padding-block:30px;color:var(--ink2);font-size:12px;line-height:1.9}
@media(max-width:980px){.forecast-app .panel{position:static}}
@media(max-width:780px){.forecast-app .secnav{top:76px}.forecast-app .wrap{padding-inline:20px}.forecast-app .forecast-context{align-items:flex-start;gap:15px}.forecast-app .forecast-context>div{font-size:10px}.forecast-app section{scroll-margin-top:132px}}
@media(max-width:440px){.forecast-app .forecast-context{flex-direction:column}.forecast-app .hero{padding-top:30px}.forecast-app .hero h1{font-size:35px}.forecast-app .gauge{padding:20px}.forecast-app .secnav .wrap{gap:18px}}
