.switch { position: relative; width: 38px; height: 22px; border-radius: 999px; background: rgba(148, 163, 184, 0.45); overflow: hidden; transition: background 0.2s; flex-shrink: 0; } .switch::before, .switch::after { position: absolute; top: 50%; transform: translateY(-50%); font-family: var(--font-en), var(--font-ui); font-size: 9px; font-weight: 700; line-height: 1; pointer-events: none; z-index: 0; color: var(--text-primary); } .switch::before { content: '1'; left: 6px; } .switch::after { content: '0'; right: 6px; } .switch.on { background: var(--primary); } .switch.on::before, .switch.on::after { color: #fff; } .thumb { position: absolute; top: 2px; left: 2px; width: 18px; height: 18px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15); transition: transform 0.2s; z-index: 1; } .switch.on .thumb { transform: translateX(16px); } .switch:disabled { opacity: 0.5; cursor: not-allowed; }