@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;1,400&family=EB+Garamond:ital,wght@0,400;0,500;1,400&family=Inter:wght@300;400;500&family=Spectral:ital,wght@0,300;0,500;1,300&display=swap";:root{--map-bg: #F2EBDD;--road-base: #B8A38A;--road-highlight: #1F1208;--text-primary: #2A2218;--text-secondary: rgba(60, 50, 38, .55);--water-fill: #B6CFE0;--water-stroke: #88A4B8;--terrain-tint: #8A7B68;--label-halo: rgba(242, 235, 221, .85);--label-font: "Inter", system-ui, sans-serif}main.container{max-width:100%!important;padding:0!important;margin:0!important}.explorer-prose{--prose-bg: #F2EBDD;--prose-heading: #1F1A14;--prose-body: #443A30;--prose-muted: #7D7060;background:var(--prose-bg);color:var(--prose-body)}.prose-container{max-width:680px;margin:0 auto;padding:4rem 1.5rem}.explorer-title{font-family:Roboto,sans-serif;font-weight:300;font-size:2.8rem;margin-bottom:1.5rem;color:var(--prose-heading)}.explorer-prose p{font-family:Roboto,sans-serif;font-weight:300;font-size:1.15rem;line-height:1.75;color:var(--prose-body);margin-bottom:1.25rem}.reference-note{position:relative;display:inline-block;margin-left:.12em;color:var(--prose-heading);cursor:help;font-size:.65em;line-height:1;vertical-align:super}.reference-note-content{position:absolute;left:50%;bottom:calc(100% + .6rem);z-index:10;width:max-content;max-width:16rem;padding:.55rem .7rem;border:1px solid rgba(31,26,20,.15);border-radius:.45rem;background:#fffbf1;color:var(--prose-body);font-size:.8rem;line-height:1.35;text-align:left;box-shadow:0 6px 18px #1f1a141a;transform:translate(-50%) translateY(.2rem);opacity:0;pointer-events:none;transition:opacity .14s ease,transform .14s ease}.reference-note:hover .reference-note-content,.reference-note:focus .reference-note-content{transform:translate(-50%) translateY(0);opacity:1}.explorer-prose h2{font-family:Roboto,sans-serif;font-weight:300;font-size:2rem;margin-bottom:1.25rem;color:var(--prose-heading)}.scroll-hint{margin-top:2rem;text-align:center;font-size:1rem!important;color:var(--prose-muted)}.explorer-outro{padding-bottom:4rem}.scroll-container{position:relative;background:var(--map-bg)}.map-viewport{position:sticky;top:0;height:100dvh;width:100%;overflow:hidden;background:var(--map-bg)}.map-layer{position:absolute;top:0;left:0;width:100%;height:100%}.scroll-spacer{height:800vh;pointer-events:none}@media(max-width:768px)and (orientation:portrait){.scroll-spacer{height:300vh}}.timeline-sidebar{position:absolute;right:0;top:0;height:100%;width:48px;z-index:20;opacity:0;transition:opacity .5s ease,width .2s ease;cursor:grab;touch-action:none}.timeline-sidebar.visible{opacity:1}.timeline-sidebar:hover{width:56px}.timeline-track{position:absolute;right:0;top:10%;bottom:10%;width:100%}.timeline-track:after{content:"";position:absolute;right:14px;top:0;bottom:0;width:1px;background:var(--text-secondary);opacity:.3}.timeline-year{position:absolute;right:22px;transform:translateY(-50%);font-family:Roboto,sans-serif;font-weight:300;font-size:.78rem;color:var(--text-secondary);white-space:nowrap;pointer-events:none}.timeline-tick{position:absolute;right:9px;width:10px;height:1px;background:var(--text-secondary);opacity:.4;transform:translateY(-50%);pointer-events:none}.timeline-indicator{position:absolute;right:6px;top:0;display:flex;align-items:center;transform:translateY(-50%);transition:top .1s ease-out,opacity .3s ease;pointer-events:none;opacity:0}.timeline-date-label{font-family:Roboto,sans-serif;font-weight:400;font-size:.85rem;letter-spacing:.02em;color:var(--road-highlight);white-space:nowrap;margin-right:4px}.timeline-indicator-line{width:16px;height:2px;background:var(--road-highlight);flex-shrink:0}@media(max-width:576px){.timeline-sidebar{display:none}}.mobile-timeline{display:none}@media(max-width:768px)and (orientation:portrait){.mobile-timeline{display:block;position:absolute;bottom:1.25rem;left:1.5rem;right:1.5rem;height:36px;z-index:20;opacity:0;transition:opacity .4s ease;pointer-events:none}.mobile-timeline.visible{opacity:1}}.mobile-timeline-track{position:relative;top:50%;transform:translateY(-50%);width:100%;height:1px;background:var(--text-secondary);opacity:.4}.mobile-timeline-tick{position:absolute;top:-3px;width:1px;height:7px;background:var(--text-secondary);opacity:.7;transform:translate(-50%)}.mobile-timeline-year{position:absolute;top:8px;transform:translate(-50%);font-family:Roboto,sans-serif;font-weight:300;font-size:.7rem;color:var(--text-secondary);white-space:nowrap}.mobile-timeline-indicator{position:absolute;top:-6px;left:0;width:2px;height:13px;background:var(--road-highlight);transform:translate(-50%);transition:left .1s ease-out}.mobile-timeline-date{position:absolute;bottom:18px;left:50%;transform:translate(-50%);font-family:Roboto,sans-serif;font-weight:500;font-size:.8rem;color:var(--road-highlight);white-space:nowrap;letter-spacing:.02em}html:has(.scroll-container){scrollbar-width:none}html:has(.scroll-container)::-webkit-scrollbar{display:none}.loading-msg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--text-secondary);font-size:1.2rem;z-index:10}.loading-msg.hidden{display:none}#mapCanvas{image-rendering:-webkit-optimize-contrast}.map-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden}.state-edge-fade{position:absolute;top:0;right:0;width:14%;height:100%;background:linear-gradient(to right,transparent,var(--map-bg));pointer-events:none;opacity:0;transition:opacity .3s ease;z-index:5}.state-edge-fade.visible{opacity:1}.city-label,.state-label{position:absolute;top:0;left:0;color:var(--text-primary);font-family:var(--label-font, "Inter", sans-serif);pointer-events:none;letter-spacing:.04em;white-space:nowrap;transform-origin:center center;opacity:0;transition:opacity .3s ease;will-change:transform,opacity;line-height:1.05;text-shadow:-2px 0 var(--label-halo),2px 0 var(--label-halo),0 -2px var(--label-halo),0 2px var(--label-halo),-2px -2px var(--label-halo),2px 2px var(--label-halo),-2px 2px var(--label-halo),2px -2px var(--label-halo)}.city-label{font-weight:500}.city-label.visible,.state-label.visible{opacity:1}.state-label{font-family:var(--label-font, "Roboto", sans-serif);font-weight:300;text-align:center}.state-label-city{color:var(--text-primary);font-size:1rem;font-weight:500;letter-spacing:.04em}.state-label-park{color:var(--text-secondary);font-size:.85rem;letter-spacing:.02em;line-height:1.05}
