/* ═══════════════════════════════════════════════
   THEME TOGGLE — Shared across pages
   ═══════════════════════════════════════════════ */

.theme-transitioning,
.theme-transitioning *,
.theme-transitioning *::before,
.theme-transitioning *::after {
  transition: background-color 0.4s ease,
              color 0.4s ease,
              border-color 0.4s ease,
              box-shadow 0.4s ease !important;
}

.theme-toggle {
  position: relative;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(0,232,90,0.2);
  background: rgba(0,232,90,0.05);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  color: var(--green-electric, var(--n-amber));
  transition: all 0.3s ease;
  flex-shrink: 0;
}

.theme-toggle:hover {
  background: rgba(0,232,90,0.12);
  border-color: rgba(0,232,90,0.35);
}

.theme-toggle-nostalgia {
  border-color: var(--n-amber-muted);
  background: rgba(232,168,56,0.05);
  color: var(--n-amber);
}

.theme-toggle-nostalgia:hover {
  background: rgba(232,168,56,0.12);
  border-color: rgba(232,168,56,0.35);
}

.theme-toggle .icon-sun,
.theme-toggle .icon-moon {
  position: absolute;
  transition: opacity 0.35s ease, transform 0.35s ease;
}

.theme-toggle .icon-sun {
  opacity: 1;
  transform: rotate(0deg) scale(1);
}

.theme-toggle .icon-moon {
  opacity: 0;
  transform: rotate(-90deg) scale(0);
}

[data-theme="light"] .theme-toggle {
  border-color: rgba(0,153,77,0.18);
  background: rgba(0,153,77,0.04);
  color: var(--green-electric);
}

[data-theme="light"] .theme-toggle:hover {
  background: rgba(0,153,77,0.1);
  border-color: rgba(0,153,77,0.3);
}
