/* Shared application rhythm, scoped to place selection. Keep draft/confirm semantics. */
body dialog:is(#placeSearch,.place-picker)[open]{border-radius:16px!important}
body :is(#placeSearch,.place-picker) .place-head h2{font-size:calc(20px * var(--app-text-scale,1));font-weight:500;line-height:1.25}
body :is(#placeSearch,.place-picker) .place-head button{width:44px;height:44px;min-height:44px;border-radius:12px;font-size:24px!important}
body :is(#placeSearch,.place-picker) :is(#placeForm,.placeForm){gap:8px}
@layer ui-controls{
body :is(#placeSearch,.place-picker) :is(#placeQuery,.placeQuery,.place-coordinates input){font-size:max(16px,calc(16px * var(--app-text-scale,1)))!important;min-height:44px;border-radius:12px}
}
body :is(#placeSearch,.place-picker) :is(#placeForm,.placeForm) button{border-radius:12px}
body :is(#placeSearch,.place-picker) .place-search-meta{gap:8px;margin:4px 0 12px;min-height:44px}
body :is(#placeSearch,.place-picker) :is(#placeHere,.placeHere){min-height:44px;font-size:calc(14px * var(--app-text-scale,1))!important}
body :is(#placeSearch,.place-picker) :is(#placeSearchStatus,.placeSearchStatus,.place-selection small,.place-coordinates label,.place-suggestions h3,.place-credits p){font-size:calc(12px * var(--app-text-scale,1))!important;line-height:1.5;color:#9fb0c0}
body :is(#placeSearch,.place-picker) .place-selection{margin-top:16px}
body :is(#placeSearch,.place-picker) .place-selection strong{font-size:calc(14px * var(--app-text-scale,1));line-height:1.45}
body :is(#placeSearch,.place-picker) :is(.place-coordinates,.place-credits) summary{min-height:44px;font-size:calc(14px * var(--app-text-scale,1))!important}
body :is(#placeSearch,.place-picker) .place-suggestions h3{font-weight:500;letter-spacing:0;margin:12px 0 8px}
body :is(#placeSearch,.place-picker) :is(#placeResults,.placeResults){gap:8px}
body :is(#placeSearch,.place-picker) :is(#placeResults,.placeResults) button{border-radius:12px;font-size:calc(14px * var(--app-text-scale,1))!important;line-height:1.45!important}
body :is(#placeSearch,.place-picker) :is(#placeResults,.placeResults) button small{font-size:calc(12px * var(--app-text-scale,1))!important;color:#9fb0c0}
body :is(#placeSearch,.place-picker) :is(#confirmPlace,.confirmPlace){border-radius:12px}
body :is(#placeSearch,.place-picker) .leaflet-control-attribution{color:#9fb0c0;background:#101b28cc;font-size:10px}
body :is(#placeSearch,.place-picker) .leaflet-control-attribution a{color:#b5c8d7}
@media(max-width:380px){body :is(#placeSearch,.place-picker) :is(#placeResults,.placeResults){grid-template-columns:1fr}}



.place-world{width:100%;text-align:left;margin:0 0 10px;min-height:44px}.place-worlds{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:220px;overflow:auto;margin-bottom:12px}.place-worlds button{text-align:left;font-size:13px;min-height:44px}.place-surface-note{font-size:12px;line-height:1.5;color:#a8b6c7}.place-picker .leaflet-container{background:#0b121d}.place-picker .leaflet-image-layer{image-rendering:auto}

/* Point and name share one Leaflet marker; no measured permanent tooltip. */
.city-map-marker>span{position:absolute;left:8px;top:-10px;display:block;width:max-content;max-width:140px;padding:3px 0;color:#e1e8ef;font:11px/14px Arial,sans-serif;white-space:nowrap;text-shadow:0 1px 3px #000,0 0 2px #000;cursor:pointer}
.city-map-marker>span::before{content:'';position:absolute;left:-12px;top:6px;width:7px;height:7px;border-radius:50%;border:1px solid #dce6ea;background:#e5d4b7}
.city-map-marker:focus-visible>span{outline:2px solid #eac08b;outline-offset:4px}

/* One editable coordinate pair, directly below the selected place. */
body .place-picker .place-coordinates{margin:6px 0 10px}
body .place-picker .place-coordinates label{gap:3px}
body .place-picker .place-coordinates input{color:#dae5ed;border-color:#b8cddd40;background:#a9c4da0b;font-variant-numeric:tabular-nums}
body .place-picker .place-coordinates input:focus{border-color:#eac08b;outline:1px solid #eac08b}
body .place-picker .place-credits summary{min-height:28px;font-size:10px!important;color:#91a2b3;justify-content:flex-end}
body .place-picker .place-credits p{font-size:11px!important}
.city-map-marker>span small{display:block;font:9px/12px Arial,sans-serif;color:#b7c4d0}
.map-grid-labels{position:absolute;inset:0;z-index:450;pointer-events:none;overflow:hidden}
.map-grid-label{position:absolute;color:#cad8e0;background:#091421b8;border-radius:3px;padding:2px 3px;font:10px/13px Arial,sans-serif;white-space:nowrap;text-shadow:0 1px 2px #000}
.map-grid-label.longitude{transform:translateX(-50%)}
.map-grid-label.latitude{transform:translate(-100%,-50%)}
