/* postnews 深流设计 - 公共样式 */
body { font-family: 'Inter', system-ui, -apple-system, sans-serif; background: #f8f9fa; color: #111827; margin: 0; padding: 0; }

/* 卡片悬停效果 */
.card-hover { transition: transform 0.3s ease, box-shadow 0.3s ease; }
.card-hover:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(0,0,0,0.08); }

/* 搜索弹窗 */
#searchOverlay { position: fixed; inset: 0; background-color: color-mix(in oklab, #b3d4fc 50%, transparent); z-index: 200; display: none; align-items: flex-start; justify-content: center; backdrop-filter: blur(4px); padding-top: 25vh; }
#searchOverlay.open { display: flex; }
#searchOverlay input { width: 100%; border: none; outline: none; font-size: 18px; background: transparent; }
#searchOverlay input::placeholder { color: #9ca3af; }

/* 移动端搜索弹窗 */
#searchOverlayM { position: fixed; inset: 0; background-color: color-mix(in oklab, #b3d4fc 50%, transparent); z-index: 200; display: none; align-items: flex-start; justify-content: center; backdrop-filter: blur(4px); padding-top: 80px; }
#searchOverlayM.open { display: flex; }

/* 幻灯片过渡效果 */
.slider-img { transition: opacity 0.6s ease; }

/* 快讯滚动动画 */
@keyframes tickerScroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.ticker-track { animation: tickerScroll 30s linear infinite; }
.ticker-wrap:hover .ticker-track { animation-play-state: paused; }

/* 文本裁剪 */
.line-clamp-1 { overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; }
.line-clamp-2 { overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }

/* 文章页正文 */
.article-body p { text-align: justify; line-height: 1.8; margin-bottom: 1.2em; font-size: 1rem; color: #374151; }
.article-body h2 { font-size: 1.5rem; font-weight: 700; margin-bottom: 0.6em; color: #111827; }
.article-body h3 { font-size: 1.25rem; font-weight: 600; margin-bottom: 0.5em; color: #111827; }
.article-body blockquote { border-left: 4px solid #3b82f6; padding-left: 1em; margin-bottom: 1.2em; color: #6b7280; font-style: italic; }
.article-body ul, .article-body ol { padding-left: 1.5em; margin-bottom: 1.2em; color: #374151; line-height: 1.8; }
.article-body li { margin-bottom: 0.3em; }
.article-body img { margin: 1.5em 0; width: 100%; }
.article-body a { color: #3b82f6; text-decoration: underline; }

/* 作者弹出卡 */
.author-popup { display: none; position: absolute; top: 100%; left: 0; z-index: 50; padding-top: 8px; }
.author-trigger:hover .author-popup { display: block; }

/* 标题字体 (匹配 news-1 text-098) */
.lucency-title { font-size: 0.98rem; }

/* 海报弹窗 */
.poster-modal { position: fixed; left: 0; right: 0; top: 0; bottom: 0; z-index: 99999; background: rgba(0,0,0,0.5); display: flex; align-items: center; justify-content: center; backdrop-filter: blur(4px); visibility: hidden; opacity: 0; pointer-events: none; transition: opacity .2s,visibility .2s; }
.poster-modal.show { visibility: visible; opacity: 1; pointer-events: auto; }
.poster-content { position: relative; z-index: 100000; }
.poster-preview { background: #fff; box-shadow: 0 2px 12px rgba(0,0,0,.06); width: 380px; max-width: 100%; border-radius: 12px; border: 1px solid #e5e7eb; margin-bottom: 16px; overflow: hidden; display: flex; flex-direction: column; }
.poster-thumb-wrap { width: 100%; height: 200px; overflow: hidden; border-radius: 12px 12px 0 0; flex-shrink: 0; }
.poster-thumb-wrap img { width: 100%; height: 100%; object-fit: cover; display: block; }
.poster-info { padding: 16px 18px 12px; flex: 1; display: flex; flex-direction: column; overflow: hidden; }
.poster-info-title { font-weight: 700; font-size: 17px; line-height: 1.35; color: #111827; margin-bottom: 4px; overflow-wrap: break-word; }
.poster-info-desc { font-size: 12px; line-height: 1.6; color: #6b7280; margin-bottom: 8px; overflow-wrap: break-word; max-height: 58px; overflow: hidden; }
.poster-info-meta { font-size: 11px; color: #9ca3af; margin-bottom: 0; padding-bottom: 8px; border-bottom: 1px solid #e5e7eb; }
.poster-qrcode-wrap { padding-top: 0; display: flex; flex-direction: column; align-items: center; margin-top: auto; }
.poster-qrcode-text { font-size: 10px; color: #9ca3af; margin: 4px 0 6px; }
.poster-btn-row { display: flex; gap: 8px; flex-direction: row-reverse; }
.poster-download-btn { flex: 1; padding: 9px 0; background: #3b82f6; color: #fff; border: none; border-radius: 8px; font-size: 13px; cursor: pointer; font-weight: 500; transition: background .15s; }
.poster-download-btn:hover { background: #2563eb; }
.poster-close-btn { flex: 1; padding: 9px 0; background: #f3f4f6; color: #374151; border: none; border-radius: 8px; font-size: 13px; cursor: pointer; font-weight: 500; transition: background .15s; }
.poster-close-btn:hover { background: #e5e7eb; }

