:root{--bg:#0f1115;--panel:#171a21;--border:#262b36;--text:#e8eaf0;--muted:#8a92a6;--accent:#5b8cff;--user:#2a3550;--bot:#1f2a24;--bot-accent:#3ecf8e;--danger:#ff5b6e;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{background:var(--bg);min-height:100vh;color:var(--text);margin:0}.app{flex-direction:column;gap:20px;max-width:720px;min-height:100vh;margin:0 auto;padding:24px 16px;display:flex}.header{justify-content:space-between;align-items:center;display:flex}.header h1{margin:0;font-size:1.25rem}.status{border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:4px 10px;font-size:.85rem}.status[data-state=connecting],.status[data-state=connected]{color:var(--accent);border-color:var(--accent)}.status[data-state=live]{color:var(--bot-accent);border-color:var(--bot-accent)}.stage{background:var(--panel);border:1px solid var(--border);border-radius:16px;flex-direction:column;align-items:center;gap:16px;padding:28px 16px;display:flex}.orb{background:radial-gradient(circle at 35% 35%,#3a4152,#1b1f28);border-radius:50%;width:120px;height:120px;transition:transform .2s,box-shadow .2s,background .2s}.orb[data-state=user]{background:radial-gradient(circle at 35% 35%, #8fb0ff, var(--accent));transform:scale(1.06);box-shadow:0 0 40px #5b8cff80}.orb[data-state=bot]{background:radial-gradient(circle at 35% 35%, #8ff0c4, var(--bot-accent));animation:1.2s ease-in-out infinite pulse;box-shadow:0 0 40px #3ecf8e80}@keyframes pulse{50%{transform:scale(1.08)}}.hint{color:var(--muted);margin:0}.controls{gap:12px;display:flex}.btn{font:inherit;border:1px solid var(--border);color:var(--text);cursor:pointer;background:#222733;border-radius:10px;padding:10px 22px}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}.transcript{flex:1;min-height:240px;display:flex}.log{flex-direction:column;flex:1;gap:10px;max-height:50vh;display:flex;overflow-y:auto}.bubble{white-space:pre-wrap;border-radius:14px;max-width:85%;padding:10px 14px;line-height:1.45}.bubble.user{background:var(--user);align-self:flex-end}.bubble.bot{background:var(--bot);align-self:flex-start}.bubble.notice{color:var(--muted);align-self:center;font-size:.85rem}
