*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{background:#080808;color:#e0e0e0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,sans-serif;display:flex;align-items:center;justify-content:center;overflow:hidden;-webkit-font-smoothing:antialiased}#app{display:flex;flex-direction:column;align-items:center;gap:2rem;-webkit-user-select:none;user-select:none}#orb-wrapper{position:relative;width:140px;height:140px;display:flex;align-items:center;justify-content:center}#orb{width:96px;height:96px;border-radius:50%;background:radial-gradient(circle at 38% 36%,#2a2a2a,#111);box-shadow:0 0 0 0 transparent;transition:box-shadow .6s ease,background .6s ease;position:relative}#orb-ring{position:absolute;inset:-14px;border-radius:50%;border:1.5px solid transparent;transition:border-color .6s ease}#app.connecting #orb{animation:pulse-dim 2s ease-in-out infinite}#app.ready #orb{background:radial-gradient(circle at 38% 36%,#1a4a2a,#0d2a18);box-shadow:0 0 40px 8px #22c55e40,0 0 #22c55e00;animation:breathe 3.5s ease-in-out infinite}#app.ready #orb-ring{border-color:#22c55e4d}#app.user-speaking #orb{background:radial-gradient(circle at 38% 36%,#1e3d5c,#0c1e30);box-shadow:0 0 50px 12px #3b82f64d;animation:speaking .8s ease-in-out infinite alternate}#app.user-speaking #orb-ring{border-color:#3b82f666}#app.bot-speaking #orb{background:radial-gradient(circle at 38% 36%,#3b2060,#1a0d30);box-shadow:0 0 60px 16px #8b5cf64d;animation:speaking .6s ease-in-out infinite alternate}#app.bot-speaking #orb-ring{border-color:#8b5cf666}#app.error #orb{background:radial-gradient(circle at 38% 36%,#3d1515,#1e0a0a);box-shadow:0 0 30px 6px #ef444433}#app.error #orb-ring{border-color:#ef44444d}#app.disconnected #orb{background:radial-gradient(circle at 38% 36%,#1a1a1a,#0d0d0d);box-shadow:none}@keyframes pulse-dim{0%,to{opacity:.4;transform:scale(1)}50%{opacity:.8;transform:scale(1.04)}}@keyframes breathe{0%,to{transform:scale(1);box-shadow:0 0 40px 8px #22c55e33}50%{transform:scale(1.05);box-shadow:0 0 60px 16px #22c55e59}}@keyframes speaking{0%{transform:scale(1)}to{transform:scale(1.08)}}#call-btn{display:none;align-items:center;justify-content:center;gap:10px;padding:14px 32px;border-radius:999px;border:1.5px solid transparent;background:transparent;cursor:pointer;font-family:inherit;font-size:1rem;font-weight:500;letter-spacing:.03em;transition:background .3s ease,border-color .3s ease,color .3s ease}#call-btn svg{display:none;width:20px;height:20px;flex-shrink:0}#app.ready #call-btn,#app.user-speaking #call-btn,#app.bot-speaking #call-btn{display:flex;border-color:#ef444473;color:#ef4444cc}#app.ready #call-btn:hover,#app.user-speaking #call-btn:hover,#app.bot-speaking #call-btn:hover{background:#ef44441f;border-color:#ef4444b3;color:#ef4444}#app.ready #icon-hangup,#app.user-speaking #icon-hangup,#app.bot-speaking #icon-hangup{display:block}#app.disconnected #call-btn,#app.error #call-btn{display:flex;border-color:#ffffff2e;color:#ffffff80}#app.disconnected #call-btn:hover,#app.error #call-btn:hover{background:#ffffff14;border-color:#ffffff59;color:#ffffffd9}#app.disconnected #icon-reconnect,#app.error #icon-reconnect{display:block}#status-text{font-size:1rem;font-weight:400;letter-spacing:.04em;color:#888;transition:color .4s ease;min-height:1.4em;text-align:center}#app.ready #status-text{color:#aaa}#app.user-speaking #status-text{color:#93c5fd}#app.bot-speaking #status-text{color:#c4b5fd}#app.error #status-text{color:#f87171}#app.disconnected #status-text{color:#555}
