@charset "UTF-8";
/* ========================================================
   专题页样式 
   ======================================================== */
.zt-wrap { max-width: 860px; margin: 0 auto; padding: 10px 0 30px; font-size: 15px; line-height: 1.75; color: #333; font-family: -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif; }
.page-zhuanti .sitemap { max-width: 860px; margin-left: auto; margin-right: auto; }
.zt-hero { position: relative; background: linear-gradient(135deg,#ff6b4a 0%,#ff3d6e 100%); border-radius: 14px; padding: 45px 20px 35px; color: #fff; margin-bottom: 25px; box-shadow: 0 4px 15px rgba(0,0,0,0.05); text-align: center; }
.zt-hero .zt-badge { position: absolute; top: 16px; left: 16px; display: inline-block; font-size: 12px; background: rgba(255,255,255,.2); border: 1px solid rgba(255,255,255,.3); padding: 3px 14px; border-radius: 20px; }
.zt-hero h1 { margin: 0 0 12px; font-size: 26px; line-height: 1.4; color: #fff; border: none; font-weight: 600; }
.zt-hero p { margin: 0 auto 16px; font-size: 14.5px; opacity: .92; max-width: 650px; line-height: 1.6; }

.zt-stat { display: inline-flex; align-items: center; justify-content: center; background: rgba(0,0,0,0.15); padding: 6px 20px; border-radius: 30px; font-size: 13px; color: rgba(255,255,255,0.9); white-space: nowrap; }
.zt-stat-divider { margin: 0 12px; opacity: 0.4; font-size: 12px; }
.zt-stat strong { color: #fff; font-size: 16px; margin: 0 4px; font-weight: 600; font-family: arial, sans-serif; }

.zt-lead { background: #fff8f5; border-left: 4px solid #ff6b4a; border-radius: 0 8px 8px 0; padding: 16px 20px; margin-bottom: 25px; font-size: 15px; color: #444; }
.zt-lead p { margin: 0 0 10px; text-indent: 2em; }
.zt-lead p:last-child { margin-bottom: 0; }

.zt-h2 { font-size: 18px; margin: 30px 0 15px; padding-left: 12px; border-left: 5px solid #ff6b4a; line-height: 1.3; border-bottom: none !important; background: transparent !important; }
.zt-h2 span { font-size: 13px; color: #999; font-weight: 400; margin-left: 10px; }

/* 2. 卡片网格 */
.zt-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 15px; }
.zt-card { display: flex; gap: 15px; padding: 15px; border: 1px solid #eee; border-radius: 10px; background: #fff; text-decoration: none; color: #333; transition: all .25s ease; }
.zt-card:hover { border-color: #ff6b4a; box-shadow: 0 6px 18px rgba(255,107,74,.12); transform: translateY(-3px); }
.zt-thumb { flex: 0 0 54px; height: 54px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: 700; color: #fff; }
.zt-cbody { min-width: 0; }
.zt-name { font-size: 16px; font-weight: 600; margin: 0 0 5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: #333; }
.zt-desc { font-size: 13px; color: #777; margin: 0 0 8px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; line-height: 1.6; }
.zt-tags { font-size: 12px; color: #999; margin:0; }
.zt-tags em { font-style: normal; color: #ff6b4a; }
.zt-tag { display: inline-block; font-size: 11px; padding: 2px 8px; border-radius: 4px; background: #fff0ec; color: #ff6b4a; margin-right: 6px; }

/* 3. 新手攻略 */
.zt-path { background: #f7f9fc; border-radius: 10px; padding: 15px 20px; margin: 0; }
.zt-path ul, .zt-path ol { padding-left: 20px; margin: 0; }
.zt-path p, .zt-path li { margin-bottom: 8px; font-size: 14.5px; }
.zt-path p:last-child, .zt-path li:last-child { margin-bottom: 0; }
.zt-path a { color: #ff3d6e; text-decoration: none; font-weight: 600; }

/* 4. FAQ */
.zt-faq details { border: 1px solid #eee; border-radius: 8px; padding: 11px 14px; margin-bottom: 9px; background: #fff; }
.zt-faq summary { position: relative; font-weight: 600; font-size: 14.5px; cursor: pointer; list-style: none; padding-right: 24px; outline: none; }
.zt-faq summary::-webkit-details-marker { display: none; }
.zt-faq summary::before { content: "Q "; color: #ff6b4a; font-weight: 700; }
.zt-faq p { margin: 9px 0 0; padding-top: 9px; border-top: 1px dashed #f0f0f0; font-size: 13.5px; color: #666; line-height: 1.7; }
.zt-faq summary::after {
    content: ""; position: absolute; right: 4px; top: 50%; width: 7px; height: 7px; margin-top: -5px;
    border-right: 2px solid #aaa; border-bottom: 2px solid #aaa; transform: rotate(45deg);
    transition: transform 0.3s ease, border-color 0.3s ease;
}
.zt-faq summary:hover::after { border-color: #ff6b4a; }
.zt-faq details[open] summary::after { transform: rotate(225deg); margin-top: -1px; border-color: #ff6b4a; }

/* 5. 更新日志 */
.zt-log { list-style: none; padding: 0; margin: 0; font-size: 13.5px; color: #666; }
.zt-log li { padding: 12px 16px 12px 24px; margin-bottom: 10px; background: #f8f9fa; border: 1px solid #edf1f5; border-radius: 8px; position: relative; }
.zt-log li::before { content: ""; position: absolute; left: 10px; top: 20px; width: 6px; height: 6px; border-radius: 50%; background: #ff6b4a; }
.zt-log b { color: #333; margin-right: 8px; }

/* 6. 相关专题 */
.zt-more { margin-top: 26px; padding-top: 16px; border-top: 1px solid #eee; }
.zt-more a { display: inline-block; margin: 0 10px 10px 0; padding: 6px 16px; background: #fff; border: 1px solid #dce2e8; box-shadow: 0 2px 5px rgba(0,0,0,0.02); border-radius: 20px; font-size: 13px; color: #555; text-decoration: none; transition: all .2s; }
.zt-more a:hover { background: #fff8f5; border-color: #ff6b4a; color: #ff6b4a; box-shadow: 0 4px 10px rgba(255,107,74,0.1); }

/* ========================================================
   移动端适配调整
   ======================================================== */
@media (max-width: 640px) {
  .zt-hero { padding: 45px 15px 25px; }
  .zt-hero .zt-badge { top: 12px; left: 12px; padding: 2px 10px; font-size: 11px; }
  .zt-hero h1 { font-size: 21px; }
  .zt-stat { font-size: 12px; padding: 5px 12px; }
  .zt-stat strong { font-size: 14px; }
  .zt-grid { grid-template-columns: 1fr; }
  .zt-card { padding: 12px; min-height: 44px; }
  .zt-path a { display: inline-block; }
  .zt-more a { min-height: auto; line-height: normal; padding: 7px 15px; margin-bottom: 12px; }
  .zt-h2 { font-size: 17px; }
  .zt-path { padding: 12px 15px; }
  .zt-path ul, .zt-path ol { padding-left: 18px; }
  .zt-desc { font-size: 14px; }
  .zt-more a { font-size: 14px; }
  .zt-faq p { font-size: 14.5px; }
  .zt-stat { font-size: 13px; }
  .zt-stat strong { font-size: 15px; }
}

/* ========================================================
   夜间模式适配
   ======================================================== */
@media (prefers-color-scheme: dark) {
    .zt-wrap { color: #c4c4c4; }
    .zt-lead { background: #2e221f; color: #c4c4c4; border-left-color: #cc553a; }
    .zt-card { background: #252525; border-color: #3a3a3a; color: #c4c4c4; }
    .zt-card:hover { border-color: #cc553a; box-shadow: 0 4px 14px rgba(0,0,0,0.4); }
    .zt-name { color: #eee; }
    .zt-desc { color: #999; }
    .zt-tag { background: #3b241e; color: #ff8b73; }
    .zt-path { background: #252525; }
    .zt-path a { color: #ff6b8b; }
    .zt-faq details { background: #252525; border-color: #3a3a3a; }
    .zt-faq p { color: #999; border-top-color: #3a3a3a; }
    .zt-faq summary::after { border-color: #777; }
    .zt-log b { color: #eee; }
    .zt-log li { background: #222; border-color: #333; }
    .zt-more { border-top-color: #3a3a3a; }
    .zt-more a { background: #252525; border-color: #3a3a3a; color: #aaa; box-shadow: none; }
    .zt-more a:hover { background: #3b241e; border-color: #ff8b73; color: #ff8b73; }
    .zt-h2 span { color: #777; }
}

.night .zt-wrap, .dark .zt-wrap { color: #c4c4c4; }
.night .zt-lead, .dark .zt-lead { background: #2e221f; color: #c4c4c4; border-left-color: #cc553a; }
.night .zt-card, .dark .zt-card { background: #252525; border-color: #3a3a3a; color: #c4c4c4; }
.night .zt-card:hover, .dark .zt-card:hover { border-color: #cc553a; box-shadow: 0 4px 14px rgba(0,0,0,0.4); }
.night .zt-name, .dark .zt-name { color: #eee; }
.night .zt-desc, .dark .zt-desc { color: #999; }
.night .zt-tag, .dark .zt-tag { background: #3b241e; color: #ff8b73; }
.night .zt-path, .dark .zt-path { background: #252525; }
.night .zt-path a, .dark .zt-path a { color: #ff6b8b; }
.night .zt-faq details, .dark .zt-faq details { background: #252525; border-color: #3a3a3a; }
.night .zt-faq p, .dark .zt-faq p { color: #999; border-top-color: #3a3a3a; }
.night .zt-faq summary::after, .dark .zt-faq summary::after { border-color: #777; }
.night .zt-log b, .dark .zt-log b { color: #eee; }
.night .zt-log li, .dark .zt-log li { background: #222; border-color: #333; }
.night .zt-more, .dark .zt-more { border-top-color: #3a3a3a; }
.night .zt-more a, .dark .zt-more a { background: #252525; border-color: #3a3a3a; color: #aaa; box-shadow: none; }
.night .zt-more a:hover, .dark .zt-more a:hover { background: #3b241e; border-color: #ff8b73; color: #ff8b73; }
.night .zt-h2 span, .dark .zt-h2 span { color: #777; }