/* 诗文列表：保留原单列阅读卡片，与名句页统一筛选和阅读细节。 */
.poems-page .list-header { display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid rgba(0, 0, 0, 0.06); gap: 16px; padding-bottom: 14px; margin-bottom: 16px; }
.poems-page .list-title { font-family: var(--font-serif); font-weight: 600; color: #2C2C2C; display: flex; align-items: center; gap: 0.5rem; font-size: 22px; line-height: 1.5; letter-spacing: .05em; }
.poems-page .list-title::before { color: rgba(192, 72, 81, 0.4); font-size: 0.75rem; content: none; }
.poems-page .list-count { font-size: 0.75rem; align-items: center; gap: 0.5rem; display: inline; color: #777; white-space: nowrap; }
.poems-page .list-count::before { width: 40px; height: 1px; background: linear-gradient(to left, rgba(192, 72, 81, 0.3), transparent); content: none; }
.poems-page .list-count span { color: #C04851; margin: 0 4px; font-variant-numeric: tabular-nums; }
.poems-page .poem-card { background: #fff; border-radius: 8px; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04); transition: box-shadow 0.25s ease; padding: 20px 24px 16px; margin-bottom: 16px; }
.poems-page .poem-card:hover { box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); }
.poems-page .poem-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 12px; }
.poems-page .poem-title { font-family: var(--font-serif); font-weight: 600; color: #2C2C2C; font-size: 20px; line-height: 1.5; margin-bottom: 5px; overflow-wrap: anywhere; }
.poems-page .poem-title a:hover { color: #C04851; }
.poems-page .poem-meta { color: #777; font-size: 13px; line-height: 1.8; }
.poems-page .poem-meta a:hover { color: #C04851; }
.poems-page .poem-tags { display: flex; gap: 0.375rem; flex-wrap: wrap; max-width: 45%; justify-content: flex-end; }
.poems-page .poem-tag { font-size: 0.6875rem; color: #888; padding: 0.15rem 0.4rem; background: rgba(0, 0, 0, 0.03); border-radius: 3px; transition: all 0.25s ease; }
.poems-page .poem-tag:hover { color: #C04851; background: rgba(192, 72, 81, 0.06); }
.poems-page .poem-content { font-family: var(--font-serif); letter-spacing: 0.02em; font-size: 17px; line-height: 1.9; color: var(--color-text); overflow-wrap: anywhere; }
.poems-page .poem-tools { display: flex; margin-top: 0.75rem; padding-top: 0.75rem; border-top: 1px solid rgba(0, 0, 0, 0.04); gap: 6px; margin: 0; padding: 0; border: 0; flex-wrap: wrap; }
.poems-page .tool-btn { display: inline-flex; align-items: center; gap: 0.25rem; background: transparent; border: 1px solid rgba(0, 0, 0, 0.06); border-radius: 3px; cursor: pointer; transition: all 0.25s ease; text-decoration: none; min-height: 32px; font-size: 12px; color: #777; padding: 4px 8px; }
.poems-page .tool-btn svg { width: 12px; height: 12px; stroke: currentColor; fill: none; stroke-width: 1.5; }
.poems-page .tool-btn:hover { color: #C04851; border-color: rgba(192, 72, 81, 0.2); background: rgba(192, 72, 81, 0.04); }
.poems-page .tool-btn.active { background: #C04851; border-color: #C04851; color: #fff; }
.poems-page .card-pinyin { font-family: var(--font-serif); line-height: 2.3; color: #444; letter-spacing: 0.1em; font-size: 17px; }
.poems-page .card-pinyin ruby { margin: 0 0.25em; }
.poems-page .card-pinyin rt { font-size: 0.75em; color: #999; line-height: 3; letter-spacing: -0.02em; }
.poems-page .card-view-poem { font-family: var(--font-serif); line-height: 1.85; color: #444; margin-bottom: 0.75rem; }
.poems-page .card-line { font-family: var(--font-serif); line-height: 1.85; color: #444; }
.poems-page .card-line-trans { font-size: 0.8125rem; line-height: 1.7; margin: 0.125rem 0 0.625rem; color: #777; }
.poems-page .card-translation p { font-size: 0.8125rem; line-height: 1.8; margin-bottom: 0.5rem; color: #777; }
.poems-page .card-anno-item { display: flex; gap: 0.75rem; padding: 0.375rem 0; border-bottom: 1px dashed rgba(0, 0, 0, 0.04); }
.poems-page .card-anno-item:last-child { border-bottom: none; }
.poems-page .card-anno-word { font-family: var(--font-serif); font-size: 0.8125rem; font-weight: 600; color: #004B50; flex-shrink: 0; }
.poems-page .card-anno-desc { font-size: 0.8125rem; line-height: 1.8; color: #777; }
.poems-page .card-view-empty { font-size: 0.8125rem; color: #aaa; padding: 0.25rem 0; }
.poems-page .pagination { display: flex; justify-content: center; align-items: center; gap: 2rem; margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid rgba(0, 0, 0, 0.06); }
.poems-page .page-nav { display: flex; align-items: center; gap: 0.5rem; padding: 0.6rem 1.25rem; font-size: 0.9375rem; font-family: var(--font-serif); color: #2C2C2C; background: transparent; border: 1px solid rgba(0, 0, 0, 0.1); border-radius: 4px; cursor: pointer; transition: all 0.25s ease; text-decoration: none; }
.poems-page .page-nav svg { width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width: 1.5; }
.poems-page .page-nav:hover:not([disabled]) { color: #C04851; border-color: #C04851; background: rgba(192, 72, 81, 0.04); }
.poems-page .page-nav[disabled] { color: #ccc; cursor: not-allowed; opacity: 0.5; }
.poems-page { max-width: 1000px; margin: 0 auto; padding: 16px 24px 40px; }
.poems-page [hidden] { display: none !important; }
.poems-page a:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 4px; }
.poems-page button:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 4px; }
.poems-page summary:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 4px; }
.poems-filters { padding: 12px 16px; background: #fff; border-radius: 8px; margin-bottom: 20px; box-shadow: var(--shadow); }
.poems-filter-row { position: relative; display: flex; align-items: flex-start; flex-wrap: wrap; gap: 6px 14px; padding-right: 86px; }
.poems-filter-row + .poems-filter-row { margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--color-border); }
.poems-filter-label { flex: 0 0 32px; font-size: 12px; color: #777; padding-top: 8px; }
.poems-filter-preview { flex: 1; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; min-width: 0; }
.poems-filter-link { display: inline-flex; align-items: center; min-height: 36px; padding: 3px 10px; font-size: 13px; border-radius: 4px; color: #004b50; }
.poems-filter-link:hover { color: var(--color-accent); background: #faf4f2; }
.poems-filter-link.is-active { color: #fff; background: var(--color-accent); }
.poems-filter-more { flex-basis: 100%; min-width: 0; }
.poems-filter-more:not([open]) { flex-basis: 0; }
.poems-filter-more summary { position: absolute; top: 0; right: 0; cursor: pointer; min-height: 36px; padding: 8px 0; font-size: 12px; color: #777; }
.poems-filter-row + .poems-filter-row .poems-filter-more summary { top: 8px; }
.poems-filter-more summary:hover { color: var(--color-accent); }
.poems-filter-close { display: none; }
.poems-filter-more[open] .poems-filter-open { display: none; }
.poems-filter-more[open] .poems-filter-close { display: inline; }
.poems-filter-extra { display: flex; flex-wrap: wrap; gap: 4px 8px; margin-left: 46px; padding: 4px 0; }
.poems-page .poem-header > div:first-child { min-width: 0; flex: 1; }
.poems-page .poem-reading summary { width: fit-content; font-family: var(--font-sans); font-size: 12px; color: var(--color-accent); min-height: 36px; padding: 6px 0; cursor: pointer; }
.poems-page .poem-reading-close { display: none; }
.poems-page .poem-reading[open] .poem-reading-open { display: none; }
.poems-page .poem-reading[open] .poem-reading-close { display: inline; }
.poems-page .poem-reading[open] { position: relative; padding-bottom: 36px; }
.poems-page .poem-reading[open] summary { position: absolute; bottom: 0; left: 0; }
.poems-page .poem-remainder { margin-top: 4px; }
.poems-page .poem-card-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--color-border); }
.poems-page .poem-detail-link { font-size: 12px; color: var(--color-accent); min-height: 32px; display: inline-flex; align-items: center; margin-left: auto; }
.poems-empty { text-align: center; padding: 40px 24px; color: #777; background: #fff; border-radius: 8px; }
.poems-empty p:first-child { font-family: var(--font-serif); font-size: 18px; margin-bottom: 8px; }
.poems-empty p + p { font-size: 13px; margin-bottom: 16px; }
.poems-empty a { color: var(--color-accent); font-size: 13px; }
@media (max-width: 768px) {
    .poems-page { padding: 16px 16px 32px; }
    .poems-filters { padding: 8px 12px; margin-bottom: 18px; }
    .poems-filter-row { gap: 4px 6px; padding-right: 66px; }
    .poems-filter-label { flex-basis: 26px; padding-top: 12px; }
    .poems-filter-link { min-height: 44px; padding: 4px 8px; font-size: 12px; }
    .poems-filter-preview { gap: 0 2px; }
    .poems-filter-more summary { min-height: 44px; font-size: 11px; padding-top: 12px; }
    .poems-filter-extra { margin-left: 32px; gap: 0 2px; }
    .poems-page .list-header { gap: 12px; margin-bottom: 14px; padding-bottom: 12px; }
    .poems-page .list-title { font-size: 20px; }
    .poems-page .poem-card { padding: 18px 20px 14px; margin-bottom: 12px; }
    .poems-page .poem-header { flex-wrap: wrap; gap: 8px; margin-bottom: 10px; }
    .poems-page .poem-header > div:first-child { flex-basis: 100%; }
    .poems-page .poem-title { font-size: 18px; }
    .poems-page .poem-meta { font-size: 12px; }
    .poems-page .poem-tags { max-width: none; justify-content: flex-start; }
    .poems-page .poem-content, .poems-page .card-pinyin { font-size: 16px; }
    .poems-page .tool-btn, .poems-page .poem-detail-link, .poems-page .poem-reading summary { min-height: 44px; }
    .poems-page .poem-reading[open] { padding-bottom: 44px; }
    .poems-page .poem-card-footer { gap: 4px; }
    .poems-page .pagination { gap: 16px; }
}
@media (prefers-reduced-motion: reduce) {
    .poems-page .poem-card, .poems-page .tool-btn { transition: none; }
}
