:root{--color-bg:#0e0e11;--color-sidebar:#131317;--color-panel:#1c1c21;--color-panel-border:#2a2a31;--color-accent:#a855f7;--color-accent-soft:#2a2333;--color-text:#f2f2f5;--color-text-dim:#a3a3ad;--color-success:#22c55e;--color-error:#f87171;--color-error-soft:#2a1d20;--color-error-border:#4d2b31;--color-warning:#d97a2b;--color-warning-soft:#2a2119;--color-warning-border:#4d3b24;--color-thinking:#a3a3ad;--color-on-accent:#ffffff;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--header-glass-tint:rgba(14,14,17,0.72);--scrollbar-thumb:rgba(168,85,247,0.45);--scrollbar-thumb-hover:rgba(168,85,247,0.9);--drop-glow-shadow:0 0 0 3px rgba(168,85,247,0.35),0 0 26px 6px rgba(168,85,247,0.45);--drop-brightness:1.25;--color-shadow:0 8px 24px rgba(0,0,0,0.45);--color-danger:#ef4444;--color-danger-hover:#dc2626;--color-scrim:rgba(0,0,0,0.55);--color-gradient-a:#2a1b3d;--color-gradient-b:#7c5cbf;--color-swatch-teal:#2a8a8f;--color-swatch-orange:#d97a2b;--color-swatch-navy:#2b3a4f}[data-theme=light]{--color-bg:#f7f7f8;--color-sidebar:#ffffff;--color-panel:#ffffff;--color-panel-border:#e4e4e8;--color-accent:#7c3aed;--color-accent-soft:#ede4fb;--color-text:#1a1a1f;--color-text-dim:#8b8b93;--color-success:#16a34a;--color-error:#dc2626;--color-error-soft:#fdecec;--color-error-border:#f0c8c8;--color-warning:#b45309;--color-warning-soft:#fdf3e7;--color-warning-border:#ecd3b3;--color-thinking:#8b8b93;--color-on-accent:#ffffff;--header-glass-tint:rgba(247,247,248,0.72);--scrollbar-thumb:rgba(124,58,237,0.35);--scrollbar-thumb-hover:rgba(124,58,237,0.85);--drop-glow-shadow:0 0 0 3px rgba(124,58,237,0.25),0 0 26px 6px rgba(124,58,237,0.35);--drop-brightness:1.04;--color-shadow:0 8px 24px rgba(0,0,0,0.12);--color-danger:#dc2626;--color-danger-hover:#b91c1c;--color-scrim:rgba(0,0,0,0.35)}*{box-sizing:border-box;padding:0;margin:0}body,html{max-width:100vw;overflow:hidden;height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--color-bg);color:var(--color-text)}.thinking-dots:after{content:"";animation:thinking-dots 1.5s step-end infinite}@keyframes thinking-dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}to{content:""}}