.primitives:where(.astro-k7s5rhdy){border-top:1px solid var(--color-charcoal-grey);padding-block:clamp(3rem,6vw,5rem)}:root[data-theme=light] .primitives:where(.astro-k7s5rhdy){border-top-color:var(--sl-color-gray-5)}.primitives__inner:where(.astro-k7s5rhdy){max-width:72rem;margin-inline:auto;padding-inline:clamp(1rem,4vw,2rem)}.primitives__head:where(.astro-k7s5rhdy){margin-bottom:2.25rem;max-width:48rem}.primitives__eyebrow:where(.astro-k7s5rhdy){margin:0 0 .5rem;font-family:var(--sl-font);font-size:.6875rem;text-transform:uppercase;letter-spacing:.18em;color:var(--color-storm-cloud);font-weight:510}.primitives__title:where(.astro-k7s5rhdy){margin:0;font-family:var(--sl-font);font-size:clamp(1.5rem,3vw,2.125rem);line-height:1.18;letter-spacing:-.02em;color:var(--color-porcelain);font-weight:590;border:0}:root[data-theme=light] .primitives__title:where(.astro-k7s5rhdy){color:var(--color-pitch-black)}.primitives__grid:where(.astro-k7s5rhdy){display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));grid-template-rows:auto 1fr;grid-auto-rows:auto 1fr;gap:1px;background:var(--color-charcoal-grey);border:1px solid var(--color-charcoal-grey);border-radius:6px;overflow:hidden}:root[data-theme=light] .primitives__grid:where(.astro-k7s5rhdy){background:var(--sl-color-gray-5);border-color:var(--sl-color-gray-5)}.card:where(.astro-k7s5rhdy){background:var(--color-graphite);padding:1.5rem 1.5rem 1.625rem;min-width:0;display:grid;grid-template-rows:subgrid;grid-row:span 2}:root[data-theme=light] .card:where(.astro-k7s5rhdy){background:#fff}.card__top:where(.astro-k7s5rhdy){display:flex;flex-direction:column;gap:.75rem;padding-bottom:.75rem;min-width:0}.card__body:where(.astro-k7s5rhdy){display:flex;flex-direction:column;min-height:0;min-width:0}@supports not (grid-template-rows: subgrid){.primitives__grid:where(.astro-k7s5rhdy){grid-template-rows:none;grid-auto-rows:auto}.card:where(.astro-k7s5rhdy){display:flex;flex-direction:column;grid-row:auto}.card__top:where(.astro-k7s5rhdy){flex:0 0 auto}.card__body:where(.astro-k7s5rhdy){flex:1 1 auto}}.card__head:where(.astro-k7s5rhdy){display:flex;align-items:baseline;gap:.625rem}.card__index:where(.astro-k7s5rhdy){font-family:var(--sl-font-mono);font-size:.6875rem;color:var(--color-fog-grey);letter-spacing:.04em;font-variant-numeric:tabular-nums}.card__name:where(.astro-k7s5rhdy){font-family:var(--sl-font-mono);font-size:.875rem;color:var(--color-aether-blue);background:transparent;border:0;padding:0;letter-spacing:-.005em;font-weight:400}:root[data-theme=light] .card__name:where(.astro-k7s5rhdy){color:var(--sl-color-accent)}.card__title:where(.astro-k7s5rhdy){margin:0;font-family:var(--sl-font);font-size:1.0625rem;font-weight:590;letter-spacing:-.013em;color:var(--color-porcelain);border:0;line-height:1.3}:root[data-theme=light] .card__title:where(.astro-k7s5rhdy){color:var(--color-pitch-black)}.card__blurb:where(.astro-k7s5rhdy){margin:0;font-size:.875rem;line-height:1.5;color:var(--color-light-steel);letter-spacing:-.011em}:root[data-theme=light] .card__blurb:where(.astro-k7s5rhdy){color:var(--sl-color-gray-2)}.card__code:where(.astro-k7s5rhdy){margin:0;flex:1 1 auto;min-width:0;min-height:0;width:100%;box-sizing:border-box;padding:.875rem 1rem;background:var(--color-pitch-black);border:1px solid var(--color-charcoal-grey);border-radius:6px;overflow:auto;-webkit-overflow-scrolling:touch;font-family:var(--sl-font-mono);font-size:.78rem;line-height:1.6;color:var(--color-light-steel);letter-spacing:-.005em}:root[data-theme=light] .card__code:where(.astro-k7s5rhdy){background:var(--sl-color-bg-inline-code);border-color:var(--sl-color-gray-5);color:var(--sl-color-gray-2)}.card__code:where(.astro-k7s5rhdy) code:where(.astro-k7s5rhdy){display:block;min-width:min-content;background:transparent;padding:0;border:0;border-radius:0;color:inherit}.compare:where(.astro-hekqsug4){border-top:1px solid var(--color-charcoal-grey);padding-block:clamp(3rem,6vw,5rem)}:root[data-theme=light] .compare:where(.astro-hekqsug4){border-top-color:var(--sl-color-gray-5)}.compare__inner:where(.astro-hekqsug4){max-width:72rem;margin-inline:auto;padding-inline:clamp(1rem,4vw,2rem)}.compare__head:where(.astro-hekqsug4){max-width:48rem;margin-bottom:2.25rem}.compare__eyebrow:where(.astro-hekqsug4){margin:0 0 .5rem;font-family:var(--sl-font);font-size:.6875rem;text-transform:uppercase;letter-spacing:.18em;color:var(--color-storm-cloud);font-weight:510}.compare__title:where(.astro-hekqsug4){margin:0 0 .625rem;font-family:var(--sl-font);font-size:clamp(1.5rem,3vw,2.125rem);line-height:1.18;letter-spacing:-.02em;color:var(--color-porcelain);font-weight:590;border:0}:root[data-theme=light] .compare__title:where(.astro-hekqsug4){color:var(--color-pitch-black)}.compare__sub:where(.astro-hekqsug4){margin:0;color:var(--color-light-steel);font-size:.9375rem;line-height:1.55;max-width:38rem;letter-spacing:-.012em}:root[data-theme=light] .compare__sub:where(.astro-hekqsug4){color:var(--sl-color-gray-2)}.compare__grid:where(.astro-hekqsug4){display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:900px){.compare__grid:where(.astro-hekqsug4){grid-template-columns:1fr 1fr;gap:1.25rem;align-items:start}}.panel:where(.astro-hekqsug4){margin:0;border:1px solid var(--color-charcoal-grey);border-radius:6px;overflow:hidden;background:var(--color-graphite);box-shadow:var(--shadow-card)}:root[data-theme=light] .panel:where(.astro-hekqsug4){border-color:var(--sl-color-gray-5);background:var(--sl-color-bg-inline-code)}.panel--after:where(.astro-hekqsug4){background:var(--color-deep-slate);position:relative}:root[data-theme=light] .panel--after:where(.astro-hekqsug4){background:#fff}.panel--after:where(.astro-hekqsug4):before{content:"";position:absolute;inset:0 0 auto;height:1px;background:var(--color-aether-blue);opacity:.95;z-index:1}.panel__head:where(.astro-hekqsug4){display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.625rem .95rem;border-bottom:1px solid var(--color-charcoal-grey);font-family:var(--sl-font-mono);font-size:.6875rem;text-transform:uppercase;letter-spacing:.14em;color:var(--color-fog-grey)}:root[data-theme=light] .panel__head:where(.astro-hekqsug4){border-bottom-color:var(--sl-color-gray-5)}.panel__tag:where(.astro-hekqsug4){display:inline-flex;align-items:center;gap:.5rem}.panel__tag--accent:where(.astro-hekqsug4){color:var(--color-porcelain);font-weight:510;letter-spacing:.06em}:root[data-theme=light] .panel__tag--accent:where(.astro-hekqsug4){color:var(--color-pitch-black)}.panel__tag-dot:where(.astro-hekqsug4){width:.375rem;height:.375rem;border-radius:999px;background:var(--color-aether-blue);box-shadow:0 0 8px color-mix(in oklch,var(--color-aether-blue) 50%,transparent)}.panel__count:where(.astro-hekqsug4){color:var(--color-fog-grey);font-variant-numeric:tabular-nums}.panel__code:where(.astro-hekqsug4){margin:0;padding:1rem 1.125rem 1.25rem;background:transparent;font-family:var(--sl-font-mono);font-size:.78rem;line-height:1.6;color:var(--color-light-steel);overflow-x:auto;border:0;border-radius:0;letter-spacing:-.005em}:root[data-theme=light] .panel__code:where(.astro-hekqsug4){color:var(--sl-color-gray-2)}.panel__code:where(.astro-hekqsug4) code:where(.astro-hekqsug4){background:transparent;padding:0;color:inherit}.panel--after:where(.astro-hekqsug4) .panel__code:where(.astro-hekqsug4){color:var(--color-porcelain)}:root[data-theme=light] .panel--after:where(.astro-hekqsug4) .panel__code:where(.astro-hekqsug4){color:var(--color-pitch-black)}.frameworks:where(.astro-hpeliqly){border-top:1px solid var(--color-charcoal-grey);padding-block:clamp(3rem,6vw,5rem)}:root[data-theme=light] .frameworks:where(.astro-hpeliqly){border-top-color:var(--sl-color-gray-5)}.frameworks__inner:where(.astro-hpeliqly){max-width:72rem;margin-inline:auto;padding-inline:clamp(1rem,4vw,2rem)}.frameworks__head:where(.astro-hpeliqly){max-width:48rem;margin-bottom:2.25rem}.frameworks__eyebrow:where(.astro-hpeliqly){margin:0 0 .5rem;font-family:var(--sl-font);font-size:.6875rem;text-transform:uppercase;letter-spacing:.18em;color:var(--color-storm-cloud);font-weight:510}.frameworks__title:where(.astro-hpeliqly){margin:0;font-family:var(--sl-font);font-size:clamp(1.5rem,3vw,2.125rem);line-height:1.18;letter-spacing:-.02em;color:var(--color-porcelain);font-weight:590;border:0}:root[data-theme=light] .frameworks__title:where(.astro-hpeliqly){color:var(--color-pitch-black)}.block:where(.astro-hpeliqly)+.block:where(.astro-hpeliqly){margin-top:2rem}.block__label:where(.astro-hpeliqly){display:inline-flex;align-items:baseline;gap:.5rem;font-family:var(--sl-font);font-size:.75rem;text-transform:uppercase;letter-spacing:.16em;color:var(--color-storm-cloud);margin:0 0 .875rem;font-weight:510}.block__label-num:where(.astro-hpeliqly){font-family:var(--sl-font-mono);color:var(--color-fog-grey);letter-spacing:.04em;font-variant-numeric:tabular-nums}.grid:where(.astro-hpeliqly){list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,12rem),1fr));gap:1px;background:var(--color-charcoal-grey);border:1px solid var(--color-charcoal-grey);border-radius:6px;overflow:hidden}:root[data-theme=light] .grid:where(.astro-hpeliqly){background:var(--sl-color-gray-5);border-color:var(--sl-color-gray-5)}.chip:where(.astro-hpeliqly){display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.875rem 1rem;background:var(--color-graphite);color:var(--color-porcelain);font-family:var(--sl-font);font-size:.875rem;font-weight:510;letter-spacing:-.011em;text-decoration:none;transition:background var(--sl-transition),color var(--sl-transition)}:root[data-theme=light] .chip:where(.astro-hpeliqly){background:#fff;color:var(--color-pitch-black)}.chip__arrow:where(.astro-hpeliqly){color:var(--color-fog-grey);transition:transform .2s cubic-bezier(.2,.8,.2,1),color var(--sl-transition)}.chip:where(.astro-hpeliqly):hover{background:var(--color-deep-slate);color:var(--color-porcelain)}:root[data-theme=light] .chip:where(.astro-hpeliqly):hover{background:var(--sl-color-gray-6)}.chip:where(.astro-hpeliqly):hover .chip__arrow:where(.astro-hpeliqly){color:var(--color-aether-blue);transform:translate(2px)}:root[data-theme=light] .chip:where(.astro-hpeliqly):hover .chip__arrow:where(.astro-hpeliqly){color:var(--sl-color-accent)}.cta:where(.astro-ml52l7o4){border-top:1px solid var(--color-charcoal-grey);padding-block:clamp(3rem,6vw,5rem) 0}:root[data-theme=light] .cta:where(.astro-ml52l7o4){border-top-color:var(--sl-color-gray-5)}.cta__inner:where(.astro-ml52l7o4){max-width:72rem;margin-inline:auto;padding-inline:clamp(1rem,4vw,2rem);display:grid;gap:2rem;align-items:end}@media(min-width:760px){.cta__inner:where(.astro-ml52l7o4){grid-template-columns:1fr auto}}.cta__eyebrow:where(.astro-ml52l7o4){margin:0 0 .5rem;font-family:var(--sl-font);font-size:.6875rem;text-transform:uppercase;letter-spacing:.18em;color:var(--color-storm-cloud);font-weight:510}.cta__title:where(.astro-ml52l7o4){margin:0;font-family:var(--sl-font);font-size:clamp(1.5rem,3vw,2rem);line-height:1.2;letter-spacing:-.022em;color:var(--color-porcelain);max-width:32ch;font-weight:590;border:0}:root[data-theme=light] .cta__title:where(.astro-ml52l7o4){color:var(--color-pitch-black)}.cta__title:where(.astro-ml52l7o4) code:where(.astro-ml52l7o4){font-family:var(--sl-font-mono);font-size:.85em;background:var(--color-graphite);border:1px solid var(--color-charcoal-grey);border-radius:4px;padding:.05em .35em;color:var(--color-aether-blue);letter-spacing:-.005em}:root[data-theme=light] .cta__title:where(.astro-ml52l7o4) code:where(.astro-ml52l7o4){background:var(--sl-color-bg-inline-code);border-color:var(--sl-color-gray-5);color:var(--sl-color-accent)}.cta__actions:where(.astro-ml52l7o4){display:flex;flex-wrap:wrap;gap:.625rem}.cta__btn:where(.astro-ml52l7o4){display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1rem;font-family:var(--sl-font);font-size:.875rem;font-weight:590;letter-spacing:-.011em;text-decoration:none;border-radius:6px;transition:background var(--sl-transition),border-color var(--sl-transition),color var(--sl-transition)}.cta__btn--primary:where(.astro-ml52l7o4){background:var(--color-aether-blue);color:var(--color-porcelain);border:1px solid var(--color-aether-blue);box-shadow:0 1px #ffffff2e inset,0 6px 24px -8px color-mix(in oklch,var(--color-aether-blue) 40%,transparent)}.cta__btn--primary:where(.astro-ml52l7o4):hover{background:var(--color-aether-blue-soft);border-color:var(--color-aether-blue-soft)}:root[data-theme=light] .cta__btn--primary:where(.astro-ml52l7o4){background:var(--sl-color-accent);border-color:var(--sl-color-accent)}:root[data-theme=light] .cta__btn--primary:where(.astro-ml52l7o4):hover{background:var(--sl-color-accent-high);border-color:var(--sl-color-accent-high)}.cta__btn--ghost:where(.astro-ml52l7o4){background:transparent;color:var(--color-porcelain);border:1px solid var(--color-charcoal-grey)}:root[data-theme=light] .cta__btn--ghost:where(.astro-ml52l7o4){color:var(--color-pitch-black);border-color:var(--sl-color-gray-5)}.cta__btn--ghost:where(.astro-ml52l7o4):hover{background:var(--color-graphite);border-color:var(--color-gunmetal)}:root[data-theme=light] .cta__btn--ghost:where(.astro-ml52l7o4):hover{background:var(--sl-color-gray-6);border-color:var(--sl-color-gray-4)}.foot:where(.astro-ml52l7o4){margin-top:clamp(3rem,6vw,5rem);border-top:1px solid var(--color-charcoal-grey);padding-block:1.25rem;background:var(--color-graphite)}:root[data-theme=light] .foot:where(.astro-ml52l7o4){border-top-color:var(--sl-color-gray-5);background:var(--sl-color-bg-inline-code)}.foot__inner:where(.astro-ml52l7o4){max-width:72rem;margin-inline:auto;padding-inline:clamp(1rem,4vw,2rem);display:flex;flex-wrap:wrap;align-items:center;gap:.625rem;font-family:var(--sl-font);font-size:.8125rem;color:var(--color-storm-cloud);letter-spacing:-.011em}.foot__name:where(.astro-ml52l7o4){font-family:var(--sl-font-mono);color:var(--color-porcelain);font-weight:400}:root[data-theme=light] .foot__name:where(.astro-ml52l7o4){color:var(--color-pitch-black)}.foot__sep:where(.astro-ml52l7o4){color:var(--color-fog-grey)}.foot:where(.astro-ml52l7o4) a:where(.astro-ml52l7o4){color:var(--color-light-steel);text-decoration:none;transition:color var(--sl-transition)}:root[data-theme=light] .foot:where(.astro-ml52l7o4) a:where(.astro-ml52l7o4){color:var(--sl-color-gray-2)}.foot:where(.astro-ml52l7o4) a:where(.astro-ml52l7o4):hover{color:var(--color-aether-blue)}.foot__year:where(.astro-ml52l7o4){margin-left:auto;color:var(--color-fog-grey);font-variant-numeric:tabular-nums}
