/* Persistent YuZora kitty companion: stage + OS-wide floating voice window. */
.yz-kitty-stage{width:min(62vw,300px)!important;height:min(48vh,360px)!important;aspect-ratio:unset!important;border-radius:24px!important;background:radial-gradient(ellipse at 50% 53%,rgba(119,91,238,.25),transparent 69%),linear-gradient(175deg,rgba(70,45,113,.24),rgba(19,25,42,.06))!important;box-shadow:0 0 50px rgba(136,125,237,.13),inset 0 0 40px rgba(136,125,237,.09)!important;overflow:hidden!important;flex-shrink:0}
.yz-kitty-stage::before,.yz-kitty-stage::after{display:none!important}
.yz-kitty-canvas-host{position:relative;width:100%;height:100%;min-height:1px;min-width:1px;overflow:hidden}
.yz-kitty-canvas-host canvas{display:block;width:100%;height:100%;outline:none;touch-action:pan-y}
.yz-kitty-fallback{display:grid;place-items:center;height:100%;font-size:92px}
.yz-kitty-stage .yz-live-wave{position:absolute;bottom:3px;left:50%;transform:translateX(-50%);pointer-events:none;opacity:.65;height:28px}
.yz-kitty-stage .yz-live-wave i{height:20px}
.yz-kitty-dock[hidden]{display:none!important}
.yz-kitty-dock{position:fixed;bottom:calc(83px + env(safe-area-inset-bottom,0px));right:clamp(10px,2.3vw,30px);width:clamp(146px,18vw,224px);height:clamp(202px,28vw,290px);z-index:200;display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(190,174,255,.35);border-radius:22px;background:radial-gradient(ellipse at 40% 35%,rgba(88,68,181,.5),transparent 80%),linear-gradient(160deg,#13182d,#080b17);box-shadow:0 15px 50px rgba(0,0,0,.48),0 0 25px rgba(114,101,213,.19)}
.yz-kitty-dock-stage{flex:1;min-height:1px;min-width:1px}
.yz-kitty-dock-controls{display:flex;align-items:center;justify-content:space-around;gap:3px;padding:6px 6px 8px;background:rgba(8,14,32,.82)}
.yz-kitty-dock-controls button{border:1px solid rgba(198,199,255,.19);border-radius:9px;width:30px;height:30px;flex-shrink:0;font-size:16px;background:#222845;color:#f3f2ff;cursor:pointer}
.yz-kitty-dock-controls button:focus-visible{outline:2px solid #bcb1ff;outline-offset:2px}
.yz-kitty-dock-controls button:hover{background:#373760}
.yz-kitty-dock-controls button:last-child{background:#742c50}
.yz-kitty-dock-status{flex:1;font-size:9px;line-height:1.25;color:#d9d4ff;padding:0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.yz-live-top #osAiVoiceMinimize{font-size:17px}
.os-ai-live-stage .yz-live-center{gap:0;justify-content:center}
.os-ai-live-stage .yz-live-status{margin-top:14px}
.os-ai-live-stage .yz-live-transcripts{margin-top:12px}
.os-ai-live-stage .yz-live-orb.speaking{filter:none}
.os-ai-live-stage[data-state="thinking"] .yz-live-orb{animation:none!important}
@media(max-width:720px){
  .yz-kitty-stage{width:min(66vw,270px)!important;height:clamp(205px,33vh,305px)!important;margin:0 auto!important}
  .yz-kitty-dock{width:156px;height:215px;right:9px;bottom:calc(72px + env(safe-area-inset-bottom,0px));border-radius:16px}
  .yz-kitty-dock-status{font-size:8px}
  .yz-kitty-dock-controls button{width:28px;height:28px}
  .os-ai-live-stage .yz-live-center{justify-content:flex-start}
  .os-ai-live-stage .yz-live-transcripts{margin-top:8px}
  .os-ai-live-stage .yz-live-status{font-size:17px;margin-top:9px}
}
@media(max-height:630px){
  .yz-kitty-stage{height:clamp(125px,27vh,220px)!important}
  .yz-kitty-dock{height:188px;width:140px}
}
@media(prefers-reduced-motion:reduce){.yz-kitty-dock{transition:none}}
