.lib-hero-stats b{font-size:clamp(1.8rem,3.4vw,2.6rem)}.lib-stacks{background:var(--paper);padding-bottom:clamp(50px,6vw,80px)}.lib-stacks-head{gap:12px;margin-bottom:30px;display:grid}.marquee{gap:14px;display:grid;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000);mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000)}.marquee-track{gap:12px;width:max-content;animation:80s linear infinite marquee;display:flex}.marquee-row.rev .marquee-track{animation-duration:95s;animation-direction:reverse}.marquee:hover .marquee-track,.marquee:focus-within .marquee-track{animation-play-state:paused}@keyframes marquee{to{transform:translate(-50%)}}.stack-chip{border:1px solid var(--rule);font:500 15px var(--font);color:var(--ink);cursor:pointer;white-space:nowrap;transition:border-color .25s, box-shadow .25s, transform .25s var(--ease);background:#fff;border-radius:999px;align-items:center;gap:10px;padding:12px 18px;display:inline-flex}.stack-chip b{color:var(--blue);background:var(--mist);border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600}.stack-chip:hover,.stack-chip:focus-visible,.stack-chip.on{border-color:var(--blue);transform:translateY(-2px);box-shadow:0 10px 24px -14px #1e6bf099}.stack-chip.on{background:var(--blue);color:#fff}.stack-chip.on b{color:#fff;background:#fff3}@media (prefers-reduced-motion:reduce){.marquee-track{flex-wrap:wrap;width:auto;padding:0 24px;animation:none}.marquee-row.rev{display:none}.marquee{-webkit-mask-image:none;mask-image:none}.marquee-track [aria-hidden]{display:none}}.lib-explore{padding-top:clamp(50px,6vw,80px)}.lib-filters{z-index:5;backdrop-filter:blur(12px);border:1px solid var(--rule);background:#ffffffeb;border-radius:18px;grid-template-columns:1.6fr repeat(4,1fr);gap:10px;margin:0 -14px 26px;padding:14px;display:grid;position:sticky;top:69px;box-shadow:0 20px 40px -32px #0b2a6b80}.lib-search{border:1px solid var(--rule);color:var(--muted-2);background:#fff;border-radius:12px;align-items:center;gap:8px;padding:0 12px;display:flex}.lib-search input{font:15px var(--font);width:100%;color:var(--ink);background:0 0;border:0;outline:0;padding:11px 0}.pf{min-width:0;position:relative}.pf-btn{width:100%;font:14px var(--font);border:1px solid var(--rule);color:var(--ink);cursor:pointer;text-align:left;background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:8px;padding:11px 12px;display:flex}.pf-btn:after{content:"";opacity:.6;border-bottom:1.6px solid;border-right:1.6px solid;flex:none;width:7px;height:7px;transition:transform .2s;transform:translateY(-2px)rotate(45deg)}.pf-btn[aria-expanded=true]:after{transform:translateY(2px)rotate(225deg)}.pf-val{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pf.set .pf-btn{border-color:var(--blue);background:var(--mist);color:var(--navy);font-weight:600}.pf-btn:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.pf-pop{z-index:30;border:1px solid var(--rule);background:#fff;border-radius:14px;width:max(100%,270px);padding:8px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 24px 50px -24px #0b2a6b73}.pf-q{width:100%;font:14px var(--font);border:1px solid var(--rule);color:var(--ink);border-radius:10px;outline:none;padding:10px 12px}.pf-q:focus{border-color:var(--blue)}.pf-list{overscroll-behavior:contain;max-height:300px;margin:6px 0 0;padding:0;list-style:none;overflow:auto}.pf-list li{cursor:pointer;color:var(--ink);border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-size:14px;display:flex}.pf-list li b{color:var(--muted-2);font-size:12px;font-weight:600}.pf-list li.act{background:var(--paper)}.pf-list li[aria-selected=true]{color:var(--blue);font-weight:600}.pf-list li.zero{color:var(--muted-2)}.pf-list li.pf-all{border-bottom:1px solid var(--rule);border-radius:8px 8px 0 0;margin-bottom:4px}.pf-list .pf-none{color:var(--muted-2);cursor:default}@media (width<=960px){.pf[data-key=ind] .pf-pop,.pf[data-key=cap] .pf-pop{left:auto;right:0}}.lib-toggles{flex-wrap:wrap;grid-column:1/4;gap:8px;display:flex}.tog{font:500 13.5px var(--font);border:1px solid var(--rule);color:var(--navy);cursor:pointer;background:#fff;border-radius:999px;padding:8px 14px}.tog.on{background:var(--navy);border-color:var(--navy);color:#fff}.lib-count{color:var(--muted);margin:0;font-size:14px}.lib-count b{color:var(--ink);font-size:1.1rem}.lib-go{grid-column:4/-1;place-self:center end;align-items:center;gap:14px;display:flex}.lib-see{white-space:nowrap;padding:11px 20px;font-size:14.5px}.lib-see b,.lib-float-go b{font-weight:700}.lib-hero-cta{flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:34px;display:flex}.lib-hero-alt{color:var(--sky-soft);border-bottom:1px solid #7cc0ff66;padding-bottom:2px;font-size:15px;font-weight:500;text-decoration:none}.lib-hero-alt:hover{color:#fff;border-color:#fff}.lib-float{z-index:40;-webkit-backdrop-filter:blur(14px);opacity:0;pointer-events:none;transition:translate .45s var(--ease), opacity .3s;background:#0b0f17f5;border-top:1px solid #ffffff14;position:fixed;bottom:0;left:0;right:0;translate:0 110%;box-shadow:0 -18px 40px -20px #0b0f1799}.lib-float.show{opacity:1;pointer-events:auto;translate:0}.lib-float-in{padding-block:14px;padding-bottom:max(14px, env(safe-area-inset-bottom));align-items:center;gap:18px;display:flex}.lib-float-txt{flex:1;gap:2px;min-width:0;margin:0;display:grid}.lib-float-txt b{color:#fff;font-size:16px;font-weight:600}.lib-float-n{color:var(--sky-soft);font-weight:700;display:inline-block}.lib-float-n.pop{animation:floatNum .45s var(--ease)}#lib-float-sum{color:#aab4c8;white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;overflow:hidden}.lib-float-clear{font:500 14px var(--font);color:var(--sky-soft);cursor:pointer;text-underline-offset:3px;white-space:nowrap;background:0 0;border:0;text-decoration:underline}.lib-float-go{white-space:nowrap;position:relative}.lib-float.show .lib-float-go{animation:4.5s ease-in-out 1.5s infinite floatNudge}.lib-float-go:after{content:"";border-radius:inherit;pointer-events:none;position:absolute;inset:0}.lib-float.show .lib-float-go:after{animation:4.5s ease-out 1.5s infinite floatRing}@keyframes floatNudge{0%,78%,to{transform:none}84%{transform:scale(1.07)}90%{transform:scale(.99)}95%{transform:scale(1.02)}}@keyframes floatRing{0%,80%{box-shadow:0 0 #3aa0ffa6}to{box-shadow:0 0 0 16px #3aa0ff00}}@keyframes floatNum{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (width<=700px){.lib-float-clear{display:none}.lib-float-in{gap:12px;padding-block:12px}.lib-float-txt b{font-size:15px}.lib-float-go{padding:12px 18px;font-size:14.5px}}@media (prefers-reduced-motion:reduce){.lib-float{transition:none}.lib-float.show .lib-float-go,.lib-float.show .lib-float-go:after,.lib-float-n.pop{animation:none}}.lib-clear{font:600 13px var(--font);color:var(--blue);cursor:pointer;background:0 0;border:0;margin-left:10px;text-decoration:underline}@media (width<=960px){.lib-filters{grid-template-columns:1fr 1fr;margin:0 0 22px;position:static}.lib-search{grid-column:1/-1}.lib-toggles,.lib-go{grid-column:1/-1;justify-self:start}}.lib-charts{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.lib-panel{border:1px solid var(--rule);background:#fff;border-radius:20px;margin:0;padding:22px}.lib-panel figcaption{margin-bottom:14px;font-weight:600}.lib-map-panel{grid-column:1/-1}.lib-bars{gap:4px;display:grid}.bar-row{font:14px var(--font);color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;grid-template-columns:minmax(120px,42%) 1fr 48px;align-items:center;gap:12px;padding:6px 8px;transition:background .2s;display:grid}.bar-row:hover,.bar-row:focus-visible{background:var(--paper)}.bar-row.on{background:var(--mist)}.bar-row .bl{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bar-row .bt{background:var(--paper);border-radius:999px;height:10px;overflow:hidden}.bar-row .bt i{background:linear-gradient(90deg, var(--navy), var(--blue) 70%, var(--sky));height:100%;transition:width .6s var(--ease);border-radius:999px;display:block}.bar-row b{color:var(--muted);text-align:right;font-size:13px;font-weight:600}.lib-bars.dark .bar-row{color:#fff}.lib-bars.dark .bar-row:hover{background:#ffffff0f}.lib-bars.dark .bt{background:#ffffff1a}.lib-bars.dark b{color:#aab4c8}.lib-map{height:clamp(340px,38vw,480px);position:relative}.lib-map>canvas,.lib-map>svg{width:100%;height:100%;display:block;position:absolute;inset:0}.lib-map>svg{touch-action:pan-y;-webkit-user-select:none;user-select:none;cursor:grab;overflow:visible}.lib-map>svg:active{cursor:grabbing}.lib-map circle{fill:#1e6bf08c;stroke:#fff;stroke-width:1.5px;vector-effect:non-scaling-stroke;cursor:pointer;transition:fill .2s, opacity .3s var(--ease)}.lib-map circle:hover,.lib-map circle.on{fill:var(--navy)}.lib-map text{font-family:var(--font);fill:var(--ink);pointer-events:none;paint-order:stroke;stroke:#ffffffd9;stroke-linejoin:round;transition:opacity .3s var(--ease);font-weight:600}.lib-map .lib-dots.focus circle:not(.on){opacity:.28}.lib-map .labels.focus text:not(.sel){opacity:.3}.lib-map text.sel{stroke:#fff;font-weight:700}.lib-map text.sel tspan{fill:var(--blue)}.lib-map-zoom{gap:6px;display:flex;position:absolute;top:8px;right:8px}.lib-map-zoom button{border:1px solid var(--rule);min-width:34px;height:34px;color:var(--navy);font:500 13px var(--font);cursor:pointer;background:#ffffffeb;border-radius:10px;place-items:center;padding:0 10px;display:grid;box-shadow:0 4px 12px -6px #0b2a6b4d}.lib-map-zoom button[hidden]{display:none}.lib-map-zoom button:hover:not(:disabled){border-color:var(--blue);color:var(--blue)}.lib-map-zoom button:disabled{opacity:.4;cursor:default}.lib-map-zoom button:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.lib-map-zoom svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;width:14px;height:14px}.lib-map-reset{order:-1}@media (width<=700px){.lib-map{height:330px}.lib-map-zoom{top:auto;bottom:4px}}.lib-regions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.lib-regions button{font:500 13px var(--font);border:1px solid var(--rule);cursor:pointer;color:var(--navy);background:#fff;border-radius:999px;padding:6px 12px}.lib-regions button.on{background:var(--navy);color:#fff;border-color:var(--navy)}.cloud{flex-wrap:wrap;gap:8px;display:flex}.cloud button{font:500 var(--fs,14px) var(--font);border:1px solid var(--rule);color:var(--ink);cursor:pointer;background:#fff;border-radius:999px;padding:6px 12px}.cloud button:hover{border-color:var(--blue)}.lib-charts-btn{display:none}@media (width<=860px){.lib-charts{grid-template-columns:1fr;display:none}.lib-charts.open{display:grid}.lib-charts-btn{font:600 14px var(--font);color:var(--navy);border:1px solid var(--rule);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:8px;margin:0 0 18px;padding:10px 18px;display:inline-flex}.lib-map-panel{grid-column:auto}.bar-row{grid-template-columns:1fr 40px;row-gap:6px}.bar-row .bl{white-space:normal;grid-column:1/-1}.bar-row .bt{grid-column:1}}.lib-ai-grid{grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,70px);margin-top:clamp(40px,6vw,70px);display:grid}.lib-ai-grid h3{color:#fff;margin-bottom:16px;font-size:1.1rem}.lib-ai-ex{border-top:1px solid #ffffff24;margin:0;padding:0;list-style:none}.lib-ai-ex li{border-bottom:1px solid #ffffff24;gap:3px;padding:14px 0;display:grid}.lib-ai-ex li b{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.lib-ai-ex li.none{color:#aab4c8;border-bottom:0}.lib-ai-tabs{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.lib-ai-tabs button,.lib-ai-chips button{font:500 14px var(--font);color:#dcebff;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #ffffff38;border-radius:999px;padding:8px 14px;transition:background .2s,border-color .2s,color .2s}.lib-ai-tabs button b{opacity:.7;margin-left:4px;font-size:12px;font-weight:600}.lib-ai-tabs button:hover,.lib-ai-chips button:hover{border-color:#ffffff73}.lib-ai-tabs button[aria-pressed=true],.lib-ai-chips button[aria-pressed=true]{background:var(--blue);border-color:var(--blue);color:#fff}.lib-ai-tabs button:focus-visible,.lib-ai-chips button:focus-visible{outline:2px solid var(--sky);outline-offset:2px}.lib-ai-chips{display:none}.lib-ai-grid>*{min-width:0}.lib-ai-sum{color:#fff;margin:0 0 12px;font-size:1.05rem;font-weight:600}.lib-ai-clear{font:500 14px var(--font);color:var(--sky-soft);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:8px 4px;text-decoration:underline}.lib-ai-clear[hidden]{display:none}.lib-ai-cta{align-items:center}.lib-bars.dark .bar-row b{transition:color .2s}.lib-ai-ex b{color:#fff;font-weight:500}.lib-ai-ex span{color:#aab4c8;font-size:13.5px}.lib-ai-ex em{color:var(--sky-soft);font-size:12.5px;font-style:normal;font-weight:600}.lib-ai-cta{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}@media (width<=860px){.lib-ai-grid{grid-template-columns:1fr}.lib-ai-tech{display:none}.lib-ai-chips{scrollbar-width:none;gap:8px;margin:0 -20px 18px;padding:2px 20px 4px;display:flex;overflow-x:auto}.lib-ai-chips::-webkit-scrollbar{display:none}.lib-ai-tabs button{padding:7px 12px;font-size:13.5px}}.lib-results-head{justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:24px;display:flex}.lib-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.lib-card{border:1px solid var(--rule);transition:border-color .25s, box-shadow .25s, transform .25s var(--ease);background:#fff;border-radius:18px;align-content:start;gap:8px;padding:20px;display:grid}.lib-card:hover{border-color:#1e6bf073;transform:translateY(-2px);box-shadow:0 20px 40px -30px #0b2a6b80}.lib-cap{color:var(--blue);font-size:12.5px;font-weight:600}.lib-card h3{font-size:1.02rem;line-height:1.35}.lib-meta{color:var(--muted);font-size:13.5px}.lib-stk{flex-wrap:wrap;gap:6px;margin:4px 0 0;padding:0;list-style:none;display:flex}.lib-stk li{background:var(--paper);color:var(--navy);border-radius:999px;padding:3px 9px;font-size:12px;font-weight:500}.lib-out{color:var(--muted-2);font-size:13px}.lib-badges{flex-wrap:wrap;gap:6px;display:flex}.lib-badges span{color:#fff;background:var(--navy);border-radius:999px;padding:3px 9px;font-size:11.5px;font-weight:600}.lib-more-wrap{text-align:center;margin-top:30px}.lib-empty{text-align:center;color:var(--muted);grid-column:1/-1;justify-items:center;gap:16px;padding:40px 0;display:grid}.lib-active{color:var(--blue);min-height:1.2em;margin:6px 0 0;font-size:14.5px;font-weight:500}.lib-none{color:var(--muted-2);margin:0;font-size:14px}#explore,#results{scroll-margin-top:70px}.lib-bars.dark .bar-row.on{background:#7cc0ff29}.cloud button b{color:var(--muted-2);margin-left:2px;font-size:11px;font-weight:600}.cloud button.on{background:var(--blue);border-color:var(--blue);color:#fff}.cloud button.on b{color:#fffc}.lib-map text tspan{fill:var(--blue)}.lib-map circle:focus-visible{stroke:var(--navy);stroke-width:3px;outline:none}.lib-regions b{opacity:.7;margin-left:2px;font-size:11.5px;font-weight:600}.lib-form-msg.ok{color:#fff}.lib-form-msg a{color:var(--sky-soft);font-weight:600}.lib-sub-grid .lead{margin-top:18px}#lib-more[hidden]{display:none}.lib-sub-grid{grid-template-columns:.9fr 1.1fr;align-items:start;gap:clamp(30px,5vw,80px);display:grid}.lib-form{color:#fff;backdrop-filter:blur(8px);background:#ffffff0a;border:1px solid #ffffff24;border-radius:22px;gap:14px;padding:clamp(20px,3vw,32px);display:grid}.lib-form-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.lib-form label{color:#c3cce0;gap:6px;font-size:13.5px;display:grid}.lib-form input[type=email],.lib-form input[type=text]{font:15px var(--font);color:#fff;background:#0b0f1799;border:1px solid #fff3;border-radius:12px;padding:12px 14px}.lib-form input:focus{outline:2px solid var(--sky);outline-offset:1px}.lib-form fieldset{border:0;margin:0;padding:0}.lib-form legend{color:#c3cce0;margin-bottom:8px;font-size:13.5px}.tp{gap:10px;display:grid}.tp-field{position:relative}.tp-box{cursor:text;background:#0b0f1799;border:1px solid #fff3;border-radius:12px;flex-wrap:wrap;align-items:center;gap:6px;min-height:48px;padding:6px 8px;display:flex}.tp-box:focus-within{outline:2px solid var(--sky);outline-offset:1px}.tp-chips{display:contents}.tp-chip{background:var(--blue);color:#fff;border-radius:999px;align-items:center;gap:4px;padding:5px 6px 5px 12px;font-size:13px;font-weight:500;display:inline-flex}.tp-chip button{color:#fff;cursor:pointer;background:#ffffff2e;border:0;border-radius:50%;place-items:center;width:20px;height:20px;padding:0;display:grid}.tp-chip button:hover,.tp-chip button:focus-visible{background:#ffffff57;outline:none}.tp-chip svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:10px;height:10px}.lib-form input.tp-in{min-width:150px;font:15px var(--font);color:#fff;background:0 0;border:0;outline:none;flex:1;padding:8px 6px}.lib-form input.tp-in:focus{outline:none}.tp-in::placeholder{color:#8d99b3}.tp-list{z-index:6;background:var(--ink-2);border:1px solid #ffffff24;border-radius:14px;max-height:290px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:auto;box-shadow:0 24px 50px -20px #000000b3}.tp-list[hidden]{display:none}.tp-list li{color:#fff;cursor:pointer;border-radius:10px;justify-content:space-between;align-items:baseline;gap:12px;padding:9px 12px;font-size:14px;display:flex}.tp-list li small{color:#8d99b3;text-align:right;font-size:12px}.tp-list li[aria-selected=true],.tp-list li:hover{background:#1e6bf047}.tp-list li.tp-other{color:var(--sky-soft);font-weight:500}.tp-list li.tp-none{color:#8d99b3;cursor:default;background:0 0}.tp-quick{color:#8d99b3;flex-wrap:wrap;align-items:center;gap:6px;margin:0;font-size:12.5px;display:flex}.tp-quick[hidden]{display:none}.tp-quick span{margin-right:2px}.tp-quick button{font:500 12.5px var(--font);color:#dcebff;cursor:pointer;background:0 0;border:1px solid #ffffff2e;border-radius:999px;padding:5px 10px}.tp-quick button:hover{border-color:var(--sky);color:#fff}.tp-quick button:focus-visible{outline:2px solid var(--sky);outline-offset:1px}.lib-check{grid-auto-flow:column;justify-content:start;align-items:start;gap:10px!important}.lib-check input{accent-color:var(--blue);margin-top:3px}.lib-form .btn{justify-self:start}.lib-form-msg{min-height:1.2em;color:var(--sky-soft);font-size:14px}@media (width<=860px){.lib-sub-grid,.lib-form-row{grid-template-columns:1fr}}
