/* The #tl-map coverage-map widget styling shared by coverage and index.
   Shared static CSS extracted in phase-4 PR3 from an inline <style> block that was
   duplicated verbatim across: coverage.html, index.html.
   One linked sheet removes the duplication. Loaded at the same cascade position
   (after shared-v6.css) so specificity and source-order override are unchanged. */
#tl-map{--cream:#F5F0E8;--red:#C0392B;--navy:#0F2D5C;--p-bg0:#06152B;--p-bg1:#0A1F3D;--land:#163B6E;--land-edge:rgba(245,240,232,.16);--water:#06152B}
#tl-map *{box-sizing:border-box}
#tl-map .panel{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:1.55;
 background:radial-gradient(120% 100% at 76% 26%,#123257 0%,var(--p-bg1) 44%,var(--p-bg0) 100%);
 border:1px solid rgba(15,45,92,.5);box-shadow:0 30px 60px -36px rgba(11,31,61,.5)}
#tl-map svg.map{position:absolute;inset:0;width:100%;height:100%;display:block}
#tl-map .ctx{fill:rgba(245,240,232,.05)}
#tl-map .land{fill:var(--land);stroke:var(--land-edge);stroke-width:.8;stroke-linejoin:round}
#tl-map .lake{fill:var(--water)}
#tl-map .lane{fill:none;stroke-linecap:round}
#tl-map .lane-main{stroke:var(--red);stroke-width:2.6;filter:drop-shadow(0 0 6px rgba(192,57,43,.85));stroke-dasharray:3 12;animation:mflow 2.2s linear infinite}
#tl-map .lane-mx{stroke:var(--red);stroke-opacity:.82;stroke-width:1.8;filter:drop-shadow(0 0 4px rgba(192,57,43,.55));stroke-dasharray:3 12;animation:mflow 2.8s linear infinite}
#tl-map .lane-feeder{stroke:var(--cream);stroke-opacity:.5;stroke-width:1.5;stroke-dasharray:2 12;animation:mflow 3.6s linear infinite}
@keyframes mflow{to{stroke-dashoffset:-30}}
#tl-map .lane-base{fill:none;stroke:rgba(245,240,232,.10);stroke-width:1}
#tl-map .lane-base.main{stroke:rgba(192,57,43,.22);stroke-width:2.6}
#tl-map .truck{fill:var(--cream);filter:drop-shadow(0 0 5px rgba(245,240,232,.9))}
#tl-map .truck-main{fill:#FBE9C8;filter:drop-shadow(0 0 7px rgba(245,222,170,1))}
#tl-map .halo{fill:none;animation:mpulse 2.6s ease-out infinite}
#tl-map .halo2{animation-delay:1.3s}
@keyframes mpulse{0%{opacity:.85;stroke-width:1.6}70%{opacity:0}100%{r:26px;opacity:0;stroke-width:.3}}
#tl-map .cross .halo{stroke:var(--red)} #tl-map .cross .core{fill:var(--red);stroke:var(--cream);stroke-width:1}
#tl-map .term .dia{fill:var(--cream);stroke:var(--navy);stroke-width:1}
#tl-map .term-home .dia{fill:var(--cream);stroke:var(--red);stroke-width:2}
#tl-map .term-home .halo{stroke:var(--cream)}
#tl-map .lbl{fill:var(--cream);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:11px;font-weight:800;letter-spacing:.1em;paint-order:stroke;stroke:var(--p-bg0);stroke-width:3px}
#tl-map .term-home .lbl{font-size:12.5px}
#tl-map .endpt .edot{fill:var(--cream);opacity:.8}
#tl-map .elbl{fill:rgba(245,240,232,.6);font-family:system-ui,sans-serif;font-size:9px;font-weight:700;letter-spacing:.13em;paint-order:stroke;stroke:var(--p-bg0);stroke-width:2.4px}
#tl-map .legend{position:absolute;left:18px;bottom:16px;display:flex;gap:16px;flex-wrap:wrap;font-family:system-ui,sans-serif;font-size:11px;font-weight:600;letter-spacing:.04em;color:rgba(245,240,232,.78)}
#tl-map .legend span{display:inline-flex;align-items:center;gap:7px}
#tl-map .gl-term{width:9px;height:9px;background:var(--cream);transform:rotate(45deg);border:1px solid var(--navy)}
#tl-map .gl-cross{width:9px;height:9px;border-radius:50%;background:var(--red);box-shadow:0 0 0 2px rgba(192,57,43,.3)}
#tl-map .gl-lane{width:16px;height:0;border-top:2px solid var(--red)}
#tl-map .live{position:absolute;right:18px;top:16px;display:inline-flex;align-items:center;gap:8px;font-family:system-ui,sans-serif;font-size:11px;font-weight:800;letter-spacing:.18em;color:rgba(245,240,232,.85);text-transform:uppercase}
#tl-map .live i{width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 0 0 rgba(192,57,43,.6);animation:mblip 2s ease-out infinite}
@keyframes mblip{0%{box-shadow:0 0 0 0 rgba(192,57,43,.6)}100%{box-shadow:0 0 0 9px rgba(192,57,43,0)}}
@media (max-width:780px){#tl-map .panel{aspect-ratio:1.12} #tl-map .lbl,#tl-map .elbl{display:none} #tl-map .term-home .lbl{display:block} #tl-map .legend{gap:12px;font-size:10px}}
@media (prefers-reduced-motion:reduce){#tl-map .lane,#tl-map .halo,#tl-map .live i{animation:none} #tl-map .truck{display:none} #tl-map .lane{stroke-dasharray:none}}
