.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}:root{color-scheme:dark;--bg: #030306;--bg-elevated: #0a0a10;--text: rgba(255, 255, 255, .94);--muted: rgba(255, 255, 255, .58);--line: rgba(255, 255, 255, .1);--accent: #5eb8ff;--accent-soft: rgba(94, 184, 255, .12);--btn-primary-bg: #e8e4dc;--btn-primary-fg: #12121a;--btn-primary-border: rgba(255, 255, 255, .14);--font-display: "Instrument Serif", ui-serif, Georgia, serif;--font-sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-smooth: cubic-bezier(.22, 1, .36, 1);--dur-hero: .85s;--dur-reveal: .7s;--dur-focus: .5s}*,*:before,*:after{box-sizing:border-box}html{scrollbar-gutter:stable}html.lenis{scroll-behavior:auto!important}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased}body:after{content:"";position:fixed;inset:0;z-index:5;pointer-events:none;background:#000000d1;opacity:0;transition:opacity var(--dur-focus) var(--ease-out-expo);will-change:opacity}body.focus-hover:after{opacity:1}body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 120% 80% at 50% -30%,rgba(94,184,255,.14),transparent 55%),radial-gradient(ellipse 80% 50% at 100% 50%,rgba(255,80,80,.06),transparent 45%),radial-gradient(ellipse 60% 40% at 0% 80%,rgba(94,184,255,.05),transparent 40%),var(--bg)}.skip-link{position:absolute;left:-9999px;z-index:100;padding:.75rem 1rem;background:var(--bg-elevated);color:var(--text);border-radius:8px;text-decoration:none;font-weight:600}.skip-link:focus{left:1rem;top:1rem}@supports (view-transition-name: none){::view-transition-old(root),::view-transition-new(root){animation-duration:.22s;animation-timing-function:cubic-bezier(.22,1,.36,1)}}.site-header-float{position:sticky;top:.75rem;z-index:50;display:flex;justify-content:center;padding:.75rem clamp(.75rem,3vw,1.25rem) 0;pointer-events:none;transition:opacity var(--dur-focus) var(--ease-smooth)}.site-header-float .site-header{pointer-events:auto}.site-header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;column-gap:1rem;row-gap:.5rem;width:100%;max-width:min(56rem,100%);min-height:3.25rem;box-sizing:border-box;padding:.5rem .85rem .5rem .65rem;border-radius:14px;isolation:isolate;border:1px solid rgba(255,255,255,.12);background:#0a0c1480;backdrop-filter:blur(20px) saturate(1.55);-webkit-backdrop-filter:blur(20px) saturate(1.55);box-shadow:0 1px #ffffff14 inset,0 0 0 1px #00000059,0 16px 40px #0000006b;transition:opacity var(--dur-focus) var(--ease-smooth)}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.site-header{background:color-mix(in srgb,var(--bg) 92%,transparent)}}@media(prefers-reduced-motion:reduce){.site-header{backdrop-filter:none;-webkit-backdrop-filter:none;background:color-mix(in srgb,var(--bg) 93%,transparent)}}.brand-logo{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:10px;text-decoration:none;transition:opacity .15s ease,transform .15s ease}.brand-logo:hover{opacity:.92}.brand-logo:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 70%,transparent);outline-offset:3px}.brand-logo img{width:24px;height:24px;display:block;object-fit:contain;border-radius:6px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.45));transition:filter .2s ease,opacity .2s ease}.brand-logo:hover img{filter:drop-shadow(0 2px 6px rgba(0,0,0,.5));opacity:.96}.nav.nav-main{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.125rem;min-width:0}.nav a:not(.nav-gh){padding:.4rem .65rem;border-radius:6px;color:var(--muted);text-decoration:none;font-size:.875rem;font-weight:500;transition:color .15s ease,background .15s ease}.nav a:not(.nav-gh):hover{color:var(--text);background:#ffffff0f}.nav a:not(.nav-gh)[aria-current=page]{color:var(--text);font-weight:600}.nav a:not(.nav-gh):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.nav-install{justify-self:end}.nav-gh{display:inline-flex;align-items:center;justify-content:center;padding:.4rem;border-radius:6px;color:var(--muted);transition:color .15s ease,background .15s ease}.nav-gh:hover{color:var(--text);background:#ffffff0f}.nav-gh:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.nav-gh .github-icon{width:1.25rem;height:1.25rem;display:block}.footer-gh{display:inline-flex;align-items:center;justify-content:center;color:var(--muted);text-decoration:none;padding:.2rem}.footer-gh:hover,.footer-gh:focus-visible{color:var(--accent)}.footer-gh .github-icon{width:1.125rem;height:1.125rem;display:block}main{position:relative;z-index:10;max-width:1120px;margin:0 auto;padding:0 clamp(1rem,4vw,2rem) 4rem}.site-footer{position:relative;z-index:10;max-width:1120px;margin:0 auto;padding:2rem clamp(1rem,4vw,2rem) 3rem;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;font-size:.8125rem;color:var(--muted);transition:opacity var(--dur-focus) var(--ease-smooth)}.site-footer a{color:var(--muted);text-decoration:none;transition:color .2s var(--ease-smooth)}.site-footer a:hover{color:var(--accent)}.footer-links{display:flex;flex-wrap:wrap;gap:1.25rem}.page-fade-chrome{transition:opacity var(--dur-focus) var(--ease-smooth)}body.focus-hover .page-fade-chrome,body.focus-hover .site-chrome{opacity:0;pointer-events:none}.prose{padding-top:clamp(2rem,6vw,3.5rem);max-width:42rem}.prose h1{font-family:var(--font-display);font-size:clamp(2rem,5vw,2.75rem);font-weight:400;letter-spacing:-.03em;line-height:1.12;margin:0 0 .75rem}.prose h2{font-family:var(--font-display);font-size:clamp(1.25rem,2.5vw,1.5rem);font-weight:400;margin:2rem 0 .75rem;letter-spacing:-.02em}.prose h3{font-family:var(--font-sans);font-size:.9375rem;font-weight:600;margin:1.25rem 0 .5rem;color:var(--text)}.prose strong{color:var(--text);font-weight:600}.prose kbd{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,monospace;font-size:.88em;padding:.12em .45em;border-radius:5px;border:1px solid rgba(255,255,255,.14);background:#ffffff0f;color:var(--text)}.prose code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,monospace;font-size:.88em;padding:.1em .35em;border-radius:4px;background:#ffffff0f;color:#ffffffe0}.prose p,.prose li{color:var(--muted);font-size:.9375rem;line-height:1.75}.prose a{color:var(--accent);text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--accent) 40%,transparent)}.prose a:hover{border-bottom-color:var(--accent)}.prose ul{padding-left:1.25rem}.meta{font-size:.8125rem;color:var(--muted);margin-bottom:1.5rem}.hr{height:1px;background:var(--line);margin:2rem 0;border:0}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.55rem 1rem;border-radius:8px;font-size:.875rem;font-weight:600;text-decoration:none;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,filter .15s ease}.btn-primary{background:var(--btn-primary-bg);color:var(--btn-primary-fg);border:1px solid var(--btn-primary-border)}.btn-primary:hover{background:#f4f1ea;filter:none}.btn-primary:focus-visible{outline:2px solid rgba(255,255,255,.35);outline-offset:2px}.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--line)}.btn-ghost:hover{background:#ffffff0f;border-color:#ffffff2e}.btn-ghost:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.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}@keyframes hero-in{0%{opacity:0;transform:translate3d(0,18px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes reveal-in{0%{opacity:0;transform:translate3d(0,24px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes shot-in{0%{opacity:0;transform:translate3d(0,28px,0) scale(.985);filter:blur(10px)}to{opacity:1;transform:translateZ(0) scale(1);filter:blur(0)}}.hero-animate{opacity:0;animation:hero-in var(--dur-hero) var(--ease-out-expo) forwards}.home-hero .hero-animate:nth-child(1){animation-delay:.05s}.home-hero .hero-animate:nth-child(2){animation-delay:.14s}.home-hero .hero-animate:nth-child(3){animation-delay:.26s}.reveal-section{opacity:0;animation:reveal-in var(--dur-reveal) var(--ease-out-expo) .45s forwards}.home-landing{position:relative;z-index:20}@media(hover:hover){.focus-title-trigger{cursor:pointer;border-radius:.35em;outline:1px solid transparent;outline-offset:.12em;transition:outline-color .35s var(--ease-smooth),background .35s var(--ease-smooth)}.focus-title-trigger:hover{outline-color:#5eb8ff47;background:#5eb8ff0f}body.focus-hover .focus-title-trigger{cursor:default;outline-color:transparent;background:transparent}}.focus-hint--touch{display:none}.focus-demo-trigger.focus-hint--touch{margin:0 auto 1rem;width:fit-content}@media(hover:none){.focus-hint--touch{display:inline-flex}.focus-title-trigger{cursor:default}.focus-title-trigger:hover{outline-color:transparent;background:transparent}}.home-hero{padding:clamp(3rem,12vw,6rem) 0 clamp(2.5rem,8vw,4rem);text-align:center}.eyebrow{display:inline-block;font-size:.6875rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:1rem}.home-hero h1{font-family:var(--font-display);font-size:clamp(2.75rem,9vw,4.25rem);font-weight:400;letter-spacing:-.04em;line-height:1.05;margin:0 0 1rem;background:linear-gradient(135deg,#fff,#ffffffb8,#b4d2fff2);-webkit-background-clip:text;background-clip:text;color:transparent}.home-hero h1.headline{display:inline-block;position:relative;z-index:25;cursor:inherit;transition:text-shadow .35s var(--ease-smooth),color .35s var(--ease-smooth),filter .35s var(--ease-smooth)}.home-hero h1.headline:hover{text-shadow:0 0 10px rgba(255,255,255,.45)}body.focus-hover .home-hero h1.headline{background:none;-webkit-background-clip:unset;background-clip:unset;color:#fff;text-shadow:0 0 12px rgba(255,255,255,.9),0 0 28px rgba(134,200,255,.8),0 0 48px rgba(134,200,255,.55);filter:none}.lead{font-size:clamp(1rem,2.2vw,1.2rem);color:var(--muted);max-width:28rem;margin:0 auto 1.75rem;font-weight:400}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.75rem}.btn-extension-cta{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;color:#fffffff5;background:linear-gradient(180deg,#1c1e26fa,#0e1016fa);border-color:#ffffff1f;box-shadow:0 1px #ffffff0d inset,0 10px 28px #00000073}.btn-extension-cta:hover{background:linear-gradient(180deg,#22242dfa,#12141cfa);border-color:#ffffff2e}.btn-extension-cta-icon-wrap{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.btn-extension-cta-icon-wrap img{width:1.125rem;height:1.125rem;display:block;object-fit:contain}.showcase{position:relative;z-index:20;margin-top:.5rem}.showcase-label{font-size:.6875rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-align:center;margin-bottom:1.25rem}.focus-shots{position:relative;z-index:25}.shots{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:768px){.shots{grid-template-columns:1fr 1fr;gap:1.25rem;align-items:start}}.shot{position:relative;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:var(--bg-elevated);box-shadow:0 24px 48px #00000073,0 0 0 1px #ffffff0a inset;transition:transform .5s var(--ease-out-expo),box-shadow .5s var(--ease-out-expo);opacity:0;animation:shot-in .95s var(--ease-out-expo) forwards}.shot:nth-child(1){animation-delay:.58s}.shot:nth-child(2){animation-delay:.7s}.shot:hover{transform:translateY(-4px);box-shadow:0 32px 64px #00000080,0 0 0 1px #ffffff14 inset}.shot img{display:block;width:100%;height:auto;vertical-align:middle}body.focus-hover .focus-shots .shot{transform:translate3d(0,-6px,0) scale(1.01);box-shadow:0 28px 56px #00000085,0 0 0 1px #ffffff12 inset,0 0 48px color-mix(in srgb,var(--accent) 8%,transparent);transition:transform .45s var(--ease-smooth),box-shadow .45s var(--ease-smooth)}body.focus-hover .focus-shots .shot:hover{transform:translate3d(0,-6px,0) scale(1.01);box-shadow:0 28px 56px #00000085,0 0 0 1px #ffffff12 inset,0 0 48px color-mix(in srgb,var(--accent) 8%,transparent)}.features{display:grid;grid-template-columns:1fr;gap:1rem;margin-top:clamp(3rem,10vw,5rem);padding-top:clamp(2rem,6vw,3rem);border-top:1px solid var(--line)}@media(min-width:640px){.features{grid-template-columns:repeat(3,1fr);gap:1.5rem}}.feature{padding:1.25rem 1rem;border-radius:12px;border:1px solid transparent;background:#ffffff05;transition:border-color .35s var(--ease-smooth),background .35s var(--ease-smooth)}.feature:hover{border-color:var(--line);background:#ffffff0a}.feature h3{font-family:var(--font-display);font-size:1.125rem;font-weight:400;margin:0 0 .5rem;letter-spacing:-.02em}.feature p{margin:0;font-size:.875rem;color:var(--muted);line-height:1.65}.feature a{color:var(--accent);text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--accent) 45%,transparent)}.feature a:hover{border-bottom-color:var(--accent)}.kbd-inline{font-family:ui-monospace,monospace;font-size:.8em;padding:.1em .35em;border-radius:4px;border:1px solid rgba(255,255,255,.15);background:#ffffff0f}@media(prefers-reduced-motion:reduce){.hero-animate,.reveal-section{animation:none;opacity:1;transform:none}.home-hero h1.headline,body.focus-hover .home-hero h1.headline{transition:none}.shot{transition:none;animation:none;opacity:1}body:after{transition:none}body.focus-hover:after{opacity:0}body.focus-hover .page-fade-chrome,body.focus-hover .site-chrome{opacity:1!important;pointer-events:auto!important}body.focus-hover .focus-shots .shot{transform:none!important}}
