/* ============================================
   诗词通典 /poet/ 板块公共样式（2026-09-03）
   设计法则：零线条优先 — 卡片纯背景色分层（--bg-card/--bg-tertiary/--bg-surface），
   hover 靠背景加深/淡绿底表达层级；仅输入框、必要分隔保留最小线条。
   引用：poet/ 5 个模板 + _header.htm（删模板内 <style>，统一 <link poet.css>）
   ============================================ */

/* ===== 1. 公共基础 ===== */
body.poet-page .pt-main { max-width: 1080px; margin: 0 auto; padding: 0 16px 40px; }
body.poet-page .pt-main-narrow { max-width: 900px; margin: 0 auto; padding: 0 16px 40px; }

/* 面包屑：纯文字层级，零线条 */
.pt-crumb { font-size: 13px; color: var(--text-muted); padding: 14px 0 2px; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.pt-crumb a { color: var(--text-muted); text-decoration: none; }
.pt-crumb a:hover { color: var(--accent); }
.pt-crumb-sep { color: var(--text-dim); user-select: none; }
.pt-crumb-cur { color: var(--text-secondary); font-weight: 600; }

/* 板块小标题（图标 + 文字 + 右侧更多） */
.pt-sec-title { display: flex; align-items: center; gap: 10px; font-size: 18px; font-weight: 700; color: var(--text-primary); margin: 38px 0 16px; }
.pt-sec-title i { color: var(--accent); font-size: 16px; }
.pt-sec-title a.pt-sec-more { margin-left: auto; font-size: 13px; font-weight: 500; color: var(--text-muted); text-decoration: none; }
.pt-sec-title a.pt-sec-more:hover { color: var(--accent); }
/* 作品全集标题内嵌小字计数（原「本站收录 N 首」独立行已并入标题；数字 accent 强调、文字 muted 低权重） */
.pt-sec-count { font-size: 12.5px; font-weight: 500; color: var(--text-muted); font-variant-numeric: tabular-nums; }
.pt-sec-count b { font-weight: 700; color: var(--accent); }

/* 朝代/计数徽章：背景分层胶囊，无边框 */
.pt-badge-dynasty { display: inline-block; vertical-align: middle; font-size: 12.5px; font-weight: 600; color: var(--accent); background: rgba(var(--accent-rgb,34,197,94),.13); padding: 2px 10px; border-radius: var(--radius-full); line-height: 1.6; }
.pt-badge-count { display: inline-block; vertical-align: middle; font-size: 12.5px; font-weight: 600; color: var(--text-secondary); background: var(--bg-tertiary); padding: 2px 10px; border-radius: var(--radius-full); line-height: 1.6; }

/* SEO 底部文本：独立背景块替代上边线 */
.pt-seo-text { margin-top: 44px; background: var(--bg-surface); border-radius: var(--radius-lg); padding: 20px 24px; font-size: 13px; color: var(--text-dim); line-height: 2.1; }
.pt-seo-text a { color: var(--text-muted); text-decoration: none; }
.pt-seo-text a:hover { color: var(--accent); }
.pt-seo-text p { margin: 0; }
.pt-seo-text p + p { margin-top: 10px; }

.pt-loading { text-align: center; color: var(--text-muted); font-size: 13px; padding: 20px 0; }

/* ===== 2. 顶栏（_header.htm 专用） ===== */
.pt-topbar-wrap { position: sticky; top: 0; z-index: 900; background: var(--bg-secondary); }
.pt-topbar { max-width: 1200px; margin: 0 auto; display: flex; align-items: center; gap: 12px; padding: 0 16px; height: 52px; }
.pt-topbar-left { display: flex; align-items: center; gap: 8px; flex-shrink: 0; min-width: 0; }
.pt-topbar-logo { text-decoration: none; flex-shrink: 0; }
.pt-topbar-logo-text { font-size: 20px; font-weight: 700; color: var(--text-secondary); letter-spacing: -0.5px; }
.pt-topbar-logo-num { font-variant-numeric: tabular-nums; }
.pt-topbar-sep { color: var(--text-dim); font-size: 12px; user-select: none; }
.pt-topbar-tool-name { font-size: 14px; color: var(--text-secondary); text-decoration: none; white-space: nowrap; transition: color .2s; font-weight: 600; }
.pt-topbar-tool-name:hover { color: var(--accent); }
.pt-topbar-nav { display: flex; align-items: center; gap: 2px; margin-left: 6px; }
.pt-topbar-nav-link { font-size: 13.5px; color: var(--text-secondary); text-decoration: none; white-space: nowrap; padding: 5px 10px; border-radius: var(--radius-full); transition: all .15s; }
.pt-topbar-nav-link:hover { color: var(--accent); background: var(--bg-tertiary); }
.pt-topbar-nav-link.pt-on { color: var(--accent); background: rgba(var(--accent-rgb,34,197,94),.13); font-weight: 600; }

/* 桌面搜索胶囊：背景分层可输入区（light 需微边线保证可识别） */
.pt-topbar-search { flex: 1; max-width: 400px; margin: 0 8px 0 auto; }
.pt-topbar-search form { margin: 0; display: flex; align-items: center; }
.pt-search-input-wrap { display: flex; align-items: center; background: var(--bg-tertiary); border-radius: var(--radius-full); transition: background .2s; flex: 1; min-width: 0; }
.pt-search-input-wrap:focus-within { background: var(--bg-hover, var(--bg-tertiary)); }
.pt-search-input { flex: 1; min-width: 0; border: none; background: transparent; padding: 7px 4px 7px 14px; font-size: 13.5px; color: var(--text-primary); outline: none; }
.pt-search-input::placeholder { color: var(--text-dim); }
.pt-search-submit { background: none; border: none; color: var(--text-muted); padding: 7px 13px; font-size: 13px; cursor: pointer; transition: color .15s; flex-shrink: 0; }
.pt-search-submit:hover { color: var(--accent); }
html.light .pt-search-input-wrap { background: #d9d3c8; border: 1px solid rgba(0,0,0,.08); }
html.light .pt-search-input-wrap:focus-within { background: #ffffff; border-color: var(--accent, #1b6b3a); box-shadow: 0 0 0 2px rgba(27,107,58,.22); }
html.light .pt-search-input { background: transparent !important; }

/* 右侧按钮 */
.pt-topbar-right { display: flex; align-items: center; gap: 6px; flex-shrink: 0; }
.pt-topbar-btn { display: inline-flex; align-items: center; gap: 6px; justify-content: center; height: 38px; padding: 0 14px; border-radius: var(--radius-full); border: none; background: transparent; color: var(--text-secondary); font-size: 14px; cursor: pointer; transition: all .15s; text-decoration: none; white-space: nowrap; }
.pt-topbar-btn:hover { background: var(--bg-tertiary); color: var(--accent); }
.pt-topbar-btn i { font-size: 14px; }
.pt-search-mobile-trigger { display: none; }

/* 移动端搜索遮罩 */
.pt-mobile-search-overlay { display: none; position: fixed; inset: 0; z-index: 1000; background: rgba(0,0,0,.5); }
.pt-mobile-search-overlay.active { display: flex; align-items: flex-start; justify-content: center; padding-top: 80px; }
.pt-mobile-search-bar { width: 90%; max-width: 480px; background: var(--bg-secondary); border-radius: var(--radius-lg); padding: 12px; box-shadow: 0 8px 32px rgba(0,0,0,.2); }
.pt-mobile-search-inner { display: flex; align-items: center; gap: 6px; }
.pt-mobile-search-inner input { flex: 1; border: none; background: var(--bg-card); border-radius: var(--radius-full); padding: 10px 16px; font-size: 15px; color: var(--text-primary); outline: none; }
.pt-mobile-search-submit { background: none; border: none; color: var(--text-muted); font-size: 16px; cursor: pointer; padding: 8px; flex-shrink: 0; }
.pt-mobile-search-submit:hover { color: var(--accent); }
.pt-mobile-search-close { background: none; border: none; color: var(--text-muted); font-size: 18px; cursor: pointer; padding: 8px; }
/* ===== 3. 首页 /poet/ ===== */
/* hero：无大搜索框（唯一搜索入口 = 顶栏），文案居中 */
.pt-hero { text-align: center; padding: 38px 0 6px; }
.pt-hero h1 { font-size: clamp(1.5rem, 3.4vw, 2.1rem); font-weight: 700; color: var(--text-primary); margin-bottom: 10px; }
.pt-hero h1 em { font-style: normal; color: var(--accent); }
.pt-hero p { font-size: 14px; color: var(--text-muted); margin: 0 auto; max-width: 640px; line-height: 1.9; }
.pt-hero-hotwords { margin-top: 14px; font-size: 13px; color: var(--text-dim); }
.pt-hero-hotwords a { color: var(--text-muted); text-decoration: none; margin: 0 4px; transition: color .13s; }
.pt-hero-hotwords a:hover { color: var(--accent); }

/* 每日一诗人卡（2026-09-03 v2：纯背景分层无渐变，信息层级 = 名字 > 金句 > 简介） */
.pt-today { margin-top: 26px; }
.pt-today-card { background: var(--bg-card); border-radius: var(--radius-lg); padding: 22px 24px; }
.pt-today-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; gap: 10px; }
.pt-today-label { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 700; color: var(--accent); background: rgba(var(--accent-rgb,34,197,94),.12); padding: 5px 13px; border-radius: var(--radius-full); letter-spacing: .3px; }
.pt-today-refresh { background: var(--bg-tertiary); color: var(--text-secondary); border: none; border-radius: var(--radius-full); padding: 7px 15px; font-size: 13px; cursor: pointer; transition: all .15s; }
.pt-today-refresh:hover { color: var(--accent); background: rgba(var(--accent-rgb,34,197,94),.15); }
.pt-today-body { display: flex; flex-direction: column; gap: 10px; }
/* 名字行：诗人名 + 朝代 + 篇数 单行排布 */
.pt-today-name-line { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.pt-today-name { font-size: 28px; font-weight: 700; color: var(--text-primary); text-decoration: none; line-height: 1.3; }
.pt-today-name:hover { color: var(--accent); }
.pt-today-name-line .pt-badge-dynasty { font-size: 12.5px; padding: 3px 12px; }
.pt-today-name-line .pt-badge-count { padding: 3px 12px; }
/* 简介固定两行截断：换一位时卡片高度不跳 */
.pt-today-bio { font-size: 13.5px; color: var(--text-muted); line-height: 1.75; margin: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: calc(2 * 1.75 * 13.5px); }
/* 金句：引号强调句，背景分层（bg-tertiary 提一层），不用竖线（2026-09-03 v3：智能提取 5~34 字完整句，不再整段硬截断） */
.pt-today-quote { font-size: 15.5px; color: var(--text-primary); line-height: 1.9; background: var(--bg-tertiary); border-radius: var(--radius); padding: 12px 18px; margin: 0; }
.pt-today-quote-src { font-size: 12.5px; color: var(--text-muted); margin-left: 6px; }
/* 底部行动区：右对齐收尾；名字本身就是全集主入口，实底大按钮重复抢视觉 → 降为两条次级文字链 */
.pt-today-actions { display: flex; align-items: center; justify-content: flex-end; gap: 18px; margin-top: 8px; flex-wrap: wrap; }
.pt-today-btn-main { display: inline-flex; align-items: center; gap: 5px; color: var(--text-secondary); text-decoration: none; font-size: 13.5px; font-weight: 600; padding: 4px 2px; border-radius: 6px; transition: color .15s; }
.pt-today-btn-main:hover { color: var(--accent); }
.pt-today-btn-ghost { display: inline-flex; align-items: center; gap: 5px; color: var(--text-muted); text-decoration: none; font-size: 13px; padding: 4px 2px; border-radius: 6px; transition: color .15s; }
.pt-today-btn-ghost:hover { color: var(--accent); }

/* 内容库入口 4 卡 */
.pt-lib-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.pt-lib-card { display: flex; flex-direction: column; gap: 7px; background: var(--bg-card); border-radius: var(--radius-lg); padding: 22px 20px; text-decoration: none; transition: all .18s; }
.pt-lib-card:hover { transform: translateY(-2px); background: var(--bg-card-hover); }
.pt-lib-name { font-size: 17px; font-weight: 700; color: var(--text-primary); }
.pt-lib-count { font-size: 24px; font-weight: 700; color: var(--accent); font-variant-numeric: tabular-nums; }
.pt-lib-count small { font-size: 13px; font-weight: 500; color: var(--text-muted); margin-left: 4px; }
.pt-lib-desc { font-size: 12.5px; color: var(--text-muted); line-height: 1.6; }

/* 热门双榜：两面板背景分层（bg-card / bg-tertiary 对置区分） */
.pt-hot-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.pt-hot-panel { background: var(--bg-card); border-radius: var(--radius-lg); padding: 6px 12px 12px; }
.pt-hot-panel:nth-child(2) { background: var(--bg-tertiary); }
.pt-hot-panel h3 { font-size: 14.5px; font-weight: 700; color: var(--text-secondary); padding: 12px 10px 8px; margin: 0; display: flex; align-items: center; gap: 8px; }
.pt-hot-panel h3 i { color: var(--accent); font-size: 13px; }
.pt-hot-item { display: flex; align-items: center; gap: 10px; padding: 7px 10px; border-radius: var(--radius); text-decoration: none; transition: background .12s; }
.pt-hot-item:hover { background: var(--bg-hover); }
.pt-hot-rank { width: 22px; height: 22px; border-radius: 7px; background: var(--bg-tertiary); color: var(--text-muted); font-size: 12.5px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; font-variant-numeric: tabular-nums; }
.pt-hot-panel:nth-child(2) .pt-hot-rank { background: var(--bg-secondary); }
.pt-hot-rank.top { background: rgba(var(--accent-rgb,34,197,94),.18); color: var(--accent); }
.pt-hot-name { flex: 1; min-width: 0; font-size: 14px; color: var(--text-primary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pt-hot-count { font-size: 12px; color: var(--text-dim); flex-shrink: 0; }

/* 精选诗人 12 卡 */
.pt-feat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.pt-feat-card { display: flex; flex-direction: column; gap: 7px; background: var(--bg-card); border-radius: var(--radius); padding: 16px 16px 13px; text-decoration: none; transition: all .16s; }
.pt-feat-card:hover { transform: translateY(-2px); background: var(--bg-card-hover); }
.pt-feat-top { display: flex; align-items: center; gap: 6px; }
.pt-feat-name { font-size: 16.5px; font-weight: 700; color: var(--text-primary); }
.pt-feat-card:hover .pt-feat-name { color: var(--accent); }
.pt-feat-card .pt-badge-dynasty { font-size: 11.5px; padding: 1px 8px; }
.pt-feat-bio { font-size: 12.5px; color: var(--text-muted); line-height: 1.65; margin: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 41px; }
.pt-feat-count { font-size: 12px; color: var(--accent); font-weight: 600; }

/* ===== 4. 内容库页 /poet/{kind}.html（诗人模式） ===== */
.pt-kind-hero { padding: 14px 0 2px; }
.pt-kind-hero h1 { font-size: clamp(1.4rem, 3vw, 1.9rem); font-weight: 700; color: var(--text-primary); margin: 0 0 8px; }
.pt-kind-hero h1 em { font-style: normal; color: var(--accent); }
.pt-kind-stats { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; font-size: 13.5px; color: var(--text-secondary); }
.pt-kind-stats .stat { display: inline-flex; align-items: baseline; gap: 6px; background: var(--bg-tertiary); border-radius: var(--radius-full); padding: 6px 15px; }
.pt-kind-stats .stat b { font-size: 16px; color: var(--accent); font-variant-numeric: tabular-nums; }
.pt-kind-hero p { font-size: 13.5px; color: var(--text-muted); line-height: 1.9; margin: 12px 0 0; max-width: 760px; }

/* 诗人网格卡：纯背景分层 */
.pt-kind-list { margin-top: 18px; display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 10px; }
.pt-kind-item { display: flex; align-items: center; gap: 8px; background: var(--bg-card); border-radius: var(--radius); padding: 11px 14px; text-decoration: none; transition: all .14s; }
.pt-kind-item:hover { background: var(--bg-card-hover); }
.pt-kind-item:hover .pt-kind-name { color: var(--accent); }
.pt-kind-name { font-size: 14.5px; font-weight: 600; color: var(--text-primary); flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pt-kind-dynasty { font-size: 11.5px; color: var(--text-muted); background: var(--bg-surface); padding: 2px 8px; border-radius: var(--radius-full); flex-shrink: 0; }
.pt-kind-count { font-size: 12px; color: var(--accent); font-weight: 600; flex-shrink: 0; font-variant-numeric: tabular-nums; }

/* 千诗人折叠（details 原生，SEO 无损——全部诗人仍在 HTML 中） */
.pt-kind-more { margin-top: 14px; }
.pt-kind-more > summary { list-style: none; cursor: pointer; user-select: none; display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; padding: 12px; background: var(--bg-card); color: var(--text-secondary); font-size: 14px; font-weight: 600; border-radius: var(--radius); transition: all .15s; }
.pt-kind-more > summary::-webkit-details-marker { display: none; }
.pt-kind-more > summary:hover { color: var(--accent); background: var(--bg-card-hover); }
.pt-kind-more > summary i { font-size: 12px; transition: transform .2s; color: var(--text-dim); }
.pt-kind-more[open] > summary { margin-bottom: 12px; }
.pt-kind-more[open] > summary i { transform: rotate(180deg); }
.pt-kind-more .pt-kind-list { margin-top: 10px; }

/* ===== 5. 诗经目录模式 kind_mode=poems ===== */
.pt-sj-list { margin-top: 18px; display: flex; flex-direction: column; gap: 14px; }
.pt-sj-section { background: var(--bg-card); border-radius: var(--radius-lg); padding: 18px 20px; }
.pt-sj-head { display: flex; align-items: baseline; gap: 10px; margin-bottom: 6px; }
.pt-sj-name { font-size: 17px; font-weight: 700; color: var(--text-primary); }
.pt-sj-name em { font-style: normal; color: var(--accent); }
.pt-sj-count { font-size: 12.5px; color: var(--text-muted); background: var(--bg-tertiary); padding: 2px 10px; border-radius: var(--radius-full); }
.pt-sj-desc { font-size: 12.5px; color: var(--text-dim); margin: 0 0 12px; line-height: 1.8; }
.pt-sj-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.pt-sj-item { display: inline-flex; align-items: baseline; gap: 6px; background: var(--bg-tertiary); border-radius: var(--radius-full); padding: 6px 14px; font-size: 13.5px; color: var(--text-primary); text-decoration: none; cursor: pointer; font-family: inherit; transition: all .13s; }
.pt-sj-item:hover { background: rgba(var(--accent-rgb,34,197,94),.16); color: var(--accent); }
.pt-sj-idx { font-size: 11px; color: var(--text-dim); font-variant-numeric: tabular-nums; }

/* ===== 6. 诗人详情页 /poet/{name}.html ===== */
.pt-detail-hero { padding: 14px 0 2px; }
.pt-detail-hero h1 { font-size: clamp(1.6rem, 4vw, 2.2rem); font-weight: 700; color: var(--text-primary); margin: 0 0 10px; display: flex; align-items: center; flex-wrap: wrap; gap: 4px; }
.pt-detail-hero h1 .pt-badge-dynasty { margin-left: 10px; font-size: 13px; padding: 3px 12px; }
.pt-detail-bio { background: var(--bg-card); border-radius: var(--radius-lg); padding: 18px 22px; font-size: 14.5px; color: var(--text-secondary); line-height: 2; margin: 10px 0 2px; }

/* 名句：逐条背景分层（bg-card 内嵌 bg-tertiary 小卡，零分隔线） */
.pt-quote-list { display: flex; flex-direction: column; gap: 8px; background: var(--bg-card); border-radius: var(--radius-lg); padding: 14px; }
.pt-quote-item { font-size: 14.5px; color: var(--text-primary); line-height: 1.9; background: var(--bg-tertiary); border-radius: var(--radius); padding: 10px 16px; }
.pt-quote-src { font-size: 12.5px; color: var(--text-muted); margin-left: 8px; }

/* 作品分组：每组一个背景卡（bg-card），组头 = 库名 + 计数徽章 + 折叠按钮，内部胶囊流 */
.pt-poem-group { background: var(--bg-card); border-radius: var(--radius-lg); padding: 4px 18px 16px; margin-bottom: 14px; }
.pt-poem-group-head { display: flex; align-items: center; gap: 8px; font-size: 14.5px; font-weight: 700; color: var(--text-primary); padding: 13px 0 10px; }
.pt-poem-group-head i { color: var(--accent); font-size: 13px; }
.pt-poem-group-count { font-size: 12.5px; font-weight: 600; color: var(--text-muted); background: var(--bg-tertiary); padding: 3px 11px; border-radius: var(--radius-full); font-variant-numeric: tabular-nums; }
.pt-poem-more { margin-left: auto; background: var(--bg-tertiary); color: var(--text-secondary); border: none; border-radius: var(--radius-full); padding: 6px 15px; font-size: 12.5px; font-weight: 600; cursor: pointer; transition: all .15s; white-space: nowrap; }
.pt-poem-more:hover { background: rgba(var(--accent-rgb,34,197,94),.16); color: var(--accent); }
.pt-poem-list { display: flex; flex-wrap: wrap; gap: 8px; }
.pt-poem-item { display: inline-flex; align-items: center; gap: 6px; background: var(--bg-tertiary); border: none; border-radius: var(--radius-full); padding: 7px 15px; font-size: 13.5px; color: var(--text-primary); text-decoration: none; cursor: pointer; font-family: inherit; transition: all .13s; max-width: 100%; }
.pt-poem-item:hover { background: rgba(var(--accent-rgb,34,197,94),.16); color: var(--accent); }
.pt-poem-item i { font-size: 11px; color: var(--text-dim); }
.pt-poem-item:hover i { color: var(--accent); }
.pt-poem-title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 320px; }
.pt-poem-item.pt-fold-hidden { display: none; }
/* 单库诗人：无组头（总数已入「作品全集」标题小字），卡片顶部直接接按钮流 */
.pt-poem-group.pt-single { padding-top: 14px; }
/* 单库诗人折叠按钮：列表底部居中（非 flex 容器内，须块级+fit-content 才能 margin 居中） */
.pt-poem-more.pt-poem-more-bottom { display: block; width: fit-content; margin: 12px auto 0; }
.pt-poem-empty { font-size: 13.5px; color: var(--text-muted); padding: 6px 4px; }

/* 同朝诗人 */
.pt-peer-list { display: flex; flex-wrap: wrap; gap: 8px; }
.pt-peer-item { display: inline-flex; align-items: center; gap: 8px; background: var(--bg-tertiary); border-radius: var(--radius-full); padding: 7px 16px; font-size: 13.5px; color: var(--text-primary); text-decoration: none; transition: all .13s; }
.pt-peer-item:hover { background: rgba(var(--accent-rgb,34,197,94),.16); color: var(--accent); }
.pt-peer-count { font-size: 12px; color: var(--text-dim); }
/* ===== 7. 板块搜索页 /poet/search/ ===== */
.pt-search-hero { text-align: center; padding: 30px 0 6px; }
.pt-search-hero h1 { font-size: clamp(1.3rem, 3vw, 1.8rem); font-weight: 700; color: var(--text-primary); margin-bottom: 8px; }
.pt-search-hero h1 em { font-style: normal; color: var(--accent); }
.pt-search-hero p { font-size: 13.5px; color: var(--text-muted); margin: 0 auto; max-width: 560px; line-height: 1.9; }
.pt-rs-group { font-size: 14px; font-weight: 700; color: var(--text-secondary); margin: 26px 0 12px; display: flex; align-items: center; gap: 8px; }
.pt-rs-group i { color: var(--accent); font-size: 13px; }
.pt-rs-count { font-size: 12px; color: var(--text-dim); font-weight: 500; }
.pt-rs-poets { display: flex; flex-direction: column; gap: 8px; }
.ps-poet-item { display: flex; align-items: center; gap: 12px; background: var(--bg-card); border-radius: var(--radius); padding: 13px 18px; text-decoration: none; transition: all .15s; }
.ps-poet-item:hover { background: var(--bg-card-hover); }
.ps-poet-main { display: flex; align-items: center; min-width: 0; }
.ps-poet-name { font-size: 16px; font-weight: 700; color: var(--text-primary); }
.ps-poet-item:hover .ps-poet-name { color: var(--accent); }
.ps-poet-item .pt-badge-dynasty { margin-left: 8px; font-size: 11.5px; padding: 1px 9px; }
.ps-poet-bio { flex: 1; min-width: 0; font-size: 12.5px; color: var(--text-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ps-poet-count { flex-shrink: 0; font-size: 13px; color: var(--accent); font-weight: 600; }
/* 作品行（②诗题 / ③诗句共用）：左诗题（配对书站=原文外链；未配对=弹窗看全诗）、右作者（可点直达全集）、下命中诗句摘要 */
.ps-poem-item { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 14px; background: var(--bg-tertiary); border-radius: var(--radius); padding: 10px 16px; font-size: 14px; margin: 0 0 6px; }
.ps-poem-title-wrap { flex: 1; min-width: 0; display: inline-flex; align-items: center; }
.ps-poem-title { display: inline-flex; align-items: center; gap: 6px; min-width: 0; max-width: 100%; background: none; border: none; padding: 0; font-size: 14px; font-weight: 600; color: var(--text-primary); cursor: pointer; font-family: inherit; text-decoration: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; transition: color .13s; }
a.ps-poem-title:hover, button.ps-poem-title:hover { color: var(--accent); }
.ps-poem-title i { font-size: 11px; color: var(--text-dim); flex-shrink: 0; }
.ps-poem-title:hover i { color: var(--accent); }
.ps-poem-author { display: inline-flex; align-items: center; gap: 5px; flex-shrink: 0; font-size: 12.5px; color: var(--text-muted); text-decoration: none; transition: color .13s; }
a.ps-poem-author:hover { color: var(--accent); }
.ps-poem-author i { font-size: 10px; }
.ps-poem-author.plain { cursor: default; }
.ps-poem-line { flex-basis: 100%; font-size: 12.5px; color: var(--text-secondary); line-height: 1.7; }

/* 空态 / 推荐 */
.pt-rs-empty { text-align: center; color: var(--text-secondary); font-size: 14.5px; padding: 40px 0 10px; line-height: 1.9; }
.pt-rs-empty .fz { font-size: 32px; display: block; margin-bottom: 8px; opacity: .45; }
.pt-rs-tip { font-size: 13px; color: var(--text-dim); margin-top: 4px; }
.pt-rs-suggest { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 22px 0 6px; }
.pt-rs-suggest a { font-size: 13.5px; color: var(--text-primary); text-decoration: none; background: var(--bg-tertiary); border-radius: var(--radius-full); padding: 8px 18px; transition: all .14s; }
.pt-rs-suggest a:hover { background: rgba(var(--accent-rgb,34,197,94),.16); color: var(--accent); }

/* ===== 8. 全诗弹窗（结构同 hanzi word.htm poem-modal） ===== */
.poem-modal-mask { position: fixed; inset: 0; z-index: 1200; background: rgba(0,0,0,.55); display: flex; align-items: center; justify-content: center; padding: 20px; }
/* 必须显式覆盖 display:flex——否则 [hidden] 属性被类样式盖掉，页面加载即弹空浮层且关不掉（同 hanzi word.htm 的坑） */
.poem-modal-mask[hidden] { display: none; }
.poem-modal { position: relative; background: var(--bg-card); border-radius: var(--radius-lg); max-width: 640px; width: 100%; max-height: 82vh; overflow-y: auto; padding: 26px 28px 30px; box-shadow: 0 12px 48px rgba(0,0,0,.3); }
.poem-modal-close { position: absolute; top: 10px; right: 12px; background: none; border: none; color: var(--text-muted); font-size: 20px; cursor: pointer; padding: 6px 10px; border-radius: 8px; line-height: 1; }
.poem-modal-close:hover { color: var(--accent); background: var(--bg-surface); }
.pm-title { font-size: 19px; font-weight: 700; color: var(--text-primary); margin-bottom: 4px; }
.pm-author { font-size: 13px; color: var(--accent); font-weight: 600; margin-bottom: 16px; }
.pm-content { font-size: 15px; color: var(--text-secondary); line-height: 2.1; white-space: pre-line; }
.pm-book-link { display: inline-block; margin-top: 18px; font-size: 13px; color: var(--accent); text-decoration: none; background: rgba(var(--accent-rgb,34,197,94),.13); border-radius: var(--radius-full); padding: 7px 16px; transition: all .15s; }
.pm-book-link:hover { background: var(--accent); color: #fff; }
.pm-loading { text-align: center; color: var(--text-muted); padding: 30px 0; font-size: 14px; }

/* ===== 9. 响应式 ===== */
@media (max-width: 900px) {
  .pt-topbar-nav { display: none; }
  .pt-feat-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 768px) {
  .pt-topbar-search { display: none; }
  .pt-topbar-sep { display: none; }
  .pt-search-mobile-trigger { display: inline-flex; }
  .pt-topbar-btn span { display: none; }
  .pt-topbar { padding: 0 12px; gap: 8px; min-height: 50px; height: auto; flex-wrap: wrap; }
  .pt-topbar-left { gap: 5px; }
  .pt-topbar-right { margin-left: auto; gap: 6px; }
  .pt-topbar-btn { padding: 0 10px; min-width: 40px; height: 36px; }
  .pt-topbar-btn i { font-size: 18px; color: var(--text-primary); }
  .pt-topbar-btn:active i { color: var(--accent); }
  /* 移动端第二行：内容库快捷导航（横向滚动，无滚动条） */
  .pt-topbar-nav { display: flex; order: 3; width: 100%; gap: 4px; margin: 0; padding: 0 0 8px; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .pt-topbar-nav::-webkit-scrollbar { display: none; }
  .pt-topbar-nav-link { font-size: 13px; padding: 6px 12px; color: var(--text-muted); white-space: nowrap; }
  .pt-topbar-nav-link.pt-on { color: var(--accent); }
  .pt-lib-grid { grid-template-columns: 1fr; }
  .pt-hot-grid { grid-template-columns: 1fr; }
  .pt-hero { padding-top: 28px; }
}
@media (max-width: 620px) {
  .pt-feat-grid { grid-template-columns: repeat(2, 1fr); }
  .pt-today-card { padding: 18px 16px; }
  .pt-today-name { font-size: 26px; }
}
@media (max-width: 480px) {
  .pt-topbar { padding: 0 8px; gap: 6px; }
  .pt-topbar-btn { padding: 0 6px; min-width: 32px; height: 34px; }
  .pt-topbar-btn i { font-size: 17px; }
  .pt-topbar-tool-name { flex-shrink: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 38vw; }
  .pt-seo-text { padding: 16px 16px; }
}
@media (max-width: 360px) {
  .pt-topbar { min-height: 48px; height: auto; }
  .pt-topbar-logo-text { font-size: 16px; }
}
@media (max-width: 640px) {
  .pt-poem-title { max-width: 220px; }
  .poem-modal { padding: 20px 18px 24px; }
}