/* Full library: native horizontal fallback, enhanced into a virtual cover flow. */
.home-library{overflow:hidden;position:relative;padding:76px 0 70px;border-bottom:1px solid var(--line,#ffffff17);background:radial-gradient(ellipse at 50% 45%,#16368724,transparent 65%),#0b0c10;color:#fff}
.library-intro{text-align:center;max-width:1000px;margin:auto;padding-inline:24px}.library-intro h2{font-size:clamp(2rem,4.2vw,4.1rem);font-weight:900;letter-spacing:-.045em;line-height:1.03;max-width:900px;margin:0 auto;text-wrap:balance}.library-intro p{color:#aeb6c7;font-size:clamp(1rem,1.4vw,1.2rem);margin:22px 0 0}
.library-showcase{max-width:1800px;margin:auto;position:relative}.library-stage{--cover-size:300px;display:flex;gap:24px;overflow-x:auto;padding:36px 24px;user-select:none;-webkit-user-select:none}.library-pack{flex:0 0 var(--cover-size);width:var(--cover-size);margin:0;pointer-events:none}.library-cover{position:relative;border:1px solid #ffffff30;border-radius:10px;overflow:hidden;background:#161b2a;box-shadow:0 26px 45px #0009,0 1px 0 #ffffff30 inset}.library-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,#ffffff18,transparent 38%,#0000000a 65%,#ffffff0a);border-radius:inherit;pointer-events:none}.library-cover img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}.library-pack figcaption{margin:16px 4px 0;text-align:center;color:#d9e2f4;font-weight:700;font-size:.92rem;line-height:1.4;overflow-wrap:anywhere}
.library-showcase.is-ready .library-stage{position:relative;height:470px;display:block;overflow:hidden;padding:0;touch-action:pan-y;cursor:grab;isolation:isolate}.library-showcase.is-ready .library-stage:active{cursor:grabbing}.library-showcase.is-ready .library-pack{position:absolute;left:50%;top:40px;will-change:transform,opacity;transform-origin:center 45%}.library-showcase:after{content:"";position:absolute;left:20%;right:20%;top:405px;height:1px;background:linear-gradient(90deg,transparent,#78b7ff55,transparent);pointer-events:none}.library-stage:focus-visible{outline:2px solid #69cfff;outline-offset:-4px}.library-controls{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:-10px}.library-controls[hidden]{display:none}.library-controls button{display:grid;place-items:center;width:52px;height:52px;border:1px solid #ffffff26;border-radius:50%;background:linear-gradient(145deg,#ffffff0d,#ffffff03);color:#edf5ff;font:inherit;font-size:1.5rem;cursor:pointer;transition:border-color .2s,background .2s}.library-controls button:hover{border-color:#75cfff;background:#173364}.library-controls button:focus-visible{outline:2px solid #75cfff;outline-offset:4px}.library-controls .library-pause{width:auto;min-width:118px;border-radius:999px;padding:0 18px;font-size:.78rem;font-weight:700}.library-hint{text-align:center;font-size:.78rem;color:#99a6bd;margin:18px 20px 32px;min-height:1em}.library-values{max-width:1000px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 auto;border-top:1px solid #ffffff17;padding-top:32px;text-align:center}.library-values>div{padding:0 20px}.library-values>div+div{border-left:1px solid #ffffff17}.library-values strong{display:block;font-size:clamp(1.65rem,3vw,2.8rem);letter-spacing:-.045em;font-weight:900;line-height:1.15;overflow-wrap:anywhere}.library-values span{display:block;color:#93bce4;font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;margin-top:10px;overflow-wrap:anywhere}
@media(max-width:767px){.home-library{padding:52px 0 46px}.library-intro{padding-inline:22px}.library-intro h2{font-size:clamp(1.8rem,7.5vw,3rem)}.library-stage{--cover-size:220px}.library-showcase.is-ready .library-stage{height:360px}.library-showcase.is-ready .library-pack{top:32px}.library-showcase:after{top:314px;left:10%;right:10%}.library-values{margin-inline:18px;gap:24px 0;padding-top:26px;grid-template-columns:1fr 1fr}.library-values>div{padding:0 8px}.library-values>div:last-child{grid-column:1/-1;border-left:0;padding-top:22px;border-top:1px solid #ffffff17}.library-values strong{font-size:2rem}.library-values>div:last-child strong{font-size:1.7rem}.library-values span{font-size:.64rem;letter-spacing:.1em}.library-hint{margin-bottom:26px}}
@media(prefers-reduced-motion:reduce){.library-controls button{transition:none}}
