/* 4PACK - four kinds of money, one lock. */
:root{
  --void:#04050a; --void-2:#080a11; --void-3:#06070d; --panel:#0a0c14; --panel-2:#0d101a;
  --bone:#f4f0e8; --ash:#8a93a3; --ash-dim:#767f90;
  --deepen:#ccff00; --burn:#ff2ea6; --gold:#f0c14a; --alarm:#ff4438;
  --btc:#f7931a; --eth:#7b8cff; --cake:#1fc7d4; --usdt:#26a17b;
  --line:rgba(244,240,232,.1); --line-soft:rgba(244,240,232,.055); --line-hard:rgba(244,240,232,.2);
  --display:'Teko','Arial Narrow',Impact,sans-serif;
  --body:'Sora',system-ui,-apple-system,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,monospace;
  --gut:clamp(1rem,4vw,2rem); --max:1280px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:6rem}
body{background:var(--void);color:var(--bone);font:400 16px/1.6 var(--body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
img,svg,canvas{display:block;max-width:100%}
::selection{background:var(--deepen);color:var(--void)}
h1,h2,h3,h4{font-family:var(--display);font-weight:600;line-height:.92;letter-spacing:.01em;text-transform:uppercase}
h2{font-size:clamp(2rem,4.4vw,2.9rem)}
h3{font-size:1.55rem;line-height:1}
code{font-family:var(--mono)}

@keyframes pulse{0%,100%{opacity:.45}50%{opacity:1}}
@keyframes tape{to{transform:translateX(-50%)}}
@keyframes seam{0%,100%{opacity:.35}50%{opacity:1}}
@keyframes emberUp{0%{transform:translateY(6px);opacity:0}18%{opacity:1}100%{transform:translateY(-16px);opacity:0}}
@keyframes feedPulse{0%{color:var(--bone)}25%{color:var(--deepen)}100%{color:var(--bone)}}
@keyframes conveyor{to{background-position:26px 0}}
@keyframes stampBlink{0%,100%{opacity:1}50%{opacity:.25}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ---------- the two overlays that give the page its surface ---------- */
.crt,.grain{position:fixed;inset:0;z-index:90;pointer-events:none}
.crt{opacity:.5;mix-blend-mode:multiply;background:
  repeating-linear-gradient(rgba(0,0,0,.24) 0,rgba(0,0,0,.24) 1px,transparent 1px,transparent 3px),
  radial-gradient(at 50% 45%,transparent 45%,rgba(0,0,0,.55) 100%)}
.grain{opacity:.045;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ---------- shell ---------- */
.wrap{width:min(var(--max),100% - var(--gut)*2);margin-inline:auto}
.band{padding:clamp(3.5rem,8vw,6.5rem) 0;border-top:1px solid var(--line-soft);position:relative}
.band.sunk{background:transparent}
.eyebrow{display:flex;align-items:center;gap:.6rem;margin:0 0 .9rem;font-family:var(--mono);
  font-size:.7rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--ash-dim)}
.eyebrow::before{content:"";width:1.6rem;height:1px;background:currentColor}
.eyebrow .r{margin-left:auto}
.lead{max-width:62ch;margin:1.1rem 0 0;color:color-mix(in srgb,var(--bone) 78%,var(--ash));font-size:clamp(1rem,1.4vw,1.1rem)}
.lead.tight{font-size:clamp(.9rem,1.2vw,.98rem);line-height:1.7}
.note{margin:1.4rem 0 0;font-family:var(--mono);font-size:.72rem;line-height:1.75;letter-spacing:.03em;
  color:var(--ash);border-left:2px solid var(--gold);padding-left:.9rem}
.hl-b{color:var(--deepen)} .hl-d{color:var(--burn)}
.hl-btc{color:var(--btc)} .hl-eth{color:var(--eth)} .hl-cake{color:var(--cake)} .hl-usdt{color:var(--usdt)}

/* technical-drawing crop marks */
.panel{position:relative;background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--line)}
.panel,.grid12,.legs,.loop,.deny,.addr-group,.conduit,.big2,.toc,.hero-facts{position:relative}
.panel::before,.panel::after,
.grid12::before,.grid12::after,.legs::before,.legs::after,.loop::before,.loop::after,
.deny::before,.deny::after,.addr-group::before,.addr-group::after,.conduit::before,.conduit::after,
.big2::before,.big2::after,.toc::before,.toc::after,
.hero-facts::before,.hero-facts::after{
  content:"";position:absolute;width:9px;height:9px;border:1px solid var(--line-hard);pointer-events:none;z-index:3}
.panel::before,.grid12::before,.legs::before,.loop::before,.deny::before,.addr-group::before,
.conduit::before,.big2::before,.toc::before,.hero-facts::before{
  top:-1px;left:-1px;border-right:0;border-bottom:0}
.panel::after,.grid12::after,.legs::after,.loop::after,.deny::after,.addr-group::after,
.conduit::after,.big2::after,.toc::after,.hero-facts::after{
  right:-1px;bottom:-1px;border-top:0;border-left:0}

/* ---------- controls ---------- */
.btn{display:inline-flex;align-items:center;gap:.55rem;padding:.85rem 1.5rem;font-family:var(--mono);
  font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  border:1px solid var(--line-hard);background:rgba(244,240,232,.03);
  transition:background .18s,border-color .18s,color .18s,transform .18s}
.btn:hover{background:rgba(244,240,232,.08);border-color:var(--bone);transform:translateY(-1px)}
.btn-primary{color:var(--void);background:var(--deepen);border-color:var(--deepen)}
.btn-primary:hover{background:#e0ff66;border-color:#e0ff66;color:var(--void)}
.btn.sm{padding:.46rem .8rem;font-size:.64rem;letter-spacing:.14em}
.btn[disabled],.btn[aria-disabled="true"]{opacity:.4;cursor:not-allowed;transform:none}
.btn[disabled]:hover{background:rgba(244,240,232,.03);border-color:var(--line-hard);transform:none}
.chip{display:inline-flex;align-items:center;gap:.45rem;padding:.34rem .65rem;border:1px solid var(--line);
  font-family:var(--mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ash);white-space:nowrap}
.chip.b{color:var(--deepen);border-color:rgba(204,255,0,.32)}
.chip.d{color:var(--burn);border-color:rgba(255,46,166,.32)}
.chip.g{color:var(--gold);border-color:rgba(240,193,74,.34)}
.dot{width:6px;height:6px;flex:0 0 auto;background:var(--ash-dim);border-radius:50%}
.dot.live{background:var(--deepen);box-shadow:0 0 7px var(--deepen);animation:pulse 2.4s ease-in-out infinite}
.dot.wait{background:var(--gold);box-shadow:0 0 7px var(--gold)}

/* ---------- topbar ---------- */
.topbar{position:sticky;top:0;z-index:80;background:rgba(4,5,10,.82);backdrop-filter:blur(10px);border-bottom:1px solid var(--line-soft)}
.topbar .wrap{display:flex;align-items:center;gap:1rem;padding:.9rem 0}
.mark{display:flex;align-items:center;gap:.6rem;flex:0 0 auto}
.mark svg{width:30px;height:30px}
.mark b{font-family:var(--display);font-weight:700;font-size:1.6rem;letter-spacing:.05em}
.nav{display:flex;gap:1.25rem;margin-left:1.5rem;font-family:var(--mono);font-size:.68rem;
  font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--ash-dim)}
.nav a:hover,.nav a[aria-current]{color:var(--bone)}
.topbar .right{margin-left:auto;display:flex;align-items:center;gap:.6rem}
@media(max-width:980px){.nav{display:none}}
@media(max-width:600px){.topbar .right .chip{display:none}}

/* ---------- tape ---------- */
.tape{border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);background:#06070d;overflow:hidden;position:relative}
.tape-track{display:flex;width:max-content;animation:tape 46s linear infinite}
.tape:hover .tape-track{animation-play-state:paused}
.tape span{display:inline-flex;align-items:center;gap:.5rem;padding:.45rem 1.1rem;font-family:var(--mono);
  font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ash);border-right:1px solid var(--line-soft);white-space:nowrap}
.tape span i{font-style:normal;color:var(--deepen)}
.tape span.d i{color:var(--burn)}
.tape span.btc i{color:var(--btc)} .tape span.eth i{color:var(--eth)}
.tape span.cake i{color:var(--cake)} .tape span.usdt i{color:var(--usdt)}

/* ---------- hero ---------- */
.hero{position:relative;display:flex;align-items:flex-end;min-height:min(94vh,940px);
  padding:clamp(5rem,14vw,11rem) 0 clamp(2.5rem,5vw,4rem);overflow:hidden}
.hero-art{position:absolute;inset:0;z-index:0}
.hero-art img{width:100%;height:100%;object-fit:contain;object-position:88% 30%;opacity:.7;filter:saturate(1.12) contrast(1.06)}
.hero-art::after{content:"";position:absolute;inset:0;background:
  linear-gradient(90deg,var(--void) 2%,rgba(4,5,10,.9) 40%,rgba(4,5,10,.15) 72%),
  linear-gradient(180deg,rgba(4,5,10,.55) 0%,transparent 26%,rgba(4,5,10,.55) 74%,var(--void) 96%),
  radial-gradient(ellipse 70% 60% at 50% 30%,transparent 40%,rgba(4,5,10,.5) 100%)}
.hero-seam{position:absolute;top:0;bottom:0;left:50%;width:1px;z-index:1;
  background:linear-gradient(transparent,rgba(244,240,232,.5) 30%,rgba(244,240,232,.12) 70%,transparent);
  animation:seam 5.5s ease-in-out infinite}
.hero-in{position:relative;z-index:2}
.hero-kick{display:flex;flex-wrap:wrap;align-items:center;gap:.9rem;margin-bottom:1.2rem}
.hero-kick .chip{background:rgba(4,5,10,.74);backdrop-filter:blur(3px)}
.hero h1{font-size:clamp(3.6rem,13.5vw,10.5rem);line-height:.88;letter-spacing:-.015em}
.hero h1 em{font-style:normal;color:var(--deepen)}
.hero h1 .sub{display:block;font-size:.16em;letter-spacing:.34em;color:var(--ash);padding-left:.2em;margin-top:.35em}
.hero-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(1.5rem,4vw,3rem);align-items:end;margin-top:clamp(1.5rem,4vw,2.5rem)}
.hero-cta{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.6rem}
.hero-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line);background:rgba(6,7,13,.9);backdrop-filter:blur(6px)}
.hero-facts div{padding:.85rem .95rem;border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
.hero-facts div:nth-child(2n){border-right:0}
.hero-facts div:nth-last-child(-n+2){border-bottom:0}
.hero-facts dt{font-family:var(--mono);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ash-dim)}
.hero-facts dd{margin:.25rem 0 0;font-family:var(--display);font-size:1.7rem;line-height:1}
.hero-facts dd.b{color:var(--deepen)} .hero-facts dd.d{color:var(--burn)}
@media(max-width:860px){
  .hero-grid{grid-template-columns:1fr}
  .hero-art img{object-fit:cover;object-position:50% 26%;opacity:.3}
  .hero-art::after{background:linear-gradient(180deg,rgba(4,5,10,.5),rgba(4,5,10,.9) 60%,var(--void))}
  .hero-seam{display:none}
}

/* ---------- the 12-column terminal ---------- */
.grid12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1px;background:var(--line-soft);border:1px solid var(--line);margin-top:2rem}
.cell{position:relative;grid-column:span 3;padding:1.1rem 1.15rem 1.2rem;background:var(--panel);
  min-height:7.5rem;display:flex;flex-direction:column;gap:.35rem}
.cell.w4{grid-column:span 4} .cell.w6{grid-column:span 6} .cell.w12{grid-column:span 12}
.cell.head{grid-column:span 12;min-height:0;padding:.55rem 1.15rem;background:#07080f;flex-direction:row;
  align-items:center;justify-content:space-between;gap:.75rem;font-family:var(--mono);font-size:.66rem;
  letter-spacing:.2em;text-transform:uppercase;color:var(--ash-dim);box-shadow:inset 2px 0 0 transparent}
.cell.head.h-lock{background:linear-gradient(90deg,rgba(204,255,0,.08),#07080f 40%);box-shadow:inset 2px 0 0 var(--deepen)}
.cell.head.h-lock>span:first-child{color:var(--deepen)}
.cell.head.h-supply{background:linear-gradient(90deg,rgba(255,46,166,.08),#07080f 40%);box-shadow:inset 2px 0 0 var(--burn)}
.cell.head.h-supply>span:first-child{color:var(--burn)}
.cell.head.h-flow{background:linear-gradient(90deg,rgba(255,46,166,.09),#07080f 42%,rgba(204,255,0,.08));box-shadow:inset 2px 0 0 var(--gold)}
.cell.head.h-flow>span:first-child{color:var(--gold)}
.cell.head.h-clocks{background:linear-gradient(90deg,rgba(123,140,255,.09),#07080f 40%);box-shadow:inset 2px 0 0 var(--eth)}
.cell.head.h-clocks>span:first-child{color:var(--eth)}
.cell.b{background:linear-gradient(180deg,rgba(204,255,0,.09),transparent 70%),var(--panel);box-shadow:inset 2px 0 0 rgba(204,255,0,.4)}
.cell.d{background:linear-gradient(180deg,rgba(255,46,166,.09),transparent 70%),var(--panel);box-shadow:inset 2px 0 0 rgba(255,46,166,.4)}
.cell.g{background:linear-gradient(180deg,rgba(240,193,74,.08),transparent 70%),var(--panel);box-shadow:inset 2px 0 0 rgba(240,193,74,.4)}
.cell-k{display:flex;align-items:center;gap:.4rem;font-family:var(--mono);font-size:.63rem;font-weight:500;
  letter-spacing:.15em;text-transform:uppercase;color:var(--ash-dim)}
.cell-v{font-family:var(--display);font-size:clamp(1.8rem,3.4vw,2.9rem);line-height:.92;letter-spacing:.01em;
  font-variant-numeric:tabular-nums;min-height:1.9rem;display:flex;align-items:center;gap:.4rem}
.cell-v.sm{font-size:clamp(1.25rem,2.1vw,1.7rem);min-height:1.5rem}
.cell-v small{font-size:.42em;letter-spacing:.06em;color:var(--ash);margin-left:.25em}
.cell-v.burn{color:var(--burn)} .cell-v.deep{color:var(--deepen)} .cell-v.gold{color:var(--gold)}
.cell-s{margin-top:auto;font-family:var(--mono);font-size:.68rem;letter-spacing:.03em;color:var(--ash);line-height:1.55;max-width:36ch}
.cell-s b{color:var(--bone);font-weight:500}
.cell-s b{font-weight:500;color:var(--bone)}
.cell-s code{color:var(--bone)}
.meter{height:4px;margin-top:.55rem;background:rgba(244,240,232,.07);overflow:hidden}
.meter i{display:block;height:100%;width:0;background:var(--deepen);transition:width .6s}
.meter.d i{background:var(--burn)} .meter.g i{background:var(--gold)}
.meter.btcb i{background:var(--btc)} .meter.eth i{background:var(--eth)}
.meter.cake i{background:var(--cake)} .meter.usdt i{background:var(--usdt)}
.meter[data-state] i{width:100%;background:repeating-linear-gradient(45deg,transparent 0 4px,rgba(138,147,163,.22) 4px 5px)}
/* a row of four inside one cell */
.qrow{display:flex;align-items:center;gap:.5rem;padding:.26rem 0;border-top:1px solid var(--line-soft);font-family:var(--mono);font-size:.68rem}
.qrow:first-of-type{border-top:0}
.qrow .sw{width:7px;height:7px;flex:0 0 auto}
.qrow .tg{width:2.6rem;flex:0 0 auto;color:var(--ash-dim);letter-spacing:.1em;font-size:.62rem}
.qrow .fig{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right;color:var(--bone)}
.qrow .btn{margin-left:.25rem}
@media(max-width:1080px){.cell{grid-column:span 6}.cell.w4{grid-column:span 6}}
@media(max-width:680px){.cell,.cell.w4,.cell.w6{grid-column:span 12}}

/* live figures always wear their state, so the page never bluffs */
.fig{font-variant-numeric:tabular-nums}
.fig[data-state]{display:inline-flex;width:auto;max-width:max-content;
  font-family:var(--mono)!important;font-size:.58rem!important;font-weight:500!important;
  letter-spacing:.12em;line-height:1.3!important;white-space:nowrap;
  padding:.2rem .42rem;border:1px solid var(--line-soft);color:var(--ash)!important;
  background:repeating-linear-gradient(45deg,transparent 0 5px,rgba(138,147,163,.07) 5px 6px)}
.fig[data-state="err"]{color:var(--gold)!important;border-color:rgba(240,193,74,.38);
  background:repeating-linear-gradient(45deg,transparent 0 5px,rgba(240,193,74,.09) 5px 6px)}
.fig.fed{animation:feedPulse 1.2s ease-out}
.ember{font-family:var(--mono);font-size:.6rem;font-weight:700;letter-spacing:.1em;color:var(--burn);animation:emberUp 1.4s ease-out both;margin-left:.5rem}
#stamp[data-state="ok"]{color:var(--deepen);border-color:rgba(204,255,0,.32)}
#stamp[data-state="err"]{color:var(--gold);border-color:rgba(240,193,74,.38);animation:stampBlink 1.6s steps(1) infinite}

/* ---------- the four ---------- */
.legs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:1px;
  background:var(--line-soft);border:1px solid var(--line);margin-top:2rem}
.leg{position:relative;background:var(--panel);padding:.9rem 1.05rem .8rem;display:flex;flex-direction:column;gap:.6rem;transition:background .2s}
.leg:hover{background:var(--panel-2)}
.leg::before{content:"";position:absolute;inset:0 auto 0 0;width:2px;background:var(--c);opacity:.75}
.leg.btcb{--c:var(--btc)} .leg.eth{--c:var(--eth)} .leg.cake{--c:var(--cake)} .leg.usdt{--c:var(--usdt)}
.leg-top{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem}
.leg-sym{font-family:var(--display);font-size:1.55rem;line-height:1;letter-spacing:.02em;color:var(--c)}
.leg-name{font-family:var(--mono);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ash-dim);text-align:right}
.leg-top{align-items:baseline}
.leg-id{flex:1;min-width:0}
/* the engraved plate rides behind the data instead of fighting it for space */
.leg-plate{position:absolute;right:-14%;bottom:14%;width:58%;pointer-events:none;z-index:0}
.leg-plate img{width:100%;height:auto;opacity:.1;filter:saturate(1.3) contrast(1.1)}
.leg>*:not(.leg-plate){position:relative;z-index:1}
.leg{overflow:hidden}
.leg-foot a{color:var(--ash-dim)}
.leg-foot a:hover{color:var(--c)}
.leg-rows{display:grid;font-family:var(--mono);font-size:.72rem;font-variant-numeric:tabular-nums}
.leg-rows>div{display:flex;justify-content:space-between;align-items:center;gap:.6rem;padding:.28rem 0;border-top:1px solid var(--line-soft);min-height:1.55rem}
.leg-rows dt{color:var(--ash-dim);letter-spacing:.06em;text-transform:uppercase;font-size:.62rem}
.leg-rows dd{margin:0;text-align:right;white-space:nowrap;color:var(--bone)}
.leg-foot{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:auto;padding-top:.5rem;
  border-top:1px solid var(--line-soft);font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ash-dim);background:linear-gradient(180deg,transparent,var(--panel) 45%)}

/* ---------- the loop ---------- */
.loop{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;
  background:var(--line-soft);border:1px solid var(--line);margin-top:2rem}
@media(max-width:900px){.loop{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.loop{grid-template-columns:1fr}}
.step{background:var(--panel);padding:1.3rem 1.15rem 1.4rem;position:relative}
.step>b{font-family:var(--mono);font-size:.66rem;letter-spacing:.2em;color:var(--ash-dim);display:block;margin-bottom:.8rem}
.step p b{color:var(--bone);font-weight:500}
.step h3{margin-bottom:.5rem}
.step p{margin:0;font-size:.88rem;color:var(--ash);line-height:1.65}
.step:nth-child(1) h3{color:var(--bone)}
.step:nth-child(2) h3{color:var(--gold)}
.step:nth-child(3) h3{color:var(--burn)}
.step:nth-child(4) h3{color:var(--deepen)}
.step.free{grid-column:1/-1;background:linear-gradient(180deg,rgba(204,255,0,.06),transparent 60%),var(--panel)}
.step.free h3{color:var(--deepen)}
.step.free p{max-width:82ch}
.rail{height:10px;margin-top:2rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  background:repeating-linear-gradient(90deg,rgba(204,255,0,.34) 0 10px,transparent 10px 26px);animation:conveyor 1.4s linear infinite}
.rail[data-state]{animation:none;opacity:.3}
.railcap{display:flex;justify-content:space-between;font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;color:var(--ash-dim);margin-top:.5rem;text-transform:uppercase}
.conduit{position:relative;background:var(--void-3);height:200px;overflow:hidden;border:1px solid var(--line);margin-top:2rem}
.conduit canvas{position:absolute;inset:0;width:100%;height:100%}
.conduit .tl{position:absolute;top:10px;left:12px;font-family:var(--mono);font-size:.58rem;letter-spacing:.16em;color:var(--ash-dim);z-index:2}

/* ---------- the refusal ---------- */
.refuse{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:clamp(1.5rem,3vw,2.5rem);align-items:start;margin-top:2rem}
.deny{border:1px solid var(--line);background:var(--panel)}
.deny-row{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center;padding:.7rem 1rem;
  border-top:1px solid var(--line-soft);font-family:var(--mono);font-size:.78rem}
.deny-row:first-child{border-top:0}
.deny-row code{color:color-mix(in srgb,var(--bone) 88%,var(--ash));word-break:break-all;border:0;padding:0;background:none;font-size:.8rem}
.verdict{font-family:var(--mono);font-size:.68rem;font-weight:700;letter-spacing:.14em;padding:.2rem .5rem;border:1px solid;white-space:nowrap;text-transform:uppercase}
.verdict.no{color:var(--alarm)} .verdict.yes{color:var(--deepen)} .verdict.rev{color:var(--gold)}
.diag svg{width:100%}
.diag p{font-size:.85rem;line-height:1.65;color:var(--ash);margin-top:.9rem}

/* ---------- addresses ---------- */
.addr-group{border:1px solid var(--line);background:var(--panel);padding:.7rem 1.05rem}
.addr-group+.addr-group{margin-top:1rem}
.addr-row{display:grid;grid-template-columns:8.75rem minmax(0,1fr);gap:.75rem;align-items:center;
  padding:.48rem 0;border-top:1px solid var(--line-soft);font-family:var(--mono);font-size:.74rem}
.addr-row:first-child{border-top:0}
.addr-row b{font-weight:500;letter-spacing:.08em;text-transform:uppercase;font-size:.62rem;color:var(--ash)}
.addr-val{display:flex;align-items:center;gap:.55rem;min-width:0}
.addr-val>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--bone)}
.addr-val>span[data-state]{color:var(--ash-dim);border:1px solid var(--line);padding:.16rem .45rem;font-size:.62rem;letter-spacing:.1em;
  background:repeating-linear-gradient(45deg,transparent 0 5px,rgba(138,147,163,.09) 5px 6px)}
.copy{font-family:var(--mono);font-size:.58rem;letter-spacing:.12em;color:var(--ash-dim);border:1px solid var(--line);padding:.22rem .45rem;flex:0 0 auto}
.copy:hover{color:var(--deepen);border-color:var(--deepen)}
@media(max-width:620px){.addr-row{grid-template-columns:1fr;gap:.3rem}}

/* ---------- footer ---------- */
.foot{background:#05060b;border-top:1px solid var(--line);padding:4rem 0 2rem}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem;margin-bottom:2.5rem}
.foot h4{font-size:1.15rem;letter-spacing:.06em;margin-bottom:.9rem}
.foot ul{list-style:none;display:grid;gap:.55rem}
.foot li a,.foot li span{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;color:var(--ash)}
.foot li a:hover{color:var(--deepen)}
.foot-say{max-width:54ch;font-size:.88rem;line-height:1.75;color:var(--ash);margin-top:.9rem}
.foot-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding-top:1.5rem;
  border-top:1px solid var(--line-soft);font-family:var(--mono);font-size:.64rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ash-dim)}
@media(max-width:780px){.foot-grid{grid-template-columns:1fr}}

/* ---------- long-form ---------- */
.paper{display:grid;grid-template-columns:230px 1fr;gap:clamp(2rem,5vw,3.5rem);align-items:start}
.toc{position:sticky;top:6rem;border:1px solid var(--line);background:var(--panel);padding:1.1rem 1.15rem}
.toc b{display:block;font-family:var(--mono);font-size:.62rem;letter-spacing:.18em;color:var(--ash-dim);margin-bottom:.8rem}
.toc a{display:block;font-family:var(--mono);font-size:.68rem;letter-spacing:.04em;color:var(--ash);padding:.45rem 0;border-top:1px solid var(--line-soft)}
.toc a:first-of-type{border-top:0}
.toc a:hover{color:var(--deepen)}
.prose{max-width:74ch;min-width:0}
.prose h2{margin:3rem 0 .9rem}
.prose h2:first-child{margin-top:0}
.prose h3{margin:2rem 0 .6rem;font-size:1.3rem}
.prose p{color:var(--ash);font-size:.97rem;line-height:1.85;margin-bottom:1.05rem}
.prose p.first{font-size:1.1rem;color:color-mix(in srgb,var(--bone) 82%,var(--ash))}
.prose p b,.prose li b{color:var(--bone);font-weight:500}
.prose ul{margin:0 0 1.2rem 1.1rem}
.prose li{color:var(--ash);font-size:.95rem;line-height:1.8;margin-bottom:.5rem}
.prose code{font-size:.85em;color:var(--bone);border:1px solid var(--line);padding:.1rem .35rem;background:var(--panel);white-space:nowrap}
.pull{border-left:2px solid var(--deepen);padding:.2rem 0 .2rem 1.1rem;margin:1.8rem 0}
.pull p{color:var(--bone);font-size:1.05rem;margin:0}
.scroll{overflow-x:auto;border:1px solid var(--line);background:var(--panel);margin:0 0 1.4rem}
.tbl{width:100%;border-collapse:collapse;font-family:var(--mono);font-size:.74rem;min-width:480px}
.tbl th{font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ash-dim);text-align:left;padding:.7rem .8rem;border-bottom:1px solid var(--line)}
.tbl td{padding:.75rem .8rem;border-bottom:1px solid var(--line-soft);color:var(--ash);vertical-align:top;line-height:1.65}
.tbl td:first-child{color:var(--bone)}
.tbl tr:last-child td{border-bottom:0}
@media(max-width:900px){.paper{grid-template-columns:1fr}.toc{position:static}}

/* ---------- ledger ---------- */
.big2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:1px;background:var(--line-soft);border:1px solid var(--line);margin-top:2rem}
.bigbox{background:var(--panel);padding:clamp(1.4rem,3vw,2.2rem);position:relative}
.bigbox.d{background:linear-gradient(180deg,rgba(255,46,166,.09),transparent 70%),var(--panel);box-shadow:inset 2px 0 0 var(--burn)}
.bigbox.b{background:linear-gradient(180deg,rgba(204,255,0,.09),transparent 70%),var(--panel);box-shadow:inset 2px 0 0 var(--deepen)}
.bigbox .v{font-family:var(--display);font-size:clamp(2.6rem,6vw,4.6rem);line-height:1;display:block;margin:.4rem 0 .6rem;font-variant-numeric:tabular-nums}
.bigbox.d .v{color:var(--burn)} .bigbox.b .v{color:var(--deepen)}
.bigbox p{font-size:.85rem;line-height:1.7;color:var(--ash);max-width:46ch}
.led{width:100%;border-collapse:collapse;font-family:var(--mono);font-size:.74rem;min-width:660px;font-variant-numeric:tabular-nums}
.led th{font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ash-dim);text-align:right;padding:.75rem .85rem;border-bottom:1px solid var(--line)}
.led th:first-child{text-align:left}
.led td{padding:.85rem;border-bottom:1px solid var(--line-soft);color:var(--ash);text-align:right}
.led td .fig{color:var(--bone)}
.led td:first-child{text-align:left}
.led tr:last-child td{border-bottom:0}
.led .sym{font-family:var(--display);font-size:1.35rem;line-height:1}
.led .nm{font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ash-dim);margin-top:.15rem}
.led tr.btcb .sym{color:var(--btc)} .led tr.eth .sym{color:var(--eth)}
.led tr.cake .sym{color:var(--cake)} .led tr.usdt .sym{color:var(--usdt)}

/* a number that is a contract constant, not a live read */
.cell-v.fixed{color:var(--bone)}
.cell-k .const{margin-left:auto;font-size:.55rem;letter-spacing:.14em;color:var(--ash-dim);opacity:.7}

/* two small figures sharing one cell */
.trio{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-top:.7rem}
.trio .cell-k{margin-bottom:.2rem}
.trio .cell-v{min-height:1.3rem}

/* scrollbars, so an overflow container never looks like a Windows dialog */
.scroll,.term,.grid12{scrollbar-width:thin;scrollbar-color:var(--line-hard) transparent}
.scroll::-webkit-scrollbar{height:6px;width:6px}
.scroll::-webkit-scrollbar-track{background:transparent}
.scroll::-webkit-scrollbar-thumb{background:var(--line-hard)}
.scroll::-webkit-scrollbar-thumb:hover{background:var(--ash-dim)}


/* ---------- motion ---------- */
/* everything below is opt-in: the reveal class is only added by JS when it is safe */
@keyframes glow{0%,100%{opacity:.55}50%{opacity:1}}
/* transitions, not keyframes: once .in lands the computed value IS the end state,
   so a throttled or skipped animation can never leave content invisible */
.js [data-rise]{opacity:0;transform:translateY(14px);will-change:opacity,transform;
  transition:opacity .5s cubic-bezier(.16,.8,.28,1) var(--d,0ms),transform .5s cubic-bezier(.16,.8,.28,1) var(--d,0ms)}
.js [data-rise].in{opacity:1;transform:none}
.hero [data-rise]{opacity:1!important;transform:none!important}
.js .band h2>span{display:inline-block;clip-path:inset(0 100% 0 0);
  transition:clip-path .6s cubic-bezier(.22,.9,.3,1)}
.js .band h2.in>span{clip-path:inset(0 0 0 0)}
.leg,.step,.cell{transition:background .22s,transform .22s}
.leg:hover,.step:hover{background:var(--panel-2);transform:translateY(-2px)}
.cell:hover{background:var(--panel-2)}
.cell-v.fixed,.cell-v.deep,.cell-v.burn,.cell-v.gold{transition:text-shadow .3s}
.cell:hover .cell-v.deep{text-shadow:0 0 22px rgba(204,255,0,.35)}
.cell:hover .cell-v.burn{text-shadow:0 0 22px rgba(255,46,166,.32)}
.cell:hover .cell-v.gold{text-shadow:0 0 22px rgba(240,193,74,.3)}
.deny-row{transition:background .18s}
.deny-row:hover{background:rgba(244,240,232,.03)}
.addr-row{transition:background .18s}
.addr-row:hover{background:rgba(244,240,232,.03)}
.hero-facts div{transition:background .22s}
.hero-facts div:hover{background:rgba(244,240,232,.04)}
.mark svg{transition:transform .5s cubic-bezier(.2,.9,.3,1)}
.mark:hover svg{transform:rotate(90deg)}
.tape span i{position:relative}
/* the seam only breathes once the hero is actually on screen */
.hero-seam{animation:seam 5.5s ease-in-out infinite}
