/* === ScanField Animation Styles === */
.scan-field {
  width: min(95vw, 500px);
  overflow: visible;
}

.scan-field svg {
  width: 100%;
  height: auto;
  color: var(--text);
  overflow: visible;
}

.scan-field__origin-dot {
  opacity: 0;
  animation: sf-scale-in 0.3s cubic-bezier(0.34, 1.56, 0.64, 1) 0.15s forwards;
}

.scan-field__origin-line {
  stroke-dasharray: 30;
  stroke-dashoffset: 30;
  animation: sf-draw-line 0.35s cubic-bezier(0.23, 1, 0.32, 1) 0.35s forwards;
}

.scan-field__dots {
  opacity: 0;
  transition: opacity 0.6s ease;
}

.scan-field__dots--visible {
  opacity: 1;
}

@keyframes sf-scale-in {
  from { opacity: 0; transform: scale(0); }
  to   { opacity: 1; transform: scale(1); }
}

@keyframes sf-draw-line {
  to { stroke-dashoffset: 0; }
}
