:root{--color-primary-50:#f4f9f4;--color-primary-100:#e0f0e0;--color-primary-200:#b8dab8;--color-primary-300:#88bf88;--color-primary-400:#5ea05e;--color-primary-500:#3d8b3d;--color-primary-600:#2d6e2d;--color-primary-700:#245624;--color-primary-800:#1e451e;--color-primary-900:#173917;--color-accent-50:#fffbeb;--color-accent-100:#fef3c7;--color-accent-200:#fde68a;--color-accent-300:#fcd34d;--color-accent-400:#fbbf24;--color-accent-500:#f59e0b;--color-accent-600:#d97706;--color-accent-700:#b45309;--color-neutral-0:#fff;--color-neutral-50:#fafaf8;--color-neutral-100:#f5f4f0;--color-neutral-200:#e8e6e0;--color-neutral-300:#d4d0c8;--color-neutral-400:#a8a498;--color-neutral-500:#7a7668;--color-neutral-600:#5c584c;--color-neutral-700:#44413a;--color-neutral-800:#2d2b26;--color-neutral-900:#1a1916;--color-success:#3d8b3d;--color-success-bg:#f0f9f0;--color-warning:#d97706;--color-warning-bg:#fffbeb;--color-error:#c53030;--color-error-bg:#fef2f2;--color-error-border:#fca5a5;--color-info:#2b6cb0;--color-info-bg:#eff6ff;--bg-page:#f5f4f0;--bg-card:#fff;--bg-card-hover:#fafaf8;--bg-bubble-user:#2d6e2d;--bg-bubble-ai:#fff;--bg-bubble-ai-think:#f8f7f3;--bg-composer:#f5f4f0f5;--bg-header:#ffffffeb;--bg-input:#fff;--bg-option-pill:var(--color-primary-50);--bg-option-hover:var(--color-primary-100);--bg-option-active:var(--color-primary-500);--text-primary:#2d2b26;--text-secondary:#5c584c;--text-tertiary:#7a7668;--text-on-primary:#fff;--text-bubble-ai:#2d2b26;--text-bubble-user:#fff;--text-link:var(--color-primary-600);--text-placeholder:var(--color-neutral-400);--border-default:#e8e6e0;--border-strong:#d4d0c8;--border-focus:var(--color-primary-400);--border-think:var(--color-primary-200);--border-error:#fca5a5;--shadow-sm:0 1px 2px #1a19160d;--shadow-md:0 4px 12px #1a191614;--shadow-lg:0 8px 24px #1a19161f;--shadow-bubble:0 1px 4px #1a19160f;--font-sans:"PingFang SC", "Noto Sans SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"SF Mono", "Fira Code", "Noto Sans Mono", Menlo, Monaco, Consolas, monospace;--text-xs:.75rem;--text-sm:.8125rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--leading-tight:1.3;--leading-normal:1.6;--leading-relaxed:1.75;--weight-normal:400;--weight-light:300;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--duration-fast:.12s;--duration-normal:.2s;--duration-slow:.35s;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.45, 0, .55, 1);--chat-max-width:80vw;--bubble-max-width:80%;--header-height:60px;--touch-target:44px;--page-max-width:1080px;--bp-sm:640px;--bp-md:768px;--bp-lg:960px;--scrollbar-thumb:var(--color-neutral-300);--scrollbar-hover:var(--color-neutral-400);--selection-bg:var(--color-primary-200);--selection-text:var(--color-primary-900);--focus-ring:#5ea05e26}:root.dark-mode{--bg-page:#171916;--bg-card:#222420;--bg-card-hover:#2a2c28;--bg-bubble-user:var(--color-primary-600);--bg-bubble-ai:#222420;--bg-bubble-ai-think:#1e201c;--bg-composer:#171916f5;--bg-header:#222420eb;--bg-input:#2a2c28;--bg-option-pill:#3d8b3d1f;--bg-option-hover:#3d8b3d38;--bg-option-active:var(--color-primary-600);--text-primary:#e8e6e0;--text-secondary:#a8a498;--text-tertiary:#7a7668;--text-on-primary:#fff;--text-bubble-ai:#e8e6e0;--text-bubble-user:#fff;--text-link:var(--color-primary-300);--text-placeholder:var(--color-neutral-500);--border-default:#3a3c36;--border-strong:#4a4c46;--border-think:#3d8b3d33;--border-error:#c5303066;--shadow-sm:0 1px 2px #0003;--shadow-md:0 4px 12px #00000040;--shadow-lg:0 8px 24px #00000059;--shadow-bubble:0 1px 4px #00000026;--color-success-bg:#3d8b3d26;--color-warning-bg:#d9770626;--color-error-bg:#c5303026;--color-info-bg:#2b6cb026;--scrollbar-thumb:#4a4c46;--scrollbar-hover:#5c5e56;--selection-bg:#3d8b3d4d;--selection-text:#e8e6e0;--focus-ring:#3d8b3d40;--color-neutral-50:#222420;--color-neutral-100:#2a2c28;--color-neutral-200:#3a3c36;--color-neutral-300:#4a4c46;--color-neutral-400:#6a6c66;--color-primary-50:#1a241a;--color-primary-100:#1e2a1e;--color-primary-200:#2a3a2a;--color-primary-300:#3a5a3a;--color-primary-700:#a8d4a8}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-sans);font-size:16px;line-height:var(--leading-normal);color:var(--text-primary);background:var(--bg-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}body{min-height:100vh}button,textarea,input,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}a{color:var(--text-link);text-decoration:none}a:hover{text-decoration:underline}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-full);background-clip:content-box;border:1px solid #0000}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-hover);background-clip:content-box;border-color:#0000}::-webkit-scrollbar-corner{background:0 0}:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}::selection{background:var(--selection-bg);color:var(--selection-text)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@keyframes message-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes think-expand{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes skeleton-pulse{0%,to{opacity:.4}50%{opacity:.7}}@keyframes typing-bounce{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-6px)}}@keyframes scale-item-enter{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes progress-fill{0%{width:0}}@keyframes error-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.list-reset{list-style:none}.truncate{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
