/* A compact reading surface in the existing forest and leaf identity. */
:root { color-scheme: light; --page:#f7f8f0; --ink:#102519; --muted:#405b49; --line:#bdc8bd; --accent:#103720; --tint:#e5f0a8; --code:#0b2014; --focus:#805012; font-family:"Avenir Next",Avenir,"Segoe UI",system-ui,sans-serif; color:var(--ink); background:var(--page); font-synthesis:none; }
* { box-sizing:border-box; } body { margin:0; min-width:320px; line-height:1.65; } a { color:inherit; text-underline-offset:.2em; } img { max-width:100%; } h1,h2,h3,p,td,dd,a { overflow-wrap:anywhere; } h1,h2,h3 { line-height:1.15; letter-spacing:-.025em; } h1 { font-size:clamp(2.3rem,5vw,3.9rem); margin:12px 0 24px; max-width:20ch; } h2 { font-size:clamp(1.6rem,3vw,2.25rem); margin:0 0 24px; } h3 { font-size:1.2rem; } p { max-width:72ch; margin:0 0 1.2rem; } code,pre { font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace; font-size:.88em; } :not(pre)>code { overflow-wrap:anywhere; } a:focus-visible,summary:focus-visible,[tabindex]:focus-visible { outline:3px solid var(--focus); outline-offset:4px; } .skip-link { position:fixed; top:12px; left:12px; z-index:3; padding:12px 20px; background:var(--accent); color:var(--page); transform:translateY(-170%); } .skip-link:focus { transform:none; }
.docs-header { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px clamp(20px,4vw,56px); border-bottom:1px solid var(--line); } .brand { display:flex; align-items:center; gap:12px; text-decoration:none; font-weight:800; font-size:1.1rem; } .brand img { object-fit:contain; } .brand small { display:block; font-size:.78rem; font-weight:500; color:var(--muted); } .docs-header nav { display:flex; gap:24px; font-size:.9rem; } .docs-header nav a { padding-block:10px; }
.docs-layout { display:grid; grid-template-columns:240px minmax(0,1fr); width:min(1260px,100%); margin:auto; } .docs-sidebar { padding:36px 28px; border-right:1px solid var(--line); } .docs-sidebar>nav { display:grid; gap:4px; } .docs-sidebar nav a { padding:9px 10px; text-decoration:none; font-size:.88rem; } .docs-sidebar nav a[aria-current] { background:var(--accent); color:var(--page); font-weight:750; } .docs-sidebar nav a:hover { text-decoration:underline; } .docs-sidebar>p { margin-top:32px; color:var(--muted); font-size:.76rem; } .page-navigation { margin-top:32px; } .page-navigation summary { cursor:pointer; font-size:.85rem; font-weight:750; padding:8px 0; } .page-navigation nav { display:grid; margin-top:8px; } .page-navigation nav a { font-size:.8rem; color:var(--muted); }
main { min-width:0; padding:0 clamp(24px,5vw,72px) 60px; } .docs-intro { padding:64px 0 32px; } .doc-category { color:var(--muted); font-size:.85rem; margin:0; } .lede { color:var(--muted); font-size:1.2rem; line-height:1.65; } main>section { padding:40px 0; border-top:1px solid var(--line); scroll-margin-top:24px; } .note { padding:24px; background:var(--tint); color:#102519; margin:24px 0; } .note p { margin:8px 0 0; } .guide-links { border-bottom:1px solid var(--line); } .guide-links a { display:block; padding:24px 0; border-top:1px solid var(--line); text-decoration:none; } .guide-links strong { font-size:1.2rem; } .guide-links span { display:block; color:var(--muted); margin-top:4px; } .guide-links a:hover strong { text-decoration:underline; }
.table-wrap { overflow-x:auto; margin:24px 0; } table { border-collapse:collapse; width:100%; min-width:540px; font-size:.87rem; } th,td { padding:15px 16px; text-align:left; vertical-align:top; border-bottom:1px solid var(--line); } th { background:var(--accent); color:var(--page); } td:first-child { width:38%; } .code-block { margin:24px 0; background:var(--code); color:#edf4e8; border-radius:8px; overflow:hidden; } .code-block figcaption { padding:12px 20px; border-bottom:1px solid #496052; font-size:.8rem; color:#c0d5c5; } pre { margin:0; padding:22px; overflow:auto; line-height:1.7; font-size:.82rem; } pre code { font-size:inherit; } li { padding-left:4px; margin-bottom:14px; } ol,ul { padding-left:24px; } main footer { padding-top:36px; border-top:1px solid var(--line); color:var(--muted); font-size:.85rem; } footer nav { display:flex; flex-wrap:wrap; gap:24px; }
@media(prefers-color-scheme:dark) { :root { color-scheme:dark; --page:#10271f; --ink:#eef3e7; --muted:#b9cbbd; --line:#496052; --accent:#c5e765; --focus:#e7a0b4; } .brand img { background:#e5f0a8; border-radius:6px; } }
@media(max-width:860px) { .docs-layout { grid-template-columns:1fr; } .docs-sidebar { border-right:0; border-bottom:1px solid var(--line); padding:20px 24px; } .docs-sidebar>nav { display:flex; flex-wrap:wrap; gap:4px; } .docs-sidebar>p { display:none; } .page-navigation { margin-top:12px; } .page-navigation nav { display:flex; flex-wrap:wrap; gap:4px 12px; } .docs-intro { padding-top:40px; } }
@media(max-width:480px) { .docs-header { align-items:flex-start; padding:16px; } .docs-header nav { gap:12px; font-size:.8rem; } .brand { font-size:.95rem; gap:8px; } .brand img { width:30px; height:30px; } main { padding-inline:16px; } .docs-sidebar { padding:16px; } .docs-sidebar nav a { padding:10px 8px; } }
@media print { .docs-header,.docs-sidebar,footer { display:none; } .docs-layout { display:block; } main { padding:0; } * { color:#111!important; background:white!important; } pre { white-space:pre-wrap; overflow-wrap:anywhere; } .table-wrap { overflow:visible; } table { min-width:0; } }
