.focus-lab{position:relative;max-width:380px;width:100%;margin-top:28px;color:#dedfd2;--lab-bright:#edece0;--lab-muted:#929c85;--lab-line:#bdc4ae40}
.lab-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 12px;font:8px monospace;letter-spacing:1.5px;color:#a5af98}
.lab-motion-toggle{display:flex;align-items:center;justify-content:center;background:transparent;color:#aeb6a2;width:27px;height:27px;border:1px solid #c9cfbb32;border-radius:50%;font:11px Arial,sans-serif;cursor:pointer;transition:color .2s,border-color .2s}
.lab-motion-toggle:hover{color:#f3f4e9;border-color:#c9cfbb99}.lab-motion-toggle:focus-visible,.lab-node:focus-visible{outline:2px solid #e4e6d7;outline-offset:5px}
.lab-stage{position:relative;aspect-ratio:360/340;isolation:isolate}
.lab-stage:before{content:"";position:absolute;inset:15%;z-index:-1;background:radial-gradient(circle,#d9dfb90a,transparent 70%);pointer-events:none}
.focus-lab .lab-network{width:100%;height:100%;display:block;overflow:visible;color:var(--lab-bright)}
.lab-outer-ring{stroke:#bfc8aa26;stroke-width:.8;stroke-dasharray:1 9;transform-origin:180px 170px}
.lab-inner-ring{stroke:#bfc8aa12;stroke-width:.7;stroke-dasharray:35 10 3 10;transform-origin:180px 170px}
.lab-axis{stroke:#bbc4a54d;stroke-width:1}.lab-route{stroke:#bdc4ae48;stroke-width:1;transition:stroke .65s,stroke-width .65s;fill:none}
.flow-dot{fill:#cdd5bd;opacity:.3;filter:drop-shadow(0 0 3px #ddeacb66);transition:opacity .6s}
.lab-hub-halo{fill:#cad5ae05;stroke:#b6c49c28;stroke-width:.6}
.lab-hub{fill:#151a12;stroke:#c3ceb14d;stroke-width:1}
.focus-lab[data-active="0"] .route-0,.focus-lab[data-active="1"] .route-1,.focus-lab[data-active="2"] .route-2{stroke:#e2e6d6b3;stroke-width:1.35}
.focus-lab[data-active="0"] .dot-0,.focus-lab[data-active="1"] .dot-1,.focus-lab[data-active="2"] .dot-2{opacity:1;fill:#f3f5df}
.focus-lab:not(.flow-running) .flow-dot{display:none}
.focus-lab.flow-running .lab-outer-ring{animation:lab-orbit 60s linear infinite}.focus-lab.flow-running .lab-inner-ring{animation:lab-orbit 46s linear infinite reverse}
.lab-node{position:absolute;display:flex;flex-direction:column;align-items:center;gap:9px;--node-size:35px;width:96px;transform:translate(-50%,calc(var(--node-size) / -2));padding:0;background:transparent;border:0;color:var(--lab-muted);cursor:pointer;text-align:center;-webkit-tap-highlight-color:transparent}
.lab-node-0{left:50%;top:14.705882%}.lab-node-1{left:21.132487%;top:67.647059%}.lab-node-2{left:78.867513%;top:67.647059%}
.lab-node i{display:flex;align-items:center;justify-content:center;font-style:normal;width:var(--node-size);height:var(--node-size);flex-shrink:0;box-sizing:border-box;border:1px solid #b6c59e6b;border-radius:50%;background:#141812;box-shadow:0 0 0 6px #151a12;transition:background .35s,border-color .35s,box-shadow .35s,transform .35s}
.lab-node i>span{font:9px monospace;letter-spacing:0;color:#adb99b}.lab-node strong{font-family:Manrope,Arial,sans-serif;font-size:11px;font-weight:500;line-height:1.25;letter-spacing:0;background:#121510d9;padding:2px 7px;border-radius:4px;transition:color .3s}
.lab-node[aria-pressed="true"]{color:var(--lab-bright)}.lab-node[aria-pressed="true"] i{background:#d8dfc5;border-color:#e3e8d4;box-shadow:0 0 0 6px #c8d2aa10,0 0 22px #ced9b51c;transform:scale(1.06)}.lab-node[aria-pressed="true"] i>span{color:#28301f}.lab-node:hover i{border-color:#eff2e1}
.lab-bottom{display:flex;gap:10px;align-items:flex-start;border-top:1px solid #c5ceb12e;padding:15px 12px 0;min-height:75px}
.lab-live-dot{display:block;width:4px;height:4px;background:#bdcba5;border-radius:50%;margin-top:6px;flex-shrink:0}
.lab-caption{margin:0!important;color:#aeb8a1!important;font-size:11px!important;line-height:1.7!important;letter-spacing:0;max-width:300px;min-height:38px}
@keyframes lab-orbit{to{transform:rotate(360deg)}}
@media(max-width:1000px){.focus-lab{max-width:330px}.lab-node{width:85px}.lab-caption{font-size:10px!important}.lab-bottom{min-height:70px}}
@media(max-width:700px){.focus-caption:has(.focus-lab){display:block}.focus-caption:has(.focus-lab)>h2{font-size:30px}.focus-lab{max-width:280px;margin:22px auto 0}.lab-stage{width:100%;max-width:252px;height:auto;aspect-ratio:360/340;margin:0 auto}.lab-network{height:100%!important}.lab-node-0{left:50%;top:14.705882%}.lab-node-1{left:21.132487%;top:67.647059%}.lab-node-2{left:78.867513%;top:67.647059%}.lab-node{--node-size:30px}.lab-node strong{font-size:10px}.lab-topline{font-size:7px;letter-spacing:1px}.lab-bottom{min-height:57px;padding:11px 10px 0}.lab-caption{font-size:10px!important;line-height:1.55!important;min-height:31px}.focus-section:has(.focus-lab){min-height:175svh}.focus-section:has(.focus-lab) .focus-sticky{padding-top:25px}.focus-section:has(.focus-lab) .focus-layout{gap:10px}.focus-section:has(.focus-lab) .focus-words{font-size:11.5vw}.focus-section:has(.focus-lab) .focus-words>span{padding:8px 0 10px}.focus-section:has(.focus-lab) .focus-copy{margin-top:16px}}
@media(prefers-reduced-motion:reduce){.focus-lab *{animation:none!important;transition:none!important}.focus-lab .flow-dot{display:none}.lab-motion-toggle{display:none}.focus-section:has(.focus-lab){min-height:auto}}

/* Labels sit outside the three equal branches; the circle itself is the anchor. */
.lab-node-0 strong{position:absolute;bottom:calc(100% + 9px)}
