:root{--bg-main:#f8fafc;--bg-surface:#fff;--text-main:#12233b;--text-muted:#52647a;--primary:#126d62;--border-color:#d7e2e7;--primary-light:#e5f5f0;color-scheme:light}
[data-theme=dark]{--bg-main:#0b1525;--bg-surface:#142238;--text-main:#f0f5fc;--text-muted:#b5c6d7;--primary:#6fe0bf;--border-color:#33465e;--primary-light:#1d3a3c;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;background:var(--bg-main);color:var(--text-main);font-family:'Plus Jakarta Sans',system-ui,sans-serif;line-height:1.65}a{color:var(--primary);text-underline-offset:4px;overflow-wrap:anywhere}button,.button{font:inherit;font-weight:650;color:var(--text-main);background:var(--bg-surface);border:1px solid var(--border-color);border-radius:999px;padding:.65rem 1.1rem;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;text-align:center}button:hover,.button:hover{border-color:var(--primary)}button:disabled{opacity:.4;cursor:default}.primary{background:var(--primary);color:var(--bg-surface);border-color:var(--primary)}:focus-visible{outline:3px solid var(--primary);outline-offset:5px}.topbar{max-width:1200px;margin:auto;padding:1.2rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--border-color)}.topbar>a{font-weight:700;text-decoration:none}.actions{display:flex;gap:.65rem;flex-wrap:wrap}.course{max-width:1120px;padding:0 24px;margin:auto}.course-hero{padding:70px 0 50px;max-width:880px}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.78rem;font-weight:800;color:var(--primary)}h1,h2,h3{line-height:1.15;font-family:Outfit,system-ui,sans-serif;letter-spacing:-.025em}h1{font-size:clamp(3rem,8vw,5.5rem);margin:.3em 0}h1 span{color:var(--primary)}h2{font-size:clamp(1.8rem,3vw,2.7rem);margin:.4em 0 .7em}h3{font-size:1.25rem}.lead{font-size:clamp(1.25rem,2.8vw,1.85rem);color:var(--text-muted)}.info{padding:35px 0;border-top:1px solid var(--border-color)}.terms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}.terms article{padding-left:1rem;border-left:3px solid var(--primary)}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left}caption{text-align:left;color:var(--text-muted);margin-bottom:1rem}th,td{padding:.65rem 1rem;border-bottom:1px solid var(--border-color)}thead{background:var(--primary-light)}footer{padding:2rem 1.5rem;text-align:center;color:var(--text-muted);font-size:.88rem}#slides{max-width:1100px;margin:2rem auto;padding:0 20px}.slide{position:relative;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:20px;padding:clamp(24px,5vw,60px);margin-bottom:2rem;box-shadow:0 8px 30px #0c243608;scroll-margin-top:20px}.slide h2{font-size:clamp(2rem,4vw,3.3rem)}.slide p,.slide li{font-size:1.15rem}.slide .eyebrow{font-size:.78rem}.slide li{padding-left:.3rem;margin-bottom:.7rem}.slide ul{padding-left:1.3rem}.slide .slide-number{font-size:.8rem;color:var(--text-muted);text-align:right;margin:1.5rem 0 0}.slide .classroom-code{font-size:clamp(2.5rem,8vw,5rem);color:var(--primary);font-weight:800;letter-spacing:.12em;margin:.3em 0}.presentation-controls{position:fixed;bottom:0;left:0;right:0;min-height:76px;display:flex;gap:1rem;align-items:center;justify-content:center;background:var(--bg-surface);border-top:1px solid var(--border-color);padding:12px;z-index:10}.presentation-controls[hidden],.slide[hidden]{display:none}body.presenting{overflow:hidden}body.presenting .topbar,body.presenting footer{display:none}body.presenting #slides{max-width:none;margin:0;padding:24px;height:calc(100dvh - 82px);display:grid;place-items:center}body.presenting .slide{width:min(1150px,100%);max-height:100%;overflow-y:auto;margin:0;padding:clamp(24px,4vw,55px)}body.presenting .slide p,body.presenting .slide li{font-size:clamp(1.1rem,2.2vw,1.65rem)}body.presenting .slide .eyebrow,body.presenting .slide .slide-number{font-size:.8rem}body.presenting .slide .classroom-code{font-size:clamp(2.5rem,8vw,5rem)}
@media(max-width:700px){.topbar{flex-wrap:wrap;padding:1rem}.course-hero{padding-top:35px}.terms{grid-template-columns:1fr}.slide li,.slide p{font-size:1rem}.presentation-controls{gap:.4rem;padding:10px 5px}.presentation-controls button{font-size:.8rem;padding:.55rem .6rem}body.presenting #slides{padding:10px}.actions{gap:.5rem}}
@media print{.topbar,.presentation-controls,footer{display:none!important}body,body.presenting{overflow:visible;background:white;color:black}#slides,body.presenting #slides{display:block;height:auto;margin:0;padding:0}.slide,.slide[hidden],body.presenting .slide{display:block;break-after:page;box-shadow:none;border:0;max-height:none;overflow:visible;padding:20px}.slide:last-child{break-after:auto}}
