/* Light DOM markers; animation never drives combat or requires another canvas. */
.sp-control-layer{position:absolute;inset:0;z-index:18;pointer-events:none;overflow:hidden;contain:layout style}
.sp-control-badge{position:absolute;width:104px;height:76px;transform:translateX(-50%);display:grid;place-items:center;pointer-events:none;color:var(--control-color,#ffd36b);isolation:isolate}
.sp-control-badge::before{content:'';position:absolute;inset:12px 15px;border-radius:50%;background:radial-gradient(ellipse,#15111ed9 12%,#0b081b66 52%,transparent 74%);z-index:-1}
.sp-control-symbol{display:flex;align-items:center;justify-content:center;font:700 43px/1 Georgia,'Times New Roman',serif;letter-spacing:1px;white-space:nowrap;text-shadow:0 2px 3px #000,0 0 10px currentColor}
.sp-control-letter{display:inline-block;animation:sp-control-float 2.2s ease-in-out infinite;animation-delay:calc(var(--letter,0)*-.4s)}
.is-sleep .sp-control-letter:nth-child(1){font-size:.72em;transform:translateY(9px)}
.is-sleep .sp-control-letter:nth-child(2){font-size:.88em}
.is-sleep .sp-control-letter:nth-child(3){font-size:1.06em;transform:translateY(-9px)}
.is-stun .sp-control-symbol::before,.is-stun .sp-control-symbol::after{content:'✦';font-size:23px;position:absolute;top:12px;left:7px;text-shadow:inherit;animation:sp-control-star 1.8s ease-in-out infinite}
.is-stun .sp-control-symbol::after{top:42px;left:77px;animation-delay:-.9s}
.is-frozen .sp-control-symbol{font-family:Arial,sans-serif;font-size:46px}
.is-fear .sp-control-letter{animation:sp-control-tremble 1.2s ease-in-out infinite}
.is-silence .sp-control-symbol{border:2px solid #b0afca88;border-radius:50%;width:49px;height:43px;font-size:36px;letter-spacing:0}
.sp-control-count{position:absolute;right:5px;bottom:6px;min-width:23px;padding:1px 4px;border:1px solid #b08b48;border-radius:8px;background:#110e13f0;font:700 22px/1.15 var(--f-num,Arial);color:#f2d68d;text-align:center}
.sp-control-count:empty{display:none}
.sp-control-layer.is-mobile .sp-control-badge{width:110px;height:80px}
.sp-control-layer.is-mobile .sp-control-symbol{font-size:48px}
.sp-control-layer.is-mobile .sp-control-count{font-size:26px}
.sp-control-layer.is-reduced *,.sp-control-layer.is-reduced *::before,.sp-control-layer.is-reduced *::after{animation:none!important}
.sp-paused .sp-control-layer *,.sp-paused .sp-control-layer *::before,.sp-paused .sp-control-layer *::after{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.sp-control-layer *,.sp-control-layer *::before,.sp-control-layer *::after{animation:none!important}}
@keyframes sp-control-float{0%,100%{translate:0 3px;opacity:.78}50%{translate:0 -5px;opacity:1}}
@keyframes sp-control-star{0%,100%{translate:0 0;opacity:.55}50%{translate:2px -5px;opacity:1}}
@keyframes sp-control-tremble{0%,90%,100%{translate:0 0}93%{translate:-2px 0}96%{translate:2px 0}}
