.robot{--robot-shell-top:var(--slate-0);--robot-shell-bottom:var(--slate-100);--robot-visor-top:var(--slate-800);--robot-visor-bottom:var(--slate-900);--robot-outline:var(--slate-300);--robot-accent:var(--accent);--robot-eye:#7dd3fc;align-items:center;gap:var(--space-2);flex-direction:column;width:100%;display:flex}:root[data-theme=dark] .robot{--robot-shell-top:var(--slate-700);--robot-shell-bottom:var(--slate-800);--robot-visor-top:#0a0f1a;--robot-visor-bottom:#0d1424;--robot-outline:var(--slate-600)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .robot{--robot-shell-top:var(--slate-700);--robot-shell-bottom:var(--slate-800);--robot-visor-top:#0a0f1a;--robot-visor-bottom:#0d1424;--robot-outline:var(--slate-600)}}.robot__bubble-slot{justify-content:center;align-items:flex-end;width:100%;min-height:min(44px,5.5vh);display:flex}.robot__bubble{max-width:100%;padding:var(--space-3) var(--space-4);background:var(--bg-raised);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);animation:bubble-in var(--duration-base) var(--ease-spring);position:relative}.robot__bubble-text{font-size:var(--text-base);color:var(--text-primary);text-align:center;overflow-wrap:anywhere;max-height:6.5em;font-weight:500;display:block;overflow-y:auto}.robot__bubble:before,.robot__bubble:after{content:"";border-left:9px solid #0000;border-right:9px solid #0000;width:0;height:0;position:absolute;left:50%}.robot__bubble:before{border-top:9px solid var(--border-default);bottom:-9px;transform:translate(-50%)}.robot__bubble:after{border-top:9px solid var(--bg-raised);bottom:-8px;transform:translate(-50%)}@keyframes bubble-in{0%{opacity:0;transform:translateY(6px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.robot__body{width:min(100%,148px);height:auto;max-height:min(160px,15vh);overflow:visible}.robot__antenna-tip{fill:var(--robot-accent);transform-origin:100px 15px}.robot[data-mood=thinking] .robot__antenna-tip,.robot[data-mood=speaking] .robot__antenna-tip{animation:antenna-pulse 1.1s var(--ease-out) infinite}@keyframes antenna-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.35)}}.robot__glow{opacity:0;transition:opacity var(--duration-slow) var(--ease-out)}.robot[data-mood=speaking] .robot__glow,.robot[data-mood=asking] .robot__glow,.robot[data-mood=thinking] .robot__glow{opacity:1}.robot__eye{fill:var(--robot-eye);transform-origin:50%}.robot__eyes{animation:blink 5.5s var(--ease-out) infinite;transform-origin:100px 76px}@keyframes blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}.robot[data-mood=thinking] .robot__eyes{transition:transform var(--duration-slow) var(--ease-out);transform:translate(6px,-4px)}.robot[data-mood=asking] .robot__eye{fill:var(--robot-accent);animation:eye-attention 1.4s var(--ease-out) infinite}@keyframes eye-attention{0%,to{r:9}50%{r:10.5}}.robot[data-mood=error] .robot__eye{fill:var(--danger)}.robot[data-mood=done] .robot__eye{fill:var(--success)}.robot__mouth path,.robot__mouth circle{stroke:var(--robot-eye);stroke-width:4px;fill:none;opacity:0;transition:opacity var(--duration-fast) var(--ease-out)}.robot__mouth--speak{fill:var(--robot-eye);stroke:none}.robot[data-mood=idle] .robot__mouth--neutral,.robot[data-mood=thinking] .robot__mouth--neutral{opacity:1}.robot[data-mood=done] .robot__mouth--smile{opacity:1;stroke:var(--success)}.robot[data-mood=speaking] .robot__mouth--speak,.robot[data-mood=asking] .robot__mouth--speak{opacity:1;animation:talk .42s var(--ease-out) infinite;transform-origin:100px 97px}.robot[data-mood=error] .robot__mouth--flat{opacity:1;stroke:var(--danger)}@keyframes talk{0%,to{transform:scaleY(.45)}50%{transform:scaleX(.9)}}.robot__core{fill:var(--robot-accent);opacity:.9}.robot__core-ring{fill:none;stroke:var(--robot-accent);stroke-width:2px;opacity:0;transform-origin:100px 171px}.robot[data-mood=thinking] .robot__core-ring,.robot[data-mood=speaking] .robot__core-ring,.robot[data-mood=asking] .robot__core-ring{animation:core-ping 1.5s var(--ease-out) infinite}.robot[data-mood=error] .robot__core{fill:var(--danger)}.robot[data-mood=done] .robot__core{fill:var(--success)}@keyframes core-ping{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(2.1)}}.robot__arm{fill:var(--robot-shell-bottom);stroke:var(--robot-outline);stroke-width:3px}.robot__arm--left{transform-origin:38px 154px}.robot__arm--right{transform-origin:162px 154px}.robot[data-mood=done] .robot__arm--right{animation:wave .7s var(--ease-out) 2}@keyframes wave{0%,to{transform:rotate(0)}50%{transform:rotate(-22deg)}}.robot[data-mood=asking] .robot__arm--right{transition:transform var(--duration-base) var(--ease-spring);transform:rotate(-14deg)}.robot__body{animation:4.5s ease-in-out infinite breathe}@keyframes breathe{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.robot__body,.robot__eyes,.robot__antenna-tip,.robot__core-ring,.robot__arm--right,.robot__mouth--speak{animation:none!important}}
