
/* 3D Interactive Neby Avatar System */
.neby-avatar-container {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: visible;
  user-select: none;
  cursor: pointer;
  vertical-align: middle;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.neby-avatar-svg {
  width: 100%;
  height: 100%;
  display: block;
  overflow: visible;
  filter: none !important;
  box-shadow: none !important;
  transition: transform 0.22s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.neby-avatar-container:hover .neby-avatar-svg {
  transform: scale(1.08) translateY(-1px);
  filter: none !important;
}

.neby-avatar-container:active .neby-avatar-svg {
  transform: scale(0.95);
}

/* Mini Avatar inside forum posts, comments, contributors list */
.neby-avatar-mini {
  width: 40px;
  height: 40px;
  min-width: 40px;
  min-height: 40px;
  border-radius: 50%;
  background: transparent !important;
  border: 1.5px solid var(--md-outline-variant);
  box-shadow: none !important;
  filter: none !important;
  box-sizing: border-box;
}

.fp-reply-avatar .neby-avatar-mini,
.neby-avatar-mini.neby-size-reply {
  width: 34px;
  height: 34px;
  min-width: 34px;
  min-height: 34px;
}

.neby-avatar-mini.neby-size-sm {
  width: 28px;
  height: 28px;
  min-width: 28px;
  min-height: 28px;
}

/* Large Hero Avatar on Neby Profile Page */
.neby-avatar-hero {
  width: 140px;
  height: 140px;
  min-width: 140px;
  min-height: 140px;
  border-radius: 50%;
  background: var(--md-surface-container-lowest);
  border: 4px solid var(--md-surface-container-lowest);
  box-shadow: none !important;
  filter: none !important;
  position: relative;
  box-sizing: border-box;
}

.neby-avatar-hero .neby-avatar-svg {
  filter: none !important;
}

.neby-avatar-hero:hover .neby-avatar-svg {
  transform: scale(1.08) translateY(-2px);
  filter: none !important;
}

/* Profile Mood Action Pills */
.neby-mood-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: nowrap;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
  margin-top: 14px;
  margin-bottom: 24px;
  padding: 8px 12px;
  background: color-mix(in srgb, var(--md-primary) 6%, transparent);
  border: 1px solid color-mix(in srgb, var(--md-primary) 16%, transparent);
  border-radius: 14px;
  max-width: 100%;
}

.neby-mood-bar::-webkit-scrollbar {
  display: none;
}

.neby-mood-title {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--md-primary);
  display: inline-flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
  flex-shrink: 0;
}

.neby-mood-pill {
  border: 1px solid color-mix(in srgb, var(--md-primary) 22%, transparent);
  background: var(--md-surface-container-lowest);
  color: var(--md-on-surface);
  border-radius: 20px;
  padding: 5px 12px;
  font-size: 0.75rem;
  font-weight: 500;
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
  transition: all 0.18s ease;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  user-select: none;
}

.neby-mood-pill:hover {
  background: var(--md-primary);
  color: var(--md-on-primary);
  transform: translateY(-1px);
  box-shadow: none;
  border-color: var(--md-primary);
}

.neby-mood-pill:active {
  transform: scale(0.95);
}

/* Dark mode compatibility */
[data-theme='dark'] .neby-avatar-mini {
  background: transparent !important;
  border-color: var(--md-outline-variant);
}

[data-theme='dark'] .neby-avatar-hero {
  background: transparent !important;
  border-color: transparent !important;
}


/* The mood bar and its pills were a blue wash, a white pill and a slate-blue
   set of dark overrides -- three rules restating the same two surfaces in a
   second palette. Mixing --md-primary and reading the surface token gives
   both themes from the base rules, so there is nothing left here to keep in
   step. The two rules above stay: they turn the avatar's plate off in dark
   theme, which is a structural choice, not a colour. */
