.map-symbol-image{object-fit:contain;pointer-events:none;user-select:none;flex-shrink:0;width:24px;height:24px;display:block}.traffic-symbol,.traffic-map-symbol[data-kind]{color:#0f1b2d;background:#f3f0ea;border:1px solid #0f1b2d55;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.traffic-map-icon .traffic-map-symbol[data-kind]{border-width:2px;width:32px;height:32px;box-shadow:0 0 0 2px #fff,0 2px 6px #13233555}.traffic-symbol[data-kind=unknown] .map-symbol-image,.traffic-map-symbol[data-kind=unknown] .map-symbol-image{filter:grayscale();opacity:.65}.traffic-symbol[data-kind=planned],.traffic-map-symbol[data-kind=planned]{border-style:dashed}.traffic-map-icon.selected .traffic-map-symbol[data-kind],.traffic-map-icon:focus-visible .traffic-map-symbol[data-kind]{outline-offset:3px;outline:3px solid #0f1b2d;box-shadow:0 0 0 3px #fff,0 3px 8px #13233566}.traffic-map-cluster.traffic-map-cluster--symbols,.road-map-cluster{box-shadow:none;background:0 0;border:0;justify-content:center;align-items:center;display:flex}.map-cluster-face{color:#0f1b2d;background:#f3f0ea;border:2px solid #0f1b2d;border-radius:9px;justify-content:center;align-items:center;gap:3px;min-width:48px;height:32px;padding:0 3px;display:flex;box-shadow:0 0 0 2px #fff,0 2px 6px #13233544}.map-cluster-face .map-symbol-image{width:22px;height:22px}.traffic-map-cluster:focus-visible .map-cluster-face,.road-map-cluster:focus-visible .map-cluster-face{outline-offset:3px;outline:3px solid #0f1b2d}.traffic-overview{color:#172033;background:var(--surface,#fff);border-block:1px solid #e2e8f0;padding:14px 16px;font-size:14px;line-height:1.5}.traffic-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.traffic-header label{align-items:center;gap:9px;min-height:44px;font-weight:650;display:flex}.traffic-header input,.traffic-options input{accent-color:#a54b0e;flex-shrink:0;width:18px;height:18px}.traffic-subtitle,.traffic-provenance{color:#526174;font-size:12px;line-height:1.6}.traffic-subtitle{margin:0 0 8px}.traffic-provenance{margin:12px 0}.traffic-options{flex-direction:column;gap:2px;display:flex}.traffic-options label{cursor:pointer;align-items:center;gap:9px;min-height:44px;display:flex}.traffic-notice{color:#623d06;background:#fff5dd;border-left:3px solid #b16a04;padding:10px 12px;font-size:13px;line-height:1.6}.traffic-list{margin:10px 0 0;padding:0;list-style:none}.traffic-row{text-align:left;width:100%;color:inherit;cursor:pointer;background:0 0;border:0;border-top:1px solid #e2e8f0;flex-direction:column;gap:5px;padding:13px 0;line-height:1.5;display:flex}.traffic-row strong{font-size:14px;font-weight:600}.traffic-row small{color:#526174;font-size:12px}.traffic-badge{color:#7d450c;background:#fff5e3;border:1px solid #e0be8c;border-radius:5px;align-self:flex-start;width:fit-content;margin:0;padding:2px 7px;font-size:12px;font-weight:650;line-height:1.6;display:inline-flex}.traffic-badge[data-status=current][data-impact=road_closed]{color:#a42d19;background:#fff0ed;border-color:#e1b0a4}.traffic-badge[data-status=planned]{color:#334d7b;background:#f0f4fb;border-color:#c0cbdf}.traffic-badge[data-status=unknown]{color:#45515e;background:#f1f3f5;border-color:#c8cdd3}.traffic-more,.traffic-source-link{color:#245aa5;cursor:pointer;align-items:center;min-height:44px;text-decoration:underline;display:inline-flex}.traffic-detail{color:#172033;line-height:1.6}.traffic-detail h2{margin:12px 0;font-size:20px;font-weight:650;line-height:1.4}.traffic-record{border-top:1px solid #dce1e8;padding:20px 0}.traffic-record h3{margin:8px 0;font-size:16px;font-weight:650;line-height:1.5}.traffic-record p{margin:8px 0}.traffic-source-text{white-space:pre-line}.traffic-direction{font-size:14px;font-weight:600}.traffic-facts{margin:12px 0 0;font-size:13px}.traffic-facts div{margin-top:8px}.traffic-facts dt{color:#526174}.traffic-facts dd{margin:0}.traffic-facts dd span{display:block}.traffic-desktop-detail{width:min(440px,100% - 384px);z-index:var(--z-floating-ui);box-shadow:var(--shadow-pop);background:#fff;border:1px solid #dce1e8;border-radius:16px;padding:20px;position:absolute;top:12px;bottom:12px;right:12px;overflow:auto}.traffic-detail-nav{justify-content:space-between;align-items:center;gap:12px;display:flex}.traffic-detail-nav button,.traffic-detail-nav a{color:#245aa5;min-height:44px}.traffic-collection ul{padding:0;list-style:none}.traffic-collection li a{color:inherit;border-top:1px solid #e2e8f0;flex-direction:column;gap:6px;padding:14px 0;text-decoration:none;display:flex}.traffic-collection li strong{font-weight:600}.traffic-collection summary{cursor:pointer;min-height:44px;padding:10px 0}.traffic-map-icon{background:0 0;border:0;justify-content:center;align-items:center;display:flex!important}.traffic-map-symbol{color:#fff;background:#a34a11;border:2px solid #fff;border-radius:5px;justify-content:center;align-items:center;width:28px;height:28px;font-size:17px;font-weight:800;display:flex;box-shadow:0 1px 5px #0005}.traffic-map-symbol[data-impact=road_closed]{background:#b93c26}.traffic-map-symbol[data-status=planned]{background:#3d5c87}.traffic-map-symbol[data-status=unknown]{background:#5c6673}.traffic-map-icon.selected .traffic-map-symbol{outline-offset:2px;outline:3px solid #172033}.traffic-map-cluster{color:#743a0b;background:#fff3e2;border:2px solid #b65d22;border-radius:7px;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex!important}.traffic-map-legend{color:#536174;font-size:11px;line-height:1.5}.traffic-map-legend b{color:#8d4814}.traffic-row:focus-visible,.traffic-more:focus-visible,.traffic-source-link:focus-visible{outline-offset:2px;outline:2px solid #2563eb}@media (prefers-color-scheme:dark){.traffic-overview,.traffic-desktop-detail{color:#e2e8f0;background:#0f172a;border-color:#334155}.traffic-detail{color:#e2e8f0}.traffic-record,.traffic-row{border-color:#334155}.traffic-subtitle,.traffic-provenance,.traffic-row small,.traffic-facts dt,.traffic-map-legend{color:#abb7c8}.traffic-notice{color:#f3d297;background:#302511}.traffic-more,.traffic-source-link,.traffic-detail-nav button,.traffic-detail-nav a{color:#93c5fd}}.mobile-reader-body .traffic-record h3{margin:8px 0;font-size:16px;line-height:1.5}@media (prefers-reduced-motion:reduce){.traffic-map-icon{transition:none}}.road-data-overview{background:var(--color-surface,#f8fafc);color:#172033;border:1px solid #e2e8f0;border-radius:12px;margin:16px;padding:16px;font-size:13px}.road-data-overview h2{font-size:17px;font-weight:700}.road-layer-overview{border-top:1px solid #e2e8f0;margin-top:18px;padding-top:12px}.road-layer-overview h3{align-items:center;gap:8px;font-size:14px;font-weight:650;display:flex}.road-layer-overview h3>span:last-child{margin-left:auto;font-weight:400}.road-layer-overview ul{margin:6px 0;padding:0;list-style:none}.road-layer-overview p{margin-top:8px}.road-data-search{gap:6px;margin-top:12px;font-size:12px;display:grid}.road-data-search input{min-height:44px;color:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:10px 12px}.road-data-symbol{color:#0f1b2d;background:#f3f0ea;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.road-data-overview .road-data-row{text-align:left;flex-direction:row;justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.road-data-eyebrow{color:#526174;margin-bottom:10px;font-size:12px;font-weight:600}.road-detail h2{margin-bottom:18px;font-size:23px;font-weight:700;line-height:1.3}.road-detail>p{margin:16px 0}.road-metrics{grid-template-columns:1fr 1fr;gap:16px;margin:22px 0;display:grid}.road-metrics>div{border-bottom:1px solid #e2e8f0;min-width:0;padding-bottom:12px}.road-metrics dt{color:#526174;font-size:12px;line-height:1.4}.road-metrics dd{overflow-wrap:anywhere;margin:6px 0 0;font-size:16px}.road-metrics small{color:#526174;margin-top:4px;font-size:10px;display:block}.road-camera-image{margin:18px 0}.road-camera-image img{background:#e2e8f0;border-radius:10px;width:100%;height:auto;min-height:120px}.road-camera-image figcaption{color:#526174;margin-top:8px;font-size:12px;line-height:1.5}.road-data-link{color:#245aa5;align-items:center;min-height:44px;font-size:13px;text-decoration:underline;display:inline-flex}.road-forecast-period{border-top:1px solid #e2e8f0}.road-forecast-period summary{cursor:pointer;min-height:44px;padding:14px 0;font-size:14px;font-weight:600}.road-forecast-period .road-metrics{margin-top:0}.road-map-icon{background:0 0;border:0;justify-content:center;align-items:center;display:flex}.road-map-pin{color:#0f1b2d;background:#f3f0ea;border:2px solid #0f1b2d55;border-radius:8px;place-items:center;width:30px;height:30px;font-size:17px;font-weight:700;display:grid;box-shadow:0 1px 5px #0005}.road-map-pin[data-unknown=true] .map-symbol-image{filter:grayscale();opacity:.65}.road-map-icon.selected .road-map-pin,.road-map-icon:focus-visible .road-map-pin{outline-offset:3px;outline:3px solid #0f1b2d;box-shadow:0 0 0 3px #fff,0 3px 8px #13233566}.road-map-cluster{background:0 0;border:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.road-layer-status{color:#526174;margin:0 0 12px 32px;font-size:11px}.road-layer-status[data-unavailable=true]{color:#9a3412}.road-geometry-key{color:#526174;align-items:center;gap:8px;font-size:12px;display:flex}.road-geometry-key i{border-top:4px solid #dc2626;width:28px}.road-geometry-key i[data-alternative=true]{border-color:#2563eb;border-top-style:dashed}.road-data-overview button:focus-visible,.road-detail button:focus-visible,.road-data-search input:focus-visible,.road-detail summary:focus-visible{outline-offset:3px;outline:2px solid #2563eb}@media (prefers-color-scheme:dark){.road-data-overview{color:#e2e8f0;background:#0f172a;border-color:#334155}.road-layer-overview,.road-metrics>div,.road-forecast-period{border-color:#334155}.road-data-search input{background:#1e293b;border-color:#475569}.road-data-eyebrow,.road-metrics dt,.road-metrics small,.road-layer-status,.road-camera-image figcaption,.road-geometry-key{color:#b8c5d6}.road-data-link{color:#93c5fd}.road-layer-status[data-unavailable=true]{color:#fdba74}}.road-map-cluster .map-symbol-image{width:22px;height:22px}
