/* =====================================================================
   sportglory —— 体育资讯自适应模板（batch31）
   · 代码骨架与类名语言取自参考站 www.chitownrc.com 的 fc001 模板做法：
     site-header / nav-bar / brand / main-nav / fc-hero / hero-grid / section / section-head /
     why-grid / svc-grid / news-grid / timeline / review-scroll / appzone / site-footer /
     page-banner / breadcrumb-nav / pe-row / pe-col-8 / pe-col-4 / widget / rank-list /
     tag-cloud / post-item / detail-layout / article-wrap / detail-title / detail-meta /
     article-body / article-tags / updown / pagination / backTop；
     配色与版式差异全部由本样式表 + body 上的 th-N / ly-X 类实现，不改任何 HTML。
   · 10 套配色 th-1..th-10：主色由 build/palette31.py 在 CIE-Lab 空间挑选，与含 sportvantage
     在内的全部 15 套历史模板 primary/primary-dark/primary-lite 主色不重色
     （对历史最小距离>=12.0、本批两两>=35.6、色相互相隔>=22°，且每套主色与纯白文字的
     WCAG 对比度都落在 2.8~12.0，证据见 build/palette31.result.txt）；
     令牌由 build/emit_themes31.py 依主色派生（dark/lite/ink/soft/line/muted/accent/hero/head/foot）。
   · 每套主题带 --on-primary：primary 之上的文字按 WCAG 对比度自动在"白色 / 同色系深墨"之间
     取值；页头渐变在主色偏亮时改为"深墨 → 深主色 → 主色"，避免手机端白色导航被冲淡。
   · 4 套版式：ly-a 明快卡片流 / ly-b 硬朗报刊 / ly-c 柔和胶囊 / ly-d 深色编辑部，
     全部为纯 CSS 覆盖（含各自的 @media 覆盖块），不改 HTML 结构。
   · 页面不引外部 CDN：样式与交互脚本自包含；图片一律原生 <img loading="lazy">，
     不用 <mip-img>，并在扁框上带 object-position:center top，裁切时保住球星头部。
   ===================================================================== */

/* ---------- 设计令牌：10 套配色（由 build/emit_themes31.py 生成，勿手改） ---------- */
:root{ --fg-primary:#7e9fa9; --fg-primary-dark:#45636c; --fg-primary-lite:#8ba8b1;
    --fg-accent:#ec517a; --fg-accent-ink:#3f121e; --fg-ink:#12272d; --fg-soft:#f6f9fa;
    --fg-line:#e5f0f3; --fg-muted:#5e828d; --surface-2:#fbfcfc; --text:#3d494d; --on-primary:#12272d;
    --fg-head-solid:#081114; --fg-page-dark:#0d171a; --fg-card-dark:#152226; --on-dark:#ffffff;
    --fg-solid:#53737d; --fg-solid-lite:#53737d; --fg-accent-on-dark:#fad1dc;
    --fg-focus:rgba(126,159,169,.16); --fg-shadow-tint:rgba(126,159,169,.26);
    --head:linear-gradient(100deg,#12272d 0%,#45636c 55%,#2f454b 100%);
    --hero:linear-gradient(122deg,#0d1b1f 0%,#45636c 55%,#45636c 100%);
    --foot:linear-gradient(118deg,#071012 0%,#12272d 100%) }

body.th-2{ --fg-primary:#f50a41; --fg-primary-dark:#930627; --fg-primary-lite:#f7315f;
    --fg-accent:#51ec7a; --fg-accent-ink:#123f1e; --fg-ink:#360a14; --fg-soft:#faf6f7;
    --fg-line:#f3e5e8; --fg-muted:#8d5e69; --surface-2:#fcfbfb; --text:#4d3d40; --on-primary:#360a14;
    --fg-head-solid:#170509; --fg-page-dark:#1f080d; --fg-card-dark:#2d0d15; --on-dark:#ffffff;
    --fg-solid:#dc093a; --fg-solid-lite:#dc093a; --fg-accent-on-dark:#d1fadc;
    --fg-focus:rgba(245,10,65,.16); --fg-shadow-tint:rgba(245,10,65,.26);
    --head:linear-gradient(100deg,#360a14 0%,#930627 55%,#67041b 100%);
    --hero:linear-gradient(122deg,#24070e 0%,#930627 55%,#930627 100%);
    --foot:linear-gradient(118deg,#150509 0%,#360a14 100%) }

body.th-3{ --fg-primary:#be4af7; --fg-primary-dark:#7f08b9; --fg-primary-lite:#bc45f7;
    --fg-accent:#d1ec51; --fg-accent-ink:#383f12; --fg-ink:#270a36; --fg-soft:#f9f6fa;
    --fg-line:#eee5f3; --fg-muted:#7d5e8d; --surface-2:#fcfbfc; --text:#483d4d; --on-primary:#270a36;
    --fg-head-solid:#110517; --fg-page-dark:#17081f; --fg-card-dark:#230d2d; --on-dark:#ffffff;
    --fg-solid:#ab14f5; --fg-solid-lite:#ab14f5; --fg-accent-on-dark:#f3fad1;
    --fg-focus:rgba(190,74,247,.16); --fg-shadow-tint:rgba(190,74,247,.26);
    --head:linear-gradient(100deg,#270a36 0%,#7f08b9 55%,#500576 100%);
    --hero:linear-gradient(122deg,#1b0724 0%,#7f08b9 55%,#7f08b9 100%);
    --foot:linear-gradient(118deg,#0f0515 0%,#270a36 100%) }

body.th-4{ --fg-primary:#ae8809; --fg-primary-dark:#695204; --fg-primary-lite:#d5a60b;
    --fg-accent:#51c2ec; --fg-accent-ink:#12333f; --fg-ink:#362c0a; --fg-soft:#faf9f6;
    --fg-line:#f3f0e5; --fg-muted:#8d825e; --surface-2:#fcfcfb; --text:#4d493d; --on-primary:#362c0a;
    --fg-head-solid:#171305; --fg-page-dark:#1f1908; --fg-card-dark:#2d260d; --on-dark:#ffffff;
    --fg-solid:#876a07; --fg-solid-lite:#876a07; --fg-accent-on-dark:#d1effa;
    --fg-focus:rgba(174,136,9,.16); --fg-shadow-tint:rgba(174,136,9,.26);
    --head:linear-gradient(100deg,#362c0a 0%,#695204 55%,#4a3a03 100%);
    --hero:linear-gradient(122deg,#241e07 0%,#695204 55%,#695204 100%);
    --foot:linear-gradient(118deg,#151105 0%,#362c0a 100%) }

body.th-5{ --fg-primary:#389f42; --fg-primary-dark:#1f6226; --fg-primary-lite:#43bd4f;
    --fg-accent:#ad51ec; --fg-accent-ink:#2d123f; --fg-ink:#112f14; --fg-soft:#f6faf6;
    --fg-line:#e5f3e6; --fg-muted:#5e8d62; --surface-2:#fbfcfb; --text:#3d4d3e; --on-primary:#112f14;
    --fg-head-solid:#071509; --fg-page-dark:#0a1c0c; --fg-card-dark:#0f2b12; --on-dark:#ffffff;
    --fg-solid:#2c7d34; --fg-solid-lite:#2c7d34; --fg-accent-on-dark:#e9d1fa;
    --fg-focus:rgba(56,159,66,.16); --fg-shadow-tint:rgba(56,159,66,.26);
    --head:linear-gradient(100deg,#112f14 0%,#1f6226 55%,#15451a 100%);
    --hero:linear-gradient(122deg,#0b200d 0%,#1f6226 55%,#1f6226 100%);
    --foot:linear-gradient(118deg,#071308 0%,#112f14 100%) }

body.th-6{ --fg-primary:#4586f7; --fg-primary-dark:#0847b6; --fg-primary-lite:#4586f7;
    --fg-accent:#ec6551; --fg-accent-ink:#3f1812; --fg-ink:#0a1a36; --fg-soft:#f6f7fa;
    --fg-line:#e5eaf3; --fg-muted:#5e6f8d; --surface-2:#fbfbfc; --text:#3d434d; --on-primary:#0a1a36;
    --fg-head-solid:#050c17; --fg-page-dark:#08101f; --fg-card-dark:#0d192d; --on-dark:#ffffff;
    --fg-solid:#0f63f5; --fg-solid-lite:#0f63f5; --fg-accent-on-dark:#fad7d1;
    --fg-focus:rgba(69,134,247,.16); --fg-shadow-tint:rgba(69,134,247,.26);
    --head:linear-gradient(100deg,#0a1a36 0%,#0847b6 55%,#052e76 100%);
    --hero:linear-gradient(122deg,#071224 0%,#0847b6 55%,#0847b6 100%);
    --foot:linear-gradient(118deg,#050b15 0%,#0a1a36 100%) }

body.th-7{ --fg-primary:#da62aa; --fg-primary-dark:#9e1f6b; --fg-primary-lite:#da62aa;
    --fg-accent:#60ec51; --fg-accent-ink:#173f12; --fg-ink:#340c24; --fg-soft:#faf6f8;
    --fg-line:#f3e5ed; --fg-muted:#8d5e7a; --surface-2:#fcfbfc; --text:#4d3d47; --on-primary:#340c24;
    --fg-head-solid:#170510; --fg-page-dark:#1f0815; --fg-card-dark:#2d0d21; --on-dark:#ffffff;
    --fg-solid:#c62f89; --fg-solid-lite:#c62f89; --fg-accent-on-dark:#d5fad1;
    --fg-focus:rgba(218,98,170,.16); --fg-shadow-tint:rgba(218,98,170,.26);
    --head:linear-gradient(100deg,#340c24 0%,#9e1f6b 55%,#681346 100%);
    --hero:linear-gradient(122deg,#230818 0%,#9e1f6b 55%,#9e1f6b 100%);
    --foot:linear-gradient(118deg,#15050e 0%,#340c24 100%) }

body.th-8{ --fg-primary:#7d4a31; --fg-primary-dark:#4d2c1c; --fg-primary-lite:#9a5b3c;
    --fg-accent:#51ecd1; --fg-accent-ink:#123f38; --fg-ink:#2e1b12; --fg-soft:#faf7f6;
    --fg-line:#f3e9e5; --fg-muted:#8d6d5e; --surface-2:#fcfbfb; --text:#4d423d; --on-primary:#ffffff;
    --fg-head-solid:#140c08; --fg-page-dark:#1b100b; --fg-card-dark:#2a1911; --on-dark:#ffffff;
    --fg-solid:#7d4a31; --fg-solid-lite:#93573a; --fg-accent-on-dark:#d1faf3;
    --fg-focus:rgba(125,74,49,.16); --fg-shadow-tint:rgba(125,74,49,.26);
    --head:linear-gradient(100deg,#2e1b12 0%,#4d2c1c 55%,#361e13 100%);
    --hero:linear-gradient(122deg,#1f120c 0%,#4d2c1c 55%,#4d2c1c 100%);
    --foot:linear-gradient(118deg,#120b07 0%,#2e1b12 100%) }

body.th-9{ --fg-primary:#8fa06a; --fg-primary-dark:#57633d; --fg-primary-lite:#a2b083;
    --fg-accent:#516dec; --fg-accent-ink:#121b3f; --fg-ink:#252d12; --fg-soft:#f9faf6;
    --fg-line:#eff3e5; --fg-muted:#7e8d5e; --surface-2:#fcfcfb; --text:#484d3d; --on-primary:#252d12;
    --fg-head-solid:#101408; --fg-page-dark:#161a0d; --fg-card-dark:#212615; --on-dark:#ffffff;
    --fg-solid:#67744a; --fg-solid-lite:#67744a; --fg-accent-on-dark:#d1d9fa;
    --fg-focus:rgba(143,160,106,.16); --fg-shadow-tint:rgba(143,160,106,.26);
    --head:linear-gradient(100deg,#252d12 0%,#57633d 55%,#3d462a 100%);
    --hero:linear-gradient(122deg,#191f0d 0%,#57633d 55%,#57633d 100%);
    --foot:linear-gradient(118deg,#0f1207 0%,#252d12 100%) }

body.th-10{ --fg-primary:#716293; --fg-primary-dark:#433a59; --fg-primary-lite:#8678a5;
    --fg-accent:#ecce51; --fg-accent-ink:#3f3712; --fg-ink:#1b122d; --fg-soft:#f7f6fa;
    --fg-line:#e9e5f3; --fg-muted:#6c5e8d; --surface-2:#fbfbfc; --text:#423d4d; --on-primary:#ffffff;
    --fg-head-solid:#0c0814; --fg-page-dark:#110d1a; --fg-card-dark:#1a1526; --on-dark:#ffffff;
    --fg-solid:#716293; --fg-solid-lite:#766699; --fg-accent-on-dark:#faf2d1;
    --fg-focus:rgba(113,98,147,.16); --fg-shadow-tint:rgba(113,98,147,.26);
    --head:linear-gradient(100deg,#1b122d 0%,#433a59 55%,#2f283f 100%);
    --hero:linear-gradient(122deg,#120d1f 0%,#433a59 55%,#433a59 100%);
    --foot:linear-gradient(118deg,#0b0712 0%,#1b122d 100%) }

/* ---------- 基础令牌与重置 ---------- */
:root{
    --bg:#ffffff;
    --surface:#ffffff;
    --text:#1b2434;
    --muted:#5b6779;
    --line:#e6ebf2;
    --mist:#f4f7fb;
    --navy-900:#070d1f;
    --radius:16px;
    --radius-sm:10px;
    --radius-lg:22px;
    --shadow:0 12px 34px rgba(9,17,35,.10);
    --shadow-lg:0 24px 60px rgba(9,17,35,.18);
    --maxw:1200px;
    --gap:22px;
}
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{
    margin:0; background:var(--bg); color:var(--text); font-size:16px; line-height:1.75;
    font-family:"PingFang SC","Microsoft YaHei","Helvetica Neue",Arial,"Hiragino Sans GB",sans-serif;
}
img{ max-width:100%; display:block; border:0; }
a{ color:inherit; text-decoration:none; transition:color .25s,opacity .25s,background .25s,border-color .25s; }
a:hover{ color:var(--fg-primary); }
ul,ol{ margin:0; padding:0; list-style:none; }
h1,h2,h3,h4,h5,h6{ margin:0 0 .5em; line-height:1.28; font-weight:800; color:var(--fg-head-ink,var(--text)); }
p{ margin:0 0 1em; }
table{ border-collapse:collapse; width:100%; }
.container{ width:100%; max-width:var(--maxw); margin:0 auto; padding:0 20px; }
.site-main{ display:block; }

/* ---------- 按钮 ---------- */
.btn{
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    padding:13px 26px; border-radius:999px; font-weight:700; font-size:15px; line-height:1;
    cursor:pointer; border:2px solid transparent; white-space:nowrap;
    transition:transform .25s,box-shadow .25s,background .25s,color .25s,border-color .25s;
}
.btn:hover{ transform:translateY(-2px); }
.btn-primary{ background:linear-gradient(135deg,var(--fg-solid),var(--fg-solid-lite)); color:#fff; box-shadow:0 10px 26px var(--fg-shadow-tint,rgba(22,163,74,.28)); }
.btn-primary:hover{ color:#fff; }
.btn-line{ background:transparent; border-color:var(--fg-primary-lite); color:var(--on-dark); }
.btn-line:hover{ background:rgba(255,255,255,.14); color:var(--on-dark); }
.btn-ghost-line{ background:transparent; border-color:var(--fg-primary); color:var(--fg-primary); }
.btn-ghost-line:hover{ background:var(--fg-solid); color:#fff; border-color:var(--fg-solid); }
.btn-sm{ padding:9px 18px; font-size:13px; }

/* ---------- 页头 ---------- */
.site-header{
    position:sticky; top:0; z-index:1000;
    background:var(--head); color:#fff;
    border-bottom:1px solid rgba(255,255,255,.10);
    box-shadow:0 6px 22px rgba(7,13,31,.18);
}
.nav-bar{ display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:72px; }
.brand{ display:flex; align-items:center; gap:10px; font-weight:900; font-size:20px; color:#fff; flex:0 1 auto; min-width:0; }
.brand:hover{ color:#fff; }
.brand-mark{
    flex:0 0 auto; width:38px; height:38px; border-radius:11px; display:grid; place-items:center;
    font-size:20px; background:linear-gradient(135deg,var(--fg-solid),var(--fg-solid-lite));
    box-shadow:0 6px 16px rgba(0,0,0,.22);
}
.brand-text{
    min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:34vw;
    background:linear-gradient(135deg,#fff,#dbe7ff); -webkit-background-clip:text; background-clip:text;
    -webkit-text-fill-color:transparent;
}
.main-nav{ flex:1 1 auto; min-width:0; }
.main-nav > ul{ display:flex; align-items:center; gap:4px; flex-wrap:wrap; }
.main-nav li{ position:relative; }
.main-nav li > a{
    display:block; padding:10px 14px; color:rgba(255,255,255,.96); font-weight:600; font-size:15px;
    border-radius:8px; white-space:nowrap;
}
.main-nav li > a:hover{ color:#fff; background:rgba(255,255,255,.10); }
.main-nav li.active > a{ color:#fff; background:rgba(0,0,0,.26); box-shadow:inset 0 -3px 0 var(--fg-accent-on-dark); }
.main-nav .dropdown{
    position:absolute; top:100%; left:0; min-width:180px; padding:8px; background:var(--surface);
    border:1px solid var(--line); border-radius:12px; box-shadow:var(--shadow-lg);
    opacity:0; visibility:hidden; transform:translateY(10px); transition:.25s;
}
.main-nav li:hover .dropdown{ opacity:1; visibility:visible; transform:translateY(0); }
.main-nav .dropdown a{ display:block; padding:9px 14px; color:var(--text); border-radius:8px; font-size:14px; }
.main-nav .dropdown a:hover{ background:var(--mist); color:var(--fg-primary); }
.header-tools{ display:flex; align-items:center; gap:12px; flex:0 0 auto; }
.site-search{ display:flex; align-items:center; gap:0; }
.site-search .search-input{
    width:190px; height:38px; padding:0 14px; border:1px solid rgba(255,255,255,.28);
    border-right:0; border-radius:999px 0 0 999px; background:rgba(255,255,255,.12); color:#fff;
    font-size:14px; outline:none;
}
.site-search .search-input::placeholder{ color:rgba(255,255,255,.62); }
.site-search .search-submit{
    height:38px; padding:0 16px; border:1px solid rgba(255,255,255,.28); border-radius:0 999px 999px 0;
    background:var(--fg-accent); color:#1b1400; font-weight:800; font-size:13px; cursor:pointer;
}
.site-search .search-submit:hover{ filter:brightness(1.08); }
.site-search--mobile{ display:none; margin:10px 0 4px; }
.nav-toggle{
    display:none; width:44px; height:40px; border:0; background:transparent; cursor:pointer; padding:8px 6px;
}
.nav-toggle span{ display:block; height:2px; width:100%; background:#fff; margin:5px 0; border-radius:2px; transition:.3s; }
.nav-toggle.active span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav-toggle.active span:nth-child(2){ opacity:0; }
.nav-toggle.active span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* ---------- 通用区块 ---------- */
.section{ padding:78px 0; }
.section.bg-mist{ background:var(--fg-soft); }
.section.bg-dark{ background:var(--hero); color:#fff; }
.section.bg-dark h1,.section.bg-dark h2,.section.bg-dark h3,.section.bg-dark h4{ color:#fff; }
.section-head{ text-align:center; max-width:780px; margin:0 auto 44px; }
.section-head--left{ text-align:left; margin:0 0 22px; max-width:none; }
.eyebrow{
    display:inline-block; font-size:13px; font-weight:800; letter-spacing:2px;
    color:var(--fg-primary); text-transform:uppercase; margin-bottom:12px;
}
.eyebrow-lite{ color:var(--fg-accent-on-dark); }
.section-head h2{ font-size:32px; margin-bottom:14px; }
.section-head p{ color:var(--fg-muted); font-size:16px; margin:0; }
.section.bg-dark .section-head p{ color:rgba(255,255,255,.74); }

/* ---------- Hero ---------- */
.fc-hero{
    position:relative; overflow:hidden; color:#fff; padding:62px 0;
    background:var(--hero);
}
.fc-hero::after{
    content:""; position:absolute; inset:0; pointer-events:none; opacity:.22; z-index:0;
    background-image:linear-gradient(rgba(255,255,255,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.10) 1px,transparent 1px);
    background-size:44px 44px;
}
.fc-hero .container{ position:relative; z-index:2; }
.hero-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:48px; align-items:center; }
.hero-chip{
    display:inline-flex; align-items:center; gap:8px; padding:7px 16px; border-radius:999px;
    background:rgba(0,0,0,.30); border:1px solid rgba(255,255,255,.20);
    font-size:13px; font-weight:700; color:#fff; margin-bottom:20px;
}
.hero-chip b{ color:var(--fg-accent-on-dark); }
.hero-chip i{ width:8px; height:8px; border-radius:50%; background:var(--fg-accent); box-shadow:0 0 0 4px rgba(255,255,255,.16); }
.fc-hero h1{ color:#fff; font-size:40px; line-height:1.22; margin-bottom:16px; }
.fc-hero h1 strong{ color:var(--fg-accent); }
.hero-lead{ font-size:16px; line-height:1.72; color:rgba(255,255,255,.94); margin-bottom:10px; }
.hero-lead strong{ color:#fff; }
.hero-sub{ font-size:14px; line-height:1.7; color:rgba(255,255,255,.80); margin-bottom:22px; }
.hero-buttons{ display:flex; flex-wrap:wrap; gap:14px; margin-bottom:26px; }
.hero-stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:2px; }
/* 图3 式纯文字卡：无描边、无按钮感，只有一块柔和底 + 强调色大字 + 灰色小字 */
.hstat{ display:block; background:rgba(0,0,0,.26); border:0; border-radius:16px; padding:20px 12px; text-align:center; transition:background .25s,transform .25s; }
.hstat b{ display:block; font-size:24px; font-weight:900; line-height:1.25; letter-spacing:.5px; color:var(--fg-accent-on-dark); }
.hstat span{ display:block; margin-top:6px; font-size:13px; color:rgba(255,255,255,.94); }
.hero-media{ position:relative; }
.hero-frame{ position:relative; border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-lg); border:1px solid rgba(255,255,255,.14); background:rgba(0,0,0,.18); }
.hero-frame img{ width:100%; height:auto; }
.hero-float{
    position:absolute; top:16px; left:16px; z-index:3; display:inline-flex; align-items:center; gap:7px;
    padding:8px 14px; border-radius:999px; background:rgba(7,13,31,.72); font-size:13px; font-weight:700;
    color:#fff; border:1px solid rgba(255,255,255,.16);
}
.hero-float::before{ content:""; width:8px; height:8px; border-radius:50%; background:#ff5a5a; box-shadow:0 0 0 0 rgba(255,90,90,.6); animation:fgPulse 1.8s infinite; }
@keyframes fgPulse{ 0%{box-shadow:0 0 0 0 rgba(255,90,90,.6);} 70%{box-shadow:0 0 0 10px rgba(255,90,90,0);} 100%{box-shadow:0 0 0 0 rgba(255,90,90,0);} }
.hero-badge{
    position:absolute; right:16px; bottom:16px; z-index:3; display:flex; align-items:center; gap:10px;
    padding:12px 16px; border-radius:14px; background:rgba(255,255,255,.94); color:#0b1428;
    box-shadow:var(--shadow); max-width:min(78%,420px);
}
.hero-badge .hb-ico{ flex:0 0 auto; width:36px; height:36px; border-radius:10px; display:grid; place-items:center; font-size:18px; background:linear-gradient(135deg,var(--fg-solid),var(--fg-solid-lite)); color:#fff; }
.hero-badge b{ display:block; font-size:14px; line-height:1.4; }
.hero-badge .hb-sub{ font-size:12px; color:#5b6779; }

/* ---------- 板块卡（about / why-us） ---------- */
.why-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--gap); }
.why-grid-4{ grid-template-columns:repeat(4,1fr); }
.why-card{
    background:var(--surface); border:1px solid var(--line); border-radius:var(--radius);
    padding:28px 24px; box-shadow:var(--shadow); transition:.3s;
}
.why-card:hover{ transform:translateY(-6px); border-color:var(--fg-primary); }
.why-ico{
    width:58px; height:58px; border-radius:16px; display:grid; place-items:center; font-size:26px;
    margin-bottom:16px; background:linear-gradient(135deg,var(--fg-solid),var(--fg-solid-lite)); color:#fff;
}
.why-card h4{ font-size:18px; margin-bottom:8px; }
.why-card p{ font-size:14px; color:var(--fg-muted); margin:0; }
.md-figure{ display:block; margin:44px auto 0; border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-lg); }
.md-figure img{ width:100%; height:auto; }

/* ---------- 栏目卡（深色区） ---------- */
.svc-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--gap); }
.svc-card{ position:relative; border-radius:var(--radius); overflow:hidden; background:var(--fg-card-dark,#131c2f); border:1px solid rgba(255,255,255,.14); transition:.3s; }
.svc-card:hover{ transform:translateY(-6px); border-color:var(--fg-accent); }
.svc-thumb{ position:relative; aspect-ratio:16/9; overflow:hidden; background:rgba(0,0,0,.25); }
.svc-thumb img{ width:100%; height:100%; object-fit:cover; object-position:center top; transition:.5s; }
.svc-card:hover .svc-thumb img{ transform:scale(1.06); }
.svc-thumb::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 45%,rgba(7,13,31,.58)); }
.svc-ico-float{ position:absolute; left:16px; bottom:16px; z-index:2; width:48px; height:48px; border-radius:14px; display:grid; place-items:center; font-size:24px; background:rgba(255,255,255,.92); box-shadow:var(--shadow); }
.svc-body{ padding:22px; }
.svc-body h3{ font-size:19px; margin-bottom:8px; }
.svc-body h3 a{ color:#fff; }
.svc-body h3 a:hover{ color:var(--fg-accent-on-dark); }
.svc-body p{ font-size:14px; color:rgba(255,255,255,.72); margin:0 0 12px; }
.svc-meta{ display:inline-block; font-size:12px; font-weight:700; color:var(--fg-accent-on-dark); background:rgba(0,0,0,.30); border:1px solid rgba(255,255,255,.20); border-radius:999px; padding:4px 12px; }

/* ---------- 图文卡（news-grid） ---------- */
.news-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.news-grid--gallery{ margin-top:8px; }
.news-card{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); transition:.3s; display:flex; flex-direction:column; }
.news-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-lg); border-color:var(--fg-primary); }
.news-thumb{ display:block; aspect-ratio:16/10; overflow:hidden; background:var(--fg-soft); }
.news-thumb img{ width:100%; height:100%; object-fit:cover; object-position:center top; transition:.5s; }
.news-card:hover .news-thumb img{ transform:scale(1.06); }
.news-body{ padding:20px; display:flex; flex-direction:column; flex:1; }
.news-body h3{ font-size:17px; line-height:1.45; margin-bottom:10px; }
.news-body h3 a{ color:var(--fg-head-ink,var(--text)); }
.news-body h3 a:hover{ color:var(--fg-primary); }
.news-desc{ font-size:14px; color:var(--fg-muted); margin-bottom:16px; flex:1; }
.news-foot{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.news-foot time{ font-size:13px; color:var(--fg-muted); }

/* ---------- 时间线 ---------- */
.timeline{ position:relative; max-width:840px; margin:0 auto; padding-left:34px; }
.timeline::before{ content:""; position:absolute; left:9px; top:6px; bottom:6px; width:2px; background:rgba(255,255,255,.20); }
.tl-item{ position:relative; padding:0 0 28px 22px; }
.tl-item::before{ content:""; position:absolute; left:-30px; top:6px; width:16px; height:16px; border-radius:50%; background:var(--fg-accent); box-shadow:0 0 0 4px rgba(255,255,255,.16); }
.tl-item .tl-ver{ display:inline-block; font-size:12px; font-weight:700; color:var(--fg-accent-on-dark); background:rgba(0,0,0,.32); border:1px solid rgba(255,255,255,.18); padding:4px 12px; border-radius:999px; margin-bottom:8px; }
.tl-item h3{ font-size:18px; margin-bottom:6px; }
.tl-item h3 a{ color:#fff; }
.tl-item h3 a:hover{ color:var(--fg-accent-on-dark); }
.tl-item p{ font-size:14px; color:rgba(255,255,255,.74); margin:0; }

/* ---------- 横向精选 ---------- */
.review-scroll{ display:flex; gap:22px; overflow-x:auto; padding:6px 4px 20px; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; }
.review-scroll::-webkit-scrollbar{ height:8px; }
.review-scroll::-webkit-scrollbar-thumb{ background:var(--fg-primary-lite); border-radius:8px; }
.review-card{
    flex:0 0 320px; scroll-snap-align:start; display:block; background:var(--surface);
    border:1px solid var(--line); border-radius:var(--radius); padding:0; overflow:hidden; box-shadow:var(--shadow);
}
.review-card:hover{ transform:translateY(-4px); border-color:var(--fg-primary); }
.rv-thumb{ display:block; aspect-ratio:16/9; overflow:hidden; background:var(--fg-soft); }
.rv-thumb img{ width:100%; height:100%; object-fit:cover; object-position:center top; }
.review-card h4{ font-size:16px; line-height:1.45; padding:16px 18px 0; margin:0; color:var(--fg-head-ink,var(--text)); }
.review-card p{ font-size:13px; color:var(--fg-muted); padding:8px 18px 14px; margin:0; }
.review-who{ display:flex; align-items:center; gap:12px; padding:0 18px 18px; border-top:1px dashed var(--line); margin-top:4px; padding-top:14px; }
.rv-avatar{ flex:0 0 auto; width:42px; height:42px; border-radius:50%; display:grid; place-items:center; font-size:18px; background:linear-gradient(135deg,var(--fg-solid),var(--fg-solid-lite)); color:#fff; }
.review-who b{ display:block; font-size:14px; color:var(--text); }
.review-who .rv-sub{ font-size:12px; color:var(--fg-muted); }

/* ---------- why-us 六卡区（风格同参考站，版式按 ly 变化） ---------- */
.why-us .why-grid{ gap:22px; }
.why-us .why-ico{ width:52px; height:52px; border-radius:14px; font-size:24px; margin-bottom:0; }
.why-us .why-card h4{ font-size:17px; margin:0 0 6px; }
.why-us .why-card p{ font-size:14px; margin:0; }
/* ly-a / ly-b：图标在左、文字在右的横排卡（与上方四卡区形成版式差异，不依赖额外包裹元素） */
body.ly-a .why-us .why-card,body.ly-b .why-us .why-card,body.ly-d .why-us .why-card{
    display:grid; grid-template-columns:52px 1fr; column-gap:16px; align-items:start;
}
body.ly-a .why-us .why-card h4,body.ly-b .why-us .why-card h4,body.ly-d .why-us .why-card h4{ grid-column:2; margin-top:2px; }
body.ly-a .why-us .why-card p,body.ly-b .why-us .why-card p,body.ly-d .why-us .why-card p{ grid-column:2; }
body.ly-b .why-us .why-card{ border-top:3px solid var(--fg-solid); }
/* ly-c：图标做成胶囊色块 + 无边框柔影卡；ly-d：深色卡 + 描边 */
body.ly-c .why-us .why-ico{ width:auto; min-width:64px; padding:0 16px; height:44px; border-radius:999px; }
body.ly-c .why-us .why-card{ display:grid; grid-template-columns:auto 1fr; column-gap:16px; align-items:center; border-color:transparent; }
body.ly-c .why-us .why-card h4{ grid-column:2; }
body.ly-c .why-us .why-card p{ grid-column:2; }
body.ly-c .why-us .why-card:hover{ transform:translateY(-4px); }
body.ly-d .why-us .why-card{ background:var(--surface); border-color:var(--line); }
@media (max-width:768px){
    body.ly-a .why-us .why-card,body.ly-b .why-us .why-card,body.ly-d .why-us .why-card{ grid-template-columns:44px 1fr; }
    .why-us .why-ico{ width:44px; height:44px; font-size:20px; }
    body.ly-c .why-us .why-ico{ min-width:52px; height:38px; padding:0 12px; }
}

/* ---------- 索引区 ---------- */
.sec-wrap{ display:grid; grid-template-columns:1.1fr .9fr; gap:44px; align-items:start; }
.widget{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:24px; margin-bottom:24px; box-shadow:var(--shadow); }
.widget--plain{ position:sticky; top:92px; }
.widget--relate .relate-list{ display:flex; flex-direction:column; gap:16px; }
.widget--relate .post-item{ box-shadow:none; margin-bottom:0; }
.widget-title{ font-size:18px; margin-bottom:18px; padding-left:12px; border-left:4px solid var(--fg-primary); }
.widget-note{ font-size:14px; color:var(--fg-muted); margin-bottom:14px; }
.rank-list li{ display:flex; align-items:flex-start; gap:10px; padding:10px 0; border-bottom:1px dashed var(--line); }
.rank-list li:last-child{ border-bottom:0; }
.rank-list .no{ flex:0 0 auto; width:22px; height:22px; border-radius:6px; display:grid; place-items:center; font-size:12px; font-weight:700; color:#fff; background:var(--fg-muted); }
.rank-list li:nth-child(-n+3) .no{ background:linear-gradient(135deg,var(--fg-solid),var(--fg-solid-lite)); color:#fff; }
.rank-list a{ font-size:14px; color:var(--text); }
.rank-list a:hover{ color:var(--fg-primary); }
.rank-list a em{ font-style:normal; font-size:12px; color:var(--fg-muted); margin-left:8px; }
.rank-list--date li time{ margin-left:auto; flex:0 0 auto; font-size:12px; color:var(--fg-muted); }
.rank-list--big li{ padding:14px 0; }
.rank-list--big a{ font-size:16px; font-weight:600; }
.tag-cloud{ display:flex; flex-wrap:wrap; gap:10px; }
.tag-cloud a{ padding:6px 14px; border-radius:999px; background:var(--fg-soft); font-size:13px; color:var(--fg-muted); border:1px solid var(--line); }
.tag-cloud a:hover{ background:var(--fg-solid); color:#fff; border-color:var(--fg-solid); }
.tag-note{ font-size:13px; color:var(--fg-muted); margin:14px 0 0; }

/* ---------- 移动端阅读引导区 ---------- */
.appzone{ background:var(--hero); color:#fff; }
.app-grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:44px; align-items:center; }
.app-text h2{ color:#fff; font-size:30px; margin-bottom:14px; }
.app-text .sub{ color:rgba(255,255,255,.78); margin-bottom:24px; }
.app-feat{ display:flex; gap:14px; margin-bottom:16px; }
.app-feat .fi{ flex:0 0 auto; width:44px; height:44px; border-radius:12px; display:grid; place-items:center; font-size:20px; background:var(--fg-card-dark,#131c2f); border:1px solid rgba(255,255,255,.14); }
.app-feat h5{ color:#fff; font-size:16px; margin-bottom:2px; }
.app-feat p{ color:rgba(255,255,255,.78); font-size:14px; margin:0; }
.app-buttons{ display:flex; flex-wrap:wrap; gap:14px; margin-top:26px; }
.app-media{ border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-lg); border:1px solid rgba(255,255,255,.14); }
.app-media img{ width:100%; height:auto; }

/* ---------- 页脚 ---------- */
#site-footer{ position:relative; color:#fff; padding:64px 0 26px; overflow:hidden; background:var(--foot); }
.foot-bg{ position:absolute; inset:0; opacity:.10; background:radial-gradient(900px 380px at 15% 0%,rgba(255,255,255,.22),transparent 60%); }
#site-footer .container{ position:relative; z-index:2; }
.footer-links{ display:flex; flex-wrap:wrap; gap:10px 26px; padding-bottom:26px; margin-bottom:34px; border-bottom:1px solid rgba(255,255,255,.12); }
.footer-links a{ color:rgba(255,255,255,.80); font-size:14px; }
.footer-links a:hover{ color:var(--fg-accent-on-dark); }
.footer-grid{ display:grid; grid-template-columns:1.4fr 1fr 1.2fr; gap:40px; }
.footer-brand{ display:flex; align-items:center; gap:10px; font-size:19px; font-weight:900; margin-bottom:14px; }
.footer-brand .brand-mark{ width:34px; height:34px; font-size:17px; }
.footer-brand b{ min-width:0; }
.footer-col p{ color:rgba(255,255,255,.64); font-size:14px; }
.footer-col h6{ color:#fff; font-size:15px; letter-spacing:1px; margin-bottom:16px; }
.footer-col ul li{ color:rgba(255,255,255,.64); font-size:14px; margin-bottom:10px; }
.footer-col ul li a{ color:rgba(255,255,255,.64); }
.footer-col ul li a:hover{ color:var(--fg-accent-on-dark); }
.footer-friend{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-top:30px; padding-top:20px; border-top:1px solid rgba(255,255,255,.10); }
.ff-label{ font-size:13px; font-weight:800; color:#fff; }
.ff-list{ display:flex; flex-wrap:wrap; gap:8px 16px; }
.ff-list a{ font-size:13px; color:rgba(255,255,255,.62); }
.ff-list a:hover{ color:var(--fg-accent-on-dark); }
.ff-list .ff-empty{ font-style:normal; font-size:12px; color:rgba(255,255,255,.38); }
.footer-bottom{ margin-top:30px; padding-top:22px; border-top:1px solid rgba(255,255,255,.12); display:flex; flex-wrap:wrap; gap:8px 18px; justify-content:space-between; font-size:13px; color:rgba(255,255,255,.58); }
.footer-bottom a{ color:rgba(255,255,255,.78); }
.footer-bottom a:hover{ color:var(--fg-accent-on-dark); }

/* ---------- 回到顶部 ---------- */
#backTop{
    position:fixed; right:22px; bottom:22px; z-index:900; width:46px; height:46px; border:0; border-radius:50%;
    background:linear-gradient(135deg,var(--fg-solid),var(--fg-solid-lite)); color:#fff;
    font-size:20px; cursor:pointer; display:none; align-items:center; justify-content:center;
    box-shadow:var(--shadow-lg); opacity:0; transition:opacity .25s,transform .25s;
}
#backTop.show{ display:flex; opacity:1; }
#backTop:hover{ transform:translateY(-3px); }

/* ---------- batch31 首页改版新增：栏目快链 / 最新一篇提示 / 话题标签墙 / 编辑荐读 ---------- */
a.hstat:hover{ background:rgba(0,0,0,.40); transform:translateY(-2px); }
a.hstat:hover b{ color:var(--fg-accent-on-dark); }
.svc-latest{ font-size:13px; color:rgba(255,255,255,.86); border-left:2px solid var(--fg-accent-on-dark); padding-left:10px; }
.pick-list{ list-style:decimal; padding-left:22px; margin:0 0 8px; }
.pick-list li{ margin-bottom:16px; padding-left:4px; }
.pick-list li b{ display:block; font-size:17px; color:#fff; }
.pick-list li a:hover b{ color:var(--fg-accent-on-dark); }
.pick-list li span{ display:block; font-size:13.5px; color:rgba(255,255,255,.78); }
@media (max-width:560px){ .hero-stats{ gap:10px; } .hstat{ padding:16px 8px; } .hstat b{ font-size:20px; } .hstat span{ font-size:12px; } }

/* ============================================================
   内页：栏目 / 详情 / 标签 / 搜索 / 单页
   ============================================================ */
.page-banner{ position:relative; color:#fff; padding:64px 0; background:var(--hero); background-size:cover; background-position:center top; }
.page-banner::before{ content:""; position:absolute; inset:0; background:var(--banner-veil,linear-gradient(120deg,rgba(7,13,31,.90),rgba(18,33,63,.72))); }
.page-banner .container{ position:relative; z-index:2; }
.page-banner h1{ color:#fff; font-size:32px; margin-bottom:8px; }
.page-banner p{ color:rgba(255,255,255,.82); margin:0; }
.page-banner--soft{ background:var(--hero); }
.breadcrumb-nav{ font-size:14px; color:var(--fg-muted); margin-bottom:22px; }
.breadcrumb-nav ul{ display:flex; flex-wrap:wrap; align-items:center; gap:2px; list-style:none; margin:0; padding:0; }
.breadcrumb-nav li{ display:flex; align-items:center; }
.breadcrumb-nav a{ color:var(--fg-muted); }
.breadcrumb-nav a:hover{ color:var(--fg-primary); }
.page-layout{ padding:40px 0 64px; }
.pe-row{ display:flex; flex-wrap:wrap; margin:0 -12px; }
.pe-col-8,.pe-col-4{ padding:0 12px; min-width:0; }
.pe-col-8{ width:66.666%; }
.pe-col-4{ width:33.333%; }
.aside-sticky{ position:sticky; top:92px; }
.post-item{ display:flex; gap:18px; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:18px; margin-bottom:18px; box-shadow:var(--shadow); transition:.3s; }
.post-item:hover{ transform:translateY(-3px); border-color:var(--fg-primary); }
.pi-thumb{ flex:0 0 200px; border-radius:12px; overflow:hidden; aspect-ratio:16/10; background:var(--fg-soft); }
.pi-thumb img{ width:100%; height:100%; object-fit:cover; object-position:center top; transition:.5s; }
.post-item:hover .pi-thumb img{ transform:scale(1.06); }
.pi-body{ flex:1; min-width:0; }
.pi-body h3{ font-size:18px; margin-bottom:8px; line-height:1.45; }
.pi-body h3 a{ color:var(--fg-head-ink,var(--text)); }
.pi-body h3 a:hover{ color:var(--fg-primary); }
.pi-desc{ font-size:14px; color:var(--fg-muted); margin-bottom:10px; }
.pi-meta{ font-size:13px; color:var(--fg-muted); }

/* ---------- 分页（CMS Paginationm 输出 .page-control > ul.pagination > li.page-item > a.page-link） ---------- */
.pagination-wrap{ margin-top:30px; }
.page-control{ display:block; }
.pagination{ display:flex; flex-wrap:wrap; gap:8px; justify-content:center; list-style:none; margin:0; padding:0; }
.pagination .page-item{ list-style:none; }
.pagination .page-item .page-link,.pagination a.page-link{
    min-width:40px; height:40px; padding:0 12px; display:inline-flex; align-items:center; justify-content:center;
    border-radius:10px; border:1px solid var(--line); background:var(--surface); color:var(--fg-muted); font-size:14px;
}
.pagination a.page-link:hover{ border-color:var(--fg-primary); color:var(--fg-primary); }
.pagination .page-item.active .page-link{ background:var(--fg-solid); color:#fff; border-color:var(--fg-solid); font-weight:800; }

/* ---------- 空态 / 标签墙 / 搜索条 ---------- */
.empty-box{ background:var(--fg-soft); border:1px dashed var(--fg-line); border-radius:var(--radius); padding:26px 22px; color:var(--fg-muted); }
.empty-box b{ display:block; font-size:17px; color:var(--fg-head-ink,var(--text)); margin-bottom:8px; }
.empty-box p{ margin:0; font-size:14px; }
.empty-box a{ color:var(--fg-primary); text-decoration:underline; }
.tag-wall{ display:flex; flex-wrap:wrap; gap:14px; }
.tag-item{ display:flex; flex-direction:column; gap:4px; padding:16px 20px; border-radius:var(--radius); border:1px solid var(--line); background:var(--surface); box-shadow:var(--shadow); min-width:180px; }
.tag-item:hover{ transform:translateY(-3px); border-color:var(--fg-primary); }
.tag-item b{ font-size:17px; color:var(--fg-head-ink,var(--text)); }
.tag-item:hover b{ color:var(--fg-primary); }
.tag-item span{ font-size:12px; color:var(--fg-muted); }
.search-bar{ display:flex; gap:10px; align-items:center; margin-bottom:24px; }
.search-bar .search-input{ flex:1; min-width:0; height:48px; padding:0 18px; border:1px solid var(--line); border-radius:999px; background:var(--surface); color:var(--text); font-size:15px; outline:none; }
.search-bar .search-input:focus{ border-color:var(--fg-primary); box-shadow:0 0 0 4px var(--fg-focus,rgba(22,163,74,.12)); }

/* ---------- 详情页 ---------- */
.detail-layout{ padding:34px 0 64px; }
.article-wrap{ max-width:none; }
.detail-title{ font-size:28px; line-height:1.35; margin-bottom:14px; }
.detail-meta{ display:flex; flex-wrap:wrap; gap:8px 18px; font-size:13px; color:var(--fg-muted); padding-bottom:16px; margin-bottom:22px; border-bottom:1px solid var(--line); }
.detail-meta a{ color:var(--fg-muted); }
.detail-meta a:hover{ color:var(--fg-primary); }
.article-body{ font-size:16.5px; color:var(--article-text,var(--text)); line-height:1.95; }
.article-body p{ margin:0 0 1.15em; }
.article-body img{ width:100%; height:auto !important; border-radius:14px; margin:18px 0; display:block; }
.article-body h2,.article-body h3{ margin:26px 0 12px; font-size:21px; }
.article-body h3{ font-size:18px; }
.article-body ul,.article-body ol{ list-style:disc; padding-left:24px; margin:0 0 1.1em; }
.article-body ol{ list-style:decimal; }
.article-body li{ margin-bottom:8px; }
.article-body blockquote{ margin:18px 0; padding:16px 20px; background:var(--fg-soft); border-left:4px solid var(--fg-primary); border-radius:10px; color:var(--fg-muted); font-size:15.5px; }
.article-body blockquote p:last-child{ margin:0; }
.article-body table{ margin:18px 0; font-size:14.5px; border:1px solid var(--line); border-radius:12px; overflow:hidden; }
.article-body table th,.article-body table td{ padding:11px 14px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
.article-body table td + td,.article-body table th + th{ border-left:1px solid var(--line); }
.article-body table th{ background:var(--fg-primary-dark); color:#fff; font-weight:800; border-bottom:0; }
.article-body table tr:last-child td{ border-bottom:0; }
.article-body table tr:nth-child(even) td{ background:var(--fg-soft); }
.article-body p.caption{ font-size:13px; color:var(--fg-muted); text-align:center; margin:6px 0 22px; }
.article-body a{ color:var(--fg-primary); text-decoration:underline; overflow-wrap:anywhere; word-break:normal; }
.article-body p,.pi-desc,.news-desc,.pi-meta,.widget-note{ overflow-wrap:anywhere; }
.cat-intro{ margin-bottom:24px; }
.article-tags{ display:flex; flex-wrap:wrap; gap:10px; margin:24px 0 4px; }
.article-tags a{ padding:6px 14px; border-radius:999px; background:var(--fg-soft); font-size:13px; color:var(--fg-muted); border:1px solid var(--line); }
.article-tags a:hover{ background:var(--fg-solid); color:#fff; border-color:var(--fg-solid); }
.updown{ display:flex; flex-direction:column; gap:12px; margin-top:24px; padding-top:20px; border-top:1px solid var(--line); }
.updown a{ display:flex; gap:10px; font-size:14px; color:var(--fg-muted); align-items:flex-start; }
.updown b{ color:var(--fg-head-ink,var(--text)); flex:0 0 auto; }
.updown a:hover{ color:var(--fg-primary); }
.relate-list{ display:flex; flex-direction:column; gap:16px; }
.relate-more{ display:flex; flex-wrap:wrap; gap:12px; margin-top:18px; }

/* ============================================================
   版式 ly-a 明快卡片流（默认基线的显式声明，便于与其余版式对齐）
   ============================================================ */
body.ly-a{ --radius:16px; --radius-lg:22px; }
body.ly-a .section-head h2{ letter-spacing:-.2px; }

/* ============================================================
   版式 ly-b 硬朗报刊：直角、发丝分隔线、无阴影、左对齐标题
   ============================================================ */
body.ly-b{ --radius:2px; --radius-sm:2px; --radius-lg:2px; --shadow:none; --shadow-lg:0 18px 40px rgba(9,17,35,.14); --gap:0px; }
body.ly-b .section{ padding:64px 0; }
body.ly-b .section-head{ text-align:left; max-width:none; margin-bottom:34px; padding-bottom:16px; border-bottom:3px solid var(--fg-primary); }
body.ly-b .section.bg-dark .section-head{ border-bottom-color:var(--fg-accent); }
body.ly-b .why-grid,body.ly-b .svc-grid{ gap:1px; background:var(--line); border:1px solid var(--line); }
body.ly-b .section.bg-dark .svc-grid{ background:rgba(255,255,255,.16); border-color:rgba(255,255,255,.16); }
body.ly-b .section.bg-dark .svc-card{ background:var(--fg-card-dark,#131c2f); }
body.ly-b .why-grid-4{ gap:1px; }
body.ly-b .why-card{ border:0; border-radius:0; box-shadow:none; padding:26px 22px; }
body.ly-b .why-card:hover{ transform:none; background:var(--fg-soft); }
body.ly-b .why-ico{ border-radius:4px; }
body.ly-b .news-grid{ gap:1px; background:var(--line); border:1px solid var(--line); }
body.ly-b .section.bg-dark .news-grid{ background:rgba(255,255,255,.16); border-color:rgba(255,255,255,.16); }
body.ly-b .news-card{ border:0; border-radius:0; box-shadow:none; }
body.ly-b .news-card:hover{ transform:none; box-shadow:none; }
body.ly-b .news-body h3{ font-size:18px; border-bottom:1px solid var(--line); padding-bottom:10px; }
body.ly-b .post-item{ border-radius:0; box-shadow:none; border-width:0 0 1px 0; border-color:var(--line); padding:20px 0; margin-bottom:0; }
body.ly-b .post-item:hover{ transform:none; }
body.ly-b .pi-thumb{ border-radius:2px; }
body.ly-b .widget{ border-radius:2px; box-shadow:none; border:1px solid var(--line); }
body.ly-b .widget-title{ border-left-width:3px; }
body.ly-b .btn{ border-radius:2px; }
body.ly-b .hero-chip{ border-radius:2px; }
body.ly-b .fc-hero{ padding:64px 0; }
body.ly-b .hero-frame{ border-radius:2px; border:1px solid rgba(255,255,255,.22); }
body.ly-b .hstat{ background:rgba(0,0,0,.32); }
body.ly-b .hstat b{ letter-spacing:1px; }
body.ly-b .svc-card{ border-radius:0; }
body.ly-b .detail-title{ border-bottom:3px solid var(--fg-primary); padding-bottom:14px; }
body.ly-b .article-body img{ border-radius:2px; }
body.ly-b .article-body table{ border-radius:2px; }
body.ly-b .tag-cloud a,body.ly-b .article-tags a{ border-radius:2px; }
body.ly-b .app-media{ border-radius:2px; }

/* ============================================================
   版式 ly-c 柔和胶囊：大圆角、柔和底色、居中文、无边框卡
   ============================================================ */
body.ly-c{ --radius:26px; --radius-sm:16px; --radius-lg:34px; --shadow:0 18px 44px rgba(9,17,35,.08); --shadow-lg:0 28px 70px rgba(9,17,35,.12); }
body.ly-c .section{ padding:86px 0; }
body.ly-c .section-head h2{ font-size:30px; }
body.ly-c .why-grid,body.ly-c .svc-grid,body.ly-c .news-grid{ gap:26px; }
body.ly-c .why-card,body.ly-c .news-card,body.ly-c .post-item,body.ly-c .widget{ border-color:transparent; }
body.ly-c .why-card{ background:var(--surface); }
body.ly-c .why-ico{ border-radius:999px; }
body.ly-c .news-thumb,body.ly-c .pi-thumb,body.ly-c .rv-thumb{ border-radius:20px 20px 0 0; }
body.ly-c .post-item{ padding:20px; }
body.ly-c .pi-thumb{ border-radius:18px; }
body.ly-c .fc-hero{ padding:64px 0; }
body.ly-c .hero-frame{ border-radius:var(--radius-lg); }
body.ly-c .hstat{ background:rgba(0,0,0,.22); }
body.ly-c .btn{ padding:14px 30px; }
body.ly-c .tag-cloud a,body.ly-c .article-tags a{ padding:8px 18px; }
body.ly-c .page-banner{ padding:72px 0; }
body.ly-c .timeline::before{ left:9px; width:3px; border-radius:3px; }
body.ly-c .tl-item .tl-ver{ border-radius:999px; }
body.ly-c .article-body img{ border-radius:20px; }
body.ly-c .article-body blockquote{ border-radius:20px; border-left-width:5px; }

/* ============================================================
   版式 ly-d 深色编辑部：整站深色底、浅色文字、亮色分隔
   ============================================================ */
body.ly-d{
    --bg:var(--fg-page-dark,#0b1120);
    --surface:var(--fg-card-dark,#131c2f);
    --text:#e7edf7;
    --fg-head-ink:#ffffff;
    --fg-muted:#9fb0c9;
    --line:#26344b;
    --fg-soft:#152035;
    --article-text:#d3dcea;
    --shadow:0 14px 34px rgba(0,0,0,.34);
    --shadow-lg:0 26px 60px rgba(0,0,0,.46);
    --banner-veil:linear-gradient(120deg,rgba(6,10,20,.90),rgba(10,16,30,.72));
}
body.ly-d{ color:var(--text); }
body.ly-d .section.bg-mist{ background:var(--fg-page-dark,#0b1120); }
body.ly-d a:hover{ color:var(--fg-primary-lite); }
body.ly-d .why-card:hover{ border-color:var(--fg-primary-lite); }
body.ly-d .svc-card{ background:var(--surface); border-color:var(--line); }
body.ly-d .svc-body p{ color:var(--fg-muted); }
body.ly-d .svc-body h3 a{ color:#fff; }
body.ly-d .news-card{ background:var(--surface); }
body.ly-d .widget{ background:var(--surface); }
body.ly-d .article-body table tr:nth-child(even) td{ background:#182541; }
body.ly-d .fc-hero::after{ opacity:.14; }
body.ly-d .review-card{ background:var(--surface); }
body.ly-d .empty-box{ background:#121c30; }
body.ly-d .search-bar .search-input{ background:var(--surface); color:var(--text); border-color:var(--line); }
body.ly-d .site-search .search-input{ background:rgba(255,255,255,.10); }
body.ly-d .pagination a.page-link,body.ly-d .pagination .page-item .page-link{ background:var(--surface); color:var(--fg-muted); border-color:var(--line); }
body.ly-d .tag-cloud a,body.ly-d .article-tags a{ background:#182541; color:var(--fg-muted); border-color:var(--line); }
body.ly-d .tl-item p{ color:rgba(255,255,255,.78); }

/* ============================================================
   响应式：平板（<=992） / 手机（<=768） / 小屏（<=560）
   注：各版式若覆盖了同一属性，须在下方各自的窄屏块里重声明，
   否则 body.ly-X 的高特异性规则会压过通用响应式规则（batch29 踩过）。
   ============================================================ */
@media (max-width:992px){
    .hero-grid,.sec-wrap,.app-grid{ grid-template-columns:1fr; gap:34px; }
    .why-grid,.why-grid-4,.svc-grid,.news-grid{ grid-template-columns:repeat(2,1fr); }
    .footer-grid{ grid-template-columns:1fr 1fr; }
    .pe-col-8,.pe-col-4{ width:100%; }
    .pe-col-4{ margin-top:28px; }
    .aside-sticky,.widget--plain{ position:static; }
    .fc-hero h1{ font-size:32px; }
    .fc-hero,.section{ padding:60px 0; }
    .brand-text{ max-width:40vw; }
    body.ly-d .why-card,body.ly-d .news-card{ background:var(--surface); }
}
@media (max-width:768px){
    .nav-toggle{ display:block; }
    .main-nav{
        position:absolute; top:100%; left:0; right:0; background:var(--fg-head-solid,var(--navy-900));
        max-height:0; overflow:hidden; transition:max-height .35s ease; box-shadow:none;
    }
    .main-nav.open{ max-height:78vh; overflow-y:auto; box-shadow:var(--shadow-lg); }
    .main-nav > ul{ flex-direction:column; align-items:stretch; gap:0; padding:8px 20px 8px; }
    .main-nav li > a{ padding:13px 6px; border-bottom:1px solid rgba(255,255,255,.08); border-radius:0; }
    .main-nav li.active > a{ background:transparent; color:#fff; box-shadow:inset 0 -2px 0 var(--fg-accent-on-dark); }
    .main-nav .dropdown{ position:static; opacity:1; visibility:visible; transform:none; box-shadow:none; background:transparent; border:0; padding:0 0 6px 14px; display:none; }
    .main-nav li:hover .dropdown,.main-nav li.active .dropdown{ display:block; }
    .main-nav .dropdown a{ color:rgba(255,255,255,.72); }
    .main-nav .dropdown a:hover{ background:transparent; color:#fff; }
    .site-search--mobile{ display:flex; }
    .header-tools .site-search{ display:none; }
    .header-cta{ display:none; }
    .hero-stats{ grid-template-columns:repeat(2,1fr); }
    .section-head h2{ font-size:25px; }
    .post-item{ flex-direction:column; }
    .pi-thumb{ flex-basis:auto; width:100%; }
    .detail-title{ font-size:24px; }
    .page-banner{ padding:46px 0; }
    .page-banner h1{ font-size:26px; }
    .review-card{ flex:0 0 78%; }
    .footer-grid{ gap:26px; }
    .app-text h2{ font-size:24px; }
    /* ly-b 硬朗报刊的窄屏覆盖 */
    body.ly-b .why-grid,body.ly-b .svc-grid,body.ly-b .news-grid{ gap:1px; }
    body.ly-b .section{ padding:52px 0; }
    body.ly-b .section-head h2{ font-size:22px; }
    body.ly-b .post-item{ padding:18px 0; }
    /* ly-c 柔和胶囊的窄屏覆盖 */
    body.ly-c .section{ padding:64px 0; }
    body.ly-c .why-grid,body.ly-c .svc-grid,body.ly-c .news-grid{ gap:20px; }
    body.ly-c .news-thumb,body.ly-c .rv-thumb{ border-radius:18px 18px 0 0; }
    body.ly-c .pi-thumb{ border-radius:18px; }
    /* ly-d 深色编辑部窄屏覆盖 */
    body.ly-d .post-item{ background:var(--surface); }
}
@media (max-width:560px){
    .container{ padding:0 16px; }
    .why-grid,.why-grid-4,.svc-grid,.news-grid,.footer-grid{ grid-template-columns:1fr; }
    .fc-hero{ padding:44px 0; }
    .fc-hero h1{ font-size:26px; }
    .hero-lead{ font-size:16px; }
    .hero-badge{ right:10px; bottom:10px; left:10px; max-width:none; }
    .hero-buttons .btn{ flex:1 1 auto; }
    .section{ padding:48px 0; }
    .section-head h2{ font-size:22px; }
    .timeline{ padding-left:26px; }
    .tl-item h3{ font-size:16px; }
    .search-bar{ flex-direction:column; align-items:stretch; }
    .search-bar .btn{ width:100%; }
    .appzone .app-buttons .btn{ flex:1 1 auto; }
    body.ly-b .fc-hero{ padding:40px 0; }
    body.ly-c .section{ padding:52px 0; }
    body.ly-c .why-grid,body.ly-c .svc-grid,body.ly-c .news-grid{ gap:16px; }
}

/* ---------- 无障碍与降级 ---------- */
@media (prefers-reduced-motion:reduce){
    *,*::before,*::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
}
:focus-visible{ outline:3px solid var(--fg-accent); outline-offset:2px; }
#backTop:focus-visible{ outline-offset:4px; }
