.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#000000b3;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal-overlay--viewport{padding:var(--modal-viewport-inset,.75rem)}.modal-content{background:var(--bg-modal);border:1px solid var(--border-glow);border-radius:var(--radius-none);flex-direction:column;width:100%;max-width:600px;max-height:90vh;display:flex;box-shadow:0 10px 40px #00000080}.modal-size-viewport{width:var(--modal-viewport-width,96vw);max-width:var(--modal-viewport-width,96vw);height:var(--modal-viewport-height,94vh);max-height:var(--modal-viewport-height,94vh);border-radius:var(--radius-none)}.modal-max-480{max-width:480px}.modal-max-500{max-width:500px}.modal-max-540{max-width:540px}.modal-max-550{max-width:550px}.modal-max-560{max-width:560px}.modal-max-580{max-width:580px}.modal-max-600{max-width:600px}.modal-max-640{max-width:640px}.modal-max-650{max-width:650px}.modal-max-680{max-width:680px}.modal-max-750{max-width:750px}.modal-max-820{max-width:820px}.modal-max-840{max-width:840px}.modal-max-850{max-width:850px}.modal-max-950{max-width:950px}.modal-max-1000{max-width:1000px}.modal-max-1100{max-width:1100px}.modal-max-1150{max-width:1150px}.modal-max-1200{max-width:1200px}.modal-max-1350{max-width:1350px}.modal-header{border-bottom:1px solid var(--border-glow);flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.modal-header h2,.modal-header .modal-title{margin:0;font-size:1rem;font-weight:600;line-height:1.3}.modal-body{flex:1;padding:1rem;overflow-y:auto}.modal-body--fill{flex-direction:column;min-height:0;display:flex;overflow:hidden}.modal-footer{border-top:1px solid var(--border-glow);flex-shrink:0;justify-content:flex-end;gap:.75rem;padding:.75rem 1rem;display:flex}.modal-close-btn{color:var(--text-muted);cursor:pointer;transition:var(--transition-smooth);background:0 0;border:none;justify-content:center;align-items:center;padding:.25rem;display:inline-flex}.modal-close-btn:hover{color:var(--text-primary)}.modal-enter-active{transition:opacity .2s}.modal-enter-active .modal-content{transition:opacity .2s,transform .2s cubic-bezier(.16,1,.3,1)}.modal-leave-active{transition:opacity .15s}.modal-leave-active .modal-content{transition:opacity .15s,transform .15s}.modal-enter-from{opacity:0}.modal-enter-from .modal-content{opacity:0;transform:scale(.95)translateY(10px)}.modal-leave-to{opacity:0}.modal-leave-to .modal-content{opacity:0;transform:scale(.98)translateY(4px)}
