:root{--paper: #ffffff;--paper-alt: #f7f7f7;--ink: #1a1a1a;--ink-soft: #6b6b6b;--accent: #1f7a4d;--accent-dark: #14532f;--border: #e3e3e3;--shadow: rgba(0, 0, 0, 0.1);--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", "Courier New", monospace}*{box-sizing:border-box}.avatar{float:left;width:140px;height:140px;border-radius:50%;object-fit:cover;border:3px solid var(--paper-alt);box-shadow:0 0 0 1px var(--border);margin:.2em 1.4em 1em 0}.page-body h2,.page-body h3{clear:both}html,body{margin:0;padding:0}body{background-color:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:17px;line-height:1.65}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-dark);text-decoration:underline}h1,h2,h3,h4,h5{font-family:var(--font-body);font-weight:600;color:var(--ink);line-height:1.3}h1{font-size:2rem;margin-bottom:.6em}h2{font-size:1.4rem;margin-top:2em;padding-bottom:.3em;border-bottom:1px solid var(--border)}h3{font-size:1.15rem;color:var(--ink-soft)}blockquote{border-left:3px solid var(--accent);margin:1.2em 0;padding:.3em 1em;color:var(--ink-soft)}code,pre{font-family:var(--font-mono);font-size:.9em}pre{background:var(--paper-alt);padding:1em;overflow-x:auto;border-radius:6px;border:1px solid var(--border)}code{background:var(--paper-alt);padding:.15em .4em;border-radius:4px}pre code{background:none;padding:0}hr{border:none;border-top:1px solid var(--border);margin:2.5em 0}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1.5em 0}table{border-collapse:collapse;font-size:.95rem;width:max-content;overflow-wrap:normal}.table-scroll table{margin:0}th,td{border:1px solid var(--border);padding:.5em .8em;text-align:left}th{background:var(--ink);color:var(--paper);font-weight:600;border-color:var(--ink)}tbody tr:nth-child(odd) td{background:var(--paper)}tbody tr:nth-child(even) td{background:var(--paper-alt)}.nav-toggle{display:none}.layout{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{background:var(--paper);border-right:1px solid var(--border);padding:1.5em 1.3em;position:sticky;top:0;height:100vh;height:100dvh;overflow-y:auto;-webkit-overflow-scrolling:touch}.sidebar-header{margin-bottom:1.2em}.site-title{font-size:1.2rem;font-weight:700;color:var(--ink)}.site-title:hover{text-decoration:none}.site-version{display:block;margin-top:.2em;margin-left:1.1em;font-size:.8rem;color:var(--ink-soft)}.site-title::before{content:"";display:inline-block;width:.6em;height:.6em;background:var(--accent);margin-right:.5em;border-radius:2px}.search-wrap{position:relative;margin-bottom:1.5em}#search-input{width:100%;font-family:var(--font-body);font-size:.95rem;padding:.5em .7em;background:var(--paper-alt);border:1px solid var(--border);border-radius:6px;color:var(--ink)}#search-input:focus{outline:none;border-color:var(--accent)}.search-results{display:none;position:absolute;z-index:10;top:100%;left:0;right:0;background:var(--paper);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 14px var(--shadow);max-height:60vh;overflow-y:auto}.search-results.is-visible{display:block}.search-results a{display:block;padding:.6em .8em;border-bottom:1px solid var(--border);font-size:.9rem;color:var(--ink)}.search-results .result-title{display:block;color:var(--accent);font-weight:600}.search-results .result-excerpt{display:block;font-size:.82rem;color:var(--ink-soft)}.search-results .no-results{padding:.8em;color:var(--ink-soft);font-style:italic}.sidebar-nav ul{list-style:none;margin:0;padding:0}.nav-group>ul>li{margin-bottom:.6em}.nav-group+.nav-group{margin-top:1.6em}.nav-group-title{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin:0 0 .6em;padding-bottom:.4em;border-bottom:1px solid var(--border)}.nav-label-static,.nav-section summary .nav-label{font-weight:600;font-size:.95rem;color:var(--ink)}.nav-label-static{display:block;padding:.2em 0}.nav-label-static:hover{text-decoration:underline}.nav-section summary{list-style:none;display:flex;align-items:center;padding:.2em 0}.nav-section summary::-webkit-details-marker{display:none}.nav-section summary::before{content:"";width:0;height:0;margin-right:.5em;padding:.5em .4em;margin-left:-.4em;border-style:solid;border-width:4px 0 4px 6px;border-color:rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0) var(--ink-soft);transition:transform .15s ease;flex:none;cursor:pointer;border-radius:4px}.nav-section details[open]>summary::before{transform:rotate(90deg)}.nav-section summary .nav-label:hover{text-decoration:underline}.nav-section.is-active>details>summary .nav-label,.nav-section.is-active>.nav-label-static{color:var(--accent)}.nav-section.is-active>details>summary::before{border-left-color:var(--accent)}.nav-pages{margin-top:.2em;margin-left:2.4em;padding-left:0}.nav-pages li{margin:.25em 0;border-left:2px solid rgba(0,0,0,0);padding-left:.8em}.nav-pages a{font-size:.9rem;color:var(--ink-soft)}.nav-pages li.is-active{border-left-color:var(--accent)}.nav-pages li.is-active a{color:var(--accent);font-weight:600}.content-col{min-width:0;width:100%;display:flex;flex-direction:column}.topbar{display:none;align-items:center;gap:.8em;padding:.8em 1em;border-bottom:1px solid var(--border)}.topbar-title{font-weight:600}.content-row{display:flex;align-items:flex-start;min-width:0;flex:1}.content{flex:1;min-width:0;padding:3em 4em;max-width:850px;overflow-wrap:anywhere}.toc{display:none;flex:none;width:220px;padding:3em 2em 3em 0;position:sticky;top:0;font-size:.85rem}.toc-title{font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;color:var(--ink-soft);margin:0 0 .8em}.toc-list{list-style:none;margin:0;padding:0}.toc-list .toc-list{margin-left:.9em;margin-top:.3em}.toc-list li{margin:.45em 0}.toc-list a{color:var(--ink-soft);border:none;text-decoration:none}.toc-list a:hover{color:var(--accent);text-decoration:underline}@media (min-width: 1180px){.toc{display:block}}.breadcrumbs{font-size:.85rem;color:var(--ink-soft);margin-bottom:1em}.section-index{list-style:none;padding:0}.changelog{margin-top:2em;border:1px solid var(--border);border-radius:6px;background:var(--paper-alt)}.changelog summary{list-style:none;display:flex;align-items:center;padding:.7em 1em;font-weight:600;cursor:pointer}.changelog summary::-webkit-details-marker{display:none}.changelog summary::before{content:"";width:0;height:0;margin-right:.6em;border-style:solid;border-width:4px 0 4px 6px;border-color:rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0) var(--ink-soft);transition:transform .15s ease;flex:none}.changelog[open]>summary::before{transform:rotate(90deg)}.changelog summary:hover{color:var(--accent)}.changelog summary:hover::before{border-left-color:var(--accent)}.changelog-body{padding:0 1.2em 1.1em;border-top:1px solid var(--border);scroll-margin-top:3.5em}.changelog-body ul{margin:.8em 0 0;padding-left:1.2em}.changelog-body li{margin-bottom:.5em}.changelog-body li:last-child{margin-bottom:0}.changelog-date{color:var(--ink-soft);font-size:.85rem}.site-footer{padding:1.5em 4em;font-size:.85rem;color:var(--ink-soft);border-top:1px solid var(--border)}.nav-burger,.nav-scrim{display:none}@media (max-width: 860px){.layout{display:block}.topbar{display:flex;position:sticky;top:0;z-index:15;background:var(--paper)}.changelog-body{scroll-margin-top:7em}.nav-burger{display:flex;align-items:center;justify-content:center;font-size:1.3rem;line-height:1;width:2.75em;height:2.75em;margin:-.5em -.5em -.5em -.6em;cursor:pointer;border:none;background:none}.topbar-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar{position:fixed;left:0;top:0;width:80%;max-width:300px;transform:translateX(-100%);transition:transform .2s ease;z-index:30;box-shadow:4px 0 14px var(--shadow)}.nav-pages{margin-left:1.2em}.nav-section summary{padding:.4em 0}.nav-scrim{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:20}#nav-toggle:checked~.layout .sidebar{transform:translateX(0)}#nav-toggle:checked~.layout .nav-scrim{display:block}.content{padding:2em 1.2em}.site-footer{padding:1.5em 1.2em}table{font-size:.85rem}th,td{padding:.4em .6em}}