.tcpip-road { display: block; height: 60px; pointer-events: none; overflow: visible; max-width: 100%; position: relative; z-index: 2; }
.tcpip-road[hidden] { display: none; }
.tcpip-road-svg { display: block; overflow: visible; }
.tcpip-pole { stroke: #e8d5a3; stroke-width: 2.2; stroke-linecap: round; }
.tcpip-arm { stroke: #e8d5a3; stroke-width: 1.8; stroke-linecap: round; }
.tcpip-insul { fill: #7fb3c9; }
.tcpip-wire { fill: none; stroke: #e8d5a3; stroke-width: 1.5; opacity: 0.85; }
.tcpip-asphalt { fill: #23292e; opacity: 0.95; }
.tcpip-edge { stroke: #e8d5a3; stroke-width: 0.8; opacity: 0.5; }
.tcpip-center { fill: none; stroke: #f0c94a; stroke-width: 0.9; stroke-dasharray: 5 4; }
.tcpip-panel { max-width: 46rem; margin: 1.5rem auto; padding: 1.25rem 1.5rem; background: rgba(10, 22, 30, 0.72); border: 1px solid rgba(232, 213, 163, 0.25); border-radius: 12px; color: #efe6cf; line-height: 1.55; }
.tcpip-panel h2 { margin-top: 0; }
.tcpip-panel dt { color: #e8d5a3; font-weight: 600; margin-top: 0.6rem; }
.tcpip-panel dd { margin: 0.1rem 0 0 1rem; }
.tcpip-toggle { display: inline-flex; gap: 0.5rem; align-items: center; margin-top: 1rem; cursor: pointer; }
.tcpip-cross-edge line { stroke: #e8d5a3; stroke-width: 0.6; opacity: 0.3; }
.tcpip-cross-dash { stroke: #f0c94a; }
.tcpip-walk { fill: #f2f2ee; opacity: 0.35; }
.tcpip-light-box { fill: #15191c; stroke: #e8d5a3; stroke-width: 0.5; stroke-opacity: 0.6; }
.tcpip-light-hanger { stroke: #e8d5a3; stroke-width: 0.8; opacity: 0.9; }
.tcpip-light-clamp { fill: #e8d5a3; }
.tcpip-light-glow { opacity: 0.16; }
.tcpip-light-back { fill: #0c0f11; stroke: #e8d5a3; stroke-width: 0.4; stroke-opacity: 0.4; }
.tcpip-visor { fill: none; stroke: #0a0c0e; stroke-width: 0.9; stroke-linecap: round; }
