/* Course hub: clear hierarchy, readable type, existing learning and assessment flows. */
:root,:root[data-theme=light]{--gold:#79551e;--bg:#f1f5f8;--panel:#fff;--ink:#172c3b;--muted:#506475;--line:#cbd7de;--accent:#006b62;--accent-ink:#fff;--blue:#165e99;--purple:#6b4794;color-scheme:light}
:root[data-theme=dark]{--gold:#edc690;--bg:#0b1520;--panel:#142332;--ink:#f1f7fa;--muted:#b9cbd7;--line:#3b5263;--accent:#8ce2cf;--accent-ink:#102c28;--blue:#9bcff9;--purple:#d1b4f1;color-scheme:dark}
.course-home{font:1.0625rem/1.65 system-ui,-apple-system,'Segoe UI',sans-serif}
.course-home .wrap{width:min(1400px,100% - 64px)}
.course-home header{background:var(--panel)}
.course-home .top{padding:18px 0;gap:20px}
.course-home .top nav{gap:22px}
.course-home .brand{color:var(--accent);font-size:1.75rem}
.course-home .brand span{font-size:.8125rem;letter-spacing:0}
.course-home .top nav a{font-size:.9375rem}
.course-home .ey{font-size:.8125rem;letter-spacing:.1em}
.course-home .course-intro{display:grid;grid-template-columns:1.35fr 1fr;gap:64px;align-items:center;padding:42px 0 36px;border-bottom:0}
.course-home h1{font-size:clamp(2.2rem,3.8vw,3.4rem);line-height:1.1;letter-spacing:-.045em;margin:12px 0 20px;max-width:800px}
.course-home h1 em{color:var(--accent)}
.course-home .intro{font-size:1.125rem;line-height:1.65;max-width:700px;margin-bottom:20px}
.course-home .intro .actions{margin:16px 0}
.intro-credit{font-size:.875rem;color:var(--muted);margin:14px 0 0}
.intro-route{border-left:1px solid var(--line);padding:5px 0 5px 40px}
.intro-route>div{display:flex;gap:16px;align-items:center;padding:10px 0}
.intro-route>div>span{width:42px;height:42px;border-radius:12px;background:color-mix(in srgb,var(--accent) 9%,var(--panel));color:var(--accent);display:grid;place-items:center;font-size:.9375rem;font-weight:750;flex:none}
.intro-route p{margin:0}.intro-route p b{display:block;font-size:1.0625rem}.intro-route small{font-size:.875rem;color:var(--muted)}
.intro-route>a{display:inline-block;font-size:.875rem;margin:14px 0 0 58px;text-decoration:none;font-weight:650}
.course-home .course-layout{grid-template-columns:218px minmax(0,1fr);gap:36px;padding:24px 0 48px;border-top:1px solid var(--line)}
.course-home .course-sidebar{top:126px;padding-top:10px}
.course-home .course-sidebar h2{font-size:1.4rem}
.course-home .course-sidebar>p{font-size:.875rem}
.course-home .course-progress{padding:18px;background:var(--panel);margin:20px 0 28px;border-radius:14px}
.course-home .course-progress span{font-size:.875rem}
.course-home .course-sidebar nav a{font-size:.9375rem;padding:10px 0}
.course-home .progress-action{font-size:.8125rem;min-height:44px}
.sidebar-guide{display:grid;gap:6px;padding:18px;border-radius:12px;background:var(--panel);border:1px solid var(--line);text-decoration:none;font-size:.9375rem;margin-top:24px}
.sidebar-guide span{font-size:.875rem;color:var(--muted)}
.course-home .chapter-search{margin:0 0 16px;gap:18px;background:none;border:0;padding:0;align-items:center}
.course-home .chapter-search h2{font-size:1.75rem;letter-spacing:-.025em;margin:2px 0 6px}
.course-home .chapter-search .ey{margin-bottom:4px}
.course-home .chapter-search .small{margin:0}
.course-home .search-control input{background:var(--panel);border-radius:10px;min-height:52px;font-size:1rem;width:100%;min-width:0}
.course-home .path-section{padding-top:24px;scroll-margin-top:118px}
.course-home .section-heading{gap:14px;margin-bottom:18px}
.course-home .section-heading h2{font-size:1.375rem;margin-bottom:4px}
.course-home .section-heading p{font-size:1rem}
.course-home .section-heading>span{background:var(--panel);border:0;font-size:.9375rem;border-radius:12px}
.course-home .chapter-list{border:0;border-radius:0;display:grid;gap:14px;overflow:visible}
.course-home .lesson{padding:24px;gap:22px;grid-template-columns:58px minmax(0,1fr);border:1px solid var(--line);border-radius:16px;background:var(--panel);box-shadow:0 3px 9px #0d304b04}
.course-home .chapter-number{font-size:2rem;line-height:1;letter-spacing:-.04em;border-right:1px solid var(--line);padding-top:7px}
.course-home .chapter-number small{font-size:.625rem;font-weight:750;margin-top:12px;letter-spacing:.07em}
.course-home .chapter-heading h3{font-size:1.4rem;line-height:1.25;letter-spacing:-.02em;max-width:640px}
.course-home .unit-count{font-size:.8125rem;border:1px solid var(--line);padding:3px 9px;border-radius:30px}
.course-home .chapter-content>p{font-size:1rem;line-height:1.6;margin:10px 0}
.course-home .meta{font-size:.875rem;gap:8px 14px;line-height:1.5}
.course-home .meta span+span{border:0;padding:0;flex-basis:100%}
.course-home .btn{border-radius:8px;min-height:48px;font-size:1rem;padding:10px 18px}
.course-home .btn.secondary{color:var(--accent);border-color:var(--accent);background:transparent}
.course-home .lesson .actions{margin:18px 0 12px;gap:12px}
.course-home .lesson .btn{min-height:44px;font-size:.9375rem;padding:10px 16px}
.course-home .text-link{font-size:.9375rem;min-height:44px;display:inline-flex;align-items:center}
.chapter-resources{padding:0!important;border:0!important;margin:4px 0 12px}
.chapter-resources summary{font-size:.9375rem;color:var(--muted);padding:8px 0;min-height:44px;font-weight:600}
.resource-links{display:flex;gap:10px 22px;flex-wrap:wrap;padding:0 0 10px}
.resource-links a{color:var(--accent)!important;text-decoration:underline!important;font-weight:500!important}
.course-home .check{font-size:.875rem;color:var(--muted);min-height:32px}
.course-home .check input{width:20px;height:20px}
.course-home .small{font-size:.875rem!important}
.course-home .notice,.course-home .course-evaluation-gate{background:var(--panel);border-radius:14px;padding:24px}
.course-home .notice summary{font-size:1.125rem;padding:5px 0}
.course-home .notice p{font-size:1rem;margin-top:14px}
.course-home .workflow{border-top:1px solid var(--line);padding-top:36px}
.course-home .workflow p,.course-home .scope-key{font-size:.9375rem}
.course-home .footer-inner{font-size:.875rem}
.course-home button,.course-home label[for=progressImport]{touch-action:manipulation}
@media(max-width:1100px){.course-home .top nav{gap:12px}.course-home .course-intro{gap:30px}.intro-route{padding-left:24px}.course-home .course-layout{gap:25px;grid-template-columns:200px minmax(0,1fr)}}
@media(max-width:900px){.course-home header{position:relative}.course-home .top nav a{font-size:1rem;min-height:44px}.course-home .course-intro{grid-template-columns:1fr;gap:24px;padding:26px 0}.intro-route{display:none}.course-home .course-layout{display:flex;flex-direction:column;gap:24px}.course-home .course-sidebar{position:static;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:center;padding:0;margin:0;border:0}.course-home .course-sidebar>p,.course-home .course-sidebar h2,.course-home .course-sidebar nav,.sidebar-guide{display:none}.course-home .course-progress{margin:0;padding:14px 18px}.course-home .course-progress strong{font-size:1.5rem}.course-home .progress-tools{margin:0}.course-home .chapter-search{grid-template-columns:1fr 1fr}.course-home .course-main{width:100%;min-width:0}}
@media(max-width:600px){.course-home .wrap{width:calc(100% - 32px)}.course-home h1{font-size:2.125rem;letter-spacing:-.035em}.course-home .brand span{max-width:190px;font-size:.75rem}.course-home .course-intro .actions{display:grid;grid-template-columns:1fr}.course-home .intro{font-size:1rem}.course-home .course-sidebar{grid-template-columns:1fr}.course-home .progress-tools{grid-template-columns:1fr 1fr}.course-home .chapter-search{grid-template-columns:1fr}.course-home .chapter-search .ey{font-size:.75rem}.course-home .lesson{grid-template-columns:1fr;gap:12px;padding:20px}.course-home .chapter-number{border:0;display:flex;align-items:center;gap:8px;padding:0;font-size:1.25rem}.course-home .chapter-number small{margin:0;font-size:.75rem}.course-home .chapter-heading h3{font-size:1.35rem}.course-home .chapter-heading{display:block}.course-home .unit-count{display:inline-block;margin-top:10px}.course-home .lesson .actions{display:grid;grid-template-columns:1fr 1fr}.course-home .lesson .btn{padding:10px 8px}.course-home .section-heading h2{font-size:1.2rem}.course-home .section-heading p{font-size:.9375rem}.course-home .resource-links{display:grid;gap:0}.course-home .course-progress span{font-size:.875rem}}
