:root{--bg-main:#131417;--bg-sidebar:#1a1b20;--bg-surface:#222329;--bg-surface-raised:#2c2e36;--bg-surface-hover:#33353f;--bg-input:#1e1f25;--accent:#3875f6;--accent-hover:#4e85ff;--accent-light:#3875f626;--text:#f3f4f6;--text-muted:#9ca3af;--text-dim:#6b7280;--border:#ffffff14;--border-highlight:#ffffff29;--shadow-sm:0 2px 8px #0003;--shadow-md:0 4px 12px #00000047, 0 1px 3px #00000040;--shadow-lg:0 12px 36px #00000073;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-full:9999px;--transition-fast:.15s ease-in-out;--transition-normal:.25s ease-in-out;--transition-slow:.3s ease-in-out;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:"Fira Code", SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;font-family:var(--font-sans);background-color:var(--bg-main);color:var(--text);-webkit-font-smoothing:antialiased;overflow:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#ffffff40}@keyframes soundwave{0%,to{height:4px}50%{height:12px}}.wave-bar-1{animation:1s ease-in-out infinite soundwave}.wave-bar-2{animation:1s ease-in-out .2s infinite soundwave}.wave-bar-3{animation:1s ease-in-out .4s infinite soundwave}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.markdown-body{color:var(--text);font-size:.95rem;line-height:1.65}.markdown-body p{margin-bottom:.75rem}.markdown-body p:last-child{margin-bottom:0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{color:#fff;margin:1rem 0 .5rem;font-weight:600}.markdown-body ul,.markdown-body ol{margin-bottom:.75rem;padding-left:1.25rem}.markdown-body li{margin-bottom:.25rem}.markdown-body blockquote{border-left:3px solid var(--accent);color:var(--text-muted);background:#ffffff08;border-radius:0 4px 4px 0;margin:.5rem 0;padding-left:.75rem}.markdown-body code{font-family:var(--font-mono);color:#e5e7eb;background:#ffffff14;border-radius:4px;padding:.15rem .35rem;font-size:.85em}.markdown-body pre{border-radius:var(--radius-md);border:1px solid var(--border);background:#18191e;margin:.75rem 0;overflow:hidden}.markdown-body pre code{color:#f3f4f6;background:0 0;padding:1rem;font-size:.875rem;display:block;overflow-x:auto}.markdown-body .code-header{border-bottom:1px solid var(--border);color:var(--text-muted);background:#202127;justify-content:space-between;align-items:center;padding:.35rem .75rem;font-size:.75rem;display:flex}.markdown-body table{border-collapse:collapse;width:100%;margin:.75rem 0;font-size:.875rem}.markdown-body th,.markdown-body td{border:1px solid var(--border);text-align:left;padding:.5rem .75rem}.markdown-body th{background:var(--bg-surface-raised);font-weight:600}.markdown-body tr:nth-child(2n){background:#ffffff05}.conv-group-label{color:var(--text-dim);letter-spacing:.5px;text-transform:uppercase;padding:.4rem .75rem .25rem;font-size:.7rem;font-weight:500}.new-conv-btn{border-radius:var(--radius-lg);background:var(--bg-surface);border:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);align-items:center;gap:8px;padding:.6rem .8rem;font-size:.875rem;font-weight:500;display:flex}.new-conv-btn:hover{background:var(--bg-surface-raised);border-color:var(--border-highlight);box-shadow:var(--shadow-sm)}.topbar-icon-btn{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-dim);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.topbar-icon-btn:hover{background:var(--bg-surface-raised);color:var(--text)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-enter{animation:.3s ease-out backwards fadeInUp}.tooltip{position:relative}.tooltip:after{content:attr(data-tip);color:#fff;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--transition-fast);z-index:100;background:#2b2b2b;border-radius:6px;padding:4px 8px;font-size:.7rem;font-weight:400;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%)}.tooltip:hover:after{opacity:1}
