:root{--ds-black: #000000;--ds-white: #ffffff;--ds-blue-50: #eff5fe;--ds-blue-100: #cfe2ff;--ds-blue-200: #9ec5ff;--ds-blue-300: #6ea9ff;--ds-blue-400: #3d8cff;--ds-blue-500: #0d6fe1;--ds-blue-600: #0a59cc;--ds-blue-700: #084399;--ds-blue-800: #0d2c58;--ds-blue-900: #041e46;--ds-cream-50: #f7f5f4;--ds-cream-100: #ece9e6;--ds-cream-200: #dad5d1;--ds-cream-300: #c1bbb6;--ds-cream-400: #a19a94;--ds-cream-500: #827973;--ds-cream-600: #655d58;--ds-cream-700: #48423e;--ds-cream-800: #2d2926;--ds-cream-900: #161412;--ds-gray-50: #f8f8f8;--ds-gray-100: #ebebeb;--ds-gray-200: #d7d7d7;--ds-gray-300: #bebebe;--ds-gray-400: #9b9b9b;--ds-gray-500: #838383;--ds-gray-600: #606060;--ds-gray-700: #424242;--ds-gray-800: #2c2c2c;--ds-gray-900: #171717;--ds-red-50: #ffe4e1;--ds-red-100: #fbd3d0;--ds-red-200: #fdb1ab;--ds-red-300: #fb8d87;--ds-red-400: #f56361;--ds-red-500: #ea2f3b;--ds-red-600: #c21f2c;--ds-red-700: #921921;--ds-red-800: #611215;--ds-red-900: #330b0b;--ds-orange-50: #ffefe3;--ds-orange-100: #fae1cf;--ds-orange-200: #f9c9a6;--ds-orange-300: #f3ae7a;--ds-orange-400: #ea9146;--ds-orange-500: #db7807;--ds-orange-600: #b15f03;--ds-orange-700: #874804;--ds-orange-800: #5a2d00;--ds-orange-900: #341c07;--ds-green-50: #e5f7e7;--ds-green-100: #d2edd5;--ds-green-200: #ade0b5;--ds-green-300: #81d090;--ds-green-400: #4ebf6a;--ds-green-500: #04ac4a;--ds-green-600: #048c3c;--ds-green-700: #066a2c;--ds-green-800: #01481b;--ds-green-900: #072810;--ds-font-sans: var(--ds-next-font-sans, "Inter"), -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--ds-font-serif: var(--ds-next-font-serif, "Libre Baskerville"), Georgia, "Times New Roman", serif;--ds-text-primary: var(--ds-gray-800);--ds-text-secondary: var(--ds-gray-600);--ds-border-subtle: var(--ds-cream-200);--ds-surface-default: var(--ds-white);--ds-surface-subtle: var(--ds-cream-50);--ds-accent-action: var(--ds-blue-500);--ds-accent-action-hover: var(--ds-blue-600);--ds-destructive-action: var(--ds-red-600);--ds-grey-400: #d2cecd;--ds-surface-inset: var(--ds-cream-100);--ds-surface-raised: var(--ds-white);--ds-surface-inverse: var(--ds-cream-900);--ds-text-muted: var(--ds-cream-600);--ds-text-faint: var(--ds-cream-400);--ds-text-inverse: var(--ds-white);--ds-text-heading: var(--ds-black);--ds-border-strong: var(--ds-cream-300);--ds-accent-pressed: var(--ds-blue-700);--ds-accent-subtle: var(--ds-blue-100);--ds-accent-subtle-hover: var(--ds-blue-200);--ds-accent-text: var(--ds-blue-700);--ds-accent-faint: var(--ds-blue-50);--ds-success: var(--ds-green-500);--ds-success-text: var(--ds-green-700);--ds-success-subtle: var(--ds-green-50);--ds-warning: var(--ds-orange-500);--ds-warning-text: var(--ds-orange-700);--ds-warning-subtle: var(--ds-orange-50);--ds-danger: var(--ds-red-500);--ds-danger-hover: var(--ds-red-600);--ds-danger-text: var(--ds-red-700);--ds-danger-subtle: var(--ds-red-50);--ds-focus-ring: var(--ds-blue-300);--ds-control-border: var(--ds-cream-300);--ds-control-muted: var(--ds-cream-600);--ds-control-hover-bg: var(--ds-cream-100);--ds-space-1: 4px;--ds-space-2: 8px;--ds-space-3: 12px;--ds-space-4: 16px;--ds-space-5: 20px;--ds-space-6: 24px;--ds-space-8: 32px;--ds-space-10: 40px;--ds-space-12: 48px;--ds-space-16: 64px;--ds-radius-sm: 4px;--ds-radius-md: 10px;--ds-radius-lg: 15px;--ds-radius-xl: 30px;--ds-radius-full: 9999px;--ds-shadow-sm: 0 1px 2px rgba(22, 20, 18, .06);--ds-shadow-md: 0 4px 12px rgba(22, 20, 18, .08);--ds-shadow-lg: 0 12px 32px rgba(22, 20, 18, .12);--ds-shadow-overlay: 0 17px 45px rgba(0, 0, 0, .5), 0 0 1px rgba(0, 0, 0, .2);--ds-aura-shadow: 0px -26px 140px 0px rgba(137, 193, 239, .45), 60px 20px 164px 0px rgba(255, 126, 182, .25), 40px 114px 180px 0px rgba(217, 217, 144, .2)}[data-theme=dark]{--ds-text-primary: var(--ds-white);--ds-text-secondary: var(--ds-blue-100);--ds-border-subtle: var(--ds-blue-800);--ds-surface-default: var(--ds-blue-900);--ds-surface-subtle: var(--ds-blue-800);--ds-accent-action: var(--ds-blue-500);--ds-accent-action-hover: var(--ds-blue-400);--ds-destructive-action: var(--ds-red-400);--ds-surface-inset: var(--ds-blue-800);--ds-surface-raised: var(--ds-blue-800);--ds-surface-inverse: var(--ds-white);--ds-text-muted: var(--ds-blue-200);--ds-text-faint: var(--ds-blue-300);--ds-text-inverse: var(--ds-blue-900);--ds-text-heading: var(--ds-white);--ds-border-strong: var(--ds-blue-700);--ds-accent-pressed: var(--ds-blue-300);--ds-accent-subtle: var(--ds-blue-100);--ds-accent-subtle-hover: var(--ds-white);--ds-accent-text: var(--ds-blue-800);--ds-accent-faint: var(--ds-blue-800);--ds-success-text: var(--ds-green-300);--ds-success-subtle: var(--ds-green-900);--ds-warning-text: var(--ds-orange-300);--ds-warning-subtle: var(--ds-orange-900);--ds-danger-text: var(--ds-red-300);--ds-danger-subtle: var(--ds-red-900);--ds-focus-ring: var(--ds-blue-300);--ds-control-border: var(--ds-blue-200);--ds-control-muted: var(--ds-blue-200);--ds-control-hover-bg: var(--ds-blue-700)}.ds-display-lg{color:var(--ds-text-heading);font-family:var(--ds-font-serif);font-weight:400;font-size:52px;line-height:64px;letter-spacing:-.02em}.ds-display-md{color:var(--ds-text-heading);font-family:var(--ds-font-sans);font-weight:500;font-size:45px;line-height:52px;letter-spacing:-.02em}.ds-display-sm{color:var(--ds-text-heading);font-family:var(--ds-font-sans);font-weight:500;font-size:36px;line-height:44px;letter-spacing:-.02em}.ds-headline-lg{color:var(--ds-text-heading);font-family:var(--ds-font-serif);font-weight:400;font-size:32px;line-height:44px;letter-spacing:-.015em}.ds-headline-md{color:var(--ds-text-heading);font-family:var(--ds-font-sans);font-weight:400;font-size:28px;line-height:36px;letter-spacing:-.015em}.ds-headline-sm{color:var(--ds-text-heading);font-family:var(--ds-font-sans);font-weight:500;font-size:24px;line-height:32px;letter-spacing:-.015em}.ds-title-lg{color:var(--ds-text-heading);font-family:var(--ds-font-serif);font-weight:400;font-size:22px;line-height:36px;letter-spacing:-.01em}.ds-title-md{font-family:var(--ds-font-sans);font-weight:500;font-size:18px;line-height:28px;letter-spacing:-.01em}.ds-title-sm{font-family:var(--ds-font-sans);font-weight:500;font-size:15px;line-height:22px;letter-spacing:-.01em}.ds-body-lg{font-family:var(--ds-font-sans);font-weight:400;font-size:17px;line-height:28px;letter-spacing:0}.ds-body-md{font-family:var(--ds-font-sans);font-weight:400;font-size:15px;line-height:24px;letter-spacing:.005em}.ds-body-sm{font-family:var(--ds-font-sans);font-weight:400;font-size:13px;line-height:20px;letter-spacing:0}.ds-label-lg{font-family:var(--ds-font-sans);font-weight:600;font-size:13px;line-height:16px;letter-spacing:.02em;text-transform:uppercase}.ds-label-md{font-family:var(--ds-font-sans);font-weight:600;font-size:11px;line-height:15px;letter-spacing:0}.ds-label-sm{font-family:var(--ds-font-sans);font-weight:500;font-size:11px;line-height:15px;letter-spacing:.01em}.ds-button-lg{font-family:var(--ds-font-sans);font-weight:500;font-size:15px;line-height:22px;letter-spacing:-.01em}.ds-button-md{font-family:var(--ds-font-sans);font-weight:500;font-size:13px;line-height:20px;letter-spacing:-.005em}.ds-button-sm{font-family:var(--ds-font-sans);font-weight:600;font-size:11px;line-height:15px;letter-spacing:0}:root{--bg: var(--ds-surface-subtle);--panel: var(--ds-surface-default);--border: var(--ds-grey-400);--grid-line: var(--ds-border-subtle);--ink: var(--ds-text-primary);--muted: var(--ds-text-secondary);--accent: var(--ds-accent-action);--accent-hover: var(--ds-accent-action-hover);--ok: var(--ds-success-text);--ok-bg: var(--ds-success-subtle);--bad: var(--ds-danger-text);--bad-bg: var(--ds-danger-subtle);--warn: var(--ds-warning-text);--warn-bg: var(--ds-warning-subtle);--mono: "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--radius-control: var(--ds-radius-sm);--radius-card: var(--ds-radius-md)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--ds-font-sans);font-size:14px;line-height:1.45;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--accent)}.app{display:flex;flex-direction:column;height:100%}.mono{font-family:var(--mono)}.dim{color:var(--muted)}.num{text-align:right}.topbar{display:flex;align-items:center;gap:20px;padding:12px 22px;background:var(--ds-surface-inverse);color:var(--ds-text-inverse);box-shadow:var(--ds-shadow-sm);flex-wrap:wrap}.brand{font-family:var(--ds-font-serif);color:var(--ds-text-inverse);margin:0}.topbar .tabs{display:flex;gap:4px}.topbar .tabs a{color:var(--ds-text-inverse);opacity:.75;text-decoration:none;padding:6px 10px;border-radius:var(--radius-control);font-weight:500}.topbar .tabs a:hover{opacity:1}.topbar .tabs a.active{opacity:1;background:color-mix(in srgb,var(--ds-white) 14%,transparent)}.spacer{flex:1}.topbar .btn--ghost{background:transparent;color:var(--ds-text-inverse);border-color:color-mix(in srgb,var(--ds-white) 35%,transparent)}.pane{flex:1;min-height:0;overflow:auto}.page{max-width:880px;margin:0 auto;padding:26px 22px 48px}.page--wide{max-width:1240px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}.page-head h1{margin:4px 0 0;color:var(--ds-text-heading);font-family:var(--ds-font-serif)}.page-head h1 small{font-size:.6em;font-weight:400}.page-actions{display:flex;gap:8px;align-items:center}.back-link{font-size:12.5px;text-decoration:none}.note{color:var(--muted);max-width:640px}.meta-row{display:flex;gap:18px;flex-wrap:wrap;margin:-6px 0 16px;font-size:12.5px}input,select,button{font:inherit;padding:7px 11px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--panel);color:var(--ink)}button{cursor:pointer}input:focus,select:focus,button:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--ds-focus-ring) 45%,transparent)}.btn{font-weight:500;text-decoration:none;display:inline-flex;align-items:center;gap:6px}.btn--primary{background:var(--accent);border-color:var(--accent);color:var(--ds-white)}.btn--primary:hover{background:var(--accent-hover)}.btn--danger{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 40%,transparent)}.btn:disabled{opacity:.6;cursor:default}.scope-row{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}.scope-toggle{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius-control);overflow:hidden}.scope-toggle button{border:none;border-radius:0;background:var(--panel);color:var(--muted);padding:7px 16px;font-weight:500}.scope-toggle button+button{border-left:1px solid var(--border)}.scope-toggle button.active{background:var(--ds-accent-subtle);color:var(--ds-accent-text)}.scope-hint{color:var(--muted);font-size:12.5px}.table-wrap{background:var(--panel);border:1px solid var(--grid-line);border-radius:var(--radius-card);overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:13.5px}.data-table th{text-align:left;color:var(--muted);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em;padding:10px 12px;border-bottom:1px solid var(--grid-line);white-space:nowrap}.data-table th.num{text-align:right}.data-table td{padding:9px 12px;border-bottom:1px solid var(--grid-line)}.data-table tbody tr:last-child td{border-bottom:none}.row-link{cursor:pointer}.row-link:hover{background:var(--ds-surface-subtle)}.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;border:1px solid transparent;white-space:nowrap}.pill--ok{background:var(--ok-bg);color:var(--ok)}.pill--bad{background:var(--bad-bg);color:var(--bad)}.pill--wait{background:var(--warn-bg);color:var(--warn)}.pill--live{background:var(--ds-accent-subtle);color:var(--ds-accent-text)}.pill--muted{background:var(--ds-surface-inset);color:var(--muted)}.pill-dot{width:7px;height:7px;border-radius:50%;background:currentColor;animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{50%{opacity:.35}}.pill-code{font-family:var(--mono);font-weight:400}.timeline{list-style:none;margin:0 0 18px;padding:0;background:var(--panel);border:1px solid var(--grid-line);border-radius:var(--radius-card);max-width:480px}.timeline li{display:flex;justify-content:space-between;gap:16px;padding:10px 14px;border-bottom:1px solid var(--grid-line)}.timeline li:last-child{border-bottom:none}.timeline li.todo .timeline-label{color:var(--muted)}.timeline-label{font-weight:500}.timeline-meta{background:var(--ds-surface-subtle)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.model-card{display:flex;flex-direction:column;gap:4px;padding:16px;background:var(--panel);border:1px solid var(--grid-line);border-radius:var(--radius-card);text-decoration:none;color:var(--ink);transition:box-shadow .12s ease}.model-card:hover{box-shadow:var(--ds-shadow-md)}.model-ticker{font-family:var(--ds-font-serif);color:var(--ds-text-heading)}.model-card--stale{opacity:.75}.model-stale-note{font-size:12px;color:var(--warn)}.statement-wrap{margin-top:12px}.statement .line-col{position:sticky;left:0;background:var(--panel);min-width:260px;max-width:380px}.statement .unit{font-size:11.5px}.statement td.col-forecast,.statement th.col-forecast{background:var(--ds-accent-faint)}.forecast-tag{margin-left:4px;font-size:10px;color:var(--ds-accent-text);vertical-align:super}.build-form{display:flex;flex-direction:column;gap:14px;max-width:380px}.field{display:flex;flex-direction:column;gap:4px}.field-label{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.login-wrap{min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{background:var(--panel);border:1px solid var(--grid-line);border-radius:var(--radius-card);box-shadow:var(--ds-shadow-md);padding:32px 36px;max-width:420px;text-align:center;display:flex;flex-direction:column;gap:14px}.login-card h1{margin:0;font-family:var(--ds-font-serif);color:var(--ds-text-heading)}.login-copy{margin:0;color:var(--muted)}.login-copy--warn{color:var(--warn)}.state{padding:40px 22px;text-align:center;color:var(--muted);display:flex;flex-direction:column;gap:10px;align-items:center}.state--error{color:var(--bad)}.state-copy{margin:0;color:var(--muted);max-width:420px}.state-detail{font-family:var(--mono);font-size:12.5px;color:var(--muted);word-break:break-word}.state--empty code{font-family:var(--mono);background:var(--ds-surface-inset);padding:0 4px;border-radius:3px}.spinner{width:14px;height:14px;border:2px solid var(--grid-line);border-top-color:var(--accent);border-radius:50%;display:inline-block;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
