:root{--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--text-2xs:.6875rem;--text-xs:.75rem;--text-sm:.8125rem;--text-md:.875rem;--text-base:.9375rem;--text-lg:1.0625rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.9375rem;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--radius-xs:6px;--radius-sm:8px;--radius-md:10px;--radius-lg:14px;--radius-xl:18px;--radius-full:999px;--sidebar-width:244px;--topbar-height:68px;--content-max:1440px;--ease:cubic-bezier(.32, .72, 0, 1);--transition:.16s var(--ease);--status-good:#0ca30c;--status-warning:#fab219;--status-serious:#ec835a;--status-critical:#d03b3b}:root,:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f7f9;--bg-accent:radial-gradient(1200px 520px at 12% -10%, #4f46e512, transparent 60%);--surface:#fff;--surface-raised:#fff;--surface-muted:#f4f5f8;--surface-strong:#eceef3;--surface-hover:#f7f8fa;--line:#e6e8ee;--line-strong:#d5d9e2;--text-strong:#0f1522;--text:#303846;--muted-strong:#4d566a;--muted:#717c90;--brand:#4f46e5;--brand-hover:#4338ca;--brand-contrast:#fff;--brand-soft:#4f46e51a;--brand-border:#4f46e547;--brand-text:#4338ca;--success-text:#0a7449;--success-soft:#0a74491a;--warning-text:#96590a;--warning-soft:#96590a1a;--danger-text:#b42318;--danger-soft:#b4231817;--overlay:#0f152261;--focus-ring:#4f46e552;--series-1:#2a78d6;--series-2:#eb6834;--series-3:#1baf7a;--series-4:#eda100;--grid-line:#e6e8ee;--track:#edeff4;--shadow-xs:0 1px 2px #0f15220d;--shadow-sm:0 1px 2px #0f15220d, 0 1px 3px #0f15220a;--shadow-md:0 2px 4px #0f15220a, 0 8px 20px #0f152212;--shadow-lg:0 8px 16px #0f15220f, 0 24px 48px #0f15221f}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a0c10;--bg-accent:radial-gradient(1200px 520px at 12% -10%, #7c6ef21a, transparent 60%);--surface:#14171d;--surface-raised:#171b22;--surface-muted:#1b1f27;--surface-strong:#232833;--surface-hover:#1e232b;--line:#242932;--line-strong:#333a46;--text-strong:#f3f5f8;--text:#d8dde5;--muted-strong:#b0b8c6;--muted:#838d9d;--brand:#6a5cf0;--brand-hover:#7f73f4;--brand-contrast:#fff;--brand-soft:#8a7dff29;--brand-border:#8a7dff57;--brand-text:#a89dff;--success-text:#3ddc97;--success-soft:#3ddc9721;--warning-text:#f4bf4f;--warning-soft:#f4bf4f21;--danger-text:#ff8078;--danger-soft:#ff807821;--overlay:#04060aa8;--focus-ring:#8a7dff66;--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;--series-4:#c98500;--grid-line:#242932;--track:#222833;--shadow-xs:0 1px 2px #00000080;--shadow-sm:0 1px 2px #00000080;--shadow-md:0 4px 12px #00000073;--shadow-lg:0 16px 48px #0009}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;min-height:100%}body{background:var(--bg);min-height:100svh;color:var(--text);font-family:var(--font-sans);font-size:var(--text-md);font-synthesis-weight:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;line-height:1.55}#root{min-height:100svh}h1,h2,h3,h4,h5,h6{color:var(--text-strong);letter-spacing:-.014em;margin:0;font-weight:600;line-height:1.25}h1{font-size:var(--text-2xl);letter-spacing:-.022em}h2{font-size:var(--text-xl);letter-spacing:-.02em}h3{font-size:var(--text-lg)}h4{font-size:var(--text-base)}p,ul,ol{margin:0}a{color:var(--brand-text);text-decoration:none}a:hover{text-decoration:underline}button,input,textarea,select{font:inherit;color:inherit}button{margin:0}code,kbd,pre,.mono{font-family:var(--font-mono);font-size:.92em}table{border-collapse:collapse;width:100%}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:var(--radius-xs)}::selection{background:var(--brand-soft);color:var(--text-strong)}*{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:var(--radius-full);background-clip:content-box;border:3px solid #0000}::-webkit-scrollbar-thumb:hover{background:var(--muted);background-clip:content-box}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);background:var(--bg);min-height:100svh;display:grid;position:relative}.app-shell:before{content:"";background:var(--bg-accent);pointer-events:none;z-index:0;position:fixed;inset:0}.sidebar{z-index:30;gap:var(--space-6);height:100svh;padding:var(--space-5) var(--space-4);background:var(--surface);border-right:1px solid var(--line);flex-direction:column;display:flex;position:sticky;top:0}.sidebar>*,.sidebar-footer>*{min-width:0}.sidebar-brand{align-items:center;gap:var(--space-3);padding:var(--space-1) var(--space-2);display:flex}.brand-mark{width:auto;height:38px;color:var(--brand);flex-shrink:0}.sidebar-brand-text{min-width:0;display:grid}.sidebar-brand-text strong{font-size:var(--text-base);color:var(--text-strong);letter-spacing:-.015em;font-weight:600;line-height:1.2}.sidebar-brand-text span{font-size:var(--text-xs);color:var(--muted);line-height:1.4}.sidebar-section{gap:var(--space-1);display:grid}.sidebar-label{padding:0 var(--space-2) var(--space-2);font-size:var(--text-2xs);letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-weight:600}.nav-item{align-items:center;gap:var(--space-3);width:100%;padding:9px var(--space-3);border-radius:var(--radius-sm);color:var(--muted-strong);font-size:var(--text-md);text-align:left;cursor:pointer;transition:background var(--transition), color var(--transition);background:0 0;border:0;font-weight:500;display:flex;position:relative}.nav-item svg{opacity:.85;flex-shrink:0;width:17px;height:17px}.nav-item:hover{background:var(--surface-muted);color:var(--text-strong)}.nav-item.is-active{background:var(--brand-soft);color:var(--brand-text);font-weight:600}.nav-item.is-active svg{opacity:1}.nav-item-count{border-radius:var(--radius-full);background:var(--surface-strong);min-width:22px;color:var(--muted-strong);font-size:var(--text-2xs);font-variant-numeric:tabular-nums;text-align:center;margin-left:auto;padding:1px 6px;font-weight:600}.nav-item.is-active .nav-item-count{background:color-mix(in oklab, var(--brand) 22%, transparent);color:var(--brand-text)}.nav-item-count.is-live{background:var(--success-soft);color:var(--success-text);align-items:center;gap:5px;display:inline-flex}.sidebar-footer{gap:var(--space-2);margin-top:auto;display:grid}.app-main{z-index:1;flex-direction:column;min-width:0;display:flex;position:relative}.topbar{z-index:20;justify-content:space-between;align-items:center;gap:var(--space-5);min-height:var(--topbar-height);padding:var(--space-3) var(--space-6);background:color-mix(in oklab, var(--bg) 82%, transparent);-webkit-backdrop-filter:saturate(180%)blur(12px);backdrop-filter:saturate(180%)blur(12px);border-bottom:1px solid var(--line);display:flex;position:sticky;top:0}.topbar-heading{flex:auto;gap:2px;min-width:0;display:grid}.topbar-heading h1{font-size:var(--text-lg);font-weight:600}.topbar-heading p{font-size:var(--text-sm);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.topbar-actions{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.app-content{width:100%;min-width:0;max-width:var(--content-max);padding:var(--space-6);gap:var(--space-5);flex:1;align-content:start;margin:0 auto;display:grid}.app-content>*,.app-main{min-width:0}.topbar .sidebar-toggle,.sidebar-scrim{display:none}@media (width<=1080px){.app-shell{grid-template-columns:minmax(0,1fr)}.sidebar{width:var(--sidebar-width);visibility:hidden;transition:transform .24s var(--ease), visibility .24s var(--ease);box-shadow:var(--shadow-lg);position:fixed;top:0;left:0;transform:translate(-100%)}.app-shell.is-nav-open .sidebar{visibility:visible;transform:translate(0)}.sidebar-scrim{z-index:25;background:var(--overlay);opacity:0;pointer-events:none;transition:opacity .2s var(--ease);display:block;position:fixed;inset:0}.app-shell.is-nav-open .sidebar-scrim{opacity:1;pointer-events:auto}.topbar .sidebar-toggle{display:inline-flex}}@media (width<=720px){.topbar{padding:var(--space-3) var(--space-4);flex-wrap:wrap}.app-content{padding:var(--space-4)}}.app-main:has(>.app-content.is-full){height:100svh;min-height:0}.app-content.is-full{align-content:stretch;min-height:0;overflow:hidden}.btn{justify-content:center;align-items:center;gap:var(--space-2);height:34px;padding:0 var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-md);white-space:nowrap;cursor:pointer;transition:background var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition);border:1px solid #0000;font-weight:500;display:inline-flex}.btn svg{flex-shrink:0;width:15px;height:15px}.btn-primary{background:var(--brand);color:var(--brand-contrast);box-shadow:var(--shadow-xs)}.btn-primary:hover:not(:disabled){background:var(--brand-hover)}.btn-secondary{background:var(--surface);border-color:var(--line-strong);color:var(--text-strong);box-shadow:var(--shadow-xs)}.btn-secondary:hover:not(:disabled){background:var(--surface-hover);border-color:var(--muted)}.btn-ghost{color:var(--muted-strong);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--surface-muted);color:var(--text-strong)}.btn-icon{flex-shrink:0;width:34px;padding:0}.btn-icon svg{width:16px;height:16px}.btn-sm{height:28px;font-size:var(--text-sm);padding:0 10px}.btn:disabled{opacity:.55;cursor:not-allowed}.segmented{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-muted);gap:2px;padding:3px;display:inline-flex}.segmented button{border-radius:var(--radius-xs);color:var(--muted-strong);font-size:var(--text-sm);cursor:pointer;transition:background var(--transition), color var(--transition);background:0 0;border:0;padding:5px 12px;font-weight:500}.segmented button:hover{color:var(--text-strong)}.segmented button.is-active{background:var(--surface);color:var(--text-strong);box-shadow:var(--shadow-xs);font-weight:600}.field{gap:6px;min-width:0;display:grid}.field>span{font-size:var(--text-xs);color:var(--muted);font-weight:500}.input{width:100%;min-width:0;height:34px;padding:0 var(--space-3);border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-strong);font-size:var(--text-md);transition:border-color var(--transition), box-shadow var(--transition)}.input::placeholder{color:var(--muted)}.input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--focus-ring);outline:none}.input:disabled{background:var(--surface-muted);color:var(--muted);cursor:not-allowed}.popover-anchor{position:relative}.popover{z-index:40;width:320px;padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-raised);box-shadow:var(--shadow-lg);gap:var(--space-3);animation:pop-in .14s var(--ease) both;display:grid;position:absolute;top:calc(100% + 8px);right:0}.popover-title{font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600}.popover-hint{font-size:var(--text-xs);color:var(--muted);line-height:1.5}@keyframes pop-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);min-width:0;box-shadow:var(--shadow-sm)}.card-head{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--line);display:flex}.card-head-text{gap:2px;min-width:0;display:grid}.card-head-text h3{font-size:var(--text-base);font-weight:600}.card-head-text p{font-size:var(--text-sm);color:var(--muted)}.card-body{padding:var(--space-5)}.card-body.is-flush{padding:0}.stat-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(210px,1fr));display:grid}.stat-grid.is-compact{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.stat-card{gap:var(--space-1);padding:var(--space-4) var(--space-5);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);display:grid;position:relative;overflow:hidden}.stat-card.is-primary:before{content:"";background:var(--brand);width:3px;position:absolute;inset:0 auto 0 0}.stat-card-label{font-size:var(--text-xs);color:var(--muted);align-items:center;gap:6px;font-weight:500;display:flex}.stat-card-label svg{width:14px;height:14px}.stat-card-value{font-size:var(--text-2xl);letter-spacing:-.025em;color:var(--text-strong);font-weight:650;line-height:1.15}.stat-card.is-primary .stat-card-value{font-size:var(--text-3xl)}.stat-card-note{font-size:var(--text-xs);color:var(--muted);line-height:1.45}.pill{border-radius:var(--radius-full);width:fit-content;font-size:var(--text-2xs);letter-spacing:.01em;white-space:nowrap;align-items:center;gap:5px;padding:2px 9px;font-weight:600;display:inline-flex}.pill svg{width:12px;height:12px}.pill-neutral{background:var(--surface-strong);color:var(--muted-strong)}.pill-brand{background:var(--brand-soft);color:var(--brand-text)}.pill-success{background:var(--success-soft);color:var(--success-text)}.pill-warning{background:var(--warning-soft);color:var(--warning-text)}.pill-danger{background:var(--danger-soft);color:var(--danger-text)}.pill-outline{border:1px solid var(--line-strong);color:var(--muted-strong);background:0 0}.dot{background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px}.dot.is-pulsing{animation:1.8s ease-in-out infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1;box-shadow:0 0}50%{opacity:.65;box-shadow:0 0 0 3px #0000}}.avatar{border-radius:var(--radius-md);background:var(--surface-strong);width:34px;height:34px;color:var(--muted-strong);font-size:var(--text-sm);letter-spacing:.01em;text-transform:uppercase;flex-shrink:0;place-items:center;font-weight:600;display:grid}.avatar.is-brand{background:var(--brand-soft);color:var(--brand-text)}.avatar.is-round{border-radius:50%}.avatar svg{width:17px;height:17px}.table-wrap{overflow-x:auto}.data-table{min-width:640px;font-size:var(--text-md)}.data-table thead th{z-index:1;padding:10px var(--space-5);background:var(--surface-muted);border-bottom:1px solid var(--line);font-size:var(--text-2xs);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);text-align:left;white-space:nowrap;font-weight:600;position:sticky;top:0}.data-table td{padding:12px var(--space-5);border-bottom:1px solid var(--line);color:var(--text);vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr{transition:background var(--transition)}.data-table tbody tr:hover{background:var(--surface-hover)}.data-table .is-numeric{text-align:right;font-variant-numeric:tabular-nums}.data-table .is-name{color:var(--text-strong);font-weight:550}.empty-state{justify-items:center;gap:var(--space-2);padding:var(--space-8) var(--space-5);border:1px dashed var(--line-strong);border-radius:var(--radius-lg);text-align:center;display:grid}.empty-state-icon{border-radius:var(--radius-md);background:var(--surface-muted);width:38px;height:38px;color:var(--muted);place-items:center;display:grid}.empty-state-icon svg{width:18px;height:18px}.empty-state strong{font-size:var(--text-md);color:var(--text-strong);font-weight:600}.empty-state p{max-width:42ch;font-size:var(--text-sm);color:var(--muted)}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--surface-muted) 25%, var(--surface-strong) 37%, var(--surface-muted) 63%);background-size:400% 100%;animation:1.4s ease-in-out infinite shimmer}@keyframes shimmer{0%{background-position:100%}to{background-position:0}}.skeleton-stack{gap:var(--space-3);display:grid}.skeleton-card{border-radius:var(--radius-lg);height:88px}.is-refetching{opacity:.6;transition:opacity var(--transition)}.alert{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-muted);font-size:var(--text-sm);color:var(--text);display:flex}.alert svg{flex-shrink:0;width:16px;height:16px;margin-top:1px}.alert-danger{border-color:color-mix(in oklab, var(--danger-text) 30%, transparent);background:var(--danger-soft);color:var(--danger-text)}.alert-success{border-color:color-mix(in oklab, var(--success-text) 30%, transparent);background:var(--success-soft);color:var(--success-text)}.section-title{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.section-title h2{font-size:var(--text-base);font-weight:600}.section-title p{font-size:var(--text-sm);color:var(--muted)}.stack{gap:var(--space-5);align-content:start;min-width:0;display:grid}.stack>*,.stat-grid>*,.quality-columns>*{min-width:0}.stack-sm{gap:var(--space-3);align-content:start;display:grid}@keyframes spin{to{transform:rotate(360deg)}}.split-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(340px,1fr));align-items:start;min-width:0;display:grid}.split-grid>*{min-width:0}.split-grid.is-weighted{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}.bar-list{gap:var(--space-4);display:grid}.bar-item{border-radius:var(--radius-xs);transition:background var(--transition);gap:6px;padding:2px;display:grid}.bar-item:hover{background:var(--surface-hover)}.bar-item-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.bar-item-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--text-md);color:var(--text-strong);font-weight:550;overflow:hidden}.bar-item-value{font-size:var(--text-md);font-variant-numeric:tabular-nums;color:var(--text-strong);flex-shrink:0;font-weight:600}.bar-track{border-radius:var(--radius-full);background:var(--track);height:7px;position:relative;overflow:hidden}.bar-fill{border-radius:var(--radius-full);background:var(--series-1);min-width:3px;height:100%;transition:width .42s var(--ease)}.bar-fill.is-good{background:var(--status-good)}.bar-fill.is-warning{background:var(--status-warning)}.bar-fill.is-critical{background:var(--status-critical)}.bar-item-meta{align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--muted);font-variant-numeric:tabular-nums;display:flex}.bar-item-meta .sep{opacity:.45}.share-bar{height:10px;margin-bottom:var(--space-4);gap:2px;display:flex}.share-segment{min-width:4px;height:100%;transition:opacity var(--transition);border-radius:3px}.share-legend{gap:var(--space-2);display:grid}.share-legend-item{align-items:center;gap:var(--space-2);font-size:var(--text-md);display:flex}.share-swatch{border-radius:3px;flex-shrink:0;width:9px;height:9px}.share-legend-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text);overflow:hidden}.share-legend-value{font-variant-numeric:tabular-nums;color:var(--text-strong);flex-shrink:0;margin-left:auto;font-weight:600}.share-legend-share{text-align:right;width:48px;font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--muted);flex-shrink:0}.meter{gap:var(--space-2);display:grid}.meter-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.meter-value{font-size:var(--text-2xl);letter-spacing:-.025em;color:var(--text-strong);font-weight:650}.meter-value small{font-size:var(--text-md);color:var(--muted);font-weight:500}.meter-track{border-radius:var(--radius-full);background:var(--track);height:7px;overflow:hidden}.meter-fill{border-radius:var(--radius-full);height:100%;transition:width .42s var(--ease)}.conv-list{display:grid}.conv-item{gap:var(--space-3);width:100%;padding:var(--space-4) var(--space-5);border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;transition:background var(--transition), border-color var(--transition);background:0 0;border-left:2px solid #0000;grid-template-columns:auto minmax(0,1fr) auto;display:grid}.conv-item:last-child{border-bottom:0}.conv-item:hover{background:var(--surface-hover)}.conv-item.is-active{background:var(--brand-soft);border-left-color:var(--brand)}.conv-item.is-live .avatar{background:var(--success-soft);color:var(--success-text)}.conv-body{gap:3px;min-width:0;display:grid}.conv-top{align-items:center;gap:var(--space-2);min-width:0;display:flex}.conv-name{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-md);color:var(--text-strong);font-weight:600;overflow:hidden}.conv-preview{-webkit-line-clamp:1;line-clamp:1;font-size:var(--text-sm);color:var(--muted-strong);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.conv-meta{font-size:var(--text-xs);color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.conv-meta .sep{opacity:.45}.conv-meta code{font-size:var(--text-2xs);color:var(--muted)}.conv-side{text-align:right;flex-shrink:0;align-content:start;justify-items:end;gap:5px;display:grid}.conv-time{font-size:var(--text-xs);color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.quality-toolbar{justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.quality-columns{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start;display:grid}.quality-column-head{align-items:center;gap:var(--space-2);padding:0 var(--space-1) var(--space-3);display:flex}.quality-column-head strong{font-size:var(--text-md);color:var(--text-strong);font-weight:600}.quality-item{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;transition:background var(--transition), border-color var(--transition);background:0 0;border-left:2px solid #0000;grid-template-columns:minmax(0,1fr) auto;display:grid}.quality-item:last-child{border-bottom:0}.quality-item:hover{background:var(--surface-hover)}.quality-item.is-active{background:var(--brand-soft);border-left-color:var(--brand)}.quality-item-main{gap:2px;min-width:0;display:grid}.quality-item-main strong{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-md);color:var(--text-strong);font-weight:600;overflow:hidden}.quality-item-main span{font-size:var(--text-xs);color:var(--muted)}.quality-item-side{text-align:right;flex-shrink:0;justify-items:end;gap:3px;display:grid}.quality-score{font-size:var(--text-lg);letter-spacing:-.02em;color:var(--text-strong);font-weight:650}.drawer-scrim{z-index:60;background:var(--overlay);opacity:0;pointer-events:none;transition:opacity .22s var(--ease);position:fixed;inset:0}.drawer-scrim.is-open{opacity:1;pointer-events:auto}.drawer{z-index:70;background:var(--surface);border-left:1px solid var(--line);width:min(520px,100vw);box-shadow:var(--shadow-lg);transition:transform .26s var(--ease);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%)}.drawer.is-open{transform:translate(0)}.drawer-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-5);border-bottom:1px solid var(--line);display:flex}.drawer-head-text{gap:4px;min-width:0;display:grid}.drawer-head-text h3{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.drawer-body{padding:var(--space-5);gap:var(--space-5);flex:1;align-content:start;display:grid;overflow-y:auto}.detail-grid{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.detail-cell{padding:10px var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-muted);gap:2px;display:grid}.detail-cell span{font-size:var(--text-2xs);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-weight:500}.detail-cell strong{font-size:var(--text-md);color:var(--text-strong);text-overflow:ellipsis;font-weight:600;overflow:hidden}.feedback-group{gap:var(--space-2);display:grid}.feedback-group>span{font-size:var(--text-xs);color:var(--muted-strong);align-items:center;gap:6px;font-weight:600;display:flex}.feedback-group>span svg{width:13px;height:13px}.feedback-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.feedback-list li{padding:8px var(--space-3) 8px var(--space-5);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-muted);font-size:var(--text-sm);color:var(--text);line-height:1.5;position:relative}.feedback-list li:before{content:"";background:var(--muted);border-radius:50%;width:5px;height:5px;position:absolute;top:15px;left:12px}.feedback-list.is-good li:before{background:var(--success-text)}.feedback-list.is-warning li:before{background:var(--warning-text)}.feedback-list.is-danger li:before{background:var(--danger-text)}.thread{gap:var(--space-3);display:grid}.thread-message{max-width:88%;padding:10px var(--space-3);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-muted);gap:4px;display:grid}.thread-message span{font-size:var(--text-2xs);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-weight:600}.thread-message p{font-size:var(--text-sm);color:var(--text);white-space:pre-wrap;line-height:1.55}.thread-message.is-user{border-color:var(--brand-border);background:var(--brand-soft);justify-self:end}.thread-message.is-user span{color:var(--brand-text)}.thread-message.is-system{background:var(--surface-strong);justify-self:center;max-width:100%}@media (width<=720px){.split-grid>*{min-width:0}.split-grid.is-weighted{grid-template-columns:minmax(0,1fr)}.conv-item{padding:var(--space-3) var(--space-4);grid-template-columns:auto minmax(0,1fr)}.conv-side{text-align:left;grid-column:2;justify-items:start}}.chat-layout{gap:var(--space-4);grid-template-columns:minmax(0,1fr) 272px;min-height:0;display:grid}.chat-panel{grid-template-rows:auto minmax(0,1fr) auto;min-height:0;display:grid;overflow:hidden}.chat-panel-head{z-index:2;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--line);background:var(--surface);display:flex;position:relative}.chat-panel-head .avatar{width:38px;height:38px;box-shadow:0 0 0 3px var(--brand-soft)}.chat-panel-head .avatar svg{width:19px;height:19px}.chat-panel-head-text{gap:2px;min-width:0;margin-right:auto;display:grid}.chat-panel-head-text strong{font-size:var(--text-base);letter-spacing:-.012em;color:var(--text-strong);font-weight:600}.chat-panel-head-text span{font-size:var(--text-xs);color:var(--muted);align-items:center;gap:6px;display:flex}.chat-body{gap:var(--space-3);padding:var(--space-5) var(--space-5) var(--space-6);overscroll-behavior:contain;background:var(--bg);flex-direction:column;display:flex;overflow-y:auto}.chat-body:before{content:"";margin-top:auto}.chat-body:has(.chat-empty):before{margin-top:0}.chat-row{align-items:flex-end;gap:var(--space-2);max-width:min(76%,560px);animation:bubble-in .24s var(--ease) both;display:flex}.chat-row.is-user{flex-direction:row-reverse;margin-left:auto}.chat-row.is-system{max-width:min(100%,460px);margin-inline:auto}.chat-row.is-assistant+.chat-row.is-assistant,.chat-row.is-user+.chat-row.is-user{margin-top:calc(var(--space-3) * -1 + 3px)}:is(.chat-row.is-assistant:has(+.chat-row.is-assistant) .chat-avatar,.chat-row.is-user:has(+.chat-row.is-user) .chat-avatar){visibility:hidden}.chat-avatar{background:var(--brand-soft);width:28px;height:28px;color:var(--brand-text);border-radius:50%;flex-shrink:0;place-items:center;margin-bottom:2px;display:grid}.chat-avatar svg{width:14px;height:14px}.chat-row.is-user .chat-avatar{background:var(--surface-strong);color:var(--muted-strong)}.bubble{padding:10px var(--space-4);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-xs);font-size:var(--text-base);color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55}.chat-row.is-assistant .bubble{border-bottom-left-radius:var(--radius-xs)}.chat-row.is-user .bubble{border-bottom-right-radius:var(--radius-xs);background:var(--brand);color:var(--brand-contrast);box-shadow:var(--shadow-sm);border-color:#0000}.chat-row.is-assistant:has(+.chat-row.is-assistant) .bubble{border-bottom-left-radius:var(--radius-lg)}.chat-row.is-user:has(+.chat-row.is-user) .bubble{border-bottom-right-radius:var(--radius-lg)}.chat-row.is-user .bubble::selection{color:inherit;background:#0000003d}.chat-row.is-user .bubble ::selection{color:inherit;background:#0000003d}.chat-row.is-system .bubble{border-color:color-mix(in oklab, var(--danger-text) 28%, transparent);background:var(--danger-soft);color:var(--danger-text);font-size:var(--text-sm);text-align:center;box-shadow:none}.chat-row.is-typing .bubble{padding:13px var(--space-4)}.chat-row.is-leaving{pointer-events:none;animation:bubble-out .18s var(--ease) both}.typing-dots{align-items:center;gap:4px;display:inline-flex}.typing-dots i{background:var(--muted);border-radius:50%;width:6px;height:6px;animation:1s ease-in-out infinite typing-bounce}.typing-dots i:nth-child(2){animation-delay:.14s}.typing-dots i:nth-child(3){animation-delay:.28s}@keyframes typing-bounce{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}@keyframes bubble-in{0%{opacity:0;transform:translateY(8px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes bubble-out{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-4px)scale(.97)}}.chat-composer{z-index:2;gap:var(--space-2);padding:var(--space-4) var(--space-5);border-top:1px solid var(--line);background:var(--surface);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid;position:relative}.chat-composer .input{height:42px;padding:0 var(--space-4);border-radius:var(--radius-full);background:var(--surface-muted);font-size:var(--text-base)}.chat-composer .input:focus{background:var(--surface)}.chat-composer .btn{width:42px;height:42px;transition:background var(--transition), transform var(--transition), opacity var(--transition);border-radius:50%;padding:0}.chat-composer .btn svg{width:17px;height:17px;margin-right:1px}.chat-composer .btn:hover:not(:disabled){transform:scale(1.05)}.chat-composer .btn:active:not(:disabled){transform:scale(.96)}.chat-composer .btn:disabled{background:var(--surface-strong);color:var(--muted);box-shadow:none}.chat-empty{align-content:center;justify-items:center;gap:var(--space-2);padding:var(--space-8) var(--space-5);text-align:center;margin:auto 0;display:grid}.chat-empty svg{box-sizing:content-box;background:var(--brand-soft);width:22px;height:22px;color:var(--brand-text);border-radius:50%;padding:9px}.chat-empty strong{font-size:var(--text-base);color:var(--text-strong);font-weight:600}.chat-empty p{max-width:34ch;font-size:var(--text-sm);color:var(--muted)}.chat-context{align-content:start;gap:var(--space-4);padding:var(--space-4) var(--space-5) var(--space-5);min-height:0;display:grid;overflow-y:auto}.chat-context-head{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.chat-context-list{gap:var(--space-1);margin:0;display:grid}.chat-context-row{border-bottom:1px solid var(--line);gap:3px;padding:9px 0;display:grid}.chat-context-row:last-child{border-bottom:0}.chat-context-row dt{font-size:var(--text-xs);color:var(--muted);align-items:center;gap:6px;display:flex}.chat-context-row dt svg{opacity:.8;width:13px;height:13px}.chat-context-row dd{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--text-md);color:var(--text-strong);margin:0;font-weight:550;overflow:hidden}.chat-context-row dd code{font-size:var(--text-xs);color:var(--muted-strong);font-weight:400}.chat-context-hint{font-size:var(--text-xs);color:var(--muted);line-height:1.5}.chat-start{align-content:center;justify-items:center;gap:var(--space-3);padding:var(--space-8) var(--space-5);text-align:center;margin:auto 0;display:grid}.chat-start-icon{border-radius:var(--radius-lg);background:var(--brand-soft);width:46px;height:46px;color:var(--brand-text);box-shadow:0 0 0 5px color-mix(in oklab, var(--brand) 7%, transparent);place-items:center;display:grid}.chat-start-icon svg{width:22px;height:22px}.chat-start strong{font-size:var(--text-lg);color:var(--text-strong);font-weight:600}.chat-start p{max-width:44ch;font-size:var(--text-md);color:var(--muted);line-height:1.6}@media (width<=1180px){.chat-layout{grid-template-rows:auto minmax(360px,1fr);grid-template-columns:minmax(0,1fr)}.chat-context{padding:var(--space-3) var(--space-4);order:-1}.chat-context-list{gap:var(--space-2) var(--space-4);grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.chat-context-row{border-bottom:0;padding:0}.chat-context-hint{display:none}}@media (width<=720px){.chat-panel-head,.chat-composer,.chat-body{padding-inline:var(--space-4)}.chat-row{max-width:88%}}
