.ic img,
.contact-tile__icon img { filter: invert(0); }

:root.dark .ic img,
:root.dark .contact-tile__icon img { filter: invert(1) brightness(1.08); }

:root.dark .profile__photo,
:root.dark .project__cover img,
:root.dark .case__cover img { filter: none; }

.theme-switching *,
.theme-switching *::before,
.theme-switching *::after {
  transition: none;
}

.theme-switching .theme-changer__icon {
  transition:
    opacity 300ms var(--ease),
    transform 460ms cubic-bezier(0.34, 1.5, 0.5, 1);
}

.theme-switching {
  transition:
    --color-bg           var(--theme-motion) var(--theme-ease),
    --color-surface      var(--theme-motion) var(--theme-ease),
    --color-text         var(--theme-motion) var(--theme-ease),
    --color-text-muted   var(--theme-motion) var(--theme-ease),
    --color-chip-bg      var(--theme-motion) var(--theme-ease),
    --color-focus        var(--theme-motion) var(--theme-ease),
    --color-lift         var(--theme-motion) var(--theme-ease),
    --color-border-hover var(--theme-motion) var(--theme-ease),
    --color-cover-hover  var(--theme-motion) var(--theme-ease),
    --color-bullet       var(--theme-motion) var(--theme-ease),
    --color-accent       var(--theme-motion) var(--theme-ease),
    --color-accent-text  var(--theme-motion) var(--theme-ease),
    --color-accent-hover var(--theme-motion) var(--theme-ease),
    --header-bg          var(--theme-motion) var(--theme-ease),
    --header-border      var(--theme-motion) var(--theme-ease),
    --menu-edge          var(--theme-motion) var(--theme-ease),
    --menu-scrim         var(--theme-motion) var(--theme-ease),
    --cookie-edge        var(--theme-motion) var(--theme-ease),
    --scrollbar-thumb    var(--theme-motion) var(--theme-ease),
    --scrollbar-lane-bg  var(--theme-motion) var(--theme-ease),
    --scrollbar-lane-edge var(--theme-motion) var(--theme-ease);
}

.theme-switching :where(.ic img, .contact-tile__icon img) {
  transition: filter var(--theme-motion) var(--theme-ease);
}

@media (prefers-reduced-motion: reduce) {
  .theme-switching,
  .theme-switching :where(.ic img, .contact-tile__icon img) { transition: none; }
}
