/* The four lesson panels share legible fields, spacing and interaction states. */
body.is-course-player .lesson-panels { --panel-ink:#18314e; --panel-muted:#53667d; --panel-line:#dce5ef; }
body.is-course-player .lesson-panels [hidden] { display:none !important; }
body.is-course-player .lesson-panels .player-panel-view { max-width:1280px; margin:auto; padding:24px; color:var(--panel-ink); }
body.is-course-player .lesson-panels .player-panel-view :is(p,small,time,input,textarea,select) { font-weight:400; }
body.is-course-player .lesson-panels .player-panel-view :is(strong,h3) { font-weight:600; }
body.is-course-player .lesson-panels .player-panel-view button { font-weight:600; }
body.is-course-player .lesson-panels .player-panel-view :is(input,textarea,select) { font-family:inherit; font-size:14px; font-weight:400; color:var(--panel-ink); }
body.is-course-player .lesson-panels .player-panel-view :is(input,textarea)::placeholder { color:var(--panel-muted); opacity:1; font-weight:400; }
body.is-course-player .lesson-panels :is(button,a,input,select,textarea):focus-visible { outline:3px solid #2366b8; outline-offset:3px; }
body.is-course-player .lesson-panels :is(button,a) { scroll-margin-block:100px; }
body.is-course-player .lesson-panels :is(button,select) { cursor:pointer; }
body.is-course-player .lesson-panels :is(.lesson-panel-heading,.lesson-current-context,.panel-utility-v18,.summary-layout-v18,.review-overview-v18) { margin-bottom:24px; }
body.is-course-player .lesson-panels .lesson-panel-heading span { color:#215aa0; font-size:12px; font-weight:600; }
body.is-course-player .lesson-panels .lesson-panel-heading h2 { font-size:24px; font-weight:650; letter-spacing:-.025em; line-height:1.35; margin:6px 0; overflow-wrap:anywhere; }
body.is-course-player .lesson-panels .lesson-panel-heading p { color:var(--panel-muted); font-size:14px; line-height:1.65; margin:0; }
body.is-course-player .lesson-panels .lesson-current-context { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; padding:18px 20px; background:#edf4fc; border:1px solid #d4e3f5; border-radius:12px; }
body.is-course-player .lesson-panels .lesson-current-context > div:first-child { display:grid; gap:6px; min-width:0; flex:1 1 230px; }
body.is-course-player .lesson-panels .lesson-current-context span { font-size:12px; color:var(--panel-muted); overflow-wrap:anywhere; }
body.is-course-player .lesson-panels .lesson-current-context strong { font-size:17px; line-height:1.4; overflow-wrap:anywhere; }
body.is-course-player .lesson-panels .lesson-context-actions { display:flex; flex-wrap:wrap; gap:8px; }
body.is-course-player .lesson-panels :is(.lesson-context-actions button,.lesson-filter-row > button,.lesson-filter-results button,.lesson-filter-empty button) { background:white; border:1px solid #bed0e7; border-radius:8px; color:#174f98; min-height:44px; font-size:13px; font-weight:600; padding:10px 14px; }
body.is-course-player .lesson-panels :is(.lesson-context-actions button,.lesson-filter-row > button,.lesson-filter-results button,.lesson-filter-empty button):hover { background:#e8f1fc; border-color:#8faed4; }
body.is-course-player .lesson-panels :is(.summary-copy-v18,.summary-progress-v18,.panel-utility-v18,.qa-card-v18,.review-overview-v18,.review-card-v18,.review-form-v18,.resource-section-v18) { border:1px solid var(--panel-line); border-radius:12px; box-shadow:none; }
body.is-course-player .lesson-panels .summary-layout-v18 { grid-template-columns:minmax(0,1fr) 290px; gap:20px; }
body.is-course-player .lesson-panels :is(.summary-copy-v18,.summary-progress-v18) { padding:22px; }
body.is-course-player .lesson-panels .panel-inline-meta-v18 { flex-wrap:wrap; gap:8px 16px; font-size:12px; color:var(--panel-muted); }
body.is-course-player .lesson-panels .panel-inline-meta-v18 :is(span,time) { font-size:12px; color:var(--panel-muted); line-height:1.6; }
body.is-course-player .lesson-panels .lesson-copy-title { font-size:18px; margin:24px 0 14px; font-weight:600; }
body.is-course-player .lesson-panels .summary-body-v18 p { font-size:14px; line-height:1.85; color:#354d67; margin:0 0 16px; overflow-wrap:anywhere; }
body.is-course-player .lesson-panels .summary-author-v18 { margin-top:24px; padding-top:18px; }
body.is-course-player .lesson-panels .summary-author-v18 strong { font-size:14px; }
body.is-course-player .lesson-panels :is(.summary-author-v18 small,.summary-progress-v18 p,.summary-progress-v18 dt,.summary-outcomes-v18 > span) { font-size:12px; color:var(--panel-muted); line-height:1.65; }
body.is-course-player .lesson-panels .summary-progress-head-v18 > span { font-size:14px; font-weight:600; }
body.is-course-player .lesson-panels .summary-progress-head-v18 > strong { font-size:28px; }
body.is-course-player .lesson-panels .summary-progress-v18 dd { font-size:23px; font-weight:600; }
body.is-course-player .lesson-panels .summary-outcomes-v18 li { font-size:13px; line-height:1.7; }
body.is-course-player .lesson-panels .panel-utility-v18 { gap:16px; padding:20px; flex-wrap:wrap; }
body.is-course-player .lesson-panels .lesson-context-v18 { gap:7px; flex:1 1 250px; }
body.is-course-player .lesson-panels .lesson-context-v18 > span { font-size:12px; font-weight:600; letter-spacing:.04em; }
body.is-course-player .lesson-panels .lesson-context-v18 > strong { font-size:20px; font-weight:650; line-height:1.4; }
body.is-course-player .lesson-panels .lesson-context-v18 > small { font-size:13px; color:var(--panel-muted); line-height:1.6; }
body.is-course-player .lesson-panels :is(.panel-primary-v18,.qa-composer-v18 button[type=submit],.review-form-v18 > button) { min-height:44px; border-radius:8px; font-size:14px; font-weight:600; padding:11px 16px; }
body.is-course-player .lesson-panels .qa-tools-v18 { gap:14px; margin:0 0 14px; }
body.is-course-player .lesson-panels .qa-search-v18 { flex:1 1 260px; max-width:none; min-width:0; }
body.is-course-player .lesson-panels :is(.qa-search-v18,.lesson-search) { background:white; border:1px solid #cbd8e8; border-radius:9px; display:flex; align-items:center; gap:10px; padding:0 14px; min-height:46px; }
body.is-course-player .lesson-panels :is(.qa-search-v18,.lesson-search):focus-within { border-color:#2366b8; box-shadow:0 0 0 3px #dce9f9; }
body.is-course-player .lesson-panels :is(.qa-search-v18,.lesson-search) svg { width:18px; height:18px; fill:none; stroke:#536b88; stroke-width:1.7; flex-shrink:0; }
body.is-course-player .lesson-panels :is(.qa-search-v18,.lesson-search) input { width:100%; min-width:0; min-height:44px; border:0; padding:0; outline:none; background:transparent; }
body.is-course-player .lesson-panels .qa-scope-v18 { border-radius:9px; flex:0 1 auto; padding:4px; }
body.is-course-player .lesson-panels .qa-scope-v18 button { font-size:13px; padding:10px 12px; min-height:44px; white-space:normal; }
body.is-course-player .lesson-panels .qa-scope-v18 button span { font-size:11px; color:#455d79; }
body.is-course-player .lesson-panels .lesson-filter-row { display:flex; flex-wrap:wrap; align-items:end; gap:12px; margin:0 0 24px; }
body.is-course-player .lesson-panels .lesson-filter-row label { display:grid; gap:7px; min-width:0; flex:1 1 180px; }
body.is-course-player .lesson-panels .lesson-filter-row label > span { color:var(--panel-muted); font-size:12px; font-weight:600; }
body.is-course-player .lesson-panels .lesson-filter-row select { width:100%; min-width:0; min-height:44px; padding:10px 30px 10px 12px; background:white; border:1px solid #cbd8e8; border-radius:8px; }
body.is-course-player .lesson-panels .lesson-collection-toolbar { display:grid; gap:14px; margin:16px 0 20px; }
body.is-course-player .lesson-panels .lesson-collection-toolbar .lesson-filter-row { margin:0; }
body.is-course-player .lesson-panels .lesson-filter-results { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px; }
body.is-course-player .lesson-panels .lesson-filter-results p { margin:0; color:var(--panel-muted); font-size:12px; line-height:1.6; }
body.is-course-player .lesson-panels .lesson-filter-empty { background:white; border:1px dashed #c2d2e5; border-radius:12px; padding:28px; text-align:center; }
body.is-course-player .lesson-panels .lesson-filter-empty strong { font-size:16px; }
body.is-course-player .lesson-panels .lesson-filter-empty p { color:var(--panel-muted); font-size:14px; line-height:1.7; }
body.is-course-player .lesson-panels .qa-composer-v18 { padding:22px; border-radius:12px; background:white; box-shadow:none; gap:16px; margin-bottom:24px; }
body.is-course-player .lesson-panels .qa-composer-heading strong { font-size:18px; }
body.is-course-player .lesson-panels .qa-composer-heading small { font-size:12px; color:var(--panel-muted); line-height:1.6; }
body.is-course-player .lesson-panels .qa-composer-heading > button { min-width:44px; min-height:44px; font-size:24px; }
body.is-course-player .lesson-panels .qa-composer-v18 label { gap:8px; min-width:0; }
body.is-course-player .lesson-panels .qa-composer-v18 label > span { font-size:13px; font-weight:600; }
body.is-course-player .lesson-panels .qa-composer-v18 :is(input,textarea) { background:#fbfcfe; padding:12px; min-height:44px; line-height:1.7; border-radius:8px; border:1px solid #cbd8e8; }
body.is-course-player .lesson-panels .qa-composer-v18 :is(small,button) { font-size:12px; line-height:1.6; }
body.is-course-player .lesson-panels .lesson-character-count { text-align:right; color:var(--panel-muted); }
body.is-course-player .lesson-panels .qa-composer-v18 > div:last-child { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:10px; }
body.is-course-player .lesson-panels .qa-composer-v18 > div:last-child > button { min-height:44px; font-size:14px; }
body.is-course-player .lesson-panels .qa-feed-head-v18 { font-size:12px; font-weight:600; color:var(--panel-muted); margin:24px 0 12px; }
body.is-course-player .lesson-panels .qa-feed-head-v18 strong { font-size:12px; }
body.is-course-player .lesson-panels .qa-card-v18 { padding:22px; margin-bottom:0; }
body.is-course-player .lesson-panels .qa-card-author-v18 { gap:10px; grid-template-columns:40px minmax(0,1fr) auto; }
body.is-course-player .lesson-panels .qa-card-author-v18 > span { width:40px; height:40px; font-size:12px; }
body.is-course-player .lesson-panels .qa-card-author-v18 strong { font-size:14px; line-height:1.5; }
body.is-course-player .lesson-panels .qa-card-author-v18 small { font-size:12px; color:var(--panel-muted); }
body.is-course-player .lesson-panels .qa-card-author-v18 em { font-size:12px; font-weight:600; color:#176345; background:#eaf6ef; padding:6px 10px; }
body.is-course-player .lesson-panels .qa-card-v18.is-pending .qa-card-author-v18 em { color:#79530a; background:#fff4de; }
body.is-course-player .lesson-panels .qa-card-context-v18 { margin:18px 0 0; flex-wrap:wrap; gap:8px; }
body.is-course-player .lesson-panels .qa-card-context-v18 :is(span,button) { font-size:12px; line-height:1.6; }
body.is-course-player .lesson-panels .qa-card-context-v18 button { min-height:36px; }
body.is-course-player .lesson-panels .qa-card-v18 > h3 { font-size:17px; font-weight:600; line-height:1.5; margin:14px 0 8px; }
body.is-course-player .lesson-panels .qa-card-v18 > p { font-size:14px; line-height:1.8; margin:0; white-space:pre-line; }
body.is-course-player .lesson-panels :is(.qa-answer-v18,.qa-awaiting-v18) { margin:18px 0 0; }
body.is-course-player .lesson-panels :is(.qa-answer-v18 small,.qa-answer-v18 time,.qa-awaiting-v18) { font-size:12px; line-height:1.65; }
body.is-course-player .lesson-panels .qa-answer-v18 p { font-size:14px; line-height:1.8; white-space:pre-line; }
body.is-course-player .lesson-panels :is(.panel-empty-v18,.review-empty-v18) { padding:28px; border-radius:12px; }
body.is-course-player .lesson-panels :is(.panel-empty-v18,.review-empty-v18) strong { font-size:16px; line-height:1.5; }
body.is-course-player .lesson-panels :is(.panel-empty-v18,.review-empty-v18) p { font-size:14px; line-height:1.75; color:var(--panel-muted); margin-top:8px; }
body.is-course-player .lesson-panels .panel-empty-v18 button { min-height:44px; font-size:13px; padding:10px 14px; margin:12px 8px 0 0; }
body.is-course-player .lesson-panels .review-overview-v18 { padding:24px; grid-template-columns:240px minmax(0,1fr); gap:24px; }
body.is-course-player .lesson-panels .review-score-v18 { grid-template-columns:1fr; padding-right:24px; gap:9px; }
body.is-course-player .lesson-panels .review-score-v18 > strong { grid-row:auto; font-size:42px; font-weight:650; color:#8e5c08; }
body.is-course-player .lesson-panels .review-score-v18 > span { font-size:12px; color:var(--panel-muted); }
body.is-course-player .lesson-panels .review-stars-v18 { font-size:17px; gap:2px; }
body.is-course-player .lesson-panels .review-stars-v18 > span.active { color:#986410; }
body.is-course-player .lesson-panels .review-bars-v18 { gap:10px; }
body.is-course-player .lesson-panels .review-bars-v18 :is(span,small) { font-size:12px; color:var(--panel-muted); }
body.is-course-player .lesson-panels .review-bars-v18 b { height:7px; }
body.is-course-player .lesson-panels .reviews-layout-v18 { grid-template-columns:minmax(0,1fr) 300px; gap:24px; margin-top:0; }
body.is-course-player .lesson-panels .review-community-v18 > header { align-items:center; }
body.is-course-player .lesson-panels :is(.review-community-v18 > header span,.review-form-v18 > div:first-child > span) { font-size:12px; font-weight:600; letter-spacing:.02em; }
body.is-course-player .lesson-panels :is(.review-community-v18 h3,.review-form-v18 h3) { font-size:18px; font-weight:600; line-height:1.5; }
body.is-course-player .lesson-panels .review-community-v18 > header > small { font-size:12px; min-width:32px; height:32px; }
body.is-course-player .lesson-panels .review-editor-v18 { top:90px; }
body.is-course-player .lesson-panels .review-form-v18 { padding:20px; gap:20px; }
body.is-course-player .lesson-panels .review-form-v18 > div:first-child > p { font-size:13px; line-height:1.7; }
body.is-course-player .lesson-panels :is(.review-form-v18 legend,.review-comment-v18 > span) { font-size:13px; font-weight:600; }
body.is-course-player .lesson-panels .review-rating-v18 { flex-wrap:wrap; }
body.is-course-player .lesson-panels .review-rating-v18 label > span[aria-hidden=true] { width:44px; height:44px; font-size:23px; }
body.is-course-player .lesson-panels .review-rating-v18 label:focus-within { outline:3px solid #2366b8; outline-offset:3px; border-radius:8px; }
body.is-course-player .lesson-panels .lesson-rating-caption { font-size:12px; color:var(--panel-muted); line-height:1.6; margin:10px 0 0; }
body.is-course-player .lesson-panels .review-comment-v18 textarea { min-height:150px; line-height:1.8; padding:12px; }
body.is-course-player .lesson-panels .review-comment-v18 > small { position:static; text-align:right; font-size:12px; color:var(--panel-muted); }
body.is-course-player .lesson-panels .review-status-v18 { font-size:13px; line-height:1.7; color:#176345; overflow-wrap:anywhere; }
body.is-course-player .lesson-panels .review-status-v18:empty { display:none; }
body.is-course-player .lesson-panels .lesson-question-status { font-size:13px; line-height:1.7; overflow-wrap:anywhere; }
body.is-course-player .lesson-panels .lesson-question-status:empty { display:none; }
body.is-course-player .lesson-panels [data-state=error] { color:#a12727; }
body.is-course-player .lesson-panels [data-state=saving] { color:var(--panel-muted); }
body.is-course-player .lesson-panels .review-card-v18 { padding:20px; }
body.is-course-player .lesson-panels .review-card-head-v18 strong { font-size:14px; line-height:1.6; overflow-wrap:anywhere; }
body.is-course-player .lesson-panels .review-card-head-v18 small { font-size:12px; color:var(--panel-muted); }
body.is-course-player .lesson-panels .review-card-head-v18 > span { font-size:11px; }
body.is-course-player .lesson-panels .review-card-v18 > p { margin:16px 0 0; font-size:14px; line-height:1.8; white-space:pre-line; }
body.is-course-player .lesson-panels .review-reply-v18 { margin:18px 0 0; }
body.is-course-player .lesson-panels .review-reply-v18 :is(small,time) { font-size:12px; line-height:1.6; }
body.is-course-player .lesson-panels .review-reply-v18 p { font-size:14px; line-height:1.8; white-space:pre-line; }
body.is-course-player .lesson-panels .resource-totals-v18 { display:flex; flex-wrap:wrap; gap:10px; }
body.is-course-player .lesson-panels .resource-totals-v18 > span { font-size:12px; line-height:1.7; color:var(--panel-muted); padding:8px 12px; }
body.is-course-player .lesson-panels .resource-totals-v18 strong { font-size:15px; color:var(--panel-ink); }
body.is-course-player .lesson-panels .resource-section-v18 { background:white; padding:20px; }
body.is-course-player .lesson-panels .resource-section-v18 > header { margin-bottom:12px; }
body.is-course-player .lesson-panels .resource-section-v18 > header h3 { font-size:17px; font-weight:600; }
body.is-course-player .lesson-panels .resource-section-v18 > header > span { font-size:12px; color:var(--panel-muted); }
body.is-course-player .lesson-panels .resource-item-v18 { padding:16px 0; grid-template-columns:44px minmax(0,1fr) auto; gap:14px; }
body.is-course-player .lesson-panels :is(.resource-filetype-v18,.recording-play-v18) { height:44px; width:44px; border-radius:10px; font-size:12px; }
body.is-course-player .lesson-panels .resource-item-v18 > div > strong { font-size:15px; font-weight:600; line-height:1.65; overflow-wrap:anywhere; }
body.is-course-player .lesson-panels .resource-item-v18 > div > small { font-size:12px; color:var(--panel-muted); line-height:1.7; overflow-wrap:anywhere; }
body.is-course-player .lesson-panels .resource-item-v18 > :is(a,button) { min-height:44px; font-size:13px; font-weight:600; border-radius:8px; }
@media (max-width:1400px) {
  body.is-course-player .lesson-panels .summary-layout-v18 { grid-template-columns:minmax(0,1fr); }
  body.is-course-player .lesson-panels .reviews-layout-v18 { grid-template-columns:minmax(0,1fr); }
  body.is-course-player .lesson-panels .review-editor-v18 { position:static; }
}
@media (max-width:680px) {
  body.is-course-player .lesson-panels .player-panel-view { padding:20px 12px; }
  body.is-course-player .lesson-panels .lesson-panel-heading h2 { font-size:21px; }
  body.is-course-player .lesson-panels :is(.panel-utility-v18,.summary-copy-v18,.summary-progress-v18,.qa-card-v18,.review-card-v18,.review-form-v18,.resource-section-v18,.qa-composer-v18) { padding:16px; }
  body.is-course-player .lesson-panels .lesson-context-v18 { flex-basis:100%; }
  body.is-course-player .lesson-panels .panel-utility-v18 > .panel-primary-v18 { width:100%; }
  body.is-course-player .lesson-panels .qa-tools-v18 { display:grid; grid-template-columns:minmax(0,1fr); align-items:stretch; justify-content:stretch; }
  body.is-course-player .lesson-panels .qa-search-v18 { flex:0 1 auto; width:100%; }
  body.is-course-player .lesson-panels .qa-scope-v18 { display:grid; grid-template-columns:1fr 1fr; }
  body.is-course-player .lesson-panels .lesson-filter-row label { flex-basis:100%; }
  body.is-course-player .lesson-panels .lesson-filter-row { gap:14px; }
  body.is-course-player .lesson-panels .player-panel-view :is(input,textarea,select) { font-size:16px; }
  body.is-course-player .lesson-panels .qa-card-author-v18 { grid-template-columns:40px minmax(0,1fr); }
  body.is-course-player .lesson-panels .qa-card-author-v18 em { grid-column:2; justify-self:start; }
  body.is-course-player .lesson-panels .review-overview-v18 { grid-template-columns:1fr; padding:20px; gap:20px; }
  body.is-course-player .lesson-panels .review-score-v18 { border:0; padding:0 0 20px; border-bottom:1px solid var(--panel-line); }
  body.is-course-player .lesson-panels .review-card-head-v18 { grid-template-columns:35px minmax(0,1fr); }
  body.is-course-player .lesson-panels .review-card-head-v18 .review-stars-v18 { grid-column:2; }
  body.is-course-player .lesson-panels .resource-item-v18 { grid-template-columns:44px minmax(0,1fr); gap:12px; }
  body.is-course-player .lesson-panels .resource-item-v18 > :is(a,button) { grid-column:2; justify-self:start; }
  body.is-course-player .lesson-panels :is(.panel-empty-v18,.review-empty-v18,.lesson-filter-empty) { padding:22px 16px; }
}
@media (prefers-reduced-motion:no-preference) {
  body.is-course-player .lesson-panels :is(.panel-primary-v18,.lesson-context-actions button,.review-form-v18 > button) { transition:background-color .15s,border-color .15s; }
}

/* Course overview: the teacher's guide, actual learning goals and lesson progress. */
body.is-course-player .lesson-panels .summary-view { max-width:1160px; padding:28px clamp(18px,3vw,36px); }
body.is-course-player .lesson-panels .summary-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:24px; }
body.is-course-player .lesson-panels .summary-heading > div { min-width:0; }
body.is-course-player .lesson-panels .summary-heading > div > span { font-size:11px; letter-spacing:.06em; color:#526b87; font-weight:500; }
body.is-course-player .lesson-panels .summary-heading h2 { font-size:clamp(23px,2.3vw,29px); margin:7px 0 6px; line-height:1.25; }
body.is-course-player .lesson-panels .summary-heading p { font-size:14px; }
body.is-course-player .lesson-panels .summary-heading .summary-course-tag { display:flex; align-items:center; gap:8px; flex-shrink:0; padding:10px 13px; border:1px solid #dbe5f0; border-radius:30px; font-size:12px; color:#4c6680; font-weight:400; }
body.is-course-player .lesson-panels .summary-course-tag svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.5; }
body.is-course-player .lesson-panels .summary-layout-v18 { grid-template-columns:minmax(0,1fr) 290px; margin:0 0 20px; align-items:stretch; }
body.is-course-player .lesson-panels .summary-copy-v18 { padding:24px; border-radius:16px; background:#fff; }
body.is-course-player .lesson-panels .summary-guide-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
body.is-course-player .lesson-panels .summary-guide-heading h3 { margin:0; font-size:17px; line-height:1.45; letter-spacing:-.02em; }
body.is-course-player .lesson-panels .summary-publication-state { display:inline-flex; align-items:center; gap:6px; flex-shrink:0; padding:5px 9px; border-radius:20px; background:#f1f4f8; color:#52677d; font-size:11px; font-weight:400; line-height:1.5; }
body.is-course-player .lesson-panels .summary-publication-state::before { content:""; width:5px; height:5px; background:#7d8da0; border-radius:50%; }
body.is-course-player .lesson-panels .summary-publication-state.is-published { color:#24644f; background:#edf7f2; }
body.is-course-player .lesson-panels .summary-publication-state.is-published::before { background:#2b8161; }
body.is-course-player .lesson-panels .summary-awaiting-guide { display:flex; align-items:center; gap:20px; padding:25px 0 8px; }
body.is-course-player .lesson-panels .summary-awaiting-guide > span { display:grid; place-items:center; width:74px; height:80px; flex:0 0 74px; border:1px solid #dde8f5; border-radius:16px; color:#3f75ad; background:linear-gradient(145deg,#f3f8fe,#e8f1fc); transform:rotate(-5deg); }
body.is-course-player .lesson-panels .summary-awaiting-guide svg { width:42px; height:42px; fill:none; stroke:currentColor; stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; }
body.is-course-player .lesson-panels .summary-awaiting-guide strong { display:block; font-size:16px; line-height:1.4; }
body.is-course-player .lesson-panels .summary-awaiting-guide p { margin:8px 0 0; max-width:43ch; font-size:14px; line-height:1.75; color:#53667d; }
body.is-course-player .lesson-panels .summary-copy-v18 .panel-inline-meta-v18 { margin:12px 0 18px; padding:0; border:0; justify-content:flex-start; gap:6px 16px; }
body.is-course-player .lesson-panels .summary-copy-v18 .panel-inline-meta-v18 span { font-weight:400; }
body.is-course-player .lesson-panels .summary-body-v18 p { font-size:15px; line-height:1.85; }
body.is-course-player .lesson-panels .summary-body-v18 p:last-child { margin-bottom:0; }
body.is-course-player .lesson-panels .summary-outcomes-v18 { margin:24px 0 0; padding:20px 0 0; border-top:1px solid #e2eaf3; }
body.is-course-player .lesson-panels .summary-outcomes-v18 h3 { margin:0 0 15px; color:#18314e; font-size:15px; line-height:1.5; letter-spacing:-.01em; }
body.is-course-player .lesson-panels .summary-outcomes-v18 ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px 22px; margin:0; padding:0; list-style:none; }
body.is-course-player .lesson-panels .summary-outcomes-v18 li { display:flex; align-items:flex-start; gap:10px; color:#3e5670; font-size:13px; line-height:1.7; font-weight:400; overflow-wrap:anywhere; }
body.is-course-player .lesson-panels .summary-outcomes-v18 li > span { display:grid; place-items:center; flex:0 0 20px; width:20px; height:20px; margin-top:1px; color:#27705d; border-radius:50%; background:#eaf5ef; }
body.is-course-player .lesson-panels .summary-outcomes-v18 svg { width:14px; height:14px; margin:0; fill:none; stroke:currentColor; stroke-width:1.8; }
body.is-course-player .lesson-panels .summary-progress-v18 { display:flex; flex-direction:column; align-self:start; gap:0; padding:24px; border:1px solid #284766; border-radius:16px; background:radial-gradient(ellipse at 0 0,#315e88,transparent 75%),#17334f; color:#fff; }
body.is-course-player .lesson-panels .summary-progress-kicker { color:#c6dcf2; font-size:11px; font-weight:500; letter-spacing:.05em; line-height:1.6; }
body.is-course-player .lesson-panels .summary-progress-visual { display:flex; align-items:center; gap:17px; margin:25px 0 22px; }
body.is-course-player .lesson-panels .summary-progress-visual > div { min-width:0; }
body.is-course-player .lesson-panels .summary-progress-visual > div > strong { font-size:17px; font-weight:600; letter-spacing:-.02em; line-height:1.35; color:#fff; }
body.is-course-player .lesson-panels .summary-progress-visual p { margin:6px 0 0; color:#c7d9ec; font-size:12px; line-height:1.6; }
body.is-course-player .lesson-panels .summary-progress-v18 .summary-progress-bar-v18 { height:4px; background:#49637e; margin:0 0 10px; }
body.is-course-player .lesson-panels .summary-progress-v18 .summary-progress-bar-v18 i { background:#94cfff; }
body.is-course-player .lesson-panels .summary-progress-v18[data-progress-stage=complete] .summary-progress-bar-v18 i { background:linear-gradient(90deg,#c99c45,#f2d794); }
body.is-course-player .lesson-panels .summary-progress-v18 > .summary-progress-count { font-size:12px; line-height:1.6; color:#d3e2f1; margin:0; }
body.is-course-player .lesson-panels .summary-progress-v18 dl { display:grid; grid-template-columns:1fr 1fr; gap:0; margin:22px 0 0; padding-top:18px; border-top:1px solid #ffffff26; }
body.is-course-player .lesson-panels .summary-progress-v18 dl div { display:flex; flex-direction:column-reverse; align-items:flex-start; gap:4px; background:none; border:0; border-radius:0; padding:0; }
body.is-course-player .lesson-panels .summary-progress-v18 dl div + div { border-left:1px solid #ffffff26; padding-left:22px; }
body.is-course-player .lesson-panels .summary-progress-v18 dt { font-size:12px; font-weight:400; line-height:1.5; color:#c7d9ec; }
body.is-course-player .lesson-panels .summary-progress-v18 dd { margin:0; font-size:23px; font-weight:600; line-height:1.2; color:#fff; }
body.is-course-player .lesson-panels .summary-current-lesson { margin:0; padding:18px 20px; gap:15px; background:#fff; border:1px solid #dce5ef; border-radius:14px; flex-wrap:nowrap; }
body.is-course-player .lesson-panels .summary-lesson-number { display:grid; place-items:center; width:42px; height:42px; flex:0 0 42px; border-radius:12px; background:#edf4fc; color:#2c64a2; font-size:15px; font-weight:600; }
body.is-course-player .lesson-panels .summary-current-lesson > div:not(.lesson-context-actions) { display:grid; gap:5px; min-width:0; flex:1; }
body.is-course-player .lesson-panels .summary-current-lesson strong { font-size:15px; line-height:1.4; }
body.is-course-player .lesson-panels .summary-current-lesson > div > span { font-size:11px; line-height:1.6; }
body.is-course-player .lesson-panels .summary-current-lesson .lesson-context-actions { flex-shrink:0; flex-wrap:nowrap; }
body.is-course-player .lesson-panels .summary-current-lesson button { display:flex; align-items:center; justify-content:center; gap:8px; font-weight:500; font-size:12px; white-space:nowrap; }
body.is-course-player .lesson-panels .summary-current-lesson button:first-child { color:#fff; background:#235f9e; border-color:#235f9e; }
body.is-course-player .lesson-panels .summary-current-lesson button:first-child:hover { background:#194e85; }
body.is-course-player .lesson-panels .summary-current-lesson button svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.7; }
@media (max-width:1250px) and (min-width:1101px), (max-width:850px) {
  body.is-course-player .lesson-panels .summary-layout-v18 { grid-template-columns:minmax(0,1fr); }
  body.is-course-player .lesson-panels .summary-progress-v18 { display:grid; grid-template-columns:minmax(0,1fr) minmax(160px,.7fr); column-gap:28px; align-items:center; }
  body.is-course-player .lesson-panels .summary-progress-kicker { grid-column:1; grid-row:1; }
  body.is-course-player .lesson-panels .summary-progress-visual { grid-column:1; grid-row:2/5; margin:18px 0 0; }
  body.is-course-player .lesson-panels .summary-progress-v18 .summary-progress-bar-v18 { grid-column:2; grid-row:2; margin:18px 0 8px; }
  body.is-course-player .lesson-panels .summary-progress-count { grid-column:2; grid-row:3; }
  body.is-course-player .lesson-panels .summary-progress-v18 dl { grid-column:2; grid-row:4; margin-top:12px; padding-top:12px; }
  body.is-course-player .lesson-panels .summary-course-tag { display:none !important; }
  body.is-course-player .lesson-panels .summary-current-lesson { flex-wrap:wrap; }
  body.is-course-player .lesson-panels .summary-current-lesson .lesson-context-actions { margin-left:auto; }
}
@media (max-width:520px) {
  body.is-course-player .lesson-panels .summary-view { padding:22px 16px; }
  body.is-course-player .lesson-panels .summary-heading { margin-bottom:20px; }
  body.is-course-player .lesson-panels .summary-copy-v18 { padding:20px; }
  body.is-course-player .lesson-panels .summary-guide-heading h3 { font-size:16px; }
  body.is-course-player .lesson-panels .summary-awaiting-guide { align-items:flex-start; gap:14px; padding:22px 0 0; }
  body.is-course-player .lesson-panels .summary-awaiting-guide > span { width:42px; height:48px; flex-basis:42px; border-radius:10px; }
  body.is-course-player .lesson-panels .summary-awaiting-guide svg { width:29px; height:29px; }
  body.is-course-player .lesson-panels .summary-awaiting-guide strong { font-size:15px; }
  body.is-course-player .lesson-panels .summary-awaiting-guide p { font-size:13px; }
  body.is-course-player .lesson-panels .summary-outcomes-v18 ul { grid-template-columns:minmax(0,1fr); gap:12px; }
  body.is-course-player .lesson-panels .summary-progress-v18 { display:flex; align-items:stretch; text-align:left; padding:22px; }
  body.is-course-player .lesson-panels .summary-progress-visual { margin:22px 0; }
  body.is-course-player .lesson-panels .summary-progress-v18 .summary-progress-bar-v18 { margin:0 0 10px; }
  body.is-course-player .lesson-panels .summary-progress-v18 dl { margin-top:20px; padding-top:16px; }
  body.is-course-player .lesson-panels .summary-current-lesson { padding:16px; gap:12px; }
  body.is-course-player .lesson-panels .summary-current-lesson .lesson-context-actions { width:100%; margin:3px 0 0; display:grid; grid-template-columns:1fr 1fr; gap:8px; }
  body.is-course-player .lesson-panels .summary-current-lesson button { font-size:12px; padding:10px 8px; white-space:normal; }
}

/* Keep the four panels aligned with the player instead of a narrow centered island. */
body.is-course-player .lesson-panels .player-panel-view,body.is-course-player .lesson-panels .summary-view { max-width:none; width:100%; margin:0; padding:0; }
body.is-course-player .lesson-panels .summary-heading { margin-bottom:18px; }
body.is-course-player .lesson-panels .summary-heading > div > span,body.is-course-player .lesson-panels .summary-heading .summary-course-tag { display:none; }
body.is-course-player .lesson-panels .summary-heading h2 { font-size:23px; margin:0 0 6px; }
body.is-course-player .lesson-panels .summary-layout-v18 { gap:18px; grid-template-columns:minmax(0,1fr) 280px; }
body.is-course-player .lesson-panels .summary-copy-v18 { padding:22px; }
body.is-course-player .lesson-panels .summary-progress-v18 { padding:22px; }
body.is-course-player .lesson-panels .summary-progress-visual { margin:18px 0; }
body.is-course-player .lesson-panels .lesson-panel-heading { margin-bottom:18px; }
body.is-course-player .lesson-panels .panel-utility-v18 { padding:18px; gap:12px; margin-bottom:18px; }
@media(max-width:1400px) and (min-width:1101px) {
 body.is-course-player:not(.is-curriculum-collapsed) .lesson-panels .summary-layout-v18 { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:850px) {
 body.is-course-player .lesson-panels .summary-layout-v18 { grid-template-columns:minmax(0,1fr); }
 body.is-course-player .lesson-panels .summary-heading h2 { font-size:21px; }
}

/* Published contributions are read first; editing is an explicit action. */
body.is-course-player .lesson-panels .review-editor-v18 { position:static; }
body.is-course-player .lesson-panels .qa-composer-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
body.is-course-player .lesson-panels .qa-composer-heading > span { display:grid; gap:5px; min-width:0; }
body.is-course-player .lesson-panels .qa-composer-heading > button { display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px; padding:0; font-size:24px; line-height:1; border:1px solid #d4e1ef; border-radius:10px; background:#f3f7fc; color:#4b6684; }
body.is-course-player .lesson-panels .reviews-layout-v18.has-own-review { grid-template-columns:minmax(0,1fr); }
body.is-course-player .lesson-panels .reviews-layout-v18.has-own-review.is-editing { grid-template-columns:minmax(0,1fr) minmax(280px,.7fr); }
body.is-course-player .lesson-panels .contribution-actions { margin-top:18px; padding-top:12px; border-top:1px solid #e0e8f1; }
body.is-course-player .lesson-panels .contribution-actions > div,.review-form-actions { display:flex; flex-wrap:wrap; gap:8px; }
body.is-course-player .lesson-panels .contribution-actions button,.review-form-actions button { min-height:44px; padding:10px 14px; border:1px solid #c8d9ec; border-radius:9px; background:#fff; color:#245a96; font-family:inherit; font-size:13px; font-weight:500; cursor:pointer; }
body.is-course-player .lesson-panels .contribution-actions button:hover { background:#eef5fc; }
body.is-course-player .lesson-panels [data-contribution-delete] { color:#9d3442; border-color:#e6ccd1; }
body.is-course-player .lesson-panels .contribution-actions .contribution-confirm { display:block; width:100%; padding:14px; border:1px solid #e5c9ce; border-radius:10px; background:#fff7f8; }
body.is-course-player .lesson-panels .contribution-confirm p { color:#683844; font-size:13px; font-weight:400; line-height:1.65; margin:0 0 12px; }
body.is-course-player .lesson-panels .contribution-confirm > div { display:flex; flex-wrap:wrap; gap:8px; }
body.is-course-player .lesson-panels [data-contribution-remove] { background:#963b4b; color:white; border-color:#963b4b; }
body.is-course-player .lesson-panels [data-contribution-remove]:hover { background:#7d2e3d; }
body.is-course-player .lesson-panels .contribution-status { font-size:13px; font-weight:400; line-height:1.6; margin:10px 0 0; color:#83313f; }
body.is-course-player .lesson-panels .contribution-status:empty { display:none; }
body.is-course-player .lesson-panels .review-form-actions button[type=submit] { background:#245f9f; color:white; border-color:#245f9f; }
body.is-course-player .lesson-panels :is(.qa-card-v18,.review-card-v18):focus-visible { outline:3px solid #427ebc; outline-offset:3px; }
body.is-course-player .lesson-panels .qa-view-v18.is-empty :is(.qa-tools-v18,.lesson-filter-row,.qa-feed-head-v18,.panel-primary-v18) { display:none; }
body.is-course-player .lesson-panels .qa-view-v18.is-empty .panel-utility-v18 { border:0; padding:0; background:transparent; }
body.is-course-player .lesson-panels .qa-view-v18.is-empty .qa-empty-v18 { margin:0; }
@media(max-width:1100px) { body.is-course-player .lesson-panels .reviews-layout-v18.has-own-review.is-editing { grid-template-columns:minmax(0,1fr); } }
