@charset "UTF-8";
/* Nexus Gateway portal. Tokens first; components use only tokens so both themes stay in step. */
:root {
  color-scheme:light; --header-height:60px; --sidebar-width:264px; --rail-width:224px; --reading-width:760px;
  --font:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI Variable Text","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --display:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI Variable Display","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --mono:ui-monospace,"Cascadia Code","SF Mono","SFMono-Regular",Menlo,Consolas,monospace;
  --radius-sm:6px; --radius:10px; --radius-lg:14px;
  --bg:#ffffff; --bg-blur:#ffffffcc; --sidebar:#fbfcfd; --surface:#f4f6f9; --hover:#eef1f5; --raised:#ffffff;
  --text:#0b1220; --body:#3a4556; --muted:#5f6b7c; --line:#e6e9ef; --strong-line:#d2d8e1;
  --accent:#1f6aaa; --accent-strong:#16568d; --accent-soft:#ebf4fc; --accent-line:#bcd8f0; --focus:#3a9ad2;
  --success:#177245; --success-bg:#e9f8ef; --warning:#9a5a06; --warning-bg:#fdf4e3;
  --danger:#bb3328; --danger-bg:#fdeeed; --info:#1f6aaa; --info-bg:#ebf4fc;
  --code-bg:#0e131b; --code-head:#151b25; --code-line:#232b38; --code-text:#e6edf3; --code-muted:#93a0b2; --code-hover:#1e2632;
  --syntax-key:#7cc4ff; --syntax-string:#9fdfb1; --syntax-keyword:#d4abff; --syntax-number:#ffb672; --syntax-comment:#8592a6;
  --shadow:0 24px 64px -12px #0f1a2e2e,0 4px 12px #0f1a2e0f; --card-shadow:0 1px 2px #0f1a2e0d,0 1px 1px #0f1a2e08; --lift:0 10px 28px -10px #0f1a2e33;
}
:root[data-theme="dark"] {
  color-scheme:dark;
  --bg:#0a0d12; --bg-blur:#0a0d12cc; --sidebar:#0c1016; --surface:#131820; --hover:#1a2029; --raised:#10151c;
  --text:#f2f5f9; --body:#c4ccd8; --muted:#8e99a9; --line:#1e252f; --strong-line:#2b3441;
  --accent:#6db8f2; --accent-strong:#94cbf6; --accent-soft:#102539; --accent-line:#1d4467; --focus:#6db8f2;
  --success:#5fd394; --success-bg:#0f2a1c; --warning:#f2b94c; --warning-bg:#2c2110;
  --danger:#f48b82; --danger-bg:#2e1614; --info:#6db8f2; --info-bg:#102539;
  --code-bg:#0f141b; --code-head:#141a23; --code-line:#222a36;
  --shadow:0 24px 64px -12px #000c,0 4px 12px #0006; --card-shadow:0 1px 2px #0005; --lift:0 12px 30px -12px #000c;
}
@media (prefers-color-scheme:dark) {
  :root:not([data-theme="light"]) {
    color-scheme:dark;
    --bg:#0a0d12; --bg-blur:#0a0d12cc; --sidebar:#0c1016; --surface:#131820; --hover:#1a2029; --raised:#10151c;
    --text:#f2f5f9; --body:#c4ccd8; --muted:#8e99a9; --line:#1e252f; --strong-line:#2b3441;
    --accent:#6db8f2; --accent-strong:#94cbf6; --accent-soft:#102539; --accent-line:#1d4467; --focus:#6db8f2;
    --success:#5fd394; --success-bg:#0f2a1c; --warning:#f2b94c; --warning-bg:#2c2110;
    --danger:#f48b82; --danger-bg:#2e1614; --info:#6db8f2; --info-bg:#102539;
    --code-bg:#0f141b; --code-head:#141a23; --code-line:#222a36;
    --shadow:0 24px 64px -12px #000c,0 4px 12px #0006; --card-shadow:0 1px 2px #0005; --lift:0 12px 30px -12px #000c;
  }
}

/* Base */
* { box-sizing:border-box; }
html { scroll-padding-top:calc(var(--header-height) + 28px); scrollbar-gutter:stable; }
/* The compact contents bar adds 44px below the header wherever it is shown. */
html:has(body[data-page="overview"]),html:has(body[data-page="reference"]) { scroll-padding-top:calc(var(--header-height) + 64px); }
body { margin:0; background:var(--bg); color:var(--text); font:16px/1.7 var(--font); -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; text-rendering:optimizeLegibility; }
::selection { background:var(--accent-line); color:var(--text); }
a { color:var(--accent); text-decoration:none; text-underline-offset:3px; text-decoration-thickness:1px; } a:hover { color:var(--accent-strong); text-decoration:underline; }
button,input,select { font:inherit; } button,select { cursor:pointer; } button:disabled { cursor:default; opacity:.55; }
button,a,select,input,summary { -webkit-tap-highlight-color:transparent; transition:background-color 140ms,color 140ms,border-color 140ms,box-shadow 140ms,transform 140ms; }
:focus-visible { outline:2px solid var(--focus); outline-offset:2px; border-radius:4px; }
[hidden] { display:none !important; }
svg { flex-shrink:0; }
.sr-only { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link { position:fixed; top:-60px; left:18px; z-index:100; padding:8px 16px; background:var(--bg); color:var(--accent); border:1px solid var(--line); border-radius:var(--radius-sm); } .skip-link:focus { top:10px; }
kbd { display:inline-flex; align-items:center; font:12px/1 var(--mono); color:var(--muted); padding:3px 5px; border:1px solid var(--line); border-bottom-width:2px; background:var(--bg); border-radius:5px; }

/* Header */
.topbar { height:var(--header-height); position:sticky; top:0; z-index:30; background:var(--bg-blur); backdrop-filter:saturate(180%) blur(14px); -webkit-backdrop-filter:saturate(180%) blur(14px); border-bottom:1px solid var(--line); display:flex; align-items:center; gap:20px; padding:0 24px; }
.brand-group { display:flex; align-items:center; gap:10px; width:calc(var(--sidebar-width) - 44px); flex-shrink:0; }
.brand { display:flex; gap:10px; align-items:center; color:var(--text); white-space:nowrap; } .brand:hover { text-decoration:none; color:var(--text); }
.brand img { width:34px; height:17px; } .brand strong { font:650 18px/1 var(--display); letter-spacing:-.4px; }
.header-actions { display:flex; align-items:center; gap:10px; margin-left:auto; }
.search-trigger { display:flex; align-items:center; gap:9px; width:260px; white-space:nowrap; height:36px; border:1px solid var(--line); background:var(--surface); color:var(--muted); border-radius:9px; padding:0 8px 0 11px; font-size:14px; } .search-trigger:hover { border-color:var(--strong-line); color:var(--body); }
.search-icon { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; }
.search-trigger kbd { margin-left:auto; }
.schema-download { font-size:14px; font-weight:500; color:var(--body); white-space:nowrap; padding:6px 10px; border-radius:8px; } .schema-download:hover { background:var(--surface); color:var(--text); text-decoration:none; }
.icon-button { width:36px; height:36px; display:grid; place-items:center; padding:0; border:1px solid transparent; background:transparent; border-radius:9px; color:var(--muted); line-height:1; }
.icon-button svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; } .icon-button:hover { background:var(--surface); color:var(--text); } .nav-toggle { display:none; }
.theme-toggle .icon-sun { display:none; } :root[data-theme="dark"] .theme-toggle .icon-sun { display:block; } :root[data-theme="dark"] .theme-toggle .icon-moon { display:none; }
@media (prefers-color-scheme:dark) { :root:not([data-theme="light"]) .theme-toggle .icon-sun { display:block; } :root:not([data-theme="light"]) .theme-toggle .icon-moon { display:none; } }

/* Shell */
.layout { display:grid; grid-template-columns:var(--sidebar-width) minmax(0,1fr); }
.sidebar { display:flex; flex-direction:column; padding:28px 14px 20px; height:calc(100dvh - var(--header-height)); align-self:start; position:sticky; top:var(--header-height); overflow-y:auto; scrollbar-width:thin; border-right:1px solid var(--line); }
.nav-group { margin-bottom:18px; } .nav-group p { font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.06em; margin:0 10px 6px; color:var(--muted); }
.nav-group a { display:flex; align-items:center; gap:10px; padding:6px 10px; font-size:14.5px; color:var(--body); border-radius:8px; line-height:1.5; margin:1px 0; }
.nav-group a:hover { color:var(--text); background:var(--hover); text-decoration:none; }
.nav-icon { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; color:var(--muted); }
.nav-group a:hover .nav-icon { color:var(--text); }
.nav-group a[aria-current] { color:var(--accent); background:var(--accent-soft); font-weight:600; } .nav-group a[aria-current] .nav-icon { color:var(--accent); }
.sidebar-footer { margin:4px 0 0; padding:14px 10px 0; border-top:1px solid var(--line); } .sidebar-download { font-size:14px; color:var(--body); } .sidebar-download:hover { color:var(--accent); }

main { min-width:0; width:100%; padding:0 48px 24px; }
main:focus { outline:none; }
.page-body { display:grid; grid-template-columns:minmax(0,var(--reading-width)) var(--rail-width); gap:64px; justify-content:center; }
.page-content { min-width:0; padding-top:44px; }
.toc-rail { position:sticky; top:var(--header-height); align-self:start; max-height:calc(100dvh - var(--header-height)); overflow-y:auto; padding:48px 0 24px; scrollbar-width:thin; }
.toc-rail:has(nav:empty) { visibility:hidden; }
.toc-title { margin:0 0 10px; font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); }
.toc-rail nav { border-left:1px solid var(--line); }
.toc-rail nav a { display:block; margin-left:-1px; padding:5px 0 5px 14px; border-left:2px solid transparent; font-size:13.5px; line-height:1.45; color:var(--muted); }
.toc-rail nav a:hover { color:var(--text); text-decoration:none; }
.toc-rail nav a[aria-current] { color:var(--accent); border-left-color:var(--accent); font-weight:550; }
.toc-top { display:inline-block; margin-top:16px; font-size:13px; color:var(--muted); } .toc-top:hover { color:var(--text); text-decoration:none; }

/* Compact contents menu for narrow screens and wide pages */
.page-tools { display:none; position:sticky; top:var(--header-height); z-index:16; align-items:center; background:var(--bg-blur); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); border-bottom:1px solid var(--line); margin:0 -48px; padding:0 48px; height:44px; }
.page-tools .page-contents { position:relative; border:0; }
.page-tools summary { display:flex; align-items:center; gap:8px; font-size:14px; font-weight:500; padding:10px 2px; color:var(--body); list-style:none; } .page-tools summary::-webkit-details-marker { display:none; }
.page-tools summary::after { content:""; width:6px; height:6px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:translateY(-2px) rotate(45deg); transition:transform 140ms; }
.page-tools details[open]>summary { margin:0; color:var(--accent); } .page-tools details[open]>summary::after { transform:translateY(1px) rotate(-135deg); }
.page-contents nav { position:absolute; top:calc(100% + 4px); left:0; width:320px; max-width:calc(100vw - 40px); max-height:calc(100dvh - var(--header-height) - 100px); overflow:auto; background:var(--raised); border:1px solid var(--strong-line); border-radius:var(--radius); padding:6px; box-shadow:var(--shadow); }
.page-contents a { display:block; font-size:14px; padding:7px 10px; color:var(--body); border-radius:7px; }
.page-contents a:hover { background:var(--hover); text-decoration:none; color:var(--text); }
.page-contents a[aria-current] { color:var(--accent); background:var(--accent-soft); }
body[data-page="overview"] .toc-rail,body[data-page="reference"] .toc-rail { display:none; }
body[data-page="overview"] .page-body,body[data-page="reference"] .page-body { grid-template-columns:minmax(0,1160px); }
body[data-page="overview"] .page-tools,body[data-page="reference"] .page-tools { display:flex; }
body[data-page="overview"] .page-content,body[data-page="reference"] .page-content { padding-top:36px; }

.navigation-status { position:fixed; bottom:20px; right:20px; z-index:40; max-width:min(420px,calc(100vw - 40px)); border:1px solid var(--strong-line); border-radius:var(--radius); padding:14px 18px; background:var(--raised); box-shadow:var(--shadow); font-size:14px; }
.navigation-status p { margin:0; } .navigation-status>div { display:flex; align-items:center; gap:16px; margin-top:12px; }

/* Typography */
.page-header { margin-bottom:8px; }
h1 { font:680 38px/1.15 var(--display); letter-spacing:-.035em; margin:0 0 16px; }
h2 { font:650 25px/1.3 var(--display); letter-spacing:-.02em; margin:56px 0 14px; }
h3 { font:620 18px/1.45 var(--display); letter-spacing:-.01em; margin:28px 0 10px; }
article>h2:first-child { margin-top:12px; }
p { margin:0 0 18px; } .lead { font-size:18.5px; line-height:1.65; color:var(--body); margin:0 0 30px; max-width:720px; }
article p,article li { color:var(--body); } strong { color:var(--text); font-weight:620; } ul,ol { padding-left:22px; } li { padding-left:4px; margin:8px 0; } li::marker { color:var(--muted); }
article a:not(.button):not([class]) { font-weight:500; }

/* Buttons and labels */
.button { display:inline-flex; align-items:center; justify-content:center; gap:8px; height:38px; padding:0 15px; border:1px solid var(--strong-line); border-radius:9px; font-size:14px; font-weight:600; color:var(--text); background:var(--raised); box-shadow:var(--card-shadow); white-space:nowrap; } .button:hover { background:var(--surface); border-color:var(--muted); color:var(--text); text-decoration:none; }
.button:active { transform:translateY(1px); }
.button.primary { background:var(--accent); border-color:var(--accent); color:#fff; box-shadow:0 1px 2px #0f1a2e26,inset 0 1px 0 #ffffff26; } .button.primary:hover { background:var(--accent-strong); border-color:var(--accent-strong); color:#fff; }
:root[data-theme="dark"] .button.primary { color:#06121e; } @media (prefers-color-scheme:dark) { :root:not([data-theme="light"]) .button.primary { color:#06121e; } }
.method { display:inline-block; font:700 12.5px/1.6 var(--mono); letter-spacing:.02em; min-width:36px; flex-shrink:0; }
.get { color:var(--success); } .post { color:var(--info); } .put { color:var(--warning); }
.status-label { font:600 14px/1.6 var(--mono); white-space:nowrap; background:transparent !important; border:0 !important; padding:0 !important; }
.status-label[data-tone="success"] { color:var(--success); } .status-label[data-tone="warning"] { color:var(--warning); } .status-label[data-tone="danger"] { color:var(--danger); } .status-label[data-tone="info"] { color:var(--info); }
.callout { border-left:3px solid var(--accent); border-radius:0 var(--radius-sm) var(--radius-sm) 0; padding:14px 18px; background:var(--accent-soft); font-size:15px; line-height:1.65; color:var(--body); margin:28px 0; }
.callout strong { display:block; margin-bottom:3px; font-weight:620; color:var(--text); }

/* Code */
code { font:14px/1.65 var(--mono); overflow-wrap:anywhere; font-variant-ligatures:none; font-feature-settings:"calt" 0; }
p code,li code,td code,th code,.parameter p code { background:var(--surface); padding:1px 6px; border:1px solid var(--line); border-radius:6px; color:var(--text); font-size:.86em; }
.code-block { position:relative; border-radius:var(--radius); background:var(--code-bg); overflow:hidden; margin:22px 0; border:1px solid var(--code-line); box-shadow:var(--lift); color-scheme:dark; }
.code-heading { display:flex; align-items:center; justify-content:space-between; padding:0 8px 0 16px; border-bottom:1px solid var(--code-line); background:var(--code-head); font:500 13px/1.6 var(--mono); color:var(--code-muted); gap:12px; min-height:42px; } .code-heading>span { display:flex; align-items:center; gap:10px; min-width:0; overflow-wrap:anywhere; }
.code-heading .get { color:#7ee2a8; } .code-heading .post { color:#7cc4ff; } .code-heading .put { color:#ffc66d; }
pre { margin:22px 0; padding:18px 20px; overflow:auto; max-width:100%; max-height:620px; background:var(--code-bg); color:var(--code-text); border-radius:var(--radius); tab-size:2; scrollbar-width:thin; scrollbar-color:var(--code-line) transparent; } .code-block pre { margin:0; border-radius:0; } pre code { font-size:14px; line-height:1.85; white-space:pre; overflow-wrap:normal; }
.copy-button { display:inline-flex; align-items:center; gap:6px; height:28px; border:1px solid transparent; background:transparent; color:var(--code-muted); font:500 13px/1 var(--font); border-radius:7px; padding:0 9px; flex-shrink:0; }
.copy-button svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; } .copy-button:hover { color:var(--code-text); background:var(--code-hover); border-color:var(--code-line); }
.copy-button[data-state="copied"] { color:#7ee2a8; }
.token-property,.token-variable,.token-command { color:var(--syntax-key); } .token-string { color:var(--syntax-string); } .token-keyword { color:var(--syntax-keyword); } .token-number { color:var(--syntax-number); } .token-comment { color:var(--syntax-comment); font-style:italic; }
[data-code-tabs] { border:1px solid var(--code-line); border-radius:var(--radius); background:linear-gradient(var(--code-head) 0 44px,var(--code-line) 44px 45px,var(--code-bg) 45px); overflow:hidden; margin:22px 0; box-shadow:var(--lift); color-scheme:dark; }
.code-tabs { display:flex; gap:2px; overflow-x:auto; scrollbar-width:none; width:calc(100% - 92px); height:45px; padding:0 0 1px 8px; }
.code-tabs button { position:relative; font:500 13.5px/1 var(--font); white-space:nowrap; background:transparent; border:0; padding:15px 11px; color:var(--code-muted); }
.code-tabs button:hover { color:var(--code-text); }
.code-tabs button[aria-selected="true"] { color:var(--code-text); } .code-tabs button[aria-selected="true"]::after { content:""; position:absolute; left:10px; right:10px; bottom:-1px; height:2px; border-radius:2px; background:var(--syntax-key); }
[data-code-tabs]>[role="tabpanel"] { position:static; }
[data-code-tabs] .code-block { margin:0; border:0; border-radius:0; box-shadow:none; position:static; }
[data-code-tabs] .code-heading { position:absolute; top:0; right:6px; min-height:44px; padding:0; border:0; background:transparent; }
[data-code-tabs] .code-heading>span { display:none; }
[data-code-tabs] { position:relative; }
.code-note { font-size:14px; color:var(--muted); line-height:1.7; }

/* Tables */
.table-scroll { max-width:100%; overflow:auto; margin:24px 0; border:1px solid var(--line); border-radius:var(--radius); scrollbar-width:thin; background:var(--raised); box-shadow:var(--card-shadow); }
table { border-collapse:collapse; width:100%; font-size:15px; text-align:left; } th { font-weight:600; color:var(--text); } td { color:var(--body); } td:first-child code { white-space:nowrap; } th,td { padding:13px 16px; border-bottom:1px solid var(--line); vertical-align:top; }
thead th { background:var(--surface); font-size:12px; text-transform:uppercase; letter-spacing:.05em; color:var(--muted); border-bottom:1px solid var(--line) !important; padding-top:10px; padding-bottom:10px; } tbody tr { transition:background-color 120ms; } tbody tr:hover { background:var(--sidebar); } tr:last-child td,tr:last-child th { border-bottom:0; }

/* Pagination and footer */
.pagination { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:64px 0 28px; }
.pagination a { display:block; padding:16px 18px; border:1px solid var(--line); border-radius:var(--radius); background:var(--raised); box-shadow:var(--card-shadow); }
.pagination a:hover { text-decoration:none; border-color:var(--accent-line); box-shadow:var(--lift); }
.pagination .next { grid-column:2; text-align:right; }
.pagination small { display:block; color:var(--muted); font-size:13px; } .pagination strong { display:block; color:var(--text); margin-top:4px; font-size:15.5px; font-weight:620; } .pagination a:hover strong { color:var(--accent); }
footer { border-top:1px solid var(--line); padding:22px 0 8px; color:var(--muted); font-size:13.5px; display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap; }
.footer-brand { display:flex; align-items:center; gap:8px; font-weight:600; color:var(--body); }

/* Disclosure */
details { border-bottom:1px solid var(--line); margin:0; padding:0; } summary { padding:14px 0; cursor:pointer; font-size:14px; font-weight:550; } summary::marker { color:var(--muted); } summary:hover { color:var(--accent); } summary span { color:var(--muted); font-size:13px; font-weight:400; margin-left:8px; } details[open]>summary { margin-bottom:10px; }

/* Overview */
body[data-page="overview"] .page-header { position:relative; padding-top:28px; }
body[data-page="overview"] main { position:relative; overflow-x:clip; }
body[data-page="overview"] .page-body { position:relative; }
body[data-page="overview"] .page-header { padding-top:28px; }
body[data-page="overview"] h1 { font-size:46px; letter-spacing:-.04em; max-width:760px; }
body[data-page="overview"] .lead { font-size:20px; max-width:640px; }
.intro-links { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin:0 0 24px; }
.doc-example { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,6fr); gap:48px; padding:44px 0; border-top:1px solid var(--line); }
.doc-example>div { min-width:0; } .doc-example h2 { margin:0 0 14px; } .doc-example .code-block,.doc-example pre { margin:0 0 14px; }
.doc-example .example-description>p:last-child { margin-bottom:0; } .example-description>p:last-child a { display:inline-block; margin-right:14px; font-size:14.5px; font-weight:600; }
.doc-example + h2 { margin-top:40px; }
.guide-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:20px 0 8px; }
.guide-cards a { display:block; padding:18px 18px 20px; border:1px solid var(--line); border-radius:var(--radius-lg); background:var(--raised); box-shadow:var(--card-shadow); }
.guide-cards a:hover { text-decoration:none; border-color:var(--accent-line); box-shadow:var(--lift); }
.guide-cards strong { display:flex; align-items:center; justify-content:space-between; font-size:15.5px; color:var(--text); } .guide-cards strong::after { content:"→"; color:var(--muted); transition:transform 140ms,color 140ms; } .guide-cards a:hover strong::after { color:var(--accent); transform:translateX(3px); }
.guide-cards span { display:block; margin-top:6px; color:var(--muted); font-size:14px; line-height:1.55; }

/* Guide components */
.price-card { border:1px solid var(--line); border-radius:var(--radius); padding:8px 0; margin:24px 0; font-size:14.5px; background:var(--raised); box-shadow:var(--card-shadow); } .price-card>div { display:flex; justify-content:space-between; gap:16px; padding:9px 20px; color:var(--body); } .price-card strong { text-align:right; font:500 14px var(--mono); font-variant-numeric:tabular-nums; } .price-card .subtotal { border-top:1px dashed var(--strong-line); margin-top:8px; padding-top:14px; } .price-card .grand-total { border-top:1px solid var(--line); margin-top:8px; padding-top:16px; color:var(--text); font-weight:620; background:linear-gradient(var(--accent-soft),transparent); } .grand-total strong { color:var(--text); font-weight:700; } .grand-total small { display:block; font-size:13px; margin-top:4px; color:var(--muted); font-weight:500; }
.checklist { list-style:none; padding-left:0; counter-reset:check; } .checklist li { counter-increment:check; position:relative; padding:14px 0 14px 40px; margin:0; border-bottom:1px solid var(--line); font-size:16px; } .checklist li::before { content:counter(check,decimal-leading-zero); position:absolute; left:0; top:17px; color:var(--muted); font:600 13px/1.4 var(--mono); }
.resource-list { border-top:1px solid var(--line); margin:24px 0; } .resource-list a { display:block; padding:16px 4px; border-bottom:1px solid var(--line); } .resource-list a:hover { text-decoration:none; background:var(--sidebar); } .resource-list strong { display:block; color:var(--text); font-size:14px; } .resource-list span { display:block; font-size:14px; color:var(--muted); margin-top:3px; }
.guide-list { list-style:none; padding:0; margin:20px 0; } .guide-list li { display:grid; grid-template-columns:170px 1fr; gap:20px; padding:15px 4px; border-bottom:1px solid var(--line); margin:0; font-size:14px; }

/* Diagrams: inline SVG styled by theme tokens; narrow screens scroll the figure instead of shrinking its text. */
.diagram { margin:24px 0; padding:20px; border:1px solid var(--line); border-radius:var(--radius); background:var(--sidebar); overflow-x:auto; scrollbar-width:thin; }
.diagram svg { display:block; width:100%; min-width:560px; height:auto; }
.diagram-node rect { fill:var(--raised); stroke:var(--strong-line); stroke-width:1.2; } .diagram-yours rect { stroke:var(--accent); } .diagram-nexus rect { fill:var(--accent-soft); stroke:var(--accent); }
.diagram-node text { fill:var(--text); font:600 15px var(--font); text-anchor:middle; } .diagram-node .diagram-note { fill:var(--muted); font:400 13px var(--font); }
.diagram-label { fill:var(--muted); font:500 12.5px var(--font); }
.diagram-link { fill:none; stroke:var(--muted); stroke-width:1.5; } .diagram-arrowhead { fill:var(--muted); }

/* API reference */
.endpoint-index { display:grid; border:1px solid var(--line); border-radius:var(--radius-lg); margin:28px 0 24px; overflow:hidden; background:var(--raised); box-shadow:var(--card-shadow); }
.endpoint-index a { display:flex; gap:14px; align-items:center; padding:12px 16px; border-bottom:1px solid var(--line); color:var(--text); } .endpoint-index a:last-child { border:0; }
.endpoint-index a:hover { text-decoration:none; background:var(--sidebar); } .endpoint-index code { font-size:13.5px; } .endpoint-index small { margin-left:auto; font-size:13.5px; color:var(--muted); } .endpoint-index a:hover small { color:var(--accent); }
.endpoint { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px; padding:56px 0; border-top:1px solid var(--line); margin:0; scroll-margin-top:0; }
.endpoint>div { min-width:0; }
.endpoint-route { display:flex; align-items:baseline; gap:10px; max-width:100%; } .endpoint-route>code { font-size:14px; color:var(--text); }
.endpoint h2 { margin:10px 0 6px; font-size:26px; }
.credential { font-size:14px; color:var(--muted); margin:0 0 14px; } .credential code { font-size:13px; }
.endpoint-description>p { font-size:15.5px; }
.endpoint-subhead { display:flex; align-items:baseline; gap:10px; font-size:15px; margin:30px 0 4px; padding-bottom:10px; border-bottom:1px solid var(--line); } .endpoint-subhead span { font:400 12.5px var(--mono); color:var(--muted); }
.parameters { margin:0; } .parameter { padding:13px 0; border-bottom:1px solid var(--line); } .parameter:last-child { border-bottom:0; }
.parameter-head { display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 10px; } .parameter-head code { font-weight:600; font-size:14px; color:var(--text); }
.parameter p { margin:5px 0 0; font-size:14.5px; } .parameter small { display:block; margin-top:5px; font:12.5px/1.6 var(--mono); color:var(--muted); overflow-wrap:anywhere; }
.parameter-in { font-size:12.5px; color:var(--muted); }
.parameter .required { font-size:12px; font-weight:600; color:var(--warning); } .parameter .optional { font-size:12px; color:var(--muted); }
.responses { margin:0; } .response { display:grid; grid-template-columns:72px minmax(0,1fr); gap:12px; padding:11px 0; border-bottom:1px solid var(--line); align-items:start; } .response:last-child { border-bottom:0; }
.response p { margin:0; font-size:14.5px; } .response .schema-link { display:inline-block; margin-top:3px; font:12.5px var(--mono); } .response small { display:block; margin-top:4px; font-size:13px; color:var(--muted); }
.response-code { justify-self:start; font-family:var(--mono); font-size:13px; }
.endpoint-details { position:sticky; top:calc(var(--header-height) + 64px); align-self:start; }
.endpoint-panel { display:grid; gap:0; }
.panel-title { margin:0 0 8px; font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); }
.endpoint-panel>.code-block,.endpoint-panel>[data-code-tabs] { margin:0 0 22px; }
.endpoint-panel pre { max-height:360px; }
.schema-link { font-size:14px; color:var(--muted); } .schema-link a { font:600 13.5px var(--mono); }
.models { display:grid; gap:10px; margin-top:20px; }
.model { border:1px solid var(--line); border-radius:var(--radius); padding:0 16px; background:var(--raised); scroll-margin-top:16px; } .model>summary { font:600 14px var(--mono); } .model[open] { box-shadow:var(--card-shadow); } .model .table-scroll { box-shadow:none; margin:0 0 16px; }
.fields th { width:32%; font-weight:400; } .fields th code { background:transparent; border:0; padding:0; font-size:14px; font-weight:600; } .fields td p { margin:6px 0; font-size:14.5px; } .fields small { overflow-wrap:anywhere; font:12.5px/1.8 var(--mono); color:var(--muted); }
.required,.optional { display:block; font-size:12.5px; margin-top:4px; } .required { color:var(--warning); font-weight:600; } .optional { color:var(--muted); } .type { font:13px var(--mono); color:var(--muted); }

/* Search */
dialog { border:1px solid var(--strong-line); border-radius:var(--radius-lg); padding:0; width:min(640px,calc(100vw - 32px)); background:var(--raised); color:var(--text); box-shadow:var(--shadow); max-height:min(640px,80dvh); margin:10vh auto auto; overflow:hidden; }
dialog[open] { display:flex; flex-direction:column; animation:dialog-in 160ms ease-out; } dialog::backdrop { background:#0a0f1a66; backdrop-filter:blur(3px); }
@keyframes dialog-in { from { opacity:0; transform:translateY(-6px) scale(.985); } }
.search-top { padding:14px 14px 4px 20px; display:flex; align-items:center; justify-content:space-between; font-size:13px; font-weight:600; color:var(--muted); }
.search-field { position:relative; margin:4px 16px 0; } .search-field .search-icon { position:absolute; left:13px; top:14px; color:var(--muted); width:17px; height:17px; }
#search-input { display:block; width:100%; height:46px; padding:0 14px 0 40px; border:1px solid var(--strong-line); border-radius:10px; background:var(--bg); color:var(--text); font-size:15.5px; } #search-input:focus { outline:none; border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft); } #search-input::placeholder { color:var(--muted); }
.search-state { padding:12px 20px 4px; } #search-status { font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); margin:0 0 4px; }
#search-dialog[data-state="error"] .search-state,#search-dialog[data-state="empty"] .search-state { padding:30px 22px; text-align:center; } #search-dialog[data-state="error"] #search-status,#search-dialog[data-state="empty"] #search-status { text-transform:none; letter-spacing:0; font-size:14.5px; font-weight:500; } #search-dialog[data-state="error"] #search-status { color:var(--danger); }
#search-dialog[data-state="loading"] #search-status::before { content:""; display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--accent); margin-right:8px; animation:pulse 900ms ease-in-out infinite alternate; } @keyframes pulse { to { opacity:.25; } } #search-retry { margin-top:10px; }
#search-results { flex:1; min-height:0; overflow:auto; padding:0 8px 8px; }
#search-results a { display:block; position:relative; padding:10px 34px 10px 12px; margin:2px 0; border-radius:9px; color:var(--text); }
#search-results a::after { content:"↵"; position:absolute; right:13px; top:11px; color:var(--muted); font-size:14px; opacity:0; } #search-results a:hover,#search-results a:focus { background:var(--accent-soft); text-decoration:none; outline:none; } #search-results a:hover::after,#search-results a:focus::after { opacity:1; }
#search-results strong { font-size:14.5px; font-weight:600; display:block; } #search-results a span { display:block; color:var(--muted); font-size:13.5px; margin-top:2px; line-height:1.5; }
#search-results .result-section { margin-left:18px; padding-left:16px; border-left:1px solid var(--line); border-radius:0 9px 9px 0; } #search-results .result-section strong { font-size:13.5px; font-weight:550; color:var(--body); } #search-results .result-section strong::before { content:"# "; color:var(--muted); }
#search-results mark { background:color-mix(in srgb,var(--accent) 18%,transparent); color:var(--text); border-radius:3px; padding:0 1px; }
.search-footer { display:flex; justify-content:space-between; gap:12px; padding:10px 18px; border-top:1px solid var(--line); font-size:12.5px; color:var(--muted); background:var(--sidebar); } .search-footer kbd { font-size:11px; padding:2px 4px; }

/* Responsive */
.language-selector { display:flex; flex-shrink:0; align-items:center; gap:2px; padding:3px; border:1px solid var(--line); border-radius:8px; background:var(--surface); }
.language-option { display:block; padding:5px 8px; border-radius:5px; color:var(--muted); font-size:14px; line-height:20px; font-weight:500; white-space:nowrap; }
.language-option.is-current { color:var(--text); background:var(--raised); box-shadow:0 1px 3px #00000018; font-weight:650; }
a.language-option:hover { background:var(--raised); color:var(--text); text-decoration:none; }
a.language-option:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
@media (min-width:1600px) {
  :root { --sidebar-width:288px; --reading-width:840px; --rail-width:260px; }
  body { font-size:17px; } .page-body { gap:88px; } main { padding:0 64px 24px; } .page-tools { margin:0 -64px; padding:0 64px; }
  .nav-group a { font-size:15px; } .toc-rail nav a { font-size:14px; }
  body[data-page="overview"] .page-body,body[data-page="reference"] .page-body { grid-template-columns:minmax(0,1320px); }
}
@media (max-width:1279px) {
  html { scroll-padding-top:calc(var(--header-height) + 64px); }
  .page-body { grid-template-columns:minmax(0,var(--reading-width)); }
  .toc-rail { display:none; }
  .page-tools { display:flex; }
  .page-content { padding-top:36px; }
}
@media (max-width:1200px) {
  .endpoint { grid-template-columns:minmax(0,1fr); gap:24px; }
  .endpoint-details { position:static; }
  .doc-example { grid-template-columns:minmax(0,1fr); gap:20px; }
}
@media (max-width:1200px) {
  .brand-group { width:auto; }
}
@media (max-width:1100px) and (min-width:801px) {
  :root { --sidebar-width:232px; }
  main { padding:0 32px 24px; } .page-tools { margin:0 -32px; padding:0 32px; }
  .search-trigger { width:200px; } .search-trigger kbd { display:none; }
}
@media (max-width:1000px) {
  .schema-download,.search-trigger span,.search-trigger kbd { display:none; }
  .search-trigger { width:36px; height:36px; padding:0; justify-content:center; border:0; background:transparent; }
  .search-trigger:hover { background:var(--surface); }
}
@media (max-width:800px) {
  .topbar { padding:0 12px 0 16px; gap:10px; } .header-actions { gap:2px; } .brand-group { width:auto; }
  .has-js .nav-toggle { display:grid; } .layout { display:block; }
  .sidebar { height:auto; position:static; border-right:0; }
  .has-js .sidebar { display:none; position:fixed; z-index:28; top:var(--header-height); left:0; bottom:0; width:288px; max-width:85vw; height:auto; background:var(--bg); box-shadow:var(--shadow); border-right:1px solid var(--line); }
  .has-js .sidebar.is-open { display:flex; animation:sheet-in 160ms ease-out; }
  @keyframes sheet-in { from { transform:translateX(-12px); opacity:0; } }
  main { padding:0 20px 16px; } .page-tools { margin:0 -20px; padding:0 20px; }
  h1,body[data-page="overview"] h1 { font-size:34px; } body[data-page="overview"] .lead { font-size:18px; }
  .endpoint-index small { display:none; }
  .guide-cards { grid-template-columns:minmax(0,1fr); }
  .pagination { grid-template-columns:minmax(0,1fr); } .pagination .next { grid-column:1; }
}
@media (max-width:560px) {
  .language-option { padding:4px 6px; font-size:13px; }
  .brand strong { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
  main { padding:0 16px 16px; } .page-tools { margin:0 -16px; padding:0 16px; }
  h1,body[data-page="overview"] h1 { font-size:29px; } h2 { font-size:21px; margin-top:44px; } .lead,body[data-page="overview"] .lead { font-size:17px; }
  .has-js article .table-scroll:has(table.stackable) { border:0; background:transparent; box-shadow:none; overflow:visible; }
  .has-js table.stackable thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
  .has-js table.stackable tr { display:block; border:1px solid var(--line); border-radius:var(--radius); margin:0 0 10px; background:var(--raised); }
  .has-js table.stackable th,.has-js table.stackable td { display:block; width:auto; border:0; padding:8px 14px; }
  .has-js table.stackable tr>*:first-child { padding-top:12px; } .has-js table.stackable tr>*:last-child { padding-bottom:12px; }
  .has-js table.stackable td[data-label]::before { content:attr(data-label); display:block; font-size:11.5px; font-weight:600; text-transform:uppercase; letter-spacing:.05em; color:var(--muted); margin-bottom:2px; }
  .has-js table.stackable td:first-child code { white-space:normal; }
  table:not(.stackable) { min-width:490px; } th,td { padding:11px 12px; }
  .guide-list li { display:block; } .code-heading { padding-left:12px; } pre { padding:16px; }
  .endpoint-route { padding-right:8px; } .endpoint-route>code { font-size:12.5px; } .endpoint-index a { gap:10px; } .endpoint-index code { font-size:12.5px; }
  .response { grid-template-columns:minmax(0,1fr); gap:6px; } .price-card>div { padding-left:14px; padding-right:14px; }
  .search-footer>span:first-child { display:none; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { transition:none !important; animation:none !important; scroll-behavior:auto !important; } }
@media print { .topbar,.sidebar,.page-tools,.toc-rail,.navigation-status,.pagination,dialog,.copy-button,.code-tabs { display:none !important; } .layout,.page-body,.doc-example,.endpoint { display:block; } main { padding:0 !important; } :root { color-scheme:light; --bg:#fff; --sidebar:#fff; --text:#111; --body:#333; --muted:#444; --code-bg:#f7f7f7; --code-text:#111; } a { color:#111; } pre { max-height:none; } pre code { white-space:pre-wrap; } details { break-inside:avoid; } }
