/* Night Mode Styles */
body.night-mode {
  --win95-face: #3d2b1f; /* Mid-tone wood face */
  --win95-dark: #1a0f0a; /* Dark wood shadow */
  --win95-light: #5c4033; /* Lighter wood highlight */
  --win95-title-active-start: #8b6a4a; /* Golden-tan hue override */
  --text: #e0d0c0; /* Parchment/Light tan text for better readability */
  --taskbar: #3d2b1f;
  --desktop-bg: #1a0f0a; /* Darker desktop background */
  background-color: var(--night-bg);
}

body.night-mode #desktop {
  background: radial-gradient(circle at bottom right, rgba(255, 150, 50, 0.15) 0%, rgba(0, 0, 0, 0) 40%),
              linear-gradient(to bottom, #1a0f0a, #0d0705);
}

/* Night Mode Windows */
body.night-mode .window,
body.night-mode .start-menu,
body.night-mode #start-menu {
  background-color: var(--win95-face);
  color: var(--text);
  border-top-color: #4a2f1f; /* Subdued highlight */
  border-left-color: #4a2f1f;
  border-right-color: var(--win95-dark);
  border-bottom-color: var(--win95-dark);
}

body.night-mode .titlebar {
  background: linear-gradient(to right, var(--night-title-start), var(--night-title-end));
  color: #f5f5dc; /* Creamy title text */
  border-top-color: var(--night-title-start);
  border-left-color: var(--night-title-start);
  border-right-color: var(--night-title-end);
  border-bottom: 1px solid var(--win95-dark);
}

body.night-mode .window .content {
  background-color: #2a1a12; /* Slightly lighter than desktop for contrast */
  color: var(--text);
  border-top-color: var(--win95-dark);
  border-left-color: var(--win95-dark);
  border-bottom-color: #4a2f1f; /* More subtle than var(--win95-light) */
  border-right-color: #4a2f1f;
}

body.night-mode .file-list {
  background-color: #2a1a12;
  border-color: var(--win95-dark);
}

/* Fix for specific content areas like Wonderlands that use --desktop-bg */
body.night-mode .wonderlands-container,
body.night-mode .wonderland-viewport {
  background-color: #004040; /* Muted teal for night mode */
}

body.night-mode #taskbar {
  background-color: var(--win95-face);
  border-top-color: #4a2f1f;
  border-left-color: #4a2f1f;
  border-right-color: var(--win95-dark);
  border-bottom-color: var(--win95-dark);
}

body.night-mode .task-btn {
  background-color: var(--win95-face);
  color: var(--text);
  border-top-color: #4a2f1f;
  border-left-color: #4a2f1f;
  border-right-color: var(--win95-dark);
  border-bottom-color: var(--win95-dark);
}

body.night-mode .task-btn:hover {
  background-color: var(--win95-light);
}

body.night-mode .task-btn.active {
  background-color: var(--win95-dark);
  color: #ffffff;
  border-top-color: var(--win95-dark);
  border-left-color: var(--win95-dark);
  border-right-color: #4a2f1f;
  border-bottom-color: #4a2f1f;
}

/* Night Mode Blog Overrides */
body.night-mode .blog-main {
  background: #1a0f0a;
  color: #e0d0c0;
  border-right-color: #4a2f1f;
}

body.night-mode .blog-masthead {
  border-bottom-color: #e0d0c0;
}

body.night-mode .blog-masthead-title,
body.night-mode .blog-post-title {
  color: #f5f5dc;
}

body.night-mode .blog-masthead-meta {
  border-top-color: #e0d0c0;
  color: #e0d0c0;
}

body.night-mode .blog-post-date,
body.night-mode .post-item-date {
  color: #836453; /* Very dark brown to "punch through" like an engraving */
  opacity: 0.9;
}

body.night-mode .post-list-item.active .post-item-date {
  color: #e0d0c0; /* Brighten on active items since the background is dark */
  opacity: 1;
}

body.night-mode .blog-post-content {
  color: #e0d0c0;
}

body.night-mode .blog-sidebar {
  background: #2a1a12;
  border-left-color: #4a2f1f;
}

body.night-mode .start-header {
  color: #a68b6a; /* Muted tan for header */
  border-bottom-color: #4a2f1f;
}

body.night-mode .start-item {
  color: var(--text);
}

body.night-mode #start-button {
  color: var(--text);
}

body.night-mode #start-button .start-icon .square {
  background-color: var(--text);
}

/* "Timid" Window Controls */
body.night-mode .controls button {
  background-color: #4a2f1f; /* Darker, desaturated wood-tone */
  color: #a68b6a; /* Muted tan icons */
  opacity: 0.8;
  transition: opacity 0.2s ease;
  border-top-color: #4a2f1f;
  border-left-color: #4a2f1f;
  border-right-color: #1a0f0a;
  border-bottom-color: #1a0f0a;
}

body.night-mode .controls button:hover {
  opacity: 1;
}

body.night-mode .controls .btn-close {
  background-color: #4a2f1f; /* Redesigned to be subdued */
  color: #a68b6a;
}

body.night-mode .controls button:active {
  border-top-color: #1a0f0a;
  border-left-color: #1a0f0a;
  border-right-color: #5c4033;
  border-bottom-color: #5c4033;
}

/* Night Mode Stickers */
body.night-mode .sticker {
  background-color: #3d2b1f;
  color: #e0d0c0;
  border-color: #4a2f1f;
  box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.5);
}

body.night-mode .sticker .title {
  color: #f5f5dc;
}

body.night-mode .sticker .open {
  background-color: #1a0f0a;
  color: #e0d0c0;
  border-color: #4a2f1f;
}

body.night-mode .sticker.video-sticker,
body.night-mode .sticker.image-board-sticker,
body.night-mode .sticker.rts-game-sticker {
  background-color: #3d2b1f;
}

body.night-mode #theme-toggle {
  background: rgba(255, 255, 255, 0.1);
  border-color: #4a2f1f;
  color: #f5f5dc;
}

body.night-mode #theme-toggle:hover {
  background: var(--win95-title-active-start);
  color: #ffffff;
}

/* Ensure desktop icons are readable in night mode */
body.night-mode .icon-label {
  color: #e0d0c0;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8);
}

body.night-mode .icon:focus .icon-label, 
body.night-mode .icon:hover .icon-label {
  background-color: #4a2f1f;
  color: #ffffff;
}

/* Improved Readability for "About Me" */
body.night-mode .about-me-content .content-title,
body.night-mode .about-me-content .highlight-text,
body.night-mode .about-me-content li::before {
  color: #f5f5dc; /* Warm, creamy parchment color */
}

body.night-mode .about-me-content .subdued-text,
body.night-mode .about-me-content .placeholder-text,
body.night-mode .hp-mp-label {
  color: #f5f5dc; /* Brighter tan/creamy color for better visibility */
}

/* Night Mode Blog & Timeline Improvements */
body.night-mode .post-list-item:hover {
  background-color: #4a2f1f;
  color: var(--text);
}

body.night-mode .post-list-item.active {
  background-color: var(--win95-dark);
  color: #ffffff;
}

body.night-mode .timeline-grid-container,
body.night-mode .timeline-header,
body.night-mode .timeline-controls button {
  background-color: #2a1a12;
  color: var(--text);
  border-color: #1a0f0a;
}

body.night-mode .timeline-square {
  background: #3d2b1f;
  border-color: #1a0f0a;
}

body.night-mode .timeline-square.has-post {
  background: #a68b6a; /* Muted tan instead of bright parchment */
  border-color: #a68b6a;
}

/* Night Mode Projects/Wonderlands Folder Improvements */
body.night-mode .projects-folder-list .file-item {
  background-color: var(--win95-face);
  border-top-color: #4a2f1f;
  border-left-color: #4a2f1f;
  border-right-color: var(--win95-dark);
  border-bottom-color: var(--win95-dark);
}

body.night-mode .projects-folder-list .file-item:hover,
body.night-mode .projects-folder-list .file-item:focus {
  background-color: var(--win95-title-active-start);
  border-top-color: var(--win95-dark);
  border-left-color: var(--win95-dark);
  border-right-color: #4a2f1f;
  border-bottom-color: #4a2f1f;
}

body.night-mode .projects-folder-list .file-icon {
  border-top-color: #4a2f1f;
  border-left-color: #4a2f1f;
  border-right-color: var(--win95-dark);
  border-bottom-color: var(--win95-dark);
}

body.night-mode .projects-synopsis-block {
  background-color: var(--win95-face);
  border-top-color: #4a2f1f;
  border-left-color: #4a2f1f;
  border-right-color: var(--win95-dark);
  border-bottom-color: var(--win95-dark);
}

/* Night Mode Scrollbars */
body.night-mode ::-webkit-scrollbar-track {
  background-color: var(--win95-face);
}

body.night-mode ::-webkit-scrollbar-thumb {
  background-color: var(--win95-face);
  border-top-color: #4a2f1f;
  border-left-color: #4a2f1f;
  border-right-color: var(--win95-dark);
  border-bottom-color: var(--win95-dark);
  box-shadow: 1px 1px 0 #000;
}

body.night-mode ::-webkit-scrollbar-thumb:hover {
  border-top-color: var(--win95-dark);
  border-left-color: var(--win95-dark);
  border-right-color: #4a2f1f;
  border-bottom-color: #4a2f1f;
}

body.night-mode ::-webkit-scrollbar-button {
  background-color: var(--win95-face);
  border-top-color: #4a2f1f;
  border-left-color: #4a2f1f;
  border-right-color: var(--win95-dark);
  border-bottom-color: var(--win95-dark);
  color: var(--text);
}

body.night-mode ::-webkit-scrollbar-button:hover {
  border-top-color: var(--win95-dark);
  border-left-color: var(--win95-dark);
  border-right-color: #4a2f1f;
  border-bottom-color: #4a2f1f;
}

body.night-mode ::-webkit-scrollbar-corner {
  background-color: var(--win95-face);
  border-top-color: #4a2f1f;
  border-left-color: #4a2f1f;
  border-right-color: var(--win95-dark);
  border-bottom-color: var(--win95-dark);
}

body.night-mode .win95-video-controls,
body.night-mode .win95-video-controls button {
  background-color: var(--win95-face);
  color: var(--text);
  border-top-color: #4a2f1f;
  border-left-color: #4a2f1f;
  border-right-color: var(--win95-dark);
  border-bottom-color: var(--win95-dark);
}

body.night-mode .win95-video-controls button:active {
  border-top-color: var(--win95-dark);
  border-left-color: var(--win95-dark);
  border-right-color: #4a2f1f;
  border-bottom-color: #4a2f1f;
}

body.night-mode .win95-video-controls .seek-bar::-webkit-slider-runnable-track,
body.night-mode .win95-video-controls .volume-bar::-webkit-slider-runnable-track,
body.night-mode .win95-video-controls .seek-bar::-moz-range-track,
body.night-mode .win95-video-controls .volume-bar::-moz-range-track {
  background-color: var(--win95-dark);
  border-right-color: #4a2f1f;
  border-bottom-color: #4a2f1f;
}

body.night-mode .win95-video-controls .seek-bar::-webkit-slider-thumb,
body.night-mode .win95-video-controls .volume-bar::-webkit-slider-thumb,
body.night-mode .win95-video-controls .seek-bar::-moz-range-thumb,
body.night-mode .win95-video-controls .volume-bar::-moz-range-thumb {
  background-color: var(--win95-face);
  border-top-color: #4a2f1f;
  border-left-color: #4a2f1f;
  border-right-color: var(--win95-dark);
  border-bottom-color: var(--win95-dark);
}

/* Night Mode Carousel Dots */
body.night-mode .wonderland-carousel-dot {
  background: rgba(255, 255, 255, 0.15);
}

body.night-mode .wonderland-carousel-dot.active {
  background: #a68b6a;
}

/* Night Mode Viewer Controls */
body.night-mode .image-viewer-nav button,
body.night-mode .wonderland-btn {
  background-color: var(--win95-face);
  color: var(--text);
  border-top-color: #4a2f1f;
  border-left-color: #4a2f1f;
  border-right-color: var(--win95-dark);
  border-bottom-color: var(--win95-dark);
}

body.night-mode .image-viewer-nav button:active,
body.night-mode .wonderland-btn:active {
  border-top-color: var(--win95-dark);
  border-left-color: var(--win95-dark);
  border-right-color: #4a2f1f;
  border-bottom-color: #4a2f1f;
}

/* Night Mode Blog Link Buttons */
body.night-mode .blog-link-btn {
  background-color: #3d2b1f; /* Dark wooden brown */
  color: #ffd700; /* Gold text */
  border: 2px solid;
  border-top-color: #5c4033;
  border-left-color: #5c4033;
  border-right-color: #1a0f0a;
  border-bottom-color: #1a0f0a;
  box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.5);
}

body.night-mode .blog-link-btn:hover {
  background-color: #5c4033; /* Lighter wood */
  color: #fff;
  transform: translate(1px, 1px);
  box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.5);
}

body.night-mode .blog-link-btn:active {
  background-color: #ffd700;
  color: #000;
  border-color: #ffd700;
  transform: translate(3px, 3px);
  box-shadow: none;
}
