:root{
  --bg1:#ffeaf1;     /* 淡粉 */
  --bg2:#f4fff7;     /* 很浅的薄荷绿，柔和过渡 */
  --txt:#333;
  --sub:#666;
  --muted:#999;
  --primary:#ff7fa5;    /* 主粉色 */
  --primary-2:#ffc8d9;  /* 粉色渐变尾 */
  --ok:#1dbf1d;
  --card-bg: #ffffffcc;
  --shadow: 0 6px 18px rgba(0,0,0,.06);
  --radius: 16px;
}

*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{height:100%}
body{
  margin:0;
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC","Hiragino Sans GB",
               "Source Han Sans SC", "Microsoft YaHei", "Segoe UI", Roboto, Arial, sans-serif;
  color:var(--txt);
  background: linear-gradient(180deg, var(--bg1) 0%, var(--bg2) 100%);
}

.page{
  min-height:100%;
  display:flex;align-items:center;justify-content:center;
  padding:28px 16px;
}

.card{
  width:min(680px, 94vw);
  background: var(--card-bg);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  backdrop-filter: blur(6px);
  padding: 28px 22px 24px;
  text-align:center;
}

/* 盾牌区域 */
.shield{
  position:relative;
  width:120px;height:120px;
  margin:0 auto 16px;
}
.shield .tick{
  fill:#fff; transform:scale(0); transform-origin:center; transition: transform .35s ease;
}

h1{
  font-weight:600;
  font-size:22px;
  margin:8px 0 6px;
  letter-spacing:.5px;
}
p.sub{
  margin:0;
  color:var(--sub);
  font-size:14px; line-height:1.7;
}

/* 进度条（淡粉渐变） */
.bar-wrap{
  margin:18px auto 4px;
  width: 92%;
  height: 10px;
  background: #fff;
  border-radius: 999px;
  overflow: hidden;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.04);
}
.bar{
  height:100%;
  width:0%;
  background: linear-gradient(90deg, var(--primary) 0%, var(--primary-2) 100%);
  border-radius: inherit;
  transition: width .25s ease;
}
.bar-txt{
  font-size:12px;color:var(--muted);margin-top:6px;
  letter-spacing:.2px;
}

/* 按钮：圆角 + 轻阴影 */
.btn{
  display:block; width:92%; max-width:460px; margin:22px auto 0;
  background: linear-gradient(180deg, #ff87ad 0%, #ff70a0 100%);
  color:#fff; text-decoration:none; text-align:center;
  padding:14px 16px; border-radius: 999px; font-size:16px; font-weight:600;
  box-shadow: 0 10px 24px rgba(255,112,160,.25);
  transition: transform .06s ease, filter .2s ease;
  user-select:none;
}
.btn:hover{ filter: brightness(.98); }
.btn:active{ transform: translateY(1px) scale(.995); }

.muted{
  margin-top:10px; font-size:12px; color:var(--muted);
}

/* 微交互：淡入 */
.fade-in{ animation: fade .28s ease both; }
@keyframes fade{ from{opacity:0; transform: translateY(4px)} to{opacity:1; transform:none} }

/* 小屏优化 */
@media (max-width:360px){
  h1{font-size:20px}
  .shield{width:104px;height:104px}
}
