/* ============================================
   青岚汇讯网 | 新闻资讯 | 清新绿 | 科技感 | 配色位移 h10 s3 l-5
   由 站群AI盒子 生成（高级设计引擎）
   ============================================ */
:root{
  --primary:#26a77b;
  --secondary:#14674b;
  --accent:#f6b628;
  --bg:#e2f3ea;
  --text:#26332b;
  --muted:#8a919c;
  --card:#ffffff;
  --border:#e8ebf0;
  --soft:#caeddd;
  --radius:10px;
  --radius-lg:calc(10px + 6px);
  --shadow-sm:0 1px 3px rgba(20,30,60,.06),0 4px 16px rgba(20,30,60,.06);
  --shadow:0 6px 24px rgba(20,30,60,.10);
  --shadow-lg:0 18px 48px rgba(20,30,60,.16);
  --grad:linear-gradient(112deg,#26a77b,#14674b);
  --angle:112deg;
  --font:"PingFang SC","Microsoft YaHei",sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:var(--font);background:var(--bg);color:var(--text);font-size:15px;line-height:1.75;-webkit-font-smoothing:antialiased;}

body.deco-grid{background-image:linear-gradient(rgba(127,127,140,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(127,127,140,.06) 1px,transparent 1px);background-size:34px 34px;}
a{color:var(--primary);text-decoration:none;transition:color .25s,background .25s,border-color .25s,box-shadow .25s,transform .25s;}
a:hover{color:var(--secondary);}
img{max-width:100%;border:0;vertical-align:middle;display:block;}
ul,ol{list-style:none;}
.container{width:1200px;margin:0 auto;max-width:96%;}
.clearfix:after{content:"";display:block;clear:both;}

/* ===== 顶部信息条 ===== */
.topbar{background:linear-gradient(90deg,#14674b,#26a77b);color:rgba(255,255,255,.92);font-size:12px;padding:7px 0;}
.topbar .container{display:flex;justify-content:space-between;align-items:center;}
.topbar a{color:rgba(255,255,255,.9);margin-left:16px;}
.topbar a:hover{color:#fff;}
.topbar .date{opacity:.9;}

/* ===== 头部 ===== */
.header{background:var(--card);box-shadow:var(--shadow-sm);padding:20px 0;position:relative;z-index:20;}
.header .container{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;}
.logo{display:flex;align-items:center;gap:14px;}
.logo img{height:52px;width:auto;}
.logo img:not([src]),.logo img[src=""],.logo img[src="#"]{display:none;}
.logo .logo-text{font-size:30px;font-weight:800;letter-spacing:1px;
  background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.logo .logo-text small{display:block;font-size:12px;font-weight:400;letter-spacing:2px;color:var(--muted);-webkit-text-fill-color:var(--muted);margin-top:2px;}
.search form{display:flex;border:2px solid var(--primary);border-radius:40px;overflow:hidden;background:var(--card);box-shadow:var(--shadow-sm);}
.search input{border:0;outline:0;padding:9px 18px;width:250px;font-size:13px;background:transparent;color:var(--text);}
.search button{border:0;background:var(--grad);color:#fff;padding:0 22px;cursor:pointer;font-size:13px;font-weight:600;transition:opacity .2s;}
.search button:hover{opacity:.88;}

/* ===== 导航 ===== */
.nav{background:var(--grad);position:sticky;top:0;z-index:99;box-shadow:0 4px 18px rgba(0,0,0,.12);}
.nav ul{display:flex;}
.nav li{position:relative;}
.nav li a{display:flex;align-items:center;color:#fff;padding:14px 24px;font-size:15px;font-weight:600;position:relative;letter-spacing:1px;}
.nav li a::after{content:"";position:absolute;left:50%;right:50%;bottom:8px;height:3px;border-radius:2px;background:#fff;transition:left .3s,right .3s;opacity:.0;}
.nav li a:hover::after,.nav li.on a::after{left:20%;right:20%;opacity:1;}
.nav li.on a,.nav li a:hover{background:rgba(255,255,255,.14);}
.nav .home{background:rgba(0,0,0,.12);}

/* ===== 头部部件：logo 位置（left 左 / center 居中）===== */
.header.hd-left .container{justify-content:space-between;}
.header.hd-center .container{position:relative;justify-content:center;}
.header.hd-center .logo{flex-direction:column;gap:4px;text-align:center;}
.header.hd-center .logo .logo-text small{letter-spacing:4px;}
.header.hd-center .search{position:absolute;right:0;top:50%;transform:translateY(-50%);}
/* ===== 头部部件：logo 形态（img 图+文 / txt 纯文字渐变大标题）===== */
.header.hd-img .logo img{height:52px;}
.header.hd-txt .logo img{display:none;}
.header.hd-txt.hd-left .logo-text{font-size:30px;}
.header.hd-txt.hd-center .logo-text{font-size:32px;letter-spacing:1px;}
.header.hd-txt.hd-center .logo-text small{letter-spacing:6px;}
/* ===== 头部部件：顶条（info 信息条 / links 链接条 / search 搜索条）===== */
.topbar.top-info .container{justify-content:space-between;}
.topbar.top-links .tools a{margin-left:14px;}
.topbar.top-search .search form{box-shadow:none;border-color:rgba(255,255,255,.5);background:rgba(255,255,255,.14);}
.topbar.top-search .search input{width:180px;color:#fff;}
.topbar.top-search .search input::placeholder{color:rgba(255,255,255,.75);}
.topbar.top-search .search button{background:#fff;color:var(--primary);}
/* ===== 头部部件：搜索并入导航条（nav-has-search）===== */
.nav.nav-has-search .container{display:flex;align-items:center;}
.nav.nav-has-search .search{margin-left:auto;flex-shrink:0;}
.nav.nav-has-search .search form{max-width:220px;border-color:rgba(255,255,255,.55);background:rgba(255,255,255,.12);}
.nav.nav-has-search .search input{width:150px;color:#fff;}
.nav.nav-has-search .search input::placeholder{color:rgba(255,255,255,.8);}
.nav.nav-has-search .search button{background:#fff;color:var(--primary);padding:0 16px;}
/* ===== 头部部件：导航样式（v-center 居中项；v-pill/v-line 见下方变体区）===== */
.nav.v-center ul{justify-content:center;}
.nav.v-center li a{padding:14px 30px;}
.nav.v-center .home{background:rgba(0,0,0,.12);}

/* ===== 轮播 ===== */
.hero{margin:22px 0 0;position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);}
.hero .swiper{position:relative;height:400px;}
.hero .slide{position:absolute;inset:0;opacity:0;transition:opacity .8s ease;background-size:cover;background-position:center;display:flex;align-items:flex-end;}
.hero .slide.on{opacity:1;}
.hero .slide::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.72));}
.hero .slide .mask{position:relative;width:100%;padding:34px 40px;}
.hero .slide .mask .tag{display:inline-block;background:var(--accent);color:#fff;font-size:12px;padding:3px 12px;border-radius:20px;margin-bottom:10px;font-weight:600;}
.hero .slide .mask h2{font-size:28px;line-height:1.4;}
.hero .slide .mask h2 a{color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.4);}
.hero .slide .mask h2 a:hover{color:var(--accent);}
.hero .slide .mask p{color:rgba(255,255,255,.88);margin-top:8px;font-size:14px;max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.hero .dots{position:absolute;right:26px;bottom:22px;display:flex;gap:8px;z-index:3;}
.hero .dots i{width:12px;height:4px;border-radius:3px;background:rgba(255,255,255,.45);cursor:pointer;transition:all .3s;}
.hero .dots i.on{width:28px;background:#fff;}

/* ===== Bento 格栅第一屏 ===== */
.bento-top{display:grid;grid-template-columns:1.25fr 1fr;gap:12px;margin:22px 0 0;}
.bento-top .shade{position:absolute;left:0;right:0;bottom:0;padding:18px 20px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.78));color:#fff;}
.bento-top .shade b{display:block;font-size:16px;line-height:1.4;font-weight:700;text-shadow:0 2px 6px rgba(0,0,0,.4);}
.bento-top .shade i{display:block;font-style:normal;font-size:12px;color:rgba(255,255,255,.8);margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.bento-top img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.bt-hero{position:relative;display:block;overflow:hidden;border-radius:var(--radius-lg);box-shadow:var(--shadow);min-height:340px;background:var(--soft);}
.bt-hero:hover img{transform:scale(1.05);}
.bt-hero .shade{padding:26px 24px;}
.bt-hero .shade b{font-size:24px;margin-bottom:8px;}
.bt-col{display:flex;flex-direction:column;gap:12px;min-width:0;}
.bt-tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.bt-tile{position:relative;display:block;overflow:hidden;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);min-height:130px;background:var(--soft);}
.bt-tile:hover img{transform:scale(1.07);}
.bt-tile .shade{padding:10px 14px;}
.bt-tile .shade b{font-size:13px;}
.bt-list{flex:1;background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:16px 20px;min-width:0;}
.bt-list .hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--border);}
.bt-list .hd h3{font-size:15px;font-weight:800;display:flex;align-items:center;gap:8px;}
.bt-list .hd h3::before{content:"";width:4px;height:16px;border-radius:2px;background:var(--grad);}
.bt-list ul li{display:flex;justify-content:space-between;align-items:center;padding:7px 2px;border-bottom:1px dashed var(--border);}
.bt-list ul li:last-child{border-bottom:0;}
.bt-list ul li a{color:var(--text);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;}
.bt-list ul li a:hover{color:var(--primary);}
.bt-list ul li .time{color:var(--muted);font-size:11px;margin-left:12px;flex-shrink:0;}

/* ===== 马赛克图文墙第一屏 ===== */
.mosaic-top{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(110px,auto);gap:10px;margin:22px 0 0;}
.mosaic-top .ms-cell{position:relative;display:block;overflow:hidden;border-radius:var(--radius);box-shadow:var(--shadow-sm);background:var(--soft);min-height:110px;}
.mosaic-top .ms-cell:hover img{transform:scale(1.08);}
.mosaic-top .ms-cell img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.mosaic-top .ms-cell .shade{padding:10px 14px;}
.mosaic-top .ms-cell .shade b{font-size:13px;line-height:1.4;}
.mosaic-top .ms-cell:nth-child(1){grid-row:span 2;grid-column:span 2;}
.mosaic-top .ms-cell:nth-child(2){grid-column:span 1;}
.mosaic-top .ms-cell:nth-child(3){grid-column:span 1;}
.mosaic-top .ms-cell:nth-child(4){grid-column:span 2;}
.mosaic-top .ms-cell:nth-child(5){grid-column:span 1;}
.mosaic-top .ms-cell:nth-child(6){grid-column:span 1;}

/* ===== 通用区块 ===== */
.section{margin:22px 0;background:var(--card);border-radius:var(--radius-lg);padding:22px 24px;box-shadow:var(--shadow-sm);transition:box-shadow .3s;}
.section:hover{box-shadow:var(--shadow);}
.section .hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid var(--border);}
.section .hd h3{font-size:19px;font-weight:800;color:var(--text);display:flex;align-items:center;gap:10px;}
.section .hd h3::before{content:"";width:5px;height:20px;border-radius:3px;background:var(--grad);}
.section .hd .more{font-size:13px;color:var(--muted);display:flex;align-items:center;gap:4px;}
.section .hd .more:hover{color:var(--primary);}
.section .hd .more::after{content:"\203A";font-size:16px;}

/* ===== 快捷栏目入口 ===== */
.quick-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:14px;}
.quick-item{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 6px;border-radius:var(--radius-lg);background:var(--soft);border:1px solid transparent;transition:all .3s;text-align:center;min-width:0;overflow:hidden;}
.quick-item i{width:34px;height:34px;border-radius:50%;background:var(--grad);opacity:.85;transition:transform .3s,opacity .3s;box-shadow:0 4px 12px rgba(0,0,0,.14);}
.quick-item span{font-size:13px;color:var(--text);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;}
.quick-item:hover{background:var(--card);border-color:var(--primary);transform:translateY(-4px);box-shadow:var(--shadow);}
.quick-item:hover i{opacity:1;transform:scale(1.15);}
.quick-item:hover span{color:var(--primary);}

/* ===== 文章列表 ===== */
.news-list li{padding:12px 4px;border-bottom:1px dashed var(--border);display:flex;justify-content:space-between;align-items:center;}
.news-list li:last-child{border-bottom:0;}
.news-list li a{color:var(--text);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-left:14px;position:relative;}
.news-list li a::before{content:"";position:absolute;left:0;top:50%;width:5px;height:5px;border-radius:50%;background:var(--primary);transform:translateY(-50%);opacity:.5;transition:all .25s;}
.news-list li a:hover{color:var(--primary);padding-left:22px;}
.news-list li a:hover::before{opacity:1;background:var(--accent);}
.news-list li .time{color:var(--muted);font-size:12px;flex-shrink:0;margin-left:14px;background:var(--soft);padding:2px 10px;border-radius:12px;}

/* ===== 图文卡片 ===== */
.card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:transform .3s,box-shadow .3s,border-color .3s;position:relative;}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:transparent;}
.card .pic{position:relative;overflow:hidden;aspect-ratio:4/3;display:block;}
.card .pic img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.card:hover .pic img{transform:scale(1.08);}
.card .pic::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.25));opacity:0;transition:opacity .3s;}
.card:hover .pic::after{opacity:1;}
.card .t{padding:13px 15px 15px;}
.card .t h4{font-size:15px;line-height:1.5;height:46px;overflow:hidden;}
.card .t h4 a{color:var(--text);}
.card .t h4 a:hover{color:var(--primary);}
.card .t p{font-size:12px;color:var(--muted);margin-top:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.card .t .meta{display:flex;justify-content:space-between;margin-top:8px;font-size:11px;color:var(--muted);}

/* ===== 书封墙（小说站首页主视觉：竖版封面 + 书名 + 连载/完本标记） ===== */
.book-shelf{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.book{display:block;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:transform .3s,box-shadow .3s,border-color .3s;}
.book:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:transparent;}
.book .cover{display:block;aspect-ratio:3/4;overflow:hidden;background:var(--soft);position:relative;}
.book .cover img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.book:hover .cover img{transform:scale(1.06);}
.book .cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.35));opacity:0;transition:opacity .3s;}
.book:hover .cover::after{opacity:1;}
.book .name{display:block;padding:11px 13px 2px;font-weight:700;font-size:14px;line-height:1.4;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.book .tag{display:block;padding:0 13px 13px;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mood-paper .book{background:transparent;border:0;border-radius:0;}
.mood-night .book{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);}

/* ===== 栏目卡片 ===== */
.catelog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
.catelog-item{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:var(--soft);border-radius:var(--radius-lg);transition:all .3s;border:1px solid transparent;}
.catelog-item b{font-size:15px;color:var(--text);}
.catelog-item span{font-size:12px;color:var(--muted);}
.catelog-item:hover{background:var(--grad);transform:translateX(6px);box-shadow:var(--shadow);}
.catelog-item:hover b,.catelog-item:hover span{color:#fff;}

/* ===== 图集 ===== */
.pic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.pic-grid .pic-box{border-radius:var(--radius-lg);overflow:hidden;position:relative;box-shadow:var(--shadow-sm);}
.pic-grid .pic-box img{width:100%;height:210px;object-fit:cover;transition:transform .5s;}
.pic-grid .pic-box:hover img{transform:scale(1.07);}
.pic-grid .pic-box .cap{position:absolute;left:0;right:0;bottom:0;padding:30px 14px 10px;background:linear-gradient(transparent,rgba(0,0,0,.68));color:#fff;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* ===== 热门排行 ===== */
.rank-list li{display:flex;align-items:center;padding:9px 2px;border-bottom:1px dashed var(--border);}
.rank-list li:last-child{border-bottom:0;}
.rank-list li i{flex-shrink:0;width:24px;height:24px;line-height:24px;text-align:center;border-radius:7px;background:var(--soft);color:var(--primary);font-style:normal;font-size:12px;font-weight:700;margin-right:12px;}
.rank-list li:nth-child(-n+3) i{background:var(--grad);color:#fff;box-shadow:0 3px 10px rgba(0,0,0,.18);}
.rank-list li a{flex:1;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.rank-list li a:hover{color:var(--primary);}
.rank-list li .hits{font-size:11px;color:var(--muted);flex-shrink:0;}

/* ===== 两栏 ===== */
.col-main{float:left;width:73%;}
.col-side{float:right;width:25%;}
/* 骨架变体：侧栏在左（视觉重心翻转） */
.side-left .col-main{float:right;}
.side-left .col-side{float:left;}
/* 骨架变体：满宽卡片流（无侧栏） */
.layout-full .col-main{width:100%;float:none;}
.layout-full .col-side{display:none;}
/* 骨架变体：窄版居中单栏（极简博客） */
.layout-center .col-main{width:100%;float:none;max-width:860px;margin:0 auto;}
.layout-center .col-side{display:none;}
.side-box{background:var(--card);border-radius:var(--radius-lg);padding:18px;margin-bottom:18px;box-shadow:var(--shadow-sm);transition:box-shadow .3s;}
.side-box:hover{box-shadow:var(--shadow);}
.side-box .hd{font-size:16px;font-weight:800;color:var(--text);padding-left:14px;position:relative;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--border);}
.side-box .hd::before{content:"";position:absolute;left:0;top:2px;bottom:2px;width:4px;border-radius:2px;background:var(--grad);}
.side-box ul li{padding:8px 0;border-bottom:1px dashed var(--border);display:flex;align-items:center;}
.side-box ul li:last-child{border-bottom:0;}
.side-box ul li a{color:var(--text);font-size:13px;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-left:16px;position:relative;}
.side-box ul li a::before{content:"";position:absolute;left:0;top:50%;width:4px;height:4px;border-radius:50%;background:var(--primary);transform:translateY(-50%);}
.side-box ul li a:hover{color:var(--primary);padding-left:22px;}
.side-box ul li i{font-style:normal;display:inline-block;min-width:22px;height:22px;line-height:22px;text-align:center;background:var(--soft);color:var(--primary);border-radius:6px;font-size:11px;font-weight:700;margin-right:8px;flex-shrink:0;}
.side-box ul li:nth-child(-n+3) i{background:var(--grad);color:#fff;}

/* ===== 面包屑 ===== */
.crumb{background:var(--card);border-radius:var(--radius-lg);padding:12px 18px;margin:20px 0 0;box-shadow:var(--shadow-sm);font-size:13px;color:var(--muted);}
.crumb a{color:var(--primary);}
.crumb a:hover{color:var(--secondary);}
.crumb span{margin:0 8px;opacity:.6;}

/* ===== 列表页条目 ===== */
.art-item{background:var(--card);border-radius:var(--radius-lg);padding:20px;margin-bottom:16px;box-shadow:var(--shadow-sm);display:flex;gap:20px;transition:transform .3s,box-shadow .3s;}
.art-item:hover{transform:translateY(-3px);box-shadow:var(--shadow);}
.art-item .pic{width:220px;height:140px;flex-shrink:0;overflow:hidden;border-radius:var(--radius);}
.art-item .pic img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.art-item:hover .pic img{transform:scale(1.07);}
.art-item .info{flex:1;min-width:0;}
.art-item h3{font-size:18px;margin-bottom:8px;}
.art-item h3 a{color:var(--text);}
.art-item h3 a:hover{color:var(--primary);}
.art-item p{color:var(--muted);font-size:13px;height:42px;overflow:hidden;margin-bottom:10px;}
.art-item .meta{display:flex;flex-wrap:wrap;gap:16px;font-size:12px;color:var(--muted);}
.art-item .meta span{display:inline-flex;align-items:center;gap:4px;background:var(--soft);padding:2px 10px;border-radius:12px;}
/* 缩略图方位变体：图右 / 图上 */
.art-item.v-right{flex-direction:row-reverse;}
.art-item.v-top{flex-direction:column;}
.art-item.v-top .pic{width:100%;height:210px;}

/* ===== 列表页 v-plain：纯文字时间线 ===== */
.plain-list{display:flex;flex-direction:column;gap:14px;}
.plain-item{display:flex;align-items:flex-start;gap:16px;padding:16px 18px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);transition:all .3s;}
.plain-item:hover{transform:translateX(6px);box-shadow:var(--shadow);border-color:transparent;}
.plain-item .no{flex-shrink:0;width:38px;height:38px;border-radius:10px;background:var(--grad);color:#fff;font-style:normal;font-weight:800;font-size:15px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0,0,0,.14);}
.plain-item .t{flex:1;min-width:0;}
.plain-item .t h3{font-size:16px;margin-bottom:6px;}
.plain-item .t h3 a{color:var(--text);}
.plain-item .t h3 a:hover{color:var(--primary);}
.plain-item .t p{color:var(--muted);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.plain-item .meta{flex-shrink:0;display:flex;flex-direction:column;gap:6px;align-items:flex-end;font-size:12px;color:var(--muted);}
.plain-item .meta span{background:var(--soft);padding:2px 10px;border-radius:12px;}

/* ===== 列表页 v-card：卡片网格 ===== */
.list-cards{grid-template-columns:repeat(3,1fr);}

/* ===== 列表页 v-duo：双栏双列表 ===== */
.duo-list{display:grid;grid-template-columns:1fr 1fr;gap:0 44px;}
.duo-list .dl-col{min-width:0;}
.duo-list .hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;}
.duo-list .hd h3{font-size:17px;font-weight:800;padding-left:13px;position:relative;}
.duo-list .hd h3::before{content:"";position:absolute;left:0;top:3px;bottom:3px;width:4px;border-radius:2px;background:var(--grad);}
.duo-list .hd .more{font-size:12px;color:var(--muted);}

/* ===== 列表页 v-rank：大号编号排行 ===== */
.rank-lg li{padding:13px 2px;}
.rank-lg li i{width:34px;height:34px;border-radius:9px;font-size:14px;line-height:34px;}
.rank-lg li a{font-size:15px;}

/* ===== 列表页 v-lead：头条大卡 + 列表 ===== */
.lead-first{display:grid;grid-template-columns:1.15fr 1fr;gap:26px;align-items:start;}
.lead-first .lf-hero{display:block;background:var(--card);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);transition:transform .3s,box-shadow .3s;}
.lead-first .lf-hero:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.lf-hero .img{display:block;height:250px;overflow:hidden;}
.lf-hero .img img{width:100%;height:100%;object-fit:cover;transition:transform .6s;}
.lf-hero:hover .img img{transform:scale(1.06);}
.lf-hero .t{display:block;padding:20px 22px;}
.lf-hero .t b{display:block;font-size:20px;line-height:1.5;color:var(--text);margin-bottom:8px;}
.lf-hero .t>span{display:block;color:var(--muted);font-size:13px;height:42px;overflow:hidden;}
.lf-hero .t em{display:inline-block;margin-top:12px;font-style:normal;color:var(--primary);font-size:13px;font-weight:700;}
.lf-list{background:var(--card);border-radius:var(--radius-lg);padding:8px 22px;box-shadow:var(--shadow-sm);}
.lf-list li{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px dashed var(--border);}
.lf-list li:last-child{border-bottom:0;}
.lf-list li a{color:var(--text);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.lf-list li a:hover{color:var(--primary);}
.lf-list li .time{color:var(--muted);font-size:12px;flex-shrink:0;margin-left:12px;}
/* 头条方位变体：右 / 上 */
.lead-first.v-right{grid-template-columns:1fr 1.15fr;}
.lead-first.v-right .lf-hero{order:2;}
.lead-first.v-top{grid-template-columns:1fr;}
.lead-first.v-top .lf-hero{display:grid;grid-template-columns:1.15fr 1fr;gap:0;}
.lead-first.v-top .lf-hero .img{height:220px;}
.lead-first.v-top .lf-list{display:grid;grid-template-columns:1fr 1fr;gap:0 28px;}

/* ===== 列表页 v-masonry：瀑布流 ===== */
.masonry{columns:2;column-gap:18px;}
.masonry .ms-item{break-inside:avoid;margin-bottom:18px;background:var(--card);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .3s,box-shadow .3s;}
.masonry .ms-item:hover{transform:translateY(-3px);box-shadow:var(--shadow);}
.ms-item .pic img{width:100%;height:180px;object-fit:cover;transition:transform .5s;}
.ms-item:hover .pic img{transform:scale(1.06);}
.ms-item .t{padding:14px 16px;}
.ms-item h4{font-size:15px;margin-bottom:6px;}
.ms-item h4 a{color:var(--text);}
.ms-item h4 a:hover{color:var(--primary);}
.ms-item p{color:var(--muted);font-size:13px;height:40px;overflow:hidden;margin-bottom:8px;}
.ms-item .meta{display:flex;gap:12px;font-size:12px;color:var(--muted);}
.ms-item .meta span{background:var(--soft);padding:2px 10px;border-radius:12px;}

/* ===== 列表页 v-band：宽幅横图卡 ===== */
.band-list{display:flex;flex-direction:column;gap:18px;}
.band-item{position:relative;display:block;overflow:hidden;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);min-height:220px;background:var(--soft);}
.band-item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.band-item:hover img{transform:scale(1.04);}
.band-item .shade{position:absolute;left:0;right:0;bottom:0;padding:30px 26px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.82));color:#fff;transition:padding .3s;}
.band-item:hover .shade{padding-bottom:42px;}
.band-item .shade b{display:block;font-size:21px;font-weight:800;margin-bottom:6px;text-shadow:0 2px 8px rgba(0,0,0,.45);}
.band-item .shade i{display:block;font-style:normal;color:rgba(255,255,255,.85);font-size:13px;margin-bottom:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.band-item .shade em{display:inline-block;font-style:normal;font-size:12px;color:var(--accent);letter-spacing:2px;border-bottom:1px solid rgba(255,255,255,.35);padding-bottom:2px;}

/* ===== 列表页 v-table：表格行 ===== */
.table-list{width:100%;}
.table-list .tr{display:flex;align-items:center;gap:14px;padding:12px 16px;border-bottom:1px dashed var(--border);transition:background .2s;}
.table-list .tr:hover{background:var(--soft);}
.table-list .tr.th{background:var(--soft);border-radius:10px;border-bottom:0;font-weight:700;color:var(--text);}
.table-list .c-no{width:48px;flex-shrink:0;color:var(--muted);font-size:13px;text-align:center;}
.table-list .c-t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.table-list .c-t a{color:var(--text);}
.table-list .c-t a:hover{color:var(--primary);}
.table-list .c-d{width:110px;flex-shrink:0;color:var(--muted);font-size:12px;}
.table-list .c-v{width:60px;flex-shrink:0;color:var(--muted);font-size:12px;text-align:right;}

/* ===== 内容页 v-wide：加宽居中 ===== */
.show-wide-body .col-main{max-width:920px;}
.show-wide{padding:40px 46px;}
.show-wide .crumb-line{font-size:13px;color:var(--muted);margin-bottom:18px;}
.show-wide .crumb-line a{color:var(--primary);}
.show-wide .crumb-line a:hover{color:var(--secondary);}
.show-wide .crumb-line span{margin:0 8px;opacity:.6;}
.show-wide h1{font-size:30px;text-align:center;line-height:1.5;font-weight:800;padding:6px 0 4px;}
.show-wide .meta{text-align:center;color:var(--muted);font-size:13px;padding:14px 0 22px;border-bottom:1px solid var(--border);margin-bottom:26px;}
.show-wide .meta span{margin:0 12px;background:var(--soft);padding:3px 14px;border-radius:16px;display:inline-block;}
.show-wide .body{font-size:16.5px;line-height:2.05;color:var(--text);}
.show-wide .body p{margin-bottom:18px;}
.show-wide .body h2,.show-wide .body h3{margin:24px 0 12px;}
.show-wide .body img{border-radius:var(--radius);margin:18px auto;box-shadow:var(--shadow-sm);}
.show-wide .pn{margin-top:28px;border-top:1px dashed var(--border);padding-top:16px;font-size:14px;color:var(--muted);display:flex;flex-wrap:wrap;gap:8px 30px;}
.show-wide .pn p{max-width:46%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:4px 0;}
.show-wide .pn a{color:var(--primary);}
.show-wide .pn a:hover{color:var(--secondary);}

/* ===== 内容页 v-panel：信息面板 ===== */
.show-panel-body .info-panel{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;background:linear-gradient(135deg,var(--soft),var(--card));border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px;margin-bottom:24px;}
.info-panel .ip-item{display:flex;flex-direction:column;gap:4px;padding:10px 14px;background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow-sm);min-width:0;}
.info-panel .ip-item b{font-size:11px;color:var(--muted);font-weight:600;letter-spacing:1px;}
.info-panel .ip-item span{font-size:13px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.info-panel .ip-item span a{color:var(--primary);}
.info-panel .ip-item span a:hover{color:var(--secondary);}
.info-panel .ip-item .share{color:var(--primary);}
.show-panel h1{font-size:25px;text-align:left;line-height:1.5;font-weight:800;padding:2px 0 14px;border-bottom:1px solid var(--border);margin-bottom:20px;}

/* ===== 内容页 v-mag：杂志正文 ===== */
.show-mag{padding:0;overflow:hidden;}
.show-mag .mag-head{background:linear-gradient(135deg,var(--soft),var(--card));padding:34px 40px 28px;border-bottom:1px solid var(--border);}
.show-mag .mag-head .tag{display:inline-block;background:var(--grad);color:#fff;font-size:12px;padding:3px 14px;border-radius:20px;font-weight:700;margin-bottom:14px;}
.show-mag .mag-head h1{font-size:28px;line-height:1.45;text-align:left;padding:0;margin-bottom:10px;}
.show-mag .mag-head .sub{color:var(--muted);font-size:14px;line-height:1.8;margin-bottom:16px;}
.show-mag .mag-head .meta{border-bottom:0;padding:0;text-align:left;margin:0;}
.show-mag .lead-quote{display:flex;gap:16px;padding:22px 26px;border-left:4px solid var(--primary);background:var(--soft);margin:26px 40px 0;border-radius:0 var(--radius) var(--radius) 0;}
.show-mag .lead-quote b{flex-shrink:0;color:var(--primary);font-size:14px;}
.show-mag .lead-quote p{color:var(--text);font-size:14px;line-height:1.9;}
.show-mag .body{padding:26px 40px 10px;}
.show-mag .body-note{display:flex;gap:14px;align-items:flex-start;margin:24px 40px 0;padding:16px 20px;border:1px dashed var(--border);border-radius:var(--radius);}
.show-mag .body-note span{flex-shrink:0;background:var(--grad);color:#fff;font-size:12px;padding:2px 12px;border-radius:16px;font-weight:700;}
.show-mag .body-note p{color:var(--muted);font-size:13px;line-height:1.8;}
.show-mag .pn{margin:26px 40px 0;padding:16px 0 34px;}

/* ===== 内容页 v-minimal：极简阅读 ===== */
.show-minimal-body .col-main{max-width:760px;}
.show-minimal{padding:44px 48px;}
.show-minimal h1{font-size:28px;line-height:1.5;padding:4px 0 8px;}
.show-minimal .meta{padding:12px 0 20px;}
.show-minimal .meta span{margin:0 8px;}
.show-minimal .body{font-size:16.5px;line-height:2.05;}

/* ===== 内容页 v-hero：通栏渐变横幅封面 ===== */
.show-hero-body .col-main{max-width:920px;}
.show-hero .hero-cover{background:linear-gradient(135deg,var(--soft),var(--card));border-radius:var(--radius-lg);padding:48px 46px;text-align:center;position:relative;overflow:hidden;box-shadow:var(--shadow-sm);margin-bottom:28px;}
.show-hero .hero-cover::before{content:"";position:absolute;top:-80px;right:-80px;width:240px;height:240px;border-radius:50%;background:var(--grad);opacity:.12;}
.show-hero .hero-cover::after{content:"";position:absolute;bottom:-46px;left:-46px;width:120px;height:120px;border-radius:50%;border:2px solid var(--primary);opacity:.15;}
.show-hero .hero-cover .tag{display:inline-block;background:var(--grad);color:#fff;font-size:12px;padding:3px 16px;border-radius:20px;font-weight:700;margin-bottom:16px;position:relative;z-index:1;}
.show-hero .hero-cover h1{font-size:32px;line-height:1.4;font-weight:800;padding:0;border:0;text-align:center;position:relative;z-index:1;}
.show-hero .hero-cover p{color:var(--muted);font-size:14px;line-height:1.9;margin:10px auto 16px;max-width:640px;position:relative;z-index:1;}
.show-hero .hero-cover .meta{border:0;padding:0;text-align:center;position:relative;z-index:1;}
.show-hero .hero-cover .meta span{background:rgba(0,0,0,.06);}
.show-hero .body{font-size:16.5px;line-height:2.05;color:var(--text);}
.show-hero .body p{margin-bottom:18px;}
.show-hero .pn{margin-top:28px;border-top:1px dashed var(--border);padding-top:16px;font-size:14px;color:var(--muted);display:flex;flex-wrap:wrap;gap:8px 30px;}

/* ===== 内容页 rel-line：图文行相关区 ===== */
.rel-line{list-style:none;padding:0;margin:0;display:grid;gap:14px;}
.rel-line li{display:flex;gap:14px;align-items:flex-start;border-bottom:1px dashed var(--border);padding-bottom:14px;}
.rel-line li:last-child{border-bottom:0;padding-bottom:0;}
.rel-line .rl-pic{flex:0 0 92px;height:66px;overflow:hidden;border-radius:var(--radius);display:block;}
.rel-line .rl-pic img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s;}
.rel-line .rl-pic:hover img{transform:scale(1.06);}
.rel-line .rl-t{flex:1;min-width:0;}
.rel-line .rl-t h4{margin:0 0 4px;font-size:14px;line-height:1.5;}
.rel-line .rl-t h4 a{color:var(--text);}
.rel-line .rl-t h4 a:hover{color:var(--primary);}
.rel-line .rl-t p{margin:0;font-size:12px;color:var(--muted);line-height:1.6;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}

/* ===== 分页 ===== */
.pagination{text-align:center;padding:26px 0 6px;}
.pagination a,.pagination .pg-on{display:inline-block;border:1px solid var(--border);background:var(--card);color:var(--text);padding:8px 16px;margin:0 5px;border-radius:var(--radius);font-size:13px;transition:all .25s;min-width:38px;}
.pagination a:hover{border-color:var(--primary);color:#fff;background:var(--primary);transform:translateY(-2px);box-shadow:var(--shadow-sm);}
.pagination .pg-on{background:var(--grad);color:#fff;border-color:transparent;}

/* ===== 文章页 ===== */
.article{background:var(--card);border-radius:var(--radius-lg);padding:34px 38px;box-shadow:var(--shadow-sm);}
.article h1{font-size:26px;text-align:center;padding:10px 0 6px;line-height:1.5;font-weight:800;}
.article .meta{text-align:center;color:var(--muted);font-size:13px;padding:12px 0 20px;border-bottom:1px solid var(--border);margin-bottom:24px;}
.article .meta span{margin:0 14px;display:inline-block;background:var(--soft);padding:3px 14px;border-radius:16px;}
.article .body{font-size:16px;line-height:2;color:var(--text);}
.article .body p{margin-bottom:18px;}
.article .body h2,.article .body h3{margin:22px 0 12px;}
.article .body img{border-radius:var(--radius);margin:16px auto;box-shadow:var(--shadow-sm);}
.article .pn{margin-top:26px;border-top:1px dashed var(--border);padding-top:16px;font-size:14px;color:var(--muted);display:flex;flex-wrap:wrap;gap:8px 30px;}
.article .pn p{margin:4px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:46%;}
.article .pn a{color:var(--primary);}
.article .pn a:hover{color:var(--secondary);}

/* ===== 标签云 ===== */
.tags a{display:inline-block;background:var(--soft);color:var(--primary);padding:5px 16px;border-radius:20px;margin:0 8px 10px 0;font-size:13px;border:1px solid transparent;transition:all .25s;}
.tags a:hover{background:var(--grad);color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-sm);border-color:transparent;}

/* ===== 小说阅读 ===== */
.novel-read{max-width:860px;margin:0 auto;background:var(--card);border-radius:var(--radius-lg);padding:36px 44px;box-shadow:var(--shadow-sm);}
.novel-read h1{font-size:28px;text-align:center;font-weight:800;}
.novel-read .body{font-size:18px;line-height:2.1;color:var(--text);}

/* ===== 企业风格 ===== */
.hero-company{background:var(--grad);color:#fff;border-radius:var(--radius-lg);padding:52px 44px;margin:22px 0;text-align:center;position:relative;overflow:hidden;box-shadow:var(--shadow);}
.hero-company::before{content:"";position:absolute;top:-60px;right:-60px;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.08);}
.hero-company h2{font-size:32px;margin-bottom:10px;letter-spacing:2px;}
.hero-company p{color:rgba(255,255,255,.88);font-size:15px;}
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.features .f{padding:26px 20px;text-align:center;border-top:3px solid transparent;transition:all .3s;}
.features .f:hover{border-top-color:var(--primary);transform:translateY(-4px);box-shadow:var(--shadow);}
.features .f b{display:block;font-size:22px;color:var(--primary);margin-bottom:10px;}

/* ===== 底部 ===== */
.footer{background:linear-gradient(160deg,#14674b 0%,#000000 70%);color:rgba(255,255,255,.72);margin-top:34px;padding:44px 0 22px;font-size:13px;}
.footer .links{display:flex;gap:50px;flex-wrap:wrap;padding-bottom:24px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:18px;}
.footer .about{flex:1.6;min-width:240px;line-height:2;}
.footer .flist{flex:1;min-width:150px;}
.footer h4{color:#fff;font-size:15px;margin-bottom:14px;position:relative;padding-left:12px;}
.footer h4::before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:3px;border-radius:2px;background:var(--accent);}
.footer .flist li{margin-bottom:8px;}
.footer .flist a{color:rgba(255,255,255,.72);transition:color .2s,padding-left .2s;}
.footer .flist a:hover{color:#fff;padding-left:6px;}
.footer .copy{text-align:center;color:rgba(255,255,255,.5);font-size:12px;line-height:2;}
.footer .copy a{color:rgba(255,255,255,.75);}
.footer .copy a:hover{color:#fff;}
/* ===== 页脚三链（互链/外链/友链）===== */
.footer .links-three{display:flex;gap:42px;flex-wrap:wrap;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:16px;}
.footer .lt-col{flex:1;min-width:200px;}
.footer .lt-col ul{display:flex;flex-wrap:wrap;gap:8px 18px;}
.footer .lt-col li{margin-bottom:6px;}
.footer .lt-col a{color:rgba(255,255,255,.72);transition:color .2s;}
.footer .lt-col a:hover{color:#fff;}
.footer.ft-center .links-three{flex-direction:column;align-items:center;gap:14px;}
.footer.ft-center .lt-col{text-align:center;}
.footer.ft-center .lt-col ul{justify-content:center;}
.footer.ft-center .lt-col h4{text-align:center;padding-left:0;}
.footer.ft-center .lt-col h4::before{display:none;}

/* ===== 页脚部件：排布（grid 并排 / line 行式 / center 全居中 / mega 横幅宽屏 / mag 杂志式）===== */
.footer.ft-grid .links{gap:50px;}
.footer.ft-line .links{flex-direction:column;gap:12px;align-items:stretch;}
.footer.ft-line .row-line{display:flex;gap:44px;flex-wrap:wrap;}
.footer.ft-line .flist{min-width:150px;}
.footer.ft-center .links{flex-direction:column;align-items:center;gap:10px;}
.footer.ft-center .row-line{justify-content:center;}
.footer.ft-center .flist h4{text-align:center;padding-left:0;}
.footer.ft-center .flist h4::before{display:none;}
.footer.ft-center .flist li{text-align:center;}
/* ===== 页脚部件：栏数（flist 默认 flex:1，栏数差异由 about 占比体现）===== */
.footer.ft-cols-2 .links{gap:34px;justify-content:center;}
.footer.ft-cols-3 .links{gap:40px;}
/* ===== 页脚部件：mega 顶部品牌横幅 + 宽屏多栏 ===== */
.footer.ft-mega .banner{text-align:center;padding:6px 0 26px;border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:30px;}
.footer.ft-mega .banner h3{font-size:32px;font-weight:800;letter-spacing:2px;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.footer.ft-mega .banner p{color:rgba(255,255,255,.66);letter-spacing:4px;font-size:13px;margin-top:8px;}
.footer.ft-mega .links{gap:64px;}
.footer.ft-mega .about{flex:1.4;}
.footer.v-light.ft-mega .banner{border-bottom-color:var(--border);}
.footer.v-light.ft-mega .banner h3{-webkit-text-fill-color:var(--primary);}
.footer.v-light.ft-mega .banner p{color:var(--muted);}
/* ===== 页脚部件：mag 左侧品牌块 + 右侧链接栏 ===== */
.footer.ft-mag .links{gap:60px;}
.footer.ft-mag .f-brand{flex:1.6;min-width:280px;line-height:1.9;padding-right:34px;border-right:1px solid rgba(255,255,255,.12);}
.footer.ft-mag .f-brand h3{font-size:26px;font-weight:800;letter-spacing:1px;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:6px;}
.footer.ft-mag .f-brand .slg{color:#fff;font-size:14px;letter-spacing:2px;margin-bottom:10px;}
.footer.ft-mag .f-brand .ab{color:rgba(255,255,255,.66);}
.footer.ft-mag .f-brand .ct{color:rgba(255,255,255,.5);font-size:12px;margin-top:10px;}
.footer.v-light.ft-mag .f-brand{border-right-color:var(--border);}
.footer.v-light.ft-mag .f-brand h3{-webkit-text-fill-color:var(--primary);}
.footer.v-light.ft-mag .f-brand .slg{color:var(--text);}
.footer.v-light.ft-mag .f-brand .ab,.footer.v-light.ft-mag .f-brand .ct{color:var(--muted);}
/* ===== 页脚部件：split 上下分区（品牌横幅 + 链接 + 独立通栏版权带）===== */
.footer.ft-split .banner{text-align:left;padding:6px 0 26px;border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:30px;}
.footer.ft-split .banner h3{font-size:30px;font-weight:800;letter-spacing:2px;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.footer.ft-split .banner p{color:rgba(255,255,255,.66);letter-spacing:3px;font-size:13px;margin-top:6px;}
.footer.ft-split .copy-band{margin:18px -9999px 0;padding:18px 9999px;background:rgba(0,0,0,.3);}
.footer.ft-split .copy{margin:0;padding:0;border:0;}
.footer.v-light.ft-split .copy-band{background:var(--soft);}
.footer.v-light.ft-split .banner{border-bottom-color:var(--border);}
.footer.v-light.ft-split .banner h3{-webkit-text-fill-color:var(--primary);}
.footer.v-light.ft-split .banner p{color:var(--muted);}
/* ===== 页脚部件：cards 链接卡片化 ===== */
.footer.ft-cards .links{gap:22px;padding-top:6px;}
.footer.ft-cards .f-card{flex:1;min-width:160px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.09);border-radius:14px;padding:18px 20px;transition:transform .3s,border-color .3s;}
.footer.ft-cards .f-card:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.22);}
.footer.ft-cards .about{flex:1.5;}
.footer.ft-cards .flist{margin:0;}
.footer.v-light.ft-cards .f-card{background:var(--soft);border-color:var(--border);}
/* ===== 页脚部件：brick 砖块双列 + 顶部渐变条 ===== */
.footer.ft-brick{position:relative;}
.footer.ft-brick::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--grad);}
.footer.ft-brick .flist{columns:2;column-gap:28px;}
.footer.ft-brick .flist li{break-inside:avoid;}
.footer.ft-brick .flist h4{column-span:all;}

/* ===== 回到顶部 ===== */
#goTop{position:fixed;right:26px;bottom:40px;width:46px;height:46px;border-radius:50%;background:var(--grad);color:#fff;border:0;font-size:20px;cursor:pointer;box-shadow:var(--shadow);opacity:0;visibility:hidden;transition:all .35s;z-index:999;}
#goTop.show{opacity:1;visibility:visible;}
#goTop:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}

/* ============================================
   设计变体样式（v- 前缀，随模板自动组合）
   ============================================ */

/* --- 导航 v-pill：白底胶囊 --- */
.nav.v-pill{background:var(--card);box-shadow:var(--shadow-sm);}
.nav.v-pill li a{color:var(--text);padding:10px 22px;margin:7px 4px;border-radius:24px;transition:all .25s;}
.nav.v-pill li a::after{display:none;}
.nav.v-pill li.on a,.nav.v-pill li a:hover{color:#fff;background:var(--grad);box-shadow:var(--shadow-sm);}
.nav.v-pill .home{background:var(--soft);border-radius:24px;}
.nav.v-pill .home.on{background:var(--grad);}

/* --- 导航 v-line：极简下划线 --- */
.nav.v-line{background:var(--card);box-shadow:var(--shadow-sm);}
.nav.v-line li a{color:var(--text);}
.nav.v-line li a::after{background:var(--primary);bottom:0;left:50%;right:50%;height:3px;opacity:1;border-radius:0;}
.nav.v-line li a:hover::after,.nav.v-line li.on a::after{left:14%;right:14%;}
.nav.v-line li.on a,.nav.v-line li a:hover{background:transparent;color:var(--primary);}
.nav.v-line .home{background:transparent;}
/* 品牌式搜索框在浅色导航条（v-pill/v-line）下恢复常规浅底描边 */
.nav.v-pill.nav-has-search .search form,.nav.v-line.nav-has-search .search form{background:var(--card);border-color:var(--primary);}
.nav.v-pill.nav-has-search .search input,.nav.v-line.nav-has-search .search input{color:var(--text);}
.nav.v-pill.nav-has-search .search input::placeholder,.nav.v-line.nav-has-search .search input::placeholder{color:var(--muted);}

/* --- 导航 v-boxed：圆角胶囊悬浮 --- */
.nav.v-boxed{background:transparent;box-shadow:none;}
.nav.v-boxed .container{background:var(--grad);border-radius:16px;box-shadow:0 10px 26px rgba(0,0,0,.16);margin:16px auto;padding:0 12px;}
.nav.v-boxed li a{padding:13px 22px;border-radius:10px;}
.nav.v-boxed li a::after{display:none;}
.nav.v-boxed li.on a,.nav.v-boxed li a:hover{background:rgba(255,255,255,.16);}
.nav.v-boxed .home{background:rgba(0,0,0,.1);}
.nav.v-boxed.nav-has-search .search{margin:8px 6px 8px auto;}
.nav.v-boxed.nav-has-search .search form{border-color:rgba(255,255,255,.55);background:rgba(255,255,255,.12);}
.nav.v-boxed.nav-has-search .search input{width:150px;color:#fff;}
.nav.v-boxed.nav-has-search .search input::placeholder{color:rgba(255,255,255,.8);}
.nav.v-boxed.nav-has-search .search button{background:#fff;color:var(--primary);padding:0 16px;}

/* --- 导航 v-glass：毛玻璃悬浮通栏 --- */
.nav.v-glass{background:rgba(255,255,255,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 4px 20px rgba(0,0,0,.07);}
.nav.v-glass li a{color:var(--text);}
.nav.v-glass li a::after{background:var(--grad);}
.nav.v-glass li.on a,.nav.v-glass li a:hover{background:var(--soft);}
.nav.v-glass .home{background:var(--soft);}
.nav.v-glass.nav-has-search .search form{background:var(--card);border-color:var(--primary);}
.nav.v-glass.nav-has-search .search input{color:var(--text);}
.nav.v-glass.nav-has-search .search input::placeholder{color:var(--muted);}

/* --- 导航 v-tabs：分段标签卡（选中项白底上浮）--- */
.nav.v-tabs{background:var(--grad);}
.nav.v-tabs ul{padding:10px 8px;}
.nav.v-tabs li a{padding:11px 22px;border-radius:12px;color:rgba(255,255,255,.92);transition:all .25s;}
.nav.v-tabs li a::after{display:none;}
.nav.v-tabs li.on a,.nav.v-tabs li a:hover{background:#fff;color:var(--primary);box-shadow:0 6px 16px rgba(0,0,0,.18);transform:translateY(-2px);font-weight:700;}
.nav.v-tabs .home{background:rgba(0,0,0,.14);border-radius:12px;}
.nav.v-tabs .home.on{background:#fff;}
.nav.v-tabs.nav-has-search .search{margin:10px 8px 10px auto;}
.nav.v-tabs.nav-has-search .search form{border-color:rgba(255,255,255,.5);background:rgba(255,255,255,.14);}
.nav.v-tabs.nav-has-search .search input{color:#fff;}
.nav.v-tabs.nav-has-search .search input::placeholder{color:rgba(255,255,255,.8);}
.nav.v-tabs.nav-has-search .search button{background:#fff;color:var(--primary);}

/* --- 导航 v-flag：白色通栏 + 顶部旗条 + 常驻渐变下划线 --- */
.nav.v-flag{background:var(--card);box-shadow:var(--shadow-sm);position:relative;}
.nav.v-flag::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--grad);}
.nav.v-flag li a{color:var(--text);}
.nav.v-flag li a::after{background:var(--grad);bottom:0;height:3px;opacity:.3;border-radius:0;left:0;right:0;transition:all .3s;}
.nav.v-flag li.on a,.nav.v-flag li a:hover{background:transparent;color:var(--primary);}
.nav.v-flag li.on a::after,.nav.v-flag li a:hover::after{opacity:1;left:14%;right:14%;}
.nav.v-flag .home{background:transparent;}
.nav.v-flag.nav-has-search .search form{background:var(--card);border-color:var(--primary);}
.nav.v-flag.nav-has-search .search input{color:var(--text);}
.nav.v-flag.nav-has-search .search input::placeholder{color:var(--muted);}

/* --- 列表 v-time：时间线 --- */
.news-list.v-time li{position:relative;padding-left:28px;}
.news-list.v-time li::before{content:"";position:absolute;left:9px;top:6px;bottom:6px;width:2px;background:var(--soft);}
.news-list.v-time li::after{content:"";position:absolute;left:4px;top:18px;width:12px;height:12px;border-radius:50%;background:var(--grad);box-shadow:0 0 0 3px var(--soft);}
.news-list.v-time li a::before{display:none;}
.news-list.v-time li a{padding-left:4px;}
.news-list.v-time li:hover a{padding-left:10px;}

/* --- 列表 v-num：序号 --- */
.news-list.v-num li a{padding-left:30px;}
.news-list.v-num li a::before{width:18px;height:18px;line-height:18px;border-radius:6px;background:var(--soft);color:var(--primary);font-size:11px;font-weight:700;text-align:center;opacity:1;content:"";transition:all .25s;}
.news-list.v-num li a:hover::before{background:var(--grad);color:#fff;}

/* --- 卡片 v-grid3：三列大卡 --- */
.card-grid.v-grid3{grid-template-columns:repeat(3,1fr);gap:22px;}
.card-grid.v-grid3 .card .t h4{font-size:16px;height:48px;}
.card-grid.v-grid3 .card .t p{font-size:13px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.card-grid.v-grid3 .card .pic{aspect-ratio:16/10;}

/* --- 排行 v-bar：进度条 --- */
.rank-list.v-bar li{position:relative;background:var(--soft);border-radius:9px;padding:8px 12px;margin-bottom:7px;overflow:hidden;border-bottom:0;}
.rank-list.v-bar li::after{content:"";position:absolute;left:0;top:0;bottom:0;background:var(--grad);opacity:.16;}
.rank-list.v-bar li i{position:relative;z-index:1;background:transparent;color:var(--primary);}
.rank-list.v-bar li:nth-child(-n+3) i{background:transparent;color:var(--secondary);}
.rank-list.v-bar li a,.rank-list.v-bar li .hits{position:relative;z-index:1;}
.rank-list.v-bar li:nth-child(1)::after{width:100%;}
.rank-list.v-bar li:nth-child(2)::after{width:90%;}
.rank-list.v-bar li:nth-child(3)::after{width:80%;}
.rank-list.v-bar li:nth-child(4)::after{width:71%;}
.rank-list.v-bar li:nth-child(5)::after{width:63%;}
.rank-list.v-bar li:nth-child(6)::after{width:56%;}
.rank-list.v-bar li:nth-child(7)::after{width:49%;}
.rank-list.v-bar li:nth-child(8)::after{width:43%;}
.rank-list.v-bar li:nth-child(9)::after{width:38%;}
.rank-list.v-bar li:nth-child(10)::after{width:33%;}

/* --- 排行 v-plain：极简序号 --- */
.rank-list.v-plain li i{background:transparent;color:var(--muted);font-size:14px;font-weight:700;}
.rank-list.v-plain li:nth-child(-n+3) i{background:transparent;color:var(--accent);}

/* --- 焦点区 v-focus：左焦点图 + 右列表 --- */
.hero-focus{display:flex;gap:18px;margin:22px 0 0;}
.hero-focus .focus-main{flex:2.1;border-radius:var(--radius-lg);overflow:hidden;position:relative;box-shadow:var(--shadow);}
.hero-focus .focus-main img{width:100%;height:310px;object-fit:cover;}
.hero-focus .focus-main::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.72));}
.hero-focus .focus-main .cap{position:absolute;left:22px;right:22px;bottom:16px;z-index:2;}
.hero-focus .focus-main .cap h2{font-size:22px;line-height:1.5;}
.hero-focus .focus-main .cap h2 a{color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.5);}
.hero-focus .focus-main .cap h2 a:hover{color:var(--accent);}
.hero-focus .focus-main .cap p{color:rgba(255,255,255,.85);font-size:13px;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.hero-focus .focus-list{flex:1;background:var(--card);border-radius:var(--radius-lg);padding:18px 20px;box-shadow:var(--shadow-sm);}
.hero-focus .focus-list h3{font-size:16px;font-weight:800;padding-left:12px;position:relative;margin-bottom:12px;}
.hero-focus .focus-list h3::before{content:"";position:absolute;left:0;top:3px;bottom:3px;width:4px;border-radius:2px;background:var(--grad);}
.hero-focus .focus-list li{padding:8px 0;border-bottom:1px dashed var(--border);}
.hero-focus .focus-list li:last-child{border-bottom:0;}
.hero-focus .focus-list li a{color:var(--text);font-size:13px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.hero-focus .focus-list li a:hover{color:var(--primary);padding-left:4px;}

/* --- 焦点区 v-banner：通栏渐变 Banner --- */
.hero-banner{background:var(--grad);border-radius:var(--radius-lg);padding:58px 44px;margin:22px 0 0;text-align:center;color:#fff;position:relative;overflow:hidden;box-shadow:var(--shadow);}
.hero-banner::before{content:"";position:absolute;top:-70px;right:-50px;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.10);}
.hero-banner::after{content:"";position:absolute;bottom:-90px;left:-40px;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.07);}
.hero-banner .tag{display:inline-block;background:rgba(255,255,255,.18);padding:4px 18px;border-radius:20px;font-size:12px;margin-bottom:16px;position:relative;z-index:1;letter-spacing:2px;}
.hero-banner h2{font-size:34px;letter-spacing:3px;position:relative;z-index:1;line-height:1.5;}
.hero-banner p{color:rgba(255,255,255,.9);margin-top:12px;position:relative;z-index:1;font-size:15px;}

/* ===== 页脚 v-light：浅色清爽 ===== */
.footer.v-light{background:var(--card);color:var(--muted);border-top:1px solid var(--border);box-shadow:var(--shadow-sm);}
.footer.v-light h4{color:var(--text);}
.footer.v-light .links{border-bottom-color:var(--border);}
.footer.v-light .flist a{color:var(--muted);}
.footer.v-light .flist a:hover{color:var(--primary);padding-left:6px;}
.footer.v-light .copy{color:var(--muted);}
.footer.v-light .copy a{color:var(--primary);}
.footer.v-light .links-three{border-bottom-color:var(--border);}
.footer.v-light .lt-col a{color:var(--muted);}
.footer.v-light .lt-col a:hover{color:var(--primary);}

/* ===== 渐变 CTA 横幅 ===== */
.banner-cta{background:var(--grad);border-radius:var(--radius-lg);padding:30px 34px;margin:22px 0;color:#fff;position:relative;overflow:hidden;box-shadow:var(--shadow);}
.banner-cta::before{content:"";position:absolute;top:-80px;right:-40px;width:240px;height:240px;border-radius:50%;background:rgba(255,255,255,.09);}
.banner-cta::after{content:"";position:absolute;bottom:-90px;left:-30px;width:200px;height:200px;border-radius:50%;background:rgba(255,255,255,.06);}
.banner-cta .bc-inner{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.banner-cta .bc-tag{display:inline-block;background:rgba(255,255,255,.18);padding:3px 14px;border-radius:20px;font-size:12px;letter-spacing:2px;margin-bottom:10px;}
.banner-cta h3{font-size:24px;letter-spacing:1px;line-height:1.4;}
.banner-cta p{color:rgba(255,255,255,.88);font-size:13px;margin-top:6px;max-width:640px;}
.banner-cta .bc-btn{display:inline-block;background:#fff;color:var(--primary);font-weight:700;padding:12px 28px;border-radius:30px;box-shadow:0 6px 20px rgba(0,0,0,.18);transition:all .25s;white-space:nowrap;}
.banner-cta .bc-btn:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(0,0,0,.24);color:var(--secondary);}
.banner-cta .bc-txt{flex:1;min-width:0;}

/* ===== 迷你图集 ===== */
.mini-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.mini-gallery .mg-item{border-radius:var(--radius);overflow:hidden;position:relative;box-shadow:var(--shadow-sm);display:block;aspect-ratio:4/3;}
.mini-gallery .mg-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.mini-gallery .mg-item:hover img{transform:scale(1.08);}
.mini-gallery .mg-item span{position:absolute;left:0;right:0;bottom:0;padding:26px 12px 9px;background:linear-gradient(transparent,rgba(0,0,0,.6));color:#fff;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* ===== 区块头编号装饰（01/02…，编辑感） ===== */
.section .hd .num{font-style:normal;font-weight:900;font-size:13px;letter-spacing:2px;color:var(--primary);opacity:.55;margin-right:4px;font-family:Georgia,"Times New Roman",serif;}

/* ===== 编辑头条 lead（大字编辑感，不依赖图片也能高级） ===== */
.lead-block{padding:0;background:transparent;box-shadow:none;border:none;}
.lead-block:hover{box-shadow:none;}
.lead-inner{display:block;position:relative;padding:36px 40px;border-radius:var(--radius-lg);background:var(--grad);color:#fff;overflow:hidden;box-shadow:var(--shadow);}
.lead-inner::before{content:"";position:absolute;top:-80px;right:-40px;width:240px;height:240px;border-radius:50%;background:rgba(255,255,255,.12);}
.lead-inner::after{content:"";position:absolute;bottom:-120px;left:32%;width:280px;height:280px;border-radius:50%;background:rgba(255,255,255,.07);}
.lead-tag{display:inline-block;background:rgba(255,255,255,.18);padding:4px 16px;border-radius:20px;font-size:12px;letter-spacing:2px;position:relative;z-index:1;margin-bottom:14px;}
.lead-inner h2{font-size:30px;line-height:1.45;font-weight:900;letter-spacing:1px;position:relative;z-index:1;max-width:90%;color:#fff;}
.lead-desc{color:rgba(255,255,255,.85);margin-top:12px;font-size:14px;position:relative;z-index:1;max-width:82%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.lead-meta{display:flex;align-items:center;gap:18px;margin-top:16px;font-size:12px;color:rgba(255,255,255,.82);position:relative;z-index:1;}
.lead-meta .lead-more{margin-left:auto;font-weight:800;color:#fff;}
.lead-more::after{content:"\203A";margin-left:8px;font-size:15px;}

/* ===== 左右分割头条 split-hero ===== */
.split-hero{display:grid;grid-template-columns:1.08fr 1fr;gap:22px;margin:22px 0 0;align-items:stretch;}
.split-hero.flip .sh-media{order:-1;}
.sh-txt{background:var(--card);border-radius:var(--radius-lg);padding:38px 36px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden;min-height:240px;}
.sh-txt::after{content:"";position:absolute;right:-52px;bottom:-52px;width:180px;height:180px;border-radius:50%;background:var(--soft);}
.sh-tag{display:inline-block;align-self:flex-start;background:var(--grad);color:#fff;font-size:12px;padding:4px 16px;border-radius:20px;letter-spacing:2px;margin-bottom:16px;}
.sh-txt h2{font-size:28px;line-height:1.5;font-weight:900;letter-spacing:1px;margin-bottom:12px;position:relative;z-index:1;}
.sh-txt p{color:var(--muted);font-size:14px;line-height:1.9;margin-bottom:22px;position:relative;z-index:1;}
.sh-btn{display:inline-block;background:var(--grad);color:#fff;padding:11px 26px;border-radius:30px;font-weight:700;align-self:flex-start;box-shadow:var(--shadow-sm);transition:all .25s;position:relative;z-index:1;}
.sh-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow);color:#fff;}
.sh-media{position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);background:var(--soft);min-height:240px;}
.sh-media img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;}
.sh-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.55));}
.sh-cap{position:absolute;left:18px;right:18px;bottom:14px;color:#fff;font-size:15px;font-weight:700;z-index:2;text-shadow:0 2px 8px rgba(0,0,0,.5);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* ===== 双列并列列表 duo ===== */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.duo .section{margin:0;height:100%;}
.duo .section .hd h3{font-size:17px;}
.duo .section .hd h3::before{width:4px;height:18px;}
.duo-col{min-width:0;}

/* ===== 交错图文 split-block ===== */
.split-block .sb-inner{display:grid;grid-template-columns:1.15fr 1fr;gap:24px;align-items:start;}
.sb-media{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);position:relative;background:var(--soft);aspect-ratio:4/3;}
.sb-media img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .5s;}
.sb-media:hover img{transform:scale(1.05);}
.sb-list{display:flex;flex-direction:column;gap:12px;min-width:0;}
.sb-item{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:13px 16px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);transition:all .25s;min-width:0;}
.sb-item b{flex:1;color:var(--text);font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.sb-item span{font-size:11px;color:var(--muted);flex-shrink:0;}
.sb-item:hover{border-color:var(--primary);transform:translateX(5px);box-shadow:var(--shadow-sm);}
.sb-item:hover b{color:var(--primary);}

/* ===== 栏目杂志卡 cat-mag ===== */
.cat-mag{padding:4px 0;}
.cat-mag .hd h3{font-size:18px;}
.cm-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;}
.cm-card{border-radius:var(--radius-lg);overflow:hidden;position:relative;display:block;box-shadow:var(--shadow-sm);aspect-ratio:16/9;background:var(--soft);}
.cm-img{display:block;height:100%;width:100%;}
.cm-card img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .5s;}
.cm-card:hover img{transform:scale(1.06);}
.cm-t{position:absolute;left:0;right:0;bottom:0;padding:28px 14px 10px;background:linear-gradient(transparent,rgba(0,0,0,.72));color:#fff;font-size:13px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.cm-list li{display:flex;justify-content:space-between;align-items:center;padding:9px 2px;border-bottom:1px dashed var(--border);}
.cm-list li:last-child{border-bottom:0;}
.cm-list li a{flex:1;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-left:14px;position:relative;}
.cm-list li a::before{content:"";position:absolute;left:0;top:50%;width:5px;height:5px;border-radius:50%;background:var(--primary);transform:translateY(-50%);}
.cm-list li a:hover{color:var(--primary);padding-left:20px;}
.cm-list .time{font-size:11px;color:var(--muted);flex-shrink:0;background:var(--soft);padding:2px 10px;border-radius:12px;margin-left:12px;}

/* ===== 数据统计条 stats ===== */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:22px 0;}
.st-item{background:var(--card);border-radius:var(--radius-lg);padding:22px 16px;text-align:center;box-shadow:var(--shadow-sm);transition:all .3s;border:1px solid transparent;}
.st-item:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--primary);}
.st-item b{display:block;font-size:26px;font-weight:900;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.st-item span{font-size:12px;color:var(--muted);margin-top:4px;display:block;}

/* ===== 引言金句 quote ===== */
.quote{position:relative;margin:22px 0;padding:36px 40px;text-align:center;border-radius:var(--radius-lg);background:var(--card);box-shadow:var(--shadow-sm);overflow:hidden;}
.quote::before{content:"\201C";position:absolute;left:26px;top:6px;font-size:120px;line-height:1;color:var(--soft);font-family:Georgia,"Times New Roman",serif;}
.quote blockquote{font-size:22px;font-weight:700;letter-spacing:2px;color:var(--text);line-height:1.6;position:relative;z-index:1;}
.q-src{margin-top:14px;color:var(--muted);font-size:13px;position:relative;z-index:1;}

/* --- 基调 v-bold：大胆粗犷 --- */
.tone-bold .section{border-radius:20px;box-shadow:0 14px 40px rgba(0,0,0,.13);}
.tone-bold .section .hd h3{font-size:21px;font-weight:900;}
.tone-bold .section .hd h3::before{width:8px;height:26px;border-radius:4px;}
.tone-bold .nav li a{font-size:16px;font-weight:800;}
.tone-bold .card .t h4{font-size:16px;}
.tone-bold .art-item h3{font-size:20px;}
.tone-bold .plain-item .no{width:44px;height:44px;font-size:17px;border-radius:12px;}
.tone-bold .article h1{font-size:30px;}
.tone-bold .news-list li a{font-weight:600;}

/* --- 基调 v-flat：扁平简约 --- */
.tone-flat .section{background:transparent;box-shadow:none!important;border-radius:0;border-bottom:1px solid var(--border);padding:18px 0;}
.tone-flat .section:hover{box-shadow:none!important;}
.tone-flat .section .hd{border-bottom:0;}
.tone-flat .section .hd h3::before{display:none;}
.tone-flat .card{box-shadow:none;border:0;border-bottom:1px solid var(--border);border-radius:0;}
.tone-flat .card:hover{transform:none;box-shadow:none;border-color:transparent;}
.tone-flat .card .pic{border-radius:0;}
.tone-flat .art-item{box-shadow:none;border:0;border-bottom:1px solid var(--border);border-radius:0;padding:16px 0;}
.tone-flat .art-item:hover{transform:none;box-shadow:none;}
.tone-flat .article{box-shadow:none;border-radius:0;background:transparent;padding:10px 0;}
.tone-flat .plain-item{box-shadow:none;border:0;border-bottom:1px solid var(--border);border-radius:0;padding:14px 4px;}
.tone-flat .plain-item:hover{transform:none;box-shadow:none;}
.tone-flat .crumb{box-shadow:none;border-radius:0;}
.tone-flat .side-box{box-shadow:none;border-radius:0;border-bottom:1px solid var(--border);padding:14px 0;}
.tone-flat .side-box:hover{box-shadow:none;}

/* ================================================================
   视觉流派 mood —— 每套模板可整套换肤，彻底告别"换色模板"
   ================================================================ */
/* --- 流派 mag：杂志大卡风（大图、粗标题、无边框留白） --- */
.mood-mag body{background:var(--bg);}
.mood-mag .section{background:transparent;box-shadow:none;padding:6px 0 30px;}
.mood-mag .section:hover{box-shadow:none;}
.mood-mag .section .hd{border-bottom:2px solid var(--text);padding-bottom:12px;}
.mood-mag .section .hd h3{font-size:26px;font-weight:900;letter-spacing:1px;}
.mood-mag .section .hd h3::before{display:none;}
.mood-mag .section .hd .more{color:var(--muted);}
.mood-mag .card{box-shadow:0 10px 30px rgba(20,30,60,.10);border-radius:6px;}
.mood-mag .card .t h4{font-size:17px;line-height:1.6;}
.mood-mag .art-item{box-shadow:none;background:transparent;padding:0 0 32px;border-bottom:1px solid rgba(0,0,0,.10);border-radius:0;}
.mood-mag .art-item:hover{transform:none;}
.mood-mag .art-item h3{font-size:22px;}
.mood-mag .art-item h3 a:hover{color:var(--primary);text-decoration:underline;}
.mood-mag .quick-item{background:transparent;border:none;box-shadow:none;border-radius:0;}
.mood-mag .quick-item:hover{transform:none;background:var(--soft);}
.mood-mag .quick-item em{color:var(--primary);}
.mood-mag .plain-item{box-shadow:none;border:0;border-bottom:1px solid rgba(0,0,0,.10);border-radius:0;}
.mood-mag .plain-item:hover{transform:none;box-shadow:none;}
.mood-mag .nav{background:var(--text);}
.mood-mag .nav li a{color:rgba(255,255,255,.85);}
.mood-mag .nav li a:hover,.mood-mag .nav li.on a{color:#fff;}
.mood-mag .crumb{background:transparent;border:0;box-shadow:none;padding:14px 0;border-bottom:1px solid rgba(0,0,0,.08);}
.mood-mag .side-box{background:transparent;box-shadow:none;padding:0 0 24px;}
.mood-mag .footer{background:var(--text);}
.mood-mag .footer.v-light h4{color:#fff;}
.mood-mag .footer.v-light .flist a,.mood-mag .footer.v-light .copy{color:rgba(255,255,255,.75);}
.mood-mag .footer.v-light .flist a:hover{color:#fff;}
.mood-mag .footer.v-light .links{border-bottom-color:rgba(255,255,255,.12);}
.mood-mag .footer.v-light .about p{color:rgba(255,255,255,.7);}
.mood-mag .footer.v-light .links-three{border-bottom-color:rgba(255,255,255,.12);}
.mood-mag .footer.v-light .lt-col a{color:rgba(255,255,255,.75);}
.mood-mag .footer.v-light .lt-col a:hover{color:#fff;}

/* --- 流派 paper：极简文艺风（衬线字体、窄栏、留白、无卡片） --- */
.mood-paper body{background:var(--bg);font-family:"Songti SC","STSong","Noto Serif SC","SimSun",serif;}
.mood-paper .container{max-width:940px;width:auto;}
.mood-paper .header{background:transparent;border-bottom:1px solid var(--border);box-shadow:none;}
.mood-paper .section{background:transparent;box-shadow:none;padding:4px 0 40px;}
.mood-paper .section:hover{box-shadow:none;}
.mood-paper .section .hd{justify-content:flex-start;border-bottom:1px solid var(--border);padding-bottom:14px;margin-bottom:18px;}
.mood-paper .section .hd h3{font-size:18px;font-weight:700;letter-spacing:4px;}
.mood-paper .section .hd h3::before{width:0;}
.mood-paper .section .hd .more{display:none;}
.mood-paper .card{box-shadow:none;border:0;background:transparent;}
.mood-paper .card:hover{transform:none;box-shadow:none;}
.mood-paper .card .pic{border-radius:8px;}
.mood-paper .card .t h4{font-family:serif;font-weight:700;letter-spacing:1px;}
.mood-paper .card .t p{color:var(--muted);}
.mood-paper .art-item{box-shadow:none;border:0;border-bottom:1px dashed var(--border);border-radius:0;background:transparent;padding:18px 0;}
.mood-paper .art-item:hover{transform:none;box-shadow:none;}
.mood-paper .art-item h3{font-family:serif;font-weight:700;letter-spacing:1px;}
.mood-paper .news-list li a{font-family:serif;}
.mood-paper .news-list li a:hover{color:var(--primary);}
.mood-paper .rank-list li a{font-family:serif;}
.mood-paper .quick-item{background:transparent;border:0;box-shadow:none;border-radius:0;}
.mood-paper .quick-item:hover{transform:none;background:transparent;color:var(--primary);}
.mood-paper .nav{background:#1d4f30;}
.mood-paper .nav li a{letter-spacing:2px;}
.mood-paper .crumb{background:transparent;border:0;box-shadow:none;padding:14px 0;}
.mood-paper .side-box{background:transparent;box-shadow:none;padding:0 0 26px;}
.mood-paper .side-box .hd h3{letter-spacing:3px;}
.mood-paper .article{box-shadow:none;border:0;background:transparent;}
.mood-paper .article h1{font-family:serif;letter-spacing:2px;}
.mood-paper .footer{background:#1d4f30;}

/* --- 流派 portal：门户密集风（紧凑小字、信息密度高） --- */
.mood-portal body{background:var(--bg);font-size:14px;}
.mood-portal .section{padding:16px 18px;box-shadow:0 1px 3px rgba(0,0,0,.06);}
.mood-portal .section .hd{margin-bottom:10px;}
.mood-portal .section .hd h3{font-size:16px;font-weight:700;}
.mood-portal .section .hd h3::before{width:4px;height:16px;}
.mood-portal .news-list li{padding:6px 0;font-size:13px;}
.mood-portal .news-list li a{font-size:13px;}
.mood-portal .card .pic{aspect-ratio:4/3;}
.mood-portal .card .t{padding:8px 10px;}
.mood-portal .card .t h4{font-size:13px;height:auto;line-height:1.5;margin-bottom:0;}
.mood-portal .card .t p{display:none;}
.mood-portal .quick-item{padding:8px 4px;}
.mood-portal .quick-item em{font-size:11px;}
.mood-portal .quick-item span{font-size:12px;}
.mood-portal .side-box{padding:14px;}
.mood-portal .nav li a{padding:10px 18px;font-size:14px;}
.mood-portal .art-item h3{font-size:16px;}
.mood-portal .art-item p{display:none;}
.mood-portal .art-item{padding:12px 0;}
.mood-portal .rank-list li a{font-size:13px;}
.mood-portal .tags a{font-size:12px;padding:4px 12px;}
.mood-portal .article h1{font-size:24px;}
.mood-portal .crumb{font-size:12px;}

/* --- 流派 night：暗夜科技风（深色玻璃拟态、霓虹青紫） --- */
/* 暗夜流派把整页背景换成深色，但基础配色的 --text/--muted 是深色文字，
   直接覆盖 CSS 变量：所有靠 var(--text) 继承的标题/正文/列表自动变浅色，
   避免"深底深字看不清"（此前只补了部分区块标题，文章/相关阅读等仍会漏） */
.mood-night{--bg:#1d4f30;--card:#2b7447;--text:#d7dce2;--muted:#8b93a1;--border:rgba(255,255,255,.10);--soft:#2b7447;}
.mood-night body{background:#1d4f30;color:#d7dce2;}
.mood-night .header{background:#2b7447;box-shadow:none;border-bottom:1px solid rgba(255,255,255,.06);}
.mood-night .logo .logo-text{color:#fff;}
.mood-night .logo .logo-text small{color:#8b93a1;}
.mood-night .search form{border-color:#196d50;background:#2b7447;}
.mood-night .search input{color:#e8edf5;}
.mood-night .search .btn{background:#196d50;color:#e8edf5;}
.mood-night .nav{background:linear-gradient(135deg,#196d50,#000100);}
.mood-night .section{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);box-shadow:0 8px 30px rgba(0,0,0,.35);backdrop-filter:blur(8px);}
.mood-night .section .hd{border-bottom-color:rgba(255,255,255,.09);}
.mood-night .section .hd h3{color:#e8edf5;}
.mood-night .section .hd h3::before{background:linear-gradient(135deg,#196d50,#000100);}
.mood-night .section .hd .more{color:#8b93a1;}
.mood-night .card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);box-shadow:0 10px 30px rgba(0,0,0,.35);}
.mood-night .card .t h4 a{color:#e8edf5;}
.mood-night .card .t h4 a:hover{color:var(--primary);}
.mood-night .card .t p{color:#8b93a1;}
.mood-night .news-list li a{color:#d7dce2;}
.mood-night .news-list li a:hover{color:var(--primary);}
.mood-night .news-list li .time{color:#8b93a1;}
.mood-night .rank-list li a{color:#d7dce2;}
.mood-night .rank-list li a:hover{color:var(--primary);}
.mood-night .art-item{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);box-shadow:0 8px 24px rgba(0,0,0,.35);}
.mood-night .art-item h3 a{color:#e8edf5;}
.mood-night .art-item h3 a:hover{color:var(--primary);}
.mood-night .art-item p{color:#8b93a1;}
.mood-night .art-item .meta span{color:#8b93a1;}
.mood-night .plain-item{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);}
.mood-night .plain-item .t h3 a{color:#e8edf5;}
.mood-night .plain-item .no{background:linear-gradient(135deg,#196d50,#000100);}
.mood-night .crumb{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);}
.mood-night .crumb a,.mood-night .crumb span{color:#8b93a1;}
.mood-night .side-box{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);box-shadow:0 8px 24px rgba(0,0,0,.3);}
.mood-night .side-box .hd h3{color:#e8edf5;}
.mood-night .side-box ul li a{color:#d7dce2;}
.mood-night .side-box ul li a:hover{color:var(--primary);}
.mood-night .tags a{color:var(--accent);background:rgba(127,127,140,.12);border-color:rgba(127,127,140,.25);}
.mood-night .tags a:hover{background:rgba(127,127,140,.25);}
.mood-night .pagination a{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12);color:#d7dce2;}
.mood-night .pagination .on{background:#000100;border-color:#000100;color:#fff;}
.mood-night .article{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);box-shadow:0 10px 30px rgba(0,0,0,.35);}
.mood-night .article h1{color:#e8edf5;}
.mood-night .article .meta span{background:rgba(255,255,255,.06);color:#8b93a1;}
.mood-night .article .body{color:#c6cdd9;}
.mood-night .article .body h2,.mood-night .article .body h3{color:#e8edf5;}
.mood-night .article .body p{color:#c6cdd9;}
.mood-night .article .pn{color:#8b93a1;border-top-color:rgba(255,255,255,.1);}
.mood-night .article .pn a{color:var(--primary);}
.mood-night .novel-read{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);}
.mood-night .novel-read h1{color:#e8edf5;}
.mood-night .novel-read .body{color:#c6cdd9;}
.mood-night .info-panel{background:rgba(255,255,255,.03);border-color:rgba(255,255,255,.08);}
.mood-night .info-panel .ip-item{background:rgba(255,255,255,.05);}
.mood-night .info-panel .ip-item b{color:#8b93a1;}
.mood-night .info-panel .ip-item span{color:#e8edf5;}
.mood-night .banner-cta{box-shadow:0 0 44px color-mix(in srgb,var(--primary) 30%,transparent);}
.mood-night .footer{background:linear-gradient(160deg,#196d50 0%,#1d4f30 70%);}
.mood-night .footer.v-light{background:#2b7447;border-top-color:rgba(255,255,255,.06);}
.mood-night .footer.v-light .flist a,.mood-night .footer.v-light .copy{color:#8b93a1;}
.mood-night .footer.v-light h4{color:#e8edf5;}
.mood-night .footer.v-light .lt-col a{color:#8b93a1;}
.mood-night .footer.v-light .lt-col a:hover{color:#fff;}
.mood-night .mini-gallery .mg-item{box-shadow:0 8px 24px rgba(0,0,0,.35);}

/* --- 各流派下"高级区块"的适配（lead/split/duo/split-block/cat-mag/stats/quote） --- */
.mood-mag .lead-block .lead-inner{background:var(--text);}
.mood-mag .sh-txt{box-shadow:none;border-bottom:2px solid var(--text);border-radius:0;padding:30px 8px;}
.mood-mag .duo .section{border-bottom:2px solid var(--text);padding-bottom:24px;}
.mood-mag .quote{border-left:4px solid var(--text);border-radius:0;text-align:left;}
.mood-mag .quote::before{left:18px;}
.mood-paper .lead-inner{background:transparent;border:none;border-bottom:1px solid var(--border);border-radius:0;padding:10px 0 28px;box-shadow:none;}
.mood-paper .lead-tag{background:transparent;color:var(--primary);border:1px solid var(--border);border-radius:2px;letter-spacing:3px;}
.mood-paper .lead-inner h2{font-family:"Songti SC","STSong","Noto Serif SC","SimSun",serif;font-size:26px;letter-spacing:2px;color:var(--text);}
.mood-paper .lead-desc{color:var(--muted);}
.mood-paper .lead-meta,.mood-paper .lead-meta .lead-more{color:var(--muted);}
.mood-paper .sh-txt{background:transparent;box-shadow:none;padding:10px 0;}
.mood-paper .sh-tag{background:transparent;color:var(--primary);border:1px solid var(--border);border-radius:2px;}
.mood-paper .sh-btn{background:transparent;border:1px solid var(--text);color:var(--text);border-radius:2px;}
.mood-paper .quote{border:1px solid var(--border);border-radius:0;background:transparent;}
.mood-paper .quote blockquote{font-family:serif;letter-spacing:3px;font-size:20px;}
.mood-paper .st-item{border:1px solid var(--border);border-radius:0;background:transparent;}
.mood-night .lead-inner{background:linear-gradient(135deg,#196d50,#000100);}
.mood-night .sh-txt{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);}
.mood-night .sh-txt h2{color:#e8edf5;}
.mood-night .sh-txt p{color:#8b93a1;}
.mood-night .sh-media,.mood-night .sb-media{background:rgba(255,255,255,.05);}
.mood-night .st-item{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.07);}
.mood-night .sb-item{background:rgba(255,255,255,.03);border-color:rgba(255,255,255,.07);}
.mood-night .sb-item b{color:#e8edf5;}
.mood-night .sb-item:hover b{color:var(--primary);}
.mood-night .cm-card{box-shadow:0 8px 24px rgba(0,0,0,.35);}
.mood-night .cm-list li a{color:#d7dce2;}
.mood-night .cm-list li a:hover{color:var(--primary);}
.mood-night .quote{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);}
.mood-night .quote blockquote{color:#e8edf5;}
.mood-night .quote::before{color:color-mix(in srgb,var(--accent) 30%,transparent);}
.mood-night .q-src{color:#8b93a1;}

/* --- 深色导航流派下 pill/line 导航的文字改为浅色，保证对比度 --- */
.mood-mag .nav.v-pill li a,.mood-mag .nav.v-line li a,
.mood-paper .nav.v-pill li a,.mood-paper .nav.v-line li a,
.mood-night .nav.v-pill li a,.mood-night .nav.v-line li a{color:rgba(255,255,255,.85);}
.mood-mag .nav.v-pill li.on a,.mood-mag .nav.v-pill li a:hover,
.mood-mag .nav.v-line li.on a,.mood-mag .nav.v-line li a:hover,
.mood-paper .nav.v-pill li.on a,.mood-paper .nav.v-pill li a:hover,
.mood-paper .nav.v-line li.on a,.mood-paper .nav.v-line li a:hover,
.mood-night .nav.v-pill li.on a,.mood-night .nav.v-pill li a:hover,
.mood-night .nav.v-line li.on a,.mood-night .nav.v-line li a:hover{color:#fff;background:rgba(255,255,255,.16);}

/* ===== 响应式 ===== */
@media (max-width: 980px){
  .col-main{width:100%;float:none;}
  .col-side{width:100%;float:none;display:flex;gap:14px;flex-wrap:wrap;}
  .side-box{flex:1;min-width:45%;}
  .card-grid{grid-template-columns:repeat(2,1fr);}
  .pic-grid{grid-template-columns:repeat(2,1fr);}
  .mini-gallery{grid-template-columns:repeat(2,1fr);}
  .book-shelf{grid-template-columns:repeat(3,1fr);}
  .quick-grid{grid-template-columns:repeat(4,1fr);}
  .hero .swiper{height:280px;}
  .hero .slide .mask h2{font-size:22px;}
  .search input{width:160px;}
  .duo,.split-hero,.split-block .sb-inner{grid-template-columns:1fr;}
  .split-hero.flip .sh-media{order:0;}
  .stats{grid-template-columns:repeat(2,1fr);}
  .lead-inner h2{font-size:24px;}
  .sh-txt h2{font-size:23px;}
  /* 焦点图双栏在窄屏改为上下堆叠，避免主图被压成竖条、说明文字错位 */
  .hero-focus{flex-direction:column;}
  .hero-focus .focus-main img{height:240px;}
  .hero-focus .focus-list{flex:auto;}
}
@media (max-width: 640px){
  .card-grid,.pic-grid{grid-template-columns:repeat(2,1fr);}
  .mini-gallery{grid-template-columns:repeat(2,1fr);}
  .book-shelf{grid-template-columns:repeat(2,1fr);}
  .quick-grid{grid-template-columns:repeat(4,1fr);}
  .catelog-grid{grid-template-columns:1fr;}
  .art-item{flex-direction:column;}
  .art-item .pic{width:100%;height:180px;}
  .plain-item{flex-direction:column;}
  .plain-item .meta{flex-direction:row;}
  .list-cards{grid-template-columns:1fr;}
  .info-panel{grid-template-columns:repeat(2,1fr);}
  .show-wide{padding:24px 20px;}
  .show-wide .meta span{margin:4px;}
  .section{padding:16px;}
  .article{padding:20px;}
  .stats{grid-template-columns:repeat(2,1fr);}
  .cm-grid{grid-template-columns:1fr;}
  .lead-inner{padding:26px 22px;}
  .quote{padding:28px 22px;}
  .quote blockquote{font-size:18px;}
}
@media (prefers-reduced-motion: reduce){
  *{transition:none!important;animation:none!important;}
}

/* ===== XCSEO 美观增强层 ===== */
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;letter-spacing:.3px;}
a{transition:color .25s ease,background .25s ease,border-color .25s ease;}
img{transition:transform .35s ease,opacity .3s ease;}
section,.section,.block,.box,.panel{transition:box-shadow .3s ease,transform .3s ease;}
.section:hover,.block:hover,.box:hover,.panel:hover{box-shadow:0 10px 30px rgba(0,0,0,.10);}
.card:hover img,.art-item:hover img,.pic-box:hover img{transform:scale(1.05);opacity:.92;}
.card img,.pic-box img,.art-item img{transition:transform .35s ease;}
h1,h2,h3{line-height:1.35;}
h1 a,h2 a,h3 a{transition:color .2s;}
.section .hd h3,.side-box .hd{position:relative;padding-left:12px;}
.section .hd h3::before,.side-box .hd::before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:4px;border-radius:2px;background:#2eb872;}
.news-list li a{transition:color .2s,padding-left .2s;}
.news-list li:hover a{padding-left:6px;color:#2eb872;}
.side-box ul li a{transition:color .2s,padding-left .2s;}
.side-box ul li:hover a{padding-left:6px;color:#2eb872;}
.pagination a{transition:all .2s;}
.pagination a:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.12);}
.article .body p,.novel-read .body p{margin-bottom:16px;}
.article .body img,.novel-read .body img{border-radius:8px;margin:10px auto;display:block;}
.article h1,.novel-read h1{letter-spacing:1px;}
.footer a{transition:color .2s;}
.footer a:hover{color:#fff;text-decoration:underline;}
::selection{background:#2eb872;color:#fff;}
@media (max-width:900px){
  .container{max-width:100%;padding:0 12px;}
  .header .container{flex-direction:column;gap:10px;text-align:center;}
  .nav ul{flex-wrap:wrap;}
  .nav li a{padding:10px 14px;}
  .hero .swiper{height:220px;}
}
/* ==== 引擎兜底：页面用到但 CSS 未定义的类，按语义补基础样式防止布局塌陷 ==== */
.spacing-normal{display:block}
