@font-face{font-family:'Exo';font-style:normal;font-weight:100 900;font-display:swap;src:url('/assets/fonts/exo-latin.woff2') format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:100 800;font-display:swap;src:url('/assets/fonts/jetbrainsmono-latin.woff2') format('woff2')}
:root{--api-head:58px}
html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink)}
.api-head{position:sticky;top:0;z-index:50;min-height:var(--api-head);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;padding:10px clamp(16px,3vw,28px);background:rgba(249,248,245,.94);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--ink-12)}
.api-head>a{font:11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-60);text-decoration:none}.api-head>a:hover{color:var(--ink)}.api-head img{height:28px;width:auto;display:block}.head-logo{justify-self:center}.head-right{justify-self:end}.lang-switch{display:flex;align-items:center;gap:8px;font:11px var(--mono);letter-spacing:.1em}.lang-opt{appearance:none;border:0;background:none;padding:2px;color:var(--ink-60);font:inherit;cursor:pointer}.lang-opt.is-on{color:var(--ink)}.lang-sep{color:var(--ink-12)}
.api-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:clamp(30px,5vw,72px);width:min(1280px,100%);margin:auto;padding:0 clamp(18px,4vw,36px)}
.api-side{position:sticky;top:var(--api-head);align-self:start;max-height:calc(100dvh - var(--api-head));overflow:auto;padding:28px 0 36px;scrollbar-width:thin}.api-side strong{display:block;margin-bottom:14px;font:10px var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-60)}.api-side nav{display:flex;flex-direction:column}.api-side a{padding:6px 10px;border-left:2px solid var(--ink-12);font-size:.82rem;line-height:1.35;color:var(--ink-60);text-decoration:none}.api-side a:hover,.api-side a.is-active{color:var(--ink);border-color:var(--accent)}
.api-search{position:relative;margin:0 0 20px}.api-search input{width:100%;border:1px solid var(--ink-12);border-radius:3px;background:#fff;padding:10px 34px 10px 11px;color:var(--ink);font:12px var(--mono)}.api-search input:focus{outline:2px solid var(--accent);outline-offset:1px}.api-search button{position:absolute;right:5px;top:5px;width:28px;height:28px;border:0;background:transparent;color:var(--ink-60);cursor:pointer;font-size:18px}.search-count{min-height:18px;margin:-12px 0 12px;font:10px var(--mono);color:var(--ink-60)}
.api-main{min-width:0;max-width:88ch;padding:clamp(42px,7vh,76px) 0 clamp(70px,10vh,120px)}.eyebrow{font:10px var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--accent-ink);margin-bottom:14px}.api-main h1{font-size:clamp(2.25rem,5vw,4rem);font-weight:900;letter-spacing:-.035em;line-height:1}.lede{max-width:66ch;margin:18px 0;font-size:clamp(1.05rem,1.6vw,1.22rem);line-height:1.6;color:var(--ink-60)}.meta{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 38px;padding-bottom:24px;border-bottom:1px solid var(--ink-12)}.badge{display:inline-flex;padding:6px 9px;border:1px solid var(--ink-12);border-radius:2px;font:10px var(--mono);letter-spacing:.06em;text-transform:uppercase}.badge--accent{border-color:var(--accent);color:var(--accent-ink)}
.api-section{margin:0 0 clamp(48px,7vh,72px);scroll-margin-top:calc(var(--api-head) + 18px)}.api-section[hidden]{display:none}.api-section h2{margin-bottom:14px;font-size:clamp(1.45rem,2.8vw,2rem);font-weight:850;letter-spacing:-.02em}.api-section h3{margin:28px 0 10px;font-size:1.12rem}.api-section p,.api-section li{font-size:1rem;line-height:1.68;color:#242420}.api-section p{margin:0 0 14px}.api-section ul,.api-section ol{margin:0 0 18px;padding-left:1.35em}.api-section li{margin-bottom:7px}.api-section code:not(pre code){padding:.1em .32em;border:1px solid var(--ink-12);border-radius:2px;background:#fff;font: .86em var(--mono);overflow-wrap:anywhere}
.table-wrap{max-width:100%;overflow-x:auto;margin:18px 0 22px;border:1px solid var(--ink-12);background:#fff}.api-table{width:100%;min-width:650px;border-collapse:collapse;font-size:.9rem}.api-table th,.api-table td{padding:11px 12px;border-bottom:1px solid var(--ink-12);text-align:left;vertical-align:top}.api-table tr:last-child td{border-bottom:0}.api-table th{background:rgba(0,0,0,.025);font:10px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-60)}.api-table td:first-child{width:72px;font:700 11px var(--mono);color:var(--accent-ink)}.api-table td:nth-child(2){font:12px var(--mono);white-space:nowrap}.api-table code{font:12px var(--mono)}
.code{position:relative;margin:18px 0 24px;border:1px solid #292925;border-radius:3px;background:#171714;color:#f4f1e9;overflow:hidden}.code pre{overflow:auto;margin:0;padding:46px 18px 18px;font:12px/1.65 var(--mono);tab-size:2}.copy-code{position:absolute;top:9px;right:9px;border:1px solid rgba(255,255,255,.24);border-radius:2px;background:transparent;padding:6px 9px;color:#f4f1e9;font:10px var(--mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.copy-code:hover{border-color:var(--accent);color:var(--accent)}
.note{margin:18px 0;padding:16px 18px;border-left:3px solid var(--accent);background:rgba(243,156,18,.07)}.note b{display:block;margin-bottom:7px;font:10px var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--accent-ink)}.note p:last-child{margin-bottom:0}.danger{border-left-color:#a9231a;background:rgba(169,35,26,.065)}.danger b{color:#941c14}.danger-list{display:grid;gap:10px;margin:20px 0}.danger-list .danger{margin:0}
.no-results{display:none;padding:34px 0;border-top:1px solid var(--ink-12);font-family:var(--mono);color:var(--ink-60)}body.has-no-results .no-results{display:block}

#labs-footer{margin-top:0;padding:clamp(44px,7vh,80px) 7vw clamp(36px,6vh,60px)}#labs-footer .footer-i{max-width:1180px}
@media(max-width:820px){.api-head{grid-template-columns:1fr auto 1fr}.api-layout{grid-template-columns:1fr}.api-side{position:static;max-height:none;padding:20px 0 0}.api-side nav{display:grid;grid-auto-flow:column;grid-auto-columns:max-content;overflow-x:auto;border-bottom:1px solid var(--ink-12)}.api-side a{border-left:0;border-bottom:2px solid var(--ink-12);padding:9px 11px;white-space:nowrap}.api-main{padding-top:32px}}
@media(max-width:480px){.api-main h1{font-size:2.35rem}.meta{gap:6px}.badge{font-size:9px}.code pre{font-size:11px}.api-table{min-width:590px}}

.api-index{width:min(980px,calc(100% - clamp(36px,8vw,72px)));margin:0 auto;min-height:70vh}.api-index .api-section{max-width:68ch;padding-top:clamp(20px,3vh,34px);border-top:1px solid var(--ink-12)}.api-index-link{display:inline-flex;margin-top:8px;padding-bottom:5px;border-bottom:2px solid var(--accent);color:var(--ink);font:11px var(--mono);letter-spacing:.08em;text-transform:uppercase;text-decoration:none}.api-index-link:hover{color:var(--accent-ink)}
.api-index .meta{padding-bottom:0;border-bottom:0}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.api-head,.api-side,.copy-code,.api-footer{display:none!important}.api-layout{display:block;padding:0}.api-main{max-width:none;padding:0}.api-section{break-inside:auto}.code,.table-wrap,.note{break-inside:avoid}@page{margin:16mm}}
