:root {
  --bg:#fff; --fg:#141414; --muted:#5f6b7a; --line:#e6e8eb; --accent:#1f7a4d; --card:#f7f8f9;
}
@media (prefers-color-scheme: dark) {
  :root { --bg:#111315; --fg:#e9ecef; --muted:#9aa5b1; --line:#262a2e; --accent:#4ade80; --card:#191c1f; }
}
* { box-sizing:border-box; }
body {
  margin:0; background:var(--bg); color:var(--fg);
  font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
.wrap { max-width:800px; margin:0 auto; padding:32px 20px 80px; }
header {
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding-bottom:18px; border-bottom:1px solid var(--line); margin-bottom:26px; flex-wrap:wrap;
}
.brand { font-weight:700; font-size:19px; letter-spacing:-.01em; }
.brand a { color:inherit; text-decoration:none; }
.langs { display:flex; gap:6px; }
.langs button {
  font:inherit; font-size:14px; padding:6px 12px; border-radius:999px;
  border:1px solid var(--line); background:transparent; color:var(--muted); cursor:pointer;
}
.langs button:hover { border-color:var(--accent); color:var(--accent); }
.langs button[aria-pressed="true"] { background:var(--accent); border-color:var(--accent); color:#fff; }
@media (prefers-color-scheme: dark) { .langs button[aria-pressed="true"] { color:#0b0f0c; } }

nav.docs { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:30px; }
nav.docs a {
  font-size:14px; padding:7px 13px; border:1px solid var(--line); border-radius:8px;
  color:var(--muted); text-decoration:none;
}
nav.docs a:hover { border-color:var(--accent); color:var(--accent); }
nav.docs a[aria-current="page"] { background:var(--card); color:var(--fg); border-color:var(--fg); }

h1 { font-size:28px; line-height:1.25; margin:0 0 6px; letter-spacing:-.02em; }
h2 { font-size:19px; margin:34px 0 10px; letter-spacing:-.01em; }
h3 { font-size:16px; margin:22px 0 6px; }
.upd { color:var(--muted); font-size:14px; margin:0 0 26px; }
p, li { color:var(--fg); }
ul, ol { padding-left:22px; }
li { margin:5px 0; }
a { color:var(--accent); }
.note {
  background:var(--card); border:1px solid var(--line); border-radius:10px;
  padding:14px 16px; margin:18px 0; font-size:15px;
}
table { width:100%; border-collapse:collapse; margin:14px 0; font-size:15px; display:block; overflow-x:auto; }
th, td { text-align:left; padding:9px 10px; border-bottom:1px solid var(--line); vertical-align:top; }
th { color:var(--muted); font-weight:600; }
dl.req { margin:16px 0; }
dl.req div { display:flex; gap:14px; padding:10px 0; border-bottom:1px solid var(--line); flex-wrap:wrap; }
dl.req dt { color:var(--muted); min-width:190px; margin:0; }
dl.req dd { margin:0; font-weight:500; }
footer { margin-top:48px; padding-top:20px; border-top:1px solid var(--line); color:var(--muted); font-size:14px; }
footer a { color:var(--muted); }
[hidden] { display:none !important; }
