.mesh-head{align-items:flex-start}.mesh-head p{max-width:65ch}.mesh-actions{display:flex;flex-direction:column;align-items:flex-start;gap:8px;max-width:270px}.mesh-actions>span{font-size:12px;color:var(--muted);min-height:20px}.mesh-actions button{white-space:nowrap}.mesh-workspace{display:grid;grid-template-columns:minmax(0,1fr) 292px;border-block:1px solid var(--rule);margin-top:20px}.mesh-main{min-width:0;padding:20px 22px 20px 0}.mesh-route-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.mesh-route-head>div>span{font-size:12px;color:var(--muted)}.mesh-route-head h2{font-size:20px;margin:5px 0}.mesh-note{font-size:12px;color:var(--muted);line-height:1.6}.mesh-topology svg{width:100%;height:auto;display:block;overflow:visible}.mesh-edge{stroke:var(--graph-edge);stroke-width:1.5;fill:none}.mesh-edge.on{stroke:var(--signal-active);stroke-width:2.5}.mesh-edge.focus{stroke-width:4}.mesh-edge.offline{stroke-dasharray:5 5}.mesh-topology marker path{fill:var(--signal-active)}.mesh-blocked{fill:none;stroke:var(--negative);stroke-width:1;stroke-dasharray:3 7}.mesh-blocked-label{fill:var(--surface)}.mesh-blocked-text{fill:var(--negative);font-size:12px}.mesh-node{cursor:pointer;outline:none}.mesh-node rect{fill:var(--surface);stroke:var(--control);stroke-width:1}.mesh-node.on rect{stroke:var(--signal-active);fill:var(--signal-fill)}.mesh-node.offline rect{fill:var(--error-fill);stroke:var(--negative)}.mesh-node-name{font-family:Plex,Arial,sans-serif;font-size:16px;font-weight:600;fill:var(--ink)}.mesh-node-state{font-family:Plex,Arial,sans-serif;font-size:12px;fill:var(--muted)}.mesh-node-mac{font-family:PlexMono,monospace;font-size:12px;fill:var(--ink)}.mesh-node:focus-visible rect{stroke:var(--focus);stroke-width:3}.mesh-observer-note{font-size:12px;color:var(--muted);border-block:1px dashed var(--control);padding:10px 0;line-height:1.6}.mesh-message-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0 10px}.mesh-message-tools h2{margin:0}.mesh-hops{display:flex;gap:8px;flex-wrap:wrap}.mesh-hop{flex:1;min-width:125px;display:flex;flex-direction:column;gap:4px;text-align:left;padding:10px 12px;background:var(--surface);border:1px solid var(--control);border-radius:6px;min-height:82px}.mesh-hop>span,.mesh-hop small{font-size:12px;color:var(--muted)}.mesh-hop strong{font-size:14px}.mesh-hop.selected{border-color:var(--signal-active);background:var(--signal-fill)}.mesh-packet{max-height:680px;overflow:auto;padding:20px;border-left:1px solid var(--rule);min-width:0;font-size:12px}.mesh-packet>h2{margin:0 0 12px}.mesh-packet-direction{font-size:20px;font-weight:600;margin:0 0 16px}.mesh-packet h3{font-size:12px;margin:0 0 10px}.mesh-frame{padding:12px;background:var(--signal-fill);border:1px solid var(--signal-border);border-radius:6px}.mesh-payload{padding:16px 0 0}.mesh-packet dl{margin:0}.mesh-packet dt{color:var(--muted);font-size:12px;margin-top:9px}.mesh-packet dd{margin:2px 0 0;overflow-wrap:anywhere;font-family:PlexMono,monospace;font-size:12px;line-height:1.6}.mesh-changing{font-weight:600}.mesh-packet code{font-size:12px}.mesh-protocol-note{font-size:12px;line-height:1.7;border-top:1px solid var(--rule);padding-top:12px;margin-top:16px}.mesh-packet pre{max-height:144px}.mesh-delivery-section{margin-top:24px}.mesh-delivery-section h2{margin:0}.mesh-messages{max-height:236px;overflow:auto;border-block:1px solid var(--rule);margin-top:10px}.mesh-message{display:grid;grid-template-columns:68px minmax(0,1fr) 65px 165px;width:100%;text-align:left;gap:12px;align-items:center;border:0;border-radius:0;border-bottom:1px solid var(--rule);padding:12px 8px;min-height:48px;background:var(--surface);font-size:12px}.mesh-message time,.mesh-message>span{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.mesh-message.selected{background:var(--event-selected)}.mesh-lower{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:28px}.mesh-lower>section{min-width:0}.mesh-lower h2{margin:0 0 12px}.mesh-decision{display:grid;grid-template-columns:28px minmax(0,1fr) minmax(110px,auto);gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--rule);font-size:12px}.mesh-decision code{font-size:12px;overflow-wrap:anywhere}.mesh-decision>span{color:var(--muted)}.mesh-node-detail{font-size:12px;overflow-wrap:anywhere}.mesh-node-detail:empty{display:none}.mesh-node-detail h3{margin-top:20px}.mesh-node-detail p{margin:7px 0}.mesh-node-detail code{font-size:12px}.mesh-journal-row{display:grid;grid-template-columns:64px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid var(--rule);font-size:12px}.mesh-journal-row time{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.mesh-journal-row p{font-size:12px;color:var(--muted);margin:3px 0 0;overflow-wrap:anywhere}.mesh-check-section{margin-top:28px}.mesh-explainer{margin-top:28px;max-width:85ch;font-size:14px;line-height:1.75}.mesh-layer{display:grid;grid-template-columns:170px 1fr;gap:20px;padding:16px 0;border-bottom:1px solid var(--rule)}.mesh-layer p{margin:0}.mesh-scope{margin-top:28px;border-top:1px solid var(--rule);padding-top:14px;font-size:12px;line-height:1.7;color:var(--muted)}
@media(max-width:1200px){.mesh-workspace{grid-template-columns:minmax(0,1fr) 255px}.mesh-main{padding-right:16px}.mesh-packet{padding:16px}.mesh-message-proof{display:none}.mesh-message{grid-template-columns:65px minmax(0,1fr) 60px}}
@media(max-width:960px){.mesh-workspace{grid-template-columns:1fr}.mesh-main{padding-right:0}.mesh-packet{max-height:none;overflow:visible;border-left:0;border-top:1px solid var(--rule);padding:20px 0}.mesh-packet>div{display:grid;grid-template-columns:1fr 1fr;gap:16px}.mesh-packet-direction{grid-column:1/-1}.mesh-protocol-note,.mesh-packet details{grid-column:1/-1}.mesh-payload{padding-top:12px}.mesh-lower{gap:24px}.mesh-decision{grid-template-columns:26px 1fr}.mesh-decision code{grid-column:2}.mesh-actions{max-width:235px}.mesh-route-head h2{font-size:20px}}
@media(max-width:600px){.mesh-actions{max-width:none;width:100%;margin-top:8px}.mesh-actions button{width:100%;min-height:46px}.mesh-route-head{align-items:flex-start;flex-wrap:wrap}.mesh-route-head h2{font-size:20px}.mesh-main{padding-top:16px}.mesh-topology{max-width:360px;margin:12px auto 0}.mesh-topology svg{max-height:490px}.mesh-node-name{font-size:16px}.mesh-node-state{font-size:12px}.mesh-node-mac{font-size:12px}.mesh-message-tools{align-items:flex-start;flex-wrap:wrap}.mesh-message-tools button{width:100%;min-height:42px}.mesh-hops{display:grid;grid-template-columns:1fr}.mesh-hop{min-height:64px;display:grid;grid-template-columns:75px 1fr;align-items:center;gap:3px 10px}.mesh-hop small{grid-column:2}.mesh-packet>div{grid-template-columns:1fr}.mesh-packet-direction{margin-bottom:0}.mesh-payload{padding-top:0}.mesh-message{grid-template-columns:58px minmax(0,1fr) 48px;gap:6px;padding-inline:3px}.mesh-message strong{font-size:12px}.mesh-lower{grid-template-columns:1fr;gap:28px}.mesh-decision{grid-template-columns:26px 1fr auto}.mesh-decision code{grid-column:auto}.mesh-layer{grid-template-columns:1fr;gap:5px}.mesh-delivery-section .section-head{align-items:flex-start;gap:8px;flex-wrap:wrap}.mesh-journal-row{grid-template-columns:60px 1fr}}
.mesh-node.unknown rect{fill:var(--raised);stroke:var(--unknown);stroke-dasharray:4 4}
.mesh-edge.unknown{stroke-dasharray:2 6}
.mesh-timeline-section{margin-top:24px}
.mesh-timeline-section .section-head{margin-bottom:6px}
.mesh-convergence{color:var(--ink);font-size:14px;max-width:85ch;margin:6px 0 12px}
.mesh-timeline{overflow:hidden;border-block:1px solid var(--rule)}
.mesh-timeline svg{display:block;max-width:100%;height:auto}
.tl-label{fill:var(--muted);font:500 12px Plex,Arial,sans-serif}
.tl-axis{fill:var(--muted);font:12px Plex,Arial,sans-serif;font-variant-numeric:tabular-nums}
.tl-rule{stroke:var(--rule);stroke-width:1}
.tl-tick{stroke:var(--rule);stroke-width:1;stroke-dasharray:2 4}
.tl-up{stroke:var(--graph-edge);stroke-width:2}
.tl-down{fill:var(--error-fill);stroke:var(--negative);stroke-width:1}
.tl-fault{stroke:var(--negative);stroke-width:1;stroke-dasharray:3 3}
.tl-unknown{fill:var(--unknown);font:12px Plex,Arial,sans-serif}
.tl-converge{fill:var(--signal-fill);opacity:.85}
.tl-converge-label{fill:var(--ink);font:600 12px Plex,Arial,sans-serif}
.tl-route{stroke:var(--surface);stroke-width:1}
.tl-route.route-short,.tl-dot.route-short circle{fill:var(--route-primary)}
.tl-route.route-alt,.tl-dot.route-alt circle{fill:var(--route-alternate)}
.tl-route.route-none{fill:var(--negative)}
.tl-dot{cursor:pointer}
.tl-dot circle{stroke:var(--surface);stroke-width:1.5}
.tl-dot.selected circle{stroke:var(--ink);stroke-width:2}
.mesh-timeline-legend{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:12px;color:var(--muted);margin:10px 0 4px}
.mesh-timeline-legend span{display:inline-flex;align-items:center;gap:6px}
.mesh-timeline-legend i{display:inline-block;flex:none}
.lg-dot{width:10px;height:10px;border-radius:50%}
.lg-dot.route-short{background:var(--route-primary)}
.lg-dot.route-alt{background:var(--route-alternate)}
.lg-diamond{width:9px;height:9px;background:var(--route-primary);transform:rotate(45deg)}
.lg-down{width:18px;height:10px;background:var(--error-fill);border:1px solid var(--negative);border-radius:2px}
