
:root{--ink:#1f2622;--paper:#f4f0e7;--card:#fffdf8;--green:#173f35;--green2:#245a4b;--gold:#ad7b25;--rust:#8d3f2d;--muted:#686a65;--line:#d9d1c2;--shadow:0 14px 36px rgba(24,34,29,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:var(--green);text-underline-offset:3px}a:hover{color:var(--rust)}img{max-width:100%}.protected{padding-top:0}.watermark{position:fixed;right:10px;bottom:8px;z-index:30;font-size:10px;letter-spacing:.14em;color:rgba(31,38,34,.24);pointer-events:none}.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 5vw;background:rgba(244,240,231,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.brand{font-family:Georgia,serif;font-weight:800;font-size:1.1rem;text-decoration:none}.brand span{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--green);color:white;margin-right:8px}.site-header nav{display:flex;flex-wrap:wrap;gap:8px}.site-header nav a{text-decoration:none;font-weight:750;padding:7px 10px;border-radius:999px}.site-header nav a:hover{background:#fff}.hero,.course-hero{max-width:1180px;margin:0 auto;padding:72px 28px 44px;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,.7fr);gap:48px;align-items:end}.eyebrow{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:900;color:var(--gold)}h1,h2,h3{font-family:Georgia,serif;line-height:1.08}h1{font-size:clamp(3.2rem,8vw,6.5rem);letter-spacing:-.05em;margin:.18em 0}h2{font-size:clamp(2rem,4vw,3.3rem);letter-spacing:-.025em}h3{font-size:1.38rem}.lede{font-size:1.15rem;color:var(--muted);max-width:760px}.question-card{background:var(--green);color:#fff;border-radius:26px;padding:28px;box-shadow:var(--shadow)}.question-card .big{font-family:Georgia,serif;font-size:4.6rem;line-height:.75;color:#d6b56a}.button,.pill{display:inline-block;text-decoration:none;font-weight:850;border-radius:999px}.button{background:var(--green);color:#fff;padding:11px 17px}.button:hover{background:var(--green2);color:#fff}.button.secondary{background:#fff;color:var(--green);border:1px solid var(--line)}.actions,.jump{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.jump a{background:#fff;border:1px solid var(--line);padding:8px 12px;border-radius:999px;text-decoration:none;font-weight:750}.section,.course-home,.lesson-body{max-width:1180px;margin:0 auto;padding:40px 28px}.section+.section{border-top:1px solid var(--line)}.course-grid,.unit-grid,.source-grid,.media-grid,.wtf-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.course-card,.unit-card,.source-card,.media-card,.wtf-card,.note-card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:var(--shadow)}.course-card,.unit-card{display:block;text-decoration:none;color:var(--ink)}.course-card:hover,.unit-card:hover{transform:translateY(-2px);border-color:#b8aa93}.course-card p,.unit-card p,.source-card p,.media-card p{color:var(--muted)}.unit-card .num{font-weight:950;color:var(--gold);font-size:.72rem;letter-spacing:.1em}.source-card{position:relative;overflow:hidden}.source-card .kind{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--rust);font-weight:900}.source-card .domain{font-size:.76rem;color:var(--muted);word-break:break-word}.source-card a.stretch{display:inline-block;margin-top:8px;font-weight:850}.source-image{width:100%;height:245px;object-fit:contain;background:#e8e2d6;border:1px solid var(--line);border-radius:16px}.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.figure-card{margin:0;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden}.figure-card img{display:block;width:100%;height:340px;object-fit:contain;background:#e8e2d6}.figure-card figcaption{padding:18px}.fourw{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.fourw div{border-top:1px solid var(--line);padding-top:6px;font-size:.88rem}.fourw b{color:var(--green)}.source-note{background:#fff5dc;border:1px solid #ddc27b;border-radius:16px;padding:16px}.coursework{background:#edf0e8;border-left:5px solid var(--green);border-radius:0 16px 16px 0;padding:18px}.coursework li{margin:.45rem 0}.source-type-row{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.source-type-row span{font-size:.76rem;font-weight:850;background:#fff;padding:7px 10px;border:1px solid var(--line);border-radius:999px}.lesson-body{max-width:1000px}.lesson-body h1{font-size:clamp(3rem,7vw,5.5rem)}.lesson-panel{padding:34px 0;border-top:1px solid var(--line)}.key-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.key-item{background:#fff;border:1px solid var(--line);border-radius:15px;padding:15px}.meta-line{font-size:.84rem;color:var(--muted)}.legacy-note{max-width:850px;margin:70px auto;padding:36px;background:#fff;border:1px solid var(--line);border-radius:24px;text-align:center}footer{margin-top:60px;padding:35px 5vw;background:#172a24;color:#f2efe8;display:flex;justify-content:space-between;gap:25px}footer p{color:#c9d0cc}.audit-badge{display:inline-block;background:#e8efe9;color:var(--green);font-size:.72rem;font-weight:900;padding:6px 9px;border-radius:999px}.mini-list{padding-left:20px}.mini-list li{margin:.35rem 0}.search-note{font-size:.9rem;color:var(--muted)}
@media(max-width:900px){.hero,.course-hero{grid-template-columns:1fr}.course-grid,.unit-grid,.source-grid,.media-grid,.wtf-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.site-header{align-items:flex-start}.site-header nav{justify-content:flex-end}.course-grid,.unit-grid,.source-grid,.media-grid,.wtf-grid,.gallery,.key-grid{grid-template-columns:1fr}.hero,.course-hero,.section,.course-home,.lesson-body{padding-left:18px;padding-right:18px}.figure-card img{height:auto}footer{display:block}}

/* Semester archive expansion */
.semester-kicker{font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:800}
.week-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin:1.2rem 0 2rem}.week-card{display:block;padding:1.1rem;border:1px solid var(--line);border-radius:16px;background:var(--panel);text-decoration:none;color:inherit;transition:.16s ease}.week-card:hover{transform:translateY(-2px);border-color:var(--accent)}.week-no{font-size:.78rem;text-transform:uppercase;letter-spacing:.11em;color:var(--muted);font-weight:800}.week-card h3{margin:.35rem 0 .35rem}.week-card p{margin:0;color:var(--muted)}
.lesson-shell{max-width:1120px;margin:0 auto;padding:1.5rem}.lesson-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:1.4rem;align-items:start}.lesson-hero h1{font-size:clamp(2rem,5vw,4.2rem);line-height:1;margin:.35rem 0 1rem}.lesson-deck{font-size:1.12rem;line-height:1.65;color:var(--muted)}.evidence-grid,.lesson-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.evidence-card,.lesson-panel{border:1px solid var(--line);border-radius:16px;background:var(--panel);padding:1rem}.evidence-card h3,.lesson-panel h2{margin-top:0}.source-image{position:relative;min-height:280px;border-radius:16px;overflow:hidden;background:linear-gradient(135deg,var(--panel),var(--panel2));border:1px solid var(--line);display:flex;align-items:center;justify-content:center}.source-image img{width:100%;height:360px;object-fit:contain;background:#111}.source-image .loading-label{position:absolute;inset:auto 1rem 1rem 1rem;padding:.6rem .8rem;border-radius:10px;background:rgba(0,0,0,.68);color:white;font-size:.82rem}.source-image.loaded .loading-label{display:none}.source-image.image-failed .loading-label::after{content:' — open the repository record below if the preview is unavailable.'}.source-caption{font-size:.9rem;line-height:1.5;color:var(--muted);margin:.7rem 0}.source-record-link{font-weight:800}.source-live-meta{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}.assignment-list{padding-left:1.2rem}.assignment-list li{margin:.45rem 0}.question-box{border-left:4px solid var(--accent);padding:.9rem 1rem;background:var(--panel);margin:1rem 0;border-radius:0 12px 12px 0}.source-chip{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:.32rem .62rem;margin:.15rem .25rem .15rem 0;font-size:.78rem;background:var(--panel2)}.course-navline{display:flex;gap:.55rem;flex-wrap:wrap;margin:1rem 0 1.5rem}.course-navline a{border:1px solid var(--line);border-radius:999px;padding:.45rem .75rem;text-decoration:none}.archive-note{font-size:.9rem;color:var(--muted);padding:.85rem 1rem;border:1px dashed var(--line);border-radius:12px}.repo-badge{font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}
@media(max-width:780px){.lesson-hero{grid-template-columns:1fr}.source-image img{height:300px}}
