.mod01-summary{color:#a0a0ab;font-size:.8rem;line-height:1.5;margin:0 0 12px;max-height:6em;overflow:auto}
.mod01-content h2{scroll-margin-top:145px}
.mod01-quiz{min-width:0;margin:28px 0;padding:20px;border:1px solid #475569;border-radius:14px;background:#0b1329;color:#f1f5f9}
.mod01-quiz legend,.mod01-feedback strong{color:#fbbf24;font-weight:700}
.mod01-quiz label{display:flex;align-items:baseline;gap:10px;padding:10px 12px;margin:8px 0;border:1px solid transparent;border-radius:8px;background:#1e293b;cursor:pointer}
.mod01-quiz input{accent-color:#fbbf24}
.mod01-quiz label:has(:checked){border-color:#fbbf24}
.mod01-quiz label.correct{border-color:#10b981;background:#10b98122}
.mod01-quiz label.incorrect{border-color:#ef4444;background:#ef444422}
.mod01-quiz .primary{margin-top:12px;background:#fbbf24;color:#0b1329}
.mod01-quiz .primary:disabled{opacity:.55;cursor:default}
.mod01-feedback:not(:empty){margin-top:16px;padding:14px;background:#1e293b;border-radius:8px}

.mod01-lesson-banner { display: block; width: 100%; height: auto; border-radius: 14px; margin-bottom: 24px; }
#module:has(img[src*="banner-cap"]) .chapter-photo { height: auto; aspect-ratio: 2752 / 1536; }

/* Chapter cards: concise previews stay fully visible without nested scrollbars. */
.chapter:has(.mod01-summary) h3{font-size:17px;line-height:1.28;min-height:2.56em}
.mod01-summary{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;max-height:none;font-size:.84rem;line-height:1.45;margin:0 0 10px}

#chapter-grid > .chapter {
  display: flex;
  flex-direction: column;
}
#chapter-grid > .chapter > .chapter-photo {
  flex-shrink: 0;
}
#chapter-grid > .chapter > .chapter-meta,
#chapter-grid > .mod01-quiz-card > .chapter-footer {
  margin-top: auto;
}

.study-admonition{margin:18px 0;padding:14px 16px;border:1px solid var(--border);border-left:3px solid var(--bronze-ink);border-radius:10px;background:var(--surface);line-height:1.7}.study-admonition>strong{display:block;margin-bottom:6px;color:var(--ink)}.study-admonition p{margin:6px 0}.ww2-callout>strong{display:flex;align-items:center;gap:8px}.ww2-callout>strong svg{width:18px;height:18px;color:var(--bronze-ink)}


.mod01-dialog {
  width: min(850px, calc(100% - 2rem));
  max-height: 90vh;
  padding: clamp(16px, 3vw, 32px);
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--surface);
  color: var(--ink);
}
.mod01-dialog::backdrop { background: rgb(0 0 0 / 72%); }
.mod01-dialog header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.mod01-quiz-score { margin: 12px 0; }
.mod01-content pre { overflow-x: auto; padding: 14px; border: 1px solid var(--border); border-radius: 8px; }
.mod01-figure-zoom { display: block; cursor: zoom-in; }

#article .chapter-nav:has(#mod01-final-quiz) {
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr);
  gap: 12px;
}
#article #mod01-final-quiz {
  justify-self: end;
  width: 65%;
  min-width: min(100%, 15rem);
  min-height: 48px;
  padding: 10px 18px;
  background: linear-gradient(120deg, #f5e5c2, #d7b47a);
  color: #35230f;
  border: 1px solid #9b7437;
  font-size: .88rem;
  font-weight: 800;
}
#article #mod01-final-quiz:hover { background: linear-gradient(120deg, #faedd1, #e5c58c); }
.mod01-quiz-card { border-color: #9b7437; cursor: pointer; }
.mod01-quiz-card .chapter-footer button {
  background: #e3b754;
  color: #241907;
  font-weight: 700;
}
.mod01-quiz-dialog[open] {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  gap: 14px;
  width: min(1160px, calc(100% - 24px));
  max-height: 90dvh;
  margin: auto;
  padding: clamp(14px, 3vw, 26px);
  background: #fbf9f4;
  color: #26211b;
  border-color: #c7b99e;
  overflow: hidden;
  color-scheme: light;
}
.mod01-quiz-dialog::backdrop { background: rgb(32 26 19 / 42%); }
.mod01-quiz-dialog h2 { margin: 0; color: #26211b; font: 500 clamp(1.25rem, 4vw, 1.8rem) var(--serif); }
.mod01-quiz-dialog .mod01-quiz-score { margin: 5px 0 0; font-size: .85rem; color: #564a3a; }
.mod01-quiz-dialog progress { width: 100%; height: 8px; accent-color: #996a20; }
.mod01-quiz-dialog .mod01-quiz-body { min-height: 0; overflow-y: auto; }
.mod01-quiz-dialog .mod01-quiz { margin: 0; padding: clamp(12px, 3vw, 20px); min-width: 0; background: #fff; color: #26211b; border-color: #d8cbb6; }
.mod01-quiz-dialog .mod01-quiz legend,
.mod01-quiz-dialog .mod01-quiz p { color: #332819; }
.mod01-quiz-dialog .mod01-quiz label { background: #fffdf9; color: #26211b; border-color: #d8cbb6; }
.mod01-quiz-dialog .mod01-quiz label.correct { background: #e9f4e9; border-color: #51805b; }
.mod01-quiz-dialog .mod01-quiz label.incorrect { background: #f9e9e7; border-color: #a95d53; }
#article .mod01-content .mod01-quiz label,
.mod01-quiz-dialog .mod01-quiz label {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  align-items: baseline;
  gap: 5px 10px;
}
.mod01-quiz-dialog .mod01-quiz input[type="radio"] {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
}
.mod01-quiz-dialog .mod01-quiz label {
  position: relative;
}
.mod01-quiz-dialog .mod01-quiz label:focus-within {
  outline: 2px solid #785b24;
  outline-offset: 2px;
}
#article,
.mod01-quiz-dialog {
  overflow-wrap: anywhere;
}
#article .mod01-quiz {
  min-width: 0;
}
#article .mod01-content .quiz-option-text,
.mod01-quiz-dialog .quiz-option-text {
  grid-column: 2;
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
}
#article .mod01-content .quiz-option-result,
.mod01-quiz-dialog .quiz-option-result {
  grid-column: 2;
  justify-self: start;
  white-space: nowrap;
  font-size: .8em;
  font-weight: 700;
}
.mod01-quiz-dialog .mod01-feedback { background: #f4eddf; color: #332819; }
#article .mod01-content .mod01-feedback strong,
.mod01-quiz-dialog .mod01-feedback strong {
  color: #171411;
}
.mod01-quiz-dialog footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; border-top: 1px solid #d8cbb6; padding-top: 12px; font-size: .82rem; }
.mod01-quiz-dialog button:not(.primary) { background: #fff; border: 1px solid #bba98a; border-radius: 999px; padding: 8px 12px; color: #332819; }
.mod01-quiz-dialog button:focus-visible,
#article #mod01-final-quiz:focus-visible { outline: 2px solid #89601b; outline-offset: 3px; }
.mod01-quiz-dialog [hidden] { display: none !important; }
@media (max-width: 560px) {
  #article .chapter-nav:has(#mod01-final-quiz) { grid-template-columns: 1fr 1fr; }
  #article #mod01-final-quiz { grid-column: 1 / -1; width: 100%; }
}
