/* Custom Fonts for Git Work Trees Guide */

/* Import Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Fira+Code:wght@300;400;500;600;700&display=swap');

/* Import Satoshi Font */
@import url('https://fonts.cdnfonts.com/css/satoshi');

/* Import Tanker Font from Fontshare */
@import url('https://api.fontshare.com/v2/css?f[]=tanker@400,700&display=swap');

/* Base styles */
body {
  font-family: 'Satoshi', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  background-color: #0f1419;
  color: #b8c5d1;
}

/* Headings */
h1 {
  font-family: 'Tanker', 'Satoshi', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  font-weight: 700;
  font-size: 2.5em;
  color: #cbd5e1;
}

h2, h3, h4, h5, h6 {
  color: #d1e0ed;
}

/* Text elements */
p, li, td, th {
  color: #b8c5d1;
}

/* Links */
a {
  color: #6bbf8a;
  text-decoration: none;
  transition: color 0.2s ease;
}

a:hover {
  color: #86d9a8;
  text-decoration: underline;
}

a:visited {
  color: #5aad7a;
}

a:active {
  color: #ff6b6b;
}

/* Code styling */
pre, code {
  font-family: 'Fira Code Mono', 'FiraCode', 'Monaco', 'Consolas', 'Liberation Mono', 'Courier New', monospace;
}

p code:not(.sourceCode), li code:not(.sourceCode), td code:not(.sourceCode) {
  background-color: #21262d;
  color: #e2e8f0;
  padding: .2em;
  border-radius: 3px;
}

/* Syntax highlighting */
.quarto-article pre {
  background-color: #0d1117 !important;
  color: #e2e8f0 !important;
  border: 1px solid #30363d;
}

.quarto-article pre code {
  background-color: transparent !important;
  color: inherit !important;
}

/* Enhanced Code Syntax Highlighting - New Theme - Force Override */
code span.co,
.quarto-article code span.co,
pre code span.co {
  color: #198754 !important; /* Comments - keeping as requested */
}

code span.pp,
.quarto-article code span.pp,
pre code span.pp {
  color: #d2a8ff !important; /* Preprocessor directives - purple */
}

code span.cf,
.quarto-article code span.cf,
pre code span.cf {
  color: #ff7b72 !important; /* Control flow - coral red */
}

code span.dv,
.quarto-article code span.dv,
pre code span.dv {
  color: #79c0ff !important; /* Decimal values - blue */
}

code span.st,
.quarto-article code span.st,
pre code span.st {
  color: #a5d6ff !important; /* Strings - light blue */
}

code span.bu,
.quarto-article code span.bu,
pre code span.bu {
  color: #ffa657 !important; /* Built-in functions - orange */
}

code span.dt,
.quarto-article code span.dt,
pre code span.dt {
  color: #ff7b72 !important; /* Data types - coral red */
}

code span.op,
.quarto-article code span.op,
pre code span.op {
  color: #f0f6fc !important; /* Operators - white */
}

code span.kw,
.quarto-article code span.kw,
pre code span.kw {
  color: #ff7b72 !important; /* Keywords - coral red */
}

code span.fu,
.quarto-article code span.fu,
pre code span.fu {
  color: #d2a8ff !important; /* Functions - purple */
}

code span.va,
.quarto-article code span.va,
pre code span.va {
  color: #79c0ff !important; /* Variables - blue */
}

code span.cn,
.quarto-article code span.cn,
pre code span.cn {
  color: #a5d6ff !important; /* Constants - light blue */
}

code span.sc,
.quarto-article code span.sc,
pre code span.sc {
  color: #a5d6ff !important; /* String content - light blue */
}

code span.ss,
.quarto-article code span.ss,
pre code span.ss {
  color: #a5d6ff !important; /* String symbols - light blue */
}

code span.im,
.quarto-article code span.im,
pre code span.im {
  color: #ff7b72 !important; /* Import - coral red */
}

code span.ch,
.quarto-article code span.ch,
pre code span.ch {
  color: #a5d6ff !important; /* Character - light blue */
}

code span.fl,
.quarto-article code span.fl,
pre code span.fl {
  color: #79c0ff !important; /* Float - blue */
}

code span.in,
.quarto-article code span.in,
pre code span.in {
  color: #79c0ff !important; /* Integer - blue */
}

code span.ot,
.quarto-article code span.ot,
pre code span.ot {
  color: #f0f6fc !important; /* Other - white */
}

code span.al,
.quarto-article code span.al,
pre code span.al {
  color: #ff7b72 !important; /* Alert - coral red */
}

code span.er,
.quarto-article code span.er,
pre code span.er {
  color: #ff7b72 !important; /* Error - coral red */
}

code span.wa,
.quarto-article code span.wa,
pre code span.wa {
  color: #ff7b72 !important; /* Warning - coral red */
}

/* Code tools button */
.code-tools-button {
  font-size: 1rem;
  padding: .15rem .15rem;
  margin-left: 5px;
  color: #b8c5d1;
  background-color: transparent;
  transition: all 0.2s ease;
  cursor: pointer;
}

.code-tools-button:hover {
  color: #74c0fc;
}

/* Bootstrap Icons */
.bi {
  color: #b8c5d1;
  transition: all 0.2s ease;
}

.bi:hover {
  color: #74c0fc;
}

/* Sidebar styling */
#quarto-sidebar {
  background-color: #0f1419;
  border-right: 1px solid #2d3748;
}

#quarto-sidebar .sidebar-header {
  background: linear-gradient(135deg, #0f1419 0%, #1e293b 100%);
  border-bottom: 2px solid #2d3748;
  padding: 20px 16px;
  margin-bottom: 16px;
  border-radius: 0 0 12px 0;
}

#quarto-sidebar .sidebar-title a {
  color: #cbd5e1;
  font-family: 'Tanker', 'Satoshi', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.3s ease;
  font-size: 1.4em;
  letter-spacing: 0.5px;
  display: block;
  padding: 8px 0;
  position: relative;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

#quarto-sidebar .sidebar-title a:hover {
  color: #74c0fc;
  transform: translateX(4px);
  text-shadow: 0 4px 8px rgba(116, 192, 252, 0.2);
}

#quarto-sidebar .sidebar-title a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 2px;
  background: linear-gradient(90deg, #74c0fc, #a78bfa);
  transition: width 0.3s ease;
  border-radius: 1px;
}

#quarto-sidebar .sidebar-title a:hover::after {
  width: 100%;
}

#quarto-sidebar .sidebar-search {
  background-color: #1e293b;
  border: 1px solid #2d3748;
  border-radius: 6px;
  margin: 10px;
}

#quarto-sidebar .sidebar-search input {
  background-color: #1e293b;
  color: #b8c5d1;
  border: none;
  outline: none;
}

#quarto-sidebar .sidebar-search input::placeholder {
  color: #8b9bb4;
}

#quarto-sidebar .sidebar-item-container {
  background-color: transparent;
  border-radius: 6px;
  transition: background-color 0.2s ease;
}

#quarto-sidebar .sidebar-item-container:hover {
  background-color: #1e293b;
}

#quarto-sidebar .sidebar-link {
  color: #b8c5d1;
  text-decoration: none;
  padding: 8px 12px;
  display: block;
  transition: color 0.2s ease;
}

#quarto-sidebar .sidebar-link:hover {
  color: #74c0fc;
}

#quarto-sidebar .sidebar-link.active {
  color: #74c0fc;
  background-color: #1e293b;
  border-left: 3px solid #74c0fc;
}

#quarto-sidebar .menu-text,
#quarto-sidebar .chapter-title {
  color: inherit;
  font-family: 'Satoshi', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}

/* Search functionality */
#quarto-sidebar .aa-Form {
  background-color: #1e293b;
  border-radius: 6px;
  overflow: hidden;
}

#quarto-sidebar .aa-Input {
  background-color: #1e293b;
  color: #b8c5d1;
  border: none;
  outline: none;
  padding: 8px 12px;
  font-family: 'Satoshi', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  font-size: 14px;
  width: 100%;
}

#quarto-sidebar .aa-Input::placeholder {
  color: #8b9bb4;
}

#quarto-sidebar .aa-Dropdown {
  background-color: #1e293b;
  border: 1px solid #2d3748;
  border-radius: 6px;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.3);
  margin-top: 4px;
}

#quarto-sidebar .aa-Item {
  background-color: #1e293b;
  color: #b8c5d1;
  padding: 8px 12px;
  border: none;
  transition: background-color 0.2s ease;
  border-bottom: 1px solid #2d3748;
}

#quarto-sidebar .aa-Item:hover {
  background-color: #2d3748;
  color: #74c0fc;
}

#quarto-sidebar .aa-Item[aria-selected="true"] {
  background-color: #2d3748;
  color: #74c0fc;
  border-left: 3px solid #74c0fc;
}

/* Search results */
#quarto-sidebar .search-result-title {
  color: #cbd5e1;
  font-weight: 600;
  font-size: 14px;
  margin: 0;
  font-family: 'Satoshi', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}

#quarto-sidebar .search-result-section {
  color: #74c0fc;
  font-weight: 500;
  font-size: 12px;
  margin: 0 0 4px 0;
  font-family: 'Satoshi', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

#quarto-sidebar .search-result-text {
  color: #b8c5d1;
  font-size: 13px;
  line-height: 1.4;
  margin: 0;
  font-family: 'Satoshi', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}

#quarto-sidebar .search-result-icon {
  color: #74c0fc;
  font-size: 16px;
  flex-shrink: 0;
}

/* Table of Contents */
#quarto-toc {
  background-color: #0f1419;
  border-left: 1px solid #2d3748;
}

#quarto-toc .toc-header {
  background-color: #0f1419;
  border-bottom: 1px solid #2d3748;
  padding: 16px 20px;
}

#quarto-toc .toc-title {
  color: #cbd5e1;
  font-family: 'Tanker', 'Satoshi', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  font-weight: 700;
  font-size: 1.2em;
  margin: 0;
}

#quarto-toc .toc-menu a {
  color: #b8c5d1;
  text-decoration: none;
  padding: 8px 20px;
  display: block;
  transition: all 0.2s ease;
  border-left: 3px solid transparent;
}

#quarto-toc .toc-menu a:hover {
  color: #74c0fc;
  background-color: #1e293b;
  border-left-color: #74c0fc;
}

#quarto-toc .toc-menu a.active {
  color: #74c0fc;
  background-color: #1e293b;
  border-left-color: #74c0fc;
  font-weight: 600;
}

#quarto-toc .toc-menu .toc-h1 {
  font-weight: 600;
  font-size: 1em;
  color: #cbd5e1;
}

#quarto-toc .toc-menu .toc-h2 {
  font-weight: 500;
  font-size: 0.95em;
  color: #b8c5d1;
  padding-left: 32px;
}

#quarto-toc .toc-menu .toc-h3 {
  font-weight: 400;
  font-size: 0.9em;
  color: #8b9bb4;
  padding-left: 48px;
}

/* Scrollbar styling */
::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background-color: #1e293b;
  border-radius: 4px;
}

::-webkit-scrollbar-thumb {
  background-color: #4a5568;
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background-color: #74c0fc;
}

/* Sidebar Sticky Header - Fixed with !important to override Bootstrap */
#quarto-sidebar .sidebar-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
  background-color: #0f1419 !important;
  padding: 1rem 0 !important;
  border-bottom: 1px solid #2d3748 !important;
}

/* Ensure the sidebar itself doesn't interfere with positioning */
#quarto-sidebar.sidebar {
  position: relative !important;
  z-index: 1 !important;
  top: 0 !important;
}

/* Override any inline styles or JavaScript positioning */
#quarto-sidebar.sidebar[style*="top"] {
  top: 0 !important;
}

.sidebar nav[role=doc-toc] ul>li>a.active, .sidebar nav[role=doc-toc] ul>li>ul>li>a.active {
    border-left: 1px solid #6bbf8a;
    color: #6bbf8a !important;
}

/* Additional specificity for the sidebar title */
#quarto-sidebar .sidebar-header .sidebar-title {
  margin: 0 !important;
  padding: 0 !important;
}

/* Minimal Navbar Styling */
.navbar {
  background-color: #0f1419;
  border-bottom: 1px solid #2d3748;
  padding: 0.5rem 0;
}

.navbar-container {
  display: flex;
  justify-content: flex-start !important;
  -webkit-justify-content: flex-start !important;
  align-items: center;
  max-width: 1200px;
  width: 100%;
  gap: 0.5rem;
  padding: 0 1rem;
}

/* Override Bootstrap's container justify-content */
.navbar > .container,
.navbar > .container-fluid,
.navbar > .container-sm,
.navbar > .container-md,
.navbar > .container-lg,
.navbar > .container-xl,
.navbar > .container-xxl {
  justify-content: flex-start !important;
  -webkit-justify-content: flex-start !important;
}

.navbar-brand-container {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex: 0 0 auto;
  margin-right: 0.5rem;
}

/* Keep the collapse right next to the brand */
.navbar-collapse {
  display: flex !important;
  flex: 0 0 auto !important;
  align-items: center;
  margin-left: 0;
}

/* Remove Bootstrap's auto margin pushing */
.navbar-nav.me-auto {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.navbar-nav {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* Move search button to the right */
.quarto-navbar-tools {
  margin-left: auto !important;
  display: flex;
  align-items: center;
}

.navbar-brand {
  font-family: 'Tanker', 'Satoshi', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  font-weight: 700;
  font-size: 1.5rem;
  color: #cbd5e1;
  text-decoration: none;
  padding: 0.5rem 0;
  text-align: left;
}

.navbar-brand:hover {
  color: #cbd5e1;
  text-decoration: none;
}

.navbar-title {
  color: #cbd5e1;
  font-size: 2rem;
}

.nav-link {
  font-weight: 400;
  text-decoration: none;
  padding: 0.5rem 0.75rem;
  transition: none;
  color: inherit !important;
}

.nav-link:hover {
  text-decoration: none;
  color: inherit !important;
}

.nav-link.active {
  text-decoration: none;
  color: inherit !important;
}

/* Override Bootstrap's default link colors more aggressively */
.navbar-nav .nav-link,
.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus,
.navbar-nav .nav-link.active,
.navbar-nav .nav-link.show {
  color: inherit !important;
}

/* Target the specific menu-text spans inside nav links */
.nav-link .menu-text {
  color: inherit !important;
}

/* Additional aggressive overrides for Bootstrap's link colors */
.navbar-nav .nav-item .nav-link,
.navbar-nav .nav-item .nav-link:hover,
.navbar-nav .nav-item .nav-link:focus,
.navbar-nav .nav-item .nav-link.active {
  color: inherit !important;
}

/* Override any Bootstrap text color utilities */
.text-success,
.text-primary,
.text-info,
.text-warning,
.text-danger {
  color: inherit !important;
}

.navbar-toggler {
  border: none;
  padding: 0.25rem 0.5rem;
  background: transparent;
}

.navbar-toggler:focus {
  box-shadow: none;
}

.navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(203, 213, 225, 1)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* Search button styling */
.aa-DetachedSearchButton {
  background: transparent;
  border: none;
  padding: 0.5rem;
  color: #b8c5d1;
}

.aa-DetachedSearchButton:hover {
  background: transparent;
  color: #b8c5d1;
}

.aa-DetachedSearchButtonIcon {
  color: #b8c5d1;
}

.aa-DetachedSearchButtonPlaceholder {
  color: #8b9bb4;
  font-family: 'Satoshi', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  font-size: 0.9rem;
}

/* Secondary Navigation Styling */
.quarto-secondary-nav {
  background-color: #0f1419 !important;
  border-bottom: 1px solid #2d3748 !important;
  padding: 0.5rem 0 !important;
}

.quarto-secondary-nav .container-fluid {
  background-color: transparent !important;
}

/* Sidebar toggle button styling */
.quarto-secondary-nav .quarto-btn-toggle {
  background-color: transparent !important;
  border: 1px solid #2d3748 !important;
  color: #b8c5d1 !important;
  padding: 0.5rem !important;
  border-radius: 4px !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.quarto-secondary-nav .quarto-btn-toggle:hover {
  background-color: #2d3748 !important;
  border-color: #6bbf8a !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3) !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.quarto-secondary-nav .quarto-btn-toggle:focus {
  box-shadow: none !important;
  outline: none !important;
}

/* Breadcrumb styling */
.quarto-secondary-nav .breadcrumb {
  background-color: transparent !important;
  margin: 0 !important;
  padding: 0 !important;
}

.quarto-secondary-nav .breadcrumb-item {
  color: #b8c5d1 !important;
}

.quarto-secondary-nav .breadcrumb-item a {
  color: #6bbf8a !important;
  text-decoration: none !important;
}

.quarto-secondary-nav .breadcrumb-item a:hover {
  color: #86d9a8 !important;
  text-decoration: underline !important;
}

.quarto-secondary-nav .breadcrumb-item.active {
  color: #b8c5d1 !important;
}

/* Breadcrumb separator */
.quarto-secondary-nav .breadcrumb-item + .breadcrumb-item::before {
  color: #4a5568 !important;
}

/* Override Bootstrap's mobile breadcrumb margin */
@media (max-width: 991.98px) {
  .quarto-secondary-nav nav.quarto-page-breadcrumbs {
    display: flex;
    align-items: center;
    padding-right: 1em;
    margin-left: 0.5em;
  }

  .quarto-secondary-nav button.quarto-btn-toggle {
    margin-left: 0.5rem;
    margin-right: 0.15rem;
  }

  /* Mobile navbar fixes */
  .navbar-container {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0.5rem !important;
  }

  .navbar-brand-container {
    justify-content: center !important;
    margin-right: 0 !important;
  }

  .navbar-brand {
    text-align: center !important;
  }

  /* Ensure navbar collapse works on mobile */
  .navbar-collapse {
    display: none !important;
  }

  .navbar-collapse.show {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 0.5rem !important;
    padding: 0.5rem 0 !important;
    border-top: 1px solid #2d3748 !important;
    margin-top: 0.5rem !important;
  }

  .navbar-nav {
    flex-direction: column !important;
    align-items: center !important;
    gap: 0.5rem !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .navbar-nav .nav-item {
    width: 100% !important;
    text-align: center !important;
  }

  .navbar-nav .nav-link {
    padding: 0.75rem 1rem !important;
    width: 100% !important;
    text-align: center !important;
  }

  /* Position search and toggle button */
  #quarto-search {
    position: absolute !important;
    right: 4rem !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
  }

  .navbar-toggler {
    position: absolute !important;
    right: 1rem !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
  }

  /* Hide search button on mobile if needed */
  .quarto-navbar-tools {
    display: none !important;
  }
}

/* Sidebar Glass Overlay Styling */
#quarto-sidebar-glass {
  background: linear-gradient(135deg, rgba(15, 20, 25, 0.95) 0%, rgba(30, 41, 59, 0.9) 100%) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  border-right: 1px solid rgba(45, 55, 72, 0.6) !important;
  box-shadow: 4px 0 20px rgba(0, 0, 0, 0.4) !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  z-index: -1 !important;
  pointer-events: none !important;
  position: absolute !important;
}

/* Enhanced hover effects for the glass overlay */
#quarto-sidebar-glass:hover {
  background: linear-gradient(135deg, rgba(15, 20, 25, 0.98) 0%, rgba(30, 41, 59, 0.95) 100%) !important;
  box-shadow: 6px 0 25px rgba(0, 0, 0, 0.5) !important;
  border-right-color: rgba(107, 191, 138, 0.4) !important;
}

/* Ensure sidebar content is above the glass overlay */
#quarto-sidebar .sidebar-menu-container,
#quarto-sidebar .sidebar-header,
#quarto-sidebar .sidebar-item,
#quarto-sidebar .sidebar-item-container,
#quarto-sidebar .sidebar-link {
  position: relative !important;
  z-index: 100 !important;
  pointer-events: auto !important;
}

/* Force sidebar content to be visible */
#quarto-sidebar .sidebar-item-text,
#quarto-sidebar .menu-text {
  position: relative !important;
  z-index: 101 !important;
  color: inherit !important;
}

/* Animation for when the sidebar expands/collapses */
#quarto-sidebar-glass.collapse {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

#quarto-sidebar-glass.collapsing {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* Hide sidebar glass overlay on mobile devices */
@media (max-width: 991.98px) {
  #quarto-sidebar-glass {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
  }
}

/* Source code container - dark theme override */
div.sourceCode {
  overflow-y: hidden;
  background-color: #0d1117 !important;
  border: 1px solid #30363d !important;
  border-radius: .25rem;
}

/* Ensure nested pre uses container's background */
div.sourceCode > pre {
  background-color: transparent !important;
  border: none !important;
}

/* Enhanced Code Syntax Highlighting - One Dark Inspired Override (last wins) */
code span.co,
.quarto-article code span.co,
pre code span.co {
  color: #198754 !important; /* comments - keep as requested */
}

code span.kw,
.quarto-article code span.kw,
pre code span.kw,
code span.cf,
.quarto-article code span.cf,
pre code span.cf,
code span.pp,
.quarto-article code span.pp,
pre code span.pp,
code span.im,
.quarto-article code span.im,
pre code span.im {
  color: #c678dd !important; /* keywords, control, preproc, imports - purple */
}

code span.dt,
.quarto-article code span.dt,
pre code span.dt,
code span.cn,
.quarto-article code span.cn,
pre code span.cn {
  color: #e5c07b !important; /* types, constants - gold */
}

code span.fu,
.quarto-article code span.fu,
pre code span.fu {
  color: #56b6c2 !important; /* functions - cyan */
}

code span.bu,
.quarto-article code span.bu,
pre code span.bu {
  color: #61afef !important; /* built-ins - blue */
}

code span.va,
.quarto-article code span.va,
pre code span.va {
  color: #e6edf3 !important; /* variables - near white */
}

code span.st,
.quarto-article code span.st,
pre code span.st,
code span.sc,
.quarto-article code span.sc,
pre code span.sc,
code span.ss,
.quarto-article code span.ss,
pre code span.ss,
code span.ch,
.quarto-article code span.ch,
pre code span.ch {
  color: #98c379 !important; /* strings - green */
}

code span.dv,
.quarto-article code span.dv,
pre code span.dv,
code span.fl,
.quarto-article code span.fl,
pre code span.fl,
code span.in,
.quarto-article code span.in,
pre code span.in {
  color: #d19a66 !important; /* numbers - orange */
}

code span.op,
.quarto-article code span.op,
pre code span.op,
code span.ot,
.quarto-article code span.ot,
pre code span.ot {
  color: #c9d1d9 !important; /* operators/other - light gray */
}

code span.al,
.quarto-article code span.al,
pre code span.al,
code span.er,
.quarto-article code span.er,
pre code span.er {
  color: #e06c75 !important; /* alerts/errors - red */
}

code span.wa,
.quarto-article code span.wa,
pre code span.wa {
  color: #e5c07b !important; /* warnings - gold */
}

/* Additional specific overrides */
pre > code.sourceCode > span {
  color: #9cdcfe !important;
}

code span.bu,
.quarto-article code span.bu,
pre code span.bu {
  color: #ffa657 !important;
}

/* Specific styling for Git Work Trees menu item */
#quarto-sidebar .menu-text:contains("Git Work Trees"),
#quarto-sidebar .sidebar-link:has(.menu-text:contains("Git Work Trees")) .menu-text {
  color: #87ceeb !important; /* Light blue color */
}

/* Alternative approach using attribute selector for better compatibility */
#quarto-sidebar .sidebar-link[href*="git-worktree"] .menu-text {
  color: #87ceeb !important; /* Light blue color */
}

/* Most compatible approach - target by href attribute */
#quarto-sidebar .sidebar-link[href*="git-worktree"] .menu-text,
#quarto-sidebar a[href*="git-worktree"] .menu-text {
  color: #87ceeb !important; /* Light blue color */
}

/* Additional targeting for the specific menu item */
#quarto-sidebar .sidebar-item-container a[href*="git-worktree"] .menu-text {
  color: #87ceeb !important; /* Light blue color */
}

/* Force override Bootstrap's hover color with maximum specificity */
#quarto-sidebar .sidebar-item-container a[href*="git-worktree"]:hover .menu-text {
  color: #6bbf8a !important; /* Green color */
  text-decoration: underline !important;
}

/* Most specific selector to override Bootstrap's blue hover color */
#quarto-sidebar .sidebar-item-container a[href*="git-worktree"]:hover .menu-text,
#quarto-sidebar .sidebar-item a[href*="git-worktree"]:hover .menu-text,
#quarto-sidebar .sidebar-item-container a[href*="git-worktree"]:hover,
#quarto-sidebar .sidebar-item a[href*="git-worktree"]:hover,
#quarto-sidebar .sidebar-item-container a[href*="git-worktree"]:hover .menu-text,
#quarto-sidebar .sidebar-item a[href*="git-worktree"]:hover .menu-text {
  color: #6bbf8a !important; /* Green color - override Bootstrap blue */
  text-decoration: underline !important;
}

/* Override Bootstrap's specific blue hover rule */
.sidebar nav[role=doc-toc] ul>li>a[href*="git-worktree"]:hover,
.sidebar nav[role=doc-toc] ul>li>a[href*="git-worktree"]:hover .menu-text {
  color: #6bbf8a !important; /* Green color - override Bootstrap blue */
  text-decoration: underline !important;
}

/* Code tools button styling - eye-friendly theme */
.code-tools-button {
  font-size: 1rem;
  padding: .15rem .15rem;
  margin-left: 5px;
  color: #b8c5d1;
  background-color: transparent;
  transition: all 0.2s ease;
  cursor: pointer;
}

.code-tools-button:hover {
  color: #74c0fc;
}

/* Bootstrap Icons styling - eye-friendly theme */
.bi {
  color: #b8c5d1;
  transition: all 0.2s ease;
}

.bi:hover {
  color: #74c0fc;
}

/* Code tools button icon styling - make SVG visible */
.code-tools-button>.bi::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23b8c5d1' viewBox='0 0 16 16'%3E%3Cpath d='M10.478 1.647a.5.5 0 1 0-.956-.294l-4 13a.5.5 0 0 0 .956.294l4-13zM4.854 4.146a.5.5 0 0 1 0 .708L1.707 8l3.147 3.146a.5.5 0 0 1-.708.708l-3.5-3.5a.5.5 0 0 1 0-.708l3.5-3.5a.5.5 0 0 1 .708 0zm6.292 0a.5.5 0 0 0 0 .708L14.293 8l-3.147 3.146a.5.5 0 0 0 .708.708l3.5-3.5a.5.5 0 0 0 0-.708l-3.5-3.5a.5.5 0 0 0-.708 0z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat;
  background-size: 1rem 1rem;
  display: inline-block;
  height: 1rem;
  width: 1rem;
  content: "";
  vertical-align: -0.125em;
  transition: all 0.2s ease;
}

.code-tools-button:hover>.bi::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%2374c0fc' viewBox='0 0 16 16'%3E%3Cpath d='M10.478 1.647a.5.5 0 1 0-.956-.294l-4 13a.5.5 0 0 0 .956.294l4-13zM4.854 4.146a.5.5 0 0 1 0 .708L1.707 8l3.147 3.146a.5.5 0 0 1-.708.708l-3.5-3.5a.5.5 0 0 1 0-.708l3.5-3.5a.5.5 0 0 1 .708 0zm6.292 0a.5.5 0 0 0 0 .708L14.293 8l-3.147 3.146a.5.5 0 0 0 .708.708l3.5-3.5a.5.5 0 0 0 0-.708l-3.5-3.5a.5.5 0 0 0-.708 0z'/%3E%3C/svg%3E") !important;
}
