.face-root{background:radial-gradient(circle at 50% 40%,#131a2d 0%,#07090f 70%),linear-gradient(#0b1220 0%,#050912 100%);justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.face-svg{width:min(80vmin,640px);height:min(80vmin,640px);filter:drop-shadow(0 0 24px var(--led-color,#5082ff59));transition:filter .24s}.face-halo{opacity:.85;transform-origin:200px 200px;transition:opacity .24s;animation:4s ease-in-out infinite breathe}.face-antenna-tip{fill:var(--led-color,#5082ffb3);filter:drop-shadow(0 0 6px var(--led-color,#5082ff99));animation:1.6s ease-in-out infinite blink-pulse}.face-statusdot{fill:var(--led-color,#5082ffb3);filter:drop-shadow(0 0 3px var(--led-color,#5082ff99));animation:2.4s ease-in-out infinite dot-flash}.face-eye{fill:var(--led-color,#5082ffd9);filter:drop-shadow(0 0 10px var(--led-color,#5082ffb3));transform-origin:50%;transform-box:fill-box;animation:6s infinite eye-blink}.face-eye.right{animation-delay:50ms}.face-mouth-seg{fill:var(--led-color,#5082ffd9);filter:drop-shadow(0 0 4px var(--led-color,#5082ff80));transition:y 80ms linear,height 80ms linear}.face-state-listening .face-halo,.face-state-speaking .face-halo{opacity:1}.face-state-error .face-halo{opacity:.5}.face-state-listening .face-eye{animation-duration:4s}.face-state-speaking .face-eye{animation-duration:10s}.face-state-error .face-eye{animation:none;transform:scaleY(.12)}.face-state-error .face-antenna-tip{animation:.8s ease-in-out infinite error-strobe}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.025)}}@keyframes eye-blink{0%,92%,to{transform:scaleY(1)}94%,96%{transform:scaleY(.08)}}@keyframes blink-pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes dot-flash{0%,60%,to{opacity:1}70%,80%{opacity:.2}}@keyframes error-strobe{0%,to{opacity:1}50%{opacity:.2}}.face-status{top:env(safe-area-inset-top,12px);letter-spacing:.04em;color:#e6ecffbf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f1830b3;border-radius:999px;align-items:center;gap:8px;padding:6px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;display:flex;position:absolute;right:16px}.face-status-dot{background:currentColor;border-radius:50%;width:8px;height:8px;box-shadow:0 0 6px}.face-status-open{color:#58e08a}.face-status-connect{color:#e0c258}.face-status-error{color:#e07172}
