:root{
  --bg:#f7f5f4;
  --surface:#ffffff;
  --ink:#1b1f27;
  --muted:#6b7280;
  --brand:#e11d2a;
  --brand-d:#a4121b;
  --brand-soft:#fdeaea;
  --line:#ece6e4;
  /* 专业中文系统字体栈：PingFang(苹果) / 鸿蒙 / 微软雅黑 / 冬青 / 思源，不依赖被墙的 Google 字体 */
  --font-sans:"PingFang SC","HarmonyOS Sans SC","Microsoft YaHei","Hiragino Sans GB","Source Han Sans SC","Noto Sans CJK SC",system-ui,-apple-system,"Segoe UI",sans-serif;
  /* 等宽数字栈：让日期/编号/微信号对齐成「表格数字」，更显专业 */
  --font-num:"SF Mono","JetBrains Mono","Roboto Mono",Menlo,Consolas,"Courier New",monospace;
  --shadow-sm:0 1px 2px rgba(20,20,30,.04),0 2px 8px rgba(20,20,30,.04);
  --shadow-md:0 12px 34px rgba(170,20,20,.10);
  --shadow-lg:0 20px 50px rgba(170,20,20,.16);
  --radius:16px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font-sans);background-color:var(--bg);color:var(--ink);line-height:1.72;font-size:16px;letter-spacing:.01em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;background-image:radial-gradient(rgba(225,29,42,.04) 1px,transparent 1px);background-size:24px 24px}
.wrap{max-width:1060px;margin:0 auto;padding:0 18px}

/* ===== Header ===== */
.site-header{position:relative;overflow:hidden;background:linear-gradient(120deg,#a4121b 0%,#d41828 55%,#e11d2a 100%);color:#fff;padding:40px 0;border-bottom:1px solid rgba(0,0,0,.06)}
.header-deco{position:absolute;inset:0;pointer-events:none;opacity:.9}
.header-deco::before{content:'';position:absolute;right:-80px;top:-110px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.14),transparent 70%)}
.header-deco::after{content:'';position:absolute;right:130px;bottom:-130px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.08),transparent 70%)}
.header-inner{position:relative;display:flex;align-items:center;gap:24px}
.ip-badge{width:110px;height:110px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 32px rgba(0,0,0,.26), inset 0 0 0 4px rgba(225,29,42,.10);flex-shrink:0}
.ip-avatar{width:96px;height:96px;border-radius:50%;object-fit:cover;display:block}
.header-text{min-width:0}
.brand-kicker{display:inline-block;margin:0 0 10px;font-size:11.5px;font-weight:600;letter-spacing:3px;text-transform:uppercase;background:rgba(255,255,255,.14);padding:4px 13px;border-radius:999px}
.site-header h1{margin:0;font-size:40px;font-weight:800;letter-spacing:.5px;line-height:1.22;text-shadow:0 2px 14px rgba(0,0,0,.16)}
.subtitle{margin:10px 0 16px;opacity:.92;font-size:15px;font-weight:500;letter-spacing:.02em}
.no-bet{margin:0;font-size:13px;background:rgba(255,255,255,.15);display:inline-block;padding:8px 14px;border-radius:10px;border:1px solid rgba(255,255,255,.22);letter-spacing:.01em}
.header-wechat{margin:0;font-size:13.5px;display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.15);padding:8px 14px;border-radius:10px;border:1px solid rgba(255,255,255,.22);letter-spacing:.01em}
.header-wx{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-weight:800;font-size:15px;background:#fff;color:var(--brand);padding:2px 9px;border-radius:6px;letter-spacing:.5px}
@media (max-width:560px){
  .header-inner{flex-direction:column;text-align:center;gap:16px}
  .site-header h1{font-size:28px}
  .header-deco::before{right:-120px;top:-120px}
}

/* ===== 区块标题 ===== */
.modules,.about,.contact{margin:28px auto}
.modules h2,.about h2,.contact h2{display:flex;align-items:center;gap:10px;margin:0 0 18px;font-size:20px;font-weight:800;color:var(--brand-d);letter-spacing:.02em}
.modules h2::before,.about h2::before,.contact h2::before{content:'';width:6px;height:20px;border-radius:4px;background:linear-gradient(var(--brand),var(--brand-d))}

/* ===== 四大模块卡 ===== */
.module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(232px,1fr));gap:16px}
.module-card{position:relative;display:block;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px 20px;padding-top:22px;text-decoration:none;color:inherit;transition:.22s ease;box-shadow:var(--shadow-sm)}
.module-card:hover,.module-card.active{transform:translateY(-4px);border-color:rgba(225,29,42,.45);box-shadow:var(--shadow-md)}
.mod-badge{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:11px;background:var(--brand-soft);color:var(--brand);font-family:var(--font-num);font-variant-numeric:tabular-nums;font-weight:800;font-size:15px;margin-bottom:16px;letter-spacing:.5px;transition:.22s}
.module-card:hover .mod-badge,.module-card.active .mod-badge{background:var(--brand);color:#fff}
.module-card h3{margin:0 0 8px;font-size:17px;font-weight:700;color:var(--ink);letter-spacing:.01em}
.module-card p{margin:0 0 14px;font-size:13.5px;color:var(--muted);line-height:1.65}
.module-go{font-size:13px;color:var(--brand);font-weight:700}

/* ===== 关于本站 ===== */
.about{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:26px 28px;box-shadow:var(--shadow-sm)}
.about p{margin:0 0 13px;font-size:15px;color:#454b57;line-height:1.85}
.about p:last-child{margin-bottom:0}

/* ===== 联系方式 ===== */
.contact{position:relative;background:linear-gradient(135deg,#ffffff,#fff5f5);border:1px solid var(--line);border-radius:var(--radius);padding:26px 28px;border-left:5px solid var(--brand);box-shadow:var(--shadow-sm)}
.wx-badge{display:inline-flex;align-items:center;justify-content:center;background:var(--brand);color:#fff;font-size:13px;font-weight:700;padding:5px 14px;border-radius:9px;margin-bottom:12px;letter-spacing:2px}
.contact p{margin:0 0 8px;font-size:15px;color:#454b57;line-height:1.75}
.contact p:last-child{margin-bottom:0}
.wechat-id{font-family:var(--font-num);font-variant-numeric:tabular-nums;color:var(--brand-d);font-size:20px;font-weight:800;letter-spacing:.5px;background:var(--brand-soft);padding:3px 12px;border-radius:8px}
.contact-hint{font-size:13px;color:var(--muted)}

/* ===== 工具栏 ===== */
.content-title{display:flex;align-items:center;gap:10px;margin:0 0 18px;font-size:20px;font-weight:800;color:var(--brand-d);letter-spacing:.02em}
.content-title::before{content:'';width:6px;height:20px;border-radius:4px;background:linear-gradient(var(--brand),var(--brand-d))}
.toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin:26px auto}
.cat-nav{display:flex;flex-wrap:wrap;gap:8px}
.cat-btn{border:1px solid var(--line);background:#fff;color:var(--ink);padding:8px 16px;border-radius:999px;cursor:pointer;font-size:14px;font-weight:500;transition:.18s;font-family:var(--font-sans)}
.cat-btn:hover{border-color:var(--brand);color:var(--brand)}
.cat-btn.active{background:var(--brand);color:#fff;border-color:var(--brand);box-shadow:0 6px 16px rgba(225,29,42,.25)}
.search{flex:1;min-width:180px;max-width:300px;padding:9px 14px;border:1px solid var(--line);border-radius:10px;font-size:14px;background:#fff;outline:none;transition:.18s;font-family:var(--font-sans)}
.search:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(225,29,42,.12)}

/* ===== 内容卡 ===== */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(252px,1fr));gap:16px;margin-bottom:36px}
.card{display:block;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;text-decoration:none;color:inherit;transition:.2s ease;box-shadow:var(--shadow-sm)}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:rgba(225,29,42,.45)}
.card-cat{display:inline-block;font-size:12px;color:var(--brand-d);font-weight:700;background:var(--brand-soft);padding:3px 10px;border-radius:999px;margin-bottom:10px}
.card-title{font-size:16px;font-weight:700;margin-bottom:8px;color:var(--ink);line-height:1.55;letter-spacing:.01em}
.card-meta{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:12px;color:var(--muted);letter-spacing:.02em}
.card-note{font-size:13px;color:var(--muted);margin-top:10px;line-height:1.65}
.card-go{margin-top:12px;font-size:13px;color:var(--brand);font-weight:700}
.empty,.err{color:var(--muted);padding:24px 0;text-align:center}
.err{color:#dc2626}

/* ===== 页脚 ===== */
.site-footer{border-top:1px solid var(--line);margin-top:26px;padding:24px 0;color:var(--muted);font-size:13px;background:#fff}
.footer-meta{margin:8px 0 0;font-size:12px;opacity:.85}
code{background:var(--brand-soft);color:var(--brand-d);padding:1px 6px;border-radius:5px;font-size:12px;font-family:var(--font-num)}
