.container { display: flex; flex-direction: row; color: var(--text-color); cursor: pointer; } .switch { width: 40px; height: 24px; border: 2px solid var(--UI-Input-Controls-Border-Normal); background: var(--UI-Input-Controls-Surface-Normal); border-radius: 24px; transition: all 200ms; display: block; &:before { content: ""; display: block; margin: 2px; width: 16px; height: 16px; background: var(--UI-Input-Controls-Border-Normal); border-radius: 100%; transition: all 200ms; } } .container[data-selected] { .switch { border-color: var(--UI-Input-Controls-Fill-Selected); background: var(--UI-Input-Controls-Fill-Selected); &:before { background: var(--UI-Input-Controls-Surface-Normal); transform: translateX(100%); } } } .container[data-focus-visible] .switch { outline: 2px solid var(--focus-ring-color); outline-offset: 2px; }