/* Historical atlas: map controls and archive in the site's milk/chocolate palette. */
.time-map-page{--tm-muted:#786257;--tm-district:#9b6b4c;--tm-building:#412c25;--tm-plan:#7e7098;--tm-institution:#697b67;padding-bottom:80px;min-width:0}
.time-map-page button,.time-map-page input,.tm-photo-dialog button{font-family:var(--sans,'Manrope',Arial,sans-serif)}
.time-map-page button{min-height:40px;line-height:1.5}
.time-map-page a,.time-map-page p,.time-map-page h2,.time-map-page h3{overflow-wrap:anywhere}
.time-map-page button:focus-visible,.time-map-page input:focus-visible,.time-map-page a:focus-visible,.tm-photo-dialog button:focus-visible,.tm-photo-dialog a:focus-visible{outline:2px solid var(--choc);outline-offset:4px}
.tm-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding:35px 0 30px}
.tm-heading-copy{max-width:790px;min-width:0}
.tm-heading h1{font:400 clamp(34px,3.6vw,46px)/1.15 var(--serif);letter-spacing:-.035em;margin:13px 0 18px}
.tm-heading-copy>p:not(.eyebrow){font-size:16px;line-height:1.85;color:var(--tm-muted);max-width:730px}
.tm-intro-badge{display:flex;flex-direction:column;align-items:flex-start;flex-shrink:0;gap:4px;padding:18px 23px;border-left:1px solid var(--line);font-size:14px;line-height:1.6;color:var(--tm-muted);max-width:260px}
.tm-intro-badge strong{font:400 42px/1.1 var(--serif);color:var(--choc);font-variant-numeric:tabular-nums;letter-spacing:-.04em}
.tm-intro-badge small{font-size:11px;margin-top:7px}
.tm-place-toggle{display:flex;align-items:center;flex-wrap:wrap;gap:6px;flex-shrink:0}
.tm-place-toggle button{border:1px solid var(--line);background:var(--paper);border-radius:4px;padding:10px 15px;font-size:14px;white-space:normal}
.tm-place-toggle button[aria-pressed=true]{background:var(--choc);border-color:var(--choc);color:var(--paper)}
.tm-place-toggle button:hover{border-color:var(--choc)}
.tm-toolbar{display:grid;grid-template-columns:minmax(0,1fr);gap:15px;align-items:center;border:1px solid var(--line);border-bottom:0;border-radius:8px 8px 0 0;background:var(--paper);padding:24px 26px}
.tm-year-block{min-width:0}
.tm-year-top{display:flex;align-items:center;flex-wrap:wrap;gap:10px 20px;margin-bottom:9px;font-size:14px}
.tm-year-top label{color:var(--tm-muted)}
.tm-year-value{font:400 34px/1.2 var(--serif);letter-spacing:-.035em;font-variant-numeric:tabular-nums;color:var(--choc)}
.tm-time-buttons{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-left:auto}
.tm-time-buttons button{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 13px;border:1px solid var(--line);border-radius:4px;background:var(--milk);font-size:14px}
.tm-time-buttons button:hover{border-color:var(--choc)}
.tm-time-buttons button[aria-pressed=true]{background:var(--choc);color:var(--paper);border-color:var(--choc)}
.tm-range{display:block;accent-color:var(--choc);width:100%;min-width:0;height:40px;margin:0;cursor:pointer}
.tm-range::-webkit-slider-thumb{cursor:ew-resize}
.tm-ticks{display:flex;justify-content:space-between;gap:4px;flex-wrap:wrap}
.tm-ticks button{background:transparent;padding:5px 7px;border:1px solid transparent;border-radius:3px;color:var(--tm-muted);font-size:12px;font-variant-numeric:tabular-nums}
.tm-ticks button:hover,.tm-ticks button[aria-pressed=true]{background:var(--soft);border-color:var(--line);color:var(--choc)}
.tm-map-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;align-items:start;min-width:0;border:1px solid var(--line);border-radius:0 0 8px 8px;overflow:hidden;background:var(--paper)}
.tm-map-panel{min-width:0;position:relative;background:var(--milk)}
.tm-map{width:100%;height:600px;min-width:0;position:relative;z-index:0;background:#e5e1d7;font-family:var(--sans);color:var(--choc)}
.tm-map img{max-width:none!important;width:auto}
.tm-map .leaflet-tile{width:256px;height:256px;border-radius:0}
.tm-map .leaflet-overlay-pane svg{width:revert;height:revert}
.tm-map .leaflet-control-attribution{font:11px/1.6 var(--sans);color:#4e453e;background:#faf7f1ed;padding:3px 6px;max-width:100%;overflow-wrap:anywhere}
.tm-map .leaflet-control-attribution a{color:#412c25;text-decoration:underline;text-underline-offset:2px}
.tm-map .leaflet-control-zoom a{width:40px;height:40px;line-height:40px;background:var(--paper);color:var(--choc);font-size:24px}
.tm-map .leaflet-bar{border-color:var(--line);box-shadow:0 2px 10px #412c2517}
.tm-map .leaflet-tooltip{border-color:var(--line);border-radius:4px;background:var(--paper);color:var(--choc);font:13px/1.6 var(--sans);white-space:normal;max-width:240px;box-shadow:0 3px 14px #412c2515}
.tm-map .leaflet-popup-content-wrapper{background:var(--paper);color:var(--choc);border-radius:6px;font:14px/1.7 var(--sans)}
.tm-map .leaflet-popup-tip{background:var(--paper)}
.tm-map .leaflet-popup-content{margin:17px 21px;max-width:260px}
.tm-map-status{padding:12px 19px;border-top:1px solid var(--line);font-size:13px;line-height:1.7;color:var(--tm-muted);background:var(--paper)}
.tm-map-legend{display:flex;gap:10px 20px;flex-wrap:wrap;align-items:center;padding:15px 19px 9px;font-size:12px;line-height:1.6;color:var(--tm-muted)}
.tm-map-legend>span,.tm-map-legend>label{display:inline-flex;gap:7px;align-items:center}
.tm-map-legend i,.tm-map-legend b{display:inline-block;flex:0 0 9px;width:9px;height:9px;background:var(--legend-color,var(--tm-district));border-radius:50%}
.tm-map-legend [data-kind=building] i{background:var(--tm-building)}
.tm-map-legend [data-kind=plan] i{background:var(--tm-plan)}
.tm-map-legend [data-kind=institution] i{background:var(--tm-institution)}
.tm-map-footnote{font-size:12px;line-height:1.75;color:var(--tm-muted);padding:0 19px 17px}
.tm-layer-controls{display:flex;flex-wrap:wrap;gap:5px 18px;padding:11px 0 0;margin:0;min-width:0;border:0;border-top:1px solid var(--line);background:var(--paper);font-size:13px}
.tm-layer-controls label{display:inline-flex;align-items:center;gap:8px;min-height:40px;cursor:pointer}
.tm-layer-controls input{width:17px;height:17px;accent-color:var(--choc);margin:0;flex-shrink:0}
.tm-sidebar{min-width:0;max-height:600px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;border-left:1px solid var(--line);scrollbar-width:thin;scrollbar-color:var(--line) transparent;font-size:14px;line-height:1.8}
.tm-selected{padding:24px 22px;background:var(--paper);border-bottom:1px solid var(--line)}
.tm-selected h2,.tm-selected h3{font:400 26px/1.25 var(--serif);letter-spacing:-.025em;margin:12px 0 14px}
.tm-selected>p{font-size:14px;line-height:1.8}
.tm-selected p+p{margin-top:12px}
.tm-selected-type{display:inline-block;color:var(--tm-muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.tm-selected-year{display:block;font:400 32px/1.3 var(--serif);margin:8px 0;color:var(--choc)}
.tm-selected-address{font-size:13px!important;color:var(--tm-muted);line-height:1.8;margin:12px 0}
.tm-selected-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:20px}
.tm-selected-actions a,.tm-selected-actions button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:9px 12px;border:1px solid var(--line);border-radius:4px;background:var(--milk);font-size:13px;line-height:1.5}
.tm-selected-actions a:hover,.tm-selected-actions button:hover{border-color:var(--choc)}
.tm-source-list{padding-left:17px;font-size:12px;line-height:1.8;margin:17px 0 0;color:var(--tm-muted)}
.tm-source-list li+li{margin-top:7px}
.tm-source-list a{padding-block:3px;text-decoration:underline;text-underline-offset:3px}
.tm-point-count{padding:16px 22px 11px;font-size:12px;color:var(--tm-muted)}
.tm-event-list{display:flex;flex-direction:column;gap:0;padding:0 12px 12px}
.tm-event-button{display:grid;grid-template-columns:47px minmax(0,1fr);gap:11px;text-align:left;width:100%;padding:13px 10px;border:1px solid transparent;border-bottom-color:var(--line);background:transparent;border-radius:4px;color:var(--choc);font-size:14px}
.tm-event-button:hover{background:var(--milk)}
.tm-event-button[aria-pressed=true]{background:var(--soft);border-color:var(--line)}
.tm-event-button>span:last-child{min-width:0;overflow-wrap:anywhere}
.tm-event-date{font-size:12px;color:var(--tm-muted);font-variant-numeric:tabular-nums;padding-top:2px}
.tm-archive-section{padding-top:63px;scroll-margin-top:110px}
.tm-archive-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:27px}
.tm-archive-heading h2{font:400 36px/1.2 var(--serif);letter-spacing:-.035em;max-width:620px}
.tm-archive-heading p{font-size:14px;line-height:1.85;color:var(--tm-muted);max-width:440px}
.tm-archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;min-width:0}
.tm-archive-card{min-width:0;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--paper);display:flex;flex-direction:column}
.tm-archive-image{display:block;width:100%;padding:0;background:var(--soft);border:0;border-radius:0;overflow:hidden;min-height:0!important}
.tm-archive-image img{width:100%;height:220px;object-fit:contain;display:block;transition:filter .2s}
button.tm-archive-image:hover img{filter:brightness(1.04)}
.tm-document-cover{min-height:220px;padding:27px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:22px;background:var(--soft);color:var(--choc);border-bottom:1px solid var(--line)}
.tm-document-cover>span:first-child{font:400 45px/1 var(--serif);color:var(--taupe)}
.tm-document-cover strong{font:400 24px/1.3 var(--serif);letter-spacing:-.02em}
.tm-document-cover>span:last-child{font-size:12px;line-height:1.65;color:var(--tm-muted)}
.tm-archive-body{padding:22px;display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:11px;font-size:13px;line-height:1.8}
.tm-archive-body h3{font:400 23px/1.3 var(--serif);letter-spacing:-.02em}
.tm-archive-body p{font-size:13px;color:var(--tm-muted);margin:0}
.tm-archive-body a{min-height:40px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:4px;font-size:13px;line-height:1.6}
.tm-archive-body>a:last-child{margin-top:auto;padding-top:9px}
.tm-archive-year{font-size:12px;color:var(--tm-muted);font-variant-numeric:tabular-nums}
.tm-archive-kind{display:inline-block;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--tm-muted)}
.tm-coverage{margin-top:30px;padding:22px 25px;border:1px solid var(--line);border-radius:5px;background:var(--paper);font-size:14px;line-height:1.85;color:var(--tm-muted)}
.tm-coverage h2,.tm-coverage h3{font:400 25px/1.3 var(--serif);letter-spacing:-.02em;color:var(--choc);margin-bottom:12px}
.tm-method{margin-top:42px;padding:29px 0;border-block:1px solid var(--line);font-size:14px;color:var(--tm-muted);line-height:1.85}
.tm-method h2,.tm-method h3{font:400 28px/1.25 var(--serif);letter-spacing:-.02em;color:var(--choc);margin-bottom:15px}
.tm-method a,.tm-coverage a,.tm-fallback a,.tm-hint a{text-decoration:underline;text-underline-offset:3px}
.tm-method ul{padding-left:20px;margin:15px 0 0}
.tm-method li+li{margin-top:8px}
.tm-fallback,.tm-empty{padding:24px;font-size:14px;line-height:1.85;color:var(--tm-muted);background:var(--paper)}
.tm-fallback{border:1px solid var(--line);border-radius:5px;margin-top:18px}
.tm-hint{font-size:12px;line-height:1.8;color:var(--tm-muted);margin-top:12px}
.tm-house-key{display:flex;flex-wrap:wrap;gap:8px 14px;padding:4px 19px 13px;font-size:12px;line-height:1.6;color:var(--tm-muted)}
.tm-house-key>span{display:inline-flex;align-items:center;gap:6px}
.tm-house-key i{display:block;width:8px;height:8px;flex:0 0 8px;border-radius:50%}
.tm-place-toggle{margin-bottom:15px}
.tm-place-toggle>a{margin-left:auto;font-size:13px;min-height:40px;display:inline-flex;align-items:center;gap:10px}
.tm-archive-heading>label{display:flex;align-items:center;gap:9px;min-height:44px;line-height:1.6;font-size:14px;cursor:pointer}
.tm-archive-heading>label input{width:17px;height:17px;accent-color:var(--choc);flex-shrink:0}
.tm-archive-section>.tm-hint{margin:-10px 0 22px}
.tm-method details{margin-top:24px}
.tm-method summary{cursor:pointer;min-height:44px;padding:9px 0;color:var(--choc)}
.tm-method details article{padding:24px 0;border-top:1px solid var(--line)}
.tm-method details article h3{font-size:23px;margin-bottom:12px}
.tm-photo-dialog{padding:0;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--choc);width:min(1080px,calc(100% - 40px));max-width:none;max-height:calc(100dvh - 40px);overflow:auto;font:14px/1.8 var(--sans);box-shadow:0 20px 100px #261b1845}
.tm-photo-dialog::backdrop{background:#261b18bf;backdrop-filter:blur(5px)}
.tm-photo-dialog-image{display:block;width:100%;height:auto;max-height:65dvh;object-fit:contain;background:var(--soft)}
.tm-photo-dialog-copy{padding:25px 30px 30px}
.tm-photo-dialog-copy h2,.tm-photo-dialog-copy h3{font:400 29px/1.25 var(--serif);letter-spacing:-.025em;margin:0 45px 15px 0}
.tm-photo-dialog-copy p{margin:0 0 12px}
.tm-photo-dialog-copy a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.tm-dialog-close{position:absolute;top:12px;right:12px;z-index:1;width:44px;height:44px;min-height:44px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:50%;background:var(--paper);color:var(--choc);font-size:25px;line-height:1;box-shadow:0 2px 10px #261b1820}
.tm-photo-credit{font-size:12px;line-height:1.8;color:#786257}
@media(max-width:1100px){
 .tm-heading{align-items:flex-start;flex-direction:column;gap:22px}
 .tm-toolbar{grid-template-columns:minmax(0,1fr);gap:15px}
 .tm-archive-grid{gap:16px}
 .tm-archive-heading{align-items:flex-start;flex-direction:column;gap:16px}
 .tm-archive-heading p{max-width:700px}
 .tm-archive-body{padding:18px}
}
@media(max-width:800px){
 .time-map-page{padding-bottom:50px}
 .time-map-page button,.time-map-page input{font-size:16px}
 .tm-heading{padding:26px 0 27px;gap:20px}
 .tm-heading h1{font-size:36px;line-height:1.15;margin-block:14px 17px}
 .tm-heading-copy>p:not(.eyebrow){font-size:16px;line-height:1.8}
 .tm-place-toggle{width:100%}
 .tm-place-toggle button{flex:1;padding:10px 12px;min-height:44px}
 .tm-place-toggle>a{flex-basis:100%;margin-left:0;font-size:14px}
 .tm-intro-badge{padding:0 0 0 17px;max-width:none}
 .tm-intro-badge strong{font-size:34px}
 .tm-toolbar{padding:20px 18px;gap:17px}
 .tm-year-top{font-size:14px;gap:12px}
 .tm-year-value{font-size:35px}
 .tm-time-buttons{gap:7px;margin-left:0;width:100%}
 .tm-time-buttons button{min-height:44px;padding:9px 12px;flex:1;font-size:16px}
 .tm-ticks{gap:1px}
 .tm-ticks button{font-size:16px;padding:6px 7px;min-height:40px}
 .tm-map-layout{grid-template-columns:minmax(0,1fr)}
 .tm-map{height:470px}
 .tm-map-status{font-size:13px;padding:12px 16px}
 .tm-map-legend{gap:9px 16px;padding:14px 16px 10px;font-size:12px}
 .tm-map-footnote{padding:0 16px 17px;font-size:12px}
 .tm-layer-controls{padding:11px 0 0;font-size:14px;gap:3px 17px}
 .tm-layer-controls label{min-height:44px}
 .tm-sidebar{max-height:none;overflow:visible;border-left:0;border-top:1px solid var(--line);font-size:16px}
 .tm-selected{padding:24px 20px}
 .tm-selected h2,.tm-selected h3{font-size:28px}
 .tm-selected>p{font-size:16px}
 .tm-selected-address{font-size:14px!important}
 .tm-selected-actions a,.tm-selected-actions button{min-height:44px;font-size:16px}
 .tm-source-list{font-size:13px}
 .tm-point-count{padding:17px 20px 12px;font-size:13px}
 .tm-event-list{max-height:320px;overflow-y:auto;overscroll-behavior:contain;padding:0 12px 12px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
 .tm-event-button{font-size:16px;padding:14px 9px;grid-template-columns:48px minmax(0,1fr)}
 .tm-event-date{font-size:13px}
 .tm-archive-section{padding-top:43px}
 .tm-archive-heading{gap:15px;margin-bottom:23px}
 .tm-archive-heading h2{font-size:32px}
 .tm-archive-heading p{font-size:16px}
 .tm-archive-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
 .tm-archive-image img,.tm-document-cover{height:190px;min-height:190px}
 .tm-document-cover{padding:20px;gap:16px}
 .tm-document-cover strong{font-size:22px}
 .tm-archive-body{padding:19px;gap:12px;font-size:14px}
 .tm-archive-body h3{font-size:24px}
 .tm-archive-body p{font-size:14px}
 .tm-archive-body a{font-size:14px;min-height:44px}
 .tm-coverage{padding:23px 20px;font-size:16px;margin-top:25px}
 .tm-method{font-size:16px;margin-top:31px;padding-block:25px}
 .tm-fallback,.tm-empty{font-size:16px;padding:20px}
 .tm-hint{font-size:13px}
 .tm-photo-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px);font-size:16px}
 .tm-photo-dialog-copy{padding:23px 20px 25px}
 .tm-photo-dialog-copy h2,.tm-photo-dialog-copy h3{font-size:27px}
 .tm-photo-dialog-image{max-height:58dvh}
 .tm-photo-credit{font-size:13px}
}
@media(max-width:520px){
 .tm-heading h1{font-size:32px}
 .tm-toolbar{padding:18px 14px}
 .tm-ticks button{padding-inline:5px;font-size:16px}
 .tm-archive-grid{grid-template-columns:minmax(0,1fr);gap:20px}
 .tm-archive-image img,.tm-document-cover{height:230px;min-height:230px}
 .tm-document-cover{padding:25px}
 .tm-archive-heading h2{font-size:29px}
 .tm-map .leaflet-control-attribution{font-size:11px;max-width:calc(100vw - 65px)}
}
@media(prefers-reduced-motion:reduce){.tm-archive-image img{transition:none}}
