:root{color-scheme:dark;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#08111f;color:#e7eef8}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top left,rgba(37,99,235,.28),transparent 28%),radial-gradient(circle at top right,rgba(244,114,182,.16),transparent 24%),linear-gradient(180deg,#07101c,#0b1627)}button,textarea{font:inherit}#root{min-height:100vh}.app-shell{display:flex;min-height:100vh;justify-content:center;padding:24px}.chat-panel{display:grid;grid-template-rows:auto auto 1fr auto;width:min(980px,100%);min-height:calc(100vh - 48px);border:1px solid rgba(148,163,184,.18);border-radius:24px;background:#080f1cd6;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 24px 80px #0f172a73;overflow:hidden}.chat-header{display:flex;justify-content:space-between;gap:16px;padding:24px;border-bottom:1px solid rgba(148,163,184,.14)}.chat-header h1{margin:4px 0 0;font-size:clamp(1.5rem,4vw,2.25rem)}.eyebrow{margin:0;color:#7dd3fc;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase}.status-stack{display:grid;gap:10px;align-content:start;justify-items:end}.status-stack code{padding:6px 10px;border-radius:999px;background:#0f172ae6;color:#93c5fd;font-size:.8rem}.connection-badge{padding:6px 12px;border-radius:999px;text-transform:capitalize;font-size:.8rem;border:1px solid transparent}.state-connected{background:#10b9811f;color:#6ee7b7;border-color:#10b98138}.state-connecting,.state-reconnecting,.state-booting{background:#facc151f;color:#fde68a;border-color:#facc1538}.state-failed{background:#f871711f;color:#fca5a5;border-color:#f8717138}.error-banner{margin:16px 24px 0;padding:14px 16px;border-radius:16px;background:#dc26261f;color:#fecaca;border:1px solid rgba(248,113,113,.28)}.messages{display:flex;flex-direction:column;gap:16px;padding:24px;overflow-y:auto}.empty-state{display:grid;place-items:center;min-height:240px;padding:24px;border:1px dashed rgba(125,211,252,.24);border-radius:20px;color:#bfdbfe;text-align:center}.message{max-width:min(720px,100%);padding:16px 18px;border-radius:20px}.message-user{align-self:flex-end;background:linear-gradient(135deg,#3b82f63d,#0ea5e92e);border:1px solid rgba(96,165,250,.26)}.message-assistant{align-self:flex-start;background:#0f172ae6;border:1px solid rgba(148,163,184,.14)}.message-meta{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px;color:#94a3b8;font-size:.8rem}.message-body p,.message-body pre,.message-body ul,.message-body ol{margin:0}.message-body>*+*{margin-top:.85rem}.message-body pre{overflow-x:auto;padding:12px;border-radius:12px;background:#020617d9}.message-body code{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.message-streaming{margin-top:12px;color:#7dd3fc;font-size:.8rem}.composer{display:grid;gap:14px;padding:24px;border-top:1px solid rgba(148,163,184,.14);background:#02061752}.composer textarea{width:100%;resize:vertical;min-height:100px;padding:16px;border:1px solid rgba(148,163,184,.18);border-radius:18px;background:#0f172ae0;color:inherit}.composer textarea:focus{outline:2px solid rgba(96,165,250,.3);border-color:#60a5fa70}.composer-actions{display:flex;justify-content:space-between;gap:16px;align-items:center}.composer-actions p{margin:0;color:#94a3b8;font-size:.9rem}.composer button{border:0;border-radius:999px;padding:12px 22px;background:linear-gradient(135deg,#38bdf8,#6366f1);color:#fff;font-weight:700;cursor:pointer}.composer button:disabled{opacity:.45;cursor:not-allowed}@media (max-width: 720px){.app-shell{padding:0}.chat-panel{min-height:100vh;border-radius:0;width:100%}.chat-header,.messages,.composer{padding:18px}.chat-header,.composer-actions{flex-direction:column;align-items:flex-start}.status-stack{justify-items:start}}
