:root {
  color-scheme: dark;
  font-family: "Segoe UI", system-ui, sans-serif;
  font-size: 16px;
  line-height: 1.65;
  background: #151618;
  color: #e7e7e9;
}

* { box-sizing: border-box; }
body { margin: 0; }
a { color: #f4f4f5; text-underline-offset: 0.2em; }
a:hover { color: #c9c9ce; }
a:focus-visible, main:focus-visible { outline: 2px solid #e7e7e9; outline-offset: 4px; }
.skip-link { position: absolute; top: -5rem; left: 1rem; padding: 0.6rem 1rem; background: #151618; z-index: 2; }
.skip-link:focus { top: 0.5rem; }
.site-header { display: flex; align-items: center; gap: 1.5rem; padding: 1rem 2rem; border-bottom: 1px solid #383a3e; }
.site-header .brand { font-size: 1.1rem; font-weight: 700; text-decoration: none; }
.site-header span { color: #b0b1b7; flex: 1; }
.layout { display: grid; grid-template-columns: 18rem minmax(0, 1fr); max-width: 92rem; margin: 0 auto; }
.sidebar { padding: 1.4rem 1.5rem; border-right: 1px solid #383a3e; }
.sidebar h2 { font-size: 0.9rem; margin: 1.2rem 0 0.4rem; color: #b0b1b7; }
.sidebar h2:first-child { margin-top: 0; }
.sidebar ul { padding: 0; margin: 0; list-style: none; }
.sidebar li { margin: 0.15rem 0; }
.sidebar a { display: block; padding: 0.2rem 0.5rem; border-radius: 0.25rem; font-size: 0.9rem; text-decoration: none; }
.sidebar a:hover, .sidebar a[aria-current="page"] { background: #2a2c30; color: #fff; }
main { min-width: 0; padding: 2.3rem clamp(1rem, 4vw, 4rem); max-width: 74rem; }
h1, h2, h3, h4, h5, h6 { line-height: 1.3; scroll-margin-top: 1rem; }
h1 { font-size: clamp(1.6rem, 3vw, 2.2rem); margin-top: 0; }
h2 { font-size: 1.35rem; margin-top: 2rem; }
h3 { font-size: 1.1rem; }
p, ul, ol { margin-top: 0.8rem; margin-bottom: 0.8rem; }
li { margin: 0.3rem 0; }
code, pre { font-family: Consolas, "SFMono-Regular", monospace; font-size: 0.9em; }
code { background: #25272b; padding: 0.12rem 0.3rem; border-radius: 0.2rem; overflow-wrap: anywhere; }
pre { padding: 1rem; background: #202226; border: 1px solid #383a3e; border-radius: 0.4rem; overflow-x: auto; }
pre code { background: transparent; padding: 0; overflow-wrap: normal; }
blockquote, .route-note { margin: 1rem 0; padding: 0.6rem 1rem; border-left: 3px solid #92949c; background: #202226; }
table { display: block; width: 100%; overflow-x: auto; border-collapse: collapse; margin: 1.2rem 0; }
th, td { text-align: left; vertical-align: top; padding: 0.65rem 0.8rem; border: 1px solid #45474d; min-width: 9rem; }
th { background: #25272b; }
hr { border: 0; border-top: 1px solid #45474d; margin: 2rem 0; }
footer { border-top: 1px solid #383a3e; margin-top: 2.5rem; padding-top: 1rem; color: #b0b1b7; font-size: 0.85rem; }
footer p { margin-top: 0; }
@media (max-width: 760px) {
  .site-header { padding: 1rem; gap: 0.8rem; flex-wrap: wrap; }
  .site-header span { display: none; }
  .layout { display: block; }
  .sidebar { border-right: 0; border-bottom: 1px solid #383a3e; padding: 1rem; }
  .sidebar ul { display: flex; flex-wrap: wrap; gap: 0.2rem 0.5rem; }
  main { padding: 1.5rem 1rem; }
}
@media print {
  :root { color-scheme: light; color: #111; background: #fff; }
  a { color: #111; }
  .sidebar, .site-header, .skip-link { display: none; }
  .layout { display: block; }
  main { padding: 0; max-width: none; }
  pre, code, blockquote, .route-note, th { background: #eee; }
  pre { white-space: pre-wrap; }
}
