.ai-app,.ai-theme{--ai-bg:#f6f6fb;--ai-surface:#fff;--ai-surface-2:#fafaff;--ai-sunken:#eeeef7;--ai-border:#e2e2ee;--ai-border-strong:#c7c7dc;--ai-ink:#16161f;--ai-ink-2:#4a4a5e;--ai-muted:#83839b;--ai-accent:#5b5bd6;--ai-accent-strong:#4747bd;--ai-accent-soft:#ececfb;--ai-accent-ink:#fff;--ai-spend-low:#16a34a;--ai-spend-mid:#d97706;--ai-spend-high:#dc2626;--ai-success:#157f4a;--ai-success-soft:#e6f6ed;--ai-warn:#92590a;--ai-warn-soft:#fdf4e3;--ai-danger:#b3261e;--ai-danger-soft:#fcecea;--ai-info:#1d4ed8;--ai-info-soft:#eaf0fe;--ai-pulse:#5b5bd6;--ai-shadow:0 1px 2px rgba(22,22,31,.04),0 8px 24px rgba(22,22,31,.06);--ai-shadow-lg:0 24px 60px rgba(22,22,31,.18);--ai-radius:12px;--ai-radius-sm:8px;--ai-radius-lg:18px;--ai-font:"Manrope","Segoe UI",system-ui,-apple-system,sans-serif;--ai-font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--ai-hue-sat:62%;--ai-hue-light:42%;--ai-hue-soft-sat:78%;--ai-hue-soft-light:95%}[data-ai-theme=dark] .ai-app,[data-ai-theme=dark] .ai-theme{--ai-bg:#131318;--ai-surface:#1c1c23;--ai-surface-2:#22222b;--ai-sunken:#101014;--ai-border:#2e2e3a;--ai-border-strong:#43434f;--ai-ink:#f2f2f7;--ai-ink-2:#b7b7c6;--ai-muted:#83839b;--ai-accent:#8b8bf0;--ai-accent-strong:#a5a5f7;--ai-accent-soft:rgba(139,139,240,.15);--ai-accent-ink:#14142a;--ai-spend-low:#4ade80;--ai-spend-mid:#fbbf24;--ai-spend-high:#f87171;--ai-success:#5cbb85;--ai-success-soft:rgba(92,187,133,.14);--ai-warn:#e0a955;--ai-warn-soft:rgba(224,169,85,.14);--ai-danger:#e8736a;--ai-danger-soft:rgba(232,115,106,.14);--ai-info:#7fa9e0;--ai-info-soft:rgba(127,169,224,.14);--ai-pulse:#8b8bf0;--ai-shadow:0 1px 2px rgba(0,0,0,.32),0 8px 24px rgba(0,0,0,.36);--ai-shadow-lg:0 24px 60px rgba(0,0,0,.52);--ai-hue-sat:58%;--ai-hue-light:68%;--ai-hue-soft-sat:40%;--ai-hue-soft-light:22%}.ai-app{background:var(--ai-bg);color:var(--ai-ink);font-family:var(--ai-font);font-size:14px;min-height:100vh;-webkit-font-smoothing:antialiased}.ai-app *,.ai-app :after,.ai-app :before{box-sizing:border-box}.ai-scroll{scrollbar-color:var(--ai-border-strong) transparent;scrollbar-width:thin}.ai-scroll::-webkit-scrollbar{height:9px;width:9px}.ai-scroll::-webkit-scrollbar-thumb{background:var(--ai-border-strong);background-clip:content-box;border:2px solid transparent;border-radius:999px}.ai-scroll::-webkit-scrollbar-track{background:transparent}.ai-shell-top{background:var(--ai-surface);border-bottom:1px solid var(--ai-border);gap:16px;height:58px;padding:0 16px;position:sticky;top:0;z-index:30}.ai-brand,.ai-shell-top{align-items:center;display:flex}.ai-brand{color:inherit;flex:none;gap:10px;text-decoration:none}.ai-brand-mark{background:linear-gradient(135deg,var(--ai-accent) 0,#a445d3 100%);border-radius:9px;color:#fff;display:grid;font-size:14px;height:32px;place-items:center;width:32px}.ai-brand-name{display:block;font-size:14px;font-weight:780;letter-spacing:-.018em;line-height:1.15}.ai-brand-sub{color:var(--ai-muted);display:block;font-size:11px;font-variant-numeric:tabular-nums}.ai-shell-nav{align-items:center;display:flex;flex:1;gap:2px;min-width:0;overflow-x:auto}.ai-shell-link{align-items:center;border-radius:var(--ai-radius-sm);color:var(--ai-ink-2);display:inline-flex;font-size:13px;font-weight:650;gap:7px;height:34px;padding:0 12px;text-decoration:none;transition:background .14s ease,color .14s ease;white-space:nowrap}.ai-shell-link:hover{background:var(--ai-sunken);color:var(--ai-ink)}.ai-shell-link.router-link-active{background:var(--ai-accent-soft);color:var(--ai-accent)}.ai-shell-actions{align-items:center;display:flex;flex:none;gap:6px}.ai-shell-body{margin:0 auto;max-width:1560px;padding:18px}.ai-card{box-shadow:var(--ai-shadow)}.ai-card,.ai-panel{background:var(--ai-surface);border:1px solid var(--ai-border);border-radius:var(--ai-radius)}.ai-panel{display:flex;flex-direction:column;min-height:0;overflow:hidden}.ai-panel-head{align-items:center;border-bottom:1px solid var(--ai-border);display:flex;flex:none;gap:10px;padding:12px 14px}.ai-panel-title{font-size:13px;font-weight:750;letter-spacing:-.01em;margin:0}.ai-panel-body{flex:1;min-height:0;overflow:auto}.ai-panel-body.is-padded{padding:14px}.ai-grid{display:grid;gap:14px}.ai-grid.is-2{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-grid.is-3{grid-template-columns:repeat(3,minmax(0,1fr))}.ai-grid.is-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:1100px){.ai-grid.is-3,.ai-grid.is-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.ai-grid.is-2,.ai-grid.is-3,.ai-grid.is-4{grid-template-columns:minmax(0,1fr)}}.ai-eyebrow{color:var(--ai-muted);font-size:10.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.ai-h1{font-size:22px;font-weight:780;letter-spacing:-.022em;margin:0}.ai-h2{font-size:15.5px;font-weight:740;letter-spacing:-.014em;margin:0}.ai-sub{color:var(--ai-ink-2);font-size:12.5px;line-height:1.55;margin:0}.ai-muted{color:var(--ai-muted)}.ai-num{font-variant-numeric:tabular-nums}.ai-mono{font-family:var(--ai-font-mono);font-size:12px}.ai-btn{align-items:center;background:var(--ai-surface);border:1px solid var(--ai-border);border-radius:var(--ai-radius-sm);color:var(--ai-ink);cursor:pointer;display:inline-flex;font-family:inherit;font-size:13px;font-weight:640;gap:7px;height:34px;justify-content:center;padding:0 13px;text-decoration:none;transition:background .14s ease,border-color .14s ease,color .14s ease,transform .1s ease;white-space:nowrap}.ai-btn:hover:not(:disabled){background:var(--ai-surface-2);border-color:var(--ai-border-strong)}.ai-btn:active:not(:disabled){transform:translateY(1px)}.ai-btn:disabled{cursor:not-allowed;opacity:.5}.ai-btn.is-primary{background:var(--ai-accent);border-color:var(--ai-accent);color:var(--ai-accent-ink)}.ai-btn.is-primary:hover:not(:disabled){background:var(--ai-accent-strong);border-color:var(--ai-accent-strong)}.ai-btn.is-soft{background:var(--ai-accent-soft);border-color:transparent;color:var(--ai-accent)}.ai-btn.is-soft:hover:not(:disabled){border-color:var(--ai-accent)}.ai-btn.is-ghost{background:transparent;border-color:transparent;color:var(--ai-ink-2)}.ai-btn.is-ghost:hover:not(:disabled){background:var(--ai-sunken);color:var(--ai-ink)}.ai-btn.is-good{background:var(--ai-success);border-color:var(--ai-success);color:#fff}.ai-btn.is-good:hover:not(:disabled){filter:brightness(1.08)}.ai-btn.is-danger{background:var(--ai-surface);border-color:var(--ai-border);color:var(--ai-danger)}.ai-btn.is-danger:hover:not(:disabled){background:var(--ai-danger-soft);border-color:var(--ai-danger)}.ai-btn.is-danger-solid{background:var(--ai-danger);border-color:var(--ai-danger);color:#fff}.ai-btn.is-danger-solid:hover:not(:disabled){filter:brightness(1.08)}.ai-btn.is-sm{font-size:12px;height:28px;padding:0 10px}.ai-btn.is-lg{font-size:14px;height:40px;padding:0 18px}.ai-btn.is-block{width:100%}.ai-icon-btn{align-items:center;background:transparent;border:1px solid transparent;border-radius:var(--ai-radius-sm);color:var(--ai-ink-2);cursor:pointer;display:inline-flex;font-size:13.5px;height:32px;justify-content:center;text-decoration:none;transition:background .14s ease,color .14s ease;width:32px}.ai-icon-btn:hover{background:var(--ai-sunken);color:var(--ai-ink)}.ai-icon-btn.is-on{background:var(--ai-accent-soft);color:var(--ai-accent)}.ai-input,.ai-select,.ai-textarea{background:var(--ai-surface);border:1px solid var(--ai-border);border-radius:var(--ai-radius-sm);color:var(--ai-ink);font-family:inherit;font-size:13px;height:34px;outline:none;padding:0 11px;transition:border-color .14s ease,box-shadow .14s ease;width:100%}.ai-textarea{height:auto;line-height:1.55;min-height:90px;padding:9px 11px;resize:vertical}.ai-textarea.is-mono{font-family:var(--ai-font-mono);font-size:12.5px}.ai-input:focus,.ai-select:focus,.ai-textarea:focus{border-color:var(--ai-accent);box-shadow:0 0 0 3px var(--ai-accent-soft)}.ai-input::-moz-placeholder,.ai-textarea::-moz-placeholder{color:var(--ai-muted)}.ai-input::placeholder,.ai-textarea::placeholder{color:var(--ai-muted)}.ai-field{display:flex;flex-direction:column;gap:5px}.ai-field>label,.ai-label{color:var(--ai-muted);font-size:11px;font-weight:750;letter-spacing:.03em;text-transform:uppercase}.ai-hint{color:var(--ai-muted);font-size:11.5px;line-height:1.5}.ai-switch{align-items:center;color:var(--ai-ink);cursor:pointer;display:inline-flex;font-size:13px;gap:9px}.ai-switch input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--ai-border-strong);border-radius:999px;cursor:pointer;flex:none;height:19px;margin:0;position:relative;transition:background .16s ease;width:34px}.ai-switch input:after{background:#fff;border-radius:999px;content:"";height:15px;left:2px;position:absolute;top:2px;transition:transform .16s ease;width:15px}.ai-switch input:checked{background:var(--ai-accent)}.ai-switch input:checked:after{transform:translate(15px)}.ai-switch input:disabled{cursor:not-allowed;opacity:.45}.ai-hue{--hue-fg:hsl(var(--hue,260) var(--ai-hue-sat) var(--ai-hue-light));--hue-bg:hsl(var(--hue,260) var(--ai-hue-soft-sat) var(--ai-hue-soft-light))}.ai-module-chip{align-items:center;background:var(--hue-bg);border:1px solid transparent;border-radius:6px;color:var(--hue-fg);display:inline-flex;font-size:10.5px;font-weight:780;gap:5px;height:21px;letter-spacing:.02em;padding:0 8px;text-decoration:none;white-space:nowrap}a.ai-module-chip:hover{border-color:var(--hue-fg)}.ai-hue-rail{border-left:3px solid var(--hue-fg)}.ai-module-dot{background:var(--hue-fg);border-radius:999px;flex:none;height:8px;width:8px}.ai-chip{align-items:center;background:var(--ai-surface);border:1px solid var(--ai-border);border-radius:999px;color:var(--ai-ink-2);cursor:pointer;display:inline-flex;font-size:12px;font-weight:640;gap:5px;height:26px;padding:0 10px;transition:background .14s ease,color .14s ease,border-color .14s ease;white-space:nowrap}.ai-chip:hover{border-color:var(--ai-border-strong);color:var(--ai-ink)}.ai-chip.is-on{background:var(--ai-accent);border-color:var(--ai-accent);color:var(--ai-accent-ink)}.ai-badge{align-items:center;background:var(--ai-sunken);border-radius:6px;color:var(--ai-ink-2);display:inline-flex;font-size:10.5px;font-weight:750;gap:5px;height:20px;letter-spacing:.015em;padding:0 7px;white-space:nowrap}.ai-badge.is-good{background:var(--ai-success-soft);color:var(--ai-success)}.ai-badge.is-warn{background:var(--ai-warn-soft);color:var(--ai-warn)}.ai-badge.is-danger{background:var(--ai-danger-soft);color:var(--ai-danger)}.ai-badge.is-info{background:var(--ai-info-soft);color:var(--ai-info)}.ai-badge.is-accent{background:var(--ai-accent-soft);color:var(--ai-accent)}.ai-badge.is-off{background:var(--ai-sunken);color:var(--ai-muted)}.ai-dot{background:currentColor;border-radius:999px;flex:none;height:7px;width:7px}.ai-notice{align-items:flex-start;background:var(--ai-info-soft);border-radius:var(--ai-radius-sm);color:var(--ai-info);display:flex;font-size:12.5px;gap:9px;line-height:1.55;padding:10px 12px}.ai-notice.is-warn{background:var(--ai-warn-soft);color:var(--ai-warn)}.ai-notice.is-danger{background:var(--ai-danger-soft);color:var(--ai-danger)}.ai-notice.is-good{background:var(--ai-success-soft);color:var(--ai-success)}.ai-empty{align-items:center;color:var(--ai-muted);display:flex;flex-direction:column;gap:9px;justify-content:center;padding:44px 24px;text-align:center}.ai-empty i{font-size:26px;opacity:.42}.ai-empty strong{color:var(--ai-ink-2);font-size:14px;font-weight:720}.ai-empty p{font-size:12.5px;line-height:1.6;margin:0;max-width:400px}.ai-skeleton{animation:ai-shimmer 1.3s infinite;background:linear-gradient(90deg,var(--ai-sunken) 25%,var(--ai-surface-2) 50%,var(--ai-sunken) 75%);background-size:200% 100%;border-radius:6px}@keyframes ai-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.ai-stat{display:flex;flex-direction:column;gap:4px;padding:14px}.ai-stat-label{color:var(--ai-muted);font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.ai-stat-value{font-size:26px;font-variant-numeric:tabular-nums;font-weight:760;letter-spacing:-.03em;line-height:1.1}.ai-stat-value.is-sm{font-size:19px}.ai-stat-foot{color:var(--ai-muted);font-size:11.5px}.ai-meter{background:var(--ai-sunken);border-radius:999px;height:7px;overflow:hidden}.ai-meter>span{background:var(--ai-spend-low);border-radius:999px;display:block;height:100%;transition:width .35s ease,background .25s ease}.ai-meter.is-mid>span{background:var(--ai-spend-mid)}.ai-meter.is-high>span{background:var(--ai-spend-high)}.ai-spark{align-items:stretch;display:flex;gap:2px;height:100%;min-height:96px}.ai-spark-col{align-items:flex-end;background:var(--ai-accent-soft);border-radius:2px 2px 0 0;display:flex;flex:1;min-width:2px;transition:background .14s ease}.ai-spark-col>i{background:var(--ai-accent);border-radius:2px 2px 0 0;display:block;min-height:2px;width:100%}.ai-spark-col:hover{background:var(--ai-sunken)}.ai-spark-col.is-empty>i{display:none}.ai-table-wrap{overflow-x:auto}.ai-table{border-collapse:collapse;font-size:12.5px;width:100%}.ai-table th{background:var(--ai-surface-2);color:var(--ai-muted);font-size:10.5px;font-weight:800;letter-spacing:.07em;position:sticky;text-align:left;text-transform:uppercase;top:0;white-space:nowrap;z-index:1}.ai-table td,.ai-table th{border-bottom:1px solid var(--ai-border);padding:9px 12px}.ai-table td{vertical-align:middle}.ai-table tbody tr:hover td{background:var(--ai-surface-2)}.ai-table td.is-num,.ai-table th.is-num{font-variant-numeric:tabular-nums;text-align:right}.ai-table tr.is-selected td{background:var(--ai-accent-soft)}.ai-drawer-backdrop{animation:ai-fade .16s ease;background:#1010186b;inset:0;position:fixed;z-index:60}.ai-drawer{animation:ai-slide .2s cubic-bezier(.22,1,.36,1);background:var(--ai-bg);border-left:1px solid var(--ai-border);bottom:0;box-shadow:var(--ai-shadow-lg);display:flex;flex-direction:column;position:fixed;right:0;top:0;width:min(680px,100vw);z-index:61}.ai-drawer.is-wide{width:min(960px,100vw)}.ai-drawer-head{align-items:flex-start;background:var(--ai-surface);border-bottom:1px solid var(--ai-border);display:flex;flex:none;gap:12px;padding:16px 18px}.ai-drawer-body{flex:1;min-height:0;overflow:auto;padding:18px}.ai-drawer-foot{align-items:center;background:var(--ai-surface);border-top:1px solid var(--ai-border);display:flex;flex:none;gap:8px;padding:12px 18px}@keyframes ai-fade{0%{opacity:0}to{opacity:1}}@keyframes ai-slide{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}.ai-feed-row{align-items:center;border-bottom:1px solid var(--ai-border);display:flex;font-size:12.5px;gap:10px;padding:8px 12px}.ai-feed-row:last-child{border-bottom:0}.ai-feed-row.is-new{animation:ai-flash 1s ease}@keyframes ai-flash{0%{background:var(--ai-accent-soft)}to{background:transparent}}.ai-cov-cell{align-items:center;background:hsl(0 62% var(--ai-hue-soft-light));background:hsl(calc(var(--pct, 0)*1.25) 62% var(--ai-hue-soft-light));border:1px solid transparent;border-radius:var(--ai-radius-sm);color:var(--ai-ink);cursor:pointer;display:flex;flex-direction:column;font-variant-numeric:tabular-nums;gap:1px;justify-content:center;min-width:62px;padding:7px 6px;position:relative;transition:border-color .14s ease,transform .1s ease}.ai-cov-cell:hover{border-color:var(--ai-accent);transform:translateY(-1px)}.ai-cov-cell.is-complete{cursor:default}.ai-cov-cell.is-complete:hover{border-color:transparent;transform:none}.ai-cov-pct{font-size:13px;font-weight:780}.ai-cov-detail{color:var(--ai-ink-2);font-size:10px}.ai-diff{display:grid;gap:10px;grid-template-columns:1fr 1fr}@media(max-width:820px){.ai-diff{grid-template-columns:minmax(0,1fr)}}.ai-diff-pane{background:var(--ai-surface-2);border:1px solid var(--ai-border);border-radius:var(--ai-radius-sm);font-size:12.5px;line-height:1.6;max-height:320px;overflow:auto;overflow-wrap:anywhere;padding:10px 12px;white-space:pre-wrap}.ai-diff-pane.is-new{background:var(--ai-success-soft);border-color:transparent}.ai-diff-label{color:var(--ai-muted);font-size:10.5px;font-weight:800;letter-spacing:.07em;margin-bottom:5px;text-transform:uppercase}.ai-code{background:var(--ai-sunken);border:1px solid var(--ai-border);border-radius:var(--ai-radius-sm);color:var(--ai-ink-2);font-family:var(--ai-font-mono);font-size:12px;line-height:1.6;margin:0;max-height:380px;overflow:auto;overflow-wrap:anywhere;padding:11px 12px;white-space:pre-wrap}
