body,html{background:transparent!important;overflow:hidden!important;margin:0;user-select:none;-webkit-user-select:none;cursor:default}.pet-root{position:fixed;inset:0;pointer-events:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}.pet-sprite{position:absolute;left:50%;bottom:8px;transform:translateX(-50%);width:104px;height:125px;pointer-events:auto;cursor:pointer;transition:transform .18s cubic-bezier(.34,1.56,.64,1)}.pet-sprite:hover{transform:translateX(-50%) scale(1.06)}.pet-sprite.pet-dragging{cursor:grabbing}.pet-bob{animation:pet-bob 5.2s ease-in-out infinite;will-change:transform}@keyframes pet-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.pet-antenna-pulse{animation:pet-antenna 1s ease-in-out infinite;transform-origin:100px 40px}@keyframes pet-antenna{0%,to{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}.pet-halo{animation:pet-halo 3s ease-in-out infinite;transform-origin:100px 40px}@keyframes pet-halo{0%,to{transform:translateY(0);opacity:.85}50%{transform:translateY(-2px);opacity:1}}.pet-arm-sway{animation:pet-arm-sway 3.2s ease-in-out infinite}@keyframes pet-arm-sway{0%,to{transform:rotate(-4deg)}50%{transform:rotate(5deg)}}.pet-wave-l{animation:pet-wave-l .5s ease-in-out infinite}.pet-wave-r{animation:pet-wave-r .5s ease-in-out infinite}@keyframes pet-wave-l{0%,to{transform:rotate(-24deg)}50%{transform:rotate(-46deg)}}@keyframes pet-wave-r{0%,to{transform:rotate(24deg)}50%{transform:rotate(46deg)}}.pet-leg-idle{animation:pet-leg-idle 3.4s ease-in-out infinite}@keyframes pet-leg-idle{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-1px) rotate(3deg)}}.pet-leg-walk{animation:pet-leg-walk .32s ease-in-out infinite}@keyframes pet-leg-walk{0%,to{transform:rotate(-16deg)}50%{transform:rotate(16deg)}}.pet-shadow-walk{animation:pet-shadow-walk .32s ease-in-out infinite}@keyframes pet-shadow-walk{0%,to{transform:scaleX(1)}50%{transform:scaleX(.9)}}.pet-tail-wag{animation:pet-tail-wag 2.6s ease-in-out infinite}.pet-tail-wag-fast{animation:pet-tail-wag .9s ease-in-out infinite}@keyframes pet-tail-wag{0%,to{transform:rotate(-8deg)}50%{transform:rotate(10deg)}}.pet-jelly{animation:pet-jelly 3.2s ease-in-out infinite}@keyframes pet-jelly{0%,to{transform:scale(1)}50%{transform:scale(1.04,.96)}}.pet-float{animation:pet-float 5.6s ease-in-out infinite}@keyframes pet-float{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.pet-twinkle{animation:pet-twinkle 2.4s ease-in-out infinite;transform-box:fill-box;transform-origin:center}@keyframes pet-twinkle{0%,to{opacity:.25;transform:scale(.75)}50%{opacity:1;transform:scale(1.15)}}.pet-bot-pulse{animation:pet-bot-pulse 2s ease-in-out infinite}@keyframes pet-bot-pulse{0%,to{opacity:.55}50%{opacity:1}}.pet-ear-twitch{animation:pet-ear-twitch 5s ease-in-out infinite}@keyframes pet-ear-twitch{0%,92%,to{transform:rotate(0deg)}95%{transform:rotate(-6deg)}98%{transform:rotate(5deg)}}.pet-fab{position:absolute;left:50%;pointer-events:auto;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1px solid color-mix(in srgb,var(--pet-glow) 45%,rgba(0,0,0,.08));background:color-mix(in srgb,#ffffff 80%,transparent);backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);color:var(--pet-ink);box-shadow:0 6px 18px -6px rgba(0,0,0,.4),0 0 16px -4px color-mix(in srgb,var(--pet-glow) 60%,transparent);cursor:pointer;opacity:0;transform:translateX(-50%) translateY(6px) scale(.85);transition:opacity .17s ease,transform .2s cubic-bezier(.34,1.5,.5,1)}.pet-fab.is-visible{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}.pet-fab[data-status=connecting],.pet-fab[data-status=thinking]{animation:pet-fab-warm 1.7s ease-in-out infinite}.pet-fab[data-status=listening]{animation:pet-fab-ring 1.6s ease-out infinite}.pet-fab[data-status=speaking]{animation:pet-fab-ring .85s ease-out infinite}@keyframes pet-fab-ring{0%{box-shadow:0 6px 18px -6px rgba(0,0,0,.4),0 0 0 0 color-mix(in srgb,var(--pet-glow) 70%,transparent)}70%,to{box-shadow:0 6px 18px -6px rgba(0,0,0,.4),0 0 0 9px transparent}}@keyframes pet-fab-warm{0%,to{box-shadow:0 6px 18px -6px rgba(0,0,0,.4),0 0 10px -2px color-mix(in srgb,var(--pet-glow) 40%,transparent)}50%{box-shadow:0 6px 18px -6px rgba(0,0,0,.4),0 0 16px 1px color-mix(in srgb,var(--pet-glow) 70%,transparent)}}.pet-spin{animation:pet-spin .9s linear infinite}@keyframes pet-spin{to{transform:rotate(1turn)}}.pet-fab[data-status=error]{color:#ef4444}.pet-fab:hover{background:color-mix(in srgb,var(--pet-glow) 20%,#ffffff)}@media (prefers-color-scheme:dark){.pet-fab{background:color-mix(in srgb,#16181d 78%,transparent);color:color-mix(in srgb,var(--pet-glow) 85%,#fff);border-color:color-mix(in srgb,var(--pet-glow) 45%,rgba(255,255,255,.1))}.pet-fab:hover{background:color-mix(in srgb,var(--pet-glow) 24%,#16181d)}}.pet-panel-wrap{position:absolute;left:0;right:0;bottom:140px;display:flex;justify-content:center;padding:0 14px}.pet-panel{pointer-events:auto;width:100%;max-width:300px;padding:14px 15px 15px;border-radius:20px;background:color-mix(in srgb,#ffffff 82%,transparent);border:1px solid color-mix(in srgb,var(--pet-glow) 40%,rgba(0,0,0,.06));box-shadow:0 18px 44px -12px rgba(0,0,0,.35),0 0 0 1px rgba(255,255,255,.5) inset,0 0 34px -6px color-mix(in srgb,var(--pet-glow) 55%,transparent);backdrop-filter:blur(22px) saturate(1.3);-webkit-backdrop-filter:blur(22px) saturate(1.3);color:#1c1c22;animation:pet-panel-in .26s cubic-bezier(.34,1.4,.5,1);transform-origin:bottom center;transition:max-width .2s ease}.pet-panel.is-expanded{max-width:320px}@media (prefers-color-scheme:dark){.pet-panel{background:color-mix(in srgb,#16181d 80%,transparent);border-color:color-mix(in srgb,var(--pet-glow) 44%,rgba(255,255,255,.08));color:#f2f3f5;box-shadow:0 18px 44px -12px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.05) inset,0 0 34px -6px color-mix(in srgb,var(--pet-glow) 50%,transparent)}}@keyframes pet-panel-in{0%{opacity:0;transform:translateY(10px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}.pet-panel-head{display:flex;align-items:center;gap:8px}.pet-name{font-weight:650;font-size:14px;letter-spacing:-.01em}.pet-status{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;opacity:.6;margin-left:auto}.pet-dot{width:7px;height:7px;border-radius:50%;background:var(--pet-glow)}.pet-dot[data-pulse=true]{animation:pet-dot 1.1s ease-in-out infinite}.pet-dot[data-status=connecting],.pet-dot[data-status=thinking]{background:color-mix(in srgb,var(--pet-glow) 55%,#9aa0aa)}.pet-dot[data-status=error]{background:#ef4444}@keyframes pet-dot{0%,to{opacity:.4;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}.pet-close{pointer-events:auto;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;border:none;background:transparent;color:inherit;opacity:.45;cursor:pointer;transition:opacity .14s,background .14s}.pet-close:hover{opacity:1;background:color-mix(in srgb,currentColor 12%,transparent)}.pet-panel-actions{display:flex;align-items:center;gap:2px;margin-left:2px}.pet-icon-btn{pointer-events:auto;display:grid;place-items:center;width:24px;height:24px;border-radius:8px;border:none;background:transparent;color:inherit;opacity:.5;cursor:pointer;transition:opacity .14s,background .14s,color .14s}.pet-icon-btn:hover{opacity:1;background:color-mix(in srgb,currentColor 10%,transparent)}.pet-icon-btn.is-on{opacity:1;color:var(--pet-ink);background:color-mix(in srgb,var(--pet-glow) 22%,transparent)}@media (prefers-color-scheme:dark){.pet-icon-btn.is-on{color:color-mix(in srgb,var(--pet-glow) 85%,#fff)}}.pet-wave{display:flex;align-items:center;gap:4px;height:22px;margin:11px 0 2px}.pet-wave span{width:4px;height:6px;border-radius:3px;background:var(--pet-glow);opacity:.55}.pet-wave[data-active=true] span{animation:pet-wave .9s ease-in-out infinite}@keyframes pet-wave{0%,to{height:6px;opacity:.5}50%{height:20px;opacity:1}}.pet-searching{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:550;color:var(--pet-ink);opacity:.85;margin-top:6px}.pet-controlling{gap:6px}.pet-controlling-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pet-stop-btn{flex:none;margin-left:auto;display:inline-flex;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:600;border-radius:999px;color:#dc2626;background:rgba(220,38,38,.12);border:1px solid rgba(220,38,38,.35);cursor:pointer;transition:background .12s ease}.pet-stop-btn:hover{background:rgba(220,38,38,.22)}.pet-caption{font-size:13.5px;line-height:1.45;margin-top:9px;max-height:92px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical}.pet-hint{font-size:12.5px;opacity:.5;line-height:1.4}.pet-transcript{margin-top:10px;max-height:210px;overflow-y:auto;display:flex;flex-direction:column;gap:7px;padding-right:4px}.pet-bubble{font-size:12.5px;line-height:1.4;padding:7px 10px;border-radius:13px;max-width:85%;word-break:break-word}.pet-bubble-user{align-self:flex-end;background:color-mix(in srgb,currentColor 9%,transparent);border-bottom-right-radius:4px;opacity:.75}.pet-bubble-pet{align-self:flex-start;background:color-mix(in srgb,var(--pet-glow) 16%,transparent);border-bottom-left-radius:4px}.pet-bubble-pet.is-live{opacity:.8}.pet-shots::-webkit-scrollbar,.pet-transcript::-webkit-scrollbar{width:6px;height:6px}.pet-shots::-webkit-scrollbar-thumb,.pet-transcript::-webkit-scrollbar-thumb{background:color-mix(in srgb,currentColor 22%,transparent);border-radius:999px}.pet-shots::-webkit-scrollbar-track,.pet-transcript::-webkit-scrollbar-track{background:transparent}.pet-sources{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}.pet-sources a{pointer-events:auto;font-size:11px;padding:3px 8px;border-radius:999px;background:color-mix(in srgb,var(--pet-glow) 18%,transparent);color:var(--pet-ink);text-decoration:none;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pet-sources a:hover{background:color-mix(in srgb,var(--pet-glow) 30%,transparent)}.pet-shots{display:flex;gap:7px;margin-top:11px;overflow-x:auto}.pet-shots figure{margin:0;flex:0 0 auto;width:96px}.pet-shots img{width:96px;height:60px;object-fit:cover;border-radius:8px;border:1px solid color-mix(in srgb,var(--pet-glow) 40%,rgba(0,0,0,.1));display:block}.pet-shots figcaption{font-size:9.5px;opacity:.55;margin-top:3px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (prefers-color-scheme:dark){.pet-searching,.pet-sources a{color:color-mix(in srgb,var(--pet-glow) 80%,#fff)}}