/* 徐氏宗亲平台 · 原型样式（移动端 H5） */
* { margin:0; padding:0; box-sizing:border-box; -webkit-tap-highlight-color:transparent; }
:root{
  --primary:#E8621A; --primary-light:#FDF2E9;
  --accent:#D4A017; --accent-light:#FFF8E1;
  --ink:#2D1810; --ink-light:#6B4D3E;
  --paper:#FFF9F5; --card:#FFFFFF; --border:#E8D5C4;
  --success:#2E7D32; --destructive:#C62828;
  --shadow:0 2px 12px rgba(232,98,26,.08);
  --serif:"Noto Serif SC","Source Han Serif SC","Songti SC",STSong,serif;
  --sans:-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;
}
html,body{ background:#EFE6DC; }
body{ font-family:var(--sans); color:var(--ink); font-size:14px; line-height:1.6; }
.page{ max-width:512px; margin:0 auto; min-height:100vh; background:var(--paper); position:relative; padding-bottom:calc(74px + env(safe-area-inset-bottom)); display:flex; flex-direction:column; }

/* ===== Header ===== */
.hd{ background:linear-gradient(135deg,#E8621A 0%,#C94E0F 60%,#B0430D 100%); color:#fff; padding:14px 16px 12px; position:sticky; top:0; z-index:20; }
.hd-in{ display:flex; align-items:center; gap:10px; }
.seal{ width:38px; height:38px; border-radius:9px; background:linear-gradient(145deg,#fff 0%,#F6E3D3 100%); color:var(--primary); display:flex; align-items:center; justify-content:center; font-family:var(--serif); font-weight:700; font-size:22px; box-shadow:0 2px 6px rgba(0,0,0,.18); flex:none; }
.hd-name{ font-family:var(--serif); font-size:17px; font-weight:700; letter-spacing:1px; line-height:1.3; }
.hd-sub{ font-size:11px; opacity:.85; letter-spacing:2px; }
.hd-goldline{ height:2px; margin:10px -16px -12px; background:linear-gradient(90deg,transparent,#FFE2A8,#D4A017,#FFE2A8,transparent); }

/* ===== 金色装饰线 ===== */
.ornament{ display:flex; align-items:center; gap:10px; margin:14px 16px 10px; color:var(--primary); }
.ornament::before,.ornament::after{ content:""; flex:1; height:1px; background:linear-gradient(90deg,transparent,var(--accent)); }
.ornament::after{ background:linear-gradient(90deg,var(--accent),transparent); }
.ornament .t{ font-family:var(--serif); font-size:15px; font-weight:700; letter-spacing:3px; color:var(--ink); display:flex; align-items:center; gap:6px; }
.ornament .t small{ font-family:var(--sans); font-weight:400; font-size:10px; color:var(--ink-light); letter-spacing:1px; }

/* ===== 卡片 ===== */
.card{ background:var(--card); border-radius:12px; box-shadow:var(--shadow); margin:0 12px 10px; overflow:hidden; }
.card-pad{ padding:14px; }

/* ===== Banner ===== */
.banner{ position:relative; margin:12px 12px 0; border-radius:12px; overflow:hidden; box-shadow:var(--shadow); aspect-ratio:16/7; }
.bn-item{ position:absolute; inset:0; display:none; color:#fff; padding:16px; flex-direction:column; justify-content:flex-end; }
.bn-item.active{ display:flex; }
.bn-item .bn-t{ font-family:var(--serif); font-size:17px; font-weight:700; text-shadow:0 1px 4px rgba(0,0,0,.3); }
.bn-item .bn-d{ font-size:11px; opacity:.92; text-shadow:0 1px 3px rgba(0,0,0,.3); }
.bn-water{ position:absolute; right:-8px; top:-14px; font-family:var(--serif); font-size:120px; opacity:.14; font-weight:700; }
.bn-dots{ position:absolute; bottom:8px; right:12px; display:flex; gap:4px; }
.bn-dots i{ width:5px; height:5px; border-radius:50%; background:rgba(255,255,255,.5); }
.bn-dots i.on{ background:#fff; width:12px; border-radius:3px; }

/* ===== 栏目网格 ===== */
.cat-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:6px; padding:12px; }
.cat{ display:flex; flex-direction:column; align-items:center; gap:6px; padding:12px 4px 10px; border-radius:10px; color:var(--ink); text-decoration:none; background:transparent; transition:.15s; }
.cat:active{ background:var(--primary-light); }
.cat .ic{ width:46px; height:46px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:var(--serif); font-size:20px; font-weight:700; color:#fff; box-shadow:0 2px 6px rgba(0,0,0,.12); }
.cat .nm{ font-size:12px; color:var(--ink); }

/* ===== 按钮 ===== */
.btn{ display:block; text-align:center; text-decoration:none; border:none; cursor:pointer; font-size:16px; font-weight:700; letter-spacing:2px; font-family:var(--sans); padding:13px; border-radius:12px; }
.btn-gold{ background:linear-gradient(135deg,#F0C060,#D4A017 55%,#B8860B); color:#fff; box-shadow:0 4px 14px rgba(212,160,23,.35); }
.btn-primary{ background:linear-gradient(135deg,#F07028,#E8621A 60%,#C94E0F); color:#fff; box-shadow:0 4px 14px rgba(232,98,26,.3); }
.btn:active{ transform:scale(.985); opacity:.92; }
.btn-o{ background:#fff; color:var(--primary); border:1px solid var(--primary); }

/* ===== 赞助动态 ===== */
.ticker{ background:linear-gradient(90deg,#FFF4E6,#FDF2E9); border:1px solid var(--border); border-radius:8px; display:flex; align-items:center; gap:8px; padding:7px 10px; margin:0 12px 10px; }
.ticker.ticker-inline{ margin:0; border:none; background:transparent; border-radius:0 0 8px 8px; padding:6px 12px 9px; }
.ticker .lb{ flex:none; font-size:10px; color:#fff; background:var(--destructive); border-radius:4px; padding:1px 6px; letter-spacing:1px; }
.ticker .tx{ font-size:11px; color:var(--ink-light); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ticker .tx b{ color:var(--primary); font-weight:600; }

/* ===== 文章卡片 ===== */
.art{ display:flex; gap:10px; padding:12px; text-decoration:none; color:var(--ink); border-bottom:1px solid #F7EDE3; }
.art:last-child{ border-bottom:none; }
.art .cov{ width:96px; height:68px; border-radius:8px; flex:none; position:relative; overflow:hidden; }
.art .cov .w{ position:absolute; font-size:44px; font-weight:700; opacity:.25; color:#fff; font-family:var(--serif); }
.art .info{ flex:1; min-width:0; display:flex; flex-direction:column; gap:3px; }
.art .ti{ font-size:14px; font-weight:600; line-height:1.35; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.art .su{ font-size:11px; color:var(--ink-light); display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden; }
.art .meta{ font-size:10px; color:#B49A85; display:flex; align-items:center; gap:6px; }
.tag{ font-size:9px; padding:0 5px; border-radius:3px; background:var(--primary-light); color:var(--primary); border:1px solid #F5D9C4; flex:none; }

/* ===== 列表行 ===== */
.row{ display:flex; align-items:center; gap:10px; padding:12px; border-bottom:1px solid #F7EDE3; text-decoration:none; color:var(--ink); }
.row:last-child{ border-bottom:none; }
.row .rk{ width:26px; text-align:center; font-family:var(--serif); font-weight:700; font-size:15px; flex:none; }
.medal{ font-size:18px; }
.rk1{ color:#D4A017; } .rk2{ color:#8A8F98; } .rk3{ color:#B87333; }

/* ===== 底部 Tab ===== */
/* ===== 底部导航 + 页脚（技术支持） ===== */
#tabbar{ position:fixed; bottom:0; left:50%; transform:translateX(-50%); width:100%; max-width:512px; z-index:30; }
.tab{ width:100%; background:rgba(255,255,255,.96); backdrop-filter:blur(8px); border-top:1px solid var(--border); display:flex; padding-bottom:env(safe-area-inset-bottom); box-shadow:0 -2px 10px rgba(90,40,10,.07); }
.ft{ width:100%; background:rgba(255,255,255,.96); backdrop-filter:blur(8px); border-top:1px solid var(--border); text-align:center; font-size:10px; color:#B49A85; padding:5px 6px; letter-spacing:.5px; line-height:1.5; }
.ft a{ color:var(--primary); text-decoration:none; font-weight:700; }
/* 页面真页脚（2026-09-17 老板调整）：署名 + 备案号随内容置于页尾，不再进固定底栏 */
#xsPgFt{ margin-top:auto; padding:16px 8px 4px; text-align:center; font-size:10px; color:#B49A85; letter-spacing:.4px; line-height:1.8; }
#xsPgFt.onBody{ margin-top:0; flex:none; padding:8px 8px 2px; }
#xsPgFt .ln{ margin-top:2px; }
#xsPgFt a{ color:#C4A88F; text-decoration:none; }
#xsPgFt a:hover{ text-decoration:underline; }
.tab a{ flex:1; display:flex; flex-direction:column; align-items:center; gap:2px; padding:8px 0 7px; color:#B49A85; text-decoration:none; font-size:10px; }
.tab a.on{ color:var(--primary); }
.tab a svg{ width:22px; height:22px; }
.tab a.on svg{ filter:drop-shadow(0 1px 2px rgba(232,98,26,.3)); }

/* ===== 通用 ===== */
.muted{ color:var(--ink-light); font-size:12px; }
.small{ font-size:11px; color:#B49A85; }
.empty{ text-align:center; color:#C4B0A0; padding:40px 0; font-size:13px; }
.sect{ margin:0 12px; }
.back{ display:inline-flex; align-items:center; gap:2px; color:#fff; opacity:.95; font-size:13px; text-decoration:none; padding:2px 0; }
h1.pg{ font-family:var(--serif); font-size:18px; font-weight:700; }
.sbtn{ display:block; margin:12px; }

/* 文章正文 */
.doc p{ margin:0 16px 12px; font-size:15px; line-height:1.9; color:#3D2A1F; text-align:justify; }
.doc h2{ font-family:var(--serif); font-size:17px; margin:18px 16px 8px; color:var(--ink); }
.cover-lg{ height:150px; margin:0; position:relative; overflow:hidden; border-radius:0; }
.cover-lg .w{ position:absolute; font-size:90px; font-weight:700; opacity:.22; color:#fff; font-family:var(--serif); }

/* 赞助 */
.amt-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:6px; padding:0 14px 4px; }
.amt{ border:1.5px solid var(--border); border-radius:10px; text-align:center; padding:10px 2px; font-weight:700; font-size:15px; color:var(--ink); cursor:pointer; background:#fff; }
.amt b{ font-size:10px; font-weight:400; color:#B49A85; display:block; }
.amt.on{ border-color:var(--primary); background:var(--primary-light); color:var(--primary); }
.inp{ width:100%; border:1px solid var(--border); border-radius:10px; padding:10px 12px; font-size:16px; background:#fff; color:var(--ink); outline:none; font-family:var(--sans); }
.inp:focus{ border-color:var(--primary); }
.lbl{ font-size:12px; color:var(--ink-light); margin:0 0 6px; display:flex; justify-content:space-between; }
.lbl b{ color:var(--primary); font-weight:600; }
.form-sec{ padding:14px; display:flex; flex-direction:column; gap:6px; }
.grad-note{ background:linear-gradient(135deg,#F07028,#C94E0F); color:#fff; border-radius:12px; margin:12px 12px 10px; padding:16px; box-shadow:var(--shadow); }
.grad-note h3{ font-family:var(--serif); font-size:16px; margin-bottom:4px; letter-spacing:2px; }
.grad-note p{ font-size:12px; opacity:.92; }

/* 证书 */
.cert-wrap{ background:linear-gradient(180deg,#7A2E0A,#A04312); padding:22px 14px; min-height:70vh; }
.cert{ background:linear-gradient(160deg,#FFFDF5,#FBF3E0); border:6px double #D4A017; border-radius:6px; padding:28px 20px 24px; text-align:center; color:var(--ink); box-shadow:0 8px 24px rgba(0,0,0,.25); position:relative; }
.cert::before{ content:"徐"; position:absolute; right:14px; top:10px; font-family:var(--serif); font-size:80px; color:#D4A017; opacity:.12; }
.cert .org{ font-size:11px; color:var(--ink-light); letter-spacing:2px; }
.cert h1{ font-family:var(--serif); font-size:26px; letter-spacing:10px; margin:8px 0 2px; color:#8B4513; text-shadow:0 1px 0 #fff; }
.cert .no{ font-size:11px; color:#A0825C; letter-spacing:1px; border:1px solid #E2C793; border-radius:20px; display:inline-block; padding:2px 12px; margin:8px 0 14px; background:#FFFDF0; }
.cert .line{ width:70%; height:1px; margin:12px auto; background:linear-gradient(90deg,transparent,#D4A017,transparent); }
.cert .main{ font-size:14px; color:#4A3525; line-height:2; }
.cert .main .nm{ font-family:var(--serif); font-size:24px; color:#8B4513; font-weight:700; margin:0 2px; }
.cert .main .amt{ color:var(--destructive); font-family:var(--serif); font-weight:700; font-size:18px; }
.cert .thanks{ font-family:var(--serif); font-size:15px; color:#6B4D3E; margin-top:10px; letter-spacing:1px; }
.cert .foot{ display:flex; justify-content:space-between; font-size:10px; color:#A0825C; margin-top:18px; }

/* 徽章榜 */
.badge3{ display:flex; align-items:flex-end; justify-content:center; gap:8px; padding:16px 10px 10px; }
.b3{ text-align:center; width:90px; }
.b3 .med{ font-size:34px; line-height:1; }
.b3 .nm{ font-size:12px; margin-top:4px; font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.b3 .amt{ font-size:10px; color:var(--primary); font-weight:700; }
.b3.p1 .plate{ background:linear-gradient(180deg,#F5E1A4,#D4A017); }
.b3.p2 .plate{ background:linear-gradient(180deg,#E4E6EA,#9AA0A8); }
.b3.p3 .plate{ background:linear-gradient(180deg,#EFD2B8,#B87333); }
.plate{ height:34px; margin-top:6px; border-radius:8px 8px 3px 3px; display:flex; align-items:center; justify-content:center; font-family:var(--serif); font-weight:700; color:#fff; text-shadow:0 1px 2px rgba(0,0,0,.25); }

/* 统计 */
.stats{ display:flex; margin:12px 12px 0; background:linear-gradient(135deg,#7A2E0A,#A04312); border-radius:12px; color:#fff; padding:14px 0; box-shadow:var(--shadow); }
.stats .st{ flex:1; text-align:center; border-right:1px solid rgba(255,255,255,.15); }
.stats .st:last-child{ border-right:none; }
.stats .n{ font-family:var(--serif); font-size:20px; font-weight:700; }
.stats .l{ font-size:10px; opacity:.85; }

/* 留言 */
.msg-bubble{ background:#FDF2E9; border-radius:4px 12px 12px 12px; padding:10px 12px; margin-top:6px; font-size:13px; }
.reply{ background:#F4FBF4; border-left:3px solid var(--success); border-radius:4px; padding:8px 10px; margin-top:8px; font-size:12px; color:#3A6B3E; }
.st-pill{ font-size:10px; padding:1px 8px; border-radius:10px; flex:none; }
.st-pill.wait{ background:#FFF4E6; color:#B8860B; border:1px solid #F0D9A8; }
.st-pill.ok{ background:#E9F5EA; color:var(--success); border:1px solid #BFDCC1; }

/* 我的 */
.me-head{ background:linear-gradient(135deg,#E8621A,#A04312); color:#fff; padding:22px 16px 20px; display:flex; align-items:center; gap:14px; }
.me-avatar{ width:62px; height:62px; border-radius:50%; background:rgba(255,255,255,.2); border:2px solid rgba(255,255,255,.6); display:flex; align-items:center; justify-content:center; font-family:var(--serif); font-size:28px; }
.me-name{ font-family:var(--serif); font-size:18px; font-weight:700; }
.me-sub{ font-size:11px; opacity:.85; }
.me-tabs{ display:flex; background:#fff; border-bottom:1px solid var(--border); }
.me-tabs a{ flex:1; text-align:center; padding:11px 0; font-size:14px; color:var(--ink-light); text-decoration:none; border-bottom:2px solid transparent; }
.me-tabs a.on{ color:var(--primary); border-bottom-color:var(--primary); font-weight:600; }
.menu{ padding:4px 0; }
.menu a{ display:flex; align-items:center; justify-content:space-between; padding:13px 16px; text-decoration:none; color:var(--ink); border-bottom:1px solid #F7EDE3; font-size:14px; }
.menu a:last-child{ border-bottom:none; }
.menu .arr{ color:#C9B3A1; }

/* ===== 栏目横滑条：隐藏滚动条 ===== */
#catbar{ scrollbar-width:none; -ms-overflow-style:none; }
#catbar::-webkit-scrollbar{ display:none; }

/* ===== 评论区（腾讯新闻式：收起态 → 楼中楼逐层展开） ===== */
.cmt-bar{ display:flex; align-items:center; gap:8px; padding:12px 16px; background:#fff; border-radius:12px; box-shadow:var(--shadow); cursor:pointer; }
.cmt-bar .n{ font-family:var(--serif); font-size:16px; font-weight:700; color:var(--ink); }
.cmt-bar .sub{ font-size:11px; color:#B49A85; flex:1; }
.cmt-bar .arr{ color:#C9B3A1; font-size:16px; }
.cmt-panel{ display:none; margin-top:10px; }
.cmt-panel.open{ display:block; }
.cmt-input{ display:flex; gap:8px; padding:10px 12px; background:#fff; border-radius:12px; box-shadow:var(--shadow); margin-bottom:10px; }
.cmt-input input{ flex:1; border:1px solid #EFE0CF; background:#FBF6F0; border-radius:18px; height:38px; padding:0 14px; font-size:15px; outline:none; color:var(--ink); }
.cmt-input input:focus{ border-color:var(--primary); background:#fff; }
.cmt-send{ flex:none; border:none; background:linear-gradient(135deg,#E8621A,#C94E0F); color:#fff; border-radius:18px; padding:0 20px; font-size:14px; }
.cmt-list{ background:#fff; border-radius:12px; box-shadow:var(--shadow); overflow:hidden; }
.cmt{ padding:12px 14px; border-bottom:1px solid #F7EDE3; }
.cmt:last-child{ border-bottom:none; }
.cmt-hd{ display:flex; align-items:center; gap:8px; }
.cmt-av{ width:28px; height:28px; border-radius:50%; background:linear-gradient(135deg,#E8621A,#A04312); color:#fff; font-size:12px; display:flex; align-items:center; justify-content:center; flex:none; }
.cmt-who{ font-size:13px; font-weight:600; color:var(--ink); }
.cmt-time{ font-size:10px; color:#BDA68F; }
.cmt-txt{ font-size:14px; line-height:1.6; margin-top:6px; color:#3A2A1E; word-break:break-word; }
.cmt-act{ display:flex; align-items:center; gap:18px; margin-top:7px; }
.cmt-act button{ background:none; border:none; padding:0; font-size:11px; color:#A08B78; display:flex; align-items:center; gap:3px; }
.cmt-act button.on, .cmt-act button:active{ color:var(--primary); }
.cmt-ch{ margin-left:36px; border-left:2px solid #F3E6D5; padding-left:10px; }
.cmt-ch .cmt{ border-bottom:1px dashed #F3E9DD; padding:10px 4px; }
.cmt-ch .cmt-ch{ margin-left:28px; }
.cmt-ch .cmt-ch .cmt-ch{ margin-left:22px; }
.cmt-exp{ display:block; background:none; border:none; color:var(--primary); font-size:12px; padding:6px 4px 2px; }
.cmt-more{ width:100%; border:none; background:#FFF9F2; color:#8B5A2B; font-size:13px; padding:12px 0; text-align:center; border-top:1px solid #F7EDE3; }
.cmt-more:active{ background:#FDF0E2; }
.cmt-empty{ text-align:center; color:#BDA68F; font-size:13px; padding:28px 0; }
.cmt-replybox{ display:flex; gap:8px; margin-top:8px; }
.cmt-replybox input{ flex:1; border:1px solid #EFE0CF; background:#FBF6F0; border-radius:16px; height:34px; padding:0 12px; font-size:14px; outline:none; }
.cmt-replybox button{ flex:none; border:none; background:var(--primary); color:#fff; border-radius:16px; padding:0 14px; font-size:13px; }
/* 回复框收起/展开 */
.cmt-form{ display:none; margin-top:8px; }
.cmt-form.open{ display:flex; }
.cmt-hot{ display:inline-block; font-size:9px; color:#C62828; border:1px solid #E8B4B0; border-radius:4px; padding:0 4px; margin-left:4px; vertical-align:1px; }
/* ===== 投稿页 ===== */
.sub-card{ background:#fff; border-radius:12px; box-shadow:var(--shadow); padding:14px; }
.sub-card label{ display:block; font-size:12px; color:#8B7355; margin:12px 0 6px; font-weight:600; }
.sub-card label:first-child{ margin-top:0; }
.sub-note{ font-size:11px; color:#B49A85; background:#FDF6EC; border-radius:8px; padding:8px 10px; margin-top:10px; line-height:1.6; }
.st-pill.reject{ background:#FDEBEA; color:#C62828; border:1px solid #F2C4C0; }
.draft-item{ border-bottom:1px solid #F7EDE3; padding:12px 14px; }
.draft-item:last-child{ border-bottom:none; }

/* ===== 活动报名（接龙式） ===== */
/* 活动卡片（首页模块/活动广场共用） */
.act-card{ background:#fff; border-radius:12px; box-shadow:var(--shadow); margin:0 12px 12px; overflow:hidden; text-decoration:none; color:var(--ink); display:block; }
.act-cover{ position:relative; height:110px; display:flex; flex-direction:column; justify-content:flex-end; padding:12px 14px; color:#fff; overflow:hidden; }
.act-cover .w{ position:absolute; right:-6px; top:-16px; font-family:var(--serif); font-size:96px; opacity:.16; font-weight:700; }
.act-cover .t{ font-family:var(--serif); font-size:16px; font-weight:700; letter-spacing:1px; text-shadow:0 1px 4px rgba(0,0,0,.3); position:relative; }
.act-cover .sub{ font-size:11px; opacity:.92; text-shadow:0 1px 3px rgba(0,0,0,.3); position:relative; }
.act-badge{ position:absolute; right:12px; top:12px; font-size:10px; padding:2px 9px; border-radius:10px; background:rgba(0,0,0,.35); color:#fff; letter-spacing:1px; }
.act-badge.hot{ background:linear-gradient(135deg,#F0C060,#D4A017); color:#5E3A0F; font-weight:700; }
.act-body{ padding:10px 14px 12px; }
.act-meta{ display:flex; flex-wrap:wrap; gap:4px 14px; font-size:11px; color:#8B7355; margin-bottom:8px; }
.act-prog{ display:flex; align-items:center; gap:8px; }
.act-prog .bar{ flex:1; height:6px; border-radius:3px; background:#F3E6D5; overflow:hidden; }
.act-prog .bar i{ display:block; height:100%; border-radius:3px; background:linear-gradient(90deg,#F0C060,#D4A017); }
.act-prog .cnt{ font-size:11px; color:#8B7355; flex:none; }
.act-prog .cnt b{ color:var(--primary); }
/* 状态条 */
.act-status{ display:flex; align-items:center; gap:6px; font-size:12px; padding:8px 14px; border-radius:8px; margin:10px 12px 0; }
.act-status.soon{ background:#FFF8E1; color:#B8860B; }
.act-status.open{ background:#E9F5EA; color:var(--success); }
.act-status.full{ background:#FDEBEA; color:var(--destructive); }
.act-status.closed{ background:#F3ECE4; color:#8B7355; }
.act-status.ended{ background:#F3ECE4; color:#8B7355; }
/* 详情信息块 */
.act-info{ background:#fff; border-radius:12px; box-shadow:var(--shadow); margin:10px 12px; padding:14px; }
.act-info .row{ display:flex; gap:8px; padding:5px 0; font-size:13px; color:var(--ink); border-bottom:none; }
.act-info .row .k{ color:#8B7355; flex:none; width:64px; }
.act-info .row .v{ flex:1; color:#3D2A1F; }
.act-sec-t{ font-family:var(--serif); font-size:15px; font-weight:700; color:var(--ink); letter-spacing:2px; margin:4px 0 8px; }
.act-content{ white-space:pre-line; font-size:14px; line-height:1.9; color:#3D2A1F; }
/* 接龙名单 */
.jl{ counter-reset:jl; }
.jl-row{ display:flex; align-items:center; gap:10px; padding:9px 14px; border-bottom:1px solid #F7EDE3; }
.jl-row:last-child{ border-bottom:none; }
.jl-no{ width:24px; height:24px; border-radius:50%; background:var(--primary-light); color:var(--primary); font-size:12px; font-weight:700; display:flex; align-items:center; justify-content:center; flex:none; }
.jl-no.top3{ background:linear-gradient(135deg,#F0C060,#D4A017); color:#fff; }
.jl-name{ font-size:14px; font-weight:600; }
.jl-sub{ font-size:11px; color:#B49A85; }
.jl-mine{ background:#FFF9EF; }
.jl-mine .jl-name::after{ content:"（我）"; color:var(--primary); font-size:11px; font-weight:400; }
.jl-cancel{ margin-left:auto; font-size:11px; color:var(--destructive); background:none; border:none; padding:4px 6px; }
/* 报名表单 */
.sign-form{ display:flex; flex-direction:column; gap:10px; }
.sign-form .ph-row{ display:flex; gap:8px; align-items:center; }
.sign-form .ph-row .inp{ flex:1; }
.sign-del{ border:none; background:#FDEBEA; color:var(--destructive); width:30px; height:30px; border-radius:8px; font-size:14px; flex:none; }
.add-more{ border:1px dashed var(--primary); background:#FFF9F2; color:var(--primary); border-radius:10px; padding:9px; font-size:13px; text-align:center; cursor:pointer; width:100%; }
.sign-tip{ font-size:11px; color:#B49A85; line-height:1.6; }
.sign-count{ font-size:12px; color:#8B7355; margin-top:6px; }
/* 活动广场头部 */
.act-toolbar{ padding:12px 14px 4px; display:flex; gap:8px; overflow-x:auto; scrollbar-width:none; }
.act-toolbar::-webkit-scrollbar{ display:none; }
.act-toolbar .chip{ flex:none; font-size:12px; padding:5px 14px; border-radius:16px; background:#fff; color:#8B7355; border:1px solid var(--border); cursor:pointer; }
.act-toolbar .chip.on{ background:var(--primary); color:#fff; border-color:var(--primary); }
.act-empty{ text-align:center; color:#C4B0A0; padding:50px 0; font-size:13px; }
/* 首页活动模块头 */
.act-hd-mod{ display:flex; align-items:center; justify-content:space-between; }
.act-hd-mod a{ font-size:11px; color:#B49A85; text-decoration:none; }

/* ===== 首页活动 · 轮播卡片 ===== */
.act-swiper{ overflow:hidden; margin:0 12px; border-radius:12px; background:transparent; }
.act-swiper-track{ display:flex; transition:transform .4s ease; }
.act-swipe-card{ flex:0 0 100%; width:100%; background:#fff; text-decoration:none; color:var(--ink); display:block; }
.ac-cover{ position:relative; height:118px; display:flex; flex-direction:column; justify-content:flex-end; padding:12px 14px; color:#fff; overflow:hidden; }
.ac-cover .ac-w{ position:absolute; right:-4px; top:-18px; font-family:var(--serif); font-size:110px; opacity:.15; font-weight:700; }
.ac-cover .ac-title{ font-family:var(--serif); font-size:17px; font-weight:700; letter-spacing:1px; text-shadow:0 1px 4px rgba(0,0,0,.3); position:relative; padding-right:78px; line-height:1.4; }
.ac-cover .ac-sub{ font-size:11px; opacity:.92; text-shadow:0 1px 3px rgba(0,0,0,.3); position:relative; margin-top:3px; }
.ac-foot{ padding:9px 14px 11px; display:flex; align-items:center; gap:12px; }
.ac-foot .act-prog{ flex:1; min-width:0; }
.ac-cta{ flex:none; font-size:12px; color:var(--primary); font-weight:700; }
.act-dots{ display:flex; justify-content:center; gap:5px; padding:8px 0 0; }
.act-dots i{ width:6px; height:6px; border-radius:50%; background:#D9C4B0; transition:.25s; }
.act-dots i.on{ background:var(--primary); width:16px; border-radius:4px; }

/* ===== 首页活动 · 紧凑横排卡（方案C，2026-09-05老板选定） ===== */
.acC{ flex:0 0 100%; width:100%; background:#fff; border-radius:12px; box-shadow:0 2px 10px rgba(90,40,10,.07); display:flex; align-items:stretch; overflow:hidden; text-decoration:none; color:inherit; }
.acC-side{ width:96px; min-height:108px; position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; color:#fff; flex:none; }
.acC-side .acC-wz{ position:absolute; right:2px; top:2px; font-family:var(--serif); font-size:52px; font-weight:700; opacity:.25; }
.acC-d{ position:relative; z-index:2; display:flex; flex-direction:column; align-items:center; gap:1px; background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.45); border-radius:8px; padding:5px 9px 6px; backdrop-filter:blur(2px); }
.acC-d .m{ font-family:var(--serif); font-size:11px; letter-spacing:2px; }
.acC-d .d{ font-family:var(--serif); font-size:24px; font-weight:700; line-height:1.05; }
.acC-body{ flex:1; min-width:0; padding:10px 11px 9px; display:flex; flex-direction:column; }
.acC-tag{ align-self:flex-start; display:inline-block; font-size:9px; padding:1px 7px; border-radius:9px; background:#FFF1E6; color:#E8621A; border:1px solid #F6D9C4; margin-bottom:4px; letter-spacing:1px; }
.acC-tag.hot{ background:linear-gradient(135deg,#F5D48A,#D4A017); color:#5E3A0F; border:none; font-weight:700; }
.acC-title{ font-size:14px; font-weight:700; color:var(--ink); line-height:1.4; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.acC-meta{ font-size:10px; color:#A08A75; margin-top:2px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.acC-foot{ display:flex; align-items:center; justify-content:space-between; margin-top:auto; padding-top:5px; gap:8px; }
.acC-prog{ flex:1; min-width:0; }
.acC-prog .bar{ height:4px; background:#F3E6D5; border-radius:2px; overflow:hidden; }
.acC-prog .bar i{ display:block; height:100%; background:linear-gradient(90deg,#E8621A,#D4A017); border-radius:2px; }
.acC-num{ font-size:10px; color:#B49A85; flex:none; }
.acC-num b{ color:#E8621A; }

/* ===== 正式版图片能力增量（2026-09-05，不改变原有布局结构） ===== */
.doc-img{ display:block; max-width:100%; border-radius:10px; margin:10px auto; }
.cover-bg{ background-size:cover; background-position:center; background-repeat:no-repeat; }
.img-tint{ position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.05) 40%,rgba(0,0,0,.38)); }

/* ===== 2026-09-06 整改增量 ===== */
/* —— 报名接龙：本人/代报 徽标（替代 .jl-mine::after 的（我），避免双标记） —— */
.jl-name{ display:inline; }
.jl-tag{ display:inline-block; font-size:10px; line-height:1; padding:2px 6px; border-radius:4px; margin-left:6px; vertical-align:1px; font-weight:400; }
.jl-tag.me{ color:#fff; background:linear-gradient(135deg,#E8621A,#C94E0F); }
.jl-tag.rep{ color:#8B5A2B; background:#F5E9D7; border:1px solid #E4CFA8; }
.jl-mine .jl-name::after{ content:none; }
/* —— 富文本正文（后台富文本保存的 HTML → 前台安全渲染；兼容旧纯文本） —— */
.rt-body{ word-break:break-word; overflow-wrap:break-word; }
.rt-body p{ margin:0 0 12px; font-size:15px; line-height:1.9; color:#3D2A1F; text-align:justify; }
.rt-body h1,.rt-body h2,.rt-body h3{ font-family:var(--serif); margin:18px 0 8px; color:var(--ink); line-height:1.5; }
.rt-body h1{ font-size:19px; } .rt-body h2{ font-size:17px; } .rt-body h3{ font-size:16px; }
.rt-body img{ display:block; max-width:100%; border-radius:10px; margin:10px auto; }
.rt-body ul,.rt-body ol{ margin:0 0 12px; padding-left:22px; line-height:1.9; color:#3D2A1F; }
.rt-body blockquote{ margin:0 0 12px; padding:8px 14px; border-left:3px solid #E4CFA8; background:#FBF4E8; color:#6B4D3E; border-radius:0 8px 8px 0; }
.rt-body a{ color:var(--primary); word-break:break-all; }
.rt-body hr{ border:none; border-top:1px dashed #E4CFA8; margin:14px 0; }
/* —— 赞助证书升级（烫金标题 + 双线纹样框，前台 certificate.html 用） —— */
.cert{ border:1px solid #D8B876; outline:1px solid #D8B876; outline-offset:6px; box-shadow:inset 0 0 0 1px #EBD9AE, inset 0 0 0 4px rgba(212,160,23,.16), 0 8px 24px rgba(0,0,0,.25); }
.cert::after{ content:""; position:absolute; inset:10px; border:1px solid rgba(212,160,23,.5); pointer-events:none; }
.cert h1{ letter-spacing:12px; }
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  .cert h1{ background:linear-gradient(180deg,#B06A1E 0%,#8B4513 45%,#C98A2E 80%,#8B4513 100%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent; filter:drop-shadow(0 1px 0 rgba(255,255,255,.7)); }
}
.cert .no{ letter-spacing:2px; color:#8B5A2B; border-color:#C9A45C; background:linear-gradient(180deg,#FFFDF0,#FBF3DC); }
.cert .line{ width:74%; }

/* ===== 2026-09-06 整改：前端视觉修正 ===== */
/* 整改8：文章列表缩略图——高 100px、封面居中裁切不拉伸 */
.art .cov{ width:112px; height:100px; }
.art .cov .w{ font-size:46px; }
/* 整改1：活动详情字段标签不换行（emoji+字段名同行显示） */
.act-info .row{ flex-wrap:nowrap; align-items:flex-start; }
.act-info .row .k{ width:auto; min-width:72px; white-space:nowrap; }
.act-info .row .v{ flex:1; min-width:0; }
/* 整改9：正文左右留白（.rt-body p 会覆盖 .doc p 的水平边距，此处加固） */
.doc.rt-body p{ margin-left:20px; margin-right:20px; }
.doc.rt-body h1,.doc.rt-body h2,.doc.rt-body h3{ margin-left:20px; margin-right:20px; }
.doc.rt-body ul,.doc.rt-body ol,.doc.rt-body blockquote{ margin-left:20px; margin-right:20px; }
.doc.rt-body .cmt-guide{ margin:10px 20px 0; }
/* 整改10：评论区回复框美化（圆角输入胶囊 + 主题色发送钮） */
.cmt-form{ display:flex; gap:8px; align-items:center; margin:8px 0 4px; }
.cmt-form input{ flex:1; min-width:0; border:1px solid var(--border); border-radius:16px; padding:7px 14px; font-size:13px; background:#FBF8F3; outline:none; }
.cmt-form input:focus{ border-color:#E4CFA8; background:#fff; }
.cmt-form button{ flex:none; border:none; border-radius:16px; padding:7px 18px; font-size:13px; color:#fff; background:linear-gradient(135deg,#E8621A,#C94E0F); cursor:pointer; }
.cmt-form button:active{ opacity:.85; }
