@import url("https://fonts.googleapis.com/css2?family=Source+Serif+4:ital,opsz,wght@0,8..60,400;0,8..60,500;0,8..60,600;0,8..60,700;1,8..60,400;1,8..60,500&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap");:root{--color-bg:#f5f5f7;--color-surface:#fff;--color-primary:#000;--color-accent:#3a3af4;--color-accent-light:#eef2ff;--color-text-primary:#000;--color-text-secondary:#1d1d1f;--color-text-tertiary:#6e6e73;--color-text-muted:#86868b;--color-border:#e5e5ea;--color-border-light:#f0f0f0;--color-input-bg:#f5f5f7;--color-hover:#f0f0f0;--color-stone-50:#fafaf9;--color-stone-100:#f5f5f4;--color-stone-200:#e7e5e4;--color-stone-300:#d6d3d1;--color-stone-400:#a8a29e;--color-stone-500:#78716c;--color-stone-600:#57534e;--color-stone-700:#44403c;--color-stone-800:#292524;--color-stone-900:#1c1917;--color-success:#34c759;--color-success-light:#d1fae5;--color-warning:#ff9500;--color-warning-light:#fef3c7;--color-error:#ff3b30;--color-error-light:#fee2e2;--indigo-50:#eef2ff;--indigo-100:#e0e7ff;--indigo-200:#c7d2fe;--indigo-300:#a5b4fc;--indigo-400:#818cf8;--indigo-500:#6366f1;--indigo-600:#4f46e5;--indigo-700:#4338ca;--indigo-800:#3730a3;--indigo-900:#3a3af4;--color-white:#fff;--color-background:var(--color-bg);--color-background-subtle:var(--color-bg);--color-surface-elevated:var(--color-surface);--color-foreground:var(--color-text-primary);--color-muted:var(--color-text-muted);--font-display:-apple-system,BlinkMacSystemFont,"SF Pro Display",system-ui,sans-serif;--font-body:"Inter",-apple-system,BlinkMacSystemFont,"SF Pro Text",system-ui,sans-serif;--font-mono:"SF Mono","JetBrains Mono","Roboto Mono",monospace;--font-serif:"Source Serif 4",Georgia,"Times New Roman",serif;--font-headline:var(--font-serif);--font-sans:var(--font-body);--text-xs:0.6875rem;--text-sm:0.75rem;--text-base:0.875rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:2rem;--text-4xl:3rem;--weight-normal:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-heavy:800;--leading-none:1;--leading-tight:1.2;--leading-snug:1.35;--leading-normal:1.5;--leading-relaxed:1.6;--tracking-tighter:-0.04em;--tracking-tight:-0.03em;--tracking-snug:-0.02em;--tracking-normal:0;--tracking-wide:0.02em;--tracking-wider:0.05em;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:20px;--radius-full:9999px;--radius-default:var(--radius-sm);--shadow-paper:0 1px 3px rgba(0,0,0,.02),0 4px 12px rgba(0,0,0,.03);--shadow-elevated:0 4px 6px rgba(0,0,0,.02),0 12px 24px rgba(0,0,0,.04);--shadow-hover:0 2px 8px rgba(0,0,0,.04),0 8px 16px rgba(0,0,0,.04);--ring-focus:0 0 0 3px rgba(58,58,244,.2);--ring-error:0 0 0 3px rgba(255,59,48,.2);--shadow-xs:var(--shadow-paper);--shadow-sm:var(--shadow-paper);--shadow-default:var(--shadow-paper);--shadow-md:var(--shadow-elevated);--shadow-lg:var(--shadow-elevated);--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--transition-fast:150ms ease;--transition-base:200ms ease;--transition-slow:300ms ease;--transition-spring:500ms cubic-bezier(0.34,1.56,0.64,1);--duration-instant:50ms;--duration-fast:150ms;--duration-normal:200ms;--duration-slow:300ms;--ease-default:ease;--ease-bounce:cubic-bezier(0.34,1.56,0.64,1);--max-width-content:1200px;--header-height:64px;--sidebar-width:260px;--z-base:0;--z-above:1;--z-dropdown:100;--z-sticky:200;--z-header:300;--z-overlay:400;--z-modal:500;--z-toast:600;--z-tooltip:700}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth}body{font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--weight-normal);line-height:var(--leading-normal);color:var(--color-text-secondary);background-color:var(--color-bg);min-height:100vh}h1,h2,h3,h4{font-family:var(--font-serif);font-weight:var(--weight-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}h1,h2,h3,h4,h5,h6{color:var(--color-text-primary)}h5,h6{font-family:var(--font-body);font-weight:var(--weight-semibold);line-height:var(--leading-snug)}h1{font-size:var(--text-4xl);font-weight:var(--weight-heavy);letter-spacing:var(--tracking-tighter)}h2{font-size:var(--text-3xl);letter-spacing:var(--tracking-tight)}h3{font-size:var(--text-2xl)}h3,h4{font-weight:var(--weight-semibold);letter-spacing:var(--tracking-snug)}h4{font-size:var(--text-lg)}h5{font-size:var(--text-md)}h6{font-size:var(--text-base)}p{font-family:var(--font-body);color:var(--color-text-secondary);line-height:var(--leading-relaxed)}small{font-size:var(--text-sm);color:var(--color-text-tertiary)}b,strong{font-weight:var(--weight-semibold)}.mono,[data-mono],code{font-family:var(--font-mono)}a{color:var(--color-accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--indigo-700)}a:focus-visible{outline:none;box-shadow:var(--ring-focus);border-radius:var(--radius-xs)}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}button{cursor:pointer;border:none;background:none}input,select,textarea{background-color:var(--color-input-bg);border:1px solid transparent;border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:var(--ring-focus)}input::placeholder,textarea::placeholder{color:var(--color-text-muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--weight-medium);border-radius:var(--radius-sm);transition:all var(--transition-base);cursor:pointer;border:none}.btn-primary{background-color:var(--color-primary);color:var(--color-white)}.btn-primary:hover{background-color:var(--color-text-secondary)}.btn-secondary{background-color:transparent;color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-secondary:hover{background-color:var(--color-hover)}.btn-accent{background-color:var(--color-accent);color:var(--color-white)}.btn-accent:hover{background-color:var(--indigo-700)}.card{background-color:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-paper);padding:var(--space-6)}.card-compact{padding:var(--space-4)}.card-flush{padding:0}.citation-chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);background-color:var(--color-accent-light);color:var(--color-accent);font-family:var(--font-mono);font-size:11px;font-weight:var(--weight-medium);border-radius:var(--radius-xs);transition:background-color var(--transition-fast)}.citation-chip:hover{background-color:var(--indigo-100)}.message-user{background-color:var(--color-border);border-radius:var(--radius-xl) var(--radius-xl) var(--radius-xs) var(--radius-xl)}.message-ai,.message-user{color:var(--color-text-primary);padding:var(--space-4)}.message-ai{background-color:var(--color-surface);border-radius:var(--radius-xl) var(--radius-xl) var(--radius-xl) var(--radius-xs);box-shadow:var(--shadow-paper)}.label{text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--color-text-muted)}.badge,.label{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-medium)}.badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2);border-radius:var(--radius-xs)}.badge-success{background-color:var(--color-success-light);color:var(--color-success)}.badge-warning{background-color:var(--color-warning-light);color:var(--color-warning)}.badge-error{background-color:var(--color-error-light);color:var(--color-error)}.badge-accent{background-color:var(--color-accent-light);color:var(--color-accent)}.floating-header{position:fixed;top:var(--space-4);left:50%;transform:translateX(-50%);width:min(var(--max-width-content),calc(100vw - var(--space-8)));background-color:var(--color-surface);border-radius:var(--radius-full);box-shadow:var(--shadow-paper);padding:var(--space-3) var(--space-6);z-index:var(--z-header);display:flex;align-items:center;justify-content:space-between}.context-switcher{display:flex;align-items:center;background-color:var(--color-border);border-radius:var(--radius-sm);padding:var(--space-1)}.context-switcher-item{padding:var(--space-2) var(--space-4);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-tertiary);border-radius:var(--radius-xs);transition:all var(--transition-fast);cursor:pointer;border:none;background:none}.context-switcher-item:hover{color:var(--color-text-secondary)}.context-switcher-item.active{background-color:var(--color-surface);color:var(--color-text-primary);box-shadow:0 2px 4px rgba(0,0,0,.1)}.data-value{font-weight:var(--weight-medium)}.data-label,.data-value{font-family:var(--font-mono)}.data-label{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.sr-only,.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.skeleton{background:linear-gradient(90deg,var(--color-border) 0,var(--color-bg) 50%,var(--color-border) 100%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-md)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.spinner{width:20px;height:20px;border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:var(--radius-full);animation:spin .6s linear infinite}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}*{scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}::selection{background-color:var(--color-accent-light);color:var(--color-accent)}.status-badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:var(--tracking-wide);border-radius:var(--radius-full);gap:var(--space-1)}.status-badge--live{color:var(--color-success);background-color:var(--color-success-light)}.status-badge--active{color:var(--color-accent)}.ai-insight,.status-badge--active{background-color:var(--color-accent-light)}.ai-insight{border-left:3px solid var(--color-accent);border-radius:0 var(--radius-md) var(--radius-md) 0;padding:var(--space-4)}.ai-insight__badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);background-color:var(--color-accent);color:var(--color-white);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:var(--tracking-wide);border-radius:var(--radius-xs)}.section-header{margin-bottom:var(--space-8)}.section-header__label{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--color-text-muted);margin-bottom:var(--space-2)}.section-header__title{font-family:var(--font-serif);font-size:var(--text-3xl);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);color:var(--color-text-primary)}.match-badge{display:inline-flex;align-items:center;justify-content:center;min-width:48px;padding:var(--space-1) var(--space-2);background-color:var(--color-primary);color:var(--color-white);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--weight-semibold);border-radius:var(--radius-sm)}.conviction-block{background:linear-gradient(135deg,#1a1a2e,#16213e);color:var(--color-white);border-radius:var(--radius-xl);padding:var(--space-8)}