:where(.vm-sign){--sign-x:50%;--sign-y:50%;--sign-size:100%;--line:.34;pointer-events:none;position:absolute;inset:0}:where(.vm-sign-corner){aspect-ratio:1;inset:auto}:where(.vm-sign-corner) .vm-sign-glow{display:none}:where(.vm-sign-field){-webkit-mask-image:radial-gradient(closest-side at var(--sign-x) var(--sign-y), #000 45%, transparent);mask-image:radial-gradient(closest-side at var(--sign-x) var(--sign-y), #000 45%, transparent);position:absolute;inset:0}.vm-sign-field canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.vm-sign-box{left:var(--sign-x);top:var(--sign-y);width:var(--sign-size);aspect-ratio:1;position:absolute;translate:-50% -50%}.vm-sign-glow,.vm-sign-dial,.vm-sign-turn,.vm-sign-lines,.vm-sign-sparks{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.vm-sign-glow{background:radial-gradient(closest-side, rgb(var(--vm-glow) / .4), rgb(var(--vm-glow) / .12) 60%, transparent);border-radius:50%;scale:.8}.vm-sign circle,.vm-sign line{fill:none;stroke:var(--vm-sign-line)}.vm-sign-line{stroke-width:var(--line);opacity:.75}.vm-sign-line.is-arc{opacity:.4}.vm-sign-line.is-bound{stroke-width:calc(var(--line) * 1.5);opacity:.9}.vm-sign-ring{stroke-width:calc(var(--line) * .8);opacity:.45}.vm-sign-dial line{stroke-width:calc(var(--line) * .7);opacity:.4}.vm-sign-dial .is-major{stroke-width:calc(var(--line) * 1.6);opacity:.9}.vm-sign-miss circle{stroke:var(--vm-accent);stroke-width:.5px;stroke-dasharray:2.2 2.6}.vm-sign-spark{aspect-ratio:1;background:radial-gradient(closest-side, #fff6e0, var(--vm-gold) 58%, transparent);clip-path:polygon(50% 0,57% 43%,100% 50%,57% 57%,50% 100%,43% 57%,0 50%,43% 43%);width:clamp(10px,2.6%,16px);translate:-50% -50%;scale:var(--s);position:absolute}@media (prefers-reduced-motion:no-preference){.vm-sign:not([data-level=still]) .vm-sign-line{transform-box:fill-box;transform-origin:50%;animation:vm-sign-grow 1.6s cubic-bezier(.4, 0, .2, 1) var(--d,0s) both}.vm-sign:not([data-level=still]) .vm-sign-dial{animation:120s linear infinite vm-spin}.vm-sign:not([data-level=still]) .vm-sign-miss{animation:1s ease-out 2.4s both vm-sign-appear}.vm-sign:not([data-level=still]) .vm-sign-miss circle{transform-box:fill-box;transform-origin:50%;animation:40s linear infinite vm-spin}.vm-sign[data-level=full] .vm-sign-turn{animation:8s ease-in-out 3s infinite alternate vm-sign-breathe}.vm-sign[data-level=full] .vm-sign-glow{animation:2s ease-out .6s both vm-sign-appear,9s ease-in-out 2.6s infinite alternate vm-sign-glow}.vm-sign[data-level=full] .vm-sign-spark{animation:vm-sign-appear 1s ease-out 2.2s both, vm-sign-twinkle var(--t) ease-in-out 3.2s infinite alternate}}@keyframes vm-sign-grow{0%{opacity:0;transform:scale(.6)}}@keyframes vm-sign-appear{0%{opacity:0}}@keyframes vm-sign-breathe{to{transform:scale(1.012)}}@keyframes vm-sign-glow{to{opacity:.8;transform:scale(1.05)}}@keyframes vm-sign-twinkle{0%{opacity:1;transform:scale(1)}to{opacity:.45;transform:scale(.8)}}
