/* ============================================================
   晶雕细琢 · 站点外壳样式（与「论文里的统计故事」页面同一套设计语言）
   色板取自 stories/issue-01/story.css
   ============================================================ */
:root{
  --cvi-ink:#1f2933; --cvi-muted:#5f6c7b; --cvi-bg:#f7f5f0; --cvi-card:#fff;
  --cvi-accent:#b4472b; --cvi-accent2:#1f5f8b; --cvi-gold:#c99a2e; --cvi-line:#e4dfd3;
  --cvi-navy:#1d2b3a;
  --cvi-serif:"Songti SC","STSong","Noto Serif CJK SC","Source Han Serif SC",serif;
  --cvi-grad:linear-gradient(135deg,#1d2b3a 0%,#2c4a63 60%,#7a3b26 100%);
}
body{ font-family:-apple-system,"PingFang SC","Hiragino Sans GB","Noto Sans CJK SC","Microsoft YaHei",sans-serif; line-height:1.8; background:var(--cvi-bg); color:var(--cvi-ink); }

/* ---------- 导航栏：与文章 hero 的深蓝起点一致 ---------- */
#quarto-header .navbar{ background:var(--cvi-navy); border-bottom:1px solid rgba(255,255,255,.08); box-shadow:none; }
#quarto-header .navbar-brand .navbar-title{ font-family:var(--cvi-serif); font-weight:700; letter-spacing:.04em; color:#fff; }
#quarto-header .navbar-nav .nav-link{ color:rgba(255,255,255,.78); font-size:15px; border-radius:18px; padding:.3rem .8rem; }
#quarto-header .navbar-nav .nav-link:hover{ color:#fff; background:rgba(255,255,255,.08); }
#quarto-header .navbar-nav .nav-link.active{ color:#fff; background:rgba(255,255,255,.12); box-shadow:inset 0 -2px 0 #c97a52; }
#quarto-header .navbar .quarto-navbar-tools .quarto-navigation-tool,
#quarto-header .navbar .bi{ color:rgba(255,255,255,.78); }
#quarto-header .aa-DetachedSearchButton{ border-color:transparent; background:transparent; }
#quarto-header .aa-DetachedSearchButtonIcon svg{ color:rgba(255,255,255,.85); }
#quarto-header .navbar-toggler{ border-color:rgba(255,255,255,.25); }
@media (max-width:991.98px){
  #quarto-header .navbar-collapse{ padding:.4rem 0 .6rem; }
  #quarto-header .navbar-nav .nav-link{ border-radius:8px; }
}

/* ---------- 页脚 ---------- */
.nav-footer{ background:var(--cvi-navy); color:rgba(255,255,255,.7); border-top:3px solid var(--cvi-accent); font-size:13.5px; padding:1rem 1.5rem; }
.nav-footer strong{ color:#ffd9a8; font-weight:600; }
.nav-footer a{ color:#ffd9a8; }
@media (max-width:767.98px){ .nav-footer{ flex-direction:column; gap:.3rem; text-align:center; } .nav-footer>div{ text-align:center!important; justify-content:center; } }

/* ---------- 通用标题条（列表页 / 随笔 / 关于 / 404） ---------- */
.quarto-title-banner{ background:var(--cvi-grad); color:#fff; padding:2.6rem 0 2.2rem; margin-bottom:1.6rem; }
.quarto-title-banner .quarto-title .title{ font-family:var(--cvi-serif); color:#fff; font-size:2.1rem; font-weight:700; }
.quarto-title-banner .description{ background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.25); border-radius:12px; padding:12px 16px; margin-top:18px; font-size:15px; color:rgba(255,255,255,.92); max-width:760px; }
.quarto-title-banner .description p{ margin:0; }
.quarto-title-banner .quarto-title-meta,.quarto-title-meta-heading{ display:none; }
.cvi-shell #quarto-document-content h2{ font-family:var(--cvi-serif); font-weight:700; border-bottom:none; border-left:6px solid var(--cvi-accent); padding-left:14px; font-size:26px; margin:2rem 0 .6rem; }
.cvi-shell #quarto-document-content h2.anchored::after{ display:none; }

/* 宽度：与文章正文一致（约 1020px） */
.cvi-wrap{ max-width:1020px; margin:0 auto; padding:0 22px; }
.cvi-list #quarto-content,.cvi-page #quarto-content{ max-width:1064px; margin:0 auto; }

/* ---------- 首页 hero ---------- */
.cvi-home #quarto-content{ padding-top:0; }
.cvi-home main.content{ margin-top:0; }
.cvi-hero{ background:var(--cvi-grad); color:#fff; padding:64px 0 52px; margin:0 0 10px; }
.cvi-kicker{ letter-spacing:.3em; font-size:12.5px; opacity:.72; }
.cvi-hero-title{ font-family:var(--cvi-serif); font-weight:700; font-size:42px; line-height:1.3; margin:12px 0 6px; color:#fff; border:none; }
.cvi-hero-title .cvi-dot{ opacity:.55; }
.cvi-hero-title .cvi-en{ font-size:.62em; letter-spacing:.02em; opacity:.92; }
.cvi-hero-sub{ font-size:21px; opacity:.94; margin:0 0 4px; letter-spacing:.06em; }
.cvi-glass{ margin-top:24px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.25); border-radius:12px; padding:16px 20px; font-size:15.5px; max-width:780px; backdrop-filter:blur(4px); }
.cvi-hero-actions{ margin-top:14px; display:flex; flex-wrap:wrap; gap:10px; }
.cvi-btn{ display:inline-block; background:#ffd9a8; color:#3b2416!important; text-decoration:none; border-radius:20px; padding:5px 16px; font-size:14.5px; font-weight:600; }
.cvi-btn:hover{ background:#ffe6c4; }
.cvi-btn-ghost{ background:transparent; color:#fff!important; border:1px solid rgba(255,255,255,.45); font-weight:400; }
.cvi-btn-ghost:hover{ background:rgba(255,255,255,.1); }
.cvi-section{ padding-bottom:2.5rem; }
.cvi-section-lead{ color:var(--cvi-muted); display:block; margin:-.2rem 0 1rem; }
.cvi-more{ display:inline-block; margin-top:.4rem; color:var(--cvi-accent); text-decoration:none; font-weight:600; }
.cvi-more:hover{ text-decoration:underline; }

/* ---------- 文章卡片 ---------- */
.cvi-cards{ display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:22px; margin:.6rem 0 1rem; }
.cvi-card{ background:var(--cvi-card); border:1px solid var(--cvi-line); border-top:4px solid var(--cvi-gold); border-radius:14px; overflow:hidden; box-shadow:0 2px 10px rgba(0,0,0,.04); display:flex; flex-direction:column; transition:transform .15s, box-shadow .15s; }
.cvi-card:hover{ transform:translateY(-2px); box-shadow:0 8px 24px rgba(29,43,58,.10); }
.cvi-card-img{ display:block; aspect-ratio:16/9; background:#fbf8f1; border-bottom:1px solid var(--cvi-line); overflow:hidden; }
.cvi-card-img img{ width:100%; height:100%; object-fit:contain; padding:10px; }
.cvi-card-body{ padding:14px 18px 16px; display:flex; flex-direction:column; flex:1; }
.cvi-card-issue{ font-size:12.5px; color:var(--cvi-muted); letter-spacing:.05em; }
.cvi-card-issue span{ display:inline-block; background:var(--cvi-accent); color:#fff; border-radius:4px; padding:0 8px; margin-right:2px; letter-spacing:.1em; }
.cvi-card-title{ font-family:var(--cvi-serif); font-size:20px; line-height:1.45; margin:8px 0 6px; font-weight:700; }
.cvi-card-title a{ color:var(--cvi-ink); text-decoration:none; }
.cvi-card-title a:hover{ color:var(--cvi-accent); }
.cvi-card-desc{ font-size:14.5px; color:#3a4652; margin:0 0 10px; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.cvi-badges{ display:flex; flex-wrap:wrap; gap:6px; margin-bottom:10px; }
.cvi-badge{ display:inline-block; background:#e8f0f8; color:var(--cvi-accent2)!important; border:1px solid #bcd3e8; border-radius:4px; font-size:12.5px; padding:0 7px; text-decoration:none; line-height:1.7; }
.cvi-badge:hover{ background:#d8e6f3; }
.cvi-card-more{ margin-top:auto; align-self:flex-start; font-size:14px; color:var(--cvi-accent); text-decoration:none; font-weight:600; }

/* 即将上线 / 信息卡 */
.cvi-soon,.cvi-infocard{ background:linear-gradient(180deg,#fffaf0,#fff); border:1px solid #ecd9a8; border-left:6px solid var(--cvi-gold); border-radius:12px; padding:14px 18px; margin:.6rem 0 1rem; color:#3a4652; }
.cvi-soon p,.cvi-infocard ul{ margin:0; }
.cvi-infocard ul{ padding-left:1.2em; }
.cvi-soon-tag{ display:inline-block; background:var(--cvi-gold); color:#fff; font-size:12.5px; border-radius:4px; padding:1px 8px; margin-right:8px; letter-spacing:.05em; }

/* ---------- 列表页：分类侧栏、筛选框 ---------- */
.quarto-listing-category-title{ font-family:var(--cvi-serif); font-weight:700; color:var(--cvi-ink); border-left:4px solid var(--cvi-accent); padding-left:8px; }
.quarto-listing-category .category{ font-size:14px; color:var(--cvi-muted); border-radius:14px; padding:1px 10px; }
.quarto-listing-category .category.active,.quarto-listing-category .category:hover{ background:#e8f0f8; color:var(--cvi-accent2); }
.quarto-listing-filter input{ background:#fff; border-color:var(--cvi-line); border-radius:18px; }
.listing-no-matching{ color:var(--cvi-muted); }

/* ---------- 统计故事文章页 ---------- */
.paper-note{ border-left:4px solid var(--cvi-gold); background:rgba(201,154,46,.08); padding:.8rem 1rem; margin:1.5rem 0; border-radius:4px; }
.placeholder-tag{ display:inline-block; background:#d9534f; color:#fff; font-size:.8em; padding:0 .4em; border-radius:3px; margin-right:.3em; }

@media (max-width:575.98px){
  .cvi-hero{ padding:40px 0 34px; }
  .cvi-hero-title{ font-size:30px; }
  .cvi-hero-title .cvi-dot{ display:none; }
  .cvi-hero-title .cvi-en{ display:block; font-size:.6em; margin-top:2px; }
  .cvi-hero-sub{ font-size:18px; }
  .cvi-glass{ font-size:14.5px; padding:12px 14px; }
  .cvi-cards{ grid-template-columns:1fr; gap:16px; }
  .cvi-wrap{ padding:0 16px; }
  .quarto-title-banner{ padding:1.8rem 0 1.6rem; }
  .quarto-title-banner .quarto-title .title{ font-size:1.7rem; }
}

/* 统计故事页：导航栏下方直接接文章 hero，去掉 Quarto 标题区留下的空隙 */
body:has(.cvi-story) main.content{ margin-top:0!important; padding-top:0!important; }
/* 列表页标题与说明框间距 */
.quarto-title-banner .quarto-title{ margin-bottom:0; }
/* 首页用自定义 hero，隐藏 Quarto 默认标题区（title 仍保留在 <title>/meta/JSON-LD 中） */
.cvi-home #title-block-header{ display:none; }
#title-block-header.quarto-title-block .quarto-title-banner .description{ margin-top:18px!important; }
.quarto-title-banner{ margin-bottom:0!important; }
.cvi-list main.content,.cvi-page main.content{ margin-top:1.6rem!important; }
.cvi-list #quarto-margin-sidebar,.cvi-list .quarto-listing-filter{ margin-top:0; }
@media (max-width:575.98px){
  #quarto-header .navbar-brand .navbar-title{ font-size:14px; letter-spacing:0; }
  #quarto-header .navbar-brand{ margin-right:0; }
}
.cvi-home main.content{ margin-top:0!important; padding-top:0!important; }
.cvi-home .cvi-section.column-page{ width:100%; max-width:1020px; justify-self:center; }
.cvi-shell .cvi-card-title{ font-weight:700!important; font-family:var(--cvi-serif)!important; }

/* ---------- IP 形象头像 ---------- */
.cvi-hero-head{ display:flex; align-items:center; gap:30px; }
.cvi-hero-text{ min-width:0; }
.cvi-avatar{ display:block; flex:0 0 auto; border-radius:50%; padding:4px; background:linear-gradient(135deg,#e8c27a,#c99a2e 45%,#b4472b); box-shadow:0 0 0 6px rgba(255,217,168,.14),0 10px 30px rgba(0,0,0,.28); }
.cvi-avatar img{ display:block; width:168px; height:168px; border-radius:50%; border:3px solid #f7f5f0; background:#f7f5f0; }
.cvi-about-avatar{ display:flex; justify-content:center; margin:.4rem 0 1.4rem; }
.cvi-about-avatar .cvi-avatar{ box-shadow:0 0 0 7px rgba(201,154,46,.14),0 8px 24px rgba(29,43,58,.14); }
.cvi-about-avatar .cvi-avatar img{ width:200px; height:200px; }
@media (max-width:575.98px){
  .cvi-hero-head{ flex-direction:column; align-items:flex-start; gap:16px; }
  .cvi-avatar img{ width:104px; height:104px; }
  .cvi-about-avatar .cvi-avatar img{ width:160px; height:160px; }
}
.cvi-hero .cvi-hero-actions{ margin-top:18px; }

/* ============================================================
   v2：统一版心（与文章页 .wrap 一致：1020px + 两侧 22px）
   ============================================================ */
:root{ --cvi-col:1020px; --cvi-gutter:22px; --cvi-side:max(var(--cvi-gutter), calc((100% - var(--cvi-col)) / 2 + var(--cvi-gutter))); }

/* 导航栏内容对齐版心 */
#quarto-header .navbar > .navbar-container{ max-width:var(--cvi-col); margin:0 auto; padding-left:var(--cvi-gutter); padding-right:var(--cvi-gutter); }
@media (max-width:575.98px){
  #quarto-header .navbar > .navbar-container{ padding-left:12px; padding-right:12px; }
  /* 窄屏两行字标，避免截断 */
  #quarto-header .navbar-brand .navbar-title{ font-size:0!important; line-height:1; display:inline-flex; flex-direction:column; align-items:center; }
  #quarto-header .navbar-brand .navbar-title::before{ content:"晶雕细琢"; font-size:18px; letter-spacing:.12em; font-weight:700; }
  #quarto-header .navbar-brand .navbar-title::after{ content:"CLEAR VIEW INSIGHTS"; font-family:-apple-system,"Noto Sans CJK SC",sans-serif; font-size:9px; letter-spacing:.22em; opacity:.7; margin-top:4px; font-weight:400; }
}

/* 页脚对齐版心 */
footer.footer .nav-footer{ padding:1.4rem var(--cvi-side)!important; font-size:13.5px; line-height:1.7; min-height:0; max-width:none; }
.nav-footer .nav-footer-left,.nav-footer .nav-footer-right{ flex:1 1 auto; }
@media (max-width:767.98px){ footer.footer .nav-footer{ padding:1.2rem 16px!important; } }

/* 标题条（列表 / 随笔 / 关于 / 404）对齐版心 */
.cvi-list .quarto-title-banner,.cvi-page .quarto-title-banner{ display:block!important; padding-left:var(--cvi-side); padding-right:var(--cvi-side); }
.cvi-list .quarto-title-banner > .quarto-title,.cvi-page .quarto-title-banner > .quarto-title{ max-width:none; width:100%; margin:0; }
.quarto-title-banner .description{ max-width:720px; }

/* 正文区：关于 / 随笔 / 404 单列；列表页 正文 + 分类栏 两列 */
.cvi-page #quarto-content{ display:block; max-width:var(--cvi-col); margin:0 auto; padding:0 var(--cvi-gutter); }
.cvi-page #quarto-content > main.content{ width:100%; max-width:none; margin-left:0; margin-right:0; }
.cvi-list #quarto-content{ display:grid!important; grid-template-columns:minmax(0,1fr) 220px; column-gap:36px; max-width:var(--cvi-col); margin:0 auto; padding:0 var(--cvi-gutter); }
.cvi-list #quarto-content > main.content{ grid-column:1; grid-row:1; width:100%; max-width:none; margin-left:0; margin-right:0; }
.cvi-list #quarto-content > #quarto-margin-sidebar{ grid-column:2; grid-row:1; position:sticky; top:90px; align-self:start; margin-top:1.6rem; padding:0; max-height:none; }
.cvi-list .quarto-listing-filter{ max-width:none; width:100%; margin:0 0 1.2rem!important; }
.cvi-list .quarto-listing-filter .input-group-text{ background:#fff; border-color:var(--cvi-line); border-radius:18px 0 0 18px; }
.cvi-list .quarto-listing-filter input{ border-radius:0 18px 18px 0; }
.cvi-list #quarto-margin-sidebar .quarto-listing-category{ background:#fff; border:1px solid var(--cvi-line); border-radius:12px; padding:12px 12px 10px; }
@media (max-width:991.98px){
  .cvi-list #quarto-content{ grid-template-columns:minmax(0,1fr); }
  .cvi-list #quarto-content > #quarto-margin-sidebar{ display:block!important; grid-column:1; grid-row:1; position:static; margin-top:1.2rem; }
  .cvi-list #quarto-content > main.content{ grid-row:2; margin-top:.4rem!important; }
  .cvi-list #quarto-margin-sidebar .quarto-listing-category{ display:flex; flex-wrap:wrap; gap:6px; background:transparent; border:none; padding:0; }
  .cvi-list #quarto-margin-sidebar .quarto-listing-category-title{ display:none; }
  .cvi-list #quarto-margin-sidebar .quarto-listing-category .category{ background:#fff; border:1px solid var(--cvi-line); padding:1px 10px; font-size:13px; }
  .cvi-list #quarto-margin-sidebar .quarto-listing-category .category.active{ background:var(--cvi-accent2); color:#fff; border-color:var(--cvi-accent2); }
}
@media (max-width:575.98px){
  .cvi-list #quarto-content,.cvi-page #quarto-content{ padding:0 16px; }
  .cvi-list .quarto-title-banner,.cvi-page .quarto-title-banner{ padding-left:16px; padding-right:16px; }
}

/* 只有一期时：横向「精选卡」 */
@media (min-width:768px){
  .cvi-cards:has(> .cvi-card:only-child){ grid-template-columns:1fr; }
  .cvi-card:only-child{ flex-direction:row; }
  .cvi-card:only-child .cvi-card-img{ flex:0 0 44%; aspect-ratio:auto; min-height:260px; border-bottom:none; border-right:1px solid var(--cvi-line); display:flex; align-items:center; }
  .cvi-card:only-child .cvi-card-img img{ height:auto; padding:16px; }
  .cvi-card:only-child .cvi-card-body{ padding:22px 26px; justify-content:center; }
  .cvi-card:only-child .cvi-card-title{ font-size:24px; }
  .cvi-card:only-child .cvi-card-desc{ -webkit-line-clamp:4; font-size:15px; }
}
.cvi-card-more{ padding-top:4px; }

/* 正文链接统一暖色调 */
.cvi-shell #quarto-document-content a:not(.cvi-btn):not(.cvi-btn-ghost):not(.cvi-badge):not(.cvi-more):not(.cvi-card-more):not(.cvi-btn-solid):not(.cvi-btn-line):not([class*="card-title"] a){ color:var(--cvi-accent2); text-decoration-thickness:1px; text-underline-offset:3px; }
.cvi-shell #quarto-document-content a:hover{ color:var(--cvi-accent); }
.cvi-card-title a{ text-decoration:none!important; color:var(--cvi-ink)!important; }
.cvi-card-title a:hover{ color:var(--cvi-accent)!important; }

/* 首页 hero 小字 */
.cvi-kicker{ letter-spacing:.32em; }

/* 关于页 */
.cvi-page .cvi-infocard{ max-width:560px; margin-left:auto; margin-right:auto; }

/* 404 */
.cvi-404{ text-align:center; padding:1.5rem 0 2rem; }
.cvi-404 p{ margin:.4rem 0; }
.cvi-404-code{ display:inline-block; font-family:var(--cvi-serif); font-size:64px; font-weight:700; line-height:1; background:var(--cvi-grad); -webkit-background-clip:text; background-clip:text; color:transparent; }
.cvi-btn-solid,.cvi-btn-line{ display:inline-block; margin:10px 5px 0; border-radius:20px; padding:6px 18px; font-size:14.5px; text-decoration:none!important; font-weight:600; }
.cvi-btn-solid{ background:var(--cvi-accent); color:#fff!important; }
.cvi-btn-solid:hover{ background:#9a3b23; }
.cvi-btn-line{ border:1px solid var(--cvi-accent2); color:var(--cvi-accent2)!important; }
.cvi-btn-line:hover{ background:#e8f0f8; }

/* ---------- 关注公众号（关于页 + 文章页底部） ---------- */
.cvi-follow{ display:flex; align-items:center; gap:18px; background:linear-gradient(180deg,#fffaf0,#fff); border:1px solid #ecd9a8; border-left:6px solid var(--cvi-gold); border-radius:12px; padding:14px 18px; margin:1.8rem 0 1rem; max-width:560px; }
.cvi-follow img{ width:120px; height:120px; border-radius:8px; flex:0 0 auto; background:#fff; border:1px solid var(--cvi-line); }
.cvi-follow-about{ margin-left:auto; margin-right:auto; }
.cvi-follow-about img{ width:140px; height:140px; }
.cvi-follow-title{ font-family:var(--cvi-serif); font-weight:700; font-size:17px; color:var(--cvi-ink); margin:0 0 4px; }
.cvi-follow-note{ font-size:14px; color:var(--cvi-muted); margin:0; line-height:1.65; }
.cvi-story .cvi-follow{ margin:28px auto 36px; max-width:min(560px, calc(100% - 44px)); }
@media (max-width:575.98px){
  .cvi-follow{ flex-direction:column; text-align:center; gap:12px; }
  .cvi-follow img,.cvi-follow-about img{ width:132px; height:132px; }
}
.cvi-bio{ max-width:560px; margin:-.2rem auto 1.4rem; text-align:center; font-family:var(--cvi-serif); font-size:17px; line-height:1.9; color:#3a4652; }
.cvi-bio p{ margin:0; }
.cvi-page .cvi-infocard p{ margin:0; text-align:center; }
