:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#fff;--bg-soft:#f4f4f6;--bg-side:#f7f7f8;--bg-hover:#ececf1;--fg:#1d1d1f;--fg-muted:#6b6b76;--border:#e2e2e8;--accent:#3355d1;--accent-fg:#fff;--danger:#c0262d;--bubble:#eef1fb;--code-bg:#f1f1f4;--focus:#3355d1;--backdrop:#0006;--shadow:0 2px 12px #00000014;--font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--text-xs:.75rem;--text-sm:.875rem;--text:1rem;--text-lg:1.125rem;--line:1.55;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--radius-sm:.5rem;--radius:.875rem;--radius-full:999px;--control:2.5rem;--sidebar-w:17.5rem;--column-w:48rem;--thumb:10rem;--thumb-sm:2rem;--duration:.16s;--font-reading:var(--font);--font-display:var(--font);--reading-size:var(--text);--reading-line:var(--line);--chat-bg:var(--bg);--head-bg:var(--bg);--bubble-fg:var(--fg);--bubble-radius:var(--radius);--assistant-bg:transparent;--assistant-pad:0;--assistant-radius:0;--composer-bg:var(--bg-soft);--composer-radius:var(--radius);--composer-shadow:none;--send-bg:var(--accent);--avatar-size:2rem}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#17171a;--bg-soft:#222226;--bg-side:#1d1d21;--bg-hover:#2b2b31;--fg:#ececf1;--fg-muted:#9a9aa6;--border:#313137;--accent:#7b93ff;--accent-fg:#0f1020;--danger:#ff6b6b;--bubble:#2a2d3d;--code-bg:#26262b;--focus:#7b93ff;--shadow:0 2px 12px #0006}}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--fg);font:var(--text) / var(--line) var(--font);-webkit-text-size-adjust:100%;margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}a{color:var(--accent)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--fg-muted)}.center{text-align:center}.error{color:var(--danger)}.hint{margin:0 0 var(--space-2);font-size:var(--text-sm);color:var(--fg-muted)}.primary{height:var(--control);padding:0 var(--space-4);border-radius:var(--radius-sm);background:var(--accent);color:var(--accent-fg);border:0;font-weight:600}.link{color:var(--fg-muted);font-size:var(--text-sm);background:0 0;border:0;padding:0}.link:hover{color:var(--fg)}.icon-button{width:var(--control);height:var(--control);border-radius:var(--radius-sm);color:var(--fg-muted);background:0 0;border:0;flex:none;place-items:center;padding:0;display:inline-grid}.icon-button:hover:not(:disabled){background:var(--bg-hover);color:var(--fg)}.login{min-height:100dvh;padding:var(--space-4);place-items:center;display:grid}.login-card{gap:var(--space-3);width:min(100%,22rem);padding:var(--space-6) var(--space-5);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);display:grid}.login-card img{border-radius:var(--radius);justify-self:center}.login-card h1{margin:0 0 var(--space-2);text-align:center;font:600 var(--text-lg) / var(--line) var(--font-display)}.login-card input{height:var(--control);padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg)}.login-card p{margin:0}.app{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);height:100dvh;display:grid}.sidebar{gap:var(--space-2);min-height:0;padding:var(--space-3);padding-top:max(var(--space-3), env(safe-area-inset-top));padding-bottom:max(var(--space-3), env(safe-area-inset-bottom));background:var(--bg-side);border-right:1px solid var(--border);flex-direction:column;display:flex}.new-chat{align-items:center;gap:var(--space-2);height:var(--control);padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);font-weight:600;display:flex}.new-chat:hover{background:var(--bg-hover)}.chat-list{min-height:0;margin:0 calc(-1 * var(--space-1));padding:0 var(--space-1);flex:1;overflow-y:auto}.chat-list .muted{padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}.chat-item{border-radius:var(--radius-sm);align-items:center;display:flex}.chat-item:hover,.chat-item.active{background:var(--bg-hover)}.chat-item a{align-items:center;gap:var(--space-3);min-width:0;padding:var(--space-2) var(--space-3);color:var(--fg);font-size:var(--text-sm);flex:1;text-decoration:none;display:flex}.chat-text{flex-direction:column;min-width:0;display:flex}.chat-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chat-item .icon-button{width:calc(var(--control) - var(--space-2));height:calc(var(--control) - var(--space-2))}@media (hover:hover){.chat-item:not(:hover,:focus-within) .icon-button{opacity:0}}.sign-out{padding:var(--space-2) var(--space-3);align-self:flex-start}.backdrop,.menu-button{display:none}@media (width<=50rem){.app{grid-template-columns:minmax(0,1fr)}.sidebar{z-index:2;width:min(85vw, var(--sidebar-w));transition:transform var(--duration) ease-out;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.app.drawer .sidebar{box-shadow:var(--shadow);transform:none}.app.drawer .backdrop{z-index:1;background:var(--backdrop);border:0;display:block;position:fixed;inset:0}.menu-button{display:inline-grid}}.chat{background:var(--chat-bg);flex-direction:column;min-width:0;min-height:0;display:flex}.chat-head{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);padding-top:max(var(--space-2), env(safe-area-inset-top));border-bottom:1px solid var(--border);background:var(--head-bg);display:flex}.chat-title{min-width:0;font:600 var(--text) / var(--line) var(--font-display);text-overflow:ellipsis;white-space:nowrap;flex:1;margin:0;overflow:hidden}.chat-head select{max-width:45%;height:var(--control);padding:0 var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);font-size:var(--text-sm)}.messages{overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.column{gap:var(--space-5);max-width:var(--column-w);padding:var(--space-5) var(--space-4);flex-direction:column;margin:0 auto;display:flex}.empty{justify-items:center;gap:var(--space-3);color:var(--fg-muted);font-size:var(--text-lg);margin-top:20vh;display:grid}.empty img{border-radius:var(--radius)}.empty p{font-family:var(--font-display);margin:0}.msg{align-items:flex-start;gap:var(--space-2);display:flex}.avatar,.chat-avatar,.chat-sub{display:none}.msg-body{gap:var(--space-2);flex-direction:column;flex:1;min-width:0;display:flex}.msg.user .msg-body{align-items:flex-end}.msg.assistant .msg-content{max-width:100%;padding:var(--assistant-pad);border-radius:var(--assistant-radius);background:var(--assistant-bg)}.bubble{max-width:85%;padding:var(--space-2) var(--space-4);border-radius:var(--bubble-radius);background:var(--bubble);color:var(--bubble-fg);white-space:pre-wrap;overflow-wrap:anywhere}.msg-images{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.msg-images img{max-width:var(--thumb);max-height:var(--thumb);border-radius:var(--radius-sm);object-fit:cover;display:block}.msg-files{gap:var(--space-2);flex-wrap:wrap;display:flex}.file-chip{align-items:center;gap:var(--space-2);max-width:100%;padding:var(--space-1) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--fg);font-size:var(--text-sm);text-decoration:none;display:inline-flex}.file-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.reasoning{padding:var(--space-2) var(--space-3);border-left:1px solid var(--border);color:var(--fg-muted);font-size:var(--text-sm)}.reasoning summary{cursor:pointer}.reasoning-text{max-height:16rem;margin-top:var(--space-2);white-space:pre-wrap;overflow-wrap:anywhere;overflow-y:auto}.msg p{margin:0}.msg-meta{gap:var(--space-3);color:var(--fg-muted);font-size:var(--text-xs);display:flex}.msg-meta .link{font-size:var(--text-xs)}.typing{font-size:var(--text-sm)}.markdown{font:var(--reading-size) / var(--reading-line) var(--font-reading);overflow-wrap:anywhere}.markdown>:first-child{margin-top:0}.markdown>:last-child{margin-bottom:0}.markdown p,.markdown ul,.markdown ol,.markdown pre,.markdown table,.markdown blockquote{margin:0 0 var(--space-3)}.markdown h1,.markdown h2,.markdown h3,.markdown h4{margin:var(--space-5) 0 var(--space-2);font-size:var(--text-lg);line-height:1.3}.markdown ul,.markdown ol{padding-left:var(--space-5)}.markdown code{padding:0 var(--space-1);border-radius:var(--radius-sm);background:var(--code-bg);font:var(--text-sm) / var(--line) var(--mono)}.markdown pre{padding:var(--space-3);border-radius:var(--radius-sm);background:var(--code-bg);overflow-x:auto}.markdown pre code{overflow-wrap:normal;background:0 0;padding:0}.markdown blockquote{padding-left:var(--space-3);border-left:1px solid var(--border);color:var(--fg-muted)}.markdown table{border-collapse:collapse;max-width:100%;font-size:var(--text-sm);display:block;overflow-x:auto}.markdown th,.markdown td{padding:var(--space-1) var(--space-3);border:1px solid var(--border);text-align:left}.markdown img{max-width:100%}.composer-dock{padding:var(--space-2) var(--space-3);padding-bottom:max(var(--space-3), env(safe-area-inset-bottom))}.composer{max-width:var(--column-w);padding:var(--space-2);border:1px solid var(--border);border-radius:var(--composer-radius);background:var(--composer-bg);box-shadow:var(--composer-shadow);margin:0 auto}.composer-row{align-items:flex-end;gap:var(--space-1);display:flex}.composer textarea{min-width:0;min-height:var(--control);padding:var(--space-2);resize:none;font-size:var(--text);line-height:var(--line);background:0 0;border:0;flex:1}.composer textarea:focus-visible{outline:none}.composer:focus-within{border-color:var(--focus)}.send{width:var(--control);height:var(--control);border-radius:var(--radius-full);background:var(--send-bg);color:var(--accent-fg);border:0;flex:none;place-items:center;padding:0;display:grid}.pending-files{gap:var(--space-2);margin:0 0 var(--space-2);flex-wrap:wrap;padding:0;list-style:none;display:flex}.pending-files li{align-items:center;gap:var(--space-2);max-width:14rem;padding:var(--space-1) var(--space-1) var(--space-1) var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);font-size:var(--text-sm);display:flex}.pending-files img{width:var(--thumb-sm);height:var(--thumb-sm);border-radius:var(--radius-sm);object-fit:cover}.pending-files .icon-button{width:var(--thumb-sm);height:var(--thumb-sm)}.design-switch{gap:var(--space-1);padding:var(--space-1);border:1px solid var(--border);border-radius:var(--radius-sm);margin:0;display:flex}.design-switch legend{padding:0 var(--space-1);color:var(--fg-muted);font-size:var(--text-xs)}.design-switch label{padding:var(--space-1);border-radius:var(--radius-sm);color:var(--fg-muted);font-size:var(--text-xs);text-align:center;cursor:pointer;flex:1}.design-switch label:has(:checked){background:var(--bg-hover);color:var(--fg);font-weight:600}.design-switch label:has(:focus-visible){outline:2px solid var(--focus)}.design-switch input{opacity:0;position:absolute}:root[data-design=b]{--bg:#faf8f3;--bg-soft:#fff;--bg-side:#f3efe7;--bg-hover:#e9e3d7;--fg:#2a261f;--fg-muted:#7a7366;--border:#e4ded2;--accent:#b85a37;--accent-fg:#fff;--bubble:#efe8dc;--code-bg:#f2ede4;--focus:#b85a37;--shadow:0 6px 24px #3c281414;--font-reading:ui-serif, "New York", "Iowan Old Style", Charter, Georgia, serif;--font-display:ui-serif, "New York", "Iowan Old Style", Charter, Georgia, serif;--reading-size:1.0625rem;--reading-line:1.7;--bubble-radius:1.25rem;--composer-bg:var(--bg-soft);--composer-radius:1.25rem;--composer-shadow:var(--shadow)}@media (prefers-color-scheme:dark){:root[data-design=b]{--bg:#1f1d1a;--bg-soft:#2a2724;--bg-side:#191714;--bg-hover:#332f2a;--fg:#ece6da;--fg-muted:#a39b8c;--border:#3a3530;--accent:#e08a62;--accent-fg:#1f1d1a;--bubble:#35312b;--code-bg:#2a2724;--focus:#e08a62;--shadow:0 6px 24px #00000059}}[data-design=b] .chat-head{border-bottom-color:#0000}[data-design=b] .chat-title{text-align:center}[data-design=b] .new-chat{color:var(--accent);background:0 0;border-color:#0000}[data-design=b] .new-chat:hover{background:var(--bg-hover)}[data-design=b] .composer-dock{padding-bottom:max(var(--space-4), env(safe-area-inset-bottom))}[data-design=b] .empty{font-size:1.75rem}:root[data-design=c]{--bg:#fff;--bg-soft:#fff;--bg-side:#fff;--bg-hover:#eef1f8;--fg:#14161c;--fg-muted:#6c7180;--border:#e3e6ee;--accent:#4a55d6;--accent-fg:#fff;--code-bg:#f1f3f8;--focus:#4a55d6;--gradient:linear-gradient(135deg, #3355d1, #7b4dd6);--shadow:0 2px 10px #141e5014;--chat-bg:#eef1f7;--head-bg:#fff;--bubble:var(--gradient);--bubble-fg:#fff;--bubble-radius:1.25rem;--assistant-bg:#fff;--assistant-pad:var(--space-3) var(--space-4);--assistant-radius:1.25rem;--composer-bg:#fff;--composer-radius:1.5rem;--composer-shadow:var(--shadow);--send-bg:var(--gradient);--avatar-size:2.25rem}@media (prefers-color-scheme:dark){:root[data-design=c]{--bg:#151821;--bg-soft:#1d212c;--bg-side:#151821;--bg-hover:#232837;--fg:#e9ebf2;--fg-muted:#8d93a5;--border:#272b38;--accent:#8f9bff;--accent-fg:#fff;--code-bg:#262b38;--focus:#8f9bff;--shadow:0 2px 10px #0006;--chat-bg:#0f1117;--head-bg:#151821;--assistant-bg:#1d212c;--composer-bg:#1d212c}}[data-design=c] .msg.assistant .msg-content{border-top-left-radius:var(--radius-sm);max-width:92%;box-shadow:var(--shadow);align-self:flex-start}[data-design=c] .bubble{border-bottom-right-radius:var(--radius-sm)}[data-design=c] .avatar,[data-design=c] .chat-avatar{width:var(--avatar-size);height:var(--avatar-size);border-radius:var(--radius-full);background:var(--gradient);color:var(--accent-fg);font-size:var(--text-sm);flex:none;place-items:center;font-weight:700;display:grid}[data-design=c] .chat-sub{color:var(--fg-muted);font-size:var(--text-xs);display:block}[data-design=c] .chat-item a{padding:var(--space-2)}[data-design=c] .chat-name{font-size:var(--text);font-weight:500}[data-design=c] .new-chat{border-radius:var(--radius-full);background:var(--gradient);color:var(--accent-fg);border:0;justify-content:center}[data-design=c] .composer-dock{background:var(--chat-bg)}[data-design=c] .msg-meta{padding-left:var(--space-2)}[data-design=c] .reasoning{padding:0 0 var(--space-2);border-left:0}
