:root{--paper:#fafaf6;--surface:#fff;--ink:#1b2d2c;--muted:#66746d;--green:#26724d;--line:#e0e5da;--code:#172d2a;--sidebar:258px;--header:74px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;line-height:1.65;font-size:16px}
*{box-sizing:border-box}html{scroll-padding-top:100px}body{margin:0}a{color:var(--green);text-underline-offset:3px}a:hover{color:#144b34}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #dbac45;outline-offset:4px;border-radius:3px}.skip-link{position:fixed;top:-60px;left:16px;padding:8px 16px;background:var(--surface);z-index:10}.skip-link:focus{top:12px}.site-header{height:var(--header);display:flex;align-items:center;gap:24px;padding:0 34px;border-bottom:1px solid var(--line);background:rgba(250,250,246,.97);position:sticky;top:0;z-index:5}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);font-size:23px;letter-spacing:-1.1px;font-weight:750;text-decoration:none}.brand svg{width:30px;height:30px;color:#246443}.brand-db{color:#63816a;font-weight:450}.development-badge{font-size:11px;font-weight:650;letter-spacing:.035em;padding:4px 9px;border:1px solid #dce3d3;border-radius:4px;color:#67755e;background:#eff2e9}.source-link{margin-left:auto;color:var(--muted);font-size:13px;text-decoration:none}.menu-toggle{display:none}.sidebar{position:fixed;top:var(--header);bottom:0;left:0;width:var(--sidebar);padding:32px 24px;border-right:1px solid var(--line);overflow-y:auto;background:var(--paper)}.search{position:relative}.search label{display:block;font-size:11px;color:var(--muted);font-weight:600;margin-bottom:8px}.search input{font-size:12px;width:100%;padding:10px 10px;background:#f1f3ec;border:1px solid #dce2d6;border-radius:6px;min-width:0}.search-results{position:relative;max-height:310px;overflow:auto;margin-top:8px;border:1px solid var(--line);border-radius:6px;background:#fff;font-size:12px;box-shadow:0 6px 18px #172d2a0b}.search-results a{display:block;padding:9px 12px;border-bottom:1px solid var(--line);text-decoration:none}.search-results a:last-child{border:0}.search-results p{margin:0;padding:12px}.nav-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:#8a9387;margin-top:35px;margin-bottom:12px}.sidebar nav{display:grid;gap:5px}.sidebar nav a{padding:9px 12px;border-radius:5px;text-decoration:none;color:#5f6c64;font-size:13px}.sidebar nav a:hover{background:#f0f2e9}.sidebar nav a[aria-current=page]{background:#e8efdf;color:#2a5d3f;font-weight:650}.sidebar-note{margin:50px 12px 0;color:#4c6653;font-size:11px;line-height:1.9}.sidebar-note>span:last-child{color:#8a9387}.status-dot{display:inline-block;background:#579162;width:6px;height:6px;border-radius:50%;margin-right:5px;vertical-align:middle}.page-layout{margin-left:var(--sidebar);display:grid;grid-template-columns:minmax(0,850px) 175px;gap:60px;max-width:1220px;padding:55px 48px 75px}main{min-width:0;outline:none}.page-toc{position:sticky;align-self:start;top:120px;padding-left:18px;border-left:1px solid var(--line);font-size:11px}.page-toc p{font-weight:700;margin:0 0 14px}.page-toc a{display:block;text-decoration:none;color:var(--muted);margin:11px 0;line-height:1.45}.page-toc a:hover{color:var(--green)}.eyebrow{text-transform:uppercase;font-size:10px;letter-spacing:.16em;color:var(--green);font-weight:750;margin:0 0 14px}h1,h2,h3{line-height:1.18;letter-spacing:-.035em;font-weight:650}h1{font-size:46px;margin:0 0 22px}h1.hero{font-size:62px;line-height:1.03;max-width:650px;letter-spacing:-.05em}h2{font-size:25px;margin:53px 0 18px;padding-top:1px}h3{font-size:18px;margin:30px 0 12px;letter-spacing:-.02em}p{margin:15px 0;color:#46564e}.lead{font-size:18px;color:#647367;line-height:1.65;max-width:630px;margin-bottom:30px}.hero-actions{display:flex;gap:12px;align-items:center;margin:25px 0 35px}.button{display:inline-flex;padding:10px 16px;border-radius:5px;background:var(--green);color:#fff;font-size:12px;font-weight:650;text-decoration:none;gap:15px}.button:hover{background:#1b583a;color:#fff}.button.secondary{background:transparent;color:var(--ink);border:1px solid var(--line)}.note{background:#eff3e9;border-left:3px solid #92ab75;padding:14px 18px;margin:25px 0;font-size:13px;color:#496043;border-radius:0 5px 5px 0}.note p{margin:0;color:inherit}.note strong{font-weight:650}.note.preview{background:#f6f1e3;border-color:#c3aa6f;color:#796331}.flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:13px;border:1px solid var(--line);border-radius:7px;padding:23px;background:#fff;margin:34px 0}.flow div{min-width:0}.flow strong{font-size:13px;display:block}.flow small{font-size:11px;color:var(--muted);display:block;line-height:1.5;margin-top:5px}.flow>span{color:#9ca990}code,kbd,pre{font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace}p code,li code,td code,dd code{font-size:.85em;background:#eaf0e3;color:#345c42;padding:2px 5px;border-radius:3px;overflow-wrap:anywhere}pre{position:relative;margin:22px 0;padding:24px 22px;background:var(--code);color:#e0e9dc;border-radius:7px;line-height:1.75;font-size:12px;overflow-x:auto;max-width:100%;tab-size:4}pre code{display:block;min-width:0}pre.signature{background:#f0f3eb;color:#315343;border:1px solid var(--line);padding:16px;font-size:12px;margin-top:13px}.code-label{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#748370;margin-top:24px;margin-bottom:-12px}.copy-button{position:absolute;top:9px;right:9px;padding:3px 7px;background:#263e35;color:#becfbb;border:1px solid #425747;border-radius:4px;font-size:10px;line-height:1.5}.copy-button:hover{color:#fff;border-color:#90ac88}.signature .copy-button{display:none}.cards{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:24px 0}.card{display:block;padding:22px;border:1px solid var(--line);border-radius:7px;background:#fff;text-decoration:none;color:var(--ink)}.card:hover{border-color:#99ae8f}.card strong{display:block;font-size:14px;margin-bottom:7px}.card span{display:block;color:var(--muted);font-size:12px;line-height:1.6}ul,ol{color:#46564e;padding-left:22px}li{margin:8px 0}.table-wrap{overflow:auto;max-width:100%;margin:22px 0}table{width:100%;border-collapse:collapse;font-size:12px}th,td{text-align:left;padding:12px 13px;border-bottom:1px solid var(--line);vertical-align:top}th{color:#697568;font-weight:650;background:#f0f3eb}td{color:#46564e}td code{white-space:normal}dl{margin:22px 0}dt{font-weight:650;font-size:14px;margin-top:20px}dd{margin:6px 0 0;color:#5e6d62;font-size:14px}.api-section{border-top:1px solid var(--line);margin-top:33px;padding-top:1px}.api-section h3 code{font-size:17px;color:#244a37}.tag{font-size:10px;padding:3px 7px;background:#ece8dc;color:#796841;border-radius:4px;vertical-align:middle;letter-spacing:0}footer{margin-left:var(--sidebar);padding:24px 48px;border-top:1px solid var(--line);font-size:11px;color:#7d887a;display:flex;gap:24px}footer span{margin-left:auto;color:#939b8e}
@media(min-width:1600px){.page-layout{padding-left:70px;gap:75px}}
@media(max-width:1250px){.page-layout{grid-template-columns:minmax(0,1fr);padding:42px 38px 65px;max-width:1050px}.page-toc{display:none}h1.hero{font-size:56px}}
@media(max-width:800px){:root{--sidebar:0px;--header:65px}.site-header{padding:0 20px;gap:14px}.brand{font-size:21px}.brand svg{width:25px;height:25px}.development-badge{font-size:9px;padding:3px 6px}.source-link{display:none}.menu-toggle{display:block;margin-left:auto;border:1px solid var(--line);border-radius:5px;padding:5px 10px;background:transparent;font-size:12px;color:var(--ink)}.sidebar{position:relative;top:0;width:auto;bottom:auto;padding:20px;border-right:0;border-bottom:1px solid var(--line);max-height:calc(100vh - 65px);z-index:4}.js .sidebar{display:none}.js .sidebar.is-open{display:block;position:fixed;left:0;right:0;top:var(--header);box-shadow:0 15px 25px #172d2a10}.sidebar-note{display:none}.nav-label{margin-top:18px}.sidebar nav{grid-template-columns:1fr 1fr}.page-layout{margin-left:0;padding:35px 22px 55px;gap:0}h1{font-size:37px}h1.hero{font-size:49px}.lead{font-size:16px}.flow{gap:10px;padding:17px}.flow strong{font-size:11px}.flow small{font-size:10px}.cards{gap:12px}.card{padding:18px}pre{font-size:11px;padding:26px 17px 20px}h2{font-size:24px;margin-top:42px}footer{margin-left:0;padding:20px 22px;display:block}footer span{display:block;margin:5px 0 0}.table-wrap{margin-right:0}}
@media(prefers-reduced-motion:no-preference){a,button{transition:background-color .12s,color .12s,border-color .12s}}
