/* ── proto.css · shared styles for the STONKROBOTICS product pages ─────────
   TERMINAL STYLE — tokens mirrored 1:1 from styles.css (the mint homepage).
   Full monospace · zero radius · #cfff04 lime · uppercase headers · scanlines.
   Used by: protocol.html, missions.html, my-fleet.html, seasons.html,
            agent-mining.html, distributions.html, market.html,
            protocol-api.html, roadmap.html, internal/launch-checklist.html */
:root{
  --bg:#0c0c0c; --bg2:#1c1c1c; --card:#141414; --panel3:#232323;
  --line:#2e2e2e; --line2:#3a3a3a; --gray:#474546;
  --txt:#ededed; --sub:#9e9e9e; --dim:#9e9e9e;
  --accent:#00ff00;   /* live / good */
  --accent2:#cfff04;  /* primary lime — headers, values */
  --warn:#ff6600;     /* coming soon */
  --bad:#ff3333;
  --purp:#7c8b96;     /* token era (muted steel) */
  --acc-fg:#111111;
  --grad:linear-gradient(90deg,#cfff04,#ff6600);
  --mono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
a{color:inherit;text-decoration:none}
::selection{background:var(--accent2);color:#000}
body{
  font-family:var(--mono);font-size:14px;letter-spacing:.01em;
  background:var(--bg);color:var(--txt);line-height:1.6;
  -webkit-font-smoothing:antialiased;min-height:100vh;overflow-x:hidden;position:relative;
}
/* terminal background FX (grid + corner radials), no extra markup needed */
body::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(760px 440px at 84% 2%, rgba(207,255,4,.05), transparent 62%),
    radial-gradient(680px 520px at 6% 10%, rgba(255,102,0,.04), transparent 62%),
    linear-gradient(transparent 0 39px,rgba(255,255,255,.018) 39px 40px) 0 0/40px 40px,
    linear-gradient(90deg,transparent 0 39px,rgba(255,255,255,.018) 39px 40px) 0 0/40px 40px}
body::after{content:"";position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.4;
  background:repeating-linear-gradient(180deg,rgba(0,0,0,0) 0 2px,rgba(0,0,0,.16) 2px 3px)}
.wrap{max-width:1180px;margin:0 auto;padding:26px 22px 90px;position:relative;z-index:5}
.mono{font-family:var(--mono)}
.grad{color:var(--accent2);text-shadow:0 0 40px rgba(207,255,4,.30)}
.dim{color:var(--dim)}

/* ── shared protocol nav ── */
.pnav{position:sticky;top:0;z-index:900;background:rgba(17,17,17,.86);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);margin:-26px -22px 26px;padding:11px 22px}
.pnav-in{max-width:1180px;margin:0 auto;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.pnav .brand{font-size:13px;font-weight:700;letter-spacing:.06em;white-space:nowrap;text-transform:uppercase}
.pnav a.brand{color:var(--txt);text-decoration:none;padding:5px 0;border-radius:0;background:none}
.pnav a.brand:hover{background:none;color:var(--accent2)}
.pnav .brand .d{display:inline-block;width:8px;height:8px;border-radius:0;background:var(--accent2);
  box-shadow:0 0 12px var(--accent2);margin-right:8px;animation:pulse 1.8s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
.pnav .links{display:flex;gap:2px;flex-wrap:wrap;flex:1}
.pnav a{font-family:var(--mono);font-size:12px;color:var(--sub);text-decoration:none;padding:5px 8px;
  border-radius:0;white-space:nowrap;text-transform:uppercase;letter-spacing:.05em;transition:.14s}
.pnav a:hover{color:var(--accent2);background:rgba(207,255,4,.06)}
.pnav a.on{color:var(--accent2);background:rgba(207,255,4,.1);box-shadow:inset 0 -2px 0 var(--accent2)}
.pnav a .soon{font-size:9px;color:var(--warn);vertical-align:super;margin-left:2px;letter-spacing:0}
/* the primary conversion path (agent mining) — reads as live, never dimmed like the rest */
.pnav a.lead{color:var(--accent);font-weight:700}
.pnav a.lead:hover{color:var(--accent);background:rgba(0,255,0,.09)}

/* ── page header ── */
header{text-align:center;margin:44px 0 40px}
.tag{display:inline-flex;align-items:center;gap:9px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--sub);border:1px solid var(--line2);border-radius:0;
  padding:7px 13px;margin-bottom:20px;background:var(--bg2)}
.tag.soonhero{color:var(--warn);border-color:rgba(255,102,0,.45);background:rgba(255,102,0,.07)}
h1{font-size:clamp(30px,5vw,52px);line-height:1.04;font-weight:800;letter-spacing:-.02em;
  margin-bottom:12px;text-transform:uppercase}
.sub{color:var(--sub);font-size:14px;line-height:1.7;max-width:660px;margin:0 auto}
.sub b{color:var(--txt)}
section{padding:56px 0 0}
h2{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent2);
  font-weight:800;margin-bottom:16px;display:flex;align-items:center;gap:9px}
h2 .num{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;
  border-radius:0;background:rgba(207,255,4,.1);border:1px solid rgba(207,255,4,.35);
  font-size:11px;color:var(--accent2)}
.lead{font-size:13.5px;color:var(--sub);margin-bottom:18px;line-height:1.7;max-width:820px}
.lead b{color:var(--txt)}

/* ── status badges ── */
.st{display:inline-flex;align-items:center;gap:6px;font-size:10.5px;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;padding:4px 9px;border-radius:0;white-space:nowrap;
  border:1px solid var(--line2);background:rgba(255,255,255,.02);color:var(--sub)}
.st.live{background:rgba(0,255,0,.07);border-color:rgba(0,255,0,.4);color:var(--accent)}
.st.beta{background:rgba(207,255,4,.08);border-color:rgba(207,255,4,.45);color:var(--accent2)}
.st.soon{background:rgba(255,102,0,.08);border-color:rgba(255,102,0,.45);color:var(--warn)}
.st.token{background:rgba(124,139,150,.1);border-color:var(--gray);color:var(--purp)}
.st .d{width:7px;height:7px;border-radius:0;background:currentColor}
.st.live .d{box-shadow:0 0 8px var(--accent);animation:pulse 1.4s infinite}
/* ── cards / grids ── */
.grid{display:grid;gap:12px}
.g2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.card{background:var(--card);border:1px solid var(--line2);border-radius:0;padding:18px;
  box-shadow:0 40px 90px -40px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.02)}
.card .big{font-size:26px;font-weight:800;font-family:var(--mono)}
.card .lbl{font-size:11px;color:var(--dim);letter-spacing:.08em;margin-top:4px;text-transform:uppercase}
.card .hint{font-size:12.5px;color:var(--sub);margin-top:10px;line-height:1.6}
.note{background:rgba(255,102,0,.06);border:1px solid rgba(255,102,0,.32);border-radius:0;
  border-left:2px solid var(--warn);
  padding:14px 17px;font-size:13px;color:#e8d9bd;margin-top:18px;line-height:1.65}
.note.good{background:rgba(0,255,0,.05);border-color:rgba(0,255,0,.3);border-left-color:var(--accent);color:#bfe8d2}
.note.bad{background:rgba(255,51,51,.06);border-color:rgba(255,51,51,.32);border-left-color:var(--bad);color:#f3c9c9}
.foot{text-align:center;color:var(--dim);font-size:11.5px;letter-spacing:.06em;margin-top:64px;
  border-top:1px solid var(--line);padding-top:28px;text-transform:uppercase}

/* ── app surfaces: panels, stat strips, tables, locked actions ── */
.strip{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-bottom:16px}
.stat{background:var(--card);border:1px solid var(--line2);border-radius:0;padding:13px 15px;
  border-left:2px solid var(--accent2)}
.stat .sv{font-size:22px;font-weight:800;font-family:var(--mono)}
.stat .sk{font-size:10.5px;color:var(--dim);letter-spacing:.08em;margin-top:3px;text-transform:uppercase}
.stat.pend{border-left-color:var(--warn)} .stat.pend .sv{color:var(--warn)}
.stat.ok{border-left-color:var(--accent)} .stat.ok .sv{color:var(--accent)}
.panel{background:var(--card);border:1px solid var(--line2);border-radius:0;overflow:hidden;position:relative;
  box-shadow:0 40px 90px -40px rgba(0,0,0,.9)}
.panel + .panel{margin-top:12px}
.panel .phead{display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  padding:12px 17px;border-bottom:1px solid var(--line);background:var(--bg2)}
.panel .phead .pt{font-size:12.5px;font-weight:800;flex:1;min-width:120px;
  text-transform:uppercase;letter-spacing:.06em}
.panel .pbody{padding:17px}
.panel .pbody.tight{padding:0}
.panel .pnote{font-size:12.5px;color:var(--sub);line-height:1.65}
/* data table */
.tbl{width:100%;border-collapse:collapse;font-size:12.5px;font-family:var(--mono)}
.tbl th{text-align:left;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);
  font-weight:700;padding:10px 17px;border-bottom:1px solid var(--line2);white-space:nowrap;background:var(--bg2)}
.tbl td{padding:11px 17px;border-bottom:1px solid rgba(46,46,46,.7)}
.tbl tr:last-child td{border-bottom:none}
.tbl td.n{font-family:var(--mono)}
.tbl .ghost td{color:var(--dim);opacity:.5}
/* locked / coming-soon overlay on a panel */
.locked{position:relative}
.locked .pbody{filter:blur(1.6px);opacity:.4;pointer-events:none;user-select:none}
.lockover{position:absolute;inset:0;top:45px;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:9px;text-align:center;padding:20px;
  background:radial-gradient(420px 200px at 50% 50%,rgba(12,12,12,.6),rgba(12,12,12,.9))}
.lockover .li{font-size:24px}
.lockover .lt{font-size:13px;font-weight:800;color:var(--warn);text-transform:uppercase;letter-spacing:.1em}
.lockover .ls{font-size:12.5px;color:var(--sub);max-width:440px;line-height:1.6}
/* buttons */
.btn{font-family:var(--mono);font-size:12.5px;font-weight:700;border-radius:0;padding:10px 17px;
  border:1px solid var(--accent2);background:var(--accent2);color:var(--acc-fg);cursor:pointer;
  text-transform:uppercase;letter-spacing:.06em;transition:.14s;display:inline-flex;align-items:center;gap:8px}
.btn:hover{box-shadow:0 6px 26px rgba(207,255,4,.3)}
.btn.ghost{background:transparent;color:var(--sub);border-color:var(--line2)}
.btn.ghost:hover{border-color:var(--accent2);color:var(--accent2);box-shadow:none}
.btn.dis{border-color:var(--line2);background:var(--bg2);color:var(--dim);cursor:not-allowed;box-shadow:none}
.btnrow{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}
/* input row (non-functional demo) */
.inrow{display:flex;gap:9px;flex-wrap:wrap;align-items:center}
.inrow input{flex:1;min-width:200px;font-family:var(--mono);font-size:13px;
  background:var(--bg2);border:1px solid var(--line2);color:var(--txt);border-radius:0;padding:10px 13px}
.inrow input:focus{outline:none;border-color:var(--accent2)}
/* step list */
.flow{display:flex;flex-direction:column;gap:10px}
.fstep{display:grid;grid-template-columns:30px 1fr;gap:13px;align-items:start}
.fstep .fn{width:30px;height:30px;border-radius:0;background:rgba(207,255,4,.1);
  border:1px solid rgba(207,255,4,.35);color:var(--accent2);font-size:12.5px;font-weight:800;
  font-family:var(--mono);display:flex;align-items:center;justify-content:center}
.fstep .fb{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.fstep .fs{font-size:12.5px;color:var(--sub);line-height:1.6;margin-top:2px}

/* ── English only: Chinese strings are always hidden ── */
.zh{display:none !important}

/* ── terminal enforcement: no page-local rounding survives ── */
.wrap *,.pnav *,.wrap *::before,.wrap *::after{border-radius:0 !important}

