:root{--bg:#fff;--surface:#f4f4f5;--border:#e4e4e7;--text:#18181b;--muted:#71717a;--accent:#18181b;--accent-fg:#fafafa;--radius:14px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.5}:root[data-accent=violet]{--accent:#6d5dfc;--accent-fg:#fff}:root[data-accent=blue]{--accent:#2563eb;--accent-fg:#fff}:root[data-theme=dark]{--bg:#0b0b0d;--surface:#1c1c20;--border:#2a2a30;--text:#f4f4f5;--muted:#a1a1aa;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=dark][data-accent=graphite]{--accent:#fafafa;--accent-fg:#18181b}:root[data-theme=dark][data-accent=violet]{--accent:#7c6efd}:root[data-theme=dark][data-accent=blue]{--accent:#3b82f6}@media (prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=dark]){--bg:#0b0b0d;--surface:#1c1c20;--border:#2a2a30;--text:#f4f4f5;--muted:#a1a1aa;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root:not([data-theme=light]):not([data-theme=dark])[data-accent=graphite]{--accent:#fafafa;--accent-fg:#18181b}:root:not([data-theme=light]):not([data-theme=dark])[data-accent=violet]{--accent:#7c6efd}:root:not([data-theme=light]):not([data-theme=dark])[data-accent=blue]{--accent:#3b82f6}}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);margin:0}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.muted{color:var(--muted)}.notice{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:100%;padding:24px 16px;display:flex}.notice-title{margin:0;font-size:1.25rem;font-weight:600}.notice p{max-width:32rem;margin:0}.chat{flex-direction:column;max-width:48rem;height:100%;margin:0 auto;display:flex}.chat-header{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:16px;display:flex}.tile{background:var(--accent);width:36px;height:36px;color:var(--accent-fg);letter-spacing:.02em;border-radius:10px;flex:none;place-items:center;font-size:.875rem;font-weight:600;display:inline-grid}.chat-title{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1.0625rem;font-weight:600;overflow:hidden}.chat-messages{flex-direction:column;flex:1;gap:12px;padding:20px 16px;display:flex;overflow-y:auto}.message{display:flex}.message-assistant{justify-content:flex-start}.message-user{justify-content:flex-end}.bubble{border-radius:var(--radius);background:var(--surface);white-space:pre-wrap;overflow-wrap:anywhere;border-top-left-radius:4px;max-width:min(36rem,85%);margin:0;padding:10px 14px}.message-user .bubble{border-top-left-radius:var(--radius);background:var(--accent);color:var(--accent-fg);border-top-right-radius:4px}.bubble-typing{align-items:center;gap:4px;min-height:44px;display:inline-flex}.dot{background:var(--muted);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite blink}.dot:nth-child(3){animation-delay:.2s}.dot:nth-child(4){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.25}40%{opacity:1}}@media (prefers-reduced-motion:reduce){.dot{opacity:.6;animation:none}}.error-banner{color:#8a1c1c;background:#fdecec;border:1px solid #f1b5b5;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;padding:8px 12px;font-size:.9375rem;display:flex}:root[data-theme=dark] .error-banner{color:#f6c4c4;background:#2a1414;border-color:#6b2727}@media (prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=dark]) .error-banner{color:#f6c4c4;background:#2a1414;border-color:#6b2727}}.error-retry{color:inherit;font:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:8px;flex:none;padding:4px 12px;font-weight:600}.chat-composer{padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--border)}.composer{align-items:flex-end;gap:8px;display:flex}.composer-input{resize:none;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);min-width:0;color:var(--text);font:inherit;flex:1;max-height:12rem;padding:10px 14px;overflow-y:auto}.composer-input:disabled{background:var(--surface);cursor:not-allowed}.composer-send{border-radius:var(--radius);background:var(--accent);color:var(--accent-fg);font:inherit;cursor:pointer;border:0;flex:none;padding:10px 16px;font-weight:600}.composer-send:disabled{opacity:.45;cursor:not-allowed}.composer-send:focus-visible,.sign-in-option:focus-visible,.viewer-sign-out:focus-visible,.error-retry:focus-visible,.composer-input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.composer-note{color:var(--muted);text-align:center;margin:4px 0;font-size:.8125rem}.sign-in{flex-direction:column;align-items:center;gap:8px;display:flex}.sign-in-options{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.sign-in-option{border-radius:var(--radius);background:var(--accent);color:var(--accent-fg);padding:10px 16px;font-weight:600;text-decoration:none}.viewer{align-items:center;gap:10px;min-width:0;margin-left:auto;font-size:.875rem;display:flex}.viewer-name{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.viewer-sign-out{border:1px solid var(--border);color:var(--text);font:inherit;cursor:pointer;background:0 0;border-radius:8px;flex:none;padding:4px 10px}
