@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@500;700&display=swap');
body {
  background: linear-gradient(135deg,#e0e7ff 0%,#fff7ef 100%);
  min-height: 100vh;
  margin:0;
  display:flex;justify-content:center;align-items:center;
  font-family: 'Montserrat','PingFang SC','Microsoft YaHei',sans-serif;
  animation: bodyFadeIn 1.2s cubic-bezier(.18,.89,.32,1.28);
}
@keyframes bodyFadeIn {from{opacity:0;}to{opacity:1;}}
.main-container {
  width:100%;max-width:380px;
  background: rgba(255,255,255,0.92);
  box-shadow: 0 8px 32px 0 rgba(31,38,135,0.15), 0 1.5px 8px #ddd;
  border-radius: 24px;
  overflow: hidden;
  backdrop-filter: blur(5px);
  border: 1.5px solid rgba(255,255,255,0.4);
  animation: cardPop 0.8s cubic-bezier(.65,.02,.27,.99);
}
@keyframes cardPop { 0%{transform:scale(.92) translateY(40px);opacity:.3} 100%{transform:none;opacity:1} }
.header {
  display: flex; flex-direction: column; align-items: center;
  background: linear-gradient(120deg,#8ee6b3 20%,#f6d365 100%);
  padding: 32px 24px 18px 24px;
  position:relative;
}
.logo {
  width:88px;height:88px;border-radius:50%;box-shadow:0 2px 16px #bbf7d0;
  background: url('https://fuqijiaoyou.xyz/images/123123.jpg') center/cover no-repeat;
  border:3px solid #fff;
  margin-bottom:10px;
  animation: float 2.8s ease-in-out infinite alternate;
}
@keyframes float {0%{transform:translateY(0)}100%{transform:translateY(-12px)}}
.title {
  font-size: 1.8rem;
  color: #194824;
  font-weight: 700;
  letter-spacing: .06em;
  text-shadow: 0 1.5px 0 #fff9;
  margin-bottom:8px;
}
.content {
  padding: 28px 24px 32px 24px;
  display:flex; flex-direction:column; align-items:center;
}
.sub-title {
  color: #555;
  font-size: 1.12rem;
  text-align:center;
  line-height:1.6;
  margin-bottom:22px;
  letter-spacing:.02em;
}
.qq-info {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 13px 18px;
  background: rgba(133,225,170,0.12);
  border-radius: 18px;
  box-shadow:0 2px 12px #c8f6e6a0;
  margin: 0 0 24px 0;
  transition: box-shadow 0.2s;
  cursor:pointer;
  border:1px solid #bbf7d05a;
  font-size:1.16rem;
  font-weight: 600;
  color:#14502e;
  user-select:all;
  animation: qqFadeIn 1.2s .6s backwards;
}
@keyframes qqFadeIn {0%{opacity:0;transform:scale(.92);}100%{opacity:1;transform:none;}}
.join-btn {
  width:100%; max-width:210px;
  padding: 13px 0;
  font-size: 1.08rem;
  background: linear-gradient(90deg,#34e89e 0%,#0f3443 100%);
  color: #fff; font-weight:600; letter-spacing:.02em;
  border:none; border-radius:30px; cursor:pointer;
  box-shadow:0 3px 12px #8ee6b399;
  transition: transform .14s cubic-bezier(.24,.96,.62,1.45),box-shadow .14s;
  position:relative;
  overflow:hidden;
  outline: none;
  animation: btnShow .8s .2s backwards;
}
@keyframes btnShow {from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:none;}}
.join-btn:active {transform: scale(.97);}
.join-btn::after {
  content:'';
  position:absolute;top:0;left:0;right:0;bottom:0;
  background: radial-gradient(circle,rgba(255,255,255,0.22) 25%,transparent 65%);
  opacity:0; pointer-events:none;transition:opacity .25s;
}
.join-btn:active::after {opacity:1;}
.footer-tips{
  text-align:center;
  color: #fa5252;
  font-size:.92rem;
  margin-top:14px;
  letter-spacing:.01em;
  text-shadow:0 1.5px #fff8;
  user-select:none;
}
.main-container, .logo { box-shadow:0 3px 24px 1px #d1fae5c7, 0 2px 6px #0002; }
