/* 巨兽 BEHEMOTH · $4BIT — shared shell for the gateway pages.
   Loaded before index.html's own <style>, so the landing page keeps its rules. */

:root{
  --bg:#000000;
  --green:#3fd117;
  --green-hi:#7dff3f;
  --green-dim:#123f08;
  --green-ghost:#0b2405;
  --gold:#f5c518;
  --gold-hi:#ffe066;
  --gold-dim:#4a3a02;
  --white:#ffffff;
  --grey:#9adf85;
  --panel:#040b02;
  --red:#ff5b4a;
  --px: "Press Start 2P", "Courier New", monospace;
  --tty: "VT323", "Courier New", monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--grey);font-family:var(--tty);font-size:22px;line-height:1.35;overflow-x:hidden}
::selection{background:var(--green);color:#000}
body::after{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;
  background:repeating-linear-gradient(0deg, rgba(0,0,0,0) 0 2px, rgba(0,0,0,.18) 2px 3px);
  mix-blend-mode:multiply;
}
a{color:var(--green);text-decoration:none}
a:hover{color:var(--green-hi)}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.px{font-family:var(--px)}
.white{color:var(--white)}
.gold{color:var(--gold)}
.dim{color:var(--grey);opacity:.62}

/* ---------- top bar (mirrors the landing page) ---------- */
header{position:sticky;top:0;z-index:100;background:rgba(0,0,0,.92);border-bottom:2px solid var(--green-dim);backdrop-filter:blur(2px)}
.bar{display:flex;align-items:center;gap:14px;padding:10px 20px;max-width:1120px;margin:0 auto;flex-wrap:wrap}
.bar .mini{display:flex;align-items:center;gap:10px}
.bar .mini .t{font-family:var(--px);font-size:13px;color:var(--green)}
.bar .mini .t b{color:var(--gold)}
.ca{flex:1;min-width:220px;display:flex;align-items:center;gap:8px;font-family:var(--tty);font-size:18px;color:var(--grey);border:2px solid var(--green-dim);padding:4px 10px;background:var(--panel);white-space:nowrap;overflow:hidden}
.ca span{overflow:hidden;text-overflow:ellipsis}
.btn{font-family:var(--px);font-size:11px;display:inline-block;padding:12px 16px;border:0;cursor:pointer;text-transform:uppercase;box-shadow:0 4px 0 #000 inset}
.btn-buy{background:var(--gold);color:#000}
.btn-buy:hover{background:var(--gold-hi);color:#000}
.btn-tg{background:var(--green);color:#000}
.btn-tg:hover{background:var(--green-hi);color:#000}
.btn-x{background:var(--white);color:#000}
.btn-x:hover{background:var(--grey);color:#000}
.btn:active{transform:translateY(2px)}
.btn[disabled]{background:var(--green-dim);color:var(--grey);cursor:not-allowed;opacity:.7}
.btn[disabled]:active{transform:none}
.btn-wallet{background:var(--gold);color:#000}
.btn-wallet:hover{background:var(--gold-hi)}
.btn-wallet.on{background:var(--green);color:#000}

/* ---------- section nav ---------- */
/* static, not sticky — the top bar above it already sticks */
.nav{position:relative;z-index:99;background:#000;border-bottom:2px solid var(--green-dim)}
.nav-in{max-width:1120px;margin:0 auto;padding:0 20px;display:flex;align-items:center;gap:2px;flex-wrap:wrap}
.nav-a{font-family:var(--px);font-size:11px;color:var(--grey);padding:13px 14px;border-bottom:3px solid transparent;white-space:nowrap}
.nav-a:hover{color:var(--green-hi);background:var(--green-ghost)}
.nav-a.on{color:var(--gold);border-bottom-color:var(--gold)}
.nav-tag{margin-left:auto;font-family:var(--px);font-size:8px;color:var(--green-dim);letter-spacing:1px;padding:8px 0}
@media(max-width:720px){
  .nav-a{font-size:9px;padding:11px 9px}
  .nav-tag{display:none}
}

/* ---------- page furniture ---------- */
.page{padding:52px 0 30px}
h1.title{font-family:var(--px);font-size:30px;color:var(--gold);line-height:1.5;text-shadow:0 0 18px rgba(245,197,24,.28)}
h2.sec-h{font-family:var(--px);font-size:17px;color:var(--green-hi);margin:0 0 16px;line-height:1.6}
h3.sub-h{font-family:var(--px);font-size:13px;color:var(--gold);margin:0 0 12px;line-height:1.7}
.lede{font-size:25px;margin-top:18px;max-width:820px}
.lede b{color:var(--white);font-weight:normal}
p.body{margin:0 0 16px;max-width:820px}
p.body b{color:var(--white);font-weight:normal}
.sec{padding:34px 0;border-top:2px solid var(--green-dim)}
.note{font-size:19px;opacity:.75;max-width:820px}
.mono{font-family:var(--tty);word-break:break-all}
.kbd{font-family:var(--px);font-size:10px;background:var(--green-ghost);color:var(--green-hi);padding:3px 6px}

.card{border:2px solid var(--green-dim);background:var(--panel);padding:20px}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}
.kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;margin:18px 0}
.kv > div{background:#000;box-shadow:0 0 0 1px var(--green-ghost);padding:12px 14px}
.kv .k{font-family:var(--px);font-size:9px;color:var(--green);letter-spacing:1px}
.kv .v{font-size:22px;color:var(--white);margin-top:6px;word-break:break-word}

.badge{font-family:var(--px);font-size:8px;padding:5px 7px;background:var(--green-dim);color:var(--green-hi);white-space:nowrap}
.badge.sold{background:var(--gold-dim);color:var(--gold-hi)}
.badge.official{background:var(--gold);color:#000}
.badge.live{background:var(--green);color:#000}

/* ---------- processor cards ---------- */
.cpu{display:flex;flex-direction:column;gap:12px}
.cpu-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.cpu-name{font-family:var(--px);font-size:13px;color:var(--gold);line-height:1.6;word-break:break-word}
.cpu-story{font-size:20px;opacity:.8;min-height:27px}
.cpu-nums{display:flex;flex-wrap:wrap;gap:14px;font-size:19px}
.cpu-nums b{color:var(--white);font-weight:normal}
.meter{height:10px;background:var(--green-ghost);border:1px solid var(--green-dim);position:relative}
.meter > i{display:block;height:100%;background:var(--green)}
.meter.full > i{background:var(--gold-dim)}
.cpu-addr{font-size:17px;opacity:.7;display:flex;flex-direction:column;gap:2px}
.cpu-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:2px}
.btn-sm{font-family:var(--px);font-size:10px;padding:10px 12px;border:0;cursor:pointer;background:var(--green);color:#000}
.btn-sm:hover{background:var(--green-hi)}
.btn-sm.ghost{background:var(--green-ghost);color:var(--green-hi)}
.btn-sm.ghost:hover{background:var(--green-dim)}
.btn-sm[disabled]{background:var(--green-ghost);color:var(--grey);cursor:not-allowed;opacity:.6}

/* ---------- forms ---------- */
.form{display:flex;flex-direction:column;gap:16px;max-width:640px}
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-family:var(--px);font-size:10px;color:var(--green);letter-spacing:1px}
.field .hint{font-size:18px;opacity:.65}
input[type=text],input[type=number],select{
  font-family:var(--tty);font-size:22px;background:#000;color:var(--white);
  border:2px solid var(--green-dim);padding:9px 12px;width:100%;
}
input:focus,select:focus{outline:none;border-color:var(--green)}
input[type=radio]{accent-color:#3fd117;width:18px;height:18px}
.radios{display:flex;gap:16px;flex-wrap:wrap}
.radios label{display:flex;align-items:center;gap:8px;font-size:21px;cursor:pointer;color:var(--white)}
.row{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}
.total{border:2px solid var(--gold-dim);background:#0a0800;padding:14px 16px;font-size:22px}
.total b{color:var(--gold-hi);font-weight:normal}

/* ---------- status / results ---------- */
.status{font-size:20px;padding:12px 14px;border-left:4px solid var(--green-dim);background:var(--panel);word-break:break-word}
.status.work{border-left-color:var(--gold);color:var(--gold-hi)}
.status.ok{border-left-color:var(--green);color:var(--green-hi)}
.status.bad{border-left-color:var(--red);color:var(--red)}
.result{border:2px solid var(--green);background:#020f00;padding:18px;display:flex;flex-direction:column;gap:10px}

/* ---------- trust & risk ---------- */
.risk{border:2px solid var(--gold-dim);background:#0a0800;padding:18px 20px;margin:26px 0}
.risk h4{font-family:var(--px);font-size:11px;color:var(--gold);letter-spacing:1px;margin-bottom:12px;line-height:1.7}
.risk ul{list-style:none;display:flex;flex-direction:column;gap:9px}
.risk li{font-size:20px;padding-left:20px;position:relative}
.risk li::before{content:"▸";position:absolute;left:0;color:var(--gold)}
.risk b{color:var(--white);font-weight:normal}
.risk .seal{font-family:var(--px);font-size:10px;color:var(--gold-hi)}

/* ---------- playground: pins, lamps, raw panel ---------- */
.pins{display:flex;flex-wrap:wrap;gap:10px}
.pin{font-family:var(--tty);font-size:20px;display:flex;flex-direction:column;align-items:center;gap:4px;
  min-width:74px;padding:10px 8px;background:#000;border:2px solid var(--green-dim);color:var(--grey);cursor:pointer}
.pin:hover{border-color:var(--green)}
.pin.on{border-color:var(--gold);color:var(--gold-hi);background:#0a0800;box-shadow:0 0 14px rgba(245,197,24,.18)}
.pin-n{font-family:var(--px);font-size:8px;letter-spacing:1px;color:var(--green)}
.pin-b{font-size:24px;line-height:1}
.lamp{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:74px;padding:10px 8px;
  background:#000;border:2px solid var(--green-dim)}
.lamp .led{width:20px;height:20px;border-radius:50%;background:#0d1a08;box-shadow:inset 0 0 6px #000}
.lamp.lit{border-color:var(--green)}
.lamp.lit .led{background:#3fd117;box-shadow:0 0 14px #3fd117,inset 0 0 5px #bfffa8}
.lamp .pin-b{color:var(--white)}
details.raw{border:2px solid var(--green-dim);background:var(--panel);margin-top:16px}
details.raw summary{font-family:var(--px);font-size:10px;color:var(--green-hi);padding:13px 16px;cursor:pointer;letter-spacing:1px}
details.raw summary:hover{background:var(--green-ghost)}
.raw-in{padding:0 16px 18px}
.raw-in h4{font-family:var(--px);font-size:9px;color:var(--gold);letter-spacing:1px;margin:14px 0 8px}
.raw-in pre{font-family:var(--tty);font-size:18px;color:var(--white);background:#000;border:1px solid var(--green-ghost);
  padding:12px;overflow-x:auto;white-space:pre-wrap;word-break:break-all;line-height:1.3}
ol.steps{margin:0 0 0 22px;display:flex;flex-direction:column;gap:8px;font-size:20px;max-width:820px}
ol.steps li{padding-left:4px}
.risk.info{border-color:var(--green-dim);background:#020f00}
.risk.info h4{color:var(--green-hi)}
.risk.info li::before{color:var(--green)}

/* ---------- market ---------- */
.sides{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin:24px 0 8px}
.side{border:2px solid var(--green-dim);background:var(--panel);padding:18px 20px}
.side.buy{border-color:var(--gold-dim);background:#0a0800}
.side p.body{margin:0}
.book{display:flex;flex-direction:column;gap:10px;margin-top:16px}
.bid{border:2px solid var(--green-dim);background:var(--panel);padding:14px 16px;display:flex;flex-wrap:wrap;
  gap:12px;align-items:flex-start;justify-content:space-between}
.bid-main{display:flex;flex-direction:column;gap:7px;min-width:260px;flex:1}
.bid-name{font-family:var(--px);font-size:11px;line-height:1.7}
.bid-nums{display:flex;flex-wrap:wrap;gap:14px;font-size:19px}
.bid-nums i{font-style:normal;font-family:var(--px);font-size:8px;color:var(--green);letter-spacing:1px}
.bid-nums b{color:var(--white);font-weight:normal}
.bid-who{font-size:17px;opacity:.72}
.bid-actions{display:flex;gap:8px;align-items:center}
.sell-panel{flex-basis:100%;border-top:1px solid var(--green-ghost);padding-top:14px;display:flex;
  flex-direction:column;gap:10px;max-width:520px}

/* ---------- aggregated market table ---------- */
.mkt-tools{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-top:18px}
.mkt-scroll{overflow-x:auto;margin-top:16px;border:2px solid var(--green-dim);background:var(--panel)}
.mkt{min-width:900px}
.mkt-head,.mkt-row{display:grid;grid-template-columns:2.3fr 1.1fr .8fr 1.1fr .55fr 1fr 1fr;
  gap:12px;padding:10px 14px;align-items:center;text-align:left}
.mkt-head{font-family:var(--px);font-size:8px;letter-spacing:1px;color:var(--green);
  border-bottom:2px solid var(--green-dim);background:#040b02;position:sticky;top:0;z-index:2}
.mkt-row{width:100%;border:0;border-bottom:1px solid var(--green-ghost);background:none;
  color:var(--grey);font-family:var(--tty);font-size:19px;cursor:pointer}
.mkt-row:hover{background:#0a1c04}
.mkt-row.on{background:#0b2405;box-shadow:inset 4px 0 0 var(--gold)}
.mkt-name{font-family:var(--px);font-size:10px;color:var(--white);line-height:1.7;
  display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.mkt-sub{font-size:16px;color:var(--grey);opacity:.6}
.mkt-num{color:var(--white)}
.mkt-num.q{opacity:.35}
.up{color:var(--green-hi)}
.down{color:var(--red)}
.chip{font-family:var(--px);font-size:7px;letter-spacing:1px;padding:3px 5px;
  border:1px solid var(--green-dim);color:var(--green)}
.chip.latch{color:var(--gold);border-color:var(--gold-dim)}
.chip.off{color:var(--gold-hi);border-color:var(--gold)}
.mkt-detail{border:2px solid var(--gold-dim);background:#0a0800;padding:18px 20px;margin-top:18px}
.mkt-detail h3{font-family:var(--px);font-size:12px;color:var(--white);line-height:1.7;
  display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.tape{display:flex;flex-direction:column;margin-top:12px;font-size:18px}
.tape .t{display:grid;grid-template-columns:1.1fr .9fr .7fr;gap:12px;padding:5px 0;
  border-bottom:1px solid var(--green-ghost)}
.tape .t.h{font-family:var(--px);font-size:8px;color:var(--green);letter-spacing:1px}
.tape .t b{color:var(--white);font-weight:normal}

/* ---------- miner census ---------- */
.tag{display:inline-block;font-family:var(--px);font-size:8px;letter-spacing:1px;padding:4px 7px;
  border:1px solid var(--green-dim);color:var(--green-hi);vertical-align:2px;margin-left:8px}
.tag.v{border-color:var(--green);color:var(--green-hi)}
.tag.opt{border-color:var(--gold-dim);color:var(--gold)}
.tag.esc{border-color:var(--gold);color:var(--gold)}
.tag.off{border-color:var(--green-dim);color:var(--green)}
.deploy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin:14px 0}
.hashline{font-family:var(--tty);font-size:15px;word-break:break-all;color:var(--white);opacity:.85}

/* ---------- footer ---------- */
footer.gw{border-top:2px solid var(--green-dim);padding:30px 0 60px;margin-top:40px}
.gw-links{display:flex;gap:18px;flex-wrap:wrap;font-family:var(--px);font-size:10px;margin-bottom:16px}
.gw-note{font-size:19px;opacity:.7;max-width:860px}

@media(max-width:720px){
  body{font-size:20px}
  h1.title{font-size:20px}
  h2.sec-h{font-size:14px}
  .lede{font-size:22px}
}
