.modal-overlay{position:fixed;inset:0;background:#00000040;display:flex;align-items:center;justify-content:center;filter:blur(0);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:20px;z-index:9999;transition:opacity .3s ease-in-out,filter .3s ease-in-out,backdrop-filter .3s ease-in-out}.modal-overlay.fullscreen{height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;padding:0;background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none}.modal-overlay .modal-card{position:relative;border-radius:16px;padding:2rem 1rem;box-sizing:border-box;max-width:calc(100vw - 2rem);max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem);overflow-y:auto;overflow-x:hidden;background:#fff;box-shadow:10px 10px 30px #0000004d;transition:transform .3s ease-in-out,opacity .3s ease-in-out}.modal-overlay .modal-card.fullscreen{width:100%;height:100%;max-width:100%;max-height:100%;border-radius:0;box-shadow:none;overflow:auto}.modal-overlay .modal-card.fullscreen .close-btn{top:calc(1.5rem + env(safe-area-inset-top,0px));right:calc(1.5rem + env(safe-area-inset-right,0px))}@media(min-width:400px){.modal-overlay .modal-card{padding:2rem}}@media(min-width:40rem){.modal-overlay .modal-card{padding:3rem}}.modal-overlay .modal-card .close-btn{position:absolute;top:1.5rem;right:1.5rem;background:none;border:none;width:3rem;height:3rem;color:var(--text-primary);padding:0;cursor:pointer;z-index:1;transition:transform .2s}.modal-overlay .modal-card .close-btn:hover{transform:translateY(-2px)}.modal-overlay .modal-card .close-btn svg{width:100%;height:100%}.modal-fade-enter-from,.modal-fade-leave-to{opacity:0;filter:blur(6px);-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}.modal-fade-enter-from .modal-card,.modal-fade-leave-to .modal-card{opacity:0;transform:scale(.95)}
