/* Scan the Block's skin over Swagger UI.
 *
 * Swagger's default look is unmistakably Swagger; this makes the docs page read
 * as part of the product — the brand header, the paper-and-navy palette, the
 * same fonts, and a dark mode that matches the site — without touching the
 * machinery underneath. Theme tokens first, then targeted overrides.
 */
:root{
  --paper:#fbfaf8;--card:#fff;--sunk:#f3f1ec;--rule:#e3e0d8;--rule2:#d3cfc4;
  --ink:#15171b;--soft:#4b5058;--faint:#767b83;--accent:#1d4e79;--accent-soft:#e9f0f7;
  --sans:"Space Grotesk",system-ui,sans-serif;--serif:Georgia,serif;--mono:ui-monospace,monospace;
  --get:#1d4e79;
}
@media (prefers-color-scheme:dark){:root{
  --paper:#14161a;--card:#1b1e23;--sunk:#111318;--rule:#2b2f36;--rule2:#3a3f47;
  --ink:#eef1f5;--soft:#b7bdc6;--faint:#868d97;--accent:#6ea8db;--accent-soft:#1c2b3a;--get:#6ea8db;
}}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif)}

/* header + intro, matching the site */
.docshead{
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  max-width:1080px;margin:0 auto;padding:22px 26px;border-bottom:1px solid var(--rule);
}
.brand{display:inline-flex;align-items:center;gap:9px;font-family:system-ui,sans-serif;font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--ink);text-decoration:none}
.brand span{color:var(--faint)}
.brand .mk{display:grid;grid-template-columns:8px 8px;grid-template-rows:8px 8px;gap:2.5px}
.brand .mk i{background:var(--accent);border-radius:1.5px}
.docshead nav a{font-family:system-ui,sans-serif;font-size:13px;color:var(--soft);text-decoration:none;margin-left:18px}
.docshead nav a:hover{color:var(--accent)}
.docsintro{max-width:1080px;margin:0 auto;padding:30px 26px 8px}
.docsintro h1{font-family:var(--sans);font-weight:600;letter-spacing:-0.02em;font-size:clamp(28px,5vw,40px);margin:0}
.docsintro p{font-family:var(--serif);font-size:16px;line-height:1.6;color:var(--soft);max-width:70ch;margin:14px 0 0}

/* ---- Swagger UI overrides ---- */
#swagger{max-width:1080px;margin:0 auto;padding:0 14px}
.swagger-ui,.swagger-ui .info,.swagger-ui .opblock-tag,.swagger-ui .opblock .opblock-summary-operation-id,
.swagger-ui .parameter__name,.swagger-ui table thead tr th,.swagger-ui .btn,.swagger-ui .tab li,
.swagger-ui .opblock-summary-method{font-family:var(--sans) !important}
.swagger-ui .markdown p,.swagger-ui .renderedMarkdown p,.swagger-ui .response-col_description__inner p,
.swagger-ui .parameter__type,.swagger-ui .prop-type{font-family:var(--serif) !important}
.swagger-ui,.swagger-ui .info .title,.swagger-ui .opblock-tag,.swagger-ui .parameter__name,
.swagger-ui table thead tr td, .swagger-ui table thead tr th,.swagger-ui .response-col_status{color:var(--ink) !important}
.swagger-ui .info{display:none}   /* our branded intro covers it */
.swagger-ui .info{margin:24px 0}
.swagger-ui .scheme-container{background:var(--sunk);box-shadow:none;border:1px solid var(--rule);border-radius:10px;margin:0 0 24px;padding:16px 18px}
.swagger-ui .opblock{border-radius:10px;border:1px solid var(--rule);box-shadow:none;background:var(--card);margin:0 0 12px}
.swagger-ui .opblock .opblock-summary{border-color:var(--rule)}
.swagger-ui .opblock.opblock-get{background:var(--card);border-color:var(--rule)}
.swagger-ui .opblock.opblock-get .opblock-summary-method{background:var(--accent)}
.swagger-ui .opblock-summary-path,.swagger-ui .opblock-summary-path__deprecated{color:var(--ink) !important;font-family:var(--mono) !important}
.swagger-ui .opblock-description-wrapper p,.swagger-ui .opblock-external-docs-wrapper,.swagger-ui .opblock-title_normal{color:var(--soft) !important}
.swagger-ui .btn.authorize{color:var(--accent);border-color:var(--accent)}
.swagger-ui .btn.authorize svg{fill:var(--accent)}
.swagger-ui .btn.execute{background:var(--accent);border-color:var(--accent)}
.swagger-ui .opblock-tag{border-color:var(--rule);font-size:19px}
.swagger-ui section.models{border-color:var(--rule)}
.swagger-ui input[type=text],.swagger-ui textarea,.swagger-ui select{
  background:var(--card);color:var(--ink);border:1px solid var(--rule2);border-radius:6px;font-family:var(--mono)}
.swagger-ui .highlight-code,.swagger-ui .microlight{background:var(--sunk) !important}
.swagger-ui .responses-inner{background:transparent}
.swagger-ui .response-col_links{display:none}

/* dark mode: Swagger ships light, so recolor the surfaces it hardcodes */
@media (prefers-color-scheme:dark){
  .swagger-ui,.swagger-ui .opblock .opblock-section-header{background:transparent}
  .swagger-ui .opblock-section-header{background:var(--sunk) !important;box-shadow:none}
  .swagger-ui .opblock-summary-description,.swagger-ui .parameter__name,.swagger-ui table.parameters td,
  .swagger-ui .response-col_status,.swagger-ui .col_header,.swagger-ui label,.swagger-ui .tab li,
  .swagger-ui .parameter__type,.swagger-ui .prop-format,.swagger-ui .markdown code,.swagger-ui .renderedMarkdown code{color:var(--soft) !important}
  .swagger-ui .model-box,.swagger-ui table.model tr td{background:transparent;color:var(--soft)}
  .swagger-ui svg:not(:root){fill:var(--soft)}
  .swagger-ui .opblock-body pre.microlight,.swagger-ui .highlight-code .microlight{color:#d7dbe0 !important}
}
