/* 妖股复盘 · 排版 1:1 参考 diygod.cc（Tailwind Typography prose-lg/sm）
   正文 18px/1.78 #374151；标题 #111827；版心 672px；链接继承色+虚线下划线 */

:root{
  --font: -apple-system, BlinkMacSystemFont, "segoe ui", Roboto, Helvetica, Arial, "noto sans sc", "pingfang sc", "hiragino sans gb", "microsoft yahei", sans-serif;
  --text:#222222;
  --heading:#111827;
  --muted:#6b7280;
  --faint:#9ca3af;
  --bg:#ffffff;
  --surface:#f3f4f6;
  --border:#e5e7eb;
  --link-dec:#d4d4d4;
  --block-bg:#eef4fd;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{overflow-x:clip}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:var(--font);
  font-size:17px;
  line-height:1.75;
  letter-spacing:.02em;
  -webkit-text-size-adjust:100%;
}
::selection{background:var(--surface)}

a{color:inherit;text-decoration:underline;text-decoration-style:dashed;text-decoration-color:var(--link-dec);text-underline-offset:4px;font-weight:500}
a:hover{color:var(--heading)}
strong{font-weight:500;color:var(--heading)}
img{max-width:100%;height:auto}

/* ---------- header ---------- */
.site-header{position:sticky;top:0;z-index:50;background:var(--bg);border-bottom:1px solid var(--border)}
.header-inner{max-width:1024px;margin:0 auto;padding:0 24px;height:80px;display:flex;align-items:center;justify-content:space-between}
.brand{font-weight:600;font-size:19px;color:var(--heading);text-decoration:none}
.brand:hover{color:var(--heading)}
.desk-nav{display:flex;align-items:center;gap:26px;font-size:17px;color:var(--muted)}
.desk-nav a{text-decoration:none;font-weight:400}
.desk-nav a:hover{color:var(--heading)}
.desk-nav a.active{color:var(--heading);font-weight:500}
.icon-btn{background:none;border:none;cursor:pointer;color:var(--muted);padding:6px;display:flex;align-items:center}
.icon-btn:hover{color:var(--heading)}
.icon-btn svg{width:20px;height:20px}
.menu-btn{display:none}
.mobile-menu{display:none}

/* ---------- main ---------- */
.page{max-width:1024px;margin:0 auto;padding:48px 24px 40px;position:relative}
.post{max-width:800px;margin:0 auto}
.post h1{font-size:30px;line-height:1.25;font-weight:600;color:var(--heading);margin:0 0 16px;text-align:left}
.post .meta-line{text-align:center;color:var(--muted);font-size:17px;margin:0 0 24px}
.meta{font-size:17px;color:var(--muted);margin:0 0 8px}
.meta .dot{margin:0 8px;color:var(--faint)}

/* 目录 */
.toc{margin:8px 0;font-size:17px}
.toc-head{display:flex;align-items:center;gap:10px;color:var(--heading);font-weight:470}
.toc-toggle{background:none;border:none;cursor:pointer;color:var(--muted);font-size:17px;padding:4px 0}
.toc-toggle:hover{color:var(--heading)}
.toc ul{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
.toc ul.collapsed{display:none}
.toc a{text-decoration:none;font-weight:400;color:var(--muted)}
.toc a:hover{color:var(--heading)}
.toc li.lvl3{padding-left:18px}

/* ---------- 正文 ---------- */
.prose{font-size:18px;line-height:1.9}
.prose p{margin:1.25em 0}
.prose h2{font-size:27px;font-weight:550;color:var(--heading);line-height:1.35;margin:2em 0 1em}
.prose h3{font-size:24px;font-weight:500;color:var(--heading);line-height:1.5;margin:1.6em 0 .6em}
.prose ul,.prose ol{margin:1.25em 0;padding-left:24px}
.prose li{margin:.5em 0}
.prose li::marker{color:var(--muted)}
.prose figure{margin:2em 0;position:relative;cursor:zoom-in}
.prose p:has(> figure){margin:0}
.zoom-hint{position:absolute;top:12px;right:12px;width:38px;height:38px;border-radius:50%;background:rgba(17,24,39,.65);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s;pointer-events:none}
.zoom-hint svg{width:19px;height:19px;color:#fff}
.prose figure:hover .zoom-hint{opacity:1}
/* 灯箱 */
.lightbox{position:fixed;inset:0;z-index:100;background:rgba(10,10,10,.93);display:flex;align-items:center;justify-content:center;cursor:zoom-out;padding:24px}
.lightbox img{max-width:96vw;max-height:94vh;object-fit:contain;background:#fff;border-radius:6px}
.prose figure img{width:100%;display:block;border:1px solid var(--border);border-radius:4px}
.prose figcaption{font-size:17px;color:var(--muted);text-align:center;margin-top:12px;line-height:1.6}
.prose hr{border:none;border-top:1px solid var(--border);margin:3em 0}
.prose blockquote{font-weight:500;font-style:italic;color:var(--heading);border-left:4px solid var(--border);margin:1.6em 0;padding-left:1em}
.prose blockquote p{margin:.5em 0}

/* 人心：feed 流，无分隔线 */
ul.rx{list-style:none;margin:1.4em 0;padding:0}
ul.rx li{padding:.65em 0;margin:0}
ul.rx li strong{margin-right:12px}

/* 主力的思维 */
.sikuai{background:var(--block-bg);border-radius:8px;padding:22px 24px;margin:2em 0}
.sikuai-title{font-weight:500;font-size:24px;color:var(--heading);margin-bottom:.6em}
.sikuai p{margin:0 0 1em}
.sikuai p:last-child{margin:0}

/* 编者案：总结 */
.bianzhe{border:1px solid var(--border);border-left:3px solid var(--heading);border-radius:0 8px 8px 0;padding:18px 22px;margin:0 0 1.6em;background:var(--block-bg)}
.bianzhe-label{font-size:22px;font-weight:500;color:var(--heading);margin-bottom:.6em}
.bianzhe p{margin:0}

/* 来源说明 */
.sources{font-size:17px;line-height:1.8;color:var(--muted);border:1px solid var(--border);border-radius:8px;padding:14px 18px;margin:0 0 2em;background:var(--block-bg)}
.sources-label{font-size:17px;font-weight:470;letter-spacing:.25em;color:var(--muted);margin-bottom:.6em}
.sources p{margin:0 0 .8em}
.sources p:last-child{margin:0}
/* 公开信源：字号收小 */
#sources{font-size:20px;margin-top:2.5em}
#sources~ol{font-size:17px;line-height:1.65}
#sources~ol li{margin:.4em 0}

/* ---------- 首页 ---------- */
.hero{max-width:800px;margin:0 auto 56px;text-align:left}
.hero h1{font-size:36px;font-weight:600;color:var(--heading);margin:0 0 16px;line-height:1.3}
.hero p{font-size:17px;color:var(--muted);margin:0;line-height:1.8}
.post-list{max-width:800px;margin:0 auto;display:flex;flex-direction:column}
.post-item{display:block;text-decoration:none;padding:28px 0;border-top:1px solid var(--border)}
.post-item:last-child{border-bottom:1px solid var(--border)}
.post-item:hover .pi-title{color:var(--heading)}
.pi-title{font-size:21px;font-weight:550;color:var(--heading);margin:0 0 10px;line-height:1.5}
.pi-meta{font-size:17px;color:var(--muted);margin:0 0 10px}
.pi-meta .dot{margin:0 8px;color:var(--faint)}
.pi-tag{display:inline-block;font-size:17px;color:var(--muted);border:1px solid var(--border);border-radius:9999px;padding:2px 12px;margin-right:8px}
.pi-excerpt{font-size:17px;color:var(--muted);margin:0;line-height:1.8}

/* ---------- 关于 ---------- */
.about{max-width:800px;margin:0 auto}
.dim-sub{font-size:17px;color:var(--muted);margin-top:8px}
/* 口径说明 */
.kouling{text-align:center;font-size:17px;color:#222222;margin:0 0 32px;padding:12px 16px;background:#e8f3fe;border-radius:8px}
/* 表格 */
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1.5em -24px;padding:0 24px}
.prose table{width:100%;border-collapse:collapse;font-size:17px;margin:0;line-height:1.6;min-width:640px}
.prose th,.prose td{border:1px solid var(--border);padding:10px 12px;text-align:center;vertical-align:middle}
.prose th{background:#f1f5f9;font-weight:600;font-size:17px;color:var(--heading);white-space:nowrap}
.prose tbody tr:nth-child(even){background:#f8fafc}
.prose tbody tr:hover{background:#eef4fd}
/* 阶段徽章 */
.m-badge{font-weight:600;color:var(--heading);white-space:nowrap}
/* 第一列不折行 */
.prose table td:first-child{white-space:nowrap;min-width:105px}
/* 嵌套列表 */
.prose li ul,.prose li ol{margin:0.75em 0 0.75em;padding-left:22px}
.prose li li{margin-bottom:0.6em}
.prose li li:last-child{margin-bottom:0}
/* 代码块 */
.prose pre{background:#f7f9fc;border:1px solid var(--border);border-radius:8px;padding:16px 18px;overflow-x:auto;font-size:17px;line-height:1.7;margin:1.5em 0}
.prose pre code{background:none;padding:0;font-size:inherit}
.about h1{font-size:30px;font-weight:600;color:var(--heading);margin:0 0 24px}
.about p{margin:1.25em 0}

/* ---------- footer ---------- */
.site-footer{border-top:1px solid var(--border);margin-top:64px}
.footer-inner{max-width:1024px;margin:0 auto;padding:32px 24px;font-size:17px;color:var(--muted);display:flex;flex-direction:column;gap:8px}
.footer-inner .row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
.footer-inner a{text-decoration:none}

/* ---------- 响应式 ---------- */
@media(min-width:1024px){
  body{font-size:20px}
  .prose{font-size:20px;line-height:2}
  .post h1{font-size:36px}
  .hero h1{font-size:40px}
  .about h1{font-size:36px}
}
@media(max-width:640px){
  .desk-nav{display:none}
  .menu-btn{display:flex}
  .mobile-menu{display:none;border-top:1px solid var(--border);background:var(--bg);padding:8px 24px 20px;flex-direction:column;gap:4px}
  .mobile-menu.open{display:flex}
  .mobile-menu a{display:block;padding:12px 0;text-decoration:none;color:var(--text);border-bottom:1px solid var(--border);font-size:17px}
  .mobile-menu a:last-child{border-bottom:none}
  .page{padding-top:32px}
  /* K线图横滑查看：图片保持足够宽度，手指左右滑着看 */
  .prose figure{margin-left:-24px;margin-right:-24px;padding:0 24px;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .prose figure img{min-width:720px;max-width:none;height:auto}
}
/* 触屏没有悬停，放大镜常显 */
@media(hover:none){
  .zoom-hint{opacity:1}
}

/* V2.0 首页组件 */
.hero-slogan{font-size:24px;font-weight:500;color:var(--heading);margin:16px 0 8px}
.hero-sub{font-size:17px;color:#555;margin:0 0 20px}
.hero-tags{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px}
.hero-tags span{font-size:17px;color:#555;background:#f1f5f9;padding:4px 12px;border-radius:20px}
.hero-cta{display:flex;gap:12px}
.btn-primary{display:inline-block;padding:12px 28px;background:#fff;color:var(--heading);border:1px solid var(--border);border-radius:8px;font-size:17px;font-weight:500;text-decoration:none}
.btn-primary:hover{border-color:#4a6fa5;color:#4a6fa5}
.btn-secondary{display:inline-block;padding:12px 28px;background:transparent;color:var(--heading);border:1px solid var(--border);border-radius:8px;font-size:17px;text-decoration:none}
.btn-secondary:hover{border-color:#4a6fa5;color:#4a6fa5}

.db-stats{display:flex;gap:48px;margin:48px 0;justify-content:center}
.stat{text-align:center}
.stat-num{font-size:36px;font-weight:600;color:var(--heading)}
.stat-label{font-size:17px;color:#666;margin-top:4px}

.featured-cases{margin:56px 0}
.featured-cases h2,.explore h2,.method-teaser h2{font-size:27px;margin-bottom:24px}
.case-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}
.case-card{border:1px solid var(--border);border-radius:12px;overflow:hidden;transition:box-shadow .2s}
.case-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.08)}
.case-card-link{display:block;padding:24px;text-decoration:none;color:inherit}
.case-card-header{display:flex;align-items:baseline;gap:12px;margin-bottom:8px}
.case-card-title{font-size:22px;font-weight:600;color:var(--heading);margin:0}
.case-card-code{font-size:17px;color:#888}
.case-card-gain{font-size:32px;font-weight:600;color:#4a6fa5;margin:8px 0}
.case-card-meta{font-size:17px;color:#666;margin-bottom:12px}
.case-card-tags{display:flex;gap:8px;margin-bottom:12px}
.case-card-tags .tag{font-size:17px;background:#f1f5f9;padding:3px 10px;border-radius:4px;color:#555}
.case-card-excerpt{font-size:17px;color:#555;line-height:1.7;margin:0 0 16px}
.case-card-more{font-size:17px;color:#4a6fa5;font-weight:500}

.explore{margin:56px 0}
.explore-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.explore-col h3{font-size:18px;margin-bottom:12px}
.explore-col a{display:block;font-size:17px;color:var(--heading);text-decoration:none;padding:8px 0;border-bottom:1px solid var(--border)}
.explore-col a:hover{color:#4a6fa5}

.method-teaser{margin:56px 0}
.method-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:28px}
.method-item{border:1px solid var(--border);border-radius:8px;padding:20px}
.method-num{font-size:17px;color:#4a6fa5;font-weight:600}
.method-item h3{font-size:17px;margin:8px 0 0;font-weight:500}

@media(max-width:640px){
  .explore-grid,.method-grid{grid-template-columns:1fr 1fr}
  .db-stats{gap:24px}
  .hero-cta{flex-direction:column}
}

/* 案例总览表 */
.case-overview{margin:48px 0}
.case-overview h2{font-size:27px;margin-bottom:20px}
.case-table-wrap{overflow-x:auto}
.case-table{width:100%;border-collapse:collapse;font-size:17px}
.case-table th,.case-table td{padding:12px 16px;text-align:center;border-bottom:1px solid var(--border)}
.case-table th{font-weight:500;color:var(--heading);background:#f8fafc}
.case-table td a{color:var(--heading);text-decoration:none}
.case-table td a:hover{color:#4a6fa5}
.hero-sub2{font-size:17px;color:#888;margin:-12px 0 20px}

/* 文章页：一句话结论 */
.conclusion-box{background:#f8fafc;border-left:4px solid #4a6fa5;padding:20px 24px;margin:28px 0;border-radius:0 8px 8px 0}
.conclusion-label{font-size:17px;font-weight:500;color:#4a6fa5;margin-bottom:8px}
.conclusion-box p{font-size:17px;line-height:1.9;margin:0;color:var(--text)}

/* 核心数据卡片 */
.data-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0}
.data-card{border:1px solid var(--border);border-radius:8px;padding:16px;text-align:center}
.dc-label{font-size:17px;color:#888;margin-bottom:6px}
.dc-value{font-size:18px;font-weight:500;color:var(--heading)}

/* 本案例看点 */
.key-points{margin:20px 0;font-size:17px}
.kp-label{font-weight:500;color:var(--heading)}
.kp-tag{display:inline-block;background:#eef2ff;color:#4a6fa5;padding:4px 12px;border-radius:4px;margin:0 6px 6px 0;font-size:17px}

/* 返回案例库 */
.back-to-cases{margin:48px 0 24px;padding-top:24px;border-top:1px solid var(--border)}
.back-to-cases a{font-size:17px;color:#4a6fa5;text-decoration:none}

@media(max-width:640px){
  .data-cards{grid-template-columns:1fr}
}
.case-card-points{margin:0 0 16px;font-size:17px}
.ccp-label{font-weight:500;color:var(--heading)}
