.modal-root{z-index:var(--z-modal,300);padding:var(--space-4);place-items:center;display:grid;position:fixed;inset:0}.modal-root__backdrop{background:color-mix(in srgb, var(--color-bg-sunken) 72%, transparent);-webkit-backdrop-filter:blur(4px);animation:.22s ease-out forwards modal-backdrop-in;position:absolute;inset:0}.modal-root--exiting .modal-root__backdrop{animation:.18s ease-in forwards modal-backdrop-out}.modal{z-index:1;flex-direction:column;max-height:min(85vh,720px);padding:0;animation:.24s cubic-bezier(.16,1,.3,1) forwards modal-panel-in;display:flex;position:relative;overflow:hidden}.modal-root--exiting .modal{animation:.18s ease-in forwards modal-panel-out}.modal--sm{width:min(420px, calc(100vw - var(--space-8)))}.modal--lg{width:min(640px, calc(100vw - var(--space-8)))}.modal__header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-5) var(--space-6) var(--space-4);border-bottom:1px solid var(--color-border-soft);flex-shrink:0;display:flex}.modal__titles{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.modal__title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text);line-height:var(--leading-snug,1.3);margin:0}.modal__subtitle{font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--color-text-secondary);margin:0}.modal__close{border-radius:var(--radius-md);width:32px;height:32px;color:var(--color-text-muted);cursor:pointer;transition:box-shadow var(--transition-fast), color var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.modal__close:hover{color:var(--color-text);box-shadow:var(--neo-inset-sm)}.modal__close:focus-visible{box-shadow:var(--neo-inset-sm), 0 0 0 2px var(--color-accent);outline:none}.modal__body{min-height:0;padding:var(--space-5) var(--space-6);flex:1;overflow-y:auto}.modal__footer{align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border-soft);background:var(--color-surface);flex-wrap:wrap;flex-shrink:0;display:flex}.modal__footer--end{justify-content:flex-end}.modal__footer--start{justify-content:flex-start}.modal__footer--between{justify-content:space-between}.modal__footer--sticky{z-index:1;position:sticky;bottom:0}@keyframes modal-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes modal-backdrop-out{0%{opacity:1}to{opacity:0}}@keyframes modal-panel-in{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes modal-panel-out{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(8px)scale(.98)}}@media (width<=480px){.modal-root{padding:var(--space-2)}.modal__header,.modal__body,.modal__footer{padding-left:var(--space-4);padding-right:var(--space-4)}.modal__footer{flex-direction:column-reverse;align-items:stretch}.modal__footer>.neo-btn{width:100%}}@media (prefers-reduced-motion:reduce){.modal-root__backdrop,.modal{animation:.15s forwards fadeIn}.modal-root--exiting .modal-root__backdrop,.modal-root--exiting .modal{animation:.12s reverse forwards fadeIn}}
