/* 「内容」栏目：列表页和文章页（页面由服务器程序生成，源码在 server/） */

/* 列表页 */
.post-list{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.post-card{display:flex;flex-direction:column;border:1px solid var(--line);background:var(--white);transition:box-shadow .2s}
.post-card:hover{box-shadow:0 8px 24px rgba(20,33,79,.08)}
.post-card .pic{aspect-ratio:16/9;overflow:hidden;background:var(--paper)}
.post-card .txt{padding:18px 20px 22px}
.post-card time{font-size:12px;color:var(--ink-3);letter-spacing:.05em}
.post-card h2{font-family:var(--serif);font-size:18px;line-height:1.5;color:var(--navy);margin:6px 0 8px}
.post-card p{font-size:13px;color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.post-empty{text-align:center;color:var(--ink-2);padding:40px 0}
@media(max-width:900px){.post-list{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.post-list{grid-template-columns:1fr;gap:20px}}

/* 文章页 */
.article{max-width:820px;margin:0 auto}
.article .meta{font-size:12px;color:var(--ink-3);margin-bottom:24px}
.article .summary{background:var(--paper);border-left:3px solid var(--gold);padding:18px 22px;margin-bottom:28px;font-size:15px}
.article .keypoints{border:1px solid var(--line);padding:18px 22px 18px 40px;margin-bottom:36px}
.article .keypoints b{display:block;margin-left:-18px;margin-bottom:6px;color:var(--navy);font-family:var(--serif)}
.article h2{font-family:var(--serif);font-size:22px;line-height:1.5;color:var(--navy);margin:40px 0 12px}
.article p{margin:0 0 14px}
.article .lead{font-weight:600}
.article ul,.article ol{margin:0 0 16px 1.4em}
.article li{margin:4px 0}
.article .tbl{overflow-x:auto;margin:6px 0 20px}
.article table{border-collapse:collapse;width:100%;min-width:420px;font-size:14px}
.article th,.article td{border:1px solid var(--line);padding:9px 12px;text-align:left;vertical-align:top}
.article th{background:var(--paper);color:var(--navy);font-weight:600}
.article figure{margin:24px 0}
.article figure img{height:auto;aspect-ratio:auto}
.article figcaption{font-size:12px;color:var(--ink-3);text-align:center;margin-top:8px}
.article .faq-box{margin-top:44px}
.article .faq-box details{border-bottom:1px solid var(--line);padding:14px 2px}
.article .faq-box summary{cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:16px}
.article .faq-box summary::after{content:"+";color:var(--gold);font-size:18px;line-height:1}
.article .faq-box details[open] summary::after{content:"−"}
.article .faq-box details p{margin:8px 0 0;color:var(--ink-2);font-size:14px}
.article .store{margin-top:44px;background:var(--paper);padding:22px 24px;font-size:14px}
.article .store b{font-family:var(--serif);color:var(--navy);font-size:17px}
.article .related{margin-top:36px;font-size:14px}
.article .related a{color:var(--navy);border-bottom:1px solid var(--gold-soft)}
.article .related li{margin:6px 0}
@media(max-width:600px){.article h2{font-size:19px;margin-top:32px}.article .summary,.article .keypoints,.article .store{padding-left:16px;padding-right:16px}}
