.vag-root{z-index:130;place-items:end center;padding:12px;display:grid;position:fixed;inset:0}@media (min-width:640px){.vag-root{place-items:center}}.vag-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:default;background:#0206178c;border:0;position:absolute;inset:0}.vag{--vag-bg:#f8fafc;--vag-card:#fff;--vag-ink:#0f172a;--vag-mut:#475569;--vag-bd:#0f172a1a;--c1:#22d3ee;--c2:#6366f1;--c3:#38bdf8;--lvl:0;border:1px solid var(--vag-bd);background:radial-gradient(120% 60% at 50% 0%, color-mix(in srgb, var(--c2) 14%, transparent), transparent 70%), var(--vag-bg);width:min(440px,100%);max-height:calc(100dvh - 24px);color:var(--vag-ink);border-radius:28px;gap:14px;padding:16px 16px 18px;display:grid;position:relative;overflow-y:auto;box-shadow:0 40px 90px -40px #02061799}.dark .vag{--vag-bg:#0b1020;--vag-card:#121a30;--vag-ink:#e2e8f0;--vag-mut:#94a3b8;--vag-bd:#94a3b82e}.vag[data-variant=overlay]{animation:.28s cubic-bezier(.2,.8,.2,1) vag-rise}.vag[data-variant=embedded]{width:100%;max-height:none;box-shadow:none}@keyframes vag-rise{0%{opacity:0;transform:translateY(18px)scale(.98)}to{opacity:1;transform:none}}.vag[data-state=hearing]{--c1:#34d399;--c2:#10b981;--c3:#a3e635}.vag[data-state=thinking]{--c1:#fbbf24;--c2:#f97316;--c3:#facc15}.vag[data-state=speaking]{--c1:#a78bfa;--c2:#d946ef;--c3:#818cf8}.vag[data-state=paused],.vag[data-state=ended],.vag[data-state=idle]{--c1:#94a3b8;--c2:#64748b;--c3:#cbd5e1}.vag[data-state=idle]{--c1:#22d3ee;--c2:#6366f1;--c3:#a78bfa}.vag-head{align-items:center;gap:8px;display:flex}.vag-head-copy{flex-wrap:wrap;flex:1;align-items:center;gap:6px 10px;min-width:0;display:flex}.vag-title{margin:0;font-size:17px;font-weight:850}.vag-lang{color:var(--vag-ink);background:color-mix(in srgb, var(--c2) 16%, transparent);border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-size:12px;font-weight:800;display:inline-flex}.vag-lang svg{width:14px;height:14px}.vag-ib{border:1px solid var(--vag-bd);background:var(--vag-card);width:44px;height:44px;color:var(--vag-ink);cursor:pointer;border-radius:14px;flex:none;place-items:center;display:grid}.vag-ib svg{width:18px;height:18px}.vag-ib[aria-expanded=true]{border-color:var(--c2);color:var(--c2)}.vag-stage{justify-items:center;gap:12px;padding:6px 0 2px;display:grid}.vag-orb{width:196px;height:196px;transform:scale(calc(.94 + var(--lvl) * .16));transition:transform 80ms linear;position:relative}.vag-blob{filter:blur(16px);opacity:.85;mix-blend-mode:normal;border-radius:46% 54% 52% 48%/52% 46% 54% 48%;position:absolute;inset:18px}.vag-b1{background:var(--c1)}.vag-b2{background:var(--c2);inset:26px 10px 14px 30px}.vag-b3{background:var(--c3);opacity:.7;inset:12px 30px 28px 14px}.vag-core{background:radial-gradient(60% 60% at 35% 30%, #fffffff2, #ffffff59 45%, color-mix(in srgb, var(--c2) 35%, transparent) 100%);box-shadow:inset 0 -10px 30px color-mix(in srgb, var(--c2) 40%, transparent), 0 10px 40px color-mix(in srgb, var(--c1) 45%, transparent);border-radius:999px;position:absolute;inset:40px}.dark .vag-core{background:radial-gradient(60% 60% at 35% 30%, #ffffffb3, #ffffff1f 45%, color-mix(in srgb, var(--c2) 40%, transparent) 100%)}.vag-ring{border:calc(2px + var(--lvl) * 6px) solid color-mix(in srgb, var(--c1) 55%, transparent);opacity:calc(.35 + var(--lvl) * .6);border-radius:999px;position:absolute;inset:6px}.vag-dots{display:none;position:absolute;inset:0}.vag-dots i{background:var(--c1);transform-origin:5px 92px;border-radius:999px;width:10px;height:10px;position:absolute;top:6px;left:calc(50% - 5px)}.vag-dots i:nth-child(2){background:var(--c2);transform:rotate(120deg)}.vag-dots i:nth-child(3){background:var(--c3);transform:rotate(240deg)}.vag[data-state=thinking] .vag-dots{display:block}.vag[data-state=listening] .vag-b1,.vag[data-state=hearing] .vag-b1,.vag[data-state=speaking] .vag-b1,.vag[data-state=thinking] .vag-b1{animation:9s linear infinite vag-turn}.vag[data-state=listening] .vag-b2,.vag[data-state=hearing] .vag-b2,.vag[data-state=speaking] .vag-b2,.vag[data-state=thinking] .vag-b2{animation:12s linear infinite reverse vag-turn}.vag[data-state=listening] .vag-b3,.vag[data-state=hearing] .vag-b3,.vag[data-state=speaking] .vag-b3,.vag[data-state=thinking] .vag-b3{animation:15s linear infinite vag-turn}.vag[data-state=listening] .vag-core{animation:3.2s ease-in-out infinite vag-breathe}.vag[data-state=speaking] .vag-core{animation:1.1s ease-in-out infinite vag-talk}.vag[data-state=speaking] .vag-ring{animation:1.4s ease-out infinite vag-wave}.vag[data-state=thinking] .vag-dots{animation:1.6s linear infinite vag-turn}@keyframes vag-turn{to{transform:rotate(360deg)}}@keyframes vag-breathe{50%{transform:scale(1.04)}}@keyframes vag-talk{0%,to{transform:scale(1)}30%{transform:scale(1.07)}60%{transform:scale(.98)}}@keyframes vag-wave{0%{opacity:.7;transform:scale(.92)}to{opacity:0;transform:scale(1.12)}}.vag-status{text-align:center;justify-items:center;gap:2px;margin:0;display:grid}.vag-status b{font-size:18px;font-weight:850}.vag-status span{max-width:30ch;color:var(--vag-mut);font-size:13.5px;line-height:1.45}.vag-captions{gap:8px;min-height:24px;display:grid}.vag-you{border:1px solid var(--vag-bd);background:var(--vag-card);border-radius:16px;margin:0;padding:10px 12px;font-size:14px;line-height:1.5}.vag-you span{color:var(--vag-mut);font-size:12px;font-weight:800;display:block}.vag-say{text-align:center;color:var(--vag-ink);margin:0;padding:0 4px;font-size:17px;font-weight:700;line-height:1.5}.vag-settings{border:1px solid var(--vag-bd);background:var(--vag-card);border-radius:18px;gap:10px;padding:12px;display:grid}.vag-switch{cursor:pointer;align-items:center;gap:10px;min-height:44px;display:flex}.vag-switch input{opacity:0;width:1px;height:1px;position:absolute}.vag-switch-track{background:#64748b73;border-radius:999px;flex:none;width:42px;height:24px;transition:background-color .15s;position:relative}.vag-switch-track:after{content:"";background:#fff;border-radius:999px;width:18px;height:18px;transition:transform .15s;position:absolute;top:3px;left:3px}.vag-switch input:checked+.vag-switch-track{background:var(--c2)}.vag-switch input:checked+.vag-switch-track:after{transform:translate(18px)}.vag-switch input:focus-visible+.vag-switch-track{outline:2px solid hsl(var(--ring));outline-offset:2px}.vag-switch b{font-size:14px;display:block}.vag-switch small{color:var(--vag-mut);font-size:12.5px;display:block}.vag-rate{background:color-mix(in srgb, var(--vag-mut) 14%, transparent);border-radius:14px;gap:3px;padding:3px;display:flex}.vag-rate button{min-height:40px;color:var(--vag-mut);cursor:pointer;border-radius:11px;flex:1;font-size:13px;font-weight:750}.vag-rate button[aria-checked=true]{color:var(--vag-ink);background:var(--vag-card);box-shadow:0 1px 3px #0f172a2e}.vag-tip{color:var(--vag-mut);margin:0;font-size:13px;line-height:1.45}.vag-problem{background:#f59e0b1a;border:1px solid #f59e0b73;border-radius:16px;align-items:flex-start;gap:8px;padding:10px 12px;font-size:13.5px;font-weight:650;display:flex}.vag-problem svg{color:#d97706;flex:none;width:18px;height:18px;margin-top:1px}.vag-problem p{flex:1;margin:0}.vag-controls{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.vag-btn{border:1px solid var(--vag-bd);background:var(--vag-card);min-height:48px;color:var(--vag-ink);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:14.5px;font-weight:800;display:inline-flex}.vag-btn svg{width:18px;height:18px}.vag-btn:disabled{opacity:.5;cursor:not-allowed}.vag-go{color:#fff;background:linear-gradient(135deg,#0891b2,#4f46e5 55%,#9333ea);border:0;box-shadow:0 12px 28px -14px #4f46e5e6}.vag-end{color:#e11d48;border-color:#e11d4866}.dark .vag-end{color:#fb7185}.vag-quiet[aria-pressed=true]{border-color:var(--c2);color:var(--c2)}.vag-btn:focus-visible,.vag-ib:focus-visible,.vag-rate button:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.vag-log{gap:8px;max-height:240px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.vag-log li{background:var(--vag-card);border:1px solid var(--vag-bd);border-radius:14px;padding:9px 12px}.vag-log li[data-who=tutor]{background:color-mix(in srgb, #a78bfa 10%, var(--vag-card))}.vag-log span{color:var(--vag-mut);font-size:12px;font-weight:800}.vag-log p{white-space:pre-wrap;margin:2px 0 0;font-size:14px;line-height:1.5}.vag-note{text-align:center;color:var(--vag-mut);margin:0;font-size:12.5px;line-height:1.5}@media (prefers-reduced-motion:reduce){.vag,.vag *,.vag-orb{transition:none!important;animation:none!important}.vag-orb{transform:none}}
