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