:root{--bg-base:#faf8f4;--bg-surface:#f4f0e8;--bg-elevated:#fff;--bg-subtle:#ede8de;--border-default:#e0d8cc;--border-strong:#c8bfb0;--border-focus:#cf3421;--text-primary:#1a1410;--text-secondary:#6b5e50;--text-tertiary:#9c8e80;--text-disabled:#c4b8a8;--text-inverse:#faf8f4;--accent:#cf3421;--accent-hover:#b02a19;--accent-subtle:#f7eae8;--accent-border:#e8b4ac;--success:#2d6a4f;--success-bg:#ecfaef;--warning:#92400e;--warning-bg:#fef3c7;--danger:#cf3421;--danger-bg:#f7eae8;--info:#1e3a5f;--info-bg:#ebf2fa;--heat-0:#2d6a4f;--heat-1:#92400e;--heat-2:#b45309;--heat-3:#c2410c;--heat-4:#cf3421;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--space-24:96px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:24px;--radius-pill:999px;--shadow-sm:0 2px 8px #1a14100f;--shadow-md:0 4px 16px #1a141014;--shadow-lg:0 8px 24px #1a14101a;--shadow-xl:0 16px 48px #1a14101f;--grain-opacity:.025;--sidebar-width:220px;--navbar-height:56px;--content-max-width:1400px;--landing-max-width:1200px;--content-padding:32px;--landing-padding:48px;--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.35s ease;--font-display:"Fraunces", "Fraunces-fallback", Georgia, serif;--font-ui:"DM Sans", "DM-Sans-fallback", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"IBM Plex Mono", "Courier New", monospace}[data-theme=dark]{--bg-base:#100e0c;--bg-surface:#181410;--bg-elevated:#221e1a;--bg-subtle:#2c2520;--border-default:#2c2520;--border-strong:#3e3530;--border-focus:#e8622a;--text-primary:#f0ede8;--text-secondary:#8a7a6e;--text-tertiary:#5a4e45;--text-disabled:#3e3530;--text-inverse:#100e0c;--accent:#e8622a;--accent-hover:#f07040;--accent-subtle:#2a1a10;--accent-border:#5a2810;--success:#4ade80;--success-bg:#052a14;--warning:#fcd34d;--warning-bg:#2a1f08;--danger:#e8622a;--danger-bg:#2a1a10;--info:#7dd3fc;--info-bg:#0c1e2e;--heat-0:#4ade80;--heat-1:#fcd34d;--heat-2:#fb923c;--heat-3:#f97316;--heat-4:#e8622a;--shadow-sm:0 2px 8px #0003;--shadow-md:0 4px 16px #00000047;--shadow-lg:0 8px 24px #0000005c;--shadow-xl:0 16px 48px #0006;--grain-opacity:.04}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{background-color:var(--bg-base);color:var(--text-primary);scroll-behavior:smooth}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-surface)}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-pill)}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}::selection{background:var(--accent-subtle);color:var(--accent)}body{background-color:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}.surface-base{background-color:var(--bg-base)}.surface-card{background-color:var(--bg-surface)}.surface-elevated{background-color:var(--bg-elevated)}.surface-subtle{background-color:var(--bg-subtle)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-accent{color:var(--accent)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-danger{color:var(--danger)}.border-default{border:1px solid var(--border-default)}.border-strong{border:1px solid var(--border-strong)}.border-accent{border:1px solid var(--accent-border)}.heat-clean{color:var(--heat-0)}.heat-warming{color:var(--heat-1)}.heat-hot{color:var(--heat-2)}.heat-critical{color:var(--heat-3)}.heat-imminent{color:var(--heat-4)}.accent-border-left{border-left:3px solid var(--accent)}.label-upper{letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary);font-size:10px;font-weight:600}body{filter:url(#paper-grain)}[data-theme=dark] body{filter:url(#paper-grain-dark)}.no-grain,dialog,[role=dialog],video{filter:none!important}@media (max-width:768px){.nav-links{display:none!important}.problem-gap-grid{grid-template-columns:1fr!important}}:root{--font-display:"Fraunces", Georgia, serif;--font-ui:"DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"IBM Plex Mono", "Courier New", monospace}body{font-family:var(--font-ui);font-optical-sizing:auto;font-size:15px;font-weight:400;line-height:1.75}h1,h2,h3{font-family:var(--font-display);font-optical-sizing:auto;line-height:1.1}code,pre,kbd,samp{font-family:var(--font-mono);font-size:.875em}.tabular{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.type-display-xl{font-family:var(--font-display);letter-spacing:-.03em;font-optical-sizing:auto;font-size:clamp(52px,7vw,80px);font-weight:800;line-height:1.05}.type-display-lg{font-family:var(--font-display);letter-spacing:-.02em;font-optical-sizing:auto;font-size:48px;font-weight:700;line-height:1.1}.type-display-md{font-family:var(--font-display);letter-spacing:-.02em;font-optical-sizing:auto;font-size:36px;font-weight:700;line-height:1.15}.type-display-sm{font-family:var(--font-display);letter-spacing:-.01em;font-optical-sizing:auto;font-size:24px;font-weight:600;line-height:1.2}.type-heading-lg{font-family:var(--font-ui);letter-spacing:-.01em;font-size:20px;font-weight:600;line-height:1.3}.type-heading-md{font-family:var(--font-ui);letter-spacing:0;font-size:16px;font-weight:600;line-height:1.4}.type-body-lg{font-family:var(--font-ui);letter-spacing:0;font-size:15px;font-weight:400;line-height:1.75}.type-body-md{font-family:var(--font-ui);letter-spacing:0;font-size:13px;font-weight:400;line-height:1.6}.type-label-md{font-family:var(--font-ui);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:600;line-height:1.4}.type-label-sm{font-family:var(--font-ui);letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:600;line-height:1.4}.type-mono-lg{font-family:var(--font-mono);letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:13px;font-weight:500;line-height:1.5}.type-mono-md{font-family:var(--font-mono);letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:12px;font-weight:500;line-height:1.5}.type-mono-sm{font-family:var(--font-mono);letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:11px;font-weight:400;line-height:1.5}.type-mono-xs{font-family:var(--font-mono);letter-spacing:0;font-variant-numeric:tabular-nums;font-size:10px;font-weight:400;line-height:1.6}.type-score-hero{font-family:var(--font-display);letter-spacing:-.03em;font-optical-sizing:auto;font-variant-numeric:tabular-nums;font-feature-settings:"tnum";font-size:64px;font-weight:700;line-height:1}.type-kpi{font-family:var(--font-display);letter-spacing:-.02em;font-optical-sizing:auto;font-variant-numeric:tabular-nums;font-feature-settings:"tnum";font-size:48px;font-weight:700;line-height:1}.type-ticker{font-family:var(--font-mono);letter-spacing:.02em;white-space:nowrap;font-size:11px;font-weight:400;line-height:1}.type-hero-wonk{font-family:var(--font-display);font-variation-settings:"opsz" 144, "WONK" 1;letter-spacing:-.03em;font-size:clamp(42px,7vw,80px);font-weight:800;line-height:1.05}.type-score-opsz{font-variation-settings:"opsz" 72, "WONK" 0}.type-display-opsz{font-variation-settings:"opsz" 48, "WONK" 0}.text-display-xl{font-family:var(--font-display);font-variation-settings:"opsz" 144, "WONK" 1;letter-spacing:-.03em;font-size:clamp(52px,7vw,80px);font-weight:800;line-height:1.05}.text-display-lg{font-family:var(--font-display);font-variation-settings:"opsz" 72, "WONK" 0;letter-spacing:-.02em;font-size:48px;font-weight:700;line-height:1.1}.text-display-md{font-family:var(--font-display);font-variation-settings:"opsz" 48, "WONK" 0;letter-spacing:-.02em;font-size:36px;font-weight:700;line-height:1.15}.text-display-sm{font-family:var(--font-display);font-variation-settings:"opsz" 32, "WONK" 0;letter-spacing:-.01em;font-size:24px;font-weight:600;line-height:1.2}.text-heading-lg{font-family:var(--font-ui);letter-spacing:-.01em;font-size:20px;font-weight:600;line-height:1.3}.text-heading-md{font-family:var(--font-ui);letter-spacing:0;font-size:16px;font-weight:600;line-height:1.4}.text-body-lg{font-family:var(--font-ui);letter-spacing:0;font-size:15px;font-weight:400;line-height:1.75}.text-body-md{font-family:var(--font-ui);letter-spacing:0;font-size:13px;font-weight:400;line-height:1.6}.text-label-md{font-family:var(--font-ui);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:600;line-height:1.4}.text-label-sm{font-family:var(--font-ui);letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:600;line-height:1.4}.text-mono-md{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:12px;font-weight:500;line-height:1.5}.text-mono-sm{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:11px;font-weight:400;line-height:1.5}.text-mono-xs{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:0;font-size:10px;font-weight:400;line-height:1.6}.score-display,.amount,.stat-number{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}*,:before,:after{transition:background-color .25s,background .25s,border-color .25s,color .25s,fill .25s,stroke .25s,box-shadow .25s,outline-color .25s}.motion-element,.motion-element *{transition:none!important}.card-hover{transition:transform .18s,box-shadow .18s,background-color .25s,border-color .25s}.card-hover:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}@keyframes ticker-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.ticker-track{will-change:transform;animation:60s linear infinite ticker-scroll}@keyframes draw-line{0%{stroke-dashoffset:2000px}to{stroke-dashoffset:0}}@keyframes bounce-caret{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(6px)}}@keyframes blink-cursor{0%,to{opacity:1}50%{opacity:0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes prism-line-draw{0%{stroke-dashoffset:2000px;opacity:.3}to{stroke-dashoffset:0;opacity:1}}.recharts-line-curve{stroke-dasharray:2000;stroke-dashoffset:2000px;animation:1.4s cubic-bezier(.4,0,.2,1) forwards prism-line-draw}@keyframes prism-ticker{0%{transform:translate(0)}to{transform:translate(-50%)}}.ticker-track{white-space:nowrap;will-change:transform;gap:0;animation:60s linear infinite prism-ticker;display:flex}.ticker-track:hover{animation-play-state:running}@keyframes prism-health-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.85)}}.health-dot{border-radius:var(--radius-pill);width:6px;height:6px;display:inline-block}.health-dot.healthy{background-color:var(--success);animation:2s ease-in-out infinite prism-health-pulse}.health-dot.degraded{background-color:var(--warning)}.health-dot.down{background-color:var(--danger)}.stamp-pulse{border-radius:var(--radius-pill);border:2px solid var(--accent);pointer-events:none;width:12px;height:12px;position:absolute;top:50%;left:0;transform:translate(-50%,-50%)}.threshold-stamp{align-items:center;gap:var(--space-2);transform-origin:0;pointer-events:none;display:flex;position:absolute;left:0}.stamp-label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);white-space:nowrap;font-size:9px;font-weight:500}.shap-bar-track{background-color:var(--bg-subtle);border-radius:var(--radius-pill);width:100%;height:4px;overflow:hidden}.shap-bar-fill{border-radius:var(--radius-pill);background-color:var(--accent);width:0%;height:100%;transition:none}.stat-counter{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-feature-settings:"tnum";display:inline-block}@keyframes prism-sidebar-slide{0%{opacity:0;transform:scaleY(0)}to{opacity:1;transform:scaleY(1)}}.sidebar-active-indicator{background-color:var(--accent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;transform-origin:top;width:2px;animation:.2s ease-out forwards prism-sidebar-slide;position:absolute;top:0;bottom:0;left:0}.ticker-track{will-change:transform}.health-dot.healthy{will-change:opacity, transform}@keyframes prism-badge-pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes prism-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.view-transition-wrapper{flex:1;width:100%;position:relative;overflow:hidden}.motion-view{will-change:transform;width:100%}
