*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background .3s}:root{--bg-primary:#0a0a0a;--bg-secondary:#141414;--bg-bubble-user:#e8e8e8;--bg-bubble-assistant:#1a1a1a;--text-primary:#e8e8e8;--text-secondary:#888;--text-muted:#555;--text-user-bubble:#0a0a0a;--border:#1e1e1e;--accent:#2ecc71;--input-bg:#141414;--input-border:#2a2a2a;--button-bg:#e8e8e8;--button-text:#0a0a0a;--button-hover:#ccc;--button-disabled:#333;--button-disabled-text:#666;--error-bg:#dc26261a;--error-text:#ef4444;--avatar-bg:#e8e8e8;--avatar-text:#0a0a0a;--chip-bg:#141414;--chip-border:#2a2a2a;--chip-hover:#1e1e1e;--scrollbar:#333;--code-bg:#1e1e1e}[data-theme=light]{--bg-primary:#fafafa;--bg-secondary:#f0f0f0;--bg-bubble-user:#111;--bg-bubble-assistant:#f0f0f0;--text-primary:#111;--text-secondary:#555;--text-muted:#888;--text-user-bubble:#fafafa;--border:#e0e0e0;--accent:#2ecc71;--input-bg:#fff;--input-border:#ddd;--button-bg:#111;--button-text:#fafafa;--button-hover:#333;--button-disabled:#ccc;--button-disabled-text:#999;--error-bg:#fef2f2;--error-text:#dc2626;--avatar-bg:#111;--avatar-text:#fafafa;--chip-bg:#fff;--chip-border:#e0e0e0;--chip-hover:#f0f0f0;--scrollbar:#ccc;--code-bg:#e8e8e8}.chat-container{background:var(--bg-primary);max-width:768px;height:100vh;color:var(--text-primary);flex-direction:column;margin:0 auto;font-family:Sora,sans-serif;transition:background .3s,color .3s;display:flex}.chat-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.chat-header-left h1{letter-spacing:.15em;text-transform:lowercase;color:var(--text-primary);margin:0;font-family:DM Mono,monospace;font-size:1.1rem;font-weight:300}.chat-header-left p{color:var(--text-muted);letter-spacing:.05em;margin:4px 0 0;font-size:.75rem;font-weight:300}.chat-header-actions{align-items:center;gap:8px;display:flex}.theme-toggle{border:1px solid var(--border);width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;font-size:.9rem;transition:all .15s;display:flex}.theme-toggle:hover{color:var(--text-primary);border-color:var(--text-muted)}.reset-button{letter-spacing:.05em;color:var(--text-muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;padding:6px 14px;font-family:DM Mono,monospace;font-size:.7rem;font-weight:400;transition:all .15s}.reset-button:hover{color:var(--text-primary);border-color:var(--text-muted)}.chat-messages{flex-direction:column;flex:1;gap:16px;padding:24px;display:flex;overflow-y:auto}.welcome-section{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:24px;animation:.8s ease-out fadeUp;display:flex}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.welcome-text h2{letter-spacing:.1em;color:var(--text-primary);margin:0 0 8px;font-family:DM Mono,monospace;font-size:1.2rem;font-weight:300}.welcome-text p{color:var(--text-muted);margin:0;font-size:.85rem;font-weight:300}.suggested-questions{flex-wrap:wrap;justify-content:center;gap:8px;max-width:560px;display:flex}.suggestion-chip{color:var(--text-secondary);background:var(--chip-bg);border:1px solid var(--chip-border);cursor:pointer;border-radius:20px;padding:10px 16px;font-family:Sora,sans-serif;font-size:.8rem;font-weight:300;transition:all .2s}.suggestion-chip:hover{background:var(--chip-hover);border-color:var(--text-muted);color:var(--text-primary)}.message{align-items:flex-start;gap:10px;display:flex}.message-user{justify-content:flex-end}.message-avatar{background:var(--avatar-bg);width:30px;height:30px;color:var(--avatar-text);letter-spacing:.05em;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-family:DM Mono,monospace;font-size:.6rem;font-weight:400;display:flex}.message-bubble{word-wrap:break-word;border-radius:14px;max-width:75%;padding:12px 16px;font-size:.85rem;font-weight:300;line-height:1.6}.bubble-user{background:var(--bg-bubble-user);color:var(--text-user-bubble);border-bottom-right-radius:4px}.bubble-assistant{background:var(--bg-bubble-assistant);color:var(--text-primary);border-bottom-left-radius:4px}.bubble-assistant p{margin:0 0 8px}.bubble-assistant p:last-child{margin-bottom:0}.bubble-assistant ul,.bubble-assistant ol{margin:4px 0 8px;padding-left:20px}.bubble-assistant li{margin:2px 0}.bubble-assistant strong{font-weight:600}.bubble-assistant code{background:var(--code-bg);border-radius:3px;padding:1px 5px;font-family:DM Mono,monospace;font-size:.8em}.typing-cursor{background:var(--text-muted);vertical-align:text-bottom;width:2px;height:1em;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.typing-indicator{gap:4px;padding:4px 0;display:flex}.typing-indicator span{background:var(--text-muted);border-radius:50%;width:5px;height:5px;animation:1.4s ease-in-out infinite bounce}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,80%,to{opacity:.4;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.error-message{text-align:center;color:var(--error-text);background:var(--error-bg);border-radius:8px;padding:8px 16px;font-size:.8rem;font-weight:300}.input-bar{border-top:1px solid var(--border);gap:8px;padding:16px 24px;display:flex}.input-bar textarea{color:var(--text-primary);background:var(--input-bg);border:1px solid var(--input-border);resize:none;border-radius:10px;outline:none;flex:1;padding:10px 16px;font-family:Sora,sans-serif;font-size:.85rem;font-weight:300;line-height:1.4;transition:border-color .15s}.input-bar textarea::placeholder{color:var(--text-muted)}.input-bar textarea:focus{border-color:var(--text-muted)}.input-bar textarea:disabled{opacity:.5}.input-bar button{letter-spacing:.05em;color:var(--button-text);background:var(--button-bg);cursor:pointer;border:none;border-radius:10px;padding:10px 20px;font-family:DM Mono,monospace;font-size:.8rem;font-weight:400;transition:background .15s}.input-bar button:hover:not(:disabled){background:var(--button-hover)}.input-bar button:disabled{background:var(--button-disabled);color:var(--button-disabled-text);cursor:not-allowed}.chat-messages::-webkit-scrollbar{width:4px}.chat-messages::-webkit-scrollbar-track{background:0 0}.chat-messages::-webkit-scrollbar-thumb{background:var(--scrollbar);border-radius:2px}@media (width<=640px){.chat-container{max-width:100%}.chat-header{padding:12px 16px}.chat-messages{padding:16px}.input-bar{padding:12px 16px}.message-bubble{max-width:85%}}
