/* * GX MODAL * Dark-only / Flamingo Pink neon glow / Premium cyberdeck style */ /* BACKDROP */ .gx-modal-backdrop { position: fixed; inset: 0; background: rgba(0, 0, 0, 0.82); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); opacity: 0; pointer-events: none; transition: opacity 0.25s ease; z-index: 900; } .gx-modal-backdrop.active { opacity: 1; pointer-events: all; } /* MODAL CONTAINER */ .gx-modal { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -42%) scale(0.92); background: var(--color-bg-card); border-radius: var(--radius-soft); border: 1px solid var(--color-border-soft); box-shadow: var(--shadow-elevated), 0 0 22px rgba(255, 79, 163, 0.15); width: min(520px, 92%); padding: 2rem; opacity: 0; transition: opacity var(--transition), transform var(--transition); z-index: 901; } .gx-modal.active { opacity: 1; transform: translate(-50%, -50%) scale(1); } /* HEADER */ .gx-modal-header { margin-bottom: 1.5rem; } .gx-modal-title { font-size: 1.4rem; font-weight: 700; color: var(--color-brand); text-shadow: 0 0 8px var(--color-brand-glow); } /* BODY */ .gx-modal-body { color: var(--color-text-secondary); font-size: 1.05rem; line-height: 1.55; margin-bottom: 2rem; } /* FOOTER */ .gx-modal-footer { display: flex; justify-content: flex-end; gap: 1rem; } /* CLOSE BUTTON (top right, optional) */ .gx-modal-close { position: absolute; top: 12px; right: 14px; font-size: 1.4rem; color: var(--color-text-secondary); cursor: pointer; transition: color var(--transition-fast); } .gx-modal-close:hover { color: var(--color-brand); } /* MOBILE RESPONSIVE */ @media (max-width: 480px) { .gx-modal { padding: 1.4rem; } .gx-modal-title { font-size: 1.25rem; } .gx-modal-body { font-size: 1rem; } }