/* ================================================================
   ZY 工作室 · 设计系统 v5 —— 校园水印 + 活力配色层
   在 v4 之上叠加：校园实景水印 / 暖色点缀 / 日报入口 / 学习资源激活
   加载顺序：style.css → v4.css → v5.css
   ================================================================ */

/* ---------------------------------------------------------------
   1. 令牌微调 —— 引入暖色，让蓝不再是唯一声音
   --------------------------------------------------------------- */
:root {
    /* 新增：暖橙（活力点缀）与青绿（生机点缀） */
    --color-warm: #e8734a;
    --color-warm-light: #f5a683;
    --color-warm-soft: #fdf0ea;
    --color-fresh: #0d9488;
    --color-fresh-light: #5eead4;
    --color-fresh-soft: #e6fbf7;

    /* 日报专属标识色 */
    --color-daily: #d9480f;
    --color-daily-soft: #fff2e8;

    /* 校园水印层透明度 */
    --wm-opacity: 0.055;
    --wm-opacity-strong: 0.085;
}

/* ---------------------------------------------------------------
   1.5 导航与页头衔接
   ---------------------------------------------------------------
   问题：.page-wrapper 的 padding-top:68px 是给固定导航栏留的，
   会在导航栏下方露出一条页面底色（白色/米色）横带。
   解法（不动导航栏本身）：
     page-wrapper 顶部留白归零 → 页头用 margin-top:-68px 上提，
     正好盖住导航栏下方的空档；页头内部 padding 补回 68px，
     标题的视觉位置保持不变。
   --------------------------------------------------------------- */
.page-wrapper {
    padding-top: 0 !important;
}

body.has-school-bar .page-wrapper {
    padding-top: 0 !important;
}

body.has-school-bar.has-collapsed .page-wrapper {
    padding-top: 0 !important;
}

/* 页头上提 68px 盖住空档，padding 补回，标题位置不变 */
.page-header {
    margin-top: -68px !important;
    padding-top: 164px !important;
    position: relative;
    z-index: 2;
}

body.has-school-bar .page-header {
    margin-top: calc(-1 * (var(--school-bar-h, 88px) + 68px)) !important;
    padding-top: calc(96px + var(--school-bar-h, 88px) + 68px) !important;
}

/* 导航栏保持 v4 原样（白底实色），只是把内容层级提上来 */
.navbar {
    position: fixed;
    z-index: 1000;
}

/* ---------------------------------------------------------------
   2. 水印基建 —— 通用底纹工具
   --------------------------------------------------------------- */
.wm-layer {
    position: relative;
    isolation: isolate;
}

/* 伪元素铺水印，尺寸超出一屏，靠 background-attachment 固定不滚动 */
.wm-layer::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    background-attachment: fixed;
    opacity: var(--wm-opacity);
    filter: grayscale(0.35) contrast(0.9);
}

/* 变体：更明显的水印 */
.wm-layer.wm-strong::before {
    opacity: var(--wm-opacity-strong);
}

/* 变体：叠加一层暖色薄雾，压住冷调 */
.wm-layer.wm-warm::before {
    opacity: var(--wm-opacity-strong);
    filter: grayscale(0.2) sepia(0.25) contrast(0.92);
}

/* ---------------------------------------------------------------
   3. 首页：Hero
   ---------------------------------------------------------------
   保持你原来的蓝色高级感（inline background 的蓝色渐变遮罩 + 原图）。
   这里只做两件事：
     1) 上提 68px 盖住导航栏与内容之间的空档（避免出现白色横带）
     2) 标题可读性：文字自身描边阴影 + 柔和径向压暗（跟随文字，不是长方形色块）
   --------------------------------------------------------------- */
.hero {
    background: #0b1a3d;
    margin-top: -68px !important;
    padding-top: 68px;
    position: relative;
    z-index: 2;
}

/* 文字区域的柔和压暗：径向渐变，跟随内容，不是通栏色块 */
.hero-content::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: min(980px, 94vw);
    height: 380px;
    pointer-events: none;
    background: radial-gradient(ellipse at center, rgba(4, 12, 34, 0.60) 0%, rgba(4, 12, 34, 0.34) 46%, transparent 78%);
    z-index: -1;
}

.hero-title {
    color: #fff;
    text-shadow: 0 3px 30px rgba(4, 12, 34, 0.75), 0 1px 4px rgba(4, 12, 34, 0.55);
}

.hero-subtitle {
    color: rgba(255, 255, 255, 0.95);
    text-shadow: 0 2px 16px rgba(4, 12, 34, 0.65);
}

/* ---------------------------------------------------------------
   4. 首页：数据带 —— 加渐变与暖色强调
   --------------------------------------------------------------- */
.stats-section {
    position: relative;
}

.stats-band {
    position: relative;
    border-radius: var(--radius-xl);
    overflow: hidden;
    background:
        linear-gradient(120deg, rgba(29, 78, 216, 0.05), rgba(13, 148, 136, 0.05) 52%, rgba(232, 115, 74, 0.05));
    box-shadow: var(--shadow-md);
    border: 1px solid rgba(29, 78, 216, 0.08);
}

/* 数据带右上角的水印剪影 */
.stats-band::before {
    content: '';
    position: absolute;
    top: -40%;
    right: -6%;
    width: 300px;
    height: 300px;
    background: url('../images/wm-04-hall.jpg') center/cover;
    opacity: 0.045;
    border-radius: 50%;
    transform: rotate(-8deg);
    pointer-events: none;
    /* 圆形外再叠一层渐隐，避免出现生硬的圆盘边 */
    -webkit-mask-image: radial-gradient(circle at 50% 50%, #000 45%, transparent 76%);
    mask-image: radial-gradient(circle at 50% 50%, #000 45%, transparent 76%);
}

/* 数据带：紧凑，高度收小 */
.stats-band {
    padding: 22px 28px;
    border-radius: var(--radius-lg);
}

.stat-item {
    display: flex;
    align-items: baseline;
    gap: 10px;
    justify-content: center;
}

.stat-num {
    font-size: 1.85rem !important;
    line-height: 1;
}

.stat-label {
    font-size: 0.82rem;
    color: var(--color-gray);
    white-space: nowrap;
}

.stat-divider {
    width: 1px;
    height: 26px;
    align-self: center;
    background: linear-gradient(to bottom, transparent, rgba(29, 78, 216, 0.22), transparent);
}

/* 日报入口：更紧凑的单行高度 */
.daily-entry {
    gap: 14px;
    margin-top: 18px;
    padding: 13px 20px;
    border-radius: var(--radius-md, 12px);
}

.daily-badge {
    padding: 6px 13px;
    font-size: 0.8rem;
}

.daily-title {
    font-size: 0.95rem;
}

.daily-desc {
    font-size: 0.8rem;
    margin-top: 2px;
}

.daily-arrow {
    width: 32px;
    height: 32px;
}

.stat-item {
    position: relative;
    z-index: 1;
}

.stat-num {
    background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-fresh) 58%, var(--color-warm) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: var(--color-primary);
}

.stat-divider {
    background: linear-gradient(to bottom, transparent, rgba(29, 78, 216, 0.18), transparent);
}

/* ---------------------------------------------------------------
   5. 每日日报入口卡片
   --------------------------------------------------------------- */
.daily-entry {
    position: relative;
    display: flex;
    align-items: center;
    gap: 18px;
    margin-top: 26px;
    padding: 18px 24px;
    border-radius: var(--radius-lg);
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    background: linear-gradient(112deg, #fff7f2 0%, #fffdfb 46%, #f3fbfa 100%);
    border: 1px solid rgba(217, 72, 15, 0.16);
    box-shadow: 0 4px 18px rgba(217, 72, 15, 0.08);
    transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition);
}

/* 卡片内的校园水印 */
.daily-entry::before {
    content: '';
    position: absolute;
    right: -6%;
    top: -30%;
    width: 260px;
    height: 260px;
    background: url('../images/wm-01-gate.jpg') center/cover;
    opacity: 0.14;
    border-radius: 50%;
    pointer-events: none;
    transition: transform .5s cubic-bezier(.4, 0, .2, 1);
}

.daily-entry:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 32px rgba(217, 72, 15, 0.16);
    border-color: rgba(217, 72, 15, 0.3);
}

.daily-entry:hover::before {
    transform: scale(1.08) rotate(4deg);
}

.daily-badge {
    position: relative;
    z-index: 1;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 16px;
    border-radius: 999px;
    font-size: 0.86rem;
    font-weight: 700;
    letter-spacing: 1px;
    color: #fff;
    background: linear-gradient(135deg, #f97316, var(--color-daily));
    box-shadow: 0 4px 12px rgba(217, 72, 15, 0.3);
    white-space: nowrap;
}

.daily-badge .dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #fff;
    animation: dailyPulse 1.8s ease-in-out infinite;
}

@keyframes dailyPulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: .45; transform: scale(.75); }
}

.daily-text {
    position: relative;
    z-index: 1;
    min-width: 0;
}

.daily-title {
    font-size: 1.02rem;
    font-weight: 700;
    color: var(--color-dark);
    letter-spacing: .3px;
}

.daily-desc {
    font-size: 0.85rem;
    color: var(--color-gray);
    margin-top: 3px;
}

.daily-arrow {
    position: relative;
    z-index: 1;
    margin-left: auto;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    color: var(--color-daily);
    background: rgba(217, 72, 15, 0.08);
    transition: transform var(--transition), background var(--transition);
}

.daily-entry:hover .daily-arrow {
    transform: translateX(4px);
    background: rgba(217, 72, 15, 0.16);
}

/* ---------------------------------------------------------------
   6. 首页：工作室动态板块 —— 水印 + 暖色点缀
   --------------------------------------------------------------- */
.news-section-wm::before {
    background-image: url('../images/wm-09-lawn.jpg');
}

/* 动态行的分类标签按类别上色，添一点生气 */
.news-row-src {
    position: relative;
}

.news-portal {
    position: relative;
}

/* 头条卡片的角标换成暖橙 */
/* 头条角标样式统一见第 19 节（华为风格实色） */

/* ---------------------------------------------------------------
   7. 首页：团队板块 —— 水印 + 照片框
   --------------------------------------------------------------- */
.team-section {
    position: relative;
}

.team-section::before {
    background-image: url('../images/wm-06-sunset.jpg');
    opacity: 0.075;
}

.team-photo {
    position: relative;
    border-radius: var(--radius-xl);
    overflow: hidden;
    box-shadow: var(--shadow-lg);
    border: 1px solid rgba(255, 255, 255, 0.7);
}

.team-photo img {
    transition: transform 1.1s cubic-bezier(.2, .7, .3, 1);
}

.team-photo:hover img {
    transform: scale(1.03);
}

/* 团队标签胶囊：四色循环，比全蓝更活泼 */
.team-tag:nth-child(1) { --tag-c: #1d4ed8; --tag-bg: #eef3ff; }
.team-tag:nth-child(2) { --tag-c: #0d9488; --tag-bg: #e6fbf7; }
.team-tag:nth-child(3) { --tag-c: #b45309; --tag-bg: #fef3c7; }
.team-tag:nth-child(4) { --tag-c: #be185d; --tag-bg: #fdf2f8; }

.team-tag {
    color: var(--tag-c, var(--color-primary));
    background: var(--tag-bg, var(--color-primary-soft));
    border-color: color-mix(in srgb, var(--tag-c, #1d4ed8) 22%, transparent);
}

.team-tag .tag-icon {
    color: var(--tag-c, var(--color-primary));
}

/* ---------------------------------------------------------------
   8. 首页：CTA —— 暖色渐变，视觉收尾
   --------------------------------------------------------------- */
.cta-section {
    position: relative;
}

.cta-section::before {
    background-image: url('../images/wm-07-night.jpg');
    opacity: 0.06;
}

.cta-card {
    position: relative;
    overflow: hidden;
    background: linear-gradient(122deg, #10225a 0%, #1d4ed8 52%, #2a6fb8 100%);
    box-shadow: 0 20px 50px rgba(16, 34, 90, 0.28);
}

.cta-card::before {
    content: '';
    position: absolute;
    right: -5%;
    bottom: -45%;
    width: 420px;
    height: 420px;
    background: url('../images/wm-10-venue.jpg') center/cover;
    opacity: 0.13;
    border-radius: 50%;
    pointer-events: none;
}

.cta-card::after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(620px 300px at 88% 92%, rgba(232, 115, 74, 0.30), transparent 65%);
}

.cta-text, .cta-side {
    position: relative;
    z-index: 1;
}

/* CTA 侧栏三个信息点：左侧色条用渐变 */
.cta-point {
    position: relative;
    padding-left: 14px;
}

.cta-point::before {
    content: '';
    position: absolute;
    left: 0;
    top: 6px;
    bottom: 6px;
    width: 3px;
    border-radius: 2px;
    background: linear-gradient(to bottom, #f97316, var(--color-fresh-light));
}

.cta-point-label {
    color: rgba(255, 255, 255, 0.62);
}

.cta-point-value {
    color: #fff;
}

/* ---------------------------------------------------------------
   8.5 板块配色丰富 —— 各 section 用不同的氛围色，避免整站一个蓝
   --------------------------------------------------------------- */

/* 数据带：暖粉→青的横向渐变，数字用多彩渐变 */
.stats-section {
    background: linear-gradient(180deg, #fdf3ee 0%, #f7f8fa 34%, #eef7f6 100%);
}

.stats-band {
    background:
        linear-gradient(120deg, rgba(249, 115, 22, 0.07), rgba(29, 78, 216, 0.06) 45%, rgba(13, 148, 136, 0.08));
}

.stat-num {
    background: linear-gradient(135deg, #1d4ed8 0%, #7c3aed 38%, #e8734a 72%, #0d9488 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: var(--color-primary);
}

/* 日报入口所在板块：暖色氛围 */
.daily-section {
    background: linear-gradient(180deg, #fff8f4 0%, #fdfcfb 60%, #f2fbfa 100%);
}

/* 动态板块：淡蓝紫氛围 */
.news-section-wm {
    background: linear-gradient(180deg, #f4f7ff 0%, #f8f9fc 55%, #fdf7f4 100%);
}

/* 团队板块：青绿氛围 */
.team-section {
    background: linear-gradient(180deg, #f0faf8 0%, #f7f8fa 52%, #eef3ff 100%);
}

/* CTA 板块：暖橙氛围 */
.cta-section {
    background: linear-gradient(180deg, #fdf4ee 0%, #f7f8fa 60%, #eef3ff 100%);
}

/* 板块标题的 eyebrow 用暖色，标题下分隔线双色 */
.section-eyebrow {
    color: var(--color-warm);
    letter-spacing: 2.4px;
}

.section-divider {
    background: linear-gradient(90deg, #f97316, var(--color-primary) 40%, var(--color-fresh));
}

/* ---------------------------------------------------------------
   9. 内页页头 —— 换成校园实景，不同板块不同图
   ---------------------------------------------------------------
   注意：v4.css 已占用 .page-header::before（网点纹理）与 ::after（科技渐层，
   z-index:0）。这里不重定义伪元素，改用 .page-header > .ph-wm 独立层承载
   水印，避免两套渐变叠加出现顶部断层/白缝。
   --------------------------------------------------------------- */
.page-header {
    position: relative;
    isolation: isolate;
}

/* 校园水印层：绝对定位铺满页头，z-index 1（在底图之上、文字之下） */
.page-header > .ph-wm {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    /* 彩色实景水印，右侧渐隐 */
    -webkit-mask-image: linear-gradient(102deg, #000 0%, rgba(0, 0, 0, .72) 40%, rgba(0, 0, 0, .35) 72%, transparent 96%);
    mask-image: linear-gradient(102deg, #000 0%, rgba(0, 0, 0, .72) 40%, rgba(0, 0, 0, .35) 72%, transparent 96%);
    opacity: 0.62;
}

/* 水印下方的暖/青色光晕，增加生气 */
.page-header > .ph-glow {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
        radial-gradient(620px 300px at 14% 14%, rgba(249, 115, 22, 0.42), transparent 68%),
        radial-gradient(560px 260px at 84% 86%, rgba(13, 148, 136, 0.40), transparent 70%),
        linear-gradient(180deg, rgba(8, 18, 45, 0.42) 0%, transparent 34%);
    mix-blend-mode: screen;
}

/* 页头文字浮到水印之上 */
.page-header > *:not(.ph-wm):not(.ph-glow) {
    position: relative;
    z-index: 2;
}

.page-header h1 {
    text-shadow: 0 2px 18px rgba(9, 20, 48, 0.55);
}

/* 页头加一条暖色顶边，作为板块识别色 */
.page-header > .container {
    position: relative;
    z-index: 2;
}

.page-header > .container::before {
    content: '';
    position: absolute;
    top: -96px;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #f97316 0%, #e8734a 18%, #3b6ef5 52%, #0d9488 100%);
}

/* ---------------------------------------------------------------
   9.5 动态列表 —— 紧凑行式排版（日期在上、细线分隔、去掉大卡片）
   --------------------------------------------------------------- */
.timeline {
    padding-left: 0 !important;
}

.timeline::before {
    display: none !important;
}

.tl-item {
    position: relative;
    margin-bottom: 0 !important;
    padding: 11px 0 12px;
    border-bottom: 1px solid rgba(29, 78, 216, 0.10);
    display: block !important;
    width: 100%;
}

.tl-item:last-child {
    border-bottom: none;
}

/* 日期：独立一行，YYYY-MM-DD */
.tl-date {
    position: static !important;
    width: auto !important;
    max-width: none !important;
    display: block !important;
    margin-bottom: 3px;
}

.tl-date-full {
    font-size: 0.76rem;
    color: #a3adbd;
    letter-spacing: .6px;
    font-weight: 500;
    font-variant-numeric: tabular-nums;
}

/* 标题前的小方块 */
.tl-mark {
    display: inline-block;
    width: 5px;
    height: 5px;
    border-radius: 1px;
    background: var(--color-primary);
    margin-right: 8px;
    vertical-align: middle;
    transform: translateY(-1px);
}

/* 旧的小圆点伪元素关掉 */
.tl-item::before {
    display: none !important;
}

/* 正文块：彻底去掉卡片边框和阴影，占满整行 */
.tl-body,
.tl-item .tl-body {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    padding: 0 0 0 13px !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transition: none !important;
    position: relative;
}

/* v4 里可能有更高优先级的 .timeline .tl-body 之类，用属性选择器兜住 */
.tl-body {
    border: 0 none transparent !important;
    box-shadow: none !important;
    background: transparent !important;
}

/* 左侧竖线：细线 + 圆点，代替原来的卡片边框 */
.tl-body::before {
    content: '';
    position: absolute;
    left: 0;
    top: 4px;
    bottom: 4px;
    width: 2px;
    border-radius: 1px;
    background: linear-gradient(to bottom, rgba(29, 78, 216, .30), rgba(29, 78, 216, .06));
}

.tl-item:hover .tl-body::before {
    background: linear-gradient(to bottom, #f97316, rgba(249, 115, 22, .18));
}

/* 标签：变成标题前的小方块标记 */
.tl-tag {
    display: inline-block;
    margin-bottom: 3px !important;
    margin-right: 7px;
    padding: 1px 8px;
    border-radius: 4px;
    background: rgba(29, 78, 216, .09);
    color: var(--color-primary);
    font-size: .7rem;
    font-weight: 600;
    white-space: nowrap;
    vertical-align: 2px;
}

.tl-title {
    display: inline;
    margin: 0 0 3px !important;
    font-size: 1rem !important;
    font-weight: 650;
    line-height: 1.5;
    color: var(--color-dark);
    transition: color var(--transition);
}

.tl-item:hover .tl-title {
    color: var(--color-primary);
}

/* 摘要：两行截断，更紧凑 */
.tl-desc {
    display: block;
    margin: 0 !important;
    font-size: .82rem !important;
    line-height: 1.7 !important;
    color: var(--color-gray);
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* "查看详情"：默认淡出，hover 才显现 */
.tl-more {
    display: inline-block;
    margin-top: 4px;
    font-size: .78rem;
    color: var(--color-primary);
    opacity: 0;
    transform: translateX(-4px);
    transition: opacity var(--transition), transform var(--transition);
}

.tl-item:hover .tl-more {
    opacity: 1;
    transform: translateX(0);
}

/* 手机端：紧凑样式继续保持 */
@media (max-width: 768px) {
    .tl-item {
        padding: 14px 0 16px;
    }

    .tl-body {
        padding-left: 14px !important;
    }
}
.page-wm::before {
    background-image: url('../images/wm-02-lake.jpg');
    opacity: 0.075;
}

.page-wm-2::before {
    background-image: url('../images/wm-03-track.jpg');
    opacity: 0.085;
}

.page-wm-3::before {
    background-image: url('../images/wm-08-field.jpg');
    opacity: 0.075;
}

/* FAQ 页面：整页铺水印，空白处也能看到校园实景 */
.faq-wm::before {
    background-image: url('../images/wm-05-plaza.jpg');
    opacity: 0.11;
    background-position: center 40%;
}

/* FAQ 折叠项容器：加一层浅色玻璃，衬出水印 */
.faq-list,
.faq-items {
    position: relative;
}

.faq-item,
.faq-q {
    background: rgba(255, 255, 255, 0.88) !important;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}

/* 板块标题的短横线改成双色渐变 */
.section-divider {
    background: linear-gradient(90deg, #f97316, var(--color-primary) 40%, var(--color-fresh));
}

/* 标题下的小装饰点 */
.section-eyebrow {
    color: var(--color-warm);
    letter-spacing: 2.4px;
}

/* ---------------------------------------------------------------
   11. 每日日报 —— 独立入口卡（可放在任意板块）
   --------------------------------------------------------------- */
.daily-card {
    position: relative;
    overflow: hidden;
    border-radius: var(--radius-xl);
    padding: 30px 34px;
    background: linear-gradient(120deg, #fff8f3 0%, #ffffff 50%, #f0fbf9 100%);
    border: 1px solid rgba(217, 72, 15, 0.14);
    box-shadow: var(--shadow-md);
}

.daily-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background: url('../images/wm-01-gate.jpg') center/cover;
    opacity: 0.08;
    pointer-events: none;
}

.daily-card > * {
    position: relative;
    z-index: 1;
}

/* ---------------------------------------------------------------
   12. 学习资源页 —— 激活配色
   --------------------------------------------------------------- */

/* 12.1 登录闸门：从死蓝改成带校园图与暖光的活气面板 */
#gateSection {
    background:
        radial-gradient(900px 520px at 78% 12%, rgba(232, 115, 74, 0.26), transparent 62%),
        radial-gradient(820px 480px at 14% 88%, rgba(13, 148, 136, 0.24), transparent 64%),
        linear-gradient(158deg, #0d1c46 0%, #16336f 48%, #1a2f5c 100%);
}

/* 闸门铺校园水印 */
#gateSection::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url('../images/wm-04-hall.jpg');
    background-size: cover;
    background-position: center;
    opacity: 0.16;
    pointer-events: none;
}

#gateSection::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 0%, rgba(13, 28, 70, 0.55) 100%);
    pointer-events: none;
}

/* 闸门面板：玻璃质感 + 暖色边缘 */
.gate-panel {
    position: relative;
    z-index: 2;
    background: rgba(255, 255, 255, 0.10) !important;
    border: 1px solid rgba(255, 255, 255, 0.20) !important;
    box-shadow: 0 24px 70px rgba(6, 16, 42, 0.45) !important;
    backdrop-filter: blur(18px) saturate(140%);
    -webkit-backdrop-filter: blur(18px) saturate(140%);
    border-radius: 24px !important;
    overflow: visible !important;
}

/* 面板顶部暖色光条 */
.gate-panel::before {
    content: '';
    position: absolute;
    top: 0;
    left: 14%;
    right: 14%;
    height: 3px;
    border-radius: 0 0 3px 3px;
    background: linear-gradient(90deg, #f97316, #fbbf24 45%, #0d9488);
}

/* 品牌标题：暖色渐变字 */
.gate-brand {
    background: linear-gradient(96deg, #ffffff 0%, #ffd9c7 42%, #a7f3e4 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: #fff;
    letter-spacing: 5px;
}

/* 登录按钮：暖橙渐变，比原来的青紫更有温度 */
.gate-btn-submit {
    background: linear-gradient(135deg, #f97316 0%, #e05a2b 52%, #c2410c 100%) !important;
    box-shadow: 0 8px 22px rgba(217, 72, 15, 0.34) !important;
    transition: transform .25s ease, box-shadow .25s ease, filter .25s ease;
}

.gate-btn-submit:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 30px rgba(217, 72, 15, 0.44) !important;
    filter: brightness(1.06);
}

/* 退出按钮改成青绿描边 */
.gate-btn-ghost {
    border-color: rgba(94, 234, 212, 0.5) !important;
    color: #99f6e4 !important;
    background: rgba(13, 148, 136, 0.12) !important;
}

.gate-btn-ghost:hover {
    background: rgba(13, 148, 136, 0.24) !important;
}

/* 输入框：玻璃 + 聚焦时暖色描边 */
.gate-input-wrap {
    background: rgba(255, 255, 255, 0.10) !important;
    border: 1px solid rgba(255, 255, 255, 0.22) !important;
    transition: border-color .25s ease, box-shadow .25s ease, background .25s ease;
}

.gate-input-wrap:focus-within {
    border-color: rgba(249, 115, 22, 0.75) !important;
    background: rgba(255, 255, 255, 0.15) !important;
    box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.18) !important;
}

/* 12.2 文件空间：整体提亮 + 彩色点缀 */
.fs-toolbar {
    position: relative;
    border-radius: var(--radius-lg);
    background: linear-gradient(110deg, #ffffff 0%, #fbfdff 55%, #f2fbfa 100%);
    border: 1px solid rgba(29, 78, 216, 0.10);
    box-shadow: var(--shadow-sm);
}

.fs-crumb {
    color: var(--color-primary);
}

/* 文件类型图标按类型上色 */
.fs-file-btn {
    transition: transform .2s ease, box-shadow .2s ease;
}

.fs-file-btn:hover {
    transform: translateY(-2px);
}

/* 侧边/分栏区块加淡彩底 */
.fs-panel,
.fs-side {
    background: linear-gradient(150deg, #ffffff, #fbfcfe) !important;
    border-color: rgba(29, 78, 216, 0.10) !important;
}

/* 成员行：左侧青绿色条 */
.fs-member-row {
    border-color: rgba(13, 148, 136, 0.24) !important;
    background: linear-gradient(100deg, #f4fdfc, #fff 60%) !important;
    box-shadow: 0 1px 3px rgba(13, 148, 136, 0.06);
}

.fs-member-row:hover {
    border-color: rgba(13, 148, 136, 0.45) !important;
    box-shadow: 0 4px 12px rgba(13, 148, 136, 0.10);
}

/* 头像：青绿渐变 */
.fs-avatar {
    background: linear-gradient(135deg, #0d9488, #2dd4bf) !important;
    color: #fff !important;
}

/* 文件/文件夹卡片 hover 时的暖色高光 */
.fs-item,
.fs-card {
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.fs-item:hover,
.fs-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 26px rgba(29, 78, 216, 0.12);
    border-color: rgba(232, 115, 74, 0.34) !important;
}

/* 学习资源页页头也换成校园图 */
.learning-header-wm::before {
    background-image: url('../images/wm-06-sunset.jpg');
}

/* ---------------------------------------------------------------
   13. 页脚 —— 校园水印 + 暖色点缀
   ---------------------------------------------------------------
   重点：文字必须清晰。水印要能看见，但不能盖住字的对比度。
   做法：水印层下方垫一层深色渐变，文字再叠一层半透明暗底。
   --------------------------------------------------------------- */
.footer {
    position: relative;
    isolation: isolate;
    background: linear-gradient(160deg, #0e2352 0%, #14336f 45%, #0f3a52 100%) !important;
}

.footer::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background-image: url('../images/wm-10-venue.jpg');
    background-size: cover;
    background-position: center 40%;
    opacity: 0.30;
    filter: grayscale(0.4) brightness(0.72) contrast(1.1);
    pointer-events: none;
}

/* 水印之上再压一层深色渐变，保证文字对比度 */
.footer::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background:
        linear-gradient(180deg, rgba(10, 26, 60, 0.72) 0%, rgba(12, 30, 68, 0.66) 50%, rgba(9, 34, 58, 0.74) 100%),
        radial-gradient(560px 260px at 8% 0%, rgba(249, 115, 22, 0.24), transparent 66%),
        radial-gradient(520px 240px at 92% 100%, rgba(13, 148, 136, 0.24), transparent 68%);
}

.footer-subtitle {
    color: #fff;
    position: relative;
    text-shadow: 0 1px 6px rgba(4, 12, 32, 0.5);
}

.footer-subtitle::after {
    content: '';
    display: block;
    width: 28px;
    height: 3px;
    margin-top: 9px;
    border-radius: 2px;
    background: linear-gradient(90deg, #f97316, #0d9488);
}

.footer-links a {
    color: rgba(240, 244, 255, 0.95);
    font-size: 0.9rem;
    letter-spacing: 0.2px;
    position: relative;
    display: inline-block;
    padding: 3px 0;
    text-shadow: 0 1px 5px rgba(4, 12, 32, 0.55);
    transition: color var(--transition), transform var(--transition);
}

/* 链接前的小圆点，hover 时点亮并右移 */
.footer-links a::before {
    content: '';
    display: inline-block;
    width: 5px;
    height: 5px;
    margin-right: 8px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.45);
    vertical-align: middle;
    transition: background var(--transition), box-shadow var(--transition);
}

.footer-links a:hover {
    color: #fff;
    transform: translateX(3px);
}

.footer-links a:hover::before {
    background: #f97316;
    box-shadow: 0 0 8px rgba(249, 115, 22, 0.9);
}

/* 联系方式行：图标与文字分开排 */
.footer-contact li {
    display: flex;
    align-items: center;
    gap: 9px;
    color: rgba(240, 244, 255, 0.92);
    font-size: 0.9rem;
    padding: 4px 0;
    text-shadow: 0 1px 5px rgba(4, 12, 32, 0.55);
}

.footer-contact svg {
    color: #5eead4;
    flex: 0 0 auto;
    filter: drop-shadow(0 1px 3px rgba(4, 12, 32, 0.5));
}

/* 页脚分隔线用双色 */
.footer-top {
    border-bottom-color: rgba(255, 255, 255, 0.14) !important;
}

.footer-bottom p {
    color: rgba(226, 232, 255, 0.6) !important;
}

/* ---------------------------------------------------------------
   14. 通用小件 —— 链接与按钮的活力点缀
   --------------------------------------------------------------- */
.more-link {
    color: var(--color-warm) !important;
    font-weight: 600;
}

.more-link:hover {
    color: var(--color-daily) !important;
}

.btn-primary {
    background: linear-gradient(135deg, #2563eb, #1d4ed8);
}

.btn-primary:hover {
    background: linear-gradient(135deg, #f97316, #e05a2b);
    box-shadow: 0 10px 26px rgba(217, 72, 15, 0.28);
}

.nav-link:hover,
.nav-item.active > .nav-link {
    color: var(--color-warm);
}

/* ---------------------------------------------------------------
   15. 响应式
   --------------------------------------------------------------- */
@media (max-width: 768px) {
    .daily-entry {
        flex-wrap: wrap;
        gap: 12px;
        padding: 16px 18px;
    }

    .daily-arrow {
        display: none;
    }

    .daily-title {
        font-size: 0.95rem;
    }

    .daily-entry::before {
        right: -20%;
        opacity: 0.10;
    }

    .wm-layer::before {
        background-attachment: scroll;
    }

    .page-header::before {
        opacity: 0.08;
    }
}

@media (max-width: 480px) {
    .daily-badge {
        font-size: 0.78rem;
        padding: 7px 12px;
    }
}

/* ---------------------------------------------------------------
   16. 移动端菜单兜底
   ---------------------------------------------------------------
   .mobile-menu 靠 translateX(100%) 移到屏外隐藏，但历史补丁里有过
   覆盖它 transform 的规则，导致它残留在页面上（页头上提后更明显）。
   这里显式保证：未加 .open 时一律移出视口且不可见。
   --------------------------------------------------------------- */
.mobile-menu {
    transform: translateX(100%) !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: transform .3s cubic-bezier(.4, 0, .2, 1), opacity .25s ease, visibility .25s !important;
}

.mobile-menu.open {
    transform: translateX(0) !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}

/* ---------------------------------------------------------------
   17. 动态列表 · 最终版（覆盖 v4 的 a.tl-item 卡片式布局）
   ---------------------------------------------------------------
   v4.css 里 a.tl-item 是 grid 布局(日期列+内容)并带完整卡片边框，
   元素选择器优先级高于我之前的 .tl-body 类选择器，导致边框去不掉。
   这里用同优先级重写成紧凑行式：日期独立一行、无卡片、
   细线分隔、左侧渐变竖条。
   --------------------------------------------------------------- */
a.tl-item,
.tl-item {
    display: block !important;
    grid-template-columns: none !important;
    align-items: stretch !important;
    gap: 0 !important;
    padding: 13px 0 14px !important;
    margin-bottom: 0 !important;
    border: none !important;
    border-bottom: 1px solid rgba(29, 78, 216, 0.11) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    transition: background .2s ease;
}

a.tl-item:last-child {
    border-bottom: none !important;
}

a.tl-item:hover {
    background: linear-gradient(90deg, rgba(249, 115, 22, 0.045), transparent 55%) !important;
    border-color: rgba(29, 78, 216, 0.11) !important;
    box-shadow: none !important;
    transform: none !important;
}

/* 关掉 v4 的竖线与圆点伪元素 */
a.tl-item::before,
a.tl-item::after {
    display: none !important;
}

/* 日期：独立一行 */
a.tl-item .tl-date,
.tl-item .tl-date {
    position: static !important;
    display: block !important;
    width: auto !important;
    margin-bottom: 3px !important;
    text-align: left !important;
}

a.tl-item .tl-date strong {
    display: none !important;
}

a.tl-item .tl-date span,
.tl-item .tl-date span {
    font-size: 0.76rem !important;
    color: #a3adbd !important;
    letter-spacing: .5px;
    font-variant-numeric: tabular-nums;
}

/* 内容块：彻底无边框 */
a.tl-item .tl-body,
.tl-item .tl-body {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
}

/* 标题前的标记 */
a.tl-item .tl-mark,
.tl-item .tl-mark {
    display: inline-block !important;
    width: 5px;
    height: 5px;
    border-radius: 1px;
    background: var(--color-primary);
    margin-right: 8px;
    vertical-align: middle;
    transform: translateY(-1px);
}

/* 标签 */
a.tl-item .tl-tag,
.tl-item .tl-tag {
    display: inline-block !important;
    margin: 0 7px 0 0 !important;
    padding: 1px 8px;
    border-radius: 4px;
    background: rgba(29, 78, 216, .09);
    color: var(--color-primary);
    font-size: .7rem;
    font-weight: 600;
    white-space: nowrap;
    vertical-align: 2px;
}

/* 标题 */
a.tl-item .tl-title,
.tl-item .tl-title {
    display: inline !important;
    margin: 0 !important;
    font-size: 1rem !important;
    font-weight: 650;
    line-height: 1.55;
    color: var(--color-dark);
}

/* 摘要 */
a.tl-item .tl-desc,
.tl-item .tl-desc {
    display: block !important;
    margin: 2px 0 0 !important;
    font-size: .82rem !important;
    line-height: 1.7 !important;
    color: var(--color-gray);
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* 查看详情 */
a.tl-item .tl-more,
.tl-item .tl-more {
    display: inline-block;
    margin-top: 4px;
    font-size: .78rem;
    color: var(--color-primary);
    opacity: 0;
    transform: translateX(-4px);
    transition: opacity var(--transition), transform var(--transition);
}

a.tl-item:hover .tl-more {
    opacity: 1;
    transform: translateX(0);
}

/* ---------------------------------------------------------------
   18. button 形态的动态行 —— 与 a.news-row 保持完全一致的排版
   （浏览器默认 button 有边框/背景/字体，需要全部重置）
   --------------------------------------------------------------- */
button.news-row,
button.news-row-btn {
    display: flex;
    align-items: center;
    gap: 14px;
    width: 100%;
    padding: 14px 18px;
    margin: 0;
    border: none;
    border-radius: 12px;
    background: transparent;
    font: inherit;
    color: inherit;
    text-align: left;
    cursor: pointer;
    transition: background .22s ease, transform .22s ease, box-shadow .22s ease;
}

button.news-row:hover {
    background: rgba(29, 78, 216, 0.045) !important;
    transform: translateX(3px);
}

button.news-row:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

button.news-row .news-row-src,
button.news-row .news-row-title,
button.news-row .news-row-date {
    all: unset;
}

button.news-row .news-row-src {
    display: inline-block;
    flex: 0 0 auto;
    padding: 3px 12px;
    border-radius: 999px;
    font-size: .78rem;
    font-weight: 600;
    color: #fff;
    background: linear-gradient(135deg, #3b6ef5, #1d4ed8);
}

button.news-row .news-row-title {
    display: inline-block;
    flex: 1 1 auto;
    min-width: 0;
    font-size: .95rem;
    font-weight: 500;
    color: var(--color-dark);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

button.news-row .news-row-date {
    display: inline-block;
    flex: 0 0 auto;
    font-size: .82rem;
    color: #98a2b3;
    font-variant-numeric: tabular-nums;
}

/* ---------------------------------------------------------------
   19. 分类标签 —— 华为风格实色胶囊
   ---------------------------------------------------------------
   原样式是蓝紫渐变 + 圆角胶囊，过于花哨。
   改为华为官网那种：纯色实底、白字、略小的圆角(4px)、
   字号 12px、字重 600、字间距 0.5px，整体克制有力。
   不同分类用不同实色（同一色系深浅），不再用渐变。
   --------------------------------------------------------------- */
.news-row-src,
.news-lead-tag,
.tl-tag {
    border-radius: 4px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: .5px;
    padding: 3px 9px !important;
    color: #fff !important;
    background: #1d4ed8 !important;
    box-shadow: none !important;
    text-shadow: none !important;
    display: inline-block;
    line-height: 1.5;
    white-space: nowrap;
}

/* 各分类配色（按标签文字自动匹配，JS 会加 data-cat） */
.news-row-src[data-cat="竞赛成果"],
.tl-tag[data-cat="竞赛成果"] { background: #b45309 !important; }   /* 琥珀棕 */
.news-row-src[data-cat="工作室活动"],
.tl-tag[data-cat="工作室活动"] { background: #0d9488 !important; } /* 青绿 */
.news-row-src[data-cat="系统上线"],
.tl-tag[data-cat="系统上线"] { background: #1d4ed8 !important; }   /* 主蓝 */
.news-row-src[data-cat="工作室介绍"],
.tl-tag[data-cat="工作室介绍"] { background: #6d28d9 !important; } /* 深紫 */
.news-row-src[data-cat="纳新公告"],
.tl-tag[data-cat="纳新公告"] { background: #b45309 !important; }   /* 琥珀棕 */

/* 头条角标 */
.news-lead-tag {
    border-radius: 4px !important;
    padding: 4px 10px !important;
    font-size: 12px !important;
    letter-spacing: 1px;
    background: #1d4ed8 !important;
}

/* 荣誉墙的分类（若有） */
.honor-meta { letter-spacing: .3px; }

/* ---------------------------------------------------------------
   20. 团队板块 —— 华为式大图卡片布局
   ---------------------------------------------------------------
   参考华为官网：左主图大卡（通栏高），右侧上下两张小卡；
   卡片为浅色圆角容器，媒体在上、文案在下，文案居中，
   底部是红色「了解更多 ›」链接。
   --------------------------------------------------------------- */
.team-showcase {
    display: grid;
    grid-template-columns: 1.15fr 1fr;
    grid-template-rows: repeat(2, 1fr);
    gap: 18px;
    margin-bottom: 34px;
}

.team-card {
    position: relative;
    display: flex;
    flex-direction: column;
    margin: 0;
    border-radius: var(--radius-lg);
    overflow: hidden;
    background: linear-gradient(150deg, #ffffff 0%, #fbfcfe 60%, #f4fbfa 100%);
    border: 1px solid rgba(29, 78, 216, 0.09);
    box-shadow: 0 2px 12px rgba(16, 24, 40, 0.05);
    transition: transform .34s cubic-bezier(.4, 0, .2, 1), box-shadow .34s, border-color .34s;
}

.team-card:hover {
    transform: translateY(-4px);
    border-color: rgba(29, 78, 216, 0.20);
    box-shadow: 0 18px 40px rgba(16, 24, 40, 0.12);
}

/* 主图卡：跨两行 */
.team-card-hero {
    grid-row: span 2;
}

.team-card-media {
    position: relative;
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    background: #eef1f6;
}

.team-card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 1.2s cubic-bezier(.2, .7, .3, 1);
}

.team-card:hover .team-card-media img {
    transform: scale(1.05);
}

/* 媒体底部渐隐，保证叠字可读 */
.team-card-media::after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(to top, rgba(6, 16, 40, 0.42) 0%, transparent 42%);
}

.team-card-body {
    flex: 0 0 auto;
    padding: 20px 24px 22px;
    text-align: center;
}

.team-card-title {
    margin: 0 0 8px;
    font-size: 1.12rem;
    font-weight: 650;
    line-height: 1.5;
    color: var(--color-dark);
    letter-spacing: .3px;
}

.team-card-desc {
    margin: 0 0 12px;
    font-size: 0.86rem;
    line-height: 1.75;
    color: var(--color-gray);
}

/* 华为式「了解更多 ›」 */
.team-card-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.86rem;
    font-weight: 600;
    color: #d9261c;
    letter-spacing: .3px;
    transition: gap .24s ease, color .24s ease;
}

.team-card-link i {
    font-style: normal;
    font-size: 1.05rem;
    line-height: 1;
    transition: transform .24s ease;
}

.team-card:hover .team-card-link {
    gap: 7px;
    color: #b91c1c;
}

.team-card:hover .team-card-link i {
    transform: translateX(2px);
}

/* ---------------------------------------------------------------
   21. 团队简介 —— 去掉突兀的色块，改成优雅的引用式排版
   --------------------------------------------------------------- */
.team-intro {
    position: relative;
    max-width: 820px;
    margin: 0 auto;
    padding: 30px 40px 28px;
    text-align: center;
    border-radius: var(--radius-lg);
    background: linear-gradient(140deg, #fbfcfe 0%, #f7f9fc 52%, #f3fbfa 100%);
    border: 1px solid rgba(29, 78, 216, 0.08);
}

/* 左侧的引号装饰线 */
.team-intro::before {
    content: '';
    position: absolute;
    left: 0;
    top: 28px;
    bottom: 28px;
    width: 3px;
    border-radius: 0 3px 3px 0;
    background: linear-gradient(to bottom, #1d4ed8, #0d9488);
}

.team-intro-lead {
    margin: 0 0 10px;
    font-size: 1rem;
    line-height: 2;
    color: var(--color-dark-2);
    letter-spacing: .3px;
}

.team-intro-sub {
    margin: 0;
    font-size: 1.06rem;
    line-height: 1.9;
    color: var(--color-gray);
    letter-spacing: .4px;
}

.team-intro-sub strong {
    color: var(--color-primary);
    font-weight: 650;
    letter-spacing: .6px;
}

/* 旧的 team-desc 兜底（其它页面可能还在用） */
.team-desc {
    text-align: center;
    color: var(--color-gray);
    font-size: 0.95rem;
    max-width: 780px;
    margin: 30px auto 0;
    line-height: 2;
}

@media (max-width: 900px) {
    .team-showcase {
        grid-template-columns: 1fr;
        grid-template-rows: none;
    }

    .team-card-hero {
        grid-row: auto;
    }

    .team-card-media {
        min-height: 240px;
    }

    .team-intro {
        padding: 24px 26px 22px;
    }
}

/* ---------------------------------------------------------------
   22. 工作室动态 —— 三栏布局
   ---------------------------------------------------------------
   左：头条大图（略放大）  中：动态列表  右：校园实景 + 工作室简介
   --------------------------------------------------------------- */
.news-portal {
    display: grid;
    grid-template-columns: 1.12fr 1fr 0.72fr;
    gap: 22px;
    align-items: start;
}

/* 头条图：稍微放大 */
.news-lead {
    border-radius: var(--radius-lg);
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(29, 78, 216, 0.09);
    box-shadow: 0 3px 16px rgba(16, 24, 40, 0.06);
    transition: transform .3s cubic-bezier(.4, 0, .2, 1), box-shadow .3s, border-color .3s;
}

.news-lead:hover {
    transform: translateY(-4px);
    border-color: rgba(29, 78, 216, 0.20);
    box-shadow: 0 16px 38px rgba(16, 24, 40, 0.13);
}

.news-lead-cover {
    position: relative;
    aspect-ratio: 4 / 3.1;
    overflow: hidden;
}

.news-lead-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 1s cubic-bezier(.2, .7, .3, 1);
}

.news-lead:hover .news-lead-cover img {
    transform: scale(1.045);
}

/* 头条角标：华为风格实色 */
.news-lead-tag {
    border-radius: 4px !important;
    padding: 4px 10px !important;
    font-size: 12px !important;
    font-weight: 600;
    letter-spacing: 1px;
    background: #1d4ed8 !important;
    box-shadow: none !important;
}

.news-lead-body {
    padding: 20px 22px 22px;
}

.news-lead-title {
    font-size: 1.14rem;
    line-height: 1.5;
    margin-bottom: 9px;
}

.news-lead-desc {
    font-size: 0.88rem;
    line-height: 1.8;
    color: var(--color-gray);
    margin-bottom: 14px;
}

/* 动态列表栏 */
.news-side-list {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

/* 去掉分类标签后的行样式 */
.news-side-list .news-row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 15px 18px;
    border-radius: 12px;
    background: transparent;
    border: none;
    border-bottom: 1px solid rgba(29, 78, 216, 0.09);
    font: inherit;
    color: inherit;
    text-align: left;
    width: 100%;
    cursor: pointer;
    transition: background .22s ease, transform .22s ease;
}

.news-side-list .news-row:last-child {
    border-bottom: none;
}

.news-side-list .news-row:hover {
    background: rgba(29, 78, 216, 0.045);
    transform: translateX(4px);
}

.news-side-list .news-row-title {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 0.94rem;
    font-weight: 500;
    color: var(--color-dark);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.news-side-list .news-row-date {
    flex: 0 0 auto;
    font-size: 0.8rem;
    color: #98a2b3;
    font-variant-numeric: tabular-nums;
}

/* ---------------------------------------------------------------
   23. 右侧栏：校园实景 + 简介
   --------------------------------------------------------------- */
.news-aside {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.news-aside-gallery {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.news-aside-shot {
    position: relative;
    margin: 0;
    border-radius: var(--radius-md, 12px);
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(16, 24, 40, 0.07);
    border: 1px solid rgba(29, 78, 216, 0.08);
}

.news-aside-shot img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    transition: transform .9s cubic-bezier(.2, .7, .3, 1);
}

.news-aside-shot:hover img {
    transform: scale(1.05);
}

/* 简介卡 */
.news-aside-intro {
    position: relative;
    padding: 22px 22px 20px;
    border-radius: var(--radius-md, 12px);
    background: linear-gradient(150deg, #ffffff 0%, #fbfcfe 58%, #f3fbfa 100%);
    border: 1px solid rgba(29, 78, 216, 0.09);
    box-shadow: 0 2px 10px rgba(16, 24, 40, 0.045);
    overflow: hidden;
}

/* 卡片水印 */
.news-aside-intro::before {
    content: '';
    position: absolute;
    right: -18%;
    bottom: -22%;
    width: 170px;
    height: 170px;
    border-radius: 50%;
    background: url('../images/wm-01-gate.jpg') center/cover;
    opacity: 0.08;
    pointer-events: none;
    -webkit-mask-image: radial-gradient(circle at 50% 50%, #000 40%, transparent 74%);
    mask-image: radial-gradient(circle at 50% 50%, #000 40%, transparent 74%);
}

.news-aside-eyebrow {
    position: relative;
    display: block;
    margin-bottom: 10px;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 1.6px;
    color: var(--color-warm);
}

.news-aside-text {
    position: relative;
    margin: 0 0 14px;
    font-size: 0.88rem;
    line-height: 1.9;
    color: var(--color-dark-2);
}

.news-aside-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.85rem;
    font-weight: 600;
    color: #d9261c;
    transition: gap .24s ease, color .24s ease;
}

.news-aside-link i {
    font-style: normal;
    font-size: 1.05rem;
    line-height: 1;
    transition: transform .24s ease;
}

.news-aside-link:hover {
    gap: 7px;
    color: #b91c1c;
}

.news-aside-link:hover i {
    transform: translateX(2px);
}

@media (max-width: 1080px) {
    .news-portal {
        grid-template-columns: 1fr 1fr;
    }

    .news-aside {
        grid-column: span 2;
        flex-direction: row;
    }

    .news-aside-gallery {
        flex: 1 1 46%;
    }

    .news-aside-intro {
        flex: 1 1 54%;
        align-self: stretch;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
}

@media (max-width: 720px) {
    .news-portal {
        grid-template-columns: 1fr;
    }

    .news-aside {
        grid-column: auto;
        flex-direction: column;
    }
}

/* ---------------------------------------------------------------
   24. 局部修正
   --------------------------------------------------------------- */

/* 学习资源页是全屏工作台，不需要常规页脚 */
body.fs-body .footer {
    display: none !important;
}

/* 报名成功提示：默认隐藏，提交成功后由 JS 显示 */
.form-success {
    display: none !important;
    margin-top: 20px;
    padding: 22px 24px;
    border-radius: var(--radius-lg);
    background: linear-gradient(140deg, #ecfdf5, #f0fdfa);
    border: 1px solid rgba(13, 148, 136, 0.28);
    box-shadow: 0 6px 20px rgba(13, 148, 136, 0.10);
}

.form-success.is-on,
.form-success[style*="display: block"],
.form-success[style*="display:block"] {
    display: block !important;
}

.form-success h3 {
    color: #0f766e;
    font-size: 1.08rem;
    font-weight: 650;
    margin-bottom: 6px;
}

.form-success p {
    color: #0d9488;
    font-size: 0.9rem;
    line-height: 1.75;
}

.form-success .check-icon {
    color: #0d9488;
    margin-bottom: 8px;
}

/* ---------------------------------------------------------------
   25. 工作室动态 —— 中栏荣誉速览（填补列表下方空白）
   --------------------------------------------------------------- */
.news-side-list {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.news-honor {
    margin-top: auto;
    padding-top: 22px;
}

.news-honor-head {
    display: flex;
    align-items: baseline;
    gap: 9px;
    margin-bottom: 13px;
    padding-bottom: 11px;
    border-bottom: 1px solid rgba(29, 78, 216, 0.11);
}

.news-honor-eyebrow {
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 1.6px;
    color: var(--color-warm);
}

.news-honor-title {
    font-size: 0.95rem;
    font-weight: 650;
    color: var(--color-dark);
    letter-spacing: .4px;
}

.news-honor-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}

.news-honor-item {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 13px 14px;
    border-radius: 11px;
    background: linear-gradient(140deg, #ffffff 0%, #fbfcfe 100%);
    border: 1px solid rgba(29, 78, 216, 0.09);
    box-shadow: 0 1px 6px rgba(16, 24, 40, 0.035);
    text-decoration: none;
    transition: transform .24s cubic-bezier(.4, 0, .2, 1), box-shadow .24s, border-color .24s;
}

.news-honor-item:hover {
    transform: translateY(-3px);
    border-color: rgba(249, 115, 22, 0.30);
    box-shadow: 0 8px 20px rgba(16, 24, 40, 0.09);
}

/* 奖级徽标：实色小方块 */
.news-honor-badge {
    align-self: flex-start;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: .6px;
    color: #fff;
    background: #b45309;
}

.news-honor-item:nth-child(1) .news-honor-badge { background: #be123c; }
.news-honor-item:nth-child(2) .news-honor-badge { background: #b45309; }
.news-honor-item:nth-child(3) .news-honor-badge { background: #475569; }
.news-honor-item:nth-child(4) .news-honor-badge { background: #0d9488; }

.news-honor-name {
    font-size: 0.82rem;
    font-weight: 500;
    line-height: 1.55;
    color: var(--color-dark-2);
}

/* ---------------------------------------------------------------
   26. 工作室动态右栏 —— 2×2 网格
   ---------------------------------------------------------------
   左上：一张大图（湖景）      右上：一张图（运动场）
   左下：一张图（校门）        右下：About ZY Studio 文字框
   --------------------------------------------------------------- */
.news-aside {
    display: grid;
    /* 左列略窄、右列略宽，右下文字框才有足够横向空间 */
    grid-template-columns: 0.85fr 1.15fr;
    grid-template-rows: auto 1fr;
    gap: 12px;
    align-content: start;
}

/* 左上大图：跨两行 */
.news-aside-big {
    grid-row: 1 / span 2;
    grid-column: 1;
}

/* 右上图 */
.news-aside > .news-aside-shot:nth-of-type(2) {
    grid-row: 1;
    grid-column: 2;
}

/* 左下图 */
.news-aside > .news-aside-shot:nth-of-type(3) {
    grid-row: 2;
    grid-column: 1;
}

/* 右下文字框 */
.news-aside-intro {
    grid-row: 2;
    grid-column: 2;
}

.news-aside-shot {
    margin: 0;
    border-radius: 11px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(16, 24, 40, 0.07);
    border: 1px solid rgba(29, 78, 216, 0.08);
    min-height: 0;
}

.news-aside-shot img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    transition: transform .9s cubic-bezier(.2, .7, .3, 1);
}

/* 左上大图：填满跨两行的高度 */
.news-aside-big img {
    aspect-ratio: auto;
    height: 100%;
    min-height: 260px;
}

.news-aside-shot:hover img {
    transform: scale(1.06);
}

/* 左上大图：占 2 行 1 列 */
.news-aside-big {
    grid-row: span 2;
}

/* 文字框占右下角 */
.news-aside-intro {
    grid-column: 2;
    grid-row: 2;
    position: relative;
    padding: 18px 18px 16px;
    border-radius: 11px;
    background: linear-gradient(150deg, #ffffff 0%, #fbfcfe 58%, #f3fbfa 100%);
    border: 1px solid rgba(29, 78, 216, 0.09);
    box-shadow: 0 2px 10px rgba(16, 24, 40, 0.045);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.news-aside-intro::before {
    content: '';
    position: absolute;
    right: -20%;
    bottom: -26%;
    width: 140px;
    height: 140px;
    border-radius: 50%;
    background: url('../images/wm-01-gate.jpg') center/cover;
    opacity: 0.07;
    pointer-events: none;
    -webkit-mask-image: radial-gradient(circle at 50% 50%, #000 40%, transparent 74%);
    mask-image: radial-gradient(circle at 50% 50%, #000 40%, transparent 74%);
}

.news-aside-eyebrow {
    position: relative;
    display: block;
    margin-bottom: 7px;
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 1.5px;
    color: var(--color-warm);
}

.news-aside-text {
    position: relative;
    margin: 0 0 10px;
    font-size: 0.8rem;
    line-height: 1.8;
    color: var(--color-dark-2);
}

.news-aside-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.8rem;
    font-weight: 600;
    color: #d9261c;
    transition: gap .24s ease, color .24s ease;
}

.news-aside-link i {
    font-style: normal;
    font-size: 1rem;
    line-height: 1;
}

.news-aside-link:hover { gap: 7px; color: #b91c1c; }
.news-aside-link:hover i { transform: translateX(2px); }

/* 中栏：只有动态列表，底部不再有荣誉模块 */
.news-side-list {
    height: auto;
}

/* 响应式 */
@media (max-width: 1080px) {
    .news-aside {
        grid-template-columns: repeat(4, 1fr);
        grid-template-rows: auto;
    }

    .news-aside-big {
        grid-row: auto;
        grid-column: span 2;
    }

    .news-aside-intro {
        grid-column: span 2;
        grid-row: auto;
    }
}

@media (max-width: 720px) {
    .news-aside {
        grid-template-columns: 1fr 1fr;
    }

    .news-aside-big {
        grid-column: span 2;
    }

    .news-aside-intro {
        grid-column: span 2;
    }
}

/* ---------------------------------------------------------------
   27. 工作室动态 —— 最终布局
   ---------------------------------------------------------------
   左：头条大图（占 2/3）   右：两张校园图（横排）+ About ZY Studio 文字框
   中间不再有动态列表
   --------------------------------------------------------------- */
.news-portal {
    grid-template-columns: 1.35fr 1fr;
    gap: 24px;
    align-items: stretch;
}

/* 右栏：上排两张图横排，下排 About 文字框 */
.news-aside {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto 1fr;
    gap: 12px;
    align-content: start;
}

/* 两张图分别占左上、右上 */
.news-aside > .news-aside-shot:nth-of-type(1) {
    grid-row: 1;
    grid-column: 1;
}

.news-aside > .news-aside-shot:nth-of-type(2) {
    grid-row: 1;
    grid-column: 2;
}

/* About 文字框横跨两列，放第二行 */
.news-aside-intro {
    grid-row: 2;
    grid-column: 1 / span 2;
    padding: 18px 22px 17px;
}

.news-aside-big img {
    aspect-ratio: 4 / 3;
    height: auto;
    min-height: 0;
}

.news-aside-text {
    font-size: 0.84rem;
    line-height: 1.85;
}

@media (max-width: 900px) {
    .news-portal {
        grid-template-columns: 1fr;
    }
}

/* ---------------------------------------------------------------
   28. 每日日报 —— 高级版
   ---------------------------------------------------------------
   结构：左日期牌 | 中标题说明+标签 | 右条目预览 | 箭头
   风格：深色玻璃卡 + 顶部双色渐变线 + 暖橙光晕 + 校园水印
   --------------------------------------------------------------- */
.daily-section {
    padding-top: 8px;
    padding-bottom: 18px;
}

.daily-entry {
    position: relative;
    display: flex;
    align-items: center;
    gap: 28px;
    padding: 24px 30px;
    border-radius: 20px;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    background: linear-gradient(112deg, #0f1e42 0%, #14295c 42%, #10304e 100%);
    border: 1px solid rgba(255, 255, 255, 0.10);
    box-shadow: 0 14px 40px rgba(10, 22, 52, 0.24);
    transition: transform .34s cubic-bezier(.4, 0, .2, 1), box-shadow .34s, border-color .34s;
}

.daily-entry:hover {
    transform: translateY(-4px);
    border-color: rgba(249, 115, 22, 0.42);
    box-shadow: 0 22px 56px rgba(10, 22, 52, 0.34);
}

/* 顶部双色渐变线 */
.daily-entry::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #f97316 0%, #fbbf24 22%, #3b6ef5 62%, #0d9488 100%);
}

/* 校园水印 */
.daily-entry::after {
    content: '';
    position: absolute;
    right: -6%;
    top: 50%;
    transform: translateY(-50%);
    width: 300px;
    height: 300px;
    background: url('../images/wm-01-gate.jpg') center/cover;
    opacity: 0.12;
    border-radius: 50%;
    pointer-events: none;
    -webkit-mask-image: radial-gradient(circle at 50% 50%, #000 38%, transparent 72%);
    mask-image: radial-gradient(circle at 50% 50%, #000 38%, transparent 72%);
    transition: transform .6s cubic-bezier(.4, 0, .2, 1);
}

.daily-entry:hover::after {
    transform: translateY(-50%) scale(1.12) rotate(5deg);
}

/* 暖色光晕 */
.daily-glow {
    position: absolute;
    left: 14%;
    top: 50%;
    transform: translateY(-50%);
    width: 260px;
    height: 200px;
    pointer-events: none;
    background: radial-gradient(ellipse at center, rgba(249, 115, 22, 0.26), transparent 70%);
}

/* ---- 左侧日期牌 ---- */
.daily-date {
    position: relative;
    z-index: 2;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 18px 12px 14px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.12);
}

.daily-date-day {
    font-size: 2.5rem;
    font-weight: 750;
    line-height: 1;
    letter-spacing: -1px;
    background: linear-gradient(160deg, #ffd9c7, #fb923c);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    font-variant-numeric: tabular-nums;
}

.daily-date-meta {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.daily-date-week {
    font-size: 0.84rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.92);
    letter-spacing: .5px;
}

.daily-date-month {
    font-size: 0.72rem;
    color: rgba(255, 255, 255, 0.52);
    letter-spacing: 1px;
}

/* ---- 中间文案 ---- */
.daily-text {
    position: relative;
    z-index: 2;
    flex: 1 1 auto;
    min-width: 0;
    /* 给中间文案更多空间 */
    max-width: 620px;
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.daily-title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 1.22rem;
    font-weight: 700;
    color: #fff;
    letter-spacing: .6px;
    line-height: 1.4;
}

/* 英文小标 */
.daily-title-badge {
    padding: 2px 9px;
    border-radius: 4px;
    font-size: 0.64rem;
    font-weight: 700;
    letter-spacing: 1.4px;
    color: #ffd9c7;
    background: rgba(249, 115, 22, 0.18);
    border: 1px solid rgba(249, 115, 22, 0.32);
}

.daily-desc {
    font-size: 0.86rem;
    line-height: 1.7;
    color: rgba(226, 234, 255, 0.72);
    max-width: 560px;
    /* 尽量排成两行以内，超出省略 */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* 标签组 */
.daily-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 2px;
}

.daily-tag {
    padding: 2px 9px;
    border-radius: 4px;
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: .4px;
    color: rgba(255, 255, 255, 0.82);
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.13);
}

/* ---- 右侧条目预览 ---- */
.daily-preview {
    position: relative;
    z-index: 2;
    flex: 0 1 290px;
    display: flex;
    flex-direction: column;
    gap: 9px;
    padding-left: 26px;
    border-left: 1px solid rgba(255, 255, 255, 0.12);
}

.daily-preview-item {
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: 0.8rem;
    color: rgba(226, 234, 255, 0.68);
    line-height: 1.5;
    transition: color .24s ease, transform .24s ease;
}

.daily-entry:hover .daily-preview-item {
    color: rgba(255, 255, 255, 0.92);
    transform: translateX(3px);
}

.daily-preview-dot {
    flex: 0 0 auto;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: linear-gradient(135deg, #fbbf24, #f97316);
    box-shadow: 0 0 7px rgba(249, 115, 22, 0.7);
}

.daily-preview-text {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ---- 右侧箭头 ---- */
.daily-arrow {
    position: relative;
    z-index: 2;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    color: #fff;
    background: linear-gradient(135deg, #f97316, #e05a2b);
    box-shadow: 0 6px 18px rgba(249, 115, 22, 0.36);
    transition: transform .3s cubic-bezier(.4, 0, .2, 1), box-shadow .3s;
}

.daily-entry:hover .daily-arrow {
    transform: translateX(6px);
    box-shadow: 0 10px 26px rgba(249, 115, 22, 0.48);
}

/* ---- 响应式 ---- */
@media (max-width: 1080px) {
    .daily-entry {
        flex-wrap: wrap;
        gap: 18px;
    }

    .daily-preview {
        flex: 1 1 100%;
        padding-left: 0;
        padding-top: 16px;
        border-left: none;
        border-top: 1px solid rgba(255, 255, 255, 0.12);
    }
}

@media (max-width: 640px) {
    .daily-entry {
        padding: 20px 18px;
        gap: 14px;
    }

    .daily-date {
        padding: 10px 14px 10px 12px;
    }

    .daily-date-day {
        font-size: 2rem;
    }

    .daily-title {
        font-size: 1.05rem;
    }

    .daily-arrow {
        width: 38px;
        height: 38px;
    }
}

/* ---------------------------------------------------------------
   29. 工作室动态右栏（最终）—— 一张大图 + About 文字框
   ---------------------------------------------------------------
   上：团队合影（放大）
   下：About ZY Studio，底部铺「运动场」实景水印
   --------------------------------------------------------------- */
.news-aside {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
    gap: 14px;
    align-content: start;
}

/* 大图：占据整行 */
.news-aside-lead {
    grid-row: 1;
    grid-column: 1;
}

.news-aside-lead img {
    aspect-ratio: 16 / 10;
    height: auto;
    min-height: 0;
    width: 100%;
}

/* About 框：整行 */
.news-aside-intro {
    grid-row: 2;
    grid-column: 1;
    position: relative;
    padding: 18px 22px 17px;
    border-radius: 12px;
    background: linear-gradient(150deg, #ffffff 0%, #fbfcfe 58%, #f3fbfa 100%);
    border: 1px solid rgba(29, 78, 216, 0.09);
    box-shadow: 0 2px 10px rgba(16, 24, 40, 0.045);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* 运动场实景水印：整幅铺满 About 框，下方渐隐 */
.news-aside-intro::before {
    content: '';
    position: absolute;
    inset: 0;
    background: url('../images/campus-08-field.jpg') center 72%/cover no-repeat;
    opacity: 0.17;
    pointer-events: none;
    -webkit-mask-image: linear-gradient(to top, #000 0%, rgba(0, 0, 0, .75) 34%, transparent 82%);
    mask-image: linear-gradient(to top, #000 0%, rgba(0, 0, 0, .75) 34%, transparent 82%);
}

/* 文字层在水印之上 */
.news-aside-eyebrow,
.news-aside-text,
.news-aside-link {
    position: relative;
    z-index: 1;
}

.news-aside-eyebrow {
    display: block;
    margin-bottom: 9px;
    /* 放大加粗，作为卡片的主标题 */
    font-size: 1.02rem;
    font-weight: 750;
    letter-spacing: 0.8px;
    color: var(--color-dark);
}

.news-aside-text {
    margin: 0 0 10px;
    /* 简介正文放大一点 */
    font-size: 0.88rem;
    line-height: 1.85;
    color: var(--color-dark-2);
}

.news-aside-link {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    align-self: flex-start;
    font-size: 0.74rem;
    font-weight: 600;
    color: #d9261c;
    transition: gap .24s ease, color .24s ease;
}

.news-aside-link i {
    font-style: normal;
    font-size: 0.88rem;
    line-height: 1;
    transition: transform .24s ease;
}

.news-aside-link:hover { gap: 7px; color: #b91c1c; }
.news-aside-link:hover i { transform: translateX(2px); }

/* ---------------------------------------------------------------
   30. 修正 v4.css 的强制白底
   ---------------------------------------------------------------
   v4.css 里有两条 !important 规则会破坏整体配色：
     .section { background: rgba(255,255,255,.82) !important }  ← 所有板块被刷白
     .page-header { background-color: revert !important }     ← 页头底色被重置
   下面用同等 !important 覆盖，保留 v5 设计的氛围底色。
   --------------------------------------------------------------- */

/* 板块：默认透明（由各板块自身的渐变控制） */
.section {
    background: transparent !important;
}

/* 带水印的板块：用自身的氛围渐变 */
.wm-layer.section {
    background: transparent !important;
}

/* 首页各板块的氛围底色重新声明（覆盖 v4 的白底） */
.stats-section {
    background: linear-gradient(180deg, #fdf3ee 0%, #f7f8fa 34%, #eef7f6 100%) !important;
}

.daily-section {
    background: linear-gradient(180deg, #fff8f4 0%, #fdfcfb 60%, #f2fbfa 100%) !important;
}

.news-section-wm {
    background: linear-gradient(180deg, #f4f7ff 0%, #f8f9fc 55%, #fdf7f4 100%) !important;
}

.team-section {
    background: linear-gradient(180deg, #f0faf8 0%, #f7f8fa 52%, #eef3ff 100%) !important;
}

.cta-section {
    background: linear-gradient(180deg, #fdf4ee 0%, #f7f8fa 60%, #eef3ff 100%) !important;
}

.lr-intro-section {
    background:
        radial-gradient(760px 380px at 8% 0%, rgba(29, 78, 216, 0.07), transparent 62%),
        radial-gradient(700px 340px at 92% 18%, rgba(13, 148, 136, 0.07), transparent 64%),
        linear-gradient(180deg, #fbfcfe 0%, #f7f8fa 100%) !important;
}

/* 页脚：深色渐变 + 校园水印，背景不再被 revert 掉 */
.footer {
    background: linear-gradient(160deg, #0e2352 0%, #14336f 45%, #0f3a52 100%) !important;
    color: #fff;
}

/* 页脚内容区：给一层深色，保证文字对比度 */
.footer-top,
.footer-bottom {
    position: relative;
    z-index: 1;
}

/* ---------------------------------------------------------------
   31. 页脚背景最终修正
   ---------------------------------------------------------------
   v4.css 有两条 !important 会拆掉页脚背景：
     7702 行 .footer { background: 渐变 !important }   ← 简写会重置 background-color
     7935 行 .footer { background-color: #0c1430 !important }
   两条叠加后，渐变里的 background-image 被第二条的 background-color 简写覆盖，
   于是页脚只剩一块纯色甚至透出 body 白底。
   这里同时给出 background-image 和 background-color，优先级更高。
   --------------------------------------------------------------- */
.footer {
    background-color: #0e2352 !important;
    background-image:
        radial-gradient(700px 400px at 15% 0%, rgba(249, 115, 22, .16) 0%, rgba(249, 115, 22, 0) 60%),
        radial-gradient(700px 400px at 85% 100%, rgba(13, 148, 136, .18) 0%, rgba(13, 148, 136, 0) 60%),
        linear-gradient(165deg, #12285a 0%, #0d1a3c 100%) !important;
    color: rgba(226, 232, 255, 0.82) !important;
}

/* 页脚内部各层：水印与光晕 */
.footer::before,
.footer::after {
    z-index: 0;
}

.footer-top,
.footer-bottom {
    position: relative;
    z-index: 1;
}

/* ---------------------------------------------------------------
   32. 页脚收尾 + 回到顶部按钮
   ---------------------------------------------------------------
   1) 页脚底部加一条深色封边，滚到底时不会露出 body 浅灰底
   2) 回到顶部按钮原本是白底方块，压在深色页脚上很跳，改成半透明玻璃圆钮
   --------------------------------------------------------------- */
.footer {
    padding-bottom: 0 !important;
}

.footer-bottom {
    padding-bottom: 26px !important;
}

/* 页脚底部再加一层深色，收口 */
.footer::after {
    background:
        linear-gradient(180deg, rgba(10, 22, 52, 0) 0%, rgba(10, 22, 52, 0.5) 100%),
        radial-gradient(620px 260px at 8% 0%, rgba(249, 115, 22, 0.22), transparent 66%),
        radial-gradient(560px 240px at 92% 100%, rgba(13, 148, 136, 0.22), transparent 68%) !important;
}

/* 回到顶部按钮：深色玻璃圆钮 */
.back-to-top {
    background: rgba(20, 40, 82, 0.82) !important;
    color: #fff !important;
    border: 1px solid rgba(255, 255, 255, 0.22) !important;
    box-shadow: 0 6px 20px rgba(8, 18, 42, 0.34) !important;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    transition: transform .25s ease, background .25s ease, box-shadow .25s ease;
}

.back-to-top:hover {
    background: linear-gradient(135deg, #f97316, #e05a2b) !important;
    color: #fff !important;
    border-color: transparent !important;
    transform: translateY(-3px);
    box-shadow: 0 10px 26px rgba(249, 115, 22, 0.4) !important;
}

/* ---------------------------------------------------------------
   33. 页脚高度压缩
   ---------------------------------------------------------------
   原高度构成（v4.css）：
     .footer        padding-top 72px
     .footer-top    margin-bottom 52px + gap 56px
     .footer-links  li margin-bottom 12px（每列 5 条 = 60px）
     .footer-bottom padding 24px 0
   合计约 370~420px，占掉将近半屏。这里整体收紧约 40%，
   保留呼吸感的同时让页脚更利落。
   --------------------------------------------------------------- */
.footer {
    padding: 40px 0 0 !important;
}

.footer-top {
    gap: 44px;
    margin-bottom: 30px;
}

/* 栏目标题：上间距收紧，下划线小点保留 */
.footer-subtitle {
    margin-bottom: 14px;
    font-size: 0.86rem;
}

/* 链接行距压缩 */
.footer-links li {
    margin-bottom: 7px;
}

.footer-links li a {
    font-size: 0.85rem;
}

/* 联系方式两行，间距略留余量 */
.footer-contact li {
    margin-bottom: 10px;
    font-size: 0.85rem;
}

/* 底部版权条 */
.footer-bottom {
    padding: 16px 0 !important;
}

.footer-bottom p {
    font-size: 0.78rem;
}

/* 页脚水印球缩小，避免在大片深色上形成明显圆斑 */
.footer::before {
    opacity: 0.16;
}


/* ---------------------------------------------------------------
   35. 移除固定在视口底部的电路板色带
   ---------------------------------------------------------------
   v4.css 里 body::before 被改成：
       position: fixed; bottom: 0; height: 340px;
       background: 渐变 + images/computer-bg.jpg（电路板图）
   它是 fixed 定位，所以页面滚动时这块深色电路板会一直贴在
   视口底部，首页 / 工作室动态 / 关于页全都能看到，非常突兀。
   （原先因为 CSS 里路径写成 images/… 而实际在 ../images/…，
     这张图一直没显示出来；修正路径后它就露了出来。）
   现在把图片去掉，只保留原本的浅色渐隐，观感回到修改前。
   --------------------------------------------------------------- */
body::before {
    background: linear-gradient(180deg,
        rgba(244, 246, 251, 0) 0%,
        rgba(244, 246, 251, .75) 55%,
        rgba(244, 246, 251, .9) 100%) !important;
    filter: none !important;
    mix-blend-mode: normal !important;
}

/* ---------------------------------------------------------------
   36. 文档页横幅主题图（替换原来的图片占位块）
   --------------------------------------------------------------- */
.doc-banner {
    margin: 26px 0 0;
}

.doc-banner img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 16px;
    border: 1px solid rgba(29, 78, 216, 0.10);
    box-shadow: 0 10px 32px rgba(16, 24, 40, 0.12);
    transition: transform .34s cubic-bezier(.4, 0, .2, 1), box-shadow .34s;
}

.doc-banner:hover img {
    transform: translateY(-3px);
    box-shadow: 0 18px 44px rgba(16, 24, 40, 0.16);
}
