:root{--color-bg:#fff;--color-text:#000;--color-text-muted:#000;--color-heading:#000;--color-link:#000;--color-border:#000;--color-border-light:#000;--color-accent:#000;--selection-color:#000}::selection{background:var(--selection-color);color:#fff}*{margin:0;padding:0;box-sizing:border-box}body,html{font-family:Arial,sans-serif;font-size:16px;line-height:1.4;text-align:left;background-color:var(--color-bg);color:var(--color-text)}h1,h2,h3,h4,h5,h6{font-size:16px;line-height:18px;font-weight:700}h3{margin-top:2rem;margin-bottom:.5rem}a{color:var(--color-link);text-decoration:underline}a:hover{text-decoration:none}strong{color:var(--color-heading)}#canvas-container{width:1200px;height:400px;overflow:hidden}canvas{display:block}nav.topnav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:1rem .8rem;font-size:.95rem;mix-blend-mode:difference;color:#fff}.topnav-row{display:contents}nav.topnav a{color:inherit;text-decoration:none;text-transform:uppercase;display:inline-flex;align-items:center;padding:.4em .7em;border-radius:.25rem;background-color:transparent;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:background-color .25s,color .25s}nav.topnav a.active,nav.topnav a:hover{text-decoration:underline}.topnav-links{display:flex;gap:.5rem}nav.topnav a.topnav-home-mobile{display:none}.menu-toggle{display:none;background:none;border:none;font:inherit;color:inherit;text-transform:uppercase;cursor:pointer;padding:.4em .7em}.menu-toggle:hover{text-decoration:underline}@media (max-width:700px){nav.topnav{flex-wrap:wrap;align-items:flex-start}.topnav-row{display:flex;width:100%;justify-content:flex-start;align-items:center}nav.topnav a.topnav-home{display:none}.menu-toggle,nav.topnav a.topnav-home-mobile{display:inline-flex}.topnav-links{display:none;flex-direction:column;align-items:flex-start;width:100%;gap:.25rem;margin-top:.5rem}nav.topnav.open .topnav-links{display:flex}nav.topnav a{padding:.3em .5em}}main.content{max-width:900px;margin:0;padding:96px 1.5rem 2rem}hr{border:none;height:1px;background-color:var(--color-border);margin:2rem 0}.schedule{text-align:left;max-width:675px;margin-left:0;margin-right:auto;border-top:1px solid var(--color-border)}.schedule .meeting{border-bottom:1px solid var(--color-border)}.schedule summary{cursor:pointer;padding:.75rem 0;list-style:none;display:flex;align-items:baseline;gap:1rem;flex-wrap:wrap;transition:background .2s,color .2s}.schedule summary::-webkit-details-marker{display:none}.schedule summary:hover{background:#000;color:#fff}.schedule .date{font-weight:700}.schedule .meeting-topic{opacity:.8}.schedule .meeting-locked{display:flex;align-items:baseline;gap:1rem;flex-wrap:wrap;padding:.75rem 0;opacity:.5;cursor:default}.schedule .session{padding:.5rem 0 1rem}.schedule .topic{font-weight:700;margin-bottom:.25rem}.schedule .description{margin-bottom:.5rem}.schedule .field{margin-top:.25rem}.schedule .field .label,.schedule .homework-section .label{font-weight:700}.schedule .homework-section{margin-top:.75rem}.schedule .homework-item{margin:.5rem 0 .75rem}.schedule .homework-title{font-weight:700}.schedule .homework-desc{margin-top:.25rem}.schedule .homework-due{font-style:italic;opacity:.7;margin-top:.25rem}.schedule .due-list{margin-left:1.25rem}main.projects-page{text-align:left;padding-top:96px;max-width:2100px;margin-left:0;margin-right:auto;display:grid;grid-template-columns:repeat(3,1fr);grid-gap:2rem;gap:2rem}@media (max-width:900px){.projects-page{grid-template-columns:1fr;max-width:900px;padding-top:64px}}.project{padding-right:1rem;border-right:1px solid var(--color-border)}.project:last-child{border-right:none}@media (max-width:900px){.project{border-right:none;border-bottom:1px solid var(--color-border);padding-right:0;padding-bottom:2rem;margin-bottom:2rem}.project:last-child{border-bottom:none}}.projects-page h3{margin-top:0;padding-bottom:0;text-transform:uppercase}.project-dates{display:block;color:var(--color-text-muted);margin-top:.25rem}.project-dates,.projects-page p{margin-bottom:1rem}.projects-page ul{margin:0 0 1.5rem 1.25rem}.projects-page ul li{margin-bottom:.5rem}main.exercises-page{text-align:left;padding-top:96px;max-width:675px;margin-left:0;margin-right:auto}main.exercises-page>hr:first-child{margin-top:0}@media (max-width:900px){main.exercises-page{padding-top:64px}}.exercise h3{margin-top:0;margin-bottom:.5rem}.exercise .fleuron{margin-right:.5rem}.exercise p{margin-bottom:.5rem}.exercise .due{color:var(--color-text-muted);font-style:italic}main.resources-page{text-align:left;padding-top:96px;max-width:2100px;margin-left:0;margin-right:auto;display:grid;grid-template-columns:repeat(3,1fr);grid-gap:2rem;gap:2rem}.resources-page section{margin-bottom:2rem}.resources-page h2{font-size:16px;text-transform:uppercase;margin-bottom:.5rem;border-bottom:2px solid var(--color-border);padding-bottom:.25rem}.resources-page ul{list-style:none;padding:0}.resources-page li{margin:.5rem 0}.resources-page .resource-desc{display:block;opacity:.75}@media (max-width:900px){main.resources-page{grid-template-columns:1fr}}