/* V17.01.0011 — random chat New Chat control, iOS single-screen call layout and compact bottom navigation. */
#random-video-chat-overlay{
  --rv-pink:#e83e65;
  --rv-pink-dark:#c92f55;
  --rv-soft:#fff2f6;
  --rv-line:#eadfe4;
  background:linear-gradient(180deg,#fafbfc 0%,#f7f8fb 100%);
}
#random-video-chat-overlay .rv-shell{
  width:min(760px,calc(100% - 28px));
  margin:34px auto 80px;
}
#random-video-chat-overlay .rv-card{
  background:#fff;
  border:1px solid var(--rv-line);
  border-radius:26px;
  box-shadow:0 18px 48px rgba(31,41,55,.08);
  padding:28px;
}
#random-video-chat-overlay .rv-kicker{
  font-size:12px;
  font-weight:950;
  color:var(--rv-pink);
  letter-spacing:.08em;
  text-transform:uppercase;
}
#random-video-chat-overlay .rv-title{
  margin:7px 0 8px;
  font-size:30px;
  line-height:1.12;
  font-weight:950;
  color:#252a36;
}
#random-video-chat-overlay .rv-sub{
  color:#6f7480;
  font-size:14px;
  line-height:1.55;
  max-width:640px;
}
#random-video-chat-overlay .rv-choice-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:11px;
  margin-top:24px;
}
#random-video-chat-overlay .rv-choice{
  min-height:108px;
  border:1px solid #e6e2e6;
  border-radius:18px;
  background:#fff;
  color:#414651;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:7px;
  cursor:pointer;
  font:850 15px/1.2 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  transition:border-color .15s,background .15s,transform .15s,box-shadow .15s;
}
#random-video-chat-overlay .rv-choice:hover{
  transform:translateY(-1px);
  border-color:#f5b1c2;
  box-shadow:0 10px 24px rgba(151,55,84,.07);
}
#random-video-chat-overlay .rv-choice[aria-pressed="true"]{
  border-color:#ef7896;
  background:var(--rv-soft);
  color:#b52b50;
  box-shadow:inset 0 0 0 1px #ef7896;
}
#random-video-chat-overlay .rv-choice-icon{
  font-size:30px;
  line-height:1;
}
#random-video-chat-overlay .rv-start{
  width:100%;
  min-height:52px;
  margin-top:18px;
  border:0;
  border-radius:15px;
  background:linear-gradient(135deg,var(--rv-pink),var(--rv-pink-dark));
  color:#fff;
  font-size:15px;
  font-weight:950;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(232,62,101,.22);
}
#random-video-chat-overlay .rv-note{
  margin-top:14px;
  padding:12px 14px;
  border-radius:14px;
  background:#f8fafc;
  border:1px solid #e7eaf0;
  color:#687080;
  font-size:12px;
  line-height:1.55;
}
#random-video-chat-overlay .rv-wait{
  min-height:330px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:13px;
}
#random-video-chat-overlay .rv-spinner{
  width:54px;
  height:54px;
  border-radius:50%;
  border:4px solid #f2d9e0;
  border-top-color:var(--rv-pink);
  animation:rvspin .8s linear infinite;
}
@keyframes rvspin{to{transform:rotate(360deg)}}
#random-video-chat-overlay .rv-wait-title{
  font-size:22px;
  font-weight:950;
  color:#2e3442;
}
#random-video-chat-overlay .rv-wait-sub{
  max-width:520px;
  color:#747b89;
  font-size:13px;
  line-height:1.5;
}
#random-video-chat-overlay .rv-cancel{
  min-height:44px;
  min-width:150px;
  border:1px solid #e1d9dd;
  border-radius:13px;
  background:#fff;
  color:#6d5360;
  font-weight:850;
  cursor:pointer;
  padding:10px 18px;
}
#video-call-overlay .mb-random-next{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  visibility:visible!important;
  opacity:1!important;
  white-space:nowrap!important;
  background:#fff!important;
  color:#b42355!important;
  border-color:#ffb8cb!important;
}
#video-call-overlay .mb-random-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:26px;
  padding:5px 9px;
  border-radius:999px;
  background:#fff0f4;
  color:#b42355;
  border:1px solid #ffc2d1;
  font-size:11px;
  font-weight:900;
  margin:0 0 8px;
}
@media(max-width:900px){
  #random-video-chat-overlay .rv-shell{width:calc(100% - 14px);margin:12px auto 100px}
  #random-video-chat-overlay .rv-card{padding:18px;border-radius:20px}
  #random-video-chat-overlay .rv-title{font-size:25px}
  #random-video-chat-overlay .rv-choice-grid{grid-template-columns:1fr;gap:8px}
  #random-video-chat-overlay .rv-choice{min-height:72px;flex-direction:row;font-size:14px}
  #random-video-chat-overlay .rv-choice-icon{font-size:25px}
}
@media(prefers-reduced-motion:reduce){
  #random-video-chat-overlay .rv-spinner{animation:none}
  #random-video-chat-overlay .rv-choice{transition:none}
}


/* iOS: six primary destinations in a compact 3 x 2 dock. */
#mb-ios-camera-launcher{display:none!important}
@media(max-width:900px){
  body:is(.is-authenticated,.mb1005-auth){
    padding-bottom:calc(92px + env(safe-area-inset-bottom))!important;
  }
  body:is(.is-authenticated,.mb1005-auth) #mb-mobile-dock.mb-ios-two-row-dock{
    position:fixed!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    z-index:2147481000!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-template-rows:repeat(2,36px)!important;
    gap:4px!important;
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    padding:5px 7px calc(5px + env(safe-area-inset-bottom))!important;
    border:0!important;
    border-top:1px solid #e8e8ec!important;
    border-radius:0!important;
    background:rgba(255,255,255,.98)!important;
    box-shadow:0 -5px 18px rgba(31,41,55,.08)!important;
    backdrop-filter:blur(16px)!important;
    -webkit-backdrop-filter:blur(16px)!important;
  }
  #mb-mobile-dock.mb-ios-two-row-dock .mb-ios-dock-cell{
    position:relative!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:center!important;
    gap:4px!important;
    width:100%!important;
    min-width:0!important;
    height:36px!important;
    min-height:36px!important;
    max-height:36px!important;
    margin:0!important;
    padding:2px 5px!important;
    border:1px solid #ececf0!important;
    border-radius:8px!important;
    background:#fff!important;
    color:#686b74!important;
    box-shadow:none!important;
    font:800 9.5px/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  #mb-mobile-dock.mb-ios-two-row-dock .mb-ios-dock-cell .mb-dock-icon{
    flex:0 0 auto!important;
    margin:0!important;
    color:#555963!important;
    font-size:15px!important;
    line-height:1!important;
  }
  #mb-mobile-dock.mb-ios-two-row-dock .mb-ios-dock-label{
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  #mb-mobile-dock.mb-ios-two-row-dock .mb-ios-dock-cell.active,
  #mb-mobile-dock.mb-ios-two-row-dock .mb-ios-dock-cell:active{
    border-color:#f3b7c6!important;
    background:#fff0f4!important;
    color:#b42355!important;
  }
  #mb-mobile-dock.mb-ios-two-row-dock .mb-ios-dock-cell.active .mb-dock-icon,
  #mb-mobile-dock.mb-ios-two-row-dock .mb-ios-dock-cell:active .mb-dock-icon{
    color:#b42355!important;
  }
  #mb-mobile-dock.mb-ios-two-row-dock .mb-global-message-badge{
    position:absolute!important;
    top:2px!important;
    right:5px!important;
    min-width:15px!important;
    height:15px!important;
    padding:0 4px!important;
    border-radius:999px!important;
    font-size:8px!important;
    line-height:15px!important;
  }
  body.mb-v29-keyboard-open #mb-mobile-dock.mb-ios-two-row-dock,
  body:has(#conversation-overlay) #mb-mobile-dock.mb-ios-two-row-dock,
  body:has(#video-call-overlay) #mb-mobile-dock.mb-ios-two-row-dock{
    display:none!important;
  }
}
@media(min-width:901px){
  #mb-mobile-dock.mb-ios-two-row-dock{display:none!important}
}


/* V17.01.0011 — Random Camera Chat in-call layout.
   UI-only: WebRTC/ICE/media ownership stays in the proven call stack. */
#video-call-overlay .mb-random-next-disabled,
#video-call-overlay .mb-random-next:disabled{
  opacity:.48!important;
  cursor:not-allowed!important;
  filter:saturate(.55)!important;
}
#video-call-overlay .mb-random-action-row{
  width:100%;
  box-sizing:border-box;
}

@media(max-width:700px){
  #video-call-overlay.mb-random-ios-call{
    overflow-y:auto!important;
    overscroll-behavior-y:contain!important;
  }
  #video-call-overlay.mb-random-ios-call .mb-call-shell{
    min-height:100dvh!important;
    align-items:flex-start!important;
    padding:max(5px,env(safe-area-inset-top)) 7px max(7px,env(safe-area-inset-bottom))!important;
  }
  #video-call-overlay.mb-random-ios-call .mb-call-card{
    width:100%!important;
    max-width:none!important;
    margin:0 auto!important;
  }
  #video-call-overlay.mb-random-ios-call #mb-call-connected-ui{
    width:100%!important;
    padding:0!important;
    margin:0!important;
  }
  #video-call-overlay.mb-random-ios-call .mb-random-badge{
    min-height:24px!important;
    margin:2px 0 4px!important;
    padding:4px 9px!important;
    font-size:11px!important;
  }
  #video-call-overlay.mb-random-ios-call #mb-call-connected-ui>.mb-call-name{
    margin:0 0 2px!important;
    font-size:clamp(22px,6.1vw,28px)!important;
    line-height:1.1!important;
  }
  #video-call-overlay.mb-random-ios-call #mb-call-connected-ui>.mb-call-sub{
    margin:0 0 5px!important;
    font-size:14px!important;
    line-height:1.2!important;
  }

  /* Leave the remote video dominant, but reclaim enough vertical space for both
     control rows and the message composer in the same iPhone viewport. */
  body.mb-video-call-active #video-call-overlay.mb-random-ios-call #mb-call-connected-ui .mb-video-stage{
    height:clamp(292px,46dvh,430px)!important;
    min-height:292px!important;
    max-height:430px!important;
    margin:5px auto 0!important;
    border-radius:17px!important;
  }
  body.mb-video-call-active #video-call-overlay.mb-random-ios-call #video-remote{
    border-radius:17px!important;
  }
  body.mb-video-call-active #video-call-overlay.mb-random-ios-call #video-local-connected{
    right:9px!important;
    bottom:9px!important;
    width:min(28vw,128px)!important;
    height:min(37vw,168px)!important;
    border-radius:12px!important;
  }

  #video-call-overlay.mb-random-ios-call .mb-random-media-controls{
    margin:7px 0 0!important;
    gap:8px!important;
  }
  #video-call-overlay.mb-random-ios-call #mb-random-action-row{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    align-items:stretch!important;
    margin:7px 0 0!important;
    padding:0!important;
  }
  #video-call-overlay.mb-random-ios-call #mb-random-action-row .mb-random-call-action{
    appearance:none!important;
    -webkit-appearance:none!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-width:0!important;
    height:50px!important;
    min-height:50px!important;
    max-height:50px!important;
    margin:0!important;
    padding:7px 8px!important;
    border-radius:14px!important;
    border:1px solid rgba(255,255,255,.18)!important;
    color:#fff!important;
    font:900 13px/1.1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
    text-align:center!important;
    white-space:nowrap!important;
    box-sizing:border-box!important;
    box-shadow:none!important;
  }
  #video-call-overlay.mb-random-ios-call #mb-random-end-btn{
    background:#202938!important;
    border-color:#566071!important;
  }
  #video-call-overlay.mb-random-ios-call #mb-random-next-btn{
    background:linear-gradient(135deg,#c82f57,#a61f43)!important;
    border-color:#ff7da1!important;
  }

  /* The dedicated Random Chat row replaces legacy hang-up/gift rows on iPhone. */
  #video-call-overlay.mb-random-ios-call .mb-random-legacy-end,
  #video-call-overlay.mb-random-ios-call .mb-random-legacy-end-wrap,
  #video-call-overlay.mb-random-ios-call .mb-v12001-gift-actions,
  #video-call-overlay.mb-random-ios-call .mb-v11029-gift-btn{
    display:none!important;
  }

  /* Pull in-call messaging upward and keep the composer visible; only the message
     history itself scrolls when it grows. */
  #video-call-overlay.mb-random-ios-call .mb-v11029-call-lower,
  #video-call-overlay.mb-random-ios-call [class*="call-lower"]{
    margin-top:7px!important;
    margin-bottom:0!important;
  }
  #video-call-overlay.mb-random-ios-call .mb-v11029-call-lower-head{
    min-height:0!important;
    margin:0 0 5px!important;
    padding:7px 9px!important;
  }
  #video-call-overlay.mb-random-ios-call .mb-v11029-call-messages{
    min-height:48px!important;
    max-height:68px!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    margin:0!important;
  }
  #video-call-overlay.mb-random-ios-call .mb-v11029-composer{
    margin-top:6px!important;
  }
}


/* V17.01.0014 — persistent iOS active dock + Firefox random-call profile/actions. */
@media(max-width:900px){
  #mb-mobile-dock.mb-ios-two-row-dock .mb-ios-dock-cell.active{
    border-color:#e989a3!important;
    background:#ffe8ef!important;
    color:#a91f49!important;
    box-shadow:inset 0 0 0 1px #e989a3!important;
    font-weight:950!important;
  }
  #mb-mobile-dock.mb-ios-two-row-dock .mb-ios-dock-cell.active .mb-dock-icon{
    color:#a91f49!important;
  }
}

@media(min-width:901px){
  #video-call-overlay.mb-random-firefox-call .mb-random-firefox-action-row{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    width:100%!important;
    margin:8px 0 0!important;
    padding:0!important;
    box-sizing:border-box!important;
  }
  #video-call-overlay.mb-random-firefox-call .mb-random-firefox-action-row .btn{
    width:100%!important;
    min-width:0!important;
    min-height:44px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  #video-call-overlay.mb-random-firefox-call .mb-random-firefox-legacy-end{
    display:none!important;
  }
  #video-call-overlay.mb-random-firefox-call .mb-random-profile-btn{
    flex:1 1 0!important;
    min-width:0!important;
    white-space:nowrap!important;
  }

  #public-profile-overlay.mb-random-partner-profile-drawer{
    position:fixed!important;
    left:auto!important;
    right:0!important;
    top:0!important;
    bottom:0!important;
    width:min(44vw,680px)!important;
    max-width:680px!important;
    height:100dvh!important;
    min-height:100dvh!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    z-index:2147483000!important;
    background:#fff!important;
    box-shadow:-18px 0 42px rgba(15,23,42,.22)!important;
  }
  #public-profile-overlay.mb-random-partner-profile-drawer .app-topbar{
    position:sticky!important;
    top:0!important;
    z-index:8!important;
    background:rgba(255,255,255,.98)!important;
  }
  #public-profile-overlay.mb-random-partner-profile-drawer .public-profile-wrap{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:14px!important;
    box-sizing:border-box!important;
  }
  #public-profile-overlay.mb-random-partner-profile-drawer .public-hero{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  #public-profile-overlay.mb-random-partner-profile-drawer .public-main-photo{
    max-height:360px!important;
  }
}


/* V18.02.0004 — Firefox desktop Random Chat single-screen layout.
   Deliberately scoped to .mb-random-firefox-call; iOS baseline is untouched. */
@media(min-width:901px){
  #video-call-overlay.mb-random-firefox-call{
    overflow:hidden!important;
  }
  #video-call-overlay.mb-random-firefox-call .mb-call-shell{
    width:min(1180px,calc(100vw - 28px))!important;
    max-width:1180px!important;
    min-height:0!important;
    padding:12px!important;
    align-items:center!important;
  }
  #video-call-overlay.mb-random-firefox-call .mb-call-card{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
  }
  #video-call-overlay.mb-random-firefox-call #mb-call-connected-ui{
    display:grid!important;
    grid-template-columns:minmax(360px,560px) minmax(280px,340px)!important;
    grid-template-rows:auto auto minmax(0,1fr)!important;
    grid-template-areas:
      "title side"
      "status side"
      "stage side"!important;
    column-gap:14px!important;
    row-gap:3px!important;
    align-items:start!important;
    justify-content:center!important;
    width:100%!important;
    max-width:930px!important;
    margin:0 auto!important;
    padding:0!important;
  }
  #video-call-overlay.mb-random-firefox-call .mb-random-badge{
    display:none!important;
  }
  #video-call-overlay.mb-random-firefox-call #mb-call-connected-ui>.mb-call-name{
    grid-area:title!important;
    margin:0 0 1px!important;
    font-size:17px!important;
    line-height:1.15!important;
    font-weight:900!important;
  }
  #video-call-overlay.mb-random-firefox-call #mb-call-connected-ui>.mb-call-sub{
    grid-area:status!important;
    margin:0 0 6px!important;
    font-size:11px!important;
    line-height:1.2!important;
  }
  body.mb-video-call-active #video-call-overlay.mb-random-firefox-call #mb-call-connected-ui .mb-video-stage{
    grid-area:stage!important;
    position:relative!important;
    display:block!important;
    width:min(48vw,540px)!important;
    height:auto!important;
    min-height:0!important;
    max-height:calc(100dvh - 150px)!important;
    aspect-ratio:1/1!important;
    margin:0!important;
    border-radius:16px!important;
    overflow:hidden!important;
    background:#080b10!important;
  }
  body.mb-video-call-active #video-call-overlay.mb-random-firefox-call #video-remote{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center!important;
    border-radius:16px!important;
    background:#080b10!important;
  }
  body.mb-video-call-active #video-call-overlay.mb-random-firefox-call #video-local-connected{
    right:8px!important;
    bottom:8px!important;
    width:104px!important;
    height:104px!important;
    max-width:22%!important;
    max-height:22%!important;
    object-fit:cover!important;
    border-radius:12px!important;
  }
  #video-call-overlay.mb-random-firefox-call .mb-random-firefox-side{
    grid-area:side!important;
    display:flex!important;
    flex-direction:column!important;
    align-self:stretch!important;
    gap:7px!important;
    width:100%!important;
    min-width:0!important;
    max-height:calc(100dvh - 46px)!important;
    overflow:hidden!important;
  }
  #video-call-overlay.mb-random-firefox-call .mb-random-media-controls,
  #video-call-overlay.mb-random-firefox-call .mb-random-firefox-control-grid,
  #video-call-overlay.mb-random-firefox-call .mb-random-firefox-action-row{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:6px!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
  }
  #video-call-overlay.mb-random-firefox-call .mb-random-media-controls button,
  #video-call-overlay.mb-random-firefox-call .mb-random-firefox-action-row .btn,
  #video-call-overlay.mb-random-firefox-call .mb-random-profile-btn,
  #video-call-overlay.mb-random-firefox-call .mb-v12001-gift-actions .mb-v11029-gift-btn,
  #video-call-overlay.mb-random-firefox-call .mb-v12001-request-gift-btn{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:34px!important;
    min-height:34px!important;
    max-height:34px!important;
    padding:5px 7px!important;
    border-radius:9px!important;
    font-size:10.5px!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  #video-call-overlay.mb-random-firefox-call .mb-v12001-gift-actions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:6px!important;
    width:100%!important;
  }
  #video-call-overlay.mb-random-firefox-call .mb-random-firefox-legacy-end,
  #video-call-overlay.mb-random-firefox-call #mb-v12001-end-call-btn,
  #video-call-overlay.mb-random-firefox-call #mb-call-connected-ui>.mb-call-actions{
    display:none!important;
  }
  #video-call-overlay.mb-random-firefox-call .mb-v11029-call-lower{
    display:flex!important;
    flex:1 1 auto!important;
    flex-direction:column!important;
    min-height:0!important;
    max-height:none!important;
    width:100%!important;
    margin:0!important;
    padding:8px!important;
    border-radius:12px!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }
  #video-call-overlay.mb-random-firefox-call .mb-v11029-call-lower-head{
    min-height:0!important;
    margin:0 0 5px!important;
    padding:5px 6px!important;
    font-size:11px!important;
  }
  #video-call-overlay.mb-random-firefox-call .mb-v11029-call-messages{
    flex:1 1 auto!important;
    min-height:130px!important;
    max-height:280px!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    margin:0!important;
  }
  #video-call-overlay.mb-random-firefox-call .mb-v11029-composer{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 62px!important;
    gap:6px!important;
    width:100%!important;
    margin-top:6px!important;
  }
  #video-call-overlay.mb-random-firefox-call .mb-v11029-input{
    min-width:0!important;
    height:36px!important;
    min-height:36px!important;
    max-height:36px!important;
    padding:6px 9px!important;
    font-size:12px!important;
    line-height:1.2!important;
    resize:none!important;
  }
  #video-call-overlay.mb-random-firefox-call .mb-v11029-send{
    width:62px!important;
    min-width:62px!important;
    height:36px!important;
    min-height:36px!important;
    padding:4px!important;
    font-size:10.5px!important;
    border-radius:9px!important;
  }
}

@media(min-width:901px) and (max-width:1050px){
  #video-call-overlay.mb-random-firefox-call #mb-call-connected-ui{
    grid-template-columns:minmax(330px,500px) minmax(250px,300px)!important;
  }
  body.mb-video-call-active #video-call-overlay.mb-random-firefox-call #mb-call-connected-ui .mb-video-stage{
    width:min(50vw,500px)!important;
  }
}


/* V18.02.0007 — Firefox Random Chat: one viewport, one control row, visible messaging.
   Firefox-only; the approved iOS call layout above remains untouched. */
@media(min-width:901px){
  #video-call-overlay.mb-random-firefox-call .mb-call-shell{
    width:min(1160px,calc(100vw - 20px))!important;
    max-height:100dvh!important;
    padding:8px!important;
    overflow:hidden!important;
  }
  #video-call-overlay.mb-random-firefox-call .mb-call-card{
    max-height:calc(100dvh - 16px)!important;
    overflow:hidden!important;
  }
  #video-call-overlay.mb-random-firefox-call #mb-call-connected-ui{
    grid-template-columns:minmax(340px,520px) minmax(390px,500px)!important;
    max-width:1040px!important;
    max-height:calc(100dvh - 20px)!important;
    column-gap:10px!important;
  }
  body.mb-video-call-active #video-call-overlay.mb-random-firefox-call #mb-call-connected-ui .mb-video-stage{
    width:min(44vw,500px)!important;
    max-height:calc(100dvh - 86px)!important;
  }
  #video-call-overlay.mb-random-firefox-call .mb-random-firefox-side{
    height:calc(100dvh - 24px)!important;
    max-height:calc(100dvh - 24px)!important;
    gap:6px!important;
  }
  #video-call-overlay.mb-random-firefox-call .mb-random-firefox-controls{
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:4px!important;
    width:100%!important;
    flex:0 0 auto!important;
    margin:0!important;
    padding:0!important;
  }
  #video-call-overlay.mb-random-firefox-call .mb-random-firefox-controls>.mb-random-media-controls,
  #video-call-overlay.mb-random-firefox-call .mb-random-firefox-controls>.mb-random-firefox-control-grid,
  #video-call-overlay.mb-random-firefox-call .mb-random-firefox-controls>.mb-random-firefox-action-row{
    display:contents!important;
  }
  #video-call-overlay.mb-random-firefox-call .mb-random-firefox-controls button{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:30px!important;
    min-height:30px!important;
    max-height:30px!important;
    margin:0!important;
    padding:3px 3px!important;
    border-radius:7px!important;
    font-size:9px!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  #video-call-overlay.mb-random-firefox-call .mb-random-firefox-side>.mb-v11029-call-lower,
  #video-call-overlay.mb-random-firefox-call .mb-random-firefox-side>[class*="call-lower"]{
    display:flex!important;
    flex:1 1 auto!important;
    min-height:0!important;
    max-height:none!important;
    width:100%!important;
    overflow:hidden!important;
  }
  #video-call-overlay.mb-random-firefox-call .mb-v11029-call-messages{
    flex:1 1 auto!important;
    min-height:110px!important;
    max-height:none!important;
    overflow-y:auto!important;
  }
  #video-call-overlay.mb-random-firefox-call .mb-v11029-composer{
    flex:0 0 auto!important;
    margin-top:4px!important;
  }
}
@media(min-width:901px) and (max-width:1080px){
  #video-call-overlay.mb-random-firefox-call #mb-call-connected-ui{
    grid-template-columns:minmax(320px,470px) minmax(360px,450px)!important;
  }
  body.mb-video-call-active #video-call-overlay.mb-random-firefox-call #mb-call-connected-ui .mb-video-stage{
    width:min(43vw,460px)!important;
  }
}


/* V18.02.0009 HOTFIX - Firefox desktop wide call + symmetric public profile actions. */
#public-profile-overlay .social-actions,
#public-profile-overlay .safety-actions{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  align-items:stretch!important;
  gap:10px!important;
  width:100%!important;
  margin-top:12px!important;
}
#public-profile-overlay .social-actions>.btn,
#public-profile-overlay .social-actions>button,
#public-profile-overlay .safety-actions>.btn,
#public-profile-overlay .safety-actions>button{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-width:0!important;
  min-height:46px!important;
  height:100%!important;
  margin:0!important;
  padding:9px 12px!important;
  box-sizing:border-box!important;
  border-radius:12px!important;
  text-align:center!important;
  line-height:1.2!important;
  white-space:normal!important;
}
#public-profile-overlay #public-compatibility-compare-btn{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:46px!important;
  margin:0!important;
  padding:9px 12px!important;
  box-sizing:border-box!important;
  border-radius:12px!important;
  text-align:center!important;
}
@media(max-width:560px){
  #public-profile-overlay .social-actions,
  #public-profile-overlay .safety-actions{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
}
@-moz-document url-prefix(){
  @media(min-width:901px){
    #video-call-overlay.mb-random-firefox-call{
      overflow:hidden!important;
    }
    #video-call-overlay.mb-random-firefox-call .mb-call-shell{
      width:calc(100vw - 20px)!important;
      max-width:none!important;
      height:calc(100dvh - 12px)!important;
      min-height:0!important;
      max-height:calc(100dvh - 12px)!important;
      margin:6px auto!important;
      padding:8px!important;
      box-sizing:border-box!important;
      align-items:stretch!important;
      justify-content:center!important;
      overflow:hidden!important;
    }
    #video-call-overlay.mb-random-firefox-call .mb-call-card{
      width:100%!important;
      max-width:none!important;
      height:100%!important;
      min-height:0!important;
      max-height:100%!important;
      margin:0!important;
      padding:0!important;
      overflow:hidden!important;
    }
    #video-call-overlay.mb-random-firefox-call #mb-call-connected-ui{
      display:grid!important;
      grid-template-columns:minmax(560px,1fr) minmax(370px,440px)!important;
      grid-template-rows:auto auto minmax(0,1fr)!important;
      grid-template-areas:
        "title side"
        "status side"
        "stage side"!important;
      column-gap:14px!important;
      row-gap:3px!important;
      align-items:stretch!important;
      justify-content:stretch!important;
      width:100%!important;
      max-width:1500px!important;
      height:100%!important;
      min-height:0!important;
      max-height:calc(100dvh - 28px)!important;
      margin:0 auto!important;
      padding:0!important;
      box-sizing:border-box!important;
      overflow:hidden!important;
    }
    #video-call-overlay.mb-random-firefox-call #mb-call-connected-ui>.mb-call-name{
      grid-area:title!important;
      align-self:end!important;
      margin:0!important;
      padding:0 2px 1px!important;
      font-size:17px!important;
      line-height:1.1!important;
    }
    #video-call-overlay.mb-random-firefox-call #mb-call-connected-ui>.mb-call-sub{
      grid-area:status!important;
      align-self:start!important;
      margin:0!important;
      padding:0 2px 4px!important;
      font-size:11px!important;
      line-height:1.15!important;
    }
    body.mb-video-call-active #video-call-overlay.mb-random-firefox-call #mb-call-connected-ui .mb-video-stage{
      grid-area:stage!important;
      position:relative!important;
      width:100%!important;
      min-width:0!important;
      max-width:none!important;
      height:100%!important;
      min-height:0!important;
      max-height:none!important;
      aspect-ratio:auto!important;
      margin:0!important;
      border-radius:16px!important;
      overflow:hidden!important;
      background:#080b10!important;
    }
    body.mb-video-call-active #video-call-overlay.mb-random-firefox-call #video-remote{
      position:absolute!important;
      inset:0!important;
      width:100%!important;
      height:100%!important;
      object-fit:contain!important;
      object-position:center!important;
      border-radius:16px!important;
      background:#080b10!important;
    }
    body.mb-video-call-active #video-call-overlay.mb-random-firefox-call #video-local-connected{
      right:10px!important;
      bottom:10px!important;
      width:96px!important;
      height:128px!important;
      max-width:16%!important;
      max-height:24%!important;
      object-fit:cover!important;
      border-radius:11px!important;
    }
    #video-call-overlay.mb-random-firefox-call .mb-random-firefox-side{
      grid-area:side!important;
      display:flex!important;
      flex-direction:column!important;
      align-self:stretch!important;
      justify-self:stretch!important;
      width:100%!important;
      min-width:0!important;
      max-width:none!important;
      height:100%!important;
      min-height:0!important;
      max-height:none!important;
      gap:7px!important;
      margin:0!important;
      overflow:hidden!important;
    }
    #video-call-overlay.mb-random-firefox-call .mb-random-firefox-controls{
      display:grid!important;
      grid-template-columns:repeat(5,minmax(0,1fr))!important;
      gap:5px!important;
      width:100%!important;
      flex:0 0 auto!important;
      margin:0!important;
      padding:0!important;
    }
    #video-call-overlay.mb-random-firefox-call .mb-random-firefox-controls>.mb-random-media-controls,
    #video-call-overlay.mb-random-firefox-call .mb-random-firefox-controls>.mb-random-firefox-control-grid,
    #video-call-overlay.mb-random-firefox-call .mb-random-firefox-controls>.mb-random-firefox-action-row{
      display:contents!important;
    }
    #video-call-overlay.mb-random-firefox-call .mb-random-firefox-controls button{
      width:100%!important;
      min-width:0!important;
      max-width:none!important;
      height:34px!important;
      min-height:34px!important;
      max-height:34px!important;
      margin:0!important;
      padding:4px 5px!important;
      border-radius:8px!important;
      font-size:9.5px!important;
      line-height:1!important;
      white-space:nowrap!important;
      overflow:hidden!important;
      text-overflow:ellipsis!important;
    }
    #video-call-overlay.mb-random-firefox-call .mb-random-firefox-side>.mb-v11029-call-lower,
    #video-call-overlay.mb-random-firefox-call .mb-random-firefox-side>[class*="call-lower"]{
      display:flex!important;
      flex:1 1 auto!important;
      flex-direction:column!important;
      width:100%!important;
      min-width:0!important;
      min-height:0!important;
      max-height:none!important;
      margin:0!important;
      overflow:hidden!important;
    }
    #video-call-overlay.mb-random-firefox-call .mb-v11029-call-messages{
      flex:1 1 auto!important;
      width:100%!important;
      min-height:0!important;
      max-height:none!important;
      overflow-y:auto!important;
      overscroll-behavior:contain!important;
    }
    #video-call-overlay.mb-random-firefox-call .mb-v11029-composer{
      flex:0 0 auto!important;
      width:100%!important;
      margin-top:6px!important;
    }
  }
  @media(min-width:901px) and (max-width:1180px){
    #video-call-overlay.mb-random-firefox-call #mb-call-connected-ui{
      grid-template-columns:minmax(460px,1fr) minmax(340px,390px)!important;
      column-gap:10px!important;
    }
    body.mb-video-call-active #video-call-overlay.mb-random-firefox-call #video-local-connected{
      width:82px!important;
      height:110px!important;
    }
  }
}
