:root{--bg:#f6f5f1;--surface:#fff;--surface-2:#eeece6;--text:#1d1f1c;--muted:#6b6e68;--border:#dcd9d0;--accent:#1f6b4f;--accent-text:#fff;--user-bubble:#e3efe8;--error:#a33a2b;--red-suit:#c0392b;--radius:10px;--font:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#151715;--surface:#1d201d;--surface-2:#262a26;--text:#e7e8e3;--muted:#9a9e96;--border:#353a35;--accent:#4fae86;--accent-text:#0d1a14;--user-bubble:#23382d;--error:#f08a78;--red-suit:#ff7f70;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);font:15px/1.5 var(--font);margin:0}a{color:var(--accent)}.muted{color:var(--muted)}.red-suit{color:var(--red-suit)}.error{color:var(--error);margin:.5rem 0}.button{border-radius:var(--radius);background:var(--accent);color:var(--accent-text);font:inherit;cursor:pointer;border:0;padding:.55rem 1rem;font-weight:600;text-decoration:none;display:inline-block}.button:disabled{opacity:.5;cursor:default}.brand{letter-spacing:.01em;color:var(--text);font-size:1.15rem;font-weight:700;text-decoration:none}.auth-page{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:100%;padding:2rem 1rem;display:flex}.auth-page .brand{margin:0;font-size:1.8rem}.app{grid-template:"top top""side thread"minmax(0,1fr)/280px minmax(0,1fr);height:100dvh;display:grid}.topbar{border-bottom:1px solid var(--border);background:var(--surface);grid-area:top;align-items:center;gap:.75rem;padding:.6rem 1rem;display:flex}.topbar .who{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-left:auto;overflow:hidden}.dev-badge{border:1px dashed var(--muted);color:var(--muted);border-radius:999px;padding:.1rem .55rem;font-size:.75rem}.menu-toggle{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:8px;padding:.2rem .55rem;font-size:1rem;display:none}.sidebar{border-right:1px solid var(--border);background:var(--surface);grid-area:side;padding:.75rem;overflow-y:auto}.sidebar .new-conversation{text-align:center;margin-bottom:.75rem;display:block}.sidebar ul{margin:0;padding:0;list-style:none}.sidebar li a{color:var(--text);border-radius:8px;flex-direction:column;padding:.5rem .6rem;text-decoration:none;display:flex}.sidebar li a:hover{background:var(--surface-2)}.sidebar li a.current{background:var(--user-bubble)}.sidebar .title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar .when{color:var(--muted);font-size:.78rem}.thread{flex-direction:column;grid-area:thread;min-height:0;display:flex}.messages{flex-direction:column;flex:1;gap:.75rem;padding:1.25rem max(1rem,50% - 380px);display:flex;overflow-y:auto}.intro{color:var(--text);margin:auto 0}.intro h2{margin:0 0 .5rem;font-size:1.3rem}.message{border-radius:var(--radius);overflow-wrap:anywhere;max-width:100%;padding:.65rem .9rem}.message.user{background:var(--user-bubble);align-self:flex-end;max-width:min(85%,640px)}.message.user .text{white-space:pre-wrap}.message.assistant{background:var(--surface);border:1px solid var(--border);align-self:stretch}.message.pending{align-self:flex-start;align-items:center;gap:.6rem;display:flex}.message.stale{color:var(--muted);font-style:italic}.notice{text-align:center;max-width:100%;color:var(--muted);background:var(--surface-2);border-radius:12px;align-self:center;padding:.3rem .9rem;font-size:.9rem}.notice a{white-space:nowrap}.dots{gap:4px;display:inline-flex}.dots span{background:var(--muted);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite blink}.dots span:nth-child(2){animation-delay:.2s}.dots span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.25}40%{opacity:1}}@media (prefers-reduced-motion:reduce){.dots span{opacity:.6;animation:none}}.markdown>:first-child{margin-top:0}.markdown>:last-child{margin-bottom:0}.markdown pre,.markdown code{font-family:var(--mono);font-size:.9em}.markdown pre{background:var(--surface-2);border-radius:8px;padding:.6rem .75rem;overflow-x:auto}.markdown :not(pre)>code{background:var(--surface-2);border-radius:4px;padding:.05rem .3rem}.markdown table{border-collapse:collapse;display:block;overflow-x:auto}.markdown th,.markdown td{border:1px solid var(--border);text-align:left;padding:.25rem .55rem}.composer{border-top:1px solid var(--border);background:var(--surface);padding:.75rem max(1rem,50% - 380px)}.composer-row{align-items:flex-end;gap:.5rem;display:flex}.composer textarea{resize:none;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);font:inherit;flex:1;min-width:0;padding:.55rem .75rem}.composer textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}.attach{border:1px solid var(--border);color:var(--text);border-radius:var(--radius);cursor:pointer;background:0 0;flex:none;width:2.5rem;height:2.5rem;font-size:1.3rem}.chips{flex-wrap:wrap;gap:.4rem;margin:0 0 .5rem;padding:0;list-style:none;display:flex}.chips li{background:var(--surface-2);border-radius:999px;align-items:center;gap:.3rem;padding:.15rem .6rem;font-size:.85rem;display:inline-flex}.message.user .chips{margin:.4rem 0 0}.chips button{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:1rem;line-height:1}@media (max-width:760px){.app{grid-template-columns:minmax(0,1fr);grid-template-areas:"top""thread"}.menu-toggle{display:inline-block}.sidebar{display:none}.sidebar.open{z-index:10;border-right:0;display:block;position:fixed;inset:3.1rem 0 0}.message.user{max-width:92%}}.passkey-setup{flex-direction:column;align-items:center;gap:.75rem;max-width:28rem;display:flex}.passkey-setup h2{margin:0;font-size:1.2rem}.passkey-setup p{margin:0}.link-button{color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:0;text-decoration:underline}
