@font-face { font-family: "Schibsted Grotesk"; font-style: normal; font-weight: 400; font-display: swap; src: url("fonts/schibsted-grotesk-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Schibsted Grotesk"; font-style: normal; font-weight: 500; font-display: swap; src: url("fonts/schibsted-grotesk-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "Schibsted Grotesk"; font-style: normal; font-weight: 600; font-display: swap; src: url("fonts/schibsted-grotesk-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Mono"; font-style: normal; font-weight: 400; font-display: swap; src: url("fonts/ibm-plex-mono-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Mono"; font-style: normal; font-weight: 500; font-display: swap; src: url("fonts/ibm-plex-mono-latin-500-normal.woff2") format("woff2"); }
:root { color-scheme: dark;
  --ground: #131218;
  --surface: #1b1a22;
  --line: #e8e6ef;
  --mute: #9c99a8;
  --rail: rgba(232, 230, 239, 0.15);
  --accent: #b285ff;
  --on-accent: #0b0c10;
  --font-ui: "Schibsted Grotesk", "Helvetica Neue", Arial, sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace; }
html, body { background: var(--ground); color: var(--line); }
body { margin: 0; font-family: var(--font-ui); font-size: 16px; line-height: 26px; padding-inline: 0; }
.bar { display: flex; justify-content: space-between; align-items: center; gap: 26px; padding: 19.5px clamp(16px, 4vw, 52px); border-bottom: 1px solid var(--rail); position: sticky; top: env(safe-area-inset-top, 0px); z-index: 20; background: var(--ground); transition: padding 260ms cubic-bezier(0.33, 1, 0.68, 1); }
:root { --hdr-h: 73px; }
.bar.compact { padding-top: 10px; padding-bottom: 10px; }
.bar > a { display: flex; align-items: center; gap: 10px; }
.bar .trident { flex: none; height: 28px; width: calc(28px * 394 / 418); }
.bar.compact .trident { height: 22px; width: calc(22px * 394 / 418); }
.bar > a svg:not(.trident) { width: 191px; height: auto; }
.bar.compact > a svg:not(.trident) { width: 150px; }
.bar svg { display: block; }
.bar nav { display: flex; flex-wrap: wrap; gap: 26px; font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; }
.bar a { color: var(--line); text-decoration: none; }
.bar a.signin { border-bottom: 1.5px solid var(--accent); padding-bottom: 2px; }
.btn { display: inline-flex; align-items: center; height: 52px; padding: 0 26px; font-family: var(--font-mono); font-size: 13px; font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; text-decoration: none; }
.btn.primary { background: var(--accent); color: var(--on-accent); }
.btn.ghost { color: var(--line); box-shadow: inset 0 0 0 1px var(--line); }
.btn:focus-visible, .bar a:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.bar > a svg { transition: opacity 0.3s ease, width 260ms cubic-bezier(0.33, 1, 0.68, 1), height 260ms cubic-bezier(0.33, 1, 0.68, 1); }
.bar > a.hidden svg { opacity: 0; }
@media (prefers-reduced-motion: reduce) {
  .bar > a svg { transition: none; }
}
.foot { padding: 52px clamp(16px, 4vw, 52px) 0; }
.foot .in { max-width: 1040px; margin: 0 auto; display: grid; grid-template-columns: 1fr auto; gap: 26px; align-items: start; }
.foot nav { display: flex; flex-wrap: wrap; gap: 13px 26px; font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; }
.foot nav a { color: var(--line); text-decoration: none; }
.foot .meta { font-size: 13px; color: var(--mute); display: grid; gap: 6.5px; }
@media (max-width: 860px) {
  .foot .in { grid-template-columns: 1fr; }
}
:root { --snap: cubic-bezier(0.2, 0.8, 0.2, 1); }
@media (max-width: 760px) {
  .bar nav { gap: 13px; }
}
.ft { position: relative; padding-bottom: 0; border-top: 1px solid var(--rail); }
.ft .ft-in, .foot.ft .in.ft-in { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.6fr) repeat(3, minmax(0, 1fr)); gap: 26px; }
.ft-brand { display: grid; gap: 8px; align-content: start; }
.ft-word { font-family: var(--font-mono); font-size: 13px; letter-spacing: 0.14em; color: var(--line); }
.ft-tag { font-size: 14px; color: var(--mute); max-width: 28ch; }
.ft-col, .ft nav.ft-col { display: grid; flex-wrap: nowrap; text-transform: none; letter-spacing: 0; font-family: var(--font-ui); gap: 8px; align-content: start; font-size: 14px; }
.ft-col b { font: 11px var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; color: var(--mute); font-weight: 400; margin-bottom: 4px; }
.ft-col a { color: var(--line); text-decoration: none; }
.ft-col a:hover { color: var(--accent); }
.ft-col em, .ft-meta em { font-style: normal; font-family: var(--font-mono); font-size: 11px; color: var(--mute); opacity: 0.8; }
.ft .ft-meta { position: relative; z-index: 1; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 26px; margin-top: 39px; padding-top: 19.5px; border-top: 1px solid var(--rail); font-size: 13px; color: var(--mute); }
@media (max-width: 860px) {
  .ft .ft-in { grid-template-columns: 1fr 1fr; }
  .ft-brand { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
  .bar { padding: 13px 16px; gap: 13px; }
  .bar > a svg:not(.trident) { width: 150px; height: auto; }
  .bar nav { flex-wrap: nowrap; gap: 16px; font-size: 11px; letter-spacing: 0.06em; white-space: nowrap; }
  .foot.ft .in.ft-in { grid-template-columns: 1fr 1fr; gap: 26px 16px; }
  .foot.ft .in.ft-in > .ft-col:last-child { grid-column: 1 / -1; }
  .ft .ft-meta { flex-direction: column; }
}
@media (max-width: 560px) {
  .bar nav { gap: 13px; }
  .th-tog { margin: -6px 0; }
}
@media (max-width: 400px) {
  .bar { padding-left: 12px; padding-right: 12px; gap: 10px; }
  .bar > a { gap: 8px; }
  .bar > a svg:not(.trident), .bar.compact > a svg:not(.trident) { width: 104px; }
  .bar .trident { height: 22px; width: calc(22px * 394 / 418); }
  .bar nav { gap: 9px; font-size: 11px; letter-spacing: 0.02em; }
}
:root { --ground-rgb: 19 18 24; --surface-rgb: 27 26 34; --line-rgb: 232 230 239; --mute-rgb: 156 153 168; --accent-rgb: 178 133 255; }
:root[data-theme="light"] { color-scheme: light;
  --ground: #f6f5f9; --surface: #ffffff; --line: #17161d; --mute: #5d5a69;
  --rail: rgba(23, 22, 29, 0.15); --accent: #7440d8; --on-accent: #ffffff;
  --ground-rgb: 246 245 249; --surface-rgb: 255 255 255; --line-rgb: 23 22 29; --mute-rgb: 93 90 105; --accent-rgb: 116 64 216; }
.th-tog { height: 26px; padding: 0 9px; margin: -4px 0; border: 0; background: none; box-shadow: inset 0 0 0 1px var(--rail); color: var(--line); font: inherit; letter-spacing: inherit; text-transform: uppercase; cursor: pointer; transition: box-shadow 0.13s, color 0.13s; }
.th-tog:hover { box-shadow: inset 0 0 0 1px var(--accent); color: var(--accent); }
.th-tog:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.bar nav { align-items: center; min-height: 29px; }
html.th-switching, html.th-switching * { transition: background-color 0.26s cubic-bezier(0.2,0.8,0.2,1), color 0.26s cubic-bezier(0.2,0.8,0.2,1), border-color 0.26s, box-shadow 0.26s !important; }
main { display: block; }
.skip { position: absolute; left: -999px; }
.skip:focus { left: 8px; top: 8px; z-index: 10; padding: 6px 10px; background: var(--surface); color: var(--line); font: 12px var(--font-mono); }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  html.th-switching, html.th-switching * { transition: none !important; }
}
a:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }

@font-face { font-family: "Google Sans"; font-style: normal; font-weight: 500; font-display: swap; src: url("fonts/google-sans-500.woff") format("woff"); }
* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; }
a { color: var(--line); text-decoration-color: rgb(var(--accent-rgb) / 0.6); text-underline-offset: 3px; }
a:hover { color: var(--accent); }
button:focus-visible, summary:focus-visible, input:focus-visible, textarea:focus-visible, .btn:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
[id], :target { scroll-margin-top: calc(var(--hdr-h) + 16px); }
.bar a.cur { border-bottom: 1.5px solid var(--accent); padding-bottom: 2px; }
.ft { padding-bottom: 32px; }
.pg { padding: 65px clamp(16px, 4vw, 52px) 91px; }
.wrap { max-width: 1040px; margin: 0 auto; }
.narrow { max-width: 600px; margin: 0 auto; }
h1, h2, h3 { text-wrap: balance; }
.h1s, h1 { margin: 0 0 13px; font-size: clamp(34px, 4vw, 48px); line-height: 1.08; font-weight: 600; letter-spacing: -0.02em; }
.h2s, .pg h2 { margin: 52px 0 19.5px; font-size: 26px; line-height: 32px; font-weight: 600; }
.h3s, .pg h3 { margin: 32px 0 8px; font-size: 20px; line-height: 26px; font-weight: 500; }
.lede { margin: 0 0 32px; font-size: 18px; line-height: 27px; color: var(--mute); max-width: 60ch; }
.pg p { margin: 0 0 13px; }
.pg ul, .pg ol { margin: 0 0 13px; padding-left: 22px; }
.body-m { margin: 0 0 10px; color: var(--line); }
.note { margin: 10px 0; font-size: 14px; line-height: 21px; color: var(--mute); }
.h-mono { margin: 0 0 13px; font: 11px var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; color: var(--mute); }
.badges { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 19.5px; font: 11px var(--font-mono); letter-spacing: 0.08em; text-transform: uppercase; color: var(--mute); }
.badges span { padding: 4px 10px; box-shadow: inset 0 0 0 1px var(--rail); }
.badges .live { color: var(--accent); box-shadow: inset 0 0 0 1px var(--accent); }
.badges .live::before { content: "\25CF "; }
.ic, .pg code { font: 0.9em var(--font-mono); padding: 1px 5px; background: rgb(var(--line-rgb) / 0.07); overflow-wrap: anywhere; }
.pg pre { padding: 14px 16px; background: var(--surface); box-shadow: inset 0 0 0 1px var(--rail); overflow-x: auto; }
.pg pre code { padding: 0; background: none; }
.pg table { border-collapse: collapse; width: 100%; margin: 13px 0; font-size: 14.5px; }
.pg th, .pg td { text-align: left; padding: 10px 12px 10px 0; border-bottom: 1px solid var(--rail); vertical-align: top; }
.pg th { font: 400 11px var(--font-mono); letter-spacing: 0.08em; text-transform: uppercase; color: var(--mute); }
.pg blockquote { margin: 13px 0; padding: 10px 16px; box-shadow: inset 2px 0 0 var(--accent); background: rgb(var(--accent-rgb) / 0.06); }
.pg blockquote p { margin: 0; }
.btn { cursor: pointer; border: 0; transition: transform 0.13s cubic-bezier(0.2,0.8,0.2,1), opacity 0.13s; }
.btn:active { transform: scale(0.97); }
.btn:disabled { cursor: default; }
button.btn.ghost { background: none; }
.callout { margin: 26px 0; padding: 13px 16px; box-shadow: inset 2px 0 0 var(--accent); background: rgb(var(--accent-rgb) / 0.06); font-size: 15px; }
@keyframes pgIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.pg > * { animation: pgIn 0.26s cubic-bezier(0.2,0.8,0.2,1) both; }

.pr-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 19.5px; max-width: 820px; margin-bottom: 39px; }
.pr-card { display: grid; gap: 10px; align-content: start; padding: 32px; box-shadow: inset 0 0 0 1px var(--rail); }
.pr-yearly { box-shadow: inset 0 0 0 1.5px var(--accent); background: linear-gradient(135deg, rgb(var(--accent-rgb) / 0.1), rgb(var(--accent-rgb) / 0.02)); }
.pr-tag { font: 11px var(--font-mono); letter-spacing: 0.14em; text-transform: uppercase; color: var(--mute); }
.pr-yearly .pr-tag { color: var(--accent); }
.pr-price { display: flex; align-items: baseline; gap: 10px; }
.pr-amt { font-size: 56px; font-weight: 600; line-height: 1; }
.pr-amt.mute { opacity: 0.85; }
.pr-per { color: var(--mute); }
.pr-basis { font: 13px var(--font-mono); color: var(--mute); }
.pr-card .btn { justify-self: start; margin-top: 10px; }
.cols2 { display: grid; grid-template-columns: 1fr 1fr; gap: 39px; padding-top: 26px; border-top: 1px solid var(--rail); }
.ticks { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; font-size: 15px; }
.pg .ticks { padding: 0; }
.ticks li::before { content: "\2713"; font-family: var(--font-mono); color: var(--accent); margin-right: 10px; }
.facts { display: grid; gap: 12px; align-content: start; }
.facts p { margin: 0; font-size: 14px; line-height: 21px; color: var(--mute); }
.facts b { color: var(--line); font-weight: 500; }
.lim { width: 100%; border-collapse: collapse; font-size: 14.5px; }
.pg .lim td { padding: 8px 0; border-bottom: 1px solid var(--rail); vertical-align: top; }
.lim td:first-child { color: var(--mute); width: 46%; }
.lim td:last-child { font-weight: 500; }
.faq { max-width: 760px; border-top: 1px solid var(--rail); }
.faq details { border-bottom: 1px solid var(--rail); }
.faq summary { list-style: none; cursor: pointer; padding: 19.5px 32px 19.5px 0; font-size: 17px; font-weight: 500; position: relative; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; position: absolute; right: 4px; top: 16px; font: 20px var(--font-mono); color: var(--mute); transition: transform 0.26s cubic-bezier(0.2,0.8,0.2,1), color 0.13s; }
.faq details[open] summary::after { transform: rotate(45deg); color: var(--accent); }
.faq details p { margin: 0 0 19.5px; color: var(--mute); max-width: 62ch; }
.faq details[open] p { animation: pgIn 0.26s cubic-bezier(0.2,0.8,0.2,1) both; }

.gsi { display: inline-flex; align-items: center; height: 40px; padding: 0 12px; gap: 10px; background: #FFFFFF; box-shadow: inset 0 0 0 1px #747775; color: #1F1F1F; font: 500 14px/20px "Google Sans", Roboto, Arial, sans-serif; letter-spacing: 0.25px; text-decoration: none; cursor: pointer; border: 0; border-radius: 0; transition: background 0.13s; }
.gsi:hover { background: #F8F8F8; color: #1F1F1F; }
.gsi:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.gsi .g-logo { width: 20px; height: 20px; flex: none; display: block; }

.legal { max-width: 1040px; margin: 0 auto; display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 52px; }
.ltoc { position: sticky; top: calc(var(--hdr-h) + 20px); align-self: start; display: grid; gap: 4px; font-size: 14px; }
.ltoc a { color: var(--mute); text-decoration: none; padding: 3px 0; }
.ltoc a:hover { color: var(--accent); }
.ldoc { max-width: 66ch; min-width: 0; }
.ldoc h2 { margin: 39px 0 10px; font-size: 21px; line-height: 28px; scroll-margin-top: calc(var(--hdr-h) + 16px); }
.ldoc h3 { margin: 26px 0 6px; font-size: 17px; line-height: 24px; font-weight: 500; scroll-margin-top: calc(var(--hdr-h) + 16px); }
.ldoc h2 a, .ldoc h3 a { text-decoration: none; }
.crumb { font: 11px var(--font-mono); color: var(--mute); letter-spacing: 0.06em; text-transform: uppercase; margin: 0 0 13px; }
.lmeta { font: 12px var(--font-mono); color: var(--mute); margin: 0 0 26px; }
.lmeta b { color: var(--line); font-weight: 400; }
.ldoc :target { scroll-margin-top: calc(var(--hdr-h) + 16px); }

.nf { padding-top: 26px; }
.nf-ask { font: 15px var(--font-mono); margin-bottom: 10px; }
.nf-you { color: var(--mute); margin-right: 8px; }
.nf-ans { padding: 14px 16px; background: var(--surface); box-shadow: inset 0 0 0 1px var(--rail); font: 13.5px/23px var(--font-mono); margin-bottom: 39px; overflow-wrap: anywhere; }
.nf-l { opacity: 0; animation: pgIn 0.26s cubic-bezier(0.2,0.8,0.2,1) both; }
.nf-l:nth-child(1) { animation-delay: 0.3s; }
.nf-l:nth-child(2) { animation-delay: 0.6s; }
.nf-l:nth-child(3) { animation-delay: 0.9s; }
.nf-l .g, .nf-l.mute { color: var(--mute); }
.nf-lab { color: var(--line); margin-right: 10px; text-decoration: underline dotted; text-underline-offset: 4px; }
.nf-h { font-size: clamp(36px, 5vw, 56px); }
.nf-links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.nf-links a { text-decoration: none; padding: 10px 16px; box-shadow: inset 0 0 0 1px var(--rail); font: 12px var(--font-mono); letter-spacing: 0.08em; text-transform: uppercase; transition: box-shadow 0.13s, color 0.13s; }
.nf-links a:hover { box-shadow: inset 0 0 0 1px var(--accent); }

@media (max-width: 860px) {
  .pr-pair, .cols2 { grid-template-columns: 1fr; }
  .legal { grid-template-columns: 1fr; gap: 26px; }
  .ltoc { position: static; }
}
@media (max-width: 560px) {
  .pr-card { padding: 26px 20px; }
  .pr-amt { font-size: 46px; }
}
@media (prefers-reduced-motion: reduce) {
  .pg > *, .faq details[open] p, .nf-l { animation: none; opacity: 1; }
}

.ldoc { overflow-wrap: anywhere; }
.ldoc table { display: block; overflow-x: auto; }

.ntab { display: table; width: 100%; table-layout: fixed; border-collapse: collapse; font-size: 13.5px; line-height: 20px; margin: 0 0 13px; overflow-wrap: anywhere; }
.ntab th { text-align: left; font: 11px var(--font-mono); letter-spacing: 0.06em; text-transform: uppercase; color: var(--mute); padding: 6px 10px 6px 0; border-bottom: 1px solid var(--rail); }
.ntab td { vertical-align: top; padding: 7px 10px 7px 0; border-bottom: 1px solid var(--rail); }
.ntab code { font: 12px var(--font-mono); background: none; padding: 0; }
.ndet > summary { cursor: pointer; margin: 0 0 13px; }
@media (max-width: 560px) {
  .ntab, .ntab tbody, .ntab tr, .ntab td { display: block; width: 100%; }
  .ntab thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .ntab tr { padding: 8px 0; border-bottom: 1px solid var(--rail); }
  .ntab td { border: 0; padding: 1px 0; }
  .ntab td::before { content: attr(data-label) ": "; color: var(--mute); }
}

.abanner { border-bottom: 1px solid var(--rail); background: rgb(var(--accent-rgb) / 0.07); padding: 9px clamp(16px, 4vw, 52px); font-size: 13.5px; line-height: 21px; color: var(--mute); }
.ab-in { display: block; max-width: 1120px; margin: 0 auto; }
.ab-k { font: 11px var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; color: var(--accent); margin-right: 10px; }
.abanner code { font: 12.5px var(--font-mono); color: var(--line); padding: 0; background: none; }
.abanner a { text-decoration: none; }

.docs { max-width: 1120px; margin: 0 auto; display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 52px; }
.dnav { position: sticky; top: calc(var(--hdr-h) + 20px); align-self: start; display: grid; gap: 2px; }
.dnav .h-mono { margin: 19.5px 0 6px; }
.dnav .h-mono:first-child { margin-top: 0; }
.dnav .nav-agent { color: var(--accent); }
.dnav a { text-decoration: none; color: var(--mute); padding: 5px 10px; font-size: 14.5px; box-shadow: inset 2px 0 0 transparent; transition: color 0.13s, box-shadow 0.13s; overflow-wrap: anywhere; }
.dnav a:hover { color: var(--line); }
.dnav a.on { color: var(--line); box-shadow: inset 2px 0 0 var(--accent); background: rgb(var(--accent-rgb) / 0.06); }
.dnav a.mono { font-family: var(--font-mono); font-size: 12.5px; }
.dbody { min-width: 0; max-width: 720px; }
.dbody h2 { margin: 52px 0 13px; font-size: 22px; line-height: 28px; font-weight: 600; display: flex; align-items: center; gap: 12px; scroll-margin-top: calc(var(--hdr-h) + 16px); text-wrap: balance; }
.dbody h3 { margin: 26px 0 8px; font-size: 17px; line-height: 24px; font-weight: 500; scroll-margin-top: calc(var(--hdr-h) + 16px); }
.dbody p { margin: 0 0 13px; }
.dbody a { color: var(--accent); text-decoration-color: rgb(var(--accent-rgb) / 0.6); }
.dbody .lede { margin-bottom: 26px; }
.mono-h { font-family: var(--font-mono); font-weight: 500; letter-spacing: -0.01em; font-size: clamp(30px, 3.6vw, 42px); overflow-wrap: anywhere; }
.crumb { font: 11px var(--font-mono); color: var(--mute); letter-spacing: 0.06em; margin: 0 0 13px; }
.sn { display: inline-grid; place-items: center; flex: none; width: 26px; height: 26px; font: 500 12px var(--font-mono); background: var(--accent); color: var(--on-accent); }
.toc { display: flex; flex-wrap: wrap; gap: 6px 16px; padding: 13px 16px; margin: 0 0 13px; box-shadow: inset 0 0 0 1px var(--rail); font-size: 13.5px; }
.toc .h-mono { margin: 0; width: 100%; }
.dbody .toc a { color: var(--mute); text-decoration: none; }
.dbody .toc a:hover { color: var(--accent); }
.chips { list-style: none; padding: 0; margin: 0 0 13px; display: flex; flex-wrap: wrap; gap: 8px; }
.pg .chips { padding: 0; }
.chips li { font-size: 13.5px; padding: 5px 12px; box-shadow: inset 0 0 0 1px var(--rail); }

.code { display: flex; align-items: center; min-height: 48px; margin: 13px 0; background: var(--surface); box-shadow: inset 0 0 0 1px var(--rail); font: 14px var(--font-mono); }
.code .p { padding: 0 0 0 16px; color: var(--mute); white-space: nowrap; }
.code code { flex: 1; min-width: 0; padding: 12px 16px; white-space: pre-wrap; overflow-wrap: anywhere; background: none; font: inherit; }
.code.tall { align-items: stretch; }
.code.tall .p { padding-top: 12px; font-size: 11px; }
.code .copy { align-self: stretch; padding: 0 16px; border: 0; border-left: 1px solid var(--rail); background: none; color: var(--mute); font: 11px var(--font-mono); letter-spacing: 0.08em; text-transform: uppercase; cursor: pointer; }
.code .copy:hover, .code .copy.ok { color: var(--accent); }
.code .copy:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.code.pending { background-image: repeating-linear-gradient(45deg, rgb(var(--mute-rgb) / 0.07) 0 2px, transparent 2px 7px); }
.steps { margin: 0 0 13px; padding-left: 22px; display: grid; gap: 6px; }

.term { position: relative; margin: 13px 0; padding: 14px 16px 26px; background: var(--surface); box-shadow: inset 0 0 0 1px var(--rail); font: 13px/21px var(--font-mono); display: grid; gap: 4px; }
.term .tl { white-space: pre-wrap; overflow-wrap: anywhere; }
.term .m { color: var(--mute); }
.ill { position: absolute; right: 10px; bottom: 6px; font: 10.5px var(--font-mono); color: var(--mute); opacity: 0.85; }
.ask-q { display: flex; flex-wrap: wrap; gap: 10px; align-items: baseline; margin: 13px 0 0; font: 13.5px var(--font-mono); }
.ask-q code { overflow-wrap: anywhere; }
.aq-y { font-size: 11px; color: var(--mute); text-transform: uppercase; letter-spacing: 0.08em; }
.ann { position: relative; margin: 13px 0; padding: 12px 0 28px; background: var(--surface); box-shadow: inset 0 0 0 1px var(--rail); overflow-x: auto; }
.an-l { display: grid; grid-template-columns: minmax(0, 1fr) 30px; align-items: start; gap: 8px; padding: 3px 12px 3px 16px; }
.an-l code { font: 13px/20px var(--font-mono); white-space: pre-wrap; overflow-wrap: anywhere; background: none; padding: 0; }
.an-n, .annl > li::before { display: inline-grid; place-items: center; width: 20px; height: 20px; font: 500 11px var(--font-mono); color: var(--accent); box-shadow: inset 0 0 0 1px var(--accent); }
.an-l:hover { background: rgb(var(--accent-rgb) / 0.06); }
.annl { list-style: none; counter-reset: an; margin: 13px 0; padding: 0; display: grid; gap: 10px; }
.pg .annl { padding: 0; }
.annl > li { counter-increment: an; position: relative; padding-left: 33px; font-size: 15px; }
.annl > li::before { content: counter(an); position: absolute; left: 0; top: 2px; }

.dbody table { width: 100%; border-collapse: collapse; margin: 13px 0; font-size: 14px; }
.dbody th, .dbody td { text-align: left; padding: 10px 12px 10px 0; border-bottom: 1px solid var(--rail); vertical-align: top; overflow-wrap: anywhere; }
.dbody th { font: 400 11px var(--font-mono); letter-spacing: 0.08em; text-transform: uppercase; color: var(--mute); }
.dbody table code { background: none; padding: 0; }
.tools td:first-child, .labt td:nth-child(2) { font-family: var(--font-mono); font-size: 13px; }
.labt td:first-child { font: 16px var(--font-mono); color: var(--accent); width: 26px; }
.labt td:nth-child(2) { color: var(--line); white-space: nowrap; }
.labt td:nth-child(4) { color: var(--mute); }
.lim td:first-child { color: var(--mute); width: 46%; }

.callout.limit { box-shadow: inset 2px 0 0 var(--mute); background: rgb(var(--line-rgb) / 0.04); }
.callout p:last-child { margin-bottom: 0; }
.cannot { list-style: none; margin: 0 0 13px; padding: 0; display: grid; gap: 8px; }
.pg .cannot { padding: 0; }
.cannot li { position: relative; padding-left: 33px; font-size: 15px; }
.cannot li::before { position: absolute; left: 0; top: 0; content: "\26A0"; font-family: var(--font-mono); color: var(--mute); }

.pu, .pendm { display: inline-block; padding: 0 7px; margin-right: 4px; font: 10.5px/18px var(--font-mono); letter-spacing: 0.06em; text-transform: uppercase; color: var(--mute); box-shadow: inset 0 0 0 1px var(--rail); background-image: repeating-linear-gradient(45deg, rgb(var(--mute-rgb) / 0.16) 0 2px, transparent 2px 6px); }
.pu.run { color: var(--accent); box-shadow: inset 0 0 0 1px var(--accent); background-image: none; }
.pendm { color: var(--accent); box-shadow: inset 0 0 0 1px var(--accent); background-image: none; padding: 1px 8px; margin-right: 8px; }
.pendm-l { font-size: 14px; color: var(--mute); }
.pslot { color: var(--mute); font-style: italic; padding: 0 4px; background-image: repeating-linear-gradient(45deg, rgb(var(--mute-rgb) / 0.12) 0 2px, transparent 2px 6px); }

.goals { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; margin: 6px 0 13px; }
.dbody a.goal { display: grid; gap: 6px; align-content: start; padding: 19.5px; text-decoration: none; color: var(--line); box-shadow: inset 0 0 0 1px var(--rail); transition: box-shadow 0.13s, background 0.13s; }
.dbody a.goal:hover, .dbody a.goal:focus-visible { box-shadow: inset 0 0 0 1.5px var(--accent); background: rgb(var(--accent-rgb) / 0.05); }
.goal:first-child { box-shadow: inset 0 0 0 1.5px var(--accent); }
.g-n { font-size: 18px; font-weight: 600; }
.g-d { font-size: 14.5px; line-height: 21px; color: var(--mute); }
.g-go { margin-top: 6px; font: 11px var(--font-mono); letter-spacing: 0.08em; text-transform: uppercase; color: var(--accent); }
.qs { list-style: none; margin: 0; padding: 0; display: grid; gap: 19.5px; }
.pg .qs { padding: 0; }
.qs > li { display: grid; grid-template-columns: 26px minmax(0, 1fr); gap: 13px; }
.qs b { font-weight: 600; }
.qs p { margin: 2px 0 0; color: var(--mute); font-size: 15px; }
.qs .code { margin-bottom: 0; }
.tools5 { display: grid; border-top: 1px solid var(--rail); margin: 13px 0; }
.dbody .tools5 a { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 13px; padding: 12px 0; border-bottom: 1px solid var(--rail); text-decoration: none; font-size: 14.5px; color: var(--line); }
.tools5 code { font: 13px var(--font-mono); color: var(--accent); background: none; padding: 0; overflow-wrap: anywhere; }
.tools5 span { color: var(--mute); }
.tools5 a:hover span { color: var(--line); }
.forag { margin-top: 39px; padding: 19.5px; box-shadow: inset 0 0 0 1px var(--rail); background: var(--surface); }
.forag .h-mono { margin-bottom: 6px; }
.fa-row { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 13px; padding: 6px 0; font-size: 14px; color: var(--mute); }
.fa-row > code { font: 13px var(--font-mono); color: var(--line); background: none; padding: 0; overflow-wrap: anywhere; }

.ag { margin: 19.5px 0; box-shadow: inset 0 0 0 1px var(--rail); }
.ag-tabs { display: none; overflow-x: auto; scrollbar-width: none; border-bottom: 1px solid var(--rail); }
.js .ag-tabs { display: flex; }
.ag-tabs button { flex: none; font: 12px var(--font-mono); letter-spacing: 0.04em; color: var(--mute); background: none; border: 0; padding: 12px 16px; cursor: pointer; box-shadow: inset 0 -2px 0 transparent; transition: color 0.13s, box-shadow 0.13s; }
.ag-tabs button:hover { color: var(--line); }
.ag-tabs button[aria-selected="true"] { color: var(--accent); box-shadow: inset 0 -2px 0 var(--accent); }
.ag-tabs button:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.ag-p { padding: 6px 19.5px 13px; }
.ag-p[hidden] { display: none; }
.ag-p + .ag-p { border-top: 1px solid var(--rail); }
.js .ag-p + .ag-p { border-top: 0; }
.dbody .ag-p h3 { margin: 13px 0 6px; }
.js .ag-p h3 { display: none; }
.ag-where { color: var(--mute); font-size: 14px; }
.ag-step { margin: 13px 0 6px !important; }
.ag-step b { display: inline-block; min-width: 52px; font: 500 11px var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; color: var(--accent); }
.ag-p ul { font-size: 14.5px; }
.ag-p .note { margin-top: 6px; }
.trio { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; margin: 13px 0; }
.trio > div { min-width: 0; padding: 16px; box-shadow: inset 0 0 0 1px var(--rail); }
.trio p { font-size: 14.5px; }
.trio .code { margin-bottom: 8px; }
.nextc { margin-top: 52px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; }
.nextc .h-mono { grid-column: 1 / -1; margin: 0; }
.dbody .nextc a { display: grid; gap: 4px; padding: 16px; text-decoration: none; color: var(--line); box-shadow: inset 0 0 0 1px var(--rail); transition: box-shadow 0.13s; }
.nextc a:hover { box-shadow: inset 0 0 0 1.5px var(--accent); }
.nextc b { font-weight: 600; }
.nextc a span { font-size: 13.5px; color: var(--mute); }
.pager { display: flex; justify-content: space-between; gap: 16px; margin-top: 52px; padding-top: 19.5px; border-top: 1px solid var(--rail); font-size: 15px; }
.pager a { text-decoration: none; color: var(--accent); overflow-wrap: anywhere; }
.pager a:last-child { text-align: right; margin-left: auto; }

.agline { display: flex; flex-wrap: wrap; gap: 6px 16px; align-items: center; margin-top: 39px; padding-top: 13px; border-top: 1px dashed var(--rail); font: 11.5px var(--font-mono); color: var(--mute); }
.agline b { font-weight: 400; color: var(--accent); letter-spacing: 0.08em; text-transform: uppercase; font-size: 10.5px; }
.dbody .agline a { color: var(--line); }
.dbody .agline a:hover { color: var(--accent); }
.agline span { overflow-wrap: anywhere; }

.cl-e { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 26px; padding: 26px 0 39px; border-top: 1px solid var(--rail); }
.cl-m { display: grid; gap: 4px; align-content: start; }
.cl-v { font: 500 18px var(--font-mono); }
.cl-d { font: 12px var(--font-mono); color: var(--mute); }
.cl-s { font-size: 17px; margin-bottom: 19.5px; }
.cl-c .h-mono { margin: 13px 0 6px; }
.cl-c ul { margin: 0; padding-left: 18px; color: var(--mute); font-size: 15px; }

.pl-two { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); gap: 13px; margin: 13px 0; }
.pl-c { min-width: 0; padding: 19.5px; box-shadow: inset 0 0 0 1px var(--rail); }
.pl-c:last-child { box-shadow: inset 0 0 0 1.5px var(--accent); }
.pl-c p { font-size: 15px; }
.skl { margin: 0 0 13px; padding-left: 18px; display: grid; gap: 6px; font-size: 14.5px; }
.pg .skl { padding-left: 18px; }

@media (max-width: 860px) {
  .docs { grid-template-columns: 1fr; gap: 26px; }
  .dnav { position: static; display: flex; flex-wrap: nowrap; overflow-x: auto; gap: 4px; padding-bottom: 6px; border-bottom: 1px solid var(--rail); scrollbar-width: none; }
  .dnav .h-mono { display: none; }
  .dnav a { white-space: nowrap; }
  .trio, .nextc { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .goals { grid-template-columns: 1fr; }
  .dbody .tools5 a { grid-template-columns: 1fr; gap: 2px; }
  .fa-row { grid-template-columns: 1fr; gap: 2px; }
  .cl-e, .pl-two { grid-template-columns: 1fr; gap: 13px; }
  .labt td:nth-child(4), .labt th:nth-child(4) { display: none; }
  .ag-p { padding: 4px 13px 13px; }
  .dbody table { display: block; overflow-x: auto; }
  .pager { flex-direction: column; }
  .pager a:last-child { margin-left: 0; text-align: left; }
}

.trio .code { flex-wrap: wrap; align-items: stretch; }
.trio .code .p { width: 100%; padding: 10px 16px 0; font-size: 11px; overflow-wrap: anywhere; white-space: normal; }
.trio .code code { flex-basis: 100%; }
.trio .code .copy { flex-basis: 100%; min-height: 34px; border-left: 0; border-top: 1px solid var(--rail); }
.dbody .tools td:first-child { white-space: nowrap; overflow-wrap: normal; }
@media (max-width: 560px) { .dbody .tools td:first-child { white-space: normal; overflow-wrap: anywhere; } }
.dbody table[data-generated="tool-inputs"] td:first-child { white-space: nowrap; overflow-wrap: normal; font-family: var(--font-mono); font-size: 13px; }
.dbody table[data-generated="tool-inputs"] td:nth-child(2) { min-width: 120px; }
