:root{--ink:#0E141A;--ice:#E4EEF4;--silver:#9FB3C0;--cyan:#27E0FF;--rust:#C8502B;--line:#223039;--panel:#111A21;--panel2:#0C1318}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{margin:0;padding:0;max-width:100%}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{background:var(--ink);color:var(--ice);font-family:'Geist Mono',ui-monospace,SFMono-Regular,monospace;font-size:13.5px;line-height:1.55;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
code{font-family:inherit;color:var(--cyan);word-break:break-all}
code.pending{color:var(--silver);letter-spacing:.08em;font-size:11px}
.mich{font-family:'Michroma',sans-serif;font-weight:400;letter-spacing:.04em}
.wrap{width:100%;max-width:1340px;margin:0 auto;padding:0 16px}
.small{font-size:11.5px;line-height:1.6}
.silver{color:var(--silver)}
.cyan{color:var(--cyan)}
.rust{color:var(--rust)}
.dot{color:var(--silver);opacity:.6}
.pl{font-size:10px;letter-spacing:.16em;color:var(--silver)}
:focus-visible{outline:1px solid var(--cyan);outline-offset:2px}

/* nav */
.nav{position:sticky;top:0;z-index:40;background:rgba(14,20,26,.97);border-bottom:1px solid var(--line)}
.navin{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"brand act" "links links";align-items:center;gap:4px 12px;padding-top:8px;padding-bottom:6px}
.brand{grid-area:brand;display:flex;align-items:center;gap:9px}
.brand span{font-size:13px;letter-spacing:.1em}
.brand img{border:1px solid var(--line)}
.links{grid-area:links;display:flex;align-items:center;gap:14px;font-size:11px;letter-spacing:.12em;color:var(--silver);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.links::-webkit-scrollbar{display:none}
.links a{white-space:nowrap;padding:8px 0;border-bottom:1px solid transparent;transition:color .15s ease,border-color .15s ease}
.links a:hover{color:var(--cyan);border-bottom-color:var(--cyan)}
.ico{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--line);padding:0;transition:border-color .15s ease,color .15s ease}
.links a.ico{border-bottom:1px solid var(--line)}
.ico:hover{border-color:var(--cyan);color:var(--cyan)}
.ico:active{transform:translateY(1px)}
.navact{grid-area:act;justify-self:end;display:flex;gap:8px;align-items:center}
.btn{font-family:inherit;font-size:11.5px;letter-spacing:.11em;padding:11px 16px;border:1px solid var(--line);background:transparent;color:var(--ice);cursor:pointer;min-height:42px;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .08s ease}
.btn.sm{min-height:36px;padding:8px 12px}
.btn.lg{min-height:50px;padding:15px 24px;font-size:12.5px}
.btn.primary{background:var(--cyan);color:#07131a;border-color:var(--cyan);font-weight:600}
.btn.primary:hover{background:#6eebff;border-color:#6eebff}
.btn.ghost:hover{border-color:var(--silver)}
.btn:active:not(:disabled){transform:translateY(1px)}
.btn:disabled{opacity:.42;cursor:not-allowed}

/* fold */
.fold{display:grid;gap:20px;padding-top:22px;padding-bottom:26px;align-items:start}
.fold-head,.fold-body,.fold-art{min-width:0}
.kicker{font-size:10.5px;letter-spacing:.2em;color:var(--silver);margin:0 0 14px}
h1{font-family:'Michroma',sans-serif;font-weight:400;font-size:clamp(25px,6.4vw,58px);line-height:1.1;letter-spacing:.01em;margin:0 0 14px;word-break:keep-all;hyphens:none}
h1 span{display:block}
.lede{max-width:62ch;color:var(--ice);margin:0 0 18px;font-size:13px}
.cta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0}
.cta .small{max-width:36ch}
.counters{display:grid;grid-template-columns:1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:18px}
.ct{background:var(--panel2);padding:14px 14px 12px;display:flex;flex-direction:column;gap:3px;min-width:0}
.ct-l{font-size:10px;letter-spacing:.15em;color:var(--silver)}
.ct-v{font-size:clamp(26px,6vw,40px);line-height:1.05;font-weight:500;letter-spacing:-.01em;font-variant-numeric:tabular-nums;color:var(--cyan)}
.ct-v.sm{font-size:clamp(18px,3.4vw,24px);color:var(--ice)}
.ct-v.rust{color:var(--rust)}
.ct-s{font-size:10px;color:var(--silver);letter-spacing:.04em;overflow-wrap:anywhere}
.ct-s a{border-bottom:1px solid var(--line)}
.ct-s a:hover{color:var(--cyan)}
.ct-s a.na{border-bottom:none;color:var(--silver);letter-spacing:.1em}

/* panels */
.panel{border:1px solid var(--line);background:var(--panel);margin-bottom:16px}
.phead{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 13px;border-bottom:1px solid var(--line);background:var(--panel2);flex-wrap:wrap}
.phead .mich{font-size:11px;letter-spacing:.14em}
.phead-r{font-size:10px;letter-spacing:.12em;color:var(--silver)}
.blink{color:var(--cyan);font-style:normal;animation:bl 1.1s steps(1) infinite}
@keyframes bl{50%{opacity:0}}
.thead,.vrow{display:grid;grid-template-columns:1.25fr .62fr .8fr .96fr .78fr;gap:8px;padding:8px 13px;align-items:center;font-size:11px}
.thead{color:var(--silver);letter-spacing:.12em;font-size:9.5px;border-bottom:1px solid var(--line)}
.rows{max-height:340px;overflow:auto}
.vrow{border-bottom:1px solid rgba(34,48,57,.6);font-variant-numeric:tabular-nums;transition:background .15s ease}
.vrow:hover{background:#0f171d}
.vrow .rt{color:var(--cyan);overflow:hidden;text-overflow:ellipsis}
.vrow.lit{outline:1px solid var(--cyan)}
.stamp{display:inline-block;border:1px solid var(--silver);color:var(--silver);font-size:9px;letter-spacing:.12em;padding:2px 6px;white-space:nowrap}
.stamp.revealed{border-color:var(--cyan);color:var(--cyan)}
.stamp.forfeit{border-color:var(--rust);color:var(--rust)}
.empty{padding:22px 13px;color:var(--silver);letter-spacing:.14em;font-size:11px}
.pfoot{margin:0;padding:10px 13px;border-top:1px solid var(--line);color:var(--silver);font-size:10.5px}
.panel.note{padding:0 0 12px}
.panel.note p{margin:8px 13px 0;font-size:11.5px;color:var(--silver)}
.loop{color:var(--ice)!important}

/* fold art */
.fold-art{position:relative;min-width:0}
.heroimg{width:100%;height:clamp(210px,46vw,560px);object-fit:cover;object-position:60% 45%;border:1px solid var(--line);filter:saturate(.92)}
.plate{margin:0;position:absolute;left:-16px;bottom:16px;width:min(38%,152px)}
.plate img{border:1px solid var(--line);height:auto;object-fit:cover}
.plate figcaption{font-size:9px;letter-spacing:.1em;color:var(--silver);padding:6px 7px;background:rgba(14,20,26,.9);border:1px solid var(--line);border-top:none}

/* columns */
.cols{display:grid;gap:16px;padding-bottom:20px}
.ticker{max-height:260px;overflow:auto}
.tline{display:grid;grid-template-columns:auto 1fr;gap:8px;padding:7px 13px;border-bottom:1px solid rgba(34,48,57,.6);font-size:11px}
.tline b{font-weight:500;letter-spacing:.1em;font-size:9.5px;color:var(--cyan)}
.tline b.rust{color:var(--rust)}
.tline span{color:var(--silver);overflow-wrap:anywhere}

/* key lab */
.labbody{padding:13px}
.row-btns{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin:12px 0}
.cardwrap{margin:12px 0;display:flex;flex-direction:column;gap:9px;align-items:flex-start}
.paper{position:relative;width:min(100%,330px);border:1px solid var(--line);cursor:grab;touch-action:none;transition:transform .18s ease,opacity .18s ease}
.paper:active{cursor:grabbing}
.paper img{height:230px;width:100%;object-fit:cover;object-position:50% 40%;filter:brightness(1.05)}
.papertext{position:absolute;inset:0;padding:12px;display:flex;flex-direction:column;gap:2px;background:rgba(228,238,244,.86);color:#0E141A}
.papertext code{color:#0E141A;font-size:10px;line-height:1.35;word-break:break-all}
.papertext .pl{color:#4d626f}
.pw{margin-top:auto;font-size:9.5px;letter-spacing:.06em;color:#8a2f13}
.rootline{padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:11px}
.warn-once{display:block;color:var(--silver);font-size:10.5px;margin-top:5px}
.form{display:grid;gap:10px;margin-top:14px}
.form label{display:flex;flex-direction:column;gap:5px;font-size:10px;letter-spacing:.14em;color:var(--silver)}
.form input,.form select,#revSeed,.trow input{font-family:inherit;font-size:13px;background:#0A1116;border:1px solid var(--line);color:var(--ice);padding:11px;min-height:42px;width:100%}
.form input:focus,.form select:focus,#revSeed:focus,.trow input:focus{outline:none;border-color:var(--cyan)}
.terms{display:flex;flex-direction:column;gap:3px;font-size:10.5px;color:var(--silver);border-left:2px solid var(--line);padding-left:9px}
.terms b{color:var(--ice)}
.msg{min-height:16px;font-size:11px;margin:4px 0 0;color:var(--cyan);overflow-wrap:anywhere}
.msg.err{color:var(--rust)}

/* reveal */
.revbody{display:grid;gap:14px;padding:13px}
.tree{width:100%;height:auto;background:#0A1116;border:1px solid var(--line)}
.revform{display:grid;gap:9px}

/* band */
.band{margin:0 0 16px}
.band img{width:100%;height:clamp(90px,16vw,160px);object-fit:cover;border:1px solid var(--line)}

/* stake + curve */
.stakegrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:1px;background:var(--line)}
.stakegrid>div{background:var(--panel2);padding:12px 13px;display:flex;flex-direction:column;gap:3px}
#stake .small,#stake .row-btns{padding:0 13px}
#stake .small{margin:12px 0 0;color:var(--silver)}
#stake .row-btns{margin-bottom:13px}
.ca{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:11px 13px;border-bottom:1px solid var(--line);background:var(--panel2)}
.ca code{font-size:11.5px}
.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1px;background:var(--line)}
.metrics>div{background:var(--panel2);padding:12px 13px;display:flex;flex-direction:column;gap:3px}
.bar{height:4px;background:#0A1116;border-bottom:1px solid var(--line)}
.bar i{display:block;height:100%;width:0;background:var(--cyan);transition:width .5s ease}
.trade{padding:13px}
.tabs{display:flex;gap:0;margin-bottom:10px}
.tab{font-family:inherit;font-size:11px;letter-spacing:.12em;padding:9px 16px;background:transparent;border:1px solid var(--line);color:var(--silver);cursor:pointer;min-height:38px;transition:background .15s ease,color .15s ease,border-color .15s ease}
.tab:hover{color:var(--ice);border-color:var(--silver)}
.tab:active{transform:translateY(1px)}
.tab.on{color:#07131a;background:var(--ice);border-color:var(--ice)}
.trow{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}
.trow .unit{font-size:10px;letter-spacing:.12em;color:var(--silver)}
.trow .btn{grid-column:1/-1}

/* howto */
.howto{padding:26px 16px 10px;border-top:1px solid var(--line)}
.howto h2{font-size:clamp(14px,2.4vw,20px);margin:0 0 14px}
.howto ol{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.howto li{border-left:2px solid var(--line);padding-left:12px;max-width:70ch;color:var(--silver);font-size:12px}
.howto b{color:var(--ice);letter-spacing:.06em}

/* footer */
.foot{margin-top:26px;border-top:1px solid var(--line);background:linear-gradient(rgba(14,20,26,.93),rgba(14,20,26,.97)),url('texture-steel.jpg') center/cover}
.footin{display:grid;gap:18px;padding-top:24px;padding-bottom:30px}
.footin .pl{display:block;margin-bottom:7px}
.footin p{margin:0 0 5px;color:var(--silver)}
.footlinks{display:flex;gap:8px}

/* toast */
.toast{position:fixed;left:50%;bottom:18px;transform:translate(-50%,14px);max-width:min(92vw,520px);background:var(--panel2);border:1px solid var(--cyan);color:var(--ice);font-size:11.5px;letter-spacing:.03em;padding:11px 14px;z-index:60;opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease}
.toast.on{opacity:1;transform:translate(-50%,0)}
.toast.err{border-color:var(--rust)}

/* motion */
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.motion .hr1,.motion .hr2,.motion .hr3,.motion .hr4,.motion .hr5,.motion .hr6{animation:rise .65s cubic-bezier(.2,.7,.2,1) both}
.motion .hr1{animation-delay:.04s}
.motion .hr2{animation-delay:.12s}
.motion .hr3{animation-delay:.2s}
.motion .hr4{animation-delay:.28s}
.motion .hr5{animation-delay:.34s}
.motion .hr6{animation-delay:.42s}
.motion .rv{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1)}
.motion .rv.in{opacity:1;transform:none}
.motion #tree line,.motion #tree rect,.motion #tree text{opacity:0;transition:opacity .4s ease}
.motion #tree.in line,.motion #tree.in rect,.motion #tree.in text{opacity:1}

@media(max-width:539px){
  .thead,.vrow{grid-template-columns:1.15fr .5fr .72fr .95fr .74fr;gap:6px;padding:8px 10px;font-size:10px}
  .thead{font-size:8.5px;letter-spacing:.06em}
  .stamp{font-size:8px;padding:2px 4px;letter-spacing:.06em}
}
@media(max-width:699px){
  .plate{display:none}
}
@media(min-width:620px){
  .counters{grid-template-columns:repeat(3,1fr)}
  .revbody{grid-template-columns:1.1fr 1fr;align-items:start}
  .form{grid-template-columns:1fr 1fr}
  .form .terms,.form .row-btns,.form .msg,#fMintWrap{grid-column:1/-1}
  .footin{grid-template-columns:1.4fr 1fr 1fr auto}
}
@media(min-width:900px){
  html{scroll-padding-top:76px}
  .navin{grid-template-columns:auto 1fr auto;grid-template-areas:"brand links act";padding-bottom:8px}
  .links{overflow:visible}
}
@media(min-width:1000px){
  .fold{grid-template-columns:minmax(0,1.42fr) minmax(0,.86fr);grid-template-areas:"head art" "body art";gap:22px 30px;padding-top:40px}
  .fold-head{grid-area:head}
  .fold-art{grid-area:art}
  .fold-body{grid-area:body}
  .cols{grid-template-columns:320px minmax(0,1fr);gap:20px;align-items:start}
  .rail{position:sticky;top:76px}
  .plate{left:-34px;bottom:18px;width:160px}
  .howto ol{grid-template-columns:repeat(3,1fr)}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}
