@keyframes modal-overlay-in{0%{opacity:0}to{opacity:var(--modal-backdrop-opacity)}}@keyframes modal-overlay-out{0%{opacity:var(--modal-backdrop-opacity)}to{opacity:0}}@keyframes modal-content-in{0%{opacity:0;transform:translate(-50%,calc(-50% - 8px))}to{opacity:1;transform:translate(-50%,-50%)}}@keyframes modal-content-out{0%{opacity:1;transform:translate(-50%,-50%)}to{opacity:0;transform:translate(-50%,calc(-50% - 8px))}}.modal__overlay{background-color:var(--modal-backdrop-bg);z-index:var(--modal-backdrop-z-index);position:fixed;inset:0}.modal__overlay[data-state=open]{animation:modal-overlay-in var(--modal-transition-duration) var(--modal-transition-easing) forwards}.modal__overlay[data-state=closed]{animation:modal-overlay-out var(--modal-transition-duration) var(--modal-transition-easing) forwards}.modal__content{z-index:var(--modal-z-index);width:90vw;max-width:var(--modal-width-max);max-height:var(--modal-max-height);background-color:var(--modal-bg);border-radius:var(--modal-border-radius);box-shadow:var(--modal-shadow);padding-block:var(--modal-padding-block);padding-inline:var(--modal-padding-inline);flex-direction:column;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.modal__content[data-state=open]{animation:modal-content-in var(--modal-transition-duration) var(--modal-transition-easing) forwards}.modal__content[data-state=closed]{animation:modal-content-out var(--modal-transition-duration) var(--modal-transition-easing) forwards}.modal__header{justify-content:space-between;align-items:center;gap:var(--modal-header-gap);margin-block-end:var(--modal-header-gap);display:flex}.modal__header.modal__header--no-title{justify-content:flex-end}.modal__title{font-size:var(--modal-title-font-size);font-weight:var(--modal-title-font-weight);color:var(--modal-title-color);flex:1;margin:0;line-height:1.2}.modal__close{padding-block:var(--spacing-1);padding-inline:var(--spacing-2);cursor:pointer;color:var(--modal-close-color);border-radius:var(--border-radius-sm);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:color .15s,background-color .15s;display:inline-flex}.modal__close:hover{color:var(--modal-close-hover-color);background-color:var(--modal-close-hover-bg)}.modal__close:focus-visible{outline:var(--button-focus-ring-width) var(--button-focus-ring-style) var(--color-primary);outline-offset:var(--button-focus-ring-offset)}.modal__body{flex:1;min-height:0;overflow-y:auto}