:root{color-scheme:light;--paper:#f4efe6;--ink:#252525;--red:#bd4937;--blue:#326a80;--muted:#686159;--line:#cdc5b9;--light:#faf7f1;font:16px/1.5 Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,select,input{accent-color:var(--blue)}button,select{color:var(--ink)}button,a,input,select,summary{touch-action:manipulation}a{color:var(--blue);text-underline-offset:3px}a:hover{color:var(--red)}:focus-visible{outline:3px solid var(--blue);outline-offset:4px}button{cursor:pointer}button:disabled{cursor:default}h1,h2,h3,p{margin:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400}button,select{border:1px solid var(--line);background:var(--light);border-radius:3px}select{min-height:42px;padding:8px 28px 8px 10px;max-width:100%}button{padding:8px 12px}button:hover{border-color:var(--ink)}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:absolute;left:20px;top:-100px;z-index:2000;background:var(--paper);padding:12px}.skip:focus{top:12px}
.masthead{margin:0 36px;padding:28px 0 25px;border-bottom:1px solid var(--ink);display:flex;align-items:end;justify-content:space-between;gap:25px}.eyebrow{font:12px/1.5 'Courier New',monospace;letter-spacing:1.8px;margin-bottom:8px;color:var(--muted)}h1{font-size:clamp(30px,3.8vw,52px);line-height:1.08;letter-spacing:-1.4px}h1 em{color:var(--blue);font-weight:400}.intro{font-size:14px;line-height:1.6}.intro span{color:var(--muted)}main{margin:0 36px}.controls{display:flex;align-items:center;gap:30px;min-height:108px;padding:18px 0;flex-wrap:wrap}.mode{border:0;padding:0;margin:0;display:flex;gap:0;flex-shrink:0}.mode label{position:relative;cursor:pointer}.mode input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}.mode span{display:block;padding:11px 16px;border:1px solid var(--line);font-size:14px}.mode label+label span{border-left:0}.mode input:checked+span{background:var(--ink);color:var(--paper);border-color:var(--ink)}.mode input:focus-visible+span{outline:3px solid var(--blue);outline-offset:4px}.year-control{width:280px}.year-control label{display:flex;align-items:center;justify-content:space-between;font-size:14px}.year-control output{font:24px Georgia,serif;color:var(--blue)}input[type=range]{width:100%;display:block;margin:4px 0 0;cursor:pointer}.range-ends{display:flex;justify-content:space-between;font:12px 'Courier New',monospace;color:var(--muted)}.check{display:flex;align-items:center;gap:8px;margin-left:auto;font-size:14px;min-height:44px}.check input{width:18px;height:18px}.comparison-controls{display:flex;align-items:end;gap:12px}.comparison-controls label{display:flex;flex-direction:column;gap:3px;font-size:13px}.to-arrow{align-self:center;color:var(--muted);padding-top:19px}
.workspace{border-top:1px solid var(--line);border-bottom:1px solid var(--ink);display:grid;grid-template-columns:minmax(0,1fr) 330px}.map-area{min-width:0;padding:14px 22px 16px 0}.map-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.map-topline h2{font-size:23px}.map-topline button{font-size:13px;padding:6px 10px;background:transparent}.map-wrap{position:relative;border:1px solid var(--line)}#map{height:clamp(470px,62vh,760px);width:100%;background:#e9e5dc;z-index:0}.map-stamp{position:absolute;bottom:28px;left:12px;z-index:400;pointer-events:none;background:rgba(250,247,241,.92);padding:8px 12px;font:11px/1.5 'Courier New',monospace;letter-spacing:1px;border-left:2px solid var(--blue)}.map-stamp span{color:var(--muted);font-size:10px}.map-message{position:absolute;left:55px;top:10px;right:12px;z-index:500;font-size:13px;background:var(--light);padding:8px 10px;border:1px solid var(--line)}.legend-wrap{padding-top:14px}.legend-wrap h3{font-size:13px;font-weight:400;margin-bottom:8px}.legend{display:flex;gap:10px 17px;flex-wrap:wrap;font-size:12px}.legend-item{display:flex;align-items:center;gap:6px;white-space:nowrap}.swatch{width:22px;height:5px;display:inline-block}.swatch.missing{background:repeating-linear-gradient(to right,#8c8780 0 5px,transparent 5px 8px)!important;height:3px}.coverage{margin-top:12px;font-size:13px;color:var(--muted);min-height:20px}.detail-panel{border-left:1px solid var(--line);padding:24px 0 22px 24px;min-width:0}.picker-label{font-size:14px;display:block;margin:12px 0 7px}#road-picker{width:100%;font-size:14px}.empty-detail{padding-top:24px}.empty-detail h2{font-size:34px;line-height:1.15;margin:15px 0}.empty-detail p{font-size:15px;color:var(--muted);margin-top:16px}.empty-detail .small{font-size:13px;line-height:1.7}.road-mark{font:50px Georgia,serif;color:var(--red)}.detail-title{font-size:28px;line-height:1.1;margin:25px 0 6px;overflow-wrap:anywhere}.segment-label{font-size:12px;color:var(--muted);overflow-wrap:anywhere}.metric{font:46px/1.1 Georgia,serif;letter-spacing:-1px;margin-top:20px}.metric.change{color:var(--blue)}.metric-label{font-size:13px;color:var(--muted);margin-top:4px}.comparison-values{font-size:14px;margin-top:12px}.caution{font-size:13px;line-height:1.6;border-left:2px solid var(--red);padding:7px 0 7px 12px;margin:16px 0;color:var(--muted)}.chart-title{font:12px/1.5 'Courier New',monospace;letter-spacing:1px;margin:25px 0 8px}.history-chart{display:block;width:100%;height:160px;overflow:visible}.history-chart text{font:11px Arial,sans-serif;fill:var(--muted)}.history-chart .grid{stroke:#d6d0c5;stroke-width:1}.history-chart .trend{stroke:var(--blue);stroke-width:2;fill:none}.history-chart .point{fill:var(--blue);stroke:var(--paper);stroke-width:2}.history-chart .active-point{fill:var(--red)}.small{font-size:13px;color:var(--muted)}details{margin-top:16px}summary{cursor:pointer;font-size:14px;line-height:1.6}summary:hover{color:var(--blue)}.history-table{font-size:13px;width:100%;border-collapse:collapse;margin-top:8px}.history-table th,.history-table td{padding:5px 3px;border-bottom:1px solid var(--line);text-align:right}.history-table th:first-child,.history-table td:first-child{text-align:left}.history-table tr.active{background:#e7e1d5}.meta-list{margin:12px 0;font-size:13px}.meta-list dt{color:var(--muted);margin-top:10px}.meta-list dd{margin:1px 0 0;overflow-wrap:anywhere}.source-link{font-size:13px;display:inline-block;margin-top:14px}.notes{display:grid;grid-template-columns:1fr 2fr;gap:36px;padding:24px 0;font-size:14px}.notes>p{max-width:370px;color:var(--muted)}.notes strong{font-weight:600;color:var(--ink)}.notes>details{margin:0}.notes>details>summary{font-size:15px}.method-grid{display:grid;grid-template-columns:1fr;gap:18px;margin-top:20px}.method-grid h3{font-size:15px;font-weight:600;margin-bottom:8px}.method-grid p{margin-top:8px;color:var(--muted);line-height:1.7}.table-scroll{overflow-x:auto;margin:20px 0}.table-scroll table{border-collapse:collapse;width:100%;font-size:13px;text-align:right}.table-scroll caption{text-align:left;margin-bottom:8px}.table-scroll th,.table-scroll td{padding:7px 12px;border-bottom:1px solid var(--line)}.table-scroll th:first-child,.table-scroll td:first-child{text-align:left}footer{margin:0 36px;padding:18px 0 24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;font:12px 'Courier New',monospace;color:var(--muted)}.leaflet-container{font-family:Arial,sans-serif}.leaflet-control-attribution{font-size:10px!important}.leaflet-tooltip{background:var(--light);border-color:var(--line);color:var(--ink);border-radius:2px;box-shadow:none;font-size:13px}.noscript{padding:24px;background:#ffe2ba}.place-label{font:12px 'Courier New',monospace;color:#514b43;white-space:nowrap;text-shadow:0 1px 2px #fff,0 -1px 2px #fff;pointer-events:none}
@media(min-width:1500px){.workspace{grid-template-columns:minmax(0,1fr) 380px}.detail-panel{padding-left:30px}.controls{gap:48px}}
@media(max-width:1000px){.masthead,footer{margin-left:22px;margin-right:22px}main{margin:0 22px}.workspace{grid-template-columns:minmax(0,1fr) 290px}.map-area{padding-right:16px}.detail-panel{padding-left:16px}.controls{gap:18px}.year-control{width:240px}.check{margin-left:0}.intro{display:none}}
@media(max-width:760px){.masthead{padding:22px 0}.eyebrow{font-size:11px}.workspace{grid-template-columns:1fr}.map-area{padding-right:0}.detail-panel{border-left:0;border-top:1px solid var(--line);padding:20px 0}.empty-detail{padding:8px 0}.empty-detail h2 br{display:none}.road-mark{display:none}.empty-detail h2{font-size:28px}.year-control{flex:1;min-width:180px}.controls{gap:18px 22px}.comparison-controls{flex-wrap:wrap}.comparison-controls label{flex:1}.map-topline h2{font-size:22px}#map{height:480px}.history-chart{max-width:540px;height:180px}.notes{grid-template-columns:1fr;gap:20px}.notes>p{max-width:none}footer{flex-wrap:wrap}.detail-title{margin-top:18px}.map-stamp{display:none}}
@media(max-width:430px){.masthead,footer{margin-left:14px;margin-right:14px}main{margin:0 14px}h1{font-size:33px;letter-spacing:-1px}.controls{gap:16px}.mode{width:100%}.mode label{flex:1;text-align:center}.mode span{padding:10px 12px}.year-control{width:100%;flex-basis:100%}.comparison-controls{width:100%;gap:8px}.comparison-controls select{padding-left:8px;font-size:14px}.map-topline{gap:6px}.map-topline h2{font-size:20px}.map-topline button{font-size:12px}#map{height:430px}.legend{gap:8px 14px}.map-message{left:12px;top:85px}.check{min-height:30px}}
@media(pointer:coarse){button,select{min-height:44px}input[type=range]{min-height:32px}.check{min-height:44px}summary{padding:6px 0}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
