.lp-hub{--hx:124px;--hy:150px;--m:36px;--c:28px;--cw:62px;--oy:210px;height:440px;margin:8px -16px 0;position:relative;overflow:hidden}@media (min-width:768px){.lp-hub{--hx:min(340px, 30vw);--hy:220px;--m:48px;--oy:300px;height:620px;margin-inline:0}}@media (prefers-reduced-motion:no-preference){.lp-hub{--oy:50%;height:auto;margin:0;position:absolute;inset:0}}.lp-hub-bg{pointer-events:none;--at:50% var(--oy);background:radial-gradient(circle at var(--at), #ffffff0f, transparent 340px) no-repeat, linear-gradient(#ffffff0a 1px, transparent 1px) 0 var(--oy) / 48px 48px, linear-gradient(90deg, #ffffff0a 1px, transparent 1px) calc(50% + 24px) 0 / 48px 48px;-webkit-mask-image:radial-gradient(ellipse 62% 58% at var(--at), #000 25%, transparent 100%);mask-image:radial-gradient(ellipse 62% 58% at var(--at), #000 25%, transparent 100%);position:absolute;inset:0}.lp-hub-o{left:50%;top:var(--oy);width:0;height:0;position:absolute}.lp-hub-o>*{position:absolute}.lp-hub-axis{left:calc(var(--hx) * -1 - 160px);width:calc(var(--hx) * 2 + 320px);background:linear-gradient(90deg,#0000,#ffffff1a 30% 70%,#0000);height:1px;top:0}.lp-hub-wire{--arm:var(--hx);height:1px;width:calc(var(--arm) - var(--m) - var(--c) - 16px);transform-origin:0;transform:rotate(var(--a)) translateX(calc(var(--c) + 8px));background:linear-gradient(90deg,#ffffff52,#ffffff1a);top:0;left:0}.lp-hub-wire:after{content:"";background:#0b0b0c;border:1px solid #ffffff59;border-radius:9999px;width:5px;height:5px;position:absolute;top:-2px;right:-3px}.lp-hub-wire>i{animation:3.2s cubic-bezier(.5,0,.3,1) infinite lp-packet;position:absolute;inset:0}.lp-hub-wire>i:after{content:"";background:linear-gradient(90deg,#fff,#0000);border-radius:9999px;width:26px;height:3px;position:absolute;top:-1px;left:100%}@keyframes lp-packet{0%{opacity:0;transform:translate(0)}15%,80%{opacity:1}to{opacity:0;transform:translate(-100%)}}.lp-sg:not([data-live]) .lp-hub-wire>i{animation-play-state:paused}@media (prefers-reduced-motion:reduce){.lp-hub-wire>i{display:none}}.lp-hub-core{left:calc(var(--cw) * -1);top:calc(var(--c) * -1);width:calc(var(--cw) * 2);height:calc(var(--c) * 2);background:linear-gradient(#1b1c1e,#0c0c0d);border:1px solid #ffffff29;border-radius:14px;place-items:center;display:grid;box-shadow:inset 0 1px #ffffff1a,0 0 48px -8px #fff3}.lp-hub-marks{top:0;left:0}.lp-hub-marks>li{--x:calc(var(--hx) * -1);--y:0px;left:calc(var(--x) - var(--m));top:calc(var(--y) - var(--m));width:calc(var(--m) * 2);position:absolute}.lp-hub-marks>li:nth-child(2){--x:0px;--y:var(--hy)}.lp-hub-marks>li:nth-child(3){--x:var(--hx)}.lp-hub .lp-mark{width:calc(var(--m) * 2);height:calc(var(--m) * 2)}
.lh-up{animation:lh-up .7s cubic-bezier(.2, .7, .2, 1) var(--d,0s) backwards}@keyframes lh-up{0%{opacity:0;transform:translateY(10px)}}.lh-lab-graph{transform-origin:0 0;scale:.48}@media (min-width:768px){.lh-lab-graph{scale:.68}}@media (min-width:1280px){.lh-lab-graph{scale:.8}}.lh-lab-graph .lab-card,.lh-lab-graph .lab-card header{cursor:default}.lh-lab-graph .lab-card .lab-body{background:linear-gradient(#ffffff0d,#ffffff05);border-radius:20px;box-shadow:inset 0 0 0 1px #ffffff12,inset 0 1px #ffffff12,0 28px 50px -24px #000000d9}.lh-lab-graph .lab-card .lab-inner{background:linear-gradient(#1c1c1f,#131315);border-radius:14px;box-shadow:inset 0 0 0 1px #ffffff0f,inset 0 1px #ffffff0f}.lh-lab-graph .lab-card .kind{color:var(--fg);font-weight:500}.lh-lab-graph .lab-card .kind svg{box-sizing:content-box;width:13px;height:13px;stroke:var(--text);background:#ffffff0f;border-radius:6px;padding:3.5px;box-shadow:inset 0 0 0 1px #ffffff14}.lh-lab-graph .lab-card .badge{background:#ffffff0d;border-radius:7px}.lh-lab-graph .lab-card .sock.on{box-shadow:inset 0 0 0 1.5px var(--c), 0 0 8px color-mix(in srgb, var(--c) 60%, transparent)}.lh-lab-graph .lab-wires .vis{stroke:#8e8e95;stroke-opacity:.7;stroke-width:1.25px}.lh-lab-graph .lab-card.run-pass .lab-body{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--green) 45%, transparent), inset 0 1px 0 #ffffff12, 0 30px 46px -24px color-mix(in srgb, var(--green) 55%, transparent)}.lh-lab-graph .lab-card.run-revert .lab-body,.lh-lab-graph .lab-card.run-fail .lab-body{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--red) 50%, transparent), inset 0 1px 0 #ffffff12, 0 30px 46px -24px color-mix(in srgb, var(--red) 50%, transparent)}@media (prefers-reduced-motion:reduce){.lh-up{opacity:1;animation:none;transform:none}}
