.lib{min-height:calc(100dvh - var(--credits-h,0px));background:var(--bg);color:var(--ink-soft);padding:5vmin 5vmin 10vmin}.lib-head{text-align:center;max-width:150vmin;margin:0 auto 5vmin}.lib-h1{color:var(--ink);text-wrap:balance;margin:0;font-size:5vmin;font-weight:600}.lib-lead{max-width:80vmin;color:var(--dim-deep);margin:2vmin auto 0;font-size:2.3vmin;line-height:1.6}.lib-up{color:var(--dim);margin-bottom:3vmin;font-size:2.1vmin;text-decoration:none;display:inline-block}.lib-up:hover{color:var(--accent)}.lib-filters{flex-direction:column;gap:1.6vmin;max-width:150vmin;margin:0 auto 5vmin;display:flex}.lib-axis{flex-wrap:wrap;align-items:baseline;gap:2vmin;display:flex}.lib-axis-label{color:var(--dim);flex:0 0 14vmin;font-size:2vmin}.lib-chips{flex-wrap:wrap;gap:1vmin;display:flex}.lib-chip{font:inherit;border:1px solid var(--line);color:var(--accent);cursor:pointer;background:0 0;border-radius:3vmin;padding:.8vmin 2vmin;font-size:2vmin;transition:background .16s,border-color .16s}.lib-chip:hover{background:var(--tint)}.lib-chip.is-on{background:var(--accent);border-color:var(--accent);color:var(--paper)}.lib-count{opacity:.55;margin-left:.8vmin;font-size:.85em}.lib-reset{font:inherit;color:var(--dim);cursor:pointer;background:0 0;border:none;padding:0;font-size:2vmin;text-decoration:underline}.lib-empty{text-align:center;max-width:150vmin;color:var(--dim);margin:0 auto;font-size:2.3vmin}.lib-grid{grid-template-columns:repeat(auto-fill,minmax(30vmin,1fr));gap:4vmin 3vmin;max-width:150vmin;margin:0 auto;padding:0;list-style:none;display:grid}.lib-card a{color:inherit;flex-direction:column;gap:1.2vmin;text-decoration:none;display:flex}.lib-cover{aspect-ratio:3/4;background:var(--paper);box-shadow:0 .8vmin 2.4vmin var(--shade);border-radius:.8vmin;transition:transform .2s,box-shadow .2s;display:block;overflow:hidden}.lib-card a:hover .lib-cover{box-shadow:0 1.4vmin 3.4vmin var(--shade);transform:translateY(-.6vmin)}.lib-cover img{object-fit:cover;width:100%;height:100%;display:block}.lib-title{color:var(--ink);text-wrap:balance;font-size:2.3vmin;line-height:1.3}.lib-subtitle,.lib-meta{color:var(--dim);font-size:1.9vmin}.lib-ribbon{max-width:150vmin;margin:0 auto 6vmin;position:relative}.lib-shelves{--ribbon-pad:3vmin;margin:-4vmin calc(-1 * var(--ribbon-pad));padding:4vmin var(--ribbon-pad);overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-inline:var(--ribbon-pad);scrollbar-width:none;gap:3vmin;list-style:none;display:flex;overflow-x:auto}.lib-shelves::-webkit-scrollbar{display:none}.lib-shelves:focus-visible{outline:.3vmin solid var(--accent);outline-offset:-.3vmin}@media (prefers-reduced-motion:no-preference){.lib-shelves{scroll-behavior:smooth}}.lib-shelf{scroll-snap-align:start;flex:0 0 46vmin;min-width:0}.lib-shelf:first-child{margin-left:auto}.lib-shelf:last-child{margin-right:auto}.lib-shelf a{background:var(--paper);box-shadow:0 .8vmin 2.4vmin var(--shade-soft);text-align:center;color:var(--ink);border-radius:1vmin;padding:4vmin 3vmin;text-decoration:none;transition:transform .2s;display:block}.lib-shelf a:hover{transform:translateY(-.6vmin)}.lib-shelf-name{font-size:3vmin;font-weight:600;display:block}.lib-shelf-count{color:var(--dim);margin-top:1vmin;font-size:2vmin;display:block}.lib-ribbon-arrow{border:.15vmin solid var(--line);background:var(--paper);width:6vmin;height:6vmin;color:var(--ink);box-shadow:0 .6vmin 1.6vmin var(--shade);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;margin-top:-5vmin;padding:0 0 .6vmin;font-size:4.5vmin;line-height:1;display:flex;position:absolute;top:50%}.lib-ribbon-arrow:hover{color:var(--accent-hot)}.lib-ribbon-arrow:focus-visible{outline:.3vmin solid var(--accent);outline-offset:.3vmin}.lib-ribbon-arrow--prev{left:-3vmin}.lib-ribbon-arrow--next{right:-3vmin}@media not ((hover:hover) and (pointer:fine)){.lib-ribbon-arrow{display:none}}.lib-ribbon-dots{justify-content:center;gap:1.2vmin;margin-top:1vmin;display:flex}.lib-ribbon-dot{background:var(--line-hard);border-radius:50%;width:1.2vmin;height:1.2vmin;transition:transform .2s}.lib-ribbon-dot.is-on{background:var(--accent);transform:scale(1.3)}@media (prefers-reduced-motion:reduce){.lib-ribbon-dot{transition:none}}.vid-card{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;gap:1.2vmin;padding:0;display:flex}.vid-card:hover .lib-cover{box-shadow:0 1.4vmin 3.4vmin var(--shade);transform:translateY(-.6vmin)}.vid-card:focus-visible{outline:2px solid var(--accent);outline-offset:.8vmin;border-radius:.8vmin}.vid-cover{aspect-ratio:16/9;position:relative}.vid-play{background:var(--scrim);opacity:.85;border-radius:50%;width:7vmin;height:7vmin;margin:-3.5vmin 0 0 -3.5vmin;transition:opacity .2s;position:absolute;top:50%;left:50%}.vid-play:after{content:"";border-style:solid;border-width:1.5vmin 0 1.5vmin 2.4vmin;border-color:transparent transparent transparent var(--on-scrim);position:absolute;top:2vmin;left:2.8vmin}.vid-card:hover .vid-play{opacity:1}.vid-grid{grid-template-columns:repeat(auto-fill,minmax(40vmin,1fr))}.vid-overlay{z-index:50;background:var(--scrim);justify-content:center;align-items:center;padding:4vmin;display:flex;position:fixed;inset:0}.vid-dialog{width:min(100%,177.778dvh - 28.4444vmin,160vmin);position:relative}.vid-frame{aspect-ratio:16/9;background:var(--screen);border-radius:.8vmin;overflow:hidden}.vid-frame iframe{border:0;width:100%;height:100%;display:block}.vid-caption{color:var(--on-scrim);margin:1.6vmin 0 0;font-size:2.3vmin;line-height:1.3}.vid-close{width:6vmin;height:6vmin;color:var(--on-scrim);cursor:pointer;opacity:.8;background:0 0;border:0;border-radius:50%;margin-bottom:1vmin;padding:0;font-size:5vmin;line-height:1;position:absolute;bottom:100%;right:0}.vid-close:hover,.vid-close:focus-visible{opacity:1}.vid-close:focus-visible{outline:2px solid var(--on-scrim)}@media (prefers-reduced-motion:no-preference){.vid-overlay{animation:.18s ease-out vid-fade}.vid-dialog{animation:.22s ease-out vid-rise}}@keyframes vid-fade{0%{opacity:0}}@keyframes vid-rise{0%{opacity:0;transform:scale(.96)}}.lib-related{max-width:150vmin;color:var(--dim);margin:6vmin auto 0;font-size:2.1vmin}.lib-related a{color:var(--accent);margin-right:1.6vmin}@media (max-aspect-ratio:1){.lib{padding:7vw 5vw 14vw}.lib-h1{font-size:7vw}.lib-lead,.lib-empty{font-size:4vw}.lib-up,.lib-axis-label,.lib-chip,.lib-reset,.lib-related{font-size:3.6vw}.lib-axis-label{flex-basis:100%}.lib-grid{grid-template-columns:repeat(auto-fill,minmax(36vw,1fr));gap:6vw 4vw}.lib-title{font-size:4vw}.vid-grid{grid-template-columns:1fr}.vid-play{width:14vw;height:14vw;margin:-7vw 0 0 -7vw}.vid-play:after{border-width:3vw 0 3vw 4.8vw;top:4vw;left:5.6vw}.vid-overlay{background:var(--screen);padding:0}.vid-dialog{flex-direction:column;justify-content:center;width:100%;height:100%;display:flex}.vid-frame{border-radius:0}.vid-caption{padding:0 5vw;font-size:4vw}.vid-close{z-index:1;width:12vw;height:12vw;margin:0;font-size:10vw;top:2vw;bottom:auto;right:2vw}.lib-subtitle,.lib-meta{font-size:3.4vw}.lib-shelves{--ribbon-pad:5vw}.lib-shelf{flex-basis:64vw}.lib-shelves--few{flex-wrap:wrap}.lib-shelves--few .lib-shelf{flex-basis:100%}.lib-ribbon-dots{gap:2.4vw;margin-top:1vw}.lib-ribbon-dot{width:2vw;height:2vw}.lib-shelf-name{font-size:5.5vw}.lib-shelf-count{font-size:3.6vw}}
