/* Dark theme: pair with docs.css (load after docs.css). */

@media (prefers-color-scheme: dark) {
  html:not([data-theme]) {
    color-scheme: dark;
    --bg: #0d1117;
    --bg-gradient-top: #010409;
    --card: #161b22;
    --text: #e6edf3;
    --muted: #8b949e;
    --accent: #58a6ff;
    --line: #30363d;
    --inline-code-bg: rgba(110, 118, 129, 0.28);
    --pre-bg: #0d1117;
    --pre-fg: #e6edf3;
    --pre-inset-shadow: rgba(255, 255, 255, 0.04);
    --table-bg: #161b22;
    --table-th-bg: #21262d;
    --card-shadow: 0 3px 10px rgba(0, 0, 0, 0.45);
    --search-panel-bg: #161b22;
    --search-result-hover-bg: #1c2d41;
    --search-result-hover-border: #388bfd;
    --search-result-preview: #b1bac4;
    --docs-placeholder: #6e7681;
    --search-results-shadow: 0 10px 24px rgba(0, 0, 0, 0.55);
    --time-cell-bg: #21262d;
    --adr-status-tracks-bg: #161b22;
    --adr-track-label-color: #8b949e;
    --adr-step-arrow: #6e7681;
    --adr-step-border: #30363d;
    --adr-step-bg: #21262d;
    --adr-step-text: #c9d1d9;
    --adr-step-done-bg: #14532d;
    --adr-step-done-border: #238636;
    --adr-step-done-text: #bbf7d0;
    --adr-step-current-bg: #5c4600;
    --adr-step-current-border: #d29922;
    --adr-step-current-text: #ffdf5d;
    --adr-step-todo-bg: #21262d;
    --adr-step-todo-border: #30363d;
    --adr-step-todo-text: #8b949e;
    --adr-step-muted-bg: #21262d;
    --adr-step-muted-border: #30363d;
    --adr-step-muted-text: #8b949e;
    --adr-step-blocked-bg: #5a1e1e;
    --adr-step-blocked-border: #da3633;
    --adr-step-blocked-text: #ffd8d8;
    --adr-status-log-bg: #161b22;
    --adr-status-log-title: #8b949e;
    --details-summary-fg: #c9d1d9;
    --diagram-bg: #161b22;
    --sys-diagram-bg: linear-gradient(165deg, #161b22 0%, #0d1117 52%);
    --sys-diagram-frame-shadow:
      0 1px 0 rgba(0, 0, 0, 0.35),
      0 12px 32px rgba(0, 0, 0, 0.45);
    --sys-diagram-head-bg: linear-gradient(90deg, rgba(56, 139, 253, 0.12) 0%, transparent 55%);
    --sys-diagram-badge-fg: #79c0ff;
    --sys-diagram-badge-bg: linear-gradient(180deg, #1f2b3d 0%, #1c2128 100%);
    --sys-diagram-badge-border: #388bfd;
    --sys-diagram-canvas-bg:
      radial-gradient(ellipse 90% 60% at 50% 0%, rgba(56, 139, 253, 0.1) 0%, transparent 55%),
      #0d1117;
    --sys-diagram-foot-bg: #161b22;
    --audit-legend-warn-bg: #2d2a1a;
    --audit-legend-error-bg: #3d2020;
    --audit-legend-error-fg: #ffb4a8;
    --badge-default-bg: #1c2128;
    --badge-success-bg: #14532d;
    --badge-success-border: #238636;
    --badge-success-text: #bbf7d0;
    --badge-warning-bg: #5c4600;
    --badge-warning-border: #d29922;
    --badge-warning-text: #ffdf5d;
    --badge-muted-bg: #21262d;
    --badge-muted-border: #484f58;
    --badge-muted-text: #c9d1d9;
    --badge-danger-bg: #5a1e1e;
    --badge-danger-border: #da3633;
    --badge-danger-text: #ffd8d8;
    --nav-group-bg: linear-gradient(165deg, #161b22 0%, #0d1117 100%);
    --nav-group-shadow: 0 1px 2px rgba(0, 0, 0, 0.45);
    --nav-internal-border: rgba(56, 139, 253, 0.45);
    --nav-internal-bg: linear-gradient(165deg, #0d1b2a 0%, #0d1117 55%, #161b22 100%);
    --nav-internal-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
    --nav-internal-title: #79c0ff;
    --nav-internal-hint: #58a6ff;
    --nav-public-border: rgba(163, 113, 247, 0.45);
    --nav-public-bg: linear-gradient(165deg, #1a1425 0%, #161b22 55%, #0d1117 100%);
    --nav-public-shadow: 0 1px 2px rgba(0, 0, 0, 0.45);
    --nav-public-title: #d2a8ff;
    --nav-public-hint: #a371f7;
    --nav-section-title: #8b949e;
    --nav-section-hint: #6e7681;
    --nav-toggle-bg: #161b22;
    --nav-toggle-fg: #c9d1d9;
    --nav-toggle-focus-ring: #388bfd;
    --nav-link-bg: #1c2128;
    --nav-link-active-bg: #1d2d41;
    --nav-link-active-border: #388bfd;
    --nav-link-active-text: #e6edf3;
    --nav-public-link-hover-border: #a371f7;
    --nav-public-link-hover-text: #d2a8ff;
    --nav-public-link-active-bg: #271f3a;
    --nav-public-link-active-text: #e6d9ff;
    --nav-pdoc-shell-bg: linear-gradient(180deg, #161b22 0%, rgba(13, 17, 23, 0.5) 100%);
    --nav-theme-btn-bg: #161b22;
    --nav-theme-btn-fg: #c9d1d9;
    --internal-sidebar-title: #8b949e;
    --internal-tree-border: #30363d;
    --internal-tree-hover-bg: #1c2d41;
    --internal-tree-active-bg: #1d2d41;
    --internal-tree-active-border: #388bfd;
    --internal-tree-active-text: #e6edf3;
    --internal-group-bg: #161b22;
    --internal-summary-hover-bg: #21262d;
    --internal-http-tablet-bg: linear-gradient(165deg, #161b22 0%, #0d1117 50%, #1a2332 100%);
    --internal-http-tablet-path: #e6edf3;
    --internal-toggle-bg: #161b22;
    --internal-toggle-fg: #c9d1d9;
    --internal-toggle-hover-fg: #79c0ff;
    --adr-cs-base-bg: #161b22;
    --adr-cs-label: #8b949e;
    --adr-cs-value: #e6edf3;
    --audit-score-excellent-bg: #1a3d2e;
    --audit-score-excellent-border: #238636;
    --audit-score-good-bg: #4d3c00;
    --audit-score-good-border: #d29922;
    --audit-score-needs-bg: #5a1e1e;
    --audit-score-needs-border: #da3633;
    --audit-score-legend-border: #30363d;
    --audit-score-legend-bg: #161b22;
    --status-todo-bg: #1c2d41;
    --status-todo-border: #484f58;
    --status-todo-text: #c9d1d9;
    --status-in-progress-bg: #4d3c00;
    --status-in-progress-border: #d29922;
    --status-in-progress-text: #ffdf5d;
    --status-done-bg: #14532d;
    --status-done-border: #238636;
    --status-done-text: #bbf7d0;
    --status-blocked-bg: #271f3a;
    --status-blocked-border: #a371f7;
    --status-blocked-text: #e6d9ff;
    --status-rejected-bg: #5a1e1e;
    --status-rejected-border: #da3633;
    --status-rejected-text: #ffd8d8;
    --docs-tooltip-bg: #e2e8f0;
    --docs-tooltip-fg: #0f172a;
    --docs-tooltip-border: rgba(15, 23, 42, 0.14);
    --docs-tooltip-shadow: 0 10px 28px rgba(0, 0, 0, 0.4);
  }
}

html[data-theme="dark"] {
  color-scheme: dark;
  --bg: #0d1117;
  --bg-gradient-top: #010409;
  --card: #161b22;
  --text: #e6edf3;
  --muted: #8b949e;
  --accent: #58a6ff;
  --line: #30363d;
  --inline-code-bg: rgba(110, 118, 129, 0.28);
  --pre-bg: #0d1117;
  --pre-fg: #e6edf3;
  --pre-inset-shadow: rgba(255, 255, 255, 0.04);
  --table-bg: #161b22;
  --table-th-bg: #21262d;
  --card-shadow: 0 3px 10px rgba(0, 0, 0, 0.45);
  --search-panel-bg: #161b22;
  --search-result-hover-bg: #1c2d41;
  --search-result-hover-border: #388bfd;
  --search-result-preview: #b1bac4;
  --docs-placeholder: #6e7681;
  --search-results-shadow: 0 10px 24px rgba(0, 0, 0, 0.55);
  --time-cell-bg: #21262d;
  --adr-status-tracks-bg: #161b22;
  --adr-track-label-color: #8b949e;
  --adr-step-arrow: #6e7681;
  --adr-step-border: #30363d;
  --adr-step-bg: #21262d;
  --adr-step-text: #c9d1d9;
  --adr-step-done-bg: #14532d;
  --adr-step-done-border: #238636;
  --adr-step-done-text: #bbf7d0;
  --adr-step-current-bg: #5c4600;
  --adr-step-current-border: #d29922;
  --adr-step-current-text: #ffdf5d;
  --adr-step-todo-bg: #21262d;
  --adr-step-todo-border: #30363d;
  --adr-step-todo-text: #8b949e;
  --adr-step-muted-bg: #21262d;
  --adr-step-muted-border: #30363d;
  --adr-step-muted-text: #8b949e;
  --adr-step-blocked-bg: #5a1e1e;
  --adr-step-blocked-border: #da3633;
  --adr-step-blocked-text: #ffd8d8;
  --adr-status-log-bg: #161b22;
  --adr-status-log-title: #8b949e;
  --details-summary-fg: #c9d1d9;
  --diagram-bg: #161b22;
  --sys-diagram-bg: linear-gradient(165deg, #161b22 0%, #0d1117 52%);
  --sys-diagram-frame-shadow:
    0 1px 0 rgba(0, 0, 0, 0.35),
    0 12px 32px rgba(0, 0, 0, 0.45);
  --sys-diagram-head-bg: linear-gradient(90deg, rgba(56, 139, 253, 0.12) 0%, transparent 55%);
  --sys-diagram-badge-fg: #79c0ff;
  --sys-diagram-badge-bg: linear-gradient(180deg, #1f2b3d 0%, #1c2128 100%);
  --sys-diagram-badge-border: #388bfd;
  --sys-diagram-canvas-bg:
    radial-gradient(ellipse 90% 60% at 50% 0%, rgba(56, 139, 253, 0.1) 0%, transparent 55%),
    #0d1117;
  --sys-diagram-foot-bg: #161b22;
  --audit-legend-warn-bg: #2d2a1a;
  --audit-legend-error-bg: #3d2020;
  --audit-legend-error-fg: #ffb4a8;
  --badge-default-bg: #1c2128;
  --badge-success-bg: #14532d;
  --badge-success-border: #238636;
  --badge-success-text: #bbf7d0;
  --badge-warning-bg: #5c4600;
  --badge-warning-border: #d29922;
  --badge-warning-text: #ffdf5d;
  --badge-muted-bg: #21262d;
  --badge-muted-border: #484f58;
  --badge-muted-text: #c9d1d9;
  --badge-danger-bg: #5a1e1e;
  --badge-danger-border: #da3633;
  --badge-danger-text: #ffd8d8;
  --nav-group-bg: linear-gradient(165deg, #161b22 0%, #0d1117 100%);
  --nav-group-shadow: 0 1px 2px rgba(0, 0, 0, 0.45);
  --nav-internal-border: rgba(56, 139, 253, 0.45);
  --nav-internal-bg: linear-gradient(165deg, #0d1b2a 0%, #0d1117 55%, #161b22 100%);
  --nav-internal-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
  --nav-internal-title: #79c0ff;
  --nav-internal-hint: #58a6ff;
  --nav-public-border: rgba(163, 113, 247, 0.45);
  --nav-public-bg: linear-gradient(165deg, #1a1425 0%, #161b22 55%, #0d1117 100%);
  --nav-public-shadow: 0 1px 2px rgba(0, 0, 0, 0.45);
  --nav-public-title: #d2a8ff;
  --nav-public-hint: #a371f7;
  --nav-section-title: #8b949e;
  --nav-section-hint: #6e7681;
  --nav-toggle-bg: #161b22;
  --nav-toggle-fg: #c9d1d9;
  --nav-toggle-focus-ring: #388bfd;
  --nav-link-bg: #1c2128;
  --nav-link-active-bg: #1d2d41;
  --nav-link-active-border: #388bfd;
  --nav-link-active-text: #e6edf3;
  --nav-public-link-hover-border: #a371f7;
  --nav-public-link-hover-text: #d2a8ff;
  --nav-public-link-active-bg: #271f3a;
  --nav-public-link-active-text: #e6d9ff;
  --nav-pdoc-shell-bg: linear-gradient(180deg, #161b22 0%, rgba(13, 17, 23, 0.5) 100%);
  --nav-theme-btn-bg: #161b22;
  --nav-theme-btn-fg: #c9d1d9;
  --internal-sidebar-title: #8b949e;
  --internal-tree-border: #30363d;
  --internal-tree-hover-bg: #1c2d41;
  --internal-tree-active-bg: #1d2d41;
  --internal-tree-active-border: #388bfd;
  --internal-tree-active-text: #e6edf3;
  --internal-group-bg: #161b22;
  --internal-summary-hover-bg: #21262d;
  --internal-http-tablet-bg: linear-gradient(165deg, #161b22 0%, #0d1117 50%, #1a2332 100%);
  --internal-http-tablet-path: #e6edf3;
  --internal-toggle-bg: #161b22;
  --internal-toggle-fg: #c9d1d9;
  --internal-toggle-hover-fg: #79c0ff;
  --adr-cs-base-bg: #161b22;
  --adr-cs-label: #8b949e;
  --adr-cs-value: #e6edf3;
  --audit-score-excellent-bg: #1a3d2e;
  --audit-score-excellent-border: #238636;
  --audit-score-good-bg: #4d3c00;
  --audit-score-good-border: #d29922;
  --audit-score-needs-bg: #5a1e1e;
  --audit-score-needs-border: #da3633;
  --audit-score-legend-border: #30363d;
  --audit-score-legend-bg: #161b22;
  --status-todo-bg: #1c2d41;
  --status-todo-border: #484f58;
  --status-todo-text: #c9d1d9;
  --status-in-progress-bg: #4d3c00;
  --status-in-progress-border: #d29922;
  --status-in-progress-text: #ffdf5d;
  --status-done-bg: #14532d;
  --status-done-border: #238636;
  --status-done-text: #bbf7d0;
  --status-blocked-bg: #271f3a;
  --status-blocked-border: #a371f7;
  --status-blocked-text: #e6d9ff;
  --status-rejected-bg: #5a1e1e;
  --status-rejected-border: #da3633;
  --status-rejected-text: #ffd8d8;
  --docs-tooltip-bg: #e2e8f0;
  --docs-tooltip-fg: #0f172a;
  --docs-tooltip-border: rgba(15, 23, 42, 0.14);
  --docs-tooltip-shadow: 0 10px 28px rgba(0, 0, 0, 0.4);
}

/* ADR “Current status” pill — inner fill + animated rim tuned for dark backgrounds */
@media (prefers-color-scheme: dark) {
  html:not([data-theme]) .adr-current-status--draft {
    background:
      linear-gradient(#21262d, #21262d) padding-box,
      conic-gradient(from var(--adr-status-border-angle),
        #64748b 0deg 65deg,
        #94a3b8 65deg 180deg,
        #64748b 180deg 245deg,
        #94a3b8 245deg 360deg) border-box;
  }

  html:not([data-theme]) .adr-current-status--ongoing {
    background:
      linear-gradient(#3d2f00, #3d2f00) padding-box,
      conic-gradient(from var(--adr-status-border-angle),
        #d29922 0deg 65deg,
        #f0b72d 65deg 180deg,
        #d29922 180deg 245deg,
        #f0b72d 245deg 360deg) border-box;
  }

  html:not([data-theme]) .adr-current-status--declined {
    background:
      linear-gradient(#3d2020, #3d2020) padding-box,
      conic-gradient(from var(--adr-status-border-angle),
        #da3633 0deg 65deg,
        #ff7b72 65deg 180deg,
        #da3633 180deg 245deg,
        #ff7b72 245deg 360deg) border-box;
  }

  html:not([data-theme]) .adr-current-status--declined .adr-current-status__value {
    color: #ffb4a8;
  }

  html:not([data-theme]) .adr-current-status--done {
    background:
      linear-gradient(#14532d, #14532d) padding-box,
      conic-gradient(from var(--adr-status-border-angle),
        #238636 0deg 65deg,
        #56d364 65deg 180deg,
        #238636 180deg 245deg,
        #56d364 245deg 360deg) border-box;
  }

  html:not([data-theme]) .adr-current-status--done .adr-current-status__value {
    color: #bbf7d0;
  }
}

html[data-theme="dark"] .adr-current-status--draft {
  background:
    linear-gradient(#21262d, #21262d) padding-box,
    conic-gradient(from var(--adr-status-border-angle),
      #64748b 0deg 65deg,
      #94a3b8 65deg 180deg,
      #64748b 180deg 245deg,
      #94a3b8 245deg 360deg) border-box;
}

html[data-theme="dark"] .adr-current-status--ongoing {
  background:
    linear-gradient(#3d2f00, #3d2f00) padding-box,
    conic-gradient(from var(--adr-status-border-angle),
      #d29922 0deg 65deg,
      #f0b72d 65deg 180deg,
      #d29922 180deg 245deg,
      #f0b72d 245deg 360deg) border-box;
}

html[data-theme="dark"] .adr-current-status--declined {
  background:
    linear-gradient(#3d2020, #3d2020) padding-box,
    conic-gradient(from var(--adr-status-border-angle),
      #da3633 0deg 65deg,
      #ff7b72 65deg 180deg,
      #da3633 180deg 245deg,
      #ff7b72 245deg 360deg) border-box;
}

html[data-theme="dark"] .adr-current-status--declined .adr-current-status__value {
  color: #ffb4a8;
}

html[data-theme="dark"] .adr-current-status--done {
  background:
    linear-gradient(#14532d, #14532d) padding-box,
    conic-gradient(from var(--adr-status-border-angle),
      #238636 0deg 65deg,
      #56d364 65deg 180deg,
      #238636 180deg 245deg,
      #56d364 245deg 360deg) border-box;
}

html[data-theme="dark"] .adr-current-status--done .adr-current-status__value {
  color: #bbf7d0;
}

/* Audit Top-5 gaps — workflow status (dark: reuse backlog status tokens) */
@media (prefers-color-scheme: dark) {
  html:not([data-theme]) .audit-gap-table td.audit-gap-status--todo {
    background: var(--status-todo-bg);
    border-left-color: var(--status-todo-border);
    color: var(--status-todo-text);
  }

  html:not([data-theme]) .audit-gap-table td.audit-gap-status--inprogress {
    background: var(--status-in-progress-bg);
    border-left-color: var(--status-in-progress-border);
    color: var(--status-in-progress-text);
  }

  html:not([data-theme]) .audit-gap-table td.audit-gap-status--done {
    background: var(--status-done-bg);
    border-left-color: var(--status-done-border);
    color: var(--status-done-text);
  }
}

html[data-theme="dark"] .audit-gap-table td.audit-gap-status--todo {
  background: var(--status-todo-bg);
  border-left-color: var(--status-todo-border);
  color: var(--status-todo-text);
}

html[data-theme="dark"] .audit-gap-table td.audit-gap-status--inprogress {
  background: var(--status-in-progress-bg);
  border-left-color: var(--status-in-progress-border);
  color: var(--status-in-progress-text);
}

html[data-theme="dark"] .audit-gap-table td.audit-gap-status--done {
  background: var(--status-done-bg);
  border-left-color: var(--status-done-border);
  color: var(--status-done-text);
}

/* Footer atmosphere (docs.css body::before/::after): dark — rarer grid, slightly brighter grain */
html[data-theme="dark"] {
  --docs-footer-dot-step: 28px;
  --docs-footer-fine-dot-step: 16px;
  --docs-footer-glow-accent-mix: 15%;
  --docs-footer-dot-line-mix: 52%;
  --docs-footer-fine-dot-mix: 44%;
  --docs-footer-veil-height: min(74vh, 860px);
}

@media (prefers-color-scheme: dark) {
  html:not([data-theme]) {
    --docs-footer-dot-step: 28px;
    --docs-footer-fine-dot-step: 16px;
    --docs-footer-glow-accent-mix: 15%;
    --docs-footer-dot-line-mix: 52%;
    --docs-footer-fine-dot-mix: 44%;
    --docs-footer-veil-height: min(74vh, 860px);
  }
}
