/* Persistent Sutura effects reflect accepted buffs, independently of Queen form. */
.stv-status,.stv-effect{position:absolute;inset:0;pointer-events:none;border-radius:inherit;z-index:6;overflow:visible;
 --stv-thread:#A673E4;--stv-glow:#8A57D8;--stv-spark:#E6D2FF;--stv-accent:#997B99;--stv-deep:#1E072D;--stv-core:#261821;--stv-ember:#3A0F4A}
.stv-status{transition:opacity .28s,filter .28s}.stv-status.is-leaving{opacity:0;filter:blur(2px)}
.stv-curse{position:absolute;left:50%;top:42%;width:40%;max-width:92px;aspect-ratio:80/34;translate:-50% 0;rotate:-14deg;opacity:.86;filter:drop-shadow(0 0 3px var(--stv-glow));animation:stvCurseIn .35s ease-out both}
.stv-curse svg,.stv-wound svg{display:block;width:100%;height:100%;overflow:visible}
.stv-cut{fill:none;stroke:var(--stv-core);stroke-width:4;stroke-linecap:round}
.stv-x{fill:none;stroke:var(--stv-spark);stroke-width:1.8;stroke-linecap:round;stroke-dasharray:24;stroke-dashoffset:24;animation:stvStitch .45s ease-out forwards}
.stv-knot{fill:var(--stv-deep);stroke:var(--stv-thread);stroke-width:1.7}
.stv-wound{position:absolute;right:16%;top:37%;width:14%;max-width:32px;aspect-ratio:40/90;filter:drop-shadow(0 0 2px var(--stv-glow));transform-origin:40% 15%;animation:stvSway 4s ease-in-out infinite}
.stv-strand{fill:none;stroke:var(--stv-thread);stroke-width:2;stroke-linecap:round;stroke-dasharray:3 2}
.stv-drop{fill:var(--stv-ember);stroke:var(--stv-thread);stroke-width:1}
.stv-regen{position:absolute;inset:7px;border:1px dashed color-mix(in srgb,var(--stv-thread) 65%,transparent);border-radius:12px;mask-image:linear-gradient(90deg,#000,transparent 17% 83%,#000);opacity:.65}
.stv-ward{position:absolute;inset:-5px;border:1px solid color-mix(in srgb,var(--stv-thread) 60%,transparent);outline:1px dashed color-mix(in srgb,var(--stv-spark) 45%,transparent);outline-offset:3px;border-radius:20px;box-shadow:0 0 9px color-mix(in srgb,var(--stv-glow) 30%,transparent)}
.stv-ward i{position:absolute;bottom:-5px;left:calc(26% + 22% * var(--i));width:7px;height:7px;rotate:45deg;background:var(--stv-deep);border:1px solid var(--stv-thread)}
.stv-ward i:nth-child(1){--i:0}.stv-ward i:nth-child(2){--i:1}.stv-ward i:nth-child(3){--i:2}
.is-final .stv-ward{border-width:2px;box-shadow:0 0 12px color-mix(in srgb,var(--stv-glow) 40%,transparent)}
.stv-endurance{position:absolute;inset:3px;border:3px double var(--stv-accent);border-radius:15px;clip-path:polygon(0 0,19% 0,19% 8%,81% 8%,81% 0,100% 0,100% 100%,81% 100%,81% 92%,19% 92%,19% 100%,0 100%)}
.stv-effect[data-material="porcelain"] .stv-cut{stroke:var(--stv-accent);stroke-width:1.5}
.stv-effect[data-material="celestial"] .stv-knot{fill:var(--stv-spark);filter:drop-shadow(0 0 3px var(--stv-glow))}
.stv-effect[data-material="clockwork"] .stv-strand{stroke-dasharray:1 3;stroke-width:3}
.stv-effect[data-sigil="star"] .stv-knot{clip-path:polygon(50% 0,61% 34%,100% 50%,61% 65%,50% 100%,35% 63%,0 50%,36% 35%)}
.stv-effect.is-ticking .stv-wound{animation:stvBleedTick .65s ease-out}
.stv-effect.is-ticking .stv-drop{animation:stvDrop .65s ease-in}
.stv-effect.is-ticking .stv-regen{animation:stvRegenTick .8s ease-out}
@keyframes stvCurseIn{from{opacity:0;scale:1.2}to{opacity:.86;scale:1}}
@keyframes stvStitch{to{stroke-dashoffset:0}}
@keyframes stvSway{0%,100%{rotate:-3deg}50%{rotate:4deg}}
@keyframes stvBleedTick{0%,100%{rotate:0}22%{rotate:-10deg}50%{rotate:4deg}}
@keyframes stvDrop{0%{translate:0 0;opacity:1}100%{translate:0 24px;opacity:0}}
@keyframes stvRegenTick{0%,100%{opacity:.65;box-shadow:none}30%{opacity:1;box-shadow:inset 0 0 16px var(--stv-glow)}}
.v3-vfx-disabled .stv-status{display:none}
.stv-round-tick{position:absolute;inset:3px;border-radius:inherit;pointer-events:none;z-index:7;box-shadow:inset 0 0 19px var(--stv-glow);border:1px dashed var(--stv-spark)}
.stv-round-tick.is-bleeding{inset:36% 12% 35% 58%;border:0;background:radial-gradient(ellipse,var(--stv-thread),transparent 65%);box-shadow:none}
.stv-effect[data-theme="rend"] .stv-curse::after { content:""; position:absolute; width:28px; height:28px; left:calc(50% - 14px); top:3px; border:2px solid #B41D26; outline:1px dashed #B1695E; outline-offset:4px; border-radius:50%; background:#1C1315; box-shadow:0 0 9px #B41D26; }
.stv-effect[data-theme="rend"] .stv-ward { border-color:#B41D26; outline-color:#B1695E; background:radial-gradient(ellipse at 50% 100%,#4F000855,transparent 40%); }
.stv-effect[data-theme="rend"] .stv-ward i { height:12px; background:linear-gradient(45deg,#2D0000,#B41D26); border-color:#DAD4E4; }
.stv-effect[data-theme="rend"] .stv-regen { border-color:#B1695E; box-shadow:inset 0 -10px 16px #4F000844; }
@media(prefers-reduced-motion:reduce){.stv-status,.stv-status *{animation:none!important;transition:none!important}.stv-x{stroke-dashoffset:0}}
