:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#fafaf9;--panel:#fff;--border:#e5e7eb;--text:#111827;--muted:#6b7280;--accent:#639;--accent-hover:#522880;--user-bg:#639;--user-fg:#fff;--assistant-bg:#f3f4f6;--tool-bg:#fff7ed;--tool-border:#fdba74;--error-bg:#fef2f2;--error-fg:#b91c1c;--shadow:0 1px 2px #0000000a, 0 8px 24px #0000000a}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=dark]{--bg:#0b0d10;--panel:#131619;--border:#25292e;--text:#e5e7eb;--muted:#9ca3af;--accent:#8b5cb8;--accent-hover:#a07cc8;--user-bg:#639;--user-fg:#fff;--assistant-bg:#1c2025;--tool-bg:#2a1d10;--tool-border:#b45309;--error-bg:#2a1212;--error-fg:#fca5a5;--shadow:0 1px 2px #0006, 0 8px 24px #0000004d}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,system-ui,sans-serif;font-size:14px;line-height:1.5}.app{flex-direction:column;max-width:820px;height:100vh;margin:0 auto;display:flex}.app-header{border-bottom:1px solid var(--border);background:var(--panel);justify-content:space-between;align-items:baseline;gap:12px;padding:14px 20px;display:flex}.brand{align-items:center;gap:10px;display:flex}.brand .dot{background:var(--accent);border-radius:50%;width:10px;height:10px;box-shadow:0 0 0 4px #6633992e}.brand h1{letter-spacing:-.01em;margin:0;font-size:15px;font-weight:600}.app-header .sub{color:var(--muted);font-size:12px}.header-right{align-items:center;gap:10px;display:flex}.theme-toggle{border:1px solid var(--border);background:var(--bg);width:30px;height:30px;color:var(--muted);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:0;transition:color .15s,border-color .15s,background-color .15s;display:inline-flex}.theme-toggle:hover{color:var(--text);border-color:var(--accent)}.theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.theme-toggle svg{width:16px;height:16px}.messages{flex-direction:column;flex:1;gap:12px;padding:20px;display:flex;overflow-y:auto}.empty{text-align:center;color:var(--muted);max-width:360px;margin:auto}.empty h2{color:var(--text);margin:0 0 6px;font-size:18px;font-weight:600}.empty p{margin:0;font-size:13px}.msg{display:flex}.msg.user{justify-content:flex-end}.msg .bubble{white-space:pre-wrap;word-wrap:break-word;max-width:80%;box-shadow:var(--shadow);border-radius:14px;padding:10px 14px;font-size:14px;line-height:1.45}.msg.user .bubble{background:var(--user-bg);color:var(--user-fg);border-bottom-right-radius:4px}.msg.assistant .bubble{background:var(--assistant-bg);border-bottom-left-radius:4px}.bubble.error{background:var(--error-bg);color:var(--error-fg);border:1px solid var(--error-fg)}.part{display:block}.part.tool{background:var(--tool-bg);border:1px dashed var(--tool-border);color:var(--muted);border-radius:8px;margin-top:8px;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Cascadia Mono,monospace;font-size:12px}.part.tool .tool-name{color:var(--text);margin-bottom:4px;font-weight:600}.part.tool pre{white-space:pre-wrap;word-wrap:break-word;margin:4px 0 0}.bubble.typing{align-items:center;gap:4px;padding:12px 16px;display:inline-flex}.bubble.typing span{background:var(--muted);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite bounce}.bubble.typing span:nth-child(2){animation-delay:.2s}.bubble.typing span:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,80%,to{opacity:.4;transform:translateY(0)}40%{opacity:1;transform:translateY(-6px)}}.composer{border-top:1px solid var(--border);background:var(--panel);gap:8px;padding:12px 16px;display:flex}.composer textarea{resize:none;border:1px solid var(--border);font:inherit;background:var(--bg);color:var(--text);border-radius:10px;outline:none;flex:1;min-height:40px;max-height:160px;padding:10px 12px;font-size:14px;transition:border-color .15s}.composer textarea:focus{border-color:var(--accent)}.composer button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:10px;padding:0 18px;font-size:14px;font-weight:600;transition:background-color .15s}.composer button:hover:not(:disabled){background:var(--accent-hover)}.composer button:disabled{opacity:.5;cursor:not-allowed}.hint{color:var(--muted);text-align:center;padding:8px 16px 12px;font-size:11px}.hint code{background:var(--assistant-bg);border-radius:4px;padding:1px 6px;font-size:11px}
