:root{--color-orange: #e8630a;--color-orange-light: #f0874a;--color-orange-dark: #b34c06;--color-green: #2d6a2d;--color-green-light: #4a8f4a;--color-green-dark: #1a3f1a;--color-bg: #fff;--color-surface: #242424;--color-text: #ffd600;--color-text-muted: #a09a92;--map-background: #213C51;--map-land: #213C51;--map-water: #425d71;--map-park: #557792;--map-urban: #557792;--map-road-minor: #6594B1;--map-road-secondary: #6594B1;--map-road-primary: #6594B1;--map-road-motorway: #6594B1;--map-building: #557792;--map-building-outline: #557792;--map-label: #ff7e1a;--map-label-halo: #000;--map-label-font: Noto Sans Bold;--header-color: #ff7a71;--header-font-size: 16px;--header-font-weight: bold;--header-height: 58px;--marker-size: 150px;--marker-size-mobile: 100px;--marker-rotation-range: 25;--popup-width: 420px;--popup-width-mobile: 90vw;--popup-max-image-height: 70vh;--popup-bg: transparent;--popup-text: var(--color-orange);--popup-text-weight: bold}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;border-radius:0!important}html,body{height:100%;width:100%;overflow:hidden;background-color:var(--color-bg);color:var(--color-text);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.5}.app{display:flex;flex-direction:column;height:100vh;width:100vw}.site-header{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 16px;font-size:var(--header-font-size);font-weight:var(--header-font-weight);color:var(--header-color);text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000,0px 0px 6px rgba(0,0,0,1),2px 6px 14px rgba(0,0,0,1);pointer-events:none}.site-subtitle{font-size:11px;font-weight:var(--header-font-weight)}.by-josh{position:fixed;bottom:8px;left:12px;z-index:200;color:var(--header-color);font-size:11px;font-weight:var(--header-font-weight);text-decoration:none;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000,0px 0px 6px rgba(0,0,0,1)}.by-josh:hover{text-decoration:underline}.map-attribution{position:fixed;bottom:8px;right:12px;z-index:200;color:var(--color-text-muted);font-size:11px;text-shadow:0 0 4px rgba(0,0,0,1);pointer-events:none}.maplibregl-ctrl-group{background:var(--color-bg)!important;border:2px solid var(--color-orange)!important;box-shadow:none!important}.maplibregl-ctrl-group button{background-color:var(--color-bg)!important;color:var(--color-orange)!important;border-bottom:1px solid var(--color-orange)!important;width:32px!important;height:32px!important}.maplibregl-ctrl-group button:last-child{border-bottom:none!important}.maplibregl-ctrl-group button:hover{background-color:var(--color-orange)!important}.maplibregl-ctrl-group button:hover span{filter:invert(1)}.maplibregl-popup-content{background:var(--popup-bg)!important;border:none!important;padding:0!important;box-shadow:none!important}.maplibregl-popup-tip,.maplibregl-popup-close-button{display:none!important}.map-marker{max-width:var(--marker-size);cursor:pointer}.map-marker img{display:block;width:100%;height:auto}@media(max-width:768px){.map-marker{max-width:var(--marker-size-mobile)}}.maplibregl-popup{top:calc(50% + var(--header-height) / 2)!important;left:50%!important;transform:translate(-50%,-50%)!important;max-width:none!important}.maplibregl-ctrl-top-right{z-index:100!important}.marker-popup{width:var(--popup-width);max-height:calc(100vh - var(--header-height) - 16px);overflow:hidden;text-align:center;position:relative;filter:drop-shadow(0 4px 20px rgba(255,255,255,.14))}.marker-popup img{display:block;width:100%;height:auto;max-height:var(--popup-max-image-height)}.popup-close{position:absolute;top:4px;right:-34px;width:28px;height:28px;background:#0009;color:var(--color-orange);border:1px solid var(--color-orange);cursor:pointer;font-size:16px;line-height:28px;text-align:center;z-index:10}.popup-close:hover{background:var(--color-orange);color:#000}.popup-text{background:#fffefecc;width:100%;overflow-wrap:break-word;word-break:break-word}@media(max-width:768px){.marker-popup{width:var(--popup-width-mobile)}}.marker-popup p{padding:6px 10px;font-size:14px;font-weight:var(--popup-text-weight);color:var(--popup-text);text-align:center}.marker-popup p:first-of-type{padding-top:10px}.marker-popup p:last-of-type{padding-bottom:10px}.marker-popup strong{color:var(--popup-text)}.popup-text p,.popup-text strong{color:#000}
