/* Lucide icons rendered by icon() (app/icons.py) and dpIcon() (static/js/icons.js).
   Loaded only when DP_NEW_STYLE is on. Owner: W1-C. */

.dp-v2 .dp-icon {
  display: inline-block;
  width: 1em;
  height: 1em;
  flex-shrink: 0;
  vertical-align: -0.125em;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  overflow: visible;
}

/* Size modifiers mirror Font Awesome's fa-fw / fa-xs … fa-2x. */
.dp-v2 .dp-icon-fw {
  width: 1.25em;
}

.dp-v2 .dp-icon-xs {
  font-size: 0.75em;
  vertical-align: -0.0667em;
}

.dp-v2 .dp-icon-sm {
  font-size: 0.875em;
  vertical-align: -0.0714em;
}

.dp-v2 .dp-icon-lg {
  font-size: 1.25em;
  vertical-align: -0.2em;
}

.dp-v2 .dp-icon-xl {
  font-size: 1.5em;
  vertical-align: -0.25em;
}

.dp-v2 .dp-icon-2x {
  font-size: 2em;
  vertical-align: -0.25em;
}

.dp-v2 .dp-icon-spin {
  animation: dp-icon-spin 1s linear infinite;
}

@keyframes dp-icon-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .dp-v2 .dp-icon-spin {
    animation-duration: 3s;
  }
}
