/* QS-Bridge Custom Theme — Warm Amber Dark */

:root {
  --qs-bg: #0f0d0b;
  --qs-bg1: #141210;
  --qs-bg2: #1a1714;
  --qs-bg3: #21201e;
  --qs-bg4: #2a2826;
  --qs-border: #2c2824;
  --qs-border2: #38332e;
  --qs-text: #b8b2a8;
  --qs-muted: #8a847a;
  --qs-dim: #5c5650;
  --qs-bright: #ece7de;
  --qs-accent: #d4915c;
  --qs-accent-hover: #dfa070;
  --qs-accent-bg: rgba(212, 145, 92, 0.08);
  --qs-accent-border: rgba(212, 145, 92, 0.20);
  --qs-green: #6aab78;
  --qs-green-bg: rgba(106, 171, 120, 0.10);
  --qs-yellow: #c9a847;
  --qs-yellow-bg: rgba(201, 168, 71, 0.10);
  --qs-red: #c25a4a;
  --qs-red-bg: rgba(194, 90, 74, 0.10);
  --qs-blue: #5a9dc4;
  --qs-blue-bg: rgba(90, 157, 196, 0.10);
  --qs-purple: #9b7ec8;
  --qs-purple-bg: rgba(155, 126, 200, 0.10);
}

[data-md-color-scheme="slate"] {
  --md-primary-fg-color: var(--qs-accent);
  --md-primary-fg-color--light: var(--qs-accent-hover);
  --md-primary-fg-color--dark: #c07840;
  --md-primary-bg-color: var(--qs-bg);
  --md-primary-bg-color--light: var(--qs-bg1);
  --md-accent-fg-color: var(--qs-accent);
  --md-accent-fg-color--transparent: var(--qs-accent-bg);
  --md-accent-bg-color: var(--qs-accent);
  --md-default-fg-color: var(--qs-bright);
  --md-default-fg-color--light: var(--qs-text);
  --md-default-fg-color--lighter: var(--qs-muted);
  --md-default-fg-color--lightest: var(--qs-dim);
  --md-default-bg-color: var(--qs-bg);
  --md-default-bg-color--light: var(--qs-bg1);
  --md-default-bg-color--lighter: var(--qs-bg2);
  --md-default-bg-color--lightest: var(--qs-bg3);
  --md-code-fg-color: var(--qs-text);
  --md-code-bg-color: var(--qs-bg2);
  --md-code-hl-color: var(--qs-accent-bg);
  --md-code-hl-number-color: var(--qs-yellow);
  --md-code-hl-special-color: var(--qs-purple);
  --md-code-hl-function-color: var(--qs-accent-hover);
  --md-code-hl-constant-color: var(--qs-red);
  --md-code-hl-keyword-color: var(--qs-blue);
  --md-code-hl-string-color: var(--qs-green);
  --md-code-hl-name-color: var(--qs-text);
  --md-code-hl-operator-color: var(--qs-accent);
  --md-code-hl-punctuation-color: var(--qs-muted);
  --md-code-hl-comment-color: var(--qs-dim);
  --md-code-hl-generic-color: var(--qs-accent);
  --md-code-hl-variable-color: var(--qs-text);
  --md-typeset-color: var(--qs-text);
  --md-typeset-a-color: var(--qs-accent);
  --md-typeset-mark-color: var(--qs-accent-bg);
  --md-typeset-kbd-color: var(--qs-bg3);
  --md-typeset-kbd-border-color: var(--qs-border);
  --md-typeset-kbd-accent-color: var(--qs-accent-border);
  --md-typeset-table-color: var(--qs-border);
  --md-admonition-fg-color: var(--qs-text);
  --md-admonition-bg-color: var(--qs-bg2);
  --md-footer-bg-color: var(--qs-bg1);
  --md-footer-bg-color--dark: var(--qs-bg);
  --md-shadow-z1: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.3), 0 0 0.05rem rgba(0, 0, 0, 0.2);
  --md-shadow-z2: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.4), 0 0 0.05rem rgba(0, 0, 0, 0.3);
  --md-shadow-z3: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.5), 0 0 0.05rem rgba(0, 0, 0, 0.4);
}

body { background: var(--qs-bg) !important; }
.md-header { background: var(--qs-bg1) !important; border-bottom: 1px solid var(--qs-border); box-shadow: none !important; }
.md-header__title { font-family: 'Red Rose', Georgia, serif; font-weight: 700; }

/* ══════════════════════════════════════════════════════════════════════════════
   NAVIGATION TABS — Aligned with header, compact
   ══════════════════════════════════════════════════════════════════════════════ */
.md-tabs {
  background: var(--qs-bg1) !important;
  border-bottom: 1px solid var(--qs-border) !important;
}
.md-tabs__list {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0.15rem 0.6rem !important;
  list-style: none !important;
  white-space: normal !important;
  overflow: visible !important;
}
.md-tabs__item {
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
}
.md-tabs__link {
  display: block !important;
  padding: 0.2rem 0.6rem !important;
  margin: 0 !important;
  font-size: 0.72rem !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  color: var(--qs-muted) !important;
  opacity: 1 !important;
  text-decoration: none !important;
}
.md-tabs__link:hover,
.md-tabs__link:focus,
.md-tabs__item--active .md-tabs__link {
  color: var(--qs-accent) !important;
  opacity: 1 !important;
}

.md-sidebar { background: var(--qs-bg1); }
.md-sidebar--primary { border-right: 1px solid var(--qs-border); }
.md-sidebar--secondary { border-left: 1px solid var(--qs-border); }
.md-content { background: var(--qs-bg); }
.md-typeset h1 { font-family: 'Red Rose', Georgia, serif; font-weight: 700; color: var(--qs-bright) !important; border-bottom: 2px solid var(--qs-border); padding-bottom: 0.5rem; }
.md-typeset h2 { font-family: 'Red Rose', Georgia, serif; font-weight: 600; color: var(--qs-bright) !important; border-bottom: 1px solid var(--qs-border); padding-bottom: 0.3rem; margin-top: 2rem; }
.md-typeset h3, .md-typeset h4 { font-weight: 600; color: var(--qs-bright) !important; }
.md-typeset a { color: var(--qs-accent) !important; text-decoration: none; border-bottom: 1px solid var(--qs-accent-border); }
.md-typeset a:hover { color: var(--qs-accent-hover) !important; border-bottom-color: var(--qs-accent-hover); }
.md-typeset code { background: var(--qs-bg3) !important; color: var(--qs-accent) !important; border: 1px solid var(--qs-border); border-radius: 4px; padding: 0.1em 0.3em; }
.md-typeset pre { background: var(--qs-bg2) !important; border: 1px solid var(--qs-border); border-radius: 8px; }
.md-typeset pre > code { background: transparent !important; border: none; color: var(--qs-text) !important; }
.md-clipboard { color: var(--qs-muted) !important; }
.md-clipboard:hover { color: var(--qs-accent) !important; }

/* Table styling - comprehensive */
.md-typeset table {
  border: 1px solid var(--qs-border) !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  width: 100% !important;
  margin: 1em 0 !important;
}
.md-typeset table thead {
  background: var(--qs-bg3) !important;
}
.md-typeset table th {
  background: var(--qs-bg3) !important;
  color: var(--qs-bright) !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  font-size: 0.8em !important;
  letter-spacing: 0.03em !important;
  padding: 0.6rem 0.8rem !important;
  border-bottom: 1px solid var(--qs-border) !important;
  text-align: left !important;
}
.md-typeset table td {
  padding: 0.5rem 0.8rem !important;
  border-bottom: 1px solid var(--qs-border) !important;
  color: var(--qs-text) !important;
}
.md-typeset table tbody tr:nth-child(2n) {
  background: rgba(20, 18, 16, 0.5) !important;
}
.md-typeset table tbody tr:hover {
  background: var(--qs-accent-bg) !important;
}
.md-typeset table tbody tr:last-child td {
  border-bottom: none !important;
}

.md-typeset .admonition, .md-typeset details { border: 1px solid var(--qs-border) !important; border-radius: 8px; background: var(--qs-bg2) !important; box-shadow: none !important; }
.md-typeset .admonition-title, .md-typeset summary { background: var(--qs-bg3) !important; border-bottom: 1px solid var(--qs-border); }
.md-typeset .admonition.note, .md-typeset .admonition.info { border-left: 4px solid var(--qs-blue) !important; }
.md-typeset .admonition.note > .admonition-title, .md-typeset .admonition.info > .admonition-title { background: var(--qs-blue-bg) !important; }
.md-typeset .admonition.tip, .md-typeset .admonition.hint { border-left: 4px solid var(--qs-green) !important; }
.md-typeset .admonition.tip > .admonition-title, .md-typeset .admonition.hint > .admonition-title { background: var(--qs-green-bg) !important; }
.md-typeset .admonition.warning, .md-typeset .admonition.caution { border-left: 4px solid var(--qs-yellow) !important; }
.md-typeset .admonition.warning > .admonition-title, .md-typeset .admonition.caution > .admonition-title { background: var(--qs-yellow-bg) !important; }
.md-typeset .admonition.danger, .md-typeset .admonition.error { border-left: 4px solid var(--qs-red) !important; }
.md-typeset .admonition.danger > .admonition-title, .md-typeset .admonition.error > .admonition-title { background: var(--qs-red-bg) !important; }
.md-typeset blockquote { border-left: 4px solid var(--qs-accent) !important; background: var(--qs-accent-bg); padding: 0.75rem 1rem; border-radius: 0 8px 8px 0; color: var(--qs-text); }
.mermaid { background: var(--qs-bg2) !important; border: 1px solid var(--qs-border); border-radius: 8px; padding: 1.25rem 1rem; text-align: center; }

/* ── Mermaid Theme Override ───────────────────────────────────────────────── */
.mermaid .node rect,
.mermaid .node circle,
.mermaid .node polygon { fill: var(--qs-bg3) !important; stroke: var(--qs-accent) !important; stroke-width: 1.5px; }
.mermaid .node .label,
.mermaid .nodeLabel { color: var(--qs-bright) !important; fill: var(--qs-bright) !important; }
.mermaid .edgePath .path { stroke: var(--qs-accent-hover) !important; stroke-width: 1.5px; }
.mermaid .edgeLabel { background: var(--qs-bg2) !important; color: var(--qs-text) !important; fill: var(--qs-bg2) !important; }
.mermaid marker path { fill: var(--qs-accent-hover) !important; stroke: var(--qs-accent-hover) !important; }
.mermaid .cluster rect { fill: var(--qs-bg1) !important; stroke: var(--qs-border2) !important; rx: 8; ry: 8; }
.mermaid .cluster .nodeLabel,
.mermaid .cluster-label .nodeLabel { color: var(--qs-muted) !important; fill: var(--qs-muted) !important; }
.mermaid text { fill: var(--qs-text) !important; }
.mermaid .messageText { fill: var(--qs-text) !important; }
.mermaid .loopText { fill: var(--qs-muted) !important; }
.mermaid .noteText { fill: var(--qs-text) !important; }
.mermaid .note { fill: var(--qs-bg3) !important; stroke: var(--qs-accent-border) !important; }
.mermaid .activation { fill: var(--qs-accent-bg) !important; stroke: var(--qs-accent) !important; }
.mermaid .actor { fill: var(--qs-bg3) !important; stroke: var(--qs-accent) !important; }
.mermaid line { stroke: var(--qs-border2) !important; }
.mermaid .actor-line { stroke: var(--qs-border) !important; }
.mermaid .messageLine0,
.mermaid .messageLine1 { stroke: var(--qs-accent-hover) !important; }
/* Override any inline style fills from Mermaid to use theme tones */
.mermaid .node rect[style*="fill"],
.mermaid .node polygon[style*="fill"] { opacity: 0.95; }
.md-search__input { background: var(--qs-bg2) !important; border: 1px solid var(--qs-border) !important; color: var(--qs-text) !important; }
.md-search__input::placeholder { color: var(--qs-dim) !important; }
.md-search-result { background: var(--qs-bg1) !important; }
.md-search-result__link:hover { background: var(--qs-accent-bg) !important; }
.md-footer { background: var(--qs-bg1) !important; border-top: 1px solid var(--qs-border); }

/* ══════════════════════════════════════════════════════════════════════════════
   FOOTER — Social icons centered between prev/next links
   ══════════════════════════════════════════════════════════════════════════════ */

/* The prev/next footer nav container — use as positioning parent */
.md-footer {
  position: relative !important;
}
.md-footer__inner {
  position: relative !important;
  z-index: 0 !important;
}

/* Footer-meta — absolutely positioned, centered over the footer nav */
.md-footer-meta {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background: transparent !important;
  border-top: none !important;
  padding: 0 !important;
  margin: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.md-footer-meta__inner.md-grid {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  padding: 0 !important;
  width: auto !important;
}
.md-footer-meta .md-copyright {
  display: none !important;
}
.md-footer-meta .md-social {
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 1rem !important;
  pointer-events: auto !important;
}
.md-social__link {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0.3rem !important;
}
.md-social__link svg {
  width: 1.2rem !important;
  height: 1.2rem !important;
  fill: var(--qs-muted) !important;
  transition: fill 0.15s ease !important;
}
.md-social__link:hover svg {
  fill: var(--qs-accent) !important;
}
::selection { background: rgba(212, 145, 92, 0.25); color: var(--qs-bright); }
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: var(--qs-border); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: var(--qs-border2); }
.md-typeset .task-list-item input[type="checkbox"] { accent-color: var(--qs-accent); }
.md-typeset kbd { background: var(--qs-bg3); border: 1px solid var(--qs-border); box-shadow: 0 2px 0 var(--qs-border); color: var(--qs-bright); }
.md-typeset hr { border-color: var(--qs-border); }
.md-top { background: var(--qs-bg2) !important; border: 1px solid var(--qs-border); color: var(--qs-muted) !important; }
.md-top:hover { background: var(--qs-bg3) !important; color: var(--qs-accent) !important; border-color: var(--qs-accent); }
.md-nav__icon { color: var(--qs-muted) !important; }
.md-source { color: var(--qs-muted) !important; }
.md-source:hover { color: var(--qs-accent) !important; }
@import url('https://fonts.googleapis.com/css2?family=Red+Rose:wght@600;700&display=swap');

/* ── BisectHosting Sidebar Banner ─────────────────────────────────────────── */
.bisect-sidebar-banner {
  padding: 0.75rem;
  margin-bottom: 0.25rem;
  border-bottom: 1px solid var(--qs-border);
}
.bisect-sidebar-banner a {
  display: block;
  border-radius: 8px;
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  border: none !important;
}
.bisect-sidebar-banner a:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
  border: none !important;
}
.bisect-sidebar-banner img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 6px;
}

/* ── BisectHosting Nav Bar Banner ─────────────────────────────────────────── */
.bisect-nav-banner {
  position: fixed;
  top: 0.25rem;
  right: 0.5rem;
  z-index: 200;
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
  pointer-events: auto;
}
.bisect-nav-banner:hover {
  opacity: 0.95;
}
.bisect-nav-banner img {
  display: block;
  border-radius: 6px;
  max-height: 64px;
}
@media (max-width: 76.25em) {
  .bisect-nav-banner { display: none; }
}

/* ── Header layout ────────────────────────────────────────────────────────── */
.md-header__inner {
  display: flex !important;
  align-items: center !important;
}

/* Title takes up space, pushes everything right */
.md-header__title {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

/* Flip order: QS-Zuq (source) before search visually */
.md-header__source {
  order: 10 !important;
  margin-left: 0.3rem !important;
  margin-right: 0.3rem !important;
  max-width: 7rem !important;
  flex-shrink: 0 !important;
}

/* Search field — rightmost item, right edge aligns with last nav tab */
.md-search {
  order: 11 !important;
  margin-right: 0 !important;
  max-width: 11rem !important;
  flex-shrink: 0 !important;
}
.md-search__form {
  border-radius: 4px;
}
.md-search__input {
  font-size: 0.78rem;
  padding: 0 2.2rem 0 0.7rem !important;
  height: 1.8rem !important;
}

/* Search icon toggle button — also reorder */
.md-header__button[for="__search"] {
  order: 9 !important;
}

/* Reserve space for the fixed banner so header items don't go under it */
@media (min-width: 76.25em) {
  .md-header__inner {
    padding-right: 320px !important;
  }
}
@media (max-width: 76.25em) {
  .md-header__inner {
    padding-right: 0 !important;
  }
}

/* ══════════════════════════════════════════════════════════════════════════════
   SIDEBAR NAVIGATION — Clean, readable, proper hierarchy
   ══════════════════════════════════════════════════════════════════════════════ */

.md-sidebar--primary {
  background: var(--qs-bg1) !important;
}

.md-sidebar__scrollwrap {
  scrollbar-width: thin;
  scrollbar-color: var(--qs-border) transparent;
}

/* Nav title (site name in mobile) */
.md-nav__title {
  color: var(--qs-bright) !important;
  font-weight: 600 !important;
}

/* All nav links - base styling */
.md-nav__link {
  color: var(--qs-text) !important;
  font-size: 0.8rem !important;
  padding: 0.35rem 0.6rem !important;
  margin: 1px 0 !important;
  border-radius: 4px !important;
  border-left: none !important;
  transition: background 0.15s, color 0.15s !important;
}
.md-nav__link:hover {
  color: var(--qs-bright) !important;
  background: var(--qs-bg3) !important;
}
.md-nav__link--active,
.md-nav__item--active > .md-nav__link {
  color: var(--qs-accent) !important;
  font-weight: 600 !important;
  background: none !important;
  border-left: none !important;
}

/* Section labels in sidebar (GETTING STARTED, PLATFORM, etc) */
.md-nav--lifted > .md-nav__list > .md-nav__item > .md-nav__link,
.md-nav--lifted > .md-nav__list > .md-nav__item--nested > .md-nav__link {
  font-size: 0.68rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  color: var(--qs-dim) !important;
  padding: 0.5rem 0.6rem 0.25rem !important;
  margin-top: 0.8rem !important;
  background: none !important;
  border-left: none !important;
  border-radius: 0 !important;
}
.md-nav--lifted > .md-nav__list > .md-nav__item:first-child > .md-nav__link {
  margin-top: 0.2rem !important;
}

/* Nested pages under sections - the actual page links */
.md-nav--lifted .md-nav .md-nav__link {
  font-size: 0.78rem !important;
  font-weight: 500 !important;
  padding: 0.3rem 0.6rem !important;
  padding-left: 0.8rem !important;
  color: var(--qs-text) !important;
  border-left: none !important;
}
.md-nav--lifted .md-nav .md-nav__link:hover {
  color: var(--qs-bright) !important;
}
.md-nav--lifted .md-nav .md-nav__item--active > .md-nav__link {
  color: var(--qs-accent) !important;
  font-weight: 600 !important;
}

/* ══════════════════════════════════════════════════════════════════════════════
   TABLE OF CONTENTS (integrated into sidebar)
   ══════════════════════════════════════════════════════════════════════════════ */

/* TOC container — no separator box, no grey styling */
.md-nav--secondary,
.md-nav--integrated {
  border-top: none !important;
  border: none !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
  background: transparent !important;
}

/* Hide the TOC toggle input */
input#__toc {
  display: none !important;
}

/* TOC title label — completely remove "Table of contents" heading and page title toggle */
.md-nav--secondary .md-nav__title,
.md-nav--integrated .md-nav__title,
.md-nav--secondary > .md-nav__title,
.md-nav--integrated > .md-nav__title,
label[for="__toc"],
.md-nav__link[for="__toc"] {
  display: none !important;
  height: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  background: none !important;
}

/* TOC list container - remove any grey backgrounds */
.md-nav--secondary .md-nav__list,
.md-nav--integrated .md-nav__list {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* TOC links - small but visible */
.md-nav--secondary .md-nav__link,
.md-nav--integrated .md-nav__link {
  font-size: 0.7rem !important;
  font-weight: 400 !important;
  color: var(--qs-muted) !important;
  padding: 0.15rem 0.5rem 0.15rem 0.7rem !important;
  margin: 0 0 0 0.3rem !important;
  border-radius: 0 !important;
  border-left: 1px solid var(--qs-border) !important;
  background: none !important;
  line-height: 1.4 !important;
}
.md-nav--secondary .md-nav__link:hover,
.md-nav--integrated .md-nav__link:hover {
  color: var(--qs-text) !important;
  border-left-color: var(--qs-muted) !important;
  background: none !important;
}
.md-nav--secondary .md-nav__link--active,
.md-nav--integrated .md-nav__link--active {
  color: var(--qs-accent) !important;
  border-left-color: var(--qs-accent) !important;
  font-weight: 500 !important;
  background: none !important;
}

/* Nav list spacing */
.md-nav__list {
  padding: 0 !important;
  margin: 0 !important;
}

/* Nav icons (expand/collapse) */
.md-nav__icon {
  color: var(--qs-dim) !important;
}

/* ── Scroll offset for sticky header + tabs ───────────────────────────────── */
html {
  scroll-padding-top: 6.5rem;
}



.md-header__title {
  font-family: 'Red Rose', Georgia, serif;
  font-weight: 700;
  color: var(--qs-bright) !important;
  font-size: 1.1rem;
}
.md-header__topic {
  color: var(--qs-bright) !important;
}
.md-header__topic:first-child {
  font-weight: 700;
}
.md-ellipsis {
  color: inherit !important;
}

/* ── Page Title (H1) Prominence ───────────────────────────────────────────── */
.md-typeset h1 {
  font-family: 'Red Rose', Georgia, serif;
  font-weight: 700;
  color: var(--qs-bright) !important;
  border-bottom: 2px solid var(--qs-accent);
  padding-bottom: 0.5rem;
  margin-bottom: 1.5rem;
  font-size: 2rem;
}

/* ── Related Pages section ────────────────────────────────────────────────── */
.md-typeset h2#related-pages {
  font-size: 0.85rem !important;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--qs-muted) !important;
  border-bottom: 1px solid var(--qs-border) !important;
  padding-bottom: 0.4rem !important;
  margin-top: 2.5rem !important;
}

/* Hide permalink icons until heading hover */
.md-typeset .headerlink {
  opacity: 0;
  transition: opacity 0.15s ease;
}
.md-typeset h1:hover .headerlink,
.md-typeset h2:hover .headerlink,
.md-typeset h3:hover .headerlink,
.md-typeset h4:hover .headerlink {
  opacity: 1;
}



/* ── Link Hover Glow ──────────────────────────────────────────────────────── */
.md-typeset a:not(.md-nav__link):not(.md-source):not(.bisect-nav-banner):not(.headerlink):not(.md-footer__link) {
  transition: color 0.2s ease, border-color 0.2s ease, text-shadow 0.2s ease;
}
.md-typeset a:not(.md-nav__link):not(.md-source):not(.bisect-nav-banner):not(.headerlink):not(.md-footer__link):hover {
  text-shadow: 0 0 12px rgba(212,145,92,0.3);
}

/* ── Smooth Page Transition (instant loading) ─────────────────────────────── */
.md-content {
  transition: opacity 0.15s ease;
}
.md-content[data-md-state="hidden"] {
  opacity: 0;
}

/* ── Admonition Icon Glow ─────────────────────────────────────────────────── */
.md-typeset .admonition-title::before,
.md-typeset summary::before {
  filter: drop-shadow(0 0 3px currentColor);
}

/* ── Definition List Styling (glossary) ───────────────────────────────────── */
.md-typeset dd {
  border-left: 2px solid var(--qs-border);
  padding-left: 1rem;
  margin-left: 0;
  transition: border-color 0.2s ease;
}
.md-typeset dd:hover {
  border-left-color: var(--qs-accent);
}

/* ── Footer Social Icons ──────────────────────────────────────────────────── */
.md-social__link svg {
  transition: transform 0.2s ease, fill 0.2s ease;
}
.md-social__link:hover svg {
  transform: scale(1.15) translateY(-1px);
  fill: var(--qs-accent) !important;
}

/* ── Floating Auth Icons (bottom-left) ────────────────────────────────────── */
.wiki-fab {
  position: fixed;
  bottom: 1.2rem;
  left: 1.2rem;
  z-index: 300;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.wiki-fab-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 50%;
  background: var(--qs-bg2);
  border: 1px solid var(--qs-border);
  color: var(--qs-muted);
  text-decoration: none !important;
  transition: background 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}
.wiki-fab-btn svg {
  width: 1.1rem;
  height: 1.1rem;
}
.wiki-fab-btn:hover {
  background: var(--qs-bg3);
  color: var(--qs-accent);
  border-color: var(--qs-accent);
  box-shadow: 0 2px 12px rgba(212, 145, 92, 0.15);
}
