.erv-demo-root{--erv-brand: var(--cyan-500, #02e2dc);--erv-brand-deep: color-mix(in srgb, var(--erv-brand) 58%, black 42%);--erv-brand-hot: color-mix(in srgb, var(--erv-brand) 35%, white 65%);--erv-glow-soft: color-mix(in srgb, var(--erv-brand) 12%, transparent);--erv-glow-mid: color-mix(in srgb, var(--erv-brand) 22%, transparent);--erv-glow-strong: color-mix(in srgb, var(--erv-brand) 45%, transparent);--erv-glow-bold: color-mix(in srgb, var(--erv-brand) 62%, transparent);--erv-focus-ring: color-mix(in srgb, var(--erv-brand) 50%, transparent);--erv-focus-glow: color-mix(in srgb, var(--erv-brand) 12%, transparent);--erv-primary: color-mix(in srgb, var(--erv-brand) 65%, white 35%);--erv-primary-container: var(--erv-brand);--erv-secondary: color-mix(in srgb, var(--erv-brand-deep) 55%, white 45%);--erv-secondary-container: var(--erv-brand-deep);--erv-tertiary: color-mix(in srgb, var(--erv-brand) 40%, white 60%);--erv-tertiary-container: color-mix(in srgb, var(--erv-brand) 75%, black 25%);--erv-surface: var(--surface-base, #0a0a0c);--erv-surface-low: var(--surface-sunken, #111113);--erv-surface-container: var(--surface-raised, #19191c);--erv-surface-high: var(--surface-overlay, #222226);--erv-surface-highest: var(--surface-overlay, #2c2c31);--erv-surface-bright: var(--surface-hover, #36363c);--erv-on-surface: var(--text-primary, #f0f0f2);--erv-on-surface-variant: var(--text-secondary, #a8a8b0);--erv-outline: var(--border-strong, #8a8a92);--erv-outline-variant: var(--border-subtle, #46464e);--erv-error: #ffb4ab;--erv-error-container: #93000a;--erv-error-container-bg: hsla(0, 100%, 29%, .25);--erv-error-border: hsla(0, 80%, 85%, .25);--erv-gradient-primary: var(--erv-brand);--erv-glass-bg: rgba(16, 16, 20, .72);--erv-invite-bg: rgba(16, 16, 20, .9);--erv-glass-border: rgba(255, 255, 255, .1);--erv-glass-blur: blur(20px);--erv-glass-shadow: 0 40px 60px -15px color-mix(in srgb, var(--erv-brand) 15%, transparent);--erv-panel-header-bg: rgba(18, 18, 22, .55);--erv-panel-edge-faint: rgba(255, 255, 255, .04);--erv-panel-close-hover-bg: rgba(255, 255, 255, .06);--erv-tile-bg: rgba(56, 56, 64, .4);--erv-tile-bg-hover: rgba(56, 56, 64, .62);--erv-tile-border: rgba(255, 255, 255, .06);--erv-tile-shimmer: color-mix(in srgb, var(--erv-brand) 8%, transparent);--erv-tile-chat-hover-border: color-mix(in srgb, var(--erv-brand-hot) 35%, transparent);--erv-tile-chat-hover-shadow: 0 8px 24px -8px var(--erv-glow-mid);--erv-tile-voice-hover-border: color-mix(in srgb, var(--erv-brand-deep) 38%, transparent);--erv-tile-voice-hover-shadow: 0 8px 24px -8px color-mix(in srgb, var(--erv-brand-deep) 22%, transparent);--erv-icon-chat-bg: color-mix(in srgb, var(--erv-brand) 18%, transparent);--erv-icon-chat-border: color-mix(in srgb, var(--erv-primary) 20%, transparent);--erv-icon-voice-bg: color-mix(in srgb, var(--erv-brand-deep) 22%, transparent);--erv-icon-voice-border: color-mix(in srgb, var(--erv-secondary) 22%, transparent);--erv-icon-chat-hover-bg: color-mix(in srgb, var(--erv-brand) 35%, transparent);--erv-icon-voice-hover-bg: color-mix(in srgb, var(--erv-brand-deep) 38%, transparent);--erv-chat-banner-bg: rgba(56, 56, 64, .65);--erv-scrollbar-fg: rgba(255, 255, 255, .1);--erv-agent-bubble-bg: color-mix(in srgb, var(--erv-brand) 12%, var(--erv-surface-container) 88%);--erv-agent-bubble-border: color-mix(in srgb, var(--erv-brand) 32%, transparent);--erv-user-bubble-bg: rgba(44, 44, 52, .72);--erv-user-bubble-border: rgba(255, 255, 255, .08);--erv-msg-user-shadow: 0 4px 15px var(--erv-glow-mid);--erv-chat-footer-bg: rgba(14, 14, 18, .58);--erv-new-chat-hover-bg: color-mix(in srgb, var(--erv-primary) 8%, transparent);--erv-chat-input-bg: rgba(34, 34, 40, .55);--erv-chat-input-border: rgba(255, 255, 255, .06);--erv-voice-nebula-a: color-mix(in srgb, var(--erv-brand) 8%, transparent);--erv-voice-nebula-b: color-mix(in srgb, var(--erv-brand-deep) 10%, transparent);--erv-voice-ring-border: color-mix(in srgb, var(--erv-brand) 25%, transparent);--erv-voice-ring-mid-edge: linear-gradient( 135deg, color-mix(in srgb, var(--erv-brand) 45%, transparent), color-mix(in srgb, var(--erv-brand-hot) 48%, transparent) );--erv-voice-orb-fill: linear-gradient(135deg, var(--erv-tertiary), var(--erv-primary-container));--erv-wave-gradient: linear-gradient( to top, var(--erv-primary-container), var(--erv-brand-hot) );--erv-voice-orb-glow-a: var(--erv-glow-bold);--erv-voice-orb-glow-b: color-mix(in srgb, var(--erv-brand-hot) 38%, transparent);--erv-voice-bg-glow: color-mix(in srgb, var(--erv-brand) 30%, transparent);--erv-voice-live-orb-shadow-a: var(--erv-glow-bold);--erv-voice-live-orb-shadow-b: color-mix(in srgb, var(--erv-brand-hot) 30%, transparent);--erv-voice-btn-start-shadow: 0 0 24px var(--erv-glow-strong);--erv-voice-btn-start-shadow-hover: 0 0 32px var(--erv-glow-bold);--erv-voice-retry-bg: rgba(44, 44, 52, .75);--erv-voice-retry-bg-hover: rgba(52, 52, 60, 1);--erv-fab-shadow-brand: 0 0 24px var(--erv-glow-mid);--erv-fab-shadow-brand-hover: 0 0 32px color-mix(in srgb, var(--erv-brand-deep) 38%, transparent);--erv-live-badge-bg: rgba(18, 18, 22, .88);--erv-live-badge-border: color-mix(in srgb, var(--erv-brand-hot) 30%, transparent);--erv-live-dot-glow: color-mix(in srgb, var(--erv-brand-hot) 80%, transparent);--erv-chat-send-shadow: 0 4px 12px var(--erv-glow-strong);--erv-chat-send-shadow-hover: 0 4px 16px var(--erv-glow-bold);--erv-radius-sm: var(--radius-sm);--erv-radius: var(--radius-md);--erv-radius-lg: var(--radius-lg);--erv-radius-xl: var(--radius-xl);--erv-radius-full: var(--radius-full);--erv-font: var(--font-body);--erv-font-display: var(--font-display);display:block;position:fixed;inset:0;z-index:56;pointer-events:none;font-family:var(--erv-font);-webkit-font-smoothing:antialiased}.erv-demo-root--light{--erv-surface: var(--bg-base);--erv-surface-low: var(--bg-sunken);--erv-surface-container: var(--surface-raised);--erv-surface-high: var(--surface-inset);--erv-surface-highest: var(--surface-3);--erv-surface-bright: var(--surface-hover);--erv-on-surface: var(--text-primary);--erv-on-surface-variant: var(--text-secondary);--erv-outline: var(--border-strong);--erv-outline-variant: var(--border-subtle);--erv-glass-bg: rgba(255, 255, 255, .94);--erv-invite-bg: rgba(255, 255, 255, .98);--erv-glass-border: rgba(26, 26, 30, .08);--erv-glass-shadow: 0 28px 48px -18px color-mix(in srgb, var(--erv-brand) 14%, rgba(0, 0, 0, .08));--erv-panel-header-bg: rgba(255, 255, 255, .78);--erv-panel-edge-faint: rgba(26, 26, 30, .05);--erv-panel-close-hover-bg: rgba(26, 26, 30, .06);--erv-tile-bg: rgba(255, 255, 255, .58);--erv-tile-bg-hover: rgba(255, 255, 255, .88);--erv-tile-border: rgba(26, 26, 30, .08);--erv-chat-banner-bg: rgba(255, 255, 255, .72);--erv-scrollbar-fg: rgba(26, 26, 30, .14);--erv-agent-bubble-bg: color-mix(in srgb, var(--erv-brand) 7%, var(--erv-surface-low) 93%);--erv-agent-bubble-border: color-mix(in srgb, var(--erv-brand) 16%, var(--border-subtle) 84%);--erv-user-bubble-bg: var(--surface-3);--erv-user-bubble-border: var(--border-subtle);--erv-chat-footer-bg: rgba(246, 246, 248, .95);--erv-chat-input-bg: rgba(255, 255, 255, .9);--erv-chat-input-border: rgba(26, 26, 30, .1);--erv-voice-retry-bg: rgba(237, 237, 240, .95);--erv-voice-retry-bg-hover: rgba(220, 220, 225, 1);--erv-live-badge-bg: rgba(255, 255, 255, .92);--erv-error: hsl(0, 70%, 40%);--erv-error-container: hsl(0, 80%, 94%);--erv-error-container-bg: hsla(0, 80%, 94%, .8);--erv-error-border: hsla(0, 70%, 40%, .2);--erv-brand-deep: color-mix(in srgb, var(--erv-brand) 84%, black 16%);--erv-secondary: color-mix(in srgb, var(--erv-brand-deep) 48%, white 52%);--erv-tertiary-container: color-mix(in srgb, var(--erv-brand) 88%, black 12%);--erv-voice-nebula-b: color-mix(in srgb, var(--erv-brand) 12%, white 88%);--erv-voice-ring-mid-edge: linear-gradient( 135deg, color-mix(in srgb, var(--erv-brand) 42%, transparent), color-mix(in srgb, var(--erv-brand) 28%, white 72%) );--erv-voice-orb-fill: linear-gradient( 135deg, color-mix(in srgb, var(--erv-brand) 40%, white 60%), var(--erv-brand) );--erv-wave-gradient: linear-gradient( to top, var(--erv-brand), color-mix(in srgb, var(--erv-brand) 48%, white 52%) );--erv-fab-shadow-brand-hover: 0 0 32px color-mix(in srgb, var(--erv-brand) 35%, transparent);--erv-tile-voice-hover-border: color-mix(in srgb, var(--erv-brand) 32%, transparent);--erv-tile-voice-hover-shadow: 0 8px 24px -8px color-mix(in srgb, var(--erv-brand) 18%, transparent);--erv-icon-voice-bg: color-mix(in srgb, var(--erv-brand) 16%, white 84%);--erv-icon-voice-border: color-mix(in srgb, var(--erv-brand) 22%, transparent);--erv-icon-voice-hover-bg: color-mix(in srgb, var(--erv-brand) 28%, white 72%)}.erv-demo-root--light .erv-fab{box-shadow:var(--erv-fab-shadow-brand),0 4px 16px #0000002e,0 1px 2px #00000014}.erv-demo-root--light .erv-fab:hover{box-shadow:var(--erv-fab-shadow-brand-hover),0 4px 20px #00000038,0 1px 2px #0000001a}.erv-demo-root--light .erv-voice-btn--start{box-shadow:0 1px 2px #0000001a}.erv-demo-root--light .erv-voice-btn--start:hover:not(:disabled){box-shadow:0 1px 3px #0000001f}.erv-demo-root--light .erv-chat-send{box-shadow:var(--erv-chat-send-shadow),0 1px 2px #0000001a}.erv-demo-root--light .erv-chat-send:hover:not(:disabled){box-shadow:var(--erv-chat-send-shadow-hover),0 1px 3px #0000001f}.erv-demo-root--light .erv-panel-avatar-icon{box-shadow:0 1px 2px #0000001a}.erv-demo-root--light .erv-voice-status{font-weight:var(--fw-semibold);color:var(--erv-on-surface)}.erv-widget{position:absolute;display:flex;flex-direction:column;gap:var(--space-3);pointer-events:none}.erv-widget--bottom-right{bottom:var(--space-6);right:var(--space-6);align-items:flex-end}.erv-widget--bottom-left{bottom:var(--space-6);left:var(--space-6);align-items:flex-start}.erv-widget--top-right{top:var(--space-6);right:var(--space-6);align-items:flex-end;flex-direction:column-reverse}.erv-widget--top-left{top:var(--space-6);left:var(--space-6);align-items:flex-start;flex-direction:column-reverse}.erv-widget--panel-open{gap:0}.erv-panel{width:clamp(320px,calc(100vw - 48px),380px);max-height:min(580px,calc(100vh - 120px));display:flex;flex-direction:column;border-radius:var(--erv-radius-xl);background:var(--erv-glass-bg);backdrop-filter:var(--erv-glass-blur);-webkit-backdrop-filter:var(--erv-glass-blur);border-top:1px solid var(--erv-glass-border);border-left:1px solid var(--erv-glass-border);border-right:1px solid var(--erv-panel-edge-faint);border-bottom:1px solid var(--erv-panel-edge-faint);box-shadow:var(--erv-glass-shadow);overflow:hidden;opacity:0;pointer-events:none;visibility:hidden;height:0;transition:opacity var(--dur-base) ease,visibility 0ms ease var(--dur-base),height 0ms ease var(--dur-base)}.erv-panel--visible{height:auto}.erv-panel--open{opacity:1;pointer-events:auto;visibility:visible;transition:opacity var(--dur-base) ease,visibility 0ms ease 0ms,height 0ms ease 0ms}@media(prefers-reduced-motion:reduce){.erv-panel,.erv-panel--open,.erv-fab,.erv-fab.erv-fab--open{animation:none;transition-duration:0ms}}.erv-panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--erv-outline-variant);background:var(--erv-panel-header-bg);flex-shrink:0}.erv-panel-header-left{display:flex;align-items:center;gap:10px}.erv-panel-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;border:2px solid var(--erv-outline-variant)}.erv-panel-avatar-icon{position:relative;width:36px;height:36px;border-radius:50%;background:var(--erv-gradient-primary);flex-shrink:0;overflow:hidden}.erv-live-dot-small{display:block;width:10px;height:10px;border-radius:50%;background:var(--erv-tertiary);box-shadow:0 0 8px var(--erv-live-dot-glow)}.erv-panel-header-text{display:flex;flex-direction:column;gap:1px}.erv-panel-title{font-family:var(--erv-font-display);font-size:var(--text-sm);font-weight:var(--type-heading-weight);letter-spacing:var(--type-heading-ls);color:var(--erv-on-surface);line-height:var(--lh-snug)}.erv-panel-greeting{font-size:var(--text-xs);color:var(--erv-on-surface-variant);line-height:var(--lh-snug)}.erv-panel-close{all:unset;cursor:pointer;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;color:var(--erv-on-surface-variant);transition:background .15s,color .15s}.erv-panel-close:hover{background:var(--erv-panel-close-hover-bg);color:var(--erv-on-surface)}.erv-panel-close svg{width:20px;height:20px}.erv-panel-close-x{display:none}.erv-panel-body{flex:1;overflow:hidden;display:flex;flex-direction:column}.erv-panel-footer{padding:8px 16px;border-top:1px solid var(--erv-outline-variant);text-align:center}.erv-panel-footer p{margin:0;font-size:var(--text-2xs);color:var(--erv-outline)}.erv-back-btn{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--erv-on-surface-variant);padding:var(--space-2) var(--space-4) var(--space-1);transition:color .15s;flex-shrink:0}.erv-back-btn:hover{color:var(--erv-primary)}.erv-back-btn svg{width:16px;height:16px}.erv-chooser{padding:20px 16px;display:flex;flex-direction:column;gap:12px;flex:1}.erv-chooser-prompt{margin:0;font-size:var(--text-sm);line-height:var(--lh-normal);color:var(--erv-on-surface-variant)}.erv-chooser-tiles{display:flex;flex-direction:column;gap:10px}.erv-tile{all:unset;cursor:pointer;position:relative;display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:var(--erv-radius-lg);background:var(--erv-tile-bg);backdrop-filter:blur(8px);border:1px solid var(--erv-tile-border);overflow:hidden;transition:border-color .25s,background .25s,box-shadow .25s}.erv-tile:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,var(--erv-tile-shimmer),transparent);opacity:0;transition:opacity .35s}.erv-tile--chat:hover{border-color:var(--erv-tile-chat-hover-border);background:var(--erv-tile-bg-hover);box-shadow:var(--erv-tile-chat-hover-shadow)}.erv-tile--voice:hover{border-color:var(--erv-tile-voice-hover-border);background:var(--erv-tile-bg-hover);box-shadow:var(--erv-tile-voice-hover-shadow)}.erv-tile:hover:before{opacity:1}.erv-tile-icon{position:relative;z-index:1;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .2s,background .2s}.erv-tile--chat .erv-tile-icon{background:var(--erv-icon-chat-bg);border:1px solid var(--erv-icon-chat-border);color:var(--erv-primary)}.erv-tile--voice .erv-tile-icon{background:var(--erv-icon-voice-bg);border:1px solid var(--erv-icon-voice-border);color:var(--erv-secondary)}.erv-tile:hover .erv-tile-icon{transform:scale(1.08)}.erv-tile--chat:hover .erv-tile-icon{background:var(--erv-icon-chat-hover-bg)}.erv-tile--voice:hover .erv-tile-icon{background:var(--erv-icon-voice-hover-bg)}.erv-tile-icon svg{width:22px;height:22px}.erv-tile-body{position:relative;z-index:1;display:flex;flex-direction:column;gap:3px;flex:1}.erv-tile-label{font-family:var(--erv-font-display);font-size:var(--text-sm);font-weight:var(--type-heading-weight);letter-spacing:var(--type-heading-ls);color:var(--erv-on-surface);line-height:var(--lh-snug)}.erv-tile-hint{font-size:var(--text-xs);color:var(--erv-on-surface-variant);line-height:var(--lh-snug)}.erv-tile-arrow{position:relative;z-index:1;color:var(--erv-outline);opacity:.5;transition:opacity .2s,transform .2s}.erv-tile:hover .erv-tile-arrow{opacity:1;transform:translate(3px)}.erv-tile-arrow svg{width:18px;height:18px}.erv-chat{display:flex;flex-direction:column;flex:1;overflow:hidden}.erv-chat-banner{margin:var(--space-2) var(--space-3) 0;padding:var(--space-2) var(--space-3);border-radius:var(--erv-radius-sm);font-size:var(--text-xs);background:var(--erv-chat-banner-bg);color:var(--erv-on-surface-variant);border:1px solid var(--erv-outline-variant)}.erv-chat-banner--error{background:var(--erv-error-container-bg);color:var(--erv-error);border-color:var(--erv-error-border)}.erv-chat-messages{flex:1;overflow-y:auto;padding:12px 14px;display:flex;flex-direction:column;gap:12px;scrollbar-width:thin;scrollbar-color:var(--erv-scrollbar-fg) transparent}.erv-chat-messages::-webkit-scrollbar{width:4px}.erv-chat-messages::-webkit-scrollbar-thumb{background:var(--erv-scrollbar-fg);border-radius:10px}.erv-chat-empty{margin:0;font-size:var(--text-sm);color:var(--erv-outline);text-align:center;padding:var(--space-6) 0}.erv-msg{display:flex;max-width:88%}.erv-msg--agent{max-width:100%;align-self:stretch}.erv-msg--user{align-self:flex-end}.erv-msg-bubble{padding:var(--space-2-5) var(--space-4);border-radius:var(--erv-radius-lg);font-size:var(--text-sm);line-height:var(--lh-normal);white-space:pre-wrap;word-break:break-word}.erv-msg--agent .erv-msg-bubble{background:var(--erv-agent-bubble-bg);backdrop-filter:blur(8px);border:1px solid var(--erv-agent-bubble-border);color:var(--erv-on-surface);border-radius:var(--erv-radius-lg);border-top-left-radius:4px}.erv-msg--user .erv-msg-bubble{background:var(--erv-user-bubble-bg);color:var(--erv-on-surface);border:1px solid var(--erv-user-bubble-border);box-shadow:none;border-radius:var(--erv-radius-lg);border-top-right-radius:4px}.erv-msg--agent .erv-msg-bubble--markdown{min-width:0;flex:1;white-space:normal;overflow-wrap:anywhere}.erv-msg-bubble--markdown>:first-child{margin-top:0}.erv-msg-bubble--markdown>:last-child{margin-bottom:0}.erv-msg-bubble--markdown p{margin:0 0 .65em}.erv-msg-bubble--markdown p:last-child{margin-bottom:0}.erv-msg-bubble--markdown h1,.erv-msg-bubble--markdown h2,.erv-msg-bubble--markdown h3{margin:.85em 0 .4em;font-weight:600;line-height:1.3}.erv-msg-bubble--markdown h1:first-child,.erv-msg-bubble--markdown h2:first-child,.erv-msg-bubble--markdown h3:first-child{margin-top:0}.erv-msg-bubble--markdown h1{font-size:var(--text-base)}.erv-msg-bubble--markdown h2,.erv-msg-bubble--markdown h3{font-size:var(--text-sm)}.erv-msg-bubble--markdown ul,.erv-msg-bubble--markdown ol{margin:0 0 .65em;padding-left:1.25em;list-style-position:outside}.erv-msg-bubble--markdown ul{list-style-type:disc}.erv-msg-bubble--markdown ol{list-style-type:decimal}.erv-msg-bubble--markdown ul ul{list-style-type:circle}.erv-msg-bubble--markdown ul ul ul{list-style-type:square}.erv-msg-bubble--markdown li+li{margin-top:.25em}.erv-msg-bubble--markdown li>ul,.erv-msg-bubble--markdown li>ol{margin-top:.25em;margin-bottom:0}.erv-msg-bubble--markdown a{color:var(--erv-primary);text-decoration:underline;text-underline-offset:2px}.erv-msg-bubble--markdown a:hover{color:var(--erv-brand-hot)}.erv-msg-bubble--markdown code{font-family:var(--font-mono);font-size:.9em;padding:.1em .35em;border-radius:4px;background:color-mix(in srgb,var(--erv-on-surface) 8%,transparent)}.erv-msg-bubble--markdown pre{margin:0 0 .65em;padding:10px 12px;border-radius:var(--erv-radius-sm);background:color-mix(in srgb,var(--erv-on-surface) 6%,transparent);border:1px solid var(--erv-outline-variant);overflow-x:auto;max-width:100%}.erv-msg-bubble--markdown pre code{padding:0;background:none;font-size:var(--text-xs);white-space:pre}.erv-msg-bubble--markdown blockquote{margin:0 0 .65em;padding-left:.75em;border-left:3px solid var(--erv-outline-variant);color:var(--erv-on-surface-variant)}.erv-msg-bubble--markdown table{display:block;width:100%;max-width:100%;margin:0 0 .65em;border-collapse:collapse;overflow-x:auto}.erv-msg-bubble--markdown th,.erv-msg-bubble--markdown td{padding:var(--space-1-5) var(--space-2);border:1px solid var(--erv-outline-variant);text-align:left;font-size:var(--text-sm)}.erv-msg-bubble--markdown th{background:color-mix(in srgb,var(--erv-on-surface) 6%,transparent);font-weight:600}.erv-typing-dots{display:inline-flex;align-items:center;gap:5px;min-height:calc(var(--text-sm) * var(--lh-normal));min-width:28px}.erv-typing-dots span{display:block;width:6px;height:6px;border-radius:50%;background:var(--erv-on-surface-variant);animation:erv-typing 1.2s ease-in-out infinite}.erv-typing-dots span:nth-child(2){animation-delay:.15s}.erv-typing-dots span:nth-child(3){animation-delay:.3s}@media(prefers-reduced-motion:reduce){.erv-typing-dots span{animation:none}}@keyframes erv-typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.erv-chat-footer{border-top:1px solid var(--erv-outline-variant);padding:10px 12px;background:var(--erv-chat-footer-bg);flex-shrink:0}.erv-new-chat-btn{all:unset;cursor:pointer;display:block;width:100%;text-align:center;font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--erv-primary);padding:8px;border-radius:var(--erv-radius-sm);transition:background .15s}.erv-chat-closed-actions{display:flex;flex-direction:column;gap:6px}.erv-start-call-btn{all:unset;cursor:pointer;display:block;width:100%;text-align:center;font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--ink-950);padding:10px 8px;border-radius:var(--erv-radius-sm);background:var(--erv-gradient-primary);transition:opacity .15s}.erv-start-call-btn:hover{opacity:.92}.erv-chat-session-end{display:flex;align-items:center;gap:10px;margin-top:4px;color:var(--erv-on-surface-variant);font-size:var(--text-xs)}.erv-chat-session-end__line{flex:1;height:1px;background:var(--erv-outline-variant)}.erv-chat-session-end__label{flex-shrink:0;white-space:nowrap}.erv-new-chat-btn:hover{background:var(--erv-new-chat-hover-bg)}.erv-chat-input-row{display:flex;align-items:flex-end;gap:8px}.erv-chat-input{all:unset;flex:1;font-family:var(--erv-font);font-size:var(--text-base);color:var(--erv-on-surface);background:var(--erv-chat-input-bg);border:1px solid var(--erv-chat-input-border);border-radius:var(--erv-radius);padding:10px 14px;resize:none;line-height:1.5;min-height:42px;max-height:120px;overflow-y:auto;transition:border-color .2s,box-shadow .2s;display:block;box-sizing:border-box;width:100%}.erv-chat-input::placeholder{color:var(--erv-outline)}.erv-chat-input:focus{border-color:var(--erv-focus-ring);box-shadow:0 0 0 3px var(--erv-focus-glow);outline:none}.erv-chat-send{all:unset;cursor:pointer;width:40px;height:40px;border-radius:var(--erv-radius);background:var(--erv-gradient-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:var(--erv-chat-send-shadow);transition:box-shadow .2s,transform .1s}.erv-chat-send:hover:not(:disabled){box-shadow:var(--erv-chat-send-shadow-hover);transform:scale(1.05)}.erv-chat-send:active:not(:disabled){transform:scale(.95)}.erv-chat-send:disabled{opacity:.4;cursor:not-allowed}.erv-chat-send svg{width:18px;height:18px;color:#fff}.erv-voice{display:flex;flex-direction:column;align-items:center;flex:1;padding:16px 20px 20px;gap:16px;position:relative;z-index:0;overflow:hidden}.erv-voice .erv-back-btn{align-self:flex-start;position:relative;z-index:1}.erv-voice:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 70% 20%,var(--erv-voice-nebula-a),transparent 60%),radial-gradient(circle at 30% 80%,var(--erv-voice-nebula-b),transparent 60%);pointer-events:none}.erv-voice-orb-wrap{position:relative;z-index:0;width:120px;height:120px;display:flex;align-items:center;justify-content:center;margin-top:8px}.erv-voice-ring{position:absolute;border-radius:50%}.erv-voice-ring--outer{inset:0;border:1px solid var(--erv-voice-ring-border)}.erv-voice-ring--mid{inset:10px;border:2px solid transparent;background:linear-gradient(var(--erv-surface-container),var(--erv-surface-container)) padding-box,var(--erv-voice-ring-mid-edge) border-box;opacity:.45;filter:blur(4px)}.erv-voice-orb{position:relative;width:64px;height:64px;border-radius:50%;background:var(--erv-voice-orb-fill);box-shadow:0 0 calc(20px + var(--erv-audio, 0) * 30px) var(--erv-voice-orb-glow-a),0 0 calc(8px + var(--erv-audio, 0) * 16px) var(--erv-voice-orb-glow-b);overflow:hidden;transition:box-shadow .1s}.erv-voice-orb-shine{position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(to bottom,rgba(255,255,255,.4),transparent);border-radius:50% 50% 0 0}.erv-voice-glow{position:absolute;width:80px;height:80px;border-radius:50%;background:var(--erv-voice-bg-glow);filter:blur(24px);z-index:-1}.erv-voice--connecting .erv-voice-ring--outer{animation:erv-pulse-ring 1.8s ease-in-out infinite}@keyframes erv-pulse-ring{0%,to{opacity:.25;transform:scale(1)}50%{opacity:.6;transform:scale(1.06)}}.erv-voice--live .erv-voice-orb{box-shadow:0 0 30px var(--erv-voice-live-orb-shadow-a),0 0 60px var(--erv-voice-live-orb-shadow-b)}.erv-wave-bars{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:4px;height:48px}.erv-wave-bar{display:block;width:3px;height:20px;border-radius:3px;background:var(--erv-wave-gradient);opacity:.2;transform:scaleY(1);transform-origin:center;transition:none}.erv-wave-bar:nth-child(odd){animation:erv-wave-idle 2.4s ease-in-out infinite}.erv-wave-bar:nth-child(2n){animation:erv-wave-idle 2.4s ease-in-out infinite .4s}.erv-voice--live .erv-wave-bar,.erv-voice--connecting .erv-wave-bar{animation:none}@keyframes erv-wave-idle{0%,to{opacity:.15;transform:scaleY(.6)}50%{opacity:.35;transform:scaleY(1.2)}}.erv-voice-status{position:relative;z-index:1;margin:0;font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--erv-on-surface);text-align:center;line-height:var(--lh-snug)}.erv-voice--live .erv-voice-status{color:var(--erv-tertiary)}.erv-voice-preflight{position:relative;z-index:1;margin:0;font-size:var(--text-xs);color:var(--erv-on-surface-variant);text-align:center;max-width:260px;line-height:var(--lh-normal)}.erv-voice-controls{position:relative;z-index:1;margin-top:auto;width:100%;display:flex;justify-content:center}.erv-voice-btn{all:unset;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:var(--space-3) var(--space-7);border-radius:var(--erv-radius-full);font-size:var(--text-sm);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wide);font-family:var(--erv-font);transition:transform .1s,box-shadow .2s}.erv-voice-btn:active{transform:scale(.96)}.erv-voice-btn--start{background:var(--erv-gradient-primary);color:var(--ink-950)}.erv-voice-btn--start:hover:not(:disabled){background:var(--cyan-400)}.erv-voice-btn--start:disabled{opacity:.65;cursor:not-allowed}.erv-voice-btn--hangup{background:#93000ab3;color:var(--erv-error);border:1px solid rgba(255,180,171,.2);box-shadow:0 0 20px #93000a4d}.erv-voice-btn--hangup:hover{background:#93000ae6;box-shadow:0 0 28px #93000a80}.erv-voice-btn--hangup svg{width:20px;height:20px}.erv-voice-btn--retry{background:var(--erv-voice-retry-bg);color:var(--erv-on-surface);border:1px solid var(--erv-outline-variant)}.erv-voice-btn--retry:hover{background:var(--erv-voice-retry-bg-hover)}.erv-voice-btn--start svg{width:20px;height:20px}.erv-voice-spinner{display:inline-block;width:18px;height:18px;border:2px solid color-mix(in srgb,var(--ink-950) 30%,transparent);border-top-color:var(--ink-950);border-radius:50%;animation:erv-spin .7s linear infinite}@keyframes erv-spin{to{transform:rotate(360deg)}}.erv-launcher-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-2-5);position:relative;pointer-events:auto;flex-shrink:0}.erv-launcher-wrap--hidden{height:0;min-height:0;overflow:hidden;margin:0;padding:0;gap:0}.erv-fab{all:unset;cursor:pointer;position:relative;width:60px;height:60px;border-radius:50%;background:var(--erv-gradient-primary);display:flex;align-items:center;justify-content:center;box-shadow:var(--erv-fab-shadow-brand),0 4px 16px #0000002e;opacity:1;visibility:visible;transition:transform .15s,box-shadow .15s,opacity var(--dur-base) ease,visibility 0ms linear var(--dur-base);overflow:hidden}.erv-fab:before{content:"";position:absolute;inset:0;border-radius:50%;background:#fff0;transition:background .2s}.erv-fab:hover:before{background:#ffffff1a}.erv-fab:hover{transform:scale(1.06);box-shadow:var(--erv-fab-shadow-brand-hover),0 4px 20px #00000038}.erv-fab:active{transform:scale(.95)}.erv-fab.erv-fab--open{opacity:0;visibility:hidden;pointer-events:none;transform:scale(1)}.erv-fab.erv-fab--open:hover{transform:scale(1)}.erv-fab.erv-fab--textured,.erv-panel-avatar-icon.erv-panel-avatar-icon--textured{background-color:var(--erv-brand);background-image:url(/assets/widget/agent-wave-texture.jpg);background-size:cover;background-position:center;background-repeat:no-repeat;background-blend-mode:luminosity}.erv-fab-logo{width:28px;height:28px;object-fit:contain;border-radius:4px;position:relative;z-index:1}.erv-invite{position:absolute;right:0;bottom:calc(100% + var(--space-2-5));display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--erv-radius);background:var(--erv-invite-bg);backdrop-filter:var(--erv-glass-blur);-webkit-backdrop-filter:var(--erv-glass-blur);border-top:1px solid var(--erv-glass-border);border-left:1px solid var(--erv-glass-border);border-right:1px solid var(--erv-panel-edge-faint);border-bottom:1px solid var(--erv-panel-edge-faint);animation:erv-fade-up .3s ease;z-index:2}@keyframes erv-fade-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.erv-invite-dot{position:relative;display:flex;width:10px;height:10px;flex-shrink:0}.erv-invite-dot:before,.erv-invite-dot:after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--erv-primary-container)}.erv-invite-dot:before{animation:erv-ping 1.2s cubic-bezier(0,0,.2,1) infinite}@keyframes erv-ping{75%,to{transform:scale(1.8);opacity:0}}.erv-invite-text{font-family:var(--erv-font);font-size:var(--text-sm);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wide);line-height:var(--lh-snug);color:var(--erv-on-surface);white-space:nowrap;max-width:min(280px,calc(100vw - 7.5rem));overflow:hidden;text-overflow:ellipsis}.erv-invite-dismiss{all:unset;cursor:pointer;font-size:18px;line-height:1;color:var(--erv-outline);transition:color .15s;padding:0 2px}.erv-invite-dismiss:hover{color:var(--erv-on-surface)}.erv-live-badge{position:absolute;right:0;bottom:calc(100% + var(--space-2-5));display:inline-flex;align-items:center;gap:var(--space-1-5);padding:var(--space-1) var(--space-2-5);border-radius:var(--erv-radius-full);background:var(--erv-live-badge-bg);border:1px solid var(--erv-live-badge-border);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--erv-tertiary);letter-spacing:var(--ls-wider);text-transform:uppercase;backdrop-filter:blur(8px);animation:erv-fade-up .2s ease;z-index:2}.erv-live-dot{display:block;width:7px;height:7px;border-radius:50%;background:var(--erv-tertiary);box-shadow:0 0 6px var(--erv-live-dot-glow);animation:erv-live-pulse 1.5s ease-in-out infinite}@keyframes erv-live-pulse{0%,to{opacity:1}50%{opacity:.5}}.erv-fab--highlighted{box-shadow:0 0 0 3px var(--cyan-500),var(--erv-fab-shadow-brand)}.erv-demo-root .evai-check{display:inline-flex;align-items:flex-start;gap:var(--space-3);cursor:pointer;user-select:none;width:100%}.erv-demo-root .evai-check__input{position:absolute;opacity:0;width:0;height:0}.erv-demo-root .evai-check__box{width:20px;height:20px;flex:none;margin-top:1px;border-radius:var(--radius-xs);background:var(--surface-inset, var(--erv-surface-low));border:1.5px solid var(--border-strong, var(--erv-outline));display:inline-flex;align-items:center;justify-content:center;color:var(--ink-950, var(--erv-on-surface));transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.erv-demo-root .evai-check__box svg{width:14px;height:14px;stroke-width:3;opacity:0;transform:scale(.6);transition:opacity var(--dur-fast),transform var(--dur-fast) var(--ease-spring)}.erv-demo-root .evai-check__input:checked+.evai-check__box{background:var(--cyan-500, var(--erv-brand));border-color:var(--cyan-500, var(--erv-brand))}.erv-demo-root .evai-check__input:checked+.evai-check__box svg{opacity:1;transform:scale(1)}.erv-demo-root .evai-check__input:focus-visible+.evai-check__box{box-shadow:var(--shadow-focus, 0 0 0 2px var(--erv-focus-ring))}.erv-demo-root .evai-check__input:disabled+.evai-check__box{opacity:.4}.erv-demo-root .evai-check__text{font-size:14px;color:var(--text-primary, var(--erv-on-surface));line-height:1.35}.erv-demo-root .erv-consent .evai-check__text{font-size:var(--text-xs);color:var(--text-muted, var(--erv-on-surface-variant));line-height:var(--lh-snug)}.erv-panel-nudge{flex-shrink:0;padding:12px 16px 16px;border-top:1px solid var(--erv-outline-variant);background:var(--erv-chat-footer-bg)}.erv-panel-nudge-note{margin:0;text-align:center}.erv-panel-nudge-link{padding:0;border:none;background:none;font-family:var(--erv-font);font-size:var(--text-sm);font-weight:var(--fw-semibold);line-height:var(--lh-snug);color:var(--erv-on-surface-variant);cursor:pointer;text-decoration:underline;text-underline-offset:3px}.erv-panel-nudge-link:hover{color:var(--erv-on-surface)}@media(max-width:480px){.erv-panel{width:100vw;max-height:none;border-radius:0;border:none;transform:translateY(100%);transition:opacity var(--dur-base) ease,transform var(--dur-base) ease,visibility 0ms ease var(--dur-base),height 0ms ease var(--dur-base)}.erv-panel.erv-panel--visible{position:fixed;left:0;right:0;top:var(--erv-vvtop, 0px);height:var(--erv-vvh, 100dvh);z-index:1}.erv-panel--open{transform:translateY(0)}.erv-panel-header{padding:14px 16px;padding-top:max(14px,env(safe-area-inset-top))}.erv-panel-close{width:36px;height:36px}.erv-panel-close-chevron{display:none}.erv-panel-close-x{display:block}.erv-panel-footer{padding-bottom:max(8px,env(safe-area-inset-bottom))}.erv-panel-nudge{padding-bottom:max(16px,env(safe-area-inset-bottom))}.erv-chat-input-row{padding-bottom:max(8px,env(safe-area-inset-bottom))}.erv-voice-controls{padding-bottom:max(12px,env(safe-area-inset-bottom))}}.demo-dev-banner{position:fixed;bottom:var(--space-4);left:var(--space-4);z-index:57;max-width:min(320px,calc(100vw - var(--space-8)));padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--surface-raised);border:1px solid var(--border-subtle);color:var(--text-secondary);font-size:var(--text-xs)}
