.real-map-wrap{position:relative;height:310px;max-width:600px;margin:28px auto 0;border-radius:18px;overflow:hidden;background:#f4c1cf;border:1px solid #e4a5b8;isolation:isolate}
#memory-map{width:100%;height:100%;z-index:0;background:#f4c1cf}
#memory-map .leaflet-tile-pane{filter:grayscale(1);mix-blend-mode:multiply;opacity:.65}
#memory-map .leaflet-control-attribution{font-size:8px;background:#fce1e9c9;color:#875264}
#memory-map .leaflet-control-attribution a{color:#875264}
#memory-map .leaflet-bar{border:1px solid #d498ac;box-shadow:0 3px 9px #87465c12}
#memory-map .leaflet-bar a{background:#f9d6e0;color:#9c3657;width:28px;height:28px;line-height:28px}
#memory-map .leaflet-popup-content-wrapper,#memory-map .leaflet-popup-tip{background:#fce1e9;color:#673745}
#memory-map .leaflet-popup-content{font:17px/1.4 'Cormorant Garamond',Georgia,serif;margin:13px 18px}
#map-loading{position:absolute;inset:0;display:grid;place-items:center;padding:30px;font:18px/1.6 'Cormorant Garamond',Georgia,serif;pointer-events:none;color:#875264}
#map-loading.loaded{display:none}
#map-fit{position:absolute;z-index:5;bottom:28px;left:50%;transform:translateX(-50%);border:0;border-radius:25px;background:#9a5b70d9;color:#fff;padding:9px 15px;font-size:9px;white-space:nowrap;box-shadow:0 3px 9px #87465c15}
.memory-marker{background:transparent;border:0}
.memory-marker span{display:grid;place-items:center;width:27px;height:27px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:#b6083b;border:1px solid #ffe1e9;box-shadow:0 3px 8px #91345030;color:white}
.memory-marker b{transform:rotate(45deg);font:11px 'DM Sans',sans-serif}
.place-list{max-width:600px;margin:15px auto;text-align:left;display:grid;gap:9px}
.place-entry{display:flex;align-items:start;gap:12px;text-align:left;width:100%;background:transparent;border:1px solid transparent;border-radius:14px;padding:16px 12px;color:var(--ink)}
.place-entry[aria-pressed=true]{background:#fbdde452;border-color:#e8afc0}
.place-entry:hover{background:#fbdde480}
.place-badge{flex:0 0 23px;height:23px;border-radius:50%;background:#b6083b;color:white;display:grid;place-items:center;font-size:10px;margin-top:2px}
.place-entry strong{font:500 20px 'Cormorant Garamond',Georgia,serif}
.place-entry time{display:block;font-size:8px;letter-spacing:1px;text-transform:uppercase;color:#a05a72;margin:5px 0}
.place-entry p{font:17px/1.5 'Cormorant Garamond',Georgia,serif;margin:6px 0;color:#875264}
.place-entry small{font-size:10px;color:#a05a72}
#voz{padding-top:25px;padding-bottom:25px}
.voice-card{max-width:560px;margin:auto;text-align:left;padding:24px;border:1px solid #e4a5b8;border-radius:20px;background:#fbdde44d;box-shadow:0 8px 20px #87465c08}
.voice-heading{display:flex;align-items:center;gap:13px}
.voice-heart{width:37px;height:37px;border-radius:50%;background:#b6083b;color:white;display:grid;place-items:center;font-size:14px}
.voice-heading .eyebrow{font-size:8px;letter-spacing:2px}
.voice-heading h3{font:italic 21px 'Cormorant Garamond',Georgia,serif;margin:5px 0 0}
.voice-wave{width:100%;height:65px;margin:20px 0 8px;display:block;color:#c98098}
.voice-wave rect{fill:currentColor;rx:2}
.voice-controls{display:flex;align-items:center;gap:12px}
#voice-play{width:35px;height:35px;flex-shrink:0;border:0;border-radius:50%;background:#b6083b;color:white;font-size:13px}
#voice-play:disabled{background:#c792a4;cursor:default}
#voice-seek{accent-color:#b6083b;width:100%;min-width:0;height:4px}
#voice-time{font-size:10px;color:#9f5c74;white-space:nowrap;font-variant-numeric:tabular-nums}
#voice-status{font:italic 16px/1.6 'Cormorant Garamond',Georgia,serif;color:#9b5d73;margin:15px 0 0}
.voice-setup{border-top:1px solid #e5b0c1;margin-top:18px;padding-top:15px}
.voice-setup summary{font-size:11px;color:#9c3657;cursor:pointer}
.voice-setup p{font:17px/1.5 'Cormorant Garamond',Georgia,serif;color:#875264}
.voice-setup button,.voice-upload,#voice-download{display:inline-block;border:1px solid #d48da3;border-radius:25px;padding:10px 16px;font:11px 'DM Sans',sans-serif;background:#f9d4dd;color:#9c3657;cursor:pointer;margin:3px 5px 6px 0;text-decoration:none}
.voice-upload{position:relative;overflow:hidden}
.voice-upload:focus-within{outline:2px solid #b6083b;outline-offset:3px}
#voice-file{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
#voice-storage{display:block;font-size:10px;color:#a05a72;line-height:1.8;margin-top:9px}
#voice-record.recording{color:#b6083b;background:#fff0f5}
@media(max-width:600px){.real-map-wrap{height:270px}.voice-card{padding:22px 18px}.place-entry{padding:14px 6px}.place-entry strong{font-size:19px}}
