.mobile-browse-rail,.mobile-panel-close,.mobile-more,.browse-symbol{display:none}
@media(max-width:760px){
  main{height:100dvh;margin:0}
  .top{padding:8px 10px;padding-top:max(8px,env(safe-area-inset-top));min-height:64px;gap:8px;align-items:center;flex-shrink:0}
  .top>div:first-child{flex:1;min-width:80px}.header-brand{margin:0}.header-brand .guydar-logo{width:126px}
  .top-actions{max-width:none;gap:4px;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-end;align-items:center}
  .top-actions .pill,.top-actions .account{min-width:44px;min-height:44px;margin:0;padding:8px;font-size:12px}
  .top-actions .account{order:0;width:44px}.top-actions .avatar{width:32px;height:32px}
  .top-actions #area-button,.top-actions #visibility,.top-actions #community,.top-actions #events{display:none}
  .mobile-more{display:block;font-size:18px!important}.mobile-actions-open{flex-wrap:wrap}
  .mobile-actions-open .top-actions{flex:1 1 100%;justify-content:flex-start}
  .mobile-actions-open .top-actions #area-button,.mobile-actions-open .top-actions #visibility,.mobile-actions-open .top-actions #community,.mobile-actions-open .top-actions #events{display:block;max-width:100%;white-space:normal}
  .workspace,.workspace.grid-layout{display:block;overflow:hidden;padding:0}
  .workspace #map,.workspace.grid-layout #map{display:block;position:absolute;inset:0;height:100%;width:100%}
  .workspace .map-tools{display:flex;right:10px;top:10px}.workspace .map-caption{display:none}
  .mobile-browse-rail{display:block;position:absolute;left:0;top:0;bottom:0;width:54px;padding-top:12px;padding-left:env(safe-area-inset-left);z-index:650;background:#142019f2;border-right:1px solid #42523b}
  .mobile-browse-rail .browse-tabs{display:flex;flex-direction:column;gap:10px;margin:0;padding:0 4px}
  .mobile-browse-rail .chip{position:relative;display:flex;align-items:center;justify-content:center;min-height:48px;width:46px;padding:10px;border-radius:12px}
  .browse-symbol{display:block;width:24px;height:24px;flex-shrink:0}.mobile-browse-rail .browse-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .mobile-browse-rail #unread:not(:empty){position:absolute;right:0;top:0;font-size:10px;background:#cff57d;color:#15211a;border:1px solid #15211a;border-radius:12px;min-width:16px;padding:1px 3px}
  .workspace #panel,.workspace.grid-layout #panel{position:absolute;left:54px;right:0;top:0;bottom:0;width:auto;height:auto;min-height:0;max-width:440px;padding:12px;padding-bottom:max(12px,env(safe-area-inset-bottom));border-radius:0 16px 16px 0;transform:translateX(calc(-100% - 54px));visibility:hidden;transition:transform .22s ease,visibility .22s;display:flex;overflow:hidden;z-index:620}
  .workspace.mobile-panel-open #panel{transform:translateX(0);visibility:visible}
  .mobile-panel-close{display:block;flex-shrink:0;min-height:44px;min-width:44px;font-size:26px}
  .panel-heading{gap:6px;margin-bottom:10px}.panel-heading>div{flex:1;min-width:0}.panel-heading h2{font-size:20px}.panel-heading p{font-size:11px}
  .panel .layout-switch{flex-shrink:0;margin-bottom:10px}.panel .layout-switch button{min-height:44px}
  .panel .search{display:flex}.panel .filters{max-height:45dvh}.panel .demo-note{font-size:10px;margin:8px 0}
  .workspace.grid-layout #panel .profile-list{display:none}
  .workspace #panel #profile-grid{position:relative;inset:auto;overflow-y:auto;flex:1;min-height:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:4px 0;align-content:start}
  .workspace #profile-grid .tile-caption strong{font-size:15px}.workspace #profile-grid .tile-caption>span{font-size:11px}
  .workspace .leaflet-control-attribution{bottom:0!important;max-width:calc(100vw - 60px);font-size:8px!important}
  .workspace.location-mode .mobile-browse-rail{display:none}.workspace.location-mode #panel{display:none}
  .workspace .tile-error{left:64px;right:64px;top:8px;font-size:12px}.workspace .location-tip{left:8px;right:8px;transform:none;white-space:normal}
  #toast{bottom:max(20px,env(safe-area-inset-bottom));max-width:calc(100vw - 24px)}
}
@media(prefers-reduced-motion:reduce){.workspace #panel{transition:none}}
/* Keep small symbols legible inside full-size touch targets. */
.intent-info{position:relative;flex:0 0 44px;width:44px;min-width:44px;height:44px;min-height:44px;border:0;padding:0}
.intent-info:before{content:'';position:absolute;width:20px;height:20px;border:1px solid currentColor;border-radius:50%;pointer-events:none}
.wink-button{width:44px;min-width:44px;height:44px;align-items:center;justify-content:center;flex-shrink:0}
.social-badges{gap:2px;padding:2px}.social-badges>[role=img]{flex-shrink:0}
@media(max-width:760px){.person-wrap:not(:has(.grid-card))>.person{padding-bottom:48px}.person-wrap>.social-badges{right:4px;top:4px}}
.workspace:has([data-view="messages"].selected) .layout-switch,.workspace:has([data-view="pinned"].selected) .layout-switch{display:none}
@media(max-width:360px){.workspace #panel #profile-grid{grid-template-columns:1fr}.workspace #profile-grid .grid-card{aspect-ratio:1.15}}

/* Shared desktop/mobile navigation: All plus accessible icon buttons. */
.browse-tabs .chip{display:inline-flex;align-items:center;justify-content:center;position:relative;min-width:44px;min-height:44px}
.browse-tabs .browse-symbol{display:block;width:24px;height:24px;flex-shrink:0}
.browse-tabs .browse-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

/* Mobile browse destinations and profiles occupy the entire viewport. */
@media(max-width:760px){
  .workspace.mobile-panel-open #panel,.workspace.grid-layout.mobile-panel-open #panel{position:fixed;inset:0;max-width:none;width:100%;height:100dvh;border:0;border-radius:0;z-index:1100;padding-top:max(12px,env(safe-area-inset-top));padding-left:calc(66px + env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right));padding-bottom:max(12px,env(safe-area-inset-bottom));transform:none;transition:none}
  .workspace.mobile-panel-open .mobile-browse-rail{position:fixed;inset:0 auto 0 0;width:calc(54px + env(safe-area-inset-left));height:100dvh;padding:max(12px,env(safe-area-inset-top)) 0 env(safe-area-inset-bottom) env(safe-area-inset-left);z-index:1101;border-right:1px solid #42523b;border-top:0}
  .workspace.mobile-panel-open .mobile-browse-rail .browse-tabs{height:auto;flex-direction:column;justify-content:flex-start;align-items:center;gap:10px}
  .workspace.mobile-panel-open .mobile-browse-rail .chip{width:46px;flex:none;max-width:none}
  #detail,#detail.profile-display,#detail.profile-display:has(.photo-gallery){position:fixed;inset:0;margin:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border:0;border-radius:0}
  #detail.profile-display .profile-header{padding-top:max(18px,env(safe-area-inset-top))}
  #detail.profile-display .profile-footer{padding-bottom:max(12px,env(safe-area-inset-bottom))}
  #detail:has(#chat-form){padding:max(20px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}
  #detail[open]:has(#chat-form){display:flex;flex-direction:column;gap:12px}
  #detail .chat-log{flex:1;min-height:0;height:auto;overflow:auto}
  #detail .chat-heading,#detail .chat-form,#detail>.actions{flex-shrink:0}
}

@keyframes mobile-view-enter{from{opacity:.35;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}
@media(max-width:760px) and (prefers-reduced-motion:no-preference){#detail[open]{animation:mobile-view-enter .48s cubic-bezier(.22,1,.36,1) both}}

/* Keep mobile browse screens beneath the persistent navigation header. */
@media(max-width:760px){
 #app main{height:100dvh;overflow:hidden}
 #app .top{position:sticky;top:0;z-index:1200}
 .workspace.mobile-panel-open #panel,.workspace.grid-layout.mobile-panel-open #panel{position:absolute;inset:0;width:100%;height:100%;padding-top:12px}
 .workspace.mobile-panel-open .mobile-browse-rail{position:absolute;inset:0 auto 0 0;height:100%;padding-top:12px}
}
