/* Restrained documentation; no external fonts or layout dependencies. */
:root{--bg:#f8f9fa;--surface:#fff;--ink:#20262c;--muted:#586470;--line:#dbe0e5;--accent:#245c85;--soft:#eef3f7;--code:#f5f7f9;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:light}
html[data-theme=dark]{--bg:#161b21;--surface:#1d242c;--ink:#ecf0f4;--muted:#b5c0cb;--line:#3a4653;--accent:#9bcbea;--soft:#293542;--code:#161b21;color-scheme:dark}
*{box-sizing:border-box}html{scroll-padding-top:80px}body{margin:0;background:var(--bg);color:var(--ink);font-size:16px;line-height:1.65}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,input{font:inherit}button{color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:4px;min-height:44px;padding:6px 12px;cursor:pointer}button:hover{background:var(--soft)}a,button,input,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--accent);outline-offset:3px}h1,h2,p{margin-top:0}h1{font-size:36px;line-height:1.2;letter-spacing:-.03em;margin-bottom:18px}h2{font-size:22px;line-height:1.35;letter-spacing:-.015em;margin-bottom:12px}p{margin-bottom:18px}code,kbd{font-family:ui-monospace,"SFMono-Regular",Consolas,monospace;font-size:.85em}kbd{border:1px solid var(--line);padding:2px 4px;border-radius:3px;font-size:11px}.header{height:68px;display:flex;align-items:center;gap:24px;padding:0 28px;background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.brand{font-weight:750;font-size:20px;color:var(--ink);letter-spacing:.02em}.header-note{color:var(--muted);font-size:13px}.tools{display:flex;align-items:center;gap:8px;margin-left:auto}.search-open{display:flex;align-items:center;gap:22px;font-size:13px}.theme,.menu{width:44px;padding:0;font-size:20px}.menu{display:none}.skip{position:fixed;top:8px;left:8px;transform:translateY(-150%);background:var(--surface);padding:8px 18px;z-index:50}.skip:focus{transform:none}
.docs-layout{display:grid;grid-template-columns:215px minmax(0,820px) 210px;max-width:1320px;margin:auto;min-height:70vh}#docs-nav{padding:28px 14px;position:sticky;top:68px;height:calc(100vh - 68px);overflow:auto;border-right:1px solid var(--line)}#docs-nav a{display:block;color:var(--muted);font-size:13px;line-height:1.45;padding:10px;margin:0 0 2px;border-radius:4px}#docs-nav a[aria-current=page]{background:var(--soft);color:var(--accent);font-weight:600}.nav-group{font-size:11px;color:var(--muted);margin:0 10px 12px}.article{min-width:0;padding:36px 40px 48px;background:var(--surface)}.lede{font-size:19px;line-height:1.6;max-width:68ch;margin-bottom:24px}.article section{padding:24px 0;border-top:1px solid var(--line);scroll-margin-top:90px}.article section p{max-width:72ch}.heading-anchor{color:var(--ink)}.heading-anchor:hover::after{content:" #";color:var(--muted)}.inline-link{display:inline-block;font-size:13px;margin:0 18px 10px 0;text-decoration:underline;text-underline-offset:3px}.toc{padding:30px 18px;font-size:12px;border-left:1px solid var(--line)}.toc nav{position:sticky;top:96px}.toc p{font-size:11px;color:var(--muted);margin-bottom:10px}.toc a{display:block;color:var(--muted);line-height:1.45;padding:6px 0}.toc a[aria-current=location]{color:var(--accent);font-weight:600}.table-scroll{overflow:auto;max-width:100%;min-width:0;margin:14px 0 20px;border:1px solid var(--line);border-radius:4px}table{width:100%;min-width:650px;border-collapse:collapse;font-size:13px;line-height:1.6}th,td{padding:12px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}th{font-weight:600;background:var(--soft)}td{overflow-wrap:anywhere}tr:last-child td{border-bottom:0}.code-block{max-width:100%;min-width:0;background:var(--code);border:1px solid var(--line);border-radius:4px;margin:14px 0 20px;overflow:hidden}.code-top{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;border-bottom:1px solid var(--line);font-size:11px;color:var(--muted)}.code-top button{font-size:12px;min-height:36px;padding:3px 10px}pre{margin:0;padding:16px;overflow:auto;font-size:13px;line-height:1.65}pre code{font-size:inherit}.copy-status{display:block;font-size:12px;padding:0 12px}.copy-status:not(:empty){padding:8px 12px}.file-map-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.15fr);gap:16px;align-items:start}.file-map-grid pre{font-size:11px}.file-map-grid table{min-width:750px}.file-links{display:flex;flex-wrap:wrap;gap:0 10px}.file-links a{font-family:ui-monospace,monospace;font-size:11px;overflow-wrap:anywhere;max-width:100%;margin-right:0}.file-flow{margin:20px 0;border:1px solid var(--line);padding:16px;border-radius:4px}.flow-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:12px;margin-bottom:12px}.flow-row span{padding:8px;background:var(--soft);border-radius:4px}figcaption{font-size:12px;color:var(--muted);line-height:1.6}.source-note{margin-top:22px;padding:16px 0;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}summary{cursor:pointer;color:var(--accent)}.source-note p{margin-top:14px}.source-note ul{padding-left:20px}.source-note code{overflow-wrap:anywhere}.pagination{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:22px;font-size:13px}.pagination small{display:block;color:var(--muted);margin-bottom:4px}.footer{max-width:1320px;margin:auto;padding:22px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.footer p{margin:0}.tejl{display:flex;align-items:center;flex-wrap:wrap;gap:12px;font-size:11px}.tejl img{display:block;object-fit:contain}.not-found{max-width:800px;margin:auto;min-height:65vh;padding:60px 30px}
dialog{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:24px;width:min(680px,calc(100vw - 30px));max-height:80vh}dialog::backdrop{background:rgb(10 16 23 / .7)}.search-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:15px}.search-heading h2{margin:0}.search-heading button{font-size:24px;width:44px;padding:0}dialog label{display:block;font-size:13px;margin-bottom:8px}dialog input{display:block;width:100%;border:1px solid var(--line);color:var(--ink);background:var(--bg);padding:12px 14px;min-height:44px}#search-status{font-size:12px;color:var(--muted);margin:12px 0}#search-results{max-height:44vh;overflow:auto}.search-result{display:block;border-top:1px solid var(--line);padding:12px 8px}.search-result strong,.search-result span{display:block}.search-result strong{font-size:15px}.search-result span{font-size:11px;color:var(--accent);margin:3px 0}.search-result p{font-size:12px;color:var(--muted);margin:0}.search-result:hover,.search-result:focus{background:var(--soft)}dialog small{display:block;margin-top:12px;font-size:11px;color:var(--muted)}
@media(max-width:1200px){.docs-layout{grid-template-columns:200px minmax(0,1fr)}.toc{display:none}.article{padding:32px}.file-map-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:800px){.header{height:64px;padding:0 18px;gap:12px}.header-note{display:none}.menu{display:block}.search-open{min-width:44px;padding:0 9px;gap:8px}.search-open kbd{display:none}.tools{gap:6px}.docs-layout{display:block}.article{padding:28px 22px 36px}#docs-nav{display:none;position:fixed;top:64px;left:0;bottom:0;height:calc(100vh - 64px);width:280px;max-width:85vw;background:var(--surface);z-index:19;box-shadow:12px 0 40px rgb(0 0 0 / .16)}body.nav-open #docs-nav{display:block}#docs-nav a{min-height:44px;display:flex;align-items:center}.footer{flex-wrap:wrap;padding:22px}.article section{padding:22px 0}h1{font-size:30px}.lede{font-size:18px}h2{font-size:20px}.inline-link{min-height:44px;padding:9px 0;margin-bottom:0}.code-top button{min-height:44px}pre{font-size:12px;padding:14px}.file-map-grid{display:block}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{.header,#docs-nav,.toc,.tools,.footer,dialog,.copy{display:none}.docs-layout{display:block}.article{padding:0;background:white;color:black}body{background:white;font-size:12pt}.table-scroll{overflow:visible}pre{white-space:pre-wrap}.article section{break-inside:avoid}}
