.tree-logo-header {
  text-align: center;
  margin-bottom: 1.3rem;
}

.tree-logo-header img {
  width: 54px;
  height: 36px;
  object-fit: contain;
  vertical-align: middle;
  margin-bottom: 2px;
}

.tree-logo-header .site-title {
  font-size: 1.28rem;
  color: #3654c8;
  font-weight: bold;
  margin-left: .8rem;
  letter-spacing: .09em;
  vertical-align: middle;
}

.tree-section {
  margin-bottom: 2rem;
}

.tree-card {
  border-radius: 1rem;
  box-shadow: 0 2px 12px rgba(70, 90, 150, .09);
  background: #fff;
  border: none;
  margin-bottom: 1.2rem;
}

.tree-card-header {
  border-radius: 1rem 1rem 0 0;
  background: linear-gradient(90deg, #5470f5 75%, #8fd3f4 100%);
  color: #fff;
  padding: .55rem 1.1rem .4rem 1.1rem;
  font-size: 1.08rem;
  font-weight: bold;
  letter-spacing: .05em;
  min-height: 44px;
}

.tree-btn-list {
  padding: .7rem 1.1rem .7rem 1.1rem;
  display: flex;
  flex-wrap: wrap;
  gap: .7rem;
}

.tree-btn-list button {
  min-width: 90px;
  margin: .1rem .25rem .1rem 0;
  padding: .45rem .7rem;
  border-radius: .5rem;
  background: #f4f7fe;
  color: #425383;
  border: none;
  font-size: .98em;
  font-weight: 500;
  box-shadow: 0 1px 6px rgba(90, 120, 200, .07);
  transition: background .13s, color .13s, box-shadow .13s;
}

.tree-btn-list button:hover {
  background: #c8dcfa;
  color: #1e2853;
  box-shadow: 0 5px 14px rgba(90, 120, 220, .13);
}

@media (max-width: 599px) {
  .tree-logo-header img {
    width: 32px;
    height: 22px;
  }

  .tree-logo-header .site-title {
    font-size: 1rem;
  }

  .tree-card-header,
  .tree-btn-list {
    padding: .55rem .5rem .3rem .6rem;
  }

  .tree-btn-list {
    gap: .36rem;
  }

  .tree-btn-list button {
    min-width: 70px;
    font-size: .93em;
  }

  .tree-card {
    border-radius: .8rem;
  }
}