:root {
  --bg: #ffffff; --fg: #1d1d1f; --muted: #5f6368; --line: #e3e3e6;
  --code-bg: #f4f4f6; --link: #0b57d0; --nav-bg: #fafafb;
  color-scheme: light dark;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg: #16171a; --fg: #e6e6e9; --muted: #a0a3a8; --line: #2c2e33;
    --code-bg: #212328; --link: #8ab4f8; --nav-bg: #1b1c20;
  }
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0; background: var(--bg); color: var(--fg);
  font: 16px/1.55 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}
a { color: var(--link); }
header {
  position: sticky; top: 0; z-index: 2; display: flex; gap: 12px; align-items: center;
  padding: 10px 16px; background: var(--nav-bg); border-bottom: 1px solid var(--line);
}
header a { color: var(--fg); font-weight: 600; text-decoration: none; }
header label { cursor: pointer; font-size: 20px; line-height: 1; }
nav {
  display: none; padding: 8px 0; background: var(--nav-bg); border-bottom: 1px solid var(--line);
}
#menu:checked ~ nav { display: block; }
nav a { display: block; padding: 7px 16px; color: var(--fg); text-decoration: none; }
nav a[aria-current] { font-weight: 600; color: var(--link); }
main { max-width: 820px; padding: 8px 16px 64px; margin: 0 auto; }
h1 { font-size: 1.7em; margin: .6em 0 .4em; }
h2 { font-size: 1.25em; margin: 1.6em 0 .4em; padding-top: .4em; border-top: 1px solid var(--line); }
h3 { font-size: 1.05em; margin: 1.3em 0 .3em; }
p, li { max-width: 72ch; }
code { font: .9em ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; background: var(--code-bg); padding: .1em .3em; border-radius: 4px; }
pre { background: var(--code-bg); padding: 10px 12px; border-radius: 6px; overflow-x: auto; }
pre code { padding: 0; background: none; font-size: .85em; }
.t { overflow-x: auto; }
table { border-collapse: collapse; margin: .6em 0; font-size: .92em; }
th, td { text-align: left; vertical-align: top; padding: 6px 10px; border-bottom: 1px solid var(--line); }
th { color: var(--muted); font-weight: 600; }
td:first-child code { white-space: nowrap; }
@media (min-width: 900px) {
  header label { display: none; }
  nav {
    display: block; position: fixed; top: 45px; bottom: 0; left: 0; width: 230px;
    overflow-y: auto; border-bottom: 0; border-right: 1px solid var(--line);
  }
  main { margin-left: 230px; padding: 8px 40px 64px; max-width: 900px; }
}
