:root{--bg:#0b1020;--bg2:#0f1730;--surface:#161f38;--surface2:#1d2745;--line:#263255;--text:#eaeefb;--muted:#94a1c2;--accent:#f5836b;--accent-soft:#f5836b24;--ok:#6ee7b7;--radius:16px;--maxw:760px}*{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}body{background:radial-gradient(1100px 700px at 80% -10%, #f5836b1a, transparent 60%), radial-gradient(900px 600px at -10% 110%, #5e82ff1a, transparent 55%), linear-gradient(180deg, var(--bg), var(--bg2));color:var(--text);-webkit-font-smoothing:antialiased;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.wordmark{letter-spacing:-.02em;font-size:22px;font-weight:700}.wordmark .o{color:var(--accent)}.muted{color:var(--muted)}.error{color:#ff9a8a;margin:4px 0 0;font-size:14px}.center{place-items:center;min-height:100dvh;padding:24px;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:20px;width:100%;max-width:380px;padding:28px;box-shadow:0 20px 60px #00000059}.card h1{margin:6px 0 2px;font-size:22px}.card .sub{color:var(--muted);margin:0 0 20px;font-size:14px}form{flex-direction:column;gap:14px;display:flex}label{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;display:flex}input{background:var(--bg);border:1px solid var(--line);color:var(--text);border-radius:12px;outline:none;padding:12px 14px;font-size:15px}input:focus{border-color:var(--accent)}button.primary{background:var(--accent);color:#241009;cursor:pointer;border:0;border-radius:999px;margin-top:4px;padding:12px 16px;font-size:15px;font-weight:700}button.primary:disabled{opacity:.6;cursor:default}.shell{flex-direction:column;height:100dvh;display:flex}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0b1020b8;justify-content:space-between;align-items:center;padding:14px 20px;display:flex;position:sticky;top:0}.topbar .who{color:var(--muted);font-size:13px}.linkbtn{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:13px}.linkbtn:hover{color:var(--text)}.stream{flex:1;overflow-y:auto}.thread{max-width:var(--maxw);flex-direction:column;gap:12px;margin:0 auto;padding:22px 18px 8px;display:flex}.intro{text-align:center;color:var(--muted);padding:48px 12px}.intro h2{color:var(--text);margin:0 0 8px;font-size:20px}.intro p{max-width:40ch;margin:0 auto;line-height:1.5}.row{display:flex}.row.you{justify-content:flex-end}.row.coach{justify-content:flex-start}.bubble{white-space:pre-wrap;word-wrap:break-word;max-width:82%;padding:11px 15px;font-size:15.5px;line-height:1.5}.you .bubble{background:var(--accent-soft);border:1px solid #f5836b47;border-radius:16px 16px 4px}.coach .bubble{background:var(--surface);border:1px solid var(--line);border-radius:16px 16px 16px 4px}.status{color:var(--muted);padding:2px 4px;font-size:13px}.dots span{animation:1.4s infinite both blink}.dots span:nth-child(2){animation-delay:.2s}.dots span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.25}40%{opacity:1}}.composer{border-top:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0b1020b8}.composer-inner{max-width:var(--maxw);align-items:flex-end;gap:10px;margin:0 auto;padding:12px 16px;display:flex}textarea{resize:none;background:var(--bg);border:1px solid var(--line);color:var(--text);font:inherit;border-radius:16px;outline:none;flex:1;max-height:160px;padding:12px 14px;font-size:15.5px}textarea:focus{border-color:var(--accent)}.send{background:var(--accent);color:#241009;cursor:pointer;border:0;border-radius:999px;height:44px;padding:0 20px;font-weight:700}.send:disabled{opacity:.5;cursor:default}
