body.auth-pending .app-shell{visibility:hidden}
body.auth-required .app-shell{display:none}
body.auth-pending .mobile-tabs,body.auth-required .mobile-tabs{display:none}
body.modal-open{overflow:hidden}

.app-shell{min-height:100vh}
.sidebar{position:fixed;inset:0 auto 0 0;width:264px;padding:18px 14px;display:flex;flex-direction:column;background:var(--sidebar);border-right:1px solid var(--border);z-index:30;transition:width .22s ease}
.sidebar-head{height:48px;display:flex;align-items:center;justify-content:space-between;margin:0 2px 24px}
.brand{display:flex;align-items:center;gap:10px;padding:0;background:none;color:var(--text);white-space:nowrap;overflow:hidden}
.brand-mark,.auth-logo{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--accent);color:var(--accent-text);font:700 18px Georgia,serif;flex:none}
.brand-name{font-size:19px;font-weight:750;letter-spacing:-.04em}
.brand sup{align-self:flex-start;margin-top:4px;font-size:8px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}
.sidebar-toggle{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--border);border-radius:50%;background:var(--panel);color:var(--muted)}
.sidebar-toggle:hover{color:var(--text);border-color:var(--border-strong)}
.sidebar-toggle svg{width:17px;height:17px;transition:transform .22s ease}
.sidebar-nav{display:grid;gap:4px}
.nav-item{position:relative;width:100%;height:47px;padding:0 12px;display:flex;align-items:center;gap:13px;border-radius:13px;background:transparent;color:var(--muted);text-align:left;white-space:nowrap;overflow:hidden}
.nav-item:hover{background:var(--panel);color:var(--text)}
.nav-item.active{background:var(--panel-2);color:var(--text);font-weight:650}
.nav-icon{width:23px;height:23px;display:grid;place-items:center;flex:none}
.nav-icon svg{width:22px;height:22px;stroke-width:2}
.nav-label{font-size:14px;letter-spacing:-.01em}
.nav-badge{min-width:19px;height:19px;margin-left:auto;padding:0 5px;display:grid;place-items:center;border-radius:10px;background:var(--accent);color:var(--accent-text);font-size:10px}
.create-button{height:48px;margin-top:20px;border-radius:14px;background:var(--accent);color:var(--accent-text);font-size:14px;font-weight:750;display:flex;align-items:center;justify-content:center;gap:10px}
.create-plus{font-size:20px;line-height:1;display:inline-flex;align-items:center;justify-content:center}.create-plus svg{width:19px;height:19px}
.button-leading-icon,.search-prefix,.wide-action-icon,.state-icon,.jump-latest-icon,.message-more-icon{display:inline-flex;align-items:center;justify-content:center;flex:none}
.button-leading-icon svg,.search-prefix svg,.wide-action-icon svg,.state-icon svg,.jump-latest-icon svg,.message-more-icon svg{width:18px;height:18px}
.sidebar-user{margin-top:auto;padding-top:14px;border-top:1px solid var(--border);display:flex;align-items:center;gap:8px}
.sidebar-profile{min-width:0;flex:1;padding:5px 3px;background:none;display:flex;align-items:center;gap:10px;text-align:left;overflow:hidden}
.avatar{width:38px;height:38px;display:grid;place-items:center;flex:none;overflow:hidden;border:1px solid var(--border-strong);border-radius:50%;background:var(--panel-2);color:var(--text);font-size:13px;font-weight:750;line-height:1;background-position:center;background-size:cover;background-repeat:no-repeat}
.avatar.has-image{position:relative}.avatar.has-image>img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;color:transparent}
.avatar.avatar-fallback{border-color:hsl(var(--avatar-hue,214) 42% 38% / .42);background:hsl(var(--avatar-hue,214) 28% 17%);color:hsl(var(--avatar-hue,214) 72% 82%)}
.light-theme .avatar.avatar-fallback{border-color:hsl(var(--avatar-hue,214) 35% 55% / .42);background:hsl(var(--avatar-hue,214) 45% 92%);color:hsl(var(--avatar-hue,214) 45% 28%)}
.sidebar-user-copy{display:grid;min-width:0;gap:2px}
.sidebar-user-copy b,.sidebar-user-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sidebar-user-copy b{font-size:12px}.sidebar-user-copy small{font-size:10px;color:var(--muted)}
#logoutButton{width:34px;height:34px;display:grid;place-items:center;flex:none;border-radius:10px;background:none;color:var(--muted)}
#logoutButton:hover{background:var(--panel);color:var(--text)}#logoutButton svg{width:18px;height:18px}

.sidebar.collapsed{width:76px;padding-inline:10px}
.sidebar.collapsed .sidebar-head{justify-content:center;margin-inline:0}
.sidebar.collapsed .brand-name,.sidebar.collapsed .brand sup,.sidebar.collapsed .nav-label,.sidebar.collapsed .create-label,.sidebar.collapsed .sidebar-user-copy,.sidebar.collapsed #logoutButton{display:none}
.sidebar.collapsed .brand-mark{width:38px;height:38px}
.sidebar.collapsed .sidebar-toggle{position:absolute;left:58px;top:23px;width:29px;height:29px;background:var(--panel-2)}
.sidebar.collapsed .sidebar-toggle svg{transform:rotate(180deg)}
.sidebar.collapsed .nav-item{width:48px;padding:0;justify-content:center;margin-inline:auto}
.sidebar.collapsed .nav-badge{position:absolute;right:2px;top:3px;min-width:16px;height:16px;font-size:8px}
.sidebar.collapsed .create-button{width:48px;margin-inline:auto}.sidebar.collapsed .sidebar-user{justify-content:center}.sidebar.collapsed .sidebar-profile{flex:0 0 42px;padding:2px}

.main-content{width:min(100% - 32px,820px);margin:0 auto;padding:0 0 92px}
.topbar{position:sticky;top:0;height:76px;display:flex;align-items:center;gap:20px;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(14px);z-index:20;border-bottom:1px solid transparent}
.topbar h1{margin:0;font-size:20px;letter-spacing:-.035em;flex:1}
.topbar-actions{display:flex;align-items:center;gap:8px}
.global-search{width:330px;height:42px;padding:0 13px;display:flex;align-items:center;gap:9px;border:1px solid var(--border);border-radius:13px;background:var(--panel)}
.global-search:focus-within{border-color:var(--border-strong)}
.global-search svg{width:18px;height:18px;color:var(--muted)}
.global-search input{width:100%;border:0;outline:0;background:none;font-size:12px}.global-search input::placeholder{color:var(--muted-2)}
.theme-toggle,.icon-button{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--border);border-radius:13px;background:var(--panel);color:var(--muted)}
.theme-toggle:hover,.icon-button:hover{color:var(--text);border-color:var(--border-strong)}
.theme-toggle svg,.icon-button svg{width:19px;height:19px}.theme-toggle .moon{display:none}.light-theme .theme-toggle .sun{display:none}.light-theme .theme-toggle .moon{display:block}
.icon-button{position:relative}.icon-button i{position:absolute;right:8px;top:8px;width:6px;height:6px;border-radius:50%;background:#ff5e5e;border:1px solid var(--panel)}
.search-results{position:absolute;right:100px;top:64px;width:min(520px,calc(100vw - 32px));max-height:520px;overflow:auto;padding:8px;border:1px solid var(--border);border-radius:16px;background:var(--panel);box-shadow:0 18px 50px rgba(0,0,0,.34)}
.search-group>p{margin:9px 10px 5px;color:var(--muted);font-size:9px;font-weight:750;letter-spacing:.12em;text-transform:uppercase}
.search-item{width:100%;min-height:58px;padding:8px 10px;display:flex;align-items:center;gap:10px;border-radius:11px;background:none;text-align:left}
.search-item:hover{background:var(--panel-hover)}.search-item>div{min-width:0;display:grid;gap:3px}.search-item b{font-size:12px}.search-item small{color:var(--muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-item .search-symbol{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:var(--panel-2);border:1px solid var(--border)}.search-item .search-symbol svg{width:18px;height:18px}

.view-panel{display:none;animation:view-in .2s ease}.view-panel.active{display:block}@keyframes view-in{from{opacity:.4;transform:translateY(4px)}to{opacity:1;transform:none}}
.compose-prompt{width:100%;min-height:68px;margin:14px 0 24px;padding:13px 15px;display:flex;align-items:center;gap:12px;border:1px solid var(--border);border-radius:17px;background:var(--panel);color:var(--muted);text-align:left}
.compose-prompt:hover{border-color:var(--border-strong);background:var(--panel-2)}.compose-prompt>span:nth-child(2){flex:1;font-size:12px}.compose-prompt b{padding:9px 13px;border:1px solid var(--border-strong);border-radius:10px;color:var(--text);font-size:10px}
.section-head,.list-heading,.split-heading{display:flex;align-items:end;justify-content:space-between;gap:16px}
.section-head{margin-bottom:14px}.section-head h2,.page-heading h2{margin:0 0 4px;font-size:22px;letter-spacing:-.045em}.section-head p,.page-heading span{margin:0;color:var(--muted);font-size:11px}
.filters,.circle-tabs{display:flex;gap:3px;padding:3px;border:1px solid var(--border);border-radius:11px;background:var(--panel)}
.filters button,.circle-tabs button{padding:7px 10px;border-radius:8px;background:none;color:var(--muted);font-size:10px}.filters button.active,.circle-tabs button.active{background:var(--panel-hover);color:var(--text)}
.feed-status{min-height:20px;color:var(--muted);font-size:10px;text-align:center}
.feed{display:grid;gap:12px}
.post-card{position:relative;padding:18px 19px;border:1px solid var(--border);border-radius:19px;background:var(--panel);overflow:hidden}
.post-card:hover{border-color:var(--border-strong)}
.post-top{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.person{display:flex;align-items:center;gap:10px;min-width:0;max-width:100%;background:none;color:inherit;text-align:left}.post-top>.person{flex:1}.person.clickable{cursor:pointer}.person>span:last-child,.person>div:last-child{display:grid;flex:1;gap:2px;min-width:0;max-width:100%}.person strong,.person small{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.person strong{font-size:12px}.person small{color:var(--muted);font-size:9px}
.more{width:33px;height:33px;border-radius:9px;background:none;color:var(--muted);font-weight:700;letter-spacing:.08em}.more:hover{background:var(--panel-hover);color:var(--text)}
.category{display:inline-flex;margin-top:15px;padding:5px 8px;border:1px solid var(--border-strong);border-radius:999px;color:var(--muted);font-size:8px;font-weight:750;letter-spacing:.06em;text-transform:uppercase}
.post-card h3{margin:11px 0 7px;font-size:17px;line-height:1.22;letter-spacing:-.035em;overflow-wrap:anywhere}.post-card>p,.post-body p{margin:0;color:color-mix(in srgb,var(--text) 82%,var(--muted));font-size:12px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.post-media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;margin:14px -19px 0;overflow:hidden;border-block:1px solid var(--border);background:var(--panel-2)}.post-media-grid.one{grid-template-columns:1fr}.post-media-grid img{display:block;width:100%;height:250px;min-width:0;object-fit:cover;background:var(--panel-2)}.post-media-grid:not(.one) img{height:190px}.post-media-grid img:first-child:last-child{grid-column:1/-1}
.post-audio{width:100%;height:38px;margin-top:14px}
.post-media-teaser{width:100%;min-height:58px;margin-top:14px;padding:10px 12px;display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid var(--border);border-radius:13px;background:var(--panel-2);color:var(--text);text-align:left}.post-media-teaser:hover{border-color:var(--border-strong);background:var(--panel-hover)}.post-media-teaser>span{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:var(--panel-hover);font-size:16px}.post-media-teaser>b{font-size:10px}.post-media-teaser>small{color:var(--muted);font-size:8px}
.post-meta{margin-top:14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:9px}.post-meta>*{padding:6px 8px;border:1px solid var(--border);border-radius:8px;background:none;color:inherit;display:inline-flex;align-items:center;gap:6px}.post-location:hover{border-color:var(--border-strong);color:var(--text)}
.post-footer{margin-top:15px;padding-top:13px;border-top:1px solid var(--border);display:flex;align-items:center;gap:4px}.post-footer button{height:34px;padding:0 9px;border-radius:9px;background:none;color:var(--muted);font-size:10px}.post-footer button:hover{background:var(--panel-hover);color:var(--text)}.post-footer .icon-text-button,.post-footer .icon-only-button{display:inline-flex;align-items:center;justify-content:center;gap:7px}.post-footer .inline-icon,.post-footer .meta-icon{display:inline-flex;align-items:center;justify-content:center}.post-footer .inline-icon svg,.post-footer .meta-icon svg{width:16px;height:16px}.post-footer .like.liked{color:#ff7272}.post-footer .save-button.saved{color:var(--text)}.post-footer .join{margin-left:auto;padding-inline:13px;border:1px solid var(--border-strong);color:var(--text)}.post-footer .join.joined-state{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.post-footer .join:disabled{opacity:1;background:var(--panel-2);color:var(--muted);border-color:var(--border)}.post-footer .post-counts{margin-right:auto;color:var(--muted);font-size:9px}.post-footer .post-counts b{color:var(--text)}
.load-more{display:block;margin:18px auto 0;padding:10px 18px;border:1px solid var(--border);border-radius:11px;background:var(--panel);color:var(--muted);font-size:10px}
.empty-state{padding:44px 24px;border:1px dashed var(--border-strong);border-radius:18px;text-align:center}.empty-state .empty-state-visual{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 12px;border-radius:15px;background:var(--panel-2);border:1px solid var(--border)}.empty-state .empty-state-visual svg{width:24px;height:24px}.empty-state h3{margin:0 0 6px;font-size:15px}.empty-state p{margin:0;color:var(--muted);font-size:11px;line-height:1.5}.empty-state button{margin-top:14px;padding:9px 13px;border-radius:10px;background:var(--accent);color:var(--accent-text);font-size:10px;font-weight:700}
.skeleton{overflow:hidden;position:relative}.skeleton::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.035),transparent);transform:translateX(-100%);animation:shimmer 1.3s infinite}@keyframes shimmer{to{transform:translateX(100%)}}

.secondary-page{padding-top:22px}.page-heading{margin:12px 0 25px}.page-heading>p,.page-heading>div>p{margin:0 0 7px;color:var(--muted-2);font-size:8px;font-weight:800;letter-spacing:.16em}.primary-button{padding:10px 14px;border-radius:11px;background:var(--accent);color:var(--accent-text);font-size:10px;font-weight:750}
.near-toolbar{margin-bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:10px}.near-toolbar-actions{display:flex;align-items:center;gap:8px}.radius-picker{display:flex;gap:5px;flex-wrap:wrap}.radius-picker button,.locate-button,.map-trigger-button,.show-all-events-button,.nearby-view-toggle button,.nearby-close-button{padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--panel);color:var(--muted);font-size:9px}.radius-picker button.active,.nearby-view-toggle button.active{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.locate-button,.map-trigger-button,.show-all-events-button,.nearby-close-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}.locate-button:hover,.map-trigger-button:hover,.show-all-events-button:hover{border-color:var(--border-strong);background:var(--panel-2);color:var(--text)}.locate-button svg,.map-trigger-button svg,.show-all-events-button svg,.nearby-close-button svg{width:16px;height:16px;flex:none}.nearby-workspace{display:grid;gap:12px;padding:14px;border:1px solid var(--border);border-radius:20px;background:var(--panel)}.nearby-workspace-head,.nearby-summary{display:flex;align-items:center;justify-content:space-between;gap:12px}.nearby-summary{align-items:end}.nearby-summary b{font-size:22px;letter-spacing:-.04em}.nearby-view-toggle{display:flex;gap:4px;padding:4px;border:1px solid var(--border);border-radius:12px;background:var(--panel-2)}.nearby-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.nearby-filters label{display:grid;gap:6px;color:var(--muted);font-size:9px}.nearby-filters select{width:100%;height:41px;padding:0 11px;border:1px solid var(--border);border-radius:10px;background:var(--input);color:var(--text);font-size:11px}.nearby-layout{display:grid;grid-template-columns:1fr;gap:12px;align-items:start}.nearby-layout[data-nearby-view="list"]{grid-template-columns:1fr}.nearby-layout[data-nearby-view="list"] .near-map-shell{display:none}.nearby-layout[data-nearby-view="map"]{grid-template-columns:1fr}.nearby-layout[data-nearby-view="map"] .near-list-wrap{display:none}.near-list-wrap{min-height:410px;max-height:410px;overflow:auto}.nearby-geo-error{padding:12px;border:1px solid color-mix(in srgb,var(--warning) 40%,var(--border));border-radius:13px;background:color-mix(in srgb,var(--warning) 8%,var(--panel));color:var(--text);font-size:10px;line-height:1.5}.nearby-workspace.fullscreen{position:fixed;inset:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));z-index:95;grid-template-rows:auto auto auto minmax(0,1fr);padding:16px;border-color:var(--border-strong);box-shadow:0 26px 90px rgba(0,0,0,.45)}body.nearby-fullscreen-open{overflow:hidden}.nearby-workspace.fullscreen .nearby-layout,.nearby-workspace.fullscreen .near-list-wrap,.nearby-workspace.fullscreen .near-map-shell{height:100%;max-height:none}.near-map-shell{position:relative;height:410px;border:1px solid var(--border);border-radius:19px;overflow:hidden;background:var(--panel)}#nearbyMap{width:100%;height:100%;background:var(--panel-2)}.map-loading{position:absolute;inset:0;display:grid;place-items:center;background:var(--panel);color:var(--muted);font-size:11px;z-index:2}.map-result{margin:0;color:var(--muted);font-size:10px}.leaflet-container{font-family:inherit;background:#171717}.light-theme .leaflet-container{background:#e9e9e5}.map-fallback-tiles .leaflet-tile-pane{filter:grayscale(.7) brightness(.55) contrast(1.15)}.light-theme .map-fallback-tiles .leaflet-tile-pane{filter:grayscale(.32) saturate(.72) contrast(.94)}.leaflet-control-zoom{overflow:hidden;border:1px solid var(--border)!important;border-radius:11px!important}.leaflet-control-zoom a{background:color-mix(in srgb,var(--panel) 94%,transparent)!important;color:var(--text)!important;border-color:var(--border)!important}.leaflet-control-attribution{margin:0 5px 5px 0!important;padding:3px 6px!important;border:1px solid var(--border);border-radius:7px;background:color-mix(in srgb,var(--panel) 88%,transparent)!important;color:var(--muted)!important;font-size:8px!important;backdrop-filter:blur(8px)}.leaflet-control-attribution a{color:var(--text)!important}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:var(--panel);color:var(--text)}.leaflet-popup-content-wrapper{border:1px solid var(--border);border-radius:13px;box-shadow:0 12px 34px rgba(0,0,0,.26)}.nearby-popup-card{display:grid;gap:4px;min-width:180px}.nearby-popup-card b{font-size:11px}.nearby-popup-card small,.nearby-popup-card p{margin:0;color:var(--muted);font-size:9px;line-height:1.4}.nearby-popup-card button{margin-top:6px;min-height:34px;padding:7px 10px;border:1px solid var(--border-strong);border-radius:9px;background:none;color:var(--text);font-size:9px}.event-map-marker{width:28px!important;height:28px!important;margin:-14px 0 0 -14px!important;display:grid!important;place-items:center;border:3px solid var(--panel);border-radius:50%;background:var(--accent);color:var(--accent-text);font-size:11px;font-weight:800}.event-map-marker>span{line-height:1}.cluster-marker{width:34px!important;height:34px!important;margin:-17px 0 0 -17px!important}.near-list{display:grid;gap:8px}.near-event{width:100%;padding:13px;border:1px solid var(--border);border-radius:14px;background:var(--panel);display:flex;align-items:center;gap:12px;text-align:left}.near-event:hover{border-color:var(--border-strong)}.near-event>time{width:46px;color:var(--text);font-size:11px;font-weight:700}.near-event>div{min-width:0;flex:1;display:grid;gap:3px}.near-event b{font-size:11px;overflow-wrap:anywhere}.near-event small{color:var(--muted);font-size:9px;line-height:1.45}.near-event>span{color:var(--muted);font-size:9px}

.circle-tabs{width:max-content;margin-bottom:12px}.circle-list-large{display:grid;gap:8px}.circle-card{min-height:76px;padding:14px;border:1px solid var(--border);border-radius:16px;background:var(--panel);display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;transition:border-color .16s,background .16s}.circle-card:hover{border-color:var(--border-strong);background:var(--panel-2)}.circle-symbol{width:44px;height:44px;display:grid;place-items:center;flex:none;border:1px solid var(--border);border-radius:13px;background:var(--panel-2);font-size:20px}.circle-card>button.circle-open{min-width:0;background:none;text-align:left;display:grid;gap:5px}.circle-card-title{display:flex;align-items:center;gap:7px;min-width:0}.circle-card b{min-width:0;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.circle-card small{color:var(--muted);font-size:9px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.circle-privacy{padding:3px 5px;flex:none;border:1px solid var(--border);border-radius:6px;color:var(--muted);font-size:7px;font-style:normal;font-weight:650}.circle-privacy.private{color:var(--warning)}.circle-join{padding:8px 11px;border:1px solid var(--border-strong);border-radius:9px;background:none;color:var(--text);font-size:9px}.circle-join:hover{background:var(--panel-hover)}.circle-join.joined-state{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.circle-join.owner-state{color:var(--muted)}.circle-loading{padding:14px;display:grid;grid-template-columns:44px 1fr 82px;align-items:center;gap:12px;border:1px solid var(--border);border-radius:16px}.circle-loading>span{height:39px;border-radius:10px;background:var(--panel-2)}.circle-loading>span:first-child{width:44px;height:44px}.circle-loading>span:nth-child(2){height:24px}.circle-loading>p{grid-column:1/-1;margin:0;color:var(--muted);font-size:8px;text-align:center}

.conversation-list{display:grid;gap:5px}.conversation-item{width:100%;padding:11px 12px;display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:11px;border:1px solid transparent;border-radius:14px;background:none;text-align:left}.conversation-item:hover{background:var(--panel);border-color:var(--border)}.conversation-item.unread{background:var(--panel)}.conversation-item img{width:44px;height:44px;object-fit:cover;border-radius:50%}.conversation-item>div{min-width:0;display:grid;gap:4px}.conversation-item b{font-size:11px}.conversation-item small{color:var(--muted);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conversation-item>time{color:var(--muted-2);font-size:8px}.unread-dot{width:7px;height:7px;border-radius:50%;background:var(--accent)}

.own-profile-card,.public-profile-card{border:1px solid var(--border);border-radius:20px;background:var(--panel);overflow:hidden}.own-profile-cover,.public-cover{height:150px;background:linear-gradient(135deg,var(--panel-2),var(--border));background-position:center;background-size:cover}.profile-hero{position:relative;min-height:105px;padding:17px 18px 16px;display:flex;align-items:center;gap:13px}.profile-avatar{width:76px;height:76px;margin-top:-50px;border:4px solid var(--panel);font-size:21px}.profile-hero>div{min-width:0;display:grid;gap:4px}.profile-hero h2{margin:0;font-size:19px;letter-spacing:-.04em}.profile-hero p{margin:0;color:var(--muted);font-size:10px}.own-status{color:var(--muted);font-size:10px}.profile-hero>button{margin-left:auto;padding:8px 11px;border:1px solid var(--border-strong);border-radius:9px;background:none;font-size:9px}
.profile-stats{margin:10px 0;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--border);border-radius:16px;background:var(--panel)}.profile-stats>span{padding:14px;display:grid;gap:3px;text-align:center}.profile-stats>span+span{border-left:1px solid var(--border)}.profile-stats b{font-size:17px}.profile-stats small{color:var(--muted);font-size:8px}
.profile-actions-grid{display:grid;gap:6px}.wide-action{width:100%;padding:13px 14px;display:flex;align-items:center;justify-content:space-between;border:1px solid var(--border);border-radius:13px;background:var(--panel);font-size:10px;text-align:left}.wide-action:hover{border-color:var(--border-strong)}.wide-action i{color:var(--muted);font-style:normal;font-size:16px}.wide-action i svg{width:18px;height:18px}.own-posts-section{margin-top:23px}.list-heading{margin-bottom:10px}.list-heading h3{margin:0;font-size:13px}.list-heading>button{padding:7px 9px;border-radius:8px;background:none;color:var(--muted);font-size:9px}.public-posts,.saved-list{display:grid;gap:7px}.saved-item{width:100%;padding:12px;display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;border:1px solid var(--border);border-radius:13px;background:var(--panel);text-align:left}.saved-item:hover{border-color:var(--border-strong)}.saved-item>span{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:var(--panel-2)}.saved-item>div{min-width:0;display:grid;gap:3px}.saved-item b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.saved-item small{color:var(--muted);font-size:8px}.saved-item i{color:var(--muted);font-style:normal}
.mobile-profile-logout{display:none;color:var(--danger)}
@media(max-width:720px){.mobile-profile-logout{display:flex}}
.profile-back{padding:7px 0;margin-bottom:10px;background:none;color:var(--muted);font-size:10px}.public-profile-main{padding:0 18px 14px;display:flex;align-items:end;gap:13px}.public-profile-main .avatar{width:78px;height:78px;margin-top:-39px;border:4px solid var(--panel);font-size:20px}.public-profile-main h2{margin:0 0 4px;font-size:19px}.public-profile-main p{margin:0;color:var(--muted);font-size:9px}.profile-actions{padding:0 18px 14px;display:flex;gap:7px}.profile-actions button{flex:1;padding:9px;border:1px solid var(--border-strong);border-radius:9px;background:none;font-size:9px}.profile-actions button.primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.public-status{margin:0;padding:0 18px 15px;color:var(--muted);font-size:11px;line-height:1.5}.public-stats{margin:0 18px;padding:12px 0;display:flex;gap:22px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);color:var(--muted);font-size:9px}.public-stats b{color:var(--text)}.profile-friends{padding:16px 18px}.profile-friends h3{margin:0 0 10px;font-size:12px}.profile-friends>div{display:flex;gap:10px;overflow:auto}.profile-friend{width:58px;flex:none;background:none;text-align:center}.profile-friend .avatar{margin:auto}.profile-friend small{display:block;margin-top:5px;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.empty-friends{color:var(--muted);font-size:9px}.public-profile-page .public-posts{margin-top:10px}

.user-settings{display:grid;gap:10px}.user-settings section{padding:17px;border:1px solid var(--border);border-radius:16px;background:var(--panel)}.user-settings h3{margin:0 0 14px;font-size:12px}.user-settings label{display:grid;gap:6px;color:var(--muted);font-size:9px}.user-settings label+label{margin-top:12px}.user-settings select,.profile-dialog input,.profile-dialog textarea,.profile-dialog select,.picker-shell input,.picker-shell textarea,.composer-form input,.composer-form textarea,.composer-form select{width:100%;height:41px;padding:0 11px;border:1px solid var(--border);border-radius:10px;outline:0;background:var(--input);color:var(--text);font-size:11px}.profile-dialog textarea,.picker-shell textarea,.composer-form textarea{height:auto;padding-block:10px}.user-settings select:focus,.profile-dialog input:focus,.composer-form input:focus,.composer-form textarea:focus,.composer-form select:focus{border-color:var(--border-strong)}.setting-switch{min-height:40px;grid-template-columns:1fr auto!important;align-items:center}.setting-switch span{display:grid;gap:3px}.setting-switch b{color:var(--text);font-size:10px}.setting-switch small{font-size:8px}.setting-switch input{appearance:none;width:36px;height:21px;border:1px solid var(--border-strong);border-radius:20px;background:var(--input);transition:.2s}.setting-switch input::after{content:"";display:block;width:15px;height:15px;margin:2px;border-radius:50%;background:var(--muted);transition:.2s}.setting-switch input:checked{background:var(--accent)}.setting-switch input:checked::after{background:var(--accent-text);transform:translateX(15px)}.verification-section{display:grid;gap:14px}.verification-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.verification-head p{margin:6px 0 0;color:var(--muted);font-size:9px;line-height:1.5}.verification-status-chip,.verification-badge{padding:6px 9px;border:1px solid var(--border-strong);border-radius:999px;color:var(--muted);font-size:8px;font-weight:700;white-space:nowrap}.verification-badge.verified,.verification-status-chip{color:var(--text)}.verification-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.verification-item{padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--panel-2);display:flex;align-items:center;justify-content:space-between;gap:10px}.verification-item b{display:block;color:var(--text);font-size:10px}.verification-item small{display:block;margin-top:4px;color:var(--muted);font-size:8px;line-height:1.45}.verification-badge.muted{color:var(--muted-2)}.verification-actions,.verification-code-row{display:flex;align-items:end;gap:10px}.verification-actions small,.verification-feedback{margin:0;color:var(--muted);font-size:9px;line-height:1.45}.verification-feedback{min-height:14px}.verification-code-row label{flex:1}.verification-code-row button{min-width:170px}.settings-save{justify-self:end;margin-top:4px}
.account-tools{margin-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.account-tool-card{padding:17px;display:grid;align-content:start;gap:11px;border:1px solid var(--border);border-radius:16px;background:var(--panel)}.account-tool-card h3{margin:0 0 5px;font-size:12px}.account-tool-card p{margin:0;color:var(--muted);font-size:9px;line-height:1.5}.account-tool-card .form-error{color:var(--danger)}.account-tool-card label{display:grid;gap:6px;color:var(--muted);font-size:9px}.account-tool-card input{width:100%;height:41px;padding:0 11px;border:1px solid var(--border);border-radius:10px;outline:0;background:var(--input);color:var(--text);font-size:11px}.account-tool-card>.primary-button{justify-self:start}.account-data-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.account-data-actions button{min-height:40px;padding:9px 12px;border:1px solid var(--border);border-radius:10px;background:var(--panel-2);font-size:9px}.account-data-actions .danger-ghost{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 38%,var(--border))}.account-delete-form>p{margin:10px 0 16px;color:var(--muted);font-size:10px;line-height:1.55}.account-delete-form .danger-confirm{width:100%;min-height:44px;margin-top:5px;border-radius:11px;background:var(--danger);color:#fff;font-size:10px;font-weight:750}
@media(max-width:720px){.account-tools{grid-template-columns:1fr;gap:8px}.account-tool-card{padding:15px;border-radius:14px}.account-tool-card h3{font-size:15px}.account-tool-card p,.account-tool-card label{font-size:12px}.account-tool-card input{min-height:48px;font-size:16px}.account-tool-card>.primary-button,.account-data-actions button{width:100%;min-height:46px;font-size:12px}.account-data-actions{display:grid;grid-template-columns:1fr}.account-delete-form>p{font-size:13px}.account-delete-form .danger-confirm{min-height:48px;font-size:13px}}

.admin-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.admin-stats article{padding:15px;border:1px solid var(--border);border-radius:14px;background:var(--panel);display:grid;gap:4px}.admin-stats b{font-size:20px}.admin-stats span{color:var(--muted);font-size:8px}.admin-section{margin-top:18px;padding:15px;border:1px solid var(--border);border-radius:16px;background:var(--panel)}.admin-section-hint{display:block;margin-top:4px;color:var(--muted);font-size:8px;font-weight:400}.admin-search{width:190px;height:33px;padding:0 9px;display:flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:9px}.admin-search input{width:100%;border:0;outline:0;background:none;font-size:9px}.admin-users,.admin-reports,.bot-checks{display:grid;gap:6px}.admin-user{padding:10px;display:grid;grid-template-columns:1fr 125px 125px;align-items:center;gap:8px;border:1px solid var(--border);border-radius:10px}.admin-user>div{min-width:0;display:grid;gap:3px}.admin-user b{font-size:9px;overflow:hidden;text-overflow:ellipsis}.admin-user small{color:var(--muted);font-size:8px}.admin-user select{height:32px;padding:0 7px;border:1px solid var(--border);border-radius:8px;background:var(--input);font-size:8px}.bot-check-row{padding:11px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid var(--border);border-radius:11px}.bot-check-copy{min-width:0;display:grid;gap:4px}.bot-check-copy>div{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.bot-check-copy b{font-size:10px}.bot-check-copy small{color:var(--muted);font-size:8px;line-height:1.45}.bot-score,.bot-status{padding:3px 6px;border:1px solid var(--border);border-radius:7px;color:var(--muted);font-size:7px;font-weight:750}.bot-score.high,.bot-status.bot{border-color:color-mix(in srgb,var(--danger) 50%,var(--border));color:var(--danger)}.bot-score.medium,.bot-status.review{color:var(--warning)}.bot-status.verified{color:#42b883}.bot-check-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.bot-check-actions button{min-height:32px;padding:7px 9px;border:1px solid var(--border);border-radius:8px;background:var(--panel-2);font-size:8px}.bot-check-actions button.danger{color:var(--danger)}.bot-attempts-panel{margin-top:10px;border-top:1px solid var(--border);padding-top:10px}.bot-attempts-panel summary{color:var(--muted);font-size:8px;cursor:pointer}.bot-attempts{margin-top:8px;display:grid;gap:4px}.bot-attempt-row{padding:7px 9px;border-radius:8px;background:var(--panel-2);display:grid;grid-template-columns:1fr auto;gap:8px;font-size:8px}.bot-attempt-row span,.bot-attempt-row time{color:var(--muted)}.report-row{padding:10px;border:1px solid var(--border);border-radius:10px;display:grid;grid-template-columns:1fr auto;gap:8px}.report-row>div{display:grid;gap:3px}.report-row b{font-size:9px}.report-row small{color:var(--muted);font-size:8px}.report-row button{padding:7px 9px;border-radius:8px;background:var(--panel-hover);font-size:8px}.audit-list{display:grid;gap:5px}.audit-list article{padding:8px 2px;display:grid;grid-template-columns:110px 1fr auto;gap:10px;border-bottom:1px solid var(--border);font-size:8px}.audit-list span,.audit-list time{color:var(--muted)}

/* Dialogs */
.auth-dialog[open],.composer-dialog[open],.profile-dialog[open],.post-dialog[open],.chat-dialog[open],.map-dialog[open],.crop-dialog[open],.picker-dialog[open],.notifications-dialog[open],.circle-dialog[open],.actions-dialog[open],.confirm-dialog[open]{display:grid;place-items:center;max-width:none;max-height:none;width:100vw;height:100dvh;margin:0;background:transparent}
.auth-card,.composer-form,.profile-dialog form,.picker-shell,.notifications-shell,.map-dialog-shell,.crop-shell,.circle-dialog-shell,.confirm-dialog form{width:min(92vw,500px);max-height:92dvh;overflow:auto;padding:22px;border:1px solid var(--border-strong);border-radius:21px;background:var(--panel);box-shadow:0 24px 80px rgba(0,0,0,.48)}
.auth-card{width:min(92vw,430px)}.auth-logo{margin-bottom:18px}.auth-copy p,.eyebrow,.profile-dialog header p,.picker-shell header p,.notifications-shell header p,.map-dialog-shell header p,.crop-shell header p{margin:0 0 6px;color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.15em}.auth-copy h2,.composer-form h2,.profile-dialog h2,.picker-shell h2,.notifications-shell h2,.map-dialog-shell h2,.crop-shell h2{margin:0 0 6px;font-size:21px;letter-spacing:-.045em}.auth-copy>span,.composer-form>p{color:var(--muted);font-size:10px;line-height:1.5}.auth-tabs{margin:21px 0 14px;padding:3px;display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--border);border-radius:11px}.auth-tabs button{height:34px;border-radius:8px;background:none;color:var(--muted);font-size:10px}.auth-tabs button.active{background:var(--panel-hover);color:var(--text)}.auth-form{display:none}.auth-form.active{display:grid;gap:11px}.auth-form label,.composer-form label,.profile-dialog label,.picker-shell label,.crop-shell label{display:grid;gap:6px;color:var(--muted);font-size:9px}.auth-form input{height:42px;padding:0 11px;border:1px solid var(--border);border-radius:10px;outline:0;background:var(--input);font-size:11px}.auth-form>button,.save-profile{height:43px;border-radius:11px;background:var(--accent);color:var(--accent-text);font-size:10px;font-weight:750}.auth-form .bot-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.auth-security-note{margin:0;display:flex;align-items:center;gap:6px;color:var(--muted);font-size:8px}.auth-security-note span{width:16px;height:16px;display:grid;place-items:center;border:1px solid var(--border);border-radius:50%;color:#42b883;font-size:8px}.form-error{min-height:14px;margin:0;color:var(--danger);font-size:9px}.demo-hint{padding-top:4px;display:flex;align-items:center;gap:5px;flex-wrap:wrap;color:var(--muted);font-size:8px}.demo-hint button{padding:5px 7px;border:1px solid var(--border);border-radius:7px;background:none;font-size:8px}
.auth-form>.auth-link-button{width:max-content;height:auto;min-height:32px;margin:-5px 0 -3px auto;padding:4px 0;border-radius:0;background:none;color:var(--muted);font-size:9px;font-weight:650}.auth-form>.auth-link-button:hover{color:var(--text)}.auth-card.recovery-mode .auth-tabs{display:none}.auth-card.recovery-mode .auth-copy{margin-bottom:20px}.auth-recovery-head{display:flex;align-items:center;gap:11px}.auth-back-button{width:36px;height:36px;flex:none;border:1px solid var(--border);border-radius:11px;background:var(--panel-2);color:var(--text);font-size:16px}.auth-recovery-head>div{min-width:0;display:grid;gap:4px}.auth-recovery-head b{font-size:13px}.auth-recovery-head span,.auth-recovery-note{color:var(--muted);font-size:9px;line-height:1.45}.auth-recovery-fields{display:grid;gap:11px}.auth-recovery-fields[hidden]{display:none}.auth-recovery-note{margin:0;padding:9px 10px;border:1px solid var(--border);border-radius:10px;background:var(--panel-2)}
.dialog-close,.profile-dialog header>button,.picker-shell header>button,.notifications-shell header>button,.map-dialog-shell header>button,.crop-shell header>button{position:absolute;right:18px;top:18px;width:32px;height:32px;border-radius:50%;background:var(--panel-hover);color:var(--muted);font-size:17px}.composer-form,.profile-dialog form,.picker-shell,.notifications-shell,.map-dialog-shell,.crop-shell{position:relative}.composer-form{width:min(94vw,580px)}.composer-form>p:not(.eyebrow){margin:0 0 16px}.composer-lead{max-width:420px;color:var(--muted)!important;font-size:10px;line-height:1.55}.composer-form>label{margin-top:12px}.form-grid,.media-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}.custom-type-field{margin-top:9px!important}.secondary-inline-button{width:100%;height:41px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:10px;background:var(--panel-2);color:var(--text);font-size:10px}.composer-actions{position:relative;margin-top:15px;padding:10px;border:1px solid var(--border);border-radius:12px;display:flex;align-items:center;gap:10px}.composer-actions>button{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:var(--panel-hover)}.composer-actions>button svg{width:17px;height:17px}.composer-actions>span{color:var(--muted);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attachment-menu{position:absolute;left:8px;bottom:51px;width:220px;padding:7px;border:1px solid var(--border-strong);border-radius:12px;background:var(--panel-2);z-index:2}.attachment-menu>*{width:100%;min-height:36px;padding:8px;display:flex!important;align-items:center;gap:8px;border-radius:8px;background:none;color:var(--text)!important;font-size:9px!important;cursor:pointer}.attachment-menu>*:hover{background:var(--panel-hover)}.menu-inline-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex:none}.menu-inline-icon svg{width:16px;height:16px}.attachment-preview{margin-top:12px;display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.attachment-thumb{position:relative}.attachment-thumb img{width:100%;height:90px;object-fit:cover;border-radius:9px}.attachment-thumb button{position:absolute;right:4px;top:4px;width:22px;height:22px;border-radius:50%;background:rgba(0,0,0,.72);color:#fff}.attachment-preview audio{grid-column:1/-1;width:100%;height:36px}.publish{width:100%;height:45px;margin-top:15px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;border-radius:11px;background:var(--accent);color:var(--accent-text);font-size:10px;font-weight:750}
.username-field{height:41px;display:flex;align-items:center;border:1px solid var(--border);border-radius:10px;background:var(--input);overflow:hidden}.username-field>span{padding-left:10px;color:var(--muted)}.username-field input{border:0!important;background:none!important}.username-status{min-height:12px}.username-status.available{color:var(--success)}.username-status.unavailable{color:var(--danger)}.detect-city{width:max-content;margin-top:2px;padding:6px 0;background:none;color:var(--muted);font-size:8px}.profile-dialog form>label{margin-top:11px}.media-fields label{margin:0!important}
.post-dialog-shell{width:min(96vw,720px);height:min(94dvh,900px);display:grid;grid-template-rows:auto minmax(0,1fr);border:1px solid var(--border-strong);border-radius:22px;background:var(--panel);overflow:hidden}.post-dialog-shell>header{height:54px;padding:0 17px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.post-dialog-shell>header span{color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.14em}.post-dialog-shell>header button,.chat-shell header>button,.circle-dialog-shell>header>button{width:32px;height:32px;border-radius:50%;background:var(--panel-hover);color:var(--muted);font-size:17px}.post-dialog-shell>div#postDetail{overflow:auto;padding:18px 20px 0}.post-detail .post-media-grid{margin-inline:-20px}.comments-section{border-top:1px solid var(--border);display:grid;grid-template-rows:auto minmax(80px,1fr) auto}.comments-heading{padding:13px 20px 7px;display:flex;align-items:center;gap:7px}.comments-heading h3{margin:0;font-size:12px}.comments-heading span{color:var(--muted);font-size:9px}.comments-list{max-height:310px;overflow:auto;padding:3px 20px 10px;display:grid;gap:12px}.comment-row{display:flex;align-items:flex-start;gap:9px}.comment-row .avatar{width:31px;height:31px;font-size:10px}.comment-content{min-width:0;flex:1}.comment-content>div:first-child{display:flex;align-items:center;gap:7px}.comment-content b{font-size:9px}.comment-content time{color:var(--muted-2);font-size:7px}.comment-content p{margin:4px 0 0;font-size:10px;line-height:1.45;white-space:pre-wrap}.comment-content img{max-width:250px;max-height:220px;margin-top:7px;border-radius:10px;object-fit:cover}.comment-controls{display:flex;gap:8px;margin-top:5px}.comment-controls button{padding:0;background:none;color:var(--muted);font-size:7px}.comment-controls button:hover{color:var(--text)}#commentForm{padding:10px 16px max(10px,env(safe-area-inset-bottom));border-top:1px solid var(--border);display:flex;align-items:end;gap:8px}#commentForm>.avatar{width:31px;height:31px}.comment-input-wrap{min-height:38px;flex:1;padding:5px 7px 5px 10px;display:flex;align-items:end;border:1px solid var(--border);border-radius:12px;background:var(--input)}.comment-input-wrap textarea{width:100%;max-height:100px;padding:5px 0;border:0;outline:0;background:none;font-size:10px;resize:none}.comment-attach{width:27px;height:27px;display:grid;place-items:center;color:var(--muted);cursor:pointer}.comment-attach svg{width:16px;height:16px}#commentForm>button,#chatForm>button{width:36px;height:36px;border-radius:50%;background:var(--accent);color:var(--accent-text)}#commentForm>button svg,#chatForm>button svg{width:16px;height:16px}
.chat-shell{width:min(94vw,560px);height:min(86dvh,720px);display:grid;grid-template-rows:58px 1fr auto;border:1px solid var(--border-strong);border-radius:22px;background:var(--panel);overflow:hidden}.chat-shell header{padding:0 13px 0 10px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.chat-user{min-width:0;display:flex;align-items:center;gap:9px;background:none;text-align:left}.chat-user>span:last-child{display:grid;gap:2px}.chat-user b{font-size:10px}.chat-user small{color:var(--muted);font-size:8px}.chat-messages{padding:16px;overflow:auto;display:flex;flex-direction:column;gap:6px}.message-bubble{max-width:78%;padding:9px 11px;border:1px solid var(--border);border-radius:14px 14px 14px 4px;background:var(--panel-2);font-size:10px;line-height:1.45;white-space:pre-wrap}.message-bubble.mine{align-self:flex-end;border-color:var(--accent);border-radius:14px 14px 4px;background:var(--accent);color:var(--accent-text)}.message-time{display:block;margin-top:3px;opacity:.55;font-size:7px;text-align:right}#chatForm{padding:9px 12px max(9px,env(safe-area-inset-bottom));border-top:1px solid var(--border);display:flex;align-items:end;gap:8px}#chatForm textarea{flex:1;max-height:110px;padding:9px 10px;border:1px solid var(--border);border-radius:12px;outline:0;background:var(--input);font-size:10px;resize:none}
.picker-search,.map-search{height:41px;margin:15px 0 9px;padding:0 10px;display:flex!important;align-items:center!important;grid-template-columns:auto 1fr!important;gap:7px;border:1px solid var(--border);border-radius:10px}.picker-search input,.map-search input{height:38px!important;padding:0!important;border:0!important;background:none!important}.picker-search .search-prefix,.map-search .search-prefix{color:var(--muted)}.picker-results{display:grid;gap:4px;max-height:360px;overflow:auto}.picker-person{width:100%;padding:8px;display:flex;align-items:center;gap:10px;border-radius:10px;background:none;text-align:left}.picker-person:hover{background:var(--panel-hover)}.picker-person>div{display:grid;gap:2px}.picker-person b{font-size:10px}.picker-person small{color:var(--muted);font-size:8px}
.map-search input{min-width:0;flex:1}.map-search button{height:40px;min-height:40px;padding:0 10px;flex:none;border-radius:8px;background:var(--accent);color:var(--accent-text);font-size:8px;font-weight:750}.map-search button:disabled{opacity:.55}
.notifications-shell{width:min(94vw,480px)}.notifications-list{margin-top:14px;max-height:480px;overflow:auto;display:grid;gap:5px}.notification-item{width:100%;padding:10px;display:grid;grid-template-columns:34px 1fr;gap:9px;border-radius:11px;background:none;text-align:left}.notification-item.unread{background:var(--panel-hover)}.notification-symbol{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--border);border-radius:50%}.notification-symbol svg{width:16px;height:16px}.notification-item>div{display:grid;gap:3px}.notification-item b{font-size:9px;line-height:1.4}.notification-item time{color:var(--muted);font-size:7px}
.map-dialog-shell{width:min(96vw,760px)}.map-search-results{position:absolute;left:22px;right:22px;top:126px;max-height:220px;overflow:auto;padding:6px;border:1px solid var(--border-strong);border-radius:11px;background:var(--panel-2);z-index:1001}.map-search-result{width:100%;padding:8px;border-radius:8px;background:none;text-align:left;font-size:8px}.map-search-result:hover{background:var(--panel-hover)}#leafletMap{height:min(55vh,460px);border:1px solid var(--border);border-radius:14px;overflow:hidden}.map-selected-address{margin:9px 0;padding:9px;border:1px solid var(--border);border-radius:10px;color:var(--muted);font-size:9px;line-height:1.4}.confirm-map-point{width:100%;height:41px;border-radius:10px;background:var(--accent);color:var(--accent-text);font-size:9px;font-weight:750}
.crop-shell{width:min(96vw,840px)}#coverCanvas{width:100%;height:auto;margin:13px 0;border-radius:12px;background:var(--input)}.crop-shell label{margin-top:8px}.crop-shell input{width:100%}#confirmCrop{width:100%;height:41px;margin-top:13px;border-radius:10px;background:var(--accent);color:var(--accent-text);font-size:9px}
.circle-dialog-shell{width:min(94vw,650px);max-height:min(92dvh,820px);padding:0;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.circle-dialog-shell>header{min-height:56px;padding:11px 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.circle-dialog-shell>header>.profile-back{width:auto;height:32px;margin:0;padding:0 9px;border-radius:9px;background:none;color:var(--muted);font-size:9px}.circle-dialog-shell>header>.profile-back:hover{background:var(--panel-hover);color:var(--text)}#circleDetail{overflow:auto;padding:0 22px 22px}.circle-detail-overview{padding:22px 0 19px}.circle-detail-head{display:flex;align-items:center;gap:14px}.circle-detail-head .circle-symbol{width:60px;height:60px;font-size:25px}.circle-detail-head>div{min-width:0}.circle-detail-kicker{display:block;margin-bottom:4px;color:var(--muted);font-size:7px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.circle-detail-head h2{margin:0 0 5px;font-size:20px;line-height:1.16;letter-spacing:-.04em}.circle-detail-head p{margin:0;color:var(--muted);font-size:9px}.circle-description{margin:16px 0;color:var(--muted);font-size:10px;line-height:1.55;white-space:pre-wrap}.circle-dialog-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.circle-dialog-actions button,.circle-membership-state{min-height:35px;padding:9px 12px;border:1px solid var(--border-strong);border-radius:9px;background:none;font-size:9px}.circle-dialog-actions button:hover{background:var(--panel-hover)}.circle-dialog-actions .primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.circle-dialog-actions .circle-settings-button{margin-left:auto;color:var(--muted)}.circle-membership-state{display:inline-flex;align-items:center;color:var(--muted)}.circle-detail-section{padding:18px 0;border-top:1px solid var(--border)}.circle-section-heading{margin-bottom:9px;display:flex;align-items:center;gap:7px}.circle-section-heading h3{margin:0;font-size:12px}.circle-section-heading span{padding:2px 6px;border-radius:10px;background:var(--panel-2);color:var(--muted);font-size:8px}.circle-members-list{display:grid;gap:4px}.circle-members-list>.empty-state{padding:25px 16px}.circle-member-row{min-height:54px;padding:7px 8px;display:flex;align-items:center;gap:10px;border:1px solid transparent;border-radius:12px}.circle-member-row:hover{border-color:var(--border);background:var(--panel-2)}.circle-member-profile{min-width:0;flex:1;display:flex;align-items:center;gap:10px;background:none;text-align:left}.circle-member-profile .avatar{width:36px;height:36px;flex:none;font-size:10px}.circle-member-profile>span:last-child{min-width:0;display:grid;gap:3px}.circle-member-profile b{display:flex;align-items:center;gap:6px;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.circle-member-profile b em{padding:2px 4px;border-radius:5px;background:var(--panel-hover);color:var(--muted);font-size:7px;font-style:normal;font-weight:500}.circle-member-profile small{color:var(--muted);font-size:8px}.circle-member-controls{display:flex;align-items:center;gap:6px}.circle-role-badge{padding:5px 7px;border:1px solid var(--border);border-radius:7px;color:var(--muted);font-size:7px}.circle-role-badge.owner{color:var(--text)}.circle-role-badge.moderator{color:var(--warning)}.circle-member-role-select{height:31px;padding:0 7px;border:1px solid var(--border);border-radius:8px;background:var(--input);color:var(--text);font-size:8px}.circle-member-remove{width:29px;height:29px;border-radius:8px;background:none;color:var(--muted);font-size:15px}.circle-member-remove:hover{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger)}.circle-detail-loading{min-height:220px;display:flex;align-items:center;justify-content:center;gap:12px}.circle-detail-loading>div{display:grid;gap:4px}.circle-detail-loading b{font-size:11px}.circle-detail-loading small{color:var(--muted);font-size:8px}.circle-form{width:min(92vw,520px)}.circle-form>label{margin-top:12px}.circle-form-grid{margin-top:16px;display:grid;grid-template-columns:100px 1fr;gap:9px}.circle-form-grid label{display:grid;gap:6px;color:var(--muted);font-size:9px}.circle-form select{width:100%;height:41px;padding:0 11px;border:1px solid var(--border);border-radius:10px;outline:0;background:var(--input);color:var(--text);font-size:11px}.circle-privacy-help{margin:10px 0 0;color:var(--muted);font-size:8px;line-height:1.45}.circle-edit-actions{margin-top:4px;display:flex;align-items:center;justify-content:space-between;gap:8px}.circle-edit-actions button{min-height:40px;padding:9px 13px}.circle-edit-actions .danger-ghost{border:1px solid color-mix(in srgb,var(--danger) 40%,var(--border));border-radius:10px;background:none;color:var(--danger);font-size:9px}.circle-edit-actions .primary-button{margin-left:auto}
.actions-dialog[open]{place-items:end center}.actions-sheet{width:min(100%,520px);padding:15px 15px max(15px,env(safe-area-inset-bottom));border:1px solid var(--border-strong);border-bottom:0;border-radius:20px 20px 0 0;background:var(--panel)}.actions-sheet header{padding:2px 4px 10px;display:flex;justify-content:space-between}.actions-sheet header b{font-size:11px}.actions-sheet header button{background:none;color:var(--muted);font-size:17px}.actions-sheet>div{display:grid;gap:4px}.action-row{width:100%;padding:12px;border-radius:10px;background:none;text-align:left;font-size:10px}.action-row:hover{background:var(--panel-hover)}.action-row.danger{color:var(--danger)}.action-row.create-action-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.action-row.create-action-row>span{display:grid;gap:3px}.action-row.create-action-row small{color:var(--muted);font-size:8px;line-height:1.4}.action-row-icon,.action-row-icon svg{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;color:var(--text)}
.confirm-dialog form{width:min(90vw,390px)}.confirm-dialog h2{margin:0 0 8px;font-size:17px}.confirm-dialog p{margin:0;color:var(--muted);font-size:10px;line-height:1.5}.confirm-dialog form>div{margin-top:18px;display:flex;justify-content:flex-end;gap:7px}.confirm-dialog form button{padding:9px 12px;border:1px solid var(--border);border-radius:9px;background:none;font-size:9px}.confirm-dialog form button.danger{background:var(--danger);border-color:var(--danger);color:#fff}
.toast{position:fixed;left:50%;bottom:28px;max-width:min(90vw,520px);padding:10px 14px;border:1px solid var(--border-strong);border-radius:11px;background:var(--text);color:var(--bg);font-size:9px;font-weight:650;opacity:0;pointer-events:none;transform:translate(-50%,12px);transition:.2s;z-index:10000}.toast.show{opacity:1;transform:translate(-50%,0)}
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid color-mix(in srgb,var(--text) 72%,transparent);outline-offset:2px}.dialog-close,.profile-dialog header>button,.picker-shell header>button,.notifications-shell header>button,.map-dialog-shell header>button,.crop-shell header>button,.post-dialog-shell>header button,.chat-shell header>button,.circle-dialog-shell>header>button{min-width:40px;min-height:40px}.circle-member-remove{width:40px;height:40px}
.file-input-accessible{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.chat-attach:focus-within,.comment-attach:focus-within,.attachment-menu label:focus-within{outline:2px solid color-mix(in srgb,var(--text) 72%,transparent);outline-offset:2px}
.mobile-tabs{display:none}

@media(min-width:1121px){.sidebar:not(.collapsed)~.main-content{width:min(820px,calc(100% - 560px))}}
@media(max-width:1120px){
  .sidebar{display:none}.main-content{width:min(calc(100% - 24px),820px);margin:0 auto;padding:0 0 calc(96px + env(safe-area-inset-bottom))}.topbar{height:62px}.topbar h1{font-size:18px}.global-search{width:42px;padding:0;justify-content:center}.global-search input{position:fixed;left:12px;right:12px;top:63px;width:calc(100% - 24px);height:42px;padding:0 12px;border:1px solid var(--border);border-radius:12px;background:var(--panel);display:none;z-index:30}.global-search.mobile-open input{display:block}.topbar .theme-toggle{display:none}.search-results{position:fixed;left:12px;right:12px;top:110px;width:auto;max-height:60vh}.compose-prompt{margin-top:9px}.compose-prompt b{display:none}.section-head{align-items:flex-start;gap:10px}.section-head>div:first-child p{display:none}.filters{flex:none}.filters button{padding-inline:8px}.post-card{padding:15px;border-radius:17px}.post-media-grid{margin-inline:-15px}.post-card h3{font-size:16px}.post-footer{gap:1px}.post-footer .post-counts{display:none}.post-footer button{padding-inline:8px}.post-footer .join{padding-inline:10px}.secondary-page{padding-top:8px}.page-heading{margin-top:10px}.split-heading{align-items:center}.near-toolbar{align-items:stretch;flex-direction:column}.near-toolbar-actions{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.nearby-filters{grid-template-columns:1fr}.nearby-layout{grid-template-columns:1fr}.near-list-wrap,.near-map-shell{min-height:340px;max-height:none}.admin-stats{grid-template-columns:1fr 1fr}.admin-user,.bot-check-row{grid-template-columns:1fr}.admin-user select{width:100%}.bot-check-actions{justify-content:flex-start}.form-grid,.media-fields{grid-template-columns:1fr}.attachment-preview{grid-template-columns:repeat(2,1fr)}.post-dialog-shell{width:100vw;height:100dvh;border:0;border-radius:0}.chat-shell{width:100vw;height:100dvh;border:0;border-radius:0}.comments-list{max-height:none}.mobile-tabs{position:fixed;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;padding:8px max(10px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));border-top:1px solid var(--border);background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(16px);z-index:40}.mobile-tabs button{position:relative;min-height:56px;display:grid;place-items:center;gap:4px;background:none;color:var(--muted)}.mobile-tabs button.active{color:var(--text)}.mobile-tabs .mobile-tab-icon,.mobile-tabs .mobile-tab-icon svg{width:20px;height:20px}.mobile-tabs small{font-size:9px;line-height:1}.mobile-tabs .mobile-create{transform:translateY(-12px);width:58px;height:58px;min-height:58px;justify-self:center;border-radius:50%;border:1px solid var(--border-strong);background:var(--accent);color:var(--accent-text);box-shadow:0 10px 28px rgba(0,0,0,.24)}.mobile-tabs .mobile-create .mobile-tab-icon,.mobile-tabs .mobile-create .mobile-tab-icon svg{width:24px;height:24px}.mobile-tabs i{position:absolute;right:calc(50% - 18px);top:7px;width:7px;height:7px;border-radius:50%;background:#ff5e5e}.toast{bottom:calc(84px + env(safe-area-inset-bottom))}
}

/* Release 18: legal consent and privacy controls */
.auth-legal-consents {
  display: grid;
  gap: 8px;
  margin: 2px 0 4px;
  padding: 12px;
  border: 1px solid var(--line, #2a2a2a);
  border-radius: 14px;
  background: color-mix(in srgb, var(--panel, #151515) 86%, transparent);
}

.auth-legal-consents label,
.public-profile-consent {
  display: grid !important;
  grid-template-columns: 18px minmax(0, 1fr);
  align-items: start;
  gap: 9px;
  color: var(--muted, #a0a0a0);
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.4;
}

.auth-legal-consents input,
.public-profile-consent input {
  width: 16px !important;
  height: 16px !important;
  min-height: 0 !important;
  margin: 1px 0 0;
  accent-color: #fff;
}

.auth-legal-consents a,
.public-profile-consent a,
.auth-legal-footer a,
.auth-legal-footer button,
.legal-center-links a,
.legal-center-links button {
  color: inherit;
  text-decoration: underline;
  text-decoration-color: color-mix(in srgb, currentColor 35%, transparent);
  text-underline-offset: 3px;
}

.auth-legal-footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 14px;
  margin-top: 10px;
  color: var(--muted, #8d8d8d);
  font-size: 11px;
}

.auth-legal-footer button,
.legal-center-links button {
  width: auto;
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
}

.public-profile-consent {
  margin: 3px 0 4px;
  padding: 2px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.public-profile-consent span {
  font-size: 8px;
  line-height: 1.45;
}

.legal-center-links {
  display: flex;
  flex-wrap: wrap;
  gap: 9px 18px;
  color: var(--text, #f5f5f5);
  font-size: 13px;
  font-weight: 650;
}

@media(max-width:720px){.post-media-teaser{min-height:64px;padding:10px;grid-template-columns:40px minmax(0,1fr);gap:10px}.post-media-teaser>span{width:40px;height:40px}.post-media-teaser>b{font-size:13px}.post-media-teaser>small{grid-column:2;font-size:10px;margin-top:-8px}}
@media(max-width:430px){.main-content{padding-inline:8px}.topbar{padding-inline:4px}.topbar-actions{gap:5px}.section-head h2{font-size:20px}.filters button{font-size:9px}.post-card{border-radius:15px}.profile-stats>span{padding-inline:6px}.public-stats{gap:12px}.admin-section{padding:11px}}
@media(max-width:700px){.circle-dialog-shell{width:100vw;height:100dvh;max-height:none;border:0;border-radius:0}.circle-dialog-shell>header{padding-inline:14px}#circleDetail{padding-inline:15px}.circle-detail-overview{padding-top:18px}.circle-dialog-actions .circle-settings-button{margin-left:0}.circle-member-row{padding-inline:3px}.circle-card{grid-template-columns:44px minmax(0,1fr)}.circle-card>.circle-join{grid-column:2;justify-self:start}.circle-form-grid{grid-template-columns:86px 1fr}.circle-edit-actions{align-items:stretch;flex-direction:column-reverse}.circle-edit-actions .primary-button{width:100%;margin:0}.circle-edit-actions .danger-ghost{width:100%}}
.circle-join.pending-state,.circle-dialog-actions .pending-state{border-color:color-mix(in srgb,var(--warning) 55%,var(--border));background:color-mix(in srgb,var(--warning) 10%,transparent);color:var(--warning)}
.circle-requests-section{margin-inline:-8px;padding-inline:8px;border-radius:14px;background:color-mix(in srgb,var(--warning) 5%,transparent)}
.circle-member-role-select{min-height:40px}.circle-request-approve,.circle-request-reject{min-height:40px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--panel-2);font-size:8px}.circle-request-approve{border-color:color-mix(in srgb,#42b883 50%,var(--border));color:#42b883}.circle-request-reject{color:var(--muted)}
.bot-attempt-row>div{display:grid;gap:3px}
/* Mobile layout system */
@media(max-width:720px){
  html,body{width:100%;max-width:100%;overflow-x:clip}body{overscroll-behavior-x:none}.app-shell,.main-content,.view-panel,.feed,.secondary-page{min-width:0;max-width:100%}
  .auth-dialog[open],.composer-dialog[open],.profile-dialog[open],.post-dialog[open],.chat-dialog[open],.map-dialog[open],.crop-dialog[open],.picker-dialog[open],.notifications-dialog[open],.circle-dialog[open],.actions-dialog[open],.confirm-dialog[open]{overflow:hidden;overscroll-behavior:contain}
  .main-content{width:100%;max-width:none;padding:0 12px calc(82px + env(safe-area-inset-bottom))}.view-panel{width:100%}
  .topbar{height:calc(60px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);gap:8px}.topbar h1{font-size:18px}.topbar-actions{gap:6px}.global-search,.icon-button{width:44px;height:44px;flex:none;border-radius:12px}.global-search input{left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));top:calc(61px + env(safe-area-inset-top));width:auto;height:48px;font-size:16px}.search-results{left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));top:calc(116px + env(safe-area-inset-top));width:auto;max-height:calc(100dvh - 200px - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:7px;border-radius:14px}.search-item{min-height:64px;padding:9px}.search-item b{font-size:13px}.search-item small{font-size:11px}
  .secondary-page{padding-top:10px}.page-heading{margin:8px 0 18px}.page-heading>p,.page-heading>div>p{font-size:9px}.section-head,.split-heading{align-items:stretch;flex-direction:column;gap:12px}.section-head{margin-bottom:14px}.section-head h2,.page-heading h2{font-size:24px;line-height:1.15}.section-head p,.page-heading span{font-size:12px;line-height:1.45}.split-heading>.primary-button{width:100%}.primary-button,.settings-save,.load-more{min-height:44px;font-size:13px}.filters,.circle-tabs{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}.circle-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.filters button,.circle-tabs button{min-height:44px;padding:7px 6px;font-size:12px}.compose-prompt{min-height:64px;margin:8px 0 18px;padding:11px 12px;border-radius:15px}.compose-prompt .avatar{width:40px;height:40px}.compose-prompt>span:nth-child(2){font-size:13px;line-height:1.35}
  .feed{gap:10px}.post-card{width:100%;padding:14px;border-radius:16px}.post-top .person{min-height:44px}.post-top .avatar{width:40px;height:40px}.person strong{font-size:13px}.person small{font-size:11px;line-height:1.3}.more{width:44px;height:44px;flex:none}.category{margin-top:13px;padding:5px 8px;font-size:10px}.post-card h3,.post-detail h2{font-size:18px;line-height:1.25}.post-card>p,.post-body p,.post-detail>p{font-size:14px;line-height:1.55}.post-media-grid{margin:13px -14px 0}.post-media-grid img{height:clamp(220px,70vw,420px)}.post-media-grid:not(.one) img{height:clamp(150px,43vw,240px)}.post-audio{height:44px}.post-meta{gap:6px;font-size:11px}.post-meta>*{min-height:44px;padding:7px 9px;display:inline-flex;align-items:center;line-height:1.3}.post-footer{display:grid;grid-template-columns:44px 50px 44px minmax(0,1fr);gap:4px}.post-footer .post-counts{display:none}.post-footer button{width:100%;height:44px;min-width:0;padding:0 4px;font-size:11px}.post-footer .join{margin-left:0;padding-inline:5px;font-size:10px;white-space:normal;line-height:1.15}.empty-state{padding:30px 18px;border-radius:16px}.empty-state h3{font-size:16px}.empty-state p{font-size:12px}.empty-state button{min-height:44px;font-size:12px}
  .near-toolbar{width:100%;align-items:stretch;gap:8px}.radius-picker{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.near-toolbar-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.radius-picker button,.locate-button,.map-trigger-button,.show-all-events-button{min-height:44px;padding:8px;font-size:12px;white-space:normal;line-height:1.2}.locate-button{width:100%;grid-column:1/-1}.nearby-workspace{padding:11px;border-radius:17px}.near-map-shell{height:clamp(300px,50dvh,480px);min-height:300px;border-radius:16px}.leaflet-control-zoom a{width:44px!important;height:44px!important;line-height:44px!important}.leaflet-control-attribution{max-width:calc(100% - 14px);font-size:7px!important}.map-result{font-size:12px}.near-event{min-height:68px;padding:11px 10px;display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:9px}.near-event>time{width:auto;font-size:12px}.near-event b{font-size:13px}.near-event small,.near-event>span{font-size:11px;line-height:1.35}.near-event>span{white-space:nowrap}
  .circle-card{padding:12px;gap:10px}.circle-card b{font-size:13px}.circle-card small{font-size:11px}.circle-privacy{font-size:9px}.circle-join{min-height:44px;padding:9px 12px;font-size:12px}.circle-dialog-shell{width:100vw;height:100dvh;max-height:none;border:0;border-radius:0}.circle-dialog-shell>header{min-height:calc(56px + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(14px,env(safe-area-inset-right)) 0 max(14px,env(safe-area-inset-left))}.circle-dialog-shell>header>.profile-back{min-height:44px;font-size:12px}#circleDetail{padding:0 max(15px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(15px,env(safe-area-inset-left))}.circle-detail-head h2{font-size:21px}.circle-detail-head p,.circle-detail-kicker{font-size:10px}.circle-description{font-size:13px}.circle-dialog-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.circle-dialog-actions button,.circle-membership-state{min-height:44px;padding:9px 10px;font-size:11px;justify-content:center;text-align:center}.circle-dialog-actions .circle-settings-button{margin:0}.circle-section-heading h3{font-size:14px}.circle-section-heading span{font-size:10px}.circle-member-profile{min-height:44px}.circle-member-profile b{font-size:12px}.circle-member-profile small{font-size:10px}.circle-role-badge{padding:7px;font-size:9px}.circle-member-role-select{height:44px;min-height:44px;font-size:12px}.circle-member-remove,.circle-request-approve,.circle-request-reject{min-width:44px;min-height:44px;font-size:11px}.circle-form label,.circle-form-grid label{font-size:12px}.circle-privacy-help{font-size:11px}.circle-edit-actions button{min-height:44px;font-size:12px}
  .conversation-list{gap:4px}.conversation-item{min-height:68px;padding:10px 8px;grid-template-columns:44px minmax(0,1fr) auto;gap:10px;border-bottom:1px solid var(--border);border-radius:12px}.conversation-item b{font-size:13px}.conversation-item small{font-size:11px}.conversation-item>time{font-size:10px;align-self:start}.chat-shell{width:100vw;height:100dvh;border:0;border-radius:0;grid-template-rows:calc(58px + env(safe-area-inset-top)) minmax(0,1fr) auto}.chat-shell header{padding:env(safe-area-inset-top) max(12px,env(safe-area-inset-right)) 0 max(10px,env(safe-area-inset-left))}.chat-user{min-height:44px}.chat-user b{font-size:13px}.chat-user small{font-size:11px}.chat-messages{padding:14px max(12px,env(safe-area-inset-right)) 14px max(12px,env(safe-area-inset-left));gap:7px}.message-bubble{max-width:86%;padding:10px 12px;font-size:14px;line-height:1.45}.message-time{font-size:9px}#chatForm{padding:9px max(12px,env(safe-area-inset-right)) max(9px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}#chatForm textarea{min-height:44px;padding:10px 12px;font-size:16px}#chatForm>button{width:44px;height:44px;flex:none}
  .own-profile-card,.public-profile-card{border-radius:17px}.own-profile-cover,.public-cover{height:128px}.profile-hero{padding:15px;gap:11px}.profile-avatar{width:70px;height:70px}.profile-hero h2,.public-profile-main h2{font-size:20px}.profile-hero p,.own-status,.public-profile-main p{font-size:12px}.profile-hero>button{min-height:44px;padding:8px 12px;font-size:12px}.profile-stats>span{padding:13px 6px}.profile-stats b{font-size:18px}.profile-stats small{font-size:10px}.wide-action{min-height:48px;padding:12px 13px;font-size:13px}.list-heading h3{font-size:15px}.list-heading>button{min-height:44px;font-size:12px}.public-profile-main{padding:0 15px 15px;gap:11px}.public-profile-main .avatar{width:72px;height:72px}.profile-actions{padding:0 15px 14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.profile-actions button{min-height:44px;font-size:12px}.public-status{padding:0 15px 15px;font-size:13px}.public-stats{margin:0 15px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;font-size:11px;text-align:center}.public-stats span{padding-inline:4px}.profile-friends{padding:15px}.profile-friends h3{font-size:14px}.profile-friend{min-height:72px}.profile-friend small{font-size:10px}.saved-item{min-height:64px;padding:10px}.saved-item b{font-size:12px}.saved-item small{font-size:10px}
  .user-settings{gap:8px}.user-settings section{padding:15px;border-radius:14px}.user-settings h3{font-size:15px}.user-settings label{font-size:12px}.user-settings select,.profile-dialog input,.profile-dialog textarea,.profile-dialog select,.picker-shell input,.picker-shell textarea,.composer-form input,.composer-form textarea,.composer-form select,.circle-form select,.auth-form input{min-height:48px;font-size:16px}.setting-switch{min-height:54px}.setting-switch b{font-size:13px}.setting-switch small{font-size:11px;line-height:1.35}.setting-switch input{width:44px;height:26px}.setting-switch input::after{width:20px;height:20px;margin:2px}.setting-switch input:checked::after{transform:translateX(18px)}.verification-status-grid,.verification-actions,.verification-code-row{grid-template-columns:1fr}.verification-actions,.verification-code-row{display:grid}.verification-code-row button{min-width:0;width:100%}.settings-save{width:100%;justify-self:stretch}
  .admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-section{padding:12px;border-radius:14px}.admin-section-hint,.admin-user small,.bot-check-copy small,.report-row small{font-size:11px}.admin-user b,.bot-check-copy b,.report-row b{font-size:12px}.admin-user select,.admin-search{min-height:44px;font-size:12px}.bot-check-actions button,.report-row button{min-height:44px;font-size:11px}.report-row{grid-template-columns:1fr}.audit-list article{grid-template-columns:1fr;gap:4px;font-size:11px}.bot-attempt-row{grid-template-columns:1fr;font-size:11px}
  .auth-card{width:calc(100vw - 24px);max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:20px;border-radius:19px}.auth-copy h2,.composer-form h2,.profile-dialog h2,.picker-shell h2,.notifications-shell h2,.map-dialog-shell h2,.crop-shell h2{font-size:23px}.auth-copy>span,.composer-form>p{font-size:12px}.auth-form label,.composer-form label,.profile-dialog label,.picker-shell label,.crop-shell label{font-size:12px}.auth-tabs button,.auth-form>button,.save-profile,.demo-hint button{min-height:44px;font-size:13px}.auth-form>.auth-link-button{min-height:44px;font-size:12px}.auth-back-button{width:44px;height:44px}.auth-recovery-head b{font-size:15px}.auth-recovery-head span,.auth-recovery-note{font-size:11px}.demo-hint,.auth-security-note,.form-error{font-size:11px}
  .composer-form,.profile-dialog form,.picker-shell,.notifications-shell,.map-dialog-shell,.crop-shell{width:100vw;height:100dvh;max-height:none;padding:max(20px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));border:0;border-radius:0;box-shadow:none}.dialog-close,.profile-dialog header>button,.picker-shell header>button,.notifications-shell header>button,.map-dialog-shell header>button,.crop-shell header>button{top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));width:44px;height:44px}.form-grid,.media-fields{grid-template-columns:1fr}.composer-actions{min-height:56px}.composer-actions>button{width:44px;height:44px;flex:none}.composer-actions>span,.composer-lead{font-size:12px}.attachment-menu{left:0;bottom:60px;width:min(260px,calc(100vw - 32px))}.attachment-menu>*{min-height:44px;font-size:12px!important}.attachment-thumb button{width:44px;height:44px}.publish{height:48px;font-size:13px}.secondary-inline-button{min-height:48px;font-size:13px}.detect-city{min-height:44px;font-size:12px}.username-field{height:48px}.picker-search,.map-search{height:48px}.picker-search input,.map-search input{height:46px!important;font-size:16px}.picker-results{max-height:none}.picker-person{min-height:60px}.picker-person b{font-size:13px}.picker-person small{font-size:11px}.notifications-shell{display:grid;grid-template-rows:auto auto minmax(0,1fr)}.notifications-list{max-height:none}.notification-item{min-height:62px;grid-template-columns:40px minmax(0,1fr)}.notification-symbol{width:40px;height:40px}.notification-item b{font-size:12px}.notification-item time{font-size:10px}
  .map-search button{height:44px;min-height:44px;padding-inline:12px;font-size:11px}
  .map-search-results{left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));top:calc(126px + env(safe-area-inset-top));max-height:34dvh}.map-search-result{min-height:44px;font-size:12px}#leafletMap{height:clamp(280px,48dvh,520px);min-height:280px}.map-selected-address{font-size:12px}.confirm-map-point,#confirmCrop{height:48px;font-size:13px}
  .post-dialog-shell{width:100vw;height:100dvh;border:0;border-radius:0;grid-template-rows:calc(56px + env(safe-area-inset-top)) minmax(0,1fr) minmax(180px,42dvh)}.post-dialog-shell>header{height:auto;padding:env(safe-area-inset-top) max(14px,env(safe-area-inset-right)) 0 max(14px,env(safe-area-inset-left))}.post-dialog-shell>header span{font-size:10px}.post-dialog-shell>div#postDetail{padding:15px 14px 0}.post-detail .post-media-grid{margin-inline:-14px}.comments-section{min-height:0}.comments-heading{padding:10px 14px 7px}.comments-heading h3{font-size:14px}.comments-heading span{font-size:11px}.comments-list{min-height:0;max-height:none;padding:3px 14px 10px}.comment-row .avatar{width:36px;height:36px}.comment-content b{font-size:11px}.comment-content time{font-size:9px}.comment-content p{font-size:13px}.comment-controls button{min-width:44px;min-height:44px;font-size:10px}#commentForm{padding:9px max(12px,env(safe-area-inset-right)) max(9px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}#commentForm>.avatar{width:36px;height:36px}.comment-input-wrap{min-height:44px}.comment-input-wrap textarea{font-size:16px}.comment-attach{width:44px;height:44px;flex:none}#commentForm>button{width:44px;height:44px;flex:none}
  .actions-sheet{padding:14px max(14px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}.actions-sheet header button,.action-row{min-height:44px}.action-row{font-size:13px}.confirm-dialog form{width:calc(100vw - 24px);padding:20px}.confirm-dialog h2{font-size:19px}.confirm-dialog p{font-size:13px}.confirm-dialog form button{min-height:44px;font-size:12px}.toast{bottom:calc(76px + env(safe-area-inset-bottom));max-width:calc(100vw - 24px);font-size:12px}
  .mobile-tabs{height:auto;min-height:calc(72px + env(safe-area-inset-bottom));padding:8px max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));grid-template-columns:repeat(5,minmax(0,1fr))}.mobile-tabs button{min-width:44px;min-height:52px;height:52px}.mobile-tabs .mobile-create{width:58px;height:58px}.mobile-tabs i{right:calc(50% - 18px);top:6px}
}

/* Release 16 — contact recovery and private message removal */
.auth-contact-note{margin:-2px 0 1px;color:var(--muted);font-size:8px;line-height:1.5}
.verification-contact-editor{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr) auto;align-items:end;gap:8px;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--panel-2)}
.verification-contact-editor label{min-width:0;margin:0!important}.verification-contact-editor label>small{margin-left:4px;color:var(--muted-2);font-size:7px}.verification-contact-editor input{width:100%;height:41px;padding:0 11px;border:1px solid var(--border);border-radius:10px;outline:0;background:var(--input);color:var(--text);font-size:11px}.verification-contact-editor input:focus{border-color:var(--border-strong)}
.verification-contact-editor .secondary-inline-button{width:max-content;min-width:132px}.verification-contact-help{margin:-5px 0 0!important;color:var(--muted);font-size:8px!important;line-height:1.5}
.message-delete-sheet header>div{display:grid;gap:3px}.message-delete-sheet header small{color:var(--muted);font-size:8px}.message-delete-sheet .action-row{display:grid;gap:3px}.message-delete-sheet .action-row span{font-weight:700}.message-delete-sheet .action-row small{color:var(--muted);font-size:8px;line-height:1.4}.message-delete-sheet .action-row.danger small{color:color-mix(in srgb,var(--danger) 68%,var(--muted))}

@media(max-width:720px){
  .auth-contact-note{font-size:11px}.verification-contact-editor{grid-template-columns:1fr;padding:11px}.verification-contact-editor input{min-height:48px;font-size:16px}.verification-contact-editor label>small,.verification-contact-help{font-size:10px!important}.verification-contact-editor .secondary-inline-button{width:100%;min-height:46px;font-size:12px}.message-delete-sheet header b{font-size:14px}.message-delete-sheet header small,.message-delete-sheet .action-row small{font-size:11px}.message-delete-sheet .action-row{min-height:58px;font-size:13px}
}
@media(max-width:520px){
  .main-content{padding-inline:10px}.topbar{padding-inline:2px}.topbar-actions{gap:4px}.page-heading{margin-bottom:16px}.section-head h2,.page-heading h2{font-size:23px}.post-card{padding:12px;border-radius:15px}.post-media-grid{margin-inline:-12px}.post-detail .post-media-grid{margin-inline:-14px}.post-footer{grid-template-columns:44px 50px 44px minmax(0,1fr)}.post-footer .join{font-size:9px}.near-event{grid-template-columns:44px minmax(0,1fr)}.near-event>span{grid-column:2}.circle-card{grid-template-columns:44px minmax(0,1fr)}.circle-card>.circle-join{grid-column:2;width:100%}.circle-card small{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.circle-dialog-actions{grid-template-columns:1fr}.circle-member-row{display:grid;grid-template-columns:minmax(0,1fr) auto}.circle-member-controls{max-width:150px}.circle-member-role-select{max-width:112px}.circle-request-approve,.circle-request-reject{padding-inline:7px}.conversation-item{grid-template-columns:44px minmax(0,1fr)}.conversation-item>time{grid-column:2}.profile-hero{display:grid;grid-template-columns:70px minmax(0,1fr);align-items:center}.profile-hero>button{grid-column:1/-1;width:100%;margin:0}.profile-actions{grid-template-columns:1fr}.public-stats{font-size:10px}.public-stats span{overflow-wrap:anywhere}.admin-stats{gap:6px}.admin-section .list-heading{align-items:stretch;flex-wrap:wrap}.admin-search{width:100%}.circle-form-grid{grid-template-columns:80px minmax(0,1fr)}.circle-edit-actions{align-items:stretch;flex-direction:column-reverse}.circle-edit-actions .primary-button,.circle-edit-actions .danger-ghost{width:100%;margin:0}.comment-row{gap:8px}.comment-content img{max-width:100%}.attachment-preview{grid-template-columns:repeat(2,minmax(0,1fr))}.actions-sheet{border-radius:18px 18px 0 0}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
.post-detail h2{margin:11px 0 7px;font-size:21px;line-height:1.2;letter-spacing:-.04em}.post-detail>p{margin:0;color:color-mix(in srgb,var(--text) 82%,var(--muted));font-size:12px;line-height:1.58;white-space:pre-wrap}.inline-comment-editor{width:100%;min-height:70px;margin-top:6px;padding:8px;border:1px solid var(--border-strong);border-radius:9px;background:var(--input);font-size:10px;outline:0}
@media(max-width:720px){.post-detail h2{font-size:18px;line-height:1.25}.post-detail>p{font-size:14px;line-height:1.55}.inline-comment-editor{min-height:96px;padding:10px;font-size:16px}.profile-dialog header,.picker-shell header,.notifications-shell header,.map-dialog-shell header,.crop-shell header{min-height:52px;padding-right:54px}.public-profile-page>.profile-back{min-height:44px;padding:8px 4px;font-size:12px}.feed-status,.comments-empty{font-size:12px;line-height:1.45}.comments-empty{padding-block:16px}.event-map-marker{width:44px!important;height:44px!important;margin:-22px 0 0 -22px!important;font-size:14px}.actions-sheet header button{min-width:44px;min-height:44px}.bot-attempts-panel summary{min-height:44px;display:flex;align-items:center;font-size:11px}.crop-shell input{min-height:44px}}

/* Trust credit and controlled participation */
.register-contact-grid,.profile-contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px}.register-contact-grid label{min-width:0}.register-contact-grid label>small{margin-left:4px;color:var(--muted-2);font-size:7px;font-weight:500}.profile-contact-fields{margin-top:11px}.profile-contact-fields label{margin:0!important}.profile-contact-note,.join-policy-hint{margin:8px 0 0!important;color:var(--muted);font-size:8px;line-height:1.45}.participation-settings{margin-top:12px}.join-policy-hint{padding:0 2px}.post-counts{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.join-policy-tag{padding:3px 5px;border:1px solid var(--border);border-radius:6px;color:var(--muted);font-size:7px;font-weight:650}.post-footer .join.pending-state{border-color:color-mix(in srgb,var(--warning) 55%,var(--border));background:color-mix(in srgb,var(--warning) 9%,var(--panel));color:var(--warning)}
.own-trust-card{margin:10px 0;padding:15px;border:1px solid var(--border);border-radius:16px;background:var(--panel)}.trust-card-loading{padding:8px;color:var(--muted);font-size:9px;text-align:center}.trust-card-content{display:grid;grid-template-columns:66px minmax(0,1fr);align-items:start;gap:13px}.trust-score{width:66px;height:66px;display:grid;place-content:center;border:1px solid var(--border-strong);border-radius:50%;background:var(--panel-2);text-align:center}.trust-score strong{font-size:20px;line-height:1}.trust-score span{margin-top:3px;color:var(--muted);font-size:7px}.trust-card-body{min-width:0}.trust-card-title{display:flex;align-items:end;justify-content:space-between;gap:8px}.trust-card-title>div{display:grid;gap:2px}.trust-card-title small{color:var(--muted-2);font-size:7px;font-weight:800;letter-spacing:.11em}.trust-card-title b{font-size:12px}.trust-card-title>span{color:var(--muted);font-size:9px}.trust-progress{height:5px;margin:7px 0 9px;border-radius:6px;background:var(--panel-hover);overflow:hidden}.trust-progress i{display:block;height:100%;border-radius:inherit;background:var(--muted)}.trust-card-content[data-trust-level="high"] .trust-progress i{background:var(--success)}.trust-card-content[data-trust-level="medium"] .trust-progress i{background:var(--warning)}.trust-card-content[data-trust-level="basic"] .trust-progress i{background:var(--danger)}.trust-signals{display:flex;gap:5px;flex-wrap:wrap}.trust-signals span{padding:4px 6px;border:1px solid var(--border);border-radius:7px;color:var(--muted);font-size:7px;line-height:1.2}.trust-signals .good{color:var(--success)}.trust-signals .risk{border-color:color-mix(in srgb,var(--danger) 38%,var(--border));color:var(--danger)}.trust-card-body>p{margin:9px 0 0;color:var(--muted);font-size:8px;line-height:1.45}.trust-card-content.compact{grid-template-columns:48px minmax(0,1fr);gap:9px}.trust-card-content.compact .trust-score{width:48px;height:48px}.trust-card-content.compact .trust-score strong{font-size:15px}.trust-card-content.compact .trust-card-title small,.trust-card-content.compact .trust-card-title>span,.trust-card-content.compact .trust-signals span:nth-child(-n+2){display:none}.trust-card-content.compact .trust-card-title b{font-size:9px}.trust-card-content.compact .trust-progress{margin:5px 0}.trust-card-content.compact .trust-signals span{padding:3px 5px;font-size:7px}
.profile-trust-section{margin:0 18px 14px;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--panel-2)}.profile-shared-context{margin:0 18px 12px;padding:8px 10px;border:1px solid color-mix(in srgb,var(--success) 32%,var(--border));border-radius:9px;color:var(--success);font-size:8px;line-height:1.4}.profile-rating{margin-top:13px;padding-top:12px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:10px}.profile-rating>div:first-child{display:grid;gap:2px}.profile-rating b{font-size:9px}.profile-rating small,.profile-rating p{margin:0;color:var(--muted);font-size:7px;line-height:1.4}.profile-rating-stars{display:flex;gap:2px}.profile-rating-stars button{width:30px;height:30px;border-radius:8px;background:none;color:var(--warning);font-size:16px}.profile-rating-stars button:hover{background:var(--panel-hover)}.profile-rating.locked{display:grid;gap:4px}.profile-more-action{max-width:42px;flex:0 0 42px!important}.public-profile-page .profile-actions{align-items:stretch}
.event-people-locked,.event-people-section{margin:18px 0 0;padding:16px 0;border-top:1px solid var(--border)}.event-people-locked b{font-size:11px}.event-people-locked p,.event-requests-note{margin:5px 0 0;color:var(--muted);font-size:9px;line-height:1.45}.event-people-heading{margin-bottom:10px;display:flex;align-items:end;justify-content:space-between;gap:10px}.event-people-heading>div{display:grid;gap:2px}.event-people-heading small{color:var(--muted-2);font-size:7px;font-weight:800;letter-spacing:.1em}.event-people-heading h3{margin:0;font-size:13px}.event-people-heading>span{padding:3px 7px;border-radius:9px;background:var(--panel-2);color:var(--muted);font-size:8px}.event-requests{margin:0 0 16px;padding:13px;border:1px solid color-mix(in srgb,var(--warning) 28%,var(--border));border-radius:14px;background:color-mix(in srgb,var(--warning) 5%,var(--panel))}.event-requests-note{margin:-3px 0 11px}.event-people-list{display:grid;gap:5px}.event-person{min-height:56px;padding:7px 8px;border:1px solid var(--border);border-radius:12px;background:var(--panel-2);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px}.event-person.request{grid-template-columns:minmax(150px,.9fr) minmax(250px,1.3fr) auto}.event-person-profile{min-width:0;min-height:42px;display:flex;align-items:center;gap:9px;background:none;text-align:left}.event-person-profile .avatar{width:36px;height:36px}.event-person-profile>span:last-child{min-width:0;display:grid;gap:3px}.event-person-profile b{display:flex;align-items:center;gap:5px;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-person-profile b em{padding:2px 4px;border-radius:5px;background:var(--panel-hover);color:var(--muted);font-size:6px;font-style:normal}.participation-status{padding:2px 6px;border:1px solid var(--border-strong);border-radius:999px;background:var(--panel);color:var(--text);font-size:7px;font-weight:700;line-height:1.2}.event-person-profile small{color:var(--muted);font-size:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-person-actions{display:flex;gap:5px}.event-person-actions button{min-height:36px;padding:7px 9px;border:1px solid var(--border);border-radius:8px;background:none;color:var(--muted);font-size:8px}.event-person-actions .approve{border-color:color-mix(in srgb,var(--success) 42%,var(--border));color:var(--success)}.event-person-remove{width:36px;height:36px;border-radius:9px;background:none;color:var(--muted);font-size:16px}.event-person-remove:hover{background:color-mix(in srgb,var(--danger) 10%,transparent);color:var(--danger)}
.event-person:not(.request){grid-template-columns:minmax(0,1fr) auto auto}.attendance-person-control{display:flex;align-items:center;gap:7px}.attendance-person-control>label{width:28px;height:34px;display:grid;place-items:center;cursor:pointer}.attendance-person-control input{position:absolute;opacity:0;pointer-events:none}.attendance-person-control label span{width:16px;height:16px;display:grid;place-items:center;border:1px solid var(--border-strong);border-radius:5px;background:var(--panel)}.attendance-person-control input:checked+span{background:var(--accent);border-color:var(--accent)}.attendance-person-control input:checked+span::after{content:"✓";color:var(--accent-text);font-size:11px;font-weight:800}.attendance-person-control input:focus-visible+span{outline:2px solid var(--focus);outline-offset:2px}.attendance-person-control select,.attendance-bulk select{height:36px;padding:0 9px;border:1px solid var(--border);border-radius:9px;background:var(--input);color:var(--text);font-size:8px}.attendance-bulk{margin:0 0 9px;padding:8px;display:grid;grid-template-columns:auto minmax(130px,1fr) auto;gap:7px;border:1px solid var(--border);border-radius:11px;background:var(--panel-2)}.attendance-bulk button{min-height:36px;padding:7px 10px;border:1px solid var(--border);border-radius:9px;background:none;color:var(--muted);font-size:8px}.attendance-bulk button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:700}.attendance-self{margin:0 0 12px;padding:11px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--border-strong);border-radius:12px;background:var(--panel-2)}.attendance-self>div{display:grid;gap:3px}.attendance-self b{font-size:9px}.attendance-self small{color:var(--muted);font-size:8px}.attendance-self button{min-height:38px;padding:8px 11px;border:1px solid var(--border-strong);border-radius:9px;background:var(--panel);color:var(--text);font-size:8px}
.circle-request-row{display:grid;grid-template-columns:minmax(160px,1fr) minmax(240px,1.25fr) auto;align-items:center}.circle-request-row .circle-member-controls{justify-content:flex-end}
@media(max-width:720px){
  .register-contact-grid,.profile-contact-fields{grid-template-columns:1fr}.register-contact-grid{gap:8px}.register-contact-grid label>small{font-size:10px}.profile-contact-fields{gap:10px}.profile-contact-note,.join-policy-hint{font-size:11px}.own-trust-card{padding:13px;border-radius:15px}.profile-trust-section{margin:0 15px 14px;padding:13px}.profile-shared-context{margin-inline:15px;font-size:11px}.trust-card-content{grid-template-columns:60px minmax(0,1fr);gap:11px}.trust-score{width:60px;height:60px}.trust-card-title small{font-size:9px}.trust-card-title b{font-size:14px}.trust-card-title>span{font-size:11px}.trust-signals span{font-size:10px}.trust-card-body>p{font-size:10px}.profile-rating{align-items:flex-start;flex-direction:column}.profile-rating b{font-size:12px}.profile-rating small,.profile-rating p{font-size:10px}.profile-rating-stars{width:100%;justify-content:space-between}.profile-rating-stars button{width:44px;height:44px;font-size:21px}.profile-actions .profile-more-action{max-width:none;grid-column:auto}.event-people-locked,.event-people-section{margin-top:16px;padding-top:14px}.event-people-locked b{font-size:13px}.event-people-locked p,.event-requests-note{font-size:11px}.event-people-heading h3{font-size:15px}.event-people-heading small{font-size:9px}.event-people-heading>span{font-size:10px}.event-requests{padding:11px}.event-person,.event-person.request{grid-template-columns:1fr;gap:8px;padding:9px}.event-person-profile{min-height:44px}.event-person-profile .avatar{width:40px;height:40px}.event-person-profile b{font-size:12px}.event-person-profile b em{font-size:8px}.event-person-profile small{font-size:10px}.event-person-actions{display:grid;grid-template-columns:1fr 1fr}.event-person-actions button,.event-person-remove{min-height:44px;font-size:11px}.event-person-remove{width:44px;justify-self:end}.attendance-person-control{width:100%;display:grid;grid-template-columns:44px minmax(0,1fr)}.attendance-person-control>label{width:44px;height:44px}.attendance-person-control label span{width:20px;height:20px}.attendance-person-control select,.attendance-bulk select{height:44px;font-size:11px}.attendance-bulk{grid-template-columns:1fr 1fr}.attendance-bulk select{grid-column:1/-1}.attendance-bulk button{min-height:44px;font-size:11px}.attendance-self{align-items:stretch;flex-direction:column}.attendance-self b{font-size:12px}.attendance-self small{font-size:10px}.attendance-self button{min-height:44px;font-size:11px}.trust-card-content.compact{grid-template-columns:48px minmax(0,1fr)}.trust-card-content.compact .trust-signals span{font-size:9px}.circle-request-row{grid-template-columns:1fr}.circle-request-row .circle-member-controls{width:100%;max-width:none;display:grid;grid-template-columns:1fr 1fr}.circle-request-row .circle-request-approve,.circle-request-row .circle-request-reject{width:100%}.circle-request-row .trust-card-content{width:100%}
}
@media(max-width:520px){.participation-settings{grid-template-columns:1fr}.profile-trust-section .trust-card-content{grid-template-columns:1fr}.profile-trust-section .trust-score{border-radius:12px;width:100%;height:50px;display:flex;align-items:baseline;justify-content:center;gap:5px}.profile-trust-section .trust-score span{margin:0}.profile-actions{grid-template-columns:1fr 1fr}.profile-actions .profile-more-action{grid-column:1/-1}.trust-signals{display:grid;grid-template-columns:1fr 1fr}.trust-signals span{text-align:center}}

/* Release 15 — verified identity, creator controls and device push */
.verified-mark{--verified-color:#4a8cff;width:16px;height:16px;margin-left:5px;display:inline-flex;align-items:center;justify-content:center;flex:none;vertical-align:-3px;color:var(--verified-color)}.verified-mark.creator{--verified-color:#9a7cff}.verified-mark svg{width:100%;height:100%;overflow:visible}.verified-mark svg path:first-child{fill:currentColor;stroke:none}.verified-mark svg path:last-child{fill:none;stroke:#fff;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.verified-mark.compact{width:14px;height:14px;margin-left:4px}.person strong,.search-item b,.public-profile-main h2,.profile-friend small,.profile-hero h2{display:flex;align-items:center;min-width:0}.notification-verified-icon{width:20px;height:20px;margin:0}

.creator-profile-tools{margin-top:12px;padding:17px;border:1px solid color-mix(in srgb,#9a7cff 34%,var(--border));border-radius:16px;background:color-mix(in srgb,#9a7cff 5%,var(--panel));display:grid;gap:13px}.creator-tools-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.creator-tools-head span{display:block;margin-bottom:4px;color:#9a7cff;font-size:8px;font-weight:800;letter-spacing:.09em}.creator-tools-head h3{margin:0;font-size:15px}.creator-tools-head>[data-admin-link]{padding:8px 10px;border:1px solid var(--border);border-radius:9px;background:transparent;color:var(--text);font-size:9px;text-decoration:none;white-space:nowrap}.creator-profile-tools>p{margin:0;color:var(--muted);font-size:9px;line-height:1.5}.creator-quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.creator-quick-actions button,.creator-overrides button,.creator-delete{min-height:38px;padding:8px 11px;border:1px solid var(--border);border-radius:10px;background:var(--panel-2);color:var(--text);font-size:9px}.creator-quick-actions button:hover,.creator-overrides button:hover{border-color:var(--border-strong);background:var(--panel-hover)}.creator-overrides{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:8px}.creator-overrides label{display:grid;gap:5px;color:var(--muted);font-size:8px}.creator-overrides input{width:100%;height:38px;padding:0 10px;border:1px solid var(--border);border-radius:10px;background:var(--input);color:var(--text);font-size:12px}.creator-private-contact{padding:11px;border:1px solid var(--border);border-radius:11px;background:var(--panel-2);display:grid;gap:4px}.creator-private-contact b{font-size:9px}.creator-private-contact span{color:var(--muted);font-size:9px;overflow-wrap:anywhere}.creator-delete{justify-self:start;color:var(--danger);border-color:color-mix(in srgb,var(--danger) 36%,var(--border));background:transparent}

.push-settings-card{margin-top:12px;padding:13px;border:1px solid var(--border);border-radius:13px;background:var(--panel-2);display:grid;gap:10px}.push-settings-card>div:first-child{display:grid;gap:4px}.push-settings-card b{font-size:10px}.push-settings-card small,.push-settings-card>p{margin:0;color:var(--muted);font-size:8px;line-height:1.45}.push-settings-actions{display:flex;gap:7px;flex-wrap:wrap}.push-settings-actions button{min-height:36px;padding:8px 12px;border:1px solid var(--border);border-radius:9px;background:var(--panel);color:var(--text);font-size:9px}.push-settings-actions button:first-child{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.push-settings-status{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.push-settings-status .push-state-card{padding:7px;border:1px solid var(--border);border-radius:8px;background:var(--panel);display:grid;gap:3px;min-width:0}.push-settings-status .push-state-card strong{font-size:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.push-settings-status .push-state-card small{font-size:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.profile-verification-application{border-color:color-mix(in srgb,#4a8cff 30%,var(--border))!important}.profile-verification-summary{padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--panel-2);display:grid;gap:4px}.profile-verification-summary b{display:flex;align-items:center;font-size:10px}.profile-verification-summary span{color:var(--muted);font-size:8px;line-height:1.45}.profile-verification-summary.verified{border-color:color-mix(in srgb,#4a8cff 44%,var(--border))}.profile-verification-controls{margin-top:12px;display:grid;gap:9px}.profile-verification-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.profile-verification-controls label{display:grid;gap:6px;color:var(--muted);font-size:9px}.profile-verification-controls input,.profile-verification-controls select,.profile-verification-controls textarea{width:100%;padding:10px 11px;border:1px solid var(--border);border-radius:10px;background:var(--input);color:var(--text);font:inherit;resize:vertical}.profile-verification-controls input,.profile-verification-controls select{height:41px;padding-block:0}.verification-application-history{margin-top:10px;display:grid;gap:6px}.verification-application-row{padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--panel-2);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px}.verification-application-row>div{min-width:0;display:grid;gap:3px}.verification-application-row b{font-size:9px;overflow:hidden;text-overflow:ellipsis}.verification-application-row small{color:var(--muted);font-size:8px}.verification-application-row>span{align-self:start;padding:3px 6px;border-radius:7px;background:var(--panel-hover);color:var(--muted);font-size:7px}.verification-application-row.pending>span{color:var(--warning)}.verification-application-row.approved>span{color:#4a8cff}.verification-application-row>p{grid-column:1/-1;margin:4px 0 0;color:var(--muted);font-size:8px}.verification-application-empty{margin:0;color:var(--muted);font-size:8px}

@media(max-width:700px){.creator-profile-tools{padding:14px}.creator-tools-head{align-items:stretch;flex-direction:column}.creator-tools-head>[data-admin-link]{min-height:44px;text-align:center}.creator-quick-actions{grid-template-columns:1fr}.creator-overrides{grid-template-columns:1fr 1fr}.creator-overrides button{grid-column:1/-1}.creator-delete{width:100%}.push-settings-status{grid-template-columns:repeat(2,minmax(0,1fr))}.push-settings-actions{display:grid;grid-template-columns:1fr 1fr}.push-settings-actions button{min-height:44px}.push-settings-actions button:last-child{grid-column:1/-1}.profile-verification-grid{grid-template-columns:1fr}.profile-verification-controls input,.profile-verification-controls select,.profile-verification-controls textarea{font-size:16px}.profile-verification-controls .primary-button{width:100%}}

/* Release 13 — messaging workspace */
.messages-page{position:relative;left:132px;width:min(1040px,calc(100vw - 304px));margin-left:50%;padding-top:14px;transform:translateX(-50%)}
.sidebar.collapsed~.main-content .messages-page{left:38px;width:min(1040px,calc(100vw - 116px))}
.messages-workspace{height:calc(100dvh - 104px);min-height:520px;max-height:860px;display:grid;grid-template-columns:330px minmax(0,1fr);border:1px solid var(--border);border-radius:20px;background:var(--panel);overflow:hidden}
.messages-inbox{min-width:0;min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr);border-right:1px solid var(--border);background:var(--panel)}
.messages-inbox-head{min-height:70px;padding:15px 15px 10px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.messages-inbox-head p{margin:0 0 3px;color:var(--muted-2);font-size:7px;font-weight:800;letter-spacing:.14em}
.messages-inbox-head h2{margin:0;font-size:20px;letter-spacing:-.045em}
.new-message-button,.chat-new,.chat-back{width:40px;height:40px;display:grid;place-items:center;flex:none;border:1px solid var(--border);border-radius:12px;background:var(--panel-2);color:var(--text);font-size:20px}.new-message-button svg,.chat-new svg,.chat-back svg{width:18px;height:18px}
.new-message-button:hover,.chat-new:hover,.chat-back:hover{border-color:var(--border-strong);background:var(--panel-hover)}
.conversation-search{height:40px;margin:0 12px 8px;padding:0 11px;display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:12px;background:var(--input)}
.conversation-search:focus-within{border-color:var(--border-strong)}.conversation-search svg{width:17px;height:17px;flex:none;color:var(--muted)}
.conversation-search input{width:100%;height:38px;border:0;outline:0;background:none;color:var(--text);font-size:11px}.conversation-search input::placeholder{color:var(--muted-2)}
.conversation-list{min-height:0;padding:3px 7px 10px;display:grid;align-content:start;gap:2px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.conversation-list>.empty-state{margin:6px;padding:32px 14px}
.conversation-item{width:100%;min-width:0;min-height:66px;padding:8px;display:grid;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:10px;border:1px solid transparent;border-radius:13px;background:none;color:var(--text);text-align:left;transition:background .14s,border-color .14s}
.conversation-item:hover{border-color:transparent;background:var(--panel-2)}.conversation-item.active{border-color:var(--border);background:var(--panel-hover)}.conversation-item.unread{background:color-mix(in srgb,var(--text) 5%,var(--panel))}
.conversation-avatar,.chat-avatar-wrap{position:relative;display:block;width:max-content;flex:none}.conversation-avatar .avatar{width:46px;height:46px;font-size:13px}
.presence-dot{position:absolute;right:-1px;bottom:1px;width:11px;height:11px;border:3px solid var(--panel);border-radius:50%;background:#35c976;box-sizing:border-box}
.conversation-copy{min-width:0;display:grid;gap:5px}.conversation-title,.conversation-preview{min-width:0;display:flex;align-items:center;gap:5px}
.conversation-title b{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.conversation-title time{flex:none;color:var(--muted-2);font-size:8px}
.conversation-preview small{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:9px}.conversation-item.unread .conversation-preview small{color:var(--text);font-weight:600}
.conversation-preview em{min-width:19px;height:19px;padding:0 5px;display:grid;place-items:center;border-radius:10px;background:var(--accent);color:var(--accent-text);font-size:8px;font-style:normal;font-weight:800}
.conversation-read{flex:none;color:var(--muted-2);font-size:8px;font-style:normal;letter-spacing:-.14em}.conversation-read.read{color:#42a5f5}
.messages-chat{position:relative;min-width:0;min-height:0;background:var(--bg);overflow:hidden}.chat-placeholder{height:100%;padding:30px;display:grid;place-content:center;justify-items:center;text-align:center}
.chat-placeholder>span{width:68px;height:68px;display:grid;place-items:center;border:1px solid var(--border);border-radius:50%;background:var(--panel);color:var(--muted);font-size:29px}.chat-placeholder h3{margin:16px 0 5px;font-size:15px}.chat-placeholder p{max-width:330px;margin:0;color:var(--muted);font-size:10px;line-height:1.55}.chat-placeholder button{margin-top:15px;padding:9px 13px;border-radius:10px;background:var(--accent);color:var(--accent-text);font-size:9px;font-weight:700}
.chat-panel{position:relative;width:100%;height:100%;min-height:0;display:grid;grid-template-rows:64px minmax(0,1fr) auto auto auto;background:var(--bg)}
.chat-header{min-width:0;padding:0 13px;display:grid;grid-template-columns:minmax(0,1fr) 40px;align-items:center;gap:9px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--panel) 94%,transparent);backdrop-filter:blur(12px);z-index:3}
.chat-back{display:none}.chat-new{font-size:18px}.chat-user{width:max-content;max-width:100%;min-width:0;min-height:48px;padding:4px;display:flex;align-items:center;gap:10px;border-radius:12px;background:none;color:var(--text);text-align:left}
.chat-user:hover{background:var(--panel-hover)}.chat-user:disabled{cursor:default}.chat-user .avatar{width:42px;height:42px;font-size:12px}.chat-user>span:last-child{min-width:0;display:grid;gap:3px}.chat-user b,.chat-user small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-user b{font-size:11px}.chat-user small{color:var(--muted);font-size:9px}.chat-user small.online{color:#35c976}
.chat-messages{min-height:0;padding:18px clamp(16px,4vw,38px) 20px;display:block;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;background:var(--bg);scroll-behavior:smooth}
.chat-loading{height:100%;display:flex;align-items:center;justify-content:center;gap:11px}.chat-loading>span{width:28px;height:28px;border:2px solid var(--border);border-top-color:var(--text);border-radius:50%;animation:chat-spin .8s linear infinite}.chat-loading>div{display:grid;gap:3px}.chat-loading b{font-size:11px}.chat-loading small{color:var(--muted);font-size:8px}@keyframes chat-spin{to{transform:rotate(360deg)}}
.chat-empty-conversation{height:100%;display:grid;place-content:center;justify-items:center;text-align:center}.chat-empty-conversation>span{width:56px;height:56px;display:grid;place-items:center;border-radius:16px;background:var(--panel-2);border:1px solid var(--border)}.chat-empty-conversation>span svg{width:24px;height:24px}.chat-empty-conversation b{margin-top:9px;font-size:13px}.chat-empty-conversation small{max-width:280px;margin-top:4px;color:var(--muted);font-size:9px;line-height:1.45}
.message-day{position:sticky;top:0;margin:5px 0 14px;display:flex;justify-content:center;z-index:2;pointer-events:none}.message-day span{padding:5px 9px;border:1px solid var(--border);border-radius:999px;background:color-mix(in srgb,var(--panel) 92%,transparent);color:var(--muted);font-size:8px;font-weight:650;backdrop-filter:blur(8px)}
.load-older-messages{min-height:36px;margin:0 auto 14px;padding:7px 12px;display:block;border:1px solid var(--border);border-radius:10px;background:var(--panel);color:var(--muted);font-size:8px}.load-older-messages:hover{border-color:var(--border-strong);color:var(--text)}
.message-row{position:relative;width:100%;margin-top:2px;display:flex;align-items:center;justify-content:flex-start;gap:5px}.message-row.mine{flex-direction:row-reverse}.message-row.group-start{margin-top:8px}
.message-bubble{position:relative;width:max-content;max-width:min(78%,520px);padding:8px 10px 6px;border:1px solid var(--border);border-radius:17px 17px 17px 5px;background:var(--panel);color:var(--text);font-size:11px;line-height:1.45;white-space:normal;overflow:hidden}.message-bubble.mine{align-self:auto;border-color:var(--border-strong);border-radius:17px 17px 5px 17px;background:color-mix(in srgb,var(--text) 9%,var(--panel));color:var(--text)}
.message-row:not(.group-start):not(.mine) .message-bubble{border-top-left-radius:7px}.message-row:not(.group-start).mine .message-bubble{border-top-right-radius:7px}.message-row:not(.group-end):not(.mine) .message-bubble{border-bottom-left-radius:7px}.message-row:not(.group-end).mine .message-bubble{border-bottom-right-radius:7px}
.message-bubble p{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.message-bubble footer{min-height:13px;margin:3px 0 -1px 9px;display:flex;align-items:end;justify-content:flex-end;gap:4px;color:var(--muted);font-size:7px;line-height:1}.message-bubble footer span{font-size:6px}.message-bubble footer time{font-variant-numeric:tabular-nums}.message-read{color:var(--muted-2);font-style:normal;letter-spacing:-.18em}.message-read.read{color:#42a5f5}
.message-photo{display:block;width:min(360px,55vw);max-height:380px;margin:-3px -5px 5px;max-width:calc(100% + 10px);border-radius:12px;object-fit:cover;background:var(--panel-2)}
.message-more{width:40px;height:40px;display:grid;place-items:center;border-radius:10px;background:none;color:var(--muted);font-size:10px;opacity:0;transition:opacity .14s,background .14s}.message-row:hover .message-more,.message-more:focus-visible{opacity:1}.message-more:hover{background:var(--panel-hover);color:var(--text)}.message-more svg{width:16px;height:16px}
.message-inline-actions{position:absolute;right:0;bottom:calc(100% + 5px);min-width:120px;padding:5px;display:grid;gap:2px;border:1px solid var(--border-strong);border-radius:11px;background:var(--panel);box-shadow:0 10px 30px rgba(0,0,0,.26);z-index:5}.message-inline-actions[hidden]{display:none}.message-inline-actions button{min-height:34px;padding:7px 9px;border-radius:7px;background:none;color:var(--text);font-size:8px;text-align:left}.message-inline-actions button:hover{background:var(--panel-hover)}.message-inline-actions button.danger{color:var(--danger)}
.chat-jump-latest{position:absolute;right:18px;bottom:73px;min-height:34px;padding:7px 11px;border:1px solid var(--border-strong);border-radius:18px;background:var(--panel);color:var(--text);font-size:8px;box-shadow:0 6px 22px rgba(0,0,0,.2);z-index:4}.chat-jump-latest[hidden]{display:none}
.chat-edit-banner{min-height:46px;padding:7px 13px;display:flex;align-items:center;gap:10px;border-top:1px solid var(--border);background:var(--panel)}.chat-edit-banner[hidden]{display:none}.chat-edit-banner>span{min-width:0;flex:1;display:grid;gap:2px;padding-left:9px;border-left:2px solid var(--text)}.chat-edit-banner b{font-size:9px}.chat-edit-banner small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:8px}.chat-edit-banner button{width:34px;height:34px;border-radius:9px;background:none;color:var(--muted);font-size:16px}
.chat-image-preview{position:relative;width:max-content;max-width:calc(100% - 24px);margin:8px 12px 0;padding:4px;border:1px solid var(--border);border-radius:12px;background:var(--panel)}.chat-image-preview[hidden]{display:none}.chat-image-preview img{display:block;width:76px;height:76px;border-radius:9px;object-fit:cover}.chat-image-preview button{position:absolute;right:-8px;top:-8px;width:26px;height:26px;border:2px solid var(--panel);border-radius:50%;background:var(--text);color:var(--bg);font-size:14px}
#chatForm{min-height:58px;padding:9px 12px max(9px,env(safe-area-inset-bottom));display:grid;grid-template-columns:40px minmax(0,1fr) 40px;align-items:end;gap:8px;border-top:1px solid var(--border);background:var(--panel)}
.chat-attach{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;color:var(--muted);cursor:pointer}.chat-attach:hover{background:var(--panel-hover);color:var(--text)}.chat-attach.loading{pointer-events:none;opacity:.45}.chat-attach svg{width:19px;height:19px}
#chatForm.editing .chat-attach{pointer-events:none;opacity:.35}
#chatForm textarea{width:100%;min-height:40px;max-height:120px;padding:10px 12px;border:1px solid var(--border);border-radius:14px;outline:0;background:var(--input);color:var(--text);font:inherit;font-size:11px;line-height:1.4;resize:none;overflow-y:auto}#chatForm textarea:focus{border-color:var(--border-strong)}#chatForm textarea:disabled{opacity:.55}
#chatForm textarea{scrollbar-width:none}#chatForm textarea::-webkit-scrollbar{display:none}
#chatForm>button{width:40px;height:40px;display:grid;place-items:center;flex:none;border-radius:50%;background:var(--accent);color:var(--accent-text)}#chatForm>button:disabled{background:var(--panel-hover);color:var(--muted);opacity:1}#chatForm>button svg{width:18px;height:18px}

@media(min-width:721px) and (max-width:1120px){
  .messages-page,.sidebar.collapsed~.main-content .messages-page{left:0;width:100%;margin-left:0;padding-top:10px;transform:none}.messages-workspace{height:calc(100dvh - 145px);min-height:480px;grid-template-columns:300px minmax(0,1fr)}
}
@media(max-width:720px){
  body.mobile-chat-open{height:100dvh;overflow:hidden;overscroll-behavior:none}body.mobile-chat-open .mobile-tabs{display:none}.messages-page,.sidebar.collapsed~.main-content .messages-page{position:static;left:auto;width:100%;margin:0;padding-top:7px;transform:none}
  .messages-workspace{width:100%;height:auto;min-height:0;max-height:none;display:block;border:0;border-radius:0;background:none;overflow:visible}.messages-inbox{display:grid;min-height:0;border:0;background:none}.messages-inbox-head{min-height:61px;padding:4px 2px 10px}.messages-inbox-head p{font-size:9px}.messages-inbox-head h2{font-size:24px}.new-message-button{width:44px;height:44px;border-radius:13px}
  .conversation-search{height:48px;margin:0 0 9px;padding-inline:13px;border-radius:14px;background:var(--panel)}.conversation-search svg{width:19px;height:19px}.conversation-search input{height:46px;font-size:16px}.conversation-list{padding:0 0 7px;gap:2px;overflow:visible}.conversation-item{min-height:74px;padding:9px 6px;grid-template-columns:52px minmax(0,1fr);gap:11px;border-bottom:1px solid var(--border);border-radius:12px}.conversation-avatar .avatar{width:52px;height:52px;font-size:15px}.presence-dot{width:13px;height:13px}.conversation-title b{font-size:14px}.conversation-title time{font-size:10px}.conversation-preview small{font-size:12px}.conversation-preview em{min-width:21px;height:21px;font-size:9px}.conversation-read{font-size:10px}.conversation-item.active{border-color:transparent}
  .messages-chat{display:none}.messages-workspace.has-active-chat .messages-inbox{display:none}.messages-workspace.has-active-chat .messages-chat{position:fixed;inset:0;width:100vw;height:100dvh;display:block;background:var(--bg);z-index:80}.chat-placeholder{display:none}.chat-panel{grid-template-rows:calc(64px + env(safe-area-inset-top)) minmax(0,1fr) auto auto auto}
  .chat-header{padding:env(safe-area-inset-top) max(9px,env(safe-area-inset-right)) 0 max(8px,env(safe-area-inset-left));grid-template-columns:44px minmax(0,1fr) 44px;gap:5px}.chat-back{display:grid;width:44px;height:44px;border:0;background:none}.chat-new{width:44px;height:44px;border:0;background:none}.chat-user{width:100%;height:52px;max-width:none;padding:4px 2px;gap:9px}.chat-user:hover{background:none}.chat-user .avatar{width:43px;height:43px}.chat-user b{font-size:14px}.chat-user small{font-size:11px}
  .chat-messages{padding:14px max(10px,env(safe-area-inset-right)) 18px max(10px,env(safe-area-inset-left));scroll-padding-bottom:18px}.message-day{margin-bottom:12px}.message-day span{font-size:10px}.load-older-messages{min-height:44px;font-size:11px}.message-row{gap:3px}.message-row.group-start{margin-top:7px}.message-bubble{max-width:87%;padding:9px 11px 7px;font-size:14px;line-height:1.45}.message-bubble footer{font-size:9px}.message-bubble footer span{font-size:8px}.message-photo{width:min(340px,72vw);max-height:52dvh}.message-more{width:44px;min-width:44px;height:44px;flex:0 0 44px;opacity:1}.message-inline-actions{min-width:145px;padding:6px}.message-inline-actions button{min-height:44px;font-size:12px}.chat-empty-conversation b{font-size:15px}.chat-empty-conversation small{font-size:11px}
  .chat-jump-latest{right:max(12px,env(safe-area-inset-right));bottom:calc(72px + env(safe-area-inset-bottom));min-height:40px;padding-inline:13px;font-size:11px}.chat-edit-banner{min-height:52px;padding-inline:max(12px,env(safe-area-inset-left)) max(12px,env(safe-area-inset-right))}.chat-edit-banner b{font-size:12px}.chat-edit-banner small{font-size:10px}.chat-edit-banner button{width:44px;height:44px}.chat-image-preview{margin-left:max(12px,env(safe-area-inset-left))}.chat-image-preview img{width:86px;height:86px}.chat-image-preview button{width:32px;height:32px}
  #chatForm{min-height:62px;padding:9px max(10px,env(safe-area-inset-right)) max(9px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));grid-template-columns:44px minmax(0,1fr) 44px;gap:7px}.chat-attach,#chatForm>button{width:44px;height:44px}.chat-attach svg,#chatForm>button svg{width:20px;height:20px}#chatForm textarea{min-height:44px;padding:10px 12px;border-radius:15px;font-size:16px;line-height:1.45}
  .picker-shell .picker-results{padding-bottom:env(safe-area-inset-bottom)}
}
@media(pointer:coarse){.message-more{opacity:1}}

/* Full-map layout has five content rows: controls, filters, summary, notice and map. */
.nearby-workspace.fullscreen{grid-template-rows:auto auto auto auto minmax(0,1fr)}

/* Mobile corrective pass */
@media(min-width:721px) and (max-width:1120px){
  .post-dialog-shell{grid-template-rows:calc(54px + env(safe-area-inset-top)) minmax(0,1fr) minmax(180px,42dvh)}
  .post-dialog-shell>header{height:auto;padding:env(safe-area-inset-top) max(17px,env(safe-area-inset-right)) 0 max(17px,env(safe-area-inset-left))}
  .post-dialog-shell>div#postDetail{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}
  .comments-section{min-height:0}.comments-heading,.comments-list{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}.comments-list{min-height:0;overflow:auto}
  #commentForm{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
  .chat-shell{grid-template-rows:calc(58px + env(safe-area-inset-top)) minmax(0,1fr) auto}.chat-shell header{padding:env(safe-area-inset-top) max(13px,env(safe-area-inset-right)) 0 max(10px,env(safe-area-inset-left))}.chat-messages{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}#chatForm{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}
}
@media(max-width:1120px){
  .chat-shell header>.chat-user{width:auto;height:44px;min-width:0;flex:1 1 auto;justify-content:flex-start;border-radius:10px;background:none;color:var(--text);font-size:inherit}.chat-shell header>.chat-user>span:last-child{min-width:0;overflow:hidden}.chat-shell header>.chat-user b,.chat-shell header>.chat-user small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-shell header>button:last-child{flex:none}
}
@media(max-width:720px){
  .map-search-results{top:calc(max(20px,env(safe-area-inset-top)) + 124px)}.circle-card>button.circle-open{min-height:44px;align-content:center}.public-profile-main>div{min-width:0}.public-profile-main h2,.public-profile-main p{overflow-wrap:anywhere}.admin-user,.bot-check-row{grid-template-columns:1fr}.admin-user select{width:100%}.bot-check-actions{width:100%;justify-content:stretch}.bot-check-actions button{flex:1 1 auto}
}
@media(max-width:520px){
  .conversation-item>.unread-dot{grid-column:2;grid-row:1;align-self:center;justify-self:end}.conversation-item.unread>div{padding-right:16px}.profile-actions>button:only-child{grid-column:1/-1}.profile-actions .profile-more-action{font-size:0}.profile-actions .profile-more-action::after{content:"Ещё";font-size:12px}
}

/* Release 14 — event lifecycle and verified, event-scoped reviews */
.event-request-closed{padding:6px 8px;border:1px solid var(--border);border-radius:8px;color:var(--muted);font-size:7px;white-space:nowrap}
.event-lifecycle{margin:17px 0 0;padding:12px 13px;border:1px solid var(--border);border-radius:14px;background:var(--panel-2);display:flex;align-items:center;justify-content:space-between;gap:14px}.event-lifecycle-copy{min-width:0;display:flex;align-items:center;gap:10px}.event-lifecycle-icon{width:38px;height:38px;display:grid;place-items:center;flex:none;border:1px solid var(--border);border-radius:11px;background:var(--panel)}.event-lifecycle-icon svg{width:19px;height:19px}.event-lifecycle-copy>div{min-width:0;display:grid;gap:2px}.event-lifecycle-copy small,.event-review-heading small{color:var(--muted-2);font-size:7px;font-weight:800;letter-spacing:.11em}.event-lifecycle-copy b{font-size:10px}.event-lifecycle-copy p{margin:0;color:var(--muted);font-size:8px;line-height:1.45}.event-lifecycle-copy time{white-space:nowrap}.event-lifecycle[data-lifecycle-status="completed"]{border-color:color-mix(in srgb,var(--success) 30%,var(--border))}.event-lifecycle[data-lifecycle-status="cancelled"]{border-color:color-mix(in srgb,var(--danger) 30%,var(--border))}.event-lifecycle-actions{display:flex;flex:none;gap:6px}.event-lifecycle-actions button{min-height:36px;padding:7px 10px;border:1px solid var(--border);border-radius:9px;background:var(--panel);color:var(--muted);font-size:8px}.event-lifecycle-actions button.complete{display:inline-flex;align-items:center;gap:5px;border-color:color-mix(in srgb,var(--success) 36%,var(--border));color:var(--success)}.event-lifecycle-actions svg{width:14px;height:14px}

.event-reviews-section{margin:18px 0 24px;padding:17px 0 2px;border-top:1px solid var(--border)}.event-review-heading{margin-bottom:12px;display:flex;align-items:end;justify-content:space-between;gap:12px}.event-review-heading>div:first-child{display:grid;gap:3px}.event-review-heading h3{margin:0;font-size:13px}.event-review-heading-icon,.event-review-heading-icon svg{width:20px;height:20px;color:var(--muted)}.event-reviews-locked>p{margin:0;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--panel-2);color:var(--muted);font-size:8px;line-height:1.5}.event-reviews-loading,.event-reviews-zero{color:var(--muted);font-size:8px}.event-reviews-summary{display:flex;align-items:center;gap:6px}.event-reviews-summary>b{font-size:10px}.event-reviews-summary>span{color:var(--muted);font-size:8px}.event-review-stars{display:inline-flex;gap:2px;color:var(--muted-2)}.event-review-stars i{width:15px;height:15px;display:inline-flex}.event-review-stars svg{width:100%;height:100%;fill:none;stroke:currentColor}.event-review-stars i.filled{color:var(--warning)}.event-review-stars i.filled svg{fill:currentColor}.event-review-stars.compact i{width:12px;height:12px}.event-review-invites{margin-bottom:11px;padding:11px;border:1px solid var(--border);border-radius:13px;background:var(--panel-2);display:grid;gap:9px}.event-review-invites>div:first-child{display:grid;gap:3px}.event-review-invites b{font-size:9px}.event-review-invites small{color:var(--muted);font-size:7px;line-height:1.45}.event-review-invites>div:last-child{display:flex;gap:6px;overflow:auto;padding-bottom:1px}.event-review-invites button{min-width:max-content;min-height:38px;padding:5px 7px 5px 5px;display:flex;align-items:center;gap:7px;border:1px solid var(--border);border-radius:10px;background:var(--panel);font-size:8px}.event-review-invites .avatar{width:27px;height:27px;font-size:8px}.event-review-invite-icon,.event-review-invite-icon svg{width:13px;height:13px;color:var(--muted)}.event-reviews-list{display:grid;gap:8px}.event-review-card{padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--panel-2)}.event-review-card>header{display:flex;align-items:center;justify-content:space-between;gap:9px}.event-review-card>header>button{min-width:0;display:flex;align-items:center;gap:8px;background:none;text-align:left}.event-review-card>header .avatar{width:34px;height:34px}.event-review-card>header button>span:last-child{min-width:0;display:grid;gap:2px}.event-review-card>header b{font-size:9px}.event-review-card>header small{color:var(--muted);font-size:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-review-status{width:max-content;padding:3px 6px;border:1px solid var(--border);border-radius:7px;color:var(--muted);font-size:7px;font-weight:750;white-space:nowrap}.event-review-status.disputed,.event-review-status.pending{border-color:color-mix(in srgb,var(--warning) 42%,var(--border));color:var(--warning)}.event-review-status.rejected,.event-review-status.removed{border-color:color-mix(in srgb,var(--danger) 38%,var(--border));color:var(--danger)}.event-review-score{margin-top:10px;display:flex;align-items:center;justify-content:space-between;gap:9px}.event-review-score>div{display:flex;align-items:center;gap:6px}.event-review-score>div>b{font-size:9px}.event-review-score>small{color:var(--muted);font-size:7px}.event-review-score>small button{padding:0;background:none;color:var(--text);font-size:inherit}.event-review-criteria{margin-top:8px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.event-review-criteria>span{min-width:0;padding:7px;border:1px solid var(--border);border-radius:9px;background:var(--panel);display:grid;gap:3px}.event-review-criteria small{color:var(--muted);font-size:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-review-criteria b{font-size:8px}.event-review-comment{margin:10px 0 0;font-size:9px;line-height:1.55;white-space:pre-wrap}.event-review-moderation{margin:8px 0 0;padding:8px;border-left:2px solid var(--warning);background:color-mix(in srgb,var(--warning) 5%,transparent);color:var(--muted);font-size:7px;line-height:1.45}.event-review-reply{margin:10px 0 0;padding:9px 10px;display:grid;grid-template-columns:22px minmax(0,1fr);gap:7px;border-left:2px solid var(--border-strong);background:var(--panel)}.event-review-reply-icon,.event-review-reply-icon svg{width:17px;height:17px;color:var(--muted)}.event-review-reply small{color:var(--muted);font-size:7px}.event-review-reply p{margin:3px 0 0;font-size:8px;line-height:1.5;white-space:pre-wrap}.event-review-controls{margin-top:9px;padding-top:8px;border-top:1px solid var(--border);display:flex;gap:5px;flex-wrap:wrap}.event-review-controls button{min-height:32px;padding:6px 8px;display:inline-flex;align-items:center;gap:5px;border-radius:8px;background:none;color:var(--muted);font-size:7px}.event-review-controls button:hover{background:var(--panel-hover);color:var(--text)}.event-review-control-icon,.event-review-control-icon svg{width:13px;height:13px}.event-review-inline-form{margin-top:9px;padding:10px;border:1px solid var(--border);border-radius:11px;background:var(--panel);display:grid;gap:7px}.event-review-inline-form[hidden]{display:none}.event-review-inline-form label{display:grid;gap:5px;color:var(--muted);font-size:8px}.event-review-inline-form textarea{width:100%;padding:9px;border:1px solid var(--border);border-radius:9px;outline:0;background:var(--input);color:var(--text);font-size:9px;line-height:1.45;resize:vertical}.event-review-inline-form textarea:focus{border-color:var(--border-strong)}.event-review-inline-form>div{display:flex;justify-content:flex-end;gap:6px}.event-review-inline-form button{min-height:34px;padding:7px 10px;border:1px solid var(--border);border-radius:8px;background:none;color:var(--muted);font-size:8px}.event-review-inline-form button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.event-review-inline-form button.danger{color:var(--danger)}

.event-review-dialog[open]{display:grid;place-items:center;max-width:none;max-height:none;width:100vw;height:100dvh;margin:0;background:transparent}.event-review-form{position:relative;width:min(92vw,540px);max-height:92dvh;overflow:auto;padding:22px;border:1px solid var(--border-strong);border-radius:21px;background:var(--panel);box-shadow:0 24px 80px rgba(0,0,0,.48)}.event-review-form>header{padding-right:42px}.event-review-form>header p{margin:0 0 6px;color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.15em}.event-review-form>header h2{margin:0;font-size:21px;letter-spacing:-.045em}.event-review-form>header>button{position:absolute;right:18px;top:18px;width:40px;height:40px;border-radius:50%;background:var(--panel-hover);color:var(--muted);font-size:17px}.event-review-target{margin-top:16px;padding:9px;display:flex;align-items:center;gap:9px;border:1px solid var(--border);border-radius:12px;background:var(--panel-2)}.event-review-target>span:last-child{display:grid;gap:3px}.event-review-target b{font-size:10px}.event-review-target small{color:var(--muted);font-size:8px}.event-review-rating{margin:15px 0 0;padding:0;border:0}.event-review-rating legend,.event-review-form label{color:var(--muted);font-size:9px}.event-review-rating>div{margin-top:7px;display:grid;grid-template-columns:repeat(5,1fr);gap:5px}.event-review-rating label{cursor:pointer}.event-review-rating input{position:absolute;opacity:0;pointer-events:none}.event-review-rating span{height:42px;display:grid;place-items:center;border:1px solid var(--border);border-radius:10px;background:var(--input);color:var(--muted);font-size:11px;font-weight:750}.event-review-rating input:checked+span{border-color:var(--text);background:var(--accent);color:var(--accent-text)}.event-review-rating input:focus-visible+span{outline:2px solid var(--focus);outline-offset:2px}.event-review-rating>small{display:block;margin-top:6px;color:var(--muted-2);font-size:7px}.event-review-criteria-form{margin-top:13px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.event-review-criteria-form label,.event-review-comment-field{display:grid;gap:6px}.event-review-criteria-form select,.event-review-comment-field textarea{width:100%;border:1px solid var(--border);border-radius:10px;outline:0;background:var(--input);color:var(--text);font-size:10px}.event-review-criteria-form select{height:41px;padding:0 10px}.event-review-comment-field{margin-top:13px}.event-review-comment-field textarea{padding:10px;line-height:1.5;resize:vertical}.event-review-criteria-form select:focus,.event-review-comment-field textarea:focus{border-color:var(--border-strong)}.event-review-safety-note{margin:10px 0 0;color:var(--muted);font-size:8px;line-height:1.5}.event-review-form>.primary-button{width:100%;min-height:43px}.event-review-form .form-error{margin-top:8px}

.admin-review-filter{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:8px}.admin-review-filter select{height:33px;padding:0 8px;border:1px solid var(--border);border-radius:9px;background:var(--input);color:var(--text);font-size:8px}.admin-event-reviews{display:grid;gap:6px}.admin-event-review{padding:10px;border:1px solid var(--border);border-radius:11px;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.9fr);align-items:center;gap:10px}.admin-event-review-copy{min-width:0;display:grid;gap:4px}.admin-event-review-copy>div{display:flex;align-items:center;gap:6px}.admin-event-review-copy>button{width:max-content;max-width:100%;padding:0;background:none;font-size:9px;font-weight:700;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-event-review-copy>small{color:var(--muted);font-size:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-event-review-controls{display:grid;grid-template-columns:125px minmax(0,1fr) auto;gap:6px}.admin-event-review-controls select,.admin-event-review-controls input{min-width:0;height:34px;padding:0 8px;border:1px solid var(--border);border-radius:8px;background:var(--input);color:var(--text);font-size:8px}.admin-event-review-controls button{min-height:34px;padding:7px 9px;border-radius:8px;background:var(--accent);color:var(--accent-text);font-size:8px;font-weight:700}

@media(max-width:720px){
  .event-request-closed{min-height:44px;display:flex;align-items:center;justify-content:center;font-size:10px}
  .event-lifecycle{align-items:stretch;flex-direction:column;padding:12px}.event-lifecycle-icon{width:42px;height:42px}.event-lifecycle-copy small,.event-review-heading small{font-size:9px}.event-lifecycle-copy b{font-size:13px}.event-lifecycle-copy p{font-size:10px}.event-lifecycle-actions{display:grid;grid-template-columns:1fr 1fr}.event-lifecycle-actions button{min-height:44px;font-size:11px;justify-content:center}
  .event-reviews-section{margin-top:16px;padding-top:15px}.event-review-heading{align-items:flex-start;flex-direction:column}.event-review-heading h3{font-size:15px}.event-reviews-locked>p,.event-reviews-loading,.event-reviews-zero{font-size:11px}.event-reviews-summary{width:100%}.event-reviews-summary>b{font-size:13px}.event-reviews-summary>span{font-size:10px}.event-review-stars i{width:18px;height:18px}.event-review-stars.compact i{width:15px;height:15px}.event-review-invites{padding:11px}.event-review-invites b{font-size:12px}.event-review-invites small{font-size:10px}.event-review-invites button{min-height:44px;font-size:11px}.event-review-invites .avatar{width:34px;height:34px}.event-review-card{padding:11px}.event-review-card>header .avatar{width:40px;height:40px}.event-review-card>header b{font-size:12px}.event-review-card>header small,.event-review-status{font-size:9px}.event-review-score>div>b{font-size:12px}.event-review-score>small{font-size:9px}.event-review-criteria{grid-template-columns:1fr 1fr}.event-review-criteria>span{padding:8px}.event-review-criteria small{font-size:9px}.event-review-criteria b{font-size:11px}.event-review-comment{font-size:12px}.event-review-moderation,.event-review-reply small{font-size:10px}.event-review-reply p{font-size:11px}.event-review-controls button{min-height:44px;padding-inline:10px;font-size:10px}.event-review-inline-form label{font-size:11px}.event-review-inline-form textarea{min-height:96px;font-size:16px}.event-review-inline-form button{min-height:44px;font-size:11px}
  .event-review-dialog[open]{overflow:hidden;overscroll-behavior:contain}.event-review-form{width:100vw;height:100dvh;max-height:none;padding:max(20px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));border:0;border-radius:0;box-shadow:none}.event-review-form>header{min-height:52px;padding-right:54px}.event-review-form>header p{font-size:10px}.event-review-form>header h2{font-size:23px}.event-review-form>header>button{top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));width:44px;height:44px}.event-review-target{min-height:60px}.event-review-target b{font-size:13px}.event-review-target small{font-size:10px}.event-review-rating legend,.event-review-form label{font-size:12px}.event-review-rating span{height:48px;font-size:14px}.event-review-rating>small,.event-review-safety-note{font-size:10px}.event-review-criteria-form{grid-template-columns:1fr}.event-review-criteria-form select{height:48px;font-size:16px}.event-review-comment-field textarea{min-height:112px;font-size:16px}.event-review-form>.primary-button{min-height:48px;font-size:13px}
  .admin-review-filter{width:100%;justify-content:space-between;font-size:11px}.admin-review-filter select{min-height:44px;font-size:12px}.admin-event-review{grid-template-columns:1fr}.admin-event-review-copy>button{font-size:12px}.admin-event-review-copy>small{font-size:10px;white-space:normal;line-height:1.45}.admin-event-review-controls{grid-template-columns:1fr}.admin-event-review-controls select,.admin-event-review-controls input,.admin-event-review-controls button{min-height:44px;font-size:12px}
}

/* Release 17 — stable layout, media, recommendations and device settings */
:root{
  --app-viewport-height:100dvh;
  --app-viewport-width:100vw;
  --visual-viewport-top:0px;
  --keyboard-inset:0px;
}
html{
  min-width:320px;
  min-height:100%;
  overflow-x:hidden;
  scrollbar-gutter:stable;
  text-size-adjust:100%;
  -webkit-text-size-adjust:100%;
}
body{
  min-width:320px;
  min-height:100%;
  overflow-x:hidden;
}
img,video,canvas{max-width:100%}
.app-shell,.main-content,.view-panel,.feed,.post-card,.post-top,.post-body,.post-detail{min-width:0}
.main-content{contain:inline-size}
.avatar{
  min-width:38px;
  aspect-ratio:1;
  contain:layout paint;
  transform:translateZ(0);
}
.avatar>img,.avatar.has-image>img{width:100%;height:100%;object-fit:cover}
.profile-avatar{min-width:76px}
.conversation-avatar .avatar{min-width:46px}
.chat-user .avatar{min-width:42px}
.post-top .avatar,.comment-row .avatar{min-width:0}
.post-card,.own-profile-card,.public-profile-card,.nearby-workspace,.messages-workspace{
  backface-visibility:hidden;
}

.feed-filter-bar{
  margin:-4px 0 13px;
  padding:8px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  border:1px solid var(--border);
  border-radius:14px;
  background:var(--panel);
}
.feed-filter-bar label{min-width:0;display:grid;gap:4px}
.feed-filter-bar label>span{padding-inline:3px;color:var(--muted);font-size:8px;font-weight:700}
.feed-filter-bar select{
  width:100%;
  height:36px;
  padding:0 30px 0 10px;
  border:1px solid transparent;
  border-radius:9px;
  outline:0;
  background:var(--panel-2);
  color:var(--text);
  font:inherit;
  font-size:9px;
  text-overflow:ellipsis;
}
.feed-filter-bar select:hover,.feed-filter-bar select:focus{border-color:var(--border-strong)}
.event-date-field small,.participation-settings label>small{
  color:var(--muted-2);
  font-size:8px;
  font-weight:500;
  line-height:1.4;
}

.post-media-grid{contain:layout paint}
.post-media-grid img{
  height:auto!important;
  aspect-ratio:16/10;
  object-fit:cover;
  cursor:zoom-in;
}
.post-media-grid:not(.one) img{height:auto!important;aspect-ratio:1}
.post-media-grid:not(.one)>img:first-child:nth-last-child(3){
  grid-column:1/-1;
  aspect-ratio:16/9;
}
.message-photo{
  width:min(360px,55vw);
  height:auto;
  aspect-ratio:4/3;
  max-height:min(380px,52dvh);
  object-fit:cover;
  cursor:zoom-in;
}
.comment-content img{
  width:min(250px,100%);
  height:auto;
  aspect-ratio:4/3;
  object-fit:cover;
  cursor:zoom-in;
}
.media-lightbox[open],dialog.media-lightbox[open]{
  width:100vw;
  height:100dvh;
  max-width:none;
  max-height:none;
  margin:0;
  padding:0;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:0;
  background:rgba(0,0,0,.92);
}
.media-lightbox::backdrop,dialog.media-lightbox::backdrop{background:rgba(0,0,0,.84)}
.media-lightbox-shell,.lightbox-shell{
  position:relative;
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  padding:max(58px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));
}
.media-lightbox img,.media-lightbox-image,.lightbox-image{
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  border-radius:8px;
  user-select:none;
}
.media-lightbox button,.media-lightbox-close,.lightbox-close{
  position:absolute;
  top:max(10px,env(safe-area-inset-top));
  right:max(10px,env(safe-area-inset-right));
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.18);
  border-radius:50%;
  background:rgba(20,20,20,.72);
  color:#fff;
  font-size:22px;
  backdrop-filter:blur(12px);
}

.crop-canvas-frame{
  position:relative;
  width:100%;
  margin:13px 0;
  overflow:hidden;
  border-radius:13px;
  background:var(--input);
  touch-action:none;
}
.crop-canvas-frame #coverCanvas{width:100%;height:auto;margin:0;border-radius:0}
.crop-mask{position:absolute;inset:0;pointer-events:none;border:2px solid rgba(255,255,255,.92);border-radius:12px;box-shadow:0 0 0 999px rgba(0,0,0,.36)}
#coverCropDialog[data-crop-mode="avatar"] .crop-canvas-frame{
  width:min(100%,540px);
  aspect-ratio:1;
  margin-inline:auto;
  border-radius:50%;
}
#coverCropDialog[data-crop-mode="avatar"] #coverCanvas{width:100%;height:100%;object-fit:cover}
#coverCropDialog[data-crop-mode="avatar"] .crop-mask{border-radius:50%}

.nearby-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
.near-map-shell,.map-picker-canvas{isolation:isolate;background:var(--panel-2)}
.map-picker-canvas{position:relative;min-height:360px;margin-top:10px;overflow:hidden;border:1px solid var(--border);border-radius:15px}
.map-picker-canvas #leafletMap{width:100%;height:100%;min-height:360px;margin:0;border:0;border-radius:0}
.odar-map-container{position:relative;min-height:inherit;background:var(--panel-2)}
.map-provider-status{
  position:absolute;
  left:50%;
  bottom:14px;
  z-index:900;
  width:min(calc(100% - 24px),440px);
  min-height:42px;
  padding:9px 11px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  border:1px solid var(--border-strong);
  border-radius:12px;
  background:color-mix(in srgb,var(--panel) 94%,transparent);
  color:var(--muted);
  font-size:9px;
  line-height:1.4;
  text-align:center;
  box-shadow:0 8px 28px rgba(0,0,0,.24);
  backdrop-filter:blur(12px);
  transform:translateX(-50%);
}
.map-provider-status[hidden]{display:none}
.map-provider-status.warning,.map-provider-status.error{color:var(--text)}
.map-provider-status button{
  min-height:32px;
  padding:6px 9px;
  flex:none;
  border:1px solid var(--border-strong);
  border-radius:8px;
  background:var(--panel-2);
  color:var(--text);
  font-size:8px;
}
.map-provider-note{
  position:absolute;
  left:12px;
  right:12px;
  bottom:12px;
  z-index:800;
  padding:10px;
  border:1px solid var(--border-strong);
  border-radius:11px;
  background:color-mix(in srgb,var(--panel) 94%,transparent);
  color:var(--muted);
  font-size:9px;
  text-align:center;
  backdrop-filter:blur(10px);
}
.map-provider-note[hidden]{display:none}
.map-tiles-unavailable .leaflet-tile-pane{opacity:.82}
.leaflet-container{min-height:inherit;outline:0}
.leaflet-tile{will-change:auto}

.verified-mark{
  display:inline-flex!important;
  width:16px!important;
  min-width:16px!important;
  height:16px!important;
  min-height:16px!important;
  contain:layout paint size;
}
:is(.person strong,.search-item b,.conversation-title,.chat-user b,.comment-content>div:first-child,.profile-friend small,.public-profile-main h2,.profile-hero h2,.notification-item b,.picker-person b){
  min-width:0;
  align-items:center;
}
:is(.conversation-title,.chat-user b,.comment-content>div:first-child,.notification-item b) .verified-mark{flex:0 0 16px}
.chat-user b{display:flex}
.conversation-title b{display:flex;align-items:center;gap:4px}

.notification-settings-section{display:grid;gap:11px}
.device-notifications-card{
  padding:13px;
  display:grid;
  gap:10px;
  border:1px solid var(--border);
  border-radius:13px;
  background:var(--panel-2);
}
.device-notifications-card>div:first-child{display:grid;gap:4px}
.device-notifications-card b{font-size:10px}
.device-notifications-card small,.device-notifications-card>p{
  margin:0;
  color:var(--muted);
  font-size:8px;
  line-height:1.45;
}
.notification-preferences,.advanced-settings,.email-change-panel{
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:13px;
  background:var(--panel-2);
}
.notification-preferences>summary,.advanced-settings>summary,.email-change-panel>summary{
  min-height:44px;
  padding:10px 12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  color:var(--text);
  font-size:9px;
  font-weight:700;
  cursor:pointer;
  list-style:none;
}
.notification-preferences>summary::-webkit-details-marker,.advanced-settings>summary::-webkit-details-marker,.email-change-panel>summary::-webkit-details-marker{display:none}
.notification-preferences>summary::after,.advanced-settings>summary::after,.email-change-panel>summary::after{
  content:"⌄";
  color:var(--muted);
  font-size:15px;
  transition:transform .16s ease;
}
.notification-preferences[open]>summary::after,.advanced-settings[open]>summary::after,.email-change-panel[open]>summary::after{transform:rotate(180deg)}
.notification-preferences-grid{padding:2px 12px 12px;display:grid;grid-template-columns:1fr 1fr;gap:4px 16px}
.notification-preferences-grid .setting-switch{margin:0}
.notification-preferences-note{margin:0;padding:0 12px 8px;color:var(--muted);font-size:8px;line-height:1.45}
.push-test-link{
  width:max-content;
  padding:5px 0;
  background:none;
  color:var(--muted);
  font-size:8px;
  text-decoration:underline;
  text-underline-offset:3px;
}
.identity-verification-details{background:var(--panel)}
.identity-verification-details>summary>span{display:grid;gap:3px}
.identity-verification-details>summary b{font-size:10px}
.identity-verification-details>summary small{color:var(--muted);font-size:8px;font-weight:500}
.identity-verification-details .profile-verification-application{
  margin:0 10px 10px;
  padding:14px;
  border-radius:12px;
  background:var(--panel-2);
}
.verification-photo-field>small{font-weight:500}
.verification-photo-field>input{
  min-height:44px;
  padding:8px!important;
  border:1px dashed var(--border-strong)!important;
  cursor:pointer;
}
.verification-photo-field>span{color:var(--muted-2);font-size:8px;line-height:1.45}
.verification-evidence-preview{
  margin-top:3px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
}
.verification-evidence-preview[hidden]{display:none}
.verification-evidence-preview>span{position:relative;min-width:0;aspect-ratio:1;overflow:hidden;border:1px solid var(--border);border-radius:10px;background:var(--panel)}
.verification-evidence-preview img{width:100%;height:100%;object-fit:cover;cursor:zoom-in}
.verification-evidence-preview button{
  position:absolute;
  top:5px;
  right:5px;
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.2);
  border-radius:50%;
  background:rgba(0,0,0,.72);
  color:#fff;
  font-size:16px;
}
.email-change-panel{margin-top:1px}
.email-change-fields{padding:3px 12px 12px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:9px}
.email-change-fields label{margin:0!important}
.email-change-fields button{min-width:150px}
.email-change-panel>.verification-feedback{padding:0 12px 12px}

.account-recovery-notice{
  border-color:color-mix(in srgb,var(--warning) 38%,var(--border));
  background:color-mix(in srgb,var(--warning) 6%,var(--panel));
}
.account-recovery-notice time{color:var(--warning);font-size:9px}
.account-delete-warning{
  margin:12px 0;
  padding:12px;
  border:1px solid color-mix(in srgb,var(--danger) 35%,var(--border));
  border-radius:12px;
  background:color-mix(in srgb,var(--danger) 7%,var(--panel));
}
.account-delete-warning b{font-size:11px}
.account-delete-warning p{margin:5px 0 0;color:var(--muted);font-size:9px;line-height:1.5}
.account-delete-form .delete-confirm-check{
  min-height:44px;
  margin:0 0 12px;
  padding:10px;
  display:grid;
  grid-template-columns:20px minmax(0,1fr);
  align-items:start;
  gap:9px;
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--panel-2);
  color:var(--text);
  cursor:pointer;
}
.delete-confirm-check input{width:20px!important;height:20px!important;margin:0;padding:0;accent-color:var(--danger)}
.delete-confirm-check span{font-size:9px;line-height:1.45}

.notification-filter-tabs{
  margin:12px 0 3px;
  padding-bottom:4px;
  display:flex;
  gap:5px;
  overflow-x:auto;
  scrollbar-width:none;
}
.notification-filter-tabs::-webkit-scrollbar{display:none}
.notification-filter-tabs button{
  min-height:34px;
  padding:7px 10px;
  flex:none;
  border:1px solid var(--border);
  border-radius:999px;
  background:var(--panel-2);
  color:var(--muted);
  font-size:8px;
}
.notification-filter-tabs button.active{
  border-color:var(--accent);
  background:var(--accent);
  color:var(--accent-text);
}
.comment-reply-preview{
  min-height:44px;
  padding:7px 16px;
  display:flex;
  align-items:center;
  gap:9px;
  border-top:1px solid var(--border);
  background:var(--panel);
}
.comment-reply-preview[hidden]{display:none}
.comment-reply-preview>span{min-width:0;flex:1;display:grid;gap:2px;padding-left:9px;border-left:2px solid var(--text)}
.comment-reply-preview b{font-size:9px}
.comment-reply-preview small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:8px}
.comment-reply-preview button{width:34px;height:34px;border-radius:9px;background:none;color:var(--muted);font-size:17px}
.comment-reply-context,.comment-parent-preview{
  margin:5px 0 7px;
  padding:7px 9px;
  border-left:2px solid var(--border-strong);
  border-radius:0 8px 8px 0;
  background:var(--panel-2);
  color:var(--muted);
  font-size:8px;
  line-height:1.4;
}
.mention,.user-mention{color:#6d9fff;font-weight:650}
.event-capacity-full,.event-capacity-state.full,.event-status.completed{
  color:var(--muted);
  border-color:var(--border-strong);
}
.post-views{
  min-height:34px;
  padding:0 7px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  color:var(--muted);
  font-size:9px;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.event-filled,.event-status-completed{
  width:max-content;
  padding:3px 6px;
  border:1px solid var(--border-strong);
  border-radius:999px;
  background:var(--panel-2);
  color:var(--muted);
  font-size:7px;
  font-weight:750;
  line-height:1.2;
  text-transform:uppercase;
}
.event-filled{margin-left:6px}
.event-status-completed{display:inline-flex;margin:15px 0 0 6px;vertical-align:middle}
.inline-mention{
  padding:0;
  border:0;
  background:none;
  color:#6d9fff;
  font:inherit;
  font-weight:650;
}
.inline-mention:hover{text-decoration:underline;text-underline-offset:2px}

/* Publication detail is one continuous document: comments never cover content. */
.post-dialog-shell{
  display:block;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}
.post-dialog-shell>header{
  position:sticky;
  top:0;
  z-index:8;
  background:color-mix(in srgb,var(--panel) 96%,transparent);
  backdrop-filter:blur(14px);
}
.post-dialog-shell>div#postDetail{overflow:visible}
.comments-section{display:block;min-height:0}
.comments-list{max-height:none;overflow:visible}
#commentForm{
  position:sticky;
  bottom:0;
  z-index:6;
  background:color-mix(in srgb,var(--panel) 97%,transparent);
  backdrop-filter:blur(12px);
}

.chat-messages{
  scroll-behavior:auto;
  overflow-anchor:none;
  contain:layout paint;
  -webkit-overflow-scrolling:touch;
}
.message-row{overflow-anchor:none;contain:layout style}
.chat-messages::after{content:"";display:block;width:1px;height:1px;overflow-anchor:auto}
.chat-panel,#chatForm,.chat-header{min-width:0}
#chatForm{contain:layout style}
#chatForm textarea{field-sizing:content}
body.keyboard-open #chatForm{padding-bottom:9px}
.messages-workspace,.messages-chat,.chat-panel{transition:none!important}

@media(min-width:721px){
  .messages-workspace{
    height:clamp(520px,calc(100svh - 104px),860px);
  }
}

@media(max-width:720px){
  html{scrollbar-gutter:auto}
  .main-content{contain:none}
  .feed-filter-bar{
    margin-top:-4px;
    padding:6px;
    grid-template-columns:1fr 1fr;
    gap:6px;
    border-radius:13px;
  }
  .feed-filter-bar label:last-child{grid-column:1/-1}
  .feed-filter-bar label>span{font-size:10px}
  .feed-filter-bar select{height:44px;font-size:12px}
  .event-date-field small,.participation-settings label>small{font-size:10px}
  .post-media-grid img{aspect-ratio:4/3}
  .post-media-grid:not(.one) img{aspect-ratio:1}
  .message-photo{width:min(340px,72vw);max-height:46dvh}
  .media-lightbox-shell,.lightbox-shell{padding-inline:max(8px,env(safe-area-inset-left)) max(8px,env(safe-area-inset-right))}

  .nearby-filters{grid-template-columns:1fr}
  .map-picker-canvas,.map-picker-canvas #leafletMap{min-height:clamp(300px,48dvh,520px)}
  .map-provider-status{bottom:10px;font-size:11px}
  .map-provider-status button{min-height:40px;font-size:11px}

  .notification-preferences-grid{grid-template-columns:1fr;padding:3px 12px 12px}
  .notifications-shell{grid-template-rows:auto auto minmax(0,1fr)}
  .notification-preferences>summary,.advanced-settings>summary,.email-change-panel>summary{min-height:52px;font-size:12px}
  .identity-verification-details>summary b{font-size:13px}
  .identity-verification-details>summary small,.verification-photo-field>span{font-size:10px}
  .email-change-fields{grid-template-columns:1fr}
  .email-change-fields button{width:100%;min-width:0}
  .push-test-link{min-height:44px;font-size:11px;text-align:left}
  .device-notifications-card b{font-size:13px}
  .device-notifications-card small,.device-notifications-card>p{font-size:11px}
  .notification-filter-tabs button{min-height:40px;font-size:11px}

  .post-dialog-shell{
    width:100vw;
    height:var(--app-viewport-height);
    max-height:var(--app-viewport-height);
    border:0;
    border-radius:0;
  }
  body.keyboard-open :is(.composer-form,.profile-dialog form,.picker-shell,.notifications-shell,.map-dialog-shell,.crop-shell),
  body.mobile-keyboard-open :is(.composer-form,.profile-dialog form,.picker-shell,.notifications-shell,.map-dialog-shell,.crop-shell){
    height:var(--app-viewport-height);
    max-height:var(--app-viewport-height);
  }
  .post-dialog-shell>header{
    min-height:calc(56px + env(safe-area-inset-top));
    padding:env(safe-area-inset-top) max(14px,env(safe-area-inset-right)) 0 max(14px,env(safe-area-inset-left));
  }
  .comments-list{padding-bottom:12px}
  .comment-reply-preview{padding-inline:max(12px,env(safe-area-inset-left)) max(12px,env(safe-area-inset-right))}
  .comment-reply-preview b{font-size:12px}
  .comment-reply-preview small{font-size:10px}

  .messages-workspace.has-active-chat .messages-chat{
    position:fixed;
    inset:auto;
    left:0;
    top:var(--visual-viewport-top);
    width:var(--app-viewport-width);
    max-width:100vw;
    height:var(--app-viewport-height);
    max-height:var(--app-viewport-height);
    display:block;
    overflow:hidden;
    z-index:80;
  }
  .chat-panel{width:100%;height:100%;max-height:100%;overflow:hidden}
  .chat-messages{min-height:0;overscroll-behavior-y:contain}
  .chat-image-preview{flex:none}
  #chatForm{flex:none}
  .global-search:focus-within input{display:block}
  .post-footer{
    grid-template-columns:repeat(4,minmax(44px,1fr));
    gap:5px;
  }
  .post-footer .post-views{grid-column:1;min-height:44px;font-size:11px}
  .post-footer .join{grid-column:1/-1;min-height:44px}
  .event-filled{font-size:9px}
  .event-status-completed{margin-top:13px;font-size:9px}
}

@media(max-width:430px){
  .feed-filter-bar{grid-template-columns:1fr}
  .feed-filter-bar label:last-child{grid-column:auto}
}

@media(prefers-reduced-motion:reduce){
  html:focus-within{scroll-behavior:auto}
  *,*::before,*::after{
    scroll-behavior:auto!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}

/* Release 19 — compact discovery controls and stable card geometry */
.feed-filter-disclosure{
  position:relative;
  width:max-content;
  max-width:100%;
  margin:-5px 0 13px auto;
}
.feed-filter-disclosure>summary{
  min-height:34px;
  padding:0 10px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--panel);
  color:var(--muted);
  font-size:9px;
  font-weight:700;
  cursor:pointer;
  list-style:none;
}
.feed-filter-disclosure>summary::-webkit-details-marker{display:none}
.feed-filter-disclosure>summary>span{display:inline-flex;align-items:center;gap:6px}
.feed-filter-disclosure>summary svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.feed-filter-disclosure>summary mark{
  min-width:18px;
  height:18px;
  padding:0 5px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:var(--accent);
  color:var(--accent-text);
  font-size:8px;
}
.feed-filter-disclosure[open]>summary{border-color:var(--border-strong);color:var(--text)}
.feed-filter-disclosure .feed-filter-bar{
  position:absolute;
  top:calc(100% + 7px);
  right:0;
  z-index:35;
  width:min(520px,calc(100vw - 32px));
  margin:0;
  box-shadow:0 18px 54px rgba(0,0,0,.28);
}
.feed-sentinel{min-height:72px;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--muted)}
.feed-sentinel[hidden]{display:none}
.feed-sentinel>span{width:18px;height:18px;border:2px solid var(--border-strong);border-top-color:var(--text);border-radius:50%;animation:feed-spin .8s linear infinite}
.feed-sentinel small{font-size:9px}
@keyframes feed-spin{to{transform:rotate(360deg)}}
.picker-search input:focus-visible,
.map-search input:focus-visible,
.global-search input:focus-visible,
.admin-search input:focus-visible{outline:0!important;box-shadow:none!important}
.picker-search:focus-within,.map-search:focus-within,.global-search:focus-within,.admin-search:focus-within{
  border-color:var(--border-strong);
}

.post-card{padding:18px 19px}
.post-badges{margin-top:15px;display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.post-badges .category,.post-badges .event-status-completed{margin:0}
.post-media-grid,
.post-detail .post-media-grid{
  margin:14px 0 0;
  border:1px solid var(--border);
  border-radius:13px;
}
.post-footer{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between;
  gap:10px!important;
}
.post-stats{min-width:0;display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.post-footer .post-counts{margin:0;display:inline-flex;align-items:center;gap:4px}
.post-footer .post-views{
  min-height:34px;
  padding:0 3px;
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  gap:5px;
}
.post-view-icon,.post-view-icon svg{width:16px;height:16px;display:inline-flex}
.post-view-icon svg{fill:none;stroke:currentColor;stroke-width:1.7}
.post-views b{font-weight:650}
.post-actions{margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:4px}
.post-actions .join{margin-left:7px}
.event-filled{margin-left:4px}

.comment-content>.comment-meta{display:flex;align-items:center;gap:7px}
.comment-controls .comment-like{display:inline-flex;align-items:center;gap:4px}
.comment-controls .comment-like svg{width:13px;height:13px;fill:none;stroke:currentColor}
.comment-controls .comment-like.liked{color:#ff5f68}
.comment-controls .comment-like.liked svg{fill:currentColor}
#commentForm{
  width:100%;
  display:grid;
  grid-template-columns:31px minmax(0,1fr) 38px;
  align-items:end;
  gap:9px;
}
#commentForm>.avatar{align-self:end}
.comment-input-wrap{width:100%;min-width:0}
#commentForm>button{align-self:end;flex:none}

body.media-lightbox-open{overflow:hidden;touch-action:none}
.media-lightbox button{
  top:auto!important;
  right:auto!important;
}
.media-lightbox .media-lightbox-close{
  position:fixed;
  top:max(12px,env(safe-area-inset-top))!important;
  right:max(12px,env(safe-area-inset-right))!important;
  z-index:6;
}
.media-lightbox .media-lightbox-prev{
  position:fixed;
  left:max(10px,env(safe-area-inset-left))!important;
  top:50%!important;
  right:auto!important;
  transform:translateY(-50%);
  z-index:5;
}
.media-lightbox .media-lightbox-next{
  position:fixed;
  right:max(10px,env(safe-area-inset-right))!important;
  top:50%!important;
  left:auto!important;
  transform:translateY(-50%);
  z-index:5;
}
.media-lightbox figure{cursor:zoom-out}
.media-lightbox figure img{cursor:default}

.participation-disabled{opacity:.58}
.recommendation-admin-form{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
}
.recommendation-admin-form label{display:grid;gap:5px;color:var(--muted);font-size:8px}
.recommendation-admin-form input{height:38px;padding:0 10px;border:1px solid var(--border);border-radius:9px;background:var(--input);color:var(--text)}
.recommendation-admin-form .primary-button{grid-column:1/-1;justify-self:end}
.recommendation-admin-form .form-error{grid-column:1/-1}

@media(max-width:720px){
  .feed-filter-disclosure{margin-right:0}
  .feed-filter-disclosure>summary{min-height:40px;font-size:11px}
  .feed-filter-disclosure .feed-filter-bar{
    position:fixed;
    left:max(10px,env(safe-area-inset-left));
    right:max(10px,env(safe-area-inset-right));
    top:auto;
    bottom:calc(74px + env(safe-area-inset-bottom));
    width:auto;
    grid-template-columns:1fr;
    padding:10px;
  }
  .feed-filter-bar label:last-child{grid-column:auto}
  .post-media-grid,.post-detail .post-media-grid{border-radius:11px}
  .post-footer{
    display:grid!important;
    grid-template-columns:1fr!important;
    align-items:stretch!important;
  }
  .post-stats{min-height:34px;justify-content:flex-start}
  .post-actions{width:100%;margin:0;display:grid;grid-template-columns:repeat(3,minmax(44px,1fr));gap:5px}
  .post-actions .join{grid-column:1/-1;margin:2px 0 0;min-height:44px}
  .post-footer .post-counts{display:inline-flex!important;font-size:10px}
  .post-footer .post-views{grid-column:auto;min-height:34px;font-size:10px}
  #commentForm{
    grid-template-columns:34px minmax(0,1fr) 44px;
    padding-left:max(12px,env(safe-area-inset-left));
    padding-right:max(12px,env(safe-area-inset-right));
  }
  #commentForm>button{width:44px;height:44px}
  .comment-input-wrap{min-height:44px}
  .recommendation-admin-form{grid-template-columns:1fr 1fr}
}

@media(max-width:430px){
  .post-card{padding:16px}
  .post-badges{margin-top:13px}
  .post-stats{gap:7px}
  .post-footer .post-counts{max-width:calc(100% - 62px);flex-wrap:wrap}
  .recommendation-admin-form{grid-template-columns:1fr}
}

/* Group conversations and safe chat actions */
.chat-header{grid-template-columns:minmax(0,1fr) 40px 40px}
.chat-conversation-action{
  width:40px;height:40px;display:grid;place-items:center;
  border:1px solid var(--border);border-radius:12px;
  background:var(--panel-2);color:var(--text)
}
.chat-conversation-action:hover{border-color:var(--border-strong);background:var(--panel-hover)}
.chat-conversation-action svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}
.group-chat-avatar{position:relative;display:grid!important;place-items:center;background:color-mix(in srgb,var(--text) 9%,var(--panel))!important;color:var(--text);overflow:hidden}
.group-chat-avatar .group-chat-avatar-icon,.group-chat-avatar .group-chat-avatar-icon svg{width:23px;height:23px;display:block}
.group-chat-avatar small{position:absolute;right:3px;bottom:1px;font-size:7px;font-weight:800;opacity:.62}
.group-conversation-label{margin-left:6px;padding:2px 5px;border:1px solid var(--border);border-radius:999px;color:var(--muted);font-size:6px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.group-message-sender{max-width:100%;margin:0 0 4px;padding:0;display:flex;align-items:center;gap:4px;background:none;color:color-mix(in srgb,#6aaeff 72%,var(--text));font-size:8px;font-weight:750;text-align:left}
.group-message-sender:hover{text-decoration:underline}.group-message-sender .verified-mark{width:13px;height:13px}

.message-picker-shell{overflow:hidden}
.message-picker-tabs{margin:16px 0 10px;padding:3px;display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--border);border-radius:12px;background:var(--input)}
.message-picker-tabs button{min-height:36px;padding:7px;border-radius:9px;background:none;color:var(--muted);font-size:9px}
.message-picker-tabs button.active{background:var(--panel-hover);color:var(--text);font-weight:750}
.message-picker-shell>[data-message-picker-panel]{min-height:0}
.group-picker-panel{display:grid;grid-template-rows:auto auto auto auto minmax(110px,1fr) auto auto;gap:9px}
.group-picker-panel[hidden]{display:none}
.group-title-field{margin-top:2px}
.group-member-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:8px}.group-member-summary span{color:var(--text);font-weight:750}
.group-member-selection{min-height:42px;display:flex;align-items:center;gap:6px;overflow-x:auto;scrollbar-width:thin}
.group-member-selection>small{color:var(--muted-2);font-size:8px}
.group-member-selection>button{min-width:max-content;height:38px;padding:3px 7px 3px 3px;display:flex;align-items:center;gap:5px;border:1px solid var(--border);border-radius:20px;background:var(--panel-2);color:var(--text)}
.group-member-selection .avatar{width:30px;height:30px;font-size:8px}.group-member-selection button span{max-width:105px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8px}.group-member-selection button i{color:var(--muted);font-size:13px;font-style:normal}
.group-picker-panel .picker-search{margin:0}
.group-picker-results{min-height:110px;max-height:240px}
.group-picker-person>i{margin-left:auto;color:var(--muted);font-size:16px;font-style:normal}.group-picker-person.selected{background:var(--panel-hover)}.group-picker-person.selected>i{color:#42b883}
.group-create-feedback{min-height:14px;margin:0;color:var(--muted);font-size:8px;line-height:1.4}
.group-create-button{width:100%;min-height:42px;border-radius:11px;background:var(--accent);color:var(--accent-text);font-size:10px;font-weight:750}.group-create-button:disabled{background:var(--panel-hover);color:var(--muted)}

.chat-conversation-dialog form{position:relative;width:min(92vw,430px)}
.chat-conversation-dialog header{padding-right:46px}.chat-conversation-dialog header p{margin:0 0 6px;color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.14em}.chat-conversation-dialog header h2{margin:0;font-size:20px}
.chat-conversation-dialog header>button{position:absolute;right:18px;top:18px;width:40px;height:40px;border-radius:50%;background:var(--panel-hover);color:var(--muted);font-size:17px}
.chat-conversation-dialog form>p{margin:14px 0 18px;color:var(--muted);font-size:10px;line-height:1.55}
.chat-conversation-dialog .confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.chat-conversation-dialog .confirm-actions button{min-height:42px;border:1px solid var(--border);border-radius:11px;background:var(--panel-2);font-size:10px}.chat-conversation-dialog .confirm-actions .danger{border-color:color-mix(in srgb,var(--danger) 34%,var(--border));color:var(--danger)}

.media-lightbox .media-lightbox-close{pointer-events:auto!important;touch-action:manipulation;-webkit-tap-highlight-color:transparent;cursor:pointer}
.media-lightbox figure{width:100%;height:100%;margin:0;display:grid;place-items:center}

@media(max-width:720px){
  .chat-header{grid-template-columns:44px minmax(0,1fr) 44px 44px}
  .chat-conversation-action,.chat-new{width:44px;height:44px;border:0;background:none}
  .group-conversation-label{font-size:7px}
  .group-message-sender{font-size:10px}
  .message-picker-shell{display:grid;grid-template-rows:auto auto minmax(0,1fr)}
  .message-picker-shell>[data-message-picker-panel]{overflow:auto;padding-bottom:max(12px,env(safe-area-inset-bottom))}
  .message-picker-tabs button{min-height:44px;font-size:12px}
  .group-picker-panel{grid-template-rows:auto auto auto auto minmax(130px,1fr) auto auto}
  .group-member-summary,.group-member-selection>small,.group-create-feedback{font-size:10px}
  .group-member-selection>button{height:44px}.group-member-selection .avatar{width:36px;height:36px}.group-member-selection button span{font-size:11px}
  .group-picker-results{max-height:none}.group-create-button{min-height:48px;font-size:13px}
  .chat-conversation-dialog form{width:calc(100vw - 24px);padding:20px}.chat-conversation-dialog header h2{font-size:22px}.chat-conversation-dialog form>p{font-size:12px}.chat-conversation-dialog .confirm-actions button{min-height:46px;font-size:12px}
  .media-lightbox .media-lightbox-close{width:48px!important;height:48px!important}
}
