.modal-overlay.svelte-32v57s{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;background-color:#00000080;animation:svelte-32v57s-fadeIn .2s ease-out}@keyframes svelte-32v57s-fadeIn{0%{opacity:0}to{opacity:1}}.modal.svelte-32v57s{position:relative;width:100%;max-width:var(--modal-max-width, 600px);max-height:calc(100vh - 2rem);background-color:var(--modal-bg);border:2px solid var(--modal-border);box-shadow:var(--shadow-lg);overflow:hidden;display:flex;flex-direction:column;animation:svelte-32v57s-slideUp .2s ease-out}@keyframes svelte-32v57s-slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal--align-start.svelte-32v57s{align-self:flex-start}.modal--align-end.svelte-32v57s{align-self:flex-end}.modal-header.svelte-32v57s{gap:1rem}.modal-title.svelte-32v57s{color:var(--text)}.modal-close.svelte-32v57s{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:var(--r-sm);transition:background-color var(--t-fast),color var(--t-fast)}.modal-close.svelte-32v57s:hover{background:var(--bg-elevated);color:var(--text)}.modal-close.svelte-32v57s:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}@media(max-width:640px){.modal-overlay.svelte-32v57s{padding:0;align-items:flex-end}.modal.svelte-32v57s{max-width:100%;max-height:90vh;border-left:none;border-right:none;border-bottom:none;border-radius:16px 16px 0 0}}
