.orb-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px}.orb{width:min(60vw,360px);height:min(60vw,360px)}.orb-ring{fill:none;stroke:#fffffff2;stroke-width:3;transform-origin:center;transform-box:fill-box}.orb-inner{fill:none;stroke:#fffffff2;stroke-width:3;opacity:0;transform-origin:center;transform-box:fill-box}.orb-label{color:#fff9;font-size:11px;letter-spacing:.2em;text-transform:uppercase}.orb--loading .orb-ring{animation:orb-spin 1.6s linear infinite;stroke-dasharray:60 220}.orb--confusing .orb-ring{animation:orb-jitter 1s ease-in-out infinite}.orb--listening .orb-inner{opacity:1;animation:orb-pulse 1.8s ease-in-out infinite}.orb--speaking .orb-ring{animation:orb-breathe .5s ease-in-out infinite;transform:scale(calc(1 + var(--audio-level) * .08))}.orb--happy .orb-ring{animation:orb-bounce 1.2s ease-in-out infinite}.orb--sad .orb-ring{animation:orb-droop 2.4s ease-in-out infinite}.orb--boring .orb-inner{opacity:1;animation:orb-shrink 2s ease-in-out infinite}.orb--angry .orb-ring{animation:orb-shake .4s ease-in-out infinite}.orb--rage .orb-ring{animation:orb-shake .18s ease-in-out infinite;stroke:#ff5b5b}.orb--curious .orb-ring{animation:orb-tilt 1.8s ease-in-out infinite}.orb--waiting .orb-ring{animation:orb-dim 2.6s ease-in-out infinite}.orb--wakeup .orb-ring{animation:orb-burst 1.4s ease-out forwards}.orb--thinking .orb-ring{animation:orb-orbit 2s ease-in-out infinite}.orb--working .orb-ring{animation:orb-spin .9s linear infinite;stroke-dasharray:30 220}.orb--done .orb-ring{animation:orb-flash .6s ease-out forwards}.orb--error .orb-ring{stroke:#ff5b5b;animation:orb-shake .3s ease-in-out infinite}@keyframes orb-spin{to{transform:rotate(360deg)}}@keyframes orb-pulse{0%,to{opacity:.3;transform:scale(.9)}50%{opacity:1;transform:scale(1.05)}}@keyframes orb-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes orb-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes orb-droop{0%,to{transform:translateY(0)}50%{transform:translateY(6px) scale(.97)}}@keyframes orb-shrink{0%,to{transform:scale(1)}50%{transform:scale(.5)}}@keyframes orb-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@keyframes orb-jitter{0%,to{transform:translate(0) rotate(0)}33%{transform:translate(-2px) rotate(-3deg)}66%{transform:translate(2px) rotate(3deg)}}@keyframes orb-tilt{0%,to{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}@keyframes orb-dim{0%,to{opacity:1}50%{opacity:.4}}@keyframes orb-burst{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.2);opacity:1}to{transform:scale(1);opacity:1}}@keyframes orb-orbit{0%,to{transform:rotate(0)}50%{transform:rotate(180deg)}}@keyframes orb-flash{0%{stroke:#6ee06e;transform:scale(1.15)}to{stroke:#fffffff2;transform:scale(1)}}:root{--bg-deep: #0a0a10;--bg-panel: #15151c;--border: #2a2a3a;--text: #e8e8f0;--text-dim: #8888a0;--amber: #ffce5c;--amber-soft: #d49528;--red-blank: #cc2a2a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}html,body,#root{height:100%;margin:0;background:var(--bg-deep);color:var(--text)}.topnav{display:flex;gap:18px;padding:14px 22px;border-bottom:1px solid var(--border)}.topnav a{color:var(--text-dim);text-decoration:none;font-size:13px;letter-spacing:.05em;text-transform:uppercase}.topnav a:hover{color:var(--amber)}
