.openms-lib-page--hub.openms-lib-page--openms-lib{--pro-pad:var(--olib-pad-x, clamp(1.25rem, 5vw, 2.5rem));--pro-section-y:clamp(4rem, 9vw, 6.5rem);--pro-radius:1rem;--pro-radius-sm:1rem;--pro-shadow:0 0.2rem 0.65rem rgba(var(--openms-navy-rgb), 0.05);--pro-shadow-hover:0 0.65rem 1.5rem rgba(var(--openms-navy-rgb), 0.1);--pro-shadow-feature:0 18px 40px -20px rgba(var(--openms-navy-rgb), 0.45);--pro-shadow-feature-hover:0 22px 44px -20px rgba(var(--openms-navy-rgb), 0.5);--pro-band-soft:color-mix(in srgb, var(--olib-bg-soft) 70%, var(--openms-white));--pro-check:0.55rem;--pro-space-1:0.5rem;--pro-space-2:0.75rem;--pro-space-3:1rem;--pro-space-4:1.25rem;--pro-space-5:1.75rem;--pro-space-6:clamp(2.25rem, 4.5vw, 3.25rem);--pro-col-gap:clamp(2rem, 5vw, 4rem);--pro-stack-eyebrow:var(--pro-space-1);--pro-stack-lead:var(--pro-space-2);--pro-stack-actions:var(--pro-space-5);--pro-head-to-content:var(--pro-space-6);--pro-measure:42ch;--pro-measure-wide:58ch;--pro-card-gap:clamp(1rem, 2vw, 1.5rem);--pro-card-pad:clamp(1rem, 2vw, 1.2rem);--pro-card-pad-lg:clamp(1rem, 2vw, 1.2rem);--pro-line:rgba(var(--openms-navy-rgb), 0.1);--pro-line-strong:rgba(var(--openms-navy-rgb), 0.22);--pro-focus-line:rgba(var(--openms-navy-rgb), 0.22);--pro-text:var(--openms-text, var(--openms-navy));--pro-text-muted:var(--openms-text-muted, rgba(var(--openms-dark-rgb), 0.72));--pro-text-soft:var(--openms-text-soft, rgba(var(--openms-dark-rgb), 0.55));--olib-text-muted:var(--openms-text-muted, var(--pro-text-muted));--pro-eyebrow:var(--openms-text-eyebrow, rgba(var(--openms-blue-rgb), 0.72));--pro-link:var(--openms-content-link, var(--openms-navy));--pro-card-title:var(--openms-card-title-color, rgba(var(--openms-dark-rgb), 0.82));--pro-text-on-dark:var(--openms-text-muted-on-dark, rgba(255, 255, 255, 0.72));--pro-kicker-on-dark:var(--openms-text-soft-on-dark, rgba(255, 255, 255, 0.65));--pro-lift:translateY(-3px);--pro-lift-sm:translateY(-2px);--pro-motion:transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;--pro-motion-link:gap 0.2s ease, color 0.2s ease}.openms-lib-page--openms-lib{--pro-section-y:clamp(4rem, 9vw, 6.5rem);--pro-radius:1rem;--pro-radius-sm:1rem;--pro-shadow:0 0.2rem 0.65rem rgba(var(--openms-navy-rgb), 0.05);--pro-shadow-hover:0 0.65rem 1.5rem rgba(var(--openms-navy-rgb), 0.1);--pro-shadow-feature:0 18px 40px -20px rgba(var(--openms-navy-rgb), 0.45);--pro-shadow-feature-hover:0 22px 44px -20px rgba(var(--openms-navy-rgb), 0.5);--pro-band-soft:color-mix(in srgb, var(--olib-bg-soft) 70%, var(--openms-white));--pro-space-1:0.5rem;--pro-space-2:0.75rem;--pro-space-3:1rem;--pro-space-4:1.25rem;--pro-space-5:1.75rem;--pro-space-6:clamp(2.25rem, 4.5vw, 3.25rem);--pro-col-gap:clamp(2rem, 5vw, 4rem);--pro-stack-eyebrow:var(--pro-space-1);--pro-stack-lead:var(--pro-space-2);--pro-stack-actions:var(--pro-space-5);--pro-head-to-content:var(--pro-space-6);--pro-measure:42ch;--pro-measure-wide:58ch;--pro-card-gap:clamp(1rem, 2vw, 1.5rem);--pro-card-pad:clamp(1rem, 2vw, 1.2rem);--pro-card-pad-lg:clamp(1rem, 2vw, 1.2rem);--pro-line:rgba(var(--openms-navy-rgb), 0.1);--pro-line-strong:rgba(var(--openms-navy-rgb), 0.22);--pro-focus-line:rgba(var(--openms-navy-rgb), 0.22);--pro-text:var(--openms-text, var(--openms-navy));--pro-text-muted:var(--openms-text-muted, rgba(var(--openms-dark-rgb), 0.72));--pro-text-soft:var(--openms-text-soft, rgba(var(--openms-dark-rgb), 0.55));--olib-text-muted:var(--openms-text-muted, var(--pro-text-muted));--pro-eyebrow:var(--openms-text-eyebrow, rgba(var(--openms-blue-rgb), 0.72));--pro-link:var(--openms-content-link, var(--openms-navy));--pro-card-title:var(--openms-card-title-color, rgba(var(--openms-dark-rgb), 0.82));--pro-text-on-dark:var(--openms-text-muted-on-dark, rgba(255, 255, 255, 0.72));--pro-kicker-on-dark:var(--openms-text-soft-on-dark, rgba(255, 255, 255, 0.65));--pro-lift:translateY(-3px);--pro-lift-sm:translateY(-2px);--pro-motion:transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;--pro-motion-link:gap 0.2s ease, color 0.2s ease}.openms-lib-page--openms-lib .openms-lib-hero--pro{position:relative;padding:clamp(4rem,9vw,6.5rem)max(var(--olib-pad-x),calc((100% - var(--pro-max))/2 + var(--olib-pad-x)))clamp(2rem,4.5vw,3rem);background:radial-gradient(ellipse 70% 55% at 50% -10%,rgba(var(--openms-blue-rgb),.12),transparent 60%),radial-gradient(ellipse 45% 40% at 100% 20%,rgba(var(--openms-navy-rgb),.05),transparent 55%),radial-gradient(ellipse 40% 35% at 0% 80%,rgba(var(--openms-blue-rgb),.06),transparent 50%),var(--openms-white);overflow:hidden}.openms-lib-page--openms-lib .openms-lib-hero--pro::before,.openms-lib-page--openms-lib .openms-lib-hero--pro::after,.openms-lib-page--openms-lib .openms-lib-hero--pro .openms-lib-hero__panel::after{display:none}.openms-lib-page--openms-lib .openms-lib-hero__panel,.openms-lib-page--openms-lib .openms-lib-hero__content{text-align:center}.openms-lib-page--openms-lib .openms-lib-hero__content{display:flex;flex-direction:column;align-items:center;width:100%;max-width:var(--pro-hero-content-max,min(100%,62rem));min-height:0;margin-inline:auto}.openms-lib-page--openms-lib .openms-lib-hero__eyebrow{display:inline-flex;align-items:center;gap:.4rem;margin:0 auto var(--pro-stack-eyebrow);padding:0;border:none;border-radius:0;background:0 0;font-size:clamp(.72rem,.58rem + .55vw,.82rem);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--pro-eyebrow,rgba(var(--openms-blue-rgb),.72));box-shadow:none}.openms-lib-page--openms-lib .openms-lib-hero__eyebrow::before{display:none}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-hero__title,.openms-lib-page--openms-lib .openms-lib-hero__title{max-width:26ch;margin:0 auto;font-family:var(--openms-font-heading);font-size:calc(var(--openms-heading-xl-size) * 1.25);font-weight:var(--openms-heading-xl-weight);line-height:1.2;letter-spacing:-.02em;text-align:center;text-transform:none;text-wrap:balance;color:var(--pro-text,var(--openms-navy))}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-hero__accent--warm,.openms-lib-page--openms-lib .openms-lib-hero__accent--warm{color:var(--openms-orange)}.openms-lib-page--openms-lib .openms-lib-hero__lead{max-width:var(--pro-measure-wide);margin:var(--pro-stack-lead)auto 0;font-size:var(--openms-body-size-lg);line-height:1.65;text-align:center;color:var(--pro-text-muted)}.openms-lib-page--openms-lib .openms-lib-hero__code-chip{display:inline-flex;align-items:center;margin-left:.35rem;padding:.12rem .55rem;vertical-align:baseline;border:1px solid rgba(var(--openms-navy-rgb),.14);border-radius:.55rem;background:rgba(var(--openms-navy-rgb),.05)}.openms-lib-page--openms-lib .openms-lib-hero__code-line{display:inline-block;overflow:hidden;white-space:nowrap;vertical-align:bottom;width:9ch;padding:0;border:none;border-right:2px solid;background:0 0;font-family:var(--openms-font-mono);font-size:.95em;font-weight:600;color:var(--openms-blue);animation:olib-viz-typing 1.6s steps(9,end).5s backwards,olib-viz-caret .9s step-end infinite}@keyframes olib-viz-typing{from{width:0}to{width:9ch}}@keyframes olib-viz-caret{0%,100%{border-right-color:transparent}50%{border-right-color:initial}}@media(prefers-reduced-motion:reduce){.openms-lib-page--openms-lib .openms-lib-hero__code-line{animation:none;border-right-color:transparent}}.openms-lib-page--openms-lib .openms-lib-hero__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--pro-space-2);margin-top:var(--pro-stack-actions)}.openms-lib-page--openms-lib .openms-lib-btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;width:fit-content;min-height:var(--openms-btn-min-height,2.75rem);padding:var(--openms-btn-padding);border-radius:var(--openms-btn-pill-radius);font-family:var(--openms-font-body);font-size:var(--openms-btn-font-size,var(--openms-text-min));font-weight:600;line-height:1.3;text-decoration:none;white-space:nowrap;box-shadow:0 0 0 0 var(--openms-btn-glow);transition:var(--openms-btn-motion)}.openms-lib-page--openms-lib .openms-lib-developers__platform-btn{min-height:2.35rem;padding:.45rem .85rem;font-size:.82rem;gap:.4rem}.openms-lib-page--openms-lib .openms-lib-btn--primary{border:2px solid var(--openms-blue);background:var(--openms-blue);color:var(--openms-white)!important}.openms-lib-page--openms-lib .openms-lib-btn--primary::after{display:none}.openms-lib-page--openms-lib .openms-lib-btn--ghost:not(.openms-lib-cta-band__btn-ghost){border:2px solid var(--openms-blue);background:0 0;background-color:initial;color:var(--openms-blue)!important;text-decoration:none}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-btn--primary:hover,.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-btn--primary:focus-visible,.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-btn--primary:active,.openms-lib-page--openms-lib .openms-lib-btn--primary:hover,.openms-lib-page--openms-lib .openms-lib-btn--primary:focus-visible,.openms-lib-page--openms-lib .openms-lib-btn--primary:active{background:var(--openms-blue);border-color:var(--openms-blue);color:var(--openms-white)!important;transform:scale(var(--openms-btn-hover-scale));box-shadow:0 0 0 var(--openms-btn-glow-size)var(--openms-btn-glow);outline:none;text-decoration:none}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__cite-actions .openms-lib-btn--outline:hover,.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__cite-actions .openms-lib-btn--outline:focus-visible,.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__cite-actions .openms-lib-btn--outline:active,.openms-lib-page--openms-lib .openms-lib-developers__cite-actions .openms-lib-btn--outline:hover,.openms-lib-page--openms-lib .openms-lib-developers__cite-actions .openms-lib-btn--outline:focus-visible,.openms-lib-page--openms-lib .openms-lib-developers__cite-actions .openms-lib-btn--outline:active,.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-page__cite .openms-lib-btn--outline:hover,.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-page__cite .openms-lib-btn--outline:focus-visible,.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-page__cite .openms-lib-btn--outline:active,.openms-lib-page--openms-lib .openms-lib-page__cite .openms-lib-btn--outline:hover,.openms-lib-page--openms-lib .openms-lib-page__cite .openms-lib-btn--outline:focus-visible,.openms-lib-page--openms-lib .openms-lib-page__cite .openms-lib-btn--outline:active{background:0 0;background-color:initial;border-color:var(--openms-blue);color:var(--openms-blue)!important;transform:scale(var(--openms-btn-hover-scale));box-shadow:0 0 0 var(--openms-btn-glow-size)var(--openms-btn-glow);outline:none;text-decoration:none}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-btn--ghost:not(.openms-lib-cta-band__btn-ghost):hover,.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-btn--ghost:not(.openms-lib-cta-band__btn-ghost):focus-visible,.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-btn--ghost:not(.openms-lib-cta-band__btn-ghost):active,.openms-lib-page--openms-lib .openms-lib-btn--ghost:not(.openms-lib-cta-band__btn-ghost):hover,.openms-lib-page--openms-lib .openms-lib-btn--ghost:not(.openms-lib-cta-band__btn-ghost):focus-visible,.openms-lib-page--openms-lib .openms-lib-btn--ghost:not(.openms-lib-cta-band__btn-ghost):active{background:0 0;background-color:initial;border-color:var(--openms-blue);color:var(--openms-blue)!important;transform:scale(var(--openms-btn-hover-scale));box-shadow:0 0 0 var(--openms-btn-glow-size)var(--openms-btn-glow);outline:none;text-decoration:none}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-btn--primary:focus-visible,.openms-lib-page--openms-lib .openms-lib-btn--primary:focus-visible{box-shadow:0 0 0 3px var(--openms-navy),0 0 0 5px var(--openms-blue),0 0 0 calc(5px + var(--openms-btn-glow-size))var(--openms-btn-glow)}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-btn--ghost:not(.openms-lib-cta-band__btn-ghost):focus-visible,.openms-lib-page--openms-lib .openms-lib-btn--ghost:not(.openms-lib-cta-band__btn-ghost):focus-visible{box-shadow:0 0 0 3px var(--openms-navy),0 0 0 5px var(--openms-yellow),0 0 0 calc(5px + var(--openms-btn-glow-size))var(--openms-btn-glow)}.openms-lib-page--openms-lib .openms-lib-hero__actions .openms-lib-btn,.openms-lib-page--openms-lib .openms-lib-cta-band__actions .openms-lib-btn{min-height:2.75rem;padding:var(--openms-btn-padding);font-size:var(--openms-text-min)}.openms-lib-page--openms-lib .openms-lib-hero__actions .openms-lib-btn--primary,.openms-lib-page--openms-lib .openms-lib-cta-band__actions .openms-lib-btn--primary{border:2px solid var(--openms-blue);background:var(--openms-blue);color:var(--openms-white)!important}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-hero__actions .openms-lib-btn--install .openms-lib-btn__platforms .fa-windows,.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-hero__actions .openms-lib-btn--install .openms-lib-btn__platforms .fa-apple,.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-hero__actions .openms-lib-btn--install .openms-lib-btn__platforms .fa-linux,.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-hero__actions .openms-lib-btn--install .openms-lib-btn__platforms .fab,.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-hero__actions .openms-lib-btn--install .openms-lib-btn__platforms .svg-inline--fa,.openms-lib-page--openms-lib .openms-lib-hero__actions .openms-lib-btn--install .openms-lib-btn__platforms .fa-windows,.openms-lib-page--openms-lib .openms-lib-hero__actions .openms-lib-btn--install .openms-lib-btn__platforms .fa-apple,.openms-lib-page--openms-lib .openms-lib-hero__actions .openms-lib-btn--install .openms-lib-btn__platforms .fa-linux,.openms-lib-page--openms-lib .openms-lib-hero__actions .openms-lib-btn--install .openms-lib-btn__platforms .fab,.openms-lib-page--openms-lib .openms-lib-hero__actions .openms-lib-btn--install .openms-lib-btn__platforms .svg-inline--fa{color:#fff!important}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-hero__actions .openms-lib-btn--install .openms-lib-btn__platforms .svg-inline--fa path,.openms-lib-page--openms-lib .openms-lib-hero__actions .openms-lib-btn--install .openms-lib-btn__platforms .svg-inline--fa path{fill:currentColor!important}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-hero__actions .openms-lib-btn--primary:hover,.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-hero__actions .openms-lib-btn--primary:focus-visible,.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-hero__actions .openms-lib-btn--primary:active,.openms-lib-page--openms-lib .openms-lib-hero__actions .openms-lib-btn--primary:hover,.openms-lib-page--openms-lib .openms-lib-hero__actions .openms-lib-btn--primary:focus-visible,.openms-lib-page--openms-lib .openms-lib-hero__actions .openms-lib-btn--primary:active,.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-cta-band__actions .openms-lib-btn--primary:hover,.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-cta-band__actions .openms-lib-btn--primary:focus-visible,.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-cta-band__actions .openms-lib-btn--primary:active,.openms-lib-page--openms-lib .openms-lib-cta-band__actions .openms-lib-btn--primary:hover,.openms-lib-page--openms-lib .openms-lib-cta-band__actions .openms-lib-btn--primary:focus-visible,.openms-lib-page--openms-lib .openms-lib-cta-band__actions .openms-lib-btn--primary:active{background:var(--openms-blue);border-color:var(--openms-blue);color:var(--openms-white)!important;transform:scale(var(--openms-btn-hover-scale));box-shadow:0 0 0 var(--openms-btn-glow-size)var(--openms-btn-glow);outline:none;text-decoration:none}.openms-lib-page--openms-lib .openms-lib-hero__doc-btn,.openms-lib-page--openms-lib .openms-lib-cta-band__doc-btn{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;padding:var(--openms-btn-padding);border-radius:var(--openms-btn-pill-radius);border:2px solid var(--openms-blue);background:0 0;background-color:initial;color:var(--openms-blue)!important;font-family:var(--openms-font-body);font-size:var(--openms-text-min);font-weight:600;line-height:1.3;white-space:nowrap;text-decoration:none;box-shadow:0 0 0 0 var(--openms-btn-glow);transition:var(--openms-btn-motion)}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-hero__doc-btn:hover,.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-hero__doc-btn:focus-visible,.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-hero__doc-btn:active,.openms-lib-page--openms-lib .openms-lib-hero__doc-btn:hover,.openms-lib-page--openms-lib .openms-lib-hero__doc-btn:focus-visible,.openms-lib-page--openms-lib .openms-lib-hero__doc-btn:active,.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-cta-band__doc-btn:hover,.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-cta-band__doc-btn:focus-visible,.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-cta-band__doc-btn:active,.openms-lib-page--openms-lib .openms-lib-cta-band__doc-btn:hover,.openms-lib-page--openms-lib .openms-lib-cta-band__doc-btn:focus-visible,.openms-lib-page--openms-lib .openms-lib-cta-band__doc-btn:active{background:0 0;background-color:initial;border-color:var(--openms-blue);color:var(--openms-blue)!important;transform:scale(var(--openms-btn-hover-scale));box-shadow:0 0 0 var(--openms-btn-glow-size)var(--openms-btn-glow);outline:none;text-decoration:none}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-hero__doc-btn:focus-visible,.openms-lib-page--openms-lib .openms-lib-hero__doc-btn:focus-visible,.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-cta-band__doc-btn:focus-visible,.openms-lib-page--openms-lib .openms-lib-cta-band__doc-btn:focus-visible{box-shadow:0 0 0 3px var(--openms-navy),0 0 0 5px var(--openms-yellow),0 0 0 calc(5px + var(--openms-btn-glow-size))var(--openms-btn-glow)}.openms-lib-page--openms-lib .openms-lib-cta-band__doc-btn{border-color:rgba(var(--openms-white-rgb),.34)!important;color:var(--openms-white)!important;box-shadow:0 0 0 0 var(--openms-btn-glow)}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-cta-band__doc-btn:hover,.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-cta-band__doc-btn:focus-visible,.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-cta-band__doc-btn:active,.openms-lib-page--openms-lib .openms-lib-cta-band__doc-btn:hover,.openms-lib-page--openms-lib .openms-lib-cta-band__doc-btn:focus-visible,.openms-lib-page--openms-lib .openms-lib-cta-band__doc-btn:active{background:0 0!important;background-color:initial!important;border-color:rgba(var(--openms-white-rgb),.34)!important;color:var(--openms-white)!important;transform:scale(var(--openms-btn-hover-scale));box-shadow:0 0 0 var(--openms-btn-glow-size)var(--openms-btn-glow)!important}.openms-lib-page--openms-lib .openms-lib-page__body>.openms-lib-page__anchor{padding-inline:var(--openms-page-inline)}.openms-lib-page--openms-lib #what-is-openms::before,.openms-lib-page--openms-lib #getting-started::before{display:none}.openms-lib-page--openms-lib .openms-lib-about__eyebrow,.openms-lib-page--openms-lib .openms-lib-topp-split__eyebrow,.openms-lib-page--openms-lib .openms-lib-resources__eyebrow,.openms-lib-page--openms-lib .openms-lib-block__eyebrow,.openms-lib-page--openms-lib .openms-lib-developers__head .openms-lib-block__eyebrow,.openms-lib-page--openms-lib .openms-lib-cta-band__eyebrow,.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__cite-kicker,.openms-lib-page--openms-lib .openms-lib-developers__cite-kicker{display:inline-flex;align-items:center;gap:.4rem;margin:0 0 var(--pro-stack-eyebrow);padding:0;border:none;border-radius:0;background:0 0;font-size:var(--openms-text-min);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--pro-eyebrow,rgba(var(--openms-blue-rgb),.72));box-shadow:none}.openms-lib-page--openms-lib .openms-lib-about__title,.openms-lib-page--openms-lib .openms-lib-topp-split__title,.openms-lib-page--openms-lib .openms-lib-resources__title,.openms-lib-page--openms-lib .openms-lib-block__title,.openms-lib-page--openms-lib .openms-lib-developers__title,.openms-lib-page--openms-lib .openms-lib-cta-band__title,.openms-lib-page--openms-lib .openms-lib-developers__card--build .openms-lib-developers__card-title,.openms-lib-page--openms-lib .openms-lib-developers__cite-intro{margin:0;font-family:var(--openms-font-heading);font-size:calc(var(--openms-heading-lg-size) * 1.15);font-weight:var(--openms-heading-lg-weight);line-height:1.3;letter-spacing:normal;text-transform:uppercase;color:var(--openms-navy)}.openms-lib-page--openms-lib .openms-lib-about__lead,.openms-lib-page--openms-lib .openms-lib-topp-split__lead,.openms-lib-page--openms-lib .openms-lib-resources__lead,.openms-lib-page--openms-lib .openms-lib-block__lead,.openms-lib-page--openms-lib .openms-lib-developers__lead,.openms-lib-page--openms-lib .openms-lib-cta-band__lead{margin:var(--pro-stack-lead)0 0;max-width:var(--pro-measure);font-size:var(--openms-body-size-lg);line-height:1.65;color:var(--pro-text-muted)}.openms-lib-page--openms-lib .openms-lib-about__lead a,.openms-lib-page--openms-lib .openms-lib-topp-split__lead a,.openms-lib-page--openms-lib .openms-lib-resources__lead a,.openms-lib-page--openms-lib .openms-lib-block__lead a,.openms-lib-page--openms-lib .openms-lib-developers__lead a,.openms-lib-page--openms-lib .openms-lib-hero__lead a,.openms-lib-page--openms-lib .openms-lib-about__tile-text a,.openms-lib-page--openms-lib .openms-lib-topp-split__card-text a,.openms-lib-page--openms-lib .openms-lib-resources__item-text a,.openms-lib-page--openms-lib .openms-lib-list__text a{color:var(--openms-content-link,var(--pro-link,var(--openms-navy)));font-weight:var(--openms-content-link-weight,600);text-decoration:none;text-underline-offset:var(--openms-content-link-underline-offset,.12em)}.openms-lib-page--openms-lib .openms-lib-about__lead a:hover,.openms-lib-page--openms-lib .openms-lib-topp-split__lead a:hover,.openms-lib-page--openms-lib .openms-lib-resources__lead a:hover,.openms-lib-page--openms-lib .openms-lib-block__lead a:hover,.openms-lib-page--openms-lib .openms-lib-developers__lead a:hover,.openms-lib-page--openms-lib .openms-lib-hero__lead a:hover,.openms-lib-page--openms-lib .openms-lib-about__tile-text a:hover,.openms-lib-page--openms-lib .openms-lib-topp-split__card-text a:hover,.openms-lib-page--openms-lib .openms-lib-resources__item-text a:hover,.openms-lib-page--openms-lib .openms-lib-list__text a:hover,.openms-lib-page--openms-lib .openms-lib-about__lead a:focus-visible,.openms-lib-page--openms-lib .openms-lib-topp-split__lead a:focus-visible,.openms-lib-page--openms-lib .openms-lib-resources__lead a:focus-visible,.openms-lib-page--openms-lib .openms-lib-block__lead a:focus-visible,.openms-lib-page--openms-lib .openms-lib-developers__lead a:focus-visible,.openms-lib-page--openms-lib .openms-lib-hero__lead a:focus-visible,.openms-lib-page--openms-lib .openms-lib-about__tile-text a:focus-visible,.openms-lib-page--openms-lib .openms-lib-topp-split__card-text a:focus-visible,.openms-lib-page--openms-lib .openms-lib-resources__item-text a:focus-visible,.openms-lib-page--openms-lib .openms-lib-list__text a:focus-visible{color:var(--openms-content-link-hover,var(--openms-blue));text-decoration:underline;outline:none}.openms-lib-page--openms-lib .openms-lib-hero__eyebrow,.openms-lib-page--openms-lib .openms-lib-about__eyebrow,.openms-lib-page--openms-lib .openms-lib-topp-split__eyebrow,.openms-lib-page--openms-lib .openms-lib-resources__eyebrow,.openms-lib-page--openms-lib .openms-lib-block__eyebrow,.openms-lib-page--openms-lib .openms-lib-developers__head .openms-lib-block__eyebrow,.openms-lib-page--openms-lib .openms-lib-cta-band__eyebrow,.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__cite-kicker,.openms-lib-page--openms-lib .openms-lib-developers__cite-kicker{font-size:var(--openms-text-min)}.openms-lib-page--openms-lib .openms-lib-about__head,.openms-lib-page--openms-lib .openms-lib-topp-split__intro,.openms-lib-page--openms-lib .openms-lib-resources__head,.openms-lib-page--openms-lib .openms-lib-developers__head,.openms-lib-page--openms-lib .openms-lib-cta-band__copy{display:grid;gap:0}.openms-lib-page--openms-lib .openms-lib-about__tile-title,.openms-lib-page--openms-lib .openms-lib-topp-split__card-title,.openms-lib-page--openms-lib .openms-lib-resources__item-title,.openms-lib-page--openms-lib .openms-lib-resources__feature-title,.openms-lib-page--openms-lib .openms-lib-resources__support-channel-name,.openms-lib-page--openms-lib .openms-lib-list--resource-grid .openms-lib-list__title,.openms-lib-page--openms-lib .openms-lib-resource-card--online .openms-lib-list__title,.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__route .openms-lib-developers__card-title,.openms-lib-page--openms-lib .openms-lib-developers__route .openms-lib-developers__card-title,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card-title,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card-title{margin:0;font-family:var(--openms-font-heading);font-size:var(--openms-card-title-size,clamp(1rem,1.4vw,1.1rem));font-weight:700;line-height:1.3;letter-spacing:normal;color:var(--openms-card-title-color,var(--pro-card-title,rgba(var(--openms-dark-rgb),.82)))}.openms-lib-page--openms-lib .openms-lib-resources__feature-title,.openms-lib-page--openms-lib .openms-lib-resources__support-channel-name{color:var(--openms-white)}.openms-lib-page--openms-lib .openms-lib-about__tile-text,.openms-lib-page--openms-lib .openms-lib-topp-split__card-text,.openms-lib-page--openms-lib .openms-lib-resources__item-text,.openms-lib-page--openms-lib .openms-lib-list--resource-grid .openms-lib-list__text,.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__route .openms-lib-developers__card-text,.openms-lib-page--openms-lib .openms-lib-developers__route .openms-lib-developers__card-text{margin:0;font-family:var(--openms-font-body);font-size:var(--openms-body-size);line-height:1.55;color:rgba(var(--openms-dark-rgb),.72)}.openms-lib-page--openms-lib .openms-lib-developers__lead{color:var(--pro-text-muted)}.openms-lib-page--openms-lib:not(.openms-lib-page--webapps-pro):not(.openms-lib-page--research-partnerships):not(.openms-lib-page--developer-retreat):not(.openms-lib-page--governance):not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-about__tile,.openms-lib-page--openms-lib .openms-lib-topp-split__card,.openms-lib-page--openms-lib .openms-lib-resources__item,.openms-lib-page--openms-lib .openms-lib-developers__route,.openms-lib-page--openms-lib .openms-lib-developers__cite-details{border:1px solid var(--pro-line);border-radius:var(--pro-radius);background:var(--openms-white);box-shadow:var(--pro-shadow)}.openms-lib-page--openms-lib .fa-python{color:#3776ab!important}.openms-lib-page--openms-lib .fa-discord{color:#5865f2!important}.openms-lib-page--openms-lib .fa-github{color:#181717!important}.openms-lib-page--openms-lib .fa-windows{color:#0078d4!important}.openms-lib-page--openms-lib .fa-apple{color:#555!important}.openms-lib-page--openms-lib .fa-linux{color:#fcc624!important}.openms-lib-page--openms-lib .fa-docker{color:#2496ed!important}.openms-lib-page--openms-lib .openms-lib-resources__support-channel-icon .fa-discord,.openms-lib-page .openms-lib-resources__help-action-icon .fa-discord,.openms-lib-page .openms-lib-resources__assist-icon .fa-discord{color:#5865f2!important}.openms-lib-page--openms-lib .openms-lib-resources__support-channel-icon .fa-github,.openms-lib-page .openms-lib-resources__help-action-icon .fa-github,.openms-lib-page .openms-lib-resources__assist-icon .fa-github{color:#181717!important}.openms-lib-page .openms-lib-resources__assist-btn.openms-lib-btn--primary .fa-discord,.openms-lib-page .openms-lib-resources__assist-btn.openms-lib-btn--primary .fa-github{color:#fff!important}.openms-lib-page .openms-lib-resources__assist-btn.openms-lib-btn--ghost .fa-github{color:var(--openms-blue)!important}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-page__outro .openms-lib-developers__route-icon .fa-github,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-page__outro .openms-lib-developers__platforms .openms-lib-btn--ghost .fa-github{color:var(--openms-blue)!important}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-page__outro .openms-lib-developers__platforms .openms-lib-btn--primary .fa-github{color:#fff!important}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-page__outro .openms-lib-developers__platforms .fa-windows{color:#0078d4!important}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-page__outro .openms-lib-developers__platforms .fa-apple{color:#181717!important}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-page__outro .openms-lib-developers__platforms .fa-linux{color:#fcc624!important}.openms-lib-page--openms-lib .openms-lib-btn--primary .fa-windows,.openms-lib-page--openms-lib .openms-lib-btn--install .fa-windows,.openms-lib-page--openms-lib .openms-lib-btn--primary .fa-apple,.openms-lib-page--openms-lib .openms-lib-btn--install .fa-apple,.openms-lib-page--openms-lib .openms-lib-btn--primary .fa-linux,.openms-lib-page--openms-lib .openms-lib-btn--install .fa-linux,.openms-lib-page--openms-lib .openms-lib-btn--install .openms-lib-btn__platforms .fab,.openms-lib-page--openms-lib .openms-lib-btn--install .openms-lib-btn__platforms .svg-inline--fa{color:#fff!important}.openms-lib-page--openms-lib .openms-lib-btn--install .openms-lib-btn__platforms .svg-inline--fa path{fill:currentColor!important}.openms-lib-page--openms-lib .openms-lib-btn--primary .fa-docker,.openms-lib-page--openms-lib .openms-lib-btn--install .fa-docker{color:#2496ed!important}.openms-lib-page--openms-lib .openms-lib-developers__route--build .fa-github,.openms-lib-page--openms-lib .openms-lib-developers__platforms .fa-github{color:#181717!important}.openms-lib-page--openms-lib .openms-lib-developers__platforms .fa-book-open{color:var(--openms-navy)!important}.openms-lib-page--openms-lib .openms-lib-developers__platform-btn .fa-windows{color:#0078d4!important}.openms-lib-page--openms-lib .openms-lib-developers__platform-btn .fa-apple{color:#555!important}.openms-lib-page--openms-lib .openms-lib-developers__platform-btn .fa-linux{color:#fcc624!important}.openms-lib-page--openms-lib .openms-lib-resources__feature-icon,.openms-lib-page--openms-lib .openms-lib-resources__item-icon,.openms-lib-page--openms-lib .openms-lib-resources__support-channel-icon,.openms-lib-page--openms-lib .openms-lib-developers__route-icon{width:var(--openms-card-icon-chip,2rem);height:var(--openms-card-icon-chip,2rem);border-radius:.6rem;font-size:var(--openms-card-icon-glyph,.85rem)}.openms-lib-page--openms-lib .openms-lib-resources__item-tag,.openms-lib-page--openms-lib .openms-lib-developers__route .openms-lib-developers__card-tag{color:var(--pro-text-soft)}.openms-lib-page--openms-lib .openms-lib-resources__feature-text,.openms-lib-page--openms-lib .openms-lib-cta-band__lead,.openms-lib-page--openms-lib .openms-lib-topp-split__cta-blurb,.openms-lib-page--openms-lib .openms-lib-resources__support-text,.openms-lib-page--openms-lib .openms-lib-developers__card--build .openms-lib-developers__card-text{color:var(--pro-text-on-dark)}.openms-lib-page--openms-lib .openms-lib-resources__feature-kicker,.openms-lib-page--openms-lib .openms-lib-cta-band__eyebrow,.openms-lib-page--openms-lib .openms-lib-topp-split__cta-kicker,.openms-lib-page--openms-lib .openms-lib-developers__card--build .openms-lib-developers__card-tag{color:var(--pro-kicker-on-dark)}.openms-lib-page--openms-lib #what-is-openms{background:var(--openms-white)}.openms-lib-page--openms-lib #topp-tools{background:var(--pro-band-soft);color:inherit}.openms-lib-page--openms-lib #getting-started{background:var(--openms-white)}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-page__outro .openms-lib-block--developers{background:var(--pro-band-soft);color:var(--openms-navy)}.openms-lib-page--openms-lib #what-is-openms{overflow:visible}.openms-lib-page--openms-lib .openms-lib-about{padding-block:var(--pro-section-y);padding-top:clamp(2rem,4.5vw,3.25rem)}.openms-lib-page--openms-lib .openms-lib-about__inner{display:flex;flex-direction:column;gap:var(--pro-head-to-content);max-width:var(--pro-max);margin-inline:auto}.openms-lib-page--openms-lib .openms-lib-about__head{display:grid;grid-template-columns:minmax(0,.95fr)minmax(0,1.15fr);gap:var(--pro-col-gap);align-items:end;margin:0;text-align:left}.openms-lib-page--openms-lib .openms-lib-about__head-copy{display:grid;gap:0;min-width:0}.openms-lib-page--openms-lib .openms-lib-about__title,.openms-lib-page--openms-lib .openms-lib-about__lead{text-align:left}.openms-lib-page--openms-lib .openms-lib-about__lead{max-width:none;margin:0}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--research-partnerships):not(.openms-lib-page--developer-retreat):not(.openms-lib-page--governance) .openms-lib-about__mosaic{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--pro-card-gap);align-items:stretch}.openms-lib-page--openms-lib .openms-lib-about--benefits .openms-lib-about__head{grid-template-columns:1fr;justify-items:center;text-align:center;max-width:min(100%,40rem);margin-inline:auto}.openms-lib-page--openms-lib .openms-lib-about--benefits .openms-lib-about__inner{gap:var(--pro-head-to-content)}.openms-lib-page--openms-lib .openms-lib-about--benefits .openms-lib-about__head-copy{justify-items:center}.openms-lib-page--openms-lib .openms-lib-about--benefits .openms-lib-about__title,.openms-lib-page--openms-lib .openms-lib-about--benefits .openms-lib-about__lead{text-align:center}.openms-lib-page--openms-lib .openms-lib-about--benefits .openms-lib-about__lead{margin-top:var(--pro-stack-lead);max-width:36rem}.openms-lib-page--openms-lib .openms-lib-about--benefits .openms-lib-about__benefits{list-style:none;margin:0;padding:clamp(1.5rem,3vw,2.15rem)clamp(1.25rem,3vw,2rem);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:clamp(1.5rem,3.5vw,2.75rem);row-gap:clamp(1.25rem,3vw,2rem);width:100%;border:1px solid var(--pro-line);border-radius:var(--pro-radius);background:var(--pro-band-soft);box-sizing:border-box}.openms-lib-page--openms-lib .openms-lib-about--benefits .openms-lib-about__benefit{display:flex;flex-direction:column;align-items:flex-start;gap:.65rem;margin:0;padding:0;border:none;min-width:0}.openms-lib-page--openms-lib .openms-lib-about--benefits .openms-lib-about__benefit-title{text-wrap:balance}.openms-lib-page--openms-lib .openms-lib-about--benefits .openms-lib-about__benefit-text{margin:0;font-family:var(--openms-font-body);font-size:var(--openms-body-size);line-height:1.6;color:rgba(var(--openms-dark-rgb),.72);text-wrap:pretty}@media(max-width:960px){.openms-lib-page--openms-lib .openms-lib-about--benefits .openms-lib-about__benefits{grid-template-columns:repeat(2,minmax(0,1fr));padding:clamp(1.25rem,3vw,1.75rem)clamp(1rem,3vw,1.35rem)}.openms-lib-page--openms-lib .openms-lib-about--benefits .openms-lib-about__benefit{align-items:center;text-align:center}.openms-lib-page--openms-lib .openms-lib-about--benefits .openms-lib-about__benefit:first-child{padding-left:0}.openms-lib-page--openms-lib .openms-lib-about--benefits .openms-lib-about__benefit-num,.openms-lib-page--openms-lib .openms-lib-about--benefits .openms-lib-about__benefit-title,.openms-lib-page--openms-lib .openms-lib-about--benefits .openms-lib-about__benefit-text{text-align:center;width:100%}}@media(max-width:560px){.openms-lib-page--openms-lib .openms-lib-about--benefits .openms-lib-about__benefits{grid-template-columns:1fr}.openms-lib-page--openms-lib .openms-lib-about--benefits .openms-lib-about__benefit{align-items:center;text-align:center;gap:.45rem}}.openms-lib-page--openms-lib .openms-lib-about--list .openms-lib-about__head{grid-template-columns:1fr;gap:0;align-items:start;max-width:min(100%,40rem)}.openms-lib-page--openms-lib .openms-lib-about--list .openms-lib-about__lead{margin-top:var(--pro-stack-lead);max-width:var(--pro-measure)}.openms-lib-page--openms-lib .openms-lib-about--list .openms-lib-about__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;width:100%;max-width:min(100%,44rem);border-top:1px solid var(--pro-line)}.openms-lib-page--openms-lib .openms-lib-about--list .openms-lib-about__list-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.85rem 1.15rem;align-items:baseline;margin:0;padding:1.05rem 0 1.05rem .15rem;border-bottom:1px solid var(--pro-line)}.openms-lib-page--openms-lib .openms-lib-about--list .openms-lib-about__list-num{margin:0}.openms-lib-page--openms-lib .openms-lib-about--list .openms-lib-about__list-copy{margin:0;font-size:var(--openms-body-size-lg);line-height:1.55;color:rgba(var(--openms-dark-rgb),.78)}.openms-lib-page--openms-lib .openms-lib-about__tile{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;min-height:100%;padding:var(--pro-card-pad);text-align:left;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.openms-lib-page--openms-lib .openms-lib-about__tile:hover,.openms-lib-page--openms-lib .openms-lib-about__tile:focus-within{transform:var(--pro-lift-sm);border-color:var(--pro-line-strong);box-shadow:var(--pro-shadow-hover)}.openms-lib-page--openms-lib .openms-lib-about__num{margin-bottom:.2rem}.openms-lib-page--openms-lib .openms-lib-about__tile-text{max-width:none;margin-top:0}.openms-lib-page--openms-lib .openms-lib-topp-split{padding-block:var(--pro-section-y)}.openms-lib-page--openms-lib .openms-lib-topp-split__inner{display:grid;grid-template-columns:minmax(0,.85fr)minmax(0,1.45fr);gap:clamp(1.5rem,3.5vw,2.75rem);align-items:center;width:100%;max-width:var(--pro-max);margin-inline:auto;padding-inline:0;box-sizing:border-box}.openms-lib-page--openms-lib .openms-lib-topp-split--cards .openms-lib-topp-split__intro{display:grid;justify-items:start;gap:0;width:100%;max-width:min(100%,28rem);min-width:0;text-align:left}.openms-lib-page--openms-lib .openms-lib-topp-split--cards .openms-lib-topp-split__title{max-width:none;font-size:clamp(1.7rem,4.2vw,2.65rem);line-height:1.18;text-align:left;text-wrap:balance}.openms-lib-page--openms-lib .openms-lib-topp-split--cards .openms-lib-topp-split__lead{margin-top:var(--pro-stack-lead);max-width:38ch;text-align:left;color:var(--pro-text-muted);text-wrap:pretty}.openms-lib-page--openms-lib .openms-lib-topp-split--cards .openms-lib-topp-split__cta{margin-top:var(--pro-stack-actions);justify-self:start}.openms-lib-page--openms-lib .openms-lib-topp-split__cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.75rem,1.6vw,1rem);width:100%;min-width:0;align-items:stretch}.openms-lib-page--openms-lib .openms-lib-topp-split__card{display:flex;flex-direction:column;align-items:flex-start;gap:.85rem;margin:0;padding:clamp(1.25rem,3vw,1.85rem)clamp(1.15rem,2.5vw,1.55rem);min-width:0;width:100%;min-height:100%;height:100%;border:1px solid var(--pro-line);border-radius:var(--pro-radius);background:var(--openms-white);box-shadow:var(--pro-shadow);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.openms-lib-page--openms-lib .openms-lib-topp-split__card:hover,.openms-lib-page--openms-lib .openms-lib-topp-split__card:focus-within{border-color:var(--pro-line-strong);box-shadow:var(--pro-shadow-hover);transform:translateY(-2px)}.openms-lib-page--openms-lib .openms-lib-topp-split__card-icon{display:grid;place-items:center;width:1em;height:1em;border-radius:0;background:0 0;color:rgba(var(--openms-blue-rgb),.42);font-size:var(--openms-card-icon-size,clamp(2.5rem,3.8vw,3rem));line-height:1}.openms-lib-page--openms-lib .openms-lib-topp-split__card-icon .fab,.openms-lib-page--openms-lib .openms-lib-topp-split__card-icon .fas,.openms-lib-page--openms-lib .openms-lib-topp-split__card-icon .svg-inline--fa{color:rgba(var(--openms-blue-rgb),.42)!important;font-size:1em;width:1em;height:1em}.openms-lib-page--openms-lib .openms-lib-topp-split__card-icon .svg-inline--fa path{fill:currentColor!important}.openms-lib-page--openms-lib .openms-lib-topp-split__card-title{text-wrap:balance}.openms-lib-page--openms-lib .openms-lib-topp-split__card-text{margin:0;flex:auto;font-size:clamp(.95rem,1.8vw,1.05rem);line-height:1.55;color:rgba(var(--openms-dark-rgb),.72);text-wrap:pretty}.openms-lib-page--openms-lib .openms-lib-topp-split__card-link{display:inline-flex;align-items:center;gap:.3rem;margin-top:auto;font-size:var(--openms-text-min);font-weight:700;color:var(--pro-link,var(--openms-navy))!important;text-decoration:none;transition:gap .2s ease,color .2s ease}.openms-lib-page--openms-lib .openms-lib-topp-split__card-link:hover,.openms-lib-page--openms-lib .openms-lib-topp-split__card-link:focus-visible{gap:.5rem;color:var(--pro-link,var(--openms-navy))!important;outline:none}@media(max-width:1100px){.openms-lib-page--openms-lib .openms-lib-topp-split__inner{grid-template-columns:1fr;gap:var(--pro-head-to-content);align-items:stretch}.openms-lib-page--openms-lib .openms-lib-topp-split--cards .openms-lib-topp-split__intro{max-width:min(100%,40rem);margin-inline:auto;justify-items:center;text-align:center}.openms-lib-page--openms-lib .openms-lib-topp-split--cards .openms-lib-topp-split__title,.openms-lib-page--openms-lib .openms-lib-topp-split--cards .openms-lib-topp-split__lead{max-width:min(100%,36rem);text-align:center;margin-inline:auto}.openms-lib-page--openms-lib .openms-lib-topp-split--cards .openms-lib-topp-split__cta{justify-self:center}.openms-lib-page--openms-lib .openms-lib-topp-split__cards{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;max-width:100%}}@media(max-width:900px){.openms-lib-page--openms-lib .openms-lib-topp-split__cards{grid-template-columns:1fr;width:100%;max-width:100%;gap:.85rem}.openms-lib-page--openms-lib .openms-lib-topp-split__card{width:100%;max-width:none}}@media(max-width:560px){.openms-lib-page--openms-lib .openms-lib-topp-split--cards .openms-lib-topp-split__title{font-size:clamp(1.55rem,7.5vw,2rem);max-width:100%}.openms-lib-page--openms-lib .openms-lib-topp-split--cards .openms-lib-topp-split__lead{max-width:100%}.openms-lib-page--openms-lib .openms-lib-topp-split__card{padding:1.25rem 1.15rem}}.openms-lib-page .openms-lib-resources--explore{padding-block:var(--pro-section-y)}.openms-lib-page .openms-lib-resources--explore .openms-lib-resources__inner{display:flex;flex-direction:column;gap:var(--pro-head-to-content);max-width:var(--pro-max);margin-inline:auto}.openms-lib-page .openms-lib-resources--explore .openms-lib-resources__head{display:grid;justify-items:center;max-width:min(100%,40rem);margin-inline:auto;text-align:center}.openms-lib-page .openms-lib-resources--explore .openms-lib-resources__eyebrow{justify-content:center}.openms-lib-page .openms-lib-resources--explore .openms-lib-resources__title,.openms-lib-page .openms-lib-resources--explore .openms-lib-resources__lead{text-align:center}.openms-lib-page .openms-lib-resources--explore .openms-lib-resources__lead{margin-top:var(--pro-stack-lead);max-width:36rem}.openms-lib-page .openms-lib-resources__explore-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.85rem,2vw,1.25rem);align-items:stretch}.openms-lib-page .openms-lib-resources__explore-item{margin:0;min-width:0;display:flex}.openms-lib-page .openms-lib-resources__explore-grid:has(>:nth-child(5):last-child){grid-template-columns:repeat(6,minmax(0,1fr))}.openms-lib-page .openms-lib-resources__explore-grid:has(>:nth-child(5):last-child)>.openms-lib-resources__explore-item{grid-column:span 2}.openms-lib-page .openms-lib-resources__explore-grid:has(>:nth-child(5):last-child)>.openms-lib-resources__explore-item:nth-child(4){grid-column:2/span 2}.openms-lib-page .openms-lib-resources__explore-grid:has(>:nth-child(5):last-child)>.openms-lib-resources__explore-item:nth-child(5){grid-column:4/span 2}.openms-lib-page .openms-lib-resources__explore-card{display:flex;flex-direction:column;align-items:flex-start;gap:.65rem;width:100%;height:100%;padding:1.55rem 1.35rem;border:1px solid var(--pro-line);border-radius:var(--pro-radius);background:var(--openms-white);box-shadow:var(--pro-shadow);color:inherit;text-decoration:none;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.openms-lib-page .openms-lib-resources__explore-card:hover,.openms-lib-page .openms-lib-resources__explore-card:focus-visible{border-color:var(--pro-line-strong);box-shadow:var(--pro-shadow-hover);transform:translateY(-2px);outline:none}.openms-lib-page .openms-lib-resources__explore-icon{display:grid;place-items:center;width:1em;height:1em;color:var(--openms-blue);font-size:var(--openms-card-icon-size,clamp(2.5rem,3.8vw,3rem));line-height:1}.openms-lib-page .openms-lib-resources__explore-icon .fab,.openms-lib-page .openms-lib-resources__explore-icon .fas,.openms-lib-page .openms-lib-resources__explore-icon .svg-inline--fa{font-size:1em;width:1em;height:1em}.openms-lib-page .openms-lib-resources__explore-tag{font-size:var(--openms-text-min);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--pro-text-soft)}.openms-lib-page--openms-lib .openms-lib-resources__explore-title,.openms-lib-page .openms-lib-resources__explore-title{margin:0;font-family:var(--openms-font-heading);font-size:1.2rem;font-weight:700;line-height:1.25;color:var(--pro-card-title,rgba(var(--openms-dark-rgb),.82))}.openms-lib-page .openms-lib-resources__explore-text{margin:0;flex:auto;font-size:.98rem;line-height:1.55;color:rgba(var(--openms-dark-rgb),.72)}.openms-lib-page .openms-lib-resources__explore-link{display:inline-flex;align-items:center;gap:.3rem;margin-top:auto;font-size:var(--openms-text-min);font-weight:700;color:var(--pro-link,var(--openms-navy));transition:gap .2s ease}.openms-lib-page .openms-lib-resources__explore-card:hover .openms-lib-resources__explore-link,.openms-lib-page .openms-lib-resources__explore-card:focus-visible .openms-lib-resources__explore-link{gap:.5rem}.openms-lib-page .openms-lib-resources__assist{display:flex;flex-direction:column;align-items:center;gap:clamp(1rem,2vw,1.35rem);margin-top:clamp(1.5rem,4vw,2.75rem);padding:0;padding-bottom:calc(var(--openms-btn-glow-size,6px) + 1.25rem);border:none;background:0 0;text-align:center;overflow:visible}.openms-lib-page .openms-lib-resources__assist-copy{display:grid;gap:.4rem;justify-items:center;max-width:36rem}.openms-lib-page--openms-lib .openms-lib-resources__assist-title,.openms-lib-page .openms-lib-resources__assist-title{margin:0;font-family:var(--openms-font-heading);font-size:clamp(1.2rem,2vw,1.45rem);font-weight:700;color:var(--pro-card-title,rgba(var(--openms-dark-rgb),.82))}.openms-lib-page .openms-lib-resources__assist-text{margin:0;font-size:var(--openms-body-size);line-height:1.55;color:var(--pro-text-muted)}.openms-lib-page .openms-lib-resources__assist-actions{display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;gap:.75rem;width:max-content;max-width:100%;margin-inline:auto;padding:calc(var(--openms-btn-glow-size,6px) + .35rem);margin-bottom:.35rem;overflow:visible}.openms-lib-page .openms-lib-resources__assist-btn{flex:initial;width:auto;max-width:100%;text-decoration:none;white-space:nowrap}@media(max-width:900px){.openms-lib-page .openms-lib-resources__explore-grid,.openms-lib-page .openms-lib-resources__explore-grid:has(>:nth-child(5):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}.openms-lib-page .openms-lib-resources__explore-grid:has(>:nth-child(5):last-child)>.openms-lib-resources__explore-item,.openms-lib-page .openms-lib-resources__explore-grid:has(>:nth-child(5):last-child)>.openms-lib-resources__explore-item:nth-child(4),.openms-lib-page .openms-lib-resources__explore-grid:has(>:nth-child(5):last-child)>.openms-lib-resources__explore-item:nth-child(5){grid-column:auto}}@media(max-width:720px){.openms-lib-page .openms-lib-resources__explore-grid,.openms-lib-page .openms-lib-resources__explore-grid:has(>:nth-child(5):last-child),.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-grid,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-grid:has(>:nth-child(5):last-child){grid-template-columns:1fr;max-width:100%;margin-inline:auto}.openms-lib-page .openms-lib-resources__explore-grid:has(>:nth-child(5):last-child)>.openms-lib-resources__explore-item,.openms-lib-page .openms-lib-resources__explore-grid:has(>:nth-child(5):last-child)>.openms-lib-resources__explore-item:nth-child(4),.openms-lib-page .openms-lib-resources__explore-grid:has(>:nth-child(5):last-child)>.openms-lib-resources__explore-item:nth-child(5){grid-column:1/-1;width:100%}}@media(max-width:560px){.openms-lib-page .openms-lib-resources__explore-grid,.openms-lib-page .openms-lib-resources__explore-grid:has(>:nth-child(5):last-child){grid-template-columns:1fr;max-width:100%;margin-inline:auto}.openms-lib-page .openms-lib-resources__assist-actions{width:max-content;max-width:100%;flex-wrap:nowrap;gap:clamp(.45rem,2vw,.75rem)}.openms-lib-page .openms-lib-resources__assist-btn{width:auto;flex:initial;justify-content:center;padding-inline:clamp(.7rem,3vw,1.25rem)}}.openms-lib-page--openms-lib .openms-lib-resources{padding-block:var(--pro-section-y)0}.openms-lib-page--openms-lib .openms-lib-resources__inner{display:flex;flex-direction:column;gap:var(--pro-head-to-content);max-width:var(--pro-max);margin-inline:auto;padding-bottom:var(--pro-space-6)}.openms-lib-page--openms-lib .openms-lib-resources__head{display:grid;justify-items:start;max-width:min(100%,40rem);margin:0;text-align:left}.openms-lib-page--openms-lib .openms-lib-resources__title,.openms-lib-page--openms-lib .openms-lib-resources__lead{text-align:left}.openms-lib-page--openms-lib .openms-lib-resources__lead{margin-inline:0}.openms-lib-page--openms-lib .openms-lib-resources__toolkit{display:grid;grid-template-columns:minmax(0,.92fr)minmax(0,1.28fr);gap:var(--pro-card-gap);align-items:stretch}.openms-lib-page--openms-lib .openms-lib-resources--no-feature .openms-lib-resources__toolkit{grid-template-columns:minmax(0,1fr)}.openms-lib-page--openms-lib .openms-lib-resources__feature{display:flex;flex-direction:column;gap:var(--pro-space-2);min-height:100%;padding:var(--pro-card-pad-lg);border:1px solid transparent;border-radius:var(--pro-radius);background:radial-gradient(circle at 0% 0%,rgba(var(--openms-blue-rgb),.28),transparent 48%),linear-gradient(155deg,var(--openms-navy) 0%,color-mix(in srgb,var(--openms-navy) 78%,var(--openms-blue)) 100%);color:var(--openms-white);box-shadow:var(--pro-shadow-feature);transition:var(--pro-motion)}.openms-lib-page--openms-lib .openms-lib-resources__feature:hover,.openms-lib-page--openms-lib .openms-lib-resources__feature:focus-within{transform:var(--pro-lift-sm);box-shadow:var(--pro-shadow-feature-hover)}.openms-lib-page--openms-lib .openms-lib-resources__feature-kicker{display:inline-flex;align-items:center;gap:var(--pro-space-1);margin:0;font-size:var(--openms-text-min);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--pro-kicker-on-dark)}.openms-lib-page--openms-lib .openms-lib-resources__feature-icon{display:grid;place-items:center;color:var(--openms-white);background:rgba(255,255,255,.14);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}.openms-lib-page--openms-lib .openms-lib-resources__feature-title{color:var(--openms-white)}.openms-lib-page--openms-lib .openms-lib-resources__feature-text{margin:0;max-width:30ch;font-size:var(--openms-body-size);line-height:1.65;color:var(--pro-text-on-dark)}.openms-lib-page--openms-lib .openms-lib-resources__feature-btn{margin-top:auto;align-self:flex-start;border-color:var(--openms-white)!important;background:var(--openms-white)!important;color:var(--openms-navy)!important}.openms-lib-page--openms-lib .openms-lib-resources__feature-btn:hover,.openms-lib-page--openms-lib .openms-lib-resources__feature-btn:focus-visible,.openms-lib-page--openms-lib .openms-lib-resources__feature-btn:active{border-color:var(--openms-white)!important;background:var(--openms-white)!important;color:var(--openms-navy)!important;box-shadow:0 0 0 var(--openms-btn-glow-size)rgba(255,255,255,.28)!important}.openms-lib-page--openms-lib .openms-lib-resources__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--pro-card-gap)}.openms-lib-page--openms-lib .openms-lib-resources__item{display:flex;flex-direction:column;gap:.45rem;min-height:100%;padding:var(--pro-card-pad);text-decoration:none;color:inherit;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.openms-lib-page--openms-lib:not(.openms-lib-page--webapps-pro) .openms-lib-resources__item:hover,.openms-lib-page--openms-lib:not(.openms-lib-page--webapps-pro) .openms-lib-resources__item:focus-visible{transform:var(--pro-lift-sm);border-color:var(--pro-line-strong);box-shadow:var(--pro-shadow-hover);outline:none}.openms-lib-page--openms-lib .openms-lib-resources__item-top{display:flex;align-items:center;justify-content:space-between;gap:.55rem;margin-bottom:.4rem}.openms-lib-page--openms-lib .openms-lib-resources__item-icon{display:grid;place-items:center;color:var(--openms-navy);background:rgba(var(--openms-navy-rgb),.06);border:1px solid rgba(var(--openms-navy-rgb),.1);box-shadow:none}.openms-lib-page--openms-lib .openms-lib-resources__item-tag{font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--pro-text-soft)}.openms-lib-page--openms-lib .openms-lib-resources__item-text{flex:auto}.openms-lib-page--openms-lib .openms-lib-resources__item-link{display:inline-flex;align-items:center;align-self:flex-start;gap:.3rem;margin-top:auto;padding-top:1rem;font-size:var(--openms-text-min);font-weight:700;line-height:1.4;color:var(--pro-link,var(--openms-navy))!important;text-decoration:none;transition:gap .2s ease}.openms-lib-page--openms-lib .openms-lib-resources__item:hover .openms-lib-resources__item-link,.openms-lib-page--openms-lib .openms-lib-resources__item:focus-visible .openms-lib-resources__item-link{gap:.5rem;color:var(--pro-link,var(--openms-navy))!important}.openms-lib-page--openms-lib .openms-lib-resources__support{display:block;width:100%;max-width:none;margin:0;padding:clamp(2.25rem,4.5vw,3.25rem)max(var(--olib-pad-x),calc((100% - var(--pro-max))/2 + var(--olib-pad-x)));border:none;border-radius:0;background:radial-gradient(circle at 100% 0%,rgba(var(--openms-blue-rgb),.28),transparent 42%),var(--openms-navy);box-shadow:none;color:var(--openms-white)}.openms-lib-page--openms-lib .openms-lib-resources__support-inner{display:grid;grid-template-columns:minmax(0,.95fr)minmax(0,1.15fr);gap:clamp(1.75rem,4vw,3rem);align-items:center;width:100%;max-width:var(--pro-max);margin:0 auto;padding:0}.openms-lib-page--openms-lib .openms-lib-resources__support-copy{display:grid;gap:0;justify-items:start;width:100%;max-width:28rem;margin:0;text-align:left}.openms-lib-page--openms-lib .openms-lib-resources__support-title{margin:0;font-family:var(--openms-font-heading);font-size:calc(var(--openms-heading-lg-size) * 1.15);font-weight:var(--openms-heading-lg-weight);line-height:1.25;letter-spacing:normal;text-transform:uppercase;color:var(--openms-white);text-align:left}.openms-lib-page--openms-lib .openms-lib-resources__support-text{margin:var(--pro-stack-lead)0 0;max-width:36ch;font-size:var(--openms-body-size-lg);line-height:1.55;text-align:left;color:var(--pro-text-on-dark)}.openms-lib-page--openms-lib .openms-lib-resources__support-channels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--pro-space-3);width:100%;margin:0;padding:0;list-style:none}.openms-lib-page--openms-lib .openms-lib-resources__support-channels>li{min-width:0}.openms-lib-page--openms-lib .openms-lib-resources__support-channel{display:grid;grid-template-columns:auto minmax(0,1fr)auto;gap:.85rem;align-items:center;min-height:100%;padding:clamp(1rem,2vw,1.25rem);border:1px solid rgba(255,255,255,.18);border-radius:var(--pro-radius-sm);background:rgba(255,255,255,6%);color:var(--openms-white);text-decoration:none;transition:var(--pro-motion),background-color .25s ease,border-color .25s ease}.openms-lib-page--openms-lib .openms-lib-resources__support-channel:hover,.openms-lib-page--openms-lib .openms-lib-resources__support-channel:focus-visible{border-color:rgba(255,255,255,.45);background:rgba(255,255,255,.12);transform:var(--pro-lift-sm);outline:none;color:var(--openms-white)}.openms-lib-page--openms-lib .openms-lib-resources__support-channel-icon{display:grid;place-items:center;color:var(--openms-white);background:rgba(255,255,255,.12);box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)}.openms-lib-page--openms-lib .openms-lib-resources__support-channel-body{display:grid;gap:.2rem;min-width:0}.openms-lib-page--openms-lib .openms-lib-resources__support-channel-name{color:var(--openms-white)}.openms-lib-page--openms-lib .openms-lib-resources__support-channel-text{font-size:var(--openms-body-size);line-height:1.45;color:var(--pro-text-on-dark)}.openms-lib-page--openms-lib .openms-lib-resources__support-channel-arrow{font-size:1rem;font-weight:700;color:rgba(255,255,255,.7);transition:transform .2s ease,color .2s ease}.openms-lib-page--openms-lib .openms-lib-resources__support-channel:hover .openms-lib-resources__support-channel-arrow,.openms-lib-page--openms-lib .openms-lib-resources__support-channel:focus-visible .openms-lib-resources__support-channel-arrow{transform:translateX(.2rem);color:var(--openms-white)}.openms-lib-page--openms-lib .openms-lib-cta-band{padding:clamp(2.5rem,5vw,3.5rem)max(var(--olib-pad-x),calc((100% - var(--pro-max))/2 + var(--olib-pad-x)));background:var(--openms-navy)}.openms-lib-page--openms-lib .openms-lib-cta-band__inner{display:flex;flex-direction:column;align-items:center;gap:0;max-width:var(--pro-max);margin-inline:auto;text-align:center}.openms-lib-page--openms-lib .openms-lib-cta-band__copy{max-width:40rem;margin:0 auto}.openms-lib-page--openms-lib .openms-lib-cta-band__eyebrow{display:inline-flex;align-items:center;gap:.4rem;margin:0 0 var(--pro-stack-eyebrow);padding:0;border:none;border-radius:0;background:0 0;font-size:var(--openms-text-min);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--pro-kicker-on-dark);box-shadow:none}.openms-lib-page--openms-lib .openms-lib-cta-band__title{margin:0;max-width:none;font-family:var(--openms-font-heading);font-size:calc(var(--openms-heading-lg-size) * 1.15);font-weight:var(--openms-heading-lg-weight);line-height:1.3;letter-spacing:normal;text-transform:uppercase;color:var(--openms-white)}.openms-lib-page--openms-lib .openms-lib-cta-band__lead{margin:var(--pro-stack-lead)auto 0;max-width:46ch;font-size:var(--openms-body-size-lg);line-height:1.65;color:var(--pro-text-on-dark)}.openms-lib-page--openms-lib .openms-lib-cta-band__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--pro-space-4);flex:none;margin-top:var(--pro-stack-actions)}.openms-lib-page--openms-lib .openms-lib-page__outro .openms-lib-block--developers{padding:var(--pro-section-y)var(--openms-page-inline)}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards{display:flex;flex-direction:column;gap:clamp(2rem,4vw,2.75rem);max-width:var(--pro-max);margin-inline:auto}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards{gap:var(--pro-head-to-content)}.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards{gap:0}.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards:not(.openms-lib-developers--split){gap:clamp(7.5rem,13vw,10rem)}.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards.openms-lib-developers--split{gap:0;display:block}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers__cards-head{display:grid;justify-items:start;gap:0;max-width:min(100%,40rem);margin:0;text-align:left}.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards:not(.openms-lib-developers--split) .openms-lib-developers__cards-head{display:grid;justify-items:center;gap:0;max-width:min(100%,38rem);margin-inline:auto;margin-bottom:var(--pro-head-to-content);text-align:center}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-block__eyebrow,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-block__eyebrow{margin-bottom:var(--pro-stack-eyebrow);color:var(--openms-blue)}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-block__eyebrow{justify-content:flex-start}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__title,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__title{margin:0;font-size:clamp(2rem,4vw,2.85rem);line-height:1.1;text-transform:none;letter-spacing:-.02em;color:var(--openms-navy)}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__title{text-align:left}.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards:not(.openms-lib-developers--split) .openms-lib-developers__title{text-align:center}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__lead,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__lead{margin:var(--pro-stack-lead)0 0;max-width:34rem;font-size:var(--openms-body-size-lg);line-height:1.6;color:var(--pro-text-muted)}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__lead{justify-self:start;margin:var(--pro-stack-lead)0 0;text-align:left}.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards:not(.openms-lib-developers--split) .openms-lib-developers__lead{text-align:center}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers__cards-grid,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers__cards-grid{align-items:stretch;overflow:visible;padding-bottom:.5rem;position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.65rem,1.5vw,.9rem)}.openms-lib-page--pyopenms-viz-pro .openms-lib-developers__cards-grid{padding-bottom:0}.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-page__outro .openms-lib-block--developers.openms-lib-developers--cards{width:100%;max-width:none;margin-inline:0;padding-inline:var(--openms-page-inline)}.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers__cards-grid{width:100%;max-width:var(--pro-max);margin-inline:auto;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:minmax(14.5rem,auto);grid-auto-flow:row;align-items:stretch;gap:clamp(.9rem,2vw,1.35rem)}.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers__cards-grid>*{grid-column:auto}.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--box,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--review,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--build-src{grid-row:auto;width:100%;height:100%;min-height:14.5rem;max-height:none;box-sizing:border-box;overflow:hidden;align-self:stretch}.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:hover,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-visible,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-within{height:100%;min-height:14.5rem;max-height:none;width:100%;overflow:hidden;z-index:2}.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers__cards-grid:has(>:nth-child(7):last-child)>:nth-child(6),.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers__cards-grid:has(>:nth-child(7):last-child)>:nth-child(7){min-height:14.5rem;padding:clamp(1rem,2vw,1.25rem)clamp(.95rem,2vw,1.2rem);background:color-mix(in srgb,var(--openms-white) 72%,var(--pro-band-soft));box-shadow:none}.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers__cards-grid:has(>:nth-child(7):last-child)>:nth-child(6) .openms-lib-developers__card-icon,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers__cards-grid:has(>:nth-child(7):last-child)>:nth-child(7) .openms-lib-developers__card-icon{font-size:var(--openms-card-icon-size,clamp(2.5rem,3.8vw,3rem));color:rgba(var(--openms-blue-rgb),.28)}.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers__cards-grid:has(>:nth-child(7):last-child)>:nth-child(6) .openms-lib-developers__card-title,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers__cards-grid:has(>:nth-child(7):last-child)>:nth-child(7) .openms-lib-developers__card-title{font-size:var(--openms-secondary-heading-size,1.05rem)}.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers__cards-grid:has(>:nth-child(7):last-child)>:nth-child(6) .openms-lib-developers__card-subtitle,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers__cards-grid:has(>:nth-child(7):last-child)>:nth-child(7) .openms-lib-developers__card-subtitle{font-size:.9rem;color:var(--pro-text-soft,rgba(var(--openms-dark-rgb),.55))}@media(max-width:1100px){.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers__cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers__cards-grid{grid-template-columns:1fr;grid-auto-rows:1fr}.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--box,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--review,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--build-src,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers__cards-grid:has(>:nth-child(7):last-child)>:nth-child(6),.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers__cards-grid:has(>:nth-child(7):last-child)>:nth-child(7),.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:hover,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-visible,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-within{min-height:16rem;height:16rem;max-height:16rem;overflow:hidden}.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card-subtitle{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:calc(1.5em * 2)}.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--build-src .openms-lib-developers__platform-btn,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--box .openms-lib-developers__platform-btn{min-height:2.1rem;padding:.35rem .7rem;font-size:.78rem}}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--box,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--box{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:.85rem;height:auto;min-height:16.5rem;max-height:none;width:100%;box-sizing:border-box;margin:0;padding:clamp(1.2rem,2.2vw,1.5rem)clamp(1.05rem,2vw,1.35rem);border:1px solid var(--pro-line);border-radius:var(--pro-radius);background:var(--openms-white);box-shadow:var(--pro-shadow);color:inherit;text-decoration:none;overflow:visible;transition:background .25s ease,border-color .25s ease,box-shadow .25s ease,color .25s ease,transform .25s ease}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card-rest,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card-rest{display:flex;flex-direction:column;align-items:flex-start;gap:.7rem}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card-icon,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;align-self:flex-start;width:1em;height:1em;margin:0;padding:0;border:none;border-radius:0;background:0 0;box-shadow:none;font-size:var(--openms-card-icon-size,clamp(2.5rem,3.8vw,3rem));line-height:1;color:rgba(var(--openms-blue-rgb),.42);transition:color .25s ease}.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card-icon{font-size:var(--openms-card-icon-size,clamp(2.5rem,3.8vw,3rem))}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card-icon .fab,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card-icon .fas,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card-icon .svg-inline--fa,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card-icon .fab,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card-icon .fas,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card-icon .svg-inline--fa{color:inherit;font-size:1em;width:1em;height:1em}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card-icon .svg-inline--fa path,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card-icon .svg-inline--fa path{fill:currentColor}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card-title,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card-title{text-wrap:balance;transition:color .25s ease}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card-subtitle,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card-subtitle{margin:0;font-size:.95rem;line-height:1.5;color:var(--pro-text-muted);transition:opacity .2s ease,color .25s ease}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card-hover,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card-hover{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;margin-top:auto;max-height:0;opacity:0;overflow:hidden;pointer-events:none;transform:translateY(.4rem);transition:max-height .28s ease,opacity .22s ease,transform .22s ease}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card-hover-text,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card-hover-text{margin:0;font-size:.92rem;line-height:1.5;color:rgba(var(--openms-white-rgb),.9)}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card-link,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card-link{display:inline-flex;align-items:center;gap:.35rem;font-size:var(--openms-text-min);font-weight:700;color:var(--openms-white)}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__badge,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__badge{display:inline-flex}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__badge img,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__badge img{display:block;height:1.35rem;width:auto}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--review{height:auto;min-height:16.5rem;max-height:none}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--review .openms-lib-developers__platforms{opacity:1;visibility:visible;pointer-events:auto;gap:.85rem}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--review .openms-lib-developers__platform-btn{flex:1 1 calc(50% - .45rem);min-width:min(100%,6.5rem);justify-content:center}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--review .openms-lib-developers__platform-btn .fa-github,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--review .openms-lib-developers__platform-btn .svg-inline--fa.fa-github{opacity:0;width:1em;margin:0;overflow:hidden;transform:scale(.85);transition:opacity .2s ease,transform .2s ease}@media(hover:hover) and (pointer:fine){.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--review:hover .openms-lib-developers__platform-btn .fa-github,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--review:focus-within .openms-lib-developers__platform-btn .fa-github,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--review:hover .openms-lib-developers__platform-btn .svg-inline--fa.fa-github,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--review:focus-within .openms-lib-developers__platform-btn .svg-inline--fa.fa-github{opacity:1;overflow:visible;transform:scale(1)}}@media(hover:none),(pointer:coarse){.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--review .openms-lib-developers__platform-btn .fa-github,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--review .openms-lib-developers__platform-btn .svg-inline--fa.fa-github{opacity:1;width:1em;overflow:visible;transform:none}}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--review .openms-lib-developers__badge{margin-top:.15rem}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card-body,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card-body{display:flex;flex-direction:column;flex:auto;gap:.7rem;width:100%;min-width:0}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__platforms,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__platforms{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:.45rem;width:100%;min-width:0;margin-top:auto}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--build-src,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--build-src{height:auto;min-height:16.5rem;max-height:none}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--build-src .openms-lib-developers__platform-btn,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--build-src .openms-lib-developers__platform-btn{flex:none;width:fit-content;max-width:100%;min-width:0;box-sizing:border-box;min-height:2.35rem;height:auto;padding:.45rem .85rem;font-size:.82rem;white-space:nowrap;overflow:visible}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--build-src .openms-lib-developers__platform-btn:hover,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--build-src .openms-lib-developers__platform-btn:focus-visible,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--build-src .openms-lib-developers__platform-btn:active,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--build-src .openms-lib-developers__platform-btn:hover,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--build-src .openms-lib-developers__platform-btn:focus-visible,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--build-src .openms-lib-developers__platform-btn:active{transform:none;box-shadow:none}@media(hover:hover) and (pointer:fine) and (min-width:981px){.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--build-src .openms-lib-developers__platforms,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--build-src .openms-lib-developers__platforms{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(.35rem);transition:opacity .22s ease,visibility .22s ease,transform .22s ease}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--build-src:hover .openms-lib-developers__platforms,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--build-src:focus-within .openms-lib-developers__platforms,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--build-src:hover .openms-lib-developers__platforms,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--build-src:focus-within .openms-lib-developers__platforms{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}}@media(max-width:980px){.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--build-src .openms-lib-developers__platforms,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--build-src .openms-lib-developers__platforms{opacity:1;visibility:visible;pointer-events:auto;transform:none}.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--build-src,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--build-src,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--build-src{height:100%;min-height:14.5rem;max-height:none;overflow:hidden}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--build-src .openms-lib-developers__platform-btn,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--build-src .openms-lib-developers__platform-btn{flex:none;width:fit-content;min-width:0;max-width:100%;white-space:nowrap;overflow:visible;border-color:rgba(var(--openms-navy-rgb),.18)!important;background:0 0!important;color:var(--openms-navy)!important}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--build-src .openms-lib-developers__platform-btn .fa-linux,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--build-src .openms-lib-developers__platform-btn .fa-linux{color:#fcc624!important}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--build-src .openms-lib-developers__platform-btn .fa-apple,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--build-src .openms-lib-developers__platform-btn .fa-apple{color:#181717!important}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--build-src .openms-lib-developers__platform-btn .fa-windows,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--build-src .openms-lib-developers__platform-btn .fa-windows{color:#0078d4!important}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--build-src:hover .openms-lib-developers__platform-btn,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--build-src:focus-within .openms-lib-developers__platform-btn,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--build-src:hover .openms-lib-developers__platform-btn,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--build-src:focus-within .openms-lib-developers__platform-btn{border-color:rgba(var(--openms-white-rgb),.45)!important;color:var(--openms-white)!important}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--build-src:hover .openms-lib-developers__platform-btn .fa-linux,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--build-src:focus-within .openms-lib-developers__platform-btn .fa-linux,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--build-src:hover .openms-lib-developers__platform-btn .fa-apple,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--build-src:focus-within .openms-lib-developers__platform-btn .fa-apple,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--build-src:hover .openms-lib-developers__platform-btn .fa-windows,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--build-src:focus-within .openms-lib-developers__platform-btn .fa-windows,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--build-src:hover .openms-lib-developers__platform-btn .fa-linux,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--build-src:focus-within .openms-lib-developers__platform-btn .fa-linux,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--build-src:hover .openms-lib-developers__platform-btn .fa-apple,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--build-src:focus-within .openms-lib-developers__platform-btn .fa-apple,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--build-src:hover .openms-lib-developers__platform-btn .fa-windows,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--build-src:focus-within .openms-lib-developers__platform-btn .fa-windows{color:var(--openms-white)!important}}@media(max-width:640px){.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--box,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--review,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--build-src,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers__cards-grid:has(>:nth-child(7):last-child)>:nth-child(6),.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers__cards-grid:has(>:nth-child(7):last-child)>:nth-child(7),.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:hover,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-visible,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-within,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--build-src:hover,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--build-src:focus-within{min-height:16rem!important;height:16rem!important;max-height:16rem!important;overflow:hidden!important}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--build-src .openms-lib-developers__platforms,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--build-src .openms-lib-developers__platforms{flex-wrap:nowrap;gap:.35rem}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--build-src .openms-lib-developers__platform-btn,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--build-src .openms-lib-developers__platform-btn{flex:1;min-width:0;max-width:none;width:auto;justify-content:center;font-size:.74rem;padding:.35rem .45rem;min-height:2.15rem}}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__platform-btn,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__platform-btn{border-color:rgba(var(--openms-white-rgb),.45)!important;background:0 0!important;color:var(--openms-white)!important}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__platform-btn:hover,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__platform-btn:hover,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__platform-btn:focus-visible,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__platform-btn:focus-visible{border-color:var(--openms-white)!important;background:rgba(var(--openms-white-rgb),.14)!important;color:var(--openms-white)!important}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__platform-btn .fa-linux,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__platform-btn .fa-linux,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__platform-btn .fa-apple,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__platform-btn .fa-apple,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__platform-btn .fa-windows,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__platform-btn .fa-windows,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__platform-btn .fa-github,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__platform-btn .fa-github,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__platform-btn .fa-book-open,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__platform-btn .fa-book-open,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card-icon .fa-github,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card-icon .fa-github{color:inherit!important}@media(hover:hover) and (pointer:fine){.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:hover,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-visible,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-within{background:linear-gradient(160deg,rgba(255,255,255,.18) 0%,transparent 42%),var(--openms-navy);border-color:transparent;box-shadow:0 .85rem 1.85rem rgba(var(--openms-navy-rgb),.32);color:var(--openms-white);outline:none;transform:translateY(-3px)}.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--interactive:hover,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-visible,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-within{background:linear-gradient(160deg,rgba(255,255,255,.18) 0%,transparent 42%),var(--openms-navy);border-color:transparent;box-shadow:0 .85rem 1.85rem rgba(var(--openms-navy-rgb),.32);color:var(--openms-white);outline:none;transform:none}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:hover .openms-lib-developers__card-icon,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--interactive:hover .openms-lib-developers__card-icon,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-visible .openms-lib-developers__card-icon,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-visible .openms-lib-developers__card-icon,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-within .openms-lib-developers__card-icon,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-within .openms-lib-developers__card-icon,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:hover .openms-lib-developers__card-title,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--interactive:hover .openms-lib-developers__card-title,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-visible .openms-lib-developers__card-title,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-visible .openms-lib-developers__card-title,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-within .openms-lib-developers__card-title,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-within .openms-lib-developers__card-title{color:var(--openms-white)}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:hover .openms-lib-developers__card-subtitle,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-visible .openms-lib-developers__card-subtitle,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-within .openms-lib-developers__card-subtitle{opacity:1;height:auto;margin:0;overflow:visible;color:rgba(var(--openms-white-rgb),.9)}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:hover .openms-lib-developers__card-hover,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--interactive:hover .openms-lib-developers__card-hover,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-visible .openms-lib-developers__card-hover,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-visible .openms-lib-developers__card-hover,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-within .openms-lib-developers__card-hover,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-within .openms-lib-developers__card-hover{max-height:12rem;opacity:1;pointer-events:auto;transform:translateY(0)}}@media(hover:none),(pointer:coarse){.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--box,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--box{height:auto;min-height:16.5rem;max-height:none}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card-hover,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card-hover{max-height:none;opacity:1;pointer-events:auto;transform:none}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card-hover-text,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card-hover-text{color:var(--pro-text-muted)}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card-subtitle,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card-subtitle{display:none}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card-link,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card-link{color:var(--openms-blue)}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__platform-btn,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__platform-btn{border-color:rgba(var(--openms-navy-rgb),.18)!important;color:var(--openms-navy)!important}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__platform-btn:hover,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__platform-btn:hover,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__platform-btn:focus-visible,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__platform-btn:focus-visible{border-color:var(--openms-blue)!important;background:rgba(var(--openms-blue-rgb),.06)!important;color:var(--openms-blue)!important}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__platform-btn .fa-linux,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__platform-btn .fa-linux{color:#fcc624!important}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__platform-btn .fa-apple,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__platform-btn .fa-apple{color:#181717!important}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__platform-btn .fa-windows,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__platform-btn .fa-windows{color:#0078d4!important}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__platform-btn .fa-github,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__platform-btn .fa-github,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__platform-btn .fa-book-open,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__platform-btn .fa-book-open{color:var(--openms-blue)!important}}@media(max-width:980px){.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers__cards-grid,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers__cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers__cards-grid,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers__cards-grid{grid-template-columns:1fr}}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-page__cite{margin-top:0;margin-bottom:0;padding-bottom:0;padding-inline:var(--openms-page-inline);background:var(--pro-band-soft,#f4f7fb);color:var(--openms-navy);box-sizing:border-box}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-cite{display:flex;flex-direction:column;align-items:stretch;gap:clamp(1.75rem,3.5vw,2.5rem);max-width:var(--pro-max);margin-inline:auto;padding:var(--pro-section-y)0 clamp(1.75rem,3.5vw,2.5rem)}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-cite__inner{display:grid;grid-template-columns:minmax(0,.9fr)minmax(0,1.35fr);gap:var(--pro-col-gap);align-items:start;width:100%;max-width:none}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-cite__head{display:grid;justify-items:start;gap:0;max-width:var(--pro-cite-promo-max,26rem);text-align:left}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-cite__eyebrow{margin:0 0 var(--pro-stack-eyebrow);font-size:var(--openms-text-min);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--pro-eyebrow,rgba(var(--openms-blue-rgb),.72))}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-cite__title{margin:0;max-width:var(--pro-cite-intro-max,28ch);font-family:var(--openms-font-heading);font-size:clamp(1.65rem,3.2vw,2.25rem);font-weight:var(--openms-heading-lg-weight);line-height:1.2;letter-spacing:-.02em;text-transform:none;text-align:left;color:var(--openms-navy)}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-cite__card{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;width:100%;margin:0;padding:var(--pro-card-pad-lg);border:1px solid var(--pro-line);border-radius:var(--pro-radius);background:var(--openms-white);box-shadow:var(--pro-shadow);text-align:left}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-cite__card .publications-cite-card__top{display:flex;flex-wrap:wrap;gap:.5rem;margin:0}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-cite__card .publications-cite-card__title{margin:0;font-family:var(--openms-font-body);font-size:var(--openms-secondary-heading-size-lg);font-weight:var(--openms-heading-lg-weight);line-height:1.35;letter-spacing:normal;text-transform:none;color:var(--pro-card-title,rgba(var(--openms-dark-rgb),.82))}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-cite__card .publications-cite-card__title a{color:inherit;text-decoration:none}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-cite__card .publications-cite-card__title a:hover,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-cite__card .publications-cite-card__title a:focus-visible{color:var(--openms-blue);outline:none}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-cite__card .publications-cite-card__meta{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.45rem .75rem;margin:0;font-size:var(--openms-text-min);color:var(--pro-text-muted)}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-cite__card .publications-cite-card__journal{font-weight:700;color:var(--openms-navy)}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-cite__card .publications-cite-card__year{display:inline-flex;align-items:center;padding:.15rem .55rem;border-radius:999px;background:rgba(var(--openms-dark-rgb),.06);font-weight:700;color:var(--pro-text-muted,rgba(var(--openms-dark-rgb),.72))}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-cite__card .publications-cite-card__authors{display:block;margin:0;padding-top:.35rem;border-top:1px solid var(--pro-line);font-size:var(--openms-text-min);line-height:1.55;color:var(--pro-text-muted)}.openms-lib-page--openms-lib .publications-cite-card__authors-more,.publications-cite-card__authors-more{display:inline;margin:0 .1em;padding:0;border:0;border-radius:0;background:0 0;font-size:.92em;font-weight:700;letter-spacing:.02em;line-height:inherit;white-space:nowrap;vertical-align:baseline;color:rgba(var(--openms-navy-rgb),.62)}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-cite__actions{display:flex;flex-wrap:wrap;gap:var(--pro-space-2);margin-top:.35rem;padding-top:var(--pro-space-2);border-top:1px solid var(--pro-line)}@media(max-width:860px){.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-cite__inner{grid-template-columns:1fr;gap:clamp(1.5rem,3vw,2rem)}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-cite__head{max-width:none}}@media(max-width:860px){.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-cite__inner{grid-template-columns:1fr;gap:clamp(1.5rem,3vw,2rem)}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-cite__head{max-width:none}}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__layout,.openms-lib-page--openms-lib .openms-lib-developers__layout{display:flex;flex-direction:column;align-items:stretch;gap:var(--pro-head-to-content);width:100%;max-width:var(--pro-max);margin-inline:auto}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__head,.openms-lib-page--openms-lib .openms-lib-developers__head{position:static;display:grid;justify-items:center;gap:0;max-width:40rem;margin:0 auto;text-align:center}.openms-lib-page--openms-lib .openms-lib-developers__head .openms-lib-block__eyebrow{display:inline-flex;align-items:center;gap:.4rem;margin:0 0 var(--pro-stack-eyebrow);padding:0;border:none;border-radius:0;background:0 0;font-size:var(--openms-text-min);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--openms-blue);box-shadow:none}.openms-lib-page--openms-lib .openms-lib-developers__head .openms-lib-block__eyebrow::before{display:none}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__head .openms-lib-developers__title,.openms-lib-page--openms-lib .openms-lib-developers__head .openms-lib-developers__title,.openms-lib-page--openms-lib .openms-lib-developers__title{margin:0;max-width:none;font-family:var(--openms-font-heading);font-size:calc(var(--openms-heading-lg-size) * 1.15);font-weight:var(--openms-heading-lg-weight);line-height:1.3;letter-spacing:normal;text-align:center;text-transform:uppercase;color:var(--openms-navy)}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__head .openms-lib-developers__lead,.openms-lib-page--openms-lib .openms-lib-developers__head .openms-lib-developers__lead,.openms-lib-page--openms-lib .openms-lib-developers__lead{margin:var(--pro-stack-lead)auto 0;max-width:var(--pro-measure);font-size:var(--openms-body-size-lg);line-height:1.65;text-align:center;color:var(--pro-text-muted)}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__content,.openms-lib-page--openms-lib .openms-lib-developers__content{width:100%;max-width:none;margin:0;padding:0;border:none;border-radius:0;background:0 0;box-shadow:none}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__grid--routes,.openms-lib-page--openms-lib .openms-lib-developers__grid--routes{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--pro-card-gap);width:100%;max-width:none;margin-inline:0;border:none;align-items:stretch}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__route,.openms-lib-page--openms-lib .openms-lib-developers__route{position:relative;display:flex;flex-direction:column;gap:.45rem;align-items:stretch;min-height:100%;padding:var(--pro-card-pad);text-decoration:none;color:inherit;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.openms-lib-page--openms-lib .openms-lib-developers__grid--routes>.openms-lib-developers__route:not(.openms-lib-developers__route--build):nth-child(1){grid-column:span 4;min-height:0;justify-content:flex-start}.openms-lib-page--openms-lib .openms-lib-developers__grid--routes>.openms-lib-developers__route:not(.openms-lib-developers__route--build):nth-child(2){grid-column:span 2}.openms-lib-page--openms-lib .openms-lib-developers__grid--routes>.openms-lib-developers__route:not(.openms-lib-developers__route--build):nth-child(3),.openms-lib-page--openms-lib .openms-lib-developers__grid--routes>.openms-lib-developers__route:not(.openms-lib-developers__route--build):nth-child(4),.openms-lib-page--openms-lib .openms-lib-developers__grid--routes>.openms-lib-developers__route:not(.openms-lib-developers__route--build):nth-child(5){grid-column:span 2}.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--pyopenms-viz-pro .openms-lib-developers__grid--routes{grid-template-columns:repeat(3,minmax(0,1fr))}.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--pyopenms-viz-pro .openms-lib-developers__grid--routes>.openms-lib-developers__route:not(.openms-lib-developers__route--build):nth-child(n){grid-column:span 1;min-height:0}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__route::before,.openms-lib-page--openms-lib .openms-lib-developers__route::before{display:none}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__route--build,.openms-lib-page--openms-lib .openms-lib-developers__route--build{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr);gap:.45rem;align-items:start;margin-top:.1rem;padding:var(--pro-card-pad);color:inherit}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__route:hover,.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__route:focus-visible,.openms-lib-page--openms-lib .openms-lib-developers__route:hover,.openms-lib-page--openms-lib .openms-lib-developers__route:focus-visible,.openms-lib-page--openms-lib .openms-lib-developers__route:focus-within{border-color:var(--pro-line-strong);background:var(--openms-white);box-shadow:var(--pro-shadow-hover);transform:var(--pro-lift-sm);outline:none;opacity:1}.openms-lib-page--openms-lib .openms-lib-developers__grid--routes>.openms-lib-developers__route:not(.openms-lib-developers__route--build):nth-child(1):hover,.openms-lib-page--openms-lib .openms-lib-developers__grid--routes>.openms-lib-developers__route:not(.openms-lib-developers__route--build):nth-child(1):focus-visible{border-color:var(--pro-line-strong);background:var(--openms-white);box-shadow:var(--pro-shadow-hover)}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__route--build:hover,.openms-lib-page--openms-lib .openms-lib-developers__route--build:hover,.openms-lib-page--openms-lib .openms-lib-developers__route--build:focus-within{border-color:var(--pro-line-strong);background:var(--openms-white);box-shadow:var(--pro-shadow-hover);transform:var(--pro-lift-sm)}.openms-lib-page--openms-lib .openms-lib-developers__route-check{display:none}.openms-lib-page--openms-lib .openms-lib-developers__route-top{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.55rem;margin:0}.openms-lib-page--openms-lib .openms-lib-developers__route-icon{display:grid;place-items:center;color:var(--openms-navy);background:rgba(var(--openms-navy-rgb),.06);border:1px solid rgba(var(--openms-navy-rgb),.1);box-shadow:none}.openms-lib-page--openms-lib .openms-lib-developers__route--build .openms-lib-developers__route-icon{color:var(--openms-navy);background:rgba(var(--openms-navy-rgb),.06);box-shadow:none}.openms-lib-page--openms-lib .openms-lib-developers__grid--routes>.openms-lib-developers__route:not(.openms-lib-developers__route--build):nth-child(1) .openms-lib-developers__route-icon{color:var(--openms-navy);background:rgba(var(--openms-navy-rgb),.06);box-shadow:none;border:1px solid rgba(var(--openms-navy-rgb),.1)}.openms-lib-page--openms-lib .openms-lib-developers__route-mark,.openms-lib-page--openms-lib .openms-lib-developers__route-arrow,.openms-lib-page--openms-lib .openms-lib-developers__route-index{display:none}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__route .openms-lib-developers__card-body,.openms-lib-page--openms-lib .openms-lib-developers__route .openms-lib-developers__card-body{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;flex:auto;min-width:0;height:auto}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__route .openms-lib-developers__card-tag,.openms-lib-page--openms-lib .openms-lib-developers__route .openms-lib-developers__card-tag{display:inline-flex;margin:0;padding:0;border:none;border-radius:0;background:0 0;font-size:.58rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--pro-text-soft)}.openms-lib-page--openms-lib .openms-lib-developers__route--build .openms-lib-developers__card-tag{color:var(--pro-text-soft)}.openms-lib-page--openms-lib .openms-lib-developers__grid--routes>.openms-lib-developers__route:not(.openms-lib-developers__route--build):nth-child(1) .openms-lib-developers__card-tag{color:var(--pro-text-soft)}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__route .openms-lib-developers__card-title,.openms-lib-page--openms-lib .openms-lib-developers__route .openms-lib-developers__card-title{display:block}.openms-lib-page--openms-lib .openms-lib-developers__route--build .openms-lib-developers__card-title{color:var(--pro-card-title,rgba(var(--openms-dark-rgb),.82))}.openms-lib-page--openms-lib .openms-lib-developers__grid--routes>.openms-lib-developers__route:not(.openms-lib-developers__route--build):nth-child(1) .openms-lib-developers__card-title{color:var(--pro-card-title,rgba(var(--openms-dark-rgb),.82))}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__route .openms-lib-developers__card-text,.openms-lib-page--openms-lib .openms-lib-developers__route .openms-lib-developers__card-text{max-width:none;flex:auto}.openms-lib-page--openms-lib .openms-lib-developers__route--build .openms-lib-developers__card-text{max-width:52ch;color:rgba(var(--openms-dark-rgb),.72)}.openms-lib-page--openms-lib .openms-lib-developers__grid--routes>.openms-lib-developers__route:not(.openms-lib-developers__route--build):nth-child(1) .openms-lib-developers__card-text{color:rgba(var(--openms-dark-rgb),.72)}.openms-lib-page--openms-lib .openms-lib-developers__grid--routes>.openms-lib-developers__route:not(.openms-lib-developers__route--build):nth-child(1) .openms-lib-developers__card-link{color:var(--openms-navy)}.openms-lib-page--openms-lib .openms-lib-developers__route .openms-lib-developers__card-link{display:inline-flex;align-items:center;gap:.3rem;margin-top:auto;padding-top:1rem;font-size:var(--openms-text-min);font-weight:700;color:var(--openms-navy);text-decoration:none;transition:gap .2s ease}.openms-lib-page--openms-lib .openms-lib-developers__route .openms-lib-developers__card-link::after{content:none}.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-developers__card--link:hover .openms-lib-developers__card-title,.openms-lib-page--openms-lib .openms-lib-developers__route:hover .openms-lib-developers__card-title,.openms-lib-page--openms-lib .openms-lib-developers__route:focus-visible .openms-lib-developers__card-title{color:var(--pro-card-title,rgba(var(--openms-dark-rgb),.82))}.openms-lib-page--openms-lib .openms-lib-developers__route--build:hover .openms-lib-developers__card-title,.openms-lib-page--openms-lib .openms-lib-developers__route--build:focus-within .openms-lib-developers__card-title{color:var(--pro-card-title,rgba(var(--openms-dark-rgb),.82))}.openms-lib-page--openms-lib .openms-lib-developers__grid--routes>.openms-lib-developers__route:not(.openms-lib-developers__route--build):nth-child(1):hover .openms-lib-developers__card-title,.openms-lib-page--openms-lib .openms-lib-developers__grid--routes>.openms-lib-developers__route:not(.openms-lib-developers__route--build):nth-child(1):focus-visible .openms-lib-developers__card-title{color:var(--pro-card-title,rgba(var(--openms-dark-rgb),.82))}.openms-lib-page--openms-lib .openms-lib-developers__grid--routes>.openms-lib-developers__route:not(.openms-lib-developers__route--build):nth-child(1):hover .openms-lib-developers__card-link,.openms-lib-page--openms-lib .openms-lib-developers__grid--routes>.openms-lib-developers__route:not(.openms-lib-developers__route--build):nth-child(1):focus-visible .openms-lib-developers__card-link{color:var(--pro-link,var(--openms-navy))}.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-developers--cards .openms-lib-developers__card--link:hover .openms-lib-developers__card-link,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-developers--cards .openms-lib-developers__card--link:focus-visible .openms-lib-developers__card-link,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-developers--cards .openms-lib-developers__card--interactive:hover .openms-lib-developers__card-link,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-visible .openms-lib-developers__card-link,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-within .openms-lib-developers__card-link{gap:.5rem;color:var(--openms-white)!important}.openms-lib-page--openms-lib .openms-lib-developers__route:hover .openms-lib-developers__card-link,.openms-lib-page--openms-lib .openms-lib-developers__route:focus-visible .openms-lib-developers__card-link{gap:.5rem;color:var(--openms-navy)}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__card--link:hover,.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__card--link:focus-visible,.openms-lib-page--openms-lib .openms-lib-developers__card--link:hover,.openms-lib-page--openms-lib .openms-lib-developers__card--link:focus-visible{outline:none}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__card--link:focus-visible,.openms-lib-page--openms-lib .openms-lib-developers__route:focus-visible{outline:2px solid var(--openms-blue);outline-offset:4px}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__route--build .openms-lib-developers__card-body,.openms-lib-page--openms-lib .openms-lib-developers__route--build .openms-lib-developers__card-body{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;width:100%}.openms-lib-page--openms-lib .openms-lib-developers__route--build .openms-lib-developers__platforms{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:.55rem}.openms-lib-page--openms-lib .openms-lib-developers__route--build .openms-lib-developers__platform-btn{min-height:2.35rem;padding:.45rem .85rem;font-size:.82rem;border:1px solid rgba(var(--openms-navy-rgb),.18);background:0 0;background-color:initial;color:var(--openms-navy)!important;box-shadow:none;transition:border-color .2s ease,background-color .2s ease;text-decoration:none}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__route--build .openms-lib-developers__platform-btn:hover,.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__route--build .openms-lib-developers__platform-btn:focus-visible,.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__route--build .openms-lib-developers__platform-btn:active,.openms-lib-page--openms-lib .openms-lib-developers__route--build .openms-lib-developers__platform-btn:hover,.openms-lib-page--openms-lib .openms-lib-developers__route--build .openms-lib-developers__platform-btn:focus-visible,.openms-lib-page--openms-lib .openms-lib-developers__route--build .openms-lib-developers__platform-btn:active{background:rgba(var(--openms-navy-rgb),.05)!important;background-color:rgba(var(--openms-navy-rgb),.05)!important;border-color:rgba(var(--openms-navy-rgb),.28)!important;color:var(--openms-navy)!important;transform:none;box-shadow:none!important;outline:none;text-decoration:none}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__route--build .openms-lib-developers__platform-btn:focus-visible,.openms-lib-page--openms-lib .openms-lib-developers__route--build .openms-lib-developers__platform-btn:focus-visible{box-shadow:0 0 0 3px var(--openms-navy),0 0 0 5px var(--openms-yellow),0 0 0 calc(5px + var(--openms-btn-glow-size))var(--openms-btn-glow)!important}@media(max-width:900px){.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__grid--routes,.openms-lib-page--openms-lib .openms-lib-developers__grid--routes{grid-template-columns:repeat(2,minmax(0,1fr))}.openms-lib-page--openms-lib .openms-lib-developers__grid--routes>.openms-lib-developers__route:not(.openms-lib-developers__route--build):nth-child(1),.openms-lib-page--openms-lib .openms-lib-developers__grid--routes>.openms-lib-developers__route:not(.openms-lib-developers__route--build):nth-child(2),.openms-lib-page--openms-lib .openms-lib-developers__grid--routes>.openms-lib-developers__route:not(.openms-lib-developers__route--build):nth-child(3),.openms-lib-page--openms-lib .openms-lib-developers__grid--routes>.openms-lib-developers__route:not(.openms-lib-developers__route--build):nth-child(4),.openms-lib-page--openms-lib .openms-lib-developers__grid--routes>.openms-lib-developers__route:not(.openms-lib-developers__route--build):nth-child(5){grid-column:span 1}.openms-lib-page--openms-lib .openms-lib-developers__grid--routes>.openms-lib-developers__route:not(.openms-lib-developers__route--build):nth-child(1){grid-column:1/-1;min-height:0}.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--pyopenms-viz-pro .openms-lib-developers__grid--routes{grid-template-columns:1fr}.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--pyopenms-viz-pro .openms-lib-developers__grid--routes>.openms-lib-developers__route:not(.openms-lib-developers__route--build):nth-child(n){grid-column:auto}}@media(max-width:700px){.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__grid--routes,.openms-lib-page--openms-lib .openms-lib-developers__grid--routes{grid-template-columns:1fr}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__route--build,.openms-lib-page--openms-lib .openms-lib-developers__route--build{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.openms-lib-page--openms-lib .openms-lib-about__tile,.openms-lib-page--openms-lib .openms-lib-topp-split__card,.openms-lib-page--openms-lib .openms-lib-resources__feature,.openms-lib-page--openms-lib .openms-lib-resources__item,.openms-lib-page--openms-lib .openms-lib-resources__support-channel,.openms-lib-page--openms-lib .openms-lib-developers__route,.openms-lib-page--openms-lib .openms-lib-developers__route--build{transition:none}.openms-lib-page--openms-lib .openms-lib-about__tile:hover,.openms-lib-page--openms-lib .openms-lib-about__tile:focus-within,.openms-lib-page--openms-lib .openms-lib-topp-split__card:hover,.openms-lib-page--openms-lib .openms-lib-topp-split__card:focus-within,.openms-lib-page--openms-lib .openms-lib-resources__feature:hover,.openms-lib-page--openms-lib .openms-lib-resources__feature:focus-within,.openms-lib-page--openms-lib .openms-lib-resources__item:hover,.openms-lib-page--openms-lib .openms-lib-resources__item:focus-visible,.openms-lib-page--openms-lib .openms-lib-resources__support-channel:hover,.openms-lib-page--openms-lib .openms-lib-resources__support-channel:focus-visible,.openms-lib-page--openms-lib .openms-lib-developers__route:hover,.openms-lib-page--openms-lib .openms-lib-developers__route:focus-visible,.openms-lib-page--openms-lib .openms-lib-developers__route--build:hover{transform:none}}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__review,.openms-lib-page--openms-lib .openms-lib-developers__review,.openms-lib-page--openms-lib .openms-lib-developers__card--build{--dev-bleed:max(var(--olib-pad-x), calc((100% - var(--hub-wide-max)) / 2 + var(--olib-pad-x)));width:auto;max-width:none;margin:clamp(2.75rem,5.5vw,4rem)calc(-1 * var(--dev-bleed))0;padding:clamp(2.75rem,5.5vw,4rem)var(--dev-bleed);border:none;box-shadow:none;background:var(--openms-navy);color:var(--openms-white)}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__cite--panel,.openms-lib-page--openms-lib .openms-lib-developers__cite--panel{display:grid;grid-template-columns:minmax(0,.9fr)minmax(0,1.35fr);gap:var(--pro-col-gap);align-items:start;width:100%;max-width:var(--pro-max);margin:clamp(2.75rem,5.5vw,4rem)auto 0;padding:0;border:none;border-radius:0;overflow:visible;background:0 0;box-shadow:none;text-align:left}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-page__cite .openms-lib-developers__cite--separate,.openms-lib-page--openms-lib .openms-lib-page__cite .openms-lib-developers__cite--separate,.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-page__cite .openms-lib-developers__cite--panel,.openms-lib-page--openms-lib .openms-lib-page__cite .openms-lib-developers__cite--panel{box-sizing:border-box;width:100%;max-width:var(--pro-max);margin:0 auto;padding:var(--pro-section-y)0;background:0 0;color:inherit}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__cite-promo,.openms-lib-page--openms-lib .openms-lib-developers__cite-promo{position:sticky;top:calc(var(--openms-header-height,4.25rem) + 1.25rem);display:grid;grid-template-columns:minmax(0,1fr);justify-content:start;justify-items:start;align-content:start;align-items:start;gap:0;max-width:var(--pro-cite-promo-max,26rem);margin:0;padding:0;overflow:visible;text-align:left;background:0 0;color:inherit}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__cite-promo::before,.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__cite-promo::after,.openms-lib-page--openms-lib .openms-lib-developers__cite-promo::before,.openms-lib-page--openms-lib .openms-lib-developers__cite-promo::after{display:none}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__cite-kicker,.openms-lib-page--openms-lib .openms-lib-developers__cite-kicker{display:inline-flex;margin:0 0 var(--pro-stack-eyebrow);font-size:var(--openms-text-min);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--openms-blue)}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__cite-intro,.openms-lib-page--openms-lib .openms-lib-developers__cite-intro{margin:0;margin-inline:0;max-width:var(--pro-cite-intro-max,22ch);width:auto;justify-self:start;font-family:var(--openms-font-heading);font-size:calc(var(--openms-heading-lg-size) * 1.15);font-weight:var(--openms-heading-lg-weight);line-height:1.3;letter-spacing:normal;text-transform:uppercase;text-align:left;color:var(--openms-navy)}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__cite-details,.openms-lib-page--openms-lib .openms-lib-developers__cite-details{display:block;width:100%;max-width:none;margin:0;padding:var(--pro-card-pad-lg);border:1px solid var(--pro-line);border-radius:var(--pro-radius);background:var(--openms-white);box-shadow:var(--pro-shadow)}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__cite--panel .openms-lib-developers__cite-card,.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__cite--panel .publications-cite-card,.openms-lib-page--openms-lib .openms-lib-developers__cite--panel .openms-lib-developers__cite-card,.openms-lib-page--openms-lib .openms-lib-developers__cite--panel .publications-cite-card{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;width:100%;margin:0;padding:0;border:none;border-radius:0;background:0 0;box-shadow:none;text-align:left}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__cite--panel .publications-cite-card__top,.openms-lib-page--openms-lib .openms-lib-developers__cite--panel .publications-cite-card__top{display:flex;flex-wrap:wrap;gap:.5rem;margin:0}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__cite--panel .publications-cite-card__title,.openms-lib-page--openms-lib .openms-lib-developers__cite--panel .publications-cite-card__title{margin:0;max-width:none;font-family:var(--openms-font-body);font-size:var(--openms-secondary-heading-size-lg);font-weight:var(--openms-heading-lg-weight);line-height:1.35;letter-spacing:normal;text-transform:none;text-align:left;color:var(--pro-card-title,rgba(var(--openms-dark-rgb),.82))}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__cite--panel .publications-cite-card__title a,.openms-lib-page--openms-lib .openms-lib-developers__cite--panel .publications-cite-card__title a{color:inherit;text-decoration:none}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__cite--panel .publications-cite-card__title a:hover,.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__cite--panel .publications-cite-card__title a:focus-visible,.openms-lib-page--openms-lib .openms-lib-developers__cite--panel .publications-cite-card__title a:hover,.openms-lib-page--openms-lib .openms-lib-developers__cite--panel .publications-cite-card__title a:focus-visible{color:var(--openms-blue);outline:none}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__cite--panel .publications-cite-card__meta,.openms-lib-page--openms-lib .openms-lib-developers__cite--panel .publications-cite-card__meta{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.45rem .75rem;margin:0;justify-content:flex-start;text-align:left;font-size:var(--openms-text-min);color:var(--pro-text-muted)}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__cite--panel .publications-cite-card__journal,.openms-lib-page--openms-lib .openms-lib-developers__cite--panel .publications-cite-card__journal{font-weight:700;color:var(--openms-navy)}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__cite--panel .publications-cite-card__year,.openms-lib-page--openms-lib .openms-lib-developers__cite--panel .publications-cite-card__year{display:inline-flex;align-items:center;padding:.15rem .55rem;border-radius:999px;background:rgba(var(--openms-dark-rgb),.06);font-weight:700;color:var(--pro-text-muted,rgba(var(--openms-dark-rgb),.72))}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__cite--panel .publications-cite-card__authors,.openms-lib-page--openms-lib .openms-lib-developers__cite--panel .publications-cite-card__authors{display:block;-webkit-line-clamp:unset;max-width:none;margin:0;padding-top:.35rem;border-top:1px solid var(--pro-line);font-size:var(--openms-text-min);line-height:1.55;text-align:left;color:var(--pro-text-muted)}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__cite-actions,.openms-lib-page--openms-lib .openms-lib-developers__cite-actions{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:var(--pro-space-2);margin-top:.35rem;padding-top:var(--pro-space-2);border-top:1px solid var(--pro-line)}@media(max-width:900px){.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__cite--panel,.openms-lib-page--openms-lib .openms-lib-developers__cite--panel,.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__cite--separate,.openms-lib-page--openms-lib .openms-lib-block--developers>.openms-lib-developers__cite--separate{grid-template-columns:1fr;gap:clamp(1.75rem,4vw,2.5rem)}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__cite-promo,.openms-lib-page--openms-lib .openms-lib-developers__cite-promo{position:static;max-width:min(40rem,100%);width:100%;margin:0;justify-content:start;justify-items:start;align-content:start;align-items:start;text-align:left}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__cite-intro,.openms-lib-page--openms-lib .openms-lib-developers__cite-intro{max-width:var(--pro-cite-intro-max,28ch);margin-inline:0;justify-self:start;text-align:left}}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__card--build .openms-lib-developers__card-body,.openms-lib-page--openms-lib .openms-lib-developers__card--build .openms-lib-developers__card-body{align-items:center;text-align:center;gap:0;max-width:var(--hub-wide-max);margin-inline:auto}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__card--build .openms-lib-developers__card-tag,.openms-lib-page--openms-lib .openms-lib-developers__card--build .openms-lib-developers__card-tag{align-self:center;margin:0 0 var(--pro-stack-eyebrow);padding:0;border:none;border-radius:0;background:0 0;color:var(--pro-kicker-on-dark);font-size:clamp(.72rem,.58rem + .55vw,.82rem);font-weight:700;letter-spacing:.14em;text-transform:uppercase}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__card--build .openms-lib-developers__card-title,.openms-lib-page--openms-lib .openms-lib-developers__card--build .openms-lib-developers__card-title{justify-content:center;text-align:center;font-family:var(--openms-font-heading);font-size:calc(var(--openms-heading-lg-size) * 1.15);font-weight:var(--openms-heading-lg-weight);line-height:1.3;letter-spacing:normal;text-transform:uppercase;color:var(--openms-white)}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__card--build .openms-lib-developers__card-text,.openms-lib-page--openms-lib .openms-lib-developers__card--build .openms-lib-developers__card-text{text-align:center;max-width:none;margin:var(--pro-stack-lead)auto 0;font-size:var(--openms-body-size-lg);line-height:1.65;color:var(--pro-text-on-dark);white-space:nowrap}@media(max-width:700px){.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__card--build .openms-lib-developers__card-text,.openms-lib-page--openms-lib .openms-lib-developers__card--build .openms-lib-developers__card-text{white-space:normal}}.openms-lib-page--openms-lib .openms-lib-developers__card--build .openms-lib-developers__badge{margin-top:.85rem;filter:brightness(1.05)}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__card--build .openms-lib-developers__platforms,.openms-lib-page--openms-lib .openms-lib-developers__card--build .openms-lib-developers__platforms{justify-content:center;gap:var(--pro-space-4);margin-top:var(--pro-stack-actions)}.openms-lib-page--openms-lib .openms-lib-developers__card--build .openms-lib-btn--primary i{display:none}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__card--build .openms-lib-btn--primary,.openms-lib-page--openms-lib .openms-lib-developers__card--build .openms-lib-btn--primary{border-color:var(--openms-white);background:var(--openms-white);color:var(--openms-navy)!important}.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__card--build .openms-lib-btn--primary:hover,.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-developers__card--build .openms-lib-btn--primary:focus-visible,.openms-lib-page--openms-lib .openms-lib-developers__card--build .openms-lib-btn--primary:hover,.openms-lib-page--openms-lib .openms-lib-developers__card--build .openms-lib-btn--primary:focus-visible{border-color:var(--openms-white);background:var(--openms-white);color:var(--openms-navy)!important;box-shadow:0 0 0 var(--openms-btn-glow-size)rgba(255,255,255,.28)}.openms-lib-developers__badge{display:inline-flex;align-self:center;margin:.15rem 0 0;line-height:0;border-radius:.3rem;transition:transform .2s ease,opacity .2s ease}.openms-lib-developers__badge:hover,.openms-lib-developers__badge:focus-visible{transform:translateY(-1px);opacity:.85;outline:none}.openms-lib-developers__badge img{display:block;height:1.35rem;width:auto}@media(prefers-reduced-motion:reduce){.openms-lib-page--openms-lib .openms-lib-about__tile,.openms-lib-page--openms-lib .openms-lib-topp-split__card,.openms-lib-page--openms-lib .openms-lib-resources__feature,.openms-lib-page--openms-lib .openms-lib-resources__item,.openms-lib-page--openms-lib .openms-lib-resources__support-channel,.openms-lib-page--openms-lib .openms-lib-developers__route{transition:none}.openms-lib-page--openms-lib .openms-lib-about__tile:hover,.openms-lib-page--openms-lib .openms-lib-about__tile:focus-within,.openms-lib-page--openms-lib .openms-lib-topp-split__card:hover,.openms-lib-page--openms-lib .openms-lib-topp-split__card:focus-within,.openms-lib-page--openms-lib .openms-lib-resources__feature:hover,.openms-lib-page--openms-lib .openms-lib-resources__feature:focus-within,.openms-lib-page--openms-lib .openms-lib-resources__item:hover,.openms-lib-page--openms-lib .openms-lib-resources__item:focus-visible,.openms-lib-page--openms-lib .openms-lib-resources__support-channel:hover,.openms-lib-page--openms-lib .openms-lib-resources__support-channel:focus-visible{transform:none}}@media(max-width:900px){.openms-lib-page--hub.openms-lib-page--openms-lib .openms-lib-hero__title,.openms-lib-page--openms-lib .openms-lib-hero__title{max-width:20ch;font-size:calc(var(--openms-heading-xl-size) * 1.18)}.openms-lib-page--openms-lib .openms-lib-about__head,.openms-lib-page--openms-lib .openms-lib-topp-split__intro,.openms-lib-page--openms-lib .openms-lib-topp-split__stage{grid-template-columns:1fr;gap:clamp(1.25rem,3vw,1.75rem)}.openms-lib-page--openms-lib .openms-lib-about__head,.openms-lib-page--openms-lib .openms-lib-topp-split__intro{text-align:center}.openms-lib-page--openms-lib .openms-lib-about__title,.openms-lib-page--openms-lib .openms-lib-about__lead,.openms-lib-page--openms-lib .openms-lib-topp-split__title,.openms-lib-page--openms-lib .openms-lib-topp-split__lead{text-align:center;margin-inline:auto}.openms-lib-page--openms-lib .openms-lib-about__head-copy,.openms-lib-page--openms-lib .openms-lib-topp-split__intro{justify-items:center}.openms-lib-page--openms-lib .openms-lib-about__eyebrow,.openms-lib-page--openms-lib .openms-lib-topp-split__eyebrow{justify-content:center}.openms-lib-page--openms-lib .openms-lib-topp-split__cta-panel{min-height:0}.openms-lib-page--openms-lib .openms-lib-resources__toolkit{grid-template-columns:1fr}.openms-lib-page--openms-lib .openms-lib-resources__support-inner{grid-template-columns:1fr;gap:var(--pro-space-5)}.openms-lib-page--openms-lib .openms-lib-resources__support-copy{max-width:36rem;justify-items:center;margin-inline:auto;text-align:center}.openms-lib-page--openms-lib .openms-lib-resources__support-title,.openms-lib-page--openms-lib .openms-lib-resources__support-text{text-align:center}.openms-lib-page--openms-lib .openms-lib-resources__support-text{margin-inline:auto}.openms-lib-page--openms-lib .openms-lib-cta-band__actions{width:100%}.openms-lib-page--openms-lib .openms-lib-cta-band__actions .openms-lib-btn,.openms-lib-page--openms-lib .openms-lib-cta-band__actions .openms-lib-cta-band__doc-btn{flex:auto;justify-content:center}}@media(max-width:640px){.openms-lib-page--openms-lib .openms-lib-about__mosaic,.openms-lib-page--openms-lib .openms-lib-resources__grid{grid-template-columns:1fr}.openms-lib-page--openms-lib .openms-lib-resources__support-channels{grid-template-columns:1fr}.openms-lib-page--openms-lib .openms-lib-developers__card--build .openms-lib-developers__card-text{white-space:normal}.openms-lib-page--openms-lib .openms-lib-hero__actions{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:center;gap:.65rem}.openms-lib-page--openms-lib .openms-lib-hero__actions .openms-lib-btn{flex:auto;min-width:min(100%,11rem);justify-content:center;white-space:nowrap;font-size:var(--openms-btn-font-size,var(--openms-text-min));min-height:var(--openms-btn-min-height,2.75rem);padding:var(--openms-btn-padding)}.openms-lib-page--openms-lib .openms-lib-cta-band__actions{flex-direction:row;flex-wrap:wrap;justify-content:center}}.openms-lib-page--hub.openms-lib-page--webapps:not(.openms-lib-page--openms-lib){--pro-pad:var(--olib-pad-x, clamp(1.25rem, 5vw, 2.5rem))}.openms-lib-page--webapps:not(.openms-lib-page--openms-lib) .openms-lib-hero--pro{margin-bottom:0;padding:var(--pro-section-y)max(var(--olib-pad-x),calc((100% - var(--pro-max))/2 + var(--olib-pad-x)))calc(var(--openms-btn-glow-size,6px) + .5rem);background:var(--openms-white);overflow:visible}.openms-lib-page--webapps:not(.openms-lib-page--openms-lib) .openms-lib-hero--pro::before,.openms-lib-page--webapps:not(.openms-lib-page--openms-lib) .openms-lib-hero--pro::after,.openms-lib-page--webapps:not(.openms-lib-page--openms-lib) .openms-lib-hero--pro .openms-lib-hero__panel::after{display:none}.openms-lib-page--webapps:not(.openms-lib-page--openms-lib) .openms-lib-hero__panel,.openms-lib-page--webapps:not(.openms-lib-page--openms-lib) .openms-lib-hero__content{text-align:center}.openms-lib-page--webapps:not(.openms-lib-page--openms-lib) .openms-lib-hero__content{display:flex;flex-direction:column;align-items:center;width:100%;max-width:min(100%,48rem);margin-inline:auto}.openms-lib-page--webapps:not(.openms-lib-page--openms-lib) .openms-lib-hero__eyebrow{display:inline-flex;align-items:center;gap:.45rem;margin:0 auto .85rem;padding:0;border:none;border-radius:0;background:0 0;font-size:var(--openms-text-min);font-weight:600;letter-spacing:.02em;text-transform:none;color:var(--olib-text-muted,rgba(var(--openms-navy-rgb),.68));box-shadow:none}.openms-lib-page--webapps:not(.openms-lib-page--openms-lib) .openms-lib-hero__eyebrow::before{display:block;content:"";width:.45rem;height:.45rem;border-radius:50%;background:var(--openms-blue);flex-shrink:0}.openms-lib-page--webapps:not(.openms-lib-page--openms-lib) .openms-lib-hero__title{max-width:20ch;margin:0 auto;font-size:clamp(2.35rem,1.35rem + 4vw,4.25rem);font-weight:800;line-height:.98;letter-spacing:-.04em;text-align:center;text-transform:none}.openms-lib-page--webapps:not(.openms-lib-page--openms-lib) .openms-lib-hero__accent--warm{color:var(--openms-blue)}.openms-lib-page--webapps:not(.openms-lib-page--openms-lib) .openms-lib-hero__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:1.75rem}.openms-lib-page--webapps:not(.openms-lib-page--openms-lib) .openms-lib-hero__actions .openms-lib-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:2.85rem;padding:.75rem 1.35rem;border-radius:var(--openms-btn-pill-radius);font-size:var(--openms-body-size);font-weight:600;line-height:1.3;text-decoration:none;white-space:nowrap;box-shadow:0 0 0 0 var(--openms-btn-glow);transition:var(--openms-btn-motion)}.openms-lib-page--webapps:not(.openms-lib-page--openms-lib) .openms-lib-hero__actions .openms-lib-btn--primary{border:2px solid var(--openms-blue);background:var(--openms-blue);color:var(--openms-white)!important}.openms-lib-page--webapps:not(.openms-lib-page--openms-lib) .openms-lib-hero__actions .openms-lib-btn--primary::after{display:none}.openms-lib-page--webapps:not(.openms-lib-page--openms-lib) .openms-lib-hero__actions .openms-lib-btn--ghost{border:2px solid var(--openms-blue);background:0 0;background-color:initial;color:var(--openms-blue)!important;text-decoration:none}.openms-lib-page--hub.openms-lib-page--webapps:not(.openms-lib-page--openms-lib) .openms-lib-hero__actions .openms-lib-btn--primary:hover,.openms-lib-page--hub.openms-lib-page--webapps:not(.openms-lib-page--openms-lib) .openms-lib-hero__actions .openms-lib-btn--primary:focus-visible,.openms-lib-page--hub.openms-lib-page--webapps:not(.openms-lib-page--openms-lib) .openms-lib-hero__actions .openms-lib-btn--primary:active{background:var(--openms-blue);border-color:var(--openms-blue);color:var(--openms-white)!important;transform:scale(var(--openms-btn-hover-scale));box-shadow:0 0 0 var(--openms-btn-glow-size)var(--openms-btn-glow);outline:none;text-decoration:none}.openms-lib-page--hub.openms-lib-page--webapps:not(.openms-lib-page--openms-lib) .openms-lib-hero__actions .openms-lib-btn--ghost:hover,.openms-lib-page--hub.openms-lib-page--webapps:not(.openms-lib-page--openms-lib) .openms-lib-hero__actions .openms-lib-btn--ghost:focus-visible,.openms-lib-page--hub.openms-lib-page--webapps:not(.openms-lib-page--openms-lib) .openms-lib-hero__actions .openms-lib-btn--ghost:active{background:0 0;background-color:initial;border-color:var(--openms-blue);color:var(--openms-blue)!important;transform:scale(var(--openms-btn-hover-scale));box-shadow:0 0 0 var(--openms-btn-glow-size)var(--openms-btn-glow);outline:none;text-decoration:none}.openms-lib-page--hub.openms-lib-page--webapps:not(.openms-lib-page--openms-lib) .openms-lib-hero__actions .openms-lib-btn--primary:focus-visible{box-shadow:0 0 0 3px var(--openms-navy),0 0 0 5px var(--openms-blue),0 0 0 calc(5px + var(--openms-btn-glow-size))var(--openms-btn-glow)}.openms-lib-page--webapps:not(.openms-lib-page--openms-lib) .openms-lib-page__body>.openms-lib-page__anchor{padding-inline:max(var(--olib-pad-x),calc((100% - var(--pro-max))/2 + var(--olib-pad-x)))}.openms-lib-page--webapps:not(.openms-lib-page--openms-lib) .openms-lib-block--highlights,.openms-lib-page--webapps:not(.openms-lib-page--openms-lib) .openms-lib-block--resources{padding-block:var(--pro-section-y)}.openms-lib-page--webapps:not(.openms-lib-page--openms-lib) .openms-lib-block__eyebrow{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .75rem;border:1px solid rgba(var(--openms-blue-rgb),.18);border-radius:999px;background:rgba(var(--openms-blue-rgb),.1);font-size:inherit;font-weight:600;letter-spacing:.04em;text-transform:none;color:var(--openms-blue);box-shadow:none}.openms-lib-page--webapps:not(.openms-lib-page--openms-lib) .openms-lib-block__title{font-size:clamp(1.85rem,1rem + 3vw,2.75rem);line-height:1.08;letter-spacing:-.03em}.openms-lib-page--webapps:not(.openms-lib-page--openms-lib) .openms-lib-block__lead{max-width:46ch;margin-top:.65rem;font-size:var(--openms-body-size-lg);line-height:1.65;color:rgba(var(--openms-navy-rgb),.7)}.openms-lib-page--webapps:not(.openms-lib-page--openms-lib) .openms-lib-page__outro .webapps-contribute{padding-block:var(--pro-section-y)}.openms-lib-page--webapps:not(.openms-lib-page--openms-lib) .openms-lib-page__outro .webapps-contribute__inner{max-width:var(--pro-max);margin-inline:auto}@media(max-width:640px){.openms-lib-page--webapps:not(.openms-lib-page--openms-lib) .openms-lib-hero__actions{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:center;gap:.65rem}.openms-lib-page--webapps:not(.openms-lib-page--openms-lib) .openms-lib-hero__actions .openms-lib-btn{flex:auto;min-width:min(100%,11rem);justify-content:center;white-space:nowrap;font-size:var(--openms-btn-font-size,var(--openms-text-min));min-height:var(--openms-btn-min-height,2.75rem);padding:var(--openms-btn-padding)}}.openms-lib-page--webapps-pro #using-the-template,.openms-lib-page--webapps-pro #what-is-openms{background:0 0}.openms-lib-page--webapps-pro .openms-lib-hero__actions{margin-bottom:.35rem}@media(min-width:1280px){.openms-lib-page--openms-lib.openms-lib-page--webapps-pro .openms-lib-hero__content{max-width:var(--pro-hero-content-max,min(100%,68rem))}.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--webapps-pro .openms-lib-hero__title,.openms-lib-page--openms-lib.openms-lib-page--webapps-pro .openms-lib-hero__title{max-width:38ch}}.openms-lib-page--webapps-pro .openms-lib-page__body>.openms-lib-page__anchor{padding-block:var(--pro-section-y)0}.openms-lib-page--webapps-pro #what-is-openms .openms-lib-about,.openms-lib-page--webapps-pro #using-the-template .openms-lib-resources,.openms-lib-page--webapps-pro #examples .openms-lib-resources--examples,.openms-lib-page--webapps-pro .openms-lib-about,.openms-lib-page--webapps-pro .openms-lib-resources{padding-block:0;padding-top:0;padding-bottom:0}.openms-lib-page--webapps-pro #using-the-template .openms-lib-resources__inner,.openms-lib-page--webapps-pro #examples .openms-lib-resources__inner,.openms-lib-page--webapps-pro .openms-lib-resources__inner{padding-bottom:0}.openms-lib-page--webapps-pro .openms-lib-page__body>#examples.openms-lib-page__anchor{padding-inline:0;padding-bottom:clamp(3rem,7vw,5.5rem)}.openms-lib-page--webapps-pro .openms-lib-page__outro{margin:0;padding:0}.openms-lib-layout:has(.openms-lib-page--webapps-pro),.content-padding:has(.openms-lib-page--webapps-pro){padding-bottom:0;margin-bottom:0}.openms-lib-layout:has(.openms-lib-page--webapps-pro)+#footer.footer-redesign,.content-padding:has(.openms-lib-page--webapps-pro)+#footer.footer-redesign{margin-top:0;padding-top:0}.openms-lib-page--webapps-pro .openms-lib-hero__actions .openms-lib-btn--github .fa-github,.openms-lib-page--webapps-pro .openms-lib-hero__actions .openms-lib-btn--github .fab,.openms-lib-page--webapps-pro .openms-lib-hero__actions .openms-lib-btn--github .svg-inline--fa{color:var(--openms-blue)!important}.openms-lib-page--webapps-pro .openms-lib-hero__actions .openms-lib-btn--github .svg-inline--fa path{fill:currentColor!important}.openms-lib-page--webapps-pro .openms-lib-hero__actions .openms-lib-btn--github .fa-github,.openms-lib-page--webapps-pro .openms-lib-hero__actions .openms-lib-btn--github .fab,.openms-lib-page--webapps-pro .openms-lib-hero__actions .openms-lib-btn--github .svg-inline--fa{color:var(--openms-blue)!important}.openms-lib-page--webapps-pro .openms-lib-hero__actions .openms-lib-btn--github .svg-inline--fa path{fill:currentColor!important}.openms-lib-page--webapps-pro{--openms-step-num-color:rgba(var(--openms-navy-rgb), 0.18);--openms-step-num-color-hover:rgba(var(--openms-navy-rgb), 0.3)}.openms-lib-page--webapps-pro .openms-lib-about__num{display:block;width:auto;height:auto;margin:0 0 .35rem;padding:0;border:none;border-radius:0;background:0 0;font-family:var(--openms-font-heading);font-size:var(--openms-step-num-size);font-weight:800;line-height:1;letter-spacing:-.04em;color:var(--openms-step-num-color)!important;transition:color .22s ease}.openms-lib-page--webapps-pro .openms-lib-about__tile:hover .openms-lib-about__num,.openms-lib-page--webapps-pro .openms-lib-about__tile:focus-within .openms-lib-about__num{color:var(--openms-step-num-color-hover)!important}.openms-lib-page--webapps-pro #what-is-openms .openms-lib-about__inner{display:grid;gap:var(--pro-head-to-content);width:100%;max-width:var(--pro-max);margin-inline:auto}.openms-lib-page--webapps-pro .openms-lib-about__mosaic{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;align-items:stretch;width:100%;max-width:100%;margin-inline:0;border-top:1px solid var(--openms-num-strip-border);border-bottom:1px solid var(--openms-num-strip-border);background:color-mix(in srgb,var(--pro-band-soft,#f4f7fb) 88%,var(--openms-white));box-sizing:border-box;overflow:hidden}.openms-lib-page--webapps-pro .openms-lib-about__tile{position:relative;flex:none;align-self:stretch;justify-self:stretch;width:100%;max-width:none;min-width:0;min-height:100%;height:100%;margin:0;box-sizing:border-box;border:none;border-right:1px solid var(--openms-num-strip-border);border-radius:0;background:0 0;box-shadow:none;padding:clamp(1.15rem,2.4vw,1.55rem)clamp(.85rem,1.8vw,1.2rem);align-items:start;align-content:start;text-align:left;color:var(--openms-navy);transition:background-color .22s ease;transform:none!important}.openms-lib-page--webapps-pro .openms-lib-about__mosaic>.openms-lib-about__tile:first-child{padding-left:clamp(1.15rem,2.4vw,1.55rem)}.openms-lib-page--webapps-pro .openms-lib-about__mosaic>.openms-lib-about__tile:last-child{border-right:none;padding-right:clamp(1.15rem,2.4vw,1.55rem)}.openms-lib-page--webapps-pro .openms-lib-about__tile-title{color:var(--openms-navy)}.openms-lib-page--webapps-pro .openms-lib-about__tile-text{color:rgba(var(--openms-navy-rgb),.68)}.openms-lib-page--webapps-pro .openms-lib-about__tile-title,.openms-lib-page--webapps-pro .openms-lib-about__tile-text{text-align:left;max-width:none}.openms-lib-page--webapps-pro .openms-lib-about__tile:hover,.openms-lib-page--webapps-pro .openms-lib-about__tile:focus-within{background:var(--openms-num-strip-hover-bg);border-color:transparent;border-right-color:var(--openms-num-strip-border);box-shadow:none;transform:none!important;margin:0}.openms-lib-page--webapps-pro .openms-lib-about__mosaic>.openms-lib-about__tile:last-child:hover,.openms-lib-page--webapps-pro .openms-lib-about__mosaic>.openms-lib-about__tile:last-child:focus-within{border-right-color:transparent}.openms-lib-page--webapps-pro .openms-lib-about__head{display:grid;grid-template-columns:1fr;justify-items:center;text-align:center;width:100%;max-width:min(100%,40rem);margin-inline:auto;padding-inline:0;box-sizing:border-box}.openms-lib-page--webapps-pro .openms-lib-about__head-copy{justify-items:center;text-align:center}.openms-lib-page--webapps-pro .openms-lib-about__eyebrow{justify-content:center}.openms-lib-page--webapps-pro .openms-lib-about__title,.openms-lib-page--webapps-pro .openms-lib-about__lead{text-align:center;margin-inline:auto}.openms-lib-page--webapps-pro .openms-lib-about__lead{max-width:36rem}@media(max-width:900px){.openms-lib-page--webapps-pro .openms-lib-about__mosaic{grid-template-columns:repeat(3,minmax(0,1fr))}.openms-lib-page--webapps-pro .openms-lib-about__tile{max-width:none;align-items:start;text-align:left;padding:clamp(1rem,2.5vw,1.35rem)clamp(.85rem,2.2vw,1.15rem)}.openms-lib-page--webapps-pro .openms-lib-about__num{width:auto;margin-inline:0;font-size:clamp(1.55rem,4.2vw,2.25rem)}.openms-lib-page--webapps-pro .openms-lib-about__tile-title,.openms-lib-page--webapps-pro .openms-lib-about__tile-text{text-align:left;width:100%;max-width:none}}@media(max-width:720px){.openms-lib-page--webapps-pro .openms-lib-about__mosaic{grid-template-columns:1fr}.openms-lib-page--webapps-pro .openms-lib-about__tile{height:auto;min-height:0;max-height:none;padding:.7rem clamp(.85rem,3.4vw,1.1rem);gap:.35rem}}.openms-lib-page--webapps-pro .openms-lib-about__lead-line{display:block}.openms-lib-page--webapps-pro .openms-lib-resources__grid>.openms-lib-resources__item{background:linear-gradient(160deg,rgba(255,255,255,.18) 0%,transparent 42%),var(--openms-navy)!important;border-color:transparent!important;box-shadow:0 .85rem 1.85rem rgba(var(--openms-navy-rgb),.32)!important;color:var(--openms-white)!important;transform:none!important;transition:none}.openms-lib-page--webapps-pro .openms-lib-resources__grid>.openms-lib-resources__item:hover,.openms-lib-page--webapps-pro .openms-lib-resources__grid>.openms-lib-resources__item:focus-visible,.openms-lib-page--webapps-pro .openms-lib-resources__grid>.openms-lib-resources__item:focus-within{background:linear-gradient(160deg,rgba(255,255,255,.18) 0%,transparent 42%),var(--openms-navy)!important;border-color:transparent!important;box-shadow:0 .85rem 1.85rem rgba(var(--openms-navy-rgb),.32)!important;color:var(--openms-white)!important;transform:none!important;outline:none}.openms-lib-page--webapps-pro .openms-lib-resources__grid>.openms-lib-resources__item:focus-visible{outline:2px solid var(--openms-yellow,#f5c518);outline-offset:2px}.openms-lib-page--webapps-pro .openms-lib-resources__item-icon{display:grid;place-items:center;width:auto;height:auto;margin:0;padding:0;border:none;border-radius:0;background:0 0;box-shadow:none;color:rgba(255,255,255,.72);font-size:2rem;line-height:1}.openms-lib-page--webapps-pro .openms-lib-resources__item-icon .fab,.openms-lib-page--webapps-pro .openms-lib-resources__item-icon .fas,.openms-lib-page--webapps-pro .openms-lib-resources__item-icon .svg-inline--fa{color:rgba(255,255,255,.72)!important;font-size:1em;width:1em;height:1em}.openms-lib-page--webapps-pro .openms-lib-resources__item-icon .svg-inline--fa path{fill:currentColor!important}.openms-lib-page--webapps-pro .openms-lib-resources__item-title,.openms-lib-page--webapps-pro .openms-lib-resources__item-text,.openms-lib-page--webapps-pro .openms-lib-resources__item-tag,.openms-lib-page--webapps-pro .openms-lib-resources__item-link{color:var(--openms-white)!important}.openms-lib-page--webapps-pro .openms-lib-resources__item--static{cursor:default}.openms-lib-page--webapps-pro .openms-lib-resources--examples{display:block;padding:0 var(--openms-page-inline);box-sizing:border-box;background:radial-gradient(ellipse 55% 70% at 100% 40%,rgba(var(--openms-blue-rgb),.06),transparent 65%),var(--openms-white)}.openms-lib-page--webapps-pro .openms-lib-resources--examples .openms-lib-resources__inner,.openms-lib-page--webapps-pro .openms-lib-resources__examples-layout{display:grid;grid-template-columns:minmax(0,.95fr)minmax(0,1.25fr);gap:clamp(1.75rem,4vw,3.25rem);align-items:center;width:100%;max-width:var(--pro-max);margin-inline:auto}.openms-lib-page--webapps-pro .openms-lib-resources--examples .openms-lib-resources__head{display:grid;grid-template-columns:1fr;justify-items:start;max-width:min(100%,28rem);margin:0;text-align:left}.openms-lib-page--webapps-pro .openms-lib-resources--examples .openms-lib-resources__eyebrow{justify-content:flex-start}.openms-lib-page--webapps-pro .openms-lib-resources--examples .openms-lib-resources__title,.openms-lib-page--webapps-pro .openms-lib-resources--examples .openms-lib-resources__lead{text-align:left;margin-inline:0}.openms-lib-page--webapps-pro .openms-lib-resources--examples .openms-lib-resources__lead{max-width:28rem}.openms-lib-page--webapps-pro .openms-lib-resources__examples-actions{display:flex;justify-content:flex-start;width:100%;margin-top:var(--pro-stack-actions,1.35rem)}.openms-lib-page--webapps-pro .openms-lib-resources__examples-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.75rem,1.5vw,1rem);margin:0;padding:0;list-style:none;width:100%;border:none;border-radius:0;background:0 0;overflow:visible}.openms-lib-page--webapps-pro .openms-lib-resources__examples-item{min-width:0;border-right:none}.openms-lib-page--webapps-pro .openms-lib-resources__examples-item:last-child{border-right:none}.openms-lib-page--webapps-pro .openms-lib-resources__examples-card{display:flex;align-items:center;justify-content:center;min-height:11.5rem;padding:1.5rem;border:1px solid rgba(var(--openms-navy-rgb),.1);border-radius:var(--pro-radius,1rem);background:var(--openms-white);box-shadow:0 .35rem 1rem rgba(var(--openms-navy-rgb),.05);color:var(--openms-navy);text-decoration:none;text-align:center;transition:background-color .22s ease,box-shadow .22s ease,border-color .22s ease}.openms-lib-page--webapps-pro .openms-lib-resources__examples-logo,.openms-lib-page--webapps-pro .openms-lib-resources__examples-logo--large{display:flex;align-items:center;justify-content:center;flex:initial;width:min(7.5rem,100%);height:auto;aspect-ratio:1;max-width:100%;max-height:100%;margin:0 auto;padding:.7rem;border-radius:.85rem;background:color-mix(in srgb,var(--pro-band-soft,#f4f7fb) 70%,var(--openms-white));box-sizing:border-box;overflow:hidden}.openms-lib-page--webapps-pro .openms-lib-resources__examples-logo img,.openms-lib-page--webapps-pro .openms-lib-resources__examples-logo--large img,.openms-lib-page--webapps-pro .openms-lib-resources__examples-logo img[src*=umetaflow]{display:block;width:100%;height:100%;max-width:100%;max-height:100%;margin:0 auto;object-fit:contain;object-position:center center;border-radius:.45rem}.openms-lib-page--webapps-pro .openms-lib-resources__examples-card:hover,.openms-lib-page--webapps-pro .openms-lib-resources__examples-card:focus-visible{background:var(--openms-white);border-color:rgba(var(--openms-blue-rgb),.28);box-shadow:0 .55rem 1.35rem rgba(var(--openms-navy-rgb),.1);transform:none;outline:none}.openms-lib-page--webapps-pro .openms-lib-resources__examples-card:focus-visible{outline:2px solid var(--openms-yellow,#f5c518);outline-offset:-3px}@media(max-width:900px){.openms-lib-page--webapps-pro .openms-lib-resources--examples .openms-lib-resources__inner,.openms-lib-page--webapps-pro .openms-lib-resources__examples-layout{grid-template-columns:1fr;gap:var(--pro-head-to-content)}.openms-lib-page--webapps-pro .openms-lib-resources--examples .openms-lib-resources__head{justify-items:center;max-width:min(100%,36rem);margin-inline:auto;text-align:center}.openms-lib-page--webapps-pro .openms-lib-resources--examples .openms-lib-resources__eyebrow{justify-content:center}.openms-lib-page--webapps-pro .openms-lib-resources--examples .openms-lib-resources__title,.openms-lib-page--webapps-pro .openms-lib-resources--examples .openms-lib-resources__lead{text-align:center;margin-inline:auto}.openms-lib-page--webapps-pro .openms-lib-resources__examples-actions{justify-content:center}.openms-lib-page--webapps-pro .openms-lib-resources__examples-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.openms-lib-page--webapps-pro .openms-lib-resources__examples-card{min-height:0;aspect-ratio:1;padding:.4rem}.openms-lib-page--webapps-pro .openms-lib-resources__examples-logo,.openms-lib-page--webapps-pro .openms-lib-resources__examples-logo--large{width:100%;max-width:none;padding:.35rem}}@media(max-width:720px){.openms-lib-page--webapps-pro .openms-lib-resources__examples-grid{gap:.5rem}.openms-lib-page--webapps-pro .openms-lib-resources__examples-card{padding:.3rem}.openms-lib-page--webapps-pro .openms-lib-resources__examples-logo,.openms-lib-page--webapps-pro .openms-lib-resources__examples-logo--large{width:100%;padding:.25rem;border-radius:.7rem}}.openms-lib-page--webapps-pro .openms-lib-page__outro .openms-lib-block--developers{box-sizing:border-box;width:100%;max-width:none;margin:0;padding-block:var(--pro-section-y);padding-inline:var(--openms-page-inline);background:var(--openms-white);color:var(--openms-navy)}.openms-lib-page--hub.openms-lib-page--webapps-pro .openms-lib-developers__layout,.openms-lib-page--webapps-pro .openms-lib-developers__layout{display:grid;grid-template-columns:1fr;justify-items:stretch;gap:var(--pro-head-to-content,clamp(1.5rem,3vw,2.25rem));align-items:start;width:100%;max-width:var(--pro-max);margin-inline:auto;padding:0;border-radius:0;background:0 0;box-shadow:none;text-align:left}.openms-lib-page--hub.openms-lib-page--webapps-pro .openms-lib-developers__head,.openms-lib-page--webapps-pro .openms-lib-developers__head{display:grid;justify-items:center;max-width:min(100%,42rem);margin:0 auto;text-align:center}.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--webapps-pro .openms-lib-page__outro .openms-lib-developers__head .openms-lib-block__eyebrow,.openms-lib-page--webapps-pro .openms-lib-page__outro .openms-lib-developers__head .openms-lib-block__eyebrow{justify-content:center;color:var(--openms-blue)!important}.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--webapps-pro .openms-lib-page__outro .openms-lib-developers__head .openms-lib-developers__title,.openms-lib-page--webapps-pro .openms-lib-page__outro .openms-lib-developers__head .openms-lib-developers__title{text-align:center;margin-inline:auto;color:var(--openms-navy)!important}.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--webapps-pro .openms-lib-page__outro .openms-lib-developers__head .openms-lib-developers__lead,.openms-lib-page--openms-lib.openms-lib-page--webapps-pro .openms-lib-page__outro .openms-lib-developers__head .openms-lib-developers__lead,.openms-lib-page--webapps-pro .openms-lib-page__outro .openms-lib-developers__lead{justify-self:center;width:100%;max-width:40rem;margin:var(--pro-stack-lead)0 0;margin-inline:auto;text-align:center;color:var(--pro-text-muted,rgba(var(--openms-dark-rgb),.72))!important}.openms-lib-page--hub.openms-lib-page--webapps-pro .openms-lib-developers__content,.openms-lib-page--webapps-pro .openms-lib-developers__content{width:100%;max-width:none;margin:0;padding:0}.openms-lib-page--hub.openms-lib-page--webapps-pro .openms-lib-developers__grid--routes,.openms-lib-page--webapps-pro .openms-lib-developers__grid--routes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--pro-card-gap);width:100%}.openms-lib-page--webapps-pro .openms-lib-developers__grid--routes>.openms-lib-developers__route:not(.openms-lib-developers__route--build):nth-child(n){grid-column:span 1;min-height:0}.openms-lib-page--webapps-pro .openms-lib-developers__route{display:flex;flex-direction:column;align-items:stretch;gap:.45rem;width:100%;min-height:100%;padding:var(--pro-card-pad);border:1px solid var(--pro-line);border-radius:var(--pro-radius);background:var(--openms-white);box-shadow:var(--pro-shadow);color:inherit;text-decoration:none;transition:background .22s ease,border-color .22s ease,box-shadow .22s ease,transform .22s ease,color .22s ease}.openms-lib-page--webapps-pro .openms-lib-developers__route-top{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.55rem;margin:0}.openms-lib-page--webapps-pro .openms-lib-developers__route-icon,.openms-lib-page--webapps-pro .openms-lib-developers__route-icon .fab,.openms-lib-page--webapps-pro .openms-lib-developers__route-icon .fas,.openms-lib-page--webapps-pro .openms-lib-developers__route .fa-github,.openms-lib-page--webapps-pro .openms-lib-developers__route .fa-code-branch,.openms-lib-page--webapps-pro .openms-lib-developers__route .fa-server,.openms-lib-page--webapps-pro .openms-lib-developers__route-icon .svg-inline--fa{color:rgba(var(--openms-blue-rgb),.28)!important}.openms-lib-page--webapps-pro .openms-lib-developers__route-icon .svg-inline--fa path{fill:currentColor!important}.openms-lib-page--hub.openms-lib-page--webapps-pro .openms-lib-developers__route-icon,.openms-lib-page--webapps-pro .openms-lib-developers__route-icon,.openms-lib-page--openms-lib.openms-lib-page--webapps-pro .openms-lib-developers__grid--routes>.openms-lib-developers__route:not(.openms-lib-developers__route--build):nth-child(1) .openms-lib-developers__route-icon{display:grid;place-items:center;width:auto;height:auto;margin-bottom:.15rem;padding:0;border:none!important;border-radius:0;background:0 0!important;box-shadow:none!important;font-size:clamp(2.5rem,3.8vw,3rem);line-height:1;color:rgba(var(--openms-blue-rgb),.28)!important}.openms-lib-page--webapps-pro .openms-lib-developers__route .openms-lib-developers__card-tag{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:nowrap;border:0;border-radius:0;background:0 0;color:var(--pro-text-soft,rgba(var(--openms-dark-rgb),.55));font-size:var(--openms-text-min,.8rem);font-weight:600;letter-spacing:.02em}.openms-lib-page--webapps-pro .openms-lib-developers__card-body{display:flex;flex-direction:column;flex:auto;gap:.35rem;min-width:0}.openms-lib-page--webapps-pro .openms-lib-developers__card-title{margin:0;color:var(--pro-card-title,rgba(var(--openms-dark-rgb),.82));font-size:var(--openms-body-size-lg,1.05rem);font-weight:800;line-height:1.25}.openms-lib-page--webapps-pro .openms-lib-developers__card-text{display:block;margin:0;color:rgba(var(--openms-dark-rgb),.72);font-size:var(--openms-body-size,1rem);line-height:1.55}.openms-lib-page--webapps-pro .openms-lib-developers__card-link{display:inline-flex;align-items:center;gap:.3rem;margin-top:auto;padding-top:1rem;min-height:0;padding-inline:0;border-radius:0;background:0 0;color:var(--openms-navy)!important;font-size:var(--openms-text-min);font-weight:700;white-space:nowrap;text-decoration:none!important}.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--webapps-pro .openms-lib-developers__grid--routes>.openms-lib-developers__route:not(.openms-lib-developers__route--build):nth-child(n):hover,.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--webapps-pro .openms-lib-developers__grid--routes>.openms-lib-developers__route:not(.openms-lib-developers__route--build):nth-child(n):focus-visible,.openms-lib-page--openms-lib.openms-lib-page--webapps-pro .openms-lib-developers__grid--routes>.openms-lib-developers__route:not(.openms-lib-developers__route--build):nth-child(n):hover,.openms-lib-page--openms-lib.openms-lib-page--webapps-pro .openms-lib-developers__grid--routes>.openms-lib-developers__route:not(.openms-lib-developers__route--build):nth-child(n):focus-visible,.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--webapps-pro .openms-lib-developers__route:hover,.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--webapps-pro .openms-lib-developers__route:focus-visible,.openms-lib-page--openms-lib.openms-lib-page--webapps-pro .openms-lib-developers__route:hover,.openms-lib-page--openms-lib.openms-lib-page--webapps-pro .openms-lib-developers__route:focus-visible,.openms-lib-page--webapps-pro .openms-lib-developers__route:hover,.openms-lib-page--webapps-pro .openms-lib-developers__route:focus-visible{background:linear-gradient(160deg,rgba(255,255,255,.18) 0%,transparent 42%),var(--openms-navy)!important;border-color:transparent!important;box-shadow:0 .85rem 1.85rem rgba(var(--openms-navy-rgb),.32)!important;transform:translateY(-4px);color:#fff!important;outline:none}.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--webapps-pro .openms-lib-developers__route:hover .openms-lib-developers__card-title,.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--webapps-pro .openms-lib-developers__route:focus-visible .openms-lib-developers__card-title,.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--webapps-pro .openms-lib-developers__route:hover .openms-lib-developers__card-title span,.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--webapps-pro .openms-lib-developers__route:focus-visible .openms-lib-developers__card-title span,.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--webapps-pro .openms-lib-developers__route:hover .openms-lib-developers__card-text,.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--webapps-pro .openms-lib-developers__route:focus-visible .openms-lib-developers__card-text,.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--webapps-pro .openms-lib-developers__route:hover .openms-lib-developers__card-tag,.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--webapps-pro .openms-lib-developers__route:focus-visible .openms-lib-developers__card-tag,.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--webapps-pro .openms-lib-developers__route:hover .openms-lib-developers__card-link,.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--webapps-pro .openms-lib-developers__route:focus-visible .openms-lib-developers__card-link,.openms-lib-page--webapps-pro .openms-lib-developers__route:hover .openms-lib-developers__card-title,.openms-lib-page--webapps-pro .openms-lib-developers__route:focus-visible .openms-lib-developers__card-title,.openms-lib-page--webapps-pro .openms-lib-developers__route:hover .openms-lib-developers__card-title span,.openms-lib-page--webapps-pro .openms-lib-developers__route:focus-visible .openms-lib-developers__card-title span,.openms-lib-page--webapps-pro .openms-lib-developers__route:hover .openms-lib-developers__card-text,.openms-lib-page--webapps-pro .openms-lib-developers__route:focus-visible .openms-lib-developers__card-text,.openms-lib-page--webapps-pro .openms-lib-developers__route:hover .openms-lib-developers__card-tag,.openms-lib-page--webapps-pro .openms-lib-developers__route:focus-visible .openms-lib-developers__card-tag,.openms-lib-page--webapps-pro .openms-lib-developers__route:hover .openms-lib-developers__card-link,.openms-lib-page--webapps-pro .openms-lib-developers__route:focus-visible .openms-lib-developers__card-link{color:#fff!important;background:0 0!important}.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--webapps-pro .openms-lib-developers__route:hover .openms-lib-developers__route-icon,.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--webapps-pro .openms-lib-developers__route:hover .openms-lib-developers__route-icon .fab,.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--webapps-pro .openms-lib-developers__route:hover .openms-lib-developers__route-icon .fas,.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--webapps-pro .openms-lib-developers__route:hover .openms-lib-developers__route-icon .svg-inline--fa,.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--webapps-pro .openms-lib-developers__route:focus-visible .openms-lib-developers__route-icon,.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--webapps-pro .openms-lib-developers__route:focus-visible .openms-lib-developers__route-icon .fab,.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--webapps-pro .openms-lib-developers__route:focus-visible .openms-lib-developers__route-icon .fas,.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--webapps-pro .openms-lib-developers__route:focus-visible .openms-lib-developers__route-icon .svg-inline--fa,.openms-lib-page--webapps-pro .openms-lib-developers__route:hover .openms-lib-developers__route-icon,.openms-lib-page--webapps-pro .openms-lib-developers__route:hover .openms-lib-developers__route-icon .fab,.openms-lib-page--webapps-pro .openms-lib-developers__route:hover .openms-lib-developers__route-icon .fas,.openms-lib-page--webapps-pro .openms-lib-developers__route:hover .openms-lib-developers__route-icon .svg-inline--fa,.openms-lib-page--webapps-pro .openms-lib-developers__route:focus-visible .openms-lib-developers__route-icon,.openms-lib-page--webapps-pro .openms-lib-developers__route:focus-visible .openms-lib-developers__route-icon .fab,.openms-lib-page--webapps-pro .openms-lib-developers__route:focus-visible .openms-lib-developers__route-icon .fas,.openms-lib-page--webapps-pro .openms-lib-developers__route:focus-visible .openms-lib-developers__route-icon .svg-inline--fa{color:#fff!important;background:0 0!important}@media(max-width:900px){.openms-lib-page--hub.openms-lib-page--webapps-pro .openms-lib-developers__grid--routes,.openms-lib-page--webapps-pro .openms-lib-developers__grid--routes{grid-template-columns:1fr}}.openms-lib-page--webapps-pro .openms-lib-block--developers>.openms-lib-developers__cite--separate,.openms-lib-page--webapps-pro .webapps-contribute__research-impact .openms-lib-developers__cite--separate{margin-top:0}.openms-lib-page--hub.openms-lib-page--webapps .webapps-contribute__research-impact,.openms-lib-page--webapps-pro .webapps-contribute__research-impact,.openms-lib-page--hub.openms-lib-page--webapps .openms-lib-page__cite,.openms-lib-page--webapps-pro .openms-lib-page__cite{box-sizing:border-box;width:100%;max-width:none;margin:0;padding:0;padding-inline:var(--openms-page-inline);background:var(--pro-band-soft,#f4f7fb)!important;color:var(--openms-navy)}.openms-lib-page--hub.openms-lib-page--webapps .webapps-contribute__research-impact .openms-lib-developers__cite--separate,.openms-lib-page--webapps-pro .webapps-contribute__research-impact .openms-lib-developers__cite--separate,.openms-lib-page--hub.openms-lib-page--webapps .openms-lib-page__cite .openms-lib-developers__cite--separate,.openms-lib-page--webapps-pro .openms-lib-page__cite .openms-lib-developers__cite--separate{width:100%;max-width:var(--pro-max);margin:0 auto;padding:var(--pro-section-y)0;background:0 0}.openms-lib-page--hub.openms-lib-page--webapps.openms-lib-page--featured-pro .webapps-modern-wrap--page .webapps-featured--page,.openms-lib-page--featured.openms-lib-page--featured-pro .webapps-modern-wrap--page .webapps-featured--page{background:color-mix(in srgb,var(--olib-bg-soft,#eef2f7) 82%,var(--openms-navy) 6%);border-bottom:1px solid var(--pro-line)}.openms-lib-page--featured-pro #affiliated-apps,.openms-lib-page--affiliated .webapps-affiliates,.openms-lib-page--affiliated.openms-lib-page--featured-pro .webapps-affiliates{background:color-mix(in srgb,var(--olib-bg-soft,#eef2f7) 82%,var(--openms-navy) 6%);border-bottom:1px solid var(--pro-line)}.openms-lib-page--featured-pro #archived-apps,.openms-lib-page--archived #archived-apps{background:color-mix(in srgb,var(--olib-bg-soft,#eef2f7) 82%,var(--openms-navy) 6%)}.openms-lib-page--hub.openms-lib-page--featured-pro .webapps-modern-wrap--page .webapps-featured--page{padding-block:var(--pro-section-y);padding-top:calc(var(--pro-section-y) * .5);padding-bottom:calc(var(--pro-section-y) * .55);padding-inline:var(--olib-pad-x)}.openms-lib-page--hub.openms-lib-page--featured-pro .webapps-affiliates,.openms-lib-page--affiliated.openms-lib-page--featured-pro .webapps-affiliates{padding-block:var(--pro-section-y);padding-top:calc(var(--pro-section-y) * .5);padding-bottom:calc(var(--pro-section-y) * .55);padding-inline:var(--olib-pad-x)}.openms-lib-page--hub.openms-lib-page--featured-pro .webapps-archived,.openms-lib-page--archived.openms-lib-page--featured-pro .webapps-archived{padding-block:var(--pro-section-y);padding-top:0;padding-bottom:var(--pro-section-y);padding-inline:var(--olib-pad-x)}.openms-lib-page--hub.openms-lib-page--featured-pro .openms-lib-page__anchor:has(.webapps-archived)::before,.openms-lib-page--archived .openms-lib-page__anchor:has(.webapps-archived)::before{display:none}.openms-lib-page--archived.openms-lib-page--featured-pro .openms-lib-page__body>.openms-lib-page__anchor:first-child{padding-top:var(--pro-section-y)}.openms-lib-layout:has(.openms-lib-page--archived){padding-bottom:var(--pro-section-y)}.openms-lib-page--featured-pro .webapps-featured__grid--detail,.openms-lib-page--affiliated.openms-lib-page--featured-pro .webapps-affiliates__grid{gap:clamp(1rem,2vw,1.25rem);justify-content:stretch;align-items:stretch}.openms-lib-page--featured.openms-lib-page--featured-pro .webapps-featured__item,.openms-lib-page--affiliated.openms-lib-page--featured-pro .webapps-affiliates__item{min-width:0;width:100%;max-width:100%;display:flex}.openms-lib-page--featured.openms-lib-page--featured-pro .webapps-featured__item>.webapps-project-detail-card,.openms-lib-page--affiliated.openms-lib-page--featured-pro .webapps-affiliates__item>.webapps-project-detail-card{width:100%;height:100%}@media(min-width:720px){.openms-lib-page--featured.openms-lib-page--featured-pro .webapps-featured__grid--detail,.openms-lib-page--affiliated.openms-lib-page--featured-pro .webapps-affiliates__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.openms-lib-page--featured.openms-lib-page--featured-pro .webapps-featured__grid--detail>.webapps-featured__item:last-child:nth-child(odd),.openms-lib-page--affiliated.openms-lib-page--featured-pro .webapps-affiliates__grid>.webapps-affiliates__item:last-child:nth-child(odd){grid-column:1/-1;max-width:calc((100% - clamp(1rem,2vw,1.25rem))/2);justify-self:center}}@media(min-width:1080px){.openms-lib-page--featured.openms-lib-page--featured-pro .webapps-featured__grid--detail,.openms-lib-page--affiliated.openms-lib-page--featured-pro .webapps-affiliates__grid{grid-template-columns:repeat(3,minmax(0,1fr))}.openms-lib-page--featured.openms-lib-page--featured-pro .webapps-featured__grid--detail>.webapps-featured__item:last-child:nth-child(odd),.openms-lib-page--affiliated.openms-lib-page--featured-pro .webapps-affiliates__grid>.webapps-affiliates__item:last-child:nth-child(odd){grid-column:auto;max-width:none;justify-self:stretch}.openms-lib-page--featured.openms-lib-page--featured-pro .webapps-featured__grid--detail>.webapps-featured__item:last-child:nth-child(3n+1),.openms-lib-page--affiliated.openms-lib-page--featured-pro .webapps-affiliates__grid>.webapps-affiliates__item:last-child:nth-child(3n+1){grid-column:2}}.openms-lib-page--featured-pro .webapps-project-detail-card{border:1px solid var(--pro-line);border-radius:var(--pro-radius);background:var(--openms-white);box-shadow:var(--pro-shadow);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.openms-lib-page--featured-pro .webapps-project-detail-card:hover,.openms-lib-page--featured-pro .webapps-project-detail-card:focus-within{border-color:var(--pro-line-strong);box-shadow:var(--pro-shadow-hover);transform:var(--pro-lift-sm)}.openms-lib-page--featured-pro .webapps-featured__grid--detail .webapps-project-detail-card__main,.openms-lib-page--affiliated.openms-lib-page--featured-pro .webapps-affiliates__grid .webapps-project-detail-card__main{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:stretch;gap:var(--pro-space-2);column-gap:clamp(1rem,2.5vw,1.45rem);padding:var(--pro-card-pad);height:100%;box-sizing:border-box}.openms-lib-page--featured.openms-lib-page--featured-pro .webapps-project-detail-card--featured,.openms-lib-page--affiliated.openms-lib-page--featured-pro .webapps-project-detail-card--featured{display:flex;flex-direction:column;min-height:17.5rem}.openms-lib-page--featured.openms-lib-page--featured-pro .webapps-project-detail-card--featured .webapps-project-detail-card__main,.openms-lib-page--affiliated.openms-lib-page--featured-pro .webapps-project-detail-card--featured .webapps-project-detail-card__main{flex:auto;align-items:start}.openms-lib-page--featured.openms-lib-page--featured-pro .webapps-project-detail-card--featured .webapps-project-detail-card__logo-wrap,.openms-lib-page--featured.openms-lib-page--featured-pro .webapps-project-detail-card--featured .webapps-project-detail-card__logo-wrap--large,.openms-lib-page--featured.openms-lib-page--featured-pro .webapps-project-detail-card--featured .webapps-project-detail-card__logo-wrap--xlarge,.openms-lib-page--featured.openms-lib-page--featured-pro .webapps-project-detail-card--featured .webapps-project-detail-card__logo-wrap--wide,.openms-lib-page--affiliated.openms-lib-page--featured-pro .webapps-project-detail-card--featured .webapps-project-detail-card__logo-wrap,.openms-lib-page--affiliated.openms-lib-page--featured-pro .webapps-project-detail-card--featured .webapps-project-detail-card__logo-wrap--large,.openms-lib-page--affiliated.openms-lib-page--featured-pro .webapps-project-detail-card--featured .webapps-project-detail-card__logo-wrap--xlarge,.openms-lib-page--affiliated.openms-lib-page--featured-pro .webapps-project-detail-card--featured .webapps-project-detail-card__logo-wrap--wide{width:5rem;height:5rem;min-width:5rem;min-height:5rem;padding:.55rem;margin:0;border:1px solid rgba(var(--openms-navy-rgb),.14);border-radius:.85rem;background:color-mix(in srgb,var(--pro-band-soft,#f4f7fb) 55%,var(--openms-white));box-shadow:none;aspect-ratio:1;align-self:start}.openms-lib-page--featured.openms-lib-page--featured-pro .webapps-project-detail-card--featured .webapps-project-detail-card__logo,.openms-lib-page--featured.openms-lib-page--featured-pro .webapps-project-detail-card--featured .webapps-project-detail-card__logo--large,.openms-lib-page--featured.openms-lib-page--featured-pro .webapps-project-detail-card--featured .webapps-project-detail-card__logo--xlarge,.openms-lib-page--affiliated.openms-lib-page--featured-pro .webapps-project-detail-card--featured .webapps-project-detail-card__logo,.openms-lib-page--affiliated.openms-lib-page--featured-pro .webapps-project-detail-card--featured .webapps-project-detail-card__logo--large,.openms-lib-page--affiliated.openms-lib-page--featured-pro .webapps-project-detail-card--featured .webapps-project-detail-card__logo--xlarge{width:100%;height:100%;max-height:none;object-fit:contain}.openms-lib-page--featured.openms-lib-page--featured-pro .webapps-project-detail-card--featured .webapps-project-detail-card__logo-text,.openms-lib-page--affiliated.openms-lib-page--featured-pro .webapps-project-detail-card--featured .webapps-project-detail-card__logo-text{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:.15rem;text-align:center;font-family:var(--openms-font-heading);font-size:.72rem;font-weight:800;line-height:1.15;letter-spacing:.02em;color:var(--openms-navy);word-break:break-word}.openms-lib-page--featured.openms-lib-page--featured-pro .webapps-project-detail-card--featured .webapps-project-detail-card__body,.openms-lib-page--affiliated.openms-lib-page--featured-pro .webapps-project-detail-card--featured .webapps-project-detail-card__body{display:flex;flex-direction:column;gap:.55rem;min-width:0;min-height:100%;height:100%}.openms-lib-page--featured.openms-lib-page--featured-pro .webapps-project-detail-card--featured .webapps-project-detail-card__name,.openms-lib-page--affiliated.openms-lib-page--featured-pro .webapps-project-detail-card--featured .webapps-project-detail-card__name{margin:0}.openms-lib-page--featured.openms-lib-page--featured-pro .webapps-project-detail-card--featured .webapps-project-detail-card__text,.openms-lib-page--affiliated.openms-lib-page--featured-pro .webapps-project-detail-card--featured .webapps-project-detail-card__text{flex:initial}.openms-lib-page--featured.openms-lib-page--featured-pro .webapps-project-detail-card--featured .webapps-project-detail-card__maintainers,.openms-lib-page--affiliated.openms-lib-page--featured-pro .webapps-project-detail-card--featured .webapps-project-detail-card__maintainers{margin-top:.1rem}.openms-lib-page--featured.openms-lib-page--featured-pro .webapps-project-detail-card--featured .webapps-project-links,.openms-lib-page--affiliated.openms-lib-page--featured-pro .webapps-project-detail-card--featured .webapps-project-links{display:flex;flex-wrap:wrap;align-content:flex-start;align-items:stretch;gap:.5rem;margin-top:auto;min-height:calc((2.15rem * 2) + .5rem);padding-top:.35rem}.openms-lib-page--featured.openms-lib-page--featured-pro .webapps-project-detail-card--featured .webapps-project-links__item,.openms-lib-page--affiliated.openms-lib-page--featured-pro .webapps-project-detail-card--featured .webapps-project-links__item{flex:initial}.openms-lib-page--featured.openms-lib-page--featured-pro .webapps-catalog__contact,.openms-lib-page--affiliated.openms-lib-page--featured-pro .webapps-catalog__contact{margin-top:clamp(.85rem,1.6vw,1.15rem);margin-bottom:0}.openms-lib-page--featured-pro .webapps-featured__grid--detail .webapps-project-detail-card--logo-title .webapps-project-detail-card__logo-wrap{width:5rem;height:5rem;min-height:0;padding:.55rem;border:1px solid rgba(var(--openms-navy-rgb),.14);border-radius:.85rem;background:color-mix(in srgb,var(--pro-band-soft,#f4f7fb) 55%,var(--openms-white))}.openms-lib-page--featured-pro .webapps-featured__grid--detail .webapps-project-detail-card--logo-title .webapps-project-detail-card__logo-wrap--large,.openms-lib-page--featured-pro .webapps-featured__grid--detail .webapps-project-detail-card--logo-title .webapps-project-detail-card__logo-wrap--xlarge{width:5rem;height:5rem}.openms-lib-page--featured-pro .webapps-featured__grid--detail .webapps-project-detail-card--logo-title .webapps-project-detail-card__body{min-width:0;align-self:stretch}.openms-lib-page--featured-pro .webapps-featured__grid--detail .webapps-project-detail-card--affiliate .webapps-project-detail-card__main{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"logo name" "logo text" "maintainers maintainers" "links links";align-items:start;column-gap:clamp(1rem,2.5vw,1.35rem);row-gap:.55rem}.openms-lib-page--featured-pro .webapps-featured__grid--detail .webapps-project-detail-card--affiliate .webapps-project-detail-card__body{display:contents}.openms-lib-page--featured-pro .webapps-featured__grid--detail .webapps-project-detail-card--affiliate .webapps-project-detail-card__logo-wrap{grid-area:logo;align-self:start}.openms-lib-page--featured-pro .webapps-featured__grid--detail .webapps-project-detail-card--affiliate .webapps-project-detail-card__name{grid-area:name;align-self:start}.openms-lib-page--featured-pro .webapps-featured__grid--detail .webapps-project-detail-card--affiliate .webapps-project-detail-card__text{grid-area:text}.openms-lib-page--featured-pro .webapps-featured__grid--detail .webapps-project-detail-card--affiliate .webapps-project-detail-card__maintainers{grid-area:maintainers;margin-top:.15rem}.openms-lib-page--featured-pro .webapps-featured__grid--detail .webapps-project-detail-card--affiliate .webapps-project-links{grid-area:links;margin-top:0}@media(max-width:720px){.openms-lib-page--featured-pro .webapps-featured__grid--detail .webapps-project-detail-card--affiliate .webapps-project-detail-card__main,.openms-lib-page--featured-pro .webapps-project-detail-card--affiliate .webapps-project-detail-card__main{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"logo name" "logo text" "maintainers maintainers" "links links";justify-content:start;justify-items:start;align-items:start;width:100%;max-width:100%;margin-inline:0;text-align:left;column-gap:clamp(.85rem,2.5vw,1.15rem);row-gap:.55rem}.openms-lib-page--featured-pro .webapps-project-detail-card--affiliate .webapps-project-detail-card__body{display:contents}.openms-lib-page--featured-pro .webapps-project-detail-card--affiliate .webapps-project-links{justify-content:flex-start}.openms-lib-page--featured-pro .webapps-project-detail-card--affiliate .webapps-project-detail-card__logo-wrap{width:4.75rem;height:4.75rem;min-height:0;margin-inline:0;aspect-ratio:1}.openms-lib-page--featured-pro .webapps-project-detail-card--affiliate .webapps-project-detail-card__logo{width:100%;height:auto;max-height:3.5rem}}.openms-lib-page--featured-pro .webapps-project-detail-card--affiliate .webapps-project-detail-card__logo-wrap,.openms-lib-page--featured.openms-lib-page--featured-pro .webapps-project-detail-card--affiliate .webapps-project-detail-card__logo-wrap,.openms-lib-page--affiliated .webapps-affiliates .webapps-project-detail-card--affiliate .webapps-project-detail-card__logo-wrap,.openms-lib-page--affiliated .webapps-project-detail-card--affiliate .webapps-project-detail-card__logo-wrap,.openms-lib-page--affiliated.openms-lib-page--featured-pro .webapps-project-detail-card--affiliate .webapps-project-detail-card__logo-wrap{border:none!important;background:0 0!important;padding:0!important;box-shadow:none!important}@media(max-width:720px){.openms-lib-page--affiliated .webapps-affiliates .webapps-project-detail-card--affiliate .webapps-project-detail-card__main,.openms-lib-page--affiliated .webapps-project-detail-card--affiliate .webapps-project-detail-card__main{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"logo name" "logo text" "maintainers maintainers" "links links";justify-items:start;align-items:start;text-align:left;column-gap:clamp(.85rem,2.5vw,1.15rem);row-gap:.55rem}.openms-lib-page--affiliated .webapps-affiliates .webapps-project-detail-card--affiliate .webapps-project-detail-card__body,.openms-lib-page--affiliated .webapps-project-detail-card--affiliate .webapps-project-detail-card__body{display:contents}.openms-lib-page--affiliated .webapps-affiliates .webapps-project-detail-card--affiliate .webapps-project-links,.openms-lib-page--affiliated .webapps-project-detail-card--affiliate .webapps-project-links{justify-content:flex-start}.openms-lib-page--affiliated .webapps-affiliates .webapps-project-detail-card--affiliate .webapps-project-detail-card__logo-wrap,.openms-lib-page--affiliated .webapps-project-detail-card--affiliate .webapps-project-detail-card__logo-wrap{width:4.75rem;height:4.75rem;min-height:0;margin-inline:0;aspect-ratio:1}.openms-lib-page--affiliated .webapps-affiliates .webapps-project-detail-card--affiliate .webapps-project-detail-card__logo-wrap--wide,.openms-lib-page--affiliated .webapps-project-detail-card--affiliate .webapps-project-detail-card__logo-wrap--wide{width:5.75rem;height:3.75rem;min-height:0;aspect-ratio:auto}.openms-lib-page--affiliated .webapps-affiliates .webapps-project-detail-card--affiliate .webapps-project-detail-card__logo,.openms-lib-page--affiliated .webapps-project-detail-card--affiliate .webapps-project-detail-card__logo{width:100%;height:auto;max-height:3.5rem}}.openms-lib-page--featured-pro .webapps-project-detail-card__name{font-family:var(--openms-font-heading);color:var(--openms-navy)}.openms-lib-page--featured-pro .webapps-project-detail-card__text{margin:0;font-size:var(--openms-body-size);line-height:1.55;color:rgba(var(--openms-dark-rgb),.72)}.openms-lib-page--featured-pro .webapps-project-detail-card__maintainers{margin:0;font-size:var(--openms-text-min);line-height:1.5;color:var(--pro-text-soft)}.openms-lib-page--featured-pro .webapps-project-detail-card__maintainers-label{display:block;margin-bottom:.2rem;font-family:var(--openms-font-heading);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--openms-navy)}.openms-lib-page--featured-pro .webapps-project-links__btn,.openms-lib-page--featured-pro .webapps-project-links__btn--demo,.openms-lib-page--featured-pro .webapps-project-links__btn--install,.openms-lib-page--featured-pro .webapps-project-links__btn--github,.openms-lib-page--featured-pro .webapps-project-links__btn--homepage,.openms-lib-page--featured-pro .webapps-project-links__btn--pypi,.openms-lib-page--featured-pro .webapps-project-links__btn--nfcore,.openms-lib-page--featured-pro .webapps-project-links__btn--link,.openms-lib-page--affiliated .webapps-project-links__btn,.openms-lib-page--affiliated .webapps-project-links__btn--demo,.openms-lib-page--affiliated .webapps-project-links__btn--install,.openms-lib-page--affiliated .webapps-project-links__btn--github,.openms-lib-page--affiliated .webapps-project-links__btn--homepage,.openms-lib-page--affiliated .webapps-project-links__btn--pypi,.openms-lib-page--affiliated .webapps-project-links__btn--nfcore,.openms-lib-page--affiliated .webapps-project-links__btn--link,.openms-lib-page--affiliated .webapps-project-detail-card--affiliate .webapps-project-links__btn{border:2px solid var(--openms-blue)!important;border-radius:var(--openms-btn-pill-radius);background:var(--openms-blue)!important;color:var(--openms-white)!important;box-shadow:0 0 0 0 var(--openms-btn-glow);transition:var(--openms-btn-motion)}.openms-lib-page--featured-pro .webapps-project-links__btn:hover,.openms-lib-page--featured-pro .webapps-project-links__btn:focus-visible,.openms-lib-page--featured-pro .webapps-project-links__btn--demo:hover,.openms-lib-page--featured-pro .webapps-project-links__btn--demo:focus-visible,.openms-lib-page--featured-pro .webapps-project-links__btn--install:hover,.openms-lib-page--featured-pro .webapps-project-links__btn--install:focus-visible,.openms-lib-page--featured-pro .webapps-project-links__btn--github:hover,.openms-lib-page--featured-pro .webapps-project-links__btn--github:focus-visible,.openms-lib-page--featured-pro .webapps-project-links__btn--homepage:hover,.openms-lib-page--featured-pro .webapps-project-links__btn--homepage:focus-visible,.openms-lib-page--featured-pro .webapps-project-links__btn--pypi:hover,.openms-lib-page--featured-pro .webapps-project-links__btn--pypi:focus-visible,.openms-lib-page--featured-pro .webapps-project-links__btn--nfcore:hover,.openms-lib-page--featured-pro .webapps-project-links__btn--nfcore:focus-visible,.openms-lib-page--featured-pro .webapps-project-links__btn--link:hover,.openms-lib-page--featured-pro .webapps-project-links__btn--link:focus-visible,.openms-lib-page--affiliated .webapps-project-links__btn:hover,.openms-lib-page--affiliated .webapps-project-links__btn:focus-visible,.openms-lib-page--affiliated .webapps-project-links__btn--demo:hover,.openms-lib-page--affiliated .webapps-project-links__btn--demo:focus-visible,.openms-lib-page--affiliated .webapps-project-links__btn--install:hover,.openms-lib-page--affiliated .webapps-project-links__btn--install:focus-visible,.openms-lib-page--affiliated .webapps-project-links__btn--github:hover,.openms-lib-page--affiliated .webapps-project-links__btn--github:focus-visible,.openms-lib-page--affiliated .webapps-project-links__btn--homepage:hover,.openms-lib-page--affiliated .webapps-project-links__btn--homepage:focus-visible,.openms-lib-page--affiliated .webapps-project-links__btn--pypi:hover,.openms-lib-page--affiliated .webapps-project-links__btn--pypi:focus-visible,.openms-lib-page--affiliated .webapps-project-links__btn--nfcore:hover,.openms-lib-page--affiliated .webapps-project-links__btn--nfcore:focus-visible,.openms-lib-page--affiliated .webapps-project-links__btn--link:hover,.openms-lib-page--affiliated .webapps-project-links__btn--link:focus-visible,.openms-lib-page--affiliated .webapps-project-detail-card--affiliate .webapps-project-links__btn:hover,.openms-lib-page--affiliated .webapps-project-detail-card--affiliate .webapps-project-links__btn:focus-visible{background:var(--openms-blue)!important;border-color:var(--openms-blue)!important;color:var(--openms-white)!important;transform:scale(var(--openms-btn-hover-scale));box-shadow:0 0 0 var(--openms-btn-glow-size)var(--openms-btn-glow);outline:none}.openms-lib-page--affiliated .webapps-project-links__btn .fab,.openms-lib-page--affiliated .webapps-project-links__btn .fas,.openms-lib-page--affiliated .webapps-project-links__btn .fa-github,.openms-lib-page--affiliated .webapps-project-links__btn .fa-python,.openms-lib-page--affiliated .webapps-project-links__btn .fa-home,.openms-lib-page--affiliated .webapps-project-links__btn .fa-external-link-alt,.openms-lib-page--featured-pro .webapps-project-links__btn .fab,.openms-lib-page--featured-pro .webapps-project-links__btn .fas,.openms-lib-page--featured-pro .webapps-project-links__btn .fa-github,.openms-lib-page--featured-pro .webapps-project-links__btn .fa-python,.openms-lib-page--featured-pro .webapps-project-links__btn .fa-home,.openms-lib-page--featured-pro .webapps-project-links__btn .fa-windows,.openms-lib-page--featured-pro .webapps-project-links__btn .fa-play-circle,.openms-lib-page--featured-pro .webapps-project-links__btn .fa-external-link-alt,.openms-lib-page--featured .webapps-project-links__btn .fab,.openms-lib-page--featured .webapps-project-links__btn .fas,.openms-lib-page--featured .webapps-project-links__btn .fa-github,.openms-lib-page--featured .webapps-project-links__btn .fa-windows,.openms-lib-page--featured .webapps-project-links__btn .fa-play-circle,.openms-lib-page--webapps.openms-lib-page--affiliated .webapps-project-links__btn i[class*=fa-],.openms-lib-page--webapps.openms-lib-page--featured .webapps-project-links__btn i[class*=fa-],.openms-lib-page--webapps.openms-lib-page--featured-pro .webapps-project-links__btn i[class*=fa-],.openms-lib-page--openms-lib.openms-lib-page--affiliated .webapps-project-links__btn .fa-github,.openms-lib-page--openms-lib.openms-lib-page--affiliated .webapps-project-links__btn .fa-python,.openms-lib-page--openms-lib.openms-lib-page--affiliated .webapps-project-links__btn .fa-home,.openms-lib-page--openms-lib.openms-lib-page--featured-pro .webapps-project-links__btn .fa-github,.openms-lib-page--openms-lib.openms-lib-page--featured-pro .webapps-project-links__btn .fa-python,.openms-lib-page--openms-lib.openms-lib-page--featured-pro .webapps-project-links__btn .fa-home,.openms-lib-page--openms-lib.openms-lib-page--featured-pro .webapps-project-links__btn .fa-windows,.openms-lib-page--openms-lib.openms-lib-page--featured-pro .webapps-project-links__btn .fa-play-circle,.openms-lib-page--openms-lib.openms-lib-page--featured .webapps-project-links__btn .fa-github,.openms-lib-page--openms-lib.openms-lib-page--featured .webapps-project-links__btn .fa-windows,.openms-lib-page--openms-lib.openms-lib-page--featured .webapps-project-links__btn .fa-play-circle,.openms-lib-page--openms-lib.openms-lib-page--featured-pro .webapps-project-links__btn .fab,.openms-lib-page--openms-lib.openms-lib-page--featured-pro .webapps-project-links__btn .fas,.openms-lib-page--openms-lib.openms-lib-page--featured .webapps-project-links__btn .fab,.openms-lib-page--openms-lib.openms-lib-page--featured .webapps-project-links__btn .fas{color:var(--openms-white)!important}.openms-lib-page--featured-pro .webapps-catalog__contact a{color:var(--openms-navy)}.openms-lib-page--featured-pro .webapps-catalog__contact a:hover,.openms-lib-page--featured-pro .webapps-catalog__contact a:focus-visible{color:var(--openms-blue)}.openms-lib-page--archived .webapps-archived--editorial .webapps-archived__layout{display:flex;flex-direction:column;gap:var(--pro-space-6);align-items:stretch;max-width:var(--pro-max);margin-inline:auto}.openms-lib-page--archived .webapps-archived--editorial .webapps-archived__context,.openms-lib-page--archived .webapps-archived--editorial .webapps-archived__intro{display:none}.openms-lib-page--featured-pro .webapps-archived__eyebrow,.openms-lib-page--featured-pro .webapps-archived__projects-kicker,.openms-lib-page--featured-pro .webapps-archived__revival-kicker{display:inline-flex;align-items:center;gap:.4rem;margin:0;padding:0;border:none;border-radius:0;background:0 0;font-size:var(--openms-text-min);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--openms-blue);box-shadow:none}.openms-lib-page--featured-pro .webapps-archived__title,.openms-lib-page--featured-pro .webapps-archived__projects-title{margin:var(--pro-stack-eyebrow)0 0;font-family:var(--openms-font-heading);font-size:calc(var(--openms-heading-lg-size) * 1.15);font-weight:var(--openms-heading-lg-weight);line-height:1.3;letter-spacing:normal;text-transform:uppercase;color:var(--openms-navy)}.openms-lib-page--featured-pro .webapps-archived__projects-title{font-size:calc(var(--openms-heading-lg-size) * .95)}.openms-lib-page--featured-pro .webapps-archived__lead{margin:var(--pro-stack-lead)0 0;max-width:46ch;font-size:var(--openms-body-size-lg);line-height:1.65;color:var(--pro-text-muted)}.openms-lib-page--archived .webapps-archived--editorial .webapps-archived__projects{display:grid;gap:var(--pro-space-5);padding:0;border-radius:0;background:0 0;box-shadow:none}.openms-lib-page--archived .webapps-archived__projects-head{display:grid;gap:0;max-width:40rem}.openms-lib-page--archived .webapps-archived--editorial .webapps-archived__projects-title{margin-top:var(--pro-stack-eyebrow)}.openms-lib-page--featured-pro .webapps-archived__grid{display:grid;grid-template-columns:1fr;gap:var(--pro-card-gap);width:100%;margin:0;padding:0;list-style:none;justify-content:stretch}.openms-lib-page--featured-pro .webapps-archived__item{display:flex;margin:0;padding:0;min-width:0;max-width:none}.openms-lib-page--featured-pro .webapps-archived__item .webapps-project-detail-card,.openms-lib-page--archived .webapps-archived__item .webapps-archived-entry{width:100%;height:100%}.openms-lib-page--archived .webapps-archived--catalog .webapps-archived__inner{display:grid;gap:var(--pro-section-y);width:100%;max-width:min(100%,48rem);margin-inline:auto;justify-items:stretch}.openms-lib-page--archived .webapps-archived--catalog .webapps-archived__revival{margin-top:0;width:100%}.openms-lib-page--archived .webapps-archived--catalog .webapps-archived__projects{display:grid;gap:var(--pro-head-to-content);width:100%;justify-items:stretch}.openms-lib-page--archived .webapps-archived--catalog .webapps-archived__projects-head{display:grid;gap:var(--pro-stack-lead);width:100%;max-width:none;margin:0;text-align:center;justify-items:center}.openms-lib-page--archived .webapps-archived--catalog .webapps-archived__projects-title{margin:0;font-family:var(--openms-font-heading);font-size:calc(var(--openms-heading-lg-size) * .95);font-weight:var(--openms-heading-lg-weight);line-height:1.25;letter-spacing:normal;text-transform:uppercase;color:var(--openms-navy);text-align:center}.openms-lib-page--archived .webapps-archived--catalog .webapps-archived__projects-lead{margin:0;max-width:40ch;font-size:var(--openms-body-size);line-height:1.55;text-align:center;color:var(--pro-text-muted,rgba(var(--openms-dark-rgb),.72))}.openms-lib-page--archived .webapps-archived__grid,.openms-lib-page--archived .webapps-archived__grid--solo{grid-template-columns:1fr;width:100%;justify-items:center}.openms-lib-page--archived .webapps-archived__grid--solo>.webapps-archived__item{width:100%;max-width:min(100%,32rem)}.openms-lib-page--archived .webapps-archived__grid:not(.webapps-archived__grid--solo){justify-items:stretch}.openms-lib-page--archived .webapps-archived__grid:not(.webapps-archived__grid--solo)>.webapps-archived__item{width:100%;max-width:none}@media(min-width:900px){.openms-lib-page--archived.openms-lib-page--featured-pro .webapps-archived__grid:not(.webapps-archived__grid--solo){grid-template-columns:repeat(2,minmax(0,1fr))}}.openms-lib-page--hub.openms-lib-page--archived.openms-lib-page--featured-pro .webapps-archived--catalog .webapps-archived-entry,.openms-lib-page--archived.openms-lib-page--featured-pro .webapps-archived--catalog .webapps-archived-entry,.openms-lib-page--archived .webapps-archived--catalog .webapps-archived-entry{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"logo meta" "logo name" "text text" "maintainers maintainers" "actions actions";align-items:start;column-gap:clamp(1rem,2.5vw,1.45rem);row-gap:.35rem;padding:var(--pro-card-pad,clamp(1.15rem,2.4vw,1.5rem));border:1px solid var(--pro-line);border-radius:var(--pro-radius);background:var(--openms-white);box-shadow:var(--pro-shadow)}.openms-lib-page--archived .webapps-archived--catalog .webapps-archived-entry__main,.openms-lib-page--archived .webapps-archived--catalog .webapps-archived-entry__body{display:contents}.openms-lib-page--archived .webapps-archived--catalog .webapps-archived-entry__media{grid-area:logo;display:flex;align-items:center;justify-content:center;width:5rem;min-width:5rem;max-width:5rem;height:5rem;min-height:5rem;padding:.55rem;border:1px solid rgba(var(--openms-navy-rgb),.14);border-radius:.85rem;background:color-mix(in srgb,var(--pro-band-soft,#f4f7fb) 55%,var(--openms-white));place-items:center;align-self:start;box-sizing:border-box}.openms-lib-page--archived .webapps-archived--catalog .webapps-archived-entry__meta{grid-area:meta;display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .65rem;align-self:center;padding-right:0}.openms-lib-page--archived .webapps-archived--catalog .webapps-archived-entry__name{grid-area:name;align-self:start}.openms-lib-page--archived .webapps-archived--catalog .webapps-archived-entry__text{grid-area:text;margin-top:.45rem}.openms-lib-page--archived .webapps-archived--catalog .webapps-archived-entry__maintainers{grid-area:maintainers}.openms-lib-page--archived .webapps-archived--catalog .webapps-archived-entry__actions{grid-area:actions;margin-top:.35rem}.openms-lib-page--archived .webapps-archived--catalog .webapps-archived-entry__logo{width:100%;max-width:none;max-height:none;height:100%;object-fit:contain;object-position:center}.openms-lib-page--featured-pro .webapps-archived--editorial .webapps-archived-entry{display:grid;grid-template-columns:minmax(9.5rem,12.5rem)minmax(0,1fr);gap:0;align-items:stretch;padding:0;overflow:visible;border:none;border-radius:0;background:0 0;box-shadow:none;transition:none;transform:none}.openms-lib-page--hub.openms-lib-page--archived.openms-lib-page--featured-pro .webapps-archived--editorial .webapps-archived-entry:hover,.openms-lib-page--hub.openms-lib-page--archived.openms-lib-page--featured-pro .webapps-archived--editorial .webapps-archived-entry:focus-within,.openms-lib-page--archived.openms-lib-page--featured-pro .webapps-archived--editorial .webapps-archived-entry:hover,.openms-lib-page--archived.openms-lib-page--featured-pro .webapps-archived--editorial .webapps-archived-entry:focus-within{border:none;background:0 0;box-shadow:none;transform:none}.openms-lib-page--archived .webapps-archived-entry__media{display:grid;place-items:center;align-self:stretch;width:auto;min-height:100%;padding:clamp(1.25rem,2.5vw,1.75rem)clamp(1rem,2vw,1.35rem)clamp(1.25rem,2.5vw,1.75rem)0;border:none;border-right:none;background:0 0}.openms-lib-page--featured-pro .webapps-archived-entry__logo{display:block;width:100%;height:auto;max-width:10.5rem;max-height:5.75rem;padding:0;border:none;border-radius:0;background:0 0;object-fit:contain;object-position:center}.openms-lib-page--archived .webapps-archived-entry__main{display:flex;flex-direction:column;gap:0;min-width:0;padding:0 0 0 clamp(1rem,2.5vw,1.5rem)}.openms-lib-page--archived .webapps-archived-entry__body{display:grid;gap:var(--pro-space-2);align-content:start;min-width:0;padding:0}.openms-lib-page--archived .webapps-archived-entry__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .65rem}.openms-lib-page--archived .webapps-archived-entry__type{margin:0;font-size:var(--openms-text-min);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(var(--openms-navy-rgb),.6)}.openms-lib-page--featured-pro .webapps-archived-entry__name{margin:0;font-family:var(--openms-font-heading);font-size:clamp(1.2rem,2vw,1.45rem);font-weight:700;line-height:1.25;letter-spacing:normal;color:var(--openms-navy)}.openms-lib-page--featured-pro .webapps-archived-entry__badge,.openms-lib-page--archived .webapps-archived--catalog .webapps-archived-entry__badge{position:static;top:auto;right:auto;z-index:auto;display:inline-flex;align-items:center;padding:.16rem .55rem;border:1px solid rgba(var(--openms-navy-rgb),.14);border-radius:999px;background:color-mix(in srgb,var(--pro-band-soft,#f4f7fb) 55%,var(--openms-white));font-size:.64rem;font-weight:700;letter-spacing:.03em;text-transform:none;color:var(--pro-text-muted);white-space:nowrap}.openms-lib-page--featured-pro .webapps-archived-entry__text{margin:0;max-width:52ch;font-family:var(--openms-font-body);font-size:var(--openms-body-size);line-height:1.6;color:rgba(var(--openms-dark-rgb),.72)}.openms-lib-page--featured-pro .webapps-archived-entry__maintainers{margin:0;font-size:var(--openms-text-min);line-height:1.5;color:var(--pro-text-soft)}.openms-lib-page--featured-pro .webapps-archived-entry__maintainers-label{display:block;margin-bottom:.2rem;font-family:var(--openms-font-heading);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--openms-navy)}.openms-lib-page--archived .webapps-archived-entry__actions{margin-top:var(--pro-space-4);padding:var(--pro-space-3)0 0;border-top:1px solid var(--pro-line)}.openms-lib-page--archived .webapps-archived-entry .webapps-project-links{display:flex;flex-wrap:wrap;gap:var(--openms-btn-gap,1.1rem);margin:0;padding:0;border:none;list-style:none}.openms-lib-page--featured-pro .webapps-archived-entry .webapps-project-links__btn,.openms-lib-page--archived .webapps-archived-entry .webapps-project-links__btn,.openms-lib-page--archived .webapps-archived-entry .webapps-project-links__btn--github,.openms-lib-page--archived .webapps-archived-entry .webapps-project-links__btn--nfcore,.openms-lib-page--archived .webapps-archived-entry .webapps-project-links__btn--demo,.openms-lib-page--archived .webapps-archived-entry .webapps-project-links__btn--install,.openms-lib-page--archived .webapps-archived-entry .webapps-project-links__btn--homepage,.openms-lib-page--archived .webapps-archived-entry .webapps-project-links__btn--pypi,.openms-lib-page--archived .webapps-archived-entry .webapps-project-links__btn--link,.openms-lib-page--featured-pro .webapps-archived-entry--nfcore .webapps-project-links__btn--nfcore,.openms-lib-page--archived .webapps-archived-entry--nfcore .webapps-project-links__btn--nfcore{display:inline-flex;align-items:center;gap:.4rem;min-height:2.25rem;padding:.4rem .9rem;border:2px solid var(--openms-blue)!important;border-radius:var(--openms-btn-pill-radius);background:var(--openms-blue)!important;font-size:.8rem;font-weight:600;color:var(--openms-white)!important;text-decoration:none;box-shadow:0 0 0 0 var(--openms-btn-glow);transition:var(--openms-btn-motion);transform:none}.openms-lib-page--featured-pro .webapps-archived-entry .webapps-project-links__btn:hover,.openms-lib-page--featured-pro .webapps-archived-entry .webapps-project-links__btn:focus-visible,.openms-lib-page--archived .webapps-archived-entry .webapps-project-links__btn:hover,.openms-lib-page--archived .webapps-archived-entry .webapps-project-links__btn:focus-visible,.openms-lib-page--featured-pro .webapps-archived-entry--nfcore .webapps-project-links__btn--nfcore:hover,.openms-lib-page--featured-pro .webapps-archived-entry--nfcore .webapps-project-links__btn--nfcore:focus-visible,.openms-lib-page--archived .webapps-archived-entry--nfcore .webapps-project-links__btn--nfcore:hover,.openms-lib-page--archived .webapps-archived-entry--nfcore .webapps-project-links__btn--nfcore:focus-visible{background:var(--openms-blue-secondary)!important;border-color:var(--openms-blue-secondary)!important;color:var(--openms-white)!important;transform:scale(var(--openms-btn-hover-scale));box-shadow:0 0 0 var(--openms-btn-glow-size)var(--openms-btn-glow);outline:none;text-decoration:none}.openms-lib-page--archived .webapps-archived-entry .webapps-project-links__btn .fab,.openms-lib-page--archived .webapps-archived-entry .webapps-project-links__btn .fas,.openms-lib-page--archived .webapps-archived-entry .webapps-project-links__btn .fa-github,.openms-lib-page--archived .webapps-archived-entry .webapps-project-links__btn .fa-project-diagram,.openms-lib-page--featured-pro .webapps-archived-entry .webapps-project-links__btn .fab,.openms-lib-page--featured-pro .webapps-archived-entry .webapps-project-links__btn .fas,.openms-lib-page--featured-pro .webapps-archived-entry .webapps-project-links__btn .fa-github,.openms-lib-page--featured-pro .webapps-archived-entry .webapps-project-links__btn .fa-project-diagram,.openms-lib-page--webapps.openms-lib-page--archived .webapps-archived-entry .webapps-project-links__btn i[class*=fa-],.openms-lib-page--openms-lib.openms-lib-page--archived .webapps-archived-entry .webapps-project-links__btn .fa-github,.openms-lib-page--openms-lib.openms-lib-page--archived .webapps-archived-entry .webapps-project-links__btn .fa-project-diagram,.openms-lib-page--openms-lib.openms-lib-page--archived .webapps-archived-entry .webapps-project-links__btn .fab,.openms-lib-page--openms-lib.openms-lib-page--archived .webapps-archived-entry .webapps-project-links__btn .fas,.openms-lib-page--openms-lib.openms-lib-page--featured-pro .webapps-archived-entry .webapps-project-links__btn .fa-github,.openms-lib-page--openms-lib.openms-lib-page--featured-pro .webapps-archived-entry .webapps-project-links__btn .fa-project-diagram,.openms-lib-page--openms-lib.openms-lib-page--featured-pro .webapps-archived-entry .webapps-project-links__btn .fab,.openms-lib-page--openms-lib.openms-lib-page--featured-pro .webapps-archived-entry .webapps-project-links__btn .fas{color:var(--openms-white)!important}.openms-lib-page--hub.openms-lib-page--archived.openms-lib-page--featured-pro .webapps-archived--catalog .webapps-archived__notice,.openms-lib-page--archived.openms-lib-page--featured-pro .webapps-archived--catalog .webapps-archived__notice{display:grid;gap:clamp(.75rem,1.6vw,1rem);width:100%;max-width:none;margin:0;padding:0;border:none;border-radius:0;background:0 0;box-shadow:none;align-content:start;justify-items:center;box-sizing:border-box}.openms-lib-page--hub.openms-lib-page--archived.openms-lib-page--featured-pro .webapps-archived--editorial .webapps-archived__notice,.openms-lib-page--archived.openms-lib-page--featured-pro .webapps-archived--editorial .webapps-archived__notice{display:grid;gap:var(--pro-space-3);margin:0;padding:var(--pro-space-4)0 0;border:none;border-top:1px solid var(--pro-line);border-radius:0;background:0 0;box-shadow:none}.openms-lib-page--featured-pro .webapps-archived__notice-title,.openms-lib-page--archived .webapps-archived__notice-title{margin:0;font-family:var(--openms-font-heading);font-size:calc(var(--openms-heading-lg-size) * .85);font-weight:var(--openms-heading-lg-weight);line-height:1.2;letter-spacing:normal;text-transform:uppercase;text-align:center;color:var(--openms-navy)}.openms-lib-page--archived.openms-lib-page--featured-pro .webapps-archived__notice-list,.openms-lib-page--featured-pro .webapps-archived--catalog .webapps-archived__notice-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;width:100%;margin:0;padding:0;list-style:none;border:1px solid var(--openms-num-strip-border,var(--pro-line));border-radius:var(--pro-radius,.85rem);background:color-mix(in srgb,var(--pro-band-soft,#f4f7fb) 70%,var(--openms-white));overflow:hidden}.openms-lib-page--archived.openms-lib-page--featured-pro .webapps-archived__notice-item,.openms-lib-page--featured-pro .webapps-archived--catalog .webapps-archived__notice-item{position:relative;display:grid;grid-template-columns:1fr;gap:.45rem;align-items:start;align-content:start;justify-items:center;text-align:center;min-height:100%;margin:0;padding:clamp(1.15rem,2.4vw,1.5rem)clamp(1.1rem,2.4vw,1.5rem);border-right:1px solid var(--openms-num-strip-border,var(--pro-line));background:0 0}.openms-lib-page--archived.openms-lib-page--featured-pro .webapps-archived__notice-item:last-child,.openms-lib-page--featured-pro .webapps-archived--catalog .webapps-archived__notice-item:last-child{border-right:none}.openms-lib-page--featured-pro .webapps-archived__notice-item::before,.openms-lib-page--archived .webapps-archived__notice-item::before{content:none}.openms-lib-page--featured-pro .webapps-archived__notice-index,.openms-lib-page--archived .webapps-archived__notice-index{display:block;margin:0;padding:0;border:none;background:0 0;font-family:var(--openms-font-heading);font-size:var(--openms-step-num-size,clamp(1.75rem,3vw,2.25rem));font-weight:800;line-height:.95;letter-spacing:-.04em;color:var(--openms-step-num-color,rgba(var(--openms-blue-rgb),.38))}.openms-lib-page--featured-pro .webapps-archived__notice-copy{margin:0;padding:0}.openms-lib-page--featured-pro .webapps-archived__notice-text,.openms-lib-page--archived .webapps-archived__notice-text{min-width:0;max-width:28ch;margin:0 auto;padding:0;font-family:var(--openms-font-body);font-size:var(--openms-body-size);font-weight:400;line-height:1.5;text-align:center;color:rgba(var(--openms-dark-rgb),.72)}.openms-lib-page--archived.openms-lib-page--featured-pro .webapps-archived__notice-index{text-align:center}@media(max-width:700px){.openms-lib-page--featured-pro .webapps-archived--editorial .webapps-archived-entry{grid-template-columns:1fr}.openms-lib-page--archived .webapps-archived--editorial .webapps-archived-entry__media{width:100%;min-height:0;padding:0 0 var(--pro-space-3);border-right:none;border-bottom:none;justify-items:start}.openms-lib-page--archived .webapps-archived--editorial .webapps-archived-entry__main{padding:0}.openms-lib-page--archived .webapps-archived--catalog .webapps-archived-entry{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"logo meta" "logo name" "text text" "maintainers maintainers" "actions actions"}.openms-lib-page--archived .webapps-archived--catalog .webapps-archived-entry__media{width:4.75rem;min-width:4.75rem;max-width:4.75rem;height:4.75rem;min-height:4.75rem;padding:.45rem}.openms-lib-page--featured-pro .webapps-archived--catalog .webapps-archived-entry__logo{max-width:100%;max-height:3.5rem}.openms-lib-page--archived.openms-lib-page--featured-pro .webapps-archived__notice-list,.openms-lib-page--featured-pro .webapps-archived--catalog .webapps-archived__notice-list{grid-template-columns:1fr}.openms-lib-page--archived.openms-lib-page--featured-pro .webapps-archived__notice-item,.openms-lib-page--featured-pro .webapps-archived--catalog .webapps-archived__notice-item{border-right:none;border-bottom:1px solid var(--openms-num-strip-border,var(--pro-line))}.openms-lib-page--archived.openms-lib-page--featured-pro .webapps-archived__notice-item:last-child,.openms-lib-page--featured-pro .webapps-archived--catalog .webapps-archived__notice-item:last-child{border-bottom:none}}.openms-lib-page--featured-pro .webapps-archived--catalog .webapps-archived__revival,.openms-lib-page--featured-pro .webapps-archived--editorial .webapps-archived__revival{display:flex;flex-direction:column;align-items:center;gap:var(--pro-stack-actions);margin:0;padding:clamp(2.5rem,5vw,3.5rem)var(--pro-card-pad-lg);border:none;border-radius:var(--pro-radius);background:radial-gradient(circle at 100% 0%,rgba(var(--openms-blue-rgb),.28),transparent 42%),var(--openms-navy);box-shadow:none;color:var(--openms-white);text-align:center}.openms-lib-page--featured-pro .webapps-archived__revival-copy{flex:initial;max-width:46ch}.openms-lib-page--featured-pro .webapps-archived__revival-kicker{margin:0 0 var(--pro-stack-eyebrow);font-size:var(--openms-text-min);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--pro-kicker-on-dark)}.openms-lib-page--featured-pro .webapps-archived__revival-text{margin:0;color:var(--openms-white)}.openms-lib-page--featured-pro .webapps-archived__revival-text strong{display:block;margin:0;font-family:var(--openms-font-heading);font-size:calc(var(--openms-heading-lg-size) * 1.15);font-weight:var(--openms-heading-lg-weight);line-height:1.3;letter-spacing:normal;text-transform:uppercase;color:var(--openms-white)}.openms-lib-page--featured-pro .webapps-archived__revival-note{display:block;margin-top:var(--pro-stack-lead);font-family:var(--openms-font-body);font-size:var(--openms-body-size-lg);font-weight:400;line-height:1.65;color:var(--pro-text-on-dark)}.openms-lib-page--featured-pro .webapps-archived__revival-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--pro-space-4)}.openms-lib-page--featured-pro .webapps-archived__revival-actions .openms-lib-btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:2.85rem;padding:.75rem 1.35rem;border-radius:var(--openms-btn-pill-radius);font-size:var(--openms-body-size);font-weight:600;line-height:1.3;text-decoration:none;white-space:nowrap;box-shadow:0 0 0 0 var(--openms-btn-glow);transition:var(--openms-btn-motion)}.openms-lib-page--hub.openms-lib-page--archived.openms-lib-page--featured-pro .webapps-archived__revival-actions .openms-lib-btn--primary,.openms-lib-page--featured-pro .webapps-archived__revival-actions .openms-lib-btn--primary{border:2px solid var(--openms-white);background:var(--openms-white);color:var(--openms-navy)!important}.openms-lib-page--hub.openms-lib-page--archived.openms-lib-page--featured-pro .webapps-archived__revival-actions .openms-lib-btn--ghost,.openms-lib-page--featured-pro .webapps-archived__revival-actions .openms-lib-btn--ghost{border:2px solid rgba(var(--openms-white-rgb),.34);background:0 0;background-color:initial;color:var(--openms-white)!important}.openms-lib-page--hub.openms-lib-page--archived.openms-lib-page--featured-pro .webapps-archived__revival-actions .openms-lib-btn--primary:hover,.openms-lib-page--hub.openms-lib-page--archived.openms-lib-page--featured-pro .webapps-archived__revival-actions .openms-lib-btn--primary:focus-visible,.openms-lib-page--hub.openms-lib-page--archived.openms-lib-page--featured-pro .webapps-archived__revival-actions .openms-lib-btn--primary:active,.openms-lib-page--featured-pro .webapps-archived__revival-actions .openms-lib-btn--primary:hover,.openms-lib-page--featured-pro .webapps-archived__revival-actions .openms-lib-btn--primary:focus-visible,.openms-lib-page--featured-pro .webapps-archived__revival-actions .openms-lib-btn--primary:active{border-color:var(--openms-white);background:var(--openms-white);color:var(--openms-navy)!important;transform:scale(var(--openms-btn-hover-scale));box-shadow:0 0 0 var(--openms-btn-glow-size)var(--openms-btn-glow);outline:none;text-decoration:none}.openms-lib-page--hub.openms-lib-page--archived.openms-lib-page--featured-pro .webapps-archived__revival-actions .openms-lib-btn--ghost:hover,.openms-lib-page--hub.openms-lib-page--archived.openms-lib-page--featured-pro .webapps-archived__revival-actions .openms-lib-btn--ghost:focus-visible,.openms-lib-page--hub.openms-lib-page--archived.openms-lib-page--featured-pro .webapps-archived__revival-actions .openms-lib-btn--ghost:active,.openms-lib-page--featured-pro .webapps-archived__revival-actions .openms-lib-btn--ghost:hover,.openms-lib-page--featured-pro .webapps-archived__revival-actions .openms-lib-btn--ghost:focus-visible,.openms-lib-page--featured-pro .webapps-archived__revival-actions .openms-lib-btn--ghost:active{border-color:rgba(var(--openms-white-rgb),.34);background:0 0;background-color:initial;color:var(--openms-white)!important;transform:scale(var(--openms-btn-hover-scale));box-shadow:0 0 0 var(--openms-btn-glow-size)var(--openms-btn-glow);outline:none;text-decoration:none}.openms-lib-page--hub.openms-lib-page--archived.openms-lib-page--featured-pro .webapps-archived__revival-actions .openms-lib-btn--primary:focus-visible,.openms-lib-page--featured-pro .webapps-archived__revival-actions .openms-lib-btn--primary:focus-visible{box-shadow:0 0 0 3px var(--openms-navy),0 0 0 5px var(--openms-blue),0 0 0 calc(5px + var(--openms-btn-glow-size))var(--openms-btn-glow)}.openms-lib-page--hub.openms-lib-page--archived.openms-lib-page--featured-pro .webapps-archived__revival-actions .openms-lib-btn--ghost:focus-visible,.openms-lib-page--featured-pro .webapps-archived__revival-actions .openms-lib-btn--ghost:focus-visible{box-shadow:0 0 0 3px var(--openms-navy),0 0 0 5px var(--openms-yellow),0 0 0 calc(5px + var(--openms-btn-glow-size))var(--openms-btn-glow)}@media(max-width:900px){.openms-lib-page--archived .webapps-archived--editorial .webapps-archived__layout{gap:var(--pro-space-5)}.openms-lib-page--featured-pro .webapps-archived__revival-actions .openms-lib-btn{flex:auto;justify-content:center}}@media(max-width:640px){.openms-lib-page--featured-pro .webapps-archived__revival-actions,.openms-lib-page--archived .webapps-archived__revival-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;max-width:22rem;margin-inline:auto;gap:.55rem}.openms-lib-page--featured-pro .webapps-archived__revival-actions .openms-lib-btn,.openms-lib-page--archived .webapps-archived__revival-actions .openms-lib-btn{width:100%;min-width:0;justify-content:center;white-space:nowrap}}@media(prefers-reduced-motion:reduce){.openms-lib-page--featured-pro .webapps-project-detail-card,.openms-lib-page--featured-pro .webapps-project-links__btn,.openms-lib-page--featured-pro .webapps-archived-entry,.openms-lib-page--featured-pro .webapps-archived__revival-actions .openms-lib-btn{transition:none}.openms-lib-page--featured-pro .webapps-project-detail-card:hover,.openms-lib-page--featured-pro .webapps-project-detail-card:focus-within,.openms-lib-page--featured-pro .webapps-archived-entry:hover,.openms-lib-page--featured-pro .webapps-archived-entry:focus-within{transform:none}}.openms-lib-page--calendar .openms-lib-hero__lead{max-width:none;white-space:nowrap}@media(max-width:900px){.openms-lib-page--calendar .openms-lib-hero__lead{white-space:normal;max-width:min(42rem,100%)}}.openms-lib-page--calendar .openms-lib-page__body>.openms-lib-page__anchor{padding-block:var(--pro-section-y)0}.openms-lib-page--calendar .openms-lib-page__body>.openms-lib-page__anchor>.openms-lib-block,.openms-lib-page--calendar .community-calendar-block{padding-block:0}.openms-lib-page--calendar .community-events-page{gap:var(--pro-section-y)}.openms-lib-page--calendar .community-events-page__section,.openms-lib-page--calendar .events-past-panel{gap:var(--pro-head-to-content)}.openms-lib-page--calendar .community-events-page__section--upcoming{padding-bottom:0;margin-bottom:0;border-bottom:none}.openms-lib-page--calendar .community-events-page__section--past{padding-top:0}.openms-lib-page--news .openms-lib-hero__lead{max-width:none;white-space:nowrap}@media(max-width:900px){.openms-lib-page--news .openms-lib-hero__lead{white-space:normal;max-width:min(42rem,100%)}}.openms-lib-page--news .openms-lib-page__body>.openms-lib-page__anchor{padding-block:var(--pro-section-y)0}.openms-lib-page--news .openms-lib-page__body>.openms-lib-page__anchor>.openms-lib-block,.openms-lib-page--news .news-page-block{padding-block:0}.openms-lib-page--news .news-body,.openms-lib-page--news .news-bibliography{gap:var(--pro-head-to-content)}.openms-lib-page--news .news-bibliography{padding-top:0}.openms-lib-page--news .news-pager{margin-top:0;padding-top:0}.openms-lib-page--contribute .openms-lib-hero__actions .openms-lib-btn--primary .fa-discord,.openms-lib-page--contribute .openms-lib-hero__actions .openms-lib-btn--primary .fa-github,.openms-lib-page--contribute .openms-lib-hero__actions .openms-lib-btn--primary .fab,.openms-lib-page--contribute .openms-lib-hero__actions .openms-lib-btn--primary .svg-inline--fa{color:var(--openms-white)!important}.openms-lib-page--contribute .openms-lib-hero__actions .openms-lib-btn--primary .svg-inline--fa path{fill:currentColor!important}.openms-lib-page--contribute .openms-lib-hero__actions .openms-lib-btn--ghost .fa-discord,.openms-lib-page--contribute .openms-lib-hero__actions .openms-lib-btn--ghost .fa-github,.openms-lib-page--contribute .openms-lib-hero__actions .openms-lib-btn--ghost .fab,.openms-lib-page--contribute .openms-lib-hero__actions .openms-lib-btn--ghost .svg-inline--fa{color:var(--openms-blue)!important}.openms-lib-page--contribute .openms-lib-hero__actions .openms-lib-btn--ghost .svg-inline--fa path{fill:currentColor!important}.openms-lib-page--contribute .openms-lib-hero__actions .openms-lib-btn--primary .fa-discord,.openms-lib-page--contribute .openms-lib-hero__actions .openms-lib-btn--primary .fa-github,.openms-lib-page--contribute .openms-lib-hero__actions .openms-lib-btn--primary .fab,.openms-lib-page--contribute .openms-lib-hero__actions .openms-lib-btn--primary .svg-inline--fa{color:var(--openms-white)!important}.openms-lib-page--contribute .openms-lib-hero__actions .openms-lib-btn--primary .svg-inline--fa path{fill:currentColor!important}.openms-lib-page--contribute .openms-lib-hero__lead{max-width:none;white-space:nowrap}@media(max-width:900px){.openms-lib-page--contribute .openms-lib-hero__lead{white-space:normal;max-width:min(42rem,100%)}}.openms-lib-page--contribute #communication-channels,.openms-lib-page--contribute #ways-to-contribute{background:var(--pro-band-soft)}.openms-lib-page--contribute .openms-lib-hero--pro{padding-bottom:calc(var(--openms-btn-glow-size,6px) + .5rem);overflow:visible}.openms-lib-page--contribute .openms-lib-page__body>.openms-lib-page__anchor{padding-block:var(--pro-section-y)0}.openms-lib-page--contribute .openms-lib-about,.openms-lib-page--contribute .openms-lib-resources{padding-block:0;padding-top:0}.openms-lib-page--contribute .openms-lib-resources__inner{padding-bottom:0;gap:var(--pro-head-to-content)}.openms-lib-page--contribute #communication-channels .openms-lib-about__inner{display:grid;grid-template-columns:1fr;gap:var(--pro-head-to-content);align-items:start}.openms-lib-page--contribute #communication-channels .openms-lib-about__head{display:grid;justify-items:center;text-align:center;grid-template-columns:1fr;align-items:start;margin:0 auto;max-width:min(40rem,100%)}.openms-lib-page--contribute #communication-channels .openms-lib-about__head-copy{display:grid;justify-items:center;text-align:center}.openms-lib-page--contribute #communication-channels .openms-lib-about__eyebrow{margin-bottom:.15rem;justify-content:center}.openms-lib-page--contribute #communication-channels .openms-lib-about__title,.openms-lib-page--contribute #communication-channels .openms-lib-about__lead{text-align:center;margin-inline:auto}.openms-lib-page--contribute #communication-channels .openms-lib-about__lead{margin-top:.2rem;max-width:34ch}.openms-lib-page--contribute #communication-channels .openms-lib-about__mosaic{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--pro-card-gap);align-items:stretch}.openms-lib-page--contribute #communication-channels .openms-lib-about__tile{min-height:100%;height:auto;border:none;border-radius:0;background:0 0;box-shadow:none;padding:.15rem .1rem}.openms-lib-page--contribute .openms-lib-about__num{display:block;width:auto;height:auto;margin:0 0 .2rem;padding:0;border:none;border-radius:0;background:0 0;font-family:var(--openms-font-heading);font-size:clamp(2.5rem,4.8vw,3.4rem);font-weight:800;line-height:.88;letter-spacing:-.045em;color:rgba(var(--openms-blue-rgb),.28);transition:color .22s ease}.openms-lib-page--contribute .openms-lib-about__tile:hover .openms-lib-about__num,.openms-lib-page--contribute .openms-lib-about__tile:focus-within .openms-lib-about__num{color:var(--openms-blue)}.openms-lib-page--contribute .openms-lib-resources__item-icon{display:grid;place-items:center;width:auto;height:auto;margin:0;padding:0;border:none;border-radius:0;background:0 0;box-shadow:none;color:rgba(var(--openms-blue-rgb),.28);font-size:clamp(3rem,5vw,3.75rem);line-height:1}.openms-lib-page--contribute .openms-lib-resources__item-icon .fab,.openms-lib-page--contribute .openms-lib-resources__item-icon .fas,.openms-lib-page--contribute .openms-lib-resources__item-icon .svg-inline--fa{color:rgba(var(--openms-blue-rgb),.28)!important;font-size:1em;width:1em;height:1em}.openms-lib-page--contribute .openms-lib-resources__item-icon .svg-inline--fa path{fill:currentColor!important}@media(hover:hover) and (pointer:fine){.openms-lib-page--contribute .openms-lib-resources__item:not(.openms-lib-resources__item--static):hover .openms-lib-resources__item-icon,.openms-lib-page--contribute .openms-lib-resources__item:not(.openms-lib-resources__item--static):focus-visible .openms-lib-resources__item-icon,.openms-lib-page--contribute .openms-lib-resources__item:not(.openms-lib-resources__item--static):hover .openms-lib-resources__item-icon .fab,.openms-lib-page--contribute .openms-lib-resources__item:not(.openms-lib-resources__item--static):focus-visible .openms-lib-resources__item-icon .fab,.openms-lib-page--contribute .openms-lib-resources__item:not(.openms-lib-resources__item--static):hover .openms-lib-resources__item-icon .fas,.openms-lib-page--contribute .openms-lib-resources__item:not(.openms-lib-resources__item--static):focus-visible .openms-lib-resources__item-icon .fas,.openms-lib-page--contribute .openms-lib-resources__item:not(.openms-lib-resources__item--static):hover .openms-lib-resources__item-icon .svg-inline--fa,.openms-lib-page--contribute .openms-lib-resources__item:not(.openms-lib-resources__item--static):focus-visible .openms-lib-resources__item-icon .svg-inline--fa{color:var(--openms-white)!important}.openms-lib-page--contribute .openms-lib-resources__item:not(.openms-lib-resources__item--static):hover .openms-lib-resources__item-icon .svg-inline--fa path,.openms-lib-page--contribute .openms-lib-resources__item:not(.openms-lib-resources__item--static):focus-visible .openms-lib-resources__item-icon .svg-inline--fa path{fill:currentColor!important}}.openms-lib-page--contribute #communication-channels .openms-lib-about__tile-link{margin-top:auto}@media(max-width:900px){.openms-lib-page--contribute #communication-channels .openms-lib-about__mosaic{grid-template-columns:1fr}}.openms-lib-page--contribute #code-of-conduct.openms-lib-page__anchor,.openms-lib-page--contribute .openms-lib-page__outro .openms-lib-block--developers{background:var(--openms-white);padding-inline:0}.openms-lib-page--contribute .openms-lib-page__outro .openms-lib-block--developers{gap:0;padding-block:var(--pro-section-y)clamp(1.75rem,4vw,3rem)}.openms-lib-page--contribute #code-of-conduct.openms-lib-page__anchor,.openms-lib-page--publications #cite-openms.openms-lib-page__anchor,.openms-lib-page--contact #get-help.openms-lib-page__anchor{background:var(--openms-white);padding-inline:max(var(--olib-pad-x,clamp(1.25rem,4vw,2rem)),calc((100% - var(--pro-max))/2 + var(--olib-pad-x,clamp(1.25rem,4vw,2rem))));padding-block:var(--pro-section-y)}.openms-lib-page--contribute .contribute-coc-band,.openms-lib-page--publications .contribute-coc-band,.openms-lib-page--contributors .contribute-coc-band,.openms-lib-page--contact .contribute-coc-band{width:100%;max-width:none;margin-inline:0;padding-inline:0;box-sizing:border-box}.openms-lib-page--contribute .contribute-coc-band__panel,.openms-lib-page--publications .contribute-coc-band__panel,.openms-lib-page--contributors .contribute-coc-band__panel,.openms-lib-page--contact .contribute-coc-band__panel{display:flex;flex-direction:column;align-items:center;gap:var(--pro-stack-actions,1.25rem);margin:0;padding:clamp(2.5rem,5vw,3.5rem)var(--pro-card-pad-lg,clamp(1.25rem,3vw,2rem));border:none;border-radius:var(--pro-radius,.85rem);background:radial-gradient(circle at 100% 0%,rgba(var(--openms-blue-rgb),.28),transparent 42%),var(--openms-navy);box-shadow:none;color:var(--openms-white);text-align:center}.openms-lib-page--contribute .contribute-coc-band__copy,.openms-lib-page--publications .contribute-coc-band__copy,.openms-lib-page--contributors .contribute-coc-band__copy,.openms-lib-page--contact .contribute-coc-band__copy{flex:initial;max-width:46ch}.openms-lib-page--contribute .contribute-coc-band__kicker,.openms-lib-page--publications .contribute-coc-band__kicker,.openms-lib-page--contributors .contribute-coc-band__kicker,.openms-lib-page--contact .contribute-coc-band__kicker{margin:0 0 var(--pro-stack-eyebrow,.45rem);font-size:var(--openms-text-min);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--pro-kicker-on-dark,rgba(var(--openms-white-rgb),.72))}.openms-lib-page--contribute .contribute-coc-band__text,.openms-lib-page--publications .contribute-coc-band__text,.openms-lib-page--contributors .contribute-coc-band__text,.openms-lib-page--contact .contribute-coc-band__text{margin:0;color:var(--openms-white)}.openms-lib-page--contribute .contribute-coc-band__text strong,.openms-lib-page--publications .contribute-coc-band__text strong,.openms-lib-page--contributors .contribute-coc-band__text strong,.openms-lib-page--contact .contribute-coc-band__text strong{display:block;margin:0;font-family:var(--openms-font-heading);font-size:calc(var(--openms-heading-lg-size,1.65rem) * 1.15);font-weight:var(--openms-heading-lg-weight,800);line-height:1.3;letter-spacing:normal;text-transform:uppercase;color:var(--openms-white)}.openms-lib-page--contribute .contribute-coc-band__note,.openms-lib-page--publications .contribute-coc-band__note,.openms-lib-page--contributors .contribute-coc-band__note,.openms-lib-page--contact .contribute-coc-band__note{display:block;margin-top:var(--pro-stack-lead,.75rem);font-size:var(--openms-body-size-lg);line-height:1.6;color:rgba(var(--openms-white-rgb),.88)}.openms-lib-page--contribute .contribute-coc-band__actions,.openms-lib-page--publications .contribute-coc-band__actions,.openms-lib-page--contributors .contribute-coc-band__actions,.openms-lib-page--contact .contribute-coc-band__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem}.openms-lib-page--contribute .contribute-coc-band__actions .openms-lib-btn,.openms-lib-page--publications .contribute-coc-band__actions .openms-lib-btn,.openms-lib-page--contributors .contribute-coc-band__actions .openms-lib-btn,.openms-lib-page--contact .contribute-coc-band__actions .openms-lib-btn{min-width:clamp(10rem,22vw,14rem)}.openms-lib-page--publications .contribute-coc-band__actions .openms-lib-btn,.openms-lib-page--contributors .contribute-coc-band__actions .openms-lib-btn,.openms-lib-page--contact .contribute-coc-band__actions .openms-lib-btn{min-width:clamp(8.5rem,16vw,11.5rem);padding-inline:1.15rem}.openms-lib-page--contribute .contribute-coc-band__actions .openms-lib-btn--primary,.openms-lib-page--publications .contribute-coc-band__actions .openms-lib-btn--primary,.openms-lib-page--contributors .contribute-coc-band__actions .openms-lib-btn--primary,.openms-lib-page--contact .contribute-coc-band__actions .openms-lib-btn--primary{border:2px solid var(--openms-white);background:var(--openms-white);color:var(--openms-navy)!important}.openms-lib-page--contribute .contribute-coc-band__actions .openms-lib-btn--primary:hover,.openms-lib-page--contribute .contribute-coc-band__actions .openms-lib-btn--primary:focus-visible,.openms-lib-page--publications .contribute-coc-band__actions .openms-lib-btn--primary:hover,.openms-lib-page--publications .contribute-coc-band__actions .openms-lib-btn--primary:focus-visible,.openms-lib-page--contributors .contribute-coc-band__actions .openms-lib-btn--primary:hover,.openms-lib-page--contributors .contribute-coc-band__actions .openms-lib-btn--primary:focus-visible,.openms-lib-page--contact .contribute-coc-band__actions .openms-lib-btn--primary:hover,.openms-lib-page--contact .contribute-coc-band__actions .openms-lib-btn--primary:focus-visible{transform:scale(var(--openms-btn-hover-scale));box-shadow:0 0 0 var(--openms-btn-glow-size)rgba(255,255,255,.22);outline:none}@media(max-width:640px){.openms-lib-page--contribute .contribute-coc-band__actions .openms-lib-btn,.openms-lib-page--publications .contribute-coc-band__actions .openms-lib-btn,.openms-lib-page--contributors .contribute-coc-band__actions .openms-lib-btn,.openms-lib-page--contact .contribute-coc-band__actions .openms-lib-btn{width:100%;min-width:0}}.openms-lib-page--contribute .openms-lib-about__tile-link{display:inline-flex;align-items:center;gap:.3rem;margin-top:auto;padding-top:1rem;font-size:var(--openms-text-min);font-weight:700;line-height:1.4;color:var(--openms-navy)!important;text-decoration:none!important;transition:gap .2s ease}.openms-lib-page--contribute .openms-lib-about__tile:hover .openms-lib-about__tile-link,.openms-lib-page--contribute .openms-lib-about__tile:focus-within .openms-lib-about__tile-link{gap:.5rem}.openms-lib-page--contribute #ways-to-contribute .openms-lib-resources__inner{display:grid;grid-template-columns:minmax(18rem,1.05fr)minmax(0,1.35fr);gap:var(--pro-card-gap)clamp(1.5rem,3vw,2.5rem);align-items:start}.openms-lib-page--contribute #ways-to-contribute .openms-lib-resources__head{display:grid;justify-items:start;text-align:left;max-width:min(100%,34rem);margin:0;grid-column:1;grid-row:1;align-self:center}.openms-lib-page--contribute #ways-to-contribute .openms-lib-resources__eyebrow{justify-content:flex-start}.openms-lib-page--contribute #ways-to-contribute .openms-lib-resources__title,.openms-lib-page--contribute #ways-to-contribute .openms-lib-resources__lead{text-align:left;margin-inline:0}.openms-lib-page--contribute #ways-to-contribute .openms-lib-resources__lead{max-width:36rem}.openms-lib-page--contribute #ways-to-contribute .openms-lib-resources__feature{grid-column:2;grid-row:1;min-height:100%}.openms-lib-page--contribute #ways-to-contribute .openms-lib-resources__grid{grid-column:1/-1;grid-row:2}@media(max-width:900px){.openms-lib-page--contribute #ways-to-contribute .openms-lib-resources__inner{grid-template-columns:1fr;gap:var(--pro-head-to-content)}.openms-lib-page--contribute #ways-to-contribute .openms-lib-resources__head,.openms-lib-page--contribute #ways-to-contribute .openms-lib-resources__feature,.openms-lib-page--contribute #ways-to-contribute .openms-lib-resources__grid{grid-column:1;grid-row:auto;max-width:none}.openms-lib-page--contribute #ways-to-contribute .openms-lib-resources__head{max-width:min(100%,40rem);align-self:start}}.openms-lib-page--contribute .openms-lib-resources__feature{display:flex;flex-direction:column;align-items:flex-start;gap:var(--pro-space-2);min-height:0;padding:var(--pro-card-pad-lg)}.openms-lib-page--contribute .openms-lib-resources__feature-icon{display:grid;place-items:center;width:auto;height:auto;margin:0;padding:0;border:none;border-radius:0;background:0 0;box-shadow:none;color:rgba(var(--openms-white-rgb),.92);font-size:clamp(2rem,3.5vw,2.5rem);line-height:1}.openms-lib-page--contribute .openms-lib-resources__feature-icon .fas,.openms-lib-page--contribute .openms-lib-resources__feature-icon .svg-inline--fa{color:inherit!important;font-size:1em;width:1em;height:1em}.openms-lib-page--contribute .openms-lib-resources__feature-icon .svg-inline--fa path{fill:currentColor!important}.openms-lib-page--contribute .openms-lib-resources__feature-text{max-width:42rem}.openms-lib-page--contribute .openms-lib-resources__feature-text+.openms-lib-resources__feature-text{margin-top:.75rem}.openms-lib-page--contribute .contribute-project-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:.55rem 0 0;padding:0;list-style:none;width:100%}.openms-lib-page--contribute .contribute-project-links li{min-width:0}.openms-lib-page--contribute .contribute-project-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.45rem;width:100%;box-sizing:border-box;min-height:0;padding:.7rem .55rem .65rem;border:1px solid rgba(var(--openms-white-rgb),.22);border-radius:.85rem;background:rgba(var(--openms-white-rgb),.08);font-size:var(--openms-text-min);font-weight:700;color:var(--openms-white)!important;text-decoration:none!important;text-align:center;white-space:normal;line-height:1.25;transition:border-color .2s ease,background-color .2s ease,transform .2s ease}.openms-lib-page--contribute .contribute-project-link__icon{display:grid;place-items:center;width:100%;max-width:7.5rem;height:2.75rem}.openms-lib-page--contribute .contribute-project-link__icon img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}.openms-lib-page--contribute .contribute-project-link__name{display:block;max-width:100%}.openms-lib-page--contribute .contribute-project-link:hover,.openms-lib-page--contribute .contribute-project-link:focus-visible{border-color:rgba(var(--openms-white-rgb),.5);background:rgba(var(--openms-white-rgb),.14);transform:translateY(-2px);box-shadow:none;outline:none}.openms-lib-page--contribute .openms-lib-resources__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--pro-card-gap)}.openms-lib-page--contribute .openms-lib-resources__item{border:1px solid var(--pro-line);border-radius:var(--pro-radius);background:var(--openms-white);box-shadow:var(--pro-shadow);padding:var(--pro-card-pad);transition:background .22s ease,border-color .22s ease,box-shadow .22s ease,color .22s ease,transform .22s ease}.openms-lib-page--contribute .openms-lib-resources__item--static{cursor:default}@media(hover:hover) and (pointer:fine){.openms-lib-page--contribute .openms-lib-resources__grid>.openms-lib-resources__item:not(.openms-lib-resources__item--static):hover,.openms-lib-page--contribute .openms-lib-resources__grid>.openms-lib-resources__item:not(.openms-lib-resources__item--static):focus-visible{background:linear-gradient(160deg,rgba(255,255,255,.18) 0%,transparent 42%),var(--openms-navy)!important;border-color:transparent!important;box-shadow:0 .85rem 1.85rem rgba(var(--openms-navy-rgb),.32)!important;color:var(--openms-white)!important;outline:none;transform:translateY(-3px)}.openms-lib-page--contribute .openms-lib-resources__grid>.openms-lib-resources__item:not(.openms-lib-resources__item--static):hover .openms-lib-resources__item-title,.openms-lib-page--contribute .openms-lib-resources__grid>.openms-lib-resources__item:not(.openms-lib-resources__item--static):focus-visible .openms-lib-resources__item-title,.openms-lib-page--contribute .openms-lib-resources__grid>.openms-lib-resources__item:not(.openms-lib-resources__item--static):hover .openms-lib-resources__item-text,.openms-lib-page--contribute .openms-lib-resources__grid>.openms-lib-resources__item:not(.openms-lib-resources__item--static):focus-visible .openms-lib-resources__item-text,.openms-lib-page--contribute .openms-lib-resources__grid>.openms-lib-resources__item:not(.openms-lib-resources__item--static):hover .openms-lib-resources__item-tag,.openms-lib-page--contribute .openms-lib-resources__grid>.openms-lib-resources__item:not(.openms-lib-resources__item--static):focus-visible .openms-lib-resources__item-tag,.openms-lib-page--contribute .openms-lib-resources__grid>.openms-lib-resources__item:not(.openms-lib-resources__item--static):hover .openms-lib-resources__item-link,.openms-lib-page--contribute .openms-lib-resources__grid>.openms-lib-resources__item:not(.openms-lib-resources__item--static):focus-visible .openms-lib-resources__item-link{color:var(--openms-white)!important}}.openms-lib-page--contribute .openms-lib-resources__item--static:hover,.openms-lib-page--contribute .openms-lib-resources__item--static:focus-within,.openms-lib-page--contribute .openms-lib-resources__item--static:focus-visible{transform:none;border-color:var(--pro-line);box-shadow:var(--pro-shadow);background:var(--openms-white);color:inherit}.openms-lib-page--contribute .openms-lib-resources__item-text a{color:var(--openms-content-link,var(--openms-navy));font-weight:var(--openms-content-link-weight,600);text-decoration:none;text-underline-offset:var(--openms-content-link-underline-offset,.12em)}.openms-lib-page--contribute .openms-lib-resources__item-text a:hover,.openms-lib-page--contribute .openms-lib-resources__item-text a:focus-visible{color:var(--openms-content-link-hover,var(--openms-blue));text-decoration:underline}.openms-lib-page--contribute .openms-lib-resources__item-text a:hover,.openms-lib-page--contribute .openms-lib-resources__item-text a:focus-visible{color:var(--openms-navy);outline:none}@media(max-width:960px){.openms-lib-page--contribute .openms-lib-resources__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.openms-lib-page--contribute .openms-lib-resources__grid{grid-template-columns:1fr}.openms-lib-page--contribute .contribute-project-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.openms-lib-page--contribute .contribute-project-link{padding:.6rem .45rem .55rem}.openms-lib-page--contribute .contribute-project-link__icon{height:2.35rem;max-width:6.5rem}}.openms-lib-page--contribute .contribute-os-buttons{display:flex;flex-wrap:wrap;gap:var(--openms-btn-gap,1.1rem);margin-top:auto;padding-top:1rem}.openms-lib-page--contribute .contribute-os-buttons .openms-lib-btn{flex:auto;min-width:0}.openms-lib-page--contribute .openms-lib-developers__card--build .openms-lib-developers__card-text{white-space:normal;max-width:42ch}.openms-lib-page--fellowship .openms-lib-hero__title{max-width:22ch}.openms-lib-page--fellowship .openms-lib-page__intro{display:grid;gap:clamp(1.75rem,4vw,2.75rem);padding-bottom:clamp(1.5rem,3vw,2.25rem);box-sizing:border-box}.openms-lib-page--fellowship .fellowship-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;width:auto;max-width:none;margin:0 max(var(--olib-pad-x),calc((100% - var(--pro-max))/2 + var(--olib-pad-x)));padding:0;list-style:none;border-top:1px solid var(--openms-num-strip-border,rgba(var(--openms-navy-rgb),.1));border-bottom:1px solid var(--openms-num-strip-border,rgba(var(--openms-navy-rgb),.1));box-sizing:border-box}.openms-lib-page--fellowship .fellowship-facts__item{display:grid;justify-items:center;align-content:center;gap:.55rem;margin:0;padding:clamp(1.15rem,2.5vw,1.55rem)clamp(.75rem,2vw,1.25rem);border-right:1px solid var(--openms-num-strip-border,rgba(var(--openms-navy-rgb),.1));text-align:center}.openms-lib-page--fellowship .fellowship-facts__item:last-child{border-right:none}.openms-lib-page--fellowship .fellowship-facts__icon{display:grid;place-items:center;color:rgba(var(--openms-blue-rgb),.32);font-size:clamp(1.65rem,2.8vw,2.1rem);line-height:1}.openms-lib-page--fellowship .fellowship-facts__icon .fab,.openms-lib-page--fellowship .fellowship-facts__icon .fas,.openms-lib-page--fellowship .fellowship-facts__icon .svg-inline--fa{color:inherit!important;font-size:1em;width:1em;height:1em}.openms-lib-page--fellowship .fellowship-facts__icon .svg-inline--fa path{fill:currentColor!important}.openms-lib-page--fellowship .fellowship-facts__text{margin:0;max-width:16ch;font-family:var(--openms-font-heading);font-size:clamp(.92rem,1.35vw,1.05rem);font-weight:700;line-height:1.3;letter-spacing:-.01em;color:var(--openms-navy)}@media(max-width:720px){.openms-lib-page--fellowship .fellowship-facts{grid-template-columns:1fr}.openms-lib-page--fellowship .fellowship-facts__item{border-right:none;border-bottom:1px solid var(--openms-num-strip-border,rgba(var(--openms-navy-rgb),.1));padding-block:1.1rem}.openms-lib-page--fellowship .fellowship-facts__item:last-child{border-bottom:none}.openms-lib-page--fellowship .fellowship-facts__text{max-width:none}}.openms-lib-page--fellowship #fellowship-application{background:var(--pro-band-soft)}.openms-lib-page--fellowship .fellowship-application{padding-top:calc(var(--pro-section-y) * .5);padding-bottom:clamp(1.25rem,3vw,2rem)}.openms-lib-page--fellowship .fellowship-application__inner{display:flex;flex-direction:column;gap:var(--pro-head-to-content);max-width:var(--pro-max);margin-inline:auto}.openms-lib-page--fellowship .fellowship-application__head{display:grid;justify-items:center;max-width:40rem;margin:0 auto;text-align:center}.openms-lib-page--fellowship .fellowship-application__head .openms-lib-resources__lead{margin-inline:auto;text-align:center;max-width:none}.openms-lib-page--fellowship .fellowship-application__form-card{max-width:56rem;width:100%;margin-inline:auto;border:none;border-radius:var(--pro-radius);background:var(--openms-white);box-shadow:none;overflow:visible}.openms-lib-page--developer-retreat #upcoming-retreat{background:var(--pro-band-soft)}.openms-lib-page--developer-retreat #about-the-retreat{background:var(--openms-white)}.openms-lib-page--developer-retreat #about-the-retreat .openms-lib-about__head{display:grid;grid-template-columns:1fr;gap:0;align-items:start;max-width:min(100%,42rem);margin:0 0 var(--pro-head-to-content);text-align:left}.openms-lib-page--developer-retreat #about-the-retreat .openms-lib-about__head-copy{display:grid;gap:0;justify-items:start;width:100%;max-width:100%}.openms-lib-page--developer-retreat #about-the-retreat .openms-lib-about__eyebrow{margin:0;flex:none}.openms-lib-page--developer-retreat #about-the-retreat .openms-lib-about__title{margin:0}.openms-lib-page--developer-retreat #about-the-retreat .openms-lib-about__mosaic.retreat-highlights__mosaic,.openms-lib-page--developer-retreat .retreat-highlights__mosaic{grid-template-columns:repeat(3,minmax(0,1fr))}.openms-lib-page--developer-retreat #past-retreat{background:var(--pro-band-soft);padding-block:var(--pro-section-y);padding-top:calc(var(--pro-section-y) * .45)}.openms-lib-page--developer-retreat .retreat-upcoming{padding-block:var(--pro-section-y)}.openms-lib-page--developer-retreat .retreat-upcoming__inner{display:grid;grid-template-columns:minmax(0,.95fr)minmax(0,1.05fr);gap:var(--pro-col-gap);align-items:center}.openms-lib-page--developer-retreat .retreat-upcoming__head{grid-template-columns:1fr;align-items:start;margin:0}.openms-lib-page--developer-retreat .retreat-upcoming__facts,.openms-lib-page--developer-retreat .retreat-upcoming__list{display:grid;gap:.65rem;margin:1rem 0 0;padding:0;list-style:none}.openms-lib-page--developer-retreat .retreat-upcoming__facts li{display:flex;align-items:flex-start;gap:.65rem;margin:0;font-size:var(--openms-body-size-lg);line-height:1.45;color:rgba(var(--openms-dark-rgb),.82)}.openms-lib-page--developer-retreat .retreat-upcoming__facts i{display:grid;place-items:center;flex:0 0 1.5rem;width:1.5rem;margin-top:.15em;color:var(--openms-navy)}.openms-lib-page--developer-retreat .retreat-upcoming__list li{position:relative;margin:0;padding-left:1rem;font-size:var(--openms-body-size-lg);line-height:1.5;color:rgba(var(--openms-dark-rgb),.82)}.openms-lib-page--developer-retreat .retreat-upcoming__list li::before{content:"";position:absolute;left:0;top:.6em;width:.32rem;height:.32rem;border-radius:50%;background:rgba(var(--openms-navy-rgb),.4)}.openms-lib-page--developer-retreat .retreat-upcoming__actions{margin-top:1.35rem}.openms-lib-page--developer-retreat .retreat-upcoming__sponsor{margin:1rem 0 0;font-size:var(--openms-body-size);line-height:1.5;color:var(--pro-text-muted)}.openms-lib-page--developer-retreat .retreat-upcoming__sponsor a{color:var(--openms-navy);font-weight:600;text-decoration:underline;text-underline-offset:.14em}.openms-lib-page--developer-retreat .retreat-upcoming__poster{margin:0}.openms-lib-page--developer-retreat .retreat-upcoming__poster img{display:block;width:100%;height:auto;border-radius:var(--pro-radius);box-shadow:var(--pro-shadow)}.openms-lib-page--developer-retreat .retreat-highlights__mosaic{grid-template-columns:repeat(3,minmax(0,1fr))}.openms-lib-page--developer-retreat .openms-lib-about__tile{border:none;border-radius:0;background:0 0;box-shadow:none;padding:.15rem .1rem}.openms-lib-page--developer-retreat .openms-lib-about__tile:hover,.openms-lib-page--developer-retreat .openms-lib-about__tile:focus-within{transform:none;border:none;box-shadow:none;background:0 0}.openms-lib-page--developer-retreat .openms-lib-about__num{display:block;width:auto;height:auto;margin:0 0 .2rem;padding:0;border:none;border-radius:0;background:0 0;font-family:var(--openms-font-heading);font-size:clamp(2.5rem,4.8vw,3.4rem);font-weight:800;line-height:.88;letter-spacing:-.045em;color:rgba(var(--openms-blue-rgb),.28);transition:color .22s ease}.openms-lib-page--developer-retreat .openms-lib-about__tile:hover .openms-lib-about__num,.openms-lib-page--developer-retreat .openms-lib-about__tile:focus-within .openms-lib-about__num{color:var(--openms-blue)}.openms-lib-page--developer-retreat .retreat-photo{display:grid;gap:.75rem;max-width:var(--pro-max);margin:0 auto}.openms-lib-page--developer-retreat .retreat-photo__image{display:block;width:100%;height:auto;border-radius:var(--pro-radius);box-shadow:var(--pro-shadow)}.openms-lib-page--developer-retreat .retreat-photo__caption{margin:0;font-size:var(--openms-body-size);line-height:1.5;color:var(--pro-text-muted);text-align:center}.openms-lib-page--developer-retreat .retreat-register--closed{cursor:not-allowed;opacity:.72;position:relative}.openms-lib-page--developer-retreat .retreat-register--closed:hover,.openms-lib-page--developer-retreat .retreat-register--closed:focus-visible{transform:none!important;box-shadow:none!important;outline:none}.openms-lib-page--developer-retreat .retreat-register--closed::after{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + .55rem);transform:translateX(-50%)translateY(.2rem);width:max-content;max-width:16rem;padding:.45rem .7rem;border-radius:.45rem;background:var(--openms-navy);color:var(--openms-white);font-size:var(--openms-text-min);font-weight:600;line-height:1.35;text-align:center;opacity:0;pointer-events:none;transition:opacity .15s ease,transform .15s ease;z-index:2}.openms-lib-page--developer-retreat .retreat-register--closed:hover::after,.openms-lib-page--developer-retreat .retreat-register--closed:focus-visible::after{opacity:1;transform:translateX(-50%)translateY(0)}@media(max-width:900px){.openms-lib-page--developer-retreat .retreat-upcoming__inner{grid-template-columns:1fr}.openms-lib-page--developer-retreat .retreat-upcoming__head,.openms-lib-page--developer-retreat .retreat-upcoming__head .openms-lib-about__title,.openms-lib-page--developer-retreat .retreat-upcoming__head .openms-lib-about__lead{text-align:left;margin-inline:0;justify-items:start}.openms-lib-page--developer-retreat .retreat-upcoming__head-copy,.openms-lib-page--developer-retreat .retreat-upcoming__head .openms-lib-about__head-copy{justify-items:start;text-align:left}.openms-lib-page--developer-retreat .retreat-upcoming__head .openms-lib-about__eyebrow{justify-content:flex-start}.openms-lib-page--developer-retreat .retreat-upcoming__facts,.openms-lib-page--developer-retreat .retreat-upcoming__list,.openms-lib-page--developer-retreat .retreat-upcoming__actions,.openms-lib-page--developer-retreat .retreat-upcoming__sponsor{text-align:left;justify-items:start;margin-inline:0}.openms-lib-page--developer-retreat .retreat-upcoming__actions{display:flex;justify-content:flex-start}.openms-lib-page--developer-retreat .retreat-highlights__mosaic{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.openms-lib-page--developer-retreat .retreat-register--closed::after{transition:none}}.openms-lib-page--developer-retreat .openms-lib-hero__title{max-width:max-content;margin-inline:auto;text-align:left;--openms-page-hero-title-size:clamp(2.15rem, 1.55rem + 2.65vw, 3.25rem);font-size:var(--openms-page-hero-title-size)!important}.openms-lib-page--developer-retreat .openms-lib-hero__title-line{display:block;white-space:nowrap;margin-left:-1.25em}@media(max-width:640px){.openms-lib-page--developer-retreat .openms-lib-hero__title-line{white-space:normal}}.openms-lib-page--services-support #quote{background:var(--pro-band-soft)}.openms-lib-page--services-support .services-support-application{padding-block:var(--pro-section-y);padding-top:calc(var(--pro-section-y) * .5)}.openms-lib-page--services-support .services-support-application__inner{display:flex;flex-direction:column;gap:var(--pro-head-to-content);max-width:var(--pro-max);margin-inline:auto}.openms-lib-page--services-support .services-support-application__head{display:grid;justify-items:center;max-width:42rem;margin-inline:auto;text-align:center}.openms-lib-page--services-support .services-support-application__head .openms-lib-resources__lead{margin-inline:auto;text-align:center}.openms-lib-page--services-support .services-support-application__form{width:100%;max-width:48rem;margin-inline:auto;border:none;background:var(--openms-white);box-shadow:none}.openms-lib-page--services-support .services-page__form-body,.openms-lib-page--services-support .services-page__tally-iframe{width:100%;overflow:visible;max-height:none}.openms-lib-page--services-support .services-page__tally-iframe{min-height:48rem}.openms-lib-page--governance #governance-bodies,.openms-lib-page--governance #core-developers,.openms-lib-page--governance #responsibilities{background:var(--pro-band-soft)}.openms-lib-page--contributors #contributors,.openms-lib-page--publications #publications-list,.openms-lib-page--contact #contact-form,.openms-lib-page--contact #contact-paths,.openms-lib-page--research-partnerships #partnerships-include,.openms-lib-page--research-partnerships #partnership-form,.openms-lib-page--donate #donate-impact{background:var(--pro-band-soft)}.openms-lib-page--our-sponsors #our-sponsors{background:var(--openms-white)}.openms-lib-page--donate #donate-form{background:var(--openms-white)}.openms-lib-page--contact #contact-paths{background:var(--openms-white)}.openms-lib-page--research-partnerships #our-partners{background:var(--openms-white)}.openms-lib-page--hub.openms-lib-page--openms-lib .about-pro-content{padding-block:var(--pro-section-y);padding-top:calc(var(--pro-section-y) * .5)}.openms-lib-page--hub.openms-lib-page--openms-lib .about-pro-content__inner{max-width:var(--pro-max);margin-inline:auto}.openms-lib-page--publications .about-pro-content__inner{max-width:var(--pro-max)}.openms-lib-page--publications .openms-lib-btn--scholar .openms-lib-btn__icon,.openms-lib-btn--scholar .openms-lib-btn__icon{display:inline-flex;align-items:center;justify-content:center;flex:none;width:1.2em;height:1.2em;line-height:0}.openms-lib-page--publications .openms-lib-btn--scholar .openms-lib-btn__icon svg,.openms-lib-btn--scholar .openms-lib-btn__icon svg{display:block;width:100%;height:100%}.openms-lib-page--publications.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-hero--pro{padding-bottom:calc(var(--openms-btn-glow-size,6px) + .5rem);overflow:visible}.openms-lib-page--publications .openms-lib-page__body>.openms-lib-page__anchor{padding-block:var(--pro-section-y)0}.openms-lib-page--publications #key-publications,.openms-lib-page--publications #publications-list{padding-bottom:0}.openms-lib-page--publications .openms-lib-resources{padding-block:0;padding-top:0}.openms-lib-page--publications .openms-lib-resources__inner{max-width:var(--pro-max);width:100%;padding-bottom:0;gap:var(--pro-head-to-content)}.openms-lib-page--publications #cite-openms.openms-lib-page__anchor{padding-block:var(--pro-section-y)clamp(1.75rem,4vw,3rem)}.openms-lib-page--publications .publications-body{display:contents}.openms-lib-page--publications .publications-featured,.openms-lib-page--publications .publications-bibliography{display:grid;gap:var(--pro-head-to-content);padding:0;width:100%}.openms-lib-page--publications .publications-bibliography>.openms-lib-resources__head{margin-bottom:0}.openms-lib-page--publications .publications-featured__list,.openms-lib-page--publications .publication-list,.openms-lib-page--publications .publications-bibliography__entries{gap:var(--pro-card-gap)}@media(min-width:900px){.openms-lib-page--publications .publications-featured__list{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto auto auto 1fr auto;column-gap:var(--pro-card-gap);row-gap:.4rem}.openms-lib-page--publications .publications-featured__list>.publications-cite-card{grid-row:span 5;grid-template-rows:subgrid;gap:0}}@supports not (grid-template-rows:subgrid){@media(min-width:900px){.openms-lib-page--publications .publications-featured__list>.publications-cite-card{grid-row:auto;grid-template-rows:none;gap:.4rem}}}.openms-lib-page--publications .publications-cite-card,.openms-lib-page--publications .publications-year .publication-entry{gap:.4rem;padding:var(--pro-card-pad-lg);border:1px solid var(--pro-line);border-radius:var(--pro-radius);background:var(--openms-white);box-shadow:var(--pro-shadow);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease,background-color .2s ease,color .2s ease}.openms-lib-page--publications .publications-featured .publications-cite-card{gap:.4rem;border:none;box-shadow:none}.openms-lib-page--publications .publications-featured .publications-cite-card__title{font-size:clamp(1.05rem,1.9vw,1.25rem)}.openms-lib-page--publications .publications-featured .publications-cite-card__meta,.openms-lib-page--publications .publications-featured .publications-cite-card__authors{margin:0}.openms-lib-page--publications .publications-featured .publications-cite-card:hover,.openms-lib-page--publications .publications-featured .publications-cite-card:focus-within{transform:var(--pro-lift-sm);border:none;background:var(--openms-blue);box-shadow:0 .65rem 1.5rem rgba(var(--openms-blue-rgb),.28);color:var(--openms-white)}.openms-lib-page--publications .publications-featured .publications-cite-card:hover .publications-cite-card__badge,.openms-lib-page--publications .publications-featured .publications-cite-card:focus-within .publications-cite-card__badge,.openms-lib-page--publications .publications-featured .publications-cite-card:hover .publications-cite-card__title,.openms-lib-page--publications .publications-featured .publications-cite-card:focus-within .publications-cite-card__title,.openms-lib-page--publications .publications-featured .publications-cite-card:hover .publications-cite-card__title a,.openms-lib-page--publications .publications-featured .publications-cite-card:focus-within .publications-cite-card__title a,.openms-lib-page--publications .publications-featured .publications-cite-card:hover .publications-cite-card__meta,.openms-lib-page--publications .publications-featured .publications-cite-card:focus-within .publications-cite-card__meta,.openms-lib-page--publications .publications-featured .publications-cite-card:hover .publications-cite-card__journal,.openms-lib-page--publications .publications-featured .publications-cite-card:focus-within .publications-cite-card__journal,.openms-lib-page--publications .publications-featured .publications-cite-card:hover .publications-cite-card__year,.openms-lib-page--publications .publications-featured .publications-cite-card:focus-within .publications-cite-card__year,.openms-lib-page--publications .publications-featured .publications-cite-card:hover .publications-cite-card__authors-more,.openms-lib-page--publications .publications-featured .publications-cite-card:focus-within .publications-cite-card__authors-more{color:#fff}.openms-lib-page--publications .publications-featured .publications-cite-card:hover .publications-cite-card__topic,.openms-lib-page--publications .publications-featured .publications-cite-card:focus-within .publications-cite-card__topic,.openms-lib-page--publications .publications-featured .publications-cite-card:hover .publications-cite-card__authors,.openms-lib-page--publications .publications-featured .publications-cite-card:focus-within .publications-cite-card__authors{color:rgba(255,255,255,.86)}.openms-lib-page--publications .publications-featured .publications-cite-card:hover .publications-cite-card__badge,.openms-lib-page--publications .publications-featured .publications-cite-card:focus-within .publications-cite-card__badge{border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.14)}.openms-lib-page--publications .publications-featured .publications-cite-card:hover .publications-cite-card__authors-more,.openms-lib-page--publications .publications-featured .publications-cite-card:focus-within .publications-cite-card__authors-more{border:0;background:0 0;color:rgba(255,255,255,.86)}.openms-lib-page--publications .publications-featured .publications-cite-card:hover .publications-cite-card__year::before,.openms-lib-page--publications .publications-featured .publications-cite-card:focus-within .publications-cite-card__year::before{color:rgba(255,255,255,.55)}.openms-lib-page--publications .publications-year .publication-entry:hover,.openms-lib-page--publications .publications-year .publication-entry:focus-within{transform:var(--pro-lift-sm);border-color:var(--pro-line-strong);box-shadow:var(--pro-shadow-hover)}.openms-lib-page--publications .publications-cite-card--primary,.openms-lib-page--publications .publications-cite-card--secondary{border-left:1px solid var(--pro-line)}.openms-lib-page--publications .publications-featured .publications-cite-card--primary,.openms-lib-page--publications .publications-featured .publications-cite-card--secondary{border-left:none}.openms-lib-page--publications .publications-featured .publications-cite-card__action{margin-top:0;min-height:0;padding:0;border:0;border-radius:0;background:0 0;color:var(--openms-navy);font-size:var(--openms-body-size);font-weight:700;line-height:1.35;text-decoration:none;box-shadow:none;transform:none;white-space:normal}.openms-lib-page--publications .publications-featured .publications-cite-card__action:hover,.openms-lib-page--publications .publications-featured .publications-cite-card__action:focus-visible,.openms-lib-page--publications .publications-featured .publications-cite-card__action:active{background:0 0;border:0;color:var(--openms-navy);transform:none;box-shadow:none;text-decoration:none}.openms-lib-page--publications .publications-featured .publications-cite-card:hover .publications-cite-card__action,.openms-lib-page--publications .publications-featured .publications-cite-card:focus-within .publications-cite-card__action,.openms-lib-page--publications .publications-featured .publications-cite-card:hover .publications-cite-card__action:hover,.openms-lib-page--publications .publications-featured .publications-cite-card:focus-within .publications-cite-card__action:hover,.openms-lib-page--publications .publications-featured .publications-cite-card:hover .publications-cite-card__action:focus-visible,.openms-lib-page--publications .publications-featured .publications-cite-card:focus-within .publications-cite-card__action:focus-visible{border:0;color:#fff;box-shadow:none;transform:none}.openms-lib-page--publications .publications-featured .publications-cite-card__authors-more{border:0;background:0 0;color:rgba(var(--openms-navy-rgb),.62)}.openms-lib-page--publications .publications-featured .publications-cite-card--secondary .publications-cite-card__badge{border-color:rgba(var(--openms-navy-rgb),.16);background:rgba(var(--openms-navy-rgb),.06)}.openms-lib-page--publications .publications-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.6rem .85rem;padding:0;margin:0;width:100%}.openms-lib-page--publications .publications-toolbar__filter{display:flex;flex-direction:row;align-items:center;gap:.6rem;margin-left:auto;width:fit-content;max-width:100%;min-width:0}.openms-lib-page--publications .publications-toolbar__filter-label{font-family:var(--openms-font-body);font-size:var(--openms-text-min);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(var(--openms-navy-rgb),.6)}.openms-lib-page--publications .publications-toolbar__select{width:auto;min-width:7.5rem;max-width:100%;margin-left:0;border-color:var(--pro-line-strong);border-radius:var(--pro-radius-sm,.6rem)}@media(max-width:640px){.openms-lib-page--publications .publications-toolbar{justify-content:flex-end}.openms-lib-page--publications .publications-toolbar__filter{flex-direction:row;align-items:center;margin-left:auto;width:fit-content;min-width:0}.openms-lib-page--publications .publications-toolbar__select{width:auto;min-width:6.75rem}}.openms-lib-page--publications .contribute-coc-band__actions .openms-lib-btn--ghost,.openms-lib-page--publications .contribute-coc-band__actions .openms-lib-cta-band__btn-ghost,.openms-lib-page--contributors .contribute-coc-band__actions .openms-lib-btn--ghost,.openms-lib-page--contributors .contribute-coc-band__actions .openms-lib-cta-band__btn-ghost,.openms-lib-page--contact .contribute-coc-band__actions .openms-lib-btn--ghost,.openms-lib-page--contact .contribute-coc-band__actions .openms-lib-cta-band__btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:2.85rem;padding:.75rem 1.35rem;border:2px solid rgba(var(--openms-white-rgb),.34)!important;border-radius:var(--openms-btn-pill-radius);background:0 0!important;color:var(--openms-white)!important;font-size:var(--openms-body-size);font-weight:600;line-height:1.3;text-decoration:none!important;white-space:nowrap;box-shadow:0 0 0 0 var(--openms-btn-glow);transition:var(--openms-btn-motion)}.openms-lib-page--publications .contribute-coc-band__actions .openms-lib-btn--ghost:hover,.openms-lib-page--publications .contribute-coc-band__actions .openms-lib-btn--ghost:focus-visible,.openms-lib-page--publications .contribute-coc-band__actions .openms-lib-btn--ghost:active,.openms-lib-page--publications .contribute-coc-band__actions .openms-lib-cta-band__btn-ghost:hover,.openms-lib-page--publications .contribute-coc-band__actions .openms-lib-cta-band__btn-ghost:focus-visible,.openms-lib-page--publications .contribute-coc-band__actions .openms-lib-cta-band__btn-ghost:active,.openms-lib-page--contributors .contribute-coc-band__actions .openms-lib-btn--ghost:hover,.openms-lib-page--contributors .contribute-coc-band__actions .openms-lib-btn--ghost:focus-visible,.openms-lib-page--contributors .contribute-coc-band__actions .openms-lib-btn--ghost:active,.openms-lib-page--contributors .contribute-coc-band__actions .openms-lib-cta-band__btn-ghost:hover,.openms-lib-page--contributors .contribute-coc-band__actions .openms-lib-cta-band__btn-ghost:focus-visible,.openms-lib-page--contributors .contribute-coc-band__actions .openms-lib-cta-band__btn-ghost:active,.openms-lib-page--contact .contribute-coc-band__actions .openms-lib-btn--ghost:hover,.openms-lib-page--contact .contribute-coc-band__actions .openms-lib-btn--ghost:focus-visible,.openms-lib-page--contact .contribute-coc-band__actions .openms-lib-btn--ghost:active,.openms-lib-page--contact .contribute-coc-band__actions .openms-lib-cta-band__btn-ghost:hover,.openms-lib-page--contact .contribute-coc-band__actions .openms-lib-cta-band__btn-ghost:focus-visible,.openms-lib-page--contact .contribute-coc-band__actions .openms-lib-cta-band__btn-ghost:active{border-color:rgba(var(--openms-white-rgb),.34)!important;background:0 0!important;color:var(--openms-white)!important;transform:scale(var(--openms-btn-hover-scale));box-shadow:0 0 0 var(--openms-btn-glow-size)var(--openms-btn-glow)!important;outline:none;text-decoration:none!important}.openms-lib-page--publications .contribute-coc-band__actions .openms-lib-btn--ghost:focus-visible,.openms-lib-page--publications .contribute-coc-band__actions .openms-lib-cta-band__btn-ghost:focus-visible,.openms-lib-page--contributors .contribute-coc-band__actions .openms-lib-btn--ghost:focus-visible,.openms-lib-page--contributors .contribute-coc-band__actions .openms-lib-cta-band__btn-ghost:focus-visible,.openms-lib-page--contact .contribute-coc-band__actions .openms-lib-btn--ghost:focus-visible,.openms-lib-page--contact .contribute-coc-band__actions .openms-lib-cta-band__btn-ghost:focus-visible{box-shadow:0 0 0 3px var(--openms-navy),0 0 0 5px rgba(var(--openms-white-rgb),.45),0 0 0 calc(5px + var(--openms-btn-glow-size))var(--openms-btn-glow)!important}.openms-lib-page--publications .contribute-coc-band__actions .openms-lib-btn--ghost .openms-lib-btn__icon,.openms-lib-page--publications .contribute-coc-band__actions .openms-lib-cta-band__btn-ghost .openms-lib-btn__icon{display:inline-flex;width:1.1rem;height:1.1rem;flex:none}.openms-lib-page--publications .contribute-coc-band__actions .openms-lib-btn--ghost .openms-lib-btn__icon svg,.openms-lib-page--publications .contribute-coc-band__actions .openms-lib-cta-band__btn-ghost .openms-lib-btn__icon svg{display:block;width:100%;height:100%;fill:currentColor}.openms-lib-layout:has(.openms-lib-page--publications #cite-openms),.content-padding:has(.openms-lib-page--publications #cite-openms),.openms-lib-layout:has(.openms-lib-page--contributors #join-community),.content-padding:has(.openms-lib-page--contributors #join-community){padding-bottom:0;margin-bottom:0}.openms-lib-layout:has(.openms-lib-page--publications #cite-openms)+#footer.footer-redesign,.content-padding:has(.openms-lib-page--publications #cite-openms)+#footer.footer-redesign,.openms-lib-layout:has(.openms-lib-page--contributors #join-community)+#footer.footer-redesign,.content-padding:has(.openms-lib-page--contributors #join-community)+#footer.footer-redesign{margin-top:0;padding-top:0}.openms-lib-page--contributors .openms-lib-resources__inner{max-width:var(--pro-max);width:100%;gap:var(--pro-head-to-content);padding-bottom:0}.openms-lib-page--contributors .openms-lib-page__body>.openms-lib-page__anchor{padding-block:0}.openms-lib-page--contributors #leadership .openms-lib-resources,.openms-lib-page--contributors #executive-committee .openms-lib-resources,.openms-lib-page--contributors #members .openms-lib-resources{padding-block:var(--pro-section-y)}.openms-lib-page--contributors .contributors-body{display:contents}.openms-lib-page--contributors .contributors-section{display:contents;margin:0;padding:0}.openms-lib-page--contributors #leadership .openms-lib-resources__head{display:grid;justify-items:center;max-width:min(100%,42rem);margin-inline:auto;text-align:center}.openms-lib-page--contributors #leadership .openms-lib-resources__eyebrow{justify-content:center}.openms-lib-page--contributors #leadership .openms-lib-resources__title,.openms-lib-page--contributors #leadership .openms-lib-resources__lead{text-align:center;margin-inline:auto}.openms-lib-page--contributors .contributors-members{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;align-items:stretch}.openms-lib-page--contributors .contributors-members>.openms-lib-resources__head{grid-column:1/3;grid-row:1;display:grid;justify-items:start;align-content:start;gap:0;min-width:0;max-width:100%;width:100%;margin:0;padding:.15rem .75rem 1.5rem 0;text-align:left;align-self:stretch;z-index:1;box-sizing:border-box}.openms-lib-page--contributors .contributors-members>.openms-lib-resources__head .openms-lib-resources__eyebrow{justify-content:flex-start}.openms-lib-page--contributors .contributors-members>.openms-lib-resources__head .openms-lib-resources__title,.openms-lib-page--contributors .contributors-members>.openms-lib-resources__head .openms-lib-resources__lead{text-align:left;margin-inline:0;max-width:100%}.openms-lib-page--contributors .contributors-members>.openms-lib-resources__head .openms-lib-resources__lead{display:grid;gap:.15em;width:100%;min-width:0;margin-bottom:.35rem}.openms-lib-page--contributors .contributors-members>.openms-lib-resources__head .openms-lib-resources__lead span{display:block;white-space:nowrap}.openms-lib-page--contributors .contributors-members>.team,.openms-lib-page--contributors .contributors-members .members{display:contents}.openms-lib-page--contributors .contributors-members .member{min-width:0;width:100%;min-height:0;height:auto;align-self:start;box-sizing:border-box}@media(max-width:1100px){.openms-lib-page--contributors .contributors-members{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.openms-lib-page--contributors .contributors-members>.openms-lib-resources__head{grid-column:1/-1;grid-row:auto;max-width:min(100%,40rem);padding:0 0 1rem;margin:0;align-self:start}.openms-lib-page--contributors .contributors-members>.openms-lib-resources__head .openms-lib-resources__lead span{white-space:nowrap}}@media(max-width:720px){.openms-lib-page--contributors .contributors-members{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.openms-lib-page--contributors .contributors-members>.openms-lib-resources__head{margin-bottom:.15rem}.openms-lib-page--contributors .contributors-members>.openms-lib-resources__head .openms-lib-resources__lead span{white-space:normal}}@media(max-width:480px){.openms-lib-page--contributors .contributors-members{grid-template-columns:1fr;gap:.75rem}}.openms-lib-page--contributors .leadership-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--pro-card-gap);margin:0;align-items:stretch}.openms-lib-page--contributors .leadership-card{display:flex;flex-direction:column;align-items:stretch;gap:1rem;min-height:100%;margin:0;padding:var(--pro-card-pad-lg);border:1px solid var(--pro-line);border-radius:var(--pro-radius);background:var(--openms-white);box-shadow:var(--pro-shadow);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.openms-lib-page--contributors .leadership-card:hover{transform:var(--pro-lift-sm);border-color:var(--pro-line-strong);box-shadow:var(--pro-shadow-hover)}.openms-lib-page--contributors .leadership-card__identity{display:flex;align-items:center;gap:.95rem;padding-bottom:.95rem;border-bottom:1px solid var(--pro-line)}.openms-lib-page--contributors .leadership-card__photo{flex:none;width:4.75rem;height:4.75rem;border-radius:50%;object-fit:cover;object-position:center top;border:3px solid rgba(var(--openms-blue-rgb),.14);background:rgba(var(--openms-navy-rgb),.04);box-shadow:0 0 0 4px rgba(var(--openms-navy-rgb),.04)}.openms-lib-page--contributors .leadership-card__who{min-width:0;display:grid;gap:.4rem}.openms-lib-page--contributors .leadership-card__name{margin:0;font-family:var(--openms-font-heading);font-size:clamp(1.08rem,1.9vw,1.28rem);font-weight:800;line-height:1.25;letter-spacing:-.01em;color:var(--openms-navy);text-wrap:balance}.openms-lib-page--contributors .leadership-card__role{display:inline-flex;align-items:center;width:fit-content;margin:0;padding:.22rem .55rem;border-radius:999px;background:rgba(var(--openms-navy-rgb),.06);font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;line-height:1.3;color:rgba(var(--openms-navy-rgb),.72)}.openms-lib-page--contributors .leadership-card__bio{display:grid;gap:.65rem;margin:0;flex:auto;font-size:var(--openms-body-size);line-height:1.65;color:var(--pro-text-muted);text-wrap:pretty}.openms-lib-page--contributors .leadership-card__bio p{margin:0}.openms-lib-page--contributors .contributors-section--exec{gap:0}.openms-lib-page--contributors .openms-lib-page__outro{background:0 0;border-top:none;margin-top:0;padding-inline:max(var(--olib-pad-x),calc((100% - var(--pro-max))/2 + var(--olib-pad-x)))}.openms-lib-page--contributors #join-community.openms-lib-page__anchor{width:100%;max-width:none;margin-inline:0;padding-block:var(--pro-section-y);box-sizing:border-box}.openms-lib-page--contributors #join-community .webapps-archived__revival{display:flex;flex-direction:column;align-items:center;gap:var(--pro-stack-actions);width:100%;max-width:none;margin:0;padding:clamp(2.5rem,5vw,3.5rem)var(--pro-card-pad-lg);border:none;border-radius:var(--pro-radius);background:radial-gradient(circle at 100% 0%,rgba(var(--openms-blue-rgb),.28),transparent 42%),var(--openms-navy);box-shadow:none;color:var(--openms-white);text-align:center;box-sizing:border-box}.openms-lib-page--contributors #join-community .webapps-archived__revival-copy{flex:initial;max-width:46ch}.openms-lib-page--contributors #join-community .webapps-archived__revival-kicker{margin:0 0 var(--pro-stack-eyebrow);font-size:var(--openms-text-min);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--pro-kicker-on-dark)}.openms-lib-page--contributors #join-community .webapps-archived__revival-text{margin:0;color:var(--openms-white)}.openms-lib-page--contributors #join-community .webapps-archived__revival-text strong{display:block;margin:0;font-family:var(--openms-font-heading);font-size:calc(var(--openms-heading-lg-size) * 1.15);font-weight:var(--openms-heading-lg-weight);line-height:1.3;letter-spacing:normal;text-transform:uppercase;color:var(--openms-white)}.openms-lib-page--contributors #join-community .webapps-archived__revival-note{display:block;margin-top:var(--pro-stack-lead);font-family:var(--openms-font-body);font-size:var(--openms-body-size-lg);font-weight:400;line-height:1.65;color:var(--pro-text-on-dark)}.openms-lib-page--contributors #join-community .webapps-archived__revival-actions{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:center;align-items:center;gap:1.25rem;width:100%}.openms-lib-page--contributors #join-community .webapps-archived__revival-actions .openms-lib-btn{display:inline-flex;align-items:center;justify-content:center;flex:none;gap:.35rem;min-width:11.5rem;width:11.5rem;min-height:var(--openms-btn-min-height,2.75rem);padding:var(--openms-btn-padding,.7rem 1.25rem);border-radius:var(--openms-btn-pill-radius);font-size:var(--openms-btn-font-size,var(--openms-text-min));font-weight:600;line-height:1.3;text-decoration:none;white-space:nowrap;box-shadow:0 0 0 0 var(--openms-btn-glow);transition:var(--openms-btn-motion)}.openms-lib-page--contributors #join-community .webapps-archived__revival-actions .openms-lib-btn--primary{border:2px solid var(--openms-white);background:var(--openms-white);color:var(--openms-navy)!important}.openms-lib-page--contributors #join-community .webapps-archived__revival-actions .openms-lib-btn--ghost{border:2px solid rgba(var(--openms-white-rgb),.34);background:0 0;background-color:initial;color:var(--openms-white)!important}.openms-lib-page--contributors #join-community .webapps-archived__revival-actions .openms-lib-btn--primary:hover,.openms-lib-page--contributors #join-community .webapps-archived__revival-actions .openms-lib-btn--primary:focus-visible,.openms-lib-page--contributors #join-community .webapps-archived__revival-actions .openms-lib-btn--primary:active{border-color:var(--openms-white);background:var(--openms-white);color:var(--openms-navy)!important;transform:scale(var(--openms-btn-hover-scale));box-shadow:0 0 0 var(--openms-btn-glow-size)rgba(255,255,255,.22);outline:none}.openms-lib-page--contributors #join-community .webapps-archived__revival-actions .openms-lib-btn--ghost:hover,.openms-lib-page--contributors #join-community .webapps-archived__revival-actions .openms-lib-btn--ghost:focus-visible,.openms-lib-page--contributors #join-community .webapps-archived__revival-actions .openms-lib-btn--ghost:active{border-color:var(--openms-white);background:0 0;color:var(--openms-white)!important;transform:scale(var(--openms-btn-hover-scale));box-shadow:0 0 0 var(--openms-btn-glow-size)rgba(255,255,255,.22);outline:none}@media(max-width:640px){.openms-lib-page--contributors #join-community .webapps-archived__revival-actions{flex-direction:row!important;flex-wrap:nowrap;gap:1rem}.openms-lib-page--contributors #join-community .webapps-archived__revival-actions .openms-lib-btn{flex:1;width:auto!important;min-width:0;padding:.55rem .75rem;font-size:clamp(.78rem,.9vw + .65rem,.88rem);white-space:nowrap}}.openms-lib-page--contributors .contributors-exec-panel{display:grid;grid-template-columns:minmax(0,1.35fr)minmax(14rem,.85fr);gap:clamp(1.25rem,3vw,2.25rem);align-items:center;margin:0;padding:0;border:none;border-radius:0;background:0 0;box-shadow:none}.openms-lib-page--contributors .contributors-exec-panel__copy{display:grid;justify-items:start;gap:0;min-width:0;text-align:left}.openms-lib-page--contributors .contributors-exec-panel__kicker{margin:0 0 var(--pro-stack-eyebrow,.45rem);font-size:var(--openms-text-min);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--openms-blue)}.openms-lib-page--contributors .contributors-exec-panel__title{margin:0;font-family:var(--openms-font-heading);font-size:calc(var(--openms-heading-lg-size,1.65rem) * 1.05);font-weight:var(--openms-heading-lg-weight,800);line-height:1.25;letter-spacing:normal;text-transform:uppercase;color:var(--openms-navy)}.openms-lib-page--contributors .contributors-exec-panel__lead{margin:var(--pro-stack-lead,.75rem)0 0;max-width:42ch;font-size:var(--openms-body-size-lg);line-height:1.6;color:var(--pro-text-muted)}.openms-lib-page--contributors .contributors-exec-panel__links{display:grid;gap:.55rem;min-width:0}.openms-lib-page--contributors .contributors-exec-panel__link{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:0;padding:.85rem 1rem;border:1px solid var(--pro-line);border-radius:var(--pro-radius-sm,.85rem);background:rgba(var(--openms-navy-rgb),.03);color:var(--openms-navy)!important;font-size:var(--openms-body-size);font-weight:700;line-height:1.35;text-decoration:none!important;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease,gap .2s ease,background-color .2s ease}.openms-lib-page--contributors .contributors-exec-panel__link:hover,.openms-lib-page--contributors .contributors-exec-panel__link:focus-visible{border-color:var(--pro-line-strong);background:var(--openms-white);box-shadow:var(--pro-shadow-hover);transform:var(--pro-lift-sm);outline:none;color:var(--openms-navy)!important;text-decoration:none!important}.openms-lib-page--contributors .contributors-exec-panel__link span:last-child{flex:none;transition:transform .2s ease}.openms-lib-page--contributors .contributors-exec-panel__link:hover span:last-child,.openms-lib-page--contributors .contributors-exec-panel__link:focus-visible span:last-child{transform:translateX(.2rem)}@media(max-width:720px){.openms-lib-page--contributors .contributors-exec-panel{grid-template-columns:1fr;gap:1.15rem;text-align:left}}.openms-lib-page--contributors .team{margin:0;padding:0}.openms-lib-page--contributors .team>.name.title{display:none}.openms-lib-page--contributors .members{display:contents}.openms-lib-page--contributors .member{display:grid;justify-items:center;align-content:center;gap:.55rem;margin:0;padding:1rem .85rem;border:1px solid var(--pro-line);border-radius:var(--pro-radius);background:var(--openms-white);box-shadow:var(--pro-shadow);text-align:center;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.openms-lib-page--contributors .member:hover{transform:var(--pro-lift-sm);border-color:var(--pro-line-strong);box-shadow:var(--pro-shadow-hover)}.openms-lib-page--contributors .member>.name{display:block;margin:0;font-family:var(--openms-font-heading);font-size:var(--openms-body-size-lg);font-weight:800;line-height:1.3;color:var(--openms-navy);text-decoration:none}.openms-lib-page--contributors .member>.name:hover,.openms-lib-page--contributors .member>.name:focus-visible{color:var(--openms-blue);outline:none}.openms-lib-page--contributors .member .photo,.openms-lib-page--contributors .member .roles{display:none}@media(max-width:1100px){.openms-lib-page--contributors .leadership-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:860px){.openms-lib-page--contributors .leadership-grid{grid-template-columns:1fr}}@media(max-width:560px){.openms-lib-page--contributors .leadership-card__identity{flex-direction:column;align-items:center;text-align:center}.openms-lib-page--contributors .leadership-card__who{justify-items:center}.openms-lib-page--contributors .leadership-card__bio{text-align:center}}.openms-lib-page--contact .contact-application{padding-block:var(--pro-section-y);padding-top:calc(var(--pro-section-y) * .5);padding-bottom:calc(var(--pro-section-y) * .35)}.openms-lib-page--contact #contact-paths .openms-lib-resources{padding-block:calc(var(--pro-section-y) * .45)0}.openms-lib-page--contact .contact-application__inner{display:flex;flex-direction:column;gap:var(--pro-head-to-content);max-width:var(--pro-max);margin-inline:auto}.openms-lib-page--contact .contact-application__head{display:grid;justify-items:center;gap:0;max-width:min(52rem,100%);margin-inline:auto;text-align:center}.openms-lib-page--contact .contact-application__lead-intro{margin:var(--pro-stack-lead)0 0;max-width:36ch;font-size:var(--openms-body-size-lg);font-weight:600;line-height:1.55;color:var(--openms-navy);text-align:center}.openms-lib-page--contact .contact-application__lead-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.35rem 2.5rem;width:100%;margin-top:1.35rem;padding-top:1.35rem;border-top:1px solid var(--pro-line);text-align:left}.openms-lib-page--contact .contact-application__lead-col{display:grid;gap:.45rem;margin:0;min-width:0}.openms-lib-page--contact .contact-application__lead-label{font-size:var(--openms-text-min);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--openms-blue)}.openms-lib-page--contact .contact-application__lead-text{font-size:var(--openms-body-size);line-height:1.7;color:var(--pro-text-muted)}@media(max-width:720px){.openms-lib-page--contact .contact-application__lead-columns{grid-template-columns:1fr;gap:1.1rem;text-align:center}.openms-lib-page--contact .contact-application__lead-col{justify-items:center}}.openms-lib-page--contact .contact-application__form{width:100%;max-width:48rem;margin-inline:auto;padding:var(--pro-card-pad-lg);border:none;border-radius:0;background:0 0;box-shadow:none;overflow:visible}.openms-lib-page--contact .contact-page__form-body,.openms-lib-page--contact .contact-page__tally-iframe{display:block;width:100%;max-height:none;overflow:visible;border:0;background:0 0}.openms-lib-page--contact .contact-page__tally-iframe{min-height:50rem}.openms-lib-page--contact .contact-paths-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--pro-card-gap)}.openms-lib-page--contact .openms-lib-resources__item-icon{display:grid;place-items:center;width:auto;height:auto;margin:0;padding:0;border:none;border-radius:0;background:0 0;box-shadow:none;color:rgba(var(--openms-blue-rgb),.28);font-size:clamp(2.5rem,3.8vw,3rem);line-height:1}.openms-lib-page--contact .openms-lib-resources__item-icon .fab,.openms-lib-page--contact .openms-lib-resources__item-icon .fas,.openms-lib-page--contact .openms-lib-resources__item-icon .svg-inline--fa{color:rgba(var(--openms-blue-rgb),.28)!important;font-size:1em;width:1em;height:1em}.openms-lib-page--contact .openms-lib-resources__item-icon .svg-inline--fa path{fill:currentColor!important}.openms-lib-page--contact .contact-paths-grid>.contact-page__path-item{display:flex;flex-direction:column;gap:.45rem;min-height:100%;padding:var(--pro-card-pad-lg);border:1px solid var(--pro-line);border-radius:var(--pro-radius);background:var(--openms-white);box-shadow:var(--pro-shadow);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.openms-lib-page--contact .contact-paths-grid>.contact-page__path-item:hover,.openms-lib-page--contact .contact-paths-grid>.contact-page__path-item:focus-within{transform:var(--pro-lift-sm);border-color:var(--pro-line-strong);box-shadow:var(--pro-shadow-hover)}.openms-lib-page--contact .contact-page__path-icon{display:grid;place-items:center;width:2.4rem;height:2.4rem;margin-bottom:.35rem;border-radius:.65rem;color:var(--openms-navy);background:rgba(var(--openms-navy-rgb),.06)}.openms-lib-page--contact .contact-page__path-label{margin:0;font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--pro-text-soft)}.openms-lib-page--contact .contact-page__path-title{margin:0;font-family:var(--openms-font-heading);font-size:clamp(1.05rem,1.5vw,1.2rem);font-weight:700;color:var(--openms-navy)}.openms-lib-page--contact .contact-page__path-desc{margin:0;flex:auto;font-size:var(--openms-body-size);line-height:1.55;color:rgba(var(--openms-dark-rgb),.72)}.openms-lib-page--contact .contact-page__path-link{display:inline-flex;align-items:center;gap:.3rem;margin-top:auto;padding-top:.85rem;font-size:var(--openms-text-min);font-weight:700;color:var(--openms-navy)!important;text-decoration:none!important}.openms-lib-page--contact .contact-page__path-link:hover,.openms-lib-page--contact .contact-page__path-link:focus-visible{color:var(--openms-blue)!important;outline:none}@media(max-width:900px){.openms-lib-page--contact .contact-paths-grid{grid-template-columns:1fr}}@media(max-width:640px){.openms-lib-page--contact .contact-application__form{padding:.85rem}}@media(prefers-reduced-motion:reduce){.openms-lib-page--contact .contact-paths-grid>.contact-page__path-item:hover,.openms-lib-page--contact .contact-paths-grid>.contact-page__path-item:focus-within{transform:none}}.openms-lib-page--research-partnerships .openms-lib-resources__inner{max-width:var(--pro-max)}.openms-lib-page--research-partnerships #partnerships-include .openms-lib-about,.openms-lib-page--research-partnerships #our-partners .openms-lib-resources,.openms-lib-page--research-partnerships #partnership-form .openms-lib-resources{padding-block:var(--pro-section-y)}.openms-lib-page--research-partnerships .rp-include__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--pro-card-gap);margin:0;padding:0;list-style:none}.openms-lib-page--research-partnerships .rp-include__card{position:relative;display:flex;flex-direction:column;gap:.85rem;margin:0;padding:var(--pro-card-pad-lg);font-family:var(--openms-font-heading);font-size:clamp(1.02rem,1.5vw,1.15rem);font-weight:700;line-height:1.4;color:var(--openms-navy);background:var(--openms-white);border:1px solid var(--pro-line);border-radius:var(--pro-radius);box-shadow:var(--pro-shadow);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.openms-lib-page--research-partnerships .rp-include__card::before{content:"";width:2.4rem;height:2.4rem;border-radius:.65rem;background-color:rgba(var(--openms-navy-rgb),.06);background-repeat:no-repeat;background-position:50%;background-size:1.2rem;box-shadow:none;transition:transform .2s ease}.openms-lib-page--research-partnerships .rp-include__card:nth-child(1)::before{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%230c2171" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><polyline points="14 2 14 8 20 8"/><line x1="16" y1="13" x2="8" y2="13"/><line x1="16" y1="17" x2="8" y2="17"/></svg>')}.openms-lib-page--research-partnerships .rp-include__card:nth-child(2)::before{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%230c2171" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"/><circle cx="9" cy="7" r="4"/><path d="M23 21v-2a4 4 0 0 0-3-3.87"/><path d="M16 3.13a4 4 0 0 1 0 7.75"/></svg>')}.openms-lib-page--research-partnerships .rp-include__card:nth-child(3)::before{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%230c2171" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="6" y1="3" x2="6" y2="15"/><circle cx="18" cy="6" r="3"/><circle cx="6" cy="18" r="3"/><path d="M18 9a9 9 0 0 1-9 9"/></svg>')}.openms-lib-page--research-partnerships .rp-include__card:nth-child(4)::before{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%230c2171" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="20" x2="18" y2="10"/><line x1="12" y1="20" x2="12" y2="4"/><line x1="6" y1="20" x2="6" y2="14"/></svg>')}.openms-lib-page--research-partnerships .rp-include__card:nth-child(5)::before{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%230c2171" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polygon points="12 2 2 7 12 12 22 7 12 2"/><polyline points="2 17 12 22 22 17"/><polyline points="2 12 12 17 22 12"/></svg>')}.openms-lib-page--research-partnerships .rp-include__card:hover{transform:var(--pro-lift-sm);border-color:var(--pro-line-strong);box-shadow:var(--pro-shadow-hover)}.openms-lib-page--research-partnerships .rp-include__card:hover::before{transform:none}.openms-lib-page--research-partnerships #our-partners .uni-partners{margin:0}.openms-lib-page--research-partnerships .rp-partners__lead{display:grid;gap:.15em;width:max-content;max-width:100%;margin-inline:auto}.openms-lib-page--research-partnerships .rp-partners__lead span{display:block;white-space:nowrap}.openms-lib-page--research-partnerships #our-partners .uni-partners--static .uni-partners__static{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem 1.25rem;max-width:var(--pro-cluster-max,min(100%,68rem));margin:0 auto;padding:0}.openms-lib-page--research-partnerships #our-partners .uni-partners--static .uni-partners__item{display:flex;align-items:center;justify-content:center;min-height:7rem;padding:.85rem;border:none;background:0 0;box-shadow:none}.openms-lib-page--research-partnerships #our-partners .uni-partners--static .uni-partners__item img{max-width:100%;max-height:5rem;width:auto;height:auto;object-fit:contain}.openms-lib-page--research-partnerships #our-partners .uni-partners--static .uni-partners__item-abbr{font-size:1.15rem;min-width:3.5rem;min-height:3.5rem}.openms-lib-page--research-partnerships .rp-application__inner{display:flex;flex-direction:column;gap:var(--pro-head-to-content)}.openms-lib-page--research-partnerships .rp-application__form{width:100%;max-width:48rem;margin-inline:auto;padding:0;border:none;background:0 0;box-shadow:none}.openms-lib-page--research-partnerships .rp-application__tally-iframe{display:block;width:100%;min-height:48rem;border:0;overflow:visible;background:0 0}@media(max-width:960px){.openms-lib-page--research-partnerships .rp-include__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.openms-lib-page--research-partnerships #our-partners .uni-partners--static .uni-partners__static{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:640px){.openms-lib-page--research-partnerships .rp-partners__lead{width:100%}.openms-lib-page--research-partnerships .rp-partners__lead span{white-space:normal}.openms-lib-page--research-partnerships .rp-include__grid{grid-template-columns:1fr}.openms-lib-page--research-partnerships #our-partners .uni-partners--static .uni-partners__static{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){.openms-lib-page--research-partnerships .rp-include__card:hover{transform:none}}.openms-lib-page--donate .openms-lib-resources__inner{max-width:min(56rem,100%)}.openms-lib-page--donate #donate-impact .openms-lib-resources{padding-block:var(--pro-section-y);padding-top:calc(var(--pro-section-y) * .5)}.openms-lib-page--donate #donate-impact .openms-lib-resources__inner{display:flex;flex-direction:column;gap:var(--pro-head-to-content)}.openms-lib-page--donate .donate-impact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--pro-card-gap);margin:0;padding:0;list-style:none}.openms-lib-page--donate .donate-impact-card{display:flex;flex-direction:column;gap:.55rem;margin:0;padding:var(--pro-card-pad-lg);border:1px solid var(--pro-line);border-radius:var(--pro-radius);background:var(--openms-white);box-shadow:var(--pro-shadow);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.openms-lib-page--donate .donate-impact-card:hover{transform:var(--pro-lift-sm);border-color:var(--pro-line-strong);box-shadow:var(--pro-shadow-hover)}.openms-lib-page--donate .donate-impact-card__icon{display:grid;place-items:center;width:2.5rem;height:2.5rem;margin-bottom:.35rem;border-radius:.65rem;color:var(--openms-navy);background:rgba(var(--openms-navy-rgb),.06)}.openms-lib-page--donate .donate-impact-card__title{margin:0;font-family:var(--openms-font-heading);font-size:clamp(1.05rem,1.5vw,1.2rem);font-weight:700;color:var(--openms-navy)}.openms-lib-page--donate .donate-impact-card__text{margin:0;font-size:var(--openms-body-size);line-height:1.6;color:rgba(var(--openms-dark-rgb),.72)}.openms-lib-page--donate .donate-application{padding-block:var(--pro-section-y);padding-top:calc(var(--pro-section-y) * .5)}.openms-lib-page--donate .donate-application__inner{display:flex;flex-direction:column;gap:var(--pro-head-to-content)}.openms-lib-page--donate .donate-application__note{display:grid;gap:.65rem;width:100%;max-width:44rem;margin-inline:auto;padding:var(--pro-card-pad-lg);border:1px solid var(--pro-line);border-radius:var(--pro-radius);background:var(--pro-band-soft);text-align:center}.openms-lib-page--donate .donate-application__note p{margin:0;font-size:var(--openms-body-size);line-height:1.65;color:var(--pro-text-muted)}.openms-lib-page--donate .donate-page__tax-note{font-size:var(--openms-text-min);color:rgba(var(--openms-dark-rgb),.62)}.openms-lib-page--donate .donate-application__note a{color:var(--openms-blue);font-weight:600;text-decoration:underline;text-underline-offset:.15em}.openms-lib-page--donate .donate-application__form,.openms-lib-page--donate .donate-page__embed{width:100%;max-width:48rem;margin-inline:auto;padding:0;border:none;border-radius:0;background:0 0;box-shadow:none;overflow:visible}.openms-lib-page--donate .donate-page__zeffy-iframe{display:block;width:100%;min-height:52rem;border:0;overflow:visible;background:0 0}.openms-lib-page--donate .donate-application__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem}.openms-lib-page--donate .donate-page__pending{width:100%;max-width:40rem;margin-inline:auto;padding:1.25rem 1.5rem;border:1px solid var(--pro-line);border-radius:var(--pro-radius);background:var(--openms-white);box-shadow:var(--pro-shadow);text-align:center}.openms-lib-page--donate .donate-page__pending p{margin:0;font-size:var(--openms-body-size-lg);line-height:1.65;color:var(--pro-text-muted)}.openms-lib-page--donate .donate-page__pending a{color:var(--openms-blue);font-weight:600}@media(max-width:900px){.openms-lib-page--donate .donate-impact-grid{grid-template-columns:1fr}}@media(max-width:720px){.openms-lib-page--donate .donate-page__zeffy-iframe{min-height:72rem}.openms-lib-page--donate .donate-application__actions{flex-direction:column;align-items:stretch}}@media(max-width:720px){.contact-page__tally-iframe,.fellowship-page__tally-iframe,.services-page__tally-iframe,.rp-application__tally-iframe,.donate-page__zeffy-iframe,.openms-lib-page--contact .contact-page__tally-iframe,.openms-lib-page--fellowship .fellowship-page__tally-iframe,.openms-lib-page--services-support .services-page__tally-iframe,.openms-lib-page--research-partnerships .rp-application__tally-iframe,.openms-lib-page--donate .donate-page__zeffy-iframe{overflow:visible!important;max-height:none}.contact-page__form-body,.fellowship-page__form-body,.services-page__form-body,.rp-application__form,.donate-application__form,.donate-page__embed,.contact-application__form,.fellowship-application__form-card,.services-support-application__form{overflow:visible;max-height:none}}.openms-lib-page--governance #related-pages.openms-lib-page__anchor,.openms-lib-page--our-sponsors #sponsor-cta.openms-lib-page__anchor,.openms-lib-page--sponsor-us #become-a-sponsor.openms-lib-page__anchor{background:var(--openms-white);padding-inline:max(var(--olib-pad-x,clamp(1.25rem,4vw,2rem)),calc((100% - var(--pro-max))/2 + var(--olib-pad-x,clamp(1.25rem,4vw,2rem))));padding-block:var(--pro-section-y)}.openms-lib-page--governance .governance-cta-band,.openms-lib-page--our-sponsors .governance-cta-band,.openms-lib-page--sponsor-us .governance-cta-band{width:100%;max-width:none;margin-inline:0;padding-inline:0;box-sizing:border-box}.openms-lib-page--governance .governance-cta-band__panel,.openms-lib-page--our-sponsors .governance-cta-band__panel,.openms-lib-page--sponsor-us .governance-cta-band__panel{display:flex;flex-direction:column;align-items:center;gap:var(--pro-stack-actions);margin:0;padding:clamp(2.5rem,5vw,3.5rem)var(--pro-card-pad-lg);border:none;border-radius:var(--pro-radius);background:radial-gradient(circle at 100% 0%,rgba(var(--openms-blue-rgb),.28),transparent 42%),var(--openms-navy);box-shadow:none;color:var(--openms-white);text-align:center}.openms-lib-page--governance .governance-cta-band__copy,.openms-lib-page--our-sponsors .governance-cta-band__copy,.openms-lib-page--sponsor-us .governance-cta-band__copy{flex:initial;max-width:46ch}.openms-lib-page--governance .governance-cta-band__kicker,.openms-lib-page--our-sponsors .governance-cta-band__kicker,.openms-lib-page--sponsor-us .governance-cta-band__kicker{margin:0 0 var(--pro-stack-eyebrow);font-size:var(--openms-text-min);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--pro-kicker-on-dark)}.openms-lib-page--governance .governance-cta-band__text,.openms-lib-page--our-sponsors .governance-cta-band__text,.openms-lib-page--sponsor-us .governance-cta-band__text{margin:0;color:var(--openms-white)}.openms-lib-page--governance .governance-cta-band__text strong,.openms-lib-page--our-sponsors .governance-cta-band__text strong,.openms-lib-page--sponsor-us .governance-cta-band__text strong{display:block;margin:0;font-family:var(--openms-font-heading);font-size:calc(var(--openms-heading-lg-size) * 1.15);font-weight:var(--openms-heading-lg-weight);line-height:1.3;letter-spacing:normal;text-transform:uppercase;color:var(--openms-white)}.openms-lib-page--governance .governance-cta-band__note,.openms-lib-page--our-sponsors .governance-cta-band__note,.openms-lib-page--sponsor-us .governance-cta-band__note{display:block;margin-top:var(--pro-stack-lead);font-family:var(--openms-font-body);font-size:var(--openms-body-size-lg);font-weight:400;line-height:1.65;color:var(--pro-text-on-dark)}.openms-lib-page--governance .governance-cta-band__actions,.openms-lib-page--our-sponsors .governance-cta-band__actions,.openms-lib-page--sponsor-us .governance-cta-band__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--pro-space-4)}.openms-lib-page--governance .governance-cta-band__actions .openms-lib-btn,.openms-lib-page--our-sponsors .governance-cta-band__actions .openms-lib-btn,.openms-lib-page--sponsor-us .governance-cta-band__actions .openms-lib-btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-width:clamp(10rem,22vw,14rem);min-height:2.85rem;padding:.75rem 1.35rem;border-radius:var(--openms-btn-pill-radius);font-size:var(--openms-body-size);font-weight:600;line-height:1.3;text-decoration:none;white-space:nowrap;transition:var(--openms-btn-motion)}.openms-lib-page--governance .governance-cta-band__actions .openms-lib-btn--primary,.openms-lib-page--our-sponsors .governance-cta-band__actions .openms-lib-btn--primary,.openms-lib-page--sponsor-us .governance-cta-band__actions .openms-lib-btn--primary{border:2px solid var(--openms-white);background:var(--openms-white);color:var(--openms-navy)!important}.openms-lib-page--governance .governance-cta-band__actions .openms-lib-btn--primary:hover,.openms-lib-page--governance .governance-cta-band__actions .openms-lib-btn--primary:focus-visible,.openms-lib-page--our-sponsors .governance-cta-band__actions .openms-lib-btn--primary:hover,.openms-lib-page--our-sponsors .governance-cta-band__actions .openms-lib-btn--primary:focus-visible,.openms-lib-page--sponsor-us .governance-cta-band__actions .openms-lib-btn--primary:hover,.openms-lib-page--sponsor-us .governance-cta-band__actions .openms-lib-btn--primary:focus-visible{border-color:var(--openms-white);background:var(--openms-white);color:var(--openms-navy)!important;transform:scale(var(--openms-btn-hover-scale));box-shadow:0 0 0 var(--openms-btn-glow-size)rgba(255,255,255,.22);outline:none;text-decoration:none}.openms-lib-page--our-sponsors .governance-cta-band__actions .openms-lib-btn--ghost,.openms-lib-page--sponsor-us .governance-cta-band__actions .openms-lib-btn--ghost{border:2px solid rgba(var(--openms-white-rgb),.34);background:0 0;color:var(--openms-white)!important;box-shadow:0 0 0 0 var(--openms-btn-glow)}.openms-lib-page--our-sponsors .governance-cta-band__actions .openms-lib-btn--ghost:hover,.openms-lib-page--our-sponsors .governance-cta-band__actions .openms-lib-btn--ghost:focus-visible,.openms-lib-page--sponsor-us .governance-cta-band__actions .openms-lib-btn--ghost:hover,.openms-lib-page--sponsor-us .governance-cta-band__actions .openms-lib-btn--ghost:focus-visible{border-color:rgba(var(--openms-white-rgb),.34);background:0 0;color:var(--openms-white)!important;transform:scale(var(--openms-btn-hover-scale));box-shadow:0 0 0 var(--openms-btn-glow-size)var(--openms-btn-glow);outline:none;text-decoration:none}@media(max-width:640px){.openms-lib-page--governance .governance-cta-band__actions .openms-lib-btn,.openms-lib-page--our-sponsors .governance-cta-band__actions .openms-lib-btn,.openms-lib-page--sponsor-us .governance-cta-band__actions .openms-lib-btn{width:100%;min-width:0}}.openms-lib-page--governance .openms-lib-hero--pro{padding-bottom:calc(var(--openms-btn-glow-size,6px) + .5rem);overflow:visible}.openms-lib-page--governance .openms-lib-page__body>.openms-lib-page__anchor{padding-block:var(--pro-section-y)0}.openms-lib-page--governance .openms-lib-about,.openms-lib-page--governance .openms-lib-resources{padding-block:0;padding-top:0}.openms-lib-page--governance .openms-lib-about__inner,.openms-lib-page--governance .openms-lib-resources__inner{gap:var(--pro-head-to-content);padding-bottom:0}.openms-lib-page--governance .openms-lib-about__head{grid-template-columns:1fr;align-items:start}.openms-lib-page--governance #governance-bodies .openms-lib-about__head{display:grid;justify-items:center;text-align:center;max-width:min(100%,42rem);margin-inline:auto}.openms-lib-page--governance #governance-bodies .openms-lib-about__head-copy{justify-items:center;text-align:center}.openms-lib-page--governance #governance-bodies .openms-lib-about__eyebrow{justify-content:center}.openms-lib-page--governance #governance-bodies .openms-lib-about__title,.openms-lib-page--governance #governance-bodies .openms-lib-about__lead{text-align:center;margin-inline:auto}.openms-lib-page--governance .openms-lib-about__eyebrow{margin-bottom:var(--pro-stack-eyebrow)}.openms-lib-page--governance .openms-lib-about__lead{margin-top:var(--pro-stack-lead);max-width:none}.openms-lib-page--governance #responsibilities .openms-lib-about__inner{display:grid;grid-template-columns:1fr;gap:var(--pro-head-to-content);align-items:start}.openms-lib-page--governance #responsibilities .openms-lib-about__head{grid-template-columns:1fr;align-items:start;max-width:min(100%,28rem);margin:0}.openms-lib-page--governance #responsibilities .openms-lib-about__head-copy{max-width:min(100%,28rem)}.openms-lib-page--governance #responsibilities .openms-lib-about__lead{max-width:36ch}.openms-lib-page--governance #responsibilities .governance-compare-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--pro-card-gap,1rem);width:100%;margin:0}@media(max-width:900px){.openms-lib-page--governance #responsibilities .openms-lib-about__head,.openms-lib-page--governance #responsibilities .openms-lib-about__head-copy{max-width:min(100%,36rem)}.openms-lib-page--governance #responsibilities .openms-lib-about__lead{max-width:none}}@media(max-width:640px){.openms-lib-page--governance #responsibilities .governance-compare-grid{grid-template-columns:1fr}}.openms-lib-page--governance #governance-bodies .governance-lead-line,.openms-lib-page--governance #core-developers .governance-lead-line{display:block;white-space:nowrap}.openms-lib-page--governance #responsibilities .governance-lead-line{display:block;white-space:normal}@media(max-width:900px){.openms-lib-page--governance #governance-bodies .governance-lead-line,.openms-lib-page--governance #core-developers .governance-lead-line{white-space:normal}}.openms-lib-page--governance .governance-tile__tag{margin:0;font-size:var(--openms-text-min);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--openms-blue)}.openms-lib-page--governance #governance-bodies .openms-lib-about__tile-title{margin:.35rem 0 0;font-family:var(--openms-font-heading);font-size:clamp(1rem,1.4vw,1.1rem);font-weight:700;line-height:1.3;letter-spacing:normal;color:var(--pro-card-title,rgba(var(--openms-dark-rgb),.82))}.openms-lib-page--governance #governance-bodies .openms-lib-about__tile-text{margin:.45rem 0 0;font-family:var(--openms-font-body);font-size:var(--openms-body-size);line-height:1.55;color:rgba(var(--openms-dark-rgb),.72)}.openms-lib-page--governance .governance-tile__top{display:grid;gap:.35rem;width:100%}.openms-lib-page--governance .governance-tile__top .openms-lib-about__num{margin-bottom:0}.openms-lib-page--governance .governance-tile__top .governance-tile__tag{margin:0}.openms-lib-page--governance .openms-lib-about__num{display:block;width:auto;height:auto;margin:0 0 .2rem;padding:0;border:none;border-radius:0;background:0 0;font-family:var(--openms-font-heading);font-size:clamp(2.5rem,4.8vw,3.4rem);font-weight:800;line-height:.88;letter-spacing:-.045em;color:rgba(var(--openms-blue-rgb),.28);transition:color .22s ease}.openms-lib-page--governance .openms-lib-about__tile:hover .openms-lib-about__num,.openms-lib-page--governance .openms-lib-about__tile:focus-within .openms-lib-about__num{color:var(--openms-blue)}.openms-lib-page--governance .openms-lib-resources__item-icon{display:grid;place-items:center;width:auto;height:auto;margin:0;padding:0;border:none;border-radius:0;background:0 0;box-shadow:none;color:rgba(var(--openms-blue-rgb),.28);font-size:2rem;line-height:1;transition:color .22s ease}.openms-lib-page--governance .openms-lib-resources__item-icon .fab,.openms-lib-page--governance .openms-lib-resources__item-icon .fas,.openms-lib-page--governance .openms-lib-resources__item-icon .svg-inline--fa{color:rgba(var(--openms-blue-rgb),.28)!important;font-size:1em;width:1em;height:1em;transition:color .22s ease}.openms-lib-page--governance .openms-lib-resources__item-icon .svg-inline--fa path{fill:currentColor!important}.openms-lib-page--governance .governance-tile__list{display:grid;gap:.45rem;margin:.35rem 0 0;padding:0;list-style:none;flex:auto}.openms-lib-page--governance .governance-tile__list li{position:relative;margin:0;padding-left:1rem;font-size:var(--openms-body-size);line-height:1.45;color:rgba(var(--openms-dark-rgb),.72)}.openms-lib-page--governance .governance-tile__list li::before{content:"";position:absolute;left:0;top:.55em;width:.32rem;height:.32rem;border-radius:50%;background:rgba(var(--openms-navy-rgb),.35)}.openms-lib-page--governance .governance-tile__note{margin:auto 0 0;padding-top:1rem;font-size:var(--openms-text-min);line-height:1.5;color:var(--pro-text-muted)}.openms-lib-page--governance .openms-lib-about__tile-link{display:inline-flex;align-items:center;gap:.3rem;margin-top:auto;padding-top:1rem;font-size:var(--openms-text-min);font-weight:700;color:var(--openms-navy)!important;text-decoration:none!important;transition:gap .2s ease}.openms-lib-page--governance .openms-lib-about__tile:hover .openms-lib-about__tile-link,.openms-lib-page--governance .openms-lib-about__tile:focus-within .openms-lib-about__tile-link{gap:.5rem}.openms-lib-page--governance .governance-pillars-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.openms-lib-page--governance .openms-lib-about__tile,.openms-lib-page--governance .openms-lib-resources__item,.openms-lib-page--governance .openms-lib-resources__item--static{border:1px solid var(--pro-line);border-radius:var(--pro-radius);background:var(--openms-white);box-shadow:var(--pro-shadow);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.openms-lib-page--governance .openms-lib-resources__item--static{cursor:default}.openms-lib-page--governance .openms-lib-about__tile:hover,.openms-lib-page--governance .openms-lib-about__tile:focus-within,.openms-lib-page--governance .openms-lib-resources__item--static:hover,.openms-lib-page--governance .openms-lib-resources__item--static:focus-within{transform:var(--pro-lift-sm);border-color:var(--pro-line-strong);box-shadow:var(--pro-shadow-hover)}.openms-lib-page--governance #governance-bodies .openms-lib-about__tile{border:none;box-shadow:none;background:0 0}.openms-lib-page--governance #governance-bodies .openms-lib-about__tile:hover,.openms-lib-page--governance #governance-bodies .openms-lib-about__tile:focus-within{border:none;box-shadow:none;transform:none}.openms-lib-page--governance #responsibilities .openms-lib-resources__item--static{transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease,background .22s ease,color .22s ease}.openms-lib-page--governance #responsibilities .openms-lib-resources__item--static:hover,.openms-lib-page--governance #responsibilities .openms-lib-resources__item--static:focus-within{border-color:transparent;background:linear-gradient(160deg,rgba(255,255,255,.14) 0%,transparent 42%),var(--openms-navy);box-shadow:0 .85rem 1.85rem rgba(var(--openms-navy-rgb),.32);color:var(--openms-white);transform:translateY(-3px)}.openms-lib-page--governance #responsibilities .openms-lib-resources__item--static:hover .openms-lib-resources__item-tag,.openms-lib-page--governance #responsibilities .openms-lib-resources__item--static:focus-within .openms-lib-resources__item-tag{color:rgba(var(--openms-white-rgb),.72)}.openms-lib-page--governance #responsibilities .openms-lib-resources__item--static:hover .openms-lib-resources__item-title,.openms-lib-page--governance #responsibilities .openms-lib-resources__item--static:focus-within .openms-lib-resources__item-title{color:var(--openms-white)}.openms-lib-page--governance #responsibilities .openms-lib-resources__item--static:hover .openms-lib-resources__item-text,.openms-lib-page--governance #responsibilities .openms-lib-resources__item--static:focus-within .openms-lib-resources__item-text{color:rgba(var(--openms-white-rgb),.88)}.openms-lib-page--governance #responsibilities .openms-lib-resources__item--static:hover .openms-lib-resources__item-icon,.openms-lib-page--governance #responsibilities .openms-lib-resources__item--static:focus-within .openms-lib-resources__item-icon,.openms-lib-page--governance #responsibilities .openms-lib-resources__item--static:hover .openms-lib-resources__item-icon .fas,.openms-lib-page--governance #responsibilities .openms-lib-resources__item--static:focus-within .openms-lib-resources__item-icon .fas,.openms-lib-page--governance #responsibilities .openms-lib-resources__item--static:hover .openms-lib-resources__item-icon .svg-inline--fa,.openms-lib-page--governance #responsibilities .openms-lib-resources__item--static:focus-within .openms-lib-resources__item-icon .svg-inline--fa{color:rgba(var(--openms-white-rgb),.88)!important}.openms-lib-page--governance #responsibilities .openms-lib-resources__item--static:hover .openms-lib-resources__item-icon .svg-inline--fa path,.openms-lib-page--governance #responsibilities .openms-lib-resources__item--static:focus-within .openms-lib-resources__item-icon .svg-inline--fa path{fill:currentColor!important}.openms-lib-page--governance .openms-lib-resources__item--static:hover .openms-lib-resources__item-icon,.openms-lib-page--governance .openms-lib-resources__item--static:focus-within .openms-lib-resources__item-icon,.openms-lib-page--governance .openms-lib-resources__item--static:hover .openms-lib-resources__item-icon .fab,.openms-lib-page--governance .openms-lib-resources__item--static:focus-within .openms-lib-resources__item-icon .fab,.openms-lib-page--governance .openms-lib-resources__item--static:hover .openms-lib-resources__item-icon .fas,.openms-lib-page--governance .openms-lib-resources__item--static:focus-within .openms-lib-resources__item-icon .fas,.openms-lib-page--governance .openms-lib-resources__item--static:hover .openms-lib-resources__item-icon .svg-inline--fa,.openms-lib-page--governance .openms-lib-resources__item--static:focus-within .openms-lib-resources__item-icon .svg-inline--fa{color:var(--openms-blue)!important}.openms-lib-page--governance .openms-lib-resources__item--static:hover .openms-lib-resources__item-icon .svg-inline--fa path,.openms-lib-page--governance .openms-lib-resources__item--static:focus-within .openms-lib-resources__item-icon .svg-inline--fa path{fill:currentColor!important}.openms-lib-page--governance .openms-lib-resources__item--static .openms-lib-resources__item-title{font-size:clamp(1rem,1.4vw,1.1rem);font-weight:700;line-height:1.3;color:var(--pro-card-title,rgba(var(--openms-dark-rgb),.82))}.openms-lib-page--governance .governance-note{display:grid;gap:var(--pro-space-4);width:100%;max-width:none;margin:var(--pro-space-5)0 0;padding:var(--pro-space-5)0 0;border:none;border-top:1px solid var(--pro-line);background:0 0}.openms-lib-page--governance .governance-note__title{margin:0;font-family:var(--openms-font-heading);font-size:calc(var(--openms-heading-lg-size) * 1.05);font-weight:var(--openms-heading-lg-weight);line-height:1.3;letter-spacing:normal;text-transform:uppercase;color:var(--openms-navy)}.openms-lib-page--governance .governance-note__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--pro-space-4)var(--pro-space-5);margin:0;padding:0;list-style:none}.openms-lib-page--governance .governance-note__item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.85rem;align-items:start;margin:0;padding:0}.openms-lib-page--governance .governance-note__index{display:block;margin:0;font-family:var(--openms-font-heading);font-size:clamp(2.5rem,4.8vw,3.4rem);font-weight:800;line-height:.88;letter-spacing:-.045em;color:rgba(var(--openms-blue-rgb),.28)}.openms-lib-page--governance .governance-note__body{min-width:0;padding-top:.35em}.openms-lib-page--governance .governance-note__label{margin:0 0 .35rem;font-family:var(--openms-font-heading);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--openms-blue)}.openms-lib-page--governance .governance-note__text{margin:0;font-family:var(--openms-font-body);font-size:var(--openms-body-size);font-weight:400;line-height:1.55;color:rgba(var(--openms-dark-rgb),.72)}@media(max-width:700px){.openms-lib-page--governance .governance-note__list{grid-template-columns:1fr;gap:var(--pro-space-3)}}.openms-lib-page--governance .openms-lib-resources__lead a{color:var(--openms-navy);font-weight:600}.openms-lib-page--governance #core-developers .openms-lib-resources__head{max-width:none}.openms-lib-page--governance #core-developers .openms-lib-resources__lead{max-width:none}@media(max-width:960px){.openms-lib-page--governance .governance-pillars-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.openms-lib-page--governance .governance-pillars-grid{grid-template-columns:1fr}}.openms-lib-page--our-sponsors #our-sponsors{background:var(--openms-white)!important}.openms-lib-page--our-sponsors .openms-lib-page__outro .openms-lib-block--developers{background:var(--openms-white);padding-inline:0}.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--our-sponsors .openms-lib-developers__card--build,.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--our-sponsors .openms-lib-developers__review,.openms-lib-page--openms-lib.openms-lib-page--our-sponsors .openms-lib-developers__card--build,.openms-lib-page--openms-lib.openms-lib-page--our-sponsors .openms-lib-developers__review{box-sizing:border-box;background:var(--openms-navy)!important;color:var(--openms-white)!important;box-shadow:none!important}.openms-lib-page--our-sponsors #our-sponsors .openms-lib-resources{padding-block:var(--pro-section-y)}.openms-lib-page--our-sponsors .openms-lib-resources__head{max-width:42rem}.openms-lib-page--our-sponsors .sponsors-logo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem .75rem;max-width:36rem;margin:0 auto;width:100%}.openms-lib-page--our-sponsors .about-sponsors-logos__item{display:flex;align-items:center;justify-content:center;min-height:6.5rem;padding:.35rem;border:none;border-radius:0;background:0 0;box-shadow:none;text-decoration:none;transition:transform .2s ease}.openms-lib-page--our-sponsors .about-sponsors-logos__item:hover,.openms-lib-page--our-sponsors .about-sponsors-logos__item:focus-visible,.openms-lib-page--sponsor-us .about-sponsors-logos__item:hover,.openms-lib-page--sponsor-us .about-sponsors-logos__item:focus-visible{transform:var(--pro-lift-sm);border:none;background:0 0;box-shadow:none;outline:none}.openms-lib-page--our-sponsors .about-sponsors-logos__item--dark,.openms-lib-page--our-sponsors .about-sponsors-logos__item--dark:hover,.openms-lib-page--our-sponsors .about-sponsors-logos__item--dark:focus-visible,.openms-lib-page--sponsor-us .about-sponsors-logos__item--dark:hover,.openms-lib-page--sponsor-us .about-sponsors-logos__item--dark:focus-visible{background:0 0;border:none;box-shadow:none}.openms-lib-page--our-sponsors .about-sponsors-logos__logo,.openms-lib-page--sponsor-us .about-sponsors-logos__logo{width:100%;max-width:12.5rem;max-height:4.25rem;height:auto;object-fit:contain}.openms-lib-page--our-sponsors .about-sponsors-logos__item .about-sponsors-logos__logo[src*=Elixir]{max-width:9.5rem;max-height:7.5rem}.openms-lib-page--our-sponsors .sponsors-tier{display:grid;gap:var(--pro-space-3)}.openms-lib-page--our-sponsors .sponsors-tier+.sponsors-tier{margin-top:var(--pro-space-5)}.openms-lib-page--our-sponsors .sponsors-tier__title{margin:0;font-family:var(--openms-font-heading);font-size:var(--openms-secondary-heading-size);font-weight:700;color:var(--openms-navy)}.openms-lib-page--our-sponsors .openms-lib-developers__card--build .openms-lib-developers__card-text{white-space:normal;max-width:42ch}.openms-lib-page--our-sponsors .openms-lib-developers__card--build .openms-lib-btn--ghost{border-color:rgba(var(--openms-white-rgb),.55)!important;background:0 0!important;color:var(--openms-white)!important}.openms-lib-page--our-sponsors .openms-lib-developers__card--build .openms-lib-btn--ghost:hover,.openms-lib-page--our-sponsors .openms-lib-developers__card--build .openms-lib-btn--ghost:focus-visible,.openms-lib-page--our-sponsors .openms-lib-developers__card--build .openms-lib-btn--ghost:active{border-color:var(--openms-white)!important;background:rgba(var(--openms-white-rgb),.12)!important;color:var(--openms-white)!important;transform:scale(var(--openms-btn-hover-scale));box-shadow:0 0 0 var(--openms-btn-glow-size)rgba(255,255,255,.28)}@media(max-width:900px){.openms-lib-page--our-sponsors .sponsors-logo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:560px){.openms-lib-page--our-sponsors .sponsors-logo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.openms-lib-page--our-sponsors .about-sponsors-logos__item{min-height:5.5rem;padding:.25rem}}.openms-lib-page--sponsor-us #why-sponsor{background:var(--pro-band-soft)!important}.openms-lib-page--sponsor-us #current-sponsors,.openms-lib-page--sponsor-us #tiers,.openms-lib-page--sponsor-us #faq,.openms-lib-page--sponsor-us #become-a-sponsor,.openms-lib-page--sponsor-us .openms-lib-page__outro .openms-lib-block--developers{background:var(--openms-white)!important}.openms-lib-page--sponsor-us #become-a-sponsor,.openms-lib-page--sponsor-us .openms-lib-page__outro .openms-lib-block--developers{padding-inline:0}.openms-lib-page--sponsor-us #why-sponsor .openms-lib-about{padding-block:var(--pro-section-y);padding-top:calc(var(--pro-section-y) * .5)}.openms-lib-page--sponsor-us #why-sponsor .openms-lib-about__inner{gap:var(--pro-head-to-content,clamp(1.5rem,3vw,2.25rem))}.openms-lib-page--sponsor-us .openms-lib-about__head{grid-template-columns:minmax(0,1fr);align-items:start;min-width:0}.openms-lib-page--sponsor-us .openms-lib-about__eyebrow{margin-bottom:.1rem}.openms-lib-page--sponsor-us .openms-lib-about__lead{margin-top:.2rem;max-width:min(58rem,100%);overflow-wrap:break-word}.openms-lib-page--sponsor-us .sponsor-lead-line{display:block}.openms-lib-page--sponsor-us .openms-lib-about__mosaic{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.75rem,1.5vw,1.1rem);width:100%;max-width:100%;min-width:0;align-items:start}.openms-lib-page--sponsor-us .openms-lib-about__tile{box-sizing:border-box;gap:.3rem;min-height:0;min-width:0;max-width:100%;padding:clamp(.85rem,1.6vw,1.05rem);overflow:hidden}.openms-lib-page--sponsor-us .openms-lib-about__tile>*{max-width:100%}.openms-lib-page--sponsor-us .sponsor-tile__top{display:flex;align-items:center;gap:.75rem;width:100%;min-width:0}.openms-lib-page--sponsor-us .sponsor-tile__top .openms-lib-about__num{flex:none;margin-bottom:0}.openms-lib-page--sponsor-us .sponsor-tile__top .openms-lib-about__tile-title{flex:auto;min-width:0;margin:0;overflow-wrap:break-word}.openms-lib-page--sponsor-us .sponsor-tile__top{display:flex;align-items:center;gap:.75rem;width:100%;min-width:0}.openms-lib-page--sponsor-us .sponsor-tile__top .openms-lib-about__num{flex:none;margin-bottom:0}.openms-lib-page--sponsor-us .sponsor-tile__top .openms-lib-about__tile-title{flex:auto;min-width:0;margin:0;overflow-wrap:break-word}.openms-lib-page--sponsor-us .sponsor-tile__list{display:grid;gap:.3rem;box-sizing:border-box;width:100%;min-width:0;margin:.2rem 0 0;padding:0;list-style:none}.openms-lib-page--sponsor-us .sponsor-tile__list li{position:relative;margin:0;padding-left:1rem;font-size:var(--openms-body-size);line-height:1.45;overflow-wrap:break-word;color:rgba(var(--openms-dark-rgb),.72)}.openms-lib-page--sponsor-us .sponsor-tile__list li::before{content:"";position:absolute;left:0;top:.55em;width:.32rem;height:.32rem;border-radius:50%;background:rgba(var(--openms-navy-rgb),.35)}.openms-lib-page--sponsor-us .openms-lib-about__tile-link{display:inline-flex;align-items:center;gap:.3rem;margin-top:.55rem;padding-top:0;font-size:var(--openms-text-min);font-weight:700;color:var(--openms-navy)!important;text-decoration:none!important;transition:gap .2s ease}.openms-lib-page--sponsor-us .openms-lib-about__tile:hover .openms-lib-about__tile-link,.openms-lib-page--sponsor-us .openms-lib-about__tile:focus-within .openms-lib-about__tile-link{gap:.5rem}.openms-lib-page--sponsor-us .sponsor-tiers-band{padding-block:var(--pro-section-y)}.openms-lib-page--sponsor-us .sponsor-tiers-band .governance-section.sponsor-tiers{padding:0}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-section__head{display:grid;grid-template-columns:minmax(0,.85fr)minmax(0,1.15fr);align-items:start;justify-items:start;column-gap:var(--pro-col-gap,clamp(2rem,5vw,4rem));row-gap:0;max-width:100%;margin-inline:0;margin-bottom:var(--pro-head-to-content,clamp(2.25rem,4.5vw,3.25rem));text-align:left}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-eyebrow{grid-column:1;grid-row:1;justify-self:start;margin-inline:0}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-section__head h2{grid-column:1;grid-row:2}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-section__lead{grid-column:2;grid-row:1/span 2;align-self:center}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-eyebrow{display:inline-flex;align-items:center;gap:.4rem;margin:0 0 var(--pro-stack-eyebrow);padding:0;border:none;border-radius:0;background:0 0;font-size:var(--openms-text-min);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--openms-blue);box-shadow:none}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-section__head h2{margin:0;font-family:var(--openms-font-heading);font-size:calc(var(--openms-heading-lg-size) * 1.15);font-weight:var(--openms-heading-lg-weight);line-height:1.3;letter-spacing:normal;text-transform:uppercase;color:var(--openms-navy)}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-section__lead{display:block;margin:0;max-width:var(--pro-measure-wide,58ch);overflow-wrap:break-word;font-size:var(--openms-body-size-lg);line-height:1.65;color:var(--pro-text-muted);text-align:left}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-lead-col{display:inline;margin:0}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-lead-col+.sponsor-lead-col::before{content:" "}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tiers__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:0;align-items:stretch}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier{--tier-accent:var(--openms-blue);--tier-accent-rgb:var(--openms-blue-rgb);position:relative;display:flex;flex-direction:column;min-width:0;min-height:100%;padding:0;border:1px solid var(--pro-line);border-radius:1rem;background:var(--openms-white);box-shadow:var(--pro-shadow);overflow:visible;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier::before{content:none}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier--bronze{--tier-accent:#a9632a;--tier-accent-rgb:169, 99, 42}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier--silver{--tier-accent:#65727e;--tier-accent-rgb:101, 114, 126}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier--gold{--tier-accent:#a97808;--tier-accent-rgb:169, 120, 8}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier--platinum{--tier-accent:#5d5d70;--tier-accent-rgb:93, 93, 112}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier:hover,.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier:focus-within{transform:none;border-color:var(--pro-line);background:var(--openms-white);box-shadow:var(--pro-shadow)}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier--featured:hover,.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier--featured:focus-within{border-color:var(--tier-accent);box-shadow:0 0 0 1px var(--tier-accent),var(--pro-shadow)}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier--featured{border-color:var(--tier-accent);box-shadow:0 0 0 1px var(--tier-accent),var(--pro-shadow)}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier__badge{position:absolute;top:0;left:50%;z-index:2;margin:0;padding:.28rem .7rem;border-radius:999px;background:var(--openms-blue);color:var(--openms-white);font-size:.68rem;font-weight:700;letter-spacing:.04em;line-height:1.2;white-space:nowrap;transform:translate(-50%,-50%)}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier__toggle{display:flex;flex-direction:column;gap:.65rem;flex:auto;width:100%;min-height:100%;height:100%;padding:1rem .95rem .9rem;margin:0;text-align:left;cursor:pointer;color:inherit;appearance:none;background:0 0;border:0;font:inherit}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier__header{display:grid;gap:.25rem}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier__name{margin:0;font-family:var(--openms-font-heading);font-size:.78rem;font-weight:700;line-height:1.2;letter-spacing:.08em;text-transform:uppercase;color:var(--tier-accent)}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier__contribution{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem;margin:.15rem 0 0;line-height:1}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier__amount{font-family:var(--openms-font-heading);font-size:clamp(1.55rem,2.4vw,1.9rem);font-weight:800;letter-spacing:-.04em;color:var(--tier-accent)}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier__period{font-size:.8rem;font-weight:600;color:var(--tier-accent)}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier__motto{margin:0;font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--tier-accent);opacity:.85}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier__summary{margin:0;font-size:var(--openms-text-min);line-height:1.4;color:var(--pro-text-muted)}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier__benefits{display:grid;gap:.4rem;margin:0;padding:0;list-style:none;flex:auto}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier__benefits li{display:grid;grid-template-columns:auto 1fr;gap:.4rem;align-items:start;margin:0;font-size:var(--openms-text-min);line-height:1.35;color:rgba(var(--openms-dark-rgb),.82)}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier__check{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;margin-top:.05rem;color:#1f9d63}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier__check svg{width:1.125rem;height:1.125rem}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier__cta{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;width:100%;min-height:2.85rem;margin-top:auto;padding:.75rem 1.35rem;border:2px solid var(--openms-blue);border-radius:var(--openms-btn-pill-radius);background:0 0;font-size:var(--openms-body-size);font-weight:600;line-height:1.3;color:var(--openms-blue)!important;text-decoration:none;box-shadow:0 0 0 0 var(--openms-btn-glow);transition:var(--openms-btn-motion);pointer-events:auto}@media(hover:hover) and (pointer:fine){.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier__cta:hover{border-color:var(--openms-blue);background:var(--openms-blue);color:var(--openms-white)!important;transform:scale(var(--openms-btn-hover-scale));box-shadow:0 0 0 var(--openms-btn-glow-size)var(--openms-btn-glow)}}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier__toggle:focus-visible .sponsor-tier__cta{border-color:var(--openms-blue);background:var(--openms-blue);color:var(--openms-white)!important;transform:scale(var(--openms-btn-hover-scale));box-shadow:0 0 0 var(--openms-btn-glow-size)var(--openms-btn-glow)}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier__toggle:active .sponsor-tier__cta{transform:none;box-shadow:none}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier--active{transform:none;border-color:var(--tier-accent);background:var(--openms-white);box-shadow:0 0 0 1px var(--tier-accent),var(--pro-shadow)}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier--active .sponsor-tier__cta,.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier--featured .sponsor-tier__cta,.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier--featured.sponsor-tier--active .sponsor-tier__cta{border-color:var(--openms-blue);background:var(--openms-blue);color:var(--openms-white)!important;box-shadow:none;transform:none}@media(hover:hover) and (pointer:fine){.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier--active .sponsor-tier__cta:hover,.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier--featured .sponsor-tier__cta:hover{transform:scale(var(--openms-btn-hover-scale));box-shadow:0 0 0 var(--openms-btn-glow-size)rgba(var(--openms-blue-rgb),.28)}}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier--featured.sponsor-tier--active{border-color:var(--tier-accent);box-shadow:0 0 0 1px var(--tier-accent),var(--pro-shadow)}@media(max-width:1100px){.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tiers__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tiers__grid{grid-template-columns:1fr;max-width:none;width:100%;margin-inline:0}}.openms-lib-page--sponsor-us .sponsor-tiers__note{display:grid;justify-items:center;gap:var(--pro-stack-actions,1.25rem);width:100%;max-width:100%;margin:var(--pro-space-6)0 0;padding:clamp(1.25rem,2.5vw,1.75rem)0 0;border:none;border-radius:0;background:0 0;box-shadow:none;text-align:center}.openms-lib-page--sponsor-us .sponsor-tiers__note>.openms-lib-btn{margin-bottom:clamp(1.5rem,4vw,3rem)}.openms-lib-page--sponsor-us .sponsor-tiers__note-copy{display:grid;justify-items:center;gap:var(--pro-stack-lead,.75rem);min-width:0;max-width:var(--pro-measure-wide,58ch)}.openms-lib-page--sponsor-us .sponsor-tiers__note-kicker{margin:0;font-size:var(--openms-text-min);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--openms-blue)}.openms-lib-page--sponsor-us .sponsor-tiers__note-text{margin:0;max-width:var(--pro-measure-wide,58ch);font-size:var(--openms-body-size-lg);line-height:1.65;color:var(--pro-text-muted)}.openms-lib-page--sponsor-us .sponsor-note-line{display:inline}.openms-lib-page--sponsor-us .sponsor-note-line+.sponsor-note-line::before{content:" "}.openms-lib-page--sponsor-us .sponsor-benefits{margin-top:var(--pro-space-6);padding:0;border:1px solid var(--pro-line);border-radius:var(--pro-radius);background:var(--openms-white);box-shadow:var(--pro-shadow)}.openms-lib-page--sponsor-us .sponsor-benefits__summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.15rem;cursor:pointer;list-style:none}.openms-lib-page--sponsor-us .sponsor-benefits__summary::-webkit-details-marker{display:none}.openms-lib-page--sponsor-us .sponsor-benefits__summary::after{content:"+";flex-shrink:0;font-size:2rem;font-weight:600;line-height:1;color:var(--openms-blue)}.openms-lib-page--sponsor-us .sponsor-benefits[open] .sponsor-benefits__summary::after{content:"–"}.openms-lib-page--sponsor-us .sponsor-benefits__summary:focus-visible{outline:2px solid var(--openms-blue);outline-offset:2px}.openms-lib-page--sponsor-us .sponsor-benefits__summary-copy{display:grid;gap:.3rem;min-width:0}.openms-lib-page--sponsor-us .sponsor-benefits__title{margin:0;font-family:var(--openms-font-heading);font-size:calc(var(--openms-heading-lg-size) * .9);font-weight:var(--openms-heading-lg-weight);line-height:1.25;letter-spacing:normal;text-transform:none;color:var(--openms-navy)}.openms-lib-page--sponsor-us .sponsor-benefits__lead{margin:0;max-width:var(--pro-measure-wide,58ch);font-size:var(--openms-body-size);line-height:1.5;color:var(--pro-text-muted)}.openms-lib-page--sponsor-us .sponsor-benefits__panel{padding:0 1.15rem 1.15rem;border-top:1px solid var(--pro-line)}.openms-lib-page--sponsor-us .sponsor-benefits__scroller{width:100%;max-height:none;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;border:none;border-radius:0;background:0 0;padding-top:1rem}.openms-lib-page--sponsor-us .sponsor-benefits__matrix{--tier-cols:4;--label-col:minmax(11rem, 1.2fr);--tier-col:minmax(7rem, 1fr);display:grid;grid-template-columns:var(--label-col)repeat(var(--tier-cols),var(--tier-col));min-width:40rem;width:100%}.openms-lib-page--sponsor-us .sponsor-benefits__matrix-row{display:contents}.openms-lib-page--sponsor-us .sponsor-benefits__matrix-cell{display:flex;flex-direction:column;justify-content:center;gap:.25rem;min-width:0;padding:.7rem .75rem;border:none;border-bottom:1px solid color-mix(in srgb,var(--pro-line) 85%,transparent);background:0 0}.openms-lib-page--sponsor-us .sponsor-benefits__matrix-row:last-child .sponsor-benefits__matrix-cell{border-bottom:none}.openms-lib-page--sponsor-us .sponsor-benefits__matrix-row:nth-child(even):not(.sponsor-benefits__matrix-row--head) .sponsor-benefits__matrix-cell{background:0 0}.openms-lib-page--sponsor-us .sponsor-benefits__matrix-row--head .sponsor-benefits__matrix-cell{position:sticky;top:0;z-index:1;padding-block:.65rem;border-bottom:1px solid var(--openms-navy);background:var(--openms-white)}.openms-lib-page--sponsor-us .sponsor-benefits__matrix-cell--label{position:sticky;left:0;z-index:2;font-size:.88rem;font-weight:600;line-height:1.35;color:var(--openms-navy);background:var(--openms-white);text-align:left}.openms-lib-page--sponsor-us .sponsor-benefits__matrix-row:nth-child(even):not(.sponsor-benefits__matrix-row--head) .sponsor-benefits__matrix-cell--label{background:var(--openms-white)}.openms-lib-page--sponsor-us .sponsor-benefits__matrix-row--head .sponsor-benefits__matrix-cell--label{z-index:3;font-weight:700;letter-spacing:.02em;text-transform:uppercase;font-size:var(--openms-text-min);color:var(--pro-text-muted);background:var(--openms-white)}.openms-lib-page--sponsor-us .sponsor-benefits__col-name{font-family:var(--openms-font-heading);font-size:.95rem;font-weight:700;line-height:1.2;color:var(--openms-navy);text-align:center}.openms-lib-page--sponsor-us .sponsor-benefits__matrix-cell--tier{align-items:center;text-align:center}.openms-lib-page--sponsor-us .sponsor-benefits__matrix-cell--bronze{background:#faf4ee!important}.openms-lib-page--sponsor-us .sponsor-benefits__matrix-cell--silver{background:#f3f5f7!important}.openms-lib-page--sponsor-us .sponsor-benefits__matrix-cell--gold{background:#fbf6e9!important}.openms-lib-page--sponsor-us .sponsor-benefits__matrix-cell--platinum{background:#f4f4f8!important}.openms-lib-page--sponsor-us .sponsor-benefits__lines{display:grid;gap:.25rem;margin:0;padding:0;list-style:none;width:100%}.openms-lib-page--sponsor-us .sponsor-benefits__line{margin:0;font-size:.84rem;line-height:1.4;color:rgba(var(--openms-dark-rgb),.78);text-align:center}.openms-lib-page--sponsor-us .sponsor-benefits__check,.openms-lib-page--sponsor-us .sponsor-benefits__cross{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;flex:none;background:0 0}.openms-lib-page--sponsor-us .sponsor-benefits__check{color:#1f9d63}.openms-lib-page--sponsor-us .sponsor-benefits__check svg{width:1.375rem;height:1.375rem}.openms-lib-page--sponsor-us .sponsor-benefits__cross{color:#c62828}.openms-lib-page--sponsor-us .sponsor-benefits__cross svg{width:1.125rem;height:1.125rem}.openms-lib-page--sponsor-us .sponsor-benefits__footnote{margin:var(--pro-space-3)0 0;font-size:var(--openms-text-min);line-height:1.45;color:var(--pro-text-muted)}.openms-lib-page--sponsor-us .sponsor-benefits .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier--bronze .sponsor-tier__motto,.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier--silver .sponsor-tier__motto,.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier--gold .sponsor-tier__motto,.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier--platinum .sponsor-tier__motto{color:var(--tier-accent)}.openms-lib-page--sponsor-us #current-sponsors .sponsor-logos{padding-block:clamp(2.5rem,5vw,4rem)}.openms-lib-page--sponsor-us .sponsor-logos__inner{display:grid;grid-template-columns:minmax(0,.95fr)minmax(0,1.35fr);column-gap:var(--pro-col-gap,clamp(2rem,5vw,4rem));row-gap:1.5rem;align-items:center;max-width:var(--pro-max,var(--hub-wide-max));margin-inline:auto}.openms-lib-page--sponsor-us .sponsor-logos__copy{display:grid;gap:0;min-width:0;text-align:left}.openms-lib-page--sponsor-us .sponsor-logos__eyebrow{margin:0 0 var(--pro-stack-eyebrow);font-size:var(--openms-text-min);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--openms-blue)}.openms-lib-page--sponsor-us .sponsor-logos__title{margin:0;font-family:var(--openms-font-heading);font-size:calc(var(--openms-heading-lg-size) * 1.15);font-weight:var(--openms-heading-lg-weight);line-height:1.2;letter-spacing:normal;text-transform:uppercase;color:var(--openms-navy)}.openms-lib-page--sponsor-us .sponsor-logos__lead{margin:var(--pro-stack-lead)0 0;max-width:28rem;font-size:var(--openms-body-size);line-height:1.55;color:rgba(var(--openms-dark-rgb),.72)}.openms-lib-page--sponsor-us .sponsor-logos__rail{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:clamp(1.5rem,4vw,3rem)clamp(1.75rem,5vw,3.5rem);margin:0;padding:0;list-style:none}.openms-lib-page--sponsor-us .sponsor-logos__item{margin:0;padding:0;min-width:0}.openms-lib-page--sponsor-us .sponsor-logos__link{display:flex;align-items:center;justify-content:center;text-decoration:none!important;opacity:.92;transition:opacity .2s ease,transform .2s ease}.openms-lib-page--sponsor-us .sponsor-logos__link:hover,.openms-lib-page--sponsor-us .sponsor-logos__link:focus-visible{opacity:1;transform:translateY(-2px);outline:none}.openms-lib-page--sponsor-us .sponsor-logos__img{display:block;width:auto;max-width:9.5rem;max-height:3.5rem;height:auto;object-fit:contain}.openms-lib-page--sponsor-us .sponsor-logos__img[src*=Elixir]{max-width:7.5rem;max-height:4.75rem}.openms-lib-page--sponsor-us .sponsor-logos__fallback{font-family:var(--openms-font-heading);font-size:var(--openms-secondary-heading-size);font-weight:700;color:var(--openms-navy)}.openms-lib-page--sponsor-us .sponsor-logos__more{grid-column:1/-1;margin:0;text-align:right}.openms-lib-page--sponsor-us .sponsor-logos__more a{display:inline-flex;align-items:center;gap:.3rem;font-size:var(--openms-text-min);font-weight:700;color:var(--openms-navy)!important;text-decoration:none!important;transition:gap .2s ease}.openms-lib-page--sponsor-us .sponsor-logos__more a:hover,.openms-lib-page--sponsor-us .sponsor-logos__more a:focus-visible{gap:.5rem}.openms-lib-page--sponsor-us .sponsor-faq-pro{padding-block:var(--pro-section-y)}.openms-lib-page--sponsor-us .sponsor-faq-pro__inner{display:flex;flex-direction:column;gap:var(--pro-head-to-content,clamp(1.5rem,3vw,2.25rem));max-width:min(64rem,100%);margin-inline:auto}.openms-lib-page--sponsor-us .sponsor-faq-pro__head{display:grid;justify-items:center;gap:0;text-align:center}.openms-lib-page--sponsor-us .sponsor-faq-pro__head .openms-lib-resources__eyebrow{margin:0 0 var(--pro-stack-eyebrow);font-size:var(--openms-text-min);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--openms-blue);justify-content:center}.openms-lib-page--sponsor-us .sponsor-faq-pro__head .openms-lib-resources__title{margin:0;font-family:var(--openms-font-heading);font-size:calc(var(--openms-heading-lg-size) * 1.15);font-weight:var(--openms-heading-lg-weight);line-height:1.3;letter-spacing:normal;text-transform:uppercase;color:var(--openms-navy);text-align:center}.openms-lib-page--sponsor-us .sponsor-faq__list{margin:0}.openms-lib-page--sponsor-us .sponsor-faq__item{border:1px solid var(--pro-line);border-radius:var(--pro-radius);background:var(--openms-white);box-shadow:var(--pro-shadow)}.openms-lib-page--sponsor-us .openms-lib-developers__card--build .openms-lib-developers__card-body{width:100%;max-width:min(var(--hub-wide-max,72rem),100%);min-width:0;padding-inline:clamp(.75rem,3vw,1.5rem);box-sizing:border-box}.openms-lib-page--sponsor-us .openms-lib-developers__card--build .openms-lib-developers__card-text{white-space:normal;overflow-wrap:break-word;word-break:normal;max-width:min(36rem,100%);width:100%;margin-inline:auto;box-sizing:border-box;font-size:clamp(.95rem,.88rem + .35vw,1.05rem);line-height:1.5}.openms-lib-page--sponsor-us .sponsor-cta-line{display:block}.openms-lib-page--sponsor-us .openms-lib-developers__card--build .openms-lib-developers__platforms{flex-wrap:wrap;width:100%;max-width:min(28rem,100%);margin-inline:auto}.openms-lib-page--sponsor-us .openms-lib-developers__card--build .openms-lib-btn--ghost{border-color:rgba(var(--openms-white-rgb),.34)!important;background:0 0!important;color:var(--openms-white)!important}.openms-lib-page--sponsor-us .openms-lib-developers__card--build .openms-lib-btn--ghost:hover,.openms-lib-page--sponsor-us .openms-lib-developers__card--build .openms-lib-btn--ghost:focus-visible,.openms-lib-page--sponsor-us .openms-lib-developers__card--build .openms-lib-btn--ghost:active{border-color:rgba(var(--openms-white-rgb),.55)!important;background:0 0!important;color:var(--openms-white)!important;transform:scale(var(--openms-btn-hover-scale));box-shadow:0 0 0 var(--openms-btn-glow-size)rgba(255,255,255,.22)}@media(max-width:1100px){.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tiers__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:992px){.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-section__head{grid-template-columns:1fr;row-gap:var(--pro-stack-lead)}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-eyebrow,.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-section__head h2,.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-section__lead{grid-column:1;grid-row:auto}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-section__head h2{font-size:calc(var(--openms-heading-lg-size) * 1.05)}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-section__lead{max-width:60ch;font-size:var(--openms-body-size)}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tiers__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.openms-lib-page--sponsor-us .openms-lib-about__mosaic{gap:clamp(.85rem,2vw,1.25rem)}.openms-lib-page--sponsor-us .sponsor-logos__inner{grid-template-columns:1fr;row-gap:1.75rem}.openms-lib-page--sponsor-us .sponsor-logos__rail{justify-content:flex-start}.openms-lib-page--sponsor-us .sponsor-logos__more{text-align:left}.openms-lib-page--sponsor-us .sponsor-benefits__scroller{overflow-x:auto;overflow-y:visible;max-height:none}.openms-lib-page--sponsor-us .sponsor-benefits__matrix{--label-col:minmax(0, 1.15fr);--tier-col:minmax(0, 1fr);grid-template-columns:var(--label-col)var(--tier-col);min-width:0}.openms-lib-page--sponsor-us .sponsor-benefits[data-active-tier=bronze] [data-sponsor-benefits]:not([data-sponsor-benefits=bronze]),.openms-lib-page--sponsor-us .sponsor-benefits[data-active-tier=silver] [data-sponsor-benefits]:not([data-sponsor-benefits=silver]),.openms-lib-page--sponsor-us .sponsor-benefits[data-active-tier=gold] [data-sponsor-benefits]:not([data-sponsor-benefits=gold]),.openms-lib-page--sponsor-us .sponsor-benefits[data-active-tier=platinum] [data-sponsor-benefits]:not([data-sponsor-benefits=platinum]){display:none!important}.openms-lib-page--sponsor-us .sponsor-benefits__matrix-cell--label{position:static;left:auto}}@media(max-width:768px){.openms-lib-page--sponsor-us .sponsor-cta-note-line{display:inline;white-space:normal}.openms-lib-page--sponsor-us .sponsor-cta-note-line::after{content:" "}.openms-lib-page--sponsor-us .openms-lib-about__lead{max-width:none}.openms-lib-page--sponsor-us .openms-lib-about__mosaic{grid-template-columns:1fr}.openms-lib-page--sponsor-us .sponsor-tile__top{align-items:flex-start}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tiers__grid{grid-template-columns:1fr}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-section__head h2{font-size:var(--openms-heading-lg-size);line-height:1.25}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier{padding:0}.openms-lib-page--sponsor-us .sponsor-logos__rail{gap:1.35rem 1.75rem}.openms-lib-page--sponsor-us .sponsor-logos__img{max-width:8rem;max-height:3rem}.openms-lib-page--sponsor-us .sponsor-logos__img[src*=Elixir]{max-width:6.5rem;max-height:4rem}.openms-lib-page--sponsor-us .sponsor-faq__question{white-space:normal;overflow-wrap:break-word}.openms-lib-page--sponsor-us .openms-lib-developers__card--build .openms-lib-developers__platforms{flex-direction:column;align-items:stretch;gap:.6rem;max-width:none}.openms-lib-page--sponsor-us .openms-lib-developers__card--build .openms-lib-developers__platforms .openms-lib-btn{width:100%;justify-content:center}.openms-lib-page--sponsor-us .openms-lib-developers__card--build .openms-lib-developers__card-text{max-width:min(28rem,100%);font-size:var(--openms-body-size);line-height:1.5}.openms-lib-page--sponsor-us .sponsor-cta-line{display:inline}.openms-lib-page--sponsor-us .sponsor-cta-line::after{content:" "}.openms-lib-page--sponsor-us .openms-lib-developers__card--build .openms-lib-developers__card-body{padding-inline:clamp(.65rem,4vw,1rem)}}@media(max-width:560px){.openms-lib-page--sponsor-us .sponsor-tiers__note{padding:clamp(1rem,4vw,1.25rem)0 0;gap:var(--pro-stack-actions,1.25rem)}.openms-lib-page--sponsor-us .sponsor-benefits__line,.openms-lib-page--sponsor-us .sponsor-tile__list li{font-size:var(--openms-text-min)}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier__contribution{font-size:clamp(1.1rem,5vw,1.3rem)}}.openms-lib-page--privacy .openms-lib-hero__title{max-width:18ch}.openms-lib-page--privacy .openms-lib-hero__lead{max-width:38ch}.openms-lib-page--privacy .privacy-pro__toolbar{display:flex;flex-wrap:wrap;gap:.55rem;justify-content:flex-end;margin:0 0 .85rem}.openms-lib-page--privacy .privacy-pro__tool-btn{appearance:none;margin:0;min-height:2.5rem;padding:.45rem .95rem;border:1px solid var(--pro-line);border-radius:999px;background:var(--openms-white);color:var(--openms-navy,#0b1f33);font:inherit;font-size:var(--openms-text-min);font-weight:600;cursor:pointer}.openms-lib-page--privacy .privacy-pro__tool-btn:hover,.openms-lib-page--privacy .privacy-pro__tool-btn:focus-visible{border-color:color-mix(in srgb,var(--openms-blue) 40%,var(--pro-line));color:var(--openms-blue);outline:none}.openms-lib-page--privacy .privacy-pro__list{display:grid;gap:.65rem;max-width:min(56rem,100%)}.openms-lib-page--privacy .privacy-pro__item{border:1px solid var(--pro-line);border-radius:var(--pro-radius);background:var(--openms-white);box-shadow:var(--pro-shadow);overflow:clip;scroll-margin-top:6rem}.openms-lib-page--privacy .privacy-pro__summary{display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:.85rem 1rem;min-height:3.5rem;padding:1rem 1.15rem;cursor:pointer;list-style:none}.openms-lib-page--privacy .privacy-pro__summary::-webkit-details-marker{display:none}.openms-lib-page--privacy .privacy-pro__summary::after{content:"";width:.55rem;height:.55rem;margin-top:.45rem;border-right:2px solid var(--openms-navy,#0b1f33);border-bottom:2px solid var(--openms-navy,#0b1f33);transform:rotate(45deg);transition:transform .15s ease;justify-self:end}.openms-lib-page--privacy .privacy-pro__item[open] .privacy-pro__summary::after{transform:rotate(225deg);margin-top:.65rem}.openms-lib-page--privacy .privacy-pro__summary-index{margin-top:.2rem;font-size:var(--openms-text-min);font-weight:700;letter-spacing:.06em;color:var(--openms-blue);font-variant-numeric:tabular-nums}.openms-lib-page--privacy .privacy-pro__summary-copy{display:grid;gap:.25rem;min-width:0}.openms-lib-page--privacy .privacy-pro__summary-title{font-family:var(--openms-font-heading);font-size:clamp(1rem,1.5vw,1.12rem);font-weight:700;line-height:1.3;color:var(--openms-navy,#0b1f33)}.openms-lib-page--privacy .privacy-pro__summary-text{color:var(--pro-text-muted);font-size:var(--openms-body-size);line-height:1.45}.openms-lib-page--privacy .privacy-pro__answer{padding:0 1.15rem 1.2rem;border-top:1px solid var(--pro-line)}.openms-lib-page--privacy .privacy-pro__answer>*:first-child{margin-top:1rem}.openms-lib-page--privacy .privacy-pro__rich{color:var(--pro-text,#1a2332);font-size:var(--openms-body-size);line-height:1.65}.openms-lib-page--privacy .privacy-pro__rich p{margin:0 0 .85rem}.openms-lib-page--privacy .privacy-pro__rich>*:last-child{margin-bottom:0}.openms-lib-page--privacy .privacy-pro__rich a{color:var(--openms-blue);font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.15em;overflow-wrap:anywhere}.openms-lib-page--privacy .privacy-pro__rich a:hover,.openms-lib-page--privacy .privacy-pro__rich a:focus-visible{color:var(--openms-navy,#0b1f33)}.openms-lib-page--privacy .privacy-pro__rich strong{font-weight:700;color:var(--openms-navy,#0b1f33)}.openms-lib-page--privacy .openms-lib-page__outro .openms-lib-block--developers{background:var(--openms-white);padding-inline:0}@media(max-width:900px){.openms-lib-page--privacy .openms-lib-about__head{grid-template-columns:1fr;gap:var(--pro-stack-lead,.75rem)}}@media(max-width:640px){.openms-lib-page--privacy .privacy-pro__toolbar{justify-content:stretch}.openms-lib-page--privacy .privacy-pro__tool-btn{flex:1 1 calc(50% - .3rem)}.openms-lib-page--privacy .privacy-pro__summary{grid-template-columns:auto 1fr auto;gap:.7rem;padding:.9rem .95rem}.openms-lib-page--privacy .privacy-pro__answer{padding-inline:.95rem}.openms-lib-page--privacy .privacy-pro__summary-text{font-size:var(--openms-text-min)}}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) #getting-started,.openms-lib-page--pyopenms-viz-pro #getting-started{background:var(--openms-white)}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) #getting-started,.openms-lib-page--pyopenms-pro #getting-started,.openms-lib-page--pyopenms-viz-pro #getting-started{padding-bottom:calc(var(--pro-section-y) * .7)}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) #getting-started .openms-lib-resources--explore .openms-lib-resources__inner,.openms-lib-page--pyopenms-pro #getting-started .openms-lib-resources--explore .openms-lib-resources__inner,.openms-lib-page--pyopenms-viz-pro #getting-started .openms-lib-resources--explore .openms-lib-resources__inner{gap:clamp(2.25rem,4.5vw,3.5rem);padding-bottom:clamp(.75rem,2vw,1.5rem)}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) #getting-started,.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) #getting-started{padding-bottom:calc(var(--pro-section-y) * .7)}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) #getting-started .openms-lib-resources--explore .openms-lib-resources__inner,.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) #getting-started .openms-lib-resources--explore .openms-lib-resources__inner{gap:clamp(2.25rem,4.5vw,3.5rem);padding-bottom:clamp(.75rem,2vw,1.5rem)}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-tag,.openms-lib-page--pyopenms-viz-pro .openms-lib-resources__explore-tag,.openms-lib-page--pyopenms-viz-pro .openms-lib-resources__explore-icon{display:none}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-grid,.openms-lib-page--pyopenms-viz-pro .openms-lib-resources__explore-grid{gap:clamp(.9rem,2vw,1.35rem);width:100%;max-width:min(100%,var(--pro-max));margin-inline:auto}.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-grid,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-grid:has(>:nth-child(5):last-child){grid-template-columns:repeat(6,minmax(0,1fr));width:100%;max-width:var(--pro-max);margin-inline:auto;align-items:stretch}.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-grid:has(>:nth-child(5):last-child)>.openms-lib-resources__explore-item{width:100%;min-width:0}.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-grid:has(>:nth-child(5):last-child)>.openms-lib-resources__explore-item:nth-child(1),.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-grid:has(>:nth-child(5):last-child)>.openms-lib-resources__explore-item:nth-child(2){grid-column:span 3}.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-grid:has(>:nth-child(5):last-child)>.openms-lib-resources__explore-item:nth-child(3),.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-grid:has(>:nth-child(5):last-child)>.openms-lib-resources__explore-item:nth-child(4),.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-grid:has(>:nth-child(5):last-child)>.openms-lib-resources__explore-item:nth-child(5){grid-column:span 2}.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-item{width:100%;min-width:0}.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-card{width:100%;height:100%;min-height:10.25rem;padding:1.15rem 1.15rem 1.1rem;gap:.4rem;box-sizing:border-box}.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-title{font-size:clamp(1.05rem,1.5vw,1.18rem)}.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-text{font-size:.92rem;line-height:1.45}@media(max-width:1100px){.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-grid,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-grid:has(>:nth-child(5):last-child){grid-template-columns:repeat(6,minmax(0,1fr))}.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-grid:has(>:nth-child(5):last-child)>.openms-lib-resources__explore-item:nth-child(1),.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-grid:has(>:nth-child(5):last-child)>.openms-lib-resources__explore-item:nth-child(2){grid-column:span 3}.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-grid:has(>:nth-child(5):last-child)>.openms-lib-resources__explore-item:nth-child(3),.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-grid:has(>:nth-child(5):last-child)>.openms-lib-resources__explore-item:nth-child(4),.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-grid:has(>:nth-child(5):last-child)>.openms-lib-resources__explore-item:nth-child(5){grid-column:span 2}}@media(max-width:900px){.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-grid,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-grid:has(>:nth-child(5):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-grid:has(>:nth-child(5):last-child)>.openms-lib-resources__explore-item,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-grid:has(>:nth-child(5):last-child)>.openms-lib-resources__explore-item:nth-child(1),.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-grid:has(>:nth-child(5):last-child)>.openms-lib-resources__explore-item:nth-child(2),.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-grid:has(>:nth-child(5):last-child)>.openms-lib-resources__explore-item:nth-child(3),.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-grid:has(>:nth-child(5):last-child)>.openms-lib-resources__explore-item:nth-child(4),.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-grid:has(>:nth-child(5):last-child)>.openms-lib-resources__explore-item:nth-child(5){grid-column:auto}.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-grid:has(>:nth-child(5):last-child)>.openms-lib-resources__explore-item:nth-child(5){grid-column:span 2}}@media(max-width:560px){.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-grid,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-grid:has(>:nth-child(5):last-child){grid-template-columns:1fr}.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-grid:has(>:nth-child(5):last-child)>.openms-lib-resources__explore-item:nth-child(5){grid-column:auto}}.openms-lib-page--pyopenms-viz-pro .openms-lib-resources__explore-grid,.openms-lib-page--pyopenms-viz-pro .openms-lib-resources__explore-grid:has(>:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-card,.openms-lib-page--pyopenms-viz-pro .openms-lib-resources__explore-card{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;width:100%;height:100%;min-height:12.5rem;padding:1.55rem 1.4rem 1.45rem;border:none;border-radius:1.15rem;background:linear-gradient(160deg,rgba(255,255,255,.14) 0%,transparent 42%),var(--openms-blue);box-shadow:0 .55rem 1.4rem rgba(var(--openms-blue-rgb),.28);color:var(--openms-white);transition:background .22s ease,box-shadow .22s ease,transform .22s ease}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-card:hover,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-card:focus-visible,.openms-lib-page--pyopenms-viz-pro .openms-lib-resources__explore-card:hover,.openms-lib-page--pyopenms-viz-pro .openms-lib-resources__explore-card:focus-visible{background:linear-gradient(160deg,rgba(255,255,255,.18) 0%,transparent 42%),var(--openms-navy);box-shadow:0 .85rem 1.85rem rgba(var(--openms-navy-rgb),.32);transform:translateY(-4px);outline:none}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-title,.openms-lib-page--pyopenms-viz-pro .openms-lib-resources__explore-title{margin:0;font-size:clamp(1.15rem,1.7vw,1.3rem);letter-spacing:-.015em;color:var(--openms-white)}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-text,.openms-lib-page--pyopenms-viz-pro .openms-lib-resources__explore-text{max-width:none;color:rgba(255,255,255,.82)}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-link,.openms-lib-page--pyopenms-viz-pro .openms-lib-resources__explore-link{margin-top:auto;padding-top:.35rem;background:0 0;color:var(--openms-white);font-weight:700;transition:gap .2s ease,opacity .2s ease}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-card:hover .openms-lib-resources__explore-link,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-card:focus-visible .openms-lib-resources__explore-link,.openms-lib-page--pyopenms-viz-pro .openms-lib-resources__explore-card:hover .openms-lib-resources__explore-link,.openms-lib-page--pyopenms-viz-pro .openms-lib-resources__explore-card:focus-visible .openms-lib-resources__explore-link{gap:.55rem;color:var(--openms-white)}.openms-lib-page--pyopenms-viz-pro .openms-lib-page__outro .openms-lib-block--developers.openms-lib-developers--split{width:100%;max-width:none;margin-inline:0;padding-block:var(--pro-section-y);padding-inline:var(--openms-page-inline);overflow:visible;box-sizing:border-box;border:none;background:linear-gradient(135deg,rgba(var(--openms-blue-rgb),.06) 0%,transparent 48%),linear-gradient(180deg,rgba(var(--openms-navy-rgb),.03) 0%,transparent 100%),var(--openms-white)}.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--split .openms-lib-developers__split{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(1.75rem,3.5vw,2.5rem);align-items:start;width:100%;max-width:var(--pro-max);margin-inline:auto;padding:0;border:none;background:0 0;box-sizing:border-box}.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--split .openms-lib-developers__split-head{display:block;width:100%;margin:0;padding:0 0 1.35rem;border-bottom:1px solid rgba(var(--openms-navy-rgb),.12)}.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--split .openms-lib-developers__split-deck{display:grid;grid-template-columns:minmax(0,auto)minmax(0,1fr);gap:clamp(1.5rem,4vw,3.25rem);align-items:center;width:100%}.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--split .openms-lib-developers__split-lockup{display:flex;flex-wrap:wrap;align-items:baseline;gap:.65rem 1rem;min-width:0}.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--split .openms-lib-block__eyebrow{display:inline-flex;align-items:center;justify-content:flex-start;margin:0;padding:.28rem .7rem;border:1px solid rgba(var(--openms-blue-rgb),.28);border-radius:0;background:rgba(var(--openms-blue-rgb),.06);color:var(--openms-blue);font-size:var(--openms-text-min,.75rem);letter-spacing:.08em;line-height:1.2;white-space:nowrap}.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--split .openms-lib-developers__title{margin:0;max-width:none;padding:0;justify-self:start;text-align:start;text-transform:none;letter-spacing:-.03em;font-size:clamp(2rem,3.6vw,2.75rem);line-height:1.05;color:var(--openms-navy)}.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--split .openms-lib-developers__lead{margin:0;max-width:min(100%,42ch);justify-self:end;text-align:end;color:var(--pro-text-muted,rgba(var(--openms-dark-rgb),.72));font-size:var(--openms-body-size,1rem);line-height:1.55}.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--split .openms-lib-developers__split-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;min-width:0;border-top:none}.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--split .openms-lib-developers__split-action{display:grid;grid-template-columns:auto minmax(0,1fr)auto;gap:.95rem 1.1rem;align-items:center;padding:1.25rem 1.15rem 1.25rem 0;border-bottom:none;border-right:1px solid rgba(var(--openms-navy-rgb),.12);text-decoration:none!important;color:inherit;transition:background-color .2s ease,padding-left .2s ease}.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--split .openms-lib-developers__split-action:last-child{border-right:none;padding-right:0;padding-left:1.15rem}.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--split .openms-lib-developers__split-action:hover,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--split .openms-lib-developers__split-action:focus-visible{background:rgba(var(--openms-blue-rgb),.04);padding-left:.45rem;outline:none}.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--split .openms-lib-developers__split-action:last-child:hover,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--split .openms-lib-developers__split-action:last-child:focus-visible{padding-left:1.15rem}.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--split .openms-lib-developers__split-action-icon{display:inline-flex;align-items:center;justify-content:center;width:2.35rem;height:2.35rem;border-radius:0;background:0 0;color:var(--openms-blue);font-size:1.25rem;line-height:1}.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--split .openms-lib-developers__split-action-body{display:grid;gap:.2rem;min-width:0}.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--split .openms-lib-developers__split-action-title{font-family:var(--openms-font-heading);font-size:var(--openms-card-title-size,clamp(1rem,1.4vw,1.1rem));font-weight:700;line-height:1.3;color:var(--openms-navy)}.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--split .openms-lib-developers__split-action-text{font-size:var(--openms-body-size);line-height:1.5;color:var(--pro-text-muted,rgba(var(--openms-dark-rgb),.68));text-wrap:pretty}.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--split .openms-lib-developers__split-action-cta{font-size:var(--openms-text-min);font-weight:700;color:var(--openms-blue);white-space:nowrap}.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--split .openms-lib-developers__split-action:hover .openms-lib-developers__split-action-cta,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--split .openms-lib-developers__split-action:focus-visible .openms-lib-developers__split-action-cta{color:var(--openms-navy)}@media(max-width:900px){.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--split .openms-lib-developers__split-deck{grid-template-columns:1fr;gap:.85rem;align-items:start}.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--split .openms-lib-developers__split-lockup{flex-direction:column;align-items:flex-start;gap:.55rem}.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--split .openms-lib-developers__lead{justify-self:start;text-align:start;max-width:none}.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--split .openms-lib-developers__split-actions{grid-template-columns:1fr}.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--split .openms-lib-developers__split-action,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--split .openms-lib-developers__split-action:last-child{border-right:none;border-bottom:1px solid rgba(var(--openms-navy-rgb),.12);padding:1.15rem 0}.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--split .openms-lib-developers__split-action:last-child{border-bottom:none}.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--split .openms-lib-developers__split-action:last-child:hover,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--split .openms-lib-developers__split-action:last-child:focus-visible{padding-left:.45rem}}@media(max-width:560px){.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--split .openms-lib-developers__split-action{grid-template-columns:auto minmax(0,1fr);gap:.75rem .85rem}.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--split .openms-lib-developers__split-action-cta{grid-column:2}}.openms-lib-page--pyopenms-viz-pro .openms-lib-developers__cards-grid:has(>:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr));max-width:min(100%,52rem);margin-inline:auto}.openms-lib-page--pyopenms-viz-pro .openms-lib-page__outro .openms-lib-block--developers:not(.openms-lib-developers--split){padding-block:var(--pro-section-y);overflow:visible}.openms-lib-page--pyopenms-pro .openms-lib-hero__actions,.openms-lib-page--pyopenms-viz-pro .openms-lib-hero__actions{width:auto;max-width:100%;margin-inline:auto}.openms-lib-page--pyopenms-pro .openms-lib-hero__actions .openms-lib-btn--install,.openms-lib-page--pyopenms-viz-pro .openms-lib-hero__actions .openms-lib-btn--install{flex:none!important;width:fit-content!important;max-width:100%;min-width:0!important;padding-inline:1.05rem!important;gap:.4rem!important;white-space:nowrap}.openms-lib-page--pyopenms-pro .openms-lib-hero__actions .openms-lib-btn--install .openms-lib-btn__platforms,.openms-lib-page--pyopenms-viz-pro .openms-lib-hero__actions .openms-lib-btn--install .openms-lib-btn__platforms{padding-left:.4rem;margin-left:0;gap:0}.openms-lib-page--pyopenms-pro .openms-lib-hero__actions .openms-lib-btn--install .openms-lib-btn__platforms .fa-python,.openms-lib-page--pyopenms-pro .openms-lib-hero__actions .openms-lib-btn--install .openms-lib-btn__platforms i,.openms-lib-page--pyopenms-viz-pro .openms-lib-hero__actions .openms-lib-btn--install .openms-lib-btn__platforms .fa-python,.openms-lib-page--pyopenms-viz-pro .openms-lib-hero__actions .openms-lib-btn--install .openms-lib-btn__platforms i{color:#fff!important}.openms-lib-page--pyopenms-pro .openms-lib-hero__actions .openms-lib-btn--install .openms-lib-btn__platforms .fa-python,.openms-lib-page--pyopenms-pro .openms-lib-hero__actions .openms-lib-btn--install .openms-lib-btn__platforms i,.openms-lib-page--pyopenms-viz-pro .openms-lib-hero__actions .openms-lib-btn--install .openms-lib-btn__platforms .fa-python,.openms-lib-page--pyopenms-viz-pro .openms-lib-hero__actions .openms-lib-btn--install .openms-lib-btn__platforms i{color:#fff!important}@media(max-width:900px){.openms-lib-page--pyopenms-pro .openms-lib-hero__actions .openms-lib-btn--install,.openms-lib-page--pyopenms-viz-pro .openms-lib-hero__actions .openms-lib-btn--install{flex:none;width:fit-content;max-width:100%;padding-inline:1.15rem}.openms-lib-page--pyopenms-viz-pro .openms-lib-resources__explore-grid,.openms-lib-page--pyopenms-viz-pro .openms-lib-resources__explore-grid:has(>:nth-child(3):last-child){grid-template-columns:1fr;max-width:100%}}@media(max-width:720px){.openms-lib-page--pyopenms-viz-pro .openms-lib-developers__cards-grid:has(>:nth-child(2):last-child){grid-template-columns:1fr;max-width:100%}}.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--interactive:hover,.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-visible,.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-within,.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--link:hover,.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--link:focus-visible{background:linear-gradient(160deg,rgba(255,255,255,.18) 0%,transparent 42%),var(--openms-navy)!important;border-color:transparent!important;box-shadow:0 .85rem 1.85rem rgba(var(--openms-navy-rgb),.32)!important;color:#fff!important}.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--interactive:hover .openms-lib-developers__card-title,.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--interactive:hover .openms-lib-developers__card-title span,.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--interactive:hover .openms-lib-developers__card-subtitle,.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--interactive:hover .openms-lib-developers__card-link,.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--interactive:hover .openms-lib-developers__card-cta,.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--interactive:hover .openms-lib-developers__card-icon,.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--interactive:hover .openms-lib-developers__card-icon i,.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--interactive:hover .openms-lib-developers__card-icon .fa-github,.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--interactive:hover .openms-lib-developers__card-icon .fa-code,.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--link:hover .openms-lib-developers__card-title,.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--link:hover .openms-lib-developers__card-title span,.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--link:hover .openms-lib-developers__card-subtitle,.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--link:hover .openms-lib-developers__card-link,.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--link:hover .openms-lib-developers__card-icon,.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--link:hover .openms-lib-developers__card-icon i,.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--link:hover .openms-lib-developers__card-icon .fa-github,.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--link:hover .openms-lib-developers__card-icon .fa-code,.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-visible .openms-lib-developers__card-title,.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-visible .openms-lib-developers__card-subtitle,.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-visible .openms-lib-developers__card-link,.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-visible .openms-lib-developers__card-icon,.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-visible .openms-lib-developers__card-icon i,.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-within .openms-lib-developers__card-title,.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-within .openms-lib-developers__card-subtitle,.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-within .openms-lib-developers__card-link,.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-within .openms-lib-developers__card-icon,.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-within .openms-lib-developers__card-icon i{color:#fff!important;opacity:1!important;height:auto!important;max-height:none!important;overflow:visible!important;margin:0!important}.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--interactive:hover .openms-lib-developers__card-subtitle,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-visible .openms-lib-developers__card-subtitle,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-within .openms-lib-developers__card-subtitle{opacity:1!important;height:auto!important;max-height:none!important;overflow:visible!important;margin:0!important;color:rgba(255,255,255,.92)!important}@media(hover:hover) and (pointer:fine){.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--interactive:hover,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-visible,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-within{transform:none!important}}.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card-body{display:grid;grid-template-rows:auto auto auto;align-content:start;gap:.7rem}.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card-link{margin-top:0!important}.openms-lib-page--hub.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card-icon,.openms-lib-page--hub.openms-lib-page--pyopenms-viz-pro .openms-lib-developers__route-icon{display:grid!important;place-items:center;width:1em!important;height:1em!important;margin:0 0 .15rem!important;padding:0!important;border:none!important;border-radius:0!important;background:0 0!important;box-shadow:none!important;font-size:var(--openms-card-icon-size,clamp(2.5rem,3.8vw,3rem))!important;line-height:1;color:rgba(var(--openms-blue-rgb),.28)}.openms-lib-page--hub.openms-lib-page--pyopenms-viz-pro .openms-lib-developers__route-icon .fab,.openms-lib-page--hub.openms-lib-page--pyopenms-viz-pro .openms-lib-developers__route-icon .fas,.openms-lib-page--hub.openms-lib-page--pyopenms-viz-pro .openms-lib-developers__route-icon .svg-inline--fa{font-size:1em!important;width:1em!important;height:1em!important;max-width:1em;max-height:1em}.openms-lib-page--hub.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card-icon .fab,.openms-lib-page--hub.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card-icon .fas,.openms-lib-page--hub.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card-icon .svg-inline--fa{color:inherit;font-size:1em;width:1em;height:1em}.openms-lib-page--hub.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card-icon .svg-inline--fa path{fill:currentColor}@media(hover:hover) and (pointer:fine){.openms-lib-page--hub.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--interactive:hover .openms-lib-developers__card-icon,.openms-lib-page--hub.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-visible .openms-lib-developers__card-icon,.openms-lib-page--hub.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-within .openms-lib-developers__card-icon{background:0 0!important;box-shadow:none!important;color:var(--openms-white)!important}}.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card-link{color:var(--openms-navy)!important}.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--interactive:hover .openms-lib-developers__card-link,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--link:hover .openms-lib-developers__card-link,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-visible .openms-lib-developers__card-link,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-within .openms-lib-developers__card-link{color:#fff!important}.openms-lib-page--pyopenms-pro .openms-lib-hero__actions,.openms-lib-page--pyopenms-viz-pro .openms-lib-hero__actions{margin-bottom:.35rem}.openms-lib-page--pyopenms-pro .openms-lib-page__body>.openms-lib-page__anchor,.openms-lib-page--pyopenms-viz-pro .openms-lib-page__body>.openms-lib-page__anchor{padding-block:var(--pro-section-y)0}.openms-lib-page--pyopenms-pro .openms-lib-about,.openms-lib-page--pyopenms-pro .openms-lib-resources,.openms-lib-page--pyopenms-pro .openms-lib-resources--explore,.openms-lib-page--pyopenms-viz-pro .openms-lib-about,.openms-lib-page--pyopenms-viz-pro .openms-lib-resources,.openms-lib-page--pyopenms-viz-pro .openms-lib-resources--explore{padding-block:0;padding-top:0}.openms-lib-page--pyopenms-pro .openms-lib-resources__inner,.openms-lib-page--pyopenms-viz-pro .openms-lib-resources__inner{padding-bottom:0}.openms-lib-page--pyopenms-pro #getting-started .openms-lib-resources__inner,.openms-lib-page--pyopenms-viz-pro #getting-started .openms-lib-resources__inner{padding-bottom:clamp(.75rem,2vw,1.5rem)}.openms-lib-page--pyopenms-pro #getting-started,.openms-lib-page--pyopenms-viz-pro #getting-started{padding-bottom:calc(var(--pro-section-y) * .7)}.openms-lib-page--pyopenms-viz-pro #getting-started{padding-bottom:calc(var(--pro-section-y) * 1.15)}.openms-lib-page--pyopenms-viz-pro #getting-started .openms-lib-resources__inner{padding-bottom:clamp(1.75rem,4vw,3rem)}.openms-lib-page--pyopenms-viz-pro #getting-started .openms-lib-resources__explore-grid{margin-bottom:clamp(1rem,2.5vw,1.75rem)}.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) #getting-started{padding-bottom:clamp(1.75rem,4vw,3rem)}.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) #getting-started .openms-lib-resources__inner{padding-bottom:clamp(.75rem,2vw,1.5rem)}.openms-lib-page--pyopenms-viz-pro #getting-started{padding-bottom:clamp(3.5rem,8vw,6rem)}.openms-lib-page--pyopenms-viz-pro #getting-started .openms-lib-resources__inner,.openms-lib-page--pyopenms-viz-pro #getting-started .openms-lib-resources--explore .openms-lib-resources__inner{gap:var(--pro-head-to-content);padding-bottom:clamp(1.5rem,3.5vw,2.75rem)}.openms-lib-page--pyopenms-viz-pro #getting-started .openms-lib-resources__explore-grid{margin-bottom:clamp(1.25rem,3vw,2.25rem)}.openms-lib-page--pyopenms-pro .openms-lib-about__mosaic,.openms-lib-page--pyopenms-viz-pro .openms-lib-about__mosaic{padding-top:0}.openms-lib-page--pyopenms-pro .openms-lib-page__outro .openms-lib-block--developers,.openms-lib-page--pyopenms-viz-pro .openms-lib-page__outro .openms-lib-block--developers{gap:0;padding-block:var(--pro-section-y);overflow:visible}.openms-lib-page--pyopenms-viz-pro .openms-lib-page__outro .openms-lib-block--developers.openms-lib-developers--cards{gap:0}.openms-lib-page--hub.openms-lib-page--pyopenms-pro .openms-lib-developers__head,.openms-lib-page--hub.openms-lib-page--pyopenms-viz-pro .openms-lib-developers__head{margin-bottom:0}.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--pyopenms-pro .openms-lib-page__cite .openms-lib-developers__cite--separate,.openms-lib-page--openms-lib.openms-lib-page--pyopenms-pro .openms-lib-page__cite .openms-lib-developers__cite--separate,.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--pyopenms-viz-pro .openms-lib-page__cite .openms-lib-developers__cite--separate,.openms-lib-page--openms-lib.openms-lib-page--pyopenms-viz-pro .openms-lib-page__cite .openms-lib-developers__cite--separate{margin-top:0}.openms-lib-page--hub.openms-lib-page--pyopenms-pro .openms-lib-page__cite,.openms-lib-page--pyopenms-pro .openms-lib-page__cite,.openms-lib-page--hub.openms-lib-page--pyopenms-viz-pro .openms-lib-page__cite,.openms-lib-page--pyopenms-viz-pro .openms-lib-page__cite{margin-top:0;margin-bottom:0;padding-bottom:0;padding-inline:var(--openms-page-inline);background:var(--pro-band-soft,#f4f7fb)!important;color:var(--openms-navy);box-sizing:border-box}.openms-lib-page--hub.openms-lib-page--pyopenms-pro .openms-lib-page__cite .openms-lib-developers__cite--panel,.openms-lib-page--hub.openms-lib-page--pyopenms-pro .openms-lib-page__cite .openms-lib-developers__cite--separate,.openms-lib-page--hub.openms-lib-page--pyopenms-viz-pro .openms-lib-page__cite .openms-lib-developers__cite--panel,.openms-lib-page--hub.openms-lib-page--pyopenms-viz-pro .openms-lib-page__cite .openms-lib-developers__cite--separate{background:0 0!important;box-shadow:none!important}.openms-lib-page--hub.openms-lib-page--pyopenms-pro .openms-lib-page__cite .openms-lib-developers__cite-details,.openms-lib-page--hub.openms-lib-page--pyopenms-viz-pro .openms-lib-page__cite .openms-lib-developers__cite-details{background:0 0!important}.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-page__cite .openms-lib-developers__cite-details{padding:clamp(1.5rem,3vw,2.15rem)clamp(1.35rem,3vw,2rem)!important}.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-page__cite .openms-lib-developers__cite--panel .publications-cite-card,.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-page__cite .openms-lib-developers__cite--panel .openms-lib-developers__cite-card{gap:1rem}.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-page__cite .publications-cite-card__title{line-height:1.45}.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-page__cite .publications-cite-card__authors{margin:0;line-height:1.7;max-width:62ch}.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-page__cite .publications-cite-card__meta{gap:.55rem .9rem;margin-top:.15rem}.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-page__cite .openms-lib-developers__cite-actions{margin-top:.35rem;gap:.75rem}.openms-lib-page--pyopenms-pro #what-is-openms{background:radial-gradient(ellipse 70% 55% at 50% -5%,rgba(var(--openms-blue-rgb),.1),transparent 58%),linear-gradient(180deg,rgba(var(--openms-blue-rgb),.035) 0%,transparent 70%)}.openms-lib-page--pyopenms-pro .openms-lib-about__head{grid-template-columns:1fr;justify-items:center;max-width:min(100%,46rem);margin-inline:auto;text-align:center}.openms-lib-page--pyopenms-pro .openms-lib-about__head-copy{justify-items:center}.openms-lib-page--pyopenms-pro .openms-lib-about__eyebrow{justify-content:center}.openms-lib-page--pyopenms-pro .openms-lib-about__title,.openms-lib-page--pyopenms-pro .openms-lib-about__lead{text-align:center}.openms-lib-page--pyopenms-pro .openms-lib-about__lead{max-width:min(100%,46rem);margin-inline:auto}.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro){--openms-step-num-color:rgba(var(--openms-navy-rgb), 0.18);--openms-step-num-color-hover:rgba(var(--openms-navy-rgb), 0.3)}.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-about__mosaic{background:color-mix(in srgb,var(--pro-band-soft,#f4f7fb) 88%,var(--openms-white));border-radius:0}.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-about__num{color:var(--openms-step-num-color)!important}.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-hero__code-hint{display:flex;justify-content:center;margin:.9rem 0 0}.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-hero__code-chip{margin-left:0;padding:.4rem .85rem;border-radius:.65rem;border:1px solid rgba(var(--openms-navy-rgb),.12);background:rgba(var(--openms-navy-rgb),.045);box-shadow:inset 0 1px rgba(255,255,255,.65)}.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-hero__code-chip code{font-family:var(--openms-font-mono,ui-monospace,SFMono-Regular,Menlo,monospace);font-size:.9rem;font-weight:600;letter-spacing:.01em;color:var(--openms-navy)}.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-hero--pro .openms-lib-hero__panel::before{content:"";position:absolute;top:clamp(.5rem,2vw,1.5rem);left:clamp(-.5rem,-1vw,0);z-index:0;width:clamp(8rem,16vw,12.5rem);height:clamp(8rem,16vw,12.5rem);border-radius:58% 42% 37% 63%/42% 38% 62% 58%;background:radial-gradient( circle at 35% 35%,rgba(var(--openms-blue-rgb),.16),rgba(var(--openms-navy-rgb),.06) 62%,transparent 70% );opacity:.9;pointer-events:none}.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-resources--explore .openms-lib-resources__head{justify-items:start;max-width:min(100%,40rem);margin:0;text-align:left}.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-resources--explore .openms-lib-resources__eyebrow{justify-content:flex-start}.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-resources--explore .openms-lib-resources__title,.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-resources--explore .openms-lib-resources__lead{text-align:left}.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-resources__explore-grid,.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-resources__explore-grid:has(>:nth-child(4):last-child){display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--pro-card-gap);align-items:stretch;width:100%;max-width:min(100%,var(--pro-max));margin-inline:auto}.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-resources__explore-grid:has(>:nth-child(4):last-child)>.openms-lib-resources__explore-item,.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-resources__explore-grid:has(>:nth-child(3):last-child)>.openms-lib-resources__explore-item{grid-column:auto;margin:0;min-width:0}.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-resources__explore-card{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;width:100%;height:100%;min-height:12.5rem;padding:1.55rem 1.4rem 1.45rem;border:none;border-radius:1.15rem;background:linear-gradient(160deg,rgba(255,255,255,.14) 0%,transparent 42%),var(--openms-blue);box-shadow:0 .55rem 1.4rem rgba(var(--openms-blue-rgb),.28);color:var(--openms-white);transition:background .22s ease,box-shadow .22s ease,transform .22s ease}.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-resources__explore-card:hover,.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-resources__explore-card:focus-visible{background:linear-gradient(160deg,rgba(255,255,255,.18) 0%,transparent 42%),var(--openms-navy);box-shadow:0 .85rem 1.85rem rgba(var(--openms-navy-rgb),.32);transform:translateY(-4px);outline:none}.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-resources__explore-icon{display:grid;place-items:center;width:auto;height:auto;border-radius:0;background:0 0;color:rgba(255,255,255,.88);font-size:clamp(1.85rem,2.8vw,2.25rem);line-height:1}.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-resources__explore-icon .fab,.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-resources__explore-icon .fas,.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-resources__explore-icon .svg-inline--fa{color:rgba(255,255,255,.88)!important}.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-resources__explore-icon .svg-inline--fa path{fill:currentColor!important}.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-resources__explore-tag{display:none}.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-resources__explore-card--featured .openms-lib-resources__explore-tag{display:inline-flex;align-items:center;margin:0;padding:.22rem .55rem;border-radius:999px;background:rgba(255,255,255,.18);color:rgba(255,255,255,.95);font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;line-height:1.2}.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-resources__explore-title{margin:0;font-size:clamp(1.15rem,1.7vw,1.3rem);line-height:1.25;letter-spacing:-.015em;color:var(--openms-white)}.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-resources__explore-text{margin:0;max-width:none;color:rgba(255,255,255,.82)}.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-resources__explore-link{display:inline-flex;align-items:center;gap:.3rem;margin-top:auto;padding-top:.35rem;background:0 0;color:var(--openms-white);font-weight:700;transition:gap .2s ease}.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-resources__explore-card:hover .openms-lib-resources__explore-link,.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-resources__explore-card:focus-visible .openms-lib-resources__explore-link{gap:.55rem;color:var(--openms-white)}.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-resources__explore-card--pending:hover,.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-resources__explore-card--pending:focus-visible{transform:none;background:linear-gradient(160deg,rgba(255,255,255,.14) 0%,transparent 42%),var(--openms-blue);box-shadow:0 .55rem 1.4rem rgba(var(--openms-blue-rgb),.28)}.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-resources__explore-card--featured{min-height:14rem;padding:1.75rem 1.55rem 1.55rem;background:linear-gradient(160deg,rgba(255,255,255,.18) 0%,transparent 42%),var(--openms-navy)!important;box-shadow:0 .8rem 1.85rem rgba(var(--openms-navy-rgb),.34)!important}.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-resources__explore-card--featured .openms-lib-resources__explore-title{font-size:clamp(1.28rem,2vw,1.5rem)}.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-resources__explore-card--featured .openms-lib-resources__explore-icon{font-size:clamp(2rem,3vw,2.45rem)}.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-resources__explore-card--featured.openms-lib-resources__explore-card--pending:hover,.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-resources__explore-card--featured.openms-lib-resources__explore-card--pending:focus-visible,.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-resources__explore-card--featured:hover,.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-resources__explore-card--featured:focus-visible{transform:none;background:linear-gradient(160deg,rgba(255,255,255,.22) 0%,transparent 42%),var(--openms-blue)!important;box-shadow:0 .9rem 2rem rgba(var(--openms-blue-rgb),.34)!important}@media(max-width:980px){.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-resources__explore-grid,.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-resources__explore-grid:has(>:nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-resources__explore-grid,.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-resources__explore-grid:has(>:nth-child(4):last-child){grid-template-columns:1fr}}.openms-lib-page--hub.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-developers__layout,.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-developers__layout{gap:clamp(1.1rem,2.2vw,1.6rem)}.openms-lib-page--hub.openms-lib-page--pyopenms-viz-pro .openms-lib-developers__layout,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers__layout{gap:var(--pro-head-to-content)}.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-page__outro .openms-lib-block--developers{padding-block:clamp(2.25rem,5vw,3.5rem)}.openms-lib-page--pyopenms-pro .openms-lib-developers__head{max-width:min(100%,52rem)}.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--pyopenms-pro .openms-lib-developers__head .openms-lib-developers__lead,.openms-lib-page--openms-lib.openms-lib-page--pyopenms-pro .openms-lib-developers__head .openms-lib-developers__lead,.openms-lib-page--pyopenms-pro .openms-lib-developers__lead{max-width:min(100%,52rem)}.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--pyopenms-pro .openms-lib-developers__grid--routes,.openms-lib-page--openms-lib.openms-lib-page--pyopenms-pro .openms-lib-developers__grid--routes{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--pro-card-gap);align-items:stretch;max-width:var(--pro-cluster-max,min(100%,68rem));margin-inline:auto}.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--pyopenms-pro .openms-lib-developers__grid--routes>.openms-lib-developers__route:not(.openms-lib-developers__route--build):nth-child(n),.openms-lib-page--openms-lib.openms-lib-page--pyopenms-pro .openms-lib-developers__grid--routes>.openms-lib-developers__route:not(.openms-lib-developers__route--build):nth-child(n){grid-column:span 1;width:100%;height:100%;min-height:0;align-self:stretch}.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--pyopenms-pro .openms-lib-developers__route,.openms-lib-page--openms-lib.openms-lib-page--pyopenms-pro .openms-lib-developers__route{gap:.55rem;padding:1.55rem 1.4rem 1.45rem;border:1px solid rgba(var(--openms-navy-rgb),.1);border-radius:1.15rem;background:var(--openms-white);box-shadow:0 .35rem 1rem rgba(var(--openms-navy-rgb),.06);color:var(--openms-navy);transition:background .22s ease,box-shadow .22s ease,transform .22s ease,border-color .22s ease}.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--pyopenms-pro .openms-lib-developers__route:hover,.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--pyopenms-pro .openms-lib-developers__route:focus-visible,.openms-lib-page--openms-lib.openms-lib-page--pyopenms-pro .openms-lib-developers__route:hover,.openms-lib-page--openms-lib.openms-lib-page--pyopenms-pro .openms-lib-developers__route:focus-visible{background:linear-gradient(160deg,rgba(255,255,255,.18) 0%,transparent 42%),var(--openms-navy);border-color:transparent;box-shadow:0 .85rem 1.85rem rgba(var(--openms-navy-rgb),.32);transform:translateY(-4px);outline:none}.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--pyopenms-pro .openms-lib-developers__grid--routes>.openms-lib-developers__route:not(.openms-lib-developers__route--build):nth-child(1):hover,.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--pyopenms-pro .openms-lib-developers__grid--routes>.openms-lib-developers__route:not(.openms-lib-developers__route--build):nth-child(1):focus-visible,.openms-lib-page--openms-lib.openms-lib-page--pyopenms-pro .openms-lib-developers__grid--routes>.openms-lib-developers__route:not(.openms-lib-developers__route--build):nth-child(1):hover,.openms-lib-page--openms-lib.openms-lib-page--pyopenms-pro .openms-lib-developers__grid--routes>.openms-lib-developers__route:not(.openms-lib-developers__route--build):nth-child(1):focus-visible{border:none;background:linear-gradient(160deg,rgba(255,255,255,.18) 0%,transparent 42%),var(--openms-navy);box-shadow:0 .85rem 1.85rem rgba(var(--openms-navy-rgb),.32);transform:translateY(-4px)}.openms-lib-page--pyopenms-pro .openms-lib-developers__route-icon,.openms-lib-page--pyopenms-pro .openms-lib-developers__route-icon .fab,.openms-lib-page--pyopenms-pro .openms-lib-developers__route-icon .fas,.openms-lib-page--pyopenms-pro .openms-lib-developers__route .fa-github,.openms-lib-page--pyopenms-pro .openms-lib-developers__route .fa-hammer,.openms-lib-page--pyopenms-pro .openms-lib-developers__route .fa-puzzle-piece,.openms-lib-page--pyopenms-pro .openms-lib-developers__route .fa-book,.openms-lib-page--pyopenms-pro .openms-lib-developers__route .fa-code,.openms-lib-page--pyopenms-pro .openms-lib-developers__route-icon .svg-inline--fa{color:rgba(var(--openms-blue-rgb),.28)!important}.openms-lib-page--pyopenms-pro .openms-lib-developers__route-icon .svg-inline--fa path{fill:currentColor!important}.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--pyopenms-pro .openms-lib-developers__route-icon,.openms-lib-page--openms-lib.openms-lib-page--pyopenms-pro .openms-lib-developers__route-icon,.openms-lib-page--pyopenms-pro .openms-lib-developers__grid--routes>.openms-lib-developers__route:not(.openms-lib-developers__route--build):nth-child(n) .openms-lib-developers__route-icon{display:grid;place-items:center;width:1em;height:1em;margin-bottom:.15rem;padding:0;border:none;border-radius:0;background:0 0;box-shadow:none;font-size:var(--openms-card-icon-size,clamp(2.5rem,3.8vw,3rem));line-height:1;color:rgba(var(--openms-blue-rgb),.28)!important}.openms-lib-page--pyopenms-pro .openms-lib-developers__route-icon .fab,.openms-lib-page--pyopenms-pro .openms-lib-developers__route-icon .fas,.openms-lib-page--pyopenms-pro .openms-lib-developers__route-icon .svg-inline--fa{font-size:1em!important;width:1em!important;height:1em!important;max-width:1em;max-height:1em}.openms-lib-page--pyopenms-pro .openms-lib-developers__card-tag,.openms-lib-page--pyopenms-pro .openms-lib-developers__route .openms-lib-developers__card-tag{color:var(--pro-text-muted,rgba(var(--openms-dark-rgb),.72))!important}.openms-lib-page--pyopenms-pro .openms-lib-developers__route{color:var(--openms-navy)!important}.openms-lib-page--pyopenms-pro .openms-lib-developers__route .openms-lib-developers__card-title,.openms-lib-page--pyopenms-pro .openms-lib-developers__route .openms-lib-developers__card-title span{color:var(--pro-card-title,rgba(var(--openms-dark-rgb),.82))!important}.openms-lib-page--pyopenms-pro .openms-lib-developers__route .openms-lib-developers__card-text,.openms-lib-page--pyopenms-pro .openms-lib-developers__route .openms-lib-developers__card-body{color:var(--pro-text-muted,rgba(var(--openms-dark-rgb),.72))!important}.openms-lib-page--pyopenms-pro .openms-lib-developers__route .openms-lib-developers__card-link{margin-top:auto;color:var(--pro-link,var(--openms-navy))!important}.openms-lib-page--pyopenms-pro .openms-lib-developers__route:hover,.openms-lib-page--pyopenms-pro .openms-lib-developers__route:focus-visible,.openms-lib-page--pyopenms-pro .openms-lib-developers__route:hover .openms-lib-developers__card-title,.openms-lib-page--pyopenms-pro .openms-lib-developers__route:hover .openms-lib-developers__card-title span,.openms-lib-page--pyopenms-pro .openms-lib-developers__route:hover .openms-lib-developers__card-text,.openms-lib-page--pyopenms-pro .openms-lib-developers__route:hover .openms-lib-developers__card-body,.openms-lib-page--pyopenms-pro .openms-lib-developers__route:hover .openms-lib-developers__card-link,.openms-lib-page--pyopenms-pro .openms-lib-developers__route:hover .openms-lib-developers__card-tag,.openms-lib-page--pyopenms-pro .openms-lib-developers__route:focus-visible .openms-lib-developers__card-title,.openms-lib-page--pyopenms-pro .openms-lib-developers__route:focus-visible .openms-lib-developers__card-title span,.openms-lib-page--pyopenms-pro .openms-lib-developers__route:focus-visible .openms-lib-developers__card-text,.openms-lib-page--pyopenms-pro .openms-lib-developers__route:focus-visible .openms-lib-developers__card-body,.openms-lib-page--pyopenms-pro .openms-lib-developers__route:focus-visible .openms-lib-developers__card-link,.openms-lib-page--pyopenms-pro .openms-lib-developers__route:focus-visible .openms-lib-developers__card-tag{color:#fff!important}.openms-lib-page--pyopenms-pro .openms-lib-developers__route:hover .openms-lib-developers__route-icon,.openms-lib-page--pyopenms-pro .openms-lib-developers__route:hover .openms-lib-developers__route-icon .fab,.openms-lib-page--pyopenms-pro .openms-lib-developers__route:hover .openms-lib-developers__route-icon .fas,.openms-lib-page--pyopenms-pro .openms-lib-developers__route:hover .openms-lib-developers__route-icon .svg-inline--fa,.openms-lib-page--pyopenms-pro .openms-lib-developers__route:focus-visible .openms-lib-developers__route-icon,.openms-lib-page--pyopenms-pro .openms-lib-developers__route:focus-visible .openms-lib-developers__route-icon .fab,.openms-lib-page--pyopenms-pro .openms-lib-developers__route:focus-visible .openms-lib-developers__route-icon .fas,.openms-lib-page--pyopenms-pro .openms-lib-developers__route:focus-visible .openms-lib-developers__route-icon .svg-inline--fa{color:#fff!important}.openms-lib-page--pyopenms-pro .openms-lib-developers__route:hover .openms-lib-developers__card-link,.openms-lib-page--openms-lib.openms-lib-page--pyopenms-pro .openms-lib-developers__grid--routes>.openms-lib-developers__route:not(.openms-lib-developers__route--build):nth-child(1):hover .openms-lib-developers__card-title,.openms-lib-page--openms-lib.openms-lib-page--pyopenms-pro .openms-lib-developers__grid--routes>.openms-lib-developers__route:not(.openms-lib-developers__route--build):nth-child(1):focus-visible .openms-lib-developers__card-title,.openms-lib-page--openms-lib.openms-lib-page--pyopenms-pro .openms-lib-developers__grid--routes>.openms-lib-developers__route:not(.openms-lib-developers__route--build):nth-child(1):hover .openms-lib-developers__card-link,.openms-lib-page--openms-lib.openms-lib-page--pyopenms-pro .openms-lib-developers__grid--routes>.openms-lib-developers__route:not(.openms-lib-developers__route--build):nth-child(1):focus-visible .openms-lib-developers__card-link{color:#fff!important}@media(max-width:1100px){.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--pyopenms-pro .openms-lib-developers__grid--routes,.openms-lib-page--openms-lib.openms-lib-page--pyopenms-pro .openms-lib-developers__grid--routes{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--pyopenms-pro .openms-lib-developers__grid--routes,.openms-lib-page--openms-lib.openms-lib-page--pyopenms-pro .openms-lib-developers__grid--routes{grid-template-columns:1fr}}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-hero--pro{padding-bottom:calc(var(--openms-btn-glow-size,6px) + .5rem);overflow:visible}.openms-lib-page--sponsor-us.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-hero--pro,.openms-lib-page--our-sponsors.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-hero--pro{padding-bottom:var(--pro-section-y);overflow:visible}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-page__body>.openms-lib-page__anchor{padding-block:var(--pro-section-y)0}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) #what-is-openms{padding-bottom:0}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) #topp-tools{padding-top:calc(var(--pro-section-y) * .4)}.openms-lib-layout:has( .openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-page__cite ){padding-bottom:0}.content-padding:has( .openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-page__cite ){padding-bottom:0;margin-bottom:0}.openms-lib-layout:has( .openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-page__cite )+#footer.footer-redesign,.content-padding:has( .openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-page__cite )+#footer.footer-redesign{margin-top:0;padding-top:0}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) #what-is-openms,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) #topp-tools,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) #getting-started{padding-bottom:0}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) #topp-tools{padding-top:var(--pro-section-y)}.openms-lib-layout:has( .openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-page__cite ),.openms-lib-layout:has(.openms-lib-page--pyopenms-pro>.openms-lib-page__cite),.openms-lib-layout:has(.openms-lib-page--pyopenms-pro .openms-lib-page__cite),.openms-lib-layout:has(.openms-lib-page--pyopenms-viz-pro .openms-lib-page__cite),.openms-lib-layout:has(.openms-lib-page--pyopenms-viz-pro .openms-lib-developers__cite){padding-bottom:0}.content-padding:has( .openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-page__cite ),.content-padding:has(.openms-lib-page--pyopenms-pro .openms-lib-page__cite),.content-padding:has(.openms-lib-page--pyopenms-viz-pro .openms-lib-page__cite),.content-padding:has(.openms-lib-page--pyopenms-viz-pro .openms-lib-developers__cite){padding-bottom:0;margin-bottom:0}.openms-lib-layout:has( .openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-page__cite )+#footer.footer-redesign,.content-padding:has( .openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-page__cite )+#footer.footer-redesign,.openms-lib-layout:has(.openms-lib-page--pyopenms-pro .openms-lib-page__cite)+#footer.footer-redesign,.content-padding:has(.openms-lib-page--pyopenms-pro .openms-lib-page__cite)+#footer.footer-redesign,.openms-lib-layout:has(.openms-lib-page--pyopenms-viz-pro .openms-lib-page__cite)+#footer.footer-redesign,.content-padding:has(.openms-lib-page--pyopenms-viz-pro .openms-lib-page__cite)+#footer.footer-redesign,.openms-lib-layout:has(.openms-lib-page--pyopenms-viz-pro .openms-lib-developers__cite)+#footer.footer-redesign,.content-padding:has(.openms-lib-page--pyopenms-viz-pro .openms-lib-developers__cite)+#footer.footer-redesign{margin-top:0;padding-top:0}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-about,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-topp-split,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-resources,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-resources--explore{padding-block:0;padding-top:0}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-resources__inner,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) #getting-started .openms-lib-resources__inner,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) #getting-started .openms-lib-resources--explore .openms-lib-resources__inner{padding-bottom:0}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) #getting-started .openms-lib-resources--explore,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) #getting-started .openms-lib-resources__assist{overflow:visible}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-page__outro .openms-lib-block--developers{gap:0;padding-block:var(--pro-section-y)clamp(1.75rem,4vw,3rem);overflow:visible}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-page__outro .openms-lib-block--developers.openms-lib-developers--cards{gap:var(--pro-head-to-content);padding-bottom:var(--pro-section-y)}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-page__review .openms-lib-review{padding-block:var(--pro-section-y)clamp(1.75rem,4vw,3rem);background:radial-gradient(ellipse 70% 55% at 50% 0%,rgba(var(--openms-blue-rgb),.08),transparent 62%),var(--openms-white)}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-page__cite .openms-lib-cite,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-page__cite .openms-lib-developers__cite{margin-top:0;padding-top:var(--pro-section-y);padding-bottom:calc(var(--pro-section-y) * .75)}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-page__cite{border-top:1px solid var(--pro-line)}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) #topp-tools .openms-lib-topp-split__inner{align-items:stretch}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) #topp-tools .openms-lib-topp-split--cards .openms-lib-topp-split__intro{align-content:center}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) #topp-tools .openms-lib-topp-split__cards{gap:var(--pro-card-gap)}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) #getting-started .openms-lib-resources__assist{width:100%;max-width:var(--pro-max);margin-top:clamp(1.25rem,3vw,2rem);margin-bottom:clamp(2.75rem,6vw,4.75rem);margin-inline:auto;padding:clamp(1.35rem,3vw,1.85rem)clamp(1.25rem,3.5vw,2.25rem)calc(clamp(1.35rem,3vw,1.85rem) + var(--openms-btn-glow-size,6px));border:1px solid var(--pro-line);border-radius:var(--pro-radius);background:var(--pro-band-soft);box-sizing:border-box;overflow:visible}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) #getting-started .openms-lib-resources--explore .openms-lib-resources__inner{gap:var(--pro-head-to-content)}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-page__outro .openms-lib-developers--cards .openms-lib-developers__card--box,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-page__outro .openms-lib-developers--cards .openms-lib-developers__card--review,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-page__outro .openms-lib-developers--cards .openms-lib-developers__card--build-src{background:var(--openms-white)}.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-page__outro .openms-lib-developers__cards-grid:has(>:nth-child(7):last-child)>:nth-child(6),.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-page__outro .openms-lib-developers__cards-grid:has(>:nth-child(7):last-child)>:nth-child(7){background:color-mix(in srgb,var(--openms-white) 70%,var(--pro-band-soft));box-shadow:none}.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-page__outro .openms-lib-block--developers.openms-lib-developers--cards{display:flex;flex-direction:column;align-items:stretch;gap:var(--pro-head-to-content);max-width:none;margin-inline:0;padding-inline:var(--openms-page-inline)}.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__cards-head{display:grid;justify-items:start;gap:0;width:100%;max-width:var(--pro-max);margin:0 auto;text-align:left}.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-block__eyebrow{justify-content:flex-start;color:var(--pro-eyebrow,rgba(var(--openms-blue-rgb),.72))}.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__title{width:100%;max-width:none;text-align:left}.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__lead{justify-self:start;max-width:34rem;margin:var(--pro-stack-lead)0 0;text-align:left}.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers__cards-grid{width:100%;max-width:var(--pro-max);margin-inline:auto;gap:clamp(.9rem,2vw,1.35rem)}.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card-link{margin-top:auto;padding-top:.35rem;color:var(--pro-link,var(--openms-navy))!important}.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:hover .openms-lib-developers__card-link,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-visible .openms-lib-developers__card-link,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-within .openms-lib-developers__card-link{color:var(--openms-white)!important}.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-card--featured{min-height:13.5rem;padding:1.65rem 1.55rem 1.5rem;background:linear-gradient(160deg,rgba(255,255,255,.16) 0%,transparent 42%),var(--openms-navy)!important;box-shadow:0 .75rem 1.7rem rgba(var(--openms-navy-rgb),.3)!important}.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-card--featured .openms-lib-resources__explore-title{font-size:clamp(1.25rem,2vw,1.45rem)}.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-card--featured .openms-lib-resources__explore-icon{font-size:clamp(1.75rem,2.6vw,2.1rem)}.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-card--featured:hover,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-card--featured:focus-visible{background:linear-gradient(160deg,rgba(255,255,255,.2) 0%,transparent 42%),var(--openms-blue)!important}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-cite__card{gap:1rem;padding:clamp(1.5rem,3vw,2.15rem)clamp(1.35rem,3vw,2rem)}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-cite__card .publications-cite-card__title{line-height:1.45}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-cite__card .publications-cite-card__authors{margin:0;line-height:1.7;max-width:62ch}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-cite__card .publications-cite-card__meta{gap:.55rem .9rem;margin-top:.15rem}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-cite__actions{margin-top:.35rem;gap:.75rem}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-review__inner{display:flex;flex-direction:column;align-items:center;gap:clamp(1.35rem,3vw,1.85rem);max-width:min(100%,42rem);margin-inline:auto;padding-inline:max(var(--olib-pad-x),calc((100% - var(--pro-max))/2 + var(--olib-pad-x)));text-align:center}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-review__head{display:grid;justify-items:center;gap:0;width:100%;text-align:center}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-review__eyebrow{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;margin:0 0 var(--pro-stack-eyebrow);padding:0;border:none;background:0 0;font-size:var(--openms-text-min);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--openms-blue)}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-review__title{margin:0;font-family:var(--openms-font-heading);font-size:calc(var(--openms-heading-lg-size) * 1.15);font-weight:var(--openms-heading-lg-weight);line-height:1.25;letter-spacing:normal;text-transform:uppercase;text-wrap:balance;color:var(--openms-navy);text-align:center}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-review__lead{margin:var(--pro-stack-lead)auto 0;max-width:34rem;font-size:var(--openms-body-size-lg);line-height:1.65;color:var(--pro-text-muted);text-align:center;text-wrap:pretty}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-review__cta{display:flex;flex-direction:column;align-items:center;gap:1rem;width:100%}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-review__badge{display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:0;background:0 0;box-shadow:none;line-height:0;text-decoration:none;transition:transform .2s ease,opacity .2s ease}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-review__badge:hover,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-review__badge:focus-visible{border:none;background:0 0;box-shadow:none;transform:translateY(-2px);outline:none}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-review__badge img{display:block;height:1.35rem;width:auto;max-width:min(100%,18rem)}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-review__actions{display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;gap:.75rem;width:max-content;max-width:100%}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-review__actions .openms-lib-btn--primary .fa-github{color:#fff!important}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-review__actions .openms-lib-btn--primary .fa-github{color:#fff!important}@media(max-width:560px){.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-review__actions{gap:clamp(.45rem,2vw,.75rem)}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-review__actions .openms-lib-btn{padding-inline:clamp(.7rem,3vw,1.25rem)}}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-about--benefits .openms-lib-about__benefit-num{margin:0 0 .15rem;color:rgba(var(--openms-navy-rgb),.2)!important;letter-spacing:-.03em}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-about--benefits .openms-lib-about__benefit:hover .openms-lib-about__benefit-num,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-about--benefits .openms-lib-about__benefit:focus-within .openms-lib-about__benefit-num{color:var(--openms-step-num-color-hover,var(--openms-navy));background:0 0;border:none}@media(max-width:720px){.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-about--benefits .openms-lib-about__benefit{align-items:start;text-align:left}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-about--benefits .openms-lib-about__benefit-num,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-about--benefits .openms-lib-about__benefit-title,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-about--benefits .openms-lib-about__benefit-text{text-align:left;width:100%}}.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-card{border:none!important;background:linear-gradient(160deg,rgba(255,255,255,.14) 0%,transparent 42%),var(--openms-blue)!important;box-shadow:0 .55rem 1.4rem rgba(var(--openms-blue-rgb),.28)!important;color:var(--openms-white)!important}.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-card:hover,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-card:focus-visible{background:linear-gradient(160deg,rgba(255,255,255,.18) 0%,transparent 42%),var(--openms-navy)!important;box-shadow:0 .85rem 1.85rem rgba(var(--openms-navy-rgb),.32)!important;transform:translateY(-4px)}.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-title,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-link{color:var(--openms-white)!important}.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-text{color:rgba(255,255,255,.82)!important}.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-tag{display:none!important}.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-icon{display:grid!important;place-items:center;width:1em;height:1em;margin:0 0 .15rem;color:rgba(255,255,255,.88)!important;font-size:var(--openms-card-icon-size,clamp(2.5rem,3.8vw,3rem))!important;line-height:1}.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-icon .fab,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-icon .fas,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-icon .svg-inline--fa{color:inherit!important;font-size:1em;width:1em;height:1em}.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-icon .svg-inline--fa path{fill:currentColor}@media(hover:hover) and (pointer:fine){.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:hover,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-visible,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-within{background:linear-gradient(160deg,rgba(255,255,255,.18) 0%,transparent 42%),var(--openms-navy)!important;border-color:transparent!important;box-shadow:0 .85rem 1.85rem rgba(var(--openms-navy-rgb),.32)!important;color:#fff!important}.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:hover .openms-lib-developers__card-title,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:hover .openms-lib-developers__card-title span,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:hover .openms-lib-developers__card-subtitle,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:hover .openms-lib-developers__card-link,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:hover .openms-lib-developers__card-cta,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:hover .openms-lib-developers__card-hover-text,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:hover .openms-lib-developers__card-icon,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:hover .openms-lib-developers__card-icon i,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-visible .openms-lib-developers__card-title,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-visible .openms-lib-developers__card-title span,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-visible .openms-lib-developers__card-subtitle,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-visible .openms-lib-developers__card-link,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-visible .openms-lib-developers__card-icon,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-visible .openms-lib-developers__card-icon i,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--link:hover .openms-lib-developers__card-title,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--link:hover .openms-lib-developers__card-subtitle,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--link:hover .openms-lib-developers__card-link,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--link:hover .openms-lib-developers__card-icon,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--link:hover .openms-lib-developers__card-icon i{color:#fff!important;opacity:1!important;height:auto!important;max-height:none!important;overflow:visible!important}.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:hover .openms-lib-developers__card-subtitle,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-visible .openms-lib-developers__card-subtitle,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-within .openms-lib-developers__card-subtitle{opacity:1!important;height:auto!important;margin:0!important;overflow:visible!important;color:rgba(255,255,255,.92)!important}.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:hover .openms-lib-developers__platform-btn,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-within .openms-lib-developers__platform-btn{border-color:rgba(255,255,255,.55)!important;background:0 0!important;color:#fff!important}.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:hover .openms-lib-developers__platform-btn i,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-within .openms-lib-developers__platform-btn i,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:hover .openms-lib-developers__platform-btn .fab,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-within .openms-lib-developers__platform-btn .fab,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:hover .openms-lib-developers__platform-btn .fas,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-within .openms-lib-developers__platform-btn .fas,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:hover .openms-lib-developers__platform-btn .fa-windows,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-within .openms-lib-developers__platform-btn .fa-windows,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:hover .openms-lib-developers__platform-btn .fa-apple,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-within .openms-lib-developers__platform-btn .fa-apple,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:hover .openms-lib-developers__platform-btn .fa-linux,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-within .openms-lib-developers__platform-btn .fa-linux,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:hover .openms-lib-developers__platform-btn .svg-inline--fa,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-within .openms-lib-developers__platform-btn .svg-inline--fa{color:#fff!important}.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:hover .openms-lib-developers__platform-btn .svg-inline--fa path,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--interactive:focus-within .openms-lib-developers__platform-btn .svg-inline--fa path{fill:currentColor!important}}.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-hero__actions,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-hero__actions{flex-wrap:nowrap;width:max-content;max-width:100%;margin-inline:auto}.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-hero__actions,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-hero__actions{flex-wrap:nowrap;width:max-content;max-width:100%;margin-inline:auto}.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-btn:not(.openms-lib-developers__platform-btn),.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-btn:not(.openms-lib-developers__platform-btn),.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-hero__doc-btn,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-hero__doc-btn,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-cta-band__doc-btn,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-cta-band__doc-btn{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-height:var(--openms-btn-min-height,2.75rem);height:auto;padding:var(--openms-btn-padding);font-size:var(--openms-btn-font-size,var(--openms-text-min));font-weight:600;line-height:1.3;gap:.4rem;white-space:nowrap}@media(max-width:640px){.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-btn:not(.openms-lib-developers__platform-btn),.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-btn:not(.openms-lib-developers__platform-btn),.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-hero__actions .openms-lib-btn:not(.openms-lib-developers__platform-btn),.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--pyopenms-viz-pro):not(.openms-lib-page--webapps) .openms-lib-hero__actions .openms-lib-btn:not(.openms-lib-developers__platform-btn){min-height:var(--openms-btn-min-height,2.75rem);height:auto;padding:var(--openms-btn-padding,.7rem 1.25rem);font-size:var(--openms-btn-font-size,var(--openms-text-min))}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--build-src .openms-lib-developers__platforms,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--build-src .openms-lib-developers__platforms{flex-wrap:nowrap;gap:.35rem}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers--cards .openms-lib-developers__card--build-src .openms-lib-developers__platform-btn,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards .openms-lib-developers__card--build-src .openms-lib-developers__platform-btn{flex:1;min-width:0;max-width:none;width:auto;justify-content:center}}.openms-lib-page--developer-retreat #upcoming-retreat{background:var(--pro-band-soft)}.openms-lib-page--developer-retreat #about-the-retreat{background:var(--openms-white)}.openms-lib-page--developer-retreat #about-the-retreat .openms-lib-about__head{display:grid;grid-template-columns:1fr;gap:0;align-items:start;max-width:min(100%,42rem);margin:0 0 var(--pro-head-to-content);text-align:left}.openms-lib-page--developer-retreat #about-the-retreat .openms-lib-about__head-copy{display:grid;gap:0;justify-items:start;width:100%;max-width:100%}.openms-lib-page--developer-retreat #about-the-retreat .openms-lib-about__eyebrow,.openms-lib-page--developer-retreat #about-the-retreat .openms-lib-about__title{margin:0}.openms-lib-page--developer-retreat #past-retreat{background:var(--pro-band-soft);padding-block:var(--pro-section-y);padding-top:calc(var(--pro-section-y) * .45)}.openms-lib-page--developer-retreat .retreat-upcoming{padding-block:var(--pro-section-y)}.openms-lib-page--developer-retreat .retreat-upcoming__inner{display:grid;grid-template-columns:minmax(0,.95fr)minmax(0,1.05fr);gap:var(--pro-col-gap);align-items:center}.openms-lib-page--developer-retreat .retreat-upcoming__head{grid-template-columns:1fr;align-items:start;margin:0}.openms-lib-page--developer-retreat .retreat-upcoming__facts,.openms-lib-page--developer-retreat .retreat-upcoming__list{display:grid;gap:.65rem;margin:1rem 0 0;padding:0;list-style:none}.openms-lib-page--developer-retreat .retreat-upcoming__facts li{display:flex;align-items:flex-start;gap:.65rem;margin:0;font-size:var(--openms-body-size-lg);line-height:1.45;color:rgba(var(--openms-dark-rgb),.82)}.openms-lib-page--developer-retreat .retreat-upcoming__facts i{display:grid;place-items:center;flex:0 0 1.5rem;width:1.5rem;margin-top:.15em;color:var(--openms-navy)}.openms-lib-page--developer-retreat .retreat-upcoming__list li{position:relative;margin:0;padding-left:1rem;font-size:var(--openms-body-size-lg);line-height:1.5;color:rgba(var(--openms-dark-rgb),.82)}.openms-lib-page--developer-retreat .retreat-upcoming__list li::before{content:"";position:absolute;left:0;top:.6em;width:.32rem;height:.32rem;border-radius:50%;background:rgba(var(--openms-navy-rgb),.4)}.openms-lib-page--developer-retreat .retreat-upcoming__actions{margin-top:1.35rem}.openms-lib-page--developer-retreat .retreat-upcoming__sponsor{margin:1rem 0 0;font-size:var(--openms-body-size);line-height:1.5;color:var(--pro-text-muted)}.openms-lib-page--developer-retreat .retreat-upcoming__sponsor a{color:var(--openms-navy);font-weight:600;text-decoration:underline;text-underline-offset:.14em}.openms-lib-page--developer-retreat .retreat-upcoming__poster{margin:0}.openms-lib-page--developer-retreat .retreat-upcoming__poster img{display:block;width:100%;height:auto;border-radius:var(--pro-radius);box-shadow:var(--pro-shadow)}.openms-lib-page--developer-retreat .retreat-highlights__mosaic{grid-template-columns:repeat(3,minmax(0,1fr))!important}.openms-lib-page--developer-retreat .retreat-photo{display:grid;gap:.75rem;max-width:var(--pro-max);margin:0 auto}.openms-lib-page--developer-retreat .retreat-photo__image{display:block;width:100%;height:auto;border-radius:var(--pro-radius);box-shadow:var(--pro-shadow)}.openms-lib-page--developer-retreat .retreat-photo__caption{margin:0;font-size:var(--openms-body-size);line-height:1.5;color:var(--pro-text-muted);text-align:center}.openms-lib-page--developer-retreat .retreat-register--closed{cursor:not-allowed;opacity:.72;position:relative}.openms-lib-page--developer-retreat .retreat-register--closed:hover,.openms-lib-page--developer-retreat .retreat-register--closed:focus-visible{transform:none!important;box-shadow:none!important;outline:none}.openms-lib-page--developer-retreat .retreat-register--closed::after{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + .55rem);transform:translateX(-50%)translateY(.2rem);width:max-content;max-width:16rem;padding:.45rem .7rem;border-radius:.45rem;background:var(--openms-navy);color:var(--openms-white);font-size:var(--openms-text-min);font-weight:600;line-height:1.35;text-align:center;opacity:0;pointer-events:none;transition:opacity .15s ease,transform .15s ease;z-index:2}.openms-lib-page--developer-retreat .retreat-register--closed:hover::after,.openms-lib-page--developer-retreat .retreat-register--closed:focus-visible::after{opacity:1;transform:translateX(-50%)translateY(0)}@media(max-width:900px){.openms-lib-page--developer-retreat .retreat-upcoming__inner{grid-template-columns:1fr}.openms-lib-page--developer-retreat .retreat-highlights__mosaic{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.openms-lib-page--developer-retreat .retreat-register--closed::after{transition:none}}.openms-lib-page--governance #governance-bodies,.openms-lib-page--governance #core-developers,.openms-lib-page--governance #responsibilities,.openms-lib-page--sponsor-us #why-sponsor,.openms-lib-page--contributors #contributors,.openms-lib-page--publications #publications-list,.openms-lib-page--contact #contact-form,.openms-lib-page--contact #contact-paths,.openms-lib-page--research-partnerships #partnerships-include,.openms-lib-page--research-partnerships #partnership-form,.openms-lib-page--donate #donate-impact{background:var(--pro-band-soft)}.openms-lib-page--our-sponsors #our-sponsors{background:var(--openms-white)}.openms-lib-page--donate #donate-form{background:var(--openms-white)}.openms-lib-page--contact #contact-paths{background:var(--openms-white)}.openms-lib-page--research-partnerships #our-partners{background:var(--openms-white)}.openms-lib-page--hub.openms-lib-page--openms-lib .about-pro-content{padding-block:var(--pro-section-y);padding-top:calc(var(--pro-section-y) * .5)}.openms-lib-page--hub.openms-lib-page--openms-lib .about-pro-content__inner{max-width:var(--pro-max);margin-inline:auto}.openms-lib-page--publications .about-pro-content__inner{max-width:var(--pro-max)}.openms-lib-page--publications .openms-lib-btn--scholar .openms-lib-btn__icon,.openms-lib-btn--scholar .openms-lib-btn__icon{display:inline-flex;align-items:center;justify-content:center;flex:none;width:1.2em;height:1.2em;line-height:0}.openms-lib-page--publications .openms-lib-btn--scholar .openms-lib-btn__icon svg,.openms-lib-btn--scholar .openms-lib-btn__icon svg{display:block;width:100%;height:100%}.openms-lib-page--publications .openms-lib-resources__inner{max-width:var(--pro-max);width:100%;margin-inline:auto}.openms-lib-page--publications.openms-lib-page--openms-lib .openms-lib-page__body>.openms-lib-page__anchor{padding-inline:var(--openms-page-inline)!important;box-sizing:border-box}.openms-lib-page--publications .publications-featured,.openms-lib-page--publications .publications-bibliography,.openms-lib-page--publications .publications-featured__list,.openms-lib-page--publications .publication-list,.openms-lib-page--publications .publications-bibliography__entries,.openms-lib-page--publications .publications-toolbar{width:100%;max-width:none}.openms-lib-page--publications .publications-body{display:grid;gap:calc(var(--pro-section-y) * .75);width:100%}.openms-lib-page--publications .publications-featured,.openms-lib-page--publications .publications-bibliography{display:grid;gap:var(--pro-head-to-content);padding:0}.openms-lib-page--publications .publications-featured__list,.openms-lib-page--publications .publication-list,.openms-lib-page--publications .publications-bibliography__entries{gap:var(--pro-card-gap)}.openms-lib-page--publications .publications-cite-card,.openms-lib-page--publications .publications-year .publication-entry{gap:.55rem;padding:var(--pro-card-pad-lg);border:1px solid var(--pro-line);border-radius:var(--pro-radius);background:var(--openms-white);box-shadow:var(--pro-shadow);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.openms-lib-page--publications .publications-cite-card:hover,.openms-lib-page--publications .publications-cite-card:focus-within,.openms-lib-page--publications .publications-year .publication-entry:hover,.openms-lib-page--publications .publications-year .publication-entry:focus-within{transform:var(--pro-lift-sm);border-color:var(--pro-line-strong);box-shadow:var(--pro-shadow-hover)}.openms-lib-page--publications .publications-cite-card--primary{border-left:4px solid var(--openms-navy)}.openms-lib-page--publications .publications-cite-card--secondary{border-left:4px solid var(--openms-blue)}.openms-lib-page--publications .publications-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.6rem .85rem;padding:0;margin:calc(var(--pro-head-to-content) * -.35)0 0}.openms-lib-page--publications .publications-toolbar__filter{flex-direction:row;align-items:center;gap:.6rem;min-width:0}.openms-lib-page--publications .publications-toolbar__filter-label{font-family:var(--openms-font-body);font-size:var(--openms-text-min);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(var(--openms-navy-rgb),.6)}.openms-lib-page--publications .publications-toolbar__select{border-color:var(--pro-line-strong);border-radius:var(--pro-radius-sm,.6rem)}@media(max-width:640px){.openms-lib-page--publications .publications-toolbar{justify-content:flex-end}.openms-lib-page--publications .publications-toolbar__filter{flex-direction:row;align-items:center;width:auto}}.openms-lib-page--contributors .openms-lib-resources__inner{max-width:var(--pro-max)}.openms-lib-page--contributors .contributors-body{display:grid;gap:calc(var(--pro-section-y) * .85);width:100%}.openms-lib-page--contributors .contributors-section{display:grid;gap:var(--pro-head-to-content);margin:0;padding:0}.openms-lib-page--contributors #members .openms-lib-resources__head{max-width:none;justify-items:start;text-align:left;margin-inline:0}.openms-lib-page--contributors #members .openms-lib-resources__lead{display:grid;gap:.15em;max-width:none;width:max-content;margin-inline:0;text-align:left}.openms-lib-page--contributors #members .openms-lib-resources__lead span{display:block;white-space:nowrap}@media(max-width:640px){.openms-lib-page--contributors #members .openms-lib-resources__lead{width:100%}.openms-lib-page--contributors #members .openms-lib-resources__lead span{white-space:normal}}.openms-lib-page--contributors .leadership-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--pro-card-gap);margin:0}.openms-lib-page--contributors .leadership-card{display:flex;align-items:flex-start;gap:1.1rem;margin:0;padding:var(--pro-card-pad-lg);border:1px solid var(--pro-line);border-radius:var(--pro-radius);background:var(--openms-white);box-shadow:var(--pro-shadow);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.openms-lib-page--contributors .leadership-card:hover{transform:var(--pro-lift-sm);border-color:var(--pro-line-strong);box-shadow:var(--pro-shadow-hover)}.openms-lib-page--contributors .leadership-card__photo{flex:none;width:5.75rem;height:5.75rem;border-radius:50%;object-fit:cover;object-position:center top;border:3px solid rgba(var(--openms-blue-rgb),.16);background:rgba(var(--openms-navy-rgb),.04)}.openms-lib-page--contributors .leadership-card__body{min-width:0;display:grid;gap:.2rem}.openms-lib-page--contributors .leadership-card__name{margin:0;font-family:var(--openms-font-heading);font-size:clamp(1.05rem,1.8vw,1.2rem);font-weight:800;line-height:1.3;color:var(--openms-navy)}.openms-lib-page--contributors .leadership-card__role{margin:0 0 .35rem;font-size:var(--openms-text-min);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--openms-blue)}.openms-lib-page--contributors .leadership-card__bio{margin:0;font-size:var(--openms-body-size);line-height:1.6;color:rgba(var(--openms-dark-rgb),.78)}.openms-lib-page--contributors .contributors-exec-note{margin:0 auto;max-width:42rem;text-align:center;font-size:var(--openms-body-size-lg);line-height:1.65;color:rgba(var(--openms-dark-rgb),.82)}.openms-lib-page--contributors .contributors-exec-note a{color:var(--openms-blue);font-weight:600;text-decoration:underline;text-underline-offset:.15em}.openms-lib-page--contributors .team{margin:0;padding:0}.openms-lib-page--contributors .team>.name.title{display:none}.openms-lib-page--contributors .members{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem .4rem;margin:0 auto;padding:0;max-width:56rem;width:100%}.openms-lib-page--contributors .member{display:grid;justify-items:center;align-content:center;gap:0;margin:0;padding:.85rem .75rem;border:1px solid var(--pro-line);border-radius:var(--pro-radius);background:var(--openms-white);box-shadow:var(--pro-shadow);text-align:center;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.openms-lib-page--contributors .member:hover{transform:var(--pro-lift-sm);border-color:var(--pro-line-strong);box-shadow:var(--pro-shadow-hover)}.openms-lib-page--contributors .member>.name{display:block;margin:0;font-family:var(--openms-font-heading);font-size:var(--openms-body-size-lg);font-weight:800;line-height:1.3;color:var(--openms-navy);text-decoration:none}.openms-lib-page--contributors .member>.name:hover,.openms-lib-page--contributors .member>.name:focus-visible{color:var(--openms-blue);outline:none}.openms-lib-page--contributors .member .photo,.openms-lib-page--contributors .member .roles{display:none}@media(max-width:960px){.openms-lib-page--contributors .members{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:860px){.openms-lib-page--contributors .leadership-grid{grid-template-columns:1fr}}@media(max-width:560px){.openms-lib-page--contributors .members{grid-template-columns:1fr}.openms-lib-page--contributors .leadership-card{flex-direction:column;align-items:center;text-align:center}.openms-lib-page--contributors .leadership-card__body{justify-items:center}}.openms-lib-page--contact .contact-application{padding-block:var(--pro-section-y);padding-top:calc(var(--pro-section-y) * .5);padding-bottom:calc(var(--pro-section-y) * .35)}.openms-lib-page--contact #contact-paths .openms-lib-resources{padding-block:calc(var(--pro-section-y) * .45)0}.openms-lib-page--contact .contact-application__inner{display:flex;flex-direction:column;gap:var(--pro-head-to-content);max-width:var(--pro-max);margin-inline:auto}.openms-lib-page--contact .contact-application__head{display:grid;justify-items:center;gap:0;max-width:min(52rem,100%);margin-inline:auto;text-align:center}.openms-lib-page--contact .contact-application__lead-intro{margin:var(--pro-stack-lead)0 0;max-width:36ch;font-size:var(--openms-body-size-lg);font-weight:600;line-height:1.55;color:var(--openms-navy);text-align:center}.openms-lib-page--contact .contact-application__lead-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.35rem 2.5rem;width:100%;margin-top:1.35rem;padding-top:1.35rem;border-top:1px solid var(--pro-line);text-align:left}.openms-lib-page--contact .contact-application__lead-col{display:grid;gap:.45rem;margin:0;min-width:0}.openms-lib-page--contact .contact-application__lead-label{font-size:var(--openms-text-min);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--openms-blue)}.openms-lib-page--contact .contact-application__lead-text{font-size:var(--openms-body-size);line-height:1.7;color:var(--pro-text-muted)}@media(max-width:720px){.openms-lib-page--contact .contact-application__lead-columns{grid-template-columns:1fr;gap:1.1rem;text-align:center}.openms-lib-page--contact .contact-application__lead-col{justify-items:center}}.openms-lib-page--contact .contact-application__form{width:100%;max-width:48rem;margin-inline:auto;padding:var(--pro-card-pad-lg);border:none;border-radius:0;background:0 0;box-shadow:none;overflow:visible}.openms-lib-page--contact .contact-page__form-body,.openms-lib-page--contact .contact-page__tally-iframe{display:block;width:100%;max-height:none;overflow:visible;border:0;background:0 0}.openms-lib-page--contact .contact-page__tally-iframe{min-height:50rem}.openms-lib-page--contact .contact-paths-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--pro-card-gap)}.openms-lib-page--contact .openms-lib-resources__item-icon{display:grid;place-items:center;width:auto;height:auto;margin:0;padding:0;border:none;border-radius:0;background:0 0;box-shadow:none;color:rgba(var(--openms-blue-rgb),.28);font-size:clamp(2.5rem,3.8vw,3rem);line-height:1}.openms-lib-page--contact .openms-lib-resources__item-icon .fab,.openms-lib-page--contact .openms-lib-resources__item-icon .fas,.openms-lib-page--contact .openms-lib-resources__item-icon .svg-inline--fa{color:rgba(var(--openms-blue-rgb),.28)!important;font-size:1em;width:1em;height:1em}.openms-lib-page--contact .openms-lib-resources__item-icon .svg-inline--fa path{fill:currentColor!important}@media(hover:hover) and (pointer:fine){.openms-lib-page--contact .openms-lib-resources__item:not(.openms-lib-resources__item--static):hover .openms-lib-resources__item-icon,.openms-lib-page--contact .openms-lib-resources__item:not(.openms-lib-resources__item--static):focus-visible .openms-lib-resources__item-icon,.openms-lib-page--contact .openms-lib-resources__item:not(.openms-lib-resources__item--static):hover .openms-lib-resources__item-icon .fab,.openms-lib-page--contact .openms-lib-resources__item:not(.openms-lib-resources__item--static):focus-visible .openms-lib-resources__item-icon .fab,.openms-lib-page--contact .openms-lib-resources__item:not(.openms-lib-resources__item--static):hover .openms-lib-resources__item-icon .fas,.openms-lib-page--contact .openms-lib-resources__item:not(.openms-lib-resources__item--static):focus-visible .openms-lib-resources__item-icon .fas,.openms-lib-page--contact .openms-lib-resources__item:not(.openms-lib-resources__item--static):hover .openms-lib-resources__item-icon .svg-inline--fa,.openms-lib-page--contact .openms-lib-resources__item:not(.openms-lib-resources__item--static):focus-visible .openms-lib-resources__item-icon .svg-inline--fa{color:var(--openms-blue)!important}.openms-lib-page--contact .openms-lib-resources__item:not(.openms-lib-resources__item--static):hover .openms-lib-resources__item-icon .svg-inline--fa path,.openms-lib-page--contact .openms-lib-resources__item:not(.openms-lib-resources__item--static):focus-visible .openms-lib-resources__item-icon .svg-inline--fa path{fill:currentColor!important}}.openms-lib-page--contact .contact-paths-grid>.contact-page__path-item{display:flex;flex-direction:column;gap:.45rem;min-height:100%;padding:var(--pro-card-pad-lg);border:1px solid var(--pro-line);border-radius:var(--pro-radius);background:var(--openms-white);box-shadow:var(--pro-shadow);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.openms-lib-page--contact .contact-paths-grid>.contact-page__path-item:hover,.openms-lib-page--contact .contact-paths-grid>.contact-page__path-item:focus-within{transform:var(--pro-lift-sm);border-color:var(--pro-line-strong);box-shadow:var(--pro-shadow-hover)}.openms-lib-page--contact .contact-page__path-icon{display:grid;place-items:center;width:2.4rem;height:2.4rem;margin-bottom:.35rem;border-radius:.65rem;color:var(--openms-navy);background:rgba(var(--openms-navy-rgb),.06)}.openms-lib-page--contact .contact-page__path-label{margin:0;font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--pro-text-soft)}.openms-lib-page--contact .contact-page__path-title{margin:0;font-family:var(--openms-font-heading);font-size:clamp(1.05rem,1.5vw,1.2rem);font-weight:700;color:var(--openms-navy)}.openms-lib-page--contact .contact-page__path-desc{margin:0;flex:auto;font-size:var(--openms-body-size);line-height:1.55;color:rgba(var(--openms-dark-rgb),.72)}.openms-lib-page--contact .contact-page__path-link{display:inline-flex;align-items:center;gap:.3rem;margin-top:auto;padding-top:.85rem;font-size:var(--openms-text-min);font-weight:700;color:var(--openms-navy)!important;text-decoration:none!important}.openms-lib-page--contact .contact-page__path-link:hover,.openms-lib-page--contact .contact-page__path-link:focus-visible{color:var(--openms-blue)!important;outline:none}@media(max-width:900px){.openms-lib-page--contact .contact-paths-grid{grid-template-columns:1fr}}@media(max-width:640px){.openms-lib-page--contact .contact-application__form{padding:.85rem}}@media(prefers-reduced-motion:reduce){.openms-lib-page--contact .contact-paths-grid>.contact-page__path-item:hover,.openms-lib-page--contact .contact-paths-grid>.contact-page__path-item:focus-within{transform:none}}.openms-lib-page--research-partnerships .openms-lib-resources__inner{max-width:var(--pro-max)}.openms-lib-page--research-partnerships #partnerships-include .openms-lib-about,.openms-lib-page--research-partnerships #our-partners .openms-lib-resources,.openms-lib-page--research-partnerships #partnership-form .openms-lib-resources{padding-block:var(--pro-section-y)}.openms-lib-page--research-partnerships .rp-include__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--pro-card-gap);margin:0;padding:0;list-style:none}.openms-lib-page--research-partnerships .rp-include__card{position:relative;display:flex;flex-direction:column;gap:.85rem;margin:0;padding:var(--pro-card-pad-lg);font-family:var(--openms-font-heading);font-size:clamp(1.02rem,1.5vw,1.15rem);font-weight:700;line-height:1.4;color:var(--openms-navy);background:var(--openms-white);border:1px solid var(--pro-line);border-radius:var(--pro-radius);box-shadow:var(--pro-shadow);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.openms-lib-page--research-partnerships .rp-include__card::before{content:"";width:2.4rem;height:2.4rem;border-radius:.65rem;background-color:rgba(var(--openms-navy-rgb),.06);background-repeat:no-repeat;background-position:50%;background-size:1.2rem;box-shadow:none;transition:transform .2s ease}.openms-lib-page--research-partnerships .rp-include__card:nth-child(1)::before{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%230c2171" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><polyline points="14 2 14 8 20 8"/><line x1="16" y1="13" x2="8" y2="13"/><line x1="16" y1="17" x2="8" y2="17"/></svg>')}.openms-lib-page--research-partnerships .rp-include__card:nth-child(2)::before{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%230c2171" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"/><circle cx="9" cy="7" r="4"/><path d="M23 21v-2a4 4 0 0 0-3-3.87"/><path d="M16 3.13a4 4 0 0 1 0 7.75"/></svg>')}.openms-lib-page--research-partnerships .rp-include__card:nth-child(3)::before{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%230c2171" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="6" y1="3" x2="6" y2="15"/><circle cx="18" cy="6" r="3"/><circle cx="6" cy="18" r="3"/><path d="M18 9a9 9 0 0 1-9 9"/></svg>')}.openms-lib-page--research-partnerships .rp-include__card:nth-child(4)::before{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%230c2171" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="20" x2="18" y2="10"/><line x1="12" y1="20" x2="12" y2="4"/><line x1="6" y1="20" x2="6" y2="14"/></svg>')}.openms-lib-page--research-partnerships .rp-include__card:nth-child(5)::before{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%230c2171" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polygon points="12 2 2 7 12 12 22 7 12 2"/><polyline points="2 17 12 22 22 17"/><polyline points="2 12 12 17 22 12"/></svg>')}.openms-lib-page--research-partnerships .rp-include__card:hover{transform:var(--pro-lift-sm);border-color:var(--pro-line-strong);box-shadow:var(--pro-shadow-hover)}.openms-lib-page--research-partnerships .rp-include__card:hover::before{transform:none}.openms-lib-page--research-partnerships #our-partners .uni-partners{margin:0}.openms-lib-page--research-partnerships #our-partners .uni-partners--static .uni-partners__static{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem 1.25rem;max-width:var(--pro-max);margin:0 auto;padding:0}.openms-lib-page--research-partnerships #our-partners .uni-partners--static .uni-partners__item{display:flex;align-items:center;justify-content:center;min-height:7rem;padding:.85rem;border:none;background:0 0;box-shadow:none}.openms-lib-page--research-partnerships #our-partners .uni-partners--static .uni-partners__item img{max-width:100%;max-height:5rem;width:auto;height:auto;object-fit:contain}.openms-lib-page--research-partnerships #our-partners .uni-partners--static .uni-partners__item-abbr{font-size:1.15rem;min-width:3.5rem;min-height:3.5rem}.openms-lib-page--research-partnerships .rp-application__inner{display:flex;flex-direction:column;gap:var(--pro-head-to-content)}.openms-lib-page--research-partnerships .rp-application__form{width:100%;max-width:48rem;margin-inline:auto;padding:0;border:none;background:0 0;box-shadow:none}.openms-lib-page--research-partnerships .rp-application__tally-iframe{display:block;width:100%;min-height:48rem;border:0;overflow:visible;background:0 0}@media(max-width:960px){.openms-lib-page--research-partnerships .rp-include__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.openms-lib-page--research-partnerships #our-partners .uni-partners--static .uni-partners__static{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:640px){.openms-lib-page--research-partnerships .rp-include__grid{grid-template-columns:1fr}.openms-lib-page--research-partnerships #our-partners .uni-partners--static .uni-partners__static{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){.openms-lib-page--research-partnerships .rp-include__card:hover{transform:none}}.openms-lib-page--donate .openms-lib-resources__inner{max-width:min(56rem,100%)}.openms-lib-page--donate #donate-impact .openms-lib-resources{padding-block:var(--pro-section-y);padding-top:calc(var(--pro-section-y) * .5)}.openms-lib-page--donate #donate-impact .openms-lib-resources__inner{display:flex;flex-direction:column;gap:var(--pro-head-to-content)}.openms-lib-page--donate .donate-impact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--pro-card-gap);margin:0;padding:0;list-style:none}.openms-lib-page--donate .donate-impact-card{display:flex;flex-direction:column;gap:.55rem;margin:0;padding:var(--pro-card-pad-lg);border:1px solid var(--pro-line);border-radius:var(--pro-radius);background:var(--openms-white);box-shadow:var(--pro-shadow);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.openms-lib-page--donate .donate-impact-card:hover{transform:var(--pro-lift-sm);border-color:var(--pro-line-strong);box-shadow:var(--pro-shadow-hover)}.openms-lib-page--donate .donate-impact-card__icon{display:grid;place-items:center;width:2.5rem;height:2.5rem;margin-bottom:.35rem;border-radius:.65rem;color:var(--openms-navy);background:rgba(var(--openms-navy-rgb),.06)}.openms-lib-page--donate .donate-impact-card__title{margin:0;font-family:var(--openms-font-heading);font-size:clamp(1.05rem,1.5vw,1.2rem);font-weight:700;color:var(--openms-navy)}.openms-lib-page--donate .donate-impact-card__text{margin:0;font-size:var(--openms-body-size);line-height:1.6;color:rgba(var(--openms-dark-rgb),.72)}.openms-lib-page--donate .donate-application{padding-block:var(--pro-section-y);padding-top:calc(var(--pro-section-y) * .5)}.openms-lib-page--donate .donate-application__inner{display:flex;flex-direction:column;gap:var(--pro-head-to-content)}.openms-lib-page--donate .donate-application__note{display:grid;gap:.65rem;width:100%;max-width:44rem;margin-inline:auto;padding:var(--pro-card-pad-lg);border:1px solid var(--pro-line);border-radius:var(--pro-radius);background:var(--pro-band-soft);text-align:center}.openms-lib-page--donate .donate-application__note p{margin:0;font-size:var(--openms-body-size);line-height:1.65;color:var(--pro-text-muted)}.openms-lib-page--donate .donate-page__tax-note{font-size:var(--openms-text-min);color:rgba(var(--openms-dark-rgb),.62)}.openms-lib-page--donate .donate-application__note a{color:var(--openms-blue);font-weight:600;text-decoration:underline;text-underline-offset:.15em}.openms-lib-page--donate .donate-application__form,.openms-lib-page--donate .donate-page__embed{width:100%;max-width:48rem;margin-inline:auto;padding:0;border:none;border-radius:0;background:0 0;box-shadow:none;overflow:visible}.openms-lib-page--donate .donate-page__zeffy-iframe{display:block;width:100%;min-height:52rem;border:0;overflow:visible;background:0 0}.openms-lib-page--donate .donate-application__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem}.openms-lib-page--donate .donate-page__pending{width:100%;max-width:40rem;margin-inline:auto;padding:1.25rem 1.5rem;border:1px solid var(--pro-line);border-radius:var(--pro-radius);background:var(--openms-white);box-shadow:var(--pro-shadow);text-align:center}.openms-lib-page--donate .donate-page__pending p{margin:0;font-size:var(--openms-body-size-lg);line-height:1.65;color:var(--pro-text-muted)}.openms-lib-page--donate .donate-page__pending a{color:var(--openms-blue);font-weight:600}@media(max-width:900px){.openms-lib-page--donate .donate-impact-grid{grid-template-columns:1fr}}@media(max-width:640px){.openms-lib-page--donate .donate-page__zeffy-iframe{min-height:72rem}.openms-lib-page--donate .donate-application__actions{flex-direction:column;align-items:stretch}}.openms-lib-page--governance #related-pages,.openms-lib-page--governance .openms-lib-page__outro .openms-lib-block--developers{background:var(--openms-white);padding-inline:0}.openms-lib-page--governance #governance-bodies .openms-lib-about,.openms-lib-page--governance #responsibilities .openms-lib-about,.openms-lib-page--governance #core-developers .openms-lib-resources{padding-block:0}.openms-lib-page--governance .openms-lib-about__head{grid-template-columns:1fr;align-items:start}.openms-lib-page--governance .openms-lib-about__eyebrow{margin-bottom:.15rem}.openms-lib-page--governance .openms-lib-about__lead{margin-top:.25rem;max-width:none}.openms-lib-page--governance #governance-bodies .governance-lead-line,.openms-lib-page--governance #core-developers .governance-lead-line,.openms-lib-page--governance #responsibilities .governance-lead-line{display:block;white-space:nowrap}@media(max-width:900px){.openms-lib-page--governance #governance-bodies .governance-lead-line,.openms-lib-page--governance #core-developers .governance-lead-line,.openms-lib-page--governance #responsibilities .governance-lead-line{white-space:normal}}.openms-lib-page--governance .governance-tile__tag{margin:0;font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--pro-text-soft)}.openms-lib-page--governance .governance-tile__top{display:flex;align-items:center;gap:.75rem;width:100%}.openms-lib-page--governance .governance-tile__top .openms-lib-about__num{margin-bottom:0}.openms-lib-page--governance .governance-tile__top .governance-tile__tag{margin:0}.openms-lib-page--governance .governance-tile__list{display:grid;gap:.45rem;margin:.35rem 0 0;padding:0;list-style:none;flex:auto}.openms-lib-page--governance .governance-tile__list li{position:relative;margin:0;padding-left:1rem;font-size:var(--openms-body-size);line-height:1.45;color:rgba(var(--openms-dark-rgb),.72)}.openms-lib-page--governance .governance-tile__list li::before{content:"";position:absolute;left:0;top:.55em;width:.32rem;height:.32rem;border-radius:50%;background:rgba(var(--openms-navy-rgb),.35)}.openms-lib-page--governance .governance-tile__note{margin:auto 0 0;padding-top:1rem;font-size:var(--openms-text-min);line-height:1.5;color:var(--pro-text-muted)}.openms-lib-page--governance .openms-lib-about__tile-link{display:inline-flex;align-items:center;gap:.3rem;margin-top:auto;padding-top:1rem;font-size:var(--openms-text-min);font-weight:700;color:var(--openms-navy)!important;text-decoration:none!important;transition:gap .2s ease}.openms-lib-page--governance .openms-lib-about__tile:hover .openms-lib-about__tile-link,.openms-lib-page--governance .openms-lib-about__tile:focus-within .openms-lib-about__tile-link{gap:.5rem}.openms-lib-page--governance .governance-pillars-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.openms-lib-page--governance .openms-lib-resources__item--static{cursor:default}.openms-lib-page--governance .openms-lib-resources__item--static:hover,.openms-lib-page--governance .openms-lib-resources__item--static:focus-within{transform:none}.openms-lib-page--governance .openms-lib-resources__item--static .openms-lib-resources__item-title{font-size:clamp(1rem,1.4vw,1.12rem)}.openms-lib-page--governance .governance-note{margin:var(--pro-space-5)auto 0;max-width:56rem;padding:1rem 1.15rem;border-left:3px solid rgba(var(--openms-navy-rgb),.25);font-size:var(--openms-body-size);line-height:1.6;color:rgba(var(--openms-dark-rgb),.78);background:rgba(var(--openms-navy-rgb),.03)}.openms-lib-page--governance .openms-lib-developers__card--build .openms-lib-developers__card-text{white-space:normal;max-width:42ch}.openms-lib-page--governance .openms-lib-resources__lead a{color:var(--openms-navy);font-weight:600}.openms-lib-page--governance #core-developers .openms-lib-resources__head{max-width:none}.openms-lib-page--governance #core-developers .openms-lib-resources__lead{max-width:none}@media(max-width:960px){.openms-lib-page--governance .governance-pillars-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.openms-lib-page--governance .governance-pillars-grid{grid-template-columns:1fr}}.openms-lib-page--our-sponsors #our-sponsors{background:var(--openms-white)!important}.openms-lib-page--our-sponsors #sponsor-cta,.openms-lib-page--our-sponsors .openms-lib-page__outro .openms-lib-block--developers{background:var(--openms-white);padding-inline:0}.openms-lib-page--our-sponsors #our-sponsors .openms-lib-resources{padding-block:var(--pro-section-y)}.openms-lib-page--our-sponsors .openms-lib-resources__head{max-width:42rem}.openms-lib-page--our-sponsors .sponsors-logo-grid,.openms-lib-page--sponsor-us .sponsors-logo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--pro-card-gap);margin:0}.openms-lib-page--our-sponsors .sponsors-logo-grid,.openms-lib-page--sponsor-us .sponsors-logo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem .75rem;max-width:36rem;margin-inline:auto;width:100%}.openms-lib-page--our-sponsors .about-sponsors-logos__item,.openms-lib-page--sponsor-us .about-sponsors-logos__item{min-height:6.5rem;padding:.35rem}.openms-lib-page--our-sponsors .about-sponsors-logos__item,.openms-lib-page--sponsor-us .about-sponsors-logos__item{min-height:6.5rem;padding:.35rem;border:none;border-radius:0;background:0 0;box-shadow:none;display:flex;align-items:center;justify-content:center;text-decoration:none;transition:transform .2s ease}.openms-lib-page--our-sponsors .about-sponsors-logos__item:hover,.openms-lib-page--our-sponsors .about-sponsors-logos__item:focus-visible{transform:var(--pro-lift-sm);border:none;background:0 0;box-shadow:none;outline:none}.openms-lib-page--our-sponsors .about-sponsors-logos__item--dark,.openms-lib-page--sponsor-us .about-sponsors-logos__item--dark,.openms-lib-page--our-sponsors .about-sponsors-logos__item--dark:hover,.openms-lib-page--our-sponsors .about-sponsors-logos__item--dark:focus-visible{background:0 0;border:none;box-shadow:none}.openms-lib-page--our-sponsors .about-sponsors-logos__logo{width:100%;max-width:12.5rem;max-height:4.25rem;height:auto;object-fit:contain}.openms-lib-page--our-sponsors .sponsors-tier{display:grid;gap:var(--pro-space-3)}.openms-lib-page--our-sponsors .sponsors-tier+.sponsors-tier{margin-top:var(--pro-space-5)}.openms-lib-page--our-sponsors .sponsors-tier__title{margin:0;font-family:var(--openms-font-heading);font-size:var(--openms-secondary-heading-size);font-weight:700;color:var(--openms-navy)}.openms-lib-page--our-sponsors .openms-lib-developers__card--build .openms-lib-developers__card-text{white-space:normal;max-width:42ch}.openms-lib-page--our-sponsors .openms-lib-developers__card--build .openms-lib-btn--ghost{border-color:rgba(var(--openms-white-rgb),.34)!important;background:0 0!important;color:var(--openms-white)!important}.openms-lib-page--our-sponsors .openms-lib-developers__card--build .openms-lib-btn--ghost:hover,.openms-lib-page--our-sponsors .openms-lib-developers__card--build .openms-lib-btn--ghost:focus-visible,.openms-lib-page--our-sponsors .openms-lib-developers__card--build .openms-lib-btn--ghost:active{border-color:rgba(var(--openms-white-rgb),.55)!important;background:0 0!important;color:var(--openms-white)!important;transform:scale(var(--openms-btn-hover-scale));box-shadow:0 0 0 var(--openms-btn-glow-size)rgba(255,255,255,.22)}@media(max-width:900px){.openms-lib-page--our-sponsors .sponsors-logo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:560px){.openms-lib-page--our-sponsors .sponsors-logo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.openms-lib-page--our-sponsors .about-sponsors-logos__item{min-height:5.5rem;padding:.25rem}}.openms-lib-page--sponsor-us #tiers,.openms-lib-page--sponsor-us #faq,.openms-lib-page--sponsor-us #become-a-sponsor,.openms-lib-page--sponsor-us .openms-lib-page__outro .openms-lib-block--developers{background:var(--openms-white)}.openms-lib-page--sponsor-us #become-a-sponsor,.openms-lib-page--sponsor-us .openms-lib-page__outro .openms-lib-block--developers{padding-inline:0}.openms-lib-page--sponsor-us #why-sponsor .openms-lib-about{padding-block:var(--pro-section-y);padding-top:calc(var(--pro-section-y) * .5)}.openms-lib-page--sponsor-us .openms-lib-about__head{grid-template-columns:1fr;align-items:start}.openms-lib-page--sponsor-us .openms-lib-about__eyebrow{margin-bottom:.15rem}.openms-lib-page--sponsor-us .openms-lib-about__lead{margin-top:.25rem;max-width:none}.openms-lib-page--sponsor-us .openms-lib-about__mosaic{grid-template-columns:repeat(2,minmax(0,1fr))}.openms-lib-page--sponsor-us .sponsor-tile__list{display:grid;gap:.45rem;margin:.35rem 0 0;padding:0;list-style:none}.openms-lib-page--sponsor-us .sponsor-tile__list li{position:relative;margin:0;padding-left:1rem;font-size:var(--openms-body-size);line-height:1.45;color:rgba(var(--openms-dark-rgb),.72)}.openms-lib-page--sponsor-us .sponsor-tile__list li::before{content:"";position:absolute;left:0;top:.55em;width:.32rem;height:.32rem;border-radius:50%;background:rgba(var(--openms-navy-rgb),.35)}.openms-lib-page--sponsor-us .openms-lib-about__tile-link{display:inline-flex;align-items:center;gap:.3rem;margin-top:.55rem;padding-top:0;font-size:var(--openms-text-min);font-weight:700;color:var(--openms-navy)!important;text-decoration:none!important;transition:gap .2s ease}.openms-lib-page--sponsor-us .openms-lib-about__tile:hover .openms-lib-about__tile-link,.openms-lib-page--sponsor-us .openms-lib-about__tile:focus-within .openms-lib-about__tile-link{gap:.5rem}.openms-lib-page--sponsor-us .sponsor-tiers-band{padding-block:var(--pro-section-y)}.openms-lib-page--sponsor-us .sponsor-tiers-band .governance-section.sponsor-tiers{padding:0}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-section__head{display:grid;grid-template-columns:minmax(0,.85fr)minmax(0,1.15fr);align-items:start;justify-items:start;column-gap:var(--pro-col-gap,clamp(2rem,5vw,4rem));row-gap:0;max-width:100%;margin-inline:0;margin-bottom:var(--pro-head-to-content,clamp(1.5rem,3vw,2.25rem));text-align:left}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-eyebrow{grid-column:1;grid-row:1;justify-self:start;margin-inline:0}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-section__head h2{grid-column:1;grid-row:2}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-section__lead{grid-column:2;grid-row:1/span 2;align-self:center}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-eyebrow{display:inline-flex;align-items:center;gap:.4rem;margin:0 0 var(--pro-stack-eyebrow);padding:0;border:none;border-radius:0;background:0 0;font-size:var(--openms-text-min);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--openms-blue);box-shadow:none}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-section__head h2{margin:0;font-family:var(--openms-font-heading);font-size:calc(var(--openms-heading-lg-size) * 1.15);font-weight:var(--openms-heading-lg-weight);line-height:1.3;letter-spacing:normal;text-transform:uppercase;color:var(--openms-navy)}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-section__lead{display:grid;gap:.85rem;margin:0;max-width:100%;overflow-wrap:break-word;font-size:var(--openms-body-size-lg);line-height:1.65;color:var(--pro-text-muted);text-align:left}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-lead-col{display:block;margin:0}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tiers__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--pro-card-gap);margin:0;align-items:stretch}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier{--tier-accent:var(--openms-blue);--tier-accent-rgb:var(--openms-blue-rgb);position:relative;display:flex;flex-direction:column;gap:0;min-width:0;min-height:100%;padding:0;border:1px solid var(--pro-line);border-radius:1rem;background:var(--openms-white);box-shadow:var(--pro-shadow);overflow:visible;transition:border-color .2s ease,box-shadow .2s ease}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier::before{content:none}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier--bronze{--tier-accent:#a9632a;--tier-accent-rgb:169, 99, 42}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier--silver{--tier-accent:#65727e;--tier-accent-rgb:101, 114, 126}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier--gold{--tier-accent:#a97808;--tier-accent-rgb:169, 120, 8}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier--platinum{--tier-accent:#5d5d70;--tier-accent-rgb:93, 93, 112;background:var(--openms-white)}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier:hover,.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier:focus-within{transform:none;border-color:var(--pro-line);box-shadow:var(--pro-shadow)}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier--featured,.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier--featured:hover,.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier--featured:focus-within,.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier--active,.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier--featured.sponsor-tier--active{transform:none;border-color:var(--tier-accent);box-shadow:0 0 0 1px var(--tier-accent),var(--pro-shadow)}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier__toggle{display:flex;flex-direction:column;gap:.65rem;flex:auto;width:100%;min-height:100%;height:100%;padding:1rem .95rem .9rem;margin:0;text-align:left;cursor:pointer;color:inherit;appearance:none;background:0 0;border:0;font:inherit}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier__header{display:grid;gap:.25rem}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier__contribution{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem;margin:.15rem 0 0;line-height:1;font-size:inherit;font-weight:inherit;letter-spacing:normal;color:inherit}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier__motto{margin:0;font-size:.68rem;font-style:normal;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--tier-accent);opacity:.85}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier__summary{margin:0;flex:none;font-size:var(--openms-text-min);line-height:1.4;color:var(--pro-text-muted)}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier__cta{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;align-self:stretch;width:100%;min-height:2.85rem;margin-top:auto;padding:.75rem 1.35rem;border:2px solid var(--openms-blue);border-radius:var(--openms-btn-pill-radius);background:0 0;font-size:var(--openms-body-size);font-weight:600;line-height:1.3;color:var(--openms-blue)!important;text-decoration:none;box-shadow:0 0 0 0 var(--openms-btn-glow);transition:var(--openms-btn-motion)}@media(hover:hover) and (pointer:fine){.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier__cta:hover{background:var(--openms-blue);border-color:var(--openms-blue);color:var(--openms-white)!important;transform:scale(var(--openms-btn-hover-scale));box-shadow:0 0 0 var(--openms-btn-glow-size)var(--openms-btn-glow)}}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier__toggle:focus-visible .sponsor-tier__cta{background:var(--openms-blue);border-color:var(--openms-blue);color:var(--openms-white)!important;transform:scale(var(--openms-btn-hover-scale));box-shadow:0 0 0 var(--openms-btn-glow-size)var(--openms-btn-glow)}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier__toggle:active .sponsor-tier__cta{transform:none;box-shadow:none}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier--active .sponsor-tier__cta,.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier--featured .sponsor-tier__cta{border-color:var(--openms-blue);background:var(--openms-blue);color:var(--openms-white)!important;transform:none;box-shadow:none}@media(max-width:1100px){.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tiers__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tiers__grid{grid-template-columns:1fr}}.openms-lib-page--sponsor-us .sponsor-tiers__note{display:grid;justify-items:center;gap:var(--pro-stack-actions,1.25rem);width:100%;max-width:100%;margin:var(--pro-space-5)0 0;padding:clamp(1.25rem,2.5vw,1.75rem)0 0;border:none;border-radius:0;background:0 0;box-shadow:none;text-align:center}.openms-lib-page--sponsor-us .sponsor-tiers__note-copy{display:grid;justify-items:center;gap:var(--pro-stack-lead,.75rem);min-width:0;max-width:var(--pro-measure-wide,58ch)}.openms-lib-page--sponsor-us .sponsor-tiers__note-kicker{margin:0;font-size:var(--openms-text-min);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--openms-blue)}.openms-lib-page--sponsor-us .sponsor-tiers__note-text{margin:0;max-width:none;font-size:var(--openms-body-size-lg);line-height:1.65;color:var(--pro-text-muted)}.openms-lib-page--sponsor-us .sponsor-note-line{display:block}@media(max-width:720px){.openms-lib-page--sponsor-us .sponsor-note-line{display:inline}.openms-lib-page--sponsor-us .sponsor-note-line::after{content:" "}}.openms-lib-page--sponsor-us .sponsor-benefits{margin-top:var(--pro-space-5);padding:clamp(1.15rem,2.4vw,1.5rem);border:1px solid var(--pro-line);border-radius:1rem;background:var(--openms-white);box-shadow:var(--pro-shadow)}.openms-lib-page--sponsor-us .sponsor-benefits__head{display:grid;gap:.35rem;margin-bottom:1rem}.openms-lib-page--sponsor-us .sponsor-benefits__title{margin:0;font-family:var(--openms-font-heading);font-size:calc(var(--openms-heading-lg-size) * .9);font-weight:var(--openms-heading-lg-weight);line-height:1.3;letter-spacing:normal;text-transform:none;color:var(--openms-navy)}.openms-lib-page--sponsor-us .sponsor-benefits__lead{margin:0;font-size:var(--openms-body-size);line-height:1.5;color:var(--pro-text-muted)}.openms-lib-page--sponsor-us .sponsor-benefits__scroller{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--pro-line);border-radius:.85rem;background:var(--openms-white)}.openms-lib-page--sponsor-us .sponsor-benefits__matrix{--tier-cols:4;--label-col:minmax(12rem, 1.25fr);--tier-col:minmax(7.5rem, 1fr);display:grid;grid-template-columns:var(--label-col)repeat(var(--tier-cols),var(--tier-col));min-width:44rem;width:100%}.openms-lib-page--sponsor-us .sponsor-benefits__matrix-row{display:contents}.openms-lib-page--sponsor-us .sponsor-benefits__matrix-cell{display:flex;flex-direction:column;justify-content:center;gap:.35rem;min-width:0;padding:.95rem 1rem;border-bottom:1px solid var(--pro-line);background:var(--openms-white)}.openms-lib-page--sponsor-us .sponsor-benefits__matrix-row:last-child .sponsor-benefits__matrix-cell{border-bottom:none}.openms-lib-page--sponsor-us .sponsor-benefits__matrix-row:nth-child(even):not(.sponsor-benefits__matrix-row--head) .sponsor-benefits__matrix-cell{background:var(--pro-band-soft)}.openms-lib-page--sponsor-us .sponsor-benefits__matrix-row--head .sponsor-benefits__matrix-cell{position:sticky;top:0;z-index:1;padding-block:.95rem;border-bottom:1px solid var(--pro-line-strong);background:var(--pro-band-soft)}.openms-lib-page--sponsor-us .sponsor-benefits__matrix-cell--label{position:sticky;left:0;z-index:2;font-size:.92rem;font-weight:600;line-height:1.4;color:var(--openms-navy);background:var(--pro-band-soft)}.openms-lib-page--sponsor-us .sponsor-benefits__matrix-row:nth-child(even):not(.sponsor-benefits__matrix-row--head) .sponsor-benefits__matrix-cell--label{background:color-mix(in srgb,var(--pro-band-soft) 85%,var(--openms-navy) 4%)}.openms-lib-page--sponsor-us .sponsor-benefits__matrix-row--head .sponsor-benefits__matrix-cell--label{z-index:3;font-weight:700;background:var(--pro-band-soft)}.openms-lib-page--sponsor-us .sponsor-benefits__col-name{font-family:var(--openms-font-heading);font-size:.98rem;font-weight:700;line-height:1.2;color:var(--openms-navy);text-align:center}.openms-lib-page--sponsor-us .sponsor-benefits__matrix-cell--tier{align-items:center;text-align:center;transition:background-color .2s ease,box-shadow .2s ease}.openms-lib-page--sponsor-us .sponsor-benefits[data-active-tier=bronze] [data-sponsor-benefits=bronze],.openms-lib-page--sponsor-us .sponsor-benefits[data-active-tier=silver] [data-sponsor-benefits=silver],.openms-lib-page--sponsor-us .sponsor-benefits[data-active-tier=gold] [data-sponsor-benefits=gold],.openms-lib-page--sponsor-us .sponsor-benefits[data-active-tier=platinum] [data-sponsor-benefits=platinum]{background:color-mix(in srgb,var(--openms-blue) 8%,var(--openms-white))!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--openms-blue) 22%,transparent)}.openms-lib-page--sponsor-us .sponsor-benefits[data-active-tier=bronze] .sponsor-benefits__matrix-row--head [data-sponsor-benefits=bronze],.openms-lib-page--sponsor-us .sponsor-benefits[data-active-tier=silver] .sponsor-benefits__matrix-row--head [data-sponsor-benefits=silver],.openms-lib-page--sponsor-us .sponsor-benefits[data-active-tier=gold] .sponsor-benefits__matrix-row--head [data-sponsor-benefits=gold],.openms-lib-page--sponsor-us .sponsor-benefits[data-active-tier=platinum] .sponsor-benefits__matrix-row--head [data-sponsor-benefits=platinum]{background:color-mix(in srgb,var(--openms-blue) 14%,var(--openms-white))!important;box-shadow:inset 0 -3px 0 var(--openms-blue)}.openms-lib-page--sponsor-us .sponsor-benefits[data-active-tier=bronze] [data-sponsor-benefits=bronze] .sponsor-benefits__col-name,.openms-lib-page--sponsor-us .sponsor-benefits[data-active-tier=silver] [data-sponsor-benefits=silver] .sponsor-benefits__col-name,.openms-lib-page--sponsor-us .sponsor-benefits[data-active-tier=gold] [data-sponsor-benefits=gold] .sponsor-benefits__col-name,.openms-lib-page--sponsor-us .sponsor-benefits[data-active-tier=platinum] [data-sponsor-benefits=platinum] .sponsor-benefits__col-name{color:var(--openms-blue)}.openms-lib-page--sponsor-us .sponsor-benefits__lines{display:grid;gap:.35rem;margin:0;padding:0;list-style:none;width:100%}.openms-lib-page--sponsor-us .sponsor-benefits__line{margin:0;font-size:.86rem;line-height:1.45;color:var(--pro-text,rgba(var(--openms-dark-rgb),.86));text-align:center}.openms-lib-page--sponsor-us .sponsor-benefits__check{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;border-radius:999px;background:var(--openms-blue);color:var(--openms-white)}.openms-lib-page--sponsor-us .sponsor-benefits__none{margin:0;font-size:1.1rem;line-height:1;font-weight:600;color:rgba(var(--openms-navy-rgb),.32)}.openms-lib-page--sponsor-us .sponsor-benefits__footnote{margin:var(--pro-space-3)0 0;font-size:var(--openms-text-min);line-height:1.5;color:var(--pro-text-muted)}.openms-lib-page--sponsor-us .sponsor-benefits .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier--bronze .sponsor-tier__motto,.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier--silver .sponsor-tier__motto,.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier--gold .sponsor-tier__motto,.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier--platinum .sponsor-tier__motto{color:var(--tier-accent)}.openms-lib-page--sponsor-us #current-sponsors .sponsor-logos{padding-block:clamp(2.5rem,5vw,4rem)}.openms-lib-page--sponsor-us .sponsor-logos__inner{display:grid;grid-template-columns:minmax(0,.95fr)minmax(0,1.35fr);column-gap:var(--pro-col-gap,clamp(2rem,5vw,4rem));row-gap:1.5rem;align-items:center;max-width:var(--pro-max,var(--hub-wide-max));margin-inline:auto}.openms-lib-page--sponsor-us .sponsor-logos__copy{display:grid;gap:0;min-width:0;text-align:left}.openms-lib-page--sponsor-us .sponsor-logos__eyebrow{margin:0 0 var(--pro-stack-eyebrow);font-size:var(--openms-text-min);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--openms-blue)}.openms-lib-page--sponsor-us .sponsor-logos__title{margin:0;font-family:var(--openms-font-heading);font-size:calc(var(--openms-heading-lg-size) * 1.15);font-weight:var(--openms-heading-lg-weight);line-height:1.2;letter-spacing:normal;text-transform:uppercase;color:var(--openms-navy)}.openms-lib-page--sponsor-us .sponsor-logos__lead{margin:var(--pro-stack-lead)0 0;max-width:28rem;font-size:var(--openms-body-size);line-height:1.55;color:rgba(var(--openms-dark-rgb),.72)}.openms-lib-page--sponsor-us .sponsor-logos__rail{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:clamp(1.5rem,4vw,3rem)clamp(1.75rem,5vw,3.5rem);margin:0;padding:0;list-style:none}.openms-lib-page--sponsor-us .sponsor-logos__item{margin:0;padding:0;min-width:0}.openms-lib-page--sponsor-us .sponsor-logos__link{display:flex;align-items:center;justify-content:center;text-decoration:none!important;opacity:.92;transition:opacity .2s ease,transform .2s ease}.openms-lib-page--sponsor-us .sponsor-logos__link:hover,.openms-lib-page--sponsor-us .sponsor-logos__link:focus-visible{opacity:1;transform:translateY(-2px);outline:none}.openms-lib-page--sponsor-us .sponsor-logos__img{display:block;width:auto;max-width:9.5rem;max-height:3.5rem;height:auto;object-fit:contain}.openms-lib-page--sponsor-us .sponsor-logos__img[src*=Elixir]{max-width:7.5rem;max-height:4.75rem}.openms-lib-page--sponsor-us .sponsor-logos__fallback{font-family:var(--openms-font-heading);font-size:var(--openms-secondary-heading-size);font-weight:700;color:var(--openms-navy)}.openms-lib-page--sponsor-us .sponsor-logos__more{grid-column:1/-1;margin:0;text-align:right}.openms-lib-page--sponsor-us .sponsor-logos__more a{display:inline-flex;align-items:center;gap:.3rem;font-size:var(--openms-text-min);font-weight:700;color:var(--openms-navy)!important;text-decoration:none!important;transition:gap .2s ease}.openms-lib-page--sponsor-us .sponsor-logos__more a:hover,.openms-lib-page--sponsor-us .sponsor-logos__more a:focus-visible{gap:.5rem}.openms-lib-page--sponsor-us .sponsor-faq-pro{padding-block:var(--pro-section-y)}.openms-lib-page--sponsor-us .sponsor-faq-pro__inner{display:flex;flex-direction:column;gap:var(--pro-head-to-content,clamp(1.5rem,3vw,2.25rem));max-width:min(64rem,100%);margin-inline:auto}.openms-lib-page--sponsor-us .sponsor-faq-pro__head{display:grid;justify-items:center;gap:0;text-align:center}.openms-lib-page--sponsor-us .sponsor-faq-pro__head .openms-lib-resources__eyebrow{margin:0 0 var(--pro-stack-eyebrow);font-size:var(--openms-text-min);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--openms-blue);justify-content:center}.openms-lib-page--sponsor-us .sponsor-faq-pro__head .openms-lib-resources__title{margin:0;font-family:var(--openms-font-heading);font-size:calc(var(--openms-heading-lg-size) * 1.15);font-weight:var(--openms-heading-lg-weight);line-height:1.3;letter-spacing:normal;text-transform:uppercase;color:var(--openms-navy);text-align:center}.openms-lib-page--sponsor-us .sponsor-faq__list{margin:0}.openms-lib-page--sponsor-us .sponsor-faq__item{border:1px solid var(--pro-line);border-radius:var(--pro-radius);background:var(--openms-white);box-shadow:var(--pro-shadow)}.openms-lib-page--sponsor-us .openms-lib-developers__card--build .openms-lib-developers__card-body{width:100%;max-width:min(var(--hub-wide-max,72rem),100%);min-width:0;padding-inline:clamp(.75rem,3vw,1.5rem);box-sizing:border-box}.openms-lib-page--sponsor-us .openms-lib-developers__card--build .openms-lib-developers__card-text{white-space:normal;overflow-wrap:break-word;word-break:normal;max-width:min(36rem,100%);width:100%;margin-inline:auto;box-sizing:border-box;font-size:clamp(.95rem,.88rem + .35vw,1.05rem);line-height:1.5}.openms-lib-page--sponsor-us .sponsor-cta-line{display:block}.openms-lib-page--sponsor-us .openms-lib-developers__card--build .openms-lib-developers__platforms{flex-wrap:wrap;width:100%;max-width:min(28rem,100%);margin-inline:auto}.openms-lib-page--sponsor-us .openms-lib-developers__card--build .openms-lib-btn--ghost{border-color:rgba(var(--openms-white-rgb),.34)!important;background:0 0!important;color:var(--openms-white)!important}.openms-lib-page--sponsor-us .openms-lib-developers__card--build .openms-lib-btn--ghost:hover,.openms-lib-page--sponsor-us .openms-lib-developers__card--build .openms-lib-btn--ghost:focus-visible,.openms-lib-page--sponsor-us .openms-lib-developers__card--build .openms-lib-btn--ghost:active{border-color:rgba(var(--openms-white-rgb),.55)!important;background:0 0!important;color:var(--openms-white)!important;transform:scale(var(--openms-btn-hover-scale));box-shadow:0 0 0 var(--openms-btn-glow-size)rgba(255,255,255,.22)}@media(max-width:1100px){.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tiers__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:992px){.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-section__head{grid-template-columns:1fr;row-gap:var(--pro-stack-lead)}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-eyebrow,.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-section__head h2,.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-section__lead{grid-column:1;grid-row:auto}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-section__head h2{font-size:calc(var(--openms-heading-lg-size) * 1.05)}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-section__lead{max-width:60ch;gap:.75rem;font-size:var(--openms-body-size)}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tiers__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.openms-lib-page--sponsor-us .openms-lib-about__mosaic{gap:clamp(.85rem,2vw,1.25rem)}.openms-lib-page--sponsor-us .sponsor-logos__inner{grid-template-columns:1fr;row-gap:1.75rem}.openms-lib-page--sponsor-us .sponsor-logos__rail{justify-content:flex-start}.openms-lib-page--sponsor-us .sponsor-logos__more{text-align:left}.openms-lib-page--sponsor-us .sponsor-benefits{padding:clamp(1rem,2.5vw,1.35rem)}.openms-lib-page--sponsor-us .sponsor-benefits__matrix-cell{padding:.85rem .95rem}.openms-lib-page--sponsor-us .sponsor-benefits[data-active-tier] .sponsor-benefits__matrix{grid-template-columns:minmax(8rem,.85fr)minmax(0,1.4fr);min-width:0}}@media(max-width:768px){.openms-lib-page--sponsor-us .sponsor-lead-line{display:inline}.openms-lib-page--sponsor-us .sponsor-lead-line::after{content:" "}.openms-lib-page--sponsor-us .openms-lib-about__lead{max-width:none}.openms-lib-page--sponsor-us .openms-lib-about__mosaic{grid-template-columns:1fr}.openms-lib-page--sponsor-us .sponsor-tile__top{align-items:flex-start}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tiers__grid{grid-template-columns:1fr}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-section__head h2{font-size:var(--openms-heading-lg-size);line-height:1.25}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier{padding:0}.openms-lib-page--sponsor-us .sponsor-benefits__matrix{min-width:40rem}.openms-lib-page--sponsor-us .sponsor-benefits__matrix-cell{padding:.75rem .85rem}.openms-lib-page--sponsor-us .sponsor-logos__rail{gap:1.35rem 1.75rem}.openms-lib-page--sponsor-us .sponsor-logos__img{max-width:8rem;max-height:3rem}.openms-lib-page--sponsor-us .sponsor-logos__img[src*=Elixir]{max-width:6.5rem;max-height:4rem}.openms-lib-page--sponsor-us .sponsor-faq__question{white-space:normal;overflow-wrap:break-word}.openms-lib-page--sponsor-us .openms-lib-developers__card--build .openms-lib-developers__platforms{flex-direction:column;align-items:stretch;gap:.6rem;max-width:none}.openms-lib-page--sponsor-us .openms-lib-developers__card--build .openms-lib-developers__platforms .openms-lib-btn{width:100%;justify-content:center}.openms-lib-page--sponsor-us .openms-lib-developers__card--build .openms-lib-developers__card-text{max-width:min(28rem,100%);font-size:var(--openms-body-size);line-height:1.5}.openms-lib-page--sponsor-us .sponsor-cta-line{display:inline}.openms-lib-page--sponsor-us .sponsor-cta-line::after{content:" "}.openms-lib-page--sponsor-us .openms-lib-developers__card--build .openms-lib-developers__card-body{padding-inline:clamp(.65rem,4vw,1rem)}}@media(max-width:560px){.openms-lib-page--sponsor-us .sponsor-tiers__note{padding:clamp(1rem,4vw,1.25rem)0 0;gap:var(--pro-stack-actions,1.25rem)}.openms-lib-page--sponsor-us .sponsor-note-line{display:inline}.openms-lib-page--sponsor-us .sponsor-note-line::after{content:" "}.openms-lib-page--sponsor-us .sponsor-benefits__line,.openms-lib-page--sponsor-us .sponsor-tile__list li{font-size:var(--openms-text-min)}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier__contribution{font-size:clamp(1.1rem,5vw,1.3rem)}.openms-lib-page--sponsor-us .sponsor-benefits{padding:.85rem}}.openms-lib-page--privacy #privacy-content{background:var(--openms-white);padding-inline:0}.openms-lib-page--privacy .privacy-pro{padding-block:var(--pro-section-y)}.openms-lib-page--privacy .privacy-pro__inner{max-width:min(52rem,100%);gap:clamp(1.25rem,2.5vw,1.75rem)}.openms-lib-page--privacy .privacy-pro__glance{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin:0;padding:0;list-style:none}.openms-lib-page--privacy .privacy-pro__glance-link{display:grid;gap:.35rem;height:100%;padding:1rem 1.1rem;border:1px solid var(--pro-line);border-radius:var(--pro-radius);background:var(--pro-band-soft,#f5f8fb);color:inherit;text-decoration:none;transition:border-color .15s ease,background-color .15s ease}.openms-lib-page--privacy .privacy-pro__glance-link:hover,.openms-lib-page--privacy .privacy-pro__glance-link:focus-visible{border-color:color-mix(in srgb,var(--openms-blue) 45%,var(--pro-line));background:var(--openms-white);outline:none}.openms-lib-page--privacy .privacy-pro__glance-label{font-size:var(--openms-text-min);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--openms-blue)}.openms-lib-page--privacy .privacy-pro__glance-text{font-size:var(--openms-body-size);line-height:1.45;color:var(--pro-text,#1a2332)}.openms-lib-page--privacy .privacy-pro__sections{display:grid;gap:.85rem}.openms-lib-page--privacy .privacy-pro__card{border:1px solid var(--pro-line);border-radius:var(--pro-radius);background:var(--openms-white);box-shadow:var(--pro-shadow);scroll-margin-top:6rem;overflow:clip}.openms-lib-page--privacy .privacy-pro__card-head{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:.85rem;padding:1rem 1.15rem .85rem;border-bottom:1px solid var(--pro-line);background:color-mix(in srgb,var(--pro-band-soft,#f5f8fb) 70%,var(--openms-white))}.openms-lib-page--privacy .privacy-pro__card-index{font-size:var(--openms-text-min);font-weight:700;letter-spacing:.06em;color:var(--openms-blue);font-variant-numeric:tabular-nums}.openms-lib-page--privacy .privacy-pro__card-title{margin:0;font-family:var(--openms-font-heading);font-size:clamp(1.05rem,1.5vw,1.2rem);font-weight:700;line-height:1.3;color:var(--openms-navy,#0b1f33);text-wrap:balance}.openms-lib-page--privacy .privacy-pro__card-body{padding:1rem 1.15rem 1.2rem;color:var(--pro-text,#1a2332);font-size:var(--openms-body-size);line-height:1.65}.openms-lib-page--privacy .privacy-pro__card-body>*:first-child{margin-top:0}.openms-lib-page--privacy .privacy-pro__card-body p{margin:0 0 .9rem}.openms-lib-page--privacy .privacy-pro__card-body h4{margin:1.15rem 0 .45rem;font-family:var(--openms-font-heading);font-size:.98rem;font-weight:700;letter-spacing:.01em;color:var(--openms-navy,#0b1f33)}.openms-lib-page--privacy .privacy-pro__card-body h4:first-child{margin-top:0}.openms-lib-page--privacy .privacy-pro__card-body a{color:var(--openms-blue);font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.15em;overflow-wrap:anywhere}.openms-lib-page--privacy .privacy-pro__card-body a:hover,.openms-lib-page--privacy .privacy-pro__card-body a:focus-visible{color:var(--openms-navy,#0b1f33)}.openms-lib-page--privacy .privacy-pro__card-body strong{font-weight:700}@media(max-width:720px){.openms-lib-page--privacy .privacy-pro__glance{grid-template-columns:1fr}.openms-lib-page--privacy .privacy-pro__card-head,.openms-lib-page--privacy .privacy-pro__card-body{padding-inline:.95rem}}.openms-lib-page--governance .governance-membership{display:grid;gap:var(--pro-head-to-content);width:100%;margin:0;padding:var(--pro-head-to-content)0 0;border-top:1px solid var(--pro-line)}.openms-lib-page--governance .governance-membership__head{display:grid;justify-items:start;gap:0;max-width:min(100%,40rem)}.openms-lib-page--governance .governance-membership__eyebrow{display:inline-flex;margin:0 0 var(--pro-stack-eyebrow,.45rem);font-size:var(--openms-text-min);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--openms-blue)}.openms-lib-page--governance .governance-membership__title{margin:0;font-family:var(--openms-font-heading);font-size:calc(var(--openms-heading-lg-size) * 1.05);font-weight:var(--openms-heading-lg-weight);line-height:1.3;letter-spacing:normal;text-transform:uppercase;color:var(--openms-navy)}.openms-lib-page--governance .governance-membership__lead{margin:var(--pro-stack-lead,.75rem)0 0;max-width:42ch;font-size:var(--openms-body-size-lg);line-height:1.6;color:var(--pro-text-muted)}.openms-lib-page--governance .governance-membership__track{display:grid;grid-template-columns:minmax(0,1fr)auto minmax(0,1fr);align-items:stretch;gap:clamp(.85rem,2vw,1.35rem);margin:0;padding:0;list-style:none}.openms-lib-page--governance .governance-membership__step{display:grid;grid-template-rows:auto 1fr;gap:.85rem;margin:0;min-width:0}.openms-lib-page--governance .governance-membership__marker{display:flex;justify-content:center}.openms-lib-page--governance .governance-membership__icon{display:grid;place-items:center;width:auto;height:auto;border:none;border-radius:0;background:0 0;color:rgba(var(--openms-blue-rgb),.28);font-size:clamp(2.25rem,3.2vw,2.75rem);line-height:1}.openms-lib-page--governance .governance-membership__icon .fas,.openms-lib-page--governance .governance-membership__icon .svg-inline--fa{color:rgba(var(--openms-blue-rgb),.28)!important;font-size:1em;width:1em;height:1em}.openms-lib-page--governance .governance-membership__icon .svg-inline--fa path{fill:currentColor!important}.openms-lib-page--governance .governance-membership__card{display:grid;gap:.45rem;min-height:100%;padding:var(--pro-card-pad,clamp(1rem,2vw,1.25rem));border:1px solid var(--pro-line);border-radius:var(--pro-radius);background:var(--openms-white);box-shadow:var(--pro-shadow)}.openms-lib-page--governance .governance-membership__tag{margin:0;font-size:var(--openms-text-min);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--openms-blue)}.openms-lib-page--governance .governance-membership__text{margin:0;font-family:var(--openms-font-body);font-size:var(--openms-body-size);line-height:1.6;color:rgba(var(--openms-dark-rgb),.72)}.openms-lib-page--governance .governance-membership__connector{align-self:center;width:clamp(2.5rem,6vw,4rem);height:2px;margin-top:1.35rem;background:linear-gradient(90deg,rgba(var(--openms-blue-rgb),.15),rgba(var(--openms-blue-rgb),.45),rgba(var(--openms-blue-rgb),.15));border-radius:999px}@media(max-width:700px){.openms-lib-page--governance .governance-membership__track{grid-template-columns:1fr;gap:.75rem}.openms-lib-page--governance .governance-membership__connector{width:2px;height:1.5rem;margin:0 auto;background:linear-gradient(180deg,rgba(var(--openms-blue-rgb),.15),rgba(var(--openms-blue-rgb),.45),rgba(var(--openms-blue-rgb),.15))}.openms-lib-page--governance .governance-membership__step{grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto;align-items:start;gap:.85rem}.openms-lib-page--governance .governance-membership__marker{justify-content:flex-start;padding-top:.85rem}.openms-lib-page--governance .governance-membership__icon{font-size:1.85rem}}.openms-lib-page--our-sponsors #our-sponsors.openms-lib-page__anchor{background:var(--openms-white)!important;padding-inline:max( var(--olib-pad-x,clamp(1.25rem,4vw,2rem)),calc((100% - var(--pro-max,75rem))/2 + var(--olib-pad-x,clamp(1.25rem,4vw,2rem))) );padding-block:0;box-sizing:border-box}.openms-lib-page--our-sponsors .openms-lib-hero--pro{background:var(--openms-white)}.openms-lib-page--our-sponsors #our-sponsors .openms-lib-resources{padding-block:var(--pro-section-y)}.openms-lib-page--our-sponsors #sponsor-cta.openms-lib-page__anchor{padding-block:var(--pro-section-y)}.openms-lib-page--our-sponsors .sponsors-showcase{width:100%;max-width:var(--pro-max,75rem);margin-inline:auto}.openms-lib-page--our-sponsors .sponsors-showcase__inner{display:grid;gap:clamp(2.25rem,4.5vw,3.25rem)}.openms-lib-page--our-sponsors .sponsors-showcase__head{display:grid;justify-items:center;gap:0;max-width:42rem;margin-inline:auto;text-align:center}.openms-lib-page--our-sponsors .sponsors-showcase__eyebrow{margin:0 0 var(--pro-stack-eyebrow,.45rem);font-size:var(--openms-text-min);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--openms-blue)}.openms-lib-page--our-sponsors .sponsors-showcase__title{margin:0;font-family:var(--openms-font-heading);font-size:calc(var(--openms-heading-lg-size,1.65rem) * 1.15);font-weight:var(--openms-heading-lg-weight,800);line-height:1.25;letter-spacing:normal;text-transform:uppercase;color:var(--openms-navy)}.openms-lib-page--our-sponsors .sponsors-showcase__lead{margin:var(--pro-stack-lead,.75rem)0 0;max-width:40ch;font-size:var(--openms-body-size-lg,var(--openms-body-size));line-height:1.65;color:var(--pro-text-muted,rgba(var(--openms-dark-rgb),.72))}.openms-lib-page--our-sponsors .sponsors-showcase__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2.5vw,1.5rem);margin:0;padding:0;list-style:none;width:100%;max-width:none}.openms-lib-page--our-sponsors .sponsors-showcase__item{display:grid;grid-template-rows:minmax(7.5rem,auto)auto;align-items:stretch;gap:0;min-width:0;margin:0;padding:0;border:1px solid rgba(var(--openms-navy-rgb),.08);border-radius:var(--pro-radius,.85rem);background:var(--openms-white);box-shadow:none;text-decoration:none!important;color:inherit;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.openms-lib-page--our-sponsors .sponsors-showcase__item:hover,.openms-lib-page--our-sponsors .sponsors-showcase__item:focus-visible{border-color:rgba(var(--openms-blue-rgb),.28);box-shadow:0 10px 28px rgba(var(--openms-navy-rgb),.08);transform:translateY(-2px);outline:none}.openms-lib-page--our-sponsors .sponsors-showcase__logo-wrap{display:flex;align-items:center;justify-content:center;min-height:7.5rem;padding:clamp(1.25rem,2.5vw,1.75rem)clamp(1rem,2vw,1.5rem);background:radial-gradient(circle at 50% 0%,rgba(var(--openms-blue-rgb),.06),transparent 55%),var(--openms-white)}.openms-lib-page--our-sponsors .sponsors-showcase__item--dark .sponsors-showcase__logo-wrap{background:var(--openms-navy)}.openms-lib-page--our-sponsors .sponsors-showcase__logo{display:block;width:auto;max-width:min(100%,11.5rem);max-height:3.75rem;height:auto;object-fit:contain}.openms-lib-page--our-sponsors .sponsors-showcase__item .sponsors-showcase__logo[src*=Elixir],.openms-lib-page--our-sponsors .sponsors-showcase__item .sponsors-showcase__logo[src*=elixir]{max-height:4.5rem;max-width:9rem}.openms-lib-page--our-sponsors .sponsors-showcase__fallback{font-family:var(--openms-font-heading);font-size:1.15rem;font-weight:700;color:var(--openms-navy)}.openms-lib-page--our-sponsors .sponsors-showcase__meta{display:grid;gap:.35rem;padding:1rem 1.15rem 1.2rem;border-top:1px solid rgba(var(--openms-navy-rgb),.06);background:color-mix(in srgb,var(--pro-band-soft,#f4f6f9) 65%,var(--openms-white));text-align:center}.openms-lib-page--our-sponsors .sponsors-showcase__name{font-family:var(--openms-font-heading);font-size:.95rem;font-weight:700;line-height:1.3;color:var(--openms-navy)}.openms-lib-page--our-sponsors .sponsors-showcase__desc{font-size:var(--openms-text-min,.8rem);line-height:1.45;color:rgba(var(--openms-dark-rgb),.68)}.openms-lib-page--our-sponsors .sponsors-tiers{display:grid;gap:clamp(2rem,4vw,3rem)}.openms-lib-page--our-sponsors .sponsors-tier{display:grid;gap:1rem}.openms-lib-page--our-sponsors .sponsors-tier__title{margin:0;font-family:var(--openms-font-heading);font-size:var(--openms-secondary-heading-size,1.05rem);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--openms-navy);text-align:center}@media(max-width:640px){.openms-lib-page--our-sponsors .sponsors-showcase__grid{grid-template-columns:1fr;max-width:22rem;margin-inline:auto}}@media(prefers-reduced-motion:reduce){.openms-lib-page--our-sponsors .sponsors-showcase__item,.openms-lib-page--our-sponsors .sponsors-showcase__item:hover,.openms-lib-page--our-sponsors .sponsors-showcase__item:focus-visible{transform:none}}