body {
    font-family: 'Helvetica Neue', Helvetica, Arial, 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif;
    margin: 0;
    padding: 0;
    background: #f7f7f7;
    color: #222;
}
header, footer {
    background: #222;
    color: #fff;
    text-align: center;
    padding: 1em 0;
}
main {
    max-width: 700px;
    margin: 2em auto;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    padding: 2em;
}
button {
    background: #0078ff;
    color: #fff;
    border: none;
    border-radius: 4px;
    padding: 0.7em 1.5em;
    font-size: 1em;
    cursor: pointer;
    margin-top: 1em;
    transition: background 0.2s;
}
button:hover {
    background: #005fa3;
}

/* 呼吸动画效果 */
@keyframes breathe {
    0%, 100% {
        transform: scale(1) !important;
        opacity: 1 !important;
    }
    50% {
        transform: scale(1.05) !important;
        opacity: 0.8 !important;
    }
}

.solution-item {
    animation: breathe 3s ease-in-out infinite !important;
    transition: all 0.3s ease !important;
    display: inline-block !important;
}

.solution-item:hover {
    animation-play-state: paused !important;
    transform: scale(1.1) !important;
    text-shadow: 0 0 10px currentColor !important;
} 

/* 报告用途环形模块样式 */
#report-purpose {
  margin-bottom: 32px;
}
#report-purpose .report-circle-nums {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 340px;
  height: 340px;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
#report-purpose .report-circle-num {
  position: absolute;
  left: 12.1%;
  top: 43.4%;
  transform-origin: center center;
  pointer-events: auto;
}
#report-purpose .report-circle-num:nth-child(1) { transform: rotate(0deg) translateY(-150px); }
#report-purpose .report-circle-num:nth-child(2) { transform: rotate(51.43deg) translateY(-150px); }
#report-purpose .report-circle-num:nth-child(3) { transform: rotate(102.86deg) translateY(-150px); }
#report-purpose .report-circle-num:nth-child(4) { transform: rotate(154.29deg) translateY(-150px); }
#report-purpose .report-circle-num:nth-child(5) { transform: rotate(205.71deg) translateY(-150px); }
#report-purpose .report-circle-num:nth-child(6) { transform: rotate(257.14deg) translateY(-150px); }
#report-purpose .report-circle-num:nth-child(7) { transform: rotate(308.57deg) translateY(-150px); }
#report-purpose .report-num-desc {
  display: flex;
  flex-direction: column;
  align-items: center;
  transform-origin: center center;
}
#report-purpose .report-circle-num:nth-child(1) .report-num-desc { transform: rotate(0deg); }
#report-purpose .report-circle-num:nth-child(2) .report-num-desc { transform: rotate(-51.43deg); }
#report-purpose .report-circle-num:nth-child(3) .report-num-desc { transform: rotate(-102.86deg); }
#report-purpose .report-circle-num:nth-child(4) .report-num-desc { transform: rotate(-154.29deg); }
#report-purpose .report-circle-num:nth-child(5) .report-num-desc { transform: rotate(-205.71deg); }
#report-purpose .report-circle-num:nth-child(6) .report-num-desc { transform: rotate(-257.14deg); }
#report-purpose .report-circle-num:nth-child(7) .report-num-desc { transform: rotate(-308.57deg); }
#report-purpose .report-num {
  width: 38px;
  height: 38px;
  background: #2a79fa;
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  font-weight: 700;
  box-shadow: 0 2px 8px rgba(37,99,235,0.13);
  border: 3px solid #fff;
  margin-bottom: 8px;
}
#report-purpose .report-purpose-desc {
  margin-top: 12px;
  background: rgba(245,248,255,0.95);
  width: 260px;
  font-size: 1rem;
  color: rgb(34, 34, 34);
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0,82,217,0.06);
  padding: 10px 12px 8px 12px;
  text-align: center;
  line-height: 1.5;
}
#report-purpose .report-circle-num:nth-child(1) .report-purpose-desc { 
  transform: translateY(-200px); text-align: center;
}
#report-purpose .report-circle-num:nth-child(2) .report-purpose-desc { 
  transform: rotate(-51.43deg) translateY(-10px) translateX(270px) rotate(51.43deg); text-align: center;
}
#report-purpose .report-circle-num:nth-child(3) .report-purpose-desc { 
  transform: rotate(-102.86deg) translateY(190px) translateX(90px) rotate(102.86deg); text-align: center;
}
#report-purpose .report-circle-num:nth-child(4) .report-purpose-desc { 
  transform: rotate(-154.29deg) translateY(150px) translateX(-150px) rotate(154.29deg); text-align: center; 
}
#report-purpose .report-circle-num:nth-child(5) .report-purpose-desc { 
  transform: rotate(-205.71deg) translateY(130px) translateX(140px) rotate(205.71deg); text-align: center;
}
#report-purpose .report-circle-num:nth-child(6) .report-purpose-desc { 
  transform: rotate(-257.14deg) translateY(200px) translateX(-100px) rotate(257.14deg); text-align: center;
}
#report-purpose .report-circle-num:nth-child(7) .report-purpose-desc { 
  transform: rotate(-308.57deg) translateY(0px) translateX(-250px) rotate(308.57deg); text-align: center;
}
#report-purpose .report-purpose-descs {
  position: relative;
  width: 100%;
  height: 420px;
}
#report-purpose .desc-01 { left: 50%; top: 0; transform: translate(-50%, -60px); }
#report-purpose .desc-02 { right: 0; top: 16%; transform: translate(60px, -50%); }
#report-purpose .desc-03 { right: 0; bottom: 16%; transform: translate(60px, 50%); }
#report-purpose .desc-04 { left: 50%; bottom: 0; transform: translate(-50%, 60px); }
#report-purpose .desc-05 { left: 0; bottom: 16%; transform: translate(-60px, 50%); }
#report-purpose .desc-06 { left: 0; top: 16%; transform: translate(-60px, -50%); }
#report-purpose .desc-07 { left: 50%; top: 50%; transform: translate(-50%, -180px); width: 200px; }
@media (max-width: 900px) {
  #report-purpose .report-purpose-desc { width: 110px; font-size: 0.95rem; padding: 6px 4px; }
  #report-purpose .desc-07 { width: 140px; }
}
@media (max-width: 768px) {
  #report-purpose { display: none; }
} 

/* 移除原有动画 */
#report-purpose .report-purpose-desc {
  animation: none;
}
#report-purpose .report-num {
  animation: none;
}

/* 脉冲动画 */
@keyframes pulse {
  0%, 100% {
    opacity: 1;
    box-shadow: 0 0 0 0 rgba(37,99,235,0.15);
  }
  50% {
    opacity: 0.85;
    box-shadow: 0 0 16px 8px rgba(37,99,235,0.18);
  }
}
#report-purpose .report-purpose-desc {
  animation: pulse 2.2s cubic-bezier(0.4,0,0.6,1) infinite;
}
#report-purpose .report-num {
  animation: pulse 1.6s cubic-bezier(0.4,0,0.6,1) infinite;
} 