/* Animation overrides — elements render at full state, no intro animations */

/* ── Setup gauge (final state) ── */

.setup-gauge-progress {
  stroke-dashoffset: var(--gauge-offset, 0);
}

/* ── Ping stroke (full, no draw) ── */

.ping-stroke {
  stroke-dashoffset: 0;
}

.ping-baseline {
  stroke-dasharray: none;
  opacity: 0.32;
}

/* ── Schedule arcs (final values, no animation) ── */

.schedule-done-arc {
  stroke-dasharray: var(--done-arc, 0) 477.52;
}

.schedule-pending-arc {
  stroke-dasharray: var(--pending-arc, 0) 477.52;
  stroke-dashoffset: calc(-1 * var(--done-arc, 0));
}

.schedule-mini-bar {
  width: var(--target, 0);
}

/* ── Analytics — final state, no intro animations ── */

[data-analytics-animate="weekly-bars"].is-chart-active .monthly-bar span {
  transform: scaleY(1);
}

[data-analytics-animate="user-bars"].is-chart-active .bar-track span {
  transform: scaleX(1);
}

[data-analytics-animate="command-pie"].is-chart-active .pie-chart {
  transform: rotate(-90deg) scale(1);
}

/* ── Lightweight keyframes (kept) ── */

@keyframes statistics-grid-reveal {
  0%,
  10%,
  100% {
    opacity: 0.15;
    transform: translateY(8px);
  }
  25%,
  85% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes statistics-icon-pulse {
  0%,
  100% {
    transform: scale(0.9);
  }
  50% {
    transform: scale(1.1);
  }
}

@keyframes ping-live-pulse {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0.35;
  }
}

@keyframes analytics-legend-enter {
  from {
    opacity: 0;
    transform: translateX(12px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* ── Error face ── */

@keyframes error-face-eye-lid {
  0%,
  40%,
  45%,
  100% {
    transform: translateY(0);
  }
  42.5% {
    transform: translateY(17.5px);
  }
}

@keyframes error-face-eyes {
  from {
    transform: translateY(112.5px);
  }
  to {
    transform: translateY(15px);
  }
}

@keyframes error-face-pupil {
  0%,
  37.5%,
  40%,
  45%,
  87.5%,
  100% {
    stroke-dashoffset: 0;
    transform: translate(0, 0);
  }
  12.5%,
  25%,
  62.5%,
  75% {
    transform: translate(-35px, 0);
  }
  42.5% {
    stroke-dashoffset: 35;
    transform: translate(0, 17.5px);
  }
}

@keyframes error-face-mouth-left {
  from,
  50% {
    stroke-dashoffset: -102;
  }
  to {
    stroke-dashoffset: 0;
  }
}

@keyframes error-face-mouth-right {
  from,
  50% {
    stroke-dashoffset: 102;
  }
  to {
    stroke-dashoffset: 0;
  }
}

@keyframes error-face-nose {
  from {
    transform: translate(0, 0);
  }
  to {
    transform: translate(0, 22.5px);
  }
}

/* ── Hover micro-interactions (touch-friendly) ── */

@media (hover: hover) {
  .guild-nav-link:hover {
    background: rgba(225, 29, 46, 0.08);
    color: var(--ink);
    transform: translateX(3px);
  }

  .history-item:hover {
    border-color: rgba(225, 29, 46, 0.25);
    background: rgba(255, 255, 255, 0.06);
  }

  .setup-breakdown .setup-step:hover {
    border-color: rgba(225, 29, 46, 0.25);
    background: rgba(255, 255, 255, 0.06);
  }

  .moderation-expand-toggle:hover {
    border-color: rgba(225, 29, 46, 0.35);
    background: rgba(225, 29, 46, 0.1);
    color: var(--ink);
  }
}

/* ── Reduced motion ── */

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

  .error-face__eyes {
    transform: translateY(15px);
  }

  .error-face__nose {
    transform: translateY(22.5px);
  }

  .error-face__mouth-left,
  .error-face__mouth-right {
    stroke-dashoffset: 0;
  }

  .error-face__eyes,
  .error-face__eye-lid,
  .error-face__mouth-left,
  .error-face__mouth-right,
  .error-face__nose,
  .error-face__pupil {
    animation: none !important;
  }

  .ping-stroke {
    stroke-dashoffset: 0;
  }

  .schedule-done-arc {
    stroke-dasharray: var(--done-arc, 0) 477.52;
  }

  .schedule-pending-arc {
    stroke-dasharray: var(--pending-arc, 0) 477.52;
    stroke-dashoffset: calc(-1 * var(--done-arc, 0));
  }

  .schedule-mini-bar {
    width: var(--target, 0);
  }

  .statistics-hit-area {
    pointer-events: none;
  }

  .statistics-tilt-card,
  .statistics-glow::before,
  .statistics-tilt-card .density-grid-line,
  .statistics-tilt-card .density-stroke,
  .statistics-total i {
    animation: none;
    transition: none;
  }

  .statistics-tilt-card .density-stroke {
    stroke-dasharray: none;
    stroke-dashoffset: 0;
    opacity: 1;
  }

  .notification-bell-toggle svg {
    animation: none;
  }

  [data-analytics-animate] .monthly-bar span,
  [data-analytics-animate] .bar-track span,
  [data-analytics-animate] .setup-gauge-progress,
  [data-analytics-animate] .pie-chart,
  [data-analytics-animate] .legend-row {
    animation: none !important;
    opacity: 1;
    transform: none;
  }

  .ping-grid-line,
  .ping-area,
  .ping-stroke,
  .ping-live-dot {
    animation: none;
  }
}
