/* Quiet course navigation: one home, one schedule, one resource collection. */
.course-dashboard{max-width:980px!important;margin:0 auto!important;padding:2.5rem 1.25rem!important}
.course-dashboard .dashboard-intro{padding:1.5rem 0 2.5rem;border-bottom:1px solid var(--border,var(--line,#ddd));margin-bottom:2rem}
.course-dashboard .dashboard-intro h1{font-family:inherit;font-size:clamp(2rem,5vw,3.4rem);line-height:1.12;letter-spacing:-.035em;margin:.5rem 0 1rem;max-width:22ch}
.course-dashboard .dashboard-intro p{max-width:65ch;line-height:1.65;font-size:1rem}
.course-dashboard .dashboard-meta{font-size:.85rem;color:var(--muted,var(--text-muted,#777))}
.course-schedule{margin:2.5rem 0 3rem}.course-schedule h2{font-family:inherit;font-size:1.4rem;font-weight:600;line-height:1.4;margin-bottom:1rem}
.course-schedule table{width:100%;min-width:0;border-collapse:collapse;table-layout:fixed;font-size:.95rem}
.course-schedule th,.course-schedule td{padding:1rem .75rem;border-bottom:1px solid var(--border,var(--line,#ddd));text-align:left;vertical-align:top;white-space:normal;overflow-wrap:break-word}
.course-schedule th{font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;background:none}
.course-schedule th:first-child{width:110px}.course-schedule th:last-child{width:110px}
.course-schedule td strong{display:block;font-size:1rem;font-weight:600;line-height:1.5}
.course-schedule td small{display:block;margin-top:.35rem;color:var(--muted,var(--text-muted,#777));line-height:1.5;font-size:.8rem}
.course-schedule td a{display:inline-block;font-weight:600;white-space:nowrap;text-decoration:underline;text-underline-offset:4px;padding:.15rem 0}
.course-schedule tr:target{background:var(--accent-soft,var(--surface,#f3f4f5))}
.course-dashboard .resource-section{border-top:1px solid var(--border,var(--line,#ddd));margin:2.5rem 0;padding-top:1.5rem}
.course-dashboard .resource-section>summary{font-size:1.05rem;font-weight:600;cursor:pointer;padding:.6rem 0}
.course-dashboard .resource-section>div{padding:1rem 0}
.course-dashboard .resource-links{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.8rem;margin:1rem 0}
.course-dashboard .resource-links a{display:inline-block;line-height:1.6}
.course-dashboard .start-week{padding:1.25rem 0;border:0;border-bottom:1px solid var(--border,var(--line,#ddd));border-radius:0;background:none}
.course-dashboard .start-week h2{font-size:1.4rem}.course-dashboard .start-week p{margin:.6rem 0}
.course-dashboard #calendar-navigation{display:none}
/* Make navigation labels consistent without restyling lesson diagrams. */
.site-header .header-nav,.top nav{gap:1rem}.site-header .brand,.top .brand{font-size:.9rem}
.path-menu>summary{font-size:.85rem;letter-spacing:0;text-transform:none}
.path-menu>div{min-width:230px;max-width:calc(100vw - 32px)}
.path-menu a{line-height:1.5}.site-footer{font-size:.8rem}
@media(max-width:600px){
.course-dashboard{padding:1.5rem 1rem!important}.course-dashboard .dashboard-intro{padding:.75rem 0 1.5rem}
.course-schedule th:first-child{width:54px}.course-schedule th:last-child{width:72px}
.course-schedule th,.course-schedule td{padding:.9rem .3rem}.course-schedule td strong{font-size:.88rem}.course-schedule table{font-size:.83rem}.course-schedule td small{font-size:.75rem}
.site-header,.top{flex-wrap:wrap;gap:.6rem!important}.site-header .brand span,.top .brand span{display:none}
}
@media print{.course-dashboard details{display:block}.course-schedule tr{break-inside:avoid}}
/* Course schedules jump immediately; a long animated scroll hides the destination. */
html:has(.course-dashboard){scroll-behavior:auto}
.path-menu>div>button{display:block;margin:.8rem 0;padding:.45rem .6rem;max-width:100%;text-align:left}
@media(max-width:650px){.site-header .header-nav{width:auto;margin-left:auto;justify-content:flex-end}.site-header .header-nav .path-menu>div{left:auto;right:0}}
