.fabricator-relay{padding:clamp(1.25rem,3vw,2.75rem)}.fabricator-relay-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.25rem 2rem;display:flex}.fabricator-relay-title{max-width:20ch;margin:0;font-size:clamp(1.9rem,4.6vw,3.4rem)}.fabricator-relay-send{min-height:48px;padding:0 1.15rem;font-size:1rem}.fabricator-relay-send-icon{color:var(--world);filter:drop-shadow(0 0 6px var(--world))}.fabricator-relay-send.is-on .fabricator-relay-send-icon{animation:.72s ease-in-out infinite alternate fabricator-relay-blink}.fabricator-relay-path{margin-top:clamp(2rem,5vw,3.25rem);position:relative}.fabricator-relay-rail,.fabricator-relay-fill{pointer-events:none;border-radius:2px;margin:-1px 0 0 -1px;position:absolute;top:0;left:0}.fabricator-relay-rail{background:oklch(88% .09 220/.22)}.fabricator-relay-fill{background:var(--world);box-shadow:0 0 10px color-mix(in oklch, var(--world) 70%, transparent);transition:transform .64s var(--ease);transform:scaleX(0)}.fabricator-relay-fill[data-axis=x]{transform-origin:0}.fabricator-relay-fill[data-axis=y]{transform-origin:50% 0}.fabricator-relay-packet{z-index:3;background:radial-gradient(circle, oklch(99% .02 90), var(--world) 70%);width:14px;height:14px;box-shadow:0 0 16px 5px color-mix(in oklch, var(--world) 65%, transparent);opacity:0;pointer-events:none;transition:transform .64s var(--ease), opacity .3s;border-radius:50%;margin:-7px 0 0 -7px;position:absolute;top:0;left:0}.fabricator-relay-path.is-live .fabricator-relay-packet{opacity:1}.fabricator-relay-packet>span{border:1px solid var(--world);animation:fabricator-relay-pulse 1.6s var(--ease) infinite;border-radius:50%;position:absolute;inset:-7px}.fabricator-relay-hops{z-index:1;gap:1.5rem;margin:0;padding:0;list-style:none;display:grid;position:relative}.fabricator-relay-hop{padding-left:2.5rem;position:relative}.fabricator-relay-hop:before{content:"";background:color-mix(in oklch, var(--world) 9%, transparent);box-shadow:inset 0 0 0 1px color-mix(in oklch, var(--world) 26%, transparent);opacity:0;transition:opacity .35s var(--ease);pointer-events:none;border-radius:12px;position:absolute;inset:-.6rem -.75rem -.75rem 1.75rem}.fabricator-relay-hop.is-on:before{opacity:1}.fabricator-relay-marker{border:1px solid color-mix(in oklch, var(--world) 60%, transparent);background:var(--void);border-radius:50%;width:18px;height:18px;transition:box-shadow .35s;position:absolute;top:13px;left:0}.fabricator-relay-marker:after{content:"";background:oklch(42% .03 250);border-radius:50%;transition:background-color .35s,box-shadow .35s;position:absolute;inset:5px}.fabricator-relay-marker>span{border:1px solid var(--world);opacity:0;border-radius:50%;position:absolute;inset:-1px}.is-on>.fabricator-relay-marker,.is-passed>.fabricator-relay-marker{box-shadow:0 0 14px -2px var(--world)}.is-on>.fabricator-relay-marker:after,.is-passed>.fabricator-relay-marker:after{background:var(--world);box-shadow:0 0 8px var(--world)}.fabricator-relay-name{min-height:44px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;padding:0;font-size:1rem;font-weight:700;transition:color .3s;display:inline-flex;position:relative}.fabricator-relay-name:hover,.is-on>.fabricator-relay-name{color:var(--world)}.fabricator-relay-name:focus-visible{outline:2px solid var(--xenon);outline-offset:3px;border-radius:4px}.fabricator-relay-detail{max-width:36ch;color:var(--ink-soft);margin:.15rem 0 0;font-size:1rem;line-height:1.55;transition:color .35s;position:relative}.is-on>.fabricator-relay-detail{color:var(--ink)}@media (width>=900px){.fabricator-relay-hops{grid-template-columns:repeat(6,minmax(0,1fr));gap:1.75rem}.fabricator-relay-hop{padding-top:2.4rem;padding-left:0}.fabricator-relay-hop:before{inset:1.5rem -.75rem -.9rem}.fabricator-relay-marker{top:0}.fabricator-relay-detail{max-width:24ch}}@keyframes fabricator-relay-pulse{0%{opacity:.9;transform:scale(.7)}to{opacity:0;transform:scale(1.9)}}@keyframes fabricator-relay-blink{0%{opacity:.45}to{opacity:1}}.fabricator-iot-section{padding:clamp(.75rem,1.6vw,1.25rem) .75rem}@media (width>=640px){.fabricator-iot-section{padding-inline:2rem}}.fabricator-iot-wrap{width:100%;max-width:1400px;margin:0 auto}.fabricator-iot-panel{padding:clamp(1.25rem,3vw,2.75rem)}.fabricator-iot-panel.is-tall{padding-block:clamp(2.5rem,6vw,4.5rem)}.fabricator-iot-h2{font-size:clamp(1.9rem,4.6vw,3.4rem)}.fabricator-iot-lede{color:var(--ink-soft);margin-top:1.25rem;font-size:1.0625rem;line-height:1.6}.fabricator-iot-dot{background:var(--world);width:6px;height:6px;box-shadow:0 0 8px var(--world);border-radius:2px;flex:none;transform:translateY(-2px)}.fabricator-iot-dot.is-xenon{background:var(--xenon);box-shadow:0 0 8px var(--xenon)}@media (prefers-reduced-motion:reduce){.fabricator-relay *,.fabricator-relay :before,.fabricator-relay :after{transition-duration:0s!important;animation:none!important}}@media (scripting:none){.fabricator-relay-send{display:none}}
