.view-toggle-switch { position: relative; display: inline-flex; align-items: center; flex-shrink: 0; width: 2.5rem; height: 1.375rem; border-radius: 9999px; border: none; padding: 0; cursor: pointer; background-color: #cbd5e1; transition: background-color 0.2s ease; outline: none; &:focus-visible { box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px var(--primary, #7c3deb); } &.is-on { background: var(--primary, #7c3deb); background: linear-gradient(135deg, var(--primary, #7c3deb) 0%, #a855f7 100%); } :host-context(.dark) &, :host-context([data-theme-mode="dark"]) & { background-color: rgba(255, 255, 255, 0.2); } } .view-toggle-thumb { position: absolute; top: 0.1875rem; left: 0.1875rem; width: 1rem; height: 1rem; border-radius: 9999px; background-color: #ffffff; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25); transition: transform 0.2s ease; .view-toggle-switch.is-on & { transform: translateX(1.125rem); } }