.sp-lib{--sp-page: var(--bg);--sp-surface: var(--surface);--sp-ink: var(--text);--sp-muted: var(--text-sec);--sp-line: var(--border);--sp-accent: var(--ebf-accent);--sp-accent-ink: var(--ebf-accent-ink);--sp-tint: var(--ebf-accent-pale);--sp-tint-ink: var(--ebf-ink);--sp-font: var(--ebf-body);--sp-strong: var(--ebf-strong);--sp-badge-bg: var(--scrim);--sp-badge-ink: #fff;container-type:inline-size;container-name:sp-lib;background:var(--sp-page);color:var(--sp-ink);font-family:var(--sp-font);min-height:100%}.sp-lib *,.sp-lib *:before,.sp-lib *:after{box-sizing:border-box}:where(.sp-lib) button{font-family:inherit;color:inherit}.sp-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.sp-lib-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 30px;border-bottom:1px solid var(--sp-line)}.sp-lib-topbar-chips{min-width:0;flex:1}.sp-lib-topbar-search{display:flex;align-items:center;gap:12px;width:min(390px,100%)}.sp-lib-search{flex:1;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--sp-muted);color:var(--sp-ink);min-height:44px}.sp-lib-search input{flex:1;min-width:0;border:0;background:transparent;color:var(--sp-ink);font:inherit;font-size:15px;padding:8px 0;outline:none}.sp-lib-search input::placeholder{color:var(--sp-muted)}.sp-lib-search:focus-within{border-bottom-color:var(--sp-ink)}.sp-lib-filterbtn{display:none;position:relative;width:44px;height:44px;flex:none;border-radius:50%;border:0;background:var(--sp-line);color:var(--sp-ink);cursor:pointer;align-items:center;justify-content:center}.sp-lib-filterbtn.has-dot:after{content:"";position:absolute;top:4px;right:4px;width:8px;height:8px;border-radius:50%;background:var(--red)}.sp-lib-chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}.sp-lib-chip{display:inline-flex;align-items:center;gap:6px;border:0;border-radius:20px;padding:4px 10px;min-height:28px;background:var(--sp-tint);color:var(--sp-tint-ink);font-size:12px;font-weight:var(--sp-strong);cursor:pointer}.sp-lib-phone-chips{display:none}.sp-lib-layout{display:flex;gap:30px;padding:24px 30px 40px;align-items:flex-start}.sp-lib-side{width:186px;flex:none;position:sticky;top:16px}.sp-lib-main{flex:1;min-width:0}.sp-lib-filters{font-size:14px}.sp-lib-reset{display:inline-flex;align-items:center;gap:6px;border:0;background:none;padding:0 0 20px;font-size:12px;font-weight:var(--sp-strong);cursor:pointer}.sp-lib-fsec{border-top:1px solid var(--sp-line);padding:20px 0}.sp-lib-fsec h4{margin:0 0 12px;font-size:12px;font-weight:var(--sp-strong);color:var(--sp-muted)}.sp-lib-flist{list-style:none;margin:0;padding:0;display:grid;gap:2px}.sp-lib-flist--sub{padding-left:12px;margin:2px 0 4px;font-size:13px}.sp-lib-flink,.sp-lib-fcheck{display:flex;align-items:center;gap:10px;width:100%;border:0;background:none;padding:3px 0;min-height:28px;text-align:left;font-size:inherit;cursor:pointer}.sp-lib-flink.is-on{font-weight:var(--sp-strong)}.sp-lib-flink.is-on:before{content:"";width:4px;height:16px;border-radius:2px;background:var(--sp-accent);flex:none;margin-left:-10px}.sp-lib-flink:hover,.sp-lib-fcheck:hover{text-decoration:underline}.sp-lib-more{border:0;background:none;padding:8px 0 0;font-size:12px;font-weight:var(--sp-strong);text-decoration:underline;cursor:pointer}.sp-lib-check{width:22px;height:22px;flex:none;border-radius:50%;border:1.5px solid var(--sp-ink);display:inline-flex;align-items:center;justify-content:center}.sp-lib-check.is-on{background:var(--sp-ink);color:var(--sp-surface)}.sp-lib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.sp-lib-grid.is-busy{opacity:.6;transition:opacity .15s}.sp-lib-card{display:flex;flex-direction:column;background:var(--sp-surface);border:1px solid var(--sp-line);color:var(--sp-ink);text-decoration:none;min-width:0;transition:box-shadow .15s}.sp-lib-card:hover,.sp-lib-card:focus-visible{box-shadow:var(--shadow)}.sp-lib-card-media{position:relative;aspect-ratio:16 / 9;background:var(--sp-line);overflow:hidden}.sp-lib-card-media img,.sp-lib-item-thumb img{width:100%;height:100%;object-fit:cover;display:block}.sp-lib-card-noimg{display:block;width:100%;height:100%;background:var(--sp-line)}.sp-lib-badge{position:absolute;top:8px;left:8px;width:28px;height:28px;border-radius:50%;background:var(--sp-badge-bg);color:var(--sp-badge-ink);display:inline-flex;align-items:center;justify-content:center}.sp-lib-card-body{padding:16px 16px 18px;display:grid;gap:10px}.sp-lib-card-title{margin:0;font-size:16px;line-height:24px;font-weight:var(--sp-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sp-lib-instructor{display:flex;align-items:center;gap:8px;font-size:12px;line-height:16px;font-weight:var(--sp-strong);color:var(--sp-muted);min-width:0}.sp-lib-instructor img,.sp-lib-instructor-blank{width:26px;height:26px;border-radius:50%;object-fit:cover;flex:none;background:var(--sp-line)}.sp-lib-instructor span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sp-lib-card-excerpt{margin:4px 0 0;font-size:14px;line-height:24px;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.sp-lib-loadmore{display:flex;align-items:center;gap:24px;margin-top:32px}.sp-lib-loadmore:before,.sp-lib-loadmore:after{content:"";flex:1;border-top:1px solid var(--sp-ink)}.sp-lib-loadmore button{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--sp-ink);background:var(--sp-surface);padding:10px 18px;min-height:44px;font-size:14px;font-weight:var(--sp-strong);text-transform:uppercase;cursor:pointer}.sp-lib-state{padding:80px 16px;text-align:center;color:var(--sp-ink);display:grid;justify-items:center;gap:8px}.sp-lib-state h2{margin:8px 0 0;font-size:28px;line-height:1.2;font-weight:var(--sp-strong)}.sp-lib-state p{margin:0;font-size:16px;color:var(--sp-muted)}.sp-lib-state svg{color:var(--sp-muted)}.sp-lib-state--error{color:var(--red)}.sp-lib-panel{position:fixed;inset:0;z-index:1200;background:var(--sp-page);display:flex;flex-direction:column}.sp-lib-panel-scroll{flex:1;overflow-y:auto;padding:20px 16px}.sp-lib-panel .sp-lib-flist{grid-template-columns:1fr 1fr;column-gap:16px}.sp-lib-panel .sp-lib-flist--sub{grid-template-columns:1fr}.sp-lib-panel-actions{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:16px;border-top:1px solid var(--sp-line)}.sp-lib-btn{min-height:52px;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;cursor:pointer}.sp-lib-btn--primary{background:var(--sp-ink);color:var(--sp-surface)}.sp-lib-item{padding:20px 30px 40px}.sp-lib-back{display:inline-flex;align-items:center;gap:4px;color:var(--sp-muted);font-size:13px;font-weight:var(--sp-strong);text-decoration:none;margin-bottom:14px;min-height:32px}.sp-lib-back:hover{color:var(--sp-ink)}.sp-lib-item-card{background:var(--sp-surface);border:1px solid var(--sp-line);padding:32px}.sp-lib-item-head{display:flex;gap:32px;align-items:flex-start}.sp-lib-item-thumb{position:relative;width:360px;flex:none;aspect-ratio:16 / 9;overflow:hidden;background:var(--sp-line)}.sp-lib-item-text{min-width:0;display:grid;gap:12px;align-content:start}.sp-lib-item-title{margin:0;font-size:24px;line-height:1.25;font-weight:var(--sp-strong)}.sp-lib-item-text .sp-lib-instructor{font-size:14px}.sp-lib-item-text .sp-lib-instructor img,.sp-lib-item-text .sp-lib-instructor-blank{width:32px;height:32px}.sp-lib-item-desc{margin:8px 0 0;font-size:14px;line-height:24px;white-space:pre-line}.sp-lib-rule{border:0;border-top:1px solid var(--sp-line);margin:40px 0}.sp-lib{--sp-media-ground: #fff}[data-theme=dark] .sp-lib[data-program=ascent]{--sp-tint-ink: var(--text)}.sp-lib-stage{display:grid;grid-template-columns:minmax(0,860px);gap:32px;align-items:start}.sp-lib-stage.has-classes{grid-template-columns:minmax(0,2fr) minmax(240px,1fr)}.sp-lib-stage .sp-player{background:var(--sp-media-ground)}.sp-lib-stage--audio .sp-player{aspect-ratio:auto;height:40px}.sp-lib-classes h2{margin:0 0 16px;font-size:20px;line-height:30px;font-weight:var(--sp-strong);color:var(--sp-ink)}.sp-lib-class-list{list-style:none;margin:0;padding:0 4px 0 0;display:grid;gap:8px;max-height:460px;overflow-y:auto}.sp-lib-class{display:flex;align-items:center;gap:12px;width:100%;min-height:72px;padding:14px 16px;text-align:left;background:var(--sp-surface);border:1px solid var(--sp-line);color:var(--sp-ink);cursor:pointer}.sp-lib-class:hover{border-color:var(--sp-ink)}.sp-lib-class.is-on{background:var(--sp-tint);border-color:var(--sp-accent);color:var(--sp-tint-ink)}.sp-lib-class-text{flex:1;min-width:0;display:grid;gap:6px}.sp-lib-class-time{display:inline-flex;align-items:center;gap:6px;font-size:10px;line-height:16px;font-weight:var(--sp-strong);letter-spacing:.3px;color:var(--sp-muted)}.sp-lib-class.is-on .sp-lib-class-time{color:inherit}.sp-lib-class-title{font-size:14px;line-height:20px;font-weight:var(--sp-strong)}.sp-lib-class-play{width:40px;height:40px;flex:none;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--sp-line)}.sp-lib-class.is-on .sp-lib-class-play{background:var(--sp-accent);color:var(--sp-accent-ink);border-color:var(--sp-accent)}.sp-lib-related{margin-top:40px}.sp-lib-related h2{margin:0 0 24px;font-size:20px;line-height:30px;font-weight:var(--sp-strong)}@container sp-lib (max-width: 760px){.sp-lib-topbar{padding:16px;border-bottom:0}.sp-lib-topbar-chips{display:none}.sp-lib-topbar-search{width:100%}.sp-lib-filterbtn{display:inline-flex}.sp-lib-phone-chips{display:block;padding:0 16px 16px;border-bottom:1px solid var(--sp-line)}.sp-lib-phone-chips:empty{display:none}.sp-lib-layout{padding:16px}.sp-lib-side{display:none}.sp-lib-grid{grid-template-columns:1fr}.sp-lib-state h2{font-size:22px}.sp-lib-item{padding:12px 16px 32px}.sp-lib-item-card{padding:16px}.sp-lib-item-head{flex-direction:column;gap:20px}.sp-lib-item-thumb{width:100%}.sp-lib-item-title{font-size:22px}.sp-lib-item-desc{font-size:15px}.sp-lib-rule{margin:24px 0}.sp-lib-stage,.sp-lib-stage.has-classes{grid-template-columns:minmax(0,1fr);gap:20px}.sp-lib-class-list{display:flex;overflow-x:auto;max-height:none;gap:12px;padding:0 0 8px;scroll-snap-type:x mandatory}.sp-lib-class-list li{flex:0 0 240px;scroll-snap-align:start}}@container sp-lib (min-width: 761px) and (max-width: 1100px){.sp-lib-item-thumb{width:280px}}
