:root{--ink:#1b1b2b;--bg:#fbfbfd;--panel:#f4f4f8;--accent:#5b4bd6;--muted:#6a6a80;--line:#e7e7f0;--code:#f0f0f6;--active:#ece9ff;--pagefind-ui-scale:.72;--pagefind-ui-primary:var(--accent);--pagefind-ui-text:var(--ink);--pagefind-ui-background:var(--bg);--pagefind-ui-border:var(--line);--pagefind-ui-font:inherit;--pagefind-ui-border-radius:8px;--pagefind-ui-border-width:1px}:root[data-theme=dark]{--ink:#e9e9f2;--bg:#101019;--panel:#161624;--accent:#a99bff;--muted:#8a8aa2;--line:#262638;--code:#1a1a2b;--active:#211d3a}@media (prefers-color-scheme:dark){:root:not([data-theme]){--ink:#e9e9f2;--bg:#101019;--panel:#161624;--accent:#a99bff;--muted:#8a8aa2;--line:#262638;--code:#1a1a2b;--active:#211d3a}}*{box-sizing:border-box}body{color:var(--ink);background:var(--bg);margin:0;font:16px/1.65 -apple-system,system-ui,sans-serif}a{color:inherit;text-decoration:none}#nav-toggle{display:none}.layout{grid-template-columns:250px minmax(0,1fr) 180px;gap:0;max-width:1200px;margin:0 auto;display:grid}.sidebar{border-right:1px solid var(--line);background:var(--panel);align-self:start;height:100vh;padding:1.75rem 1.25rem;position:sticky;top:0;overflow-y:auto}.brand-row{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.brand{letter-spacing:-.01em;align-items:center;gap:.55rem;font-weight:700;display:flex}.brand img{border-radius:6px;display:block;box-shadow:0 1px 4px #00000026}.theme-toggle{border:1px solid var(--line);width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border-radius:7px;flex:none;font-size:.95rem;line-height:1}.theme-toggle:hover{color:var(--ink);border-color:var(--accent)}.jdex-link{color:var(--muted);margin-bottom:1.5rem;font-size:.8rem;display:block}.jdex-link:hover{color:var(--accent)}.search{margin-bottom:1.5rem}.area{margin-bottom:1.4rem}.area-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:.5rem;font-size:.7rem;font-weight:700;display:block}.sidebar ul{margin:0 0 .6rem;padding:0;list-style:none}.sidebar li{margin:.1rem 0}.entry{color:var(--muted);border-radius:6px;padding:.28rem .5rem;font-size:.88rem;display:block}.entry:hover{color:var(--ink);background:color-mix(in srgb, var(--accent) 8%, transparent)}.entry.active{color:var(--ink);background:var(--active);font-weight:600}.entry .num{color:var(--accent);margin-right:.35rem;font:.78rem ui-monospace,monospace}.content{min-width:0;padding:2.5rem 2.5rem 6rem}.hamburger{display:none}.crumbs{color:var(--muted);margin-bottom:1.5rem;font:.78rem ui-monospace,monospace}.updated{float:right;color:var(--muted)}.anchor{opacity:0;color:var(--muted);margin-left:.4rem;font-weight:400;text-decoration:none}h2:hover .anchor,h3:hover .anchor,h4:hover .anchor{opacity:1}.connections{background:var(--panel);border:1px solid var(--line);border-radius:10px;margin-top:3rem;padding:1.1rem 1.25rem}.conn-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:.75rem;font-size:.68rem;font-weight:700;display:block}.conn-group{margin-bottom:.6rem}.conn-group>span{color:var(--muted);font:.78rem ui-monospace,monospace}.connections ul{flex-wrap:wrap;gap:.5rem;margin:.4rem 0 0;padding:0;list-style:none;display:flex}.connections li a{color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);border-radius:6px;padding:.2rem .6rem;font-size:.85rem}.connections li a:hover{text-decoration:underline}article{min-width:0}h1{letter-spacing:-.02em;margin-top:0;font-size:2rem;line-height:1.15}h2{border-top:1px solid var(--line);margin-top:2.5rem;padding-top:.5rem}h1,h2,h3,h4{scroll-margin-top:1rem}code{background:var(--code);border-radius:5px;padding:.15em .4em;font:.85em ui-monospace,SF Mono,monospace}pre{background:var(--code);border:1px solid var(--line);border-radius:10px;padding:1rem 1.1rem;position:relative;overflow-x:auto}pre code{background:0 0;padding:0}pre .copy{color:var(--muted);background:var(--bg);border:1px solid var(--line);cursor:pointer;opacity:0;border-radius:5px;padding:.15rem .5rem;font:.72rem ui-monospace,monospace;transition:opacity .12s;position:absolute;top:.5rem;right:.5rem}pre:hover .copy{opacity:1}.tangled{color:var(--accent);opacity:.9;margin-top:-.7rem;font:.78rem ui-monospace,monospace}.code-filename{color:var(--muted);background:var(--panel);border:1px solid var(--line);border-bottom:none;border-radius:8px 8px 0 0;margin:0 0 -.7rem;padding:.4rem .9rem;font:.75rem ui-monospace,monospace}.astro-code .line.highlighted{background:color-mix(in srgb, var(--accent) 16%, transparent);width:100%;display:inline-block}.admonition{border:1px solid var(--line);border-left:3px solid var(--accent);background:var(--panel);border-radius:10px;margin:1.5rem 0;padding:.9rem 1.1rem}.admonition-label{text-transform:uppercase;letter-spacing:.05em;color:var(--accent);margin:0 0 .4rem;font:.72rem ui-monospace,monospace}.admonition>:last-child{margin-bottom:0}.admonition.warning{border-left-color:#d99a00}.admonition.warning .admonition-label{color:#d99a00}.admonition.danger{border-left-color:#d9484b}.admonition.danger .admonition-label{color:#d9484b}.admonition.tip{border-left-color:#2faa6a}.admonition.tip .admonition-label{color:#2faa6a}.tabs{margin:1.5rem 0}.tab-bar{border-bottom:1px solid var(--line);gap:.25rem;display:flex}.tab{color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.4rem .75rem;font:.8rem ui-monospace,monospace}.tab.active{color:var(--ink);border-bottom-color:var(--accent)}.tab-panel{display:none}.tab-panel.active{display:block}.tab-panel pre{border-top-left-radius:0}.capture,.trace{border:1px solid var(--line);border-radius:10px;margin:1.5rem 0;font:.85rem ui-monospace,monospace;overflow:hidden}.capture-head{background:var(--panel);border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:1rem;padding:.5rem .9rem;font-size:.76rem;display:flex}.capture-channel{color:var(--accent);white-space:nowrap}.log-line{background:var(--code);white-space:pre-wrap;word-break:break-all;border-radius:6px;margin:.5rem .9rem;padding:.4rem .6rem;font-size:.8rem}.log-line.err{color:#d9484b}.trace-row{border-bottom:1px solid var(--line);align-items:baseline;gap:.6rem;padding:.3rem .9rem;display:flex}.trace-row:last-child{border-bottom:none}.verb{text-transform:uppercase;letter-spacing:.05em;min-width:3rem;color:var(--muted);font-size:.7rem}.verb.open{color:var(--accent)}.verb.note{color:#2faa6a}.verb.close{color:var(--muted)}.verb.fault{color:#d9484b}.trace-data{background:var(--code);border-radius:5px;padding:.1rem .4rem}.editor{border:1px solid var(--line);border-radius:10px;margin:1.5rem 0;overflow:hidden}.editor-bar{background:var(--panel);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:.4rem .8rem;font:.7rem ui-monospace,monospace;display:flex}.editor-mode{color:var(--accent);letter-spacing:.08em;font-weight:700}.editor-hint{color:var(--muted)}.cm-editor{max-height:420px}.cm-editor .cm-scroller{overflow:auto}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{border:1px solid var(--line);text-align:left;padding:.4rem .6rem}blockquote{border-left:3px solid var(--accent);color:var(--muted);margin:1rem 0;padding:.4rem 1rem}.pager{border-top:1px solid var(--line);justify-content:space-between;gap:1rem;margin-top:4rem;padding-top:1.5rem;font-size:.9rem;display:flex}.pager a{color:var(--accent)}.pager a:hover{text-decoration:underline}.pager .next{text-align:right;margin-left:auto}.toc{align-self:start;height:100vh;padding:2.5rem 1rem;font-size:.82rem;position:sticky;top:0;overflow-y:auto}.toc-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:.75rem;font-size:.68rem;font-weight:700;display:block}.toc ul{margin:0;padding:0;list-style:none}.toc li{margin:.35rem 0}.toc li.d3{padding-left:.85rem}.toc a{color:var(--muted)}.toc a:hover{color:var(--accent)}@media (width<=1000px){.layout{grid-template-columns:1fr}.toc{display:none}.sidebar{z-index:20;width:250px;transition:transform .2s;position:fixed;top:0;left:0;transform:translate(-100%)}#nav-toggle:checked~.layout .sidebar{transform:translate(0)}.hamburger{cursor:pointer;color:var(--muted);margin-bottom:1rem;font-size:1.4rem;display:inline-block}.content{padding:1.5rem 1.25rem 4rem}}
