.openms-lib-page--hub.openms-lib-page--openms-lib{--pro-max:var(--hub-wide-max);--pro-pad:clamp(1.25rem, 4vw, 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-navy);--pro-text-muted:rgba(var(--openms-navy-rgb), 0.68);--pro-text-soft:rgba(var(--openms-navy-rgb), 0.48);--pro-text-on-dark:rgba(255, 255, 255, 0.72);--pro-kicker-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-max:var(--hub-wide-max);--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-navy);--pro-text-muted:rgba(var(--openms-navy-rgb), 0.68);--pro-text-soft:rgba(var(--openms-navy-rgb), 0.48);--pro-text-on-dark:rgba(255, 255, 255, 0.72);--pro-kicker-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(3.5rem,7vw,5.25rem);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: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(--openms-blue);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.25;letter-spacing:normal;text-align:center;text-transform:uppercase}.openms-lib-page--openms-lib .openms-lib-hero__accent--warm{color:var(--openms-blue)}.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;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--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-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--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:max(var(--olib-pad-x),calc((100% - var(--pro-max))/2 + var(--olib-pad-x)))}.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(--openms-blue);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-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-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{margin: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(--openms-navy)}.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 .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{color:#0078d4!important}.openms-lib-page--openms-lib .openms-lib-btn--primary .fa-apple,.openms-lib-page--openms-lib .openms-lib-btn--install .fa-apple{color:#f5f5f7!important}.openms-lib-page--openms-lib .openms-lib-btn--primary .fa-linux,.openms-lib-page--openms-lib .openms-lib-btn--install .fa-linux{color:#fcc624!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-about__num,.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:2.25rem;height:2.25rem;border-radius:.65rem;font-size:.95rem}.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(--openms-white);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:calc(var(--pro-section-y) * .5)}.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 .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__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.25rem,2.5vw,1.85rem)0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.3rem,.9vw,.55rem);width:100%;border-top:1px solid var(--pro-line)}.openms-lib-page--openms-lib .openms-lib-about--benefits .openms-lib-about__benefit{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;margin:0;padding:0;border:none;min-width:0}.openms-lib-page--openms-lib .openms-lib-about--benefits .openms-lib-about__benefit:first-child{padding-left:clamp(1rem,3.5vw,2.5rem)}.openms-lib-page--openms-lib .openms-lib-about--benefits .openms-lib-about__benefit-title{margin:0;font-family:var(--openms-font-heading);font-size:clamp(1.2rem,2vw,1.55rem);font-weight:700;line-height:1.25;color:var(--openms-navy);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))}.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:2.75rem 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{font-family:var(--openms-font-heading);font-size:.8rem;font-weight:800;color:var(--openms-blue)}.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--list .openms-lib-about__list-title{font-family:var(--openms-font-heading);font-weight:700;color:var(--openms-navy)}.openms-lib-page--openms-lib .openms-lib-about__tile{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:.45rem;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{display:inline-flex;align-items:center;justify-content:center;margin-bottom:.4rem;border:1px solid rgba(var(--openms-navy-rgb),.1);background:rgba(var(--openms-navy-rgb),.06);font-family:var(--openms-font-heading);font-weight:800;line-height:1;letter-spacing:-.03em;color:var(--openms-navy)}.openms-lib-page--openms-lib .openms-lib-about__tile-text{max-width:none}.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:max(var(--olib-pad-x),calc((100% - var(--pro-max))/2 + var(--olib-pad-x)));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:auto;height:auto;border-radius:0;background:0 0;color:rgba(var(--openms-blue-rgb),.28);font-size:2rem;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),.28)!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{margin:0;font-family:var(--openms-font-heading);font-size:clamp(1.15rem,2.2vw,1.35rem);font-weight:700;line-height:1.25;color:var(--openms-navy);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(--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(--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;color:var(--openms-blue);font-size:1.85rem;line-height:1}.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-resources__explore-title{margin:0;font-family:var(--openms-font-heading);font-size:1.2rem;font-weight:700;line-height:1.25;color:var(--openms-navy)}.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(--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-resources__assist-title{margin:0;font-family:var(--openms-font-heading);font-size:clamp(1.2rem,2vw,1.45rem);font-weight:700;color:var(--openms-navy)}.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{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;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 .openms-lib-resources__item:hover,.openms-lib-page--openms-lib .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(--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(--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{font-family:var(--openms-font-body);font-size:var(--openms-secondary-heading-size-lg);font-weight:var(--openms-heading-lg-weight);line-height:1.3;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)max(var(--olib-pad-x),calc((100% - var(--pro-max))/2 + var(--olib-pad-x)))}.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:clamp(6.5rem,12vw,9rem)}.openms-lib-page--pyopenms-viz-pro .openms-lib-developers--cards{gap:clamp(7.5rem,13vw,10rem)}.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-developers__cards-head,.openms-lib-page--pyopenms-viz-pro .openms-lib-developers__cards-head{display:grid;justify-items:center;gap:0;max-width:min(100%,38rem);margin-inline:auto;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-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-align:center;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__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;text-align:center;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-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--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:16.5rem;min-height:16.5rem;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:hidden;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:auto;height:auto;margin:0;padding:0;border:none;border-radius:0;background:0 0;box-shadow:none;font-size:2rem;line-height:1;color:rgba(var(--openms-blue-rgb),.28);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-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{margin:0;font-family:var(--openms-font-heading);font-size:clamp(1.15rem,1.8vw,1.3rem);font-weight:700;line-height:1.25;color:var(--openms-navy);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-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:stretch;gap:.4rem;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}.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 1 calc(33.333% - .3rem);min-width:min(100%,4.75rem);max-width:100%;box-sizing:border-box;min-height:2.35rem;height:auto;padding:.4rem .55rem;font-size:.78rem;white-space:nowrap}@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--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)}}.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:var(--openms-blue);border-color:var(--openms-blue);box-shadow:var(--pro-shadow-hover);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:var(--openms-blue);border-color:var(--openms-blue);box-shadow:var(--pro-shadow-hover);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:0;height:0;margin:0;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--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{min-height:0}.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;background:var(--pro-band-soft,#f4f7fb);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{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)max(var(--olib-pad-x),calc((100% - var(--pro-max))/2 + var(--olib-pad-x)))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: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(--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-cite__title{margin:0;max-width: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(--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__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-blue-rgb),.1);font-weight:700;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-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: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)}.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 .openms-lib-btn--ghost{border-color:rgba(var(--openms-navy-rgb),.18);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__actions .openms-lib-btn--ghost: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__actions .openms-lib-btn--ghost:focus-visible{border-color:var(--openms-blue);color:var(--openms-blue)}@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(--openms-navy)}.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(--openms-navy)}.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(--openms-navy)}.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(--openms-navy)}.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,.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(--openms-navy)}.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-link,.openms-lib-page--hub.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-developers__card--link:focus-visible .openms-lib-developers__card-link,.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,.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{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-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;justify-items:start;gap:0;max-width: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;max-width:22ch;width:auto;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(--openms-navy)}.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-blue-rgb),.1);font-weight:700;color:var(--openms-blue)}.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:40rem;margin:0 auto;justify-items:center;text-align:center}.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:28ch;text-align:center}}.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:nowrap;align-items:center;justify-content:center;gap:clamp(.55rem,2.4vw,.85rem)}.openms-lib-page--openms-lib .openms-lib-hero__actions .openms-lib-btn{flex:initial;min-width:0;justify-content:center;white-space:nowrap;font-size:clamp(.62rem,2.6vw,.82rem);min-height:2.2rem;padding:.42rem clamp(.5rem,2.2vw,.85rem)}.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-max:72rem;--pro-pad:clamp(1.25rem, 4vw, 2.5rem);--pro-section-y:clamp(3rem, 7vw, 5rem)}.openms-lib-page--webapps:not(.openms-lib-page--openms-lib) .openms-lib-hero--pro{margin-bottom:0;padding:clamp(3rem,7vw,4.75rem)max(var(--olib-pad-x),calc((100% - var(--pro-max))/2 + var(--olib-pad-x)))clamp(3rem,6vw,4.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:nowrap;align-items:center;justify-content:center;gap:clamp(.55rem,2.4vw,.85rem)}.openms-lib-page--webapps:not(.openms-lib-page--openms-lib) .openms-lib-hero__actions .openms-lib-btn{flex:initial;min-width:0;justify-content:center;white-space:nowrap;font-size:clamp(.62rem,2.6vw,.82rem);min-height:2.2rem;padding:.42rem clamp(.5rem,2.2vw,.85rem)}}.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 .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-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--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-blue)}.openms-lib-page--webapps-pro .openms-lib-about__mosaic{display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:clamp(1.25rem,2.5vw,2rem)clamp(1.5rem,3vw,2.75rem);width:100%;max-width:min(100%,56rem);margin-inline:auto}.openms-lib-page--webapps-pro .openms-lib-about__tile{flex:0 1 calc((100% - 2 * clamp(1.5rem,3vw,2.75rem))/3);max-width:16rem;border:none;border-radius:0;background:0 0;box-shadow:none;padding:.15rem .1rem;align-items:center;text-align:center;transition:transform .22s ease}.openms-lib-page--webapps-pro .openms-lib-about__tile-title,.openms-lib-page--webapps-pro .openms-lib-about__tile-text{text-align:center;max-width:none}.openms-lib-page--webapps-pro .openms-lib-about__tile:hover,.openms-lib-page--webapps-pro .openms-lib-about__tile:focus-within{border:none;box-shadow:none;transform:translateY(-2px)}.openms-lib-page--webapps-pro .openms-lib-about__head{display:grid;grid-template-columns:1fr;justify-items:center;text-align:center;max-width:min(100%,40rem);margin-inline:auto}.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:640px){.openms-lib-page--webapps-pro .openms-lib-about__mosaic{max-width:min(100%,36rem);gap:1.35rem 1.5rem}.openms-lib-page--webapps-pro .openms-lib-about__tile{flex:0 1 calc((100% - 1.5rem)/2);max-width:none;align-items:center;text-align:center}.openms-lib-page--webapps-pro .openms-lib-about__num,.openms-lib-page--webapps-pro .openms-lib-about__tile-title,.openms-lib-page--webapps-pro .openms-lib-about__tile-text{text-align:center;width:100%;max-width:none}}@media(max-width:560px){.openms-lib-page--webapps-pro .openms-lib-about__mosaic{max-width:100%}.openms-lib-page--webapps-pro .openms-lib-about__tile{flex:1 1 100%}}.openms-lib-page--webapps-pro .openms-lib-about__lead-line{display:block}.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(var(--openms-blue-rgb),.28);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(var(--openms-blue-rgb),.28)!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--static,.openms-lib-page--webapps-pro .openms-lib-resources__item--featured-apps{cursor:default}@media(hover:hover) and (pointer:fine){.openms-lib-page--webapps-pro .openms-lib-resources__grid>.openms-lib-resources__item:not(.openms-lib-resources__item--static):not(.openms-lib-resources__item--featured-apps):hover,.openms-lib-page--webapps-pro .openms-lib-resources__grid>.openms-lib-resources__item:not(.openms-lib-resources__item--static):not(.openms-lib-resources__item--featured-apps):focus-visible{background:var(--openms-blue);border-color:var(--openms-blue);box-shadow:var(--pro-shadow-hover);color:var(--openms-white);outline:none;transform:translateY(-3px)}.openms-lib-page--webapps-pro .openms-lib-resources__grid>.openms-lib-resources__item:not(.openms-lib-resources__item--static):not(.openms-lib-resources__item--featured-apps):hover .openms-lib-resources__item-icon,.openms-lib-page--webapps-pro .openms-lib-resources__grid>.openms-lib-resources__item:not(.openms-lib-resources__item--static):not(.openms-lib-resources__item--featured-apps):focus-visible .openms-lib-resources__item-icon,.openms-lib-page--webapps-pro .openms-lib-resources__grid>.openms-lib-resources__item:not(.openms-lib-resources__item--static):not(.openms-lib-resources__item--featured-apps):hover .openms-lib-resources__item-icon .fab,.openms-lib-page--webapps-pro .openms-lib-resources__grid>.openms-lib-resources__item:not(.openms-lib-resources__item--static):not(.openms-lib-resources__item--featured-apps):focus-visible .openms-lib-resources__item-icon .fab,.openms-lib-page--webapps-pro .openms-lib-resources__grid>.openms-lib-resources__item:not(.openms-lib-resources__item--static):not(.openms-lib-resources__item--featured-apps):hover .openms-lib-resources__item-icon .fas,.openms-lib-page--webapps-pro .openms-lib-resources__grid>.openms-lib-resources__item:not(.openms-lib-resources__item--static):not(.openms-lib-resources__item--featured-apps):focus-visible .openms-lib-resources__item-icon .fas,.openms-lib-page--webapps-pro .openms-lib-resources__grid>.openms-lib-resources__item:not(.openms-lib-resources__item--static):not(.openms-lib-resources__item--featured-apps):hover .openms-lib-resources__item-icon .svg-inline--fa,.openms-lib-page--webapps-pro .openms-lib-resources__grid>.openms-lib-resources__item:not(.openms-lib-resources__item--static):not(.openms-lib-resources__item--featured-apps):focus-visible .openms-lib-resources__item-icon .svg-inline--fa,.openms-lib-page--webapps-pro .openms-lib-resources__grid>.openms-lib-resources__item:not(.openms-lib-resources__item--static):not(.openms-lib-resources__item--featured-apps):hover .openms-lib-resources__item-title,.openms-lib-page--webapps-pro .openms-lib-resources__grid>.openms-lib-resources__item:not(.openms-lib-resources__item--static):not(.openms-lib-resources__item--featured-apps):focus-visible .openms-lib-resources__item-title,.openms-lib-page--webapps-pro .openms-lib-resources__grid>.openms-lib-resources__item:not(.openms-lib-resources__item--static):not(.openms-lib-resources__item--featured-apps):hover .openms-lib-resources__item-text,.openms-lib-page--webapps-pro .openms-lib-resources__grid>.openms-lib-resources__item:not(.openms-lib-resources__item--static):not(.openms-lib-resources__item--featured-apps):focus-visible .openms-lib-resources__item-text,.openms-lib-page--webapps-pro .openms-lib-resources__grid>.openms-lib-resources__item:not(.openms-lib-resources__item--static):not(.openms-lib-resources__item--featured-apps):hover .openms-lib-resources__item-tag,.openms-lib-page--webapps-pro .openms-lib-resources__grid>.openms-lib-resources__item:not(.openms-lib-resources__item--static):not(.openms-lib-resources__item--featured-apps):focus-visible .openms-lib-resources__item-tag,.openms-lib-page--webapps-pro .openms-lib-resources__grid>.openms-lib-resources__item:not(.openms-lib-resources__item--static):not(.openms-lib-resources__item--featured-apps):hover .openms-lib-resources__item-link,.openms-lib-page--webapps-pro .openms-lib-resources__grid>.openms-lib-resources__item:not(.openms-lib-resources__item--static):not(.openms-lib-resources__item--featured-apps):focus-visible .openms-lib-resources__item-link{color:var(--openms-white)!important}.openms-lib-page--webapps-pro .openms-lib-resources__grid>.openms-lib-resources__item:not(.openms-lib-resources__item--static):not(.openms-lib-resources__item--featured-apps):hover .openms-lib-resources__item-icon .svg-inline--fa path,.openms-lib-page--webapps-pro .openms-lib-resources__grid>.openms-lib-resources__item:not(.openms-lib-resources__item--static):not(.openms-lib-resources__item--featured-apps):focus-visible .openms-lib-resources__item-icon .svg-inline--fa path{fill:currentColor!important}}.openms-lib-page--webapps-pro .openms-lib-resources__item--static:hover,.openms-lib-page--webapps-pro .openms-lib-resources__item--static:focus-within,.openms-lib-page--webapps-pro .openms-lib-resources__item--static:focus-visible,.openms-lib-page--webapps-pro .openms-lib-resources__item--featured-apps:hover,.openms-lib-page--webapps-pro .openms-lib-resources__item--featured-apps:focus-within,.openms-lib-page--webapps-pro .openms-lib-resources__item--featured-apps:focus-visible{transform:none;border:none;border-color:transparent;background:0 0;box-shadow:none;color:inherit}.openms-lib-page--webapps-pro .openms-lib-resources__item--featured-apps{display:grid;grid-template-columns:minmax(0,1fr)auto;grid-template-areas:"head link" "gallery gallery";gap:clamp(1.5rem,3vw,2.25rem)clamp(1rem,2.5vw,1.75rem);align-items:start;grid-column:1/-1;margin-top:clamp(1rem,2.5vw,1.75rem);padding:clamp(1.75rem,3.5vw,2.75rem)0 0;border:none;border-radius:0;background:0 0;box-shadow:none;min-height:0}.openms-lib-page--webapps-pro .openms-lib-resources__featured-head{grid-area:head;display:grid;justify-items:start;gap:0;max-width:min(100%,40rem);text-align:left}.openms-lib-page--webapps-pro .openms-lib-resources__item--featured-apps .openms-lib-resources__eyebrow{margin-bottom:var(--pro-stack-eyebrow);color:var(--openms-blue)}.openms-lib-page--webapps-pro .openms-lib-resources__item--featured-apps .openms-lib-resources__title{margin:0;font-size:clamp(2rem,4vw,2.85rem);line-height:1.1;letter-spacing:-.02em;color:var(--openms-navy)}.openms-lib-page--webapps-pro .openms-lib-resources__item--featured-apps .openms-lib-resources__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--webapps-pro .openms-lib-resources__item--featured-apps .openms-lib-resources__app-links{grid-area:gallery;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,3vw,2rem);align-items:center;justify-items:center;align-self:stretch;width:100%;margin:0;padding:0;list-style:none}.openms-lib-page--webapps-pro .openms-lib-resources__app-link{display:flex;align-items:center;justify-content:center;width:100%;min-height:100%;padding:clamp(.5rem,1.5vw,1rem);border:none;border-radius:0;background:0 0;color:var(--openms-navy);text-decoration:none;transition:transform .2s ease}.openms-lib-page--webapps-pro .openms-lib-resources__app-logo{display:grid;place-items:center;flex:none;width:clamp(8.5rem,18vw,13rem);height:clamp(8.5rem,18vw,13rem);max-width:100%;padding:0;border:none;border-radius:0;background:0 0}.openms-lib-page--webapps-pro .openms-lib-resources__app-logo img{width:100%;height:100%;max-width:100%;object-fit:contain}.openms-lib-page--webapps-pro .openms-lib-resources__app-link:hover,.openms-lib-page--webapps-pro .openms-lib-resources__app-link:focus-visible{transform:var(--pro-lift-sm);outline:none}.openms-lib-page--webapps-pro .openms-lib-resources__item--featured-apps .openms-lib-resources__featured-btn{grid-area:link;align-self:start;justify-self:end;margin-top:0;white-space:nowrap}@media(max-width:900px){.openms-lib-page--webapps-pro .openms-lib-resources__item--featured-apps{gap:var(--pro-space-4)}.openms-lib-page--webapps-pro .openms-lib-resources__item--featured-apps .openms-lib-resources__app-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.75rem,2.5vw,1.25rem)}.openms-lib-page--webapps-pro .openms-lib-resources__app-logo{width:clamp(6.5rem,22vw,10rem);height:clamp(6.5rem,22vw,10rem)}}@media(max-width:560px){.openms-lib-page--webapps-pro .openms-lib-resources__item--featured-apps{grid-template-columns:1fr;grid-template-areas:"head" "link" "gallery"}.openms-lib-page--webapps-pro .openms-lib-resources__item--featured-apps .openms-lib-resources__featured-btn{justify-self:start}.openms-lib-page--webapps-pro .openms-lib-resources__item--featured-apps .openms-lib-resources__app-links{grid-template-columns:1fr;gap:clamp(1.25rem,4vw,1.75rem)}.openms-lib-page--webapps-pro .openms-lib-resources__app-link{padding:clamp(.65rem,3vw,1rem)}.openms-lib-page--webapps-pro .openms-lib-resources__app-logo{width:min(70vw,12rem);height:min(70vw,12rem)}}.openms-lib-page--webapps-pro .openms-lib-page__outro .openms-lib-block--developers{background:0 0}.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:minmax(0,1.05fr)minmax(0,.95fr);gap:var(--pro-col-gap);align-items:center;max-width:var(--pro-max);margin-inline:auto;padding:clamp(2.25rem,4.5vw,3.25rem);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:var(--pro-shadow-feature)}.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:start;max-width:none;margin:0;text-align:left}.openms-lib-page--webapps-pro .openms-lib-developers__head .openms-lib-block__eyebrow{justify-content:flex-start;color:var(--pro-kicker-on-dark)}.openms-lib-page--hub.openms-lib-page--webapps-pro .openms-lib-developers__head .openms-lib-developers__title,.openms-lib-page--webapps-pro .openms-lib-developers__head .openms-lib-developers__title{text-align:left;margin-inline:0;color:var(--openms-white)}.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--webapps-pro .openms-lib-developers__head .openms-lib-developers__lead,.openms-lib-page--openms-lib.openms-lib-page--webapps-pro .openms-lib-developers__head .openms-lib-developers__lead{justify-self:start;width:100%;max-width:36ch;margin:var(--pro-stack-lead)0 0;margin-inline:0;text-align:left;color:var(--pro-text-on-dark)}.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: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(1){grid-column:auto;min-height:100%}.openms-lib-page--webapps-pro .openms-lib-developers__route{min-height:100%;padding:var(--pro-card-pad-lg);border:none}.openms-lib-page--webapps-pro .openms-lib-block--developers>.openms-lib-developers__cite--separate{margin-top:var(--pro-space-6)}@media(max-width:900px){.openms-lib-page--hub.openms-lib-page--webapps-pro .openms-lib-developers__layout,.openms-lib-page--webapps-pro .openms-lib-developers__layout{grid-template-columns:1fr;gap:var(--pro-space-5);align-items:stretch;padding:clamp(1.5rem,4vw,2.25rem)}.openms-lib-page--hub.openms-lib-page--webapps-pro .openms-lib-developers__head,.openms-lib-page--webapps-pro .openms-lib-developers__head{justify-items:center;text-align:center}.openms-lib-page--webapps-pro .openms-lib-developers__head .openms-lib-block__eyebrow{justify-content:center}.openms-lib-page--hub.openms-lib-page--webapps-pro .openms-lib-developers__head .openms-lib-developers__title,.openms-lib-page--webapps-pro .openms-lib-developers__head .openms-lib-developers__title{text-align:center;margin-inline:auto}.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--webapps-pro .openms-lib-developers__head .openms-lib-developers__lead,.openms-lib-page--openms-lib.openms-lib-page--webapps-pro .openms-lib-developers__head .openms-lib-developers__lead{justify-self:start;margin-inline:0;text-align:left}}.openms-lib-page--featured-pro #featured-webapps{background:var(--pro-band-soft)}.openms-lib-page--featured-pro #affiliated-apps{background:var(--pro-band-soft)}.openms-lib-page--featured-pro #archived-apps{background:0 0}.openms-lib-page--hub.openms-lib-page--featured-pro .webapps-modern-wrap--page .webapps-featured--page{padding-block:var(--pro-section-y);padding-top:clamp(1rem,2.5vw,1.75rem);padding-inline:0}.openms-lib-page--hub.openms-lib-page--featured-pro .webapps-affiliates{padding-block:var(--pro-section-y);padding-top:calc(var(--pro-section-y) * .5)}.openms-lib-page--hub.openms-lib-page--featured-pro .webapps-archived{padding-block:var(--pro-section-y);padding-top:calc(var(--pro-section-y) * .5);padding-inline:0}.openms-lib-page--hub.openms-lib-page--featured-pro .openms-lib-page__anchor:has(.webapps-archived)::before{display:none}.openms-lib-page--featured-pro .webapps-featured__grid--detail{gap:var(--pro-card-gap)}.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{gap:var(--pro-space-2);padding:var(--pro-card-pad)}.openms-lib-page--featured-pro .webapps-featured__grid--detail .webapps-project-detail-card--logo-title .webapps-project-detail-card__logo-wrap{min-height:clamp(7.5rem,14vw,10rem);padding:.35rem 0;border:none;border-radius:0;background:0 0}.openms-lib-page--featured-pro .webapps-featured__grid--detail .webapps-project-detail-card--logo-title .webapps-project-detail-card__logo{max-height:clamp(6.5rem,13vw,8.75rem)}.openms-lib-page--featured-pro .webapps-featured__grid--detail .webapps-project-detail-card--logo-title .webapps-project-detail-card__logo--large{max-height:clamp(7.25rem,14.5vw,9.5rem)}.openms-lib-page--featured-pro .webapps-featured__grid--detail .webapps-project-detail-card--logo-title .webapps-project-detail-card__logo--xlarge{max-height:clamp(8rem,16vw,10.5rem)}.openms-lib-page--featured-pro .webapps-project-detail-card--affiliate .webapps-project-detail-card__logo-wrap{border:1px solid rgba(var(--openms-navy-rgb),.1);background:rgba(var(--openms-navy-rgb),.04)}.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-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}.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;gap:var(--pro-card-gap);margin:0;padding:0;list-style:none}.openms-lib-page--featured-pro .webapps-archived__item{margin:0;padding:0}.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{display:inline-flex;align-items:center;padding:.16rem .55rem;border:1px solid rgba(var(--openms-navy-rgb),.14);border-radius:999px;background:0 0;font-size:.64rem;font-weight:700;letter-spacing:.03em;text-transform:none;color:var(--pro-text-muted)}.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:.5rem;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--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{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__notice-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--pro-space-3)var(--pro-space-5);margin:0;padding:0;list-style:none}.openms-lib-page--featured-pro .webapps-archived__notice-item{position:relative;margin:0;padding:0 0 0 1rem;font-size:var(--openms-body-size);line-height:1.55;color:rgba(var(--openms-dark-rgb),.72)}.openms-lib-page--featured-pro .webapps-archived__notice-item::before{content:"";position:absolute;top:.55rem;left:0;width:.35rem;height:.35rem;border-radius:50%;background:rgba(var(--openms-navy-rgb),.45)}@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-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-entry__main{padding:0}.openms-lib-page--featured-pro .webapps-archived-entry__logo{max-width:9.5rem;max-height:4.75rem}.openms-lib-page--featured-pro .webapps-archived__notice-list{grid-template-columns:1fr;gap:var(--pro-space-2)}}.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);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-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(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--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 .news-page-block{padding-block:var(--pro-section-y);padding-top:calc(var(--pro-section-y) * .45)}.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:0}.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{grid-template-columns:1fr;align-items:start;margin:0;max-width:min(40rem,100%)}.openms-lib-page--contribute #communication-channels .openms-lib-about__eyebrow{margin-bottom:.15rem}.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:2rem;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 .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__head{display:grid;justify-items:center;text-align:center;max-width:min(100%,40rem);margin-inline:auto}.openms-lib-page--contribute #ways-to-contribute .openms-lib-resources__eyebrow{justify-content:center}.openms-lib-page--contribute #ways-to-contribute .openms-lib-resources__title,.openms-lib-page--contribute #ways-to-contribute .openms-lib-resources__lead{text-align:center;margin-inline:auto}.openms-lib-page--contribute #ways-to-contribute .openms-lib-resources__lead{max-width:36rem}.openms-lib-page--contribute .openms-lib-resources__toolkit{display:grid;grid-template-columns:1fr;gap:var(--pro-card-gap);align-items:stretch}.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:1.15rem;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 .contribute-project-links{display:flex;flex-wrap:wrap;gap:.55rem;margin:.35rem 0 0;padding:0;list-style:none;width:100%}.openms-lib-page--contribute .contribute-project-links li{flex:initial}.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:var(--openms-blue);border-color:var(--openms-blue);box-shadow:var(--pro-shadow-hover);color:var(--openms-white);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}@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{flex-direction:column}.openms-lib-page--contribute .contribute-project-links li{width:100%}}.openms-lib-page--contribute .contribute-project-links a{display:inline-flex;align-items:center;justify-content:center;width:auto;min-height:2.45rem;padding:.45rem .85rem;border:1.5px solid rgba(var(--openms-white-rgb),.34);border-radius:var(--openms-btn-pill-radius);background:0 0;font-size:var(--openms-text-min);font-weight:700;color:var(--openms-white)!important;text-decoration:none!important;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}.openms-lib-page--contribute .contribute-project-links a:hover,.openms-lib-page--contribute .contribute-project-links a:focus-visible{border-color:rgba(var(--openms-white-rgb),.55);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--contribute .contribute-os-buttons{display:flex;flex-wrap:wrap;gap:.5rem;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 .fellowship-hero-chips{grid-column:1;grid-row:auto;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem;width:100%;max-width:none;margin:1.25rem auto 0;padding:0;list-style:none}.openms-lib-page--fellowship #fellowship-application{background:var(--pro-band-soft)}.openms-lib-page--fellowship .fellowship-application{padding-block:var(--pro-section-y);padding-top:calc(var(--pro-section-y) * .5)}.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 #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 .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--developer-retreat .openms-lib-hero__title{max-width:max-content;margin-inline:auto;text-align:left}.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%}.openms-lib-page--governance #governance-bodies,.openms-lib-page--governance #core-developers,.openms-lib-page--governance #responsibilities,.openms-lib-page--our-sponsors #our-sponsors,.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--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:min(68rem,100%)}.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:min(68rem,100%)}.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:min(68rem,100%)}.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}.openms-lib-page--contributors #members .openms-lib-resources__lead{display:grid;gap:.15em;max-width:none;width:max-content;margin-inline:auto;text-align:center}.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;gap:.55rem;margin:0;padding:.75rem .55rem;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:grid;justify-items:center;gap:.65rem;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{width:4.75rem;height:4.75rem;border-radius:50%;overflow:hidden;border:3px solid rgba(var(--openms-blue-rgb),.14);background:rgba(var(--openms-navy-rgb),.04)}.openms-lib-page--contributors .member .photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}.openms-lib-page--contributors .member .roles{display:flex;flex-wrap:wrap;justify-content:center;gap:.35rem;margin:0}.openms-lib-page--contributors .member .role{display:inline-flex;align-items:center;margin:0;padding:.22rem .55rem;border-radius:999px;background:rgba(var(--openms-navy-rgb),.06);color:rgba(var(--openms-navy-rgb),.78);font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;line-height:1.3}@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:hidden;border:0;background:0 0}.openms-lib-page--contact .contact-page__tally-iframe{min-height:48rem;height:auto}.openms-lib-page--contact .contact-paths-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--pro-card-gap)}.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:min(68rem,100%)}.openms-lib-page--research-partnerships #partnerships-include .openms-lib-resources,.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);padding-top:calc(var(--pro-section-y) * .5)}.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:64rem;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:484px;border: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:42rem;border:0;overflow:hidden;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:36rem}.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{padding-block:var(--pro-section-y)}.openms-lib-page--governance #core-developers .openms-lib-resources{padding-block:var(--pro-section-y)}.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(--pro-band-soft)}.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 .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{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{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 .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),.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 #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:clamp(1.75rem,4vw,2.75rem)}.openms-lib-page--sponsor-us #why-sponsor .openms-lib-about__inner{gap:clamp(1rem,2vw,1.5rem)}.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__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(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: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);--tier-bg:color-mix(in srgb, var(--tier-accent) 10%, var(--openms-white));position:relative;display:flex;flex-direction:column;min-width:0;min-height:100%;padding:0;border:1px solid color-mix(in srgb,var(--tier-accent) 22%,var(--pro-line));border-radius:1rem;background:var(--tier-bg);box-shadow:var(--pro-shadow);overflow:visible;transition:border-color .2s ease,background-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;--tier-bg:#faf4ee}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier--silver{--tier-accent:#65727e;--tier-accent-rgb:101, 114, 126;--tier-bg:#f3f5f7}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier--gold{--tier-accent:#a97808;--tier-accent-rgb:169, 120, 8;--tier-bg:#fbf6e9}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier--platinum{--tier-accent:#5d5d70;--tier-accent-rgb:93, 93, 112;--tier-bg:#f4f4f8}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier:hover,.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier:focus-within{transform:translateY(-2px);border-color:color-mix(in srgb,var(--tier-accent) 55%,var(--pro-line));background:color-mix(in srgb,var(--tier-accent) 14%,var(--openms-white));box-shadow:var(--pro-shadow-hover)}.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(--tier-accent);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:1rem;flex:auto;width:100%;min-height:100%;height:100%;padding:1.35rem 1.2rem 1.2rem;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:.45rem}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier__name{margin:0;font-family:var(--openms-font-heading);font-size:clamp(1.2rem,1.8vw,1.4rem);font-weight:700;line-height:1.2;color:var(--openms-navy)}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier__contribution{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem;margin: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:-.03em;color:var(--openms-navy)}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier__period{font-size:var(--openms-body-size);font-weight:600;color:var(--pro-text-muted)}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier__motto{margin:0;font-size:var(--openms-text-min);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tier-accent)}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier__summary{margin:0;font-size:var(--openms-body-size);line-height:1.5;color:var(--pro-text-muted)}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier__benefits{display:grid;gap:.55rem;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:.55rem;align-items:start;margin:0;font-size:var(--openms-body-size);line-height:1.45;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.15rem;height:1.15rem;margin-top:.1rem;color:#1f9d63}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier__cta{display:flex;align-items:center;justify-content:center;width:100%;min-height:2.75rem;margin-top:auto;padding:.7rem 1rem;border:1px solid var(--pro-line-strong,rgba(11,31,51,.22));border-radius:.75rem;background:0 0;font-size:var(--openms-body-size);font-weight:700;color:var(--openms-navy);transition:border-color .15s ease,background-color .15s ease,color .15s ease}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier:hover .sponsor-tier__cta,.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier:focus-within .sponsor-tier__cta{border-color:var(--tier-accent);color:var(--tier-accent)}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier--active{transform:translateY(-2px);border-color:var(--tier-accent);background:color-mix(in srgb,var(--tier-accent) 18%,var(--openms-white));box-shadow:0 0 0 1px var(--tier-accent),var(--pro-shadow-hover)}.openms-lib-page--sponsor-us .sponsor-tiers-band .sponsor-tier--active .sponsor-tier__cta{border-color:var(--tier-accent);background:color-mix(in srgb,var(--tier-accent) 14%,var(--openms-white));color:var(--tier-accent)}.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-hover)}@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:26rem;margin-inline:auto}}.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(56rem,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 .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--webapps) .openms-lib-resources__explore-tag,.openms-lib-page--pyopenms-viz-pro .openms-lib-resources__explore-tag,.openms-lib-page--openms-lib:not(.openms-lib-page--pyopenms-pro):not(.openms-lib-page--webapps) .openms-lib-resources__explore-icon,.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--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;min-height:0;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-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{padding-block:var(--pro-section-y)calc(var(--pro-section-y) * .75);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;width:fit-content;max-width:100%}.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:var(--openms-blue)!important;border-color:var(--openms-blue)!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{width:auto!important;height:auto!important;margin:0!important;padding:0!important;border:none!important;border-radius:0!important;background:0 0!important;box-shadow:none!important;font-size:2rem!important;line-height:1;color:rgba(var(--openms-blue-rgb),.28)}.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--pro,.openms-lib-page--pyopenms-viz-pro .openms-lib-hero--pro{padding-bottom:0}.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: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: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 .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)calc(var(--pro-section-y) * .75);overflow:visible}.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-developers__cite--separate,.openms-lib-page--openms-lib.openms-lib-page--pyopenms-pro .openms-lib-block--developers>.openms-lib-developers__cite--separate,.openms-lib-page--hub.openms-lib-page--openms-lib.openms-lib-page--pyopenms-viz-pro .openms-lib-developers__cite--separate,.openms-lib-page--openms-lib.openms-lib-page--pyopenms-viz-pro .openms-lib-block--developers>.openms-lib-developers__cite--separate{margin-top:var(--pro-section-y)}.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 .openms-lib-about__mosaic{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--pro-card-gap);padding-top:0;border-top:none}.openms-lib-page--pyopenms-pro .openms-lib-about__tile{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;padding:.15rem .1rem;border:none;border-radius:0;background:0 0;box-shadow:none;transition:transform .22s ease}.openms-lib-page--pyopenms-pro .openms-lib-about__tile:hover,.openms-lib-page--pyopenms-pro .openms-lib-about__tile:focus-within{border:none;box-shadow:none;transform:translateY(-2px)}.openms-lib-page--pyopenms-pro .openms-lib-about__num{display:block;width:auto;height:auto;margin:0 0 .2rem;padding-left:.28em;border:none;border-radius:0;background:0 0;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--pyopenms-pro .openms-lib-about__tile:hover .openms-lib-about__num,.openms-lib-page--pyopenms-pro .openms-lib-about__tile:focus-within .openms-lib-about__num{color:var(--openms-blue)}.openms-lib-page--pyopenms-pro .openms-lib-about__tile-title{margin:0;font-size:clamp(1.15rem,1.7vw,1.35rem);font-weight:700;line-height:1.25;letter-spacing:-.015em;color:var(--openms-navy);text-wrap:balance}.openms-lib-page--pyopenms-pro .openms-lib-about__tile-text{margin:0;max-width:28ch;font-size:var(--openms-body-size);line-height:1.55;color:rgba(var(--openms-navy-rgb),.68);text-wrap:pretty}@media(max-width:980px){.openms-lib-page--pyopenms-pro .openms-lib-about__mosaic{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.openms-lib-page--pyopenms-pro .openms-lib-about__mosaic{grid-template-columns:1fr;gap:1.35rem;border-top:none;padding-top:.25rem}.openms-lib-page--pyopenms-pro .openms-lib-about__tile{align-items:center;text-align:center}.openms-lib-page--pyopenms-pro .openms-lib-about__tile-title,.openms-lib-page--pyopenms-pro .openms-lib-about__tile-text{text-align:center;max-width:none}}.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(3,minmax(0,1fr));gap:var(--pro-card-gap);align-items:stretch;width:100%;max-width:min(100%,48rem);margin-inline:auto}.openms-lib-page--pyopenms-pro .openms-lib-resources__explore-grid:has(>:nth-child(3):last-child)>.openms-lib-resources__explore-item,.openms-lib-page--pyopenms-pro .openms-lib-resources__explore-grid:has(>:nth-child(4):last-child)>.openms-lib-resources__explore-item{grid-column:auto;margin:0}.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:nth-child(1),.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:nth-child(1){grid-column:1/-1}.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:.7rem;width:100%;height:100%;min-height:0;padding:1.45rem 1.35rem 1.35rem;border:none;border-radius:1rem;background:var(--openms-white);box-shadow:0 0 0 1px rgba(var(--openms-navy-rgb),.1);color:var(--openms-navy);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-item:nth-child(1) .openms-lib-resources__explore-card{display:grid;grid-template-columns:auto minmax(0,1fr)auto;grid-template-areas:"icon title link" "icon .     link";align-items:center;column-gap:1.15rem;row-gap:.2rem;min-height:clamp(5.5rem,10vw,6.75rem);padding:clamp(1.25rem,2.5vw,1.65rem)clamp(1.35rem,3vw,2rem);background:linear-gradient(115deg,rgba(255,255,255,.14) 0%,transparent 42%),var(--openms-blue);box-shadow:0 .55rem 1.4rem rgba(var(--openms-blue-rgb),.26);color:var(--openms-white)}.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-resources__explore-item:nth-child(1) .openms-lib-resources__explore-icon{grid-area:icon;display:grid;place-items:center;width:auto;height:auto;border-radius:0;background:0 0;font-size:2rem;color:var(--openms-white)}.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-resources__explore-item:nth-child(1) .openms-lib-resources__explore-title{grid-area:title;margin:0;color:var(--openms-white);font-size:clamp(1.35rem,2.4vw,1.7rem);letter-spacing:-.025em}.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-resources__explore-item:nth-child(1) .openms-lib-resources__explore-link{grid-area:link;margin:0;justify-self:end;padding:.55rem .95rem;border-radius:999px;background:rgba(255,255,255,.16);color:var(--openms-white);font-weight:700;white-space:nowrap}.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-resources__explore-item:nth-child(1) .openms-lib-resources__explore-text,.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-resources__explore-item:nth-child(1) .openms-lib-resources__explore-tag{display:none}.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-resources__explore-item:nth-child(n+2) .openms-lib-resources__explore-card{gap:.85rem;padding:1.5rem 1.35rem 1.35rem}.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(var(--openms-blue-rgb),.28);font-size:2rem}.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(var(--openms-blue-rgb),.28)!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-item:nth-child(1) .openms-lib-resources__explore-icon,.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-resources__explore-item:nth-child(1) .openms-lib-resources__explore-icon .fab,.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-resources__explore-item:nth-child(1) .openms-lib-resources__explore-icon .fas,.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-resources__explore-item:nth-child(1) .openms-lib-resources__explore-icon .svg-inline--fa{color:var(--openms-white)!important}.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-resources__explore-title{margin:0;font-size:clamp(1.1rem,1.8vw,1.25rem);line-height:1.2;letter-spacing:-.02em;color:var(--openms-navy)}.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-resources__explore-link{margin-top:auto;color:var(--openms-navy);font-weight:700}.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{transform:translateY(-3px);box-shadow:0 0 0 1px rgba(var(--openms-navy-rgb),.14),0 .75rem 1.6rem rgba(var(--openms-navy-rgb),.1);outline:none}.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-resources__explore-item:nth-child(1) .openms-lib-resources__explore-card:hover,.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-resources__explore-item:nth-child(1) .openms-lib-resources__explore-card:focus-visible{background:linear-gradient(115deg,rgba(255,255,255,.18) 0%,transparent 42%),var(--openms-navy);box-shadow:0 .75rem 1.7rem rgba(var(--openms-navy-rgb),.3)}.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-resources__explore-item:nth-child(1) .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-item:nth-child(1) .openms-lib-resources__explore-card:focus-visible .openms-lib-resources__explore-link{background:rgba(255,255,255,.22);gap:.45rem}.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-resources__explore-item:nth-child(n+2) .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-item:nth-child(n+2) .openms-lib-resources__explore-card:focus-visible .openms-lib-resources__explore-link{gap:.5rem}.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-resources__explore-item:nth-child(1) .openms-lib-resources__explore-card--pending:hover,.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-resources__explore-item:nth-child(1) .openms-lib-resources__explore-card--pending:focus-visible{transform:none;background:linear-gradient(115deg,rgba(255,255,255,.14) 0%,transparent 42%),var(--openms-blue);box-shadow:0 .55rem 1.4rem rgba(var(--openms-blue-rgb),.26);border:none}.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-resources__explore-item:nth-child(1) .openms-lib-resources__explore-link--pending{background:rgba(255,255,255,.12);color:rgba(255,255,255,.82)}@media(max-width:900px){.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(3):last-child),.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--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:nth-child(n),.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:nth-child(n){grid-column:1/-1;width:100%;max-width:none;justify-self:stretch}.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-resources__explore-item:nth-child(1) .openms-lib-resources__explore-card{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"icon title" "icon link";row-gap:.45rem}.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-resources__explore-item:nth-child(1) .openms-lib-resources__explore-link{justify-self:start;padding:0;border-radius:0;background:0 0}.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-resources__explore-item:nth-child(1) .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-item:nth-child(1) .openms-lib-resources__explore-card:focus-visible .openms-lib-resources__explore-link,.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-resources__explore-item:nth-child(1) .openms-lib-resources__explore-link--pending{background:0 0}}.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(4,minmax(0,1fr));gap:var(--pro-card-gap);align-items:stretch}.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:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-developers__route-icon,.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-developers__route-icon .fab,.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-developers__route-icon .fas,.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-developers__route .fa-github,.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-developers__route .fa-hammer,.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-developers__route .fa-puzzle-piece,.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-developers__route .fa-book,.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-developers__route-icon .svg-inline--fa{color:rgba(var(--openms-blue-rgb),.28)!important}.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-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{width:auto;height:auto;margin-bottom:.15rem;padding:0;border:none;border-radius:0;background:0 0;box-shadow:none;font-size:1.85rem;line-height:1;color:rgba(var(--openms-blue-rgb),.28)!important}.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-developers__card-tag,.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-developers__route .openms-lib-developers__card-tag{color:var(--openms-blue)!important}.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-developers__route,.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-developers__route .openms-lib-developers__card-title,.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-developers__route .openms-lib-developers__card-title span,.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-developers__route .openms-lib-developers__card-text,.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-developers__route .openms-lib-developers__card-body{color:var(--openms-navy)!important}.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-developers__route .openms-lib-developers__card-link{margin-top:auto;color:var(--openms-navy)!important}.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-developers__route:hover,.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-developers__route:focus-visible,.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-developers__route:hover .openms-lib-developers__card-title,.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-developers__route:hover .openms-lib-developers__card-title span,.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-developers__route:hover .openms-lib-developers__card-text,.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-developers__route:hover .openms-lib-developers__card-body,.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-developers__route:hover .openms-lib-developers__card-link,.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-developers__route:hover .openms-lib-developers__card-tag,.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-developers__route:focus-visible .openms-lib-developers__card-title,.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-developers__route:focus-visible .openms-lib-developers__card-title span,.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-developers__route:focus-visible .openms-lib-developers__card-text,.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-developers__route:focus-visible .openms-lib-developers__card-body,.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-developers__route:focus-visible .openms-lib-developers__card-link,.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-developers__route:focus-visible .openms-lib-developers__card-tag{color:#fff!important}.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-developers__route:hover .openms-lib-developers__route-icon,.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-developers__route:hover .openms-lib-developers__route-icon .fab,.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-developers__route:hover .openms-lib-developers__route-icon .fas,.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-developers__route:hover .openms-lib-developers__route-icon .svg-inline--fa,.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-developers__route:focus-visible .openms-lib-developers__route-icon,.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-developers__route:focus-visible .openms-lib-developers__route-icon .fab,.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-pro) .openms-lib-developers__route:focus-visible .openms-lib-developers__route-icon .fas,.openms-lib-page--pyopenms-pro:not(.openms-lib-page--pyopenms-viz-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: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-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,.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 ){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) .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__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-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}@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{display:block;width:auto;height:auto;margin:0 0 .2rem;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--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-blue)}@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:center;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-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:center;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-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-resources__explore-tag{display:none!important}@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{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{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-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:2.75rem;height:2.75rem;padding:var(--openms-btn-padding);font-size:var(--openms-text-min);font-weight:600;line-height:1;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,.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{min-height:2.75rem;height:2.75rem;padding:.55rem .85rem;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__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 1 calc(50% - .25rem)}}