@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--color-bg:#fafafa;--color-surface:#fff;--color-sidebar:#f5f5f4;--color-sidebar-hover:#ebebea;--color-sidebar-active:#e5e5e3;--color-border:#e5e5e3;--color-border-strong:#d4d4d3;--color-text-primary:#1a1a1a;--color-text-secondary:#6b6b6b;--color-text-muted:#9a9a9a;--color-text-placeholder:#b5b5b5;--color-accent:#1a1a1a;--color-accent-hover:#333;--color-accent-text:#fff;--color-user-bubble:#1a1a1a;--color-user-text:#fff;--color-danger:#dc2626;--color-success:#16a34a;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:24px;--space-2xl:32px;--space-3xl:48px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--font:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--text-xs:11px;--text-sm:13px;--text-base:15px;--text-lg:17px;--text-xl:20px;--text-2xl:24px;--shadow-sm:0 1px 2px #0000000a;--shadow-md:0 4px 12px #0000000f;--shadow-lg:0 8px 24px #00000014;--sidebar-width:260px;--chat-max-width:760px;--topbar-height:52px;--transition-fast:.12s ease;--transition-base:.2s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{font-family:var(--font);font-size:var(--text-base);color:var(--color-text-primary);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}button{font-family:var(--font);cursor:pointer;font-size:inherit;color:inherit;background:0 0;border:none}input,textarea{font-family:var(--font);font-size:inherit;color:inherit;background:0 0;border:none;outline:none}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
