/* /api-docs/. Sizes and gaps stay on the scales of assistants.css: type 12 14 16
   18 20 24 30 36 48, space 2 4 8 12 16 24 32 40 48 64 80 96. Everything that
   moves is transform or opacity, on the one curve. Each product has a colour,
   the same on its tab, its card, its section and its line in the contents. */
:root{--bg:#eef7f1;--surface:#fff;--soft:#e2f2ea;--ink:#143d2e;--muted:#3c6b58;--line:#d5eede;--link:#146f4e;
  --deep:#0f2d22;--deep2:#17352a;--code:#0b2019;--mint:#8fd4ad;--curve:cubic-bezier(.22,1,.36,1);
  --email:#17805a;--placement:#2f6fdb;--infra:#a86a08;--tools:#7450d8;--band:#0f2d22;color-scheme:light dark}
@media (prefers-color-scheme:dark){:root{--bg:#0f2d22;--surface:#17352a;--soft:#1d3f32;--ink:#e4f3ea;--muted:#b7d3c5;
  --line:rgba(255,255,255,.12);--link:#8fd4ad;--email:#8fd4ad;--placement:#8db4f5;--infra:#f0b64b;--tools:#b9a2f2;--band:#0b2019}}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/24px 'Instrument Sans',Helvetica,sans-serif}
a{color:var(--link)}
h1,h2,h3,h4{font-family:'Gabarito',sans-serif;text-wrap:balance;margin:0}
p{text-wrap:pretty}
[data-p=email]{--p:var(--email)}[data-p=placement]{--p:var(--placement)}[data-p=infra]{--p:var(--infra)}[data-p=tools]{--p:var(--tools)}
.ad-wrap{max-width:1200px;margin:0 auto;padding:0 24px}
main :focus-visible{outline:2px solid var(--link);outline-offset:2px;border-radius:4px}
footer.site{margin-top:0}

/* buttons */
.ad-btn{display:inline-flex;align-items:center;padding:8px 12px;border-radius:12px;background:var(--ink);color:var(--bg);font-size:16px;line-height:24px;font-weight:600;text-decoration:none;
  transition:transform .5s var(--curve),opacity .3s var(--curve)}
.ad-btn:hover{opacity:.9;color:var(--bg)}.ad-btn:active{transform:scale(.98)}
.ad-btn.ghost{background:none;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}
.ad-btn.ghost:hover{color:var(--ink)}
.ad-beta{margin-inline-start:8px;padding:2px 8px;border-radius:6px;background:var(--soft);color:var(--p,var(--ink));font:600 12px/16px 'Instrument Sans',sans-serif;vertical-align:middle}

/* first screen */
.ad-hero{background:#0f2d22;color:#fff;padding:64px 0}
.ad-hero h1{display:inline-block;max-width:680px;font-size:48px;line-height:48px;font-weight:700;letter-spacing:-.02em;
  background:linear-gradient(90deg,#fff,#9b9b9b);-webkit-background-clip:text;background-clip:text;color:transparent}
[dir=rtl] .ad-hero h1{background-image:linear-gradient(270deg,#fff,#9b9b9b)}
.ad-sub{max-width:680px;margin:16px 0 0;font-size:18px;line-height:28px;color:#b7d3c5}
.ad-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px 24px;margin-top:24px}
.ad-hero .ad-btn{background:#fff;color:#0f2d22}
.ad-link{color:#b7d3c5;font-size:14px;line-height:20px;font-weight:600;transition:opacity .3s var(--curve)}
.ad-link:hover{color:#b7d3c5;opacity:.7}
.ad-proof{margin:8px 0 0;font-size:14px;line-height:20px;color:#b7d3c5}
.ad-hero :focus-visible{outline-color:var(--mint)}

/* the scene */
.sc{position:relative;margin-top:32px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:var(--code);overflow:hidden}
.sc input{position:absolute;width:1px;height:1px;opacity:0}
.sc-tabs{display:flex;flex-wrap:wrap;gap:4px;padding:8px;background:var(--deep2)}
.sc-tabs label{--p:var(--mint);display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;color:#b7d3c5;font-size:14px;line-height:20px;font-weight:600;cursor:pointer;
  transition:opacity .3s var(--curve)}
.sc-tabs label:hover{opacity:.8}
.sc-tabs i,.toc a[data-p]::before{display:inline-block;flex:none;width:8px;height:8px;border-radius:50%;background:var(--p)}
.sc-tabs [data-p=email]{--p:#8fd4ad}.sc-tabs [data-p=placement]{--p:#8db4f5}.sc-tabs [data-p=infra]{--p:#f0b64b}
#sc-email:checked~.sc-tabs [for=sc-email],#sc-placement:checked~.sc-tabs [for=sc-placement],#sc-infra:checked~.sc-tabs [for=sc-infra]{background:rgba(255,255,255,.12);color:#fff}
#sc-email:focus-visible~.sc-tabs [for=sc-email],#sc-placement:focus-visible~.sc-tabs [for=sc-placement],#sc-infra:focus-visible~.sc-tabs [for=sc-infra]{outline:2px solid var(--mint);outline-offset:2px}
/* The panels share one cell, so the box is as tall as the tallest and a change of tab moves nothing. */
.sc-panels{display:grid}
.sc-panel{grid-area:1/1;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);visibility:hidden;text-align:left}
#sc-email:checked~.sc-panels [data-panel=email],#sc-placement:checked~.sc-panels [data-panel=placement],#sc-infra:checked~.sc-panels [data-panel=infra]{visibility:visible}
.sc-req,.sc-res{min-width:0;padding:16px 24px;font:500 14px/20px 'Spline Sans Mono',ui-monospace,monospace;color:#d7eadf}
.sc-res{background:rgba(255,255,255,.04)}
.sc-k{margin:0 0 8px;font:600 12px/16px 'Instrument Sans',sans-serif;color:#b7d3c5}
.sc-call+.sc-call{margin-top:12px}
.sc-note{margin:0;color:#8fd4ad}
.sc-cmd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;color:#fff}
.sc-cmd b{color:var(--mint);font-weight:500}
.sc-cmd code{font:inherit}
.sc-cmd .r{visibility:hidden}
.sc-outs{display:grid}
.sc-out{grid-area:1/1;min-width:0;visibility:hidden}
.sc-out:last-child{visibility:inherit}
.sc-http{margin:0 0 4px;color:var(--mint);font-size:12px;line-height:16px}
.sc-out pre{margin:0;font:inherit;white-space:pre-wrap;overflow-wrap:anywhere}
.js .sc-call{opacity:.5;transition:opacity .3s var(--curve)}
.js .sc-call.on{opacity:1}
.js .sc-out{visibility:hidden;opacity:0;transform:translateY(8px);transition:opacity .3s var(--curve),transform .5s var(--curve)}
.js .sc-out:last-child{visibility:hidden}
.js .sc-out.on{visibility:inherit;opacity:1;transform:none}
.js .sc-out.on.wait{opacity:.5}
.sc .k,.ad-code .k{color:#8fd4ad}.sc .s,.ad-code .s{color:#e8d7a6}.sc .n,.ad-code .n{color:#a9c8ff}.ad-code .c{color:#8fd4ad}

/* which one */
.ad-choose{padding:64px 0}
.ad-choose h2{font-size:36px;line-height:40px;font-weight:700}
.ad-lead{margin:8px 0 0;max-width:680px;font-size:18px;line-height:28px;color:var(--muted)}
.ad-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:24px}
.ad-group{display:grid;gap:4px;align-content:start;padding:8px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.ad-group h3{padding:8px 12px;font-size:14px;line-height:20px;font-weight:600;font-family:'Instrument Sans',sans-serif;color:var(--muted)}
.ad-pick{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"n c a" "q c a";gap:0 16px;align-items:center;padding:12px;border-radius:8px;color:var(--ink);text-decoration:none;
  transition:transform .5s var(--curve)}
.ad-pick::before{content:"";position:absolute;inset:0;border-radius:8px;background:var(--soft);opacity:0;transition:opacity .3s var(--curve)}
.ad-pick>*{position:relative}
.ad-pick:hover{color:var(--ink)}
.ad-pick:hover::before{opacity:1}
.ad-pick:active{transform:translateY(1px)}
.ad-pick .n{grid-area:n;display:flex;align-items:center;flex-wrap:wrap;gap:8px;font:700 18px/28px 'Gabarito',sans-serif}
.ad-pick .ad-beta{margin:0}
.ad-pick .q{grid-area:q;font-size:14px;line-height:20px;color:var(--muted)}
.ad-pick code{grid-area:c;font-size:12px;line-height:16px;color:var(--muted);white-space:nowrap}
.ad-pick code b{color:var(--p);font-weight:600}
.ad-pick .arr{grid-area:a;color:var(--p);transition:transform .5s var(--curve)}
.ad-pick:hover .arr{transform:translateX(4px)}
[dir=rtl] .ad-pick .arr{transform:scaleX(-1)}
[dir=rtl] .ad-pick:hover .arr{transform:scaleX(-1) translateX(4px)}

/* contents and body */
.ad-body{display:grid;grid-template-columns:216px minmax(0,1fr);gap:0 48px;align-items:start;padding-bottom:64px}
.toc{position:sticky;top:80px;grid-column:1;grid-row:1/4;align-self:start;max-height:calc(100vh - 96px);overflow:auto;font-size:14px;line-height:20px}
.toc summary{display:none}
.toc ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.toc-g{margin:16px 0 4px;padding-inline-start:8px;font-size:12px;line-height:16px;font-weight:600;color:var(--muted)}
.toc a{display:flex;align-items:center;gap:8px;padding:4px 8px;border-radius:6px;color:var(--muted);text-decoration:none;transition:opacity .3s var(--curve)}
.toc a[data-p]::before{content:""}
.toc a:hover{opacity:.7}
.toc a[aria-current]{background:var(--soft);color:var(--ink);font-weight:600}
.ad-content{grid-column:2;grid-row:1;min-width:0}
.ad-rest{grid-row:3}
main{overflow-x:clip}
.ad-content>p,.ad-prod>p,.ad-common p{max-width:720px}
.ad-prod{padding-bottom:64px}
.ad-prod p{color:var(--muted)}
.ad-phead{margin-bottom:24px}
.ad-phead h2{display:flex;align-items:center;flex-wrap:wrap;gap:0 12px;font-size:36px;line-height:40px;font-weight:700}
.ad-phead .ad-beta{margin:0}
.ad-sub-h,.ad-qh{margin:32px 0 8px;font-size:24px;line-height:32px;font-weight:700}
.ad-quick{list-style:none;margin:16px 0 0;padding:0;counter-reset:q;display:grid;gap:24px}
.ad-row{counter-increment:q;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,8fr);gap:24px;align-items:start}
.ad-step{position:relative;padding-inline-start:32px}
.ad-step::before{content:counter(q);position:absolute;inset-inline-start:0;top:2px;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--p);color:var(--bg);font-size:12px;line-height:16px;font-weight:700}
.ad-step h4{font-size:18px;line-height:28px;font-weight:700}
.ad-step p{margin:4px 0 0;font-size:14px;line-height:20px}
.ad-stack{display:grid;gap:8px;min-width:0}

/* code */
.ad-code{position:relative;min-width:0;border-radius:12px;background:var(--code);color:#d7eadf;text-align:left}
.ad-code-k{margin:0;padding:8px 16px 0;font:600 12px/16px 'Instrument Sans',sans-serif;color:#b7d3c5}
.ad-code pre{margin:0;padding:8px 16px 12px;white-space:pre-wrap;overflow-wrap:anywhere;font:500 14px/20px 'Spline Sans Mono',ui-monospace,monospace}
.ad-code pre code{font:inherit;color:inherit}
.ad-copy{position:absolute;top:4px;inset-inline-end:4px;padding:2px 8px;border:0;border-radius:8px;background:rgba(255,255,255,.1);color:#d7eadf;font:600 12px/16px 'Instrument Sans',sans-serif;cursor:pointer;
  transition:transform .5s var(--curve),opacity .3s var(--curve)}
.ad-copy:hover{opacity:.8}.ad-copy:active{transform:scale(.98)}
.ad-copy:focus-visible{outline:2px solid var(--mint);outline-offset:2px}
.ad-copy.ok{color:var(--mint)}
code{font:500 14px/20px 'Spline Sans Mono',ui-monospace,monospace}
.ad-ref p code,.ad-ref li code{padding:0 4px;border-radius:4px;background:var(--soft);color:var(--ink)}

/* endpoints */
.ad-eps{display:grid;gap:8px;margin-top:16px}
.ep{padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--surface);min-width:0}
.ep h4{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px;margin-bottom:8px;font-weight:400;text-align:left}
.ep .m{flex:none;padding:2px 8px;border-radius:6px;background:var(--p,var(--email));color:var(--bg);font:700 12px/16px 'Gabarito',sans-serif;letter-spacing:.04em}
.ep .path{min-width:0;font:600 14px/20px 'Spline Sans Mono',ui-monospace,monospace;overflow-wrap:anywhere;color:var(--ink)}
.ep p{margin:0 0 8px;font-size:14px;line-height:20px;color:var(--muted);max-width:none}
.ep p:last-child{margin-bottom:0}
.ad-eps.compact .ep{display:grid;grid-template-columns:264px minmax(0,1fr);gap:8px 16px}
.ad-eps.compact h4{margin:0}
.ad-ref{text-align:left}
.ad-ref>.ep{margin-bottom:8px}
.ad-ref>p{color:var(--muted);max-width:720px}
.ad-note{margin:16px 0;padding:12px 16px;border-radius:12px;background:var(--soft);font-size:14px;line-height:20px;color:var(--muted);max-width:720px}

/* tables */
.ad-table{margin:16px 0;border:1px solid var(--line);border-radius:12px;background:var(--surface);overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:14px;line-height:20px}
td{padding:8px 12px;vertical-align:top;text-align:start;color:var(--muted);border-top:1px solid var(--line)}
tr:first-child td{border-top:0}
td:first-child{width:30%;font:600 14px/20px 'Spline Sans Mono',ui-monospace,monospace;color:var(--ink);overflow-wrap:anywhere}

/* the line in the middle: its own screen, past the contents */
.ad-tag{grid-column:1/-1;grid-row:2;position:relative;z-index:1;display:flex;align-items:center;justify-content:center;min-height:80vh;margin-inline:calc(50% - 50vw);margin-bottom:64px;padding:96px 24px;background:var(--band);color:#fff}
.ad-tag p{margin:0;max-width:680px;font:700 48px/48px 'Gabarito',sans-serif;letter-spacing:-.02em;text-wrap:balance}
.js .ad-tag .w{opacity:.28;transition:opacity .5s var(--curve)}
.js .ad-tag .w.on{opacity:1}

/* shared */
.ad-chead{display:block}
.ad-common section{padding-bottom:40px}
.ad-common h3{font-size:24px;line-height:32px;font-weight:700}
.ad-common p{color:var(--muted)}
.ad-rules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}
.ad-rules .card{padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.ad-rules h3{font-size:18px;line-height:28px}
.ad-rules p{margin:4px 0 0;font-size:14px;line-height:20px}
.ad-links{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:8px}
.ad-links li{padding:12px 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface);font-size:14px;line-height:20px;color:var(--muted)}
.ad-links a{font-weight:600}
.ad-end{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.ad-endcard{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.ad-endcard h2{font-size:24px;line-height:32px;font-weight:700}
.ad-endcard p{flex:1;margin:0 0 8px;font-size:14px;line-height:20px;color:var(--muted)}

/* reveal */
.js [data-reveal]{opacity:0;transform:translateY(32px);transition:opacity .7s var(--curve),transform .7s var(--curve)}
.js [data-reveal].seen{opacity:1;transform:none}

/* The shared bar and footer, onto the same scales on this page. */
header.top a.home{font-size:18px;line-height:28px;font-weight:700}
button,input{font:inherit}
.sitenav .navtoggle{font-size:14px}
.sc input{margin:0}
@media (max-width:1080px){.sitenav .menu,.navjs .sitenav .m2{border-radius:8px}}
.langpick>summary{border-radius:8px}
.langpick .rg,footer.site .cols .h{font-size:12px;line-height:16px}
.langpick .panel,.sitenav .menu{border-radius:16px}
.langpick .cols a,.langpick .cols .cur{padding:8px;border-radius:8px}
footer.site{font-size:14px;line-height:20px}
footer.site .name{font-size:18px;line-height:28px;font-weight:700}
footer.site .desc{font-size:14px;line-height:20px}
footer.site .built{font-size:12px;line-height:16px}
footer.site .fine{font-size:12px;line-height:16px}
footer.site .social a{border-radius:8px}

@media (max-width:1000px){
  html{scroll-padding-top:124px}
  .ad-hero h1{font-size:36px;line-height:40px}
  .sc-panel{grid-template-columns:minmax(0,1fr)}
  .ad-groups{grid-template-columns:minmax(0,1fr)}
  .ad-body{grid-template-columns:minmax(0,1fr);gap:0}
  .ad-content{grid-column:1;grid-row:2}.ad-rest{grid-row:4}
  .ad-tag{grid-row:3}
  .toc{grid-row:1;margin-bottom:24px;top:64px;z-index:20;max-height:calc(100vh - 76px);margin:0 -8px;padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
  .toc summary{display:flex;justify-content:space-between;gap:8px;padding:4px 8px;font-weight:600;cursor:pointer;list-style:none}
  .toc summary::-webkit-details-marker{display:none}
  .toc summary b{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:600;color:var(--link)}
  .ad-row{grid-template-columns:minmax(0,1fr);gap:12px}
  .ad-eps.compact .ep{grid-template-columns:minmax(0,1fr)}
  .ad-tag p{font-size:36px;line-height:40px}
}
@media (max-width:640px){
  .ad-wrap{padding:0 16px}
  .ad-rules,.ad-end{grid-template-columns:minmax(0,1fr)}
  .ad-hero{padding:48px 0}
  .ad-hero h1 br{display:none}
  .ad-pick{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"n a" "q a" "c a"}
  .ad-pick code{margin-top:4px}
  .ad-choose{padding:48px 0}
  .ad-choose h2,.ad-phead h2{font-size:30px;line-height:36px}
  .sc-req,.sc-res{padding:16px}
  td{display:block;width:auto!important;border:0;padding:4px 12px}
  td:first-child{padding-top:12px}
  tr+tr td:first-child{border-top:1px solid var(--line)}
  td:last-child{padding-bottom:12px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition-duration:.01ms!important}
  .ad-pick:hover .arr{transform:none}
  [dir=rtl] .ad-pick:hover .arr{transform:scaleX(-1)}
}
#est-consent{border-radius:16px!important}
