@import url("https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,480;1,9..144,380&family=Manrope:wght@500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap");

:root{
  --bg:#f6f2e9;--surface:rgba(33,29,24,.04);--surface-strong:rgba(255,255,255,.62);--border:rgba(33,29,24,.12);--border-soft:rgba(33,29,24,.07);
  --ink:#211d18;--ink-soft:#57524a;--ink-faint:#6e685a;
  --sage:#4e6042;--peach:#98552c;--gold:#7f590f;
  --red-ball:#b8502b;--gold-ball:#e8be6c;--ball:#fffdf8;--ball-line:rgba(33,29,24,.14);
  --orb-a:rgba(140,171,123,.34);--orb-b:rgba(231,162,114,.30);--orb-c:rgba(232,190,108,.22);
  --shadow:0 40px 80px -40px rgba(33,29,24,.35),0 12px 30px -18px rgba(33,29,24,.25);
  --bad:#a63a1f;color-scheme:light}
@media (prefers-color-scheme:dark){:root{
  --bg:#1b1815;--surface:rgba(255,255,255,.045);--surface-strong:rgba(255,255,255,.06);--border:rgba(255,255,255,.12);--border-soft:rgba(255,255,255,.07);
  --ink:#f1ece3;--ink-soft:#b3aa9a;--ink-faint:#8f8779;
  --sage:#a8c79a;--peach:#e8a97a;--gold:#e8be6c;
  --red-ball:#c95a33;--ball:#f6f2e9;--ball-line:rgba(255,255,255,.2);
  --orb-a:rgba(120,160,104,.22);--orb-b:rgba(214,130,84,.20);--orb-c:rgba(232,190,108,.12);
  --shadow:0 40px 90px -40px rgba(0,0,0,.7),0 10px 30px -16px rgba(0,0,0,.5);
  --bad:#f0a58a;color-scheme:dark}}

html,body{background:var(--bg)!important;color:var(--ink)}
body{margin:0;font:500 16px/1.6 Manrope,system-ui,sans-serif;-webkit-font-smoothing:antialiased}

html.nb .swagger-ui :is(p,li,td,th,label,h4,h5,button,input,select,textarea){font-family:Manrope,system-ui,sans-serif}

/* site bar replaces Swagger's topbar */
html.nb .swagger-ui .topbar{display:none}
.nb-bar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:16px clamp(16px,4vw,48px);background:color-mix(in srgb,var(--bg) 78%,transparent);backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);border-bottom:1px solid var(--border-soft)}
.nb-brand{font-family:Fraunces,Georgia,serif;font-size:1.25rem;font-weight:480;letter-spacing:-.01em;color:var(--ink);text-decoration:none}
.nb-nav{display:flex;align-items:center;gap:10px}
.nb-link{font-weight:600;font-size:.9rem;color:var(--ink-soft);text-decoration:none;padding:8px 6px}
.nb-link:hover{color:var(--ink)}
.nb-pill{display:inline-flex;align-items:center;font:700 .86rem/1 Manrope,sans-serif;text-decoration:none;padding:9px 16px;min-height:40px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--ink)}
.nb-pill:hover{background:color-mix(in srgb,var(--ink) 8%,transparent)}

/* page */
html.nb .swagger-ui{background:transparent!important;color:var(--ink);font-family:Manrope,system-ui,sans-serif}
html.nb .swagger-ui .wrapper{max-width:1240px;padding:0 clamp(16px,4vw,48px)}
html.nb .swagger-ui .info{margin:64px 0 28px}
html.nb .swagger-ui .info .description,html.nb .swagger-ui .info .description .markdown{margin:18px 0 0;padding:0}
html.nb .swagger-ui .info .title{font-family:Fraunces,Georgia,serif;font-weight:300;font-size:clamp(2.6rem,6vw,4.2rem);letter-spacing:-.035em;line-height:1;color:var(--ink)}
html.nb .swagger-ui .info .title small{background:var(--surface)!important;border:1px solid var(--border);color:var(--ink-soft)!important;border-radius:999px;padding:4px 10px;font:500 .72rem/1 "IBM Plex Mono",monospace;vertical-align:middle;top:-8px}
html.nb .swagger-ui .info .title small pre{color:inherit!important;font:inherit}
html.nb .swagger-ui .info .title small.version-stamp{display:none}
html.nb .swagger-ui .info a.link,html.nb .swagger-ui .info .link{display:none}
html.nb .swagger-ui .info .description,html.nb .swagger-ui .info .description p,html.nb .swagger-ui .markdown p,html.nb .swagger-ui .renderedMarkdown p{color:var(--ink-soft);font-size:1.08rem;max-width:62ch}
html.nb .swagger-ui .info .description a,html.nb .swagger-ui .markdown a{color:var(--sage)}
html.nb .swagger-ui .info .description code,html.nb .swagger-ui .markdown code{background:var(--surface);border:1px solid var(--border-soft);border-radius:6px;padding:1px 6px;color:var(--ink);font:500 .9em "IBM Plex Mono",monospace}

/* servers + Authorize bar */
html.nb .swagger-ui .scheme-container{background:transparent!important;border:0;box-shadow:none;margin:0 0 28px;padding:0}
html.nb .swagger-ui .scheme-container .schemes{justify-content:flex-start}
html.nb .swagger-ui .scheme-container .schemes-title,html.nb .swagger-ui .servers-title,html.nb .swagger-ui .servers>label{color:var(--ink-soft);font:500 .78rem/1.4 "IBM Plex Mono",monospace;letter-spacing:.06em;text-transform:uppercase}

/* section headers */
/* Every route is in Swagger's untagged "default" group; its heading adds nothing, so hide it */
html.nb .swagger-ui .opblock-tag-section>h3.opblock-tag{display:none}
html.nb .swagger-ui .opblock-tag{font-family:Fraunces,Georgia,serif;font-weight:480;font-size:1.6rem;letter-spacing:-.02em;color:var(--ink);border-bottom:1px solid var(--border)}
html.nb .swagger-ui .opblock-tag small{font-family:Manrope,sans-serif;color:var(--ink-faint)}
html.nb .swagger-ui .opblock-tag svg,html.nb .swagger-ui .opblock-control-arrow svg,html.nb .swagger-ui .expand-operation svg,html.nb .swagger-ui .authorization__btn svg{fill:var(--ink-soft)}

/* operations */
html.nb .swagger-ui .opblock{border-radius:18px;box-shadow:none;border:1px solid var(--border);background:var(--surface);margin:0 0 12px;overflow:hidden}
html.nb .swagger-ui .opblock.opblock-get{border-color:color-mix(in srgb,var(--sage) 40%,transparent);background:color-mix(in srgb,var(--sage) 7%,transparent)}
html.nb .swagger-ui .opblock .opblock-summary{border:0;padding:10px 14px}
html.nb .swagger-ui .opblock.is-open .opblock-summary{border-bottom:1px solid var(--border-soft)}
html.nb .swagger-ui .opblock .opblock-summary-method{border-radius:999px;min-width:68px;padding:7px 0;font:600 .8rem/1 "IBM Plex Mono",monospace;letter-spacing:.06em;text-shadow:none}
html.nb .swagger-ui .opblock.opblock-get .opblock-summary-method{background:var(--sage);color:var(--bg)}
html.nb .swagger-ui .opblock .opblock-summary-path,html.nb .swagger-ui .opblock .opblock-summary-path a,html.nb .swagger-ui .opblock .opblock-summary-path__deprecated{color:var(--ink)!important;font:500 .95rem/1.4 "IBM Plex Mono",monospace}
html.nb .swagger-ui .opblock .opblock-summary-description{color:var(--ink-soft);font-family:Manrope,sans-serif}
html.nb .swagger-ui .opblock .opblock-section-header{background:var(--surface)!important;box-shadow:none;border-bottom:1px solid var(--border-soft)}
html.nb .swagger-ui .opblock.opblock-get .opblock-section-header{border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft)}
html.nb .swagger-ui .opblock.opblock-get .opblock-body>*{border-top-color:var(--border-soft)}
html.nb .swagger-ui .opblock.opblock-get thead tr td,html.nb .swagger-ui .opblock.opblock-get thead tr th{border-color:var(--border)}
html.nb .swagger-ui .opblock.opblock-get .tab-header .tab-item.active h4 span:after,html.nb .swagger-ui .opblock.opblock-get .opblock-section-header .tab-header .tab-item .opblock-title span:after{background:var(--sage)}
html.nb .swagger-ui .opblock .opblock-section-header h4,html.nb .swagger-ui .opblock-title_normal,html.nb .swagger-ui .tab li{color:var(--ink);font-family:Manrope,sans-serif;font-weight:700}
html.nb .swagger-ui table thead tr td,html.nb .swagger-ui table thead tr th{color:var(--ink-faint);border-bottom-color:var(--border);font:500 .75rem/1.4 "IBM Plex Mono",monospace;letter-spacing:.06em;text-transform:uppercase}
html.nb .swagger-ui .parameter__name,html.nb .swagger-ui .response-col_status{color:var(--ink);font-family:"IBM Plex Mono",monospace}
html.nb .swagger-ui .parameter__name.required:after{color:var(--peach)}
html.nb .swagger-ui .parameter__type,html.nb .swagger-ui .parameter__in,html.nb .swagger-ui .response-col_links,html.nb .swagger-ui .responses-inner h4,html.nb .swagger-ui .responses-inner h5,html.nb .swagger-ui .col_header,html.nb .swagger-ui label,html.nb .swagger-ui .model-title,html.nb .swagger-ui .prop-type{color:var(--ink-soft)}
html.nb .swagger-ui .opblock-body pre.microlight,html.nb .swagger-ui .highlight-code>.microlight,html.nb .swagger-ui .curl-command .copy-to-clipboard+div,html.nb .swagger-ui .microlight{border-radius:14px!important;font:400 .84rem/1.6 "IBM Plex Mono",monospace!important}

/* buttons & inputs */
html.nb .swagger-ui .btn{border-radius:999px;box-shadow:none;font:700 .86rem/1 Manrope,sans-serif;padding:10px 18px;border:1px solid var(--border);background:var(--surface);color:var(--ink)}
html.nb .swagger-ui .btn:hover{box-shadow:none;background:color-mix(in srgb,var(--ink) 8%,transparent)}
html.nb .swagger-ui .btn.authorize{border-color:var(--gold)!important;color:var(--gold)!important;background:transparent}
html.nb .swagger-ui .btn.authorize svg{fill:var(--gold)!important}
html.nb .swagger-ui .btn.execute,html.nb .swagger-ui .btn.modal-btn.auth.authorize{background:var(--ink);border-color:var(--ink);color:var(--bg)}
html.nb .swagger-ui .btn.cancel{border-color:var(--bad);color:var(--bad);background:transparent}
html.nb .swagger-ui .btn-group .btn{border-radius:999px}
html.nb .swagger-ui input[type=text],html.nb .swagger-ui input[type=password],html.nb .swagger-ui input[type=search],html.nb .swagger-ui textarea,html.nb .swagger-ui select{border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--ink);font-family:Manrope,sans-serif;box-shadow:none}
html.nb .swagger-ui select{padding-right:32px}
html.nb .swagger-ui textarea:focus,html.nb .swagger-ui input:focus,html.nb .swagger-ui select:focus{border-color:var(--gold);outline:none}

/* Authorize dialog */
html.nb .swagger-ui .dialog-ux .modal-ux{background:var(--bg);border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow)}
html.nb .swagger-ui .dialog-ux .modal-ux-header{border-bottom:1px solid var(--border-soft)}
html.nb .swagger-ui .dialog-ux .modal-ux-header h3{font-family:Fraunces,Georgia,serif;font-weight:480;color:var(--ink)}
html.nb .swagger-ui .dialog-ux .backdrop-ux{background:rgba(12,10,9,.6)}

html.nb .swagger-ui .models{display:none}
