*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--kr-ink);color:var(--kr-text);font-family:var(--kr-font-display);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");margin:0;font-size:16px;line-height:1.6}::selection{background:var(--kr-accent-soft);color:var(--kr-text)}a{color:var(--kr-accent)}img{max-width:100%;height:auto;display:block}.skip-link{z-index:100;background:var(--kr-surface-2);color:var(--kr-text);border-radius:var(--kr-radius-sm);padding:.7rem 1rem;position:absolute;top:0;left:-9999px}.skip-link:focus{top:1rem;left:1rem}:focus-visible{outline:2px solid var(--kr-accent);outline-offset:3px;border-radius:3px}.shell{max-width:var(--kr-measure);padding-inline:var(--kr-gutter);margin-inline:auto}.mono{font-family:var(--kr-font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--kr-text-muted);font-size:.72rem}@media (width<=46rem){.specbar{grid-template-columns:repeat(2,minmax(0,1fr))}.specbar__cell:nth-child(2n){border-right:0}.specbar__cell:nth-child(-n+2){border-bottom:1px solid var(--kr-line)}}@media (width<=60rem){.product{grid-template-columns:minmax(0,1fr)}.product--mirrored .product__copy{order:0}.product__sticky{position:static}}@media (width>=54rem){.features--split{border-top:0;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(2rem,4vw,3.5rem);display:grid}.features--split li{border-top:1px solid var(--kr-line);border-bottom:0}}.dl{flex-wrap:wrap;gap:.5rem;margin-top:1.6rem;display:flex}.dl a{font-family:var(--kr-font-mono);letter-spacing:.05em;color:var(--kr-text-muted);border:1px solid var(--kr-line);transition:color .16s var(--kr-ease), border-color .16s var(--kr-ease);border-radius:999px;padding:.4rem .8rem;font-size:.72rem;text-decoration:none}.dl a:hover,.dl a:focus-visible{color:var(--kr-accent);border-color:var(--kr-accent)}.footer{padding-block:3rem 3.5rem}.footer__grid{grid-template-columns:minmax(0,1.4fr) repeat(auto-fit,minmax(9rem,1fr));gap:2rem;display:grid}.footer__brand{letter-spacing:-.03em;color:var(--kr-text);align-items:center;gap:.6rem;font-weight:700;text-decoration:none;display:inline-flex}.footer__tag{color:var(--kr-text-faint);max-width:34ch;margin:.8rem 0 0;font-size:.9rem}.footer__col h2{font-family:var(--kr-font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--kr-text-faint);margin:0 0 .85rem;font-size:.66rem;font-weight:500}.footer__col ul{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.footer__col a{color:var(--kr-text-muted);font-size:.9rem;text-decoration:none}.footer__col a:hover,.footer__col a:focus-visible{color:var(--kr-accent)}.footer__base{border-top:1px solid var(--kr-line);font-family:var(--kr-font-mono);letter-spacing:.05em;color:var(--kr-text-faint);flex-wrap:wrap;justify-content:space-between;gap:.75rem 1.5rem;margin-top:2.8rem;padding-top:1.4rem;font-size:.7rem;display:flex}@keyframes rise{0%{opacity:0;transform:translateY(16px)}}[data-reveal]{opacity:0;transition:opacity .7s var(--kr-ease), transform .7s var(--kr-ease);transform:translateY(18px)}[data-reveal].is-revealed{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.stagger>*{animation:none}[data-reveal]{opacity:1;transition:none;transform:none}}.theme-toggle{z-index:50;border:1px solid var(--kr-line);background:var(--kr-surface-1);width:2.25rem;height:2.25rem;color:var(--kr-text-muted);cursor:pointer;transition:color .16s var(--kr-ease), border-color .16s var(--kr-ease), background .16s var(--kr-ease);border-radius:999px;place-items:center;padding:0;display:grid;position:fixed;top:1.15rem;right:1.15rem}.theme-toggle:hover,.theme-toggle:focus-visible{color:var(--kr-text);border-color:var(--kr-line-strong);background:var(--kr-surface-2)}.theme-toggle__sun{display:block}.theme-toggle__moon,:root[data-theme=light] .theme-toggle__sun{display:none}:root[data-theme=light] .theme-toggle__moon{display:block}@media (prefers-reduced-motion:reduce){.theme-toggle{transition:none}}.footer__mark--light,:root[data-theme=light] .footer__mark--dark{display:none}:root[data-theme=light] .footer__mark--light{display:inline-block}.home:where(.astro-lcdefpme){max-width:62rem;margin:0 auto;padding:clamp(3.5rem,12vh,8rem) 1.5rem 4rem}.brand:where(.astro-lcdefpme){text-align:center;margin-bottom:clamp(2.5rem,7vh,4.5rem)}.brand__name:where(.astro-lcdefpme){letter-spacing:-.03em;margin:0 0 .5rem;font-size:clamp(2.1rem,5vw,2.9rem);line-height:1.1}.brand__tag:where(.astro-lcdefpme){color:var(--kr-text-muted);margin:0;font-size:1rem}.grid:where(.astro-lcdefpme){grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin:0;padding:0;list-style:none;display:grid}.grid:where(.astro-lcdefpme)>li:where(.astro-lcdefpme){flex-direction:column;align-items:center;gap:.75rem;display:flex}.card:where(.astro-lcdefpme){border:1px solid var(--kr-line);background:var(--kr-surface-1);width:100%;color:inherit;border-radius:14px;padding:2rem 1.75rem 1.75rem;text-decoration:none;transition:border-color .16s,background .16s,transform .16s;display:block}.card:where(.astro-lcdefpme):hover,.card:where(.astro-lcdefpme):focus-visible{border-color:color-mix(in srgb, var(--kr-accent) 55%, transparent);background:var(--kr-surface-2);transform:translateY(-2px)}.card__mark:where(.astro-lcdefpme){margin-bottom:1.1rem;display:block}.card__mark--light:where(.astro-lcdefpme),:root[data-theme=light] .card__mark--dark:where(.astro-lcdefpme){display:none}:root[data-theme=light] .card__mark--light:where(.astro-lcdefpme){display:block}.card__name:where(.astro-lcdefpme){letter-spacing:-.02em;margin:0 0 .4rem;font-size:1.35rem}.card__tag:where(.astro-lcdefpme){color:var(--kr-text-muted);margin:0 0 1.4rem;font-size:.95rem;line-height:1.55}.card__go:where(.astro-lcdefpme){color:var(--kr-accent);align-items:center;gap:.4rem;font-size:.9rem;font-weight:600;display:inline-flex}.card:where(.astro-lcdefpme):hover .card__go:where(.astro-lcdefpme) svg:where(.astro-lcdefpme){transform:translate(2px)}.card__go:where(.astro-lcdefpme) svg:where(.astro-lcdefpme){transition:transform .16s}.repo:where(.astro-lcdefpme){color:var(--kr-text-faint);font-size:.8rem;text-decoration:none}.repo:where(.astro-lcdefpme):hover{color:var(--kr-text-muted);text-decoration:underline}@media (width<=40rem){.grid:where(.astro-lcdefpme){grid-template-columns:1fr}}
