
:root{--blue:#2EA3F2;--blue-dark:#1b7fc4;--blue-ink:#0c5c96;--ink:#0e1720;--muted:#5b6672;--faint:#8a97a5;
 --bg:#eef2f7;--card:#fff;--line:#e7ecf3;--wash:#f6f9fc;
 --sh-card:0 0 0 1px rgba(14,23,32,.045), 0 1px 2px rgba(14,23,32,.05), 0 6px 20px rgba(14,23,32,.05)}
*{box-sizing:border-box}
html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
html,body{margin:0}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.65;font-size:15.5px}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@keyframes enter{from{opacity:0;transform:translateY(10px);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}
.app{display:grid;grid-template-columns:300px 1fr;min-height:100vh}
.side{background:#0b1826;color:#c4d0dc;position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column}
.brand{padding:22px 20px 16px}
.brand b{color:#fff;font-size:19px;display:block}.brand span{display:block;color:#6fb2e2;font-size:11.5px;font-weight:600;margin-top:3px}
.search{padding:14px 16px 12px}
.search input{width:100%;border:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);background:#0f1e2e;color:#eef4fb;border-radius:10px;padding:9px 12px;font-size:13.5px;transition:box-shadow .15s ease}
.search input::placeholder{color:#6a7f92}
.search input:focus{outline:0;box-shadow:inset 0 0 0 2px var(--blue)}
.navsec{padding:14px 12px 5px 20px;font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:#5d7286}
.nav a{display:block;padding:8px 20px;color:#c4d0dc;text-decoration:none;font-size:13.5px;border-left:3px solid transparent;
 transition:background .15s ease,color .15s ease,border-color .15s ease;text-wrap:pretty}
.nav a:hover{background:rgba(255,255,255,.045);color:#fff}
.nav a.active{background:linear-gradient(90deg,rgba(46,163,242,.20),rgba(46,163,242,.03));border-left-color:var(--blue);color:#fff;font-weight:600}
.nav a.hide{display:none}
.foot{margin-top:auto;padding:16px 20px;color:#5d7286;font-size:11px;line-height:1.5}
.foot code{color:#8296a8}
.topbar{background:rgba(255,255,255,.86);backdrop-filter:saturate(180%) blur(8px);border-bottom:1px solid var(--line);padding:15px 44px;position:sticky;top:0;z-index:5}
.crumb{font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--blue-ink);font-weight:700}
.main{min-width:0}
.wrap{display:grid;grid-template-columns:minmax(0,74ch) 200px;gap:52px;justify-content:center;align-items:start;padding:36px 48px 96px;animation:enter .4s both}
.wrap.notoc{grid-template-columns:minmax(0,74ch)}
.toc{position:sticky;top:82px;font-size:12.5px;line-height:1.45}
.toctitle{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--faint);font-weight:700;margin-bottom:9px}
.toc a{display:block;color:var(--muted);text-decoration:none;padding:4px 0;text-wrap:pretty;border-left:2px solid transparent;padding-left:12px;margin-left:-12px;transition:color .15s ease,border-color .15s ease}
.toc a:hover{color:var(--blue-dark);border-left-color:var(--blue)}
.toc a.sub{padding-left:24px;font-size:12px;color:var(--faint)}
.doc{max-width:none;min-width:0}
.doc h2,.doc h3{scroll-margin-top:78px}
.doc h1{font-size:30px;line-height:1.15;margin:.1em 0 .55em;letter-spacing:-.015em;text-wrap:balance}
.doc h2{font-size:21px;margin:1.7em 0 .5em;padding-top:1.1em;border-top:1px solid var(--line);letter-spacing:-.01em;text-wrap:balance}
.doc h3{font-size:17.5px;margin:1.4em 0 .35em;letter-spacing:-.005em;text-wrap:balance}
.doc h4{font-size:14.5px;margin:1.1em 0 .2em;color:#33404d}
.doc p,.doc li{font-size:15.5px;color:#28313b;text-wrap:pretty}
.doc p{margin:.7em 0}
.doc a{color:var(--blue-dark);text-underline-offset:2px}
.doc strong{color:var(--ink)}
.doc code{background:#eef3f8;padding:1px 6px;border-radius:6px;font-size:13.5px}
.doc pre{background:#0b1826;color:#cfe4f5;padding:15px 17px;border-radius:12px;overflow-x:auto;box-shadow:var(--sh-card);line-height:1.55}
.doc pre code{background:none;color:inherit;padding:0}
.doc blockquote{margin:16px 0;padding:12px 17px;background:#e9f5fe;border-radius:12px;color:#28313b;box-shadow:inset 0 0 0 1px rgba(46,163,242,.16)}
.doc blockquote p{margin:6px 0}
.doc table{border-collapse:separate;border-spacing:0;width:100%;margin:16px 0;font-size:13.5px;display:block;overflow-x:auto;
 box-shadow:var(--sh-card);border-radius:12px}
.doc th,.doc td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:9px 12px;text-align:left;vertical-align:top}
.doc tr:last-child td{border-bottom:0}.doc th:last-child,.doc td:last-child{border-right:0}
.doc th{background:var(--wash);font-weight:600;color:#33404d}
.doc hr{border:0;border-top:1px solid var(--line);margin:26px 0}
.doc ul,.doc ol{padding-left:22px}.doc li{margin:5px 0}
.doc input[type=checkbox]{width:16px;height:16px;accent-color:var(--blue);margin-right:7px}
.noresults{padding:8px 20px;color:#6a7f92;display:none;font-size:13px}
@media(max-width:1140px){.toc{display:none}.wrap,.wrap.notoc{grid-template-columns:minmax(0,74ch)}}
@media(max-width:840px){.app{grid-template-columns:1fr}.side{position:static;height:auto}.wrap,.wrap.notoc{padding:24px 20px 72px}.topbar{padding:13px 20px}}
