.traffic-heading,.traffic-controls,.traffic-pager{display:flex;gap:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap}
.traffic-heading h1{font-size:clamp(1.5rem,3vw,2.4rem);margin-bottom:.4rem}
.traffic-controls{justify-content:flex-start;margin:1rem 0;align-items:flex-end}
.traffic-controls label{display:flex;flex-direction:column;gap:.3rem;min-width:min(100%,12rem)}
.traffic-controls select{width:100%}
.traffic-status{padding:.5rem .75rem;border-inline-start:3px solid var(--link);background:var(--panel-strong)}
.traffic-status[data-state="demo"]{border-style:dashed}
.traffic-map{height:clamp(300px,52vw,560px);width:100%;border:1px solid var(--border);border-radius:.4rem;background:var(--panel-strong);z-index:0}
.traffic-table{min-width:560px}.traffic-table th{position:static}.traffic-table td{padding:.5rem .75rem}
.traffic-pager{justify-content:flex-end;margin-top:.7rem}
.traffic-source{font-size:.85rem;margin:.6rem 0}
.traffic-map .leaflet-popup-content-wrapper,.traffic-map .leaflet-popup-tip{background:var(--panel-bg);color:var(--text)}
.traffic-map .leaflet-control-attribution{background:var(--panel-bg);color:var(--text)}
.traffic-map .leaflet-control-attribution a{color:var(--link)}
.traffic-map .leaflet-control-zoom a{background:var(--panel-bg);color:var(--text)}
.traffic-map .leaflet-popup-content{overflow-wrap:anywhere}
.traffic-popup-title{display:block;margin-bottom:.3rem}
[data-theme="eink-bw"] .traffic-map .leaflet-tile{filter:grayscale(1) contrast(1.25)}
[data-theme="night"] .traffic-map .leaflet-tile,[data-theme="dark"] .traffic-map .leaflet-tile{filter:brightness(.8)}
@media(max-width:480px){.traffic-controls>*{flex:1 1 100%}.traffic-controls label{min-width:0}.traffic-heading .badge{align-self:flex-start}.traffic-map{height:340px}}

.traffic-air-icon,.traffic-pin-icon{background:transparent;border:0}.traffic-air-arrow{display:block;width:32px;height:32px;overflow:visible;transform-origin:50% 50%}.traffic-pin-icon svg{width:32px;height:40px;display:block}.traffic-distance-label{white-space:nowrap;background:#fff;color:#111;border:1px solid #111;border-radius:3px;text-align:center;font:12px/22px system-ui,sans-serif;box-shadow:0 1px 3px #0005}.traffic-center-form input{max-width:14rem}.traffic-controls .check-row{flex-direction:row;align-items:center;min-width:0;gap:.5rem}.traffic-controls .check-row input{width:1.1rem;min-height:0}.traffic-status[data-state=pending],.traffic-status[data-state=waiting]{border-color:var(--warn)}[data-theme=eink-bw] .traffic-air-arrow path{fill:#111}
