:root{--bg: #1f1f2e;--bg-soft: #2a2a3c;--text: #e8e8f0;--muted: #9a9ab0;--accent: #7f5af0;--accent-2: #ff7eb3;--user-bubble: #7f5af0;--assistant-bubble: #2a2a3c;--border: #3a3a4e}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased}.app{display:flex;flex-direction:column;height:100%;max-width:760px;margin:0 auto}.header{padding:14px 16px 10px;border-bottom:1px solid var(--border);background:#1f1f2ee6;position:sticky;top:0}.header .title{font-size:18px;font-weight:700;background:linear-gradient(90deg,var(--accent-2),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}.header .subtitle{font-size:11px;color:var(--muted);margin-top:2px}.chat{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.row{display:flex}.row.user{justify-content:flex-end}.row.assistant{justify-content:flex-start}.bubble{max-width:82%;padding:10px 14px;border-radius:16px;line-height:1.6;word-break:break-word;white-space:pre-wrap}.row.user .bubble{background:var(--user-bubble);border-bottom-right-radius:4px}.row.assistant .bubble{background:var(--assistant-bubble);border:1px solid var(--border);border-bottom-left-radius:4px}.reasoning-toggle{display:block;background:none;border:none;color:var(--muted);font-size:12px;cursor:pointer;padding:0 0 6px}.reasoning{font-size:13px;color:var(--muted);background:#ffffff0a;border-left:2px solid var(--border);padding:8px 10px;margin-bottom:8px;border-radius:6px;white-space:pre-wrap}.content{font-size:15px}.cursor{animation:blink 1s step-end infinite;color:var(--accent-2)}@keyframes blink{50%{opacity:0}}.error{align-self:center;color:#ff8a8a;font-size:13px}.composer{display:flex;gap:8px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--bg)}.composer textarea{flex:1;resize:none;background:var(--bg-soft);color:var(--text);border:1px solid var(--border);border-radius:12px;padding:10px 12px;font-size:15px;font-family:inherit;line-height:1.5;max-height:120px}.composer textarea:focus{outline:none;border-color:var(--accent)}.composer button{background:var(--accent);color:#fff;border:none;border-radius:12px;padding:0 18px;font-size:15px;cursor:pointer}.composer button:disabled{opacity:.4;cursor:not-allowed}
