:root{--navy:#011f5b;--red:#990000;--cream:#faf8f3;--ink:#243044;--muted:#626b78;--line:#dddeda;--gold:#b8960c}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:15px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}header{background:var(--navy);color:white;padding:22px max(30px,calc((100vw - 1240px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;gap:15px;align-items:center;color:white;text-decoration:none;font-size:15px;letter-spacing:.1em;font-weight:650}.brand img{height:49px;width:auto}.brand small{display:block;font-size:12px;font-weight:400;letter-spacing:.02em;color:#d0d9ed}.pilot{font-size:10px;letter-spacing:.13em;border:1px solid #ffffff4d;padding:5px 11px;border-radius:3px}main{max-width:1240px;margin:auto;padding:0 30px}.intro{display:grid;grid-template-columns:1fr 235px;gap:80px;padding:55px 0 44px;align-items:center}.eyebrow{font-size:10px;font-weight:750;letter-spacing:.16em;color:var(--red);margin:0 0 12px}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;color:var(--navy);font-weight:400}h1{font-size:56px;line-height:1.1;letter-spacing:-.035em;margin:0 0 20px}.lead{font-size:18px;line-height:1.6;max-width:660px;margin:0;color:#505b6b}aside{border-left:1px solid var(--line);padding-left:30px;display:flex;flex-direction:column;font-size:12px;color:var(--muted)}.aside-number{font:42px/1.1 Georgia,serif;color:var(--navy)}aside hr{border:0;border-top:1px solid var(--line);margin:15px 0 0;width:100%}aside p{margin:12px 0 0}.workspace{display:grid;grid-template-columns:1fr 1.04fr;gap:24px;align-items:start}.input-panel,.output-panel{background:white;border:1px solid var(--line);border-radius:8px;padding:28px;box-shadow:0 3px 15px #011f5b03}.output-panel{position:sticky;top:20px}.section-title{display:flex;gap:12px;align-items:center}.step{font-size:11px;font-weight:700;color:var(--red);border:1px solid #e7d2d0;border-radius:50%;width:29px;height:29px;display:grid;place-items:center}h2{font-size:26px;line-height:1.3;margin:0}.muted{color:var(--muted);font-size:13px}.samples{display:flex;flex-wrap:wrap;gap:7px;margin:17px 0 23px}button,input,textarea,select{font:inherit}button{cursor:pointer;border:1px solid #cdd4df;background:white;color:var(--navy);border-radius:5px;padding:8px 12px;font-size:12px;font-weight:600}button:hover{background:#edf2f9}button:disabled{opacity:.6;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:3px}label{display:block;font-size:12px;font-weight:650;color:#34415a;margin:17px 0 7px}.optional,.required{float:right;font-size:10px;font-weight:400;color:var(--muted)}input:not([type=file]),textarea,select{width:100%;border:1px solid #cfd5de;border-radius:5px;background:white;padding:10px 12px;color:var(--ink);font-size:13px;line-height:1.55}textarea{resize:vertical}input:focus,textarea:focus,select:focus{outline:2px solid #b3c4e3;outline-offset:1px}.upload{margin:20px 0 10px;padding:12px 18px;border:1px dashed #b8c4d8;background:#f7f9fc;border-radius:6px}.upload-label{display:grid;grid-template-columns:28px 1fr;align-items:center;margin:0;cursor:pointer}.upload-icon{grid-row:span 2;font-size:24px;font-weight:400}.upload-label span:last-child{font-size:10px;font-weight:400;color:var(--muted)}input[type=file]{font-size:11px;max-width:100%;margin-top:10px}.upload p:empty{display:none}.under{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:10px;margin-top:5px}.notice{font-size:11px;color:#655e4b;background:#faf6e9;border-left:2px solid var(--gold);padding:10px 12px;margin:15px 0 20px}.controls{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:10px}.primary{display:flex;justify-content:space-between;align-items:center;background:var(--navy);color:white;border:none;width:100%;padding:14px 17px;font-size:13px;margin-top:25px}.primary:hover{background:#163b78}.primary span{font-size:19px}.generation-note{font-size:10px;margin-bottom:0}.status{font-size:12px;color:var(--navy);margin-bottom:0}.status.error{color:var(--red)}#empty{min-height:590px;padding:55px 16px 15px}.empty-mark{font:40px Georgia;color:var(--gold);border:1px solid #e4dfcc;background:#fcfaf3;border-radius:9px;width:65px;height:65px;text-align:center}#empty h3{font-size:29px;line-height:1.25;margin:27px 0 17px}#empty p,#empty li{color:var(--muted);font-size:13px}#empty ul{padding-left:18px;margin:24px 0}#empty li{margin:12px 0}.empty-foot{border-top:1px solid var(--line);padding-top:20px;margin-top:40px;font-size:11px;color:var(--muted)}.result-note{font-size:11px;color:var(--muted);padding:15px 0}.option-tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);padding-bottom:12px}.option-tabs .active{background:var(--navy);color:white}#exercise h3{font-size:28px;line-height:1.25;margin:22px 0 8px}.technique{font-size:10px;letter-spacing:.07em;color:var(--red);text-transform:uppercase}.actions{display:flex;flex-wrap:wrap;gap:7px;margin:17px 0}.exercise-section{margin:22px 0}.exercise-section h4{font-size:11px;color:var(--navy);letter-spacing:.07em;text-transform:uppercase;margin:0 0 8px}.editable{white-space:pre-wrap;font-size:13px;line-height:1.7;border:1px solid transparent;border-radius:4px;padding:6px;margin:-6px}.editable:hover{border-color:#d7dde7}.editable:focus{outline:2px solid #b3c4e3}.argument{padding:14px;background:#f5f7fb;border-left:2px solid #b7c6df;margin:10px 0}.argument strong{display:block;font-size:10px;color:var(--navy);margin-bottom:6px}.argument .editable{font-size:13px}details{border-top:1px solid var(--line);padding:13px 0}summary{font-size:12px;color:var(--navy);font-weight:650;cursor:pointer}.research-note{background:#faf8f1;padding:15px;font-size:12px}.research-note a{color:var(--navy)}blockquote{font-size:12px;border-left:2px solid var(--gold);margin:12px 0;padding-left:12px;color:var(--muted)}.research-section{padding:58px 0 40px}.research-section>p.muted{max-width:760px}#research-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:26px}.research-card{border-top:2px solid #b8c7dd;padding:15px 0}.research-card h3{font-size:19px;line-height:1.25;margin:0 0 10px}.research-card p{font-size:12px;color:var(--muted)}.research-card a{font-size:11px;color:var(--navy)}footer{max-width:1240px;margin:auto;padding:25px 30px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;font-size:10px;color:var(--muted)}@media(max-width:850px){.intro{gap:25px;grid-template-columns:1fr 170px}h1{font-size:44px}.workspace{grid-template-columns:1fr}.output-panel{position:static}#empty{min-height:280px;padding-top:25px}#research-cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){header{padding:18px}.pilot{font-size:8px;padding:4px}.brand{font-size:11px;gap:9px}.brand small{font-size:9px}.brand img{height:37px}main{padding:0 16px}.intro{padding-top:35px;display:block}.intro aside{display:none}h1{font-size:40px}.lead{font-size:16px}.input-panel,.output-panel{padding:20px}.controls{grid-template-columns:1fr}.controls label{margin-top:12px}#research-cards{grid-template-columns:1fr}footer{padding:20px 16px;flex-direction:column}.under{display:block}h2{font-size:24px}}@media print{header,.intro,.input-panel,.research-section,footer,.actions,.option-tabs,.result-note{display:none}.workspace{display:block}.output-panel{border:0;box-shadow:none;padding:0}details{display:block}details>*{display:block!important}.editable{border:0}}

/* Shared typography and visual language of the Faculty Pedagogy Resources portal. */
:root{--ink:#3a3630;--muted:#6b6863;--line:#d8d4cc}body{font-family:'DM Sans',sans-serif;line-height:1.65}h1,h2,h3,.aside-number{font-family:'EB Garamond',serif}header{height:56px;padding:0 clamp(1.5rem,4vw,3rem);position:sticky;top:0;z-index:10}.brand{font-family:'EB Garamond',serif;font-size:16px;font-weight:500;letter-spacing:.01em;gap:.6rem}.brand img{width:32px;height:32px;object-fit:contain}.wordmark-divider{color:#ffffff80;margin:0 .3rem}.pilot{border:0;color:#ffffff8c;font-size:11px;letter-spacing:.08em;font-weight:500;padding:0}main{max-width:1160px}.intro{background:var(--navy);box-shadow:0 0 0 100vmax var(--navy);clip-path:inset(0 -100vmax);padding:34px 0 38px;margin-bottom:32px;gap:60px}.intro h1{color:white;font-size:48px;font-weight:500;letter-spacing:-.01em;margin-bottom:12px}.intro .eyebrow{color:#ffffff9c;font-size:10px}.intro .lead{color:#ffffffe0;font-size:19px}.intro aside{border-color:#ffffff36;color:#ffffffb8}.intro .aside-number{color:white}.intro aside hr{border-color:#ffffff36}.input-panel,.output-panel{border-radius:6px;box-shadow:none}.output-panel{top:76px}.primary{border-radius:4px}.step{border-radius:4px;background:#eaf0fa;border-color:#eaf0fa;color:var(--navy)}.research-section h2{font-size:30px}.skip-link{position:absolute;left:12px;top:-80px;z-index:50;background:white;color:var(--navy);padding:8px 15px}.skip-link:focus{top:8px}@media(max-width:720px){.pilot{display:none}.brand{font-size:15px}main{padding:0 20px}.intro{padding:28px 0}.intro h1{font-size:39px}.intro .lead{font-size:17px}.intro aside{display:none}.intro{display:block}.output-panel{position:static}}@media print{.intro{display:none}header{display:none}}

/* Explain the teaching purpose before the existing exercise workspace. */
.intro-context{max-width:760px;margin:18px 0 0;color:var(--ink);font-size:16px;line-height:1.65}.purpose{display:grid;grid-template-columns:1fr 1.4fr;gap:48px;border-top:1px solid var(--line);padding:28px 0 32px}.purpose h2{max-width:390px}.purpose p{margin:0 0 12px}.purpose .eyebrow{margin-bottom:10px}@media(max-width:800px){.purpose{grid-template-columns:1fr;gap:18px}.intro-context{font-size:15px}}
.intro .intro-context{color:rgba(255,255,255,.85)}
