.emtri-ai-shell{--emtri-primary:#78ff5b;--emtri-accent:#0d1510;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;position:relative;z-index:99990}.emtri-ai-floating{position:fixed;right:22px;bottom:22px}.emtri-ai-launch{border:0;border-radius:999px;background:var(--emtri-accent);color:#fff;display:flex;align-items:center;gap:10px;padding:8px 16px 8px 8px;box-shadow:0 14px 40px rgba(0,0,0,.28);cursor:pointer;font-weight:700}.emtri-ai-launch img,.emtri-ai-avatar img{width:44px;height:44px;border-radius:50%;object-fit:cover}.emtri-ai-monogram{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--emtri-primary);color:#08100a;font-size:22px;font-weight:900}.emtri-ai-panel{width:min(390px,calc(100vw - 24px));height:min(650px,calc(100vh - 40px));background:#0b100d;color:#f6fff7;border:1px solid rgba(120,255,91,.25);border-radius:20px;overflow:hidden;box-shadow:0 20px 70px rgba(0,0,0,.45);display:flex;flex-direction:column}.emtri-ai-floating .emtri-ai-panel{position:absolute;right:0;bottom:0}.emtri-ai-panel[hidden]{display:none}.emtri-ai-panel header{display:flex;align-items:center;gap:11px;padding:14px 15px;background:linear-gradient(135deg,var(--emtri-accent),#17221a);border-bottom:1px solid rgba(255,255,255,.08)}.emtri-ai-avatar{width:44px;height:44px}.emtri-ai-panel header strong,.emtri-ai-panel header small{display:block}.emtri-ai-panel header small{opacity:.65;font-size:11px}.emtri-ai-close{margin-left:auto;background:transparent;border:0;color:#fff;font-size:25px;cursor:pointer}.emtri-ai-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:radial-gradient(circle at top right,rgba(120,255,91,.08),transparent 35%)}.emtri-ai-message{display:flex}.emtri-ai-message>div{max-width:84%;padding:10px 13px;border-radius:15px;white-space:pre-wrap;line-height:1.42;font-size:14px}.emtri-ai-message.assistant>div{background:#182019;border:1px solid rgba(255,255,255,.07);border-bottom-left-radius:4px}.emtri-ai-message.user{justify-content:flex-end}.emtri-ai-message.user>div{background:var(--emtri-primary);color:#071008;border-bottom-right-radius:4px}.emtri-ai-prompts{display:flex;gap:7px;overflow-x:auto;padding:8px 12px}.emtri-ai-prompts button{white-space:nowrap;border:1px solid rgba(120,255,91,.3);background:#131a15;color:#eaffea;border-radius:999px;padding:7px 10px;font-size:11px;cursor:pointer}.emtri-ai-form{display:flex;gap:8px;padding:12px;border-top:1px solid rgba(255,255,255,.08)}.emtri-ai-form textarea{flex:1;resize:none;background:#161d18;color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:13px;padding:11px;min-height:43px;max-height:100px}.emtri-ai-form button{width:43px;border:0;border-radius:13px;background:var(--emtri-primary);cursor:pointer;font-size:18px}.emtri-ai-panel footer{text-align:center;font-size:10px;opacity:.55;padding:0 10px 8px}.emtri-ai-age{position:absolute;inset:0;background:rgba(5,8,6,.96);z-index:5;display:grid;place-items:center;padding:30px;text-align:center}.emtri-ai-age[hidden]{display:none}.emtri-ai-age strong{font-size:24px}.emtri-ai-age button{display:block;width:100%;margin-top:10px;border-radius:12px;padding:11px;border:0;cursor:pointer}.emtri-ai-confirm{background:var(--emtri-primary);font-weight:800}.emtri-ai-decline{background:#252c27;color:#fff}.thinking span{animation:emtriPulse 1s infinite}@keyframes emtriPulse{50%{opacity:.25}}@media(max-width:520px){.emtri-ai-floating{right:12px;bottom:12px}.emtri-ai-floating .emtri-ai-panel{position:fixed;inset:8px;width:auto;height:auto}.emtri-ai-launch span{display:none}}
.emtri-ai-form .emtri-ai-mic,.emtri-ai-form .emtri-ai-audio-toggle{flex:0 0 42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.07);color:#fff;cursor:pointer;font-size:18px}.emtri-ai-form .emtri-ai-mic.recording{animation:emtri-pulse 1s infinite;background:#d62828}.emtri-ai-recording-status{padding:7px 16px;text-align:center;font-size:12px;color:#fff;background:rgba(214,40,40,.22)}.emtri-ai-audio{display:none}@keyframes emtri-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}
.emtri-ai-voice-stage{padding:16px;text-align:center;border-bottom:1px solid rgba(255,255,255,.08)}
.emtri-ai-orb{width:104px;height:104px;margin:0 auto 12px;border-radius:50%;display:grid;place-items:center;position:relative;box-shadow:0 0 0 0 rgba(120,255,91,.25);transition:.25s ease}
.emtri-ai-orb-inner{width:82px;height:82px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#172018;border:2px solid var(--emtri-primary)}
.emtri-ai-orb-inner img{width:100%;height:100%;object-fit:cover}.emtri-ai-orb .emtri-ai-monogram{font-size:32px;font-weight:800;color:var(--emtri-primary)}
.emtri-ai-orb.listening{animation:emtriPulse 1.6s infinite}.emtri-ai-orb.speaking{animation:emtriSpeak .75s infinite alternate}.emtri-ai-orb.thinking{opacity:.72;transform:scale(.96)}
@keyframes emtriPulse{0%{box-shadow:0 0 0 0 rgba(120,255,91,.32)}70%{box-shadow:0 0 0 20px rgba(120,255,91,0)}100%{box-shadow:0 0 0 0 rgba(120,255,91,0)}}
@keyframes emtriSpeak{from{transform:scale(1)}to{transform:scale(1.06);box-shadow:0 0 24px rgba(120,255,91,.42)}}
.emtri-ai-talk{border:0;border-radius:999px;padding:11px 20px;background:var(--emtri-primary);color:#081009;font-weight:800;cursor:pointer}
.emtri-ai-live-controls{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.emtri-ai-live-controls button{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:#fff;border-radius:999px;padding:8px 11px;cursor:pointer}.emtri-ai-end{border-color:#ff7e7e!important;color:#ffb1b1!important}

/* v0.4 Animated ECHO */
.emtri-ai-voice-stage{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:18px 16px 16px;background:radial-gradient(circle at 50% 38%,rgba(120,255,91,.15),transparent 48%)}
.emtri-ai-character-stage{--mouth-open:0;--emtri-avatar-size:240px;display:flex;flex-direction:column;align-items:center;position:relative;width:100%;min-height:calc(var(--emtri-avatar-size) + 74px);isolation:isolate}
.emtri-ai-character-glow{position:absolute;top:6px;left:50%;width:calc(var(--emtri-avatar-size) + 38px);height:calc(var(--emtri-avatar-size) + 38px);transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle,rgba(120,255,91,.22),rgba(120,255,91,.05) 55%,transparent 72%);border:1px solid rgba(120,255,91,.28);box-shadow:0 0 34px rgba(120,255,91,.16);z-index:-1;transition:.25s ease}
.emtri-ai-character-frame{position:relative;width:var(--emtri-avatar-size);height:var(--emtri-avatar-size);border-radius:50%;overflow:hidden;border:2px solid rgba(120,255,91,.72);background:#111914;box-shadow:0 18px 44px rgba(0,0,0,.44),0 0 28px rgba(120,255,91,.16);transform:translateZ(0)}
.emtri-ai-character-base,.emtri-ai-character-mouth{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;user-select:none;-webkit-user-drag:none}
.emtri-ai-character-mouth{clip-path:inset(47% 23% 25% 23%);transform-origin:50% 60%;transform:scaleY(calc(1 + (var(--mouth-open) * .19))) translateY(calc(var(--mouth-open) * 1.5%));filter:saturate(calc(1 + var(--mouth-open) * .08));will-change:transform}
.emtri-ai-character-blink{position:absolute;inset:0;pointer-events:none;background:linear-gradient(to bottom,transparent 35%,rgba(28,13,8,.78) 39%,rgba(28,13,8,.78) 44%,transparent 47%);opacity:0}
.emtri-ai-character-stage.has-blink .emtri-ai-character-blink{animation:emtriBlink 6.4s infinite}
.emtri-ai-character-stage.has-idle-motion .emtri-ai-character-frame{animation:emtriIdle 5.8s ease-in-out infinite}
.emtri-ai-character-stage[data-state="speaking"] .emtri-ai-character-glow{box-shadow:0 0 58px rgba(120,255,91,.46);transform:translateX(-50%) scale(1.04)}
.emtri-ai-character-stage[data-state="listening"] .emtri-ai-character-glow{animation:emtriListenRing 1.55s infinite}
.emtri-ai-character-stage[data-state="thinking"] .emtri-ai-character-frame{filter:saturate(.82) brightness(.88)}
.emtri-ai-character-stage[data-state="error"] .emtri-ai-character-glow{border-color:#ff6767;box-shadow:0 0 30px rgba(255,80,80,.24)}
.emtri-ai-waveform{height:28px;display:flex;align-items:center;justify-content:center;gap:4px;margin-top:9px}
.emtri-ai-waveform i{display:block;width:3px;height:6px;border-radius:999px;background:var(--emtri-primary);opacity:.55;transition:.15s}
.emtri-ai-character-stage[data-state="speaking"] .emtri-ai-waveform i{animation:emtriWave .56s ease-in-out infinite alternate;opacity:1}
.emtri-ai-character-stage[data-state="speaking"] .emtri-ai-waveform i:nth-child(2),.emtri-ai-character-stage[data-state="speaking"] .emtri-ai-waveform i:nth-child(6){animation-delay:.09s}.emtri-ai-character-stage[data-state="speaking"] .emtri-ai-waveform i:nth-child(3),.emtri-ai-character-stage[data-state="speaking"] .emtri-ai-waveform i:nth-child(5){animation-delay:.18s}.emtri-ai-character-stage[data-state="speaking"] .emtri-ai-waveform i:nth-child(4){animation-delay:.27s}
.emtri-ai-stage-status{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--emtri-primary);min-height:18px}
.emtri-ai-character-monogram{display:grid;place-items:center;width:100%;height:100%;font-size:82px;font-weight:900;color:var(--emtri-primary)}
.emtri-ai-embed .emtri-ai-panel{width:min(980px,100%);height:min(820px,calc(100vh - 40px));margin-inline:auto}
.emtri-ai-embed .emtri-ai-character-stage{--emtri-avatar-size:min(var(--emtri-avatar-size),32vh)}
.emtri-ai-floating .emtri-ai-character-stage{--emtri-avatar-size:min(var(--emtri-avatar-size),190px)}
.emtri-ai-floating .emtri-ai-panel{width:min(430px,calc(100vw - 24px));height:min(760px,calc(100vh - 30px))}
@keyframes emtriIdle{0%,100%{transform:translateY(0) rotate(-.25deg)}50%{transform:translateY(-4px) rotate(.25deg)}}
@keyframes emtriBlink{0%,46%,48%,100%{opacity:0}46.6%,47.35%{opacity:1}}
@keyframes emtriListenRing{0%{transform:translateX(-50%) scale(.98);opacity:.65}70%{transform:translateX(-50%) scale(1.08);opacity:.12}100%{transform:translateX(-50%) scale(.98);opacity:.65}}
@keyframes emtriWave{from{height:5px}to{height:25px}}
@media (prefers-reduced-motion:reduce){.emtri-ai-character-stage.has-idle-motion .emtri-ai-character-frame,.emtri-ai-character-stage.has-blink .emtri-ai-character-blink,.emtri-ai-character-stage[data-state="listening"] .emtri-ai-character-glow,.emtri-ai-character-stage[data-state="speaking"] .emtri-ai-waveform i{animation:none!important}.emtri-ai-character-mouth{transition:none}}
@media(max-width:560px){.emtri-ai-character-stage{--emtri-avatar-size:190px!important;min-height:255px}.emtri-ai-floating{right:10px;bottom:10px}.emtri-ai-panel{border-radius:16px}.emtri-ai-voice-stage{padding-top:12px}}
