.byte-assistant{position:fixed;z-index:50;right:1rem;bottom:.4rem;width:clamp(120px,12vw,190px);touch-action:none;filter:drop-shadow(0 18px 20px #12052788);transition:transform .25s ease}.byte-body{display:block;position:relative;width:100%;border:0;background:transparent;cursor:grab}.byte-body:active{cursor:grabbing}.byte-body img{display:block;width:100%;height:auto}.byte-bubble{position:absolute;right:82%;top:12%;width:190px;padding:.65rem .8rem;border:2px solid #27124c;border-radius:16px 16px 3px;background:#fff;color:#24123e;font:700 .85rem/1.25 'Atkinson Hyperlegible',sans-serif;box-shadow:5px 6px 0 #f7cf32}.byte-minimize{position:absolute;z-index:2;right:0;top:10%;width:28px;height:28px;border:2px solid #fff;border-radius:50%;background:#29134d;color:#fff}.byte-assistant.is-minimized{transform:translateY(72%)}.byte-assistant.is-minimized .byte-bubble{display:none}
@media(max-width:700px){.byte-assistant{width:115px}.byte-bubble{display:none}}@media(prefers-reduced-motion:reduce){.byte-assistant{transition:none!important}.light-orbit{animation:none!important}}

/* Byte acompaña sin cubrir el contenido, incluso con escalado de Windows. */
.byte-assistant{width:clamp(76px,7vw,112px);right:.65rem;bottom:.35rem}
.byte-bubble{right:88%;top:8%;width:154px;padding:.5rem .6rem;font-size:.74rem;border-width:1.5px;box-shadow:3px 4px 0 #f7cf32}
.byte-minimize{width:25px;height:25px;font-size:.8rem}
@media(max-width:700px){.byte-assistant{width:72px;right:.35rem}.byte-bubble{display:none}}

/* Halo y respiración sutil de Byte, sin interferir con el arrastre. */
.byte-assistant{z-index:var(--z-assistant)}
.byte-assistant::before{content:"";position:absolute;z-index:-1;left:12%;right:4%;bottom:3%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#f7cf3278 0 9%,#ff7a3348 28%,#8a31c436 48%,transparent 70%);filter:blur(8px);animation:byte-halo 7s cubic-bezier(.37,0,.63,1) infinite alternate;pointer-events:none}
.byte-body img{animation:byte-breathe 5.5s cubic-bezier(.37,0,.63,1) infinite alternate;transform-origin:center bottom}
@keyframes byte-halo{to{transform:scale(1.14);opacity:.72}}
@keyframes byte-breathe{to{transform:translate3d(0,-4px,0) scale(1.012)}}
@media(prefers-reduced-motion:reduce){.byte-assistant::before,.byte-body img{animation:none!important}}
