.profile-trigger {
  position: relative;
  display: inline-flex;
  flex: 0 0 auto;
}

.profile-trigger__avatar-button {
  display: inline-flex;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
  cursor: pointer;
}

.profile-trigger__avatar-button:hover .avatar {
  transform: translateY(-1px);
  box-shadow: var(--shadow-sm);
}

.profile-trigger__avatar-button:focus-visible {
  outline: none;
  box-shadow: var(--focus);
}

.profile-trigger__menu {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  z-index: 40;
  min-width: 150px;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface);
  box-shadow: var(--shadow-md);
}

.profile-trigger__menu--portal {
  position: fixed;
  z-index: 1100;
}

.profile-trigger__menu:not([hidden]) {
  display: grid;
  gap: .4rem;
}

.profile-trigger__detail-button,
.profile-trigger__message-button {
  width: 100%;
  white-space: nowrap;
}

.profile-trigger__message-button {
  margin-top: 6px;
}

.profile-modal__hero {
  display: grid;
  justify-items: center;
  gap: 16px;
  padding-block: 8px 14px;
  text-align: center;
}

.profile-modal__avatar {
  width: 232px;
  height: 232px;
  max-width: min(70vw, 232px);
  max-height: min(70vw, 232px);
  border: 6px solid var(--surface);
  box-shadow: 0 0 0 4px var(--forest-100), var(--shadow-md);
}

.profile-modal__name {
  display: block;
  margin-bottom: 4px;
  color: var(--forest-900);
  font-size: 1.32rem;
}

.profile-modal__section {
  display: grid;
  gap: 8px;
  padding-top: 4px;
}

.profile-modal__interests {
  gap: 8px;
}

.profile-modal__interests .chip {
  background: var(--forest-050);
  border-color: var(--line);
}

@media (max-width: 640px) {
  .profile-trigger__menu:not(.profile-trigger__menu--portal) {
    left: 50%;
    transform: translateX(-50%);
  }

  .profile-modal__avatar {
    width: 200px;
    height: 200px;
    max-width: min(72vw, 200px);
    max-height: min(72vw, 200px);
  }
}
