:root{--bg: #fff;--fg: #1a1a1a;--mut: #666;--bd: #ddd;--side: #f5f5f5;--acc: #0b5fd6;--code: #eee;--hl-kw: #0b5fd6;--hl-reg: #8250df;--hl-num: #0a7d6e;--hl-str: #b35900;--hl-meta: #b0175e;--hl-title: #1a1a1a}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #000;--fg: #efe9d6;--mut: #888;--bd: #222;--side: #000;--acc: #6ab0ff;--code: #111;--hl-kw: #6ab0ff;--hl-reg: #c9a0ff;--hl-num: #5fd8c0;--hl-str: #ffb170;--hl-meta: #ff8cc6;--hl-title: #efe9d6}}:root[data-theme=dark]{--bg: #000;--fg: #efe9d6;--mut: #888;--bd: #222;--side: #000;--acc: #6ab0ff;--code: #111;--hl-kw: #6ab0ff;--hl-reg: #c9a0ff;--hl-num: #5fd8c0;--hl-str: #ffb170;--hl-meta: #ff8cc6;--hl-title: #efe9d6}:root{color-scheme:light dark}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{background:var(--bg);color:var(--fg);font:14px/1.6 JetBrains Mono,ui-monospace,monospace;-webkit-text-size-adjust:100%}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}a{color:var(--acc)}.bar{position:fixed;inset:0 0 auto 0;z-index:3;height:44px;display:flex;align-items:center;gap:4px;padding:0 4px;background:var(--bg);border-bottom:1px solid var(--bd);font-family:Atkinson Hyperlegible,system-ui,sans-serif}.bar button{min-width:44px;height:44px;font-size:18px}.bar .title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--mut);font-size:16px}nav{position:fixed;top:44px;bottom:0;left:0;z-index:2;width:min(85%,340px);overflow:auto;font-family:Atkinson Hyperlegible,system-ui,sans-serif;font-size:16px;background:var(--side);border-right:1px solid var(--bd);transform:translate(-100%);transition:transform .15s;padding:4px 0}nav.open{transform:none}nav ul{list-style:none;margin:0;padding:0}nav .sub{margin-left:14px;border-left:1px solid var(--bd)}nav a,nav button{display:block;width:100%;padding:10px 12px;text-align:left;color:var(--fg);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}nav a.cur{color:var(--acc);font-weight:700}main{height:100%;overflow:auto;padding:60px 16px 32px;-webkit-overflow-scrolling:touch}.doc{margin:0;overflow-wrap:break-word;font-family:Atkinson Hyperlegible,system-ui,sans-serif;font-size:16px}.doc.raw,.doc code,.doc pre{font-family:JetBrains Mono,ui-monospace,monospace}.doc h1,.doc h2,.doc h3{line-height:1.25}.doc h1{font-size:1.5em}.doc h2{font-size:1.25em;border-bottom:1px solid var(--bd);padding-bottom:.2em}.doc img,.doc svg{max-width:100%;height:auto}.doc code{background:var(--code);padding:1px 4px;border-radius:3px;font-size:.92em}.doc pre{background:var(--code);padding:12px;overflow:auto;font-size:14px;line-height:1.5}.doc pre code{padding:0;background:none}.doc .code{display:flex;background:var(--code)}.doc .code pre{margin:0}.doc .code pre.gutter{overflow:hidden;background:none;color:var(--mut);text-align:right;-webkit-user-select:none;user-select:none;padding-right:10px;border-right:1px solid var(--bd)}.doc .code pre:not(.gutter){flex:1;min-width:0;background:none}.doc .hljs-comment{color:var(--mut);font-style:italic}.doc .hljs-keyword{color:var(--hl-kw);font-weight:700}.doc .hljs-built_in{color:var(--hl-reg)}.doc .hljs-number{color:var(--hl-num)}.doc .hljs-string{color:var(--hl-str)}.doc .hljs-meta{color:var(--hl-meta)}.doc .hljs-title{color:var(--hl-title);font-weight:700}.doc .hljs-symbol{color:var(--mut)}.doc .label-ref{color:var(--acc);cursor:pointer;text-decoration:underline dotted}.doc table{border-collapse:collapse;display:block;overflow:auto}.doc th,.doc td{border:1px solid var(--bd);padding:4px 8px}.doc blockquote{margin:0;padding:0 1em;border-left:3px solid var(--bd);color:var(--mut)}.doc hr{border:0;border-top:1px solid var(--bd)}.doc summary{cursor:pointer}.doc.raw pre{margin:0;min-height:calc(100vh - 92px)}.bar button.side{display:none}@media(min-width:800px){.bar button.menu{display:none}.bar button.side{display:inline-block}nav{transform:none;width:300px}nav.collapsed{transform:translate(-100%)}main{margin-left:300px;padding:60px 40px 32px}main.full{margin-left:0}}
