/* AKMA CAM — Infinity liquid snake loader v=inf6 */
.akma-loader{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:0;
  position:relative;
  background:transparent;
}

.akma-loader-disc{
  position:relative;
  width:44px;
  height:22px;
  display:flex;
  justify-content:center;
  align-items:center;
  flex-shrink:0;
}
.akma-loader .svg-infinity{
  width:44px;
  height:22px;
  overflow:visible;
  display:block;
}

/* Size variants — keep overall footprint close to prior Phone↔Dome chips */
.akma-loader--compact .akma-loader-disc{width:44px;height:22px}
.akma-loader--compact .svg-infinity{width:44px;height:22px}

.akma-loader--vidbox .akma-loader-disc,
.akma-loader--video .akma-loader-disc{width:40px;height:20px}
.akma-loader--vidbox .svg-infinity,
.akma-loader--video .svg-infinity{width:40px;height:20px}

.akma-loader--mini .akma-loader-disc{width:28px;height:14px}
.akma-loader--mini .svg-infinity{width:28px;height:14px}

.akma-loader--splash .akma-loader-disc{width:56px;height:28px}
.akma-loader--splash .svg-infinity{width:56px;height:28px}

.akma-loader-host--splash{
  min-height:96px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  margin-bottom:0;
}
.akma-loader-host--compact{
  min-height:62px;
  display:flex;align-items:center;justify-content:center;
  overflow:visible;margin-bottom:0;
}
.akma-loader-host--video,
.akma-loader-host--vidbox{
  min-height:52px;
  display:flex;align-items:center;justify-content:center;
  overflow:visible;margin-bottom:0;
  flex-shrink:0;
}
.akma-loader-host--mini{
  height:28px;
  display:flex;align-items:center;justify-content:center;
  overflow:visible;margin-bottom:0;
}

/* No captions */
#offlineMsg,
.vid-connecting-txt,
.pb-loader-txt,
#busyMsg{display:none!important}

/* Media chip — same 56×56 matte footprint */
.akma-loader-chip{
  width:56px;
  min-height:56px;
  padding:0;
  box-sizing:border-box;
  border-radius:12px;
  background:rgba(28,28,30,.45);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;pointer-events:none;
}
.akma-loader-chip .akma-loader-host{min-height:0;height:auto}

/* Infinity path layers */
.akma-loader .inf-path{
  fill:none;
  stroke-linecap:round;
}
.akma-loader .inf-tail{
  stroke:#93c5fd;
  stroke-width:5.4;
  stroke-dasharray:22 178;
  animation:akmaInfTailMove 2.2s linear infinite, akmaInfTailFade 2.2s linear infinite;
}
.akma-loader .inf-body{
  stroke:#3b82f6;
  stroke-width:5;
  stroke-dasharray:35 165;
  animation:akmaInfSnake 2.2s linear infinite;
}
.akma-loader .inf-head{
  stroke:#f97316;
  stroke-width:5.8;
  stroke-dasharray:0.1 4 0.1 4 0.1 4 0.1 189.1;
  animation:akmaInfDotsMove 2.2s linear infinite, akmaInfDotsFade 2.2s linear infinite;
}
/* Pause while overlay hidden — do not remount/restart mid-cycle on re-show */
.vid-connecting.hidden .akma-loader .inf-tail,
.vid-connecting.hidden .akma-loader .inf-body,
.vid-connecting.hidden .akma-loader .inf-head,
.pb-loader:not(.on) .akma-loader .inf-tail,
.pb-loader:not(.on) .akma-loader .inf-body,
.pb-loader:not(.on) .akma-loader .inf-head,
.evt-ph-wrap:not(.thumb-loading) .evt-thumb-loader .inf-tail,
.evt-ph-wrap:not(.thumb-loading) .evt-thumb-loader .inf-body,
.evt-ph-wrap:not(.thumb-loading) .evt-thumb-loader .inf-head{
  animation-play-state:paused;
}
.evt-thumb.thumb-busy .evt-thumb-loader .inf-tail,
.evt-thumb.thumb-busy .evt-thumb-loader .inf-body,
.evt-thumb.thumb-busy .evt-thumb-loader .inf-head{
  animation-play-state:running;
}

@keyframes akmaInfSnake{
  0%{stroke-dashoffset:200}
  65%{stroke-dashoffset:140}
  85%{stroke-dashoffset:40}
  100%{stroke-dashoffset:0}
}
@keyframes akmaInfDotsMove{
  0%{stroke-dashoffset:197}
  65%{stroke-dashoffset:100}
  85%{stroke-dashoffset:12}
  100%{stroke-dashoffset:-3}
}
@keyframes akmaInfDotsFade{
  0%,62%{opacity:0}
  68%{opacity:1}
  83%{opacity:1}
  90%,100%{opacity:0}
}
@keyframes akmaInfTailMove{
  0%{stroke-dashoffset:210}
  65%{stroke-dashoffset:150}
  85%{stroke-dashoffset:50}
  100%{stroke-dashoffset:10}
}
@keyframes akmaInfTailFade{
  0%,62%{opacity:0}
  68%{opacity:.85}
  83%{opacity:.85}
  90%,100%{opacity:0}
}

.akma-loader--mini .inf-tail{stroke-width:6.2}
.akma-loader--mini .inf-body{stroke-width:5.8}
.akma-loader--mini .inf-head{stroke-width:6.6}

@media (prefers-reduced-motion:reduce){
  .akma-loader .inf-tail,
  .akma-loader .inf-body,
  .akma-loader .inf-head{
    animation:none;
    opacity:1;
    stroke-dasharray:40 160;
    stroke-dashoffset:0;
  }
  .akma-loader .inf-tail{opacity:.55}
  .akma-loader .inf-head{opacity:.9}
}
