.chat{display:flex;flex-direction:column;height:calc(100vh - var(--nav-height));max-width:860px;margin:0 auto;padding:var(--space-lg) var(--space-xl) var(--space-md)}.chat__messages{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-lg);padding-right:var(--space-sm);scrollbar-width:thin;scrollbar-color:var(--surface-hover) transparent}.msg{display:flex;flex-direction:column}.msg--user{align-items:flex-end}.msg--ai{align-items:flex-start}.msg__bubble{max-width:78%;padding:var(--space-md) var(--space-lg);border-radius:var(--radius-lg);font-size:.925rem;line-height:1.65;white-space:pre-wrap;word-break:break-word}.msg--user .msg__bubble{background:var(--accent-soft);border:1px solid var(--border);color:var(--text);border-bottom-right-radius:var(--radius-sm)}.msg--ai .msg__bubble{background:var(--surface);border:1px solid var(--border);color:var(--text);border-bottom-left-radius:var(--radius-sm)}.msg__cursor{display:inline-block;width:2px;height:1em;background:var(--accent);margin-left:2px;vertical-align:text-bottom;animation:blink .9s step-end infinite}@keyframes blink{50%{opacity:0}}.msg__sources{margin-top:var(--space-md);max-width:100%}.msg__sources-label{font-size:.72rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:var(--space-sm)}.msg__sources-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-sm)}.reasoning{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-md);max-width:400px}.reasoning__title{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:var(--space-sm)}.reasoning__list{list-style:none;display:flex;flex-direction:column;gap:var(--space-xs)}.reasoning__step{display:flex;align-items:center;gap:var(--space-sm);font-size:.82rem;color:var(--text-muted)}.reasoning__step--done{color:var(--text)}.reasoning__step--running{color:var(--accent);animation:pulse-text 1.2s ease infinite}@keyframes pulse-text{50%{opacity:.5}}.reasoning__icon{font-size:.9rem;width:1.2em;text-align:center}.reasoning__label{flex:1}.reasoning__score{font-size:.75rem;padding:.1rem .5rem;border-radius:var(--radius-full);background:var(--accent-soft);color:var(--accent)}.chat__error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);font-size:.85rem;color:#ef4444;display:flex;align-items:center;gap:var(--space-sm)}.chat__form{display:flex;gap:var(--space-sm);padding-top:var(--space-md);border-top:1px solid var(--border);margin-top:var(--space-md)}.chat__input{flex:1;border-radius:var(--radius-full)}.chat__send{flex-shrink:0;width:44px;height:44px;padding:0;justify-content:center;border-radius:var(--radius-full);font-size:1.1rem}.chat__send:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 600px){.chat{padding:var(--space-md) var(--space-md) var(--space-sm)}.msg__bubble{max-width:92%}.msg__sources-grid{grid-template-columns:1fr}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #060812;--surface: #0d1526;--surface-hover: #142040;--text: #f0f2fc;--text-muted: #8892b0;--accent: #f0c040;--accent-soft: rgba(240, 192, 64, .12);--accent2: #8b5cf6;--accent2-soft: rgba(139, 92, 246, .12);--accent3: #67e8f9;--border: rgba(240, 192, 64, .14);--nav-bg: rgba(6, 8, 18, .85);--section-overlay: rgba(6, 8, 18, .6);--shadow: 0 4px 32px rgba(0, 0, 0, .6);--glow-gold: 0 0 20px rgba(240, 192, 64, .3);--glow-violet: 0 0 20px rgba(139, 92, 246, .3);--font-heading: "Cinzel", "Georgia", serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4.5rem;--max-width: 1200px;--nav-height: 64px;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 20px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s ease}html{scroll-behavior:smooth}body{background-color:var(--bg);color:var(--text);font-family:var(--font-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;overflow-x:hidden}h1,h2,h3{font-family:var(--font-heading);font-weight:600;line-height:1.25;letter-spacing:.03em}h1{font-size:clamp(2rem,5vw,3.5rem)}h2{font-size:clamp(1.5rem,3vw,2.25rem)}h3{font-size:clamp(1.1rem,2vw,1.4rem)}p{color:var(--text)}a{color:var(--accent);text-decoration:none;transition:opacity var(--transition-fast)}a:hover{opacity:.8}.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--space-xl)}@media (max-width: 768px){.container{padding:0 var(--space-md)}}.main-content{position:relative;z-index:1;padding-top:var(--nav-height)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-lg);transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base)}.card:hover{transform:translateY(-2px);box-shadow:var(--glow-gold);border-color:var(--accent)}.btn{display:inline-flex;align-items:center;gap:var(--space-sm);padding:.625rem 1.5rem;border-radius:var(--radius-full);font-family:var(--font-body);font-size:.95rem;font-weight:500;cursor:pointer;border:none;transition:all var(--transition-base);text-decoration:none}.btn-primary{background:var(--accent);color:#060812}.btn-primary:hover{filter:brightness(1.1);box-shadow:var(--glow-gold);opacity:1}.btn-secondary{background:transparent;color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft);opacity:1}.btn-ghost{background:transparent;color:var(--text-muted);padding:.5rem 1rem}.btn-ghost:hover{color:var(--text);background:var(--surface-hover);opacity:1}.badge{display:inline-block;padding:.2rem .7rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:500;letter-spacing:.04em;background:var(--accent-soft);color:var(--accent);border:1px solid var(--border)}.section{padding:var(--space-3xl) 0}.section-header{text-align:center;margin-bottom:var(--space-2xl)}.section-header h2{color:var(--text);margin-bottom:var(--space-sm)}.section-header p{color:var(--text-muted);max-width:520px;margin:0 auto}.accent-line{display:block;width:60px;height:2px;background:linear-gradient(90deg,var(--accent),var(--accent2));margin:var(--space-md) auto 0;border-radius:var(--radius-full)}.text-accent{color:var(--accent)}.text-muted{color:var(--text-muted)}.text-gradient{background:linear-gradient(135deg,var(--accent) 0%,var(--accent2) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--surface-hover);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--accent2)}.input{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text);font-family:var(--font-body);font-size:.95rem;padding:.75rem 1rem;width:100%;outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.input::placeholder{color:var(--text-muted)}.divider{border:none;border-top:1px solid var(--border);margin:var(--space-xl) 0}@keyframes spin{to{transform:rotate(360deg)}}.spinner{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;display:inline-block}@keyframes pulse-glow{0%,to{opacity:.6;box-shadow:0 0 6px var(--accent)}50%{opacity:1;box-shadow:0 0 18px var(--accent),0 0 32px var(--accent2)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:fadeInUp .5s ease both}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-lg)}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg)}@media (max-width: 900px){.grid-3{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.grid-2,.grid-3{grid-template-columns:1fr}}
