/* Kreise rechts neben der Menü-Pille (js/components/site-controls.js, K2b): dicht daneben, im
   selben Glas wie die Pille. Der Schalter für den Schwarz-Weiß-Modus ist ein halb gefüllter Kreis,
   der sich beim Umschalten um 180° dreht. */
.site-controls,
.site-controls__languages {
  display: flex;
  gap: 6px;
}

.site-controls {
  margin-left: -4px;
}

.site-controls__circle {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--pill-glass);
  color: var(--color-nav-ink);
  cursor: pointer;
  -webkit-backdrop-filter: var(--pill-glass-blur);
  backdrop-filter: var(--pill-glass-blur);
  transition: scale var(--duration-spring) var(--ease-spring);
}

/* DE und EN: die gewählte Sprache weiß gefüllt wie der Tropfen, mit dunkler Schrift */
.site-controls__lang {
  font: inherit;
  font-size: var(--text-nav);
  font-weight: var(--weight-medium);
  transition:
    scale var(--duration-spring) var(--ease-spring),
    background-color var(--duration-hover) var(--ease-in-out),
    color var(--duration-hover) var(--ease-in-out);
}

.site-controls__lang[aria-pressed='true'] {
  background: #fff;
  color: var(--color-ink);
}

.site-controls__circle:active {
  scale: 0.94;
  transition-duration: 100ms;
}

.site-controls__icon {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: linear-gradient(90deg, currentcolor 50%, transparent 50%);
  box-shadow: inset 0 0 0 1.5px currentcolor;
  transition: rotate 700ms var(--ease-spring);
}

:root[data-theme='mono'] .site-controls__icon {
  rotate: 180deg;
}

:root[data-motion='still'] .site-controls__icon {
  transition: none;
}

/* Umschalten: der neue Look wächst als Kreis vom Schalter aus (760 ms). Die Menü-Pille gehört
   dabei zum Ganzen, damit der Kreis auch über sie läuft. */
:root.is-switching-theme .site-nav {
  view-transition-name: none;
}

:root.is-switching-theme::view-transition-old(root) {
  animation: none;
}

:root.is-switching-theme::view-transition-new(root) {
  animation: theme-reveal 760ms var(--ease-in-out);
}

@keyframes theme-reveal {
  from {
    clip-path: circle(0 at var(--switch-x) var(--switch-y));
  }

  to {
    clip-path: circle(150vmax at var(--switch-x) var(--switch-y));
  }
}
