/* ---------- AGREEMENT MODAL ---------- */
.wm.ag{max-width:484px}
.ag-body{padding:4px 24px 24px}
.ag-notice{display:flex;gap:13px;background:#fff7f4;border:1px solid #f6d6ca;border-radius:14px;padding:15px;margin-bottom:6px}
.ag-notice-ic{width:38px;height:38px;border-radius:10px;background:#fce4db;display:grid;place-items:center;color:#df5f34;flex-shrink:0}
.ag-notice h4{font-size:14.5px;font-weight:800;color:#b8481f}
.ag-notice p{font-size:12.5px;color:var(--muted);line-height:1.5;margin-top:4px}
.ag-check{display:flex;gap:12px;align-items:flex-start;padding:13px 2px;cursor:pointer;border-bottom:1px solid var(--line)}
.ag-check input{position:absolute;opacity:0;width:0;height:0}
.ag-check .box{width:22px;height:22px;border-radius:7px;border:2px solid #cfd8e8;flex-shrink:0;display:grid;place-items:center;color:#fff;transition:background .15s ease,border-color .15s ease;margin-top:1px}
.ag-check .box svg{opacity:0;transition:opacity .12s ease}
.ag-check input:checked + .box{background:var(--blue);border-color:var(--blue)}
.ag-check input:checked + .box svg{opacity:1}
.ag-check.on .box{background:var(--blue);border-color:var(--blue)}
.ag-check.on .box svg{opacity:1}
.ag-check .lbl{font-size:13.5px;font-weight:600;color:var(--ink-2);line-height:1.45}
.ag-check .lbl a{color:var(--blue);font-weight:700}
.ag-continue{width:100%;margin-top:18px;padding:15px;font-size:15px}
.ag-continue[disabled]{opacity:.5;cursor:not-allowed;filter:grayscale(.2)}
.ag-continue[disabled]:hover{transform:none;box-shadow:0 2px 6px rgba(37,99,235,.22)}
html[data-theme="dark"] .ag-notice{background:rgba(223,95,52,.1);border-color:rgba(223,95,52,.32)}
html[data-theme="dark"] .ag-notice-ic{background:rgba(223,95,52,.2)}
html[data-theme="dark"] .ag-notice h4{color:#f0a285}
html[data-theme="dark"] .ag-check .box{border-color:#3a466a}

/* ---------- WALLET CONNECT MODAL ---------- */
.wm-overlay{position:fixed;inset:0;z-index:90;background:rgba(8,12,23,.55);backdrop-filter:blur(5px);display:none;align-items:center;justify-content:center;padding:24px;overflow:auto}
.wm-overlay.open{display:flex}

/* ---------- CHOOSE-METHOD MODAL ---------- */
.wm.chooser{max-width:760px}
.choose-hd{text-align:center;padding:34px 30px 6px;position:relative}
.choose-hd h3{font-size:30px;font-weight:800;letter-spacing:-.03em}
.chooser .wm-close{position:absolute;top:18px;right:18px;margin:0;z-index:3}
.choose-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:22px 30px 4px}
.cc-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:0;background:var(--card,#fff);border:1.5px solid var(--line);border-radius:20px;padding:22px 22px 26px;font-family:inherit;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.cc-card:hover{border-color:#c3d6ff;box-shadow:0 16px 34px -14px rgba(37,99,235,.35);transform:translateY(-3px)}
.cc-card.cc-primary{border-color:var(--blue,#2563eb);background:linear-gradient(180deg,#f2f6ff,#fbfcff)}
.cc-card.cc-primary:hover{box-shadow:0 20px 40px -14px rgba(37,99,235,.45)}
.cc-illus{width:100%;height:196px;border-radius:16px;background:linear-gradient(180deg,#eaf1ff,#f5f8ff);display:grid;place-items:center;margin-bottom:20px;overflow:hidden}
.cc-card h4{font-size:21px;font-weight:800;letter-spacing:-.01em;margin-bottom:9px}
.cc-card > p{font-size:14.5px;color:var(--muted,#64748b);line-height:1.5;max-width:270px;font-weight:500}
.cc-badges{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap;justify-content:center}
.cc-badge{font-size:13px;font-weight:700;padding:7px 15px;border-radius:999px}
.cc-badge.green{background:#dcfce7;color:#15803d}
.cc-badge.amber{background:#fef3c7;color:#b45309}
.choose-foot{display:flex;align-items:center;justify-content:center;gap:9px;padding:22px 30px 30px;font-size:14px;font-weight:600;color:var(--muted,#64748b)}
.choose-foot svg{color:var(--blue,#2563eb);flex-shrink:0}
/* mini form preview (right card) */
.cc-prev{width:78%;background:#fff;border:1px solid #e6ebf5;border-radius:13px;box-shadow:0 8px 20px rgba(16,24,64,.08);padding:13px 14px;text-align:left;transform:scale(1)}
.cc-prev .pv-hd{display:flex;gap:8px;align-items:flex-start;margin-bottom:11px}
.cc-prev .pv-ic{width:20px;height:20px;border-radius:6px;background:#dbe7ff;flex-shrink:0}
.cc-prev .pv-t1{height:6px;width:66%;background:#334155;border-radius:3px;margin-bottom:5px}
.cc-prev .pv-t2{height:4px;width:88%;background:#cbd5e1;border-radius:3px}
.cc-prev .pv-lbl{height:4px;width:44%;background:#94a3b8;border-radius:3px;margin-bottom:7px}
.cc-prev .pv-input{height:20px;border:1px solid #e2e8f0;border-radius:7px;margin-bottom:8px}
.cc-prev .pv-note{height:3px;width:92%;background:#e2e8f0;border-radius:3px;margin-bottom:11px}
.cc-prev .pv-btn{height:22px;border-radius:8px;background:var(--blue,#2563eb);display:grid;place-items:center}
.cc-prev .pv-btn span{font-size:8px;font-weight:800;color:#fff;letter-spacing:.02em}
.cc-prev .pv-works{display:flex;align-items:center;gap:5px;margin-top:11px}
.cc-prev .pv-works i{width:13px;height:13px;border-radius:4px;background:#eef2f9;display:block}
@media(max-width:720px){.choose-grid{grid-template-columns:1fr}.choose-hd h3{font-size:24px}.cc-illus{height:150px}}

/* ---------- BOOKMARK (QUICK CHECK) MODAL ---------- */
.wm.bookmark{max-width:1120px;display:flex;flex-direction:column}
.bk-hd{text-align:center;padding:clamp(18px,3.2vh,36px) 30px 4px;position:relative;flex:0 0 auto}
.bk-hd h3{font-size:clamp(22px,3.4vh,34px);font-weight:800;letter-spacing:-.03em}
.bk-hd p{font-size:clamp(14px,1.9vh,19px);color:var(--muted);margin-top:6px;font-weight:600}
.bookmark .wm-close{position:absolute;top:18px;right:18px;margin:0;z-index:3;width:40px;height:40px;border:1px solid var(--line);border-radius:12px;background:#fff;display:grid;place-items:center;color:var(--muted);cursor:pointer;transition:border-color .16s ease,color .16s ease}
.bookmark .wm-close:hover{border-color:#cdd7ea;color:var(--ink-2)}
.bk-main{display:grid;grid-template-columns:1.85fr 1fr;gap:clamp(18px,2vw,30px);align-items:center;margin:clamp(12px,1.8vh,18px) clamp(16px,3vw,30px) 0;flex:0 0 auto}
.bk-media{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#0d1421;display:block}
.bk-media img{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;display:block}
.bk-caps{display:flex;flex-direction:column;gap:clamp(10px,1.6vh,16px)}
.bk-cap{display:flex;align-items:flex-start;gap:13px;text-align:left}
.bk-num{width:30px;height:30px;border-radius:50%;background:var(--blue);color:#fff;font-size:15px;font-weight:800;display:grid;place-items:center;flex-shrink:0}
.bk-cap h4{font-size:clamp(14px,1.8vh,16px);font-weight:800;color:var(--ink);letter-spacing:-.01em}
.bk-cap p{font-size:clamp(12.5px,1.5vh,13.5px);color:var(--muted);margin-top:3px;line-height:1.4;font-weight:500}
.bk-badges{display:flex;flex-wrap:wrap;gap:9px;margin-top:4px}
.bk-badge{font-size:clamp(12px,1.5vh,13.5px);font-weight:700;padding:6px 14px;border-radius:999px}
.bk-badge.green{background:#dcfce7;color:#15803d}
.bk-badge.amber{background:#fef3c7;color:#b45309}
.bk-badge.blue{background:#e0edff;color:#2563eb}
.bk-drag-wrap{display:flex;flex-direction:column;align-items:center;gap:10px;padding:clamp(14px,2.4vh,26px) 30px 2px;flex:0 0 auto}
.bk-drag{display:inline-flex;align-items:center;gap:10px;font-family:inherit;font-size:clamp(15px,1.9vh,17px);font-weight:700;color:var(--ink);background:#fff;border:1.5px solid #cdd9ef;border-radius:12px;padding:13px 22px;cursor:grab;user-select:none;box-shadow:0 6px 16px rgba(37,99,235,.14);transition:box-shadow .16s ease,border-color .16s ease,transform .16s ease}
.bk-drag:hover{border-color:var(--blue);box-shadow:0 10px 24px rgba(37,99,235,.24);transform:translateY(-1px)}
.bk-drag:active{cursor:grabbing;transform:scale(.98)}
.bk-drag[data-loaded="true"]{border-color:#22c55e;box-shadow:0 6px 16px rgba(34,197,94,.2)}
.bk-drag svg{color:var(--blue)}
.bk-drag-hint{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:600;color:var(--muted)}
.bk-drag-hint svg{color:var(--blue)}
.bk-tip{display:flex;align-items:center;gap:10px;justify-content:center;margin:clamp(12px,1.8vh,16px) clamp(16px,3vw,30px) 0;background:#f2f6ff;border:1px solid #d9e5ff;border-radius:12px;padding:12px 16px;font-size:13.5px;font-weight:600;color:var(--ink-2);line-height:1.4;flex:0 0 auto}
.bk-tip svg{color:var(--blue);flex-shrink:0}
.bk-tip kbd{display:inline-block;background:#fff;border:1px solid #c8d4ea;border-bottom-width:2px;border-radius:6px;padding:1px 7px;font-family:inherit;font-size:12.5px;font-weight:700;color:var(--ink)}
.bk-foot{display:flex;align-items:center;gap:12px;padding:clamp(14px,2vh,24px) clamp(20px,3vw,34px) clamp(18px,2.4vh,34px);margin-top:clamp(12px,1.8vh,22px);border-top:1px solid var(--line);flex:0 0 auto}
.bk-foot .bk-safe{display:flex;align-items:center;gap:10px;font-size:clamp(13px,1.7vh,15px);font-weight:600;color:var(--ink-2)}
.bk-foot .bk-safe svg{color:var(--blue);flex-shrink:0}
.bk-foot .btn{margin-left:auto;padding:14px 36px;font-size:clamp(15px,1.9vh,16px)}

@media(max-width:820px){.wm.bookmark{max-width:520px}.bk-main{grid-template-columns:1fr;gap:16px}.bk-foot{flex-direction:column;align-items:stretch}.bk-foot .btn{margin-left:0}}

/* ---------- BASE WM (wallet connect) ---------- */
.wm{width:100%;max-width:440px;background:var(--card,#fff);border:1px solid var(--line);border-radius:22px;box-shadow:0 36px 80px rgba(8,12,23,.4);overflow:hidden;animation:wmIn .24s cubic-bezier(.22,1,.36,1)}
@keyframes wmIn{from{transform:translateY(16px) scale(.98)}to{transform:none}}
.wm-hd{display:flex;align-items:center;gap:13px;padding:22px 24px 18px}
.wm-hd .ti{width:42px;height:42px;border-radius:12px;background:#eef4ff;display:grid;place-items:center;color:var(--blue)}
.wm-hd h3{font-size:19px;font-weight:800}
.wm-hd p{font-size:13px;color:var(--muted);font-weight:500;margin-top:2px}
.wm-close{margin-left:auto;width:36px;height:36px;border-radius:10px;border:1px solid var(--line);background:transparent;display:grid;place-items:center;color:var(--muted);cursor:pointer;transition:border-color .16s ease,color .16s ease}
.wm-close:hover{border-color:#cdd7ea;color:var(--ink-2)}
.wm-list{padding:4px 16px 8px;display:flex;flex-direction:column;gap:8px}
.wm-opt{display:flex;align-items:center;gap:14px;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:#fff;cursor:pointer;font-family:inherit;text-align:left;width:100%;transition:border-color .16s ease,background .16s ease,transform .12s ease}
.wm-opt:hover{border-color:#c6d2ea;background:#f7f9ff;transform:translateY(-1px)}
.wm-opt img{width:34px;height:34px;object-fit:contain}
.wm-opt img.r{border-radius:8px}
.wm-opt .nm{font-size:15px;font-weight:700;color:var(--ink)}
.wm-opt .sub{font-size:12px;color:var(--muted);font-weight:600;margin-top:1px}
.wm-opt .badge2{margin-left:auto;font-size:11px;font-weight:700;color:var(--green);background:var(--green-bg,#ecfdf3);padding:4px 9px;border-radius:999px}
.wm-opt .chev{margin-left:auto;color:var(--muted-2)}
.wm-opt .nm-wrap{min-width:0;display:flex;flex-direction:column}
.pm-field{padding:8px 4px 4px}
.pm-field label{display:block;font-size:13px;font-weight:700;color:var(--ink-2);margin-bottom:8px}
.pm-field input{width:100%;border:1px solid var(--line);border-radius:12px;padding:13px 14px;font-family:ui-monospace,SFMono-Regular,monospace;font-size:13.5px;font-weight:600;color:var(--ink);background:#f7f9ff;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}
.pm-field input::placeholder{font-family:'Plus Jakarta Sans',sans-serif;color:var(--muted-2);font-weight:500}
.pm-field input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(37,99,235,.13);background:#fff}
.pm-field input.err{border-color:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,.12)}
.pm-hint{font-size:12px;color:var(--muted);margin-top:8px;line-height:1.45}
.pm-hint.err{color:#ef4444;font-weight:600}
.pm-go{width:100%;margin-top:14px;padding:13px}
.pm-scopes{padding:0 24px}
.pm-scopes-hd{font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--muted-2);margin:16px 0 2px}
.pm-scope{display:flex;gap:13px;align-items:flex-start;padding:13px 2px;border-bottom:1px solid var(--line)}
.pm-scope:last-child{border-bottom:none}
.pm-scope-ic{width:34px;height:34px;border-radius:10px;background:#eef4ff;display:grid;place-items:center;color:var(--blue);flex-shrink:0}
.pm-scope h4{font-size:13.5px;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:8px}
.pm-scope h4 .ro{font-size:10px;font-weight:800;letter-spacing:.03em;color:var(--green);background:var(--green-bg);padding:2px 8px;border-radius:999px;text-transform:none}
.pm-scope p{font-size:12px;color:var(--muted);margin-top:3px;line-height:1.45}
.pm-spin-logo{position:absolute;inset:22px;border-radius:50%;background:#0d1421;color:#fff;display:grid;place-items:center;font-weight:800;font-size:24px}
html[data-theme="dark"] .pm-field input{background:#10182b;border-color:var(--line);color:var(--ink)}
html[data-theme="dark"] .pm-field input:focus{background:#0d1426}
.pm-help{margin-top:10px}
.pm-help summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:700;color:var(--blue)}
.pm-help summary::-webkit-details-marker{display:none}
.pm-help summary:hover{text-decoration:underline}
.pm-help[open] summary{margin-bottom:8px}
.pm-help ol{margin:0 0 0 2px;padding:0;list-style:none;counter-reset:s}
.pm-help li{counter-increment:s;position:relative;padding-left:26px;font-size:12.5px;color:var(--ink-2);line-height:1.5;margin-bottom:7px;font-weight:500}
.pm-help li::before{content:counter(s);position:absolute;left:0;top:0;width:18px;height:18px;border-radius:50%;background:var(--green-bg);color:var(--green);font-size:11px;font-weight:800;display:grid;place-items:center}
.pm-help li .mono{font-family:ui-monospace,monospace;background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:1px 6px;font-size:11.5px}
.pm-help > p{font-size:12px;color:var(--muted);margin-top:4px;padding-left:2px;line-height:1.45}
.pm-help-link{display:inline-flex;align-items:center;gap:5px;margin-top:9px;font-size:12.5px;font-weight:700;color:var(--blue)}
.pm-help-link:hover{text-decoration:underline}
.wm-foot{padding:16px 24px 22px;display:flex;align-items:center;justify-content:center;gap:10px;font-size:13px;font-weight:600}
.wm-foot a{color:var(--muted);transition:color .15s ease}
.wm-foot a:hover{color:var(--blue)}
.wm-foot .dot-sep{color:var(--muted-2)}
/* connecting state */
.wm-connecting{display:none;flex-direction:column;align-items:center;text-align:center;padding:14px 30px 34px}
.wm.is-connecting .wm-list,.wm.is-connecting .wm-foot,.wm.is-connecting .pm-scopes{display:none}
.wm.is-connecting .wm-connecting{display:flex}
.wm-spin{position:relative;width:84px;height:84px;margin:8px 0 20px}
.wm-spin .ring{position:absolute;inset:0;border-radius:50%;border:3px solid var(--line);border-top-color:var(--blue);animation:wmspin .8s linear infinite}
@keyframes wmspin{to{transform:rotate(360deg)}}
.wm-spin img{position:absolute;inset:18px;width:48px;height:48px;object-fit:contain}
.wm-spin img.r{border-radius:10px}
.wm-connecting h4{font-size:18px;font-weight:800;line-height:1.3}
.wm-connecting p{font-size:13.5px;color:var(--muted);margin-top:6px;font-weight:500}
.scan-steps{list-style:none;margin:20px 0 4px;padding:0;width:100%;max-width:280px;text-align:left}
.scan-steps li{display:flex;align-items:center;gap:11px;font-size:13.5px;font-weight:600;color:var(--muted-2);padding:7px 0;transition:color .3s ease}
.scan-steps li i{width:20px;height:20px;border-radius:50%;border:2px solid var(--line);flex-shrink:0;position:relative;transition:border-color .3s ease,background .3s ease}
.scan-steps li.active{color:var(--ink-2)}
.scan-steps li.active i{border-color:var(--blue);border-top-color:transparent;animation:wmspin .7s linear infinite}
.scan-steps li.done{color:var(--ink-2)}
.scan-steps li.done i{border-color:var(--green);background:var(--green);animation:none}
.scan-steps li.done i::after{content:"";position:absolute;left:5px;top:2px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
html[data-theme="dark"] .wm-opt{background:#10182b;border-color:var(--line)}
html[data-theme="dark"] .wm-opt:hover{background:#16213d;border-color:#3a466a}
html[data-theme="dark"] .wm-hd .ti{background:#16213d}
html[data-theme="dark"] .wm-close{border-color:var(--line);color:#aeb9d1}
