/* 专题模板 · 模块商店（modules）—— 1:1 复刻 nicetheme.cn/modules
   独立视觉体系：浅灰底 + 居中 Hero + 圆角图标卡栅格 + 红色数据脚注，不依赖主系统主题变量 */
body[data-topic-theme="modules"]{background:#f4f6fb}
body[data-topic-theme="modules"] .topic-wrap{max-width:1180px;margin:0 auto;padding:0 24px 64px}
body[data-topic-theme="modules"] .mod-page{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;color:#1f2430;-webkit-font-smoothing:antialiased}
/* Hero */
body[data-topic-theme="modules"] .mod-hero{position:relative;overflow:hidden;border-radius:0 0 26px 26px;background:linear-gradient(160deg,#eef2ff 0%,#f7f8fd 46%,#f4f6fb 100%);text-align:center;padding:74px 20px 66px;margin-bottom:40px}
body[data-topic-theme="modules"] .mod-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.16}
body[data-topic-theme="modules"] .mod-hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(244,246,251,.2),#f4f6fb 92%)}
body[data-topic-theme="modules"] .mod-hero-inner{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center}
body[data-topic-theme="modules"] .mod-hero .topic-title-row{display:flex;align-items:center;justify-content:center;gap:12px}
body[data-topic-theme="modules"] .mod-hero-title{font-size:44px;font-weight:800;letter-spacing:-1.2px;color:#111827;margin:0;line-height:1.15}
body[data-topic-theme="modules"] .mod-hero-primary{color:#2f6bff}
body[data-topic-theme="modules"] .mod-hero-sub{margin-top:18px;max-width:640px;color:#5b6472;font-size:15px;line-height:1.8}
body[data-topic-theme="modules"] .mod-hero-stats{display:flex;gap:14px;margin-top:24px;flex-wrap:wrap;justify-content:center}
body[data-topic-theme="modules"] .mod-hero-stats span{display:inline-flex;align-items:center;height:34px;padding:0 18px;border-radius:999px;background:#fff;border:1px solid #e3e8f2;color:#3a4250;font-size:13px;font-weight:600;box-shadow:0 4px 14px -6px rgba(30,41,80,.08)}
/* 模块卡栅格 */
body[data-topic-theme="modules"] .mod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:18px}
body[data-topic-theme="modules"] .mod-card{position:relative;display:flex;flex-direction:column;align-items:center;background:#fff;border:1px solid #e5e9f2;border-radius:14px;padding:34px 18px 22px;text-decoration:none;color:inherit;transition:transform .25s cubic-bezier(.22,.61,.36,1),box-shadow .25s,border-color .25s}
body[data-topic-theme="modules"] .mod-card:hover{transform:translateY(-5px);border-color:#8fb0ff;box-shadow:0 18px 40px -16px rgba(47,107,255,.28)}
body[data-topic-theme="modules"] .mod-icon{width:58px;height:58px;border-radius:50%;border:1.5px solid #d7e0ff;background:#fff;display:flex;align-items:center;justify-content:center;transition:transform .25s,box-shadow .25s,border-color .25s}
body[data-topic-theme="modules"] .mod-card:hover .mod-icon{transform:scale(1.08);border-color:#2f6bff;box-shadow:0 8px 18px -6px rgba(47,107,255,.4)}
body[data-topic-theme="modules"] .mod-icon img{width:26px;height:26px;object-fit:contain}
body[data-topic-theme="modules"] .mod-name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin-top:15px;height:44px;text-align:center;font-size:15px;font-weight:600;color:#1f2430;line-height:1.5;word-break:break-all}
body[data-topic-theme="modules"] .mod-foot{margin-top:16px;display:flex;align-items:baseline;gap:4px}
body[data-topic-theme="modules"] .mod-num{font-size:20px;font-weight:700;color:#e64545;font-variant-numeric:tabular-nums}
body[data-topic-theme="modules"] .mod-unit{font-size:12px;color:#9aa3b2}
/* 区块（更新日志 / FAQ） */
body[data-topic-theme="modules"] .mod-sec{margin-top:34px;background:#fff;border:1px solid #e5e9f2;border-radius:16px;padding:26px 28px}
body[data-topic-theme="modules"] .mod-sec-title{font-size:17px;font-weight:700;color:#111827;margin:0 0 18px;letter-spacing:-.2px}
body[data-topic-theme="modules"] .mod-log{display:flex;flex-direction:column;gap:4px}
body[data-topic-theme="modules"] .mod-log-item{display:flex;align-items:center;gap:12px;padding:10px 8px;border-radius:10px;text-decoration:none;color:inherit;transition:background .18s}
body[data-topic-theme="modules"] .mod-log-item:hover{background:#f5f7fd}
body[data-topic-theme="modules"] .mod-log-dot{width:8px;height:8px;border-radius:50%;background:#2f6bff;flex:none}
body[data-topic-theme="modules"] .mod-log-date{font-size:12px;color:#9aa3b2;flex:none;font-variant-numeric:tabular-nums}
body[data-topic-theme="modules"] .mod-log-title{font-size:14px;color:#333a46;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body[data-topic-theme="modules"] .mod-faq{display:flex;flex-direction:column;gap:12px}
body[data-topic-theme="modules"] .mod-faq-item{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1px solid #edf0f6;border-radius:12px;background:#fbfcff}
body[data-topic-theme="modules"] .mod-faq-q{flex:none;width:24px;height:24px;border-radius:8px;background:#2f6bff;color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:1px}
body[data-topic-theme="modules"] .mod-faq-body{display:flex;flex-direction:column;gap:4px;min-width:0}
body[data-topic-theme="modules"] .mod-faq-question{font-size:14px;font-weight:600;color:#1f2430}
body[data-topic-theme="modules"] .mod-faq-answer{font-size:13.5px;color:#5b6472;line-height:1.75}
/* 返回 */
body[data-topic-theme="modules"] .mod-back{margin-top:36px;text-align:center}
body[data-topic-theme="modules"] .mod-back a{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 22px;border-radius:999px;border:1px solid #d9dfec;background:#fff;color:#475069;font-size:13.5px;font-weight:600;text-decoration:none;transition:all .2s}
body[data-topic-theme="modules"] .mod-back a:hover{border-color:#2f6bff;color:#2f6bff;background:#f5f8ff}
body[data-topic-theme="modules"] .empty{text-align:center;color:#9aa3b2;padding:60px 0;font-size:14px}
@media(max-width:720px){
  body[data-topic-theme="modules"] .topic-wrap{padding:0 14px 48px}
  body[data-topic-theme="modules"] .mod-hero{padding:52px 14px 46px;margin-bottom:28px}
  body[data-topic-theme="modules"] .mod-hero-title{font-size:32px}
  body[data-topic-theme="modules"] .mod-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
  body[data-topic-theme="modules"] .mod-card{padding:24px 12px 18px}
}