/* ===== Team 页（在 app.css 的基础上） ===== */
body.team-page{height:auto;overflow:auto}
.team-main{padding-top:44px}
.team-main .wrap{max-width:1200px}

.team-hero{min-height:220px}
.team-hero .hero-txt{min-height:220px}
.team-hero-bg{position:absolute;inset:0;background:
  radial-gradient(60% 90% at 85% 10%,rgba(99,102,241,.45),transparent 60%),
  radial-gradient(50% 80% at 15% 100%,rgba(236,72,153,.28),transparent 60%),
  radial-gradient(40% 60% at 60% 60%,rgba(25,230,245,.12),transparent 60%),
  linear-gradient(135deg,#161d31,#0b1020)}
.team-hero-bg::after{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:28px 28px;-webkit-mask-image:linear-gradient(180deg,#000,transparent 85%);mask-image:linear-gradient(180deg,#000,transparent 85%)}

.block-blurb{font-size:.8rem;color:var(--text-mute);margin:-6px 0 12px}

/* 三个一行 */
.grid-team{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.member{
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:0;
  padding:18px 14px 16px;border-radius:var(--r-lg);
  background:linear-gradient(180deg,var(--bg-card),#121a2d);border:1px solid var(--border);
  transition:var(--t);cursor:pointer;width:100%;color:inherit;
}
.member:hover{border-color:var(--primary);transform:translateY(-3px);box-shadow:var(--sh-lg)}
.avatar{
  position:relative;width:min(100%,180px);aspect-ratio:1;border-radius:22px;overflow:hidden;
  background:linear-gradient(135deg,#2a3350,#1e2740);
  box-shadow:0 0 0 2px rgba(25,230,245,.35),0 0 24px rgba(99,102,241,.25);
}
.avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2;transition:transform .4s ease}
.member:hover .avatar img{transform:scale(1.05)}
.avatar .mono{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:2.6rem;font-weight:800;letter-spacing:-.02em;color:#fff;background:linear-gradient(135deg,var(--primary),var(--accent));opacity:.9}
.member-name{margin-top:12px;font-size:1.02rem;font-weight:700;line-height:1.2}
.member-cn{font-size:.72rem;color:var(--text-mute);margin-top:2px;letter-spacing:.06em}
.member-role{
  margin-top:8px;font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  padding:4px 10px;border-radius:99px;color:var(--cyan);background:rgba(25,230,245,.08);border:1px solid rgba(25,230,245,.25);
}
.member-years{margin-top:8px;font-size:.7rem;color:var(--text-mute)}
.member-years b{color:var(--text-dim)}
.member-bio{margin-top:8px;font-size:.78rem;color:var(--text-dim);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.member.lead .avatar{box-shadow:0 0 0 2px var(--primary),0 0 28px rgba(99,102,241,.5)}
.member.lead .member-role{color:#fff;background:linear-gradient(135deg,rgba(99,102,241,.95),rgba(236,72,153,.9));border-color:transparent}

/* 详情弹窗 */
.member-modal{
  width:min(92vw,720px);max-height:86vh;overflow:auto;
  background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--sh-lg);
  display:grid;grid-template-columns:220px 1fr;gap:22px;padding:24px;animation:fadeIn .25s ease;
}
.member-modal .avatar{width:220px;border-radius:26px}
.member-modal h2{font-size:1.5rem;font-weight:800;letter-spacing:-.02em}
.member-modal .member-cn{font-size:.8rem;margin-bottom:8px}
.member-modal .member-role{display:inline-block;margin:0 8px 0 0}
.member-modal .member-years{display:inline-block;margin:0}
.member-modal p{margin-top:12px;font-size:.9rem;color:var(--text-dim);line-height:1.5}
.member-modal h3{margin-top:16px;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-mute)}
.member-modal ul{margin:8px 0 0;padding:0;list-style:none}
.member-modal li{font-size:.82rem;color:var(--text-dim);padding:6px 0 6px 14px;border-left:2px solid var(--primary);margin-bottom:4px;line-height:1.35}

@media (max-width:860px){
  .team-main{padding-top:44px}
  .grid-team{gap:8px}
  .member{padding:12px 8px 12px;border-radius:var(--r)}
  .avatar{border-radius:16px}
  .member-name{font-size:.86rem;margin-top:8px}
  .member-role{font-size:.58rem;padding:3px 7px;letter-spacing:.03em}
  .member-bio{display:none}
  .member-modal{grid-template-columns:1fr;padding:18px;gap:14px}
  .member-modal .avatar{width:160px;margin:0 auto}
  .hero-txt h1{font-size:1.5rem}
}
