/* THE FAUST whitepaper — Vercel-derived monochrome system.
   Surface: Decide/Learn (docs). One idea per section, no hero, no cards grid. */
:root{
  --bg:#ffffff;
  --ink:#171717;
  --gray600:#4d4d4d;
  --gray500:#666666;
  --gray400:#808080;
  --gray100:#ebebeb;
  --gray50:#fafafa;
  --ring:rgba(0,0,0,0.08) 0 0 0 1px;
  --sans:'Geist',system-ui,-apple-system,'Segoe UI',sans-serif;
  --mono:'Geist Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
*{box-sizing:border-box}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{
  margin:0;display:flex;min-height:100vh;
  background:var(--bg);color:var(--ink);
  font:16px/1.6 var(--sans);
}
::selection{background:#171717;color:#fff}

/* ── Sidebar ─────────────────────────────── */
aside{
  width:264px;flex:none;padding:36px 24px 28px;
  border-right:1px solid var(--gray100);
  position:sticky;top:0;height:100vh;
  display:flex;flex-direction:column;
}
.brand{
  font-size:15px;font-weight:600;letter-spacing:.14em;
}
.tag{
  font:11px/1 var(--mono);letter-spacing:.08em;
  color:var(--gray400);margin:10px 0 36px;
}
nav{display:flex;flex-direction:column;gap:1px}
nav a{
  color:var(--gray500);text-decoration:none;
  font-size:13.5px;font-weight:500;line-height:1.45;
  padding:7px 10px;border-radius:6px;
}
nav a:hover{color:var(--ink);background:var(--gray50)}
nav a.active{color:var(--ink);font-weight:600}
.foot{
  margin-top:auto;padding-top:20px;
  border-top:1px solid var(--gray100);
  font:11px/1.7 var(--mono);letter-spacing:.04em;
  color:var(--gray400);
}

/* ── Article ─────────────────────────────── */
main{
  flex:1;min-width:0;
  padding:72px clamp(28px,7vw,110px) 48px;
  max-width:880px;
}
article{max-width:640px}
h1{
  font-size:40px;font-weight:600;line-height:1.1;
  letter-spacing:-1.5px;margin:0 0 28px;
}
h2{
  font-size:20px;font-weight:600;letter-spacing:-.4px;
  margin:40px 0 12px;
}
p{margin:0 0 16px;color:var(--ink)}
.lead{
  font-size:18px;line-height:1.75;color:var(--gray600);
}
.lead em{color:var(--gray500)}
ul{margin:0 0 16px;padding:0;list-style:none}
li{
  padding:10px 0 10px 20px;margin:0;
  border-bottom:1px solid var(--gray100);
  color:var(--gray600);
}
li:first-child{border-top:1px solid var(--gray100)}
li strong{color:var(--ink);font-weight:600}
.note{
  margin-top:28px;padding-top:16px;
  border-top:1px solid var(--gray100);
  font-size:13px;color:var(--gray400);
}
.quote{
  font-size:18px;font-style:italic;color:var(--gray500);
  padding-left:18px;border-left:2px solid var(--ink);
}

/* Tables — shadow-border, whisper header */
table{
  width:100%;border-collapse:separate;border-spacing:0;
  margin:24px 0;font-size:14px;
  box-shadow:var(--ring);border-radius:8px;overflow:hidden;
}
th{
  background:var(--gray50);text-align:left;
  font:11px var(--mono);letter-spacing:.08em;text-transform:uppercase;
  color:var(--gray500);padding:10px 16px;
}
td{
  padding:12px 16px;border-top:1px solid var(--gray100);
  color:var(--gray600);vertical-align:top;
}
td:first-child{color:var(--ink);font-weight:500;white-space:nowrap}

/* Night Ledger — the one black surface */
.ledger{
  font:13.5px/1.9 var(--mono);
  background:var(--ink);color:#d4d4d4;
  border-radius:8px;padding:26px 30px;margin:24px 0;
  white-space:pre-wrap;overflow-x:auto;
}
.ledger .t{color:#fff;font-weight:500}
.ledger .q{color:#8a8a8a;font-style:italic}

/* Pager */
.pager{
  display:flex;justify-content:space-between;gap:16px;
  margin-top:56px;padding-top:20px;
  border-top:1px solid var(--gray100);
}
.pager a{
  font-size:13.5px;font-weight:500;color:var(--gray500);
  text-decoration:none;
}
.pager a:hover{color:var(--ink)}

a{color:inherit}
:focus-visible{outline:2px solid #171717;outline-offset:2px;border-radius:4px}

@media(max-width:800px){
  body{flex-direction:column}
  aside{position:static;width:auto;height:auto;border-right:0;border-bottom:1px solid var(--gray100);padding:24px 20px}
  nav{flex-direction:row;flex-wrap:wrap;gap:4px}
  .foot{display:none}
  main{padding:40px 20px}
  h1{font-size:30px;letter-spacing:-1px}
}
