/* DEX智识 · dual rail */
:root {
  --dw-ink: #0a0a0a;
  --dw-ink-soft: #1c1c1b;
  --dw-paper: #fff;
  --dw-fog: #f5f5f2;
  --dw-rule: #e4e4df;
  --dw-mute: #5c5c58;
  --dw-iris: linear-gradient(112deg, #ffc7e7 0%, #cdc9ff 21%, #ade9ff 40%, #c6ffdc 58%, #fff0aa 77%, #ffc3b6 100%);
  --dw-iris-pale: linear-gradient(112deg, #fff1f9 0%, #f0efff 30%, #ebfaff 55%, #f1fff6 78%, #fffbe9 100%);
  --dw-iris-hot: linear-gradient(180deg, #ff6fc4 0%, #8c7dff 28%, #3fcfff 52%, #43e59c 74%, #ffcc33 100%);
  --dw-iris-run: linear-gradient(90deg, #ff6fc4, #8c7dff 30%, #3fcfff 55%, #43e59c 78%, #ffcc33);
  --dw-f-head: "Noto Sans SC", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  --dw-f-body: -apple-system, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", sans-serif;
  --dw-f-lat: "Unbounded", "Noto Sans SC", sans-serif;
  --dw-bar: 4rem;
  --dw-read: 45rem;
  --dw-span: 62rem;
  --dw-gut: clamp(1rem, 4vw, 3rem);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body {
  margin: 0;
  background: var(--dw-paper);
  color: #1a1a19;
  font: 400 1.0625rem/1.85 var(--dw-f-body);
  overflow-x: hidden;
}
img { max-width: 100%; height: auto; }
a { color: inherit; }
:focus-visible { outline: 2px solid #3f6bff; outline-offset: 3px; }

.dw-skip {
  position: absolute; left: 1rem; top: -4rem; z-index: 99;
  background: var(--dw-ink); color: #fff; padding: .5rem 1rem; text-decoration: none;
}
.dw-skip:focus { top: .75rem; }

/* ---------- top bar ---------- */
.dw-top {
  position: sticky; top: 0; z-index: 50;
  background: rgba(255, 255, 255, .94);
  -webkit-backdrop-filter: saturate(1.5) blur(12px);
  backdrop-filter: saturate(1.5) blur(12px);
  border-bottom: 1px solid var(--dw-rule);
}
.dw-top__in {
  max-width: 80rem; margin: 0 auto; height: var(--dw-bar);
  display: flex; align-items: center; gap: clamp(.75rem, 2vw, 1.75rem);
  padding: 0 var(--dw-gut);
}
.dw-mark {
  display: inline-flex; align-items: center; gap: .55rem;
  text-decoration: none; color: var(--dw-ink); flex: none;
}
.dw-mark__glyph { display: block; width: 2.1rem; height: auto; }
.dw-mark__lat { font: 700 1.05rem/1 var(--dw-f-lat); letter-spacing: .02em; }
.dw-mark__cn { font: 800 1.05rem/1 var(--dw-f-head); margin-left: -.2rem; }
.dw-mark--inv { color: #f4f4f1; }

.dw-nav { display: flex; gap: .25rem; margin-left: auto; flex: none; }
.dw-nav a {
  font-size: .9375rem; text-decoration: none; padding: .4rem .7rem; color: #3a3a37;
  border-bottom: 2px solid transparent;
}
.dw-nav a:hover { color: var(--dw-ink); border-bottom-color: var(--dw-ink); }
.dw-nav a[aria-current="page"],
[data-page="about"] .dw-nav a[href="/about/"],
[data-page="contact"] .dw-nav a[href="/contact/"] { color: var(--dw-ink); font-weight: 600; border-bottom-color: var(--dw-ink); }

/* ---------- dual rail switch (TOC) ---------- */
.dw-switch { flex: 1 1 auto; min-width: 0; display: flex; align-items: center; gap: 1rem; }
.dw-switch__menu { flex: none; }
.dw-switch__btn {
  list-style: none; cursor: pointer; user-select: none;
  display: inline-flex; align-items: center; gap: .55rem;
  font-size: .875rem; font-weight: 600; letter-spacing: .04em;
  padding: .45rem .85rem .45rem .7rem;
  border: 1px solid var(--dw-ink); background: #fff; color: var(--dw-ink);
}
.dw-switch__btn::-webkit-details-marker { display: none; }
.dw-switch__icon { position: relative; width: 1rem; height: .7rem; }
.dw-switch__icon::before, .dw-switch__icon::after {
  content: ""; position: absolute; left: 0; right: 0; height: 2px; transition: transform .25s;
}
.dw-switch__icon::before { top: 0; background: var(--dw-ink); }
.dw-switch__icon::after { bottom: 0; background: var(--dw-iris-run); }
.dw-switch__menu[open] .dw-switch__btn { background: var(--dw-ink); color: #fff; }
.dw-switch__menu[open] .dw-switch__icon::before { transform: translateY(.3rem) rotate(45deg); background: #fff; }
.dw-switch__menu[open] .dw-switch__icon::after { transform: translateY(-.3rem) rotate(-45deg); }

.dw-now {
  margin: 0; min-width: 0; flex: 1 1 auto;
  display: flex; align-items: baseline; gap: .6rem;
  font-size: .875rem; color: #3a3a37; white-space: nowrap;
}
.dw-now__n { font: 500 .75rem/1 var(--dw-f-lat); color: var(--dw-ink); letter-spacing: .04em; flex: none; }
.dw-now__n:empty { display: none; }
.dw-now__t { overflow: hidden; text-overflow: ellipsis; }

.dw-rails { display: none; }
.dw-js .dw-rails {
  display: block; position: relative; flex: 0 0 clamp(12rem, 22vw, 20rem); height: 1.75rem;
}
.dw-rails__line {
  position: absolute; left: 0; right: 0; height: 2px; background: #e2e2dc; overflow: hidden;
}
.dw-rails__line--wal { background: linear-gradient(90deg, #ffe0f1, #e6e2ff, #dcf6ff, #e2fbec, #fff5cf); }
.dw-rails__line--cex { top: .4rem; }
.dw-rails__line--wal { bottom: .4rem; }
.dw-rails__fill { position: absolute; inset: 0 auto 0 0; width: 0; transition: width .2s linear; }
.dw-rails__line--cex .dw-rails__fill { background: var(--dw-ink); }
.dw-rails__line--wal .dw-rails__fill { background: var(--dw-iris-run); background-size: 20rem 100%; }
.dw-tick {
  position: absolute; top: 0; height: 100%; width: 1.1rem; margin-left: -.55rem;
  display: block; text-decoration: none;
}
.dw-tick::before { content: ""; position: absolute; left: 50%; transition: transform .2s, background .2s; }
.dw-tick--cex::before { top: calc(.4rem - 4px); width: 10px; height: 10px; margin-left: -5px; background: var(--dw-ink); box-shadow: 0 0 0 2px #fff; }
.dw-tick--wal::before { bottom: calc(.4rem - 4px); width: 10px; height: 10px; margin-left: -5px; border-radius: 50%; background: var(--dw-iris-hot); box-shadow: 0 0 0 2px #fff; }
.dw-tick--mid::before { top: calc(.4rem + 6px); bottom: calc(.4rem + 6px); width: 1px; margin-left: 0; background: #b9b9b3; }
.dw-tick.is-past.dw-tick--mid::before { background: var(--dw-ink); }
.dw-tick.is-on::before { transform: scale(1.6); }
.dw-tick--mid.is-on::before { transform: scaleX(3); background: var(--dw-ink); }

.dw-panel {
  position: absolute; z-index: 60; top: calc(var(--dw-bar) - 1px);
  left: 50%; transform: translateX(-50%);
  width: min(68rem, calc(100vw - 2rem));
  max-height: calc(100vh - var(--dw-bar) - 1rem); overflow: auto;
  background: #fff; border: 1px solid var(--dw-ink);
  box-shadow: 0 2rem 4rem -1.5rem rgba(10, 10, 10, .35);
  padding: 1.25rem 1.5rem 1.5rem;
}
.dw-panel__heads { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); text-align: center; margin-bottom: .75rem; }
.dw-panel__h { font-size: .8125rem; font-weight: 700; letter-spacing: .08em; padding: .35rem 0; }
.dw-panel__h--cex { background: var(--dw-ink); color: #fff; }
.dw-panel__h--mid { color: var(--dw-mute); border-block: 1px solid var(--dw-rule); }
.dw-panel__h--wal { background: var(--dw-iris); color: var(--dw-ink); }
.dw-lanes {
  list-style: none; margin: 0; padding: .25rem 0; counter-reset: dwlane;
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem 0;
  background:
    linear-gradient(var(--dw-ink), var(--dw-ink)) 16.66% 0 / 2px 100% no-repeat,
    repeating-linear-gradient(180deg, #c9c9c3 0 5px, transparent 5px 10px) 50% 0 / 1px 100% no-repeat,
    var(--dw-iris-hot) 83.33% 0 / 2px 100% no-repeat;
}
.dw-lanes li { counter-increment: dwlane; grid-column: 2; display: flex; justify-content: center; padding: 0 .75rem; }
.dw-lanes li[data-k="eligibility"], .dw-lanes li[data-k="signup"], .dw-lanes li[data-k="after"] { grid-column: 1; }
.dw-lanes li[data-k="no-signup"], .dw-lanes li[data-k="wallet-later"] { grid-column: 3; }
.dw-lanes a {
  display: flex; gap: .6rem; align-items: baseline; width: 100%;
  background: #fff; border: 1px solid var(--dw-rule);
  padding: .55rem .75rem; font-size: .875rem; line-height: 1.5; text-decoration: none; color: #222;
}
.dw-lanes a::before { content: counter(dwlane, decimal-leading-zero); font: 500 .6875rem/1.9 var(--dw-f-lat); color: var(--dw-mute); flex: none; }
.dw-lanes a:hover { border-color: var(--dw-ink); }
.dw-lanes li.is-on a { background: var(--dw-ink); color: #fff; border-color: var(--dw-ink); }
.dw-lanes li.is-on a::before { color: #fff; }
.dw-lanes li[data-k="no-signup"].is-on a, .dw-lanes li[data-k="wallet-later"].is-on a { background: var(--dw-iris); color: var(--dw-ink); border-color: transparent; }
.dw-lanes li[data-k="no-signup"].is-on a::before, .dw-lanes li[data-k="wallet-later"].is-on a::before { color: var(--dw-ink); }

/* ---------- hero split stage ---------- */
.dw-run { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.dw-text { display: contents; }
.dw-text > * { grid-column: 1 / -1; }
.dw-text > [data-part="hero"] {
  grid-column: 1; grid-row: 1;
  background: var(--dw-ink); color: #f4f4f1;
  padding: clamp(3rem, 6vw, 5.5rem) clamp(1.5rem, 4vw, 4rem) clamp(3rem, 5vw, 4.5rem) max(var(--dw-gut), calc(50vw - 37.5rem));
  display: flex; flex-direction: column; justify-content: center;
}
.dw-plate {
  grid-column: 2; grid-row: 1; margin: 0;
  display: flex; align-items: center; justify-content: center;
  padding: clamp(2rem, 4vw, 4rem) max(var(--dw-gut), calc(50vw - 37.5rem)) clamp(2rem, 4vw, 4rem) clamp(1.5rem, 4vw, 4rem);
  background:
    radial-gradient(55% 70% at 18% 18%, rgba(255, 255, 255, .75), transparent 62%),
    radial-gradient(40% 50% at 90% 90%, rgba(255, 214, 120, .55), transparent 70%),
    conic-gradient(from 200deg at 64% 58%, #ffb6df, #c1b8ff, #93e2ff, #b9ffd6, #fff0a2, #ffbdab, #ffb6df);
}
.dw-plate__frame { position: relative; width: 100%; max-width: 40rem; }
.dw-plate__frame img {
  display: block; width: 100%; height: auto; border-radius: 2px;
  box-shadow: 0 0 0 1px rgba(10, 10, 10, .9), 0 2.5rem 5rem -2rem rgba(10, 10, 10, .6);
}
.dw-plate__tag {
  position: absolute; font-size: .6875rem; letter-spacing: .1em; font-weight: 600;
  padding: .3rem .55rem; line-height: 1;
}
.dw-plate__tag--cex { left: 13.6%; top: 5%; color: #f4f4f1; border: 1px solid rgba(244, 244, 241, .45); background: rgba(10, 10, 10, .55); }
.dw-plate__tag--wal { left: 58%; top: 13%; color: var(--dw-ink); background: var(--dw-iris); }

[data-part="kicker"] {
  align-self: flex-start; margin: 0;
  display: inline-flex; align-items: center; gap: .6rem;
  font-size: .8125rem; letter-spacing: .06em; color: #e7e7e2;
  border: 1px solid rgba(255, 255, 255, .22); padding: .35rem .8rem .35rem .6rem;
}
[data-part="kicker"]::before {
  content: ""; width: .75rem; height: .75rem; border-radius: 50%; flex: none;
  background: linear-gradient(90deg, #f4f4f1 0 50%, transparent 50%), var(--dw-iris);
}
[data-part="hero"] h1 {
  font: 800 clamp(1.7rem, 1rem + 2.1vw, 2.75rem)/1.3 var(--dw-f-head);
  letter-spacing: -.012em; margin: 1.1rem 0 1rem; color: #fff; max-width: 17em;
}
[data-part="dek"] { margin: 0; color: #c4c4be; font-size: 1.0625rem; line-height: 1.85; max-width: 34em; }
[data-part="meta"] {
  margin: 1.75rem 0 0; padding-top: 1rem; border-top: 1px solid rgba(255, 255, 255, .14);
  font-size: .8125rem; color: #9d9d97; letter-spacing: .02em; max-width: 42em;
}

.dw-legend {
  grid-column: 1 / -1; grid-row: 2; position: relative;
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  border-bottom: 1px solid var(--dw-rule);
}
.dw-legend::before {
  content: "VS"; position: absolute; left: 50%; top: -1.15rem; transform: translateX(-50%);
  width: 2.3rem; height: 2.3rem; border-radius: 50%; display: grid; place-items: center;
  font: 700 .625rem/1 var(--dw-f-lat); letter-spacing: .06em; color: var(--dw-ink);
  background: #fff; box-shadow: 0 0 0 1px var(--dw-ink);
}
.dw-legend__side { margin: 0; padding: 1.35rem clamp(1.5rem, 3vw, 3rem) 1.2rem; display: flex; flex-direction: column; gap: .15rem; font-size: .875rem; line-height: 1.6; color: var(--dw-mute); }
.dw-legend__side b { font: 800 1rem/1.4 var(--dw-f-head); color: var(--dw-ink); display: inline-flex; align-items: center; gap: .55rem; }
.dw-legend__side b::before { content: ""; width: .7rem; height: .7rem; flex: none; }
.dw-legend__side--cex { text-align: right; align-items: flex-end; border-right: 1px solid var(--dw-rule); }
.dw-legend__side--cex b { flex-direction: row-reverse; }
.dw-legend__side--cex b::before { background: var(--dw-ink); }
.dw-legend__side--wal b::before { border-radius: 50%; background: var(--dw-iris-hot); }

/* ---------- article body ---------- */
.dw-text > section, .dw-text > aside { position: relative; padding-inline: var(--dw-gut); }
.dw-text > section { padding-top: clamp(3.5rem, 7vw, 6rem); }
.dw-text > section > * { max-width: var(--dw-read); margin-inline: auto; }
.dw-text > section > table, .dw-text > section > figure { max-width: var(--dw-span); }
.dw-text > section:last-child { padding-bottom: clamp(4rem, 8vw, 7rem); }
.dw-text section[id] { scroll-margin-top: calc(var(--dw-bar) + 1rem); }

.dw-text > section { --dw-lane: linear-gradient(90deg, var(--dw-ink) 0 2px, transparent 2px 4px, #8c7dff 4px), var(--dw-iris-hot); --dw-lane-name: "两边对照"; --dw-lane-dot: linear-gradient(90deg, var(--dw-ink) 0 50%, transparent 50%), var(--dw-iris-hot); }
#eligibility, #signup, #after { --dw-lane: var(--dw-ink); --dw-lane-name: "交易所账户这一侧"; --dw-lane-dot: var(--dw-ink); }
#no-signup, #wallet-later { --dw-lane: var(--dw-iris-hot); --dw-lane-name: "Web3 钱包这一侧"; --dw-lane-dot: var(--dw-iris-hot); }
.dw-text > section::before {
  content: ""; position: absolute; top: clamp(3.5rem, 7vw, 6rem); bottom: 0; width: 4px;
  left: max(.4rem, calc(50% - var(--dw-span) / 2 - 2.25rem));
  background: var(--dw-lane);
}
#diff::before, #quiz::before, #mixups::before, #prep::before, #entry::before, #faq::before {
  background: linear-gradient(var(--dw-ink), var(--dw-ink)) 0 0 / 2px 100% no-repeat, var(--dw-iris-hot) 100% 0 / 2px 100% no-repeat;
}
.dw-text > section > h2 {
  font: 800 clamp(1.5rem, 1.15rem + 1.1vw, 2rem)/1.36 var(--dw-f-head);
  letter-spacing: -.01em; color: var(--dw-ink); margin-top: 0; margin-bottom: 1.25rem;
}
.dw-text > section > h2::before {
  content: var(--dw-lane-name); display: flex; align-items: center; gap: .5rem;
  font: 600 .75rem/1 var(--dw-f-body); letter-spacing: .14em; color: var(--dw-mute); margin-bottom: .9rem;
}
#faq > h2::before { content: "两边对照 · 问答"; }
.dw-text h3 { font: 800 1.25rem/1.45 var(--dw-f-head); color: var(--dw-ink); margin-top: 2.75rem; margin-bottom: .75rem; }
.dw-text p { margin-top: 0; margin-bottom: 1.15em; }
.dw-text strong { font-weight: 700; color: var(--dw-ink); }
.dw-text section a:not([data-cta]), .dw-sheet__body a {
  text-decoration: none; color: var(--dw-ink);
  background: linear-gradient(90deg, #ff6fc4, #8c7dff, #3fcfff) 0 100% / 100% 2px no-repeat;
  padding-bottom: 1px; transition: background-size .2s;
}
.dw-text section a:not([data-cta]):hover, .dw-sheet__body a:hover { background-size: 100% 100%; background-image: linear-gradient(90deg, #ffe3f3, #e9e6ff, #e0f7ff); }

/* tables */
.dw-text table { width: 100%; border-collapse: collapse; margin: 2rem auto 2.25rem; font-size: .9375rem; line-height: 1.7; }
.dw-text th, .dw-text td { text-align: left; vertical-align: top; padding: .8rem 1rem; border-bottom: 1px solid var(--dw-rule); }
.dw-text thead th { font-weight: 700; font-size: .8125rem; letter-spacing: .06em; color: var(--dw-ink); border-bottom: 2px solid var(--dw-ink); background: var(--dw-fog); }
.dw-text tbody td:first-child { font-weight: 600; color: var(--dw-ink); width: 22%; }
#prep thead th:nth-child(2) { background: var(--dw-ink); color: #fff; border-bottom-color: var(--dw-ink); }
#prep thead th:nth-child(3) { background: var(--dw-iris); border-bottom-color: #8c7dff; }

table[data-part="compare"] { border-collapse: separate; border-spacing: 0; font-size: .96875rem; box-shadow: 0 0 0 1px var(--dw-ink); }
table[data-part="compare"] th, table[data-part="compare"] td { padding: 1rem 1.15rem; border-bottom: 1px solid var(--dw-rule); }
table[data-part="compare"] thead th { font: 800 1.0625rem/1.4 var(--dw-f-head); letter-spacing: 0; padding-block: 1.15rem; border-bottom: 0; }
table[data-part="compare"] thead th:first-child { background: #fff; color: var(--dw-mute); font: 600 .75rem/1.4 var(--dw-f-body); letter-spacing: .14em; vertical-align: bottom; width: 17%; }
table[data-part="compare"] thead th:nth-child(2) { background: var(--dw-ink); color: #fff; width: 41.5%; }
table[data-part="compare"] thead th:nth-child(3) { background: var(--dw-iris); color: var(--dw-ink); width: 41.5%; }
table[data-part="compare"] tbody td:first-child { width: auto; font-size: .875rem; background: #fff; }
table[data-part="compare"] tbody td:nth-child(2):not([colspan]) { background: var(--dw-ink-soft); color: #ecece7; border-bottom-color: rgba(255, 255, 255, .1); }
table[data-part="compare"] tbody tr:nth-child(odd) td:nth-child(2):not([colspan]) { background: var(--dw-ink); }
table[data-part="compare"] tbody td:nth-child(3) { background: var(--dw-iris-pale); border-bottom-color: rgba(10, 10, 10, .07); }
table[data-part="compare"] tbody tr:nth-child(odd) td:nth-child(3) { background: linear-gradient(112deg, #ffe9f5, #ebe9ff 35%, #e3f8ff 62%, #ecfff3 85%, #fff8de); }
table[data-part="compare"] td[colspan] {
  background: #fff; color: var(--dw-ink); font-weight: 600; text-align: center; position: relative;
  border-bottom: 1px solid var(--dw-rule); padding-block: 1.1rem;
  background-image: linear-gradient(90deg, var(--dw-ink) 0 50%, transparent 50%), var(--dw-iris-run);
  background-size: 100% 3px; background-repeat: no-repeat; background-position: 0 0;
}
table[data-part="compare"] td[colspan]::before {
  content: "≠"; display: inline-grid; place-items: center; width: 1.6rem; height: 1.6rem; margin-right: .6rem;
  border: 1px solid var(--dw-ink); border-radius: 50%; font: 500 .9rem/1 var(--dw-f-lat); vertical-align: .1em;
}
table[data-part="compare"] tbody tr:last-child td { border-bottom: 0; }

/* figures */
figure[data-part="shot"] { margin-top: 2.5rem; margin-bottom: 2.75rem; counter-increment: dwfig; }
.dw-text { counter-reset: dwfig; }
.dw-run { counter-reset: dwfig; }
figure[data-part="shot"] img {
  display: block; margin: 0 auto; width: auto; max-width: 100%; height: auto;
  border: 1px solid var(--dw-rule); background: var(--dw-fog);
}
figure[data-part="shot"] figcaption {
  display: flex; gap: .85rem; align-items: baseline; max-width: var(--dw-read); margin: .9rem auto 0;
  font-size: .875rem; line-height: 1.65; color: var(--dw-mute);
}
figure[data-part="shot"] figcaption::before {
  content: "图 " counter(dwfig, decimal-leading-zero); flex: none;
  font: 500 .6875rem/1.9 var(--dw-f-lat); letter-spacing: .06em; color: var(--dw-ink);
  padding: 0 .45rem; border: 1px solid var(--dw-ink);
}

/* note / warn */
[data-part="note"], [data-part="warn"] { margin-top: 2rem; margin-bottom: 2rem; padding: 1.35rem 1.5rem 1.35rem 1.75rem; position: relative; }
[data-part="note"] { background: var(--dw-fog); }
[data-part="note"]::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--dw-iris-hot); }
[data-part="warn"] { background: var(--dw-ink); color: #ecece7; }
[data-part="warn"]::before {
  content: "注意"; display: inline-block; margin-bottom: .6rem;
  font-size: .75rem; font-weight: 700; letter-spacing: .2em; padding: .2rem .55rem; color: var(--dw-ink); background: var(--dw-iris);
}
[data-part="note"] p:last-child, [data-part="warn"] p:last-child { margin-bottom: 0; }

/* steps */
ol[data-part="steps"] { list-style: none; padding: 0; margin-top: 2rem; margin-bottom: 2rem; counter-reset: dwstep; }
ol[data-part="steps"] > li { counter-increment: dwstep; position: relative; padding: 0 0 1.9rem 4.25rem; }
ol[data-part="steps"] > li::before {
  content: counter(dwstep, decimal-leading-zero); position: absolute; left: 0; top: .15rem;
  width: 2.75rem; height: 2.75rem; display: grid; place-items: center;
  background: var(--dw-ink); color: #fff; font: 700 .875rem/1 var(--dw-f-lat);
}
ol[data-part="steps"] > li::after {
  content: ""; position: absolute; left: calc(1.375rem - 1px); top: 3.25rem; bottom: .35rem; width: 2px;
  background: repeating-linear-gradient(180deg, var(--dw-ink) 0 6px, transparent 6px 11px);
}
ol[data-part="steps"] > li:last-child::after { display: none; }
ol[data-part="steps"] > li > strong:first-child { display: block; font: 800 1.125rem/1.5 var(--dw-f-head); margin-bottom: .2rem; padding-top: .55rem; }

/* misconceptions */
#mixups dl { margin-top: 2rem; margin-bottom: 0; border-top: 2px solid var(--dw-ink); }
#mixups dt { display: flex; gap: .85rem; font: 800 1.125rem/1.55 var(--dw-f-head); color: var(--dw-ink); padding: 1.5rem 0 .55rem; }
#mixups dt::before {
  content: ""; flex: none; width: 1.3rem; height: 1.3rem; margin-top: .2rem; border-radius: 50%; border: 2px solid var(--dw-ink);
  background: linear-gradient(135deg, transparent calc(50% - 1px), var(--dw-ink) calc(50% - 1px) calc(50% + 1px), transparent calc(50% + 1px));
}
#mixups dd { margin: 0; padding: 0 0 1.5rem 2.15rem; border-bottom: 1px solid var(--dw-rule); color: #2c2c2a; }

/* quiz */
ol[data-part="quiz"] { list-style: none; padding: 0; margin-top: 2rem; margin-bottom: 0; counter-reset: dwq; }
ol[data-part="quiz"] > li { counter-increment: dwq; padding: 1.6rem 0 1.75rem; border-top: 1px solid var(--dw-rule); }
ol[data-part="quiz"] > li:first-child { border-top: 2px solid var(--dw-ink); }
[data-q] { display: flex; gap: .85rem; align-items: baseline; font: 800 1.125rem/1.55 var(--dw-f-head); color: var(--dw-ink); margin: 0 0 1rem !important; }
[data-q]::before { content: "Q" counter(dwq); flex: none; font: 700 .6875rem/1 var(--dw-f-lat); background: var(--dw-ink); color: #fff; padding: .4rem .5rem; transform: translateY(-.15rem); }
ol[data-part="quiz"] ul { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: .75rem; }
li[data-a] { position: relative; padding: 1rem 1.15rem 1rem 2.85rem; font-size: 1rem; line-height: 1.65; border: 1px solid transparent; transition: transform .15s, box-shadow .15s, opacity .15s; }
li[data-a]::before { content: ""; position: absolute; left: 1.05rem; top: 1.35rem; width: 1rem; height: 1rem; border: 2px solid currentColor; }
li[data-a="cex"] { background: var(--dw-ink); color: #efefea; }
li[data-a="wallet"] { background: var(--dw-iris); color: var(--dw-ink); }
li[data-a="wallet"]::before { border-radius: 50%; }
.dw-quiz-on li[data-a] { cursor: pointer; }
.dw-quiz-on li[data-a]:hover { transform: translateY(-2px); box-shadow: 0 .75rem 1.5rem -1rem rgba(10, 10, 10, .55); }
.dw-quiz-on ul.is-picked li[data-a]:not([aria-checked="true"]) { opacity: .42; }
.dw-quiz-on li[data-a][aria-checked="true"] { box-shadow: 0 0 0 3px #fff, 0 0 0 5px var(--dw-ink); }
.dw-quiz-on li[data-a][aria-checked="true"]::before { background: currentColor; box-shadow: inset 0 0 0 2px var(--dw-ink); }
.dw-quiz-on li[data-a="cex"][aria-checked="true"]::before { box-shadow: inset 0 0 0 2px var(--dw-ink); }
.dw-quiz-on li[data-a="wallet"][aria-checked="true"]::before { box-shadow: inset 0 0 0 2px #fff; }

[data-part="quiz-result"] {
  position: relative; margin-top: 1.25rem; margin-bottom: 2rem; padding: 1.4rem 1.5rem 1.4rem 2rem;
  border: 1px solid var(--dw-ink); white-space: pre-line; font-size: 1rem; line-height: 1.8;
}
[data-part="quiz-result"]::after { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 6px; background: linear-gradient(90deg, var(--dw-ink) 0 3px, transparent 3px), var(--dw-iris-hot); }
[data-part="quiz-result"]:not(.dw-live)::before { content: attr(data-cex) "\A\A" attr(data-wallet) "\A\A" attr(data-both); }
.dw-live { white-space: normal; }
.dw-qr__wait { margin: 0 !important; display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1rem; color: var(--dw-mute); }
.dw-qr__slots { display: inline-flex; gap: .4rem; }
.dw-qr__slot { width: 2rem; height: .5rem; background: #e5e5e0; }
.dw-qr__slot--cex { background: var(--dw-ink); }
.dw-qr__slot--wallet { background: var(--dw-iris-run); }
.dw-qr__tally { margin: 0 0 .6rem !important; font: 500 .6875rem/1.6 var(--dw-f-lat); letter-spacing: .08em; display: flex; gap: .5rem; flex-wrap: wrap; align-items: center; }
.dw-qr__tally span { padding: .15rem .5rem; border: 1px solid currentColor; }
.dw-qr__text { margin: 0 0 1rem !important; font-size: 1.0625rem; }
.dw-qr__redo { font: inherit; font-size: .875rem; cursor: pointer; padding: .4rem .9rem; background: transparent; color: inherit; border: 1px solid currentColor; }
.dw-live.is-cex { background: var(--dw-ink); color: #f1f1ec; border-color: var(--dw-ink); }
.dw-live.is-cex::after { background: #f1f1ec; width: 3px; }
.dw-live.is-wallet { background: var(--dw-iris); color: var(--dw-ink); border-color: transparent; }
.dw-live.is-wallet::after { background: var(--dw-ink); width: 3px; }
.dw-live.is-both { background: linear-gradient(90deg, #fff 0 60%, #f4f2ff); }

/* CTA */
.dw-text > aside[data-part="cta"] {
  width: min(var(--dw-span), 100% - 2 * var(--dw-gut)); margin: clamp(3.5rem, 7vw, 6rem) auto 0; padding: 0;
  display: grid; grid-template-columns: minmax(0, 22rem) minmax(0, 1fr);
  grid-template-areas: "code lead" "go fine";
  background: linear-gradient(90deg, var(--dw-ink) 0 22rem, #fff 22rem);
  box-shadow: 0 0 0 1px var(--dw-ink);
}
aside[data-part="cta"] > p:first-of-type { grid-area: lead; margin: 0; padding: 2rem 2.25rem .9rem; font-size: 1.0625rem; color: #1f1f1e; }
aside[data-part="cta"] > p:last-of-type { grid-area: fine; margin: 0; padding: 0 2.25rem 2rem; font-size: .9375rem; line-height: 1.75; color: #34342f; }
aside[data-part="cta"] > p:last-of-type a { color: var(--dw-ink); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
aside[data-part="cta"] > a[data-cta] {
  grid-area: go; align-self: end; margin: 0 1.75rem 2rem;
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  padding: 1.05rem 1.25rem; text-decoration: none; color: var(--dw-ink);
  font: 800 1.0625rem/1.35 var(--dw-f-head); background: var(--dw-iris);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .5); transition: transform .15s, box-shadow .15s;
}
aside[data-part="cta"] > a[data-cta]::after {
  content: ""; flex: none; width: .8rem; height: .8rem;
  border-top: 2px solid currentColor; border-right: 2px solid currentColor; transform: rotate(45deg); margin-right: .3rem;
}
aside[data-part="cta"] > a[data-cta]:hover { transform: translateY(-2px); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .5), 0 .9rem 1.6rem -1rem rgba(255, 255, 255, .6); }
.dw-code { grid-area: code; padding: 2rem 1.75rem 1.25rem; color: #f2f2ee; }
.dw-code__k { display: block; font-size: .75rem; letter-spacing: .2em; color: #a9a9a3; margin-bottom: .55rem; }
.dw-code__row { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .7rem 0 .85rem; border-block: 1px solid rgba(255, 255, 255, .16); }
.dw-code__v { font: 700 clamp(1.6rem, 1.2rem + 1.2vw, 2.15rem)/1.1 var(--dw-f-lat); letter-spacing: .08em; color: #fff; user-select: all; }
.dw-code__btn {
  flex: none; cursor: pointer; font: 600 .8125rem/1 var(--dw-f-body); letter-spacing: .06em;
  padding: .6rem .8rem; background: transparent; color: #fff; border: 1px solid rgba(255, 255, 255, .55);
}
.dw-code__btn:hover { background: #fff; color: var(--dw-ink); }
.dw-code__btn.is-done { background: #fff; color: var(--dw-ink); border-color: #fff; }

/* FAQ */
#faq details { border-top: 1px solid var(--dw-rule); }
#faq details:last-child { border-bottom: 1px solid var(--dw-rule); }
#faq h2 + details { border-top: 2px solid var(--dw-ink); }
#faq summary {
  list-style: none; cursor: pointer; position: relative;
  padding: 1.25rem 3rem 1.25rem 0; font: 800 1.0625rem/1.6 var(--dw-f-head); color: var(--dw-ink);
}
#faq summary::-webkit-details-marker { display: none; }
#faq summary::before, #faq summary::after { content: ""; position: absolute; right: .4rem; top: 50%; transition: transform .25s; }
#faq summary::before { width: 1rem; height: 2px; margin-top: -1px; background: var(--dw-ink); right: .4rem; }
#faq summary::after { width: 2px; height: 1rem; margin-top: -.5rem; right: calc(.4rem + .5rem - 1px); background: var(--dw-iris-hot); }
#faq details[open] summary::after { transform: rotate(90deg); }
#faq summary:hover { color: #3a3a37; }
#faq details > p { margin: 0 0 1.4rem; padding-left: 1rem; border-left: 2px solid var(--dw-rule); color: #2c2c2a; }

/* ---------- office pages ---------- */
.dw-sheet { padding-bottom: clamp(3rem, 7vw, 6rem); }
.dw-sheet__band { display: grid; grid-template-columns: 1fr 1fr; height: clamp(6rem, 12vw, 9rem); }
.dw-sheet__band span:first-child { background: var(--dw-ink); }
.dw-sheet__band span:last-child { background: conic-gradient(from 200deg at 40% 60%, #ffb6df, #c1b8ff, #93e2ff, #b9ffd6, #fff0a2, #ffbdab, #ffb6df); }
.dw-sheet__body {
  position: relative; max-width: calc(var(--dw-read) + 6rem); margin: calc(-1 * clamp(3rem, 6vw, 4.5rem)) auto 0;
  background: #fff; padding: clamp(1.75rem, 4vw, 3rem) clamp(1.25rem, 5vw, 3rem) 1rem;
  box-shadow: 0 0 0 1px var(--dw-ink);
}
.dw-sheet__body h1 { font: 800 clamp(1.75rem, 1.3rem + 1.5vw, 2.4rem)/1.3 var(--dw-f-head); color: var(--dw-ink); margin: 0 0 1.5rem; letter-spacing: -.01em; }
.dw-sheet__body h2 { font: 800 1.3rem/1.45 var(--dw-f-head); color: var(--dw-ink); margin: 2.5rem 0 .85rem; display: flex; align-items: center; gap: .6rem; }
.dw-sheet__body h2::before { content: ""; width: .55rem; height: 1.1rem; flex: none; background: linear-gradient(90deg, var(--dw-ink) 0 50%, transparent 50%), var(--dw-iris-hot); }
.dw-sheet__body p { margin: 0 0 1.1em; }
.dw-sheet__body ul { padding-left: 1.25rem; margin: 0 0 1.25em; }
.dw-sheet__body li { margin-bottom: .45em; }
.dw-sheet__body li::marker { content: "■  "; font-size: .7em; color: var(--dw-ink); }
@media (max-width: 40em) {
  .dw-sheet__body { margin-inline: 1rem; }
}

/* ---------- 404 ---------- */
.dw-lost { min-height: calc(100vh - var(--dw-bar) - 14rem); display: grid; grid-template-columns: 1fr 1fr; }
.dw-lost__l { background: var(--dw-ink); color: #f1f1ec; display: flex; flex-direction: column; justify-content: center; padding: 4rem var(--dw-gut) 4rem max(var(--dw-gut), calc(50vw - 37.5rem)); }
.dw-lost__r { background: conic-gradient(from 200deg at 40% 60%, #ffb6df, #c1b8ff, #93e2ff, #b9ffd6, #fff0a2, #ffbdab, #ffb6df); display: grid; place-items: center; padding: 3rem var(--dw-gut); }
.dw-lost__code { font: 700 clamp(4rem, 10vw, 8rem)/1 var(--dw-f-lat); letter-spacing: .02em; color: var(--dw-ink); }
.dw-lost h1 { font: 800 clamp(1.6rem, 1.2rem + 1.6vw, 2.4rem)/1.3 var(--dw-f-head); margin: 0 0 1rem; color: #fff; }
.dw-lost p { color: #c4c4be; margin: 0 0 1.75rem; max-width: 30em; }
.dw-lost a.dw-lost__go { align-self: flex-start; color: var(--dw-ink); background: var(--dw-iris); text-decoration: none; font: 800 1rem/1.4 var(--dw-f-head); padding: .9rem 1.2rem; }

/* ---------- footer ---------- */
.dw-foot { background: var(--dw-ink); color: #b9b9b3; position: relative; font-size: .875rem; line-height: 1.75; }
.dw-foot::before { content: ""; display: block; height: 4px; background: linear-gradient(90deg, #2a2a28 0 50%, transparent 50%), var(--dw-iris-run); }
.dw-foot__in {
  max-width: 80rem; margin: 0 auto; padding: 3rem var(--dw-gut) 2.5rem;
  display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 1.25rem 3rem;
}
.dw-foot__id p { margin: .9rem 0 0; max-width: 28em; }
.dw-foot__nav { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; align-content: flex-start; justify-content: flex-end; }
.dw-foot__nav a { color: #f1f1ec; text-decoration: none; border-bottom: 1px solid rgba(241, 241, 236, .3); padding-bottom: 2px; }
.dw-foot__nav a:hover { border-bottom-color: #f1f1ec; }
.dw-foot p { margin: 0; }
.dw-foot__mail a { color: #f1f1ec; }
.dw-foot__risk { grid-column: 1 / -1; color: #e2e2dd; padding-top: 1.25rem; border-top: 1px solid rgba(255, 255, 255, .12); }
.dw-foot__copy { grid-column: 1 / -1; color: #85857f; font-size: .8125rem; }
.dw-foot__mail { grid-column: 1 / -1; }

/* ---------- ≤ 62em ---------- */
@media (max-width: 62em) {
  .dw-run { grid-template-columns: minmax(0, 1fr); }
  .dw-text > [data-part="hero"] { grid-column: 1; grid-row: 1; padding: 2rem var(--dw-gut) 2rem; }
  .dw-plate { grid-column: 1; grid-row: 2; padding: 1.5rem var(--dw-gut); }
  .dw-legend { grid-row: 3; }
  .dw-legend::before { top: -1.15rem; }
  .dw-now { display: none; }
  .dw-switch { order: 3; flex: none; }
  .dw-nav { margin-left: auto; }
  .dw-js .dw-rails { position: absolute; left: 0; right: 0; bottom: -1px; height: 9px; flex: none; }
  .dw-rails__line--cex { top: 1px; }
  .dw-rails__line--wal { bottom: 1px; }
  .dw-tick { display: none; }
  .dw-top__in { position: relative; }
  .dw-lost { grid-template-columns: 1fr; }
  .dw-lost__l { padding: 3rem var(--dw-gut); }
  .dw-lost__r { order: -1; padding: 2.5rem; }
}

@media (max-width: 52em) {
  .dw-text > aside[data-part="cta"] {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "lead" "code" "go" "fine";
    background: var(--dw-ink);
  }
  aside[data-part="cta"] > p:first-of-type { color: #ecece7; padding: 1.6rem 1.35rem .25rem; }
  aside[data-part="cta"] > p:last-of-type { color: #d6d6d0; padding: 0 1.35rem 1.6rem; }
  aside[data-part="cta"] > p:last-of-type a { color: #fff; }
  .dw-code { padding: 1rem 1.35rem .5rem; }
  aside[data-part="cta"] > a[data-cta] { margin: 1rem 1.35rem 1.25rem; }
  .dw-foot__in { grid-template-columns: 1fr; }
  .dw-foot__nav { justify-content: flex-start; }
}

@media (max-width: 40em) {
  :root { --dw-bar: 3.5rem; }
  body { font-size: 1rem; }
  .dw-top__in { gap: .5rem; }
  .dw-mark__glyph { width: 1.75rem; }
  .dw-mark__lat, .dw-mark__cn { font-size: .95rem; }
  .dw-nav a { padding: .4rem .45rem; font-size: .875rem; }
  .dw-switch__btn { padding: .4rem .6rem; font-size: .8125rem; gap: .4rem; }
  .dw-panel { width: calc(100vw - 1.5rem); padding: 1rem; }
  .dw-panel__heads { display: none; }
  .dw-lanes { grid-template-columns: minmax(0, 1fr); background: none; gap: .4rem; }
  .dw-lanes li, .dw-lanes li[data-k] { grid-column: 1; padding: 0; }
  .dw-lanes a { padding-left: 1.1rem; background: linear-gradient(90deg, var(--dw-ink) 0 2px, transparent 2px 4px, #8c7dff 4px 6px, transparent 6px) 0 0 / 6px 100% no-repeat, #fff; }
  .dw-lanes li[data-k="eligibility"] a, .dw-lanes li[data-k="signup"] a, .dw-lanes li[data-k="after"] a { background: linear-gradient(var(--dw-ink), var(--dw-ink)) 0 0 / 4px 100% no-repeat, #fff; }
  .dw-lanes li[data-k="no-signup"] a, .dw-lanes li[data-k="wallet-later"] a { background: var(--dw-iris-hot) 0 0 / 4px 100% no-repeat, #fff; }
  .dw-lanes li.is-on a, .dw-lanes li[data-k].is-on a { background: var(--dw-ink); }
  .dw-lanes li[data-k="no-signup"].is-on a, .dw-lanes li[data-k="wallet-later"].is-on a { background: var(--dw-iris); }
  .dw-plate__tag { font-size: .5625rem; padding: .22rem .4rem; letter-spacing: .06em; }
  .dw-legend__side { padding: 1.3rem 1rem 1rem; font-size: .8125rem; }
  .dw-legend__side b { font-size: .9375rem; gap: .4rem; }
  .dw-text > section::before { left: .3rem; width: 3px; }
  #diff::before, #quiz::before, #mixups::before, #prep::before, #entry::before, #faq::before { background: linear-gradient(var(--dw-ink), var(--dw-ink)) 0 0 / 1px 100% no-repeat, var(--dw-iris-hot) 100% 0 / 1px 100% no-repeat; }
  .dw-text table { font-size: .875rem; }
  .dw-text th, .dw-text td { padding: .65rem .55rem; }
  table[data-part="compare"], table[data-part="compare"] thead, table[data-part="compare"] tbody { display: block; }
  table[data-part="compare"] tr { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  table[data-part="compare"] thead th:first-child { display: none; }
  table[data-part="compare"] thead th { font-size: .9375rem; padding: .85rem .75rem; }
  table[data-part="compare"] thead th:nth-child(2), table[data-part="compare"] thead th:nth-child(3) { width: auto; }
  table[data-part="compare"] tbody td { padding: .7rem .75rem; font-size: .875rem; line-height: 1.65; }
  table[data-part="compare"] tbody td:first-child { grid-column: 1 / -1; background: var(--dw-fog); font-size: .8125rem; letter-spacing: .04em; padding: .5rem .75rem; border-bottom: 0; }
  table[data-part="compare"] td[colspan] { grid-column: 1 / -1; text-align: left; }
  ol[data-part="quiz"] ul { gap: .5rem; }
  li[data-a] { padding: .85rem .8rem .85rem 2.2rem; font-size: .9375rem; }
  li[data-a]::before { left: .75rem; top: 1.15rem; width: .85rem; height: .85rem; }
  ol[data-part="steps"] > li { padding-left: 3.4rem; }
  ol[data-part="steps"] > li::before { width: 2.3rem; height: 2.3rem; font-size: .75rem; }
  ol[data-part="steps"] > li::after { left: calc(1.15rem - 1px); top: 2.75rem; }
  ol[data-part="steps"] > li > strong:first-child { padding-top: .3rem; }
  #mixups dd { padding-left: 0; }
  [data-part="quiz-result"] { padding: 1.2rem 1.1rem 1.2rem 1.5rem; }
}
@media (max-width: 22em) {
  ol[data-part="quiz"] ul { grid-template-columns: minmax(0, 1fr); }
}
