/* ================= dark pool page ================= */
.page-pool main{padding-bottom:40px}

/* ---------- hero ---------- */
.dp-hero{border-bottom:2px solid var(--p900);overflow:hidden}
.dp-hero-in{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.95fr);gap:56px;align-items:center;padding-top:56px;padding-bottom:64px}
.dp-hero-txt .h1{margin-top:16px}
.dp-hero-txt .lede{margin-top:16px}
.dp-hero-acts{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.dp-stats{list-style:none;display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.dp-stats li{display:flex;flex-direction:column;gap:3px;background:#fff;border:1.5px solid var(--line);border-radius:16px;padding:11px 15px;min-width:132px}
.dp-stats span{font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--muted2)}
.dp-stats b{font-size:20px;font-weight:900;letter-spacing:-.03em;color:var(--ink)}

/* what the chain sees */
.dp-ledger{background:#fff;border:2px solid var(--p900);border-radius:28px;box-shadow:var(--shadow-hard);overflow:hidden;transform:rotate(-1.2deg)}
.dp-ledger-h{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 18px;border-bottom:1.5px solid var(--line);background:var(--cream)}
.dp-ledger-t{font-size:15px;font-weight:900;letter-spacing:-.02em}
.dp-ledger-list{list-style:none;display:flex;flex-direction:column}
.dp-ledger-list li{display:flex;gap:13px;align-items:center;padding:14px 18px;border-bottom:1.5px dashed var(--line)}
.dp-ledger-list li:last-child{border-bottom:0}
.dp-ledger-list li > div{display:flex;flex-direction:column;gap:3px;min-width:0}
.dp-ledger-list b{font-size:15px;font-weight:800;letter-spacing:-.015em;color:var(--ink)}
.dp-ledger-list code{font-family:var(--mono);font-size:12.5px;color:var(--muted2)}
.dp-ledger-list li.is-dark{background:var(--p900)}
.dp-ledger-list li.is-dark b{color:#fff}
.dp-ledger-list li.is-dark code{color:var(--p300)}
.dp-lg-ic{width:40px;height:40px;flex:none;border-radius:12px;display:grid;place-items:center;font-weight:900;font-size:12.5px;letter-spacing:.02em;border:2px solid var(--p900)}
.dp-lg-in{background:var(--sunsoft);color:#8a4d00}
.dp-lg-out{background:var(--upsoft);color:#1f6b40}
.dp-lg-q{background:var(--p700);color:#fff;border-color:var(--p300);font-size:18px}
.dp-ledger-foot{display:flex;align-items:center;gap:10px;padding:12px 18px;background:var(--p800);color:#fff;font-size:13px;font-weight:700}
.dp-ledger-foot svg{width:20px;height:20px;flex:none}

/* ---------- main ---------- */
.dp-main{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:24px;align-items:start;padding-top:56px;scroll-margin-top:calc(var(--header-h) + 16px)}
.dp-app{padding:28px}
.dp-app-h{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap;padding-bottom:20px;border-bottom:1.5px dashed var(--line)}
.dp-k{font-size:12.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted2)}
.dp-app-h .h3{margin-top:4px;font-size:26px}
.dp-tabs button[disabled]{opacity:.45;cursor:not-allowed}

.dp-closed{margin-top:22px;padding:18px 20px;border-radius:18px;background:var(--sunsoft);border:1.5px solid #f8d39c;color:#5c3400;font-weight:600}
.dp-closed b{display:block;font-size:17px;color:var(--ink);margin-bottom:2px}

.dp-focus{margin-top:22px;padding:16px 18px;border-radius:18px;background:var(--lilac);border:2px solid var(--p900);color:var(--p900);font-weight:600;font-size:14.5px;line-height:1.5}
.dp-focus b{display:block;font-size:17px;font-weight:900;letter-spacing:-.02em;color:var(--ink);margin-bottom:2px}
.dp-lock{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;padding:34px 10px 16px}
.dp-lock-art{width:160px;height:120px}
.dp-lock p{max-width:460px;color:var(--muted);font-weight:500;font-size:15.5px;line-height:1.5}
.dp-lock small{font-size:13px;font-weight:600}

.dp-form{margin-top:22px}
.dp-pane-d{color:var(--muted);font-weight:500;font-size:15px;line-height:1.5;margin-bottom:18px}
.dp-row{display:grid;grid-template-columns:minmax(0,190px) minmax(0,1fr);gap:10px}
.dp-asset{font-weight:800}
.dp-amt .input{font-size:20px;font-weight:800;letter-spacing:-.02em}
.dp-max{cursor:pointer;color:var(--p700)!important;background:var(--lilac)!important}
.dp-max:hover{background:var(--lilac2)!important}
.dp-hint{margin-top:12px;font-size:13.5px;font-weight:600;color:var(--muted2)}
.dp-form .btn-block{margin-top:22px}
.dp-flip{display:grid;place-items:center;width:42px;height:42px;margin:12px auto -4px;border-radius:12px;background:#fff;border:2px solid var(--p900);box-shadow:0 3px 0 var(--p900);color:var(--p900);transition:transform .15s}
.dp-flip:hover{transform:rotate(180deg)}
.dp-flip svg{width:20px;height:20px}
.dp-out{display:flex;align-items:baseline;justify-content:space-between;gap:10px;border:2px dashed var(--lilac3);border-radius:14px;padding:11px 14px;background:var(--lilac);min-width:0}
.dp-out b{font-size:20px;font-weight:900;letter-spacing:-.02em;color:var(--p800);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dp-out span{font-size:12.5px;font-weight:700;color:var(--muted2)}
.dp-out.is-loading b{color:var(--lilac3)}
.dp-sum{margin-top:16px;border:1.5px solid var(--line);border-radius:14px;background:var(--cream);padding:4px 14px}
.dp-sum div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;font-size:14px}
.dp-sum div + div{border-top:1.5px dashed var(--line)}
.dp-sum dt{color:var(--muted);font-weight:600}
.dp-sum dd{font-weight:800;color:var(--ink);text-align:right}
.dp-err{margin-top:14px;padding:12px 14px;border-radius:14px;background:var(--downsoft);color:#8f2b40;font-size:14px;font-weight:700}

/* progress */
.dp-run{margin-top:22px}
.dp-run-steps{list-style:none;display:flex;flex-direction:column;gap:12px}
.dp-run-steps li{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:16px;border:1.5px solid var(--line);background:#fff;font-weight:700;color:var(--muted2)}
.dp-run-steps li i{width:30px;height:30px;flex:none;border-radius:50%;display:grid;place-items:center;font-style:normal;font-weight:900;font-size:13px;background:var(--lilac);color:var(--p700);border:2px solid var(--lilac3)}
.dp-run-steps li small{margin-left:auto;font-size:12.5px;font-weight:700;color:var(--muted2)}
.dp-run-steps li.is-cur{border-color:var(--p600);color:var(--ink);background:var(--lilac)}
.dp-run-steps li i{position:relative}
.dp-run-steps li.is-cur i{background:#fff;color:var(--p700);border-color:var(--lilac3)}
.dp-run-steps li.is-cur i::after{content:"";position:absolute;inset:-2px;border-radius:50%;border:2.5px solid var(--p600);border-color:var(--p600) transparent transparent transparent;animation:bp-spin .8s linear infinite}
.dp-run-steps li.is-done{color:var(--ink)}
.dp-run-steps li.is-done i{background:var(--up);border-color:var(--up);color:#fff}
.dp-run-steps li.is-bad{border-color:var(--down);background:var(--downsoft);color:#8f2b40}
.dp-run-steps li.is-bad i{background:var(--down);border-color:var(--down);color:#fff}
.dp-run-done{margin-top:18px;padding:20px;border-radius:20px;background:var(--p900);color:#fff}
.dp-run-done b{display:block;font-size:22px;font-weight:900;letter-spacing:-.03em}
.dp-run-done p{margin-top:6px;color:var(--p300);font-weight:600;font-size:14.5px}
.dp-run-done.is-bad{background:var(--downsoft);color:#8f2b40}
.dp-run-done.is-bad p{color:#8f2b40}
.dp-run-acts{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.dp-run-done :focus-visible{outline-color:var(--p300)}

/* side */
.dp-side{display:flex;flex-direction:column;gap:22px;min-width:0}
.dp-side-h{display:flex;align-items:center;justify-content:space-between;gap:10px}
.dp-bal-list{list-style:none;display:flex;flex-direction:column;gap:8px;margin-top:16px}
.dp-bal-list li{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:16px;border:1.5px solid var(--line);background:var(--cream);min-width:0}
.dp-bal-av{width:38px;height:38px;flex:none;border-radius:12px;display:grid;place-items:center;font-weight:900;font-size:11.5px;letter-spacing:-.02em;overflow:hidden;border:2px solid var(--p900);background:var(--lilac2);color:var(--p900)}
.dp-bal-list li:nth-child(1) .dp-bal-av{background:#ffe7c4}
.dp-bal-list li:nth-child(3n+2) .dp-bal-av{background:var(--p300)}
.dp-bal-list li:nth-child(3n) .dp-bal-av{background:#e2f3e8}
.dp-bal-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.dp-bal-t b{font-size:15px;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dp-bal-t small{font-size:12.5px;font-weight:600;color:var(--muted2)}
.dp-bal-v{font-size:16px;font-weight:900;letter-spacing:-.02em;color:var(--p800);text-align:right}
.dp-bal-list li.dp-bal-empty{display:block;text-align:center;padding:22px 14px;border:2px dashed var(--lilac3);background:#fff;color:var(--muted);font-weight:600;font-size:14.5px}
.dp-addr{margin-top:16px;padding:14px;border-radius:16px;background:var(--p900);color:#fff;display:flex;flex-direction:column;gap:8px}
.dp-addr span{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--p300)}
.dp-addr code{font-size:12px;line-height:1.4;overflow-wrap:anywhere;color:#fff;max-height:52px;overflow:hidden}
.dp-addr .btn{align-self:flex-start;box-shadow:0 3px 0 #12061f}
.dp-addr :focus-visible{outline-color:var(--p300)}
.dp-lockbtn{margin-top:12px;font-size:13px;font-weight:700;color:var(--muted2);text-decoration:underline;text-underline-offset:3px}
.dp-lockbtn:hover{color:var(--ink)}
.dp-facts ul{list-style:none;display:flex;flex-direction:column;gap:14px;margin-top:14px}
.dp-facts li{display:flex;flex-direction:column;gap:2px;padding-left:16px;position:relative}
.dp-facts li::before{content:"";position:absolute;left:0;top:7px;width:8px;height:8px;border-radius:2px;background:var(--p600);transform:rotate(45deg)}
.dp-facts b{font-size:14.5px;font-weight:800}
.dp-facts span{font-size:13.5px;color:var(--muted);font-weight:500;line-height:1.45}

/* ---------- how ---------- */
.dp-how{padding-top:80px}
.dp-sec-h .h2{margin-top:12px}
.dp-how-grid{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:28px}
.dp-how-grid .card{padding:22px;display:flex;flex-direction:column;gap:10px}
.dp-how-grid li:nth-child(even){transform:translateY(14px)}
.dp-how-n{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;font-weight:900;font-size:18px;background:var(--p900);color:#fff}
.dp-how-grid .card-lilac .dp-how-n{background:var(--p600)}
.dp-how-grid p{font-size:14.5px;color:var(--muted);line-height:1.5;font-weight:500}

/* ---------- token strip ---------- */
.dp-token{padding-top:88px}
.dp-token-in{display:flex;align-items:center;gap:22px;flex-wrap:wrap;background:var(--p900);color:#fff;border-radius:28px;padding:24px 26px;box-shadow:0 8px 0 #12061f}
.dp-token-txt{flex:1 1 260px;min-width:0}
.dp-token-k{display:inline-block;font-size:12.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--sun)}
.dp-token-txt .h3{margin-top:6px;color:#fff}
.dp-token-ca{flex:1 1 360px;min-width:0;display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.16);border-radius:16px;padding:10px 10px 10px 16px}
.dp-token-ca span{font-size:12.5px;font-weight:800;letter-spacing:.06em;color:var(--p300)}
.dp-token-ca code{flex:1;min-width:0;font-family:var(--mono);font-size:14px;font-weight:600;color:#fff;overflow-wrap:anywhere;line-height:1.35}
.dp-token-ca .btn{flex:none;box-shadow:0 3px 0 #12061f}
.dp-token-in > .btn-sun{flex:none;box-shadow:0 4px 0 #12061f}
.dp-token :focus-visible{outline-color:var(--p300)}

/* ---------- responsive ---------- */
@media (max-width:1040px){
  .dp-hero-in{grid-template-columns:minmax(0,1fr);gap:36px}
  .dp-ledger{max-width:540px;transform:none}
  .dp-main{grid-template-columns:minmax(0,1fr)}
  .dp-how-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dp-how-grid li:nth-child(even){transform:none}
}
@media (max-width:640px){
  .dp-hero-in{padding-top:32px;padding-bottom:40px;gap:28px}
  .dp-hero-acts .btn{flex:1 1 100%}
  .dp-stats li{flex:1 1 calc(50% - 10px);min-width:0}
  .dp-main{padding-top:32px;gap:22px}
  .dp-app{padding:20px 16px}
  .dp-app-h .h3{font-size:23px}
  .dp-tabs{width:100%}
  .dp-tabs button{flex:1;padding:9px 6px;font-size:13px}
  .dp-row{grid-template-columns:minmax(0,1fr)}
  .dp-how{padding-top:56px}
  .dp-how-grid{grid-template-columns:minmax(0,1fr)}
  .dp-token{padding-top:56px}
  .dp-token-in{padding:20px 18px;border-radius:24px}
  .dp-token-ca{flex-basis:100%;flex-wrap:wrap}
  .dp-token-ca code{flex-basis:calc(100% - 40px);font-size:13px}
  .dp-token-ca .btn{flex:1}
  .dp-token-in > .btn-sun{flex:1 1 100%}
}
@media (prefers-reduced-motion:reduce){
  .dp-run-steps li.is-cur i::after{animation:none}
  .dp-flip:hover{transform:none}
}
