/* Wraith: dusk indigo, bone and ember. Plain CSS, tokens first, no build step. */
@font-face{font-family:"Instrument Serif";src:url(fonts/instrument-serif-normal.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url(fonts/instrument-serif-italic.woff2) format("woff2");font-weight:100 900;font-style:italic;font-display:swap}
@font-face{font-family:"Geist";src:url(fonts/geist-latin-wght-normal.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Geist Mono";src:url(fonts/geist-mono-latin-wght-normal.woff2) format("woff2");font-weight:100 900;font-display:swap}

:root{
  --f-disp:"Instrument Serif","Iowan Old Style",Georgia,serif;
  --f-body:"Geist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-mono:"Geist Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  /* light: bone paper, indigo ink */
  --bg:#EFE9DC;--surface:#FBF8F1;--surface2:#E3DBC9;--line:rgba(18,24,52,.14);--line2:rgba(18,24,52,.3);
  --ink:#121834;--mut:#4F5878;--faint:#8A90AB;
  --accent:#E8692B;--accent2:#F28350;--on-accent:#1A0C04;--accent-ink:#B4440F;
  --good:#0E7F5E;--bad:#C3294A;--amber:#9A6A0B;
  --s-pl:#6C77AE;--s-hd:#C9971F;--s-bn:#D9432F;--s-cr:#14997A;
  --glass:rgba(251,248,241,.84);--shadow:0 18px 40px -22px rgba(18,24,52,.45);
  --fx-rgb:18,24,52;--fx-acc:232,105,43;--glow1:rgba(232,105,43,.12);--glow2:rgba(108,119,174,.14);
  --c1:#5F70E8;--c8453:#2F6BFF;--c42161:#1E9BD8;--c56:#C99A00;--c101:#10A582;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0B0F2A;--surface:#121838;--surface2:#1B2250;--line:rgba(190,200,240,.13);--line2:rgba(190,200,240,.28);
  --ink:#F2ECDF;--mut:#A7B0D6;--faint:#6A74A6;
  --accent:#FF9A5A;--accent2:#FFB488;--on-accent:#1A0C04;--accent-ink:#FFB27E;
  --good:#7FE3C0;--bad:#FF7C8F;--amber:#F2C46B;
  --s-pl:#8E9AD0;--s-hd:#F2C46B;--s-bn:#FF6B5A;--s-cr:#7FE3C0;
  --glass:rgba(14,18,48,.8);--shadow:0 22px 44px -22px rgba(0,0,0,.8);
  --fx-rgb:190,200,240;--fx-acc:255,154,90;--glow1:rgba(255,154,90,.13);--glow2:rgba(110,130,255,.13);
  --c1:#8FA2FF;--c8453:#5C8DFF;--c42161:#4CC3FF;--c56:#F3BA2F;--c101:#2CF0B8;
  color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0B0F2A;--surface:#121838;--surface2:#1B2250;--line:rgba(190,200,240,.13);--line2:rgba(190,200,240,.28);
  --ink:#F2ECDF;--mut:#A7B0D6;--faint:#6A74A6;
  --accent:#FF9A5A;--accent2:#FFB488;--on-accent:#1A0C04;--accent-ink:#FFB27E;
  --good:#7FE3C0;--bad:#FF7C8F;--amber:#F2C46B;
  --s-pl:#8E9AD0;--s-hd:#F2C46B;--s-bn:#FF6B5A;--s-cr:#7FE3C0;
  --glass:rgba(14,18,48,.8);--shadow:0 22px 44px -22px rgba(0,0,0,.8);
  --fx-rgb:190,200,240;--fx-acc:255,154,90;--glow1:rgba(255,154,90,.13);--glow2:rgba(110,130,255,.13);
  --c1:#8FA2FF;--c8453:#5C8DFF;--c42161:#4CC3FF;--c56:#F3BA2F;--c101:#2CF0B8;
  color-scheme:dark}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:400 15.5px/1.55 var(--f-body);-webkit-font-smoothing:antialiased;min-height:100vh;overflow-x:hidden}
body::before{content:"";position:fixed;inset:-20vmax;z-index:0;pointer-events:none;background:radial-gradient(38vmax 38vmax at 18% 12%,var(--glow1),transparent 70%),radial-gradient(34vmax 34vmax at 86% 78%,var(--glow2),transparent 70%);animation:drift 38s ease-in-out infinite alternate;will-change:transform}
@keyframes drift{to{transform:translate3d(3vmax,-2vmax,0) scale(1.06)}}
#fx{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure{margin:0}
h1,h2,h3{font-family:var(--f-disp);font-weight:400;letter-spacing:-.005em;line-height:1.08;text-wrap:balance}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
button:disabled{cursor:not-allowed}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}
.skip{position:absolute;left:-999px;top:8px;background:var(--accent);color:var(--on-accent);padding:8px 14px;border-radius:8px;z-index:99}
.skip:focus{left:8px}
.mut{color:var(--mut)}.sm{font-size:13.5px}.xs{font-size:12px}.pos{color:var(--good)}.neg{color:var(--bad)}
.num,.addr,kbd,code{font-family:var(--f-mono);font-variant-numeric:tabular-nums}
.addr{font-size:12.5px;overflow-wrap:anywhere}
.r{text-align:right}.row{display:flex;align-items:center;gap:10px}.between{justify-content:space-between}
.hint{font-size:13.5px;color:var(--mut);line-height:1.5}
.err{color:var(--bad);font-size:14px}.err:empty{display:none}
.grid{display:grid;gap:12px}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}

/* ---------- chain colours ---------- */
.c-1{--cc:var(--c1)}.c-8453{--cc:var(--c8453)}.c-42161{--cc:var(--c42161)}.c-56{--cc:var(--c56)}.c-101{--cc:var(--c101)}
.cdot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--cc,var(--faint));flex:none}
.cdots{display:inline-flex;gap:3px;align-items:center}
.cchip{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:600}

.warn{color:var(--mut);font-size:12.5px;line-height:1.55;max-width:92ch}

/* ---------- buttons, inputs ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 20px;border:1px solid var(--line2);border-radius:999px;font-weight:600;font-size:14.5px;white-space:nowrap;transition:transform .15s,border-color .15s,background .15s,box-shadow .2s}
.btn:hover:not(:disabled){border-color:var(--ink)}
.btn:active:not(:disabled){transform:translateY(1px)}
.btn.pri{background:var(--accent);color:var(--on-accent);border-color:transparent;box-shadow:0 8px 24px -10px rgba(255,154,90,.7)}
.btn.pri:hover:not(:disabled){background:var(--accent2);border-color:transparent;box-shadow:0 10px 28px -8px rgba(255,154,90,.85)}
.btn.lg{height:54px;padding:0 28px;font-size:16px}
.btn.sm{height:32px;padding:0 14px;font-size:13px}
.btn.block{width:100%}
.btn:disabled{opacity:.45;box-shadow:none}
.field{display:grid;gap:7px}
.lbl,label{font-size:13px;font-weight:600;color:var(--mut)}
.in{width:100%;height:46px;padding:0 14px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--surface) 92%,transparent);color:var(--ink);font:inherit;font-size:16px;transition:border-color .15s}
textarea.in{height:84px;padding:10px 14px;resize:vertical}
select.in{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--mut) 50%),linear-gradient(135deg,var(--mut) 50%,transparent 50%);background-position:calc(100% - 20px) 20px,calc(100% - 15px) 20px;background-size:5px 5px;background-repeat:no-repeat;padding-right:34px}
.in::placeholder{color:var(--faint)}
.in:hover{border-color:var(--line2)}
.in:focus{outline:2px solid var(--accent);outline-offset:0;border-color:transparent}
.in.big{height:56px;font-size:19px;font-weight:600}
.in.mono,.amt{font-family:var(--f-mono)}
.inwrap{position:relative}.inwrap .in{padding-right:92px}
.suf{position:absolute;right:12px;top:50%;transform:translateY(-50%);font:600 13px var(--f-mono);color:var(--mut);display:flex;align-items:center}
.seg{display:inline-flex;padding:3px;border:1px solid var(--line);border-radius:999px;gap:2px;background:color-mix(in srgb,var(--surface) 70%,transparent)}
.seg button{padding:7px 16px;border-radius:999px;font-weight:600;font-size:14px;color:var(--mut);transition:background .2s,color .2s}
.seg button:hover{color:var(--ink)}
.seg button.on{background:var(--ink);color:var(--bg)}
.seg.lg button{padding:10px 30px;font-size:16px}
.seg.block{display:flex}.seg.block button{flex:1}
.chips,.xchains{display:flex;flex-wrap:wrap;gap:6px}
.chips button,.xchains button{display:inline-flex;align-items:center;gap:7px;padding:7px 14px;border:1px solid var(--line);border-radius:999px;font-weight:600;font-size:13.5px;color:var(--mut);transition:border-color .15s,color .15s,background .15s}
.chips button:hover,.xchains button:hover{border-color:var(--line2);color:var(--ink)}
.chips button.on,.xchains button.on{background:var(--ink);color:var(--bg);border-color:transparent}
.chips.sm{display:inline-flex;gap:4px}.chips.sm button{padding:3px 10px;font-size:12.5px}
.tag{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;background:var(--surface2);font-size:12.5px;font-weight:600;color:var(--ink)}
.tag.b{background:color-mix(in srgb,var(--good) 18%,transparent);color:var(--good)}
.tag.s{background:color-mix(in srgb,var(--bad) 18%,transparent);color:var(--bad)}
.tag.warn{background:color-mix(in srgb,var(--amber) 20%,transparent);color:var(--amber)}
.tagl{font:600 11px var(--f-mono);font-style:normal;color:var(--mut);margin-left:6px}
.pchip{display:inline-flex;align-items:center;gap:6px;padding:3px 11px 3px 4px;border-radius:999px;background:color-mix(in srgb,var(--accent) 16%,transparent);font:700 12px var(--f-mono);color:var(--accent-ink)}
.pchip i{width:16px;height:16px;border-radius:50%;background:var(--accent);display:grid;place-items:center}
.pchip i::after{content:"";width:6px;height:7px;border-radius:3px 3px 1px 1px;background:var(--on-accent)}
.pill{display:inline-block;font:700 12.5px var(--f-mono);font-style:normal;padding:2px 9px;border-radius:999px}
.pill.up{color:var(--good);background:color-mix(in srgb,var(--good) 15%,transparent)}
.pill.dn{color:var(--bad);background:color-mix(in srgb,var(--bad) 15%,transparent)}
.kv{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14.5px}
.kv>span:first-child{color:var(--mut)}
.kv:last-child{border-bottom:0}
.empty{display:grid;justify-items:center;gap:8px;padding:44px 20px;text-align:center;color:var(--mut)}
.empty h3{color:var(--ink);font-size:18px}
.card,.pane{background:color-mix(in srgb,var(--surface) 88%,transparent);border:1px solid var(--line);border-radius:18px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.pad{padding:20px}
.pane h3,.card h3{font-size:16px;margin-bottom:8px}
.spin{width:22px;height:22px;border:3px solid var(--line2);border-top-color:var(--accent);border-radius:50%;display:inline-block;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.warnbox{margin-top:14px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--amber) 50%,transparent);background:color-mix(in srgb,var(--amber) 9%,transparent);border-radius:12px;font-size:13.5px;line-height:1.55}
.warnbox.ok{border-color:color-mix(in srgb,var(--good) 55%,transparent);background:color-mix(in srgb,var(--good) 9%,transparent)}
.warnlist{display:grid;gap:8px}.warnlist .warnbox{margin-top:0}
.noticebar{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:12px;background:var(--surface2);font-size:13.5px}
.noticebar svg{flex:none;margin-top:1px;color:var(--accent)}
.av{width:40px;height:40px;border-radius:50%;background:var(--a1);display:grid;place-items:center;color:#fff;font:700 13px var(--f-mono);overflow:hidden;flex:none;position:relative}
.av.lg{width:76px;height:76px;font-size:24px}
.av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* ---------- tax split bar ---------- */
.sbar{display:flex;gap:3px;height:14px}
.sbar i{display:block;height:100%;border-radius:999px;min-width:4px;transition:flex-grow .35s cubic-bezier(.3,1,.4,1);flex-basis:0}
.sbar.sm{height:6px;gap:2px}
.sbar.lg{height:22px}
.sbar .pl,.sw.pl{background:var(--s-pl)}.sbar .hd,.sw.hd{background:var(--s-hd)}.sbar .bn,.sw.bn{background:var(--s-bn)}.sbar .cr,.sw.cr{background:var(--s-cr)}
.sleg{list-style:none;padding:0;margin:0;display:grid;gap:9px;font-size:14px}
.sleg li{display:grid;grid-template-columns:12px 1fr auto;gap:10px;align-items:center}
.sleg .sw{width:12px;height:12px;border-radius:4px;display:block}
.sleg b{font:700 13px var(--f-mono)}
.sleg small{color:var(--mut)}

/* ---------- sliders ---------- */
.rng{-webkit-appearance:none;appearance:none;width:100%;height:30px;background:transparent;margin:4px 0 0;cursor:pointer;--p:0%;--k:var(--accent)}
.rng::-webkit-slider-runnable-track{height:8px;border-radius:4px;background:linear-gradient(90deg,var(--k) var(--p),var(--line2) var(--p))}
.rng::-moz-range-track{height:8px;border-radius:4px;background:linear-gradient(90deg,var(--k) var(--p),var(--line2) var(--p))}
.rng::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;margin-top:-9px;border-radius:50%;background:var(--k);border:4px solid var(--bg);box-shadow:0 0 0 2px var(--k),0 6px 14px -4px rgba(0,0,0,.5);transition:transform .15s}
.rng::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--k);border:4px solid var(--bg);box-shadow:0 0 0 2px var(--k)}
.rng:active::-webkit-slider-thumb{transform:scale(1.15)}
.rng.hd{--k:var(--s-hd)}.rng.bn{--k:var(--s-bn)}
.ticks{display:flex;justify-content:space-between;font:500 11px var(--f-mono);color:var(--faint);padding:0 4px;margin-top:-2px}
.sl-h{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.sl-h b{font:700 22px var(--f-mono);letter-spacing:-.03em}
.sl-h span{font-size:14px;font-weight:600}
.quick{display:flex;gap:6px;margin-top:4px}.quick button{flex:1;height:32px;border:1px solid var(--line);border-radius:999px;font:600 12.5px var(--f-mono);color:var(--mut)}.quick button:hover{border-color:var(--ink);color:var(--ink)}


/* ---------- official token card ---------- */
.official{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:22px;padding:26px;border-radius:22px;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 12%,var(--surface)),color-mix(in srgb,var(--surface) 90%,transparent) 60%);overflow:hidden}
.official::after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;background:radial-gradient(closest-side,var(--glow1),transparent);pointer-events:none}
.official .av{width:84px;height:84px;font-size:26px}
.official .ph{width:84px;height:84px;border-radius:50%;border:2px dashed var(--line2);display:grid;place-items:center;color:var(--faint);font:700 28px var(--f-body)}
.official h3{font-size:22px;font-weight:700;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.official .verified{display:inline-flex;align-items:center;gap:5px;font:700 11px var(--f-mono);padding:3px 10px;border-radius:999px;background:color-mix(in srgb,var(--good) 18%,transparent);color:var(--good)}
.official .soon{font:700 11px var(--f-mono);padding:3px 10px;border-radius:999px;background:var(--surface2);color:var(--mut)}
.ofl{display:grid;gap:6px;margin-top:14px}
.ofl .oa{display:grid;grid-template-columns:104px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--bg) 40%,transparent)}
.ofl .oa code{font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ofl .oa .btn{height:28px;padding:0 12px;font-size:12px}
.official .acts{margin-top:16px}

/* ---------- coin cards and rows ---------- */
.cgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(262px,1fr));gap:14px}
.coin{position:relative;display:grid;gap:14px;padding:18px;border:1px solid var(--line);border-radius:20px;background:color-mix(in srgb,var(--surface) 88%,transparent);transition:transform .25s cubic-bezier(.3,1,.4,1),border-color .25s,box-shadow .25s}
.coin:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--accent) 60%,var(--line));box-shadow:0 20px 40px -26px rgba(255,154,90,.6)}
.ctop{display:flex;gap:12px;align-items:center}.cn{display:grid;min-width:0}.cn b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:650}.cn small{font:500 12.5px var(--f-mono);color:var(--mut)}
.cmc{display:flex;justify-content:space-between;align-items:center}.cmc b{font:700 20px var(--f-mono);letter-spacing:-.02em}
.cfoot{display:flex;justify-content:space-between;align-items:center;font-size:12.5px;gap:8px}
.rows{border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--surface) 88%,transparent);overflow:hidden}
.rw{display:grid;grid-template-columns:minmax(0,2.2fr) .9fr .9fr 1fr 1fr 1.1fr;gap:12px;align-items:center;padding:12px 18px;border-top:1px solid var(--line)}
.rw.rh{border-top:0;font-size:12.5px;color:var(--mut);font-weight:600;padding-block:10px;background:var(--surface2)}
a.rw:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}
.tk{display:flex;align-items:center;gap:12px;min-width:0}.tk>span:last-child,.tk>div{display:grid;min-width:0}
.tk b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tk small{color:var(--mut);font:500 12.5px var(--f-mono)}
.xtools{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:18px}
.xsearch{position:relative;flex:1 1 240px;max-width:360px}.xsearch svg{position:absolute;left:15px;top:14px;color:var(--mut)}.xsearch .in{padding-left:40px;height:42px;border-radius:999px}
.xtools .chips{flex:1 1 100%}
.crown{position:absolute;top:14px;right:16px;font:700 11px var(--f-mono);color:var(--accent-ink)}

/* ---------- launch builder ---------- */
.bsec>header{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.bsec h2{font-size:18px;font-weight:650}
.bsec header span{font-size:13px;color:var(--mut)}
.coinrow{display:grid;grid-template-columns:132px minmax(0,1fr);gap:20px;align-items:start}
.drop{width:132px;height:132px;border:2px dashed var(--line2);border-radius:50%;background:var(--surface2);display:grid;place-items:center;color:var(--mut);font-size:12.5px;overflow:hidden;transition:border-color .2s,transform .2s}
.drop span{display:grid;justify-items:center;gap:6px;text-align:center}.drop img{width:100%;height:100%;object-fit:cover}
.drop:hover,.drop.over{border-color:var(--accent);color:var(--ink);transform:scale(1.03)}
.idf{display:grid;gap:14px}
.more{border-top:1px solid var(--line);padding-top:14px}.more summary{cursor:pointer;font-weight:600}.mbody{display:grid;gap:14px;margin-top:14px}
.chpick{display:grid;grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:8px}
.chp{position:relative;display:grid;gap:2px;text-align:left;padding:12px 14px 12px 16px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--bg) 40%,transparent);transition:border-color .2s,background .2s,opacity .2s}
.chp::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:3px;background:var(--cc)}
.chp b{display:flex;align-items:center;gap:8px;font-size:14.5px}.chp small{font:500 11.5px var(--f-mono);color:var(--mut)}
.chp .ck{margin-left:auto;width:18px;height:18px;border-radius:50%;border:1.5px solid var(--line2);display:grid;place-items:center;color:var(--on-accent)}
.chp.on{border-color:var(--cc);background:color-mix(in srgb,var(--cc) 9%,transparent)}
.chp.on .ck{background:var(--accent);border-color:var(--accent)}
.chp.dim{opacity:.45;cursor:not-allowed}
.taxbox{display:grid;gap:22px}
.taxhead{display:grid;grid-template-columns:auto minmax(0,1fr);gap:22px;align-items:center}
.taxbig{display:grid;gap:2px;justify-items:start}
.taxbig b{font:700 clamp(40px,6vw,60px)/1 var(--f-disp);letter-spacing:-.005em}.taxbig small{color:var(--mut);font-size:13px}
.splitrow{display:grid;gap:8px;padding:16px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--bg) 35%,transparent)}
.evmonly{display:inline-flex;align-items:center;gap:6px;font:600 11px var(--f-mono);padding:2px 9px;border-radius:999px;background:var(--surface2);color:var(--mut)}
.payrow{display:flex;flex-wrap:wrap;gap:8px}
.payb{display:grid;grid-template-columns:auto 1fr;gap:0 8px;align-items:center;padding:9px 14px;border:1px solid var(--line);border-radius:999px;text-align:left}
.payb small{grid-column:2;font:500 12px var(--f-mono);color:var(--mut)}.payb .cdot{grid-row:span 2}
.payb.on{border-color:var(--cc);box-shadow:inset 0 0 0 1px var(--cc)}
.receipt{border-top:1px solid var(--line)}

/* ---------- launch status ---------- */
.lstat{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start}
.lhead h1{font-size:clamp(28px,4.4vw,46px);margin:14px 0 12px;letter-spacing:-.005em}.lhead p{max-width:44ch}
.acts{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.journey{list-style:none;padding:12px 22px;margin:0;border:1px solid var(--line);border-radius:22px;background:color-mix(in srgb,var(--surface) 88%,transparent)}
.jst{position:relative;display:flex;align-items:center;gap:14px;padding:14px 0}
.jst i{width:30px;height:30px;border-radius:50%;border:2px solid var(--line2);background:var(--bg);display:grid;place-items:center;flex:none;z-index:1}
.jst:not(:last-child)::after{content:"";position:absolute;left:14px;top:46px;bottom:-14px;border-left:2px dashed var(--line2)}
.jst.done i{background:var(--good);border-color:var(--good);color:var(--bg)}
.jst.done:not(:last-child)::after{border-left-style:solid;border-left-color:var(--good)}
.jst.run i{border-color:var(--accent)}
.jst .spin{width:14px;height:14px;border-width:2.5px}
.jst>div{display:grid;flex:1;min-width:0}.jst b{display:flex;align-items:center;gap:6px}.jst>div>span{font-size:13.5px}
.jst .addr{margin-left:auto;border:1px solid var(--line);border-radius:999px;padding:3px 10px}

/* ---------- coin page ---------- */
.cph{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:16px 18px;max-width:100%}
.cph .l{display:block;font-size:13px;color:var(--mut)}.cph b#mcapbig{font:700 28px var(--f-mono);letter-spacing:-.03em}
.cph .seg{max-width:100%;overflow-x:auto}
.cbody{position:relative;padding:0 10px}.cbody svg{width:100%;height:auto;display:block}
.ptip{position:absolute;pointer-events:none;background:var(--ink);color:var(--bg);font:600 12px var(--f-mono);padding:5px 9px;border-radius:7px;white-space:nowrap;transform:translateY(-100%)}
.ribbon{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line)}
.ribbon div{padding:13px 18px;display:grid;gap:1px;border-right:1px solid var(--line)}.ribbon div:last-child{border-right:0}
.ribbon b{font-size:15px}.ribbon span{font-size:12.5px;color:var(--mut)}
.tabs{display:flex;border-bottom:1px solid var(--line)}
.tabs button{padding:14px 20px;font-weight:600;color:var(--mut);border-bottom:2px solid transparent;margin-bottom:-1px}
.tabs button.on{color:var(--ink);border-color:var(--accent)}
.tw{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:14px}
th{text-align:left;font-size:12.5px;color:var(--mut);font-weight:600;padding:11px 16px;white-space:nowrap}
td{padding:11px 16px;border-top:1px solid var(--line);white-space:nowrap}
th.r,td.r{text-align:right}
.ticket{display:grid;gap:14px}
.taxcard{display:grid;gap:14px}
.holdbox,.burnbox{border:1px solid var(--line);border-radius:18px;padding:20px;display:grid;gap:12px;background:color-mix(in srgb,var(--surface) 88%,transparent)}
.holdbox{border-color:color-mix(in srgb,var(--s-hd) 45%,var(--line))}
.burnbox{border-color:color-mix(in srgb,var(--s-bn) 45%,var(--line))}
.holdbox h3,.burnbox h3{display:flex;align-items:center;gap:8px;font-size:16px;margin:0}
.holdbox h3 svg{color:var(--s-hd)}.burnbox h3 svg{color:var(--s-bn)}
.holdbox p,.burnbox p{color:var(--mut);font-size:14px}
.big{display:grid;padding:14px;border-radius:14px;background:var(--bg)}.big small{color:var(--mut);font-size:12.5px}.big b{font:700 24px var(--f-mono);letter-spacing:-.03em}
.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.two div{display:grid}.two b{font:700 15px var(--f-mono)}.two small{font-size:12px;color:var(--mut)}
.cd{font-size:13px;color:var(--mut);text-align:center}

/* ---------- bridge ---------- */
.rec{margin-top:14px}
.track{list-style:none;padding:0;margin:0;display:grid;gap:0}
.track li{position:relative;display:grid;grid-template-columns:30px 1fr;gap:12px;padding:10px 0}
.track li:not(:last-child)::after{content:"";position:absolute;left:14px;top:40px;bottom:-10px;border-left:2px dashed var(--line2)}
.track i{width:30px;height:30px;border-radius:50%;border:2px solid var(--line2);background:var(--bg);display:grid;place-items:center}
.track li.done i{background:var(--good);border-color:var(--good);color:var(--bg)}
.track li.run i{border-color:var(--accent)}
.track .spin{width:14px;height:14px;border-width:2.5px}
.track b{display:block}.track span{font-size:13px;color:var(--mut)}

/* ---------- rewards ---------- */
.rsum{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:28px}
.rbox{padding:20px;border:1px solid var(--line);border-radius:20px;background:color-mix(in srgb,var(--surface) 88%,transparent);display:grid;gap:4px}
.rbox small{color:var(--mut);font-size:13px}.rbox b{font:700 26px var(--f-mono);letter-spacing:-.03em}
.rbox.hot{border-color:color-mix(in srgb,var(--accent) 55%,var(--line))}
.blk{margin-bottom:34px}.bh{margin-bottom:14px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.bh h2{font-size:20px;font-weight:650}
.earn{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px}
.ecard{border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--surface) 88%,transparent);padding:6px 18px 8px}
.ecard header{display:flex;justify-content:space-between;align-items:center;padding:12px 0}
.etot{text-align:right}.etot b{font:700 18px var(--f-mono)}.etot small{display:block;color:var(--mut);font-size:12px}
.eline{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}
.eline .en{display:grid;gap:1px}
.hist{display:grid;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--surface) 88%,transparent);overflow:hidden}
.hrow2{display:flex;align-items:center;gap:12px;padding:13px 18px;border-top:1px solid var(--line);flex-wrap:wrap}.hrow2:first-child{border-top:0}.hrow2 .sp{margin-left:auto}.hrow2:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}
.gatebox{display:grid;justify-items:center;gap:16px;text-align:center;padding:60px 20px;max-width:520px;margin:0 auto}
.gatebox p{color:var(--mut)}

/* ---------- docs ---------- */
.callout{padding:14px 16px;border-left:3px solid var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent);border-radius:0 12px 12px 0;color:var(--ink)!important;font-size:14.5px}
.dtable{border:1px solid var(--line);border-radius:14px;overflow:auto;background:color-mix(in srgb,var(--surface) 88%,transparent)}
.dtable table{min-width:480px}
.dfig{padding:20px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--surface) 88%,transparent);display:grid;gap:14px}
.dfig figcaption{font-size:13px;color:var(--mut)}

/* ---------- overlays ---------- */
.toast{position:fixed;left:50%;bottom:90px;transform:translate(-50%,20px);background:var(--ink);color:var(--bg);padding:11px 18px;border-radius:999px;font-weight:600;font-size:14px;opacity:0;pointer-events:none;transition:.25s;z-index:80;max-width:90vw}
.toast.show{opacity:1;transform:translate(-50%,0)}
.modal{position:fixed;inset:0;background:rgba(4,6,20,.66);backdrop-filter:blur(4px);display:grid;place-items:center;z-index:70;padding:16px}
.mbox{background:var(--surface);border:1px solid var(--line2);border-radius:22px;padding:24px;max-width:460px;width:100%}
.find{position:fixed;inset:0;background:rgba(4,6,20,.66);backdrop-filter:blur(4px);display:none;justify-content:center;align-items:flex-start;padding:12vh 16px;z-index:70}
.find.open{display:flex}
.find .box{width:100%;max-width:560px;background:var(--surface);border:1px solid var(--line2);border-radius:20px;overflow:hidden}
.find input{width:100%;height:56px;padding:0 20px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);font:inherit;font-size:17px;outline:none}
.find .res{max-height:50vh;overflow:auto;padding:6px}
.find .res a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px}.find .res a.cur,.find .res a:hover{background:var(--surface2)}
.find .res .av{width:34px;height:34px}



/* =====================================================================
   Layout v3. A left rail instead of a top bar, and every page has its own shape.
   ===================================================================== */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- shell: a top bar (brand, pages, tools) over the stage ---------- */
.shell{position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column}
.side{position:sticky;top:0;z-index:30;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:24px;height:68px;padding:0 32px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 80%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.brand{display:flex;align-items:center;gap:10px;font:italic 400 31px/1 var(--f-disp);letter-spacing:-.01em}
.brand svg{border-radius:9px;transition:transform .6s cubic-bezier(.3,1.4,.5,1)}
.brand:hover svg{transform:translateY(-3px) rotate(-6deg)}
.dock{position:relative;justify-self:center;display:flex;gap:2px}
.dock-ind{display:none}
.stop{position:relative;display:flex;align-items:center;gap:8px;padding:9px 15px 13px;font-weight:500;font-size:15px;color:var(--mut);transition:color .2s}
.stop svg{display:none}
.stop:hover{color:var(--ink)}
.stop.on{color:var(--ink)}
.stop.on::after{content:"";position:absolute;left:50%;bottom:4px;width:4px;height:4px;margin-left:-7px;border-radius:50%;background:var(--accent);box-shadow:10px 0 0 var(--accent),0 0 10px var(--accent);animation:blink 6s infinite}
@keyframes blink{0%,92%,100%{transform:scaleY(1)}95%{transform:scaleY(.1)}}
.tools{display:flex;align-items:center;gap:8px}
.findbtn{display:flex;align-items:center;gap:9px;height:40px;padding:0 14px;border:1px solid var(--line);border-radius:999px;color:var(--mut);font-size:14px}
.findbtn:hover{border-color:var(--line2);color:var(--ink)}
.findbtn kbd{font-size:11px;border:1px solid var(--line);border-radius:5px;padding:0 6px}
.ib{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:var(--mut)}
.ib:hover{color:var(--ink);border-color:var(--line2)}
.wbtn{height:40px;padding:0 20px;border-radius:999px;background:var(--accent);color:var(--on-accent);font-weight:600;font-size:14.5px;transition:transform .15s,background .2s}
.wbtn:hover{transform:translateY(-1px);background:var(--accent2)}
.wbtn.on{background:transparent;color:var(--ink);border:1px solid var(--line2);font-family:var(--f-mono);font-size:13px}
.stage{min-width:0;display:flex;flex-direction:column;flex:1}
.page{width:100%;max-width:1120px;margin:0 auto;padding:30px 32px 90px;flex:1;outline:none}
.foot{position:relative;z-index:1;padding:34px 32px 44px;border-top:1px solid var(--line);display:grid;gap:12px;max-width:1120px;width:100%;margin:0 auto}
.fsay{font:italic 400 22px/1.2 var(--f-disp)}
.fline{display:flex;gap:18px;flex-wrap:wrap;font-size:14px;color:var(--mut)}.fline a:hover{color:var(--ink)}
.pt{font-size:clamp(38px,5.4vw,72px);font-weight:400;letter-spacing:-.015em;font-style:italic}

/* ---------- home ---------- */
.tape{margin:-30px calc(50% - 50vw) 34px;width:100vw;height:42px;border-bottom:1px solid var(--line);overflow:hidden;white-space:nowrap;background:color-mix(in srgb,var(--surface) 55%,transparent)}
.tape-in{display:inline-flex;animation:tape 46s linear infinite;will-change:transform}
.tape:hover .tape-in{animation-play-state:paused}
@keyframes tape{to{transform:translateX(-50%)}}
.tape a{display:inline-flex;align-items:center;gap:10px;height:42px;padding:0 24px;border-right:1px solid var(--line);font:600 13px var(--f-mono)}
.tape a b{color:var(--ink)}.tape a small{color:var(--faint);font-size:12px}
.tape a:hover{background:color-mix(in srgb,var(--accent) 12%,transparent)}
.h-top{padding:18px 0 88px}
.h-big{font-size:clamp(36px,5.6vw,88px);line-height:1.03;font-weight:700;letter-spacing:-.005em;max-width:15em}
.h-big em{font-style:normal;color:var(--accent)}
.nmw{display:inline-block;vertical-align:baseline;max-width:100%}
.nm{font:inherit;letter-spacing:inherit;color:var(--accent);background:transparent;border:0;border-bottom:.07em dashed color-mix(in srgb,var(--accent) 55%,transparent);border-radius:0;padding:0;margin:0;min-width:3ch;max-width:100%;outline:0;caret-color:var(--accent)}
.nm::placeholder{color:color-mix(in srgb,var(--accent) 38%,transparent)}
.nm:focus{border-bottom-style:solid}
.h-sub{display:grid;grid-template-columns:minmax(0,46ch) auto;gap:22px 56px;align-items:end;margin-top:38px}
.h-sub p{font-size:19px;color:var(--mut);line-height:1.55}
.h-cta{display:flex;gap:10px;flex-wrap:wrap}
#namer .hint{margin-top:14px}
.h-facts{list-style:none;margin:72px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line2)}
.h-facts li{display:grid;gap:6px;align-content:start;padding:22px 26px 0 0}
.h-facts li+li{padding-left:26px;border-left:1px solid var(--line)}
.h-facts svg{color:var(--accent);margin-bottom:6px}
.h-facts b{font:650 17px var(--f-disp);letter-spacing:-.005em}
.h-facts span{color:var(--mut);font-size:14.5px}
.h-sec{padding-bottom:92px}
.h-sh{margin-bottom:30px}
.h-sh h2{font-size:clamp(26px,3.6vw,46px);font-weight:700;letter-spacing:-.005em;max-width:19ch}
.h-sh p{color:var(--mut);max-width:56ch;margin-top:14px;font-size:16.5px}
.h-sh.row{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}
.chainrun{list-style:none;margin:0;padding:6px 0 10px;display:flex;gap:30px;overflow-x:auto;scrollbar-width:thin}
.cb{position:relative;flex:1 0 136px;display:grid;gap:14px;align-content:space-between;min-height:150px;padding:18px 16px 16px;border:1px solid var(--line);border-top:3px solid var(--cc);border-radius:10px;background:color-mix(in srgb,var(--surface) 90%,transparent);transition:transform .25s cubic-bezier(.3,1,.4,1),border-color .25s}
.cb:hover{transform:translateY(-5px)}
.cb:not(:last-child)::after{content:"";position:absolute;left:100%;top:50%;width:30px;height:2px;background:repeating-linear-gradient(90deg,var(--accent) 0 5px,transparent 5px 10px);opacity:.55;animation:link 1.2s linear infinite}
@keyframes link{to{background-position:10px 0}}
.cb b{display:flex;align-items:center;gap:8px;font:650 16px var(--f-disp);letter-spacing:-.005em}
.cb-t{font:700 12px var(--f-mono);color:var(--accent-ink);margin-top:-6px}
.cb small{color:var(--mut);font-size:12.5px;line-height:1.45}
.cb.off{opacity:.5}
.xbar{display:flex;gap:5px;height:132px}
.xbar>div{display:flex;flex-direction:column;justify-content:space-between;min-width:0;padding:16px 18px;border-radius:12px;color:#14100A}
.xbar b{font:700 clamp(22px,3.2vw,40px) var(--f-disp);letter-spacing:-.005em}
.xbar span{font-weight:650;font-size:14px}
.xbar .pl{background:var(--s-pl)}.xbar .hd{background:var(--s-hd)}.xbar .bn{background:var(--s-bn)}.xbar .cr{background:var(--s-cr)}
.xnote{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:18px}
.xnote p{color:var(--mut);font-size:14.5px;line-height:1.6;padding-top:12px;border-top:1px solid var(--line2)}
.xnote b{color:var(--ink)}
.flow{list-style:none;margin:0;padding:0;border-bottom:1px solid var(--line)}
.flow li{display:grid;grid-template-columns:110px minmax(0,.9fr) minmax(0,1.1fr);gap:8px 28px;align-items:center;padding:30px 0;border-top:1px solid var(--line)}
.flow i{font:700 68px/1 var(--f-disp);font-style:normal;color:transparent;-webkit-text-stroke:1.5px var(--accent);letter-spacing:-.005em}
.flow h3{font-size:clamp(20px,2.4vw,28px);letter-spacing:-.005em}
.flow p{color:var(--mut);font-size:16px}
.official{background:linear-gradient(120deg,color-mix(in srgb,var(--accent) 22%,var(--surface)),color-mix(in srgb,var(--surface) 94%,transparent) 72%);border-color:color-mix(in srgb,var(--accent) 50%,var(--line))}

/* ---------- explore ---------- */
.x-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px 28px;flex-wrap:wrap;margin-bottom:20px}
.x-head .mut{margin-top:6px}
.xtools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0}
.xsearch{position:relative;flex:1 1 220px;min-width:200px}.xsearch svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--faint)}.xsearch .in{padding-left:40px;border-radius:999px;height:42px}
.xchains{margin:0 0 20px}

/* ---------- coin page: dossier on the left, the market on the right ---------- */
.dos{display:grid;grid-template-columns:372px minmax(0,1fr);gap:30px;align-items:start}
.dos-l{position:sticky;top:20px;display:grid;gap:14px;min-width:0}
.dos-r{display:grid;gap:16px;min-width:0}
.thead{display:grid;gap:14px;justify-items:start}
.tid{min-width:0}.tid h1{font-size:clamp(26px,2.8vw,36px);letter-spacing:-.045em;line-height:1.05}
.tid h1 small{display:block;margin-top:6px;font:600 15px var(--f-mono);color:var(--mut);letter-spacing:0}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.tdesc{margin-top:12px;color:var(--mut);font-size:14.5px;max-width:52ch}
.px{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;padding:16px 0;border-block:1px solid var(--line2)}
.px small{width:100%;color:var(--mut);font-size:12.5px}
.px b{font:700 clamp(28px,3vw,38px) var(--f-mono);letter-spacing:-.04em}
.px span{font:700 13px var(--f-mono)}
.strip{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 6px;scrollbar-width:thin}
.st{flex:0 0 auto;min-width:150px;display:grid;grid-template-columns:auto 1fr auto;gap:1px 9px;align-items:center;text-align:left;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--surface) 80%,transparent);transition:border-color .2s}
.st:hover{border-color:var(--line2)}
.st b{font-size:14.5px}.st .cdot{grid-row:span 2}
.st span{grid-column:2/4;grid-row:2;font:500 12px var(--f-mono);color:var(--mut)}
.st em{grid-column:3;grid-row:1;font:700 12px var(--f-mono);font-style:normal}
.st.on{border-color:var(--cc);box-shadow:inset 0 -3px 0 var(--cc)}
.trio{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
.trio .taxcard{grid-column:1/-1}

/* ---------- bridge: a route map ---------- */
.br-head{margin-bottom:22px;max-width:64ch}.br-head p{margin-top:12px;color:var(--mut);font-size:16px}
.rmap{padding:18px 22px 24px;border:1px solid var(--line);border-radius:26px;background:radial-gradient(60% 70% at 50% 50%,var(--glow1),transparent 70%),color-mix(in srgb,var(--surface) 80%,transparent)}
.rmap-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.rmap-hint{font-weight:600;font-size:14.5px;color:var(--mut);display:flex;align-items:center;gap:10px}
.rmap-hint b{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--accent);color:var(--on-accent);font:700 12px var(--f-mono)}
.rsel{width:auto;max-width:100%;height:40px;font-size:14px;border-radius:999px}
.rmap-stage{position:relative;height:clamp(380px,42vw,500px);margin-top:4px}
.rsvg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.rsvg .rr,.rsvg .rr2{fill:none;stroke:var(--line2);stroke-width:1;stroke-dasharray:2 6;vector-effect:non-scaling-stroke}
.rsvg .rr2{opacity:.55}
.rl-bg{fill:none;stroke:var(--line2);stroke-width:3;vector-effect:non-scaling-stroke}
.rl{fill:none;stroke:var(--accent);stroke-width:3;stroke-linecap:round;stroke-dasharray:6 9;vector-effect:non-scaling-stroke;animation:dash 1.1s linear infinite}
.rl.fly{animation-duration:.35s;stroke-width:4}
@keyframes dash{to{stroke-dashoffset:-15}}
.rcore{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;gap:2px;text-align:center;pointer-events:none}
.rcore b{font:700 clamp(30px,5vw,56px)/1 var(--f-disp);letter-spacing:-.005em;color:var(--accent)}
.rcore small{color:var(--mut);font-size:13px}
.rn{position:absolute;transform:translate(-50%,-50%);display:grid;grid-template-columns:auto auto;gap:1px 8px;align-items:center;justify-content:center;min-width:128px;padding:11px 16px;border:1px solid var(--line2);border-radius:16px;background:var(--surface);transition:border-color .2s,box-shadow .2s,scale .2s}
.rn .cdot{grid-row:span 2}
.rn b{font:650 15px var(--f-disp);letter-spacing:-.005em;text-align:left}
.rn small{grid-column:1/-1;font:500 11.5px var(--f-mono);color:var(--mut);text-align:center}
.rn em{grid-column:1/-1;font:700 11px var(--f-mono);font-style:normal;color:var(--accent-ink);text-align:center}
.rn:hover:not(:disabled){border-color:var(--cc);scale:1.05}
.rn.from,.rn.to{border-color:var(--cc);box-shadow:0 0 0 4px color-mix(in srgb,var(--cc) 24%,transparent)}
.rn:disabled{opacity:.3}
.rpass{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px;align-items:start}
.rp-amt{padding:24px;border:1px solid var(--line);border-radius:22px;background:color-mix(in srgb,var(--surface) 88%,transparent)}
.rp-sum{margin-top:0}
.amtbox.ro .in{color:var(--mut)}
.rrec{margin-top:30px}.rrec h3{font-size:18px;margin-bottom:12px}
.rrec #recent{border:1px solid var(--line);border-radius:16px;padding:4px 18px;background:color-mix(in srgb,var(--surface) 88%,transparent)}

/* ---------- docs: a manual ---------- */
.d-head{max-width:62ch;margin-bottom:24px}.d-head p{margin-top:12px;color:var(--mut);font-size:17px}
.dstrip{position:sticky;top:0;z-index:20;display:flex;gap:6px;overflow-x:auto;padding:12px 0;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.dstrip a{flex:none;padding:8px 18px;border-radius:999px;border:1px solid var(--line);font-weight:600;font-size:14px;color:var(--mut);white-space:nowrap}
.dstrip a:hover{color:var(--ink);border-color:var(--line2)}
.dstrip a.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.chap{padding-top:56px;scroll-margin-top:64px}
.chap-h{display:flex;align-items:baseline;gap:20px;padding-bottom:20px;border-bottom:2px solid var(--ink)}
.chap-h i{font:700 clamp(18px,2vw,24px) var(--f-mono);font-style:normal;color:var(--accent-ink)}
.chap-h h2{font-size:clamp(32px,5.4vw,68px);letter-spacing:-.005em}
.drow{display:grid;grid-template-columns:minmax(0,250px) minmax(0,1fr);gap:16px 56px;padding:32px 0;border-bottom:1px solid var(--line);scroll-margin-top:70px}
.drow>h3{position:sticky;top:76px;align-self:start;font-size:19px;letter-spacing:-.005em}
.dbody{display:grid;gap:14px;max-width:70ch;min-width:0}
.drow.wide .dbody{max-width:none}
.dbody p,.dbody li{color:var(--mut);line-height:1.7}
.dbody b{color:var(--ink)}
.dbody ul,.dbody ol{margin:0;padding-left:20px;display:grid;gap:8px}
.dbody details{border-top:1px solid var(--line);padding:13px 0}.dbody details:first-child{border-top:0}
.dbody summary{cursor:pointer;font-weight:650;color:var(--ink)}
.dbody details p{margin-top:8px}
.callout{padding:14px 16px;border-left:3px solid var(--accent);background:color-mix(in srgb,var(--accent) 9%,transparent);border-radius:0 12px 12px 0;color:var(--ink)}
.dbody li .cchip{vertical-align:middle}

/* ---------- launch: a four step wizard under a boarding pass ---------- */
.l-head{margin-bottom:18px}.l-head p{margin-top:10px;color:var(--mut);font-size:16px}
.pass{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.3fr) auto;gap:0 32px;align-items:center;padding:18px 26px;border:1px solid var(--line2);border-radius:20px;background:linear-gradient(110deg,color-mix(in srgb,var(--accent) 11%,var(--surface)),color-mix(in srgb,var(--surface) 92%,transparent) 62%);margin-bottom:22px}
.pass-top{display:flex;align-items:center;gap:14px;min-width:0}
.pass-top .av.lg{width:58px;height:58px;font-size:19px}
.pass-n{display:grid;min-width:0;flex:1}.pass-n b{font:650 19px var(--f-disp);letter-spacing:-.005em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pass-n small{font:600 13px var(--f-mono);color:var(--mut)}
.pass-mid{display:grid;gap:8px;min-width:0}
.pass-mid .sleg{display:none}
.pass-tax{display:flex;align-items:baseline;gap:12px}.pass-tax b{font:700 28px var(--f-disp);letter-spacing:-.005em;order:2}
.pass-roads{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:3px 12px;font-size:12.5px;font-weight:600}
.pass-roads li{display:inline-flex;gap:5px;align-items:center}
.pass-roads em{font:600 10px var(--f-mono);font-style:normal;color:var(--accent-ink)}
.pass-foot{display:flex;gap:24px}
.pass-foot small{display:block;color:var(--mut);font-size:12px}.pass-foot b{font:700 15px var(--f-mono)}
.wiz{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:22px;border-bottom:1px solid var(--line)}
.wiz button{display:flex;align-items:center;gap:11px;padding:14px 4px;text-align:left;color:var(--mut);font-weight:600;border-bottom:3px solid transparent;margin-bottom:-1px;transition:color .2s}
.wiz button:hover{color:var(--ink)}
.wiz i{flex:none;width:28px;height:28px;border-radius:50%;border:1.5px solid var(--line2);display:grid;place-items:center;font:700 12.5px var(--f-mono);font-style:normal}
.wiz button.on{color:var(--ink);border-bottom-color:var(--accent)}
.wiz button.on i{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.wiz button.done i{border-color:var(--accent);color:var(--accent-ink)}
.build{max-width:880px}
.bcol{display:grid;gap:16px;min-width:0}
.bsec{display:none;padding:28px;border:1px solid var(--line);border-radius:22px;background:color-mix(in srgb,var(--surface) 88%,transparent)}
.build[data-step="0"] #s-coin,.build[data-step="1"] #s-chains,.build[data-step="2"] #s-tax,.build[data-step="3"] #s-review{display:block}
.wnav{display:flex;justify-content:space-between;gap:12px;margin-top:16px}

/* ---------- responsive ---------- */
@media (max-width:1180px){
  .dos{grid-template-columns:minmax(0,1fr)}.dos-l{position:static}
  .xnote{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rpass{grid-template-columns:minmax(0,1fr)}
  .pass{grid-template-columns:minmax(0,1fr) auto;row-gap:14px}.pass-mid{grid-column:1/-1;order:3}
}
@media (max-width:900px){
  .shell{padding-bottom:84px}
  .side{height:58px;gap:8px;padding:0 14px;grid-template-columns:auto 1fr auto;backdrop-filter:none;-webkit-backdrop-filter:none;background:color-mix(in srgb,var(--bg) 95%,transparent)}
  .brand{font-size:27px}.brand svg{width:30px;height:30px}
  .tools{grid-column:3;gap:6px}.findbtn{width:40px;padding:0;justify-content:center}.findbtn span,.findbtn kbd{display:none}.tools a.ib{display:none}
  .wbtn{padding:0 15px}
  .dock{position:fixed;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom,0px));z-index:40;justify-self:stretch;justify-content:space-between;margin:0;padding:5px;border:1px solid var(--line2);border-radius:999px;background:var(--glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow)}
  .dock-ind{display:block;position:absolute;left:0;top:5px;bottom:5px;height:auto;border-radius:999px;background:var(--accent);transition:transform .45s cubic-bezier(.4,1.2,.4,1),width .45s cubic-bezier(.4,1.2,.4,1),opacity .2s;pointer-events:none}
  .stop{position:relative;z-index:1;flex:1;flex-direction:column;justify-content:center;gap:2px;padding:7px 0 6px;font-size:10.5px;border-radius:999px}
  .stop svg{display:block}.stop.on::after{display:none}
  .stop.on,.stop.on svg{color:var(--on-accent)}
  .page{padding:24px 16px 56px}.foot{padding-inline:16px}
  .tape{margin:-24px calc(50% - 50vw) 26px}
  .h-top{padding-bottom:56px}
  .h-sub{grid-template-columns:minmax(0,1fr)}.h-sub p{font-size:17px}
  .h-facts{grid-template-columns:minmax(0,1fr);margin-top:44px}.h-facts li,.h-facts li+li{padding:18px 0;border-left:0;border-bottom:1px solid var(--line)}
  .h-sec{padding-bottom:64px}
  .chainrun{gap:24px;padding-inline:2px}.cb{flex-basis:132px}
  .xbar{height:104px}.xbar>div{padding:12px}
  .xnote{grid-template-columns:minmax(0,1fr)}
  .flow li{grid-template-columns:64px minmax(0,1fr);gap:6px 14px}.flow i{font-size:44px;grid-row:span 2}.flow p{grid-column:2}
  .rw{grid-template-columns:minmax(0,2fr) .8fr 1fr}.hide-s{display:none}
  .trio{grid-template-columns:minmax(0,1fr)}
  .ribbon{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rmap{padding:14px 10px 16px;border-radius:20px}.rmap-stage{height:420px}
  .rn{min-width:0;padding:8px 10px;border-radius:12px}.rn b{font-size:12.5px}.rn small{font-size:10px}.rn em{font-size:10px}
  .drow{grid-template-columns:minmax(0,1fr);gap:12px;padding:26px 0}.drow>h3{position:static}
  .dstrip{top:58px}
  .pass{padding:16px;grid-template-columns:minmax(0,1fr)}.pass-foot{gap:18px}
  .wiz span{display:none}.wiz button.on span{display:inline}.wiz{grid-template-columns:repeat(4,auto);justify-content:space-between}
  .bsec{padding:20px}
  .coinrow{grid-template-columns:minmax(0,1fr)}.drop{width:112px;height:112px}
  .taxhead{grid-template-columns:minmax(0,1fr)}.g3{grid-template-columns:minmax(0,1fr)}
  .official{grid-template-columns:minmax(0,1fr)}
  .ofl .oa{grid-template-columns:minmax(0,1fr) auto}.ofl .oa .chip-n{grid-column:1/-1}
  .ca-a{flex:1 1 100%;order:3;font-size:12px}.ca-l{flex:1 1 100%}
  .toast{bottom:92px}
  .lstat{grid-template-columns:minmax(0,1fr);gap:28px}
  .x-head{align-items:flex-start}
}
@media (max-width:420px){.brand span{font-size:24px}.wbtn{padding:0 12px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
[hidden]{display:none!important}
.shell{min-width:0;max-width:100%}main#app{min-width:0}
.phead{margin-bottom:26px;max-width:72ch}.phead p{margin-top:12px;color:var(--mut);font-size:16px;max-width:62ch}
.nmw{font:inherit;color:inherit;letter-spacing:inherit}
.dos-l,.dos-r{grid-template-columns:minmax(0,1fr)}
.dos-l>*,.dos-r>*{min-width:0}
.ca-a{overflow-wrap:anywhere;word-break:break-all}
.amtbox{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:3px 12px 3px 3px;border:1px solid var(--line);border-radius:16px;background:var(--bg)}
.amtbox:focus-within{border-color:var(--accent)}
.amtbox .in{height:56px;font-size:24px;font-weight:600;border:0;background:transparent}
.amtbox .in:focus{outline:0}
.amtbox .btn{height:30px}
.rp-sum{padding:24px;border:1px solid var(--line);border-radius:22px;background:color-mix(in srgb,var(--surface) 88%,transparent)}
.rp-amt .lbl{display:block;margin-bottom:8px}
.bsec>header{margin-bottom:20px}

/* explore race */
.xleg{margin:0 0 14px}
.race{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.rc{display:grid;grid-template-columns:34px minmax(150px,230px) minmax(0,1fr) 84px 96px;gap:16px;align-items:center;padding:13px 6px;border-bottom:1px solid var(--line);transition:background .2s}
.rc:hover{background:color-mix(in srgb,var(--accent) 7%,transparent)}
.rk{font:700 13px var(--f-mono);color:var(--faint);text-align:right}
.rt{display:flex;align-items:center;gap:12px;min-width:0}.rt>span:last-child{display:grid;min-width:0}
.rt b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rt small{color:var(--mut);font-family:var(--f-mono);font-size:12.5px}
.rb{position:relative;display:flex;align-items:center;height:34px;min-width:0}
.rb i{display:block;height:100%;border-radius:8px;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 30%,transparent),var(--accent));transform-origin:left;animation:grow .8s cubic-bezier(.2,.8,.2,1) both}
.rb em{position:absolute;left:12px;font:700 13px var(--f-mono);font-style:normal;color:var(--ink);mix-blend-mode:normal;text-shadow:0 0 6px var(--bg),0 0 2px var(--bg)}
@keyframes grow{from{transform:scaleX(0)}}
.rp{text-align:right}
.rd{display:flex;justify-content:flex-end}
@media (max-width:900px){
  .rc{grid-template-columns:24px minmax(0,1fr) auto;gap:8px 12px;padding:14px 2px}
  .rb{grid-column:2/-1;grid-row:2}.rd{display:none}
  .rp{grid-column:3;grid-row:1}.rt{grid-column:2;grid-row:1}.rk{grid-row:1}
}

/* coin page: identity, chains and address on top, then trade + market */
.dtop{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px 30px;align-items:end;margin-bottom:20px}
.thead{display:flex;align-items:center;gap:18px;justify-items:unset}
.thead .tid{flex:1}
.dtop .px{border:0;padding:0;justify-content:flex-end;text-align:right}
.dtop .px small{text-align:right}
.strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;overflow:visible;padding:0}
.cabar{display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap;margin:12px 0 26px;padding:12px 16px;border:1px dashed var(--line2);border-radius:14px;background:color-mix(in srgb,var(--surface) 70%,transparent)}
.cabar .ca-l{font-size:13px;font-weight:600;color:var(--mut);white-space:nowrap}
.cabar .ca-a{flex:1 1 280px;min-width:0;font-size:12.5px;color:var(--ink)}
@media (max-width:900px){
  .dtop{grid-template-columns:minmax(0,1fr);gap:12px}
  .dtop .px,.dtop .px small{justify-content:flex-start;text-align:left}
  .thead{align-items:flex-start}
  .strip{display:flex;overflow-x:auto;padding:2px 2px 6px}
  .cabar{margin-bottom:20px}.cabar .ca-a{flex:1 1 100%;order:3}
}

/* =====================================================================
   Wraith layer: serif voice, ghost hero, softer shapes. Last in the file on purpose.
   ===================================================================== */
h1,h2,h3{font-size-adjust:none}
.h-top{position:relative;padding:34px 0 96px}
.h-big{font:italic 400 clamp(46px,7.4vw,112px)/.96 var(--f-disp);letter-spacing:-.02em;max-width:11.5em;position:relative;z-index:1}
.h-big em{font-style:italic;color:var(--accent)}
.nm{color:var(--accent);border-bottom:.05em dashed color-mix(in srgb,var(--accent) 60%,transparent)}
.h-sub{position:relative;z-index:1}
.h-sub p{font-size:18.5px;max-width:42ch}
.ghost{position:absolute;right:-10px;top:-6px;width:min(36vw,380px);aspect-ratio:1;z-index:0;pointer-events:none;animation:float 7s ease-in-out infinite;filter:drop-shadow(0 30px 60px rgba(var(--fx-acc),.18))}
.ghost svg{width:100%;height:100%;overflow:visible}
.ghost .eye{transition:transform .12s ease-out}
@keyframes float{50%{transform:translateY(-14px)}}
.h-sh h2{font:italic 400 clamp(36px,4.8vw,64px)/1 var(--f-disp);letter-spacing:-.015em;max-width:18ch}
.h-sh p{font-size:17px}
.h-facts b{font:italic 400 24px/1.1 var(--f-disp)}
.h-facts{border-top:1px solid var(--line)}
.h-facts svg{color:var(--accent)}
.cb b{font:italic 400 22px/1 var(--f-disp)}
.cb{border-radius:18px 18px 10px 10px;border-top-width:2px}
.xbar b{font:italic 400 clamp(30px,4vw,54px)/1 var(--f-disp)}
.xbar>div{color:#0B0F2A}
.flow i{font:italic 400 76px/1 var(--f-disp);-webkit-text-stroke:0;color:var(--accent);opacity:.9}
.flow h3{font-size:clamp(26px,3vw,38px)}
.pt,.phead h1{font:italic 400 clamp(40px,5.4vw,76px)/1 var(--f-disp);letter-spacing:-.015em}
.taxbig b{font:italic 400 clamp(54px,8vw,84px)/1 var(--f-disp)}
.rcore b{font:italic 400 clamp(40px,6vw,72px)/1 var(--f-disp)}
.rn b{font:italic 400 19px/1.1 var(--f-disp)}
.pass-n b{font:italic 400 24px/1.1 var(--f-disp)}
.pass-tax b{font:italic 400 36px/1 var(--f-disp)}
.chap-h h2{font:italic 400 clamp(40px,6vw,84px)/1 var(--f-disp);letter-spacing:-.015em}
.chap-h{border-bottom:1px solid var(--line2)}
.chap-h i{color:var(--accent-ink)}
.drow>h3{font:italic 400 24px/1.1 var(--f-disp)}
.tid h1{font:italic 400 clamp(34px,3.6vw,48px)/1 var(--f-disp)}
.lhead h1{font:italic 400 clamp(36px,5.2vw,62px)/1 var(--f-disp)}
.bsec h2,.bh h2{font:italic 400 28px/1.1 var(--f-disp)}
.empty h3{font:italic 400 26px/1.1 var(--f-disp)}
.official h3{font:italic 400 30px/1.05 var(--f-disp)}
.pane h3,.card h3,.rrec h3{font:italic 400 22px/1.1 var(--f-disp)}
.holdbox h3,.burnbox h3{font:italic 400 22px/1.1 var(--f-disp)}
.sl-h b,.px b,.cph b#mcapbig{letter-spacing:-.02em}
/* softer, veil-like surfaces: the hood arch on cards and passes */
.card,.pane,.coin,.rows,.bsec,.journey,.holdbox,.burnbox,.rbox,.ecard,.hist,.rp-amt,.rp-sum,.dtable,.dfig{border-radius:20px}
.coin{border-radius:26px 26px 16px 16px}
.coin:hover{box-shadow:0 22px 44px -28px rgba(var(--fx-acc),.55)}
.pass{border-radius:28px 28px 16px 16px}
.btn,.wbtn{letter-spacing:.005em}
.btn.pri{box-shadow:0 8px 26px -12px rgba(var(--fx-acc),.7)}
.btn.pri:hover:not(:disabled){box-shadow:0 12px 30px -10px rgba(var(--fx-acc),.85)}
.callout{border-left-color:var(--accent)}
.av{box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.tape a{font-weight:500}
.dstrip{top:68px}
.wiz button.on{border-bottom-color:var(--accent)}
.foot .warn{max-width:100ch}
@media (max-width:900px){
  .h-top{padding:18px 0 56px}.ghost{width:130px;right:-4px;top:2px;opacity:.28}
  .h-big{max-width:9em}
  .dstrip{top:58px}
  .pt,.phead h1{font-size:clamp(38px,11vw,56px)}
  .foot{padding-inline:16px}
}
@media (prefers-reduced-motion:reduce){.ghost{animation:none}.stop.on::after{animation:none}}
.trow{display:flex;gap:8px}

/* =====================================================================
   Wraith shapes v2: every page has its own structure. Last in the file on purpose.
   ===================================================================== */
.page{max-width:1200px}

/* ---- home: a seance. Ghost on top, one centred line, rooms, a ring, three moves, cards ---- */
.h-top{display:flex;flex-direction:column;align-items:center;text-align:center;padding:6px 0 64px}
.h-top form{display:flex;flex-direction:column;align-items:center;width:100%}
.ghost{position:relative;right:auto;top:auto;width:clamp(150px,19vw,230px);margin:0 auto -22px}
.h-big{max-width:13em;margin-inline:auto}
.h-sub{display:grid;justify-items:center;gap:22px;margin-top:26px}
.h-sub p{margin-inline:auto}
.h-cta{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.h-top .hint{margin-top:14px}
.h-facts{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:44px 0 0;border:0;padding:0}
.h-facts li,.h-facts li+li{display:flex;align-items:center;gap:9px;padding:10px 18px;border:1px solid var(--line2);border-radius:999px;border-left:1px solid var(--line2);background:color-mix(in srgb,var(--surface) 70%,transparent)}
.h-facts svg{margin:0;flex:none}
.h-facts b{font:600 14px var(--f-body);letter-spacing:0}
.h-facts span{font-size:13.5px}
.h-sec{padding-bottom:96px}
.h-sh{text-align:center;margin-bottom:38px}
.h-sh h2,.h-sh p{margin-inline:auto}
.h-sh.row{text-align:left;align-items:flex-end}
.h-sh.row h2{margin-inline:0}

.rooms{list-style:none;margin:0;padding:10px 0 0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;align-items:end}
.room{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;text-align:center;min-height:300px;padding:22px 12px 20px;border:1px solid color-mix(in srgb,var(--cc) 45%,var(--line));border-radius:999px 999px 20px 20px;background:linear-gradient(180deg,color-mix(in srgb,var(--cc) 26%,transparent),color-mix(in srgb,var(--surface) 88%,transparent) 72%);transition:transform .3s cubic-bezier(.3,1,.4,1)}
.room:hover{transform:translateY(-6px)}
.room:nth-child(2),.room:nth-child(4){min-height:340px}.room:nth-child(3){min-height:380px}
.rdoor{display:grid;place-items:center;width:58px;height:92px;margin-bottom:auto;border-radius:999px 999px 6px 6px;background:radial-gradient(70% 60% at 50% 70%,color-mix(in srgb,var(--cc) 55%,transparent),color-mix(in srgb,var(--cc) 8%,transparent));box-shadow:0 0 36px -6px var(--cc);border:1px solid color-mix(in srgb,var(--cc) 60%,transparent)}
.rdoor .cdot{width:9px;height:9px}
.room b{font:italic 400 26px/1 var(--f-disp);display:block}
.room .cb-t{font:700 12px var(--f-mono);color:var(--accent-ink)}
.room small{color:var(--mut);font-size:12.5px;line-height:1.45}
.room.off{opacity:.55}

.taxrow{display:grid;grid-template-columns:minmax(220px,340px) minmax(0,1fr);gap:56px;align-items:center;max-width:960px;margin-inline:auto}
.donut{position:relative;aspect-ratio:1}
.donut svg{width:100%;height:100%;display:block}
.donut .sl.pl{stroke:var(--s-pl)}.donut .sl.hd{stroke:var(--s-hd)}.donut .sl.bn{stroke:var(--s-bn)}.donut .sl.cr{stroke:var(--s-cr)}
.dmid{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:2px}
.dmid b{font:italic 400 clamp(34px,4vw,50px)/1 var(--f-disp)}
.dmid span{color:var(--mut);font-size:13px}
.dleg{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.dleg li{display:grid;grid-template-columns:14px minmax(0,1fr);gap:14px;align-items:start}
.dleg i{width:14px;height:14px;border-radius:50%;margin-top:8px}
.dleg .pl i{background:var(--s-pl)}.dleg .hd i{background:var(--s-hd)}.dleg .bn i{background:var(--s-bn)}.dleg .cr i{background:var(--s-cr)}
.dleg b{display:block;font:italic 400 26px/1.1 var(--f-disp)}
.dleg p{color:var(--mut);font-size:15px;margin-top:3px;max-width:46ch}
#h-tax~.hint,.h-sec .hint{text-align:center}

.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.steps li{position:relative;display:grid;justify-items:center;text-align:center;gap:10px;padding:0 24px}
.steps li+li::before{content:"";position:absolute;top:38px;right:50%;width:100%;border-top:1.5px dashed var(--line2)}
.steps i{position:relative;z-index:1;display:grid;place-items:center;width:78px;height:78px;border-radius:50%;border:1.5px solid var(--accent);background:var(--bg);font:italic 400 40px/1 var(--f-disp);color:var(--accent);box-shadow:0 0 0 8px var(--bg)}
.steps h3{font:italic 400 clamp(26px,2.6vw,34px)/1.05 var(--f-disp);margin-top:8px}
.steps p{color:var(--mut);font-size:15.5px;max-width:34ch}

.scroller{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x proximity;padding:8px 4px 20px;scrollbar-width:thin}
.scroller>.coin{flex:0 0 236px;scroll-snap-align:start}
.scroller>.card,.scroller>.loading{flex:1}

/* ---- coin cards: a small tombstone, face first ---- */
.cgrid{grid-template-columns:repeat(auto-fill,minmax(224px,1fr));gap:16px}
.coin.tomb{justify-items:center;text-align:center;gap:12px;padding:38px 16px 16px;border-radius:130px 130px 20px 20px}
.coin.tomb .crown{position:absolute;top:14px;left:50%;transform:translateX(-50%);font:700 11px var(--f-mono);color:var(--mut);padding:0}
.coin.tomb .arch{display:grid;place-items:center}
.coin.tomb .av.lg{width:84px;height:84px;font-size:26px;box-shadow:0 0 0 5px color-mix(in srgb,var(--surface) 88%,transparent),0 0 0 6px var(--line2),0 16px 30px -12px rgba(var(--fx-acc),.5)}
.coin.tomb .cn{display:grid;gap:2px;min-width:0;max-width:100%}
.coin.tomb .cn b{font:italic 400 24px/1.05 var(--f-disp);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.coin.tomb .cn small{font:600 12.5px var(--f-mono);color:var(--mut)}
.coin.tomb .cmc{display:flex;gap:10px;align-items:center;justify-content:center}
.coin.tomb .sbar{width:100%}
.coin.tomb .cfoot{display:grid;justify-items:center;gap:6px;font-size:12.5px}

/* ---- explore: a filter rail and a grid ---- */
.x-head2{margin-bottom:26px}.x-head2 .mut{margin-top:8px}
.xlay{display:grid;grid-template-columns:248px minmax(0,1fr);gap:34px;align-items:start}
.xside{position:sticky;top:92px;display:grid;gap:22px;padding:20px 18px;border:1px solid var(--line);border-radius:26px 26px 18px 18px;background:color-mix(in srgb,var(--surface) 80%,transparent)}
.xside .xsearch{flex:none;min-width:0;max-width:none}
.xgrp h2{font:italic 400 22px/1 var(--f-disp);margin-bottom:10px}
.xlist{display:grid;gap:2px}
.xlist button{display:flex;align-items:center;gap:9px;padding:9px 12px;border-radius:12px;text-align:left;font-weight:600;font-size:14px;color:var(--mut);transition:background .15s,color .15s}
.xlist button:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 6%,transparent)}
.xlist button.on{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--ink)}
.xlist .cdot{width:9px;height:9px}
.xside .seg{display:flex}.xside .seg button{flex:1;padding-inline:8px}
#xbody .rows{margin:0}

/* ---- launch: one page, a spine of four rites, the coin takes shape beside you ---- */
.l-head{margin-bottom:28px}
.ritual{display:grid;grid-template-columns:minmax(0,1fr) 344px;gap:40px;align-items:start}
.ritual .build{order:1;max-width:none;min-width:0}
.rside{order:2;position:sticky;top:92px;display:grid;gap:14px}
.ritual .bcol{position:relative;gap:22px;padding-left:36px}
.ritual .bcol::before{content:"";position:absolute;left:10px;top:30px;bottom:30px;border-left:1.5px dashed var(--line2)}
.ritual .bsec{position:relative;display:block;border-radius:30px 30px 18px 18px;scroll-margin-top:92px}
.ritual .bsec::before{content:"";position:absolute;left:-32px;top:34px;width:14px;height:14px;border-radius:50%;background:var(--bg);border:2px solid var(--accent)}
.rside .pass{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;justify-items:center;text-align:center;padding:40px 22px 22px;border-radius:172px 172px 22px 22px}
.rside .pass-top{flex-direction:column;gap:10px}
.rside .pass-top .av.lg{width:92px;height:92px;font-size:30px}
.rside .pass-n{text-align:center}
.rside .pass-n b{overflow:visible;white-space:normal;font-size:30px}
.rside .pass-mid{width:100%;gap:12px}
.rside .pass-mid .sleg{display:grid}
.rside .pass-tax{justify-content:center}
.rside .pass-roads{justify-content:center}
.rside .pass-foot{width:100%;justify-content:space-between;gap:10px;padding-top:14px;border-top:1px solid var(--line);text-align:left}
.rside .wiz{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;margin:0;border:0}
.rside .wiz button{padding:9px 12px;border:0;border-radius:12px;margin:0}
.rside .wiz button.on{background:color-mix(in srgb,var(--accent) 16%,transparent);border:0}

/* ---- coin page: a shrine banner, the market on the left, the ticket rail on the right ---- */
.shrine{position:relative;margin:0 0 18px;padding:34px 34px 24px;border:1px solid var(--line2);border-radius:150px 150px 26px 26px;overflow:hidden;background:linear-gradient(180deg,hsl(var(--sh) 62% 52% / .26),transparent 88%),color-mix(in srgb,var(--surface) 80%,transparent)}
.sh-in{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px 26px;align-items:end;padding-top:14px}
.shrine .av.lg{width:112px;height:112px;font-size:34px;box-shadow:0 0 0 6px color-mix(in srgb,var(--surface) 80%,transparent),0 0 0 7px var(--line2),0 20px 40px -14px rgba(var(--fx-acc),.5)}
.shrine .tid h1{font:italic 400 clamp(40px,5vw,68px)/.95 var(--f-disp)}
.shrine .tid h1 small{display:inline;margin-left:12px;font:600 16px var(--f-mono)}
.shrine .tags{margin-top:12px}
.shrine .tdesc{margin-top:10px;max-width:64ch;color:var(--mut)}
.shrine .px{display:grid;gap:2px;justify-items:end;text-align:right;border:0;padding:0}
.shrine .px small{text-align:right}
.dos{grid-template-columns:minmax(0,1fr) 372px;gap:26px}
.dm{display:grid;gap:16px;min-width:0}
.dr{display:grid;gap:14px;min-width:0;align-content:start}
.dm>*,.dr>*{min-width:0}

/* ---- bridge: a portal with a door on each side ---- */
.rmap{border-radius:34px 34px 20px 20px}
.rmap-stage{height:auto}
.portal{display:grid;grid-template-columns:minmax(0,1fr) 200px minmax(0,1fr);gap:16px;align-items:stretch;margin-top:16px}
.pcol h3{font:italic 400 26px/1 var(--f-disp);margin-bottom:12px}
.pcol ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.pn{display:flex;align-items:center;gap:10px;width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:16px;text-align:left;background:color-mix(in srgb,var(--surface) 82%,transparent);transition:border-color .15s,background .15s}
.pn:hover:not(:disabled){border-color:var(--line2)}
.pn b{font-weight:650}
.pn small{margin-left:auto;color:var(--mut);font:500 12px var(--f-mono)}
.pn.on{border-color:var(--cc);background:color-mix(in srgb,var(--cc) 14%,var(--surface));box-shadow:inset 0 0 0 1px var(--cc)}
.pn:disabled{opacity:.4}
.pmid{display:grid;align-content:center;justify-items:center;gap:16px;text-align:center}
.pmid .rcore{position:static;transform:none}
.pline{width:100%;height:2px;background:repeating-linear-gradient(90deg,var(--accent) 0 6px,transparent 6px 12px)}
.portal.fly .pline{animation:pdash 1s linear infinite}
@keyframes pdash{to{background-position:24px 0}}
.pswap{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1px solid var(--line2);background:var(--surface);transition:transform .25s}
.pswap:hover{transform:rotate(180deg)}

/* ---- rewards: a ledger with a wallet rail and tabs ---- */
.rlay{display:grid;grid-template-columns:280px minmax(0,1fr);gap:34px;align-items:start}
.rrail{position:sticky;top:92px;display:grid;gap:14px}
.rwho{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 18px;border:1px solid var(--line2);border-radius:999px;background:color-mix(in srgb,var(--surface) 80%,transparent)}
.rrail .rsum{grid-template-columns:minmax(0,1fr);margin:0;gap:10px}
.rtabs{display:flex;gap:4px;margin-bottom:24px;border-bottom:1px solid var(--line);overflow-x:auto}
.rtabs button{flex:none;padding:12px 18px;font-weight:600;color:var(--mut);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}
.rtabs button:hover{color:var(--ink)}
.rtabs button.on{color:var(--ink);border-bottom-color:var(--accent)}
.rlay .blk{display:none;margin:0}
.rlay[data-tab="hold"] .blk[data-p="hold"],.rlay[data-tab="creator"] .blk[data-p="creator"],.rlay[data-tab="coins"] .blk[data-p="coins"],.rlay[data-tab="launches"] .blk[data-p="launches"]{display:block}

/* ---- docs: a contents column and one long article ---- */
.dlay{display:grid;grid-template-columns:236px minmax(0,1fr);gap:56px;align-items:start;margin-top:14px}
.dtoc{position:sticky;top:92px;max-height:calc(100vh - 116px);overflow:auto;display:grid;gap:12px;padding:0 14px 0 0;border-right:1px solid var(--line);scrollbar-width:thin}
.dtoc .tg>a{display:block;padding:4px 0;font:italic 400 22px/1.15 var(--f-disp);color:var(--ink)}
.dtoc .tg>a.on{color:var(--accent-ink)}
.dtoc .sub{display:grid;margin:2px 0 8px;padding-left:12px;border-left:1px solid var(--line)}
.dtoc .sub a{padding:3px 0;font-size:13.5px;color:var(--mut);line-height:1.35}
.dtoc .sub a:hover{color:var(--ink)}
.dman .chap{padding-top:10px;scroll-margin-top:92px}
.dman .chap+.chap{padding-top:64px}
.dman .chap-h h2{font-size:clamp(36px,4.2vw,58px)}
.dman .drow{display:block;padding:26px 0;scroll-margin-top:92px}
.dman .drow>h3{position:static;margin-bottom:10px;font-size:26px}
.dman .dbody{max-width:68ch}

/* ---- narrow screens ---- */
@media (max-width:1000px){
  .xlay,.ritual,.rlay,.dlay,.dos{grid-template-columns:minmax(0,1fr)}
  .xside,.rside,.rrail,.dtoc{position:static}
  .xlist{display:flex;flex-wrap:wrap}.xlist button{padding:7px 12px;border:1px solid var(--line)}
  .rside{order:0}.rside .wiz{display:none}
  .rside .pass{border-radius:30px 30px 18px 18px;padding:26px 20px 20px}
  .dr{order:-1}
  .taxrow{grid-template-columns:minmax(0,1fr);gap:30px;justify-items:center}
  .dleg{justify-items:start}
  .rooms{display:flex;overflow-x:auto;padding-bottom:12px;scroll-snap-type:x proximity}
  .room,.room:nth-child(n){flex:0 0 168px;min-height:300px;scroll-snap-align:start}
  .steps{grid-template-columns:minmax(0,1fr);gap:34px}
  .steps li+li::before{display:none}
  .portal{grid-template-columns:minmax(0,1fr)}
  .pmid{grid-template-columns:minmax(0,1fr) auto;gap:14px;text-align:left}.pmid .rcore{text-align:left}.pline{display:none}
  .dtoc{display:flex;gap:6px;overflow-x:auto;max-height:none;border:0;padding:0 0 8px}
  .dtoc .tg{flex:none}.dtoc .sub{display:none}.dtoc .tg>a{padding:7px 16px;border:1px solid var(--line);border-radius:999px;font:600 14px var(--f-body);white-space:nowrap}
  .dtoc .tg>a.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}
  .rrail .rsum{grid-template-columns:repeat(2,minmax(0,1fr))}
  .shrine{border-radius:90px 90px 22px 22px;padding:28px 20px 20px}
  .sh-in{grid-template-columns:auto minmax(0,1fr)}.shrine .px{grid-column:1/-1;justify-items:start;text-align:left}.shrine .px small{text-align:left}
  .shrine .av.lg{width:80px;height:80px;font-size:26px}
}
@media (max-width:560px){
  .h-facts li{padding:9px 14px}
  .ritual .bcol{padding-left:0}.ritual .bcol::before,.ritual .bsec::before{display:none}
}

/* ---- coin page v3: compact header, chain picker, stats line, chart with toolbar, ticket rail, phone Buy / Sell bar ---- */
.cx{display:grid;gap:14px;padding-bottom:8px}
.cx-head{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;gap:8px 16px;align-items:center}
.cx-back{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:var(--mut)}
.cx-back:hover{background:var(--surface);color:var(--ink)}
.cx-head .av.lg{width:68px;height:68px;font-size:22px;box-shadow:0 0 0 3px var(--bg),0 0 0 4px var(--line2)}
.cx-id{min-width:0;display:grid;gap:7px}
.cx-id h1{font:italic 400 clamp(28px,3.4vw,40px)/1 var(--f-disp);display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.cx-id h1 small{font:600 14px var(--f-mono);color:var(--mut)}
.cx-off{font:600 11px var(--f-mono);letter-spacing:.14em;text-transform:uppercase;padding:3px 10px;border:1px solid var(--ink);border-radius:999px;align-self:center}
.cx-tags{display:flex;gap:6px;flex-wrap:wrap}
.cx-ca{display:flex;align-items:center;gap:6px;min-width:0}
.cx-ca .ca-a{font:500 13px var(--f-mono);color:var(--mut)}
.ib{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:8px;color:var(--mut)}
.ib:hover{background:var(--surface);color:var(--ink)}
.chdd{position:relative}
.chsel{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border:1px solid var(--line2);border-radius:10px;font:600 13px var(--f-mono);background:color-mix(in srgb,var(--surface) 80%,transparent)}
.chsel[aria-expanded=true]{border-color:var(--ink)}
.chmenu{position:absolute;z-index:30;top:calc(100% + 8px);left:0;width:min(320px,86vw);padding:8px;border:1px solid var(--line2);border-radius:16px;background:var(--surface);box-shadow:0 22px 50px -18px rgba(0,0,0,.45)}
.chmenu[hidden]{display:none}
.chm-h{padding:6px 10px 8px;font-size:13px;color:var(--mut)}
.chm{display:grid;grid-template-columns:auto 1fr auto 18px;align-items:center;gap:10px;width:100%;padding:10px;border-radius:10px;text-align:left;font-size:14.5px}
.chm:hover,.chm.on{background:color-mix(in srgb,var(--ink) 6%,transparent)}
.chm code{font:500 12.5px var(--f-mono);color:var(--mut)}
.cx-px{display:flex;gap:6px 26px;align-items:flex-end;text-align:right}
.cx-px small{display:block;font-size:12.5px;color:var(--mut)}
.cx-px b{font:700 clamp(30px,3.6vw,46px)/1 var(--f-mono);letter-spacing:-.04em}
.cx-px .pv{font:600 15px var(--f-mono)}
.cx-desc{max-width:72ch;color:var(--mut)}
.cx-stats{display:flex;flex-wrap:wrap;gap:12px 34px;align-items:flex-end;padding:14px 0;border-block:1px solid var(--line)}
.cx-stats .tks{display:grid;gap:2px}.cx-stats small{font-size:12.5px;color:var(--mut)}.cx-stats .tks b{font-size:16px}
.cx-stats .fee{display:grid;gap:5px;margin-left:auto;min-width:0}
.fchips{display:flex;gap:8px;flex-wrap:wrap}
.fchip{display:inline-flex;align-items:center;gap:8px;padding:4px 6px 4px 10px;border:1px solid var(--line2);border-radius:10px;font-size:13px}
.fchip b{font:600 12px var(--f-mono);color:var(--mut)}.fchip .addr{font:500 13px var(--f-mono)}
.cx-main{display:grid;grid-template-columns:minmax(0,1fr) 372px;gap:22px;align-items:start}
.cx-l{display:grid;gap:16px;min-width:0}.cx-r{position:sticky;top:18px;min-width:0}
.cx-tb{display:flex;gap:10px 14px;align-items:center;flex-wrap:wrap;padding:12px 14px;border-bottom:1px solid var(--line)}
.cx-tb .seg{max-width:100%;overflow-x:auto}.cx-on{margin-left:auto;font-size:13px;color:var(--mut)}
.cx-x,.cx-bar,.cx-veil{display:none}
@media (max-width:1000px){
  .cx-head{grid-template-columns:auto minmax(0,1fr)}
  .cx-back{display:none}
  .cx-px{grid-column:1/-1;text-align:left;justify-content:flex-start}
  .cx-stats .fee{margin-left:0;flex-basis:100%}
  .cx-main{grid-template-columns:minmax(0,1fr)}
  .cx-r{position:fixed;z-index:60;left:0;right:0;bottom:0;max-height:88vh;overflow-y:auto;padding:14px 14px calc(18px + env(safe-area-inset-bottom,0px));border-radius:22px 22px 0 0;background:var(--bg);border:1px solid var(--line2);box-shadow:0 -24px 60px -20px rgba(0,0,0,.5);transform:translateY(105%);transition:transform .25s ease;visibility:hidden}
  .cx-r.open{transform:none;visibility:visible}
  .cx-x{display:grid;place-items:center;position:sticky;top:0;margin-left:auto;width:34px;height:34px;border-radius:50%;background:var(--surface);z-index:2}
  .cx-bar{display:grid;grid-template-columns:1fr 1fr;gap:10px;position:fixed;z-index:50;left:0;right:0;bottom:0;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));background:linear-gradient(180deg,transparent,var(--bg) 30%)}
  .cx-bar button{padding:15px;border-radius:14px;font:700 16px var(--f-body);color:#fff}
  .cx-bar .buy{background:#14121a}.cx-bar .sell{background:#c0341d}
  .cx-veil.on{display:block;position:fixed;inset:0;z-index:55;background:rgba(0,0,0,.45)}
  .cx{padding-bottom:84px}
  .dr{order:0}
}
.cx.sheet-open .cx-bar{display:none}
