/* ===== 文章页面统一样式（文章页 + 编辑器预览共享） ===== */
.wrap{max-width:778px;margin:0 auto;padding:0 20px 60px}
.top{display:flex;align-items:center;padding:16px 0;border-bottom:1px solid rgba(0,0,0,.06);margin-bottom:32px}
.top a{font-size:.85em;color:#888;text-decoration:none;display:flex;align-items:center;gap:6px;transition:color .15s}
.top a:hover{color:#333}
.article-title{font-family:'Noto Serif SC',serif;font-size:clamp(1.4rem,2.8vw,1.9rem);font-weight:700;text-align:center;margin:1.2em 0 .3em;color:#1a1a1a;letter-spacing:2px;line-height:1.5}
.article-meta{text-align:center;font-size:.82em;color:#aaa;margin-bottom:1.5em;padding-bottom:1.2em;border-bottom:1px solid rgba(0,0,0,.05);letter-spacing:.5px}
.article-meta .dot{margin:0 8px;color:#ddd}
.bd{font-size:clamp(.95rem,2vw,1.05rem);color:#2a2a2a}
.bd p{margin-bottom:0.5em;text-indent:0;letter-spacing:.3px}
.bd p.article-author{text-align:center;font-size:.88em;color:#999;margin-bottom:1.2em;text-indent:0;letter-spacing:1px}
.bd h3{font-family:'Noto Serif SC',serif;font-size:1.2em;font-weight:700;margin:1.8em 0 1.2em;padding-left:14px;border-left:3px solid #7a9fc4;color:#1a1a1a;letter-spacing:1px;line-height:1.6}
.bd h4{font-size:1em;font-weight:600;margin:1.2em 0;color:#555}
.bd blockquote{margin:1.2em 0;padding:1em 1.4em;background:rgba(122,159,196,.06);border-left:3px solid #7a9fc4;border-radius:0 6px 6px 0;color:#555}
.bd blockquote p{text-indent:0;margin-bottom:.6em}
.bd blockquote p:last-child{margin-bottom:0}
.bd hr{border:none;height:1px;background:linear-gradient(90deg,transparent,rgba(122,159,196,.3),transparent);margin:1.2em auto;width:30%}
.bd .sig{text-align:right;font-size:.85em;color:#aaa;margin-top:1.8em;padding-top:1em;border-top:1px solid rgba(0,0,0,.04);text-indent:0;letter-spacing:.5px}
.bd img{max-width:100%;height:auto;border-radius:6px}
.bd .img-block{text-align:center;margin:1.2em 0}
.bd .img-block img{display:inline-block;width:60%;max-width:100%}
.author-block{display:flex;align-items:center;gap:14px;margin:32px 0;padding:20px;background:rgba(0,0,0,.02);border-radius:12px}
.author-block img{width:56px;height:56px;border-radius:50%;object-fit:cover;flex-shrink:0}
.author-name{font-weight:600;font-size:.95em;color:#333;margin-bottom:2px}
.author-bio{font-size:.82em;color:#999;line-height:1.5}
@media(prefers-color-scheme:dark){
.article-title{color:#eee}
.article-meta{border-bottom-color:rgba(255,255,255,.06)}
.bd{color:#ccc}
.bd h3{color:#eee;border-left-color:#7a9fc4}
.bd blockquote{color:#aaa;background:rgba(122,159,196,.04)}
.bd .sig{border-top-color:rgba(255,255,255,.06)}
.author-block{background:rgba(255,255,255,.04)}
.author-name{color:#ddd}
.author-bio{color:#888}
.top a{color:#777}.top a:hover{color:#ccc}
.top{border-color:rgba(255,255,255,.06)}
}


/* === 从 share.php inline style 合并(2026-06-28 统一对齐) === */

*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Noto Sans SC',sans-serif;color:#1a1a1a;background:linear-gradient(145deg,#f0f2f8 0%,#e2e6f0 30%,#d5dce8 60%,#e8ecf2 100%);background-attachment:fixed;line-height:1.9;-webkit-font-smoothing:antialiased}
/* dedupe: 同 .wrap 已在 article.css 顶部定义 778 */
.act{display:flex;flex-wrap:wrap;margin-top:32px;border:1px solid rgba(0,0,0,.06);border-radius:10px}
/* --- Author Card 作者简介 --- */
.author-card{margin:20px 0;background:rgba(255,255,255,.7);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(122,159,196,.15);border-radius:14px;overflow:hidden;box-shadow:0 4px 20px rgba(31,38,135,.06);transition:box-shadow .3s ease,transform .3s ease}
.author-card:hover{box-shadow:0 8px 32px rgba(31,38,135,.10);transform:translateY(-1px)}
.author-card-inner{display:flex;align-items:flex-start;gap:18px;padding:16px;position:relative}
.author-card-inner::before{content:'';position:absolute;left:0;top:8px;bottom:8px;width:3px;background:linear-gradient(180deg,#667eea,#b8943c);border-radius:2px}
.author-avatar{flex-shrink:0;position:relative}
.author-avatar img{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.8);box-shadow:0 2px 12px rgba(0,0,0,.08)}
.author-avatar-ring{position:absolute;inset:-3px;border-radius:50%;border:1.5px solid rgba(122,159,196,.25);pointer-events:none}
.author-detail{flex:1;min-width:0}
.author-card-name{font-weight:600;font-size:0.95em;color:#2c3e50;letter-spacing:1px;margin-bottom:2px}
.author-card-bio{font-size:.82em;color:#6a7a8a;line-height:1.7;letter-spacing:.3px;margin-top:4px}
.author-link{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-size:.82em;color:#7a9fc4;text-decoration:none;transition:color .2s}
.author-link:hover{color:#5a7fa4}
.author-link i{font-size:.85em;transition:transform .2s}
.author-link:hover i{transform:translateX(3px)}
.ab{display:flex;align-items:center;justify-content:center;gap:5px;flex:1;min-width:80px;padding:10px 0;border:none;background:transparent;font-family:inherit;font-size:.88em;color:#666;cursor:pointer;transition:color .15s;border-right:1px solid rgba(0,0,0,.06)}
.ab:last-child{border-right:none}
.ab:hover,.ab.on{color:#7a9fc4}
.ab .num{font-size:.75em;color:#aaa;margin-left:2px}
.foot{text-align:center;font-size:.78em;color:#bbb;padding:40px 20px 20px;border-top:1px solid rgba(0,0,0,.04);margin-top:20px}
.tt{position:fixed;bottom:30px;left:50%;transform:translateX(-50%) translateY(80px);background:rgba(0,0,0,.8);color:#fff;padding:10px 24px;border-radius:20px;font-size:.88em;opacity:0;transition:all .3s;pointer-events:none;z-index:9999}
.tt.s{opacity:1;transform:translateX(-50%) translateY(0)}@media(prefers-color-scheme:dark){
body{background:#1a1a1a;color:#ddd}
.article-title{color:#eee}
.article-meta{border-bottom-color:rgba(255,255,255,.06)}
.bd{color:#ccc}
.bd h3{color:#eee;border-left-color:#7a9fc4}
.bd blockquote{color:#aaa;background:rgba(122,159,196,.04)}
.bd .sig{border-top-color:rgba(255,255,255,.06)}
.top a{color:#777}.top a:hover{color:#ccc}
.ab{color:#999}
.ab .num{color:#666}
.author-card{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.08)}
.author-card-name{color:#ddd}
.author-card-bio{color:#999}
.author-link{color:#8aaccc}
.author-link:hover{color:#aaccdd}
.top,.act,.foot{border-color:rgba(255,255,255,.06)}
.act .ab{border-right-color:rgba(255,255,255,.06)}
.foot{color:#666}
}@media(max-width:480px){.wrap{padding:0 16px 40px}.act{flex-wrap:wrap}}

/* ===== 东访模板 df-*（2026-10-24） ===== */
/* 页面框架（仅分享页；浏览器需支持 :has） */
body:has(.df-article){background:#fff!important}
.wrap:has(.df-article){max-width:768px;padding:0 24px 76px}
.wrap:has(.df-article) .article-meta{display:none}
.wrap:has(.df-article) .article-title{
  font-family:'Songti SC','SimSun','宋体',serif!important;
  font-size:28pt!important;color:#8B202A!important;font-weight:700!important;
  letter-spacing:.03em!important;line-height:1.5!important;
  margin:36px 0 12px!important;text-align:center!important;
}
.wrap:has(.df-article) .article-title::before{
  content:'「文 脉 星 图 · 东 访」';display:block;
  font-family:'Heiti SC','PingFang SC','SimHei',sans-serif;font-size:10pt;font-weight:700;
  color:#8B202A;letter-spacing:.38em;line-height:1.6;
  padding-bottom:18px;margin-bottom:30px;border-bottom:1px solid #E0D4BE;
}

/* 正文 */
.df-article{max-width:640px;margin:0 auto;font-family:'Songti SC','SimSun','宋体',serif;font-size:12.5pt;line-height:2.0;color:#222;text-align:left}
.df-article p{margin:0 0 3px;text-indent:2em;text-align:justify;letter-spacing:normal}
.df-subtitle{text-indent:0!important;text-align:center!important;font-family:'Kaiti SC','KaiTi','楷体',serif!important;font-size:12.5pt!important;color:#6F6F6F!important;margin:4px 0 2px!important}
.df-byline{text-indent:0!important;text-align:center!important;font-family:'Kaiti SC','KaiTi','楷体',serif!important;font-size:10.5pt!important;color:#9C9C9C!important;letter-spacing:.04em!important}

.df-guest{text-align:center;margin:24px 0 0;text-indent:0}
.df-guest img{display:inline-block;width:210px;max-width:60vw;height:auto;padding:8px;background:#fff;border:1px solid #DCCDB4;border-radius:0}
.df-guest figcaption{font-size:9.5pt;color:#9C6A25;letter-spacing:.32em;margin-top:8px;text-indent:0}

.df-summary{margin:60px 0 52px}
.df-label-wrap{margin:56px 0 20px}
.df-label-wrap.df-sum{margin:0 0 24px}
.df-label-wrap.df-end{margin:0 0 4px}
.df-label-wrap.df-author-label{margin:0 0 20px}
.df-label-wrap.df-line{border-bottom:1px solid #DCCDB4;padding-bottom:14px}
.df-label{display:inline-block;position:relative;isolation:isolate;font-family:'Heiti SC','PingFang SC','SimHei',sans-serif;font-size:12pt;letter-spacing:.20em;color:#8B202A;font-weight:700;padding:5px 13px;background:#F7F2EA;text-indent:0}
.df-label:before{content:'';position:absolute;left:6px;top:6px;right:-6px;bottom:-6px;background:#EDE3D2;z-index:-1}

.df-points p{font-size:10.5pt!important;line-height:2.0!important;margin:0 0 10px!important;color:#333!important;padding-left:1.4em;text-indent:-1.4em!important;text-align:left!important}
.df-dia{color:#9C6A25;font-weight:700;margin-right:.55em}

.df-b{font-size:12.5pt!important;line-height:2.0!important;margin:0 0 3px!important;color:#222!important;text-indent:2em!important;text-align:justify!important;letter-spacing:normal!important}
.df-sec{font-family:'Songti SC','SimSun','宋体',serif!important;font-size:16pt!important;font-weight:700!important;color:#222!important;margin:62px 0 22px!important;padding-bottom:12px!important;border-bottom:1px solid #E0D4BE!important;letter-spacing:.03em!important;text-indent:0!important;text-align:left!important;line-height:1.6!important}
.df-num{font-family:'Heiti SC','PingFang SC','SimHei',sans-serif;font-size:10.5pt;color:#9C6A25;letter-spacing:.12em;margin-right:1.1em;font-weight:400}

.df-verse{background:transparent!important;border-left:2px solid #DCCDB4!important;padding:4px 0 4px 22px!important;margin:32px 0!important;text-align:left!important;font-family:'STFangsong','FangSong','仿宋',serif!important;font-size:12.5pt!important;line-height:2.05!important;color:#3A3A3A!important;text-indent:0!important;letter-spacing:.02em!important}
.df-verse .df-stanza,.df-verse br{text-indent:0}
.df-stanza+.df-stanza{margin-top:16px}
.df-verse.df-center{background:transparent!important;border-left:0!important;padding:0!important;text-align:center!important;margin:10px 0 32px!important}

.df-quote{background:transparent!important;border-left:2px solid #DCCDB4!important;padding:4px 0 4px 22px!important;margin:32px 0!important;font-size:12pt!important;line-height:2.0!important;color:#3A3A3A!important;text-indent:0!important;text-align:justify!important;border-radius:0!important}
.df-quote p{text-indent:0!important;margin:0 0 6px!important}
.df-quote p:last-child{margin-bottom:0!important}
.df-note{background:#F7F2EA!important;padding:18px 24px!important;border:0!important;border-radius:2px!important;margin:14px 0 10px!important;font-size:12pt!important;line-height:2.0!important;color:#3A3A3A!important;text-align:justify!important;text-indent:2em!important}

.df-ending{margin:56px 0 0;border-top:0!important;padding-top:0!important}
.df-ending h2{font-family:'Songti SC','SimSun','宋体',serif!important;font-size:17pt!important;font-weight:700!important;margin:0 0 20px!important;color:#222!important;text-indent:0!important;line-height:1.6!important;letter-spacing:.02em!important}

.df-poem-head{text-align:center;margin:30px 0 10px}
.df-poem-head h2{font-family:'Songti SC','SimSun','宋体',serif!important;font-size:15pt!important;color:#8B202A!important;font-weight:700!important;margin:0 0 6px!important;text-indent:0!important;line-height:1.6!important}
.df-poem-head p{font-family:'Kaiti SC','KaiTi','楷体',serif!important;font-size:10pt!important;color:#7A7A7A!important;text-indent:0!important;text-align:center!important;margin:2px 0!important}
.df-poem-head .df-poem-author{margin-top:8px!important;color:#9C9C9C!important}
.df-date{text-align:right!important;font-size:10.5pt!important;color:#8A8A8A!important;margin:14px 0 0!important;text-indent:0!important}

.df-author{margin-top:68px;overflow:hidden}
.df-author-img{float:left;width:160px;max-width:40vw;height:auto;padding:5px;background:#fff;border:1px solid #DCCDB4!important;border-radius:0!important;margin:4px 24px 12px 0}
.df-author-name{font-family:'Songti SC','SimSun','宋体',serif!important;font-size:13pt!important;font-weight:700!important;margin:36px 0 10px!important;text-indent:0!important;line-height:1.6!important}
.df-author-bio{font-size:10.5pt!important;line-height:1.95!important;color:#555!important;text-indent:0!important;text-align:justify!important;margin:0 0 8px!important}
.df-clear{clear:both}

@media (max-width:600px){
  .wrap:has(.df-article){padding:0 20px 56px}
  .wrap:has(.df-article) .article-title{font-size:21pt!important}
  .df-article{font-size:12pt;line-height:1.95}
  .df-guest img{width:180px}
  .df-verse{padding-left:16px!important}
  .df-quote{padding-left:16px!important}
  .df-author-img{width:112px;margin-right:16px}
}



/* ===== 品牌：星位 / 已访索引 / 题签三点 ===== */
.df-coord{text-align:center!important;font-family:'Kaiti SC','KaiTi','楷体',serif!important;font-size:9.5pt!important;color:#9C6A25!important;letter-spacing:.14em!important;margin-top:8px!important;text-indent:0!important;line-height:1.7!important}
.df-index{margin:64px 0 0!important;padding-top:22px;border-top:1px solid #E0D4BE;display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-family:'Kaiti SC','KaiTi','楷体',serif;font-size:10pt;color:#7A7A7A;text-indent:0}
.df-index-label{font-family:'Heiti SC','PingFang SC','SimHei',sans-serif;font-size:9.5pt;color:#8B202A;letter-spacing:.18em}
.df-dot{width:6px;height:6px;border-radius:50%;background:#E6DAC6;display:inline-block;flex:none}
.df-dot.on{background:#9C6A25}
.df-index-name{color:#555;letter-spacing:.05em}
.wrap:has(.df-article) .article-title::before{
  background-image:radial-gradient(circle at center,#C9A063 1.4px,transparent 1.7px),radial-gradient(circle at center,#C9A063 1.4px,transparent 1.7px),radial-gradient(circle at center,#C9A063 1.4px,transparent 1.7px);
  background-size:4px 4px;
  background-position:calc(50% - 9px) 100%,50% 100%,calc(50% + 9px) 100%;
  background-repeat:no-repeat;
}



/* ===== 帽子整体进正文 ===== */
.wrap:has(.df-article) .article-title,.wrap:has(.df-article) .article-meta{display:none!important}
.df-hat{text-align:center;margin:0 0 6px}
.df-hat-kicker{font-family:'Heiti SC','PingFang SC','SimHei',sans-serif;font-size:10pt;font-weight:700;color:#8B202A;letter-spacing:.38em;line-height:1.6;padding-bottom:18px;border-bottom:1px solid #E0D4BE;background-image:radial-gradient(circle at center,#C9A063 1.4px,transparent 1.7px),radial-gradient(circle at center,#C9A063 1.4px,transparent 1.7px),radial-gradient(circle at center,#C9A063 1.4px,transparent 1.7px);background-size:4px 4px;background-position:calc(50% - 9px) 100%,50% 100%,calc(50% + 9px) 100%;background-repeat:no-repeat;text-indent:0}
.df-hat-title{font-family:'Songti SC','SimSun','宋体',serif!important;font-size:28pt!important;line-height:1.5!important;color:#8B202A!important;font-weight:700!important;letter-spacing:.03em!important;margin:36px 0 12px!important;text-indent:0!important;text-align:center!important}
.df-hat-sub{font-family:'Kaiti SC','KaiTi','楷体',serif!important;font-size:12.5pt!important;color:#6F6F6F!important;text-align:center!important;text-indent:0!important;margin:4px 0 2px!important}
.df-hat-by{font-family:'Kaiti SC','KaiTi','楷体',serif!important;font-size:10.5pt!important;color:#9C9C9C!important;letter-spacing:.04em!important;text-align:center!important;text-indent:0!important;margin:0!important}
.df-hat .df-guest{margin:24px 0 0}



/* 题签三点：真圆点（替换背景图） */
.df-hat-kicker{background-image:none!important;position:relative}
.df-kdots{position:absolute;left:50%;bottom:-2px;transform:translateX(-50%);display:flex;gap:9px;line-height:0;text-indent:0}
.df-kdots i{display:block;width:4px;height:4px;border-radius:50%;background:#C9A063}



/* 题签三点：外方内圆（替换背景图） */
.df-hat-kicker{background-image:none!important;position:relative}
.df-kdots{position:absolute;left:50%;bottom:-4px;transform:translateX(-50%);display:flex;gap:8px;line-height:0;text-indent:0}
.df-kdots i{display:block;width:7px;height:7px;border:1px solid #C9A063;background:transparent;position:relative;border-radius:0}
.df-kdots i:before{content:'';position:absolute;left:50%;top:50%;width:3px;height:3px;border-radius:50%;background:#C9A063;transform:translate(-50%,-50%)}




/* 题签三点：菱形（两实一空） */
.df-hat-kicker{border-bottom:0!important;background-image:none!important;position:relative}
.df-kdots{position:absolute;left:50%;bottom:-5px;transform:translateX(-50%);display:flex;align-items:center;gap:16px;background:#fff;padding:0 16px;line-height:0;text-indent:0;height:10px}
.df-kdots i{display:block!important;width:9px;height:9px;background:#E8DCC6;border:0;border-radius:0;transform:rotate(45deg)}
.df-kdots i:before{display:none!important}
.df-kdots i:nth-child(2){background:transparent;border:1px solid #E8DCC6}
.df-kdots svg{display:none!important}




/* 帽子去横线 */
.df-hat-kicker{border-bottom:0!important;background-image:none!important}
.df-hat-title,.df-hat-sub,.df-hat-by{border:0!important}




/* 图片说明居中 */
.df-points .img-caption,.df-article .img-caption{text-align:center!important;font-size:10.5pt!important;color:#8A8A8A!important;text-indent:0!important;margin:8px 0 0!important;line-height:1.6!important;display:block!important}




/* 菱形两端细线 */
.df-hat-kicker{border-bottom:0!important;background-image:linear-gradient(#E0D4BE,#E0D4BE),linear-gradient(#E0D4BE,#E0D4BE)!important;background-size:calc(50% - 55px) 1px,calc(50% - 55px) 1px!important;background-position:left bottom,right bottom!important;background-repeat:no-repeat!important}




/* 东访详情页：隐藏站点顶栏 */
body:has(.df-article) .top{display:none!important}
body:has(.df-article) .wrap{padding-top:80px!important}




/* 东访：提要线、标签加大、隐藏站点作者卡 */
.df-sum{border-bottom:1px solid #DCCDB4!important;padding-bottom:14px}
.df-sum .df-label,
.df-summary + .df-label-wrap .df-label{font-size:14pt!important;font-weight:800!important}
.wrap:has(.df-article) .author-card{display:none!important}




/* 东访：提要/编者按标签无衬线 */
.df-sum .df-label,
.df-summary + .df-label-wrap .df-label{font-family:'Noto Sans SC','PingFang SC','Microsoft YaHei',sans-serif!important;font-size:14pt!important;font-weight:700!important}


.df-article{text-align:left!important}
.df-summary{text-align:left!important}
