/* Vibe: calm surfaces, violet accents, generous but compact spacing. */
#app-container.vibe-shell.vibe-messenger-only {
  --vibe-bg: #f5f5fa; --vibe-text: #25243b; --vibe-muted: #74738a;
  --vibe-border: #e7e6ef; --vibe-soft: #7661db;
  --vm-bg: #f5f5fa; --vm-surface: #fff; --vm-text: #25243b;
  --vm-muted: #74738a; --vm-accent: #7661db; --vm-accent-soft: #eeebfc;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  background: #f5f5fa !important; color: #25243b !important;
}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only .vibe-nav {
  background: #fff !important; border-color: #e7e6ef !important;
  padding: 32px 18px 24px;
}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only .vibe-wordmark {color: #25243b !important; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important; font-size: 30px; letter-spacing: -1.5px; gap: 8px;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only .vibe-wordmark img {width: 34px; height: 34px;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only .vibe-brand-dot {color: #9180e7; font-size: 16px;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only .vibe-nav-caption {color: #9391a8; font-size: 10px; letter-spacing: 2px;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only .vibe-nav button {color: #74738a; border-radius: 14px;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only .vibe-nav button:hover {background: #f5f3fd; color: #6250bd;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only .vibe-nav button[aria-current] {background: #eeebfc !important; color: #6250bd !important; box-shadow: none; font-weight: 650;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only .vibe-nav-foot {margin-top: auto; color: #74738a; border-top: 1px solid #e7e6ef; font-size: 12px; white-space: normal;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only .vibe-nav-foot small {color: #9391a8; font-size: 11px;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only #sidepanel {background: #fff !important; border-right: 1px solid #e7e6ef !important;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only #sidepanel > div,
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only #sidepanel .scrollable-panel,
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only #sidepanel .panel-form {background: #fff !important;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only #side-caption-panel {
  background: #fff !important; background-image: none !important; color: #25243b !important;
  border: 0 !important; border-bottom: 1px solid #eeedf4 !important; box-shadow: none !important;
  padding: 24px 22px !important;
}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only #side-caption-panel * {color: #25243b !important;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only .fox-v3-brand-subtitle {color: #74738a !important; font-weight: 400; font-size: 12px;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only #side-caption-panel a,
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only #side-caption-panel button {background: #f1effa !important; color: #6250bd !important; box-shadow: none !important; border: 0 !important; border-radius: 12px !important;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only #login-form {padding: 38px 28px !important; background: transparent !important;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only #login-form h1 {font-size: 30px !important; line-height: 1.15; letter-spacing: -1px; color: #25243b !important; font-weight: 700;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only #login-form p {color: #74738a !important; font-size: 14px; line-height: 1.6; margin-bottom: 32px;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only #login-form input {
  background: #f8f8fc !important; border: 1px solid #e4e3ed !important; border-radius: 14px !important;
  color: #25243b !important; height: 52px; box-shadow: none !important; padding: 0 16px !important;
  font-family: inherit; font-size: 16px;
}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only input::placeholder {color: #9290a7 !important; opacity: 1;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only #login-form input:focus {border-color: #9585df !important; outline: 3px solid #eeebfc !important;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only #login-form .dialog-buttons {padding: 16px 0 0;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only #login-form button.primary {background: #7661db !important; color: #fff !important; border-radius: 14px !important; height: 52px; width: 100%; margin: 0; box-shadow: 0 7px 18px #7661db26 !important; font-size: 15px; font-weight: 650;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only #login-form a {color: #6250bd !important; font-size: 12px;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only #login-form label {color: #74738a !important; font-size: 12px;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only #dummy-view.fox-welcome {
  background: radial-gradient(ellipse at 70% 20%, #e4dff9 0, transparent 52%), radial-gradient(ellipse at 15% 90%, #e1eaf8 0, transparent 50%), #f5f5fa !important;
  color: #25243b !important;
}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only .fox-welcome h1 {color: #25243b !important; font-size: clamp(32px, 4vw, 54px); letter-spacing: -2px; line-height: 1.12; max-width: 550px;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only .fox-welcome p {color: #74738a !important; font-size: 16px; line-height: 1.7; max-width: 350px;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only .fox-welcome-mark {background: #7661db !important; color: white !important; border-radius: 28px !important; box-shadow: 0 16px 48px #7661db33 !important; transform: rotate(-7deg);}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only .vibe-welcome-eyebrow {display: block; font-size: 10px; letter-spacing: 2px; color: #837b9b; margin-bottom: 32px;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only .vibe-welcome-signature {display: block; margin-top: 38px; color: #9390a8; font-size: 12px;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only #sidepanel .fox-v4-search {background: #f8f8fc !important; border-color: #e7e6ef !important;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only #sidepanel .contact-box > li {margin: 4px 10px !important; border-radius: 16px !important; border: 0 !important; background: transparent !important; box-shadow: none !important; padding: 14px 12px !important;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only #sidepanel .contact-box > li:hover {background: #f7f6fd !important;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only #sidepanel .contact-box > li.selected {background: #eeebfc !important;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only #sidepanel .contact-box > li.selected::after {display: none !important;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only #sidepanel .contact-box .contact-title {color: #25243b !important; font-weight: 600 !important; font-size: 15px !important;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only #sidepanel .contact-box .contact-comment,
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only #sidepanel .contact-box .contact-comment span,
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only #sidepanel .contact-box .fox-contact-time {color: #74738a !important;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only #sidepanel .fox-moments-strip {border-bottom: 1px solid #f0eff6;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only #sidepanel .fox-moment-avatar {background: #eeebfc !important; color: #6250bd !important;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only #sidepanel .fox-moments-all {background: #f8f8fc !important; border-color: #e7e6ef !important;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only #topic-caption-panel {background: #fff !important; color: #25243b !important; border-bottom: 1px solid #e7e6ef !important; box-shadow: none !important;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only #topic-title {color: #25243b !important;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only #topic-last-seen {color: #74738a !important;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only #messages-container,
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only #messages-panel,
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only #scroller {background: #f5f5fa !important;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only #messages-container::before {background: #f5f5fa !important; background-image: none !important;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only .chat-box .left .bubble {background: #fff !important; color: #25243b !important; border: 1px solid #e9e8f1 !important; border-radius: 18px 18px 18px 5px !important; box-shadow: 0 3px 10px #25243b04 !important;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only .chat-box .right .bubble {background: #eeebfc !important; color: #332958 !important; border: 0 !important; border-radius: 18px 18px 5px 18px !important;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only #send-message-wrapper {background: #f5f5fa !important; border: 0 !important; padding: 14px 22px 20px !important;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only #send-message-panel {background: #fff !important; border: 1px solid #e7e6ef !important; border-radius: 20px !important; box-shadow: 0 5px 20px #25243b06 !important;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only #send-message-input {background: transparent !important; color: #25243b !important;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only .fox-composer-primary {background: #7661db !important; color: #fff !important; border-radius: 14px !important;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only :is(button, a, input, textarea):focus-visible {outline: 3px solid #b3a5f0; outline-offset: 3px;}
@media (min-width: 641px) {
  #app-container.vibe-shell.vibe-chat-open.vibe-messenger-only {--vibe-nav-width: 200px !important;}
  #app-container.vibe-shell.vibe-chat-open.vibe-messenger-only #sidepanel {width: 370px !important;}
  #app-container.vibe-shell.vibe-chat-open.vibe-messenger-only #dummy-view {left: 570px !important;}
}
/* Remove decorative Social artwork from the Messenger navigation. */
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only .vibe-nav::before,
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only .vibe-nav::after,
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only .vibe-nav button::before {display: none !important;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only .vibe-wordmark b {font-family: inherit !important; font-style: normal !important; font-weight: 750;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only .fox-v3-brand-logo {background: #7661db !important; box-shadow: 0 5px 16px #7661db26 !important;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only #sidepanel .fox-v3-brand-logo * {color: white !important;}
@media (max-width: 640px) {
  #app-container.vibe-shell.vibe-chat-open.vibe-messenger-only #sidepanel:not(.fox-authenticated) {justify-content: flex-start !important; padding: max(24px, env(safe-area-inset-top)) 12px 20px !important;}
}
@media (max-width: 640px) {
  #app-container.vibe-shell.vibe-chat-open.vibe-messenger-only .vibe-nav {padding: 8px 12px calc(8px + env(safe-area-inset-bottom)); background: #ffffffed !important; border-top: 1px solid #e7e6ef;}
  #app-container.vibe-shell.vibe-chat-open.vibe-messenger-only .vibe-nav-primary {grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px;}
  #app-container.vibe-shell.vibe-chat-open.vibe-messenger-only .vibe-nav button {font-size: 10px; gap: 5px;}
  #app-container.vibe-shell.vibe-chat-open.vibe-messenger-only #side-caption-panel {padding: 18px 20px !important;}
  #app-container.vibe-shell.vibe-chat-open.vibe-messenger-only #login-form {padding: 30px 24px !important;}
  #app-container.vibe-shell.vibe-chat-open.vibe-messenger-only #login-form h1 {font-size: 29px !important;}
  #app-container.vibe-shell.vibe-chat-open.vibe-messenger-only #sidepanel {background: #fff !important;}
  #app-container.vibe-shell.vibe-chat-open.vibe-messenger-only #send-message-wrapper {padding: 10px 12px max(12px, env(safe-area-inset-bottom)) !important;}
}
@media (prefers-reduced-motion: reduce) {#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only * {transition: none !important;}}
@media (max-width: 360px) {
  #app-container.vibe-shell.vibe-chat-open.vibe-messenger-only .fox-v3-brand-subtitle {display: none;}
  #app-container.vibe-shell.vibe-chat-open.vibe-messenger-only #login-form h1 {font-size: 26px !important;}
}

/* Messenger owns its shell. Social CSS is intentionally not loaded. */
#app-container.vibe-messenger-only {
  --vibe-nav-width: 240px;
  width: 100% !important; max-width: none !important; height: var(--fox-viewport-height, 100dvh) !important;
  margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important;
  box-shadow: none !important; display: flex !important; overflow: hidden;
  --clr-bright: #fff; --clr-text: #25243b; --clr-gray: #647084;
}
#app-container.vibe-messenger-only .vibe-nav {
  position: relative !important; inset: auto !important; width: 240px !important;
  flex: 0 0 240px; box-sizing: border-box; display: flex; flex-direction: column;
  height: 100%; border-right: 1px solid #e7e6ef; z-index: 5;
}
.vibe-messenger-nav button {display:flex; align-items:center; gap:12px; min-height:48px; padding:12px; margin:0; border:0; font:inherit; text-transform:none; text-align:left; background:transparent; box-shadow:none; cursor:pointer;}
.vibe-messenger-nav .vibe-icon {width:22px; height:22px; flex-shrink:0;}
.vibe-messenger-nav .vibe-wordmark {margin-bottom:32px;}
.vibe-messenger-nav .vibe-nav-caption {margin:0 12px 16px;}
.vibe-messenger-nav .vibe-nav-primary {display:flex; flex-direction:column; gap:6px;}
.vibe-messenger-nav .vibe-nav-foot {padding:20px 8px 0; line-height:1.7;}
.vibe-messenger-nav .vibe-nav-foot small {display:block;}
#app-container.vibe-shell.vibe-messenger-only #sidepanel {
  position: relative !important; inset:auto !important; margin:0 !important;
  width: clamp(340px, 28vw, 420px) !important; min-width:0 !important;
  flex:0 0 clamp(340px, 28vw, 420px) !important; height:100% !important;
  padding:0 !important; overflow:hidden; background:#fff !important;
}
#app-container.vibe-shell.vibe-messenger-only :is(#topic-view,#dummy-view) {
  position:relative !important; inset:auto !important; margin:0 !important;
  flex:1 1 0 !important; width:0 !important; min-width:0 !important; max-width:none !important;
  height:100% !important; padding:0 !important;
}
#app-container.vibe-messenger-only #info-view {min-width:0; width:320px; flex:0 1 320px;}
#app-container.vibe-messenger-only #sidepanel .contact-box {background:#fff !important; margin:0 !important; padding:4px 0 !important; width:100% !important; box-sizing:border-box;}
#app-container.vibe-messenger-only #sidepanel .contact-box > li {display:flex !important; align-items:center; gap:12px; min-height:76px; box-sizing:border-box;}
#app-container.vibe-messenger-only #sidepanel .contact-box .avatar-box {width:48px !important; height:48px !important; flex:0 0 48px !important; margin:0 !important; border:0 !important; border-radius:50%;}
#app-container.vibe-messenger-only .contact-comment {overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
#app-container.vibe-messenger-only .contact-title {flex:1;}
#app-container.vibe-messenger-only .fox-filters button {background:#f5f4fa; color:#586075; border:0; border-radius:20px; padding:8px 12px; margin:0; font:inherit; font-size:12px; box-shadow:none;}
#app-container.vibe-messenger-only .fox-filters button.active {background:#eeebfc; color:#6250bd;}
#app-container.vibe-messenger-only #sidepanel .fox-moments-strip,
#app-container.vibe-messenger-only .fox-v4-chat-ambient {display:none !important;}
#app-container.vibe-messenger-only #topic-caption-panel {flex-shrink:0; min-height:76px; padding:12px 20px !important; box-sizing:border-box;}
#app-container.vibe-messenger-only #topic-title-group {min-width:0; flex:1;}
#app-container.vibe-messenger-only #topic-title {overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
#app-container.vibe-messenger-only #messages-container {flex:1; min-height:0;}
#app-container.vibe-messenger-only #messages-container::before {opacity:1 !important; filter:none !important;}
#app-container.vibe-messenger-only #scroller {padding:20px !important; box-sizing:border-box;}
#app-container.vibe-messenger-only #scroller > li {touch-action:pan-y;}
#app-container.vibe-messenger-only .chat-box .bubble {position:relative;}
#app-container.vibe-messenger-only .vibe-reaction-picker {position:absolute; z-index:12; left:8px; bottom:calc(100% + 7px); display:flex; align-items:center; gap:3px; padding:5px; border:1px solid #e7e3f2; border-radius:999px; background:#fff; box-shadow:0 8px 24px #29204424;}
#app-container.vibe-messenger-only .vibe-reaction-picker button {display:grid; place-items:center; min-width:34px; height:34px; padding:0 5px; border:0; border-radius:50%; background:transparent; font-size:19px; cursor:pointer; transition:transform .14s ease, background .14s ease;}
#app-container.vibe-messenger-only .vibe-reaction-picker button:hover {background:#f2efff; transform:scale(1.12);}
#app-container.vibe-messenger-only .vibe-reaction-picker .vibe-reaction-dismiss {min-width:24px; height:24px; color:#858198; font-size:18px;}
#app-container.vibe-messenger-only .vibe-reaction-summary {display:flex; gap:5px; margin:4px 0 0 8px;}
#app-container.vibe-messenger-only .chat-box li.right .vibe-reaction-summary {justify-content:flex-end; margin:4px 8px 0 0;}
#app-container.vibe-messenger-only .vibe-reaction-summary button {display:inline-flex; align-items:center; gap:5px; min-height:26px; padding:2px 9px; border:1px solid #e8e5f1; border-radius:999px; background:#fff; color:#48445b; font:500 12px/1.2 Roboto,sans-serif; cursor:pointer;}
#app-container.vibe-messenger-only .vibe-reaction-summary button.active {border-color:#a99af1; background:#f0edff; color:#563cce;}
#app-container.vibe-shell.vibe-messenger-only .chat-box .bubble .message-content {color:inherit !important;}
#app-container.vibe-shell.vibe-messenger-only .chat-box .bubble .timestamp {color:#646079 !important;}
#app-container.vibe-messenger-only .chat-box .bubble.tip::before {display:none !important;}
#app-container.vibe-messenger-only #send-message-wrapper {flex-shrink:0;}
#app-container.vibe-messenger-only #send-message-panel {max-width:none !important; width:100% !important; box-sizing:border-box;}
@media (min-width:641px) and (max-width:1100px) {
  #app-container.vibe-messenger-only .vibe-nav {width:220px !important; flex-basis:220px; padding:24px 12px;}
  #app-container.vibe-shell.vibe-messenger-only #sidepanel {width:340px !important; flex-basis:340px !important;}
}
@media (max-width:640px) {
  #app-container.vibe-messenger-only {padding-bottom:calc(72px + env(safe-area-inset-bottom)) !important; box-sizing:border-box;}
  #app-container.vibe-messenger-only:has(#topic-view) {padding-bottom:0 !important;}
  #app-container.vibe-messenger-only .vibe-nav {position:fixed !important; inset:auto 0 0 !important; width:100% !important; height:calc(72px + env(safe-area-inset-bottom)); flex:none; padding:6px 8px calc(6px + env(safe-area-inset-bottom)); border-right:0;}
  .vibe-messenger-nav :is(.vibe-wordmark,.vibe-nav-caption,.vibe-nav-foot) {display:none !important;}
  #app-container.vibe-messenger-only .vibe-nav-primary {display:grid; grid-template-columns:repeat(4,1fr); width:100%; gap:4px;}
  .vibe-messenger-nav .vibe-nav-primary button {flex-direction:column; justify-content:center; gap:4px; padding:6px 0; font-size:11px; min-height:56px;}
  #app-container.vibe-shell.vibe-messenger-only #sidepanel {width:100% !important; flex:1 1 100% !important;}
  #app-container.vibe-shell.vibe-messenger-only #dummy-view {display:none !important;}
  #app-container.vibe-shell.vibe-messenger-only #topic-view {width:100% !important; flex:1 1 100% !important;}
  #app-container.vibe-messenger-only:has(#topic-view) .vibe-nav {display:none !important;}
}
html, body {margin:0 !important; padding:0 !important; width:100%; height:100%; overflow:hidden; background:#f5f5fa !important;}
#mountPoint {height:100%; padding:0 !important; margin:0 !important;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only {inset:auto !important; margin:0 !important; padding:0 !important; width:100% !important; max-width:none !important;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only :is(#dummy-view,#topic-view) {left:auto !important; right:auto !important; top:auto !important; bottom:auto !important; transform:none !important;}
@media(max-width:640px) {
 #app-container.vibe-shell.vibe-chat-open.vibe-messenger-only {padding-bottom:calc(72px + env(safe-area-inset-bottom)) !important;}
 #app-container.vibe-shell.vibe-chat-open.vibe-messenger-only:has(#topic-view) {padding-bottom:0 !important;}
}
#app-container.vibe-messenger-only .fox-filters button[aria-pressed="true"] {background:#eeebfc; color:#6250bd;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only .avatar-box > :is(.lettertile,img.avatar) {border-radius:50% !important; width:100% !important; height:100% !important; object-fit:cover;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only .avatar-box > .lettertile {display:flex !important; align-items:center !important; justify-content:center !important; overflow:hidden;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only .avatar-box > .lettertile > div {position:static !important; inset:auto !important; transform:none !important; line-height:1 !important; margin:0 !important; color:#244b3e !important;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only #sidepanel .contact-box > li.selected::before {display:none !important;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only #sidepanel .fox-v4-search {width:calc(100% - 24px) !important; box-sizing:border-box !important;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only #send-message-panel {margin:0 !important; min-width:0 !important;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only #send-message-panel :is(button.primary,.fox-composer-primary) {background:#7661db !important; color:white !important;}
#app-container.vibe-shell.vibe-messenger-only :is(#sidepanel,#topic-caption-panel) .avatar-box > :is(.lettertile,img.avatar) {width:100% !important; height:100% !important; min-width:0 !important; padding:0 !important; border-radius:50% !important;}
#app-container.vibe-shell.vibe-messenger-only #sidepanel .contact-box .avatar-box {width:48px !important; min-width:48px !important; height:48px !important; border-radius:50% !important;}

/* Shared Messenger controls replace the retired FOX theme. */
#app-container.vibe-messenger-only {
 color-scheme:light;
 --clr-primary-accent:#7661db; --clr-primary-action:#7661db;
 --clr-primary-accent-hover:#6250bd; --clr-primary-action-hover:#6250bd;
 --clr-text-primary:#25243b; --clr-text-secondary:#667085;
 --clr-text-tertiary:#667085; --clr-text-placeholder:#7b8192;
 --clr-border-light:#e7e6ef; --clr-border-muted:#e7e6ef;
 --clr-bubble-timestamp-text:#646079; --clr-shadow-bubble-drop:transparent;
 font-size:14px;
}
#app-container.vibe-messenger-only .caption-panel {box-shadow:none; flex-shrink:0;}
#app-container.vibe-messenger-only #side-caption-panel {height:auto; min-height:80px; box-sizing:border-box; display:flex; align-items:center; gap:12px;}
#app-container.vibe-messenger-only #side-caption-panel .fox-v3-sidebar-brand {display:flex; align-items:center; gap:12px; flex:1;}
.fox-v3-brand-logo {display:flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:14px; font-size:28px; font-weight:700;}
.fox-v3-brand-name {font-size:19px; font-weight:700;}
#app-container.vibe-messenger-only .fox-v3-sidebar-actions {display:flex; align-items:center; gap:8px;}
#app-container.vibe-messenger-only #side-caption-panel:has(.fox-v4-sidebar-heading) :is(.fox-v3-sidebar-brand,.fox-v3-profile-strip,.fox-v3-sidebar-actions) {display:none;}
#app-container.vibe-messenger-only #side-caption-panel:not(:has(.fox-v4-sidebar-heading)) .fox-v3-sidebar-brand {display:none;}
#app-container.vibe-messenger-only #side-caption-panel:has(#login-form) .fox-v3-sidebar-brand {display:flex;}
#app-container.vibe-messenger-only .fox-v3-profile-strip {display:flex; align-items:center; gap:10px; flex:1; min-width:0;}
#app-container.vibe-messenger-only .fox-v3-profile-status {display:none;}
#app-container.vibe-messenger-only .fox-v3-self-avatar-placeholder {display:none;}
#app-container.vibe-messenger-only #sidepanel-title {font-size:18px; line-height:1.4;}
#app-container.vibe-messenger-only .fox-v4-sidebar-heading {display:flex; align-items:center; justify-content:space-between; width:100%; font-size:22px; font-weight:700;}
#app-container.vibe-messenger-only .fox-v4-new-chat {display:flex; align-items:center; justify-content:center; width:40px; height:40px; min-width:40px; padding:0; margin:0;}
#app-container.vibe-messenger-only .fox-v4-dialog-tools {background:#fff; padding:4px 0;}
#app-container.vibe-messenger-only #sidepanel .scrollable-panel {min-height:0; overflow:auto;}
#app-container.vibe-messenger-only .fox-filters {display:flex; flex-wrap:wrap; gap:6px; padding:12px 12px 4px; margin:0 !important;}
#app-container.vibe-messenger-only :is(button,.flat-button) {text-transform:none; letter-spacing:normal; box-shadow:none; font-family:inherit; border-radius:10px;}
#app-container.vibe-messenger-only #sidepanel .flat-button {background:#f5f4fa; color:#35334c; border:1px solid #e7e6ef; padding:12px 14px; margin:4px 0; line-height:24px;}
#app-container.vibe-messenger-only .panel-form-column {padding:20px; box-sizing:border-box;}
#app-container.vibe-messenger-only #sidepanel :is(h1,h2,h3,.fox-v9-new-chat-title,.fox-v9-search-title,.fox-v9-section-title) {color:#25243b;}
#app-container.vibe-messenger-only #sidepanel :is(input,textarea) {background:#f8f8fc; color:#25243b; border:1px solid #dcdbe8; border-radius:12px; box-sizing:border-box; padding:12px; font-size:15px;}
#app-container.vibe-messenger-only #sidepanel .fox-v4-search input {border:0 !important;}
#app-container.vibe-messenger-only .hr {height:1px; background:#e7e6ef; margin:8px 20px; box-shadow:none;}
#app-container.vibe-messenger-only .fox-profile .group {margin:16px 0;}
#app-container.vibe-messenger-only .fox-v9-new-chat {overflow:auto; min-height:0; padding:20px; gap:20px;}
.fox-v9-new-chat-hero,.fox-v9-section-heading {display:flex; align-items:center; gap:12px;}
.fox-v9-new-chat-icon,.fox-v9-section-icon {display:flex; align-items:center; justify-content:center; width:44px; height:44px; background:#eeebfc; color:#6250bd; border-radius:14px; flex-shrink:0;}
.fox-v9-new-chat-title {font-size:20px; font-weight:700; margin-bottom:5px;}
.fox-v9-new-chat-subtitle,.fox-v9-search-description,.fox-v9-section-description {color:#667085; font-size:13px; line-height:1.6;}
.fox-v9-tabs {display:flex; gap:6px;}
#app-container.vibe-messenger-only .fox-v9-tabs button {flex:1; display:flex; align-items:center; justify-content:center; gap:6px; margin:0; padding:10px 4px; font-size:13px; background:#f5f4fa; color:#667085; border:0;}
#app-container.vibe-messenger-only .fox-v9-tabs button.active {background:#eeebfc; color:#6250bd;}
.fox-v9-search-title,.fox-v9-section-title {font-weight:650; margin-bottom:6px;}
#app-container.vibe-messenger-only .fox-v9-search-box {display:flex; align-items:center; gap:10px; padding:0 12px; margin:14px 0; background:#f8f8fc; border:1px solid #dcdbe8; border-radius:12px;}
#app-container.vibe-messenger-only .fox-v9-search-box input {min-width:0; flex:1; width:100%; background:transparent; border:0; box-shadow:none;}
.fox-v9-results-label {font-size:11px; color:#667085; margin:16px 0; letter-spacing:.06em;}
#app-container.vibe-messenger-only .fox-welcome-content {text-align:center; padding:32px; max-width:560px;}
#app-container.vibe-messenger-only .fox-welcome-mark {display:flex; align-items:center; justify-content:center; width:80px; height:80px; margin:0 auto 28px; font-size:48px; font-weight:700;}
#app-container.vibe-messenger-only .fox-welcome-content p {margin:16px auto;}
#app-container.vibe-messenger-only #topic-caption-panel .fox-v3-chat-actions {display:flex; align-items:center; gap:8px;}
#app-container.vibe-messenger-only #topic-caption-panel :is(button,a) {color:#596279; background:transparent; border:0; box-shadow:none; margin:0; border-radius:10px;}
#app-container.vibe-messenger-only #topic-caption-panel button {width:36px; height:36px; min-width:36px; padding:6px; display:flex; justify-content:center; align-items:center;}
#app-container.vibe-messenger-only #send-message-wrapper.fox-v5-composer {width:100%; box-sizing:border-box; padding:12px 20px !important; background:#f5f5fa !important; position:relative;}
#app-container.vibe-messenger-only #send-message-panel.fox-v5-composer-panel {display:flex; align-items:flex-end; gap:8px; padding:10px; border-radius:18px !important;}
#app-container.vibe-messenger-only #send-message-input {flex:1; min-width:0; resize:none; border:0; outline:none; padding:10px 4px; min-height:40px; max-height:160px; height:40px; box-sizing:border-box; font:inherit; line-height:20px; box-shadow:none;}
#app-container.vibe-messenger-only #send-message-panel :is(a,button) {display:flex; align-items:center; justify-content:center; width:40px; height:40px; min-width:40px; margin:0; padding:0; border:0; border-radius:12px; box-shadow:none; background:transparent; color:#667085; font-size:22px;}
#app-container.vibe-messenger-only #send-message-panel .material-icons {color:inherit;}
#app-container.vibe-messenger-only #send-message-panel .fox-composer-primary {background:#7661db !important; color:#fff !important;}
#app-container.vibe-messenger-only .fox-emoji-picker {display:grid; grid-template-columns:repeat(8,1fr); gap:4px; padding:10px; background:white; border:1px solid #e7e6ef; border-radius:16px; max-width:360px; margin-bottom:8px;}
#app-container.vibe-messenger-only .fox-emoji-picker button {min-width:0; padding:6px; margin:0; background:transparent; font-size:22px;}
#app-container.vibe-messenger-only .chat-box .bubble {box-shadow:0 1px 3px #25243b0a !important; padding:10px 14px;}
#app-container.vibe-messenger-only .chat-box li {margin-bottom:8px;}
#app-container.vibe-messenger-only .chat-box .bubble :is(.attachment,.attachment a,.attachment .gray,.attachment .light-gray) {color:#4d446d !important;}
#app-container.vibe-messenger-only .chat-box .bubble .attachment {padding:8px; border-radius:10px; background:#ffffff70; gap:10px;}
#app-container.vibe-messenger-only .chat-box .bubble .attachment a {text-decoration:underline;}
#app-container.vibe-messenger-only .audio-player {background:transparent; color:#4d446d;}
#app-container.vibe-messenger-only .fox-audio-toggle {width:40px; height:40px; min-width:40px; padding:0; border:0; background:#7661db; color:white; border-radius:50%; margin:0 8px 0 0;}
@media(max-width:640px) {
 #app-container.vibe-messenger-only #send-message-wrapper.fox-v5-composer {padding:8px 10px max(10px,env(safe-area-inset-bottom)) !important;}
 #app-container.vibe-messenger-only #send-message-panel :is(a,button) {width:32px; min-width:32px; height:36px;}
 #app-container.vibe-messenger-only #topic-caption-panel {padding:10px 12px !important; min-height:68px;}
}
#app-container.vibe-messenger-only .fox-v3-brand {display:flex; align-items:center; gap:12px; flex:1;}
#app-container.vibe-messenger-only #sidepanel.fox-authenticated .fox-v3-brand,
#app-container.vibe-messenger-only #sidepanel:not(.fox-authenticated) .fox-v3-profile-strip {display:none;}
#app-container.vibe-messenger-only #sidepanel:not(.fox-authenticated) #side-caption-panel {flex-wrap:wrap;}
#app-container.vibe-messenger-only .fox-v3-profile-copy {min-width:0;}
#app-container.vibe-messenger-only #self-avatar {width:40px; height:40px; flex:0 0 40px; margin:0;}
#app-container.vibe-messenger-only .contact-box .unread {background:#7661db; color:#fff;}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only .chat-box .right .message-content,
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only .chat-box .right .message-content * {color:inherit !important;}
#app-container.vibe-messenger-only .fox-message-search {display:flex; gap:8px; padding:12px 20px; background:#fff; border-bottom:1px solid #e7e6ef;}
#app-container.vibe-messenger-only .fox-message-search input {flex:1; min-width:0; border:1px solid #e7e6ef; border-radius:10px; padding:10px; color:#25243b; background:#f8f8fc;}
#app-container.vibe-messenger-only #sidepanel .fox-v9-search-box input {background:transparent; border:0; box-shadow:none; padding:12px 0;}
#app-container.vibe-messenger-only #sidepanel .flat-button {display:flex; align-items:center; gap:8px; min-height:48px; box-sizing:border-box;}
#app-container.vibe-messenger-only #sidepanel .hr {width:calc(100% - 40px); height:1px !important; border:0;}
#app-container.vibe-messenger-only .fox-profile label {color:#667085; font-size:12px;}
#app-container.vibe-shell.vibe-messenger-only #side-caption-panel .fox-v3-sidebar-actions :is(a,button) {display:flex; align-items:center; justify-content:center; width:36px; height:36px; min-width:36px; padding:0; margin:0; border-radius:10px;}
#app-container.vibe-shell.vibe-messenger-only #side-caption-panel .fox-v3-sidebar-actions .material-icons {font-size:22px;}
#app-container.vibe-messenger-only .fox-v9-new-chat-content {min-height:0;}
/* Stories and video notes share the Messenger palette. */
.vibe-stories {flex-shrink:0; padding:12px 14px 8px; border-bottom:1px solid #e7e6ef; background:#fff; color:#25243b;}
.vibe-stories-heading {display:flex; align-items:center; justify-content:space-between; font-size:12px; font-weight:650; color:#667085; margin-bottom:8px;}
.vibe-stories-heading button {border:0; background:transparent; color:#667085; min-width:28px; height:28px; padding:0; margin:0;}
.vibe-stories-strip {display:flex; gap:12px; overflow-x:auto; padding-bottom:4px;}
#app-container.vibe-messenger-only .vibe-story-person {display:flex; flex-direction:column; align-items:center; gap:6px; background:transparent; border:0; padding:0; margin:0; flex:0 0 68px; min-width:68px; font-size:11px; color:#4c5066; line-height:16px;}
.vibe-story-person > span:last-child {width:68px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.vibe-story-ring {width:48px; height:48px; border:2px solid #8a70e5; border-radius:50%; display:flex; align-items:center; justify-content:center; background:#eeebfc; color:#6250bd; font-size:17px; font-weight:650; box-sizing:border-box;}
.vibe-story-add {border-color:#e7e6ef; font-size:26px;}
.vibe-media-overlay {position:fixed; inset:0; z-index:1000; background:#171529a6; display:flex; align-items:center; justify-content:center; padding:16px; box-sizing:border-box; color-scheme:light; font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;}
.vibe-media-dialog {width:420px; max-width:100%; max-height:calc(100dvh - 32px); overflow:auto; padding:20px; box-sizing:border-box; background:white; color:#25243b; border-radius:24px; box-shadow:0 24px 80px #1113;}
.vibe-media-dialog header,.vibe-story-viewer header {display:flex; gap:12px; align-items:center; justify-content:space-between; margin-bottom:12px;}
.vibe-media-dialog h2 {margin:0; font-size:20px;}
.vibe-media-dialog button,.vibe-story-viewer button {font:inherit; text-transform:none; letter-spacing:normal; border:0; border-radius:12px; padding:10px 14px; min-width:40px; margin:0; background:#f1eff9; color:#4d446d; box-shadow:none; cursor:pointer;}
.vibe-media-dialog header button,.vibe-story-viewer header button {font-size:22px; padding:6px 10px;}
.vibe-media-dialog p {font-size:13px; line-height:1.6; color:#667085;}
.vibe-media-dialog .vibe-media-primary {background:#7661db; color:white;}
.vibe-media-dialog footer {display:flex; justify-content:flex-end; gap:8px; margin-top:16px;}
.vibe-media-dialog button:disabled {opacity:.5; cursor:default;}
.vibe-media-error {color:#b33249 !important; font-size:13px; line-height:1.5;}
.vibe-circle-camera {width:260px; height:260px; max-width:100%; aspect-ratio:1; border-radius:50%; overflow:hidden; margin:20px auto; background:#eeebfc;}
.vibe-circle-camera video {width:100%; height:100%; object-fit:cover;}
.vibe-video-circle {width:240px; height:240px; max-width:100%; border-radius:50%; overflow:hidden; background:#eeebfc;}
.vibe-video-circle video {width:100%; height:100%; object-fit:cover;}
#app-container.vibe-messenger-only .bubble:has(.vibe-video-circle) {background:transparent !important; border:0 !important; box-shadow:none !important; padding:0;}
#image-preview .vibe-circle-preview {width:min(60vw,400px); height:min(60vw,400px); border-radius:50%; object-fit:cover;}
.vibe-story-composer-preview {height:240px; background:#f5f5fa; border-radius:16px; overflow:hidden; margin:12px 0;}
.vibe-story-composer-preview :is(img,video) {width:100%; height:100%; object-fit:contain;}
.vibe-story-caption {display:block; margin-top:16px; font-size:13px; color:#667085;}
.vibe-story-caption textarea {display:block; width:100%; min-height:90px; margin-top:8px; padding:12px; border:1px solid #dcdbe8; border-radius:12px; background:#f8f8fc; color:#25243b; box-sizing:border-box; font:inherit; resize:vertical;}
.vibe-story-viewer {width:400px; max-width:100%; height:min(740px,calc(100dvh - 32px)); border-radius:20px; overflow:hidden; background:#28203e; color:white; display:flex; flex-direction:column; padding:16px; box-sizing:border-box;}
.vibe-story-viewer header {margin:12px 0;}
.vibe-story-viewer header b {flex:1; font-size:14px;}
.vibe-story-viewer button {background:#ffffff20; color:white;}
.vibe-story-progress {display:flex; gap:4px;}
.vibe-story-progress span {height:3px; background:#ffffff40; flex:1; border-radius:3px; overflow:hidden;}
.vibe-story-progress i {display:block; height:100%; background:white;}
.vibe-story-media {flex:1; min-height:0; display:flex; align-items:center; justify-content:center; overflow:hidden; border-radius:14px; background:linear-gradient(140deg,#6151b5,#39225b);}
.vibe-story-media :is(img,video) {width:100%; height:100%; object-fit:contain;}
.vibe-story-media p {padding:24px; font-size:26px; text-align:center; line-height:1.5; white-space:pre-wrap; overflow-wrap:anywhere;}
.vibe-story-viewer-caption {margin:12px 0; font-size:14px; line-height:1.5; overflow-wrap:anywhere;}
.vibe-story-viewer footer {display:flex; justify-content:space-between; align-items:center; gap:8px; font-size:12px; padding-top:12px;}
@media(max-width:640px) {
 .vibe-circle-camera {width:240px; height:240px;}
 .vibe-video-circle {width:200px; height:200px;}
 #app-container.vibe-messenger-only #send-message-panel {gap:3px; padding:8px;}
 .vibe-story-viewer {height:calc(100dvh - 24px);}
}
#app-container.vibe-messenger-only .vibe-story-person {height:auto; min-height:76px;}
.vibe-story-ring {flex:0 0 48px;}

/* User-selected backgrounds live behind messages, never behind the composer. */
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only #messages-container::before {
  background-image:var(--wallpaper-url) !important;
  background-repeat:var(--wallpaper-repeat) !important;
  background-size:var(--wallpaper-size) !important;
  background-position:var(--wallpaper-position) !important;
}
#app-container.vibe-shell.vibe-chat-open.vibe-messenger-only :is(#messages-panel,#scroller) {background:transparent !important;}
.vibe-settings-hint {font-size:12px; line-height:1.5; color:#74738a; padding:0 16px;}
.vibe-wallpaper-preview {margin:4px 16px 16px; padding:24px 16px; min-height:155px; border:1px solid #e7e6ef; border-radius:18px; display:flex; flex-direction:column; gap:12px; background-position:center;}
.vibe-wallpaper-preview span {padding:10px 12px; border-radius:14px 14px 14px 4px; background:white; color:#25243b; font-size:13px; max-width:90%; align-self:flex-start; box-shadow:0 2px 8px #25243b0b;}
.vibe-wallpaper-preview span:last-child {background:#eeebfc; border-radius:14px 14px 4px 14px; align-self:flex-end;}
.vibe-wallpaper-grid {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:16px;}
#app-container.vibe-messenger-only .vibe-wallpaper-card {display:flex; flex-direction:column; align-items:stretch; padding:5px; height:auto; margin:0; min-width:0; border:2px solid transparent; border-radius:16px; background:#f8f8fc; color:#25243b; box-shadow:none;}
#app-container.vibe-messenger-only .vibe-wallpaper-card.selected {border-color:#7661db; background:#eeebfc;}
.vibe-wallpaper-card img {width:100%; height:110px; object-fit:cover; border-radius:10px;}
.vibe-wallpaper-card span {padding:9px 2px; font-size:12px; font-weight:600;}
.vibe-sound-card {margin:16px; padding:18px; background:#f8f7fd; border:1px solid #e7e6ef; border-radius:18px;}
.vibe-sound-card p {font-size:13px; line-height:1.5; color:#74738a;}
.vibe-sound-card .vibe-settings-hint {padding:0; font-size:12px;}
#app-container.vibe-messenger-only .vibe-sound-card button {display:flex; gap:8px; align-items:center; background:#eeebfc; color:#6250bd; border-radius:12px; padding:10px 14px; margin:12px 0;}

/* iPhone Home Screen install guide: Safari requires a user-led Share flow. */
#app-container.vibe-messenger-only .vibe-iphone-install {
  margin:10px 14px;
  overflow:hidden;
  border:1px solid #e8e1ff;
  border-radius:16px;
  background:linear-gradient(125deg,#faf8ff,#f3efff);
  box-shadow:0 3px 12px #4930a00b;
  color:#292442;
}
#app-container.vibe-messenger-only .vibe-iphone-install-trigger {
  display:flex;
  align-items:center;
  gap:11px;
  width:100%;
  min-height:60px;
  padding:9px 12px;
  border:0;
  border-radius:0;
  background:transparent;
  color:#292442;
  text-align:left;
  box-shadow:none;
}
#app-container.vibe-messenger-only .vibe-iphone-install-icon {
  display:grid;
  place-items:center;
  flex:0 0 38px;
  width:38px;
  height:38px;
  border-radius:12px;
  background:linear-gradient(145deg,#8b6cff,#6541e8);
  color:#fff;
  box-shadow:0 4px 9px #6541e82e;
}
#app-container.vibe-messenger-only .vibe-iphone-install-icon .material-icons {font-size:21px;color:#fff;}
#app-container.vibe-messenger-only .vibe-iphone-install-copy {display:flex;flex:1;min-width:0;flex-direction:column;gap:2px;}
#app-container.vibe-messenger-only .vibe-iphone-install-copy strong {font-size:14px;line-height:19px;color:#292442;}
#app-container.vibe-messenger-only .vibe-iphone-install-copy small {font-size:11px;line-height:16px;color:#77718f;}
#app-container.vibe-messenger-only .vibe-iphone-install-chevron {color:#7661db;font-size:20px;}
#app-container.vibe-messenger-only .vibe-iphone-install-details {padding:0 14px 13px 61px;font-size:12px;line-height:1.55;color:#554e70;}
#app-container.vibe-messenger-only .vibe-iphone-install-details ol {margin:0;padding-left:17px;}
#app-container.vibe-messenger-only .vibe-iphone-install-details li {padding:3px 0;}
#app-container.vibe-messenger-only .vibe-iphone-install-details .material-icons {vertical-align:middle;font-size:16px;color:#6541e8;}
#app-container.vibe-messenger-only .vibe-iphone-install-details p {margin:8px 0;color:#77718f;font-size:11px;}
#app-container.vibe-messenger-only .vibe-iphone-install-done {min-height:34px;padding:6px 13px;border:0;border-radius:10px;background:#e8e1ff;color:#5c43c2;font-size:12px;font-weight:650;box-shadow:none;}
