:root{--av-bg: #0a0a0f;--av-surface: #151520;--av-surface-light: #1a1a2a;--av-border: #222235;--av-purple: #7B2FBE;--av-purple-light: #9B5FDE;--av-purple-glow: rgba(123, 47, 190, .3);--av-purple-faint: rgba(123, 47, 190, .08);--av-text: #e8e8f0;--av-muted: #7878a0;--av-error: #f87171;--av-success: #4ade80;--av-fab-size: 56px;--av-panel-width: 380px;--av-panel-offset: 16px;--av-z: 9999;--av-radius: 16px;--av-transition: .2s ease}@keyframes av-ring-pulse{0%{transform:scale(1);opacity:.5}to{transform:scale(2.2);opacity:0}}@keyframes av-bar{0%,to{height:4px}50%{height:var(--bar-height, 20px)}}@keyframes av-orb-pulse{0%,to{transform:scale(1);opacity:.7}50%{transform:scale(1.18);opacity:1}}@keyframes av-spin{to{transform:rotate(360deg)}}@keyframes av-listen-ring{0%{transform:scale(.85);opacity:.6}to{transform:scale(1.6);opacity:0}}@keyframes av-panel-in{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes av-panel-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(12px) scale(.97)}}@keyframes av-toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes av-fab-connected{0%,to{box-shadow:0 0 0 0 var(--av-purple-glow),0 8px 32px #0006}50%{box-shadow:0 0 0 8px #7b2fbe00,0 8px 32px #0006}}#alpha-voice-root{position:fixed;bottom:var(--av-panel-offset);right:var(--av-panel-offset);z-index:var(--av-z);display:flex;flex-direction:column;align-items:flex-end;gap:12px;pointer-events:none}#alpha-voice-root>*{pointer-events:all}.alpha-voice-fab{position:relative;width:var(--av-fab-size);height:var(--av-fab-size);border-radius:50%;background:var(--av-purple);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 24px #7b2fbe73,0 2px 8px #0006;transition:background var(--av-transition),transform var(--av-transition),box-shadow var(--av-transition);flex-shrink:0;outline:none}.alpha-voice-fab:hover{background:var(--av-purple-light);transform:scale(1.06);box-shadow:0 6px 32px #7b2fbe8c,0 2px 8px #0006}.alpha-voice-fab:focus-visible{outline:2px solid var(--av-purple-light);outline-offset:3px}.alpha-voice-fab:active{transform:scale(.97)}.alpha-voice-fab[data-status=connecting]{background:var(--av-purple);cursor:wait}.alpha-voice-fab[data-status=connected]{background:var(--av-purple);animation:av-fab-connected 2s ease-in-out infinite}.alpha-voice-fab__ring{position:absolute;inset:0;border-radius:50%;border:2px solid var(--av-purple-light);opacity:0;pointer-events:none}.alpha-voice-fab[data-status=connecting] .alpha-voice-fab__ring,.alpha-voice-fab[data-status=connected] .alpha-voice-fab__ring{animation:av-ring-pulse 1.8s ease-out infinite}.alpha-voice-fab__ring--2{animation-delay:.6s!important}.alpha-voice-fab__icon{width:32px;height:32px;position:relative;z-index:1;transition:opacity var(--av-transition)}.alpha-voice-fab__hint{position:absolute;bottom:-2px;right:-2px;width:20px;height:20px;border-radius:50%;background:var(--av-bg);border:1.5px solid var(--av-border);display:flex;align-items:center;justify-content:center;color:var(--av-muted);transition:opacity var(--av-transition)}.alpha-voice-fab[data-status=connecting] .alpha-voice-fab__hint,.alpha-voice-fab[data-status=connected] .alpha-voice-fab__hint{opacity:0;pointer-events:none}.alpha-voice-panel{width:var(--av-panel-width);max-width:calc(100vw - 2 * var(--av-panel-offset));max-height:520px;background:var(--av-bg);border:1px solid var(--av-border);border-radius:var(--av-radius);box-shadow:0 8px 40px #0009,0 0 0 1px #7b2fbe26;display:flex;flex-direction:column;overflow:hidden;animation:av-panel-in .22s ease forwards}.alpha-voice-panel[hidden]{display:none}.alpha-voice-panel__header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--av-border);background:var(--av-surface);flex-shrink:0}.alpha-voice-panel__title{display:flex;align-items:center;gap:10px}.alpha-voice-panel__logo{width:32px;height:32px;flex-shrink:0}.alpha-voice-panel__name{display:block;font-family:Sora,system-ui,sans-serif;font-weight:700;font-size:15px;color:var(--av-text);line-height:1.2}.alpha-voice-panel__tagline{display:block;font-family:DM Sans,system-ui,sans-serif;font-size:11px;color:var(--av-muted);line-height:1.2}.alpha-voice-panel__close{width:32px;height:32px;border-radius:8px;border:1px solid var(--av-border);background:transparent;color:var(--av-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color var(--av-transition),background var(--av-transition),border-color var(--av-transition);flex-shrink:0}.alpha-voice-panel__close:hover{color:var(--av-text);background:var(--av-surface-light);border-color:var(--av-muted)}.alpha-voice-panel__close:focus-visible{outline:2px solid var(--av-purple-light);outline-offset:2px}.alpha-voice-viz{flex-shrink:0;height:140px;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,var(--av-surface) 0%,var(--av-bg) 100%);border-bottom:1px solid var(--av-border);position:relative;overflow:hidden}.alpha-voice-viz:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 50% 100%,rgba(123,47,190,.08) 0%,transparent 60%);pointer-events:none}.alpha-voice-viz__idle,.alpha-voice-viz__connecting,.alpha-voice-viz__listening,.alpha-voice-viz__speaking,.alpha-voice-viz__thinking{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.alpha-voice-viz__idle[hidden],.alpha-voice-viz__connecting[hidden],.alpha-voice-viz__listening[hidden],.alpha-voice-viz__speaking[hidden],.alpha-voice-viz__thinking[hidden]{display:none}.alpha-voice-viz__idle-orb{width:56px;height:56px;border-radius:50%;background:var(--av-purple-faint);border:1.5px solid rgba(123,47,190,.25);animation:av-orb-pulse 3s ease-in-out infinite}.alpha-voice-viz__idle-label{font-family:DM Sans,system-ui,sans-serif;font-size:12px;color:var(--av-muted);text-align:center;margin:0;padding:0 16px}.alpha-voice-viz__spinner{width:36px;height:36px;border-radius:50%;border:2.5px solid var(--av-border);border-top-color:var(--av-purple-light);animation:av-spin .8s linear infinite}.alpha-voice-viz__mode-label{font-family:DM Sans,system-ui,sans-serif;font-size:12px;color:var(--av-muted);margin:0}.alpha-voice-viz__listen-rings{position:relative;width:72px;height:72px;display:flex;align-items:center;justify-content:center}.alpha-voice-viz__listen-ring{position:absolute;inset:0;border-radius:50%;border:1.5px solid var(--av-purple-light);animation:av-listen-ring 1.6s ease-out infinite}.alpha-voice-viz__listen-ring--2{animation-delay:.4s}.alpha-voice-viz__listen-ring--3{animation-delay:.8s}.alpha-voice-viz__listen-center{width:44px;height:44px;border-radius:50%;background:var(--av-purple-faint);border:1.5px solid rgba(123,47,190,.4);display:flex;align-items:center;justify-content:center;color:var(--av-purple-light);position:relative;z-index:1}.alpha-voice-viz__bars{display:flex;align-items:center;gap:5px;height:56px}.alpha-voice-viz__bar{width:5px;border-radius:3px;background:linear-gradient(180deg,var(--av-purple-light) 0%,var(--av-purple) 100%);height:4px;animation:av-bar .7s ease-in-out infinite;animation-delay:var(--bar-delay, 0ms)}.alpha-voice-viz__think-orb{width:52px;height:52px;border-radius:50%;background:radial-gradient(circle at 35% 35%,var(--av-purple-light),var(--av-purple));box-shadow:0 0 24px var(--av-purple-glow);animation:av-orb-pulse 1.2s ease-in-out infinite}.alpha-voice-transcript{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px;scroll-behavior:smooth;min-height:0}.alpha-voice-transcript::-webkit-scrollbar{width:4px}.alpha-voice-transcript::-webkit-scrollbar-track{background:transparent}.alpha-voice-transcript::-webkit-scrollbar-thumb{background:var(--av-border);border-radius:2px}.alpha-voice-transcript__empty{flex:1;display:flex;align-items:center;justify-content:center;padding:16px}.alpha-voice-transcript__empty p{font-family:DM Sans,system-ui,sans-serif;font-size:13px;color:var(--av-muted);text-align:center;margin:0;line-height:1.5}.alpha-voice-msg{display:flex;flex-direction:column;gap:2px;max-width:85%;animation:av-panel-in .18s ease forwards}.alpha-voice-msg--user{align-self:flex-end;align-items:flex-end}.alpha-voice-msg--agent{align-self:flex-start;align-items:flex-start}.alpha-voice-msg__bubble{padding:8px 12px;border-radius:12px;font-family:DM Sans,system-ui,sans-serif;font-size:13px;line-height:1.5;word-break:break-word}.alpha-voice-msg--user .alpha-voice-msg__bubble{background:var(--av-purple-faint);border:1px solid rgba(123,47,190,.2);color:var(--av-text);border-bottom-right-radius:4px}.alpha-voice-msg--agent .alpha-voice-msg__bubble{background:var(--av-surface);border:1px solid var(--av-border);color:var(--av-text);border-bottom-left-radius:4px}.alpha-voice-msg__role{font-family:DM Sans,system-ui,sans-serif;font-size:10px;color:var(--av-muted);padding:0 4px}.alpha-voice-controls{flex-shrink:0;display:flex;align-items:center;gap:8px;padding:12px 16px;border-top:1px solid var(--av-border);background:var(--av-surface)}.alpha-voice-controls__btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;font-family:DM Sans,system-ui,sans-serif;font-size:13px;font-weight:500;cursor:pointer;border:1px solid var(--av-border);transition:background var(--av-transition),border-color var(--av-transition),color var(--av-transition),opacity var(--av-transition)}.alpha-voice-controls__btn:disabled{opacity:.38;cursor:not-allowed}.alpha-voice-controls__btn:focus-visible{outline:2px solid var(--av-purple-light);outline-offset:2px}.alpha-voice-controls__btn--mute{background:var(--av-surface-light);color:var(--av-muted);min-width:90px}.alpha-voice-controls__btn--mute:not(:disabled):hover{background:var(--av-border);color:var(--av-text);border-color:var(--av-muted)}.alpha-voice-controls__btn--mute[aria-pressed=true]{background:#f871711f;color:var(--av-error);border-color:#f871714d}.alpha-voice-controls__btn--mute .alpha-voice-controls__icon--muted,.alpha-voice-controls__btn--mute[aria-pressed=true] .alpha-voice-controls__icon--unmuted{display:none}.alpha-voice-controls__btn--mute[aria-pressed=true] .alpha-voice-controls__icon--muted{display:block}.alpha-voice-controls__btn--end{margin-left:auto;background:#f871711a;border-color:#f8717140;color:var(--av-error)}.alpha-voice-controls__btn--end:not(:disabled):hover{background:#f8717133;border-color:#f8717180}.alpha-voice-error{flex-shrink:0;display:flex;align-items:center;gap:8px;padding:10px 16px;background:#f8717114;border-top:1px solid rgba(248,113,113,.2);color:var(--av-error);font-family:DM Sans,system-ui,sans-serif;font-size:12px}.alpha-voice-error[hidden]{display:none}.alpha-voice-toasts{position:fixed;bottom:88px;right:var(--av-panel-offset);z-index:calc(var(--av-z) + 1);display:flex;flex-direction:column;gap:8px;pointer-events:none}.alpha-voice-toast{background:var(--av-surface);border:1px solid var(--av-border);color:var(--av-text);font-family:DM Sans,system-ui,sans-serif;font-size:13px;padding:10px 16px;border-radius:10px;box-shadow:0 4px 16px #0006;opacity:0;transform:translateY(8px);transition:opacity .25s ease,transform .25s ease;max-width:280px;pointer-events:none}.alpha-voice-toast--visible{opacity:1;transform:translateY(0)}@media(max-width:639px){#alpha-voice-root{bottom:0;right:0;left:0;align-items:center}.alpha-voice-fab{position:fixed;bottom:20px;right:20px}.alpha-voice-panel{width:100%;max-width:100%;border-radius:var(--av-radius) var(--av-radius) 0 0;border-bottom:none;max-height:75vh}.alpha-voice-toasts{right:12px;bottom:84px}}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media(prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}
