.toggleButton { display: inline-flex; justify-content: center; align-items: center; width: 2.75rem; height: 2.75rem; aspect-ratio: 1; padding: 0; border: 0; border-radius: 999px; flex-shrink: 0; cursor: pointer; background: transparent; color: var(--color-text-muted); transition: background-color 500ms ease, color 220ms var(--easing-standard), transform 180ms var(--easing-standard); } .toggleButton:hover { background: color-mix(in srgb, var(--color-text) 8%, transparent); color: var(--color-text); } .toggleButton:focus-visible { outline: none; background: color-mix(in srgb, var(--color-accent-strong) 12%, transparent); box-shadow: 0 0 0 0.12rem color-mix(in srgb, var(--color-accent-strong) 28%, transparent); color: var(--color-text); } .iconContainer { position: relative; width: 1.375rem; height: 1.375rem; } .iconLayer { position: absolute; inset: 0; display: inline-flex; align-items: center; justify-content: center; transition: transform 1000ms ease, opacity 500ms ease; } .moonLayer { transform: rotate(90deg); opacity: 0; :global([data-theme="dark"]) & { transform: rotate(0deg); opacity: 1; } } .sunLayer { transform: rotate(0deg); opacity: 1; :global([data-theme="dark"]) & { transform: rotate(-90deg); opacity: 0; } }