/* Satsfun: burnt-black and bitcoin orange. Plain CSS, tokens first, no build step. */
@font-face{font-family:"Unbounded";src:url(fonts/unbounded-latin-wght-normal.woff2) format("woff2");font-weight:200 900;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:"Unbounded",ui-sans-serif,system-ui,sans-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: cool paper, warm ink */
  --bg:#EEF0F3;--surface:#FFFFFF;--surface2:#E4E7EC;--line:rgba(21,17,12,.12);--line2:rgba(21,17,12,.24);
  --ink:#15110C;--mut:#5E5A52;--faint:#9A968D;
  --accent:#F7931A;--accent2:#FFB84D;--on-accent:#1A0F00;--accent-ink:#A85A00;
  --good:#0E8F5B;--bad:#C92A4B;--amber:#B4720B;
  --s-pl:#7B8497;--s-hd:#E8A800;--s-bn:#E5482B;--s-cr:#14A874;
  --glass:rgba(255,255,255,.72);--shadow:0 18px 40px -22px rgba(21,17,12,.4);
  --fx-rgb:21,17,12;--fx-acc:232,130,12;--glow1:rgba(247,147,26,.16);--glow2:rgba(255,184,77,.12);
  --c1:#6F7FF5;--c8453:#2F6BFF;--c4663:#0AAE4A;--c42161:#1E9BD8;--c56:#D9A400;--c143:#8A57F2;--c101:#10B58A;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0B0907;--surface:#14100B;--surface2:#1E1811;--line:rgba(255,226,190,.12);--line2:rgba(255,226,190,.26);
  --ink:#F6EEE2;--mut:#ABA08F;--faint:#6F6556;
  --accent:#F7931A;--accent2:#FFC060;--on-accent:#1A0F00;--accent-ink:#FFB04A;
  --good:#4FE3A0;--bad:#FF6A82;--amber:#F0B34A;
  --s-pl:#8C95A6;--s-hd:#FFC857;--s-bn:#FF5A36;--s-cr:#4FE3A0;
  --glass:rgba(20,16,11,.74);--shadow:0 22px 44px -22px rgba(0,0,0,.8);
  --fx-rgb:255,226,190;--fx-acc:247,147,26;--glow1:rgba(247,147,26,.2);--glow2:rgba(255,184,77,.08);
  --c1:#9DAAFF;--c8453:#5C8DFF;--c4663:#2FE070;--c42161:#4CC3FF;--c56:#F3BA2F;--c143:#B48BFF;--c101:#2CF0B8;
  color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0B0907;--surface:#14100B;--surface2:#1E1811;--line:rgba(255,226,190,.12);--line2:rgba(255,226,190,.26);
  --ink:#F6EEE2;--mut:#ABA08F;--faint:#6F6556;
  --accent:#F7931A;--accent2:#FFC060;--on-accent:#1A0F00;--accent-ink:#FFB04A;
  --good:#4FE3A0;--bad:#FF6A82;--amber:#F0B34A;
  --s-pl:#8C95A6;--s-hd:#FFC857;--s-bn:#FF5A36;--s-cr:#4FE3A0;
  --glass:rgba(20,16,11,.74);--shadow:0 22px 44px -22px rgba(0,0,0,.8);
  --fx-rgb:255,226,190;--fx-acc:247,147,26;--glow1:rgba(247,147,26,.2);--glow2:rgba(255,184,77,.08);
  --c1:#9DAAFF;--c8453:#5C8DFF;--c4663:#2FE070;--c42161:#4CC3FF;--c56:#F3BA2F;--c143:#B48BFF;--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:640;letter-spacing:-.025em;line-height:1.12;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-4663{--cc:var(--c4663)}.c-42161{--cc:var(--c42161)}.c-56{--cc:var(--c56)}.c-143{--cc:var(--c143)}.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(247,147,26,.7)}
.btn.pri:hover:not(:disabled){background:var(--accent2);border-color:transparent;box-shadow:0 10px 28px -8px rgba(247,147,26,.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:"₿";font:800 10px/1 var(--f-body);color: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(247,147,26,.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:-.05em}.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:-.04em}.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(5,3,0,.62);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(5,3,0,.62);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: left rail + stage ---------- */
.shell{position:relative;z-index:1;min-height:100vh;display:grid;grid-template-columns:252px minmax(0,1fr)}
.side{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:16px;padding:22px 16px 18px;border-right:1px solid var(--line);background:color-mix(in srgb,var(--bg) 78%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:30}
.brand{display:flex;align-items:center;gap:11px;font-family:var(--f-disp);font-weight:700;font-size:21px;letter-spacing:-.045em;padding:2px 6px 8px}
.brand svg{border-radius:11px;transition:transform .5s cubic-bezier(.3,1.4,.5,1)}
.brand:hover svg{transform:rotate(-14deg) scale(1.06)}
.findbtn{display:flex;align-items:center;gap:10px;height:42px;padding:0 13px;border:1px solid var(--line);border-radius:12px;color:var(--mut);font-size:14px;background:color-mix(in srgb,var(--surface) 60%,transparent)}
.findbtn:hover{border-color:var(--line2);color:var(--ink)}
.findbtn kbd{margin-left:auto;font-size:11px;border:1px solid var(--line);border-radius:5px;padding:1px 6px}
.dock{position:relative;display:flex;flex-direction:column;gap:3px;margin-top:6px}
.dock-ind{position:absolute;left:0;right:0;top:0;height:0;border-radius:12px;background:color-mix(in srgb,var(--accent) 15%,transparent);box-shadow:inset 3px 0 0 var(--accent);transition:transform .45s cubic-bezier(.4,1.2,.4,1),height .45s cubic-bezier(.4,1.2,.4,1),opacity .2s;pointer-events:none}
.stop{position:relative;z-index:1;display:flex;align-items:center;gap:13px;padding:12px 14px;border-radius:12px;font-weight:600;font-size:15.5px;color:var(--mut);transition:color .2s}
.stop svg{flex:none;opacity:.9}
.stop:hover{color:var(--ink)}
.stop.on{color:var(--ink)}.stop.on svg{color:var(--accent)}
.tools{margin-top:auto;display:grid;gap:10px}
.wbtn{height:46px;padding:0 18px;border-radius:12px;background:var(--accent);color:var(--on-accent);font-weight:700;font-size:15px;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}
.trow{display:flex;gap:8px}
.ib{width:42px;height:42px;border:1px solid var(--line);border-radius:12px;display:grid;place-items:center;color:var(--mut)}
.ib:hover{color:var(--ink);border-color:var(--line2)}
.stage{min-width:0;display:flex;flex-direction:column}
.page{width:100%;max-width:1180px;margin:0 auto;padding:36px 44px 80px;flex:1;outline:none}
.foot{position:relative;z-index:1;padding:30px 44px 40px;border-top:1px solid var(--line);display:grid;gap:12px;max-width:1180px;width:100%;margin:0 auto}
.fsay{font-weight:600}
.pt{font-size:clamp(30px,4.6vw,56px);font-weight:700;letter-spacing:-.045em}

/* ---------- home ---------- */
.tape{margin:-36px -44px 34px;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:-.05em;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:-.03em}
.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:-.045em;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:-.03em}
.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:-.05em}
.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:-.05em}
.flow h3{font-size:clamp(20px,2.4vw,28px);letter-spacing:-.04em}
.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:-.05em;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:-.03em;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:-.05em}
.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:-.035em}
.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:-.04em;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:-.05em;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{display:block;padding-bottom:84px}
  .side{height:58px;flex-direction:row;align-items:center;gap:8px;padding:0 14px;border-right:0;border-bottom:1px solid var(--line);backdrop-filter:none;-webkit-backdrop-filter:none;background:color-mix(in srgb,var(--bg) 95%,transparent)}
  .brand{padding:0;font-size:19px}.brand svg{width:32px;height:32px}
  .findbtn{margin-left:auto;width:40px;height:40px;padding:0;justify-content:center}.findbtn span,.findbtn kbd{display:none}
  .tools{margin:0;display:flex;gap:8px}.wbtn{height:40px;padding:0 15px}.trow a{display:none}.ib{width:40px;height:40px}
  .dock{position:fixed;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom,0px));z-index:40;flex-direction:row;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{left:0;right:auto;top:5px;bottom:5px;height:auto;border-radius:999px;background:var(--accent);box-shadow:none}
  .stop{flex:1;flex-direction:column;justify-content:center;gap:2px;padding:7px 0 6px;font-size:10.5px;border-radius:999px}
  .stop.on,.stop.on svg{color:var(--on-accent)}
  .page{padding:24px 16px 56px}.foot{padding-inline:16px}
  .tape{margin:-24px -16px 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:17px}.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,main#app{min-width:0;max-width:100%}
.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}
}
