diff --git a/components/settings/unified/UnifiedSettingsModal.tsx b/components/settings/unified/UnifiedSettingsModal.tsx index 3bfb955..6a865a0 100644 --- a/components/settings/unified/UnifiedSettingsModal.tsx +++ b/components/settings/unified/UnifiedSettingsModal.tsx @@ -374,7 +374,7 @@ export default function UnifiedSettingsModal() { return ( <> - {/* Backdrop */} + {/* Backdrop — fades in/out */}
- {/* Modal outer wrapper — fades in/out, glass panel inside stays always-opaque */} + {/* Glass panel — always mounted, instant show/hide, blur always composited */}
e.stopPropagation()} > - {/* All content gated by isOpen — empty glass box when closed (GPU keeps blur warm) */} + {/* Content fades in/out independently — glass stays solid */} {isOpen && ( - <> +
{/* Header */}
@@ -470,7 +468,7 @@ export default function UnifiedSettingsModal() { )} - +
)}
diff --git a/styles/globals.css b/styles/globals.css index 59c2bb5..ceeec13 100644 --- a/styles/globals.css +++ b/styles/globals.css @@ -107,4 +107,13 @@ .animate-float { animation: float 6s ease-in-out infinite; } + + @keyframes fadeIn { + from { opacity: 0; } + to { opacity: 1; } + } + + .animate-fade-in { + animation: fadeIn 150ms ease-out; + } }