body { background-color: var(--bs-body-bg, #121212); }

.slide {
  background: #fff;
  color: #1a1a2e;
  border-radius: 12px;
  padding: 48px 56px;
  margin-bottom: 24px;
  min-height: 520px;
  box-shadow: 0 4px 24px rgba(0,0,0,0.25);
  position: relative;
  overflow: hidden;
}
.slide h1 { color: #005a9c; font-size: 2rem; margin-bottom: 0.6em; }
.slide h2 { color: #005a9c; font-size: 1.5rem; margin-bottom: 0.5em; }
.slide h3 { color: #005a9c; font-size: 1.15rem; }
.slide p, .slide li { font-size: 0.95rem; line-height: 1.6; }
.slide ul { padding-left: 1.4em; }
.slide table { font-size: 0.88rem; width: 100%; }
.slide table th { background: #dceafa; color: #005a9c; }
.slide table td, .slide table th { padding: 6px 12px; border: 1px solid #ccc; }
.slide code { background: #eee; padding: 1px 5px; border-radius: 3px; font-size: 0.85em; }
.slide pre { background: #f4f6f8; padding: 16px; border-radius: 8px; overflow-x: auto; font-size: 0.78rem; line-height: 1.5; }
.slide blockquote { border-left: 4px solid #005a9c; padding: 8px 16px; background: #dceafa33; margin: 12px 0; }

.slide-title {
  background: linear-gradient(135deg, #005a9c 0%, #003d6b 100%);
  color: white;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.slide-title h1, .slide-title h2, .slide-title p { color: white; }
.slide-title h1 { font-size: 2.8rem; }
.slide-title h2 { font-size: 1.3rem; font-weight: 400; opacity: 0.9; }

.columns { display: flex; gap: 2em; }
.columns > div { flex: 1; }

.slide-number {
  position: absolute;
  bottom: 16px;
  right: 24px;
  font-size: 0.8rem;
  color: #999;
}

@media (max-width: 768px) {
  .slide { padding: 24px; min-height: auto; }
  .columns { flex-direction: column; gap: 1em; }
}
