:root{--font-sans: Inter, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--color-bg: #f8fafc;--color-surface: #ffffff;--color-border: #e2e8f0;--color-border-strong: #cbd5e1;--color-text: #1e293b;--color-text-secondary: #475569;--color-text-muted: #64748b;--color-accent: #2563eb;--color-accent-hover: #1d4ed8;--color-danger: #dc2626;--color-danger-bg: #fef2f2;--color-warning: #b45309;--color-warning-bg: #fffbeb;--color-success: #15803d;--color-success-bg: #f0fdf4;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--radius: 8px;--radius-sm: 6px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-sans);font-size:16px;line-height:1.5;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased}button,input,textarea,select{font-family:inherit;font-size:15px}a{color:var(--color-accent)}button{cursor:pointer;border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);min-height:40px;transition:background-color .15s ease,border-color .15s ease}button:hover:not(:disabled){border-color:var(--color-accent)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}button:disabled{opacity:.5;cursor:not-allowed}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.login-screen{max-width:28rem;margin:15vh auto;padding:var(--space-6);text-align:center}.login-button{display:inline-block;margin-top:var(--space-4);padding:var(--space-3) var(--space-5);background:var(--color-accent);color:#fff;border-radius:var(--radius);text-decoration:none;font-weight:500}.login-button:hover{background:var(--color-accent-hover)}.app-shell{display:flex;flex-direction:column;height:100%}.app-nav{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--color-border);background:var(--color-surface)}.app-nav-brand{font-weight:600;letter-spacing:-.01em}.nav-link{color:var(--color-text-secondary);text-decoration:none;padding:var(--space-2) var(--space-1);border-bottom:2px solid transparent}.nav-link.active{color:var(--color-text);border-bottom-color:var(--color-accent);font-weight:500}.app-nav-spacer{flex:1}.app-nav-user{color:var(--color-text-muted);font-size:14px}.app-main{flex:1;overflow-y:auto;padding:var(--space-5);max-width:56rem;width:100%;margin:0 auto}.chat-view{display:flex;flex-direction:column;gap:var(--space-5)}.chat-empty-state{color:var(--color-text-muted);padding:var(--space-5) 0}.chat-turn{display:flex;flex-direction:column;gap:var(--space-2)}.chat-question{font-weight:500;font-size:17px}.answer-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-4)}.answer-refusal{background:var(--color-bg);border-style:dashed;color:var(--color-text-muted)}.answer-abstain{background:var(--color-warning-bg);border-color:#fde68a}.abstain-heading{font-weight:600;color:var(--color-warning);margin-top:0}.abstain-section h4{margin-bottom:var(--space-1);font-size:14px;color:var(--color-text-secondary)}.answer-error{background:var(--color-danger-bg);border-color:#fecaca;color:var(--color-danger)}.answer-streaming .streaming-cursor:after{content:"▍";animation:blink 1s step-start infinite}@keyframes blink{50%{opacity:0}}.chat-input-row{display:flex;gap:var(--space-2);position:sticky;bottom:0;background:var(--color-bg);padding-top:var(--space-2)}.chat-input-row textarea{flex:1;resize:vertical;padding:var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm)}.citations{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.citation-chip{display:inline-block;padding:var(--space-1) var(--space-2);background:var(--color-bg);border:1px solid var(--color-border);border-radius:999px;font-size:13px;text-decoration:none;color:var(--color-text-secondary)}.citation-chip:hover{border-color:var(--color-accent);color:var(--color-accent)}.provenance-footer{margin-top:var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--color-border);font-size:12px;color:var(--color-text-muted)}.provenance-line{display:flex;gap:var(--space-2);flex-wrap:wrap}.skew-banner{background:var(--color-warning-bg);color:var(--color-warning);border:1px solid #fde68a;border-radius:var(--radius-sm);padding:var(--space-2);margin-bottom:var(--space-2);font-size:13px}.differential-panel{margin-top:var(--space-3)}.differential-toggle{background:none;border:none;color:var(--color-accent);padding:0;min-height:auto;font-size:13px}.differential-list{list-style:none;padding:0;margin:var(--space-2) 0 0;font-size:13px}.differential-list li{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) 0}.differential-kept .differential-status{color:var(--color-success)}.differential-ruled-out .differential-status,.differential-ruled-out{color:var(--color-text-muted)}.differential-label{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.feedback{margin-top:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}.feedback-buttons{display:flex;gap:var(--space-2)}.feedback-btn{min-width:44px;min-height:44px;font-size:18px}.feedback-comment{display:flex;flex-direction:column;gap:var(--space-2);max-width:28rem}.feedback-comment textarea{padding:var(--space-2);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm)}.feedback-confirmation{color:var(--color-success);font-size:14px}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:999px;font-size:12px;font-weight:500;border:1px solid transparent}.badge-neutral{background:var(--color-bg);color:var(--color-text-secondary);border-color:var(--color-border)}.badge-slate{background:#f1f5f9;color:var(--color-text-secondary);border-color:var(--color-border)}.badge-amber{background:var(--color-warning-bg);color:var(--color-warning);border-color:#fde68a}.badge-red{background:var(--color-danger-bg);color:var(--color-danger);border-color:#fecaca}.badge-green{background:var(--color-success-bg);color:var(--color-success);border-color:#bbf7d0}.library-header{margin-bottom:var(--space-4)}.library-manifest-line{color:var(--color-text-muted);font-size:13px}.technical-toggle{display:inline-flex;align-items:center;gap:var(--space-2);font-size:14px;color:var(--color-text-secondary)}.library-filters{display:flex;gap:var(--space-3);margin-bottom:var(--space-5)}.library-filters input[type=search]{flex:1;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm)}.library-filters select{padding:var(--space-2);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm)}.library-group{margin-bottom:var(--space-6)}.library-group h3{font-size:14px;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.library-entries{list-style:none;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.library-entry{border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-3);background:var(--color-surface)}.library-entry-header{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.library-entry-title{font-weight:500;text-decoration:none}.library-entry-description{color:var(--color-text-secondary);margin:var(--space-1) 0}.library-entry-meta{font-size:12px;color:var(--color-text-muted);margin:0}.library-entry-triggers-toggle{margin-top:var(--space-2);background:none;border:none;color:var(--color-accent);padding:0;min-height:auto;font-size:13px}.library-entry-triggers{margin-top:var(--space-2);font-size:13px;color:var(--color-text-secondary)}.page-view .page-path{font-family:monospace;font-size:12px;color:var(--color-text-muted)}.page-blocked{background:var(--color-warning-bg);border:1px solid #fde68a;border-radius:var(--radius);padding:var(--space-5)}.markdown-body{line-height:1.65}.markdown-body pre{background:#0f172a;color:#e2e8f0;padding:var(--space-3);border-radius:var(--radius-sm);overflow-x:auto}.markdown-body code{background:var(--color-bg);padding:1px 4px;border-radius:4px}.mermaid-diagram{margin:var(--space-4) 0}.mermaid-diagram .mermaid-svg{display:flex;justify-content:center;overflow-x:auto}.mermaid-diagram .mermaid-svg svg{max-width:100%;height:auto}.mermaid-diagram-error .mermaid-error-note{color:#b45309;font-size:.875rem;margin-top:var(--space-1)}.qa-history-filters{display:flex;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap}.qa-history-filters select,.qa-history-filters input{padding:var(--space-2);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm)}.qa-history-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.qa-history-entry{border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-3);background:var(--color-surface)}.qa-history-meta{display:flex;align-items:center;gap:var(--space-2);font-size:12px;color:var(--color-text-muted);margin-top:var(--space-1)}.qa-history-dispute-note{color:var(--color-danger);font-size:13px}.qa-history-chain{display:flex;gap:var(--space-2);list-style:none;padding:0;margin-top:var(--space-2);font-family:monospace;font-size:12px;flex-wrap:wrap}.chain-hop{display:flex;align-items:center;gap:var(--space-1)}
