.ui-modal-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top)) 16px;background:color-mix(in srgb,#000 55%,transparent);backdrop-filter:blur(4px);animation:ui-modal-fade .15s ease}.ui-modal{width:min(920px,90vw);max-height:82vh;flex-direction:column;border:1px solid var(--border);border-radius:20px;box-shadow:0 24px 70px -20px rgba(0,0,0,.55);overflow:hidden;animation:ui-modal-pop .18s cubic-bezier(.2,.8,.3,1)}.ui-modal,.ui-modal-head{display:flex;background:var(--surface)}.ui-modal-head{align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid var(--border)}.ui-modal-head h2{font-family:var(--font-sora);font-size:1.2rem;font-weight:800;margin:0}.ui-modal-sub{color:var(--text-muted);font-size:.86rem;margin:4px 0 0}.ui-modal-close{flex:none;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;border:1px solid var(--border);background:var(--surface-2,var(--chip));color:var(--text);cursor:pointer}.ui-modal-close:hover{background:var(--chip)}.ui-modal-body{padding:18px 20px 24px;overflow-y:auto;-webkit-overflow-scrolling:touch}@keyframes ui-modal-fade{0%{opacity:0}}@keyframes ui-modal-pop{0%{opacity:0;transform:translateY(12px) scale(.98)}}@media (prefers-reduced-motion:reduce){.ui-modal,.ui-modal-overlay{animation:none}}