:root{
  --bg:#fbfbf8;
  --ink:#1b1b1b;
  --muted:#4b4b4b;
  --rule:#d9d6cf;
  --link:#0b3d91;
  --soft:#ffffff;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--bg);
  color:var(--ink);
  font:16px/1.65 ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
}
.wrap{max-width:920px;margin:0 auto;padding:30px 18px 70px}
header.site{border-bottom:1px solid var(--rule);padding-bottom:14px;margin-bottom:22px}
.brand{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap}
.brand h1{font-size:28px;line-height:1.2;margin:0;letter-spacing:.2px}
.brand .tag{color:var(--muted);font-size:14px}
nav{margin-top:12px;display:flex;flex-wrap:wrap;gap:10px 16px}
nav a{color:var(--link);text-decoration:none;border-bottom:1px solid transparent}
nav a:hover{border-bottom-color:var(--link)}
main h1{font-size:32px;line-height:1.18;margin:0 0 10px}
main h2{font-size:22px;margin:28px 0 8px}
main h3{font-size:18px;margin:18px 0 6px}
main p{margin:0 0 12px}
hr{border:none;border-top:1px solid var(--rule);margin:22px 0}
.meta{color:var(--muted);font-size:14px}
.callout{
  border:1px solid var(--rule);
  background:var(--soft);
  padding:16px 16px 14px;
  border-radius:12px;
}
ul{margin:8px 0 14px 22px}
li{margin:4px 0}
.footer{
  margin-top:38px;
  padding-top:16px;
  border-top:1px solid var(--rule);
  color:var(--muted);
  font-size:13px;
}
small{color:var(--muted)}
.code{
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 13px;
  background:var(--soft);
  border:1px solid var(--rule);
  padding:10px;
  border-radius:10px;
  overflow:auto;
}
.grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:14px;
  margin:10px 0 18px;
}
.card{
  border:1px solid var(--rule);
  background:var(--soft);
  border-radius:12px;
  padding:14px 14px 12px;
}
.card h3{margin-top:0}
table{border-collapse:collapse;width:100%;margin:10px 0 16px}
th,td{border:1px solid var(--rule);padding:10px;vertical-align:top}
th{background:var(--soft);text-align:left}
.badge{
  display:inline-block;
  font-size:12px;
  color:var(--muted);
  border:1px solid var(--rule);
  border-radius:999px;
  padding:2px 9px;
  margin-left:8px;
}
