.page-rating {
  margin: 24px 0 0 0;
  font-size: 1.15em;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}
.page-rating .page-rating-label {
  color: var(--text-dim);
  font-size: 1.05em;
  margin-right: 10px;
}
.page-rating .page-rating-value { color: var(--text-dim); font-size: 1.05em; margin-left: 8px; }
.page-rate {
  background: none;
  border: none;
  color: transparent;
  -webkit-text-stroke: 1px #c7a200;
  font-size: 1.35em;
  cursor: pointer;
  padding: 0 4px;
  transition: color 0.18s;
}
.page-rate:hover { color: #ffd25e; -webkit-text-stroke: 0; }
.page-rate.active { color: #ffc107; -webkit-text-stroke: 0; }
.topic-feedback {
  margin-left: 16px;
  display: inline-flex;
  gap: 2px;
  vertical-align: middle;
}
.topic-rate {
  background: none;
  border: none;
  color: #ffd700;
  font-size: 1.1em;
  cursor: pointer;
  padding: 0 2px;
  transition: color 0.18s;
}
.topic-rate:hover {
  color: #ffa500;
}
.topic-comment {
  background: none;
  border: none;
  color: #00bfff;
  font-size: 1.1em;
  cursor: pointer;
  margin-left: 6px;
  transition: color 0.18s;
}
.topic-comment:hover {
  color: #0077cc;
}
/**
 * ==========================================================================
 * Docs Engine – default theme
 *
 * Core theme styles for the documentation system (layout, typography,
 * panels, TOC, search, article formatting, components, responsive rules).
 * Self-contained, no external fonts or networks.
 */

/* Theme tokens (dark as default) */
:root {
  --theme-hue: 30;
  --color-primary: #f77f00;
  --color-primary-accent: #3e63ee;
  --color-primary-fade: rgba(247, 127, 0, 0.18);
  --color-brand-blue: var(--qk-standard-band-mid, #162c50);
  --color-brand-blue-deep: var(--qk-standard-band-dark, #0f1d38);
  --docs-home-first-bg: var(--qk-standard-band-dark, #0f1d38);
  --docs-home-first-image: none;
  --docs-home-first-divider: var(--qk-standard-band-divider, rgba(255,255,255,0.08));
  --docs-canvas-bg: var(--qk-standard-band-dark, #0f1d38);

  /* Dark theme surfaces */
  --color-surface: var(--color-brand-blue-deep);
  --color-surface-panel: linear-gradient(165deg, rgba(19, 41, 74, 0.84) 0%, rgba(12, 29, 54, 0.92) 100%);
  --color-text: #f5f8fa;
  --color-text-dim: #c9d2dd;
  --color-code-bg: #000000;
  --color-accent-blue: var(--blue, #0b4f9c);
  --surface-pattern: none;

  /* Backward compatibility aliases */
  --q-orange: var(--color-primary);
  --q-glow: var(--color-primary-accent);
  --q-blue: var(--color-accent-blue);

  /* Computed tokens */
  --bg: var(--color-surface);
  --panel: var(--color-surface-panel);
  --panel-border: rgba(140, 174, 210, 0.20);
  --panel-border-strong: hsl(var(--theme-hue) 100% 50% / 0.55);
  --text: var(--color-text);
  --text-dim: var(--color-text-dim);
  --code-bg: var(--color-code-bg);
  --radius: 16px;
  --focus: 0 0 0 3px rgba(230, 151, 90, 0.55);
  --transition: 0.18s cubic-bezier(.4,.2,.2,1);
  --gradient-primary: linear-gradient(120deg, #ff921f 0%, #ffb347 34%, #3e63ee 100%);
  /* Endpoint surface palette softens badges and improves hierarchy */
  --endpoint-card-bg: linear-gradient(180deg, rgba(11, 30, 52, 0.90) 0%, rgba(8, 20, 38, 0.96) 100%);
  --endpoint-card-border: rgba(125, 175, 227, 0.24);
  --endpoint-card-shadow: 0 24px 54px -24px rgba(5, 12, 26, 0.78);
  --endpoint-card-highlight: linear-gradient(90deg, rgba(230, 151, 90, 0.44), rgba(79, 152, 239, 0.32));
  --endpoint-chip-sheen: rgba(255, 255, 255, 0.14);
  --endpoint-method-text: #06121f;
  --endpoint-method-get: linear-gradient(135deg, #66b6ff, #9be0ff);
  --endpoint-method-post: linear-gradient(135deg, #ff9a71, #ffc27c);
  --endpoint-method-patch: linear-gradient(135deg, #68b8ff, #9bd6ff);
  --endpoint-method-delete: linear-gradient(135deg, #ff8b8b, #ffb178);

  --qk-chat-button-bg: linear-gradient(135deg, #ff921f, #3e63ee);
  --qk-chat-button-text: #081520;
  --qk-chat-panel-bg: linear-gradient(165deg, rgba(15, 34, 61, 0.96), rgba(10, 23, 44, 0.97));
  --qk-chat-panel-border: rgba(125, 175, 227, 0.30);
  --qk-chat-header-border: rgba(125, 175, 227, 0.30);
  --qk-chat-text: #eaf2fb;
  --qk-chat-text-dim: #b9cce0;
  --qk-chat-input-bg: rgba(9, 20, 39, 0.90);
  --qk-chat-input-border: rgba(125, 175, 227, 0.34);
  --qk-chat-message-bg: rgba(255, 255, 255, 0.07);
  --qk-chat-message-user-bg: linear-gradient(135deg, rgba(70, 142, 226, 0.92), rgba(40, 102, 186, 0.92));
  --qk-chat-chip-bg: rgba(255, 255, 255, 0.08);
  --qk-chat-chip-border: rgba(125, 175, 227, 0.26);
  --qk-chat-brand-dot: #4f98ef;
  --qk-chat-focus-outline: rgba(230, 151, 90, 0.62);
}

/* Light theme tokens (aligned with site) */
[data-theme="light"] {
  --bg: #ffffff;
  --panel: #ffffff;
  --panel-border: rgba(20, 40, 70, 0.25);
  --panel-border-strong: rgba(20, 40, 70, 0.55);
  --text: #1d2733;
  --text-dim: #4a5b6b;
  --code-bg: #f3f6fa;
  --endpoint-card-bg: linear-gradient(180deg, rgba(255, 255, 255, 0.97) 0%, rgba(243, 248, 255, 0.92) 100%);
  --endpoint-card-border: rgba(9, 23, 35, 0.08);
  --endpoint-card-shadow: 0 18px 44px -24px rgba(16, 34, 54, 0.28);
  --endpoint-card-highlight: linear-gradient(90deg, rgba(255, 171, 102, 0.28), rgba(111, 176, 255, 0.24));
  --endpoint-chip-sheen: rgba(9, 23, 35, 0.08);
  --endpoint-method-text: #0e1a25;
  --endpoint-method-get: linear-gradient(135deg, #6fb4ff, #9ad8ff);
  --endpoint-method-post: linear-gradient(135deg, #ffa97d, #ffd09f);
  --endpoint-method-patch: linear-gradient(135deg, #76beff, #a6dbff);
  --endpoint-method-delete: linear-gradient(135deg, #ff9b9b, #ffc49a);
  --qk-chat-button-bg: linear-gradient(135deg, #ff921f, #3e63ee);
  --qk-chat-button-text: #081520;
  --qk-chat-panel-bg: linear-gradient(170deg, rgba(255, 255, 255, 0.99), rgba(242, 248, 255, 0.97));
  --qk-chat-panel-border: rgba(15, 39, 69, 0.20);
  --qk-chat-header-border: rgba(15, 39, 69, 0.14);
  --qk-chat-text: #1d2733;
  --qk-chat-text-dim: #44586e;
  --qk-chat-input-bg: #ffffff;
  --qk-chat-input-border: rgba(15, 39, 69, 0.24);
  --qk-chat-message-bg: rgba(15, 39, 69, 0.06);
  --qk-chat-message-user-bg: linear-gradient(135deg, #4f98ef, #2c6bb6);
  --qk-chat-chip-bg: rgba(15, 39, 69, 0.06);
  --qk-chat-chip-border: rgba(15, 39, 69, 0.16);
  --qk-chat-brand-dot: #e6975a;
  --qk-chat-focus-outline: rgba(79, 152, 239, 0.50);
  --docs-canvas-bg: #f5f9ff;
  color: var(--text);
}
/* Support site-wide toggle class */
body.light-mode {
  --bg: #ffffff;
  --panel: #ffffff;
  --panel-border: rgba(20, 40, 70, 0.25);
  --panel-border-strong: rgba(20, 40, 70, 0.55);
  --text: #1d2733;
  --text-dim: #4a5b6b;
  --code-bg: #f3f6fa;
  --endpoint-card-bg: linear-gradient(180deg, rgba(255, 255, 255, 0.97) 0%, rgba(243, 248, 255, 0.92) 100%);
  --endpoint-card-border: rgba(9, 23, 35, 0.08);
  --endpoint-card-shadow: 0 18px 44px -24px rgba(16, 34, 54, 0.28);
  --endpoint-card-highlight: linear-gradient(90deg, rgba(255, 171, 102, 0.28), rgba(111, 176, 255, 0.24));
  --endpoint-chip-sheen: rgba(9, 23, 35, 0.08);
  --endpoint-method-text: #0e1a25;
  --endpoint-method-get: linear-gradient(135deg, #6fb4ff, #9ad8ff);
  --endpoint-method-post: linear-gradient(135deg, #ffa97d, #ffd09f);
  --endpoint-method-patch: linear-gradient(135deg, #76beff, #a6dbff);
  --endpoint-method-delete: linear-gradient(135deg, #ff9b9b, #ffc49a);
  --qk-chat-button-bg: linear-gradient(135deg, #ff921f, #3e63ee);
  --qk-chat-button-text: #081520;
  --qk-chat-panel-bg: linear-gradient(170deg, rgba(255, 255, 255, 0.99), rgba(242, 248, 255, 0.97));
  --qk-chat-panel-border: rgba(15, 39, 69, 0.20);
  --qk-chat-header-border: rgba(15, 39, 69, 0.14);
  --qk-chat-text: #1d2733;
  --qk-chat-text-dim: #44586e;
  --qk-chat-input-bg: #ffffff;
  --qk-chat-input-border: rgba(15, 39, 69, 0.24);
  --qk-chat-message-bg: rgba(15, 39, 69, 0.06);
  --qk-chat-message-user-bg: linear-gradient(135deg, #4f98ef, #2c6bb6);
  --qk-chat-chip-bg: rgba(15, 39, 69, 0.06);
  --qk-chat-chip-border: rgba(15, 39, 69, 0.16);
  --qk-chat-brand-dot: #e6975a;
  --qk-chat-focus-outline: rgba(79, 152, 239, 0.50);
  --docs-canvas-bg: #f5f9ff;
  color: var(--text);
}

/* Light-mode adjustments for active link readability */
[data-theme="light"] .toc-list a.active,
body.light-mode .toc-list a.active { color: #0c1722; }
[data-theme="light"] .book-chapter-group .book-nav-item a.active,
body.light-mode .book-chapter-group .book-nav-item a.active { color: #0c1722; }
/* Left panel base contrast in light mode */
[data-theme="light"] .toc,
body.light-mode .toc { border-color: var(--panel-border-strong); }
[data-theme="light"] .toc-list a,
body.light-mode .toc-list a { color: #2d3a48; }
[data-theme="light"] .book-chapter-group .book-nav-item a,
body.light-mode .book-chapter-group .book-nav-item a { color: #2d3a48; }
[data-theme="light"] .toc-list a:hover,
body.light-mode .toc-list a:hover { background: rgba(255, 163, 90, 0.18); }
[data-theme="light"] .book-chapter-group .book-nav-item a:hover,
body.light-mode .book-chapter-group .book-nav-item a:hover { background: rgba(9, 23, 35, 0.06); }
[data-theme="light"] .topics-section,
body.light-mode .topics-section { border-top: 1px dashed rgba(20, 40, 70, 0.35); }
[data-theme="light"] .topics-section .toc-title,
body.light-mode .topics-section .toc-title { border-color: var(--panel-border-strong); color: #0e1a25; }

/* Books select: ensure long titles are truncated with ellipsis */
.books-select { max-width: 100%; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; }

/* Loader Overlay */
#docs-loader { position:fixed; inset:0; background:rgba(8,20,32,0.78); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); display:flex; align-items:center; justify-content:center; z-index:9999; }
#docs-loader[hidden]{ display:none; }
.docs-loader-inner { display:flex; flex-direction:column; align-items:center; gap:18px; padding:42px 54px; border:1px solid var(--panel-border); border-radius:22px; background:linear-gradient(135deg,rgba(30,58,95,0.55),rgba(11,28,44,0.75)); box-shadow:0 14px 50px -12px rgba(0,0,0,0.65),0 0 0 1px rgba(255,122,0,0.25); }

/* Collapsible Topics */
.collapsible-topic {
  border-radius: 10px;
  background: rgba(30,58,95,0.10);
  margin-bottom: 18px;
  transition: box-shadow 0.18s;
  box-shadow: 0 2px 8px -4px rgba(0,0,0,0.08);
  padding: 0 0 0 0;
}
.collapsible-topic[data-expanded="false"] .collapsible-body { display: none; }
.collapsible-topic[data-expanded="true"] .collapsible-body { display: block; }
.topic-toggle {
  background: none;
  border: none;
  color: #ffa500;
  font-size: 1em;
  margin-right: 8px;
  cursor: pointer;
  vertical-align: middle;
  outline: none;
  transition: color 0.18s;
}
.topic-toggle::after { display:inline-block; width:1em; text-align:center; }
.topic-toggle[aria-expanded="false"]::after { content: '►'; color: #888; }
.topic-toggle[aria-expanded="true"]::after { content: '▼'; color: #ffa500; }
.docs-loader-inner .loader-msg { font-size:14px; letter-spacing:.5px; font-weight:600; text-transform:uppercase; background:linear-gradient(135deg,var(--color-primary),var(--color-primary-accent)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.spinner { width:54px; height:54px; border-radius:50%; position:relative; --c1:var(--color-primary); --c2:var(--color-primary-accent); background:conic-gradient(from 0deg,var(--c1),var(--c2)); -webkit-mask:radial-gradient(circle at center, #0000 60%, #000 61%); mask:radial-gradient(circle at center, #0000 60%, #000 61%); animation:spin 1s linear infinite; filter:drop-shadow(0 0 12px rgba(255,122,0,0.55)); }
@keyframes spin { to { transform:rotate(360deg); } }
* { box-sizing:border-box; }
html,
body {
  min-height: 100%;
  background-color: var(--docs-canvas-bg);
  background-image: none;
}
body {
  margin:0;
  font-family: var(--font-family-base, Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Ubuntu,sans-serif);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
}
/* Smooth theme transitions */
body, .doc-article, .toc, .top-bar, .doc-meta-line, .meta-chip, pre, code, .doc-page-counter, .doc-page-next, .doc-page-prev, .chapter-toggle {
  transition: background-color .35s ease, color .35s ease, border-color .35s ease, box-shadow .35s ease;
}
body::before { content:none; }
body::after { content:none; }

/* Light theme surface adjustments (no token overrides here; tokens are defined once above) */
[data-theme="light"],
body.light-mode {
  color: var(--text);
  background: var(--docs-canvas-bg);
}
[data-theme="light"] body::before,
body.light-mode body::before { content:none; }
[data-theme="light"] a,
body.light-mode a { color: var(--color-primary); }
[data-theme="light"] a:hover,
body.light-mode a:hover { color: var(--color-primary-accent); }
[data-theme="light"] .doc-article,
body.light-mode .doc-article { box-shadow: 0 8px 40px -12px rgba(0,0,0,0.18); }
[data-theme="light"] .toc,
body.light-mode .toc { box-shadow: 0 8px 34px -12px rgba(0,0,0,0.12); }
[data-theme="light"] pre,
body.light-mode pre { border-color: rgba(20,40,70,0.35); }
[data-theme="light"] code,
body.light-mode code { color: #c25a00; }
[data-theme="light"] .toc-list a.active,
body.light-mode .toc-list a.active { color: #0c1722; }
[data-theme="light"] .admonition[data-type=warning],
body.light-mode .admonition[data-type=warning] { background:linear-gradient(135deg,rgba(255,173,60,0.35),rgba(255,173,60,0.15)); }
[data-theme="light"] .admonition[data-type=tip],
body.light-mode .admonition[data-type=tip] { background:linear-gradient(135deg,rgba(60,180,120,0.22),rgba(60,180,120,0.06)); }
[data-theme="light"] .admonition[data-type=note],
body.light-mode .admonition[data-type=note] { background:linear-gradient(135deg,rgba(120,140,255,0.28),rgba(120,140,255,0.10)); }

/* Theme toggle button */
.theme-toggle { background:var(--gradient-primary); color:#081520; border:none; border-radius:12px; padding:6px 10px; font-size:14px; cursor:pointer; display:flex; align-items:center; justify-content:center; box-shadow:0 6px 18px -8px rgba(255,122,0,0.65); transition:var(--transition); }
.theme-toggle:hover { transform:translateY(-2px); }
.theme-toggle:focus { outline:none; box-shadow:var(--focus); }
[data-theme="light"] .theme-toggle { color:#1d2733; }

/* Links & focus */
a { color:var(--color-primary-accent); text-decoration:none; transition:var(--transition); }
a:hover { color:var(--color-primary); text-decoration:underline; }
:focus-visible { outline:2px solid var(--q-orange); outline-offset:2px; }

/* Optional assistant surface palette */
body .qk-chat-button {
  background: linear-gradient(135deg, #f77f00, #d66c00) !important;
  color: #ffffff !important;
  border: 2px solid rgba(255, 255, 255, 0.18) !important;
  box-shadow: 0 12px 28px rgba(15, 29, 56, 0.35) !important;
}
body .qk-chat-panel {
  background: linear-gradient(160deg, rgba(17, 34, 60, 0.95), rgba(12, 23, 46, 0.96)) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  color: #f7f8ff !important;
}
body .qk-chat-header {
  border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
}
body .qk-chat-brand {
  color: #f77f00 !important;
}
body .qk-chat-brand::before {
  background: #8d5bff !important;
}
body .qk-chat-message {
  background: rgba(62, 99, 238, 0.18) !important;
  border: 1px solid rgba(62, 99, 238, 0.25) !important;
}
body .qk-chat-message.user {
  background: rgba(247, 127, 0, 0.22) !important;
  border: 1px solid rgba(247, 127, 0, 0.35) !important;
}
body .qk-chat-footer textarea {
  background: rgba(17, 34, 60, 0.75) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  color: #f7f8ff !important;
}
body .qk-chat-footer button,
body .qk-chat-fallback button {
  background: linear-gradient(135deg, #f77f00, #d66c00) !important;
  color: #ffffff !important;
}
body .qk-chat-suggestion {
  background: rgba(62, 99, 238, 0.18) !important;
  border-color: rgba(62, 99, 238, 0.25) !important;
  color: #f7f8ff !important;
}

/* Layout */
.layout-shell { display:flex; align-items:flex-start; width:100%; max-width:1660px; margin:0 auto; padding:90px 40px 140px; gap:38px; }
.layout-shell { position: relative; isolation: isolate; }
.layout-shell::before { content:none; }
.toc { width:270px; position:sticky; top:84px; align-self:flex-start; background:var(--panel); background-image: var(--docs-home-first-image); background-blend-mode: overlay; -webkit-backdrop-filter:blur(18px); backdrop-filter:blur(18px); border:1px solid var(--panel-border); border-top-color: var(--docs-home-first-divider); border-radius:18px; padding:20px 20px 26px; box-shadow:0 16px 42px -18px rgba(0,0,0,.62), 0 0 0 1px rgba(230, 151, 90, 0.14); max-height:calc(100vh - 120px); overflow:auto; }
.toc { background-image: linear-gradient(160deg, rgba(20, 43, 74, 0.66), rgba(12, 30, 55, 0.76)); }
.toc::-webkit-scrollbar { width:10px; }
.toc::-webkit-scrollbar-track { background:rgba(255,255,255,0.04); }
.toc::-webkit-scrollbar-thumb { background:linear-gradient(var(--q-blue),#132b42); border:1px solid var(--panel-border); border-radius:6px; }
/* backdrop-filter + layered gradients caused blank article bodies in some browsers (text composited away).
   Keep the panel look without backdrop blur on the scroll/interaction surface. */
.doc-article { flex:1; min-width:0; max-width:1060px; background:var(--panel); background-image: var(--docs-home-first-image); background-blend-mode: overlay; -webkit-backdrop-filter:none; backdrop-filter:none; border:1px solid var(--panel-border); border-top-color: var(--docs-home-first-divider); border-radius:var(--radius); padding:58px 66px 82px; line-height:1.62; box-shadow:0 18px 52px -18px rgba(0,0,0,0.70), 0 0 0 1px rgba(90, 147, 219, 0.14); position:relative; z-index:0; }
.doc-article { background-image: linear-gradient(160deg, rgba(20, 42, 72, 0.58), rgba(11, 28, 52, 0.72)); }
.doc-article > * { position:relative; z-index:1; }
/* Primary markdown mount: explicit stacking + color so content never inherits a broken composite layer */
#doc-content { position:relative; z-index:2; color: var(--text); min-height: 4rem; }
/* Compact density mode */
body.density-compact .layout-shell { padding:80px 34px 120px; }
body.density-compact .doc-article { padding:42px 48px 60px; line-height:1.5; }
body.density-compact .toc { padding:16px 16px 22px; }
body.density-compact h1 { font-size:30px; margin:6px 0 24px; }
body.density-compact h2 { font-size:22px; margin:48px 0 16px; }
body.density-compact h3 { font-size:18px; margin:34px 0 12px; }
body.density-compact p { margin:0 0 16px; }
body.density-compact .meta-chip { padding:5px 8px 5px; font-size:10.5px; }
body.density-compact .chapter-toggle { padding:6px 8px 6px 10px; }
/* Decorative rim removed: mix-blend-mode overlays reliably hid markdown in Safari/WebKit-derived browsers. */

/* Top bar */
.top-bar { position:fixed; inset:0 0 auto 0; height:64px; display:flex; align-items:center; z-index:60; background:linear-gradient(90deg, rgba(15,29,56,0.92), rgba(22,44,80,0.88)); -webkit-backdrop-filter:blur(18px); backdrop-filter:blur(18px); border-bottom:1px solid var(--panel-border); }
[data-theme="light"] .top-bar,
body.light-mode .top-bar { background:rgba(255,255,255,0.76); }
.top-bar-inner { width:100%; max-width:1660px; margin:0 auto; display:flex; align-items:center; gap:34px; padding:0 34px; }
.brand-mini { font-size:20px; font-weight:600; background:linear-gradient(135deg,var(--q-orange),var(--q-glow)); -webkit-background-clip:text; background-clip:text; color:transparent; letter-spacing:.6px; }
.brand-mini span { font-weight:300; }
/* Version selector */
#version-select { background:rgba(255,255,255,0.08); color:var(--text); border:1px solid var(--panel-border); padding:6px 10px; border-radius:10px; font-size:13px; font-family:inherit; transition:var(--transition); }
#version-select:focus { outline:none; box-shadow:var(--focus); border-color:var(--q-orange); }

/* Search */
#doc-search-form { margin-left:auto; display:flex; align-items:center; gap:10px; background:rgba(255,255,255,0.06); border:1px solid var(--panel-border); padding:6px 10px 6px 16px; border-radius:38px; transition:var(--transition); position:relative; }
#doc-search-form:focus-within { border-color:var(--q-orange); box-shadow:var(--focus); }
#doc-search-input { background:transparent; outline:none; border:none; color:var(--text); font-size:14px; width:230px; font-family:inherit; }
#doc-search-form button { background:var(--gradient-primary); border:none; color:#081520; font-weight:600; font-size:13px; padding:7px 18px; border-radius:28px; cursor:pointer; letter-spacing:.4px; transition:var(--transition); }
#doc-search-form button:hover { transform:translateY(-2px); box-shadow:0 8px 22px -8px rgba(255,122,0,0.66); }
.search-meta { font-size:12px; color:var(--text-dim); margin-left:8px; }

/* TOC */
.toc-title { margin:0 0 10px; font-size:13px; font-weight:600; letter-spacing:1px; text-transform:uppercase; color:var(--q-glow); }
.toc-list, .toc-list ul { list-style:none; margin:0; padding:0; }
.toc-list a { display:block; padding:6px 10px 6px 12px; border-radius:10px; font-size:13.5px; line-height:1.3; color:var(--text-dim); border:1px solid transparent; position:relative; transition:var(--transition); }
.toc-list a:hover { background:rgba(255,122,0,0.12); color:var(--color-primary); }
.toc-item.level-2 > a { padding-left:18px; font-size:13px; }
.toc-item.level-3 > a { padding-left:34px; font-size:12.5px; opacity:.85; }
.toc-list a.active { background:linear-gradient(120deg, rgba(230, 151, 90, 0.98), rgba(242, 163, 95, 0.96) 45%, rgba(79, 152, 239, 0.92)); color:#091723; font-weight:700; box-shadow:0 10px 24px -10px rgba(230,151,90,0.78); }
.toc-list a.active:before { content:""; position:absolute; left:-7px; top:50%; width:10px; height:10px; transform:translateY(-50%); background:#ff7a00; border-radius:50%; box-shadow:0 0 0 3px rgba(255,122,0,.35); }
.book-nav-chapter-label { font-size:11px; font-weight:700; letter-spacing:1.2px; color:var(--color-primary-accent); opacity:.9; margin:2px 0 8px 2px; text-transform:uppercase; display:flex; align-items:center; gap:6px; }
.topics-section { margin-top:16px; padding-top:8px; border-top:1px dashed var(--panel-border); }
.topics-section .toc-title { position:sticky; top:104px; z-index:1; background:var(--panel); margin:6px 0 8px; padding:6px 8px; border:1px solid var(--panel-border); border-radius:10px; }
.topics-section .toc-list a { padding-left:14px; }
.topics-section .toc-item.level-2 > a { padding-left:18px; }
.topics-section .toc-item.level-3 > a { padding-left:30px; font-size:12px; opacity:.9; }
.book-nav-chapter-label:before { content:""; width:10px; height:10px; border-radius:4px; background:linear-gradient(135deg,var(--color-primary),var(--color-primary-accent)); box-shadow:0 0 0 2px rgba(0,0,0,0.25); }
/* Collapsible chapters */
.book-chapter-group { margin:0 0 14px; }
.chapter-toggle { width:100%; text-align:left; background:rgba(255,255,255,0.06); border:1px solid var(--panel-border); color:var(--text-dim); padding:8px 10px 8px 12px; border-radius:10px; font-size:12px; font-weight:600; letter-spacing:.6px; text-transform:uppercase; display:flex; align-items:center; gap:8px; cursor:pointer; position:relative; transition:var(--transition); }
.chapter-toggle:hover { background:rgba(255,255,255,0.10); color:var(--color-primary-accent); border-color:var(--color-primary); }
.chapter-toggle:focus { outline:none; box-shadow:var(--focus); }
.chapter-toggle-icon { font-size:12px; width:14px; display:inline-block; }
.chapter-toggle-icon .chev, .chapters-section-toggle .chev { display:inline-block; vertical-align:middle; transition: transform var(--transition); transform-origin:50% 50%; }
.chapter-toggle[aria-expanded="false"] .chev, .chapters-section-toggle[aria-expanded="false"] .chev { transform: rotate(-90deg); }
.chapter-badge { margin-left:auto; background:linear-gradient(135deg,var(--color-primary),#6fb4ff); padding:4px 8px 4px; border-radius:8px; font-size:10px; line-height:1; color:#081520; font-weight:700; letter-spacing:.5px; }
.book-chapter-group .book-nav-list { list-style:none; margin:6px 0 0; padding:0 0 0 4px; }
.book-chapter-group .book-nav-item a { display:block; padding:6px 10px 6px 14px; font-size:12.5px; color:var(--text-dim); border:1px solid transparent; border-radius:8px; margin:2px 0; transition:var(--transition); }
.book-chapter-group .book-nav-item a:hover { background:rgba(255,255,255,0.10); color:var(--color-primary); }
.book-chapter-group .book-nav-item a.active { background:linear-gradient(120deg, rgba(230, 151, 90, 0.98), rgba(242, 163, 95, 0.95) 45%, rgba(79, 152, 239, 0.90)); color:#091723; font-weight:700; box-shadow:0 10px 22px -10px rgba(230,151,90,0.74); }

/* Books dropdown + Chapters header (styled like Overview) */
.books-select-wrap { position:sticky; top:8px; z-index:2; display:flex; align-items:center; gap:8px; margin:0 0 16px; padding:10px 12px; background:var(--panel); border:1px solid var(--panel-border); border-radius:12px; width:100%; box-sizing:border-box; }
.books-select-label { font-size:10.5px; font-weight:700; letter-spacing:.9px; text-transform:uppercase; color:var(--color-primary); opacity:.9; }
.books-select { flex:1; -webkit-appearance:none; appearance:none; background:rgba(255,255,255,0.04); color:var(--text); border:1px solid var(--panel-border); padding:8px 30px 8px 10px; border-radius:10px; font-size:12.5px; font-family:inherit; box-shadow:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 20 20'%3E%3Cpath fill='%23c9d2dd' d='M5 7l5 6 5-6z'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 10px center; background-size:14px; }
.books-select:focus { outline:none; box-shadow:var(--focus); border-color:var(--color-primary); }

.chapters-toggle-wrap { position:sticky; top:56px; z-index:1; margin:8px 0 8px; }
.chapters-section-toggle { width:100%; text-align:left; background:rgba(255,255,255,0.06); border:1px solid var(--panel-border); color:var(--text-dim); padding:10px 12px; border-radius:12px; font-size:12px; font-weight:700; letter-spacing:.9px; text-transform:uppercase; display:flex; align-items:center; gap:10px; cursor:pointer; transition:var(--transition); }
.chapters-section-toggle:hover { background:rgba(255,255,255,0.10); color:var(--color-primary-accent); border-color:var(--color-primary); }
.chapters-section-toggle:focus { outline:none; box-shadow:var(--focus); }

.chapters-section { margin-top:8px; }
.chapters-tools { display:flex; align-items:center; gap:8px; margin:6px 0 10px; }
.chapters-bulk { display:flex; gap:8px; }
.chapters-bulk button { background:transparent; color:var(--text-dim); border:1px solid var(--panel-border); padding:7px 10px; border-radius:8px; font-size:11px; font-weight:700; letter-spacing:.5px; cursor:pointer; box-shadow:none; }
.chapters-bulk button:hover { color:var(--color-primary-accent); border-color:var(--color-primary); background:rgba(255,255,255,0.06); }

/* Hide legacy Topics block when enhanced nav is present */
.toc .topics, .toc .topics-list, .toc .nav-section-label.topics-toggle { display:none !important; }

/* Article */
h1,h2,h3 { font-weight:600; letter-spacing:.35px; scroll-margin-top:110px; }
h1 { font-size:34px; margin:10px 0 28px; }
h2 { font-size:24px; margin:58px 0 18px; }
h3 { font-size:19px; margin:38px 0 14px; }
h1:after,h2:after { content:""; display:block; width:160px; height:4px; margin-top:12px; border-radius:4px; background:linear-gradient(90deg,var(--color-primary),var(--color-primary-accent)); }
body:not(.light-mode):not([data-theme="light"]) .doc-article h1,
body:not(.light-mode):not([data-theme="light"]) .doc-article h2 {
  color: var(--color-primary);
}
p { margin:0 0 18px; }
.lead { font-size:18.5px; line-height:1.48; color:var(--text-dim); margin-top:2px; }
ol,ul { padding-left:26px; margin:0 0 22px; }
li { margin:4px 0; }

/* Meta line (book / chapter / page labels) */
.doc-meta-line { display:flex; flex-wrap:wrap; gap:12px; align-items:center; font-size:11.5px; letter-spacing:.5px; text-transform:uppercase; font-weight:600; margin:-10px 0 26px; padding:10px 14px 9px; border:1px solid var(--panel-border); background:rgba(255,255,255,0.04); border-radius:12px; -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); }
.doc-meta-line span { background:linear-gradient(135deg,var(--color-primary),var(--color-primary-accent)); -webkit-background-clip:text; background-clip:text; color:transparent; position:relative; padding-left:18px; }
.doc-meta-line span:before { content:""; position:absolute; left:0; top:50%; width:10px; height:10px; transform:translateY(-50%); border-radius:4px; background:linear-gradient(135deg,var(--color-primary),var(--color-primary-accent)); box-shadow:0 0 0 2px rgba(0,0,0,0.25); }
.doc-meta-line .doc-meta-chapter:before { background:linear-gradient(135deg,#5dd7a2,#44b986); }
.doc-meta-line .doc-meta-page:before { background:linear-gradient(135deg,#adb9ff,#8796ff); }
.doc-meta-line .doc-meta-author:before { background:linear-gradient(135deg,#ffbd5d,#ffa733); }
.doc-meta-line .doc-meta-updated:before { background:linear-gradient(135deg,#6dd3ff,#37a6d8); }

/* Page footer meta */
.doc-page-footer { margin:54px 0 0; padding:26px 0 0; border-top:1px solid var(--panel-border); font-size:12px; }
.doc-page-footer-inner { display:flex; flex-wrap:wrap; gap:16px; opacity:.85; }
.doc-page-meta-line { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.doc-page-meta-label { font-weight:600; letter-spacing:.5px; text-transform:uppercase; color:var(--color-primary-accent); }
.doc-page-meta-value { background:rgba(255,255,255,0.06); padding:4px 10px; border-radius:8px; border:1px solid var(--panel-border); }

/* Clickable headings */
.doc-meta-clickable { cursor:pointer; position:relative; transition:background .25s,border-color .25s; }
.doc-meta-clickable:hover { background:rgba(255,255,255,0.08); border-color:var(--color-primary); }
.doc-meta-clickable:active { transform:translateY(1px); }

/* Inline meta chips */
.doc-meta-line.doc-meta-chips { display:flex; flex-wrap:wrap; gap:6px; padding:10px 12px 10px; }
.meta-chip { font-size:11px; line-height:1; padding:6px 10px 6px; border-radius:8px; background:rgba(255,255,255,0.06); border:1px solid var(--panel-border); letter-spacing:.5px; text-transform:uppercase; font-weight:600; -webkit-user-select:none; user-select:none; position:relative; color:var(--text-dim); }
.meta-chip[data-slug] { cursor:pointer; transition:background .2s,border-color .2s, color .2s; }
.meta-chip[data-slug]:hover { background:rgba(255,255,255,0.12); border-color:var(--color-primary); color:var(--color-primary-accent); }
.meta-chip.current { background:linear-gradient(135deg,var(--color-primary),var(--color-primary-accent)); color:#091723; border-color:transparent; }
.meta-chip.chip-book { background:linear-gradient(135deg,var(--color-primary) 0%, var(--color-primary-accent) 100%); color:#091723; }
.meta-chip.chip-chapter { background:linear-gradient(135deg,#5dd7a2,#44b986); color:#062c1d; }
.meta-chip.chip-chapter-title { background:rgba(93,215,162,0.15); color:#0f3d2b; }
.meta-chip.chip-page { background:linear-gradient(135deg,#adb9ff,#8796ff); color:#121a3a; }
.meta-chip.chip-page-title { background:rgba(173,185,255,0.18); color:#2b335c; }

/* Improve light-mode contrast for meta labels, values, and chips (AUTHOR / TOPICS / UPDATED) */
[data-theme="light"] .doc-page-meta-label,
body.light-mode .doc-page-meta-label {
  /* Ensure label text has sufficient contrast in light mode */
  color: #0e1a25;
}
[data-theme="light"] .doc-page-meta-value,
body.light-mode .doc-page-meta-value {
  /* Slightly darker tint on white so chips are visible */
  background: rgba(9, 23, 35, 0.06);
  border-color: var(--panel-border);
  color: #1d2733;
}
[data-theme="light"] .doc-meta-line,
body.light-mode .doc-meta-line {
  /* Meta strip needs contrast on white backgrounds */
  background: rgba(9, 23, 35, 0.04);
}
[data-theme="light"] .doc-meta-line span,
body.light-mode .doc-meta-line span {
  /* Replace gradient text with a solid brand color for readability */
  background: none;
  -webkit-background-clip: initial;
  background-clip: initial;
  color: var(--color-primary);
}
[data-theme="light"] .meta-chip,
body.light-mode .meta-chip {
  /* Default chips: increase contrast on light */
  background: rgba(9, 23, 35, 0.06);
  border-color: var(--panel-border);
  color: var(--text-dim);
}
[data-theme="light"] .meta-chip[data-slug]:hover,
body.light-mode .meta-chip[data-slug]:hover {
  background: rgba(9, 23, 35, 0.10);
}
[data-theme="light"] .meta-chip.current,
body.light-mode .meta-chip.current {
  /* Current chip remains prominent but readable on light */
  color: #091723;
}

/* Bottom-right page counter */
/* In-article page nav */
.doc-page-nav { margin:48px -10px -10px; padding:18px 10px 6px; display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; border-top:1px solid var(--panel-border); }
.doc-page-counter { position:relative; font-size:11px; letter-spacing:.6px; text-transform:uppercase; font-weight:600; background:linear-gradient(135deg,rgba(255,122,0,0.12),rgba(255,122,0,0.05)); border:1px solid var(--panel-border); padding:8px 14px 8px; border-radius:10px; -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); color:var(--text-dim); box-shadow:0 4px 18px -6px rgba(0,0,0,0.45); }
.doc-page-counter:before { content:""; position:absolute; inset:0; border-radius:inherit; box-shadow:0 0 0 1px rgba(255,122,0,0.25),0 0 18px -6px rgba(255,122,0,0.35); opacity:.35; }
.doc-page-next { font-size:11.5px; letter-spacing:.6px; text-transform:uppercase; font-weight:600; background:linear-gradient(135deg,var(--color-primary),var(--color-primary-accent)); color:#091723; border:none; padding:10px 18px 10px; border-radius:14px; box-shadow:0 8px 24px -10px rgba(255,122,0,0.55); cursor:pointer; transition:var(--transition); }
.doc-page-next:hover { transform:translateY(-2px); }
.doc-page-next:active { transform:translateY(0); }
 .doc-page-prev { font-size:11.5px; letter-spacing:.6px; text-transform:uppercase; font-weight:600; background:linear-gradient(135deg,#adb9ff,#8796ff); color:#1a223d; border:none; padding:10px 18px 10px; border-radius:14px; box-shadow:0 8px 24px -10px rgba(0,0,0,0.45); cursor:pointer; transition:var(--transition); }
 .doc-page-prev:hover { transform:translateY(-2px); }
 .doc-page-prev:active { transform:translateY(0); }
 .doc-progress-wrap { position:relative; width:100%; height:6px; background:rgba(255,255,255,0.06); border:1px solid var(--panel-border); border-radius:4px; margin:20px 0 0; }
 .doc-progress { position:absolute; left:0; top:0; bottom:0; width:0%; background:linear-gradient(90deg,var(--color-primary),var(--color-primary-accent)); box-shadow:0 0 10px -2px var(--color-primary); transition:width .35s ease; }
/* Compact tweaks */
body.density-compact .doc-page-nav { margin:40px -8px -8px; padding:14px 8px 6px; }
body.density-compact .doc-page-prev, body.density-compact .doc-page-next { padding:8px 14px 8px; font-size:11px; }

/* Components */
.breadcrumbs { font-size:12px; margin:-6px 0 30px; display:flex; gap:6px; flex-wrap:wrap; color:var(--text-dim); }
.breadcrumbs a { opacity:.9; }
.breadcrumbs span { opacity:.6; }
pre { background:var(--code-bg); padding:20px 22px; border-radius:14px; overflow:auto; border:1px solid rgba(255,122,0,0.35); font-size:14px; line-height:1.42; position:relative; }
code { background:var(--code-bg); padding:2px 6px; border-radius:6px; color:var(--q-glow); font-size:14px; }
pre code { background:transparent; padding:0; }
/* Enhanced code block UI */
.code-lang-label{ position:absolute; top:8px; left:10px; font-size:10.5px; letter-spacing:.6px; text-transform:uppercase; color:var(--text-dim); background:rgba(255,255,255,0.08); border:1px solid var(--panel-border); border-radius:8px; padding:3px 8px; }
.copy-btn{ position:absolute; top:8px; right:8px; background:rgba(255,255,255,0.18); border:1px solid rgba(255,255,255,0.25); color:var(--text); font-size:11px; padding:4px 10px; border-radius:8px; cursor:pointer; font-weight:600; letter-spacing:.5px; }
.copy-btn:hover{ background:var(--gradient-primary); color:#081520; }
.code-wrap-btn{ position:absolute; top:8px; right:74px; background:rgba(255,255,255,0.12); border:1px solid rgba(255,255,255,0.22); color:var(--text-dim); font-size:11px; padding:4px 8px; border-radius:8px; cursor:pointer; }
.code-wrap-btn:hover{ color:var(--color-primary-accent); background:rgba(255,255,255,0.16); }
.code-expand-btn{ position:absolute; bottom:8px; right:8px; background:rgba(255,255,255,0.12); border:1px solid rgba(255,255,255,0.22); color:var(--text-dim); font-size:11px; padding:4px 8px; border-radius:8px; cursor:pointer; }
.code-expand-btn:hover{ color:var(--color-primary-accent); background:rgba(255,255,255,0.16); }
.code-collapsed{ max-height:360px; }
.wrap-lines code{ white-space:pre-wrap; word-break:break-word; }
mark[data-hl] { background:linear-gradient(90deg,var(--color-primary),var(--color-primary-accent)); color:#091723; padding:1px 4px; border-radius:4px; font-weight:500; }
table { width:100%; border-collapse:collapse; margin:28px 0 34px; font-size:14px; }
table th, table td { padding:11px 14px; border:1px solid rgba(255,255,255,0.08); text-align:left; }
table th { background:rgba(255,122,0,0.18); color:var(--q-glow); font-weight:600; letter-spacing:.3px; }
.admonition { border:1px solid var(--panel-border); padding:18px 22px 20px; border-radius:16px; margin:32px 0; background:rgba(255,122,0,0.08); position:relative; }
.admonition:before { content:""; position:absolute; top:-1px; left:18px; width:60px; height:3px; background:linear-gradient(90deg,var(--q-orange),var(--q-glow)); border-radius:2px; }
.admonition[data-type=warning] { background:rgba(255,122,0,0.18); border-color:var(--panel-border-strong); }
.admonition[data-type=tip] { background:linear-gradient(135deg,rgba(60,180,120,0.14),rgba(60,180,120,0.05)); border-color:rgba(60,180,120,0.55); }
.admonition[data-type=note] { background:linear-gradient(135deg,rgba(120,140,255,0.16),rgba(120,140,255,0.05)); border-color:rgba(120,140,255,0.55); }
.admonition-title { font-size:12px; font-weight:700; letter-spacing:1px; margin:0 0 8px; color:var(--q-glow); display:flex; align-items:center; gap:6px; }
.admonition[data-type=warning] .admonition-title { color:#ff9d4d; }
.admonition[data-type=tip] .admonition-title { color:#5dd7a2; }
.admonition[data-type=note] .admonition-title { color:#adb9ff; }
.fade-in { animation:fade .45s ease forwards; opacity:1; }
@keyframes fade { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:translateY(0); } }

/* Footer */
.site-footer { width:100%; padding:34px 40px 60px; box-sizing:border-box; text-align:center; font-size:13px; color:var(--text-dim); }
.footer-inner { max-width:1660px; margin:0 auto; opacity:.85; }
.site-footer a { color:var(--color-primary-accent); font-weight:600; }
[data-theme="light"] .site-footer a,
body.light-mode .site-footer a { color:var(--color-primary); }
/* Back to top button */
.back-to-top{ position:fixed; right:24px; bottom:28px; z-index:50; background:linear-gradient(135deg,var(--color-primary),var(--color-primary-accent)); color:#081520; border:none; padding:10px 14px; border-radius:12px; box-shadow:0 10px 28px -12px rgba(0,0,0,.55); cursor:pointer; opacity:0; transform:translateY(8px); pointer-events:none; transition:opacity .25s ease, transform .25s ease; font-weight:700; letter-spacing:.4px; }
.back-to-top.visible{ opacity:1; transform:translateY(0); pointer-events:auto; }

/* Responsive */
@media (max-width:1400px) { .layout-shell { padding:90px 30px 140px; } #doc-search-input { width:190px; } }
@media (max-width:1180px) { .layout-shell { gap:28px; } .doc-article { padding:52px 54px 74px; } }
@media (max-width:1020px) { .layout-shell { flex-direction:column; padding:84px 26px 120px; } .toc { position:static; max-height:none; width:100%; display:flex; flex-direction:column; } .doc-article { width:100%; padding:48px 40px 70px; } #doc-search-input { width:160px; } }
@media (max-width:720px) { .top-bar-inner { padding:0 18px; gap:18px; } .brand-mini { font-size:18px; } .layout-shell { padding:80px 18px 110px; } .doc-article { padding:42px 30px 64px; } h1 { font-size:30px; } h2 { font-size:22px; } #doc-search-form { gap:6px; padding:5px 8px 5px 14px; } #doc-search-input { width:140px; font-size:13px; } #doc-search-form button { padding:6px 14px; } }

/* Search dropdown (typeahead) */
.doc-search-dropdown{ position:absolute; top:calc(100% + 8px); right:0; left:0; background:var(--panel); border:1px solid var(--panel-border); box-shadow:0 14px 34px -8px rgba(0,0,0,.35); border-radius:12px; padding:8px; z-index:40; max-height:420px; overflow:auto; }
.doc-search-dropdown[hidden]{ display:none; }
.search-suggestion{ display:block; padding:10px 12px; border-radius:8px; text-decoration:none; color:var(--text); }
.search-suggestion:hover,.search-suggestion.active{ background:rgba(255,255,255,0.06); outline:none; }
.suggestion-title{ font-weight:600; margin:0 0 4px; }
.suggestion-meta{ font-size:12px; color:var(--text-dim); margin-bottom:4px; }
.suggestion-snippet{ font-size:12px; color:var(--text-dim); line-height:1.5; }
.doc-search-dropdown mark{ background:var(--q-orange); color:#081520; border-radius:3px; padding:0 2px; }
.doc-search-dropdown .empty{ color:var(--text-dim); }

/* Print styles: single-book continuous content */
@media print {
  body { background:#fff !important; color:#000 !important; }
  .top-bar, .toc, .site-footer, #doc-page-nav, #doc-progress-wrap, .doc-page-counter, .doc-page-next, .doc-page-prev { display:none !important; }
  .doc-article { box-shadow:none; background:#fff; border:none; padding:20px 30px 40px !important; }
  a { color:#000; text-decoration:underline; }
  .doc-meta-line, .breadcrumbs { page-break-inside:avoid; }
  h1,h2,h3 { page-break-after:avoid; }
  pre, table { page-break-inside:avoid; }
}
.endpoint-block {
  /* Calmer endpoint card aesthetic while preserving hierarchy */
  position: relative;
  border: 1px solid var(--endpoint-card-border);
  background: var(--endpoint-card-bg);
  border-radius: 18px;
  padding: 28px 30px 32px;
  margin: 56px 0;
  box-shadow: var(--endpoint-card-shadow), 0 0 0 1px rgba(230, 151, 90, 0.10);
  overflow: hidden;
}
.endpoint-block::before {
  /* Soft highlight tint to separate cards from the background */
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: var(--endpoint-card-highlight);
  opacity: 0.32;
  pointer-events: none;
}
.endpoint-block::after {
  /* Accent line reinforces grouping and mirrors docs admonitions */
  content: "";
  position: absolute;
  top: 0;
  left: 24px;
  right: 24px;
  height: 3px;
  border-radius: 2px;
  background: linear-gradient(90deg, rgba(230, 151, 90, 0.90), rgba(79, 152, 239, 0.82));
  opacity: 0.88;
}
.endpoint-block header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px 26px;
  flex-wrap: wrap;
}
.endpoint-block h3 {
  margin: 0 0 10px;
  font-size: 20px;
  display: flex;
  align-items: center;
  gap: 14px;
  letter-spacing: 0.4px;
}
.endpoint-block .method {
  font-size: 12px;
  font-weight: 700;
  padding: 6px 14px;
  border-radius: 999px;
  color: var(--endpoint-method-text);
  background: var(--gradient-primary);
  letter-spacing: 0.6px;
  box-shadow: none;
  border: 1px solid rgba(255, 255, 255, 0.2);
}
.endpoint-block .method.get { background: var(--endpoint-method-get); }
.endpoint-block .method.post { background: var(--endpoint-method-post); }
.endpoint-block .method.patch { background: var(--endpoint-method-patch); }
.endpoint-block .method.delete { background: var(--endpoint-method-delete); }
.endpoint-block .ep-path {
  font-size: 14px;
  background: var(--code-bg);
  padding: 6px 12px;
  border-radius: 10px;
  border: 1px solid var(--endpoint-card-border);
  color: var(--text);
}
.ep-badges {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}
.ep-badge {
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.65px;
  padding: 5px 10px 5px;
  border-radius: 10px;
  background: linear-gradient(135deg, rgba(21, 44, 74, 0.9), rgba(16, 36, 62, 0.84));
  color: #dce9f8;
  text-transform: uppercase;
  border: 1px solid rgba(125, 175, 227, 0.34);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
.ep-badge.stability.ga { background: linear-gradient(135deg, #2daa82, #3e8fee); color: #ffffff; border-color: rgba(255,255,255,0.22); }
.ep-badge.stability.beta { background: linear-gradient(135deg, #f2a14e, #ffd072); color: #1d2733; border-color: rgba(255,255,255,0.26); }
.ep-badge.access.pro,
.ep-badge.access.ent { background: linear-gradient(135deg, #8f61ff, #5d7dff); color: #ffffff; border-color: rgba(255,255,255,0.22); }
.ep-badge.rate { background: linear-gradient(135deg, #67b6ff, #7bd8ff); color: #082338; border-color: rgba(255,255,255,0.24); }
.ep-summary {
  margin: 6px 0 16px;
  font-size: 14px;
  color: var(--text-dim);
  line-height: 1.6;
  max-width: 780px;
}
.ep-params table { font-size: 13px; }
.ep-params summary {
  cursor: pointer;
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 0.6px;
  color: var(--text);
}
.ep-params {
  margin: 16px 0 22px;
  border-top: 1px solid var(--endpoint-card-border);
  padding-top: 14px;
}
.ep-responses summary {
  cursor: pointer;
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 0.6px;
  color: var(--text);
}
.ep-responses {
  margin: 22px 0 10px;
  border-top: 1px solid var(--endpoint-card-border);
  padding-top: 14px;
}
.ep-response { margin: 15px 0 24px; }
.ep-response-code {
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.6px;
  background: linear-gradient(135deg, var(--color-primary), var(--color-primary-accent));
  color: #081520;
  display: inline-block;
  padding: 5px 12px 6px;
  border-radius: 999px;
  box-shadow: none;
  margin: 0 0 10px;
  border: 1px solid rgba(255, 255, 255, 0.2);
}
.ep-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 8px 0 0;
}
.ep-tag {
  font-size: 11px;
  padding: 5px 10px 5px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid var(--endpoint-card-border);
  border-radius: 10px;
  letter-spacing: 0.5px;
  color: var(--text-dim);
}
/* Harmonise table borders inside cards with refreshed palette */
.endpoint-block table th,
.endpoint-block table td {
  border-color: var(--endpoint-card-border);
}
.endpoint-block table tr:nth-child(even) {
  background: rgba(255, 255, 255, 0.04);
}
.code-tabs { margin:16px 0 14px; border:1px solid var(--panel-border); border-radius:14px; overflow:hidden; background:rgba(255,255,255,0.04); }
.code-tab-bar { display:flex; align-items:stretch; gap:0; background:rgba(255,255,255,0.06); border-bottom:1px solid var(--panel-border); }
.code-tab { flex:0 0 auto; background:transparent; border:none; color:var(--text-dim); font-size:11px; font-weight:600; padding:10px 16px; letter-spacing:.6px; cursor:pointer; position:relative; transition:var(--transition); text-transform:uppercase; }
.code-tab:hover { color:var(--color-primary-accent); background:rgba(255,255,255,0.06); }
.code-tab.active { color:#091723; background:var(--gradient-primary); box-shadow:0 4px 16px -6px rgba(255,122,0,0.55); }
.code-tab-panel { display:none; padding:14px 18px 18px; }
.code-tab-panel.active { display:block; animation:fade .35s ease; }
.code-tab-panel pre { margin:0; padding:18px 20px; font-size:13px; border-radius:10px; position:relative; }
.copy-btn { position:absolute; top:8px; right:8px; background:rgba(255,255,255,0.18); border:1px solid rgba(255,255,255,0.25); color:var(--text); font-size:11px; padding:4px 10px; border-radius:8px; cursor:pointer; font-weight:600; letter-spacing:.5px; }
.copy-btn:hover { background:var(--gradient-primary); color:#081520; }
/* Light mode adjustments */
[data-theme="light"] .endpoint-block,
body.light-mode .endpoint-block { background:rgba(255,255,255,0.95); }
[data-theme="light"] .ep-path,
body.light-mode .ep-path { background:var(--code-bg); }
[data-theme="light"] .code-tabs,
body.light-mode .code-tabs { background:rgba(255,255,255,0.98); }
[data-theme="light"] .code-tab,
body.light-mode .code-tab { color:#4a5b6b; }
[data-theme="light"] .code-tab.active,
body.light-mode .code-tab.active { color:#091723; }
