html{scroll-behavior:smooth;scroll-padding-top:4.5rem}body.landing{background:var(--bg);color:var(--ink-2);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0}.landing a:not([class]){color:var(--accent-ink);text-underline-offset:3px}.landing-wrap{width:min(100% - 2rem,80rem);margin-inline:auto}.landing-section{padding-block:clamp(3rem,7vw,6rem)}.landing-kicker{color:var(--accent-ink);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.5rem;margin:0 0 .75rem;font-size:.8125rem;font-weight:700;display:inline-flex}.landing-h1{color:var(--ink);letter-spacing:-.03em;text-wrap:balance;margin:0;font-size:clamp(2.25rem,5.5vw,4.25rem);font-weight:800;line-height:1.04}.landing-h2{color:var(--ink);letter-spacing:-.02em;text-wrap:balance;margin:0;font-size:clamp(1.625rem,3.2vw,2.5rem);font-weight:750;line-height:1.1}.landing-lead{max-width:42rem;color:var(--ink-2);text-wrap:pretty;margin:1rem 0 0;font-size:clamp(1.0625rem,1.5vw,1.25rem);line-height:1.55}.landing-lead code,.landing-h2+p code{background:var(--surface-2);color:var(--ink);border-radius:.35em;padding:.1em .35em;font-size:.88em}.landing-nav{z-index:50;border-bottom:1px solid var(--line);background:color-mix(in oklab, var(--bg) 78%, transparent);backdrop-filter:blur(14px)saturate(1.4);position:sticky;top:0}.landing-nav a{color:var(--ink-2);text-decoration:none}.landing-nav a:hover{color:var(--ink)}.landing-link{border-radius:var(--radius-control,.5rem);align-items:center;min-height:2rem;padding-inline:.625rem;font-size:.9375rem;font-weight:550;display:inline-flex}@media (width<=639px){.landing-link--extra{display:none}}.landing-link:hover{background:var(--surface-2)}.pole{background:repeating-linear-gradient(-45deg, var(--accent) 0 .5rem, var(--bg) .5rem 1rem, var(--ink-3) 1rem 1.5rem, var(--bg) 1.5rem 2rem);background-size:2.83rem 100%;border-radius:999px;height:.5rem}.landing-hero{isolation:isolate;position:relative;overflow:clip}.landing-hero:before{content:"";z-index:-1;background:radial-gradient(40rem 22rem at 18% 0%, color-mix(in oklab, var(--accent) 28%, transparent), transparent 70%), radial-gradient(34rem 20rem at 85% 10%, color-mix(in oklab, var(--accent) 14%, transparent), transparent 70%);pointer-events:none;height:80%;position:absolute;inset:-20% -10% auto}.landing-glow{box-shadow:var(--shadow-raised,0 8px 28px -10px #00000059), 0 0 0 1px color-mix(in oklab, var(--accent) 22%, transparent)}.landing-dock{opacity:0;pointer-events:none;transform:translateY(1.5rem)}.landing-dock[data-visible=true]{opacity:1;pointer-events:auto;transform:none}.landing-code{min-width:0}.landing-code .expressive-code{margin-top:0}.landing-stat{border-radius:var(--radius-card,.75rem);flex-direction:column;gap:.125rem;padding:1.25rem 1rem;display:flex}.landing-stat strong{color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.03em;font-size:clamp(1.75rem,3.4vw,2.75rem);font-weight:800;line-height:1}.landing-stat span{color:var(--ink-3);font-size:.875rem}.landing-card-link{color:inherit;flex-direction:column;gap:.25rem;padding:1.125rem;text-decoration:none;transition:transform .18s,box-shadow .18s;display:flex}.landing-card-link:hover{transform:translateY(-2px)}.landing-card-link strong{color:var(--ink);font-size:1.0625rem}.landing-card-link span{color:var(--ink-3);font-size:.9375rem}.presets-cell{background:var(--bg);color:var(--ink-2);outline:1px dashed var(--line-strong);outline-offset:-1px}.landing-feature-list{gap:.75rem;margin:1.5rem 0 0;padding:0;list-style:none;display:grid}.landing-feature-list li{color:var(--ink-2);align-items:flex-start;gap:.75rem;line-height:1.5;display:flex}.landing-feature-list li:before{content:"";background:var(--accent);border-radius:999px;flex:none;width:.5rem;height:.5rem;margin-top:.5rem}@media (prefers-reduced-motion:no-preference){.landing-dock{transition:opacity .25s,transform .25s}@keyframes bento-in{0%{opacity:0;transform:translateY(14px)scale(.985)}}.bento-tile{animation:.55s cubic-bezier(.2,.7,.2,1) backwards bento-in;animation-delay:calc(var(--bento-i,0) * 45ms)}.js .reveal{opacity:0;transition:opacity .6s,transform .6s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--reveal-i,0) * 70ms);transform:translateY(18px)}.js .reveal.in{opacity:1;transform:none}@keyframes pole-spin{to{background-position-x:2.83rem}}.pole{animation:1.6s linear infinite pole-spin}}@media print{.landing-dock,.landing-nav{display:none}}
