.net-hero,.net-map,.net-fbar,.net-rail,.op{--_bg: var(--net-bg, var(--surface-inset, var(--bg0)));--_node: var(--net-node, var(--surface-card, var(--bg2)));--_node-2: var(--net-node-2, var(--surface-zone, var(--bg1)));--_node-hi: var(--net-node-hi, var(--surface-raised, var(--bg3, var(--bg2))));--_edge: var(--net-edge, var(--rule-box, var(--line-2)));--_wire: var(--net-wire, var(--ink-5, var(--ink-4)));--_ink: var(--net-ink, var(--ink));--_ink-2: var(--net-ink-2, var(--ink-2));--_ink-3: var(--net-ink-3, var(--ink-4, var(--ink-3)));--_accent: var(--net-accent, var(--accent, var(--gold)));--_mono: var(--font-mono)}:where([data-family]){--fam-ink: color-mix(in srgb, var(--fam) 72%, var(--_ink, var(--ink)))}:where([data-family=TOP]){--fam: var(--fam-top);--fam-d: var(--fam-top-dim)}:where([data-family=CHOP]){--fam: var(--fam-chop);--fam-d: var(--fam-chop-dim)}:where([data-family=SOP]){--fam: var(--fam-sop);--fam-d: var(--fam-sop-dim)}:where([data-family=DAT]){--fam: var(--fam-dat);--fam-d: var(--fam-dat-dim)}:where([data-family=MAT]){--fam: var(--fam-mat);--fam-d: var(--fam-mat-dim)}:where([data-family=COMP]){--fam: var(--fam-comp);--fam-d: var(--fam-comp-dim)}:where([data-family=POP]){--fam: var(--fam-pop);--fam-d: var(--fam-pop-dim)}.net-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.net-hero{position:relative;isolation:isolate;width:100%;aspect-ratio:16 / 7;min-height:400px;max-height:760px;background:var(--_bg);overflow:hidden;touch-action:pan-y}.net-hero-canvas,.net-hero-bg{position:absolute;inset:0;display:block;width:100%;height:100%}.net-hero-bg{image-rendering:auto}@media(max-width:899px){.net-hero{aspect-ratio:4 / 3;min-height:420px}}@media(max-width:599px){.net-hero{aspect-ratio:auto;height:clamp(500px,136vw,640px)}}.net-map{display:grid;gap:var(--space-5, 64px);font-family:var(--font-body);color:var(--_ink)}.net-comp{position:relative;background:var(--_bg);border:1px solid var(--_edge)}.net-comp-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 20px;padding:18px 24px 16px 20px;border-bottom:1px solid var(--_edge);border-left:4px solid var(--fam-d, var(--_edge))}.net-comp-path{flex-basis:100%;font-family:var(--_mono);font-size:var(--fs-label, 12px);letter-spacing:.02em;color:var(--_ink-3)}.net-comp-name{margin:0;font-family:var(--font-display);font-weight:500;font-size:var(--fs-h2, 26px);line-height:1.3;color:var(--_ink)}.net-comp-meta{margin-left:auto;font-family:var(--_mono);font-size:var(--fs-meta, 13px);color:var(--_ink-3)}.net-comp-body{display:grid;gap:36px;padding:28px 24px 32px}.net-sub-head{display:flex;align-items:baseline;gap:12px;margin:0 0 18px}.net-sub-op{font-family:var(--_mono);font-size:var(--fs-label, 12px);line-height:20px;padding:0 7px;color:var(--_ink-2);border:1px solid var(--fam-comp-dim, var(--_edge));border-left:3px solid var(--fam-comp-dim, var(--_edge))}.net-sub-name{margin:0;font-family:var(--font-body);font-weight:500;font-size:var(--fs-h3, 18px);line-height:1.4;color:var(--_ink)}.net-sub-count{margin-left:auto;font-family:var(--_mono);font-size:var(--fs-meta, 13px);color:var(--_ink-3)}.net-sub-body{position:relative;padding:4px 22px 4px 8px}.net-wires{position:absolute;top:0;left:0;overflow:visible;pointer-events:none;z-index:0}.net-wire{fill:none;stroke:var(--_wire);stroke-width:1.5}.net-wire-flow{fill:none;stroke:var(--_ink-3);stroke-width:3;stroke-linecap:round;stroke-dasharray:.1 14;opacity:0;transition:opacity var(--dur-quick, .16s) var(--ease-out, ease-out);animation:net-flow 1.4s linear infinite;animation-play-state:paused}.net-sub:hover .net-wire-flow{opacity:.7;animation-play-state:running}.net-wire-flow.is-live{opacity:1;stroke:var(--_accent);animation-play-state:running}.net-wire.is-live{stroke:color-mix(in srgb,var(--_accent) 45%,var(--_wire))}@keyframes net-flow{to{stroke-dashoffset:-14.1}}.net-chain{position:relative;z-index:1;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,208px),1fr));gap:44px 48px}.net-unit{display:flex;min-width:0}.net-node{position:relative;flex:1;display:flex;min-width:0;min-height:112px;text-decoration:none;color:var(--_ink);background:var(--_node);border:1px solid var(--_edge);transition:border-color var(--dur-quick, .16s) var(--ease-out, ease-out),background-color var(--dur-quick, .16s) var(--ease-out, ease-out)}.net-node-strip{flex:0 0 8px;background:var(--fam-d, var(--_edge));transition:background-color var(--dur-quick, .16s) var(--ease-out, ease-out)}.net-node-body{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1;padding:10px 14px 12px 12px}.net-node-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-family:var(--_mono);font-size:12px;line-height:1.4}.net-node-code{font-weight:500;letter-spacing:.04em;color:var(--fam-ink, var(--_ink-2))}.net-node-fam{font-size:11px;letter-spacing:.08em;color:var(--fam-ink, var(--_ink-3));opacity:.85}.net-node-title{font-size:15px;line-height:1.55;color:var(--_ink);text-wrap:pretty}.net-node-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:auto;padding-top:2px;font-size:var(--fs-label, 12px);line-height:18px;color:var(--_ink-3)}.net-node-dots{display:inline-flex;gap:4px}.net-dot{width:6px;height:6px;background:var(--fam)}.net-node-dur{font-family:var(--_mono)}.net-node-free{padding:0 6px;border:1px solid var(--_edge);color:var(--_ink-2)}.net-port{position:absolute;top:50%;width:4px;height:12px;margin-top:-6px;background:var(--fam-d, var(--_edge));transition:background-color var(--dur-quick, .16s) var(--ease-out, ease-out)}.net-port.is-in{left:-5px}.net-port.is-out{right:-5px}.net-node:hover{border-color:var(--fam, var(--_ink-3));background:var(--_node-hi)}.net-node:hover .net-node-strip,.net-node:hover .net-port{background:var(--fam, var(--_ink-3))}.net-node:focus-visible{outline:2px solid var(--_accent);outline-offset:3px}.net-unit.is-current .net-node{border-color:var(--_accent);background:var(--_node-hi)}.net-unit.is-current .net-node-strip,.net-unit.is-current .net-port{background:var(--fam, var(--_accent))}@media(max-width:600px){.net-comp-head{padding:14px 16px 12px 14px}.net-comp-body{gap:28px;padding:20px 14px 24px}.net-sub-body{padding:0}.net-chain{grid-template-columns:minmax(0,1fr);gap:20px}.net-node{min-height:0}.net-port{display:none}}.net-fbar{font-family:var(--_mono);color:var(--_ink-2)}.net-fbar-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 3px}.net-fbar-seg{flex:1 1 0;min-width:76px;display:grid;gap:8px}.net-w-1{flex-grow:1}.net-w-2{flex-grow:2}.net-w-3{flex-grow:3}.net-w-4{flex-grow:4}.net-w-5{flex-grow:5}.net-w-6{flex-grow:6}.net-fbar-bar{display:block;height:6px;background:var(--fam-d, var(--_edge))}.net-fbar-seg.is-main .net-fbar-bar{background:var(--fam, var(--_ink-3))}.net-fbar-text{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 8px;font-size:12px;line-height:18px}.net-fbar-name{font-weight:500;letter-spacing:.08em;color:var(--fam-ink, var(--_ink-2))}.net-fbar-desc{font-family:var(--font-body);color:var(--_ink-3)}.net-fbar-main{font-family:var(--font-body);font-size:11px;line-height:16px;padding:0 6px;color:var(--_ink-2);border:1px solid var(--fam-d, var(--_edge))}.net-fbar-seg:not(.is-main) .net-fbar-name{color:var(--_ink-2)}.net-rail{--_lit: var(--fam, var(--_accent));font-family:var(--font-body)}.net-rail-list{list-style:none;margin:0;padding:0;display:grid}.net-rail-item{position:relative}.net-rail-item:before{content:"";position:absolute;left:6px;top:22px;bottom:-13px;width:1px;background:var(--_wire)}.net-rail-item:last-child:before{display:none}.net-rail-item.is-past:before{background:var(--fam-d, var(--_ink-3))}.net-rail-item a{position:relative;display:grid;grid-template-columns:26px minmax(0,1fr);align-items:baseline;gap:0 6px;padding:7px 8px 7px 22px;min-height:var(--tap-min, 24px);font-size:14px;line-height:21px;text-decoration:none;color:var(--_ink-3);transition:color var(--dur-quick, .16s) var(--ease-out, ease-out)}.net-rail-port{position:absolute;left:2px;top:13px;width:9px;height:9px;box-sizing:border-box;border:1px solid var(--_wire);background:var(--_bg);transition:background-color var(--dur-quick, .16s) var(--ease-out, ease-out),border-color var(--dur-quick, .16s) var(--ease-out, ease-out)}.net-rail-idx{font-family:var(--_mono);font-size:11px;letter-spacing:.04em;color:var(--_ink-3)}.net-rail-text{min-width:0}.net-rail-item a:hover{color:var(--_ink-2)}.net-rail-item a:hover .net-rail-port{border-color:var(--_lit)}.net-rail-item a:focus-visible{outline:2px solid var(--_accent);outline-offset:2px}.net-rail-item.is-past .net-rail-port{background:var(--fam-d, var(--_wire));border-color:var(--fam-d, var(--_wire))}.net-rail-item.is-active a{color:var(--_ink)}.net-rail-item.is-active .net-rail-port{background:var(--_lit);border-color:var(--_lit);outline:3px solid color-mix(in srgb,var(--_lit) 28%,transparent)}.net-rail-item.is-active .net-rail-idx{color:var(--fam-ink, var(--_accent))}@media(max-width:991px){.net-rail-list{display:flex;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;padding:0 4px}.net-rail-list::-webkit-scrollbar{display:none}.net-rail-item{flex:0 0 auto;scroll-snap-align:center}.net-rail-item:before{inset:50% 0 auto 11px;width:auto;height:1px}.net-rail-item:last-child:before{display:none}.net-rail-item a{display:flex;align-items:center;gap:8px;min-height:var(--tap, 44px);padding:0 26px 0 18px;white-space:nowrap}.net-rail-port{top:50%;left:0;margin-top:-4.5px}.net-rail-text{max-width:15em;overflow:hidden;text-overflow:ellipsis}}.op{font-family:var(--_mono);font-size:.9em;font-weight:500;padding:.05em .4em .05em .45em;white-space:nowrap;color:var(--fam-ink, var(--_ink-2));background:color-mix(in srgb,var(--fam, var(--_ink-3)) 10%,transparent);border-left:2px solid var(--fam-d, var(--_edge));box-decoration-break:clone;-webkit-box-decoration-break:clone}@media(prefers-reduced-motion:reduce){.net-wire-flow{animation:none}.net-node,.net-node-strip,.net-port,.net-rail-item a,.net-rail-port{transition:none}}
