:root{
  /* light theme: --bg = page bg, --fg = text color */
  --bg:#ffffff;
  --panel:#f6f5f8;
  --panel2:#edeaf2;
  --border:#b9b3c6;
  --border-dim:#e3e0ea;
  --accent:#7c3aed;
  --green:#16a34a;
  --red:#e5484d;
  --yellow:#d97706;
  --fg:#171522;
  --muted:#6f6a7d;
  --mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
  --sbw:54px;
  --sbw-open:232px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--bg);
  color:var(--fg);
  font-family:var(--mono);
  font-size:15px;
  line-height:1.6;
  overflow-x:hidden;
}
/* ── background texture ───────────────────────── */
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background-image:
    repeating-linear-gradient(0deg,rgba(23,21,34,.035),rgba(23,21,34,.035) 1px,transparent 2px,transparent 4px),
    repeating-linear-gradient(90deg,rgba(23,21,34,.025),rgba(23,21,34,.025) 1px,transparent 2px,transparent 6px);
}
body::after{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(900px 500px at 20% 10%,rgba(124,58,237,.09) 0,transparent 60%),
    radial-gradient(700px 380px at 85% 75%,rgba(124,58,237,.05) 0,transparent 55%);
}
main,header,footer{position:relative;z-index:1}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
::selection{background:var(--accent);color:#fff}

/* ── sidebar (expands on hover) ───────────────── */
.sidebar{
  position:fixed;top:0;left:0;bottom:0;width:var(--sbw);z-index:60;
  display:flex;flex-direction:column;
  background:var(--bg);border-right:1px solid var(--border-dim);
  overflow:hidden;white-space:nowrap;
  transition:width .28s cubic-bezier(.4,0,.2,1),box-shadow .28s;
}
.sidebar:hover{
  width:var(--sbw-open);
  box-shadow:12px 0 40px rgba(23,21,34,.12);
}
.lbl{
  opacity:0;transform:translateX(-8px);
  transition:opacity .22s .06s,transform .22s .06s;
  font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;
}
.sidebar:hover .lbl{opacity:1;transform:none}
.sb-brand{
  display:flex;align-items:center;gap:14px;
  border-bottom:1px solid var(--border-dim);
  color:var(--fg);flex-shrink:0;
}
.sb-brand:hover{text-decoration:none}
.sb-brand .lbl{color:var(--accent);font-size:14px}
.sb-logo{
  width:calc(var(--sbw) - 1px);height:calc(var(--sbw) - 1px);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  background:#fff;color:var(--accent);overflow:hidden;
}
.sb-logo img{display:block;width:100%;height:100%;object-fit:cover}
.sb-status{
  display:flex;align-items:center;gap:14px;
  border-bottom:1px solid var(--border-dim);
  padding:12px 0;flex-shrink:0;
}
.sb-status .sdot{
  width:8px;height:8px;border-radius:50%;background:var(--muted);
  margin-left:23px;flex-shrink:0;
}
.sb-status.connected .sdot{background:var(--green)}
.sb-status .lbl{color:var(--muted);font-size:10px}
.sb-nav{display:flex;flex-direction:column;width:100%;margin-top:6px;flex:1}
.sb-link{
  position:relative;display:flex;align-items:center;gap:14px;
  width:100%;height:48px;color:var(--muted);
  padding-left:17px;transition:color .15s,background .15s;
}
.sb-link:hover{color:var(--fg);background:var(--panel);text-decoration:none}
.sb-link.active{color:var(--accent);background:var(--panel)}
.sb-link.active::before{
  content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;background:var(--accent);
}
.sb-link svg{width:20px;height:20px;flex-shrink:0}
.sb-link .lbl{font-size:12px}
.sb-bottom{margin-bottom:10px;width:100%;flex-shrink:0}
.sb-link.connect{
  border:1px solid var(--border-dim);
  height:42px;margin:0 8px;width:auto;padding-left:8px;
}
.sb-link.connect:hover{border-color:var(--accent);color:var(--accent);background:transparent}

/* ── page shell ───────────────────────────────── */
.page{margin-left:var(--sbw)}
.topbar{
  position:sticky;top:0;z-index:50;
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 24px;
  background:rgba(255,255,255,.92);backdrop-filter:blur(8px);
  border-bottom:1px solid var(--border-dim);
}
.topbar .crumb{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:2px}
.topbar .crumb b{color:var(--accent)}
.topbar .actions{display:flex;gap:10px;align-items:center}

/* ── promo banner ─────────────────────────────── */
.promo{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  margin:18px 24px 0;padding:12px 18px;
  border:1px solid var(--border-dim);background:var(--panel);
  font-size:12.5px;color:var(--muted);
  position:relative;z-index:1;
}
.promo b{color:var(--accent)}
.promo .count{color:var(--fg);font-weight:700}
.promo a{margin-left:auto;white-space:nowrap}

/* ── buttons ──────────────────────────────────── */
.btn{
  display:inline-block;padding:10px 22px;
  background:var(--accent);color:#fff!important;
  font-family:var(--mono);font-size:13px;font-weight:700;
  text-transform:uppercase;letter-spacing:1px;
  border:1px solid var(--accent);cursor:pointer;
  transition:all .15s;
}
.btn:hover{background:transparent;color:var(--accent)!important;text-decoration:none}
.btn-ghost{background:transparent;color:var(--accent)!important;border:1px solid var(--border)}
.btn-ghost:hover{border-color:var(--accent)}
.btn.sm{padding:7px 14px;font-size:12px}

/* ── hero ─────────────────────────────────────── */
.hero{
  min-height:72vh;display:flex;flex-direction:column;
  align-items:flex-start;justify-content:center;
  text-align:left;padding:70px 24px 50px;
  max-width:1080px;margin:0 auto;
  position:relative;isolation:isolate;
}
.hero-brokers{
  position:absolute;inset:0 -180px;z-index:0;
  overflow:hidden;pointer-events:none;
}
.hero-broker{
  --size:160px;--tilt:-4deg;--duration:14s;
  position:absolute;width:clamp(96px,13vw,var(--size));aspect-ratio:1;
  object-fit:cover;image-rendering:pixelated;
  opacity:.24;filter:blur(1.25px) saturate(.88) contrast(.96);
  border:1px solid rgba(124,58,237,.22);
  box-shadow:0 18px 50px rgba(55,34,98,.14);
  will-change:transform;
  animation:brokerFloat var(--duration) ease-in-out infinite alternate;
}
.hero-broker:nth-child(1){left:1%;top:8%;--size:176px;--tilt:-7deg;--duration:13s;animation-delay:-5s}
.hero-broker:nth-child(2){left:11%;bottom:2%;--size:132px;--tilt:5deg;--duration:16s;animation-delay:-11s}
.hero-broker:nth-child(3){right:1%;top:7%;--size:184px;--tilt:7deg;--duration:15s;animation-delay:-8s}
.hero-broker:nth-child(4){right:12%;bottom:-1%;--size:142px;--tilt:-5deg;--duration:17s;animation-delay:-2s}
.hero-broker:nth-child(5){left:47%;top:0;--size:116px;--tilt:4deg;--duration:12s;animation-delay:-9s}
.hero-broker:nth-child(6){right:35%;bottom:3%;--size:112px;--tilt:-3deg;--duration:18s;animation-delay:-14s}
@keyframes brokerFloat{
  0%{transform:translate3d(-7px,8px,0) rotate(var(--tilt)) scale(.98)}
  50%{transform:translate3d(8px,-8px,0) rotate(calc(var(--tilt) + 2deg)) scale(1.01)}
  100%{transform:translate3d(-2px,-18px,0) rotate(calc(var(--tilt) - 2deg)) scale(1.03)}
}
.hero > :not(.hero-brokers){position:relative;z-index:2}
.hero-box{
  border:2px dashed var(--accent);
  padding:26px 34px;display:inline-block;
  background:rgba(255,255,255,.76);
  -webkit-backdrop-filter:blur(3px);
  backdrop-filter:blur(3px);
}
.badge{
  display:inline-flex;align-items:center;gap:8px;
  padding:6px 16px;border:1px solid var(--border);
  background:var(--panel);font-size:12px;
  text-transform:uppercase;letter-spacing:2px;color:var(--muted);
  margin-bottom:28px;
}
.dot{width:8px;height:8px;background:var(--green);border-radius:50%;animation:livePulse 1.6s infinite}
@keyframes livePulse{0%,100%{box-shadow:0 0 0 0 rgba(22,163,74,.5)}50%{box-shadow:0 0 0 6px rgba(22,163,74,0)}}
.hero h1{
  font-size:clamp(44px,9vw,96px);font-weight:800;
  letter-spacing:6px;line-height:1.05;color:var(--fg);
}
.hero h1 .accent{color:var(--accent);text-shadow:0 0 40px rgba(124,58,237,.3)}
.hero .caret{display:inline-block;width:.55em;height:.9em;background:var(--accent);vertical-align:baseline;margin-left:6px;animation:caretBlink 1s steps(1) infinite}
@keyframes caretBlink{50%{opacity:0}}
.hero .sub{margin-top:18px;color:var(--muted);font-size:clamp(15px,2.4vw,20px);letter-spacing:1px}
.hero-stats{
  display:flex;gap:0;margin-top:44px;flex-wrap:wrap;
  border:1px solid var(--border);background:var(--panel);
}
.hero-stat{padding:18px 32px;border-right:1px solid var(--border-dim);min-width:160px}
.hero-stat:last-child{border-right:none}
.hero-stat .v{font-size:22px;font-weight:700;color:var(--accent)}
.hero-stat .l{font-size:11px;text-transform:uppercase;letter-spacing:2px;color:var(--muted);margin-top:4px}
.hero-ctas{display:flex;gap:14px;margin-top:36px;flex-wrap:wrap}

/* xStocks reward desk */
.reward-desk-section{
  max-width:1080px;margin:0 auto;padding:18px 24px 56px;
  position:relative;z-index:2;
}
.reward-desk{
  --desk-bg:rgba(255,255,255,.92);--desk-panel:#f6f5f8;--desk-border:#c9c3d3;
  --desk-text:var(--fg);--desk-muted:var(--muted);
  position:relative;overflow:hidden;padding:32px;
  color:var(--desk-text);background:var(--desk-bg);
  border:1px solid var(--desk-border);
  box-shadow:0 18px 50px rgba(40,27,70,.09);
}
.reward-desk::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.45;
  background:radial-gradient(500px 260px at 80% 0,rgba(124,58,237,.08),transparent 70%);
}
.reward-desk > *{position:relative;z-index:1}
.reward-desk-label{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:20px;
  color:var(--accent);font-size:10px;letter-spacing:2px;text-transform:uppercase;
}
.reward-desk-label .line{height:1px;background:var(--desk-border);flex:1}
.reward-desk-label strong{white-space:nowrap;color:var(--accent)}
.reward-desk-mode{
  padding:3px 8px;border:1px solid rgba(124,58,237,.35);color:var(--accent);
  font-style:normal;white-space:nowrap;
}
.reward-desk-head{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.reward-desk-head h2{
  margin:0;color:var(--desk-text);font-size:clamp(24px,4vw,34px);
  letter-spacing:1px;
}
.reward-desk-status{
  display:inline-flex;align-items:center;gap:8px;color:var(--desk-muted);
  font-size:10px;letter-spacing:1px;text-transform:uppercase;
}
.reward-desk-status i{
  width:8px;height:8px;border-radius:50%;background:var(--yellow);
  box-shadow:0 0 0 4px rgba(217,119,6,.12);
}
.reward-desk-intro{
  max-width:860px;margin:12px 0 22px;color:var(--desk-muted);font-size:13px;line-height:1.7;
}
.reward-desk-intro b{color:var(--desk-text)}
.reward-assets{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}
.reward-asset{
  min-height:118px;display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:18px;background:#fff;border:1px solid var(--desk-border);text-align:center;
}
.reward-amount{color:var(--accent);font-size:28px;font-weight:800;line-height:1}
.reward-asset strong{margin-top:10px;color:var(--accent);font-size:12px;letter-spacing:1px}
.reward-asset span{margin-top:5px;color:var(--desk-muted);font-size:10px;letter-spacing:.5px}
.reward-stream{border:1px solid var(--desk-border);background:#fff}
.reward-stream-head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  padding:10px 14px;background:var(--desk-panel);border-bottom:1px solid var(--desk-border);
  color:var(--desk-muted);font-size:10px;letter-spacing:1px;text-transform:uppercase;
}
.reward-stream-head strong{color:var(--fg)}
.reward-stream-empty{
  display:flex;align-items:center;gap:16px;padding:22px 18px;
  border-bottom:1px solid var(--border-dim);
}
.reward-stream-icon{
  width:42px;height:42px;display:flex;align-items:center;justify-content:center;flex-shrink:0;
  color:#fff;background:var(--accent);font-size:11px;font-weight:800;letter-spacing:1px;
}
.reward-stream-empty strong{font-size:12px;color:var(--fg)}
.reward-stream-empty p{margin-top:4px;color:var(--muted);font-size:11px}
.reward-rules{display:grid;grid-template-columns:repeat(3,1fr)}
.reward-rules div{padding:15px 18px;border-right:1px solid var(--border-dim)}
.reward-rules div:last-child{border-right:none}
.reward-rules b{display:block;color:var(--accent);font-size:16px}
.reward-rules span{display:block;margin-top:2px;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.7px}
.reward-desk-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}

/* ── page head (inner pages) ──────────────────── */
.page-head{max-width:1080px;margin:0 auto;padding:46px 24px 0}
.page-head h1{font-size:clamp(28px,5vw,46px);font-weight:800;letter-spacing:1px}
.page-head .sub{color:var(--muted);margin-top:8px;max-width:720px}
.tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.tag{
  padding:4px 12px;border:1px solid;font-size:11px;
  text-transform:uppercase;letter-spacing:2px;
}
.tag.purple{color:var(--accent);border-color:rgba(124,58,237,.4)}
.tag.green{color:var(--green);border-color:rgba(22,163,74,.4)}
.tag.amber{color:var(--yellow);border-color:rgba(217,119,6,.4)}

/* ── sections ─────────────────────────────────── */
section{max-width:1080px;margin:0 auto;padding:56px 24px;position:relative;z-index:1}
section.tight{padding:32px 24px}
.sec-tag{font-size:12px;text-transform:uppercase;letter-spacing:3px;color:var(--accent);margin-bottom:10px}
.sec-tag::before{content:"// "}
h2{font-size:clamp(26px,4.5vw,40px);font-weight:800;letter-spacing:1px;margin-bottom:14px}
.sec-desc{color:var(--muted);max-width:680px;margin-bottom:36px}

/* ── terminal card ────────────────────────────── */
.terminal{
  border:1px solid var(--border);background:var(--panel);
  box-shadow:0 8px 32px rgba(23,21,34,.08);
}
.terminal-bar{
  display:flex;align-items:center;gap:8px;
  padding:10px 16px;background:var(--panel2);
  border-bottom:1px solid var(--border-dim);
  font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:2px;
}
.terminal-bar .circles{display:flex;gap:6px;margin-right:8px}
.terminal-bar .c{width:10px;height:10px;border-radius:50%}
.terminal-body{padding:26px}
.ca-row{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  padding:14px 16px;background:var(--bg);
  border:1px solid var(--border-dim);margin:18px 0;
}
.ca-row .label{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:1px}
.ca-row code{color:var(--accent);font-size:13px;word-break:break-all}
.copy-btn{
  padding:6px 14px;background:var(--panel2);border:1px solid var(--border);
  color:var(--fg);font-family:var(--mono);font-size:12px;cursor:pointer;
  text-transform:uppercase;letter-spacing:1px;transition:all .15s;
}
.copy-btn:hover{border-color:var(--accent);color:var(--accent)}
.term-ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}

/* ── tabs (AMM) ───────────────────────────────── */
.tabs{
  display:flex;flex-wrap:wrap;border:1px solid var(--border-dim);
  background:var(--panel);margin-bottom:0;
}
.tab{
  padding:12px 20px;font-size:12px;font-weight:700;
  text-transform:uppercase;letter-spacing:1px;cursor:pointer;
  color:var(--muted);border:none;background:transparent;
  font-family:var(--mono);border-right:1px solid var(--border-dim);
  transition:color .15s,background .15s;
}
.tab:hover{color:var(--fg)}
.tab.active{color:var(--accent);background:var(--bg);box-shadow:inset 0 -3px 0 var(--accent)}
.tab-panel{
  display:none;border:1px solid var(--border-dim);border-top:none;
  background:var(--bg);padding:28px;
}
.tab-panel.active{display:block}
.tab-panel h3{font-size:17px;margin-bottom:8px}
.tab-panel p{font-size:13.5px;color:var(--muted);max-width:680px}
.tab-panel ol{margin:14px 0 0 20px;font-size:13.5px;color:var(--muted)}
.tab-panel ol li{margin-bottom:8px}
.tab-panel ol b{color:var(--fg)}

/* ── ticker ───────────────────────────────────── */
.ticker-wrap{
  border-top:1px solid var(--border-dim);border-bottom:1px solid var(--border-dim);
  background:var(--panel);overflow:hidden;white-space:nowrap;
  padding:10px 0;position:relative;z-index:1;
}
.ticker{display:inline-block;animation:tickerScroll 30s linear infinite}
@keyframes tickerScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.ticker span{margin:0 28px;font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:1px}
.ticker .up{color:var(--green)}
.ticker .hot{color:var(--accent)}

/* ── grid cards ───────────────────────────────── */
.grid{display:grid;gap:16px}
.grid-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.grid-3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.card{
  border:1px solid var(--border-dim);background:var(--panel);
  padding:24px;position:relative;transition:border-color .2s,transform .2s;
}
.card:hover{border-color:var(--accent);transform:translateY(-2px)}
.card .status{
  display:inline-flex;align-items:center;gap:6px;
  font-size:11px;text-transform:uppercase;letter-spacing:2px;
  margin-bottom:12px;padding:3px 10px;border:1px solid;
}
.status.live{color:var(--green);border-color:rgba(22,163,74,.4)}
.status.soon{color:var(--yellow);border-color:rgba(217,119,6,.4)}
.card h3{font-size:17px;margin-bottom:6px;color:var(--fg)}
.card .tagline{font-size:12px;color:var(--accent);text-transform:uppercase;letter-spacing:1px;margin-bottom:10px}
.card p{font-size:13.5px;color:var(--muted)}

/* ── countdown ────────────────────────────────── */
.countdown-box{
  border:1px solid var(--border);background:var(--panel);
  padding:34px;text-align:center;
  box-shadow:0 8px 32px rgba(23,21,34,.08);
}
.countdown-box .when{color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:2px;margin-bottom:20px}
.countdown{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.cd-cell{min-width:86px;border:1px solid var(--border-dim);background:var(--bg);padding:16px 10px}
.cd-cell .n{font-size:34px;font-weight:800;color:var(--accent);line-height:1}
.cd-cell .u{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:2px;margin-top:8px}

/* ── how it works steps ───────────────────────── */
.steps{display:grid;gap:0;border:1px solid var(--border-dim)}
.step{
  display:grid;grid-template-columns:64px 1fr;
  border-bottom:1px solid var(--border-dim);
  background:var(--panel);
}
.step:last-child{border-bottom:none}
.step .num{
  display:flex;align-items:center;justify-content:center;
  font-size:20px;font-weight:800;color:var(--accent);
  border-right:1px solid var(--border-dim);background:var(--bg);
}
.step .body{padding:20px 24px}
.step h3{font-size:16px;margin-bottom:4px}
.step p{font-size:13.5px;color:var(--muted)}

/* ── chips ────────────────────────────────────── */
.chips{display:flex;flex-wrap:wrap;gap:12px}
.chip{
  padding:14px 22px;border:1px solid var(--border-dim);background:var(--panel);
  transition:border-color .2s;
}
.chip:hover{border-color:var(--accent)}
.chip .t{font-size:14px;font-weight:700;color:var(--fg)}
.chip .s{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:1px}

/* ── docs ─────────────────────────────────────── */
.docs-layout{
  max-width:1180px;margin:0 auto;padding:40px 24px;
  display:grid;grid-template-columns:240px 1fr;gap:40px;
  position:relative;z-index:1;
}
.toc{position:sticky;top:76px;align-self:start;font-size:13px}
.toc .toc-title{font-size:11px;text-transform:uppercase;letter-spacing:2px;color:var(--muted);margin-bottom:12px}
.toc a{
  display:block;padding:6px 12px;color:var(--muted);
  border-left:2px solid var(--border-dim);
}
.toc a:hover{color:var(--accent);border-left-color:var(--accent);text-decoration:none}
.toc a b{color:var(--accent);margin-right:8px;font-size:11px}
.doc-sec{margin-bottom:52px;scroll-margin-top:76px}
.doc-sec .kicker{font-size:11px;text-transform:uppercase;letter-spacing:3px;color:var(--accent);margin-bottom:6px}
.doc-sec h2{font-size:24px;margin-bottom:12px}
.doc-sec h3{font-size:16px;margin:22px 0 8px}
.doc-sec p{font-size:13.5px;color:var(--muted);margin-bottom:12px;max-width:720px}
.doc-sec p b,.doc-sec li b{color:var(--fg)}
.doc-sec ul,.doc-sec ol{margin:0 0 12px 20px;font-size:13.5px;color:var(--muted)}
.doc-sec li{margin-bottom:6px}
.kv{border:1px solid var(--border-dim);background:var(--panel)}
.kv .row{
  display:grid;grid-template-columns:190px 1fr;
  border-bottom:1px solid var(--border-dim);
}
.kv .row:last-child{border-bottom:none}
.kv .k{padding:10px 16px;font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);border-right:1px solid var(--border-dim)}
.kv .v{padding:10px 16px;font-size:13px;word-break:break-all}
.kv .v code{color:var(--accent)}
.codeblock{
  background:#1c1a26;color:#e8e5f2;
  border:1px solid var(--border-dim);
  padding:18px;font-size:12.5px;line-height:1.7;
  overflow-x:auto;margin:12px 0;
}
.codeblock .c-comment{color:#8f88a8}
.codeblock .c-key{color:#b794f6}
.doc-table{width:100%;border-collapse:collapse;font-size:13px;margin:12px 0}
.doc-table th,.doc-table td{
  border:1px solid var(--border-dim);padding:9px 14px;text-align:left;
}
.doc-table th{background:var(--panel);font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}
.doc-table td code{color:var(--accent);font-size:12px}

/* ── community / footer ───────────────────────── */
.community{text-align:center}
.community .btn-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:28px}
footer{
  border-top:1px solid var(--border-dim);
  padding:22px 24px;display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:10px;font-size:12px;color:var(--muted);
  text-transform:uppercase;letter-spacing:1px;
}
.online{display:inline-flex;align-items:center;gap:8px;color:var(--green)}

/* ── reveal animation ─────────────────────────── */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s,transform .6s}
.reveal.in{opacity:1;transform:none}

@media(max-width:900px){
  .docs-layout{grid-template-columns:1fr}
  .toc{position:static;display:flex;flex-wrap:wrap;gap:4px}
  .toc .toc-title{width:100%}
  .toc a{border-left:none;border:1px solid var(--border-dim);padding:4px 10px}
}
@media(max-width:640px){
  :root{--sbw:46px}
  .sb-logo{width:45px;height:45px;font-size:13px}
  .hero-brokers{inset:0 -38px}
  .hero-broker{opacity:.16;filter:blur(1.5px) saturate(.82)}
  .hero-broker:nth-child(5),.hero-broker:nth-child(6){display:none}
  .hero-box{padding:18px 22px}
  .hero-stat{min-width:120px;padding:14px 18px}
  .reward-desk-section{padding:14px 14px 38px}
  .reward-desk{padding:20px 16px}
  .reward-desk-label{gap:8px}
  .reward-desk-label .line:nth-of-type(2){display:none}
  .reward-desk-mode{width:100%;text-align:center}
  .reward-assets{grid-template-columns:1fr}
  .reward-asset{min-height:92px}
  .reward-stream-empty{align-items:flex-start}
  .reward-rules{grid-template-columns:1fr}
  .reward-rules div{border-right:none;border-bottom:1px solid var(--border-dim)}
  .reward-rules div:last-child{border-bottom:none}
  section{padding:44px 18px}
  .promo a{margin-left:0}
  .kv .row{grid-template-columns:1fr}
  .kv .k{border-right:none;border-bottom:1px dashed var(--border-dim)}
}
@media(prefers-reduced-motion:reduce){
  .hero-broker{animation:none}
}

/* Live onchain inventory */
.live-inventory{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;margin:16px 0}
.live-inventory:empty{display:none}
.live-broker{display:flex;flex-direction:column;gap:4px;padding:10px;border:1px solid var(--border,#2a2a35);border-radius:10px;text-decoration:none;color:inherit;background:rgba(255,255,255,.02);transition:transform .15s ease,border-color .15s ease}
.live-broker:hover{transform:translateY(-2px);border-color:var(--accent,#b9f45f)}
.live-broker img{width:100%;aspect-ratio:1;border-radius:6px;image-rendering:pixelated;background:#111}
.live-broker b{font-size:13px}
.live-broker span{font-size:11px;opacity:.65}
.live-broker.more{align-items:center;justify-content:center;min-height:120px}
.badge.is-active .dot,.online .dot{background:var(--green,#38d39f)}

/* Reward claim desk */
.claim-desk{border:1px solid var(--border,#2a2a35);border-radius:14px;padding:20px;background:rgba(255,255,255,.02);margin-top:8px}
.claim-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:16px}
.claim-account{font-family:monospace;font-size:13px;opacity:.8}
.claim-status{margin-left:auto;font-size:12px;opacity:.6;letter-spacing:.04em;text-transform:uppercase}
.claim-empty{display:flex;gap:14px;align-items:center;padding:18px;border:1px dashed var(--border,#2a2a35);border-radius:12px}
.claim-empty .reward-stream-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;background:var(--accent,#b9f45f);color:#0a0a0f;font-weight:800;flex:none}
.claim-empty strong{display:block;margin-bottom:4px}
.claim-empty p{margin:0;font-size:13px;opacity:.7}
.claim-list{display:flex;flex-direction:column;gap:10px}
.claim-list:empty{display:none}
.claim-row{display:flex;align-items:center;gap:14px;padding:12px 14px;border:1px solid var(--border,#2a2a35);border-radius:10px;background:rgba(0,0,0,.2)}
.claim-meta{display:flex;flex-direction:column}
.claim-meta b{font-size:14px}
.claim-meta span{font-size:12px;opacity:.6;font-family:monospace}
.claim-amt{margin-left:auto;font-weight:700;font-size:14px}
.claim-done{color:var(--green,#38d39f);font-size:13px;font-weight:600}
.btn.sm.claim-go{padding:6px 16px}

/* Trade actions */
.trade-actions{display:flex;flex-direction:column;gap:12px}
.trade-inline{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.trade-inline input{flex:1;min-width:220px;padding:9px 12px;border:1px solid var(--border,#2a2a35);border-radius:8px;background:rgba(0,0,0,.25);color:inherit;font-family:monospace;font-size:13px}
.trade-inline select{padding:9px 12px;border:1px solid var(--border,#2a2a35);border-radius:8px;background:rgba(0,0,0,.25);color:inherit}
.trade-status{font-size:13px;opacity:.8;min-height:18px;margin-top:6px}
.trade-status a{color:var(--accent,#b9f45f)}
