.ui-modal-overlay{z-index:1000;overscroll-behavior:none;background:#00000073;justify-content:center;align-items:flex-start;padding:0 16px;animation:.15s ui-modal-fade;display:flex;position:fixed;inset:0;overflow-y:auto}.ui-modal{background:#fff;border-radius:16px;width:100%;margin:4vh auto;animation:.2s ui-modal-rise;position:relative;box-shadow:0 20px 60px #00000026}.ui-modal--sm{max-width:480px}.ui-modal--md{max-width:720px}.ui-modal--lg{max-width:900px}.ui-modal--bare{box-shadow:none;background:0 0;border-radius:0;animation:none}.ui-modal--bare>.ui-modal-body{padding:0}.ui-modal-head{z-index:20;border-bottom:1px solid var(--line);background:#fff;border-radius:16px 16px 0 0;align-items:flex-start;gap:16px;padding:22px 20px 14px 28px;display:flex;position:sticky;top:0}.ui-modal-head-titles{flex:1;min-width:0}.ui-modal-title{color:var(--ink);margin:0;font-size:18px;font-weight:700}.ui-modal-subtitle{color:var(--ink3);margin:4px 0 0;font-size:13px}.ui-modal-close{cursor:pointer;color:var(--ink3);background:0 0;border:none;border-radius:6px;flex-shrink:0;padding:4px 8px;font-size:18px;line-height:1}.ui-modal-close:hover{color:var(--ink);background:var(--bg)}.ui-modal-body{padding:20px 28px 28px}@keyframes ui-modal-fade{0%{opacity:0}to{opacity:1}}@keyframes ui-modal-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes ui-modal-sheet{0%{transform:translateY(100%)}to{transform:none}}.ui-confirm .ui-modal-body{text-align:center;padding:32px 28px 28px}.ui-confirm-icon{background:var(--bg2);width:52px;height:52px;color:var(--ink2);border-radius:50%;justify-content:center;align-items:center;margin-bottom:16px;display:inline-flex}.ui-confirm-icon--danger{color:#e5451f;background:#fff0ed}.ui-confirm-title{color:var(--ink);margin:0 0 8px;font-size:18px;font-weight:700}.ui-confirm-message{color:var(--ink2);margin:0 0 20px;font-size:14px;line-height:1.5}.ui-confirm-actions{justify-content:center;gap:10px;display:flex}.ui-confirm-btn{cursor:pointer;border:none;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:6px;padding:10px 20px;font-family:inherit;font-size:14px;font-weight:700;display:inline-flex}.ui-confirm-btn--cancel{background:var(--bg2);color:var(--ink)}.ui-confirm-btn--confirm{background:var(--accent);color:#fff}.ui-confirm-btn--danger{background:var(--red);color:#fff}.ui-confirm-btn:disabled{opacity:.6;cursor:default}.ui-modal-overlay--side{justify-content:flex-end;align-items:stretch;padding:0;animation:none;overflow:hidden}.ui-modal--side{border-radius:0;flex-direction:column;width:440px;max-width:100%;height:100dvh;max-height:100dvh;margin:0;animation:.25s ui-modal-slide-in;display:flex;position:fixed;top:0;right:0}.ui-modal--side .ui-modal-head{border-radius:0;flex:none}.ui-modal--side .ui-modal-body{flex-direction:column;flex:auto;min-height:0;padding:0;display:flex;overflow:hidden}@keyframes ui-modal-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}@media (max-width:640px){.ui-modal-overlay{align-items:flex-end;padding:0;overflow:hidden}.ui-modal,.ui-modal--sm,.ui-modal--md,.ui-modal--lg,.ui-modal--side{border-radius:16px 16px 0 0;flex-direction:column;width:100%;max-width:none;height:auto;max-height:92vh;margin:0;animation:.24s ui-modal-sheet;display:flex;position:relative}.ui-modal-head{flex:none}.ui-modal-body{overscroll-behavior:contain;flex:auto;min-height:0;overflow-y:auto}}