@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/assets/fonts/inter-latin-wght-normal.woff2") format("woff2");
}

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

/* Pin every Redoc color mode to the Weesy light palette. */
:root,
:root.light,
:root.dark,
:root:has(.redoc.light),
:root:has(.redoc.dark) {
  color-scheme: light;
  --color-white: #ffffff;
  --color-static-white: #ffffff;
  --color-black: #111827;
  --color-warm-grey-1: #ffffff;
  --color-warm-grey-2: #f9fafb;
  --color-warm-grey-3: #f3f4f6;
  --color-warm-grey-4: #e5e7eb;
  --color-warm-grey-5: #d1d5db;
  --color-warm-grey-6: #9ca3af;
  --color-warm-grey-7: #6b7280;
  --color-warm-grey-8: #4b5563;
  --color-warm-grey-9: #374151;
  --color-warm-grey-10: #1f2937;
  --color-warm-grey-11: #111827;
  --color-primary-base: #23527c;
  --color-primary: #23527c;
  --color-primary-hover: #1d4569;
  --link-text-color: #007a9a;
  --heading-text-color: #111827;
  --h1-text-color: #111827;
  --h2-text-color: #111827;
  --h3-text-color: #1f2937;
  --text-color: #1f2937;
  --text-color-primary: #1f2937;
  --text-color-secondary: #4b5563;
  --text-color-description: #4b5563;
  --sidebar-bg-color: #ffffff;
  --sidebar-background-color: #ffffff;
  --sidebar-active-background-color: #f3f4f6;
  --content-background-color: #ffffff;
  --bg-color: #ffffff;
  --bg-color-tonal: #f9fafb;
  --bg-color-raised: #ffffff;
  --bg-overlay: #f9fafb;
  --right-panel-bg-color: #f9fafb;
  --right-panel-fg-color: #ffffff;
  --right-panel-text-color-primary: #1f2937;
  --right-panel-text-color-secondary: #4b5563;
  --border-color: #e5e7eb;
  --border-color-primary: #e5e7eb;
  --border-color-secondary: #f3f4f6;
  --font-family-base: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-family-monospaced: "JetBrains Mono", ui-monospace, SFMono-Regular, Consolas, monospace;
}

* { box-sizing: border-box; }
html, body { min-height: 100%; margin: 0; background: #ffffff !important; color: #1f2937 !important; }
body { font-family: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif; }
.redoc, .redoc-wrap, .api-content { background-color: #ffffff !important; color: #1f2937; }

.skip-link {
  position: fixed;
  z-index: 10000;
  top: 8px;
  left: 8px;
  padding: 10px 14px;
  transform: translateY(-160%);
  border-radius: 4px;
  background: #23527c;
  color: #ffffff;
  font-weight: 600;
}
.skip-link:focus { transform: translateY(0); }
:focus-visible { outline: 3px solid #007a9a; outline-offset: 3px; }

.weesy-header {
  min-height: 68px;
  padding: 0 clamp(18px, 4vw, 56px);
  display: flex;
  align-items: center;
  gap: clamp(24px, 4vw, 56px);
  border-bottom: 1px solid #e5e7eb;
  background: #ffffff;
}
.weesy-brand { text-decoration: none; display: inline-flex; align-items: center; gap: 10px; white-space: nowrap; }
.weesy-brand-mark { display: block; width: 32px; height: 32px; object-fit: contain; }
.weesy-brand-name { color: #23527c; font-size: 18px; font-weight: 700; letter-spacing: -.04em; }
.weesy-brand-name span { color: #007a9a; font-weight: 400; }
.weesy-nav { display: flex; align-items: center; gap: 28px; }
.weesy-nav a { color: #4b5563; font-size: 13px; text-decoration: none; white-space: nowrap; }
.weesy-nav a[aria-current="page"] { color: #23527c; font-weight: 700; text-decoration: underline; text-underline-offset: 6px; }
.weesy-nav a:hover { color: #23527c; text-decoration: underline; }
.weesy-search { margin-left: auto; }
.weesy-search input {
  width: 240px;
  padding: 8px 12px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  background: #ffffff;
  color: #1f2937;
  font: inherit;
  font-size: 14px;
}
.weesy-search input::placeholder { color: #6b7280; }
.weesy-search input:focus { border-color: #23527c; outline: 3px solid #00b0dc; outline-offset: 1px; }
.weesy-sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.weesy-footer a { color: #23527c; }
.weesy-content { width: 100%; min-height: calc(100vh - 128px); background: #ffffff; }
redoc { display: block; }

/* O Redoc pinta cada seção de tag com um cinza próprio, diferente do cinza dos painéis:
   a página alternava branco e cinza. Tudo fica branco, separado por uma linha fina. */
[data-section-id] { background-color: #ffffff !important; }
[data-section-id][id]:not([id^="/"]) { border-top: 1px solid #e5e7eb; }

/* O painel "Servers" começava 28px acima do título da introdução. */
[data-component-name="Panel/Panel"]:has([data-component-name="Panel/PanelHeaderTitle"]) { margin-top: 28px; }

/* Keep the reference in light mode and remove Redoc's visible vendor mark. */
button[data-testid="color-mode-switcher"] { display: none !important; }
a[href="https://redocly.com/redoc/"] { display: none !important; }

.weesy-footer {
  min-height: 60px;
  padding: 18px clamp(18px, 4vw, 56px);
  display: flex;
  justify-content: space-between;
  gap: 12px;
  border-top: 1px solid #e5e7eb;
  color: #6b7280;
  background: #ffffff;
  font-size: 11px;
}

@media (max-width: 640px) {
  /* Duas linhas: marca e busca em cima; o menu embaixo, rolando para o lado se faltar espaço. */
  .weesy-header { flex-wrap: wrap; min-height: 0; padding: 10px 14px 0; gap: 10px 14px; }
  .weesy-brand-name { font-size: 16px; }
  .weesy-search input { width: 170px; }
  .weesy-nav { order: 3; width: 100%; gap: 20px; overflow-x: auto; padding: 4px 0 10px; scrollbar-width: none; }
  .weesy-nav::-webkit-scrollbar { display: none; }
  .weesy-nav a { font-size: 14px; }
  .weesy-footer { flex-direction: column; padding: 16px 14px; }
}
