/* Scoped MCAT course system; typography and controls inherit the site foundation. */
.course-workspace { --course-blue:#315be8; --course-ink:#19212c; --course-muted:#626b79; --course-line:#dfe3ea; --course-wash:#f3f6fb; color:var(--course-ink); }
.course-nav { max-width:1160px; margin:auto; padding:20px 24px 0; display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid var(--course-line); }
.course-nav-brand { font-size:13px; font-weight:750; letter-spacing:.07em; padding-bottom:16px; }.course-nav-brand span { color:var(--course-muted); font-size:10px; font-weight:500; }
.course-nav>div { display:flex; gap:8px; }.course-nav button { padding:10px 18px 18px; border:0; border-bottom:3px solid transparent; background:none; color:var(--course-muted); font:inherit; font-size:14px; cursor:pointer; }.course-nav button[aria-current] { color:var(--course-blue); border-color:var(--course-blue); font-weight:750; }
.course-page { max-width:1160px; padding:48px 24px 72px; margin:auto; }.course-page *, .course-today * { box-sizing:border-box; }.course-page h1 { font-size:clamp(34px,4.5vw,58px); letter-spacing:-.045em; line-height:1.08; margin:16px 0 22px; }.course-page h2 { font-size:24px; letter-spacing:-.025em; line-height:1.25; }.course-page h3 { line-height:1.4; }.course-page p { line-height:1.7; }.course-page button,.course-page select,.course-page textarea,.course-today button { font:inherit; }.course-page button { cursor:pointer; }.course-page button:disabled { opacity:.5; cursor:default; }.course-page textarea,.course-page select,.course-notice textarea { width:100%; border:1px solid #b9c1d0; border-radius:8px; padding:12px; font:inherit; font-size:15px; background:white; color:var(--course-ink); }.course-page textarea { resize:vertical; line-height:1.6; }.course-page label { display:block; font-size:14px; font-weight:600; margin:16px 0 8px; }.course-page a { color:#284cc2; text-underline-offset:3px; }.course-page :is(button,a,input,select,textarea,summary):focus-visible,.course-nav :focus-visible,.course-today :focus-visible { outline:3px solid #7496ff; outline-offset:4px; }.course-page small { line-height:1.5; }
.course-eyebrow { font-size:11px; font-weight:750; letter-spacing:.15em; color:var(--course-blue); }.course-actions { display:flex; flex-wrap:wrap; gap:10px; margin:24px 0 0; }.course-hero { display:grid; grid-template-columns:1fr 260px; gap:64px; padding:16px 0 44px; align-items:center; }.course-hero h1 em { color:var(--course-blue); font-style:normal; }.course-hero p { max-width:540px; color:var(--course-muted); font-size:17px; }.course-hero-index { border-left:1px solid var(--course-line); padding-left:32px; }.course-hero-index>span { font-size:10px; letter-spacing:.1em; }.course-hero-index>strong { display:block; font-size:110px; line-height:1.25; font-weight:500; letter-spacing:-.09em; }.course-hero-index strong span { font-size:16px; letter-spacing:0; margin-left:12px; }.course-hero-index>div { font-size:13px; line-height:2; color:var(--course-muted); }
.course-coverage { display:flex; flex-wrap:wrap; gap:14px 32px; padding:20px 0; border-top:1px solid var(--course-line); border-bottom:1px solid var(--course-line); font-size:13px; color:var(--course-muted); }.course-coverage b { color:var(--course-ink); }.course-caption { font-size:12px; color:var(--course-muted); line-height:1.6; }.course-filters { display:flex; gap:8px; flex-wrap:wrap; margin:34px 0; }.course-filters button[aria-pressed=true] { background:var(--course-ink); color:white; border-color:var(--course-ink); }.course-section { margin:36px 0 48px; }.course-section-heading { display:flex; align-items:center; gap:16px; margin-bottom:18px; }.course-section-heading>span { color:var(--course-blue); font-weight:750; font-size:12px; min-width:40px; }.course-section-heading h2 { margin:0; font-size:21px; }.course-section-heading small { margin-left:auto; color:var(--course-muted); }.course-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }.course-unit { text-align:left; padding:22px; border:1px solid var(--course-line); border-radius:12px; background:white; display:flex; flex-direction:column; min-height:242px; transition:box-shadow .16s,border-color .16s; color:var(--course-ink); }.course-unit:hover { border-color:#8aa2e8; box-shadow:0 8px 25px #2338650b; }.course-unit-top { display:flex; flex-wrap:wrap; gap:8px; font-size:10px; letter-spacing:.035em; color:var(--course-muted); min-height:28px; }.course-lab-badge { color:#315be8; font-size:9px; font-weight:750; }.course-unit h3 { font-size:22px; letter-spacing:-.03em; margin:15px 0 6px; }.course-unit p { font-size:14px; color:var(--course-muted); margin:0 0 22px; }.course-unit-bottom { margin-top:auto; padding-top:16px; border-top:1px solid var(--course-line); display:flex; justify-content:space-between; gap:10px; font-size:11px; }.course-unit-bottom>span:last-child { white-space:nowrap; color:var(--course-blue); }
.course-map { border:1px solid var(--course-line); border-radius:10px; margin:18px 0; background:white; }.course-map>summary { padding:18px; font-weight:650; font-size:14px; cursor:pointer; }.course-map>summary>span { font-size:12px; font-weight:400; color:var(--course-muted); margin-left:8px; }.course-map>div { padding:0 18px 18px; }.course-map-row { display:grid; grid-template-columns:55px 1fr 150px; gap:8px 14px; padding:16px 0; border-top:1px solid var(--course-line); font-size:13px; }.course-map-row>span:last-of-type { color:var(--course-muted); text-align:right; font-size:11px; }.course-map-row button { grid-column:2 / -1; justify-self:start; text-align:left; }
.course-today { display:grid; grid-template-columns:1fr 210px; gap:40px; background:#f3f6ff; border:1px solid #dce4fa; border-radius:14px; padding:30px; margin:28px 0; }.course-today h2 { margin:12px 0; font-size:30px; letter-spacing:-.035em; }.course-today p { color:#556078; font-size:14px; line-height:1.6; max-width:550px; }.course-today-aside { border-left:1px solid #d3def3; padding-left:24px; display:flex; flex-direction:column; gap:12px; font-size:12px; }.course-number { font-size:56px; line-height:1; letter-spacing:-.06em; }.course-number small { font-size:18px; color:#626b79; letter-spacing:0; }.course-today-aside small { font-size:10px; color:#626b79; }.course-mini-track { height:4px; background:#d9e1f1; }.course-mini-track i { height:100%; display:block; background:#315be8; }.course-today-aside .ghostbtn { text-align:left; padding:0; color:#315be8; }
.course-lesson-heading { margin:26px 0 30px; }.course-lesson-heading h1 { font-size:clamp(34px,4vw,46px); }.course-lesson-heading p { color:var(--course-muted); }.course-steps { display:flex; gap:6px; border-bottom:1px solid var(--course-line); margin-bottom:32px; flex-wrap:wrap; }.course-steps button { background:none; padding:12px 18px; border:0; border-bottom:3px solid transparent; font-size:13px; }.course-steps [aria-current] { border-color:var(--course-blue); color:var(--course-blue); font-weight:700; }.course-lesson-grid { display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:48px; align-items:start; }.course-notebook { background:var(--course-wash); border-radius:12px; padding:22px; position:sticky; top:24px; }.course-notebook small { display:block; color:var(--course-muted); font-size:11px; margin-top:10px; }.course-next-links { margin-top:28px; display:flex; flex-direction:column; gap:12px; font-size:13px; }.course-next-links .ghostbtn { text-align:left; padding:0; }.course-blocks article { display:flex; gap:22px; margin-bottom:28px; padding-bottom:26px; border-bottom:1px solid var(--course-line); }.course-blocks article>span { font-size:12px; color:var(--course-blue); padding-top:8px; }.course-blocks h2 { margin:0 0 12px; }.course-blocks p { margin:0; font-size:16px; }.course-worked { margin:24px 0; border-left:3px solid var(--course-blue); padding:12px 22px; background:var(--course-wash); }.course-worked h3 { font-size:17px; margin:14px 0; }.course-worked p { font-size:15px; }.course-explore>.btn { margin-top:16px; }
.course-lab-controls { display:grid; gap:8px; grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:24px; padding:18px; background:var(--course-wash); border-radius:10px; }.course-slider span { display:flex; justify-content:space-between; gap:10px; font-size:12px; }.course-slider input { display:block; width:100%; margin-top:14px; accent-color:#315be8; }.course-slider output { color:var(--course-blue); }.course-lab-visual { border:1px solid var(--course-line); border-radius:10px; margin-top:14px; padding:14px; }.course-lab-visual svg { width:100%; height:auto; display:block; max-height:290px; }.course-lab-visual text { font-family:inherit; font-size:12px; fill:#394558; }.course-lab-reading { margin:18px 0 26px; }.course-lab-reading strong { font-size:38px; font-weight:550; letter-spacing:-.04em; }.course-lab-reading strong small { font-size:16px; letter-spacing:0; }.course-lab-reading p { font-size:14px; margin:8px 0; }.course-lab-reading>small { color:var(--course-muted); display:block; font-size:12px; }
.course-check { padding:22px 0; }.course-check h2 { margin:16px 0 24px; font-size:24px; }.course-answers { border:0; padding:0; margin:0 0 22px; min-width:0; }.course-answers legend { font-size:12px; color:var(--course-muted); }.course-answers label { display:flex; gap:12px; padding:16px; border:1px solid var(--course-line); border-radius:8px; font-weight:400; line-height:1.5; cursor:pointer; }.course-answers input { flex:none; accent-color:#315be8; }.course-answers label:has(input:checked) { border-color:#315be8; background:#f1f5ff; }.course-answers label.course-correct { border-color:#399d6d; background:#f0faf4; }.course-check>select { display:block; max-width:220px; margin:10px 0 22px; }.course-feedback { background:#f0f5ff; border:1px solid #dce4fa; border-radius:10px; padding:22px; margin:22px 0; }.course-feedback>strong { font-size:18px; }.course-feedback small { color:var(--course-muted); }.course-notice { padding:22px; border:1px solid #dce4fa; background:#f3f6ff; border-radius:10px; margin:22px 0; }.course-notice p { font-size:14px; line-height:1.6; }.course-notice label { display:block; margin:16px 0 8px; }.course-notice textarea { display:block; margin-bottom:14px; }.course-notice small { display:block; margin-top:8px; }.course-record-stats { display:flex; gap:40px; margin:28px 0; }.course-record-stats>div { display:flex; flex-direction:column; gap:8px; }.course-record-stats strong { font-size:28px; }.course-record-stats span { font-size:12px; color:var(--course-muted); }.course-related-actions { display:flex; flex-wrap:wrap; gap:10px; }.course-related-actions .btn { white-space:normal; text-align:left; }.course-saved-answer { padding:20px; border-top:1px solid var(--course-line); }.course-saved-answer p { white-space:pre-wrap; }.course-feedback-links { display:flex; flex-wrap:wrap; align-items:center; gap:8px 16px; border-top:1px solid #dfe3ea; margin-top:20px; padding-top:16px; font-size:12px; }.course-feedback-links>span { color:#626b79; }.course-feedback-links button { color:#315be8; text-align:left; }
.course-placement { max-width:800px; }.course-placement>p { color:var(--course-muted); }.course-background { display:grid; grid-template-columns:1fr 1fr; gap:16px; }.course-background select { margin-top:10px; }.course-placement #placement-body { margin:30px 0; }.course-placement .course-check { padding-top:0; }
.course-progress-heading { max-width:720px; margin-bottom:38px; }.course-progress-heading>p { color:var(--course-muted); }.course-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border:1px solid var(--course-line); border-radius:12px; }.course-metrics article { padding:24px; border-right:1px solid var(--course-line); }.course-metrics article:last-child { border:0; }.course-metrics article>span { font-size:12px; }.course-metrics strong { display:block; font-size:44px; font-weight:550; letter-spacing:-.06em; margin:16px 0; }.course-metrics strong small { font-size:20px; color:var(--course-muted); letter-spacing:0; }.course-metrics p { font-size:12px; color:var(--course-muted); margin:0; }.course-mode { margin:32px 0; padding:24px; background:var(--course-wash); border-radius:12px; }.course-mode p { font-size:13px; color:var(--course-muted); }.course-mode-options { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }.course-mode-options button { text-align:left; border:1px solid var(--course-line); background:white; border-radius:8px; padding:16px; color:inherit; }.course-mode-options button[aria-pressed=true] { border-color:var(--course-blue); box-shadow:inset 0 0 0 1px var(--course-blue); }.course-mode-options strong,.course-mode-options small { display:block; }.course-mode-options small { color:var(--course-muted); margin-top:8px; font-size:11px; }.course-progress-section { margin:44px 0; }.course-progress-section>p { color:var(--course-muted); font-size:13px; }.course-section-progress { padding:22px 0; border-bottom:1px solid var(--course-line); }.course-section-progress>div:first-child { display:flex; justify-content:space-between; gap:12px; font-size:14px; }.course-section-progress progress { display:block; width:100%; height:6px; margin:18px 0; accent-color:#315be8; }.course-section-progress>div:last-child { display:flex; flex-wrap:wrap; gap:6px 22px; }.course-section-progress button { text-align:left; padding:0; font-size:12px; }.course-exam-record { border:1px solid var(--course-line); border-radius:10px; padding:22px; margin:16px 0; }.course-exam-record>div { display:flex; align-items:center; gap:14px; justify-content:space-between; }.course-exam-record h3 { margin:0; font-size:17px; }.course-exam-record span { font-size:11px; color:var(--course-blue); }.course-exam-record p { font-size:13px; }
@media(max-width:850px) { .course-hero { gap:24px; grid-template-columns:1fr 190px; }.course-hero-index { padding-left:22px; }.course-grid { grid-template-columns:1fr; }.course-unit { min-height:0; }.course-unit h3 { margin-top:8px; }.course-unit-bottom { margin-top:0; }.course-lesson-grid { grid-template-columns:1fr; gap:32px; }.course-notebook { position:static; }.course-metrics { grid-template-columns:1fr 1fr; }.course-metrics article { border-bottom:1px solid var(--course-line); }.course-metrics article:nth-child(2) { border-right:0; }.course-metrics article:nth-child(3) { border-bottom:0; }.course-nav-brand span { display:none; } }
@media(max-width:560px) { .course-page { padding:28px 18px 48px; }.course-nav { flex-direction:column; align-items:stretch; padding:18px 18px 0; gap:4px; }.course-nav-brand { padding-bottom:8px; font-size:11px; }.course-nav>div { justify-content:space-between; gap:0; }.course-nav button { font-size:13px; padding:10px 8px 14px; }.course-hero { grid-template-columns:1fr; padding:8px 0 28px; }.course-hero-index { display:none; }.course-hero p { font-size:15px; }.course-section-heading { flex-wrap:wrap; gap:8px 12px; }.course-section-heading h2 { font-size:19px; flex:1; }.course-section-heading small { display:none; }.course-coverage { gap:12px; flex-direction:column; }.course-filters { gap:6px; }.course-filters button { padding:10px 12px; font-size:12px; }.course-unit { padding:20px; }.course-map-row { grid-template-columns:45px 1fr; }.course-map-row>span:last-of-type { grid-column:2; text-align:left; }.course-map>summary>span { display:block; margin:8px 0 0; }.course-today { grid-template-columns:1fr; gap:24px; padding:22px; }.course-today h2 { font-size:27px; }.course-today-aside { border-left:0; border-top:1px solid #d3def3; padding:20px 0 0; }.course-number { font-size:42px; }.course-today-aside .course-mini-track { max-width:200px; }.course-steps { gap:0; }.course-steps button { padding:12px 10px; font-size:12px; }.course-blocks article { gap:14px; }.course-blocks p { font-size:15px; }.course-blocks h2 { font-size:22px; }.course-lab-controls { grid-template-columns:1fr; padding:12px; }.course-lab-visual { padding:4px; }.course-background { grid-template-columns:1fr; gap:0; }.course-check h2 { font-size:22px; }.course-record-stats { gap:22px; }.course-metrics article { padding:16px; }.course-metrics strong { font-size:36px; }.course-mode { padding:18px; }.course-mode-options { grid-template-columns:1fr; }.course-mode-options button { display:flex; justify-content:space-between; gap:12px; align-items:center; }.course-mode-options small { margin:0; text-align:right; }.course-exam-record>div { align-items:start; flex-direction:column; gap:8px; }.course-page .btn { white-space:normal; }.course-page .course-actions { align-items:stretch; } }
@media(prefers-reduced-motion:reduce) { .course-unit { transition:none; } }

.course-workspace [hidden] { display:none !important; }
.today-support .course-today-compact { background:#fff; border-color:var(--course-line); padding:24px; gap:24px; grid-template-columns:minmax(0,1fr) 180px; margin:0; }
.course-today-compact h2 { font-size:23px; margin:10px 0; }
.course-today-compact .course-number { font-size:34px; }
.course-today-compact .course-number small { font-size:14px; }
.course-today-compact .course-today-aside { border-color:#e1e5eb; padding-left:20px; gap:10px; }
.course-today-compact .course-actions { gap:8px; }
.course-today-compact .btn { font-size:12px; padding:10px 14px; min-height:44px; }
@media(max-width:600px) {
  .today-support .course-today-compact { padding:20px; grid-template-columns:1fr; gap:20px; }
  .course-today-compact .course-today-aside { border-left:0; border-top:1px solid #e1e5eb; padding:18px 0 0; }
}
.course-session-return { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; padding:20px 0; margin:8px 0 18px; border-bottom:1px solid var(--line); }
.course-session-return > div { flex:1 1 220px; }
.course-session-return p { color:var(--dim); margin:6px 0 0; font-size:14px; }
.course-session-return > .btn { min-height:46px; }

/* Keep the current study task ahead of academy navigation. */
.course-study-header { max-width:1160px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:10px 24px; border-bottom:1px solid var(--course-line); }
.course-study-header>span { font-size:13px; font-weight:750; letter-spacing:.07em; }
.course-study-header small { color:var(--course-muted); font-size:10px; font-weight:500; }
.course-study-header .btn { min-height:44px; padding:10px 16px; font-size:12px; }
.course-study .course-page { padding-top:20px; }
.course-study .course-lesson-heading { margin:18px 0; }
.course-study .course-lesson-heading-compact h1 { font-size:26px; margin:8px 0; }
.course-study .course-lesson-heading-compact p { display:none; }
.course-study .course-steps { margin-bottom:16px; }
.course-study .course-check { padding-top:0; }
.course-study h2[tabindex],.course-study h1[tabindex] { scroll-margin-top:18px; }
.course-study .v2-run-title { font-size:clamp(25px,3vw,34px); margin:16px 0 24px; }
.course-study .course-steps button,.course-study .backbtn { min-height:44px; }
@media(max-width:560px) {
 .course-study-header { padding:8px 18px; }
 .course-study .course-lesson-heading h1 { font-size:27px; }
 .course-study .course-lesson-heading-compact h1 { font-size:22px; }
 .course-study .course-page { padding-top:16px; }
}

.course-study-header { box-sizing:border-box; width:100%; }
.course-study #course-help-result strong { scroll-margin-top:28px; }
