.bsa-modal-backdrop{z-index:var(--z-modal);padding:var(--space-16);background:var(--scrim);overscroll-behavior:contain;animation:bsa-modal-fade var(--duration-base) var(--ease-out);place-items:center;display:grid;position:fixed;inset:0;overflow-y:auto}.bsa-modal-dialog{width:100%;max-height:calc(100vh - var(--space-32) * 2);max-height:calc(100dvh - var(--space-32) * 2);background:var(--surface);color:var(--ink);border:var(--hairline);border-radius:var(--radius-md);box-shadow:var(--elevation-3);animation:bsa-modal-rise var(--duration-medium) var(--ease-out);flex-direction:column;margin:auto;display:flex;overflow:hidden}.bsa-modal--sm{max-width:26rem}.bsa-modal--md{max-width:38rem}.bsa-modal--lg{max-width:54rem}.bsa-modal--xl{max-width:min(76rem, calc(100vw - var(--space-32) * 2))}.bsa-modal-head{justify-content:space-between;align-items:flex-start;gap:var(--space-16);padding:var(--space-16) var(--space-20);border-bottom:var(--hairline);flex:none;display:flex}.bsa-modal-titles{min-width:0}.bsa-modal-title{font-size:var(--text-xl);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-snug);line-height:var(--leading-snug);margin-bottom:0}.bsa-modal-subtitle{margin:var(--space-6) 0 0;max-width:var(--measure-prose);color:var(--muted);font-size:var(--text-sm);line-height:var(--leading-normal)}.bsa-modal-close{min-width:var(--control-height);min-height:var(--control-height);border:var(--hairline);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink-soft);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);flex:none;justify-content:center;align-items:center;display:inline-flex}.bsa-modal-close:hover{background:var(--surface-subtle);color:var(--ink)}.bsa-modal-close:active{background:var(--border-light);color:var(--ink)}.bsa-modal-close:focus-visible{outline:var(--border-width-accent) solid var(--focus);outline-offset:var(--focus-offset)}.bsa-modal-body{min-height:0;padding:var(--space-20);overscroll-behavior:contain;flex:auto;overflow-y:auto}.bsa-modal-footer{justify-content:flex-end;align-items:center;gap:var(--space-10);padding:var(--space-12) var(--space-20);border-top:var(--hairline);background:var(--surface-subtle);flex-wrap:wrap;flex:none;display:flex}.bsa-modal-sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.bsa-modal-backdrop.is-exiting{pointer-events:none;animation:bsa-modal-fade-out var(--duration-fast) var(--ease-out) forwards}.bsa-modal-backdrop.is-exiting .bsa-modal-dialog{animation:bsa-modal-settle var(--duration-fast) var(--ease-out) forwards}@keyframes bsa-modal-fade{0%{opacity:0}to{opacity:1}}@keyframes bsa-modal-rise{0%{opacity:0;transform:translateY(var(--space-12)) scale(.985)}to{opacity:1;transform:none}}@keyframes bsa-modal-fade-out{0%{opacity:1}to{opacity:0}}@keyframes bsa-modal-settle{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(var(--space-8)) scale(.99)}}@media (prefers-reduced-motion:reduce){.bsa-modal-backdrop,.bsa-modal-dialog,.bsa-modal-backdrop.is-exiting,.bsa-modal-backdrop.is-exiting .bsa-modal-dialog{animation:none}}
