:root {
  --bg: #ffffff; --fg: #1b1d21; --muted: #5d6470; --line: #e3e6eb;
  --code-bg: #f4f5f7; --accent: #b0480f; --nav-bg: #fafafa;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg: #15171a; --fg: #e6e8eb; --muted: #9aa1ab; --line: #2a2e34;
    --code-bg: #1e2125; --accent: #f08a4b; --nav-bg: #191b1f;
  }
}
* { box-sizing: border-box; }
body { margin: 0; display: flex; min-height: 100vh; background: var(--bg); color: var(--fg);
  font: 16px/1.55 system-ui, -apple-system, "Segoe UI", sans-serif; }
nav { width: 15rem; flex: none; padding: 1.25rem 1rem; border-right: 1px solid var(--line);
  background: var(--nav-bg); position: sticky; top: 0; height: 100vh; overflow-y: auto; }
nav .home { font-weight: 700; color: var(--fg); text-decoration: none; }
nav ul { list-style: none; padding: 0; margin: 1rem 0 0; }
nav li a { display: block; padding: .15rem 0; color: var(--muted); text-decoration: none;
  font-family: ui-monospace, Menlo, Consolas, monospace; font-size: .875rem; }
nav li a.current, nav li a:hover { color: var(--accent); }
main { flex: 1; min-width: 0; max-width: 56rem; padding: 2rem 2.5rem 4rem; }
h1 { margin-top: 0; font-family: ui-monospace, Menlo, Consolas, monospace; }
h2 { margin-top: 2.5rem; border-bottom: 1px solid var(--line); padding-bottom: .3rem; }
h3 { margin: 0 0 .5rem; font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 1.05rem; }
h3 a { color: var(--fg); text-decoration: none; }
h4 { margin: 1.25rem 0 .5rem; color: var(--muted); font-size: .9rem; text-transform: uppercase; letter-spacing: .04em; }
a { color: var(--accent); }
code, pre { font-family: ui-monospace, Menlo, Consolas, monospace; font-size: .875rem; }
p code, dd code, li code { background: var(--code-bg); padding: .1em .3em; border-radius: 4px; }
pre { background: var(--code-bg); padding: .75rem 1rem; border-radius: 6px; overflow-x: auto; }
.item { padding: 1.25rem 0; border-bottom: 1px solid var(--line); }
.method { margin-left: 1rem; }
dl.fields dt { margin-top: .5rem; }
dl.fields dd { margin-left: 1rem; color: var(--muted); }
dl.fields dd p { margin: 0; }
#search { width: 100%; padding: .6rem .8rem; font-size: 1rem; border: 1px solid var(--line);
  border-radius: 6px; background: var(--bg); color: var(--fg); }
ul.items { list-style: none; padding: 0; }
ul.items li { padding: .3rem 0; color: var(--muted); }
ul.items a { font-family: ui-monospace, Menlo, Consolas, monospace; margin-right: .5rem; }
section#modules dt { margin-top: .75rem; font-family: ui-monospace, Menlo, Consolas, monospace; }
section#modules dd { margin-left: 0; color: var(--muted); }
@media (max-width: 760px) {
  body { display: block; }
  nav { position: static; width: auto; height: auto; border-right: 0; border-bottom: 1px solid var(--line); }
  main { padding: 1.25rem 1rem 3rem; }
}
