/* 迪妙社区门户首页样式 · 与官网 style.css 设计令牌同源 */
.c-hero{position:relative;padding:150px 0 70px;overflow:hidden;background:linear-gradient(180deg,#f0f5ff 0%,#ffffff 100%)}
.c-hero-bg{position:absolute;inset:0;background:radial-gradient(circle at 15% 20%,rgba(26,110,255,.12),transparent 45%),radial-gradient(circle at 85% 75%,rgba(124,58,237,.10),transparent 45%);pointer-events:none}
.c-hero-inner{position:relative;display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:center}
.c-hero-text h1{font-size:clamp(34px,5vw,56px);font-weight:900;letter-spacing:-1px;margin:0 0 18px}
.c-hero-desc{font-size:15.5px;color:var(--text-secondary);line-height:1.9;max-width:560px;margin:0 0 26px}
.c-hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.dm-btn{display:inline-flex;align-items:center;gap:6px;padding:12px 30px;border-radius:12px;font-size:14.5px;font-weight:700;text-decoration:none;transition:transform .25s,box-shadow .25s}
.dm-btn:hover{transform:translateY(-2px)}
.dm-btn-ghost{background:#fff;color:var(--primary);border:1.5px solid rgba(26,110,255,.35)}
.dm-btn-light{background:#fff;color:var(--primary)}
.c-hero-totp{margin-top:18px;font-size:12.5px;color:var(--text-light)}
.c-hero-totp::before{content:'\1F512';margin-right:6px}
.c-hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.c-stat{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:22px 18px;text-align:center;box-shadow:var(--shadow)}
.c-stat b{display:block;font-size:26px;font-weight:900;color:var(--primary);font-variant-numeric:tabular-nums}
.c-stat span{font-size:12.5px;color:var(--text-light)}

.zone-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.zone-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:26px;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:var(--transition)}
.zone-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px}
.zone-card[data-zone="academy"]::before{background:linear-gradient(90deg,#1a6eff,#38bdf8)}
.zone-card[data-zone="cert"]::before{background:linear-gradient(90deg,#16a34a,#4ade80)}
.zone-card[data-zone="threat"]::before{background:linear-gradient(90deg,#ea580c,#fb923c)}
.zone-card[data-zone="drill"]::before{background:linear-gradient(90deg,#7c3aed,#c084fc)}
.zone-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-hover);border-color:rgba(26,110,255,.25)}
.zone-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.zone-icon{width:46px;height:46px;border-radius:13px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.zone-icon svg{width:23px;height:23px}
.zone-card[data-zone="academy"] .zone-icon{background:#e8f1ff;color:#1a6eff}
.zone-card[data-zone="cert"] .zone-icon{background:#f0fdf4;color:#16a34a}
.zone-card[data-zone="threat"] .zone-icon{background:#fff3ed;color:#ea580c}
.zone-card[data-zone="drill"] .zone-icon{background:#f5f3ff;color:#7c3aed}
.zone-head h3{font-size:17.5px;font-weight:800;margin:0}
.zone-head p{font-size:12px;color:var(--text-light);margin:0}
.zone-desc{font-size:13.5px;color:var(--text-secondary);line-height:1.8;margin:0 0 14px}
.zone-list{flex:1;display:flex;flex-direction:column;gap:6px;margin-bottom:14px;min-height:150px}
.zone-list a{display:block;padding:8px 12px;background:var(--bg-warm);border:1px solid var(--border);border-radius:10px;text-decoration:none;color:var(--text);transition:border-color .2s;font-size:13px}
.zone-list a:hover{border-color:rgba(26,110,255,.4)}
.zone-list a b{display:block;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.zone-list a span{display:block;font-size:12px;color:var(--text-light);margin-top:2px}
.zone-loading{color:var(--text-light);font-size:13px;padding:24px 0;text-align:center;flex:1}
.zone-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.zone-btn{display:inline-flex;align-items:center;padding:9px 18px;border-radius:10px;font-size:13px;font-weight:700;text-decoration:none;color:#fff;transition:transform .2s}
.zone-btn:hover{transform:translateY(-2px)}
.zone-card[data-zone="academy"] .zone-btn{background:linear-gradient(135deg,#1a6eff,#0d4fc4);box-shadow:0 4px 14px rgba(26,110,255,.3)}
.zone-card[data-zone="cert"] .zone-btn{background:linear-gradient(135deg,#16a34a,#15803d);box-shadow:0 4px 14px rgba(22,163,74,.3)}
.zone-card[data-zone="threat"] .zone-btn{background:linear-gradient(135deg,#ea580c,#c2410c);box-shadow:0 4px 14px rgba(234,88,12,.3)}
.zone-card[data-zone="drill"] .zone-btn{background:linear-gradient(135deg,#7c3aed,#6d28d9);box-shadow:0 4px 14px rgba(124,58,237,.3)}
.zone-meta{font-size:12px;color:var(--text-light)}

.section-alt{background:var(--bg-warm)}
.split{display:grid;grid-template-columns:1fr 1.2fr;gap:48px;align-items:start}
.forum-chips{display:flex;flex-wrap:wrap;gap:10px}
.forum-chips a{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:var(--bg-card);border:1px solid var(--border);border-radius:100px;font-size:13px;color:var(--text);text-decoration:none;transition:var(--transition)}
.forum-chips a:hover{border-color:var(--primary);color:var(--primary)}
.forum-chips a em{font-style:normal;font-size:11.5px;color:var(--text-light)}
.latest-list{display:flex;flex-direction:column;gap:8px}
.latest-list a{display:flex;align-items:center;gap:12px;padding:11px 16px;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;text-decoration:none;color:var(--text);transition:var(--transition)}
.latest-list a:hover{border-color:rgba(26,110,255,.35)}
.latest-list .lt-subject{flex:1;min-width:0;font-size:13.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.latest-list .lt-forum{font-size:11.5px;color:var(--primary);background:var(--primary-light);padding:2px 9px;border-radius:100px;flex-shrink:0}
.latest-list .lt-meta{font-size:11.5px;color:var(--text-light);flex-shrink:0;font-variant-numeric:tabular-nums}
.latest-more{margin-top:16px}

.c-cta{background:var(--primary-gradient);color:#fff}
.c-cta-inner{text-align:center;padding:20px 0}
.c-cta h2{font-size:clamp(24px,3.5vw,34px);font-weight:900;margin:0 0 12px}
.c-cta p{font-size:14.5px;opacity:.92;margin:0 0 26px}
.c-cta .c-hero-actions{justify-content:center}

@media(max-width:1024px){
  .c-hero-inner{grid-template-columns:1fr;gap:28px}
  .split{grid-template-columns:1fr;gap:36px}
}
@media(max-width:900px){
  .zone-grid{grid-template-columns:1fr}
}
@media(max-width:768px){
  .c-hero{padding:120px 0 50px}
  .c-hero-stats{grid-template-columns:1fr 1fr;gap:12px}
  .latest-list a{flex-wrap:wrap;gap:6px}
}
@media(max-width:480px){
  .dm-btn{width:100%;justify-content:center}
  .c-hero-actions{width:100%}
}

/* —— 与官网 index.html 内联样式同源的公共类 —— */
.nav-cta{background:linear-gradient(135deg,#1a6eff,#0d4fc4);color:#fff !important;padding:8px 20px !important;border-radius:100px;font-weight:600;box-shadow:0 2px 10px rgba(26,110,255,.35)}
.btn-primary{background:var(--primary-gradient);color:#fff;box-shadow:0 8px 24px rgba(26,110,255,.35)}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(26,110,255,.08);color:var(--primary);font-size:13px;font-weight:600;padding:8px 20px;border-radius:100px;margin-bottom:32px;border:1px solid rgba(26,110,255,.15);animation:fadeInDown .8s ease-out}
@keyframes fadeInDown{from{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:translateY(0)}}

/* —— 导航登录按钮 hover 修复（避免 .nav-links a:hover 泛化样式污染） —— */
.nav-links #navCta > a.nav-cta:hover,
.nav-links #navCta > a.nav-cta:focus { color: #fff !important; background: linear-gradient(135deg,#0d4fc4,#1a6eff) !important; }

/* —— 登录用户下拉（结构与论坛 header_userstatus 下拉对齐） —— */
.nav-user { position: relative; }
.nav-user-btn { display: inline-flex !important; align-items: center; gap: 8px; padding: 6px 16px !important; border-radius: 100px; }
.nav-user-btn .nu-ava { width: 26px; height: 26px; border-radius: 50%; overflow: hidden; background: var(--primary-light); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 700; color: var(--primary); flex-shrink: 0; }
.nav-user-btn .nu-ava img { width: 100%; height: 100%; object-fit: cover; }
.nav-user-btn .nu-name { font-weight: 700; }
.nav-user-drop { position: absolute; top: calc(100% + 10px); right: 0; width: 220px; background: var(--bg-card); border: 1px solid var(--border); border-radius: 14px; box-shadow: 0 12px 32px rgba(15,23,42,.14); padding: 8px; opacity: 0; visibility: hidden; transform: translateY(-6px); transition: opacity .2s, transform .2s, visibility .2s; z-index: 100; }
.nav-user:hover .nav-user-drop,
.nav-user.open .nav-user-drop { opacity: 1; visibility: visible; transform: translateY(0); }
.nud-top { display: flex; align-items: center; gap: 10px; padding: 10px 10px 12px; border-bottom: 1px solid var(--border); margin-bottom: 6px; }
.nud-ava { width: 40px; height: 40px; border-radius: 50%; overflow: hidden; background: var(--primary-light); display: flex; align-items: center; justify-content: center; font-size: 17px; font-weight: 800; color: var(--primary); flex-shrink: 0; }
.nud-ava img { width: 100%; height: 100%; object-fit: cover; }
.nud-name { font-size: 14px; font-weight: 800; line-height: 1.3; }
.nud-group { font-size: 12px; color: var(--text-light); }
.nav-user-drop a.nud-item { display: flex; align-items: center; gap: 8px; padding: 9px 12px; border-radius: 9px; font-size: 13.5px; color: var(--text); text-decoration: none; transition: background .15s; }
.nav-user-drop a.nud-item:hover { background: var(--bg-warm); }
.nav-user-drop a.nud-item.nud-admin { color: var(--primary); font-weight: 700; }
.nav-user-drop a.nud-item.nud-logout { color: #dc2626; border-top: 1px solid var(--border); border-radius: 0 0 9px 9px; margin-top: 4px; }
.nav-user-drop a.nud-item.nud-logout:hover { background: #fef2f2; }
@media (max-width: 768px) {
  .nav-user { width: 100%; }
  .nav-user-drop { position: static; width: 100%; box-shadow: none; border: none; opacity: 1; visibility: visible; transform: none; display: none; padding: 4px 0 8px; }
  .nav-user.open .nav-user-drop { display: block; }
}
