:root{color-scheme:light;--bg: #edeae2;--bg-raised: #f7f5f0;--bg-sunken: #e0ddd4;--panel: #f4f2ec;--panel-2: #f7f5f0;--line: #d6d3ca;--line-strong: #b1aea5;--ink: #26282b;--ink-dim: #5c5e59;--ink-faint: #6f6f69;--accent: #1b6fae;--accent-dim: #175f94;--on-accent: #ffffff;--warn: #8a6503;--bad: #c02820;--good: #3e7a45;--ember: #d98e1b;--c-nuclear: #5f4fc7;--c-geothermal: #a45a2a;--c-hydro: #1f77b4;--c-wind: #0f7d89;--c-solar: #8f7a10;--c-storage: #ad3d78;--c-gas: #6b7570;--c-imports: #4a6b7c;--c-dr: #b55a1d;--c-unserved: #c73e34;--nameplate: #7e7b70;--effective: #1b6fae;--radius: 6px;--radius-lg: 10px;--mono: ui-monospace, "SF Mono", "Cascadia Mono", "JetBrains Mono", Menlo, Consolas, monospace;--sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--edge: #b1aea5;--edge-primary: #14567f;--groove-top: rgba(60, 60, 55, .22);--groove-bottom: rgba(255, 255, 255, .8);--sh-raise: inset 0 1px 0 rgba(255, 255, 255, .85), 0 1px 2px rgba(50, 50, 46, .14);--sh-raise-lg: inset 0 1px 0 rgba(255, 255, 255, .85), 0 2px 5px rgba(50, 50, 46, .16);--sh-panel: inset 0 1px 0 rgba(255, 255, 255, .85), inset 0 -1px 0 rgba(60, 60, 55, .1), 0 1px 0 rgba(50, 50, 46, .12), 0 2px 4px rgba(50, 50, 46, .1);--pressed: inset 0 2px 3px rgba(50, 50, 46, .22), inset 0 -1px 0 rgba(255, 255, 255, .55);--in-panel: inset 0 1px 2px rgba(50, 50, 46, .18), inset 0 -1px 0 rgba(255, 255, 255, .65);--in-quiet: inset 0 1px 2px rgba(50, 50, 46, .16);--sh-primary: inset 0 1px 0 rgba(255, 255, 255, .3), 0 1px 0 rgba(20, 60, 90, .4), 0 2px 4px rgba(50, 50, 46, .18);--primary-pressed: inset 0 2px 3px rgba(0, 25, 45, .4), inset 0 -1px 0 rgba(255, 255, 255, .15);--grad-panel: linear-gradient(180deg, #f7f5f0, #f1eee7);--grad-cap: linear-gradient(180deg, #f7f5f0, #f2f0e9);--grad-primary: #1b6fae;--grad-primary-pressed: #14567f;--error-bg: #f2e3e0;--error-line: rgba(192, 40, 32, .4);--backdrop: rgba(38, 40, 43, .4);--shadow: 0 2px 4px rgba(50, 50, 46, .14), 0 6px 14px rgba(50, 50, 46, .12);--coach-bg: #26282b;--coach-ink: #f4f2ec}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--bg: #1b1d1f;--bg-raised: #2a2c2f;--bg-sunken: #141617;--panel: #232527;--panel-2: #2a2c2f;--line: #33363a;--line-strong: #4a4e53;--ink: #e8e6e0;--ink-dim: #a5a6a1;--ink-faint: #8b8c85;--accent: #5b9bd1;--accent-dim: #4a89bf;--on-accent: #14161a;--warn: #e0a33b;--bad: #e5484d;--good: #6fa876;--ember: #e0a33b;--c-nuclear: #6b5bd2;--c-geothermal: #a45a2a;--c-hydro: #1f77b4;--c-wind: #17becf;--c-solar: #e6c229;--c-storage: #d4569c;--c-gas: #7f8891;--c-imports: #5a7d8c;--c-dr: #e07b39;--c-unserved: #e5484d;--nameplate: #98948b;--effective: #5b9bd1;--edge: #0e0f10;--edge-primary: #0e0f10;--groove-top: rgba(0, 0, 0, .5);--groove-bottom: rgba(232, 230, 224, .09);--sh-raise: inset 0 1px 0 rgba(232, 230, 224, .1), 0 1px 2px rgba(0, 0, 0, .4);--sh-raise-lg: inset 0 1px 0 rgba(232, 230, 224, .1), 0 2px 5px rgba(0, 0, 0, .45);--sh-panel: inset 0 1px 0 rgba(232, 230, 224, .12), inset 0 -1px 0 rgba(0, 0, 0, .35), 0 1px 0 rgba(0, 0, 0, .4), 0 2px 4px rgba(0, 0, 0, .3);--pressed: inset 0 2px 3px rgba(0, 0, 0, .5), inset 0 -1px 0 rgba(232, 230, 224, .07);--in-panel: inset 0 1px 2px rgba(0, 0, 0, .45), inset 0 -1px 0 rgba(232, 230, 224, .07);--in-quiet: inset 0 1px 2px rgba(0, 0, 0, .45);--sh-primary: inset 0 1px 0 rgba(255, 255, 255, .22), 0 1px 0 rgba(0, 0, 0, .5), 0 2px 4px rgba(0, 0, 0, .4);--primary-pressed: inset 0 2px 3px rgba(0, 20, 40, .55), inset 0 -1px 0 rgba(255, 255, 255, .12);--grad-panel: linear-gradient(180deg, #2b2d30, #232527);--grad-cap: linear-gradient(180deg, #292b2e, #232527);--grad-primary: #4a89bf;--grad-primary-pressed: #3a72a3;--error-bg: #2c1e1c;--error-line: rgba(229, 72, 77, .4);--backdrop: rgba(0, 0, 0, .55);--shadow: 0 2px 4px rgba(0, 0, 0, .4), 0 6px 14px rgba(0, 0, 0, .35);--coach-bg: #e8e6e0;--coach-ink: #26282b}}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{margin:0 0 .4em;font-weight:650;letter-spacing:-.01em;line-height:1.2}h1{font-size:27px}h2{font-size:20px}h3{font-size:16px}h4{font-size:11.5px;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-faint);font-weight:700}p{margin:0 0 .8em}a{color:var(--accent-dim)}.num{font-family:var(--mono);font-variant-numeric:tabular-nums}::selection{background:var(--accent);color:var(--on-accent)}.app{display:flex;flex-direction:column;height:100%;min-width:1280px}.skip-link{position:absolute;left:-9999px;top:10px;z-index:100;padding:8px 16px;border-radius:var(--radius);border:1px solid var(--edge-primary);background:var(--grad-primary);color:var(--on-accent);font-weight:600;font-size:13px;text-decoration:none;box-shadow:var(--sh-primary)}.skip-link:focus{left:10px}.topbar{display:flex;flex-direction:column;background:var(--grad-cap);border-bottom:1px solid var(--line-strong);box-shadow:inset 0 1px 0 var(--groove-bottom),0 1px #32322e0f;flex:0 0 auto}.topbar-row{display:flex;align-items:center;gap:18px;padding:0 20px;height:54px}.topbar-row.sub{height:40px;gap:10px;background:var(--bg-sunken);border-top:1px solid var(--groove-top);box-shadow:inset 0 1px 0 var(--groove-bottom)}.topbar .brand{font-weight:700;letter-spacing:.05em;font-size:15px;text-transform:uppercase;display:inline-flex;align-items:center;gap:8px}.topbar .brand span{color:inherit}.topbar .brand:after{content:"";width:8px;height:8px;border-radius:999px;background:var(--ember);box-shadow:inset 0 1px #ffffff80,0 0 0 2px var(--bg-sunken)}.topbar .spacer{flex:1}.acts{display:flex;gap:6px}.acts button{background:transparent;border:0;color:var(--ink-dim);padding:6px 13px;border-radius:var(--radius);cursor:pointer;font:inherit;font-size:13px;font-weight:600;box-shadow:none}.acts button:hover:not(:disabled):not([aria-current=true]){color:var(--ink);background:var(--bg-raised);box-shadow:var(--sh-raise)}.acts button[aria-current=true],.acts button[aria-current=true]:hover:not(:disabled){color:var(--bg-raised);background:var(--ink);box-shadow:var(--pressed)}.acts button:disabled{opacity:.4;cursor:not-allowed;background:transparent;box-shadow:none}.modes button{font-size:13.5px;padding:7px 14px}.topbar-row.sub .acts button{font-size:12.5px;padding:5px 11px}.topbar button{white-space:nowrap}.topbar-status{line-height:1.3}@media(max-width:1599px){.topbar-row{gap:10px;padding:0 14px}.modes{gap:2px}.modes button{padding:7px 9px}}@media(max-width:1439px){.topbar-status{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}}.stage{position:relative;flex:1 1 auto;overflow-y:auto;overflow-x:hidden;outline:none;scroll-padding-bottom:96px}.wrap{max-width:1500px;margin:0 auto;padding:22px 24px 60px}.cols{display:grid;gap:18px}.cols.two{grid-template-columns:1fr 1fr}.cols.sidebar{grid-template-columns:minmax(0,1fr) 380px}.cols.wide-sidebar{grid-template-columns:minmax(0,1fr) 440px}.sidebar-rail{position:sticky;top:12px;align-self:start;max-height:calc(100vh - 120px);overflow-y:auto}.card{background:var(--grad-panel);border:1px solid var(--line-strong);border-radius:var(--radius-lg);box-shadow:var(--sh-panel);padding:16px 18px}.card+.card{margin-top:16px}.card.tight{padding:12px 14px}.card.flush{padding:0;overflow:hidden}.lede{color:var(--ink-dim);font-size:15px;max-width:74ch}.small{font-size:13px;color:var(--ink-dim)}.tiny{font-size:12px;color:var(--ink-faint)}button,.btn{font:inherit;cursor:pointer;font-size:14px;font-weight:600;color:var(--ink);border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--grad-panel);box-shadow:var(--sh-panel);padding:7px 15px}button:hover:not(:disabled){color:var(--ink);border-color:var(--ink-faint)}button:active:not(:disabled),.btn:active{background:var(--bg-sunken);box-shadow:var(--pressed)}button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;background:var(--bg-raised);border-color:var(--line)}button.primary{background:var(--grad-primary);border-color:var(--edge-primary);color:var(--on-accent);box-shadow:var(--sh-primary)}button.primary:hover:not(:disabled){background:var(--grad-primary);border-color:var(--edge-primary)}button.primary:active:not(:disabled){background:var(--grad-primary-pressed);box-shadow:var(--primary-pressed)}button.ghost{background:var(--bg-raised);border:0;color:var(--ink-dim);box-shadow:var(--sh-raise)}button.ghost:active:not(:disabled){background:var(--bg-sunken);box-shadow:var(--in-quiet)}button.primary:disabled,button.ghost:disabled{background:var(--bg-raised);border-color:var(--line);box-shadow:none;color:var(--ink-dim)}button.big{padding:11px 22px;font-size:16px}button.tiny-btn{padding:3px 10px;font-size:12px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.stage:focus-visible{outline:none}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:right;padding:6px 9px;border-bottom:1px solid var(--line)}th:first-child,td:first-child{text-align:left}thead th{color:var(--ink-faint);font-weight:700;font-size:10.5px;text-transform:uppercase;letter-spacing:.12em}tbody tr:hover{background:var(--bg-raised)}tbody tr.is-current{background:var(--bg-sunken);box-shadow:inset 2px 0 0 var(--accent)}tbody tr.is-best td{font-weight:600}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.mw-pair{display:inline-flex;align-items:baseline;gap:8px;font-family:var(--mono);font-variant-numeric:tabular-nums}.mw-nameplate{color:var(--nameplate)}.mw-effective{color:var(--effective);font-weight:600}.mw-arrow{color:var(--ink-faint);font-size:11px}.legend{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12px;color:var(--ink-dim)}.legend .swatch{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px;vertical-align:-1px;box-shadow:inset 0 1px #ffffff40,0 1px 0 var(--groove-top)}.term{border-bottom:1px dotted var(--accent-dim);cursor:help;color:inherit;background:none;border-top:0;border-left:0;border-right:0;padding:0;font:inherit;border-radius:0;box-shadow:none;font-weight:inherit}.term:hover,.term:focus-visible{border-bottom-color:var(--accent);color:var(--accent-dim)}.term.first-use{border-bottom-style:solid;border-bottom-color:var(--accent)}.glossary-pop{position:fixed;z-index:60;max-width:380px;background:var(--grad-cap);border:1px solid var(--line-strong);border-radius:var(--radius-lg);box-shadow:var(--sh-raise-lg),var(--shadow);padding:12px 14px;font-size:13px;line-height:1.5}.glossary-pop .pop-title,.glossary-pop .pop-body,.glossary-pop .why{display:block}.glossary-pop .pop-title{color:var(--accent-dim);font-weight:650;font-size:13px;margin-bottom:6px}.glossary-pop .why{color:var(--ink-dim);margin-top:7px;font-style:italic}.drawer-backdrop{position:fixed;inset:0;background:var(--backdrop);z-index:50;display:flex;justify-content:flex-end}.drawer{width:560px;max-width:92vw;height:100%;overflow-y:auto;background:var(--panel);border-left:1px solid var(--line-strong);box-shadow:inset 1px 0 0 var(--groove-bottom);padding:20px 24px 60px}.drawer.left{border-left:0;border-right:1px solid var(--line-strong);box-shadow:inset -1px 0 0 var(--groove-bottom)}.drawer-backdrop.left{justify-content:flex-start}.drawer header{display:flex;align-items:center;gap:12px;margin-bottom:14px}.drawer header h2{flex:1;margin:0}input[type=range]{width:100%;accent-color:var(--accent)}input[type=number],input[type=text],select{font:inherit;font-family:var(--mono);background:var(--bg-sunken);color:var(--ink);border:1px solid var(--line-strong);border-radius:5px;padding:5px 8px;box-shadow:var(--in-panel)}label{font-size:13px}.stepper{display:inline-flex;align-items:stretch;border:1px solid var(--line-strong);border-radius:var(--radius);overflow:hidden;box-shadow:var(--sh-raise)}.stepper button{border:0;border-radius:0;background:var(--grad-panel);box-shadow:none;padding:4px 11px;font-size:15px;line-height:1}.stepper button:active:not(:disabled){background:var(--bg-sunken);box-shadow:var(--pressed)}.stepper .value{min-width:62px;text-align:center;padding:5px 6px;font-family:var(--mono);background:var(--bg-sunken);box-shadow:var(--in-quiet);font-variant-numeric:tabular-nums}.catalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.option{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--sh-raise);padding:13px 15px;display:flex;flex-direction:column;gap:9px}.option.chosen{border-color:var(--accent);background:var(--grad-panel);box-shadow:inset 2px 0 0 var(--accent),var(--sh-panel)}.option.unavailable{opacity:.72}.option-head{display:flex;align-items:flex-start;gap:10px}.option-head h3{flex:1;margin:0;font-size:15px}.option .blurb{font-size:13px;color:var(--ink-dim);margin:0}.option .facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 14px;font-size:12px}.option .facts .k{color:var(--ink-faint)}.option .facts .v{font-family:var(--mono);font-variant-numeric:tabular-nums;text-align:right}.option .facts>div{display:flex;justify-content:space-between;gap:8px}.risks{margin:0;padding-left:16px;font-size:12px;color:var(--warn)}.risks li{margin-bottom:2px}.pill{display:inline-block;padding:2px 10px;border-radius:999px;font-size:11px;font-weight:650;letter-spacing:.03em;white-space:nowrap;border:1px solid var(--line-strong);color:var(--ink-dim);background:var(--bg-raised);box-shadow:var(--sh-raise)}.pill.multi-day{border-color:var(--accent);color:var(--accent-dim)}.pill.daily-peak{border-color:var(--c-dr);color:var(--c-dr)}.pill.fast-burst{border-color:var(--c-storage);color:var(--c-storage)}.pill.firm{border-color:var(--c-gas);color:var(--ink-dim)}.pill.energy{border-color:var(--c-solar);color:var(--c-solar)}.pill.late{border-color:var(--bad);color:var(--bad)}.budget{display:flex;flex-direction:column;gap:4px}.budget .bar{height:10px;background:var(--bg-sunken);border-radius:999px;overflow:hidden;border-top:1px solid var(--groove-top);border-bottom:1px solid var(--groove-bottom)}.budget .bar i{display:block;height:100%;background:var(--accent);box-shadow:inset 0 1px #ffffff4d,inset 0 -1px #0000001f;border-radius:999px}.budget .bar.over i{background:var(--bad)}.budget .row{display:flex;justify-content:space-between;font-size:12px}.chart-shell{background:#101312;border:1px solid var(--line-strong);border-radius:var(--radius);overflow:hidden;box-shadow:inset 0 2px 4px #0000008c,inset 0 -1px #e8e6e00f}.chart-canvas{display:block;width:100%}.chart-plot{position:relative}.chart-probe{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;pointer-events:none;appearance:none}.chart-plot:has(>.chart-probe:focus-visible){outline:2px solid var(--accent);outline-offset:-2px}.chart-readout{border-top:1px solid rgba(232,230,224,.12);padding:6px 14px 8px;font-size:12px;line-height:1.4;color:#e8e6e0}.chart-readout-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 14px;margin:0 0 4px;color:#a5a6a1}.chart-readout-hour{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:14px;color:#e8e6e0}.chart-readout-figure{font-family:var(--mono);font-variant-numeric:tabular-nums;color:#e8e6e0}.chart-readout-hint{flex:1 1 0;min-width:14em;text-align:right;color:#8b8c85;font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chart-readout-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1px 20px;margin:0}.chart-readout-grid>div{display:flex;justify-content:space-between;gap:8px}.chart-readout-grid dt{color:#a5a6a1}.chart-readout-grid dd{margin:0;font-family:var(--mono);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.chart-readout-grid .is-short dt,.chart-readout-grid .is-short dd{color:#e5484d}.chart-readout .swatch{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:5px;vertical-align:-1px}.row-select{font:inherit;font-weight:inherit;color:inherit;background:none;border:1px solid transparent;box-shadow:none;padding:2px 6px;margin-left:-6px}.row-select:active:not(:disabled){background:var(--bg-sunken);box-shadow:var(--in-quiet)}.row-select[aria-current=true],.scenario-strip button[aria-current=true]{border-color:var(--accent);color:var(--accent-dim)}.scenario-strip .strip-label{font-weight:600;color:var(--ink)}.first-session{width:calc(100% - 48px);max-width:1452px;margin:14px auto 0;padding:8px 12px 9px;background:var(--bg-sunken);border-radius:var(--radius-lg);border-top:1px solid var(--groove-top);border-bottom:1px solid var(--groove-bottom);box-shadow:var(--in-quiet);font-size:12.5px}.first-session-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.first-session-label{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-dim)}.first-session-steps{list-style:none;margin:0;padding:0;display:flex;gap:6px;flex-wrap:wrap}.first-session-steps li{display:inline-flex;align-items:baseline;gap:6px;padding:3px 10px;border-radius:var(--radius);color:var(--ink-dim)}.first-session-steps li.is-done{color:var(--ink)}.first-session-steps li.is-current{background:var(--ink);color:var(--bg-raised);box-shadow:var(--pressed)}.first-session-mark{font-family:var(--mono);font-variant-numeric:tabular-nums;font-weight:700}.first-session-name{font-weight:600}.first-session-detail{font-size:11.5px}@media(max-height:820px){.first-session{margin-top:8px;padding:5px 12px 6px}.first-session-next{margin-top:3px}}@media(max-width:1399px){.first-session-detail{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}}.first-session-keys{margin-left:auto;display:flex;gap:6px}.first-session-next{margin:6px 0 0;color:var(--ink-dim)}.first-session-link{background:none;border:0;box-shadow:none;padding:0;font:inherit;font-weight:600;color:var(--accent-dim);text-decoration:underline}.first-session-link:hover:not(:disabled){color:var(--accent)}.first-session-link.is-quiet{color:var(--ink-dim)}.first-session-link:active:not(:disabled){background:none;box-shadow:none}.prediction-prompt{border-top:1px solid var(--line);padding-top:10px}.prediction-prompt h4{margin-bottom:2px}.prediction-keys{display:flex;flex-wrap:wrap;gap:6px}.prediction-prompt button[aria-pressed=true],.switch button[aria-current=true]{background:var(--bg-sunken);color:var(--accent-dim);box-shadow:var(--in-quiet),inset 0 0 0 1px var(--accent)}.forecast-switch{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:6px}.forecast-option{display:flex;align-items:center;gap:6px}.forecast-source p{margin:4px 0}.prediction-check{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 0 2px;margin:4px 0 14px}.prediction-check h3{margin-top:0}.transfer-prompt{border-top:1px solid var(--line);padding-top:12px}.lever-log{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;align-items:flex-start;gap:4px}.lever-log button[aria-current=true]{border-color:#b18cff;color:#8659e8}@media(prefers-color-scheme:dark){.lever-log button[aria-current=true]{color:#b18cff}}.chart-bar{display:flex;align-items:center;gap:12px;padding:9px 14px;border-top:1px solid var(--line-strong);background:var(--grad-cap);flex-wrap:wrap}.chart-bar .clock{font-family:var(--mono);font-size:14px;min-width:190px}.chart-bar .spacer{flex:1}.forecast-table{font-size:12px}.forecast-table th,.forecast-table td{padding:2px 8px}.forecast-table tbody th{font-weight:400;text-align:left}.forecast-table tbody th,.forecast-table td{font-family:var(--mono);font-variant-numeric:tabular-nums}.forecast-table tr.is-warning td:last-child{color:var(--warn);font-weight:650}.appeal-state{margin-top:8px;display:grid;gap:4px}.appeal-meter{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--ink-dim)}.appeal-meter .meter{flex:1;height:6px;background:var(--bg-sunken);border-radius:999px;overflow:hidden;border-top:1px solid var(--groove-top);border-bottom:1px solid var(--groove-bottom)}.appeal-meter .meter i{display:block;height:100%;background:var(--ink-faint)}.water-account{margin:0;display:grid;gap:2px;font-size:12px}.water-account>div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:3px 0}.water-account dt{color:var(--ink-dim)}.water-account dd{margin:0;font-family:var(--mono);font-variant-numeric:tabular-nums;text-align:right}.gauges{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.gauge{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--sh-raise);padding:10px 13px}.gauge .k{font-size:10.5px;text-transform:uppercase;letter-spacing:.13em;color:var(--ink-faint);font-weight:700}.gauge .v{font-family:var(--mono);font-size:21px;font-variant-numeric:tabular-nums;line-height:1.25}.gauge .sub{font-size:12px;color:var(--ink-dim)}.gauge .meter{height:8px;background:var(--bg-sunken);border-radius:999px;overflow:hidden;margin-top:6px;border-top:1px solid var(--groove-top);border-bottom:1px solid var(--groove-bottom)}.gauge .meter i{display:block;height:100%;border-radius:999px;box-shadow:inset 0 1px #ffffff40}.gauge.alarm{border-color:var(--error-line);background:var(--error-bg)}.gauge.alarm .v{color:var(--bad)}.grade{display:inline-flex;align-items:center;gap:9px;font-size:15px;font-weight:650}.grade .dot{width:11px;height:11px;border-radius:999px;box-shadow:inset 0 1px #fff6,0 1px 0 var(--groove-top)}.grade.reliable{color:var(--good)}.grade.reliable .dot{background:var(--good)}.grade.watch{color:var(--warn)}.grade.watch .dot{background:var(--warn)}.grade\.in-trouble,.grade.in-trouble{color:var(--bad)}.grade.in-trouble .dot{background:var(--bad)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.stat{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--sh-raise);padding:10px 13px}.stat .k{font-size:10.5px;text-transform:uppercase;letter-spacing:.13em;color:var(--ink-faint);font-weight:700}.stat .v{font-family:var(--mono);font-size:22px;font-variant-numeric:tabular-nums}.stat .sub{font-size:12px;color:var(--ink-dim)}.band-scale{display:flex;height:9px;border-radius:999px;overflow:hidden;margin:8px 0 4px;border-top:1px solid var(--groove-top);border-bottom:1px solid var(--groove-bottom)}.band-scale i{display:block;height:100%}.coach{position:fixed;z-index:55;max-width:340px;background:var(--coach-bg);color:var(--coach-ink);border:1px solid var(--coach-bg);border-radius:var(--radius-lg);padding:11px 13px;box-shadow:var(--shadow);font-size:13px}.coach h4{color:var(--coach-ink);text-transform:none;letter-spacing:0;font-size:13px;margin-bottom:4px}.coach button{margin-top:8px;background:transparent;border-color:var(--coach-ink);color:var(--coach-ink);box-shadow:none}.coach button:active:not(:disabled){background:#80808040;box-shadow:var(--pressed)}.corner-stack{position:fixed;right:24px;bottom:24px;z-index:55;display:flex;flex-direction:column;align-items:flex-end;gap:8px;pointer-events:none}.corner-stack>.coach{position:static;pointer-events:auto}.too-small{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:var(--bg);z-index:90;padding:32px}.too-small .inner{max-width:460px;text-align:center}.too-small .too-small-title{font-size:27px;font-weight:650;letter-spacing:-.01em;line-height:1.2;margin:0 0 .4em}@media(max-width:1279px),(max-height:539px){.app{display:none}.too-small{display:flex}}.row{display:flex;align-items:center;gap:10px}.row.wrap{flex-wrap:wrap;padding:0;max-width:none}.col{display:flex;flex-direction:column;gap:10px}.gap-sm{gap:6px}.mt{margin-top:14px}.mt-sm{margin-top:8px}.mb{margin-bottom:14px}.right{margin-left:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}.fig-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;padding:12px 14px;border-bottom:1px solid var(--line)}.fig-controls label{display:flex;flex-direction:column;gap:3px}.fig-search{flex:1 1 260px}.fig-search input{width:100%}.fig-count{margin-left:auto;align-self:center}.fig-empty{padding:16px 14px}.fig-table th,.fig-table td{text-align:left;vertical-align:top}.fig-table td:last-child{text-align:right}.fig-value{max-width:260px}.nowrap{white-space:nowrap}.fig-locator{color:var(--ink-faint)}.fig-sort{background:none;border:0;box-shadow:none;padding:0;color:var(--ink-faint);font:inherit;text-transform:inherit;letter-spacing:inherit;font-weight:700}.fig-sort:hover:not(:disabled){color:var(--ink)}.fig-sort:active:not(:disabled){background:none;box-shadow:none}.fig-sort[aria-pressed=true]{color:var(--accent-dim)}.fig-status{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}.fig-status-anchored{color:var(--good)}.fig-status-placeholder{color:var(--warn)}.fig-status-modeled{color:var(--ink-dim)}.fig-status-contested{color:var(--bad)}@media(prefers-color-scheme:dark){.fig-status-contested{background:var(--bg-sunken);padding:0 4px;border-radius:3px}}.fig-status-context{color:var(--ink-faint)}tbody tr.is-contested{box-shadow:inset 2px 0 0 var(--bad)}tbody tr.fig-detail:hover{background:none}.fig-detail td{background:var(--bg-sunken);border-bottom:1px solid var(--line)}.fig-detail p{margin:4px 0}.fig-quote{font-style:italic}.fig-link{background:none;border:0;box-shadow:none;padding:0;color:var(--accent-dim);font:inherit;text-decoration:underline}.fig-link:active:not(:disabled){background:none;box-shadow:none}.fig-sources th,.fig-sources td{text-align:left;vertical-align:top}.ref-entry{display:flex;flex-direction:column}.ref-entry p{flex:1 1 auto}.ref-index>.card+.card{margin-top:0}button.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.map-index{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px 14px}.map-index-key{display:flex;gap:10px;width:100%;background:none;border:0;box-shadow:none;padding:4px 6px;border-radius:var(--radius);font-size:12.5px;font-weight:500;text-align:left;color:var(--ink-dim)}.map-index-key:hover:not(:disabled){background:var(--bg-sunken);color:var(--ink)}.map-index-key:active:not(:disabled){background:var(--bg-sunken);box-shadow:none}.map-table{table-layout:fixed}.map-table th,.map-table td{text-align:left;vertical-align:top;overflow-wrap:anywhere}.map-table col.map-col-figure{width:34%}.map-table col.map-col-value{width:22%}.map-table col.map-col-status{width:10%}.map-table col.map-col-where{width:34%}.map-where{font-family:var(--mono)}.glossary-search input{width:100%}.glossary-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.glossary-grid .card{margin-top:0}.glossary-entry h3{font-size:14px;margin-bottom:4px}.glossary-why{font-style:italic;margin-top:5px}.decade-strip{margin-top:14px;padding:12px 14px 8px;background:var(--panel);border:1px solid var(--line);border-radius:10px}.decade-strip .eras{position:relative;height:18px;margin-bottom:4px}.decade-strip .era{position:absolute;top:0;overflow:hidden;white-space:nowrap;text-overflow:clip;font-size:9.5px;text-transform:uppercase;letter-spacing:.11em;font-weight:700;color:var(--ink-faint);border-left:1px solid var(--line-strong);padding-left:5px;line-height:16px}.decade-strip .years{display:flex;gap:3px}.decade-strip .year{flex:1 1 0;display:flex;flex-direction:column;align-items:stretch;gap:3px;background:none;border:0;box-shadow:none;padding:2px 1px;border-radius:6px;cursor:default}.decade-strip .year:not(:disabled){cursor:pointer}.decade-strip .year:not(:disabled):hover .cell{outline:1px solid var(--line-strong)}.decade-strip .year.viewing .cell{outline:2px solid var(--accent);outline-offset:1px}.decade-strip .marks{display:flex;justify-content:center;gap:3px;height:8px}.decade-strip .marks i{width:6px;height:6px;display:inline-block}.decade-strip .marks .on{background:var(--good);clip-path:polygon(50% 0,100% 100%,0 100%)}.decade-strip .marks .eta{border:1.5px solid var(--ink-faint);border-radius:50%;background:none}.decade-strip .marks .off{background:var(--ink-faint);clip-path:polygon(0 0,100% 0,50% 100%)}.decade-strip .cell{height:18px;border-radius:4px;background:var(--bg-sunken);border:1px solid var(--line)}.decade-strip .cell.g-reliable{background:var(--good);border-color:var(--good)}.decade-strip .cell.g-watch{background:var(--warn);border-color:var(--warn)}.decade-strip .cell.g-in-trouble{background:var(--bad);border-color:var(--bad)}.decade-strip .cell.now{border:1.5px dashed var(--accent);background:var(--panel-2)}.decade-strip .y{text-align:center;font-family:var(--mono);font-variant-numeric:tabular-nums}.decade-strip-tail{margin:8px 0 0;color:var(--ink-dim)}.decade-strip-legend{gap:14px;margin-top:6px;color:var(--ink-faint)}.decade-strip-legend .swatch{display:inline-block;width:9px;height:9px;border-radius:2px;vertical-align:baseline;margin-right:3px}.decade-feed{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.decade-feed li{display:flex;gap:9px;align-items:flex-start}.decade-feed li>i{flex:none;width:8px;height:8px;border-radius:50%;margin-top:5px}.decade-options{display:flex;flex-direction:column;gap:6px}.decade-option{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 8px;background:var(--panel-2);border:1px solid var(--line);border-radius:6px}.decade-option .who{display:flex;flex-direction:column;gap:1px;min-width:0}.decade-project{padding:8px;background:var(--panel-2);border:1px solid var(--line);border-radius:6px}.decade-project p{margin:0}.decade-epilogue{display:flex;flex-direction:column;gap:10px}.decade-epilogue p{margin:0}.decade-pipeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.decade-pipeline .meter{height:6px;border-radius:999px;background:var(--bg-sunken);overflow:hidden;margin:3px 0}.decade-pipeline .meter i{display:block;height:100%;background:var(--accent);border-radius:999px}.decade-history{width:100%;border-collapse:collapse;font-size:12.5px}.decade-history th{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-faint);text-align:left;padding:3px 6px}.decade-history td{padding:4px 6px;border-top:1px solid var(--line)}.decade-history tbody tr{cursor:pointer}.decade-history tbody tr:hover td{background:var(--panel-2)}.decade-history tbody tr.viewing td{box-shadow:inset 2px 0 0 var(--accent)}.decade-history .right{text-align:right}.decade-rules{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:8px}.cat{background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--radius-lg);box-shadow:var(--sh-panel);margin-bottom:10px;overflow:hidden}.cat-head{display:flex;align-items:baseline;gap:12px;width:100%;padding:10px 15px;background:var(--grad-cap);border-bottom:1px solid var(--line)}button.cat-head{text-align:left;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none}button.cat-head:active:not(:disabled){background:var(--bg-sunken);box-shadow:var(--in-quiet)}.cat-name{flex:1;font-size:15px;font-weight:650}.cat-count{font-size:12px;color:var(--ink-dim)}.cat-mw{font-size:13px}.cat-mw-k{font-size:11px;color:var(--ink-faint);font-weight:400}.cat-toggle:after{content:"";width:7px;height:7px;margin-left:2px;border-right:2px solid var(--ink-faint);border-bottom:2px solid var(--ink-faint);transform:rotate(-45deg)}.cat-toggle[aria-expanded=true]:after{transform:rotate(45deg)}.cat-line{margin:9px 15px 11px;max-width:88ch}.cat-body{padding:0 15px 14px}.scenario-strip button[aria-expanded=true]{border-color:var(--accent);color:var(--accent-dim)}.ref-detail{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.search-key{display:inline-flex;align-items:center;gap:7px}.search-key kbd{font-family:var(--mono);font-size:11px;line-height:1;font-weight:600;padding:2px 5px;border-radius:3px;color:var(--ink-faint);background:var(--bg-sunken);box-shadow:var(--in-quiet)}.search-drawer input{width:100%}.search-keys{margin:6px 0 0}.search-count{margin:2px 0 10px;min-height:1.5em}.search-scope ul{margin:0 0 10px;padding-left:18px}.search-scope li{margin-bottom:2px}.search-empty button{margin-top:2px}.search-group+.search-group{margin-top:14px}.search-group-head{display:flex;align-items:baseline;gap:8px;padding:0 8px 4px;margin-bottom:4px;border-bottom:1px solid var(--line);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-faint)}.search-group-head .num{margin-left:auto;letter-spacing:0}.search-result{display:grid;grid-template-columns:58px minmax(0,1fr);gap:1px 10px;padding:6px 8px;border-radius:var(--radius);cursor:pointer}.search-result:hover{background:var(--bg-raised)}.search-result[aria-selected=true]{background:var(--bg-sunken);box-shadow:inset 2px 0 0 var(--accent)}.search-kind{grid-row:span 2;padding-top:2px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faint)}.search-title{font-size:14px;font-weight:600;color:var(--ink)}.search-context{font-size:12px;color:var(--ink-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-figure{color:var(--ink)}.search-result.is-gated .search-title{color:var(--ink-dim)}.search-result.is-gated .search-context{white-space:normal}.scope-wrap{container-type:inline-size;padding:10px 16px 12px;--tour-card: clamp(340px, 27cqw, 410px)}.tour{display:flex;flex-direction:column;gap:8px}.tour-top{display:flex;align-items:flex-end;gap:12px 18px;flex-wrap:wrap}.tour-h1{margin:0 4px 2px 0;font-size:24px}.tour-progress{list-style:none;margin:0;padding:0;display:flex;gap:12px;flex-wrap:wrap;flex:1}.tour-chapter{display:flex;flex-direction:column;gap:3px}.tour-chapter ol{list-style:none;margin:0;padding:0;display:flex;gap:4px}.tour-chapter-label{font-size:10.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-dim)}.tour-progress button[aria-current=step]{color:var(--bg-raised);background:var(--ink);box-shadow:var(--pressed)}.tour-progress button .mono{font-weight:700;margin-right:2px}.tour-skips{display:flex;gap:6px}.tour-stage{position:relative;height:max(420px,min(calc(100dvh - 166px),calc((100cqw - var(--tour-card) - 12px) * .532)));background:var(--bg);border:1px solid var(--line-strong);border-radius:10px;overflow:hidden}.tour-map{position:absolute;top:0;right:0;bottom:0;left:calc(var(--tour-card) + 12px);display:flex;align-items:center;justify-content:flex-end}.region-map.is-staged{width:100%;height:100%}.tour-panel{position:absolute;top:12px;bottom:12px;left:12px;width:var(--tour-card);z-index:1;display:flex;flex-direction:column;min-height:0;background:var(--panel);border-radius:10px;box-shadow:var(--sh-raise)}.tour-panel-body{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:12px 14px}.tour-count{margin:0;font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-dim)}.tour-title{font-size:21px;margin:0}.tour-body p{margin:0 0 .6em}.tour-body p:last-child{margin-bottom:0}.tour-body{font-size:15px;color:var(--ink);line-height:1.55}.tour-aside{font-size:13px;color:var(--ink-dim);margin:6px 0 0}.tour-try{background:var(--bg-sunken);box-shadow:var(--in-panel);border-radius:var(--radius);padding:9px 11px 10px}.tour-try-label{font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);margin:0 0 4px}.tour-question{display:block;font-size:14px;font-weight:600;color:var(--ink);margin:0 0 6px}.tour-keys{display:flex;flex-wrap:wrap;gap:5px}.tour-keys button{color:var(--ink)}.tour-keys button[aria-pressed=true]{background:var(--bg-raised);color:var(--ink);font-weight:700;box-shadow:var(--in-quiet),inset 0 0 0 2px var(--accent)}.class-key{display:inline-flex;align-items:center;gap:5px}.tour-answer{font-size:14px;color:var(--ink);margin:8px 0 0}.tour-table{font-size:13px}.tour-table th,.tour-table td{padding:3px 6px}.tour-table th[scope=row]{text-align:left;font-weight:600;color:var(--ink)}.tour-table thead th:first-child{text-align:left}.tour-cond{display:block;font-weight:400;font-size:12px;color:var(--ink-dim)}.tour-credit{color:var(--effective);font-weight:700}.tour-total th,.tour-total td{border-top:2px solid var(--line-strong)}.tour-bars td:nth-child(2){width:34%}.tour-bars td:last-child{white-space:nowrap;text-align:right}.tour-bar{display:block;height:8px;background:var(--bg);box-shadow:var(--in-quiet);border-radius:3px;overflow:hidden}.tour-bar-fill{display:block;height:100%;background:var(--ink-dim)}.tour-balance{display:flex;gap:18px;margin:8px 0 0}.tour-balance div{display:flex;flex-direction:column}.tour-balance dt{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-dim)}.tour-balance dd{margin:0;font-size:16px}.tour-short{color:var(--bad)}.tour-result{margin-top:8px;padding:8px 10px 10px;border-radius:var(--radius);background:var(--panel-2);box-shadow:var(--sh-raise)}.tour-result .tour-answer{margin-top:0}@media(prefers-color-scheme:dark){.tour-result{background:var(--bg-sunken);box-shadow:inset 0 0 0 1px var(--line-strong)}}.tour-short{font-weight:700}.tour-more{margin-top:6px}.tour-more-body{font-size:13px;color:var(--ink);margin-top:6px}.tour-more-body p{margin:0 0 6px}.tour-grades{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:4px 14px}.tour-grades li{display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:13px}.tour-grade-year{color:var(--ink);font-weight:600}.tour-grades .grade{font-size:12.5px;white-space:nowrap}.tour-fairness{border-top:1px solid var(--line);margin-top:10px;padding-top:8px;font-size:13.5px;color:var(--ink)}.tour-fairness p{margin:0 0 6px}.tour-loop{margin:6px 0 8px;padding-left:20px;display:grid;gap:5px}.tour-figures .figure-row:first-child{border-top:1px solid var(--line)}.tour-nav{flex:0 0 auto;flex-wrap:wrap;gap:8px;padding:8px 14px 10px;border-top:1px solid var(--line)}.tour-nav-count{margin-left:auto;font-size:13px;font-weight:600;color:var(--ink-dim);white-space:nowrap}.tour-map-foot{display:flex;align-items:baseline;gap:4px 12px;flex-wrap:wrap}.tour-map-caption{margin:0}.region-map{display:block;width:100%;height:auto}.scope-figures-heading{margin-top:18px}.figure-row{border-top:1px solid var(--line);padding:9px 0}.figure-row-unit{width:118px;flex:0 0 auto}.tour-figures .figure-row .row{flex-wrap:wrap;row-gap:2px}.tour-figures .figure-row .row>span:first-child{flex:1 0 100%!important}.tour-figures .figure-row .num{white-space:normal!important;margin-right:auto}.tour-figures .figure-row-unit{width:auto;margin-right:8px}.scope-map-text{max-width:96ch;margin-top:6px}.scope-map-text h3{margin-top:12px}.scope-map-text ul{margin:0 0 8px;padding-left:18px}.focus-target:focus:not(:focus-visible){outline:none}.modeling-frame{display:grid;grid-template-columns:11rem minmax(0,72ch);gap:10px 18px;margin:8px 0 0}.modeling-frame dt{font-weight:650;color:var(--ink)}.modeling-frame dd{margin:0;font-size:14.5px;line-height:1.55;color:var(--ink)}.modeling-wrap ul.small{margin:0 0 8px;padding-left:18px;display:grid;gap:4px;max-width:80ch}
