@font-face{font-family:'IBM Plex Sans';src:url('/housing/fonts/plex-sans-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'IBM Plex Sans';src:url('/housing/fonts/plex-sans-500.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'IBM Plex Mono';src:url('/housing/fonts/ibm-plex-mono/ibm-plex-mono-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Barlow Condensed';src:url('/housing/fonts/barlow-condensed/barlow-condensed-600.woff2') format('woff2');font-weight:600;font-display:swap}
.ut-courses{background:var(--pd-ink);color:var(--pd-bone);scroll-padding-top:24px;color-scheme:dark}
.ut-courses *,.ut-courses *::before,.ut-courses *::after{box-sizing:border-box}
.ut-courses body{margin:0;font:400 17px/1.65 var(--pd-font-body);-webkit-font-smoothing:antialiased}
.ut-courses a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}
.ut-courses a:hover{color:var(--pd-signal)}
.ut-courses :is(a,button,input,select,summary,[tabindex]):focus-visible{outline:2px solid var(--pd-bone);outline-offset:5px}
.ut-courses ::selection{background:var(--pd-bone);color:var(--pd-ink)}
.ut-courses [hidden]{display:none}
.ut-courses h1,.ut-courses h2,.ut-courses h3,.ut-courses p{margin:0}
.ut-courses h1{font:600 clamp(60px,8.5vw,128px)/.94 var(--pd-font-display);letter-spacing:-.02em;max-width:1100px;text-wrap:balance}
.ut-courses h2{font:600 clamp(32px,3.5vw,48px)/1.12 var(--pd-font-display);letter-spacing:-.012em;margin-bottom:28px;text-wrap:balance}
.ut-courses h3{font:500 21px/1.3 var(--pd-font-body);margin:28px 0 12px}
.ut-courses main,.course-masthead,.course-footer{width:min(1440px,100%);margin-inline:auto;padding-inline:var(--pd-gutter)}
.course-skip{position:absolute;z-index:10;top:-100px;left:var(--pd-gutter);background:var(--pd-bone);color:var(--pd-ink);padding:12px 16px}
.course-skip:focus{top:12px}
.course-masthead{display:flex;align-items:center;justify-content:space-between;gap:28px;padding-top:24px;padding-bottom:24px;border-bottom:1px solid var(--pd-rule)}
.course-brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:16px;font-weight:500}
.course-brand svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.4}
.course-masthead nav{display:flex;flex-wrap:wrap;gap:8px 24px;font:12px/1.6 var(--pd-font-instrument)}
.course-masthead nav a{display:flex;align-items:center;min-height:44px;text-decoration:none}
.course-hero{padding:64px 0 40px}
.course-subtitle{display:block;font:400 clamp(23px,2.6vw,36px)/1.25 var(--pd-font-body);letter-spacing:-.035em;margin-top:16px;max-width:950px}
.course-dek{font-size:clamp(19px,2vw,25px);line-height:1.5;max-width:58ch;margin-top:28px}
.source-line,.source-note,.coverage-line{font:12px/1.8 var(--pd-font-instrument);color:var(--pd-ash);max-width:85ch}
.course-hero .source-line{margin-top:22px}
.coverage-line{margin-top:20px}
.answer-stats{display:grid;grid-template-columns:1fr 1fr 1fr;margin:36px 0 0;border-top:1px solid var(--pd-rule);border-bottom:1px solid var(--pd-rule);max-width:1100px}
.answer-stats>div{padding:24px 24px 24px 0;display:flex;flex-direction:column-reverse;gap:12px}
.answer-stats .metric-unavailable{font:400 26px/1.3 var(--pd-font-body);letter-spacing:-.02em}
.answer-stats dt{font:12px/1.5 var(--pd-font-instrument);color:var(--pd-ash)}
.answer-stats dd{font:600 clamp(44px,5vw,72px)/1 var(--pd-font-display);margin:0;letter-spacing:-.025em}
.course-chapters{display:flex;flex-wrap:wrap;gap:12px 28px;padding:8px 0 24px;border-bottom:1px solid var(--pd-rule);font:12px/1.6 var(--pd-font-instrument)}
.course-chapters a{min-height:32px;display:flex;align-items:center}
.course-section{padding:48px 0;border-bottom:1px solid var(--pd-rule);scroll-margin-top:24px}
.ut-courses .reading{max-width:69ch}
.ut-courses .reading p+p,.ut-courses .reading>p+.source-note,.ut-courses .reading>ul+p{margin-top:20px}
.ut-courses .reading>p>a,.ut-courses .reading>a{font-weight:500}
.course-section>.source-note{margin-top:20px}
.ut-courses .table-scroll{overflow-x:auto;max-width:100%;scrollbar-color:var(--pd-rule-strong) var(--pd-ink)}
.course-table{width:100%;border-collapse:collapse;font:13px/1.5 var(--pd-font-instrument);font-variant-numeric:tabular-nums}
.course-table th,.course-table td{border-bottom:1px solid var(--pd-rule);padding:17px 20px;text-align:right;vertical-align:top;white-space:nowrap}
.course-table thead th{color:var(--pd-ash);font-size:11px;font-weight:400;letter-spacing:.02em}
.course-table th:first-child{padding-left:0;text-align:left;white-space:normal;min-width:250px;width:45%}
.course-table :is(th,td):last-child{padding-right:0}
.course-table tbody th{font:500 16px/1.4 var(--pd-font-body)}
.course-table th span{display:block;font-size:14px;font-weight:400;color:var(--pd-ash);margin-top:5px}
.course-table tbody tr:last-child>*{border-bottom:0}
.distribution-panel{max-width:1100px}
.distribution-controls{display:flex;align-items:center;gap:20px;font:12px/1.5 var(--pd-font-instrument);margin-bottom:24px}
.ut-courses :is(input,button,select){font:inherit;color:inherit;border:1px solid var(--pd-rule-strong);border-radius:0;background:var(--pd-carbon);min-height:44px;padding:10px 14px;max-width:100%}
.distribution-controls select{flex:1;max-width:440px}
.distribution-figure{margin:0;padding:16px 0 22px}
.grade-chart{display:block;width:100%;height:auto;overflow:visible}
.grade-chart .grade-bar{fill:var(--pd-bone)}
.grade-chart .chart-axis{stroke:var(--pd-rule-strong);stroke-width:1}
.grade-chart text{font:16px var(--pd-font-instrument);fill:var(--pd-bone)}
.grade-chart .chart-count{font-size:13px;fill:var(--pd-ash)}
.distribution-figure figcaption{font:12px/1.8 var(--pd-font-instrument);color:var(--pd-ash)}
.grade-counts{margin:0 0 20px;border-top:1px solid var(--pd-rule);border-bottom:1px solid var(--pd-rule)}
.ut-courses summary{cursor:pointer;min-height:52px;padding:14px 0;font-size:16px;list-style-position:outside;margin-left:20px}
.grade-table{width:100%;max-width:640px;margin:12px 0 24px;border-collapse:collapse;font:13px/1.6 var(--pd-font-instrument);font-variant-numeric:tabular-nums}
.grade-table caption{text-align:left;margin-bottom:12px;color:var(--pd-ash)}
.grade-table th,.grade-table td{text-align:right;border-bottom:1px solid var(--pd-rule);padding:7px 12px;font-weight:400}
.grade-table th:first-child{text-align:left}
.department-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 36px}
.department-grid a{display:grid;grid-template-columns:60px 1fr;gap:8px 16px;padding:24px 0;border-top:1px solid var(--pd-rule);text-decoration:none}
.department-grid strong{font:600 36px/1 var(--pd-font-display);grid-row:span 2}
.department-grid span{font-size:17px;line-height:1.4}
.department-grid small{font:11px/1.7 var(--pd-font-instrument);color:var(--pd-ash)}
.course-search{padding:36px 0;border-bottom:1px solid var(--pd-rule)}
.course-search>label{display:block;font:12px/1.6 var(--pd-font-instrument);margin-bottom:12px}
.course-search>div{display:flex;gap:12px;max-width:760px}
.course-search input{flex:1;min-width:0;padding:14px 16px}
.course-search button{min-width:100px;background:var(--pd-bone);color:var(--pd-ink);cursor:pointer}
.course-search input::placeholder{color:var(--pd-ash)}
#search-status{font:12px/1.6 var(--pd-font-instrument);margin-top:16px;color:var(--pd-ash)}
.search-results{list-style:none;padding:0;max-width:1000px;margin:20px 0 0}
.search-results li{padding:16px 0;border-top:1px solid var(--pd-rule)}
.search-results a{font-weight:500}
.search-results span{display:block;color:var(--pd-ash);font:12px/1.7 var(--pd-font-instrument);margin-top:5px}
.index-links{list-style:none;padding:0;margin:0}
.index-links li{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:18px 0;border-top:1px solid var(--pd-rule)}
.index-links li span{color:var(--pd-ash);font:12px/1.6 var(--pd-font-instrument);text-align:right}
.instructor-index{columns:2;column-gap:48px}
.instructor-index li{break-inside:avoid;display:block}
.instructor-index li span{display:block;text-align:left;margin-top:6px}
.editorial-links{list-style:none;padding:0;margin:0}
.editorial-links li{padding:40px 0;border-bottom:1px solid var(--pd-rule)}
.editorial-links h2{margin-bottom:12px}
.editorial-links p{max-width:65ch;color:var(--pd-ash)}
.list-method{padding:36px 0}
.list-method p{font-size:16px}
.document-links{padding-left:20px}
.document-links li{padding:8px 0}
.course-faq{max-width:900px}
.course-faq details{border-top:1px solid var(--pd-rule);padding:6px 0}
.course-faq p{padding:0 0 20px 20px;max-width:68ch}
.course-footer{display:flex;justify-content:space-between;gap:48px;padding-top:40px;padding-bottom:52px;font:12px/1.8 var(--pd-font-instrument);color:var(--pd-ash)}
.course-footer nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px 24px;max-width:500px}
@media(min-width:1200px){.course-section:has(>.reading){display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,2fr);gap:48px}.course-section:has(>.reading)>h2{max-width:280px}.course-section>.reading{max-width:69ch}}
@media(max-width:900px){.department-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.course-masthead{align-items:flex-start;flex-direction:column;gap:14px}.course-masthead nav{gap:4px 22px}.course-hero{padding-top:44px}.course-table{font-size:12px}.course-table th,.course-table td{padding:15px}.course-footer{flex-direction:column;gap:24px}.course-footer nav{justify-content:flex-start}}
@media(max-width:560px){.ut-courses body{font-size:16px}.course-masthead{padding-top:18px;padding-bottom:16px}.course-brand{font-size:15px}.course-masthead nav{font-size:11px;gap:0 20px}.course-hero{padding:36px 0 28px}.course-subtitle{margin-top:14px;line-height:1.3}.course-dek{font-size:19px;margin-top:22px}.answer-stats{margin-top:28px;grid-template-columns:1fr 1fr}.answer-stats>div{padding:20px 12px 20px 0}.answer-stats>div:last-child{grid-column:span 2;border-top:1px solid var(--pd-rule);flex-direction:row-reverse;justify-content:flex-end;align-items:baseline;gap:20px}.answer-stats>div:last-child dd{font-size:36px}.answer-stats .metric-unavailable{font:400 26px/1.3 var(--pd-font-body);letter-spacing:-.02em}
.answer-stats dt{font-size:10px}.source-line,.source-note,.coverage-line{font-size:11px}.course-chapters{gap:8px 20px;font-size:11px;padding-bottom:20px}.course-section{padding:32px 0}.ut-courses h2{margin-bottom:22px}.department-grid{grid-template-columns:1fr}.department-grid a{padding:20px 0}.department-grid strong{font-size:38px}.distribution-controls{align-items:stretch;flex-direction:column;gap:10px}.distribution-controls select{width:100%;max-width:100%}.distribution-figure{padding-top:8px}.grade-chart text{font-size:32px}.grade-chart .chart-count{font-size:30px}.distribution-figure figcaption{font-size:11px}.course-table th:first-child{min-width:180px}.course-table th span{font-size:13px}.course-table th,.course-table td{padding:14px 12px}.course-table thead th{font-size:10px}.course-search>div{gap:8px}.course-search input{font-size:16px;padding:12px}.course-search button{min-width:78px;padding:10px;font-size:14px}.index-links li{display:block}.index-links li span{display:block;text-align:left;margin-top:6px}.instructor-index{columns:1}.course-footer{padding-top:28px;padding-bottom:36px;font-size:11px}.course-footer nav{gap:12px 20px}.course-faq summary{font-size:16px}}
@media(prefers-reduced-motion:reduce){.ut-courses{scroll-behavior:auto}}
