*{box-sizing:border-box}body{min-height:100vh;margin:0;overflow:hidden;background:#0a0a0a}.annotation{contain:inline-size}.annotation div{position:absolute;font-size:3rem;color:var(--surface-1);font-weight:700;display:grid;place-items:center;overflow:hidden;background:var(--cable-color);contain:inline-size}.annotation div:after{content:"";position:absolute;width:200cqmax;aspect-ratio:1;background:conic-gradient(var(--color-one, var(--default-charge-one)),var(--color-two, var(--default-charge-two)),transparent var(--color-stop, 120deg));translate:-50% -50%;animation:charge var(--speed, 6s) var(--delay, 0s) infinite ease-in-out}.annotation div:nth-of-type(1){left:calc(anchor(var(--anchor-two) center) - (var(--cable-width) * .5));right:calc(anchor(var(--anchor-one) center) + ((anchor(--charger right) - anchor(--charger left)) * var(--offset-one-x, 0)));top:calc(anchor(var(--anchor-two) center) - (var(--cable-width) * .5));bottom:calc(anchor(var(--anchor-one) center) + ((anchor(--charger bottom) - anchor(--charger top)) * var(--offset-one-y, 0)) - (var(--cable-width) * .5));-webkit-mask:linear-gradient(90deg,white 0 var(--cable-width),transparent var(--cable-width)),linear-gradient(transparent 0 calc(100% - var(--cable-width)),white calc(100% - var(--cable-width)));mask:linear-gradient(90deg,white 0 var(--cable-width),transparent var(--cable-width)),linear-gradient(transparent 0 calc(100% - var(--cable-width)),white calc(100% - var(--cable-width)))}.annotation div:nth-of-type(1):after{top:0%;left:100%}.annotation--inverted div:nth-of-type(1){-webkit-mask:linear-gradient(90deg,transparent calc(100% - var(--cable-width)),white calc(100% - var(--cable-width))),linear-gradient(white var(--cable-width),transparent var(--cable-width));mask:linear-gradient(90deg,transparent calc(100% - var(--cable-width)),white calc(100% - var(--cable-width))),linear-gradient(white var(--cable-width),transparent var(--cable-width))}.annotation--inverted div:nth-of-type(1):after{left:0;top:100%;transform:rotate(180deg);animation-direction:reverse}.annotation div:nth-of-type(2){left:calc(anchor(var(--anchor-one) center) + ((anchor(--charger right) - anchor(--charger left)) * var(--offset-two-x, 0)) - (var(--cable-width) * .5));right:calc(anchor(var(--anchor-two) center) - (var(--cable-width) * .5));top:calc(anchor(var(--anchor-two) center) - (var(--cable-width) * .5));bottom:calc(anchor(var(--anchor-one) center) + ((anchor(--charger bottom) - anchor(--charger top)) * var(--offset-two-y, 0)));-webkit-mask:linear-gradient(90deg,white 0 var(--cable-width),transparent var(--cable-width)),linear-gradient(white 0 var(--cable-width),transparent var(--cable-width));mask:linear-gradient(90deg,white 0 var(--cable-width),transparent var(--cable-width)),linear-gradient(white 0 var(--cable-width),transparent var(--cable-width))}.annotation div:nth-of-type(2):after{top:100%;left:100%}.annotation--inverted div:nth-of-type(2){-webkit-mask:linear-gradient(90deg,transparent calc(100% - var(--cable-width)),white calc(100% - var(--cable-width))),linear-gradient(transparent calc(100% - var(--cable-width)),white calc(100% - var(--cable-width)));mask:linear-gradient(90deg,transparent calc(100% - var(--cable-width)),white calc(100% - var(--cable-width))),linear-gradient(transparent calc(100% - var(--cable-width)),white calc(100% - var(--cable-width)))}.annotation--inverted div:nth-of-type(2):after{left:0;top:0%;transform:rotate(180deg);animation-direction:reverse}.annotation div:nth-of-type(3){left:calc(anchor(var(--anchor-two) center) - (var(--cable-width) * .5));right:calc(anchor(var(--anchor-one) center) + ((anchor(--charger right) - anchor(--charger left)) * var(--offset-three-x, 0)) - (var(--cable-width) * .5));top:calc(anchor(var(--anchor-one) center) + ((anchor(--charger bottom) - anchor(--charger top)) * var(--offset-three-y, 0)));bottom:calc(anchor(var(--anchor-two) center) - (var(--cable-width) * .5));-webkit-mask:linear-gradient(90deg,transparent 0 calc(100% - var(--cable-width)),white calc(100% - var(--cable-width))),linear-gradient(transparent 0 calc(100% - var(--cable-width)),white calc(100% - var(--cable-width)));mask:linear-gradient(90deg,transparent 0 calc(100% - var(--cable-width)),white calc(100% - var(--cable-width))),linear-gradient(transparent 0 calc(100% - var(--cable-width)),white calc(100% - var(--cable-width)))}.annotation div:nth-of-type(3):after{top:0%;left:0%}.annotation--inverted div:nth-of-type(3){-webkit-mask:linear-gradient(90deg,white var(--cable-width),transparent var(--cable-width)),linear-gradient(white 0 var(--cable-width),transparent var(--cable-width));mask:linear-gradient(90deg,white var(--cable-width),transparent var(--cable-width)),linear-gradient(white 0 var(--cable-width),transparent var(--cable-width))}.annotation--inverted div:nth-of-type(3):after{left:100%;top:100%;transform:rotate(180deg);animation-direction:reverse}.annotation div:nth-of-type(4){left:calc(anchor(var(--anchor-one) center) + ((anchor(--charger right) - anchor(--charger left)) * var(--offset-four-x, 0)));right:calc(anchor(var(--anchor-two) center) - (var(--cable-width) * .5));top:calc(anchor(var(--anchor-one) center) + ((anchor(--charger bottom) - anchor(--charger top)) * var(--offset-four-y, 0)) - (var(--cable-width) * .5));bottom:calc(anchor(var(--anchor-two) center) - (var(--cable-width) * .5));-webkit-mask:linear-gradient(90deg,transparent 0 calc(100% - var(--cable-width)),white calc(100% - var(--cable-width))),linear-gradient(white 0 var(--cable-width),transparent var(--cable-width));mask:linear-gradient(90deg,transparent 0 calc(100% - var(--cable-width)),white calc(100% - var(--cable-width))),linear-gradient(white 0 var(--cable-width),transparent var(--cable-width))}.annotation div:nth-of-type(4):after{top:100%;left:0%;transform:rotate(180deg)}.annotation--inverted div:nth-of-type(4){-webkit-mask:linear-gradient(90deg,white var(--cable-width),transparent var(--cable-width)),linear-gradient(transparent calc(100% - var(--cable-width)),white calc(100% - var(--cable-width)));mask:linear-gradient(90deg,white var(--cable-width),transparent var(--cable-width)),linear-gradient(transparent calc(100% - var(--cable-width)),white calc(100% - var(--cable-width)))}.annotation--inverted div:nth-of-type(4):after{left:100%;top:0%;transform:rotate(0);animation-direction:reverse}:root{--cable-width: .35rem;--cable-color: hsl(0 0% 25%);--default-charge-one: hsl(210 80% 80%);--default-charge-two: hsl(320 80% 80%);--color-stop: 36deg}.source{position:absolute;top:var(--y, 0);left:var(--x, 0);height:48px;width:48px;display:grid;place-items:center;font-family:sans-serif;font-weight:700;color:#fff;border-radius:50%;transition:background .2s}.source:hover{background:#00000080}.source:after{content:"";position:absolute;top:50%;left:50%;translate:-50% -50%;width:50%;aspect-ratio:1;background:var(--bg, hsl(0 0% 10%));border-radius:50%;border:4px solid hsl(0 0% 70%)}.charger{background:#292929;anchor-name:--charger;padding:1rem 4rem;border-radius:1rem;box-shadow:0 .05em #ffffffd9 inset,0 .05em #00000040;font-weight:700;display:grid;place-items:center;font-size:clamp(2rem,3vw + 1rem,8rem);position:relative}.charger__text{background:radial-gradient(circle at 100% 150%,#999 40%,#fff);color:transparent;-webkit-background-clip:text;background-clip:text;font-family:SF Mono,Cascadia Code,Consolas,Menlo,monospace;font-weight:700}.charger:before{content:"";position:absolute;inset:-.5rem;background:#999;border-radius:.5rem;z-index:-1;box-shadow:0 .05em #ffffffbf inset,0 .05em #000}.container{position:relative;height:100vh;width:100vw;z-index:12;display:grid;place-items:center}.circuit{position:absolute;inset:0;fill:#1a1a1a;width:200vmax;aspect-ratio:1;scale:4}@keyframes charge{0%{rotate:0deg}50%,to{rotate:-360deg}}
