
:root{
  --ink:#0c1b34;
  --muted:#607087;
  --line:#dfe6ef;
  --paper:#f7f9fc;
  --white:#fff;
  --navy:#06162b;
  --shadow:0 14px 40px rgba(8,25,50,.10);
  --radius:22px;
  --course:#4556d7;
  --course-dark:#182576;
  --course-soft:#eef0ff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);line-height:1.45}
a{color:inherit}
button,input,select{font:inherit}
.topbar{min-height:78px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:12px clamp(18px,4vw,56px);position:relative;z-index:10}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand-logo{width:44px;height:44px}
.brand span{display:flex;flex-direction:column}
.brand strong{font-size:1.12rem;letter-spacing:.02em}
.brand small{font-size:.78rem;color:var(--muted);margin-top:1px}
.ghost-button{border:1px solid #aab7c9;border-radius:999px;padding:10px 16px;text-decoration:none;font-weight:700;background:#fff}
.site-footer{background:var(--navy);color:#dfe8f7;min-height:64px;display:flex;align-items:center;justify-content:space-between;padding:14px clamp(20px,4vw,56px);font-size:.88rem;gap:20px}
.eyebrow{font-size:.8rem;letter-spacing:.14em;font-weight:800;color:var(--course);margin:0 0 8px}
.landing{background:linear-gradient(180deg,#f9fbff 0%,#f4f8fd 100%)}
.landing-main{max-width:1240px;margin:auto;padding:64px 28px 70px}
.landing-intro{text-align:center;margin-bottom:36px}
.landing-intro h1{font-size:clamp(2rem,5vw,4rem);line-height:1.05;margin:5px 0 12px}
.landing-intro>p:last-child{font-size:1.2rem;color:var(--muted)}
.course-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.course-choice{min-height:430px;border-radius:28px;padding:34px;text-decoration:none;color:#fff;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;position:relative;box-shadow:var(--shadow);transition:transform .18s ease,box-shadow .18s ease}
.course-choice:hover{transform:translateY(-4px);box-shadow:0 20px 50px rgba(8,25,50,.16)}
.course-choice:after{content:"";position:absolute;inset:auto -60px -110px auto;width:340px;height:340px;border-radius:50%;background:rgba(255,255,255,.08)}
.astronomy-choice{background:
  radial-gradient(circle at 72% 24%,rgba(120,100,255,.45),transparent 18%),
  radial-gradient(circle at 66% 72%,rgba(43,110,225,.55),transparent 28%),
  linear-gradient(145deg,#050d1e,#142b5c 66%,#3342a0)}
.aquatics-choice{background:
  radial-gradient(circle at 75% 24%,rgba(114,239,255,.35),transparent 18%),
  radial-gradient(circle at 63% 72%,rgba(0,164,180,.55),transparent 30%),
  linear-gradient(145deg,#032435,#07566c 66%,#008f99)}
.course-icon-wrap{width:78px;height:78px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.11);border-radius:50%;display:grid;place-items:center}
.course-icon-wrap img{width:46px;height:46px}
.course-kicker{font-size:1.6rem;font-weight:900;margin:20px 0 8px}
.course-choice h2{font-size:clamp(1.55rem,3vw,2.25rem);margin:0 0 8px}
.course-choice p{max-width:560px}
.enter-course{display:flex;justify-content:space-between;align-items:center;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.18);border-radius:14px;padding:16px 18px;font-weight:800;position:relative;z-index:1}
.landing-principles{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:30px;background:var(--line);border:1px solid var(--line);border-radius:18px;overflow:hidden}
.landing-principles div{background:#fff;padding:20px}
.landing-principles strong,.landing-principles span{display:block}
.landing-principles span{color:var(--muted);font-size:.9rem;margin-top:4px}

/* Course themes */
.astronomy-theme{--course:#5b50df;--course-dark:#12194d;--course-soft:#f0efff}
.aquatics-theme{--course:#008a8e;--course-dark:#063e51;--course-soft:#eaf9f7}
.course-shell{max-width:1300px;margin:auto;padding:26px clamp(18px,4vw,46px) 54px}
.course-hero{border-radius:26px;min-height:330px;color:#fff;padding:44px clamp(26px,5vw,70px);position:relative;overflow:hidden;display:flex;justify-content:space-between;gap:30px;align-items:center;box-shadow:var(--shadow)}
.astronomy-theme .course-hero{background:
  radial-gradient(circle at 83% 26%,rgba(255,255,255,.85) 0 1%,rgba(119,110,255,.32) 2%,transparent 11%),
  radial-gradient(ellipse at 76% 110%,#1b65b8 0 14%,#0b2a57 16% 22%,transparent 23%),
  radial-gradient(circle at 20% 20%,rgba(89,79,222,.23),transparent 28%),
  linear-gradient(125deg,#030916,#071a38 58%,#102550)}
.aquatics-theme .course-hero{background:
  radial-gradient(ellipse at 75% 115%,#0da7ad 0 13%,#076578 16% 24%,transparent 25%),
  radial-gradient(circle at 78% 22%,rgba(120,244,255,.34),transparent 16%),
  linear-gradient(125deg,#03202e,#06485d 58%,#087b80)}
.hero-copy{max-width:760px;position:relative;z-index:2}
.hero-copy .eyebrow{color:#bcb8ff}
.aquatics-theme .hero-copy .eyebrow{color:#9df3ec}
.hero-label{font-size:.72rem;letter-spacing:.15em;font-weight:900;opacity:.76;margin:18px 0 2px}
.course-hero h1{font-size:clamp(2.25rem,6vw,4.5rem);line-height:1.02;margin:0 0 16px}
.course-hero #hero-summary{font-size:1.05rem;max-width:650px;color:#dbe6f6}
.hero-meta{display:flex;align-items:center;gap:14px;margin-top:24px}
.status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:7px 11px;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.18);font-size:.78rem;font-weight:800}
.hero-source{font-size:.82rem;color:#fff}
.hero-mark{width:min(24vw,220px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);flex:0 0 auto;position:relative;z-index:1}
.hero-mark img{width:55%;height:55%}
.section-nav{display:flex;gap:8px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);padding:10px;border-radius:18px;margin:18px 0;box-shadow:0 5px 18px rgba(8,25,50,.05);position:sticky;top:8px;z-index:8}
.section-nav-button{border:0;background:transparent;padding:10px 15px;border-radius:12px;color:#405068;font-weight:750;cursor:pointer}
.section-nav-button:hover,.section-nav-button.active{background:var(--course-soft);color:var(--course)}
.workspace{min-height:430px}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 24px rgba(8,25,50,.05);overflow:hidden;margin-bottom:18px}
.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:25px 26px 18px}
.panel-head h2{margin:0;font-size:1.55rem}
.panel-head p{margin:5px 0 0;color:var(--muted)}
.panel-body{padding:0 26px 26px}
.loading-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:40px;color:var(--muted)}
.current-banner{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;padding:22px;border-radius:18px;background:linear-gradient(135deg,var(--course-soft),#fff);border:1px solid color-mix(in srgb,var(--course) 22%,#fff)}
.current-banner h2{margin:3px 0 5px}
.current-banner p{margin:0;color:var(--muted)}
.current-label{font-size:.73rem;font-weight:900;letter-spacing:.12em;color:var(--course)}
.date-chip{border-radius:14px;background:#fff;border:1px solid var(--line);padding:10px 14px;text-align:center;min-width:120px;font-weight:800}
.week-browser{display:flex;align-items:center;gap:8px;overflow-x:auto;padding:2px 0 8px;scrollbar-width:thin}
.week-button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 14px;white-space:nowrap;cursor:pointer;font-weight:750;color:#465770}
.week-button:hover,.week-button.active{border-color:var(--course);background:var(--course);color:#fff}
.lesson-list,.event-list{display:grid;gap:12px}
.lesson-card{display:grid;grid-template-columns:145px minmax(0,380px) minmax(0,1fr);gap:20px;align-items:center;border:1px solid var(--line);border-radius:17px;padding:17px 18px;background:#fff}
.lesson-card:hover{border-color:color-mix(in srgb,var(--course) 38%,#fff);box-shadow:0 7px 20px rgba(8,25,50,.06)}
.lesson-date{font-weight:850;color:var(--course)}
.lesson-date small{display:block;color:var(--muted);font-weight:650;margin-top:3px}
.lesson-main .lesson-label{font-size:.72rem;font-weight:900;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}
.lesson-main h3{font-size:1.1rem;margin:2px 0 4px}
.lesson-main p{color:var(--muted);font-size:.91rem;margin:0}
.badge-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.badge{font-size:.72rem;font-weight:850;border-radius:999px;background:var(--course-soft);color:var(--course);padding:5px 8px}
.badge.cross-week{background:#fff4dd;color:#8a5a00}
.action-row{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.action-link{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);background:#fff;padding:9px 11px;border-radius:11px;text-decoration:none;font-size:.84rem;font-weight:800}
.action-link.primary{background:var(--course);border-color:var(--course);color:#fff}
.action-link:hover{transform:translateY(-1px)}
.secondary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.jump-card{border:1px solid var(--line);border-radius:18px;padding:20px;text-decoration:none;background:#fff;cursor:pointer}
.jump-card:hover{border-color:var(--course)}
.jump-card strong{font-size:1rem;display:block;margin-bottom:4px}
.jump-card span{font-size:.86rem;color:var(--muted)}
.topic-grid,.resource-grid,.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.info-card{border:1px solid var(--line);border-radius:17px;padding:20px;background:#fff}
.info-card h3{margin:0 0 7px}
.info-card p{color:var(--muted);margin:0 0 12px}
.info-card a{font-weight:800;color:var(--course)}
.event-card{border-left:5px solid var(--course);background:#fff;border-radius:14px;border-top:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 18px;display:grid;grid-template-columns:125px 1fr auto;gap:16px;align-items:center}
.event-card.holiday{border-left-color:#7a8594;background:#f4f6f8}
.event-card.assessment{border-left-color:#b88400}
.event-card.project{border-left-color:#7e42d5}
.event-card .type{font-size:.72rem;font-weight:900;text-transform:uppercase;color:var(--muted);letter-spacing:.07em}
.absent-steps{counter-reset:step;display:grid;gap:14px}
.absent-step{counter-increment:step;display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:flex-start;padding:17px;border:1px solid var(--line);border-radius:15px}
.absent-step:before{content:counter(step);width:40px;height:40px;border-radius:50%;background:var(--course);color:#fff;display:grid;place-items:center;font-weight:900}
.search-row{display:flex;gap:10px;align-items:center}
.search-row input{width:min(390px,100%);border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.empty-state{padding:26px;border:1px dashed #c8d2df;border-radius:15px;color:var(--muted);text-align:center}
@media(max-width:900px){
  .course-grid{grid-template-columns:1fr}
  .landing-principles{grid-template-columns:1fr 1fr}
  .lesson-card{grid-template-columns:100px 1fr}
  .action-row{grid-column:1/-1;justify-content:flex-start}
  .secondary-grid{grid-template-columns:1fr 1fr}
  .topic-grid,.resource-grid,.project-grid{grid-template-columns:1fr}
  .hero-mark{display:none}
}
@media(max-width:620px){
  .topbar{padding:10px 16px;min-height:68px}
  .brand small{display:none}
  .brand-logo{width:38px;height:38px}
  .ghost-button{padding:8px 11px;font-size:.83rem}
  .course-shell{padding:14px 12px 36px}
  .course-hero{min-height:280px;padding:30px 24px}
  .course-hero h1{font-size:2.25rem}
  .section-nav{flex-wrap:nowrap;overflow-x:auto;top:4px}
  .section-nav-button{white-space:nowrap}
  .panel-head,.panel-body{padding-left:16px;padding-right:16px}
  .lesson-card{grid-template-columns:1fr;gap:9px}
  .action-row{grid-column:auto}
  .lesson-date small{display:inline;margin-left:5px}
  .current-banner{grid-template-columns:1fr}
  .date-chip{text-align:left}
  .secondary-grid{grid-template-columns:1fr 1fr}
  .event-card{grid-template-columns:1fr}
  .landing-main{padding:44px 14px}
  .course-choice{min-height:360px;padding:25px}
  .landing-principles{grid-template-columns:1fr}
  .site-footer{flex-direction:column;align-items:flex-start}
}

.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

.clickable-lesson{cursor:pointer;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}
.clickable-lesson:hover{transform:translateY(-1px);border-color:var(--course);box-shadow:0 10px 24px rgba(8,25,50,.08)}
.clickable-lesson:focus{outline:3px solid color-mix(in srgb,var(--course) 26%,transparent);outline-offset:2px}
.open-lesson-hint{display:inline-flex;align-items:center;padding:9px 4px;font-size:.82rem;font-weight:850;color:var(--course);white-space:nowrap}
.lesson-detail{display:grid;gap:20px}
.lesson-detail-head{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:start;padding:22px;border-radius:18px;background:linear-gradient(135deg,var(--course-soft),#fff);border:1px solid color-mix(in srgb,var(--course) 20%,#fff)}
.lesson-detail-head h2{font-size:clamp(1.7rem,4vw,2.5rem);margin:4px 0 5px}
.detail-topic{color:var(--muted);margin:0}
.detail-section{border-top:1px solid var(--line);padding-top:18px}
.detail-section h3{margin:0 0 10px}
.detail-section p{margin:0;color:var(--muted)}
.detail-actions{justify-content:flex-start}
.session-list{display:grid;gap:8px}
.session-row{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:12px}
.session-row span{color:var(--muted)}
.detail-nav{display:flex;gap:10px;flex-wrap:wrap;padding-top:6px}
.empty-state.compact{padding:16px;text-align:left}
@media(max-width:620px){.lesson-detail-head{grid-template-columns:1fr}.session-row{grid-template-columns:1fr}}

/* v0.5.6 — stable lesson-card alignment
   Date lane: 150px
   Lesson/title lane: 380px
   Resource lane: begins slightly farther left at the same x-position for every lesson.
   Long titles may wrap within the title lane without moving the buttons. */
.lesson-card > .action-row{
  justify-content:flex-start;
  align-items:center;
  min-width:0;
}
.lesson-main{
  min-width:0;
}
.lesson-main h3{
  max-width:100%;
  overflow-wrap:break-word;
}

@media (min-width:901px) and (max-width:1250px){
  .lesson-card{
    grid-template-columns:120px minmax(0,315px) minmax(0,1fr);
    gap:16px;
  }
  .action-link{padding:8px 9px}
  .open-lesson-hint{font-size:.78rem}
}


/* ============================
   v0.6.0 GAME DAY
   Lesson command center
   ============================ */
.lesson-command-page{display:grid;gap:18px}
.lesson-command-top,.lesson-command-section,.lesson-meta-strip,.lesson-neighbor-nav{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 24px rgba(8,25,50,.05)
}
.lesson-command-top{padding:26px}
.lesson-back-link{display:inline-flex;margin-bottom:20px;color:var(--course);font-weight:850;text-decoration:none}
.lesson-command-title{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:start}
.lesson-command-title h1{font-size:clamp(2rem,5vw,3.3rem);line-height:1.05;margin:5px 0 8px}
.lesson-command-title p{margin:0;color:var(--muted);font-size:1rem}
.today-focus{margin-top:20px;padding:17px 18px;border:1px solid color-mix(in srgb,var(--course) 22%,#fff);background:var(--course-soft);border-radius:15px;display:grid;gap:4px}
.today-focus strong{color:var(--course)}
.today-focus span{color:#31425a}
.lesson-check-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}

.lesson-command-section{padding:24px}
.command-section-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:16px}
.command-section-head h3{margin:2px 0 0;font-size:1.25rem}
.command-kicker,.support-label{margin:0;color:var(--course);font-size:.72rem;font-weight:900;letter-spacing:.12em}
.slides-frame-wrap{position:relative;width:100%;aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:#0d1522;border:1px solid #cbd5e1}
.slides-frame{width:100%;height:100%;border:0;background:#0d1522}

.lesson-tool-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.lesson-tool-card{border:1px solid var(--line);border-radius:16px;padding:16px;text-decoration:none;background:#fff;display:grid;grid-template-columns:42px 1fr;gap:11px;align-items:center;transition:.14s ease}
.lesson-tool-card:hover{transform:translateY(-1px);border-color:var(--course);box-shadow:0 8px 18px rgba(8,25,50,.06)}
.lesson-tool-icon{width:40px;height:40px;border-radius:12px;background:var(--course-soft);color:var(--course);display:grid;place-items:center;font-weight:950;font-size:1.1rem}
.lesson-tool-card strong,.lesson-tool-card small{display:block}
.lesson-tool-card strong{font-size:.92rem}
.lesson-tool-card small{margin-top:3px;color:var(--muted);font-size:.78rem;line-height:1.25}

.lesson-support-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.support-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;display:grid;grid-template-columns:44px 1fr;gap:14px;box-shadow:0 6px 18px rgba(8,25,50,.04)}
.support-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--course-soft);color:var(--course);font-weight:950}
.support-card h3{margin:3px 0 8px}
.support-card p{margin:0;color:var(--muted)}
.support-card ul,.support-card ol{margin:8px 0 0;padding-left:20px;color:#425269}
.support-card li+li{margin-top:6px}
.placeholder-note{font-size:.78rem;margin-top:12px!important;padding-top:10px;border-top:1px dashed var(--line)}
.objective-card{border-color:color-mix(in srgb,var(--course) 22%,#fff)}
.absent-card{background:#fffdf8}

.lesson-meta-strip{display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden}
.lesson-meta-strip>div{padding:18px 20px;border-right:1px solid var(--line)}
.lesson-meta-strip>div:last-child{border-right:0}
.lesson-meta-strip span,.lesson-meta-strip strong{display:block}
.lesson-meta-strip span{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:850}
.lesson-meta-strip strong{margin-top:4px}

.lesson-neighbor-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:14px 18px}
.lesson-neighbor-nav a{color:var(--course);font-weight:850;text-decoration:none}
.lesson-neighbor-nav a:last-child{text-align:right}
.lesson-neighbor-nav .back-lessons{color:#435169;border:1px solid var(--line);border-radius:999px;padding:8px 12px}

/* Resource hub */
.resource-callout{background:linear-gradient(135deg,var(--course-soft),#fff);border:1px solid color-mix(in srgb,var(--course) 20%,#fff);border-radius:16px;padding:18px;margin-bottom:24px;display:grid;gap:4px}
.resource-callout span{color:var(--muted)}
.resource-section+.resource-section{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
.resource-section>h3{margin:3px 0 14px;font-size:1.2rem}
.resource-hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.resource-hub-card{display:grid;grid-template-columns:46px 1fr auto;gap:13px;align-items:center;padding:17px;border:1px solid var(--line);border-radius:16px;text-decoration:none;background:#fff;transition:.14s ease}
.resource-hub-card:hover{transform:translateY(-1px);border-color:var(--course);box-shadow:0 8px 20px rgba(8,25,50,.06)}
.resource-hub-icon{width:44px;height:44px;border-radius:13px;background:var(--course-soft);color:var(--course);display:grid;place-items:center;font-size:1.1rem;font-weight:950}
.resource-hub-copy strong,.resource-hub-copy small{display:block}
.resource-hub-copy small{margin-top:3px;color:var(--muted);line-height:1.3}
.resource-hub-arrow{color:var(--course);font-size:1.2rem;font-weight:950}

@media(max-width:900px){
  .lesson-tool-grid{grid-template-columns:1fr 1fr}
  .lesson-support-grid{grid-template-columns:1fr}
  .resource-hub-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .lesson-command-top,.lesson-command-section{padding:18px}
  .lesson-command-title{grid-template-columns:1fr}
  .lesson-tool-grid{grid-template-columns:1fr}
  .lesson-meta-strip{grid-template-columns:1fr}
  .lesson-meta-strip>div{border-right:0;border-bottom:1px solid var(--line)}
  .lesson-meta-strip>div:last-child{border-bottom:0}
  .lesson-neighbor-nav{grid-template-columns:1fr;gap:10px;text-align:center}
  .lesson-neighbor-nav a:last-child{text-align:center}
}


/* v0.6.2 launch resource polish */
.pending-resource{
  cursor:default;
  background:linear-gradient(135deg,#fff,var(--course-soft));
  border-style:dashed;
}
.pending-resource:hover{
  transform:none;
  border-color:var(--line);
  box-shadow:none;
}
.resource-status-chip{
  font-size:.66rem;
  font-weight:950;
  letter-spacing:.07em;
  color:var(--course);
  background:var(--course-soft);
  border:1px solid color-mix(in srgb,var(--course) 20%,#fff);
  border-radius:999px;
  padding:6px 8px;
  white-space:nowrap;
}


/* v0.6.3 — first-visit live resource loading */
.resource-loading-state{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:72px;
  padding:16px 18px;
  border:1px dashed color-mix(in srgb,var(--course) 28%,#dbe3ef);
  border-radius:14px;
  background:linear-gradient(135deg,var(--course-soft),#fff);
  color:#34445d;
}
.resource-loading-state strong,
.resource-loading-state small{display:block}
.resource-loading-state strong{color:#17253b}
.resource-loading-state small{margin-top:3px;color:var(--muted)}
.mini-spinner{
  width:22px;
  height:22px;
  flex:0 0 22px;
  border:3px solid color-mix(in srgb,var(--course) 18%,#e8edf5);
  border-top-color:var(--course);
  border-radius:50%;
  animation:mosley-spin .8s linear infinite;
}
@keyframes mosley-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){
  .mini-spinner{animation:none}
}


/* v0.6.5 — launch freeze / first-visit reliability */
.launch-loading-card{
  min-height:140px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  text-align:left;
  background:linear-gradient(135deg,#fff,var(--course-soft));
}
.launch-loading-card strong,
.launch-loading-card small{display:block}
.launch-loading-card strong{
  color:#16243a;
  font-size:1.05rem;
}
.launch-loading-card small{
  margin-top:4px;
  color:var(--muted);
}
.action-loading-mini{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:7px 10px;
  border:1px dashed color-mix(in srgb,var(--course) 25%,#d8e1ed);
  border-radius:999px;
  background:var(--course-soft);
  color:var(--course);
  font-size:.72rem;
  font-weight:850;
  white-space:nowrap;
}
.action-loading-mini .mini-spinner{
  width:14px;
  height:14px;
  flex-basis:14px;
  border-width:2px;
}


/* v0.6.7 — Opening Day / Welcome experience */
.welcome-card{
  border-color:color-mix(in srgb,var(--course) 30%,#d8e1ed);
  background:linear-gradient(135deg,var(--course-soft),#fff 62%);
}
.welcome-card:hover{
  border-color:var(--course);
}
.welcome-label{
  color:var(--course)!important;
}
.welcome-current-banner{
  background:linear-gradient(135deg,var(--course-soft),#fff 72%);
}
.course-start-block{
  margin-bottom:18px;
}
.course-start-block>.command-kicker{
  margin:4px 0 9px;
}
.instruction-divider{
  display:flex;
  align-items:center;
  gap:12px;
  margin:22px 0 14px;
  color:var(--muted);
  font-size:.74rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.instruction-divider:before,
.instruction-divider:after{
  content:"";
  height:1px;
  background:var(--line);
  flex:1;
}
.welcome-plan-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.welcome-plan-item{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:12px;
  align-items:start;
  padding:16px;
  border:1px solid var(--line);
  border-radius:15px;
  background:#fff;
}
.welcome-plan-item strong,
.welcome-plan-item small{
  display:block;
}
.welcome-plan-item small{
  margin-top:4px;
  color:var(--muted);
  line-height:1.35;
}
.welcome-step{
  width:40px;
  height:40px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--course);
  color:#fff;
  font-weight:950;
}
.pending-welcome-tool{
  cursor:default;
  border-style:dashed;
  background:linear-gradient(135deg,#fff,var(--course-soft));
}
.welcome-site-guide{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);
  gap:22px;
  padding:24px;
  border-radius:var(--radius);
  border:1px solid var(--line);
  background:#fff;
  box-shadow:0 8px 24px rgba(8,25,50,.05);
}
.welcome-site-guide h3{
  margin:3px 0 8px;
  font-size:1.25rem;
}
.welcome-site-guide p{
  margin:0;
  color:var(--muted);
  line-height:1.55;
}
.welcome-site-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.welcome-site-grid>div{
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px;
  background:var(--course-soft);
}
.welcome-site-grid strong,
.welcome-site-grid span{
  display:block;
}
.welcome-site-grid span{
  margin-top:3px;
  color:var(--muted);
  font-size:.8rem;
  line-height:1.25;
}
@media(max-width:760px){
  .welcome-plan-grid,
  .welcome-site-guide,
  .welcome-site-grid{
    grid-template-columns:1fr;
  }
}


/* v0.6.8 — Welcome resource consistency */
.welcome-banner-link{color:inherit;text-decoration:none;cursor:pointer;transition:.15s ease}
.welcome-banner-link:hover{transform:translateY(-1px);border-color:var(--course);box-shadow:0 10px 24px rgba(8,25,50,.07)}
.welcome-banner-link:focus-visible{outline:3px solid color-mix(in srgb,var(--course) 35%,transparent);outline-offset:3px}
.welcome-banner-cta{display:inline-block;margin-top:8px;color:var(--course);font-size:.78rem;font-weight:900}
.welcome-resource-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.welcome-resource-card strong{color:#17253b}
@media(max-width:900px){.welcome-resource-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.welcome-resource-grid{grid-template-columns:1fr}}

/* =========================================================
   v0.6.11 — VISUAL POLISH
   Visual shell only. Data hooks and application behavior stay intact.
   ========================================================= */

/* Global polish */
body{background:linear-gradient(180deg,#f7faff 0,#f5f8fc 42%,#f7f9fc 100%)}
.topbar{min-height:70px;padding-top:10px;padding-bottom:10px}
.brand-logo{width:42px;height:42px}
.brand strong{font-size:1.18rem;letter-spacing:.015em}
.brand small{font-size:.72rem}
.ghost-button{transition:background .15s ease,border-color .15s ease,transform .15s ease}
.ghost-button:hover{transform:translateY(-1px);border-color:var(--course);background:var(--course-soft)}
.top-actions{display:flex;align-items:center;gap:12px}
.top-link{font-weight:800;text-decoration:none;color:#26364e;padding:8px 5px;border-bottom:2px solid transparent}
.top-link:hover{color:var(--course);border-bottom-color:var(--course)}

/* Landing page */
.landing{background:
  radial-gradient(circle at 10% 22%,rgba(118,162,230,.15),transparent 22%),
  radial-gradient(circle at 90% 27%,rgba(238,180,143,.15),transparent 24%),
  linear-gradient(180deg,#f7faff 0%,#f6f8fb 100%)}
.landing-topbar{background:#06162b;color:#fff;border-bottom:1px solid rgba(255,255,255,.12)}
.landing-topbar .brand-logo{filter:brightness(0) invert(1)}
.landing-topbar .brand small{color:#c9d5e6}
.landing-ghost{color:#fff;border-color:rgba(255,255,255,.42);background:transparent}
.landing-ghost:hover{background:rgba(255,255,255,.08);border-color:#fff}
.landing-main{max-width:1390px;padding:44px 32px 52px}
.landing-intro{margin-bottom:28px}
.landing-intro h1{font-size:clamp(2.4rem,5vw,4.35rem);letter-spacing:-.035em;margin:0 0 5px}
.landing-intro>p:last-child{font-size:1.22rem;margin:0;color:#26364e}
.course-grid{gap:18px}
.course-choice{min-height:465px;border-radius:22px;padding:26px 26px 18px;box-shadow:0 15px 34px rgba(5,24,48,.17);border:1px solid rgba(255,255,255,.1);isolation:isolate}
.course-choice:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(1,10,24,.12) 0%,rgba(1,10,24,.18) 34%,rgba(1,10,24,.72) 100%);z-index:-1}
.course-choice:after{width:440px;height:440px;right:-150px;bottom:-240px;background:rgba(255,255,255,.05);z-index:-1}
.aquatics-choice{background-image:linear-gradient(90deg,rgba(2,34,47,.78),rgba(3,64,77,.16)),url('/assets/hero-aquatics.svg');background-size:cover;background-position:center}
.astronomy-choice{background-image:linear-gradient(90deg,rgba(3,12,31,.83),rgba(4,19,46,.08)),url('/assets/hero-astronomy.svg');background-size:cover;background-position:center}
.course-icon-wrap{width:70px;height:70px;background:rgba(5,43,73,.63);border:1px solid rgba(255,255,255,.34);box-shadow:inset 0 0 0 1px rgba(255,255,255,.05)}
.aquatics-choice .course-icon-wrap{background:rgba(0,123,131,.62)}
.course-icon-wrap img{width:40px;height:40px}
.course-card-copy{margin-top:auto;position:relative;z-index:1}
.course-kicker{font-size:2rem;letter-spacing:-.025em;margin:12px 0 8px;text-shadow:0 2px 14px rgba(0,0,0,.3)}
.course-choice h2{font-size:1.06rem;margin:0 0 6px;font-weight:750;color:#fff}
.course-tagline{font-size:1rem;line-height:1.55;margin:0;color:#f3f7fb}
.course-features{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:22px 0 14px;border-top:1px solid rgba(255,255,255,.14);padding-top:14px;position:relative;z-index:1}
.course-features span{display:flex;flex-direction:column;align-items:center;text-align:center;gap:5px;padding:0 8px;border-right:1px solid rgba(255,255,255,.12);font-size:.64rem;font-weight:900;letter-spacing:.035em;text-transform:uppercase;line-height:1.2}
.course-features span:last-child{border-right:0}
.course-features b{font-size:1.45rem;line-height:1;color:#fff;font-weight:500}
.enter-course{border-radius:9px;padding:13px 18px;text-transform:uppercase;letter-spacing:.01em;background:linear-gradient(90deg,rgba(0,132,143,.96),rgba(0,155,163,.96));border:0;box-shadow:0 8px 18px rgba(0,0,0,.14)}
.astronomy-choice .enter-course{background:linear-gradient(90deg,#245fb6,#3477cc)}
.landing-principles{margin-top:16px;border-radius:14px;box-shadow:0 8px 24px rgba(8,25,50,.05)}
.landing-principles div{padding:17px 20px;display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:start}
.landing-principles i{width:38px;height:38px;border:2px solid #2f6ab9;border-radius:50%;font-style:normal;display:grid;place-items:center;color:#2f6ab9;font-size:1.18rem}
.landing-principles strong{font-size:.84rem;text-transform:uppercase;color:#10203a}
.landing-principles em{display:block;color:var(--muted);font-size:.82rem;font-style:normal;margin-top:3px;line-height:1.45}
.landing-footer{min-height:90px}
.footer-quote{font-size:.85rem}
.footer-quote small{display:block;color:#8fb5e3;margin-top:4px}

/* Course page shell — sidebar on desktop */
.course-topbar{box-shadow:0 3px 18px rgba(8,25,50,.04)}
.course-shell{max-width:1540px;padding:18px 26px 44px;display:grid;grid-template-columns:170px minmax(0,1fr);grid-template-rows:auto auto;gap:16px 18px;align-items:start}
.course-hero{grid-column:2;grid-row:1;min-height:265px;border-radius:18px;padding:32px clamp(28px,4vw,54px);box-shadow:0 12px 28px rgba(8,25,50,.12)}
.course-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,15,36,.86) 0%,rgba(2,19,38,.72) 45%,rgba(2,18,37,.16) 100%);z-index:0}
.aquatics-theme .course-hero:before{background:linear-gradient(90deg,rgba(2,39,49,.88) 0%,rgba(3,65,72,.72) 45%,rgba(3,58,65,.12) 100%)}
.course-hero h1{font-size:clamp(2.1rem,4.6vw,3.9rem);max-width:800px;margin-bottom:10px;letter-spacing:-.03em}
.course-hero #hero-summary{font-size:1.07rem;max-width:650px}
.hero-label{margin-top:10px}
.hero-meta{margin-top:17px}
.hero-mark{display:block;position:absolute;right:0;bottom:0;width:48%;height:100%;aspect-ratio:auto;border:0;border-radius:0;background:transparent;overflow:hidden;opacity:.92;pointer-events:none}
.hero-mark img{width:100%;height:100%;object-fit:contain;object-position:right center}
.section-nav{grid-column:1;grid-row:1 / span 2;position:sticky;top:16px;margin:0;padding:18px 10px;background:#071b35;border:0;border-radius:17px;box-shadow:0 12px 30px rgba(8,25,50,.12);display:flex;flex-direction:column;gap:4px;min-height:510px;overflow:hidden}
.aquatics-theme .section-nav{background:#07394b}
.section-nav:before{content:"COURSE";display:block;color:rgba(255,255,255,.55);font-size:.68rem;letter-spacing:.16em;font-weight:900;padding:1px 12px 12px}
.section-nav:after{content:"Better questions lead to deeper understanding.";display:block;margin-top:auto;color:rgba(255,255,255,.68);font-size:.76rem;line-height:1.5;font-style:italic;padding:24px 12px 6px;border-top:1px solid rgba(255,255,255,.13)}
.section-nav-button{width:100%;text-align:left;color:#eaf2fc;padding:11px 12px;border-radius:9px;display:flex;align-items:center;gap:10px}
.section-nav-button:before{width:20px;text-align:center;font-size:1.05rem;color:#cfe2fa}
.section-nav-button:nth-child(1):before{content:"⌂"}
.section-nav-button:nth-child(2):before{content:"▤"}
.section-nav-button:nth-child(3):before{content:"◇"}
.section-nav-button:nth-child(4):before{content:"↗"}
.section-nav-button:nth-child(5):before{content:"▣"}
.section-nav-button:nth-child(6):before{content:"?";font-weight:950}
.section-nav-button:hover,.section-nav-button.active{background:rgba(83,143,222,.24);color:#fff}
.aquatics-theme .section-nav-button:hover,.aquatics-theme .section-nav-button.active{background:rgba(37,194,191,.22)}
.workspace{grid-column:2;grid-row:2;min-width:0}
.panel{border-radius:17px;box-shadow:0 6px 18px rgba(8,25,50,.045);margin-bottom:15px}
.panel-head{padding:20px 22px 13px}
.panel-head h2{font-size:1.35rem;letter-spacing:-.015em}
.panel-body{padding:0 22px 22px}
.panel:has(.current-banner) .panel-head{display:none}
.panel:has(.current-banner) .panel-body{padding:0}
.current-banner{border-radius:17px;padding:19px 22px;background:linear-gradient(135deg,var(--course-soft),#fff 75%);border:0}
.current-banner h2{font-size:1.4rem}
.date-chip{border-radius:999px;min-width:130px;background:#fff}
.lesson-list{gap:9px}
.lesson-card{grid-template-columns:100px minmax(0,430px) minmax(0,1fr);gap:17px;padding:13px 15px;border-radius:14px;box-shadow:none}
.lesson-date{width:76px;min-height:76px;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:8px;background:var(--course-soft);border:1px solid color-mix(in srgb,var(--course) 14%,#fff);line-height:1.2;font-size:.82rem}
.lesson-date small{font-size:.6rem;line-height:1.1;margin-top:4px}
.lesson-main h3{font-size:1.05rem}
.action-link{min-width:92px;justify-content:center;border-radius:9px;padding:9px 12px}
.open-lesson-hint{font-size:.73rem}
.secondary-grid{gap:10px}
.jump-card{position:relative;border:0;border-radius:14px;padding:18px 42px 18px 58px;min-height:108px;box-shadow:inset 0 0 0 1px rgba(10,38,77,.04)}
.jump-card:before{position:absolute;left:18px;top:21px;width:29px;height:29px;border:2px solid currentColor;border-radius:8px;display:grid;place-items:center;font-weight:900}
.jump-card:after{content:"→";position:absolute;right:15px;top:50%;transform:translateY(-50%);font-size:1.25rem;font-weight:900}
.jump-card:nth-child(1){background:#eaf3ff;color:#1451a0}.jump-card:nth-child(1):before{content:"▤"}
.jump-card:nth-child(2){background:#f0eaff;color:#5a2aa6}.jump-card:nth-child(2):before{content:"◇"}
.jump-card:nth-child(3){background:#eaf7ef;color:#1f7547}.jump-card:nth-child(3):before{content:"▣"}
.jump-card:nth-child(4){background:#fff1e7;color:#bd5a09}.jump-card:nth-child(4):before{content:"?"}
.jump-card strong{color:currentColor;text-transform:uppercase;font-size:.87rem}
.jump-card span{color:#31465e;font-size:.79rem}

/* Resource and support surfaces get a little more depth */
.resource-hub-card,.info-card,.support-card,.lesson-tool-card{box-shadow:0 4px 14px rgba(8,25,50,.035)}

/* Responsive: preserve the working horizontal nav on tablets/phones */
@media(max-width:960px){
  .course-shell{display:block;padding:14px 14px 36px}
  .course-hero{min-height:260px}
  .section-nav{position:sticky;top:4px;min-height:0;margin:14px 0;display:flex;flex-direction:row;flex-wrap:nowrap;overflow-x:auto;padding:9px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 5px 18px rgba(8,25,50,.05)}
  .section-nav:before,.section-nav:after{display:none}
  .section-nav-button{width:auto;color:#405068;white-space:nowrap;padding:10px 13px}
  .section-nav-button:before{color:var(--course)}
  .section-nav-button:hover,.section-nav-button.active{background:var(--course-soft);color:var(--course)}
  .workspace{min-height:430px}
  .hero-mark{width:46%;opacity:.7}
  .lesson-card{grid-template-columns:88px 1fr}
  .lesson-date{width:68px;min-height:68px}
}
@media(max-width:720px){
  .landing-main{padding:34px 14px 42px}
  .course-grid{grid-template-columns:1fr}
  .course-choice{min-height:420px}
  .course-features{grid-template-columns:repeat(4,1fr)}
  .landing-principles{grid-template-columns:1fr 1fr}
  .landing-footer{align-items:flex-start;flex-direction:column}
  .course-actions .top-link{display:none}
  .hero-mark{display:none}
  .lesson-card{grid-template-columns:1fr;gap:8px}
  .lesson-date{width:auto;min-height:0;border-radius:10px;display:block;text-align:left;background:transparent;border:0;padding:0}
  .secondary-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:480px){
  .course-features{grid-template-columns:1fr 1fr;row-gap:10px}
  .course-features span:nth-child(2){border-right:0}
  .landing-principles,.secondary-grid{grid-template-columns:1fr}
}

/* =========================================================
   v0.6.12 — PREMIUM VISUAL REFRESH
   Visual layer only. Live feed, Drive resources, routing,
   parsing, caching, and Lesson Details behavior are unchanged.
   ========================================================= */

:root{
  --premium-shadow:0 22px 55px rgba(5,22,46,.16);
  --premium-soft-shadow:0 10px 28px rgba(5,22,46,.08);
}

/* ---------- Global ---------- */
body{background:#f5f7fb}
.topbar{backdrop-filter:saturate(125%) blur(10px)}
.brand strong{font-weight:900;letter-spacing:.025em}
.brand small{letter-spacing:.01em}
.ghost-button{box-shadow:0 2px 8px rgba(8,25,50,.04)}
.site-footer{background:
  radial-gradient(circle at 45% 120%,rgba(32,94,164,.18),transparent 32%),
  #04152a;border-top:1px solid rgba(255,255,255,.07)}

/* ---------- Landing / course selector ---------- */
.landing{background:
  radial-gradient(circle at 13% 21%,rgba(64,120,204,.14),transparent 24%),
  radial-gradient(circle at 88% 21%,rgba(235,173,121,.12),transparent 25%),
  linear-gradient(180deg,#f7faff 0%,#f2f5f9 100%)}
.landing-topbar{background:
  radial-gradient(circle at 52% -180%,rgba(67,121,196,.26),transparent 36%),
  #04152a;box-shadow:0 8px 22px rgba(2,15,35,.15)}
.landing-main{max-width:1450px;padding-top:38px}
.landing-intro{margin-bottom:24px}
.landing-eyebrow{margin:0 0 6px;color:#3c6da6;font-size:.7rem;font-weight:900;letter-spacing:.18em}
.landing-intro h1{font-weight:900;color:#071934;text-shadow:0 1px 0 #fff}
.landing-intro>p:last-child{font-size:1.16rem;color:#3c4d64}
.course-grid{gap:22px}
.course-choice{
  min-height:500px;border-radius:24px;padding:25px 25px 18px;
  border:1px solid rgba(255,255,255,.18);box-shadow:var(--premium-shadow);
  background-color:#06182e;background-size:cover;background-position:center;
  isolation:isolate;transform:translateZ(0)
}
.course-choice:before{
  background:
    linear-gradient(90deg,rgba(2,12,28,.89) 0%,rgba(2,16,33,.65) 48%,rgba(3,18,35,.14) 100%),
    linear-gradient(180deg,rgba(1,8,20,.06) 0%,rgba(1,8,20,.03) 38%,rgba(1,9,22,.84) 100%)
}
.aquatics-choice{background-image:url('/assets/freshwater-cinematic.jpg');background-position:center center}
.astronomy-choice{background-image:url('/assets/astronomy-cinematic.jpg');background-position:center center}
.course-choice:hover{transform:translateY(-5px) scale(1.003);box-shadow:0 28px 68px rgba(5,22,46,.22)}
.course-card-top{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1}
.course-card-type{font-size:.64rem;font-weight:900;letter-spacing:.16em;color:rgba(255,255,255,.72);padding:7px 10px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(2,17,35,.28);backdrop-filter:blur(7px)}
.course-icon-wrap{width:72px;height:72px;border:1px solid rgba(255,255,255,.36);background:rgba(5,36,64,.56);backdrop-filter:blur(7px);box-shadow:0 8px 18px rgba(0,0,0,.2)}
.aquatics-choice .course-icon-wrap{background:rgba(0,111,119,.58)}
.course-card-copy{max-width:450px;margin-top:auto}
.course-kicker{font-size:2.08rem;letter-spacing:-.03em;margin-bottom:5px}
.course-choice h2{font-size:1rem;font-weight:760;margin-top:0}
.course-tagline{font-size:.96rem;line-height:1.5;color:#f2f6fb}
.course-kicker:after{content:"";display:block;width:168px;height:3px;margin-top:9px;border-radius:3px;background:linear-gradient(90deg,#31c4c9,transparent)}
.astronomy-choice .course-kicker:after{background:linear-gradient(90deg,#4c8cf2,transparent)}
.course-features{margin-top:24px;padding-top:15px;background:linear-gradient(180deg,rgba(3,19,39,0),rgba(3,19,39,.08))}
.course-features span{font-size:.61rem;text-shadow:0 1px 8px rgba(0,0,0,.45)}
.course-features b{width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.22);border-radius:50%;background:rgba(2,18,37,.35);backdrop-filter:blur(6px);font-size:1rem}
.enter-course{padding:14px 19px;border-radius:10px;font-size:.93rem;box-shadow:0 9px 22px rgba(1,11,26,.25)}
.aquatics-choice .enter-course{background:linear-gradient(90deg,#007d86,#00a3a7)}
.astronomy-choice .enter-course{background:linear-gradient(90deg,#234eaa,#3779d1)}
.landing-principles{margin-top:20px;border:0;box-shadow:var(--premium-soft-shadow);background:transparent;gap:1px}
.landing-principles div{padding:20px 22px;border-top:1px solid #e2e7ef;border-bottom:1px solid #e2e7ef}
.landing-principles div:first-child{border-left:1px solid #e2e7ef;border-radius:16px 0 0 16px}
.landing-principles div:last-child{border-right:1px solid #e2e7ef;border-radius:0 16px 16px 0}
.landing-principles i{background:linear-gradient(145deg,#fff,#eff6ff);box-shadow:0 4px 10px rgba(30,84,151,.08)}
.landing-footer{min-height:82px}

/* ---------- Course top bar ---------- */
.course-topbar{background:rgba(255,255,255,.94);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(210,220,232,.9);box-shadow:0 7px 22px rgba(6,27,55,.06)}
.course-actions .ghost-button{border-color:#8fa5c0}

/* ---------- Desktop course shell ---------- */
.course-shell{max-width:1580px;grid-template-columns:190px minmax(0,1fr);gap:18px 20px;padding-top:20px}
.section-nav{padding:15px 11px 13px;min-height:560px;background:
  radial-gradient(circle at 50% 0,rgba(57,109,186,.22),transparent 26%),
  linear-gradient(180deg,#071c37,#04152a);border:1px solid rgba(255,255,255,.05);box-shadow:0 18px 42px rgba(4,22,47,.18)}
.aquatics-theme .section-nav{background:
  radial-gradient(circle at 50% 0,rgba(39,196,192,.18),transparent 28%),
  linear-gradient(180deg,#074254,#052b39)}
.section-nav:before,.section-nav:after{display:none!important}
.course-nav-brand{display:grid;grid-template-columns:44px 1fr;gap:9px;align-items:center;padding:3px 8px 16px;margin-bottom:9px;border-bottom:1px solid rgba(255,255,255,.12);color:#fff}
.course-nav-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08)}
.course-nav-icon img{width:25px;height:25px;filter:brightness(0) invert(1)}
.course-nav-brand small,.course-nav-brand strong{display:block}
.course-nav-brand small{font-size:.58rem;letter-spacing:.14em;color:rgba(255,255,255,.58);font-weight:900}
.course-nav-brand strong{font-size:.8rem;line-height:1.15;margin-top:3px;text-transform:uppercase;letter-spacing:.03em}
.section-nav-button{font-size:.83rem;font-weight:780;padding:11px 12px}
.section-nav-button.active{box-shadow:inset 3px 0 0 rgba(255,255,255,.62)}
.course-nav-quote{margin-top:auto;padding:22px 11px 8px;border-top:1px solid rgba(255,255,255,.12);font-size:.72rem;line-height:1.55;font-style:italic;color:rgba(255,255,255,.68)}

/* ---------- Cinematic course heroes ---------- */
.course-hero{min-height:310px;padding:34px 50px;border-radius:20px;background-size:cover!important;background-position:center!important;box-shadow:0 18px 38px rgba(5,22,46,.16);border:1px solid rgba(255,255,255,.12)}
.astronomy-theme .course-hero{background-image:url('/assets/astronomy-cinematic.jpg')}
.aquatics-theme .course-hero{background-image:url('/assets/freshwater-cinematic.jpg')}
.course-hero:before{background:linear-gradient(90deg,rgba(2,12,28,.93) 0%,rgba(2,17,34,.78) 46%,rgba(2,18,37,.12) 100%)}
.aquatics-theme .course-hero:before{background:linear-gradient(90deg,rgba(3,38,45,.94) 0%,rgba(3,50,56,.76) 46%,rgba(3,58,65,.10) 100%)}
.course-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.12));z-index:0;pointer-events:none}
.hero-copy{max-width:720px}
.course-hero h1{font-size:clamp(2.25rem,4.4vw,4rem);letter-spacing:-.045em;text-shadow:0 4px 26px rgba(0,0,0,.38)}
.course-hero #hero-summary{font-size:1.08rem;line-height:1.5;color:#eef4fb;text-shadow:0 2px 14px rgba(0,0,0,.3)}
.hero-mark{display:none}
.hero-current-button{display:inline-flex;align-items:center;gap:14px;margin-top:18px;padding:11px 17px;border-radius:10px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(7px);text-decoration:none;color:#fff;font-size:.84rem;font-weight:900;transition:.15s ease}
.hero-current-button:hover{background:#fff;color:var(--course-dark);transform:translateY(-1px)}
.status-pill{backdrop-filter:blur(7px);background:rgba(2,16,33,.36)}

/* ---------- Current / weekly content surfaces ---------- */
.workspace .panel{border:1px solid #e1e7ef;box-shadow:0 8px 24px rgba(5,22,46,.055)}
.current-banner{padding:20px 23px;background:
  radial-gradient(circle at 95% 35%,color-mix(in srgb,var(--course) 13%,transparent),transparent 20%),
  linear-gradient(135deg,var(--course-soft),#fff 70%)}
.current-label{font-size:.68rem;letter-spacing:.15em}
.lesson-card{border-color:#e2e8f0;background:linear-gradient(180deg,#fff,#fdfefe);transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.lesson-card:hover{transform:translateY(-1px);box-shadow:0 9px 20px rgba(5,22,46,.07)}
.lesson-date{box-shadow:inset 0 0 0 1px rgba(255,255,255,.75)}
.lesson-main h3{font-weight:850;color:#0b1e38}
.action-link{background:linear-gradient(180deg,#fff,#f9fbfd);box-shadow:0 2px 4px rgba(5,22,46,.025)}
.action-link.primary{background:linear-gradient(135deg,var(--course),color-mix(in srgb,var(--course) 76%,#0b2451));box-shadow:0 5px 13px color-mix(in srgb,var(--course) 22%,transparent)}
.secondary-grid{margin-top:2px}
.jump-card{box-shadow:0 7px 18px rgba(5,22,46,.04),inset 0 0 0 1px rgba(10,38,77,.04)}
.jump-card:hover{transform:translateY(-2px);box-shadow:0 11px 25px rgba(5,22,46,.08)}

/* ---------- Resource/detail cards ---------- */
.resource-hub-card,.info-card,.support-card,.lesson-tool-card{border-color:#e1e7ef;box-shadow:0 7px 20px rgba(5,22,46,.045)}
.lesson-command-top,.lesson-command-section,.lesson-meta-strip,.lesson-neighbor-nav{border-color:#e1e7ef;box-shadow:0 9px 25px rgba(5,22,46,.05)}

/* ---------- Responsive ---------- */
@media(max-width:960px){
  .course-nav-brand,.course-nav-quote{display:none}
  .course-hero{min-height:280px;padding:30px 28px;background-position:center!important}
  .section-nav{min-height:0}
}
@media(max-width:720px){
  .landing-main{padding-top:28px}
  .landing-eyebrow{font-size:.62rem}
  .course-choice{min-height:455px}
  .course-card-type{display:none}
  .course-grid{gap:16px}
  .landing-principles div:first-child,.landing-principles div:last-child{border-radius:0}
  .landing-principles div{border:1px solid #e2e7ef!important}
  .course-hero{min-height:300px;background-position:62% center!important}
  .course-hero:before{background:linear-gradient(90deg,rgba(2,12,28,.94),rgba(2,17,34,.72) 70%,rgba(2,18,37,.4))}
  .aquatics-theme .course-hero:before{background:linear-gradient(90deg,rgba(3,38,45,.95),rgba(3,50,56,.75) 70%,rgba(3,58,65,.42))}
  .hero-current-button{margin-top:15px}
}

/* ============================================================
   v0.6.13 — EDITORIAL DESIGN SYSTEM
   Visual-shell only. Live feed / calendar / Drive logic unchanged.
   ============================================================ */
:root{
  --ms-navy:#06172d;
  --ms-navy-2:#0a2443;
  --ms-ink:#0b1830;
  --ms-muted:#5b6b80;
  --ms-paper:#f5f8fc;
  --ms-line:#dce4ee;
  --ms-blue:#2867c8;
  --ms-aqua:#078b91;
  --ms-shadow:0 18px 46px rgba(5,25,55,.12);
  --ms-shadow-soft:0 7px 22px rgba(5,25,55,.065);
}
html{background:var(--ms-paper)}
body{font-family:"Aptos","Inter","Segoe UI",Arial,sans-serif;color:var(--ms-ink);background:var(--ms-paper);letter-spacing:-.006em}
svg{display:block}

/* Header / brand */
.premium-topbar{height:78px;min-height:78px;background:linear-gradient(90deg,#041426,#071a31 65%,#06172d);border:0;padding:0 clamp(26px,4vw,64px);box-shadow:0 5px 18px rgba(3,17,37,.18)}
.premium-topbar .brand strong{color:#fff;font-size:1.22rem;letter-spacing:.015em;font-weight:850}
.premium-topbar .brand small{color:#d4deeb;font-size:.72rem}
.premium-topbar .brand-logo{filter:brightness(0) invert(1);width:50px;height:50px}
.premium-nav{display:flex;align-items:stretch;height:100%;gap:4px}
.premium-nav-link{display:flex;align-items:center;gap:8px;padding:0 14px;text-decoration:none;color:#e6edf6;font-size:.86rem;font-weight:700;position:relative}
.premium-nav-link svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.premium-nav-link:after{content:"";position:absolute;height:2px;left:14px;right:14px;bottom:13px;border-radius:2px;background:#fff;transform:scaleX(0);transition:.16s ease}
.premium-nav-link:hover,.premium-nav-link.active{color:#fff}
.premium-nav-link.active:after,.premium-nav-link:hover:after{transform:scaleX(1)}

/* Landing composition */
.premium-portal{background:
  url('/assets/topo-pattern.svg') center 88px/900px 600px no-repeat,
  radial-gradient(circle at 11% 26%,rgba(68,127,206,.12),transparent 24%),
  radial-gradient(circle at 91% 26%,rgba(238,181,135,.10),transparent 25%),
  linear-gradient(180deg,#f9fbfe,#f3f7fb)}
.premium-landing-main{max-width:1380px;padding:34px 28px 28px}
.premium-intro{display:grid;grid-template-columns:minmax(45px,120px) auto minmax(45px,120px);align-items:center;justify-content:center;gap:28px;margin:0 0 8px;text-align:center}
.premium-intro .title-rule{height:1px;width:100%;background:linear-gradient(90deg,transparent,#19304e)}
.premium-intro .title-rule:nth-of-type(2){background:linear-gradient(90deg,#19304e,transparent)}
.premium-intro h1{font-size:clamp(2.45rem,4.2vw,3.7rem);line-height:.98;margin:0;color:#07182f;letter-spacing:-.045em;font-weight:900}
.premium-intro p{grid-column:1/-1;margin:0;font-size:1.13rem;color:#15233b;letter-spacing:-.01em}
.premium-course-grid{grid-template-columns:1fr 1fr;gap:18px;margin-top:16px}
.premium-course-card{min-height:342px;height:342px;border-radius:18px;padding:0;background-size:cover;background-repeat:no-repeat;overflow:hidden;border:1px solid rgba(255,255,255,.16);box-shadow:0 14px 32px rgba(4,22,47,.20);display:block;position:relative;isolation:isolate;transition:transform .18s ease,box-shadow .18s ease}
.premium-course-card.astronomy-choice{background-image:url('/assets/astronomy-editorial.jpg');background-position:center 50%}
.premium-course-card.aquatics-choice{background-image:url('/assets/freshwater-editorial.jpg');background-position:center 47%}
.premium-course-card:before,.premium-course-card:after{display:none!important}
.course-card-scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,12,27,.92) 0%,rgba(3,17,34,.72) 42%,rgba(3,18,35,.16) 78%,rgba(3,18,35,.08) 100%),linear-gradient(180deg,transparent 30%,rgba(2,12,27,.12) 58%,rgba(2,12,27,.86) 100%);z-index:-1}
.aquatics-choice .course-card-scrim{background:linear-gradient(90deg,rgba(2,31,38,.94) 0%,rgba(3,48,54,.72) 42%,rgba(2,62,67,.16) 78%,rgba(2,62,67,.07) 100%),linear-gradient(180deg,transparent 28%,rgba(3,39,44,.12) 58%,rgba(2,30,35,.88) 100%)}
.premium-course-card:hover{transform:translateY(-4px);box-shadow:0 22px 48px rgba(4,22,47,.25)}
.course-card-content{position:absolute;left:26px;top:22px;z-index:2;color:#fff;max-width:53%}
.premium-course-card .course-icon-wrap{width:62px;height:62px;background:rgba(27,75,133,.55);border:1px solid rgba(255,255,255,.32);backdrop-filter:blur(8px);box-shadow:0 8px 18px rgba(0,0,0,.18)}
.premium-course-card.aquatics-choice .course-icon-wrap{background:rgba(0,126,133,.62)}
.premium-course-card .course-icon-wrap img{width:37px;height:37px}
.premium-course-card .course-kicker{margin:14px 0 2px;font-size:1.72rem;line-height:1;font-weight:900;letter-spacing:-.025em;text-shadow:0 2px 15px rgba(0,0,0,.35)}
.course-accent-line{display:block;width:150px;height:3px;margin:8px 0 10px;background:linear-gradient(90deg,#3f81e4,transparent);border-radius:3px}
.aquatics-choice .course-accent-line{background:linear-gradient(90deg,#13bfc4,transparent)}
.premium-course-card .course-tagline{margin:0;font-size:.94rem;line-height:1.5;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.48)}
.premium-features{position:absolute;left:18px;right:18px;bottom:58px;margin:0;padding:10px 0 0;border-top:1px solid rgba(255,255,255,.15);z-index:2;display:grid;grid-template-columns:repeat(4,1fr)}
.premium-features span{border-right:1px solid rgba(255,255,255,.14);padding:0 7px;gap:5px;font-size:.56rem;letter-spacing:.02em;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.6)}
.premium-features span:last-child{border-right:0}
.premium-features svg{width:24px;height:24px;fill:none;stroke:#fff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;margin:auto}
.premium-features b{font-size:.56rem;line-height:1.15;font-weight:850}
.premium-enter{position:absolute;left:10px;right:10px;bottom:9px;height:42px;padding:0 20px;border-radius:8px;display:flex;align-items:center;justify-content:center;gap:24px;text-transform:uppercase;background:linear-gradient(90deg,#1e58ae,#3479d4);font-size:.86rem;font-weight:900;letter-spacing:.01em;box-shadow:0 6px 14px rgba(0,0,0,.22);z-index:3}
.aquatics-choice .premium-enter{background:linear-gradient(90deg,#007b84,#089da1)}
.premium-principles{margin-top:14px;border-radius:13px;box-shadow:0 10px 24px rgba(6,28,57,.075);overflow:hidden;border:1px solid #e0e7f0;background:#fff}
.premium-principles div{min-height:92px;padding:15px 20px;grid-template-columns:42px 1fr;border:0!important;border-radius:0!important;background:#fff}
.premium-principles i{width:35px;height:35px;border:0;background:transparent;box-shadow:none;color:#245db5}
.premium-principles i svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.premium-principles div:nth-child(2) i{color:#1b6f9f}.premium-principles div:nth-child(3) i{color:#087f89}.premium-principles div:nth-child(4) i{color:#3653aa}
.premium-principles strong{font-size:.78rem;font-weight:900;color:#12213a}
.premium-principles em{font-size:.76rem;line-height:1.42;color:#4e6078}
.premium-footer{min-height:76px;background:linear-gradient(90deg,#041426,#071a31);padding:13px clamp(28px,4vw,64px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;font-size:.76rem}
.premium-footer>span:last-child{text-align:right}
.footer-quote b{font-family:Georgia,serif;font-size:1.9rem;line-height:.4;margin-right:7px}.footer-quote small{margin-left:18px;display:inline;color:#8eb2df}
.footer-brand{display:flex;align-items:center;gap:8px;color:#fff;text-decoration:none;letter-spacing:.04em}.footer-brand img{width:34px;height:34px;filter:brightness(0) invert(1)}

/* Course header */
.premium-course-topbar{height:70px;min-height:70px;background:rgba(255,255,255,.97);padding:0 clamp(24px,3.3vw,50px);box-shadow:0 4px 17px rgba(5,27,55,.07);border-bottom:1px solid #e5ebf2}
.premium-course-topbar .brand-logo{width:43px;height:43px}.premium-course-topbar .brand strong{font-size:1.05rem}.premium-course-topbar .brand small{font-size:.68rem}
.premium-course-actions{display:flex;align-items:center;gap:10px}
.premium-course-actions .top-link,.premium-switch{display:flex;align-items:center;gap:7px;text-decoration:none;font-size:.82rem;font-weight:750;color:#172640;padding:10px 8px}
.premium-course-actions svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.premium-course-actions .top-link.active{border-bottom:2px solid var(--course)}
.premium-switch{border:1px solid #91a6c1;border-radius:999px;padding:9px 14px}

/* Course page application shell */
.premium-course-page{background:#f3f7fb}
.premium-course-shell{max-width:1510px;grid-template-columns:176px minmax(0,1fr);gap:16px 18px;padding:16px 24px 32px}
.premium-sidebar{min-height:calc(100vh - 102px);padding:14px 10px 12px;border-radius:15px;background:linear-gradient(180deg,#071b36,#04152a);box-shadow:0 12px 29px rgba(4,22,47,.15);border:0}
.aquatics-theme .premium-sidebar{background:linear-gradient(180deg,#074758,#053343)}
.premium-sidebar .course-nav-brand{grid-template-columns:40px 1fr;padding:1px 7px 14px;margin-bottom:7px}
.premium-sidebar .course-nav-icon{width:38px;height:38px}.premium-sidebar .course-nav-icon img{width:23px;height:23px}
.premium-sidebar .course-nav-brand small{font-size:.53rem}.premium-sidebar .course-nav-brand strong{font-size:.74rem}
.premium-sidebar .section-nav-button{height:40px;padding:0 10px;font-size:.78rem;gap:9px;border-radius:8px;color:#f0f5fb}
.premium-sidebar .section-nav-button:before{display:none!important}
.premium-sidebar .section-nav-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;color:#dce9f8;flex:0 0 auto}
.premium-sidebar .section-nav-button.active{background:rgba(56,119,207,.36);box-shadow:inset 3px 0 0 #88b7ff}
.aquatics-theme .premium-sidebar .section-nav-button.active{background:rgba(17,177,181,.34);box-shadow:inset 3px 0 0 #73e3e1}
.premium-sidebar .course-nav-quote{font-size:.67rem;line-height:1.55;padding:18px 10px 6px;color:rgba(255,255,255,.82)}
.premium-sidebar .course-nav-quote small{display:block;margin-top:6px;color:rgba(255,255,255,.55)}

/* Course hero = image composition, not decoration */
.premium-course-hero{min-height:260px;height:260px;border-radius:15px;padding:29px 42px;background-size:cover!important;box-shadow:0 12px 28px rgba(5,26,55,.14);border:0}
.astronomy-theme .premium-course-hero{background-image:url('/assets/astronomy-editorial.jpg');background-position:center 53%!important}
.aquatics-theme .premium-course-hero{background-image:url('/assets/freshwater-editorial.jpg');background-position:center 48%!important}
.premium-course-hero:before{background:linear-gradient(90deg,rgba(2,12,28,.95) 0%,rgba(2,16,33,.83) 39%,rgba(2,17,34,.37) 67%,rgba(2,17,34,.08) 100%)}
.aquatics-theme .premium-course-hero:before{background:linear-gradient(90deg,rgba(2,35,40,.96) 0%,rgba(3,48,52,.84) 39%,rgba(3,57,61,.35) 67%,rgba(3,57,61,.06) 100%)}
.premium-course-hero:after{background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.16))}
.premium-course-hero .hero-copy{max-width:690px}
.premium-course-hero .eyebrow{font-size:.7rem;letter-spacing:.2em;margin-bottom:5px;color:#dce8fa;text-transform:uppercase}
.aquatics-theme .premium-course-hero .eyebrow{color:#b6f4ee}
.premium-course-hero .hero-label{font-size:.58rem;letter-spacing:.2em;margin:5px 0 2px;color:rgba(255,255,255,.72)}
.premium-course-hero h1{font-size:clamp(2.3rem,4vw,3.65rem);line-height:.94;letter-spacing:-.048em;margin:0 0 11px;max-width:720px}
.premium-course-hero #hero-summary{font-size:.91rem;line-height:1.45;max-width:560px;margin:0;color:#f1f5fa}
.premium-course-hero .hero-meta{margin-top:15px;gap:9px}.premium-course-hero .status-pill{font-size:.67rem;padding:5px 9px;background:rgba(0,0,0,.28)}
.premium-course-hero .hero-source{font-size:.7rem}.premium-course-hero .hero-mark,.premium-course-hero .hero-current-button{display:none!important}

/* Main content surfaces */
.premium-course-page .workspace{min-width:0}
.premium-course-page .panel{border:1px solid #dfe7f0;border-radius:14px;box-shadow:0 6px 18px rgba(5,25,55,.045);background:#fff}
.premium-course-page .panel-head{padding:18px 20px 11px}.premium-course-page .panel-head h2{font-size:1.23rem;font-weight:900}.premium-course-page .panel-head p{font-size:.82rem}
.premium-course-page .panel-body{padding:0 20px 20px}
.premium-course-page .current-banner{padding:16px 19px;border-radius:13px;background:#fff;border-bottom:1px solid #e4ebf3}
.premium-course-page .current-label{font-size:.58rem;letter-spacing:.18em}.premium-course-page .current-banner h2{font-size:1.25rem;font-weight:900}
.premium-course-page .date-chip{font-size:.72rem;min-width:110px;padding:7px 10px;background:#f5f8fc}
.premium-course-page .lesson-list{gap:7px}
.premium-course-page .lesson-card{grid-template-columns:78px minmax(0,470px) minmax(0,1fr);gap:14px;padding:10px 12px;border-radius:12px;border-color:#e1e8f0;min-height:76px}
.premium-course-page .lesson-date{width:58px;height:58px;min-height:58px;font-size:.72rem;background:#edf3fb;border:0;box-shadow:none}
.aquatics-theme .lesson-date{background:#e6f5f4}.premium-course-page .lesson-date small{font-size:.54rem;margin-top:2px}
.premium-course-page .lesson-main .lesson-label{font-size:.55rem;letter-spacing:.11em}.premium-course-page .lesson-main h3{font-size:.95rem;line-height:1.12;margin:2px 0}.premium-course-page .lesson-main p{font-size:.77rem;line-height:1.32}
.premium-course-page .action-row{gap:7px}.premium-course-page .action-link{min-width:84px;padding:7px 10px;border-radius:7px;font-size:.72rem;box-shadow:none;border-color:#d6e0ec}.premium-course-page .action-link.primary{box-shadow:0 4px 10px color-mix(in srgb,var(--course) 20%,transparent)}
.premium-course-page .open-lesson-hint{font-size:.64rem;padding:7px 3px}
.premium-course-page .secondary-grid{gap:9px;margin-top:12px}.premium-course-page .jump-card{min-height:82px;padding:14px 34px 14px 48px;border-radius:11px}.premium-course-page .jump-card:before{width:25px;height:25px;left:13px;top:15px;font-size:.78rem}.premium-course-page .jump-card strong{font-size:.72rem}.premium-course-page .jump-card span{font-size:.66rem;line-height:1.35}.premium-course-page .jump-card:after{right:10px;font-size:1rem}

/* Detail / resources */
.premium-course-page .lesson-detail-head{border-radius:13px}.premium-course-page .info-card,.premium-course-page .resource-hub-card,.premium-course-page .support-card,.premium-course-page .lesson-tool-card{border-radius:12px;box-shadow:0 5px 15px rgba(5,25,55,.04)}
.premium-course-footer{min-height:58px;padding:10px 28px;font-size:.7rem}.footer-mini-brand{display:flex;align-items:center;gap:7px;font-weight:850}.footer-mini-brand img{width:28px;height:28px;filter:brightness(0) invert(1)}

@media(max-width:960px){
  .premium-course-shell{display:block;padding:13px 13px 30px}.premium-sidebar{min-height:0;position:sticky;top:4px;display:flex;flex-direction:row;background:#fff!important;border:1px solid #dfe6ef;box-shadow:0 5px 16px rgba(5,25,55,.06);padding:8px;border-radius:13px;margin:12px 0;overflow-x:auto}.premium-sidebar .course-nav-brand,.premium-sidebar .course-nav-quote{display:none}.premium-sidebar .section-nav-button{color:#405068;height:auto;white-space:nowrap;padding:9px 12px}.premium-sidebar .section-nav-button svg{color:currentColor}.premium-sidebar .section-nav-button.active{color:var(--course);background:var(--course-soft);box-shadow:none}
  .premium-course-hero{height:260px;min-height:260px}.premium-course-actions .top-link{display:none}
}
@media(max-width:760px){
  .premium-nav-link span{display:none}.premium-nav-link{padding:0 8px}.premium-landing-main{padding:26px 14px 22px}.premium-intro{grid-template-columns:30px auto 30px;gap:10px}.premium-intro h1{font-size:2.15rem}.premium-intro p{font-size:1rem}.premium-course-grid{grid-template-columns:1fr}.premium-course-card{height:360px;min-height:360px}.course-card-content{max-width:68%;left:22px}.premium-principles{grid-template-columns:1fr 1fr}.premium-footer{grid-template-columns:1fr;gap:10px;text-align:center}.premium-footer>span:last-child{text-align:center}.footer-brand{justify-content:center}.footer-quote small{display:block;margin:4px 0 0}.premium-course-hero{padding:26px 23px;background-position:60% center!important}.premium-course-hero:before{background:linear-gradient(90deg,rgba(2,12,28,.96),rgba(2,16,33,.80) 72%,rgba(2,17,34,.45))}.aquatics-theme .premium-course-hero:before{background:linear-gradient(90deg,rgba(2,35,40,.97),rgba(3,48,52,.81) 72%,rgba(3,57,61,.44))}.premium-course-page .lesson-card{grid-template-columns:1fr}.premium-course-page .lesson-date{width:auto;height:auto;min-height:0;border-radius:8px;align-items:flex-start}.premium-course-page .action-row{justify-content:flex-start}
}
@media(max-width:520px){.premium-principles{grid-template-columns:1fr}.premium-course-card{height:375px}.premium-features span{font-size:.51rem}.premium-features b{font-size:.51rem}.premium-course-card .course-kicker{font-size:1.5rem}.premium-course-topbar .brand small{display:none}.premium-switch span{display:none}}

/* v0.6.14 — high-resolution course banner artwork */
.premium-course-card.astronomy-choice{background-position:60% 52%}
.premium-course-card.aquatics-choice{background-position:58% 52%}
.astronomy-theme .premium-course-hero{background-position:center 55%!important}
.aquatics-theme .premium-course-hero{background-position:center 52%!important}
@media(max-width:760px){
  .premium-course-card.astronomy-choice{background-position:63% 52%}
  .premium-course-card.aquatics-choice{background-position:61% 52%}
  .astronomy-theme .premium-course-hero{background-position:58% 55%!important}
  .aquatics-theme .premium-course-hero{background-position:58% 52%!important}
}

/* v0.6.15 — neutral black course sidebar */
@media(min-width:961px){
  .premium-sidebar,
  .aquatics-theme .premium-sidebar,
  .astronomy-theme .premium-sidebar{
    background:linear-gradient(180deg,#080a0f 0%,#030407 58%,#000 100%);
    border:1px solid rgba(255,255,255,.055);
    box-shadow:0 14px 32px rgba(0,0,0,.24);
  }
  .premium-sidebar .course-nav-brand{
    border-bottom:1px solid rgba(255,255,255,.09);
    padding-bottom:15px;
    margin-bottom:9px;
  }
  .premium-sidebar .course-nav-brand small{color:rgba(255,255,255,.56)}
  .premium-sidebar .course-nav-brand strong{color:#fff}
  .premium-sidebar .section-nav-button{color:#e9edf4}
  .premium-sidebar .section-nav-button:hover{background:rgba(255,255,255,.07);color:#fff}
  .premium-sidebar .section-nav-button svg{color:#d8dee9}
  .premium-sidebar .section-nav-button.active{background:rgba(47,103,190,.30);box-shadow:inset 3px 0 0 #78aaff;color:#fff}
  .aquatics-theme .premium-sidebar .section-nav-button.active{background:rgba(0,145,151,.27);box-shadow:inset 3px 0 0 #54d7d3;color:#fff}
  .premium-sidebar .course-nav-quote{border-top:1px solid rgba(255,255,255,.09);color:rgba(255,255,255,.76)}
}

/* ==========================================================
   v0.6.16 — APPROVED DESIGN IMPLEMENTATION
   Presentation shell only. Live feed/data architecture intact.
   ========================================================== */

:root{
  --approved-canvas:#f4f6f9;
  --approved-card:#ffffff;
  --approved-ink:#0a1730;
  --approved-navy:#07172d;
  --approved-line:#dde5ef;
  --approved-shadow:0 12px 30px rgba(7,25,52,.08);
  --approved-card-shadow:0 5px 16px rgba(7,25,52,.055);
}

/* ---------- Selector / portal ---------- */
.premium-portal{
  min-height:100vh;
  background:
    radial-gradient(circle at 7% 29%,rgba(207,225,248,.48),transparent 27%),
    radial-gradient(circle at 93% 32%,rgba(255,230,211,.34),transparent 25%),
    #f8fafc;
  color:var(--approved-ink);
}
.premium-topbar{
  height:86px;min-height:86px;
  background:linear-gradient(90deg,#030d19,#07172d 58%,#041224);
  padding:0 clamp(28px,4.5vw,72px);
  box-shadow:0 4px 18px rgba(3,12,27,.19);
}
.premium-topbar .brand-logo{width:54px;height:54px}
.premium-topbar .brand strong{font-size:1.28rem;letter-spacing:.01em}
.premium-topbar .brand small{font-size:.74rem;color:#c8d4e4}
.premium-nav-link{font-size:.88rem;padding:0 15px}
.premium-nav-link:after{bottom:14px}

.premium-landing-main{max-width:1450px;padding:42px 34px 42px}
.premium-intro{margin-bottom:18px;gap:28px}
.premium-intro h1{font-size:clamp(2.75rem,4.8vw,4.15rem);letter-spacing:-.05em}
.premium-intro p{font-size:1.22rem;color:#435169;margin-top:-2px}
.premium-intro .title-rule{max-width:135px;background:linear-gradient(90deg,transparent,#142844)}
.premium-intro .title-rule:nth-of-type(2){background:linear-gradient(90deg,#142844,transparent)}

.premium-course-grid{gap:20px;margin-top:12px}
.premium-course-card{
  height:455px;min-height:455px;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 17px 38px rgba(3,19,42,.20);
  background-size:cover!important;
  background-repeat:no-repeat!important;
  transform:translateZ(0);
}
.premium-course-card.astronomy-choice{
  background-image:url('/assets/astronomy-banner.jpg')!important;
  background-position:57% center!important;
}
.premium-course-card.aquatics-choice{
  background-image:url('/assets/freshwater-banner.jpg')!important;
  background-position:54% center!important;
}
.premium-course-card .course-card-scrim{
  display:block!important;position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(90deg,rgba(1,8,20,.80) 0%,rgba(2,12,26,.56) 43%,rgba(2,12,26,.08) 78%),
    linear-gradient(0deg,rgba(1,7,17,.84) 0%,rgba(1,9,19,.18) 57%,rgba(1,9,19,.04) 100%);
  pointer-events:none;
}
.premium-course-card.aquatics-choice .course-card-scrim{
  background:
    linear-gradient(90deg,rgba(0,24,25,.80) 0%,rgba(0,42,42,.54) 43%,rgba(0,42,42,.07) 79%),
    linear-gradient(0deg,rgba(0,22,22,.83) 0%,rgba(0,34,34,.16) 58%,rgba(0,34,34,.03) 100%);
}
.premium-course-card:hover{transform:translateY(-5px);box-shadow:0 27px 55px rgba(3,19,42,.25)}
.course-card-content{
  position:absolute;inset:28px 30px 77px 30px;z-index:2;max-width:none!important;
  display:flex;flex-direction:column;align-items:flex-start;color:#fff;
}
.premium-course-card .course-icon-wrap{
  width:74px;height:74px;flex:0 0 74px;
  background:rgba(18,65,128,.62);border:1px solid rgba(255,255,255,.52);
  box-shadow:0 8px 21px rgba(0,0,0,.24),inset 0 0 0 1px rgba(255,255,255,.06);
  backdrop-filter:blur(8px)
}
.premium-course-card.aquatics-choice .course-icon-wrap{background:rgba(0,114,119,.64)}
.premium-course-card .course-icon-wrap img{width:43px;height:43px}
.premium-course-card .course-kicker{
  margin:auto 0 5px;
  font-size:2.15rem;line-height:1;letter-spacing:-.035em;font-weight:900;
  text-shadow:0 3px 18px rgba(0,0,0,.56)
}
.premium-course-card .course-accent-line{width:66px;height:3px;margin:8px 0 10px;border-radius:4px;background:#3c82ec}
.premium-course-card.aquatics-choice .course-accent-line{background:#12aaa8}
.premium-course-card .course-tagline{
  margin:0 0 8px;font-size:1.03rem;line-height:1.52;color:#fff;
  text-shadow:0 2px 13px rgba(0,0,0,.66)
}
.premium-features{display:none!important}
.premium-enter{
  left:30px;right:30px;bottom:24px;height:58px;border-radius:8px;
  font-size:1rem;letter-spacing:.005em;text-transform:uppercase;
  box-shadow:0 7px 18px rgba(0,0,0,.28);
  background:linear-gradient(90deg,#154ca8,#2465c7)
}
.aquatics-choice .premium-enter{background:linear-gradient(90deg,#007a80,#07989b)}

.premium-principles{
  margin-top:20px;border:1px solid #dfe6ef;border-radius:15px;
  background:#fff;box-shadow:0 10px 25px rgba(7,27,55,.07)
}
.premium-principles div{min-height:112px;padding:20px 24px;grid-template-columns:58px 1fr;gap:16px;align-items:center}
.premium-principles i{
  width:54px;height:54px;border:0;border-radius:50%;
  background:#eef4ff;color:#1956b6;box-shadow:inset 0 0 0 1px #d8e5fb
}
.premium-principles div:nth-child(2) i{background:#edf3ff;color:#2862bf}
.premium-principles div:nth-child(3) i{background:#ecf7f3;color:#067d73;box-shadow:inset 0 0 0 1px #d4ebe5}
.premium-principles div:nth-child(4) i{background:#fff2e8;color:#d96112;box-shadow:inset 0 0 0 1px #f3decf}
.premium-principles i svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.premium-principles strong{font-size:.94rem;color:#0d1a31}
.premium-principles em{font-size:.82rem;line-height:1.5;color:#40506a}

.approved-footer{
  min-height:118px;background:linear-gradient(180deg,#06172e,#031123);color:#fff;
  display:grid;grid-template-columns:1fr 1.25fr 1fr;align-items:center;gap:30px;
  padding:25px clamp(30px,4vw,70px);border-top:1px solid rgba(255,255,255,.08)
}
.approved-footer .footer-brand{justify-self:start;color:#fff;text-decoration:none;font-size:1rem}
.approved-footer .footer-brand img{filter:brightness(0) invert(1);width:42px;height:42px}
.approved-footer .footer-quote{text-align:center;color:#f3f6fa;font-style:italic;font-size:.95rem}
.approved-footer .footer-quote small{display:block;margin-top:7px;font-style:normal;color:#b8c4d5}
.approved-footer .footer-legal{text-align:right;color:#d3dbe7;font-size:.72rem}
.approved-footer .footer-legal small{display:block;margin-top:7px;color:#6fb7ff}

/* ---------- Course dashboard shell ---------- */
.premium-course-page{background:var(--approved-canvas);color:var(--approved-ink)}
.premium-course-topbar{
  height:70px;min-height:70px;margin-left:260px;width:calc(100% - 260px);
  background:rgba(255,255,255,.98);padding:0 32px 0 30px;
  border-bottom:1px solid #e1e7ef;box-shadow:0 3px 12px rgba(8,25,50,.035);
  position:sticky;top:0;z-index:30
}
.course-breadcrumb{display:flex;align-items:center;gap:13px;color:#17253c;font-size:.82rem}
.course-breadcrumb a{color:#17253c;text-decoration:none}.course-breadcrumb span{color:#8c99a9}.course-breadcrumb strong{font-weight:760}
.premium-course-actions{gap:13px}.premium-course-actions .top-link{font-weight:670}.premium-switch{background:#050b13!important;color:#fff!important;border:1px solid #121d2b!important;border-radius:999px!important;padding:10px 16px!important}
.premium-course-actions .top-link.active{border-bottom:0}.premium-course-actions .top-link:hover{color:var(--course)}

.premium-course-shell{
  display:block!important;max-width:none!important;margin:0!important;
  padding:18px 28px 34px 288px!important;background:var(--approved-canvas)
}
.premium-sidebar{
  position:fixed!important;left:0;top:0;bottom:0;width:260px;height:100vh;z-index:40;
  margin:0!important;padding:22px 15px 20px!important;border-radius:0!important;
  background:linear-gradient(180deg,#05090e 0%,#080d13 55%,#03070b 100%)!important;
  box-shadow:6px 0 22px rgba(4,13,27,.11)!important;border:0!important;
  display:flex!important;flex-direction:column!important;gap:5px!important;overflow-y:auto!important
}
.sidebar-site-brand{
  display:grid;grid-template-columns:48px 1fr;gap:11px;align-items:center;
  text-decoration:none;color:#fff;padding:1px 7px 19px;margin-bottom:15px;border-bottom:1px solid rgba(255,255,255,.09)
}
.sidebar-site-brand img{width:44px;height:44px;filter:brightness(0) invert(1)}
.sidebar-site-brand strong{display:block;font-size:.95rem;letter-spacing:.015em}.sidebar-site-brand strong b{color:var(--course);font-weight:900}.sidebar-site-brand small{display:block;color:#c8d0db;font-size:.62rem;line-height:1.38;margin-top:3px}
.premium-sidebar .course-nav-brand{padding:0 7px 13px;margin:0 0 5px;border-bottom:0;grid-template-columns:43px 1fr;gap:10px}
.premium-sidebar .course-nav-icon{width:42px;height:42px;background:color-mix(in srgb,var(--course) 70%,#08101b);border:1px solid rgba(255,255,255,.17);box-shadow:none}
.premium-sidebar .course-nav-icon img{width:25px;height:25px}.premium-sidebar .course-nav-brand small{display:none}.premium-sidebar .course-nav-brand strong{font-size:.91rem;letter-spacing:.01em}
.premium-sidebar .section-nav-button{
  height:48px!important;padding:0 13px!important;border-radius:9px!important;
  color:#f4f6fa!important;font-size:.88rem!important;font-weight:650!important;gap:12px!important
}
.premium-sidebar .section-nav-button svg{width:21px!important;height:21px!important;color:#f0f3f7!important}
.premium-sidebar .section-nav-button:hover{background:rgba(255,255,255,.07)!important}
.premium-sidebar .section-nav-button.active{
  color:#fff!important;background:linear-gradient(90deg,#174aa4,#225fc4)!important;
  box-shadow:0 7px 16px rgba(20,74,164,.24)!important
}
.aquatics-theme .premium-sidebar .section-nav-button.active{
  background:linear-gradient(90deg,#006b70,#008b8d)!important;
  box-shadow:0 7px 16px rgba(0,115,119,.23)!important
}
.course-progress{margin:18px 7px 0;padding:17px 0;border-top:1px solid rgba(255,255,255,.10);border-bottom:1px solid rgba(255,255,255,.10);color:#fff}
.course-progress>span{display:block;color:#8f9aa8;font-size:.64rem;font-weight:850;letter-spacing:.11em;margin-bottom:10px}
.course-progress-row{display:flex;justify-content:space-between;gap:10px;font-size:.75rem}.course-progress-row strong{font-weight:650}.course-progress-row b{font-weight:750;color:#e5eaf0}
.course-progress-track{height:6px;border-radius:999px;background:#27313d;margin-top:9px;overflow:hidden}.course-progress-track i{display:block;height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,#276bd4,#51a0ff);transition:width .3s ease}.aquatics-theme .course-progress-track i{background:linear-gradient(90deg,#008d8d,#47d4c9)}
.premium-sidebar .course-nav-quote{margin-top:15px;padding:18px 7px 7px;border-top:0!important;color:#d8dee7!important;font-size:.76rem!important;line-height:1.62!important;font-style:italic}.premium-sidebar .course-nav-quote:before{content:'“';display:block;color:var(--course);font-size:2.2rem;line-height:.5;margin-bottom:11px;font-weight:900}.premium-sidebar .course-nav-quote small{font-size:.68rem;color:#9ba6b5!important;margin-top:8px!important}

.premium-course-hero{
  width:100%;height:340px;min-height:340px;border-radius:15px!important;
  padding:38px 42px!important;background-size:cover!important;border:0!important;
  box-shadow:0 9px 24px rgba(5,23,50,.13)!important;margin-bottom:16px
}
.astronomy-theme .premium-course-hero{background-image:url('/assets/astronomy-banner.jpg')!important;background-position:56% center!important}
.aquatics-theme .premium-course-hero{background-image:url('/assets/freshwater-banner.jpg')!important;background-position:54% center!important}
.premium-course-hero:before{background:linear-gradient(90deg,rgba(0,7,18,.94) 0%,rgba(0,9,21,.80) 40%,rgba(0,9,21,.28) 67%,rgba(0,9,21,.04) 100%)!important}
.aquatics-theme .premium-course-hero:before{background:linear-gradient(90deg,rgba(0,27,28,.94) 0%,rgba(0,38,38,.78) 40%,rgba(0,38,38,.25) 67%,rgba(0,38,38,.03) 100%)!important}
.premium-course-hero .hero-copy{max-width:670px!important;align-self:center}.premium-course-hero .eyebrow{color:var(--course)!important;font-size:.72rem!important;font-weight:900!important;letter-spacing:.1em!important;margin:0 0 8px!important}.premium-course-hero .hero-label{display:none!important}.premium-course-hero h1{font-size:clamp(2.65rem,4vw,4.3rem)!important;line-height:.96!important;max-width:720px!important;margin:0 0 14px!important;letter-spacing:-.05em!important}.premium-course-hero #hero-summary{max-width:520px!important;font-size:1rem!important;line-height:1.52!important}.premium-course-hero .hero-meta{margin-top:11px!important}.premium-course-hero .status-pill{background:rgba(0,0,0,.36)!important;border:1px solid rgba(255,255,255,.12)!important}.premium-course-hero .hero-source{color:#fff!important}
.hero-topic-button{display:inline-flex;align-items:center;gap:18px;margin-top:16px;padding:12px 20px;border-radius:7px;background:linear-gradient(90deg,#174ba8,#2263c6);color:#fff;text-decoration:none;font-size:.84rem;font-weight:850;box-shadow:0 7px 17px rgba(9,57,131,.27)}.aquatics-theme .hero-topic-button{background:linear-gradient(90deg,#00777b,#079b9b);box-shadow:0 7px 17px rgba(0,102,104,.25)}.hero-topic-button:hover{filter:brightness(1.08);transform:translateY(-1px)}

.premium-course-page .workspace{min-width:0}
.premium-course-page .panel{
  background:#fff!important;border:1px solid var(--approved-line)!important;border-radius:14px!important;
  box-shadow:var(--approved-card-shadow)!important;overflow:hidden
}
.week-dashboard{margin-top:0}.week-dashboard-head{padding:20px 22px 15px!important;align-items:center!important;border-bottom:1px solid #e5eaf1}.week-title-wrap{display:flex;align-items:center;gap:13px}.week-title-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#eef4fd;color:var(--course);font-size:1.25rem;font-weight:900}.aquatics-theme .week-title-icon{background:#e9f6f4}.week-dashboard-head h2{font-size:1.12rem!important;letter-spacing:.01em!important}.week-dashboard-head p{font-size:.76rem!important;margin-top:2px!important}.week-head-actions{display:flex;align-items:center;gap:15px}.week-range{font-size:.72rem;color:#617087;font-weight:700}.view-calendar-link{font-size:.72rem;color:var(--course);font-weight:800;text-decoration:none;border:1px solid #d8e1ec;padding:9px 12px;border-radius:7px;background:#fff}.view-calendar-link:hover{border-color:var(--course);background:var(--course-soft)}.week-dashboard .panel-body{padding:0 16px 16px!important}.week-lesson-list{gap:0!important;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.week-lesson-list .lesson-card{border:0!important;border-bottom:1px solid #e4e9ef!important;border-radius:0!important;box-shadow:none!important;margin:0!important;min-height:86px!important;padding:12px 15px!important;background:#fff!important}.week-lesson-list .lesson-card:last-child{border-bottom:0!important}.week-lesson-list .lesson-card:hover{background:color-mix(in srgb,var(--course-soft) 45%,#fff)!important;transform:none!important}
.premium-course-page .lesson-card{transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.premium-course-page .lesson-card:hover{border-color:color-mix(in srgb,var(--course) 25%,#dde5ef)!important;background:color-mix(in srgb,var(--course-soft) 34%,#fff)!important;box-shadow:0 8px 20px rgba(5,25,55,.065)!important}
.premium-course-page .lesson-date{width:58px!important;height:58px!important;border-radius:50%!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;text-align:center!important;background:#edf3fb!important;color:#172a45!important}.aquatics-theme .lesson-date{background:#e8f5f3!important;color:#075e61!important}.premium-course-page .lesson-main h3{font-size:1rem!important}.premium-course-page .lesson-main p{font-size:.76rem!important}.premium-course-page .action-link{background:#fff!important}.premium-course-page .action-link.primary{background:linear-gradient(90deg,#174ba8,#2368ce)!important;color:#fff!important;border-color:transparent!important}.aquatics-theme .premium-course-page .action-link.primary,.aquatics-theme .action-link.primary{background:linear-gradient(90deg,#007277,#078f91)!important}.premium-course-page .action-link:hover{border-color:var(--course)!important;background:var(--course-soft)!important}.premium-course-page .action-link.primary:hover{filter:brightness(1.06)!important;color:#fff!important}

.approved-shortcuts{margin-top:16px!important;gap:12px!important}.approved-shortcuts .jump-card{min-height:130px!important;background:#fff!important;border:1px solid #dfe6ef!important;border-radius:12px!important;box-shadow:0 5px 15px rgba(7,25,52,.045)!important;padding:24px 44px 20px 66px!important}.approved-shortcuts .jump-card:before{width:37px!important;height:37px!important;left:18px!important;top:24px!important;border-width:2px!important;border-radius:8px!important}.approved-shortcuts .jump-card:after{right:16px!important}.approved-shortcuts .jump-card:nth-child(1){color:#1754ae!important;border-color:#d5e2f7!important;background:linear-gradient(180deg,#fff,#f6f9ff)!important}.approved-shortcuts .jump-card:nth-child(2){color:#5530ad!important;border-color:#e0d7f2!important;background:linear-gradient(180deg,#fff,#faf7ff)!important}.approved-shortcuts .jump-card:nth-child(3){color:#18734f!important;border-color:#d7e9df!important;background:linear-gradient(180deg,#fff,#f5fbf7)!important}.approved-shortcuts .jump-card:nth-child(4){color:#da5b0d!important;border-color:#f0d9c8!important;background:linear-gradient(180deg,#fff,#fff8f3)!important}.approved-shortcuts .jump-card:hover{transform:translateY(-3px)!important;box-shadow:0 12px 25px rgba(7,25,52,.085)!important}.approved-shortcuts .jump-card strong{font-size:.84rem!important}.approved-shortcuts .jump-card span{font-size:.74rem!important;line-height:1.45!important;color:#33455d!important}

.premium-course-page .panel:not(.week-dashboard){margin-top:16px}.premium-course-page .panel-head{padding:19px 21px 13px!important}.premium-course-page .panel-body{padding:0 21px 21px}

.premium-course-footer{
  margin-left:260px;min-height:66px!important;padding:13px 30px!important;background:#fff!important;
  color:#536177!important;border-top:1px solid #dfe5ed!important;box-shadow:none!important;font-size:.69rem!important
}
.premium-course-footer .footer-mini-brand{color:#17253b!important;font-size:.78rem}.premium-course-footer .footer-mini-brand img{filter:none!important;width:31px!important;height:31px!important}

@media(max-width:1100px){
  .premium-course-topbar{margin-left:0;width:100%}.premium-course-shell{padding:14px 14px 30px!important}.premium-sidebar{position:sticky!important;top:4px!important;left:auto!important;bottom:auto!important;width:auto!important;height:auto!important;min-height:0!important;display:flex!important;flex-direction:row!important;background:#fff!important;border:1px solid #dfe6ef!important;box-shadow:0 5px 16px rgba(5,25,55,.06)!important;padding:8px!important;border-radius:13px!important;margin:12px 0!important;overflow-x:auto!important}.sidebar-site-brand,.premium-sidebar .course-nav-brand,.course-progress,.premium-sidebar .course-nav-quote{display:none!important}.premium-sidebar .section-nav-button{width:auto!important;color:#405068!important;height:auto!important;white-space:nowrap;padding:10px 13px!important}.premium-sidebar .section-nav-button svg{color:currentColor!important}.premium-sidebar .section-nav-button.active{color:var(--course)!important;background:var(--course-soft)!important;box-shadow:none!important}.premium-course-footer{margin-left:0}.premium-course-hero{height:300px;min-height:300px;padding:30px 28px!important}.premium-course-actions .top-link{display:none}.course-breadcrumb{font-size:.78rem}
}

@media(max-width:760px){
  .premium-topbar{height:72px;min-height:72px;padding:0 16px}.premium-topbar .brand-logo{width:43px;height:43px}.premium-topbar .brand strong{font-size:1rem}.premium-topbar .brand small{display:none}.premium-nav-link span{display:none}.premium-nav-link{padding:0 8px}.premium-landing-main{padding:28px 14px 26px}.premium-intro{grid-template-columns:28px auto 28px;gap:10px}.premium-intro h1{font-size:2.15rem}.premium-intro p{font-size:1rem}.premium-course-grid{grid-template-columns:1fr}.premium-course-card{height:410px;min-height:410px}.course-card-content{inset:22px 22px 72px}.premium-course-card .course-kicker{font-size:1.72rem}.premium-course-card .course-tagline{font-size:.9rem}.premium-enter{left:22px;right:22px;bottom:20px}.premium-principles{grid-template-columns:1fr 1fr}.approved-footer{grid-template-columns:1fr;gap:12px;text-align:center}.approved-footer .footer-brand{justify-self:center}.approved-footer .footer-legal{text-align:center}.premium-course-topbar{padding:0 14px}.premium-switch span{display:none}.premium-course-hero{height:295px;min-height:295px;background-position:62% center!important}.premium-course-hero h1{font-size:2.45rem!important}.premium-course-hero:before{background:linear-gradient(90deg,rgba(0,7,18,.97),rgba(0,9,21,.82) 72%,rgba(0,9,21,.42))!important}.aquatics-theme .premium-course-hero:before{background:linear-gradient(90deg,rgba(0,27,28,.97),rgba(0,38,38,.82) 72%,rgba(0,38,38,.42))!important}.week-dashboard-head{align-items:flex-start!important}.week-head-actions{display:none}.approved-shortcuts{grid-template-columns:1fr 1fr!important}.premium-course-page .lesson-card{grid-template-columns:1fr!important}.premium-course-page .lesson-date{width:auto!important;height:auto!important;border-radius:8px!important;align-items:flex-start!important;padding:7px 9px!important}.premium-course-page .action-row{justify-content:flex-start!important}
}
@media(max-width:520px){.premium-principles{grid-template-columns:1fr}.approved-shortcuts{grid-template-columns:1fr!important}.premium-course-card{height:430px}.premium-course-hero{height:310px;min-height:310px}.course-breadcrumb strong{display:none}}

/* ==========================================================
   v0.6.17 — COURSE CONTRAST + TOPIC NAVIGATION
   Presentation/navigation only. Live feed architecture intact.
   ========================================================== */

/* Give the white instructional surfaces a visibly separate canvas. */
.premium-course-page{
  background:#eef2f6!important;
}
.premium-course-shell{
  background:#eef2f6!important;
}
.premium-course-page .panel{
  border-color:#d5dee9!important;
  box-shadow:0 8px 22px rgba(7,25,52,.075)!important;
}
.premium-course-page .info-card,
.premium-course-page .resource-hub-card,
.premium-course-page .support-card,
.premium-course-page .lesson-tool-card{
  background:#fff;
  border-color:#d9e2ec!important;
  box-shadow:0 6px 17px rgba(7,25,52,.06)!important;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease;
}
.premium-course-page .info-card:hover,
.premium-course-page .resource-hub-card:hover,
.premium-course-page .lesson-tool-card:hover{
  transform:translateY(-2px);
  border-color:color-mix(in srgb,var(--course) 24%,#d9e2ec)!important;
  box-shadow:0 11px 25px rgba(7,25,52,.09)!important;
  background:color-mix(in srgb,var(--course-soft) 28%,#fff)!important;
}

/* The approved sidebar deliberately hides its small course kicker, so
   Aquatics now presents the complete course name on the visible line. */
.aquatics-theme .premium-sidebar .course-nav-brand strong{
  font-size:.88rem;
  white-space:nowrap;
}

/* Lessons now read as Course → Topic → Lesson. */
.lesson-topic-sequence{
  display:grid;
  gap:24px;
}
.topic-lesson-section{
  scroll-margin-top:92px;
  min-width:0;
}
.topic-section-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  margin:0 0 9px;
  padding:16px 18px;
  border:1px solid color-mix(in srgb,var(--course) 18%,#d9e2ec);
  border-left:5px solid var(--course);
  border-radius:11px;
  background:linear-gradient(90deg,color-mix(in srgb,var(--course-soft) 72%,#fff),#fff 72%);
}
.topic-section-copy{min-width:0}
.topic-section-kicker,
.topic-card-kicker{
  margin:0 0 2px;
  color:var(--course);
  font-size:.61rem;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.topic-section-header h3{
  margin:0;
  color:#0b1c35;
  font-size:1.22rem;
  line-height:1.15;
  font-weight:900;
  letter-spacing:-.018em;
}
.topic-section-summary{
  margin:5px 0 0;
  max-width:760px;
  color:#53657c;
  font-size:.78rem;
  line-height:1.42;
}
.topic-section-count{
  flex:0 0 auto;
  padding:6px 9px;
  border:1px solid color-mix(in srgb,var(--course) 14%,#d9e2ec);
  border-radius:999px;
  background:#fff;
  color:#586a80;
  font-size:.66rem;
  font-weight:800;
}
.topic-lesson-list{
  display:grid;
  gap:7px;
}
.topic-card .topic-card-kicker{margin-bottom:4px}
.topic-card h3{margin-top:0}
.topic-card a{font-weight:800}

@media(max-width:760px){
  .topic-lesson-section{scroll-margin-top:118px}
  .topic-section-header{align-items:flex-start;padding:14px 14px;gap:10px}
  .topic-section-header h3{font-size:1.08rem}
  .topic-section-count{display:none}
  .topic-section-summary{font-size:.74rem}
}

/* ==========================================================
   v0.6.17a — HIGH-CONTRAST CHROMEBOOK PATCH
   Visual-only accessibility/readability pass.
   No feed, routing, CIP, cache, or Apps Script changes.
   ========================================================== */

/* Stronger value separation for low-cost / low-contrast displays. */
.premium-course-page,
.premium-course-shell{
  background:#e7edf3!important;
}

/* Main white surfaces should read clearly as layers above the canvas. */
.premium-course-page .panel{
  background:#ffffff!important;
  border-color:#c4cfdb!important;
  box-shadow:0 11px 28px rgba(7,25,52,.13)!important;
}

/* Standalone instructional/resource cards: stronger resting definition. */
.premium-course-page .info-card,
.premium-course-page .resource-hub-card,
.premium-course-page .support-card,
.premium-course-page .lesson-tool-card,
.premium-course-page .event-card{
  background:#ffffff!important;
  border-color:#c7d2de!important;
  box-shadow:0 8px 21px rgba(7,25,52,.105)!important;
}

/* Lesson cards get a visible boundary even before hover. */
.premium-course-page .lesson-card{
  background:#ffffff!important;
  border-color:#c7d2de!important;
  box-shadow:0 5px 14px rgba(7,25,52,.085)!important;
  border-left:3px solid color-mix(in srgb,var(--course) 62%,#ffffff)!important;
}

/* Current-week rows keep their compact grouped layout but gain stronger separation. */
.week-lesson-list{
  border-color:#bac7d5!important;
  box-shadow:0 7px 18px rgba(7,25,52,.09)!important;
  background:#ffffff!important;
}
.week-lesson-list .lesson-card{
  box-shadow:none!important;
  border-left:3px solid color-mix(in srgb,var(--course) 62%,#ffffff)!important;
  border-bottom-color:#cbd5df!important;
}

/* Topic section headers sit visibly above the gray workspace. */
.topic-section-header{
  border-color:color-mix(in srgb,var(--course) 24%,#c4cfdb)!important;
  box-shadow:0 6px 16px rgba(7,25,52,.07)!important;
  background:linear-gradient(
    90deg,
    color-mix(in srgb,var(--course-soft) 88%,#ffffff),
    #ffffff 76%
  )!important;
}

/* Stronger hover: course tint + visible edge + depth. */
.premium-course-page .info-card:hover,
.premium-course-page .resource-hub-card:hover,
.premium-course-page .lesson-tool-card:hover,
.premium-course-page .lesson-card:hover{
  transform:translateY(-2px);
  border-color:color-mix(in srgb,var(--course) 50%,#b9c6d4)!important;
  box-shadow:0 13px 29px rgba(7,25,52,.15)!important;
  background:color-mix(in srgb,var(--course-soft) 58%,#ffffff)!important;
}

/* Keep the weekly list stable while making hover unmistakable. */
.week-lesson-list .lesson-card:hover{
  transform:none!important;
  background:color-mix(in srgb,var(--course-soft) 68%,#ffffff)!important;
  box-shadow:inset 0 -2px 0 color-mix(in srgb,var(--course) 70%,transparent)!important;
}

/* Shortcut cards also need to survive washed-out Chromebook screens. */
.approved-shortcuts .jump-card{
  border-color:#c5d0dc!important;
  box-shadow:0 8px 20px rgba(7,25,52,.10)!important;
}
.approved-shortcuts .jump-card:hover{
  border-color:color-mix(in srgb,currentColor 34%,#c5d0dc)!important;
  box-shadow:0 14px 29px rgba(7,25,52,.15)!important;
}

/* Make date chips and secondary white controls distinct from the white cards. */
.premium-course-page .date-chip{
  background:#e8eef5!important;
  border:1px solid #c7d2de!important;
}
.premium-course-page .lesson-date{
  border:1px solid color-mix(in srgb,var(--course) 25%,#c7d2de)!important;
}

/* On small screens retain the stronger contrast without oversized shadows. */
@media(max-width:760px){
  .premium-course-page,
  .premium-course-shell{
    background:#e5ebf1!important;
  }
  .premium-course-page .panel{
    box-shadow:0 8px 20px rgba(7,25,52,.115)!important;
  }
}



/* ==========================================================
   v0.6.18 — ASSIGNMENT ROADMAP
   Student-facing MP assignment list sourced from calendar page 2.
   ========================================================== */
.mp-tabs{display:flex;gap:8px;align-items:stretch;margin:2px 0 18px;overflow-x:auto;padding-bottom:2px}
.mp-tab{min-width:92px;display:flex;align-items:center;justify-content:center;gap:5px;flex-direction:column;text-decoration:none;border:1px solid #bcc9d7;background:#f6f8fb;color:#33465d;border-radius:10px;padding:10px 15px;font-weight:900;font-size:.82rem;letter-spacing:.04em;transition:.15s ease}
.mp-tab small{font-size:.54rem;letter-spacing:.02em;color:#7a8899;font-weight:750}
.mp-tab:hover{border-color:var(--course);background:var(--course-soft);color:var(--course)}
.mp-tab.active{background:var(--course);border-color:var(--course);color:#fff;box-shadow:0 5px 13px color-mix(in srgb,var(--course) 25%,transparent)}
.mp-tab.active small{color:rgba(255,255,255,.8)}
.mp-tab.unavailable:not(.active){background:#eef2f6;color:#69788b}
.assignment-summary{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:10px;margin-bottom:18px}
.assignment-summary>div{background:#fff;border:1px solid #c4cfdb;border-radius:11px;padding:14px 16px;box-shadow:0 5px 14px rgba(7,25,52,.07);display:flex;flex-direction:column;gap:2px}
.assignment-summary>div:first-child{border-left:4px solid var(--course)}
.assignment-summary span{font-size:.62rem;letter-spacing:.11em;font-weight:900;color:#738196}
.assignment-summary strong{font-size:1.32rem;color:#10223a;line-height:1.15}
.assignment-summary small{font-size:.69rem;color:#607087}
.assignment-list{border:1px solid #bcc8d5;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 9px 23px rgba(7,25,52,.10)}
.assignment-row{position:relative;display:grid;grid-template-columns:120px minmax(0,1fr) 72px auto;align-items:center;gap:15px;padding:14px 16px;background:#fff;border-bottom:1px solid #cbd5df;min-height:82px}
.assignment-row:last-child{border-bottom:0}
.assignment-row:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:color-mix(in srgb,var(--course) 62%,#fff)}
.assignment-row:hover{background:color-mix(in srgb,var(--course-soft) 65%,#fff)}
.assignment-row.next-assignment{background:color-mix(in srgb,var(--course-soft) 42%,#fff)}
.assignment-row.next-assignment:before{width:5px;background:var(--course)}
.assignment-due{display:flex;flex-direction:column;gap:2px;padding-left:5px}
.assignment-due span{font-size:.58rem;font-weight:900;letter-spacing:.12em;color:#7a8798}
.assignment-due strong{font-size:.83rem;color:#22364f;line-height:1.25}
.assignment-main{min-width:0}
.assignment-meta{display:flex;align-items:center;gap:6px;margin-bottom:4px}
.assignment-main h3{font-size:.93rem;margin:0;color:#10233b;line-height:1.3}
.assignment-badge,.assignment-next-badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 7px;font-size:.56rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase;border:1px solid transparent}
.assignment-badge.formative{background:#eaf4ff;color:#1856a8;border-color:#cfe2f8}
.aquatics-theme .assignment-badge.formative{background:#e9f8f6;color:#087179;border-color:#c7ebe7}
.assignment-badge.summative{background:#fff1e9;color:#a74410;border-color:#f1d2bf}
.assignment-next-badge{background:#172b46;color:#fff}
.assignment-points{text-align:right;display:flex;flex-direction:column;line-height:1}
.assignment-points strong{font-size:1.06rem;color:#10233b}
.assignment-points span{font-size:.58rem;color:#758499;margin-top:4px}
.assignment-open{font-size:.7rem;font-weight:850;color:var(--course);text-decoration:none;border:1px solid #c7d2df;border-radius:7px;padding:8px 10px;background:#fff;white-space:nowrap}
.assignment-open:hover{border-color:var(--course);background:var(--course-soft)}
.assignment-note{font-size:.68rem;color:#6c7a8d;margin:12px 2px 0;line-height:1.45}
.assignment-empty{display:flex;flex-direction:column;align-items:flex-start;gap:7px;background:#fff;border:1px solid #c4cfdb;border-left:4px solid var(--course);border-radius:12px;padding:22px;box-shadow:0 7px 18px rgba(7,25,52,.08)}
.assignment-empty strong{font-size:1rem;color:#10233b}.assignment-empty span{font-size:.8rem;color:#68788c}.assignment-empty a{font-size:.75rem;font-weight:850;color:var(--course);text-decoration:none;margin-top:3px}
@media(max-width:760px){
  .assignment-summary{grid-template-columns:1fr 1fr}.assignment-summary>div:first-child{grid-column:1/-1}
  .assignment-row{grid-template-columns:94px minmax(0,1fr) 54px;gap:10px;padding:13px 12px}
  .assignment-open{grid-column:2/-1;justify-self:start;margin-top:-4px}
  .assignment-main h3{font-size:.86rem}.assignment-due strong{font-size:.76rem}
}

/* ==========================================================
   v0.6.18a — ASTRONOMY ACCENT CONSISTENCY
   The legacy Astronomy theme variable was purple while the
   approved dashboard redesign uses blue. Align all newer
   variable-driven accents (Assignments, Topics, hover edges,
   sidebar brand details) with the approved Astronomy blue.
   ========================================================== */
.astronomy-theme{
  --course:#2368ce!important;
  --course-dark:#123e7f!important;
  --course-soft:#eaf3ff!important;
}

/* ==========================================================
   v0.6.18b — COMPACT CURRENT TOPIC HERO
   Current-page visual refinement inspired by the approved
   compact editorial topic card: smaller hierarchy, stronger
   image composition, and student-facing context at a glance.
   ========================================================== */

/* Reduce the billboard effect and let the panorama do more of the visual work. */
.premium-course-hero{
  height:220px!important;
  min-height:220px!important;
  padding:24px 36px!important;
  display:flex!important;
  align-items:center!important;
  border-radius:16px!important;
  overflow:hidden!important;
}

/* Leave significantly more of the course image visible on the right. */
.astronomy-theme .premium-course-hero{
  background-position:64% center!important;
}
.aquatics-theme .premium-course-hero{
  background-position:66% center!important;
}
.premium-course-hero:before{
  background:linear-gradient(
    90deg,
    rgba(0,7,18,.95) 0%,
    rgba(0,9,21,.87) 34%,
    rgba(0,9,21,.52) 52%,
    rgba(0,9,21,.12) 73%,
    rgba(0,9,21,.02) 100%
  )!important;
}
.aquatics-theme .premium-course-hero:before{
  background:linear-gradient(
    90deg,
    rgba(0,27,28,.95) 0%,
    rgba(0,38,38,.87) 34%,
    rgba(0,38,38,.51) 52%,
    rgba(0,38,38,.11) 73%,
    rgba(0,38,38,.02) 100%
  )!important;
}

.premium-course-hero .hero-copy{
  max-width:620px!important;
  width:min(58%,620px)!important;
  align-self:center!important;
  position:relative!important;
  z-index:2!important;
}

/* CURRENT TOPIC is metadata; the actual topic name is the visual anchor. */
.premium-course-hero .hero-label{
  display:block!important;
  margin:0 0 6px!important;
  color:var(--course)!important;
  font-size:.66rem!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
  opacity:1!important;
}
.premium-course-hero h1{
  margin:0 0 9px!important;
  max-width:610px!important;
  font-size:clamp(2rem,3.25vw,3.05rem)!important;
  line-height:.98!important;
  letter-spacing:-.042em!important;
  text-wrap:balance;
}
.premium-course-hero #hero-summary{
  margin:0!important;
  max-width:560px!important;
  font-size:.89rem!important;
  line-height:1.42!important;
  color:#f4f7fb!important;
}

/* Context pills mirror the compact reference design and remain readable on Chromebooks. */
.hero-context{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:7px;
  margin-top:12px;
}
.hero-context-pill{
  display:inline-flex;
  align-items:center;
  min-height:25px;
  padding:4px 9px;
  border-radius:999px;
  background:color-mix(in srgb,var(--course) 24%,rgba(255,255,255,.13));
  border:1px solid rgba(255,255,255,.18);
  color:#fff;
  font-size:.65rem;
  font-weight:850;
  line-height:1;
  white-space:nowrap;
  backdrop-filter:blur(5px);
}
.hero-week-context{
  background:rgba(255,255,255,.12);
}

/* Calendar status remains available but intentionally secondary. */
.premium-course-hero .hero-meta{
  margin-top:9px!important;
  gap:10px!important;
}
.premium-course-hero .status-pill{
  padding:4px 8px!important;
  font-size:.61rem!important;
  background:rgba(0,0,0,.27)!important;
  border-color:rgba(255,255,255,.12)!important;
}
.premium-course-hero .hero-source{
  font-size:.64rem!important;
  font-weight:750!important;
}

/* The giant CTA was visually competing with the instructional page itself. */
.premium-course-hero .hero-topic-button{
  display:none!important;
}

/* Tablet / Chromebook-width behavior. */
@media(max-width:1100px){
  .premium-course-hero{
    height:230px!important;
    min-height:230px!important;
    padding:23px 28px!important;
  }
  .premium-course-hero .hero-copy{
    width:64%!important;
  }
  .premium-course-hero h1{
    font-size:clamp(1.9rem,3.6vw,2.7rem)!important;
  }
  .astronomy-theme .premium-course-hero,
  .aquatics-theme .premium-course-hero{
    background-position:69% center!important;
  }
}

/* Mobile: keep the compact hierarchy while protecting text contrast. */
@media(max-width:760px){
  .premium-course-hero{
    height:245px!important;
    min-height:245px!important;
    padding:22px 21px!important;
  }
  .premium-course-hero .hero-copy{
    width:82%!important;
    max-width:520px!important;
  }
  .premium-course-hero h1{
    font-size:2rem!important;
    line-height:1!important;
  }
  .premium-course-hero #hero-summary{
    font-size:.84rem!important;
  }
  .premium-course-hero:before{
    background:linear-gradient(90deg,rgba(0,7,18,.97),rgba(0,9,21,.86) 70%,rgba(0,9,21,.52))!important;
  }
  .aquatics-theme .premium-course-hero:before{
    background:linear-gradient(90deg,rgba(0,27,28,.97),rgba(0,38,38,.86) 70%,rgba(0,38,38,.52))!important;
  }
}

@media(max-width:520px){
  .premium-course-hero{
    height:260px!important;
    min-height:260px!important;
  }
  .premium-course-hero .hero-copy{
    width:94%!important;
  }
  .premium-course-hero h1{
    font-size:1.82rem!important;
  }
  .hero-context-pill{
    font-size:.61rem;
  }
}

/* ==========================================================
   v0.6.18c — ASTRONOMY ONE-LINE CURRENT TOPIC HERO
   Astro-only refinement. Aquatics remains unchanged.
   ========================================================== */

/* Give Astronomy's longer topic name room to run horizontally. */
.astronomy-theme .premium-course-hero .hero-copy{
  width:88%!important;
  max-width:none!important;
}

/* Keep the official topic name on one line at desktop/Chromebook widths. */
.astronomy-theme .premium-course-hero h1{
  white-space:nowrap!important;
  max-width:none!important;
  width:max-content!important;
  font-size:clamp(1.88rem,2.45vw,2.32rem)!important;
  line-height:1!important;
  letter-spacing:-.038em!important;
}

/* Keep supporting copy compact even though the headline can extend farther right. */
.astronomy-theme .premium-course-hero #hero-summary{
  max-width:610px!important;
}

/* Let a little more of the Earth/Moon composition show at the far right. */
.astronomy-theme .premium-course-hero{
  background-position:72% center!important;
}

/* Chromebook / narrower desktop tuning. */
@media(max-width:1180px){
  .astronomy-theme .premium-course-hero .hero-copy{
    width:94%!important;
  }
  .astronomy-theme .premium-course-hero h1{
    font-size:1.95rem!important;
  }
}

@media(max-width:980px){
  .astronomy-theme .premium-course-hero h1{
    font-size:1.78rem!important;
    letter-spacing:-.03em!important;
  }
}

/* Only genuinely narrow/mobile layouts are allowed to wrap. */
@media(max-width:760px){
  .astronomy-theme .premium-course-hero .hero-copy{
    width:88%!important;
  }
  .astronomy-theme .premium-course-hero h1{
    white-space:normal!important;
    width:auto!important;
    max-width:520px!important;
    font-size:1.95rem!important;
    line-height:1!important;
  }
}

/* ==========================================================
   v0.6.19 — CRISP HERO CONTROLS + SMART ABSENT RECOVERY
   ========================================================== */

/* Sharpen the Current-topic metadata for lower-quality Chromebook panels. */
.hero-context{
  gap:8px!important;
}
.hero-context-pill{
  min-height:27px!important;
  padding:5px 10px!important;
  background:color-mix(in srgb,var(--course) 38%,#132033)!important;
  border:1px solid rgba(255,255,255,.34)!important;
  box-shadow:0 1px 0 rgba(255,255,255,.10) inset,0 2px 5px rgba(0,0,0,.18)!important;
  color:#fff!important;
  font-size:.66rem!important;
  font-weight:900!important;
  letter-spacing:.005em!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.hero-week-context{
  background:#26303c!important;
  border-color:#566170!important;
}
.premium-course-hero .hero-meta{
  gap:11px!important;
}
.premium-course-hero .status-pill{
  min-height:25px!important;
  padding:4px 9px!important;
  background:#071018!important;
  border:1px solid #45515f!important;
  box-shadow:none!important;
  font-size:.62rem!important;
  font-weight:850!important;
  color:#fff!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.premium-course-hero .hero-source{
  color:#fff!important;
  font-size:.65rem!important;
  font-weight:800!important;
  text-underline-offset:3px!important;
  text-decoration-thickness:1px!important;
}
.premium-course-hero .hero-source:hover{
  color:color-mix(in srgb,var(--course) 58%,#fff)!important;
}

/* Hide the normal Current-topic hero only while using the dedicated Absent page. */
.absent-view .premium-course-hero{
  display:none!important;
}
.absent-view .workspace{
  margin-top:0!important;
}

/* Dedicated Absent recovery workspace. */
.absent-recovery-page{
  display:grid;
  gap:16px;
}
.absent-page-hero{
  min-height:188px;
  border-radius:15px;
  padding:30px 34px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  position:relative;
  overflow:hidden;
  color:#fff;
  box-shadow:0 9px 24px rgba(5,23,50,.13);
  background-size:cover;
  background-position:center;
}
.astronomy-theme .absent-page-hero{
  background-image:
    linear-gradient(90deg,rgba(0,7,18,.96),rgba(0,9,21,.78) 52%,rgba(0,9,21,.16)),
    url('/assets/astronomy-banner.jpg');
  background-position:72% center;
}
.aquatics-theme .absent-page-hero{
  background-image:
    linear-gradient(90deg,rgba(0,27,28,.96),rgba(0,38,38,.78) 52%,rgba(0,38,38,.14)),
    url('/assets/freshwater-banner.jpg');
  background-position:68% center;
}
.absent-page-hero>div:first-child{
  max-width:680px;
  position:relative;
  z-index:1;
}
.absent-page-hero p{
  margin:0 0 7px;
  color:var(--course);
  font-size:.68rem;
  font-weight:950;
  letter-spacing:.13em;
}
.absent-page-hero h1{
  margin:0;
  font-size:clamp(2rem,3.3vw,3.15rem);
  line-height:1;
  letter-spacing:-.04em;
}
.absent-page-hero span{
  display:block;
  margin-top:10px;
  max-width:520px;
  color:#eef3f8;
  font-size:.88rem;
  line-height:1.48;
}
.absent-hero-context{
  display:flex;
  align-items:center;
  gap:8px;
  align-self:flex-start;
  margin-top:5px;
  position:relative;
  z-index:1;
}
.absent-hero-context b{
  padding:7px 11px;
  border-radius:999px;
  background:#172432;
  border:1px solid rgba(255,255,255,.28);
  color:#fff;
  font-size:.68rem;
  font-weight:850;
  white-space:nowrap;
}
.astronomy-theme .absent-hero-context b:first-child{
  background:#123f82;
}
.aquatics-theme .absent-hero-context b:first-child{
  background:#075f62;
}

.absent-top-grid{
  display:grid;
  grid-template-columns:minmax(260px,.72fr) minmax(0,1.72fr);
  gap:16px;
}
.absent-detail-grid{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:16px;
}
.absent-date-card,
.absent-recovery-card,
.absent-missed-card,
.absent-now-card{
  background:#fff;
  border:1px solid #becbd8;
  border-radius:14px;
  box-shadow:0 9px 22px rgba(7,25,52,.11);
  padding:22px;
  min-width:0;
}
.absent-date-card{
  display:grid;
  grid-template-columns:38px 1fr;
  gap:13px;
}
.absent-card-title{
  display:flex;
  align-items:center;
  gap:11px;
  margin-bottom:16px;
}
.absent-date-card h2,
.absent-card-title h2{
  margin:0;
  font-size:1.04rem;
  color:#132039;
}
.absent-date-card p{
  margin:5px 0 14px;
  color:#607089;
  font-size:.76rem;
  line-height:1.45;
}
.absent-section-icon{
  width:36px;
  height:36px;
  border-radius:50%;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  background:#e5f3f3;
  border:1px solid #b7dada;
  color:#07686b;
  font-size:1rem;
  font-weight:900;
}
.astronomy-theme .absent-section-icon{
  background:#eaf2ff;
  border-color:#c1d4f2;
  color:#1755ae;
}
.absent-date-select{
  width:100%;
  min-height:48px;
  padding:0 38px 0 13px;
  border:1px solid #b9c6d5;
  border-radius:9px;
  background:#fff;
  color:#17253c;
  font:inherit;
  font-size:.76rem;
  font-weight:700;
  outline:none;
}
.absent-date-select:focus{
  border-color:var(--course);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--course) 18%,transparent);
}
.absent-calendar-link{
  display:inline-block;
  margin-top:13px;
  color:var(--course);
  font-size:.7rem;
  font-weight:850;
  text-decoration:none;
}
.absent-calendar-link:hover{text-decoration:underline}

.absent-recovery-steps{
  display:grid;
  grid-template-columns:1fr 22px 1fr 22px 1fr 22px 1fr;
  align-items:stretch;
}
.absent-recovery-step{
  border:1px solid color-mix(in srgb,var(--course) 18%,#c5d1dc);
  border-radius:10px;
  background:color-mix(in srgb,var(--course-soft) 45%,#fff);
  padding:13px 11px;
  text-align:center;
  min-width:0;
}
.absent-step-number{
  width:29px;
  height:29px;
  display:grid;
  place-items:center;
  margin:0 auto 9px;
  border-radius:50%;
  background:var(--course);
  color:#fff;
  font-size:.72rem;
  font-weight:950;
}
.absent-recovery-step strong{
  display:block;
  color:#142038;
  font-size:.78rem;
  line-height:1.25;
}
.absent-recovery-step p{
  margin:7px 0 0;
  color:#53647b;
  font-size:.67rem;
  line-height:1.45;
}
.absent-step-arrow{
  display:grid;
  place-items:center;
  color:var(--course);
  font-size:1.8rem;
  font-weight:400;
}

.absent-missed-card h3{
  margin:4px 0 6px;
  color:#111f38;
  font-size:1.08rem;
}
.absent-missed-card>p{
  margin:0;
  color:#53647b;
  font-size:.76rem;
  line-height:1.5;
}
.absent-lesson-meta{
  color:#6c7890;
  font-size:.66rem;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.absent-resource-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:17px;
}
.absent-resource-row a{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:36px;
  padding:0 11px;
  border:1px solid #bdc9d7;
  border-radius:8px;
  background:#fff;
  color:#1a2942;
  text-decoration:none;
  font-size:.69rem;
  font-weight:820;
}
.absent-resource-row a:hover{
  border-color:var(--course);
  background:var(--course-soft);
}
.absent-resource-row a span{
  color:var(--course);
  font-weight:950;
}
.absent-lesson-links{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:15px;
}
.absent-lesson-links .action-link{
  min-height:37px!important;
}

.absent-task-list{
  display:grid;
  gap:13px;
}
.absent-task{
  display:grid;
  grid-template-columns:24px 1fr;
  gap:9px;
  align-items:start;
}
.absent-task>span{
  width:22px;height:22px;
  display:grid;place-items:center;
  border-radius:50%;
  background:#087276;
  color:#fff;
  font-size:.65rem;
  font-weight:950;
}
.astronomy-theme .absent-task>span{background:#1a58af}
.absent-task strong{
  color:#15223a;
  font-size:.75rem;
}
.absent-task p{
  margin:2px 0 0;
  color:#596980;
  font-size:.68rem;
  line-height:1.42;
}

.absent-followup{
  display:grid;
  grid-template-columns:1.25fr 1fr 1fr 1fr;
  align-items:stretch;
  border:1px solid #e0c36c;
  border-radius:13px;
  overflow:hidden;
  background:#fff9e9;
  box-shadow:0 7px 18px rgba(75,55,10,.07);
}
.absent-followup>div{
  padding:15px 17px;
  border-left:1px solid #e4d7ab;
}
.absent-followup>div:first-child{border-left:0}
.absent-followup strong{
  display:block;
  color:#263247;
  font-size:.73rem;
}
.absent-followup span{
  display:block;
  margin-top:4px;
  color:#6a6047;
  font-size:.65rem;
  line-height:1.42;
}
.absent-followup-intro{
  display:grid!important;
  grid-template-columns:30px 1fr;
  gap:10px;
  align-items:start;
}
.absent-followup-intro>span{
  width:28px;height:28px;
  display:grid;place-items:center;
  margin:0!important;
  border-radius:7px;
  background:#f4ca55;
  color:#533d05!important;
  font-size:.9rem!important;
  font-weight:950;
}
.absent-followup-intro p{
  margin:4px 0 0;
  color:#6a6047;
  font-size:.65rem;
  line-height:1.4;
}

/* Responsive Absent page. */
@media(max-width:1100px){
  .absent-top-grid{grid-template-columns:1fr}
  .absent-recovery-steps{grid-template-columns:1fr 18px 1fr 18px 1fr 18px 1fr}
  .absent-detail-grid{grid-template-columns:1fr}
  .absent-followup{grid-template-columns:1fr 1fr}
  .absent-followup>div:nth-child(3){border-left:0;border-top:1px solid #e4d7ab}
  .absent-followup>div:nth-child(4){border-top:1px solid #e4d7ab}
}
@media(max-width:760px){
  .absent-page-hero{
    min-height:205px;
    padding:24px 22px;
    display:block;
  }
  .absent-page-hero h1{font-size:2.05rem}
  .absent-hero-context{margin-top:17px;flex-wrap:wrap}
  .absent-recovery-steps{
    grid-template-columns:1fr;
    gap:8px;
  }
  .absent-step-arrow{
    transform:rotate(90deg);
    height:18px;
  }
  .absent-followup{grid-template-columns:1fr}
  .absent-followup>div{
    border-left:0!important;
    border-top:1px solid #e4d7ab;
  }
  .absent-followup>div:first-child{border-top:0}
}

