/* Course layout uses the same reading scale and palette as articles/books. */
.view-courses{max-width:none;padding:0}
.course-home{max-width:960px;margin:0 auto;padding:48px 28px 80px}
.course-card:focus-visible{outline:2px solid var(--accent);outline-offset:8px;border-radius:4px}
.course-library{max-width:960px;margin:0 auto;padding:48px 28px 80px}
.course-library>.course-back{display:inline-block;margin-bottom:28px}
.course-library h1{margin:0 0 36px}.course-collection>header{margin-bottom:32px}
.course-collection>header h2{font-size:1.5rem;margin-bottom:12px}.course-small{color:var(--muted);font-size:.84rem}
.course-group{margin:24px 0}.course-group h2,.course-group h3{font-size:.88rem;color:var(--muted);font-weight:600;margin:0 0 10px}
.course-group ol{list-style:none;padding:0;margin:0}.course-group li{margin:0}
.course-library .course-group{margin:32px 0}.course-library .course-group li{border-bottom:1px solid var(--line)}
.course-library .course-group a,.course-library .course-pending{display:flex;justify-content:space-between;gap:16px;padding:15px 0;text-decoration:none;color:var(--fg)}
.course-library .course-group a:hover{color:var(--accent)}.course-group small{font-size:.78rem;color:var(--muted);font-weight:400}
.course-pending{color:var(--muted)}.course-pending small{display:block}
.course-reader{display:grid;grid-template-columns:270px minmax(0,1fr) 205px;gap:40px;max-width:1640px;margin:auto;padding:0 28px}
.course-sidebar,.course-toc{position:sticky;top:76px;align-self:start;max-height:calc(100vh - 100px);overflow:auto;overscroll-behavior:contain;padding:22px 8px 30px 0;scrollbar-width:thin}
.course-index-title{font-weight:650;margin:26px 0 18px}.course-back{font-size:.88rem;color:var(--muted);text-decoration:none}
.course-index .course-group a,.course-index .course-pending{display:block;padding:8px 10px;margin:2px 0;font-size:.87rem;line-height:1.55;text-decoration:none;border-left:2px solid transparent;color:var(--muted)}
.course-index .course-group a:hover{color:var(--fg)}.course-index .course-group a.current{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,transparent)}
.course-prose{min-width:0;max-width:760px;width:100%;margin:0 auto;padding:48px 0 80px;font-size:1.04rem;line-height:1.85;overflow-wrap:break-word}
.course-article-head{padding-bottom:26px;margin-bottom:38px;border-bottom:1px solid var(--line)}
.course-article-head h1{font-size:clamp(1.7rem,2.6vw,2.5rem);line-height:1.35;margin:18px 0 22px;letter-spacing:-.025em}
.course-lead{color:var(--muted);font-size:1.05rem}.course-provenance{color:var(--muted);font-size:.8rem;line-height:1.65;margin-top:22px}
.course-provenance summary,.course-sources summary,.course-more summary{cursor:pointer}
.course-section{scroll-margin-top:90px;margin:0 0 44px}.course-section h2{font-size:1.3rem;line-height:1.5;margin:38px 0 20px}
.course-subheading,.course-subheading h3{scroll-margin-top:90px}.course-subheading h3{font-size:1.12rem;line-height:1.55;margin:28px 0 16px}
.course-section p{margin:0 0 22px}.course-section .frame{margin:28px 0}.course-prose .katex-display{overflow-x:auto;overflow-y:hidden;padding:8px 0}
/* Course data tables keep numeric tokens intact; only the table scrolls. */
.course-section .web-content table{overflow-wrap:normal;word-break:normal}
.course-section .web-content table th{white-space:nowrap}
.course-section .web-content table td{min-width:18ch;max-width:28rem;white-space:normal;overflow-wrap:normal;word-break:normal}
.course-image{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in;color:var(--muted);text-align:right}
.course-image img{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:var(--surface);height:auto;border-radius:3px}
.course-image span{display:block;font-size:.72rem;padding-top:5px}.course-more{font-size:.88rem;margin:16px 0 30px;color:var(--muted)}
.course-more-body{color:var(--fg)}.course-sources{font-size:.76rem;line-height:1.5;color:var(--muted);margin:22px 0}
.course-sources>div{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.course-source{border:1px solid var(--line);padding:4px 7px;background:transparent;color:var(--muted);border-radius:4px;font:inherit;cursor:pointer}
.course-source:hover{color:var(--accent);border-color:var(--accent)}
.course-outline{font-size:.8rem}.course-outline>p{font-weight:600;color:var(--muted);margin:0 0 14px}.course-outline button{display:block;text-align:left;border:0;border-left:2px solid transparent;background:transparent;color:var(--muted);font:inherit;line-height:1.55;padding:7px 10px;width:100%;cursor:pointer}
.course-outline button.current{color:var(--accent);border-color:var(--accent)}
.course-outline button[data-course-level="3"]{padding-left:24px;font-size:.96em}
.course-summary{border-top:1px solid var(--line);padding-top:20px;margin:40px 0}.course-summary h2{font-size:1.2rem}
.course-adjacent{display:grid;grid-template-columns:1fr 1fr;gap:24px;border-top:1px solid var(--line);padding-top:26px}.course-adjacent a{color:var(--fg);text-decoration:none;font-size:.9rem}.course-adjacent a:last-child{text-align:right}.course-adjacent small{display:block;color:var(--muted);margin-bottom:6px}.course-adjacent a:hover{color:var(--accent)}
.course-mobile-nav{display:none}.course-status{max-width:760px;margin:60px auto;padding:24px;color:var(--muted)}
.course-drawer{position:fixed;inset:0 auto 0 0;margin:0;width:min(90vw,380px);height:100dvh;max-height:100dvh;border:0;border-right:1px solid var(--line);background:var(--bg);color:var(--fg);padding:18px 22px;overflow:auto}.course-drawer::backdrop{background:#0006}.course-drawer>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.course-drawer .course-outline{padding-bottom:20px;border-bottom:1px solid var(--line)}
@media(max-width:1200px){.course-reader{grid-template-columns:240px minmax(0,1fr);gap:30px}.course-toc{display:none}.course-mobile-nav{display:flex;justify-content:space-between;align-items:center;padding:16px 28px 0;font-size:.82rem}}
@media(max-width:850px){.course-reader{display:block;padding:0 22px}.course-sidebar{display:none}.course-prose{padding-top:22px;font-size:1rem}.course-mobile-nav{display:flex;justify-content:space-between;align-items:center;padding:16px 22px 0;font-size:.82rem}.course-library{padding:30px 22px 60px}.course-library .course-group a,.course-library .course-pending{display:block}.course-library .course-group small{display:block;margin-top:5px}.course-article-head h1{font-size:1.9rem}.course-adjacent{gap:14px}.course-prose .frame{margin-left:0;margin-right:0}}
@media(max-width:850px){.course-home{padding:30px 22px 60px}}
