:root{--bg:#ffffff;--bg-elevated:#f8f9fb;--bg-inset:#f1f3f6;--border:#e4e7ec;--fg:#1a1d23;--fg-muted:#5b6270;--fg-faint:#8a90a0;--accent:#6d5bff;--accent-fg:#ffffff;--accent-soft:#efecff;--code-bg:#f4f4f8;--code-fg:#3a2ea6;--link:#4630d6;--shadow:0 1px 2px rgba(20, 21, 26, 0.06), 0 8px 24px rgba(20, 21, 26, 0.06);--radius:8px;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Roboto, Helvetica, Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--topbar-h:60px;--sidebar-w:264px;--toc-w:220px}html[data-theme=dark]{--bg:#14161c;--bg-elevated:#1a1d25;--bg-inset:#20232c;--border:#2a2e3a;--fg:#e7e9ee;--fg-muted:#a2a8b8;--fg-faint:#767c8c;--accent:#9b8cff;--accent-fg:#14161c;--accent-soft:#262247;--code-bg:#1e2029;--code-fg:#c7bfff;--link:#b3a6ff;--shadow:0 1px 2px rgba(0, 0, 0, 0.3), 0 8px 24px rgba(0, 0, 0, 0.35)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font-sans);font-size:16px;line-height:1.6}img{max-width:100%}.skip-link{position:absolute;left:-999px;top:0;background:var(--accent);color:var(--accent-fg);padding:.5rem 1rem;z-index:200}.skip-link:focus{left:.5rem;top:.5rem}.topbar{position:sticky;top:0;z-index:50;height:var(--topbar-h);background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.topbar-inner{height:100%;max-width:1400px;margin:0 auto;padding:0 1rem;display:flex;align-items:center;gap:1rem}.menu-toggle{display:none;flex-direction:column;justify-content:center;gap:4px;width:34px;height:34px;border:none;background:0 0;cursor:pointer;border-radius:var(--radius)}.menu-toggle span{width:18px;height:2px;background:var(--fg);margin:0 auto;border-radius:2px}.menu-toggle:hover{background:var(--bg-inset)}.brand{display:flex;align-items:baseline;gap:.4rem;text-decoration:none;color:var(--fg);font-weight:700;white-space:nowrap}.brand-mark{font-size:1.1rem;letter-spacing:-.02em}.brand-sub{font-size:.8rem;color:var(--fg-faint);font-weight:500}.search{position:relative;flex:1;max-width:480px;margin:0 auto 0 1rem}#search-input{width:100%;padding:.45rem 2.2rem .45rem .8rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-inset);color:var(--fg);font-size:.9rem}#search-input:focus{outline:2px solid var(--accent);outline-offset:1px}.search-kbd{position:absolute;right:.6rem;top:50%;transform:translateY(-50%);font-size:.7rem;color:var(--fg-faint);border:1px solid var(--border);border-radius:4px;padding:0 .35rem;pointer-events:none}.search-results{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);max-height:60vh;overflow-y:auto;z-index:60}.search-results a{display:block;padding:.6rem .8rem;text-decoration:none;color:var(--fg);border-bottom:1px solid var(--border)}.search-results a:last-child{border-bottom:none}.search-results a:hover,.search-results a.is-selected{background:var(--accent-soft)}.search-results .result-title{font-weight:600;font-size:.9rem}.search-results .result-snippet{font-size:.8rem;color:var(--fg-muted);margin-top:2px}.search-results .no-results{padding:.8rem;color:var(--fg-muted);font-size:.85rem}.topbar-actions{display:flex;align-items:center;gap:.25rem}.icon-link{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--radius);color:var(--fg-muted);text-decoration:none;border:none;background:0 0;cursor:pointer}.icon-link:hover{background:var(--bg-inset);color:var(--fg)}.icon-moon{display:none}html[data-theme=dark] .icon-sun{display:none}html[data-theme=dark] .icon-moon{display:block}.shell{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:var(--sidebar-w)minmax(0,1fr)var(--toc-w);gap:0;align-items:start}.sidebar-backdrop{display:none}.sidebar{position:sticky;top:var(--topbar-h);height:calc(100vh - var(--topbar-h));overflow-y:auto;border-right:1px solid var(--border);padding:1.25rem .75rem}.sidebar-inner{padding-bottom:2rem}ul.menu,ul.menu ul.menu{list-style:none;margin:0;padding:0}ul.menu ul.menu{margin-left:.85rem;padding-left:.6rem;border-left:1px solid var(--border);margin-top:.15rem;margin-bottom:.4rem}.menu-item{margin:1px 0}.menu-item>a,.menu-group-label{display:block;padding:.4rem .6rem;border-radius:var(--radius);color:var(--fg-muted);text-decoration:none;font-size:.9rem}.menu-group-label{color:var(--fg-faint);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;margin-top:1rem;padding-left:.6rem}.menu-item>a:hover{background:var(--bg-inset);color:var(--fg)}.menu-item.is-active>a{background:var(--accent-soft);color:var(--accent);font-weight:600}.content{min-width:0;padding:2rem 2.5rem 4rem}.content-inner{max-width:780px;margin:0 auto}.breadcrumbs{font-size:.85rem;color:var(--fg-faint);margin-bottom:1rem}.breadcrumbs a{color:inherit;text-decoration:none}.breadcrumbs a:hover{color:var(--link)}.breadcrumbs .sep{margin:0 .35rem}.toc-pane{position:sticky;top:var(--topbar-h);height:calc(100vh - var(--topbar-h));overflow-y:auto;padding:1.5rem 1rem}.toc-title{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-faint);font-weight:700;margin:0 0 .6rem}.toc-inner nav ul{list-style:none;padding-left:0;margin:0;font-size:.85rem}.toc-inner nav ul ul{padding-left:.9rem}.toc-inner nav li{margin:.3rem 0}.toc-inner nav a{color:var(--fg-muted);text-decoration:none;display:block;line-height:1.35}.toc-inner nav a:hover{color:var(--link)}.prose{color:var(--fg)}.prose h1{font-size:1.9rem;margin:0 0 1rem;letter-spacing:-.01em}.prose h2{font-size:1.4rem;margin:2.2rem 0 .8rem;padding-top:.5rem;border-top:1px solid var(--border)}.prose h1+h2{border-top:none;padding-top:0}.prose h3{font-size:1.15rem;margin:1.6rem 0 .6rem}.prose h4{font-size:1rem;margin:1.2rem 0 .5rem}.prose h2 a.anchor,.prose h3 a.anchor,.prose h4 a.anchor{display:none}.prose p{margin:.9rem 0}.prose a{color:var(--link)}.prose ul,.prose ol{padding-left:1.4rem}.prose li{margin:.3rem 0}.prose blockquote{margin:1rem 0;padding:.2rem 1rem;border-left:3px solid var(--accent);background:var(--bg-elevated);color:var(--fg-muted);border-radius:0 var(--radius)var(--radius)0}.prose hr{border:none;border-top:1px solid var(--border);margin:2rem 0}.prose code{font-family:var(--font-mono);font-size:.85em;background:var(--code-bg);color:var(--code-fg);padding:.15em .4em;border-radius:4px}.prose pre{background:var(--code-bg);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;overflow-x:auto;font-size:.85rem;line-height:1.55}.prose pre code{background:0 0;padding:0;color:inherit}.prose table{width:100%;border-collapse:collapse;margin:1.2rem 0;font-size:.88rem;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--border);padding:.5rem .7rem;text-align:left;vertical-align:top}.prose th{background:var(--bg-elevated);font-weight:600}.prose tr:nth-child(even) td{background:var(--bg-elevated)}.prose-home .hero{text-align:center;padding:2.5rem 0 1.5rem}.prose-home .hero h1{font-size:2.4rem;max-width:640px;margin:0 auto .75rem}.prose-home .hero p{color:var(--fg-muted);font-size:1.1rem;max-width:560px;margin:0 auto}.prose-home .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin:2rem 0}.prose-home .card{border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem 1.2rem;background:var(--bg-elevated)}.prose-home .card h3{margin:0 0 .4rem;font-size:1rem}.prose-home .card p{margin:0;font-size:.88rem;color:var(--fg-muted)}.pagenav{display:flex;justify-content:space-between;gap:1rem;margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--border)}.pagenav a{flex:1;max-width:48%;display:flex;flex-direction:column;gap:.2rem;padding:.8rem 1rem;border:1px solid var(--border);border-radius:var(--radius);text-decoration:none;color:var(--fg)}.pagenav a:hover{border-color:var(--accent)}.pagenav-next{margin-left:auto;text-align:right;align-items:flex-end}.pagenav-label{font-size:.75rem;color:var(--fg-faint)}.pagenav-title{font-weight:600;font-size:.9rem}.edit-link{margin-top:1.5rem}.edit-link a{font-size:.85rem;color:var(--fg-faint);text-decoration:none}.edit-link a:hover{color:var(--link)}.site-footer{border-top:1px solid var(--border);padding:1.5rem 1rem;text-align:center;color:var(--fg-faint);font-size:.85rem}.site-footer a{color:inherit}@media(max-width:1100px){.shell{grid-template-columns:var(--sidebar-w)minmax(0,1fr)}.toc-pane{display:none}}@media(max-width:860px){.menu-toggle{display:flex}.shell{grid-template-columns:1fr}.sidebar{position:fixed;top:var(--topbar-h);left:0;height:calc(100vh - var(--topbar-h));width:min(80vw,var(--sidebar-w));background:var(--bg);z-index:70;transform:translateX(-100%);transition:transform .2s ease;border-right:1px solid var(--border)}.shell.sidebar-open .sidebar{transform:translateX(0)}.shell.sidebar-open .sidebar-backdrop{display:block;position:fixed;inset:var(--topbar-h)0 0 0;background:rgba(0,0,0,.35);z-index:60}.content{padding:1.5rem 1.25rem 3rem}.search{max-width:none;margin-left:.5rem}.brand-sub{display:none}}