:root{color-scheme:light dark;--bg: #f7f7f5;--surface: #ffffff;--text: #1d1d1b;--muted: #6b6b66;--border: #d9d9d4;--accent: #2f5bd3;--accent-text: #ffffff;--error-bg: #fdecec;--error-text: #a12020;--code-bg: #f0f0ec;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:16px;line-height:1.5}@media(prefers-color-scheme:dark){:root{--bg: #161615;--surface: #1f1f1e;--text: #ececea;--muted: #9b9b96;--border: #3a3a37;--accent: #6f8ff0;--accent-text: #0e0e0d;--error-bg: #3a1c1c;--error-text: #f2a7a7;--code-bg: #2a2a28}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}h1{font-size:1.25rem;margin:0}button{font:inherit;padding:.5rem 1rem;border-radius:6px;border:1px solid var(--accent);background:var(--accent);color:var(--accent-text);cursor:pointer}button.secondary{background:transparent;color:var(--text);border-color:var(--border)}button:disabled{opacity:.5;cursor:default}button.small{padding:.2rem .6rem;font-size:.85rem}label.button{display:inline-block;padding:.5rem 1rem;border-radius:6px;border:1px solid var(--border);color:var(--text);cursor:pointer}label.button.disabled{opacity:.5;cursor:default;pointer-events:none}input,textarea{font:inherit;width:100%;padding:.6rem .75rem;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text)}textarea{resize:vertical}.error{background:var(--error-bg);color:var(--error-text);padding:.6rem .75rem;border-radius:6px;margin:0}.login{max-width:360px;margin:12vh auto 0;padding:0 16px}.login h1{margin-bottom:1.5rem}.login form{display:grid;gap:1rem}.login label{display:grid;gap:.35rem;color:var(--muted);font-size:.9rem}.bar{display:flex;align-items:center;justify-content:space-between;max-width:1180px;margin:0 auto;padding:1rem 16px}.muted{color:var(--muted);font-size:.9rem;margin:0}.layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:1.5rem;max-width:1180px;margin:0 auto;padding:0 16px 3rem;align-items:start}@media(max-width:760px){.layout{grid-template-columns:minmax(0,1fr)}}.sidebar{display:grid;gap:.75rem;align-content:start}.chat-list{list-style:none;margin:0;padding:0;max-height:60vh;overflow-y:auto;border:1px solid var(--border);border-radius:6px;background:var(--surface)}.chat-list li{display:flex;align-items:center;gap:.25rem;padding:.2rem .4rem .2rem 0;border-top:1px solid var(--border)}.chat-list li:first-child{border-top:none}.chat-list li.active{background:var(--code-bg)}.chat-list li .small{visibility:hidden}.chat-list li:hover .small,.chat-list li.active .small,.chat-list li .small:focus{visibility:visible}button.link{flex:1;min-width:0;text-align:left;background:transparent;border:none;color:var(--text);padding:.45rem .75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat{display:grid;gap:1rem;min-width:0}.message{display:grid;gap:.4rem}.message.user{justify-self:end;max-width:85%;background:var(--code-bg);border-radius:8px;padding:.6rem .9rem}.user-text{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem}.chips li{font-size:.8rem;color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:.05rem .55rem}.message-actions{display:flex;gap:.75rem;align-items:center;justify-content:flex-end}.chat.dragging{outline:2px dashed var(--accent);outline-offset:8px;border-radius:8px}.files{list-style:none;margin:0;padding:0;border:1px solid var(--border);border-radius:6px;background:var(--surface)}.files li{display:flex;align-items:center;gap:.75rem;padding:.4rem .75rem;border-top:1px solid var(--border)}.files li:first-child{border-top:none}.file-name{flex:1;min-width:0;overflow-wrap:anywhere}.file-size,.files-total{color:var(--muted);font-size:.9rem;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.status{color:var(--muted);font-size:.9rem}.output{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.25rem 1.25rem;overflow-wrap:anywhere}.output pre{background:var(--code-bg);padding:.75rem;border-radius:6px;overflow-x:auto}.output code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.9em}.output :not(pre)>code{background:var(--code-bg);padding:.1em .3em;border-radius:4px}.output table{border-collapse:collapse;display:block;overflow-x:auto}.output th,.output td{border:1px solid var(--border);padding:.3rem .6rem}.output a{color:var(--accent)}
