@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');

:root {
  color-scheme: dark;
  --ref-bg: #0e0e10;
  --ref-panel: #151719;
  --ref-ink: #f0f1eb;
  --ref-muted: #9a9f9a;
  --ref-lime: #a7d65b;
  --ref-line: rgba(225, 235, 218, .12);
  --ref-mono: 'DM Mono', ui-monospace, monospace;
  --ref-sans: 'Manrope', system-ui, sans-serif;
}
* { box-sizing: border-box; }
html { background: var(--ref-bg); scroll-behavior: smooth; }
body { margin: 0; color: var(--ref-ink); background: var(--ref-bg); font-family: var(--ref-sans); }
.api-page { position: relative; z-index: 20; max-width: 1200px; margin: 0 auto; padding: 0 42px 42px; }
.api-intro { min-height: 412px; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(260px, .75fr); border-bottom: 1px solid var(--ref-line); }
.api-intro-main { padding: 62px 5vw 50px 0; }
.eyebrow,.section-kicker { color: var(--ref-lime); font: 500 11px var(--ref-mono); letter-spacing: .16em; text-transform: uppercase; }
.eyebrow { display: flex; align-items: center; gap: 11px; }
.eyebrow-mark { width: 22px; height: 2px; background: var(--ref-lime); }
.api-intro h1 { margin: 30px 0 18px; font-size: clamp(50px, 7.2vw, 88px); letter-spacing: -.075em; line-height: .91; font-weight: 800; }
.api-intro h1 em { color: var(--ref-lime); font-style: normal; }
.intro-copy { max-width: 535px; color: #b7bdb6; font-size: 16px; line-height: 1.72; }
.intro-actions { display: flex; gap: 18px; align-items: center; flex-wrap: wrap; margin-top: 29px; }
.download-link { display: inline-flex; gap: 18px; align-items: center; padding: 12px 16px; background: var(--ref-lime); color: #182111; text-decoration: none; font-size: 13px; font-weight: 800; transition: transform .18s ease, background .18s ease; }
.download-link:hover { transform: translateY(-2px); background: #bce579; }
.download-link span { font-size: 18px; }
.intro-note { color: #818782; font: 10px var(--ref-mono); letter-spacing: .02em; }
.intro-aside { position: relative; overflow: hidden; align-self: stretch; margin: 28px 0; padding: 24px; background: #191c1a; border: 1px solid rgba(255,255,255,.06); display: flex; flex-direction: column; justify-content: space-between; }
.field-lines { position: absolute; inset: 0; opacity: .38; pointer-events: none; background: linear-gradient(90deg, transparent calc(50% - .5px), #627153 calc(50% - .5px), #627153 calc(50% + .5px), transparent calc(50% + .5px)), radial-gradient(ellipse at center, transparent 0 25%, #627153 25.2% 25.5%, transparent 25.7%); }
.aside-index,.intro-aside p,.intro-aside small,.score-mark { position: relative; z-index: 1; }
.aside-index { color: #838b7d; font: 10px var(--ref-mono); letter-spacing: .14em; }
.score-mark { align-self: center; width: 108px; height: 108px; border: 1px solid rgba(167,214,91,.65); border-radius: 50%; display: grid; place-items: center; color: var(--ref-lime); font: 500 15px var(--ref-mono); background: rgba(19,24,17,.75); }
.score-mark b { position: absolute; right: -12px; bottom: 8px; display: grid; place-items: center; height: 30px; width: 30px; background: var(--ref-lime); border-radius: 50%; color: #182111; font: 18px var(--ref-sans); }
.intro-aside p { margin: 0; font-size: 13px; line-height: 1.8; color: #dce0d6; }
.aside-rule { height: 1px; background: rgba(255,255,255,.12); }
.intro-aside small { color: #85907b; font: 9px var(--ref-mono); letter-spacing: .13em; }
.reference-wrap { padding: 43px 0 24px; }
.reference-heading { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin-bottom: 20px; }
.reference-heading h2 { margin: 8px 0 0; font-size: clamp(25px, 3vw, 34px); letter-spacing: -.045em; }
.ref-badge { display: flex; gap: 8px; align-items: center; color: #bdc6b7; font: 11px var(--ref-mono); }
.ref-badge i { width: 7px; height: 7px; background: var(--ref-lime); border-radius: 50%; }
.reference-state { min-height: 172px; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 9px; background: var(--ref-panel); border: 1px solid var(--ref-line); text-align: center; padding: 28px; color: var(--ref-muted); }
.reference-state strong { color: var(--ref-ink); font-size: 15px; }
.reference-state span { font-size: 13px; line-height: 1.6; }
.reference-state.is-error { border-color: rgba(226,119,101,.48); }
.reference-state.is-error strong { color: #f0a393; }
.reference-state.is-empty { border-color: rgba(167,214,91,.3); }
.reference-state[hidden] { display: none; }
.state-bars { display: flex; align-items: end; gap: 4px; height: 19px; margin-bottom: 5px; }
.state-bars i { width: 4px; height: 8px; background: var(--ref-lime); animation: load-bars .85s ease-in-out infinite alternate; }
.state-bars i:nth-child(2) { height: 16px; animation-delay: .18s; }
.state-bars i:nth-child(3) { height: 11px; animation-delay: .36s; }
@keyframes load-bars { to { transform: scaleY(.45); opacity: .55; } }
.reference-viewer:empty { display: none; }
.reference-static { padding: 24px; background: var(--ref-panel); border: 1px solid var(--ref-line); line-height: 1.7; min-width: 0; overflow-wrap: anywhere; }
.reference-static[hidden] { display: none; }
.reference-static a { color: var(--ref-lime); }
.reference-static nav ul { padding-left: 20px; }
.reference-static h3 { color: var(--ref-lime); font-size: 17px; }
.reference-static h4 { font-size: 16px; margin: 24px 0 10px; }
.reference-static h5 { font-size: 13px; margin: 20px 0 8px; }
.reference-static code { font-family: var(--ref-mono); font-size: 12px; }
.reference-static pre { padding: 16px; background: var(--ref-bg); overflow-x: auto; max-width: 100%; line-height: 1.6; }
.reference-description { white-space: pre-wrap; color: var(--ref-muted); }
.reference-operation { border-top: 1px solid var(--ref-line); margin-top: 32px; padding-top: 20px; scroll-margin-top: 85px; }
.api-footnote { margin-top: 34px; padding: 21px 0 12px; border-top: 1px solid var(--ref-line); display: flex; align-items: start; gap: 18px; }
.footnote-number { color: var(--ref-lime); font: 11px var(--ref-mono); padding-top: 3px; }
.api-footnote p { flex: 1; max-width: 650px; margin: 0; color: #969d95; font-size: 12px; line-height: 1.7; }
.api-footnote a { color: #d8e1cf; font: 11px var(--ref-mono); text-decoration: none; white-space: nowrap; }
.api-footnote a:hover { color: var(--ref-lime); }
/* Scalar shares the product's dark field-and-lime palette. */
scalar-api-reference { --scalar-background-1: #151719; --scalar-background-2: #1b1f1c; --scalar-background-3: #232823; --scalar-color-1: #edf1e8; --scalar-color-2: #b9c0b4; --scalar-color-3: #899184; --scalar-color-accent: #a7d65b; --scalar-border-color: rgba(225,235,218,.14); --scalar-font: var(--ref-sans); --scalar-font-code: var(--ref-mono); --scalar-radius: 2px; }
@media (max-width: 700px) {
  .api-page { padding: 0 19px 28px; }
  .api-intro { grid-template-columns: 1fr; }
  .api-intro-main { padding: 42px 0 30px; }
  .api-intro h1 { margin-top: 24px; }
  .intro-copy { font-size: 14px; }
  .intro-aside { min-height: 230px; margin: 0 0 26px; padding: 17px; }
  .score-mark { width: 77px; height: 77px; }
  .reference-wrap { padding-top: 31px; }
  .reference-heading { align-items: start; flex-direction: column; }
  .api-footnote { flex-wrap: wrap; gap: 9px 12px; }
  .api-footnote p { flex-basis: calc(100% - 38px); }
  .api-footnote a { margin-left: 30px; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; } }
