:root{--paper: #f6f5f2;--ink: #15161a;--muted: #5a5854;--faint: #8a8780;--hairline: #dcd9d2;--cell-fill: #15161a;--cell-text: #f6f5f2;--terminal-bg: #15161a;--terminal-fg: #e9e7e1;--mono: "IBM Plex Mono", ui-monospace, monospace;--sans: "Space Grotesk", system-ui, sans-serif;--heading: var(--sans);--maxw: 1140px}html[data-theme=ink]{--paper: #15161a;--ink: #f6f5f2;--muted: #b3b0a9;--faint: #7c7973;--hairline: #2e3036;--cell-fill: #f6f5f2;--cell-text: #15161a;--terminal-bg: #0c0d10;--terminal-fg: #e9e7e1}html[data-headingfont=mono]{--heading: var(--mono)}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.6}html{scroll-behavior:smooth}html,body{overflow-x:clip;max-width:100%}::selection{background:var(--ink);color:var(--paper)}a{color:inherit}h1,h2,h3{font-family:var(--heading);font-weight:600;line-height:1.1;margin:0;text-wrap:balance}p{margin:0;text-wrap:pretty}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px}.label{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--faint)}.logo{display:grid;grid-template-columns:repeat(6,var(--cell, 30px));border:2px solid var(--ink);font-family:var(--mono);font-weight:700;flex:none}.logo span{height:var(--cell, 30px);display:flex;align-items:center;justify-content:center;font-size:calc(var(--cell, 30px) * .56);border-left:2px solid var(--ink)}.logo span:first-child{border-left:none}.logo span.f{background:var(--cell-fill);color:var(--cell-text)}header.nav{border-bottom:1px solid var(--hairline);position:sticky;top:0;background:color-mix(in oklab,var(--paper) 92%,transparent);backdrop-filter:blur(8px);z-index:50}.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;height:68px}.nav-links{display:flex;align-items:center;gap:28px;font-family:var(--mono);font-size:13px;font-weight:500}.nav-links a{text-decoration:none;color:var(--muted)}.nav-links a:hover,.nav-links a.gh{color:var(--ink)}.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:14px;font-weight:600;text-decoration:none;border:2px solid var(--ink);padding:12px 20px;background:var(--ink);color:var(--paper);cursor:pointer;transition:background .12s ease,color .12s ease}.btn.ghost,.btn:hover{background:transparent;color:var(--ink)}.btn.ghost:hover{background:var(--ink);color:var(--paper)}.cmd{display:inline-flex;align-items:center;gap:14px;font-family:var(--mono);font-size:14px;font-weight:500;border:1px solid var(--ink);padding:12px 16px;background:transparent;color:var(--ink);cursor:pointer;white-space:nowrap;max-width:100%;overflow-x:auto}.cmd .dollar{color:var(--faint)}.cmd .copy{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);border-left:1px solid var(--hairline);padding-left:14px}.cmd:hover .copy{color:var(--ink)}.hero{padding:88px 0 96px}.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:64px;align-items:center}.hero h1{font-size:clamp(40px,5vw,62px);letter-spacing:-.02em;margin:20px 0 24px}.hero .sub{font-size:18px;color:var(--muted);max-width:52ch;margin-bottom:36px}.hero-ctas{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.terminal{border:2px solid var(--ink);background:var(--terminal-bg);color:var(--terminal-fg);font-family:var(--mono);font-size:13.5px;line-height:1.75;box-shadow:8px 8px 0 0 var(--hairline);min-width:0;max-width:100%}.terminal-bar{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid #2e3036;color:#8a8780;font-size:12px}.terminal-bar .dot{width:9px;height:9px;border-radius:50%;background:#3a3c42}.terminal-body{padding:18px 20px 22px;overflow-x:auto}.terminal-body .row{display:flex;gap:10px;white-space:pre}.t-dim{color:#8a8780}.t-ok{color:#9fd6a9}.t-cmd{color:#f6f5f2;font-weight:600}.t-gap{height:12px}section.block{border-top:1px solid var(--hairline);padding:88px 0}.block-head{display:flex;flex-direction:column;gap:16px;margin-bottom:48px;max-width:60ch}.block-head h2{font-size:clamp(28px,3.4vw,40px);letter-spacing:-.015em}.block-head .lead{color:var(--muted);font-size:17px}.pipeline{display:grid;grid-template-columns:repeat(4,1fr);border:2px solid var(--ink)}.step{border-left:2px solid var(--ink);padding:24px 22px 28px;display:flex;flex-direction:column;gap:12px;min-height:240px;min-width:0;transition:background .15s ease,color .15s ease}.step:first-child{border-left:none}.step .num{font-family:var(--mono);font-size:12px;color:var(--faint);letter-spacing:.18em}.step .slash{font-family:var(--mono);font-size:15px;font-weight:700}.step h3{font-size:19px}.step p{font-size:14px;color:var(--muted);line-height:1.55}.step .artifact{margin-top:auto;font-family:var(--mono);font-size:12px;color:var(--faint)}.step:hover{background:var(--cell-fill);color:var(--cell-text)}.step:hover .num,.step:hover p,.step:hover .artifact{color:color-mix(in oklab,var(--cell-text) 65%,var(--cell-fill))}.pipeline-note{margin-top:18px;font-family:var(--mono);font-size:13px;color:var(--faint)}.features{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--hairline);border-left:1px solid var(--hairline)}.feature{border-right:1px solid var(--hairline);border-bottom:1px solid var(--hairline);padding:36px 34px 40px;display:flex;flex-direction:column;gap:14px;min-width:0}.feature .mark{width:26px;height:26px;background:var(--cell-fill);color:var(--cell-text);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-weight:700;font-size:15px}.feature h3{font-size:21px}.feature p{color:var(--muted);font-size:15.5px}.feature code{font-family:var(--mono);font-size:.9em;background:color-mix(in oklab,var(--ink) 7%,var(--paper));padding:1px 5px}.install-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:2px solid var(--ink)}.install-step{border-left:2px solid var(--ink);padding:28px 26px 32px;display:flex;flex-direction:column;gap:14px;min-width:0}.install-step:first-child{border-left:none}.install-step .num{font-family:var(--mono);font-size:12px;letter-spacing:.18em;color:var(--faint)}.install-step h3{font-size:18px}.install-step .code{font-family:var(--mono);font-size:14px;font-weight:600;background:var(--cell-fill);color:var(--cell-text);padding:12px 14px;white-space:nowrap;overflow-x:auto}.install-step p{font-size:14.5px;color:var(--muted)}.tools-grid{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--hairline);border-left:1px solid var(--hairline)}.tool{border-right:1px solid var(--hairline);border-bottom:1px solid var(--hairline);padding:18px 16px;font-family:var(--mono);font-size:13.5px;font-weight:500;display:flex;align-items:center;gap:10px;min-width:0}.tool:before{content:"";width:7px;height:7px;background:var(--cell-fill);flex:none}.tools-note{margin-top:18px;font-family:var(--mono);font-size:13px;color:var(--faint)}.tools-note a{color:var(--muted)}.os-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:start}.os-points{display:flex;flex-direction:column;border-top:1px solid var(--hairline)}.os-point{display:flex;gap:18px;padding:22px 0;border-bottom:1px solid var(--hairline);font-size:15.5px;color:var(--muted);align-items:baseline}.os-point .tick{width:22px;height:22px;flex:none;background:var(--cell-fill);color:var(--cell-text);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:13px;font-weight:700;transform:translateY(4px)}.mit{display:inline-flex;align-items:center;gap:10px;margin-top:28px;font-family:var(--mono);font-size:13px;font-weight:600;border:1px solid var(--ink);padding:8px 14px}.faq-list{border-top:1px solid var(--hairline);max-width:820px}.faq-list details{border-bottom:1px solid var(--hairline)}.faq-list summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding:24px 4px;font-family:var(--heading);font-weight:600;font-size:18px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";font-family:var(--mono);font-size:20px;color:var(--faint);flex:none}.faq-list details[open] summary:after{content:"−"}.faq-list .answer{padding:0 4px 26px;color:var(--muted);max-width:64ch;font-size:15.5px}.faq-list code{font-family:var(--mono);font-size:.9em}.cta-band{background:var(--cell-fill);color:var(--cell-text);padding:80px 0}.cta-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:32px}.cta-inner h2{font-size:clamp(26px,3vw,36px);letter-spacing:-.015em;max-width:22ch}.cta-band .cmd{border-color:var(--cell-text);color:var(--cell-text)}.cta-band .cmd .copy{border-left-color:color-mix(in oklab,var(--cell-text) 30%,var(--cell-fill))}footer.site{background:var(--cell-fill);color:var(--cell-text);border-top:1px solid color-mix(in oklab,var(--cell-text) 18%,var(--cell-fill));padding:40px 0 48px}.footer-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px}footer.site .logo{border-color:var(--cell-text)}footer.site .logo span{border-left-color:var(--cell-text)}footer.site .logo span.f{background:var(--cell-text);color:var(--cell-fill)}footer.site .logo span.e{color:var(--cell-text)}.footer-links{display:flex;flex-wrap:wrap;gap:24px;font-family:var(--mono);font-size:13px}.footer-links a{color:color-mix(in oklab,var(--cell-text) 70%,var(--cell-fill));text-decoration:none}.footer-links a:hover{color:var(--cell-text)}.footer-meta{font-family:var(--mono);font-size:12px;color:color-mix(in oklab,var(--cell-text) 55%,var(--cell-fill))}@media(max-width:1020px){.hero-grid{grid-template-columns:minmax(0,1fr);gap:48px}.pipeline{grid-template-columns:1fr}.step{border-left:none;border-top:2px solid var(--ink);min-height:0}.step:first-child{border-top:none}.install-steps{grid-template-columns:1fr}.install-step{border-left:none;border-top:2px solid var(--ink)}.install-step:first-child{border-top:none}.tools-grid{grid-template-columns:repeat(3,1fr)}.os-grid{grid-template-columns:1fr;gap:40px}}@media(max-width:640px){.features{grid-template-columns:1fr}.tools-grid{grid-template-columns:repeat(2,1fr)}.nav-links a:not(.gh){display:none}.hero{padding:56px 0 64px}section.block{padding:64px 0}}
