:root{color-scheme:dark;--ground:#121315;--raised:#181a1d;--well:#0b0c0d;--rule:#282b2f;--rule-strong:#40444a;--ink:#e8e5dd;--ink-2:#c0bdb5;--muted:#909295;--faint:#72767b;--attacker:#ff6040;--attacker-wash:#ff604024;--serif:var(--font-newsreader);--mono:var(--font-plex-mono);--t-micro:.6875rem;--t-code:.8125rem;--t-ui:.875rem;--t-body:1.1875rem;--t-h3:1.5rem;--t-h2:2.125rem;--t-display:2.75rem;--lh-code:1.62;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--inset:18px;--gap-row:56px;--gap-sec:96px;--measure:680px;--page:1152px;--rail:176px;--gutter:48px;--pad:32px}@media (width<=1147.98px){:root{--gap-row:40px;--gap-sec:72px}}@media (width<=900px){:root{--pad:24px;--t-display:2.125rem;--t-h2:1.75rem}}@media (width<=560px){:root{--inset:14px;--pad:16px;--gap-sec:64px;--t-body:1.125rem;--t-display:1.8125rem;--t-h2:1.5625rem;--t-h3:1.3125rem}}*,:before,:after{box-sizing:border-box}html{-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;text-size-adjust:100%;background:var(--ground);scroll-padding-top:24px;font-size:100%}body{background:var(--ground);color:var(--ink);font-family:var(--serif);font-size:var(--t-body);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;overflow-wrap:break-word;margin:0;line-height:1.58}::selection{background:var(--rule-strong);color:var(--ink)}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3,h4{font-weight:400}p,figcaption>span,summary>span{text-wrap:pretty}h1,h2,h3,h4,.ident__sub{text-wrap:balance}ul,ol{margin:0;padding:0;list-style:none}a{color:inherit;text-decoration:underline 1px;text-decoration-color:var(--faint);text-underline-offset:.2em}@media (hover:hover){a:hover{text-decoration-color:var(--ink)}}:focus-visible{outline:1px solid var(--ink);outline-offset:3px}code,pre{font-family:var(--mono)}:not(pre)>code{color:var(--ink);background:var(--raised);border:1px solid var(--rule);overflow-wrap:anywhere;border-radius:2px;padding:.06em .32em .1em;font-size:.8em}mark{color:inherit;background:0 0}mark.atk{color:var(--attacker);background:var(--attacker-wash);border-bottom:2px solid var(--attacker);padding:0 1px;font-weight:500}.rootcause mark.atk{font-weight:inherit}@media (forced-colors:active){mark.atk{color:marktext;background-color:mark;border-bottom-color:marktext}}.vh{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.nowrap{white-space:nowrap}mark.atk:before,mark.atk:after{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}mark.atk:before{content:" [attacker-controlled: "}mark.atk:after{content:"] "}.wrap{max-width:calc(var(--page) + 2 * var(--pad));padding-inline:var(--pad);margin-inline:auto}.mast{justify-content:space-between;align-items:baseline;column-gap:var(--s-6);row-gap:var(--s-3);border-bottom:1px solid var(--rule);flex-wrap:wrap;padding-block:28px 22px;display:flex}.mast__nav{font:400 var(--t-code) / 1 var(--mono);flex-wrap:wrap;gap:8px 28px;display:flex}.mast__nav a{color:var(--ink-2);padding-block:4px;text-decoration:none}@media (hover:hover){.mast__nav a:hover{color:var(--ink)}}.mast__nav a[aria-current]{color:var(--ink)}.mast__nav a[aria-current]:before{content:"";background:var(--ink);width:5px;height:5px;margin-right:8px;display:inline-block;transform:translateY(-2px)}.foot{justify-content:space-between;gap:var(--s-3) var(--s-5);border-top:1px solid var(--rule);font:400 var(--t-code) / 1.4 var(--mono);color:var(--muted);flex-wrap:wrap;padding-block:22px 44px;display:flex}.foot__links{gap:24px;display:flex}.foot a{color:var(--ink-2)}.wm{font:500 .9375rem/1 var(--mono);color:var(--ink);white-space:nowrap;padding-inline:2px;text-decoration:none;display:inline-block}.wm__by{outline-offset:1px;outline:1px solid #0000;display:inline-block}.wm__n{padding-inline:.015em;display:inline-block}.wm__by:first-child{--bi:0}.wm__by:nth-child(2){--bi:1}.wm__by:nth-child(3){--bi:2}.wm__by:nth-child(4){--bi:3}.wm__n:first-child{--ni:0}.wm__n:nth-child(2){--ni:1}.wm__by--c{outline-color:var(--rule-strong)}.wm__n--c{background-color:var(--ink);color:var(--ground)}@media (hover:hover){.wm:has(.wm__n:hover) .wm__n--c:not(:hover){color:inherit;background-color:#0000}.wm .wm__n:hover{background-color:var(--ink);color:var(--ground)}.wm:has(.wm__by:hover) .wm__by--c:not(:hover){outline-color:#0000}.wm .wm__by:hover{outline-color:var(--rule-strong)}}@media (prefers-reduced-motion:no-preference){.wm:focus-visible .wm__n--c{color:inherit;background-color:#0000}.wm:focus-visible .wm__by--c{outline-color:#0000}.wm:focus-visible .wm__n{animation:wm-caret 65ms linear calc((var(--bi) * 2 + var(--ni)) * 65ms) none}.wm:focus-visible .wm__by{animation:wm-box .13s linear calc(var(--bi) * .13s) none}.wm:focus-visible .wm__by:last-child,.wm:focus-visible .wm__by:last-child .wm__n:last-child{animation-fill-mode:forwards}}@keyframes wm-caret{0%,to{box-shadow:inset 0 0 0 2em var(--ink);color:var(--ground)}}@keyframes wm-box{0%,to{outline-color:var(--rule-strong)}}.wm{--wm-step:1.2s}@media (prefers-reduced-motion:no-preference){.wm:not(:hover):not(:focus-visible) .wm__n--c{color:inherit;background-color:#0000}.wm:not(:hover):not(:focus-visible) .wm__by--c{outline-color:#0000}.wm:not(:hover):not(:focus-visible) .wm__n{animation:wm-idle-n calc(var(--wm-step) * 8) linear infinite;animation-delay:calc((var(--bi) * 2 + var(--ni)) * var(--wm-step))}.wm:not(:hover):not(:focus-visible) .wm__by{animation:wm-idle-by calc(var(--wm-step) * 8) linear infinite;animation-delay:calc(var(--bi) * 2 * var(--wm-step))}}@keyframes wm-idle-n{0%,12.49%{box-shadow:inset 0 0 0 2em var(--ink);color:var(--ground)}12.5%,to{box-shadow:none;color:var(--ink)}}@keyframes wm-idle-by{0%,24.99%{outline-color:var(--rule-strong)}25%,to{outline-color:#0000}}@media (forced-colors:active){.wm{forced-color-adjust:none;--ink:LinkText;--ground:Canvas;--rule-strong:LinkText}}.band{grid-template-columns:var(--rail) minmax(0, 1fr);column-gap:var(--gutter);display:grid}.band+.band{margin-top:var(--gap-sec)}.band+.band--tight{margin-top:var(--gap-row)}.band--first{padding-top:44px}main>.band:last-child{padding-bottom:var(--s-7)}.band__rail,.band__main,.doc__main{counter-reset:sec;min-width:0}section.sec{counter-increment:sec}.sec__head:not(:has(>.num)):before{content:counter(sec, decimal-leading-zero);color:var(--muted);margin-right:.6em;font-weight:400}.sec>p:not([class]),.sec>.result,.attempts>p,.endpoints{max-width:36rem}.band__main,.doc__main{container-type:inline-size}.label,.rail-label,.sec__head,.toc__list a{font:500 var(--t-micro) / 1.35 var(--mono);letter-spacing:.11em;text-transform:uppercase;color:var(--ink-2)}.rail-label{padding-top:.5em}.num{color:var(--muted);font-weight:400}.toc__list a .num{margin-right:.6em}.rail-note{font:400 var(--t-code) / 1.5 var(--mono);color:var(--muted);margin-top:10px}:is(.band__main,.sec)>*+*{margin-top:var(--s-5)}:is(.band__main,.sec)>p{max-width:var(--measure)}:is(.band__main,.sec)>:is(figure,.gvb,.attempts),:is(.band__main,.sec)>:is(figure,.attempts)+p{margin-top:var(--s-6)}@media (width<=1147.98px){.band{row-gap:var(--s-4);grid-template-columns:minmax(0,1fr)}.band--first{padding-top:var(--s-6)}.band__rail{flex-wrap:wrap;align-items:baseline;gap:4px 14px;display:flex}.rail-label{padding-top:0}.rail-note{margin-top:0}}.doc{grid-template-columns:var(--rail) minmax(0, 1fr);column-gap:var(--gutter);margin-top:var(--gap-sec);padding-bottom:var(--s-7);display:grid}.toc{align-self:start;padding-top:2px;position:sticky;top:24px}.toc__list{margin-top:var(--s-3)}.toc__list a{padding-block:5px;text-decoration:none;display:flex}.toc__list a:hover{color:var(--ink)}.toc__list .num{flex:none}.toc-fold{display:none}.sec:not(:last-child){padding-bottom:var(--gap-sec)}.sec__head{font-size:var(--t-code);color:var(--ink)}.sec>.sec__head+*{margin-top:var(--s-4)}@media (width<=1147.98px){.doc{margin-top:var(--gap-row);display:block}.toc{display:none}.toc-fold{margin-bottom:var(--gap-sec);display:block}.toc-fold>summary{width:fit-content;color:var(--ink-2);padding-block:12px}.toc-fold .toc__list{margin-top:0;padding-left:22px}.toc-fold .toc__list a{color:var(--muted)}.toc-fold .toc__list a:hover{color:var(--ink)}}@supports (animation-timeline:view()) and (timeline-scope:--a){.doc{timeline-scope:--sec-1, --sec-2, --sec-3, --sec-4, --sec-5, --sec-6, --sec-7, --sec-8, --sec-9, --sec-10, --sec-11, --sec-12, --sec-13, --sec-14, --sec-15, --sec-16}section.sec:first-of-type,.toc li:first-child{--sec:--sec-1}section.sec:nth-of-type(2),.toc li:nth-child(2){--sec:--sec-2}section.sec:nth-of-type(3),.toc li:nth-child(3){--sec:--sec-3}section.sec:nth-of-type(4),.toc li:nth-child(4){--sec:--sec-4}section.sec:nth-of-type(5),.toc li:nth-child(5){--sec:--sec-5}section.sec:nth-of-type(6),.toc li:nth-child(6){--sec:--sec-6}section.sec:nth-of-type(7),.toc li:nth-child(7){--sec:--sec-7}section.sec:nth-of-type(8),.toc li:nth-child(8){--sec:--sec-8}section.sec:nth-of-type(9),.toc li:nth-child(9){--sec:--sec-9}section.sec:nth-of-type(10),.toc li:nth-child(10){--sec:--sec-10}section.sec:nth-of-type(11),.toc li:nth-child(11){--sec:--sec-11}section.sec:nth-of-type(12),.toc li:nth-child(12){--sec:--sec-12}section.sec:nth-of-type(13),.toc li:nth-child(13){--sec:--sec-13}section.sec:nth-of-type(14),.toc li:nth-child(14){--sec:--sec-14}section.sec:nth-of-type(15),.toc li:nth-child(15){--sec:--sec-15}section.sec:nth-of-type(16),.toc li:nth-child(16){--sec:--sec-16}.sec{view-timeline:var(--sec) block;view-timeline-inset:128px calc(100% - 128px)}.toc .toc__list a{color:var(--muted);animation-name:toc-here;animation-timeline:var(--sec)}.toc .toc__list a:hover{color:var(--ink)}}@keyframes toc-here{0%,to{color:var(--ink)}}.meta{font:400 var(--t-ui) / 1.5 var(--mono);color:var(--muted);text-wrap:balance}.tag{font:500 var(--t-micro) / 1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);border:1px dashed var(--rule-strong);white-space:nowrap;border-radius:2px;padding:5px 7px;display:inline-block}.badge{font:600 var(--t-code) / 1 var(--mono);letter-spacing:.04em;color:var(--ink);border:1px solid var(--ink-2);white-space:nowrap;border-radius:2px;padding:4px 6px;display:inline-block}.badge--method{border-color:var(--rule-strong);background:var(--raised);font-weight:500}.redacted{color:var(--muted);background:var(--raised);outline:1px solid var(--raised);border-radius:1px}.fold>summary,.src__fold>summary,.attempts>summary,.toc-fold>summary{font:400 var(--t-code) / 1.4 var(--mono);cursor:pointer;align-items:baseline;gap:9px;list-style:none;display:flex}.ex__dir,.fold>summary,.src__fold>summary,.attempts>summary{-webkit-user-select:none;user-select:none}.copy:active{background:var(--well)}.fold>summary:active span,.src__fold>summary:active span,.attempts>summary:active span{text-decoration-color:var(--ink)}.attempts>summary:focus-visible{outline-offset:-1px}.src__fold>summary:focus-visible{outline-offset:-4px}.fold>summary::-webkit-details-marker,.src__fold>summary::-webkit-details-marker,.attempts>summary::-webkit-details-marker,.toc-fold>summary::-webkit-details-marker{display:none}.fold>summary:before,.src__fold>summary:before,.attempts>summary:before,.toc-fold>summary:before{content:"+";border:1px solid var(--rule-strong);width:13px;height:13px;color:var(--ink-2);flex:none;place-items:center;font-size:.6875rem;line-height:1;display:inline-grid}.fold[open]>summary:before,.src__fold[open]>summary:before,.attempts[open]>summary:before,.toc-fold[open]>summary:before{content:"−"}.fold>summary span,.src__fold>summary span,.attempts>summary span,.toc-fold>summary span{text-decoration:underline 1px;text-decoration-color:var(--faint);text-underline-offset:.2em}.fold__open,[open]>summary .fold__closed{display:none}[open]>summary .fold__open{display:inline}.chain{--steps:5;grid-template-columns:repeat(var(--steps), minmax(0, 1fr));counter-reset:step;display:grid}.chain>li{counter-increment:step;flex-direction:column;align-items:flex-start;row-gap:8px;padding-right:14px;display:flex}.chain__n{font:400 var(--t-micro) / 1 var(--mono);letter-spacing:.1em;color:var(--muted)}.chain__n:before{content:counter(step, decimal-leading-zero)}.chain__label{color:var(--ink);font-size:1.1875rem;line-height:1.2}.chain__label a{text-decoration-color:var(--rule-strong)}.chain .chain__act{font-size:var(--t-code);color:var(--ink-2);background:0 0;border:0;padding:0}@container (width<=859.98px){.chain{grid-template-columns:minmax(0,1fr);row-gap:14px}.chain>li{grid-template-columns:1.75rem minmax(0,11rem) minmax(0,1fr);align-items:baseline;gap:2px 14px;padding-right:0;display:grid}}@container (width<=559.98px){.chain>li{grid-template-columns:1.75rem minmax(0,1fr)}.chain__act{grid-column:2}}.run__cap{font:400 var(--t-code) / 1.5 var(--mono);color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin-bottom:10px;display:flex}.ribbon{padding:14px var(--inset) 16px;background:var(--well);border:1px solid var(--rule);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.ribbon__cell{min-width:0}.ribbon__body{color:inherit;row-gap:6px;text-decoration:none;display:grid}.ribbon__m{font:400 var(--t-micro) / 1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:3px;margin-right:-.08em}.ribbon__row{align-items:center;display:flex}.ribbon__row:after{content:"";background:var(--rule-strong);flex:1;height:1px;margin-inline:10px}.ribbon__cell:last-child .ribbon__row:after{visibility:hidden}.ribbon__reason,.ribbon__why{font:400 var(--t-code) / 1.35 var(--mono);padding-right:14px}.ribbon__reason{color:var(--muted)}.ribbon__why{color:var(--ink-2)}a.ribbon__body .ribbon__why{text-decoration:underline 1px;text-decoration-color:var(--faint);text-underline-offset:.2em}@container (width<=639.98px){.ribbon{padding:4px var(--inset);grid-template-columns:minmax(0,1fr)}.ribbon__cell+.ribbon__cell{border-top:1px solid var(--rule)}.ribbon__body{grid-template-columns:5.6rem 3.2rem minmax(0,1fr);align-items:baseline;gap:2px 10px;padding-block:10px}.ribbon__m,.ribbon__row{grid-row:1/span 2;margin-bottom:0}.ribbon__reason,.ribbon__why{grid-column:3;padding-right:0}.ribbon__row:after{display:none}}.attempts>summary{padding:14px var(--inset);background:var(--well);border:1px solid var(--rule);color:var(--ink-2)}.attempts:target>summary{border-color:var(--ink-2)}@media (hover:hover){.attempts>summary:hover{border-color:var(--ink-2)}.chain__label a:hover,a.ribbon__body:hover .ribbon__why,.fold>summary:hover span,.src__fold>summary:hover span,.attempts>summary:hover span{text-decoration-color:var(--ink)}.fold>summary:hover:before,.src__fold>summary:hover:before,.attempts>summary:hover:before{border-color:var(--ink-2);color:var(--ink)}}.attempts[open]{padding-bottom:var(--s-5);border-bottom:1px solid var(--rule)}.attempts>:not(summary){margin-top:var(--s-6)}.attempts>p{max-width:var(--measure)}.ex__cap{font:400 var(--t-code) / 1.5 var(--mono);color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:4px 16px;margin-bottom:10px;display:flex}.ex__id{font:500 var(--t-micro) / 1.5 var(--mono);letter-spacing:.11em;text-transform:uppercase;color:var(--ink);white-space:nowrap}.ex__cap code{color:var(--ink-2);background:0 0;border:0;padding:0;font-size:1em}.ex:target .ex__pair{border-color:var(--ink-2)}.ex__pair{background:var(--well);border:1px solid var(--rule);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.ex__pane{--gut:var(--inset);min-width:0;padding:16px var(--inset) 16px 0;position:relative}.ex__pane+.ex__pane{border-left:1px solid var(--rule)}.ex__pane+.ex__pane:before{content:"";border-left:7px solid var(--muted);border-top:5px solid #0000;border-bottom:5px solid #0000;position:absolute;top:16px;left:-1px}.ex--stack .ex__pair{grid-template-columns:minmax(0,1fr)}.ex--stack .ex__pane+.ex__pane{border-left:0;border-top:1px solid var(--rule)}.ex--stack .ex__pane+.ex__pane:before{border-top:7px solid var(--muted);border-bottom:0;border-left:5px solid #0000;border-right:5px solid #0000;top:-1px;left:22px}.ex--req-wide .ex__pair{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}.ex__dir{padding-left:var(--gut);font:500 var(--t-micro) / 1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);margin:0 0 10px}.http{font:400 var(--t-code) / var(--lh-code) var(--mono);color:var(--ink-2)}.start{padding-left:calc(var(--gut) + 2ch);text-indent:-2ch;color:var(--ink);margin-bottom:8px;display:block}.start>*{text-indent:0}.start>*+*{margin-left:1px}.start__proto,.start__reason{white-space:nowrap}.start__target{font-weight:500}.start__proto{color:var(--muted)}.start__reason{color:var(--ink-2)}.ln{min-height:calc(var(--lh-code) * 1em);padding-left:calc(var(--gut) + 2ch);text-indent:-2ch;white-space:pre-wrap;overflow-wrap:break-word}.ln--gap{min-height:0;line-height:.9}.hn{color:var(--muted)}.b{color:var(--ink-2)}.k,.ln--dim{color:var(--muted)}.sig,.sig .start__target{color:var(--ink);font-weight:600}.fold{margin:2px 0}.fold>summary{width:fit-content;padding:2px 6px 2px var(--gut);color:var(--muted)}@media (hover:hover){.fold>summary:hover{color:var(--ink-2)}}.fold[open]{padding-bottom:4px}.fold .ln{color:var(--muted)}.void{margin:0 0 0 var(--gut);border:1px dashed var(--rule-strong);font:400 var(--t-code) / 1.6 var(--mono);color:var(--muted);padding:12px 14px 13px}.void b{color:var(--ink);font-weight:500}.ex__foot{font:400 var(--t-code) / 1.6 var(--mono);color:var(--muted);max-width:78ch;margin-top:10px}@container (width<=839.98px){.ex__pair,.ex--req-wide .ex__pair{grid-template-columns:minmax(0,1fr)}.ex__pane+.ex__pane{border-left:0;border-top:1px solid var(--rule)}.ex__pane+.ex__pane:before{border-top:7px solid var(--muted);border-bottom:0;border-left:5px solid #0000;border-right:5px solid #0000;top:-1px;left:22px}}.payload{background:var(--well);border:1px solid var(--rule)}.payload__bar{padding:7px 7px 7px var(--inset);border-bottom:1px solid var(--rule);font:400 var(--t-code) / 1.4 var(--mono);color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 14px;display:flex}@container (width<=479.98px){.payload__bar>span:not(.label):not(.vh){flex-basis:100%;order:2}}.copy{font:500 var(--t-code) / 1 var(--mono);color:var(--ink);background:var(--raised);border:1px solid var(--rule-strong);cursor:pointer;border-radius:2px;min-width:calc(8ch + 26px);margin-left:auto;padding:5px 12px}@media (hover:hover){.copy:hover{border-color:var(--ink-2)}}.payload__code{padding:22px var(--inset) 24px;font:400 1rem/1.75 var(--mono);color:var(--ink-2);white-space:pre-wrap;overflow-wrap:break-word;margin:0}.payload__foot{padding:10px var(--inset) 11px;border-top:1px solid var(--rule);font:400 var(--t-code) / 1.6 var(--mono);color:var(--muted)}@media (width<=560px){.payload__code{padding-block:18px 20px;font-size:.875rem}}.gvb{border:1px solid var(--rule-strong);background:var(--raised);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.gvb__col{min-width:0;padding:22px 24px 24px;position:relative}.gvb__col+.gvb__col{border-left:1px solid var(--rule-strong)}.gvb__col+.gvb__col:before{content:"vs";background:var(--raised);border:1px solid var(--rule-strong);width:29px;font:500 var(--t-micro) / 1 var(--mono);letter-spacing:.08em;text-transform:uppercase;text-align:center;color:var(--ink-2);padding:4px 0 5px;position:absolute;top:21px;left:-15px}.gvb__head{border-bottom:1px solid var(--rule);flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin-bottom:18px;padding-bottom:14px;display:flex}.gvb__head .label{color:var(--ink)}.gvb__sub{font:400 var(--t-code) / 1.4 var(--mono);color:var(--muted)}.gvb__claim{font-size:var(--t-h3);letter-spacing:-.005em;text-wrap:balance;line-height:1.22}.gvb__text{color:var(--ink-2);margin-top:12px;font-size:1.0625rem;line-height:1.5}.evidence{background:var(--well);border:1px solid var(--rule);font:400 var(--t-code) / 1.7 var(--mono);color:var(--ink-2);white-space:pre-wrap;overflow-wrap:break-word;margin-top:16px;padding:12px 14px 13px}@container (width<=719.98px){.gvb{grid-template-columns:minmax(0,1fr)}.gvb__col{padding:20px 16px 22px}.gvb__col+.gvb__col{border-left:0;border-top:1px solid var(--rule-strong)}.gvb__col+.gvb__col:before{top:-11px;left:16px}}.result{padding:14px var(--inset) 15px;border:1px dashed var(--rule-strong);color:var(--ink-2);font-size:1.0625rem;line-height:1.5}.result .label{color:var(--ink);margin-right:8px}.src{background:var(--well);border:1px solid var(--rule)}.src__bar{padding:10px var(--inset);border-bottom:1px solid var(--rule);font:400 var(--t-code) / 1.4 var(--mono);color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:4px 14px;display:flex}.src__code{font:400 var(--t-code) / var(--lh-code) var(--mono);color:var(--ink-2);padding:12px 0 14px}.sl{grid-template-columns:3rem minmax(0,1fr);display:grid}.ln,.sl__tx{text-wrap:pretty}.sl__no{text-align:right;color:var(--muted);user-select:none;padding-right:8px}.sl__tx{min-height:calc(var(--lh-code) * 1em);text-indent:-2ch;white-space:pre-wrap;overflow-wrap:break-word;padding:0 16px 0 calc(14px + 2ch)}.c{color:var(--muted);font-style:italic}.src__fold{border-top:1px solid var(--rule)}.src__fold--head{border-top:0;border-bottom:1px solid var(--rule)}.src__fold>summary{padding:12px var(--inset);color:var(--ink-2)}.src__fold[open]>summary{border-bottom:1px solid var(--rule)}@media (width<=560px){.sl{grid-template-columns:2.4rem minmax(0,1fr)}.sl__tx{padding:0 10px 0 calc(8px + 2ch)}}.ident{column-gap:var(--gutter);row-gap:var(--s-5);padding-block:var(--s-6) var(--s-7);border-top:1px solid var(--rule-strong);grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1.2fr);font-size:1.0625rem;line-height:1.45;display:grid}.ident .label{color:var(--muted);margin-bottom:8px;display:block}.ident__sub{color:var(--muted);display:block}@media (width<=760px){.ident{grid-template-columns:minmax(0,1fr)}}.wu-title{letter-spacing:-.008em;font-size:1.875rem;line-height:1.15}.wu-title+.meta,.rootcause+.meta{margin-top:10px}.rootcause{letter-spacing:-.012em;text-wrap:pretty;max-width:23.5em;font-size:clamp(1.625rem,.95rem + 2vw,2.375rem);font-weight:350;line-height:1.19}.rootcause code{letter-spacing:-.02em;background:0 0;border:0;padding:0;font-size:.78em}.endpoints{max-width:var(--measure)}.endpoints>li{border-bottom:1px solid var(--rule);font:400 var(--t-code) / 1.4 var(--mono);color:var(--muted);justify-content:space-between;align-items:baseline;gap:16px;padding:9px 0 10px;display:flex}.endpoints code{font-size:var(--t-ui);background:0 0;border:0;padding:0}@media (width<=560px){.wu-title{font-size:1.5625rem}}.tier-title{font-size:var(--t-h3);line-height:1.2}.register .c-proj,.register .c-cls{overflow-wrap:anywhere}.register{border-collapse:collapse;width:100%;font-size:1.0625rem;line-height:1.35}.register th{border-bottom:1px solid var(--rule-strong);font:500 var(--t-micro) / 1.2 var(--mono);letter-spacing:.11em;text-transform:uppercase;text-align:left;color:var(--muted);padding:0 20px 10px 0}.register td{border-bottom:1px solid var(--rule);vertical-align:baseline;padding:15px 20px 16px 0}.register th:last-child,.register td:last-child{text-align:right;padding-right:0}.register .c-id{font:400 var(--t-code) / 1.4 var(--mono);white-space:nowrap}.register .c-cls{color:var(--ink-2)}.register .c-yr{font:400 var(--t-code) / 1.4 var(--mono);color:var(--muted)}.register .c-sev{font:500 var(--t-code) / 1.4 var(--mono);white-space:nowrap}.tier-foot{font:400 var(--t-code) / 1.4 var(--mono);color:var(--ink-2);flex-wrap:wrap;gap:8px 28px;display:flex}.sample-note{margin-top:14px}@media (width<=1147.98px){.sample-note{margin-top:0}}@media (width<=640px){.register,.register tbody,.register td{display:block}.register thead{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.register tbody{border-top:1px solid var(--rule-strong)}.register tr{border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:5px 16px;padding:14px 0 15px;display:grid}.register td{border:0;padding:0}.register .c-id{grid-area:1/1}.register .c-yr{grid-area:1/2}.register .c-proj{grid-area:2/1/3/3}.register .c-cls{grid-area:3/1}.register .c-sev{text-align:right;grid-area:3/2}}.rows>li{border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:6px 20px;padding:18px 0 20px;display:grid}.row__title{letter-spacing:-.004em;font-size:1.25rem;font-weight:420;line-height:1.2}.row__title a{text-decoration-color:var(--rule-strong);text-underline-offset:.16em}@media (hover:hover){.row__title a:hover{text-decoration-color:var(--ink)}}.row__year{font:400 var(--t-code) / 1.4 var(--mono);color:var(--muted)}.row__sum{color:var(--ink-2);grid-column:1/-1;font-size:1.0625rem;line-height:1.45}@media (width<=640px){.row__title,.coll__name{font-size:1.1875rem}}.coll>li+li{margin-top:var(--s-6)}.coll__item{border-left:1px solid var(--rule-strong);grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:10px 20px;padding-left:20px;display:grid}.coll__name{letter-spacing:-.004em;font-size:1.25rem;font-weight:420;line-height:1.2}.coll__meta{font:400 var(--t-code) / 1.4 var(--mono);color:var(--muted);white-space:nowrap}@container (width<=380px){.coll__item{grid-template-columns:minmax(0,1fr);row-gap:4px}.coll__topics{margin-top:6px}}.coll__topics{color:var(--faint);word-spacing:.3em;grid-column:1/-1;font-size:1.0625rem;line-height:1.7}.coll__topics li{word-spacing:normal;display:inline-block}.coll__topics li:not(:last-child):after{content:"·";content:"·" / "";margin-left:.55em}.coll__topics a{color:var(--ink-2);text-decoration-color:var(--rule-strong);text-underline-offset:.16em}@media (hover:hover){.coll__topics a:hover{color:var(--ink);text-decoration-color:var(--ink)}}@media (width<=900px),(pointer:coarse){.mast{padding-block:16px 10px}.mast__nav a{padding-block:14px}.fold>summary{padding-block:11px}.copy{padding-block:13px}.payload__bar{padding-block:9px}.wm,.rail-label a,.chain__label a,.row__title a,.tier-foot a,.ident a,.foot a{position:relative}.wm:after,.rail-label a:after,.chain__label a:after,.row__title a:after,.tier-foot a:after,.ident a:after,.foot a:after{content:"";position:absolute;inset:-12px 0}.coll__topics{line-height:2.2}.coll__topics a{position:relative}.coll__topics a:after{content:"";position:absolute;inset:-.6em 0}.toc__list a{padding-block:12px}}@supports not (container-type:inline-size){.chain{grid-template-columns:repeat(5,minmax(172px,1fr));overflow-x:auto}.ribbon{grid-template-columns:repeat(5,minmax(150px,1fr));overflow-x:auto}.ex__pair{grid-template-columns:repeat(2,minmax(390px,1fr));overflow-x:auto}.ex--req-wide .ex__pair{grid-template-columns:minmax(390px,3fr) minmax(260px,2fr)}.gvb{grid-template-columns:repeat(2,minmax(300px,1fr));overflow-x:auto}}:root[data-theme=light]{color-scheme:light;--ground:#f4efe6;--raised:#ede8de;--well:#fbf8f2;--rule:#cbc4b4;--rule-strong:#a39b8b;--ink:#1b1915;--ink-2:#45413a;--muted:#666055;--faint:#8f8879;--attacker:#b42f18;--attacker-wash:#b42f1812}.mast__theme{font:400 var(--t-code) / 1 var(--mono);letter-spacing:normal;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:0;align-items:baseline;gap:8px;margin:0;padding:4px 0;display:inline-flex;position:relative}.mast__theme[aria-pressed=true]{color:var(--ink)}@media (hover:hover){.mast__theme:hover{color:var(--ink)}}.mast__theme:before{content:"";background:var(--rule-strong);width:1px;position:absolute;top:3px;bottom:3px;left:-17px}.mast__theme svg{fill:none;stroke:currentColor;stroke-width:1px;flex:none;align-self:center;width:15px;height:15px;margin-block:-1px}.mast__theme[aria-pressed=true] .mast__theme-core{fill:currentColor}.mast__theme[hidden]{display:none}[data-js] .mast__theme[hidden]{visibility:hidden;display:inline-flex}[data-js] .mast__nav{margin-left:auto}@media (width<=562.98px){.mast{reading-flow:flex-flow}[data-js] .mast__nav{flex-basis:100%;order:2;margin-left:0}.mast__theme{order:1;padding-block:0}.mast__theme:before{display:none}}@media (width<=900px),(pointer:coarse){.mast__theme:after{content:"";width:max(100%,44px);height:44px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}}.prose>p,.prose .sec>p,.prose .intro>p,.prose li,.prose blockquote{max-width:36rem}.prose p+p,.prose .sec>*+*,.prose .intro>*+*{margin-top:1em}.prose .sec+.sec{margin-top:var(--gap-sec)}.prose .intro+.sec{margin-top:var(--gap-row)}.prose .sec__head+*{margin-top:var(--s-5)}.prose h3,.prose h4{font-family:var(--serif);color:var(--ink);margin-top:2em;font-weight:450;line-height:1.25}.prose h3{font-size:1.3125rem}.prose h4{font:500 var(--t-code) / 1.45 var(--mono);letter-spacing:.02em;margin-top:2.25em}.prose ul,.prose ol{max-width:36rem;padding-left:1.3em}.prose ul{list-style:outside}.prose ol{list-style:decimal}.prose li+li{margin-top:.35em}.prose li::marker{color:var(--muted)}.prose strong{font-weight:600}.prose blockquote{border-left:2px solid var(--rule-strong);color:var(--ink-2);margin:0;padding-left:18px}.prose pre{max-width:100%;padding:14px var(--inset);background:var(--well);border:1px solid var(--rule);font:400 var(--t-code) / var(--lh-code) var(--mono);color:var(--ink-2);tab-size:4;overflow-x:auto}.prose pre code{font:inherit;color:inherit;background:0 0;border:0;padding:0}.prose table{border-collapse:collapse;max-width:100%;font:400 var(--t-code) / 1.5 var(--mono);display:block;overflow-x:auto}.prose th,.prose td{border-bottom:1px solid var(--rule);text-align:left;vertical-align:top;padding:8px 14px 8px 0}.prose th{color:var(--ink);font-weight:500}.prose img{border:1px solid var(--rule);max-width:100%;height:auto;display:block}.prose figure>figcaption{font:400 var(--t-code) / 1.5 var(--mono);color:var(--muted);margin-top:10px}.prose hr{height:0;margin:var(--gap-row) 0;border:0}.ex__pair:has(>.ex__pane:only-child){grid-template-columns:minmax(0,1fr)}.ex__pair>.ex__pane:only-child:before{display:none}.prose .ex,.prose .payload{margin-block:var(--s-6)}.cv-name{font-size:var(--t-h2);letter-spacing:-.012em;color:var(--ink);font-weight:450;line-height:1.1}.cv-head>.cv-title{margin-top:10px}.cv-summary{color:var(--ink-2);font-size:1.125rem;line-height:1.55}.cv-jobs>li+li{margin-top:var(--s-7)}.cv-job__head{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"org when""role where";align-items:baseline;gap:4px 20px;display:grid}.cv-job__org{letter-spacing:-.004em;color:var(--ink);grid-area:org;font-size:1.25rem;font-weight:500;line-height:1.3}.cv-job__aka{color:var(--muted);font-weight:400}.cv-badge{border:1px solid var(--rule-strong);font:500 var(--t-micro) / 1.2 var(--mono);letter-spacing:.11em;text-transform:uppercase;color:var(--muted);vertical-align:.2em;white-space:nowrap;border-radius:2px;margin-left:4px;padding:3px 7px 2px;display:inline-block}.cv-job__when,.cv-job__where,.cv-entry__when,.cv-entry__by{font:400 var(--t-code) / 1.4 var(--mono);color:var(--muted);white-space:nowrap}.cv-job__when{text-align:right;grid-area:when}.cv-job__where{text-align:right;grid-area:where}.cv-job__role{color:var(--ink-2);grid-area:role;font-size:1.0625rem;line-height:1.35}.cv-job__note{font:italic 400 var(--t-code) / 1.5 var(--mono);color:var(--muted);margin-top:6px}.cv-job>.cv-points{margin-top:14px}.cv-jobs .cv-points>li,.band__main>.cv-points>li{max-width:var(--measure);color:var(--ink-2);padding-left:22px;font-size:1.0625rem;line-height:1.55;position:relative}.cv-points>li+li{margin-top:8px}.cv-points>li:before{content:"";background:var(--muted);width:5px;height:5px;position:absolute;top:.66em;left:3px}.cv-list>li+li{margin-top:16px}.cv-entry{grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:2px 20px;display:grid}.cv-entry__what{color:var(--ink);font-size:1.125rem;line-height:1.3}.cv-entry__by{grid-column:1}.cv-code{font:500 var(--t-code) / 1 var(--mono);letter-spacing:.04em;margin-right:4px}.cv-skills,.cv-skills dd{margin:0}.cv-skills__row{grid-template-columns:6.5rem minmax(0,1fr);align-items:baseline;column-gap:20px;display:grid}.cv-skills__row+.cv-skills__row{margin-top:14px}.cv-skills dd{color:var(--ink-2);font-size:1.0625rem;line-height:1.6}@container (width<=520px){.cv-job__head{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"org org""role role""when where";column-gap:16px}.cv-job__when,.cv-job__where{text-align:left}.cv-skills__row{grid-template-columns:minmax(0,1fr);row-gap:4px}}@media (width<=640px){.cv-job__org{font-size:1.1875rem}}
