:root, html[data-theme="light"] { --course-accent: #8a2633; --course-border: #d8d8df; --course-soft: #f7f5f3; --global-theme-color: #8a2633; --global-hover-color: #6d1c27; }
html[data-theme="dark"] { --course-accent: #f1b7bf; --course-border: #56535b; --course-soft: #2c292d; --global-theme-color: #f1b7bf; --global-hover-color: #ffd4da; --global-hover-text-color: #1c1c1d; }
.course-facts { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 1rem; border-top: 2px solid var(--course-accent); border-bottom: 1px solid var(--course-border); padding: 1.2rem 0; margin: .5rem 0 1.5rem; line-height: 1.65; }
.course-facts > div { display: flex; flex-direction: column; }
.fact-label { font-size: .78rem; text-transform: uppercase; letter-spacing: .09em; margin-bottom: .3rem; opacity: .8; }
.course-note { padding: .85rem 1rem; border-left: 3px solid var(--course-accent); background: var(--course-soft); font-size: .95rem; }
.course-subtitle { font-size: 1.45rem; line-height: 1.4; margin: .4rem 0 .9rem; font-weight: 300; }
.schedule-scroll { overflow-x: auto; }
.course-table-scroll { overflow-x: auto; margin: 1rem 0; }
.course-table-wide table { min-width: 40rem; }
.course-table-scroll:focus-visible { outline: 3px solid var(--course-accent); outline-offset: 2px; }
.course-table-hint { display: none; font-size: .9rem; }
.schedule-table { width: 100%; min-width: 650px; border-collapse: collapse; }
.schedule-table th, .schedule-table td { padding: .75rem .6rem; border-bottom: 1px solid var(--course-border); vertical-align: top; text-align: left; }
.schedule-table th:first-child { width: 13%; }
.schedule-table th:nth-child(2) { width: 24%; }
.schedule-table th:nth-child(3) { width: 34%; }
.schedule-table caption { text-align: left; margin-bottom: .6rem; }
.schedule-break { background: var(--course-soft); }
.schedule-module { background: var(--course-soft); border-top: 2px solid var(--course-accent); }
.schedule-table small { display: block; line-height: 1.5; margin-top: .3rem; }
.schedule-due, .schedule-review { display: block; line-height: 1.45; margin-bottom: .45rem; }
.course-exercises, .course-due { margin: .6rem 0 1rem; padding-left: 1.3rem; }
.course-exercises li, .course-due li { margin-bottom: .3rem; }
.week-links { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; margin-top: 2rem; padding-top: 1rem; border-top: 1px solid var(--course-border); }
a:focus-visible { outline: 3px solid var(--course-accent); outline-offset: 3px; }
@media (max-width: 991px) { .course-table-hint { display: block; } }
@media (max-width: 680px) { .post-title { font-size: 2rem; line-height: 1.2; } .course-subtitle { font-size: 1.2rem; } .course-facts { grid-template-columns: 1fr; gap: 1rem; } }
@media print { .schedule-scroll, .course-table-scroll { overflow: visible; } .schedule-table, .course-table-wide table { min-width: 0; } .course-table-hint { display: none; } }
