.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:8000;animation:modal-overlay-in .15s ease-out}.modal-overlay[data-state=closed]{animation:modal-overlay-out .15s ease-in}.modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:8001;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:12px;box-shadow:0 20px 50px #00000073;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;font-family:Inter,sans-serif;animation:modal-card-in .15s ease-out}.modal[data-state=closed]{animation:modal-card-out .15s ease-in}@keyframes modal-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes modal-overlay-out{0%{opacity:1}to{opacity:0}}@keyframes modal-card-in{0%{opacity:0;transform:translate(-50%,-50%) scale(.97)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes modal-card-out{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.97)}}.modal-header{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px}.modal-title{color:var(--text);font-weight:600;font-size:15px;display:flex;align-items:center;gap:10px;flex:1;min-width:0}.modal-close{background:transparent;border:none;color:var(--text);cursor:pointer;padding:6px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;transition:background .12s ease,color .12s ease}.modal-close:hover{background:#ffffff0f;color:var(--text)}.modal-close:focus-visible{outline:2px solid var(--green);outline-offset:2px}.modal-body{padding:20px;color:var(--text);overflow-y:auto;flex:1;min-height:0}.modal-footer{padding:14px 20px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:8px}
