/* axby.world — mathematician aesthetic (notes-first, print-friendly) */
:root{
  --paper:#fbfbf8;
  --ink:#151515;
  --muted:#5a5a5a;
  --rule:#d8d8d0;
  --accent:#0a4a9a;
  --accent2:#6a3ea1;
  --codebg:#f3f3ee;

  --serif: ui-serif, "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;
  --sans: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  --mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono","Courier New", monospace;

  --max: 980px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--serif);
  line-height:1.55;
  text-rendering: optimizeLegibility;
}

a{color:var(--accent); text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:var(--max); margin:0 auto; padding:34px 22px 56px}

.header{
  border-bottom:1px solid var(--rule);
  padding:26px 0 14px;
}
.title{
  display:flex; align-items:baseline; justify-content:space-between; gap:12px;
  flex-wrap:wrap;
}
.title h1{
  margin:0;
  font-weight:700;
  font-size:28px;
  letter-spacing:.2px;
}
.subtitle{
  font-family: var(--sans);
  color: var(--muted);
  font-size:13px;
  margin-top:8px;
}

.nav{
  display:flex; gap:14px; flex-wrap:wrap;
  margin-top:14px;
  font-family: var(--sans);
  font-size:14px;
}
.nav a{
  color: var(--ink);
  padding:4px 0;
  border-bottom: 2px solid transparent;
}
.nav a.active{
  border-bottom-color: var(--accent);
}
.nav a:hover{
  border-bottom-color: var(--accent2);
  text-decoration:none;
}

.kicker{
  font-family: var(--sans);
  color: var(--muted);
  font-size:13px;
  margin-top:4px;
}

.lede{
  margin:18px 0 16px;
  font-size:16px;
  color: var(--ink);
}
.lede b{font-weight:700}

hr.sep{
  border:0;
  border-top:1px solid var(--rule);
  margin:26px 0;
}

.grid{
  display:grid;
  grid-template-columns: 1.35fr .65fr;
  gap:24px;
}
@media (max-width: 900px){
  .grid{grid-template-columns:1fr}
}

.side{
  font-family: var(--sans);
  font-size:13px;
  color: var(--muted);
}
.side .box{
  border-left:3px solid var(--rule);
  padding-left:14px;
  margin-bottom:16px;
}
.kv b{display:block; color:var(--ink); font-weight:600; margin-bottom:3px}
.kv span{display:block}

.prose h1{font-size:24px; margin:0 0 10px}
.prose h2{font-size:17px; margin:18px 0 8px}
.prose h3{font-size:15px; margin:14px 0 6px}
.prose p{margin:10px 0; color: var(--ink)}
.prose ul{margin:10px 0 10px 18px}
.prose li{margin:6px 0}
.small{font-family: var(--sans); font-size:13px; color: var(--muted)}
.mono{font-family: var(--mono)}
.badge{
  display:inline-block;
  font-family: var(--sans);
  font-size:12px;
  color: var(--muted);
  border:1px solid var(--rule);
  padding:3px 8px;
  border-radius:999px;
}

blockquote{
  margin:14px 0;
  padding:10px 14px;
  border-left: 3px solid var(--rule);
  background: rgba(0,0,0,.02);
  color: var(--muted);
}

/* theorem-like blocks: minimal, TeX-note style */
.thm{
  margin:16px 0;
  padding:12px 14px;
  border-left: 3px solid var(--accent);
  background: rgba(10,74,154,.03);
}
.thm .head{
  font-family: var(--sans);
  font-size:13px;
  display:flex; justify-content:space-between; gap:10px; flex-wrap:wrap;
  margin-bottom:8px;
}
.thm .label{
  color: var(--ink);
  font-weight:700;
}
.thm .meta{
  color: var(--muted);
}
.thm .body{color: var(--ink)}
.thm .body p{margin:8px 0}
.thm.emph{
  border-left-color: var(--accent2);
  background: rgba(106,62,161,.03);
}

.figure{
  margin:14px 0;
  padding:10px 14px;
  border:1px solid var(--rule);
  background: rgba(0,0,0,.015);
}
.figure .cap{
  font-family: var(--sans);
  font-size:12px;
  color: var(--muted);
  margin-top:8px;
}

/* code */
pre{
  background: var(--codebg);
  border:1px solid var(--rule);
  padding:12px 14px;
  overflow:auto;
  font-family: var(--mono);
  font-size: 13px;
  line-height:1.45;
}
code{font-family: var(--mono); font-size: 0.95em}

/* tables */
table{
  width:100%;
  border-collapse: collapse;
  font-family: var(--sans);
  font-size: 13px;
}
th, td{
  border-top:1px solid var(--rule);
  padding:10px 8px;
  vertical-align: top;
}
th{font-weight:700; text-align:left}

/* footer */
.footer{
  border-top:1px solid var(--rule);
  margin-top:34px;
  padding-top:14px;
  font-family: var(--sans);
  color: var(--muted);
  font-size:13px;
}

/* print-friendly */
@media print{
  body{background:white}
  .nav, .kicker {display:none}
  a{color:var(--ink); text-decoration:none}
  .container{padding:0 0 0}
  .header{padding:0 0 10px}
  .thm{break-inside:avoid}
  pre{white-space:pre-wrap}
}
