:root{--bg:#0b0c0e;--fg:#e8e8ea;--muted:#9aa0a6;--line:#23252a;--accent:#5aa2ff;--code-bg:#141619;--measure:42rem}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;margin:0;font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:18px;line-height:1.7}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.wrap{max-width:var(--measure);margin:0 auto;padding:4rem 1.25rem 6rem}.masthead{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:3.5rem;padding-bottom:1rem;display:flex}.brand{letter-spacing:-.02em;font-size:1.05rem;font-weight:700}.brandlink{color:var(--fg);align-items:center;gap:.5em;display:inline-flex}.brandlink:hover{color:var(--accent);text-decoration:none}.brandmark{width:auto;height:.82em;color:var(--accent);flex:none}.brand span{color:var(--muted);font-weight:400}.nav a{color:var(--muted);margin-left:1.25rem;font-size:.95rem}.article h1,.article h2,.article h3,.article h4{scroll-margin-top:1.5rem}.article h1{letter-spacing:-.03em;margin:0 0 1.5rem;font-size:2.4rem;line-height:1.12}.article h2{letter-spacing:-.02em;margin:2.75rem 0 .75rem;font-size:1.35rem}.article p{margin:0 0 1.25rem}.article em{color:var(--muted);font-style:italic}.article ol,.article ul{margin:0 0 1.25rem;padding-left:1.25rem}.article li{margin:.35rem 0}.article hr{border:none;border-top:1px solid var(--line);margin:2.5rem 0}.article a{border-bottom:1px solid #0000}.article pre{background:var(--code-bg);border:1px solid var(--line);border-radius:10px;margin:0 0 1.5rem;padding:1rem 1.15rem;font-size:.86rem;line-height:1.6;overflow-x:auto}.article code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em}.article :not(pre)>code{background:var(--code-bg);border:1px solid var(--line);border-radius:5px;padding:.1rem .35rem}.article sup a[data-footnote-ref]{border-bottom:none;padding:0 .1em 0 .12em;font-size:.72em;font-weight:600;text-decoration:none}.article .footnotes{border-top:1px solid var(--line);color:var(--muted);margin-top:3rem;padding-top:1.5rem;font-size:.9rem}.article .footnotes .sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.article .footnotes ol{margin:0}.article .footnotes li{margin:.6rem 0}.article .footnotes p{margin:0 0 .5rem}.article .footnotes li:target{color:var(--fg)}.article a[data-footnote-backref]{border-bottom:none;margin-left:.35rem;text-decoration:none}.cta{border:1px solid var(--line);background:linear-gradient(#5aa2ff0f,#0000);border-radius:14px;margin-top:3.5rem;padding:1.75rem}.cta h3{letter-spacing:-.02em;margin:0 0 .4rem;font-size:1.15rem}.cta p{color:var(--muted);margin:0 0 1rem;font-size:.95rem}.form{flex-wrap:wrap;gap:.5rem;display:flex}.form input{background:var(--code-bg);border:1px solid var(--line);color:var(--fg);border-radius:9px;flex:16rem;padding:.7rem .9rem;font-size:1rem}.form input:focus{border-color:var(--accent);outline:none}.form button{background:var(--accent);color:#0b0c0e;cursor:pointer;border:none;border-radius:9px;padding:.7rem 1.15rem;font-size:1rem;font-weight:600}.form button:disabled{opacity:.6;cursor:default}.note{color:var(--muted);margin-top:.75rem;font-size:.85rem}.codewrap{margin:0 0 1.5rem;position:relative}.codewrap .copybtn{z-index:1;color:var(--muted);border:1px solid var(--line);cursor:pointer;opacity:0;background:#141619d9;border-radius:6px;padding:.2rem .55rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.72rem;transition:opacity .12s,color .12s;position:absolute;top:8px;right:8px}.codewrap:hover .copybtn{opacity:1}.codewrap .copybtn:hover{color:var(--fg);border-color:var(--accent)}.foot{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:4rem;padding-top:1.5rem;font-size:.9rem;display:flex}.pagetitle{letter-spacing:-.03em;margin:0 0 .75rem;font-size:2.2rem;line-height:1.12}.pagelede{color:var(--muted);margin:0 0 2.5rem}.subhead{letter-spacing:-.02em;margin:2rem 0 .5rem;font-size:1.05rem}.btn{background:var(--accent);color:#0b0c0e;border:1px solid var(--accent);cursor:pointer;border-radius:9px;padding:.6rem 1.1rem;font-size:.95rem;font-weight:600;display:inline-block}.btn:hover{filter:brightness(1.08);text-decoration:none}.btn:disabled{opacity:.45;cursor:default;filter:none}.btn.ghost{color:var(--fg);border-color:var(--line);background:0 0}.btn.ghost:hover{border-color:var(--accent);color:var(--accent)}.btnrow{flex-wrap:wrap;gap:.6rem;margin:0;display:flex}.linkbtn{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:.1rem .2rem;font-family:inherit;font-size:.8rem}.linkbtn:hover{color:var(--accent)}input,textarea,.editor-area{background:var(--code-bg);border:1px solid var(--line);color:var(--fg);border-radius:8px;width:100%;padding:.55rem .7rem;font-family:inherit;font-size:.92rem}input:focus,textarea:focus{border-color:var(--accent);outline:none}.status{letter-spacing:.02em;border:1px solid;border-radius:999px;padding:.15rem .5rem;font-size:.75rem;font-weight:600}.status.good{color:#7ee2a8;background:#12251b;border-color:#24503a}.status.bad{color:#ff9c9c;background:#2a1616;border-color:#5a2a2a}.status.warn{color:#f2cf83;background:#2a2313;border-color:#5a4a24}.scopepill{color:var(--muted);border:1px solid var(--line);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:.15rem .55rem;font-size:.72rem}.chip{background:var(--code-bg);border:1px solid var(--line);color:var(--fg);border-radius:6px;align-items:center;gap:.3rem;padding:.18rem .45rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;display:inline-flex}.chip-org{color:#9cc4ff;border-color:#33455f}.chip-tag{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.62rem}button.chip{cursor:pointer;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.chip-off{opacity:.5}.chip-off:hover{opacity:.85;border-color:var(--accent)}.chip-on{border-color:var(--accent);color:var(--accent)}.chipx{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:.9rem;line-height:1}.chipx:hover{color:#ff9c9c}.flow-refs{flex-wrap:wrap;gap:.35rem;display:flex}.diags{gap:.5rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.diag{border:1px solid var(--line);background:var(--code-bg);border-left-width:3px;border-radius:8px;padding:.6rem .75rem}.diag-error{border-left-color:#c9524f}.diag-warning{border-left-color:#c19a3c}.diag-info{border-left-color:#3f5680}.diag-head{align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.diagsev{text-transform:uppercase;letter-spacing:.05em;font-size:.7rem;font-weight:700}.sev-error{color:#ff9c9c}.sev-warning{color:#f2cf83}.sev-info{color:#9db4e0}.diagloc,.diagcode{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.72rem}.diagcode{opacity:.7;margin-left:auto}.diag-msg{margin:0;font-size:.88rem}.diag-hint{color:var(--muted);margin:.3rem 0 0;font-size:.8rem}.builder{grid-template-columns:minmax(0,1fr);gap:2rem;width:min(74rem,100vw - 2.5rem);margin-left:50%;display:grid;transform:translate(-50%)}@media (min-width:62rem){.builder{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start}.bpreview{position:sticky;top:1.5rem}}.bcol{min-width:0}.bsec{margin-bottom:2.25rem}.bsec h2{letter-spacing:-.02em;align-items:center;gap:.6rem;margin:0 0 .4rem;font-size:1.05rem;display:flex}.stepnum{border:1px solid var(--line);width:1.4rem;height:1.4rem;color:var(--muted);border-radius:999px;place-items:center;font-size:.75rem;display:inline-grid}.bhint{color:var(--muted);margin:0 0 .85rem;font-size:.85rem}.scopegrid{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.5rem;display:grid}.scopeopt{text-align:left;background:var(--code-bg);border:1px solid var(--line);cursor:pointer;color:var(--fg);border-radius:10px;gap:.2rem;padding:.65rem .75rem;font-family:inherit;display:grid}.scopeopt:hover{border-color:#3a4157}.scopeopt.on{border-color:var(--accent);background:#5aa2ff14}.scopeopt-label{font-size:.92rem;font-weight:600}.scopeopt-blurb{color:var(--muted);font-size:.78rem;line-height:1.4}.fieldrow{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.75rem;display:grid}.fieldrow label,.commalist{gap:.3rem;display:grid}.fieldrow label>span,.commalist>span,.refpicker-label{color:var(--muted);font-size:.78rem}.pickgrid{grid-template-columns:repeat(auto-fill,minmax(10.5rem,1fr));gap:.45rem;display:grid}.pick{text-align:left;background:var(--code-bg);border:1px solid var(--line);cursor:pointer;color:var(--fg);border-radius:9px;gap:.1rem;padding:.5rem .65rem;font-family:inherit;display:grid}.pick:hover{border-color:#3a4157}.pick.on{border-color:var(--accent);background:#5aa2ff14}.pick-label{font-size:.88rem;font-weight:500}.pick-note{color:var(--muted);font-size:.72rem}.customadd{gap:.4rem;margin-top:.6rem;display:flex}.customadd input{flex:1}.customadd button{color:var(--muted);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:8px;padding:0 .8rem;font-family:inherit;font-size:.85rem}.customadd button:hover{border-color:var(--accent);color:var(--accent)}.presetrow{flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.75rem;display:flex}.presetrow .customadd{flex:14rem;margin-top:0}.preset{border:1px dashed var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;padding:.25rem .7rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem}.preset:hover{border-color:var(--accent);color:var(--accent)}.editor{border:1px solid var(--line);border-radius:10px;gap:.6rem;margin-bottom:.6rem;padding:.75rem;display:grid}.editor-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.editor-head strong{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88rem}.refpicker{gap:.3rem;display:grid}.preview-head{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.preview-head .linkbtn{margin-left:auto}.preview-head .linkbtn+.linkbtn{margin-left:0}.claim{border:1px solid var(--line);background:linear-gradient(#5aa2ff0d,#0000);border-radius:12px;margin-top:1.25rem;padding:1rem}.claim h3{letter-spacing:-.02em;margin:0 0 .35rem;font-size:1rem}.claim.done h3{color:#7ee2a8}.slugrow{border:1px solid var(--line);background:var(--code-bg);border-radius:8px;align-items:center;margin:.6rem 0 .4rem;display:flex;overflow:hidden}.slugrow:focus-within{border-color:var(--accent)}.slugprefix{color:var(--muted);white-space:nowrap;padding:.55rem 0 .55rem .7rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88rem}.slugrow input{background:0 0;border:none;border-radius:0;padding-left:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.claimnote{color:var(--muted);margin:0 0 .6rem;font-size:.8rem}.claimnote.good{color:#7ee2a8}.claimnote.bad{color:#ff9c9c}.edittoken{background:var(--code-bg);border:1px solid var(--line);word-break:break-all;color:#f2cf83;border-radius:8px;padding:.55rem .7rem;font-size:.8rem;display:block}.checker-bar{gap:.9rem;margin-bottom:.5rem;display:flex}.editor-area{resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.84rem;line-height:1.6}.checker-result{margin-top:1.5rem}.phead{margin-bottom:2.5rem}.phead-top{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.phead h1{letter-spacing:-.03em;margin:0;font-size:2rem}.phead-sub{color:var(--muted);margin:.4rem 0 0;font-size:.9rem}.psec{margin-bottom:2.25rem}.psec h2{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);align-items:center;gap:.45rem;margin:0 0 .75rem;font-size:.82rem;font-weight:600;display:flex}.count{border:1px solid var(--line);letter-spacing:0;border-radius:999px;padding:0 .4rem;font-size:.72rem}.cards{grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.card{border:1px solid var(--line);border-radius:10px;padding:.7rem .8rem}.card-head{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.card-name{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92rem}.card-provider{color:var(--muted);font-size:.75rem}.card-meta{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.35rem;display:flex}.card-meta code{color:var(--muted);font-size:.72rem}.card-version{color:var(--muted);border:1px solid var(--line);border-radius:5px;padding:0 .3rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.7rem}.card-note{color:var(--muted);margin:.45rem 0 0;font-size:.72rem;font-style:italic}.vendor{gap:.15rem;margin:.5rem 0 0;display:grid}.vendor>div{gap:.4rem;font-size:.75rem;display:flex}.vendor dt{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.vendor dd{margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.flows{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.flow{border:1px solid var(--line);border-radius:10px;gap:.4rem;padding:.7rem .8rem;display:grid}.flow-name{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9rem}.flow-desc{color:var(--muted);margin:0;font-size:.85rem}.flow-desc code{font-size:.8rem}.warnpill{color:#f2cf83;border:1px solid #5a4a24;border-radius:999px;margin-left:.4rem;padding:0 .4rem;font-size:.68rem}.recent{margin-top:2.5rem}.recent h3{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 .6rem;font-size:.8rem}.recentlist{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.recentlist li{border:1px solid var(--line);border-radius:999px;align-items:center;gap:.4rem;padding:.2rem .6rem;font-size:.82rem;display:inline-flex}.recentscope{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.7rem}.feedbackform{gap:1rem;max-width:38rem;display:grid}.feedbackform>label{gap:.3rem;display:grid}.feedbackform>label>span{color:var(--muted);font-size:.8rem}.feedbackform textarea{resize:vertical;font-family:inherit;font-size:.95rem;line-height:1.6}.feedbackform .btn{justify-self:start}.nsblock{margin-bottom:1.5rem}.nsname{color:var(--muted);margin:0 0 .5rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85rem;font-weight:500}a.card-name{color:var(--fg)}a.card-name:hover{color:var(--accent)}
