/* Course navigation stays separate from the three material tabs. */
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
header{max-width:1680px}
.app-shell{max-width:1680px;margin:0 auto;display:grid;grid-template-columns:196px minmax(0,1fr);align-items:start}
.app-shell main{width:100%;min-width:0;padding:25px 25px 0;outline:none}
.intro{gap:20px}
.intro h1{font-size:30px}
#week-summary{max-width:250px;line-height:1.55}
.week-sidebar{position:sticky;top:0;height:calc(100dvh - 90px);min-height:340px;display:flex;flex-direction:column;gap:13px;background:#edf5f7;border-right:1px solid #cddfe5;padding:20px 12px 10px}
.weeks-heading{display:flex;align-items:center;justify-content:space-between;padding:0 8px}
.weeks-heading h2{font-size:18px;margin:0;line-height:1.3}
.weeks-heading .eyebrow{font-size:10px;margin-bottom:5px}
#weeks-close{display:none;background:#dcecf1;border:0;border-radius:6px;font-size:25px;width:35px;height:35px;color:var(--ink)}
.week-list{display:flex;flex-direction:column;gap:4px;flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;padding:3px}
.week-link{display:flex;align-items:center;gap:10px;min-height:37px;padding:7px 9px;flex-shrink:0;border:1px solid transparent;border-radius:7px;text-decoration:none;color:#465f68;font-size:15px;line-height:1.25}
.week-link:hover{background:#deedf2;color:var(--ink)}
.week-link[aria-current=page]{background:#e0eff3;border-color:#006580;color:#183c47;font-weight:750;box-shadow:inset 3px 0 #006580}
.week-link small{font-size:10px;font-weight:650;margin-left:auto;color:#465f68;background:#dfebef;padding:3px 5px;border-radius:4px}
.week-link.is-ready small{background:#d9eee7;color:#236b59}
.week-dot{width:6px;height:6px;border-radius:50%;border:1px solid #658995;flex-shrink:0}
.is-ready .week-dot{background:#27836b;border-color:#27836b}
.week-link[aria-current=page] .week-dot{background:#006580;border-color:#006580}
.week-count{margin:0;padding:9px 8px 0;border-top:1px solid #cddfe5;color:#4b6570;font-size:11px}
.weeks-hidden .app-shell{grid-template-columns:minmax(0,1fr)}
.week-placeholder{min-height:490px;background:linear-gradient(145deg,#fff,#f0f7f9);border:1px solid #c6dce3;border-radius:14px;text-align:center;padding:65px 28px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.pending-symbol{width:92px;height:92px;margin-bottom:22px;border-radius:22px;background:#e0eff3;color:#006580;display:grid;place-items:center}
.pending-symbol svg{width:66px;height:66px}
.week-placeholder h2{font-size:27px;line-height:1.3;margin:4px 0 15px;max-width:530px}
.week-placeholder>p:not(.eyebrow){font-size:17px;line-height:1.65;max-width:540px;margin:0;color:var(--muted)}
.pending-detail{font-size:14px;color:#46616b;margin:22px 0 25px;padding:11px 16px;border-radius:8px;background:#eaf4f7}
.return-week{font-size:15px;font-weight:650;color:#006580;text-underline-offset:5px}
.weeks-backdrop{position:fixed;inset:0;background:#103d4b66;z-index:40}
@media(min-width:751px){
 .app-shell .layout{grid-template-columns:minmax(0,1fr) 310px}
 .app-shell .controls{padding:20px}
 .app-shell .material-tabs button{gap:10px;padding:12px 13px;font-size:16px}
 .app-shell .material-tabs small{font-size:11px}
 .presenting .app-shell{height:calc(100dvh - 49px);align-items:stretch;max-width:none}
 .presenting .week-sidebar{height:calc(100dvh - 49px);min-height:0;padding-top:16px}
 .presenting .app-shell main{padding:0 16px 12px;display:flex;flex-direction:column;min-height:0;height:100%}
 .presenting #week-one{display:flex;flex-direction:column;flex:1;min-height:0}
 .presenting .material-tabs{flex-shrink:0}
 .presenting .app-shell .material-tabs button{padding:8px 12px;font-size:16px}
 .presenting #workspace{display:flex;flex-direction:column;flex:1;min-height:0}
 .presenting .question{flex-shrink:0;gap:15px}
 .presenting .question strong{font-size:21px}
 .presenting .app-shell .layout{height:auto;min-height:0;flex:1;grid-template-columns:minmax(0,1fr) 310px}
 .presenting .app-shell .controls{padding:18px}
 .presenting .week-placeholder{height:100%;min-height:0}
 .presenting .scene-header{font-size:12px;gap:12px}
 .presenting .live-stats{gap:18px;padding:12px 19px}
 .presenting .live-stats strong{font-size:23px}
 .presenting .live-stats span{font-size:11px}
 .presenting .notice{font-size:12px}
 .presenting .transport{gap:9px;padding:12px 16px}
 .presenting .transport .play{min-width:116px}
 .presenting .controls h2{font-size:24px}
 .presenting .brief{font-size:16px}
 .presenting .feedback{font-size:15px}
}
@media(max-width:1100px) and (min-width:751px){
 .app-shell{grid-template-columns:170px minmax(0,1fr)}
 .app-shell main{padding-left:16px;padding-right:16px}
 .week-sidebar{padding-left:7px;padding-right:7px}
 .intro h1{font-size:26px}
 #week-summary{display:none}
 .app-shell .material-tabs button{font-size:13px;padding:10px 8px;gap:6px}
 .app-shell .material-tabs small{display:none}
 .app-shell .layout,.presenting .app-shell .layout{grid-template-columns:minmax(0,1fr) 280px}
 .app-shell .controls{padding:16px}
 .app-shell .question strong{font-size:18px}
 .app-shell .live-stats{gap:14px}
 .app-shell .live-stats strong{font-size:20px}
 .app-shell .live-stats>div{min-width:100px}
 .app-shell .transport{flex-wrap:wrap}
}
@media(max-width:750px){
 .app-shell{display:block}
 .app-shell main{padding:20px 12px 0}
 header{padding:0 12px;gap:8px}
 .brand{gap:7px}
 .head-meta{gap:5px}
 .head-meta button{padding:8px 7px;font-size:11px}
 .head-meta #guide{display:none}
 .week-sidebar{position:fixed;z-index:50;left:0;top:0;bottom:0;width:250px;height:100dvh;min-height:0;padding:22px 12px 14px;box-shadow:15px 0 50px #103d4b22}
 #weeks-close{display:block}
 .week-link{font-size:16px;min-height:42px}
 .week-link small{font-size:11px}
 .weeks-overlay{overflow:hidden}
 .intro h1{font-size:27px}
 .week-placeholder{min-height:480px;padding:38px 22px}
 .week-placeholder h2{font-size:24px}
 .pending-detail{font-size:13px;line-height:1.6}
 .presenting .app-shell main{padding:0 10px 10px}
 .presenting .week-placeholder{margin-top:12px}
}

/* A solid corporate accent marks the current week. */
.week-link[aria-current=page]{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:none}
.week-link[aria-current=page] small{background:#e0eff3;color:#004f65}
.week-link[aria-current=page] .week-dot{background:#fff;border-color:#fff}
