/* AgentLand — Gen-1 mockup styles */
:root{
  --bg:#131211;          /* near-black, warm charcoal bias */
  --bg2:#191817;
  --panel:#1e1c1a;
  --panel2:#242220;
  --line:#2e2b28;
  --line2:#3a3733;
  --ink:#e8e5e0;
  --ink2:#a39e96;
  --ink3:#6f6a63;
  --acc:#3fd8d4;         /* electric cyan — the only accent */
  --acc-dim:#2a8f8c;
  --acc-bg:rgba(63,216,212,.08);
  --acc-line:rgba(63,216,212,.25);
  --warn:#e0b25a;
  --bad:#e07a5a;
  --ok:#7ac98f;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--ink);font:15px/1.55 var(--sans);min-height:100vh}
a{color:var(--acc);text-decoration:none}
a:hover{text-decoration:underline}
.num,td.num,.lc{font-variant-numeric:tabular-nums;font-family:var(--mono);font-size:.92em}
h1,h2,h3,h4{font-weight:600;letter-spacing:-.01em}
code{font-family:var(--mono);font-size:.9em;background:var(--panel2);padding:.1em .35em;border-radius:3px}

/* ---- top nav ---- */
.topnav{position:sticky;top:0;z-index:50;background:rgba(19,18,17,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:2px;padding:0 14px;overflow-x:auto;white-space:nowrap;scrollbar-width:none}
.topnav::-webkit-scrollbar{display:none}
.topnav .brand{font-weight:700;font-size:14px;letter-spacing:.02em;color:var(--ink);margin-right:14px;padding:11px 0;display:flex;align-items:center;gap:8px}
.topnav .brand .dot{width:8px;height:8px;border-radius:2px;background:var(--acc);display:inline-block}
.topnav .brand:hover{text-decoration:none}
.topnav a.nl{color:var(--ink2);font-size:13px;padding:12px 10px;border-bottom:2px solid transparent}
.topnav a.nl:hover{color:var(--ink);text-decoration:none}
.topnav a.nl.on{color:var(--acc);border-bottom-color:var(--acc)}
.topnav .lcbal{margin-left:auto;font-family:var(--mono);font-size:12px;color:var(--ink2);padding-left:14px}
.topnav .lcbal b{color:var(--acc);font-weight:600}

/* ---- mockup corner badge ---- */
.mockbadge{position:fixed;right:12px;bottom:12px;z-index:60;background:var(--panel);border:1px solid var(--acc-line);color:var(--acc);font:600 10px/1 var(--mono);letter-spacing:.08em;padding:7px 10px;border-radius:4px;text-transform:uppercase;pointer-events:none;opacity:.92}

/* ---- layout ---- */
.wrap{max-width:1180px;margin:0 auto;padding:26px 18px 90px}
.wrap.narrow{max-width:860px}
.pagehead{margin-bottom:22px}
.pagehead h1{font-size:22px}
.pagehead .sub{color:var(--ink2);font-size:13.5px;margin-top:4px}
.crumb{font-family:var(--mono);font-size:11px;color:var(--ink3);text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px}
.grid{display:grid;gap:14px}
@media(min-width:840px){.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:1fr 1fr 1fr}.g21{grid-template-columns:2fr 1fr}.g12{grid-template-columns:1fr 2fr}}

/* ---- panels ---- */
.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:16px}
.panel h2,.panel h3{font-size:13px;text-transform:uppercase;letter-spacing:.09em;color:var(--ink2);margin-bottom:12px;font-weight:600}
.panel .big{font-size:26px;font-weight:600}

/* ---- stat tiles ---- */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:16px}
.stat{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:12px 14px}
.stat .k{font-size:11px;color:var(--ink3);text-transform:uppercase;letter-spacing:.08em}
.stat .v{font-size:21px;font-weight:600;font-variant-numeric:tabular-nums;font-family:var(--mono);margin-top:3px}
.stat .d{font-size:11.5px;color:var(--ink2);margin-top:2px}
.stat .v .u{font-size:12px;color:var(--ink3);font-weight:400}

/* ---- tables ---- */
table{width:100%;border-collapse:collapse;font-size:13.5px}
th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink3);text-align:left;padding:8px 10px;border-bottom:1px solid var(--line2);font-weight:600}
td{padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:middle}
tr:last-child td{border-bottom:0}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}
td.num{font-family:var(--mono);font-size:12.5px}
.tscroll{overflow-x:auto}
.tscroll table{min-width:640px}

/* ---- badges/pills ---- */
.pill{display:inline-block;font:600 10.5px/1 var(--mono);letter-spacing:.05em;padding:4px 7px;border-radius:3px;border:1px solid var(--line2);color:var(--ink2);text-transform:uppercase;white-space:nowrap}
.pill.acc{color:var(--acc);border-color:var(--acc-line);background:var(--acc-bg)}
.pill.ok{color:var(--ok);border-color:rgba(122,201,143,.3);background:rgba(122,201,143,.07)}
.pill.warn{color:var(--warn);border-color:rgba(224,178,90,.3);background:rgba(224,178,90,.07)}
.pill.bad{color:var(--bad);border-color:rgba(224,122,90,.3);background:rgba(224,122,90,.07)}
.dotlive{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--ok);margin-right:5px;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}

/* ---- buttons/inputs ---- */
.btn{display:inline-block;background:var(--acc);color:#0d1414;font:600 13.5px/1 var(--sans);padding:11px 18px;border-radius:6px;border:0;cursor:pointer}
.btn:hover{filter:brightness(1.08);text-decoration:none}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line2)}
.btn.ghost:hover{border-color:var(--acc-dim);color:var(--acc)}
.btn.sm{padding:7px 12px;font-size:12.5px}
input[type=text],input[type=email],select{background:var(--bg2);border:1px solid var(--line2);color:var(--ink);font:14px var(--sans);padding:10px 12px;border-radius:6px;width:100%}
input:focus,select:focus{outline:none;border-color:var(--acc-dim)}
input[type=range]{width:100%;accent-color:var(--acc)}
label.fl{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink3);margin-bottom:5px}

/* ---- meters/bars ---- */
.meter{height:6px;background:var(--bg2);border-radius:3px;overflow:hidden}
.meter i{display:block;height:100%;background:var(--acc);border-radius:3px}
.meter i.warn{background:var(--warn)}
.meter i.bad{background:var(--bad)}

/* ---- sparkline ---- */
.spark{display:inline-flex;align-items:flex-end;gap:2px;height:22px}
.spark b{width:4px;background:var(--acc-dim);border-radius:1px;min-height:2px}
.spark b:last-child{background:var(--acc)}

/* ---- landing specifics ---- */
.hero{padding:64px 0 36px;border-bottom:1px solid var(--line)}
.hero .kicker{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--acc);margin-bottom:14px}
.hero h1{font-size:clamp(28px,5vw,44px);line-height:1.12;max-width:760px;letter-spacing:-.02em}
.hero p.lede{font-size:17px;color:var(--ink2);max-width:640px;margin-top:16px}
.section{padding:40px 0;border-bottom:1px solid var(--line)}
.section>h2{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--acc);margin-bottom:18px;font-family:var(--mono)}

.linkgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.linkgrid a{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:14px 15px;color:var(--ink);display:block}
.linkgrid a:hover{border-color:var(--acc-dim);text-decoration:none}
.linkgrid a .t{font-weight:600;font-size:14px}
.linkgrid a .n{font-family:var(--mono);font-size:10.5px;color:var(--acc);letter-spacing:.06em}
.linkgrid a .d{font-size:12.5px;color:var(--ink2);margin-top:3px}

/* ---- workflow canvas ---- */
.canvas{position:relative;background:
  linear-gradient(var(--line) 1px,transparent 1px),
  linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:24px 24px;background-color:var(--bg2);
  border:1px solid var(--line);border-radius:8px;overflow-x:auto}

/* ---- footer ---- */
.foot{border-top:1px solid var(--line);margin-top:40px;padding:22px 18px;color:var(--ink3);font-size:12px;display:flex;gap:16px;flex-wrap:wrap;justify-content:space-between}
.foot a{color:var(--ink2)}

/* ---- prd doc ---- */
.doc h1{font-size:26px;margin:26px 0 10px}
.doc h2{font-size:19px;margin:30px 0 10px;padding-top:18px;border-top:1px solid var(--line)}
.doc h3{font-size:15px;margin:20px 0 8px}
.doc p{margin:10px 0;color:var(--ink);max-width:78ch}
.doc li{margin:5px 0 5px 22px;max-width:74ch}
.doc table{margin:14px 0;font-size:13px}
.doc strong{color:var(--ink)}
.doc em{color:var(--ink2)}
.doc blockquote{border-left:2px solid var(--acc-dim);padding-left:14px;color:var(--ink2);margin:12px 0}
.doc hr{border:0;border-top:1px solid var(--line);margin:26px 0}

@media(max-width:600px){
  .wrap{padding:18px 12px 90px}
  body{font-size:14px}
  .hero{padding:40px 0 28px}
}

/* ---- focus visibility ---- */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--acc);outline-offset:2px;border-radius:4px}

/* ---- global live ticker ---- */
.ticker{display:flex;align-items:center;gap:0;height:30px;background:var(--bg2);border-bottom:1px solid var(--line);font-family:var(--mono);font-size:11px;color:var(--ink2);overflow:hidden}
.ticker .tk-live{display:flex;align-items:center;gap:6px;padding:0 12px;height:100%;border-right:1px solid var(--line);color:var(--acc);font-weight:600;letter-spacing:.1em;flex:0 0 auto;background:var(--bg)}
.ticker .tk-live i{width:6px;height:6px;border-radius:50%;background:var(--acc);animation:pulse 2s infinite}
.tk-viewport{flex:1;overflow:hidden;height:100%;display:flex;align-items:center;position:relative}
.tk-viewport::before,.tk-viewport::after{content:"";position:absolute;top:0;bottom:0;width:26px;z-index:2;pointer-events:none}
.tk-viewport::before{left:0;background:linear-gradient(90deg,var(--bg2),transparent)}
.tk-viewport::after{right:0;background:linear-gradient(-90deg,var(--bg2),transparent)}
.tk-track{display:flex;gap:34px;white-space:nowrap;width:max-content;will-change:transform;padding-left:14px}
.tk-track.anim{animation:tkscroll var(--tkdur,60s) linear infinite}
@keyframes tkscroll{to{transform:translateX(-50%)}}
.tk-ev{display:inline-flex;align-items:center;gap:7px}
.tk-ev .td{width:5px;height:5px;border-radius:50%;background:var(--acc-dim);flex:0 0 auto}
.tk-ev.ok .td{background:var(--ok)}.tk-ev.warn .td{background:var(--warn)}.tk-ev.bad .td{background:var(--bad)}.tk-ev.acc .td{background:var(--acc)}
.tk-ev b{color:var(--ink);font-weight:600}
.tk-ev .hl{color:var(--acc)}
.tk-counters{flex:0 0 auto;padding:0 14px;border-left:1px solid var(--line);color:var(--ink3);height:100%;display:flex;align-items:center;gap:14px;background:var(--bg);font-variant-numeric:tabular-nums}
.tk-counters b{color:var(--acc);font-weight:600}
@media(max-width:760px){.tk-counters{display:none}}
@media (prefers-reduced-motion: reduce){
  .tk-track.anim{animation:none}
  .dotlive,.ticker .tk-live i,.hops i.cur{animation:none}
}

/* ---- landing hero canvas ---- */
.herowrap{position:relative;overflow:hidden}
#netbg{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.9}
.herowrap .wrap{position:relative;z-index:1}
.herofade{position:absolute;left:0;right:0;bottom:0;height:120px;background:linear-gradient(transparent,var(--bg));z-index:0;pointer-events:none}

/* ---- stats band (count-up) ---- */
.statsband{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-top:36px}
.statsband .sb{background:var(--panel);padding:14px 16px}
.statsband .sb .v{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:24px;font-weight:600;color:var(--acc)}
.statsband .sb .v .u{font-size:12px;color:var(--ink3);font-weight:400}
.statsband .sb .k{font-size:10.5px;text-transform:uppercase;letter-spacing:.09em;color:var(--ink3);margin-top:3px}

/* ---- interop strip ---- */
.interop{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:14px 16px;margin-top:14px}
.interop .proto{font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.06em;color:var(--acc);border:1px solid var(--acc-line);background:var(--acc-bg);border-radius:4px;padding:6px 10px}
.interop .sep{color:var(--ink3)}

/* ---- onboarding wizard ---- */
.wizsteps{display:flex;gap:8px;margin-bottom:20px;font-family:var(--mono);font-size:11px}
.wizsteps .ws{flex:1;border-top:2px solid var(--line2);padding-top:8px;color:var(--ink3);text-transform:uppercase;letter-spacing:.07em}
.wizsteps .ws.on{border-top-color:var(--acc);color:var(--acc)}
.wizsteps .ws.done{border-top-color:var(--acc-dim);color:var(--ink2)}
.wizpane{display:none}
.wizpane.on{display:block}
.tplpick{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.tplpick label{border:1px solid var(--line);border-radius:8px;padding:13px 14px;cursor:pointer;display:block}
.tplpick label:hover{border-color:var(--line2)}
.tplpick input{display:none}
.tplpick label:has(input:checked){border-color:var(--acc);background:var(--acc-bg)}
.tplpick .tn{font-weight:600;font-size:14px}
.tplpick .tc{font-family:var(--mono);font-size:11px;color:var(--acc);margin-top:6px;font-variant-numeric:tabular-nums}
.tplpick .tdsc{font-size:12px;color:var(--ink2);margin-top:4px}
.invitebanner{display:flex;align-items:center;gap:10px;border:1px solid var(--acc-line);background:var(--acc-bg);border-radius:8px;padding:12px 14px;font-size:13px;margin-bottom:18px;flex-wrap:wrap}
.invitebanner .lc{color:var(--acc)}

/* ---- demo player ---- */
.chapters{display:flex;flex-direction:column}
.chapters button{display:flex;gap:12px;align-items:baseline;background:none;border:0;border-bottom:1px solid var(--line);color:var(--ink);text-align:left;padding:11px 8px;font:13.5px var(--sans);cursor:pointer;border-radius:0}
.chapters button:last-child{border-bottom:0}
.chapters button:hover{background:var(--panel2)}
.chapters button.on{background:var(--acc-bg)}
.chapters button.on .cn{color:var(--acc)}
.chapters .ct{font-family:var(--mono);font-size:11px;color:var(--ink3);font-variant-numeric:tabular-nums;flex:0 0 42px}
.chapters .cn{font-weight:600}
.chapters .cd{font-size:12px;color:var(--ink2)}

/* ---- org activity grid (mission control) ---- */
.orggrid{display:grid;grid-template-columns:repeat(12,1fr);gap:4px}
.orggrid i{aspect-ratio:1;border-radius:2px;background:rgba(63,216,212,.05);display:block;transition:background .9s ease}
.oglegend{display:flex;gap:12px;flex-wrap:wrap;font-family:var(--mono);font-size:10.5px;color:var(--ink3);margin-top:10px}
.oglegend .sw{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:5px;vertical-align:-1px}

/* ---- "</>" API affordance: chip + inline call panel ---- */
.apichip{display:inline-flex;align-items:center;gap:4px;font:600 10.5px/1 var(--mono);letter-spacing:.05em;color:var(--ink2);background:transparent;border:1px solid var(--line2);border-radius:3px;padding:4px 7px;cursor:pointer;vertical-align:middle;white-space:nowrap}
.apichip:hover{color:var(--acc);border-color:var(--acc-dim)}
.apichip[aria-expanded="true"]{color:var(--acc);border-color:var(--acc-line);background:var(--acc-bg)}
.apipanel{display:none;margin-top:10px}
.apipanel.open{display:block}
.codeblock{position:relative;background:#0d0f0f;border:1px solid var(--line);border-radius:6px;padding:12px 14px}
.codeblock pre{font-family:var(--mono);font-size:11.8px;line-height:1.66;color:var(--ink2);white-space:pre;overflow-x:auto;padding-right:70px}
.codeblock .ck{color:var(--acc)}      /* keys / verbs */
.codeblock .cs{color:var(--ok)}       /* strings */
.codeblock .cv{color:var(--warn)}     /* placeholders / numbers */
.codeblock .cc{color:var(--ink3)}     /* comments */
.copybtn{position:absolute;top:8px;right:8px;background:var(--panel);border:1px solid var(--line2);color:var(--ink2);font:600 10px/1 var(--mono);letter-spacing:.05em;padding:5px 8px;border-radius:3px;cursor:pointer;text-transform:uppercase}
.copybtn:hover{color:var(--acc);border-color:var(--acc-dim)}
.apinote{font-size:11.5px;color:var(--ink3);margin-top:8px}

/* ---- harness tabs (Connect screen) ---- */
.htabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:14px;overflow-x:auto;scrollbar-width:none}
.htabs::-webkit-scrollbar{display:none}
.htabs [role="tab"]{background:none;border:0;border-bottom:2px solid transparent;color:var(--ink2);font:600 13px var(--sans);padding:9px 13px;cursor:pointer;white-space:nowrap;margin-bottom:-1px}
.htabs [role="tab"]:hover{color:var(--ink)}
.htabs [role="tab"][aria-selected="true"]{color:var(--acc);border-bottom-color:var(--acc)}
.tabpane{display:none}
.tabpane.on{display:block}

/* ---- one-time secret reveal (Mint key) ---- */
.secretbox{border:1px solid var(--warn);background:rgba(224,178,90,.06);border-radius:8px;padding:14px 16px;margin-top:14px}
.secretbox .sk{font-family:var(--mono);font-size:13px;color:var(--ink);word-break:break-all;background:#0d0f0f;border:1px solid var(--line);border-radius:5px;padding:10px 12px;margin:10px 0}

/* ---- pending invites ---- */
.invflow{display:inline-flex;gap:5px;align-items:center;font-family:var(--mono);font-size:10px}
.invflow i{width:7px;height:7px;border-radius:50%;background:var(--line2)}
.invflow i.done{background:var(--acc-dim)}
.invflow i.cur{background:var(--acc);animation:pulse 1.6s infinite}
