:root{--paper:#fafaf8;--ink:#20211f;--muted:#62655f;--line:#d7d9d2;--accent:#c92d1c;--white:#fff;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-size:16px}*{box-sizing:border-box}body{margin:0}a{color:inherit}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.skip{position:absolute;top:-80px;left:24px;background:white;padding:12px;z-index:5}.skip:focus{top:10px}.masthead{margin:0 4vw;padding:28px 0;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--ink)}.wordmark{text-decoration:none;font-size:16px;line-height:1.2;letter-spacing:.045em;font-weight:700;position:relative;padding-left:38px}.wordmark-second{font-weight:400}.mark{position:absolute;left:0;top:2px;width:24px;height:34px;background:var(--accent)}.university{text-align:right;font-size:14px;line-height:1.5}.university span{color:var(--muted)}main{margin:0 4vw}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;padding:38px 0 32px}.eyebrow{font-size:12px;letter-spacing:.13em;margin:0 0 12px;color:var(--muted)}h1{font-size:clamp(40px,5.1vw,76px);line-height:1;margin:0;font-weight:400;letter-spacing:-.055em}.period{color:var(--accent)}.edition{font-size:14px;line-height:1.3;margin:0}.edition strong{font-size:28px;font-weight:400;letter-spacing:-.04em}.workspace{display:grid;grid-template-columns:260px minmax(0,1fr);gap:42px;border-top:1px solid var(--ink)}aside{padding-top:21px}form{position:sticky;top:24px}.filter-heading{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:28px;gap:10px}h2{font-size:18px;font-weight:400;margin:0}.filter-heading button{border:0;background:none;font-size:14px;text-decoration:underline;text-underline-offset:4px;padding:0;color:var(--muted)}label{display:block;font-size:14px;margin:24px 0 9px}input,select{display:block;width:100%;min-height:48px;border:1px solid #a7aaa2;border-radius:0;background:transparent;padding:11px 12px;color:var(--ink);font-size:16px}select{padding-right:28px}input::placeholder{color:var(--muted)}.source-note{margin:40px 0;font-size:13px;color:var(--muted);line-height:1.6}.results-heading{display:flex;align-items:baseline;justify-content:space-between;gap:18px;min-height:64px;padding:22px 0 16px}.results-heading p{font-size:16px;margin:0}.results-heading span{font-size:13px;color:var(--muted)}#courses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}.course{border-top:1px solid var(--line);padding:25px 0 30px;min-width:0;display:flex;flex-direction:column}.course-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:12px;line-height:1.4;color:var(--muted);margin-bottom:16px}.kind{color:var(--accent);font-size:13px}.course h3{font-weight:400;font-size:clamp(21px,1.8vw,27px);letter-spacing:-.025em;line-height:1.25;margin:0 0 21px;overflow-wrap:anywhere}.course dl{display:grid;grid-template-columns:86px minmax(0,1fr);gap:9px 12px;margin:0 0 20px;font-size:14px;line-height:1.45}.course dt{color:var(--muted)}.course dd{margin:0;overflow-wrap:anywhere}.course .brief{font-size:16px;line-height:1.6;margin:0 0 22px}.course details{border-top:1px solid var(--line);font-size:14px;line-height:1.6}.course summary{padding:12px 0}.full-description{font-size:16px;white-space:pre-line;line-height:1.65;margin:5px 0 22px}.credit-list{padding-left:20px;margin:4px 0 20px}.course-bottom{margin-top:auto;padding-top:14px}.source-link{font-size:14px;text-decoration:underline;text-underline-offset:4px}.missing{color:var(--muted)}#empty{padding:50px 0;border-top:1px solid var(--line)}#empty h2{font-size:26px}#empty p{line-height:1.5}#empty button{background:var(--ink);color:white;border:0;padding:13px 17px}footer{margin:40px 4vw 0;padding:24px 0 35px;border-top:1px solid var(--ink);display:flex;justify-content:space-between;gap:32px;font-size:13px;color:var(--muted);line-height:1.6}footer span{flex-shrink:0}footer p{margin:0;max-width:660px} [hidden]{display:none!important}@media(min-width:1600px){main,.masthead,footer{max-width:1600px;margin-left:auto;margin-right:auto}}@media(max-width:1100px){.workspace{grid-template-columns:230px minmax(0,1fr);gap:30px}#courses{grid-template-columns:1fr}.course h3{font-size:25px}}@media(max-width:700px){.masthead{padding:20px 0;gap:20px}.wordmark{font-size:13px;padding-left:27px}.mark{width:17px;height:28px}.university{font-size:12px;max-width:145px}.page-heading{padding:30px 0}.workspace{display:block}aside{padding-bottom:24px;border-bottom:1px solid var(--ink)}form{position:static;display:grid;grid-template-columns:1fr;gap:8px}.filter-heading{margin-bottom:4px}label{margin:12px 0 0}.source-note{margin:20px 0 0}.results-heading{align-items:center}.results-heading span{max-width:105px;text-align:right}.course{padding:24px 0}.course h3{font-size:25px}footer{display:block}footer p{margin-top:14px}.edition strong{font-size:24px}}@media print{aside,.course details,footer{display:none}.workspace{display:block}#courses{grid-template-columns:1fr 1fr}.course{break-inside:avoid}.masthead,main{margin:0}.course-bottom{display:none}}
:where(.sr-only){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:700px){form{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:12px;grid-template-areas:"head head" "pl tl" "p t" "yl yl" "y y" "ql ql" "q q"}.filter-heading{grid-area:head}label[for=query]{grid-area:ql}#query{grid-area:q}label[for=professor]{grid-area:pl}#professor{grid-area:p}label[for=teacher]{grid-area:tl}#teacher{grid-area:t}label[for=type]{grid-area:yl}#type{grid-area:y}.page-heading{padding:24px 0}.source-note{margin-top:14px}}
@media(max-width:700px){form{grid-template-areas:"head head" "sl sl" "s s" "pl tl" "p t" "yl yl" "y y" "ql ql" "q q"}label[for=program]{grid-area:sl}#program{grid-area:s}}
