:root{--bg:#f6f7fb;--surface:#fff;--surface-raised:#fff;--surface-input:#f8fafc;--border:#dbe1ea;--text:#1f2937;--text-strong:#0f172a;--text-muted:#64748b;--accent:#2563eb;--accent-glow:#2563eb29;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--sans:Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;font-family:var(--sans);color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;line-height:1.5}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-height:100vh}button,textarea,input{font:inherit}h1,h2,h3,p{margin:0}a{color:inherit}.mode-badge{letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border-radius:10px;align-items:center;padding:1px 8px;font-size:10px;font-weight:600;line-height:1.6;display:inline-flex}.mode-badge--advisory{color:#166534;background:#dcfce7}.mode-badge--training{color:#1e40af;background:#dbeafe}.mode-badge--protocol{color:#5b21b6;background:#ede9fe}.mode-badge--regulatory{color:#92400e;background:#fef3c7}.mode-badge--claims{color:#115e59;background:#ccfbf1}.mode-badge--safety_escalation{color:#991b1b;background:#fee2e2}.mode-badge--out_of_scope{color:#4b5563;background:#f3f4f6}.mode-badge--default{background:var(--surface-input);color:var(--text-muted)}.mode-badge--template{background:var(--surface-input);color:var(--text-muted);border:1px solid var(--border);text-transform:none;letter-spacing:.02em;font-family:var(--mono)}.top-nav{background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:10px 20px;display:flex}.top-nav-left{align-items:center;gap:20px;min-width:0;display:flex}.top-nav-brand{letter-spacing:.02em;color:var(--text-strong);align-items:baseline;gap:6px;font-size:16px;font-weight:700;text-decoration:none;display:inline-flex}.top-nav-brand-suffix{color:var(--text-muted);letter-spacing:.04em;font-size:11px;font-weight:500}.top-nav-links{align-items:center;gap:4px;display:flex}.top-nav-link{color:var(--text-muted);border-radius:6px;padding:5px 10px;font-size:13px;font-weight:500;text-decoration:none;transition:background .15s,color .15s}.top-nav-link:hover{background:var(--surface-input);color:var(--text)}.top-nav-link.active{background:var(--accent-glow);color:var(--accent)}.top-nav-right{flex-shrink:0;align-items:center;gap:12px;display:flex}.top-nav-user{color:var(--text);align-items:center;gap:8px;font-size:13px;display:inline-flex}.top-nav-role{background:var(--surface-input);border:1px solid var(--border);color:var(--text-muted);border-radius:10px;padding:1px 8px;font-size:11px;font-weight:500}.top-nav-logout,.top-nav-login{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:6px;padding:5px 12px;font-size:13px;font-weight:500;text-decoration:none;transition:background .15s,border-color .15s}.top-nav-logout:hover,.top-nav-login:hover{background:var(--surface-input);border-color:var(--text-muted)}.admin-page{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.admin-main{flex-direction:column;flex:1;gap:24px;width:100%;max-width:1080px;margin:0 auto;padding:24px 24px 64px;display:flex}.admin-header h1{color:var(--text-strong);font-size:24px;font-weight:650}.admin-header p{color:var(--text-muted);max-width:720px;margin-top:6px;font-size:13px;line-height:1.6}.admin-stats{flex-wrap:wrap;gap:10px;display:flex}.admin-stat{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:2px;min-width:92px;padding:10px 14px;display:flex}.admin-stat-flagged{background:#fff7f7;border-color:#fecaca}.admin-stat-value{color:var(--text-strong);font-size:18px;font-weight:650}.admin-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.admin-section{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:14px;padding:18px 20px 20px;display:flex}.admin-section-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-section-header h2{color:var(--text-strong);font-size:16px;font-weight:650}.admin-section-copy{color:var(--text-muted);max-width:680px;font-size:13px;line-height:1.6}.admin-filters{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.admin-select,.admin-input{border:1px solid var(--border);background:var(--surface-input);color:var(--text);border-radius:8px;outline:none;padding:7px 10px;font-size:13px}.admin-select:focus,.admin-input:focus{border-color:var(--accent)}.admin-checkbox{color:var(--text);cursor:pointer;align-items:center;gap:6px;font-size:13px;display:inline-flex}.admin-search{flex:1;gap:8px;min-width:220px;display:flex}.admin-search .admin-input{flex:1}.admin-ghost-btn{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:8px;padding:7px 12px;font-size:13px;font-weight:500;transition:background .15s,border-color .15s}.admin-ghost-btn:hover:not(:disabled){background:var(--surface-input);border-color:var(--text-muted)}.admin-ghost-btn:disabled{opacity:.55;cursor:default}.admin-primary-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;align-self:flex-start;padding:8px 16px;font-size:13px;font-weight:600;transition:opacity .15s}.admin-primary-btn:hover:not(:disabled){opacity:.9}.admin-primary-btn:disabled{opacity:.6;cursor:default}.admin-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:9px 12px;font-size:13px}.admin-notice{color:#166534;word-break:break-word;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:9px 12px;font-size:13px}.admin-table-wrapper{border:1px solid var(--border);border-radius:10px;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:13px}.admin-table th{text-align:left;background:var(--surface-input);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);white-space:nowrap;padding:9px 12px;font-size:11px;font-weight:600}.admin-table td{border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle;padding:9px 12px}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table-row{cursor:pointer;transition:background .1s}.admin-table-row:hover{background:var(--surface-input)}.admin-table-empty{text-align:center;color:var(--text-muted);padding:22px 12px}.admin-cell-ts{white-space:nowrap;font-family:var(--mono);color:var(--text-muted);font-size:12px}.admin-cell-template,.admin-cell-username{font-family:var(--mono);font-size:12px}.admin-cell-input{max-width:420px}.admin-flag-pill{color:#b91c1c;background:#fef2f2;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.admin-pagination{align-items:center;gap:12px;display:flex}.admin-pagination-info{color:var(--text-muted);font-size:12px}.admin-create-user{border-top:1px solid var(--border);flex-direction:column;gap:10px;padding-top:14px;display:flex}.admin-create-user h3{color:var(--text);font-size:13px;font-weight:600}.admin-create-user-grid{flex-wrap:wrap;gap:10px;display:flex}.admin-create-user-grid .admin-input,.admin-create-user-grid .admin-select{min-width:170px}.admin-confirm-row{color:var(--text);flex-wrap:wrap;align-items:center;gap:12px;font-size:13px;display:flex}.drawer-backdrop{z-index:40;background:#0f172a59;position:fixed;inset:0}.detail-drawer{background:var(--surface);border-left:1px solid var(--border);z-index:50;flex-direction:column;width:min(560px,94vw);display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-8px 0 28px #0f172a1f}.drawer-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 20px;display:flex}.drawer-header h3{color:var(--text-strong);font-size:15px;font-weight:650}.drawer-request-id{font-family:var(--mono);color:var(--text-muted);word-break:break-all;margin-top:4px;font-size:11px;display:block}.drawer-close{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:6px;flex-shrink:0;width:28px;height:28px}.drawer-close:hover{background:var(--surface-input);color:var(--text)}.drawer-body{flex-direction:column;flex:1;gap:16px;padding:16px 20px 28px;display:flex;overflow-y:auto}.drawer-loading{color:var(--text-muted);font-size:13px}.drawer-meta-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.drawer-meta{color:var(--text);flex-direction:column;gap:4px;font-size:13px;display:flex}.drawer-meta-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:10px;font-weight:600}.drawer-flagged{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;flex-direction:column;gap:4px;padding:10px 12px;font-size:13px;display:flex}.drawer-flag-block{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.drawer-flag-form{flex-direction:column;gap:8px;width:100%;display:flex}.drawer-flag-reason{resize:vertical;width:100%;font-family:var(--sans);line-height:1.5}.drawer-flag-actions{gap:8px;display:flex}.drawer-section h4{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:8px;font-size:12px;font-weight:600}.drawer-text{background:var(--surface-input);border:1px solid var(--border);font-size:13px;font-family:var(--sans);white-space:pre-wrap;word-break:break-word;color:var(--text);border-radius:8px;margin:0;padding:10px 12px;line-height:1.6}.drawer-empty{color:var(--text-muted);font-size:12px}.drawer-sources{flex-wrap:wrap;gap:8px;display:flex}.drawer-source-chip{font-size:12px;font-family:var(--mono);border:1px solid var(--border);background:var(--surface-input);color:var(--text);word-break:break-word;border-radius:999px;padding:5px 9px;display:inline-flex}.drawer-tool{border:1px solid var(--border);background:var(--surface-input);border-radius:8px;flex-direction:column;gap:8px;margin-bottom:8px;padding:10px 12px;display:flex}.drawer-tool-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.drawer-tool-name{font-family:var(--mono);color:var(--text);font-size:12px;font-weight:600}.drawer-tool-status{color:var(--text-muted);font-size:11px}.drawer-tool-args,.drawer-tool-result{font-size:11px;font-family:var(--mono);white-space:pre-wrap;word-break:break-word;border:1px solid var(--border);border-radius:6px;margin:0;padding:8px 10px;line-height:1.6}.drawer-tool-args{background:var(--surface);color:var(--text-muted)}.drawer-tool-result{background:var(--surface);color:var(--text)}.drawer-guard-finding{border-left:3px solid;border-radius:8px;flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:8px;padding:9px 12px;font-size:12px;display:flex}.drawer-guard-finding.severity-error{background:#fef2f2;border-color:#ef4444}.drawer-guard-finding.severity-warn{background:#fefce8;border-color:#eab308}.drawer-guard-finding.severity-info{background:#eff6ff;border-color:#3b82f6}.drawer-guard-severity{text-transform:uppercase;letter-spacing:.05em;font-size:10px;font-weight:700}.drawer-guard-kind{font-family:var(--mono);color:var(--text-muted);font-size:10px}.drawer-guard-message{color:var(--text);flex-basis:100%;line-height:1.55}@media (width<=720px){.admin-main{padding:16px 14px 48px}.admin-section{padding:14px}}.rules-editor{margin:.6rem 0 1rem}.rules-editor-textarea{border:1px solid var(--border,#d3d9e4);background:var(--surface,#fbfcfe);resize:vertical;border-radius:8px;width:100%;padding:.6rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem;line-height:1.45}.guardrail-field{margin-bottom:.7rem;display:block}.guardrail-field>span{color:var(--text-muted,#5b6472);margin-bottom:.25rem;font-size:.78rem;font-weight:600;display:block}.guardrail-input{border:1px solid var(--border,#d3d9e4);background:var(--surface,#fbfcfe);border-radius:8px;width:100%;padding:.45rem .6rem;font-size:.85rem}.guardrail-prompt{color:var(--text-muted,#5b6472);max-width:46ch;margin-top:.2rem;font-size:.75rem}.guardrail-row{cursor:pointer}.guardrail-row:hover{background:#f2f6fd}.guardrail-row--active{background:#e7eefc}.admin-tabs{border-bottom:1px solid var(--border,#d8dee9);gap:.25rem;margin:1.25rem 0 0;display:flex}.admin-tab{appearance:none;cursor:pointer;color:var(--text-muted,#5b6472);background:0 0;border:0;border-bottom:2px solid #0000;padding:.6rem .9rem;font-size:.9rem;font-weight:500}.admin-tab:hover{color:var(--text,#1c2330);background:#f4f7fc}.admin-tab--active{color:var(--accent,#2f6fed);border-bottom-color:var(--accent,#2f6fed)}.admin-tab-blurb{color:var(--text-muted,#5b6472);margin:.6rem 0 .25rem;font-size:.85rem}.admin-tabpanel{display:block}.admin-pill{color:#1c6b33;background:#e7f4ea;border-radius:999px;padding:.1rem .5rem;font-size:.72rem;display:inline-block}.admin-pill--off{color:#6b7280;background:#f1f2f4}.admin-cell-history{color:var(--text-muted,#5b6472);white-space:nowrap;font-size:.8rem}.admin-cell-actions{white-space:nowrap;gap:.4rem;display:flex}.admin-danger-btn{appearance:none;cursor:pointer;color:#9b2c2c;background:0 0;border:1px solid #e3b7b7;border-radius:8px;padding:.3rem .6rem;font-size:.78rem}.admin-danger-btn:hover:not(:disabled){background:#fdecec}.admin-danger-btn:disabled{opacity:.45;cursor:not-allowed}.admin-confirm{background:snow;border:1px solid #e3b7b7;border-radius:10px;margin-top:.9rem;padding:.9rem 1rem}.admin-confirm h3{margin:0 0 .4rem;font-size:.95rem}.admin-confirm p{margin:0 0 .5rem;font-size:.85rem}.admin-confirm-label{margin-bottom:.5rem;font-size:.8rem;display:block}.admin-confirm-label .admin-input{max-width:320px;margin-top:.25rem;display:block}.admin-confirm-actions{gap:.5rem;display:flex}.admin-persona-editor{width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem;line-height:1.5}.admin-persona-actions{gap:.5rem;margin-top:.6rem;display:flex}.admin-persona-locked{border-top:1px dashed var(--border,#d8dee9);margin-top:1rem;padding-top:.8rem}.admin-persona-boundaries{border:1px solid var(--border,#d8dee9);white-space:pre-wrap;background:#f7f8fa;border-radius:8px;max-height:340px;padding:.7rem;font-size:.76rem;overflow:auto}.admin-row{cursor:pointer}.admin-row:hover{background:#f4f7fc}.admin-row--active{background:#e7eefc}.admin-session-thread-row>td{background:#fbfcfe;padding:.6rem .8rem}.admin-session-turn{border-bottom:1px solid var(--border,#eceff4);padding:.5rem 0}.admin-session-turn:last-child{border-bottom:0}.admin-session-turn-meta{color:var(--text-muted,#5b6472);font-size:.72rem}.admin-session-q{margin:.15rem 0;font-size:.85rem;font-weight:500}.admin-session-a{color:#333a45;white-space:pre-wrap;font-size:.83rem}.analysis-panel{background:var(--surface-raised);border-left:1px solid var(--border);flex-direction:column;flex-shrink:0;height:100%;min-height:0;display:flex;position:relative;overflow:hidden}.analysis-panel.collapsed{cursor:pointer;overflow:visible}.resize-handle{cursor:col-resize;z-index:20;width:4px;height:100%;transition:background .15s;position:absolute;top:0;left:0}.resize-handle:hover,.resize-handle:active{background:var(--accent)}.panel-header{border-bottom:1px solid var(--border);background:var(--surface-raised);z-index:10;flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px 12px;display:flex}.panel-header.collapsed-header{cursor:pointer;justify-content:center;padding:14px 8px}.panel-header.collapsed-header:hover{background:var(--surface-input)}.collapse-icon{color:var(--text-muted);align-items:center;display:flex}.panel-header h3{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:0;font-size:13px;font-weight:600}.panel-subtitle{color:var(--text-muted);margin:6px 0 0;font-size:12px;line-height:1.5}.collapse-btn{border:1px solid var(--border);width:24px;height:24px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:inline-flex}.collapse-btn:hover{background:var(--surface-input);color:var(--text)}.panel-body{overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.panel-empty{height:100%;color:var(--text-muted);text-align:center;justify-content:center;align-items:center;padding:24px;font-size:13px;display:flex}.panel-empty-rich{text-align:left;align-items:flex-start}.panel-empty-rich strong,.panel-error strong{color:var(--text);margin-bottom:8px;font-size:14px;display:block}.panel-empty-rich p,.panel-error p{margin:0;line-height:1.6}.panel-error{color:#991b1b;background:#fef2f2;border-bottom:1px solid #fecaca;gap:8px;padding:16px;font-size:13px;display:grid}.analysis-hero{border-bottom:1px solid var(--border);background:linear-gradient(180deg, color-mix(in srgb, var(--surface-raised) 85%, var(--accent) 15%), var(--surface-raised));gap:14px;padding:16px;display:grid}.analysis-hero-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.hero-eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px;font-size:11px;font-weight:600;display:inline-block}.analysis-hero h4{color:var(--text);margin:0;font-size:16px;line-height:1.35}.analysis-hero-copy{color:var(--text-muted);margin:0;font-size:13px;line-height:1.6}.hero-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.metric-card{border:1px solid var(--border);background:color-mix(in srgb, var(--surface-input) 88%, white 12%);border-radius:10px;gap:4px;padding:10px;display:grid}.metric-card-error{background:#fff1f2;border-color:#fecaca}.metric-card-warn{background:#fffbeb;border-color:#fde68a}.metric-label,.metric-hint{color:var(--text-muted);font-size:11px}.metric-value{color:var(--text);font-size:18px;line-height:1}.hero-meta-list{gap:8px;display:grid}.meta-row{gap:4px;display:grid}.meta-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:11px;font-weight:600}.meta-value{color:var(--text);font-size:12px;font-family:var(--mono);word-break:break-all}.meta-value.is-placeholder{color:var(--text-muted)}.panel-section{border-bottom:1px solid var(--border)}.panel-section:last-child{border-bottom:none}.panel-section-summary{cursor:pointer;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px;list-style:none;display:flex}.panel-section-summary::-webkit-details-marker{display:none}.panel-section-title-row{align-items:center;gap:8px;margin-bottom:4px;display:flex}.panel-section-title{color:var(--text);font-size:13px;font-weight:600}.panel-section-count{background:var(--surface-input);min-width:20px;height:20px;color:var(--text-muted);font-size:11px;font-family:var(--mono);border-radius:999px;justify-content:center;align-items:center;padding:0 6px;display:inline-flex}.panel-section-description{color:var(--text-muted);margin:0;font-size:12px;line-height:1.5}.panel-section-chevron{color:var(--text-muted);transition:transform .18s}.panel-section[open] .panel-section-chevron{transform:rotate(180deg)}.panel-section-content{gap:12px;padding:0 16px 16px;display:grid}.section-badge{font-size:12px;font-weight:500;font-family:var(--mono);border-radius:12px;align-items:center;gap:4px;padding:2px 8px;display:inline-flex}.badge-advisory{color:#166534;background:#dcfce7}.badge-safety{color:#854d0e;background:#fef9c3}.badge-out_of_scope,.badge-oos{color:#4b5563;background:#f3f4f6}.badge-default{background:var(--surface-input);color:var(--text)}.empty-state{border:1px dashed var(--border);background:var(--surface);border-radius:10px;gap:6px;padding:12px;display:grid}.empty-state strong{color:var(--text);font-size:13px}.empty-state p{color:var(--text-muted);margin:0;font-size:12px;line-height:1.55}.token-list{flex-wrap:wrap;gap:8px;display:flex}.token-chip{font-size:12px;line-height:1.3;font-family:var(--mono);border:1px solid var(--border);background:var(--surface-input);color:var(--text);border-radius:999px;align-items:center;padding:6px 9px;display:inline-flex}.token-chip-source{word-break:break-word}.token-chip-warning{color:#92400e;background:#fffbeb;border-color:#fde68a}.guard-section,.guard-list,.evidence-section,.tool-list{gap:10px;display:grid}.guard-summary-row{flex-wrap:wrap;gap:8px;display:flex}.severity-pill{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;align-items:center;padding:4px 8px;font-size:11px;font-weight:600;display:inline-flex}.severity-error{color:#b91c1c;background:#fef2f2}.severity-warn{color:#a16207;background:#fefce8}.severity-info{color:#1d4ed8;background:#eff6ff}.guard-finding{border-left:3px solid;border-radius:8px;flex-direction:column;gap:6px;padding:10px 12px;font-size:12px;display:flex}.guard-finding.warn{background:#fefce8;border-color:#eab308}.guard-finding.error{background:#fef2f2;border-color:#ef4444}.guard-finding.info{background:#eff6ff;border-color:#3b82f6}.guard-finding-header{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.guard-kind{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:10px;font-weight:600;font-family:var(--mono)}.guard-message{color:var(--text);line-height:1.55}.evidence-grid{gap:10px;display:grid}.tool-card{background:var(--surface-input);border:1px solid var(--border);border-radius:8px;overflow:hidden}.tool-card-header{font-size:12px;font-weight:500;font-family:var(--mono);color:var(--text);text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:10px 12px;transition:background .1s;display:flex}.tool-card-header:hover{background:var(--surface-raised)}.tool-card-main,.tool-card-meta{align-items:center;gap:8px;display:flex}.tool-card-main{flex:1;min-width:0}.tool-name{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.tool-index,.tool-status-label,.tool-toggle,.tool-detail-label{color:var(--text-muted)}.tool-index,.tool-status-label{font-size:11px}.tool-toggle{font-size:9px}.tool-status{background:#22c55e;border-radius:50%;flex-shrink:0;width:6px;height:6px}.tool-status.err{background:#ef4444}.tool-details{border-top:1px solid var(--border);gap:10px;padding:10px 12px 12px;display:grid}.tool-detail-block{gap:6px;display:grid}.tool-detail-label{text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:600}.tool-args,.tool-result{font-size:11px;font-family:var(--mono);white-space:pre-wrap;word-break:break-word;scrollbar-width:thin;border-radius:6px;margin:0;padding:8px 10px;line-height:1.6;overflow-x:auto}.tool-args{color:var(--text-muted);background:var(--surface);border:1px solid var(--border)}.tool-result{color:var(--text);background:color-mix(in srgb, var(--surface-input) 92%, white 8%);border:1px solid var(--border)}@media (width<=960px){.hero-metrics{grid-template-columns:1fr}}.input-wrapper{border-top:1px solid var(--border);background:var(--surface);flex-shrink:0;align-items:flex-end;gap:8px;padding:16px;display:flex;box-shadow:0 -4px 12px #0000000f}.input-field{color:var(--text);background:var(--surface-input);border:1px solid var(--border);resize:none;border-radius:8px;outline:none;flex:1;min-height:44px;max-height:160px;padding:10px 14px;font-family:inherit;font-size:14px;line-height:1.5;transition:border-color .15s,box-shadow .15s}.input-field::placeholder{color:var(--text-muted)}.input-field:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.input-field:disabled{opacity:.5;cursor:not-allowed}.send-button{color:#fff;background:var(--accent);cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:10px 20px;font-family:inherit;font-size:14px;font-weight:500;transition:opacity .15s,transform .1s}.send-button:hover:not(:disabled){opacity:.9}.send-button:active:not(:disabled){transform:scale(.97)}.send-button:disabled{opacity:.4;cursor:not-allowed}.message-item{flex-direction:column;gap:4px;max-width:80%;display:flex}.message-item.user{align-self:flex-end;align-items:flex-end}.message-item.assistant{align-self:flex-start;align-items:flex-start}.message-item--status-fading{opacity:0;transition:opacity .22s,transform .22s;transform:translateY(-2px)}.message-role{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);align-items:center;gap:6px;padding:0 4px;font-size:11px;font-weight:600;display:inline-flex}.message-bubble{white-space:pre-wrap;word-break:break-word;color:var(--text);border-radius:14px;padding:10px 14px;font-size:14px;line-height:1.6}.message-bubble--status{color:var(--text-muted);background:color-mix(in srgb, var(--surface-raised) 82%, var(--accent-soft,#eef4ff) 18%);align-items:center;gap:10px;display:inline-flex}.message-status-dots{flex-shrink:0;align-items:center;gap:4px;display:inline-flex}.message-status-dot{background:var(--accent);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite pulse}.message-status-dot:nth-child(2){animation-delay:.2s}.message-status-dot:nth-child(3){animation-delay:.4s}.user .message-bubble{background:var(--accent);color:#fff;border-bottom-right-radius:4px}.assistant .message-bubble{background:var(--surface-raised);border:1px solid var(--border);border-bottom-left-radius:4px}.message-item--error .message-bubble{background:color-mix(in srgb, var(--surface-raised) 85%, #fee2e2 15%);color:#991b1b;border-color:#fca5a5}.message-failed-tag{text-transform:uppercase;letter-spacing:.06em;color:#b91c1c;cursor:help;background:#fee2e2;border:1px solid #fca5a5;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:10px;font-weight:600;display:inline-flex}.flag-button{color:var(--text-muted);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:2px 4px;font-size:11px;text-decoration:underline}.flag-button:hover{color:#b91c1c}.flag-confirmation{color:#166534;padding:2px 4px;font-size:11px}.flag-form{border:1px solid var(--border);background:var(--surface);border-radius:8px;flex-direction:column;gap:6px;width:min(420px,100%);padding:8px;display:flex}.flag-reason-input{resize:vertical;border:1px solid var(--border);background:var(--surface-input);color:var(--text);border-radius:6px;outline:none;padding:6px 8px;font-size:12px}.flag-reason-input:focus{border-color:var(--accent)}.flag-error{color:#991b1b;font-size:11px}.flag-form-actions{gap:8px;display:flex}.flag-submit,.flag-cancel{cursor:pointer;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:500;transition:opacity .15s,background .15s}.flag-submit{color:#fff;background:#b91c1c;border:none}.flag-submit:hover:not(:disabled){opacity:.9}.flag-cancel{border:1px solid var(--border);background:var(--surface);color:var(--text-muted)}.flag-cancel:hover:not(:disabled){background:var(--surface-input)}.flag-submit:disabled,.flag-cancel:disabled{opacity:.6;cursor:default}.inspect-button{border:1px solid var(--border,#d3d9e4);color:var(--text-muted,#5b6472);cursor:pointer;background:0 0;border-radius:999px;margin-left:.4rem;padding:.05rem .5rem;font-size:.72rem}.inspect-button:hover{border-color:var(--accent,#2f6fed);color:var(--accent,#2f6fed)}.message-list-wrapper{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.message-list{overscroll-behavior:contain;scroll-behavior:smooth;flex-direction:column;flex:1;gap:16px;min-height:0;padding:20px 16px;display:flex;overflow-y:auto}.scroll-to-bottom{background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;z-index:10;border:none;border-radius:20px;align-items:center;gap:6px;padding:6px 14px;font-family:inherit;font-size:12px;font-weight:500;transition:opacity .15s,transform .1s;display:inline-flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%);box-shadow:0 2px 12px #0000002e}.scroll-to-bottom:hover{opacity:.9;transform:translate(-50%)scale(1.03)}.scroll-to-bottom:active{transform:translate(-50%)scale(.97)}.empty-state{color:var(--text-muted);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;padding:40px 20px;font-size:14px;display:flex}.empty-state strong{color:var(--text);font-size:16px;font-weight:500}.example-prompts{flex-direction:column;gap:8px;width:100%;max-width:560px;margin-top:16px;display:flex}.example-prompt-chip{border:1px solid var(--border);background:var(--surface);text-align:left;width:100%;color:var(--text);cursor:pointer;border-radius:10px;align-items:baseline;gap:10px;padding:10px 14px;font-size:13px;transition:border-color .15s,background .15s;display:flex}.example-prompt-chip:hover:not(:disabled){border-color:var(--accent);background:var(--surface-raised)}.example-prompt-chip:disabled{cursor:default;opacity:.7}.example-prompt-mode{text-transform:uppercase;letter-spacing:.05em;color:var(--accent);flex-shrink:0;font-size:10px;font-weight:600}.example-prompt-text{color:var(--text);line-height:1.5}.loading-row{color:var(--text-muted);align-items:center;gap:8px;padding:4px;font-size:13px;display:flex}.loading-dot{background:var(--text-muted);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite pulse}.loading-dot:nth-child(2){animation-delay:.2s}.loading-dot:nth-child(3){animation-delay:.4s}@keyframes pulse{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.chat-page{grid-template-columns:auto minmax(0, 1.6fr) minmax(280px, var(--panel-width,380px));background:var(--bg);grid-template-rows:auto minmax(0,1fr);height:100vh;display:grid;overflow:hidden}.chat-page>.top-nav{grid-column:1/-1}.chat-shell{flex-direction:column;min-width:0;height:100%;min-height:0;display:flex}.chat-header{border-bottom:1px solid var(--border);background:var(--surface);z-index:5;flex-shrink:0;padding:20px 20px 16px;position:sticky;top:0}.chat-title{color:var(--text-strong);margin:0;font-size:24px;font-weight:600}.chat-subtitle{color:var(--text-muted);margin-top:6px;font-size:13px;line-height:1.5}.chat-error-banner{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-top:12px;padding:10px 12px;font-size:13px}.chat-main{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.chat-boundary-note{color:var(--text-muted);text-align:center;flex-shrink:0;margin:0;padding:6px 16px 10px;font-size:11px;line-height:1.5}@media (width<=960px){.chat-page{grid-template-rows:auto;grid-template-columns:1fr;height:auto;min-height:100vh;overflow:visible}.chat-shell{height:auto;min-height:65vh}.chat-main{overflow:visible}}.chat-sessions{border-right:1px solid var(--border,#e2e6ee);background:var(--surface,#f7f8fb);flex-direction:column;grid-row:2;width:240px;display:flex;overflow:hidden}.chat-sessions--collapsed{width:52px}.chat-sessions-header{border-bottom:1px solid var(--border,#e2e6ee);align-items:center;gap:.4rem;padding:.65rem .6rem;display:flex}.new-chat-button{border:1px solid var(--accent,#2f6fed);color:var(--accent,#2f6fed);cursor:pointer;white-space:nowrap;background:0 0;border-radius:8px;flex:1;padding:.35rem .6rem;font-weight:600}.chat-sessions--collapsed .new-chat-button{display:none}.new-chat-button:hover{background:var(--accent,#2f6fed);color:#fff}.sessions-collapse{cursor:pointer;color:var(--text-muted,#5b6472);background:0 0;border:none;padding:.2rem .35rem;font-size:1rem}.chat-sessions-list{flex:1;padding:.4rem;overflow-y:auto}.chat-sessions-empty{color:var(--text-muted,#5b6472);padding:.4rem;font-size:.8rem}.chat-session-item{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;width:100%;margin-bottom:.15rem;padding:.45rem .55rem;display:block}.chat-session-item:hover{background:#eef2f9}.chat-session-item--active{border-color:var(--accent,#2f6fed);background:#e7eefc}.chat-session-title{color:var(--text,#1c2330);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;display:block;overflow:hidden}.sessions-show-more{text-align:center;border:1px solid var(--border,#d8dee9);cursor:pointer;width:100%;color:var(--text-muted,#5b6472);background:0 0;border-radius:8px;margin-top:.3rem;padding:.4rem .55rem;font-size:.78rem;display:block}.sessions-show-more:hover{color:var(--text,#1c2330);background:#eef2f9}.landing-page{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.landing-nav{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 32px;display:flex}.landing-brand{letter-spacing:.02em;color:var(--text-strong);align-items:baseline;gap:6px;font-size:18px;font-weight:700;display:inline-flex}.landing-brand-suffix{color:var(--text-muted);letter-spacing:.04em;font-size:12px;font-weight:500}.landing-nav-cta{background:var(--accent);color:#fff;border-radius:8px;padding:7px 16px;font-size:13px;font-weight:600;text-decoration:none;transition:opacity .15s}.landing-nav-cta:hover{opacity:.9}.landing-page main{flex:1;width:100%;max-width:920px;margin:0 auto;padding:0 32px 56px}.landing-hero{border-bottom:1px solid var(--border);padding:72px 0 48px}.landing-eyebrow{text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin-bottom:14px;font-size:12px;font-weight:600}.landing-hero h1{color:var(--text-strong);max-width:760px;font-size:34px;font-weight:700;line-height:1.25}.landing-lede{color:var(--text);max-width:720px;margin-top:18px;font-size:16px;line-height:1.7}.landing-hero-actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.landing-btn{border-radius:8px;align-items:center;padding:10px 20px;font-size:14px;font-weight:600;text-decoration:none;transition:opacity .15s,background .15s,border-color .15s;display:inline-flex}.landing-btn-primary{background:var(--accent);color:#fff}.landing-btn-primary:hover{opacity:.9}.landing-btn-secondary{background:var(--surface);border:1px solid var(--border);color:var(--text)}.landing-btn-secondary:hover{border-color:var(--text-muted);background:var(--surface-input)}.landing-section{padding:40px 0 0}.landing-section h2{color:var(--text-strong);margin-bottom:12px;font-size:20px;font-weight:650}.landing-section-copy{color:var(--text);max-width:720px;font-size:14px;line-height:1.7}.landing-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin-top:8px;display:grid}.landing-card{border:1px solid var(--border);background:var(--surface);border-radius:10px;padding:18px}.landing-card h3{color:var(--text-strong);margin-bottom:8px;font-size:14px;font-weight:600}.landing-card p{color:var(--text-muted);font-size:13px;line-height:1.6}.landing-boundary{background:#fffbeb;border:1px solid #fde68a;border-left:4px solid #d97706;border-radius:10px;padding:20px 22px}.landing-boundary h2{color:#92400e;margin-bottom:8px;font-size:15px;font-weight:650}.landing-boundary p{color:#78350f;max-width:760px;font-size:13px;line-height:1.7}.landing-cta-section{text-align:left}.landing-cta-section .landing-btn{margin-top:16px}.landing-footer{border-top:1px solid var(--border);background:var(--surface);color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;gap:8px;padding:18px 32px;font-size:12px;display:flex}@media (width<=640px){.landing-page main{padding:0 20px 40px}.landing-hero{padding:48px 0 36px}.landing-hero h1{font-size:26px}.landing-nav{padding:12px 20px}}.login-page{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:14px;width:100%;max-width:380px;padding:32px;display:flex}.login-brand{letter-spacing:.02em;color:var(--text-strong);align-items:baseline;gap:6px;font-size:16px;font-weight:700;text-decoration:none;display:inline-flex}.login-brand-suffix{color:var(--text-muted);font-size:11px;font-weight:500}.login-card h1{color:var(--text-strong);font-size:22px;font-weight:650}.login-copy{color:var(--text-muted);font-size:13px;line-height:1.6}.login-loading{color:var(--text-muted);font-size:13px}.login-form{flex-direction:column;gap:14px;margin-top:4px;display:flex}.login-label{color:var(--text);flex-direction:column;gap:6px;font-size:12px;font-weight:600;display:flex}.login-input{border:1px solid var(--border);background:var(--surface-input);color:var(--text);border-radius:8px;outline:none;padding:9px 12px;font-size:14px;transition:border-color .15s,box-shadow .15s}.login-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.login-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:9px 12px;font-size:13px}.login-submit{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:10px 16px;font-size:14px;font-weight:600;transition:opacity .15s}.login-submit:hover:not(:disabled){opacity:.9}.login-submit:disabled{opacity:.6;cursor:default}.login-guest-note{color:var(--text-muted);background:var(--surface-input);border-radius:8px;padding:8px 10px;font-size:12px;line-height:1.6}.login-footer-note{color:var(--text-muted);font-size:12px}.login-footer-note a{color:var(--accent)}
