/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@import "https://fonts.googleapis.com/css2?family=Source+Serif+4:opsz,wght@8..60,360;8..60,400;8..60,500;8..60,600&family=Inter:wght@400;450;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap";:root{--paper:#f1f2ef;--surface:#f8f8f5;--surface-raised:#fcfcfa;--sink:#eaebe6;--ink:27,30,27;--ink-strong:#1b1e1beb;--ink-muted:#1b1e1b9e;--ink-faint:#1b1e1b66;--rule:#1b1e1b1a;--rule-strong:#1b1e1b2e;--accent:#6b7355;--accent-strong:#545b3f;--accent-pressed:#595f45;--accent-wash:#e7eadd;--accent-on:#f7f8f2;--positive:#5e7b61;--positive-wash:#e4ebe2;--refusal:#98674c;--refusal-strong:#7c5238;--refusal-wash:#f0e6df;--font-display:"Source Serif 4",Georgia,"Times New Roman",serif;--font-body:"Inter",system-ui,-apple-system,sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,"SF Mono",Menlo,monospace;--display-xl-size:56px;--display-xl-lh:1.06;--display-xl-ls:-.012em;--display-xl-wt:400;--display-l-size:40px;--display-l-lh:1.1;--display-l-ls:-.01em;--display-l-wt:400;--title-size:28px;--title-lh:1.18;--title-ls:-.006em;--title-wt:500;--heading-size:20px;--heading-lh:1.3;--heading-ls:-.002em;--heading-wt:560;--body-l-size:18px;--body-l-lh:1.55;--body-l-ls:0;--body-l-wt:400;--body-size:16px;--body-lh:1.55;--body-ls:0;--body-wt:400;--body-s-size:14px;--body-s-lh:1.5;--body-s-ls:0;--body-s-wt:400;--caption-size:13px;--caption-lh:1.45;--caption-ls:.002em;--caption-wt:450;--mono-size:13.5px;--mono-lh:1.5;--mono-ls:0;--mono-wt:400;--chip-size:12px;--chip-lh:1;--chip-ls:.08em;--chip-wt:560;--radius-sm:3px;--radius-md:6px;--radius-lg:10px;--radius-pill:999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--grid-columns:12;--grid-gutter:24px;--content-max:1120px;--measure:66ch;--dur-fast:.12s;--dur-base:.16s;--dur-enter:.2s;--ease-standard:cubic-bezier(.2,0,0,1);--ease-exit:cubic-bezier(.4,0,1,1)}.tortoise,.tortoise body{background:var(--paper);color:var(--ink-strong);font-family:var(--font-body);font-size:var(--body-size);line-height:var(--body-lh);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.display-xl,.tortoise h1{font-size:var(--display-xl-size);line-height:var(--display-xl-lh);letter-spacing:var(--display-xl-ls);font-weight:var(--display-xl-wt)}.display-l,.display-xl,.tortoise h1,.tortoise h2{font-family:var(--font-display);color:var(--ink-strong);margin:0}.display-l,.tortoise h2{font-size:var(--display-l-size);line-height:var(--display-l-lh);letter-spacing:var(--display-l-ls);font-weight:var(--display-l-wt)}.title{font-family:var(--font-display);font-size:var(--title-size);line-height:var(--title-lh);letter-spacing:var(--title-ls);font-weight:var(--title-wt)}.heading,.title,.tortoise h3{color:var(--ink-strong);margin:0}.heading,.tortoise h3{font-family:var(--font-body);font-size:var(--heading-size);line-height:var(--heading-lh);letter-spacing:var(--heading-ls);font-weight:var(--heading-wt)}.body-l{font-size:var(--body-l-size);line-height:var(--body-l-lh)}.body,.tortoise p{font-size:var(--body-size);line-height:var(--body-lh);color:var(--ink-strong)}.body-s{font-size:var(--body-s-size);line-height:var(--body-s-lh)}.caption{font-size:var(--caption-size);line-height:var(--caption-lh);letter-spacing:var(--caption-ls);font-weight:var(--caption-wt);color:var(--ink-muted)}.mono,.tortoise code,.tortoise kbd{font-family:var(--font-mono);font-size:var(--mono-size);line-height:var(--mono-lh);font-weight:var(--mono-wt)}.chip-label{font-family:var(--font-body);font-size:var(--chip-size);line-height:var(--chip-lh);letter-spacing:var(--chip-ls);font-weight:var(--chip-wt);text-transform:uppercase;color:var(--ink-muted)}.tortoise a{color:var(--accent-strong);text-decoration:none}.tortoise a:hover{text-underline-offset:2px;text-decoration:underline}.tortoise :focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.t-btn{font-family:var(--font-body);letter-spacing:0;border-radius:var(--radius-md);cursor:pointer;transition:background var(--dur-fast)var(--ease-standard),border-color var(--dur-fast)var(--ease-standard);-webkit-user-select:none;user-select:none;border:1px solid #0000;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:500;line-height:1;text-decoration:none;display:inline-flex}.t-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.t-btn:hover{text-decoration:none}.t-btn--primary{background:var(--accent);color:var(--accent-on)}.t-btn--primary:hover{background:var(--accent-strong)}.t-btn--primary:active{background:var(--accent-pressed)}.t-btn--secondary{background:var(--surface);color:var(--ink-strong);border-color:var(--rule-strong)}.t-btn--secondary:hover{background:var(--surface-raised);border-color:var(--ink-faint)}.t-btn--secondary:active{background:var(--sink)}.t-btn--ghost{color:var(--ink-muted);background:0 0}.t-btn--ghost:hover{color:var(--ink-strong)}.t-btn--ghost:active,.t-btn--ghost:hover{background:var(--sink)}.t-btn[disabled]{opacity:.4;cursor:not-allowed}.t-field{flex-direction:column;gap:6px;display:flex}.t-field__label{color:var(--ink-muted);font-size:13px;font-weight:500}.t-input{font-family:var(--font-body);color:var(--ink-strong);background:var(--sink);border:1px solid var(--rule);border-radius:var(--radius-md);width:100%;transition:border-color var(--dur-fast)var(--ease-standard),background var(--dur-fast)var(--ease-standard);padding:10px 12px;font-size:14px}.t-input::placeholder{color:var(--ink-faint)}.t-input:hover{border-color:var(--rule-strong)}.t-input:focus{background:var(--surface-raised);border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-wash);outline:none}.t-card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-lg);padding:20px}.t-card--raised{background:var(--surface-raised);box-shadow:0 1px 2px #1b1e1b0a}.t-row{border-radius:var(--radius-md);cursor:pointer;transition:background var(--dur-fast)var(--ease-standard);border:1px solid #0000;align-items:center;gap:12px;padding:12px 14px;display:flex}.t-row:hover{background:var(--surface)}.t-row[aria-selected=true]{background:var(--accent-wash)}.t-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.t-panel{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-lg);overflow:hidden}.t-panel__head{border-bottom:1px solid var(--rule);align-items:center;gap:10px;padding:12px 16px;display:flex}.t-panel__title{color:var(--ink-strong);font-size:14px;font-weight:560}.t-panel__body{padding:14px 16px}.t-chip{font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);border:1px solid var(--rule-strong);border-radius:var(--radius-pill);cursor:pointer;transition:background var(--dur-fast)var(--ease-standard),color var(--dur-fast)var(--ease-standard);background:0 0;padding:6px 12px;font-size:12px;font-weight:560}.t-chip:hover{background:var(--sink)}.t-chip[aria-pressed=true]{background:var(--accent);color:var(--accent-on);border-color:var(--accent)}.t-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.t-rule{background:var(--rule);border:none;height:1px;margin:0}.t-rule--strong{background:var(--rule-strong)}.t-dot{border-radius:999px;flex:none;width:8px;height:8px;display:inline-block}.t-dot--live{background:var(--positive)}.t-dot--idle{background:var(--ink-faint)}.t-dot--refused{background:var(--refusal)}.t-dot--queued{background:var(--accent)}.t-status{color:var(--ink-muted);align-items:center;gap:7px;font-size:12.5px;display:inline-flex}*{box-sizing:border-box}body,html{margin:0}body{background:var(--paper);color:var(--ink-strong);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img{display:block}.wrap{max-width:var(--content-max);margin:0 auto;padding:0 40px}.wrap--narrow{max-width:760px}.tortoise a.t-btn--primary{color:var(--accent-on)}.tortoise a.t-btn--secondary{color:var(--ink-strong)}.tortoise a.t-btn--ghost{color:var(--ink-muted)}.tortoise a.t-btn--ghost:hover{color:var(--ink-strong)}.tortoise a.t-btn:hover{text-decoration:none}.nav{border-bottom:1px solid var(--rule)}.nav-in{height:72px}.nav-in,.nav-in .brand{align-items:center;gap:13px;display:flex}.nav-in .brand:hover{text-decoration:none}.nav-in .brand img{width:26px;height:26px}.nav-in .wm{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink-strong);font-size:22px;font-weight:500}.nav-in .links{align-items:center;gap:30px;margin-left:auto;display:flex}.nav-in .links a{color:var(--ink-muted);font-size:14px}.nav-in .links a:hover{text-decoration:none}.nav-in .links a:hover,.nav-in .links a[aria-current=page]{color:var(--ink-strong)}.hero{border-bottom:1px solid var(--rule);padding:116px 0 100px}.hero .eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-strong);margin:0 0 26px;font-size:12px;font-weight:560}.hero h1{font-family:var(--font-display);letter-spacing:-.014em;max-width:17ch;margin:0 0 26px;font-size:60px;font-weight:400;line-height:1.06}.hero p{color:var(--ink-muted);text-wrap:pretty;max-width:54ch;margin:0 0 36px;font-size:20px;line-height:1.55}.hero .cta{flex-wrap:wrap;gap:12px;display:flex}.t-btn--lg{padding:13px 22px;font-size:15px}section.block{border-bottom:1px solid var(--rule);padding:84px 0}section.block:last-of-type{border-bottom:none}.sec-head{align-items:baseline;gap:18px;margin-bottom:40px;display:flex}.sec-head .n{font-family:var(--font-mono);color:var(--ink-faint);font-size:13px}.sec-head h2{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:34px;font-weight:500}.sec-head p{max-width:42ch;color:var(--ink-muted);text-wrap:pretty;margin:0 0 0 auto;font-size:16px;line-height:1.55}.products{grid-template-columns:1fr 1fr;gap:24px;display:grid}.pcard{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-lg);color:inherit;transition:border-color var(--dur-base)var(--ease-standard),background var(--dur-base)var(--ease-standard);flex-direction:column;gap:14px;padding:28px 28px 24px;display:flex}a.pcard:hover{border-color:var(--rule-strong);background:var(--surface-raised);text-decoration:none}a.pcard:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pcard .ph{align-items:center;gap:14px;display:flex}.logo-slot{flex:none;width:40px;height:40px;position:relative}.logo-slot img{object-fit:contain;border-radius:9px;width:40px;height:40px;display:none}.logo-slot.has-logo img{display:block}.logo-slot.has-logo .sq{display:none}.pcard .sq{border-radius:9px;flex:none;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.pcard .sq i{border-radius:3px;width:14px;height:14px;display:block}.pcard h3{font-family:var(--font-display);margin:0;font-size:24px;font-weight:500;line-height:1.15}.pcard .meta{color:var(--ink-faint);margin-top:3px;font-size:12.5px}.pcard p{color:var(--ink-muted);text-wrap:pretty;margin:0;font-size:15.5px;line-height:1.55}.pcard .foot{align-items:center;gap:10px;margin-top:auto;padding-top:4px;display:flex}.pcard .foot .go{color:var(--ink-faint);margin-left:auto;font-size:13px}a.pcard:hover .foot .go{color:var(--accent-strong)}.pcard--soon{background:0 0;border-style:dashed}.pcard--soon h3{color:var(--ink-muted)}.commits{grid-template-columns:repeat(3,1fr);gap:28px;margin-bottom:44px;display:grid}.commit{border-left:2px solid var(--accent);padding:4px 0 4px 22px}.commit h4{font-family:var(--font-display);margin:0 0 8px;font-size:20px;font-weight:500}.commit p{color:var(--ink-muted);text-wrap:pretty;margin:0;font-size:15px;line-height:1.55}.refuse{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-lg);overflow:hidden}.refuse .rh{border-bottom:1px solid var(--rule);align-items:center;gap:10px;padding:16px 24px;display:flex}.refuse .rh .t{color:var(--ink-strong);font-size:14px;font-weight:560}.refuse .rh .note{color:var(--ink-muted);margin-left:auto;font-size:13px}.rrow{border-bottom:1px solid var(--rule);align-items:center;gap:16px;padding:16px 24px;display:flex}.rrow:last-child{border-bottom:none}.rrow .what{color:var(--ink-strong);font-size:15px}.rrow .why{color:var(--refusal-strong);font-size:13.5px;font-family:var(--font-mono);margin-left:auto}.page{padding:84px 0 104px}.back{color:var(--ink-muted);align-items:center;gap:7px;margin-bottom:28px;font-size:14px;display:inline-flex}.back:hover{color:var(--ink-strong);text-decoration:none}.back svg{width:15px;height:15px}.page .eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-strong);margin:0 0 14px;font-size:12px;font-weight:560}.page .brand-logo{margin:0 0 22px;display:none}.page .brand-logo.has-logo{display:block}.page .brand-logo img{object-fit:contain;border-radius:12px;width:54px;height:54px;display:block}.page h1{font-family:var(--font-display);letter-spacing:-.012em;margin:0 0 8px;font-size:52px;font-weight:400;line-height:1.08}.page .byline{color:var(--ink-faint);margin:0 0 40px;font-size:13px}.prose{max-width:62ch}.prose .lede{color:var(--ink-strong);font-size:22px;line-height:1.5;font-family:var(--font-display);text-wrap:pretty;margin:0 0 28px}.prose p{color:var(--ink-muted);text-wrap:pretty;margin:0 0 22px;font-size:18px;line-height:1.62}.prose h2{font-family:var(--font-display);color:var(--ink-strong);letter-spacing:-.006em;margin:48px 0 18px;font-size:28px;font-weight:500}.detail-cta,.detail-note{margin-top:44px}.detail-note{color:var(--ink-muted);font-size:14px;font-style:italic}.form{flex-direction:column;gap:22px;max-width:520px;display:flex}.form .t-input{padding:12px 14px;font-size:15px}.form textarea.t-input{resize:vertical;min-height:132px}.form .err{color:var(--refusal-strong);margin:0;font-size:14px}.foot{border-top:1px solid var(--rule);margin-top:0;padding:48px 0}.foot-in{align-items:center;gap:14px;display:flex}.foot-in img{width:22px;height:22px}.foot-in .wm{font-family:var(--font-display);color:var(--ink-strong);font-size:18px}.foot-in .c{color:var(--ink-faint);font-size:13px}.foot-in .links{gap:24px;margin-left:auto;display:flex}.foot-in .links a{color:var(--ink-muted);font-size:13px}.foot-in .links a:hover{color:var(--ink-strong);text-decoration:none}@media (prefers-reduced-motion:no-preference){html.anim .hero .wrap,html.anim .pcard,html.anim main.page .wrap{opacity:0;animation:t-enter var(--dur-enter)var(--ease-standard)forwards;transform:translateY(8px)}}@keyframes t-enter{to{opacity:1;transform:none}}@media (max-width:880px){.wrap{padding:0 24px}.hero{padding:80px 0 64px}.hero h1{font-size:42px}.hero p{font-size:18px}.sec-head{flex-direction:column;gap:8px}.sec-head p{margin:4px 0 0}.commits,.products{grid-template-columns:1fr}.commits{gap:20px}.page h1{font-size:38px}.prose .lede{font-size:20px}.prose p{font-size:17px}.rrow{flex-direction:column;align-items:flex-start;gap:6px}.rrow .why{margin-left:0}}@media (max-width:560px){.nav-in .links{gap:18px}.foot-in{flex-wrap:wrap}.foot-in .links{width:100%;margin-left:0}}