:root { color-scheme: dark; --page:#191919; --panel:#202020; --line:#343434; --text:#d4d4d4; --muted:#a1a1a1; --link:#9bbfe3; }
* { box-sizing:border-box; }
html { scroll-padding-top:76px; }
body { margin:0; background:var(--page); color:var(--text); font:15px/1.65 "Segoe UI",system-ui,sans-serif; }
a { color:var(--link); text-underline-offset:3px; }
button,input { font:inherit; }
button { cursor:pointer; }
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible { outline:2px solid #a8c5e1; outline-offset:3px; }
header { height:56px; padding:0 28px; display:flex; align-items:center; gap:22px; border-bottom:1px solid var(--line); background:var(--panel); position:sticky; top:0; z-index:10; }
.brand { display:flex; align-items:center; gap:10px; color:#ededed; text-decoration:none; font-size:16px; font-weight:600; }
.brand img { display:block; opacity:.9; }
.header-label { padding-left:22px; border-left:1px solid #4a4a4a; font-size:14px; color:var(--muted); }
.support-link { margin-left:auto; font-size:13px; text-decoration:none; color:#bcbcbc; }
.support-link:hover { color:#fff; text-decoration:underline; }
#nav-toggle { display:none; }
.shell { display:grid; grid-template-columns:244px minmax(0,1fr); max-width:1440px; margin:auto; }
aside { position:sticky; top:56px; height:calc(100vh - 56px); padding:28px 22px; overflow:auto; border-right:1px solid var(--line); scrollbar-width:thin; scrollbar-color:#4a4a4a transparent; }
.sidebar-title { font-size:13px; font-weight:600; color:#ededed; margin-bottom:16px; }
.search-label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
input { display:block; width:100%; background:#171717; color:var(--text); border:1px solid #484848; border-radius:3px; padding:8px 10px; font-size:13px; }
input::placeholder { color:#929292; }
nav { display:flex; flex-direction:column; gap:1px; margin:22px -10px; }
nav a { padding:7px 10px; border-left:2px solid transparent; font-size:13px; text-decoration:none; color:#b6b6b6; }
nav a:hover { color:#f2f2f2; background:#242424; }
nav a.active { border-left-color:#bcbcbc; background:#292929; color:#f0f0f0; }
.sidebar-foot { margin-top:26px; padding-top:17px; border-top:1px solid var(--line); font-size:12px; color:#999; }
.sidebar-foot a { display:inline-block; margin-top:4px; color:#b5b5b5; }
main { min-width:0; max-width:1010px; padding:0 48px 32px; }
.doc-intro { padding:38px 0 28px; border-bottom:1px solid var(--line); }
.doc-version { margin:0 0 12px; color:#999; font-size:12px; }
h1 { margin:0 0 12px; color:#eee; font-size:30px; font-weight:600; line-height:1.25; letter-spacing:-.5px; }
.doc-intro>p:last-child { margin:0; color:#b2b2b2; }
section { padding:30px 0 34px; border-bottom:1px solid var(--line); }
section[hidden] { display:none; }
h2 { margin:0 0 16px; color:#eee; font-size:23px; line-height:1.35; font-weight:600; }
h3 { margin:24px 0 8px; color:#e5e5e5; font-size:16px; line-height:1.45; font-weight:600; }
p { margin:12px 0; }
.lead { color:#c4c4c4; }
li { margin:9px 0; padding-left:3px; }
strong { color:#e5e5e5; font-weight:600; }
ol,ul { padding-left:22px; }
.steps li { margin:12px 0; }
.note { margin:20px 0 0; padding:1px 0 1px 14px; border-left:2px solid #5f5f5f; font-size:13px; color:#bcbcbc; }
.comparison { margin:18px 0; }
.comparison>div { margin:20px 0; }
.comparison h3 { margin-top:0; }
.comparison p { margin-top:6px; }
figure { margin:22px 0; }
.image-button { display:block; width:100%; margin:0; padding:0; overflow:hidden; background:#161616; border:1px solid #3e3e3e; border-radius:3px; text-align:left; }
.image-button:hover { border-color:#737373; }
figure img { display:block; width:100%; height:auto; max-width:100%; max-height:590px; object-fit:contain; }
figcaption { margin-top:7px; color:#9a9a9a; font-size:12px; }
code { padding:2px 5px; background:#282828; color:#ddd; border-radius:2px; overflow-wrap:anywhere; font:12px/1.6 Consolas,ui-monospace,monospace; }
.table-wrap { margin:20px 0; overflow:auto; border:1px solid #393939; }
table { width:100%; min-width:540px; border-collapse:collapse; text-align:left; font-size:13px; }
td,th { padding:11px 13px; border-bottom:1px solid #363636; vertical-align:top; }
th { background:#242424; color:#e0e0e0; font-weight:600; }
tr:last-child td { border-bottom:0; }
kbd { padding:2px 5px; border:1px solid #535353; border-radius:2px; background:#292929; white-space:nowrap; font:12px Consolas,ui-monospace,monospace; }
details { padding:13px 0; border-bottom:1px solid var(--line); }
summary { cursor:pointer; color:#dedede; font-size:14px; }
details p { margin-left:19px; color:#b6b6b6; font-size:14px; }
footer { display:flex; justify-content:space-between; gap:24px; padding:24px 0 0; color:#949494; font-size:11px; }
footer a { white-space:nowrap; }
.skip { position:fixed; top:-80px; left:20px; z-index:30; padding:8px 12px; background:#252525; }
.skip:focus { top:8px; }
#search-status:empty { display:none; }
#search-status { margin:20px 0 0; color:#bebebe; font-size:13px; }
dialog { max-width:95vw; max-height:95vh; padding:46px 16px 14px; border:1px solid #626262; border-radius:3px; background:#202020; color:var(--text); }
dialog::backdrop { background:#000c; }
dialog img { display:block; max-width:90vw; max-height:78vh; object-fit:contain; }
dialog p { margin:8px 0 0; font-size:12px; }
#close-lightbox { position:absolute; top:9px; right:14px; padding:4px 10px; border:1px solid #575757; border-radius:2px; background:#292929; color:#eee; font-size:12px; }
@media(max-width:1000px) {
  .shell { grid-template-columns:216px minmax(0,1fr); }
  aside { padding:25px 18px; }
  main { padding-right:30px; padding-left:30px; }
}
@media(max-width:720px) {
  header { height:52px; gap:14px; padding:0 18px; }
  .header-label,.support-link { display:none; }
  #nav-toggle { display:block; margin-left:auto; padding:4px 10px; color:#ddd; border:1px solid #555; border-radius:3px; background:#292929; font-size:13px; }
  .shell { display:block; }
  aside { display:none; position:fixed; top:52px; left:0; z-index:12; width:260px; height:calc(100vh - 52px); background:#202020; }
  aside.open { display:block; }
  main { padding:0 22px 26px; }
  .doc-intro { padding:28px 0 24px; }
  h1 { font-size:26px; }
  h2 { font-size:21px; }
  section { padding:26px 0; }
  footer { display:block; }
  footer>a { display:inline-block; margin-top:12px; }
  html { scroll-padding-top:70px; }
}
@media print {
  header,aside,dialog,#search-status { display:none; }
  .shell { display:block; }
  main { padding:0; max-width:none; }
  body { background:white; color:#111; }
  h1,h2,h3,p,li,strong,td,th,.lead { color:#111; }
  section { break-inside:avoid; }
  figure img { max-height:400px; }
}
