.ofig{--ofig-blue:var(--blue);--ofig-sheet:#f7faff;--ofig-faint:#8ea0bb;--ofig-frame:var(--line-strong);--ofig-hair:var(--line);--ofig-node:var(--panel);--ofig-key:var(--paper-blue);--ofig-line:color-mix(in srgb, var(--ofig-blue) 55%, transparent);--ofig-fill-1:color-mix(in srgb, var(--ofig-blue) 4%, transparent);--ofig-fill-2:color-mix(in srgb, var(--ofig-blue) 7%, transparent);--ofig-fill-3:color-mix(in srgb, var(--ofig-blue) 11%, transparent);--ofig-dash-x:repeating-linear-gradient(90deg, var(--ofig-blue) 0 4px, transparent 4px 9px);--ofig-dash-y:repeating-linear-gradient(180deg, var(--ofig-blue) 0 4px, transparent 4px 9px);--ofig-pad:clamp(18px, 3.4vw, 30px)}html[data-theme=dark] .ofig{--ofig-blue:var(--blue-soft);--ofig-sheet:var(--white);--ofig-faint:#ddebff4d;--ofig-node:var(--paper);--ofig-line:color-mix(in srgb, var(--ofig-blue) 62%, transparent);--ofig-fill-1:color-mix(in srgb, var(--ofig-blue) 5%, transparent);--ofig-fill-2:color-mix(in srgb, var(--ofig-blue) 8%, transparent);--ofig-fill-3:color-mix(in srgb, var(--ofig-blue) 12%, transparent)}.ofig{padding:var(--ofig-pad);background-color:var(--ofig-sheet);border:1px solid var(--ofig-frame);color:var(--ink-soft);font-family:var(--body);overflow-wrap:break-word;text-align:left;margin:0;font-size:14px;font-weight:400;line-height:1.55;position:relative;container:ofig/inline-size}.ofig *,.ofig :before,.ofig :after{box-sizing:border-box}.ofig:before,.ofig:after{--t:var(--ofig-faint);background:linear-gradient(var(--t) 0 0) left top / 10px 1px no-repeat, linear-gradient(var(--t) 0 0) left top / 1px 10px no-repeat, linear-gradient(var(--t) 0 0) right top / 10px 1px no-repeat, linear-gradient(var(--t) 0 0) right top / 1px 10px no-repeat;content:"";pointer-events:none;height:10px;position:absolute;left:6px;right:6px}.ofig:before{top:6px}.ofig:after{bottom:6px;transform:scaleY(-1)}.ofig-label{color:var(--muted);font-family:var(--display);letter-spacing:.1em;text-transform:uppercase;font-size:13px;font-weight:600;line-height:1.4;display:block}.ofig-label--blue{color:var(--blue-text)}.ofig-label--ink{color:var(--ink)}.ofig-label--case{letter-spacing:.02em;text-transform:none}.ofig-title{color:var(--ink);font-family:var(--display);letter-spacing:-.01em;font-size:18px;font-weight:560;line-height:1.25;display:block}.ofig-name{color:var(--ink);font-family:var(--display);letter-spacing:.01em;font-size:15px;font-weight:600;line-height:1.3;display:block}.ofig-text{color:var(--ink-soft);font-size:14px;line-height:1.55;display:block}.ofig strong{color:var(--ink);font-weight:700}.ofig a{color:var(--blue-text);text-decoration:underline;-webkit-text-decoration-color:var(--link-line);text-decoration-color:var(--link-line);text-underline-offset:3px;font-weight:600}.ofig a:hover{text-decoration-color:currentColor}.ofig .ofig-keep{white-space:nowrap}.ofig code{color:var(--ink);font-family:var(--mono);font-size:max(13px,.92em)}.ofig-tag code{color:inherit}.ofig-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 18px;margin:-2px 0 18px;display:flex}.ofig-sq{padding-left:17px;position:relative}.ofig-sq:before{background:var(--ofig-blue);content:"";top:.45em;left:0;width:7px;height:7px;position:absolute;top:calc(.5lh - 3.5px)}.ofig-sq--open:before{box-shadow:inset 0 0 0 1px var(--ofig-blue);background:0 0}.ofig-sq--mute:before{background:var(--ofig-faint)}.ofig-tag{background:var(--ofig-node);border:1px solid var(--ofig-frame);color:var(--ink-soft);font-family:var(--display);letter-spacing:.03em;vertical-align:middle;align-items:center;max-width:100%;padding:1px 8px;font-size:13px;font-weight:600;line-height:1.45;display:inline-flex}.ofig-tag--key{background:var(--ofig-key);border-color:var(--ofig-line);color:var(--blue-text)}.ofig-tag--strong{background:var(--blue-text);border-color:var(--blue-text);color:var(--panel)}.ofig-tag--ghost{background:0 0;border-style:dashed}.ofig-tag--mute{color:var(--muted);background:0 0}.ofig-num{border:1px solid var(--ofig-line);color:var(--blue-text);font-family:var(--display);font-variant-numeric:tabular-nums;letter-spacing:.04em;justify-content:center;align-items:center;min-width:26px;height:26px;padding:0 6px;font-size:13px;font-weight:600;line-height:1;display:inline-flex}.ofig-node{background:var(--ofig-node);border:1px solid var(--ofig-frame);min-width:0;padding:13px 15px 14px;position:relative}.ofig-node>*+*{margin-top:6px}.ofig-node>.ofig-label+*{margin-top:8px}.ofig-node--key{background:var(--ofig-key);border-color:var(--ofig-line)}.ofig-node--ghost{background:0 0;border-style:dashed}.ofig-node--strong{border:2px solid var(--ofig-blue);padding:12px 14px 13px}.ofig-node--split{grid-template-columns:minmax(0, var(--ofig-aside,8.5rem)) minmax(0, 1fr);align-items:baseline;column-gap:18px;display:grid}.ofig-node--split>*+*,.ofig-node--split>.ofig-label+*{margin-top:0}.ofig-node--row{color:var(--ink);font-family:var(--display);letter-spacing:.01em;align-items:center;padding:0 12px;font-size:14px;font-weight:500;line-height:1.25;display:flex}.ofig-arrow{height:9px;width:var(--ofig-arrow,28px);flex:none;align-self:center;display:block;position:relative}.ofig-arrow:before{background:var(--ofig-blue);content:"";height:1px;position:absolute;top:4px;left:0;right:6px}.ofig-arrow:after{background:var(--ofig-blue);clip-path:polygon(0 0,100% 50%,0 100%);content:"";width:8px;height:9px;position:absolute;top:0;right:0}.ofig-arrow--left:before{left:6px;right:0}.ofig-arrow--left:after{clip-path:polygon(100% 0,0 50%,100% 100%);left:0;right:auto}.ofig-arrow--down,.ofig-arrow--up,.ofig-flow--col>.ofig-arrow{height:var(--ofig-arrow,24px);width:9px}.ofig-arrow--down:before,.ofig-arrow--up:before,.ofig-flow--col>.ofig-arrow:before{width:1px;height:auto;inset:0 auto 6px 4px}.ofig-arrow--down:after,.ofig-flow--col>.ofig-arrow:after{clip-path:polygon(0 0,100% 0,50% 100%);width:9px;height:8px;inset:auto auto 0 0}.ofig-arrow--up:before{top:6px;bottom:0}.ofig-arrow--up:after{clip-path:polygon(50% 0,100% 100%,0 100%);width:9px;height:8px;top:0;left:0;right:auto}.ofig .ofig-arrow.ofig-arrow--dashed:before{background:var(--ofig-dash-x)}.ofig .ofig-arrow--down.ofig-arrow--dashed:before,.ofig .ofig-arrow--up.ofig-arrow--dashed:before,.ofig .ofig-flow--col>.ofig-arrow.ofig-arrow--dashed:before{background:var(--ofig-dash-y)}.ofig-arrow--both:before{left:6px;right:6px}.ofig-arrow--both:after{clip-path:polygon(0 50%,8px 0,8px 100%,0 50%,100% 50%,calc(100% - 8px) 0,calc(100% - 8px) 100%,100% 50%);width:auto;left:0;right:0}.ofig-arrow--down.ofig-arrow--both:before,.ofig-flow--col>.ofig-arrow--both:before{top:6px;bottom:6px}.ofig-arrow--down.ofig-arrow--both:after,.ofig-flow--col>.ofig-arrow--both:after{clip-path:polygon(50% 0,100% 8px,0 8px,50% 0,50% 100%,100% calc(100% - 8px),0 calc(100% - 8px),50% 100%);width:9px;height:auto;inset:0 auto 0 0}.ofig-arrow--inline{vertical-align:.05em;width:1.15em;margin:0 .3em;display:inline-block}.ofig-arrow--inline:before{opacity:.75;background:currentColor}.ofig-arrow--inline:after{background:currentColor}.ofig-flow{align-items:stretch;gap:10px;display:flex}.ofig-flow>:not(.ofig-arrow){flex:var(--ofig-grow,1) 1 0;min-width:0}.ofig-flow--col{flex-direction:column;gap:8px}.ofig-flow--col>:not(.ofig-arrow){flex:none}.ofig-edge{text-align:center;flex-wrap:wrap;justify-content:center;align-self:center;align-items:center;gap:4px 10px;min-width:0;max-width:100%;display:flex}.ofig-flow>.ofig-edge{flex:none}.ofig-axis{align-items:center;gap:14px;display:flex}.ofig-axis>:not(.ofig-arrow){flex:0 auto;min-width:0}.ofig-axis>:last-child{text-align:right}.ofig-axis>.ofig-arrow{flex:auto;width:auto;min-width:28px}.ofig-group{background:var(--ofig-fill-1);border:1px solid var(--ofig-line);min-width:0;padding:14px 16px 16px;position:relative;container:ofig-box/inline-size}.ofig-group>*+*{margin-top:16px}.ofig-group--ghost{border-style:dashed}.ofig-group--strong{border:2px solid var(--ofig-blue);padding:13px 15px 15px}.ofig-rail{--ofig-rail-gap:18px;--ofig-rail-row:14px;gap:var(--ofig-rail-row) var(--ofig-rail-gap);grid-template-columns:repeat(var(--ofig-n,3), minmax(0, 1fr));display:grid}.ofig-stop{--s:var(--ofig-blue);background:linear-gradient(var(--s) 0 0) 0 5px / 9px 1px no-repeat, linear-gradient(var(--s) 0 0) 0 13px / 9px 1px no-repeat, linear-gradient(var(--s) 0 0) 0 5px / 1px 9px no-repeat, linear-gradient(var(--s) 0 0) 8px 5px / 1px 9px no-repeat;min-width:0;padding-top:26px;position:relative}.ofig-stop--end{background:linear-gradient(var(--s) 0 0) 0 5px / 9px 9px no-repeat}.ofig-stop>*+*{margin-top:4px}.ofig-stop:before{background:var(--ofig-blue);content:"";height:1px;width:calc(100% + var(--ofig-rail-gap) - 28px);position:absolute;top:9px;left:15px}.ofig-stop:after{background:var(--ofig-blue);clip-path:polygon(0 0,100% 50%,0 100%);content:"";height:9px;left:calc(100% + var(--ofig-rail-gap) - 13px);width:8px;position:absolute;top:5px}.ofig-stop:last-child:before,.ofig-stop:last-child:after{content:none}.ofig-cols{grid-template-columns:repeat(var(--ofig-n,2), minmax(0, 1fr));gap:10px 16px;display:grid}.ofig-grid{grid-template-columns:repeat(auto-fit, minmax(min(100%, var(--ofig-min,10.5rem)), 1fr));gap:8px;display:grid}.ofig-grid--fixed{grid-template-columns:repeat(auto-fill, minmax(min(100%, var(--ofig-min,10.5rem)), 1fr))}.ofig-bound{border-top:1px solid var(--ofig-frame);padding-top:14px}.ofig-note{color:var(--ink-soft);font-size:14px;line-height:1.55}.ofig-notes{gap:6px;margin-top:22px;display:grid}.ofig-legend{flex-wrap:wrap;align-items:center;gap:6px 20px;display:flex}.ofig-legend__item{align-items:center;gap:10px;display:inline-flex}.ofig-swatch{flex:none;display:inline-block}.ofig-swatch--dash{background:var(--ofig-dash-x);width:28px;height:1px}.ofig-swatch--key{background:var(--ofig-key);border:1px solid var(--ofig-line);width:18px;height:12px}.ofig-swatch--node{background:var(--ofig-node);border:1px solid var(--ofig-frame);width:18px;height:12px}.ofig-swatch--ghost{border:1px dashed var(--ofig-line);width:18px;height:12px}.ofig-layers{display:grid}.ofig-layer{grid-template-columns:minmax(0,1fr);row-gap:12px;padding:16px 18px 18px;display:grid}.ofig-layer+.ofig-layer{border-top:1px solid var(--ofig-frame)}.ofig-layer__aside{flex-wrap:wrap;align-items:baseline;gap:2px 14px;min-width:0;display:flex}.ofig-layer--rail{grid-template-columns:minmax(0, var(--ofig-aside,8.5rem)) minmax(0, 1fr);column-gap:22px}.ofig-layer--rail>.ofig-layer__aside{align-self:center;display:block}.ofig-layer--rail>.ofig-layer__aside>*+*{margin-top:5px}.ofig-fill-1{background-color:var(--ofig-fill-1)}.ofig-fill-2{background-color:var(--ofig-fill-2)}.ofig-fill-3{background-color:var(--ofig-fill-3)}.ofig-table{display:grid}.ofig-tr{border-top:1px solid var(--ofig-hair);grid-template-columns:var(--ofig-cols,minmax(0, 13rem) minmax(0, 1fr));gap:6px 26px;padding:13px 0 14px;display:grid}.ofig-tr:first-child{border-top:0;padding-top:0}.ofig-tr:last-child{padding-bottom:0}.ofig-tr--head{padding-bottom:11px}.ofig-th{color:var(--blue-text);font-family:var(--display);letter-spacing:.1em;text-transform:uppercase;min-width:0;font-size:13px;font-weight:600;line-height:1.4}.ofig-rh{color:var(--ink);font-family:var(--display);letter-spacing:.01em;min-width:0;font-size:15px;font-weight:600;line-height:1.4}.ofig-td{color:var(--ink-soft);min-width:0;font-size:14px;line-height:1.58}.ofig-scroll{background:linear-gradient(to right, var(--ofig-sheet) 40%, transparent) left / 28px 100% no-repeat local, linear-gradient(to left, var(--ofig-sheet) 40%, transparent) right / 28px 100% no-repeat local, radial-gradient(farthest-side at 0 50%, color-mix(in srgb, var(--ink) 16%, transparent), transparent) left / 12px 100% no-repeat scroll, radial-gradient(farthest-side at 100% 50%, color-mix(in srgb, var(--ink) 16%, transparent), transparent) right / 12px 100% no-repeat scroll;overscroll-behavior-x:contain;scrollbar-width:thin;overflow-x:auto}.ofig-scroll>*{min-width:var(--ofig-min-width,560px)}.ofig-scroll-hint{color:var(--muted);font-family:var(--display);letter-spacing:.04em;text-align:right;margin:8px 0 0;font-size:12px}.ofig-rel{--ofig-row:36px;--ofig-row-gap:8px;grid-template-columns:minmax(0, var(--ofig-rel-start,1fr)) var(--ofig-rel-gap,9.5rem) minmax(0, var(--ofig-rel-end,1fr));align-items:start;display:grid}.ofig-rel__head{grid-row:1;align-self:end;margin-bottom:12px}.ofig-rel__head--end{grid-column:3}.ofig-rel__col{gap:var(--ofig-row-gap);grid-auto-rows:var(--ofig-row);grid-row:2;min-width:0;display:grid}.ofig-rel__col--end{grid-column:3}.ofig-rel__links{height:calc(var(--ofig-n) * (var(--ofig-row) + var(--ofig-row-gap)));grid-area:2/2;width:100%;display:block;overflow:visible}.ofig-rel__links path{fill:none;stroke:var(--ofig-blue);stroke-dasharray:4 5;stroke-width:1px;vector-effect:non-scaling-stroke}.ofig-rel__div{align-items:center;gap:10px;min-width:0;display:flex}.ofig-rel__div>*{white-space:nowrap;flex:none}.ofig-rel__div:before,.ofig-rel__div:after{background:var(--ofig-frame);content:"";flex:1 1 0;min-width:6px;height:1px}.ofig-in-right:after,.ofig-in-left:after{background:var(--ofig-blue);content:"";width:8px;height:9px;margin-top:-4.5px;position:absolute;top:50%}.ofig-in-right:after{clip-path:polygon(100% 0,0 50%,100% 100%);left:calc(100% + 1px)}.ofig-in-left:after{clip-path:polygon(0 0,100% 50%,0 100%);right:calc(100% + 1px)}.ofig-out-left:before,.ofig-out-right:before{background:var(--ofig-blue);content:"";width:7px;height:7px;margin-top:-3.5px;position:absolute;top:50%}.ofig-out-left:before{left:-4px}.ofig-out-right:before{right:-4px}.ofig-bars{grid-template-columns:minmax(0,max-content) minmax(6rem,1fr) minmax(0,max-content);align-items:center;gap:8px 14px;display:grid}.ofig-bar-row{display:contents}.ofig-bar-label{color:var(--ink);font-family:var(--display);letter-spacing:.02em;min-width:0;font-size:13px;font-weight:600}.ofig-bar{background:var(--ofig-fill-2);height:10px;position:relative}.ofig-bar:before{background:var(--ofig-blue);content:"";width:calc(var(--ofig-v,0) * 100%);position:absolute;inset:0 auto 0 0}.ofig-bar--open:before{background:repeating-linear-gradient(135deg, var(--ofig-blue) 0 4px, transparent 4px 8px);width:100%}.ofig-bar-value{color:var(--ink-soft);font-family:var(--display);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px}.ofig-svg{font-family:var(--display);width:100%;height:auto;display:block;overflow:visible}.ofig-svg text{fill:var(--ink);font-family:var(--display)}.ofig-svg .s-text{fill:var(--ink-soft);font-family:var(--body)}.ofig-svg .s-label{fill:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-weight:600}.ofig-svg .s-blue{fill:var(--blue-text)}.ofig-svg .s-node{fill:var(--ofig-node);stroke:var(--ofig-frame)}.ofig-svg .s-key{fill:var(--ofig-key);stroke:var(--ofig-line)}.ofig-svg .s-ghost{fill:none;stroke:var(--ofig-line);stroke-dasharray:4 3}.ofig-svg .s-line{fill:none;stroke:var(--ofig-blue)}.ofig-svg .s-dash{fill:none;stroke:var(--ofig-blue);stroke-dasharray:4 5}.ofig-svg .s-bound{fill:none;stroke:var(--ofig-frame)}.ofig-svg .s-head,.ofig-svg .s-dot{fill:var(--ofig-blue);stroke:none}.ofig-svg .s-fill-1{fill:var(--ofig-fill-1)}.ofig-svg .s-fill-2{fill:var(--ofig-fill-2)}.ofig-svg .s-fill-3{fill:var(--ofig-fill-3)}@container ofig (max-width:599px){.ofig-flow{flex-direction:column;gap:8px}.ofig-flow>:not(.ofig-arrow){flex:none}.ofig-flow>.ofig-arrow{height:var(--ofig-arrow,24px);width:9px}.ofig-flow>.ofig-arrow:before{width:1px;height:auto;inset:0 auto 6px 4px}.ofig .ofig-flow>.ofig-arrow.ofig-arrow--dashed:before{background:var(--ofig-dash-y)}.ofig-flow>.ofig-arrow:after{clip-path:polygon(0 0,100% 0,50% 100%);width:9px;height:8px;inset:auto auto 0 0}.ofig-flow>.ofig-arrow--both:before{top:6px;bottom:6px}.ofig-flow>.ofig-arrow--both:after{clip-path:polygon(50% 0,100% 8px,0 8px,50% 0,50% 100%,100% calc(100% - 8px),0 calc(100% - 8px),50% 100%);height:auto;top:0}}@container ofig (max-width:559px){.ofig-rel{--ofig-row:46px;--ofig-row-gap:10px;--ofig-rel-gap:2.5rem}.ofig-rel .ofig-node--row{padding:0 9px;font-size:13px}}@container ofig (max-width:519px){.ofig-label,.ofig-th{letter-spacing:.08em;font-size:12px}.ofig-title{font-size:16px}.ofig-node--split{grid-template-columns:minmax(0,1fr);row-gap:8px}.ofig-layer{padding:14px 14px 16px}.ofig-layer--rail{grid-template-columns:minmax(0,1fr)}.ofig-layer--rail>.ofig-layer__aside{display:flex}.ofig-cols:not(.ofig-group .ofig-cols),.ofig-rail:not(.ofig-group .ofig-rail){grid-template-columns:minmax(0,1fr)}.ofig-rail:not(.ofig-group .ofig-rail) .ofig-stop{padding-top:0;padding-left:22px}.ofig-rail:not(.ofig-group .ofig-rail) .ofig-stop:before{height:calc(100% + var(--ofig-rail-row) - 27px);width:1px;top:19px;left:4px}.ofig-rail:not(.ofig-group .ofig-rail) .ofig-stop:after{clip-path:polygon(0 0,100% 0,50% 100%);height:8px;left:0;top:calc(100% + var(--ofig-rail-row) - 8px);width:9px}}@container ofig (max-width:479px){.ofig-bars{grid-template-columns:minmax(0,1fr) minmax(0,max-content);row-gap:4px}.ofig-bar-label{grid-column:1/-1;margin-top:6px}.ofig-tr{grid-template-columns:minmax(0,1fr)}.ofig-tr>:not(:first-child){padding-left:17px}.ofig-scroll .ofig-tr{grid-template-columns:var(--ofig-cols,minmax(0, 13rem) minmax(0, 1fr))}.ofig-scroll .ofig-tr>:not(:first-child){padding-left:0}.ofig-td[data-label]:before{color:var(--muted);content:attr(data-label) ": ";font-family:var(--display);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:600}.ofig-scroll .ofig-td[data-label]:before{content:none}}@container ofig-box (max-width:299px){.ofig-cols,.ofig-rail{grid-template-columns:minmax(0,1fr)}.ofig-rail .ofig-stop{padding-top:0;padding-left:22px}.ofig-rail .ofig-stop:before{height:calc(100% + var(--ofig-rail-row) - 27px);width:1px;top:19px;left:4px}.ofig-rail .ofig-stop:after{clip-path:polygon(0 0,100% 0,50% 100%);height:8px;left:0;top:calc(100% + var(--ofig-rail-row) - 8px);width:9px}}
