:root{
  --bg:#070a12;
  --bg-2:#0b1019;
  --panel:#0e1422;
  --panel-2:#121a2c;
  --line:rgba(255,255,255,.08);
  --line-2:rgba(255,255,255,.13);
  --ink:#eef3fb;
  --ink-soft:#aeb9cc;
  --ink-dim:#6f7d96;
  --blue:#2f7bff;
  --blue-deep:#1657e0;
  --cyan:#2fd0f4;
  --grad:linear-gradient(120deg,#1657e0 0%,#2f7bff 45%,#2fd0f4 100%);
  --r:18px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:'Hanken Grotesk',sans-serif;
  font-size:16px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  min-height:100vh;
  display:flex;
  flex-direction:column;
}
/* subtle top atmosphere, same family as the landing hero */
body::before{
  content:"";
  position:fixed;
  inset:0;
  background:radial-gradient(70% 50% at 50% -10%,rgba(47,123,255,.14),transparent 70%);
  pointer-events:none;
  z-index:0;
}
a{color:var(--cyan);text-decoration:none}
a:hover{text-decoration:underline}

/* ---- top nav ---- */
.nav{
  position:sticky;top:0;z-index:10;
  backdrop-filter:blur(12px);
  background:rgba(7,10,18,.72);
  border-bottom:1px solid var(--line);
}
.nav-in{
  max-width:860px;margin:0 auto;
  padding:16px 24px;
  display:flex;align-items:center;justify-content:space-between;
}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:18px;color:var(--ink);font-family:'Bricolage Grotesque',sans-serif;letter-spacing:-.01em}
.brand:hover{text-decoration:none}
.brand img{width:26px;height:26px;display:block}
.nav-back{font-family:'JetBrains Mono',monospace;font-size:12.5px;color:var(--ink-soft)}
.nav-back:hover{color:var(--cyan)}

/* ---- content ---- */
.wrap{
  position:relative;z-index:1;
  max-width:760px;width:100%;
  margin:0 auto;
  padding:64px 24px 96px;
  flex:1;
}
.kicker{
  font-family:'JetBrains Mono',monospace;
  font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--cyan);margin-bottom:16px;
}
h1{
  font-family:'Bricolage Grotesque',sans-serif;
  font-weight:700;font-size:clamp(34px,6vw,52px);
  line-height:1.05;letter-spacing:-.025em;margin-bottom:14px;
}
.updated{color:var(--ink-dim);font-size:14px;font-family:'JetBrains Mono',monospace;margin-bottom:28px}

/* honest draft banner */
.draft{
  border:1px solid rgba(47,208,244,.35);
  background:rgba(47,208,244,.07);
  border-radius:14px;
  padding:16px 18px;
  color:var(--ink-soft);
  font-size:14.5px;
  margin-bottom:44px;
  display:flex;gap:12px;align-items:flex-start;
}
.draft svg{flex:0 0 auto;width:20px;height:20px;stroke:var(--cyan);fill:none;stroke-width:1.7;margin-top:2px}
.draft b{color:var(--ink);font-weight:700}

/* table of contents */
.toc{
  border:1px solid var(--line);
  background:var(--panel);
  border-radius:var(--r);
  padding:22px 24px;
  margin-bottom:48px;
}
.toc h2{font-family:'JetBrains Mono',monospace;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-dim);font-weight:500;margin-bottom:14px}
.toc ol{list-style:none;counter-reset:toc;display:grid;gap:9px}
.toc li{counter-increment:toc;display:flex;gap:12px;align-items:baseline}
.toc li::before{content:counter(toc,decimal-leading-zero);font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--cyan);flex:0 0 auto}
.toc a{color:var(--ink-soft)}
.toc a:hover{color:var(--ink)}

/* sections */
section{margin-bottom:40px;scroll-margin-top:90px}
section h2{
  font-family:'Bricolage Grotesque',sans-serif;
  font-weight:700;font-size:23px;letter-spacing:-.015em;
  margin-bottom:14px;color:var(--ink);
}
section h2 .num{color:var(--ink-dim);font-family:'JetBrains Mono',monospace;font-size:15px;font-weight:500;margin-right:10px}
section p{color:var(--ink-soft);margin-bottom:14px}
section ul{color:var(--ink-soft);margin:0 0 14px 22px}
section li{margin-bottom:7px}
.placeholder{
  color:var(--ink-dim);font-style:italic;
  border-left:2px solid var(--line-2);padding-left:16px;
}

/* footer */
.foot{
  position:relative;z-index:1;
  border-top:1px solid var(--line);
  padding:32px 24px;
}
.foot-in{
  max-width:760px;margin:0 auto;
  display:flex;flex-wrap:wrap;gap:18px 26px;align-items:center;justify-content:space-between;
  color:var(--ink-dim);font-size:13.5px;
}
.foot-links{display:flex;gap:22px;flex-wrap:wrap}
.foot-links a{color:var(--ink-soft);font-size:13.5px}
.foot-links a.current{color:var(--ink);font-weight:600}
.foot-links a:hover{color:var(--cyan)}
