.rxw{--rxw-a:#1f6bff;--rxw-b:#22d3ee;--rxw-size:128px;--rxw-big:300px;
  position:fixed;right:24px;bottom:24px;z-index:2147483000;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  opacity:0;transform:translateY(40px) scale(.6);transition:opacity .5s,transform .7s cubic-bezier(.34,1.56,.64,1)}
.rxw.rxw-in{opacity:1;transform:none}
.rxw-bubble{position:relative;width:var(--rxw-size);height:var(--rxw-size);border-radius:50%;cursor:pointer;
  transition:width .55s cubic-bezier(.34,1.3,.64,1),height .55s cubic-bezier(.34,1.3,.64,1),transform .25s;outline:none}
.rxw:not(.rxw-open) .rxw-bubble:hover{transform:scale(1.07)}
.rxw-bubble:focus-visible{box-shadow:0 0 0 4px #fff,0 0 0 7px var(--rxw-a)}
.rxw-open .rxw-bubble{width:var(--rxw-big);height:var(--rxw-big);cursor:default}
.rxw-clip{position:absolute;inset:5px;border-radius:50%;overflow:hidden;background:#0b1530;
  box-shadow:0 14px 40px rgba(15,35,90,.35)}
.rxw-clip video{width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block;
  transform:scale(1.02);transition:transform 6s ease-in-out}
.rxw:not(.rxw-open) .rxw-clip video{animation:rxwBreathe 5s ease-in-out infinite}
@keyframes rxwBreathe{50%{transform:scale(1.07)}}
/* вращающееся градиентное кольцо */
.rxw-ring{position:absolute;inset:0;border-radius:50%;
  background:conic-gradient(from 0deg,var(--rxw-a),var(--rxw-b),#a78bfa,var(--rxw-a));animation:rxwSpin 4s linear infinite}
@keyframes rxwSpin{to{transform:rotate(360deg)}}
/* пульсирующие волны вокруг */
.rxw-halo{position:absolute;inset:0;border-radius:50%;border:2px solid var(--rxw-a);opacity:0;animation:rxwHalo 2.6s ease-out infinite}
.rxw-halo2{animation-delay:1.3s}
@keyframes rxwHalo{0%{transform:scale(1);opacity:.55}100%{transform:scale(1.45);opacity:0}}
.rxw-open .rxw-halo{display:none}
/* прогресс просмотра */
.rxw-progress{position:absolute;inset:-6px;width:calc(100% + 12px);height:calc(100% + 12px);transform:rotate(-90deg);pointer-events:none;opacity:0;transition:opacity .3s}
.rxw-progress circle{fill:none;stroke:#fff;stroke-width:1.6;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;filter:drop-shadow(0 0 3px var(--rxw-b))}
.rxw-open .rxw-progress{opacity:1}
/* «говорит» — эквалайзер */
.rxw-wave{position:absolute;left:50%;bottom:-4px;transform:translateX(-50%);display:flex;gap:3px;align-items:flex-end;
  height:20px;padding:4px 8px;border-radius:12px;background:linear-gradient(90deg,var(--rxw-a),var(--rxw-b));box-shadow:0 4px 12px rgba(31,107,255,.45)}
.rxw-wave i{width:3px;height:6px;border-radius:2px;background:#fff;animation:rxwBar .9s ease-in-out infinite}
.rxw-wave i:nth-child(2){animation-delay:.15s}.rxw-wave i:nth-child(3){animation-delay:.3s}.rxw-wave i:nth-child(4){animation-delay:.45s}
@keyframes rxwBar{50%{height:14px}}
.rxw-paused .rxw-wave i{animation-play-state:paused}
/* значок «включить звук» */
.rxw-play{position:absolute;top:2px;right:2px;width:34px;height:34px;border-radius:50%;background:#fff;display:grid;place-items:center;
  box-shadow:0 4px 14px rgba(0,0,0,.25);animation:rxwNudge 3s ease-in-out infinite}
.rxw-play svg{width:18px;height:18px;fill:var(--rxw-a)}
@keyframes rxwNudge{0%,80%,100%{transform:scale(1)}88%{transform:scale(1.18)}94%{transform:scale(.95)}}
.rxw-open .rxw-play{display:none}
/* подсказка-облачко */
.rxw-tip{position:absolute;right:calc(var(--rxw-size) - 8px);bottom:calc(var(--rxw-size) - 18px);width:max-content;max-width:230px;
  background:#fff;color:#0f172a;font-size:14px;line-height:1.35;padding:10px 14px;border-radius:16px 16px 4px 16px;
  box-shadow:0 10px 30px rgba(15,23,42,.18);opacity:0;transform:translateY(8px) scale(.9);transform-origin:right bottom;
  transition:opacity .35s,transform .45s cubic-bezier(.34,1.56,.64,1);pointer-events:none}
.rxw-tip.rxw-show{opacity:1;transform:none}
.rxw-open .rxw-tip{display:none}
/* кнопки управления */
.rxw-ctrl{position:absolute;top:-6px;right:-6px;display:flex;gap:6px;opacity:0;pointer-events:none;transition:opacity .3s}
.rxw-open .rxw-ctrl{opacity:1;pointer-events:auto}
.rxw-ctrl button{width:34px;height:34px;border:0;border-radius:50%;background:#fff;cursor:pointer;display:grid;place-items:center;box-shadow:0 4px 14px rgba(0,0,0,.2)}
.rxw-ctrl svg{width:16px;height:16px;fill:#0f172a}
/* финальный экран */
.rxw-end{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
  background:rgba(8,18,45,.62);backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:opacity .4s}
.rxw-ended .rxw-end{opacity:1;pointer-events:auto}
.rxw-cta{background:linear-gradient(90deg,var(--rxw-a),var(--rxw-b));color:#fff;text-decoration:none;font-weight:600;font-size:15px;
  padding:11px 20px;border-radius:999px;box-shadow:0 6px 18px rgba(31,107,255,.5);animation:rxwNudge 2.4s ease-in-out infinite}
.rxw-replay{background:none;border:0;color:#fff;font-size:13px;text-decoration:underline;cursor:pointer}
/* свёрнутое состояние */
.rxw-mini{--rxw-size:64px}
.rxw-mini .rxw-wave,.rxw-mini .rxw-play,.rxw-mini .rxw-tip{display:none}
@media (max-width:600px){.rxw{--rxw-size:96px;--rxw-big:240px;right:14px;bottom:14px}.rxw-tip{font-size:13px;max-width:190px}}
@media (prefers-reduced-motion:reduce){.rxw *,.rxw{animation:none!important;transition:none!important}}
