@font-face{font-family:'Archivo Black';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/archivo-black.woff2') format('woff2')}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:400 700;font-display:swap;src:url('/fonts/space-grotesk.woff2') format('woff2')}
@font-face{font-family:'Space Mono';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/space-mono.woff2') format('woff2')}
:root{
  --bone:#F6ECD4;--paper:#FBF4E2;--card:#FFFDF7;--ink:#16150F;
  --pool:#00C46B;--pool-ink:#0A7D45;
  --ops:#7C5CD6;--creator:#F6B23C;--crowd:#FF6A4D;--buyback:#2E7BE4;
  --mint:#3DDC97;--lilac:#C8A2FF;
  --muted:rgba(22,21,15,.6);--line:var(--ink);
  --s4:4px 4px 0 0 var(--ink);--s6:6px 6px 0 0 var(--ink);--s9:9px 9px 0 0 var(--ink);
  --shadow:var(--s6);
}
*{box-sizing:border-box;margin:0;padding:0}
body{
  background-color:var(--bone);color:var(--ink);min-height:100vh;
  background-image:linear-gradient(rgba(22,21,15,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(22,21,15,.05) 1px,transparent 1px);
  background-size:24px 24px;
  font-family:'Space Grotesk',system-ui,sans-serif;-webkit-font-smoothing:antialiased;
}
.wrap{max-width:1160px;margin:0 auto;padding:0 32px}
.mono{font-family:'Space Mono',monospace}
a{color:inherit;text-decoration:none}

/* nav */
nav{display:flex;align-items:center;justify-content:space-between;height:78px}
.brand{display:flex;align-items:center;gap:10px;font-family:'Archivo Black';font-size:21px;letter-spacing:-.03em}
.brand svg{width:30px;height:30px;background:var(--card);border:2px solid var(--ink);border-radius:9px;padding:4px;box-shadow:var(--s4);overflow:visible}
.brand .d{color:var(--pool);-webkit-text-stroke:1px var(--ink)}
.nav-links{display:flex;gap:8px}
.nav-links a{border:2px solid var(--ink);border-radius:9999px;padding:8px 15px;font-size:14px;font-weight:600;background:var(--card);box-shadow:var(--s4);transition:transform .1s}
.nav-links a:hover{transform:translate(-1px,-1px)}
.nav-links a.on{background:var(--ink);color:var(--bone)}
.pill{display:inline-block;font-family:'Space Mono';font-size:12px;border:2px solid var(--ink);border-radius:9999px;padding:6px 14px;background:var(--lilac);box-shadow:var(--s4)}
.btn{font-weight:700;font-size:14.5px;padding:11px 18px;border:2px solid var(--ink);border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;gap:7px;background:var(--card);box-shadow:var(--s4);transition:all .1s ease}
.btn:hover{transform:translate(-1px,-1px);box-shadow:5px 5px 0 0 var(--ink)}
.btn:active{transform:translate(2px,2px);box-shadow:0 0 0 0 var(--ink)}
.btn.p,.btn.k{background:var(--ink);color:var(--bone)}
.btn.g{background:var(--pool);color:#04371f}
.btn.s{background:var(--card)}

/* hero + composer */
.hero{display:grid;grid-template-columns:1.02fr .98fr;gap:44px;align-items:center;padding:30px 0 44px}
.h1{font-family:'Archivo Black';text-transform:uppercase;font-size:62px;line-height:.95;letter-spacing:-.035em}
.h1 .g{color:var(--pool);-webkit-text-stroke:2px var(--ink)}
.hero .sub{font-size:17px;font-weight:500;color:var(--ink);line-height:1.5;margin:20px 0 24px;max-width:44ch}
.composer{background:var(--card);border:2px solid var(--ink);border-radius:14px;padding:9px 9px 9px 14px;box-shadow:var(--s6);max-width:480px}
.composer .row{display:flex;gap:10px;align-items:center}
.composer .av{width:44px;height:44px;border:2px solid var(--ink);border-radius:9px;background:var(--creator);display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.composer .av svg{width:27px;height:27px}
.composer input{flex:1;border:0;background:transparent;font-family:'Archivo Black';font-size:18px;color:var(--ink);outline:none;min-width:0;text-transform:uppercase}
.composer .go{background:var(--pool);color:#04371f;border:2px solid var(--ink);border-radius:8px;padding:10px 16px;font-weight:700;font-size:14.5px;cursor:pointer;flex:0 0 auto;box-shadow:var(--s4);transition:all .1s ease;white-space:nowrap}
.composer .go:hover{transform:translate(-1px,-1px);box-shadow:5px 5px 0 0 var(--ink)}
.composer .go:active{transform:translate(2px,2px);box-shadow:0 0 0 0 var(--ink)}
.composer .hint{font-size:11.5px;color:var(--muted);margin:8px 4px 2px;font-family:'Space Mono'}
.cta2{display:flex;align-items:center;gap:12px;margin-top:14px}
.cta2 .t{font-family:'Space Mono';font-size:13px;font-weight:700;color:var(--muted)}
.steps{display:flex;gap:9px;margin-top:20px;flex-wrap:wrap}
.steps span{border:2px solid var(--ink);border-radius:9999px;background:var(--card);padding:6px 13px;font-size:13px;font-weight:600;box-shadow:var(--s4)}
.steps b{color:var(--pool);-webkit-text-stroke:.4px var(--ink)}

/* hero-right card (token preview) */
.stage{position:relative;background:var(--card);border:2px solid var(--ink);border-radius:18px;padding:18px;box-shadow:var(--s9);overflow:hidden;transition:all .1s}
.stage:hover{transform:translate(-2px,-2px);box-shadow:11px 11px 0 0 var(--ink)}

/* The four-colour split band that used to sit on the fold was retired by the
   20-brand/REFRAME_DIRECTIVE.md kill-list (2026-07-22): the quadrant is the
   casino tell, and the split now reads as the mono .receipt ledger on bone
   lower down the board. Its rules (.band, .chip) went with it once nothing in
   site/ referenced them. The retired framing is not restated here on purpose,
   because frontfacing_rails.py cannot tell a citation from a claim and should
   not have to. */

/* section chrome */
.sec{padding:34px 0}
.eyebrow{font-family:'Space Mono';font-size:12px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}
h2.big{font-family:'Archivo Black';text-transform:uppercase;font-size:34px;letter-spacing:-.03em}

/* board */
.board{padding:30px 0 54px}
.board-h{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:22px;flex-wrap:wrap;gap:12px}
.board-h h1{font-family:'Archivo Black';text-transform:uppercase;font-size:34px;letter-spacing:-.03em}
.board-h .sub{font-size:14px;font-weight:600;color:var(--muted);margin-top:4px}
.tabs{display:flex;gap:6px;background:var(--card);border:2px solid var(--ink);border-radius:9999px;padding:4px;box-shadow:var(--s4)}
.tabs a{font-size:13px;font-weight:700;color:var(--muted);padding:6px 14px;border-radius:9999px;cursor:pointer}
.tabs a.on{background:var(--ink);color:var(--bone)}
.search{border:2px solid var(--ink);border-radius:9999px;background:var(--card);padding:9px 15px;font-size:13px;color:var(--muted);font-family:'Space Mono';min-width:200px;box-shadow:var(--s4)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.grid.g4{grid-template-columns:repeat(4,1fr)}
.tk{background:var(--card);border:2px solid var(--ink);border-radius:18px;padding:16px;box-shadow:var(--s6);transition:all .1s;display:block}
.tk:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 0 var(--ink)}
.tk .top{display:flex;align-items:center;gap:11px}
.tk .av{width:44px;height:44px;border:2px solid var(--ink);border-radius:10px;display:flex;align-items:center;justify-content:center;font-family:'Archivo Black';font-size:17px;color:#fff;flex:0 0 auto}
.tk .nm{font-family:'Archivo Black';font-size:16px;line-height:1.1;color:var(--ink)}.tk .tkr{font-family:'Space Mono';font-size:11.5px;color:var(--muted)}
.tk .status{margin-left:auto;font-family:'Space Mono';font-size:10.5px;font-weight:700;padding:4px 11px;border:2px solid var(--ink);border-radius:9999px;box-shadow:var(--s4)}
.st-new{background:var(--buyback);color:#fff}
.st-climb{background:var(--mint);color:#04371f}
.st-grad{background:var(--creator);color:#3a2a06}
.prog{margin:14px 0 9px}
.prog .lab{display:flex;justify-content:space-between;font-family:'Space Mono';font-size:12px;color:var(--muted);margin-bottom:6px}
.bar{height:12px;border:2px solid var(--ink);border-radius:9999px;background:#fff;overflow:hidden}
.bar i{display:block;height:100%;background:var(--pool);border-right:2px solid var(--ink)}
.tk .foot{display:flex;align-items:center;gap:8px;font-family:'Space Mono';font-size:11.5px;font-weight:700;color:var(--muted);margin-top:11px}
.poolchip{display:inline-flex;align-items:center;gap:6px;color:var(--pool-ink)}
.poolchip::before{content:"";width:10px;height:10px;border:2px solid var(--ink);background:var(--pool)}

/* panels + buckets + poolbox + curve */
.panel{background:var(--card);border:2px solid var(--ink);border-radius:18px;padding:20px;box-shadow:var(--s6)}
.panel .ph{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.panel .ph h3{font-family:'Archivo Black';font-size:16px}
.panel .ph .m{font-family:'Space Mono';font-size:11.5px;color:var(--muted)}
.buckets{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.bk{border:2px solid var(--ink);border-radius:12px;padding:12px 13px;color:#fff;box-shadow:var(--s4)}
.bk .p{font-family:'Archivo Black';font-size:19px}.bk .n{font-size:11.5px;opacity:.94;margin-top:1px}
.bk.o{background:var(--ops)}.bk.c{background:var(--creator);color:#3a2a06}.bk.w{background:var(--crowd)}.bk.b{background:var(--buyback)}
.poolbox{margin-top:11px;border:2px solid var(--ink);border-radius:14px;background:rgba(0,196,107,.1);padding:14px;position:relative;overflow:hidden;height:96px;box-shadow:var(--s4)}
.poolbox .lbl{font-family:'Space Mono';font-size:11px;color:var(--pool-ink);position:relative;z-index:2}
.poolbox .big{font-family:'Archivo Black';font-size:17px;color:var(--pool-ink);margin-top:3px;position:relative;z-index:2}
.poolbox .fill{position:absolute;left:0;right:0;bottom:0;height:46%;background:linear-gradient(180deg,rgba(0,196,107,.28),rgba(0,196,107,.5));animation:deepen2 4.5s ease-in-out infinite}
@keyframes deepen2{0%,45%{height:40%}75%,100%{height:60%}}
.poolbox .arw{position:absolute;bottom:8px;color:var(--pool-ink);font-size:13px;font-weight:700;animation:rise 2.4s ease-in infinite}
.poolbox .arw:nth-of-type(2){left:34%}.poolbox .arw:nth-of-type(3){left:58%;animation-delay:1s}.poolbox .arw:nth-of-type(4){left:78%;animation-delay:1.7s}
@keyframes rise{0%{opacity:0;transform:translateY(12px)}30%{opacity:.95}100%{opacity:0;transform:translateY(-26px)}}
.chart{width:100%;height:210px}

/* claim band */
.claimband{background:var(--ink);color:var(--bone);border:2px solid var(--ink);border-radius:18px;padding:26px 28px;margin-bottom:26px;box-shadow:var(--s6);display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}
.claimband h2{font-family:'Archivo Black';text-transform:uppercase;font-size:28px;letter-spacing:-.03em}
.claimband h2 .g{color:var(--pool)}
.claimband p{font-size:14px;color:rgba(246,236,212,.66);margin-top:8px;max-width:46ch;line-height:1.5}
.handle{display:flex;background:rgba(246,236,212,.08);border:2px solid var(--bone);border-radius:10px;overflow:hidden;min-width:280px}
.handle .at{padding:12px 4px 12px 14px;font-family:'Space Mono';color:rgba(246,236,212,.5)}
.handle input{flex:1;background:transparent;border:0;color:var(--bone);font-family:'Space Mono';font-size:14px;padding:12px 8px;outline:none;min-width:0}

/* generic cards / low band */
.low{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:30px 0}
.lowcard{background:var(--card);border:2px solid var(--ink);border-radius:18px;padding:22px;box-shadow:var(--s6)}
.lowcard h3{font-family:'Archivo Black';font-size:23px;margin:8px 0 10px;letter-spacing:-.02em}
.lowcard h3 .g{color:var(--pool-ink)}
.lowcard p{font-size:13.5px;color:var(--muted);line-height:1.55}
.sharecard{background:var(--ink);color:var(--bone);border:2px solid var(--ink);border-radius:13px;padding:16px;margin-top:14px}
.sharecard .poster{display:flex;align-items:center;gap:10px}
.sharecard .pfp{width:36px;height:36px;border:2px solid var(--bone);border-radius:9px;background:var(--crowd);display:flex;align-items:center;justify-content:center;font-family:'Archivo Black';font-size:14px;color:#fff}
.sharecard .nm{font-weight:700;font-size:13.5px}.sharecard .hd{font-family:'Space Mono';font-size:11px;color:rgba(246,236,212,.55)}
.sharecard .claim{font-family:'Archivo Black';font-size:19px;margin:11px 0 4px}.sharecard .claim .g{color:var(--pool)}
.sharecard .meta{font-family:'Space Mono';font-size:11px;color:rgba(246,236,212,.6)}

/* leaderboard */
.lead{background:var(--card);border:2px solid var(--ink);border-radius:18px;box-shadow:var(--s6);overflow:hidden}
.lead .r{display:grid;grid-template-columns:44px 1fr 120px 120px;gap:12px;align-items:center;padding:13px 20px;border-bottom:2px solid var(--ink);font-size:14px}
.lead .r:last-child{border-bottom:0}
.lead .r.h{font-family:'Space Mono';font-size:11.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.lead .rank{font-family:'Archivo Black';font-size:16px;color:var(--muted)}
.lead .rank.top{color:var(--pool-ink)}
.lead .who{display:flex;align-items:center;gap:10px}
.lead .who .pfp{width:32px;height:32px;border:2px solid var(--ink);border-radius:8px;display:flex;align-items:center;justify-content:center;font-family:'Archivo Black';font-size:13px;color:#fff}
.lead .who b{font-weight:700}.lead .who .h{font-family:'Space Mono';font-size:11px;color:var(--muted)}
.lead .num{font-family:'Space Mono';font-size:13px}
.lead .num.g{color:var(--pool-ink);font-weight:700}

/* footer */
footer{padding:28px 0;border-top:2px solid var(--ink);margin-top:20px}
footer .fine{font-size:11px;color:var(--muted);line-height:1.7;font-family:'Space Mono';max-width:74ch;margin-top:12px}

/* ============ responsive ============
   Neubrutal hard shadows stick out to the right, so they must shrink on
   narrow screens or they force horizontal scroll. Grids all collapse. */
@media(max-width:900px){
  .hero{grid-template-columns:1fr;gap:28px;padding:18px 0 30px}
  .h1{font-size:46px}
  .grid,.grid.g4{grid-template-columns:repeat(2,1fr)}
  .low{grid-template-columns:1fr;padding:22px 0}
  .claimband{grid-template-columns:1fr;gap:16px;padding:20px}
  .board-h{align-items:flex-start}
}
@media(max-width:640px){
  :root{--s4:3px 3px 0 0 var(--ink);--s6:4px 4px 0 0 var(--ink);--s9:5px 5px 0 0 var(--ink)}
  html,body{overflow-x:hidden}
  .wrap{padding:0 16px}

  /* nav: brand + cta on row 1, links become a scrollable strip */
  nav{height:auto;flex-wrap:wrap;gap:10px;padding:14px 0}
  .brand{font-size:18px;gap:8px}
  .brand svg{width:28px;height:28px;padding:3px}
  .nav-links{order:3;width:100%;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:5px}
  .nav-links a{white-space:nowrap;font-size:13px;padding:7px 12px}

  /* hero */
  .h1{font-size:36px;letter-spacing:-.03em}
  .hero .sub{font-size:15.5px;margin:14px 0 18px;max-width:100%}
  .composer{max-width:100%;padding:8px}
  .composer .row{flex-wrap:wrap;gap:8px}
  .composer .av{width:40px;height:40px}
  .composer input{font-size:17px}
  .composer .go{width:100%;text-align:center;justify-content:center;padding:11px 14px}
  .cta2{flex-wrap:wrap;gap:8px}
  .steps{gap:7px}
  .steps span{font-size:12px;padding:5px 10px}
  .stage{padding:14px}

  /* band + sections */
  .band{gap:8px;padding:10px 0 4px}
  .band .t{width:100%;text-align:center;margin-bottom:2px}
  .chip{font-size:13px;padding:5px 12px}
  .band .ar{display:none}
  .stage .poolchip,.stage .mono{font-size:10.5px}
  h2.big,.board-h h1{font-size:26px}
  .board{padding:22px 0 36px}
  .board-h{flex-direction:column;gap:12px}
  .grid,.grid.g4{grid-template-columns:1fr}
  .tabs,.search{width:100%}
  .tabs{justify-content:space-between}
  .search{min-width:0}

  /* panels + cards */
  .panel{padding:16px}
  .poolbox .arw{display:none}
  .poolbox{height:auto}
  .lowcard{padding:18px}
  .lowcard h3{font-size:20px}
  .claimband h2{font-size:22px}
  .handle{min-width:0;width:100%}

  /* leaderboard: drop the 4th column, tighten */
  .lead .r{grid-template-columns:30px 1fr auto;gap:8px;padding:11px 12px;font-size:13px}
  .lead .r>*:nth-child(4){display:none}
  .lead .who .pfp{width:28px;height:28px}

  footer .fine{font-size:10.5px}
}

/* ============================================================================
   THE BOARD build-out. New components only, on the existing system.
   Nothing above this line is modified: the :root tokens, the type ramp, the
   2px ink borders, the hard offset shadows and the 900/640 breakpoints are
   all inherited as-is.
   ========================================================================= */

/* --- surface identity: reads "UNTOLL.fun" on the board, ".ing" on untolling.
       Persistent on every screen, which is the legibility rail. ----------- */
.brand .surf{font-family:'Space Mono';font-size:11.5px;font-weight:400;letter-spacing:0;color:var(--muted)}

/* --- nav wrap safety. Five links plus a CTA overflow between 640 and 900,
       so the link strip drops to its own scrollable row early. ----------- */
@media(max-width:900px){
  nav{flex-wrap:wrap;height:auto;padding:14px 0;gap:10px}
  .nav-links{order:3;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:5px}
  .nav-links a{white-space:nowrap}
}

/* --- THE FEE LEDGER. Canonical hero, exactly one instance, on the board.
       Ink panel so it reads as the loudest object on a calm surface. ----- */
/* Children are fl-* prefixed on purpose: the four .bk buckets nest inside this
   panel, and a bare .fee-ledger .n would out-cascade .bk .n and blow the bucket
   labels up to 58px. */
.fee-ledger{background:var(--ink);color:var(--bone);border:2px solid var(--ink);border-radius:18px;padding:26px 28px;box-shadow:var(--s9);display:grid;grid-template-columns:1.05fr .95fr;gap:30px;align-items:center;margin-bottom:24px}
.fee-ledger .fl-k{font-family:'Space Mono';font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:rgba(246,236,212,.6);display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.fee-ledger .fl-n{font-family:'Archivo Black';font-size:58px;line-height:1;letter-spacing:-.04em;color:var(--pool);margin-top:10px}
.fee-ledger .fl-s{font-size:14.5px;color:rgba(246,236,212,.8);margin-top:12px;max-width:42ch;line-height:1.5}
.fee-ledger .fl-s b{color:var(--bone)}
.fee-ledger .fl-zero{font-family:'Space Mono';font-size:11px;color:rgba(246,236,212,.52);margin-top:13px;max-width:46ch;line-height:1.65}
.fee-ledger .fl-rh{font-family:'Space Mono';font-size:11.5px;color:rgba(246,236,212,.6);margin-bottom:11px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
/* buckets sit on ink here, so the ink border and ink shadow would vanish:
   invert to a bone border, matching the claimband handle treatment. */
.fee-ledger .bk{border-color:var(--bone);box-shadow:none}
.fee-ledger .fl-pool{margin-top:10px;border:2px solid var(--pool);border-radius:12px;background:rgba(0,196,107,.13);padding:11px 13px;font-family:'Space Mono';font-size:11.5px;color:var(--pool);line-height:1.5}
.fee-ledger .fl-pool a{text-decoration:underline}
.tag-mini{font-family:'Space Mono';font-size:10px;letter-spacing:.03em;text-transform:none;border:1.5px solid rgba(246,236,212,.42);border-radius:9999px;padding:2px 8px;color:rgba(246,236,212,.78);white-space:nowrap}

/* --- lane tags. Same board, one economy, just tagged. ----------------- */
.tag{display:inline-flex;align-items:center;gap:6px;font-family:'Space Mono';font-size:10.5px;font-weight:700;border:2px solid var(--ink);border-radius:9999px;padding:3px 10px;background:var(--card);white-space:nowrap}
.tag::before{content:"";width:8px;height:8px;border:1.5px solid var(--ink);border-radius:2px;background:var(--pool)}
.tag.agent{background:var(--lilac)}
.tag.agent::before{background:var(--ops)}
.tk .lane{margin-top:11px}

/* --- board controls: tabs + search + sort + lane filter ---------------- */
.controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}
.controls .spacer{flex:1}
.sortsel{border:2px solid var(--ink);border-radius:9999px;background:var(--card);padding:9px 34px 9px 15px;font-family:'Space Mono';font-size:13px;color:var(--ink);box-shadow:var(--s4);cursor:pointer;-webkit-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 17px) calc(50% + 1px),calc(100% - 12px) calc(50% + 1px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}
.search{outline:none}
.search:focus,.sortsel:focus{box-shadow:var(--s4),0 0 0 3px rgba(0,196,107,.45)}
.lanef{display:flex;gap:6px;background:var(--card);border:2px solid var(--ink);border-radius:9999px;padding:4px;box-shadow:var(--s4)}
.lanef a{font-size:13px;font-weight:700;color:var(--muted);padding:6px 13px;border-radius:9999px;cursor:pointer;white-space:nowrap}
.lanef a.on{background:var(--ink);color:var(--bone)}
.legend{font-family:'Space Mono';font-size:11.5px;color:var(--muted);line-height:1.65;margin-bottom:18px;max-width:82ch}
.count{font-family:'Space Mono';font-size:12px;color:var(--muted)}
.empty{border:2px dashed var(--ink);border-radius:18px;padding:44px 24px;text-align:center;background:rgba(255,253,247,.5)}
.empty h3{font-family:'Archivo Black';font-size:19px}
.empty p{font-size:13.5px;color:var(--muted);margin-top:7px}

/* --- inline honesty note. States what a surface is, in place. --------- */
.note-in{border:2px solid var(--ink);border-radius:12px;background:var(--lilac);padding:11px 14px;font-family:'Space Mono';font-size:11.5px;line-height:1.6;box-shadow:var(--s4)}
.note-in b{font-family:'Space Grotesk';font-weight:700}

/* --- data rows: holders + activity ------------------------------------ */
.rows{border:2px solid var(--ink);border-radius:14px;background:var(--card);overflow:hidden;box-shadow:var(--s4)}
.rows .r{display:grid;align-items:center;gap:10px;padding:11px 14px;border-bottom:2px solid var(--ink);font-size:13.5px}
.rows .r:last-child{border-bottom:0}
.rows .r.h{font-family:'Space Mono';font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.rows .r.hold{grid-template-columns:1fr 74px 62px}
.rows .r.act{grid-template-columns:64px 1fr 84px}
.rows .who{display:flex;align-items:center;gap:9px;min-width:0}
.rows .who .pfp{width:26px;height:26px;border:2px solid var(--ink);border-radius:7px;display:flex;align-items:center;justify-content:center;font-family:'Archivo Black';font-size:11px;color:#fff;flex:0 0 auto}
.rows .who b{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rows .num{font-family:'Space Mono';font-size:12.5px;text-align:right}
.rows .side{font-family:'Space Mono';font-size:11px;font-weight:700;border:2px solid var(--ink);border-radius:9999px;padding:2px 9px;text-align:center}
.rows .side.buy{background:var(--mint);color:#04371f}
.rows .side.sell{background:var(--crowd);color:#fff}

/* --- key/value strip -------------------------------------------------- */
.kv{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.kv .c{border:2px solid var(--ink);border-radius:12px;background:var(--card);padding:12px 13px;box-shadow:var(--s4)}
.kv .c .n{font-family:'Archivo Black';font-size:19px}
.kv .c .k{font-family:'Space Mono';font-size:10.5px;color:var(--muted);margin-top:3px}

/* --- footer sitemap --------------------------------------------------- */
.fcols{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:26px;padding-bottom:20px}
.ftag{font-size:13px;color:var(--muted);margin-top:9px;max-width:28ch;line-height:1.5}
.fnav{display:flex;flex-direction:column;gap:8px;min-width:0}
.fnav .fh{font-family:'Archivo Black';font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px}
.fnav a{font-size:13px;color:var(--muted);font-weight:600}
.fnav a:hover{color:var(--ink)}
.fnav a .ext{font-family:'Space Mono';font-size:10px;color:var(--pool-ink)}

/* --- responsive for the added components ------------------------------ */
@media(max-width:900px){
  .fee-ledger{grid-template-columns:1fr;gap:22px;padding:22px}
  .fee-ledger .fl-n{font-size:48px}
  .fcols{grid-template-columns:1fr 1fr;gap:22px}
  .kv{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .fee-ledger{padding:18px}
  .fee-ledger .fl-n{font-size:38px}
  .fee-ledger .fl-s{font-size:13.5px}
  .controls{gap:8px}
  .controls .lanef,.controls .sortsel{width:100%}
  .lanef{justify-content:space-between}
  .sortsel{background-position:calc(100% - 17px) calc(50% + 1px),calc(100% - 12px) calc(50% + 1px)}
  .fcols{grid-template-columns:1fr 1fr;gap:16px}
  .kv{grid-template-columns:1fr 1fr}
  .rows .r{padding:10px;font-size:12.5px}
  .rows .r.hold{grid-template-columns:1fr 62px 52px}
  .rows .r.act{grid-template-columns:54px 1fr 70px}
  .legend{font-size:11px}
}

/* ============================================================================
   THE REFRAME build-out (2026-07-23). Custody-first fold, the Containment
   Ledger, the mono toll receipt. New components only, on the existing system:
   ink-on-bone, 2px borders, hard shadows, the mono register. Own the FORM.
   Colour is demoted OUT of identity: green is the single earned accent, and
   it marks exactly one thing per object (the pool row, the one allowed row).
   ========================================================================= */

/* --- the fold proof chip: source-verified on chain, the one load-bearing
       receipt on the fold. One chip, not a system of chips. ------------- */
.proofchip{display:inline-flex;align-items:center;gap:9px;border:2px solid var(--ink);border-radius:9999px;background:var(--card);padding:8px 15px;font-family:'Space Mono';font-size:12.5px;box-shadow:var(--s4);flex-wrap:wrap}
.proofchip .dot{width:9px;height:9px;border:2px solid var(--ink);background:var(--pool);border-radius:2px;flex:0 0 auto}
.proofchip b{font-weight:700}
.foldcta{display:flex;align-items:center;gap:12px;margin-top:20px;flex-wrap:wrap}

/* --- the blueprint source card: the .fun hero object. A datasheet reading of
       the real graduation state-check, with the absent withdraw path drawn as
       a struck line. It reads as a document, never a chart or a terminal. --- */
.blueprint{background:var(--card);border:2px solid var(--ink);border-radius:16px;box-shadow:var(--s9);overflow:hidden}
.blueprint .bh{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:13px 16px;border-bottom:2px solid var(--ink);font-family:'Space Mono';font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.blueprint .bh .src{color:var(--ink);font-weight:700;letter-spacing:0;text-transform:none}
.blueprint .code2{font-family:'Space Mono';font-size:12.5px;line-height:1.9;padding:16px 18px;overflow-x:auto;color:var(--ink)}
.blueprint .code2 .c{color:var(--muted)}
.blueprint .code2 .k{color:var(--pool-ink);font-weight:700}
.blueprint .code2 .ok{color:var(--pool-ink);font-weight:700}
.blueprint .code2 .no{color:var(--ink);text-decoration:line-through;text-decoration-thickness:2px;opacity:.5}
.blueprint .bf{border-top:2px solid var(--ink);padding:12px 16px;font-family:'Space Mono';font-size:11px;color:var(--muted);line-height:1.6}
.blueprint .bf b{color:var(--pool-ink)}

/* --- the Containment Ledger: the agent-lane hero. A datasheet, one row per
       drain attempt, each ending in the real revert reason. Five REVERTED in
       ink; the one allowed row is the ONLY green. Story told by layout. ---- */
.ledger{background:var(--card);border:2px solid var(--ink);border-radius:16px;box-shadow:var(--s9);overflow:hidden}
.ledger .lh{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:14px 18px;border-bottom:2px solid var(--ink)}
.ledger .lh .k{font-family:'Space Mono';font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.ledger .lh .run{font-family:'Space Mono';font-size:11px;color:var(--ink);border:2px solid var(--ink);border-radius:9999px;padding:4px 11px;background:var(--bone)}
.lrow{display:grid;grid-template-columns:26px 1fr 210px;gap:12px;align-items:center;padding:12px 18px;border-bottom:2px solid var(--ink);font-size:13.5px}
.lrow:last-child{border-bottom:0}
.lrow .n{font-family:'Space Mono';font-size:11.5px;color:var(--muted)}
.lrow .att{line-height:1.4}
.lrow .oc{font-family:'Space Mono';font-size:11px;display:flex;flex-direction:column;align-items:flex-start;gap:5px;line-height:1.45}
.lrow .oc .st{font-weight:700;border:2px solid var(--ink);border-radius:9999px;padding:2px 8px;font-size:10.5px;flex:0 0 auto}
.lrow .oc .reason{color:var(--muted)}
.lrow.rev .oc .st{background:var(--bone);color:var(--ink)}
.lrow.pass{background:rgba(0,196,107,.08)}
.lrow.pass .oc .st{background:var(--pool);color:#04371f}
.lrow.lhh{background:var(--bone)}
.lrow.lhh span{font-family:'Space Mono';font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.ledger .lf{padding:13px 18px;font-family:'Space Mono';font-size:11px;color:var(--muted);line-height:1.7}
.ledger .lf b{color:var(--ink)}
.ledger .lf a{color:var(--pool-ink);text-decoration:underline}

/* --- the mono toll receipt: the four-way split demoted OFF the fold to a
       receipt on bone, rows at graded ink opacity. The single green accent is
       the pool row, so colour points at the true differentiator. ---------- */
.receipt{border:2px solid var(--ink);border-radius:14px;background:var(--card);box-shadow:var(--s4);overflow:hidden;max-width:560px}
.receipt .rh{font-family:'Space Mono';font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:12px 16px;border-bottom:2px solid var(--ink)}
.receipt .rr{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center;padding:10px 16px;border-bottom:1px solid rgba(22,21,15,.14);font-family:'Space Mono';font-size:13px}
.receipt .rr:last-child{border-bottom:0}
.receipt .rr .pct{font-family:'Archivo Black';font-size:16px}
.receipt .rr.r1 .pct{opacity:.85}.receipt .rr.r2 .pct{opacity:.7}.receipt .rr.r3 .pct{opacity:.55}.receipt .rr.r4 .pct{opacity:.45}
.receipt .rr .tag2{font-size:11px;color:var(--muted)}
.receipt .pool-row{background:rgba(0,196,107,.09);border-top:2px solid var(--ink)}
.receipt .pool-row .pct{opacity:1;color:var(--pool-ink)}
.receipt .pool-row .lab{color:var(--pool-ink);font-weight:700}
.receipt .pool-row .dot{width:9px;height:9px;border:2px solid var(--ink);background:var(--pool);border-radius:2px}

/* --- ink-on-bone monogram tile: kills the bucket-hue av fills on the board,
       removing the confetti read on the densest surface. -------------------- */
.av.mono-tile,.tk .av.mono-tile,.pfp.mono-tile{background:var(--bone)!important;color:var(--ink)!important;border:2px solid var(--ink)}

@media(max-width:640px){
  .lrow{grid-template-columns:22px 1fr;gap:6px 10px}
  .lrow .oc{grid-column:2}
  .lrow.lhh{display:none}
  .blueprint .code2{font-size:11.5px}
}
