:root{
  --red:#a70f1e;
  --ink:#a70f1e;--paper:#fff;--grey:rgba(255,255,255,.78);--dim:rgba(255,255,255,.58);--dimmer:rgba(255,255,255,.42);--panel:#8e0c19;--panel-2:#960d1b;--hair:rgba(255,255,255,.2);
  --up:#fff;--down:rgba(255,255,255,.6);
  --shell:1240px;--ease:cubic-bezier(.16,1,.3,1);
  --sans:"Inter Tight","Inter",system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
  --body:"Inter",system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
}
*,*:before,*:after{box-sizing:border-box}
[hidden]{display:none!important}
html{background:var(--ink);font-size:62.5%;scroll-behavior:smooth}
body{margin:0;min-height:100svh;display:flex;flex-direction:column;font-family:var(--body);font-size:1.5rem;line-height:1.5;color:var(--paper);background:var(--ink);-webkit-font-smoothing:antialiased;overflow-x:clip}
h1,h2,h3,h4,p{margin:0}
h1,h2,h3{font-family:var(--sans);font-weight:600;letter-spacing:-.015em;line-height:.95;color:#fff}
h1{font-size:clamp(4.2rem,7.6vw,9.6rem)}
h2{font-size:clamp(3.2rem,4.6vw,5.4rem)}
h3{font-size:2.1rem;line-height:1.15}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
input,select{font:inherit;color:inherit}
.num,.mono{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:.94em}
:focus-visible{outline:1px solid #fff;outline-offset:3px}
.shell{width:100%;max-width:var(--shell);margin:0 auto;padding:0 2.4rem}
.dim{color:var(--dim)}.grey{color:var(--grey)}.white{color:#fff}
.small{font-size:1.3rem;line-height:1.45}
.up{color:var(--up)}.down{color:var(--down)}

/* header: square chips, no bar */
.top{position:fixed;inset:1.6rem 1.6rem auto;z-index:40;display:flex;justify-content:space-between;pointer-events:none}
.chips{display:flex;gap:1px;pointer-events:auto;transition:box-shadow .3s}
.top.is-scrolled .chips{box-shadow:0 .8rem 3rem rgba(60,0,6,.35)}
.chip{display:inline-flex;align-items:center;gap:.8rem;min-height:4.4rem;padding:0 1.6rem;background:var(--panel);color:var(--paper);font-size:1.4rem;font-weight:500;border:0;cursor:pointer;transition:background .2s,color .2s;white-space:nowrap}
.chip:hover,.chip.on{background:#fff;color:var(--red)}
.chip.brand{font-family:var(--sans);font-weight:600;font-size:1.5rem}
.chip.brand img{width:2.2rem;height:auto;flex:none;transition:filter .2s}
.chip.brand:hover img{filter:brightness(0) saturate(100%) invert(14%) sepia(90%) saturate(4000%) hue-rotate(345deg)}
.chip[disabled]{opacity:.5;cursor:default}
.chip.ghost{background:transparent;border:1px solid var(--hair)}
.chip.ghost:hover{background:#fff;color:var(--red)}
@media (max-width:720px){.top{inset:1.2rem 1.2rem auto}.chip{padding:0 1.2rem;font-size:1.3rem}.chip.hide-sm{display:none}}

/* halftone ground */
#dots{position:fixed;inset:0;z-index:0;width:100%;height:100%;pointer-events:none}
main{position:relative;z-index:2;flex:1}

/* hero */
.hero{min-height:100svh;display:grid;align-content:center;padding:12rem 0 4rem;overflow:clip}
.hero__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:4rem;align-items:center}
.hero__art{display:flex;justify-content:center;align-items:center}
.hero__art img{width:min(100%,46rem);height:auto;filter:drop-shadow(0 3rem 6rem rgba(60,0,6,.45));will-change:transform}
.eyebrow{color:var(--dim);font-size:1.25rem;letter-spacing:.04em;margin-bottom:2rem}
h1 .line{display:block}
.has-motion h1 .line,.has-motion .hero .lede,.has-motion .hero .cta,.has-motion .hero .status,.has-motion .eyebrow{animation:rise .9s var(--ease) both}
.has-motion h1 .line:nth-child(2){animation-delay:.08s}.has-motion .hero .lede{animation-delay:.18s}.has-motion .hero .cta{animation-delay:.26s}.has-motion .hero .status{animation-delay:.34s}
.has-motion .hero__art img{animation:rise 1.1s var(--ease) both}
@keyframes rise{from{opacity:0;transform:translateY(1.8rem)}to{opacity:1;transform:none}}
.hero .lede{max-width:60rem;font-size:clamp(1.7rem,1.6vw,2.1rem);color:var(--grey);margin-top:2.4rem}
@media (max-width:820px){.hero__grid{grid-template-columns:1fr;gap:1rem}.hero__art{order:-1}.hero__art img{width:min(50vw,22rem)}.hero{padding-top:10rem}}
.hero .cta{display:flex;gap:1px;margin-top:3.2rem;flex-wrap:wrap}
.hero .status{display:flex;gap:2.4rem;flex-wrap:wrap;margin-top:4.8rem;color:var(--dim);font-size:1.3rem}
.hero .status b{color:var(--paper);font-weight:500}
.hero .status .dot{display:inline-block;width:.8rem;height:.8rem;border-radius:50%;background:var(--dim);margin-right:.8rem;vertical-align:middle}
.hero .status .dot.is-live{background:#fff;box-shadow:0 0 0 .4rem rgba(255,255,255,.18)}

/* ticker */
.ticker{position:relative;z-index:2;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);overflow:hidden;background:rgba(0,0,0,.08);-webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.tape{display:inline-flex;gap:4.8rem;padding:1.3rem 2.4rem;white-space:nowrap;width:max-content}
.has-motion .tape{animation:tape 70s linear infinite}
.ticker:hover .tape{animation-play-state:paused}
@keyframes tape{to{transform:translateX(-50%)}}
.tk{display:inline-flex;gap:1.2rem;align-items:baseline;font-size:1.3rem;color:var(--grey)}
.tk b{font-family:var(--sans);font-weight:600;color:#fff;font-size:1.4rem}

/* stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--hair);padding:0;margin-top:6rem}
.stat{background:var(--red);padding:2.4rem 2.4rem 2.6rem}
.stat b{display:block;font-family:var(--sans);font-weight:600;font-size:clamp(3rem,3.6vw,4.4rem);line-height:1;color:#fff;letter-spacing:-.02em}
.stat span{display:block;color:var(--dim);font-size:1.3rem;margin-top:.8rem}
@media (max-width:820px){.stats{grid-template-columns:1fr 1fr}}

/* reveals: final state is the default, motion only subtracts from it */
.has-motion [data-reveal]{opacity:0;transform:translateY(2rem);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.has-motion [data-reveal].is-shown{opacity:1;transform:none}
.has-motion .board .row,.has-motion .steps .step,.has-motion .rules li{opacity:0;transform:translateY(1.4rem);transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:calc(var(--i,0)*55ms)}
.has-motion .board.is-shown .row,.has-motion .steps.is-shown .step,.has-motion .rules.is-shown li{opacity:1;transform:none}
.has-motion .board .row svg path{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.4s var(--ease) calc(var(--i,0)*55ms + .2s)}
.has-motion .board.is-shown .row svg path{stroke-dashoffset:0}
.px.is-ticked{animation:tick .9s var(--ease)}
@keyframes tick{0%{color:#fff;text-shadow:0 0 1.2rem rgba(255,255,255,.7)}100%{text-shadow:none}}

/* sections */
section{padding:8rem 0;scroll-margin-top:8rem}
.sec-head{display:flex;justify-content:space-between;align-items:end;gap:2.4rem;margin-bottom:3.2rem;flex-wrap:wrap}
.sec-head p{max-width:56rem;color:var(--grey)}

/* board */
.board{border-top:1px solid var(--hair)}
.row{display:grid;grid-template-columns:8rem 1fr 12rem 9rem 7rem 9rem 12rem;gap:1.6rem;align-items:center;padding:1.6rem 0;border-bottom:1px solid var(--hair);cursor:default}
.row.head{color:var(--dim);font-size:1.2rem;padding:1rem 0;letter-spacing:.02em}
.row .sym{font-family:var(--sans);font-weight:600;color:#fff;font-size:1.8rem}
.row .name{color:var(--grey);font-size:1.35rem;line-height:1.35}
.row .name span{display:block;color:var(--dim);font-size:1.25rem}
.row .r{text-align:right}
.row svg{width:100%;height:2.8rem;display:block}
.row svg path{fill:none;stroke:#fff;stroke-width:1.2;opacity:.85}
.row.is-sel{background:var(--panel-2)}
.row.pick:hover{background:var(--panel-2);cursor:pointer}
.row .lev{color:#fff}
@media (max-width:920px){.row{grid-template-columns:7rem 1fr 10rem 8rem 7rem}.row .hide-md{display:none}}
@media (max-width:560px){.row{grid-template-columns:6rem 1fr 8rem;gap:1.2rem}.row .hide-sm{display:none}}

/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--hair)}
.step{background:#fff;color:var(--red);padding:2.8rem 2.4rem 3.2rem}
.step .n{font-family:var(--mono);color:rgba(167,15,30,.55);font-size:1.3rem}
.step b{display:block;font-family:var(--sans);font-weight:600;font-size:2.2rem;color:var(--red);line-height:1.1;margin:1.6rem 0 1rem}
.step p{color:rgba(120,8,20,.9)}
@media (max-width:820px){.steps{grid-template-columns:1fr}}

/* rules */
.rules{list-style:none;margin:0;padding:0;counter-reset:r;border-top:1px solid var(--hair)}
.rules li{display:grid;grid-template-columns:5rem 1fr;gap:2.4rem;padding:2rem 0;border-bottom:1px solid var(--hair);counter-increment:r}
.rules li:before{content:counter(r,decimal-leading-zero);font-family:var(--mono);color:var(--dim);font-size:1.3rem;padding-top:.3rem}
.rules b{color:#fff;font-weight:500}
.rules p{color:var(--grey)}

/* callout */
.warn{display:grid;grid-template-columns:12rem 1fr;gap:3.2rem;align-items:center;background:#fff;color:rgba(120,8,20,.9);padding:3.2rem;font-size:1.7rem}
.warn img{width:12rem;height:auto}
.warn b{color:var(--red);font-weight:500}
@media (max-width:720px){.warn{grid-template-columns:1fr;gap:2rem}.warn img{width:8rem}}

/* footer */
footer{position:relative;z-index:2;border-top:1px solid var(--hair);padding:4rem 0 6rem;color:var(--dim);font-size:1.3rem}
.foot{display:grid;grid-template-columns:repeat(3,1fr);gap:3.2rem}
.foot dl{margin:0}
.foot dt{color:var(--dimmer);margin-top:1.2rem}
.foot dd{margin:0;color:var(--grey);word-break:break-all}
.foot a:hover{color:#fff}
@media (max-width:820px){.foot{grid-template-columns:1fr}}
.footword{margin-top:6rem;font-family:var(--sans);font-weight:600;font-size:clamp(6rem,17vw,22rem);line-height:.78;letter-spacing:-.04em;color:rgba(255,255,255,.07);text-align:center;user-select:none;overflow:hidden}

/* desk */
.desk{padding:11rem 2.4rem 6rem;display:grid;grid-template-columns:minmax(0,1fr) 40rem;gap:4rem;align-items:start}
.desk .row{grid-template-columns:6rem 1fr 9rem 8rem 7rem 5rem 12rem;gap:1.2rem}
.desk .row .name span{display:none}
@media (max-width:1180px){.desk .row{grid-template-columns:6rem 1fr 8rem 7rem 6rem}.desk .row .hide-md{display:none}}
@media (max-width:980px){.desk{grid-template-columns:1fr}}
.panel{background:var(--panel-2);border:1px solid var(--hair);padding:2.4rem}
.panel h3{margin-bottom:1.6rem}
.kv{display:grid;grid-template-columns:auto 1fr;gap:.6rem 2rem;font-size:1.35rem}
.kv dt{white-space:nowrap}
.kv dt{color:var(--dim)}.kv dd{margin:0;text-align:right;color:var(--paper)}
.kv dd.white{color:#fff}
.ticket .side{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-bottom:1.6rem}
.ticket .side button{background:var(--panel);border:0;padding:1.2rem;cursor:pointer;font-weight:500}
.ticket .side button.on{background:#fff;color:var(--red)}
.field{margin-bottom:1.6rem}
.field label{display:flex;justify-content:space-between;color:var(--dim);font-size:1.25rem;margin-bottom:.6rem}
.field input[type=number]{width:100%;background:var(--panel);border:1px solid var(--hair);padding:1.2rem 1.4rem;font-family:var(--mono);font-size:1.8rem;color:#fff;-moz-appearance:textfield}
.field input::-webkit-outer-spin-button,.field input::-webkit-inner-spin-button{-webkit-appearance:none}
.field input[type=range]{width:100%;accent-color:#fff}
.field input[type=number]::placeholder{color:var(--dimmer)}
.ticket .go{width:100%;margin-top:.8rem;justify-content:center;min-height:5.2rem;font-size:1.5rem}
.ticket .go.primary{background:#fff;color:var(--red)}
.ticket .go.primary:hover{background:#f7f7f7}
.note{color:var(--dim);font-size:1.25rem;margin-top:1.2rem;line-height:1.45}
.note.warn{color:var(--grey)}
.tabs{display:flex;gap:1px;margin:1.6rem 0 1.6rem;flex-wrap:wrap}
.board-head{margin:4.8rem 0 1.2rem}
.board-head .small{font-weight:400;font-family:var(--body)}
.tabs .chip .n{font-family:var(--mono);font-size:1.2rem;opacity:.7;margin-left:.4rem}
.tabs .chip.on .n{opacity:.8}
.positions{border-top:1px solid var(--hair)}
.pos{display:grid;grid-template-columns:7rem 6rem 1fr 1fr 1fr 1fr 1fr 9rem;gap:1.2rem;align-items:center;padding:1.4rem 0;border-bottom:1px solid var(--hair);font-size:1.35rem}
.pos.head{color:var(--dim);font-size:1.2rem;padding:.8rem 0}
.pos .sym{font-family:var(--sans);font-weight:600;color:#fff;font-size:1.6rem}
.pos .r{text-align:right}
.pos small{display:block;color:var(--dim)}
.pos .act{background:var(--panel);border:0;padding:.9rem 1.2rem;cursor:pointer;font-size:1.3rem;justify-self:end}
.pos .act:hover{background:#fff;color:var(--red)}
.pos .act[disabled]{opacity:.4;cursor:default}
@media (max-width:820px){.pos{grid-template-columns:6rem 5rem 1fr 1fr 8rem}.pos .hide-md{display:none}}
.empty{padding:2.4rem 0;color:var(--dim)}
.toast{position:fixed;left:50%;bottom:2.4rem;transform:translateX(-50%);z-index:50;background:#fff;color:var(--red);padding:1.2rem 1.8rem;font-size:1.4rem;max-width:min(60rem,calc(100vw - 3.2rem));box-shadow:0 1rem 3rem rgba(0,0,0,.5)}
.toast.err{background:var(--panel);color:#fff;border:1px solid var(--hair)}
.toast a{text-decoration:underline}

/* wallet picker */
.modal{position:fixed;inset:0;z-index:60;display:grid;place-items:center;background:rgba(60,0,6,.72);backdrop-filter:blur(6px);padding:2.4rem}
.modal .sheet{width:min(44rem,100%);background:var(--panel-2);border:1px solid var(--hair);padding:2.8rem;box-shadow:0 2rem 6rem rgba(0,0,0,.45)}
.modal__close{position:fixed;top:1.6rem;right:1.6rem}
.wals{display:grid;gap:1px;margin:1.6rem 0}
.wal{display:grid;grid-template-columns:3.2rem 1fr auto;gap:1.4rem;align-items:center;background:var(--panel);border:0;padding:1.4rem 1.6rem;cursor:pointer;text-align:left;font-size:1.5rem;font-weight:500;color:#fff}
.wal:hover{background:#fff;color:var(--red)}
.wal img,.wal-ico{width:3.2rem;height:3.2rem;border-radius:.6rem;background:#fff;display:block}
.wal small{color:var(--dim);font-size:1.2rem}
.wal:hover small{color:rgba(167,15,30,.6)}
.modal .go{width:100%;justify-content:center;min-height:4.8rem;margin-top:1.2rem}
.modal .go.primary{background:#fff;color:var(--red)}

/* docs */
.docs{padding:14rem 0 8rem;max-width:76rem}
.docs h1{font-size:clamp(3.6rem,5.6vw,6.4rem);margin-bottom:2.4rem}
.docs h2{font-size:2.2rem;margin:5.2rem 0 1.6rem;line-height:1.2}
.docs p{color:var(--grey);margin-bottom:1.4rem}
.docs p b{color:#fff;font-weight:500}
.docs code{font-family:var(--mono);font-size:1.3rem;background:var(--panel);padding:.2rem .6rem;color:#fff}
.docs table{width:100%;border-collapse:collapse;font-size:1.35rem;margin:1.6rem 0 2.4rem}
.docs th{text-align:left;color:var(--dim);font-weight:400;padding:.8rem 0;border-bottom:1px solid var(--hair)}
.docs td{padding:.9rem 0;border-bottom:1px solid var(--hair);color:var(--paper)}
.docs td.r,.docs th.r{text-align:right}
.docs ul{color:var(--grey);padding-left:2rem}
.docs li{margin-bottom:.6rem}
