/* Manual popover host: top layer without focus, a backdrop, or pointer capture. */
.play-cursor-layer{
  --play-cursor-layer-ready:1;
  position:fixed !important; inset:0 !important; width:100% !important; height:100% !important;
  max-width:none !important; max-height:none !important; box-sizing:border-box !important;
  margin:0 !important; padding:0 !important; border:0 !important; border-radius:0 !important;
  background:transparent !important; box-shadow:none !important; outline:0 !important;
  overflow:visible !important; opacity:1 !important;
  transform:none !important; filter:none !important; perspective:none !important;
  animation:none !important; transition:none !important;
  z-index:2147483647 !important; pointer-events:none !important;
  user-select:none; -webkit-user-select:none;
}
/* Do not inherit the app's ordinary [popover] panel paint or display rules. */
.play-cursor-layer[popover]:not(:popover-open){ display:none !important; }
.play-cursor-layer[popover]:popover-open,.play-cursor-layer:not([popover]){ display:block !important; }
.play-cursor-layer::before,.play-cursor-layer::after{ content:none !important; }
.play-cursor-layer::backdrop{ background:transparent !important; box-shadow:none !important; pointer-events:none !important; }
.play-cursor-layer *{ pointer-events:none !important; }
/* The anchor is the exact pointer coordinate; only the triangle body changes size. */
.play-cursor{
  --play-cursor-ready:1;
  position:fixed; left:0; top:0; width:0; height:0; z-index:2147483647;
  transform:translate3d(0,0,0); will-change:transform; transition:none;
  display:none; overflow:visible; pointer-events:none !important;
  user-select:none; -webkit-user-select:none;
}
.play-cursor *{ pointer-events:none !important; }
.play-cursor-space{
  position:absolute; display:block; left:0; top:0; width:0; height:0;
  perspective:180px; perspective-origin:0px 0px;
  transform-style:preserve-3d;
}
.play-cursor-body{
  position:absolute; display:block; left:0; top:0; width:40px; height:40px;
  transform-origin:0px 0px 0px; transform-style:preserve-3d;
  transform:scale(1,1); will-change:transform;
}
.play-cursor-art{
  display:block; width:40px; height:40px; overflow:visible;
  filter:drop-shadow(1px 2px 1.7px rgba(24,12,80,.25)) drop-shadow(0 0 1px rgba(167,146,246,.08)) brightness(1);
  animation:play-cursor-glow 4.8s ease-in-out infinite;
}
/* A quiet, slow glow only: preserve the original palette, outline and exact hotspot. */
@keyframes play-cursor-glow{
  0%,100%{ filter:drop-shadow(1px 2px 1.7px rgba(24,12,80,.25)) drop-shadow(0 0 1px rgba(167,146,246,.08)) brightness(1); }
  50%{ filter:drop-shadow(1px 2px 1.7px rgba(24,12,80,.25)) drop-shadow(0 0 3px rgba(167,146,246,.20)) brightness(1.055); }
}
/* Stars share the logo's yellow, mint and lavender; each click has its own anchor. */
.play-cursor-burst{
  position:fixed; width:0; height:0; overflow:visible; pointer-events:none !important;
}
.play-cursor-ring{
  position:absolute; display:block; left:0; top:0; width:8px; height:8px; margin:-4px;
  box-sizing:border-box; border:1.5px solid #ffcf48; border-radius:50%;
  box-shadow:0 0 0 1px rgba(89,214,223,.3); opacity:0;
  animation:play-cursor-ring 380ms ease-out 1 both;
  animation-delay:var(--play-burst-delay,0ms);
}
@keyframes play-cursor-ring{
  0%{ opacity:.9; transform:scale(.3); }
  100%{ opacity:0; transform:scale(6); }
}
.play-cursor-star{
  position:absolute; display:block; left:0; top:0;
  width:var(--star-size); height:var(--star-size);
  margin-left:calc(var(--star-size) / -2); margin-top:calc(var(--star-size) / -2);
  background:var(--star-color); opacity:0;
  clip-path:polygon(50% 0,62% 33%,98% 36%,70% 58%,80% 94%,50% 74%,20% 94%,30% 58%,2% 36%,38% 33%);
  animation:play-cursor-spark 600ms ease-out 1 both;
  animation-delay:var(--play-burst-delay,0ms);
}
.play-cursor-burst[data-cursor-fx="waapi"] .play-cursor-star,
.play-cursor-burst[data-cursor-fx="waapi"] .play-cursor-ring{ animation:none; }
@keyframes play-cursor-spark{
  0%{ opacity:0; transform:translate(0,0) scale(.25); }
  12%{ opacity:1; }
  55%{ opacity:.95; transform:translate(calc(var(--star-x) * .82),calc(var(--star-y) * .82)) scale(1); }
  100%{ opacity:0; transform:translate(var(--star-x),var(--star-y)) scale(.2); }
}
/* Single-shot fallback for browsers without Web Animations. No idle rotation. */
@keyframes play-cursor-release{
  0%{ transform:var(--play-cursor-release-from,scale(.78,.70)); animation-timing-function:cubic-bezier(.16,.75,.3,1); }
  18%{ transform:scale(.96,1.13); animation-timing-function:ease-in-out; }
  38%{ transform:scale(1.065,.955); animation-timing-function:ease-in-out; }
  60%{ transform:scale(.985,1.045); animation-timing-function:ease-in-out; }
  80%{ transform:scale(1.018,.99); animation-timing-function:ease-in-out; }
  100%{ transform:scale(1,1); }
}
@media (any-hover:hover) and (any-pointer:fine) and (prefers-reduced-motion:no-preference) and (forced-colors:none){
  /* Every same-document element uses the SAME native triangle as its safe
     fallback, including a new page before it receives its first mouse event.
     The OS tracks its current position, so no stored/stale coordinates are used.
     Original point (103,4) -> SVG (0,0) -> padded cursor hotspot (6,2). */
  html:not(.play-cursor-nonmouse),html:not(.play-cursor-nonmouse) :where(*:not(iframe):not(object):not(embed)){
    cursor:url("data:image/png;base64,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") 6 2, pointer !important;
  }
  .play-cursor.is-visible{ display:block; }
  /* Activate only after the overlay passes its paint checks. Cover all own-DOM
     targets at once so crossing text/links cannot paint a second native SVG.
     Removing this one verified state immediately restores the safe fallback. */
  html.has-play-cursor-3d:not(.play-cursor-nonmouse),
  html.has-play-cursor-3d:not(.play-cursor-nonmouse) :where(*:not(iframe):not(object):not(embed)){ cursor:none !important; }
  html.has-play-cursor-3d :where(iframe,object,embed){ cursor:auto !important; }
}
@media (prefers-reduced-motion:reduce),(forced-colors:active){
  .play-cursor-layer,.play-cursor-layer[popover]:popover-open,.play-cursor-layer:not([popover]),.play-cursor{ display:none !important; }
  .play-cursor-ring{ animation:none !important; display:none !important; }
  .play-cursor-star{ animation:none !important; display:none !important; }
  .play-cursor-art{ animation:none !important; }
  .play-cursor-body{ animation:none !important; transition:none !important; transform:scale(1,1) !important; }
}
