.places-collection{margin:0 0 34px}.map-collection{width:100%;height:240px;border-radius:24px;padding:0;display:block;position:relative;overflow:hidden;text-align:left;background:#c8e1eb;box-shadow:inset 0 0 0 1px #abc1bf40}.map-collection:hover{background:#c8e1eb}.map-collection-art{position:absolute;inset:0}.map-collection-art svg{width:100%;height:100%;object-fit:cover}.map-collection-caption{position:absolute;inset:auto 0 0;display:flex;align-items:center;justify-content:space-between;padding:35px 24px 20px;background:linear-gradient(transparent,#f5f7f3ed);color:#395368}.map-collection-caption>span:first-child{display:flex;align-items:center;gap:10px;font-size:21px;font-weight:600}.map-collection-caption>span:last-child{display:flex;align-items:center;gap:10px;font-size:12px;color:#7b8d97}.map-collection-caption>span:last-child .icon{transform:rotate(180deg);width:16px;height:16px}
body.mapping .workspace{min-height:0}body.mapping main{padding:0;margin:0;max-width:none}body.mapping .page-heading{display:none}.map-shell{height:var(--map-height,calc(100dvh - 76px));width:100%;position:relative;isolation:isolate;overflow:hidden;background:#d8e6e5}.photo-map{position:absolute;inset:0;touch-action:none}.map-heading{position:absolute;z-index:3;top:24px;left:24px;display:flex;align-items:center;gap:16px;pointer-events:none}.map-heading .map-control{pointer-events:auto}.map-heading h1{font-size:28px;color:#3b5366;letter-spacing:-.6px;text-shadow:0 1px 8px #ffffffb0}.map-heading>div>span{display:block;font-size:11px;color:#7b8e99;margin-top:5px;text-shadow:0 1px 6px #fff}.map-control{width:44px;height:44px;min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;padding:11px;color:#526e86;border:1px solid #ffffffb8;background:#ffffffc4;border-radius:50%;box-shadow:0 4px 20px #50697712;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.map-control:hover{background:#fffffff0}.map-control .icon{width:22px;height:22px}.map-tools{position:absolute;top:24px;right:24px;z-index:4;display:flex;flex-direction:column;align-items:center;gap:12px}.map-zoom{border:1px solid #ffffffc4;border-radius:24px;background:#ffffffb0;box-shadow:0 4px 20px #50697712;overflow:hidden;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.map-zoom .map-control{border:0;box-shadow:none;background:none;-webkit-backdrop-filter:none;backdrop-filter:none}.map-zoom .map-control:first-child{border-bottom:1px solid #a6b8c333;border-radius:0}.map-zoom .map-control:last-child{border-radius:0}.map-layer-menu{position:absolute;right:80px;top:24px;z-index:5;width:190px;padding:6px;background:#ffffffeb;border:1px solid #ffffffbd;border-radius:18px;box-shadow:0 10px 40px #405d7620;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.map-layer-menu button{width:100%;min-height:44px;display:flex;justify-content:space-between;font-size:13px;color:#75899d;border-radius:12px}.map-layer-menu button[aria-pressed=true]{background:#e7eef1;color:#406982}.map-layer-menu button .icon{visibility:hidden;width:18px;height:18px}.map-layer-menu button[aria-pressed=true] .icon{visibility:visible}.map-status{position:absolute;z-index:3;top:105px;left:50%;transform:translateX(-50%);max-width:calc(100% - 160px);padding:10px 17px;background:#ffffffd6;border-radius:18px;font-size:12px;line-height:1.7;text-align:center;color:#7f919e;box-shadow:0 3px 25px #627d8d10}
.map-photo-pin{width:54px;height:63px;min-height:0;min-width:0;padding:3px 3px 12px;border-radius:12px 12px 15px 15px;background:white;color:#fff;box-shadow:0 4px 18px #38546740;position:relative;transition:box-shadow .2s;overflow:visible;border:1px solid #ffffffb0;display:block}.map-photo-pin:hover,.map-photo-pin:focus-visible{background:white;box-shadow:0 5px 25px #355e7b66;z-index:2}.map-photo-pin img{width:46px;height:46px;object-fit:cover;border-radius:8px;display:block;background:#edf0ec}.map-photo-pin:after{content:'';width:8px;height:8px;transform:rotate(45deg);position:absolute;bottom:-4px;left:22px;background:#fff;border-radius:2px}.map-photo-pin>span{position:absolute;bottom:1px;left:0;right:0;text-align:center;z-index:1;font-size:9px;font-weight:600;color:#6a8598;line-height:11px}.map-photo-pin.is-cluster{height:70px;padding-bottom:19px;box-shadow:0 4px 18px #38546740,3px -3px 0 #f7f9f8,4px -4px 0 #b8c9cb}.map-photo-pin.is-cluster>span{bottom:4px}.map-photo-pin .icon{width:14px;height:14px}.offline-map-label{font-family:-apple-system,BlinkMacSystemFont,'PingFang SC',sans-serif;font-size:12px;color:#879c9e;letter-spacing:2px;pointer-events:none;text-shadow:0 0 4px #f4f5eb,0 0 8px #f4f5eb}.map-photo-sheet{position:absolute;bottom:44px;left:24px;right:24px;z-index:3;max-height:45%;background:#ffffffe0;border:1px solid #ffffffd6;border-radius:24px;box-shadow:0 8px 35px #43637816;overflow:hidden;-webkit-backdrop-filter:blur(20px) saturate(1.1);backdrop-filter:blur(20px) saturate(1.1);transition:max-height .25s}.map-sheet-toggle{position:relative;display:flex;align-items:center;justify-content:space-between;width:100%;font-size:13px;padding:15px 20px 9px;min-height:46px;border-radius:0;gap:12px;color:#55758d}.map-sheet-toggle:hover{background:#ffffff60}.sheet-grabber{position:absolute;top:6px;left:calc(50% - 15px);width:30px;height:3px;background:#a8b8c355;border-radius:4px}#map-sheet-count{font-size:11px;color:#8a9caa}.map-photo-strip{display:flex;gap:9px;padding:4px 16px 14px;overflow:auto;overscroll-behavior:contain;min-height:80px}.map-photo-strip>button{display:block;padding:0;min-height:0;flex:0 0 90px;border-radius:10px;text-align:left;overflow:hidden}.map-photo-strip img{display:block;width:90px;height:76px;border-radius:10px;object-fit:cover;background:#e8edf0}.map-photo-strip time{display:block;font-size:9px;color:#8e9daa;padding:6px 3px 0;white-space:nowrap}.map-photo-strip>p{font-size:12px;color:#8c9aa5;padding:12px 4px;margin:0}.map-photo-sheet.expanded{max-height:58%;overflow:auto}.map-photo-sheet.expanded .map-photo-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));max-height:calc(var(--map-height) * .48);overflow:auto}.map-photo-sheet.expanded .map-photo-strip>button{width:100%}.map-photo-sheet.expanded .map-photo-strip img{width:100%;height:auto;aspect-ratio:1}.map-shell .maplibregl-ctrl-bottom-left,.map-shell .maplibregl-ctrl-bottom-right{z-index:2}.map-shell .maplibregl-ctrl-attrib{background:#ffffffb3;font-size:9px;color:#7c969f;border-radius:9px}.map-shell .maplibregl-ctrl-attrib a{color:#6e8c99}.map-shell .maplibregl-ctrl-attrib-button{min-height:0;padding:0;width:24px;height:24px}.map-shell .maplibregl-ctrl-scale{font:10px -apple-system,BlinkMacSystemFont,sans-serif;border-color:#7c9ba6;color:#6c8d98;background:#ffffff73;border-width:0 1px 1px}.map-shell .maplibregl-marker{z-index:1}.map-shell .maplibregl-marker:focus-within{z-index:2}
@media(max-width:700px){.places-collection{margin-bottom:26px}.map-collection{height:190px;border-radius:21px}.map-collection-caption{padding:30px 18px 17px}.map-collection-caption>span:first-child{font-size:19px}.map-collection-caption>span:last-child{font-size:10px}.map-shell{height:var(--map-height,calc(100dvh - var(--header-height) - 85px))}.map-heading{top:18px;left:16px;gap:12px}.map-heading h1{font-size:23px}.map-heading>div>span{font-size:10px}.map-tools{top:18px;right:15px;gap:11px}.map-control{width:40px;height:40px;min-width:40px;min-height:40px;padding:10px}.map-control .icon{width:20px;height:20px}.map-layer-menu{right:65px;top:18px;width:170px}.map-photo-sheet{left:12px;right:12px;bottom:35px;border-radius:21px}.map-sheet-toggle{padding:15px 15px 8px;font-size:12px}.map-photo-strip{gap:7px;padding:4px 12px 12px}.map-photo-strip>button{flex-basis:72px}.map-photo-strip img{width:72px;height:66px}.map-photo-strip time{font-size:9px}.map-photo-pin{width:49px;height:58px}.map-photo-pin img{width:41px;height:41px}.map-photo-pin.is-cluster{height:65px}.map-photo-pin:after{left:20px}.map-status{top:90px;max-width:calc(100% - 105px);font-size:11px;padding:8px 12px}.offline-map-label{font-size:10px;letter-spacing:1px}.map-photo-sheet.expanded .map-photo-strip{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.map-photo-sheet,.map-photo-pin{transition:none}}
.map-heading>div{padding:8px 12px 10px;border:1px solid #ffffff7a;border-radius:18px;background:#ffffff8f;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}
@media(max-width:700px){.map-heading{top:13px}.map-heading>div{padding:7px 11px 9px;border-radius:16px}}
