/* v2.4.0 — FILM SHELF: dense browsing without replacing the exhibition. */
.llav-shelf{overflow:visible;min-height:100vh;background:#0b0e0d}
.llav-shelf-header{border-bottom:1px solid rgba(255,255,255,.13);background:#101613;padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right))}
.llav-shelf-header-inner{width:min(1760px,calc(100% - 2 * clamp(20px,4.5vw,76px)));height:98px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px}
.llav-shelf-brand{display:flex;align-items:baseline;gap:19px;min-width:0}
.llav-shelf-brand span{font-size:9px;letter-spacing:.18em;color:#88998e;white-space:nowrap}
.llav-shelf-brand b{font:400 clamp(24px,2.2vw,35px)/1.3 var(--serif);letter-spacing:.05em;white-space:nowrap}
.llav-shelf .llav-view-switch-shelf{position:static;flex:0 0 auto;background:#0c110f;backdrop-filter:none}

.llav-shelf-main{width:min(1760px,calc(100% - 2 * clamp(20px,4.5vw,76px)));margin:0 auto;padding:28px 0 150px}
.llav-shelf-crumb{display:flex;align-items:center;gap:11px;min-height:40px;margin-bottom:23px;color:#849288;font-size:10px;letter-spacing:.08em}
.llav-shelf-crumb a{border-bottom:1px solid #56685d;padding-bottom:2px;color:#c6d0c8}
.llav-shelf-crumb b{font-weight:400;color:#eff2ed}
.llav-shelf-crumb em{font-style:normal;margin-left:auto;color:#718078;letter-spacing:.14em}

.llav-shelf-watch{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,420px);gap:clamp(20px,2.4vw,42px);align-items:start}
.llav-shelf-primary{min-width:0}
.llav-shelf-stage{position:relative;z-index:4;background:#040706;box-shadow:0 22px 70px rgba(0,0,0,.23)}
.llav-shelf-player{position:relative;width:100%;aspect-ratio:16/9;background:#030504;overflow:hidden}
.llav-shelf-player iframe{position:absolute;inset:0;display:block;width:100%;height:100%;border:0;background:#000}
.llav-shelf-start{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:#030504;color:#fff;overflow:hidden}
.llav-shelf-start>img{width:100%;height:100%;object-fit:cover;opacity:.77;transition:transform .7s ease,opacity .4s ease}
.llav-shelf-start::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,8,4,.46),transparent 60%),linear-gradient(90deg,rgba(0,6,3,.22),transparent 50%)}
.llav-shelf-start>span{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:14px;border:1px solid rgba(255,255,255,.43);background:rgba(21,42,32,.83);padding:14px 21px;font-size:11px;letter-spacing:.1em;white-space:nowrap;backdrop-filter:blur(7px)}
.llav-shelf-start>span i{display:block;width:0;height:0;border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:11px solid #fff}
.llav-shelf-start:hover>img{transform:scale(1.018);opacity:.9}
.llav-shelf-playerbar{min-height:48px;padding:10px 16px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid rgba(255,255,255,.09);background:#111a15;color:#7f9085;font-size:9px;letter-spacing:.13em}
.llav-shelf-playerbar>div{display:flex;align-items:center;gap:19px;flex-wrap:wrap}
.llav-shelf-playerbar button{border:0;border-bottom:1px solid #718579;border-radius:0;background:transparent;color:#d8e1da;padding:0 0 3px;font-size:10px;letter-spacing:.03em}
.llav-shelf-playerbar button:disabled{opacity:.35;cursor:default}
.llav-shelf-playerbar a{border-bottom:1px solid #718579;padding-bottom:3px;color:#e4eae4;font-size:10px;letter-spacing:.03em}

.llav-shelf-reading{padding:clamp(34px,4.2vw,68px) clamp(4px,1vw,16px) 50px;max-width:1100px}
.llav-shelf-reading>.llav-meta{font-size:10px;letter-spacing:.13em;color:#84978b}
.llav-shelf-title{font:400 clamp(30px,3.1vw,52px)/1.5 var(--serif);letter-spacing:.025em;margin:15px 0 22px!important;max-width:980px;overflow-wrap:anywhere}
.llav-shelf-description{font:400 14px/2.12 var(--sans);color:#c6d0c8;max-width:890px}
.llav-shelf-reading section{border-top:1px solid rgba(255,255,255,.15);padding-top:25px;margin-top:32px;max-width:890px}
.llav-shelf-reading .llav-viewer-kicker{margin-bottom:13px!important}
.llav-shelf-point{font-size:13px;line-height:2.05;color:#d3ddd4}
.llav-shelf-original{font-size:11px;line-height:2;color:#91a398}
.llav-shelf-source>a{display:inline-block;margin-top:14px;border-bottom:1px solid #6f8578;padding-bottom:4px;font-size:11px;color:#e2e9e2}
.llav-shelf-related-links{display:flex;flex-wrap:wrap;gap:12px 24px}
.llav-shelf-related-links a{border-bottom:1px solid #6f8578;padding-bottom:4px;font-size:11px;color:#e2e9e2}
.llav-shelf-related[hidden]{display:none!important}
.llav-shelf-article-slot:empty{display:none}
.llav-shelf-article-slot .llav-viewer-article{max-width:890px;margin-top:34px;padding-top:28px}

.llav-shelf-queue{position:sticky;top:calc(var(--llav-shelf-safe-top,0px) + 14px);min-width:0;height:min(760px,calc(var(--llav-shelf-visual-height,100dvh) - var(--llav-shelf-safe-top,0px) - 28px));min-height:480px;border:1px solid rgba(255,255,255,.14);background:#101713;display:flex;flex-direction:column;overflow:hidden}
.llav-shelf-queue>header{flex:0 0 auto;min-height:83px;padding:16px 19px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.14);background:#18261f}
.llav-shelf-queue>header p{font-size:8px;letter-spacing:.2em;color:#809388}
.llav-shelf-queue>header h2{font:400 22px/1.5 var(--serif);margin-top:2px!important}
.llav-shelf-queue>header>span{font:400 11px/1 var(--sans);letter-spacing:.12em;color:#899b90}
.llav-shelf-queue-list{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#53675b #101713}
.llav-shelf-queue-item{width:100%;display:grid;grid-template-columns:22px 112px minmax(0,1fr);align-items:center;gap:12px;padding:14px 13px;border:0;border-bottom:1px solid rgba(255,255,255,.09);border-radius:0;background:transparent;color:#e8ede8;text-align:left}
.llav-shelf-queue-item:hover{background:rgba(255,255,255,.045)}
.llav-shelf-queue-item.is-current{background:#263739}
.llav-shelf-queue-item[hidden]{display:none!important}
.llav-shelf-queue-number{font-size:8px;color:#75877c;letter-spacing:.08em}
.llav-shelf-thumb{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:#040705}
.llav-shelf-thumb img{width:100%;height:100%;object-fit:cover}
.llav-shelf-thumb i{position:absolute;right:4px;bottom:4px;padding:2px 5px;background:rgba(0,0,0,.8);font:normal 8px/1.4 var(--sans);color:#fff}
.llav-shelf-queue-copy{display:block;min-width:0}
.llav-shelf-queue-copy small{display:block;color:#93a398;font-size:8px;letter-spacing:.07em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.llav-shelf-queue-copy strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin-top:4px;font:400 13px/1.55 var(--serif)}
.llav-shelf-queue-copy em{display:block;margin-top:4px;font:normal 8px/1.5 var(--sans);color:#73847a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.llav-shelf-library{padding-top:clamp(90px,9vw,150px);scroll-margin-top:30px}
.llav-shelf-library-head{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:32px}
.llav-shelf-library-head p{font-size:9px;letter-spacing:.2em;color:#83958a}
.llav-shelf-library-head h2{font:400 clamp(32px,3.8vw,58px)/1.4 var(--serif);margin-top:8px!important}
.llav-shelf-library-head>span{font-size:9px;letter-spacing:.15em;color:#74847b;padding-bottom:10px}
.llav-shelf-tools{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:15px 0;margin-bottom:34px;border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14)}
.llav-shelf-filters{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.llav-shelf-filters button{border:0;border-radius:0;background:transparent;color:#8e9d94;padding:8px 12px;font-size:10px;letter-spacing:.05em}
.llav-shelf-filters button.is-active{background:#e8ece7;color:#162119}
.llav-shelf-filters .llav-shelf-filter-special{margin-left:7px;border-left:1px solid rgba(255,255,255,.2);color:#c3cec6}
.llav-shelf-filters .llav-shelf-filter-special.is-active{border-left-color:transparent;background:#263739;color:#fff}
.llav-shelf-search{display:flex;align-items:center;gap:14px;padding-left:20px;border-left:1px solid rgba(255,255,255,.14)}
.llav-shelf-search>span{font-size:8px;letter-spacing:.17em;color:#708078}
.llav-shelf-search input{width:230px;padding:7px 0;border:0;border-bottom:1px solid #53665b;border-radius:0;background:transparent;color:#f0f2ee;font-size:11px}
.llav-shelf-search input::placeholder{color:#718178}
.llav-shelf-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(36px,4.2vw,70px) clamp(16px,2vw,30px)}
.llav-shelf-card[hidden]{display:none!important}
.llav-shelf-card-open{display:block;width:100%;padding:0;border:0;border-radius:0;background:transparent;color:#eef1ed;text-align:left}
.llav-shelf-card-image{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:#050806}
.llav-shelf-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease,opacity .3s ease}
.llav-shelf-card-image::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.35),transparent 55%)}
.llav-shelf-card-image>i{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);width:42px;height:42px;border-radius:50%;background:rgba(21,49,34,.8);border:1px solid rgba(255,255,255,.45)}
.llav-shelf-card-image>i::after{content:"";position:absolute;left:17px;top:13px;border-top:8px solid transparent;border-bottom:8px solid transparent;border-left:12px solid white}
.llav-shelf-card-image>em{position:absolute;z-index:3;right:7px;bottom:7px;padding:2px 6px;background:rgba(0,0,0,.82);font:normal 8px/1.5 var(--sans);color:#fff}
.llav-shelf-card-open:hover img{transform:scale(1.025);opacity:.88}
.llav-shelf-card-copy{display:block;padding-top:13px}
.llav-shelf-card-copy small{display:block;color:#82938a;font-size:8px;letter-spacing:.09em}
.llav-shelf-card-copy strong{display:block;margin-top:7px;font:400 clamp(16px,1.45vw,22px)/1.55 var(--serif);overflow-wrap:anywhere}
.llav-shelf-card-copy>span{display:block;margin-top:7px;color:#718179;font-size:8px;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.llav-shelf-no-results{padding:75px 0;text-align:center;font:400 24px/1.7 var(--serif);color:#9eaca3}
.llav-shelf-empty{min-height:60vh;display:grid;place-items:center;text-align:center;padding:60px 20px}
.llav-shelf-empty p{font:400 30px/1.6 var(--serif)}
.llav-shelf-empty a{border-bottom:1px solid #73877a;padding-bottom:5px}

.llav-shelf-player iframe:fullscreen,.llav-shelf-player:fullscreen,
.llav-shelf-player iframe:-webkit-full-screen,.llav-shelf-player:-webkit-full-screen{
  position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;margin:0!important;border:0!important;background:#000!important
}

@media(max-width:1280px){
  .llav-shelf-watch{grid-template-columns:minmax(0,1fr) minmax(310px,350px)}
  .llav-shelf-queue-item{grid-template-columns:18px 96px minmax(0,1fr);gap:10px;padding:12px 10px}
  .llav-shelf-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:900px){
  .llav-shelf-header-inner{width:calc(100% - 36px);height:84px}
  .llav-shelf-brand span{display:none}.llav-shelf-brand b{font-size:25px}
  .llav-shelf-main{width:calc(100% - 36px);padding-top:18px}
  .llav-shelf-crumb{margin-bottom:14px}.llav-shelf-crumb em{display:none}
  .llav-shelf-watch{display:block}
  .llav-shelf-stage{position:relative;top:auto;margin-inline:-18px}
  .llav-shelf-reading{padding:30px 2px 40px}
  .llav-shelf-title{font-size:clamp(27px,7.5vw,38px);line-height:1.48;margin-top:11px!important}
  .llav-shelf-description{font-size:13px;line-height:1.95}
  .llav-shelf-queue{position:relative;top:auto;height:auto;min-height:0;max-height:none;margin-top:20px}
  .llav-shelf-queue-list{max-height:480px}
  .llav-shelf-queue-item{grid-template-columns:20px 118px minmax(0,1fr);padding:12px}
  .llav-shelf-tools{display:block}
  .llav-shelf-filters{flex-wrap:nowrap;overflow-x:auto;margin-right:-18px;padding-right:18px;scrollbar-width:none}
  .llav-shelf-filters::-webkit-scrollbar{display:none}.llav-shelf-filters button{flex:0 0 auto;white-space:nowrap}
  .llav-shelf-search{border-left:0;border-top:1px solid rgba(255,255,255,.14);margin-top:12px;padding:13px 0 0}
  .llav-shelf-search input{width:100%}
  .llav-shelf-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:45px 16px}
}

@media(max-width:620px){
  .llav-shelf-header-inner{height:78px;gap:10px}
  .llav-shelf-brand b{font-size:21px}
  .llav-shelf .llav-view-switch-shelf a,.llav-shelf .llav-view-switch-shelf span{padding:7px 9px;font-size:8px}
  .llav-shelf-playerbar{min-height:42px;padding:8px 14px}.llav-shelf-playerbar>span{display:none}
  .llav-shelf-reading{padding-top:27px}
  .llav-shelf-reading section{margin-top:26px;padding-top:21px}
  .llav-shelf-queue>header{min-height:70px;padding:12px 15px}.llav-shelf-queue>header h2{font-size:20px}
  .llav-shelf-queue-list{max-height:430px}
  .llav-shelf-queue-item{grid-template-columns:16px 105px minmax(0,1fr);gap:9px;padding:11px 9px}
  .llav-shelf-queue-copy strong{font-size:12px}
  .llav-shelf-library{padding-top:80px}
  .llav-shelf-library-head{display:block}.llav-shelf-library-head>span{display:block;margin-top:12px}
  .llav-shelf-grid{display:block}
  .llav-shelf-card{margin-bottom:28px}
  .llav-shelf-card-open{display:grid;grid-template-columns:minmax(130px,44%) minmax(0,1fr);gap:14px;align-items:start}
  .llav-shelf-card-copy{padding-top:1px}
  .llav-shelf-card-copy strong{font-size:15px;line-height:1.5;margin-top:5px}
  .llav-shelf-card-image>i{width:34px;height:34px}.llav-shelf-card-image>i::after{left:14px;top:10px;border-top-width:7px;border-bottom-width:7px;border-left-width:10px}
}

@media(orientation:landscape) and (max-height:650px) and (max-width:1200px){
  .llav-shelf-header-inner{height:58px}
  .llav-shelf-brand b{font-size:20px}.llav-shelf-brand span{display:none}
  .llav-shelf-main{padding-top:10px;width:calc(100% - max(24px,env(safe-area-inset-left)) - max(24px,env(safe-area-inset-right)))}
  .llav-shelf-crumb{min-height:28px;margin-bottom:8px;font-size:8px}
  .llav-shelf-watch{display:grid;grid-template-columns:minmax(0,65fr) minmax(250px,35fr);gap:12px}
  .llav-shelf-stage{position:relative;top:auto;margin:0}
  .llav-shelf-playerbar{min-height:32px;padding:4px 10px}.llav-shelf-playerbar>span{display:none}
  .llav-shelf-playerbar>div{gap:12px}
  .llav-shelf-reading{padding:20px 3px}.llav-shelf-title{font-size:25px}
  .llav-shelf-queue{position:sticky;top:calc(var(--llav-shelf-safe-top,0px) + 5px);height:max(250px,calc(var(--llav-shelf-visual-height,100dvh) - var(--llav-shelf-safe-top,0px) - 10px));min-height:250px;margin:0}
  .llav-shelf-queue>header{min-height:50px;padding:7px 12px}.llav-shelf-queue>header h2{font-size:17px}
  .llav-shelf-queue-item{grid-template-columns:13px 75px minmax(0,1fr);gap:7px;padding:7px}
  .llav-shelf-queue-copy strong{font-size:10px;line-height:1.4}.llav-shelf-queue-copy em{display:none}
}

@media(prefers-reduced-motion:reduce){.llav-shelf *,.llav-shelf *::before,.llav-shelf *::after{transition:none!important;scroll-behavior:auto!important}}

/* v2.7.1 — the same YouTube iframe remains visible while the explanation
   scrolls. Sticky positioning is enabled only during playback. */
.llav-shelf.llav-shelf-is-playing .llav-shelf-stage{
  position:sticky;
  top:calc(var(--llav-shelf-safe-top,0px) + 8px);
  z-index:20;
}
@media(max-width:900px) and (orientation:portrait){
  .llav-shelf.llav-shelf-is-playing .llav-shelf-stage{
    position:sticky;
    top:calc(var(--llav-shelf-safe-top,0px) + 2px);
    margin-inline:-18px;
    box-shadow:0 14px 40px rgba(0,0,0,.55);
  }
  .llav-shelf.llav-shelf-is-playing .llav-shelf-playerbar{
    min-height:34px;
    padding-block:6px;
  }
}
@media(orientation:landscape) and (max-height:650px) and (max-width:1200px){
  .llav-shelf.llav-shelf-is-playing .llav-shelf-stage{
    position:sticky;
    top:calc(var(--llav-shelf-safe-top,0px) + 4px);
  }
}
