:root{--ink:#17211b;--paper:#f6f5ef;--acid:#b58a45;--forest:#163c2a;--muted:#56635b;--line:#c8d0c9;--white:#fff}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.62 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:var(--white);padding:.7rem;z-index:2}a:focus-visible{outline:3px solid #0b57d0;outline-offset:3px}.course-header{display:flex;justify-content:space-between;align-items:center;padding:1rem max(5vw,1rem);background:var(--forest);color:var(--white)}.eyebrow,.brand,.status{font-size:.74rem;letter-spacing:.14em;font-weight:800}.lesson{width:min(900px,calc(100% - 2rem));margin:3rem auto 5rem}.status{color:var(--forest);text-transform:uppercase}h1{font-size:clamp(2.3rem,7vw,4.8rem);line-height:.98;letter-spacing:-.05em;margin:.25em 0}.lede{font-size:1.3rem;max-width:58ch;color:var(--muted)}h2{font-size:1.7rem;line-height:1.2;margin-top:2.5rem}h3{font-size:1.15rem;margin-top:1.8rem}.decision,.case,.practice,.boundary,.annotation{padding:1.25rem 1.4rem;margin:1.7rem 0;border-left:6px solid var(--acid);background:var(--white)}.decision{background:#ece7da;border:1px solid #d7c9ae;border-left:6px solid var(--acid)}.contrast{border-color:#df6b52}.label{font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:.72rem}.stack{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;margin:1.5rem 0}.stack div{padding:1rem;background:var(--white);border:1px solid var(--line)}table{border-collapse:collapse;width:100%;font-size:.95rem}th,td{border:1px solid var(--line);padding:.7rem;text-align:left;vertical-align:top}th{background:var(--forest);color:var(--white)}figure{margin:2rem 0}figure img{display:block;width:100%;height:auto;border:1px solid var(--line);background:var(--white)}figcaption{font-size:.9rem;color:var(--muted);margin-top:.5rem}.criteria li{margin:.6rem 0}.button{display:inline-block;padding:.75rem 1rem;border:1px solid var(--forest);border-radius:5px;background:var(--forest);color:var(--white);font-weight:750;text-decoration:none}.button.secondary{background:var(--white);color:var(--forest)}.resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.5rem 0}.resource-card{min-width:0;padding:1.25rem;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.92);box-shadow:0 14px 32px rgba(22,60,42,.07)}.resource-card h3{margin:.3rem 0}.resource-card p{font-size:.94rem}.guide-page{background:var(--white);border-top:8px solid var(--forest);padding:2rem;margin:2rem 0;min-height:70vh}.guide-page h2{margin-top:.5rem}.rubric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.rubric-card{background:var(--white);border:1px solid var(--line);border-top:8px solid var(--acid);padding:1.25rem}.rubric-card h2{margin-top:.25rem}a:focus-visible,.button:focus-visible{outline:3px solid #0b57d0;outline-offset:3px}footer{padding:2rem max(5vw,1rem);background:#e8ebe5;color:var(--muted);font-size:.82rem}@media(max-width:680px){body{font-size:16px}.course-header{align-items:flex-start;gap:1rem}.stack,.rubric-grid,.resource-grid{grid-template-columns:1fr}table,.responsive-table tbody,.responsive-table tr,.responsive-table td{display:block}.responsive-table thead{position:absolute;left:-9999px}.responsive-table tr{border:1px solid var(--line);margin:.8rem 0;background:var(--white)}.responsive-table td{border:0;border-bottom:1px solid var(--line)}.responsive-table td:before{content:attr(data-label);display:block;font-weight:800;color:var(--forest)}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}@media print{@page{size:A4;margin:15mm}.course-header{background:#fff;color:#000;border-bottom:2px solid #000}.lesson{width:100%;margin:0}.guide-page{break-after:page;min-height:auto;border:0;padding:0}.guide-page:last-child{break-after:auto}.rubric-card,.resource-card{break-inside:avoid}.button{border:1px solid #000;color:#000;background:#fff}footer{background:#fff;border-top:1px solid #000}}