:root{--bg-primary:#0f172a;--bg-secondary:#1e293b;--bg-tertiary:#334155;--border-color:#475569;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--accent:#3b82f6;--accent-hover:#2563eb;--success:#22c55e;--warning:#eab308;--error:#ef4444;--user-msg:#3b82f6;--assistant-msg:#22c55e}*{scrollbar-width:thin;scrollbar-color:var(--bg-tertiary) var(--bg-primary)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--border-color)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-enter{animation:.3s ease-out fadeIn}.json-key{color:#93c5fd}.json-string{color:#86efac}.json-number{color:#fca5a5}.json-boolean,.json-null{color:#fbbf24}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.status-checking{animation:1.5s infinite pulse}.markdown-content p{margin-bottom:.5rem;line-height:1.5}.markdown-content p:last-child{margin-bottom:0}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4,.markdown-content h5,.markdown-content h6{color:#f1f5f9;margin-top:.75rem;margin-bottom:.5rem;font-weight:600}.markdown-content h1{font-size:1.25rem}.markdown-content h2{font-size:1.125rem}.markdown-content h3{font-size:1rem}.markdown-content ul,.markdown-content ol{margin-bottom:.5rem;padding-left:1.25rem}.markdown-content li{margin-bottom:.25rem}.markdown-content a{color:#60a5fa;text-decoration:underline}.markdown-content a:hover{color:#93c5fd}.markdown-content code{color:#fca5a5;background:#0000004d;border-radius:.25rem;padding:.125rem .375rem;font-family:monospace;font-size:.875em}.markdown-content pre{background:#0006;border-radius:.5rem;margin-bottom:.5rem;padding:.75rem;overflow-x:auto}.markdown-content pre code{color:#e2e8f0;background:0 0;padding:0}.markdown-content blockquote{color:#94a3b8;border-left:3px solid #475569;margin-bottom:.5rem;margin-left:0;padding-left:.75rem}.markdown-content table{border-collapse:collapse;width:100%;margin-bottom:.5rem}.markdown-content th,.markdown-content td{text-align:left;border:1px solid #475569;padding:.375rem .5rem}.markdown-content th{background:#0003;font-weight:600}.markdown-content hr{border:none;border-top:1px solid #475569;margin:.75rem 0}
