/* FOMO3D site: Robinhood green on black, pixel headings, mono numbers. Same family as the DEMONS site. */
:root {
  --bg:#03090a; --panel:rgba(6,22,14,.8); --panel2:rgba(8,32,18,.92); --line:#0f3a1e; --line2:#1c6a34;
  --text:#e9f6ec; --dim:#86a992; --red:#00c805; --red2:#3df07a; --ember:#9dffc0; --gold:#f5c451; --ok:#5ad38a; --blue:#6cb8ff;
  --mono:"JetBrains Mono", ui-monospace, Consolas, monospace; --pix:"Press Start 2P", "JetBrains Mono", monospace; --sans:"Space Grotesk", system-ui, Segoe UI, sans-serif;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--bg); color:var(--text); font:15px/1.6 var(--sans); overflow-x:hidden; }
body::before { content:""; position:fixed; inset:0; z-index:-2; background:
  radial-gradient(1200px 600px at 50% -10%, rgba(0,200,5,.22), transparent 60%),
  radial-gradient(800px 500px at 90% 110%, rgba(245,196,81,.10), transparent 60%),
  radial-gradient(600px 400px at 5% 60%, rgba(0,200,5,.08), transparent 60%), var(--bg); }
#embers { position:fixed; inset:0; width:100%; height:100%; z-index:-1; pointer-events:none; }
a { color:var(--red2); text-decoration:none; } a:hover { text-decoration:underline; }
.mono { font-family:var(--mono); } .pix { font-family:var(--pix); }

header { position:sticky; top:0; z-index:20; display:flex; flex-wrap:wrap; align-items:center; gap:14px; padding:12px 28px; background:rgba(3,9,10,.78); backdrop-filter:blur(10px); border-bottom:1px solid var(--line); }
.logo { display:flex; align-items:center; gap:10px; font-family:var(--pix); font-weight:400; font-size:16px; letter-spacing:2px; color:var(--red2); text-shadow:0 0 22px rgba(0,200,5,.55); }
.logo:hover { text-decoration:none; }
.logo img { width:30px; height:30px; image-rendering:pixelated; filter:drop-shadow(0 0 8px rgba(0,200,5,.55)); }
nav { display:flex; gap:20px; margin-left:16px; } nav a { color:var(--dim); font-family:var(--pix); font-size:10px; letter-spacing:0; } nav a:hover, nav a.here { color:var(--text); text-decoration:none; }
.spacer { flex:1; }
.badge { font-family:var(--mono); font-size:11px; letter-spacing:1px; padding:5px 10px; border:1px solid var(--line2); border-radius:6px; color:var(--dim); text-transform:uppercase; background:rgba(0,0,0,.3); }
.badge.on { color:var(--ok); border-color:#1f5a34; } .badge.warn { color:var(--gold); border-color:#6b4d12; cursor:pointer; }
button { background:linear-gradient(180deg,var(--red2),var(--red)); color:#03150a; border:0; border-radius:8px; padding:11px 16px; font:400 10px var(--pix); letter-spacing:0; cursor:pointer; box-shadow:0 6px 18px rgba(0,200,5,.25); transition:transform .08s, box-shadow .2s; }
button:hover { transform:translateY(-1px); box-shadow:0 8px 24px rgba(0,200,5,.4); } button:active { transform:translateY(0); }
button:disabled { background:#163a22; color:#5c7a64; cursor:default; box-shadow:none; transform:none; }
button.ghost { background:transparent; border:1px solid var(--line2); color:var(--text); box-shadow:none; } button.ghost:hover { border-color:var(--red2); box-shadow:none; }
button.sm { padding:8px 10px; font-size:8px; } button.big { padding:15px 22px; font-size:13px; }
button.gold { background:linear-gradient(180deg,#ffd97a,#d9a52f); color:#2a1600; box-shadow:0 6px 18px rgba(245,196,81,.25); } button.gold:hover { box-shadow:0 8px 24px rgba(245,196,81,.45); }
input, select { background:#050d08; color:var(--text); border:1px solid var(--line2); border-radius:8px; padding:9px 11px; font:14px var(--mono); }
input:focus { outline:none; border-color:var(--red2); }
label { color:var(--dim); font-size:13px; display:flex; align-items:center; gap:6px; }

main { max-width:1180px; margin:0 auto; padding:0 24px 40px; }
section { margin-top:22px; }
h2 { margin:0 0 14px; font:400 12px var(--pix); letter-spacing:1px; color:var(--red2); display:flex; align-items:center; gap:10px; }
h2::after { content:""; flex:1; height:1px; background:linear-gradient(90deg,var(--line2),transparent); }
.dim { color:var(--dim); font-size:13px; }
.row { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
pre { background:#050d08; border:1px solid var(--line); border-radius:8px; padding:10px 12px; overflow:auto; color:#d3f2dc; font:12px var(--mono); margin:8px 0; }
#log { font:12px/1.6 var(--mono); color:var(--dim); max-height:150px; overflow:auto; white-space:pre-wrap; background:#050d08; border:1px solid var(--line); border-radius:8px; padding:10px; }
.pulse { animation:pulse 1.2s infinite; } @keyframes pulse { 50% { opacity:.45; } }

/* boxed panel: 2px frame, title bar */
.hbox { border:2px solid var(--line2); border-radius:6px; background:rgba(4,10,7,.85); box-shadow:0 0 0 1px #06180c inset, 0 0 24px rgba(0,200,5,.10); overflow:hidden; }
.hbox .hb { background:linear-gradient(180deg,#125a2a,#0b3a1a); border-bottom:2px solid var(--line2); padding:9px 14px; font:400 11px var(--pix); letter-spacing:1px; color:var(--text); display:flex; align-items:center; gap:10px; }
.hbox .hb .r { margin-left:auto; color:var(--dim); font:11px var(--mono); }
.hbox .hc { padding:14px; position:relative; }
.hbox.gold { border-color:#7a5a16; box-shadow:0 0 0 1px #1a1206 inset, 0 0 24px rgba(245,196,81,.12); } .hbox.gold .hb { background:linear-gradient(180deg,#5a4212,#3a2a0a); border-bottom-color:#7a5a16; }
.stat { background:var(--panel2); border:1px solid var(--line); border-radius:12px; padding:12px 14px; position:relative; overflow:hidden; }
.stat .k { font:600 10px var(--mono); letter-spacing:2px; color:var(--dim); text-transform:uppercase; }
.stat .v { font:400 18px/1.3 var(--pix); margin-top:6px; } .stat .v small { font:400 12px var(--mono); color:var(--dim); margin-left:4px; }
.stat .v.red { color:var(--red2); } .stat .v.gold { color:var(--gold); } .stat .v.ok { color:var(--ok); }
.stat.mini { padding:8px 16px; min-width:150px; display:flex; flex-direction:column; justify-content:center; }
.stat.mini .k { font-size:9px; letter-spacing:1.5px; } .stat.mini .v { font-size:15px; margin-top:4px; } .stat.mini .v small { font-size:11px; }
.cells { display:grid; grid-template-columns:1fr 1fr; gap:0; }
.cells3 { grid-template-columns:repeat(3, 1fr); } .cells3 .cell { border-right:1px dashed var(--line); } .cells3 .cell:nth-child(3n) { border-right:0; }
.cell { padding:10px 12px; border-bottom:1px dashed var(--line); }
.cells:not(.cells3) .cell:nth-child(odd) { border-right:1px dashed var(--line); }
.cell .k { font:600 10px var(--mono); letter-spacing:2px; color:var(--dim); text-transform:uppercase; }
.cell .v { font:400 15px var(--pix); margin-top:6px; color:var(--text); line-height:1.4; } .cell .v.red { color:var(--red2); } .cell .v.gold { color:var(--gold); } .cell .v.ok { color:var(--ok); } .cell .v.blue { color:var(--blue); }
.cell .v small { font:400 10px var(--mono); color:var(--dim); margin-left:4px; }

/* three-line explainer above the game */
.how { display:flex; flex-wrap:wrap; gap:10px 26px; align-items:center; margin-top:22px; padding:12px 16px; border:1px dashed var(--line2); border-radius:10px; font:400 10px/1.7 var(--pix); color:var(--dim); }
.how b { color:var(--red2); font-weight:400; margin-right:6px; } .how em { font-style:normal; color:var(--gold); } .how a { margin-left:auto; font-size:9px; }
@media (max-width:900px) { .how { flex-direction:column; align-items:flex-start; } .how a { margin-left:0; } }

/* the game screen */
.game { display:grid; grid-template-columns:1.25fr 1fr; gap:18px; margin-top:26px; align-items:stretch; }
.clock { text-align:center; padding:26px 14px 18px; }
.clock .t { font:400 clamp(44px, 8vw, 84px)/1 var(--pix); color:var(--text); letter-spacing:2px; text-shadow:0 0 30px rgba(0,200,5,.45); font-variant-numeric:tabular-nums; }
.clock .t.hot { color:var(--red2); animation:hot 1s steps(2) infinite; } @keyframes hot { 50% { opacity:.55; } }
.clock .t.idle { color:var(--dim); text-shadow:none; }
.clock .sub { margin-top:10px; font:400 10px var(--pix); color:var(--dim); letter-spacing:1px; }
.clock .sub b { color:var(--gold); font-weight:400; }
.xp { display:grid; grid-template-columns:repeat(40, 1fr); gap:3px; padding:5px; border:2px solid var(--line2); border-radius:4px; background:#030a05; box-shadow:inset 0 0 0 1px #06180c; margin:18px 0 6px; }
.xp i { display:block; height:16px; background:#0a1c10; border-radius:1px; }
.xp i.on { background:linear-gradient(180deg,#9dffc0,var(--red) 55%,#06801a); box-shadow:0 0 6px rgba(0,200,5,.5); }
.xp i.head { animation:blink 1s steps(2) infinite; } @keyframes blink { 50% { opacity:.35; } }
.clock .round { margin-top:12px; font:400 10px var(--pix); color:var(--dim); letter-spacing:1px; } .clock .round b { color:var(--text); font-weight:400; }
.pot { text-align:center; padding:22px 14px 14px; }
.pot .eth { font:400 clamp(22px, 5vw, 46px)/1.1 var(--pix); color:var(--gold); text-shadow:0 0 30px rgba(245,196,81,.45); word-break:break-all; }
.pot .eth small { font:400 14px var(--mono); color:var(--dim); margin-left:6px; }
.pot .usd { font:400 14px var(--pix); color:var(--text); margin-top:10px; opacity:.85; }
.pot .pend { font:12px var(--mono); color:var(--dim); margin-top:8px; }
.shares { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:18px; }
.share { background:var(--panel2); border:1px solid var(--line); border-radius:12px; padding:14px 10px; text-align:center; display:flex; flex-direction:column; justify-content:flex-end; }
.share .k { font:400 10px/1.5 var(--pix); color:var(--text); letter-spacing:0; min-height:30px; display:flex; align-items:flex-end; justify-content:center; }
.share .v { font:400 clamp(10px, 3.2vw, 15px) var(--pix); margin-top:10px; color:var(--text); word-break:break-all; }
.share.gold { border-color:#7a5a16; } .share.gold .k { color:var(--gold); } .share.gold .v { color:var(--gold); text-shadow:0 0 18px rgba(245,196,81,.35); }

.buy { display:grid; grid-template-columns:1fr auto; gap:18px; align-items:start; }
.buy .amt { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.buy .amt input { width:150px; font-size:18px; padding:10px 12px; }
.buy .amt .q { display:flex; gap:6px; } .buy .amt .q button { padding:9px 10px; font-size:8px; }
.buy .quote { margin-top:10px; font:12px var(--mono); color:var(--dim); min-height:20px; } .buy .quote b { color:var(--text); font-weight:600; }
.buy .note { margin-top:8px; font-size:13px; color:var(--dim); max-width:640px; }
.buy .note b { color:var(--gold); font-weight:600; }
#buyBtn { min-width:220px; padding:22px 26px; font-size:15px; }
.mine { display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin-top:12px; padding-top:12px; border-top:1px dashed var(--line); font:12px var(--mono); color:var(--dim); }
.mine b { color:var(--gold); font-weight:600; }

.two { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
/* one grid for the whole list, so every column lines up across rows whatever the width of a number */
.list { display:grid; grid-template-columns:max-content 1fr max-content max-content; column-gap:10px; align-content:start; font:12px var(--mono); }
#rounds.list { grid-template-columns:max-content 1fr max-content max-content max-content; }   /* round, winner, amount, seed, tx */
.li { display:contents; }
.li > * { padding:8px 4px; border-bottom:1px dashed var(--line); display:flex; align-items:center; }
.li .x, .li .w, .li .t { justify-content:flex-end; } .li .t { min-width:34px; }
.li:last-child > * { border-bottom:0; }
.list .empty { grid-column:1 / -1; }
.li .n { color:var(--dim); font-family:var(--pix); font-size:10px; white-space:nowrap; } .li .a { white-space:nowrap; }
@media (max-width:600px) { .list, #rounds.list { grid-template-columns:max-content 1fr max-content; } .li .w, .li .t { display:none; } }   /* phones: no room for the last column */ .li .a { color:var(--text); } .li .a.me { color:var(--ok); }
.li a.a:hover { color:var(--red2); text-decoration:underline; } .li .tx { color:var(--red2); font-size:11px; } .li .tx:hover { text-decoration:underline; }
.li .x { color:var(--gold); font-family:var(--pix); font-size:10px; white-space:nowrap; } .li .w { color:var(--dim); font-size:11px; text-align:right; white-space:nowrap; }
.li.first .n { color:var(--gold); } .li.first .a { color:var(--gold); }
.empty { color:var(--dim); font:12px var(--mono); padding:10px 4px; }
.list.ten { min-height:370px; max-height:370px; overflow-y:auto; padding-right:4px; }   /* ten rows tall; more than ten scrolls inside the box */
.list.ten::-webkit-scrollbar { width:6px; } .list.ten::-webkit-scrollbar-thumb { background:var(--line2); border-radius:3px; }
.list.paid .li > * { opacity:.55; } .list.paid .li.first > * { opacity:.8; }

.menu { position:absolute; right:28px; top:58px; background:#061209; border:1px solid var(--line2); border-radius:10px; padding:6px; display:none; flex-direction:column; gap:4px; z-index:30; min-width:240px; }
.menu button { background:var(--panel2); color:var(--text); font:500 13px var(--sans); text-align:left; display:flex; align-items:center; gap:8px; box-shadow:none; letter-spacing:0; } .menu img { width:18px; height:18px; }
footer { max-width:1180px; margin:0 auto; padding:26px 24px 40px; color:var(--dim); font:12px var(--mono); letter-spacing:1px; border-top:1px solid var(--line); display:flex; flex-wrap:wrap; gap:14px; justify-content:space-between; }

/* docs page */
.doc { max-width:1120px; margin:0 auto; display:grid; grid-template-columns:230px minmax(0,1fr); gap:40px; align-items:start; }
.doc .body { max-width:820px; min-width:0; padding-bottom:60vh; } .doc .body h2[id] { scroll-margin-top:90px; }
.side { position:sticky; top:84px; margin-top:34px; }
.side .sh { display:flex; justify-content:space-between; font:400 9px var(--pix); color:var(--dim); letter-spacing:1px; padding:0 10px 8px; }
.side .sbar { display:flex; gap:2px; padding:0 10px 12px; } .side .sbar i { flex:1; height:6px; background:var(--line); } .side .sbar i.on { background:var(--red2); }
.slist a { display:flex; align-items:center; gap:10px; padding:8px 10px; border-radius:6px; font:400 9px/1.4 var(--pix); color:var(--dim); text-transform:uppercase; letter-spacing:.5px; }
.slist a i { font-style:normal; color:var(--red2); min-width:18px; } .slist a:hover { color:var(--text); background:var(--panel2); }
.slist a.on { background:var(--red); color:#03150a; } .slist a.on i { color:#03150a; }
.doc h1 { font:400 26px/1.4 var(--pix); margin:34px 0 6px; } .doc .lead { color:var(--dim); font-size:17px; margin:0 0 24px; }
.doc h2 { margin-top:38px; padding:8px 12px; border-radius:6px; transition:background .25s, color .25s; }
.doc .body h2.on { background:rgba(0,200,5,.35); color:#fff; } .doc .body h2.on .num { color:#fff; } .doc .body h2.on::after { background:linear-gradient(90deg,rgba(255,255,255,.35),transparent); } .doc h3 { font:400 13px var(--pix); margin:22px 0 6px; color:var(--text); }
.doc p, .doc li { color:#cfe2d4; font-size:15.5px; } .doc li { margin:6px 0; } .doc b { color:var(--text); }
.doc .num { display:inline-block; min-width:28px; color:var(--red2); font-family:var(--pix); font-size:13px; }
.doc table { width:100%; border-collapse:collapse; font:13px var(--mono); margin:10px 0; } .doc th, .doc td { border:1px solid var(--line); padding:7px 9px; text-align:left; } .doc th { color:var(--dim); font-weight:600; letter-spacing:1px; text-transform:uppercase; font-size:11px; }
.doc .box { background:var(--panel2); border:1px solid var(--line2); border-radius:12px; padding:14px 16px; margin:12px 0; }

@media (max-width:900px) { .game, .two, .buy { grid-template-columns:1fr; } .doc { grid-template-columns:1fr; gap:10px; } .side { position:static; margin-top:24px; } .slist { display:grid; grid-template-columns:1fr 1fr; } nav { display:none; } #buyBtn { width:100%; } }
