/* VAIZU V133 — nearby users notice + compact map brand.
   Isolated from the planner/map styles so it cannot reflow the existing UI. */
.vaizu-map-brand{
  position:absolute;
  z-index:54;
  top:max(12px,calc(env(safe-area-inset-top) + 8px));
  left:max(12px,calc(env(safe-area-inset-left) + 10px));
  width:48px;
  height:48px;
  pointer-events:none;
  user-select:none;
  -webkit-user-select:none;
  filter:drop-shadow(0 9px 18px rgba(74,72,193,.20));
  transform-origin:center;
  animation:vaizuMapBrandIn .48s cubic-bezier(.2,.82,.2,1) both;
  transition:opacity .18s ease,visibility .18s ease,transform .18s ease;
}
.vaizu-map-brand img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}
body.body-nav .vaizu-map-brand{
  opacity:0;
  visibility:hidden;
  transform:translateY(-6px) scale(.96);
}

.vaizu-nearby-users-notice{
  position:absolute;
  z-index:53;
  contain:layout style paint;
  left:50%;
  bottom:180px;
  width:max-content;
  max-width:min(520px,calc(100vw - 28px));
  min-height:54px;
  backdrop-filter:blur(18px) saturate(130%);
  -webkit-backdrop-filter:blur(18px) saturate(130%);
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:9px 16px 9px 10px;
  border:1px solid rgba(91,92,226,.10);
  border-radius:999px;
  background:rgba(255,255,255,.97);
  color:#1a2140;
  box-shadow:0 13px 36px rgba(36,39,70,.12),0 3px 10px rgba(69,65,191,.08),inset 0 1px 0 rgba(255,255,255,.72);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translate(-50%,16px) scale(.985);
  transform-origin:center bottom;
  will-change:transform,opacity;
  transition:
    opacity .36s ease,
    transform .48s cubic-bezier(.18,.82,.22,1),
    visibility .36s ease;
}
.vaizu-nearby-users-notice::after{
  content:"";
  position:absolute;
  inset:auto 12% -13px;
  height:24px;
  border-radius:50%;
  background:rgba(91,92,226,.12);
  filter:blur(13px);
  opacity:.56;
  z-index:-1;
}
.vaizu-nearby-users-notice.is-visible{
  opacity:1;
  visibility:visible;
  transform:translate(-50%,0) scale(1);
}
.vaizu-nearby-users-notice.is-leaving{
  opacity:0;
  visibility:visible;
  transform:translate(-50%,20px) scale(.985);
  transition-duration:.34s,.44s,.34s;
}
.vaizu-nearby-users-icon{
  position:relative;
  flex:0 0 38px;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#655df2;
  background:linear-gradient(145deg,#f6f5ff,#eceaff);
  box-shadow:inset 0 0 0 1px rgba(91,92,226,.07),0 3px 9px rgba(91,92,226,.08);
}
.vaizu-nearby-users-icon::before{
  content:"";
  position:absolute;
  inset:-4px;
  border-radius:50%;
  border:1px solid rgba(91,92,226,.12);
  opacity:0;
  transform:scale(.82);
}
.vaizu-nearby-users-notice.is-visible .vaizu-nearby-users-icon::before{
  animation:vaizuNearbyPulse 1.05s .16s ease-out 1 both;
}
.vaizu-nearby-users-icon svg{
  width:20px;
  height:20px;
  display:block;
  stroke:currentColor;
  stroke-width:2;
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.vaizu-nearby-users-copy{
  display:block;
  min-width:0;
  max-width:430px;
  font-size:13px;
  line-height:1.24;
  letter-spacing:-.16px;
  font-weight:720;
  color:#222956;
  white-space:normal;
  text-wrap:balance;
}
.vaizu-nearby-users-copy strong{
  font-weight:880;
  color:#4f4bd7;
}

body.body-nav .vaizu-nearby-users-notice,
body.vaizu-keyboard-open .vaizu-nearby-users-notice,
html.vaizu-keyboard-open .vaizu-nearby-users-notice{
  opacity:0!important;
  visibility:hidden!important;
  transform:translate(-50%,18px) scale(.985)!important;
}

@keyframes vaizuMapBrandIn{
  from{opacity:0;transform:translateY(-7px) scale(.91)}
  to{opacity:1;transform:none}
}
@keyframes vaizuNearbyPulse{
  0%{opacity:.7;transform:scale(.82)}
  70%{opacity:0;transform:scale(1.28)}
  100%{opacity:0;transform:scale(1.34)}
}

@media(max-width:640px){
  .vaizu-map-brand{
    width:46px;
    height:46px;
    top:max(11px,calc(env(safe-area-inset-top) + 7px));
    left:max(11px,calc(env(safe-area-inset-left) + 9px));
  }
  .vaizu-nearby-users-notice{
    max-width:calc(100vw - 26px);
    min-height:52px;
    gap:9px;
    padding:8px 14px 8px 9px;
  }
  .vaizu-nearby-users-icon{flex-basis:36px;width:36px;height:36px}
  .vaizu-nearby-users-icon svg{width:19px;height:19px}
  .vaizu-nearby-users-copy{font-size:12px;line-height:1.25;letter-spacing:-.12px}
}
@media(max-width:360px){
  .vaizu-nearby-users-notice{max-width:calc(100vw - 18px);padding-right:12px}
  .vaizu-nearby-users-copy{font-size:11.2px}
}
@media(min-width:900px){
  .vaizu-nearby-users-notice{max-width:390px}
}
@media(prefers-reduced-motion:reduce){
  .vaizu-map-brand{animation:none!important}
  .vaizu-nearby-users-notice{transition:opacity .12s linear,visibility .12s linear!important;transform:translate(-50%,0)!important}
  .vaizu-nearby-users-notice.is-leaving{transform:translate(-50%,0)!important}
  .vaizu-nearby-users-icon::before{animation:none!important}
}
