/* BIO 202 score-code library — minimal styling that matches the
   existing scaffold/lesson aesthetic (cream bg, white panels, no shadows). */

.score-card {
  background: #ffffff;
  border: 1px solid #e2e0d9;
  border-radius: 6px;
  padding: 16px 18px;
  margin: 16px 0;
  font: 15px/1.5 -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif;
  color: #1d1d1b;
  max-width: 760px;
}
.score-card-h {
  margin: 0 0 8px 0;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #6b6b68;
  font-weight: 600;
}
.score-card-p {
  margin: 0 0 12px 0;
  font-size: 14px;
  color: #1d1d1b;
}
.score-card-p:last-child { margin-bottom: 0; }

.score-name-row {
  display: flex;
  gap: 8px;
  align-items: center;
  margin-bottom: 6px;
}
.score-name-row input[type=text] {
  flex: 1 1 auto;
  padding: 7px 10px;
  font: 14px ui-monospace, Menlo, monospace;
  border: 1px solid #e2e0d9;
  border-radius: 4px;
  min-width: 200px;
  background: #fafaf7;
}
.score-name-row input[type=text]:disabled {
  background: #f0ece0;
  color: #6a5018;
}
.score-name-row button {
  padding: 7px 14px;
  background: #b23a48;
  color: #fff;
  border: 0;
  border-radius: 4px;
  cursor: pointer;
  font-size: 13.5px;
}
.score-name-row button:disabled {
  background: #bbb;
  cursor: not-allowed;
}
.score-name-status {
  margin: 6px 0 0 0;
  font-size: 12.5px;
  color: #6b6b68;
  min-height: 1em;
}
.score-name-status strong {
  font-family: ui-monospace, Menlo, monospace;
  color: #1d1d1b;
  background: #f4f0dd;
  padding: 1px 6px;
  border-radius: 3px;
}

.score-final-card {
  background: #d0e1ed;
  border-color: #2f6b8f;
}
.score-final-card .score-card-h { color: #2f6b8f; }

.score-code-row {
  display: flex;
  gap: 8px;
  align-items: center;
  margin: 12px 0 6px 0;
}
.score-code {
  flex: 1 1 auto;
  padding: 8px 12px;
  background: #ffffff;
  border: 1px solid #2f6b8f;
  border-radius: 4px;
  font: 14px ui-monospace, Menlo, monospace;
  color: #1d1d1b;
  user-select: all;
  word-break: break-all;
}
.score-copy-btn {
  padding: 8px 14px;
  background: #2f6b8f;
  color: #fff;
  border: 0;
  border-radius: 4px;
  cursor: pointer;
  font-size: 13.5px;
  white-space: nowrap;
}
.score-copy-btn:hover { background: #245770; }
.score-tally {
  margin: 6px 0 0 0;
  font-size: 13px;
  color: #6b6b68;
  font-family: ui-monospace, Menlo, monospace;
}
.score-copy-status {
  margin: 4px 0 0 0;
  font-size: 12.5px;
  color: #2f6b8f;
  min-height: 1em;
}

/* Locked sections — used by modules to gate content behind pretest/scaffold. */
.score-locked {
  opacity: 0.35;
  filter: grayscale(0.4);
  pointer-events: none;
}
.score-locked-banner {
  display: inline-block;
  margin: 0 0 12px 0;
  padding: 8px 14px;
  background: #f4f0dd;
  border: 1px dashed #caa04a;
  border-radius: 4px;
  font-size: 13px;
  color: #6a5018;
}

/* Quiz UI (lib/quiz.js). Lives inside a host card; the module supplies the outer panel. */
.quiz-title {
  margin: 0 0 4px 0;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #6b6b68;
  font-weight: 600;
}
.quiz-intro {
  margin: 0 0 12px 0;
  font-size: 13.5px;
  color: #6b6b68;
  max-width: 72ch;
}
.quiz-item {
  background: #fafaf7;
  border: 1px solid #e2e0d9;
  border-radius: 4px;
  padding: 12px 14px;
  margin: 0 0 10px 0;
}
.quiz-q {
  margin: 0 0 8px 0;
  font-size: 14px;
  line-height: 1.45;
}
.quiz-q-num { color: #6b6b68; font-family: ui-monospace, Menlo, monospace; }
.quiz-options {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 0 0 8px 0;
}
.quiz-option {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 13.5px;
  cursor: pointer;
  padding: 4px 6px;
  border-radius: 3px;
}
.quiz-option:hover { background: #f0ece0; }
.quiz-option input[type=radio]:disabled + span { color: #6b6b68; }
.quiz-option input[type=radio] { margin-top: 3px; }
.quiz-submit {
  padding: 6px 12px;
  background: #b23a48;
  color: #fff;
  border: 0;
  border-radius: 4px;
  cursor: pointer;
  font-size: 13px;
}
.quiz-submit:disabled { background: #bbb; cursor: not-allowed; }
.quiz-status {
  margin: 6px 0 0 0;
  font-size: 12.5px;
  color: #6b6b68;
  min-height: 1em;
}
