.metro{--m-bg: 238 238 232;--m-ink: 16 16 15;--m-line: 16 16 15;--m-progress: 16 16 15;--m-back: 232 78 38;--m-ok: 0 122 184;position:relative;color:rgb(var(--m-ink));background:transparent;font-family:Geist,system-ui,sans-serif;letter-spacing:-.03em;-webkit-font-smoothing:antialiased}.metro[data-theme=dark]{--m-bg: 11 11 10;--m-ink: 243 243 238;--m-line: 243 243 238;--m-progress: 243 243 238;--m-back: 255 98 59;--m-ok: 125 205 255}.metro-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:18px 0 0}.metro button{font-family:Geist Mono,ui-monospace,monospace;font-size:12px;font-weight:500;letter-spacing:-.02em;text-transform:uppercase;line-height:1;color:rgb(var(--m-ink) / .7);background:rgb(var(--m-ink) / .07);border:0;border-radius:0;height:34px;padding:0 14px;cursor:pointer;transition:background-color .2s,color .2s}.metro button:hover{background:rgb(var(--m-ink) / .14);color:rgb(var(--m-ink))}.metro button[aria-pressed=true]{background:rgb(var(--m-ink) / .16);color:rgb(var(--m-ink))}.metro button.metro-primary{background:rgb(var(--m-back));color:#10100f;min-width:96px}.metro button.metro-primary:hover{background:rgb(var(--m-ink));color:rgb(var(--m-bg))}.metro button:focus-visible{outline:1px solid rgb(var(--m-back));outline-offset:3px}.metro-group{display:inline-flex;gap:2px}.metro-legend{margin-left:auto;display:flex;flex-wrap:wrap;gap:16px;font-family:Geist Mono,ui-monospace,monospace;font-size:12px;font-weight:500;text-transform:uppercase;color:rgb(var(--m-ink) / .5)}.metro-legend span:before{content:"";display:inline-block;width:6px;height:6px;margin-right:8px;vertical-align:1px}.metro-legend .l-progress:before{background:rgb(var(--m-progress))}.metro-legend .l-back:before{background:rgb(var(--m-back))}.metro-legend .l-ok:before{background:rgb(var(--m-ok))}.metro-caption{margin:22px 0 0;min-height:1.3em;font-size:clamp(16px,calc(15px + .25vw),18px);line-height:1.3;font-weight:500;letter-spacing:-.04em}.metro-stage{margin-top:8px;overflow-x:auto;-webkit-overflow-scrolling:touch}.metro-svg{display:block;width:100%;min-width:900px;height:auto}.metro-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));border-left:1px solid rgb(var(--m-ink) / .09);border-top:1px solid rgb(var(--m-ink) / .09);margin-top:8px}.metro .metro-steps button{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:8px;height:auto;padding:16px 12px 14px;background:transparent;border-right:1px solid rgb(var(--m-ink) / .09);border-bottom:1px solid rgb(var(--m-ink) / .09);color:rgb(var(--m-ink) / .55);text-align:left}.metro .metro-steps button:hover{background:rgb(var(--m-ink) / .03);color:rgb(var(--m-ink))}.metro-steps button i{font-style:normal;color:rgb(var(--m-ink) / .4)}.metro-steps button b{position:absolute;inset:0 0 auto;height:3px;background:rgb(var(--m-ink) / .08)}.metro-steps button b:after{content:"";position:absolute;inset:0 auto 0 0;width:var(--fill, 0%);background:rgb(var(--m-back))}.metro-steps button.is-done b:after{width:100%;opacity:.45}.metro .metro-steps button.is-current{background:rgb(var(--m-ink) / .04);color:rgb(var(--m-ink))}.metro-steps button.is-current i{color:rgb(var(--m-back))}.metro-svg text{fill:rgb(var(--m-ink))}.metro-svg .m-title{font-size:15px;font-weight:500;letter-spacing:-.03em}.metro-svg .m-title-sm{font-size:13.5px}.metro-svg .m-sub{font-family:Geist Mono,ui-monospace,monospace;font-size:10.5px;letter-spacing:-.01em;fill:rgb(var(--m-ink) / .55)}.metro-svg .m-small{font-size:12.5px;letter-spacing:-.02em}.metro-svg .m-strong{font-weight:600}.metro-svg .m-mono{font-family:Geist Mono,ui-monospace,monospace;font-size:10.5px;letter-spacing:-.01em}.metro-svg .m-meta{font-family:Geist Mono,ui-monospace,monospace;font-size:10.5px;font-weight:500;letter-spacing:.06em;text-transform:uppercase}.metro-svg .m-muted{fill:rgb(var(--m-ink) / .45)}.metro-svg .m-caption{font-size:22px;font-weight:500}.metro-svg .m-err{font-family:Geist Mono,ui-monospace,monospace;font-size:34px;font-weight:500;letter-spacing:-.04em}.metro-svg .m-arc-label{font-family:Geist Mono,ui-monospace,monospace;font-size:10.5px;font-weight:500;letter-spacing:.06em;text-transform:uppercase}.metro-svg .m-sev{font-weight:600}.metro-svg .m-tone-progress{fill:rgb(var(--m-progress))}.metro-svg .m-tone-back{fill:rgb(var(--m-back))}.metro-svg .m-tone-ok{fill:rgb(var(--m-ok))}.metro-svg .m-tone-muted{fill:rgb(var(--m-ink) / .45)}.metro-svg .m-panel{fill:none;stroke:rgb(var(--m-ink) / .16);stroke-width:1;stroke-dasharray:3 5}.metro-svg .m-base,.metro-svg .m-over-path{fill:none;stroke-linecap:square;stroke-linejoin:miter}.metro-svg .m-base{stroke:rgb(var(--m-line) / .16);stroke-width:2}.metro-svg .m-over-path{stroke-width:2.5}.metro-svg .m-base.is-blocked{stroke-dasharray:2 6}.metro-svg .m-stroke-progress{stroke:rgb(var(--m-progress))}.metro-svg .m-stroke-back{stroke:rgb(var(--m-back))}.metro-svg .m-stroke-ok{stroke:rgb(var(--m-ok))}.metro-svg .m-node{fill:rgb(var(--m-bg));stroke-width:1.5;stroke:rgb(var(--m-ink) / .45)}.metro-svg rect.m-node-idle{stroke:rgb(var(--m-ink) / .45)}.metro-svg .m-node-progress{stroke:rgb(var(--m-progress))}.metro-svg .m-node-back{stroke:rgb(var(--m-back))}.metro-svg .m-node-ok{stroke:rgb(var(--m-ok))}.metro-svg .m-node-blocked{stroke:rgb(var(--m-ink) / .2);stroke-dasharray:2 2}.metro-svg .m-halo{fill:none;stroke:rgb(var(--m-progress));stroke-width:1}.metro-svg .m-dot{stroke:none}.metro-svg .m-fill-ok{fill:rgb(var(--m-ok))}.metro-svg .m-fill-back{fill:rgb(var(--m-back))}.metro-svg .m-fill-back-soft{fill:rgb(var(--m-back) / .28)}.metro-svg .m-fill-progress{fill:rgb(var(--m-progress))}.metro-svg .m-hollow{fill:rgb(var(--m-bg));stroke:rgb(var(--m-ink) / .7);stroke-width:1.2}.metro-svg .m-glyph{fill:rgb(var(--m-ink))}.metro-svg [data-kind=terminus] .m-node{fill:rgb(var(--m-ink));stroke:none}.metro-svg [data-kind=terminus] .m-node-ok{fill:rgb(var(--m-ok))}.metro-svg [data-kind=terminus] .m-node-progress{fill:rgb(var(--m-progress))}.metro-svg .m-chip rect{fill:rgb(var(--m-progress))}.metro-svg .m-chip-label{font-family:Geist Mono,ui-monospace,monospace;font-size:11px;font-weight:600;letter-spacing:0;text-transform:uppercase;fill:rgb(var(--m-bg))}.metro-svg .m-badge{fill:rgb(var(--m-bg));stroke-width:1}.metro-svg .m-box{fill:none;stroke:rgb(var(--m-ink) / .45);stroke-width:1}.metro-svg .m-tick{fill:none;stroke:rgb(var(--m-ok));stroke-width:2;stroke-linecap:square}.metro-svg .m-meter-bg{fill:rgb(var(--m-ink) / .08)}.metro-svg .m-threshold{stroke:rgb(var(--m-ink) / .7);stroke-width:1}.metro-svg .m-strike{stroke:rgb(var(--m-ink) / .45);stroke-width:1}.metro-svg .m-brief{fill:rgb(var(--m-ink) / .04);stroke:rgb(var(--m-back));stroke-width:1}.metro-svg .m-axis{stroke:rgb(var(--m-ink) / .3);stroke-width:1}.metro-svg .m-rule{stroke:rgb(var(--m-ink) / .16);stroke-width:1;stroke-dasharray:3 4}.metro-svg .m-rule-ok{stroke:rgb(var(--m-ok) / .7)}.metro-svg .m-rule-back{stroke:rgb(var(--m-back) / .8)}.metro-svg .m-conf-line{fill:none;stroke:rgb(var(--m-ok));stroke-width:1.5}.metro-svg .m-err-line{fill:none;stroke:rgb(var(--m-back));stroke-width:1.5}.metro-svg .m-col{fill:none}.metro-svg .m-col-planned{fill:rgb(var(--m-back) / .05)}.metro-svg .m-col-met{fill:rgb(var(--m-ok) / .08)}.metro-svg .m-col-stopped{fill:rgb(var(--m-back) / .11)}.metro-svg .m-col-unused{fill:rgb(var(--m-ink) / .03)}.metro-svg .m-bubble{fill:rgb(var(--m-bg));stroke:rgb(var(--m-ink) / .35);stroke-width:1}.metro-svg .m-bubble-tip{fill:rgb(var(--m-ink) / .35)}.metro-svg .m-panel-solid{fill:rgb(var(--m-bg))}.metro-eyebrow{display:block;margin:0 0 6px;font-family:Geist Mono,ui-monospace,monospace;font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:rgb(var(--m-back))}.metro-paths{display:inline-flex;flex-direction:column;margin-left:10px}.metro-bar{align-items:flex-end}.metro-choice{position:absolute;right:1.5%;top:50%;transform:translateY(-50%);z-index:5;width:min(470px,calc(100% - 32px));padding:22px 22px 18px;background:rgb(var(--m-bg));border:1px solid rgb(var(--m-back));box-shadow:0 24px 80px #00000059;animation:metro-pop .35s cubic-bezier(.22,1,.36,1)}.metro-choice[hidden]{display:none}.metro-choice:before{content:"";position:absolute;left:-1px;top:-1px;width:6px;height:6px;background:rgb(var(--m-back))}.metro-choice-prompt{margin:0;font-size:18px;line-height:1.2;font-weight:500;letter-spacing:-.04em}.metro-choice-detail{margin:8px 0 16px;font-family:Geist Mono,ui-monospace,monospace;font-size:12px;line-height:1.45;color:rgb(var(--m-ink) / .6)}.metro-choice-options{display:grid;gap:4px}.metro .metro-choice-options button{display:grid;gap:4px;height:auto;padding:12px 14px;text-align:left;text-transform:none;letter-spacing:-.02em}.metro .metro-choice-options button b{font-family:Geist,system-ui,sans-serif;font-size:15px;font-weight:500;color:rgb(var(--m-ink))}.metro .metro-choice-options button span{font-size:11.5px;color:rgb(var(--m-ink) / .55)}.metro .metro-choice-options button:hover,.metro .metro-choice-options button:focus-visible{background:rgb(var(--m-back) / .16)}.metro-choice-timer{margin-top:14px;font-family:Geist Mono,ui-monospace,monospace;font-size:11px;color:rgb(var(--m-ink) / .5)}.metro-choice-timer i{display:block;height:3px;margin-bottom:8px;background:rgb(var(--m-back));transform-origin:left}.metro-cursor{position:absolute;left:0;top:0;pointer-events:none;opacity:0;transform:translate(calc(var(--tx, 0px) + 140px),calc(var(--ty, 0px) + 120px))}.metro-cursor svg path{fill:rgb(var(--m-ink));stroke:rgb(var(--m-bg));stroke-width:1.2}.metro-cursor.is-on{animation:metro-cursor-in 1.1s .25s cubic-bezier(.22,1,.36,1) forwards,metro-cursor-hover 2.4s 1.5s ease-in-out infinite}@keyframes metro-countdown{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes metro-pop{0%{opacity:0;transform:translateY(-46%)}to{opacity:1;transform:translateY(-50%)}}@keyframes metro-cursor-in{0%{opacity:0;transform:translate(calc(var(--tx) + 140px),calc(var(--ty) + 120px))}to{opacity:1;transform:translate(var(--tx),var(--ty))}}@keyframes metro-cursor-hover{0%,to{opacity:1;transform:translate(var(--tx),var(--ty))}50%{opacity:1;transform:translate(var(--tx),calc(var(--ty) + 46px))}}@media(prefers-reduced-motion:reduce){.metro-choice,.metro-cursor.is-on{animation:none}.metro-cursor.is-on{opacity:1;transform:translate(var(--tx),var(--ty))}}.metro-chain .metro-chain-svg{min-width:900px}.metro-svg .m-chain-copy{fill:rgb(var(--m-ink) / .72);font-size:14px}.metro-svg .m-chain-chip{fill:rgb(var(--m-progress))}.metro-svg .m-chain-live{stroke:rgb(var(--m-ok))}.metro-svg .m-chain-head{fill:rgb(var(--m-ink) / .45)}.metro-chain{overflow-x:auto}.metro-net .metro-net-svg{min-width:980px}.metro-net-legend{margin:0 0 6px;justify-content:flex-end}.metro-legend .l-work:before{background:rgb(var(--m-progress))}.metro-legend .l-data:before{background:rgb(var(--m-ok))}.metro-legend .l-telemetry:before{background:rgb(var(--m-ink) / .45)}.metro-legend .l-access:before{background:rgb(var(--m-back))}.metro-svg .n-link{fill:none;stroke-width:2;stroke-linecap:square;transition:opacity .25s}.metro-svg .n-work{stroke:rgb(var(--m-progress) / .85)}.metro-svg .n-data{stroke:rgb(var(--m-ok))}.metro-svg .n-telemetry{stroke:rgb(var(--m-ink) / .4);stroke-width:1.4;stroke-dasharray:3 5}.metro-svg .n-access{stroke:rgb(var(--m-back))}.metro-svg .n-off{stroke-dasharray:2 6;opacity:.45}.metro-svg .n-label{font-size:10.5px}.metro-svg .n-label-work{fill:rgb(var(--m-ink) / .8)}.metro-svg .n-label-data{fill:rgb(var(--m-ok))}.metro-svg .n-label-telemetry{fill:rgb(var(--m-ink) / .5)}.metro-svg .n-label-access{fill:rgb(var(--m-back))}.metro-svg .is-dim{opacity:.12}.metro-svg .n-node{cursor:pointer;transition:opacity .25s}.metro-svg .n-node.is-dim{opacity:.25}.metro-svg .n-hit{fill:transparent}.metro-svg .n-node:hover .m-node,.metro-svg .n-node:focus-visible .m-node,.metro-svg .n-node.is-selected .m-node{stroke:rgb(var(--m-back));stroke-width:2}.metro-svg .n-node:focus{outline:none}.metro-svg .n-node-off .m-node{stroke-dasharray:2 2;opacity:.6}.metro-svg .n-packet{stroke:none}.metro-svg .n-packet-work{fill:rgb(var(--m-progress))}.metro-svg .n-packet-data{fill:rgb(var(--m-ok))}.metro-svg .n-packet-telemetry{fill:rgb(var(--m-ink) / .6)}.metro-svg .n-packet-access{fill:rgb(var(--m-back))}.metro-net-sheet{margin-top:8px;padding:18px 0 4px;border-top:1px solid rgb(var(--m-ink) / .09);min-height:150px}.metro-net-hint{margin:0;color:rgb(var(--m-ink) / .6);font-size:15px}.metro-net-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(460px,100%),1fr));gap:18px 40px}.metro-net-heading{margin:4px 0 8px;font-family:Geist Mono,ui-monospace,monospace;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:rgb(var(--m-ink) / .45)}.metro-net-row{display:grid;grid-template-columns:9em 9em minmax(0,1fr);gap:12px;align-items:baseline;margin:0;padding:7px 0;border-bottom:1px solid rgb(var(--m-ink) / .07);font-size:14px}.metro-net-row b{font-weight:500}.metro-net-row span{color:rgb(var(--m-ink) / .6)}.metro-net-row .metro-net-proto{font-family:Geist Mono,ui-monospace,monospace;font-size:12px;color:rgb(var(--m-ink) / .85)}.metro-net-row.n-row-work .metro-net-proto{color:rgb(var(--m-progress))}.metro-net-row.n-row-data .metro-net-proto{color:rgb(var(--m-ok))}.metro-net-row.n-row-access .metro-net-proto{color:rgb(var(--m-back))}.metro-net-row.is-off{opacity:.5}.metro-net-empty{margin:0;color:rgb(var(--m-ink) / .4);font-size:14px}@media(max-width:720px){.metro-net-row{grid-template-columns:1fr;gap:2px}}.metro-svg .n-tier2{stroke-width:1.1;opacity:.4}.metro-svg .n-telemetry.n-tier2{stroke-width:1}.metro-svg .n-label-thin{opacity:0}.metro-svg .n-link.is-on{opacity:1;stroke-width:2.2}.metro-svg .n-label.is-on{opacity:1}.metro-svg .n-label{paint-order:stroke;stroke:rgb(var(--m-bg));stroke-width:4px;stroke-linejoin:round}.metro-svg .n-tier2{opacity:.5;transition:opacity .25s}.metro-svg .n-tier2.is-on{opacity:1}.metro-svg .n-tier2.is-dim{opacity:.08}.metro-net-svg .n-node text,.metro-net-svg .n-label{paint-order:stroke;stroke:rgb(var(--m-bg));stroke-width:5px;stroke-linejoin:round}.metro-net-svg .n-link{stroke-linecap:round;stroke-linejoin:round}.metro-net-svg .n-tier1{stroke-width:3}.metro-net-svg .n-tier2{stroke-width:2;opacity:.55}.metro-net-svg .n-telemetry{stroke-dasharray:none;stroke:rgb(var(--m-ink) / .42)}.metro-net-svg .n-telemetry.n-tier1{stroke-width:3}.metro-net-svg .n-telemetry.n-tier2{stroke-width:2}.metro-net-svg .n-off{stroke-dasharray:3 6}.metro-net-svg .n-link.is-on{stroke-width:3;opacity:1}.metro-embed .metro[data-theme=light]{--m-bg: 247 247 243}
