@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/a342834df7752944-s.3hd2l7bm32o7k.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/d3fe2f289711ac3f-s.1l2zhvq5eocqf.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/58c4895d0a0ef7cc-s.2vhvl9vrvk-va.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/bfc7db5c00d21bc5-s.p.173xwsdme27n8.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/6ab0db14f70d8ed6-s.13hnt-xgp82zk.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/a343f882a40d2cc9-s.p.1sj6eobyi31rd.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope Fallback;src:local(Arial);ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.0%;size-adjust:103.19%}.manrope_88005cac-module__2uacua__className{font-family:Manrope,Manrope Fallback;font-style:normal}.manrope_88005cac-module__2uacua__variable{--font-new-wave:"Manrope", "Manrope Fallback"}
@font-face{font-family:display;src:url(../media/BarlowCondensed_600SemiBold-s.p.0hgpv6kthmmk1.woff2)format("woff2");font-display:swap;font-weight:600;font-style:normal}@font-face{font-family:display;src:url(../media/BarlowCondensed_700Bold-s.p.0lpi1u9oiyvg5.woff2)format("woff2");font-display:swap;font-weight:700;font-style:normal}@font-face{font-family:display Fallback;src:local(Arial);ascent-override:123.84%;descent-override:24.77%;line-gap-override:0.0%;size-adjust:80.75%}.display_a3277de6-module__5L1C8W__className{font-family:display,display Fallback}.display_a3277de6-module__5L1C8W__variable{--font-after-display:"display", "display Fallback"}
@font-face{font-family:mono;src:url(../media/JetBrainsMono_400Regular-s.p.1_u8wxm4vdkiy.woff2)format("woff2");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:mono;src:url(../media/JetBrainsMono_500Medium-s.p.3j7shk8pycp_w.woff2)format("woff2");font-display:swap;font-weight:500;font-style:normal}@font-face{font-family:mono;src:url(../media/JetBrainsMono_600SemiBold-s.p.0nwp1z3-h-vww.woff2)format("woff2");font-display:swap;font-weight:600;font-style:normal}@font-face{font-family:mono;src:url(../media/JetBrainsMono_700Bold-s.p.3fql049da3x6d.woff2)format("woff2");font-display:swap;font-weight:700;font-style:normal}@font-face{font-family:mono Fallback;src:local(Arial);ascent-override:77.57%;descent-override:22.82%;line-gap-override:0.0%;size-adjust:131.49%}.mono_45d7ca2a-module__xCNMUq__className{font-family:mono,mono Fallback}.mono_45d7ca2a-module__xCNMUq__variable{--font-after-mono:"mono", "mono Fallback"}
.wave-exploration-media{border-radius:var(--wave-project-radius,12px);text-align:left;background:0 0;border:0;width:100%;padding:0;display:block;overflow:hidden}.wave-exploration-media>img{width:100%;height:auto;display:block}.wave-exploration-caption{justify-content:space-between;align-items:flex-start;gap:20px;padding-top:21px;display:flex}.wave-exploration-title{gap:15px;min-width:0;display:flex}.wave-exploration-index{color:var(--wave-muted);font:11px/1.5 var(--font-sans-code), monospace;flex-shrink:0;padding-top:6px}.wave-exploration-title h3{letter-spacing:-.04em;font-size:clamp(20px,1.8vw,26px);font-weight:600;line-height:1.2}.wave-exploration-title p{color:#aeb5a3;margin-top:8px;font-size:13px;line-height:1.5}.wave-exploration-author{color:var(--wave-muted);margin-top:7px;font-size:12px;display:block}.wave-exploration-open{background:0 0;border:1px solid #d8ed8b40;border-radius:50%;flex-shrink:0;place-items:center;width:46px;height:46px;padding:0;transition:background .25s,border-color .25s;display:grid}.wave-exploration-open>svg{width:20px;height:20px;color:var(--wave-accent);transition:transform .45s var(--wave-ease), color .25s}@media (hover:hover){.wave-exploration-media:hover+.wave-exploration-caption .wave-exploration-open,.wave-exploration-open:hover{border-color:var(--wave-accent);background:var(--wave-accent)}.wave-exploration-media:hover+.wave-exploration-caption .wave-exploration-open>svg,.wave-exploration-open:hover>svg{color:#263023;transform:rotate(45deg)}}@media (max-width:700px){.wave-exploration-caption{gap:12px;padding-top:17px}.wave-exploration-title{gap:10px}.wave-exploration-title h3{font-size:20px}.wave-exploration-title p{margin-top:7px;font-size:13px}.wave-exploration-author{font-size:12px}.wave-exploration-index{font-size:10px}.wave-exploration-open{width:44px;height:44px}}@media (prefers-reduced-motion:reduce){.wave-exploration-open,.wave-exploration-open>svg{transition:none}.wave-exploration-open>svg{transform:none!important}}
.wave-oss{padding-block:38px 110px}.wave-oss-heading{border-top:1px solid var(--wave-line);justify-content:space-between;align-items:flex-end;gap:44px;padding-top:34px;display:flex}.wave-oss-heading .wave-kicker{color:var(--wave-muted)}.wave-oss .wave-oss-heading h2{letter-spacing:-.05em;max-width:630px;margin-top:20px;font-size:clamp(32px,3.5vw,50px);font-weight:550;line-height:1.14}.wave-oss-heading>p{color:#a8b09d;max-width:325px;font-size:15px;line-height:1.75}.wave-oss-body{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;margin-top:52px;display:grid}.wave-oss-label{font:10px/1.5 var(--font-sans-code), monospace;letter-spacing:.05em;color:#a8b59a;justify-content:space-between;align-items:center;gap:14px;min-height:34px;padding-bottom:15px;display:flex}.wave-oss-label>span:last-child{color:#6f7b62}.wave-oss-person{border-top:1px solid var(--wave-line);align-items:center;gap:12px;padding:19px 0 22px;display:flex}.wave-oss-person>img{border-radius:12px;width:48px;height:48px}.wave-oss-person>span{flex-direction:column;gap:5px;display:flex}.wave-oss-person strong{font-size:18px;font-weight:600}.wave-oss-person small{color:#9daa8d;font-size:12px}.wave-oss-person>svg{width:17px;height:17px;color:var(--wave-accent);margin-left:auto}.wave-oss-package{border-top:1px solid var(--wave-line);padding-block:18px;display:block}.wave-oss-package>div{justify-content:space-between;align-items:center;gap:12px;display:flex}.wave-oss-package h3{letter-spacing:-.025em;font-size:20px;font-weight:550}.wave-oss .wave-oss-package p{color:#a8b29a;margin-top:9px;font-size:14px;line-height:1.6}.wave-oss-package>small{color:#8fa276;justify-content:space-between;align-items:center;margin-top:11px;font-size:12px;display:flex}.wave-oss-package>small svg{width:15px;height:15px;transition:transform .3s}.wave-oss-package:hover>small svg{transform:translate(3px,-3px)}.wave-oss-stars{white-space:nowrap;color:#a7b497;font-variant-numeric:tabular-nums;align-items:center;gap:5px;font-size:12px;display:inline-flex}.wave-oss-stars>span{font-size:17px}.wave-oss-libraries{border-top:1px solid var(--wave-line);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.wave-oss-library{border-bottom:1px solid var(--wave-line);min-width:0;padding:18px;position:relative}.wave-oss-library:nth-child(odd){padding-left:0}.wave-oss-library:nth-child(2n){padding-right:0}.wave-oss-library>a{justify-content:space-between;gap:8px;min-height:42px;display:flex}.wave-oss-library h3{letter-spacing:-.025em;font-size:19px;font-weight:600;line-height:1.3}.wave-oss-library>a>svg{color:#71875c;flex-shrink:0;width:15px;height:15px;margin-top:4px}.wave-oss-library:hover h3,.wave-oss-package:hover h3{color:var(--wave-accent)}.wave-oss-proof-row{justify-content:space-between;align-items:center;gap:10px;margin-top:18px;display:flex;position:relative}.wave-oss-contributors{align-items:center;padding-left:4px;display:flex}.wave-oss-contributors>a{border-radius:50%;justify-content:center;align-items:center;width:34px;height:44px;margin-left:-4px;display:flex}.wave-oss-contributors img{object-fit:cover;outline:3px solid var(--wave-bg);border-radius:50%;width:30px;height:30px}.wave-oss-library:hover,.wave-oss-library:focus-within{z-index:2}.wave-oss-contributors a:hover img,.wave-oss-contributors a:focus-visible img{outline-color:#526833}.wave-oss-contributors a:focus-visible{outline:1px solid var(--wave-accent);outline-offset:3px}.wave-oss-tooltip{z-index:3;inset-inline:0;color:#c5cbbd;text-align:left;overflow-wrap:anywhere;opacity:0;visibility:hidden;background:#20251d;border:1px solid #48503b;border-radius:12px;flex-direction:column;gap:7px;padding:13px 14px 14px;font-size:12px;line-height:1.5;transition:opacity .18s,transform .22s cubic-bezier(.2,.7,.2,1),visibility .18s;display:flex;position:absolute;bottom:calc(100% + 8px);transform:translateY(5px);box-shadow:0 8px 24px #090c0966}.wave-oss-tooltip:after{content:"";inset-inline:0;height:9px;position:absolute;top:100%}.wave-oss-contributors a[data-tooltip-placement=below] .wave-oss-tooltip{top:calc(100% + 8px);bottom:auto}.wave-oss-contributors a[data-tooltip-placement=below] .wave-oss-tooltip:after{top:auto;bottom:100%}.wave-oss-tooltip strong{color:var(--wave-accent);font-size:12px;font-weight:650}.wave-oss-contributors a:hover:not([data-tooltip-dismissed]) .wave-oss-tooltip,.wave-oss-contributors a:focus-visible:not([data-tooltip-dismissed]) .wave-oss-tooltip{opacity:1;visibility:visible;transform:translateY(0)}.wave-oss-repo{color:#77866a;overflow-wrap:anywhere;margin-top:6px;font-size:10px;line-height:1.5;display:block}.wave-oss .wave-oss-note{color:#8d9b7d;margin-top:20px;font-size:12px;line-height:1.6}@media (max-width:1100px){.wave-oss-body{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.wave-oss-libraries{grid-template-columns:repeat(2,minmax(0,1fr))}.wave-oss-library:nth-child(n){padding:18px 10px}.wave-oss-library:nth-child(odd){padding-left:0}.wave-oss-library:nth-child(2n){padding-right:0}.wave-oss-heading>p{max-width:280px}}@media (max-width:700px){.wave-oss{padding-block:10px 72px}.wave-oss-heading{flex-direction:column;align-items:flex-start;gap:19px}.wave-oss .wave-oss-heading h2{font-size:34px}.wave-oss-heading>p{max-width:350px;font-size:14px}.wave-oss-body{grid-template-columns:1fr;gap:38px;margin-top:32px}.wave-oss-library h3{font-size:18px}.wave-oss-proof-row{flex-wrap:wrap;gap:5px}}@media (prefers-reduced-motion:reduce){.wave-oss-tooltip{transition:none;transform:none}}
.wave-closing{isolation:isolate;position:relative}.wave-closing-art{z-index:-1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.wave-closing-art>img{object-fit:cover;object-position:74% 52%;opacity:.16;-webkit-mask-image:linear-gradient(#0000,#000 30% 72%,#0000);mask-image:linear-gradient(#0000,#000 30% 72%,#0000)}.wave-closing-art:after{content:"";background:linear-gradient(90deg,#111310bf,#0000 72%,#11131040);position:absolute;inset:0}.wave-closing .wave-contact{border-top:1px solid var(--wave-line);padding-top:clamp(76px,7vw,104px);padding-bottom:clamp(88px,8vw,116px)}.wave-contact-content>.wave-kicker{color:#aab2a1;align-items:center;gap:10px;display:flex}.wave-closing .wave-contact-content h2{letter-spacing:-.06em;max-width:1080px;margin-top:30px;font-size:clamp(52px,7.1vw,112px);font-weight:500;line-height:1.08}.wave-contact-content h2>span{color:var(--wave-accent)}.wave-contact-row{justify-content:space-between;align-items:center;gap:48px;margin-top:36px;display:flex}.wave-contact-content .wave-contact-row>p{letter-spacing:-.01em;color:#b2b8aa;text-wrap:pretty;max-width:38ch;margin:0;font-size:16px;font-weight:450;line-height:1.75}.wave-closing .wave-contact-action{background:var(--wave-accent);color:#1d2818;letter-spacing:-.012em;cursor:pointer;border:1px solid #e3efb266;border-radius:40px;flex-shrink:0;justify-content:space-between;align-items:center;gap:26px;min-height:62px;padding:12px 13px 12px 25px;font-size:15px;font-weight:650;line-height:1.3;transition:background .22s,border-color .22s;display:inline-flex}.wave-contact-action-icon{pointer-events:none;background:#26321b0d;border-radius:50%;place-items:center;width:36px;height:36px;display:grid}.wave-contact-action-icon>svg{width:20px;height:20px;transition:transform .35s var(--wave-ease)}@media (hover:hover){.wave-closing .wave-contact-action:hover{background:#e5f2b6;border-color:#e5f2b6}.wave-contact-action:hover svg{transform:translate(2px,-2px)}}.wave-closing .wave-contact-action:active{background:#c6db7b}.wave-closing .wave-footer{border-top:1px solid var(--wave-line);grid-template-columns:1fr 1fr auto;align-items:center;gap:24px;padding-top:30px;padding-bottom:34px;display:grid}.wave-footer .wave-brand{font-size:23px}.wave-footer .wave-brand>svg{width:25px;height:25px}.wave-closing .wave-footer>p{color:#aab2a1;letter-spacing:0;margin:0;font-size:12px;font-weight:450}.wave-footer>a:not(.wave-brand){letter-spacing:0;align-items:center;gap:16px;font-size:12px;font-weight:500;display:flex}.wave-copyright{font:9px/1.5 var(--font-sans-code), monospace;color:#8e9983;letter-spacing:.06em;grid-column:1/-1}@media (max-width:700px){.wave-closing-art>img{object-position:80% center;opacity:.13}.wave-closing .wave-contact{padding-top:58px;padding-bottom:68px}.wave-closing .wave-contact-content h2{letter-spacing:-.045em;margin-top:25px;font-size:clamp(34px,10.4vw,62px);line-height:1.12}.wave-contact-row{flex-direction:column;align-items:flex-start;gap:28px;margin-top:27px}.wave-contact-content .wave-contact-row>p{letter-spacing:0;max-width:36ch;font-size:15px}.wave-closing .wave-contact-action{min-height:58px;padding:10px 11px 10px 22px}.wave-closing .wave-footer{grid-template-columns:1fr auto;gap:22px;padding-block:27px}.wave-closing .wave-footer>p{grid-area:2/1/auto/-1}.wave-copyright{grid-row:3}}@media (prefers-reduced-motion:reduce){.wave-contact-action-icon>svg{transition:none;transform:none}}
