.switch { display: inline-flex; flex-shrink: 0; padding: 2px; gap: 2px; border: 1px solid var(--border); border-radius: 999px; background: var(--raised); } .option { display: flex; align-items: center; justify-content: center; padding: 0.3rem 0.6rem; border-radius: 999px; transition: background-color 120ms ease; transform-origin: 50% 50%; will-change: transform; backface-visibility: hidden; } .icon { display: block; opacity: 0.4; filter: grayscale(1); transition: opacity 120ms ease, filter 120ms ease; } .option:hover .icon { opacity: 0.75; } .on { background: color-mix(in srgb, var(--grass) 16%, transparent); } .on .icon { opacity: 1; filter: none; }