/* Overseas-stock course series. Loaded only on /courses/ pages; keeps the site's monochrome identity. */
.course-intro{max-width:900px}
.course-stats{display:flex;flex-wrap:wrap;gap:8px 28px;font-size:13px;color:var(--quiet);border-top:1px solid var(--line);padding:16px 0}
.course-part-nav{display:flex;flex-wrap:wrap;gap:8px;padding:20px 0 24px;border-bottom:1px solid #111}
.course-part-nav a{border:1px solid #ddd;padding:8px 14px;font-size:13px;color:#555;min-height:40px;display:inline-flex;align-items:center}
.course-part-nav a:hover{border-color:#111;color:#111}
.course-part{padding:56px 0 8px;scroll-margin-top:24px}
.course-part>h2{font-size:30px;letter-spacing:-.045em;margin:10px 0 26px}
.course-chapter{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px 48px;border-top:1px solid var(--line);padding:22px 0 6px}
.course-chapter h3{font-size:17px;font-weight:500;line-height:1.6;letter-spacing:-.02em}
.course-chapter h3 .index{display:block;margin-bottom:4px}
.course-lessons{list-style:none;margin:0;padding:0}
.course-lessons li{border-bottom:1px solid var(--line)}
.course-lessons li:last-child{border-bottom:0}
.course-lessons a,.course-lessons li.unavailable{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:12px;align-items:baseline;padding:11px 0;font-size:15px;line-height:1.6}
.course-lessons li.unavailable{color:#9a9a9a}
.course-lessons .no{font-size:13px;color:#707070;font-variant-numeric:tabular-nums}
.course-lessons .arrow{color:#9a9a9a;font-size:15px}
.course-lessons a:hover .title{text-decoration:underline;text-underline-offset:5px}
.course-lesson-intro{padding-bottom:40px}
.course-lesson-intro h1{font-size:40px;line-height:1.4}
.course-lesson-intro .lead{font-size:15px}
.course-body{max-width:760px}
.course-body p,.course-body li{color:#333}
.course-body h2{scroll-margin-top:24px}
.course-body h2:not(:first-child){margin-top:52px}
.course-body ul,.course-body ol{padding-left:22px;margin:0 0 28px}
.course-body li{margin:6px 0;line-height:1.9}
.course-body p:has(>img:only-child){margin:36px 0}
.course-body img{width:100%;max-width:560px;height:auto;margin:0 auto;border:1px solid var(--line);background:#fff}
.course-body .table-scroll{margin:28px 0 36px}
.course-body table{min-width:520px;font-size:15px}
.course-body th,.course-body td{padding:14px 16px;word-break:keep-all}
.course-body .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.course-body .center{text-align:center}
.course-download{display:inline-flex;align-items:center;min-height:44px;padding:10px 18px;border:1px solid #111;font-size:14px}
.course-download:hover{background:var(--soft);color:#111}
.course-layout aside nav a{line-height:1.6}
.course-pager{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:20px;align-items:center;border-top:1px solid #111;margin-top:64px;padding:28px 0 80px}
.course-pager a.course-prev,.course-pager a.course-next{display:block;font-size:15px;line-height:1.6}
.course-pager .course-next{text-align:right}
.course-pager small{display:block;font-size:12px;letter-spacing:.08em;color:#707070;margin-bottom:6px}
.course-pager a.course-prev small:before{content:'← '}
.course-pager a.course-next small:after{content:' →'}
.course-pager a:hover span{text-decoration:underline;text-underline-offset:5px}
.course-toc{border:1px solid #111;padding:10px 18px;font-size:13px;white-space:nowrap;min-height:44px;display:inline-flex;align-items:center}
.course-toc:hover{background:var(--soft);color:#111}
@media(max-width:1000px){.course-chapter{grid-template-columns:200px minmax(0,1fr);gap:12px 28px}}
@media(max-width:600px){
 .course-part{padding-top:40px}.course-part>h2{font-size:24px;margin-bottom:18px}
 .course-chapter{display:block;padding:18px 0 4px}.course-chapter h3{font-size:16px;margin-bottom:6px}
 .course-lessons a,.course-lessons li.unavailable{grid-template-columns:40px minmax(0,1fr);font-size:15px;padding:10px 0}
 .course-lessons .arrow{display:none}
 .course-lesson-intro{padding-bottom:24px}.course-lesson-intro h1{font-size:27px;line-height:1.45}
 .course-body h2:not(:first-child){margin-top:40px}
 .course-body p:has(>img:only-child){margin:28px 0}
 /* Narrow tables fit the screen; wider ones keep scrolling sideways inside .table-scroll. */
 .course-body table{min-width:100%;font-size:14px}.course-body th,.course-body td{padding:12px 10px}
 .course-pager{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-top:48px;padding-bottom:56px}
 .course-pager .course-toc{grid-column:1/-1;grid-row:1;justify-self:start}
 .course-pager a.course-prev,.course-pager a.course-next{font-size:14px}
}

/* Keep the utility link aligned with the course navigation. */
.site-header .header-controls > .text-link{border:0;padding:10px 0;font-size:14px;line-height:1.8}

/* Reader revision 20261101 */
html:lang(ko) .course-body{font-size:20px;line-height:1.9;min-width:0;overflow-wrap:anywhere}
html:lang(ko) .course-body p,html:lang(ko) .course-body li{font-size:20px;line-height:1.9;word-break:keep-all;overflow-wrap:anywhere}
html:lang(ko) .course-body h3{font-size:1.12em;line-height:1.55;margin:32px 0 14px;scroll-margin-top:28px}
html:lang(ko) .course-body code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.9em;background:var(--soft,#f5f5f5);padding:.12em .3em;border-radius:3px;overflow-wrap:anywhere}
html:lang(ko) .course-body .table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
html:lang(ko) .course-body table{width:100%;min-width:0;font-size:16px;line-height:1.65}
html:lang(ko) .course-body .table-scroll[data-columns="2"] table{table-layout:fixed;min-width:0}
html:lang(ko) .course-body .table-scroll[data-columns="2"] th,html:lang(ko) .course-body .table-scroll[data-columns="2"] td{width:50%;white-space:normal;overflow-wrap:anywhere;word-break:normal}
html:lang(ko) .course-body .table-scroll[data-wide="true"] table{min-width:36rem;table-layout:auto}
html:lang(ko) .course-body .table-scroll[data-wide="true"] th:first-child,html:lang(ko) .course-body .table-scroll[data-wide="true"] td:first-child{min-width:10rem;word-break:keep-all;overflow-wrap:normal}
html:lang(ko) .course-body .table-scroll[data-wide="true"] .cell-number{white-space:nowrap;font-variant-numeric:tabular-nums}
html:lang(ko) .course-body .table-scroll[data-wide="true"]::before{content:"표가 화면보다 넓으면 좌우로 밀어 보세요 ↔";display:block;position:sticky;left:0;width:fit-content;max-width:100%;font-size:13px;line-height:1.6;color:var(--quiet,#666);padding:0 0 8px}
html:lang(ko) .course-body .figure-zoom{display:block;max-width:100%;cursor:zoom-in;margin:30px 0 12px}
html:lang(ko) .course-body .figure-zoom img{display:block;width:100%;max-width:100%;height:auto}
html:lang(ko) .course-body .figure-original{font-size:16px;text-decoration:underline;text-underline-offset:4px}
html:lang(ko) .course-body .course-download{font-size:16px;line-height:1.6;max-width:100%;white-space:normal}
html:lang(ko) .course-entry-points{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:12px;margin:28px 0}
html:lang(ko) .course-entry-points a{display:block;border:1px solid var(--line);padding:16px;font-size:18px;line-height:1.6;min-height:44px}
html:lang(ko) .course-entry-points a:hover{background:var(--soft,#f5f5f5);border-color:#111}
html:lang(ko) .course-entry-points span{display:block;font-size:14px;line-height:1.65;color:var(--quiet,#666);margin-top:6px}
html:lang(ko) .course-chapter{scroll-margin-top:28px}
@media (max-width:600px){
 html:lang(ko) .course-body,html:lang(ko) .course-body p,html:lang(ko) .course-body li{font-size:19px}
 html:lang(ko) .course-body table{font-size:15px}
 html:lang(ko) .course-body th,html:lang(ko) .course-body td{padding:12px 9px}
 html:lang(ko) .course-entry-points{grid-template-columns:1fr}
}

/* Figure balance 20261101: retain wide charts; size narrow infographics to body text. */
html:lang(ko) .course-body .figure-zoom[data-figure-layout="compact"]{width:360px;max-width:100%;margin:30px auto 24px}

/* Figure redesign 20261101: full article width; typography lives inside the wide vector canvas. */
html:lang(ko) .course-body .figure-zoom[data-figure-layout="wide"]{width:100%;max-width:100%;margin:30px 0 24px}

/* Full course navigation at compact widths. */
@media (max-width:1100px){html:lang(ko) .course-site-header .desktop-nav{display:none}html:lang(ko) .course-site-header .menu-toggle{display:flex}html:lang(ko) .course-site-header .mobile-nav:not([hidden]){display:block}html:lang(ko) .course-site-header .mobile-nav[hidden]{display:none}}
@media (max-width:600px){html:lang(ko) .course-site-header .header-controls>.text-link{display:none}}

/* Centered course text tables 20261102. */
html:lang(ko) .course-body .table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
html:lang(ko) .course-body .table-scroll table{width:100%;min-width:36rem;table-layout:auto!important;font-size:16px;line-height:1.55}
html:lang(ko) .course-body .table-scroll[data-columns="2"] table{min-width:26rem}
html:lang(ko) .course-body .table-scroll[data-columns="4"] table{min-width:44rem}
html:lang(ko) .course-body .table-scroll[data-columns="5"] table,html:lang(ko) .course-body .table-scroll[data-columns="6"] table{min-width:52rem}
html:lang(ko) .course-body .table-scroll table th,html:lang(ko) .course-body .table-scroll table td{width:auto!important;min-width:5rem!important;padding:12px 14px;text-align:center!important;vertical-align:middle;word-break:keep-all!important;overflow-wrap:normal!important;white-space:normal;font-variant-numeric:tabular-nums}
html:lang(ko) .course-body .table-scroll table p,html:lang(ko) .course-body .table-scroll table div{text-align:center!important;line-height:inherit;margin:.2em 0}
html:lang(ko) .course-body .table-scroll table .table-cell-short{white-space:nowrap!important}
@media (max-width:600px){html:lang(ko) .course-body .table-scroll table{font-size:15px}html:lang(ko) .course-body .table-scroll table th,html:lang(ko) .course-body .table-scroll table td{padding:10px 12px}}

/* Avoid unnecessary horizontal scrolling for compact two-column tables. */
html:lang(ko) .course-body .table-scroll[data-columns="2"] table{min-width:0}
