/* * GX RADIO — Premium Minimal Neon * Dark-only, Flamingo Pink accent with subtle glow. */ .gx-radio { position: relative; display: inline-flex; align-items: center; gap: 0.55rem; cursor: pointer; user-select: none; font-size: 1rem; color: var(--color-text-primary); } /* Hide actual input */ .gx-radio input { position: absolute; opacity: 0; pointer-events: none; } /* Outer circle */ .gx-radio-mark { width: 20px; height: 20px; border-radius: 50%; border: 2px solid var(--color-border-soft); display: flex; justify-content: center; align-items: center; transition: border-color var(--transition-fast), box-shadow var(--transition), background var(--transition-fast); box-shadow: 0 0 6px rgba(255, 79, 163, 0.15); } /* Inner dot */ .gx-radio-mark::after { content: ""; width: 10px; height: 10px; background: var(--color-brand); border-radius: 50%; transform: scale(0); transition: transform var(--transition-fast); box-shadow: 0 0 14px rgba(255, 79, 163, 0.25); } /* Checked */ .gx-radio input:checked + .gx-radio-mark { border-color: var(--color-brand); box-shadow: 0 0 14px rgba(255, 79, 163, 0.38); } .gx-radio input:checked + .gx-radio-mark::after { transform: scale(1); } /* Hover */ .gx-radio:hover .gx-radio-mark { border-color: var(--color-brand-hover); box-shadow: 0 0 14px rgba(255, 79, 163, 0.28); } /* Keyboard focus */ .gx-radio input:focus-visible + .gx-radio-mark { outline: 2px solid var(--color-brand); outline-offset: 4px; } /* Disabled */ .gx-radio input:disabled + .gx-radio-mark { opacity: 0.35; cursor: not-allowed; } .gx-radio input:disabled ~ span { opacity: 0.35; }