/**
    * Copyright (c) 2011, 2012, 2013 Twitter, Inc.
    * Copyright (c) 2013-2024 Emma Lejack (https://github.com/NuckChorris) <peter.lejeck@gmail.com>
    * Copyright (c) 2013-2024 Go Johansson (https://github.com/nokonoko) <neku@pomf.se>
    * Copyright (c) 2013-2025 Uguu & Pomf Community Contributors (https://github.com/nokonoko/Uguu) (https://github.com/pomf/pomf)
    *
    * Permission is hereby granted, free of charge, to any person obtaining a copy
    * of this software and associated documentation files (the "Software"), to deal
    * in the Software without restriction, including without limitation the rights
    * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    * copies of the Software, and to permit persons to whom the Software is
    * furnished to do so, subject to the following conditions:
    *
    * The above copyright notice and this permission notice shall be included in
    * all copies or substantial portions of the Software.
    *
    * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    * SOFTWARE.
    */

/**
 * USE BORDER BOX
 */
*,
*:before,
*:after {
    box-sizing: border-box;
}

/**
 * FONTS (self-hosted woff2 — same-origin so the strict homepage CSP allows them)
 * Space Grotesk: warmer, more characterful sans than system Helvetica/Arial.
 * JetBrains Mono: readable, consistent mono for code/paths/indices across OSes.
 * Both are single variable files covering all weights we use.
 */
@font-face {
    font-family: "Space Grotesk";
    font-style: normal;
    font-weight: 300 700;
    font-display: swap;
    src: url("/static/fonts/space-grotesk-var.woff2") format("woff2");
}

@font-face {
    font-family: "JetBrains Mono";
    font-style: normal;
    font-weight: 400 800;
    font-display: swap;
    src: url("/static/fonts/jetbrains-mono-var.woff2") format("woff2");
}

/**
  * PAGE LAYOUT
  */
body {
    background: #0a0a0a;
    color: #fff;
    font-family: "Space Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    font-size: 14px;
    line-height: 1.5;
    margin: 0;
    padding: 0;
    text-rendering: optimizelegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    min-height: 100vh;
    opacity: 1 !important;
    display: flex;
    flex-direction: column;
    position: relative;
}

body::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 9999;
    opacity: 0.035;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
}

::selection {
    background: rgba(255, 255, 255, 0.2);
    color: #fff;
}

.grill-wrapper {
    background: transparent;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1;
}

.container {
    margin: 0 auto;
    max-width: 700px;
    padding: 0 24px;
}

/**
 * ELEMENTS
 */

/* images */
input[type=image], img {
    vertical-align: middle;
}

/* links */
a {
    color: rgba(255, 255, 255, 0.5);
    text-decoration: none;
    transition: color 0.15s ease;
}

a:hover,
a:focus,
a:active {
    color: #fff;
}

a:focus {
    outline: none;
}

a:focus-visible {
    outline: 1px solid rgba(255, 255, 255, 0.4);
    outline-offset: 2px;
}

/**
 * JUMBOTRON
 */
.jumbotron {
    margin: 0 0 40px;
    text-align: center;
}

.jumbotron h1 {
    color: #fff;
    font-family: inherit;
    font-size: 32px;
    font-weight: 600;
    line-height: 1;
    margin: 10px 0;
    cursor: default;
    letter-spacing: -0.5px;
}

.jumbotron .site-logo {
    max-width: 220px;
    height: auto;
    margin: 0 auto 28px;
    display: block;
    /* the artwork's safe sits left-of-center (the mascot adds width on the right),
       so nudge right to center the page on the safe's feet, not the image box */
    transform: translateX(8%);
    cursor: default;
    opacity: 0.95;
    transition: opacity 0.2s ease;
}

.jumbotron .site-logo:hover {
    opacity: 1;
}

.jumbotron .lead {
    font-size: 13px;
    font-weight: 400;
    line-height: 1.6;
    margin-bottom: 36px;
    color: rgba(255, 255, 255, 0.35);
    letter-spacing: 0.3px;
}

.jumbotron .btn {
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 6px;
    color: rgba(255, 255, 255, 0.85);
    cursor: pointer;
    display: inline-block;
    font-size: 14px;
    font-weight: 500;
    padding: 18px 36px;
    letter-spacing: 0.2px;
    transition: all 0.2s ease;
    position: relative;
    overflow: hidden;
}

.jumbotron .btn::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, 0);
    transition: background 0.2s ease;
}

.jumbotron .btn:hover,
.jumbotron .btn:focus {
    border-color: rgba(255, 255, 255, 0.3);
    color: #fff;
    transform: translateY(-1px);
}

.jumbotron .btn:hover::before,
.jumbotron .btn:focus::before {
    background: rgba(255, 255, 255, 0.03);
}

.jumbotron .btn:active,
.jumbotron .btn.drop {
    background-color: #fff;
    border-color: #fff;
    color: #000;
    transform: translateY(0);
}

.jumbotron .btn:active::before,
.jumbotron .btn.drop::before {
    background: transparent;
}

.jumbotron .btn:focus-visible {
    outline: 1px solid rgba(255, 255, 255, 0.4);
    outline-offset: 3px;
}

/**
 * BOXES
 */
.alert {
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 6px;
    padding: 16px 18px;
    background: rgba(255, 255, 255, 0.03);
    font-size: 13px;
}

.alert-error {
    background-color: rgba(255, 80, 80, 0.08);
    border-color: rgba(255, 80, 80, 0.2);
    color: #ff8888;
}

.alert-info {
    background-color: rgba(255, 255, 255, 0.03);
    border-color: rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.6);
}

/**
 * DONATION BUTTONS
 */
span.donate-btns {
    display: block;
    text-align: center;
    margin: 11px 0 3px;
}

a.donate-btn {
    height: 26px;
    display: inline-block;
    margin: 2px 5px;
    background: rgba(255, 255, 255, 0.05);
    line-height: 16px;
    padding: 3px 8px 3px 24px;
    border-radius: 4px;
    color: rgba(255, 255, 255, 0.5);
    border: 1px solid rgba(255, 255, 255, 0.1);
    transition: all 0.15s ease;
}

a.donate-btn:hover {
    color: rgba(255, 255, 255, 0.8);
    border-color: rgba(255, 255, 255, 0.2);
    background-color: rgba(255, 255, 255, 0.08);
}

.icon {
    display: block;
    height: 16px;
    width: 16px;
    float: left;
    margin-left: -20px;
    margin-top: 1px;
    filter: invert(1);
    opacity: 0.7;
}

.icon-paypal {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" xml:space="preserve" width="16" height="16"><path fill="%23385c8e" d="M14.823 2.791c.65 1.192.435 2.597.179 3.428-1.385 4.524-7.635 4.278-8.539 4.278s-1.113.842-1.113.842l-.675 2.946c-.184 1.034-1.122.982-1.122.982H1.52q-.077 0-.143-.01c-.01.189.017.743.694.743h2.034s.938.053 1.122-.981l.674-2.946s.211-.842 1.114-.842 7.154.246 8.539-4.278c.309-1.011.56-2.869-.731-4.162"/><path fill="%23385c8e" d="m4.048 13.642.675-2.946s.21-.841 1.114-.841c.902 0 7.153.245 8.538-4.278C14.882 3.923 15.233 0 8.922 0H4.364s-.948-.044-1.181.963L.204 13.819s-.128.806.687.806h2.035s.938.053 1.122-.982m1.718-7.479.605-2.612s.193-.71.816-.816c.622-.106 1.682.019 1.955.07 1.77.332 1.394 2.007 1.394 2.007-.35 2.586-4.375 2.227-4.375 2.227-.631-.228-.395-.877-.395-.877"/></svg>');
}

.icon-bitcoin {
    background-image: url('data:image/svg+xml,<svg width="16" height="16" viewBox="0 -0.01 0.68 0.68" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M.665.323a.323.323 0 1 1-.648 0 .323.323 0 0 1 .649 0M.42.203c.045.015.078.038.071.081Q.482.329.446.336q.048.027.033.086C.46.477.414.481.354.47L.339.529.303.52.318.462.29.455.275.513.24.504.255.445.183.427.201.386l.026.006C.237.394.242.388.243.384l.04-.159C.283.217.281.208.266.204L.24.198.249.16l.072.018L.336.12l.035.009-.014.057.029.007L.4.136l.036.009zM.335.3C.359.306.412.32.421.284S.379.235.354.23L.347.228.329.299l.006.002M.308.415C.337.423.4.439.41.399.42.358.359.344.329.337L.32.335.3.413l.007.002" fill="%23F7931A"/></svg>');
}

.icon-ethereum {
    background-image: url('data:image/svg+xml,<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="m7.963 11.98-4.91-2.9L7.962 16l4.913-6.92-4.915 2.9zM8.037 0l-4.91 8.149 4.91 2.903 4.91-2.9z" fill="%23343434"/></svg>');
}

.icon-kofi {
    background-image: url('data:image/svg+xml,<svg width="16" height="16" viewBox="-0.181 0 1.859 1.859" xmlns="http://www.w3.org/2000/svg"><g data-name="Layer 2"><g data-name="Layer 1"><g data-name="Coffee Icon"><path data-name="Coffee Cup" d="M.124.36A.125.125 0 0 1 .248.222H1.25a.125.125 0 0 1 .124.138l-.151 1.388a.125.125 0 0 1-.124.111h-.7a.125.125 0 0 1-.124-.111Z" fill="%237b7b7b"/><path d="M1.387.14h-.032V.11a.11.11 0 0 0-.11-.11h-.99a.11.11 0 0 0-.11.11v.03H.11A.11.11 0 0 0 0 .249v.06a.11.11 0 0 0 .11.11h1.277a.11.11 0 0 0 .11-.11v-.06a.11.11 0 0 0-.11-.11" fill="%2398c7eb"/><g data-name="Cup Sleeve"><path data-name="Cup Sleeve" d="M.072.861A.11.11 0 0 1 .181.738H1.32a.11.11 0 0 1 .109.123l-.062.5a.11.11 0 0 1-.109.096H.242a.11.11 0 0 1-.109-.096Z" fill="%23edaea3"/><path d="m.751 1.271-.026-.026C.629 1.16.566 1.103.566 1.033A.1.1 0 0 1 .668.932a.11.11 0 0 1 .083.039.11.11 0 0 1 .083-.039.1.1 0 0 1 .102.101c0 .07-.063.127-.159.212Z" fill="%23ff7878"/></g></g></g></g></svg>');
}


/**
 * NAVIGATION LINKS
 */
nav {
    padding-top: 0;
    padding-bottom: 24px;
}

nav > ul,
nav a {
    color: rgba(255, 255, 255, 0.5);
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: center;
}

nav > ul > li {
    display: inline-block;
    margin: 0;
    padding: 0;
    cursor: default;
}

nav > ul > li:after {
    content: "·";
    margin: 0 12px;
    color: #EE52B4;
    opacity: 0.55;
}

nav > ul > li:last-child:after {
    content: "";
    margin: 0;
}

nav a {
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    transition: color 0.15s ease;
    padding: 4px 0;
}

nav a:hover {
    color: rgba(255, 255, 255, 0.9);
}


/**
 * UPLOAD FILE LIST
 */
#upload-filelist {
    list-style-type: none;
    margin: 20px 0;
    padding: 0;
    text-align: left;
}

.error#upload-filelist {
    color: #ff6666;
}

button.upload-clipboard-btn {
    height: 26px;
    width: 26px;
    margin-left: 8px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.15s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

button.upload-clipboard-btn:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.2);
}

button.upload-clipboard-btn img {
    filter: invert(1);
    opacity: 0.6;
    content: url('data:image/svg+xml,<svg width="14" height="14" viewBox="0 0 0.48 0.48" xmlns="http://www.w3.org/2000/svg"><path d="M.42.179.419.174V.172L.415.166l-.12-.12L.289.042H.287L.28.04H.2A.06.06 0 0 0 .14.1v.02H.12a.06.06 0 0 0-.06.06v.2a.06.06 0 0 0 .06.06h.16A.06.06 0 0 0 .34.38V.36h.02A.06.06 0 0 0 .42.3zM.3.108.352.16H.32A.02.02 0 0 1 .3.14ZM.3.38A.02.02 0 0 1 .28.4H.12A.02.02 0 0 1 .1.38v-.2A.02.02 0 0 1 .12.16h.02V.3A.06.06 0 0 0 .2.36h.1ZM.38.3a.02.02 0 0 1-.02.02H.2A.02.02 0 0 1 .18.3V.1A.02.02 0 0 1 .2.08h.06v.06A.06.06 0 0 0 .32.2h.06Z"/></svg>');
}

button.upload-clipboard-btn:hover img {
    opacity: 0.9;
}

button.upload-clipboard-btn img:active {
    content: url('data:image/svg+xml,<svg width="14" height="14" viewBox="0 0 0.64 0.64" xmlns="http://www.w3.org/2000/svg" fill="none"><path stroke="%23fff" stroke-linecap="round" stroke-linejoin="round" stroke-width=".04" d="m.13.34.12.12L.51.2"/></svg>');
}

.error#upload-filelist .progress-percent {
    color: #ff6666;
}

.error#upload-filelist .file-progress {
    display: none;
}

#upload-filelist > li {
    margin-top: 4px;
    overflow: hidden;
    padding: 6px 12px;
    background: rgba(255, 255, 255, 0.02);
    border-radius: 4px;
    border: 1px solid rgba(255, 255, 255, 0.06);
    transition: all 0.15s ease;
}

#upload-filelist > li:hover {
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(255, 255, 255, 0.1);
}

#upload-filelist > li.total {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    font-weight: 500;
    padding-top: 8px;
    margin-top: 8px;
    background: transparent;
    border-radius: 0;
    border-left: none;
    border-right: none;
    border-bottom: none;
}

.file-name {
    float: left;
    overflow: hidden;
    max-width: 65%;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: rgba(255, 255, 255, 0.7);
    font-size: 13px;
}

.file-progress,
.file-url {
    display: inline-block;
    float: right;
    font-size: 13px;
    margin-left: 8px;
    vertical-align: middle;
}

.file-url a {
    color: rgba(255, 255, 255, 0.45);
    font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;
    font-size: 12px;
}

.file-url a:hover {
    color: #fff;
}

.progress-percent {
    float: right;
    color: rgba(255, 255, 255, 0.4);
    font-size: 12px;
    font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;
}

progress[value] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
    height: 4px;
    border-radius: 2px;
}

progress[value]::-webkit-progress-bar {
    background-color: rgba(255, 255, 255, 0.08);
    border-radius: 2px;
}

progress[value]::-webkit-progress-value {
    background-color: #fff;
    border-radius: 2px;
    transition: width 0.2s ease;
}

progress[value]::-moz-progress-bar {
    background-color: #fff;
    border-radius: 2px;
}

/* completed rows */
.completed .file-progress,
.completed .progress-percent {
    display: none;
}

.completed .file-url {
    display: block;
}

/**
 * PROGRESS BARS
 */
.progress-outer {
    background-color: rgba(255, 255, 255, 0.08);
    border: none;
    border-radius: 3px;
    color: transparent;
    display: inline-block;
    font-size: 0;
    float: right;
    height: 4px;
    margin: 8px 6px 0;
    overflow: hidden;
    vertical-align: middle;
    width: 60px;
}

.progress-inner {
    background-color: #fff;
    height: 4px;
    margin: 0;
    width: 0;
    border-radius: 3px;
    transition: width 0.2s ease;
}

/**
 * MEDIA QUERIES
 */

@media only screen and (max-device-width: 320px), only screen and (max-width: 400px) {
    body {
        padding: 10px 0 0 0;
    }

    .jumbotron {
        margin: 50px 0 30px;
    }

    .jumbotron .lead {
        font-size: 12px;
    }

    .jumbotron .btn, .alert, #upload-filelist {
        border-radius: 6px;
        width: 100%;
        margin-left: 0;
        margin-right: 0;
    }

    #upload-filelist {
        overflow: hidden;
        text-align: center;
    }

    #upload-filelist > li.file {
        margin-top: 10px;
        margin-bottom: 10px;
    }

    .file-progress {
        width: 30%;
    }

    .file-name, .file-url {
        width: 100%;
        max-width: 100%;
    }

    .file-url a {
        text-decoration: underline;
    }

    .alert {
        font-size: 12px;
    }

    nav {
        padding-bottom: 15px;
        padding-top: 10px;
    }
}

@media only screen and (max-width: 600px) {
    body {
        padding: 10px 0 0 0;
    }

    .jumbotron {
        margin: 50px 0 30px;
    }

    .jumbotron .lead {
        font-size: 12px;
    }

    .jumbotron .btn, .alert {
        border-radius: 6px;
        width: 100%;
        margin-left: 0;
        margin-right: 0;
    }

    #upload-filelist {
        overflow: hidden;
    }

    #upload-filelist > li.file {
        margin-top: 10px;
        margin-bottom: 10px;
    }

    .file-progress {
        width: 30%;
    }

    .file-name, .file-url {
        width: 100%;
        max-width: 100%;
        float: none;
        text-align: center;
    }

    .file-url a {
        text-decoration: underline;
    }

    .alert {
        font-size: 12px;
    }

    nav {
        padding-bottom: 15px;
        padding-top: 10px;
    }
}

/*
 * no js
 */
#upload-btn {
    display: none;
}

.js #upload-input {
    display: none;
}

.js input[type="submit"] {
    display: none;
}

.js #upload-btn {
    display: inline-block !important;
}

/*
 * inline command block
 */
kbd {
    padding: 3px 6px;
    font-size: 12px;
    color: #000;
    background-color: #fff;
    border-radius: 4px;
    font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;
}

kbd:before {
    content: "$ "
}

#copy-all-btn {
    float: right;
    margin-right: 2.24em;
}

/**
 * DOCUMENTATION PAGES  (shared chrome for /api + /faq)
 *
 * A restrained "technical spec" layer: monospace section indices,
 * hairline rhythm, lots of air. Stays in the site's muted/no-JS aesthetic.
 */
.doc-page .grill-wrapper {
    align-items: flex-start;        /* tall pages: pin to top, never clip the heading */
}

.doc-page .container {
    max-width: 760px;
    padding-top: 64px;
    padding-bottom: 56px;
}

.doc-head {
    margin: 0 0 44px;
}

.doc-head h1 {
    font-size: 25px;
    font-weight: 600;
    color: #fff;
    letter-spacing: -0.4px;
    margin: 0;
    line-height: 1.1;
}

.doc-head .lead {
    color: rgba(255, 255, 255, 0.5);
    font-size: 13px;
    line-height: 1.65;
    letter-spacing: 0.2px;
    margin: 13px 0 0;
    max-width: 62ch;
}

/* shared typography */
.doc section {
    scroll-margin-top: 24px;
}

.doc h2 {
    display: flex;
    align-items: baseline;
    font-size: 15px;
    font-weight: 600;
    color: #fff;
    letter-spacing: 0.2px;
    margin: 0 0 16px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

/* monospace section index, e.g. 01 — the cohesive identity thread */
.doc h2 .idx {
    flex: none;
    font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;
    font-size: 11px;
    font-weight: 600;
    color: #EE52B4;
    opacity: 0.7;
    letter-spacing: 0;
    margin-right: 12px;
}

.doc h3 {
    font-size: 11px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.4);
    text-transform: uppercase;
    letter-spacing: 0.9px;
    margin: 22px 0 9px;
}

.doc p {
    color: rgba(255, 255, 255, 0.6);
    font-size: 13px;
    line-height: 1.85;        /* roomy enough that bordered inline code pills never clip a wrapped line */
    margin: 0 0 12px;
    max-width: 64ch;
}

.doc a {
    color: #EE52B4;
}

.doc a:hover {
    color: #fff;
}

/**
 * API REFERENCE  (.doc.api)
 */
.api section {
    margin: 0 0 40px;
}

/* endpoint heading: METHOD + path */
.endpoint {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 9px;
    margin: 0 0 13px;
}

/* method badges — one muted outlined treatment for every verb. No Swagger-style
   green/amber/red palette: the verb text + the mono path do the differentiating,
   keeping the page monochrome with a single purple accent. */
.method {
    display: inline-block;
    min-width: 52px;
    text-align: center;
    font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: 0.6px;
    padding: 2px 8px;
    border-radius: 4px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    background: transparent;
    color: rgba(255, 255, 255, 0.55);
}

/* inline code + paths */
.doc code,
.doc-head code,
.api .path {
    font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;
    font-size: 12.5px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.07);
    padding: 1px 6px;
    border-radius: 4px;
    color: #e6e6e6;
}

.api .path {
    color: #fff;
    background: rgba(255, 255, 255, 0.035);
}

/* code blocks — a quiet fill, no boxed border (keeps the hairline aesthetic) */
.api pre {
    background: rgba(255, 255, 255, 0.025);
    border: none;
    border-radius: 6px;
    padding: 15px 17px;
    overflow-x: auto;
    margin: 9px 0 15px;
}

/* endpoints overview: a route list, not a spreadsheet */
.api ul.endpoints {
    list-style: none;
    margin: 0 0 8px;
    padding: 0;
}

.api ul.endpoints li {
    display: flex;
    align-items: baseline;
    gap: 11px;
    padding: 9px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.api ul.endpoints li:last-child {
    border-bottom: none;
}

.api ul.endpoints .path {
    flex: none;
}

.api ul.endpoints .desc {
    margin-left: auto;
    padding-left: 16px;
    text-align: right;
    color: rgba(255, 255, 255, 0.5);
    font-size: 12.5px;
}

.api pre code {
    background: none;
    border: none;
    padding: 0;
    white-space: pre;
    font-size: 12.5px;
    line-height: 1.65;
    color: #cfcfcf;
}

/* tables (endpoint overview + params) */
.api table {
    width: 100%;
    border-collapse: collapse;
    margin: 6px 0 15px;
    font-size: 12.5px;
}

.api th {
    text-align: left;
    color: rgba(255, 255, 255, 0.32);
    font-weight: 500;
    font-size: 11px;
    font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;
    text-transform: lowercase;
    letter-spacing: 0.2px;
    padding: 0 12px 8px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.api td {
    padding: 9px 12px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.045);
    color: rgba(255, 255, 255, 0.6);
    vertical-align: top;
}

.api th:first-child,
.api td:first-child {
    padding-left: 2px;
}

.api td:first-child {
    white-space: nowrap;
}

.api tr:last-child td {
    border-bottom: none;
}

.api td code {
    white-space: nowrap;
}

.api ul.notes {
    list-style: none;
    margin: 0 0 12px;
    padding: 0;
    color: rgba(255, 255, 255, 0.55);
    font-size: 13px;
    line-height: 2;           /* long inline path pills here need extra room when they wrap */
}

.api ul.notes li {
    padding: 7px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.045);
}

.api ul.notes li:last-child {
    border-bottom: none;
}

/* compact method badge when it rides inline with body text */
.api ul.notes .method,
.api td .method {
    min-width: 0;
    padding: 1px 6px;
    font-size: 9.5px;
    vertical-align: middle;
    margin-right: 2px;
}

/**
 * FAQ  (.doc.faq) — numbered Q&A, hairline separated
 */
/* questions reuse the same underlined .doc h2 as the API page; answers below,
   sections separated by whitespace (one heading rule across both pages) */
.faq section {
    margin: 0 0 36px;
}

.faq section:last-of-type {
    margin-bottom: 0;
}

.faq p {
    max-width: 64ch;
    margin: 0;
}

.faq p + p {
    margin-top: 11px;
}

/* subpage footer nav: left-aligned lowercase monospace with a purple "/"
   separator, instead of the homepage's centered uppercase caps */
.doc-page nav {
    padding-top: 8px;
}

.doc-page nav > ul,
.doc-page nav a {
    text-align: left;
}

.doc-page nav a {
    font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;
    text-transform: lowercase;
    letter-spacing: 0.3px;
    color: rgba(255, 255, 255, 0.4);
}

.doc-page nav a:hover {
    color: #fff;
}

.doc-page nav > ul > li:after {
    content: "/";
    margin: 0 9px;
}

.doc-page nav > ul > li:last-child:after {
    content: "";
    margin: 0;
}
