.refarch{--ra-sans:var(--font-sans);--ra-display:var(--font-display);--ra-mono:var(--font-mono);--ra-surface:var(--bg-base);--ra-surface-2:var(--bg-surface);--ra-sunk:var(--bg-subtle);--ra-ink:var(--text-primary);--ra-ink-2:var(--text-secondary);--ra-ink-3:var(--text-tertiary);--ra-rule:var(--border-default);--ra-rule-soft:var(--border-subtle);--ra-accent:var(--primary);--ra-z0:var(--text-secondary);--ra-z1:var(--info-text);--ra-z2:var(--success-text);--ra-z3:var(--error-text);--ra-z4:var(--warning-text);--ra-z5:#7d3fa8;--ra-z6:var(--brand-navy);--ra-deny:var(--error-text);--ra-ok:var(--success-text);font-family:var(--ra-sans);color:var(--ra-ink);font-size:1.0625rem;line-height:1.7}.dark .refarch{--ra-z5:#c99ae6;--ra-z6:#8fb4d6}.refarch a{color:var(--ra-accent);text-underline-offset:3px;text-decoration-thickness:1px}.refarch code{font-family:var(--ra-mono);background:var(--ra-sunk);border-radius:var(--radius-xs);padding:1px 5px;font-size:.86em}.refarch strong{color:var(--ra-ink);font-weight:600}.refarch .masthead{border-bottom:1px solid var(--ra-rule)}.refarch .masthead .inner{padding:0 0 32px}.refarch .eyebrow{font-family:var(--ra-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ra-accent);margin:0 0 16px;font-size:.75rem;font-weight:500}.refarch .masthead h1{font-family:var(--ra-display);letter-spacing:-.02em;text-wrap:balance;max-width:20ch;margin:0;font-size:clamp(2rem,5vw,3.25rem);font-weight:600;line-height:1.05}.refarch .vpill{font-family:var(--ra-mono);color:var(--ra-ink-3);border:1px solid var(--ra-rule);border-radius:var(--radius-full);vertical-align:middle;margin-left:14px;padding:2px 12px;font-size:.9rem;display:inline-block;position:relative;top:-.35em}.refarch .lede{color:var(--ra-ink-2);max-width:64ch;margin:24px 0 0;font-size:1.1875rem;line-height:1.6}.refarch .meta{background:var(--ra-rule-soft);border:1px solid var(--ra-rule-soft);border-radius:var(--radius-md);grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:1px;margin:36px 0 0;display:grid;overflow:hidden}.refarch .meta div{background:var(--ra-surface-2);padding:12px 16px}.refarch .meta dt{font-family:var(--ra-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ra-ink-3);margin:0 0 4px;font-size:.625rem}.refarch .meta dd{color:var(--ra-ink);margin:0;font-size:.9rem;font-weight:500}.refarch .layout{grid-template-columns:minmax(0,1fr);gap:40px;padding-bottom:24px;display:grid}@media (min-width:1140px){.refarch .layout{grid-template-columns:190px minmax(0,1fr);align-items:start;gap:56px}}.refarch .toc{padding-top:40px}@media (min-width:1140px){.refarch .toc{position:sticky;top:6rem}}.refarch .toc h2{font-family:var(--ra-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ra-ink-3);border-bottom:1px solid var(--ra-rule);margin:0 0 12px;padding-bottom:8px;font-size:.625rem;font-weight:500}.refarch .toc ol{flex-wrap:wrap;gap:4px 16px;margin:0;padding:0;list-style:none;display:flex}@media (min-width:1140px){.refarch .toc ol{display:block}}.refarch .toc li{margin:0 0 8px;font-size:.875rem;line-height:1.3}.refarch .toc a{color:var(--ra-ink-2);transition:color var(--transition-fast);text-decoration:none;display:block}.refarch .toc a:hover{color:var(--ra-accent)}.refarch .toc .num{font-family:var(--ra-mono);color:var(--ra-ink-3);margin-right:8px;font-size:.6875rem}.refarch main{min-width:0;padding-top:40px}.refarch main :is(p,ul,ol,h3,h4,.note,dl){max-width:68ch}.refarch section{scroll-margin-top:6rem}.refarch h2.sec{font-family:var(--ra-display);letter-spacing:-.015em;border-top:2px solid var(--ra-ink);text-wrap:balance;max-width:22ch;margin:76px 0 8px;padding-top:24px;font-size:clamp(1.625rem,3vw,2.125rem);font-weight:600;line-height:1.15}.refarch section:first-child h2.sec{margin-top:0}.refarch h2.sec .num{font-family:var(--ra-mono);color:var(--ra-accent);letter-spacing:.06em;margin-bottom:12px;font-size:.8125rem;display:block}.refarch h3{font-family:var(--ra-display);text-wrap:balance;margin:44px 0 10px;font-size:1.3125rem;font-weight:600;line-height:1.3}.refarch h3 .num{font-family:var(--ra-mono);color:var(--ra-ink-3);margin-right:10px;font-size:.8125rem;font-weight:400}.refarch h4{font-family:var(--ra-sans);margin:30px 0 6px;font-size:1.0625rem;font-weight:600}.refarch p{margin:0 0 16px}.refarch ul,.refarch ol{margin:0 0 16px;padding-left:22px}.refarch ul{list-style:outside}.refarch ol{list-style:decimal}.refarch li{margin:0 0 8px}.refarch li::marker{color:var(--ra-ink-3)}.refarch .rule{border:0;border-top:1px solid var(--ra-rule-soft);margin:40px 0}.refarch .note{background:var(--ra-surface-2);border:1px solid var(--ra-rule);border-left:3px solid var(--ra-accent);border-radius:var(--radius-md);margin:26px 0;padding:16px 20px;font-size:1rem;line-height:1.6}.refarch .note.warn{border-left-color:var(--ra-deny)}.refarch .note p{margin:0 0 10px}.refarch .note p:last-child{margin:0}.refarch .note .tag{font-family:var(--ra-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ra-ink-3);margin-bottom:6px;font-size:.625rem;display:block}.refarch .tablewrap{border:1px solid var(--ra-rule);border-radius:var(--radius-md);background:var(--ra-surface);margin:24px 0 30px;overflow-x:auto}.refarch table{border-collapse:collapse;width:100%;font-size:.9rem;line-height:1.45}.refarch th{text-align:left;font-family:var(--ra-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ra-ink-3);border-bottom:1px solid var(--ra-rule);white-space:nowrap;background:var(--ra-surface-2);padding:12px 14px;font-size:.625rem;font-weight:500}.refarch td{border-bottom:1px solid var(--ra-rule-soft);vertical-align:top;color:var(--ra-ink-2);padding:10px 14px}.refarch tr:last-child td{border-bottom:0}.refarch .cid,.refarch .num-cell{font-family:var(--ra-mono);color:var(--ra-ink-3);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.78rem}.refarch table code{color:var(--ra-ink-2);background:0 0;padding:0;font-size:.78rem}.refarch .matrix td:nth-child(4),.refarch .matrix td:nth-child(5){font-family:var(--ra-mono);white-space:nowrap;font-size:.75rem}.refarch .compact :is(td,th){padding:8px 12px}.refarch .zt{font-family:var(--ra-mono);border-radius:var(--radius-sm);vertical-align:1px;border:1px solid;margin-right:5px;padding:1px 6px;font-size:.7rem;font-weight:500;display:inline-block}.refarch .z0{color:var(--ra-z0)}.refarch .z1{color:var(--ra-z1)}.refarch .z2{color:var(--ra-z2)}.refarch .z3{color:var(--ra-z3)}.refarch .z4{color:var(--ra-z4)}.refarch .z5{color:var(--ra-z5)}.refarch .z6{color:var(--ra-z6)}.refarch figure{background:var(--ra-surface);border:1px solid var(--ra-rule);border-radius:var(--radius-md);margin:32px 0 36px;padding:22px 20px 14px}.refarch figure svg{width:100%;height:auto;display:block}.refarch figcaption{color:var(--ra-ink-3);border-top:1px solid var(--ra-rule-soft);max-width:82ch;margin-top:16px;padding-top:12px;font-size:.85rem;line-height:1.55}.refarch figcaption b{color:var(--ra-ink-2);font-weight:600}.refarch .dbox{fill:var(--ra-surface);stroke:currentColor;stroke-width:1px}.refarch .dzone{fill:none;stroke:currentColor;stroke-width:1.5px}.refarch .dtag{font-family:var(--ra-mono);letter-spacing:.1em;fill:currentColor;font-size:11px;font-weight:500}.refarch .dchip{font-family:var(--ra-sans);fill:var(--ra-ink);font-size:11.5px;font-weight:600}.refarch .dsub{font-family:var(--ra-sans);fill:var(--ra-ink-3);font-size:10px}.refarch .dtext{font-family:var(--ra-sans);fill:var(--ra-ink-2);font-size:11.5px}.refarch .dlabel{font-family:var(--ra-mono);fill:var(--ra-ink-3);paint-order:stroke;stroke:var(--ra-surface);stroke-width:3.5px;stroke-linejoin:round;font-size:9.5px}.refarch .dlabel.hot{fill:var(--ra-accent)}.refarch .dlabel.bad{fill:var(--ra-deny)}.refarch .dedge{fill:none;stroke:var(--ra-ink-3);stroke-width:1.2px}.refarch .dedge.hot{stroke:var(--ra-accent);stroke-width:2.2px}.refarch .dedge.dash{stroke-dasharray:5 4}.refarch .dedge.bad{stroke:var(--ra-deny);stroke-width:1.4px;stroke-dasharray:5 4}.refarch pre{font-family:var(--ra-mono);background:var(--ra-surface-2);border:1px solid var(--ra-rule);border-left:3px solid var(--ra-rule);border-radius:var(--radius-md);color:var(--ra-ink-2);margin:22px 0;padding:16px 18px;font-size:.8125rem;line-height:1.65;overflow-x:auto}.refarch pre b{color:var(--ra-ink);font-weight:600}.refarch pre .cmt{color:var(--ra-ink-3);font-style:italic}.refarch .tree{font-size:.78rem;line-height:1.7}.refarch .reqs{background:var(--ra-rule-soft);border:1px solid var(--ra-rule-soft);border-radius:var(--radius-md);gap:1px;margin:26px 0 32px;display:grid;overflow:hidden}.refarch .req{background:var(--ra-surface-2);padding:18px 20px 14px}.refarch .req h4{align-items:baseline;gap:10px;margin:0 0 8px;font-size:1.0625rem;display:flex}.refarch .req .rid{font-family:var(--ra-mono);color:var(--ra-accent);font-size:.8125rem;font-weight:500}.refarch .req ul{max-width:none;margin:0;padding-left:0;list-style:none}.refarch .req li{color:var(--ra-ink-2);text-indent:-48px;margin:0 0 8px;padding-left:48px;font-size:.9rem;line-height:1.5}.refarch .req li>span:first-child{text-indent:0;width:48px;font-family:var(--ra-mono);color:var(--ra-ink-3);font-size:.75rem;display:inline-block}.refarch .req.gate{border-left:3px solid var(--ra-accent)}.refarch .deny-list{max-width:none;margin:20px 0 26px;padding:0;list-style:none}.refarch .deny-list li{color:var(--ra-ink-2);margin-bottom:8px;padding-left:26px;font-size:.9375rem;position:relative}.refarch .deny-list li:before{content:"×";color:var(--ra-deny);font-size:1.0625rem;font-weight:700;position:absolute;top:-1px;left:6px}.refarch .flow{background:var(--ra-surface-2);border:1px solid var(--ra-rule);border-radius:var(--radius-md);margin:0 0 26px;padding:18px 20px}.refarch .flow h4{margin:0 0 8px;font-size:1rem}.refarch .flow h4 .fid{font-family:var(--ra-mono);color:var(--ra-accent);margin-right:10px;font-size:.78rem;font-weight:500}.refarch .flow p{max-width:78ch;margin:0;font-size:.9375rem;line-height:1.6}.refarch .flow .path{font-family:var(--ra-mono);color:var(--ra-ink-2);background:var(--ra-sunk);border-radius:var(--radius-xs);padding:1px 5px;font-size:.78rem}.refarch .cards{background:var(--ra-rule-soft);border:1px solid var(--ra-rule-soft);border-radius:var(--radius-md);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1px;max-width:none;margin:26px 0 32px;display:grid;overflow:hidden}.refarch .card{background:var(--ra-surface-2);padding:18px 20px}.refarch .card h4{align-items:baseline;gap:10px;margin:0 0 7px;display:flex}.refarch .card h4 .n{font-family:var(--ra-mono);color:var(--ra-ink-3);font-size:.78rem}.refarch .card p{color:var(--ra-ink-2);margin:0;font-size:.9rem;line-height:1.55}.refarch .card .status{font-family:var(--ra-mono);letter-spacing:.14em;text-transform:uppercase;border-radius:var(--radius-full);border:1px solid;margin-bottom:10px;padding:2px 8px;font-size:.625rem;display:inline-block}.refarch .status.open{color:var(--ra-ink-3)}.refarch .status.gated{color:var(--ra-accent)}.refarch .status.closed{color:var(--ra-ok)}.refarch .plain{border-left:3px solid var(--ra-accent);max-width:66ch;margin:0 0 30px;padding-left:20px}.refarch .plain p{color:var(--ra-ink);margin:0 0 14px;font-size:1.125rem;line-height:1.65}.refarch .plain p:last-child{margin:0}.refarch p.why{border-left:2px solid var(--ra-accent);color:var(--ra-ink-2);margin:-6px 0 20px;padding:2px 0 2px 14px;font-size:.9375rem;line-height:1.55}.refarch p.why b{font-family:var(--ra-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ra-accent);margin-right:9px;font-size:.6875rem;font-weight:500}.refarch details{border:1px solid var(--ra-rule);border-radius:var(--radius-md);background:var(--ra-surface-2);margin:26px 0 32px;padding:0 20px}.refarch details>summary{cursor:pointer;font-family:var(--ra-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ra-ink-2);transition:color var(--transition-fast);align-items:center;gap:10px;padding:14px 0;font-size:.75rem;font-weight:500;list-style:none;display:flex}.refarch details>summary::-webkit-details-marker{display:none}.refarch details>summary:before{content:"+";color:var(--ra-accent);font-size:1.0625rem;line-height:1}.refarch details[open]>summary:before{content:"–"}.refarch details>summary:hover{color:var(--ra-accent)}.refarch details[open]>summary{border-bottom:1px solid var(--ra-rule-soft);margin-bottom:18px}.refarch details[open]{padding-bottom:8px}.refarch details h4:first-of-type{margin-top:0}.refarch details .tablewrap{background:var(--ra-surface)}.refarch .note.guar{border-left-color:var(--ra-ok)}.refarch .note ul{margin:0 0 10px;padding-left:20px;font-size:.9375rem;line-height:1.55}.refarch .note li{margin:0 0 5px}.refarch main .chain{flex-wrap:wrap;align-items:center;gap:7px 5px;max-width:none;margin:0 0 14px;padding:0;list-style:none;display:flex}.refarch .chain li{align-items:center;gap:7px;margin:0;display:flex}.refarch .chain li:after{content:"→";color:var(--ra-ink-3);font-size:.8125rem}.refarch .chain li:last-child:after{content:none}.refarch .chain b{color:var(--ra-ink);background:var(--ra-sunk);border:1px solid var(--ra-rule-soft);border-radius:var(--radius-sm);padding:3px 9px;font-size:.8125rem;font-weight:500}.refarch .flow .refs{font-family:var(--ra-mono);color:var(--ra-ink-3);margin:10px 0 0;font-size:.75rem;line-height:1.5}.refarch .tiers{max-width:68ch;margin:24px 0 30px}.refarch .tier{background:var(--ra-surface-2);border:1px solid var(--ra-rule);border-radius:var(--radius-md);padding:15px 18px}.refarch .tier+.tier{margin-top:28px;position:relative}.refarch .tier+.tier:before{content:"↓";color:var(--ra-ink-3);font-size:.9375rem;line-height:1;position:absolute;top:-23px;left:20px}.refarch .tier .lbl{font-family:var(--ra-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ra-accent);margin-bottom:7px;font-size:.625rem;display:block}.refarch .tier h4{margin:0 0 5px;font-size:1rem}.refarch .tier p{color:var(--ra-ink-2);margin:0;font-size:.9rem;line-height:1.55}.refarch main .terms{grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:10px 32px;max-width:none;margin:0 0 18px;display:grid}.refarch .terms div{font-size:.875rem;line-height:1.5}.refarch .terms dt{font-family:var(--ra-mono);color:var(--ra-ink);font-size:.8125rem;display:inline}.refarch .terms dd{color:var(--ra-ink-2);margin:0;display:inline}.refarch .terms dd:before{content:" —";color:var(--ra-ink-3)}.refarch .req h4 .cid{text-transform:lowercase;margin-left:auto}.refarch .modes{background:var(--ra-rule-soft);border:1px solid var(--ra-rule-soft);border-radius:var(--radius-md);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1px;margin:28px 0 0;display:grid;overflow:hidden}.refarch .modes>div{background:var(--ra-surface-2);padding:14px 18px}.refarch .modes .lbl{font-family:var(--ra-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ra-accent);margin-bottom:6px;font-size:.625rem;display:block}.refarch .modes p{color:var(--ra-ink-2);margin:0;font-size:.9rem;line-height:1.55}.refarch .toc ol+h2{margin-top:26px}.refarch p.pull{font-family:var(--ra-display);letter-spacing:-.015em;color:var(--ra-ink);border-left:3px solid var(--ra-accent);text-wrap:balance;max-width:26ch;margin:30px 0 34px;padding:4px 0 4px 20px;font-size:clamp(1.375rem,2.6vw,1.75rem);font-weight:600;line-height:1.25}.refarch .decs{background:var(--ra-rule-soft);border:1px solid var(--ra-rule-soft);border-radius:var(--radius-md);gap:1px;max-width:none;margin:26px 0 32px;display:grid;overflow:hidden}.refarch .dec{background:var(--ra-surface-2);padding:18px 20px}.refarch .dec h4{align-items:baseline;gap:10px;margin:0 0 10px;display:flex}.refarch .dec h4 .n{font-family:var(--ra-mono);color:var(--ra-ink-3);font-size:.78rem}.refarch .dec p{max-width:none;color:var(--ra-ink-2);margin:0 0 9px;font-size:.9375rem;line-height:1.55}.refarch .dec p:last-child{margin:0}.refarch .dec p b.k{font-family:var(--ra-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ra-accent);min-width:66px;margin-right:9px;font-size:.6875rem;font-weight:500;display:inline-block}.refarch .dec p:last-child b.k{color:var(--ra-ink-3)}.refarch .ledger{background:var(--ra-rule-soft);border:1px solid var(--ra-rule-soft);border-radius:var(--radius-md);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1px;max-width:none;margin:26px 0 32px;display:grid;overflow:hidden}.refarch .ledger>div{background:var(--ra-surface-2);padding:18px 20px}.refarch .ledger h4{margin:0 0 12px;font-size:1rem}.refarch .ledger .pro h4{color:var(--ra-ok)}.refarch .ledger .con h4{color:var(--ra-deny)}.refarch .ledger ul{max-width:none;margin:0;padding-left:20px}.refarch .ledger li{color:var(--ra-ink-2);margin:0 0 8px;font-size:.9rem;line-height:1.5}.refarch .ledger li:last-child{margin:0}.refarch ol.steps{margin:24px 0 26px}.refarch ol.steps li{margin:0 0 12px}.refarch .partbreak{border-top:2px solid var(--ra-ink);margin:96px 0 8px;padding:34px 0 4px}.refarch .partbreak .lbl{font-family:var(--ra-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ra-accent);margin-bottom:12px;font-size:.6875rem;font-weight:500;display:block}.refarch .partbreak h2{font-family:var(--ra-display);letter-spacing:-.02em;margin:0 0 14px;font-size:clamp(1.875rem,4vw,2.75rem);font-weight:600;line-height:1.1}.refarch .partbreak p{max-width:68ch;color:var(--ra-ink-2);margin:0;font-size:1rem;line-height:1.6}.refarch .partbreak+section h2.sec{margin-top:56px}
