/* SPDX-License-Identifier: GPL-3.0-or-later. One stylesheet, no fonts, no scripts. */
:root {
  --bg: #ffffff; --fg: #1d1f21; --muted: #5c6166; --line: #d8dbde;
  --link: #0b57a8; --code: #f3f4f5; --mark: #f4f6f8;
  color-scheme: light dark;
}
@media (prefers-color-scheme: dark) {
  :root { --bg: #16181a; --fg: #e3e5e7; --muted: #a0a6ab; --line: #34383c;
          --link: #7db4f0; --code: #222528; --mark: #1e2124; }
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0; background: var(--bg); color: var(--fg);
  font: 17px/1.6 system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;
}
header, main, footer { max-width: 50rem; margin: 0 auto; padding: 0 1rem; }
header {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: .25rem 1.5rem;
  padding-top: 1rem; padding-bottom: .75rem; border-bottom: 1px solid var(--line);
}
header .name { font-weight: 700; font-size: 1.15rem; color: var(--fg); text-decoration: none; }
nav { display: flex; flex-wrap: wrap; gap: .25rem 1rem; }
nav a { color: var(--muted); text-decoration: none; }
nav a:hover, nav a[aria-current] { color: var(--fg); text-decoration: underline; }
main { padding-top: .5rem; padding-bottom: 2rem; overflow-wrap: break-word; }
footer { border-top: 1px solid var(--line); color: var(--muted); font-size: .9rem; padding-bottom: 2rem; }
a { color: var(--link); }
h1, h2, h3, h4 { line-height: 1.25; margin: 2rem 0 .75rem; }
h1 { font-size: 2rem; margin-top: 1.5rem; }
h2 { font-size: 1.45rem; padding-bottom: .25rem; border-bottom: 1px solid var(--line); }
h3 { font-size: 1.15rem; }
img { max-width: 100%; height: auto; }
code, pre { font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace; font-size: .88em; }
code { background: var(--code); padding: .1em .3em; border-radius: 3px; overflow-wrap: anywhere; }
pre { background: var(--code); padding: .75rem 1rem; overflow-x: auto; border-radius: 4px; }
pre code { padding: 0; background: none; overflow-wrap: normal; }
blockquote { margin: 1rem 0; padding: .25rem 1rem; border-left: 3px solid var(--line);
             background: var(--mark); color: var(--fg); }
.table { overflow-x: auto; margin: 1rem 0; }
table { border-collapse: collapse; font-size: .92rem; }
th, td { border: 1px solid var(--line); padding: .35rem .6rem; vertical-align: top; text-align: left; }
th { background: var(--mark); }
hr { border: 0; border-top: 1px solid var(--line); margin: 2rem 0; }
