.ui-modal__scrim{z-index:var(--ui-z-modal);background:var(--ui-overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-family:var(--ui-font-sans);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.ui-modal{background:var(--ui-bg-elev);color:var(--ui-text);border:1px solid var(--ui-border);border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow-lift);flex-direction:column;width:100%;max-height:calc(100vh - 48px);display:flex;overflow:hidden}.ui-modal--sm{max-width:380px}.ui-modal--md{max-width:540px}.ui-modal--lg{max-width:760px}.ui-modal--xl{max-width:1080px}.ui-modal__head{justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 22px 12px;display:flex}.ui-modal__head-text{flex:1;min-width:0}.ui-modal__title{font-size:var(--ui-text-lg);letter-spacing:var(--ui-tracking-snug);color:var(--ui-text);margin:0;font-weight:600}.ui-modal__sub{font-size:var(--ui-text-sm);color:var(--ui-text-2);margin:4px 0 0}.ui-modal__close{border-radius:var(--ui-radius-md);width:30px;height:30px;color:var(--ui-text-subtle);cursor:pointer;transition:background var(--ui-dur-base) var(--ui-ease), color var(--ui-dur-base) var(--ui-ease);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.ui-modal__close:hover{background:var(--ui-surface-2);color:var(--ui-text)}.ui-modal__body{font-size:var(--ui-text-base);color:var(--ui-text-2);padding:12px 22px 22px;overflow-y:auto}.ui-modal--padded:not(:has(.ui-modal__head)) .ui-modal__body{padding-top:22px}.ui-modal__foot{border-top:1px solid var(--ui-border);background:var(--ui-surface);justify-content:flex-end;align-items:center;gap:8px;padding:14px 22px;display:flex}.ui-modal-enter-active,.ui-modal-leave-active{transition:opacity var(--ui-dur-base) var(--ui-ease)}.ui-modal-enter-active .ui-modal,.ui-modal-leave-active .ui-modal{transition:transform var(--ui-dur-base) var(--ui-ease), opacity var(--ui-dur-base) var(--ui-ease)}.ui-modal-enter-from,.ui-modal-leave-to{opacity:0}.ui-modal-enter-from .ui-modal,.ui-modal-leave-to .ui-modal{opacity:0;transform:translateY(8px)scale(.985)}@media (width<=640px){.ui-modal__scrim{align-items:flex-end;padding:0}.ui-modal{border-radius:var(--ui-radius-lg) var(--ui-radius-lg) 0 0;max-width:none;max-height:92vh}.ui-modal-enter-from .ui-modal,.ui-modal-leave-to .ui-modal{transform:translateY(100%)}}
