/* 阳谷邦网站样式：手机优先，760px 以上两栏 */
:root {
  --bg: #f5f6f8;
  --panel: #fff;
  --text: #1f2328;
  --muted: #6b7280;
  --line: #e5e7eb;
  --brand: #c2410c;
  --brand-dark: #9a3412;
  --brand-soft: #fff1e8;
  --ok: #15803d;
  --err: #b91c1c;
  --radius: 10px;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--bg); color: var(--text); font: 15px/1.65 -apple-system, "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--brand); }
img { max-width: 100%; display: block; }
h1, h2, h3 { line-height: 1.35; margin: 0; }

.wrap { max-width: 1120px; margin: 0 auto; padding: 0 16px; }

/* 头部 */
.header { background: var(--brand); color: #fff; }
.header-inner { display: flex; align-items: center; gap: 16px; padding-top: 12px; padding-bottom: 12px; flex-wrap: wrap; }
.logo { font-size: 22px; font-weight: 700; color: #fff; display: flex; align-items: baseline; gap: 10px; }
.logo:hover { color: #fff; }
.logo small { font-size: 13px; font-weight: 400; opacity: .85; }
.search { flex: 1; min-width: 240px; display: flex; background: #fff; border-radius: 22px; overflow: hidden; max-width: 520px; margin-left: auto; }
.search input { flex: 1; border: 0; padding: 9px 16px; font: inherit; outline: none; min-width: 0; color: var(--text); }
.search button { border: 0; background: var(--brand-dark); color: #fff; padding: 0 20px; font: inherit; cursor: pointer; }
.nav { background: var(--brand-dark); }
.nav-inner { display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; }
.nav-inner::-webkit-scrollbar { display: none; }
.nav a { color: rgba(255, 255, 255, .88); padding: 10px 14px; white-space: nowrap; }
.nav a:hover { color: #fff; }
.nav a.on { color: #fff; font-weight: 600; box-shadow: inset 0 -3px 0 #fff; }

.main { padding-top: 20px; padding-bottom: 32px; min-height: 60vh; }

/* 通用块 */
.panel { background: var(--panel); border-radius: var(--radius); padding: 18px; margin-bottom: 16px; }
.section-head { display: flex; justify-content: space-between; align-items: baseline; margin: 8px 0 12px; }
.section-head h2 { font-size: 19px; }
.section-head a { color: var(--muted); font-size: 14px; }
.muted { color: var(--muted); font-size: 13px; }
.crumbs { color: var(--muted); font-size: 13px; margin-bottom: 12px; }
.crumbs a:hover { color: var(--brand); }
.crumbs span { margin: 0 6px; }
.page-title { font-size: 24px; margin-bottom: 6px; }
.empty { text-align: center; color: var(--muted); padding: 40px 0; }
.pre { white-space: pre-wrap; word-break: break-word; }
.tag { display: inline-block; font-size: 12px; line-height: 20px; padding: 0 8px; border-radius: 4px; background: var(--brand-soft); color: var(--brand); vertical-align: middle; font-weight: 500; }
.tag.gray { background: var(--bg); color: var(--muted); }
.tag.solid { background: var(--brand); color: #fff; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; border: 0; border-radius: 8px; padding: 10px 18px; font: inherit; cursor: pointer; background: var(--brand-soft); color: var(--brand); }
.btn:hover { color: var(--brand); filter: brightness(.97); }
.btn.primary { background: var(--brand); color: #fff; }
.btn.primary:hover { color: #fff; filter: brightness(1.06); }
.actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 16px; }

/* 两栏布局 */
.layout { display: grid; gap: 16px; }
@media (min-width: 760px) {
  .layout { grid-template-columns: minmax(0, 1fr) 320px; align-items: start; }
}

/* 网格 */
.grid { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 760px) { .grid.cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .grid.cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* 分类 */
.cats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; }
@media (min-width: 760px) { .cats { grid-template-columns: repeat(9, minmax(0, 1fr)); } }
.cat { text-align: center; padding: 10px 4px; border-radius: 8px; font-size: 13px; }
.cat:hover { background: var(--brand-soft); }
.cat .icon { font-size: 26px; display: block; line-height: 1.3; }

/* 首页入口 */
.entries { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 16px; }
@media (min-width: 760px) { .entries { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.entry { display: flex; gap: 12px; align-items: center; background: var(--brand-soft); border-radius: var(--radius); padding: 16px; }
.entry .icon { font-size: 30px; }
.entry b { display: block; color: var(--brand); font-size: 16px; }

/* 乡镇标签 */
.chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chip { background: var(--panel); border: 1px solid var(--line); border-radius: 16px; padding: 4px 14px; font-size: 14px; }
.chip.on, .chip:hover { border-color: var(--brand); color: var(--brand); }

/* 商家行 */
.shop-list { background: var(--panel); border-radius: var(--radius); }
.shop { display: flex; gap: 14px; padding: 14px 16px; border-bottom: 1px solid var(--line); align-items: center; }
.shop:last-child { border-bottom: 0; }
.shop .thumb { width: 72px; height: 72px; border-radius: 8px; object-fit: cover; background: var(--bg); flex-shrink: 0; display: flex; align-items: center; justify-content: center; font-size: 30px; }
.shop .info { flex: 1; min-width: 0; }
.shop h3 { font-size: 16px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.shop .meta { color: var(--muted); font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.shop .tel { color: var(--brand); font-weight: 600; white-space: nowrap; font-size: 14px; }

/* 卡片（二手、活动） */
.card { background: var(--panel); border-radius: var(--radius); overflow: hidden; display: block; }
.card .cover { width: 100%; aspect-ratio: 1; object-fit: cover; background: var(--bg); display: flex; align-items: center; justify-content: center; font-size: 40px; }
.card.wide .cover { aspect-ratio: 16 / 9; }
.card .body { padding: 10px 12px 12px; }
.card h3 { font-size: 15px; font-weight: 500; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; min-height: 2.7em; }
.card .price { color: var(--brand); font-weight: 700; font-size: 17px; margin-top: 4px; }
.card .meta { color: var(--muted); font-size: 12px; }
.card.wide h3 { font-weight: 600; min-height: 0; }

/* 详情页 */
.detail-title { font-size: 24px; margin-bottom: 8px; }
.facts { margin: 12px 0 0; display: grid; grid-template-columns: 70px 1fr; gap: 10px 12px; }
.facts dt { color: var(--muted); }
.facts dd { margin: 0; word-break: break-all; }
.facts a.tel { color: var(--brand); font-weight: 700; font-size: 18px; }
.hero-img { width: 100%; max-height: 420px; object-fit: cover; border-radius: var(--radius); margin-bottom: 16px; background: var(--bg); }
.gallery { display: grid; gap: 8px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 16px; }
.gallery img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 8px; background: var(--bg); }
.gallery img:first-child { grid-column: span 3; aspect-ratio: 4 / 3; }
.notice { background: #fff6e0; color: #92400e; border-radius: 8px; padding: 10px 14px; font-size: 13px; }

/* 筛选条 */
.filters { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 14px; }
.filters select, .filters input[type=text] { border: 1px solid var(--line); border-radius: 8px; padding: 8px 10px; font: inherit; background: #fff; }

/* 便民电话 */
.phone-group h2 { font-size: 17px; margin-bottom: 8px; }
.phone-row { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-top: 1px solid var(--line); }
.phone-row a { color: var(--brand); font-weight: 600; white-space: nowrap; }

/* 表单 */
.form { display: grid; gap: 14px; max-width: 560px; }
.form label { display: grid; gap: 6px; font-size: 14px; color: var(--muted); }
.form label.req span::after { content: " *"; color: var(--err); }
.form input, .form select, .form textarea { border: 1px solid var(--line); border-radius: 8px; padding: 9px 12px; font: inherit; color: var(--text); background: #fff; width: 100%; }
.form textarea { min-height: 110px; }
.flash { border-radius: 8px; padding: 10px 14px; margin-bottom: 14px; }
.flash.error { background: #fdecec; color: var(--err); }
.flash.ok { background: #e8f7ee; color: var(--ok); }

/* 分页（ThinkPHP 默认输出） */
.pagination { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; padding: 0; margin: 20px 0 0; justify-content: center; }
.pagination li a, .pagination li span { display: block; padding: 6px 12px; border-radius: 6px; background: var(--panel); border: 1px solid var(--line); }
.pagination li.active span { background: var(--brand); border-color: var(--brand); color: #fff; }
.pagination li.disabled span { color: var(--muted); }

/* 页脚 */
.footer { background: #2b2f36; color: #b9bec7; font-size: 13px; padding: 24px 0 28px; }
.footer a:hover { color: #fff; }
.footer-towns { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-bottom: 14px; }
.footer-links { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-bottom: 10px; color: #e5e7eb; }
.footer-copy { color: #8b919b; }

/* ---------- 人文：阳谷千秋、身边事 ---------- */
.participate-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0; }
.participate-form { max-width: 800px; margin: 16px auto; }
.participate-form .form { max-width: none; gap: 18px; }
.participate-form .field { display: block; margin: 0; }
.participate-form .field input, .participate-form .field textarea, .participate-form .field select { display: block; margin-top: 6px; }
.participate-form .consent { display: flex; align-items: flex-start; gap: 10px; margin: 20px 0; }
.participate-form .consent input { width: auto; margin-top: 5px; flex-shrink: 0; }
.community-dates { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.community-photo-preview { display: flex; flex-wrap: wrap; gap: 8px; }
.community-photo-preview img { width: 100px; height: 90px; object-fit: cover; border-radius: 6px; }
.community-mine-list { display: grid; gap: 16px; }
.community-mine-card { border: 1px solid var(--line); padding: 16px; border-radius: 8px; }
.community-mine-card h2 { font-size: 20px; overflow-wrap: anywhere; }
.community-code { background: var(--bg); padding: 12px; border-radius: 8px; margin: 12px 0; }
.community-code input { font-family: monospace; width: 100%; max-width: 400px; padding: 9px; border: 1px solid var(--line); margin: 0 8px 8px 0; }
.community-restore { margin-top: 24px; }
.community-restore form { margin-top: 12px; }
.market-filters { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; }
.market-filters label { display: grid; gap: 6px; font-size: 14px; color: var(--muted); }
.market-filters input, .market-filters select { min-height: 40px; border: 1px solid var(--line); border-radius: 8px; padding: 8px 10px; font: inherit; background: #fff; max-width: 100%; }
.market-filters input[type=number] { width: 110px; }
.market-query-date { display: flex; flex-wrap: wrap; gap: 10px 20px; margin: 16px 0; }
.market-card h2 { font-size: 20px; margin-bottom: 10px; }
.village-town-chips { margin: 16px 0; }
.village-town-section { margin: 24px 0; }
.village-directory-card { display: block; color: var(--text); margin-bottom: 0; }
.village-directory-card h3 { font-size: 20px; margin-bottom: 8px; }
.village-intro { line-height: 1.95; font-size: 17px; margin: 12px 0; overflow-wrap: anywhere; }
[hidden] { display: none !important; }
@media (max-width: 480px) { .community-dates { grid-template-columns: 1fr; } }
.submission-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.feedback-item { margin: 16px 0; }
.feedback-item h2, .correction-notes h2 { font-size: 20px; margin-bottom: 10px; }
.feedback-reply { border-left: 3px solid var(--brand); background: var(--bg); padding: 10px 16px; margin: 14px 0; }
.correction-notes { border-top: 1px solid var(--line); padding-top: 16px; margin-top: 24px; }
:root { --paper: #fbf7f0; --ink: #2b2620; --ink-soft: #6f655a; --seal: #a8321e; }
.serif, .culture-head h1, .article-title, .prose h2, .prose h3, .today-date, .feature h3, .topic span {
  font-family: "Songti SC", "STSong", "SimSun", "Noto Serif SC", "Source Han Serif SC", serif;
}
.culture-head { background: var(--paper); border-radius: var(--radius); padding: 20px; margin-bottom: 16px; color: var(--ink); border-left: 4px solid var(--seal); }
.culture-head p, .culture-head .pre { color: var(--ink-soft); margin: 6px 0 0; }

.topics { display: grid; gap: 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 16px; }
@media (min-width: 760px) { .topics { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.topic { position: relative; display: flex; align-items: flex-end; min-height: 96px; border-radius: var(--radius); overflow: hidden; background: var(--paper); border: 1px solid #eadfcd; }
.topic img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.topic span { position: relative; padding: 10px 14px; font-size: 18px; color: var(--ink); }
.topic img + span { color: #fff; width: 100%; background: linear-gradient(transparent, rgba(0, 0, 0, .55)); }
.topic:hover { border-color: var(--seal); }

.article-list { background: var(--panel); border-radius: var(--radius); }
.article-row { display: flex; gap: 14px; padding: 16px; border-bottom: 1px solid var(--line); }
.article-row:last-child { border-bottom: 0; }
.article-row .info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.article-row h3 { font-size: 17px; }
.article-row .excerpt { color: var(--ink-soft); font-size: 14px; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.article-row .meta { color: var(--muted); font-size: 12px; }
.article-row .thumb { width: 120px; height: 84px; object-fit: cover; border-radius: 8px; flex-shrink: 0; background: var(--bg); }

.prose-wrap { background: #fff; }
.article-title { font-size: 26px; color: var(--ink); margin-bottom: 8px; }
.article-meta { color: var(--muted); font-size: 13px; margin-bottom: 14px; }
.article-cover { width: 100%; border-radius: 8px; margin-bottom: 18px; }
.prose { font-size: 17px; line-height: 1.95; color: #2f2a25; }
.prose p { margin: 0 0 1.1em; text-align: justify; }
.prose h2 { font-size: 21px; margin: 1.6em 0 .7em; color: var(--ink); }
.prose h3 { font-size: 18px; margin: 1.4em 0 .6em; color: var(--ink); }
.prose blockquote { margin: 0 0 1.1em; padding: 10px 16px; background: var(--paper); border-left: 3px solid #d8c7a8; color: var(--ink-soft); }
.prose figure { margin: 1.2em 0; }
.prose figure img { width: 100%; border-radius: 6px; }
.prose figcaption { text-align: center; color: var(--muted); font-size: 13px; margin-top: 6px; }
.prose a { color: var(--seal); text-decoration: underline; text-underline-offset: 3px; }
.source { color: var(--muted); font-size: 13px; border-top: 1px dashed var(--line); padding-top: 12px; margin: 16px 0 0; }
.source a { color: var(--seal); }
.related { display: block; padding: 8px 0; border-top: 1px solid var(--line); font-size: 14px; }
.related .muted { display: block; font-size: 12px; }

/* ---------- 首页：今日阳谷 ---------- */
.today { display: grid; gap: 14px; margin-bottom: 16px; }
@media (min-width: 760px) { .today { grid-template-columns: 300px minmax(0, 1fr); } }
.today-card { background: var(--paper); border-radius: var(--radius); padding: 18px 20px; color: var(--ink); border: 1px solid #eadfcd; position: relative; overflow: hidden; }
.today-card .label { font-size: 12px; letter-spacing: 2px; color: var(--seal); }
.today-date { font-size: 30px; margin: 4px 0 2px; }
.today-lunar { color: var(--ink-soft); }
.today-term { display: inline-block; margin-top: 8px; padding: 2px 10px; border: 1px solid var(--seal); color: var(--seal); border-radius: 4px; font-size: 13px; }
.today-seal { position: absolute; right: 14px; top: 14px; width: 46px; height: 46px; border: 2px solid var(--seal); color: var(--seal); border-radius: 6px; display: flex; align-items: center; justify-content: center; font-size: 15px; line-height: 1.1; text-align: center; transform: rotate(6deg); opacity: .85; font-family: "Songti SC", "SimSun", serif; }
.feature { display: grid; background: var(--panel); border-radius: var(--radius); overflow: hidden; }
@media (min-width: 560px) { .feature.has-cover { grid-template-columns: 42% minmax(0, 1fr); } }
.feature img { width: 100%; height: 100%; min-height: 180px; object-fit: cover; }
.feature .body { padding: 18px 20px; display: flex; flex-direction: column; gap: 6px; }
.feature .label { font-size: 12px; letter-spacing: 2px; color: var(--seal); }
.feature h3 { font-size: 22px; color: var(--ink); }
.feature p { color: var(--ink-soft); margin: 0; }
.feature.empty-feature { background: var(--paper); border: 1px dashed #d8c7a8; }
/* 老照片浏览与连续翻图 */
.photo-filters{align-items:end}.photo-filters label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#6b6159}.photo-filters select{min-width:155px}
.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:24px 0}.photo-card{display:block;background:#fff;border:1px solid #e7e1d8;border-radius:10px;overflow:hidden;color:inherit;transition:transform .15s}.photo-card:hover{transform:translateY(-3px)}.photo-card img{display:block;width:100%;height:235px;object-fit:contain;background:#ebe5dc}.photo-card-text{padding:18px}.photo-card h2{font-size:18px;margin:8px 0}.photo-card p{margin:0;color:#8b492e;font-size:13px}.photo-meta{font-size:12px;color:#736b63}.photo-detail{max-width:1000px;margin:auto}.photo-detail img{display:block;max-width:100%;max-height:75vh;margin:20px auto;cursor:zoom-in}.photo-detail-nav{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap}
.photo-viewing{overflow:hidden}.photo-viewer{width:min(1200px,96vw);max-width:96vw;max-height:96dvh;padding:0;border:1px solid #59534d;border-radius:12px;background:#201d1a;color:#f7f3ea;overflow:auto}.photo-viewer::backdrop{background:rgba(10,8,6,.9)}.viewer-toolbar{display:flex;align-items:center;justify-content:space-between;padding:12px 18px}.photo-viewer button{background:#39332d;color:#fff;border:1px solid #756b60;border-radius:6px;padding:8px 14px;cursor:pointer}.photo-viewer button:disabled{opacity:.3;cursor:default}.photo-viewer button:focus-visible{outline:3px solid #ffc384;outline-offset:3px}.viewer-stage{display:grid;grid-template-columns:52px minmax(0,1fr) 52px;gap:10px;align-items:center;padding:0 12px;min-height:180px;touch-action:pan-y pinch-zoom}.viewer-stage img{width:100%;height:60dvh;object-fit:contain}.viewer-stage button{font-size:35px;padding:6px}.viewer-caption{padding:8px 24px 20px;max-width:950px;margin:auto}.viewer-caption h2{font-size:21px;margin:12px 0}.viewer-caption p{margin:7px 0}.viewer-caption small,#viewer-meta,#viewer-source{color:#c4baae}#viewer-message{margin:0 20px;font-size:14px}
@media(max-width:760px){.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.photo-card img{height:180px}.photo-card-text{padding:12px}.photo-filters label{flex:1;min-width:135px}.photo-filters select{min-width:0;width:100%}.viewer-stage{grid-template-columns:34px minmax(0,1fr) 34px;gap:3px;padding:0 5px}.viewer-stage img{height:48dvh}.viewer-stage button{padding:3px}.viewer-caption{padding:8px 16px 18px}}
@media(max-width:420px){.photo-grid{grid-template-columns:1fr}.photo-card img{height:230px}}
.search-directory-section{margin:26px 0}.search-result{display:block;color:inherit}.search-result h3{font-size:18px;margin:0 0 10px}.search-photo{display:block;width:100%;height:170px;object-fit:contain;background:#eee8de;margin-bottom:14px}.search-result p{margin:8px 0}.phone-row:target{outline:2px solid var(--brand);outline-offset:5px;scroll-margin-top:25px}
#viewer-links a{color:#ffd5ae;text-decoration:underline}
.submission-receipt{padding:20px;background:#faf5ed;border:1px solid #e7dac7;border-radius:9px;margin:20px 0}.submission-receipt h2{font-size:19px;margin:0 0 14px}.submission-receipt input{display:block;width:100%;min-width:0;padding:12px;border:1px solid #cfc6b9;border-radius:6px;font-family:monospace;font-size:14px;box-sizing:border-box;margin:8px 0}.submission-progress{max-width:800px;margin:0 auto}.progress-result{border-top:1px solid #e7e1d8;margin-top:24px;padding-top:18px}.progress-result h2{font-size:20px}.progress-result dl{display:grid;grid-template-columns:90px minmax(0,1fr);gap:12px;margin:18px 0}.progress-result dt{color:#756b60}.progress-result dd{margin:0}.progress-reply{background:#faf5ed;padding:16px;border-radius:6px;overflow-wrap:anywhere}.progress-result h3{font-size:17px}
.travel-card h2{font-size:21px;margin:12px 0}.travel-card h3{font-size:15px;margin:16px 0 8px}.travel-stop-summary{padding-left:20px}.travel-stop-summary li{margin:9px 0}.travel-stop-summary p{font-size:13px;color:#756b60;margin:5px 0}.travel-detail{max-width:960px;margin:auto}.travel-detail section{margin:25px 0}.travel-detail h2{font-size:21px}.travel-endpoints{font-size:20px;color:var(--brand)}.travel-stops{padding-left:28px}.travel-stops li{padding:8px 0 14px 8px;border-bottom:1px solid #ebe5dc}.travel-stops h3{font-size:18px;margin:4px 0}.travel-stops p{margin:7px 0}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:760px){.grid.cols-2{grid-template-columns:1fr}}
.community-eyebrow{display:block;font-size:12px;color:var(--brand);letter-spacing:2px;margin-bottom:8px}.community-intro-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:22px 0}.community-intro-grid>div{background:#faf4ec;border:1px solid #eddfce;border-radius:9px;padding:18px 20px}.community-intro-grid b{display:block;font-size:18px;margin-bottom:6px}.community-intro-grid span{font-size:13px;color:#776b60}.community-filter-note{margin-bottom:0}.community-card{overflow-wrap:anywhere}.community-card h2{font-size:21px;margin:16px 0 8px}.community-place{color:var(--brand);font-size:13px}.community-date{border-top:1px solid var(--line);padding-top:12px}.community-detail{max-width:860px;margin:auto}.community-detail h1{margin-top:18px}.community-detail section{margin:28px 0}.community-detail h2{font-size:19px}.community-join{background:#faf4ec;padding:20px;border-radius:8px}.community-number{font-size:24px;letter-spacing:1px;overflow-wrap:anywhere}.community-cards .btn{margin-top:8px}@media(max-width:650px){.community-intro-grid{grid-template-columns:1fr;gap:8px}.community-intro-grid>div{padding:12px 16px}.community-intro-grid b{font-size:16px;margin-bottom:2px}.community-detail .participate-tabs{align-items:stretch}.community-number{font-size:21px}}
.community-form label.check{display:flex;align-items:flex-start;gap:10px;color:var(--text)}.community-form input[type=checkbox]{width:17px;height:17px;flex:0 0 17px;margin:4px 0 0;padding:0}

/* 文章留言与家乡记忆 */
.memory-eyebrow{display:block;color:var(--brand);font-size:12px;letter-spacing:2px;margin-bottom:8px}.memory-grid{margin:18px 0}.memory-card h2{font-size:21px;margin:15px 0 10px}.memory-card .pre{line-height:1.9}.memory-detail{max-width:900px;margin:auto}.memory-detail h1{margin-top:18px}.memory-body{font-size:16px;line-height:2;margin:26px 0}.article-discussions{border-top:1px solid var(--line);margin-top:30px;padding-top:24px;scroll-margin-top:20px}.article-discussions h2,.discussion-replies h2{font-size:20px}.article-discussions h3{font-size:18px;margin:12px 0}.discussion-entry{padding:20px 0;border-bottom:1px solid var(--line);scroll-margin-top:20px;overflow-wrap:anywhere}.discussion-author{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;margin:10px 0;font-size:13px}.discussion-author span{color:var(--muted);font-size:12px}.discussion-reply{background:#f7f5f0;border-left:3px solid #dac9ad;padding:14px 18px;margin:14px 0;scroll-margin-top:20px;overflow-wrap:anywhere}.discussion-reply .pre,.discussion-entry>.pre{line-height:1.9}.discussion-editor{background:#fff6eb;padding:12px 16px;border-radius:6px;margin:12px 0;font-size:14px}.discussion-editor p{margin:6px 0}.discussion-replies{border-top:1px solid var(--line);margin-top:25px;padding-top:20px}.discussion-context{background:#f7f5f0;padding:12px 16px;border-radius:6px;margin:20px 0}.discussion-form-panel{max-width:850px;margin:auto}.discussion-form label.check{display:flex;align-items:flex-start;gap:10px;color:var(--text)}.discussion-form input[type=checkbox]{width:17px;height:17px;flex:0 0 17px;margin:4px 0 0;padding:0}.memory-detail,.memory-card{overflow-wrap:anywhere}@media(max-width:600px){.article-discussions .section-head{align-items:flex-start;gap:12px;flex-wrap:wrap}.discussion-reply{padding:12px}.discussion-author{gap:8px}.memory-body{font-size:15px}}

/* 便民资料与常用网址 */
.resource-eyebrow{display:block;color:var(--brand);font-size:12px;letter-spacing:2px;margin-bottom:8px}.resource-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:22px 0}.resource-shortcuts a{background:#fff7ed;border:1px solid #f0dfcb;border-radius:8px;padding:18px}.resource-shortcuts strong{display:block;font-size:18px;margin-bottom:8px}.resource-shortcuts span{font-size:13px;color:var(--muted)}.resource-filter-note{margin-bottom:0}.resource-grid{margin:18px 0}.resource-card{overflow-wrap:anywhere}.resource-card h2{font-size:21px;margin:16px 0 10px}.resource-domain{font-size:13px;color:var(--brand);overflow-wrap:anywhere}.resource-card-date{border-top:1px solid var(--line);padding-top:12px}.resource-detail{max-width:900px;margin:auto;overflow-wrap:anywhere}.resource-detail h1{margin-top:18px}.resource-summary{font-size:17px;line-height:1.9}.resource-detail section{margin:25px 0}.resource-detail h2{font-size:20px}.resource-body{font-size:16px;line-height:2}.resource-visit{background:#faf4eb;padding:20px;border-radius:8px}.resource-visit h2{margin-top:0}.resource-url{font-size:13px;overflow-wrap:anywhere}@media(max-width:760px){.resource-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}.resource-shortcuts a{padding:14px}.resource-shortcuts strong{font-size:16px}}@media(max-width:420px){.resource-shortcuts{gap:8px}.resource-shortcuts span{font-size:12px}.resource-body{font-size:15px}}

.resource-filters{align-items:flex-end}.resource-filters label{display:flex;flex-direction:column;gap:6px;flex:1 1 130px;min-width:130px}.resource-filters label:last-of-type{flex:1.6 1 200px}.resource-filters select,.resource-filters input[type=text]{width:100%;min-width:0;max-width:100%}
