/* The existing Wawedo identity, with clearer controls and a brief first-use guide. */
.context{display:flex;flex-wrap:wrap;align-items:center;gap:4px 16px}
.context #location{flex:0 1 auto;width:auto;text-align:left;min-height:44px}
.context #family-edit{width:auto;color:var(--muted);font-size:.875rem;min-height:44px;text-decoration:underline;text-underline-offset:4px}
.quick-filters #without-playgrounds{gap:9px;padding:0 14px;color:var(--ink);background:#fff;border-color:transparent}
#without-playgrounds #playground-state{color:var(--muted)}
.quick-filters #without-playgrounds .icon{opacity:1;width:17px;height:17px;color:var(--muted)}
.quick-filters #without-playgrounds.selected{background:#fbe7ef;border-color:#ebc4d5}
#without-playgrounds.selected #playground-state{color:#96214f}
.help-actions{display:flex;justify-content:center;gap:12px 24px;flex-wrap:wrap}.help-actions button{min-height:44px}
.route-options summary{display:flex;justify-content:center;gap:18px;align-items:center;min-height:48px;background:var(--soft);border-radius:26px;cursor:pointer;color:var(--brand);list-style:none}
.route-options summary::-webkit-details-marker{display:none}
.route-options>div{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.route-options a{font-size:.875rem}
.region-body{padding:38px 26px 24px}.region-body h2{font-size:1.75rem;letter-spacing:-.055em;margin:14px 0 22px;line-height:1.12;padding-right:0}
.region-body>.eyebrow{margin:0}.region-picker>label{display:block;font-size:.875rem;margin:16px 0 8px}
.region-picker input[type=search]{display:block;width:100%;min-width:0;font:inherit;font-size:1rem;color:var(--ink);border:1px solid var(--line);border-radius:15px;padding:15px 16px;background:#fff;min-height:52px;-webkit-appearance:none;appearance:none}
.region-selection{font-size:.8125rem;line-height:1.4;margin:12px 2px;color:var(--muted)}
.region-results{max-height:212px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;border-radius:15px;background:#fff;border:1px solid var(--line)}
.region-results:empty{display:none}.region-results button{display:flex;justify-content:space-between;gap:12px;align-items:center;text-align:left;width:100%;padding:14px 16px;min-height:66px;color:var(--ink);border-bottom:1px solid #ededf0;font-size:.9375rem}
.region-results button:last-child{border:0}.region-results small{display:block;color:var(--muted);font-size:.75rem;margin-top:3px}
.region-results button[aria-pressed=true]{background:#fcf0f5}.region-results button:disabled{opacity:.6;cursor:default}.region-state{font-size:.75rem;color:var(--brand);flex-shrink:0}
.region-status{font-size:.875rem;line-height:1.5;color:var(--muted);margin:12px 0}.region-status:empty{display:none}
.region-radius{padding:0;margin:24px 0;border:0}.region-radius legend{font-size:.875rem;font-weight:550;margin-bottom:12px}
#region-radii{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}#region-radii label{position:relative;min-width:0;cursor:pointer}
#region-radii input{position:absolute;opacity:0}#region-radii span{display:block;text-align:center;font-size:.8125rem;padding:12px 4px;border:1px solid var(--line);border-radius:12px}
#region-radii input:checked+span{background:var(--accent);border-color:var(--accent);color:#fff}#region-radii input:focus-visible+span{outline:3px solid var(--accent);outline-offset:3px}
#region-apply{width:100%}#region-geolocate{display:block;margin:8px auto;min-height:44px}
.region-footnote{font-size:.8125rem;color:var(--muted);line-height:1.5;text-align:center;margin:12px 0 0}
#setup.cinematic .region-picker input{color:var(--form-ink);background:#fff;border:0}
#setup.cinematic .region-picker>label{color:#fff;margin-top:14px}
#setup.cinematic .region-results{max-height:200px;border:0}
#setup.cinematic .region-results button{color:#60334a;font-size:.875rem}
#setup.cinematic .region-results button:focus-visible{outline:3px solid var(--intro-pink);outline-offset:-4px}
#setup.cinematic .region-picker input:focus-visible{outline:3px solid #60334a;outline-offset:-5px}
#setup.cinematic .region-selection,#setup.cinematic .region-status{color:#fff5f9}
#setup.cinematic .scene-6{gap:16px}#setup.cinematic .scene-6 .setup-description{margin-bottom:14px}
#app-tour{position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;border:0;border-radius:0;padding:0;background:transparent;box-shadow:none;overflow:hidden;color:#1d1d1f}
#app-tour::backdrop{background:transparent}
.tour-shade{position:absolute;background:#f5f5f7d9;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none}
#tour-spot{position:absolute;border-radius:14px;box-shadow:0 0 0 2px #c92f7040;pointer-events:none}
.tour-card{position:absolute;width:min(352px,calc(100% - 32px));padding:24px;border-radius:24px;background:#fff;box-shadow:0 8px 40px #42203312;max-height:70dvh;overflow:auto}
.tour-card h2{font-size:1.65rem;line-height:1.12;letter-spacing:-.04em;margin:12px 0;outline:none}
#tour-copy{font-size:.9375rem;line-height:1.55;color:#5e5e65;margin:0;text-wrap:pretty}
#tour-progress{font-size:.75rem;font-weight:550;color:#a5255b;margin:0;letter-spacing:.02em}
.tour-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px}
#tour-skip{color:#676770;font-size:.8125rem;min-height:44px}#tour-next{width:68px;min-height:48px;color:#c92f70;padding:8px}
#tour-next svg{width:52px;height:28px;stroke-width:1.6}
#tour-arrow{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#a5255b;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
@media(prefers-reduced-transparency:reduce){.tour-shade{background:#f5f5f7f2;-webkit-backdrop-filter:none;backdrop-filter:none}}
@media(max-width:360px){.region-body{padding:40px 20px 24px}.region-body h2{font-size:1.8rem}.region-results button{padding:12px}.region-state{font-size:.6875rem}.tour-card{padding:20px}.tour-card h2{font-size:1.45rem}}
/* Shared mobile sheets: only their content scrolls, never the dismissal or primary action. */
dialog:not(#setup):not(#app-tour){overflow:hidden;max-height:calc(100dvh - 48px);padding:0}
dialog[open]:not(#setup):not(#app-tour){display:flex;flex-direction:column}
dialog:not(#setup):not(#app-tour)>.close{position:absolute;inset:12px 12px auto auto;z-index:3;flex-shrink:0;background:#eeeef0;color:#29292d;width:44px;min-height:44px}
#detail-content,#filters>.filter-body,#region-dialog>.region-body,#evidence>.detail-body,#weather-info>.detail-body{overflow-y:auto;overscroll-behavior:contain;min-height:0;padding-top:68px;scrollbar-width:thin}
#detail-content{padding-top:0}#detail-content>.visual{margin-top:0}#detail-content:not(:has(.visual)){padding-top:48px}
.sheet-actions{flex-shrink:0;padding:14px 24px max(18px,env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--line)}.sheet-actions .primary{width:100%;margin:0!important;white-space:normal;min-height:50px}
#filters .filter-body{padding-bottom:20px}#filters .filter-weather{display:none}#filters .filter-group{margin-top:22px}
#filters .chips{gap:7px}#filters .chips button{min-height:42px;font-size:.875rem;padding:10px 14px}
.region-body{padding:68px 24px 20px}.region-body h2{font-size:1.65rem;margin:12px 0 26px}.region-body .region-selection{margin:9px 2px 0}
.place-choice{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;border:1px solid var(--line);border-radius:16px;background:#fff;min-height:62px;width:100%;text-align:left;color:var(--ink);font:inherit}
.place-choice>span:last-child{font-size:1.6rem;line-height:1;color:var(--brand)}
#setup.cinematic .place-choice{color:var(--form-ink);font-weight:550;border:0}.location-or{text-align:center;margin:14px 0;font-size:.875rem;opacity:.8}.location-privacy{font-size:.8125rem;line-height:1.55;margin-top:22px;color:var(--intro-support)}.location-privacy summary{min-height:44px;cursor:pointer;padding:10px 0}.location-privacy p{margin:6px 0 0}
#setup.cinematic .scene-6{justify-content:flex-start;padding-top:max(64px,12svh);gap:26px}.scene-6 .field-status:empty{display:none}.scene-6 .setup-description{max-width:320px}.scene-6 .cinema-form{width:100%}
#place-search{width:min(540px,calc(100% - 32px));height:min(660px,calc(100dvh - 48px));background:var(--paper)}
.search-head{padding:38px 24px 0;flex-shrink:0}.search-head h2{margin:12px 0 22px;padding-right:40px;font-size:1.8rem}.search-head .eyebrow{margin:0;padding-right:42px}
#place-query{width:100%;font:inherit;font-size:16px;border:1px solid var(--line);border-radius:14px;padding:15px;color:var(--ink);background:white;min-height:52px;-webkit-appearance:none;appearance:none}
.search-hint{font-size:.8125rem;color:var(--muted);margin:14px 0}.place-results{overflow-y:auto;overscroll-behavior:contain;min-height:0;flex:1;padding:0 24px 24px}
.place-results button{display:flex;align-items:center;justify-content:space-between;gap:18px;text-align:left;width:100%;padding:18px 0;border-bottom:1px solid var(--line);min-height:76px;font-size:1rem;color:var(--ink)}
.place-results small{display:block;font-size:.8125rem;color:var(--muted);line-height:1.4;margin-top:5px}.place-results button>span:last-child{color:var(--brand);font-size:.8125rem;flex-shrink:0}.place-results button:disabled{opacity:.6}.search-status{margin:0 24px 24px;color:var(--muted);line-height:1.5}.search-status:empty{display:none}
#weather-info .detail-body{padding-bottom:28px}#weather-info-reading{font-size:1.125rem;color:var(--ink)}#weather-info-rule{line-height:1.6}.weather-source{width:44px;height:44px;right:-10px;bottom:-10px;background:transparent;padding:0;color:var(--muted)}
#places-hint{color:var(--muted);font-size:.875rem}.region-radius{margin:24px 0 18px}
@media(max-width:600px){dialog:not(#setup):not(#app-tour){width:100%;max-width:100%;max-height:calc(100dvh - max(14px,env(safe-area-inset-top)));margin:auto 0 0;border-radius:26px 26px 0 0}#place-search{height:calc(100dvh - max(14px,env(safe-area-inset-top)))}#place-search .search-head{padding-top:32px}.region-body h2{font-size:1.75rem}.region-body{padding-top:60px}}
@media(max-height:650px){#setup.cinematic .scene-6{padding-top:46px}.scene-6 .config-progress{margin-bottom:18px}#setup.cinematic .scene-6 h2{font-size:2rem}.scene-6 .setup-description{margin:12px 0 20px}.location-privacy{margin-top:10px}}
/* A quiet, anchored guide. The interface keeps its real position. */
.tour-shade{background:#f5f5f780;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
#tour-spot{box-shadow:0 0 0 2px #c92f7070;border-radius:14px}
.tour-card{background:#fffffff5;border:1px solid #ffffff;border-radius:22px;padding:22px 24px;box-shadow:0 12px 48px #30243418;display:flex;flex-direction:column;overflow:hidden}
.tour-card h2{font-size:1.4rem;margin:10px 0;line-height:1.2}#tour-copy{font-size:.9375rem;line-height:1.5;overflow-y:auto;min-height:0}.tour-actions{margin-top:12px;flex-shrink:0}#tour-progress{font-size:.75rem}#tour-next{min-height:44px}#tour-arrow{stroke-width:1.4}#tour-skip{font-size:.8125rem}
@media(max-height:650px){.tour-card{padding:14px 20px}.tour-card h2{font-size:1.2rem;margin:6px 0}#tour-copy{font-size:.875rem}.tour-actions{margin-top:4px}}
@media(prefers-reduced-transparency:reduce){.tour-shade{background:#f5f5f7b3;-webkit-backdrop-filter:none;backdrop-filter:none}}

#setup.cinematic .location-or{color:var(--intro-support)}
.catalogue-status{color:var(--muted);padding:22px 0;line-height:1.5}#saved-unavailable{padding:20px;background:#fff;border-radius:18px;line-height:1.5;margin-bottom:20px}

/* One dismissal surface; the focus ring is reserved for keyboard navigation. */
#place-title:focus{outline:none}
.section-title:has(#list-title.sr-only){margin:16px 0;color:var(--muted);font-size:.875rem}

/* Keep ordering explicit without adding another toolbar row. */
.sort-choice{min-width:0}.sort-choice select{max-width:100%;min-height:44px;border:0;border-radius:12px;background:transparent;color:var(--ink);font:inherit;font-size:1rem;padding:8px 24px 8px 0;cursor:pointer}
