reading-guidance:where(.astro-mombju4d){vertical-align:text-bottom;margin-inline-start:.15rem;display:inline-flex}.card:where(.astro-yk4hkwyg){flex-direction:column;min-width:0;padding:1rem clamp(.85rem,.65rem + 1vw,1.25rem)}.card:where(.astro-yk4hkwyg).with-keywords{padding-bottom:0}.card:where(.astro-yk4hkwyg).without-keywords{padding-bottom:1rem}.header:where(.astro-yk4hkwyg){border-bottom:1px solid var(--course-border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.4rem 1rem;margin-bottom:.85rem;padding:0 0 .7rem;display:flex}.title:where(.astro-yk4hkwyg){font-weight:600;font-size:var(--sl-text-h4);color:var(--sl-color-white);line-height:var(--sl-line-height-headings);flex-wrap:wrap;align-items:center;gap:.45rem;margin:0;display:flex}.unit-date-range:where(.astro-yk4hkwyg){color:var(--course-text-subtle);font-size:var(--sl-text-xs);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none}.announcement:where(.astro-yk4hkwyg){text-align:center;color:var(--sl-color-white);padding:2rem}.card:where(.astro-yk4hkwyg) .body:where(.astro-yk4hkwyg){margin:0}.content-grid:where(.astro-yk4hkwyg){grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.85rem 1rem;padding-bottom:1rem;display:grid}.content-grid:where(.astro-yk4hkwyg)>:where(.astro-yk4hkwyg){min-width:0}.content-grid:where(.astro-yk4hkwyg) h4:where(.astro-yk4hkwyg){color:var(--sl-color-gray-2);font-size:var(--sl-text-sm);letter-spacing:.01em;margin:0 0 .35rem;font-weight:650}.slides:where(.astro-yk4hkwyg) ul:where(.astro-yk4hkwyg),.suggested-readings:where(.astro-yk4hkwyg) ul:where(.astro-yk4hkwyg),.exerciseSheet:where(.astro-yk4hkwyg) ul:where(.astro-yk4hkwyg){padding-left:1.5rem}.slides:where(.astro-yk4hkwyg) li:where(.astro-yk4hkwyg),.suggested-readings:where(.astro-yk4hkwyg) li:where(.astro-yk4hkwyg),.exerciseSheet:where(.astro-yk4hkwyg) li:where(.astro-yk4hkwyg){margin-top:.25rem}.resource-separator:where(.astro-yk4hkwyg){color:var(--course-border-strong)}.resource-format:where(.astro-yk4hkwyg){color:var(--course-text-subtle);font-size:var(--sl-text-xs);white-space:nowrap}.resource-format:where(.astro-yk4hkwyg):hover{color:var(--course-accent)}.reading-reference:where(.astro-yk4hkwyg).with-guidance{vertical-align:top;align-items:flex-end;gap:.2rem;max-width:100%;display:inline-flex}.reading-reference:where(.astro-yk4hkwyg).with-guidance>a:where(.astro-yk4hkwyg){min-width:0}.reading-reference:where(.astro-yk4hkwyg).with-guidance reading-guidance{flex:none;margin-inline-start:0}.exercise-sheet-row:where(.astro-yk4hkwyg){min-width:0;display:block}.exercise-sheet-link:where(.astro-yk4hkwyg){overflow-wrap:anywhere;min-width:0}.solution-status:where(.astro-yk4hkwyg){width:1.5rem;height:1.5rem;color:var(--course-solution);vertical-align:text-bottom;background:0 0;border:0;border-radius:50%;place-items:center;margin-inline-start:.1rem;padding:0;line-height:1;display:inline-grid}.solution-status-link:where(.astro-yk4hkwyg){text-decoration:none}.solution-status-link:where(.astro-yk4hkwyg):hover{color:var(--course-accent)}.solution-status-link:where(.astro-yk4hkwyg):focus-visible{outline:3px solid var(--course-accent);outline-offset:1px}.keywords:where(.astro-yk4hkwyg){border-top:1px solid var(--course-border-subtle);flex-wrap:wrap;align-items:baseline;gap:.25rem .6rem;padding-block:.75rem;display:flex}.keywords-label:where(.astro-yk4hkwyg){color:var(--sl-color-gray-3);font-size:var(--sl-text-xs);text-transform:uppercase;letter-spacing:.04em;flex:none;font-weight:650}.keywords:where(.astro-yk4hkwyg) ul:where(.astro-yk4hkwyg){flex-wrap:wrap;flex:20rem;gap:.15rem 0;min-width:0;margin:0;padding:0;list-style:none;display:flex}.keyword:where(.astro-yk4hkwyg){min-width:0;max-width:100%;color:var(--course-text-subtle);font-size:var(--sl-text-xs);background:0 0;border:0;align-items:baseline;padding:0;line-height:1.35;display:inline-flex}.keyword:where(.astro-yk4hkwyg)+.keyword:where(.astro-yk4hkwyg):before{background:var(--course-border-strong);content:"";border-radius:50%;flex:none;align-self:center;width:.2rem;height:.2rem;margin-inline:.45rem}.keyword:where(.astro-yk4hkwyg)>span:where(.astro-yk4hkwyg){overflow-wrap:anywhere;min-width:0}@media (width<=30rem){.card:where(.astro-yk4hkwyg){padding-inline:.75rem}.header:where(.astro-yk4hkwyg){padding:.75rem .5rem}.content-grid:where(.astro-yk4hkwyg){grid-template-columns:minmax(0,1fr)}}.staff-member:where(.astro-pjsz4kx3){border:1px solid var(--course-border-subtle);border-radius:var(--course-radius);background:var(--course-surface);flex-direction:column;justify-content:space-between;align-items:flex-start;gap:.65rem;min-width:0;height:100%;padding:.85rem 1rem;display:flex}.role:where(.astro-pjsz4kx3),h3:where(.astro-pjsz4kx3),.assignment:where(.astro-pjsz4kx3){margin:0}.role:where(.astro-pjsz4kx3){color:var(--sl-color-gray-3);font-size:var(--sl-text-xs);letter-spacing:.06em;text-transform:uppercase;font-weight:700}h3:where(.astro-pjsz4kx3){font-size:var(--sl-text-lg)}.assignment:where(.astro-pjsz4kx3){color:var(--sl-color-gray-2);font-size:var(--sl-text-sm)}.staff-member:where(.astro-pjsz4kx3)>a:where(.astro-pjsz4kx3){color:var(--sl-color-text-accent);font-weight:600}.staff-member:where(.astro-pjsz4kx3)>a:where(.astro-pjsz4kx3):focus-visible{outline:3px solid var(--sl-color-accent-high);outline-offset:3px}.email-address:where(.astro-pjsz4kx3){overflow-wrap:anywhere;max-width:100%;display:block}@media (width<=30rem){.staff-member:where(.astro-pjsz4kx3){padding-inline:.75rem}}.staff-cards:where(.astro-fr5ojgzz){grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:.75rem;display:grid}.course-overview:where(.astro-cqk72ndq){gap:1.25rem;display:grid}.link-kind:where(.astro-cqk72ndq){max-width:100%;color:var(--course-text-subtle);font-size:var(--sl-text-xs);letter-spacing:.01em;overflow-wrap:anywhere;text-align:start;grid-area:kind;align-self:start;margin:0;font-weight:650}.overview-heading:where(.astro-cqk72ndq){flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.overview-heading:where(.astro-cqk72ndq) h2:where(.astro-cqk72ndq),.summary:where(.astro-cqk72ndq){margin:0}.offering-status:where(.astro-cqk72ndq){border:1px solid var(--course-border-subtle);border-radius:var(--course-radius-small);background:var(--course-surface-muted);color:var(--course-text-muted);font-size:var(--sl-text-2xs);white-space:nowrap;align-items:center;padding:.15rem .35rem;font-weight:650;line-height:1.3;display:inline-flex}.summary:where(.astro-cqk72ndq){max-width:70ch;font-size:var(--sl-text-lg);margin-top:.35rem}.course-links:where(.astro-cqk72ndq){grid-template-columns:minmax(0,1fr);gap:.6rem;display:grid}.course-link:where(.astro-cqk72ndq){border:1px solid var(--course-border-subtle);border-radius:var(--course-radius);background:var(--course-surface);min-width:0;min-height:3.75rem;color:var(--sl-color-white);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"kind arrow""title arrow";align-items:center;gap:.12rem .65rem;padding:.55rem .65rem;text-decoration:none;display:grid}.course-link:where(.astro-cqk72ndq).has-description{grid-template-areas:"kind arrow""title arrow""description description"}.course-link:where(.astro-cqk72ndq):hover{border-color:var(--course-accent);background:var(--course-surface-muted)}.course-link:where(.astro-cqk72ndq):hover .link-title:where(.astro-cqk72ndq){text-decoration:underline}.course-link:where(.astro-cqk72ndq):hover .link-arrow:where(.astro-cqk72ndq){color:var(--course-accent)}.course-link:where(.astro-cqk72ndq):focus-visible,.faq-item:where(.astro-cqk72ndq) summary:where(.astro-cqk72ndq):focus-visible{outline:3px solid var(--sl-color-accent-high);outline-offset:3px}.link-title:where(.astro-cqk72ndq){min-width:0;color:var(--course-accent);text-underline-offset:.15em;grid-area:title;text-decoration:none}.link-description:where(.astro-cqk72ndq){color:var(--sl-color-gray-3);font-size:var(--sl-text-xs);grid-area:description;line-height:1.35}.link-arrow:where(.astro-cqk72ndq){color:var(--course-text-subtle);grid-area:arrow}.course-timeline:where(.astro-cqk72ndq){gap:1rem;display:grid}@media (width<=35rem){.summary:where(.astro-cqk72ndq){font-size:var(--sl-text-base)}}@media (width>=50rem){.course-links:where(.astro-cqk72ndq){grid-template-columns:repeat(2,minmax(0,1fr))}}
