:root{
  --ground:#0C0A07; --slab:#17130D; --slab2:#1F1A12; --edge:#2E2618;
  --ink:#F6EDE1; --dim:#9C8F7D; --hot:#FF7A1A; --hot-w:rgba(255,122,26,.14); --hot-e:rgba(255,122,26,.42);
  --cold:#6E6153; --good:#8FE388; --disp:"Archivo Black",Impact,sans-serif;
  --body:"Inter Tight",system-ui,-apple-system,sans-serif; --fig:ui-monospace,SFMono-Regular,Menlo,monospace;
  --rad:14px; --tabh:58px;
}
*{box-sizing:border-box}
html{color-scheme:dark}
body{margin:0;background:var(--ground);color:var(--ink);font:16px/1.45 var(--body);-webkit-font-smoothing:antialiased;padding-bottom:calc(var(--tabh) + env(safe-area-inset-bottom))}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
[hidden]{display:none!important}
code{font-family:var(--fig)}

/* ---- identity strip ---- */
.strip{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-bottom:1px solid var(--edge)}
.brand{display:flex;align-items:center;gap:9px;font:18px/1 var(--disp);letter-spacing:.01em}
.brand img{width:26px;height:26px;border-radius:7px}
.strip-r{display:flex;align-items:center;gap:10px}
#social a{color:var(--dim);font-size:13px;margin-left:9px}
#social a:hover{color:var(--hot)}
.hook{border:1px solid var(--edge);border-radius:9px;padding:6px 12px;font-size:13px;background:var(--slab)}
.hook.on{border-color:var(--hot-e);color:var(--hot)}

/* ---- the meter line: one row, always on screen ---- */
.meterline{display:flex;align-items:baseline;gap:7px;padding:9px 14px;border-bottom:1px solid var(--edge);
  background:var(--slab);font-family:var(--fig);font-size:13px;position:sticky;top:0;z-index:6;overflow-x:auto;white-space:nowrap;scrollbar-width:none}
.meterline::-webkit-scrollbar{display:none}
.ml-k{color:var(--dim);font-family:var(--body);font-size:10px;letter-spacing:.18em;text-transform:uppercase}
.meterline b{font-weight:700}
.meterline b.hot{color:var(--hot)}
.ml-sep{width:1px;height:12px;background:var(--edge);display:inline-block;margin:0 3px}
.ml-flag{margin-left:auto;padding:2px 8px;border-radius:999px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  font-family:var(--body);border:1px solid var(--hot-e);color:var(--hot)}
.ml-flag.locked{border-color:var(--edge);color:var(--dim)}

main{max-width:560px;margin:0 auto;padding:14px 12px 30px}

/* ---- the pitch above the planks ---- */
.pitch{margin:2px 0 14px}
.pitch h1{font:clamp(24px,6.6vw,34px)/1.06 var(--disp);letter-spacing:-.01em;margin:0 0 9px;text-wrap:balance}
.pitch h1 em{font-style:normal;color:var(--hot)}
.pitch p{margin:0;color:var(--dim);font-size:13.5px;max-width:46ch}

/* ---- the eight planks ---- */
.planks{display:flex;flex-direction:column;gap:7px;margin:0 0 18px}
.plank{position:relative;background:var(--slab);border:1px solid var(--edge);border-radius:var(--rad);overflow:hidden;
  transition:border-color .18s}
.plank.vacant{border-style:dashed;background:transparent}
.plank.mine{border-color:var(--hot-e);box-shadow:0 0 0 1px var(--hot-w)}
.plank-row{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:10px;padding:11px 12px;width:100%;text-align:left}
.pnum{font:15px/1 var(--disp);color:var(--cold);text-align:center}
.plank.mine .pnum,.plank.open .pnum{color:var(--hot)}
.pmid{min-width:0;display:block}
.pwho{font-family:var(--fig);font-size:11.5px;color:var(--dim);display:flex;gap:6px;align-items:center;margin-bottom:6px;white-space:nowrap;overflow:hidden}
.pwho .you{color:var(--hot);font-family:var(--body);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase}
/* the tag: a stake draining left to right */
.tag{display:block;height:7px;border-radius:4px;background:var(--slab2);border:1px solid var(--edge);overflow:hidden}
.tag i{display:block;height:100%;background:var(--hot);transition:width .9s linear}
.tag.spent i{background:var(--cold)}
.pend{text-align:right;display:block}
.price{display:block;font-family:var(--fig);font-size:15px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.price.free{color:var(--good)}
.plabel{display:block;font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);margin-top:2px}

/* ---- the take drawer, opened inside its own plank ---- */
.draw{border-top:1px solid var(--edge);padding:12px;background:var(--slab2)}
.draw .amt{display:flex;align-items:baseline;gap:8px;margin-bottom:9px}
.draw .amt input{flex:1;min-width:0;background:var(--ground);border:1px solid var(--edge);border-radius:10px;
  padding:11px 12px;color:var(--ink);font:700 19px var(--fig);letter-spacing:-.02em}
.draw .amt input:focus{outline:none;border-color:var(--hot-e)}
.draw .amt span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.quick{display:flex;gap:6px;margin-bottom:10px;flex-wrap:wrap}
.quick button{border:1px solid var(--edge);border-radius:999px;padding:6px 11px;font-size:12px;color:var(--dim);background:var(--ground)}
.quick button.on{border-color:var(--hot-e);color:var(--hot)}
.note{font-size:12.5px;color:var(--dim);line-height:1.45;margin:0 0 10px}
.note b{color:var(--ink);font-family:var(--fig)}
.press{display:block;width:100%;border-radius:11px;padding:13px;font:700 15px var(--body);letter-spacing:.01em;
  background:var(--hot);color:#140C03;text-align:center}
.press[disabled]{background:var(--slab);color:var(--cold);border:1px solid var(--edge)}
.press.ghost{background:transparent;border:1px solid var(--edge);color:var(--ink)}

/* ---- the tape of recent takes ---- */
.tape{border-top:1px solid var(--edge);padding-top:12px}
.tape h2,.block h2{font:12px var(--body);font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);margin:0 0 9px}
.tape ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.tape li{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:baseline;font-family:var(--fig);font-size:11.5px;color:var(--dim);white-space:nowrap}
.tape li>*{overflow:hidden;text-overflow:ellipsis}
.tape li .when{color:var(--cold)}
.tape li b{color:var(--ink);font-weight:700}
.tape li .mv{color:var(--hot)}
.tape .none{font-family:var(--body);font-size:13px}

/* ---- ledger + stall blocks ---- */
.block{margin:0 0 20px}
.rows{display:flex;flex-direction:column;gap:7px}
.row{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;background:var(--slab);
  border:1px solid var(--edge);border-radius:var(--rad);padding:11px 12px}
.row .rid{font:15px/1 var(--disp);color:var(--cold)}
.row .rk{font-size:11.5px;color:var(--dim);font-family:var(--fig)}
.row .rv{font-family:var(--fig);font-size:14px;font-weight:700;text-align:right}
.row .rv.hot{color:var(--hot)}
.row.void{opacity:.62}
.pill{display:inline-block;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;font-family:var(--body);
  border:1px solid var(--edge);border-radius:999px;padding:1px 7px;color:var(--dim);margin-left:6px}
.pill.void{border-color:var(--hot-e);color:var(--hot)}
.empty{color:var(--dim);font-size:14px;background:var(--slab);border:1px dashed var(--edge);border-radius:var(--rad);padding:18px 14px;text-align:center}

/* ---- rules ---- */
.rule{background:var(--slab);border:1px solid var(--edge);border-radius:var(--rad);padding:14px;margin:0 0 8px}
.rule h3{font:17px/1.15 var(--disp);margin:0 0 6px;color:var(--hot)}
.rule p{margin:0;color:var(--dim);font-size:14.5px}
.rule p b{color:var(--ink)}

/* ---- wallet picker: a small panel hung off the connect button, no modal ---- */
.strip-r{position:relative}
.picker{position:absolute;right:0;top:calc(100% + 7px);min-width:186px;background:var(--slab2);
  border:1px solid var(--hot-e);border-radius:12px;padding:5px;z-index:25;box-shadow:0 14px 34px rgba(0,0,0,.65)}
.picker button{display:flex;align-items:center;gap:9px;width:100%;border-radius:8px;padding:9px 10px;font-size:13px;text-align:left}
.picker button:hover{background:var(--ground)}
.picker img{width:19px;height:19px;border-radius:5px}
.picker .pk-h{font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);padding:5px 10px 6px}
#blips{position:fixed;left:0;right:0;bottom:calc(var(--tabh) + 12px);display:flex;flex-direction:column;align-items:center;gap:6px;z-index:40;pointer-events:none}
.blip{background:var(--slab2);border:1px solid var(--hot-e);color:var(--ink);border-radius:999px;padding:8px 15px;font-size:13px;box-shadow:0 8px 26px rgba(0,0,0,.6)}

/* ---- tabs ---- */
.tabs{position:fixed;left:0;right:0;bottom:0;height:calc(var(--tabh) + env(safe-area-inset-bottom));
  padding-bottom:env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(4,1fr);
  background:rgba(12,10,7,.94);backdrop-filter:blur(12px);border-top:1px solid var(--edge);z-index:20}
.tabs a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  font-size:10.5px;letter-spacing:.06em;color:var(--dim)}
.tabs a .ti{font-size:15px;line-height:1}
.tabs a.on{color:var(--hot)}

/* ---- footer ---- */
.foot{max-width:560px;margin:0 auto;padding:4px 12px 26px;border-top:1px solid var(--edge)}
.ca-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:14px}
.ca-row code{font-size:11px;color:var(--dim);overflow-wrap:anywhere}
.ca-row button{border:1px solid var(--edge);border-radius:7px;padding:3px 9px;font-size:11px;color:var(--dim)}
.buy{display:block;margin:12px 0 0;border-radius:11px;padding:13px;text-align:center;background:var(--hot);color:#140C03;font-weight:700}
.smallprint{color:var(--cold);font-size:11.5px;margin:12px 0 0}
.smallprint a{color:var(--dim);text-decoration:underline}

@media (min-width:620px){
  .plank-row{grid-template-columns:36px 1fr auto;padding:13px 14px}
  .price{font-size:16px}
}

/* ---- the worked example, read off the live board ---- */
.worked{background:var(--slab);border:1px solid var(--edge);border-radius:var(--rad);padding:13px;margin:0 0 16px}
.worked h2{font:11px var(--body);font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--hot);margin:0 0 7px}
.worked p{margin:0 0 10px;font-size:13.5px;color:var(--dim);line-height:1.5}
.worked p b{color:var(--ink);font-family:var(--fig);font-weight:700}
.steps{list-style:none;counter-reset:s;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}
.steps li{counter-increment:s;position:relative;padding-left:24px;font-size:13px;color:var(--dim)}
.steps li::before{content:counter(s);position:absolute;left:0;top:1px;width:16px;height:16px;border-radius:5px;
  background:var(--slab2);border:1px solid var(--edge);color:var(--hot);font:700 10px/15px var(--fig);text-align:center}
