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

  .scene.is-active,
  #startButton,
  .brick-cell.is-hint {
    animation: none !important;
  }

  .brick-cell.is-hint {
    filter: brightness(1.18);
  }

  .round-action--confirm:not(:disabled),
  .stage-complete-banner:not([hidden]),
  .stage-complete-banner.is-visible,
  .brick-cell.is-special-activated {
    animation: none !important;
  }

  .title-bricks {
    opacity: 0.32;
  }

  .level-card:hover {
    transform: none;
  }

  .progress-track i,
  .result-card {
    box-shadow: none;
  }
}

@media (forced-colors: active) {
  .brick-cell,
  .editor-cell,
  .brick-button,
  .round-action,
  .level-card {
    border: 2px solid ButtonText;
  }

  .brick-cell.is-hint,
  .palette-swatch.is-selected,
  .brick-cell.is-line-ready {
    outline: 3px solid Highlight;
  }

  .brick-cell[data-special]::after,
  .editor-cell[data-special]::after {
    border: 2px solid Highlight;
    color: HighlightText;
    background: Highlight;
    forced-color-adjust: none;
  }

  .line-confirm-tray,
  .special-effect-status,
  .special-tooltip,
  .stage-complete-banner {
    border: 2px solid CanvasText;
    color: CanvasText;
    background: Canvas;
  }

  .level-silhouette .mini-cell.is-filled {
    border: 1px solid Canvas;
    background: CanvasText;
    forced-color-adjust: none;
  }

  .level-stars .star {
    color: GrayText;
    forced-color-adjust: none;
  }

  .level-stars .star.is-earned,
  .level-stars .star.is-filled,
  .level-stars .star.filled {
    color: Highlight;
    -webkit-text-stroke: 1px Canvas;
  }
}
