:root{color-scheme:light;--ink:#233c3c;--muted:#536b69;--teal:#18675e;--paper:#f6f5ef;--line:#cedbd5;--good:#e9f5ed;--review:#ce2029}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Segoe UI,Arial,sans-serif;font-size:17px;line-height:1.55}a{color:var(--teal)}.site-header{padding:18px max(24px,calc((100% - 1080px)/2));background:#e5ece7;display:flex;justify-content:space-between;gap:20px;font-size:14px;letter-spacing:.03em}.site-header a{text-decoration:none}main{max-width:1128px;margin:auto;padding:34px 24px 48px}.intro{max-width:850px;margin-bottom:26px}h1,h2,h3,p{margin-top:0}h1{font-family:Georgia,serif;font-size:clamp(30px,4vw,44px);font-weight:400;line-height:1.13;margin-bottom:16px}h2{font-size:23px;line-height:1.3}h3{font-size:18px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:12px;color:var(--teal);margin-bottom:12px}.intro p:last-child{margin-bottom:0}.card,.guide{background:#fff;border-radius:12px;padding:22px;margin-bottom:18px}.guide{background:#eaf0eb}.guide summary{cursor:pointer;font-weight:600}.roles{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin:18px 0}.roles dt{font-weight:600;font-size:16px;margin-bottom:5px}.roles dd{margin:0;font-size:15px}.guide p{font-size:14px;margin-bottom:0}.student{display:grid;grid-template-columns:1fr .7fr 1.4fr;gap:20px;align-items:start}label{display:block;font-size:15px}input,textarea{font:inherit;color:var(--ink);background:#fff;border:1px solid #93aaa2;border-radius:6px;padding:10px;width:100%;margin-top:5px}textarea{resize:vertical}.save-note{font-size:13px;color:var(--muted)}.save-note p{margin:0 0 4px}.tools{display:flex;gap:10px;flex-wrap:wrap;margin:15px 0}button,.button{font:inherit;font-size:15px;color:var(--teal);background:#fff;border:1px solid #92aba1;border-radius:7px;padding:10px 15px;cursor:pointer;text-decoration:none;display:inline-block;line-height:1.35;min-height:44px}button:hover,.button:hover{background:#e4eee8}.primary{background:var(--teal);color:white;border-color:var(--teal)}.primary:hover{background:#104c45}.quiet{background:transparent;border-color:transparent;color:var(--muted)}button:disabled{opacity:.45;cursor:default}input:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #b6752e;outline-offset:3px}.progress-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:28px 0 14px;font-size:14px}progress{accent-color:var(--teal);width:35%;height:12px}.exercise-nav{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:24px}.exercise-nav button{padding:6px;min-width:39px;min-height:39px;position:relative}.exercise-nav button[aria-current=step]{background:var(--teal);color:white}.exercise-nav button.complete::after{content:'•';position:absolute;top:-7px;right:3px;font-size:18px;color:var(--teal)}.exercise-nav button[aria-current=step].complete::after{color:#fff;top:-3px}.exercise-heading{display:flex;justify-content:space-between;gap:16px;align-items:baseline}.exercise-heading h2{margin-bottom:12px}.exercise-heading p{font-size:14px;color:var(--muted)}.thesis{background:#e5ece7;border-radius:8px;padding:16px 20px;margin-bottom:18px;font-family:Georgia,serif;font-size:21px;line-height:1.5}.thesis .eyebrow{display:block;font-family:Segoe UI,Arial,sans-serif;margin-bottom:5px;font-size:11px}.sentences{display:grid;grid-template-columns:1fr 1fr;gap:16px}.sentence{background:white;border-radius:10px;padding:20px;min-width:0}.statement{font-family:Georgia,serif;font-size:19px;line-height:1.5;margin-bottom:14px}.letter{font-family:Segoe UI,Arial,sans-serif;font-size:13px;color:var(--muted);display:block;margin-bottom:6px}.choices{border:0;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}.choices legend{font-size:13px;margin-bottom:8px;color:var(--muted)}.choice{display:flex;align-items:center;gap:7px;cursor:pointer;padding:9px;border:1px solid var(--line);border-radius:6px;font-size:14px;min-height:43px;line-height:1.25}.choice:has(input:checked){border-color:var(--teal);background:#e8f2ec}.choice input{width:16px;height:16px;flex:0 0 16px;margin:0;accent-color:var(--teal)}.feedback{margin:12px 0 0;font-size:15px;padding:13px;border-radius:7px;overflow-wrap:anywhere;background:var(--review);color:#fff}.feedback.correct{background:var(--good);color:var(--ink)}.feedback h3{font-size:15px;margin:0 0 5px}.feedback p{margin:0}.feedback[hidden]{display:none}.step-nav{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:20px 0 30px;font-size:14px}.finish p{font-size:15px}.finish p:last-child{margin:12px 0 0}footer{font-size:13px;color:var(--muted);margin-top:30px;max-width:800px}.notice{padding:14px;background:#fff4df;border-radius:8px;font-size:15px}.course{max-width:650px;padding:28px}.course h2{font-family:Georgia,serif;font-size:28px;font-weight:400}.skip{position:absolute;left:10px;top:-60px;background:#fff;padding:10px;z-index:10}.skip:focus{top:8px}dialog{max-width:520px;width:calc(100% - 40px);border:1px solid var(--line);border-radius:12px;padding:26px;color:var(--ink)}dialog::backdrop{background:#233c3c80}#exercise:focus{outline:none}
@media(max-width:760px){.roles{grid-template-columns:1fr 1fr}.student{grid-template-columns:1fr 1fr}.save-note{grid-column:1/-1}.sentences{grid-template-columns:1fr}.site-header{font-size:12px;padding:15px 18px}.intro br{display:none}main{padding:24px 16px}.card,.guide{padding:18px}.exercise-heading{display:block}.progress-row{align-items:flex-start}.progress-row progress{margin-top:6px}.step-nav{flex-wrap:wrap}.tools button{flex:1 1 auto}}
@media(max-width:420px){.roles{grid-template-columns:1fr;gap:14px}.student{grid-template-columns:1fr}.site-header span:last-child{display:none}.sentence{padding:16px}.thesis{font-size:19px}.step-nav span{display:none}}

/* Collapsible student instructions. */
.work-guide h2{font-size:20px;margin-bottom:10px}.instruction-section{padding:10px 0}.instruction-section summary{cursor:pointer;font-size:16px;font-weight:600}.instruction-section ol{padding-left:24px}.instruction-section li{margin-bottom:8px}.instruction-section p,.instruction-section li{font-size:15px}.instruction-section p:last-child{margin-bottom:0}
