<label class="tgl">
<input type="checkbox" checked>
<span class="tgl-slider"></span>
</label>
.tgl {
position: relative;
display: inline-block;
width: 52px;
height: 30px;
}
.tgl input { opacity: 0; width: 0; height: 0; }
.tgl-slider {
position: absolute;
inset: 0;
background: rgba(255,255,255,0.15);
border-radius: 9999px;
transition: background .3s;
cursor: pointer;
}
.tgl-slider::before {
content: '';
position: absolute;
width: 24px;
height: 24px;
left: 3px;
bottom: 3px;
background: #fff;
border-radius: 50%;
transition: transform .3s cubic-bezier(.4,0,.2,1);
box-shadow: 0 2px 6px rgba(0,0,0,0.3);
}
.tgl input:checked + .tgl-slider { background: #a78bfa; }
.tgl input:checked + .tgl-slider::before { transform: translateX(22px); }