.back[data-astro-cid-jo55ryrt]{color:var(--ink-2);font-family:var(--font-technical);transition:color var(--dur-1) var(--ease);font-size:13px;text-decoration:none}.back[data-astro-cid-jo55ryrt]:hover{color:var(--ink-0)}.article[data-astro-cid-jo55ryrt] header[data-astro-cid-jo55ryrt] .meta[data-astro-cid-jo55ryrt]{margin-bottom:18px}.article[data-astro-cid-jo55ryrt] header[data-astro-cid-jo55ryrt] .meta[data-astro-cid-jo55ryrt]+h1[data-astro-cid-jo55ryrt]{margin-top:0}.standfirst[data-astro-cid-jo55ryrt]{font-family:var(--font-body);color:var(--ink-1);max-width:60ch;margin:6px 0 0;font-size:18px;font-style:normal;line-height:1.62}.mermaid{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-media);text-align:center;box-shadow:var(--sh-card);margin:28px 0;padding:14px;overflow:auto}.mermaid svg{background:#0d1117;border-radius:14px;max-width:100%;height:auto;margin:0 auto;padding:18px;display:block}.mermaid svg p{font-weight:inherit;line-height:1.3;color:inherit!important}.mermaid svg .label,.mermaid svg .nodeLabel,.mermaid svg .edgeLabel{color:inherit}@media (width<=560px){.mermaid{padding:10px}.mermaid svg{border-radius:12px;padding:14px}}.prreg-viz{color:var(--ink-0);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-media);margin:34px 0;padding:clamp(18px,3.2vw,28px);overflow:visible}.prreg-viz *,.prreg-viz :before,.prreg-viz :after{box-sizing:border-box}.prreg-viz__head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:20px;padding-bottom:18px;display:flex}.prreg-viz__head h3{margin:0;font-size:clamp(1.4rem,3vw,2rem)}.prreg-viz__head p{color:var(--ink-2);margin:7px 0 0}.prreg-flow__controls{display:none}.prreg-flow[data-prreg-enhanced=true] .prreg-flow__controls{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.prreg-flow__controls button{min-width:44px;min-height:44px;color:var(--ink-0);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);font:700 13px/1 var(--font-technical);cursor:pointer;transition:background var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease), color var(--dur-1) var(--ease);padding:9px 13px}.prreg-flow__controls button:hover,.prreg-flow__controls button:focus-visible{border-color:var(--mint);color:var(--mint)}.prreg-flow__controls button[aria-pressed=true]{color:var(--surface);background:var(--mint);border-color:var(--mint)}.prreg-flow__status{color:var(--ink-2);font-family:var(--font-technical);margin-left:auto;font-size:12px}.prreg-flow__track{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:none}.prreg-flow[data-prreg-enhanced=true] .prreg-flow__track{display:grid}.prreg-flow__track li{min-width:0;margin:0;padding:0}.prreg-step{width:100%;min-width:0;min-height:118px;color:var(--ink-1);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);text-align:left;overflow-wrap:break-word;word-break:normal;cursor:pointer;transition:background var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease), transform var(--dur-1) var(--ease);flex-direction:column;padding:14px;display:flex;overflow:visible}.prreg-step:hover{border-color:color-mix(in oklab, var(--mint) 48%, var(--line))}.prreg-step:focus-visible{outline:2px solid var(--mint);outline-offset:2px}.prreg-step[aria-pressed=true]{color:var(--ink-0);background:color-mix(in oklab, var(--mint) 8%, var(--surface));border-color:var(--mint);transform:translateY(-2px)}.prreg-step__n{color:var(--mint);font-family:var(--font-technical);letter-spacing:.045em;margin-bottom:14px;font-size:10px;font-weight:760;line-height:1.35;display:block}.prreg-step strong{font-size:14px;line-height:1.25;display:block}.prreg-step small{color:var(--ink-2);margin-top:6px;font-size:12px;line-height:1.4;display:block}.prreg-flow__detail{background:var(--surface);border-left:3px solid var(--mint);min-height:118px;margin-top:12px;padding:18px}.prreg-flow__detail strong{font-size:1rem}.prreg-flow__detail p{color:var(--ink-1);margin:7px 0 0}.prreg-flow__detail [data-prreg-panel]+[data-prreg-panel]{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.prreg-flow[data-prreg-enhanced=true] .prreg-flow__detail [data-prreg-panel]{border:0;margin:0;padding:0}.prreg-viz figcaption{color:var(--ink-2);margin-top:16px;font-size:13px;line-height:1.55}.prreg-errors{margin:0;padding:0;list-style:none}.prreg-error{border-bottom:1px solid var(--line);grid-template-columns:minmax(190px,.78fr) minmax(0,1.45fr);gap:clamp(18px,3vw,34px);margin:0;padding:20px 0;display:grid}.prreg-error:first-child{padding-top:0}.prreg-error:last-child{border-bottom:0;padding-bottom:0}.prreg-error__lead{grid-template-columns:28px minmax(0,1fr);align-content:start;gap:10px;display:grid}.prreg-error__lead h4{text-wrap:balance;margin:0;font-size:1rem;line-height:1.3}.prreg-error__n{color:var(--mint);font:760 11px/1.3 var(--font-technical);padding-top:3px}.prreg-error__body{min-width:0}.prreg-error__body p{margin:0 0 10px;font-size:14px}.prreg-error__body p:last-child{margin-bottom:0}.prreg-error__body strong{color:var(--ink-0)}.prreg-error__body code{overflow-wrap:anywhere;word-break:break-word}.prreg-boundary__grid{grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr) 34px minmax(0,1fr);align-items:stretch;gap:10px;display:grid}.prreg-boundary__card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);overflow-wrap:anywhere;min-width:0;padding:18px}.prreg-boundary__card h4{margin:0 0 8px;font-size:1rem}.prreg-boundary__card p{color:var(--ink-2);margin:0;font-size:14px}.prreg-boundary__card.observed{border-color:var(--mint)}.prreg-boundary__card.stop{border-color:color-mix(in oklab, var(--amber) 62%, var(--line))}.prreg-boundary__arrow{color:var(--ink-2);font:700 20px/1 var(--font-technical);place-items:center;display:grid}@media (width<=780px){.prreg-flow__track{grid-template-columns:repeat(2,minmax(0,1fr))}.prreg-error{grid-template-columns:1fr;gap:12px}.prreg-boundary__grid{grid-template-columns:1fr}.prreg-boundary__arrow{min-height:28px;transform:rotate(90deg)}}@media (width<=520px){.prreg-viz__head{flex-direction:column;gap:14px}.prreg-flow__status{width:100%;margin-left:0}.prreg-flow__track{grid-template-columns:1fr}.prreg-step,.prreg-flow__detail{min-height:0}}@media (prefers-reduced-motion:reduce){.prreg-viz *,.prreg-viz :before,.prreg-viz :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.prreg-step[aria-pressed=true]{transform:none}}@media print{.prreg-flow__controls{display:none}.prreg-flow__track{grid-template-columns:repeat(2,minmax(0,1fr))}.prreg-flow__detail [hidden]{margin-top:12px;display:block!important}}
