:root{--white:#fff;--brand:#5f913b;--brand-dark:#406c28;--brand-hover:#517b32;--gray-50:#f9fafb;--gray-75:#f0f0f0;--gray-90:#f1f1f4;--gray-100:#f0f2f4;--gray-150:#eaedf0;--gray-180:#dfe3e7;--gray-200:#e0e0e0;--gray-250:#d4d4d4;--gray-300:#ced4da;--gray-330:#ccc;--gray-350:#d1d5db;--gray-450:#adb5bd;--gray-480:#878787;--gray-500:#878f97;--gray-550:#6d767e;--gray-560:#6b7280;--gray-600:#666;--gray-650:#545454;--gray-700:#484f56;--gray-800:#333;--gray-850:#22262a;--gray-900:#1f1f1f;--gray-950:#121212;--hint:#999;--ink:#1a1a2e;--ink-green:#2c3f2c;--code-bg:#1e1e2e;--code-text:#cdd6f4;--red-40:#fff0f0;--red-45:#fef1f1;--red-50:#fff5f5;--red-100:#fff0f0;--red-150:#fcc;--red-200:#ffc7c7;--red-500:#e13333;--red-550:#dc3848;--red-560:#dc2828;--red-600:#ca2b2b;--red-650:#c72334;--red-700:#c00;--red-800:#981b1b;--green-50:#eafbed;--green-150:#b1f2b9;--green-500:#40bf57;--green-550:#37b34e;--green-560:#16a249;--green-600:#2f9d43;--green-700:#2b883d;--green-bright:#44e97b;--blue-50:#e6f4ff;--blue-200:#a3d7ff;--blue-400:#50acf7;--blue-600:#2463eb;--blue-700:#1970c2;--blue-light:#4dacfe;--cyan-600:#088eaf;--yellow-100:#fff3bd;--yellow-400:#fed12f;--orange-700:#e67700;--amber-600:#db7706;--violet-50:#f3f0ff;--violet-600:#9234ea;--violet-700:#7149e9;--indigo-50:#f0f4ff;--pink-400:#fa709a;--pink:#f193fb;--coral:#f5566b;--gradient-start:var(--brand);--gradient-end:var(--brand-dark);--gradient:linear-gradient(135deg, var(--gradient-start) 0%, var(--gradient-end) 100%);--gradient-assistant-start:var(--pink);--gradient-assistant-end:var(--coral);--gradient-assistant:linear-gradient(135deg, var(--gradient-assistant-start) 0%, var(--gradient-assistant-end) 100%);--accent:var(--brand);--accent-hover:#5f913b59;--danger:var(--coral);--bg-primary:var(--white);--bg-secondary:var(--gray-50);--bg-tertiary:var(--gray-90);--bg-code:var(--code-bg);--bg-code-inline:var(--gray-75);--bg-toolbar:var(--gray-75);--text-primary:var(--gray-800);--text-secondary:var(--gray-600);--text-muted:var(--gray-480);--text-hint:var(--hint);--text-code:var(--code-text);--border-light:var(--gray-75);--border-medium:var(--gray-200);--border-input:var(--gray-200);--border-focus:var(--brand);--tab-active-color:var(--brand);--tab-inactive-color:var(--gray-480);--tab-hover-color:var(--gray-650);--tab-border-color:var(--gray-200);--tab-bg:var(--gray-50);--bubble-user-bg:var(--gradient);--bubble-user-text:var(--white);--bubble-assistant-bg:var(--white);--bubble-assistant-text:var(--gray-800);--bubble-assistant-shadow:0 2px 10px #0000001a;--badge-success-bg:#d4edda;--badge-success-text:#155624;--badge-warning-bg:#fff3cc;--badge-warning-text:#866504;--badge-info-bg:#d0ecf1;--badge-info-text:#0c535f}
:root{--bubble-radius:18px;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:20px;--space-2xl:24px;--space-3xl:30px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-pill:25px;--radius-circle:50%;--shadow-sm:0 2px 8px #0000000f;--shadow-md:0 2px 8px #0000001a;--shadow-lg:0 5px 15px #0000001f;--shadow-overlay:0 20px 60px #0006;--font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--font-mono:"SF Mono", "Fira Code", Consolas, monospace;--font-size-xs:11px;--font-size-sm:12px;--font-size-base:14px;--font-size-md:15px;--font-size-lg:16px;--font-size-xl:18px;--font-size-2xl:24px;--font-size-3xl:28px;--transition-fast:.2s ease;--transition-normal:.3s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{height:100%;overflow:hidden}html,body{max-width:100vw;overflow-x:hidden}body{height:100vh;min-height:100%;font-family:var(--font-family);font-size:var(--font-size-md);color:var(--text-primary);background:var(--bg-tertiary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;line-height:1.5;display:flex;overflow:hidden}a{color:inherit;text-decoration:none}button{font-family:inherit}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
