:root {
    color-scheme:light;
    --ink:#18273b;
    --muted:#5b6c80;
    --line:#e3e9ef;
    --accent:#166857;
    --soft:#eef7f3;
    --sidebar:280px;
}
* {
    box-sizing:border-box;
}
html {
    scroll-padding-top:88px;
    scroll-behavior:smooth;
}
body {
    margin:0;
    color:var(--ink);
    background:#fff;
    font:15px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
a {
    color:var(--accent);
    text-underline-offset:3px;
}
button,input {
    font:inherit;
}
button {
    cursor:pointer;
}
button:focus-visible,input:focus-visible,a:focus-visible,summary:focus-visible {
    outline:3px solid #309e87;
    outline-offset:3px;
}
code,pre {
    font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
}
code {
    font-size:.86em;
    overflow-wrap:anywhere;
}
p {
    margin:0 0 16px;
}
h1,h2,h3,h4 {
    line-height:1.25;
    letter-spacing:-.025em;
}
h1 {
    font-size:clamp(32px,4vw,48px);
    margin:20px 0;
}
h2 {
    font-size:25px;
    margin:25px 0 18px;
}
h3 {
    font-size:21px;
    margin:16px 0 12px;
}
h4 {
    font-size:15px;
    margin:24px 0 10px;
    letter-spacing:0;
}
small,.caption {
    font-size:12px;
    color:var(--muted);
}
td small {
    display:block;
    margin-top:4px;
}
.topbar {
    height:68px;
    position:sticky;
    top:0;
    z-index:10;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 30px;
    border-bottom:1px solid var(--line);
    background:rgba(255,255,255,.97);
}
.brand {
    display:flex;
    align-items:center;
    gap:12px;
    font-weight:750;
    letter-spacing:.03em;
    text-decoration:none;
    color:var(--ink);
}
.brand span:last-child {
    font-size:14px;
    font-weight:500;
    letter-spacing:0;
}
.brand-mark {
    width:30px;
    height:32px;
    border-radius:8px;
    background:var(--accent);
    color:#fff;
    text-align:center;
    font-size:20px;
}
.brand-divider {
    color:#bdc8d1;
    font-weight:400;
}
.top-links {
    display:flex;
    align-items:center;
    gap:22px;
    font-size:13px;
}
.business-name {
    color:var(--muted);
}
.top-links a {
    text-decoration:none;
}
.docs-layout {
    display:grid;
    grid-template-columns:var(--sidebar) minmax(0,1fr);
}
.sidebar {
    position:sticky;
    top:68px;
    height:calc(100vh - 68px);
    overflow:auto;
    padding:30px 20px 24px;
    border-right:1px solid var(--line);
    background:#fafbfc;
}
.eyebrow {
    font-size:10px;
    letter-spacing:.14em;
    font-weight:750;
    color:var(--muted);
    margin-bottom:12px;
}
.surface-tabs {
    display:flex;
    padding:4px;
    background:#eaf0f2;
    border-radius:9px;
    margin-bottom:24px;
    gap:3px;
}
.surface-tabs a {
    flex:1;
    text-align:center;
    text-decoration:none;
    font-size:12px;
    padding:7px 3px;
    border-radius:6px;
    color:var(--muted);
    font-weight:600;
}
.surface-tabs a[aria-current] {
    background:#fff;
    color:var(--ink);
    box-shadow:0 1px 3px #18273b15;
}
.search-label {
    display:block;
    font-size:12px;
    font-weight:600;
    margin-bottom:7px;
}
input[type=search] {
    width:100%;
    padding:10px 12px;
    border:1px solid #d4dde5;
    border-radius:7px;
    font-size:12px;
    background:#fff;
    color:var(--ink);
    margin-bottom:21px;
}
.endpoint-nav>a,.endpoint-nav .nav-group>a {
    display:flex;
    align-items:flex-start;
    gap:8px;
    padding:7px 8px;
    border-radius:5px;
    font-size:11px;
    text-decoration:none;
    color:var(--muted);
    overflow-wrap:anywhere;
}
.endpoint-nav>a {
    font-size:12px;
}
.endpoint-nav a:hover,.endpoint-nav a[aria-current] {
    background:#eaf3ef;
    color:var(--accent);
}
.nav-group h2 {
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.07em;
    color:#65788b;
    margin:23px 8px 8px;
}
.download-link {
    display:block;
    font-size:12px;
    margin:25px 8px 0;
    padding-top:18px;
    border-top:1px solid var(--line);
    font-weight:650;
    text-decoration:none;
}
main {
    padding:48px clamp(24px,5vw,90px);
    max-width:1400px;
    width:100%;
    min-width:0;
}
.overview,.guide-section {
    padding-bottom:36px;
    border-bottom:1px solid var(--line);
    margin-bottom:38px;
    scroll-margin-top:20px;
}
.lead {
    font-size:18px;
    color:var(--muted);
    max-width:720px;
    line-height:1.6;
}
.accent {
    color:var(--accent);
}
.version {
    margin-left:12px;
    font-size:10px;
    padding:3px 7px;
    border:1px solid var(--line);
    border-radius:5px;
    letter-spacing:0;
}
.metadata {
    display:flex;
    gap:24px;
    flex-wrap:wrap;
    color:var(--muted);
    font-size:12px;
    margin:24px 0;
}
.status-dot {
    display:inline-block;
    width:6px;
    height:6px;
    border-radius:100%;
    background:#1a986c;
    margin-right:6px;
}
.base-url {
    background:#f5f8fa;
    border:1px solid var(--line);
    border-radius:8px;
    display:flex;
    align-items:center;
    gap:14px;
    padding:15px 18px;
    margin:24px 0;
}
.base-url>span {
    font-size:10px;
    letter-spacing:.08em;
    color:var(--muted);
    white-space:nowrap;
}
.base-url code {
    flex:1;
    font-size:13px;
}
.base-url button,.code-block button {
    padding:4px 10px;
    border:1px solid #ccd9e1;
    border-radius:5px;
    background:#fff;
    color:var(--ink);
    font-size:11px;
}
.callout {
    background:var(--soft);
    border:1px solid #d0e9df;
    border-left:3px solid var(--accent);
    padding:17px 20px;
    border-radius:7px;
    margin:20px 0;
    font-size:13px;
}
.callout strong {
    color:#175e4d;
}
.callout p {
    margin:5px 0 0;
    color:#3e665b;
}
.steps {
    list-style:none;
    padding:0;
    counter-reset:steps;
    display:grid;
    gap:18px;
    margin:20px 0 25px;
}
.steps li {
    counter-increment:steps;
    padding-left:42px;
    position:relative;
    font-size:13px;
}
.steps li:before {
    content:counter(steps);
    position:absolute;
    left:0;
    top:0;
    width:27px;
    height:27px;
    background:#f0f5f4;
    border:1px solid #dce8e3;
    border-radius:50%;
    text-align:center;
    color:var(--accent);
    font-size:12px;
    line-height:25px;
}
.steps strong,.steps span {
    display:block;
}
.steps span {
    color:var(--muted);
    margin-top:3px;
}
.convention-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px 35px;
}
.convention-grid h3 {
    font-size:15px;
}
.convention-grid p {
    font-size:13px;
    color:var(--muted);
}
.convention-grid code {
    font-size:12px;
}
.table-wrap {
    overflow-x:auto;
    border:1px solid var(--line);
    border-radius:7px;
    margin:14px 0;
}
table {
    border-collapse:collapse;
    text-align:left;
    width:100%;
    font-size:12px;
}
th {
    background:#f7f9fb;
    color:var(--muted);
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.06em;
    font-weight:600;
}
td,th {
    padding:12px 15px;
    border-bottom:1px solid var(--line);
    vertical-align:top;
}
tr:last-child td {
    border-bottom:0;
}
td code {
    font-size:12px;
    overflow-wrap:anywhere;
}
td:nth-child(3) {
    min-width:200px;
}
td:nth-child(4) {
    min-width:160px;
}
td:first-child {
    min-width:130px;
}
.field-type {
    white-space:nowrap;
    font-family:ui-monospace,monospace;
    color:var(--muted);
    font-size:11px;
}
.reference-heading {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
}
.reference-heading h2 {
    margin:0;
}
.reference-heading .eyebrow {
    margin:0 0 8px;
}
.reference-heading>span {
    font-size:12px;
    color:var(--muted);
}
.group-title {
    font-size:18px;
    padding-bottom:13px;
    border-bottom:1px solid var(--line);
    margin:38px 0 22px;
}
.endpoint {
    border:1px solid var(--line);
    border-radius:10px;
    padding:25px;
    margin:0 0 24px;
    scroll-margin-top:90px;
    box-shadow:0 2px 4px #18273b03;
}
.endpoint-top {
    display:flex;
    align-items:center;
    gap:13px;
    min-width:0;
}
.endpoint-top code {
    font-size:17px;
    font-weight:600;
}
.permalink {
    margin-left:auto;
    text-decoration:none;
    color:#64788b;
}
.verb {
    font-family:ui-monospace,monospace;
    font-size:11px;
    font-weight:750;
    border-radius:5px;
    padding:3px 7px;
    letter-spacing:.01em;
    white-space:nowrap;
    display:inline-block;
}
.verb.small {
    font-size:8px;
    min-width:35px;
    text-align:center;
    padding:2px 3px;
    margin-top:2px;
}
.get {
    color:#2368a5;
    background:#eaf2fd;
}
.post {
    color:#197151;
    background:#e6f6ee;
}
.patch,.put {
    color:#98651c;
    background:#fff4dd;
}
.delete {
    color:#b23e51;
    background:#fcecef;
}
.description {
    white-space:pre-line;
    font-size:13px;
    color:var(--muted);
}
.badges {
    display:flex;
    gap:7px;
    flex-wrap:wrap;
}
.badges span {
    font-size:10px;
    border:1px solid var(--line);
    padding:2px 8px;
    border-radius:20px;
    color:var(--muted);
}
.badges .key-badge {
    background:#fff9e9;
    border-color:#f0dfb6;
    color:#8a6720;
}
details {
    border-top:1px solid var(--line);
    padding:12px 0;
}
summary {
    cursor:pointer;
    font-size:12px;
    font-weight:600;
    color:#394f65;
    overflow-wrap:anywhere;
}
summary:hover {
    color:var(--accent);
}
.code-block {
    background:#122338;
    color:#dce9f5;
    border-radius:7px;
    position:relative;
    margin:13px 0 17px;
    overflow:hidden;
}
.code-block button {
    position:absolute;
    right:9px;
    top:9px;
    background:#20364c;
    color:#dce9f5;
    border-color:#3c5065;
}
.code-block pre {
    padding:48px 20px 20px;
    overflow:auto;
    margin:0;
    font-size:12px;
    line-height:1.7;
    max-height:480px;
    tab-size:4;
}
.code-block pre code {
    font-size:inherit;
    overflow-wrap:normal;
}
.status-code {
    display:inline-block;
    color:#90522a;
    background:#fff4e7;
    border-radius:4px;
    font-size:10px;
    font-weight:700;
    letter-spacing:0;
    padding:2px 6px;
    margin-right:7px;
    font-family:ui-monospace,monospace;
}
.status-code.success {
    background:#e9f7ef;
    color:#22734d;
}
.response>p {
    margin:14px 0;
}
.response>summary {
    font-weight:400;
}
.long-guide {
    margin-top:12px;
}
.long-guide>summary {
    font-size:14px;
}
.markdown-guide {
    font-size:13px;
    padding-top:20px;
    overflow-wrap:anywhere;
}
.markdown-guide h1 {
    font-size:28px;
}
.markdown-guide h2 {
    font-size:22px;
}
.markdown-guide h3 {
    font-size:18px;
}
.markdown-guide pre {
    background:#f2f5f8;
    padding:18px;
    border-radius:7px;
    overflow:auto;
}
.markdown-guide table {
    display:block;
    overflow:auto;
}
.markdown-guide p {
    max-width:80ch;
}
.copy-status {
    position:fixed;
    bottom:24px;
    left:50%;
    transform:translateX(-50%);
    background:#182d40;
    color:#fff;
    padding:10px 18px;
    border-radius:8px;
    font-size:12px;
    z-index:20;
}
.copy-status:empty {
    display:none;
}
footer {
    font-size:12px;
    color:var(--muted);
    padding-bottom:25px;
}
.skip-link {
    position:fixed;
    top:-100px;
    z-index:99;
    background:white;
    padding:10px;
}
.skip-link:focus {
    top:4px;
}
[hidden] {
    display:none!important;
}
@media(min-width:1600px) {
    main {
        margin:0 auto;
    }
}
@media(max-width:1000px) {
    :root {
        --sidebar:235px;
    }
    .sidebar {
        padding:25px 14px;
    }
    .topbar {
        padding:0 20px;
    }
    main {
        padding:32px 26px;
    }
    .convention-grid {
        grid-template-columns:1fr;
    }
    .endpoint {
        padding:20px;
    }
}
@media(max-width:700px) {
    html {
        scroll-padding-top:75px;
    }
    .docs-layout {
        display:block;
    }
    .sidebar {
        position:static;
        height:auto;
        border-right:0;
        border-bottom:1px solid var(--line);
        padding:20px;
    }
    .endpoint-nav {
        max-height:200px;
        overflow:auto;
    }
    .sidebar>.eyebrow {
        display:none;
    }
    .surface-tabs {
        margin-bottom:15px;
    }
    .download-link {
        margin-top:15px;
    }
    .topbar {
        padding:0 16px;
        height:60px;
    }
    .brand {
        font-size:12px;
        gap:8px;
    }
    .brand span:last-child {
        font-size:12px;
    }
    .business-name {
        display:none;
    }
    .top-links {
        font-size:11px;
    }
    main {
        padding:28px 17px;
    }
    .lead {
        font-size:16px;
    }
    .endpoint {
        padding:18px 15px;
    }
    .endpoint-top code {
        font-size:14px;
    }
    .base-url {
        flex-wrap:wrap;
        padding:13px;
    }
    .base-url>span {
        width:100%;
    }
    .base-url code {
        font-size:11px;
    }
    .metadata {
        gap:14px;
    }
    .reference-heading {
        align-items:flex-start;
        flex-direction:column;
    }
    h2 {
        font-size:23px;
    }
    td,th {
        padding:10px;
    }
    .code-block pre {
        font-size:11px;
    }
    .endpoint-nav a {
        min-height:32px;
    }
}
@media(prefers-reduced-motion:reduce) {
    html {
        scroll-behavior:auto;
    }
}
@media print {
    .sidebar,.topbar,.copy-status,button {
        display:none;
    }
    .docs-layout {
        display:block;
    }
    main {
        padding:0;
        max-width:none;
    }
    .endpoint {
        break-inside:avoid;
    }
    .code-block {
        color:#000;
        background:#f6f6f6;
    }
}
