.product-menu[data-astro-cid-nzkseduj]{position:relative}.product-trigger[data-astro-cid-nzkseduj]{display:inline-flex;align-items:center;gap:.25rem;padding:0;border:0;background:none;color:var(--text-muted);font:inherit;font-weight:500;font-size:.925rem;cursor:pointer}.product-trigger[data-astro-cid-nzkseduj]:hover,.product-trigger[data-astro-cid-nzkseduj][aria-expanded=true]{color:var(--text)}.product-caret[data-astro-cid-nzkseduj]{width:1rem;height:1rem;transition:transform .15s}.product-trigger[data-astro-cid-nzkseduj][aria-expanded=true] .product-caret[data-astro-cid-nzkseduj]{transform:rotate(180deg)}.product-panel[data-astro-cid-nzkseduj]{position:absolute;top:100%;left:50%;transform:translate(-50%);padding-top:.9rem;width:44rem;z-index:110}.product-card[data-astro-cid-nzkseduj]{overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl)}.product-groups[data-astro-cid-nzkseduj]{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;padding:.75rem}.product-group-label[data-astro-cid-nzkseduj],.mobile-products-label[data-astro-cid-nzkseduj]{padding:.25rem .75rem .5rem;font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim)}.product-groups[data-astro-cid-nzkseduj] ul[data-astro-cid-nzkseduj]{list-style:none}.product-groups[data-astro-cid-nzkseduj] a[data-astro-cid-nzkseduj]{display:flex;gap:.75rem;padding:.7rem .75rem;border-radius:var(--radius-md);color:var(--text);font-size:.875rem}.product-groups[data-astro-cid-nzkseduj] a[data-astro-cid-nzkseduj]:hover,.product-groups[data-astro-cid-nzkseduj] a[data-astro-cid-nzkseduj][aria-current=page]{background:var(--surface-2);text-decoration:none}.product-chip[data-astro-cid-nzkseduj]{display:grid;place-items:center;flex-shrink:0;width:2.25rem;height:2.25rem;border-radius:var(--radius-md);background:var(--accent-subtle);color:var(--accent)}.product-chip[data-astro-cid-nzkseduj] svg{width:1.2rem;height:1.2rem}.product-name[data-astro-cid-nzkseduj]{display:block;font-weight:600}.product-summary[data-astro-cid-nzkseduj]{display:block;margin-top:.1rem;color:var(--text-muted);font-size:.8rem;line-height:1.45}.product-footer[data-astro-cid-nzkseduj]{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1.25rem;border-top:1px solid var(--border);background:var(--bg);font-size:.8rem;color:var(--text-muted)}.product-footer[data-astro-cid-nzkseduj] a[data-astro-cid-nzkseduj]{color:var(--accent);font-weight:500}.mobile-products[data-astro-cid-nzkseduj]{display:flex;flex-direction:column;gap:.25rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.mobile-products[data-astro-cid-nzkseduj] a[data-astro-cid-nzkseduj]{display:flex;align-items:center;gap:.75rem;padding:.4rem .5rem;color:var(--text);font-weight:500}:root{--color-primary: #2f6bff;--color-primary-dark: #1f56e0;--color-primary-light: #5b8cff;--color-secondary: #0f0f10;--color-accent: #16a34a;--color-accent-light: #dcfce7;--color-gray-50: #fafafa;--color-gray-100: #f4f4f5;--color-gray-200: #e4e4e7;--color-gray-300: #d4d4d8;--color-gray-400: #a1a1aa;--color-gray-500: #71717a;--color-gray-600: #52525b;--color-gray-700: #3f3f46;--color-gray-800: #27272a;--color-gray-900: #18181b;--color-blue-50: #f4f4f5;--color-blue-100: #e4e4e7;--shadow-sm: none;--shadow-md: none;--shadow-lg: none;--shadow-xl: 0 12px 32px -12px rgb(0 0 0 / .28);--shadow-shot: 0 24px 60px -24px rgb(0 0 0 / .22);--radius-xs: 2px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--bg: #fafafa;--bg-alt: #f4f4f5;--surface: #ffffff;--surface-2: #f4f4f5;--text: #0f0f10;--text-muted: #52525b;--text-dim: #6b6b74;--border: #e4e4e7;--border-strong: #c8c8ce;--header-bg: rgba(250, 250, 250, .85);--header-border: #e4e4e7;--hero-bg: #fafafa;--hero-glow: rgba(47, 107, 255, .07);--hero-vector: #c8c8ce;--dot: rgba(15, 15, 16, .07);--accent: #2f6bff;--accent-2: #16a34a;--accent-subtle: rgba(47, 107, 255, .08);--grad: var(--accent);color-scheme:light}:root[data-theme=dark]{--color-secondary: #18181b;--color-accent: #4ade80;--color-gray-50: #111113;--color-gray-100: #161618;--color-gray-200: #26262b;--color-gray-300: #3a3a41;--color-blue-50: #161618;--color-blue-100: #26262b;--shadow-shot: 0 24px 60px -24px rgb(0 0 0 / .7);--bg: #0a0a0b;--bg-alt: #0d0d0f;--surface: #111113;--surface-2: #161618;--text: #ededef;--text-muted: #a1a1aa;--text-dim: #8b8b94;--border: #26262b;--border-strong: #3a3a41;--header-bg: rgba(10, 10, 11, .8);--header-border: #26262b;--hero-bg: #0a0a0b;--hero-glow: rgba(91, 140, 255, .1);--hero-vector: #3a3a41;--dot: rgba(237, 237, 239, .06);--accent: #5b8cff;--accent-2: #4ade80;--accent-subtle: rgba(91, 140, 255, .12);--grad: var(--accent);color-scheme:dark}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;height:2.5rem;padding:0 1.125rem;border:1px solid transparent;border-radius:var(--radius-sm);font-size:.925rem;font-weight:600;line-height:1;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.btn:hover{text-decoration:none}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-lg{height:2.875rem;padding:0 1.5rem;font-size:1rem}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-dark)}.btn-secondary{background:var(--surface);border-color:var(--border-strong);color:var(--text)}.btn-secondary:hover{background:var(--surface-2);border-color:var(--text-dim)}.btn-ghost{background:transparent;color:var(--text)}.btn-ghost:hover{background:var(--surface-2)}.section-tag{display:inline-block;margin-bottom:1rem;color:var(--accent);font-family:var(--font-mono);font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.callout{padding:.875rem 1rem;background:var(--surface-2);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius-sm);color:var(--text)}.landing-width{width:min(1200px,calc(100% - 3rem));margin-inline:auto}.landing-section{padding-block:5.5rem}.landing-section+.landing-section{border-top:1px solid var(--border)}.landing-ground{background-color:var(--bg-alt);background-image:radial-gradient(var(--dot) 1px,transparent 1px);background-size:22px 22px}.landing-paper{background:var(--surface)}.landing-kicker{margin-bottom:.9rem;color:var(--accent);font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.landing-title{font-size:clamp(1.7rem,3vw,2.25rem);font-weight:700;line-height:1.15;letter-spacing:-.02em;text-wrap:balance;color:var(--text)}.landing-copy{color:var(--text-muted);font-size:1.1rem;line-height:1.7}.landing-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem}.landing-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:46px;padding:.7rem 1.35rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-weight:600;transition:background-color .15s ease}.landing-button:hover{background:var(--surface-2);text-decoration:none}.landing-button-primary{background:var(--accent);border-color:var(--accent);color:#fff}.landing-button-primary:hover{background:var(--color-primary-dark)}.landing-center{text-align:center}.landing-faq details{padding:1.25rem 0;border-bottom:1px solid var(--border)}.landing-faq summary{cursor:pointer;font-weight:600;font-size:1.05rem;color:var(--text)}.landing-faq details p{margin-top:.75rem;max-width:65ch;color:var(--text-muted)}@media(max-width:640px){.landing-width{width:calc(100% - 2rem)}.landing-section{padding-block:3.5rem}.landing-actions{flex-direction:column}}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.7;color:var(--text);background:var(--bg);font-feature-settings:"cv02","cv03","cv04","cv11";transition:background-color .3s ease,color .3s ease}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.header{position:fixed;top:0;left:0;right:0;background:var(--header-bg);backdrop-filter:blur(14px) saturate(150%);-webkit-backdrop-filter:blur(14px) saturate(150%);border-bottom:1px solid var(--header-border);z-index:100}.header .container{display:flex;justify-content:space-between;align-items:center;height:72px;max-width:1400px}.logo{display:flex;align-items:center}.logo img{height:32px;width:auto}.nav{display:flex;align-items:center;gap:2rem}.nav a{color:var(--text-muted);font-weight:500;font-size:.925rem;transition:color .2s}.nav a:hover{color:var(--text);text-decoration:none}.nav-btn{display:inline-flex;align-items:center;gap:.5rem;background:var(--surface-2);color:var(--text)!important;border:1px solid var(--border-strong);padding:.55rem 1.1rem;border-radius:var(--radius-md);font-weight:600;transition:all .2s}.nav-btn.nav-icon{padding:.4rem;background:none;border-color:transparent;color:var(--text-muted)!important}.nav-btn.nav-icon:hover{background:none;color:var(--text)!important}.nav-btn:hover{background:var(--surface);border-color:var(--text-dim)}.mobile-menu-btn{color:var(--text)}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius-md);background:transparent;border:1px solid var(--border);color:var(--text-muted);cursor:pointer;transition:color .2s,border-color .2s,background .2s}.theme-toggle:hover{color:var(--text);border-color:var(--border-strong);background:var(--surface-2)}.theme-toggle .ic-sun{display:none}:root[data-theme=dark] .theme-toggle .ic-sun{display:block}:root[data-theme=dark] .theme-toggle .ic-moon{display:none}.logo-on-dark{display:none}:root[data-theme=dark] .logo-on-light{display:none}:root[data-theme=dark] .logo-on-dark{display:block}.nav-btn svg{flex-shrink:0}.mobile-menu-btn{display:none;background:none;border:none;padding:.5rem;cursor:pointer;color:var(--color-gray-700)}.mobile-menu{display:none;position:fixed;top:0;right:-100%;width:300px;max-width:85vw;height:100vh;background:#fff;z-index:200;transition:right .3s ease;box-shadow:none}.mobile-menu.open{right:0}.mobile-menu-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-gray-200)}.mobile-menu-close{background:none;border:none;padding:.5rem;cursor:pointer;color:var(--color-gray-600)}.mobile-nav{display:flex;flex-direction:column;padding:1rem 0}.mobile-nav a{display:block;padding:1rem 1.5rem;color:var(--color-gray-700);font-weight:500;font-size:1.05rem;border-bottom:1px solid var(--color-gray-100);transition:background .2s}.mobile-nav a:hover{background:var(--color-gray-50);text-decoration:none}.mobile-cta{margin:1rem 1.5rem;padding:1rem!important;background:var(--color-primary);color:#fff!important;text-align:center;border-radius:var(--radius-md);font-weight:600;border:none!important}.mobile-github{display:flex!important;align-items:center;gap:.75rem;margin:.5rem 1.5rem;padding:1rem!important;background:var(--color-gray-100);color:var(--color-gray-700)!important;border-radius:var(--radius-md);border:none!important}.mobile-menu-overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:150;opacity:0;transition:opacity .3s ease}.mobile-menu-overlay.open{opacity:1}.footer{background:var(--bg-alt);border-top:1px solid var(--border);color:var(--text-muted);padding:5rem 0 2rem}.footer-content{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr 1.5fr;gap:2.5rem;margin-bottom:3rem}.footer-brand .logo{margin-bottom:1rem}.footer-brand p{color:var(--text-muted);font-size:.95rem}.footer-links h4{color:var(--text);margin-bottom:1.25rem;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.footer-links a{display:block;color:var(--text-muted);margin-bottom:.75rem;font-size:.95rem;transition:color .2s}.footer-links a:hover{color:var(--text);text-decoration:none}.footer-newsletter h4{color:var(--text);margin-bottom:.5rem;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.footer-newsletter p{color:var(--text-muted);font-size:.85rem;margin-bottom:.75rem}.newsletter-form{display:flex;gap:.5rem}.newsletter-form input{flex:1;padding:.5rem .75rem;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--text);font-size:.85rem;outline:none;transition:border-color .2s}.newsletter-form input::placeholder{color:var(--text-dim)}.newsletter-form input:focus{border-color:var(--color-primary)}.newsletter-form button{padding:.5rem 1rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-weight:600;font-size:.85rem;cursor:pointer;transition:background .2s;white-space:nowrap}.newsletter-form button:hover{background:var(--color-primary-dark)}.floating-star{position:fixed;bottom:1.5rem;right:1.5rem;z-index:90;display:flex;align-items:center;gap:.5rem;background:var(--color-secondary);border:1px solid var(--color-gray-700);border-radius:var(--radius-sm);padding:.6rem .75rem .6rem 1rem;box-shadow:none;animation:floatIn .5s ease-out}.floating-star a{display:flex;align-items:center;gap:.4rem;color:#fff;font-size:.85rem;font-weight:600;text-decoration:none}.floating-star a svg{color:#fbbf24}.floating-star a:hover{text-decoration:none}.floating-star-close{display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--color-gray-500);cursor:pointer;padding:.2rem;border-radius:50%;transition:color .2s}.floating-star-close:hover{color:#fff}@keyframes floatIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.footer .theme-toggle{border-color:var(--border);color:var(--text-muted)}.footer .theme-toggle:hover{border-color:var(--border-strong);background:var(--surface);color:var(--text)}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid var(--border);padding-top:2rem;color:var(--text-dim);font-size:.9rem}@media(max-width:1100px){.footer-content{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.container{padding:0 1.25rem}.header .container{height:64px}.logo img{height:28px}.nav{display:none}.mobile-menu-btn,.mobile-menu{display:block}.mobile-menu-overlay{display:block;pointer-events:none}.mobile-menu-overlay.open{pointer-events:auto}.footer-content{grid-template-columns:1fr;gap:2.5rem}}
