:root{--bg:#f5f7fb;--panel:#ffffff;--ink:#0f172a;--muted:#6b7280;--accent:#0c78f4;--accent2:#0549cf;--border:#e4e8f0;--user-bubble:#f2fbff;--asst-bubble:#fdf7ed;--radius:18px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.6 OpenAI Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.chat-wrap{height:100%;display:grid;grid-template-rows:auto 1fr auto;gap:16px;padding:24px clamp(16px,4vw,48px)}.topbar{display:flex;align-items:center;gap:14px;padding:16px 20px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);box-shadow:0 8px 24px #0f172a0d}.brand-icon{width:40px;height:40px;border-radius:12px;overflow:hidden;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;background:#f0f4ff}.brand-icon img{width:100%;height:100%;object-fit:cover}.topbar .title{font-size:1.1rem;font-weight:700}.topbar .sub{color:var(--muted);font-size:.9rem}.topbar .spacer{flex:1}.pill{font-size:.85rem;color:var(--muted);border:1px dashed var(--border);padding:4px 12px;border-radius:999px}.ghost{background:transparent;border:1px solid var(--border);color:var(--ink);border-radius:10px;padding:8px 14px;cursor:pointer;transition:background .2s}.ghost:hover{background:#0c78f414}.messages{overflow:auto;padding:28px 20px;display:flex;flex-direction:column;gap:18px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);box-shadow:0 12px 28px #0f172a0d}.start-screen{text-align:center;color:var(--muted);padding:24px;border:1px dashed var(--border);border-radius:var(--radius);background:linear-gradient(145deg,#fff,#f7fbff)}.start-avatar{width:72px;height:72px;margin:0 auto 12px;border-radius:24px;overflow:hidden;border:1px solid var(--border)}.start-avatar img{width:100%;height:100%;object-fit:cover}.start-title{font-size:1.1rem;color:var(--ink);font-weight:700;margin-bottom:8px}.prompt-chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:16px}.prompt-chip{border:1px solid var(--border);border-radius:999px;padding:8px 16px;background:#fff;color:var(--ink);cursor:pointer;font-size:.9rem;transition:all .2s}.prompt-chip:hover{border-color:var(--accent);color:var(--accent);box-shadow:0 4px 10px #0c78f426}.bubble-row{display:flex;gap:12px;align-items:flex-end}.bubble-row.user-row{flex-direction:row-reverse}.avatar{width:40px;height:40px;border-radius:14px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;background:#f0f4ff;flex-shrink:0}.avatar.asst{background:#fff;padding:2px}.avatar.asst img{width:100%;height:100%;object-fit:cover;border-radius:12px}.avatar.user{background:#0c78f41a}.avatar.user svg{width:22px;height:22px;stroke:var(--accent);stroke-width:1.5;fill:none}.avatar.user svg circle{fill:#0c78f414}.bubble{max-width:680px;width:fit-content;padding:14px 16px;border-radius:18px;border:1px solid var(--border);background:var(--user-bubble);white-space:pre-wrap;word-break:break-word;line-height:1.5;box-shadow:0 8px 20px #0f172a14}.bubble.user{background:var(--user-bubble);border-color:#cfe5ff}.bubble.asst{background:var(--asst-bubble);border-color:#ffe3bd}.bubble-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.bubble-action-btn{display:inline-flex;align-items:center;gap:6px;background:transparent;border:none;color:var(--muted);font-size:.78rem;padding:6px 10px;border-radius:999px;cursor:pointer;transition:color .2s,background .2s}.bubble-action-btn svg{width:16px;height:16px;stroke:currentColor;stroke-width:1.7;fill:none}.bubble-action-btn:hover{color:var(--accent);background:#0c78f414}.bubble-action-btn[data-active=true]{color:var(--accent2);background:#0549cf1f}.bubble-action-btn[data-success=true]{color:var(--accent2)}.bubble.typing{display:flex;gap:6px;align-items:center;min-width:60px}.bubble.typing .dot1,.bubble.typing .dot2,.bubble.typing .dot3{width:7px;height:7px;border-radius:50%;background:var(--muted);opacity:.7;animation:b 1.4s infinite}.bubble.typing .dot2{animation-delay:.15s}.bubble.typing .dot3{animation-delay:.3s}@keyframes b{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-4px)}}.bottom{border:1px solid var(--border);border-radius:var(--radius);padding:12px;background:var(--panel);box-shadow:0 12px 24px #0f172a0d}.composer{display:flex;gap:12px;align-items:flex-end}.composer textarea{flex:1;background:#f8fbff;color:var(--ink);border:1px solid var(--border);border-radius:16px;outline:none;resize:none;padding:12px 14px;max-height:160px;min-height:48px;font-family:inherit}.composer textarea::placeholder{color:var(--muted)}.composer button{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;border:none;border-radius:14px;padding:12px 18px;font-weight:600;cursor:pointer;box-shadow:0 12px 20px #0c78f440;transition:transform .2s}.composer button:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.composer button:not(:disabled):hover{transform:translateY(-1px)}
