/*!***************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[5].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[13].oneOf[5].use[3]!./src/components/ThemeToggleButton.module.css ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************/
.ThemeToggleButton_root__fcIvF {
  border-radius: 9999px;
  transition:
    transform 0.22s ease,
    box-shadow 0.45s ease;
}

.ThemeToggleButton_root__fcIvF:active:not(:disabled) {
  transform: scale(0.94);
}

/* Мягкое «кольцо» при смене темы */
.ThemeToggleButton_rootPulse__cdBIe {
  animation: ThemeToggleButton_themeBtnGlow__UYWN5 0.65s ease;
}

@keyframes ThemeToggleButton_themeBtnGlow__UYWN5 {
  0% {
    box-shadow:
      0 0 0 0 color-mix(in srgb, var(--mantine-primary-color-filled) 42%, transparent),
      0 2px 8px color-mix(in srgb, var(--mantine-color-body) 12%, transparent);
  }
  55% {
    box-shadow:
      0 0 0 8px transparent,
      0 2px 10px color-mix(in srgb, var(--mantine-primary-color-filled) 16%, transparent);
  }
  100% {
    box-shadow:
      0 0 0 0 transparent,
      0 2px 8px transparent;
  }
}

/* Контейнер: две иконки друг на друге — плавный crossfade */
.ThemeToggleButton_iconWrap__gFUal {
  position: relative;
  width: 18px;
  height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ThemeToggleButton_iconLayer__sZ4cs {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transform: scale(0.9);
  transition:
    opacity 0.55s cubic-bezier(0.4, 0, 0.2, 1),
    transform 0.55s cubic-bezier(0.4, 0, 0.2, 1);
  pointer-events: none;
  will-change: opacity, transform;
}

.ThemeToggleButton_iconLayerOn__lPLtQ {
  opacity: 1;
  transform: scale(1);
}

/* Лёгкое движение всего блока при клике (без резкого 360°) */
.ThemeToggleButton_iconWrapNudge__A_w9Q {
  animation: ThemeToggleButton_themeIconNudge__ujtT8 0.75s cubic-bezier(0.4, 0, 0.2, 1);
}

@keyframes ThemeToggleButton_themeIconNudge__ujtT8 {
  0% {
    transform: rotate(0deg) scale(1);
  }
  22% {
    transform: rotate(-7deg) scale(0.96);
  }
  48% {
    transform: rotate(6deg) scale(0.98);
  }
  72% {
    transform: rotate(-2deg) scale(1);
  }
  100% {
    transform: rotate(0deg) scale(1);
  }
}

