/* Shared application corrections. Keep authored homepage colours independent. */
.sc-body { --ux-muted: #526373; }
.sc-body :focus-visible { outline: 3px solid #2369a6; outline-offset: 3px; }
.sc-body [x-cloak] { display: none !important; }
.sc-body .ux-reading-toggle { display: inline-flex !important; align-items: center; justify-content: center; flex: 0 0 44px; width: 44px; min-height: 44px; background: #fff; color: #122c40; border: 1px solid #c6d5df; border-radius: 10px; }
.sc-body .ux-reading-toggle[aria-pressed=true] { background: #122c40; color: #fff; }
.sc-body.ux-reading-comfort :is(p,li,input,textarea) { line-height: 1.8 !important; word-spacing: .08em; font-family: Arial, sans-serif !important; }
.sc-body [hidden] { display: none !important; }
.ux-skip-link { position: fixed; top: 8px; left: 8px; z-index: 99999; padding: 12px 18px; background: #fff; color: #122c40; transform: translateY(-180%); }
.ux-skip-link:focus { transform: none; }
.sc-body .studio-hero { background: #122c40 !important; border: 0; border-radius: 20px; gap: 24px; }
.sc-body .studio-hero h1, .sc-body .studio-hero h2 { color: #fff !important; -webkit-text-fill-color: #fff; background: none; }
.sc-body .studio-hero p { color: #dfebf2 !important; }
.sc-body .studio-hero .eyebrow { color: #ffd2c9 !important; }
.sc-body .studio-hero .btn-primary, .sc-body .studio-hero .btn-light { background: #fff !important; color: #122c40 !important; border-color: #fff; }
.sc-body .sci-app-workspace, .sc-body .sci-app-content, .sc-body .studio-hero > div,
.sc-body .course-org-card, .sc-body .lesson-bubble, .sc-body .sci-course-card { min-width: 0; }
.sc-body .sci-app-content h1, .sc-body .studio-hero h1 { overflow-wrap: anywhere; }
.sc-body .studio-hero h1 { max-width: 28ch; line-height: 1.2; }
.sc-body .cc-app-main.sci-app-main .card h2, .sc-body .cc-app-main.sci-app-main .author-dashboard h2,
.sc-body .module-board h3 { font-size: var(--type-3-subtitle) !important; line-height: 1.35; }
.sc-body .course-command-center { display: grid; grid-template-columns: minmax(0,1fr) 320px; gap: 24px; align-items: stretch; }
.sc-body .course-command-center .command-card { width: auto; min-width: 0; margin: 0; }
.sc-body .cc-app-main.sci-app-main .command-card h2 { font-size: var(--type-3-subtitle) !important; }
.sc-body .command-card--dark { background: #122c40; }
.sc-body .module-board-card > header { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 16px; align-items: center; }
.sc-body .module-board-card > header h3 { margin: 0; }
.sc-body .lesson-meta-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.sc-body .lesson-meta-grid .field-block:first-child { grid-column: 1 / -1; }
.sc-body .lesson-author-preview > header { flex-direction: column; align-items: stretch; gap: 16px; }
.sc-body .lesson-author-preview { overflow: auto; min-width: 0; }
.sc-body .lesson-author-preview .slide-card-render { aspect-ratio: auto; min-height: 360px; }
.sc-body .lesson-author-preview .slide-card-render :is(h1,h2) { font-size: var(--type-3-subtitle) !important; }
.sc-body .lesson-author-head > div { min-width: 0; }
.sc-body .lesson-author-head > div:last-child { min-width: 170px; }
.sc-body .lesson-author-head button { border-radius: 12px; }
.sc-body .form-input, .sc-body .input { max-width: 100%; min-width: 0; }
.sc-body .sci-app-main .form-input { font-weight: 400 !important; }
.sc-body label { overflow-wrap: anywhere; }
.sc-body button, .sc-body .btn-primary, .sc-body .btn-light { overflow-wrap: normal; }
.sc-body .sci-preview-viewport { flex: 0 0 auto; }
.sc-body .sci-preview-viewport button { white-space: nowrap; }
.sc-body .form-grid, .sc-body .lesson-meta-grid { gap: 20px; }
.sc-body .editor-pane .field-block, .sc-body .studio-form .field-block { margin-bottom: 20px; }
.sc-body .editor-layout .preview-pane { position: sticky; top: 100px; align-self: start; }
.sc-body .quiz-preview, .sc-body .exercise-preview { margin-top: 16px; }
.ux-module-settings .form-grid { display: grid; grid-template-columns: minmax(0,1fr); }
.sc-body .form-grid > *, .sc-body .lesson-meta-grid > * { min-width: 0; }
.sc-body .helptext, .sc-body .field-block small { display: block; color: #526373; font-size: var(--type-1-label); margin-top: 6px; }
.sc-body .errorlist, .sc-body .form-error-box { color: #a51b35; }
.sc-body .errorlist { padding: 8px 0; }
.sc-body .sci-course-grid { align-items: stretch; }
.sc-body .sci-course-card, .sc-body .sci-course-summary-card, .sc-body .course-org-card { display: flex; flex-direction: column; }
.sc-body .sci-course-summary-card > section { margin-top: auto; }
.sc-body .sci-course-summary-card > footer { padding-top: 16px; }
.sc-body .ux-slide-fields :is(input,textarea,select) { font-weight: 400; }
.sc-body .cc-app-main.sci-app-main .studio-hero h1 { color: #fff !important; }
.sc-body .sci-app-nav details summary:focus-visible { outline-offset: -3px; }
.sc-body .sci-course-card__footer, .sc-body .course-org-actions { margin-top: auto; padding-top: 20px; }
.sc-body .course-org-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 350px), 1fr)); }
.sc-body .course-org-card__top > strong { background: #e7f5ee !important; color: #176344 !important; border-radius: 12px; width: auto; height: auto; padding: 10px; }
.sc-body .course-org-meter i { background: #2369a6 !important; }
.sc-body .author-filter-bubbles { display: flex; flex-wrap: wrap; gap: 8px; }
.sc-body .author-filter-bubbles button { border: 1px solid #c6d5df; border-radius: 999px; padding: 8px 16px; background: #fff; color: #122c40; min-height: 44px; }
.sc-body .author-filter-bubbles button[aria-pressed=true] { background: #122c40; color: #fff; }
.ux-search { display: grid; gap: 6px; max-width: 440px; margin: 20px 0; }
.sc-body .react-course-hero { background: #122c40 !important; min-height: 0; }
.sc-body .react-course-hero__copy h1 { color: #fff !important; -webkit-text-fill-color: #fff; background: none !important; }
.sc-body .react-course-hero__subtitle, .sc-body .react-course-meta, .sc-body .react-course-author,
.sc-body .react-course-stats, .sc-body .react-course-breadcrumb { color: #e0eaf1 !important; }
.sc-body .react-course-hero__copy small, .sc-body .react-course-hero__copy strong,
.sc-body .react-course-author span, .sc-body .react-course-meta span { color: inherit !important; }
.sc-body .react-course-badges span { color: #fff !important; background: #28485f !important; border-color: #6c879b; }
.sc-body .react-course-action-card { background: #fff !important; color: #122c40; border: 1px solid #dce4e8; }
.sc-body .react-course-action-card__body { background: #fff; color: #122c40; }
.sc-body .react-course-action-card__body :is(p,li,small,strong), .sc-body .react-course-progress-copy,
.sc-body .react-course-features, .sc-body .react-course-leave { color: #122c40 !important; }
.sc-body .react-course-features li span { color: #2369a6 !important; }
.sc-body .react-course-progress-copy span, .sc-body .react-course-price span { color: #526373 !important; }
.sc-body .react-course-progress-line { background: #dce4e8; }
.sc-body .react-course-preview-badge { background: #122c40 !important; color: #fff !important; }
.sc-body .react-course-primary-action, .sc-body .react-course-mobile-action a,
.sc-body .react-course-final-cta a { background: #122c40 !important; color: #fff !important; box-shadow: none; }
.sc-body .react-course-author__avatar { background: #2369a6 !important; }
.sc-body .react-course-page small, .sc-body .react-course-meta, .sc-body .react-course-meta span { font-size: var(--type-1-label) !important; line-height: 1.5 !important; }
.sc-body .react-course-final-cta { background: #122c40 !important; }
.sc-body .react-course-final-cta :is(h2,p) { color: #fff !important; }
.sc-body .react-course-final-cta a { background: #fff !important; color: #122c40 !important; }
.sc-body .react-course-content h2 { font-size: var(--type-3-subtitle) !important; }
.sc-body .react-course-content { padding-bottom: 80px; }
.sc-body .react-learn-shell.is-slide-first .react-learn-tab { min-height: 44px; }
.sc-body .react-learn-shell [data-course-outline][inert] { visibility: hidden; }
.sc-body .slide-deck__controls button { min-width: 48px; min-height: 44px; }
.sc-body .slide-deck__controls button > span[aria-hidden] { display: inline !important; }
.sc-body .slide-card-render { overflow-wrap: anywhere; }
.sc-body .slide-card-render pre, .sc-body .markdown-preview pre { overflow-x: auto; max-width: 100%; white-space: pre-wrap; }
.sc-body .slide-card-render pre { padding: 16px; border-radius: 12px; background: #f0f4f7; color: #122c40; margin: 16px 0; }
.sc-body .is-lesson-presentation .slide-deck__controls button:not(:disabled) { background: #fff !important; color: #122c40 !important; border-color: #c6d5df; opacity: 1; }
.sc-body .slide-card-render img, .sc-body .slide-card-render video { max-width: 100%; max-height: 50vh; object-fit: contain; }
.sc-body .slide-card-render[data-slide-theme=focus] { background: #122c40 !important; color: #fff !important; }
.sc-body .slide-card-render[data-slide-theme=focus] :is(h1,h2,h3,p,li,strong,em) { color: #fff !important; -webkit-text-fill-color: #fff; }
.sc-body .slide-card-render[data-slide-theme=focus] :is(pre,.course-callout) { background: #203e54; color: #fff; }
.sc-body .slide-card-render[data-slide-theme=focus] a { color: #acdafa; }
.sc-body .slide-card-render[data-slide-theme=focus] .slide-card-render__top span { color: #ffd2c9 !important; }
.sc-body .slide-card-render__top i { background: #2369a6; }
.sc-body .cc-app-main.sci-app-main .lesson-full-preview__bar h2,
.sc-body .cc-app-main.sci-app-main .lesson-full-preview__hero h1 { font-size: var(--type-3-subtitle) !important; }
.sc-body .lesson-full-preview__hero { background: #f3f7f8; }
.sc-body .lesson-full-preview__close { background: #122c40; color: #fff; box-shadow: none; }
.sc-body .slide-card-render[data-slide-theme=calm] { background: #edf6f7 !important; color: #122c40; }
.sc-body .slide-card-render[data-slide-theme=paper] { background: #fff !important; color: #122c40; }
.ux-preview-banner, .ux-publish-panel { padding: 20px; background: #eaf4fb; border: 1px solid #bfd8e9; border-radius: 16px; color: #122c40; }
.ux-preview-banner { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; }
.ux-publish-panel { margin-top: 24px; }
.ux-publish-panel ul { padding-left: 24px; margin: 16px 0; }
.ux-publish-panel li { margin: 8px 0; }
.ux-publish-panel .is-ready { color: #176344; }
.ux-publish-panel .is-missing { color: #913c16; }
.ux-module-settings { padding: 16px; border-bottom: 1px solid #dce4e8; }
.ux-module-settings summary { cursor: pointer; color: #2369a6; }
.ux-module-settings label { display: grid; gap: 8px; }
.sc-body:not(.sc-home-body) .sci-eyebrow { color: #a53526 !important; }
.sc-body .blog-index__hero .sci-eyebrow { color: #a53526 !important; }
.ux-form-section { border: 0; margin: 0 0 28px; padding: 0; }
.ux-form-section legend { font-size: var(--type-3-subtitle); font-weight: 700; padding: 0 0 16px; }
.ux-form-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; padding-top: 20px; border-top: 1px solid #dce4e8; }
.ux-form-status { color: #526373; }
.ux-slide-composer { padding: 20px; background: #f3f7f8; border-bottom: 1px solid #dce4e8; }
.ux-slide-composer__layout { display: grid; grid-template-columns: 200px minmax(0,1fr); gap: 20px; margin-top: 20px; }
.ux-slide-list { display: flex; flex-direction: column; gap: 8px; max-height: 480px; overflow-y: auto; }
.ux-slide-list button { text-align: left; padding: 12px; background: #fff; border: 1px solid #c5d4de; border-radius: 10px; }
.ux-slide-list button[aria-current=true] { border-color: #2369a6; background: #deedf7; box-shadow: inset 3px 0 #2369a6; }
.ux-slide-fields { display: grid; gap: 14px; min-width: 0; }
.ux-slide-fields label { display: grid; gap: 6px; }
.ux-slide-fields textarea { min-height: 260px; resize: vertical; }
.ux-slide-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.ux-slide-actions button, .ux-slide-actions select { min-height: 44px; }
.ux-source-editor { padding: 16px; }
.ux-source-editor summary { cursor: pointer; font-weight: 600; }
.ux-reading-tip { color: #526373; margin: 12px 0; }
.sc-body .sci-dash-hero__copy > span { display: block; margin: 16px 0; }
.sc-body .sci-goals a { display: flex; align-items: center; gap: 14px; padding: 16px; background: #f3f7f8; border-radius: 12px; }
.sc-body .sci-goals a span { flex: 1; }
.sc-body .sci-course-progress-item > div { min-width: 0; }
.sc-body .sci-app-nav details > summary { cursor: pointer; padding: 16px 12px; font-size: var(--type-1-label); font-weight: 700; color: #526373; }
.sc-body .sci-app-nav details { min-width: 0; }
.sc-body .sci-app-nav details[open] { margin-bottom: 10px; }
.sc-body .sci-check-list li.has-checkmark::before { content: none; }
@media (max-width: 1600px) {
  .ux-slide-composer__layout { grid-template-columns: minmax(0,1fr); }
  .ux-slide-list { flex-direction: row; max-height: none; overflow-x: auto; }
  .ux-slide-list button { flex: 0 0 170px; }
}
@media (max-width: 1024px) {
  .sc-body .editor-layout .preview-pane { position: static; top: auto; }
}
@media (max-width: 900px) {
  .sc-body .course-command-center { grid-template-columns: minmax(0,1fr); }
  .sc-body .studio-hero { flex-direction: column; align-items: stretch; }
  .sc-body .studio-hero h1, .sc-body .sci-dash-hero h1, .sc-body .sci-catalog h1 { font-size: var(--type-3-subtitle) !important; }
  .sc-body .lesson-author-shell { grid-template-columns: minmax(0,1fr); }
  .sc-body .lesson-author-preview { position: static; max-height: none; }
  .sc-body .lesson-author-head { flex-direction: column; align-items: stretch; gap: 16px; }
  .sc-body .lesson-author-head h2 { font-size: var(--type-3-subtitle) !important; }
  .sc-body .lesson-meta-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .sc-body .lesson-meta-grid .field-block:first-child { grid-column: 1 / -1; }
  .sc-body .react-course-hero__copy h1 { font-size: var(--type-4-title) !important; }
}
@media (max-width: 640px) {
  .sc-body .module-board-card > header { grid-template-columns: minmax(0,1fr) auto; }
  .sc-body .module-board-card > header > span { grid-column: 1 / -1; }
  .sc-body .react-learn-tabs [data-reader-tab] > span { display: none; }
  .sc-body .sci-header__actions { gap: 8px; }
  .sc-body .sci-header .sci-logo { font-size: var(--type-2-body) !important; gap: 6px; }
  .sc-body .cc-app-main.sci-app-main .studio-hero h1 { font-size: var(--type-3-subtitle) !important; }
  .sc-body .react-course-hero__copy h1, .sc-body .is-slide-first .react-learn-chapter-head h1,
  .sc-body .slide-card-render :is(h1,h2) { font-size: var(--type-3-subtitle) !important; line-height: 1.3; }
  .sc-body .is-slide-first .react-learn-chapter-head { padding-block: 16px; }
  .sc-body .is-slide-first .react-learn-view-switch button { min-height: 44px; padding: 8px; }
  .sc-body .sci-dash-hero { padding: 20px; }
  .sc-body .sci-dash-quickstats { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
  .sc-body .sci-dash-quickstats article { min-width: 0; padding: 10px; }
  .sc-body .sci-dash-quickstats span { font-size: var(--type-1-label); }
  .sc-body .sci-course-progress-item { grid-template-columns: 40px minmax(0,1fr); }
  .sc-body .sci-mini-progress { grid-column: 2; width: 100%; }
  .sc-body .sci-panel-title { min-width: 0; }
  .sc-body .sci-dash-panel > header { flex-wrap: wrap; gap: 12px; }
  .ux-slide-composer__layout { grid-template-columns: minmax(0,1fr); }
  .ux-slide-list { flex-direction: row; max-height: none; overflow-x: auto; }
  .ux-slide-list button { flex: 0 0 160px; }
  .sc-body .inline-create { display: flex; flex-direction: column; align-items: stretch; }
  .sc-body .form-grid, .sc-body .lesson-media-upload { grid-template-columns: minmax(0,1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .sc-body *, .sc-body *::before, .sc-body *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
.sc-body figure.course-configured-media { max-width: 100%; margin-top: 20px; margin-bottom: 20px; }
.sc-body figure.course-configured-media > img, .sc-body figure.course-configured-media > video, .sc-body figure.course-configured-media > audio, .sc-body figure.course-configured-media > iframe { display: block; width: 100%; max-width: 100%; height: auto; border-radius: 10px; }
.sc-body figure.course-configured-media > iframe { height: 400px; border: 1px solid #dce4e8; }
.sc-body figure.media-align-center { margin-left: auto; margin-right: auto; }
.sc-body figure.media-align-left { margin-left: 0; margin-right: auto; }
.sc-body figure.media-align-right { margin-left: auto; margin-right: 0; }
.sc-body figure.media-ratio-wide > :is(img,video) { aspect-ratio: 16/9; }
.sc-body figure.media-ratio-classic > :is(img,video) { aspect-ratio: 4/3; }
.sc-body figure.media-ratio-square > :is(img,video) { aspect-ratio: 1; }
.sc-body figure.media-fit-contain > :is(img,video) { object-fit: contain; }
.sc-body figure.media-fit-cover > :is(img,video) { object-fit: cover; }
.sc-body figure.course-configured-media figcaption { margin-top: 8px; font-size: 1rem; line-height: 1.5; overflow-wrap: anywhere; }
.sc-body .course-visual-block[style*="color:"] :is(h1,h2,h3,h4,p,li,span,strong,em,div,blockquote,code) { color: inherit !important; -webkit-text-fill-color: currentColor !important; }
.sc-body .course-visual-block[style*="text-align:"] :is(h1,h2,h3,h4,p,li,div) { text-align: inherit !important; }
.sc-body .course-visual-block { overflow-wrap: anywhere; margin-block: 12px; }
.sc-body .course-callout p :is(strong,b,em,i,code) { display: inline !important; }
/* A document needs a reading surface, not the 16:9 thumbnail used for videos. */
.sc-body iframe.course-pdf-reader {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: clamp(320px, 65dvh, 760px) !important;
  aspect-ratio: auto !important;
  border: 1px solid #cbd5df !important;
  border-radius: 12px;
  background: #edf2f6;
}
