:root{color-scheme:dark;--bg:#0d0f1a;--surface:#161a2b;--surface-raised:#20253a;--border:#2c3250;--text:#f2f0ea;--text-secondary:#a9aec4;--accent:#f5c451;--link:#f5c451;--on-accent:#151826;--button-bg:#f5c451;--button-text:#151826;--nebula:#8b7cf6;--success:#4cc38a;--error:#f07167;--mark-benji:#ff7a59;--mark-stared:#3fd0e0;--star:#f2f0ea;--font-heading:"Bricolage Grotesque", "Segoe UI", system-ui, sans-serif;--font-body:"Figtree", "Segoe UI", system-ui, -apple-system, Roboto, sans-serif;--text-body:1rem;--text-small:.875rem;--h1:2.25rem;--h2:1.75rem;--h3:1.25rem;--leading:1.6;--gutter:16px;--max-width:1200px;--radius:16px;--radius-small:10px;--tap:44px;--button-height:52px;--header-height:64px;--ease:cubic-bezier(.16, 1, .3, 1);--spring:linear(0, .12 4%, .45 11%, .79 18%, .98 25%, 1.05 31%, 1.06 37%, 1.03 47%, 1 60%, .995 75%, 1)}@media (width>=600px){:root{--gutter:24px}}@media (width>=960px){:root{--h1:3.5rem;--h2:2.25rem}}@supports (color:red){:root[data-theme=light]{--bg:#faf8f3;--surface:#fff;--surface-raised:#f1eee6;--border:#e2ded3;--text:#151826;--text-secondary:#565b70;--accent:#8a5f00;--link:#8a5f00;--on-accent:#faf8f3;--button-bg:#151826;--button-text:#faf8f3;--nebula:#6a55e0;--success:#1f8a57;--error:#c2352b;--mark-benji:#c4472a;--mark-stared:#0f7d8a;--star:#151826}}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/bricolage-grotesque-latin-wght.woff2)format("woff2-variations");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:Figtree;font-style:normal;font-display:swap;font-weight:300 900;src:url(/fonts/figtree-latin-wght.woff2)format("woff2-variations");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:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/eb-garamond-latin-400.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/inter-latin-wght.woff2)format("woff2-variations");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:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/fonts/dm-sans-latin-wght.woff2)format("woff2-variations");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:Roboto Mono;font-style:normal;font-display:swap;font-weight:100 700;src:url(/fonts/roboto-mono-latin-wght.woff2)format("woff2-variations");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}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-height) + 16px)}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:var(--text-body);line-height:var(--leading);-webkit-tap-highlight-color:transparent;flex-direction:column;min-height:100dvh;margin:0;display:flex}main{flex:1}h1,h2,h3{font-family:var(--font-heading);letter-spacing:-.01em;text-wrap:balance;margin:0 0 .5em;line-height:1.15}h1{font-size:var(--h1);font-weight:700}h2{font-size:var(--h2);font-weight:700}h3{font-size:var(--h3);font-weight:600}p{text-wrap:pretty;margin:0 0 1em}img,svg,video{max-width:100%;height:auto;display:block}a{color:var(--link);text-underline-offset:.15em}a:hover{text-decoration-thickness:2px}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.container{width:100%;max-width:calc(var(--max-width) + var(--gutter) * 2);padding-inline:var(--gutter);margin-inline:auto}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{left:var(--gutter);z-index:100;background:var(--button-bg);color:var(--button-text);border-radius:var(--radius-small);padding:12px 16px;font-weight:600;text-decoration:none;position:absolute;top:-100px}.skip-link:focus{top:8px}.section{padding-block:56px}@media (width>=960px){.section{padding-block:88px}}.section-intro{max-width:640px;margin-bottom:32px}.section-intro p{color:var(--text-secondary);margin:0}.muted{color:var(--text-secondary)}.small{font-size:var(--text-small)}.placeholder-note{border:1px dashed var(--nebula);color:var(--text);background:color-mix(in srgb, var(--nebula) 12%, transparent);border-radius:var(--radius-small);font-size:var(--text-small);padding:6px 10px;font-weight:600;display:inline-block}.button{min-height:var(--button-height);cursor:pointer;transition:transform .12s var(--ease), background-color .15s, border-color .15s;border:2px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 24px;font-weight:600;text-decoration:none;display:inline-flex}.button:active{transform:scale(.97)}.button-primary{background:var(--button-bg);color:var(--button-text)}.button-primary:hover{filter:brightness(1.06);text-decoration:none}.button-secondary{color:var(--text);border-color:var(--border);background:0 0}.button-secondary:hover{border-color:var(--text-secondary);text-decoration:none}.button[aria-disabled=true],.button:disabled{cursor:not-allowed;opacity:.6;transform:none}.button-row{flex-direction:column;gap:12px;display:flex}@media (width>=600px){.button-row{flex-flow:wrap;align-items:center}}@media (width<=599px){.button-row .button{width:100%}}.badge{min-height:24px;font-size:var(--text-small);border:1px solid;border-radius:999px;align-items:center;padding:0 10px;font-weight:600;line-height:1;display:inline-flex}.badge-beta{color:var(--nebula)}.badge-live{color:var(--success)}.badge-new{color:var(--accent)}.badge-coming-soon{color:var(--text-secondary)}.card-grid{grid-template-columns:1fr;gap:16px;margin:0;padding:0;list-style:none;display:grid}@media (width>=600px){.card-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=960px){.card-grid{grid-template-columns:repeat(3,1fr);gap:24px}}.reveal-ready .reveal{opacity:0;transform:translateY(8px)}.reveal-ready .reveal.is-visible{opacity:1;transition:opacity .2s var(--ease), transform .2s var(--ease);transform:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.button:active{transform:none}}.page-head{padding-block:40px 8px}@media (width>=960px){.page-head{padding-block:72px 16px}}.page-head p{color:var(--text-secondary);max-width:640px;font-size:1.125rem}.prose{max-width:720px}.prose h2{font-size:var(--h3);margin-top:2em}.prose h3{font-size:1.0625rem;font-family:var(--font-body);margin-top:1.5em;font-weight:600}.prose ul,.prose ol{margin:0 0 1em;padding-left:1.25em}.prose li{margin-bottom:.4em}.prose a{font-weight:500}.prose table{border-collapse:collapse;width:100%;font-size:var(--text-small);margin:0 0 1.5em;display:block;overflow-x:auto}.prose th,.prose td{text-align:left;vertical-align:top;border-bottom:1px solid var(--border);padding:10px 12px 10px 0}.prose th{color:var(--text-secondary);font-weight:600}.prose code{word-break:break-all;font-size:.9em}.email-link{word-break:break-word;font-weight:600}.sky-spot{pointer-events:none;position:absolute}.hero>.sky-spot{height:52%;bottom:0;left:0;right:0}@media (width>=960px){.hero>.sky-spot{top:10%;bottom:auto;left:auto;right:calc(max(0px, (100% - var(--max-width)) / 2) + 210px);width:360px;height:80%}}.section>.container>.sky-spot,.apps-page .sky-spot{width:min(100%,720px);height:360px;position:absolute;top:0;right:0}.apps-page,.sky-spot-host{position:relative}.sky-spot-host>.sky-spot{inset:0}.sky{view-transition-name:sky}::view-transition-old(sky){display:none}::view-transition-new(sky){animation:none}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation-duration:.36s;animation-timing-function:cubic-bezier(.16,1,.3,1)}@media (prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}.button{transition:transform .26s var(--spring), background-color .15s, border-color .15s}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*),[data-astro-transition-scope]{animation:none!important}}html{background:var(--bg)}body{background:0 0}.sky{z-index:-1;pointer-events:none;background:radial-gradient(70% 55% at 78% 18%, #8b7cf61a, transparent 70%), radial-gradient(55% 45% at 12% 85%, #f5c4510d, transparent 70%), radial-gradient(120% 90% at 50% 0%, #121633 0%, var(--bg) 60%);position:fixed;inset:0;overflow:hidden}.sky>*{position:absolute;inset:0}.stars{background-repeat:repeat}.stars-far{opacity:.35;background-image:radial-gradient(1px 1px at 20px 30px,#f2f0ea 50%,#0000 51%),radial-gradient(1px 1px at 140px 90px,#f2f0ea 50%,#0000 51%),radial-gradient(1px 1px at 230px 180px,#c9c3ff 50%,#0000 51%),radial-gradient(1px 1px at 80px 210px,#f2f0ea 50%,#0000 51%),radial-gradient(1px 1px at 270px 40px,#f2f0ea 50%,#0000 51%);background-size:300px 260px}.stars-mid{opacity:.45;background-image:radial-gradient(1.5px 1.5px at 60px 120px,#f2f0ea 50%,#0000 51%),radial-gradient(1.5px 1.5px at 330px 60px,#f5c451 50%,#0000 51%),radial-gradient(1.5px 1.5px at 210px 300px,#f2f0ea 50%,#0000 51%),radial-gradient(1.5px 1.5px at 400px 240px,#f2f0ea 50%,#0000 51%);background-size:460px 380px}.stars-near{opacity:.6;background-image:radial-gradient(2px 2px at 110px 70px,#f2f0ea 50%,#0000 51%),radial-gradient(2px 2px at 520px 330px,#f2f0ea 50%,#0000 51%),radial-gradient(2.5px 2.5px at 380px 150px,#f5c451 50%,#0000 51%);background-size:640px 520px}.sky-tint{opacity:0;background:radial-gradient(80% 70% at 75% 25%, color-mix(in srgb, var(--sky-tint,#8b7cf6) 22%, transparent), transparent 75%);transition:opacity 1.2s cubic-bezier(.16,1,.3,1)}html[data-sky-tinted] .sky-tint{opacity:1}.sky-host canvas{opacity:0;width:100%;height:100%;transition:opacity .9s cubic-bezier(.16,1,.3,1);display:block}html[data-sky-live] .sky-host canvas{opacity:1}.sky-still .stars{transition:opacity .9s}html[data-sky-live]:not([data-sky-page=flat]) .sky-still .stars{opacity:0}html[data-sky-page=flat] .sky-host,html[data-level=still] .sky-host{visibility:hidden}.sky-glow{opacity:0;background:radial-gradient(260px 260px at var(--gx,50%) var(--gy,50%), #f5c45117, transparent 70%);transition:opacity .4s}html[data-glow] .sky-glow{opacity:1}.logo[data-astro-cid-qisgtjgl]{line-height:0;display:inline-flex}.logo[data-astro-cid-qisgtjgl] .logo-svg{height:var(--logo-h,26px);width:auto;display:block}.logo-stacked[data-astro-cid-qisgtjgl]{--logo-h:120px}.site-header[data-astro-cid-fzpbxy5g]{z-index:50;background:color-mix(in srgb, var(--bg) 82%, transparent);view-transition-name:site-header;-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--border);position:sticky;top:0}.bar[data-astro-cid-fzpbxy5g]{height:var(--header-height);justify-content:space-between;align-items:center;display:flex}.home[data-astro-cid-fzpbxy5g]{color:var(--text);min-height:var(--tap);align-items:center;text-decoration:none;display:inline-flex}ul[data-astro-cid-fzpbxy5g]{margin:0;padding:0;list-style:none}.bar-end[data-astro-cid-fzpbxy5g]{align-items:center;gap:4px;display:flex}.motion-toggle[data-astro-cid-fzpbxy5g]{color:var(--text-secondary);display:none}html[data-level]:not([data-sky-page=flat]) .motion-toggle[data-astro-cid-fzpbxy5g]{display:inline-flex}.motion-toggle[data-astro-cid-fzpbxy5g] .icon-play[data-astro-cid-fzpbxy5g],.motion-toggle[data-astro-cid-fzpbxy5g][aria-pressed=true] .icon-pause[data-astro-cid-fzpbxy5g]{display:none}.motion-toggle[data-astro-cid-fzpbxy5g][aria-pressed=true] .icon-play[data-astro-cid-fzpbxy5g]{display:block}.desktop-nav[data-astro-cid-fzpbxy5g]{display:none}.desktop-nav[data-astro-cid-fzpbxy5g] ul[data-astro-cid-fzpbxy5g]{gap:8px;display:flex}.desktop-nav[data-astro-cid-fzpbxy5g] a[data-astro-cid-fzpbxy5g],.mobile-apps[data-astro-cid-fzpbxy5g]{min-height:var(--tap);color:var(--text);border-radius:999px;align-items:center;padding:0 14px;font-weight:500;text-decoration:none;display:inline-flex}.desktop-nav[data-astro-cid-fzpbxy5g] a[data-astro-cid-fzpbxy5g]:hover,.mobile-apps[data-astro-cid-fzpbxy5g]:hover{background:var(--surface-raised)}[data-astro-cid-fzpbxy5g][aria-current=page]{color:var(--link);text-underline-offset:.4em;text-decoration:underline 2px}.mobile-actions[data-astro-cid-fzpbxy5g]{align-items:center;gap:4px;display:flex}.menu-button[data-astro-cid-fzpbxy5g]{width:var(--tap);height:var(--tap);color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.menu-button[data-astro-cid-fzpbxy5g]:hover{background:var(--surface-raised)}@media (width>=720px){.desktop-nav[data-astro-cid-fzpbxy5g]{display:block}.mobile-actions[data-astro-cid-fzpbxy5g]{display:none}}.menu-sheet[data-astro-cid-fzpbxy5g]{border:0;border-left:1px solid var(--border);width:min(100%,420px);max-width:100%;height:100%;max-height:100%;padding:0 var(--gutter) 24px;background:var(--bg);color:var(--text);margin:0 0 0 auto}.menu-sheet[data-astro-cid-fzpbxy5g]::backdrop{background:#00000080}.sheet-top[data-astro-cid-fzpbxy5g]{height:var(--header-height);justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.menu-sheet[data-astro-cid-fzpbxy5g] a[data-astro-cid-fzpbxy5g]{min-height:56px;font-family:var(--font-heading);color:var(--text);border-bottom:1px solid var(--border);align-items:center;font-size:1.5rem;font-weight:600;text-decoration:none;display:flex}.menu-sheet[data-astro-cid-fzpbxy5g] [data-astro-cid-fzpbxy5g][aria-current=page]{color:var(--link)}.site-footer[data-astro-cid-nns7i3if]{border-top:1px solid var(--border);background:var(--surface);margin-top:0;padding-block:48px 32px}.columns[data-astro-cid-nns7i3if]{grid-template-columns:1fr 1fr;gap:32px;display:grid}.brand[data-astro-cid-nns7i3if]{grid-column:1/-1}@media (width>=720px){.columns[data-astro-cid-nns7i3if]{grid-template-columns:2fr 1fr 1fr 1fr}.brand[data-astro-cid-nns7i3if]{grid-column:auto;max-width:300px}}.home[data-astro-cid-nns7i3if]{color:var(--text);min-height:var(--tap);align-items:center;text-decoration:none;display:inline-flex}.home[data-astro-cid-nns7i3if] .footer-logo{--logo-h:32px}.brand[data-astro-cid-nns7i3if] p[data-astro-cid-nns7i3if]{margin-top:8px}h2[data-astro-cid-nns7i3if]{font-family:var(--font-body);font-size:var(--text-small);letter-spacing:.02em;color:var(--text-secondary);margin-bottom:8px;font-weight:600}ul[data-astro-cid-nns7i3if]{margin:0;padding:0;list-style:none}li[data-astro-cid-nns7i3if] a[data-astro-cid-nns7i3if]{min-height:var(--tap);color:var(--text);align-items:center;text-decoration:none;display:inline-flex}li[data-astro-cid-nns7i3if] a[data-astro-cid-nns7i3if]:hover{text-decoration:underline}.copyright[data-astro-cid-nns7i3if]{border-top:1px solid var(--border);margin:32px 0 0;padding-top:24px}
