/* * GX TOGGLE — Minimal Neon Switch * Dark-only, Flamingo Pink accents, medium glow */ .gx-toggle { position: relative; display: inline-flex; align-items: center; gap: 0.65rem; cursor: pointer; user-select: none; font-size: 1rem; color: var(--color-text-primary); } /* Hide native checkbox */ .gx-toggle input { position: absolute; opacity: 0; pointer-events: none; } /* Track */ .gx-toggle-track { width: 46px; height: 24px; background: var(--color-bg-card); border-radius: 30px; border: 1px solid var(--color-border-soft); position: relative; transition: background var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast); box-shadow: 0 0 10px rgba(255, 79, 163, 0.15); } /* Thumb */ .gx-toggle-thumb { width: 20px; height: 20px; background: var(--color-text-primary); border-radius: 50%; position: absolute; top: 1.5px; left: 2px; transition: transform var(--transition-fast), background var(--transition-fast), box-shadow var(--transition-fast); box-shadow: 0 0 6px rgba(255, 255, 255, 0.2); } /* Hover (slight brighten) */ .gx-toggle:hover .gx-toggle-track { border-color: var(--color-brand-hover); box-shadow: 0 0 14px rgba(255, 79, 163, 0.25); } /* ON State */ .gx-toggle input:checked + .gx-toggle-track { background: var(--color-brand); border-color: var(--color-brand-hover); box-shadow: 0 0 16px rgba(255, 79, 163, 0.35); } .gx-toggle input:checked + .gx-toggle-track .gx-toggle-thumb { transform: translateX(22px); background: #fff; box-shadow: 0 0 14px rgba(255, 79, 163, 0.4); } /* Keyboard focus */ .gx-toggle input:focus-visible + .gx-toggle-track { outline: 2px solid var(--color-brand); outline-offset: 4px; } /* Disabled */ .gx-toggle input:disabled + .gx-toggle-track { opacity: 0.4; cursor: not-allowed; } .gx-toggle input:disabled ~ span { opacity: 0.4; }