/* Ketto. The palette comes from the logo: electric blue, gold and white. Plain CSS, tokens first, no build step. */
@font-face{font-family:"Bricolage";src:url(fonts/bricolage.woff2) format("woff2");font-weight:200 800;font-display:swap}
@font-face{font-family:"DMMono";src:url(fonts/dmmono.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"DMMono";src:url(fonts/dmmono500.woff2) format("woff2");font-weight:500 700;font-display:swap}

:root{
  --f-disp:"Bricolage",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-body:"Bricolage",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-mono:"DMMono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --blue:#2B3BFF;--gold:#FFD23F;--navy:#0C1250;
  /* light: white paper, logo blue and gold */
  --bg:#EEF1FF;--surface:#FFFFFF;--surface2:#E2E7FF;--line:rgba(12,18,80,.12);--line2:rgba(12,18,80,.28);--edge:#0C1250;
  --ink:#0C1250;--mut:#4A54A6;--faint:#9AA2DA;--hover:rgba(43,59,255,.07);
  --accent:#FFD23F;--accent2:#FFDD66;--on-accent:#0C1250;--accent-ink:#2B3BFF;--hl:#FFD23F;--sel:#2B3BFF;--on-sel:#FFFFFF;
  --good:#0B8F5B;--bad:#C2234F;--amber:#9A5B00;
  --s-pl:#8B95E6;--s-pot:#FFD23F;--s-cr:#2B3BFF;--s-hd:#FFD23F;--s-bn:#8B95E6;
  --glass:rgba(255,255,255,.9);--shadow:0 22px 44px -26px rgba(20,30,160,.55);--rim:rgba(43,59,255,.16);
  --c1:#5F6FE0;--c8453:#2F6BFF;--c4663:#0A9A44;--c42161:#1E9BD8;--c56:#C99700;--c143:#8A57F2;--c101:#0FA37D;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#2B3BFF;--surface:#1B27C4;--surface2:#2634E6;--line:rgba(255,255,255,.2);--line2:rgba(255,255,255,.42);--edge:#FFFFFF;
  --ink:#FFFFFF;--mut:#C9CFFF;--faint:#8E99FF;--hover:rgba(255,255,255,.09);
  --accent:#FFD23F;--accent2:#FFE074;--on-accent:#0C1250;--accent-ink:#FFD23F;--hl:#FFD23F;--sel:#FFD23F;--on-sel:#0C1250;
  --good:#6BF5B8;--bad:#FF9BB3;--amber:#FFD23F;
  --s-pl:#B5BDFF;--s-pot:#FFD23F;--s-cr:#FFFFFF;--s-hd:#FFD23F;--s-bn:#B5BDFF;
  --glass:rgba(27,39,196,.9);--shadow:0 24px 48px -24px rgba(6,10,110,.8);--rim:rgba(255,255,255,.22);
  --c1:#E4E8FF;--c8453:#A9C4FF;--c4663:#6BF5B8;--c42161:#7FD8FF;--c56:#FFD23F;--c143:#D3B8FF;--c101:#4DEBCB;
  color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#2B3BFF;--surface:#1B27C4;--surface2:#2634E6;--line:rgba(255,255,255,.2);--line2:rgba(255,255,255,.42);--edge:#FFFFFF;
  --ink:#FFFFFF;--mut:#C9CFFF;--faint:#8E99FF;--hover:rgba(255,255,255,.09);
  --accent:#FFD23F;--accent2:#FFE074;--on-accent:#0C1250;--accent-ink:#FFD23F;--hl:#FFD23F;--sel:#FFD23F;--on-sel:#0C1250;
  --good:#6BF5B8;--bad:#FF9BB3;--amber:#FFD23F;
  --s-pl:#B5BDFF;--s-pot:#FFD23F;--s-cr:#FFFFFF;--s-hd:#FFD23F;--s-bn:#B5BDFF;
  --glass:rgba(27,39,196,.9);--shadow:0 24px 48px -24px rgba(6,10,110,.8);--rim:rgba(255,255,255,.22);
  --c1:#E4E8FF;--c8453:#A9C4FF;--c4663:#6BF5B8;--c42161:#7FD8FF;--c56:#FFD23F;--c143:#D3B8FF;--c101:#4DEBCB;
  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;position:relative}
#bg{position:fixed;inset:0;z-index:0;pointer-events:none}
.top,.page,.foot,.tabbar{position:relative;z-index:1}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure{margin:0}
h1,h2,h3{font-family:var(--f-disp);font-weight:780;letter-spacing:-.035em;line-height:1.05;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:3px solid var(--gold);outline-offset:2px;border-radius:8px}
.skip{position:absolute;left:-999px;top:8px;background:var(--gold);color:var(--navy);padding:8px 14px;z-index:99;border-radius:999px}
.skip:focus{left:8px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.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))}
[hidden]{display:none!important}

/* ---------- 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;background:var(--cc,var(--faint));flex:none;transform:rotate(45deg)}
.cdots{display:inline-flex;gap:5px;align-items:center}
.cchip{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:650}
.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 18px;border:1px solid var(--line2);background:var(--surface);color:var(--ink);box-shadow:none;font-weight:700;font-size:14.5px;white-space:nowrap;transition:transform .12s,box-shadow .12s,background .15s}
.btn:hover:not(:disabled){transform:translate(-1px,-1px);box-shadow:none;background:var(--hover);color:inherit}
.btn:active:not(:disabled){transform:translate(2px,2px);box-shadow:none}
.btn.pri{background:var(--accent);color:var(--on-accent)}
.btn.pri:hover:not(:disabled){background:var(--accent2);color:var(--on-accent)}
.btn.lg{height:52px;padding:0 26px;font-size:16px}
.btn.sm{height:32px;padding:0 12px;font-size:13px;box-shadow:none}
.btn.block{width:100%}
.btn:disabled{opacity:.45;box-shadow:none}
.field{display:grid;gap:7px}
.lbl,label{font-size:13px;font-weight:700;color:var(--mut)}
.in{width:100%;height:46px;padding:0 14px;border:1px solid var(--line2);border-radius:0;background:var(--bg);color:var(--ink);font:inherit;font-size:16px}
textarea.in{height:84px;padding:10px 14px;resize:vertical}
select.in{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 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:focus{outline:2px solid var(--gold);outline-offset:0;background:var(--surface)}
.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:500 13px var(--f-mono);color:var(--mut);display:flex;align-items:center}
.seg{display:inline-flex;border:1px solid var(--line2);background:var(--bg)}
.seg button{padding:7px 16px;font-weight:700;font-size:14px;color:var(--mut);border-left:1px solid var(--line2)}
.seg button:first-child{border-left:0}
.seg button:hover{color:var(--ink);background:var(--surface2)}
.seg button.on{background:var(--sel);color:var(--on-sel)}
.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:6px 13px;border:1px solid var(--line2);font-weight:650;font-size:13.5px;color:var(--mut)}
.chips button:hover,.xchains button:hover{border-color:var(--line2);color:var(--ink)}
.chips button.on,.xchains button.on{background:var(--sel);color:var(--on-sel);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:2px 9px;border:1px solid var(--line2);font-size:12.5px;font-weight:700}
.tag.b{color:var(--good);border-color:var(--good)}
.tag.s{color:var(--bad);border-color:var(--bad)}
.tag.warn{color:var(--amber);border-color:var(--amber)}
.tagl{font:500 11px var(--f-mono);font-style:normal;color:var(--mut);margin-left:6px}
.pchip,.stk{display:inline-flex;align-items:center;padding:1px 9px;border-radius:999px;background:color-mix(in srgb,var(--accent-ink) 18%,transparent);color:var(--accent-ink);font:500 12px var(--f-mono);font-style:normal;letter-spacing:.02em}
.pchip i{display:none}
.pill{display:inline-block;font:500 12.5px var(--f-mono);font-style:normal;padding:1px 8px;border:1px solid currentColor}
.pill.up{color:var(--good)}.pill.dn{color:var(--bad)}
.kv{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px dashed var(--line2);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:var(--surface);border:1px solid var(--line2);box-shadow:var(--shadow)}
.pad{padding:22px}
.pane h3,.card h3{font-size:17px;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 var(--amber);background:color-mix(in srgb,var(--amber) 9%,transparent);font-size:13.5px;line-height:1.55}
.warnbox.ok{border-color:var(--good);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:1px dashed var(--line2);font-size:13.5px}
.noticebar svg{flex:none;margin-top:1px;color:var(--accent-ink)}
.av{width:40px;height:40px;border-radius:50%;background:var(--a1);display:grid;place-items:center;color:#fff;font:500 13px var(--f-mono);overflow:hidden;flex:none;position:relative;border:1px solid var(--line2)}
.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:0;height:16px;border:1px solid var(--line2)}
.sbar i{display:block;height:100%;min-width:4px;transition:flex-grow .35s cubic-bezier(.3,1,.4,1);flex-basis:0;border-left:1px solid var(--line2)}
.sbar i:first-child{border-left:0}
.sbar.sm{height:9px}
.sbar.lg{height:26px}
.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)}
.sbar .pot,.sw.pot{background:var(--s-pot)}
.sleg{list-style:none;padding:0;margin:0;display:grid;gap:8px;font-size:14px}
.sleg li{display:grid;grid-template-columns:12px 1fr auto;gap:10px;align-items:center}
.sleg .sw{width:12px;height:12px;display:block;border:1px solid var(--line2)}
.sleg b{font:500 13.5px 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:10px;border:1px solid var(--line2);background:linear-gradient(90deg,var(--k) var(--p),var(--bg) var(--p))}
.rng::-moz-range-track{height:10px;border:1px solid var(--line2);background:linear-gradient(90deg,var(--k) var(--p),var(--bg) var(--p))}
.rng::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:26px;margin-top:-10px;background:var(--surface);border:2px solid var(--line2);box-shadow:none}
.rng::-moz-range-thumb{width:18px;height:22px;border-radius:0;background:var(--surface);border:2px solid var(--line2)}
.rng.hd{--k:var(--s-hd)}.rng.bn{--k:var(--s-bn)}.rng.pot{--k:var(--s-pot)}
.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:500 24px var(--f-mono);letter-spacing:-.04em}
.sl-h span{font-size:14px;font-weight:650}
.quick{display:flex;gap:6px;margin-top:4px}.quick button{flex:1;height:32px;border:1px solid var(--line2);font:500 12.5px var(--f-mono);color:var(--mut)}.quick button:hover{border-color:var(--line2);color:var(--ink);background:var(--hl)}

/* ---------- official token card: a certificate with a double rule ---------- */
.official{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:22px;padding:28px;border:1px solid var(--line2);background:var(--surface);box-shadow:var(--shadow);outline:1px solid var(--line2);outline-offset:-9px}
.official .av{width:84px;height:84px;font-size:26px}
.official .ph{width:84px;height:84px;border:2px dashed var(--line2);display:grid;place-items:center;color:var(--faint);font:800 32px var(--f-disp)}
.official h3{font-size:24px;font-weight:760;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.official .verified{display:inline-flex;align-items:center;gap:5px;font:500 11px var(--f-mono);padding:2px 9px;background:var(--good);color:var(--bg)}
.official .soon{font:500 11px var(--f-mono);padding:2px 9px;border:1px solid var(--line2);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(--line2);background:var(--bg)}
.ofl .oa code{font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.official .acts{margin-top:16px}

/* ---------- the board: one line per coin ---------- */
.rows{border:1px solid var(--line2);background:var(--surface);box-shadow:var(--shadow)}
.rw{display:grid;grid-template-columns:minmax(0,2.3fr) .7fr 1.1fr .9fr 1fr 1fr 1fr;gap:12px;align-items:center;padding:12px 18px;border-top:1px dashed var(--line2)}
.rw.rh{border-top:0;font-size:12.5px;color:var(--mut);font-weight:700;padding-block:9px;background:var(--surface2)}
.rw:nth-child(2){border-top:0}
a.rw:hover{background:var(--hover);color:inherit}
a.rw:hover small,a.rw:hover .mut{color:var(--mut)}
.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)}
.coin{position:relative;display:grid;gap:12px;padding:16px;border:1px solid var(--line2);background:var(--surface);box-shadow:none}
.coin:hover{background:var(--hover);color:inherit}
.ctop{display:flex;gap:12px;align-items:center}.cn{display:grid;min-width:0}.cn b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.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:500 20px var(--f-mono);letter-spacing:-.03em}
.cfoot{display:flex;justify-content:space-between;align-items:center;font-size:12.5px;gap:8px}
.cgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(262px,1fr));gap:16px}
.crown{position:absolute;top:14px;right:16px;font:500 11px var(--f-mono);color:var(--accent-ink)}

/* ---------- pot card on the coin page ---------- */
.potcard{position:relative;display:grid;gap:16px;padding:24px;border:1px solid var(--line2);background:var(--surface);box-shadow:var(--shadow)}
.potcard::before{content:"";position:absolute;left:0;top:0;right:0;height:9px;background:var(--hl);border-bottom:1px solid var(--line2)}
.potcard h3{display:flex;align-items:center;gap:9px;font-size:18px;margin-top:8px}
.potcard h3 svg{color:var(--accent-ink)}
.potrow{display:grid;grid-template-columns:auto minmax(0,1fr);gap:22px;align-items:center}
.potring{display:grid;gap:8px;width:132px}
.potring .mid{display:grid;order:-1}
.potring b{font:500 34px/1 var(--f-mono);letter-spacing:-.05em}.potring small{font-size:11px;color:var(--mut)}
.potring .rbar{height:10px}
.potring.hot b{color:var(--accent-ink)}
.potamt{display:grid;gap:2px}.potamt small{color:var(--mut);font-size:13px}.potamt b{font:500 32px/1.1 var(--f-mono);letter-spacing:-.045em}.potamt span{color:var(--mut);font-size:13.5px}
.potmeta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.potmeta div{display:grid;padding:11px 13px;border:1px dashed var(--line2)}.potmeta small{color:var(--mut);font-size:12px}.potmeta b{font:500 14px var(--f-mono);overflow-wrap:anywhere}
.potwin{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;background:var(--good);color:var(--bg);border:1px solid var(--line2)}
.potwin b{font:500 20px var(--f-mono)}.potwin small{display:block;opacity:.85}
.you{color:var(--accent-ink);font-weight:800}
.winlist{display:grid;gap:0}
.pot-note{font-size:13px;color:var(--mut)}

/* ---------- 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}
.pt{font-size:clamp(34px,5vw,60px);font-weight:800;letter-spacing:-.055em}
.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;height:42px}
.xchains{margin:0 0 12px}
.xleg{margin:0 0 14px}
.race{list-style:none;margin:0;padding:0;border:1px solid var(--line2);background:var(--surface);box-shadow:var(--shadow)}
.rc{display:grid;grid-template-columns:34px minmax(150px,230px) minmax(0,1fr) 84px 96px;gap:16px;align-items:center;padding:12px 14px;border-top:1px dashed var(--line2)}
.race li:first-child .rc{border-top:0}
.rc:hover{background:var(--hover);color:inherit}
.rk{font:500 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:30px;min-width:0}
.rb i{display:block;height:100%;background:repeating-linear-gradient(90deg,var(--ink) 0 3px,transparent 3px 7px);transform-origin:left;animation:grow .8s cubic-bezier(.2,.8,.2,1) both}
.rb em{position:absolute;left:0;font:500 13px var(--f-mono);font-style:normal;background:var(--surface);padding:0 6px 0 0}
@keyframes grow{from{transform:scaleX(0)}}
.rp{text-align:right}.rd{display:flex;justify-content:flex-end}

/* ---------- launch ---------- */
.phead{margin-bottom:26px;max-width:72ch}.phead p{margin-top:12px;color:var(--mut);font-size:16px;max-width:62ch}
.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);background:var(--surface);box-shadow:var(--shadow);margin-bottom:26px;position:relative}
.pass::before,.pass::after{content:"";position:absolute;top:calc(50% - 9px);width:18px;height:18px;border-radius:50%;background:var(--bg);border:1px solid var(--line2)}
.pass::before{left:-10px}.pass::after{right:-10px}
.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:760 20px var(--f-disp);letter-spacing:-.04em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pass-n small{font:500 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:500 28px var(--f-mono);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:650}
.pass-roads li{display:inline-flex;gap:5px;align-items:center}
.pass-roads em{font:500 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:500 15px var(--f-mono)}
.wiz{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:22px;border:1px solid var(--line2);background:var(--surface)}
.wiz button{display:flex;align-items:center;gap:11px;padding:12px 14px;text-align:left;color:var(--mut);font-weight:700;border-left:1px solid var(--line2)}
.wiz button:first-child{border-left:0}
.wiz button:hover{color:var(--ink);background:var(--surface2)}
.wiz i{flex:none;width:26px;height:26px;border:1px solid var(--line2);display:grid;place-items:center;font:500 12.5px var(--f-mono);font-style:normal}
.wiz button.on{color:var(--ink);background:var(--hover);color:inherit}
.wiz button.on i{background:var(--sel);border-color:transparent;color:var(--on-sel)}
.wiz button.done i{border-color:var(--good);color:var(--good)}
.build{max-width:880px}
.bcol{display:grid;gap:16px;min-width:0}
.bsec{display:none;padding:28px;border:1px solid var(--line2);background:var(--surface);box-shadow:var(--shadow)}
.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}
.bsec>header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:20px}
.bsec h2{font-size:22px;font-weight:780}
.bsec header span{font-size:13px;color:var(--mut)}
.wnav{display:flex;justify-content:space-between;gap:12px;margin-top:20px}
.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);background:var(--bg);display:grid;place-items:center;color:var(--mut);font-size:12.5px;overflow:hidden}
.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{background:var(--hover);color:inherit}
.idf{display:grid;gap:14px}
.more{border-top:1px dashed var(--line2);padding-top:14px}.more summary{cursor:pointer;font-weight:700}.mbody{display:grid;gap:14px;margin-top:14px}
.chpick{display:grid;grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:10px}
.chp{position:relative;display:grid;gap:2px;text-align:left;padding:12px 14px 12px 18px;border:1px solid var(--line2);background:var(--bg)}
.chp::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--cc)}
.chp b{display:flex;align-items:center;gap:8px;font-size:14.5px}.chp small{font:500 11px var(--f-mono);color:var(--mut)}
.chp .ck{margin-left:auto;width:18px;height:18px;border:1px solid var(--line2);display:grid;place-items:center;color:var(--on-accent)}
.chp.on{border-color:var(--line2);background:var(--surface);box-shadow:none}
.chp.on .ck{background:var(--accent);border-color:var(--line2)}
.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:500 clamp(44px,6vw,68px)/1 var(--f-mono);letter-spacing:-.07em}.taxbig small{color:var(--mut);font-size:13px}
.splitrow{display:grid;gap:8px;padding:16px;border:1px dashed var(--line2)}
.evmonly{display:inline-flex;align-items:center;gap:6px;font:500 11px var(--f-mono);padding:1px 8px;border:1px solid var(--line2);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(--line2);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(--line2);background:var(--hover);color:inherit;box-shadow:none}
.payb.on small{color:var(--mut)}
.receipt{border-top:1px dashed var(--line2)}
.lstat{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start}
.lhead h1{font-size:clamp(30px,4.4vw,48px);margin:14px 0 12px;letter-spacing:-.05em}.lhead p{max-width:44ch}
.acts{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.journey{list-style:none;padding:12px 22px;margin:0;border:1px solid var(--line2);background:var(--surface);box-shadow:var(--shadow)}
.jst{position:relative;display:flex;align-items:center;gap:14px;padding:14px 0}
.jst i{width:30px;height:30px;border:1px 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(--line2);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(--line2);padding:2px 9px}

/* ---------- coin page ---------- */
.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}
.thead .tid{flex:1}
.tid{min-width:0}.tid h1{font-size:clamp(28px,3.4vw,44px);letter-spacing:-.055em;line-height:1}
.tid h1 small{display:block;margin-top:6px;font:500 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;justify-content:flex-end;text-align:right}
.px small{width:100%;color:var(--mut);font-size:12.5px;text-align:right}
.px b{font:500 clamp(30px,3.4vw,44px) var(--f-mono);letter-spacing:-.06em}
.px span{font:500 13.5px var(--f-mono)}
.strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.st{display:grid;grid-template-columns:auto 1fr auto;gap:1px 9px;align-items:center;text-align:left;padding:10px 14px;border:1px solid var(--line2);background:var(--surface)}
.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:500 12px var(--f-mono);font-style:normal}
.st.on{border-color:var(--line2);box-shadow:none;background:var(--hover);color:inherit}
.st.on span{color:var(--mut)}
.cabar{display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap;margin:14px 0 26px;padding:11px 14px;border:1px dashed var(--line2);background:var(--surface)}
.cabar .ca-l{font-size:13px;font-weight:700;color:var(--mut);white-space:nowrap}
.cabar .ca-a{flex:1 1 280px;min-width:0;font-size:12.5px;overflow-wrap:anywhere;word-break:break-all}
.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}
.dos-l,.dos-r{grid-template-columns:minmax(0,1fr)}
.dos-l>*,.dos-r>*{min-width:0}
.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:500 30px var(--f-mono);letter-spacing:-.05em}
.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:500 12px var(--f-mono);padding:4px 8px;white-space:nowrap;transform:translateY(-100%)}
.ribbon{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px dashed var(--line2)}
.ribbon div{padding:13px 18px;display:grid;gap:1px;border-right:1px dashed var(--line2)}.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(--line2)}
.tabs button{padding:13px 20px;font-weight:700;color:var(--mut);margin-bottom:-1px;border:1px solid transparent}
.tabs button.on{color:var(--ink);background:var(--hover);color:inherit;border-color:var(--line2) var(--line2) var(--bg)}
.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:700;padding:11px 16px;white-space:nowrap}
td{padding:11px 16px;border-top:1px dashed var(--line2);white-space:nowrap}
th.r,td.r{text-align:right}
.ticket{display:grid;gap:14px}
.taxcard{display:grid;gap:14px}
.big{display:grid;padding:14px;border:1px dashed var(--line2)}.big small{color:var(--mut);font-size:12.5px}.big b{font:500 26px var(--f-mono);letter-spacing:-.04em}
.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.two div{display:grid}.two b{font:500 15px var(--f-mono)}.two small{font-size:12px;color:var(--mut)}
.cd{font-size:13px;color:var(--mut);text-align:center}
.trio{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;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}
.rec{margin-top:14px}
.track{list-style:none;padding:0;margin:0;display:grid}
.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:1px solid var(--line2);background:var(--bg);display:grid;place-items:center}
.track li.done i{background:var(--good);border-color:var(--line2);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)}
.rmap{padding:18px 22px 24px;border:1px solid var(--line2);background:var(--surface);box-shadow:var(--shadow);background-image:radial-gradient(var(--line2) 1px,transparent 1.2px);background-size:18px 18px}
.rmap-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.rmap-hint{font-weight:650;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;background:var(--accent);color:var(--on-accent);font:500 12px var(--f-mono);border:1px solid var(--line2)}
.rsel{width:auto;max-width:100%;height:40px;font-size:14px}
.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:butt;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:500 clamp(30px,5vw,56px)/1 var(--f-mono);letter-spacing:-.06em;color:var(--accent-ink)}
.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:10px 16px;border:1px solid var(--line2);background:var(--surface);box-shadow:none;transition:background .15s}
.rn .cdot{grid-row:span 2}
.rn b{font:700 15px var(--f-disp);letter-spacing:-.03em;text-align:left}
.rn small{grid-column:1/-1;font:500 11px var(--f-mono);color:var(--mut);text-align:center}
.rn em{grid-column:1/-1;font:500 11px var(--f-mono);font-style:normal;color:var(--accent-ink);text-align:center}
.rn:hover:not(:disabled){background:var(--hover);color:inherit}
.rn.from,.rn.to{background:var(--hover);color:inherit}
.rn.from small,.rn.to small{color:var(--mut)}
.rn:disabled{opacity:.3;box-shadow:none}
.rpass{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:20px;align-items:start}
.rp-amt,.rp-sum{padding:24px;border:1px solid var(--line2);background:var(--surface);box-shadow:var(--shadow)}
.rp-amt .lbl{display:block;margin-bottom:8px}
.amtbox{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:3px 12px 3px 3px;border:1px solid var(--line2);background:var(--bg)}
.amtbox:focus-within{outline:2px solid var(--gold)}
.amtbox .in{height:56px;font-size:24px;font-weight:600;border:0;background:transparent}
.amtbox .in:focus{outline:0;background:transparent}
.amtbox .btn{height:30px}
.amtbox.ro .in{color:var(--mut)}
.rrec{margin-top:30px}.rrec h3{font-size:20px;margin-bottom:12px}
.rrec #recent{border:1px solid var(--line2);padding:4px 18px;background:var(--surface);box-shadow:var(--shadow)}

/* ---------- rewards ---------- */
.rsum{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:30px}
.rbox{padding:20px;border:1px solid var(--line2);background:var(--surface);display:grid;gap:4px;box-shadow:none}
.rbox small{color:var(--mut);font-size:13px}.rbox b{font:500 28px var(--f-mono);letter-spacing:-.05em}
.rbox.hot{background:var(--hover);color:inherit}.rbox.hot small{color:var(--mut)}
.blk{margin-bottom:36px}.bh{margin-bottom:14px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding-bottom:10px;border-bottom:1px solid var(--line2)}.bh h2{font-size:22px;font-weight:780}
.earn{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}
.ecard{border:1px solid var(--line2);background:var(--surface);padding:6px 18px 8px;box-shadow:none}
.ecard header{display:flex;justify-content:space-between;align-items:center;padding:12px 0}
.etot{text-align:right}.etot b{font:500 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 dashed var(--line2)}
.eline .en{display:grid;gap:1px}
.hist{display:grid;border:1px solid var(--line2);background:var(--surface);box-shadow:var(--shadow)}
.hrow2{display:flex;align-items:center;gap:12px;padding:13px 18px;border-top:1px dashed var(--line2);flex-wrap:wrap}.hrow2:first-child{border-top:0}.hrow2 .sp{margin-left:auto}.hrow2:hover{background:var(--hover);color:inherit}
.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:5px solid var(--accent);background:var(--surface);border-top:1px solid var(--line2);border-right:1px solid var(--line2);border-bottom:1px solid var(--line2);color:var(--ink)!important;font-size:14.5px}
.dtable{border:1px solid var(--line2);overflow:auto;background:var(--surface)}
.dtable table{min-width:480px}
.dfig{padding:20px;border:1px solid var(--line2);background:var(--surface);display:grid;gap:14px}
.dfig figcaption{font-size:13px;color:var(--mut)}
.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:var(--bg);border-bottom:1px solid var(--line2)}
.dstrip a{flex:none;padding:7px 16px;border:1px solid var(--line2);font-weight:650;font-size:14px;color:var(--mut);white-space:nowrap}
.dstrip a:hover{color:var(--ink);border-color:var(--line2)}
.dstrip a.on{background:var(--sel);color:var(--on-sel);border-color:transparent}
.chap{padding-top:52px;scroll-margin-top:64px}
.chap-h{display:flex;align-items:baseline;gap:20px;padding-bottom:18px;border-bottom:1px solid var(--line2)}
.chap-h i{font:500 clamp(18px,2vw,24px) var(--f-mono);font-style:normal;color:var(--accent-ink)}
.chap-h h2{font-size:clamp(32px,5vw,60px);letter-spacing:-.055em}
.drow{display:grid;grid-template-columns:minmax(0,230px) minmax(0,1fr);gap:16px 48px;padding:30px 0;border-bottom:1px dashed var(--line2);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 dashed var(--line2);padding:13px 0}.dbody details:first-child{border-top:0}
.dbody summary{cursor:pointer;font-weight:700;color:var(--ink)}
.dbody details p{margin-top:8px}
.dbody li .cchip{vertical-align:middle}

/* ---------- overlays ---------- */
.toast{position:fixed;left:50%;bottom:36px;transform:translate(-50%,20px);background:var(--ink);color:var(--bg);padding:11px 18px;font-weight:650;font-size:14px;opacity:0;pointer-events:none;transition:.25s;z-index:80;max-width:90vw;border:1px solid var(--line2)}
.toast.show{opacity:1;transform:translate(-50%,0)}
.modal{position:fixed;inset:0;background:rgba(4,14,10,.6);display:grid;place-items:center;z-index:70;padding:16px}
.mbox{background:var(--surface);border:1px solid var(--line2);box-shadow:var(--shadow);padding:24px;max-width:460px;width:100%}
.find{position:fixed;inset:0;background:rgba(4,14,10,.6);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);box-shadow:var(--shadow);overflow:hidden}
.find input{width:100%;height:56px;padding:0 20px;border:0;border-bottom:1px solid var(--line2);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}.find .res a.cur,.find .res a:hover{background:var(--hover);color:inherit}
.find .res .av{width:34px;height:34px}
.nmw{font:inherit;color:inherit;letter-spacing:inherit}
.shell,main#app{min-width:0;max-width:100%}


/* ---------- soft shapes ---------- */
.card,.pane,.rows,.race,.quotes,.hist,.dtable,.dfig,.rbox,.ecard,.official,.potcard,.bsec,.journey,.pass,.rmap,.rp-amt,.rp-sum,.rrec #recent,.mbox,.find .box,.coin,.panel{border-radius:24px;background:var(--surface);border:1px solid var(--rim);box-shadow:var(--shadow)}
.rows,.race,.hist,.dtable,.potcard,.rmap{overflow:hidden}
.in{border-radius:14px;border:1px solid var(--line2);background:color-mix(in srgb,var(--bg) 40%,var(--surface))}
.btn,.wbtn,.seg,.chips button,.xchains button,.tag,.pill,.pchip,.stk,.quick button,.dstrip a,.payb,.toast{border-radius:999px}
.seg{overflow:hidden}.seg button{border-radius:0}
.btn.pri{box-shadow:0 4px 0 #B58B00;border:0}
.btn.pri:hover:not(:disabled){box-shadow:0 5px 0 #B58B00;transform:translateY(-1px)}
.btn.pri:active:not(:disabled){box-shadow:0 1px 0 #B58B00;transform:translateY(3px)}
.btn{box-shadow:none;background:transparent;border:1.5px solid var(--line2)}
.btn:hover:not(:disabled){background:var(--hover);box-shadow:none;transform:none;border-color:var(--ink)}
.btn.sm{box-shadow:none}
.chp,.st,.cabar,.payb,.splitrow,.potmeta div,.big,.ofl .oa,.warnbox,.noticebar,.drop,.callout{border-radius:16px}
.chp.on,.payb.on,.st.on{background:color-mix(in srgb,var(--gold) 18%,var(--surface));border-color:var(--gold);color:inherit}
.wiz{border-radius:999px;overflow:hidden;border:1px solid var(--rim);background:var(--surface)}
.wiz button.on{background:color-mix(in srgb,var(--gold) 20%,transparent);color:inherit}
.pass::before,.pass::after{display:none}
.cdot{border-radius:50%;transform:none}
.sbar,.sbar i{border-radius:999px;border:0}.sbar{gap:3px}.sbar i{border:0}
.sleg .sw{border-radius:5px;border:0}
.av{border:2px solid rgba(255,255,255,.85)}
.potwin{border-radius:16px;background:color-mix(in srgb,var(--good) 22%,var(--surface));color:var(--ink)}
.potcard::before{display:none}
.rmap{background-image:radial-gradient(var(--line) 1px,transparent 1.2px);background-size:20px 20px}
.rn{border-radius:18px;box-shadow:none;border:1px solid var(--line2)}
.rn:hover:not(:disabled),.rn.from,.rn.to{background:color-mix(in srgb,var(--gold) 20%,var(--surface));color:inherit;border-color:var(--gold)}
.rn.from small,.rn.to small{color:var(--mut)}
.rl{stroke:var(--gold)}
.rcore b{color:var(--gold)}
.amtbox{border-radius:16px;border:1px solid var(--line2);background:color-mix(in srgb,var(--bg) 40%,var(--surface))}
.rbox.hot{background:color-mix(in srgb,var(--gold) 20%,var(--surface));color:inherit}
.rng::-webkit-slider-thumb{border-radius:50%;width:26px;height:26px;margin-top:-10px;background:var(--gold);border:4px solid var(--surface)}
.rng::-webkit-slider-runnable-track{border:0;border-radius:99px;background:linear-gradient(90deg,var(--k) var(--p),var(--line2) var(--p))}
.rng::-moz-range-track{border:0;border-radius:99px;background:linear-gradient(90deg,var(--k) var(--p),var(--line2) var(--p))}
.rng::-moz-range-thumb{border-radius:50%;background:var(--gold);border:4px solid var(--surface)}
.official{outline:0}
.official .verified{border-radius:999px;background:var(--good);color:#06240F}
.tabs{border-bottom:1px solid var(--line)}
.tabs button.on{border-bottom:2px solid var(--gold);background:transparent;margin-bottom:-1px;border-radius:0}
.rows .rw:last-child,.hist>*:last-child{border-bottom:0}
a.rw:hover,.rc:hover,.hrow2:hover,a.qrow:hover{background:var(--hover)}
.coin{display:grid;gap:12px;padding:18px;transition:transform .25s cubic-bezier(.3,1,.4,1),border-color .2s}
.coin:hover{transform:translateY(-5px);background:var(--surface);border-color:var(--gold)}
.ctop .stk{margin-left:auto;align-self:flex-start}
.cpot{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;color:var(--mut)}.cpot b{font:500 15px var(--f-mono);color:var(--gold)}
:root[data-theme="light"] .cpot b{color:var(--accent-ink)}
@media (prefers-color-scheme:light){:root:not([data-theme="dark"]) .cpot b{color:var(--accent-ink)}}
.crown{top:16px;right:18px;position:absolute}
.coin .ctop .stk{margin-right:34px}

/* ---------- shell: a top bar ---------- */
.top{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--bg) 78%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.top-in{max-width:1200px;margin:0 auto;padding:0 28px;height:72px;display:flex;align-items:center;gap:20px}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:25px;letter-spacing:-.055em}
.brand svg{border-radius:10px;transition:transform .5s cubic-bezier(.3,1.5,.5,1)}.brand:hover svg{transform:rotate(-12deg) scale(1.06)}
.topnav{display:flex;gap:2px;margin:0 auto;padding:4px;border:1px solid var(--line2);border-radius:999px;background:color-mix(in srgb,var(--surface) 55%,transparent)}
.topnav a{padding:8px 17px;border-radius:999px;font-weight:700;font-size:15px;color:var(--mut);transition:color .2s,background .2s}
.topnav a:hover{color:var(--ink)}
.topnav a.on{background:var(--gold);color:var(--navy)}
.tools{display:flex;align-items:center;gap:8px}
.rclock{display:flex;align-items:center;gap:8px;height:44px;padding:0 14px 0 8px;border:1px solid var(--line2);border-radius:999px}
.rclock .mring{display:grid;width:30px;height:30px}.rclock .mring svg{width:30px;height:30px}
.rclock span:last-child{display:grid;line-height:1.05}.rclock small{font-size:10.5px;color:var(--mut);font-weight:650}.rclock b{font:500 15px var(--f-mono)}
.rclock.hot b{color:var(--gold)}
.trk{stroke:var(--line2)}.arc{stroke:var(--gold);transition:stroke-dashoffset .9s linear}.dot{fill:var(--gold)}
.ib{width:44px;height:44px;border:1px solid var(--line2);border-radius:50%;display:grid;place-items:center;color:var(--ink)}
.ib:hover{background:var(--hover)}
.wbtn{height:44px;padding:0 20px;border-radius:999px;background:var(--gold);color:var(--navy);font-weight:800;font-size:15px;box-shadow:0 3px 0 #B58B00;transition:transform .12s,box-shadow .12s}
.wbtn:hover{transform:translateY(-1px);box-shadow:0 4px 0 #B58B00}.wbtn:active{transform:translateY(2px);box-shadow:0 1px 0 #B58B00}
.wbtn.on{background:transparent;color:var(--ink);border:1px solid var(--line2);box-shadow:none;font:500 13px var(--f-mono)}
.page{width:100%;max-width:1200px;margin:0 auto;padding:44px 28px 80px;outline:none;min-height:70vh}
.foot{border-top:1px solid var(--line);padding:34px 28px 60px;background:color-mix(in srgb,var(--bg) 60%,transparent)}
.foot-in{max-width:1200px;margin:0 auto;display:grid;gap:14px}
.foot-top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.foot .brand{font-size:20px}
.flinks{display:flex;gap:22px;flex-wrap:wrap;font-weight:650;color:var(--mut)}.flinks a:hover{color:var(--ink)}
.fsay{font-weight:700}
.tabbar{display:none}

/* ---------- home ---------- */
.hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:30px;align-items:center;padding:22px 0 80px}
.pilltag{display:inline-flex;align-items:center;gap:9px;padding:6px 14px;border:1px solid var(--line2);border-radius:999px;font-weight:700;font-size:13.5px;margin-bottom:22px}
.pilltag i{width:9px;height:9px;border-radius:50%;background:var(--good);box-shadow:0 0 0 0 var(--good);animation:pulse 1.8s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 9px transparent}100%{box-shadow:0 0 0 0 transparent}}
.hero h1{font-size:clamp(46px,7vw,96px);font-weight:820;letter-spacing:-.06em;line-height:.95}
.hero .sub{margin-top:24px;font-size:19px;line-height:1.5;color:var(--mut);max-width:48ch}
.cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.micro{margin-top:18px;font-size:13.5px;color:var(--mut);max-width:54ch}
.hero-ring{position:relative;display:grid;place-items:center;aspect-ratio:1;max-width:520px;width:100%;margin-inline:auto}
.bigring{position:relative;width:62%;aspect-ratio:1;transition:transform .4s cubic-bezier(.3,1.4,.5,1)}
.hero-ring:hover .bigring{transform:scale(1.04) rotate(-3deg)}
.bigring svg{width:100%;height:100%;display:block;overflow:visible}
.bigring .trk{stroke:rgba(255,255,255,.2)}
:root[data-theme="light"] .bigring .trk{stroke:rgba(43,59,255,.16)}
.bigring .mid{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:2px}
.bigring .mid small{font-weight:700;color:var(--mut);font-size:14px}
.bigring .mid b{font:500 clamp(44px,7vw,78px)/1 var(--f-mono);letter-spacing:-.07em}
.bigring .mid span{font-weight:700;font-size:13px;color:var(--gold)}
:root[data-theme="light"] .bigring .mid span{color:var(--accent-ink)}
.hero-ring.hot .bigring .mid b{color:var(--gold)}
.orbit{position:absolute;inset:0;animation:spin 60s linear infinite;pointer-events:none}
.ob{position:absolute;left:50%;top:50%;width:0;height:0;transform:rotate(var(--a)) translateY(-48%)}
.ob .chipw{position:absolute;left:0;top:0;transform:translate(-50%,-50%) rotate(calc(var(--a) * -1));pointer-events:auto;display:flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:var(--surface);border:1px solid var(--line2);box-shadow:var(--shadow);animation:counter 60s linear infinite;white-space:nowrap;font-size:13px}
.ob{transform:rotate(var(--a)) translateY(-230px)}
.ob .chipw b{font-weight:800}.ob .chipw span{font:500 12.5px var(--f-mono);color:var(--good)}
.orbit:hover,.orbit:hover .chipw{animation-play-state:paused}
@keyframes counter{from{transform:translate(-50%,-50%) rotate(calc(var(--a) * -1))}to{transform:translate(-50%,-50%) rotate(calc(var(--a) * -1 - 360deg))}}
@keyframes spin{to{transform:rotate(360deg)}}
.ob{--r:0}
.sec{padding-bottom:84px}
.sh{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:24px;flex-wrap:wrap}
.sh h2{font-size:clamp(28px,3.8vw,44px);font-weight:800;letter-spacing:-.05em}
.sh p{color:var(--mut);margin-top:8px;max-width:52ch}
.reel{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 4px 22px;margin:-6px -4px 0;scrollbar-width:thin}
.reel .coin{flex:0 0 270px;scroll-snap-align:start}
.flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;list-style:none;margin:0;padding:0;position:relative}
.flow::before{content:"";position:absolute;left:8%;right:8%;top:30px;border-top:3px dashed var(--line2)}
.flow li{position:relative;display:grid;gap:10px;justify-items:center;text-align:center;padding:0 10px}
.flow i{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:var(--navy);font:800 26px var(--f-disp);font-style:normal;box-shadow:0 0 0 8px color-mix(in srgb,var(--gold) 24%,transparent);animation:bob 4s ease-in-out infinite}
.flow li:nth-child(2) i{animation-delay:.5s}.flow li:nth-child(3) i{animation-delay:1s}
@keyframes bob{50%{transform:translateY(-6px)}}
.flow h3{font-size:26px}.flow p{color:var(--mut);max-width:34ch}
.duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.panel{padding:28px}.panel .sh{margin-bottom:18px}.panel .sh h2{font-size:28px}
.taxviz{display:grid;grid-template-columns:150px minmax(0,1fr);gap:24px;align-items:center;margin-bottom:16px}
.donut{width:100%;height:auto}
.donut circle{transition:stroke-dasharray .6s}
.dn-pl{stroke:var(--s-pl)}.dn-pot{stroke:var(--s-pot)}.dn-cr{stroke:var(--s-cr)}
.dn-t{font:500 6px var(--f-mono);fill:var(--ink)}
.quotes{display:grid;gap:8px;border:0;box-shadow:none;background:transparent}
.qrow{display:grid;grid-template-columns:1.1fr 1fr .8fr auto;gap:10px;align-items:center;padding:12px 16px;border-radius:16px;border:1px solid var(--line);background:color-mix(in srgb,var(--bg) 35%,var(--surface))}
.qrow:hover{border-color:var(--gold)}
.qrow .tkr{display:flex;align-items:center;gap:10px;font:800 20px var(--f-disp);letter-spacing:-.04em}
.qrow .tkr i{width:32px;height:32px;border-radius:50%;background:var(--gold);color:var(--navy);display:grid;place-items:center;font:600 11px var(--f-mono);font-style:normal}
.badges{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;list-style:none;padding:0;margin:0}
.cbadge{display:grid;justify-items:center;gap:4px;text-align:center;padding:22px 12px;border:1px solid var(--rim);border-radius:24px;background:var(--surface);transition:transform .3s cubic-bezier(.3,1.4,.5,1)}
.cbadge:hover{transform:translateY(-6px) rotate(-1.5deg)}
.cbadge .orb{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--cc) 24%,transparent);border:2px solid var(--cc);margin-bottom:6px}
.cbadge .orb .cdot{width:18px;height:18px}
.cbadge b{font-size:17px}.cbadge small{color:var(--mut);font-size:12.5px;line-height:1.35}
.cbadge.off{opacity:.45}

/* ---------- explore tweaks ---------- */
.cgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(262px,1fr));gap:16px}
.rb i{border-radius:6px;background:linear-gradient(90deg,color-mix(in srgb,var(--gold) 35%,transparent),var(--gold))}
.rb em{background:transparent;left:12px;padding:0;color:var(--navy);mix-blend-mode:normal;text-shadow:none}
.rbar{display:block;height:8px;border-radius:99px;background:var(--line2);position:relative;overflow:hidden;--p:0%}
.rbar::after{content:"";position:absolute;inset:0;width:var(--p);background:var(--gold)}
.potring{position:relative;width:132px;height:132px;display:block}
.potring svg{width:100%;height:100%}
.potring .mid{position:absolute;inset:0;display:grid;place-content:center;text-align:center;order:0}
.potring b{font:500 25px/1 var(--f-mono);letter-spacing:-.05em}.potring small{font-size:11px;color:var(--mut);margin-top:3px}
.potring.hot b{color:var(--gold)}

/* ---------- responsive ---------- */
@media (max-width:1180px){
  .dos{grid-template-columns:minmax(0,1fr)}.dos-l{position:static}
  .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}
  .hero{grid-template-columns:minmax(0,1fr)}
  .duo{grid-template-columns:minmax(0,1fr)}
  .badges{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:900px){
  .top-in{height:60px;padding:0 14px;gap:8px}
  .topnav,.rclock span:last-child small{display:none}
  .rclock{margin-left:auto;height:38px;padding:0 10px 0 6px}.rclock .mring,.rclock .mring svg{width:24px;height:24px}
  .tools{gap:6px}.tools .ib{width:38px;height:38px}.wbtn{height:38px;padding:0 12px;font-size:13px;white-space:nowrap}.wbtn.on{font-size:11.5px}
  .brand{font-size:21px}.brand svg{width:30px;height:30px}
  .tabbar{display:grid;grid-template-columns:repeat(6,1fr);position:fixed;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom,0px));z-index:40;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)}
  .tabbar a{display:grid;justify-items:center;gap:2px;padding:7px 0 6px;font-size:10.5px;font-weight:700;color:var(--mut);border-radius:999px}
  .tabbar a.on{background:var(--gold);color:var(--navy)}
  .page{padding:26px 16px 110px}.foot{padding-inline:16px;padding-bottom:100px}
  .toast{bottom:92px}
  .hero{padding-bottom:56px}.hero-ring{max-width:380px}
  .ob{transform:rotate(var(--a)) translateY(-150px)}
  .ob .chipw{padding:5px 9px;font-size:11.5px}
  .sec{padding-bottom:60px}
  .flow{grid-template-columns:minmax(0,1fr);gap:34px}.flow::before{display:none}
  .taxviz{grid-template-columns:minmax(0,1fr)}.donut{max-width:170px;margin:0 auto}
  .badges{grid-template-columns:repeat(2,minmax(0,1fr))}
  .panel{padding:20px}
  .rw{grid-template-columns:minmax(0,2fr) 1fr .8fr}.hide-s{display:none}
  .trio{grid-template-columns:minmax(0,1fr)}
  .ribbon{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dtop{grid-template-columns:minmax(0,1fr);gap:12px}
  .px,.px small{justify-content:flex-start;text-align:left}
  .thead{align-items:flex-start}
  .strip{display:flex;overflow-x:auto;padding:2px 2px 8px}.st{flex:0 0 auto;min-width:150px}
  .cabar{margin-bottom:20px}.cabar .ca-a{flex:1 1 100%;order:3}
  .rmap{padding:14px 10px 16px}.rmap-stage{height:420px}
  .rn{min-width:0;padding:8px 10px}.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:60px}
  .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}
  .lstat{grid-template-columns:minmax(0,1fr);gap:28px}
  .rc{grid-template-columns:24px minmax(0,1fr) auto;gap:8px 12px;padding:14px 8px}
  .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}
  .potrow{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:520px){.reel .coin{flex-basis:78vw}.qrow{grid-template-columns:1fr 1fr auto}.qrow small{display:none}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
