:root{color-scheme:dark;--bg:#07111f;--panel:rgba(11,20,35,0.82);--panel-border:rgba(148,163,184,0.18);--text:#e5eefc;--muted:#94a3b8;--accent:#7dd3fc;--accent-2:#f59e0b;--user:#17304d;--assistant:#10263b}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:radial-gradient(circle at top,rgba(125,211,252,.18),transparent 30%),radial-gradient(circle at bottom right,rgba(245,158,11,.12),transparent 26%),var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,textarea{font:inherit}.shell{min-height:100vh;display:grid;place-items:center;padding:24px}.card{width:min(920px,100%);background:var(--panel);border:1px solid var(--panel-border);border-radius:28px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 24px 80px rgba(0,0,0,.35);padding:28px}.hero h1{margin:8px 0 0;font-size:clamp(2rem,4vw,3.5rem)}.eyebrow{margin:0;color:var(--accent);text-transform:uppercase;letter-spacing:.16em;font-size:.75rem}.subtitle{margin:10px 0 0;color:var(--muted)}.chat{margin-top:24px;display:grid;grid-gap:12px;gap:12px;max-height:52vh;overflow:auto;padding-right:6px}.bubble{border-radius:20px;padding:16px;border:1px solid rgba(255,255,255,.08)}.bubble.user{margin-left:8%;background:linear-gradient(180deg,rgba(23,48,77,.9),rgba(19,39,60,.9))}.bubble.assistant{margin-right:8%;background:linear-gradient(180deg,rgba(16,38,59,.95),rgba(10,27,43,.95))}.role{display:inline-block;margin-bottom:8px;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:var(--accent-2)}.bubble p{margin:0;white-space:pre-wrap;line-height:1.6}.composer{margin-top:18px;display:grid;grid-template-columns:1fr auto;grid-gap:12px;gap:12px}.composer textarea{width:100%;resize:vertical;min-height:88px;color:var(--text);background:rgba(2,6,23,.6);border:1px solid rgba(148,163,184,.2);border-radius:18px;padding:14px 16px;outline:none}.composer textarea:focus{border-color:rgba(125,211,252,.6);box-shadow:0 0 0 3px rgba(125,211,252,.14)}.composer button{align-self:end;padding:14px 20px;border:0;border-radius:16px;background:linear-gradient(135deg,#38bdf8,#f59e0b);color:#05111f;font-weight:700;cursor:pointer}.composer button:disabled{opacity:.6;cursor:wait}.error{margin:16px 0 0;color:#fca5a5}@media (max-width:720px){.card{padding:18px;border-radius:20px}.composer{grid-template-columns:1fr}.composer button{width:100%}.bubble.assistant,.bubble.user{margin-left:0;margin-right:0}}