:root {
  --deck-bg: #f4f1eb;
  --deck-surface: rgba(255, 253, 249, 0.92);
  --deck-surface-soft: rgba(255, 255, 255, 0.76);
  --deck-ink: #1b2730;
  --deck-muted: #5d6972;
  --deck-accent: #1f4f66;
  --deck-accent-dark: #153847;
  --deck-warm: #c48b44;
  --deck-line: rgba(27, 39, 48, 0.14);
  --deck-shadow: 0 16px 36px rgba(27, 39, 48, 0.08);
}

html,
body {
  background:
    radial-gradient(circle at top left, rgba(215, 193, 162, 0.24), transparent 30rem),
    linear-gradient(180deg, #f1ede6 0%, var(--deck-bg) 42%, #f8f5ef 100%);
}

.curriculum-modern .reveal {
  color: var(--deck-ink);
  font-family: "Avenir Next", "Segoe UI", "Helvetica Neue", sans-serif;
}

.curriculum-modern .reveal .slides {
  text-align: left;
}

.curriculum-modern .reveal h1,
.curriculum-modern .reveal h2,
.curriculum-modern .reveal h3,
.curriculum-modern .reveal h4 {
  color: var(--deck-ink);
  font-family: "Iowan Old Style", "Palatino Linotype", Georgia, serif;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.curriculum-modern .reveal h2 {
  margin-bottom: 0.3em;
}

.curriculum-modern .reveal p,
.curriculum-modern .reveal li,
.curriculum-modern .reveal td,
.curriculum-modern .reveal th {
  color: var(--deck-ink);
}

.curriculum-modern .year1-requirements {
  padding-left: 0.3rem;
  font-size: 0.92rem;
  line-height: 1.45;
}

.curriculum-modern .year1-requirements ul,
.curriculum-modern .year1-requirements ol {
  margin-top: 0.25em;
}

.curriculum-modern .year1-requirements .course-code {
  color: var(--deck-accent);
  text-decoration-color: rgba(31, 79, 102, 0.35);
}

.curriculum-modern .reveal a {
  color: var(--deck-accent);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.12em;
}

.curriculum-modern .reveal table {
  width: 100%;
  margin-top: 0.55em;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid var(--deck-line);
  border-radius: 1.2rem;
  overflow: hidden;
  box-shadow: var(--deck-shadow);
}

.curriculum-modern .reveal th {
  padding: 0.55em 0.5em;
  border: 0;
  background: var(--deck-accent);
  color: #f8f5ef;
  font-size: 0.74em;
  font-weight: 700;
}

.curriculum-modern .reveal td {
  padding: 0.46em 0.5em;
  border: 0;
  border-bottom: 1px solid rgba(27, 39, 48, 0.08);
  background: rgba(255, 255, 255, 0.84);
  font-size: 0.72em;
  vertical-align: top;
}

.curriculum-modern .reveal tr:nth-child(even) td {
  background: rgba(244, 248, 252, 0.9);
}

.curriculum-modern .reveal tr:last-child td {
  border-bottom: 0;
}

.curriculum-modern .calendar-entry {
  padding: 0.95rem 1rem 0.85rem;
  border: 1px solid var(--deck-line);
  border-radius: 1.2rem;
  background: var(--deck-surface);
  box-shadow: var(--deck-shadow);
}

.curriculum-modern .calendar-entry h3,
.curriculum-modern .calendar-entry h4 {
  color: var(--deck-accent-dark);
}

.curriculum-modern .text-col {
  font-size: 0.95em;
}

.curriculum-modern .text-col :is(h1, h2, h3, h4, h5, h6, p) {
  margin-left: 0;
  margin-right: 0;
}

.curriculum-modern .reveal .year1-requirements > div[style*="display: flex"] {
  gap: 1rem;
  align-items: flex-start;
}

.curriculum-modern .track-removed {
  color: #8f4b3a;
  background: rgba(242, 220, 212, 0.78);
  text-decoration: line-through;
  text-decoration-thickness: 1.4px;
}

.curriculum-modern .track-added {
  color: var(--deck-accent-dark);
  background: rgba(221, 232, 246, 0.82);
  text-decoration: none;
}

.curriculum-modern div[style*="border-left: 6px solid #1565c0"] {
  background: rgba(221, 232, 246, 0.68) !important;
  border: 1px solid var(--deck-line);
  border-left: 6px solid var(--deck-accent) !important;
  border-radius: 0 1.1rem 1.1rem 0;
  box-shadow: var(--deck-shadow);
}

.curriculum-modern a[href="#/proposed_table"] {
  display: inline-flex;
  align-items: center;
  margin-top: 0.25rem;
  padding: 0.38rem 0.72rem;
  border: 1px solid var(--deck-line);
  border-radius: 999px;
  background: var(--deck-surface-soft);
  color: var(--deck-accent-dark);
  font-weight: 700;
  text-decoration: none;
}

.curriculum-modern .calendar-note {
  color: var(--deck-muted);
}

@media (max-width: 1100px) {
  .curriculum-modern .year1-requirements {
    font-size: 0.84rem;
  }

  .curriculum-modern .reveal .year1-requirements > div[style*="display: flex"] {
    flex-wrap: wrap;
  }

  .curriculum-modern .reveal td,
  .curriculum-modern .reveal th {
    font-size: 0.66em;
  }
}
