
.storySwitch:not(.meusSegmentedTabs){display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;padding:4px;margin:14px 0 17px;border:1px solid var(--line);border-radius:16px;background:#eee3da}
.storySwitch:not(.meusSegmentedTabs) button{border:0;border-radius:12px;background:transparent;color:var(--muted);padding:9px;font-size:12px;font-weight:800}
.storySwitch:not(.meusSegmentedTabs) button.on{background:var(--card);color:var(--rose);box-shadow:0 4px 12px #5a433015}
#placesPanel{display:none}.placesIntro{margin-bottom:12px}.placesIntro h2{font-size:24px;margin:0 0 3px}
.placesToolbar{margin-bottom:10px}.placesToolbar .add{width:100%}.placesViewSwitch{display:flex;width:100%;padding:3px;margin:10px 0 4px;border:1px solid var(--line);border-radius:999px;background:#eee3da}.placesViewSwitch button{flex:1;border:0;border-radius:999px;background:transparent;padding:8px 11px;color:var(--muted);font-size:10px;font-weight:800}.placesViewSwitch button.on{background:var(--card);color:var(--rose)}
.placesStats{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin:10px 0}.placeStat{min-height:72px;padding:10px 9px;border:1px solid var(--line);border-radius:15px;background:var(--card)}.placeStat b,.placeStat small{display:block}.placeStat.metric{text-align:center}.placeStat.metric b{font:24px Georgia,serif}.placeStat small{font-size:9px;color:var(--muted)}.placeStat.favorite{display:flex;align-items:center;gap:8px;background:linear-gradient(145deg,#fffdf9,#f7e8df)}.placeStat.favorite>span{font-size:25px;line-height:1}.placeStat.favorite>.placeStatIllustration{width:46px;height:46px;flex:none;font-size:0}.placeStat.favorite b{font:14px Georgia,serif;line-height:1.15;margin-bottom:3px}.placeStat.favorite div{min-width:0}.placeStat.favorite b,.placeStat.favorite small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.placeFilters{display:flex;gap:6px;overflow:auto;padding:2px 0 11px;scrollbar-width:none}.placeFilter{flex:none;border:1px solid var(--line);border-radius:999px;background:#fffaf5;padding:6px 10px;color:var(--muted);font-size:10px;font-weight:750}.placeFilter.on{background:var(--soft);border-color:#d9afa7;color:#85534b}
.familyMap{position:relative;overflow:hidden;aspect-ratio:1.58;border:1px solid #dfd4c9;border-radius:22px;background:linear-gradient(160deg,#dce8e4,#cadbd6);box-shadow:var(--shadow);cursor:grab;touch-action:none;user-select:none}.familyMap.isInteracting{cursor:grabbing}.familyMapCanvas{position:absolute;inset:0;transform-origin:center;will-change:transform}.familyMapCanvas>svg{display:block;width:100%;height:100%}.familyMap .land{fill:#f6eadf;stroke:#d9cabe;stroke-width:2}.familyMap .mapGlow{fill:#ffffff22}.mapPin{position:absolute;width:29px;height:29px;border:3px solid #fffdf9;border-radius:50% 50% 50% 8px;background:var(--rose);color:white;box-shadow:0 6px 15px #50312845;display:grid;place-items:center;font-size:11px;font-weight:900;transform:translate(-50%,-100%) rotate(-45deg)}.mapPin span{transform:rotate(45deg)}.mapPin.on{background:var(--ink);z-index:3;transform:translate(-50%,-100%) rotate(-45deg) scale(1.13)}.mapWatermark{position:absolute;left:12px;bottom:10px;color:#668077;font:12px Georgia,serif;opacity:.75;pointer-events:none}.mapZoomControls{position:absolute;right:10px;bottom:10px;z-index:5;display:grid;gap:6px}.mapZoomControls button{width:34px;height:34px;border:1px solid rgba(111,94,82,.2);border-radius:50%;background:rgba(255,253,249,.92);box-shadow:0 4px 12px rgba(63,46,36,.14);color:var(--ink);font-size:20px;font-weight:750;line-height:1}.mapZoomControls button:last-child{font-size:14px}.familyMap[data-map-scale="1"] .mapZoomControls button:last-child{opacity:.45}.mapPlaceCard{scroll-margin-block:22px}.mapPlaceCard:focus{outline:2px solid rgba(188,113,101,.35);outline-offset:3px}
.mapPlaceCard{display:none;margin-top:9px;padding:13px}.mapPlaceCard.on{display:block}.mapPlaceTop{display:flex;align-items:flex-start;gap:9px}.placeFlag{font-size:24px;line-height:1}.mapPlaceTop>div{flex:1}.mapPlaceTop b,.mapPlaceTop small{display:block}.mapPlaceTop small{color:var(--muted);font-size:10px}.mapPlaceCard .link{padding:5px 0;margin-top:5px}
.placesList{display:grid;gap:9px}.placeVisitCard{position:relative;padding:14px}.placeVisitHead{display:flex;align-items:flex-start;gap:9px;padding-right:40px}.placeVisitHead>div:nth-child(2){flex:1}.placeVisitHead b,.placeVisitHead small{display:block}.placeVisitHead small{color:var(--muted);font-size:10px}.placeVisitCard p{margin:9px 0 0;color:#62574f;font-size:12px}.placePeople{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.placePersonTag{padding:4px 7px;border-radius:999px;background:#f2dfd8;color:#805047;font-size:9px;font-weight:800}
.placesEmpty{text-align:center;padding:29px 18px;border:1px dashed #d9cabe;border-radius:21px;background:#fffaf588;color:var(--muted)}.placesEmpty span{display:block;font-size:29px;margin-bottom:6px}.placesEmpty b{display:block;color:var(--ink);font:19px Georgia,serif;margin-bottom:3px}
.citySearchRow{display:flex;gap:7px}.citySearchRow .input{flex:1}.citySearchRow button{border:0;border-radius:12px;background:var(--soft);color:var(--rose);padding:0 13px;font-size:11px;font-weight:850}.cityResults{display:none;overflow:hidden;margin-top:6px;border:1px solid var(--line);border-radius:13px;background:var(--card)}.cityResults.on{display:block}.cityResult{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:9px 10px;text-align:left;color:var(--ink)}.cityResult:last-child{border:0}.cityResult b,.cityResult small{display:block}.cityResult small{font-size:9px;color:var(--muted)}.chosenPlace{display:none;margin-top:7px;padding:8px 10px;border-radius:12px;background:#e7eee8;color:#58705d;font-size:10px;font-weight:800}.chosenPlace.on{display:block}
.placePeoplePick{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.placePerson{border:1px solid var(--line);border-radius:14px;background:#fffaf5;padding:7px 3px;color:var(--ink);text-align:center}.placePerson.selected{border-color:var(--rose);background:var(--soft)}.placePerson span{display:block;width:39px;height:39px;margin:auto;border-radius:50%}.placePerson b{display:block;margin-top:4px;font-size:9px}.placeDateHint{font-size:10px;color:var(--muted);margin-top:4px}
@media(max-width:360px){.mapPin{width:26px;height:26px}.placePeoplePick{grid-template-columns:repeat(3,1fr)}.placeStat.favorite b{font-size:12px}}
