.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#0000;padding:16px;transition:background .3s ease}.modal-mask.modal-enter{background:#00000073}.modal-mask.modal-leave{background:#0000}.modal-content{position:relative;max-width:90vw;max-height:85vh;background:#fff;border-radius:12px;box-shadow:0 8px 32px #00000026;overflow:hidden;display:flex;flex-direction:column;opacity:0;transform:scale(.9) translateY(20px);transition:opacity .3s ease,transform .3s ease}.modal-content.modal-content-enter{opacity:1;transform:scale(1) translateY(0)}.modal-content.modal-content-leave{opacity:0;transform:scale(.9) translateY(20px)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #f0f0f0;flex-shrink:0}.modal-title{margin:0;font-size:16px;font-weight:600;color:#1a1a1a}.modal-close-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;font-size:20px;color:#999;cursor:pointer;border-radius:6px;transition:color .2s,background .2s;padding:0;line-height:1}.modal-close-btn:hover{color:#333;background:#f5f5f5}.modal-close-top{position:absolute;top:12px;right:12px;z-index:1}.modal-body{padding:20px;overflow-y:auto;flex:1;min-height:0}@media(max-width:480px){.modal-mask{padding:0;align-items:flex-end}.modal-content{max-width:100vw;max-height:80vh;border-radius:16px 16px 0 0}.modal-content.modal-content-enter{transform:scale(1) translateY(0)}.modal-content.modal-content-leave{transform:scale(1) translateY(100%)}.modal-header{padding:14px 16px}.modal-title{font-size:15px}.modal-body{padding:16px}}.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid #f0f0f0;flex-shrink:0}.modal-btn{padding:8px 20px;border:1px solid #d9d9d9;border-radius:6px;background:#fff;color:#333;font-size:14px;cursor:pointer;transition:all .2s}.modal-btn:hover{border-color:#4096ff;color:#4096ff}.modal-btn-primary{background:#1677ff;border-color:#1677ff;color:#fff}.modal-btn-primary:hover{background:#4096ff;border-color:#4096ff;color:#fff}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f5f5f5;min-height:100vh}.demo{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:20px}.demo h1{font-size:24px;color:#333}.demo-btn{padding:10px 28px;font-size:16px;border:none;border-radius:8px;background:#1677ff;color:#fff;cursor:pointer;transition:background .2s}.demo-btn:hover{background:#4096ff}
