.agent-viewer{--av-size:150px;--accent:var(--cyan);display:inline-grid;justify-items:center;gap:14px;color:var(--accent)}.agent-viewer[data-size=xs]{--av-size:44px;gap:0}.agent-viewer[data-size=sm]{--av-size:84px}.agent-viewer[data-size=md]{--av-size:150px}.agent-viewer[data-size=lg]{--av-size:232px}.agent-viewer[data-size=xl]{--av-size:340px}.av-stage{position:relative;width:var(--av-size);height:var(--av-size);display:grid;place-items:center;animation:floaty 4s ease-in-out infinite;animation-delay:var(--bob-delay,0s)}.av-aura,.av-aura:after{position:absolute;inset:6%;border-radius:50%;border:1px solid color-mix(in oklab,var(--accent) 55%,transparent)}.av-aura,.av-aura:after{animation:pulse-ring 2.8s var(--ease-out-expo) infinite}.av-aura:after{content:"";inset:-2px;animation-delay:1.2s}.av-cloud{width:96%;height:96%;display:grid;place-items:center;filter:drop-shadow(0 8px 16px color-mix(in oklab,var(--accent) 28%,rgba(63,110,168,.35)))}.av-cloud svg{width:100%;height:auto}.av-body{position:relative;width:74%;height:74%;border-radius:38% 38% 44% 44%;background:radial-gradient(58% 48% at 33% 26%,rgba(255,255,255,.92),transparent 60%),radial-gradient(120% 120% at 50% 16%,color-mix(in oklab,var(--accent) 72%,white),color-mix(in oklab,var(--accent) 55%,var(--char-hue,var(--accent))) 44%,#241d40 100%);box-shadow:0 0 0 1px color-mix(in oklab,var(--accent) 40%,transparent),0 0 38px color-mix(in oklab,var(--accent) 45%,transparent),inset 0 -10px 26px rgba(28,20,48,.42);display:grid;place-items:center}.av-face{position:relative;width:72%;height:62%;margin-top:6%;border-radius:44%;background:radial-gradient(circle at 50% 40%,rgba(48,40,82,.95),rgba(32,27,58,.97));box-shadow:inset 0 2px 8px rgba(20,14,40,.45);display:flex;align-items:center;justify-content:center;gap:18%}.av-eye{width:15%;height:26%;border-radius:50%;background:#eafffb;box-shadow:0 0 10px color-mix(in oklab,var(--accent) 80%,white);transition:transform .2s var(--ease-out-expo),height .2s ease}.av-mouth{position:absolute;bottom:16%;left:50%;transform:translateX(-50%);width:30%;height:12%;border-radius:0 0 60px 60px;border-bottom:3px solid #eafffb;box-sizing:border-box;transition:all .2s var(--ease-out-expo)}.av-face[data-emotion=focused] .av-eye{transform:scaleY(.45)}.av-face[data-emotion=focused] .av-mouth{width:22%;height:0;border-radius:0}.av-face[data-emotion=confident] .av-mouth{width:26%;transform:translateX(-40%) rotate(-8deg)}.av-face[data-emotion=concerned] .av-eye{height:18%;transform:translateY(-12%)}.av-face[data-emotion=concerned] .av-mouth{border-bottom:none;border-top:3px solid #ffd9a0;border-radius:60px 60px 0 0;bottom:12%}.av-face[data-emotion=excited] .av-eye{transform:scale(1.2)}.av-face[data-emotion=excited] .av-mouth{width:34%;height:22%;background:#2a0d1b;border:3px solid #ffe2f3;border-radius:50%}.av-face[data-emotion=paid_action_required] .av-eye{height:30%}.av-face[data-emotion=paid_action_required] .av-mouth{width:14%;height:16%;border:3px solid #ffe08a;border-radius:50%}.av-body[data-style=cyber]{--char-hue:#3fc9a3}.av-body[data-style=pixel]{--char-hue:#f4b53f}.av-body[data-style=fantasy]{--char-hue:#b08cff}.av-body[data-style=robot]{--char-hue:#2bb893}.av-body[data-style=moba]{--char-hue:#ff6f86}.av-body[data-style=cyber]{border-radius:30%}.av-body[data-style=cyber]:before{content:"";position:absolute;inset:14% 8%;border-radius:22%;background:repeating-linear-gradient(180deg,transparent 0 5px,rgba(255,255,255,.06) 5px 6px);pointer-events:none}.av-body[data-style=pixel]{border-radius:14%;image-rendering:pixelated}.av-body[data-style=pixel] .av-eye{border-radius:2px}.av-body[data-style=pixel]:before{content:"";position:absolute;inset:0;border-radius:14%;background-image:linear-gradient(rgba(0,0,0,.12) 1px,transparent 0),linear-gradient(90deg,rgba(0,0,0,.12) 1px,transparent 0);background-size:12% 12%;pointer-events:none}.av-body[data-style=moba]{clip-path:polygon(50% 0,96% 26%,96% 74%,50% 100%,4% 74%,4% 26%);border-radius:0}.av-body[data-style=fantasy]{border-radius:50%}.av-body[data-style=fantasy]:before{content:"";position:absolute;inset:-10%;border-radius:50%;border:1px dashed color-mix(in oklab,var(--accent) 60%,transparent);animation:av-spin 9s linear infinite;pointer-events:none}.av-body[data-style=robot]{border-radius:26% 26% 30% 30%}.av-body[data-style=robot]:before{content:"";position:absolute;top:-16%;left:50%;transform:translateX(-50%);width:6%;height:16%;background:var(--accent);border-radius:3px;box-shadow:0 -3px 0 -1px #eafffb,0 0 10px var(--accent)}.av-stage[data-animation=wave]{animation:av-wave 1.6s ease-in-out infinite}.av-stage[data-animation=think]{animation:av-think 2.4s ease-in-out infinite}.av-stage[data-animation=talk] .av-mouth{animation:av-talk .5s ease-in-out infinite}.av-stage[data-animation=explain]{animation:av-nod 2s ease-in-out infinite}.av-stage[data-animation=use_tool] .av-body{animation:av-charge 1.3s ease-in-out infinite}.av-stage[data-animation=error]{animation:av-shake .5s ease-in-out infinite}.av-stage[data-animation=listen] .av-aura{animation-duration:1.4s}@keyframes av-spin{to{transform:rotate(1turn)}}@keyframes av-wave{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg) translateY(-4px)}}@keyframes av-think{0%,to{transform:translateY(0)}50%{transform:translateY(-6px) rotate(-2deg)}}@keyframes av-nod{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}@keyframes av-talk{0%,to{height:8%}50%{height:20%}}@keyframes av-charge{0%,to{box-shadow:0 0 0 1px color-mix(in oklab,var(--accent) 40%,transparent),0 0 30px color-mix(in oklab,var(--accent) 40%,transparent),inset 0 -10px 26px rgba(2,10,18,.5)}50%{box-shadow:0 0 0 2px var(--accent),0 0 52px color-mix(in oklab,var(--accent) 70%,transparent),inset 0 -10px 26px rgba(2,10,18,.5)}}@keyframes av-shake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px) rotate(-2deg)}75%{transform:translateX(5px) rotate(2deg)}}.av-status{display:inline-flex;align-items:center;gap:8px;padding:5px 12px;border-radius:999px;border:1px solid color-mix(in oklab,var(--accent) 35%,transparent);background:color-mix(in oklab,var(--accent) 10%,transparent);font-family:var(--font-mono,"JetBrains Mono"),ui-monospace,monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--text);white-space:nowrap}.av-status-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent)}.av-status-anim{color:var(--muted)}.av-body{animation:av-breathe 5s ease-in-out infinite;animation-delay:var(--breathe-delay,0s)}@keyframes av-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.018)}}.av-face:after,.av-face:before{content:"";position:absolute;bottom:24%;width:17%;height:9%;border-radius:50%;background:var(--peach,#ffc1a0);filter:blur(2.5px);opacity:0;transition:opacity .35s ease;pointer-events:none}.av-face:before{left:11%}.av-face:after{right:11%}.av-face[data-emotion=confident]:after,.av-face[data-emotion=confident]:before,.av-face[data-emotion=excited]:after,.av-face[data-emotion=excited]:before,.av-face[data-emotion=friendly]:after,.av-face[data-emotion=friendly]:before{opacity:.6}.av-face[data-emotion=confident] .av-eye,.av-face[data-emotion=excited] .av-eye,.av-face[data-emotion=friendly] .av-eye,.av-face[data-emotion=paid_action_required] .av-eye{animation:av-blink 5.2s ease-in-out infinite;animation-delay:var(--blink-delay,0s)}@keyframes av-blink{0%,92%,to{height:26%}94%,96%{height:4%}}