:root{--gray-0: #ffffff;--gray-50: #f7f8fa;--gray-100: #eef0f4;--gray-150: #eef0f3;--gray-200: #e1e4ea;--gray-300: #c9cdd6;--gray-500: #7d8394;--gray-600: #555b69;--gray-800: #2c303d;--gray-900: #1a1d26;--indigo-600: #544bc9;--indigo-700: #3a32a5;--indigo-100: #eeedfa;--indigo-50: #fbfbfe;--indigo-300: #8f89dd;--indigo-sel: #dedcf7;--green-700: #1a7f4e;--green-100: #e8f5ee;--green-300: #bfe3cf;--amber-700: #96620d;--amber-100: #fdf3e1;--amber-300: #f0dcb4;--red-600: #b3372f;--red-800: #8a2b24;--red-100: #fceceb;--red-300: #f2cbc8;--gold-500: #f0b429;--bg-canvas: var(--gray-150);--bg-surface: var(--gray-0);--bg-sunken: var(--gray-50);--border-strong: var(--gray-300);--border-default: var(--gray-200);--border-hairline: var(--gray-100);--text-primary: var(--gray-900);--text-secondary: var(--gray-600);--text-muted: var(--gray-500);--text-on-action: var(--gray-0);--action-primary: var(--indigo-600);--action-primary-hover: var(--indigo-700);--action-tint: var(--indigo-100);--link: var(--indigo-600);--danger: var(--red-600);--success: var(--green-700);--warning: var(--amber-700);--selection: var(--indigo-sel);--font-sans: "IBM Plex Sans", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--text-xs: 12px;--text-sm: 13px;--text-md: 14px;--text-lg: 16px;--text-xl: 20px;--text-2xl: 24px;--text-3xl: 32px;--text-4xl: 44px;--leading-tight: 1.15;--leading-normal: 1.5;--leading-relaxed: 1.6;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--tracking-label: .04em;--tracking-tight: -.01em;--tracking-display: -.02em;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--border-w: 1px;--border-w-heavy: 2px;--shadow-card: 0 1px 2px rgba(16,18,27,.04);--duration-instant: 60ms;--duration-fast: .12s;--duration-base: .2s;--ease-out: cubic-bezier(.2, 0, 0, 1);--z-sticky: 10;--z-drawer: 40;--z-dialog: 50;--z-toast: 60;--focus-ring: 0 0 0 2px var(--bg-surface), 0 0 0 4px var(--indigo-600);--state-assembling: var(--gray-500);--state-estimating: var(--gray-600);--state-awaiting-approval: var(--amber-700);--state-planning: var(--gray-600);--state-awaiting-budget-override: var(--amber-700);--state-scheduled: var(--indigo-600);--state-executing: var(--green-700);--state-reconciling: var(--indigo-600);--state-auditing: var(--indigo-600);--state-retro: var(--gray-500);--state-done: var(--green-700);--state-blocked: var(--red-600);--state-failed: var(--red-600);--state-cancelled: var(--gray-500);--gate-pending: var(--amber-700);--gate-pending-bg: var(--amber-100);--gate-approved: var(--green-700);--gate-approved-bg: var(--green-100);--gate-rejected: var(--red-600);--gate-rejected-bg: var(--red-100);--gate-auto-approved: var(--indigo-600);--gate-auto-approved-bg: var(--indigo-100);--confidence-high: var(--green-700);--confidence-medium: var(--amber-700);--confidence-low: var(--red-600);--variance-under: var(--green-700);--variance-in-band: var(--gray-600);--variance-over: var(--red-600);--cap-safe: var(--green-700);--cap-approaching: var(--amber-700);--cap-exceeded: var(--red-600);--step-reply: #0e7490;--step-reply-bg: #e6f4f7;--step-implement: #7c2d92;--step-implement-bg: #f6ecf9;--doctor-pass: var(--green-700);--doctor-warn: var(--amber-700);--doctor-fail: var(--red-600);--doctor-unknown: var(--gray-500)}[data-theme=dark]{--bg-canvas: #12141b;--bg-surface: #1a1d26;--bg-sunken: #161922;--border-strong: #3a3f4d;--border-default: #2c303d;--border-hairline: #232734;--text-primary: #eef0f4;--text-secondary: #9aa0b0;--text-muted: #7d8394;--action-primary: #8f89dd;--action-primary-hover: #a5a0e6;--action-tint: #262347;--link: #8f89dd;--selection: #33305e;--danger: #e0655c;--success: #3fae76;--warning: #d9a03c}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/ibm-plex-mono-400-BJoXLJYV.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/ibm-plex-mono-500-C820gu2e.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/ibm-plex-sans-400-BD64o3ke.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/ibm-plex-sans-400-BD64o3ke.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/ibm-plex-sans-400-BD64o3ke.woff2) format("woff2")}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--bg-canvas);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased}::selection{background:var(--selection)}a{color:var(--link)}:focus-visible{outline:none;box-shadow:var(--focus-ring)}a,button,summary,input,select,textarea{transition:background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}button:active:not(:disabled),a[role=button]:active{transform:translateY(1px)}@keyframes gensasFadeIn{0%{opacity:0}}@keyframes gensasRiseIn{0%{opacity:0;transform:translateY(6px)}}.gensas-enter{animation:gensasFadeIn var(--duration-base) var(--ease-out)}.gensas-rise{animation:gensasRiseIn var(--duration-base) var(--ease-out)}:focus-visible{transition:none}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}button:active:not(:disabled),a[role=button]:active{transform:none}}html{height:100%}.route-progress{position:fixed;top:0;left:0;height:2px;width:100%;z-index:var(--z-toast);transform-origin:0 50%;background:linear-gradient(90deg,var(--action-primary),var(--indigo-300));animation:routeProgress 1.6s var(--ease-out) forwards}@keyframes routeProgress{0%{transform:scaleX(0);opacity:1}40%{transform:scaleX(.6)}to{transform:scaleX(.92);opacity:1}}@media (prefers-reduced-motion: reduce){.route-progress{animation:none;transform:scaleX(1);opacity:.6}}
