@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Montserrat:wght@400;500;600;700;800;900&display=swap');

:root {
  --docs-bg: #090820;
  --docs-surface: #11102d;
  --docs-surface-raised: #171533;
  --docs-line: #353451;
  --docs-text: #f5f3ff;
  --docs-muted: #b9b6ce;
  --docs-cyan: #31ebe5;
  --docs-pink: #ed23bd;
}

html { scroll-behavior: smooth; }
body {
  background: var(--docs-bg);
  color: var(--docs-text);
  font-family: Montserrat, 'Avenir Next', sans-serif;
  font-size: 14px;
  line-height: 1.7;
}
a { color: var(--docs-cyan); }
a:hover, a:focus { color: #a0fffa; }
:focus-visible { outline: 2px solid var(--docs-cyan); outline-offset: 3px; }
::selection { background: var(--docs-pink); color: var(--docs-text); }

.docs-skip-link {
  position: absolute;
  z-index: 1100;
  left: 16px;
  top: -60px;
  padding: 8px 14px;
  background: var(--docs-cyan);
  color: var(--docs-bg);
}
.docs-skip-link:focus { top: 12px; }
.docs-primary-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  background: var(--docs-cyan);
  color: #091322;
  border-radius: 100px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .02em;
  white-space: nowrap;
  box-shadow: 0 0 22px rgba(49, 235, 229, .25);
  transition: transform .2s ease, box-shadow .2s ease;
}
.docs-primary-cta { padding: 14px 29px; margin-top: 24px; }
.docs-primary-cta:hover, .docs-primary-cta:focus {
  color: #091322;
  text-decoration: none;
  transform: translateY(-2px);
  box-shadow: 0 0 32px rgba(49, 235, 229, .4);
}

.docs-hero {
  border-bottom: 1px solid var(--docs-line);
  background:
    radial-gradient(ellipse at 24% 50%, rgba(165, 15, 111, .18), transparent 44%),
    radial-gradient(ellipse at 80% 10%, rgba(42, 28, 116, .22), transparent 50%),
    var(--docs-bg);
}
.docs-hero-inner {
  max-width: 1320px;
  margin: auto;
  padding: clamp(56px, 7vw, 100px) 30px;
}
.docs-hero-copy { max-width: 800px; }
.docs-eyebrow { color: var(--docs-cyan); font-family: 'DM Mono', monospace; font-size: 11px; font-weight: 500; letter-spacing: .14em; }
.docs-eyebrow span { margin: 0 8px; }
.docs-hero h1 {
  max-width: 650px;
  margin: 18px 0 22px;
  font-size: clamp(44px, 5vw, 72px);
  font-weight: 900;
  line-height: 1.04;
  letter-spacing: -.055em;
  text-shadow: 0 0 24px rgba(237, 35, 189, .62);
}
.docs-hero-description { max-width: 530px; color: var(--docs-muted); font-size: clamp(16px, 1.5vw, 19px); line-height: 1.7; }
.docs-tags { display: flex; gap: 8px; margin-top: 24px; }
.docs-tags span { padding: 3px 14px; border: 1px solid #28636d; border-radius: 100px; color: var(--docs-cyan); font-family: 'DM Mono', monospace; font-size: 11px; letter-spacing: .05em; }
.page-container { width: min(100%, 1320px); padding: 62px 30px 80px; }
.page-container > .row { display: flex; align-items: flex-start; }
.page-container .col-md-9[role='main'] { order: 2; float: none; min-width: 0; padding: 0 15px 0 48px; }
.page-container .col-md-3 { order: 1; float: none; position: sticky; top: 24px; align-self: flex-start; padding: 0 15px 0 0; }
.page-container .page-header { margin: 0 0 56px; padding: 0 0 45px; border-bottom: 1px solid var(--docs-line); }
.page-container h2 { margin: 52px 0 22px; font-size: clamp(26px, 2.8vw, 36px); font-weight: 800; letter-spacing: -.035em; }
.page-container .page-header h2:first-of-type { margin-top: 20px; }
.page-container h3 { margin-top: 36px; font-size: 21px; font-weight: 700; }
.page-container h4 { font-weight: 700; }
.page-container h2[id], .page-container h3[id] { scroll-margin-top: 30px; }
.page-container p, .page-container li { color: var(--docs-muted); }
.page-container strong, .page-container b { color: var(--docs-text); }
.page-container .page-header > p:first-child,
.page-container .page-header > p:nth-child(2) { display: inline-block; margin: 0 25px 4px 0; font: 11px 'DM Mono', monospace; }
.page-container .page-header > p:nth-child(2) { overflow-wrap: anywhere; }
.page-container .page-header h3 a { color: var(--docs-text); }
.page-container .page-header h3 a:hover { color: var(--docs-cyan); text-decoration: none; }
.page-container code { color: var(--docs-cyan); background: #1b1d3b; overflow-wrap: anywhere; }
.page-container pre, .page-container pre code { color: #eae9f9; background: #0c0c25; }
.page-container pre { border: 1px solid var(--docs-line); border-radius: 8px; padding: 18px; overflow-x: auto; }
.page-container pre code { padding: 0; font: 12px/1.7 'DM Mono', monospace; white-space: pre; }
.page-container .hljs-comment { color: #aaa7c5; }
.page-container .hljs-string, .page-container .hljs-regexp { color: #a5e6c1; }
.page-container .hljs-number, .page-container .hljs-literal { color: #ffd08a; }
.page-container .hljs-keyword, .page-container .hljs-built_in { color: #d5b4ff; }
.page-container .hljs-attribute, .page-container .hljs-attr,
.page-container .hljs-title, .page-container .hljs-name { color: #77e0e6; }
.page-container blockquote { border-left-color: var(--docs-cyan); background: var(--docs-surface); color: var(--docs-muted); padding: 10px 20px; }
.page-container blockquote p { color: inherit; }

#sidebar { position: static !important; height: auto; max-height: calc(100vh - 44px); margin-top: 0; overflow-y: auto; padding: 0 16px 20px 0; }
#sidebar.affix { width: auto; }
#sidebar .nav > li > b { padding: 20px 12px 8px; color: #9693b3; font: 11px 'DM Mono', monospace; text-transform: uppercase; letter-spacing: .1em; }
#sidebar .nav > li > a { padding: 8px 12px; border-left: 2px solid var(--docs-line); border-radius: 0; color: var(--docs-muted); line-height: 1.45; }
#sidebar .nav > li > a:hover, #sidebar .nav > li > a:focus,
#sidebar .nav > li.active > a { background: transparent; border-left-color: var(--docs-cyan); color: var(--docs-text); }

.page-container .panel, .page-container .panel-default { background: transparent; border: 1px solid var(--docs-line); border-radius: 9px; box-shadow: none; margin-bottom: 18px; }
.page-container .panel-default > .panel-heading { background: var(--docs-surface); color: var(--docs-text); border-bottom: 1px solid var(--docs-line); border-radius: 8px 8px 0 0; padding: 18px 20px; }
.page-container .panel-default > .panel-heading h3 { margin: 0; font-size: 20px; }
.page-container .panel-body { padding: 18px 20px; }
.page-container .panel-white { border: 0; border-bottom: 1px solid var(--docs-line); border-radius: 0; margin: 0; }
.page-container .panel-white:last-child { border-bottom: 0; }
.page-container .panel-white > .panel-heading { background: transparent; padding: 13px 0; }
.page-container .panel-white .panel-title { display: flex; align-items: center; justify-content: space-between; gap: 14px; font: 600 14px 'DM Mono', monospace; }
.page-container .panel-white .panel-title > a { min-width: 0; overflow-wrap: anywhere; }
.page-container .panel-white .panel-title > .methods { float: none; flex-shrink: 0; }
.page-container .panel-white .panel-title > .methods a:hover { text-decoration: none; }
.page-container .panel-white .panel-body { padding: 16px 0; }
.page-container .top-resource-description, .page-container .resource-description { margin: -18px -20px 10px; padding: 16px 20px 2px; background: var(--docs-surface); border-bottom-color: var(--docs-line); }
.page-container .resource-description { margin: -16px 0 10px; padding: 16px; }
.page-container .list-group-item { background: var(--docs-surface); border-color: var(--docs-line); color: var(--docs-muted); }
.page-container .list-group-item:hover { background: var(--docs-surface-raised); }
.page-container .badge { width: auto; min-width: 58px; padding: 5px 8px; color: #071623; font: 700 10px 'DM Mono', monospace; }
.page-container .badge_get { background: var(--docs-cyan); }
.page-container .badge_post { background: #a2eac4; }
.page-container .badge_put, .page-container .badge_patch { background: #f9ca7d; }
.page-container .badge_delete { background: #ffa5ad; }
.page-container .parent { color: #9996b1; }
.page-container .method_description { margin-left: 75px; }
.page-container .method_description p { color: var(--docs-muted); }

.page-container .table { background: var(--docs-surface); color: var(--docs-muted); }
.page-container .table > thead > tr > th { border-bottom-color: var(--docs-line); color: var(--docs-text); }
.page-container .table > tbody > tr > td { border-top-color: var(--docs-line); }
.page-container .table > tbody > tr:hover { background: var(--docs-surface-raised); }
.page-container .accordion { border: 1px solid var(--docs-line); border-radius: 8px; overflow: hidden; }
.page-container .accordion-btn { background: var(--docs-surface); color: var(--docs-text); box-shadow: none; padding: 17px 50px 17px 20px; }
.page-container .accordion-btn:hover { background: var(--docs-surface-raised); }
.page-container .accordion-btn p { color: inherit; }
.page-container .accordion-content { background: var(--docs-bg); box-shadow: none; }
.page-container .accordion-content > * { padding: 16px 20px; }
.page-container .accordion[open] summary ~ * { animation: none; }

.modal-content { background: var(--docs-bg); border: 1px solid var(--docs-line); border-radius: 10px; color: var(--docs-text); }
.modal-header, .modal-footer { border-color: var(--docs-line); }
.modal-header .close { color: var(--docs-text); opacity: .85; text-shadow: none; }
.modal-title { font-family: 'DM Mono', monospace; overflow-wrap: anywhere; }
.modal-body .alert-info { background: #123039; border-color: #28636d; color: var(--docs-text); }
.modal-body .alert-warning { background: #352b25; border-color: #7d6048; color: var(--docs-text); }
.modal-body .nav-tabs { border-bottom-color: var(--docs-line); }
.modal-body .nav-tabs > li > a { color: var(--docs-muted); }
.modal-body .nav-tabs > li.active > a { background: var(--docs-surface); border-color: var(--docs-line); border-bottom-color: var(--docs-surface); color: var(--docs-text); }
.modal-body .tab-content { background: var(--docs-surface); border-color: var(--docs-line); padding: 20px; }
.page-container .modal-body .tab-pane h2 { font-size: 18px; letter-spacing: 0; margin: 28px 0 18px; }
.page-container .modal-body .tab-pane h3 { font-size: 16px; margin-top: 24px; }
.modal-body p, .modal-body li { color: var(--docs-muted); }
.modal-body pre { background: #0c0c25; color: var(--docs-text); border-color: var(--docs-line); }
.modal-body code { background: #1b1d3b; color: var(--docs-cyan); }
.modal-body pre code { background: transparent; color: var(--docs-text); }
.modal-body .table { background: transparent; color: var(--docs-muted); }
.modal-body .table th, .modal-body .table td { border-color: var(--docs-line) !important; }
.modal-body #schema { overflow-x: auto; }
footer.row { border-top: 1px solid var(--docs-line); margin-top: 50px; padding-top: 18px; }
footer.row .col-md-9 { width: 100%; color: #9693b3; text-align: left; }

@media (max-width: 991px) {
  .page-container > .row { display: block; margin: 0; }
  .page-container .col-md-9[role='main'], .page-container .col-md-3 { width: 100%; padding: 0; }
  .page-container .col-md-3 { position: static; }
  #sidebar { position: static !important; max-height: none; margin-bottom: 35px; padding: 0; }
  #sidebar .nav { display: flex; flex-wrap: nowrap; gap: 4px 8px; overflow-x: auto; }
  #sidebar .nav > li { float: none; flex: 0 0 auto; }
  #sidebar .nav > li > b { padding: 8px 12px; }
  #sidebar .nav > li > a { padding: 7px 10px; }
}
@media (max-width: 600px) {
  .docs-hero-inner { padding: 55px 20px; }
  .page-container { padding: 35px 20px 60px; }
  .page-container .panel-white .panel-title { align-items: flex-start; flex-direction: column; }
  .page-container .method_description { margin-left: 0; margin-top: 10px; }
  .modal-body .tab-content { padding: 12px; }
  .page-container .table { display: block; max-width: 100%; overflow-x: auto; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .docs-primary-cta { transition: none; }
}
