.modal__backdrop{z-index:var(--z-modal-backdrop);padding:var(--space-4);animation:modal-backdrop-in var(--transition-fast) forwards;background:#000000bf;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@keyframes modal-backdrop-in{0%{opacity:0}to{opacity:1}}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-height:90vh;z-index:var(--z-modal);animation:modal-in var(--transition-normal) forwards;overflow-y:auto}@keyframes modal-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal--small{max-width:400px}.modal--medium{max-width:540px}.modal--large{max-width:720px}.modal__header{padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;display:flex}.modal__title{font-size:var(--text-lg);font-weight:var(--font-semibold);margin:0}.modal__close{border-radius:var(--radius-md);width:32px;height:32px;color:var(--text-muted);transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.modal__close:hover{color:var(--text-primary);background:var(--glass-bg)}.modal__body{padding:0}@media (width<=480px){.modal__backdrop{padding:var(--space-2);align-items:flex-end}.modal{border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:85vh;animation:modal-slide-up var(--transition-normal) forwards}@keyframes modal-slide-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}}
