/* Campus variants (edu.ucademy.ca) — prefix uc-cv- */
.uc-cv{padding:40px 0 96px}
.uc-cv-icon{width:18px;height:18px;flex:none}
.uc-cv-crumb{display:flex;gap:8px;font-size:var(--uc-fs-xs);color:var(--uc-text-2);list-style:none;padding:0;margin:0 0 14px}.uc-cv-crumb li+li::before{content:"/";margin-right:8px;color:var(--uc-line-2)}
.uc-cv-crumb a{color:var(--uc-text-2);text-decoration:none}
.uc-cv-dot{width:8px;height:8px;border-radius:50%;flex:none;background:currentColor}
.uc-cv-biz{--s:var(--uc-navy);--s50:var(--uc-navy-50)}.uc-cv-tech{--s:var(--uc-red-700);--s50:var(--uc-red-50)}.uc-cv-health{--s:var(--uc-green);--s50:var(--uc-green-50)}
.uc-cv-meta{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:var(--uc-fs-sm);color:var(--uc-text-2)}.uc-cv-meta span{display:inline-flex;align-items:center;gap:6px}.uc-cv-meta svg{width:16px;height:16px}
/* Catalog A — shelves */
.uc-cva-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end;padding-bottom:28px;border-bottom:1px solid var(--uc-line);margin-bottom:8px}
.uc-cva-jump{display:flex;gap:8px}
.uc-cva-jump a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border:1px solid var(--uc-line-2);border-radius:var(--uc-r-pill);background:#fff;color:var(--uc-navy);font-weight:600;font-size:var(--uc-fs-sm);text-decoration:none}
.uc-cva-jump a i{color:var(--s)}
.uc-cva-shelf{display:grid;grid-template-columns:280px minmax(0,1fr);gap:40px;padding:40px 0;border-bottom:1px solid var(--uc-line)}
.uc-cva-shelf__h{display:grid;gap:12px;align-content:start;position:sticky;top:100px}
.uc-cva-shelf__h .uc-stream{background:var(--s50);color:var(--s)}
.uc-cva-shelf__n{font-family:var(--uc-f-head);font-size:4rem;line-height:1;font-weight:700;color:var(--s);letter-spacing:-.04em}
.uc-cva-list{display:grid;gap:10px}
.uc-cva-row{display:grid;grid-template-columns:96px minmax(0,1fr) 110px 110px 150px;gap:24px;align-items:center;padding:14px 20px 14px 14px;background:#fff;border:1px solid var(--uc-line);border-radius:var(--uc-r-md);text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .2s}
.uc-cva-row:hover{border-color:var(--s);box-shadow:var(--uc-sh-2)}
.uc-cva-row img{width:96px;height:72px;object-fit:cover;border-radius:var(--uc-r-sm);background:var(--s50)}
.uc-cva-row h3{font-family:var(--uc-f-head);font-size:1.125rem;font-weight:600;color:var(--uc-navy);margin:0 0 4px;letter-spacing:-.01em}
.uc-cva-row p{margin:0;font-size:var(--uc-fs-sm);color:var(--uc-text-2);text-wrap:pretty}
.uc-cva-k{display:grid;gap:2px}.uc-cva-k b{font-family:var(--uc-f-head);font-size:1.25rem;color:var(--uc-navy);font-weight:600}.uc-cva-k small{font-size:var(--uc-fs-xs);color:var(--uc-text-2)}
.uc-cva-go{justify-self:end;display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:var(--uc-fs-sm);color:var(--s)}
.uc-cva-help{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;margin-top:48px;padding:32px 36px;background:var(--uc-navy);border-radius:var(--uc-r-lg);color:var(--uc-on-dark-2)}
.uc-cva-help .uc-h3{color:#fff;margin-bottom:6px}
/* Course A — syllabus-first */
.uc-cvc-hero{background:var(--uc-navy);color:var(--uc-on-dark-2);padding:48px 0 120px;position:relative;overflow:hidden}
.uc-cvc-hero .uc-cv-crumb,.uc-cvc-hero .uc-cv-crumb a{color:var(--uc-on-dark-2)}
.uc-cvc-hero .uc-h1{color:#fff;max-width:720px;margin:12px 0 16px}
.uc-cvc-hero .uc-lead{color:var(--uc-on-dark-2);max-width:640px}
.uc-cvc-leaf{position:absolute;right:-80px;top:-60px;width:520px;fill:rgba(255,255,255,.04)}
.uc-cvc-g{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:48px;align-items:start;margin-top:-80px;position:relative}
.uc-cvc-facts{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--uc-line);border-radius:var(--uc-r-lg);box-shadow:var(--uc-sh-2);margin-bottom:56px}
.uc-cvc-facts div{padding:22px 24px;display:grid;gap:4px}.uc-cvc-facts div+div{border-left:1px solid var(--uc-line)}
.uc-cvc-facts b{font-family:var(--uc-f-head);font-size:1.5rem;color:var(--uc-navy);font-weight:700;letter-spacing:-.02em}.uc-cvc-facts small{font-size:var(--uc-fs-xs);color:var(--uc-text-2)}
.uc-cvc-sem{margin-bottom:48px}
.uc-cvc-sem__h{display:flex;align-items:baseline;gap:16px;padding-bottom:14px;border-bottom:2px solid var(--uc-navy);margin-bottom:6px}
.uc-cvc-sem__h b{font-family:var(--uc-f-head);font-size:2.25rem;color:var(--uc-red);line-height:1}
.uc-cvc-sem__h small{margin-left:auto;font-size:var(--uc-fs-sm);color:var(--uc-text-2)}
.uc-cvc-li{list-style:none;margin:0;padding:0}
.uc-cvc-li li{display:grid;grid-template-columns:44px 96px minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid var(--uc-line)}
.uc-cvc-li i{font-style:normal;font-family:var(--uc-f-head);font-weight:600;color:var(--uc-text-2);font-size:var(--uc-fs-sm)}
.uc-cvc-li code{font:600 .8125rem var(--uc-f-body);color:var(--uc-navy);letter-spacing:.04em}
.uc-cvc-li b{font-weight:600;color:var(--uc-navy)}
.uc-cvc-li span{display:inline-flex;align-items:center;gap:6px;font-size:var(--uc-fs-xs);color:var(--uc-text-2)}.uc-cvc-li span svg{width:15px;height:15px}
.uc-cvc-li li.is-free b::after{content:"Free preview";margin-left:10px;font-size:.6875rem;font-weight:600;padding:3px 8px;border-radius:99px;background:var(--uc-green-50);color:var(--uc-green);vertical-align:2px}
.uc-cvc-card{position:sticky;top:96px;background:#fff;border:1px solid var(--uc-line);border-radius:var(--uc-r-lg);box-shadow:var(--uc-sh-3);overflow:hidden}
.uc-cvc-card img{width:100%;height:180px;object-fit:cover}
.uc-cvc-card__b{padding:24px;display:grid;gap:16px}
.uc-cvc-note{display:flex;gap:10px;padding:12px 14px;background:var(--uc-gold-50);border-radius:var(--uc-r);font-size:var(--uc-fs-xs);color:#5E3D00;line-height:1.5}.uc-cvc-note i{width:8px;height:8px;border-radius:50%;background:var(--uc-gold);flex:none;margin-top:5px}
.uc-cvc-outc{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 56px;padding:0;list-style:none}
.uc-cvc-outc li{display:flex;gap:12px;padding:16px 18px;background:#fff;border:1px solid var(--uc-line);border-radius:var(--uc-r-md);font-weight:500;color:var(--uc-navy);font-size:var(--uc-fs-sm)}
.uc-cvc-outc svg{width:20px;height:20px;color:var(--uc-green);flex:none}
/* Dashboard A — today */
.uc-cve-h{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}
.uc-cve-g{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;align-items:start}
.uc-cve-now{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);background:var(--uc-navy);border-radius:var(--uc-r-lg);overflow:hidden;color:var(--uc-on-dark-2)}
.uc-cve-now__b{padding:36px;display:grid;gap:16px;align-content:center}
.uc-cve-now__b .uc-h2{color:#fff}
.uc-cve-now__img{position:relative;min-height:300px}.uc-cve-now__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.uc-cve-now__img::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--uc-navy),transparent 40%)}
.uc-cve-tm{display:flex;gap:6px;align-items:center;font-size:var(--uc-fs-xs);color:#fff;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.uc-cve-bar{height:6px;border-radius:9px;background:rgba(255,255,255,.15);overflow:hidden}.uc-cve-bar i{display:block;height:100%;width:var(--v);background:var(--uc-red)}
.uc-cve-week{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin:28px 0}
.uc-cve-day{background:#fff;border:1px solid var(--uc-line);border-radius:var(--uc-r-md);padding:14px 12px;display:grid;gap:10px;min-height:120px;align-content:start}
.uc-cve-day small{font-size:var(--uc-fs-xs);color:var(--uc-text-2);font-weight:600;text-transform:uppercase;letter-spacing:.08em}
.uc-cve-day b{font-family:var(--uc-f-head);font-size:1.25rem;color:var(--uc-navy)}
.uc-cve-day.is-today{border-color:var(--uc-navy);box-shadow:inset 0 0 0 1px var(--uc-navy)}
.uc-cve-day.is-done b::after{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--uc-green);margin-left:6px;vertical-align:4px}
.uc-cve-chip{font-size:.75rem;line-height:1.35;padding:6px 8px;border-radius:6px;background:var(--uc-bg);color:var(--uc-navy);font-weight:500}
.uc-cve-chip.is-q{background:var(--uc-gold-50);color:var(--uc-amber-700)}.uc-cve-chip.is-ok{background:var(--uc-green-50);color:var(--uc-green)}
.uc-cve-box{background:#fff;border:1px solid var(--uc-line);border-radius:var(--uc-r-md);padding:22px}
.uc-cve-box+.uc-cve-box{margin-top:16px}
.uc-cve-due{list-style:none;margin:14px 0 0;padding:0;display:grid}
.uc-cve-due li{display:grid;grid-template-columns:52px minmax(0,1fr);gap:14px;align-items:center;padding:12px 0;border-top:1px solid var(--uc-line)}
.uc-cve-date{display:grid;place-items:center;height:52px;border-radius:var(--uc-r);background:var(--uc-bg);line-height:1.05}.uc-cve-date b{font-family:var(--uc-f-head);font-size:1.25rem;color:var(--uc-navy)}.uc-cve-date small{font-size:.6875rem;text-transform:uppercase;font-weight:600;color:var(--uc-text-2)}
.uc-cve-due span{font-size:var(--uc-fs-sm);color:var(--uc-navy);font-weight:500}.uc-cve-due span small{display:block;color:var(--uc-text-2);font-weight:400;font-size:var(--uc-fs-xs)}
.uc-cve-courses{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.uc-cve-c{background:#fff;border:1px solid var(--uc-line);border-radius:var(--uc-r-md);padding:20px;display:grid;gap:12px}
