.sp-lib{--sp-live-bg: var(--red);--sp-live-ink: #fff;--sp-logo-plate: #fff}.sp-crs-page{padding:32px 30px 48px;display:grid;gap:32px;max-width:1340px}.sp-crs-card{background:var(--sp-surface);border:1px solid var(--sp-line);border-top:3px solid var(--sp-accent);padding:0 32px 32px;min-width:0}.sp-crs-skel{min-height:320px;background:linear-gradient(90deg,var(--sp-surface),var(--sp-line),var(--sp-surface));background-size:200% 100%;animation:sp-crs-skel 1.4s infinite linear}@keyframes sp-crs-skel{0%{background-position:100% 0}to{background-position:-100% 0}}@media(prefers-reduced-motion:reduce){.sp-crs-skel{animation:none}}.sp-crs-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 0;border-bottom:1px solid var(--sp-line);min-height:84px}.sp-crs-program-logo{height:28px;width:auto;max-width:220px;object-fit:contain;display:block}[data-theme=dark] .sp-crs-program-logo{background:var(--sp-logo-plate);padding:4px 6px;border-radius:4px}.sp-crs-program{font-size:22px;font-weight:var(--sp-strong);letter-spacing:.01em}.sp-crs-top-right{display:flex;align-items:center;gap:16px}.sp-crs-top-note{font-size:13px;color:var(--sp-muted);font-weight:var(--sp-strong)}.sp-crs-dates{display:flex;align-items:center;gap:8px;font-size:11px;white-space:nowrap}.sp-crs-dates-k{text-transform:uppercase;color:var(--sp-muted);letter-spacing:.04em}.sp-crs-dates-v{display:inline-flex;align-items:center;gap:4px;font-weight:var(--sp-strong)}.sp-crs-menu{position:relative}.sp-crs-kebab{width:44px;height:44px;border:1px solid var(--sp-ink);background:var(--sp-surface);font-size:20px;line-height:1;cursor:pointer}.sp-crs-menu-list{position:absolute;right:0;top:calc(100% + 4px);z-index:20;min-width:210px;background:var(--sp-surface);border:1px solid var(--sp-line);box-shadow:var(--shadow);display:grid;padding:6px 0}.sp-crs-menu-list a,.sp-crs-menu-list button{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 18px;border:0;background:none;text-align:left;text-decoration:none;color:var(--sp-ink);font-size:14px;cursor:pointer}.sp-crs-menu-list a:hover,.sp-crs-menu-list button:hover{background:var(--sp-tint);color:var(--sp-tint-ink)}.sp-crs-head{display:flex;gap:32px;padding-top:32px;align-items:flex-start}.sp-crs-img{width:360px;flex:none;aspect-ratio:16 / 9;background:var(--sp-surface);border:1px solid var(--sp-line);overflow:hidden}.sp-crs-img img{width:100%;height:100%;object-fit:cover;display:block}.sp-crs-text{min-width:0;flex:1;display:grid;gap:12px;align-content:start}.sp-crs-title{margin:0;font-size:24px;line-height:1.25;font-weight:var(--sp-strong)}.sp-crs-title a{color:inherit;text-decoration:none}.sp-crs-title a:hover{text-decoration:underline}.sp-crs-text .sp-lib-instructor{font-size:14px}.sp-crs-text .sp-lib-instructor img,.sp-crs-text .sp-lib-instructor-blank{width:32px;height:32px}.sp-crs-desc{margin:4px 0 0;font-size:14px;line-height:24px;white-space:pre-line}.sp-crs-actions{display:flex;gap:16px;justify-content:flex-end;flex-wrap:wrap;margin-top:12px}.sp-crs-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 28px;border:1px solid var(--sp-ink);background:var(--sp-surface);color:var(--sp-ink);font-size:15px;font-weight:var(--sp-strong);text-transform:uppercase;text-decoration:none;cursor:pointer}.sp-crs-btn--primary{background:var(--sp-ink);color:var(--sp-surface)}.sp-crs-btn:disabled{opacity:.6;cursor:default}.sp-crs-live{display:inline-flex;align-items:center;border-radius:10px;padding:2px 8px;background:var(--sp-live-bg);color:var(--sp-live-ink);font-size:10px;font-weight:var(--sp-strong);text-transform:uppercase;letter-spacing:.04em}.sp-crs-sched{margin-top:32px;border:1px solid var(--sp-line);background:var(--sp-page)}.sp-crs-sched-head{display:flex;align-items:center;gap:14px;padding:20px;flex-wrap:wrap}.sp-crs-sched-head h3{margin:0;font-size:20px;font-weight:var(--sp-strong)}.sp-crs-badge{border-radius:12px;padding:3px 10px;background:var(--sp-ink);color:var(--sp-surface);font-size:11px;font-weight:var(--sp-strong)}.sp-crs-sched-toggle{margin-left:auto;display:inline-flex;align-items:center;gap:8px;min-height:44px;border:0;background:none;font-size:14px;font-weight:var(--sp-strong);text-transform:uppercase;cursor:pointer}.sp-crs-table-wrap{padding:0 20px 20px}.sp-crs-none{margin:0;color:var(--sp-muted);font-size:14px}.sp-crs-table{width:100%;border-collapse:collapse;font-size:14px}.sp-crs-table th{background:var(--sp-line);text-align:left;font-size:11px;font-weight:var(--sp-strong);text-transform:uppercase;letter-spacing:.03em;padding:14px 16px}.sp-crs-table td{padding:18px 16px;border-bottom:1px solid var(--sp-line);background:var(--sp-surface);vertical-align:middle}.sp-crs-table tr.is-live td{background:var(--sp-tint);color:var(--sp-tint-ink)}.sp-crs-subject a{color:inherit;text-decoration:none}.sp-crs-subject a:hover{text-decoration:underline}.sp-crs-subject .sp-crs-live{margin-left:8px}.sp-crs-watchcell{width:140px}.sp-crs-bar{display:block;width:104px;height:3px;background:var(--sp-line);border-radius:2px;overflow:hidden}.sp-crs-bar>span{display:block;height:100%;background:var(--sp-accent)}.sp-crs-bar.is-done>span{background:var(--green)}.sp-crs-prevs h2{margin:0 0 24px;font-size:20px;font-weight:var(--sp-strong)}.sp-crs-prev-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:32px}.sp-crs-prev{display:flex;flex-direction:column;background:var(--sp-surface);color:var(--sp-ink);text-decoration:none;border-bottom:3px solid var(--sp-accent);min-width:0;transition:box-shadow .15s}.sp-crs-prev:hover,.sp-crs-prev:focus-visible{box-shadow:var(--shadow)}.sp-crs-prev-media{position:relative;aspect-ratio:16 / 9;background:var(--sp-surface);overflow:hidden;border-bottom:1px solid var(--sp-line)}.sp-crs-prev-media img{width:100%;height:100%;object-fit:cover;display:block}.sp-crs-prev-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:36px}.sp-crs-prev-program{font-size:12px;font-weight:var(--sp-strong);text-transform:uppercase;letter-spacing:.04em;color:var(--sp-muted)}.sp-crs-img.is-empty,.sp-crs-prev-media.is-empty{display:flex;align-items:center;justify-content:center;background:var(--sp-tint);color:var(--sp-tint-ink)}.sp-crs-noimg{padding:16px;text-align:center;font-size:18px;font-weight:var(--sp-strong);text-transform:uppercase;letter-spacing:.02em}.sp-crs-prev-body{padding:16px 16px 22px;display:grid;gap:10px}.sp-crs-prev-body h3{margin:0;font-size:18px;line-height:1.35;font-weight:var(--sp-strong)}.sp-crs-ring{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none}.sp-crs-ring svg{position:absolute;inset:0}.sp-crs-ring-track{fill:none;stroke:var(--sp-line);stroke-width:2}.sp-crs-ring-bar{fill:none;stroke:var(--sp-accent);stroke-width:2;stroke-linecap:round}.sp-crs-ring-text{position:relative;font-size:10px;font-weight:var(--sp-strong);color:var(--sp-muted)}.sp-crs-back{display:inline-flex;align-items:center;gap:4px;justify-self:start;color:var(--sp-muted);font-size:13px;font-weight:var(--sp-strong);text-decoration:none;min-height:32px;margin-bottom:-16px}.sp-crs-back:hover{color:var(--sp-ink)}.sp-crs-watch{display:grid;grid-template-columns:minmax(0,1fr) 372px;gap:32px;margin-top:40px;padding-top:40px;border-top:1px solid var(--sp-line);align-items:start}.sp-crs-watch-list h2{margin:0 0 20px;font-size:20px;font-weight:var(--sp-strong)}.sp-crs-watch-list ol{list-style:none;margin:0;padding:0;display:grid;gap:8px;max-height:440px;overflow-y:auto}.sp-crs-cls{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;column-gap:12px;row-gap:6px;align-items:center;border:1px solid var(--sp-line);padding:16px 18px;min-height:76px;color:var(--sp-ink);text-decoration:none;background:var(--sp-surface)}.sp-crs-cls:hover,.sp-crs-cls:focus-visible{border-color:var(--sp-accent)}.sp-crs-cls.is-live{background:var(--sp-tint);color:var(--sp-tint-ink);border-color:var(--sp-accent)}.sp-crs-cls-meta{grid-column:1;display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--sp-muted);text-transform:uppercase}.sp-crs-cls.is-live .sp-crs-cls-meta{color:inherit}.sp-crs-cls-name{grid-column:1;font-size:14px;font-weight:var(--sp-strong)}.sp-crs-cls>.sp-crs-ring,.sp-crs-cls>.sp-crs-live{grid-column:2;grid-row:1 / span 2}.sp-crs-class-head{display:flex;gap:24px;justify-content:space-between;align-items:flex-end;padding-top:28px;flex-wrap:wrap}.sp-crs-class-when{margin:0;display:inline-flex;align-items:center;gap:8px;font-size:14px}.sp-crs-class-player{margin-top:28px;max-width:1100px}.sp-crs-pager{display:flex;justify-content:space-between;gap:16px;margin-top:28px}.sp-crs-state{padding:80px 16px;text-align:center;display:grid;justify-items:center;gap:8px}.sp-crs-state h2{margin:8px 0 0;font-size:28px;line-height:1.2;font-weight:var(--sp-strong)}.sp-crs-state p{margin:0;font-size:16px;color:var(--sp-muted);max-width:520px}.sp-crs-state svg{color:var(--sp-muted)}.sp-crs-scrim{position:fixed;inset:0;z-index:1200;background:var(--scrim);display:flex;align-items:center;justify-content:center;padding:16px}.sp-crs-dialog{position:relative;width:min(624px,100%);background:var(--sp-surface);color:var(--sp-ink);padding:64px 48px 56px;text-align:center;font-family:var(--sp-font)}.sp-crs-dialog h2{margin:0;font-size:28px;line-height:1.55;font-weight:var(--sp-strong)}.sp-crs-dialog p{margin:16px 0 0;font-size:15px;line-height:24px;color:var(--sp-muted)}.sp-crs-dialog .sp-crs-dialog-sub{color:var(--sp-ink);font-weight:var(--sp-strong)}.sp-crs-dialog .sp-crs-dialog-err{color:var(--red)}.sp-crs-dialog-x{position:absolute;top:20px;right:20px;width:44px;height:44px;border:0;background:none;color:var(--sp-ink);cursor:pointer}.sp-crs-dialog-actions{display:flex;justify-content:center;gap:24px;margin-top:40px;flex-wrap:wrap}.sp-crs-dialog-actions .sp-crs-btn{min-width:120px}.sp-avl-note{margin:0;padding:12px 16px;background:var(--sp-tint);color:var(--sp-tint-ink);font-size:14px}.sp-avl-section{display:grid;gap:20px}.sp-avl-section h2{margin:0;font-size:24px;font-weight:var(--sp-strong)}.sp-avl-section-desc{margin:-8px 0 0;font-size:15px;color:var(--sp-muted);max-width:760px}.sp-avl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:32px}.sp-avl-card{display:flex;flex-direction:column;background:var(--sp-surface);color:var(--sp-ink);border-bottom:3px solid var(--sp-accent);min-width:0}.sp-avl-body{padding:16px 16px 20px;display:grid;gap:10px;flex:1;grid-template-rows:auto auto auto 1fr auto}.sp-avl-body h3{margin:0;font-size:18px;line-height:1.35;font-weight:var(--sp-strong)}.sp-avl-when{margin:0;display:flex;align-items:flex-start;gap:6px;font-size:13px;line-height:20px;color:var(--sp-ink)}.sp-avl-when svg{margin-top:3px;flex:none;color:var(--sp-muted)}.sp-avl-desc{margin:0;font-size:14px;line-height:22px;color:var(--sp-muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.sp-avl-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px;flex-wrap:wrap}.sp-avl-actions .sp-crs-btn{min-height:44px;padding:0 22px;font-size:14px}.sp-avl-more{border:0;background:none;padding:0;min-height:44px;color:var(--sp-ink);font-size:14px;font-weight:var(--sp-strong);text-decoration:underline;cursor:pointer}.sp-avl-registered{border-color:var(--sp-line);background:var(--sp-tint);color:var(--sp-tint-ink);cursor:default}.sp-avl-details{width:min(760px,100%);text-align:left;max-height:calc(100vh - 32px);overflow-y:auto;padding:56px 40px 40px}.sp-avl-details h2{line-height:1.3;padding-right:40px}.sp-avl-details-body{display:grid;gap:12px;margin-top:16px}.sp-avl-details-body h3{margin:12px 0 0;font-size:16px;font-weight:var(--sp-strong)}.sp-avl-details-img{width:100%;aspect-ratio:16 / 9;object-fit:cover;display:block}.sp-crs-dialog p.sp-avl-details-text{margin:0;color:var(--sp-ink);white-space:pre-line}.sp-avl-details .sp-crs-dialog-actions{justify-content:flex-end}@container sp-lib (max-width: 760px){.sp-crs-page{padding:16px 12px 32px;gap:24px}.sp-crs-card{padding:0 16px 20px}.sp-crs-top{flex-wrap:wrap;align-items:flex-start;flex-direction:column;gap:12px;min-height:0}.sp-crs-top-right{width:100%;justify-content:space-between}.sp-crs-head{flex-direction:column;gap:20px;padding-top:16px}.sp-crs-img{width:100%}.sp-crs-title{font-size:22px}.sp-crs-desc{font-size:15px}.sp-crs-actions{display:grid;grid-template-columns:1fr;justify-content:stretch}.sp-crs-sched{margin-top:20px}.sp-crs-sched-head{padding:16px 12px}.sp-crs-sched-toggle{margin-left:0;width:100%;justify-content:center}.sp-crs-table-wrap{padding:0 12px 12px}.sp-crs-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.sp-crs-table,.sp-crs-table tbody{display:block}.sp-crs-table tr{display:grid;grid-template-columns:1fr 1fr;gap:16px 12px;border:1px solid var(--sp-line);background:var(--sp-surface);padding:16px 12px;margin-bottom:12px}.sp-crs-table td{display:grid;gap:4px;padding:0;border:0;background:none}.sp-crs-table td:before{content:attr(data-label);font-size:10px;font-weight:var(--sp-strong);text-transform:uppercase;letter-spacing:.03em;color:var(--sp-muted)}.sp-crs-table td:first-child{display:none}.sp-crs-table td.sp-crs-subject,.sp-crs-table td.sp-crs-watchcell{grid-column:1 / -1}.sp-crs-bar{width:100%}.sp-crs-prev-grid{grid-template-columns:1fr;gap:20px}.sp-crs-watch{grid-template-columns:1fr;margin-top:24px;padding-top:24px;gap:24px}.sp-crs-watch-list ol{max-height:none}.sp-crs-class-head{flex-direction:column;align-items:stretch}.sp-crs-pager .sp-crs-btn{padding:0 14px;font-size:13px}.sp-crs-state h2{font-size:22px}.sp-crs-dialog{padding:56px 20px 32px}.sp-crs-dialog h2{font-size:22px;line-height:1.4}.sp-crs-dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sp-crs-dialog-actions .sp-crs-btn{min-width:0}.sp-avl-grid{grid-template-columns:1fr;gap:20px}.sp-avl-section h2{font-size:20px}.sp-avl-details{padding:56px 16px 24px}.sp-avl-details .sp-crs-dialog-actions,.sp-crs-dialog-actions:has(>:nth-child(3)){grid-template-columns:1fr}}@container sp-lib (min-width: 761px) and (max-width: 1100px){.sp-crs-img{width:280px}.sp-crs-watch{grid-template-columns:1fr}}
