.lib3d{--lib3d-w:150px;--lib3d-t:22px;--lib3d-gap:46px;color:var(--ui-text);border-block:1px solid var(--ui-border);background:radial-gradient(60% 50% at 80% 0%, color-mix(in srgb, var(--ui-accent) 14%, transparent), transparent 70%), radial-gradient(50% 40% at 10% 100%, color-mix(in srgb, var(--ui-accent) 8%, transparent), transparent 70%), linear-gradient(180deg, var(--ui-surface-soft,var(--ui-surface)), var(--ui-bg));padding-block:72px 56px;position:relative;overflow:hidden}.lib3d-head{align-items:center;gap:28px;display:grid}@media (min-width:900px){.lib3d-head{grid-template-columns:1.05fr .95fr;gap:56px}}.lib3d-eyebrow{border:1px solid color-mix(in srgb, var(--ui-accent) 30%, transparent);background:var(--ui-accent-soft);color:var(--ui-accent-strong);letter-spacing:.18em;text-transform:uppercase;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:11px;font-weight:700;display:inline-flex}.lib3d-title{text-wrap:balance;max-width:14ch;margin-top:20px;font-size:clamp(36px,5vw,56px);line-height:1.04;color:var(--ui-text-strong)!important}.lib3d-lead{max-width:46ch;color:var(--ui-muted);text-wrap:pretty;font-size:15px;line-height:1.7}.lib3d-stats{gap:28px;margin:22px 0 0;padding:0;list-style:none;display:flex}.lib3d-stats li{flex-direction:column;display:flex}.lib3d-stats strong{letter-spacing:-.03em;color:var(--ui-text-strong);font-variant-numeric:tabular-nums;font-size:26px;font-weight:700;line-height:1.1}.lib3d-stats span{letter-spacing:.14em;text-transform:uppercase;color:var(--ui-muted);margin-top:4px;font-size:11px}.lib3d-ctas{flex-wrap:wrap;gap:12px;margin-top:26px;display:flex}.lib3d-primary{background:var(--ui-accent);min-height:46px;color:var(--ui-accent-ink);border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:14px;font-weight:700;transition:transform .2s,filter .2s;display:inline-flex}.lib3d-primary:hover{filter:brightness(1.05);transform:translateY(-2px)}.lib3d-note{border:1px solid var(--ui-border);background:var(--ui-surface);min-height:46px;color:var(--ui-text-strong);border-radius:999px;align-items:center;gap:8px;padding:12px 20px;font-size:14px;font-weight:600;display:inline-flex}.lib3d-note svg{color:var(--ui-accent-strong)}.lib3d-stage{gap:18px;margin-top:48px;display:grid}.lib3d-row{padding:34px 0 30px;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 7% 93%,#0000);mask-image:linear-gradient(90deg,#0000,#000 7% 93%,#0000)}.lib3d-row:after{content:"";background:linear-gradient(180deg, color-mix(in srgb, var(--ui-text-strong) 16%, var(--ui-surface)), color-mix(in srgb, var(--ui-text-strong) 6%, var(--ui-bg)));border-radius:3px;height:14px;position:absolute;bottom:18px;left:0;right:0;box-shadow:inset 0 1px #ffffff2e,0 18px 30px -12px #0000008c}.lib3d-track{z-index:1;width:max-content;padding-left:var(--lib3d-gap);animation:lib3d-scroll calc(var(--lib3d-count) * 3.2s) linear infinite;display:flex;position:relative}.lib3d-row-1 .lib3d-track{animation-direction:reverse;animation-duration:calc(var(--lib3d-count) * 3.8s)}.lib3d-row:hover .lib3d-track,.lib3d-row:focus-within .lib3d-track{animation-play-state:paused}@keyframes lib3d-scroll{to{transform:translate(-50%)}}.lib3d-book{width:var(--lib3d-w);aspect-ratio:5/8;margin-right:var(--lib3d-gap);perspective:1400px;outline:none;flex:none;display:block;position:relative}.lib3d-obj{transform-style:preserve-3d;transition:transform .55s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0;transform:rotateY(28deg)rotateX(2deg)}:is(.lib3d-book:hover .lib3d-obj,.lib3d-book:focus-visible .lib3d-obj){transform:rotateY(6deg)translateY(-14px)translateZ(26px)}.lib3d-front,.lib3d-back{border-radius:2px 6px 6px 2px;position:absolute;inset:0;overflow:hidden}.lib3d-front{transform:translateZ(calc(var(--lib3d-t) / 2));background:var(--ui-surface)}.lib3d-front img{object-fit:cover;width:100%;height:100%;display:block}.lib3d-front:after{content:"";pointer-events:none;background:linear-gradient(90deg,#00000059 0,#ffffff2e 2.5%,#0000001f 5%,#0000 10% 72%,#ffffff12 88%,#0000);position:absolute;inset:0}.lib3d-back{transform:rotateY(180deg) translateZ(calc(var(--lib3d-t) / 2));background:color-mix(in srgb, var(--ui-text-strong) 70%, #000)}.lib3d-spine{top:0;bottom:0;left:calc(50% - var(--lib3d-t) / 2);width:var(--lib3d-t);transform:rotateY(-90deg) translateZ(calc(var(--lib3d-w) / 2));background-size:calc(var(--lib3d-w) * 8) 100%;background-position:0;background-repeat:no-repeat;border-radius:3px 0 0 3px;position:absolute}.lib3d-spine:after{content:"";background:linear-gradient(90deg,#00000080,#00000026 30%,#ffffff1f 55%,#00000059);position:absolute;inset:0}.lib3d-pages{top:3px;bottom:3px;left:calc(50% - (var(--lib3d-t) - 4px) / 2);width:calc(var(--lib3d-t) - 4px);transform:rotateY(90deg) translateZ(calc(var(--lib3d-w) / 2 - 3px));background:repeating-linear-gradient(90deg,#f4f1ea 0 1px,#dcd6ca 1px 2px),#efebe3;position:absolute;box-shadow:inset 0 0 6px #0000002e}.lib3d-book:after{content:"";filter:blur(4px);z-index:-1;background:radial-gradient(closest-side,#000000a6,#0000);border-radius:50%;height:16px;transition:transform .55s cubic-bezier(.2,.8,.2,1),opacity .55s;position:absolute;bottom:-8px;left:4%;right:-6%}.lib3d-book:hover:after{opacity:.6;transform:scale(.85)}.lib3d-caption{text-align:center;letter-spacing:.12em;text-transform:uppercase;color:var(--ui-accent-strong);opacity:0;pointer-events:none;font-size:11px;font-weight:700;transition:opacity .3s,transform .3s;position:absolute;bottom:-30px;left:0;right:0;transform:translateY(-4px)}:is(.lib3d-book:hover .lib3d-caption,.lib3d-book:focus-visible .lib3d-caption){opacity:1;transform:none}.lib3d-book:focus-visible .lib3d-front{outline:3px solid var(--ui-accent);outline-offset:3px}@media (max-width:640px){.lib3d{--lib3d-w:112px;--lib3d-t:16px;--lib3d-gap:30px;padding-block:52px 40px}.lib3d-stage{gap:8px;margin-top:32px}.lib3d-stats{gap:22px}.lib3d-stats strong{font-size:22px}}@media (prefers-reduced-motion:reduce){.lib3d-track{animation:none}.lib3d-row{scroll-snap-type:x proximity;overflow-x:auto;-webkit-mask-image:none;mask-image:none}.lib3d-book{scroll-snap-align:start}.lib3d-book[aria-hidden=true]{display:none}.lib3d-obj,.lib3d-book:after,.lib3d-caption{transition:none}}
