[data-md-color-scheme="custom-light"]{--grain-filter:invert(1) brightness(1);--hover-button-color:var(--grey-800)}[data-md-color-scheme="custom-dark"]{--grain-filter:brightness(1);--hover-button-color:var(--grey-200)}.md-typeset a{text-decoration:none}.md-main__inner.md-grid{max-width:unset;display:block;margin-top:0}.md-grid.column{gap:64px;margin-top:64px;margin-bottom:64px}.hero-section{position:relative;height:500px;display:flex;align-items:center;justify-content:center}.grain-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;filter:var(--grain-filter)}.hero-content{text-align:center;padding-left:1.5rem;padding-right:1.5rem;max-width:64rem;margin-left:auto;margin-right:auto;position:relative;z-index:1}.hero-content h1{font-family:var(--header-font-family);font-size:var(--text-6xl);letter-spacing:-.015em;margin-bottom:1.5rem;color:var(--color-text-primary)}@media(min-width:768px){.hero-content h1{font-size:var(--text-7xl)}}@media(min-width:1024px){.hero-content h1{font-size:var(--text-8xl)}}.hero-content p.tagline{font-weight:300;font-size:var(--text-xl);margin-bottom:3rem;color:var(--color-text-secondary)}@media(min-width:768px){.hero-content p.tagline{font-size:var(--text-2xl)}}@media(min-width:1024px){.hero-content p.tagline{font-size:var(--text-3xl)}}.button-wrapper{display:flex;justify-content:center;gap:32px;white-space:nowrap}.button-wrapper a{flex:1;max-width:259px;min-width:259px}.md-typeset .md-button{width:100%;justify-content:center}.md-typeset .md-button .twemoji{flex:0 0 auto}.button-wrapper .md-button:hover{background-color:var(--hover-button-color)}.hero-section.front{flex-direction:column;align-items:stretch;height:auto;overflow:hidden}.md-typeset .front__name{position:relative;z-index:1;margin:0;padding-top:var(--py-8);font-family:var(--header-font-family);font-size:var(--text-2xl);font-weight:400;text-align:center;color:var(--color-text-secondary)}.front__panels{position:relative;z-index:1;display:flex;flex:1;flex-direction:column}.front-panel{position:relative;isolation:isolate;display:flex;align-items:center;min-width:0;padding:var(--py-10) var(--py-6);overflow:hidden}.front-panel+.front-panel{border-top:1px solid var(--color-border-strong)}.front-panel__art{position:absolute;z-index:-1;top:var(--py-4);right:calc(var(--py-6) * -1);width:180px;color:var(--color-text-primary);opacity:.2}.front-panel__svg{display:block;width:100%;height:auto}.front-panel__svg path,.front-panel__svg circle{fill:var(--color-bg);vector-effect:non-scaling-stroke}.front-panel__body{width:100%}.md-typeset .front-panel__title{margin:0;font-family:var(--header-font-family);font-size:var(--text-6xl);font-weight:400;line-height:1.1;letter-spacing:-.015em}.md-typeset .front-panel__title a{color:var(--color-text-primary)}.front-panel__title a::after{content:"";position:absolute;inset:0}.front-panel__title a:focus-visible{outline:0}.front-panel__title a:focus-visible::after{outline:2px solid var(--color-text-primary);outline-offset:-6px}.md-typeset .front-panel__lead{max-width:400px;margin:var(--py-3) 0 0;font-size:var(--text-lg);font-weight:300;color:var(--color-text-secondary)}.front-panel__reveal{display:grid;grid-template-rows:1fr}.md-typeset ul.front-panel__list{position:relative;z-index:1;width:100%;max-width:420px;min-height:0;margin:0;padding:var(--py-6) 0 0;list-style:none;overflow:hidden}.md-typeset ul.front-panel__list li{margin:0;border-top:1px solid var(--color-border)}.md-typeset .front-panel__list a{display:grid;grid-template-columns:150px 1fr 20px;gap:var(--py-3);align-items:baseline;padding:var(--py-2) 0;font-size:var(--text-sm);color:var(--color-text-primary)}.front-panel__text{color:var(--color-text-secondary)}.md-typeset .front-panel__list .twemoji{align-self:center;opacity:0;transform:translateX(-6px);transition:opacity .2s ease,transform .2s ease}.md-typeset .front-panel__list a:hover .twemoji,.md-typeset .front-panel__list a:focus-visible .twemoji{opacity:1;transform:none}@media screen and (max-width:480px){.md-typeset .front-panel__list a{grid-template-columns:1fr 20px;gap:0 var(--py-3)}.front-panel__text{grid-row:2}.md-typeset .front-panel__list .twemoji{grid-row:1 / 3;grid-column:2}}@media(hover:hover) and (min-width:960px){.md-main:has(.front){padding-bottom:0}.hero-section.front{min-height:max(620px,calc(100vh - 65px))}.front__panels{flex-direction:row}.front-panel{--ease:cubic-bezier(0.2,0.7,0.2,1);flex:1 1 0;padding:var(--py-8) clamp(40px,6vw,96px) calc(var(--py-8) + 4rem);transition:flex-grow .5s var(--ease)}.front-panel+.front-panel{border-top:0;border-left:1px solid var(--color-border-strong)}.front-panel__art{top:auto;right:-32px;bottom:2rem;width:clamp(240px,26vw,420px);opacity:.16;transition:opacity .5s ease}.front-panel__moving{transform-box:view-box;transform-origin:center;transition:transform .9s var(--ease)}.front-panel__body{transition:opacity .3s ease}.md-typeset .front-panel__title{font-size:var(--text-8xl)}.md-typeset .front-panel__lead{font-size:var(--text-xl)}.front-panel__reveal{grid-template-rows:0fr;opacity:0;visibility:hidden;transition:grid-template-rows .5s var(--ease),opacity .3s ease,visibility 0s linear .3s}.md-typeset .front-panel__list li{opacity:0;transform:translateY(6px);transition:opacity .3s ease,transform .3s ease}.front-panel:hover,.front-panel:focus-within{flex-grow:1.4}.front-panel:hover .front-panel__art,.front-panel:focus-within .front-panel__art{opacity:.5}.front-panel:hover .front-panel__reveal,.front-panel:focus-within .front-panel__reveal{grid-template-rows:1fr;opacity:1;visibility:visible;transition-delay:0s}.front-panel:hover .front-panel__list li,.front-panel:focus-within .front-panel__list li{opacity:1;transform:none;transition-delay:calc(0.12s + var(--i) * 40ms)}.front-panel:hover .front-panel__art path.front-panel__moving,.front-panel:focus-within .front-panel__art path.front-panel__moving{transform:translate(240px,214px)}.front-panel:hover .front-panel__art g.front-panel__moving,.front-panel:focus-within .front-panel__art g.front-panel__moving{transform:rotate(30deg)}.front__panels:has(.front-panel:hover) .front-panel:not(:hover) .front-panel__body,.front__panels:has(.front-panel:focus-within) .front-panel:not(:focus-within,:hover) .front-panel__body{opacity:.45}}@media(prefers-reduced-motion:reduce){.front-panel,.front-panel__art,.front-panel__moving,.front-panel__body,.front-panel__reveal,.md-typeset .front-panel__list li,.md-typeset .front-panel__list .twemoji{transition:none !important}.front-panel:hover,.front-panel:focus-within{flex-grow:1}}.feature-section{gap:32px}.md-typeset .feature-section h2{margin:0;font-family:var(--header-font-family);text-align:center;color:var(--color-text-primary)}.featured-content{gap:24px;padding:0 32px}.title-row{align-items:center;justify-content:space-between}.card{flex:1;min-width:0;background-color:var(--color-surface);padding:var(--py-8);border-radius:var(--rounded-xl);gap:12px;width:33%}.md-typeset a.card{display:flex;color:var(--color-text-primary);transition:transform .2s ease}.md-typeset a.card:hover{transform:translateY(-2px)}.md-typeset .card h3{margin:0;font-family:var(--header-font-family);font-size:var(--text-xl);line-height:1.3;color:var(--color-text-primary)}.md-typeset .card p{margin:0;font-size:var(--text-base);line-height:1.6;color:var(--color-text-secondary)}.md-typeset .card a{display:flex;gap:var(--py-2);align-items:flex-start;justify-content:space-between}.md-typeset .card a .twemoji{min-width:20px;flex-shrink:0;align-self:flex-start;margin-top:4px}@media screen and (max-width:1024px){.featured-content{gap:12px;padding:0 16px;flex-wrap:wrap}.card{width:33%;flex:1 1 33%}}@media screen and (max-width:768px){.featured-content.row{flex-direction:column}.card{width:100%}}@media screen and (max-width:640px){.hero-content{padding-left:1rem;padding-right:1rem}.hero-content h1{font-size:var(--text-5xl)}.button-wrapper{flex-direction:column;align-items:center;gap:12px}}@media screen and (max-width:420px){.hero-content h1{font-size:42px}.hero-content p.tagline{font-size:var(--text-lg)}}