/* Course-owned visual layer. Existing content, player and permissions are unchanged. */
.cosmos-course {
  --bg: #020713;
  --surface: #0b1327;
  --surface-raised: #101d34;
  --text: #edf0ff;
  --muted: #aebbd3;
  --line: rgba(180, 201, 255, .22);
  --accent: #c2d4ff;
  --warm: #a9bfea;
  --neon: #b8d1ff;
  color-scheme: dark;
  background: var(--bg);
}
.cosmos-course .course-deep-space {
  position: fixed; inset: 0; z-index: 0; pointer-events: none;
  background: linear-gradient(90deg, #02071355, #02071322 58%, #02071344),
    linear-gradient(0deg, #02071399, #02071311 65%),
    url('./assets/course-nebula-v1.webp') center / cover no-repeat;
}
.cosmos-course .site-particle-field { opacity: .85; mix-blend-mode: screen; }
.cosmos-course .site-header { background: transparent; }
.cosmos-course .site-header.is-scrolled { background: #050c1be8; border-color: var(--line); }
.cosmos-course .account-menu-panel { background: #0a1428fa; box-shadow: 0 16px 48px #0008; }
.cosmos-course .platform-shell { padding-top: 110px; }
.cosmos-course .panel { background: #091427d9; border-color: var(--line); }
.cosmos-course .site-footer { border-color: var(--line); color: #a4b4d0; }
.cosmos-course .series-timeline { padding: 8px 0 0 24px; }
.cosmos-course .series-timeline::before { left: 3px; background: linear-gradient(#aacbff77, #91b0e722 65%, transparent); }
.cosmos-course .series-node { padding: 0 0 40px 20px; }
.cosmos-course .series-node::before { left: -27px; width: 11px; height: 11px; background: #c8dcff; border-color: #e6efff; box-shadow: 0 0 16px #9cbdffaa; }
.cosmos-course .series-index { left: -26px; color: #9ab2dc; }
.cosmos-course .series-heading { padding: 16px 0 24px; gap: 24px; border-color: var(--line); overflow: visible; }
.cosmos-course .series-orbit-art { display: none; }
.cosmos-course .series-heading h2 { margin: 12px 0 18px; font-size: clamp(36px, 4.3vw, 56px); font-weight: 500; letter-spacing: -.035em; text-shadow: 0 3px 28px #020713; }
.cosmos-course .series-heading p:not(.eyebrow) { max-width: 740px; font-size: 14px; line-height: 1.9; text-wrap: pretty; }
.cosmos-course .series-heading .eyebrow { color: #8fa8d0; font-size: 10px; letter-spacing: .2em; }
.cosmos-course .series-stats { min-width: 154px; grid-template-columns: auto 1fr; gap: 4px 9px; padding-left: 20px; border-left: 1px solid var(--line); }
.cosmos-course .series-stats strong { font-size: 44px; color: #e1eaff; }
.cosmos-course .series-stats .text-link { min-height: 38px; justify-content: center; margin-top: 8px; padding: 6px 12px; border: 1px solid #a5bfe170; border-radius: 6px; background: #142441cc; color: #edf3ff; font-size: 13px; white-space: nowrap; }
.cosmos-course .series-stats .text-link:hover { transform: translateY(-1px); background: #263e63; border-color: #c9ddff; }
.cosmos-course .series-stage-axis { margin-top: 2px; padding-top: 18px; }
.cosmos-course .series-stage-axis::after { background: #b8d1ff; box-shadow: 0 0 12px #95b9ff66; }
.cosmos-course .series-stage-axis ol { gap: 10px; }
.cosmos-course .series-stage-axis li { border: 0; }
.cosmos-course .series-stage-link {
  display: flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 60px; padding: 12px; text-align: center; white-space: nowrap;
  color: #b8c6df; border: 1px solid transparent; border-radius: 9px;
  background: linear-gradient(180deg, #b7d0ff03, #b7d0ff00);
  transition: color .28s ease, border-color .28s ease, box-shadow .28s ease, background-color .28s ease;
}
.cosmos-course .series-stage-link b {
  display: block; flex: 0 0 auto; max-height: none; overflow: visible;
  font-family: var(--font-display); font-size: 16px; font-weight: 500;
  line-height: 1.5; letter-spacing: .015em; white-space: nowrap;
}
.cosmos-course .series-stage-link > span { flex: 0 0 auto; color: #8da8d3; font-size: 10px; font-weight: 500; line-height: 1.5; }
.cosmos-course .series-stage-link:hover,
.cosmos-course .series-stage-link:focus-visible {
  color: #f6f9ff; background-color: #adcaff0c; border-color: #adcaff35;
  box-shadow: inset 0 1px 0 #dbebff16, 0 0 20px #82b4ff0b;
}
.cosmos-course .series-stage-link.is-active {
  color: #f4f7ff; border-color: #bcd9ff57;
  background: radial-gradient(ellipse at 50% 0, #a9cbff24, #a9cbff06 76%);
  box-shadow: inset 0 1px 0 #e3efff24, 0 0 22px #87b6ff12;
  text-shadow: 0 0 14px #a6ceff36;
}
.cosmos-course .series-stage-link.is-active > span { color: #c5dcff; }
.cosmos-course .series-stage-link::before { top: -22px; left: 50%; width: 6px; height: 6px; border-color: #9cbae4; background: #0b1730; transform: translateX(-50%); }
.cosmos-course .series-stage-link:hover::before,
.cosmos-course .series-stage-link:focus-visible::before { background: #b6d2fa; box-shadow: 0 0 10px #99c1ff70; transform: translateX(-50%) scale(1.15); }
.cosmos-course .series-stage-link.is-active::before { border-color: #e6f1ff; background: #d6e8ff; box-shadow: 0 0 0 3px #a4c9ff15, 0 0 14px #99c1ff99; transform: translateX(-50%) scale(1.15); }
.cosmos-course .series-stage-link:active { transform: scale(.985); }
.cosmos-course .series-stage-link:focus-visible { outline: 1px solid #d7e7ff; outline-offset: 3px; }
.cosmos-course .series-phase { padding: 28px 0 12px; }
.cosmos-course .series-phase > header { margin-bottom: 16px; }
.cosmos-course .series-phase > header h3 { font-weight: 500; color: #d5e0f5; }
.cosmos-course .series-phase.is-active > header h3 { color: #f4f7ff; }
.cosmos-course .lesson-card-grid { gap: 18px 16px; }
.cosmos-course .lesson-card { padding-top: 0; border-top: 0; }
.cosmos-course .lesson-card::before { display: none; }
.cosmos-course .lesson-card-cover { border: 1px solid #aac7fc40; border-radius: 8px; background: #071020; }
.cosmos-course .lesson-card-cover:hover { transform: translateY(-3px); border-color: #c7ddffb3; box-shadow: 0 10px 30px #0006, 0 0 22px #83aaf720; }
.cosmos-course .lesson-card-cover:active { transform: translateY(0); }
.cosmos-course .lesson-card-cover:focus-visible { outline: 2px solid #d7e7ff; outline-offset: 4px; }
.cosmos-course .lesson-cover-system { color: #edf3ff; background: linear-gradient(100deg, #040b1ade, #07152f80), url('./assets/course-nebula-v1.webp') 68% 45% / 165% auto; }
.cosmos-course .lesson-card:nth-child(3n + 2) .lesson-cover-system { background-position: center, 92% 65%; }
.cosmos-course .lesson-card:nth-child(3n) .lesson-cover-system { background-position: center, 42% 85%; }
.cosmos-course .lesson-cover-system::before { border-color: #9ebbff22; right: -9%; top: -20%; width: 70%; }
.cosmos-course .lesson-cover-system::after { background: #b2cfff20; box-shadow: none; top: 79%; }
.cosmos-course .lesson-cover-orbit { border-color: #a1c3f92b; }
.cosmos-course .lesson-cover-orbit-one { border-style: solid; }
.cosmos-course .lesson-cover-dots { color: #cbe1ff; font-size: 5px; letter-spacing: .7em; text-shadow: 0 0 9px #b4d0ff; }
.cosmos-course .lesson-cover-meta b { color: #d0e1ff; font-size: 10px; font-weight: 500; }
.cosmos-course .lesson-cover-meta i { color: #adbed8; }
.cosmos-course .lesson-cover-title { top: 50%; font-size: clamp(19px, 1.6vw, 23px); font-weight: 500; line-height: 1.32; letter-spacing: -.025em; text-shadow: 0 2px 12px #000; }
.cosmos-course .lesson-cover-mark { left: 8%; right: auto; bottom: 10%; color: #9aafcd; letter-spacing: .14em; }
.cosmos-course .lesson-play { width: 30px; height: 30px; border-color: #b1c9ec77; background: #13233cc9; color: #edf5ff; transition: background .2s, box-shadow .2s; }
.cosmos-course .lesson-card-cover:hover .lesson-play { background: #cee1ff; color: #081327; box-shadow: 0 0 16px #a7caff55; }
.cosmos-course .lesson-card-copy { min-height: 28px; padding-top: 7px; }
.cosmos-course .lesson-state.planned { color: #c6b99e; border-color: #c6b99e66; }
.cosmos-course .lesson-state.published { color: #b3d9c9; border-color: #b3d9c966; }
.cosmos-course .lesson-detail-hero { min-height: 0; padding: 28px 0 32px; border-color: var(--line); }
.cosmos-course .lesson-detail-kicker { margin-bottom: 22px; }
.cosmos-course .lesson-detail-hero h1 { font-size: clamp(34px, 4.3vw, 56px); font-weight: 500; line-height: 1.25; letter-spacing: -.04em; }
.cosmos-course .lesson-study-layout { border-color: var(--line); background: #061022ba; border-radius: 8px; }
.cosmos-course .lesson-primary-player { padding: 16px; }
.cosmos-course .lesson-article { padding: 20px; }
.cosmos-course .lesson-article .prose { color: #c0cce2; }
.cosmos-course .lesson-article-heading .eyebrow { display: none; }
.cosmos-course .lesson-pagination a { background: #0a172cba; }
.cosmos-course .lesson-pagination a:hover { background: #1a2e4be6; border-color: #b6cef0; }
.cosmos-course .lesson-group-title { background: #0b172bee; }
.cosmos-course .platform-shell > .page-heading h1 { font-family: var(--font-display); font-weight: 500; font-size: clamp(28px, 3.2vw, 42px); }
.cosmos-course .course-lead { max-width: 1000px; margin-bottom: 12px; font-size: 24px; font-weight: 500; line-height: 1.7; text-wrap: pretty; }
.cosmos-course .learning-gate { align-content: start; gap: 12px; }
.cosmos-course .platform-shell button[aria-pressed="true"] { background: #263e61; color: #f2f6ff; }
.cosmos-course .learning-access-dialog { background: #0c172cf7; border-color: #7995c466; box-shadow: 0 24px 90px #000b; }
.cosmos-course .learning-access-dialog::backdrop { background: #01050cc4; backdrop-filter: blur(6px); }
.cosmos-course .learning-access-dialog .account-form { display: grid; gap: 14px; }
.cosmos-course .learning-access-dialog label { display: grid; gap: 6px; font-size: 14px; color: var(--muted); }
.cosmos-course .learning-access-dialog input { width: 100%; min-width: 0; min-height: 42px; padding: 8px 10px; border: 1px solid #a7bcdf66; border-radius: 6px; color: #edf0ff; background: #050e20; font: inherit; }
.cosmos-course .learning-access-dialog button { min-height: 40px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 6px; color: var(--text); background: #152640; cursor: pointer; }
.cosmos-course .learning-access-dialog button:hover { border-color: #c6dcff; background: #263f65; }
.cosmos-course .learning-access-dialog button[type="submit"] { color: #09142a; background: #d1e0ff; }
.cosmos-course .learning-access-dialog .text-link { background: transparent; font-size: 13px; }
.cosmos-course .learning-access-dialog .dialog-close { color: #d3e2ff; }
.cosmos-course .feedback.error { color: #ffd0c8; background: #50232ac7; border-color: #f09589; }
@media (max-width: 960px) {
  .cosmos-course .series-heading { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .cosmos-course .series-stats { display: flex; align-items: center; gap: 9px; border-left: 0; padding-left: 0; }
  .cosmos-course .series-stats strong { font-size: 28px; }
  .cosmos-course .series-stats .text-link { margin: 0 0 0 auto; }
  .cosmos-course .lesson-cover-title { font-size: clamp(19px, 2.4vw, 25px); }
}
@media (max-width: 760px) {
  .cosmos-course { --wide: calc(100vw - 32px); }
  .cosmos-course .site-nav { background: #081226f7; border-color: var(--line); }
  .cosmos-course .platform-shell { padding-top: 90px; }
  .cosmos-course .course-deep-space { background-position: center, center, 68% center; }
  .cosmos-course .series-timeline { padding-left: 0; }
  .cosmos-course .series-node { padding-left: 0; }
  .cosmos-course .series-timeline::before, .cosmos-course .series-node::before { display: none; }
  .cosmos-course .series-heading { padding-top: 8px; padding-bottom: 18px; }
  .cosmos-course .series-heading h2 { font-size: clamp(27px, 7.1vw, 40px); margin: 12px 0; white-space: nowrap; }
  .cosmos-course .series-heading p:not(.eyebrow) { line-height: 1.8; font-size: 13px; }
  .cosmos-course .series-stage-axis::after { width: var(--stage-progress); height: 2px; }
  .cosmos-course .series-phase > header { grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
  .cosmos-course .series-phase > header > span { display: none; }
  .cosmos-course .series-phase > header h3 { font-size: 16px; }
  .cosmos-course .lesson-cover-title { font-size: clamp(20px, 5.5vw, 29px); }
  .cosmos-course .lesson-detail-hero h1 { font-size: clamp(25px, 7vw, 36px); }
  .cosmos-course .lesson-detail-hero { padding: 20px 0 26px; }
  .cosmos-course .course-lead { font-size: 17px; }
  .cosmos-course .lesson-primary-player { padding: 10px; }
  .cosmos-course .lesson-article { padding: 18px; }
  .cosmos-course .page-heading { flex-wrap: wrap; }
  .cosmos-course .page-heading h1 { white-space: normal; text-wrap: balance; }
}
@media (max-width: 1100px) {
  .cosmos-course .series-stage-axis { padding-top: 28px; border-top: 0; background: linear-gradient(var(--line), var(--line)) 0 10px / 100% 1px no-repeat; overflow-x: auto; scrollbar-width: thin; scrollbar-color: #839bc155 transparent; }
  .cosmos-course .series-stage-axis::after { top: 10px; }
  .cosmos-course .series-stage-axis ol { grid-template-columns: repeat(5, minmax(210px, 1fr)); padding: 0 4px 8px; }
  .cosmos-course .series-stage-axis li { border: 0; }
  .cosmos-course .series-stage-link { min-height: 56px; padding: 10px 12px; }
}
@media (min-width: 620px) and (max-width: 760px) {
  .cosmos-course .lesson-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cosmos-course .lesson-cover-title { font-size: clamp(18px, 2.7vw, 20px); }
}
@media (prefers-reduced-motion: reduce) {
  .cosmos-course *, .cosmos-course *::before { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .cosmos-course .lesson-card-cover:hover { transform: none; }
}
