:root{--bg:#05080d;--panel:#0c131c;--line:#1a2633;--text:#dbe7f0;--muted:#7d8fa0;--accent:#2fc6f0;--accent-soft:#2fc6f026;--warn:#f2b04a;--danger:#f0616d;--ok:#4fd18b;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);overscroll-behavior:none;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,sans-serif;font-size:16px}button,input,a.ghost{font:inherit}.screen{height:100%;padding:env(safe-area-inset-top) 16px env(safe-area-inset-bottom);flex-direction:column;max-width:720px;margin:0 auto;display:flex}.center{justify-content:center;align-items:center}header{justify-content:space-between;align-items:center;gap:8px;padding:12px 0;display:flex}.header-right{gap:4px;display:flex}.brand{letter-spacing:.35em;color:var(--accent);font-size:13px;font-weight:600}.ghost{color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;padding:8px 10px;font-size:14px;text-decoration:none}.ghost:hover{color:var(--text);border-color:var(--line)}.primary{background:var(--accent);color:#02131b;cursor:pointer;border:none;border-radius:12px;padding:10px 16px;font-weight:600}.primary:disabled{opacity:.4;cursor:default}input{background:var(--panel);border:1px solid var(--line);color:var(--text);border-radius:12px;outline:none;min-width:0;padding:12px 14px}input:focus{border-color:var(--accent)}.error{color:var(--danger);font-size:14px}.login{flex-direction:column;align-items:center;gap:14px;width:min(320px,100%);display:flex}.login h1{letter-spacing:.4em;margin:0 0 8px;font-size:20px;font-weight:500}.login input,.login button{width:100%}.orb.small{background:radial-gradient(circle, #bff4ff 0%, var(--accent) 45%, #0a3b52 100%);border-radius:50%;width:72px;height:72px;box-shadow:0 0 40px #2fc6f066}.log{flex-direction:column;flex:1;gap:10px;padding:8px 0;display:flex;overflow-y:auto;-webkit-mask-image:linear-gradient(#0000 0,#000 32px);mask-image:linear-gradient(#0000 0,#000 32px)}.line{max-width:88%;margin:0;line-height:1.45}.line.user{background:var(--panel);border:1px solid var(--line);color:var(--muted);border-radius:14px 14px 4px;align-self:flex-end;padding:8px 12px}.line.assistant{align-self:flex-start}.activity{color:var(--accent);opacity:.8;margin:0;font-size:13px}.activity:before{content:"◌ "}.pending{border:1px solid var(--warn);background:#f2b04a14;border-radius:14px;flex-direction:column;gap:10px;padding:12px;font-size:14px;display:flex}.pending div{gap:8px;display:flex}.stage{flex-direction:column;align-items:center;padding:16px 0 8px;display:flex}.status{color:var(--muted);min-height:1.2em;margin:14px 0 0;font-size:14px}.orb{--level:0;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:50%;width:148px;height:148px;padding:0;position:relative}.orb .core{background:radial-gradient(circle at 50% 45%, #c8f6ff 0%, var(--accent) 42%, #0a3b52 100%);box-shadow:0 0 calc(30px + var(--level) * 70px) rgba(47, 198, 240, calc(.35 + var(--level) * .5));transform:scale(calc(1 + var(--level) * .22));border-radius:50%;transition:transform 80ms linear;position:absolute;inset:26px}.orb .ring{border:2px solid #2fc6f040;border-radius:50%;position:absolute;inset:0}.orb.listening .ring{border-color:#2fc6f0cc;animation:1.4s ease-out infinite pulse}.orb.thinking .ring{border-color:#0000;border-top-color:var(--accent);animation:.9s linear infinite spin}.orb.idle .core{animation:4s ease-in-out infinite breathe}@keyframes pulse{0%{opacity:1;transform:scale(.92)}to{opacity:0;transform:scale(1.18)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes breathe{50%{filter:brightness(1.15)}}.composer{gap:8px;padding:8px 0 14px;display:flex}.composer input{flex:1}.servers{flex-direction:column;gap:10px;margin:8px 0;padding:0;list-style:none;display:flex}.servers li{background:var(--panel);border:1px solid var(--line);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.servers li>div:first-child{flex-direction:column;gap:4px;min-width:0;display:flex}.servers small{color:var(--muted);overflow-wrap:anywhere}.actions{flex-shrink:0;gap:6px;display:flex}.badge{color:var(--muted);font-size:12px}.badge.connected{color:var(--ok)}.badge.needs_auth{color:var(--warn)}.badge.error{color:var(--danger)}.notice{background:var(--accent-soft);border-radius:12px;padding:10px 12px;font-size:14px}.hint{color:var(--muted);font-size:13px}
