.answer { margin-top: 34px; }
.learning-response, .feedback-sheet { background: var(--sheet); box-shadow: 0 3px 14px rgba(31,25,16,.13); padding: clamp(24px,5vw,48px); }
.grounding-line { display:flex; align-items:center; gap:10px; font:700 .76rem Arial,sans-serif; color:var(--muted); margin-bottom:24px; }
.grounding-badge,.question-type { display:inline-flex; align-items:center; min-height:30px; padding:4px 10px; background:oklch(88% .055 75); color:oklch(32% .06 55); font:700 .72rem Arial,sans-serif; letter-spacing:.04em; }
.grounding-lecture,.grounding-course { background:oklch(87% .055 145); color:oklch(29% .065 145); }
.grounding-general,.grounding-none { background:oklch(90% .035 25); color:oklch(36% .075 25); }
.learning-response h2,.diagnostic-heading h2 { font-size:clamp(1.7rem,4vw,2.5rem); letter-spacing:-.018em; line-height:1.18; margin:.15em 0 1em; }
.answer-prose { max-width:67ch; font-size:1.06rem; text-wrap:pretty; }
.answer-prose p { margin:0 0 1.15em; }
.student-sources { margin-top:32px; padding-top:22px; border-top:1px solid var(--line); }
.student-sources h3,.feedback-sheet h3 { font-size:1rem; margin:0 0 12px; }
.student-sources ol { margin:0; padding-left:24px; }
.student-sources li { padding:7px 0; }
.student-sources li span { display:block; font-weight:700; }
.student-sources li small { display:block; color:var(--muted); font:400 .78rem Arial,sans-serif; }
.student-sources summary { cursor:pointer; color:var(--accent); font:700 .78rem Arial,sans-serif; min-height:40px; display:flex; align-items:center; margin-top:8px; }
.follow-up-actions { margin-top:34px; padding-top:20px; border-top:1px solid var(--ink); display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.follow-up-actions p { width:100%; font-weight:700; margin:0 0 5px; }
.follow-up-actions button { background:transparent; color:var(--ink); border-color:var(--ink); font-size:.9rem; }
.diagnostic-sheet { margin-top:18px; }
.diagnostic-intro { margin:0 0 24px; padding:14px 0; border-block:1px solid var(--line); max-width:67ch; }
.diagnostic-intro p { margin:0 0 4px; font-weight:700; }
.diagnostic-intro small { color:var(--muted); font:400 .82rem/1.5 Arial,sans-serif; }
.diagnostic-heading { margin-bottom:28px; }
.diagnostic-question { padding:28px 0 34px; border-top:1px solid var(--line); }
.diagnostic-question header { width:auto; min-height:0; margin:0 0 14px; border:0; justify-content:flex-start; }
.question-number { font:700 1.4rem/1 Arial,sans-serif; font-variant-numeric:tabular-nums; }
.question-type { min-height:28px; }
.type-application { background:oklch(87% .06 145); color:oklch(29% .065 145); }
.type-analysis,.type-argument { background:oklch(88% .05 35); color:oklch(35% .075 35); }
.diagnostic-question p { font-size:1.12rem; max-width:66ch; text-wrap:pretty; }
.diagnostic-question textarea { min-height:0; margin-bottom:0; background:var(--sheet); }
.feedback { margin-top:32px; }
.feedback-sheet>header { width:auto; margin:0 0 24px; border:0; min-height:0; }
.score-mark { margin-left:auto; display:flex; align-items:baseline; font-family:Arial,sans-serif; }
.score-mark b { font-size:2.5rem; font-variant-numeric:tabular-nums; }
.score-mark span { color:var(--muted); }
.feedback-level { font-size:1.08rem; max-width:67ch; padding-bottom:22px; border-bottom:1px solid var(--line); }
.feedback-columns { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; padding:28px 0; }
.feedback-columns section+section { border-left:1px solid var(--line); padding-left:26px; }
.feedback-columns ul { padding-left:20px; }
.next-action { background:var(--soft); padding:20px 22px; margin-top:24px; }
.next-action p { margin-bottom:0; }
@media (hover:hover) { .follow-up-actions button:hover { background:var(--ink); color:white; } }
@media (max-width:700px) {
  .learning-response,.feedback-sheet { padding:22px 17px; margin-inline:-8px; }
  .follow-up-actions button { width:100%; }
  .feedback-columns { grid-template-columns:1fr; gap:0; }
  .feedback-columns section { padding:14px 0; }
  .feedback-columns section+section { border-left:0; border-top:1px solid var(--line); padding-left:0; }
  .feedback-sheet>header { align-items:flex-end; }
  .score-mark { margin-left:0; }
  .diagnostic-question { padding-block:24px; }
}
@media (prefers-reduced-motion:reduce) { .follow-up-actions button { transition:none; } }
