
.apidoc {
    --a-bg: #121214;
    --a-panel: #1a1a1e;
    --a-code: #17171b;
    --a-line: #2a2a30;
    --a-ink: #f0f0f2;
    --a-mut: #9a9aa4;
    --a-dim: #6c6c76;
    --a-accent: #7ea7ba;
    margin: 0;
    background: var(--a-bg);
    color: var(--a-ink);
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    font-size: 15px;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}
.apidoc * { box-sizing: border-box; }
.apidoc a { color: var(--a-accent); text-decoration: none; }
.apidoc a:hover { text-decoration: underline; }
.apidoc code {
    font-family: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, monospace;
    font-size: 0.86em; background: #232329; border: 1px solid var(--a-line);
    padding: 1px 6px; border-radius: 5px; color: #d6d6da;
}

.ad-top {
    position: sticky; top: 0; z-index: 20;
    display: flex; align-items: center; justify-content: space-between;
    padding: 14px 28px; background: rgba(18,18,20,.85); backdrop-filter: blur(8px);
    border-bottom: 1px solid var(--a-line);
}
.ad-brand { display: flex; align-items: center; gap: 9px; font-weight: 650; color: var(--a-ink); letter-spacing: .02em; }
.ad-brand img { height: 22px; }
.ad-top-nav { display: flex; align-items: center; gap: 22px; font-size: 14px; }
.ad-top-nav a { color: var(--a-mut); }
.ad-top-nav a:hover { color: var(--a-ink); text-decoration: none; }
.ad-top-cta { color: var(--a-ink) !important; background: #232329; border: 1px solid var(--a-line); padding: 7px 14px; border-radius: 8px; }
.ad-top-cta:hover { border-color: #45454f; }

.ad-shell { display: grid; grid-template-columns: 250px minmax(0, 1fr); max-width: 1240px; margin: 0 auto; }

.ad-side { border-right: 1px solid var(--a-line); }
.ad-side-inner { position: sticky; top: 66px; max-height: calc(100vh - 66px); overflow-y: auto; padding: 28px 16px 40px; display: flex; flex-direction: column; gap: 1px; }
.ad-side-link { padding: 6px 12px; border-radius: 7px; font-size: 13.5px; color: var(--a-mut); border-left: 2px solid transparent; }
.ad-side-link:hover { color: var(--a-ink); text-decoration: none; background: var(--a-panel); }
.ad-side-link.on { color: var(--a-accent); border-left-color: var(--a-accent); }
.ad-side-link.ad-sub { font-size: 12.5px; padding-left: 12px; }

.ad-main { padding: 40px 48px 120px; min-width: 0; }
.ad-sec { padding-top: 28px; margin-bottom: 26px; scroll-margin-top: 80px; }
.ad-eyebrow { display: inline-block; font-size: 12px; text-transform: uppercase; letter-spacing: .1em; color: var(--a-accent); font-weight: 650; margin-bottom: 8px; }
.ad-main h1 { font-size: 34px; font-weight: 700; letter-spacing: -0.02em; margin: 0 0 14px; }
.ad-main h2 { font-size: 23px; font-weight: 650; letter-spacing: -0.01em; margin: 0 0 12px; padding-bottom: 10px; border-bottom: 1px solid var(--a-line); }
.ad-main h3 { font-size: 16px; font-weight: 620; margin: 0 0 8px; }
.ad-main p { color: var(--a-mut); margin: 0 0 14px; }
.ad-main strong { color: var(--a-ink); font-weight: 600; }
.ad-lead { font-size: 17px; color: var(--a-mut); max-width: 760px; }
.ad-note { font-size: 13.5px; color: var(--a-dim); line-height: 1.6; }
.ad-foot { margin-top: 22px; font-size: 13px; color: var(--a-dim); }

.ad-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 20px; }
.ad-panel { background: var(--a-panel); border: 1px solid var(--a-line); border-radius: 12px; padding: 18px 20px; }
.ad-panel h3 { color: var(--a-ink); }

.ad-code {
    background: var(--a-code); border: 1px solid var(--a-line); border-radius: 10px;
    padding: 15px 18px; margin: 4px 0 16px; overflow-x: auto;
    font-family: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, monospace;
    font-size: 13px; line-height: 1.7; color: #cfcfd4; white-space: pre;
}
.ad-code code { background: none; border: 0; padding: 0; }
.ad-code .c-c { color: #6f7681; }
.ad-code .c-s { color: #a3b58f; }
.ad-code .c-u { color: #7ea7ba; }
.ad-code .c-k { color: #b394c4; }
.ad-code .c-n { color: #c99a6a; }

.ad-ep { border-top: 1px solid var(--a-line); padding: 22px 0 6px; scroll-margin-top: 80px; }
.ad-ep-head { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; }
.ad-verb { font-size: 11px; font-weight: 700; letter-spacing: .05em; color: #8faf7e; background: rgba(143,175,126,.12); border: 1px solid rgba(143,175,126,.3); padding: 2px 9px; border-radius: 6px; }
.ad-path { font-family: ui-monospace, Menlo, monospace; font-size: 15px; color: var(--a-ink); font-weight: 500; }

.ad-params { width: 100%; border-collapse: collapse; margin: 6px 0 16px; }
.ad-params td { padding: 8px 12px 8px 0; border-bottom: 1px solid var(--a-line); vertical-align: top; font-size: 13.5px; color: var(--a-mut); }
.ad-params tr:last-child td { border-bottom: 0; }
.ad-params td:first-child { white-space: nowrap; width: 1%; }
.ad-params td.req { color: #c98a84; font-size: 11.5px; text-transform: uppercase; letter-spacing: .04em; }
.ad-errors td:first-child code { color: #c98a84; }

.ad-int { border-top: 1px solid var(--a-line); padding: 20px 0 4px; }
.ad-int table td:first-child { color: var(--a-dim); }

@media (max-width: 900px) {
    .ad-shell { grid-template-columns: 1fr; }
    .ad-side { display: none; }
    .ad-main { padding: 28px 20px 80px; }
    .ad-grid2 { grid-template-columns: 1fr; }
}
