.edu-course-table{--ect-surf:#ffffff;--ect-bg:#f4f7fa;--ect-hover:#f6f9fc;--ect-tint:#e3edf5;--ect-border:#d0dde8;--ect-r:12px;--ect-ink:#0d1f2d;--ect-slate:#3d5568;--ect-muted:#7a90a0;background:var(--ect-surf);border:1px solid var(--ect-border);border-radius:var(--ect-r);overflow:hidden}.edu-course-table:has(.ect-rows:empty){display:none}.ect-rows{list-style:none;margin:0;padding:0}.ect-rows li{margin:0}.ect-rows li+li .ect-row{border-top:1px solid var(--ect-border)}.ect-row{--c:#164863;display:grid;grid-template-columns:minmax(0,1fr)90px 80px 130px 16px;gap:1.25rem;align-items:center;padding:.85rem 1.25rem;text-decoration:none;color:var(--ect-ink)}.has-subject .ect-row{grid-template-columns:minmax(0,1fr)170px 90px 80px 130px 16px}.ect-row.c-yh{--c:#0c6b5a}.ect-row.c-net{--c:#b83d10}.ect-head{font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ect-muted);background:var(--ect-bg);border-bottom:1px solid var(--ect-border);padding-block:.7rem}a.ect-row{transition:background .1s}a.ect-row:hover{background:var(--ect-hover)}a.ect-row:hover .ect-title{color:var(--c);text-decoration:underline;text-underline-offset:3px}a.ect-row:focus-visible{outline:2px solid var(--c);outline-offset:-2px}.ect-cells{display:contents}.ect-name{min-width:0;display:grid;gap:.1rem}.ect-title{font-weight:700;font-size:.92rem;line-height:1.3;overflow-wrap:break-word;hyphens:auto}.ect-prov{font-size:.78rem;color:var(--ect-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ect-cell{font-size:.84rem;color:var(--ect-slate)}.ect-sub{font-size:.78rem}.ect-pace{display:flex;align-items:center;gap:.45rem}.ect-pie{width:16px;height:16px;border-radius:50%;flex:none;background:conic-gradient(var(--c) calc(var(--p) * 1%),var(--ect-tint) 0)}.ect-arrow{color:var(--ect-muted)}a.ect-row:hover .ect-arrow{color:var(--c)}.ect-lbl{display:none}@media(max-width:860px){.has-subject .ect-row{grid-template-columns:minmax(0,1fr)90px 80px 130px 16px}.ect-sub{display:none}}@media(max-width:640px){.ect-head{display:none}.ect-row,.has-subject .ect-row{grid-template-columns:minmax(0,1fr)auto;grid-template-areas:"name arrow" "facts facts";gap:.4rem 1rem;padding:.9rem 1.1rem}.ect-name{grid-area:name}.ect-arrow{grid-area:arrow}.ect-cells{grid-area:facts;display:flex;flex-wrap:wrap;gap:.25rem 1rem}.ect-lbl{display:inline;color:var(--ect-muted)}}