.signal{border-top:1px solid var(--line);padding:2.5rem 0 4rem}.signal__heading{display:flex;justify-content:space-between;gap:1.5rem;align-items:end}.signal__heading h2{margin:.35rem 0}.signal__heading p{color:var(--muted)}.signal__workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(16rem,.32fr);gap:1.25rem;align-items:start}.signal__nodes{display:grid;grid-template-columns:repeat(5,minmax(7.4rem,1fr));gap:1.5rem 1.6rem}.signal-node-wrap{position:relative;min-width:0}.signal-node-wrap:nth-child(6){grid-column:5;grid-row:2}.signal-node-wrap:nth-child(7){grid-column:4;grid-row:2}.signal-node-wrap:nth-child(8){grid-column:3;grid-row:2}.signal-node-wrap:nth-child(9){grid-column:2;grid-row:2}.signal-node-wrap:nth-child(10){grid-column:1;grid-row:2}.signal-node{width:100%;position:relative;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;min-height:8.6rem;padding:1rem;text-align:left;color:var(--ink);background:linear-gradient(145deg,var(--surface-strong),var(--surface));border:1px solid var(--line);border-radius:.55rem;cursor:pointer}.signal-connector{position:absolute;z-index:2;color:var(--copper);font:600 1.2rem IBM Plex Mono,monospace;line-height:1;pointer-events:none}.signal-connector--right{right:-1.25rem;top:50%;transform:translateY(-50%)}.signal-connector--left{left:-1.25rem;top:50%;transform:translateY(-50%)}.signal-connector--down{left:50%;bottom:-1.42rem;transform:translate(-50%)}.signal-connector--mobile{display:none}.signal-icon{width:3.2rem;height:3.2rem;color:var(--signal)}.signal-node__text{display:grid;gap:.1rem}.signal-node__text>span{color:var(--muted);font-size:.78rem}.signal-node[aria-pressed=true]{background:var(--signal-soft);border-color:var(--signal);box-shadow:0 0 0 2px var(--paper),0 0 0 4px var(--signal)}.signal-detail{padding:1.2rem}.signal-detail h3{margin:.35rem 0 .6rem;font-size:1.55rem}.signal-detail p{color:var(--muted)}.signal-detail dl{margin:1rem 0 1.25rem}.signal-detail dl div{padding:.65rem 0;border-top:1px solid var(--line)}.signal-detail dt{margin-bottom:.25rem;font-weight:600}.signal-detail dd{margin:0;color:var(--muted)}.signal-routes{margin:1rem 0 1.25rem;padding-top:.8rem;border-top:1px solid var(--line)}.signal-routes>span{display:block;margin-bottom:.55rem;font-weight:600}.signal-routes__choices{display:flex;flex-wrap:wrap;gap:.4rem}.signal-routes__choices button{padding:.35rem .55rem;border:1px solid var(--line);border-radius:.35rem;background:var(--surface-strong);color:var(--ink);cursor:pointer;font-size:.82rem}.signal-routes__choices button[aria-pressed=true]{border-color:var(--signal);background:var(--signal-soft);color:#19514d}.signal-routes__preview{margin-top:.75rem;padding:.75rem;background:color-mix(in srgb,var(--surface) 60%,var(--signal-soft));border-left:3px solid var(--signal)}.signal-routes__preview strong{font-size:.9rem}.signal-routes__preview p{margin:.35rem 0;font-size:.9rem}.signal-routes__preview small{color:var(--muted);font:400 .75rem IBM Plex Mono,monospace}.signal-routes__preview .signal-routes__link{display:block;margin-top:.5rem}.signal-routes__link{display:inline-block;margin-top:.7rem;color:var(--copper);font-size:.9rem}.signal-routes__status{display:block;margin-top:.7rem}.signal-node__detail{display:none}@media(max-width:850px){.signal__workspace{grid-template-columns:1fr}.signal__workspace>.signal-detail{display:none}.signal__nodes{grid-template-columns:1fr;gap:1.35rem}.signal-node-wrap,.signal-node-wrap:nth-child(n){grid-column:1;grid-row:auto}.signal-node{min-height:6.7rem;display:grid;grid-template-columns:3.2rem 1fr;align-items:center;gap:1rem}.signal-connector--desktop{display:none}.signal-connector--mobile{display:block;left:50%;top:auto;right:auto;bottom:-1.25rem;transform:translate(-50%)}.signal-node[aria-pressed=true]{border-radius:.55rem .55rem 0 0;border-bottom:0;box-shadow:0 0 0 2px var(--paper),0 0 0 4px var(--signal)}.signal-node__detail{display:block;padding:1.05rem;background:var(--signal-soft);border:1px solid var(--signal);border-top:0;border-radius:0 0 .55rem .55rem;box-shadow:0 0 0 2px var(--paper),0 0 0 4px var(--signal)}.signal-node__detail h3{font-size:1.35rem}.signal__heading{align-items:start;flex-direction:column}}
