*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--bg: #0a0a0a;--surface: #141414;--surface-2: #1c1c1c;--border: #272727;--text: #e4e4e7;--text-muted: #52525b;--accent: #7c3aed;--accent-light: #a78bfa;--user-bg: #1a1a2e;--user-border: #2a2a4a;--radius: 14px}html,body,#root{height:100%}body{font-family:Outfit,sans-serif;background:var(--bg);color:var(--text);overflow:hidden}.app{display:flex;flex-direction:column;height:100vh;max-width:760px;margin:0 auto}header{padding:18px 24px;border-bottom:1px solid var(--border);flex-shrink:0}.logo{font-size:1.2rem;font-weight:600;background:linear-gradient(135deg,var(--accent),var(--accent-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.01em}.messages{flex:1;overflow-y:auto;padding:32px 16px;display:flex;flex-direction:column;gap:24px}.empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center}.empty h2{font-size:1.6rem;font-weight:500;color:var(--text)}.empty p{color:var(--text-muted);font-size:.9rem}.message{display:flex;align-items:flex-start;gap:12px}.message.user{flex-direction:row-reverse}.avatar{width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,var(--accent),var(--accent-light));display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;color:#fff;flex-shrink:0;margin-top:2px}.bubble{max-width:78%;padding:12px 16px;border-radius:var(--radius);line-height:1.65;font-size:.95rem;white-space:pre-wrap;word-break:break-word}.message.user .bubble{background:var(--user-bg);border:1px solid var(--user-border);border-radius:var(--radius) 4px var(--radius) var(--radius)}.message.assistant .bubble{background:transparent;padding-left:0}.message.assistant .bubble p{margin-bottom:.75em}.message.assistant .bubble p:last-child{margin-bottom:0}.message.assistant .bubble h1,.message.assistant .bubble h2,.message.assistant .bubble h3{margin:1em 0 .4em;font-weight:600;line-height:1.3}.message.assistant .bubble h1{font-size:1.2em}.message.assistant .bubble h2{font-size:1.1em}.message.assistant .bubble h3{font-size:1em}.message.assistant .bubble ul,.message.assistant .bubble ol{padding-left:1.4em;margin-bottom:.75em}.message.assistant .bubble li{margin-bottom:.25em}.message.assistant .bubble code{background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:.1em .4em;font-size:.88em;font-family:Courier New,monospace}.message.assistant .bubble pre{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:12px 16px;overflow-x:auto;margin-bottom:.75em}.message.assistant .bubble pre code{background:none;border:none;padding:0;font-size:.88em}.message.assistant .bubble blockquote{border-left:3px solid var(--accent);padding-left:12px;color:var(--text-muted);margin:.5em 0}.message.assistant .bubble a{color:var(--accent-light);text-decoration:underline}.message.assistant .bubble strong{font-weight:600}.message.assistant .bubble hr{border:none;border-top:1px solid var(--border);margin:1em 0}.cursor{display:inline-block;width:2px;height:1em;background:var(--accent-light);margin-left:1px;vertical-align:text-bottom;animation:blink .9s infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.input-area{padding:12px 16px 20px;flex-shrink:0}.input-wrapper{display:flex;align-items:flex-end;gap:8px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:8px 8px 8px 16px;transition:border-color .2s}.input-wrapper:focus-within{border-color:var(--accent)}textarea{flex:1;background:transparent;border:none;color:var(--text);font-family:Outfit,sans-serif;font-size:.95rem;line-height:1.6;outline:none;resize:none;max-height:200px;overflow-y:auto;padding:4px 0}textarea::placeholder{color:var(--text-muted)}button{background:var(--accent);border:none;border-radius:8px;color:#fff;cursor:pointer;width:34px;height:34px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:opacity .2s,background .2s}button:hover:not(:disabled){background:var(--accent-light)}button:disabled{opacity:.3;cursor:not-allowed}.disclaimer{text-align:center;font-size:.75rem;color:var(--text-muted);margin-top:10px}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}
