:root{color-scheme:dark;--ink:#f7f8ff;--muted:#aeb5ca;--bg:#050814;--line:rgba(214,220,242,.16);--yellow:#ffd43b;--purple:#bc8cff;--blue:#56b9ff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none}
*{box-sizing:border-box}html{background:#02040c;scroll-behavior:smooth}body{margin:0;min-width:320px;color:var(--ink);background:radial-gradient(circle at 85% 7%,#6c42be25,transparent 35rem),linear-gradient(180deg,var(--bg),#02040c);font-size:16px;line-height:1.55}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:.25em}:focus-visible{outline:3px solid var(--yellow);outline-offset:4px}.skip{position:fixed;top:-100px;left:1rem;background:var(--yellow);color:#050814;padding:.65rem 1rem;border-radius:12px;z-index:10}.skip:focus{top:1rem}
.site-header{border-bottom:1px solid var(--line);background:#050814b8}.site-nav,main,footer{max-width:1240px;margin:auto;padding-left:32px;padding-right:32px}.site-nav{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-weight:850;letter-spacing:.02em;font-size:1.3rem}.brand span{font-weight:450;color:var(--muted);font-size:.83rem;margin-left:.6rem}.languages{display:flex;gap:.3rem;font-size:.8rem;font-weight:750}.languages a,.languages span{padding:.5rem .65rem;border-radius:9px}.languages [aria-current]{background:#ffffff0c;color:var(--yellow)}
.hero{display:flex;justify-content:space-between;align-items:center;gap:32px;padding:64px 0 42px}.eyebrow{font-size:.75rem;font-weight:750;letter-spacing:.16em;text-transform:uppercase;color:var(--yellow);margin:0 0 16px}h1{font-size:clamp(3rem,7vw,5.5rem);letter-spacing:-.055em;line-height:1.03;margin:0 0 24px}h1 span{display:block;color:var(--purple)}.lead{color:var(--muted);max-width:590px;font-size:1.12rem;margin:0}.hero-mark{font-size:clamp(7rem,18vw,14rem);font-weight:850;line-height:1;color:transparent;-webkit-text-stroke:1px #bc8cff55;letter-spacing:-.09em;user-select:none}.stats{display:flex;gap:30px;margin:25px 0 0}.stats div{display:flex;align-items:baseline;gap:.6rem}.stats dt{font-size:1.7rem;font-weight:800;color:var(--ink)}.stats dd{margin:0;font-size:.82rem;color:var(--muted)}
.catalog-intro{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px}.catalog-intro h2{font-size:1.45rem;letter-spacing:-.03em;margin:0}.catalog-intro p{font-size:.83rem;color:var(--muted);margin:0}.table-wrap{overflow:visible;border:1px solid var(--line);border-radius:22px;scrollbar-color:#bc8cff77 #0b1022}.catalog{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;min-width:0}.catalog col:first-child{width:88px}.catalog th,.catalog td{text-align:left;vertical-align:top}.catalog thead th{padding:24px;background:#11172c;font-weight:600;border-bottom:1px solid var(--line)}.catalog thead th:first-child{padding:24px 12px;font-size:.68rem;color:var(--muted);vertical-align:bottom}.catalog .course-code{display:inline-block;margin-bottom:9px;font-size:.72rem;font-weight:800;letter-spacing:.1em;color:var(--purple);border:1px solid #bc8cff44;background:#bc8cff0d;border-radius:7px;padding:3px 8px}.catalog .dvd .course-code{color:var(--blue);border-color:#56b9ff44;background:#56b9ff0d}.course-title{display:block;font-size:1.14rem;letter-spacing:-.02em}.course-caption{display:block;color:var(--muted);font-size:.74rem;font-weight:400;margin-top:5px}.catalog tbody th{padding:25px 12px;text-align:center;background:#080c19;color:#78819a;font-size:1rem;font-weight:750;font-variant-numeric:tabular-nums}.catalog tbody td{padding:23px 24px;background:#0b1022}.catalog tbody tr:nth-child(even) td{background:#0d1225}.catalog tbody tr+tr th,.catalog tbody tr+tr td{border-top:1px solid var(--line)}.catalog tr>:last-child{border-left:1px solid var(--line)}.lecture-title{font-size:1.02rem;font-weight:720;line-height:1.4;display:inline-block}.lecture-title:hover{color:var(--purple)}.dvd .lecture-title:hover{color:var(--blue)}.lecture-description{color:var(--muted);font-size:.82rem;margin:8px 0 0}.lecture-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.lecture-links a{font-size:.72rem;border:1px solid var(--line);padding:5px 9px;border-radius:7px;color:#d3d9ec}.lecture-links a:hover{background:#ffffff09;border-color:#bc8cff77;text-decoration:none}.lecture-links .primary{color:var(--purple);background:#bc8cff0c;border-color:#bc8cff33}.dvd .lecture-links .primary{color:var(--blue);border-color:#56b9ff33;background:#56b9ff0c}.empty{color:#78819a;font-size:.82rem}.note{color:var(--muted);font-size:.82rem;margin:20px 0 0;max-width:800px}.note strong{color:#d3d9ec}.course-links{display:flex;flex-wrap:wrap;gap:10px 24px;margin:30px 0 50px;font-size:.83rem;color:var(--muted)}footer{border-top:1px solid var(--line);padding-top:24px;padding-bottom:30px;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:.76rem}
@media(max-width:700px){.site-nav,main,footer{padding-left:18px;padding-right:18px}.site-nav{min-height:72px}.brand{font-size:1.1rem}.brand span{display:none}.hero{padding-top:40px;gap:12px}.hero-mark{display:none}.lead{font-size:1rem}.stats{gap:20px}.catalog-intro{display:block}.catalog-intro p{margin-top:7px}.catalog col:first-child{width:60px}.catalog th,.catalog td{padding:18px!important}.catalog tbody th{padding:18px 6px!important}.catalog thead th:first-child{padding:18px 6px!important}.catalog{min-width:0}.table-wrap{border-radius:16px}footer{display:block}footer span{display:block;margin-top:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{:root{color-scheme:light}body{background:white;color:black}.hero-mark,.languages,.skip{display:none}.site-nav,main,footer{max-width:none}.hero{padding:20px 0}.catalog{min-width:0}.table-wrap{overflow:visible}.catalog tbody td,.catalog tbody th,.catalog thead th{background:white!important;color:black!important}.lecture-title,.lead,.note,.course-caption,.lecture-description,.empty,.course-code{color:#333!important}.catalog tr{break-inside:avoid}.lecture-links a{color:#333!important}.course-links{margin-bottom:20px}}

.catalog tr>:nth-child(n+3){border-left:1px solid var(--line)}.catalog .pga .course-code{color:var(--yellow);border-color:#ffd43b44;background:#ffd43b0d}.pga .lecture-title:hover{color:var(--yellow)}.pga .lecture-links .primary{color:var(--yellow);border-color:#ffd43b33;background:#ffd43b0c}
.catalog .vga .course-code{color:#7de5ba;border-color:#7de5ba44;background:#7de5ba0d}.catalog .egg .course-code{color:#ffa988;border-color:#ffa98844;background:#ffa9880d}
.site-nav,main,footer{max-width:1820px}
.lecture-card+.lecture-card{margin-top:22px;padding-top:22px;border-top:1px solid var(--line)}.catalog .mvt .course-code{color:#f09edc;border-color:#f09edc44;background:#f09edc0d}.catalog .pvr .course-code{color:#9dd9ff;border-color:#9dd9ff44;background:#9dd9ff0d}

/* Keep the full matrix in view; stack topic cards when columns get too narrow. */
.planned-courses{display:none;color:var(--muted);font-size:.82rem}
.catalog th,.catalog td{overflow-wrap:anywhere}.catalog thead th{padding:18px 12px}.catalog tbody td{padding:18px 12px}.course-title{font-size:1rem}.lecture-title{font-size:.94rem}.lecture-links{gap:6px}.lecture-links a{padding:5px 7px}.catalog col:first-child{width:72px}
@media(max-width:1100px){
 .planned-courses{display:block;margin:0 0 24px}
 .table-wrap{border:0;border-radius:0}.catalog,.catalog tbody{display:block;width:100%}.catalog colgroup{display:none}
 .catalog thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .catalog tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:28px}
 .catalog tbody th{grid-column:1/-1;position:static;padding:0 0 3px!important;text-align:left;background:transparent;border:0!important;font-size:.95rem;color:var(--ink)}
 .catalog tbody th::before{content:attr(data-row-label) ' · ';color:var(--muted);font-weight:450}
 .catalog tbody td{min-width:0;border:1px solid var(--line);border-radius:14px;padding:18px!important}
 .catalog tbody td::before{content:attr(data-course);display:block;color:var(--muted);font-size:.76rem;line-height:1.5;margin-bottom:12px}
 .catalog tbody td.is-empty{display:none}.lecture-title{font-size:1rem}.catalog col:first-child{width:auto}
}
@media(max-width:600px){.catalog tbody tr{grid-template-columns:minmax(0,1fr)}}

.subject-nav{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 32px}.subject-nav a{display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;border:1px solid var(--line);border-radius:10px;font-weight:750}.subject-nav a[aria-current]{background:#bc8cff20;color:var(--purple);border-color:var(--purple)}.subject-hero{padding:56px 0 8px}.subject-hero h1{font-size:clamp(2.4rem,6vw,4.5rem);line-height:1.12;max-width:100%;margin:12px 0 20px}.subject-name{display:block;font-size:clamp(1.5rem,3vw,2.5rem);font-weight:550;margin-top:18px;line-height:1.3}.subject-lectures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;list-style:none;padding:0;margin:0}.subject-lecture{min-width:0;border:1px solid var(--line);border-radius:14px;padding:24px;background:#ffffff03}.subject-lecture .eyebrow{margin:0 0 14px}.subject-lecture .lecture-title{font-size:1.18rem}.subject-lecture .lecture-links{flex-wrap:wrap}.subject-lecture a{overflow-wrap:anywhere}@media(max-width:760px){.subject-lectures{grid-template-columns:minmax(0,1fr)}.subject-hero{padding-top:32px}.subject-lecture{padding:20px}.subject-nav{gap:8px}}

.subject-upcoming{margin-top:36px;padding:24px;border:1px solid var(--line);border-radius:14px;color:var(--muted)}.subject-upcoming h2{font-size:1.2rem;color:var(--ink)}.subject-upcoming ol{padding-left:20px;line-height:1.8}.toolbar .pdf-link{display:inline-flex;align-items:center;min-height:40px}

.subject-upcoming .upcoming-source{display:inline-block;min-height:44px;max-width:100%;padding:8px 0;line-height:1.5;overflow-wrap:anywhere}
/* Generated subject name colors */
[data-subject="vhs"],.catalog .vhs{--subject-color:#c0a6df}
[data-subject="dvd"],.catalog .dvd{--subject-color:#9bcbe7}
[data-subject="pga"],.catalog .pga{--subject-color:#dccb8a}
[data-subject="vga"],.catalog .vga{--subject-color:#a0d5bd}
[data-subject="egg"],.catalog .egg{--subject-color:#dfb09e}
[data-subject="mvt"],.catalog .mvt{--subject-color:#d8acd0}
[data-subject="pvr"],.catalog .pvr{--subject-color:#a7cddb}
[data-subject="pg2"],.catalog .pg2{--subject-color:#b8c1df}
.subject-nav a,.subject-nav a[aria-current],.subject-hero h1,.subject-hero h1 span,.catalog .course-code,.catalog .course-title,.catalog tbody td::before{color:var(--subject-color,var(--ink))}
@media print{[data-subject]{color:#333!important}}
