html[data-product=rails-baseline]{--rb-bg:#090a0c;--rb-panel:#101216;--rb-panel-raised:#15181d;--rb-line:#292d34;--rb-line-strong:#3a4049;--rb-ink:#f2f1ee;--rb-muted:#a3a7ae;--rb-dim:#747983;--rb-red:#e5463b;--rb-red-soft:#ff796f;--rb-cool:#86a9d7;--rb-green:#6fcf97;--accent:var(--rb-red);--paper:var(--rb-bg);--ink:var(--rb-ink);--page-max:92rem;color-scheme:dark;scroll-behavior:smooth}html[data-product=rails-baseline] body{background:linear-gradient(#ffffff05 1px, transparent 1px), linear-gradient(90deg, #ffffff05 1px, transparent 1px), var(--rb-bg);color:var(--rb-ink);background-size:44px 44px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html[data-product=rails-baseline] main[data-content-width=full]{padding:0;overflow:clip}html[data-product=rails-baseline] ::selection{color:#fff;background:#e5463b57}html[data-product=rails-baseline] a:focus-visible,html[data-product=rails-baseline] button:focus-visible,html[data-product=rails-baseline] summary:focus-visible{outline:2px solid var(--rb-red-soft);outline-offset:4px}html[data-product=rails-baseline] footer{border-color:var(--rb-line);color:var(--rb-muted);margin-top:0;max-width:88rem!important}html[data-product=rails-baseline] footer a{color:var(--rb-ink)}@media (prefers-reduced-motion:reduce){html[data-product=rails-baseline]{scroll-behavior:auto}html[data-product=rails-baseline] *,html[data-product=rails-baseline] :before,html[data-product=rails-baseline] :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.repository-context:where(.astro-6vqjdm3r){border:1px solid var(--rb-line-strong);background:#0d0f12;grid-template-rows:auto 1fr auto;grid-template-columns:.8fr 1.25fr;min-width:0;display:grid;position:relative;box-shadow:0 30px 80px #00000070}.repository-context:where(.astro-6vqjdm3r):after{content:"";pointer-events:none;z-index:-1;border:1px solid #e5463b2e;position:absolute;inset:12px -12px -12px 12px}.window-bar:where(.astro-6vqjdm3r){border-bottom:1px solid var(--rb-line);grid-column:1/-1;align-items:center;gap:.42rem;height:2.35rem;padding:0 .8rem;display:flex}.window-bar:where(.astro-6vqjdm3r) i:where(.astro-6vqjdm3r){background:#3d424b;border-radius:50%;width:.48rem;height:.48rem}.window-bar:where(.astro-6vqjdm3r) i:where(.astro-6vqjdm3r):first-child{background:var(--rb-red)}.window-bar:where(.astro-6vqjdm3r) span:where(.astro-6vqjdm3r){color:var(--rb-dim);margin-left:.35rem;font:.62rem ui-monospace,SFMono-Regular,monospace}.pane-label:where(.astro-6vqjdm3r){color:var(--rb-dim);letter-spacing:.11em;text-transform:uppercase;margin:0 0 1rem;font:700 .61rem ui-monospace,SFMono-Regular,monospace}.repo-pane:where(.astro-6vqjdm3r){border-right:1px solid var(--rb-line);grid-row:2/4;padding:1.1rem}.repo-pane:where(.astro-6vqjdm3r) pre:where(.astro-6vqjdm3r){color:#888e98;margin:0;font:.7rem/1.75 ui-monospace,SFMono-Regular,monospace}.repo-pane:where(.astro-6vqjdm3r) strong:where(.astro-6vqjdm3r){color:var(--rb-ink)}.repo-pane:where(.astro-6vqjdm3r) b:where(.astro-6vqjdm3r){color:var(--rb-red-soft);font-weight:600}.context-pane:where(.astro-6vqjdm3r){min-width:0;padding:0 1.2rem 1.25rem}.tab:where(.astro-6vqjdm3r){border-bottom:1px solid var(--rb-line);justify-content:space-between;margin:0 -1.2rem 1.25rem;padding:.75rem 1.2rem;display:flex}.tab:where(.astro-6vqjdm3r) span:where(.astro-6vqjdm3r){color:var(--rb-ink);font:.68rem ui-monospace,SFMono-Regular,monospace}.tab:where(.astro-6vqjdm3r) small:where(.astro-6vqjdm3r){color:var(--rb-cool);text-transform:uppercase;font:.58rem ui-monospace,SFMono-Regular,monospace}.context-pane:where(.astro-6vqjdm3r)>p:where(.astro-6vqjdm3r){color:var(--rb-muted);margin:.3rem 0 1rem;font-size:.78rem}.context-pane:where(.astro-6vqjdm3r) ol:where(.astro-6vqjdm3r){gap:.72rem;margin:0;padding:0;list-style:none;display:grid}.context-pane:where(.astro-6vqjdm3r) li:where(.astro-6vqjdm3r){color:#c9cbd0;font-size:.75rem}.context-pane:where(.astro-6vqjdm3r) li:where(.astro-6vqjdm3r) span:where(.astro-6vqjdm3r){color:var(--rb-dim);margin-right:.65rem;font:.6rem ui-monospace,monospace}.context-pane:where(.astro-6vqjdm3r) code:where(.astro-6vqjdm3r){color:var(--rb-cool);font-size:.69rem}.task-pane:where(.astro-6vqjdm3r){border-top:1px solid var(--rb-line);min-width:0;padding:1rem 1.2rem}.task-pane:where(.astro-6vqjdm3r)>strong:where(.astro-6vqjdm3r){margin-bottom:1.25rem;font-size:.8rem;display:block}.task-pane:where(.astro-6vqjdm3r) .found:where(.astro-6vqjdm3r){color:var(--rb-cool);margin-bottom:.65rem}.task-pane:where(.astro-6vqjdm3r) ul:where(.astro-6vqjdm3r){flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.task-pane:where(.astro-6vqjdm3r) li:where(.astro-6vqjdm3r){border:1px solid var(--rb-line);color:var(--rb-muted);padding:.3rem .42rem;font:.58rem ui-monospace,monospace}.task-pane:where(.astro-6vqjdm3r) li:where(.astro-6vqjdm3r):before{color:var(--rb-green);content:"✓ "}.ready:where(.astro-6vqjdm3r){border-top:1px solid var(--rb-line);align-items:center;gap:.5rem;margin:1rem 0 -.2rem;padding-top:.8rem;display:flex}.ready:where(.astro-6vqjdm3r) i:where(.astro-6vqjdm3r){background:var(--rb-green);border-radius:50%;width:.42rem;height:.42rem;box-shadow:0 0 0 4px #6fcf9714}.ready:where(.astro-6vqjdm3r) span:where(.astro-6vqjdm3r){color:var(--rb-green);text-transform:uppercase;font:600 .61rem ui-monospace,monospace}@media (width<=720px){.repository-context:where(.astro-6vqjdm3r){grid-template-rows:auto auto auto auto;grid-template-columns:1fr}.repo-pane:where(.astro-6vqjdm3r){border-bottom:1px solid var(--rb-line);border-right:0;grid-row:auto}.repo-pane:where(.astro-6vqjdm3r) pre:where(.astro-6vqjdm3r){font-size:.64rem}.context-pane:where(.astro-6vqjdm3r){padding-top:0}.task-pane:where(.astro-6vqjdm3r){grid-row:auto}}.architecture-flow:where(.astro-frs63twc){background:var(--rb-panel);border:1px solid var(--rb-line);grid-template-columns:1.25fr 1fr .7fr;gap:1px;display:grid}.architecture-flow:where(.astro-frs63twc) section:where(.astro-frs63twc),.architecture-flow:where(.astro-frs63twc) aside:where(.astro-frs63twc){min-width:0;padding:1.4rem}.architecture-flow:where(.astro-frs63twc) section:where(.astro-frs63twc)+section:where(.astro-frs63twc),.architecture-flow:where(.astro-frs63twc) aside:where(.astro-frs63twc){border-left:1px solid var(--rb-line)}.architecture-flow:where(.astro-frs63twc) p:where(.astro-frs63twc){color:var(--rb-dim);letter-spacing:.1em;text-transform:uppercase;margin:0 0 1.2rem;font:700 .62rem ui-monospace,monospace}.flow-line:where(.astro-frs63twc){flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.flow-line:where(.astro-frs63twc) span:where(.astro-frs63twc),.flow-line:where(.astro-frs63twc) strong:where(.astro-frs63twc){border:1px solid var(--rb-line-strong);padding:.48rem .55rem;font:.65rem ui-monospace,monospace}.flow-line:where(.astro-frs63twc) strong:where(.astro-frs63twc){color:#fff;border-color:#e5463b8c}.flow-line:where(.astro-frs63twc) i:where(.astro-frs63twc){color:var(--rb-dim);font-style:normal;transform:rotate(-90deg)}aside:where(.astro-frs63twc){gap:1rem;display:grid}aside:where(.astro-frs63twc) div:where(.astro-frs63twc){gap:.25rem;display:grid}aside:where(.astro-frs63twc) small:where(.astro-frs63twc){color:var(--rb-dim);text-transform:uppercase;font:.58rem ui-monospace,monospace}aside:where(.astro-frs63twc) strong:where(.astro-frs63twc){font-size:.78rem}@media (width<=800px){.architecture-flow:where(.astro-frs63twc){grid-template-columns:1fr}.architecture-flow:where(.astro-frs63twc) section:where(.astro-frs63twc)+section:where(.astro-frs63twc),.architecture-flow:where(.astro-frs63twc) aside:where(.astro-frs63twc){border-left:0;border-top:1px solid var(--rb-line)}.flow-line:where(.astro-frs63twc){flex-direction:column;align-items:flex-start}.flow-line:where(.astro-frs63twc) i:where(.astro-frs63twc){margin-left:1rem;transform:none}}.agent-session:where(.astro-h4nd54hu){border:1px solid var(--rb-line-strong);background:#0c0e11;min-width:0;font-family:ui-monospace,SFMono-Regular,monospace;box-shadow:0 24px 60px #00000052}.session-head:where(.astro-h4nd54hu){border-bottom:1px solid var(--rb-line);justify-content:space-between;padding:.85rem 1rem;display:flex}.session-head:where(.astro-h4nd54hu) span:where(.astro-h4nd54hu){color:var(--rb-ink);font-size:.68rem}.session-head:where(.astro-h4nd54hu) small:where(.astro-h4nd54hu){color:var(--rb-green);text-transform:uppercase;font-size:.58rem}.request:where(.astro-h4nd54hu){gap:.8rem;padding:1.3rem;display:flex}.request:where(.astro-h4nd54hu)>span:where(.astro-h4nd54hu){color:var(--rb-red);font-size:1.15rem}.request:where(.astro-h4nd54hu) p:where(.astro-h4nd54hu){color:#d6d7da;margin:0;font-size:.75rem;line-height:1.65}.request:where(.astro-h4nd54hu) code:where(.astro-h4nd54hu){color:var(--rb-cool)}ol:where(.astro-h4nd54hu){border-top:1px solid var(--rb-line);margin:0;padding:0;list-style:none}li:where(.astro-h4nd54hu){border-bottom:1px solid var(--rb-line);grid-template-columns:3.5rem 1fr auto;align-items:center;gap:.8rem;padding:.75rem 1rem;display:grid}li:where(.astro-h4nd54hu) b:where(.astro-h4nd54hu){color:var(--rb-red-soft);text-transform:uppercase;font-size:.58rem}li:where(.astro-h4nd54hu):nth-child(n+3) b:where(.astro-h4nd54hu){color:var(--rb-cool)}li:where(.astro-h4nd54hu) span:where(.astro-h4nd54hu){color:var(--rb-muted);overflow-wrap:anywhere;font-size:.67rem}li:where(.astro-h4nd54hu) i:where(.astro-h4nd54hu){color:var(--rb-dim);text-transform:uppercase;font-size:.52rem;font-style:normal}.implement:where(.astro-h4nd54hu){background:#111a16;align-items:center;gap:.6rem;padding:1rem;display:flex}.implement:where(.astro-h4nd54hu) i:where(.astro-h4nd54hu){background:var(--rb-green);border-radius:50%;width:.45rem;height:.45rem}.implement:where(.astro-h4nd54hu) strong:where(.astro-h4nd54hu){color:var(--rb-green);text-transform:uppercase;font-size:.64rem}@media (width<=540px){.session-head:where(.astro-h4nd54hu) small:where(.astro-h4nd54hu){display:none}li:where(.astro-h4nd54hu){grid-template-columns:3rem 1fr}li:where(.astro-h4nd54hu) i:where(.astro-h4nd54hu){display:none}}.shell:where(.astro-e2bazwba){max-width:88rem;margin-inline:auto;padding-inline:clamp(1rem,4vw,3rem)}.section:where(.astro-e2bazwba){padding-block:clamp(5.5rem,10vw,10rem);scroll-margin-top:5.5rem}.kicker:where(.astro-e2bazwba){color:var(--rb-red-soft);letter-spacing:.14em;text-transform:uppercase;margin:0;font:700 .68rem ui-monospace,SFMono-Regular,monospace}.rb-nav:where(.astro-e2bazwba){backdrop-filter:blur(16px);z-index:20;background:#090a0ce0;border-bottom:1px solid #ffffff14;grid-template-columns:1fr auto 1fr;align-items:center;gap:1.5rem;height:4.4rem;padding:0 clamp(1rem,3vw,2.5rem);display:grid;position:sticky;top:0}.wordmark:where(.astro-e2bazwba){color:var(--rb-ink);align-items:center;gap:.7rem;font-weight:750;text-decoration:none;display:flex}.wordmark:where(.astro-e2bazwba) i:where(.astro-e2bazwba){background:var(--rb-red);color:#fff;justify-content:center;align-items:center;width:1.65rem;height:1.65rem;font:800 .64rem ui-monospace,monospace;display:flex}.rb-nav:where(.astro-e2bazwba) nav:where(.astro-e2bazwba){gap:1.3rem;display:flex}.rb-nav:where(.astro-e2bazwba) nav:where(.astro-e2bazwba) a:where(.astro-e2bazwba),.back-link:where(.astro-e2bazwba){color:var(--rb-muted);font-size:.74rem;text-decoration:none;transition:color .2s}.rb-nav:where(.astro-e2bazwba) nav:where(.astro-e2bazwba) a:where(.astro-e2bazwba):hover,.back-link:where(.astro-e2bazwba):hover{color:var(--rb-ink)}.nav-actions:where(.astro-e2bazwba){justify-self:end;align-items:center;gap:1rem;display:flex}.rb-nav:where(.astro-e2bazwba) .early-access{border-radius:3px;padding:.62rem .8rem;font-size:.7rem}.hero:where(.astro-e2bazwba){grid-template-columns:minmax(0,.92fr) minmax(34rem,1.08fr);align-items:center;gap:clamp(3rem,6vw,6rem);min-height:calc(100svh - 4.4rem);padding-block:clamp(5rem,9vw,8rem);display:grid}.hero-copy:where(.astro-e2bazwba) h1:where(.astro-e2bazwba){letter-spacing:-.072em;max-width:12ch;margin:1rem 0 1.7rem;font-size:clamp(3.2rem,6.3vw,6.8rem);line-height:.88}.lede:where(.astro-e2bazwba){color:var(--rb-muted);max-width:42rem;font-size:clamp(1rem,1.4vw,1.14rem);line-height:1.72}.hero-actions:where(.astro-e2bazwba){flex-wrap:wrap;align-items:center;gap:1.25rem;margin-top:2rem;display:flex}.hero-actions:where(.astro-e2bazwba) .early-access,.pricing:where(.astro-e2bazwba) .early-access,.final-cta:where(.astro-e2bazwba) .early-access{border-radius:3px;padding:.9rem 1.15rem}.hero-actions:where(.astro-e2bazwba)>a:where(.astro-e2bazwba):not(.early-access){color:var(--rb-ink);font-size:.82rem;font-weight:700;text-decoration:none}.price-note:where(.astro-e2bazwba){flex-wrap:wrap;gap:.8rem;margin-top:1.1rem;font:600 .66rem ui-monospace,monospace;display:flex}.price-note:where(.astro-e2bazwba) strong:where(.astro-e2bazwba){color:#fff}.price-note:where(.astro-e2bazwba) span:where(.astro-e2bazwba){color:var(--rb-dim)}.section-heading:where(.astro-e2bazwba){max-width:58rem}.section-heading:where(.astro-e2bazwba) h2:where(.astro-e2bazwba),.agent-copy:where(.astro-e2bazwba) h2:where(.astro-e2bazwba),.pricing:where(.astro-e2bazwba) h2:where(.astro-e2bazwba),.founder:where(.astro-e2bazwba) h2:where(.astro-e2bazwba){letter-spacing:-.06em;margin:.9rem 0 1.5rem;font-size:clamp(2.6rem,5.4vw,5.7rem);line-height:.94}.section-heading:where(.astro-e2bazwba) h2:where(.astro-e2bazwba) code:where(.astro-e2bazwba){color:var(--rb-red-soft);font:inherit}.section-heading:where(.astro-e2bazwba)>p:where(.astro-e2bazwba):last-child,.agent-copy:where(.astro-e2bazwba)>p:where(.astro-e2bazwba):not(.kicker),.pricing-copy:where(.astro-e2bazwba)>p:where(.astro-e2bazwba):last-child{color:var(--rb-muted);max-width:44rem;font-size:1.06rem;line-height:1.7}.decision-story:where(.astro-e2bazwba){border-top:1px solid var(--rb-line)}.story-copy:where(.astro-e2bazwba){grid-template-columns:1fr 1fr;gap:1.5rem;max-width:60rem;margin:3.5rem 0;display:grid}.story-copy:where(.astro-e2bazwba) p:where(.astro-e2bazwba){color:var(--rb-muted);margin:0;font-size:1.08rem;line-height:1.65}.question-grid:where(.astro-e2bazwba){border-left:1px solid var(--rb-line);border-top:1px solid var(--rb-line);grid-template-columns:repeat(4,1fr);display:grid}.question-grid:where(.astro-e2bazwba) div:where(.astro-e2bazwba){border-bottom:1px solid var(--rb-line);border-right:1px solid var(--rb-line);min-height:8rem;padding:1.1rem}.question-grid:where(.astro-e2bazwba) span:where(.astro-e2bazwba),.starter-compare:where(.astro-e2bazwba) article:where(.astro-e2bazwba)>span:where(.astro-e2bazwba),.ownership:where(.astro-e2bazwba) article:where(.astro-e2bazwba)>span:where(.astro-e2bazwba){color:var(--rb-red-soft);letter-spacing:.1em;text-transform:uppercase;font:700 .59rem ui-monospace,monospace}.question-grid:where(.astro-e2bazwba) p:where(.astro-e2bazwba){color:#d3d4d7;font-size:.82rem;line-height:1.5}.decision-story:where(.astro-e2bazwba) blockquote:where(.astro-e2bazwba){border-left:3px solid var(--rb-red);gap:.8rem;margin:4rem 0 0;padding-left:1.5rem;display:grid}.decision-story:where(.astro-e2bazwba) blockquote:where(.astro-e2bazwba) span:where(.astro-e2bazwba){color:var(--rb-muted);font-size:.85rem}.decision-story:where(.astro-e2bazwba) blockquote:where(.astro-e2bazwba) strong:where(.astro-e2bazwba){letter-spacing:-.045em;font-size:clamp(1.6rem,3vw,2.8rem);line-height:1.12}.comparison-section:where(.astro-e2bazwba){background:#101216c7}.repo-comparison:where(.astro-e2bazwba){grid-template-columns:1fr auto 1fr;align-items:stretch;gap:1rem;margin-top:4rem;display:grid}.repo-comparison:where(.astro-e2bazwba) article:where(.astro-e2bazwba){border:1px solid var(--rb-line);background:#0d0f12;flex-direction:column;min-width:0;display:flex}.repo-comparison:where(.astro-e2bazwba) header:where(.astro-e2bazwba){border-bottom:1px solid var(--rb-line);justify-content:space-between;padding:1rem;display:flex}.repo-comparison:where(.astro-e2bazwba) header:where(.astro-e2bazwba) span:where(.astro-e2bazwba){text-transform:uppercase;font:700 .65rem ui-monospace,monospace}.repo-comparison:where(.astro-e2bazwba) header:where(.astro-e2bazwba) code:where(.astro-e2bazwba){color:var(--rb-dim);font-size:.61rem}.repo-comparison:where(.astro-e2bazwba) ul:where(.astro-e2bazwba){grid-template-columns:1fr 1fr;gap:.65rem;margin:0;padding:1.5rem;list-style:none;display:grid}.repo-comparison:where(.astro-e2bazwba) li:where(.astro-e2bazwba){color:var(--rb-muted);font:.7rem ui-monospace,monospace}.baseline:where(.astro-e2bazwba) li:where(.astro-e2bazwba):before{color:var(--rb-green);content:"✓ "}.repo-comparison:where(.astro-e2bazwba) article:where(.astro-e2bazwba)>p:where(.astro-e2bazwba){border-top:1px solid var(--rb-line);color:var(--rb-muted);margin:auto 0 0;padding:1rem;font-size:.78rem;line-height:1.5}.baseline:where(.astro-e2bazwba){border-color:#e5463b85!important}.baseline:where(.astro-e2bazwba) header:where(.astro-e2bazwba) span:where(.astro-e2bazwba){color:var(--rb-red-soft)}.comparison-arrow:where(.astro-e2bazwba){color:var(--rb-red);align-self:center;font-size:1.6rem}.different:where(.astro-e2bazwba){border-bottom:1px solid var(--rb-line)}.starter-compare:where(.astro-e2bazwba){grid-template-columns:1fr 1fr;margin-top:4rem;display:grid}.starter-compare:where(.astro-e2bazwba) article:where(.astro-e2bazwba){border:1px solid var(--rb-line);padding:2rem}.starter-compare:where(.astro-e2bazwba) article:where(.astro-e2bazwba)+article:where(.astro-e2bazwba){border-color:#e5463b7a;margin-left:-1px}.starter-compare:where(.astro-e2bazwba) ul:where(.astro-e2bazwba){gap:.75rem;margin:1.8rem 0;padding:0;list-style:none;display:grid}.starter-compare:where(.astro-e2bazwba) li:where(.astro-e2bazwba){color:var(--rb-muted);font-size:.86rem}.starter-compare:where(.astro-e2bazwba) article:where(.astro-e2bazwba)+article:where(.astro-e2bazwba) li:where(.astro-e2bazwba){color:#e4e3e0}.starter-compare:where(.astro-e2bazwba) article:where(.astro-e2bazwba)>p:where(.astro-e2bazwba){border-top:1px solid var(--rb-line);color:var(--rb-dim);margin:0;padding-top:1rem;font-size:.75rem}.hundred-k:where(.astro-e2bazwba){color:var(--rb-dim);letter-spacing:-.045em;max-width:68rem;margin:5rem 0 0;font-size:clamp(1.6rem,3.2vw,3.2rem);line-height:1.18}.hundred-k:where(.astro-e2bazwba) strong:where(.astro-e2bazwba){color:var(--rb-ink)}.code-contracts:where(.astro-e2bazwba){grid-template-columns:1fr 1fr;margin:4rem 0;display:grid}.code-contracts:where(.astro-e2bazwba) article:where(.astro-e2bazwba){border:1px solid var(--rb-line);min-width:0;padding:1.2rem}.code-contracts:where(.astro-e2bazwba) article:where(.astro-e2bazwba):nth-child(2n){margin-left:-1px}.code-contracts:where(.astro-e2bazwba) article:where(.astro-e2bazwba):nth-child(n+3){margin-top:-1px}.code-contracts:where(.astro-e2bazwba) span:where(.astro-e2bazwba){color:var(--rb-red-soft);text-transform:uppercase;font:700 .58rem ui-monospace,monospace}.code-contracts:where(.astro-e2bazwba) pre:where(.astro-e2bazwba){border-left:2px solid var(--rb-red);color:#d9dadd;background:#0c0e11;margin:1rem 0;padding:1rem;font:.75rem/1.7 ui-monospace,monospace;overflow:auto}.code-contracts:where(.astro-e2bazwba) p:where(.astro-e2bazwba){color:var(--rb-muted);font-size:.76rem}.stripe-boundary:where(.astro-e2bazwba){color:var(--rb-muted);margin:-1.5rem 0 3rem;font-size:1.1rem}.stripe-boundary:where(.astro-e2bazwba) strong:where(.astro-e2bazwba){color:var(--rb-ink)}.patterns:where(.astro-e2bazwba){border-top:1px solid var(--rb-line)}.pattern-search:where(.astro-e2bazwba){border:1px solid var(--rb-line-strong);background:#0c0e11;margin-top:4rem}.search-head:where(.astro-e2bazwba){border-bottom:1px solid var(--rb-line);grid-template-columns:auto 1fr auto;align-items:center;gap:.8rem;padding:1rem;display:grid}.search-head:where(.astro-e2bazwba) span:where(.astro-e2bazwba){color:var(--rb-red);font-size:1.2rem}.search-head:where(.astro-e2bazwba) p:where(.astro-e2bazwba){color:var(--rb-dim);margin:0;font:.7rem ui-monospace,monospace}.search-head:where(.astro-e2bazwba) kbd:where(.astro-e2bazwba){background:var(--rb-panel-raised);border:1px solid var(--rb-line);color:var(--rb-dim);padding:.25rem;font:.55rem ui-monospace,monospace}.pattern-search:where(.astro-e2bazwba) ol:where(.astro-e2bazwba){margin:0;padding:0;list-style:none}.pattern-search:where(.astro-e2bazwba) li:where(.astro-e2bazwba){border-bottom:1px solid var(--rb-line);grid-template-columns:2rem minmax(10rem,.75fr) auto 1fr;align-items:center;gap:1rem;padding:.9rem 1rem;display:grid}.pattern-search:where(.astro-e2bazwba) li:where(.astro-e2bazwba):last-child{border:0}.pattern-search:where(.astro-e2bazwba) small:where(.astro-e2bazwba){color:var(--rb-dim);font:.55rem ui-monospace,monospace}.pattern-search:where(.astro-e2bazwba) strong:where(.astro-e2bazwba){font-size:.76rem}.pattern-search:where(.astro-e2bazwba) li:where(.astro-e2bazwba)>span:where(.astro-e2bazwba){color:var(--rb-red)}.pattern-search:where(.astro-e2bazwba) li:where(.astro-e2bazwba) p:where(.astro-e2bazwba){color:var(--rb-muted);margin:0;font:.68rem ui-monospace,monospace}.section-close:where(.astro-e2bazwba){color:var(--rb-muted);max-width:52rem;margin:2rem 0 0;font-size:1.05rem;line-height:1.6}.section-close:where(.astro-e2bazwba) strong:where(.astro-e2bazwba){color:var(--rb-ink)}.rails-first:where(.astro-e2bazwba){border-top:1px solid var(--rb-line)}.ownership:where(.astro-e2bazwba){grid-template-columns:1.2fr .8fr;margin-top:4rem;display:grid}.ownership:where(.astro-e2bazwba) article:where(.astro-e2bazwba){border:1px solid var(--rb-line);padding:1.5rem}.ownership:where(.astro-e2bazwba) article:where(.astro-e2bazwba)+article:where(.astro-e2bazwba){border-left:0}.ownership:where(.astro-e2bazwba) ul:where(.astro-e2bazwba),.optional:where(.astro-e2bazwba) ul:where(.astro-e2bazwba){flex-wrap:wrap;gap:.55rem;margin:1.5rem 0 0;padding:0;list-style:none;display:flex}.ownership:where(.astro-e2bazwba) li:where(.astro-e2bazwba),.optional:where(.astro-e2bazwba) li:where(.astro-e2bazwba){background:var(--rb-panel);border:1px solid var(--rb-line);color:var(--rb-muted);padding:.45rem .55rem;font:.66rem ui-monospace,monospace}.ownership:where(.astro-e2bazwba) small:where(.astro-e2bazwba){color:var(--rb-dim);text-transform:uppercase;margin-top:2rem;font:.58rem ui-monospace,monospace;display:block}.rails-mantra:where(.astro-e2bazwba){letter-spacing:-.06em;margin:4rem 0 0;font-size:clamp(2rem,4.6vw,4.8rem);font-weight:750;line-height:1}.rails-mantra:where(.astro-e2bazwba) span:where(.astro-e2bazwba){color:var(--rb-red-soft)}.included:where(.astro-e2bazwba){color:#15171a;background:#e9e7e1}.included:where(.astro-e2bazwba) .kicker:where(.astro-e2bazwba){color:#b32d25}.included:where(.astro-e2bazwba) .section-heading:where(.astro-e2bazwba)>p:where(.astro-e2bazwba):last-child{color:#555a61}.spec-list:where(.astro-e2bazwba){border-top:1px solid #aeb0b1;margin-top:4rem}.spec-list:where(.astro-e2bazwba) article:where(.astro-e2bazwba){border-bottom:1px solid #bfc0c0;grid-template-columns:14rem 1fr;gap:2rem;padding:1.3rem 0;display:grid}.spec-list:where(.astro-e2bazwba) h3:where(.astro-e2bazwba){letter-spacing:.1em;text-transform:uppercase;margin:0;font:700 .67rem ui-monospace,monospace}.spec-list:where(.astro-e2bazwba) ul:where(.astro-e2bazwba){flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.spec-list:where(.astro-e2bazwba) li:where(.astro-e2bazwba){color:#33373b;border:1px solid #b7b8b7;padding:.38rem .5rem;font:.68rem ui-monospace,monospace}.optional:where(.astro-e2bazwba) li:where(.astro-e2bazwba):before{color:var(--rb-dim);content:"○ "}.agents:where(.astro-e2bazwba){border-top:1px solid var(--rb-line);grid-template-columns:.8fr 1.2fr;align-items:center;gap:clamp(3rem,7vw,7rem);display:grid}.agent-copy:where(.astro-e2bazwba) h2:where(.astro-e2bazwba){max-width:10ch}.audience:where(.astro-e2bazwba){border-top:1px solid var(--rb-line)}.audience-list:where(.astro-e2bazwba){border-top:1px solid var(--rb-line);grid-template-columns:1fr 1fr;margin-top:4rem;display:grid}.audience-list:where(.astro-e2bazwba) article:where(.astro-e2bazwba){border-bottom:1px solid var(--rb-line);padding:1.5rem 1.5rem 1.5rem 0}.audience-list:where(.astro-e2bazwba) article:where(.astro-e2bazwba):nth-child(2n){border-left:1px solid var(--rb-line);padding-left:1.5rem}.audience-list:where(.astro-e2bazwba) h3:where(.astro-e2bazwba){margin:0 0 .7rem;font-size:1rem}.audience-list:where(.astro-e2bazwba) p:where(.astro-e2bazwba){color:var(--rb-muted);max-width:32rem;margin:0;font-size:.84rem;line-height:1.6}.not-this:where(.astro-e2bazwba){border-top:1px solid var(--rb-line)}.not-this:where(.astro-e2bazwba) dl:where(.astro-e2bazwba){margin:4rem 0 0}.not-this:where(.astro-e2bazwba) dl:where(.astro-e2bazwba) div:where(.astro-e2bazwba){border-top:1px solid var(--rb-line);grid-template-columns:1fr 1fr;gap:2rem;padding:1.2rem 0;display:grid}.not-this:where(.astro-e2bazwba) dl:where(.astro-e2bazwba) div:where(.astro-e2bazwba):last-child{border-bottom:1px solid var(--rb-line)}.not-this:where(.astro-e2bazwba) dt:where(.astro-e2bazwba){color:var(--rb-muted);font-size:.86rem}.not-this:where(.astro-e2bazwba) dd:where(.astro-e2bazwba){margin:0;font-size:.86rem;font-weight:700}.founder:where(.astro-e2bazwba){background:var(--rb-panel);border:1px solid var(--rb-line);grid-template-columns:.45fr 1fr;gap:4rem;max-width:82rem;margin-bottom:clamp(5rem,10vw,10rem);padding:clamp(2rem,5vw,5rem);display:grid}.founder:where(.astro-e2bazwba) h2:where(.astro-e2bazwba){margin-top:0}.founder:where(.astro-e2bazwba) div:where(.astro-e2bazwba) p:where(.astro-e2bazwba){color:var(--rb-muted);max-width:46rem;font-size:1rem;line-height:1.7}.founder:where(.astro-e2bazwba) a:where(.astro-e2bazwba){color:var(--rb-ink);text-underline-offset:3px}.pricing:where(.astro-e2bazwba){border-top:1px solid var(--rb-line);grid-template-columns:1fr 1fr;align-items:start;gap:6rem;display:grid}.price-card:where(.astro-e2bazwba){background:#111317;border:1px solid #e5463b8c;padding:clamp(1.5rem,4vw,3rem)}.price-card:where(.astro-e2bazwba)>div:where(.astro-e2bazwba)>span:where(.astro-e2bazwba){color:var(--rb-red-soft);text-transform:uppercase;font:700 .62rem ui-monospace,monospace}.price-card:where(.astro-e2bazwba) strong:where(.astro-e2bazwba){letter-spacing:-.08em;margin-top:1rem;font-size:clamp(4.5rem,8vw,7.2rem);line-height:.9;display:block}.price-card:where(.astro-e2bazwba) sup:where(.astro-e2bazwba){color:var(--rb-red-soft);vertical-align:top;font-size:.36em}.price-card:where(.astro-e2bazwba) small:where(.astro-e2bazwba){color:var(--rb-muted);text-transform:uppercase;font:.65rem ui-monospace,monospace}.price-card:where(.astro-e2bazwba)>div:where(.astro-e2bazwba) p:where(.astro-e2bazwba){color:var(--rb-dim);font-size:.73rem}.price-card:where(.astro-e2bazwba) ul:where(.astro-e2bazwba){border-top:1px solid var(--rb-line);gap:.7rem;margin:2rem 0;padding:1.6rem 0 0;list-style:none;display:grid}.price-card:where(.astro-e2bazwba) li:where(.astro-e2bazwba){color:var(--rb-muted);font-size:.8rem}.price-card:where(.astro-e2bazwba) li:where(.astro-e2bazwba):before{color:var(--rb-green);content:"✓ "}.refund-policy:where(.astro-e2bazwba){border-top:1px solid var(--rb-line);grid-template-columns:.45fr 1fr;gap:clamp(2rem,6vw,6rem);padding-block:clamp(2.5rem,5vw,4.5rem);display:grid}.refund-policy:where(.astro-e2bazwba) h2:where(.astro-e2bazwba){letter-spacing:-.045em;margin:0 0 1.5rem;font-size:clamp(1.8rem,3vw,2.8rem)}.refund-policy:where(.astro-e2bazwba) div:where(.astro-e2bazwba){max-width:50rem}.refund-policy:where(.astro-e2bazwba) div:where(.astro-e2bazwba) p:where(.astro-e2bazwba){color:var(--rb-muted);margin:0;font-size:.86rem;line-height:1.7}.refund-policy:where(.astro-e2bazwba) div:where(.astro-e2bazwba) p:where(.astro-e2bazwba)+p:where(.astro-e2bazwba){margin-top:1rem}.faq:where(.astro-e2bazwba){border-top:1px solid var(--rb-line)}.faq-list:where(.astro-e2bazwba){margin:4rem 0 0}.faq:where(.astro-e2bazwba) details:where(.astro-e2bazwba){border-top:1px solid var(--rb-line)}.faq:where(.astro-e2bazwba) details:where(.astro-e2bazwba):last-child{border-bottom:1px solid var(--rb-line)}.faq:where(.astro-e2bazwba) summary:where(.astro-e2bazwba){cursor:pointer;padding:1.25rem 2.5rem 1.25rem 0;font-size:1rem;font-weight:700;list-style:none;position:relative}.faq:where(.astro-e2bazwba) summary:where(.astro-e2bazwba)::-webkit-details-marker{display:none}.faq:where(.astro-e2bazwba) summary:where(.astro-e2bazwba):after{color:var(--rb-red-soft);content:"+";position:absolute;right:.4rem}.faq:where(.astro-e2bazwba) details:where(.astro-e2bazwba)[open] summary:where(.astro-e2bazwba):after{content:"−"}.faq:where(.astro-e2bazwba) details:where(.astro-e2bazwba) p:where(.astro-e2bazwba){color:var(--rb-muted);max-width:54rem;margin:0;padding:0 0 1.4rem;font-size:.88rem;line-height:1.65}.final-cta:where(.astro-e2bazwba){color:#fff;text-align:center;background:#d9362c;padding-block:clamp(6rem,12vw,11rem)}.final-cta:where(.astro-e2bazwba) .kicker:where(.astro-e2bazwba){color:#ffd1cd}.final-cta:where(.astro-e2bazwba) h2:where(.astro-e2bazwba){letter-spacing:-.07em;max-width:13ch;margin:1rem auto 1.8rem;font-size:clamp(3rem,7vw,7rem);line-height:.9}.final-cta:where(.astro-e2bazwba) h2:where(.astro-e2bazwba) span:where(.astro-e2bazwba){color:#190504}.final-cta:where(.astro-e2bazwba) p:where(.astro-e2bazwba):not(.kicker){max-width:38rem;margin:0 auto 2rem;font-size:1.05rem;line-height:1.65}.final-cta:where(.astro-e2bazwba) .early-access{background:#0b0c0e}.final-cta:where(.astro-e2bazwba) small:where(.astro-e2bazwba){text-transform:uppercase;margin-top:1rem;font:.64rem ui-monospace,monospace;display:block}@media (width<=1100px){.rb-nav:where(.astro-e2bazwba){grid-template-columns:1fr auto}.rb-nav:where(.astro-e2bazwba) nav:where(.astro-e2bazwba){display:none}.hero:where(.astro-e2bazwba){grid-template-columns:1fr;min-height:0}.hero-copy:where(.astro-e2bazwba){max-width:58rem}.hero:where(.astro-e2bazwba) .repository-context{max-width:52rem}.question-grid:where(.astro-e2bazwba){grid-template-columns:repeat(2,1fr)}}@media (width<=800px){.section:where(.astro-e2bazwba){padding-block:5.5rem}.rb-nav:where(.astro-e2bazwba){height:4rem;padding-inline:1rem}.wordmark:where(.astro-e2bazwba) span:where(.astro-e2bazwba){font-size:.85rem}.back-link:where(.astro-e2bazwba){display:none}.rb-nav:where(.astro-e2bazwba) .early-access{padding:.55rem .65rem;font-size:.64rem}.hero:where(.astro-e2bazwba){padding-top:4.5rem}.story-copy:where(.astro-e2bazwba),.starter-compare:where(.astro-e2bazwba),.ownership:where(.astro-e2bazwba),.agents:where(.astro-e2bazwba),.audience-list:where(.astro-e2bazwba),.pricing:where(.astro-e2bazwba),.founder:where(.astro-e2bazwba),.refund-policy:where(.astro-e2bazwba),.repo-comparison:where(.astro-e2bazwba){grid-template-columns:1fr}.comparison-arrow:where(.astro-e2bazwba){justify-self:center;transform:rotate(90deg)}.starter-compare:where(.astro-e2bazwba) article:where(.astro-e2bazwba)+article:where(.astro-e2bazwba){margin:-1px 0 0}.code-contracts:where(.astro-e2bazwba){grid-template-columns:1fr}.code-contracts:where(.astro-e2bazwba) article:where(.astro-e2bazwba):nth-child(2n){margin-left:0}.code-contracts:where(.astro-e2bazwba) article:where(.astro-e2bazwba):nth-child(n+2){margin-top:-1px}.ownership:where(.astro-e2bazwba) article:where(.astro-e2bazwba)+article:where(.astro-e2bazwba){border-left:1px solid var(--rb-line);border-top:0}.spec-list:where(.astro-e2bazwba) article:where(.astro-e2bazwba){grid-template-columns:1fr}.audience-list:where(.astro-e2bazwba) article:where(.astro-e2bazwba):nth-child(2n){border-left:0;padding-left:0}.not-this:where(.astro-e2bazwba) dl:where(.astro-e2bazwba) div:where(.astro-e2bazwba){grid-template-columns:1fr;gap:.7rem}.pattern-search:where(.astro-e2bazwba) li:where(.astro-e2bazwba){grid-template-columns:1.5rem 1fr auto}.pattern-search:where(.astro-e2bazwba) li:where(.astro-e2bazwba) p:where(.astro-e2bazwba){grid-column:2/-1}.founder:where(.astro-e2bazwba){margin-inline:1rem}.pricing:where(.astro-e2bazwba){gap:3rem}.question-grid:where(.astro-e2bazwba) div:where(.astro-e2bazwba){min-height:7rem}}@media (width<=480px){.shell:where(.astro-e2bazwba){padding-inline:1rem}.hero-copy:where(.astro-e2bazwba) h1:where(.astro-e2bazwba){font-size:3rem}.question-grid:where(.astro-e2bazwba){grid-template-columns:1fr}.repo-comparison:where(.astro-e2bazwba) header:where(.astro-e2bazwba){flex-direction:column;align-items:flex-start;gap:.35rem}.repo-comparison:where(.astro-e2bazwba) ul:where(.astro-e2bazwba){grid-template-columns:1fr}.section-heading:where(.astro-e2bazwba) h2:where(.astro-e2bazwba),.agent-copy:where(.astro-e2bazwba) h2:where(.astro-e2bazwba),.pricing:where(.astro-e2bazwba) h2:where(.astro-e2bazwba),.founder:where(.astro-e2bazwba) h2:where(.astro-e2bazwba){font-size:2.6rem}.story-copy:where(.astro-e2bazwba){grid-template-columns:1fr}.code-contracts:where(.astro-e2bazwba) pre:where(.astro-e2bazwba){font-size:.66rem}.pattern-search:where(.astro-e2bazwba) li:where(.astro-e2bazwba)>span:where(.astro-e2bazwba){display:none}.pattern-search:where(.astro-e2bazwba) li:where(.astro-e2bazwba){grid-template-columns:1.5rem 1fr}.pattern-search:where(.astro-e2bazwba) li:where(.astro-e2bazwba) p:where(.astro-e2bazwba){grid-column:2}.rails-mantra:where(.astro-e2bazwba){font-size:2.5rem}.spec-list:where(.astro-e2bazwba) li:where(.astro-e2bazwba){font-size:.62rem}.final-cta:where(.astro-e2bazwba) h2:where(.astro-e2bazwba){font-size:3.1rem}}
