@font-face{font-family:Departure Mono;src:url(/fonts/DepartureMono-Regular.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}:root{--obsidian-base: #08080A;--obsidian-surface: #121215;--obsidian-elevated: #1A1A1E;--obsidian-hover: #242428;--obsidian-active: #2C2C32;--obsidian-selected: #1C2A24;--obsidian-border-subtle: #26262C;--obsidian-border-default: #34343C;--obsidian-border-focus: #375048;--obsidian-text-primary: #F8F8FC;--obsidian-text-secondary: #9E9EA8;--obsidian-text-tertiary: #646470;--obsidian-accent: #10B981;--obsidian-accent-hover: #34D399;--obsidian-accent-muted: #142822;--obsidian-accent-glow: rgba(16, 185, 129, .12)}html,body{font-family:Departure Mono,monospace,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;margin:0;padding:0;height:100%;background-color:var(--obsidian-base);color:var(--obsidian-text-primary)}html{height:100%}body{min-height:100vh}.sr-only:where(.astro-j7pv25f6){width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border-width:0}.page:where(.astro-j7pv25f6){display:flex;flex-direction:column;min-height:100vh}.header:where(.astro-j7pv25f6){z-index:100;position:fixed;top:0;left:0;width:100%;max-width:100%;padding:1rem 1.5rem;background-color:var(--obsidian-base);box-sizing:border-box;overflow:visible}.header-content:where(.astro-j7pv25f6){display:flex;gap:1rem;justify-content:space-between;align-items:center;height:100%;width:100%;max-width:100%;box-sizing:border-box;position:relative}.title-wrapper:where(.astro-j7pv25f6){overflow:clip;padding:.25rem;margin:-.25rem;min-width:0;flex-shrink:1}.site-title:where(.astro-j7pv25f6){display:inline-flex;align-items:center;text-decoration:none}.site-title:where(.astro-j7pv25f6) img:where(.astro-j7pv25f6){height:3rem;width:auto;max-width:100%}.right-group:where(.astro-j7pv25f6){display:flex;align-items:center;flex-shrink:0;margin-left:auto}.header-links:where(.astro-j7pv25f6){display:flex;gap:1.5rem;align-items:center}.header-link:where(.astro-j7pv25f6){font-size:.875rem;font-family:monospace;color:var(--obsidian-text-primary);text-decoration:none;transition:color .15s ease}.header-link:where(.astro-j7pv25f6):hover{color:var(--obsidian-accent-hover)}.header-download:where(.astro-j7pv25f6){font-size:.875rem;font-family:monospace;color:var(--obsidian-base);background-color:var(--obsidian-accent);text-decoration:none;padding:.35rem .75rem;border-radius:.25rem;transition:all .15s ease;margin-left:1rem;display:inline-flex;align-items:center;gap:.35rem}.header-download:where(.astro-j7pv25f6):hover{background-color:var(--obsidian-accent-hover)}.header-download-icon:where(.astro-j7pv25f6){flex-shrink:0}.header-link:where(.astro-j7pv25f6) .star-count:where(.astro-j7pv25f6){display:inline-block;color:var(--obsidian-text-secondary)!important;font-weight:400;margin-left:.25rem;transition:none!important}.header-link:where(.astro-j7pv25f6):hover .star-count:where(.astro-j7pv25f6){color:var(--obsidian-text-secondary)!important}#github-link:where(.astro-j7pv25f6) .star-count:where(.astro-j7pv25f6){color:var(--obsidian-text-secondary)!important}.mobile-menu-toggle:where(.astro-j7pv25f6){display:none;background:none;border:none;cursor:pointer;padding:.5rem;margin:-.5rem;align-items:center;justify-content:center;position:relative;width:2rem;height:2rem;color:var(--obsidian-text-primary)}.menu-icon:where(.astro-j7pv25f6){position:absolute;font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:opacity .2s ease}.menu-icon-bars:where(.astro-j7pv25f6){opacity:1}.menu-icon-times:where(.astro-j7pv25f6){opacity:0}.mobile-menu-toggle:where(.astro-j7pv25f6)[aria-expanded=true] .menu-icon-bars:where(.astro-j7pv25f6){opacity:0}.mobile-menu-toggle:where(.astro-j7pv25f6)[aria-expanded=true] .menu-icon-times:where(.astro-j7pv25f6){opacity:1}.mobile-menu:where(.astro-j7pv25f6){display:none;flex-direction:column;gap:1rem;border-top:1px solid var(--obsidian-border-default);background-color:var(--obsidian-base);position:absolute;top:100%;left:-1.5rem;right:-1.5rem;z-index:1000;box-shadow:0 8px 24px #00000080;padding:1rem 1.5rem}.mobile-menu:where(.astro-j7pv25f6).open{display:flex}.mobile-menu-link:where(.astro-j7pv25f6){font-size:.875rem;font-family:monospace;color:var(--obsidian-text-primary);text-decoration:none;transition:color .15s ease;padding:.5rem 0}.mobile-menu-link:where(.astro-j7pv25f6):hover{color:var(--obsidian-accent-hover)}.mobile-menu-link:where(.astro-j7pv25f6) .star-count:where(.astro-j7pv25f6){display:inline-block;color:var(--obsidian-text-secondary)!important;font-weight:400;margin-left:.25rem;transition:none!important}@media(max-width:768px){.header-links:where(.astro-j7pv25f6){display:none}.header-download:where(.astro-j7pv25f6){display:none}.mobile-menu-toggle:where(.astro-j7pv25f6){display:flex}}.main:where(.astro-j7pv25f6){display:flex;flex-direction:column;justify-content:center;align-items:center;padding-top:6rem;padding-bottom:2rem;max-width:80%;margin:0 auto;box-sizing:border-box}.hero-section:where(.astro-j7pv25f6){display:flex;flex-direction:column;align-items:center;gap:1rem;width:100%}.hero-logo:where(.astro-j7pv25f6){max-width:350px;width:100%;height:auto;display:block;aspect-ratio:1;background-color:transparent}.hero-tagline:where(.astro-j7pv25f6){font-family:Departure Mono,monospace;font-size:2.5rem;font-weight:700;color:#10b981;margin:.5rem 0;text-align:center;letter-spacing:.08em}@media(max-width:768px){.hero-tagline:where(.astro-j7pv25f6){font-size:1.5rem;padding:0 1rem}}.hero-headline:where(.astro-j7pv25f6){font-family:Departure Mono,monospace;font-size:1.125rem;font-weight:400;color:#f5f5f5;margin:0 0 .25rem;text-align:center;letter-spacing:.02em;max-width:650px;line-height:1.6}@media(max-width:768px){.hero-headline:where(.astro-j7pv25f6){font-size:1rem;padding:0 1rem}}.hero-demo:where(.astro-j7pv25f6){width:100%;max-width:1000px;height:auto;margin:2rem 0 1rem;border:1px solid var(--obsidian-border-default);border-radius:.5rem;box-shadow:0 8px 32px #0006,0 0 20px var(--obsidian-accent-glow);transition:transform .2s ease,box-shadow .2s ease}.hero-demo:where(.astro-j7pv25f6):hover{transform:translateY(-4px);box-shadow:0 12px 40px #00000080,0 0 30px #10b98133}@media(max-width:768px){.hero-demo:where(.astro-j7pv25f6){max-width:100%;margin:1.5rem 1rem;border-radius:.25rem}}.code-example:where(.astro-j7pv25f6){width:100%;max-width:700px;margin:1rem 0;display:flex;flex-direction:column;gap:1rem}.code-example:where(.astro-j7pv25f6) pre{background-color:var(--obsidian-surface)!important;border:1px solid var(--obsidian-border-default)!important;border-radius:.5rem!important;padding:1.5rem!important;margin:0!important;overflow-x:auto;font-family:Departure Mono,monospace!important;font-size:.875rem!important;line-height:1.6!important;box-shadow:0 4px 16px #0000004d!important}.code-example:where(.astro-j7pv25f6) code{font-family:Departure Mono,monospace!important;font-size:.875rem!important}.code-example:where(.astro-j7pv25f6) .astro-code{background-color:var(--obsidian-surface)!important;border:1px solid var(--obsidian-border-default)!important;border-radius:.5rem!important;padding:1.5rem!important}.install-command:where(.astro-j7pv25f6){background-color:var(--obsidian-surface);border:1px solid var(--obsidian-border-default);border-radius:.5rem;padding:1rem 1.5rem;text-align:center;font-family:Departure Mono,monospace;box-shadow:inset 0 1px 2px #0003}.install-command:where(.astro-j7pv25f6) code:where(.astro-j7pv25f6){color:var(--obsidian-accent);font-family:Departure Mono,monospace;font-size:1rem}@media(max-width:768px){.code-example:where(.astro-j7pv25f6){max-width:100%;padding:0 1rem;box-sizing:border-box}.code-example:where(.astro-j7pv25f6) pre,.code-example:where(.astro-j7pv25f6) .astro-code{font-size:.75rem!important;padding:1rem!important}.code-example:where(.astro-j7pv25f6) code{font-size:.75rem!important}.install-command:where(.astro-j7pv25f6) code:where(.astro-j7pv25f6){font-size:.875rem}}.hero-buttons:where(.astro-j7pv25f6){display:flex;gap:1rem;margin-top:1.5rem;flex-wrap:wrap;justify-content:center}.hero-button-primary:where(.astro-j7pv25f6){font-family:Departure Mono,monospace;font-size:1rem;padding:1rem 2rem;text-decoration:none;border:2px solid var(--obsidian-accent);color:var(--obsidian-base);background:linear-gradient(180deg,var(--obsidian-accent) 0%,#059669 100%);transition:all .2s ease;letter-spacing:.05em;text-transform:lowercase;min-width:200px;text-align:center;font-weight:700;border-radius:.375rem;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;box-shadow:0 2px #047857,0 4px 12px var(--obsidian-accent-glow),inset 0 1px #ffffff26;text-shadow:0 1px 0 rgba(0,0,0,.2)}.hero-button-primary:where(.astro-j7pv25f6):hover{background:linear-gradient(180deg,var(--obsidian-accent-hover) 0%,var(--obsidian-accent) 100%);border-color:var(--obsidian-accent-hover);transform:translateY(-2px);box-shadow:0 4px #047857,0 8px 24px #10b9814d,inset 0 1px #fff3}.download-icon-btn:where(.astro-j7pv25f6){flex-shrink:0}.hero-button-secondary:where(.astro-j7pv25f6){font-family:Departure Mono,monospace;font-size:1rem;padding:1rem 2rem;text-decoration:none;border:2px solid var(--obsidian-border-default);color:var(--obsidian-text-primary);background-color:var(--obsidian-surface);transition:all .2s ease;letter-spacing:.05em;text-transform:lowercase;min-width:160px;text-align:center;border-radius:.375rem;box-shadow:0 2px 4px #0003}.hero-button-secondary:where(.astro-j7pv25f6):hover{border-color:var(--obsidian-accent);color:var(--obsidian-accent);background-color:var(--obsidian-hover)}.hero-links:where(.astro-j7pv25f6){display:flex;align-items:center;justify-content:center;margin-top:1.5rem}.hero-text-link:where(.astro-j7pv25f6){font-family:Departure Mono,monospace;font-size:.875rem;color:var(--obsidian-text-secondary);text-decoration:none;transition:color .15s ease}.hero-text-link:where(.astro-j7pv25f6):hover{color:var(--obsidian-accent)}.hero-link-separator:where(.astro-j7pv25f6){color:var(--obsidian-text-tertiary)}@media(max-width:768px){.hero-button-primary:where(.astro-j7pv25f6){width:100%;text-align:center}}.demo-section:where(.astro-j7pv25f6){width:100%;padding:4rem 1.5rem 6rem;background-color:var(--obsidian-base)}.demo-content:where(.astro-j7pv25f6){max-width:900px;margin:0 auto}.demo-toggle:where(.astro-j7pv25f6){display:flex;align-items:center;gap:.4rem;margin-bottom:.75rem}.demo-toggle-option:where(.astro-j7pv25f6){font-family:Departure Mono,monospace;font-size:.7rem;letter-spacing:.1em;color:var(--obsidian-text-tertiary);background:none;border:none;padding:0 0 2px;cursor:pointer;transition:color .2s ease,border-color .2s ease;border-bottom:1px solid transparent}.demo-toggle-option:where(.astro-j7pv25f6):hover{color:var(--obsidian-text-secondary)}.demo-toggle-option:where(.astro-j7pv25f6).active{color:var(--obsidian-accent);border-bottom-color:var(--obsidian-accent)}.demo-toggle-dot:where(.astro-j7pv25f6){color:var(--obsidian-text-tertiary);font-size:.5rem;line-height:1;user-select:none;opacity:.5}.demo-video:where(.astro-j7pv25f6){width:100%;height:auto;aspect-ratio:16 / 9;object-fit:cover;border-radius:.5rem;border:1px solid var(--obsidian-border-default);box-shadow:0 4px 16px #0000004d;transition:opacity .3s ease}.demo-video:where(.astro-j7pv25f6).hidden{display:none}.demo-coming-soon:where(.astro-j7pv25f6){display:none;width:100%;aspect-ratio:16 / 9;border-radius:.5rem;border:1px solid var(--obsidian-border-default);background-color:var(--obsidian-surface);align-items:center;justify-content:center}.demo-coming-soon:where(.astro-j7pv25f6).visible{display:flex}.demo-coming-soon-text:where(.astro-j7pv25f6){font-family:Departure Mono,monospace;font-size:.875rem;letter-spacing:.1em;color:var(--obsidian-text-tertiary)}@media(max-width:768px){.demo-section:where(.astro-j7pv25f6){padding:2rem 1rem 4rem}}.features-section:where(.astro-j7pv25f6){width:100%;padding:5rem 1.5rem;background-color:var(--obsidian-base)}.features-content:where(.astro-j7pv25f6){max-width:700px;margin:0 auto}.features-title:where(.astro-j7pv25f6){font-family:Departure Mono,monospace;font-size:1.5rem;font-weight:400;color:var(--obsidian-accent);text-align:center;margin:0 0 1rem}.features-tagline:where(.astro-j7pv25f6){font-family:Departure Mono,monospace;font-size:1rem;color:var(--obsidian-text-primary);text-align:center;margin:0 0 2rem;line-height:1.6}.features-list:where(.astro-j7pv25f6){list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.feature-item:where(.astro-j7pv25f6){display:flex;flex-direction:column;gap:.25rem}.feature-name:where(.astro-j7pv25f6){font-family:Departure Mono,monospace;font-size:.9rem;color:var(--obsidian-accent);font-weight:700}.feature-desc:where(.astro-j7pv25f6){font-family:Departure Mono,monospace;font-size:.8rem;color:var(--obsidian-text-secondary);line-height:1.5}.ferris-logo:where(.astro-j7pv25f6){display:inline-block;width:1.2em;height:.85em;vertical-align:-.05em;filter:sepia(1) saturate(5) brightness(.7) hue-rotate(100deg)}@media(max-width:768px){.features-section:where(.astro-j7pv25f6){padding:3rem 1rem}.features-title:where(.astro-j7pv25f6){font-size:1.25rem}.features-tagline:where(.astro-j7pv25f6){font-size:.9rem}.features-list:where(.astro-j7pv25f6){grid-template-columns:1fr;gap:1.25rem}.feature-name:where(.astro-j7pv25f6){font-size:.85rem}.feature-desc:where(.astro-j7pv25f6){font-size:.75rem}}.open-source-section:where(.astro-j7pv25f6){width:100%;padding:5rem 1.5rem;background-color:var(--obsidian-base);border-top:1px solid var(--obsidian-border-subtle)}.open-source-content:where(.astro-j7pv25f6){max-width:600px;margin:0 auto;text-align:center}.open-source-title:where(.astro-j7pv25f6){font-family:Departure Mono,monospace;font-size:1.5rem;font-weight:700;color:var(--obsidian-accent);margin:0 0 1rem}.open-source-text:where(.astro-j7pv25f6){font-family:Departure Mono,monospace;font-size:1rem;color:var(--obsidian-text-primary);margin:0 0 .75rem;line-height:1.6}.open-source-text:where(.astro-j7pv25f6) a:where(.astro-j7pv25f6){color:var(--obsidian-text-primary);text-decoration:none;border-bottom:1px solid var(--obsidian-text-tertiary);transition:color .15s ease,border-color .15s ease}.open-source-text:where(.astro-j7pv25f6) a:where(.astro-j7pv25f6):hover{color:var(--obsidian-accent);border-bottom-color:var(--obsidian-accent)}.open-source-team:where(.astro-j7pv25f6){font-family:Departure Mono,monospace;font-size:.9rem;color:var(--obsidian-text-secondary);margin:0}.open-source-team:where(.astro-j7pv25f6) a:where(.astro-j7pv25f6){color:var(--obsidian-accent);text-decoration:none;transition:color .15s ease}.open-source-team:where(.astro-j7pv25f6) a:where(.astro-j7pv25f6):hover{color:var(--obsidian-accent-hover)}@media(max-width:768px){.open-source-section:where(.astro-j7pv25f6){padding:3rem 1rem}.open-source-title:where(.astro-j7pv25f6){font-size:1.25rem}.open-source-text:where(.astro-j7pv25f6){font-size:.9rem}.open-source-team:where(.astro-j7pv25f6){font-size:.8rem}}.footer:where(.astro-j7pv25f6){width:100%;max-width:100%;border-top:1px solid var(--obsidian-border-subtle);padding:1.5rem;background-color:var(--obsidian-base);margin-top:auto;box-sizing:border-box;overflow:hidden}.footer-bottom:where(.astro-j7pv25f6){display:flex;flex-direction:column;gap:.5rem;align-items:center}.copyright-wrapper:where(.astro-j7pv25f6){font-size:.875rem;font-family:Departure Mono,monospace;text-align:center;color:var(--obsidian-text-secondary)}.copyright-wrapper:where(.astro-j7pv25f6) a:where(.astro-j7pv25f6){color:var(--obsidian-text-secondary);text-decoration:none;border-bottom:1px solid var(--obsidian-text-tertiary);transition:color .15s ease,border-color .15s ease}.copyright-wrapper:where(.astro-j7pv25f6) a:where(.astro-j7pv25f6):hover{color:var(--obsidian-accent);border-bottom-color:var(--obsidian-accent)}.trademark-notice:where(.astro-j7pv25f6){font-size:.7rem;color:var(--obsidian-text-tertiary);display:inline-block;margin-top:.5rem}.license-wrapper:where(.astro-j7pv25f6){font-size:.75rem;font-family:Departure Mono,monospace;text-align:center;color:var(--obsidian-text-tertiary)}.license-wrapper:where(.astro-j7pv25f6) a:where(.astro-j7pv25f6){color:var(--obsidian-text-secondary);text-decoration:none;transition:color .15s ease}.license-wrapper:where(.astro-j7pv25f6) a:where(.astro-j7pv25f6):hover{color:var(--obsidian-text-primary)}@media(max-width:768px){.footer:where(.astro-j7pv25f6){padding:2rem 1rem 1rem}.footer-grid:where(.astro-j7pv25f6){grid-template-columns:1fr;gap:1.5rem;text-align:center}.footer-section:where(.astro-j7pv25f6){align-items:center}}@media(min-width:50rem){.header:where(.astro-j7pv25f6){padding:1rem 2rem}.footer:where(.astro-j7pv25f6){padding:3rem 2rem 1.5rem}}.stats-bar:where(.astro-j7pv25f6){display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:3rem;padding:1rem 0;font-family:Departure Mono,monospace;font-size:.875rem;color:var(--obsidian-text-tertiary)}.stat-item:where(.astro-j7pv25f6){display:flex;align-items:center;gap:.5rem}.stat-value:where(.astro-j7pv25f6){color:var(--obsidian-text-secondary);font-weight:700}.stat-separator:where(.astro-j7pv25f6){color:var(--obsidian-border-default)}@media(max-width:768px){.stats-bar:where(.astro-j7pv25f6){flex-direction:column;gap:.5rem}.stat-separator:where(.astro-j7pv25f6){display:none}}.faq-section:where(.astro-j7pv25f6){width:100%;padding:6rem 1.5rem;background-color:var(--obsidian-base);border-top:1px solid var(--obsidian-border-subtle)}.faq-content:where(.astro-j7pv25f6){max-width:600px;margin:0 auto}.faq-title:where(.astro-j7pv25f6){font-family:Departure Mono,monospace;font-size:1.5rem;font-weight:400;color:var(--obsidian-text-primary);text-align:center;margin:0 0 2.5rem}.faq-list:where(.astro-j7pv25f6){display:flex;flex-direction:column;gap:.5rem}.faq-item:where(.astro-j7pv25f6){border:1px solid var(--obsidian-border-subtle);border-radius:.25rem;background-color:var(--obsidian-surface)}.faq-question:where(.astro-j7pv25f6){font-family:Departure Mono,monospace;font-size:.9rem;color:var(--obsidian-text-primary);padding:1rem 1.25rem;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center}.faq-question:where(.astro-j7pv25f6)::-webkit-details-marker{display:none}.faq-question:where(.astro-j7pv25f6):after{content:"+";color:var(--obsidian-text-tertiary);font-size:1.25rem;transition:transform .2s ease}.faq-item:where(.astro-j7pv25f6)[open] .faq-question:where(.astro-j7pv25f6):after{content:"−"}.faq-answer:where(.astro-j7pv25f6){font-family:Departure Mono,monospace;font-size:.875rem;color:var(--obsidian-text-secondary);padding:0 1.25rem 1rem;margin:0;line-height:1.7}.backend-label:where(.astro-j7pv25f6){color:var(--obsidian-accent);display:inline-block;width:5rem}.faq-answer:where(.astro-j7pv25f6) a:where(.astro-j7pv25f6){color:var(--obsidian-accent);text-decoration:none;transition:color .15s ease}.faq-answer:where(.astro-j7pv25f6) a:where(.astro-j7pv25f6):hover{color:var(--obsidian-accent-hover)}@media(max-width:768px){.faq-section:where(.astro-j7pv25f6){padding:4rem 1rem}.faq-title:where(.astro-j7pv25f6){font-size:1.25rem}.faq-question:where(.astro-j7pv25f6){font-size:.85rem}.faq-answer:where(.astro-j7pv25f6){font-size:.8rem}}
