/* Loaded before rendering so profile controls never flash while auth is checked. */
html.town-locked #profile,html.town-locked #roster-modal,html.town-locked #people,html.town-locked #people-title,html.town-locked #people-count,html.town-locked #display-count,html.town-locked #view-district-people,html.town-locked #next-batch,html.town-locked .search{display:none!important}html.town-locked #find-people{opacity:.52;cursor:not-allowed}html.town-locked #place-note{display:none!important}.town-profile-lock{border-top:1px solid #d8deca;padding:14px 0 3px;margin-top:15px;font-size:12px;color:#72806b}.town-profile-lock span{display:block}.town-profile-lock a{display:inline-block;margin-top:9px;padding:7px 16px;border-radius:22px;background:#2e6069;color:#fffbea;text-decoration:none}.town-profile-lock[hidden]{display:none!important}
html.town-embedded,html.town-embedded body{margin:0!important;overflow-x:hidden;background:#eeeada}html.town-embedded body>header,html.town-embedded .intro,html.town-embedded .village-preview-notice,html.town-embedded .village-organizations,html.town-embedded .map-disclaimer,html.town-embedded .directory-summary,html.town-embedded #capacity-demo{display:none!important}html.town-embedded .district-toolbar{padding:9px 16px!important;min-height:58px;gap:8px}html.town-embedded .district-lead{display:none}html.town-embedded .district-tab{padding:7px 12px;min-height:36px;font-size:11px}html.town-embedded .district-toolbar #find-people{min-height:36px;padding:7px 13px;font-size:11px}html.town-embedded .mapbox{height:calc(100dvh - 104px)!important;min-height:480px!important;max-height:none!important}html.town-embedded .map-footer{display:none!important}html.town-embedded .map-status{display:none!important}
@media(max-width:740px){html.town-embedded .district-toolbar{min-height:55px;flex-wrap:nowrap}html.town-embedded .mapbox{height:calc(100dvh - 100px)!important;min-height:460px!important}html.town-embedded .mapbar{left:12px;right:12px;top:12px}html.town-embedded .segmented button{padding:8px 10px;font-size:11px}html.town-embedded .map-count{font-size:9px!important}.town-profile-lock{font-size:11px}}
html.town-embedded .community-status{display:none!important}
/* Embedded viewport layout only; no changes to map geometry, scale or permissions. */
html.town-embedded body{height:100vh;height:100dvh;min-height:0!important;display:flex!important;flex-direction:column;overflow:hidden!important}
html.town-embedded .district-toolbar{flex:0 0 auto!important;min-height:48px!important;height:auto!important;padding:4px 12px!important}
html.town-embedded .workspace{flex:1 1 0!important;min-height:0!important;display:flex!important;flex-direction:column;width:100%;margin:0!important;padding:0!important}
html.town-embedded .mapbox{flex:1 1 0!important;height:auto!important;min-height:0!important;max-height:none!important}
html.town-embedded #place-directory{flex:0 0 auto!important;height:auto!important;min-height:38px;max-height:42px;padding:4px 12px!important;gap:6px;overflow-y:hidden!important}
html.town-embedded #place-directory button{min-height:30px!important;padding:5px 10px!important;font-size:10px!important;line-height:1.5!important;white-space:nowrap}
@media(max-width:740px){html.town-embedded .district-toolbar{min-height:46px!important;padding:4px 10px!important}html.town-embedded #place-directory{padding-inline:10px!important}}


/* Optional explanatory copy is absent in both languages, including before scripts load. */
html #map-count,html .community-status,html #place-note,html #display-count,html #profile-bio,html .profile-note,html .roster-disclaimer,html .map-disclaimer,html .village-preview-notice,html .intro p,html .district-lead small,html .map-title small,html .privacy,html #avatar-modal .editor-note,html #avatar-modal .modal-footer small,html #settings-modal .editor-note{display:none!important}
.village-testing{font-size:11px;white-space:nowrap;border:1px solid #d8ddcb;border-radius:20px;padding:4px 10px;color:#748063}
