.home-hero{text-align:center;background-color:var(--bg);background-image:radial-gradient(ellipse 750px 180px at top center, #ebf1eb 0%, var(--bg) 100%);border-bottom:1px solid var(--line);padding:64px 0 56px}.home-hero h1{max-width:28ch;margin:0 auto 16px}.home-hero .lede{color:var(--muted);max-width:550px;margin:0 auto 30px;font-size:1.05rem;line-height:1.6}.home-section{padding-top:34px;padding-bottom:34px}.home-section-head{justify-content:space-between;align-items:baseline;margin-bottom:18px;display:flex}.home-section-head h2{margin:0}.home-section-head a{color:var(--accent-ink);font-size:.9rem;font-weight:600}.build-head{margin-bottom:30px}.build-head h2{margin:0 0 10px;font-size:1.75rem}.build-head p{margin:0;font-size:1rem}.explainer{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:26px;padding:56px 0}.prose h3{margin-top:1.75em}.explainer-links{flex-wrap:wrap;justify-content:center;gap:10px 24px;margin-top:2em;display:flex}.explainer-links a{color:var(--accent-ink);font-size:.9rem;font-weight:600}.type-list{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin-top:16px;display:grid}.type-list code{font-family:var(--font-mono);background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:3px 8px;font-size:.78rem}.type-list span{color:var(--faint);font-size:.78rem}.explainer .prose{max-width:72ch;margin-inline:auto}.explainer h2{text-align:center}
.builder-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:30px;display:grid}.builder-form{background:var(--surface);border:1px solid #e7e5e4;border-radius:12px;flex-direction:column;gap:18px;padding:25px 24px 24px;display:flex}.builder-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.builder-field{flex-direction:column;gap:5px;min-width:0;display:flex}.builder-label{color:#57534e;font-size:.875rem;font-weight:600;line-height:17px}.builder-req{color:#dc2626}.builder-field input[type=text],.builder-field select{border-color:#d6d3d1;border-radius:8px;height:42px;padding:0 12px;font-size:.875rem}.builder-field select{font-weight:500}.builder-field textarea{resize:vertical;min-height:76px;font-family:var(--font-mono);border-color:#d6d3d1;border-radius:8px;padding:11px 12px;font-size:.8125rem;line-height:1.5}.builder-field input::placeholder,.builder-field textarea::placeholder{color:#757575;opacity:1}.builder-help{color:#79716b;margin-top:5px;font-size:.75rem;line-height:16px}.builder-foot{flex-direction:column;gap:22px;margin-top:29px;display:flex}.builder-breaking{color:#57534e;cursor:pointer;align-items:flex-start;gap:10px;font-size:.875rem;line-height:17px;display:flex}.builder-breaking input[type=checkbox]{width:14px;height:14px;accent-color:var(--ink);border:1px solid #d6d3d1;border-radius:4px;flex-shrink:0;margin:1px 0 0}.builder-breaking code{font-family:var(--font-mono);font-size:.85em}.builder-actions{align-items:center;gap:12px;display:flex}.builder-copy{border-radius:8px;height:34px;padding:0 18px;font-size:.8125rem;font-weight:600}button.builder-copy:disabled{color:#a3a19e;cursor:not-allowed;background:#fafaf9;border-color:#e9e7e6;transform:none}.builder-actions-hint{color:#79716b;margin:0;font-size:.75rem;line-height:16px}.builder-preview{position:sticky;top:88px}.preview-panel{background:#1c1917;border-radius:12px;overflow:hidden}.preview-panel-head{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:#a8a29e;border-bottom:1px solid #44403c;padding:10px 16px;font-size:.6875rem;line-height:15px}.preview-body{min-height:21px;font-family:var(--font-mono);color:#e7e5e4;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:19px 18px 20px;font-size:.8125rem;line-height:21px}.preview-body .pv-type{color:#f5f5f4;font-weight:600}.preview-body .pv-dim{color:#a8a29e}.builder-caption{color:#79716b;max-width:480px;margin:18px 0 0;font-size:.75rem;line-height:1.65}.builder-caption code{font-family:var(--font-mono);font-size:.95em}@media (max-width:900px){.builder-grid{grid-template-columns:1fr}.builder-preview{position:static}}
