:root {
  --background: #ffffff;
  --foreground: #242424;
  --text-secondary: #6b6b6b;
  --text-muted: #999999;
  --link-color: #1a8917;
  --border-color: #e6e6e6;
  --code-bg: #f6f6f6;
  --card-bg: #fafafa;
  --table-header-bg: #f9f9f9;
}

.dark {
  --background: #121212;
  --foreground: rgba(255, 255, 255, 0.85);
  --text-secondary: rgba(255, 255, 255, 0.6);
  --text-muted: rgba(255, 255, 255, 0.4);
  --link-color: #4ade80;
  --border-color: rgba(255, 255, 255, 0.1);
  --code-bg: rgba(255, 255, 255, 0.05);
  --card-bg: rgba(255, 255, 255, 0.03);
  --table-header-bg: rgba(255, 255, 255, 0.05);
}

html.dark {
  background-color: #121212;
}
body {
  background-color: var(--background);
  color: var(--foreground);
}

/* Article typography */
.prose-article {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 20px;
  line-height: 1.75;
  color: var(--foreground);
}
.prose-article p {
  margin-bottom: 28px;
}
.prose-article h2 {
  font-family: "Inter", sans-serif;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.3;
  margin-top: 48px;
  margin-bottom: 24px;
  color: var(--foreground);
}
.prose-article h3 {
  font-family: "Inter", sans-serif;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.3;
  margin-top: 40px;
  margin-bottom: 16px;
  color: var(--foreground);
}
.prose-article a {
  color: var(--foreground);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.prose-article a:hover {
  color: var(--link-color);
}
.prose-article strong {
  font-weight: 700;
  color: var(--foreground);
}
.prose-article ol {
  list-style-type: decimal;
  padding-left: 28px;
  margin-bottom: 28px;
}
.prose-article ol li {
  margin-bottom: 12px;
  padding-left: 8px;
}
.prose-article ul {
  list-style-type: disc;
  padding-left: 28px;
  margin-bottom: 28px;
}
.prose-article ul li {
  margin-bottom: 12px;
  padding-left: 8px;
}

/* Scrollbar hide */
.scrollbar-hide {
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.scrollbar-hide::-webkit-scrollbar {
  display: none;
}

/* Lightbox */
#lightbox {
  display: none;
}
#lightbox.open {
  display: flex;
}

/* Teensy slideshow — 3 images, crossfade */
.teensy-slideshow {
  position: relative;
  width: 100%;
}
.teensy-slideshow img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  animation: teensy-fade 9s infinite;
}
.teensy-slideshow img:nth-child(1) {
  animation-delay: 0s;
}
.teensy-slideshow img:nth-child(2) {
  animation-delay: 3s;
}
.teensy-slideshow img:nth-child(3) {
  animation-delay: 6s;
}

@keyframes teensy-fade {
  0% {
    opacity: 0;
  }
  5% {
    opacity: 1;
  }
  33% {
    opacity: 1;
  }
  38% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
