    body {
      font-family: Arial, sans-serif;
      background-color: #f8f9fa;
      margin: 0;
      padding: 0;
      line-height: 1.6;
      color: #333;
    }
    header {
      background-color: #0074D9;
      color: white;
      padding: 20px;
      text-align: center;
    }
    header h1 {
      margin: 0;
    }
    main {
      padding: 20px;
      max-width: 900px;
      margin: auto;
    }
    section {
      margin-bottom: 30px;
    }
    h2 {
      color: #0074D9;
      border-bottom: 2px solid #ddd;
      padding-bottom: 5px;
    }
    ul, ol {
      margin-left: 20px;
    }
    .hint {
      color: #555;
      font-style: italic;
      font-size: 0.95em;
    }
    footer {
      background-color: #f1f1f1;
      text-align: center;
      padding: 15px;
      font-size: 0.9em;
      margin-top: 40px;
    }
    a {
      color: #0074D9;
      text-decoration: none;
    }
    a:hover {
      text-decoration: underline;
    }
    code {
      background-color: #eee;
      padding: 2px 4px;
      border-radius: 3px;
      font-family: monospace;
    }
    /* Prep section polish */
    .prep {
      border: 1px solid #e6e6e9;
      border-left: 6px solid #2b7cff; /* accent */
      border-radius: 8px;
      padding: 18px 18px 8px;
      background: #fff;
      box-shadow: 0 2px 50px rgba(0, 0, 0, 0.25); /* subtle shadow */
      margin-bottom: 50px; /* optional for spacing */
    }

    .prep h2 {
      margin-top: 0;
      color: #2b7cff;
    }

.task-list {
  list-style: none;
  padding: 0;
  margin: 12px 0 0;
}

.task-list li {
  background: #f9fafc;
  border: 1px solid #ececf2;
  border-radius: 8px;
  padding: 14px;
  margin: 0 0 12px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.25); /* subtle shadow */
}

.task-list h3 {
  margin: 0 0 6px;
  font-size: 1.05rem;
  color: #222;
}

.task-list p {
  margin: 0 0 10px;
}

.actions {
  margin-top: 6px;
}

.btn {
  display: inline-block;
  padding: 8px 12px;
  border-radius: 6px;
  background: #2b7cff;
  color: #fff;
  text-decoration: none;
  font-weight: 600;
}

.btn:hover { opacity: 0.9; }

.note {
  margin-top: 20px; /* extra space above */
  margin-bottom: 25px; /* extra space below */
  padding: 10px 12px;
  background: #f4f7ff;
  border: 1px solid #e1e9ff;
  border-radius: 6px;
  font-size: 0.95rem;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.25); /* subtle shadow */
}

.question-list {
  list-style: decimal;
  padding-left: 40px;
  margin-left: 0;
}

.question-list li {
  background: #f9fafc;
  border: 1px solid #ececf2;
  border-radius: 8px;
  padding: 14px;
  margin: 0 0 12px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.25); /* subtle shadow */
}

.question-list p {
  margin: 0 0 8px;
}

.question-list .hint {
  color: #555;
  font-style: italic;
  font-size: 0.9rem;
  margin: 0;
}

/* Box the OS instruction lists like the other cards */
.sys-box {
  background: #f9fafc;
  border: 1px solid #ececf2;
  border-radius: 8px;
  padding: 14px 18px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.25); /* subtle shadow */
  margin-top: 10px;
  margin-left: 0; /* reset list default margins */ list-style: decimal inside; /* keep numbers inside box */
}

/* Updates Box at top of page */
.updates-box {
  text-align: center;
  margin: 2rem auto;
}

.updates-box h2 {
  font-size: 2rem;
  margin-bottom: 1rem;
}

.updates-box .btn {
  display: inline-block;
  margin-top: 0.5rem;
}

/* Collapse everything inside .prep except the <h2> when collapsed */
.prep[data-collapsed="true"] > :not(h2) { display: none; }

/* Make the header look clickable (optional but helpful) */
.prep > h2 {
  cursor: pointer;
  user-select: none;
}

/* Optional: a subtle hover/focus style for accessibility */
.prep > h2:focus,
.prep > h2:hover {
  outline: none;
  background: rgba(0,0,0,0.05);
  border-radius: 6px;
}

.prep > h2 {
  position: relative;
  cursor: pointer;
  padding-right: 1.8em;
}

/* Plus sign */
.prep > h2::after {
  content: "+";
  position: absolute;
  right: 0.5em;
  top: 50%;
  transform: translateY(-50%);
  font-weight: bold;
  font-size: 1.2em;
  transition: transform 0.25s ease;
}

/* Change to minus when expanded */
.prep[data-collapsed="false"] > h2::after {
  content: "–";
}
/* Keep top-level Week 2 items as cards, but remove cards from nested bullets */
.task-list.no-nested-cards li ul {
  list-style: disc;
  margin-left: 1.25rem;
  padding-left: 0.5rem;
}

/* Nested list items (bullets) should NOT look like cards */
.task-list.no-nested-cards li li {
  background: none;
  border: 0;
  box-shadow: none;
  padding: 0;
  margin: 0 0 .5em;
}

/* Third-level bullets with a slightly different marker/indent */
.task-list.no-nested-cards li li ul {
  list-style: circle;
  margin-left: 1.25rem;
  padding-left: 0.5rem;
}

.video-wrapper {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 */
  height: 0;
  overflow: hidden;
  max-width: 100%;
  border-radius: 8px;
}
.video-wrapper iframe {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
}

.badge.new {
  background: #ff4757; /* bright red */
  color: #fff;
  font-size: 0.75rem;
  font-weight: bold;
  padding: 2px 6px;
  margin-left: 8px;
  border-radius: 4px;
  text-transform: uppercase;
}
