.page-hero{padding:var(--s-8) 0 var(--s-6);border-bottom:1px solid var(--hairline)}.page-hero h1{font-size:var(--fs-4xl);margin-bottom:var(--s-4)}.page-hero .lead{color:var(--muted);font-size:var(--fs-md);max-width:60ch}.page-section{padding:var(--s-7) 0}.page-section+.page-section{border-top:1px solid var(--hairline)}.page-wrap{max-width:1080px;margin:0 auto;padding:0 var(--s-5)}.meta-strip{display:flex;flex-wrap:wrap;gap:var(--s-3) var(--s-5);color:var(--muted);font-family:var(--font-mono);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.1em;margin-top:var(--s-3)}.meta-strip b{color:var(--fg);font-weight:500}.prose-body{max-width:72ch;color:var(--fg-2);font-size:var(--fs-md);line-height:1.7}.prose-body h2{font-size:var(--fs-2xl);margin:var(--s-6) 0 var(--s-3);color:var(--fg)}.prose-body h3{font-size:var(--fs-xl);margin:var(--s-5) 0 var(--s-3);color:var(--fg)}.prose-body h4{font-size:var(--fs-lg);margin:var(--s-4) 0 var(--s-2);color:var(--fg)}.prose-body p{margin-bottom:var(--s-4)}.prose-body ul,.prose-body ol{margin:var(--s-3) 0 var(--s-4) var(--s-4)}.prose-body li{margin-bottom:var(--s-2)}.prose-body a{color:var(--accent)}.prose-body code.inline,.prose-body :not(pre)>code{background:var(--bg-3);padding:2px 6px;border-radius:2px;font-family:var(--font-mono);font-size:.9em}pre.code-block,.code-block pre{background:#141413;color:#e8e6e1;padding:var(--s-3) var(--s-4);border-radius:4px;border:1px solid var(--hairline);font-family:var(--font-mono);font-size:var(--fs-sm);line-height:1.55;overflow-x:auto;margin:var(--s-4) 0;white-space:pre}.tbd-flag{display:inline-block;background:color-mix(in srgb,var(--warning) 25%,transparent);color:var(--warning);padding:2px 6px;border-radius:3px;font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.08em}.tp-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--s-4);margin:var(--s-5) 0}.tp-card{background:var(--bg-2);border:1px solid var(--hairline);border-radius:4px;padding:var(--s-4) var(--s-5);transition:border-color .15s,transform .15s;text-decoration:none;color:inherit;display:block}.tp-card:hover{border-color:var(--accent);transform:translateY(-2px);color:inherit}.tp-card .card-eyebrow{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--accent);letter-spacing:.1em;text-transform:uppercase}.tp-card h3{font-size:var(--fs-lg);margin:var(--s-2) 0 var(--s-2)}.tp-card p{color:var(--muted);font-size:var(--fs-sm);margin-bottom:var(--s-2)}.tp-card .card-meta{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--muted)}.tp-card .card-cta{color:var(--accent);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.05em}.doc-layout{display:grid;grid-template-columns:220px 1fr;gap:var(--s-6);align-items:start}.doc-nav{position:sticky;top:calc(60px + var(--s-4));font-family:var(--font-mono);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em}.doc-nav h5{color:var(--muted);margin-bottom:var(--s-3);font-weight:500;font-size:var(--fs-xs)}.doc-nav ul{list-style:none;padding:0;margin:0 0 var(--s-4);display:flex;flex-direction:column;gap:var(--s-2)}.doc-nav a{color:var(--fg-2);text-decoration:none}.doc-nav a:hover,.doc-nav a.active{color:var(--accent)}@media (max-width: 900px){.doc-layout{grid-template-columns:1fr}.doc-nav{position:static}}.tp-form{display:grid;gap:var(--s-3);max-width:520px;margin-top:var(--s-4)}.tp-form label{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.tp-form input,.tp-form textarea{background:var(--bg-2);border:1px solid var(--hairline-strong);color:var(--fg);padding:var(--s-2) var(--s-3);border-radius:4px;font-family:var(--font-body);font-size:var(--fs-base);width:100%}.tp-form input:focus,.tp-form textarea:focus{outline:none;border-color:var(--accent)}.tp-form .form-field{display:grid;gap:6px}.tp-form .form-status{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--muted);min-height:1.2em}.state-chain{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:var(--s-2);margin:var(--s-5) 0}.state-node{background:var(--bg-2);border:1px solid var(--hairline);border-radius:4px;padding:var(--s-3);text-align:center;font-family:var(--font-mono);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--fg)}.state-node .state-n{display:block;color:var(--accent);font-size:var(--fs-xs);margin-bottom:4px}
