:root{--bg:#fff;--panel:#fff;--ink:#192338;--muted:#65728a;--line:#e5e9f0;--soft:#f5f7fb;--blue:#2558c8;--blue-soft:#ecf2ff;--code:#111827;--header:62px;--side:282px;--right:348px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:86px}
body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.6 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}
.topbar{height:var(--header);position:fixed;inset:0 0 auto;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:0 22px;background:var(--panel);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:8px;font-size:22px;font-weight:850;letter-spacing:-.065em;white-space:nowrap}
.brand-icon{display:grid;place-items:center;width:29px;height:29px;border-radius:8px;background:var(--blue);color:#fff;font-size:19px;letter-spacing:0}
.brand-suffix{margin-left:8px;color:#8b95a8;font-size:12px;font-weight:600;letter-spacing:0}
.top-actions{display:flex;align-items:center;gap:11px}.search{width:min(340px,28vw);height:36px;display:flex;align-items:center;gap:7px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--soft);color:#9aa5b4}.search:focus-within{border-color:#92b2f2;box-shadow:0 0 0 3px #dce7ff}
.search>span{font-size:22px;line-height:1}.search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font-size:12px}.search kbd{border:1px solid var(--line);border-radius:4px;padding:0 4px;color:var(--muted);font-size:10px}
.api-version{color:#2b805c;border:1px solid #cce9dc;background:#f3fbf6;padding:4px 8px;border-radius:7px;font-size:11px;font-weight:700}
.language{display:flex;border:1px solid var(--line);border-radius:8px;padding:2px}.language a{padding:3px 8px;color:var(--muted);font-size:11px;font-weight:750;border-radius:6px}.language a.selected{background:var(--blue);color:#fff}
.icon-button{width:35px;height:35px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);font-size:17px}.mobile-only{display:none}
.layout{padding-top:var(--header);display:grid;grid-template-columns:var(--side) minmax(0,1fr) var(--right);min-height:100vh}
.sidebar{position:sticky;top:var(--header);height:calc(100vh - var(--header));display:flex;flex-direction:column;border-right:1px solid var(--line);background:var(--panel);overflow:auto}
.sidebar-intro{padding:19px 19px 15px;border-bottom:1px solid var(--line)}.sidebar-intro strong,.sidebar-intro span{display:block}.sidebar-intro strong{font-size:13px}.sidebar-intro span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:11px}
.sidebar nav{padding:11px 10px 18px}.nav-group{margin-top:12px}.nav-group h2{margin:0;padding:9px 10px 4px;color:#8a95a8;text-transform:uppercase;font-size:10px;letter-spacing:.1em}.nav-group a{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:32px;padding:5px 10px;border-radius:7px;color:#4e5b72;font-size:12px}.nav-group a:hover,.nav-group a.active{background:#f0f2f8;color:var(--ink)}.nav-group a.active{font-weight:750}.nav-group em{font-size:9px;color:#22935d;font-style:normal;font-weight:850}
.nav-group a[hidden]{display:none}
.sidebar-foot{margin-top:auto;padding:15px 20px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}.online-dot{display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:#26b176}.sidebar-foot form{margin-top:10px}.sidebar-foot button{border:0;background:transparent;color:var(--blue);font-weight:700;padding:0}
.content{min-width:0;max-width:900px;padding:44px clamp(26px,5vw,72px) 100px;margin:0 auto;width:100%}.intro{padding-bottom:50px;border-bottom:1px solid var(--line)}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:var(--blue)}h1,h2,h3{line-height:1.22;letter-spacing:-.035em}h1{font-size:clamp(30px,3vw,42px);margin:10px 0}h2{font-size:27px;margin:9px 0 15px}h3{font-size:14px;margin:27px 0 10px}.intro p{max-width:640px;color:var(--muted);font-size:15px}
.base-url{display:flex;align-items:center;gap:10px;max-width:690px;padding:11px 14px;border:1px solid var(--line);border-radius:8px;background:var(--soft);overflow:hidden}.base-url span{color:var(--muted);font-size:10px;text-transform:uppercase;white-space:nowrap;font-weight:800}.base-url code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.base-url button{margin-left:auto;border:0;background:transparent;color:var(--blue);font-size:11px;font-weight:750}
.doc-section{padding:42px 0 44px;border-bottom:1px solid var(--line)}.doc-section[hidden]{display:none}.section-top{display:flex;justify-content:space-between}.section-top>a{color:#aab3c1;font-weight:800}.summary{margin:0 0 20px;color:#56647c;font-size:14px;line-height:1.76}.scope{display:inline-block;padding:5px 10px;margin:0 0 12px;border:1px solid #d7e5fd;border-radius:6px;background:#f4f8ff;color:#4d6487;font-size:11px}.scope code{color:var(--blue);font-weight:700}
.endpoint{display:flex;align-items:center;gap:10px;max-width:100%;margin:2px 0 18px;padding:12px 13px;border:1px solid var(--line);border-radius:8px;background:var(--soft);overflow:auto}.endpoint b{color:#15845b;font-size:11px}.endpoint code{font-size:11px;white-space:nowrap}.steps{padding-left:22px}.steps li{padding:8px 0 8px 5px;border-bottom:1px solid var(--line)}.steps li::marker{color:var(--blue);font-weight:800}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:9px}table{border-collapse:collapse;width:100%;font-size:12px}th,td{padding:12px 13px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}tr:last-child th,tr:last-child td{border-bottom:0}thead{background:var(--soft);color:#5c6980}td{color:#536178}td code,th code{font-size:11px;color:var(--ink)}.response-code{overflow:auto;margin:0;padding:17px;border-radius:9px;background:#101828;color:#d8e7fd;font-size:11px;line-height:1.55}.footer-note{color:#8994a7;font-size:11px}
.code-panel{border-left:1px solid var(--line);background:#fbfcfe}.code-panel-inner{position:sticky;top:var(--header);padding:28px 18px}.code-header{display:flex;align-items:center;justify-content:space-between;padding:0 5px 13px;font-size:12px}.code-header span{color:var(--muted);font-size:11px}.code-path{padding:10px 12px;border:1px solid var(--line);border-radius:8px 8px 0 0;background:#f8f9fc;color:var(--blue);font-family:ui-monospace,SFMono-Regular,monospace;font-size:11px;overflow:auto}.code-panel pre{margin:0;padding:15px 12px;min-height:160px;max-height:290px;overflow:auto;border:1px solid var(--line);border-top:0;border-radius:0 0 8px 8px;background:#fff;color:#35415c;font-size:11px;line-height:1.65;white-space:pre-wrap;word-break:break-word}.code-panel-inner>button{display:block;margin:10px 0 0 auto;padding:6px 11px;border:1px solid #cddbf4;border-radius:6px;background:#f4f8ff;color:var(--blue);font-size:11px;font-weight:700}.code-hint{margin-top:16px;padding:12px;border-left:3px solid #e9aa44;background:#fff8eb;color:#715631;font-size:11px}.client-card{margin-top:20px;padding:14px;border:1px solid var(--line);border-radius:9px;background:#fff}.client-card span,.client-card strong,.client-card code{display:block}.client-card span{color:var(--muted);font-size:10px}.client-card strong{font-size:12px}.client-card code{margin-top:6px;color:var(--muted);font-size:10px;overflow-wrap:anywhere}
.search-empty{position:fixed;top:64px;left:50%;transform:translateX(-50%);z-index:50;padding:13px 22px;border:1px solid var(--line);border-radius:0 0 9px 9px;background:var(--panel);box-shadow:0 15px 28px #15264418;color:var(--muted);font-size:12px}.search-empty[hidden]{display:none}
body.dark{--bg:#111722;--panel:#171f2d;--ink:#f0f3fa;--muted:#a3afc1;--line:#354052;--soft:#202a39;--blue:#8cb4ff;--blue-soft:#263655}.dark .code-panel{background:#151d2a}.dark .code-panel pre,.dark .client-card{background:#202a39;color:#e4eafa}.dark .code-path{background:#202a39}.dark .code-hint{background:#473722;color:#ffe0a5}.dark .nav-group a:hover,.dark .nav-group a.active{background:#2c394e}.dark .response-code{background:#0e1522}
@media(max-width:1160px){:root{--right:280px;--side:235px}.content{padding-left:30px;padding-right:30px}.brand-suffix{display:none}}
@media(max-width:920px){.layout{grid-template-columns:var(--side) minmax(0,1fr)}.code-panel{display:none}.search{width:240px}}
@media(max-width:680px){:root{--header:58px}.topbar{padding:0 12px}.brand{font-size:19px}.api-version,.search kbd,.brand-suffix{display:none}.search{width:min(38vw,210px)}.mobile-only{display:grid}.layout{display:block}.sidebar{position:fixed;z-index:25;left:0;top:var(--header);bottom:0;width:min(290px,86vw);height:auto;box-shadow:10px 0 30px #0c1c3a26;transform:translateX(-105%);transition:transform .2s}.sidebar.open{transform:translateX(0)}.content{padding:27px 20px 80px}.intro{padding-bottom:30px}.doc-section{padding:33px 0}.base-url span{display:none}}

/* Developer-reference layout and typography. */
:root {
    --bg: #fff;
    --panel: #fff;
    --ink: #1a1c21;
    --muted: #626775;
    --line: #ededf2;
    --soft: #f8f9fc;
    --blue: #426eea;
    --blue-soft: #eff0f6;
    --header: 64px;
    --side: 285px;
    --right: clamp(390px, 36.5vw, 520px);
}

body {
    color: #3b3c45;
    font: 14px/1.57 system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

.topbar { padding: 0 48px; }
.brand { display: inline-flex; width: 154px; height: 52px; align-items: center; }
.brand img { display: block; width: 154px; height: auto; max-height: 48px; object-fit: contain; }
.top-actions { gap: 10px; }
.search { width: min(235px, 23vw); height: 34px; background: #fff; }
.search input { font-size: 14px; }
.search kbd { color: #8c909b; }
.api-version { background: #fff; border-color: var(--line); color: #626775; font-weight: 600; }
.language { border-color: var(--line); }
.language a { font-size: 12px; font-weight: 600; }
.language a.selected { background: #eff0f6; color: var(--ink); }
.icon-button { width: 34px; height: 34px; background: #f5f6fa; }

.sidebar-intro { padding: 17px 36px 6px; border-bottom: 0; }
.sidebar-intro strong { font-size: 14px; font-weight: 400; }
.sidebar-intro span { display: none; }
.sidebar nav { padding: 0 16px 24px; }
.nav-group { margin-top: 3px; }
.nav-group h2 {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 6px 8px;
    color: #3b3c45;
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0;
    text-transform: none;
}
.nav-group h2::before { content: "⌄"; width: 10px; color: #777b88; font-size: 15px; line-height: 1; }
.nav-group a {
    min-height: 32px;
    padding: 5px 9px 5px 32px;
    color: #3b3c45;
    font-size: 14px;
    font-weight: 400;
    line-height: 22px;
}
.nav-group a:hover, .nav-group a.active { background: #eff0f6; color: #3b3c45; }
.nav-group a.active { font-weight: 500; }
.nav-group em { font-size: 11px; font-weight: 600; }
.nav-group a:has(em:first-child) { gap: 6px; }
.sidebar-foot { font-size: 12px; }

.content { max-width: none; padding: 44px 64px 100px; }
.intro { padding-bottom: 38px; }
.intro > .eyebrow { display: none; }
.eyebrow { color: #7b8090; font-size: 11px; font-weight: 600; letter-spacing: .04em; }
h1, h2, h3 { color: var(--ink); letter-spacing: -.025em; }
h1 { margin: 10px 0 14px; font-size: 36px; font-weight: 600; line-height: 44px; }
h2 { margin: 8px 0 18px; font-size: 30px; font-weight: 600; line-height: 1.25; }
h3 { margin: 30px 0 12px; font-size: 18px; font-weight: 600; }
.intro p { color: #626775; font-size: 14px; line-height: 1.65; }
.base-url { padding: 10px 12px; border-color: #e6e7ec; border-radius: 4px; background: #fafbfe; }
.base-url span, .base-url button { font-size: 11px; }
.base-url code { font-size: 11px; }
.doc-section { padding: 48px 0 52px; }
.section-top .eyebrow { color: #8a8e99; }
.section-top > a { color: #a3a7b2; }
.summary { color: #3b3c45; font-size: 14px; line-height: 22px; }
.endpoint-notes { margin: -4px 0 22px; padding: 14px 20px 14px 34px; border-left: 3px solid #3478dc; background: #f7f9fd; color: #42516b; font-size: 13px; line-height: 1.65; }
.endpoint-notes li + li { margin-top: 6px; }
.scope { background: #fff; border-color: var(--line); color: #3b3c45; font-size: 12px; }
.endpoint { padding: 11px 12px; border-radius: 4px; background: #fff; }
.endpoint b { color: #219560; font-size: 12px; }
.endpoint code { color: #3b3c45; font-size: 11px; }
.steps li { padding: 11px 0 11px 5px; }
.table-wrap { border-color: #e8e9ed; border-radius: 4px; }
table { font-size: 14px; }
th, td { padding: 12px; border-color: #ededf2; }
thead { background: #f8f9fc; color: #3b3c45; }
td { color: #3b3c45; }
td code, th code { font-size: 12px; }
.response-code { border: 1px solid var(--line); border-radius: 4px; background: #fafbfe; color: #3b3c45; font-size: 12px; }

.code-panel { border-left: 0; background: #fff; }
.code-panel-inner { top: calc(var(--header) + 186px); padding: 0 70px 30px 0; }
.code-card { overflow: hidden; border: 1px solid #e9e9ee; border-radius: 3px; background: #fff; }
.code-path {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    padding: 15px 20px;
    border: 0;
    border-bottom: 1px solid #ededf2;
    border-radius: 0;
    background: #fff;
    color: #3b3c45;
    font: 12px/20px ui-monospace, SFMono-Regular, Menlo, monospace;
}
#code-path { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#code-path::first-letter { color: #23965d; }
.code-language { color: #555a66; font: 600 12px/20px system-ui, sans-serif; white-space: nowrap; }
.code-panel pre {
    min-height: 100px;
    max-height: 300px;
    padding: 17px 20px;
    border: 0;
    border-radius: 0;
    background: #fff;
    color: #35568c;
    font-size: 12px;
    line-height: 1.5;
}
.code-actions { padding: 13px 20px; border-top: 1px solid #ededf2; text-align: right; }
.code-actions button { padding: 7px 15px; border: 1px solid #e2e3e9; border-radius: 4px; background: #fff; color: #3b3c45; font-size: 12px; font-weight: 600; }
.code-actions button:hover { background: #f4f5f9; }
.code-hint { margin-top: 13px; padding: 10px 0; border-left: 0; background: transparent; color: #757987; font-size: 12px; line-height: 1.5; }

body.dark { --bg: #17191f; --panel: #1d2029; --ink: #f4f5f7; --muted: #bec2cc; --line: #353943; --soft: #242832; }
.dark .brand img { filter: brightness(0) invert(1); }
.dark .sidebar, .dark .topbar, .dark .code-panel { background: var(--panel); }
.dark .nav-group h2, .dark .nav-group a, .dark .summary, .dark td, .dark .code-path, .dark .code-language { color: #e3e5e9; }
.dark .endpoint-notes { background: #1b2537; color: #e3e5e9; }
.dark .nav-group a:hover, .dark .nav-group a.active, .dark .language a.selected { background: #303540; color: #f4f5f7; }
.dark .code-card, .dark .code-path, .dark .code-panel pre, .dark .code-actions button, .dark .scope, .dark .endpoint { background: #242832; color: #e3e5e9; }
.dark .response-code { background: #242832; color: #e3e5e9; }

@media (max-width: 1160px) {
    :root { --side: 255px; --right: 360px; }
    .content { padding-left: 36px; padding-right: 36px; }
    .code-panel-inner { padding-right: 24px; }
}
@media (max-width: 920px) {
    .code-panel { display: none; }
    .content { padding-left: 48px; padding-right: 48px; }
}
@media (max-width: 680px) {
    :root { --header: 58px; }
    .topbar { padding: 0 15px; }
    .brand, .brand img { width: 118px; }
    .top-actions { gap: 5px; }
    .search { width: min(30vw, 180px); }
    .search input { font-size: 12px; }
    .content { padding: 28px 21px 80px; }
    .sidebar { width: min(300px, 86vw); }
    h1 { font-size: 30px; line-height: 37px; }
    h2 { font-size: 25px; }
    .doc-section { padding: 36px 0 42px; }
}
@media (max-width: 430px) {
    .search { display: none; }
    .api-version { display: none; }
    .language a { padding: 3px 6px; }
}
