:root{--paper:#faf7f0;--ink:#18241f;--line:#c9c2b5;--blue:#173f5b;--gold:#98733c;--soft:#fffefa;--good:#126140;--bad:#9a352b}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:400 15px/1.7 "Brandon Grotesque","Avenir Next","Segoe UI",Arial,sans-serif}
a{color:var(--blue)}.shell{max-width:1080px;margin:auto;padding:20px}.heading{text-align:center;padding:20px 10px}.eyebrow{font:400 clamp(13px,2vw,17px)/1.4 Georgia,serif;color:var(--gold);letter-spacing:.09em;text-transform:uppercase}.heading h1{font:400 clamp(27px,4.5vw,36px)/1.25 Cinzel,Georgia,serif;margin:12px 0;overflow-wrap:normal;word-break:normal}.heading p{max-width:760px;margin:8px auto}.crumbs,.day-nav,.actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;padding:10px}.crumbs a,.day-nav a,.btn{border:1px solid var(--line);border-radius:7px;background:var(--soft);padding:8px 11px;text-decoration:none;min-height:40px;color:var(--ink)}button,.btn,input,textarea{font:inherit}.btn{cursor:pointer}.btn:hover,.crumbs a:hover,.day-nav a:hover{background:#edf2ee}.btn:focus-visible,a:focus-visible,textarea:focus-visible{outline:3px solid #3177a3;outline-offset:2px}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.panel{border:1px solid var(--line);border-radius:7px;padding:20px;background:var(--soft);min-width:0}.full{grid-column:1/-1}.panel h2{font:400 24px/1.35 Cinzel,Georgia,serif;text-align:center;margin:0 0 15px}.panel h3{font:400 19px/1.4 Georgia,serif}.panel p{margin:10px 0}.panel ul{padding-left:20px}.notice{border-left:4px solid var(--gold);padding:12px 16px;background:#fff4dc}.paper{border:1px solid var(--line);border-radius:7px;background:#f6f3ec;padding:12px}.example{background:#eef3f1;border-left:4px solid var(--good);padding:14px 16px;border-radius:7px} .lesson-copy p{text-align:left;max-width:75ch}.lesson-copy h3{margin-top:24px}
label{display:block;margin:10px 0 5px}.answer{display:block;width:100%;min-height:120px;resize:vertical;padding:12px;border:1px solid var(--line);border-radius:7px;background:white;color:#18241f} .inline-status{color:#48554f;font-size:.9em}.question{margin:12px 0;padding:15px;border:1px solid var(--line);border-radius:7px}.question legend{font-weight:600}.question label{display:flex;align-items:baseline;gap:9px;border:1px solid #ddd4c7;border-radius:7px;padding:9px}.question input{flex:none}.feedback{margin:10px 0;white-space:pre-wrap}.correct{color:var(--good)}.incorrect{color:var(--bad)}.data{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}.data th,.data td{text-align:center;padding:10px 6px;border:1px solid var(--line)}.scroll{overflow-x:auto}.keyterms{columns:2;column-gap:24px}.keyterms dt{font-weight:600}.keyterms dd{margin:0 0 12px} .lab-links{text-align:center}.lab-links a{display:inline-block;margin:6px}
@media(max-width:700px){.grid{grid-template-columns:1fr}.keyterms{columns:1}.panel{padding:14px}.heading{padding:14px 0}.shell{padding:10px}.panel h2{font-size:22px}}@media(max-width:290px){.crumbs a,.day-nav a,.btn{width:100%;text-align:center;justify-content:center}body{font-size:14px}}@media print{.crumbs,.day-nav,.actions,.no-print{display:none!important}.shell{padding:0}.panel{break-inside:avoid;background:white}.answer{min-height:65px}}