:root{--colors-canvas:#fff;--colors-surface-soft:#f8fafc;--colors-surface-muted:#f1f5f9;--colors-surface-strong:#e2e8f0;--colors-surface-dark:#0f172a;--colors-surface-dark-elevated:#1e293b;--colors-hairline:#e2e8f0;--colors-border-strong:#94a3b8;--colors-ink:#0f172a;--colors-body:#334155;--colors-muted:#64748b;--colors-faint:#64748b;--colors-primary:#0f172a;--colors-primary-hover:#1e293b;--colors-primary-active:#020617;--colors-on-primary:#fff;--colors-brand-blue:#2563eb;--colors-brand-blue-hover:#1d4ed8;--colors-brand-blue-subtle:#eff6ff;--colors-brand-blue-border:#bfdbfe;--colors-link:#2563eb;--colors-link-active:#1d4ed8;--colors-info:#2563eb;--colors-info-border:#3b82f6;--colors-success:#10b981;--colors-success-bg:#ecfdf5;--colors-success-border:#a7f3d0;--colors-success-text:#065f46;--colors-warning:#f59e0b;--colors-warning-bg:#fffbeb;--colors-warning-border:#fde68a;--colors-warning-text:#92400e;--colors-danger:#ef4444;--colors-danger-bg:#fef2f2;--colors-danger-border:#fecaca;--colors-danger-text:#b91c1c;--rounded-xs:4px;--rounded-sm:6px;--rounded-md:10px;--rounded-lg:12px;--rounded-pill:9999px;--rounded-full:9999px;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display:"Inter Display", "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;--shadow-subtle:0 1px 2px #0000000d;--shadow-card:0 1px 3px #00000012, 0 1px 2px #0000000a;--shadow-hover:0 4px 14px #00000017;--shadow-float:0 16px 40px #0000001f;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-spring:cubic-bezier(.34, 1.4, .64, 1)}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100dvh;font-family:var(--font-sans);background-color:var(--colors-canvas);color:var(--colors-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;line-height:1.5;overflow:hidden}#root{width:100%;height:100%}::selection{color:#1e3a8a;background:#dbeafe}:focus-visible{outline:2px solid var(--colors-info-border);outline-offset:2px}h1,h2,h3,h4,h5,h6{color:var(--colors-ink);letter-spacing:-.01em;font-weight:600}code,kbd,pre{font-family:var(--font-mono)}button{font-family:inherit;font-size:inherit;color:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{border-radius:var(--rounded-pill);background:#cbd5e1}::-webkit-scrollbar-thumb:hover{background:#94a3b8}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popIn{0%{opacity:0;transform:scale(.97)translateY(4px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes cardEnter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes drawerIn{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes bounceDot{0%,80%,to{opacity:.4;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.ui-btn{border-radius:var(--rounded-sm);min-height:32px;font-family:var(--font-mono);cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:5px 12px;font-size:11px;font-weight:500;transition:all .15s;display:inline-flex}.ui-btn:disabled{opacity:.5;cursor:not-allowed}.ui-btn-primary{background:var(--colors-primary);color:var(--colors-on-primary);border-color:var(--colors-primary);min-height:38px}.ui-btn-primary:hover:not(:disabled){background:var(--colors-primary-hover)}.ui-btn-secondary{background:var(--colors-canvas);color:var(--colors-ink);border-color:var(--colors-hairline)}.ui-btn-secondary:hover:not(:disabled){background:var(--colors-surface-soft);border-color:var(--colors-border-strong)}.ui-btn-action{border:1px solid var(--colors-hairline);color:var(--colors-body);background:0 0}.ui-btn-action:hover:not(:disabled){background:var(--colors-surface-soft);color:var(--colors-ink);border-color:var(--colors-border-strong)}.ui-btn-ghost{color:var(--colors-muted);background:0 0;border-color:#0000}.ui-btn-ghost:hover:not(:disabled){background:var(--colors-surface-soft);color:var(--colors-ink)}.ui-btn-danger{background:var(--colors-danger-bg);color:var(--colors-danger-text);border-color:var(--colors-danger-border)}.ui-btn-danger:hover:not(:disabled){background:#fee2e2}.ui-btn-sm{min-height:28px;padding:3px 8px;font-size:10px}.ui-btn-md{min-height:34px;padding:6px 14px;font-size:11px}.ui-btn-spinner{border:2px solid;border-top-color:#0000;border-radius:50%;width:12px;height:12px;animation:.8s linear infinite spin}.ui-card{background:var(--colors-surface-soft);border:1px solid var(--colors-hairline);border-radius:var(--rounded-md);padding:14px 16px;transition:all .15s}.ui-card:hover,.ui-card:focus-within{border-color:var(--colors-border-strong);box-shadow:var(--shadow-subtle)}.ui-card-header{border-bottom:1px solid var(--colors-hairline);justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:6px;display:flex}.ui-card-eyebrow{font-family:var(--font-mono);letter-spacing:.08em;color:var(--colors-muted);font-size:10px;font-weight:600}.ui-card-title{color:var(--colors-ink);font-size:13px;font-weight:600}.ui-badge{font-family:var(--font-mono);border-radius:var(--rounded-xs);border:1px solid #0000;align-items:center;gap:5px;padding:2px 7px;font-size:10px;font-weight:500;display:inline-flex}.ui-badge-dot{background:currentColor;border-radius:50%;width:5px;height:5px}.ui-badge-default{background:var(--colors-surface-muted);color:var(--colors-body);border-color:var(--colors-hairline)}.ui-badge-success{background:var(--colors-success-bg);color:var(--colors-success-text);border-color:var(--colors-success-border)}.ui-badge-warning{background:var(--colors-warning-bg);color:var(--colors-warning-text);border-color:var(--colors-warning-border)}.ui-badge-danger{background:var(--colors-danger-bg);color:var(--colors-danger-text);border-color:var(--colors-danger-border)}.ui-badge-info{background:var(--colors-brand-blue-subtle);color:var(--colors-brand-blue);border-color:var(--colors-brand-blue-border)}.ui-tabs-bar{border-bottom:1px solid var(--colors-hairline);align-items:center;gap:6px;padding:8px 12px;display:flex}.ui-tab-btn{border-radius:var(--rounded-xs);min-height:32px;font-family:var(--font-mono);color:var(--colors-muted);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:6px;padding:5px 10px;font-size:11px;font-weight:500;transition:all .15s;display:inline-flex}.ui-tab-btn:hover:not(.active){color:var(--colors-ink);background:var(--colors-surface-soft)}.ui-tab-btn.active{background:var(--colors-surface-muted);color:var(--colors-ink);border-color:var(--colors-hairline);font-weight:600}.ui-empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:32px 20px;display:flex}.ui-empty-icon{border-radius:var(--rounded-md);background:var(--colors-surface-muted);width:44px;height:44px;color:var(--colors-muted);justify-content:center;align-items:center;margin-bottom:6px;display:flex}.ui-empty-title{color:var(--colors-ink);font-size:14px;font-weight:600}.ui-empty-desc{color:var(--colors-muted);max-width:320px;font-size:12px;line-height:1.45}.error-fallback{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:32px;display:flex}.error-fallback h2{color:var(--colors-danger-text);font-size:18px}.error-hint{color:var(--colors-muted);font-size:12px}.btn{border-radius:var(--rounded-sm);cursor:pointer;border:1px solid #0000;padding:10px 18px;font-size:13.5px;font-weight:600;transition:all .15s}.btn-approve{background:var(--colors-primary);color:#fff;border-color:var(--colors-primary)}.btn-approve:hover:not(:disabled){background:var(--colors-primary-hover)}.btn-reject{background:var(--colors-canvas);color:var(--colors-ink);border:1px solid var(--colors-hairline)}.btn-reject:hover:not(:disabled){background:var(--colors-surface-soft);border-color:var(--colors-border-strong)}@media (width<=1024px){.content-wrapper{flex-direction:column}.chat-container{border-right:none;border-bottom:1px solid var(--colors-hairline);flex:auto;width:100%}.telemetry-sidebar{border-left:none;flex:auto;width:100%;max-width:none;max-height:340px}.login-page{grid-template-columns:1fr;overflow-y:auto}.login-side{border-left:none;border-top:1px solid var(--colors-hairline)}}@media (width<=768px){.header-inner{padding:0 16px}.subtitle,.header-divider{display:none}.chat-history{padding:16px}.input-area,.floating-input-zone{padding:8px 12px 16px}.hero-empty-title{font-size:24px}.login-hero{padding:32px 20px}.login-title{font-size:28px}.eval-wrap{padding:16px}}.app-container{background:var(--colors-canvas);flex-direction:column;width:100vw;height:100dvh;display:flex;overflow:hidden}.app-header{background:var(--colors-canvas);border-bottom:1px solid var(--colors-hairline);z-index:30;flex-shrink:0;align-items:center;height:60px;min-height:60px;display:flex}.header-inner{justify-content:space-between;align-items:center;gap:16px;width:100%;padding:0 24px;display:flex}.header-titles{align-items:center;gap:14px;display:flex}.header-logo-row{cursor:default;align-items:center;gap:10px;display:flex}.header-logo-icon{border-radius:var(--rounded-sm,6px);background:0 0;justify-content:center;align-items:center;width:32px;height:32px;transition:transform .2s;display:flex}.header-logo-img{object-fit:contain;width:100%;height:100%;display:block}.header-logo-row:hover .header-logo-icon{transform:scale(1.06)}.header-brand-wrap{align-items:center;gap:8px;display:flex}.header-brand-wrap h1{letter-spacing:-.01em;color:var(--colors-ink);font-size:16px;font-weight:700}.header-badge{font-family:var(--font-mono);letter-spacing:.05em;background:var(--colors-surface-soft);border:1px solid var(--colors-hairline);border-radius:var(--rounded-xs);color:var(--colors-muted);padding:2px 6px;font-size:9.5px;font-weight:600}.header-divider{background:var(--colors-hairline);width:1px;height:16px}.subtitle{color:var(--colors-muted);white-space:nowrap;font-size:13px}.header-nav{background:var(--colors-surface-soft);border-radius:var(--rounded-md);border:1px solid var(--colors-hairline);align-items:center;gap:4px;padding:3px;display:flex}.header-nav-link{border-radius:var(--rounded-sm);color:var(--colors-muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.header-nav-link svg{opacity:.7;transition:opacity .15s}.header-nav-link:hover{color:var(--colors-ink)}.header-nav-link:hover svg{opacity:1}.header-nav-link.active{background:var(--colors-canvas);color:var(--colors-ink);font-weight:600;box-shadow:0 1px 3px #0000000f}.header-nav-link.active svg{opacity:1;color:var(--colors-brand-blue)}.header-actions{align-items:center;gap:8px;display:flex}.btn-api-key,.btn-logout{font-family:var(--font-mono);letter-spacing:.04em;border-radius:var(--rounded-sm);border:1px solid var(--colors-hairline);background:var(--colors-canvas);color:var(--colors-body);cursor:pointer;align-items:center;gap:6px;padding:6px 12px;font-size:11px;font-weight:600;transition:all .15s;display:inline-flex}.btn-api-key:hover,.btn-logout:hover{border-color:var(--colors-border-strong);color:var(--colors-ink);background:var(--colors-surface-soft)}.btn-logout:hover{background:var(--colors-danger-bg);border-color:var(--colors-danger-border);color:var(--colors-danger-text)}.status-indicator-dot{background:#cbd5e1;border-radius:50%;width:7px;height:7px;transition:background .2s,box-shadow .2s;display:inline-block}.status-indicator-dot.dot-active{background:#10b981;box-shadow:0 0 0 3px #10b98133;animation:none!important}.content-wrapper{background:var(--colors-canvas);flex:1;width:100%;min-height:0;display:flex;overflow:hidden}.chat-container{border-right:1px solid var(--colors-hairline);background:var(--colors-canvas);box-sizing:border-box;flex-direction:column;flex:50%;width:50%;min-width:0;max-width:none;height:100%;min-height:0;display:flex;overflow:hidden}.chat-scroll-zone{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden auto}.chat-history{box-sizing:border-box;flex-direction:column;gap:14px;width:100%;max-width:100%;margin:0 auto;padding:16px 18px 12px;display:flex}.hero-empty-state{text-align:center;flex-direction:column;align-items:center;max-width:100%;margin:0 auto;padding:24px 12px 14px;animation:.3s fadeIn;display:flex}.hero-empty-badge{font-family:var(--font-mono);letter-spacing:.05em;color:var(--colors-brand-blue);background:var(--colors-brand-blue-subtle);border:1px solid var(--colors-brand-blue-border);border-radius:var(--rounded-pill);align-items:center;gap:6px;margin-bottom:12px;padding:3px 10px;font-size:10.5px;font-weight:600;display:inline-flex}.hero-empty-badge svg{color:var(--colors-brand-blue)}.hero-empty-title{letter-spacing:-.01em;color:var(--colors-ink);margin-bottom:6px;font-size:19px;font-weight:700}.hero-empty-desc{color:var(--colors-muted);max-width:360px;margin-bottom:14px;font-size:13px;line-height:1.5}.hero-empty-features{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin-top:4px;display:flex}.feature-pill{color:var(--colors-body);background:var(--colors-surface-soft);border:1px solid var(--colors-hairline);border-radius:var(--rounded-pill);align-items:center;gap:5px;padding:3px 8px;font-size:11px;font-weight:500;display:inline-flex}.feature-pill-dot{background:#10b981;border-radius:50%;width:6px;height:6px}.message{max-width:100%;animation:slideUp .25s var(--ease-out) forwards;flex-direction:column;display:flex}.message-header-tag{align-items:center;margin-bottom:6px;display:flex}.eyebrow-tag{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:6px;font-size:10px;font-weight:600;display:inline-flex}.eyebrow-tag.user-tag{color:var(--colors-muted);margin-left:auto}.eyebrow-tag.error-tag{color:var(--colors-danger)}.error-dot{background:var(--colors-danger);border-radius:50%;width:6px;height:6px}.user-message{align-self:flex-end;max-width:82%}.user-message .message-bubble{background:var(--colors-primary);color:#fff;border-radius:var(--rounded-md);box-shadow:var(--shadow-card);padding:12px 18px;font-size:14px;line-height:1.55}.system-message{align-self:flex-start;width:100%}.system-message .message-bubble{background:var(--colors-canvas);border:1px solid var(--colors-hairline);border-radius:var(--rounded-md);box-shadow:var(--shadow-card);width:100%;padding:18px 22px}.system-message.message-error .message-bubble{background:var(--colors-danger-bg);border-color:var(--colors-danger-border);color:var(--colors-danger);font-family:var(--font-mono);font-size:13.5px}.answer-text{color:var(--colors-ink);font-size:14px;line-height:1.65}.empty-data{color:var(--colors-muted);font-size:13px;font-family:var(--font-mono);margin-top:8px}.streaming-dots{vertical-align:middle;gap:4px;margin-left:8px;display:inline-flex}.streaming-dots span{background:var(--colors-brand-blue);border-radius:50%;width:5px;height:5px;animation:1.2s infinite bounceDot}.streaming-dots span:nth-child(2){animation-delay:.15s}.streaming-dots span:nth-child(3){animation-delay:.3s}.sql-block{border-radius:var(--rounded-sm);background:#0f172a;border:1px solid #1e293b;margin-top:12px;overflow:hidden}.sql-block-header{background:#1e293b;border-bottom:1px solid #334155;justify-content:space-between;align-items:center;padding:8px 14px;display:flex}.sql-block-title{align-items:center;gap:8px;display:flex}.sql-indicator{background:#38bdf8;border-radius:50%;width:7px;height:7px}.sql-label{font-family:var(--font-mono);letter-spacing:.08em;color:#94a3b8;font-size:10.5px;font-weight:600}.sql-copy-btn{font-family:var(--font-mono);border-radius:var(--rounded-xs);color:#cbd5e1;cursor:pointer;background:#0f172a;border:1px solid #334155;align-items:center;gap:5px;padding:3px 8px;font-size:10px;font-weight:500;transition:all .15s;display:inline-flex}.sql-copy-btn:hover{color:#fff;background:#1e293b;border-color:#475569}.sql-code{font-family:var(--font-mono);color:#e2e8f0;white-space:pre-wrap;word-break:break-word;padding:14px 16px;font-size:12.5px;line-height:1.6;overflow-x:auto}.data-table-container{border:1px solid var(--colors-hairline);border-radius:var(--rounded-sm);background:var(--colors-canvas);box-shadow:var(--shadow-subtle);margin-top:14px;overflow:hidden}.data-table-toolbar{background:var(--colors-surface-soft);border-bottom:1px solid var(--colors-hairline);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 14px;display:flex}.data-table-title-group{align-items:center;gap:8px;display:flex}.data-table-dot{background:var(--colors-brand-blue);border-radius:50%;width:7px;height:7px}.data-table-title{font-family:var(--font-mono);letter-spacing:.08em;color:var(--colors-body);font-size:10.5px;font-weight:600}.data-table-count-badge{font-family:var(--font-mono);background:var(--colors-canvas);border:1px solid var(--colors-hairline);border-radius:var(--rounded-xs);color:var(--colors-muted);padding:2px 6px;font-size:10px;font-weight:500}.data-table-search{font-family:var(--font-mono);border:1px solid var(--colors-hairline);border-radius:var(--rounded-xs);background:var(--colors-canvas);color:var(--colors-ink);outline:none;min-width:150px;padding:4px 10px;font-size:11px;transition:all .15s}.data-table-search:focus{border-color:var(--colors-info-border);box-shadow:0 0 0 2px #2563eb26}.data-table-scroll{max-height:380px;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;border-bottom:1px solid var(--colors-hairline);padding:10px 14px}th{background:var(--colors-surface-soft);font-family:var(--font-mono);color:var(--colors-muted);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;z-index:1;font-size:10.5px;font-weight:600;position:sticky;top:0}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s}th.sortable:hover{background:var(--colors-surface-strong);color:var(--colors-ink)}th .sort-arrow{color:var(--colors-brand-blue);margin-left:5px;font-size:9px}td{color:var(--colors-ink);background:var(--colors-canvas)}tbody tr{transition:background .12s}tbody tr:hover td{background:var(--colors-surface-soft)}tr:last-child td{border-bottom:none}.null-indicator{font-family:var(--font-mono);color:var(--colors-faint);background:var(--colors-surface-muted);border-radius:var(--rounded-xs);padding:2px 5px;font-size:10px}.sql-execution-card{border:1px solid var(--colors-hairline);border-radius:var(--rounded-sm);box-shadow:var(--shadow-subtle);background:#fff;margin-top:12px;transition:box-shadow .2s,border-color .2s;overflow:hidden}.sql-execution-card:hover{box-shadow:var(--shadow-card);border-color:#cbd5e1}.sql-card-header{background:var(--colors-surface-soft);border-bottom:1px solid var(--colors-hairline);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 14px;display:flex}.sql-card-title-group{align-items:center;gap:8px;display:flex}.sql-edited-badge{font-family:var(--font-mono);color:var(--colors-brand-blue);letter-spacing:.04em;background:#eff6ff;border:1px solid #bfdbfe;border-radius:2px;padding:1px 5px;font-size:9px;font-weight:600}.sql-card-header-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.sql-action-btn{font-family:var(--font-mono);border:1px solid var(--colors-hairline);border-radius:var(--rounded-xs);background:var(--colors-canvas);color:var(--colors-body);cursor:pointer;align-items:center;gap:5px;padding:4px 8px;font-size:10px;font-weight:500;transition:all .15s;display:inline-flex}.sql-action-btn:hover{background:var(--colors-surface-muted);color:var(--colors-ink);border-color:var(--colors-border-strong)}.sql-action-btn.active{background:var(--colors-primary);color:#fff;border-color:var(--colors-primary)}.sql-editor-container{background:#fff;padding:0}.sql-editor-textarea{box-sizing:border-box;width:100%;font-family:var(--font-mono);color:var(--colors-ink);border:none;border-bottom:1px solid var(--colors-hairline);resize:vertical;background:#fff;outline:none;padding:12px 14px;font-size:13px;line-height:1.6}.sql-editor-textarea:focus{background:#fbfdff}.sql-confirmation-bar{background:var(--colors-surface-soft);border-top:1px solid var(--colors-hairline);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.sql-confirmation-prompt{color:var(--colors-body);align-items:center;gap:8px;font-size:12.5px;font-weight:500;display:flex}.sql-confirmation-actions{align-items:center;gap:8px;display:flex}.btn-sql-confirm{background:var(--colors-primary);color:#fff;border:1px solid var(--colors-primary);border-radius:var(--rounded-sm);cursor:pointer;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.btn-sql-confirm:hover{background:var(--colors-primary-hover)}.btn-sql-skip{color:var(--colors-muted);background:var(--colors-canvas);border:1px solid var(--colors-hairline);border-radius:var(--rounded-sm);cursor:pointer;align-items:center;padding:8px 14px;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.btn-sql-skip:hover{color:var(--colors-ink);border-color:var(--colors-border-strong)}.sql-status-bar{border-top:1px solid var(--colors-hairline);font-family:var(--font-mono);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 14px;font-size:11px;display:flex}.sql-skipped-bar{background:var(--colors-surface-soft);color:var(--colors-muted)}.sql-status-info{align-items:center;gap:8px;display:flex}.sql-skipped-tag{background:var(--colors-surface-muted);border:1px solid var(--colors-hairline);color:var(--colors-body);border-radius:2px;padding:1px 5px;font-size:9px;font-weight:600}.btn-sql-run-mini{font-family:var(--font-mono);background:var(--colors-canvas);border:1px solid var(--colors-hairline);border-radius:var(--rounded-xs);color:var(--colors-ink);cursor:pointer;align-items:center;gap:5px;padding:4px 10px;font-size:10px;font-weight:600;transition:all .15s;display:inline-flex}.btn-sql-run-mini:hover{border-color:var(--colors-primary);background:var(--colors-surface-soft)}.sql-executing-bar{background:var(--colors-surface-soft);color:var(--colors-ink);align-items:center;gap:8px;display:flex}.sql-spinner{border:2px solid var(--colors-hairline);border-top-color:var(--colors-brand-blue);border-radius:50%;width:12px;height:12px;animation:.8s linear infinite spin;display:inline-block}.sql-success-bar{background:var(--colors-success-bg);border-top:1px solid var(--colors-success-border);color:#065f46}.sql-success-badge{letter-spacing:.05em;color:#065f46;font-size:9.5px;font-weight:700}.sql-meta-badge{color:#065f46;background:#10b9811f;border-radius:2px;padding:1px 6px;font-size:10px;font-weight:500}.btn-sql-rerun{font-family:var(--font-mono);border:1px solid var(--colors-success-border);border-radius:var(--rounded-xs);color:#065f46;cursor:pointer;background:#fff;align-items:center;gap:5px;padding:3px 8px;font-size:10px;font-weight:600;transition:background .15s;display:inline-flex}.btn-sql-rerun:hover{background:#ecfdf5}.sql-result-container{border-top:1px solid var(--colors-hairline)}.sql-result-container .data-table-container{box-shadow:none;border:none;border-radius:0;margin-top:0}.sql-empty-result{font-family:var(--font-mono);color:var(--colors-muted);background:var(--colors-canvas);padding:12px 14px;font-size:11px}.sql-error-box{background:var(--colors-danger-bg);border-top:1px solid var(--colors-danger-border);color:var(--colors-danger);font-family:var(--font-mono);padding:10px 14px;font-size:11px}.sql-error-header{align-items:center;gap:6px;margin-bottom:4px;font-weight:600;display:flex}.sql-error-msg{word-break:break-word;margin-bottom:8px;line-height:1.4}.sql-error-actions{gap:6px;display:flex}.btn-sql-retry,.btn-sql-edit-prompt{font-family:var(--font-mono);border-radius:var(--rounded-xs);cursor:pointer;padding:5px 12px;font-size:10.5px;font-weight:600;transition:all .15s}.btn-sql-retry{background:var(--colors-danger);color:#fff;border:1px solid var(--colors-danger)}.btn-sql-retry:hover{background:#dc2626}.btn-sql-edit-prompt{color:var(--colors-danger);border:1px solid var(--colors-danger-border);background:#fff}.btn-sql-edit-prompt:hover{background:#fef2f2}.message-generating{animation:.25s ease-out forwards fadeInGenerating}@keyframes fadeInGenerating{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.generating-bubble{background:var(--colors-canvas);border:1px solid var(--colors-hairline);border-radius:var(--rounded-md);justify-content:center;align-items:center;width:fit-content;padding:4px 12px;display:inline-flex;box-shadow:0 1px 4px #0000000a}.ai-loader-wrapper{align-items:center;gap:10px;display:inline-flex}.ai-loader-anim{flex-shrink:0;justify-content:center;align-items:center;display:flex}.ai-loader-spinner{border:3px solid var(--colors-brand-blue-border);border-top-color:var(--colors-brand-blue);border-radius:50%;width:60%;height:60%;animation:.8s linear infinite aiSpin}@keyframes aiSpin{to{transform:rotate(360deg)}}.ai-loader-label{font-family:var(--font-mono);color:var(--colors-ink);letter-spacing:.01em;font-size:12px;font-weight:500}.ai-tag{color:var(--colors-brand-blue);background:#2563eb14;border:1px solid #2563eb33;align-items:center;gap:6px;display:inline-flex}.ai-dot-pulse{background:var(--colors-brand-blue);border-radius:50%;width:6px;height:6px;animation:1.8s infinite aiPulse;box-shadow:0 0 #2563eb99}@keyframes aiPulse{0%{transform:scale(.95);box-shadow:0 0 #2563eb99}70%{transform:scale(1);box-shadow:0 0 0 6px #2563eb00}to{transform:scale(.95);box-shadow:0 0 #2563eb00}}.floating-input-zone,.input-area{background:linear-gradient(180deg, #fff0 0%, #ffffffbf 25%, var(--colors-canvas) 100%);box-sizing:border-box;z-index:10;flex-shrink:0;width:100%;padding:10px 16px 28px;position:relative}.floating-input-card{-webkit-backdrop-filter:blur(18px);box-sizing:border-box;background:#fffffff0;border:1px solid #e2e8f0f2;border-radius:14px;flex-direction:column;width:100%;min-height:94px;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;overflow:hidden;box-shadow:0 14px 38px -4px #0f172a1a,0 4px 14px -2px #0f172a0d}.floating-input-card:hover{border-color:var(--colors-border-strong);box-shadow:0 16px 42px -4px #0f172a21,0 5px 16px -2px #0f172a0f}.floating-input-card:focus-within{border-color:var(--colors-brand-blue);background:#fffffffa;transform:translateY(-1.5px);box-shadow:0 18px 44px -4px #2563eb33,0 0 0 2px #2563eb24}.floating-input-main{box-sizing:border-box;align-items:center;gap:10px;width:100%;padding:13px 16px 8px;display:flex}.floating-input-icon{color:var(--colors-muted);flex-shrink:0;align-items:center;transition:color .15s;display:flex}.floating-input-card:focus-within .floating-input-icon{color:var(--colors-brand-blue)}#questionInput{width:100%;min-width:0;color:var(--colors-ink);font-family:var(--font-sans);box-sizing:border-box;background:0 0;border:none;outline:none;flex:1;min-height:34px;padding:4px 0;font-size:14px;line-height:1.5}#questionInput::placeholder{color:var(--colors-faint);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;overflow:hidden}#questionInput:disabled{opacity:.5;cursor:not-allowed}.floating-input-bottom{box-sizing:border-box;background:#f8fafcb3;border-top:1px solid #f1f5f9e6;justify-content:space-between;align-items:center;gap:8px;padding:6px 12px 9px 14px;display:flex}.integrated-domain-pill{background:var(--colors-canvas);border:1px solid var(--colors-hairline);border-radius:var(--rounded-sm);box-sizing:border-box;align-items:center;gap:6px;max-width:calc(100% - 95px);height:27px;padding:3px 8px;transition:all .15s;display:inline-flex;position:relative}.integrated-domain-pill:hover{border-color:var(--colors-border-strong);background:var(--colors-surface-soft)}.domain-pill-icon{color:var(--colors-brand-blue);flex-shrink:0}.domain-pill-prefix{font-family:var(--font-mono);color:var(--colors-muted);letter-spacing:.05em;flex-shrink:0;font-size:9.5px;font-weight:700}.domain-select-wrapper{align-items:center;min-width:0;display:inline-flex;position:relative}.domain-select-integrated{appearance:none;font-family:var(--font-mono);color:var(--colors-ink);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;outline:none;padding:0 16px 0 2px;font-size:11px;font-weight:600;overflow:hidden}.domain-chevron-icon{pointer-events:none;color:var(--colors-muted);flex-shrink:0;position:absolute;right:0}.floating-input-actions{flex-shrink:0;align-items:center;gap:7px;display:flex}.floating-kbd-hint{font-family:var(--font-mono);color:var(--colors-muted);background:var(--colors-surface-muted);border:1px solid var(--colors-hairline);-webkit-user-select:none;user-select:none;border-radius:3px;padding:2px 5px;font-size:9.5px;font-weight:500;line-height:1.2}#sendButton,.floating-run-btn{border-radius:var(--rounded-sm);background:var(--colors-primary);border:1px solid var(--colors-primary);color:#fff;font-family:var(--font-mono);letter-spacing:.03em;cursor:pointer;box-sizing:border-box;justify-content:center;align-items:center;gap:6px;height:27px;padding:4px 12px;font-size:11.5px;font-weight:600;transition:all .15s;display:inline-flex}#sendButton:hover:not(:disabled),.floating-run-btn:hover:not(:disabled){background:var(--colors-primary-hover);transform:translateY(-.5px);box-shadow:0 2px 8px #0f172a2e}#sendButton:active:not(:disabled),.floating-run-btn:active:not(:disabled){background:var(--colors-primary-active);transform:translateY(0)}#sendButton:disabled,.floating-run-btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none;filter:grayscale(.2)}.data-table-sort-btn{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;align-items:center;width:100%;min-height:32px;padding:0;display:inline-flex}.data-table-sort-btn:focus-visible{outline:2px solid var(--colors-info-border);outline-offset:1px}.sql-copy-btn{min-height:32px}.telemetry-sidebar{background:var(--colors-canvas);border-left:1px solid var(--colors-hairline);box-sizing:border-box;flex:50%;width:50%;min-width:0;max-width:none;height:100%;min-height:0;overflow:hidden auto}.telemetry-inner{flex-direction:column;min-height:100%;display:flex}.sidebar-tab-bar{border-bottom:1px solid var(--colors-hairline);background:var(--colors-canvas);z-index:5;gap:4px;padding:10px 14px;display:flex;position:sticky;top:0}.sidebar-tab-btn{border-radius:var(--rounded-sm);min-height:32px;font-family:var(--font-mono);color:var(--colors-muted);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:6px;padding:6px 10px;font-size:11px;font-weight:500;transition:all .15s;display:inline-flex}.sidebar-tab-btn:hover:not(.active){color:var(--colors-ink);background:var(--colors-surface-soft)}.sidebar-tab-btn.active{background:var(--colors-surface-soft);color:var(--colors-ink);border-color:var(--colors-hairline);font-weight:600}.tab-custom-badge{background:var(--colors-brand-blue);color:#fff;border-radius:2px;padding:1px 4px;font-size:8px;font-weight:700}.telemetry-header{border-bottom:1px solid var(--colors-hairline);flex-direction:column;gap:4px;padding:14px 18px 10px;display:flex}.telemetry-eyebrow{font-family:var(--font-mono);letter-spacing:.08em;color:var(--colors-muted);align-items:center;gap:6px;font-size:10px;font-weight:600;display:flex}.telemetry-dot{background:var(--colors-brand-blue);border-radius:50%;width:7px;height:7px}.telemetry-header h2{font-size:16px;font-weight:600}.telemetry-content{flex-direction:column;gap:12px;padding:14px 18px;display:flex}.telemetry-card{background:var(--colors-surface-soft);border:1px solid var(--colors-hairline);border-radius:var(--rounded-md);padding:14px 16px;transition:all .15s}.telemetry-card:hover{border-color:var(--colors-border-strong);box-shadow:var(--shadow-subtle)}.card-header-bar{border-bottom:1px solid var(--colors-hairline);justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:6px;display:flex}.card-eyebrow{font-family:var(--font-mono);letter-spacing:.08em;color:var(--colors-muted);font-size:10px;font-weight:600}.card-count-pill{font-family:var(--font-mono);background:var(--colors-canvas);color:var(--colors-body);border-radius:var(--rounded-xs);border:1px solid var(--colors-hairline);padding:1px 6px;font-size:9.5px;font-weight:500}.stat-row{justify-content:space-between;align-items:center;gap:10px;margin-bottom:7px;font-size:12.5px;display:flex}.stat-label{color:var(--colors-body)}.stat-value{font-family:var(--font-mono);color:var(--colors-ink);text-align:right;font-size:12.5px;font-weight:500}.stat-value.highlight-badge{background:var(--colors-primary);color:#fff;border-radius:var(--rounded-xs);padding:2px 7px}.stat-row-cost{border-top:1px solid var(--colors-hairline);margin-top:8px;margin-bottom:0;padding-top:8px}.cost-value{color:#059669;font-weight:600}.telemetry-empty-card{background:var(--colors-canvas);border:1px dashed var(--colors-hairline);border-radius:var(--rounded-md);text-align:center;margin:16px;padding:32px 20px}.empty-icon-wrap{background:var(--colors-brand-blue-subtle);border-radius:var(--rounded-md);width:40px;height:40px;color:var(--colors-brand-blue);justify-content:center;align-items:center;margin:0 auto 12px;display:flex}.empty-state-title{color:var(--colors-ink);margin-bottom:4px;font-size:14px;font-weight:600}.empty-state-desc{color:var(--colors-muted);font-size:12.5px;line-height:1.5}.traces-list{flex-direction:column;gap:6px;display:flex}.trace-details{background:var(--colors-canvas);border:1px solid var(--colors-hairline);border-radius:var(--rounded-xs);overflow:hidden}.trace-details summary{font-family:var(--font-mono);cursor:pointer;color:var(--colors-body);-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:7px 10px;font-size:11px;font-weight:500;list-style:none;display:flex}.trace-details summary::-webkit-details-marker{display:none}.trace-details summary:hover{background:var(--colors-surface-soft);color:var(--colors-ink)}.trace-content{border-top:1px solid var(--colors-hairline);background:var(--colors-canvas);flex-direction:column;gap:8px;padding:10px;display:flex}.trace-label{font-family:var(--font-mono);color:var(--colors-muted);margin-bottom:4px;font-size:9.5px;font-weight:600}.trace-section pre{background:var(--colors-surface-soft);color:var(--colors-body);border-radius:var(--rounded-xs);font-family:var(--font-mono);white-space:pre-wrap;word-break:break-all;border:1px solid var(--colors-hairline);max-height:160px;padding:8px 10px;font-size:11px;line-height:1.5;overflow-y:auto}.telemetry-watermark{text-align:center;letter-spacing:-.02em;color:#e2e8f0;-webkit-user-select:none;user-select:none;pointer-events:none;margin-top:auto;padding:28px 0 12px;font-size:20px;font-weight:600}.payload-inspector-container{flex-direction:column;gap:12px;padding:12px 18px 20px;display:flex;overflow-y:auto}.inspector-subtabs{border-bottom:1px solid var(--colors-hairline);gap:6px;padding-bottom:8px;display:flex}.inspector-tab-btn{border-radius:var(--rounded-xs);min-height:32px;font-family:var(--font-mono);color:var(--colors-muted);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:6px;padding:5px 10px;font-size:11px;font-weight:500;transition:all .15s;display:flex}.inspector-tab-btn:hover:not(.active){color:var(--colors-ink);background:var(--colors-surface-soft)}.inspector-tab-btn.active{background:var(--colors-surface-muted);color:var(--colors-ink);border-color:var(--colors-hairline);font-weight:600}.tab-pill-badge{background:var(--colors-surface-muted);color:var(--colors-body);font-size:9px;font-family:var(--font-mono);border-radius:2px;padding:1px 5px}.tab-pill-badge.success{background:var(--colors-success-bg);color:#065f46;border:1px solid var(--colors-success-border)}.inspector-panel{animation:fadeIn .2s var(--ease-out);flex-direction:column;gap:8px;display:flex}.payload-controls-bar{background:var(--colors-surface-soft);border:1px solid var(--colors-hairline);border-radius:var(--rounded-xs);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;display:flex}.payload-toggles-group{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.payload-toggles-label{font-family:var(--font-mono);color:var(--colors-muted);letter-spacing:.06em;margin-right:2px;font-size:10px;font-weight:700}.payload-toggle-chip{border-radius:var(--rounded-xs);background:var(--colors-canvas);border:1px solid var(--colors-hairline);font-family:var(--font-mono);color:var(--colors-body);cursor:pointer;align-items:center;gap:5px;height:26px;padding:3px 8px;font-size:10px;font-weight:600;transition:all .15s;display:inline-flex}.payload-toggle-chip:hover{border-color:var(--colors-border-strong);color:var(--colors-ink)}.payload-toggle-chip.active{border-color:var(--colors-brand-blue-border);background:var(--colors-brand-blue-subtle);color:var(--colors-brand-blue)}.toggle-chip-tag{border-radius:2px;padding:1px 4px;font-size:8.5px;font-weight:700}.toggle-chip-tag.on{background:var(--colors-brand-blue);color:#fff}.toggle-chip-tag.off{color:#fff;opacity:.6;background:#94a3b8}.btn-payload-execute{letter-spacing:.04em;background:var(--colors-primary,#0f172a);color:#fff;border:1px solid var(--colors-primary,#0f172a);border-radius:var(--rounded-xs,4px);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;height:28px;padding:5px 14px;font-size:11.5px;font-weight:600;transition:all .15s;display:inline-flex}.btn-payload-execute:hover:not(:disabled){background:var(--colors-primary-hover,#1e293b);border-color:var(--colors-primary-hover,#1e293b)}.btn-payload-execute:disabled{opacity:.5;cursor:not-allowed}.payload-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:11px;height:11px;animation:.8s linear infinite spin}.inspector-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.custom-override-toggle{font-family:var(--font-mono);color:var(--colors-body);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:11px;display:inline-flex}.custom-override-toggle input{cursor:pointer;accent-color:var(--colors-primary)}.inspector-actions{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.btn-text-action{border:1px solid var(--colors-hairline);min-height:32px;font-family:var(--font-mono);color:var(--colors-body);cursor:pointer;background:0 0;border-radius:3px;justify-content:center;align-items:center;padding:3px 9px;font-size:10px;font-weight:500;transition:all .15s;display:inline-flex}.btn-text-action:hover{border-color:var(--colors-primary);color:var(--colors-ink);background:var(--colors-surface-soft)}.json-error-banner{font-family:var(--font-mono);color:var(--colors-danger);background:var(--colors-danger-bg);border:1px solid var(--colors-danger-border);border-radius:var(--rounded-xs);padding:6px 10px;font-size:10px}.json-editor-wrap{background:var(--colors-canvas);border:1px solid var(--colors-hairline);border-radius:var(--rounded-xs);flex-direction:column;display:flex;overflow:hidden}.json-editor-wrap:focus-within{border-color:var(--colors-info-border);box-shadow:0 0 0 2px #2563eb26}.json-textarea{box-sizing:border-box;width:100%;font-family:var(--font-mono);background:var(--colors-surface-soft);color:var(--colors-ink);resize:vertical;border:none;outline:none;min-height:220px;padding:10px;font-size:11px;line-height:1.5}.json-textarea.editable{background:#fff}.json-pre{font-family:var(--font-mono);color:var(--colors-ink);white-space:pre-wrap;word-break:break-word;max-height:380px;margin:0;padding:10px;font-size:11px;line-height:1.5;overflow:auto}.inspector-tip{color:var(--colors-muted);font-size:11px;line-height:1.4}.inspector-tip code{background:var(--colors-surface-muted);border-radius:3px;padding:0 4px;font-size:10px}.inspector-empty{text-align:center;color:var(--colors-muted);padding:24px 12px;font-size:12px}.validation-warning-box{background:var(--colors-warning-bg);border:1px solid var(--colors-warning-border);border-radius:var(--rounded-xs);color:#92400e;font-family:var(--font-mono);padding:10px 14px;font-size:11px;line-height:1.4}.validation-warning-box ul{margin:4px 0 0 16px;padding:0}.sql-runner-container{box-sizing:border-box;flex-direction:column;gap:12px;height:100%;padding:16px 20px 24px;display:flex;overflow-y:auto}.sql-runner-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.sql-runner-toolbar-left{align-items:center;gap:8px;display:flex}.sql-runner-title-text{font-family:var(--font-mono);letter-spacing:.08em;color:var(--colors-ink);font-size:11px;font-weight:700}.sql-runner-guardrail-tag{font-family:var(--font-mono);background:var(--colors-surface-muted);border:1px solid var(--colors-hairline);border-radius:var(--rounded-xs);color:var(--colors-muted);letter-spacing:.04em;padding:2px 6px;font-size:9px;font-weight:600}.sql-runner-toolbar-right{align-items:center;gap:8px;display:flex}.sql-runner-tool-btn{font-family:var(--font-mono);background:var(--colors-canvas);border:1px solid var(--colors-hairline);border-radius:var(--rounded-xs);color:var(--colors-body);cursor:pointer;align-items:center;gap:5px;height:28px;padding:4px 10px;font-size:10.5px;font-weight:500;transition:all .15s;display:inline-flex}.sql-runner-tool-btn:hover{background:var(--colors-surface-soft);color:var(--colors-ink);border-color:var(--colors-border-strong)}.sql-runner-editor-card{border:1px solid var(--colors-hairline);border-radius:var(--rounded-sm);box-shadow:var(--shadow-subtle);background:#fff;flex-direction:column;transition:border-color .15s,box-shadow .15s;display:flex;overflow:hidden}.sql-runner-editor-card:focus-within{border-color:#0f172a;box-shadow:0 0 0 2px #0f172a14}.sql-runner-textarea{box-sizing:border-box;width:100%;font-family:var(--font-mono);color:var(--colors-ink);resize:vertical;background:#fff;border:none;outline:none;min-height:110px;padding:12px 14px;font-size:13px;line-height:1.5}.sql-runner-action-bar{background:var(--colors-surface-soft);border-top:1px solid var(--colors-hairline);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;display:flex}.sql-runner-action-bar-left{align-items:center;gap:10px;display:flex}.btn-sql-runner-execute{letter-spacing:.04em;background:var(--colors-primary,#0f172a);color:#fff;border:1px solid var(--colors-primary,#0f172a);border-radius:var(--rounded-xs,4px);cursor:pointer;align-items:center;gap:6px;height:32px;padding:6px 14px;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.btn-sql-runner-execute:hover:not(:disabled){background:var(--colors-primary-hover,#1e293b);border-color:var(--colors-primary-hover,#1e293b)}.btn-sql-runner-execute:disabled{opacity:.5;cursor:not-allowed}.sql-runner-hint{font-family:var(--font-mono);color:var(--colors-muted);font-size:10.5px}.sql-runner-action-bar-right{align-items:center;gap:8px;display:flex}.sql-runner-stats{align-items:center;gap:6px;display:flex}.stat-pill{font-family:var(--font-mono);background:var(--colors-surface-muted);border:1px solid var(--colors-hairline);border-radius:var(--rounded-xs);color:var(--colors-body);padding:3px 8px;font-size:10.5px;font-weight:600}.stat-pill.latency{color:var(--colors-ink)}.stat-pill.count{color:var(--colors-brand-blue,#2563eb)}.sql-runner-output-wrap{flex-direction:column;flex:1;gap:10px;display:flex}.sql-runner-error-box{background:var(--colors-danger-bg);border:1px solid var(--colors-danger-border);border-radius:var(--rounded-xs);color:var(--colors-danger);font-family:var(--font-mono);padding:10px 12px;font-size:11px}.sql-runner-table-container{overflow-x:auto}.sql-runner-empty-result{font-family:var(--font-mono);color:var(--colors-muted);text-align:center;background:var(--colors-surface-soft);border:1px dashed var(--colors-hairline);border-radius:var(--rounded-xs);padding:12px;font-size:11px}.sql-runner-placeholder{text-align:center;color:var(--colors-muted);flex-direction:column;align-items:center;gap:8px;padding:32px 16px;font-size:12px;display:flex}.response-body-viewer,.response-parsed{flex-direction:column;gap:8px;display:flex}.response-parsed pre{font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;background:var(--colors-surface-soft);border:1px solid var(--colors-hairline);border-radius:var(--rounded-xs);max-height:320px;margin:0;padding:8px 10px;font-size:11px;line-height:1.5;overflow:auto}.ast-viewer{flex-direction:column;gap:6px;display:flex}.ast-tree{font-family:var(--font-mono);background:var(--colors-surface-soft);border:1px solid var(--colors-hairline);border-radius:var(--rounded-xs);max-height:320px;padding:8px 10px;font-size:11px;line-height:1.6;overflow:auto}.ast-toggle{cursor:pointer;font:inherit;color:inherit;background:0 0;border:none;align-items:center;gap:6px;padding:1px 0;display:inline-flex}.ast-toggle:hover{color:var(--colors-link)}.ast-key{font-weight:600}.ast-sep{color:var(--colors-muted)}.ast-leaf{color:var(--colors-ink)}.ast-count{color:var(--colors-muted);background:#0f172a0f;border-radius:2px;padding:0 5px;font-size:10px}.telemetry-card:focus-within{border-color:var(--colors-border-strong);box-shadow:var(--shadow-subtle)}@media (width<=768px){.telemetry-sidebar{width:100%;min-width:0}}.eval-container{background:var(--colors-canvas);flex:1;height:100%;min-height:0;overflow:hidden auto}.eval-wrap{box-sizing:border-box;width:100%;max-width:1400px;animation:fadeIn .3s var(--ease-out);margin:0 auto;padding:28px 36px 64px}.eval-hero{justify-content:space-between;align-items:flex-end;margin-bottom:20px;display:flex}.eval-hero h2{color:var(--colors-ink);letter-spacing:-.01em;margin:0 0 6px;font-size:24px;font-weight:700}.eval-hero p{color:var(--colors-muted);max-width:760px;margin:0;font-size:13.5px;line-height:1.5}.eval-controls{background:var(--colors-canvas);border:1px solid var(--colors-hairline);border-radius:var(--rounded-md);box-shadow:var(--shadow-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:12px 16px;display:flex}.eval-controls-left{flex:1;align-items:center;gap:10px;min-width:320px;display:flex}.eval-controls-right{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.eval-action-buttons{align-items:center;gap:8px;display:flex}.eval-input{border-radius:var(--rounded-sm);border:1px solid var(--colors-hairline);font-size:13px;font-family:var(--font-sans);color:var(--colors-ink);background:var(--colors-canvas);outline:none;flex:1;min-width:220px;height:38px;padding:8px 12px;transition:all .15s}.eval-select{border-radius:var(--rounded-sm);border:1px solid var(--colors-hairline);font-size:13px;font-family:var(--font-sans);color:var(--colors-ink);background:var(--colors-canvas);outline:none;min-width:170px;height:38px;padding:8px 12px;transition:all .15s}.eval-input:focus,.eval-select:focus{border-color:var(--colors-info-border);box-shadow:0 0 0 2px #2563eb26}.eval-check{color:var(--colors-body);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:12.5px;font-weight:500;display:flex}.eval-check input{accent-color:var(--colors-brand-blue);cursor:pointer}.eval-btn{border-radius:var(--rounded-sm);border:1px solid var(--colors-primary);background:var(--colors-primary);color:#fff;cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;height:36px;padding:8px 18px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.eval-btn:hover:not(:disabled){background:var(--colors-primary-hover)}.eval-btn:disabled{opacity:.45;cursor:not-allowed}.eval-btn-secondary{background:var(--colors-surface-soft);border-color:var(--colors-hairline);color:var(--colors-ink)}.eval-btn-secondary:hover:not(:disabled){background:var(--colors-surface-muted)}.eval-btn-ghost{border-color:var(--colors-hairline);color:var(--colors-body);background:0 0;padding:8px 14px}.eval-btn-ghost:hover:not(:disabled){background:var(--colors-surface-soft);color:var(--colors-ink)}.eval-category-tabs{gap:6px;margin-bottom:16px;padding-bottom:6px;display:flex;overflow-x:auto}.eval-category-tab{border-radius:var(--rounded-pill);border:1px solid var(--colors-hairline);background:var(--colors-canvas);color:var(--colors-body);cursor:pointer;white-space:nowrap;align-items:center;gap:8px;padding:6px 12px;font-size:12.5px;font-weight:500;transition:all .15s;display:inline-flex}.eval-category-tab:hover{background:var(--colors-surface-soft);border-color:var(--colors-border-strong);color:var(--colors-ink)}.eval-category-tab.active{background:var(--colors-primary);border-color:var(--colors-primary);color:#fff}.tab-label{font-weight:500}.tab-badge{font-size:11px;font-family:var(--font-mono);border-radius:var(--rounded-pill);color:inherit;background:#0f172a14;padding:1px 6px;font-weight:600}.eval-category-tab.active .tab-badge{color:#fff;background:#ffffff38}.eval-progress-track{border-radius:var(--rounded-full);background:#e2e8f0;height:6px;margin:4px 0 12px;overflow:hidden}.eval-progress-fill{border-radius:var(--rounded-full);height:100%;transition:width .35s var(--ease-out);background:#10b981}.eval-progress-fill.indeterminate{animation:evalSlide 1.2s var(--ease-out) infinite;width:40%!important}@keyframes evalSlide{0%{margin-left:-40%}to{margin-left:100%}}.eval-error{color:var(--colors-danger);font-size:13px;font-family:var(--font-mono);background:var(--colors-danger-bg);border:1px solid var(--colors-danger-border);border-radius:var(--rounded-sm);padding:8px 12px}.eval-note,.eval-running-note{color:var(--colors-muted);margin:6px 0 10px;font-size:13px}.eval-cards{flex-wrap:wrap;gap:12px;margin:6px 0 16px;display:flex}.eval-card{border:1px solid var(--colors-hairline);border-radius:var(--rounded-md);background:var(--colors-canvas);flex:1;min-width:150px;padding:14px 16px;transition:all .15s}.eval-card:hover{box-shadow:var(--shadow-card);transform:translateY(-2px)}.eval-card.featured{background:var(--colors-surface-soft)}.eval-card-label{color:var(--colors-muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:600}.eval-card-value{color:var(--colors-ink);font-variant-numeric:tabular-nums;margin:3px 0;font-size:26px;font-weight:700;line-height:1.1}.eval-card.pass .eval-card-value{color:#059669}.eval-card-sub{color:var(--colors-body);font-size:12px}.eval-table-wrap{border:1px solid var(--colors-hairline);border-radius:var(--rounded-md);box-shadow:var(--shadow-subtle);background:#fff;overflow-x:auto}.eval-table-header-bar{background:var(--colors-surface-soft);border-bottom:1px solid var(--colors-hairline);color:var(--colors-muted);justify-content:space-between;align-items:center;padding:10px 14px;font-size:12px;display:flex}.eval-table{border-collapse:collapse;background:#fff;width:100%;font-size:13px}.eval-table thead tr{text-align:left;border-bottom:2px solid var(--colors-hairline)}.eval-table th{background:var(--colors-surface-soft);text-transform:uppercase;letter-spacing:.05em;color:var(--colors-muted);padding:10px 12px;font-size:11px;font-weight:600}.eval-table tbody tr{cursor:pointer;border-bottom:1px solid var(--colors-hairline);transition:background .12s}.eval-table tbody tr:hover{background:#f8fafc}.eval-table tbody tr.row-selected{background:#eff6ff}.eval-table td{vertical-align:middle;padding:10px 12px}.eval-result-dot{border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:700;display:inline-flex}.eval-result-dot.pass{color:#059669;background:#ecfdf5;border:1px solid #a7f3d0}.eval-result-dot.fail{background:var(--colors-danger-bg);color:var(--colors-danger);border:1px solid var(--colors-danger-border)}.eval-result-dot.prov{color:#b45309;background:#fef3c7;border:1px solid #fde68a}.eval-result-dot.not-run{background:var(--colors-surface-muted);color:#94a3b8;font-size:9px}.eval-spinner-dot{border:2px solid #ccc;border-top-color:var(--colors-brand-blue);border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin;display:inline-block}.eval-case-id{font-family:var(--font-mono);color:var(--colors-ink);background:var(--colors-surface-muted);border-radius:var(--rounded-xs);padding:2px 6px;font-size:12px;font-weight:700}.eval-cat-badge{color:var(--colors-body);background:var(--colors-surface-soft);border:1px solid var(--colors-hairline);border-radius:var(--rounded-pill);white-space:nowrap;padding:2px 8px;font-size:11px;font-weight:500;display:inline-block}.eval-case-q-main{color:var(--colors-ink);font-size:13px;font-weight:500;line-height:1.4}.eval-case-expected-snippet{color:var(--colors-muted);margin-top:3px;font-size:11.5px;line-height:1.35}.refusal-tag{color:#ea580c;font-weight:600;font-family:var(--font-mono);font-size:10.5px}.eval-failed-cell{color:var(--colors-danger);font-size:11.5px;font-family:var(--font-mono)}.eval-num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:12px}.cell-dim{color:#94a3b8}.eval-row-run-btn{border-radius:var(--rounded-sm);border:1px solid var(--colors-hairline);background:var(--colors-canvas);color:var(--colors-body);cursor:pointer;font-size:11px;font-weight:600;font-family:var(--font-mono);padding:4px 10px;transition:all .15s}.eval-row-run-btn:hover:not(:disabled){background:var(--colors-primary);color:#fff;border-color:var(--colors-primary)}.drawer-overlay{z-index:50;animation:fadeIn .2s var(--ease-out);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a73;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer-panel{background:var(--colors-canvas);width:min(680px,94vw);height:100%;animation:drawerIn .25s var(--ease-out);border-left:1px solid var(--colors-hairline);box-sizing:border-box;padding:24px 28px;overflow-y:auto;box-shadow:-8px 0 32px #0f172a26}.drawer-head{border-bottom:1px solid var(--colors-hairline);justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:14px;display:flex}.drawer-title-area{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.drawer-title-area h3{font-size:18px;font-weight:700;font-family:var(--font-mono);margin:0}.drawer-cat-badge{background:var(--colors-surface-muted);border:1px solid var(--colors-hairline);border-radius:var(--rounded-pill);color:var(--colors-body);padding:2px 10px;font-size:11.5px;font-weight:500}.drawer-actions{align-items:center;gap:8px;display:flex}.drawer-run-btn{border-radius:var(--rounded-sm);border:1px solid var(--colors-primary);background:var(--colors-primary);color:#fff;cursor:pointer;font-size:12px;font-weight:600;font-family:var(--font-mono);padding:6px 14px;transition:all .15s}.drawer-run-btn:hover:not(:disabled){background:var(--colors-primary-hover)}.drawer-close{cursor:pointer;background:var(--colors-canvas);border:1px solid var(--colors-hairline);border-radius:var(--rounded-sm);color:var(--colors-ink);padding:6px 14px;font-size:12px;font-weight:500;transition:all .15s}.drawer-close:hover{background:var(--colors-surface-soft);border-color:var(--colors-border-strong)}.drawer-q-box{background:var(--colors-surface-soft);border:1px solid var(--colors-hairline);border-radius:var(--rounded-sm);margin-bottom:12px;padding:12px 14px}.drawer-q-label{text-transform:uppercase;letter-spacing:.05em;color:var(--colors-muted);margin-bottom:4px;font-size:10px;font-weight:600}.drawer-q-text{color:var(--colors-ink);font-size:14px;font-weight:500;line-height:1.45}.drawer-tags-wrap{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.drawer-tag-pill{font-size:11px;font-family:var(--font-mono);background:var(--colors-surface-muted);border:1px solid var(--colors-hairline);color:var(--colors-muted);border-radius:3px;padding:1px 6px}.drawer-section{border-top:1px solid var(--colors-hairline);margin-top:18px;padding-top:14px}.drawer-section-title{color:var(--colors-ink);text-transform:uppercase;letter-spacing:.05em;margin:0 0 10px;font-size:12px;font-weight:700}.drawer-pre{background:var(--colors-surface-soft);border:1px solid var(--colors-hairline);border-radius:var(--rounded-sm);font-size:11.5px;font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;color:var(--colors-ink);margin:0;padding:10px 12px;line-height:1.5;overflow-x:auto}.drawer-meta-grid{background:var(--colors-surface-soft);border:1px solid var(--colors-hairline);border-radius:var(--rounded-sm);grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px;padding:10px 12px;display:grid}.drawer-meta-item{flex-direction:column;gap:2px;display:flex}.meta-label{text-transform:uppercase;color:var(--colors-muted);font-size:10px;font-weight:600}.meta-val{color:var(--colors-ink);font-size:13px;font-weight:600}.drawer-scores-list{border:1px solid var(--colors-hairline);border-radius:var(--rounded-sm);flex-direction:column;margin-bottom:14px;display:flex;overflow:hidden}.drawer-score-row{border-bottom:1px solid var(--colors-hairline);background:#fff;grid-template-columns:24px 170px 1fr;align-items:baseline;gap:8px;padding:7px 10px;font-size:12px;display:grid}.drawer-score-row:last-child{border-bottom:none}.score-pass{color:#059669;font-weight:700}.score-fail{color:var(--colors-danger);font-weight:700}.score-name{font-family:var(--font-mono);color:var(--colors-ink);font-size:11.5px;font-weight:600}.score-detail{color:var(--colors-body);word-break:break-word;font-size:11.5px}.drawer-failures-box{background:var(--colors-danger-bg);border:1px solid var(--colors-danger-border);border-radius:var(--rounded-sm);margin-bottom:14px;padding:10px 12px}.drawer-failures-box ul{color:var(--colors-danger);margin:4px 0 0;padding-left:18px;font-size:12px}.eval-table tr[role=button]:focus-visible{outline:2px solid var(--colors-info-border);outline-offset:-2px}.login-page{background-color:var(--colors-surface-soft,#f8fafc);background-image:radial-gradient(#cbd5e1 1.2px,#0000 1.2px);background-size:24px 24px;justify-content:center;align-items:center;width:100vw;min-height:100dvh;padding:24px;display:flex;position:relative;overflow:hidden}.login-card{z-index:2;border:1px solid var(--colors-hairline,#e2e8f0);width:100%;max-width:420px;animation:cardEnter .3s var(--ease-out) forwards;background:#fff;border-radius:14px;flex-direction:column;padding:38px 32px 26px;display:flex;position:relative;box-shadow:0 4px 6px -1px #0f172a0a,0 12px 28px -4px #0f172a14}.login-header{text-align:center;flex-direction:column;align-items:center;margin-bottom:24px;display:flex}.login-logo-wrap{border:1px solid var(--colors-hairline,#e2e8f0);width:60px;height:60px;transition:transform .2s var(--ease-out);background:#fff;border-radius:12px;justify-content:center;align-items:center;margin-bottom:14px;padding:4px;display:flex;box-shadow:0 2px 6px #0f172a0a}.login-logo-wrap:hover{transform:translateY(-2px)}.login-logo-img{object-fit:contain;border-radius:8px;width:100%;height:100%}.login-title{color:#0f172a;letter-spacing:-.02em;margin:0 0 6px;font-size:24px;font-weight:700;line-height:1.2}.login-subtitle{color:#64748b;margin:0;font-size:13.5px;line-height:1.45}.login-form{flex-direction:column;gap:16px;width:100%;display:flex}.login-field{flex-direction:column;align-items:center;gap:8px;width:100%;display:flex}.login-label{font-family:var(--font-mono);color:#475569;text-transform:uppercase;letter-spacing:.08em;text-align:center;width:100%;font-size:11px;font-weight:600}.login-input-container{justify-content:center;align-items:center;width:100%;display:flex;position:relative}.login-input{color:#0f172a;width:100%;height:46px;font-family:var(--font-mono);text-align:center;background:#fff;border:1.5px solid #cbd5e1;border-radius:8px;outline:none;padding:10px 42px;font-size:14px;transition:border-color .15s,box-shadow .15s}.login-input:focus{border-color:#0f172a;box-shadow:0 0 0 3px #0f172a14}.login-input.has-error{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441f}.login-key-toggle{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:color .15s;display:flex;position:absolute;right:12px}.login-key-toggle:hover{color:#0f172a}.login-error{color:#b91c1c;font-size:12.5px;font-family:var(--font-sans);text-align:center;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:9px 12px;font-weight:500;line-height:1.4;animation:.2s ease-out slideUp;display:flex}.login-btn{color:#fff;letter-spacing:.05em;cursor:pointer;background:#0f172a;border:1px solid #0f172a;border-radius:8px;justify-content:center;align-items:center;width:100%;height:46px;margin-top:4px;font-size:13.5px;font-weight:600;transition:all .15s;display:flex;box-shadow:0 2px 4px #0f172a14}.login-btn:hover:not(:disabled){background:#1e293b;border-color:#1e293b;transform:translateY(-1px);box-shadow:0 4px 10px #0f172a1f}.login-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 2px #0f172a14}.login-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.login-btn-loading{justify-content:center;align-items:center;gap:8px;display:flex}.login-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin}.login-footer{font-family:var(--font-mono);color:#64748b;border-top:1px solid var(--colors-hairline,#e2e8f0);text-align:center;justify-content:center;align-items:center;gap:6px;margin-top:22px;padding-top:16px;font-size:10.5px;display:flex}@media (width<=480px){.login-page{padding:16px}.login-card{border-radius:12px;padding:30px 20px 22px}.login-title{font-size:22px}}
