@import url("navigation.css");
@import url("theme.css");
@import url("docs-code.css");
:root {--black:#19241c;--darker:#354239;--dark:#536258;--light:#dce5dd;--brand-1:#176b36;--paper:#fcfdfb;--wash:#f4f8f2;--font-body:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color-scheme:light;}
*{box-sizing:border-box}html{scroll-padding-top:100px;scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--black);font-family:var(--font-body);line-height:1.7;font-size:16px}a{color:var(--brand-1);text-underline-offset:3px}button,input{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid #4c8f5e;outline-offset:4px}h1,h2,h3{line-height:1.2;letter-spacing:-.035em}h1{font-size:clamp(2.7rem,4.7vw,4.3rem);font-weight:650;margin:14px 0 22px}h2{font-size:1.8rem;margin:0 0 18px}h3{font-size:1.15rem;margin:28px 0 12px}p{margin:0 0 20px}.site-header{position:sticky;top:0;z-index:20;background:rgb(252 253 251 / .96);backdrop-filter:blur(12px);border-bottom:1px solid var(--light)}.header-inner{max-width:1440px;margin:auto;padding:20px 40px;display:flex;align-items:center;gap:28px}.brand{display:inline-flex;align-items:center;gap:12px;font-size:1.25rem;font-weight:650;color:var(--black);text-decoration:none;letter-spacing:-.035em}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:9px;background:var(--brand-1);color:white;font-size:18px}.header-label{font-size:.85rem;color:var(--dark);border-left:1px solid var(--light);padding-left:28px}.github-link{margin-left:auto;font-size:.85rem;color:var(--dark);text-decoration:none}.docs-shell{display:grid;grid-template-columns:220px minmax(0,1fr);gap:68px;max-width:1440px;margin:auto;padding:44px 40px 90px}.docs-sidebar{position:sticky;top:120px;align-self:start;max-height:calc(100dvh - 140px);overflow:auto}.sidebar-label,.eyebrow,.toc-label{font-size:.68rem;font-weight:700;letter-spacing:.11em}.sidebar-label{color:var(--dark);margin-bottom:26px}.nav-group{margin-bottom:26px}.nav-group p{font-size:.8rem;font-weight:650;margin-bottom:8px}.nav-group a{display:block;font-size:.85rem;text-decoration:none;color:var(--dark);padding:5px 12px;margin-left:-12px;border-radius:5px;line-height:1.5}.nav-group a:hover{background:#edf3e9;color:var(--brand-1)}.nav-group a[aria-current=page]{background:#eafaeb;color:var(--brand-1);font-weight:600}.sidebar-source{display:block;border-top:1px solid var(--light);padding-top:20px;font-size:.73rem;color:var(--dark);text-decoration:none}.page-grid{display:grid;grid-template-columns:minmax(0,790px) 150px;gap:48px}.docs-content{min-width:0}.eyebrow{color:var(--brand-1)}.page-header{padding:8px 0 26px}.page-header .lead{font-size:1.16rem;line-height:1.8;color:var(--dark);max-width:650px}.page-header .subtle{font-size:.85rem;color:var(--dark)}.toc{position:sticky;top:130px;align-self:start;border-left:1px solid var(--light);padding-left:20px}.toc-label{color:var(--dark);margin:0 0 15px}.toc a{display:block;font-size:.76rem;color:var(--dark);text-decoration:none;margin:10px 0;line-height:1.5}.toc a:hover{color:var(--brand-1)}.docs-content section{border-top:1px solid var(--light);padding-top:34px;margin-top:36px;scroll-margin-top:110px}.docs-content p,.docs-content li{color:var(--darker)}.docs-content ul,.docs-content ol{padding-left:24px}.docs-content li{margin:8px 0}.cards{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:22px 0 30px}.doc-card{display:block;padding:22px;border:1px solid var(--light);border-radius:9px;color:var(--black);text-decoration:none;background:white;transition:border-color .15s,background .15s}.doc-card:hover{border-color:#87b28e;background:var(--wash)}.doc-card .card-label{display:block;color:var(--brand-1);font-size:.69rem;font-weight:650;letter-spacing:.07em;margin-bottom:12px}.doc-card strong{display:block;font-size:1.05rem;letter-spacing:-.025em;margin-bottom:8px}.doc-card p{font-size:.85rem;line-height:1.65;margin:0;color:var(--dark)}.doc-card .arrow{float:right;color:var(--brand-1)}.notice{border-left:3px solid #72a57c;background:var(--wash);padding:18px 22px;margin:24px 0;font-size:.9rem}.notice p:last-child{margin-bottom:0}code,kbd,pre{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}code{font-size:.86em;padding:2px 5px;border-radius:4px;background:#eef3eb}pre{position:relative;overflow:auto;border:1px solid var(--light);border-radius:7px;background:var(--wash);padding:22px 64px 22px 22px;font-size:.87rem;line-height:1.8;margin:22px 0;white-space:pre}pre code{background:transparent;padding:0;border-radius:0;color:var(--black);font-size:inherit}.code-block{position:relative}.code-block .copy-button{position:absolute;right:10px;top:10px;background:var(--paper);color:var(--dark);border:1px solid var(--light);border-radius:5px;font-size:.69rem;padding:4px 8px}table{border-collapse:collapse;width:100%;font-size:.88rem}td,th{padding:12px 14px;border-bottom:1px solid var(--light);text-align:left}th{background:var(--wash);font-weight:650}.table-scroll{overflow:auto}.site-footer{max-width:1360px;margin:auto;border-top:1px solid var(--light);padding:24px 0 32px;display:flex;justify-content:space-between;gap:16px;font-size:.72rem;color:var(--dark)}.mobile-menu-toggle{display:none}.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link:focus{position:fixed;top:8px;left:8px;z-index:100;background:white;padding:10px 20px}.mobile-nav-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.mobile-nav-header button{border:0;background:none;font-size:1.6rem}#docs-mobile-navigation{border:1px solid var(--light);border-radius:10px;padding:24px;width:min(360px,calc(100vw - 32px));max-height:80dvh;background:var(--paper);color:var(--black)}#docs-mobile-navigation::backdrop{background:rgb(25 36 28 / .2)}
@media(min-width:1500px){.docs-shell{gap:85px}}@media(max-width:1150px){.page-grid{grid-template-columns:minmax(0,1fr)}.toc{display:none}.docs-shell{gap:40px;grid-template-columns:200px minmax(0,1fr)}}@media(max-width:760px){.header-inner{padding:16px 22px;gap:18px}.header-label{display:none}.mobile-menu-toggle{display:block;border:1px solid var(--light);border-radius:5px;background:white;padding:5px 10px;font-size:.75rem}.github-link{font-size:.75rem}.docs-shell{display:block;padding:28px 22px 60px}.docs-sidebar{display:none}.page-header{padding-top:10px}.page-header .lead{font-size:1.05rem}.cards{grid-template-columns:1fr}.site-footer{margin:0 22px;display:block}.site-footer span{display:block;margin-bottom:6px}h1{font-size:2.9rem}h2{font-size:1.6rem}pre{font-size:.78rem}.docs-content section{padding-top:28px;margin-top:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.doc-card{transition:none}}

/* Native section links also account for the signed-in admin toolbar. */
html { scroll-padding-top:calc(105px + var(--flea-toolbar-height, 0px)); }
.site-header { top:var(--flea-toolbar-height, 0px); }
.docs-sidebar { top:calc(110px + var(--flea-toolbar-height, 0px)); max-height:calc(100dvh - 135px - var(--flea-toolbar-height, 0px)); padding:4px 10px 8px 12px; margin-left:-12px; scrollbar-width:thin; scrollbar-color:#b6cbb8 transparent; }
.toc { top:calc(125px + var(--flea-toolbar-height, 0px)); max-height:calc(100dvh - 145px - var(--flea-toolbar-height, 0px)); overflow:auto; scrollbar-width:thin; }
.doc-section { scroll-margin-top:calc(105px + var(--flea-toolbar-height, 0px)); }
.docs-content .doc-section { padding-top:42px; margin-top:54px; scroll-margin-top:0; }
.doc-section > .eyebrow { margin-bottom:14px; }
.docs-content h3 { margin:36px 0 16px; font-size:1.25rem; line-height:1.4; }
.docs-content h4 { font-size:1.02rem; margin:28px 0 12px; }
.docs-content h3[id],.docs-content h4[id],.docs-content section { scroll-margin-top:0; }
.docs-content li > p { margin-bottom:10px; }
.docs-content li > p:last-child { margin-bottom:0; }
.docs-content img { max-width:100%; height:auto; }
.docs-content p,.docs-content li,.docs-content td { overflow-wrap:anywhere; }
.docs-content pre { overflow-wrap:normal; }
.docs-content .table-scroll { margin:24px 0; }
.docs-content blockquote { margin:24px 0; padding:16px 22px; border-left:3px solid #72a57c; background:var(--wash); }
.docs-content blockquote p:last-child { margin-bottom:0; }
.docs-content hr { border:0; border-top:1px solid var(--light); margin:32px 0; }
.heading-link { margin-left:10px; font-size:.8em; color:#899b8c; text-decoration:none; opacity:0; font-weight:400; }
:is(h2,h3,h4,h5,h6):hover .heading-link,.heading-link:focus-visible { opacity:1; }
.nav-group a[aria-current="location"],.toc a[aria-current="location"] { color:var(--brand-1); font-weight:650; }
.nav-group a[aria-current="location"] { background:#eafaeb; }
.section-contents { margin:24px 0; padding:14px 18px; border:1px solid var(--light); border-radius:7px; font-size:.83rem; background:var(--wash); }
.section-contents summary { cursor:pointer; font-weight:600; }
.section-contents nav { display:flex; flex-wrap:wrap; gap:8px 20px; padding-top:12px; }
.section-contents a { display:block; line-height:1.6; }
.source-note { margin-top:30px; font-size:.72rem; color:var(--dark)!important; }
.source-note a { color:var(--dark); }
.breadcrumb { font-size:.8rem; text-decoration:none; }
.contributor-contents { display:none; }
.chapter-list { list-style:none; padding:0!important; }
.chapter-list li { margin:0; border-bottom:1px solid var(--light); }
.chapter-list a { display:flex; justify-content:space-between; padding:13px 0; text-decoration:none; }
.page-pagination { display:flex; justify-content:space-between; gap:30px; border-top:1px solid var(--light); padding-top:25px; margin-top:40px; font-size:.85rem; }
.site-footer { margin-inline:40px; max-width:none; }
kbd { font-size:.78em; padding:3px 6px; border:1px solid var(--light); border-bottom-width:2px; border-radius:4px; background:white; white-space:nowrap; }
[hidden] { display:none!important; }
.search-trigger { display:flex; align-items:center; gap:10px; margin-left:auto; padding:6px 10px; min-width:185px; border:1px solid var(--light); border-radius:6px; font-size:.78rem; text-align:left; background:white; color:var(--dark); }
.search-trigger > span { font-size:1.3rem; line-height:1; }
.search-trigger > kbd { margin-left:auto; }
.search-trigger + .github-link { margin-left:0; }
#docs-search { width:min(650px,calc(100vw - 28px)); max-height:80dvh; padding:24px; border:1px solid var(--light); border-radius:12px; background:var(--paper); color:var(--black); box-shadow:0 24px 80px #19241c33; }
#docs-search::backdrop { background:#19241c66; backdrop-filter:blur(3px); }
.search-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:18px; }
.search-heading h2 { margin:0; font-size:1.15rem; }
.search-close { font-size:1.6rem; line-height:1; padding:8px; border:0; background:transparent; color:var(--dark); }
#docs-query { width:100%; border:1px solid #9bbca2; border-radius:7px; padding:12px 14px; background:white; color:var(--black); font-size:1rem; }
.search-summary,.search-hint { color:var(--dark); font-size:.75rem; margin:12px 0; }
#search-results { padding:0; list-style:none; margin:0; }
#search-results li { border-top:1px solid var(--light); }
#search-results a { display:block; padding:14px 6px; text-decoration:none; border-radius:5px; }
#search-results a:hover,#search-results a:focus { background:var(--wash); }
.result-meta { display:block; font-size:.68rem; color:var(--dark); margin-bottom:4px; }
.result-title { display:block; font-size:.95rem; font-weight:600; }
.result-excerpt { display:block; font-size:.78rem; color:var(--dark); margin-top:5px; }
#search-results mark { background:#e3f3ba; color:inherit; }
.search-hint { display:flex; justify-content:space-between; border-top:1px solid var(--light); padding-top:12px; margin-bottom:0; }
@media(min-width:760px) { .section-contents:not(.contributor-contents) { background:transparent; border:0; padding:0; margin:18px 0 26px; } .section-contents summary { color:var(--dark); font-size:.78rem; } }
@media(max-width:1150px) { .contributor-contents { display:block; } }
@media(max-width:760px) { .search-trigger { min-width:0; font-size:0; padding:7px; gap:0; } .search-trigger > span { font-size:1.35rem; } .search-trigger > kbd { display:none; } .header-inner { gap:14px; } .brand { font-size:1.12rem; } .brand-mark { width:32px; height:32px; } .site-footer { margin-inline:22px; } .heading-link { opacity:1; font-size:.65em; } .table-scroll { max-width:100%; } .table-scroll table { min-width:480px; } .page-pagination { flex-direction:column; gap:14px; } #docs-search { padding:18px; } .section-contents nav { flex-direction:column; } }
@media print { .site-header,.docs-sidebar,.toc,.section-contents,.site-footer,.heading-link,.copy-button,.source-note { display:none!important; } .docs-shell,.page-grid { display:block; padding:0; } body { font-size:11pt; background:white; } .docs-content pre { white-space:pre-wrap; } .doc-section { break-before:auto; } h2,h3,h4 { break-after:avoid; } }
