/* Dwindrow — the desk. Pixel marks on a near-black ground, one hot pink accent. */
:root{
  --ground:#0A0B10; --panel:#101220; --panel2:#14162a; --edge:#232741;
  --ink:#EDEAF2; --dim:#8E8DA8; --faint:#5C5B75;
  --lit:#FF4FA8; --litdim:#8a2a5c; --gone:#20223a;
  --display:"Archivo Black","Space Grotesk",system-ui,sans-serif;
  --body:"Space Grotesk",system-ui,-apple-system,sans-serif;
  --railh:62px; --railw:0px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--ground);color:var(--ink);font-family:var(--body);font-size:15px;line-height:1.5;
  -webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
code{font-family:var(--body);font-variant-numeric:tabular-nums}

/* ---------- the rail: fixed bottom bar on phones, fixed left column past 1000px ---------- */
#rail{position:fixed;left:0;right:0;bottom:0;z-index:40;height:var(--railh);
  display:flex;align-items:center;gap:10px;padding:0 12px calc(env(safe-area-inset-bottom,0px)/2) 12px;
  background:rgba(10,11,16,.94);backdrop-filter:blur(10px);border-top:2px solid var(--edge)}
.brandot{flex:0 0 auto;width:30px;height:30px;display:grid;place-items:center;background:var(--panel);border:2px solid var(--edge)}
.brandot img{width:26px;height:26px;image-rendering:pixelated;display:block}
.navset{display:flex;gap:4px;min-width:0;flex:1 1 auto}
.navset a{font-family:var(--display);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);
  padding:7px 7px;white-space:nowrap}
.navset a.here{color:var(--lit)}
.buy{flex:0 0 auto;font-family:var(--display);font-size:12px;letter-spacing:.04em;text-transform:uppercase;
  background:var(--lit);color:#150310;padding:11px 13px;border:2px solid var(--lit);white-space:nowrap}
.buy.cold{background:transparent;color:var(--litdim);border-color:var(--litdim)}

/* ---------- stage ---------- */
#stage{padding:20px 14px calc(var(--railh) + 26px) 14px;max-width:560px;margin:0 auto}
.hed{font-family:var(--display);font-size:29px;line-height:1.06;letter-spacing:-.01em;margin:4px 0 10px}
.dek{color:var(--dim);font-size:14.5px;margin:0 0 20px;max-width:46ch}

/* ---------- the tally ---------- */
.tally{border:2px solid var(--edge);background:var(--panel);padding:16px 14px 14px}
.tallytop{display:flex;align-items:baseline;justify-content:space-between;gap:10px;
  font-family:var(--display);font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--faint)}
.tallytop .st{color:var(--lit)}
.figure{font-family:var(--body);font-weight:700;font-variant-numeric:tabular-nums;
  font-size:76px;line-height:.92;letter-spacing:-.04em;margin:8px 0 2px}
.figure.cold{color:var(--faint)}
.unitlabel{font-family:var(--display);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.potline{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:14px;padding-top:12px;border-top:2px dashed var(--edge)}
.potcell{min-width:84px}
.potcell b{display:block;font-weight:700;font-size:19px;font-variant-numeric:tabular-nums}
.potcell span{display:block;font-family:var(--display);font-size:9.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--faint);margin-top:2px}

/* ---------- the row of marks ---------- */
.markgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin:16px 0 0}
.mark{position:relative;aspect-ratio:1;background:var(--gone);border:2px solid #2a2d4a;transition:background .25s,border-color .25s,box-shadow .25s}
.mark.lit{background:var(--lit);border-color:var(--lit);box-shadow:0 0 0 2px rgba(255,79,168,.18),0 0 16px rgba(255,79,168,.35)}
.mark.ghost{background:transparent;border-style:dashed;border-color:#2a2d4a}
.mark.snuff{animation:snuff .5s ease-out}
@keyframes snuff{0%{background:#fff;border-color:#fff;box-shadow:0 0 22px rgba(255,255,255,.8)}100%{background:var(--gone);border-color:#2a2d4a;box-shadow:none}}
.markkey{display:flex;gap:14px;margin-top:10px;font-size:11.5px;color:var(--faint);font-variant-numeric:tabular-nums}
.markkey i{display:inline-block;width:10px;height:10px;margin-right:5px;vertical-align:-1px;font-style:normal}
.markkey i.a{background:var(--lit)}.markkey i.b{background:var(--gone);outline:2px solid #2a2d4a;outline-offset:-2px}
.markkey i.c{background:transparent;outline:2px dashed #2a2d4a;outline-offset:-2px}

/* ---------- the action ---------- */
.takepad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0 0}
.takebtn{font-family:var(--display);font-size:15px;letter-spacing:.02em;text-transform:uppercase;color:var(--ink);
  background:var(--panel2);border:2px solid var(--edge);padding:15px 4px 11px;cursor:pointer;display:block;width:100%}
.takebtn b{display:block;font-family:var(--body);font-weight:700;font-size:23px;line-height:1;margin-bottom:5px;font-variant-numeric:tabular-nums}
.takebtn:hover:not(:disabled){border-color:var(--lit);color:var(--lit)}
.takebtn:disabled{opacity:.3;cursor:not-allowed}
.takebtn.hot{background:var(--lit);border-color:var(--lit);color:#150310}
.anteline{margin-top:9px;font-size:12.5px;color:var(--faint);font-variant-numeric:tabular-nums}
.stall{margin-top:9px;font-size:12.5px;color:var(--dim)}
.stall b{color:var(--lit);font-weight:700}
.linkbtn{background:none;border:none;color:var(--lit);font:inherit;padding:0;cursor:pointer;text-decoration:underline}

/* ---------- the aside ---------- */
.aside{margin-top:22px;display:flex;flex-direction:column;gap:14px}
.primer{border:2px solid var(--edge);background:var(--panel);padding:13px}
.primer h3,.takerlist h3,.movetape h3,.slab h3{font-family:var(--display);font-size:11px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--faint);margin:0 0 9px}
.primer ol{margin:0;padding-left:18px;font-size:13.5px;color:var(--dim)}
.primer ol li{margin-bottom:5px}
.primer ol li b{color:var(--ink);font-weight:700}
.takerlist,.movetape{border:2px solid var(--edge);background:var(--panel);padding:13px}
.takerline,.movline{display:flex;align-items:baseline;gap:9px;padding:7px 0;border-bottom:1px dashed var(--edge);font-size:13px}
.takerline:last-child,.movline:last-child{border-bottom:none}
.addrchip{font-variant-numeric:tabular-nums;color:var(--ink);flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pips{color:var(--lit);letter-spacing:2px;flex:0 0 auto}
.tick{color:var(--faint);font-variant-numeric:tabular-nums;flex:0 0 auto;font-size:12px}
.crown{color:var(--lit);font-family:var(--display);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;flex:0 0 auto}
.quiet{color:var(--faint);font-size:13px;margin:0}

/* ---------- past rows ---------- */
.rowcard{border:2px solid var(--edge);background:var(--panel);padding:13px;margin-bottom:10px}
.rowcard .rh{display:flex;align-items:baseline;justify-content:space-between;gap:8px;
  font-family:var(--display);font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--faint)}
.rowcard .rh em{font-style:normal;color:var(--lit)}
.rowcard .rb{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:9px}
.rowcard .rb div b{display:block;font-weight:700;font-size:16px;font-variant-numeric:tabular-nums}
.rowcard .rb div span{display:block;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);font-family:var(--display);margin-top:1px}

/* ---------- rules ---------- */
.slab{border:2px solid var(--edge);background:var(--panel);padding:14px;margin-bottom:10px}
.slab p{margin:0;color:var(--dim);font-size:14px}
.slab p + p{margin-top:9px}
.slab p b{color:var(--ink)}

/* ---------- footer ---------- */
.baseplate{border-top:2px solid var(--edge);padding:16px 14px calc(var(--railh) + 22px);max-width:560px;margin:26px auto 0;
  display:flex;flex-direction:column;gap:7px}
.baseline{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px}
.bkey{font-family:var(--display);font-size:9.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--faint);flex:0 0 auto}
.bnote{color:var(--faint);font-size:11.5px}
.baseplate code{color:var(--dim);word-break:break-all;font-size:11.5px}
.basesoc a{color:var(--lit);font-size:12px;margin-right:10px}
#copyCa{background:none;border:2px solid var(--edge);color:var(--dim);font:inherit;font-size:11px;padding:2px 7px;cursor:pointer}

/* ---------- sheet + toast ---------- */
#sheet{position:fixed;inset:0;z-index:60;background:rgba(5,6,12,.82);display:flex;align-items:flex-end;justify-content:center}
#sheet[hidden]{display:none!important}
.sheetbox{width:100%;max-width:460px;background:var(--panel);border:2px solid var(--edge);border-bottom:none;padding:14px}
.sheethead{display:flex;align-items:center;justify-content:space-between;
  font-family:var(--display);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin-bottom:11px}
.sheethead button{background:none;border:none;color:var(--dim);font-size:22px;line-height:1;cursor:pointer}
.wchoice button{display:flex;align-items:center;gap:10px;width:100%;background:var(--panel2);border:2px solid var(--edge);
  color:var(--ink);font:inherit;padding:11px;margin-bottom:7px;cursor:pointer}
.wchoice img{width:22px;height:22px}
.gobtn{width:100%;font-family:var(--display);font-size:14px;letter-spacing:.04em;text-transform:uppercase;
  background:var(--lit);color:#150310;border:2px solid var(--lit);padding:13px;cursor:pointer;margin-top:11px}
.fine{color:var(--dim);font-size:13px;margin:0 0 4px}
.fine b{color:var(--ink)}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(var(--railh) + 14px);z-index:80;
  background:var(--panel2);border:2px solid var(--lit);color:var(--ink);padding:9px 14px;font-size:13px;max-width:92vw}

/* ---------- medium: one column, more air, bigger object ---------- */
@media (min-width:720px){
  #stage{max-width:660px;padding:34px 24px calc(var(--railh) + 40px)}
  .hed{font-size:40px}
  .dek{font-size:16px;margin-bottom:26px}
  .figure{font-size:104px}
  .markgrid{grid-template-columns:repeat(11,1fr);gap:9px}
  .takebtn{font-size:16px;padding:18px 4px 13px}
  .takebtn b{font-size:27px}
  .baseplate{max-width:660px;padding-left:24px;padding-right:24px}
}

/* ---------- wide: the rail stands up on the left, the room moves beside the object ---------- */
@media (min-width:1000px){
  :root{--railh:0px;--railw:98px}
  #rail{top:0;right:auto;bottom:0;width:var(--railw);height:100vh;flex-direction:column;
    padding:20px 10px;gap:0;border-top:none;border-right:2px solid var(--edge)}
  .brandot{width:44px;height:44px}
  .brandot img{width:38px;height:38px}
  .navset{flex-direction:column;flex:1 1 auto;align-items:stretch;gap:2px;margin-top:22px;width:100%}
  .navset a{text-align:center;padding:9px 2px;font-size:11px}
  .buy{width:100%;text-align:center;font-size:10px;padding:12px 5px;line-height:1.35;white-space:normal;overflow-wrap:anywhere}
  #stage{max-width:1180px;margin-left:var(--railw);padding:44px 34px 50px;
    display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);grid-template-areas:"head head" "main side";
    column-gap:30px;row-gap:0}
  .headzone{grid-area:head}
  .mainzone{grid-area:main;min-width:0}
  .aside{grid-area:side;margin-top:0;position:sticky;top:44px;align-self:start}
  .hed{font-size:52px;max-width:18ch}
  .dek{font-size:16.5px;margin-bottom:30px}
  .figure{font-size:128px}
  .markgrid{grid-template-columns:repeat(11,1fr);gap:10px;margin-top:20px}
  .tally{padding:22px 20px 18px}
  .takebtn{padding:20px 4px 15px}
  .takebtn b{font-size:31px}
  .baseplate{max-width:1180px;margin-left:var(--railw);padding:20px 34px 34px}
  .toast{bottom:22px;left:calc(50% + var(--railw)/2)}
  #sheet{align-items:center}
  .sheetbox{border-bottom:2px solid var(--edge)}
}
