.cr-root:where(.astro-fwuvomkf){background:#080a0f;color:#e2e8f0;font-family:system-ui,sans-serif;min-height:100vh;padding:3rem 4rem 6rem}.cr-hero:where(.astro-fwuvomkf){margin-bottom:3.5rem}.cr-breadcrumb:where(.astro-fwuvomkf){font-size:.7rem;font-family:monospace;color:#1f2937;letter-spacing:.06em;margin-bottom:1rem}.cr-badge-row:where(.astro-fwuvomkf){display:flex;gap:.5rem;margin-bottom:1.25rem}.cr-badge:where(.astro-fwuvomkf){font-size:.58rem;font-weight:700;letter-spacing:.12em;padding:.2rem .65rem;border-radius:99px;font-family:monospace}.cr-badge-arch:where(.astro-fwuvomkf){background:#34d39914;border:1px solid rgba(52,211,153,.2);color:#34d399}.cr-badge-schema:where(.astro-fwuvomkf){background:#60a5fa14;border:1px solid rgba(96,165,250,.2);color:#60a5fa}.cr-title:where(.astro-fwuvomkf){font-size:clamp(2.25rem,5vw,3.75rem);font-weight:900;line-height:1.08;letter-spacing:-.04em;color:#f1f5f9;margin:0 0 .875rem}.cr-title:where(.astro-fwuvomkf) em:where(.astro-fwuvomkf){font-style:normal;color:#34d399}.cr-tagline:where(.astro-fwuvomkf){font-size:1rem;color:#4b5563;margin:0 0 2rem;line-height:1.6}.cr-overview:where(.astro-fwuvomkf){background:#34d39908;border:1px solid rgba(52,211,153,.12);border-left:3px solid rgba(52,211,153,.4);border-radius:.75rem;padding:1.5rem}.cr-overview-label:where(.astro-fwuvomkf){font-size:.58rem;font-weight:700;letter-spacing:.15em;color:#34d399;font-family:monospace;margin-bottom:.625rem}.cr-overview-text:where(.astro-fwuvomkf){font-size:1rem;color:#6b7280;line-height:1.75;margin:0}.cr-overview-text:where(.astro-fwuvomkf) strong:where(.astro-fwuvomkf){color:#93c5fd}.cr-section:where(.astro-fwuvomkf){margin-bottom:3.5rem}.cr-section-label:where(.astro-fwuvomkf){font-size:.6rem;font-weight:700;letter-spacing:.2em;color:#34d399;font-family:monospace;text-transform:uppercase;margin-bottom:.5rem}.cr-section-title:where(.astro-fwuvomkf){font-size:1.5rem;font-weight:800;color:#f1f5f9;margin:0 0 .5rem;letter-spacing:-.03em}.cr-section-sub:where(.astro-fwuvomkf){font-size:.95rem;color:#4b5563;line-height:1.65;margin:0 0 1.5rem}.cr-section-sub:where(.astro-fwuvomkf) strong:where(.astro-fwuvomkf){color:#d1d5db}.cr-roles:where(.astro-fwuvomkf){display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.cr-role:where(.astro-fwuvomkf){padding:1.25rem;border-radius:.875rem;border:1px solid rgba(255,255,255,.05);background:#ffffff03;display:flex;gap:.875rem;align-items:flex-start;transition:background .2s}.cr-role:where(.astro-fwuvomkf):hover{background:#ffffff06}.cr-role-1:where(.astro-fwuvomkf){border-top:2px solid rgba(96,165,250,.3)}.cr-role-2:where(.astro-fwuvomkf){border-top:2px solid rgba(52,211,153,.35)}.cr-role-3:where(.astro-fwuvomkf){border-top:2px solid rgba(167,139,250,.3)}.cr-role-num:where(.astro-fwuvomkf){font-size:1.5rem;font-weight:900;font-family:monospace;color:#ffffff0d;flex-shrink:0;line-height:1;padding-top:.1rem}.cr-role-tag:where(.astro-fwuvomkf){font-size:.57rem;font-family:monospace;font-weight:700;letter-spacing:.1em;color:#1f2937;text-transform:uppercase;margin-bottom:.2rem}.cr-role-name:where(.astro-fwuvomkf){font-size:1rem;font-weight:800;color:#d1d5db;margin-bottom:.5rem}.cr-role-desc:where(.astro-fwuvomkf){font-size:.9rem;color:#374151;line-height:1.65;margin:0}.cr-role-desc:where(.astro-fwuvomkf) strong:where(.astro-fwuvomkf){color:#6b7280}.cr-flow-row:where(.astro-fwuvomkf){display:flex;align-items:center;gap:0;background:#ffffff04;border:1px solid rgba(255,255,255,.06);border-radius:1rem;padding:1.25rem;margin-bottom:1.25rem;overflow-x:auto}.cr-flow-step:where(.astro-fwuvomkf){display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:.75rem 1.5rem;border-radius:.625rem;flex:1;min-width:0}.cr-flow-mid:where(.astro-fwuvomkf){background:#34d3990d;border:1px solid rgba(52,211,153,.15)}.cr-flow-icon:where(.astro-fwuvomkf){font-size:1.25rem;line-height:1}.cr-flow-lbl:where(.astro-fwuvomkf){font-size:.875rem;font-weight:700;color:#d1d5db;text-align:center}.cr-flow-sub:where(.astro-fwuvomkf){font-size:.62rem;font-family:monospace;color:#374151;text-align:center;white-space:nowrap}.cr-flow-arr:where(.astro-fwuvomkf){color:#1f2937;font-size:1rem;padding:0 .5rem;flex-shrink:0}.cr-code-block:where(.astro-fwuvomkf){border:1px solid rgba(255,255,255,.07);border-radius:.625rem;overflow:hidden}.cr-code-header:where(.astro-fwuvomkf){display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;background:#ffffff06;border-bottom:1px solid rgba(255,255,255,.05)}.cr-code-lang:where(.astro-fwuvomkf){font-size:.57rem;font-family:monospace;font-weight:700;letter-spacing:.1em;color:#34d399;background:#34d39914;border:1px solid rgba(52,211,153,.18);padding:.1rem .45rem;border-radius:4px}.cr-code-file:where(.astro-fwuvomkf){font-size:.65rem;font-family:monospace;color:#1f2937}.cr-pre:where(.astro-fwuvomkf){margin:0;padding:1.1rem 1.25rem;background:#00000059;overflow-x:auto}.cr-pre:where(.astro-fwuvomkf) code:where(.astro-fwuvomkf){font-family:SF Mono,Fira Code,monospace;font-size:.875rem;line-height:1.7;color:#6b7280}.cr-pre:where(.astro-fwuvomkf) .ck:where(.astro-fwuvomkf){color:#93c5fd}.cr-pre:where(.astro-fwuvomkf) .cs:where(.astro-fwuvomkf){color:#86efac}.cr-rules:where(.astro-fwuvomkf){display:flex;flex-direction:column;gap:.625rem}.cr-rule:where(.astro-fwuvomkf){display:flex;align-items:flex-start;gap:1rem;padding:1rem 1.25rem;border:1px solid rgba(255,255,255,.05);border-radius:.75rem;background:#ffffff03}.cr-rule-no-json:where(.astro-fwuvomkf){border-color:#f871711f;background:#f8717106}.cr-rule-key:where(.astro-fwuvomkf){font-size:.6rem;font-weight:700;font-family:monospace;letter-spacing:.08em;color:#34d399;background:#34d39912;border:1px solid rgba(52,211,153,.15);padding:.2rem .5rem;border-radius:4px;flex-shrink:0;margin-top:.1rem;white-space:nowrap}.cr-rule-no-json:where(.astro-fwuvomkf) .cr-rule-key:where(.astro-fwuvomkf){color:#f87171;background:#f8717112;border-color:#f8717133}.cr-rule-who:where(.astro-fwuvomkf){font-size:.875rem;font-weight:700;color:#9ca3af;display:block;margin-bottom:.2rem;font-family:monospace}.cr-rule-desc:where(.astro-fwuvomkf){font-size:.92rem;color:#374151;line-height:1.6;margin:0}.cr-rule-desc:where(.astro-fwuvomkf) code:where(.astro-fwuvomkf){font-family:monospace;font-size:.78em;color:#60a5fa;background:#60a5fa14;padding:.1rem .35rem;border-radius:3px}.cr-steps:where(.astro-fwuvomkf){display:flex;flex-direction:column}.cr-step:where(.astro-fwuvomkf){display:flex;gap:1.25rem;align-items:flex-start;padding:1rem 0}.cr-step-num:where(.astro-fwuvomkf){width:2rem;height:2rem;border-radius:50%;background:#34d39912;border:1px solid rgba(52,211,153,.2);display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:900;font-family:monospace;color:#34d399;flex-shrink:0}.cr-step-line:where(.astro-fwuvomkf){width:2rem;display:flex;justify-content:center;flex-shrink:0}.cr-step-line:where(.astro-fwuvomkf):after{content:"";display:block;width:1px;height:1rem;background:#34d3991f}.cr-step-tag:where(.astro-fwuvomkf){font-size:.58rem;font-family:monospace;font-weight:700;letter-spacing:.1em;color:#374151;text-transform:uppercase;margin-bottom:.2rem}.cr-step-desc:where(.astro-fwuvomkf){font-size:.92rem;color:#4b5563;line-height:1.65;margin:0}.cr-step-desc:where(.astro-fwuvomkf) code:where(.astro-fwuvomkf){font-family:monospace;font-size:.85em;color:#60a5fa;background:#60a5fa14;padding:.1rem .35rem;border-radius:3px}.cr-validations:where(.astro-fwuvomkf){display:grid;grid-template-columns:1fr 1fr;gap:1rem}.cr-val:where(.astro-fwuvomkf){padding:1.5rem;border-radius:.875rem;border:1px solid rgba(255,255,255,.05);background:#ffffff03}.cr-val-compiler:where(.astro-fwuvomkf){border-color:#34d39926;background:#34d39908}.cr-val-header:where(.astro-fwuvomkf){display:flex;align-items:center;gap:.625rem;margin-bottom:.875rem;flex-wrap:wrap}.cr-val-icon:where(.astro-fwuvomkf){font-size:1.1rem;line-height:1}.cr-val-title:where(.astro-fwuvomkf){font-size:1rem;font-weight:800;color:#d1d5db}.cr-val-chip:where(.astro-fwuvomkf){font-size:.57rem;font-family:monospace;font-weight:700;letter-spacing:.08em;color:#6b7280;border:1px solid rgba(255,255,255,.08);padding:.15rem .45rem;border-radius:99px;margin-left:auto}.cr-val-chip-auth:where(.astro-fwuvomkf){color:#34d399;border-color:#34d39940;background:#34d3990f}.cr-val-desc:where(.astro-fwuvomkf){font-size:.92rem;color:#374151;line-height:1.7;margin:0}@media(max-width:720px){.cr-root:where(.astro-fwuvomkf){padding:2rem 1.5rem 4rem}.cr-roles:where(.astro-fwuvomkf){grid-template-columns:1fr}.cr-validations:where(.astro-fwuvomkf){grid-template-columns:1fr}}
