/* Dark Mode Styles - Add this after custom-styles.css */

/* Dark mode toggle button */
.dark-mode-toggle {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: #333;
  color: white;
  border: none;
  cursor: pointer;
  font-size: 1.5rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  transition: all 0.3s ease;
  z-index: 1000;
}

.dark-mode-toggle:hover {
  transform: scale(1.1);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.4);
}

/* Dark mode active state */
body.dark-mode .dark-mode-toggle {
  background: #ffd700;
  color: #333;
}

/* Base dark mode styles */
body.dark-mode {
  background-color: #1a1a1a;
  color: #e0e0e0;
}

body.dark-mode a {
  color: #64b5f6;
}

body.dark-mode a:hover {
  color: #90caf9;
}

/* ============================================
   CODE BLOCKS - DARK MODE (IMPROVED VISIBILITY)
   ============================================ */

/* Inline code */
body.dark-mode code {
  background: #2d2d2d !important;
  color: #f8f8f2 !important;
  border: 1px solid #444;
  padding: 2px 6px;
  border-radius: 3px;
}

/* Code blocks */
body.dark-mode pre {
  background: #282c34 !important;
  border: 1px solid #444;
  border-radius: 6px;
  padding: 1rem;
}

body.dark-mode pre code {
  background: transparent !important;
  border: none;
  padding: 0;
  color: #abb2bf !important;
}

/* Syntax highlighting for dark mode */
body.dark-mode .highlight {
  background: #282c34 !important;
}

/* Keywords (if, else, int, void, etc.) */
body.dark-mode .highlight .k,
body.dark-mode .highlight .kd,
body.dark-mode .highlight .kn,
body.dark-mode .highlight .kp,
body.dark-mode .highlight .kr,
body.dark-mode .highlight .kt {
  color: #c678dd !important;
  font-weight: bold;
}

/* Strings */
body.dark-mode .highlight .s,
body.dark-mode .highlight .s1,
body.dark-mode .highlight .s2,
body.dark-mode .highlight .sb,
body.dark-mode .highlight .sc,
body.dark-mode .highlight .sd,
body.dark-mode .highlight .sh {
  color: #98c379 !important;
}

/* Numbers */
body.dark-mode .highlight .m,
body.dark-mode .highlight .mf,
body.dark-mode .highlight .mh,
body.dark-mode .highlight .mi,
body.dark-mode .highlight .mo {
  color: #d19a66 !important;
}

/* Comments */
body.dark-mode .highlight .c,
body.dark-mode .highlight .c1,
body.dark-mode .highlight .cm,
body.dark-mode .highlight .cp,
body.dark-mode .highlight .cs {
  color: #5c6370 !important;
  font-style: italic;
}

/* Functions */
body.dark-mode .highlight .n,
body.dark-mode .highlight .na,
body.dark-mode .highlight .nb,
body.dark-mode .highlight .nc,
body.dark-mode .highlight .nf {
  color: #61afef !important;
}

/* Operators */
body.dark-mode .highlight .o,
body.dark-mode .highlight .ow {
  color: #56b6c2 !important;
}

/* Variables */
body.dark-mode .highlight .nv,
body.dark-mode .highlight .vc,
body.dark-mode .highlight .vg,
body.dark-mode .highlight .vi {
  color: #e06c75 !important;
}

/* Built-ins */
body.dark-mode .highlight .bp {
  color: #e5c07b !important;
}

/* Punctuation */
body.dark-mode .highlight .p {
  color: #abb2bf !important;
}

/* ============================================
   TECHNICAL POSTS - DARK MODE
   ============================================ */

body.dark-mode .technical-post,
body.dark-mode .outreachy-post {
  color: #e0e0e0;
}

body.dark-mode .technical-post .post-header,
body.dark-mode .outreachy-post .post-header {
  border-bottom-color: #26c6da;
}

body.dark-mode .technical-post .post-title,
body.dark-mode .outreachy-post .post-title {
  color: #f5f5f5;
}

body.dark-mode .technical-post .post-meta,
body.dark-mode .outreachy-post .post-meta {
  color: #b0b0b0;
}

body.dark-mode .tech-badge {
  background: #141718;
}

body.dark-mode .post-summary {
  background: #263238;
  border-left-color: #26c6da;
  color: #e0e0e0;
}

/* Override for technical post code */
body.dark-mode .technical-post .post-content code,
body.dark-mode .outreachy-post .post-content code {
  background: #2d2d2d !important;
  color: #f8f8f2 !important;
  border: 1px solid #444;
}

body.dark-mode .technical-post .post-content pre,
body.dark-mode .outreachy-post .post-content pre {
  background: #282c34 !important;
  border: 1px solid #444;
}

body.dark-mode .technical-post .post-content pre code,
body.dark-mode .outreachy-post .post-content pre code {
  color: #abb2bf !important;
  background: transparent !important;
  border: none;
}

body.dark-mode .code-links {
  background: #263238;
}

body.dark-mode .github-link {
  background: #555;
}

body.dark-mode .github-link:hover {
  background: #666;
}

body.dark-mode .category-intro {
  background: #263238;
  border-left-color: #26c6da;
  color: #e0e0e0;
}

body.dark-mode .post-preview {
  background: #242424;
  border-color: #333;
}

body.dark-mode .post-preview:hover {
  border-color: #26c6da;
  box-shadow: 0 4px 12px rgba(38, 198, 218, 0.2);
}

body.dark-mode .post-preview h2 a {
  color: #f5f5f5;
}

body.dark-mode .post-preview h2 a:hover {
  color: #26c6da;
}

/* ============================================
   PUBLICATION - DARK MODE
   ============================================ */

body.dark-mode .publication {
  color: #e0e0e0;
}

body.dark-mode .publication-header {
  border-bottom-color: #cfdeeb;
}

body.dark-mode .publication-title {
  color: #f5f5f5;
}

body.dark-mode .publication-authors {
  color: #b0b0b0;
}

body.dark-mode .publication-meta {
  color: #b0b0b0;
}

body.dark-mode .abstract {
  background: #263238;
  border-left-color: #42a5f5;
  color: #e0e0e0;
}

body.dark-mode .abstract h2 {
  color: #42a5f5;
}

body.dark-mode .publication-content h2 {
  color: #42a5f5;
}

body.dark-mode .publication-content h3 {
  color: #90caf9;
}

body.dark-mode .citation {
  background: #263238;
}

body.dark-mode .citation pre {
  background: #081431 !important;
  border: 1px solid #444;
}

body.dark-mode .citation pre code {
  color: #abb2bf !important;
}

body.dark-mode .publication-preview {
  background: #525151;
  border-color: #333;
}

body.dark-mode .publication-preview:hover {
  border-color: #fffdfd;
  box-shadow: 0 6px 16px rgba(66, 165, 245, 0.2);
}

body.dark-mode .publication-preview h2 a {
  color: #073153;
}

body.dark-mode .publication-preview h2 a:hover {
  color: #053a66;
}

body.dark-mode .authors {
  color: #0c0101;
}

body.dark-mode .tag {
  background: #1e3a5f;
  color: #64b5f6;
}

body.dark-mode .tag:hover {
  background: #2a4a70;
}

/* ============================================
   ACADEMIC POSTS - DARK MODE
   ============================================ */

body.dark-mode .academic-post {
  color: #e0e0e0;
}

body.dark-mode .academic-post .post-header {
  border-bottom-color: #ab47bc;
}

body.dark-mode .academic-post .post-title {
  color: #f5f5f5;
}

body.dark-mode .academic-post .post-subtitle {
  color: #b0b0b0;
}

body.dark-mode .academic-post .post-meta {
  color: #b0b0b0;
}

body.dark-mode .post-excerpt {
  background: #2d1b33;
  border-left-color: #ab47bc;
  color: #e0e0e0;
}

body.dark-mode .academic-post .post-content h2 {
  color: #ab47bc;
}

body.dark-mode .academic-post .post-content h3 {
  color: #ce93d8;
}

body.dark-mode .academic-post .post-content blockquote {
  border-left-color: #ba68c8;
  color: #b0b0b0;
}

body.dark-mode .references {
  background: #263238;
}

body.dark-mode .references h2 {
  color: #ab47bc;
}

body.dark-mode .related-content {
  background: #263238;
}

body.dark-mode .related-content h3 {
  color: #ab47bc;
}

body.dark-mode .related-info {
  background: #2d1b33;
  color: #b0b0b0;
}

/* ============================================
   SHARED DARK MODE STYLES
   ============================================ */

body.dark-mode .post-footer {
  border-top-color: #444;
}

body.dark-mode .post-nav a {
  color: #64b5f6;
}

body.dark-mode .back-link {
  color: #b0b0b0;
}

body.dark-mode .back-link:hover {
  color: #e0e0e0;
}

body.dark-mode .no-posts {
  color: #666;
}

/* Minima theme dark mode overrides */
body.dark-mode .site-header {
  background-color: #1e1e1e;
  border-top-color: #444;
  border-bottom-color: #444;
}

body.dark-mode .site-title,
body.dark-mode .site-title:visited {
  color: #f5f5f5;
}

body.dark-mode .site-nav .page-link {
  color: #e0e0e0;
}

body.dark-mode .site-nav .page-link:hover {
  color: #64b5f6;
}

body.dark-mode .site-footer {
  background-color: #1e1e1e;
  border-top-color: #444;
}

body.dark-mode .footer-heading {
  color: #f5f5f5;
}

body.dark-mode .post-link {
  color: #f5f5f5;
}

body.dark-mode .post-link:hover {
  color: #64b5f6;
}

body.dark-mode .post-meta {
  color: #b0b0b0;
}

/* Smooth transition for dark mode */
body,
.post-preview,
.publication-preview,
.category-intro,
.abstract,
.citation,
.references,
.related-content,
.post-summary,
.post-excerpt,
.code-links {
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}