/* =====================================================================
   PROVING GROUND — section compositions (bespoke, varied per section)
   ===================================================================== */

/* ---- dateline strip (broadsheet) ------------------------------------ */
.dateline{display:flex;justify-content:space-between;align-items:center;gap:1rem;
  font-family:var(--f-mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);padding-block:.9rem;border-bottom:1px solid var(--ink)}
.dateline .mid{letter-spacing:.3em}
@media (max-width:640px){.dateline .hide-sm{display:none}}

/* ---- hero ----------------------------------------------------------- */
.hero{padding-top:clamp(40px,6vw,76px);padding-bottom:clamp(40px,6vw,72px)}
.hero__h{font-family:var(--f-disp);font-weight:900;letter-spacing:-.028em;line-height:.9;
  font-size:clamp(3rem,9.2vw,8.3rem);margin:.35em 0 0;text-wrap:balance}
.hero__h .it{font-style:italic;font-weight:400;letter-spacing:-.01em}
.hero__h .sig{color:var(--signal)}
.hero__grid{display:grid;grid-template-columns:1.35fr .95fr;gap:clamp(2rem,5vw,4.5rem);
  align-items:end;margin-top:clamp(2.2rem,4vw,3.4rem)}
.hero__deck{font-size:clamp(1.08rem,1.6vw,1.3rem);line-height:1.5;color:var(--ink);max-width:42ch}
.hero__deck b{font-weight:600}
.hero__cta{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.8rem}
.hero__state{border:1px solid var(--ink);border-radius:var(--radius)}
.hero__state h4{font-family:var(--f-mono);font-size:.68rem;font-weight:500;letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted);padding:.8rem 1rem;border-bottom:1px solid var(--line);
  display:flex;justify-content:space-between;align-items:center}
.state__row{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;
  padding:.82rem 1rem;border-bottom:1px solid var(--line)}
.state__row:last-child{border-bottom:0}
.state__row .k{font-family:var(--f-mono);font-size:.76rem;letter-spacing:.02em;color:var(--muted)}
.state__row .v{font-family:var(--f-mono);font-variant-numeric:tabular-nums;font-weight:500;font-size:1.02rem}
.state__row .v .u{color:var(--muted);font-size:.8em}
@media (max-width:820px){
  .hero__grid{grid-template-columns:1fr;gap:2.2rem;align-items:start}
  .hero__state{max-width:460px}
}

/* ---- kinetic hero accent (lime underline wipes in, then breathes) --- */
.hero__kin{position:relative;white-space:nowrap}
.hero__kin::after{content:"";position:absolute;left:-.04em;right:-.04em;bottom:.02em;height:.1em;
  background:var(--lime);border-radius:3px;transform-origin:left center;transform:scaleX(0);
  animation:kinwipe .85s .3s cubic-bezier(.2,.7,.2,1) forwards,kinbreathe 3.6s 1.2s ease-in-out infinite}
@keyframes kinwipe{to{transform:scaleX(1)}}
@keyframes kinbreathe{0%,100%{opacity:1}50%{opacity:.62}}
/* live dot on the state panel header */
.hero__state h4 .livedot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--signal);
  margin-right:.45em;vertical-align:.02em;box-shadow:0 0 0 0 rgba(204,255,0,.55);animation:pulse 2.4s infinite}
/* subtle one-shot sheen sweep on the primary lime CTA */
.btn--sig{position:relative;overflow:hidden;isolation:isolate}
.btn--sig::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(100deg,transparent 38%,rgba(255,255,255,.5) 50%,transparent 62%);
  transform:translateX(-220%) skewX(-16deg);animation:sheen 5.5s ease-in-out infinite}
@keyframes sheen{0%{transform:translateX(-220%) skewX(-16deg)}16%{transform:translateX(220%) skewX(-16deg)}100%{transform:translateX(220%) skewX(-16deg)}}
@media (prefers-reduced-motion:reduce){
  .hero__kin::after{animation:none;transform:scaleX(1)}
  .hero__state h4 .livedot,.btn--sig::after{animation:none}
}

/* ---- statement (big editorial sentence) ----------------------------- */
.statement{font-family:var(--f-disp);font-weight:600;letter-spacing:-.02em;line-height:1.04;
  font-size:clamp(2rem,5.2vw,4rem);text-wrap:balance;max-width:20ch}
.statement .sig{color:var(--signal)}
.statement .it{font-style:italic;font-weight:400}
.triad{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:clamp(2.4rem,4vw,3.6rem);
  border-top:1px solid var(--ink)}
.triad > div{padding:1.5rem 1.4rem 0;text-align:center}
.triad > div:not(:last-child){border-right:1px solid var(--line)}
.triad .n{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.14em;color:var(--signal);margin-bottom:.7rem}
.triad h4{font-family:var(--f-disp);font-weight:600;font-size:1.25rem;letter-spacing:-.01em;margin-bottom:.4rem}
.triad p{font-size:.95rem;color:var(--muted);line-height:1.55;max-width:34ch}
@media (max-width:760px){
  .triad{grid-template-columns:1fr}
  .triad > div{border-right:0!important;border-bottom:1px solid var(--line);padding:1.4rem 0}
}

/* ---- step ledger (01..06 lifecycle) --------------------------------- */
.steps{border-top:1px solid currentColor}
.step{display:grid;grid-template-columns:5rem 1.1fr 1.4fr;gap:1.5rem;align-items:start;
  padding:1.9rem 0;border-bottom:1px solid var(--line-dark)}
.ink .step,.ink-2 .step{border-bottom-color:var(--line-dark)}
.step__n{font-family:var(--f-mono);font-size:.95rem;font-weight:500;color:var(--signal-bright);padding-top:.3rem}
.step__t{font-family:var(--f-disp);font-weight:600;font-size:clamp(1.35rem,2.4vw,1.9rem);letter-spacing:-.015em;line-height:1.05}
.step__d{color:var(--mute-on-ink);font-size:1rem;line-height:1.55;max-width:46ch}
.step .tag{display:inline-block;margin-top:.7rem;font-family:var(--f-mono);font-size:.68rem;
  letter-spacing:.08em;text-transform:uppercase;color:var(--mute-on-ink);border:1px solid var(--line-dark-2);
  border-radius:100px;padding:.25em .6em}
@media (max-width:760px){
  .step{grid-template-columns:3.4rem 1fr;gap:.8rem 1rem}
  .step__d{grid-column:1 / -1;padding-left:4.4rem;margin-top:-.4rem}
}
@media (max-width:460px){.step__d{padding-left:0}}

/* ---- section header (reusable but not overused) --------------------- */
.shead{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;
  padding-bottom:1.6rem;flex-wrap:wrap}
.shead h2{font-family:var(--f-disp);font-weight:600;letter-spacing:-.018em;line-height:1.02;
  font-size:clamp(1.8rem,3.6vw,2.9rem);max-width:18ch}
.shead p{color:var(--muted);max-width:40ch;font-size:.98rem}
.ink .shead p,.ink-2 .shead p{color:var(--mute-on-ink)}

/* ---- bounty table extras ------------------------------------------- */
.metric-badge{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.02em;color:var(--muted);
  border:1px solid var(--line);border-radius:3px;padding:.2em .5em;white-space:nowrap}
.ink .metric-badge{color:var(--mute-on-ink);border-color:var(--line-dark-2)}
.reward{font-family:var(--f-mono);font-variant-numeric:tabular-nums;font-weight:600;font-size:1.05rem}
.reward .cur{color:var(--muted);font-weight:400;font-size:.8em}

/* ---- agents split --------------------------------------------------- */
.split{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(2rem,5vw,4.2rem);align-items:center}
@media (max-width:900px){.split{grid-template-columns:1fr;gap:2.2rem}}
.chip-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.4rem}
.chip{font-family:var(--f-mono);font-size:.74rem;letter-spacing:.02em;color:var(--mute-on-ink);
  border:1px solid var(--line-dark-2);border-radius:100px;padding:.4em .8em}

/* ---- token reasons (asymmetric, not 3 equal cards) ------------------ */
.reasons{display:grid;grid-template-columns:1.1fr 1fr;grid-template-rows:auto auto;gap:1px;
  background:var(--line);border:1px solid var(--line)}
.reason{background:var(--paper);padding:clamp(1.6rem,3vw,2.4rem)}
.reason--lead{grid-row:1 / span 2}
.reason .rn{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.14em;color:var(--signal);margin-bottom:1rem}
.reason h3{font-family:var(--f-disp);font-weight:600;letter-spacing:-.015em;line-height:1.02;
  font-size:clamp(1.5rem,2.6vw,2.1rem);margin-bottom:.8rem}
.reason p{color:var(--ink);font-size:1rem;line-height:1.55;max-width:40ch}
.reason .big-num{font-family:var(--f-disp);font-weight:900;font-size:clamp(2.6rem,6vw,4.4rem);
  letter-spacing:-.02em;line-height:1;margin:1.2rem 0 .3rem;color:var(--signal)}
.reason .big-num.brn{color:var(--burn)}
.reason small{font-family:var(--f-mono);font-size:.74rem;color:var(--muted);letter-spacing:.02em}
@media (max-width:760px){
  .reasons{grid-template-columns:1fr}
  .reason--lead{grid-row:auto}
}

/* ---- allocation bar (40/35/25) -------------------------------------- */
.alloc{display:flex;height:72px;border:1px solid var(--line-dark-2);border-radius:var(--radius);overflow:hidden}
.alloc > div{display:flex;flex-direction:column;justify-content:center;padding:0 1.2rem;
  font-family:var(--f-mono);position:relative;color:var(--ink)}
.alloc .a1{flex:40;background:var(--signal-bright)}
.alloc .a2{flex:35;background:#c8c8bc}
.alloc .a3{flex:25;background:var(--paper-on-ink)}
.alloc .pct{font-weight:600;font-size:1.15rem}
.alloc .lbl{font-size:.64rem;letter-spacing:.08em;text-transform:uppercase;opacity:.8}
.alloc-key{display:flex;flex-wrap:wrap;gap:1.4rem;margin-top:1.2rem}
.alloc-key div{font-family:var(--f-mono);font-size:.8rem;color:var(--mute-on-ink);display:flex;align-items:center;gap:.5rem}
.alloc-key .sw{width:11px;height:11px;border-radius:2px}
@media (max-width:620px){
  .alloc{height:auto;flex-direction:column}
  .alloc > div{flex:none!important;padding:.9rem 1.2rem;border-bottom:1px solid rgba(0,0,0,.15)}
  .alloc > div:last-child{border-bottom:0}
}

/* ---- reserves vault panel ------------------------------------------- */
.vault{display:grid;grid-template-columns:1.6fr 1fr;gap:1px;background:var(--line-dark-2);
  border:1px solid var(--line-dark-2);border-radius:var(--radius);overflow:hidden}
.vault__main{background:var(--ink-2);padding:0}
.vault__side{background:var(--ink-2);padding:clamp(1.4rem,2.6vw,2rem);display:flex;flex-direction:column}
.vault__head{display:flex;justify-content:space-between;align-items:center;padding:1.1rem 1.3rem;border-bottom:1px solid var(--line-dark)}
.vault__head .ttl{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mute-on-ink)}
.vault table{width:100%;border-collapse:collapse}
.vault th{font-family:var(--f-mono);font-size:.64rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;
  color:var(--mute-on-ink);text-align:right;padding:.7rem 1.3rem;border-bottom:1px solid var(--line-dark)}
.vault th:first-child{text-align:left}
.vault td{padding:.82rem 1.3rem;border-bottom:1px solid var(--line-dark);text-align:right;
  font-family:var(--f-mono);font-variant-numeric:tabular-nums;font-size:.9rem}
.vault td:first-child{text-align:left}
.vault tr:last-child td{border-bottom:0}
.vault .tk{display:inline-flex;align-items:center;gap:.6rem}
.vault .tk .sqr{width:24px;height:24px;border-radius:6px;overflow:hidden;display:block;flex:none;
  background:#0a0a08;box-shadow:inset 0 0 0 1px rgba(240,240,232,.09)}

/* ---- stock / asset logos (real brand marks) ------------------------- */
.tklogo{width:1.04em;height:1.04em;border-radius:3px;display:inline-block;vertical-align:-.17em;
  margin-right:.42em;flex:none;background:#0a0a08}
.tape__it .tklogo{width:15px;height:15px;border-radius:3px;margin-right:.1rem;vertical-align:-.22em}
.stile .tk .tklogo,.claim-row .tklogo{width:14px;height:14px;border-radius:3px}
.bcard__rw .unit .tklogo,.railcard__reward .unit .tklogo,.rwrow .unit .tklogo{border-radius:3px}
.vault .val{color:var(--paper-on-ink);font-weight:500}
.vault .chg-up{color:var(--signal-bright)}.vault .chg-dn{color:var(--burn-bright)}
.vault__total{display:flex;justify-content:space-between;align-items:baseline;padding:1.1rem 1.3rem;
  border-top:1px solid var(--line-dark-2);background:#0e0e0c}
.vault__total .k{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mute-on-ink)}
.vault__total .v{font-family:var(--f-mono);font-variant-numeric:tabular-nums;font-weight:600;font-size:1.5rem;color:var(--signal-bright)}

.solv{margin-top:.4rem}
.solv .lab{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mute-on-ink);display:flex;justify-content:space-between}
.solv__bar{height:10px;border-radius:100px;background:#0a0a08;border:1px solid var(--line-dark-2);margin:.6rem 0 .4rem;overflow:hidden;position:relative}
.solv__fill{height:100%;background:linear-gradient(90deg,var(--signal),var(--signal-bright));width:0;transition:width 1.4s cubic-bezier(.2,.7,.2,1)}
.solv__meta{font-family:var(--f-mono);font-size:.72rem;color:var(--mute-on-ink);line-height:1.6}
.vault__side .big{font-family:var(--f-disp);font-weight:900;font-size:clamp(2.4rem,4vw,3.2rem);
  letter-spacing:-.02em;line-height:1;color:var(--paper-on-ink);margin:.2rem 0}
.vault__side .big .pc{color:var(--signal-bright)}
.vault__links{margin-top:auto;padding-top:1.4rem;display:flex;flex-direction:column;gap:.7rem}
@media (max-width:820px){.vault{grid-template-columns:1fr}.vault__main{order:2}}

/* ---- FAQ accordion -------------------------------------------------- */
.qa{border-bottom:1px solid var(--line)}
.qa__q{width:100%;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;
  padding:1.5rem 0;font-family:var(--f-disp);font-weight:600;font-size:clamp(1.15rem,2vw,1.5rem);letter-spacing:-.01em}
.qa__q .ic{flex:none;width:22px;height:22px;position:relative}
.qa__q .ic::before,.qa__q .ic::after{content:"";position:absolute;background:var(--ink);transition:transform .25s ease,opacity .25s}
.qa__q .ic::before{top:10px;left:0;width:22px;height:1.5px}
.qa__q .ic::after{top:0;left:10px;width:1.5px;height:22px}
.qa.open .ic::after{transform:scaleY(0);opacity:0}
.qa__a{max-height:0;overflow:hidden;transition:max-height .34s ease}
.qa.open .qa__a{max-height:420px}
.qa__a p{padding:0 0 1.6rem;color:var(--ink);max-width:66ch;font-size:1.02rem;line-height:1.6}
/* FAQ on a dark (.ink) section: light colors so questions + answers are legible */
.ink .qa{border-color:var(--line-dark)}
.ink .qa__q{color:var(--paper-on-ink)}
.ink .qa__q .ic::before,.ink .qa__q .ic::after{background:var(--paper-on-ink)}
.ink .qa__a p{color:var(--paper-on-ink)}
.qa__a p + p{padding-top:.2rem}

/* ---- closing cta ---------------------------------------------------- */
.closing{text-align:center;padding-block:clamp(80px,12vw,160px)}
.closing h2{font-family:var(--f-disp);font-weight:900;letter-spacing:-.025em;line-height:.95;
  font-size:clamp(2.6rem,8vw,6.5rem);text-wrap:balance}
.closing h2 .it{font-style:italic;font-weight:400}
.closing .sub{margin:1.4rem auto 2.2rem;max-width:48ch;color:var(--mute-on-ink);font-size:1.1rem}
.closing .cta{display:flex;gap:.9rem;justify-content:center;flex-wrap:wrap}

/* ---- generic page header (sub-pages) -------------------------------- */
.phead{padding-top:clamp(48px,7vw,96px);padding-bottom:clamp(36px,5vw,64px)}
.phead h1{font-family:var(--f-disp);font-weight:900;letter-spacing:-.025em;line-height:.92;
  font-size:clamp(2.6rem,7vw,5.4rem);margin-top:.5rem;text-wrap:balance}
.phead .lede{margin-top:1.4rem;max-width:56ch;font-size:clamp(1.05rem,1.5vw,1.25rem);color:var(--ink)}
.ink .phead .lede{color:var(--paper-on-ink)}

/* ---- prose (docs) --------------------------------------------------- */
.prose{max-width:68ch}
.prose h3{font-family:var(--f-disp);font-weight:600;font-size:1.5rem;letter-spacing:-.01em;margin:2.4rem 0 .8rem}
.prose h4{font-family:var(--f-mono);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--signal);margin:2rem 0 .6rem}
.prose p{margin-bottom:1rem;line-height:1.66}
.prose ul.bul{margin:0 0 1.2rem;padding-left:0}
.prose ul.bul li{position:relative;padding-left:1.4rem;margin-bottom:.6rem;line-height:1.55}
.prose ul.bul li::before{content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;background:var(--signal);border-radius:1px}
.prose code{font-family:var(--f-mono);font-size:.86em;background:var(--paper-3);padding:.1em .4em;border-radius:3px}

/* ---- two-col docs layout ------------------------------------------- */
.doc-grid{display:grid;grid-template-columns:230px 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}
.doc-nav{position:sticky;top:84px}
.doc-nav a{display:block;font-family:var(--f-mono);font-size:.8rem;color:var(--muted);padding:.4rem 0;border-left:1px solid var(--line);padding-left:1rem;transition:.15s}
.doc-nav a:hover,.doc-nav a.on{color:var(--ink);border-left-color:var(--ink)}
@media (max-width:820px){.doc-grid{grid-template-columns:1fr}.doc-nav{display:none}}

/* =====================================================================
   BOUNTY BOARD — scannable card grid, in our design language
   ===================================================================== */
.bfilt{display:flex;flex-direction:column;gap:.9rem;margin-top:1.4rem;padding-bottom:1.1rem;border-bottom:1px solid var(--ink)}
.bfilt__row{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}
.chips{display:flex;gap:.4rem;flex-wrap:wrap}
.chipbtn{font-family:var(--f-mono);font-size:.7rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;
  padding:.5em .85em;border:1px solid var(--line);border-radius:100px;color:var(--muted);background:transparent;
  transition:color .14s,background .14s,border-color .14s}
.chipbtn:hover{color:var(--ink);border-color:var(--ink)}
.chipbtn.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.bfilt__tools{display:flex;gap:.6rem;margin-left:auto;align-items:center;flex-wrap:wrap}
.srch{display:flex;align-items:center;gap:.5rem;border:1px solid var(--line);border-radius:var(--radius);padding:0 .7rem;background:var(--paper);height:38px;min-width:220px}
.srch svg{width:14px;height:14px;flex:none;color:var(--muted)}
.srch input{border:0;background:transparent;font:inherit;font-family:var(--f-mono);font-size:.8rem;width:100%;outline:none;color:var(--ink)}
.srch input::placeholder{color:var(--muted-2)}
.sel{position:relative;height:38px}
.sel select{appearance:none;-webkit-appearance:none;height:100%;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);
  font-family:var(--f-mono);font-size:.76rem;letter-spacing:.03em;color:var(--ink);padding:0 2.1rem 0 .8rem;cursor:pointer;outline:none}
.sel select:focus-visible{outline:2px solid var(--signal);outline-offset:2px}
.sel::after{content:"";position:absolute;right:.8rem;top:50%;width:7px;height:7px;border-right:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);transform:translateY(-70%) rotate(45deg);pointer-events:none}
.bcount{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.bcount b{color:var(--ink);font-weight:600}

.bgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:1.2rem}
@media (max-width:1100px){.bgrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:820px){.bgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.bgrid{grid-template-columns:1fr}}

.bcard{display:flex;flex-direction:column;gap:.55rem;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);
  padding:1rem 1.05rem .95rem;min-height:208px;position:relative;text-align:left;color:inherit;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.bcard:hover{transform:translateY(-3px);border-color:var(--ink);box-shadow:0 14px 34px -18px rgba(22,19,13,.35)}
.bcard:focus-visible{outline:2px solid var(--signal);outline-offset:2px}
.bcard__top{display:flex;justify-content:space-between;align-items:center;gap:.5rem}
.bcard__cat{font-family:var(--f-mono);font-size:.64rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.bcard__cat::before{content:"";display:inline-block;width:6px;height:6px;border-radius:1px;margin-right:.5em;background:var(--muted-2);vertical-align:1px}
.bcard--dev .bcard__cat::before{background:#2b5fa8}
.bcard--trading .bcard__cat::before{background:var(--signal)}
.bcard--forecast .bcard__cat::before{background:#b07a1a}
.bcard--design .bcard__cat::before{background:#8a3fa3}
.bcard--content .bcard__cat::before{background:#4f6b2a}
.bcard--marketing .bcard__cat::before{background:var(--burn)}
.bcard--community .bcard__cat::before{background:#2a7f84}
.bcard__t{font-family:var(--f-disp);font-weight:600;font-size:1.12rem;line-height:1.15;letter-spacing:-.012em;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.3em}
.bcard__lane{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.02em;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bcard__lane b{font-weight:600;color:var(--ink)}
.bcard__rw{margin-top:auto;padding-top:.5rem;display:flex;align-items:baseline;gap:.45rem;flex-wrap:wrap}
.bcard__rw .amt{font-family:var(--f-disp);font-weight:900;font-size:1.75rem;letter-spacing:-.02em;line-height:1;font-variant-numeric:tabular-nums}
.bcard__rw .unit{font-family:var(--f-mono);font-size:.74rem;font-weight:600;letter-spacing:.04em;color:var(--signal)}
.bcard__rw .unit.tok{color:var(--ink)}
.bcard__rw .unit.eth{color:#4a5fc2}
.bcard__meta{display:flex;justify-content:space-between;align-items:center;gap:.6rem;font-family:var(--f-mono);font-size:.7rem;color:var(--muted);
  padding-top:.6rem;border-top:1px solid var(--line);font-variant-numeric:tabular-nums}
.bcard__meta b{color:var(--ink);font-weight:500}
.bcard--paid,.bcard--ended{opacity:.78}
.bcard--paid .amt,.bcard--ended .amt{color:var(--muted)}
.pill--disputed{color:var(--burn)}.pill--disputed .dot{background:var(--burn)}
.pill--ended{color:var(--muted-2)}.pill--ended .dot{background:var(--line-2)}
.bempty{grid-column:1 / -1;padding:3rem 1rem;text-align:center;font-family:var(--f-mono);font-size:.82rem;color:var(--muted);border:1px dashed var(--line)}

/* =====================================================================
   BOUNTY DETAIL PAGE
   ===================================================================== */
.bdetail{max-width:1140px;margin:0 auto}
.bd__head{padding-bottom:1.6rem;border-bottom:1px solid var(--line);margin-bottom:2rem}
.bd__tags{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:1rem}
.bd__title{font-family:var(--f-disp);font-weight:900;letter-spacing:-.022em;line-height:1.0;
  font-size:clamp(1.9rem,4.4vw,3.2rem);max-width:20ch;text-wrap:balance}
.bd__poster{font-family:var(--f-mono);font-size:.82rem;color:var(--muted);margin-top:1rem}
.bd__poster b{color:var(--ink);font-weight:500}

.bd__grid{display:grid;grid-template-columns:1fr 340px;gap:clamp(2rem,4vw,3.4rem);align-items:start}
@media (max-width:900px){.bd__grid{grid-template-columns:1fr}.bd__rail{order:-1}}

/* tabs */
.tabs{display:flex;gap:1.6rem;border-bottom:1px solid var(--line);margin-bottom:2rem}
.tab{font-family:var(--f-mono);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);
  padding:0 0 .9rem;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .14s,border-color .14s}
.tab:hover{color:var(--ink)}
.tab.on{color:var(--ink);border-bottom-color:var(--signal)}
.tabpane{display:none}.tabpane.on{display:block}

.skillrow{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.4rem 0 .4rem}

/* rewards breakdown */
.rwbreak{border:1px solid var(--line);border-radius:var(--radius)}
.rwrow{display:flex;justify-content:space-between;align-items:baseline;padding:.9rem 1.1rem;border-bottom:1px solid var(--line)}
.rwrow:last-child{border-bottom:0}
.rwrow .k{font-family:var(--f-mono);font-size:.76rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.rwrow .v .amt{font-family:var(--f-disp);font-weight:900;font-size:1.4rem;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.rwrow .v .unit{font-family:var(--f-mono);font-size:.72rem;font-weight:600;color:var(--signal)}
.rwrow .v .unit.tok{color:var(--ink)}.rwrow .v .unit.eth{color:#4a5fc2}

/* grading box */
.gbox{border:1px solid var(--line);border-radius:var(--radius);margin-top:.4rem}
.grow{display:grid;grid-template-columns:140px 1fr;gap:1rem;padding:.85rem 1.1rem;border-bottom:1px solid var(--line)}
.grow:last-child{border-bottom:0}
.grow .gk{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding-top:.15rem}
.grow .gv{font-size:.95rem;line-height:1.5}
@media (max-width:520px){.grow{grid-template-columns:1fr;gap:.2rem}}

/* escrow panel */
.escrow{margin-top:2.6rem;background:var(--ink-2);color:var(--paper-on-ink);border-radius:var(--radius);padding:clamp(1.3rem,2.4vw,1.9rem)}
.escrow__h{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}
.escrow__lead{color:var(--mute-on-ink);font-size:.95rem;line-height:1.55;max-width:60ch}
.escrow__rows{margin-top:1.3rem;border-top:1px solid var(--line-dark)}
.erow{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--line-dark)}
.erow:last-child{border-bottom:0}
.erow .k{font-family:var(--f-mono);font-size:.74rem;letter-spacing:.04em;color:var(--mute-on-ink)}
.erow .v{font-family:var(--f-mono);font-variant-numeric:tabular-nums;font-size:.92rem;color:var(--paper-on-ink);text-align:right}
.erow .v.mono a{color:var(--signal-bright)}
.erow .v .amt{font-family:var(--f-disp);font-weight:900;font-size:1.2rem;letter-spacing:-.01em}
.erow .v .unit{font-size:.7rem;font-weight:600}

/* copy-for-agent */
.agentcopy{margin-top:2rem;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.agentcopy__h{display:flex;justify-content:space-between;align-items:center;padding:.8rem 1.1rem;border-bottom:1px solid var(--line);background:var(--paper-2)}
.agentcopy__pre{margin:0;padding:1.1rem;font-family:var(--f-mono);font-size:.82rem;line-height:1.65;color:var(--ink);white-space:pre-wrap;word-break:break-word;background:var(--paper)}

/* right rail card */
.bd__rail{position:sticky;top:84px}
.railcard{border:1px solid var(--ink);border-radius:var(--radius);padding:1.4rem 1.4rem 1.5rem;background:var(--paper)}
.railcard__status{margin-bottom:1.1rem}
.railcard__count{font-family:var(--f-mono);font-variant-numeric:tabular-nums;font-weight:600;font-size:1.9rem;letter-spacing:-.01em;line-height:1}
.railcard__end{font-family:var(--f-mono);font-size:.74rem;color:var(--muted);margin-top:.4rem}
.railcard__reward{margin:1.4rem 0;padding:1.1rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.railcard__reward .rk{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:.4rem}
.railcard__reward .rv .amt{font-family:var(--f-disp);font-weight:900;font-size:2.4rem;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.railcard__reward .rv .unit{font-family:var(--f-mono);font-size:.9rem;font-weight:600;color:var(--signal)}
.railcard__reward .rv .unit.tok{color:var(--ink)}.railcard__reward .rv .unit.eth{color:#4a5fc2}
.railcard__stats{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-bottom:1.3rem}
.railcard__stats b{font-family:var(--f-mono);font-size:1.3rem;display:block}
.railcard__stats span{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.04em;color:var(--muted);text-transform:uppercase;line-height:1.3;display:block;margin-top:.2rem}
.railcard__cta{width:100%;justify-content:center;margin-bottom:.9rem}
.railcard__alt{display:block;text-align:center;font-size:.76rem}

/* ---- compact hero (home) ------------------------------------------- */
.hero--compact{padding-top:clamp(32px,4.5vw,60px);padding-bottom:clamp(34px,4.5vw,56px)}
.hero--compact .hero__grid{align-items:start;margin-top:0}
.hero__h--sm{font-family:var(--f-disp);font-weight:900;letter-spacing:-.022em;line-height:1.03;
  font-size:clamp(2rem,4.7vw,3.6rem);margin:0;max-width:18ch;text-wrap:balance}
.hero__h--sm .it{font-style:italic;font-weight:400}
.hero__h--sm .sig{color:var(--signal)}

/* ---- board page chrome --------------------------------------------- */
.board-sticky{position:sticky;top:61px;z-index:40;background:var(--paper);border-bottom:1px solid var(--ink);
  padding-top:clamp(22px,3.2vw,38px)}
.board-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap}
.board-title{font-family:var(--f-disp);font-weight:900;font-size:clamp(1.7rem,3vw,2.4rem);letter-spacing:-.022em;line-height:1}
.board-sticky .bfilt{border-bottom:0;margin-top:1rem;padding-bottom:1rem}
@media (max-width:820px){.board-sticky{position:static}.bfilt__tools{margin-left:0;width:100%}.srch{flex:1;min-width:0}}
.railcard__endsin{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.3rem}

/* =====================================================================
   USER DASHBOARD — logged-in home (pre-launch shell)
   ===================================================================== */
/* preview banner */
.dash-banner{background:var(--ink);color:var(--paper-on-ink)}
.dash-banner__in{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;
  padding-block:.7rem;font-family:var(--f-mono);font-size:.74rem;letter-spacing:.03em;color:var(--mute-on-ink)}
.dash-banner__in .tag{display:inline-flex;align-items:center;gap:.45rem;color:var(--signal-bright);
  border:1px solid var(--line-dark-2);border-radius:100px;padding:.28em .7em;letter-spacing:.11em;text-transform:uppercase;font-size:.66rem;white-space:nowrap}
.dash-banner__in .tag .dot{width:6px;height:6px;border-radius:50%;background:var(--signal-bright)}

/* account header */
.dash-head{display:grid;grid-template-columns:1fr auto;gap:clamp(1.4rem,4vw,3rem);align-items:center;
  padding-block:clamp(1.6rem,3.4vw,2.4rem);border-bottom:1px solid var(--ink)}
.dash-id{display:flex;flex-direction:column;gap:.9rem;min-width:0}
.dash-id__top{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}
.walletchip{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--f-mono);font-size:.84rem;letter-spacing:.01em;
  border:1px solid var(--line);border-radius:100px;padding:.42em .85em;background:var(--paper)}
.walletchip .dot{width:7px;height:7px;border-radius:50%;background:var(--signal);box-shadow:0 0 0 0 rgba(204,255,0,.5);animation:pulse 2.6s infinite}
.walletchip .addr{font-weight:500}
.dash-id__bal{display:flex;align-items:baseline;gap:1.4rem;flex-wrap:wrap}
.dash-id__bal .big{font-family:var(--f-disp);font-weight:900;font-size:clamp(1.9rem,4.4vw,3rem);letter-spacing:-.02em;line-height:1;font-variant-numeric:tabular-nums}
.dash-id__bal .unit{font-family:var(--f-mono);font-size:.82rem;font-weight:600;color:var(--muted);letter-spacing:.03em}
.dash-id__bal .usd{font-family:var(--f-mono);font-size:.9rem;color:var(--muted);font-variant-numeric:tabular-nums}
.dash-claim{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}
.dash-claim .amt{font-family:var(--f-disp);font-weight:900;font-size:clamp(2.2rem,5vw,3.6rem);letter-spacing:-.022em;line-height:.95;color:var(--signal);font-variant-numeric:tabular-nums}
@media (max-width:760px){
  .dash-head{grid-template-columns:1fr;gap:1.6rem}
  .dash-claim{text-align:left;align-items:flex-start}
}

/* section head for dashboard cards */
.dcard{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}
.dcard__h{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap;
  padding:1.1rem 1.3rem;border-bottom:1px solid var(--line)}
.dcard__h h3{font-family:var(--f-disp);font-weight:600;font-size:1.3rem;letter-spacing:-.012em}
.dcard__b{padding:1.3rem}
.ink .dcard,.ink-2 .dcard{border-color:var(--line-dark-2);background:var(--ink-2)}
.ink .dcard__h,.ink-2 .dcard__h{border-bottom-color:var(--line-dark)}

/* earnings hero — paid in stock */
.earn__grid{display:grid;grid-template-columns:1.45fr 1fr;gap:1px;background:var(--line-dark-2);
  border:1px solid var(--line-dark-2);border-radius:var(--radius);overflow:hidden}
.earn__main{background:var(--ink-2);padding:clamp(1.5rem,3vw,2.3rem)}
.earn__side{background:#0e0e0c;padding:clamp(1.5rem,3vw,2.3rem);display:flex;flex-direction:column}
.earn__lbl{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mute-on-ink)}
.stiles{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;margin-top:1.2rem}
.stile{border:1px solid var(--line-dark-2);border-radius:var(--radius);padding:.9rem .9rem 1rem;background:rgba(255,255,255,.015)}
.stile .q{font-family:var(--f-disp);font-weight:900;font-size:clamp(1.5rem,3vw,2.1rem);letter-spacing:-.02em;line-height:1;color:var(--paper-on-ink);font-variant-numeric:tabular-nums}
.stile .tk{display:block;margin-top:.5rem;font-family:var(--f-mono);font-size:.72rem;font-weight:600;letter-spacing:.06em;color:var(--signal-bright)}
.stile .usd{display:block;margin-top:.15rem;font-family:var(--f-mono);font-size:.66rem;color:var(--mute-on-ink);font-variant-numeric:tabular-nums}
.earn__total{display:flex;align-items:baseline;gap:.6rem;margin-top:1.5rem;padding-top:1.2rem;border-top:1px solid var(--line-dark)}
.earn__total .v{font-family:var(--f-disp);font-weight:900;font-size:clamp(1.6rem,3vw,2.2rem);letter-spacing:-.02em;color:var(--signal-bright);font-variant-numeric:tabular-nums}
.earn__side .big{font-family:var(--f-disp);font-weight:900;font-size:clamp(2rem,3.6vw,2.8rem);letter-spacing:-.02em;line-height:1;color:var(--paper-on-ink);margin:.3rem 0;font-variant-numeric:tabular-nums}
.earn__side .note{font-family:var(--f-mono);font-size:.76rem;line-height:1.6;color:var(--mute-on-ink)}
.earn__side .btn{margin-top:auto;width:100%;justify-content:center}
@media (max-width:760px){.stiles{grid-template-columns:repeat(2,1fr)}.earn__grid{grid-template-columns:1fr}}

/* main two-col working area */
.dash-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(1.2rem,2.6vw,2rem);align-items:stretch}
.dash-col{display:flex;flex-direction:column;gap:clamp(1.2rem,2.6vw,2rem);min-width:0}
/* let the last card of the main column grow so its bottom aligns with the rail */
@media (min-width:901px){.dash-col:first-child>.dcard:last-child{flex:1 1 auto}}
@media (max-width:900px){.dash-grid{grid-template-columns:1fr}}

/* stake panel */
.stake-boost{margin:.2rem 0 1rem}
.stake-boost .lab{display:flex;justify-content:space-between;font-family:var(--f-mono);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.meter{height:9px;border-radius:100px;background:var(--paper-3);border:1px solid var(--line);margin:.5rem 0;overflow:hidden;position:relative}
.meter__fill{height:100%;width:0;background:linear-gradient(90deg,var(--signal),var(--lime));transition:width 1.3s cubic-bezier(.2,.7,.2,1)}
.stake-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.2rem}
.cooldown{display:flex;align-items:center;gap:.6rem;margin-top:1rem;padding:.75rem .9rem;border:1px dashed var(--line-2);border-radius:var(--radius);
  font-family:var(--f-mono);font-size:.76rem;color:var(--muted);line-height:1.5}
.cooldown .dot{width:7px;height:7px;border-radius:50%;background:var(--muted-2);flex:none}

/* dashboard tabs (reuse .tabs/.tab/.tabpane but inset in card) */
.dcard .tabs{margin:0;padding:0 1.3rem;gap:1.4rem;border-bottom:1px solid var(--line)}
.dcard .tab{padding:1rem 0}
.dcard__pane{padding:.4rem 0}

/* season card */
.season-grid{display:flex;gap:1.6rem;flex-wrap:wrap;margin-bottom:1.2rem}
.season-grid .cell .k{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.season-grid .cell .v{font-family:var(--f-disp);font-weight:900;font-size:clamp(1.5rem,3vw,2rem);letter-spacing:-.02em;line-height:1.05;margin-top:.3rem;font-variant-numeric:tabular-nums}
.season-meta{font-family:var(--f-mono);font-size:.74rem;color:var(--muted);line-height:1.55;margin-top:.5rem}

/* claimable consolidated */
.claim-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 0;border-bottom:1px solid var(--line)}
.claim-row:last-of-type{border-bottom:0}
.claim-row .k{font-family:var(--f-mono);font-size:.78rem;color:var(--muted);letter-spacing:.02em}
.claim-row .k b{display:block;color:var(--ink);font-weight:500;font-size:.92rem;margin-top:.15rem;letter-spacing:0}
.claim-row .v{font-family:var(--f-mono);font-variant-numeric:tabular-nums;font-weight:600;font-size:.98rem;text-align:right;white-space:nowrap}
.claim-row .v.sig{color:var(--signal)}
.claim-row .v.pend{color:var(--muted);font-weight:400}
.claim-total{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-top:1.1rem;padding-top:1.1rem;border-top:1px solid var(--ink)}
.claim-total .v{font-family:var(--f-disp);font-weight:900;font-size:1.7rem;letter-spacing:-.02em;color:var(--signal);font-variant-numeric:tabular-nums}
.claim-all{width:100%;justify-content:center;margin-top:1.1rem}

/* activity feed */
.feed{list-style:none;margin:0;padding:0}
.feed li{display:grid;grid-template-columns:auto 1fr auto;gap:.8rem;align-items:baseline;
  padding:.85rem 0;border-bottom:1px solid var(--line)}
.feed li:last-child{border-bottom:0}
.feed .fi{width:7px;height:7px;border-radius:50%;background:var(--muted-2);transform:translateY(.4em)}
.feed .fi.up{background:var(--signal)}.feed .fi.brn{background:var(--burn)}
.feed .ft{font-size:.9rem;line-height:1.45}
.feed .ft b{font-weight:500}
.feed .fa{font-family:var(--f-mono);font-size:.7rem;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}

/* small reward cell for bounty ledgers */
.rwd{font-family:var(--f-mono);font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}
.rwd.sig{color:var(--signal)}
.claimtag{font-family:var(--f-mono);font-size:.64rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;
  color:var(--signal);border:1px solid var(--signal);border-radius:100px;padding:.2em .55em;white-space:nowrap}

/* ---- alignment pass ------------------------------------------------- */
/* split-reward tag sits on its own line above the bottom-pinned reward row,
   so reward amounts share one baseline across a card row */
.bcard__split{margin-top:auto;padding-top:.35rem;line-height:1}
.bcard__split + .bcard__rw{margin-top:0}
/* claimable rows: the label wraps, the value never does and never drifts */
.claim-row .k{flex:1 1 auto;min-width:0}
.claim-row .v{flex:0 0 auto}

/* ---- centered page heros ---------------------------------------------- */
/* every .phead (for-agents, rankings, tokenomics, proof, docs…): eyebrow,
   heading, lede and CTA row all horizontally centered */
.phead .wrap{text-align:center}
.phead .lede{margin-left:auto;margin-right:auto}
.phead .hero__cta,.phead .flex{justify-content:center}
/* board: title + count stacked and centered (live pill removed) */
.board-head--center{flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.55rem}
/* proof hero is `.phead.ink` (same element) — the descendant rule above never
   matched it, leaving the lede ink-on-ink. Compound selector fixes contrast. */
.phead.ink .lede{color:var(--paper-on-ink)}
