/* THE FAUST litepaper — same Vercel-derived monochrome system as the whitepaper.
   Surface: Decide/Learn (community docs). */
: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}

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}
.navlabel{
  font:10px var(--mono);letter-spacing:.12em;text-transform:uppercase;
  color:var(--gray400);margin:18px 0 6px;padding:0 10px;
}
nav a.sub{font-size:13px;padding:5px 10px 5px 22px}
.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);
}

main{
  flex:1;min-width:0;
  padding:72px clamp(28px,7vw,110px) 48px;
  max-width:920px;
}
article{max-width:660px}
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:44px 0 12px;
}
p{margin:0 0 16px;color:var(--ink)}
.lead{font-size:18px;line-height:1.75;color:var(--gray600)}
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);
}
.pill{
  display:inline-block;font:10.5px var(--mono);letter-spacing:.08em;
  text-transform:uppercase;color:var(--gray500);
  border:1px solid var(--gray100);border-radius:999px;
  padding:3px 10px;margin-right:6px;
}
.pill.dark{background:var(--ink);color:#fff;border-color:var(--ink)}

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}

.spirit th:nth-child(2),.spirit td:nth-child(2),
.spirit th:nth-child(3),.spirit td:nth-child(3),
.spirit th:nth-child(4),.spirit td:nth-child(4),
.spirit th:nth-child(5),.spirit td:nth-child(5){display:none}

.clock{
  font:13px/1.9 var(--mono);
  background:var(--gray50);
  box-shadow:var(--ring);border-radius:8px;
  padding:20px 24px;margin:22px 0;
  white-space:pre-wrap;overflow-x:auto;color:var(--gray600);
}
.clock b{color:var(--ink);font-weight:500}

.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{
  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}
  .navlabel{display:none}
  .foot{display:none}
  main{padding:40px 20px}
  h1{font-size:30px;letter-spacing:-1px}
  table{display:block;overflow-x:auto}
  td:first-child{white-space:normal}
  .ledger,.clock{font-size:12px;padding:18px 16px}
  .spirit th:nth-child(2),.spirit td:nth-child(2),
  .spirit th:nth-child(3),.spirit td:nth-child(3),
  .spirit th:nth-child(4),.spirit td:nth-child(4),
  .spirit th:nth-child(5),.spirit td:nth-child(5){display:table-cell}
}
