/* One soft mirror sweep per five-second cycle; typography and hit areas stay fixed. */
.violet-shimmer{
  color:var(--violet);
  background-image:linear-gradient(105deg,#a36aff 0%,#a36aff 39%,#cba6ff 45%,#fff 49%,#e8dcff 51%,#b88aff 55%,#a36aff 61%,#a36aff 100%);
  background-size:300% 100%;background-position:100% 50%;background-repeat:no-repeat;
  background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;
  filter:drop-shadow(0 1px 0 #632cb36e) drop-shadow(0 5px 11px #8f2bff30);
  animation:violet-mirror-pass 5s linear infinite;animation-play-state:paused;
}
.wordmark::after{
  content:'';position:absolute;inset:0;z-index:2;pointer-events:none;
  mask:url('assets/deflex-studio-mask.svg') center/100% 100% no-repeat;
  -webkit-mask:url('assets/deflex-studio-mask.svg') center/100% 100% no-repeat;
  background-image:linear-gradient(105deg,transparent 0%,transparent 42%,#d8bfff66 46%,#fff 49%,#e6dcffff 51%,#cfaeff77 54%,transparent 58%,transparent 100%);
  background-size:300% 100%;background-position:100% 50%;background-repeat:no-repeat;
  filter:drop-shadow(0 0 3px #b58bff80);
  animation:violet-mirror-pass 5s linear infinite;animation-play-state:paused;
}
.violet-shimmer.shine-active,.wordmark.shine-active::after{animation-play-state:running}
.shine-suspended .violet-shimmer,.shine-suspended .wordmark::after{animation-play-state:paused}
@keyframes violet-mirror-pass{
  0%,72%{background-position:100% 50%}
  96%,100%{background-position:0% 50%}
}
@media(prefers-reduced-motion:reduce){.violet-shimmer,.wordmark::after{animation:none!important;background-position:100% 50%}.wordmark::after{display:none}}
