.app-modal{--modal-gap:.875rem;--modal-w-sm:42rem;--modal-w-md:54.125rem;--modal-w-lg:57.5rem;--modal-overlay:rgba(0,0,0,.6);--modal-wrap-px:var(--space-4);--modal-wrap-py:var(--space-4);--modal-dialog-radius:var(--radius-16);--modal-dialog-width:var(--modal-w-md);--modal-dialog-px:var(--space-6);--modal-dialog-py:var(--space-6);--modal-dialog-bg:var(--color-white);--modal-dialog-fg:var(--color-text);--modal-dialog-shadow:0 1.25rem 5rem rgba(0,0,0,.25);--modal-close-btn-size:var(--space-6);display:grid;inset:0;position:fixed;z-index:var(--z-modal)}@media(max-width:61rem){.app-modal{--modal-dialog-px:var(--space-5);--modal-dialog-py:var(--space-5)}}@media(max-width:47rem){.app-modal{--modal-dialog-px:var(--space-4);--modal-dialog-py:var(--space-4)}}.app-modal[data-size=sm]{--modal-dialog-width:var(--modal-w-sm)}.app-modal[data-size=lg]{--modal-dialog-width:var(--modal-w-lg)}.app-modal._frameless{--modal-dialog-radius:0;--modal-dialog-px:0;--modal-dialog-py:0;--modal-dialog-bg:transparent;--modal-dialog-fg:inherit}.app-modal._frameless .app-modal__body{max-block-size:none}.app-modal__overlay{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background-color:var(--modal-overlay);inset:0;position:absolute}.app-modal__wrap{overflow:hidden auto;overscroll-behavior:contain;padding:var(--modal-wrap-py) var(--modal-wrap-px);pointer-events:none;position:relative;text-align:center}.app-modal__wrap:before{content:"";display:inline-block;height:100%;vertical-align:middle}.app-modal__dialog{background-color:var(--modal-dialog-bg);border-radius:var(--modal-dialog-radius);color:var(--modal-dialog-fg);display:inline-block;inline-size:100%;max-inline-size:var(--modal-dialog-width);outline:none;overflow:hidden;pointer-events:all;text-align:start;vertical-align:middle}.app-modal__header{align-items:center;display:flex;gap:var(--modal-gap);justify-content:space-between;padding:var(--modal-dialog-py) var(--modal-dialog-px)}.app-modal__header:not(:last-child){border-block-end:var(--border-primary)}.app-modal__title{flex:1 1 auto;min-inline-size:0}@media(max-width:61rem){.app-modal__title.h1{font-size:1.125rem;font-weight:500;line-height:1.44}}.app-modal__close{--btn-size:var(--modal-close-btn-size);align-items:center;background:none;block-size:var(--btn-size);border:none;color:var(--color-muted);display:flex;flex:0 0 var(--btn-size);font-size:var(--btn-size);font-weight:400;inline-size:var(--btn-size);justify-content:center;line-height:1;transition:color var(--transition-duration)}.app-modal__close:not(:disabled){cursor:pointer}@media(any-hover:hover){.app-modal__close:not(:disabled):hover{color:var(--color-text)}}.app-modal__close:not(:disabled):focus-visible{outline:2px solid currentColor;outline-offset:2px}.app-modal__body{max-block-size:calc(100svh - var(--modal-wrap-py)*2 - 12.5rem);overflow:hidden auto}.app-modal__body,.app-modal__footer{padding:var(--modal-dialog-py) var(--modal-dialog-px)}.app-modal__footer:not(:first-child){border-block-start:var(--border-primary)}.app-modal-fade-enter-active,.app-modal-fade-leave-active{transition:opacity .2s ease}.app-modal-fade-enter-from,.app-modal-fade-leave-to{opacity:0}.app-modal-fade-enter-active .app-modal__dialog,.app-modal-fade-leave-active .app-modal__dialog{transition:transform .2s ease}.app-modal-fade-enter-from .app-modal__dialog{transform:translateY(.5rem) scale(.98)}.app-modal-fade-leave-to .app-modal__dialog{transform:translateY(.375rem) scale(.99)}
