/* Learner dashboards and diagnostic results share the bright-paper site design. */
.learner-paper {
  --dashboard-secondary: #445E7D;
  --dashboard-secondary-ink: var(--dashboard-secondary);
  --dashboard-secondary-muted: color-mix(in srgb, var(--dashboard-secondary) 78%, #fbf5ea);
  --dashboard-secondary-soft: color-mix(in srgb, var(--dashboard-secondary) 10%, #fbf5ea);
  --dashboard-secondary-line: color-mix(in srgb, var(--dashboard-secondary) 30%, #fbf5ea);
  --paper-reading: var(--dashboard-secondary);
  --paper-listening: var(--dashboard-secondary);
  --verdict-correct: #2f7d4b;
  --verdict-incorrect: #b34a4a;
  --error: var(--primary-container);

  --surface: #fbf5ea;
  --surface-bright: #fbf5ea;
  --surface-container-lowest: #fffaf2;
  --surface-container-low: #f4ebd9;
  --surface-container: #efe5d3;
  --surface-container-high: #eadfcb;
  --surface-container-highest: #e1d4bc;
  --on-surface: #1c1815;
  --on-surface-variant: #6e6559;
  --primary: #C13A63;
  --primary-container: var(--primary);
  --on-primary: #fff;
  --secondary-container: #fce5ee;
  --on-secondary-container: var(--primary-container);
  --outline: #a6998a;
  --outline-variant: #ded2bd;
  --shadow-soft: none;
  background: var(--surface);
  color: var(--on-surface);
}
.learner-paper h1,
.learner-paper .dse-stat-value,
.learner-paper .dse-activity-totals strong,
.learner-paper .pilot-dashboard-card > strong,
.learner-paper .pilot-result-score-card > strong {
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 500;
  font-variant-numeric: lining-nums;
}
.learner-paper h1 { letter-spacing: -.035em; }
.learner-paper .dse-stat-value span,
.learner-paper .dse-stat-value em,
.learner-paper .dse-activity-totals strong span,
.learner-paper .pilot-dashboard-card > strong small { font-family: var(--font-sans); }
.learner-paper a:not(.btn) { color: var(--primary-container); }
.learner-paper .btn {
  --button-face: #f7eedd;
  --button-hover: #fffaf2;
  --button-edge: #c5b59a;
  --button-rule: #dacdb7;
  --button-ink: #6e5545;
  box-sizing: border-box;
  min-height: 44px;
  background: var(--button-face);
  color: var(--button-ink);
  border: 2px solid var(--button-rule);
  border-radius: 13px;
  box-shadow: 0 4px 0 var(--button-edge);
  font-weight: 650;
  transition: background .12s ease, transform .08s ease, box-shadow .08s ease;
}
.learner-paper .btn-primary {
  --button-face: var(--primary);
  --button-hover: var(--dashboard-accent-hover);
  --button-edge: var(--dashboard-accent-edge);
  --button-rule: var(--primary);
  --button-ink: #fff;
}
.learner-paper .learner-course-dashboard .dse-academy-actions .btn-primary {
  --button-face: var(--primary-container);
  --button-hover: var(--dashboard-accent-hover);
  --button-rule: var(--primary-container);
}
.learner-paper .learner-course-dashboard .learner-view-button { --button-ink: var(--dashboard-secondary); }
.learner-paper .learner-course-dashboard .learner-view-button[aria-pressed="true"] {
  --button-face: var(--dashboard-secondary-soft);
  --button-rule: var(--dashboard-secondary);
  --button-edge: var(--dashboard-secondary);
}
.learner-paper .btn:hover:not(:disabled) { background: var(--button-hover); color: var(--button-ink); }
.learner-paper .btn:active:not(:disabled) { transform: translateY(4px); box-shadow: none; }
.learner-paper a:focus-visible,
.learner-paper button:focus-visible { outline: 2px solid var(--primary-container); outline-offset: 5px; }
.learner-paper .btn:disabled { opacity: .6; box-shadow: none; }
.learner-paper .dse-dashboard-hero .dse-academy-actions .btn-primary { box-shadow: 0 4px 0 var(--button-edge); }
.learner-paper .dse-dashboard-hero .dse-academy-actions .btn-primary:hover { background: var(--button-hover); transform: none; }
.learner-paper .dse-dashboard-hero .dse-academy-actions .btn-primary:active { box-shadow: none; transform: translateY(4px); }
.learner-paper .dse-activity-card,
.learner-paper .dse-stat-card,
.learner-paper .dse-personal-graph-stage,
.learner-paper .dse-knowledge-category,
.learner-paper .pilot-dashboard-card,
.learner-paper .pilot-dashboard-panel {
  background: transparent;
  border-color: transparent;
  border-top-color: var(--outline-variant);
  border-radius: 0;
  box-shadow: none;
}
.learner-paper .dse-stat-card,
.learner-paper .pilot-dashboard-card { border-top-width: 4px; }
.learner-paper .pilot-dashboard-card:nth-child(1) { border-top-color: var(--primary); }
.learner-paper .pilot-dashboard-card:nth-child(2) { border-top-color: var(--dashboard-secondary); }
.learner-paper .pilot-dashboard-card:nth-child(3) { border-top-color: var(--dashboard-secondary); }
.learner-paper .dse-stat-card:not(.dse-stat-soon) .dse-stat-value,
.learner-paper .dse-activity-totals strong,
.learner-paper .goal-percent { color: var(--on-surface); }
.learner-paper .dse-stat-card.dse-stat-band .dse-stat-value,
.learner-paper .dse-stat-band .dse-stat-value span { color: var(--on-surface); }
.learner-paper .dse-stat-band p { color: var(--on-surface-variant); }
.learner-paper .dse-activity-chart { --chart-accent: var(--primary-container); }
.learner-paper .dse-activity-scale,
.learner-paper .dse-activity-labels { fill: var(--dashboard-secondary-muted); }
.learner-paper .dse-activity-fill-top { stop-opacity: .08; }
.learner-paper .dse-activity-line.is-pending { stroke-opacity: .5; }
.learner-paper .goal-progress i { background: linear-gradient(to right, var(--dashboard-secondary) var(--fill, 0%), var(--surface-container-high) var(--fill, 0%)); }
.learner-paper .dse-knowledge-category > header > span { background: var(--dashboard-secondary-soft); color: var(--dashboard-secondary-ink); }
.learner-paper .pilot-dashboard-hero { background: transparent; border: 0; border-radius: 0; padding: 0 0 24px; box-shadow: none; }
.learner-paper .pilot-dashboard-hero > div:first-child { min-width: 0; }
.learner-paper .pilot-dashboard-hero h1 { max-width: 700px; line-height: 1.1; }
.learner-paper .pilot-results-hero { max-width: 800px; margin: 0 0 14px; text-align: left; }
.learner-paper .pilot-results-back { justify-self: start; font-size: .9rem; }
.learner-paper .pilot-result-score-card,
.learner-paper .pilot-result-writing-card,
.learner-paper .pilot-result-graph-card { border-radius: 16px; }
.learner-paper .pilot-result-score-card { border-top: 4px solid var(--primary); }
.learner-paper .pilot-result-writing-card { border-top: 4px solid var(--dashboard-secondary); }
.learner-paper .pilot-writing-feedback { background: var(--secondary-container); border-left-color: var(--primary); }
.learner-paper .dse-memento-domain > strong,
.learner-paper .dse-memento-overall > strong { font-family: Georgia, 'Times New Roman', serif; font-weight: 500; }
.learner-paper .pilot-result-skill-strong { background: var(--dashboard-secondary-soft); color: var(--dashboard-secondary-ink); }
.learner-paper .pilot-result-skill-focus { background: var(--dashboard-secondary-soft); color: var(--dashboard-secondary-ink); }
.learner-paper .pilot-dashboard-actions { padding-bottom: 4px; }
.learner-paper .dse-practice-summary-hero { gap: 1.1rem; margin: 1.5rem 0 2rem; }
.learner-paper .dse-practice-summary-hero h1 { font-size: clamp(2.2rem, 6vw, 3.5rem); line-height: 1.1; letter-spacing: -.035em; }
.learner-paper .dse-summary-celebration { width: 2.75rem; height: 2.75rem; font-size: 1.3rem; background: var(--dashboard-secondary); box-shadow: 0 0 0 7px var(--dashboard-secondary-soft); }
.learner-paper .dse-practice-summary .dse-practice-report-summary article { background: transparent; border: 0; border-top: 4px solid var(--summary-accent, var(--primary)); border-radius: 0; padding: 1rem 0; }
.learner-paper .dse-practice-summary .dse-practice-report-summary article::before { display: none; }
.learner-paper .dse-practice-summary .dse-practice-report-summary strong { font-family: Georgia, 'Times New Roman', serif; font-size: 2rem; font-weight: 500; }
.learner-paper .dse-summary-stat-correct { --summary-accent: var(--dashboard-secondary); }
.learner-paper .dse-summary-stat-partial,
.learner-paper .dse-summary-stat-band { --summary-accent: var(--dashboard-secondary); }
.learner-paper .dse-summary-stat-revisit { --summary-accent: var(--dashboard-secondary); }
.learner-paper .dse-practice-progress { --chart-accent: var(--primary); background: #fffaf2; border-color: #ded2bd; border-radius: 16px; box-shadow: none; }
.learner-paper .dse-practice-progress header > div > span { color: #6e6559; }
.learner-paper .dse-practice-progress header strong { font-family: Georgia, 'Times New Roman', serif; font-weight: 500; }
.learner-paper .dse-band-progress-card.is-improved,
.learner-paper .dse-band-progress-card.is-solidified { background: var(--dashboard-secondary-soft); border-color: var(--dashboard-secondary-line); }
.learner-paper .dse-band-progress-card.is-calibrated { background: var(--dashboard-secondary-soft); border-color: var(--dashboard-secondary-line); }
.learner-paper .dse-practice-summary .dse-results-actions { margin-top: 1.5rem; padding-bottom: 4px; }
@media (max-width: 480px) {
  .learner-paper .dse-practice-summary-hero { align-items: flex-start; gap: .9rem; }
  .learner-paper .dse-summary-celebration { width: 2rem; height: 2rem; margin-top: .35rem; font-size: 1rem; box-shadow: 0 0 0 5px var(--dashboard-secondary-soft); }
}
@media (max-width: 800px) {
  .learner-paper .pilot-dashboard-hero { align-items: stretch; flex-direction: column; }
  .learner-paper .pilot-dashboard-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .learner-paper .pilot-dashboard-actions .btn { white-space: normal; }
}
@media (max-width: 520px) {
  .learner-paper .pilot-dashboard-actions { grid-template-columns: 1fr; }
  .learner-paper .pilot-dashboard-panel { padding: 20px 0; }
}
@media (prefers-reduced-motion: reduce) { .learner-paper .btn { transition: none; } }

/* One dashboard layout across courses; checkpoints appear only when ready. */
.learner-course-dashboard { display: block; }
/* Keep the greeting, action row and overview on a shared left edge. */
.learner-paper .learner-course-dashboard .dse-dashboard-hero { flex-direction: column; align-items: stretch; gap: 20px; margin-bottom: 32px; }
.learner-paper .learner-course-dashboard .dse-dashboard-greeting h1 { max-width: none; }
.learner-paper .learner-course-dashboard .dse-academy-actions { display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: stretch; gap: 12px; }
.learner-paper .learner-course-dashboard .dse-academy-actions .btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 11px 20px; font-size: .9rem; line-height: 1.25; text-align: center; }
.learner-paper .learner-course-dashboard .learner-view-shortcuts { align-items: stretch; }
.learner-paper .learner-course-dashboard .dse-progress-panel { align-items: start; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 32px; }
.learner-paper .learner-course-dashboard .dse-activity-card { min-width: 0; padding: 16px 0 0; }
.learner-paper .learner-course-dashboard .dse-activity-card > header { align-items: center; margin-bottom: 12px; }
.learner-paper .learner-course-dashboard .dse-stat-grid { align-content: start; gap: 24px 20px; }
.learner-paper .learner-course-dashboard .dse-stat-card { min-width: 0; padding: 18px 12px 12px; gap: 14px; }
.learner-paper .learner-course-dashboard .goal-edit { justify-self: start; }
.learner-paper .learner-course-dashboard .goal-front .dse-stat-value { flex-wrap: wrap; gap: 6px 10px; }
@media (max-width: 1000px) {
  .learner-paper .learner-course-dashboard .dse-progress-panel { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .learner-paper .learner-course-dashboard .dse-stat-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 800px) {
  .learner-paper .learner-course-dashboard .dse-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .learner-paper .learner-course-dashboard .dse-dashboard-hero { gap: 18px; margin-bottom: 28px; }
  .learner-paper .learner-course-dashboard .dse-academy-actions > .btn { width: 100%; }
  .learner-paper .learner-course-dashboard .dse-academy-actions .btn { padding: 11px 8px; font-size: .8rem; }
  .learner-paper .learner-course-dashboard .learner-view-shortcuts { width: 100%; gap: 10px; }
  .learner-paper .learner-course-dashboard .dse-stat-grid { gap: 20px 16px; }
  .learner-paper .learner-course-dashboard .dse-stat-card { padding: 16px 0 8px; }
  .learner-paper .learner-course-dashboard .dse-activity-card > header { align-items: flex-start; flex-wrap: wrap; gap: 16px; }
}
.learner-checkpoint-notice { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin: 0 0 28px; padding: 20px 24px; border: 1px solid var(--dashboard-secondary-line); border-left: 4px solid var(--dashboard-secondary); border-radius: 12px; background: var(--dashboard-secondary-soft); }
.learner-checkpoint-notice h2 { margin: 0 0 4px; font-size: 1.05rem; }
.learner-checkpoint-notice p { margin: 0; color: var(--on-surface-variant); }
.learner-checkpoint-notice .btn { flex-shrink: 0; }
.learner-course-dashboard .dse-activity-card > header > div > p { display: none; }
.learner-progress-report > h1 { margin: 24px 0; }
@media (max-width: 600px) {
  .learner-checkpoint-notice { align-items: stretch; flex-direction: column; gap: 16px; padding: 18px; }
  .learner-checkpoint-notice .btn { align-self: flex-start; }
}
.learner-course-dashboard .dse-activity-card { border-top-color: transparent; }
.learner-course-dashboard .dse-activity-note,
.learner-course-dashboard .dse-practice-history > header p { display: none; }
.learner-course-dashboard .dse-history-session { background: transparent; border: 0; border-bottom: 1px solid var(--outline-variant); border-radius: 0; }
.learner-course-dashboard .dse-history-session > summary { padding: 24px 0; }
.learner-course-dashboard .dse-history-session > summary:hover { background: #f4ebd9; }
.learner-course-dashboard .dse-history-score { font-family: Georgia, 'Times New Roman', serif; font-size: 1.75rem; font-weight: 500; color: var(--primary); }
@media (max-width: 560px) {
  .learner-course-dashboard .dse-academy-actions > .btn:nth-child(2):last-child { grid-column: 1 / -1; }
}

/* Pink actions with a slate blue secondary accent. */
.learner-paper { --dashboard-accent-hover: color-mix(in srgb, var(--primary) 90%, black); --dashboard-accent-edge: color-mix(in srgb, var(--primary) 80%, black); --accent-highlight: var(--secondary-container); }

/* Keep only account controls in the learner header. */
.learner-paper .topnav-brand { display: none; }
.learner-paper .topnav { justify-content: flex-end; border-bottom: 0; }

/* Evidence colours are independent of the brand/action palette. */
.learner-paper .dse-category-up { --category-colour: var(--verdict-correct); }
.learner-paper .dse-category-down { --category-colour: var(--verdict-incorrect); }
.learner-paper .dse-category-same { --category-colour: var(--dashboard-secondary); }
.learner-paper .dse-category-legend .up { --category-colour: var(--verdict-correct); }
.learner-paper .dse-category-legend .down { --category-colour: var(--verdict-incorrect); }
.learner-paper .dse-history-verdict.is-correct { color: var(--verdict-correct); }
.learner-paper .dse-history-verdict.is-incorrect { color: var(--verdict-incorrect); }
.learner-paper .weekly-goal[data-goal-reached="true"] .goal-headline { color: var(--dashboard-secondary); }
.learner-paper .weekly-goal[data-goal-reached="true"] .goal-progress i { background: var(--dashboard-secondary); }
.learner-paper .goal-error { color: var(--primary-container); }
.learner-paper .dse-history-verdict.is-correct .dse-history-result-icon { background: var(--verdict-correct); }
.learner-paper .dse-history-verdict.is-incorrect .dse-history-result-icon { background: var(--verdict-incorrect); }
.learner-paper .dse-category-legend .up::before { background: var(--verdict-correct); }
.learner-paper .dse-category-legend .same::before { background: var(--dashboard-secondary); }
.learner-paper .dse-category-legend .down::before { background: var(--verdict-incorrect); }
.learner-paper .dse-graph-node-demonstrated,
.learner-paper .dse-graph-node-developing { background: var(--dashboard-secondary-soft); }
.learner-paper .dse-graph-node-needs_practice,
.learner-paper .dse-graph-node-pending { background: var(--secondary-container); }
.learner-paper .dse-graph-node-demonstrated::before,
.learner-paper .dse-graph-node-developing::before,
.learner-paper .dse-graph-legend .demonstrated::before,
.learner-paper .dse-graph-legend .developing::before { background: var(--dashboard-secondary); }
.learner-paper .dse-graph-node-needs_practice::before,
.learner-paper .dse-graph-node-pending::before,
.learner-paper .dse-graph-legend .needs-practice::before,
.learner-paper .dse-graph-legend .pending::before { background: var(--primary); }
