/* Two distinct editorial treatments for the course and live libraries. */
.library-opening{margin:0 0 32px;min-width:0}
.library-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:32px 0 24px}
.library-heading h1{margin:0;color:#161616;font-size:var(--type-page,30px);line-height:1.35;font-weight:700;letter-spacing:-.7px}
.library-layout-switch{display:flex;align-items:center;gap:3px;padding:4px;background:#f4f4f4;border-radius:10px;flex:none}
.library-layout-switch button{display:flex;align-items:center;gap:7px;min-height:32px;padding:0 12px;border-radius:7px;font-size:11px;color:#818181;white-space:nowrap;transition:background .15s,color .15s}
.library-layout-switch button>span{font-size:10px;font-weight:600;opacity:.6}
.library-layout-switch button[aria-pressed="true"]{background:#fff;color:#161616;box-shadow:0 1px 3px #0000000b}
.library-layout-switch button[aria-pressed="true"]>span{color:#198747;opacity:1}
.library-layout-switch button:hover{color:#161616}
.library-feature-body{min-width:0}
.library-pair-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.library-feature-card{display:block;min-width:0;color:#161616;text-decoration:none;border-radius:16px}
.library-feature-cover{display:block;position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:16px;background:#f3f3f3}
.library-feature-cover>img{display:block;width:100%;height:100%;object-fit:cover}
.library-cover-play{position:absolute;right:16px;bottom:16px;display:grid;place-items:center;width:36px;height:36px;border:1px solid #ffffffb3;border-radius:50%;background:#ffffffdf;color:#222b26;box-shadow:0 2px 10px #00000012;opacity:0;transform:translateY(3px);transition:opacity .18s,transform .18s,border-color .18s}
.library-cover-play svg{width:17px;height:17px;margin:0}
.library-feature-card:is(:hover,:focus-visible) .library-cover-play{opacity:1;transform:none}
.library-feature-caption{display:flex;align-items:center;gap:16px;padding:17px 0 0}
.library-feature-copy{min-width:0;flex:1}
.library-feature-meta{display:flex;align-items:center;flex-wrap:wrap;gap:7px;color:#909090;font-size:11px;line-height:1.5}
.library-feature-meta i{width:2px;height:2px;border-radius:50%;background:#b5b5b5}
.library-feature-copy h2{margin:6px 0 0;font-size:21px;line-height:1.45;font-weight:600;letter-spacing:-.4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.library-feature-action{display:grid;place-items:center;width:30px;height:30px;flex:none;border:1px solid #e7e7e7;border-radius:50%;background:#fff;color:#686868;transition:background .15s,border-color .15s,color .15s}
.library-feature-action svg{width:14px;height:14px;stroke-width:1.5}
.library-feature-card:hover .library-feature-action{background:#f1faf4;border-color:#c4e7d0;color:#24894b}
/* One cover row sets both columns' height; details appear inside the cover. */
.library-focus{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr);gap:0 28px;align-items:stretch;padding:0;border:0;background:transparent}
.library-focus-main{grid-column:1;grid-row:1;min-width:0}
.library-focus-main .library-feature-cover{border-radius:16px}
.library-playlist{grid-column:2;grid-row:1;display:flex;flex-direction:column;min-width:0;min-height:0;contain:size}
.library-focus-overlay{position:absolute;inset:auto 0 0;padding:72px 24px 24px;background:linear-gradient(180deg,transparent,rgba(10,18,13,.76));opacity:0;transform:translateY(5px);pointer-events:none;transition:opacity .18s ease,transform .18s ease}
.library-focus-main .library-feature-card:is(:hover,:focus-visible) .library-focus-overlay{opacity:1;transform:none}
.library-focus-summary{display:flex;align-items:flex-end;gap:20px;color:#fff}
.library-focus-summary .library-feature-copy h2{font-size:21px;line-height:1.45;margin-top:5px;color:inherit}
.library-focus-summary .library-feature-meta{color:#ffffffbd}
.library-focus-summary .library-feature-meta i{background:currentColor}
.library-focus-cta{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:none;min-height:38px;padding:0 17px;border-radius:999px;background:var(--brand);color:#143522;font-size:12px;font-weight:600;text-decoration:none;transition:background .15s}
.library-focus-cta svg{width:13px;height:13px}
.library-focus-main .library-feature-card:is(:hover,:focus-visible) .library-focus-cta{background:var(--brand)}
.library-playlist-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:1px 12px 14px;flex:none;border:0}
.library-playlist-heading h2{margin:0;font-size:17px;line-height:1.5;font-weight:600;letter-spacing:-.2px}
.library-playlist-items{display:grid;grid-template-rows:repeat(var(--playlist-count),minmax(0,1fr));flex:1;min-height:0;gap:6px}
.library-playlist-item{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:34% minmax(0,1fr) 16px;grid-template-rows:minmax(0,1fr);align-items:center;gap:14px;width:100%;min-width:0;min-height:0;padding:10px 12px;text-align:left;border-radius:12px;transition:background .15s}
.library-playlist-item.is-active{background:#f7f9f7}
.library-playlist-item.is-active:before{content:'';position:absolute;inset:0;z-index:-1;background:#e4f2e9;transform:scaleX(var(--library-progress,0));transform-origin:left;pointer-events:none}
.library-playlist-item:not(.is-active):hover{background:#f7f8f7}
.library-playlist-cover{position:relative;display:block;aspect-ratio:16/9;min-width:0;max-height:100%;overflow:hidden;border-radius:8px;background:#f2f2f2}
.library-playlist-cover>img{display:block;width:100%;height:100%;object-fit:cover}
.library-playlist-copy{display:flex;flex-direction:column;gap:6px;min-width:0}
.library-playlist-copy small{font-size:10px;line-height:1.4;color:#898f8b}
.library-playlist-copy strong{font-size:14px;line-height:1.5;font-weight:500;color:#262626;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.library-playlist-item.is-active .library-playlist-copy strong{font-weight:600;color:#173d26}
.library-playlist-item.is-active .library-playlist-copy small{color:#29864b}
.library-playlist-state{display:grid;place-items:center;color:#23934f}
.library-playlist-state svg{width:14px;height:14px}
.library-focus :is(a,button):focus-visible{outline:2px solid var(--focus,#008f3a);outline-offset:3px}
.library-opening~.live-replay-grid{margin-top:0}
.library-opening~.course-view-tabs{margin-top:3px}
@media(max-width:1250px){.library-focus{gap:0 22px;grid-template-columns:minmax(0,1.7fr) minmax(240px,1fr)}.library-playlist-item{gap:10px;padding:8px 10px}.library-playlist-heading{padding-inline:10px;padding-bottom:10px}.library-playlist-copy strong{font-size:13px}.library-playlist-copy{gap:4px}.library-focus-summary .library-feature-copy h2{font-size:20px}}
@media(max-width:1100px){
 .library-focus{grid-template-columns:1fr;gap:0}
 .library-playlist{grid-column:1;grid-row:2;contain:none;margin-top:22px;padding-top:18px;border-top:1px solid #ececec}
 .library-playlist-heading{padding:0 0 12px}
 .library-playlist-heading h2{font-size:15px}
 .library-playlist-items{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;flex:none;gap:6px 12px}
 .library-playlist-item{grid-template-columns:90px minmax(0,1fr) 14px;padding:10px;gap:10px;min-height:72px}
 .library-playlist-copy strong{font-size:13px}
}
@media(max-width:600px){
 .library-heading{padding:26px 0 20px;gap:14px;flex-wrap:wrap}
 .library-heading h1{font-size:26px}
 .library-layout-switch button{padding:0 9px;min-height:30px;font-size:10px;gap:5px}
 .library-layout-switch{padding:3px;border-radius:8px}
 .library-feature-cover{border-radius:12px}
 .library-feature-caption{padding-top:13px;gap:12px}
 .library-feature-copy h2,.library-focus-summary .library-feature-copy h2{font-size:19px}
 .library-feature-meta{font-size:10px}
 .library-feature-action{width:32px;height:32px}
 .library-focus-main .library-feature-cover{border-radius:12px}
 .library-playlist-items{grid-template-columns:1fr;gap:5px}
 .library-playlist-item{grid-template-columns:96px minmax(0,1fr) 16px}
 .library-focus-overlay{padding:48px 16px 16px}
 .library-focus-summary{gap:12px;align-items:flex-end}
 .library-focus-summary .library-feature-copy h2{font-size:17px}
 .library-focus-cta{min-height:36px;padding:0 13px;font-size:11px;gap:6px}
 .library-focus-cta svg{width:11px;height:11px}
 .library-opening{margin-bottom:28px}
}
@media(prefers-reduced-motion:reduce){.library-opening *{transition:none!important;scroll-behavior:auto!important}}
@media(hover:none){.library-focus-overlay{opacity:1;transform:none}}

/* The active row's background fills from left to right with the autoplay clock. */
.library-playlist-tools{display:flex;align-items:center;gap:10px;flex:none}
.library-playlist-tools>span{font-size:10px;color:#999;font-variant-numeric:tabular-nums}
.library-autoplay{display:grid;place-items:center;width:26px;height:26px;padding:0;border:1px solid #e8e8e8;border-radius:50%;color:#737b76;background:#fff}
.library-autoplay:hover{color:#226d3e;border-color:#bddbc8;background:#f7fbf8}
.library-autoplay svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
.library-focus-main .library-feature-card{animation:library-live-reveal .2s ease both}
@keyframes library-live-reveal{from{opacity:.5}to{opacity:1}}
@media(max-width:600px){.library-cover-play{width:32px;height:32px;right:12px;bottom:12px}.library-cover-play svg{width:15px;height:15px}}
@media(prefers-reduced-motion:reduce){.library-focus-main .library-feature-card{animation:none}.library-playlist-item.is-active:before{transform:scaleX(1)}}

@media(max-width:600px){.library-pair-grid{grid-template-columns:minmax(0,1fr);gap:24px}}

@media(max-width:380px){.library-focus-summary .library-feature-meta{display:none}.library-focus-summary .library-feature-copy h2{font-size:16px}.library-focus-cta{min-height:34px;padding-inline:11px}.library-playlist-item{grid-template-columns:80px minmax(0,1fr) 14px}}
