:root{color-scheme:light;--pine: #1f5a3d;--pine-tint: #e7f0ea;--ink: #111a17;--text-2: #3c4a46;--muted: #6e7c78;--line: #e3e9e6;--surf-1: #f8faf9;--surf-2: #f1f5f3;--card: #ffffff;--danger: #c0453a;--danger-tint: #f8e2d9;--accent: var(--pine);--on-accent: #ffffff;--r-md: 8px;--r-lg: 12px;--r-pill: 999px;--font-ui: "Geist", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html,body{height:100%;margin:0}body{position:relative;overflow:hidden;display:flex;flex-direction:column;background:var(--card);color:var(--ink);font-family:var(--font-ui);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}.head{display:flex;align-items:center;gap:10px;padding:14px 16px;background:var(--accent);color:var(--on-accent);flex:none}.head-copy{flex:1;min-width:0}.head h1{font-size:15px;font-weight:650;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.head-status{margin:2px 0 0;font-size:11px;font-weight:500;opacity:.88}.head button{appearance:none;border:0;background:transparent;color:inherit;cursor:pointer;border-radius:var(--r-md);width:30px;height:30px;font-size:18px;line-height:1;opacity:.85}.head button:hover{opacity:1;background:#ffffff26}.log{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:14px;display:flex;flex-direction:column;gap:10px;background:var(--surf-1)}.msg{max-width:85%;padding:9px 12px;border-radius:var(--r-lg);overflow-wrap:anywhere;white-space:pre-wrap}.msg.user{align-self:flex-end;background:var(--accent);color:var(--on-accent);border-bottom-right-radius:var(--r-md)}.msg.user.typing{align-self:flex-end;display:inline-flex;align-items:center;gap:4px;padding:10px 14px;min-height:38px;box-sizing:border-box}.msg.user.typing span{width:6px;height:6px;border-radius:50%;background:var(--on-accent);opacity:.85;animation:bounce 1.2s infinite ease-in-out}.msg.user.typing span:nth-child(2){animation-delay:.15s}.msg.user.typing span:nth-child(3){animation-delay:.3s}.msg-row.bot{display:flex;align-items:flex-end;gap:8px;max-width:90%;align-self:flex-start}.msg-avatar{width:26px;height:26px;border-radius:9999px;background:var(--surf-2);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;flex:none;overflow:hidden;color:var(--muted);box-shadow:0 1px 2px #0000000f}.msg-avatar-img{width:100%;height:100%;object-fit:cover;border-radius:9999px}.msg.bot{align-self:flex-start;background:var(--card);border:1px solid var(--line);border-bottom-left-radius:var(--r-md)}.msg-row.bot .msg.bot{max-width:100%;align-self:auto}.msg-bullet-list{display:flex;flex-direction:column;gap:4px;margin:4px 0;white-space:normal}.msg-bullet{display:flex;align-items:flex-start;gap:6px;margin:0}.msg-bullet-dot{flex-shrink:0;color:currentColor;opacity:.75;font-weight:700;line-height:1.4}.msg-bullet-text{flex:1;line-height:1.4}.msg strong{font-weight:600}.msg a{color:var(--accent);text-decoration:underline}.msg-code{background:#0000000f;padding:1px 4px;border-radius:4px;font-size:.9em;font-family:monospace}.msg-row.bot .typing{align-self:auto;padding:8px 12px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);border-bottom-left-radius:var(--r-md)}.msg.system{align-self:center;max-width:100%;text-align:center;background:transparent;color:var(--muted);font-size:12.5px;padding:2px 8px}.msg.failed{align-self:center;max-width:100%;text-align:center;background:var(--danger-tint);color:var(--danger);font-size:12.5px}.msg.streaming:after{content:"";display:inline-block;width:7px;height:1em;margin-left:2px;vertical-align:text-bottom;background:currentColor;opacity:.5;animation:blink 1s steps(2,start) infinite}.typing{align-self:flex-start;display:flex;gap:4px;padding:12px}.typing span{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:bounce 1.2s infinite ease-in-out}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}@keyframes blink{50%{opacity:0}}@keyframes bounce{0%,60%,to{transform:translateY(0);opacity:.45}30%{transform:translateY(-4px);opacity:1}}.chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 8px;background:var(--surf-1);flex:none}.chips:empty,.chips button:empty,.chips a:empty{display:none!important}.consent{flex:none;margin:0;padding:6px 14px;background:var(--surf-1);border-top:1px solid var(--line);color:var(--muted);font-size:11.5px;line-height:1.45;display:flex;align-items:center;justify-content:center;text-align:center;gap:8px}.consent a{color:var(--text-2);text-decoration:underline;font-weight:500}.consent a:hover{color:var(--ink)}.consent button{appearance:none;border:1px solid rgba(0,0,0,.12);background:var(--accent);color:var(--on-accent);cursor:pointer;font-family:inherit;font-size:11px;font-weight:600;padding:4px 12px;margin-left:6px;border-radius:var(--r-pill);transition:all .15s ease;white-space:nowrap;flex:none;box-shadow:0 1px 2px #0000000d}.consent button:hover{filter:brightness(.92);box-shadow:0 2px 4px #0000001a}.head .logo{width:32px;height:32px;border-radius:9999px;object-fit:cover;background:#ffffff26;border:1px solid rgb(255 255 255 / .25);box-shadow:0 1px 3px #0000001f;flex:none}.chips a,.chips button{appearance:none;cursor:pointer;font:inherit;font-size:13px;padding:6px 11px;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--card);color:var(--text-2);transition:background .15s ease,border-color .15s ease,color .15s ease}.chips a{text-decoration:none;display:inline-block}.chips a:hover,.chips button:hover{background:var(--surf-2);border-color:var(--muted);color:var(--ink)}.chips a:active,.chips button:active{background:var(--line)}.chips a:focus-visible,.chips button:focus-visible{outline:2px solid var(--muted);outline-offset:2px}.composer{display:flex;align-items:flex-end;gap:8px;padding:10px 12px;border-top:1px solid var(--line);background:var(--card);flex:none}.composer textarea{flex:1;resize:none;font:inherit;color:inherit;background:var(--surf-2);border:1px solid var(--line);border-radius:var(--r-lg);padding:9px 11px;max-height:96px;min-height:38px}.composer textarea:focus-visible,.composer button:focus-visible,.chips button:focus-visible,.head button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.composer button{appearance:none;border:0;cursor:pointer;font:inherit;font-weight:600;height:38px;padding:0 14px;border-radius:var(--r-lg);background:var(--accent);color:var(--on-accent)}.composer button:disabled,.composer textarea:disabled{opacity:.55;cursor:not-allowed}.audio-player{display:flex;align-items:center;gap:8px;margin-top:6px;padding:6px 10px;background:var(--surf-2);border:1px solid var(--line);border-radius:var(--r-md);max-width:100%}.audio-player button.play-btn{appearance:none;border:0;cursor:pointer;background:var(--accent);color:var(--on-accent);width:28px;height:28px;border-radius:var(--r-pill);display:flex;align-items:center;justify-content:center;font-size:11px;flex:none}@media(prefers-reduced-motion:reduce){.msg.streaming:after,.typing span{animation:none}}.composer .call-btn,.composer .mic-btn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;background:var(--surf-2);color:var(--muted);border:1px solid var(--line);border-radius:var(--r-lg);transition:background .15s ease,color .15s ease,transform .1s ease;cursor:pointer;flex:none}.composer .call-btn svg,.composer .mic-btn svg{pointer-events:none}.composer .call-btn:hover:not(:disabled),.composer .mic-btn:hover:not(:disabled){background:var(--surf-1);color:var(--ink);border-color:var(--muted)}.composer .call-btn:disabled,.composer .mic-btn:disabled{opacity:.55;cursor:not-allowed}.composer .call-btn.s2s-active,#call.s2s-active{background:#dc2626!important;color:#fff!important;border-color:#dc2626!important;animation:pulse-red 1.2s infinite!important}.composer .mic-btn.connecting,#mic.connecting{background:#f59e0b!important;color:#fff!important;border-color:#f59e0b!important;animation:pulse-yellow 1s infinite!important}.composer .mic-btn.recording,#mic.recording{background:#dc2626!important;color:#fff!important;border-color:#dc2626!important;animation:pulse-red 1.2s infinite!important}@keyframes pulse-yellow{0%{box-shadow:0 0 #f59e0bb3}70%{box-shadow:0 0 0 8px #f59e0b00}to{box-shadow:0 0 #f59e0b00}}@keyframes pulse-red{0%{box-shadow:0 0 #dc2626b3}70%{box-shadow:0 0 0 8px #dc262600}to{box-shadow:0 0 #dc262600}}.call-screen{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--surf-1);color:var(--ink);padding:20px 16px;animation:call-fade-in .2s cubic-bezier(.16,1,.3,1);overflow-y:auto;overscroll-behavior:contain;box-sizing:border-box}@keyframes call-fade-in{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.call-body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:0;width:100%;padding:4px 0}.voice-orb-container{position:relative;width:110px;height:110px;display:flex;align-items:center;justify-content:center;margin-bottom:12px;--audio-level: 0}.voice-orb-ambient{position:absolute;width:130px;height:130px;border-radius:50%;background:radial-gradient(circle,var(--accent) 0%,transparent 70%);opacity:.18;filter:blur(18px);transform:scale(calc(1 + var(--audio-level, 0) * .45));transition:transform .1s ease-out,opacity .2s ease;pointer-events:none}.voice-orb-ring{position:absolute;border-radius:50%;border:1.5px solid var(--line);pointer-events:none;transition:transform .1s ease-out,border-color .3s ease}.voice-orb-ring.ring-1{width:98px;height:98px;border-top-color:var(--accent);animation:orb-spin-slow 12s linear infinite;transform:scale(calc(1 + var(--audio-level, 0) * .25))}.voice-orb-ring.ring-2{width:112px;height:112px;border-bottom-color:#1f5a3d40;animation:orb-spin-rev 16s linear infinite;transform:scale(calc(1 + var(--audio-level, 0) * .35))}@keyframes orb-spin-slow{to{transform:rotate(360deg)}}@keyframes orb-spin-rev{to{transform:rotate(-360deg)}}.voice-orb-core{position:relative;width:74px;height:74px;border-radius:50%;background:radial-gradient(circle at 35% 32%,#48bb78 0%,var(--accent) 55%,#133a27 100%);box-shadow:0 4px 18px #1f5a3d40,inset 0 2px 6px #ffffff59;display:flex;align-items:center;justify-content:center;overflow:hidden;transform:scale(calc(1 + var(--audio-level, 0) * .2));transition:transform .08s ease-out,box-shadow .2s ease}.voice-orb-glow{position:absolute;inset:-6px;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.3),transparent 60%);animation:orb-breathe 3s ease-in-out infinite alternate}@keyframes orb-breathe{0%{transform:scale(.94);opacity:.5}to{transform:scale(1.06);opacity:1}}.voice-orb-waves{display:flex;align-items:center;gap:3.5px;height:20px;z-index:2}.voice-orb-waves span{display:inline-block;width:3px;height:6px;background:#fff;border-radius:3px;opacity:.92;transition:height .08s ease}.call-screen.state-connecting .voice-orb-core{background:radial-gradient(circle at 35% 32%,#93c5fd,#3b82f6 60%,#1d4ed8);box-shadow:0 4px 18px #3b82f64d;animation:orb-connecting-pulse 2s ease-in-out infinite}@keyframes orb-connecting-pulse{0%,to{transform:scale(.96)}50%{transform:scale(1.04)}}.call-screen.state-listening .voice-orb-core{background:radial-gradient(circle at 35% 32%,#a7f3d0,#10b981,#064e3b);box-shadow:0 4px 20px #10b98152}.call-screen.state-thinking .voice-orb-core{background:radial-gradient(circle at 35% 32%,#e9d5ff,#a855f7,#581c87);box-shadow:0 4px 20px #a855f759;animation:orb-thinking-spin 2.5s linear infinite}@keyframes orb-thinking-spin{0%{filter:hue-rotate(0deg)}to{filter:hue-rotate(360deg)}}.call-screen.state-speaking .voice-orb-core{background:radial-gradient(circle at 35% 32%,#fed7aa,#f97316 48%,#9a3412);box-shadow:0 4px 22px #f9731661}.call-screen.state-speaking .voice-orb-waves span:nth-child(1){animation:orb-wave .6s infinite alternate 0s}.call-screen.state-speaking .voice-orb-waves span:nth-child(2){animation:orb-wave .6s infinite alternate .15s}.call-screen.state-speaking .voice-orb-waves span:nth-child(3){animation:orb-wave .6s infinite alternate .3s}.call-screen.state-speaking .voice-orb-waves span:nth-child(4){animation:orb-wave .6s infinite alternate .1s}.call-screen.state-speaking .voice-orb-waves span:nth-child(5){animation:orb-wave .6s infinite alternate .25s}@keyframes orb-wave{0%{height:4px}to{height:18px}}.call-status-box{margin-bottom:10px}.call-status-title{font-size:16px;font-weight:700;margin:0 0 2px;color:var(--ink);letter-spacing:-.2px}.call-status-subtitle{font-size:12px;color:var(--muted);margin:0}.call-captions{width:100%;max-width:320px;min-height:40px;max-height:64px;overflow-y:auto;padding:6px 10px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);font-size:12px;line-height:1.4;color:var(--text-2);text-align:left;box-sizing:border-box;box-shadow:0 1px 3px #00000008}.call-caption-speaker{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-bottom:2px}.call-caption-text{word-break:break-word}.foot{flex:none;text-align:center;font-size:11px;color:var(--muted);padding:0 0 8px;background:var(--card)}.foot a{color:inherit}
