:root {
  --bg-color: #ffffff;
  --bg-dot-color: #e5e7eb;
  --text-color: #212529;
  --border-color: #dee2e6;
  --navbar-bg: #ffffff;
  --sidebar-bg: #f8f9fa;
  --footer-bg: #f8f9fa;
}

[data-bs-theme="dark"] {
  --bg-color: #1a1a1a;
  --bg-dot-color: #2d2d2d;
  --text-color: #e9ecef;
  --border-color: #495057;
  --navbar-bg: #212529;
  --sidebar-bg: #1e1e1e;
  --footer-bg: #1e1e1e;
}

body {
  background-color: var(--bg-color);
  background-image: radial-gradient(var(--bg-dot-color) 1px, transparent 1px);
  background-size: 16px 16px;
  color: var(--text-color);
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.navbar {
  background-color: var(--navbar-bg) !important;
  border-bottom: 1px solid var(--border-color);
}

.navbar-brand {
  font-weight: 700;
  font-size: 1.5rem;
  color: var(--text-color) !important;
  display: flex;
  align-items: center;
}

.navbar-brand img {
  height: 40px;
  width: auto;
  margin-right: 0.5rem;
}

.sidebar {
  background-color: transparent;
  border-right: 1px solid var(--border-color);
  min-height: calc(100vh - 56px);
  padding: 1.5rem 1rem;
}

.sidebar-right {
  background-color: transparent;
  border-left: 1px solid var(--border-color);
  min-height: calc(100vh - 56px);
  padding: 1.5rem 1rem;
}

.nav-link {
  color: var(--text-color);
  padding: 0.5rem 1rem;
  border-radius: 0.25rem;
  margin-bottom: 0.25rem;
}

.nav-link:hover,
.nav-link.active {
  background-color: var(--bg-dot-color);
  color: var(--text-color);
}

.main-content {
  padding: 2rem 1.5rem;
  min-height: calc(100vh - 56px);
}

footer {
  background-color: transparent;
  border-top: 1px solid var(--border-color);
  padding: 1.5rem 0;
  margin-top: auto;
}

.search-input {
  background-color: var(--bg-color);
  border-color: var(--border-color);
  color: var(--text-color);
}

.search-input:focus {
  background-color: var(--bg-color);
  border-color: var(--border-color);
  color: var(--text-color);
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

.btn-theme-toggle {
  border: 1px solid var(--border-color);
  background-color: var(--bg-color);
  color: var(--text-color);
}

.btn-theme-toggle:hover {
  background-color: var(--bg-dot-color);
  border-color: var(--border-color);
  color: var(--text-color);
}

/* Heading font family class */
.heading-font {
  font-family: "Agency FB", Oswald, sans-serif;
  text-transform: uppercase;
}

/* Sugar Death 2 font for tally portions */
/* Add @font-face declaration when font file is available */
.tally-font {
  font-family: "Sugar Death 2", sans-serif;
}

/* Bell MT font for square brackets (future implementation) */
.bracket-font {
  font-family: "Bell MT", "Times New Roman", serif;
}

@media(max-width: 991.98px) {
  .sidebar,
  .sidebar-right {
    display: none;
  }
}

/* Wikilink styling */
.wikilink {
  color: var(--text-color);
  text-decoration: underline;
  text-decoration-color: rgba(13, 110, 253, 0.5);
  text-underline-offset: 2px;
}

.wikilink:hover {
  text-decoration-color: rgba(13, 110, 253, 1);
}

/* Unresolved wikilink styling */
.wikilink[href="#"],
.wikilink[href=""],
.wikilink:not([href]) {
  color: var(--text-color);
  opacity: 0.6;
  text-decoration: underline;
  text-decoration-style: dashed;
  text-decoration-color: var(--border-color);
  cursor: help;
}

.wikilink[href="#"]:hover,
.wikilink[href=""]:hover,
.wikilink:not([href]):hover {
  opacity: 0.8;
}

/* Obsidian callout styling */
.callout {
  border-left: 4px solid var(--border-color);
  border-radius: 4px;
  padding: 0.75rem 1rem;
  margin: 1rem 0;
  background-color: var(--bg-dot-color);
}

.callout-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
}

.callout-title-icon {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.callout-title-icon svg {
  width: 1.25rem;
  height: 1.25rem;
  stroke-width: 2;
}

.callout-title-inner {
  flex: 1;
}

.callout-content {
  color: var(--text-color);
}

.callout-content p:last-child {
  margin-bottom: 0;
}

/* Callout type-specific colors */
.callout[data-callout="note"] {
  border-left-color: #3b82f6;
  background-color: rgba(59, 130, 246, 0.1);
}

.callout[data-callout="abstract"],
.callout[data-callout="summary"],
.callout[data-callout="tldr"] {
  border-left-color: #06b6d4;
  background-color: rgba(6, 182, 212, 0.1);
}

.callout[data-callout="info"] {
  border-left-color: #0ea5e9;
  background-color: rgba(14, 165, 233, 0.1);
}

.callout[data-callout="tip"],
.callout[data-callout="hint"],
.callout[data-callout="important"] {
  border-left-color: #10b981;
  background-color: rgba(16, 185, 129, 0.1);
}

.callout[data-callout="success"],
.callout[data-callout="check"],
.callout[data-callout="done"] {
  border-left-color: #22c55e;
  background-color: rgba(34, 197, 94, 0.1);
}

.callout[data-callout="question"],
.callout[data-callout="help"],
.callout[data-callout="faq"] {
  border-left-color: #f59e0b;
  background-color: rgba(245, 158, 11, 0.1);
}

.callout[data-callout="warning"],
.callout[data-callout="caution"],
.callout[data-callout="attention"] {
  border-left-color: #f59e0b;
  background-color: rgba(245, 158, 11, 0.1);
}

.callout[data-callout="failure"],
.callout[data-callout="fail"],
.callout[data-callout="missing"] {
  border-left-color: #ef4444;
  background-color: rgba(239, 68, 68, 0.1);
}

.callout[data-callout="danger"],
.callout[data-callout="error"] {
  border-left-color: #dc2626;
  background-color: rgba(220, 38, 38, 0.1);
}

.callout[data-callout="bug"] {
  border-left-color: #dc2626;
  background-color: rgba(220, 38, 38, 0.1);
}

.callout[data-callout="example"] {
  border-left-color: #8b5cf6;
  background-color: rgba(139, 92, 246, 0.1);
}

.callout[data-callout="quote"],
.callout[data-callout="cite"] {
  border-left-color: #6b7280;
  background-color: rgba(107, 114, 128, 0.1);
}

.callout[data-callout="creature"] {
  border-left-color: #dc2626;
  background-color: rgba(220, 38, 38, 0.1);
}

.callout[data-callout="creature"] .callout-title-icon::before {
  content: '';
  display: inline-block;
  width: 1.25rem;
  height: 1.25rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='4' r='2'/%3E%3Ccircle cx='18' cy='8' r='2'/%3E%3Ccircle cx='20' cy='16' r='2'/%3E%3Cpath d='M9 10a5 5 0 0 1 5 5v3.5a3.5 3.5 0 0 1-6.84 1.045Q6.52 17.48 4.46 16.84A3.5 3.5 0 0 1 5.5 10Z'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-right: 0;
}

.callout[data-callout="creature"] .callout-title-icon svg {
  display: none;
}

.callout[data-callout="scene"] {
  border-left-color: #06b6d4;
  background-color: rgba(6, 182, 212, 0.1);
}

.callout[data-callout="scene"] .callout-title-icon::before {
  content: '';
  display: inline-block;
  width: 1.25rem;
  height: 1.25rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='18' height='18' x='3' y='3' rx='2' ry='2'/%3E%3Ccircle cx='9' cy='9' r='2'/%3E%3Cpath d='m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-right: 0;
}

.callout[data-callout="scene"] .callout-title-icon svg {
  display: none;
}

.callout[data-callout="character"] {
  border-left-color: #10b981;
  background-color: rgba(16, 185, 129, 0.1);
}

.callout[data-callout="character"] .callout-title-icon::before {
  content: '';
  display: inline-block;
  width: 1.25rem;
  height: 1.25rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-right: 0;
}

.callout[data-callout="character"] .callout-title-icon svg {
  display: none;
}

.callout[data-callout="npc"] {
  border-left-color: #10b981;
  background-color: rgba(16, 185, 129, 0.1);
}

.callout[data-callout="npc"] .callout-title-icon::before {
  content: '';
  display: inline-block;
  width: 1.25rem;
  height: 1.25rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-right: 0;
}

.callout[data-callout="npc"] .callout-title-icon svg {
  display: none;
}

.callout[data-callout="species"] {
  border-left-color: #10b981;
  background-color: rgba(16, 185, 129, 0.1);
}

.callout[data-callout="species"] .callout-title-icon::before {
  content: '';
  display: inline-block;
  width: 1.25rem;
  height: 1.25rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='4 7 4 4 20 4 20 7'/%3E%3Cline x1='9' y1='20' x2='15' y2='20'/%3E%3Cline x1='12' y1='4' x2='12' y2='20'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-right: 0;
}

.callout[data-callout="species"] .callout-title-icon svg {
  display: none;
}

.callout[data-callout="type"] {
  border-left-color: #10b981;
  background-color: rgba(16, 185, 129, 0.1);
}

.callout[data-callout="type"] .callout-title-icon::before {
  content: '';
  display: inline-block;
  width: 1.25rem;
  height: 1.25rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='4 7 4 4 20 4 20 7'/%3E%3Cline x1='9' y1='20' x2='15' y2='20'/%3E%3Cline x1='12' y1='4' x2='12' y2='20'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-right: 0;
}

.callout[data-callout="type"] .callout-title-icon svg {
  display: none;
}

.callout[data-callout="wounds"] {
  border-left-color: #dc2626;
  background-color: rgba(220, 38, 38, 0.1);
}

.callout[data-callout="wounds"] .callout-title-icon::before {
  content: '';
  display: inline-block;
  width: 1.25rem;
  height: 1.25rem;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLXN3b3Jkcy1pY29uIGx1Y2lkZS1zd29yZHMiPjxwb2x5bGluZSBwb2ludHM9IjE0LjUgMTcuNSAzIDYgMyAzIDYgMyAxNy41IDE0LjUiLz48bGluZSB4MT0iMTMiIHgyPSIxOSIgeTE9IjE5IiB5Mj0iMTMiLz48bGluZSB4MT0iMTYiIHgyPSIyMCIgeTE9IjE2IiB5Mj0iMjAiLz48bGluZSB4MT0iMTkiIHgyPSIyMSIgeTE9IjIxIiB5Mj0iMTkiLz48cG9seWxpbmUgcG9pbnRzPSIxNC41IDYuNSAxOCAzIDIxIDMgMjEgNiAxNy41IDkuNSIvPjxsaW5lIHgxPSI1IiB4Mj0iOSIgeTE9IjE0IiB5Mj0iMTgiLz48bGluZSB4MT0iNyIgeDI9IjQiIHkxPSIxNyIgeTI9IjIwIi8+PGxpbmUgeDE9IjMiIHgyPSI1IiB5MT0iMTkiIHkyPSIyMSIvPjwvc3ZnPg==");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-right: 0;
}

.callout[data-callout="wounds"] .callout-title-icon svg {
  display: none;
}

.callout[data-callout="encounter"] {
  border-left-color: #dc2626;
  background-color: rgba(220, 38, 38, 0.1);
}

.callout[data-callout="encounter"] .callout-title-icon::before {
  content: '';
  display: inline-block;
  width: 1.25rem;
  height: 1.25rem;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLXN3b3Jkcy1pY29uIGx1Y2lkZS1zd29yZHMiPjxwb2x5bGluZSBwb2ludHM9IjE0LjUgMTcuNSAzIDYgMyAzIDYgMyAxNy41IDE0LjUiLz48bGluZSB4MT0iMTMiIHgyPSIxOSIgeTE9IjE5IiB5Mj0iMTMiLz48bGluZSB4MT0iMTYiIHgyPSIyMCIgeTE9IjE2IiB5Mj0iMjAiLz48bGluZSB4MT0iMTkiIHgyPSIyMSIgeTE9IjIxIiB5Mj0iMTkiLz48cG9seWxpbmUgcG9pbnRzPSIxNC41IDYuNSAxOCAzIDIxIDMgMjEgNiAxNy41IDkuNSIvPjxsaW5lIHgxPSI1IiB4Mj0iOSIgeTE9IjE0IiB5Mj0iMTgiLz48bGluZSB4MT0iNyIgeDI9IjQiIHkxPSIxNyIgeTI9IjIwIi8+PGxpbmUgeDE9IjMiIHgyPSI1IiB5MT0iMTkiIHkyPSIyMSIvPjwvc3ZnPg==");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-right: 0;
}

.callout[data-callout="encounter"] .callout-title-icon svg {
  display: none;
}

.callout[data-callout="faction"] {
  border-left-color: #06b6d4;
  background-color: rgba(6, 182, 212, 0.1);
}

.callout[data-callout="faction"] .callout-title-icon::before {
  content: '';
  display: inline-block;
  width: 1.25rem;
  height: 1.25rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z'/%3E%3Cline x1='4' y1='22' x2='4' y2='15'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-right: 0;
}

.callout[data-callout="faction"] .callout-title-icon svg {
  display: none;
}

.callout[data-callout="location"] {
  border-left-color: #06b6d4;
  background-color: rgba(6, 182, 212, 0.1);
}

.callout[data-callout="location"] .callout-title-icon::before {
  content: '';
  display: inline-block;
  width: 1.25rem;
  height: 1.25rem;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLWFycm93LWRvd24tdG8tZG90LWljb24gbHVjaWRlLWFycm93LWRvd24tdG8tZG90Ij48cGF0aCBkPSJNMTIgMnYxNCIvPjxwYXRoIGQ9Im0xOSA5LTcgNy03LTciLz48Y2lyY2xlIGN4PSIxMiIgY3k9IjIxIiByPSIxIi8+PC9zdmc+");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-right: 0;
}

.callout[data-callout="location"] .callout-title-icon svg {
  display: none;
}

.callout[data-callout="dungeon"] {
  border-left-color: #6b7280;
  background-color: rgba(107, 114, 128, 0.1);
}

.callout[data-callout="dungeon"] .callout-title-icon::before {
  content: '';
  display: inline-block;
  width: 1.25rem;
  height: 1.25rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='12' r='1'/%3E%3Ccircle cx='15' cy='12' r='1'/%3E%3Cpath d='M8 20v2h8v-2'/%3E%3Cpath d='m12.5 17-.5-1-.5 1h1z'/%3E%3Cpath d='M16 20a2 2 0 0 0 1.56-3.25 8 8 0 1 0-11.12 0A2 2 0 0 0 8 20'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-right: 0;
}

.callout[data-callout="dungeon"] .callout-title-icon svg {
  display: none;
}

.callout[data-callout="lair"] {
  border-left-color: #6b7280;
  background-color: rgba(107, 114, 128, 0.1);
}

.callout[data-callout="lair"] .callout-title-icon::before {
  content: '';
  display: inline-block;
  width: 1.25rem;
  height: 1.25rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='12' r='1'/%3E%3Ccircle cx='15' cy='12' r='1'/%3E%3Cpath d='M8 20v2h8v-2'/%3E%3Cpath d='m12.5 17-.5-1-.5 1h1z'/%3E%3Cpath d='M16 20a2 2 0 0 0 1.56-3.25 8 8 0 1 0-11.12 0A2 2 0 0 0 8 20'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-right: 0;
}

.callout[data-callout="lair"] .callout-title-icon svg {
  display: none;
}

.callout[data-callout="room"] {
  border-left-color: #6b7280;
  background-color: rgba(107, 114, 128, 0.1);
}

.callout[data-callout="room"] .callout-title-icon::before {
  content: '';
  display: inline-block;
  width: 1.25rem;
  height: 1.25rem;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLWRvb3ItY2xvc2VkLWljb24gbHVjaWRlLWRvb3ItY2xvc2VkIj48cGF0aCBkPSJNMTAgMTJoLjAxIi8+PHBhdGggZD0iTTE4IDIwVjZhMiAyIDAgMCAwLTItMkg4YTIgMiAwIDAgMC0yIDJ2MTQiLz48cGF0aCBkPSJNMiAyMGgyMCIvPjwvc3ZnPg==");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-right: 0;
}

.callout[data-callout="room"] .callout-title-icon svg {
  display: none;
}

.callout[data-callout="armor"] {
  border-left-color: #3b82f6;
  background-color: rgba(59, 130, 246, 0.1);
}

.callout[data-callout="armor"] .callout-title-icon::before {
  content: '';
  display: inline-block;
  width: 1.25rem;
  height: 1.25rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-right: 0;
}

.callout[data-callout="armor"] .callout-title-icon svg {
  display: none;
}

.callout[data-callout="item"] {
  border-left-color: #3b82f6;
  background-color: rgba(59, 130, 246, 0.1);
}

.callout[data-callout="item"] .callout-title-icon::before {
  content: '';
  display: inline-block;
  width: 1.25rem;
  height: 1.25rem;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLWFtcGhvcmEtaWNvbiBsdWNpZGUtYW1waG9yYSI+PHBhdGggZD0iTTEwIDJ2NS42MzJjMCAuNDI0LS4yNzIuNzk1LS42NTMuOTgyQTYgNiAwIDAgMCA2IDE0Yy4wMDYgNCAzIDcgNSA4Ii8+PHBhdGggZD0iTTEwIDVIOGEyIDIgMCAwIDAgMCA0aC42OCIvPjxwYXRoIGQ9Ik0xNCAydjUuNjMyYzAgLjQyNC4yNzIuNzk1LjY1Mi45ODJBNiA2IDAgMCAxIDE4IDE0YzAgNC0zIDctNSA4Ii8+PHBhdGggZD0iTTE0IDVoMmEyIDIgMCAwIDEgMCA0aC0uNjgiLz48cGF0aCBkPSJNMTggMjJINiIvPjxwYXRoIGQ9Ik05IDJoNiIvPjwvc3ZnPg==");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-right: 0;
}

.callout[data-callout="item"] .callout-title-icon svg {
  display: none;
}

.callout[data-callout="consumable"] {
  border-left-color: #3b82f6;
  background-color: rgba(59, 130, 246, 0.1);
}

.callout[data-callout="consumable"] .callout-title-icon::before {
  content: '';
  display: inline-block;
  width: 1.25rem;
  height: 1.25rem;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLWFtcGhvcmEtaWNvbiBsdWNpZGUtYW1waG9yYSI+PHBhdGggZD0iTTEwIDJ2NS42MzJjMCAuNDI0LS4yNzIuNzk1LS42NTMuOTgyQTYgNiAwIDAgMCA2IDE0Yy4wMDYgNCAzIDcgNSA4Ii8+PHBhdGggZD0iTTEwIDVIOGEyIDIgMCAwIDAgMCA0aC42OCIvPjxwYXRoIGQ9Ik0xNCAydjUuNjMyYzAgLjQyNC4yNzIuNzk1LjY1Mi45ODJBNiA2IDAgMCAxIDE4IDE0YzAgNC0zIDctNSA4Ii8+PHBhdGggZD0iTTE0IDVoMmEyIDIgMCAwIDEgMCA0aC0uNjgiLz48cGF0aCBkPSJNMTggMjJINiIvPjxwYXRoIGQ9Ik05IDJoNiIvPjwvc3ZnPg==");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-right: 0;
}

.callout[data-callout="consumable"] .callout-title-icon svg {
  display: none;
}

.callout[data-callout="trap"] {
  border-left-color: #dc2626;
  background-color: rgba(220, 38, 38, 0.1);
}

.callout[data-callout="trap"] .callout-title-icon::before {
  content: '';
  display: inline-block;
  width: 1.25rem;
  height: 1.25rem;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLWFtcGhvcmEtaWNvbiBsdWNpZGUtYW1waG9yYSI+PHBhdGggZD0iTTEwIDJ2NS42MzJjMCAuNDI0LS4yNzIuNzk1LS42NTMuOTgyQTYgNiAwIDAgMCA2IDE0Yy4wMDYgNCAzIDcgNSA4Ii8+PHBhdGggZD0iTTEwIDVIOGEyIDIgMCAwIDAgMCA0aC42OCIvPjxwYXRoIGQ9Ik0xNCAydjUuNjMyYzAgLjQyNC4yNzIuNzk1LjY1Mi45ODJBNiA2IDAgMCAxIDE4IDE0YzAgNC0zIDctNSA4Ii8+PHBhdGggZD0iTTE0IDVoMmEyIDIgMCAwIDEgMCA0aC0uNjgiLz48cGF0aCBkPSJNMTggMjJINiIvPjxwYXRoIGQ9Ik05IDJoNiIvPjwvc3ZnPg==");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-right: 0;
}

.callout[data-callout="trap"] .callout-title-icon svg {
  display: none;
}

.callout[data-callout="resource"] {
  border-left-color: #3b82f6;
  background-color: rgba(59, 130, 246, 0.1);
}

.callout[data-callout="resource"] .callout-title-icon::before {
  content: '';
  display: inline-block;
  width: 1.25rem;
  height: 1.25rem;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLWFtcGhvcmEtaWNvbiBsdWNpZGUtYW1waG9yYSI+PHBhdGggZD0iTTEwIDJ2NS42MzJjMCAuNDI0LS4yNzIuNzk1LS42NTMuOTgyQTYgNiAwIDAgMCA2IDE0Yy4wMDYgNCAzIDcgNSA4Ii8+PHBhdGggZD0iTTEwIDVIOGEyIDIgMCAwIDAgMCA0aC42OCIvPjxwYXRoIGQ9Ik0xNCAydjUuNjMyYzAgLjQyNC4yNzIuNzk1LjY1Mi45ODJBNiA2IDAgMCAxIDE4IDE0YzAgNC0zIDctNSA4Ii8+PHBhdGggZD0iTTE0IDVoMmEyIDIgMCAwIDEgMCA0aC0uNjgiLz48cGF0aCBkPSJNMTggMjJINiIvPjxwYXRoIGQ9Ik05IDJoNiIvPjwvc3ZnPg==");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-right: 0;
}

.callout[data-callout="resource"] .callout-title-icon svg {
  display: none;
}

.callout[data-callout="weapon"] {
  border-left-color: #3b82f6;
  background-color: rgba(59, 130, 246, 0.1);
}

.callout[data-callout="weapon"] .callout-title-icon::before {
  content: '';
  display: inline-block;
  width: 1.25rem;
  height: 1.25rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m11 19-6-6'/%3E%3Cpath d='m5 21-2-2'/%3E%3Cpath d='m8 16-4 4'/%3E%3Cpath d='M9.5 17.5 21 6V3h-3L6.5 14.5'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-right: 0;
}

.callout[data-callout="weapon"] .callout-title-icon svg {
  display: none;
}

.callout[data-callout="spell"] {
  border-left-color: #8b5cf6;
  background-color: rgba(139, 92, 246, 0.1);
}

.callout[data-callout="spell"] .callout-title-icon::before {
  content: '';
  display: inline-block;
  width: 1.25rem;
  height: 1.25rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3-1.912 5.813a2 2 0 0 1-1.275 1.275L3 12l5.813 1.912a2 2 0 0 1 1.275 1.275L12 21l1.912-5.813a2 2 0 0 1 1.275-1.275L21 12l-5.813-1.912a2 2 0 0 1-1.275-1.275L12 3Z'/%3E%3Cpath d='M5 3v4'/%3E%3Cpath d='M19 17v4'/%3E%3Cpath d='M3 5h4'/%3E%3Cpath d='M17 19h4'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-right: 0;
}

.callout[data-callout="spell"] .callout-title-icon svg {
  display: none;
}

.callout[data-callout="quest"] {
  border-left-color: #f59e0b;
  background-color: rgba(245, 158, 11, 0.1);
}

.callout[data-callout="quest"] .callout-title-icon::before {
  content: '';
  display: inline-block;
  width: 1.25rem;
  height: 1.25rem;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLXB1enpsZS1pY29uIGx1Y2lkZS1wdXp6bGUiPjxwYXRoIGQ9Ik0xNS4zOSA0LjM5YTEgMSAwIDAgMCAxLjY4LS40NzQgMi41IDIuNSAwIDEgMSAzLjAxNCAzLjAxNSAxIDEgMCAwIDAtLjQ3NCAxLjY4bDEuNjgzIDEuNjgyYTIuNDE0IDIuNDE0IDAgMCAxIDAgMy40MTRMMTkuNjEgMTUuMzlhMSAxIDAgMCAxLTEuNjgtLjQ3NCAyLjUgMi41IDAgMSAwLTMuMDE0IDMuMDE1IDEgMSAwIDAgMSAuNDc0IDEuNjhsLTEuNjgzIDEuNjgyYTIuNDE0IDIuNDE0IDAgMCAxLTMuNDE0IDBMOC42MSAxOS42MWExIDEgMCAwIDAtMS42OC40NzQgMi41IDIuNSAwIDEgMS0zLjAxNC0zLjAxNSAxIDEgMCAwIDAgLjQ3NC0xLjY4bC0xLjY4My0xLjY4MmEyLjQxNCAyLjQxNCAwIDAgMSAwLTMuNDE0TDQuMzkgOC42MWExIDEgMCAwIDEgMS42OC40NzQgMi41IDIuNSAwIDEgMCAzLjAxNC0zLjAxNSAxIDEgMCAwIDEtLjQ3NC0xLjY4bDEuNjgzLTEuNjgyYTIuNDE0IDIuNDE0IDAgMCAxIDMuNDE0IDB6Ii8+PC9zdmc+");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-right: 0;
}

.callout[data-callout="quest"] .callout-title-icon svg {
  display: none;
}

.callout[data-callout="clue"] {
  border-left-color: #f59e0b;
  background-color: rgba(245, 158, 11, 0.1);
}

.callout[data-callout="clue"] .callout-title-icon::before {
  content: '';
  display: inline-block;
  width: 1.25rem;
  height: 1.25rem;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLXB1enpsZS1pY29uIGx1Y2lkZS1wdXp6bGUiPjxwYXRoIGQ9Ik0xNS4zOSA0LjM5YTEgMSAwIDAgMCAxLjY4LS40NzQgMi41IDIuNSAwIDEgMSAzLjAxNCAzLjAxNSAxIDEgMCAwIDAtLjQ3NCAxLjY4bDEuNjgzIDEuNjgyYTIuNDE0IDIuNDE0IDAgMCAxIDAgMy40MTRMMTkuNjEgMTUuMzlhMSAxIDAgMCAxLTEuNjgtLjQ3NCAyLjUgMi41IDAgMSAwLTMuMDE0IDMuMDE1IDEgMSAwIDAgMSAuNDc0IDEuNjhsLTEuNjgzIDEuNjgyYTIuNDE0IDIuNDE0IDAgMCAxLTMuNDE0IDBMOC42MSAxOS42MWExIDEgMCAwIDAtMS42OC40NzQgMi41IDIuNSAwIDEgMS0zLjAxNC0zLjAxNSAxIDEgMCAwIDAgLjQ3NC0xLjY4bC0xLjY4My0xLjY4MmEyLjQxNCAyLjQxNCAwIDAgMSAwLTMuNDE0TDQuMzkgOC42MWExIDEgMCAwIDEgMS42OC40NzQgMi41IDIuNSAwIDEgMCAzLjAxNC0zLjAxNSAxIDEgMCAwIDEtLjQ3NC0xLjY4bDEuNjgzLTEuNjgyYTIuNDE0IDIuNDE0IDAgMCAxIDMuNDE0IDB6Ii8+PC9zdmc+");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-right: 0;
}

.callout[data-callout="clue"] .callout-title-icon svg {
  display: none;
}

.callout[data-callout="arc"] {
  border-left-color: #f59e0b;
  background-color: rgba(245, 158, 11, 0.1);
}

.callout[data-callout="arc"] .callout-title-icon::before {
  content: '';
  display: inline-block;
  width: 1.25rem;
  height: 1.25rem;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLXB1enpsZS1pY29uIGx1Y2lkZS1wdXp6bGUiPjxwYXRoIGQ9Ik0xNS4zOSA0LjM5YTEgMSAwIDAgMCAxLjY4LS40NzQgMi41IDIuNSAwIDEgMSAzLjAxNCAzLjAxNSAxIDEgMCAwIDAtLjQ3NCAxLjY4bDEuNjgzIDEuNjgyYTIuNDE0IDIuNDE0IDAgMCAxIDAgMy40MTRMMTkuNjEgMTUuMzlhMSAxIDAgMCAxLTEuNjgtLjQ3NCAyLjUgMi41IDAgMSAwLTMuMDE0IDMuMDE1IDEgMSAwIDAgMSAuNDc0IDEuNjhsLTEuNjgzIDEuNjgyYTIuNDE0IDIuNDE0IDAgMCAxLTMuNDE0IDBMOC42MSAxOS42MWExIDEgMCAwIDAtMS42OC40NzQgMi41IDIuNSAwIDEgMS0zLjAxNC0zLjAxNSAxIDEgMCAwIDAgLjQ3NC0xLjY4bC0xLjY4My0xLjY4MmEyLjQxNCAyLjQxNCAwIDAgMSAwLTMuNDE0TDQuMzkgOC42MWExIDEgMCAwIDEgMS42OC40NzQgMi41IDIuNSAwIDEgMCAzLjAxNC0zLjAxNSAxIDEgMCAwIDEtLjQ3NC0xLjY4bDEuNjgzLTEuNjgyYTIuNDE0IDIuNDE0IDAgMCAxIDMuNDE0IDB6Ii8+PC9zdmc+");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-right: 0;
}

.callout[data-callout="arc"] .callout-title-icon svg {
  display: none;
}

/* Search results dropdown styling */
#searchResults {
  background-color: var(--bg-color);
  border: 1px solid var(--border-color);
  border-radius: 0.375rem;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  margin-top: 0.25rem;
  padding: 0.5rem 0;
  max-height: 400px;
  overflow-y: auto;
}

.search-result-item {
  display: block;
  padding: 0.75rem 1rem;
  color: var(--text-color);
  text-decoration: none;
  border-bottom: 1px solid var(--border-color);
  transition: background-color 0.15s ease-in-out;
}

.search-result-item:last-child {
  border-bottom: none;
}

.search-result-item:hover,
.search-result-item.active {
  background-color: var(--bg-dot-color);
  color: var(--text-color);
  text-decoration: none;
}

.search-result-title {
  font-weight: 600;
  margin-bottom: 0.25rem;
  color: var(--text-color);
}

.search-result-title mark {
  background-color: rgba(13, 110, 253, 0.3);
  color: var(--text-color);
  padding: 0;
  border-radius: 0.25rem;
  font-weight: 700;
}

.search-result-url {
  font-size: 0.875rem;
  margin-bottom: 0.25rem;
  color: var(--text-color);
  opacity: 0.7;
}

.search-result-snippet {
  font-size: 0.875rem;
  color: var(--text-color);
  opacity: 0.8;
  line-height: 1.4;
  margin-top: 0.25rem;
}

.search-result-snippet mark {
  background-color: rgba(13, 110, 253, 0.3);
  color: var(--text-color);
  padding: 0;
  border-radius: 0.25rem;
  font-weight: 600;
}

/* Scrollbar styling for search results */
#searchResults::-webkit-scrollbar {
  width: 8px;
}

#searchResults::-webkit-scrollbar-track {
  background: var(--bg-dot-color);
  border-radius: 4px;
}

#searchResults::-webkit-scrollbar-thumb {
  background: var(--border-color);
  border-radius: 4px;
}

#searchResults::-webkit-scrollbar-thumb:hover {
  background: var(--text-color);
  opacity: 0.5;
}

/* Navigation accordion and list-group styling */
#navAccordion {
  --bs-accordion-bg: transparent;
  --bs-accordion-border-color: var(--border-color);
  --bs-accordion-btn-bg: transparent;
  --bs-accordion-active-bg: var(--bg-dot-color);
  --bs-accordion-active-color: var(--text-color);
}

#navAccordion .accordion-item {
  background-color: transparent;
  border: none;
  border-bottom: 1px solid var(--border-color);
}

#navAccordion .accordion-item:last-child {
  border-bottom: none;
}

#navAccordion .accordion-button {
  background-color: transparent;
  color: var(--text-color);
  padding: 0.75rem 1rem;
  font-weight: 500;
  box-shadow: none;
  border: none;
  display: flex;
  align-items: center;
}

#navAccordion .accordion-button:not(.collapsed) {
  background-color: var(--bg-dot-color);
  color: var(--text-color);
}

#navAccordion .accordion-button:focus {
  box-shadow: none;
  border-color: transparent;
}

#navAccordion .accordion-button::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
  filter: invert(1);
  flex-shrink: 0;
  margin-left: auto;
}

[data-bs-theme="dark"] #navAccordion .accordion-button::after {
  filter: none;
}

#navAccordion .accordion-body {
  padding: 0;
  background-color: transparent;
}

#navAccordion .list-group {
  --bs-list-group-bg: transparent;
  --bs-list-group-border-color: transparent;
}

#navAccordion .list-group-item {
  background-color: transparent;
  border: none;
  border-left: 2px solid transparent;
  padding: 0.5rem 1rem 0.5rem 1.5rem;
  color: var(--text-color);
  transition: all 0.15s ease-in-out;
}

#navAccordion .list-group-item:hover {
  background-color: var(--bg-dot-color);
  border-left-color: var(--border-color);
  color: var(--text-color);
}

#navAccordion .list-group-item.active {
  background-color: var(--bg-dot-color);
  border-left-color: rgba(13, 110, 253, 0.8);
  color: var(--text-color);
  font-weight: 600;
}

#navAccordion .list-group-item-action {
  cursor: pointer;
}

/* Standalone list-group (for items without children) */
.sidebar .list-group {
  --bs-list-group-bg: transparent;
  --bs-list-group-border-color: transparent;
}

.sidebar .list-group-item {
  background-color: transparent;
  border: none;
  border-left: 2px solid transparent;
  padding: 0.75rem 1rem;
  color: var(--text-color);
  transition: all 0.15s ease-in-out;
}

.sidebar .list-group-item:hover {
  background-color: var(--bg-dot-color);
  border-left-color: var(--border-color);
  color: var(--text-color);
}

.sidebar .list-group-item.active {
  background-color: var(--bg-dot-color);
  border-left-color: rgba(13, 110, 253, 0.8);
  color: var(--text-color);
  font-weight: 600;
}

main img {
  max-width: 100%;
}

/* ============================================
   Colored Bold and Italic Text
   ============================================ */

/* Bold text - Red color */
strong,
b,
main strong,
main b {
  color: #dc2626;
  font-weight: 700;
}

[data-bs-theme="dark"] strong,
[data-bs-theme="dark"] b,
[data-bs-theme="dark"] main strong,
[data-bs-theme="dark"] main b {
  color: #ef4444;
}

/* Italic text - Golden yellow color */
em,
i,
main em,
main i {
  color: #d97706;
  font-style: italic;
}

[data-bs-theme="dark"] em,
[data-bs-theme="dark"] i,
[data-bs-theme="dark"] main em,
[data-bs-theme="dark"] main i {
  color: #f59e0b;
}

/* Nested bold and italic */
strong em,
em strong,
b i,
i b,
main strong em,
main em strong {
  color: #dc2626;
  font-style: italic;
}

[data-bs-theme="dark"] strong em,
[data-bs-theme="dark"] em strong,
[data-bs-theme="dark"] b i,
[data-bs-theme="dark"] i b,
[data-bs-theme="dark"] main strong em,
[data-bs-theme="dark"] main em strong {
  color: #ef4444;
  font-style: italic;
}

/* Preserve default colors in code blocks */
code strong,
code b,
code em,
code i,
pre strong,
pre b,
pre em,
pre i {
  color: inherit;
}

/* Custom Navigation Styling */
#navAccordion .accordion-button {
  border-radius: 0 !important; /* Force remove radius to prevent mismatch */
}

/* Indent and style nested navigation groups */
#navAccordion .list-group .list-group {
  padding-left: 1rem;
  border-left: 1px solid var(--border-color);
  margin-left: 0.5rem;
  margin-top: 0.25rem;
  margin-bottom: 0.5rem;
}

#navAccordion .list-group .list-group-item {

  padding-left: 1rem; /* Adjust padding for items inside the nested group */

}
/* Style for the sub-group headers like Core, Foundational */
#navAccordion .list-group-item.nav-group-header {
  font-weight: 400; /* Normal weight, not bold */
  font-size: 0.85rem;
  font-style: italic;
  color: var(--text-color);
  opacity: 0.7; /* De-emphasize the text */
  background-color: transparent;
  padding-top: 1rem;
  padding-bottom: 0.25rem;
  padding-left: 1.5rem; /* Match the base item padding */
  border-left-color: transparent !important;
  pointer-events: none; /* Make it non-clickable */
}
#navAccordion .list-group-item.nav-group-header:hover,
#navAccordion .list-group-item.nav-group-header.active {
  background-color: transparent;
}

/* Always-open accordion sections (Core mechanics) */
#navAccordion .accordion-button.always-open::after {
  display: none; /* Hide the chevron toggle indicator */
}
#navAccordion .accordion-button.always-open {
  pointer-events: none; /* Make header non-interactive */
  cursor: default;
}
