/* Cinematic shelves of actual videos; project posters belong in Explore. */
.u-library{margin-top:64px;scroll-margin-top:155px;min-width:0}
.u-library [hidden]{display:none!important}
.u-library-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:32px}
.u-library-heading .u-kicker{display:flex;align-items:center;gap:9px;font-size:10px;color:#a5afbd;letter-spacing:.16em}
.u-library-heading .u-kicker:before{content:'';width:6px;height:6px;background:#fa405b}
.u-library-heading h2{font:700 clamp(40px,4.7vw,66px)/1.03 var(--display);margin:19px 0 18px;letter-spacing:-.055em}
.u-library-heading h2>span{color:#aab6c9}
.u-library-heading p,.u-library-shelf-heading p,.u-library-series-caption p{color:#a1adbe;font-size:14px;line-height:1.7;margin:0}
.u-library-search{display:flex;align-items:center;gap:12px;width:320px;max-width:100%;flex-shrink:0;min-height:52px;padding:13px 16px;border:1px solid #ffffff25;border-radius:12px;background:#ffffff04}
.u-library-search>.icon{width:18px;height:18px;color:#a6b3c7;flex-shrink:0}
.u-library-search input{background:transparent;border:0;min-width:0;width:100%;color:#edf1f7;font:13px var(--body);outline:none}
.u-library-search:focus-within{border-color:#c2cede;background:#ffffff07}
.u-library-search button{padding:0;background:none;display:grid;place-items:center;flex-shrink:0;width:28px;height:28px}
.u-library-search button>.icon{width:15px;height:15px}
.u-library-filters{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:0 0 23px;border-bottom:1px solid #ffffff19;margin-bottom:37px}
.u-library-filters::-webkit-scrollbar{display:none}
.u-library-filters button{position:relative;flex-shrink:0;padding:12px 17px;border:1px solid transparent;border-radius:8px;color:#a0acbd;background:transparent;font:600 12px var(--body);white-space:nowrap;min-height:44px}
.u-library-filters button:hover{color:#fff;background:#ffffff07}
.u-library-filters button[aria-pressed=true]{color:#111722;background:#edf1f7;border-color:#edf1f7}
.u-library button:focus-visible,.u-library a:focus-visible{outline:2px solid #e6edf7;outline-offset:4px}
.u-library-shelf,.u-library-series{margin-top:56px;min-width:0}
[data-library-browse]>.u-library-shelf:first-child{margin-top:0}
.u-library-shelf-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:22px}
.u-library-shelf-heading .u-kicker{font-size:9px;color:#94a2b7;letter-spacing:.16em}
.u-library-shelf-heading h3{font:700 clamp(26px,2.6vw,35px)/1.15 var(--display);letter-spacing:-.04em;margin:9px 0 10px}
.u-library-arrows{display:flex;gap:8px;flex-shrink:0}
.u-library-arrows button,.u-library-player-nav button{display:grid;place-items:center;background:#ffffff03;border:1px solid #ffffff2c;border-radius:50%;width:44px;height:44px}
.u-library-arrows button>.icon,.u-library-player-nav button>.icon{width:16px;height:16px}
.u-library-arrows button:first-child>.icon,.u-library-player-nav button:first-child>.icon{transform:rotate(180deg)}
.u-library-arrows button:disabled,.u-library-player-nav button:disabled{opacity:.25;cursor:default}
.u-library-rail{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 40px)/3);gap:20px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#344053 transparent;padding:4px 3px 17px;margin-inline:-3px}
.u-library-rail.is-portrait{grid-auto-columns:calc((100% - 80px)/5)}
.u-library-shelf.is-featured .u-library-rail{grid-auto-columns:calc((100% - 46px)/2.15);gap:24px}
.u-library-card{display:flex;flex-direction:column;min-width:0;scroll-snap-align:start;color:#edf1f7}
.u-library-image{position:relative;display:block;overflow:hidden;aspect-ratio:16/9;background:#111721;border:1px solid #ffffff1b;border-radius:14px;isolation:isolate}
.is-portrait .u-library-image{aspect-ratio:9/16}
.u-library-image>img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s,filter .25s}
.u-library-image:after{content:'';position:absolute;inset:0;z-index:0;background:linear-gradient(#0005,transparent 28%,transparent 65%,#0008);pointer-events:none}
.u-library-badge,.u-library-duration{position:absolute;z-index:1;padding:6px 8px;background:#060a13cf;border-radius:5px;color:#e9eef7;font-size:9px;font-weight:600;letter-spacing:.07em;line-height:1.2;backdrop-filter:blur(5px)}
.u-library-badge{top:12px;left:12px;max-width:calc(100% - 24px)}
.u-library-duration{bottom:12px;left:12px;letter-spacing:.02em;font-variant-numeric:tabular-nums}
.u-library-play{position:absolute;z-index:1;right:12px;bottom:12px;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#080d18a8;border:1px solid #ffffff80;color:white;transition:background .2s,transform .2s}
.u-library-play>.icon{width:15px;height:15px;margin-left:2px}
.u-library-card:hover .u-library-play,.u-library-card:focus-visible .u-library-play{background:#eef1f7;color:#101620;transform:scale(1.05)}
.u-library-card:hover .u-library-image>img{transform:scale(1.025);filter:brightness(.9)}
.u-library-card>strong{font-size:15px;line-height:1.45;font-weight:600;letter-spacing:-.025em;margin-top:14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.u-library-shelf.is-featured .u-library-card>strong{font-size:20px;letter-spacing:-.035em}
.u-library-card-meta{color:#8f9cb0;font-size:11px;margin-top:6px}
.u-library-series{padding:0;background:none;border:0;scroll-margin-top:110px}
.u-library-series-select{display:flex;gap:16px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;padding:4px;margin:22px -4px 20px;-webkit-overflow-scrolling:touch}
.u-library-series-select::-webkit-scrollbar{display:none}
/* Compact title-art buttons: the selected series opens directly below. */
.u-library-series-select .u-series-tab{position:relative;display:grid;place-items:center;flex:0 0 220px;aspect-ratio:1.52;padding:0;isolation:isolate;background:#171a20;border:1px solid #ffffff20;border-radius:12px;min-width:0;color:#edf0f6;scroll-snap-align:start;cursor:pointer;transition:background .2s,border-color .2s;user-select:none;-webkit-tap-highlight-color:transparent}
.u-library-series-select .u-series-tab:after{content:'';position:absolute;bottom:0;left:36%;right:36%;height:2px;border-radius:2px 2px 0 0;background:#e2e7ef;opacity:0;transition:opacity .2s}
.u-library-series-select .u-series-tab[aria-selected=true]{border-color:#b6c0cf;background:#1c2027}
.u-library-series-select .u-series-tab[aria-selected=true]:after{opacity:1}
.u-library-series-select .u-series-tab:hover{background:#1c2027;border-color:#ffffff60}
.u-library-series-select .u-series-tab[aria-selected=true]:hover{border-color:#e2e7ef}
.u-series-title-art{display:block;width:76%;height:64%;object-fit:contain;pointer-events:none}
.u-library-series .u-library-series-caption{justify-content:space-between}
.u-library-series-caption>p{font-size:12px;color:#93a0b2}
.u-library-series-panel{animation:series-reveal .22s ease-out}
@keyframes series-reveal{from{opacity:.35;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
.u-library-series-caption{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;min-height:44px}
.u-library-series-panel .u-library-card>strong{font-size:13px}
.u-library-results-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 20px}
.u-library-results-grid .u-library-image{background:#070a10}
.u-library-results-grid .u-library-image>img{object-fit:contain}
[data-library-count]{font-size:12px;color:#a0aec1;flex-shrink:0}
.u-library-empty{padding:36px 0;color:#a8b5c8;font-size:14px}
.u-library-more{margin:30px auto 0;display:flex}
.u-library-player{padding:0;margin:auto;width:min(1000px,calc(100% - 32px));max-width:1000px;max-height:94dvh;border:1px solid #ffffff30;border-radius:16px;background:#080d15;color:#e6edf6;overflow:auto}
.u-library-player::backdrop{background:#03060deb;backdrop-filter:blur(10px)}
.u-library-player-top{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 22px;border-bottom:1px solid #ffffff17}
.u-library-player-top h2{font:600 20px/1.3 var(--display);margin:5px 0 0}
.u-library-player-top .u-kicker{font-size:8px;color:#8f9fb8}
.u-library-player-stage{aspect-ratio:16/9;background:#000}
.u-library-player-stage.is-portrait{height:min(64dvh,650px);width:auto;aspect-ratio:9/16;margin:auto}
.u-library-player-stage iframe{width:100%;height:100%;border:0;display:block}
.u-library-player-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 22px}
.u-library-player-nav{display:flex;align-items:center;gap:12px}
.u-library-player-nav span{min-width:54px;text-align:center;color:#9aabc1;font-size:11px}
.u-library-player-bottom>a{display:inline-flex;align-items:center;gap:8px;color:#bac7da;font-size:11px}
.u-library-player-bottom>a>.icon{width:16px;height:16px}
.u-library-player-error{padding:20px;color:#c2ccdc}
.u-library-player [hidden]{display:none!important}

@media(max-width:1100px){
 .u-library-rail.is-portrait{grid-auto-columns:calc((100% - 60px)/4)}
 .u-library-results-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
 .u-library{margin-top:43px;scroll-margin-top:90px}
 .u-library-heading{display:block;margin-bottom:22px}
 .u-library-heading .u-kicker{font-size:8px;letter-spacing:.13em}
 .u-library-heading h2{font-size:clamp(36px,9.6vw,52px);margin:16px 0;line-height:1.04}
 .u-library-heading p{font-size:13px;line-height:1.65}
 .u-library-search{width:100%;margin-top:23px;min-height:50px;padding:12px 14px}
 .u-library-search input{font-size:16px}
 .u-library-filters{gap:5px;margin-bottom:30px;padding-bottom:20px}
 .u-library-filters button{font-size:11px;padding:11px 14px}
 .u-library-shelf,.u-library-series{margin-top:39px}
 .u-library-shelf-heading{position:relative;gap:14px;align-items:flex-start;margin-bottom:17px}
 .u-library-shelf-heading>div:first-child{min-width:0;flex:1}
 .u-library-shelf-heading h3{font-size:clamp(23px,6.2vw,30px);margin:9px 0}
 .u-library-shelf-heading p{font-size:12px;max-width:34ch}
 .u-library-shelf-heading .u-kicker{font-size:8px}
 .u-library-arrows{gap:5px;margin-top:22px}
 .u-library-arrows button{width:34px;height:44px;border-radius:10px}
 .u-library-arrows button>.icon{width:14px;height:14px}
 .u-library-rail,.u-library-shelf.is-featured .u-library-rail{grid-auto-columns:89%;gap:14px;scrollbar-width:none;padding-bottom:10px}
 .u-library-rail::-webkit-scrollbar{display:none}
 .u-library-rail.is-portrait{grid-auto-columns:46%;gap:14px}
 .u-library-image{border-radius:12px}
 .u-library-card>strong,.u-library-series-panel .u-library-card>strong{font-size:13px;margin-top:11px}
 .u-library-shelf.is-featured .u-library-card>strong{font-size:17px}
 .u-library-card-meta{font-size:10px;margin-top:5px}
 .u-library-badge,.u-library-duration{font-size:8px;padding:5px 6px}
 .u-library-badge{top:9px;left:9px}
 .u-library-duration{left:9px;bottom:9px}
 .u-library-play{width:34px;height:34px;right:9px;bottom:9px}
 .u-library-play>.icon{width:13px;height:13px}
 .u-library-series{padding:0;margin-inline:0}
 .u-library-series .u-library-series-select{gap:9px;margin:16px -4px 15px}
 .u-library-series-select .u-series-tab{flex-basis:clamp(96px,calc((100% - 18px)/3.2),132px);border-radius:8px}
 .u-series-title-art{width:82%;height:65%}
 .u-library-series-caption{align-items:center;gap:12px;margin-bottom:13px}
 .u-library-series-caption p{font-size:12px}
 .u-library-series-caption .u-library-arrows{margin-top:0}
 .u-library-results-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 12px}
 .u-library-results-grid .u-library-badge{font-size:7px}
 .u-library-results-grid .u-library-play{width:26px;height:26px}
 .u-library-player{width:calc(100% - 16px);max-height:94dvh}
 .u-library-player-top{padding:12px;gap:10px}
 .u-library-player-top h2{font-size:18px}
 .u-library-player-bottom{padding:10px;gap:8px}
 .u-library-player-nav{gap:6px}
 .u-library-player-nav button{height:40px;width:36px}
 .u-library-player-bottom>a{font-size:10px;gap:4px}
}
@media(max-width:380px){
 .u-library-shelf-heading{flex-wrap:wrap}
 .u-library-shelf-heading>div:first-child{flex-basis:100%}
 .u-library-shelf-heading>.u-library-arrows{margin-top:0;margin-left:auto}
}
@media(prefers-reduced-motion:reduce){.u-library-image>img,.u-library-play,.u-library-series-select button,.u-series-tab:after{transition:none}.u-library-series-panel{animation:none}}
