/* =====================================================================
   湖南教会 · 前台样式
   —— 四套主题（elegant 庄重典雅 / academic 学院藏青 / ink 清雅水墨 / modern 现代湖湘蓝）
   —— 版式变量由后台「主题风格」页写入（页面宽度/边距/间距/比例/字号缩放）
   ===================================================================== */

:root{
  --serif:"Songti SC","STSong","SimSun","Noto Serif SC",serif;
  --sans:"PingFang SC","Microsoft YaHei","Helvetica Neue",system-ui,sans-serif;
  /* 默认版式（后台可覆盖，见 head.ejs） */
  --page-w:1200px; --page-pad:6%; --section-gap:44px; --content-ratio:66%; --font-scale:100%;
  /* 动效 */
  --ease:cubic-bezier(.22,.61,.36,1);
}

/* ---------- 主题配色 ---------- */
body.theme-elegant{ --c-primary:#9A3324; --c-primary-deep:#6E1F1A; --c-primary-dark:#4A1512;
  --c-accent:#C8A96A; --c-accent-light:#E9DCC2; --c-accent-pale:#F6EFDF;
  --bg:#FAF6EF; --paper:#FFFDF8; --ink:#2B2622; --ink-2:#6B5F55; --ink-3:#9C8F80; --line:#E5DCC9;
  --hero-from:#6E1F1A; --hero-to:#4A1512; --hero-text:#F6E9D2;}
body.theme-academic{ --c-primary:#2C3A52; --c-primary-deep:#1D2738; --c-primary-dark:#141C29;
  --c-accent:#C8A96A; --c-accent-light:#E9DCC2; --c-accent-pale:#F6EFDF;
  --bg:#F5F6F8; --paper:#FFFFFF; --ink:#23293A; --ink-2:#5A6272; --ink-3:#98A0AE; --line:#DDE1E8;
  --hero-from:#2C3A52; --hero-to:#1D2738; --hero-text:#E8E2D2;}
body.theme-ink{ --c-primary:#4A5A54; --c-primary-deep:#37443F; --c-primary-dark:#28322E;
  --c-accent:#8A9A7B; --c-accent-light:#DCE4D6; --c-accent-pale:#EEF2EA;
  --bg:#F4F4F1; --paper:#FDFDFC; --ink:#2E2E2B; --ink-2:#5F615B; --ink-3:#9A9C94; --line:#E2E2DC;
  --hero-from:#37443F; --hero-to:#28322E; --hero-text:#EEF2EA;}
body.theme-modern{ --c-primary:#185FA5; --c-primary-deep:#0C447C; --c-primary-dark:#042C53;
  --c-accent:#378ADD; --c-accent-light:#B5D4F4; --c-accent-pale:#E6F1FB;
  --bg:#F5F8FB; --paper:#FFFFFF; --ink:#22313F; --ink-2:#54677A; --ink-3:#93A5B5; --line:#DCE6EF;
  --hero-from:#185FA5; --hero-to:#0C447C; --hero-text:#E6F1FB;}

/* ---------- 基础 ---------- */
*{margin:0;padding:0;box-sizing:border-box}
html{font-size:var(--font-scale)}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.7;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none;transition:color .2s var(--ease)}
img{max-width:100%}
ul{list-style:none}
.wrap{max-width:var(--page-w);margin:0 auto;padding:0 clamp(14px,var(--page-pad),40px)}

/* ---------- 整页 HTML 文章（iframe 通栏嵌入：上贴导航、下贴底部，内容撑高） ---------- */
.raw-embed-box{margin:0;line-height:0;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);background:#fff}
.raw-frame{display:block;width:100%;min-height:480px;border:0;background:#fff}
h1,h2,h3,h4,h5,h6{font-family:var(--serif)}
em{font-style:normal}

/* 顶部阅读进度条 */
.progress-bar{position:fixed;top:0;left:0;height:3px;width:0;background:var(--c-accent);z-index:999;transition:width .15s linear;border-radius:0 2px 2px 0}

/* ===================== 顶部公告条 ===================== */
.topbar{position:relative;z-index:60;color:rgba(255,255,255,.86);font-size:12px;
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(0,0,0,.22)),linear-gradient(180deg,var(--c-primary-deep),var(--c-primary-dark));
  box-shadow:inset 0 -1px 0 rgba(255,255,255,.12)}
.topbar:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--c-accent),transparent);opacity:.55}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:14px;height:36px}
.notice-wrap{display:flex;align-items:center;gap:12px;overflow:hidden;min-width:0;flex:1}
.topbar .tag{display:inline-flex;align-items:center;gap:5px;flex:none;background:linear-gradient(180deg,var(--c-accent),#b5924c);color:#4A1512;padding:2px 12px;border-radius:999px;font-weight:700;white-space:nowrap;font-size:11px;letter-spacing:3px;box-shadow:0 1px 4px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.45)}
.topbar .tag svg{width:11px;height:11px;fill:#4A1512;flex:none}
.notice{overflow:hidden;white-space:nowrap;flex:1;min-width:0;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.notice-inner{display:inline-block;animation:marquee 34s linear infinite;color:rgba(255,255,255,.92);text-shadow:0 1px 2px rgba(0,0,0,.3)}
.notice:hover .notice-inner{animation-play-state:paused}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.top-links{display:flex;gap:2px;white-space:nowrap;align-items:center}
.top-links a{opacity:.85;padding:0 11px;position:relative;transition:opacity .2s var(--ease),color .2s var(--ease),text-shadow .2s}
.top-links a:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:3px;border-radius:50%;background:var(--c-accent);opacity:.6}
.top-links a:first-child:before{display:none}
.top-links a:hover{opacity:1;color:var(--c-accent-light);text-shadow:0 0 8px rgba(233,220,194,.55)}

/* ===================== 头部主行 ===================== */
.site-header{position:relative;z-index:51;background:linear-gradient(180deg,#FFFEFB 0%,#FBF5E9 100%);border-bottom:1px solid var(--line);box-shadow:0 10px 26px -20px rgba(74,21,18,.55)}
.site-header:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,transparent 0%,var(--c-accent) 16%,var(--c-accent-light) 50%,var(--c-accent) 84%,transparent 100%);opacity:.92}
.header-in{display:flex;align-items:center;justify-content:space-between;min-height:106px;gap:22px}
.brand{display:flex;align-items:center;gap:0}
/* 徽标：金环 + 柔光，悬停轻旋 */
.brand-logo-wrap{width:64px;height:64px;flex:none;border-radius:50%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 36%,#fff,#f1e6cf);border:2px solid var(--c-accent);box-shadow:0 0 0 4px rgba(200,169,106,.14),0 8px 20px -8px rgba(74,21,18,.5);transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.brand-logo-wrap .brand-logo{width:54px;height:54px;border-radius:50%;object-fit:cover;display:block}
.brand:hover .brand-logo-wrap{transform:rotate(-5deg) scale(1.05);box-shadow:0 0 0 6px rgba(200,169,106,.18),0 12px 26px -10px rgba(74,21,18,.55)}
.seal,.crest{width:54px;height:54px;flex:none;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:26px;font-weight:700;color:#fff;border-radius:50%;background:radial-gradient(circle at 50% 34%,var(--c-primary),var(--c-primary-deep));box-shadow:inset 0 0 0 2px rgba(233,220,194,.55),0 8px 20px -8px rgba(74,21,18,.5);transition:transform .5s var(--ease)}
.brand:hover .seal,.brand:hover .crest{transform:rotate(-5deg) scale(1.05)}
.brand-t{padding-left:18px;margin-left:18px;border-left:1px solid color-mix(in srgb,var(--line) 65%,var(--c-accent) 35%)}
.brand-t b{display:block;font-family:var(--serif);font-size:30px;letter-spacing:7px;font-weight:700;line-height:1.1;background:linear-gradient(180deg,var(--ink) 48%,color-mix(in srgb,var(--ink) 55%,var(--c-primary)));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--ink)}
.brand-t i{display:flex;align-items:center;gap:8px;font-style:normal;font-size:11px;color:var(--ink-3);letter-spacing:3px;margin-top:5px}
.brand-t i:before{content:"";width:5px;height:5px;background:var(--c-accent);transform:rotate(45deg);box-shadow:0 0 0 2px rgba(200,169,106,.25)}
.header-tools{display:flex;align-items:center;gap:16px}
/* 切换站点：描边金按钮，悬停填金 */
.site-switch-btn{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(180deg,rgba(255,255,255,.75),rgba(246,239,223,.55));border:1px solid var(--c-accent);color:var(--c-primary-deep);font-size:13px;font-weight:600;letter-spacing:1px;padding:8px 14px;border-radius:9px;cursor:pointer;box-shadow:0 1px 2px rgba(74,21,18,.12),inset 0 1px 0 rgba(255,255,255,.6);transition:all .25s var(--ease)}
.site-switch-btn:hover{background:linear-gradient(180deg,var(--c-accent),#b5924c);color:#fff;border-color:transparent;box-shadow:0 6px 16px -6px rgba(200,169,106,.7)}
.site-switch-btn .dot{width:7px;height:7px;border-radius:50%;background:var(--c-primary);box-shadow:0 0 0 3px rgba(154,51,36,.18);transition:all .25s}
.site-switch-btn:hover .dot{background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.3)}
/* 热线：金圈电话图标 + 衬线号码 */
.hotline{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--ink-3);padding-left:16px;border-left:1px solid var(--line);letter-spacing:1px}
.hotline .ico-phone{width:32px;height:32px;flex:none;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,var(--c-primary),var(--c-primary-deep));box-shadow:0 5px 12px -5px rgba(74,21,18,.55)}
.hotline .ico-phone svg{width:15px;height:15px;fill:var(--c-accent-light)}
.hotline b{display:block;font-family:var(--serif);font-size:18px;color:var(--c-primary);letter-spacing:.5px;margin-top:1px;line-height:1.1}
/* 搜索：胶囊框 + 放大镜 + 金光聚焦 */
.search{display:flex;align-items:center;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:linear-gradient(180deg,#fff,#fbf5e9);transition:box-shadow .25s var(--ease),border-color .25s var(--ease);box-shadow:inset 0 1px 3px rgba(74,21,18,.06)}
.search:focus-within{border-color:var(--c-accent);box-shadow:0 0 0 3px rgba(200,169,106,.22),inset 0 1px 3px rgba(74,21,18,.06)}
.search .ico-search{display:flex;align-items:center;padding-left:14px}
.search .ico-search svg{width:15px;height:15px;fill:var(--ink-3)}
.search input{border:0;outline:0;padding:10px 12px;width:200px;max-width:32vw;font-size:13px;background:transparent;color:var(--ink)}
.search input::placeholder{color:var(--ink-3)}
.search button{background:linear-gradient(180deg,var(--c-primary),var(--c-primary-deep));color:#fff;border:0;padding:0 18px;height:40px;cursor:pointer;font-size:13px;letter-spacing:2px;transition:filter .2s,box-shadow .2s}
.search button:hover{filter:brightness(1.12);box-shadow:inset 0 0 0 60px rgba(255,255,255,.07)}
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:1px solid var(--line);border-radius:4px;padding:10px 9px;cursor:pointer}
.nav-toggle span{display:block;width:20px;height:2px;background:var(--ink);transition:transform .3s var(--ease),opacity .2s}
.nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle.open span:nth-child(2){opacity:0}
.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ===================== 主导航 ===================== */
.mainnav{position:relative;z-index:50;background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(0,0,0,.14)),linear-gradient(180deg,color-mix(in srgb,var(--c-primary) 80%,#fff 20%),var(--c-primary) 40%,var(--c-primary-deep));box-shadow:0 3px 16px color-mix(in srgb,var(--c-primary) 42%,transparent),inset 0 1px 0 rgba(255,255,255,.18)}
.mainnav:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(233,220,194,.6),transparent);opacity:.7}
.nav-in{display:flex;align-items:stretch;height:var(--nav-h,54px);overflow:visible;justify-content:center}
.nav-row-main{display:flex;align-items:stretch;height:100%}
.nav-row-main>a{display:flex;align-items:center;gap:6px;padding:0 clamp(12px,1.6vw,26px);color:rgba(255,255,255,.92);font-size:var(--nav-fs,15px);font-weight:var(--nav-fw,400);letter-spacing:var(--nav-ls,2px);position:relative;white-space:nowrap;transition:background .25s var(--ease),color .25s var(--ease)}
.nav-row-main>a:hover,.nav-row-main>a.on{background:linear-gradient(180deg,color-mix(in srgb,var(--c-primary-deep) 80%,#000),var(--c-primary-deep))}
.nav-row-main>a:not(.caret):after{content:"";position:absolute;left:50%;transform:translateX(-50%);bottom:0;width:0;height:3px;background:var(--c-accent);box-shadow:0 0 10px rgba(200,169,106,.7);transition:width .28s var(--ease)}
.nav-row-main>a:not(.caret):hover:after{width:20px}
.nav-row-main>a:not(.caret).on:after{width:28px;height:3px;box-shadow:0 0 12px rgba(200,169,106,.85);animation:navline .4s var(--ease)}
@keyframes navline{from{width:0}to{width:28px}}
.nav-row-main>a+.dd{display:none;position:absolute;top:100%;left:0;z-index:55;min-width:208px;background:linear-gradient(180deg,#fff,#fdf8ee);border:1px solid var(--line);border-top:2px solid var(--c-accent);border-radius:0 0 12px 12px;box-shadow:0 22px 44px -20px rgba(74,21,18,.55);padding:6px 0;animation:ddin .2s var(--ease)}
@keyframes ddin{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.nav-row-main>a+.dd a:not(.dd-item){display:block;padding:9px 20px;font-size:13.5px;color:var(--ink);letter-spacing:1px}
.nav-row-main>a+.dd a:not(.dd-item):hover{background:var(--c-accent-pale);color:var(--c-primary);padding-left:25px}
.nav-row-main>a:hover+.dd{display:flex}
.nav-row-main>a.caret:after{content:"";position:absolute;right:9px;top:50%;margin-top:-2px;border:4px solid transparent;border-top-color:rgba(255,255,255,.7)}
.nav-row-main>a.caret{padding-right:clamp(20px,2.2vw,34px)}

/* ---------- 主视觉轮播 ---------- */
.hero{background:linear-gradient(135deg,var(--hero-from),var(--hero-to));overflow:hidden}
.hero-in{position:relative;height:clamp(300px,36vw,420px)}
.hero-art{position:absolute;right:2%;top:50%;transform:translateY(-50%);opacity:.9;animation:breathe 7s ease-in-out infinite;pointer-events:none}
@keyframes breathe{0%,100%{transform:translateY(-50%) scale(1)}50%{transform:translateY(-52%) scale(1.035)}}
.hero-art svg{width:clamp(180px,24vw,330px);height:auto}
.hero-slides{position:absolute;inset:0}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity .8s var(--ease);display:flex;align-items:center}
.hero-slide.on{opacity:1}
.hero-slide>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.22}
.hero-txt{position:relative;z-index:2;color:var(--hero-text);max-width:calc(var(--page-w) * .72);padding-left:0}
.hero-txt .kicker{display:inline-block;border:1px solid var(--c-accent);color:var(--c-accent);font-size:13px;letter-spacing:6px;padding:4px 16px;margin-bottom:22px}
.hero-txt h2{font-size:clamp(26px,3.6vw,44px);font-weight:700;letter-spacing:6px;line-height:1.4;text-shadow:0 2px 12px rgba(0,0,0,.35)}
.hero-txt p{margin-top:14px;font-size:15px;letter-spacing:3px;opacity:.85}
.hero-btns{margin-top:34px;display:flex;gap:14px;flex-wrap:wrap}
.btn{display:inline-block;padding:12px 30px;border-radius:3px;font-size:15px;letter-spacing:2px;cursor:pointer;border:0}
.btn-solid{background:var(--c-accent);color:var(--c-primary-dark);font-weight:600;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.btn-solid:hover{transform:translateY(-2px);box-shadow:0 8px 20px color-mix(in srgb,var(--c-accent) 40%,transparent)}
.btn-ghost{border:1px solid rgba(255,255,255,.6);color:var(--hero-text);transition:background .25s,border-color .25s}
.btn-ghost:hover{background:rgba(255,255,255,.12)}
.btn.sm{padding:6px 16px;font-size:12.5px}
.hero-dots{position:absolute;left:clamp(14px,var(--page-pad),40px);bottom:26px;display:flex;gap:8px;z-index:3}
.hero-dots i{width:26px;height:4px;background:rgba(255,255,255,.3);cursor:pointer;transition:background .3s,width .3s var(--ease)}
.hero-dots i.on{background:var(--c-accent);width:40px}

/* ---------- 区块通用 ---------- */
.section{padding:var(--section-gap) 0 8px}
.s-head{display:flex;align-items:baseline;justify-content:space-between;border-bottom:2px solid var(--c-primary);padding-bottom:12px;margin-bottom:22px}
.s-head h3{font-size:clamp(19px,2vw,24px);letter-spacing:4px;color:var(--ink)}
.s-head h3 span{font-size:12px;color:var(--c-accent);letter-spacing:2px;margin-left:10px;font-family:var(--sans)}
.s-head .more{font-size:13px;color:var(--ink-2)}
.s-head .more:hover{color:var(--c-primary)}
.empty{padding:44px 0;text-align:center;color:var(--ink-3);font-size:13px}

/* ---------- 要闻区 ---------- */
.news-grid{display:grid;grid-template-columns:calc(var(--content-ratio)) 1fr;gap:28px}
.tabs{display:flex;gap:24px;margin-bottom:14px;flex-wrap:wrap}
.tabs a{font-size:14.5px;color:var(--ink-2);padding-bottom:8px;border-bottom:2px solid transparent;cursor:pointer;transition:color .2s,border-color .2s}
.tabs a:hover{color:var(--c-primary)}
.tabs a.on{color:var(--c-primary);font-weight:600;border-bottom-color:var(--c-primary)}
.news-list li{display:flex;justify-content:space-between;align-items:center;padding:11px 2px;border-bottom:1px dashed var(--line)}
.news-list.big li{padding:13px 2px;font-size:15px}
.news-list a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:10px;position:relative}
.news-list.big a{white-space:normal}
.news-list a:not(.btn):hover{color:var(--c-primary)}
.news-list a:not(.btn)::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:1px;background:var(--c-primary);transition:width .35s var(--ease)}
.news-list a:not(.btn):hover::after{width:100%}
.news-list .date{color:var(--ink-3);font-size:12.5px;white-space:nowrap}

/* ---------- 侧栏卡片 ---------- */
.side-card{background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--c-accent);margin-bottom:20px}
.side-card .hd{font-family:var(--serif);font-size:17px;letter-spacing:3px;padding:14px 18px;border-bottom:1px solid var(--line);color:var(--c-primary-deep)}
.side-card .bd{padding:14px 18px}
.enroll .item{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 0;border-bottom:1px dashed var(--line);font-size:13px}
.enroll .item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.enroll .item .dl{color:var(--c-accent);font-size:12px;border:1px solid var(--c-accent-light);border-radius:2px;padding:2px 8px;white-space:nowrap;transition:background .2s,color .2s}
.enroll .item .dl:hover{background:var(--c-accent);color:var(--c-primary-dark)}
.enroll .go{display:block;margin-top:16px;text-align:center;background:var(--c-primary);color:#fff;padding:10px;border-radius:3px;font-size:14px;letter-spacing:2px;transition:box-shadow .25s var(--ease),transform .25s var(--ease)}
.enroll .go:hover{transform:translateY(-2px);box-shadow:0 8px 18px color-mix(in srgb,var(--c-primary) 40%,transparent)}
.enroll .go small{display:block;font-size:11px;color:var(--c-accent-light);letter-spacing:1px;margin-top:2px}
.gonggao li{display:flex;justify-content:space-between;gap:10px;padding:8px 0;font-size:13.5px;border-bottom:1px dashed var(--line)}
.gonggao li a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gonggao li a:hover{color:var(--c-primary)}
.gonggao .date{color:var(--ink-3);font-size:12px;white-space:nowrap}

/* ---------- 特色三卡 ---------- */
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.f-card{position:relative;height:190px;border-radius:6px;overflow:hidden;padding:26px 24px;color:#F6E9D2;display:flex;flex-direction:column;justify-content:flex-end;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.f-card:hover{transform:translateY(-6px);box-shadow:0 16px 34px rgba(0,0,0,.22)}
.f-card::after{content:"";position:absolute;left:0;top:0;width:100%;height:100%;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.14));transform:translateX(-110%);transition:transform .7s var(--ease)}
.f-card:hover::after{transform:translateX(0)}
.f-card h4{font-size:clamp(18px,1.8vw,22px);letter-spacing:3px}
.f-card p{font-size:12.5px;opacity:.85;margin-top:6px;letter-spacing:1px}
.f-card .num{position:absolute;top:14px;right:18px;font-family:var(--serif);font-size:46px;opacity:.22;font-weight:700;transition:opacity .35s}
.f-card:hover .num{opacity:.45}
.f-a{background:linear-gradient(135deg,var(--c-primary),var(--c-primary-deep))}
.f-b{background:linear-gradient(135deg,#7A4A2B,#54301B)}
.f-c{background:linear-gradient(135deg,var(--c-accent),color-mix(in srgb,var(--c-accent) 60%,#8a6d3b));color:var(--c-primary-dark)}
.f-c p{opacity:.75}

/* ---------- 图文卡 ---------- */
.media,.cards-grid,.albums-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.m-card{background:var(--paper);border:1px solid var(--line);border-radius:6px;overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.m-card:hover{transform:translateY(-6px);box-shadow:0 14px 30px color-mix(in srgb,var(--c-primary) 14%,transparent)}
.m-card .ph{height:150px;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:24px;letter-spacing:6px;color:#F6E9D2;transition:transform .6s var(--ease)}
.m-card:hover .ph{transform:scale(1.05)}
.m-card .ph.has-img{background-size:cover;background-position:center;color:transparent}
.ph-1{background:linear-gradient(135deg,color-mix(in srgb,var(--c-primary) 85%,#fff 15%),var(--c-primary-deep))}
.ph-2{background:linear-gradient(135deg,#51638C,#33405E)}
.ph-3{background:linear-gradient(135deg,#5C7A52,#3A5233)}
.m-card .bd{padding:16px 18px}
.m-card h5{font-size:16px;letter-spacing:2px}
.m-card .meta{font-size:12px;color:var(--ink-3);margin:6px 0 10px}
.m-card .desc{font-size:13px;color:var(--ink-2);line-height:1.8}

/* ---------- 信息公开/下载 ---------- */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.plain-list li{display:flex;justify-content:space-between;gap:10px;padding:10px 2px;border-bottom:1px dashed var(--line);font-size:14px}
.plain-list li a:hover{color:var(--c-primary)}
.plain-list .date{color:var(--ink-3);font-size:12.5px;white-space:nowrap}
.dl-list li{display:flex;align-items:center;gap:12px;padding:10px 2px;border-bottom:1px dashed var(--line);font-size:14px}
.dl-list.big li{padding:14px 2px}
.dl-list .icon{width:34px;height:34px;flex:none;border-radius:4px;background:var(--c-accent-pale);border:1px solid var(--c-accent-light);color:#8a6d3b;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700}
.dl-list a:not(.btn){word-break:break-all;line-height:1.6;align-self:center}
.dl-list a:not(.btn):hover{color:var(--c-primary)}
.dl-list .meta{margin-left:auto;font-size:12px;color:var(--ink-3);white-space:nowrap}
.dl-info a{font-weight:500}
.dl-meta{display:block;font-size:12px;color:var(--ink-3);font-weight:400}
.dl-meta em{color:var(--c-primary)}

/* ---------- 友链 ---------- */
.friends{padding:26px 0 34px;border-top:1px solid var(--line)}
.friends-hd{font-size:13px;color:var(--ink-3);letter-spacing:3px;margin-bottom:12px}
.friends-list a{display:inline-block;background:var(--paper);border:1px solid var(--line);border-radius:3px;padding:6px 18px;margin:0 10px 10px 0;font-size:13px;color:var(--ink-2);transition:border-color .25s,color .25s,transform .25s var(--ease)}
.friends-list a:hover{border-color:var(--c-accent);color:var(--c-primary);transform:translateY(-2px)}

/* ---------- 页脚 ---------- */
.site-footer{background:var(--c-primary-dark);color:rgba(255,255,255,.72);font-size:13px}
.footer-cols{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:30px;padding:40px 0}
.site-footer h6{color:var(--c-accent);font-size:15px;letter-spacing:3px;margin-bottom:14px;font-weight:500}
.site-footer li{margin-bottom:8px}
.site-footer a:hover{color:var(--c-accent)}
.site-footer p{opacity:.8}
.brandline{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.seal-sm{width:40px;height:40px;background:rgba(200,169,106,.15);border:1px solid rgba(200,169,106,.4);border-radius:4px;display:flex;align-items:center;justify-content:center;color:var(--c-accent);font-family:var(--serif);font-size:20px;font-weight:700}
.brandline b{font-size:19px;letter-spacing:5px;color:#fff}
.footer-copy{border-top:1px solid rgba(200,169,106,.22);text-align:center;padding:16px;font-size:12px;letter-spacing:1px}

/* ---------- 面包屑 ---------- */
.crumbs{background:var(--paper);border-bottom:1px solid var(--line);font-size:12px;color:var(--ink-3)}
.crumbs .wrap{height:38px;display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.crumbs a{color:var(--ink-2)}
.crumbs a:hover{color:var(--c-primary)}
.crumbs b{color:var(--ink)}

/* ---------- 栏目列表页 ---------- */
.list-layout{display:grid;grid-template-columns:calc(var(--content-ratio)) 1fr;gap:34px}
.page-layout{padding-bottom:40px}
.side-nav li{border-bottom:1px dashed var(--line)}
.side-nav li a{display:block;padding:9px 2px;font-size:14px;transition:padding .25s var(--ease),color .2s}
.side-nav li a:hover,.side-nav li.on a{color:var(--c-primary);padding-left:8px;font-weight:500}
.narrow{max-width:860px}
.pager{display:flex;gap:8px;justify-content:center;margin-top:26px;flex-wrap:wrap}
.pager a{border:1px solid var(--line);background:var(--paper);padding:6px 14px;border-radius:3px;font-size:13px;color:var(--ink-2)}
.pager a.on{background:var(--c-primary);color:#fff;border-color:var(--c-primary)}
.pager a:hover:not(.on){border-color:var(--c-accent);color:var(--c-primary)}

/* ---------- 文章页 ---------- */
.article-title{font-size:clamp(20px,2.6vw,28px);letter-spacing:2px;line-height:1.5;text-align:center;padding:10px 0}
.article-meta{text-align:center;color:var(--ink-3);font-size:12.5px;margin:14px 0 26px;display:flex;justify-content:center;gap:20px;flex-wrap:wrap}
.article-body{background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:clamp(20px,3.4vw,44px)}
.rich-text p{margin:0 0 1em}
.rich-text h2,.rich-text h3,.rich-text h4{margin:1.2em 0 .6em;letter-spacing:1px}
.rich-text img{border-radius:4px;display:block;margin:14px auto;transition:transform .4s var(--ease)}
.rich-text img:hover{transform:scale(1.02)}
.rich-text table{border-collapse:collapse;width:100%}
.rich-text td,.rich-text th{border:1px solid var(--line);padding:8px 12px}
.rich-text blockquote{border-left:3px solid var(--c-accent);padding:10px 18px;background:var(--c-accent-pale);border-radius:0 4px 4px 0;color:var(--ink-2);margin:1em 0}
.attach-box{background:var(--c-accent-pale);border:1px dashed var(--c-accent-light);border-radius:6px;padding:16px 18px;margin-top:22px}
.attach-box>b{display:block;margin-bottom:10px;color:var(--c-primary-deep);letter-spacing:1px}
.attach-item{display:flex;align-items:center;gap:10px;background:var(--paper);border:1px solid var(--c-accent-light);border-radius:4px;padding:8px 14px;margin-top:8px;font-size:13.5px;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.attach-item:hover{transform:translateX(4px);box-shadow:0 6px 14px rgba(0,0,0,.08)}
.attach-item i{color:var(--ink-3);font-size:12px}
.article-nav{display:flex;justify-content:space-between;gap:14px;margin-top:22px;flex-wrap:wrap}
.article-nav a,.article-nav span{font-size:13.5px;color:var(--ink-2);background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:10px 14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.article-nav a:hover{color:var(--c-primary);border-color:var(--c-accent)}
.relate{margin-top:28px}

/* ---------- 内容页宽度与风格（后台「主题风格与版式」可调） ---------- */
.narrow.art-wrap{max-width:min(var(--article-w,1000px),100%)}
/* 简洁式：无底框，纯排版 */
body.as-plain .article-body{background:transparent;border:0;box-shadow:none;border-radius:0;padding:clamp(6px,1.6vw,18px) clamp(2px,.8vw,10px)}
body.as-plain .article-title{padding:16px 0 6px}
body.as-plain .article-meta{border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:22px}
/* 经典式：书卷纸纹 + 双线框 + 衬线标题 */
body.as-classic .article-body{background:repeating-linear-gradient(0deg,var(--paper),var(--paper) 26px,rgba(200,169,106,.045) 26px,rgba(200,169,106,.045) 27px);border:1px solid var(--c-accent-light);outline:1px solid var(--c-accent-light);outline-offset:3px;border-radius:2px}
body.as-classic .article-title{font-family:var(--serif);letter-spacing:5px}
body.as-classic .article-meta{border-top:1px solid var(--c-accent-light);border-bottom:1px solid var(--c-accent-light);padding:9px 0;margin-top:6px}
body.as-classic .rich-text p{line-height:2}
body.as-classic .article-nav a,body.as-classic .article-nav span{border-radius:2px}

/* ---------- 时间轴 ---------- */
.timeline{position:relative;margin:20px 0;padding-left:30px}
.timeline::before{content:"";position:absolute;left:9px;top:0;bottom:0;width:2px;background:var(--c-accent-light)}
.tl-item{position:relative;margin-bottom:26px}
.tl-dot{position:absolute;left:-26px;top:8px;width:10px;height:10px;border-radius:50%;background:var(--c-accent);box-shadow:0 0 0 4px var(--c-accent-pale)}
.tl-card{background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:14px 18px;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.tl-card:hover{transform:translateX(6px);box-shadow:0 8px 18px rgba(0,0,0,.07)}
.tl-card time{font-size:12px;color:var(--c-primary);font-weight:600;letter-spacing:1px}
.tl-card a{display:block;font-size:15px;margin:4px 0}
.tl-card a:hover{color:var(--c-primary)}
.tl-card p{font-size:13px;color:var(--ink-2)}

/* ---------- 百米画廊（横向展厅） ---------- */
.exhibition-hero{background:var(--c-primary-deep);color:#fff;padding:34px 0}
.exhibition-hero h2{font-size:26px;letter-spacing:4px}
.exhibition-hero h2 span{font-size:14px;color:var(--c-accent);letter-spacing:2px;margin-left:12px}
.exhibition-hero p{margin-top:8px;font-size:13px;color:rgba(255,255,255,.75)}
.exhibit-wrap{padding:50px 0 30px;overflow:hidden}
.exhibit-track{display:flex;gap:34px;padding:10px clamp(14px,var(--page-pad),40px);overflow-x:auto;scroll-snap-type:x mandatory;cursor:grab;scrollbar-width:none}
.exhibit-track::-webkit-scrollbar{display:none}
.exhibit-track.dragging{cursor:grabbing;scroll-snap-type:none}
.exhibit-item{flex:none;width:clamp(240px,30vw,360px);scroll-snap-align:center}
.exhibit-frame{aspect-ratio:3/4;background:var(--paper);border:10px solid var(--paper);box-shadow:0 10px 30px rgba(0,0,0,.16);display:flex;align-items:center;justify-content:center;overflow:hidden;transition:transform .4s var(--ease)}
.exhibit-item:hover .exhibit-frame{transform:translateY(-8px) rotate(.6deg)}
.exhibit-frame img{width:100%;height:100%;object-fit:cover}
.ph-empty{color:var(--ink-3);font-size:13px}
.exhibit-item figcaption{text-align:center;margin-top:14px;font-family:var(--serif);letter-spacing:2px;color:var(--ink-2);font-size:14px}
.exhibit-progress{height:3px;background:var(--line);margin:30px auto 6px;max-width:520px;border-radius:2px;overflow:hidden}
.exhibit-progress i{display:block;height:100%;width:0;background:var(--c-primary);transition:width .2s linear}

/* ---------- 灯箱 ---------- */
.lightbox{position:fixed;inset:0;background:rgba(20,12,8,.92);z-index:1000;display:none;align-items:center;justify-content:center;flex-direction:column}
.lightbox.open{display:flex;animation:lbIn .3s var(--ease)}
@keyframes lbIn{from{opacity:0}to{opacity:1}}
.lightbox img{max-width:88vw;max-height:78vh;border-radius:6px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.lb-cap{color:rgba(255,255,255,.85);margin-top:16px;font-size:14px;letter-spacing:2px}
.lb-close,.lb-prev,.lb-next{position:absolute;background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:50%;width:44px;height:44px;font-size:22px;cursor:pointer;transition:background .2s}
.lb-close:hover,.lb-prev:hover,.lb-next:hover{background:var(--c-accent);color:var(--c-primary-dark)}
.lb-close{top:22px;right:26px}
.lb-prev{left:20px;top:50%;transform:translateY(-50%)}
.lb-next{right:20px;top:50%;transform:translateY(-50%)}

/* ---------- 相册 ---------- */
.photos-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.photo-item .photo-box{aspect-ratio:4/3;border-radius:5px;overflow:hidden;background:var(--c-accent-pale);cursor:zoom-in}
.photo-box img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.photo-item:hover .photo-box img{transform:scale(1.08)}
.photo-item figcaption{font-size:12.5px;color:var(--ink-2);margin-top:6px;text-align:center}
.album{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.al-item{aspect-ratio:16/10;border-radius:5px;display:flex;align-items:flex-end;padding:10px;font-size:13px;color:#F6E9D2;letter-spacing:2px;font-family:var(--serif);transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.al-item:hover{transform:translateY(-5px);box-shadow:0 12px 26px rgba(0,0,0,.18)}

/* ---------- 表单 ---------- */
.msg-form label{display:block;margin-bottom:14px;font-size:13.5px;color:var(--ink-2)}
.msg-form input,.msg-form select,.msg-form textarea{display:block;width:100%;margin-top:6px;padding:10px 12px;border:1px solid var(--line);border-radius:4px;font-size:14px;background:var(--paper);color:var(--ink);outline:none;font-family:var(--sans);transition:border-color .25s,box-shadow .25s}
.msg-form input:focus,.msg-form select:focus,.msg-form textarea:focus{border-color:var(--c-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--c-accent) 25%,transparent)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-ok,.form-err{padding:12px 16px;border-radius:4px;margin-bottom:18px;font-size:13.5px}
.form-ok{background:#E1F5EE;color:#0F6E56}
.form-err{background:#FBEAF0;color:#993556}
.form-links{font-size:12.5px;color:var(--ink-3);margin-top:12px}
.form-links a{color:var(--c-primary)}
.search-big{display:flex;gap:10px;margin:20px 0}
.search-big input{flex:1;padding:12px 16px;border:1px solid var(--line);border-radius:4px;font-size:15px;outline:none;background:var(--paper)}
.search-big input:focus{border-color:var(--c-accent)}
.search-info{font-size:13px;color:var(--ink-2);margin-bottom:10px}

/* ---------- 子站元素 ---------- */
.enroll-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.e-card{background:var(--paper);border:1px solid var(--line);border-radius:6px;overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.e-card:hover{transform:translateY(-6px);box-shadow:0 14px 30px color-mix(in srgb,var(--c-primary) 14%,transparent)}
.e-card .tagline{background:var(--c-primary);color:rgba(255,255,255,.94);font-size:12.5px;letter-spacing:2px;padding:9px 16px;display:flex;justify-content:space-between;align-items:center}
.e-card .tagline i{font-style:normal;color:var(--c-accent);font-size:11px;border:1px solid var(--c-accent);padding:1px 8px;border-radius:2px;animation:pulse 2.4s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.45}}
.e-card .bd{padding:16px 18px}
.e-card h4{font-size:15.5px;letter-spacing:.5px;line-height:1.6;min-height:72px}
.e-card .acts{display:flex;gap:10px}
.e-card .acts a{flex:1;text-align:center;border-radius:3px;padding:9px 0;font-size:13px;transition:transform .25s var(--ease)}
.e-card .acts a:hover{transform:translateY(-2px)}
.a-solid{background:var(--c-primary);color:#fff}
.a-line{border:1px solid var(--c-accent-light);color:#8a6d3b;background:var(--c-accent-pale)}
.enroll-tip{margin-top:14px;background:var(--c-accent-pale);border:1px dashed var(--c-accent-light);border-radius:4px;padding:10px 16px;font-size:12.5px;color:#8a6d3b}
.links-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding-bottom:36px}
.quick{background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:18px 20px}
.quick h5{font-size:16px;letter-spacing:3px;color:var(--c-primary-deep);margin-bottom:12px;font-weight:500}
.quick a{display:inline-block;font-size:13px;color:var(--ink-2);border:1px solid var(--line);border-radius:3px;padding:6px 14px;margin:0 8px 8px 0;background:var(--bg);transition:all .25s var(--ease)}
.quick a:hover{border-color:var(--c-accent);color:var(--c-primary);transform:translateY(-2px)}

/* ---------- 轻提示 ---------- */
.toast{position:fixed;left:50%;bottom:44px;transform:translateX(-50%);background:rgba(40,30,24,.88);color:#F6E9D2;padding:10px 22px;border-radius:4px;font-size:13.5px;letter-spacing:1px;opacity:0;pointer-events:none;transition:opacity .35s;z-index:1001}

/* ---------- 返回顶部 ---------- */
.back-top{position:fixed;right:26px;bottom:30px;width:44px;height:44px;border-radius:50%;border:1px solid var(--c-accent-light);background:var(--c-primary);color:var(--c-accent-light);font-size:18px;cursor:pointer;opacity:0;pointer-events:none;transform:translateY(16px);transition:all .35s var(--ease);z-index:90}
.back-top.show{opacity:.92;pointer-events:auto;transform:none}
.back-top:hover{background:var(--c-primary-deep);transform:translateY(-4px)}

/* ---------- 滚动渐入动效 ---------- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.in{opacity:1;transform:none}

/* =====================================================================
   响应式适配：手机 / 平板 / 笔记本 / 带鱼屏 / 大屏电子屏
   ===================================================================== */

/* 带鱼屏与大屏：内容限宽居中，三栏自动加密排布 */
@media (min-width: 2000px){
  html{font-size:calc(var(--font-scale) * 1.06)}
  .media,.cards-grid,.albums-grid{grid-template-columns:repeat(4,1fr)}
  .photos-grid{grid-template-columns:repeat(6,1fr)}
}

/* 平板横/竖屏 */
@media (max-width: 1100px){
  .news-grid,.list-layout{grid-template-columns:1fr}
  .list-side{order:-1}
  .two-col{grid-template-columns:1fr;gap:24px}
  .footer-cols{grid-template-columns:1fr 1fr}
  .photos-grid,.album{grid-template-columns:repeat(3,1fr)}
  .nav-row-main>a{padding:0 12px;letter-spacing:1px;font-size:14px}
  .hero-art{opacity:.4}
}

/* 笔记本以下微调 */
@media (max-width: 900px){
  .features{grid-template-columns:1fr}
  .f-card{height:150px}
  .media,.cards-grid,.albums-grid,.enroll-grid{grid-template-columns:1fr 1fr}
  .e-card h4{min-height:0}
  .header-in{min-height:76px}
  .brand-t b{font-size:22px;letter-spacing:4px}
  .hotline{display:none}
}

/* 手机 */
@media (max-width: 767px){
  .header-tools{gap:10px}
  .search input{width:130px}
  .hero-in{height:340px}
  .hero-art{display:none}
  .hero-txt h2{letter-spacing:2px}
  .tabs{gap:14px;font-size:13.5px;overflow-x:auto;flex-wrap:nowrap}
  .section{padding:calc(var(--section-gap) * .7) 0 6px}
  .news-list li{padding:9px 0}
  .form-row{grid-template-columns:1fr}
  .footer-cols{grid-template-columns:1fr;gap:20px;padding:28px 0}
  .media,.cards-grid,.albums-grid,.enroll-grid,.links-row,.photos-grid,.album{grid-template-columns:1fr 1fr}
  .photos-grid,.album{grid-template-columns:repeat(2,1fr)}
  .topbar .wrap{height:auto;padding:6px 14px}
  .notice-wrap{display:none}
  .article-meta{gap:10px;font-size:11.5px}
  .exhibit-item{width:70vw}
  .lb-prev{left:8px}.lb-next{right:8px}
  .article-body{padding:18px 16px}
}

/* 横屏矮窗口（部分电子显示屏） */
@media (max-height: 560px) and (orientation: landscape){
  .hero-in{height:260px}
  .hero-txt h2{font-size:22px}
  .hero-btns{margin-top:18px}
}

/* 减弱动态偏好（无障碍） */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important;scroll-behavior:auto !important}
  .reveal{opacity:1;transform:none}
}

/* =====================================================================
   主题扩展：jade 青玉 / dusk 棠紫 / night 墨夜 / dawn 晨曦
   ===================================================================== */
body.theme-jade{ --c-primary:#1F6E5E; --c-primary-deep:#16544A; --c-primary-dark:#0E3B34;
  --c-accent:#C9A96A; --c-accent-light:#E9DCC2; --c-accent-pale:#F3EFE3;
  --bg:#F3F7F5; --paper:#FFFFFF; --ink:#22332F; --ink-2:#567068; --ink-3:#93AAA2; --line:#D9E5E0;
  --hero-from:#16544A; --hero-to:#0E3B34; --hero-text:#EDF3EE;}
body.theme-dusk{ --c-primary:#5A3E7A; --c-primary-deep:#452C60; --c-primary-dark:#31203F;
  --c-accent:#C8A96A; --c-accent-light:#E9DCC2; --c-accent-pale:#F5F0E4;
  --bg:#F7F5FA; --paper:#FFFFFF; --ink:#2E2A38; --ink-2:#655E75; --ink-3:#A29DB0; --line:#E4E0EC;
  --hero-from:#452C60; --hero-to:#31203F; --hero-text:#F0E9F6;}
body.theme-night{ --c-primary:#2E3D55; --c-primary-deep:#1F2B3F; --c-primary-dark:#141D2B;
  --c-accent:#C8A96A; --c-accent-light:#3A4560; --c-accent-pale:#232C3D;
  --bg:#171E2A; --paper:#1F2837; --ink:#E8E4D8; --ink-2:#B9BFCB; --ink-3:#7E8794; --line:#2E3A4D;
  --hero-from:#1F2B3F; --hero-to:#141D2B; --hero-text:#EDE4CE;}
body.theme-dawn{ --c-primary:#A3522B; --c-primary-deep:#7C3E1E; --c-primary-dark:#572B14;
  --c-accent:#D9B36A; --c-accent-light:#F3E6C8; --c-accent-pale:#FBF5E8;
  --bg:#FBF8F3; --paper:#FFFDF8; --ink:#33291F; --ink-2:#6E6152; --ink-3:#A99C8A; --line:#EADFCB;
  --hero-from:#7C3E1E; --hero-to:#572B14; --hero-text:#F9EFDB;}

/* =====================================================================
   动感旗舰主题（流光动效 · 高级感）
   aurora 极光幻彩 / glory 鎏金圣殿 / ocean 深海之光 / flame 烈焰赤金
   ===================================================================== */
body.theme-aurora{ --c-primary:#3D2E7A; --c-primary-deep:#2B1F5C; --c-primary-dark:#1B1340;
  --c-accent:#4FD1C5; --c-accent-light:#B2F5EA; --c-accent-pale:#E6FFFA;
  --bg:#F6F6FC; --paper:#FFFFFF; --ink:#262038; --ink-2:#5A5470; --ink-3:#9A94AE; --line:#E2E0F0;
  --hero-from:#3D2E7A; --hero-to:#0E5E58; --hero-text:#EDEAFE;}
body.theme-glory{ --c-primary:#8A6A1F; --c-primary-deep:#6B5112; --c-primary-dark:#453408;
  --c-accent:#E5C04B; --c-accent-light:#F6E3A8; --c-accent-pale:#FBF3DC;
  --bg:#FAF7EF; --paper:#FFFEF9; --ink:#2E2716; --ink-2:#6E6248; --ink-3:#A79C80; --line:#EAE0C6;
  --hero-from:#241A05; --hero-to:#0F0A02; --hero-text:#F6E3A8;}
body.theme-ocean{ --c-primary:#0B4F8A; --c-primary-deep:#083A66; --c-primary-dark:#052642;
  --c-accent:#38BDF8; --c-accent-light:#BAE6FD; --c-accent-pale:#E8F6FE;
  --bg:#F2F8FC; --paper:#FFFFFF; --ink:#16283A; --ink-2:#4A6076; --ink-3:#8CA2B5; --line:#D8E6F2;
  --hero-from:#052642; --hero-to:#02101E; --hero-text:#D8ECFA;}
body.theme-flame{ --c-primary:#B03A2E; --c-primary-deep:#8A2A20; --c-primary-dark:#5C1A12;
  --c-accent:#F39C3D; --c-accent-light:#FAD7A0; --c-accent-pale:#FDF2E0;
  --bg:#FBF5F2; --paper:#FFFEFC; --ink:#33201B; --ink-2:#6E554C; --ink-3:#A89188; --line:#EBDAD2;
  --hero-from:#5C1A12; --hero-to:#2E0B06; --hero-text:#FADFC8;}

/* 动感主题专属：流动渐变主视觉 + 流光描边 + 呼吸光晕 */
body.theme-aurora .hero,body.theme-aurora .xk-hero{
  background:linear-gradient(125deg,#2B1F5C,#0E5E58,#1F4E8A,#5B2E7A,#2B1F5C);
  background-size:320% 320%;animation:heroFlow 16s ease infinite}
body.theme-glory .hero,body.theme-glory .xk-hero{
  background:linear-gradient(125deg,#241A05,#6B5112,#3A2B06,#8A6A1F,#241A05);
  background-size:320% 320%;animation:heroFlow 18s ease infinite}
body.theme-ocean .hero,body.theme-ocean .xk-hero{
  background:linear-gradient(125deg,#02101E,#0B4F8A,#083A66,#0E7490,#02101E);
  background-size:320% 320%;animation:heroFlow 15s ease infinite}
body.theme-flame .hero,body.theme-flame .xk-hero{
  background:linear-gradient(125deg,#2E0B06,#B03A2E,#8A2A20,#C05621,#2E0B06);
  background-size:320% 320%;animation:heroFlow 14s ease infinite}
@keyframes heroFlow{0%,100%{background-position:0% 40%}50%{background-position:100% 60%}}

/* 主视觉内流动的光束 */
body.theme-aurora .hero::before,body.theme-glory .hero::before,body.theme-ocean .hero::before,body.theme-flame .hero::before,
body.theme-aurora .xk-hero::before,body.theme-glory .xk-hero::before,body.theme-ocean .xk-hero::before,body.theme-flame .xk-hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(100deg,transparent 35%,rgba(255,255,255,.09) 50%,transparent 65%);
  background-size:250% 100%;animation:beamSlide 7s ease-in-out infinite}
@keyframes beamSlide{0%{background-position:120% 0}100%{background-position:-120% 0}}
body.theme-aurora .hero,body.theme-glory .hero,body.theme-ocean .hero,body.theme-flame .hero{position:relative}

/* 导航条流光下沿 */
body.theme-aurora .mainnav,body.theme-glory .mainnav,body.theme-ocean .mainnav,body.theme-flame .mainnav{position:relative}
body.theme-aurora .mainnav::after,body.theme-glory .mainnav::after,body.theme-ocean .mainnav::after,body.theme-flame .mainnav::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--c-accent),transparent);
  background-size:50% 100%;animation:navGlow 5s linear infinite}
@keyframes navGlow{from{background-position:-60% 0}to{background-position:160% 0}}

/* 鎏金圣殿：金色标题与暗色页脚更奢华 */
body.theme-glory .site-footer{background:#0F0A02}
body.theme-glory .hero-txt h2{text-shadow:0 2px 18px rgba(229,192,75,.35)}
body.theme-aurora .f-c{background:linear-gradient(135deg,#4FD1C5,#2B8A80);color:#123}
body.theme-ocean .f-b{background:linear-gradient(135deg,#0E7490,#083A66)}
body.theme-flame .f-b{background:linear-gradient(135deg,#C05621,#7A2E0E)}

.brand-logo{width:58px;height:58px;border-radius:50%;object-fit:cover;border:2px solid var(--c-accent-light);box-shadow:0 2px 10px rgba(0,0,0,.12);background:#fff;transition:transform .4s var(--ease)}
.brand:hover .brand-logo{transform:rotate(-4deg) scale(1.05)}
.site-switch{position:relative}
.site-switch-btn{display:flex;align-items:center;gap:7px;background:var(--c-accent-pale);border:1px solid var(--c-accent-light);color:var(--c-primary);font-size:12.5px;font-weight:600;padding:6px 12px;border-radius:20px;cursor:pointer;transition:.25s}
.site-switch-btn .dot{width:7px;height:7px;border-radius:50%;background:var(--c-accent)}
.site-switch-btn .tri{border:solid currentColor;border-width:0 1.5px 1.5px 0;padding:2px;transform:rotate(45deg) translateY(-1px)}
.site-switch-btn:hover{background:var(--c-accent);color:var(--c-primary-dark)}
.site-switch-menu{position:absolute;top:calc(100% + 10px);right:0;width:290px;background:var(--paper);border:1px solid var(--line);border-top:2px solid var(--c-accent);border-radius:14px;box-shadow:0 18px 46px rgba(0,0,0,.16);padding:8px;display:none;z-index:60}
.site-switch-menu[hidden]{display:none !important}
.site-switch.open .site-switch-menu{display:block;animation:ddin .28s var(--ease)}
.site-switch-menu a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;transition:.2s}
.site-switch-menu a:hover{background:var(--c-accent-pale)}
.site-switch-menu a.on{background:var(--c-accent-pale)}
.site-switch-menu img{width:38px;height:38px;border-radius:50%;object-fit:cover;background:#fff;border:1px solid var(--line)}
.mini-badge{width:38px;height:38px;border-radius:50%;background:var(--c-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:17px;flex-shrink:0}
.site-switch-menu span{display:flex;flex-direction:column;min-width:0}
.site-switch-menu b{font-size:13.5px;color:var(--ink)}
.site-switch-menu i{font-style:normal;font-size:11px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:190px}
.site-switch-menu em{margin-left:auto;font-size:10.5px;color:var(--c-primary);background:var(--c-accent-pale);padding:1px 7px;border-radius:10px}

/* 导航功能入口 */
.nav-features{display:flex;gap:2px;align-items:stretch}
.nav-features .feat{font-size:13px;padding:0 12px;display:inline-flex;align-items:center;gap:5px;opacity:.92}
.nav-features .feat:hover{opacity:1;color:var(--c-accent)}
.feat-live .live-dot{width:8px;height:8px;border-radius:50%;background:#E4473C;box-shadow:0 0 0 0 rgba(228,71,60,.6);animation:livePulse 1.6s infinite}
@keyframes livePulse{70%{box-shadow:0 0 0 8px rgba(228,71,60,0)}100%{box-shadow:0 0 0 0 rgba(228,71,60,0)}}

/* =====================================================================
   直播 / 影音 / 商城 / 祷告墙 / 读经 等通用组件
   ===================================================================== */
.xk-hero{background:linear-gradient(140deg,var(--hero-from),var(--hero-dark,var(--hero-to)));color:var(--hero-text);padding:44px 0 40px;position:relative;overflow:hidden}
.xk-hero::after{content:"";position:absolute;right:-60px;top:-60px;width:300px;height:300px;border-radius:50%;background:rgba(255,255,255,.05)}
.xk-hero h2{font-size:clamp(24px,3.4vw,34px);letter-spacing:4px}
.xk-hero p{margin-top:8px;opacity:.75;font-size:13.5px}
.xk-hero .xk-crumb{font-size:12.5px;opacity:.6;margin-bottom:10px}
.xk-hero .xk-crumb a:hover{color:var(--c-accent)}

.xk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:20px;padding:var(--section-gap) 0}
.xk-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s;position:relative}
.xk-card:hover{transform:translateY(-6px);box-shadow:0 16px 36px rgba(0,0,0,.1)}
.xk-card .cover{position:relative;aspect-ratio:16/9;background:var(--c-accent-pale);overflow:hidden}
.xk-card .cover img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.xk-card:hover .cover img{transform:scale(1.06)}
.xk-card .cover .noimg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:40px;color:var(--c-accent);font-family:var(--serif)}
.xk-card .bd{padding:14px 16px 16px}
.xk-card .bd b{display:block;font-size:15.5px;color:var(--ink);font-family:var(--serif);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.xk-card .bd .meta{display:flex;gap:10px;margin-top:8px;font-size:11.5px;color:var(--ink-3)}
.xk-badge{position:absolute;top:10px;left:10px;z-index:2;font-size:11px;padding:2px 10px;border-radius:12px;color:#fff;font-weight:600;letter-spacing:1px}
.xk-badge.live{background:#E4473C;animation:livePulse 1.6s infinite}
.xk-badge.upcoming{background:#B98A2F}
.xk-badge.ended{background:#8A8A8A}
.xk-badge.hot{background:#E4473C}
.xk-badge.new{background:#2E8B57}
.xk-badge.audio{background:var(--c-primary)}
.xk-badge.video{background:#1F6E9E}

/* 播放器 */
.xk-player{position:relative;background:#000;border-radius:16px;overflow:hidden;box-shadow:0 20px 50px rgba(0,0,0,.2)}
.xk-player video,.xk-player audio{width:100%;display:block}
.xk-player video{aspect-ratio:16/9}
.xk-player audio{padding:14px 0}
.xk-player iframe{width:100%;aspect-ratio:16/9;border:0;display:block}
.xk-live-bar{display:flex;align-items:center;gap:12px;padding:14px 18px;background:var(--paper);border:1px solid var(--line);border-top:0;border-radius:0 0 16px 16px;font-size:13px;color:var(--ink-2)}
.xk-live-bar .v{margin-left:auto;color:var(--ink-3)}

/* 详情页说明区 */
.xk-desc{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:22px 24px;margin-top:22px;font-size:14.5px;line-height:2;color:var(--ink-2)}
.xk-desc h4{color:var(--ink);font-size:17px;margin-bottom:10px;letter-spacing:2px}
.xk-side-title{font-family:var(--serif);font-size:16px;color:var(--ink);border-left:4px solid var(--c-accent);padding-left:10px;margin-bottom:14px;letter-spacing:2px}
.xk-rel li{padding:9px 0;border-bottom:1px dashed var(--line);font-size:13.5px}
.xk-rel li a:hover{color:var(--c-primary)}
.xk-rel li span{float:right;color:var(--ink-3);font-size:12px}

/* 商城 */
.shop-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:14px 18px;margin-bottom:4px}
.shop-toolbar .cat-pill{font-size:13px;padding:6px 16px;border-radius:18px;border:1px solid var(--line);color:var(--ink-2);transition:.2s}
.shop-toolbar .cat-pill:hover,.shop-toolbar .cat-pill.on{background:var(--c-primary);color:#fff;border-color:var(--c-primary)}
.shop-toolbar form{margin-left:auto;display:flex;gap:8px}
.shop-toolbar input{padding:8px 14px;border:1px solid var(--line);border-radius:18px;font-size:13px;background:var(--bg);width:200px}
.shop-toolbar button{padding:8px 18px;border:0;border-radius:18px;background:var(--c-primary);color:#fff;cursor:pointer;font-size:13px}
.shop-price{color:#C0392B;font-size:19px;font-weight:700;font-family:var(--sans)}
.shop-price s{font-size:12px;color:var(--ink-3);font-weight:400;margin-left:6px}
.shop-stock{font-size:11.5px;color:var(--ink-3)}
.shop-cart-fab{position:fixed;right:26px;bottom:90px;z-index:80;background:var(--c-primary);color:#fff;width:56px;height:56px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:11px;box-shadow:0 10px 26px rgba(0,0,0,.25);transition:transform .3s}
.shop-cart-fab:hover{transform:scale(1.08)}
.shop-cart-fab .n{position:absolute;top:-4px;right:-4px;background:#E4473C;color:#fff;font-size:10.5px;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px}
.cart-table{width:100%;border-collapse:collapse;background:var(--paper);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.cart-table th,.cart-table td{padding:13px 16px;text-align:left;font-size:13.5px;border-bottom:1px solid var(--line)}
.cart-table th{background:var(--c-accent-pale);font-size:12.5px;color:var(--ink-2);letter-spacing:1px}
.cart-table .pname{display:flex;align-items:center;gap:12px}
.cart-table .pname img{width:56px;height:56px;border-radius:10px;object-fit:cover}
.cart-table input.qty{width:64px;padding:6px 8px;border:1px solid var(--line);border-radius:8px;text-align:center}
.btn-buy{display:inline-block;background:var(--c-primary);color:#fff;padding:13px 34px;border-radius:26px;font-size:15px;border:0;cursor:pointer;letter-spacing:2px;transition:.25s;font-family:var(--serif)}
.btn-buy:hover{background:var(--c-primary-deep);transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.15)}
.btn-buy[disabled]{opacity:.5;cursor:not-allowed;transform:none}
.btn-ghost{display:inline-block;border:1px solid var(--line);color:var(--ink-2);padding:11px 24px;border-radius:24px;font-size:13.5px;transition:.2s}
.btn-ghost:hover{border-color:var(--c-primary);color:var(--c-primary)}
.order-status{display:inline-block;font-size:11.5px;padding:2px 12px;border-radius:12px}
.order-status.pending{background:#FDF3E1;color:#B98A2F}
.order-status.paid{background:#E6F4EA;color:#1E7E34}
.order-status.shipped{background:#E8F1FB;color:#185FA5}
.order-status.done{background:#EFEFEF;color:#666}
.order-status.cancelled{background:#FBEAEA;color:#C0392B}

/* 祷告墙 */
.prayer-form{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:24px;position:relative;overflow:hidden}
.prayer-form::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--c-primary),var(--c-accent))}
.prayer-grid{columns:2;column-gap:20px;padding:var(--section-gap) 0}
@media(max-width:820px){.prayer-grid{columns:1}}
.prayer-card{break-inside:avoid;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:20px 22px;margin-bottom:20px;position:relative;transition:transform .3s var(--ease),box-shadow .3s}
.prayer-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(0,0,0,.08)}
.prayer-card .pname{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-size:15px;color:var(--ink)}
.prayer-card .pname .avatar{width:36px;height:36px;border-radius:50%;background:var(--c-accent-pale);color:var(--c-primary);display:flex;align-items:center;justify-content:center;font-size:15px}
.prayer-card .pname time{margin-left:auto;font-size:11.5px;color:var(--ink-3)}
.prayer-card .ptitle{margin:10px 0 6px;font-size:15px;color:var(--c-primary);font-weight:600}
.prayer-card .pcontent{font-size:14px;line-height:1.9;color:var(--ink-2)}
.prayer-card .preply{margin-top:12px;background:var(--c-accent-pale);border-radius:10px;padding:10px 14px;font-size:12.5px;color:var(--ink-2)}
.prayer-card .preply b{color:var(--c-primary)}
.prayer-card .pfoot{margin-top:14px;display:flex;align-items:center;gap:10px}
.btn-pray{border:1px solid var(--c-accent);color:var(--c-primary);background:var(--c-accent-pale);padding:6px 16px;border-radius:18px;font-size:12.5px;cursor:pointer;transition:.2s}
.btn-pray:hover{background:var(--c-accent);color:var(--c-primary-dark)}
.btn-pray.prayed{background:var(--line);border-color:var(--line);color:var(--ink-3);cursor:default}

/* 读经 */
.bible-hero-search{display:flex;gap:10px;max-width:520px;margin-top:18px}
.bible-hero-search input{flex:1;padding:11px 18px;border-radius:24px;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.12);color:#fff;font-size:13.5px}
.bible-hero-search input::placeholder{color:rgba(255,255,255,.5)}
.bible-hero-search button{padding:0 22px;border:0;border-radius:24px;background:var(--c-accent);color:var(--c-primary-dark);font-weight:600;cursor:pointer}
.bible-books{display:grid;grid-template-columns:repeat(auto-fill,minmax(105px,1fr));gap:10px;margin-top:16px}
.bible-books a{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:10px 8px;text-align:center;font-size:13px;font-family:var(--serif);transition:.2s}
.bible-books a:hover{border-color:var(--c-primary);color:var(--c-primary);transform:translateY(-2px)}
.bible-books a.on{background:var(--c-primary);color:#fff;border-color:var(--c-primary)}
.bible-read{max-width:860px;margin:0 auto}
.bible-verses{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:clamp(20px,4vw,44px);font-family:var(--serif);font-size:calc(16px * var(--bible-fs,1));line-height:2.3;color:var(--ink)}
.bible-verses p{text-indent:2em;margin-bottom:.6em}
.bible-verses .vn{color:var(--c-accent);font-size:.72em;font-family:var(--sans);vertical-align:super;margin-right:4px;user-select:none}
.bible-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:18px 0}
.bible-tools select,.bible-tools .fsbtn{padding:8px 14px;border:1px solid var(--line);border-radius:20px;background:var(--paper);font-size:13px;color:var(--ink-2);cursor:pointer}
.bible-tools .fsbtn:hover{border-color:var(--c-primary);color:var(--c-primary)}
.bible-nav{display:flex;justify-content:space-between;margin-top:20px}
.bible-nav a{background:var(--paper);border:1px solid var(--line);padding:10px 22px;border-radius:24px;font-size:13.5px;transition:.2s}
.bible-nav a:hover{border-color:var(--c-primary);color:var(--c-primary)}

/* 权限锁定页 */
.locked-box{max-width:520px;margin:calc(var(--section-gap)*1.2) auto;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:44px 40px;text-align:center}
.locked-box .lock-ico{width:64px;height:64px;margin:0 auto 18px;border-radius:50%;background:var(--c-accent-pale);display:flex;align-items:center;justify-content:center;font-size:28px}
.locked-box h3{font-size:20px;letter-spacing:2px;color:var(--ink)}
.locked-box p{margin:12px 0 22px;color:var(--ink-2);font-size:13.5px;line-height:1.9}

/* 个人中心 */
.mc-head{display:flex;align-items:center;gap:16px;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:20px 24px}
.mc-head .mc-avatar{width:60px;height:60px;border-radius:50%;background:var(--c-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;font-family:var(--serif)}
.mc-head .grp{font-size:11.5px;background:var(--c-accent-pale);color:var(--c-primary);padding:2px 10px;border-radius:10px;margin-left:8px}
.mc-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}
@media(max-width:900px){.mc-grid{grid-template-columns:1fr}}
.mc-panel{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:20px}
.mc-panel h5{font-size:15px;letter-spacing:2px;border-left:4px solid var(--c-accent);padding-left:10px;margin-bottom:14px}
.mc-panel table{width:100%;border-collapse:collapse;font-size:13px}
.mc-panel td{padding:8px 6px;border-bottom:1px dashed var(--line);color:var(--ink-2)}
.mc-form label{display:block;font-size:13px;color:var(--ink-2);margin-bottom:12px}
.mc-form input,.mc-form select{width:100%;margin-top:5px;padding:9px 12px;border:1px solid var(--line);border-radius:8px;font-size:13.5px;background:var(--bg)}
.mc-form .row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}

/* 底部备案（居中展示） */
.footer-copy{display:flex;flex-direction:column;gap:6px;align-items:center;text-align:center}
.footer-copy .beian{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 20px;opacity:.85}
.footer-copy .beian a:hover{color:var(--c-accent)}
.foot-logo{width:40px;height:40px;border-radius:50%;object-fit:cover;background:#fff;border:2px solid rgba(200,169,106,.4)}

/* 页头工具响应式 */
@media(max-width:1080px){
  .site-switch{display:none}
  .nav-features{overflow-x:auto}
}
/* 直播+祷告入口网格响应式 */
.lp-grid{grid-template-columns:1.6fr 1fr 1fr}
@media(max-width:900px){.lp-grid{grid-template-columns:1fr !important}}
.live-layout{display:grid;grid-template-columns:1fr 300px;gap:24px}
@media(max-width:960px){.live-layout{grid-template-columns:1fr}}
.pd-layout{display:grid;grid-template-columns:440px 1fr;gap:34px}
@media(max-width:900px){.pd-layout{grid-template-columns:1fr}}

/* =====================================================================
   后台自定义变量应用区（圆角 / 阴影 / 宽度模式 / 动效级别）
   ===================================================================== */
.xk-card,.m-card,.side-card,.prayer-card,.prayer-form,.bible-verses,.mc-panel,
.shop-toolbar,.cart-table,.xk-desc,.locked-box,.e-card,.quick,.article-body,
.attach-box,.f-card,.album .al-item,.tl-card,.exhibit-frame{border-radius:var(--r-card,12px)}
.xk-card:hover,.m-card:hover,.e-card:hover{box-shadow:0 16px 36px rgba(0,0,0,calc(.1 * var(--elev,1)))}
.f-card:hover{box-shadow:0 16px 34px rgba(0,0,0,calc(.22 * var(--elev,1)))}
.prayer-card:hover{box-shadow:0 14px 30px rgba(0,0,0,calc(.08 * var(--elev,1)))}
.xk-player{box-shadow:0 20px 50px rgba(0,0,0,calc(.2 * var(--elev,1)))}

/* 全屏自适应宽度模式：铺满屏幕并按边距留白 */
body.width-full .wrap{padding:0 clamp(18px,calc(var(--page-pad) * 1%),72px)}
body.width-full .hero-txt{max-width:72%}

/* 精简动效模式：关掉装饰动画，保留基本过渡 */
body.motion-off *,body.motion-off *::before,body.motion-off *::after{
  animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.15s !important}
body.motion-off .reveal{opacity:1;transform:none}

/* 导航菜单与底部备案强制居中（防止主题样式覆盖） */
.site-footer .footer-copy{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.site-footer .footer-copy .beian{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 20px;text-align:center}
.site-footer .footer-copy .beian span,.site-footer .footer-copy .beian a{white-space:nowrap}
/* 导航超宽不再换行：由「更多」收纳 + JS 溢出检测保证全部可达、无横向滚动 */
@media(max-width:1080px){
  .mainnav .nav-in{flex-wrap:wrap;height:auto;min-height:var(--nav-h,52px)}
}

/* =====================================================================
   前台导航栏个性化（后台「导航栏设置」按站点应用）
   ===================================================================== */
.nav-row-main>a{font-size:var(--nav-fs,15px);letter-spacing:var(--nav-ls,2px);font-weight:var(--nav-fw,400)}
.mainnav{--nav-h:52px}
.nav-in{height:var(--nav-h,52px)}
/* 字体 */
.mainnav.nf-serif .nav-row-main>a{font-family:"Songti SC",STSong,serif}
.mainnav.nf-hei .nav-row-main>a{font-family:"PingFang SC","Microsoft YaHei",sans-serif}
.mainnav.nf-kai .nav-row-main>a{font-family:"Kaiti SC",KaiTi,STKaiti,serif}
.mainnav.nf-yuan .nav-row-main>a{font-family:"Yuanti SC","YouYuan","PingFang SC",sans-serif}
/* 文字效果 */
.mainnav.fx-shadow .nav-row-main>a{text-shadow:0 2px 5px rgba(0,0,0,.5)}
.mainnav.fx-gold .nav-row-main>a{color:#F6E7C3;text-shadow:0 1px 3px rgba(0,0,0,.4)}
.mainnav.fx-gold .nav-row-main>a.on{color:#fff}
.mainnav.fx-stroke .nav-row-main>a{text-shadow:0 1px 2px rgba(0,0,0,.65),0 0 2px rgba(255,255,255,.25)}
/* 超宽处理：自动两行 / 横向滚动 */
.mainnav.nav-wrap-auto .nav-in{flex-wrap:wrap;height:auto;min-height:var(--nav-h,52px);padding:4px 0}
.mainnav.nav-wrap-auto .nav-row-main>a{height:auto;padding-top:9px;padding-bottom:9px}
.mainnav.nav-wrap-scroll .nav-in{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}
.mainnav.nav-wrap-scroll .nav-in::-webkit-scrollbar{height:4px}
.mainnav.nav-wrap-scroll .nav-in::-webkit-scrollbar-thumb{background:rgba(255,255,255,.3);border-radius:2px}
/* 对齐 */
.mainnav.nav-align-left .nav-in{justify-content:flex-start}
@media(max-width:880px){
  .mainnav.nav-wrap-auto .nav-in,.mainnav.nav-wrap-scroll .nav-in{flex-wrap:nowrap;height:var(--nav-h,52px);overflow-x:auto}
  .mainnav.nav-align-left .nav-in{justify-content:center}
}

/* =====================================================================
   栏目列表排版自定义（后台「列表排版自定义」按栏目应用）
   ===================================================================== */
.lf .news-list.big li{font-size:var(--lf-size,15px);line-height:var(--lf-lh,1.8)}
.lf .news-list.big li a{color:var(--lf-title,var(--ink));letter-spacing:var(--lf-ls,0);font-weight:var(--lf-fw,400);font-size:inherit}
.lf .news-list .date{color:var(--lf-date,var(--ink-3))}
.lf .news-list li{align-items:flex-start}
.lf .news-list .li-main{flex:1;min-width:0}
.lf .news-list .date{margin-top:.35em}
.lf-summary{font-size:calc(var(--lf-size,15px) * .87);color:var(--lf-summary,var(--ink-2));letter-spacing:var(--lf-ls,0);line-height:var(--lf-lh,1.9);margin-top:5px;font-weight:400}
/* 字体 */
.lf-font-song .news-list a,.lf-font-song .lf-summary,.lf-font-song .m-card h5,.lf-font-song .m-card .desc{font-family:"Songti SC",STSong,serif}
.lf-font-hei .news-list a,.lf-font-hei .lf-summary,.lf-font-hei .m-card h5,.lf-font-hei .m-card .desc{font-family:"PingFang SC","Microsoft YaHei",sans-serif}
.lf-font-kai .news-list a,.lf-font-kai .lf-summary,.lf-font-kai .m-card h5,.lf-font-kai .m-card .desc{font-family:"Kaiti SC",KaiTi,STKaiti,serif}
.lf-font-yuan .news-list a,.lf-font-yuan .lf-summary,.lf-font-yuan .m-card h5,.lf-font-yuan .m-card .desc{font-family:"Yuanti SC","YouYuan","PingFang SC",sans-serif}
/* 卡片模式 */
.lf .m-card h5{color:var(--lf-title,var(--ink));letter-spacing:var(--lf-ls,2px);font-weight:var(--lf-fw,600)}
.lf .m-card .desc{color:var(--lf-summary,var(--ink-2));font-size:var(--lf-size,13px);letter-spacing:var(--lf-ls,0)}
.lf .m-card .meta{color:var(--lf-date,var(--ink-3))}

/* =====================================================================
   导航栏个性化设置应用层（后台「前台导航栏设置」生成）
   ===================================================================== */

/* 菜单项间距 */
.mainnav .nav-in{gap:var(--nav-gap,0)}

/* 文字颜色（仅在后台显式设置时生效） */
.mainnav.nc-c .nav-row-main>a{color:var(--nav-c,rgba(255,255,255,.94))}
.mainnav.nc-h .nav-row-main>a:hover,.mainnav.nc-h .nav-row-main>a.on{color:var(--nav-c-h,#fff)}

/* 背景样式 */
.mainnav.nb-glass{background:rgba(255,255,255,.82);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);box-shadow:0 2px 12px rgba(0,0,0,.08)}
.mainnav.nb-glass .nav-row-main>a{color:#2B2622}
.mainnav.nb-glass .nav-row-main>a:hover,.mainnav.nb-glass .nav-row-main>a.on{background:rgba(0,0,0,.06)}
.mainnav.nb-solid{background:var(--nav-bg-c,var(--c-primary))}
.mainnav.nb-gradient{background:linear-gradient(90deg,var(--c-primary) 0%,#B8863B 100%)}
.mainnav.nb-dark{background:#1C1C22;box-shadow:0 2px 12px rgba(0,0,0,.3)}
.mainnav.nb-dark .nav-row-main>a{color:#E8E2D4}
.mainnav.nb-dark .nav-row-main>a:hover,.mainnav.nb-dark .nav-row-main>a.on{background:#2A2A33}
.mainnav.nb-dark .nav-row-main>a.on:after{background:#C8A96A}

/* 选中项样式 */
.mainnav.na-underline .nav-row-main>a.on{background:transparent;box-shadow:inset 0 -3px 0 rgba(255,255,255,.85)}
.mainnav.na-underline .nav-row-main>a.on:after{display:none}
.mainnav.na-pill .nav-row-main>a.on{background:rgba(255,255,255,.22);border-radius:999px;margin:4px 2px}
.mainnav.na-pill .nav-row-main>a.on:after{display:none}
.mainnav.na-glow .nav-row-main>a.on{background:transparent;box-shadow:none;text-shadow:0 0 12px rgba(255,255,255,.65),0 0 4px rgba(255,255,255,.4)}
.mainnav.na-glow .nav-row-main>a.on:after{display:none}
.mainnav.na-bar .nav-row-main>a.on{background:rgba(255,255,255,.08);box-shadow:inset 0 3px 0 rgba(255,255,255,.75),inset 0 -3px 0 rgba(255,255,255,.75)}
.mainnav.na-bar .nav-row-main>a.on:after{display:none}

/* 滚动吸顶 */
.mainnav.nav-sticky{position:sticky;top:0}

/* =====================================================================
   统一设计 Token 层（作品级精修基础）
   —— 间距刻度 / 圆角 / 阴影 / 动效时长 / 语义色 / 焦点态 / 降级
   ===================================================================== */
:root{
  /* 间距刻度（4px 基准） */
  --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px; --sp-5:24px; --sp-6:32px;
  /* 圆角层级 */
  --r-sm:8px; --r-lg:calc(var(--r-card,12px) + 4px);
  /* 阴影层级（--elev 0~2 由后台控制，默认 1） */
  --sh-1:0 1px 3px rgba(30,20,10,.08),0 1px 2px rgba(30,20,10,.05);
  --sh-2:0 6px 18px rgba(30,20,10,.10),0 2px 6px rgba(30,20,10,.06);
  --sh-3:0 14px 38px rgba(30,20,10,.14),0 4px 10px rgba(30,20,10,.08);
  /* 动效时长与自然缓动（150~300ms） */
  --dur-1:180ms; --dur-2:280ms;
  --ease:cubic-bezier(.22,.61,.36,1);
  /* 语义色（状态统一） */
  --c-ok:#2E8B4A; --c-warn:#C98A1D; --c-err:#C0392B; --c-info:#3B7FB8;
  /* 字号层级（受后台 --font-scale 缩放） */
  --fs-xs:calc(12px * var(--font-scale,1)); --fs-sm:calc(13px * var(--font-scale,1));
  --fs-md:calc(15px * var(--font-scale,1)); --fs-lg:calc(18px * var(--font-scale,1));
  --fs-xl:calc(24px * var(--font-scale,1));
}

/* 动效强度三档：rich（默认）/ soft（弱化）/ off（关闭） */
body.motion-soft{--dur-1:120ms;--dur-2:200ms}
body.motion-soft .reveal{opacity:1 !important;transform:none !important}
body.motion-off *{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
body.motion-off .reveal{opacity:1 !important;transform:none !important}

/* 尊重系统「减弱动态效果」设置（无障碍） */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}
  .reveal{opacity:1 !important;transform:none !important}
}

/* 键盘焦点环（无障碍：Tab 可见且不干扰鼠标点击） */
:focus-visible{outline:2px solid var(--c-primary,#8C2F24);outline-offset:2px;border-radius:3px}
.btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2px solid var(--c-primary,#8C2F24);outline-offset:2px}

/* ---------- 语义色应用（成功/警告/错误提示统一） ---------- */
.tip-ok{border-left:3px solid var(--c-ok)}
.tip-warn{border-left:3px solid var(--c-warn)}
.tip-err{border-left:3px solid var(--c-err)}

/* ---------- 空状态组件（板块无数据时不破版） ---------- */
.empty-state{text-align:center;padding:calc(var(--sp-6) * 1.4) var(--sp-5);color:var(--ink-2,#6b6257)}
.empty-state .es-ico{font-size:34px;opacity:.45;display:block;margin-bottom:var(--sp-3)}
.empty-state .es-txt{font-size:var(--fs-sm);letter-spacing:1px;line-height:1.9}
.empty-state .es-sub{font-size:var(--fs-xs);opacity:.7;margin-top:var(--sp-1)}

/* ---------- 骨架屏（加载占位） ---------- */
@keyframes sk-pulse{0%,100%{opacity:.45}50%{opacity:.85}}
.sk{background:linear-gradient(90deg,rgba(0,0,0,.06),rgba(0,0,0,.11),rgba(0,0,0,.06));
  background-size:200% 100%;animation:sk-pulse 1.4s var(--ease) infinite;border-radius:var(--r-sm)}
.sk-line{height:14px;margin-bottom:10px}
.sk-card{height:180px}

/* ---------- 微交互精修：卡片上浮 / 图片缩放 / 按钮按压 ---------- */
@media (hover:hover){
  .m-card,.xk-card,.f-card,.side-card,.a-card{transition:transform var(--dur-2) var(--ease),box-shadow var(--dur-2) var(--ease)}
  .m-card:hover,.xk-card:hover,.f-card:hover{transform:translateY(-3px);box-shadow:var(--sh-2)}
  .m-card .ph img,.xk-card .cover img{transition:transform var(--dur-2) var(--ease)}
  .m-card:hover .ph img,.xk-card:hover .cover img{transform:scale(1.04)}
}
.btn,.more,.mini{transition:all var(--dur-1) var(--ease)}
.btn:active{transform:scale(.97)}
.news-list a,.gonggao a,.plain-list a,.dl-list a{transition:color var(--dur-1) var(--ease),padding-left var(--dur-1) var(--ease)}
.news-list li:hover a,.gonggao li:hover a{padding-left:4px}

/* ---------- 全局字体（后台可选） ---------- */
body.font-song{font-family:"Songti SC","STSong","SimSun",serif}
body.font-kai{font-family:"Kaiti SC","STKaiti","KaiTi",serif}
body.font-hei{font-family:"PingFang SC","Microsoft YaHei",sans-serif}

/* ---------- 显示密度（后台可选） ---------- */
body.density-compact .section{padding:calc(var(--section-gap,44px) * .62) 0}
body.density-compact .news-list li,.density-compact .gonggao li{padding-top:8px;padding-bottom:8px}

/* ---------- 文字/背景色覆盖（后台显式设置时生效） ---------- */
body.tc-ink{color:var(--tc-ink)}
body.tc-bg{background:var(--tc-bg)}

/* ---------- 页脚社交链接 ---------- */
.footer-socials{display:flex;gap:10px;flex-wrap:wrap;margin-top:var(--sp-3)}
.footer-socials a{display:inline-block;font-size:var(--fs-xs);padding:5px 14px;border-radius:999px;
  border:1px solid rgba(255,255,255,.28);color:rgba(255,255,255,.85);transition:all var(--dur-1) var(--ease)}
.footer-socials a:hover{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.5);transform:translateY(-1px)}

/* =====================================================================
   前台导航自定义层（主行 + 次行 + 更多收纳 + 齿轮自定义面板）
   —— 全部使用统一设计令牌；无 JS 时服务端直出主行+更多，功能不受损
   ===================================================================== */
.nav-in{flex-wrap:wrap}
.nav-row-main{display:flex;align-items:stretch;flex:1 1 auto;min-width:0;justify-content:center;gap:var(--nav-gap,0);position:relative}
.mainnav.nav-align-left .nav-row-main{justify-content:flex-start}

/* ---------- 功能入口（直播/影音等胶囊徽章） ---------- */
.nav-features{display:flex;align-items:center;gap:6px;margin-left:8px;padding-right:6px;flex:none}
.nav-features .feat{display:inline-flex;align-items:center;height:26px;padding:0 13px;border-radius:999px;font-size:12.5px;letter-spacing:1px;
  background:rgba(255,255,255,.14);color:#F6E7C3;white-space:nowrap;transition:background var(--dur-1) var(--ease),color var(--dur-1) var(--ease),transform var(--dur-1) var(--ease)}
.nav-features .feat:hover{background:rgba(255,255,255,.26);color:#fff;transform:translateY(-1px)}
.nav-features .feat-live{background:rgba(192,57,43,.5)}
.nav-features .feat-live:hover{background:rgba(192,57,43,.75)}
.nav-features .live-dot{width:6px;height:6px;border-radius:50%;background:#FFD9D2;margin-right:5px;animation:livePulse 1.6s ease-in-out infinite}
@keyframes livePulse{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(255,120,100,.6)}50%{opacity:.7;box-shadow:0 0 0 5px rgba(255,120,100,0)}}

/* ---------- 次行（两行模式的弱化第二行） ---------- */
.nav-sub-bar{display:none;flex:1 1 100%;width:100%;align-items:stretch;justify-content:center;gap:0;min-width:0;
  background:rgba(0,0,0,.16);border-top:1px solid rgba(255,255,255,.12);height:36px}
.mainnav.nav-mode-two .nav-sub-bar{display:flex}
.nav-sub-bar>a{display:flex;align-items:center;padding:0 clamp(10px,1.4vw,20px);font-size:12.5px;letter-spacing:1px;font-weight:400;
  color:rgba(255,255,255,.72);white-space:nowrap;position:relative;transition:background var(--dur-1) var(--ease),color var(--dur-1) var(--ease)}
.nav-sub-bar>a:hover{color:#fff;background:rgba(255,255,255,.07)}
.nav-sub-bar>a.on{color:#fff}
.nav-sub-bar>a.on::after{content:"";position:absolute;left:50%;transform:translateX(-50%);bottom:0;width:18px;height:2px;background:var(--c-accent)}
/* 两行模式在浅色导航下保持层级清晰 */
.mainnav.nb-glass .nav-sub-bar{background:rgba(0,0,0,.05);border-top-color:rgba(0,0,0,.08)}
.mainnav.nb-glass .nav-sub-bar>a{color:#5a5348}
.mainnav.nb-glass .nav-sub-bar>a:hover{background:rgba(0,0,0,.05);color:var(--c-primary)}
.mainnav.nb-dark .nav-sub-bar{background:rgba(255,255,255,.05);border-top-color:rgba(255,255,255,.09)}

/* ---------- 「更多」按钮与收纳面板 ---------- */
.nav-more{position:relative;display:flex;align-items:stretch;flex:none}
.nav-more.no-rest.nav-rest-empty{display:none}
.nav-more-btn{display:flex;align-items:center;gap:5px;padding:0 16px;background:none;border:0;cursor:pointer;
  color:rgba(255,255,255,.9);font-size:var(--nav-fs,15px);letter-spacing:var(--nav-ls,2px);transition:background var(--dur-1) var(--ease)}
.nav-more-btn:hover,.nav-more-btn[aria-expanded="true"]{background:var(--c-primary-deep);color:#fff}
.nav-more-btn .tri{width:0;height:0;border:4px solid transparent;border-top-color:currentColor;margin-top:2px;transition:transform var(--dur-1) var(--ease)}
.nav-more-btn[aria-expanded="true"] .tri{transform:rotate(180deg)}
.nav-more-panel{position:absolute;top:100%;right:0;min-width:210px;background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--c-accent);
  box-shadow:var(--sh-3,0 14px 38px rgba(30,20,10,.14));border-radius:0 0 var(--r-sm,8px) var(--r-sm,8px);padding:6px 0;z-index:80;
  display:none;max-height:min(62vh,460px);overflow-y:auto}
.nav-more-panel[hidden]{display:none !important}
.nav-more-panel.open{display:block;animation:ddin .2s var(--ease)}
.nm-cats{display:flex;flex-direction:column}
.nm-cats a{display:block;padding:8px 16px;font-size:13.5px;color:var(--ink);letter-spacing:1px;transition:background var(--dur-1) var(--ease),color var(--dur-1) var(--ease),padding-left var(--dur-1) var(--ease)}
.nm-cats a:hover{background:var(--c-accent-pale,rgba(0,0,0,.05));color:var(--c-primary);padding-left:21px}
.nm-cats a.on{color:var(--c-primary);font-weight:600}
.nm-cats a.nm-sub{padding-left:34px;font-size:12.5px;color:var(--ink-2)}
.nm-cats a.nm-sub:hover{padding-left:38px}
.nm-empty{padding:16px;text-align:center;font-size:12.5px;color:var(--ink-3)}

/* ---------- 移动端抽屉（小屏不两行，全部栏目竖排可达） ---------- */
@media (max-width:767px){
  .nav-row-main{flex-direction:column;flex:0 0 auto;gap:0}
  .nav-features{display:contents}
  .nav-features .feat{width:auto;margin:6px 20px;height:34px;border-radius:6px}
  .nav-sub-bar{display:none !important}
  /* 「更多」面板不再整体隐藏：抽屉里改为静态铺开，保证被截断的栏目在移动端可达 */
}
/* 中屏：更多按钮样式与主行一致（避免溢出） */
@media (max-width:1080px){
  .nav-more-btn{font-size:13.5px;padding:0 12px}
  .nav-features{margin-left:4px}
}

/* 次行项的子栏目下拉（与主行同规格，尺寸略小） */
.nav-sub-bar>a+.dd{display:none}
.nav-sub-bar>a+.dd a:not(.dd-item){display:block;padding:7px 16px;font-size:12.5px;color:var(--ink);letter-spacing:1px}
.nav-sub-bar>a+.dd a:not(.dd-item):hover{background:var(--c-accent-pale);color:var(--c-primary);padding-left:21px}
.nav-sub-bar>a:hover+.dd{display:flex}
.nav-sub-bar>a.caret:after{content:"";position:absolute;right:8px;top:50%;margin-top:-2px;border:4px solid transparent;border-top-color:rgba(255,255,255,.6)}
.nav-sub-bar>a.caret{padding-right:clamp(18px,2vw,28px)}

/* 空次行隐藏修复（hidden 属性优先于 display:flex） */
.nav-sub-bar[hidden]{display:none !important}

/* =====================================================================
   前台导航下拉菜单层（悬停意图 / 三级飞出 / 毛玻璃 / 键盘可达）
   动效：transform+opacity+visibility，180ms，cubic-bezier(0.22,1,0.36,1)
   ===================================================================== */
.mainnav .dd{
  display:flex;flex-direction:column;visibility:hidden;opacity:0;transform:translateY(12px) scale(.985);
  transform-origin:top center;
  transition:opacity .2s cubic-bezier(0.22,1,0.36,1),transform .2s cubic-bezier(0.22,1,0.36,1),visibility .2s;
  animation:none;
  min-width:236px;max-width:min(440px,92vw);padding:9px;
  background:linear-gradient(180deg,rgba(255,253,247,.97),rgba(251,246,237,.97));
  backdrop-filter:blur(16px) saturate(1.08);-webkit-backdrop-filter:blur(16px) saturate(1.08);
  border:1px solid rgba(140,47,36,.13);
  border-radius:14px;
  box-shadow:0 2px 6px rgba(30,20,10,.05),0 18px 44px rgba(30,20,10,.18),0 1px 0 rgba(200,169,106,.4) inset;
  z-index:90}
/* 面板顶部金色渐变饰线 */
.mainnav .dd::after{content:"";position:absolute;top:0;left:20px;right:20px;height:3px;border-radius:0 0 4px 4px;
  background:linear-gradient(90deg,var(--c-accent),rgba(200,169,106,0) 82%);opacity:.9;pointer-events:none}
/* 无视觉缝隙的悬停桥接区 */
.nav-row-main>a+.dd::before,.nav-sub-bar>a+.dd::before{content:"";position:absolute;left:-6px;right:-6px;top:-10px;height:12px}
/* 顶级/次行面板定位（锚定导航行；JS 会按触发器位置微调 left） */
.nav-row-main>a+.dd,.nav-sub-bar>a+.dd{position:absolute;top:100%;left:0}
.nav-row-main>a:hover+.dd,.nav-row-main>a.dd-open+.dd,.nav-row-main>a:focus-within+.dd,
.nav-sub-bar>a:hover+.dd,.nav-sub-bar>a.dd-open+.dd{visibility:visible;opacity:1;transform:none;display:flex}
/* 菜单项：42px 高 / 14-16px 内距 / 10px 圆角 / 图标 16-18px */
.dd-in{display:flex;flex-direction:column;min-width:0}
.dd-item{display:flex;align-items:center;gap:10px;height:42px;padding:0 14px;margin:1px 2px;border-radius:10px;
  font-size:13.5px;color:var(--ink);letter-spacing:1px;white-space:nowrap;overflow:hidden;position:relative;
  transition:background .16s cubic-bezier(0.22,1,0.36,1),color .16s,padding-left .16s}
.dd-item .di-ico{width:18px;flex:none;text-align:center;font-size:15px;font-style:normal}
.dd-item .di-tx{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
.dd-item .di-arw{flex:none;width:0;height:0;border:4px solid transparent;border-left-color:var(--ink-3);border-right:0;margin-left:auto}
.dd-item:hover,.dd-item:focus-visible{background:linear-gradient(90deg,rgba(200,169,106,.18),rgba(200,169,106,.04));color:var(--c-primary);padding-left:17px}
.dd-item.on{color:var(--c-primary);font-weight:600;background:rgba(200,169,106,.14)}
.dd-item.on::before{content:"";position:absolute;left:5px;top:50%;transform:translateY(-50%);width:3px;height:16px;border-radius:2px;background:var(--c-accent)}
.dd-item:focus-visible{outline:none;box-shadow:0 0 0 2px rgba(200,169,106,.6)}
/* 顶层触发器图标与旋转箭头 */
.nav-row-main>a .ni-ico,.nav-row-main>a .ni-tx{display:inline}
.nav-row-main>a .ni-ico{font-style:normal;margin-right:6px;font-size:.92em}
.nav-row-main>a .ni-arw{display:inline-block;width:0;height:0;border:4px solid transparent;border-top-color:rgba(255,255,255,.75);margin-left:5px;vertical-align:middle;
  transition:transform .18s cubic-bezier(0.22,1,0.36,1)}
.nav-row-main>a.caret:after{display:none}
.nav-row-main>a:hover .ni-arw,.nav-row-main>a.dd-open .ni-arw{transform:rotate(180deg)}
.nav-row-main>a.caret{padding-right:clamp(14px,1.6vw,22px)}
/* 二级→三级飞出面板（右侧弹出；.dd-flip 为视口边缘自动翻转） */
.dd-wrap{position:relative}
.dd-wrap>.dd{position:absolute;left:100%;top:-9px;margin-left:4px;transform:translateX(8px) translateY(0)}
.dd-wrap>.dd::before{content:"";position:absolute;left:-8px;top:0;bottom:0;width:10px}
.dd-wrap:hover>.dd,.dd-wrap.dd-open>.dd,.dd-wrap:focus-within>.dd{visibility:visible;opacity:1;transform:none}
.dd-wrap>.dd.dd-flip{left:auto;right:100%;margin-left:0;margin-right:4px}
.dd-wrap>.dd.dd-flip::before{left:auto;right:-8px}
/* 浅色/玻璃导航下的面板适配 */
.mainnav.nb-glass .dd{background:rgba(255,254,250,.94)}
.mainnav.nb-glass .nav-row-main>a .ni-arw{border-top-color:rgba(0,0,0,.5)}
.mainnav.nb-dark .nav-row-main>a .ni-arw{border-top-color:rgba(255,255,255,.75)}
/* 减少动态 */
@media (prefers-reduced-motion:reduce){
  .mainnav .dd{transition:none;transform:none}
  .nav-row-main>a .ni-arw{transition:none}
}
/* 小屏抽屉：面板改为手风琴式静态展开（覆盖上方全部定位样式） */
@media (max-width:767px){
  .mainnav .nav-row-main>a+.dd{position:static;visibility:visible;opacity:1;transform:none;display:flex;
    background:transparent;border:0;box-shadow:none;border-radius:0;padding:0 0 6px 14px;min-width:0;max-width:none;backdrop-filter:none}
  .mainnav .nav-row-main>a+.dd::before,.mainnav .nav-row-main>a+.dd::after{display:none}
  .mainnav .nav-row-main>a+.dd .dd-item{height:38px;color:rgba(255,255,255,.78);padding-left:8px;border-radius:6px;display:flex;font-size:13px}
  .mainnav .nav-row-main>a+.dd .dd-item:hover{color:#fff;padding-left:12px;background:rgba(255,255,255,.08)}
  .mainnav .nav-row-main>a+.dd .dd-wrap>.dd{position:static;margin:0;padding-left:14px;transform:none}
  .mainnav .dd-item .di-arw{display:none}
  .mainnav .nav-row-main>a .ni-arw{display:none}
}

/* ---------- 文章版面预设（编辑器「版面预设库」插入的可视化效果） ---------- */
.rich-text .art-hero{text-align:center;font-size:clamp(22px,3vw,32px);letter-spacing:4px;font-weight:700;color:var(--c-primary-deep);
  margin:1.4em 0 1em;padding:18px 10px 14px;position:relative;line-height:1.5}
.rich-text .art-hero::after{content:'';display:block;width:72px;height:3px;margin:14px auto 0;
  background:linear-gradient(90deg,transparent,var(--c-accent),transparent);border-radius:2px}
.rich-text .art-sub{text-align:center;color:var(--c-accent-deep,var(--ink-3));font-size:15.5px;letter-spacing:3px;margin:1.2em 0}
.rich-text .art-chapter{display:flex;align-items:center;gap:14px;margin:1.6em 0 1em;font-size:19px;letter-spacing:3px;
  color:var(--c-primary-deep);font-weight:700}
.rich-text .art-chapter::before,.rich-text .art-chapter::after{content:'';flex:1;height:1px;
  background:linear-gradient(90deg,transparent,var(--c-accent-light))}
.rich-text .art-chapter::after{background:linear-gradient(90deg,var(--c-accent-light),transparent)}
.rich-text .art-lead{background:linear-gradient(135deg,var(--c-accent-pale),rgba(var(--gold-rgb,201,169,106),.05));
  border:1px solid var(--c-accent-light);border-radius:10px;padding:14px 18px;font-size:15px;line-height:1.9;color:var(--ink-2);margin:1.2em 0}
.rich-text .art-clause{border-left:3px solid var(--c-accent);background:rgba(var(--gold-rgb,201,169,106),.06);
  border-radius:0 8px 8px 0;padding:12px 16px;margin:1em 0}
.rich-text .art-clause b{display:inline-block;color:var(--c-primary-deep);border:1px solid var(--c-accent);
  border-radius:5px;padding:1px 9px;font-size:12.5px;letter-spacing:1px;margin-right:8px;background:var(--paper)}
.rich-text .art-clause p{display:inline;margin:0}
.rich-text .art-verse{text-align:center;padding:20px 26px;margin:1.4em auto;max-width:88%;
  border-top:1px solid var(--c-accent-light);border-bottom:1px solid var(--c-accent-light)}
.rich-text .art-verse p{font-family:"Kaiti SC","STKaiti","KaiTi",serif;font-size:16.5px;line-height:2;color:var(--ink);margin:0 0 8px;letter-spacing:1px}
.rich-text .art-verse i{font-style:normal;font-size:12.5px;color:var(--ink-3);letter-spacing:2px}
.rich-text .art-note{background:#FFF9EC;border:1px solid #E8D5A8;border-left:4px solid #D4AF37;border-radius:8px;padding:12px 16px;margin:1.2em 0}
.rich-text .art-note b{display:block;color:#8A6D1C;font-size:13.5px;margin-bottom:4px;letter-spacing:1px}
.rich-text .art-note p{margin:0;font-size:14px;color:var(--ink-2);line-height:1.8}
.rich-text .art-item{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:10px 16px;margin:8px 0;
  transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.rich-text .art-item:hover{transform:translateX(4px);box-shadow:0 6px 14px rgba(0,0,0,.07)}
.rich-text .art-item p{margin:0;font-size:14px;line-height:1.8}
.rich-text .art-figure{margin:1.4em 0}
.rich-text .art-figure img{width:100%;border-radius:8px;box-shadow:0 8px 22px rgba(0,0,0,.1)}
.rich-text .art-figure figcaption{text-align:center;font-size:12.5px;color:var(--ink-3);margin-top:8px;letter-spacing:1px}
.rich-text .art-img2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:1.4em 0}
.rich-text .art-img2 img{width:100%;border-radius:8px;box-shadow:0 6px 16px rgba(0,0,0,.09);display:block}
.rich-text .art-img2 figcaption{text-align:center;font-size:12px;color:var(--ink-3);margin-top:6px}
.rich-text .art-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:1.4em 0}
.rich-text .art-card{background:linear-gradient(160deg,var(--paper),var(--c-accent-pale));border:1px solid var(--c-accent-light);
  border-radius:12px;padding:16px 14px;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.rich-text .art-card:hover{transform:translateY(-4px);box-shadow:0 10px 22px rgba(0,0,0,.09)}
.rich-text .art-card b{display:block;color:var(--c-primary-deep);margin-bottom:6px;letter-spacing:1px;font-size:14.5px}
.rich-text .art-card p{margin:0;font-size:13.5px;color:var(--ink-2);line-height:1.8}
.rich-text .art-steps{display:flex;gap:0;margin:1.4em 0;flex-wrap:wrap}
.rich-text .art-step{flex:1;min-width:120px;text-align:center;position:relative;padding:6px 10px}
.rich-text .art-step i{display:flex;align-items:center;justify-content:center;width:34px;height:34px;margin:0 auto 8px;border-radius:50%;
  background:linear-gradient(135deg,var(--c-accent),var(--c-accent-deep,#B8944C));color:#fff;font-style:normal;font-weight:700;font-size:15px;
  box-shadow:0 4px 10px rgba(var(--gold-rgb,201,169,106),.4)}
.rich-text .art-step p{margin:0;font-size:13px;color:var(--ink-2);line-height:1.6}
.rich-text .art-kv{display:flex;flex-wrap:wrap;gap:10px;margin:1.2em 0;justify-content:center}
.rich-text .art-kv span{background:var(--paper);border:1px solid var(--c-accent-light);border-radius:999px;padding:6px 16px;font-size:13px;color:var(--ink-2)}
.rich-text .art-kv span b{color:var(--c-primary-deep);margin-right:6px}
.rich-text .art-divider{display:flex;align-items:center;gap:12px;margin:1.8em 0}
.rich-text .art-divider::before,.rich-text .art-divider::after{content:'';flex:1;height:1px;background:var(--c-accent-light)}
.rich-text .art-divider span{color:var(--c-accent);font-size:14px}
@media (max-width:640px){
  .rich-text .art-cards{grid-template-columns:1fr}
  .rich-text .art-img2{grid-template-columns:1fr}
  .rich-text .art-steps{flex-direction:column}
}

/* ---------- 领导班子人物卡片（横版名片式） ---------- */
/* 该页整体放宽到 1700（覆盖 .narrow.art-wrap 与各主题对 article-body 的窄栏限制） */
.art-wrap.narrow.art-wrap--leaders{max-width:min(1700px,100%)}
.art-wrap--leaders .article-body{max-width:100%}
body[class*="theme-"] .art-wrap--leaders .article-body{max-width:100%}
.rich-text .lead-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(430px,1fr));gap:18px;margin:1.4em 0;justify-content:center}
.rich-text .lead-card{display:flex;align-items:stretch;background:var(--paper);border:1px solid var(--c-accent-light);border-radius:12px;overflow:hidden;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease);will-change:transform}
.rich-text .lead-card:hover{transform:translateY(-6px) scale(1.04);box-shadow:0 18px 42px rgba(0,0,0,.16);border-color:var(--c-accent);position:relative;z-index:2}
.rich-text .lead-card img{display:block;flex:none;width:116px;aspect-ratio:3/4;margin:0;border-radius:0;object-fit:cover;object-position:top center;background:var(--c-accent-pale);
  position:relative;z-index:1;transition:transform .35s var(--ease),filter .35s var(--ease)}
.rich-text .lead-card:hover img{transform:scale(1.06);filter:brightness(1.04) saturate(1.06)}
.rich-text .lead-card:hover .lead-body b{color:var(--c-primary)}
.rich-text .lead-body{flex:1;min-width:0;padding:13px 17px;display:flex;flex-direction:column;justify-content:center;text-align:left}
.rich-text .lead-body b{display:flex;align-items:baseline;justify-content:flex-start;gap:0;color:var(--c-primary-deep);font-size:16.5px;letter-spacing:1.5px}
.rich-text .lead-body b i{font-style:normal;font-weight:400;font-size:11.5px;color:var(--ink-3);letter-spacing:0;white-space:nowrap;margin-left:12px;flex:none}
.rich-text .lead-body ul{list-style:none;margin:9px 0 0;padding:0}
.rich-text .lead-body li{padding:3.5px 0;font-size:12.5px;line-height:1.6;color:var(--ink-2);text-align:left}
.rich-text .lead-body li:first-child{color:var(--c-primary);font-weight:600}
.rich-text .lead-body span{display:block;margin-top:9px;padding-top:9px;border-top:1px dashed var(--line);font-size:11.5px;color:var(--ink-3);text-align:left}
@media (max-width:640px){
  .rich-text .lead-grid{grid-template-columns:1fr;gap:14px}
  .rich-text .lead-card img{width:96px}
  .rich-text .lead-body{padding:11px 13px}
}

/* ---------- 校徽理念单页 ---------- */
.rich-text .emblem-hero{text-align:center;margin:0 0 1.2em}
.rich-text .emblem-badge{width:min(220px,52%);height:auto;filter:drop-shadow(0 10px 24px rgba(0,0,0,.14))}

/* ---------- 正文自定义排版：文字加框 ---------- */
.rich-text .txt-frame{border:1px solid var(--c-accent);border-radius:5px;padding:1px 6px;margin:0 2px;background:rgba(var(--gold-rgb,201,169,106),.07)}

/* ---------- 栏目列表风格扩展：杂志精选 / 时光轴 / 流光卡片 / 数字索引 ---------- */
/* 入场动画（各风格共用，逐条渐入） */
@keyframes lsIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.mgz-grid>*,.flw-grid>*,.idx-list>li,.tlm-list>li{opacity:0;animation:lsIn .5s var(--ease) forwards}
.mgz-grid>*:nth-child(1),.flw-grid>*:nth-child(1),.idx-list>li:nth-child(1),.tlm-list>li:nth-child(1){animation-delay:.04s}
.mgz-grid>*:nth-child(2),.flw-grid>*:nth-child(2),.idx-list>li:nth-child(2),.tlm-list>li:nth-child(2){animation-delay:.1s}
.mgz-grid>*:nth-child(3),.flw-grid>*:nth-child(3),.idx-list>li:nth-child(3),.tlm-list>li:nth-child(3){animation-delay:.16s}
.mgz-grid>*:nth-child(4),.flw-grid>*:nth-child(4),.idx-list>li:nth-child(4),.tlm-list>li:nth-child(4){animation-delay:.22s}
.mgz-grid>*:nth-child(5),.flw-grid>*:nth-child(5),.idx-list>li:nth-child(5),.tlm-list>li:nth-child(5){animation-delay:.28s}
.mgz-grid>*:nth-child(6),.flw-grid>*:nth-child(6),.idx-list>li:nth-child(6),.tlm-list>li:nth-child(6){animation-delay:.34s}
.mgz-grid>*:nth-child(7),.flw-grid>*:nth-child(7),.idx-list>li:nth-child(7),.tlm-list>li:nth-child(7){animation-delay:.4s}
.mgz-grid>*:nth-child(8),.flw-grid>*:nth-child(8),.idx-list>li:nth-child(8),.tlm-list>li:nth-child(8){animation-delay:.46s}
.mgz-grid>*:nth-child(9),.flw-grid>*:nth-child(9),.idx-list>li:nth-child(9),.tlm-list>li:nth-child(9){animation-delay:.52s}
.mgz-grid>*:nth-child(n+10),.flw-grid>*:nth-child(n+10),.idx-list>li:nth-child(n+10),.tlm-list>li:nth-child(n+10){animation-delay:.58s}
@media (prefers-reduced-motion:reduce){
  .mgz-grid>*,.flw-grid>*,.idx-list>li,.tlm-list>li{animation:none;opacity:1;transform:none}
}

/* 杂志精选：头条大图 + 双栏资讯 */
.mgz-wrap{margin:0 0 6px}
.mgz-hero{position:relative;display:block;border-radius:14px;overflow:hidden;aspect-ratio:21/9;min-height:200px;
  background:var(--c-accent-pale) center/cover no-repeat;box-shadow:0 12px 30px rgba(20,16,8,.16);text-decoration:none}
.mgz-hero.no-img{background-image:linear-gradient(135deg,var(--c-accent-pale),var(--c-accent-light))}
.mgz-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(24,20,10,0) 34%,rgba(24,20,10,.8))}
.mgz-hero-bd{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:18px 24px 20px;color:#fff}
.mgz-flag{display:inline-block;background:var(--c-accent);color:#fff;font-size:12px;letter-spacing:4px;padding:3px 10px 3px 14px;border-radius:4px;margin-bottom:10px}
.mgz-hero h4{font-size:clamp(18px,2.4vw,26px);letter-spacing:1px;margin:0 0 7px;font-family:var(--serif);line-height:1.4}
.mgz-hero .meta{font-size:12.5px;opacity:.85;letter-spacing:1px}
.mgz-hero:hover .mgz-hero-bd h4{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px;text-decoration-color:rgba(255,255,255,.65)}
.mgz-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin-top:16px}
.mgz-item{display:flex;gap:12px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:10px;text-decoration:none;
  transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease)}
.mgz-item:hover{transform:translateY(-4px);box-shadow:0 12px 26px rgba(0,0,0,.1);border-color:var(--c-accent-light)}
.mgz-item .ph{width:88px;height:64px;flex:none;border-radius:8px;font-size:10px}
.mgz-item .bd{min-width:0}
.mgz-item h5{margin:0;font-size:14px;line-height:1.5;color:var(--ink);letter-spacing:.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mgz-item:hover h5{color:var(--c-primary)}
.mgz-item .meta{font-size:11.5px;color:var(--ink-3);margin-top:5px}

/* 时光轴：日期节点 + 渐入 */
.tlm-list{position:relative;list-style:none;margin:6px 0;padding:6px 0}
.tlm-list::before{content:'';position:absolute;left:72px;top:10px;bottom:10px;width:2px;border-radius:2px;
  background:linear-gradient(180deg,transparent,rgba(201,169,106,.6) 10% 90%,transparent)}
.tlm-list li{position:relative;padding:13px 6px 13px 96px;border-radius:10px;transition:background .25s var(--ease)}
.tlm-list li:hover{background:rgba(201,169,106,.07)}
.tlm-list time{position:absolute;left:0;top:16px;width:56px;text-align:right;font-size:12.5px;color:var(--ink-3);letter-spacing:1px;font-family:var(--serif)}
.tlm-list .dot{position:absolute;left:67.5px;top:19px;width:11px;height:11px;border-radius:50%;background:var(--c-accent);
  box-shadow:0 0 0 3px rgba(201,169,106,.22);transition:transform .25s var(--ease)}
.tlm-list li:hover .dot{transform:scale(1.35)}
.tlm-list .tlm-bd a{font-size:15px;color:var(--ink);letter-spacing:.5px;text-decoration:none;line-height:1.6}
.tlm-list .tlm-bd a:hover{color:var(--c-primary);text-decoration:underline;text-underline-offset:5px}
.tlm-list .lf-summary{margin-top:5px}

/* 流光卡片：渐变描边 + 悬停划光 */
.flw-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin:6px 0}
.flw-card{position:relative;display:block;border-radius:14px;overflow:hidden;text-decoration:none;border:2px solid transparent;
  background:linear-gradient(var(--paper),var(--paper)) padding-box,linear-gradient(120deg,#C9A96A,#7A9CC6 45%,#B87A9C 70%,#C9A96A) border-box;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.flw-card::after{content:'';position:absolute;top:-20%;bottom:-20%;left:-45%;width:36%;pointer-events:none;transform:skewX(-22deg);
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transition:left .55s var(--ease)}
.flw-card:hover::after{left:120%}
.flw-card:hover{transform:translateY(-5px);box-shadow:0 16px 32px rgba(20,16,8,.14)}
.flw-card .ph{height:128px;border-radius:0;font-size:11px}
.flw-card .bd{padding:12px 14px 14px}
.flw-card h5{margin:0;font-size:14.5px;line-height:1.55;color:var(--ink);letter-spacing:.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.flw-card:hover h5{color:var(--c-primary)}
.flw-card .meta{font-size:11.5px;color:var(--ink-3);margin-top:6px}

/* 数字索引：金色大序号 + 悬停横移 */
.idx-list{list-style:none;margin:6px 0;padding:0;border-top:1px solid var(--line)}
.idx-list li{display:flex;align-items:center;gap:18px;padding:15px 12px;border-bottom:1px solid var(--line);cursor:pointer;
  transition:transform .25s var(--ease),background .25s var(--ease)}
.idx-list li:hover{transform:translateX(8px);background:rgba(201,169,106,.06)}
.idx-num{font-family:var(--serif);font-size:27px;font-weight:700;line-height:1;min-width:46px;letter-spacing:1px;
  color:transparent;-webkit-text-stroke:1.2px rgba(201,169,106,.9);transition:color .25s var(--ease),-webkit-text-stroke-color .25s var(--ease)}
.idx-list li:hover .idx-num{color:var(--c-accent);-webkit-text-stroke-color:var(--c-accent)}
.idx-bd{min-width:0;flex:1}
.idx-bd a{font-size:15px;color:var(--ink);letter-spacing:.5px;text-decoration:none;
  background:linear-gradient(var(--c-accent),var(--c-accent)) no-repeat 0 100%/0 2px;transition:background-size .3s var(--ease),color .25s var(--ease)}
.idx-list li:hover .idx-bd a{background-size:100% 2px;color:var(--c-primary)}
.idx-bd .meta{font-size:12px;color:var(--ink-3);margin-top:4px;letter-spacing:1px}

@media (max-width:640px){
  .mgz-hero{aspect-ratio:16/9;min-height:160px}
  .mgz-hero-bd{padding:12px 16px 14px}
  .flw-grid{grid-template-columns:1fr}
  .tlm-list li{padding-left:78px}
  .tlm-list::before{left:60px}
  .tlm-list .dot{left:55.5px}
  .idx-num{font-size:22px;min-width:36px}
}

/* ---------- 栏目列表风格扩展 · 第二批 10 种 ---------- */
/* 第二批入场动画（复用 lsIn 关键帧） */
.dos-list>li,.bnr-row,.mos-cell,.rbn-list>li,.cal-list>li,.film-cell,.qt-card,.fold-item,.pill-item,.stp-list>li{opacity:0;animation:lsIn .5s var(--ease) forwards}
.dos-list>li:nth-child(1),.bnr-row:nth-child(1),.mos-cell:nth-child(1),.rbn-list>li:nth-child(1),.cal-list>li:nth-child(1),.film-cell:nth-child(1),.qt-card:nth-child(1),.fold-item:nth-child(1),.pill-item:nth-child(1),.stp-list>li:nth-child(1){animation-delay:.04s}
.dos-list>li:nth-child(2),.bnr-row:nth-child(2),.mos-cell:nth-child(2),.rbn-list>li:nth-child(2),.cal-list>li:nth-child(2),.film-cell:nth-child(2),.qt-card:nth-child(2),.fold-item:nth-child(2),.pill-item:nth-child(2),.stp-list>li:nth-child(2){animation-delay:.1s}
.dos-list>li:nth-child(3),.bnr-row:nth-child(3),.mos-cell:nth-child(3),.rbn-list>li:nth-child(3),.cal-list>li:nth-child(3),.film-cell:nth-child(3),.qt-card:nth-child(3),.fold-item:nth-child(3),.pill-item:nth-child(3),.stp-list>li:nth-child(3){animation-delay:.16s}
.dos-list>li:nth-child(4),.bnr-row:nth-child(4),.mos-cell:nth-child(4),.rbn-list>li:nth-child(4),.cal-list>li:nth-child(4),.film-cell:nth-child(4),.qt-card:nth-child(4),.fold-item:nth-child(4),.pill-item:nth-child(4),.stp-list>li:nth-child(4){animation-delay:.22s}
.dos-list>li:nth-child(5),.bnr-row:nth-child(5),.mos-cell:nth-child(5),.rbn-list>li:nth-child(5),.cal-list>li:nth-child(5),.film-cell:nth-child(5),.qt-card:nth-child(5),.fold-item:nth-child(5),.pill-item:nth-child(5),.stp-list>li:nth-child(5){animation-delay:.28s}
.dos-list>li:nth-child(6),.bnr-row:nth-child(6),.mos-cell:nth-child(6),.rbn-list>li:nth-child(6),.cal-list>li:nth-child(6),.film-cell:nth-child(6),.qt-card:nth-child(6),.fold-item:nth-child(6),.pill-item:nth-child(6),.stp-list>li:nth-child(6){animation-delay:.34s}
.dos-list>li:nth-child(7),.bnr-row:nth-child(7),.mos-cell:nth-child(7),.rbn-list>li:nth-child(7),.cal-list>li:nth-child(7),.film-cell:nth-child(7),.qt-card:nth-child(7),.fold-item:nth-child(7),.pill-item:nth-child(7),.stp-list>li:nth-child(7){animation-delay:.4s}
.dos-list>li:nth-child(n+8),.bnr-row:nth-child(n+8),.mos-cell:nth-child(n+8),.rbn-list>li:nth-child(n+8),.cal-list>li:nth-child(n+8),.film-cell:nth-child(n+8),.qt-card:nth-child(n+8),.fold-item:nth-child(n+8),.pill-item:nth-child(n+8),.stp-list>li:nth-child(n+8){animation-delay:.46s}
@media (prefers-reduced-motion:reduce){
  .dos-list>li,.bnr-row,.mos-cell,.rbn-list>li,.cal-list>li,.film-cell,.qt-card,.fold-item,.pill-item,.stp-list>li{animation:none;opacity:1;transform:none}
}

/* 1) 档案卷宗：米黄纸质 + 左耳标签 + 右上编号 */
.dos-list{list-style:none;margin:6px 0;padding:0;display:grid;gap:14px}
.dos-list li{position:relative;background:linear-gradient(160deg,#faf6ec,#f3ecd9);border:1px solid #e2d6b8;border-radius:4px 12px 12px 4px;
  padding:16px 20px 15px 58px;box-shadow:0 3px 10px rgba(120,96,40,.09);transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.dos-list li::before{content:'';position:absolute;left:0;top:0;bottom:0;width:5px;border-radius:4px 0 0 4px;
  background:repeating-linear-gradient(180deg,var(--c-accent) 0 9px,#a8863c 9px 12px)}
.dos-list li:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(120,96,40,.16)}
.dos-tab{position:absolute;left:12px;top:16px;font-size:11px;letter-spacing:3px;color:#8a6c2e;writing-mode:vertical-rl;line-height:1;
  padding:7px 3px;background:rgba(201,169,106,.18);border:1px solid rgba(201,169,106,.45);border-radius:3px}
.dos-no{position:absolute;right:16px;top:12px;font-family:var(--serif);font-size:13px;color:rgba(138,108,46,.65);letter-spacing:1px;
  border-bottom:1px solid rgba(138,108,46,.3);padding-bottom:2px}
.dos-bd a{font-size:15.5px;color:var(--ink);letter-spacing:.5px;text-decoration:none;line-height:1.6}
.dos-bd a:hover{color:var(--c-primary)}
.dos-bd .lf-summary{margin-top:6px}

/* 2) 横幅图闻：整行大图横幅，左右交替 */
.bnr-list{display:grid;gap:18px;margin:6px 0}
.bnr-row{display:flex;gap:18px;align-items:stretch;background:var(--paper);border:1px solid var(--line);border-radius:14px;overflow:hidden;
  text-decoration:none;transition:transform .28s var(--ease),box-shadow .28s var(--ease),border-color .28s var(--ease)}
.bnr-row:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(0,0,0,.11);border-color:var(--c-accent-light)}
.bnr-row.flip{flex-direction:row-reverse}
.bnr-row .ph{width:270px;min-height:158px;flex:none;border-radius:0;transition:transform .5s var(--ease)}
.bnr-row:hover .ph{transform:scale(1.045)}
.bnr-row .bd{flex:1;min-width:0;padding:16px 20px;display:flex;flex-direction:column;justify-content:center}
.bnr-row h5{margin:0;font-size:17px;line-height:1.55;color:var(--ink);letter-spacing:.5px;font-family:var(--serif)}
.bnr-row:hover h5{color:var(--c-primary)}
.bnr-row .lf-summary{margin-top:7px}
.bnr-row .meta{margin-top:9px;font-size:12px;color:var(--ink-3);letter-spacing:1px}

/* 3) 瀑布拼图：首条双格大图 */
.mos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:6px 0}
.mos-cell{position:relative;display:block;border-radius:12px;overflow:hidden;aspect-ratio:4/3;text-decoration:none;box-shadow:0 4px 14px rgba(0,0,0,.08)}
.mos-cell.big{grid-column:1/3;grid-row:1/3;aspect-ratio:auto}
.mos-cell .ph{position:absolute;inset:0;width:100%;height:100%;border-radius:0;transition:transform .55s var(--ease)}
.mos-cell:hover .ph{transform:scale(1.06)}
.mos-cell::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,16,8,0) 44%,rgba(20,16,8,.78));transition:opacity .3s}
.mos-cell .cap{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:14px 16px;color:#fff}
.mos-cell h5{margin:0;font-size:14px;line-height:1.5;letter-spacing:.5px;font-weight:600}
.mos-cell.big h5{font-size:clamp(16px,2vw,21px);font-family:var(--serif)}
.mos-cell .meta{font-size:11.5px;opacity:.85;margin-top:4px;letter-spacing:1px}
.mos-cell:hover h5{text-decoration:underline;text-underline-offset:5px}

/* 4) 缎带纪事：日期圆徽 + 金缎带 */
.rbn-list{list-style:none;margin:6px 0;padding:0;display:grid;gap:12px}
.rbn-list li{position:relative;display:flex;align-items:center;gap:16px;background:var(--paper);border:1px solid var(--line);border-radius:12px;
  padding:14px 18px 14px 30px;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.rbn-list li::before{content:'';position:absolute;left:10px;top:50%;transform:translateY(-50%);width:6px;height:62%;border-radius:4px;
  background:linear-gradient(180deg,var(--c-accent),#a8863c);box-shadow:0 2px 5px rgba(201,169,106,.4)}
.rbn-list li:hover{transform:translateX(6px);box-shadow:0 8px 20px rgba(0,0,0,.09)}
.rbn-date{flex:none;width:52px;height:52px;border-radius:50%;background:radial-gradient(circle at 32% 28%,#fdf8ec,#f0e3c2);
  border:2px solid rgba(201,169,106,.55);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;
  box-shadow:inset 0 0 0 3px rgba(255,255,255,.6)}
.rbn-date b{font-family:var(--serif);font-size:19px;color:#8a6c2e}
.rbn-date i{font-style:normal;font-size:9.5px;color:#a8863c;margin-top:2px;letter-spacing:1px}
.rbn-bd{min-width:0;flex:1}
.rbn-bd a{font-size:15px;color:var(--ink);letter-spacing:.5px;text-decoration:none}
.rbn-bd a:hover{color:var(--c-primary)}
.rbn-bd .lf-summary{margin-top:5px}
.rbn-go{flex:none;color:rgba(201,169,106,.9);font-size:17px;transition:transform .25s var(--ease)}
.rbn-list li:hover .rbn-go{transform:translateX(4px)}

/* 5) 日历页签：撕页式日期方块 */
.cal-list{list-style:none;margin:6px 0;padding:0;border-top:1px solid var(--line)}
.cal-list li{display:flex;align-items:center;gap:18px;padding:15px 10px;border-bottom:1px solid var(--line);transition:background .25s var(--ease)}
.cal-list li:hover{background:rgba(201,169,106,.06)}
.cal-box{flex:none;width:56px;text-align:center;border-radius:8px;overflow:hidden;box-shadow:0 3px 9px rgba(120,96,40,.16);
  border:1px solid rgba(201,169,106,.5);background:#fffdf6;transform:translateY(0);transition:transform .25s var(--ease)}
.cal-list li:hover .cal-box{transform:translateY(-3px) rotate(-2deg)}
.cal-box b{display:block;font-family:var(--serif);font-size:22px;line-height:1.35;color:#6d5420;background:linear-gradient(180deg,rgba(201,169,106,.85),rgba(168,134,60,.85));color:#fff}
.cal-box i{display:block;font-style:normal;font-size:10.5px;color:#8a6c2e;padding:3px 0 4px;letter-spacing:2px}
.cal-bd{min-width:0;flex:1}
.cal-bd a{font-size:15px;color:var(--ink);letter-spacing:.5px;text-decoration:none}
.cal-list li:hover .cal-bd a{color:var(--c-primary)}
.cal-bd .lf-summary{margin-top:5px}

/* 6) 胶片画廊：横向滚动胶片带 */
.film-strip{--fhole:repeating-linear-gradient(90deg,transparent 0 9px,rgba(255,255,255,.85) 9px 15px,transparent 15px 24px);
  margin:6px 0 10px;background:#26221a;border-radius:12px;padding:15px 0;overflow-x:auto;scrollbar-width:thin;scrollbar-color:rgba(201,169,106,.6) transparent}
.film-track{display:flex;gap:13px;padding:0 16px;width:max-content}
.film-cell{display:block;width:196px;flex:none;text-decoration:none}
.film-cell .ph{height:118px;border-radius:3px;font-size:11px;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.film-cell:hover .ph{transform:translateY(-4px);box-shadow:0 10px 20px rgba(0,0,0,.4)}
.film-cell h5{margin:9px 2px 0;font-size:13px;line-height:1.5;color:#f4edda;letter-spacing:.4px;font-weight:500;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.film-cell:hover h5{color:var(--c-accent-light)}
.film-cell time{display:block;margin-top:4px;font-size:10.5px;color:rgba(244,237,218,.55);letter-spacing:1.5px}

/* 7) 金句摘录：大引号文气卡 */
.qt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:16px;margin:6px 0}
.qt-card{position:relative;display:flex;flex-direction:column;background:linear-gradient(165deg,#fbf7ec,#f4ecd8);border:1px solid #e4d8ba;
  border-radius:14px;padding:22px 20px 16px;text-decoration:none;overflow:hidden;transition:transform .28s var(--ease),box-shadow .28s var(--ease)}
.qt-card::before{content:'';position:absolute;right:-26px;top:-26px;width:92px;height:92px;border-radius:50%;
  background:radial-gradient(circle,rgba(201,169,106,.16),transparent 70%)}
.qt-card:hover{transform:translateY(-5px);box-shadow:0 14px 30px rgba(120,96,40,.16)}
.qt-mark{font-family:var(--serif);font-size:44px;line-height:.6;color:rgba(201,169,106,.85);height:22px}
.qt-txt{margin:12px 0 0;font-size:14.5px;line-height:1.85;color:#4c4230;letter-spacing:.5px;font-family:var(--serif);
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.qt-card h5{margin:auto 0 0;padding-top:14px;font-size:13px;font-weight:600;color:#8a6c2e;letter-spacing:.5px;
  border-top:1px dashed rgba(138,108,46,.35);margin-top:14px}
.qt-card .meta{margin-top:6px;font-size:11px;color:rgba(138,108,46,.6);letter-spacing:1px}

/* 8) 折叠面板：手风琴展开 */
.fold-list{display:grid;gap:10px;margin:6px 0}
.fold-item{background:var(--paper);border:1px solid var(--line);border-radius:12px;overflow:hidden;transition:border-color .25s var(--ease),box-shadow .25s var(--ease)}
.fold-item[open]{border-color:var(--c-accent-light);box-shadow:0 8px 22px rgba(0,0,0,.08)}
.fold-item summary{display:flex;align-items:center;gap:14px;padding:15px 18px;cursor:pointer;list-style:none;user-select:none}
.fold-item summary::-webkit-details-marker{display:none}
.fold-no{flex:none;font-family:var(--serif);font-size:15px;color:rgba(201,169,106,.95);letter-spacing:1px}
.fold-item h5{margin:0;font-size:15px;color:var(--ink);letter-spacing:.5px;flex:1;min-width:0;line-height:1.5;font-weight:600}
.fold-item[open] summary h5,.fold-item summary:hover h5{color:var(--c-primary)}
.fold-ico{flex:none;position:relative;width:22px;height:22px;border-radius:50%;background:rgba(201,169,106,.14);transition:transform .3s var(--ease),background .3s var(--ease)}
.fold-ico::before,.fold-ico::after{content:'';position:absolute;left:50%;top:50%;background:#a8863c;border-radius:1px;transform:translate(-50%,-50%)}
.fold-ico::before{width:10px;height:1.6px}
.fold-ico::after{width:1.6px;height:10px;transition:opacity .25s}
.fold-item[open] .fold-ico{transform:rotate(180deg);background:rgba(201,169,106,.28)}
.fold-item[open] .fold-ico::after{opacity:0}
.fold-bd{padding:2px 20px 16px 49px;animation:lsIn .35s var(--ease)}
.fold-more{display:inline-block;margin-top:9px;font-size:12.5px;color:var(--c-primary);letter-spacing:1px;text-decoration:none}
.fold-more:hover{text-decoration:underline;text-underline-offset:4px}

/* 9) 标签云：药丸流式 */
.pill-cloud{display:flex;flex-wrap:wrap;gap:11px;margin:10px 0 6px;padding:18px 16px;background:var(--paper);border:1px solid var(--line);border-radius:16px}
.pill-item{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:999px;text-decoration:none;
  background:rgba(201,169,106,.09);border:1px solid rgba(201,169,106,.32);transition:background .25s var(--ease),color .25s var(--ease),transform .25s var(--ease),border-color .25s}
.pill-item span{font-size:13.5px;color:var(--ink);letter-spacing:.5px}
.pill-item time{font-size:10.5px;color:var(--ink-3);letter-spacing:1px}
.pill-item:nth-child(3n+2){background:rgba(122,156,198,.1);border-color:rgba(122,156,198,.35)}
.pill-item:nth-child(3n){background:rgba(184,122,156,.08);border-color:rgba(184,122,156,.3)}
.pill-item:hover{background:var(--c-accent);border-color:var(--c-accent);transform:translateY(-3px)}
.pill-item:hover span{color:#fff}
.pill-item:hover time{color:rgba(255,255,255,.8)}

/* 10) 阶梯进程：递进缩进 + 进度条 */
.stp-list{list-style:none;margin:6px 0;padding:0;display:grid;gap:12px}
.stp-list li{display:flex;align-items:center;gap:16px;padding:14px 18px;background:var(--paper);border:1px solid var(--line);border-radius:12px;
  transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.stp-list li:nth-child(2){margin-left:5%}
.stp-list li:nth-child(3){margin-left:10%}
.stp-list li:nth-child(4){margin-left:15%}
.stp-list li:nth-child(5){margin-left:20%}
.stp-list li:nth-child(n+6){margin-left:25%}
.stp-list li:hover{transform:translateX(6px);box-shadow:0 8px 20px rgba(0,0,0,.09);border-color:var(--c-accent-light)}
.stp-no{flex:none;font-family:var(--serif);font-size:21px;font-weight:700;line-height:1;
  color:transparent;-webkit-text-stroke:1.1px rgba(201,169,106,.9);transition:color .25s var(--ease)}
.stp-list li:hover .stp-no{color:var(--c-accent);-webkit-text-stroke-color:var(--c-accent)}
.stp-bd{flex:1;min-width:0}
.stp-bd a{font-size:14.5px;color:var(--ink);letter-spacing:.5px;text-decoration:none}
.stp-list li:hover .stp-bd a{color:var(--c-primary)}
.stp-bar{display:block;height:5px;border-radius:3px;margin-top:8px;background:rgba(0,0,0,.06);overflow:hidden}
.stp-bar i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,var(--c-accent),#a8863c);
  transform-origin:left;animation:stpGrow 1s var(--ease) .3s backwards}
@keyframes stpGrow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.stp-list time{flex:none;font-size:12px;color:var(--ink-3);letter-spacing:1px}

@media (max-width:760px){
  .bnr-row,.bnr-row.flip{flex-direction:column}
  .bnr-row .ph{width:100%;min-height:150px}
  .mos-grid{grid-template-columns:1fr 1fr}
  .mos-cell.big{grid-column:1/3;grid-row:auto;aspect-ratio:16/9}
  .stp-list li:nth-child(n){margin-left:0}
  .qt-grid{grid-template-columns:1fr}
}

/* ============ 文章底部署名卡（编辑/复核/初审/终审） ============ */
.art-credit{display:flex;flex-wrap:wrap;gap:10px 30px;justify-content:center;align-items:center;
  max-width:660px;margin:28px auto 2px;padding:16px 28px;
  background:repeating-linear-gradient(-45deg,#fbf7ec,#fbf7ec 12px,#f7f1e0 12px,#f7f1e0 24px);
  border:1px solid #e6d9b8;border-left:4px solid var(--c-accent,#b8912f);border-radius:10px;
  box-shadow:0 4px 14px rgba(120,95,30,.08)}
.art-credit-item{font-size:13.5px;color:#6b5d3f;letter-spacing:.5px;white-space:nowrap}
.art-credit-item b{color:#9a7b2d;font-weight:600}
.art-credit--left{justify-content:flex-start;margin-left:0}
.art-credit--right{justify-content:flex-end;margin-right:0}
@media (max-width:640px){
  .art-credit{gap:8px 18px;padding:14px 18px}
  .art-credit-item{font-size:12.5px}
}

/* ============ 栏目顶部横幅 ============ */
.cat-banner{margin:0 0 20px}
.cat-banner .wrap{position:relative}
/* 默认风格：红绸底 + 栏目名 + 简介 + 圆章 */
.cat-banner--default .wrap{overflow:hidden;border-radius:14px;min-height:170px;padding:34px 42px;display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(105deg,#701313 0%,#98291f 42%,#bb4a33 76%,#d06849 100%);box-shadow:0 10px 26px rgba(110,18,18,.28)}
.cat-banner--default .wrap::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 84% 24%,rgba(255,255,255,.16),transparent 52%),radial-gradient(ellipse at 8% 96%,rgba(0,0,0,.22),transparent 48%);pointer-events:none}
.cb-tag{display:inline-block;border:1px solid rgba(255,255,255,.5);color:rgba(255,255,255,.92);font-size:12px;letter-spacing:2px;padding:3px 12px;border-radius:3px;margin-bottom:12px;position:relative}
.cb-title{color:#fff;font-size:27px;font-weight:700;letter-spacing:3px;line-height:1.4;margin:0;position:relative;text-shadow:0 2px 8px rgba(60,0,0,.35)}
.cb-sub{color:rgba(255,255,255,.85);font-size:14px;letter-spacing:1px;margin:10px 0 0;position:relative}
.cb-seal{position:relative;flex:none;width:96px;height:96px;border-radius:50%;border:1px solid rgba(255,255,255,.55);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.cb-seal::before{content:'';position:absolute;inset:6px;border-radius:50%;border:1px dashed rgba(255,255,255,.35)}
.cb-seal span{color:#fff;font-size:17px;letter-spacing:6px;text-indent:6px;font-weight:600;line-height:1.3}
.cb-seal span:empty{display:none}
/* 自定义图片：多张淡入轮播 */
.cat-banner--img .wrap{border-radius:14px}
.cb-frame{position:relative;height:240px;border-radius:14px;overflow:hidden;background:#1f1a17;box-shadow:0 10px 26px rgba(30,20,10,.22)}
.cb-slides,.cb-slide{position:absolute;inset:0;width:100%;height:100%}
.cb-slide{object-fit:cover;opacity:0;transition:opacity .8s ease}
.cb-slide.on{opacity:1}
.cb-dots{position:absolute;left:0;right:0;bottom:12px;display:flex;justify-content:center;gap:8px;z-index:3}
.cb-dots i{width:8px;height:8px;border-radius:4px;background:rgba(255,255,255,.5);cursor:pointer;transition:all .3s}
.cb-dots i.on{background:#fff;width:22px}
.cb-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:38px;height:38px;border-radius:50%;border:none;background:rgba(0,0,0,.38);color:#fff;font-size:22px;line-height:1;cursor:pointer;opacity:0;transition:opacity .3s,background .3s;display:flex;align-items:center;justify-content:center}
.cb-nav:hover{background:rgba(0,0,0,.6)}
.cat-banner--img .wrap:hover .cb-nav{opacity:1}
.cb-prev{left:14px}
.cb-next{right:14px}
@media (max-width:768px){
  .cat-banner--default .wrap{flex-direction:column;align-items:flex-start;padding:26px 22px;min-height:0}
  .cb-seal{width:72px;height:72px}
  .cb-title{font-size:21px;letter-spacing:2px}
  .cb-frame{height:170px}
}

/* ============ 栏目横幅（复用首页 .hero 风格） ============ */
/* 图片模式：照片清晰可见 + 左侧文字护底渐变 */
.cat-hero.cat-hero--img .hero-slide > img{opacity:1}
.cat-hero.cat-hero--img .hero-slide::after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(92deg,rgba(24,12,8,.58) 0%,rgba(24,12,8,.32) 42%,rgba(24,12,8,.05) 75%,transparent 100%)}
.cat-hero .hero-txt{max-width:70%}
.cat-hero .hero-txt .kicker{margin-bottom:16px}
.cat-hero .hero-txt h2{font-size:clamp(22px,3vw,36px);letter-spacing:4px}
.cat-hero .hero-txt p{margin-top:10px;letter-spacing:2px}

/* ============ 栏目横幅 10 种预设风格 ============ */
/* 圆章颜色走 CSS 变量，默认=首页同款金 */
.hero.cat-hero .cb-r1{stroke:var(--cb-ring1,rgba(200,169,106,.45))}
.hero.cat-hero .cb-r2{stroke:var(--cb-ring2,rgba(200,169,106,.3))}
.hero.cat-hero .cb-r3{fill:var(--cb-ringfill,rgba(200,169,106,.08));stroke:var(--cb-ring2,rgba(200,169,106,.5))}
.hero.cat-hero .cb-t{fill:var(--cb-sealtxt,#E9DCC2)}
/* 每种风格：背景渐变 + 变量 + ::before 装饰层 */
/* s1 绛红鎏金（默认） */
.hero.cat-hero--s1{background:linear-gradient(135deg,#6E1F1A,#4A1512)}
.hero.cat-hero--s1::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 85% 20%,rgba(255,215,150,.14),transparent 55%)}
/* s2 藏青鎏金 */
.hero.cat-hero--s2{background:linear-gradient(135deg,#1F3A5F,#12233C);--cb-ring1:rgba(212,183,116,.5);--cb-ring2:rgba(212,183,116,.32);--cb-ringfill:rgba(212,183,116,.08);--cb-sealtxt:#EFE3C4}
.hero.cat-hero--s2::before{content:'';position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,transparent,rgba(212,183,116,.75),transparent)}
/* s3 松黛苍翠 */
.hero.cat-hero--s3{background:linear-gradient(135deg,#2E4B3F,#1C332B);--cb-ring1:rgba(196,214,190,.45);--cb-ring2:rgba(196,214,190,.3);--cb-ringfill:rgba(196,214,190,.07);--cb-sealtxt:#E4EEE0}
.hero.cat-hero--s3::before{content:'';position:absolute;left:0;right:0;bottom:0;height:64px;background:radial-gradient(120px 56px at 12% 100%,rgba(255,255,255,.07),transparent 70%),radial-gradient(160px 70px at 38% 100%,rgba(255,255,255,.05),transparent 70%),radial-gradient(200px 84px at 72% 100%,rgba(255,255,255,.06),transparent 70%),radial-gradient(150px 66px at 96% 100%,rgba(255,255,255,.05),transparent 70%)}
/* s4 紫檀华贵 */
.hero.cat-hero--s4{background:linear-gradient(135deg,#4A2740,#2E1728);--cb-ring1:rgba(224,178,214,.45);--cb-ring2:rgba(224,178,214,.3);--cb-ringfill:rgba(224,178,214,.08);--cb-sealtxt:#F2E3EE}
.hero.cat-hero--s4::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 88% 12%,rgba(255,170,230,.16),transparent 52%),radial-gradient(ellipse at 6% 92%,rgba(90,20,80,.5),transparent 55%)}
/* s5 金秋暖赭 */
.hero.cat-hero--s5{background:linear-gradient(135deg,#7A4A1E,#4F2D10);--cb-ring1:rgba(255,214,150,.5);--cb-ring2:rgba(255,214,150,.32);--cb-ringfill:rgba(255,214,150,.09);--cb-sealtxt:#FBEFD8}
.hero.cat-hero--s5::before{content:'';position:absolute;inset:0;background:linear-gradient(115deg,transparent 42%,rgba(255,220,160,.12) 50%,transparent 58%)}
/* s6 玄夜深空 */
.hero.cat-hero--s6{background:linear-gradient(135deg,#232A38,#12161F);--cb-ring1:rgba(170,190,220,.45);--cb-ring2:rgba(170,190,220,.3);--cb-ringfill:rgba(170,190,220,.07);--cb-sealtxt:#E4EAF4}
.hero.cat-hero--s6::before{content:'';position:absolute;inset:0;background-image:radial-gradient(1.5px 1.5px at 12% 26%,rgba(255,255,255,.5),transparent 100%),radial-gradient(1px 1px at 28% 68%,rgba(255,255,255,.4),transparent 100%),radial-gradient(1.5px 1.5px at 46% 18%,rgba(255,255,255,.45),transparent 100%),radial-gradient(1px 1px at 64% 76%,rgba(255,255,255,.35),transparent 100%),radial-gradient(1.5px 1.5px at 78% 34%,rgba(255,255,255,.5),transparent 100%),radial-gradient(1px 1px at 90% 60%,rgba(255,255,255,.4),transparent 100%)}
/* s7 朱砂丹霞 */
.hero.cat-hero--s7{background:linear-gradient(120deg,#B03A1E,#7C2410)}
.hero.cat-hero--s7::before{content:'';position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,rgba(255,235,200,.16) 46%,transparent 62%),radial-gradient(ellipse at 90% 85%,rgba(60,10,0,.35),transparent 55%)}
/* s8 青玉素雅 */
.hero.cat-hero--s8{background:linear-gradient(135deg,#4E6660,#33443F);--cb-ring1:rgba(214,228,222,.45);--cb-ring2:rgba(214,228,222,.3);--cb-ringfill:rgba(214,228,222,.06);--cb-sealtxt:#EAF2EE}
.hero.cat-hero--s8::before{content:'';position:absolute;inset:16px;border:1px solid rgba(255,255,255,.14);border-radius:10px;pointer-events:none}
/* s9 绛紫玫红 */
.hero.cat-hero--s9{background:linear-gradient(135deg,#8E2F4E,#5C1B32);--cb-ring1:rgba(244,196,212,.45);--cb-ring2:rgba(244,196,212,.3);--cb-ringfill:rgba(244,196,212,.08);--cb-sealtxt:#FBE9EF}
.hero.cat-hero--s9::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 82% 22%,rgba(255,190,205,.18),transparent 50%),radial-gradient(ellipse at 10% 88%,rgba(255,150,170,.1),transparent 55%)}
/* s10 石青静穆（十字水印） */
.hero.cat-hero--s10{background:linear-gradient(135deg,#3E4A5C,#28303D);--cb-ring1:rgba(198,210,226,.45);--cb-ring2:rgba(198,210,226,.3);--cb-ringfill:rgba(198,210,226,.07);--cb-sealtxt:#E8EDF4}
.hero.cat-hero--s10::before{content:'';position:absolute;right:4%;top:50%;width:150px;height:150px;transform:translateY(-50%);background:linear-gradient(rgba(255,255,255,.09),rgba(255,255,255,.09)) center/22px 100% no-repeat,linear-gradient(rgba(255,255,255,.09),rgba(255,255,255,.09)) center/100% 22px no-repeat;border-radius:8px;pointer-events:none}

/* =====================================================================
   响应式精修层 · 平板（768–1024） / 手机（≤767）
   —— 全部规则包在 max-width 媒体查询内：桌面端（≥1025px）零影响，
      任何一条都可整块回滚；令牌沿用上方 :root（--sp-* / --r-* / --sh-*）
   —— 目标：触控≥44px、无横向滚动、文字不拥挤、弹窗与固定元素避让安全区
   ===================================================================== */

/* ---------- 共用：触控尺度、安全区、视口单位 ---------- */
@media (max-width:1024px){
  html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
  :root{--touch:44px;--nav-h:auto}
  .wrap{padding-left:clamp(16px,3.4vw,28px);padding-right:clamp(16px,3.4vw,28px)}

  /* 页头：压缩高度，留出横向余量 */
  .header-in{min-height:0;padding-top:10px;padding-bottom:10px;gap:14px}
  .header-tools{gap:10px}
  .brand-logo-wrap{width:56px;height:56px}
  .brand-logo-wrap .brand-logo{width:46px;height:46px}
  .seal,.crest{width:56px;height:56px;font-size:24px}
  .brand-t b{font-size:26px;letter-spacing:5px}
  .search input{width:clamp(120px,18vw,190px)}

  /* 导航：可点高度≥44px，长菜单可滚动 */
  .nav-row-main>a{min-height:var(--touch);padding:0 14px;font-size:14px;letter-spacing:1px}
  .nav-more-btn{min-height:var(--touch)}
  .nav-in.open{max-height:calc(100dvh - 96px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}

  /* 区块节奏与两栏排版 */
  .section{padding:calc(var(--section-gap) * .78) 0 6px}
  .s-head{margin-bottom:18px;flex-wrap:wrap;gap:6px 14px}
  .article-body{padding:clamp(20px,3vw,32px)}
  .hero-in{height:clamp(280px,42vw,380px)}
  .hero-txt h2{font-size:clamp(24px,4.4vw,34px);letter-spacing:4px}
  .rich-text table{max-width:100%}

  /* 触控目标：分页 / 更多 / 灯箱 / 固定件 */
  .pager a{min-height:var(--touch);display:inline-flex;align-items:center;padding:8px 16px}
  .back-top{width:48px;height:48px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px))}
  .shop-cart-fab{right:16px;bottom:calc(78px + env(safe-area-inset-bottom,0px))}
  .lb-close,.lb-prev,.lb-next{width:48px;height:48px}
  .toast{bottom:calc(76px + env(safe-area-inset-bottom,0px));max-width:calc(100vw - 32px)}

  /* 触控目标：页头顶部链接、选项卡、区块「更多」、导航功能胶囊 */
  .top-links a{display:inline-flex;align-items:center;min-height:36px}
  .tabs a{min-height:40px;display:inline-flex;align-items:center}
  .s-head .more{min-height:40px;display:inline-flex;align-items:center}
  .nav-features .feat{min-height:34px}
  .portal-links a{min-height:40px;display:inline-flex;align-items:center}
  .portal-beian a{min-height:36px;display:inline-flex;align-items:center}
  /* 列表行链接：用等高内距+负外边距把点按区域扩到整行，视觉排布保持不变 */
  .news-list a,.gonggao li a,.plain-list li a{padding-top:11px;padding-bottom:11px;margin-top:-11px;margin-bottom:-11px}

  /* 弹窗/整屏页：用 dvh 规避移动浏览器地址栏导致的高度抖动 */
  @supports (min-height:100dvh){
    .portal,.portal-inner,.lightbox{min-height:100dvh}
  }
}

/* ---------- ≤900（手机 + 竖屏平板）：统一抽屉导航，全部栏目竖排可达 ---------- */
@media (max-width:900px){
  .nav-toggle{display:flex;width:var(--touch);height:var(--touch);padding:0;flex:none;
    align-items:center;justify-content:center;border-radius:10px;background:var(--paper)}
  .nav-toggle span{width:20px}
  /* 关键修正：桌面 .nav-in 是 justify-content:center，抽屉内容超长时顶部会被裁掉且滚不到。
     抽屉里必须改为从顶部排布，否则前几个栏目不可达。 */
  .nav-in{display:none;flex-direction:column;justify-content:flex-start;align-items:stretch;height:auto;
    background:var(--c-primary-deep);padding:6px 0;
    max-height:calc(100dvh - 96px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
    scrollbar-width:thin}
  .nav-in.open{display:flex;animation:ddin .28s var(--ease)}
  .nav-row-main{flex-direction:column;flex:0 0 auto;gap:0;justify-content:flex-start;align-items:stretch}
  /* 覆盖桌面 .caret 的 padding-right，给右侧箭头留出独立热区；去掉桌面活动态/
     下拉指示三角等浮层伪元素 */
  .mainnav .nav-row-main>a{padding:13px 56px 13px 20px}
  .nav-row-main>a{position:relative;padding:13px 56px 13px 20px;min-height:48px;white-space:normal;line-height:1.4;
    border-bottom:1px solid rgba(255,255,255,.08);letter-spacing:1px}
  .nav-row-main>a:after,.nav-row-main>a.caret:after{display:none}
  .nav-row-main>a.on{border-left:3px solid var(--c-accent);padding-left:17px;background:rgba(255,255,255,.06)}
  .nav-features{display:contents}
  .nav-features .feat{width:auto;height:40px;margin:6px 20px;border-radius:8px;
    justify-content:center;font-size:13px;letter-spacing:1px}
  .nav-sub-bar{display:none !important}

  /* 展开箭头：变成右侧独立热区，点箭头展开子栏目，点文字直接进入栏目页 */
  .mainnav .nav-row-main>a .ni-arw{display:flex;position:absolute;right:0;top:0;width:56px;height:100%;
    margin:0;border:0;align-items:center;justify-content:center;background:none;transform:none;
    transition:none;z-index:2;cursor:pointer}
  .mainnav .nav-row-main>a .ni-arw::before{content:"";width:9px;height:9px;margin-top:-4px;
    border-right:1.8px solid currentColor;border-bottom:1.8px solid currentColor;
    transform:rotate(45deg);opacity:.72;transition:transform .26s var(--ease),opacity .26s var(--ease)}
  .mainnav .nav-row-main>a .ni-arw.open::before{transform:rotate(-135deg);margin-top:2px;opacity:1}
  .mainnav .nav-row-main>a:hover .ni-arw,
  .mainnav .nav-row-main>a.dd-open .ni-arw{transform:none}

  /* 下拉面板：手风琴（默认收起，点箭头展开） */
  .mainnav .nav-row-main>a.caret+.dd{display:none}
  .mainnav .nav-row-main>a.caret+.dd.open{display:flex}
  .mainnav .dd{position:static;visibility:visible;opacity:1;transform:none;display:flex;
    background:transparent;border:0;box-shadow:none;border-radius:0;min-width:0;max-width:none;
    padding:6px 0 10px 14px;backdrop-filter:none;-webkit-backdrop-filter:none}
  .mainnav .dd::before,.mainnav .dd::after{display:none}
  .mainnav .dd .dd-sub{display:flex;padding:2px 0 4px 14px}
  .mainnav .dd-item{height:auto;min-height:44px;padding:10px 10px;color:rgba(255,255,255,.8);
    font-size:13.5px;border-radius:8px;white-space:normal;line-height:1.45}
  .mainnav .dd-item:hover,.mainnav .dd-item:focus-visible{color:#fff;padding-left:14px;background:rgba(255,255,255,.08)}
  .mainnav .dd-item.on{background:rgba(255,255,255,.1);color:#fff}
  .mainnav .dd-item.on::before{left:2px;height:18px}
  .mainnav .dd-wrap>.dd{position:static;margin:0;padding-left:0;transform:none}
  .mainnav .dd-item .di-arw{display:none}

  /* 「更多」里被截断的栏目：抽屉内直接铺开，保证移动端全部可达 */
  .mainnav .nav-more{display:block;width:100%;flex:0 0 auto}
  /* 空面板（栏目已全部铺进抽屉）时整块隐藏，避免只留一个空标题 */
  .mainnav .nav-more.no-rest,
  .mainnav .nav-more.nav-rest-empty{display:none}
  .mainnav .nav-more::before{content:"更多栏目";display:block;padding:16px 20px 8px;
    font-size:11px;letter-spacing:2.5px;color:rgba(255,255,255,.42)}
  .mainnav .nav-more-btn{display:none}
  .mainnav .nav-more-panel,
  .mainnav .nav-more-panel[hidden]{display:block !important;position:static;min-width:0;width:auto;
    background:transparent;border:0;box-shadow:none;border-radius:0;padding:0;max-height:none;
    overflow:visible;transform:none;animation:none}
  .mainnav .nav-more-panel::before,.mainnav .nav-more-panel::after{display:none}
  .mainnav .nm-group{display:block;padding:0}
  .mainnav .nm-cats a{display:flex;align-items:center;min-height:46px;padding:11px 20px;
    color:rgba(255,255,255,.86);font-size:14px;letter-spacing:1px;
    border-bottom:1px solid rgba(255,255,255,.07)}
  .mainnav .nm-cats a:hover,.mainnav .nm-cats a:focus-visible{background:rgba(255,255,255,.07);color:#fff;padding-left:20px}
  .mainnav .nm-cats a.on{background:rgba(255,255,255,.1);color:#fff}
  .mainnav .nm-cats a.nm-sub{min-height:42px;padding-left:36px;font-size:13px;color:rgba(255,255,255,.66)}
  .mainnav .nm-cats a.nm-sub:hover{padding-left:36px;background:rgba(255,255,255,.05)}
}

/* ---------- 平板（768–1024）：中等密度，卡片两栏 ---------- */
@media (min-width:768px) and (max-width:1024px){
  .hero-txt h2{letter-spacing:4px}
  .hero-txt p{font-size:14px}
  .news-grid,.list-layout{gap:26px}
  .features{gap:14px}
  .f-card{height:170px;padding:22px 20px}
  .media,.cards-grid,.albums-grid,.enroll-grid{grid-template-columns:1fr 1fr;gap:16px}
  .m-card .ph{height:160px}
  .photos-grid,.album{grid-template-columns:repeat(3,1fr);gap:12px}
  .footer-cols{grid-template-columns:1fr 1fr;gap:24px 30px;padding:32px 0}
  .article-title{font-size:clamp(22px,3vw,26px)}
  .two-col{gap:26px}
  .xk-hero{padding:34px 0 30px}
  .cat-banner--default .wrap{padding:26px 26px;gap:18px}
  .cb-title{font-size:23px}
  .cart-table th,.cart-table td{padding:11px 12px}
  .topbar .wrap{height:44px}
  .top-links a{min-height:44px}
  .site-footer li a{display:inline-flex;align-items:center;min-height:40px}
  .friends-list a{display:inline-flex;align-items:center;min-height:44px;margin:0 8px 8px 0;padding:6px 14px}
  .footer-socials a{min-height:40px;display:inline-flex;align-items:center}
  .crumbs .wrap{height:auto;min-height:40px;padding-top:6px;padding-bottom:6px}
  .crumbs a{display:inline-flex;align-items:center;min-height:34px}
  .nav-features .feat{min-height:40px}
}

/* ---------- 手机（≤767）：单列为主，触控优先 ---------- */
@media (max-width:767px){
  /* ===== 顶部公告条 ===== */
  .topbar .wrap{height:auto;min-height:var(--touch);padding:0 16px}
  .notice-wrap{display:none}
  .top-links{width:100%;justify-content:center;gap:0;flex-wrap:wrap}
  .top-links a{display:inline-flex;align-items:center;min-height:var(--touch);padding:0 10px;font-size:12px;letter-spacing:.5px}
  .top-links a:before{display:none}

  /* ===== 页头：品牌 + 菜单按钮一行，搜索独立一行 ===== */
  .header-in{flex-wrap:wrap;align-items:center;gap:10px 12px;padding:10px 0 12px}
  .brand{flex:1 1 auto;min-width:0}
  .brand-logo-wrap{width:46px;height:46px;box-shadow:0 0 0 3px rgba(200,169,106,.12),0 6px 14px -8px rgba(74,21,18,.45)}
  .brand-logo-wrap .brand-logo{width:38px;height:38px}
  .seal,.crest{width:46px;height:46px;font-size:21px}
  .brand-t{padding-left:12px;margin-left:12px;min-width:0}
  .brand-t b{font-size:19px;letter-spacing:2px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .brand-t i{font-size:9.5px;letter-spacing:1px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .header-tools{display:contents}
  .nav-toggle{order:2;flex:none;width:var(--touch);height:var(--touch);padding:0;display:flex;align-items:center;justify-content:center;gap:5px;border-radius:10px;background:var(--paper)}
  .nav-toggle span{width:20px}
  form.search{order:3;flex:1 0 100%;margin:0;height:var(--touch)}
  .search .ico-search{padding-left:12px}
  .search input{flex:1;min-width:0;width:auto;max-width:none;padding:11px 10px;font-size:14px}
  .search button{flex:none;padding:0 16px;height:var(--touch);letter-spacing:0;font-size:13px}

  /* ===== 导航抽屉（≤900 由脚本同源切换） ===== */
  .nav-row-main>a{padding:13px 56px 13px 20px;min-height:48px;font-size:14.5px;border-bottom:1px solid rgba(255,255,255,.08)}
  .nav-features .feat{height:40px;margin:6px 20px;border-radius:8px;justify-content:center;font-size:13px}

  /* ===== 主视觉：文字内收，避免贴边与溢出 ===== */
  .hero-in{height:clamp(330px,88vw,400px)}
  .hero-slide{padding-left:14px;padding-right:14px}
  .hero-txt{max-width:100%}
  .hero-txt .kicker{font-size:11px;letter-spacing:3px;padding:3px 10px;margin-bottom:14px}
  .hero-txt h2{font-size:clamp(21px,6vw,27px);letter-spacing:2px;line-height:1.45;text-wrap:balance}
  .hero-txt p{margin-top:10px;font-size:13px;letter-spacing:1.5px;line-height:1.8}
  .hero-btns{margin-top:20px;gap:10px}
  .hero-btns .btn{flex:1 1 auto;text-align:center}
  .hero-art{display:none}
  .hero-dots{left:16px;bottom:16px}

  /* ===== 区块与标题 ===== */
  .section{padding:calc(var(--section-gap) * .62) 0 4px}
  .s-head{padding-bottom:10px;margin-bottom:14px;gap:4px 10px}
  .s-head h3{font-size:18px;letter-spacing:2px;line-height:1.5}
  .s-head h3 span{font-size:10.5px;letter-spacing:1px;margin-left:6px}
  .s-head .more{font-size:12.5px;min-height:44px;display:inline-flex;align-items:center}
  .wrap.news-grid,.wrap.list-layout,.wrap.two-col{gap:20px}
  .news-grid>div,.news-grid>aside,.list-layout>*,.two-col>*{min-width:0}

  /* ===== 列表：两行截断，不再被压成一条细缝 ===== */
  .news-list li{gap:10px;padding:11px 0;align-items:flex-start}
  .news-list a{white-space:normal;padding-right:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.6}
  .news-list.big li{font-size:14.5px}
  .news-list .date{font-size:11.5px;flex:none;margin-top:2px}
  .gonggao li,.plain-list li{gap:8px;align-items:flex-start}
  .gonggao li a,.plain-list li a{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .gonggao .date,.plain-list .date{padding-top:2px;flex:none}
  .dl-list li{flex-wrap:wrap;gap:8px;padding:11px 2px}
  .dl-list a:not(.btn){flex:1 1 60%;min-width:0}
  .dl-list .meta{margin-left:0;order:3}
  .enroll .item{padding:11px 0}
  .enroll .item span{min-width:0}
  .enroll .go{min-height:var(--touch);display:flex;flex-direction:column;align-items:center;justify-content:center}

  /* ===== 选项卡：横向滑动，隐藏滚动条，触控增高 ===== */
  .tabs{gap:0;overflow-x:auto;flex-wrap:nowrap;margin-bottom:10px;padding-bottom:0;
    scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;
    mask-image:linear-gradient(90deg,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,#000 92%,transparent)}
  .tabs::-webkit-scrollbar{display:none}
  .tabs a{flex:none;min-height:42px;display:inline-flex;align-items:center;padding:0 12px;font-size:13.5px;letter-spacing:0;scroll-snap-align:start}
  .tabs a:first-child{padding-left:2px}

  /* ===== 栅格：按内容自然重排 ===== */
  .features{grid-template-columns:1fr;gap:12px}
  .f-card{height:auto;min-height:132px;padding:20px 18px}
  /* 描述文字避免末行只剩孤字（桌面对齐原样，仅窄屏生效） */
  .f-card p{text-wrap:pretty;letter-spacing:.5px;line-height:1.7}
  .f-card .num{font-size:36px;top:10px;right:14px}
  .media,.cards-grid,.albums-grid,.enroll-grid,.links-row{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
  .m-card .ph{height:118px;font-size:18px;letter-spacing:3px}
  .m-card .bd{padding:12px 13px}
  .m-card h5{font-size:14px;letter-spacing:1px}
  .m-card .meta{font-size:11px;margin:5px 0 8px}
  .m-card .desc{font-size:12px;line-height:1.7;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .photos-grid,.album{grid-template-columns:repeat(2,1fr);gap:10px}
  .photo-item figcaption{font-size:11.5px;line-height:1.5}
  .e-card h4{font-size:14px;min-height:0;line-height:1.55}
  .quick{padding:16px}
  .side-card{margin-bottom:14px}
  .side-card .hd{font-size:15px;letter-spacing:2px;padding:12px 14px}
  .side-card .bd{padding:12px 14px}
  .list-side .side-card:first-child{margin-top:0}

  /* 内联固定栅格（购物车/订单/结算/直播详情）：手机一律单列 */
  .live-layout,.pd-layout{grid-template-columns:1fr !important}
  .shop-toolbar{padding:12px;gap:8px;border-radius:12px}
  .shop-toolbar form{margin-left:0;width:100%}
  .shop-toolbar input{flex:1;width:auto;min-width:0}
  .shop-toolbar button{min-height:var(--touch);padding:8px 16px}
  .shop-toolbar .cat-pill{min-height:38px;display:inline-flex;align-items:center;padding:6px 14px}

  /* ===== 表单：16px 字号防 iOS 自动放大，控件≥44px ===== */
  .btn{min-height:var(--touch);display:inline-flex;align-items:center;justify-content:center;padding:11px 22px;font-size:14.5px;letter-spacing:1px}
  .btn.sm{min-height:38px;padding:8px 14px;font-size:12.5px}
  .msg-form label{font-size:13px;margin-bottom:12px}
  .msg-form input,.msg-form select,.msg-form textarea,
  .mc-form input,.mc-form select,.search-big input,.shop-toolbar input,
  .bible-tools select,.bible-tools .fsbtn{font-size:16px;min-height:var(--touch);padding:11px 12px}
  .msg-form textarea{min-height:104px}
  .msg-form .btn{width:100%;justify-content:center;min-height:46px}
  .mc-form .btn-buy{min-height:46px}
  .form-row{grid-template-columns:1fr;gap:0}
  .form-links{font-size:12.5px;line-height:2}
  .form-ok,.form-err{font-size:12.5px;overflow-wrap:anywhere}
  .login-tabs{flex-wrap:wrap}
  .login-tabs .btn-ghost{flex:1 1 100%;min-height:var(--touch);display:inline-flex;align-items:center;justify-content:center;text-align:center}
  .search-big{flex-wrap:wrap;gap:8px}
  .search-big input{flex:1 1 100%}
  .search-big .btn{flex:1 1 100%}
  .mc-form .row2{grid-template-columns:1fr;gap:0}
  .mc-head{flex-wrap:wrap;gap:12px;padding:16px}
  .mc-head .mc-avatar{width:52px;height:52px;font-size:20px}

  /* ===== 表格：容器内横向滚动，页面不横向滚动 ===== */
  .cart-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--r-card,12px);background:var(--paper)}
  .cart-table tr{display:flex;align-items:center;gap:10px;min-width:520px;padding:10px 12px;border-bottom:1px solid var(--line)}
  .cart-table tr:first-child{background:var(--c-accent-pale)}
  .cart-table tr:last-child{border-bottom:0}
  .cart-table th,.cart-table td{border:0;padding:0;flex:1 1 0;min-width:0;font-size:12.5px;line-height:1.5;overflow-wrap:anywhere}
  .cart-table th:first-child,.cart-table td:first-child{flex:1.9 1 0}
  .cart-table .pname{gap:8px}
  .cart-table .pname img{width:42px;height:42px;border-radius:8px}
  .cart-table input.qty{width:56px;min-height:38px;font-size:16px}
  .mc-panel{padding:16px}
  .mc-panel table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}
  .rich-text table{display:block;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch;font-size:13px}
  .rich-text td,.rich-text th{padding:8px 10px}

  /* ===== 文章页 ===== */
  .crumbs .wrap{height:auto;min-height:40px;padding-top:8px;padding-bottom:8px;flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .crumbs .wrap::-webkit-scrollbar{display:none}
  .crumbs a,.crumbs p,.crumbs b,.crumbs span{flex:none}
  .article-title{font-size:clamp(19px,5.6vw,24px);letter-spacing:1px;line-height:1.55;padding:6px 0;text-wrap:pretty}
  .article-meta{gap:4px 14px;font-size:11.5px;margin:10px 0 18px;justify-content:flex-start}
  .article-body{padding:16px 14px}
  .rich-text p{line-height:1.95}
  .rich-text h2,.rich-text h3,.rich-text h4{line-height:1.5}
  .rich-text img{margin:12px auto;border-radius:6px}
  .rich-text blockquote{padding:10px 14px}
  .attach-box{padding:13px 14px}
  .attach-item{align-items:flex-start;padding:10px 12px;word-break:break-word}
  .article-nav{flex-direction:column;gap:10px}
  .article-nav a,.article-nav span{width:100%;white-space:normal;line-height:1.55;padding:12px 14px}
  .art-credit{padding:12px 14px;gap:6px 14px;justify-content:flex-start}
  .relate .news-list.big li{font-size:14px}

  /* ===== 画廊 / 展厅 / 灯箱 ===== */
  .exhibit-wrap{padding:32px 0 18px}
  .exhibit-track{gap:18px;padding:8px 16px}
  .exhibit-item{width:78vw;max-width:340px}
  .exhibit-item figcaption{font-size:12.5px;margin-top:10px}
  .lightbox img{max-width:94vw;max-height:72dvh;border-radius:4px}
  .lb-cap{font-size:12.5px;padding:0 16px;text-align:center;line-height:1.6}
  .lb-close{top:calc(10px + env(safe-area-inset-top,0px));right:12px}
  .lb-prev,.lb-next{top:auto;bottom:calc(16px + env(safe-area-inset-bottom,0px));transform:none}
  .lb-prev{left:12px}
  .lb-next{right:12px}

  /* ===== 栏目横幅 / 通用 hero ===== */
  .xk-hero{padding:26px 0 22px}
  .xk-hero h2{font-size:clamp(20px,5.6vw,26px);letter-spacing:2px;line-height:1.4}
  .xk-hero p{font-size:12.5px;line-height:1.7}
  .xk-crumb{font-size:11.5px;overflow-wrap:anywhere}
  .cat-banner--default .wrap{padding:22px 18px;border-radius:12px}
  .cb-title{font-size:20px;letter-spacing:1.5px}
  .cb-sub{font-size:12.5px}
  .cb-seal{width:64px;height:64px}
  .cb-frame{height:150px}
  .cat-hero .hero-txt{max-width:100%}
  .cat-hero .hero-txt h2{font-size:clamp(20px,5.6vw,26px);letter-spacing:2px}

  /* ===== 作业区（读经 / 会员 / 商城通用小件） ===== */
  .xk-desc{padding:16px 16px;font-size:13.5px;line-height:1.9}
  .live-layout .xk-player,.pd-layout .xk-player{border-radius:12px}
  .locked-box{padding:30px 20px;margin:24px auto;border-radius:14px}
  .bible-verses{padding:18px 14px;font-size:calc(15px * var(--bible-fs,1));line-height:2.1}
  .bible-hero-search{max-width:100%}
  .bible-books{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px}
  .bible-books a{min-height:44px;display:flex;align-items:center;justify-content:center;padding:8px 4px;font-size:12.5px}
  .bible-tools{gap:8px}
  .bible-nav a{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;flex:1}
  .prayer-form{padding:18px 16px}
  .prayer-card{padding:16px 16px}
  .prayer-grid{padding:calc(var(--section-gap) * .7) 0 6px}
  .prayer-card .pname{flex-wrap:wrap;gap:6px}
  .prayer-card .pname time{margin-left:auto}

  /* ===== 页脚：微标签 + 密排链接（手机端专版，追求最短、最精致） ===== */
  .site-footer{font-size:12px;border-top:1px solid rgba(200,169,106,.2);background-image:linear-gradient(180deg,rgba(0,0,0,.16),rgba(0,0,0,0) 92px)}
  .footer-cols{display:flex;flex-direction:column;gap:0;padding:12px 0 2px;--fl:28px}
  .footer-brand{order:0;padding:0 0 11px;margin:0;border-bottom:1px solid rgba(200,169,106,.16)}
  .footer-nav{order:1}
  .footer-svc{order:2}
  .footer-contact{order:3;margin-top:1px;padding-top:8px;border-top:1px solid rgba(200,169,106,.16)}
  /* 「2 字微标签 ｜ 内容」：标签等宽，三行内容天然对齐成一条竖线 */
  .footer-nav,.footer-svc,.footer-contact{display:grid;grid-template-columns:var(--fl) 1fr;column-gap:7px;align-items:baseline;padding:5px 0}
  .site-footer h6{margin:0;font-size:0;letter-spacing:0;line-height:1.7;white-space:nowrap}
  .site-footer h6::before{content:attr(data-m);font-size:10px;letter-spacing:2px;opacity:.86}
  .site-footer li{margin-bottom:0;line-height:1.6;font-size:12px}
  .footer-nav ul,.footer-svc ul,.footer-contact ul{display:flex;flex-wrap:wrap;align-items:baseline}
  .footer-nav li,.footer-svc li{display:inline-flex;align-items:baseline;padding:2px 0}
  .footer-nav li + li::before,.footer-svc li + li::before{content:none}
  /* 用留白断句，不用分隔符：项目数多时换行不会出现行尾悬挂的圆点 */
  .footer-nav ul,.footer-svc ul{column-gap:12px}
  .footer-nav li a,.footer-svc li a{display:inline-block;color:rgba(255,255,255,.86);text-underline-offset:3px;transition:opacity .18s}
  .footer-nav li a:active,.footer-svc li a:active{opacity:.6}
  .footer-contact ul{gap:0 12px}
  .footer-contact li{padding:1px 0;overflow-wrap:anywhere;font-size:11.5px;font-variant-numeric:tabular-nums}
  /* 手机端：字段名淡、字段值亮，短字段并排、长地址收尾 */
  .footer-contact .ct-k{font-size:10.5px;opacity:.5;margin-right:2px}
  .footer-contact .ct-v{color:#fff;opacity:.93;font-size:12px}
  .footer-contact .ct-person{order:0}
  .footer-contact .ct-phone{order:1}
  .footer-contact .ct-mail{order:2}
  .footer-contact .ct-addr{order:3}
  .site-footer p{line-height:1.58;font-size:10.8px;margin:0;opacity:.6;letter-spacing:.1px}
  .brandline{margin-bottom:5px;gap:8px}
  .brandline b{font-size:16px;letter-spacing:2px}
  .foot-logo{width:26px;height:26px}
  .seal-sm{width:26px;height:26px;font-size:14px}
  .footer-socials{gap:6px;margin-top:7px}
  .footer-socials a{min-height:26px;display:inline-flex;align-items:center;padding:2px 10px;font-size:11px}
  .friends{padding:14px 0 16px}
  .friends-hd{margin-bottom:8px;font-size:11.5px;letter-spacing:2px}
  .friends-list a{min-height:30px;display:inline-flex;align-items:center;margin:0 6px 6px 0;padding:4px 11px;font-size:11.5px}
  .footer-copy{padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));font-size:10.5px;line-height:1.65}
  .footer-copy>div:first-child{letter-spacing:.4px;opacity:.78}
  .footer-copy .beian{gap:1px 10px;opacity:.55;letter-spacing:.2px}
  /* 备案信息整体换行而不是字间断行，便于两项短备案并排 */
  .footer-copy .beian span,.footer-copy .beian a{white-space:nowrap}

  /* ===== 门户导航页 ===== */
  .portal-inner{padding:28px 16px calc(18px + env(safe-area-inset-bottom,0px))}
  .portal-top{gap:14px;margin-bottom:22px}
  .portal-mark-ring{width:78px;height:78px}
  .portal-mark{width:68px;height:68px}
  .portal-brand h1{font-size:clamp(26px,8vw,36px);letter-spacing:6px;line-height:1.3}
  .portal-brand p{font-size:11.5px;line-height:1.7}
  .portal-verse{font-size:13px;padding:10px 14px;margin-bottom:24px;line-height:1.9}
  .portal-cards{gap:14px}
  .p-card{padding:20px 16px 16px;border-radius:16px}
  .p-card-crest{height:62px;margin-bottom:14px}
  .p-card-crest img,.p-badge{width:60px;height:60px;font-size:25px}
  .p-card-body b{font-size:19px;letter-spacing:3px}
  .p-desc{font-size:12.5px;line-height:1.75}
  .portal-links{flex-wrap:wrap;gap:4px 14px}
  .portal-links a{min-height:40px;display:inline-flex;align-items:center}
  .portal-beian a{min-height:36px;display:inline-flex;align-items:center}
  .portal-foot{margin-top:28px;font-size:11.5px;line-height:1.9}

  /* ===== 遗产页（内联样式栅格）窄屏收口 ===== */
  body .hg-stories{grid-template-columns:1fr}
  body .hg-peoples{grid-template-columns:repeat(2,1fr);gap:12px}
  body .hg-gal{grid-template-columns:repeat(2,1fr);gap:10px}
}

/* ---------- 超窄屏（≤380）：进一步压缩留白与字号 ---------- */
@media (max-width:380px){
  .wrap{padding-left:13px;padding-right:13px}
  .brand-t b{font-size:18px;letter-spacing:1.5px}
  .brand-t i{font-size:9px;letter-spacing:.5px}
  .hero-txt h2{font-size:20px;letter-spacing:1.5px}
  .s-head h3{font-size:17px}
  .s-head .more{font-size:12px}
  .top-links a{padding:0 7px;font-size:11.5px}
  .m-card .ph{height:104px}
  .news-list a{-webkit-line-clamp:3}
  .portal-brand h1{font-size:25px;letter-spacing:4px}
  .portal-cards{grid-template-columns:1fr}
  .p-desc{min-height:0}
  .footer-copy .beian{gap:1px 8px;font-size:10px}
  /* 页脚：超窄屏再收一档标签列与链接间距，保证一行放得下 */
  .footer-cols{--fl:26px}
  .footer-nav,.footer-svc,.footer-contact{column-gap:6px}
  .site-footer h6::before{font-size:10px;letter-spacing:1px}
  .site-footer li{font-size:11px}
  .footer-nav ul,.footer-svc ul{column-gap:10px}
  .footer-nav li a,.footer-svc li a{font-size:11px}
  .footer-contact li,.footer-contact .ct-v{font-size:11px}
  .site-footer p{font-size:10.5px}
  .cart-table tr{min-width:480px}
}

/* ---------- 触屏设备：去掉悬停位移，避免“粘住”的视觉残留 ---------- */
@media (hover:none){
  .m-card:hover,.xk-card:hover,.f-card:hover,.e-card:hover,.tl-card:hover,.mgz-item:hover,.flw-card:hover,
  .idx-list li:hover,.rbn-list li:hover,.stp-list li:hover,.qt-card:hover,.photo-item:hover .photo-box img,
  .m-card:hover .ph img,.xk-card:hover .cover img,.f-card:hover,.prayer-card:hover{transform:none}
  .site-footer a:hover,.quick a:hover,.friends-list a:hover{transform:none}
}

/* ---------- 手机横屏：压缩主视觉高度，避免按钮被挤出视野 ---------- */
@media (max-width:900px) and (max-height:520px) and (orientation:landscape){
  .hero-in{height:250px}
  .hero-txt h2{font-size:20px;letter-spacing:1px;line-height:1.35}
  .hero-txt .kicker{margin-bottom:8px;font-size:10px}
  .hero-txt p{display:none}
  .hero-btns{margin-top:12px}
  .hero-btns .btn{min-height:38px;padding:8px 16px;font-size:13px}
  .hero-dots{bottom:10px}
}
