/* Contents page. Depends on course.css for type and colour. */

.cta {
  display: inline-block;
  font-family: var(--mono);
  font-size: 0.85rem;
  border: 1px solid var(--seq);
  border-radius: 3px;
  color: var(--seq);
  padding: 0.5rem 1rem;
  margin: 0.3rem 0 0.6rem;
}
.cta:hover { background: var(--seq-bg); }

.hint {
  font-size: 0.92rem;
  color: var(--ink-soft);
}

/* ─── Axis key ─────────────────────────────────────────── */

.axis-key {
  list-style: none;
  padding: 0;
  margin: 1.2rem 0 2rem;
  font-size: 0.94rem;
}
.axis-key li {
  margin: 0.42rem 0;
  padding-left: 1.5rem;
  position: relative;
}
.axis-swatch {
  position: absolute;
  left: 0;
  top: 0.42em;
  width: 0.72rem;
  height: 0.72rem;
  border-radius: 2px;
}
.axis-seq    { background: var(--seq); }
.axis-depth  { background: var(--depth); }
.axis-width  { background: var(--width); }
.axis-vision { background: var(--vision); }

/* ─── Contents list ────────────────────────────────────── */

.contents {
  list-style: none;
  padding: 0;
  margin: 1.4rem 0 2.6rem;
  counter-reset: none;
}

.entry {
  position: relative;
  padding: 0.85rem 0 0.9rem 0;
  border-bottom: 1px solid var(--rule-soft);
}
.entry:first-child { border-top: 1px solid var(--rule); }

.entry-link {
  border-bottom: none;
  display: inline-block;
}
.entry-label {
  font-family: var(--mono);
  font-size: 0.7rem;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--ink-faint);
  display: block;
  margin-bottom: 0.12rem;
}
.entry-title {
  font-size: 1.12rem;
  font-weight: 600;
  color: var(--ink);
}
.entry-link:hover .entry-title { color: var(--seq); }

.entry-sf {
  margin: 0.32rem 0 0;
  font-size: 0.92rem;
  color: var(--ink-soft);
  max-width: 34rem;
}

/* Axis tag, parked at the right edge on wide screens. */
.entry-axis {
  font-family: var(--mono);
  font-size: 0.63rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border: 1px solid var(--rule);
  border-radius: 2px;
  padding: 0.1rem 0.4rem;
  color: var(--ink-faint);
  white-space: nowrap;
}
@media (min-width: 40rem) {
  .entry-axis { position: absolute; top: 1rem; right: 0; }
  .entry-sf { padding-right: 6.5rem; }
}
.entry-axis.axis-seq    { color: var(--seq);    border-color: var(--seq);    background: var(--seq-bg); }
.entry-axis.axis-depth  { color: var(--depth);  border-color: var(--depth);  background: var(--depth-bg); }
.entry-axis.axis-width  { color: var(--width);  border-color: var(--width);  background: var(--width-bg); }
.entry-axis.axis-vision { color: var(--vision); border-color: var(--vision); background: var(--vision-bg); }
.entry-axis.axis-review { color: var(--ink-soft); background: #f2f1ea; }

/* Reviews read as pauses in the sequence, not as lessons. */
.entry-review { background: #fbfaf3; }
.entry-review .entry-title { font-style: italic; }

/* ─── Reference sheet list ─────────────────────────────── */

.sheets { padding-left: 1.1rem; font-size: 0.96rem; }
.sheets li { margin: 0.4rem 0; }

@media print {
  .cta { display: none; }
  .entry { page-break-inside: avoid; }
}
