/* English course: scoped layout, no changes to the paper or game layouts. */
.course-page { --course-ink:#172f43; --course-muted:#536a78; --course-line:#d7e3e7; --course-paper:#fff; --course-soft:#f1f7f5; --course-accent:#176d60; --course-focus:#9b6207; background:#f5f8f7; color:var(--course-ink); margin:0; }
.dark .course-page { --course-ink:#e7f2f3; --course-muted:#adbfca; --course-line:#34525c; --course-paper:#172c36; --course-soft:#203d43; --course-accent:#8fe1c5; --course-focus:#f5bf53; background:#101f28; }
.course-main { width:min(1120px, calc(100% - 40px)); margin:48px auto 80px; }
.course-page a { color:var(--course-accent); text-underline-offset:3px; }
.course-page a:hover { text-decoration:underline; }
/* Shared search marks need their own ink rather than dark-mode inherited text. */
.course-page .site-search-hit mark { color:#172f43; background:#fde68a; }
.course-page a:focus-visible,.course-page button:focus-visible,.course-page select:focus-visible,.course-page input:focus-visible,.course-page summary:focus-visible { outline:3px solid var(--course-focus); outline-offset:4px; }
.course-page #site-header a,.course-page #site-footer a { color:inherit; }
.course-skip { position:fixed;left:12px;top:-70px;z-index:100;background:var(--course-paper);padding:12px; }
.course-skip:focus { top:12px; }
.course-eyebrow { font:700 .75rem/1.4 system-ui;letter-spacing:.12em;text-transform:uppercase;color:var(--course-accent);margin:0 0 16px; }
.course-hero { border-bottom:1px solid var(--course-line);padding:0 0 32px;margin-bottom:32px; }
.course-hero h1 { font-size:clamp(2.1rem,5vw,3.8rem);line-height:1.2;letter-spacing:-.035em;margin:0 0 20px;max-width:900px; }
.course-lead { font-size:1.1rem;line-height:1.9;max-width:780px;color:var(--course-muted); }
.course-links { display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:22px; }
.course-statline { display:flex;flex-wrap:wrap;gap:12px 24px;padding:18px 0;color:var(--course-muted);font-size:.9rem; }
.course-statline strong { color:var(--course-ink);font-size:1.4rem;margin-right:4px; }
.course-callout { background:var(--course-soft);border-left:3px solid var(--course-accent);padding:18px 22px;border-radius:0 10px 10px 0;margin:24px 0; }
.course-callout p { margin:0; }
.course-stages { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:28px 0; }
.course-stage { background:var(--course-paper);border:1px solid var(--course-line);border-radius:14px;padding:22px;display:block; }
.course-stage strong { display:block;font-size:1.25rem;margin:8px 0; }
.course-stage span { color:var(--course-muted);font-size:.9rem; }
.course-filter { display:grid;grid-template-columns:minmax(180px,1fr) 170px 170px auto;gap:12px;align-items:end;background:var(--course-paper);border:1px solid var(--course-line);padding:20px;border-radius:14px;margin:30px 0 16px; }
.course-filter label { display:grid;gap:6px;font-size:.85rem;font-weight:600; }
.course-filter input,.course-filter select,.course-filter button { box-sizing:border-box;max-width:100%;min-width:0;font:inherit;font-weight:400;border:1px solid var(--course-line);border-radius:7px;background:var(--course-paper);color:var(--course-ink);padding:10px 12px;min-height:44px; }
.course-filter button { cursor:pointer; }
.course-result-count { color:var(--course-muted);font-size:.9rem;min-height:1.5em; }
.course-group { margin-top:36px; }
.course-group > h2 { font-size:1.7rem;border-bottom:1px solid var(--course-line);padding-bottom:12px; }
.course-semester { margin:24px 0; }
.course-semester h3 { font-size:1rem;color:var(--course-muted);font-weight:600; }
.course-lessons { list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }
.course-lesson-card { background:var(--course-paper);border:1px solid var(--course-line);border-radius:12px;padding:20px;min-width:0; }
.course-lesson-card h4 { font-size:1.1rem;line-height:1.6;margin:0 0 8px; }
.course-lesson-card p { margin:0;color:var(--course-muted);font-size:.9rem; }
.course-tags { display:flex;flex-wrap:wrap;gap:5px;margin-top:12px; }
.course-tag { border:1px solid var(--course-line);color:var(--course-muted);border-radius:20px;font-size:.73rem;padding:2px 8px; }
.course-lesson-layout { display:grid;grid-template-columns:210px minmax(0,1fr);gap:42px;align-items:start; }
.course-toc { position:sticky;top:90px;font-size:.85rem;line-height:1.7;max-height:calc(100vh - 110px);overflow:auto; }
.course-toc ol { padding-left:20px; }
.course-toc li { margin:8px 0; }
.course-article { background:var(--course-paper);padding:clamp(22px,4vw,44px);border:1px solid var(--course-line);border-radius:16px;min-width:0;font-size:1rem;line-height:1.95;overflow-wrap:anywhere; }
.course-article h2 { font-size:1.6rem;margin:42px 0 18px;padding-top:10px;line-height:1.45; }
.course-article h3 { font-size:1.2rem;margin:26px 0 12px;line-height:1.5; }
.course-article h4 { font-size:1.05rem;margin:18px 0 8px; }
.course-article p { margin:14px 0; }
.course-article ul,.course-article ol { padding-left:24px;list-style:revert; }
.course-article li { margin:6px 0; }
.course-article code { font-size:.9em;background:var(--course-soft);padding:2px 4px;border-radius:3px; }
.course-article blockquote { margin:20px 0;padding:5px 20px;border-left:3px solid var(--course-line);background:var(--course-soft); }
.course-table { overflow-x:auto;max-width:100%;margin:18px 0;border:1px solid var(--course-line);border-radius:8px; }
.course-page table { width:100%;border-collapse:collapse;font-size:.9rem; }
.course-page th,.course-page td { text-align:left;vertical-align:top;padding:12px 14px;border-bottom:1px solid var(--course-line);min-width:100px; }
.course-page th { background:var(--course-soft);font-weight:650; }
.course-page tr:last-child td { border-bottom:0; }
.course-page [id] { scroll-margin-top:90px; }
.course-answers { margin:28px 0;background:var(--course-soft);border:1px solid var(--course-line);border-radius:12px;padding:16px 20px; }
.course-answers summary { cursor:pointer;font-weight:700;min-height:32px; }
.course-answers h2 { margin-top:14px; }
.course-pager { display:flex;justify-content:space-between;gap:20px;margin:24px 0; }
.course-pager a { max-width:46%;padding:14px 0; }
.course-small { font-size:.85rem;color:var(--course-muted); }
.course-source-list li { padding:10px 0; }
.course-empty { padding:40px;text-align:center;border:1px dashed var(--course-line);border-radius:12px; }
.course-page [hidden] { display:none !important; }
@media (max-width:850px) { .course-stages{grid-template-columns:repeat(2,minmax(0,1fr));}.course-filter{grid-template-columns:1fr 1fr;}.course-filter label:first-child{grid-column:1/-1;}.course-lesson-layout{grid-template-columns:1fr;gap:20px;}.course-toc{position:static;max-height:none;border-bottom:1px solid var(--course-line);padding-bottom:16px;}.course-toc ol{display:flex;gap:8px 22px;flex-wrap:wrap;}.course-toc li{margin:0;} }
@media (max-width:520px) { .course-main{width:calc(100% - 28px);margin-top:28px;}.course-stages{gap:8px;}.course-stage{padding:15px;}.course-lessons{grid-template-columns:1fr;}.course-article{padding:20px 16px;}.course-filter{padding:15px;gap:10px;}.course-filter button{grid-column:1/-1;}.course-pager{font-size:.9rem;}.course-page th,.course-page td{padding:9px;}.course-callout{padding:16px;}.course-hero h1{font-size:2.2rem;} }
@media print { .course-page{background:white!important;color:black!important;}#site-header,#site-footer,.course-skip,.course-toc,.course-pager,.course-filter,.course-stage{display:none!important;}.course-main{width:100%;margin:0;}.course-lesson-layout{display:block;}.course-article{border:0;padding:0;background:white;}.course-hero{padding-bottom:15px;}.course-hero h1{font-size:24pt;}.course-page a{color:black;text-decoration:none;}.course-answers{background:white;break-inside:auto;}.course-answers::details-content{display:block!important;content-visibility:visible!important;}.course-page h2,.course-page h3{break-after:avoid;}.course-page tr{break-inside:avoid;}.course-table{overflow:visible;}.course-article{font-size:10.5pt;line-height:1.7;} }
#course-directory > h2 {font-size:1.8rem;line-height:1.4;margin:40px 0 16px;}
.course-alignment {max-width:780px;margin-top:14px;}
.course-alignment summary {cursor:pointer;}
.course-alignment p {margin:10px 0;line-height:1.8;}
.course-legend {margin-top:28px;padding:24px;}
.course-legend h2 {margin-top:0;}
.course-reference-list {padding-left:18px;list-style:disc;}
.course-reference-list li {margin:7px 0;}
.course-cross {display:block;color:var(--course-muted);font-size:.8rem;line-height:1.6;margin-top:4px;}
.course-alignment-status {display:block;font-size:.85rem;line-height:1.7;}
.course-alignment-status[data-alignment-status="topic_gap"] {border-left:3px solid #b55d30;padding-left:10px;}
.course-callout p + p {margin-top:12px;}
