/* ============================================================
   v2-home.css —— 设计稿的「行情页组件」部分（只在首页生效）
   ============================================================
   由 v2.css 机器切分而来，每条选择器都加了 `body.page-home` 前缀。
   首页的 <body> 由 home.html 的 {% block body_class %} 挂上这个类。

   **别在这里改设计**（同 v2.css 的规矩）：这两份加起来逐字等于设计稿的 <style>，
   差别只有那个前缀。本地补丁一律进 v2-local.css。
   ============================================================ */

/* ============================================================
   v2.css —— 设计稿 1_首页_定稿v2.html 的 <style> 原样搬运
   ============================================================
   沛伶 2026-08-11：「把封面 html 的行情页和侧边栏，本地部署做得和 html 一模一样，
   但是本地部署的接口留着」。

   **这个文件是抄来的，不要在这里改设计。** 它逐字对应设计稿第 20–1498 行；
   要对比差异就 diff 那份 html，别在这里加本地补丁——本地补丁一律进 v2-local.css，
   否则下次同步设计稿时分不清哪些是抄的、哪些是我们改的。

   加载顺序：main.css → v2.css → v2-local.css。
   v2.css 在 main.css 之后，所以同名选择器由设计稿说了算（这正是「一模一样」要的）；
   main.css 仍然管着设计稿里没有的那些页面（数据总览 / 算法说明 / 尺寸对比 …）。

   ⚠️ 它的 :root 会覆盖 main.css 的同名 token，已知三处会波及全站：
      --fs-xs 12px→11px · --fs-sm 14px→13px · --radius-sm 6px→10px
   这是设计稿本身的取值，不是失手；要改回来在 v2-local.css 里改，别动这里。
   ============================================================ */

        /* ============================================================
           Design Tokens（继承自测试实色版.html 玻璃框架）
           ============================================================ */
        

        /* ===== 暗色主题 ===== */
        
        /* 暗色模式下所有卡片统一定义更高不透明度 */
        [data-theme="dark"] body.page-home .stat-card, [data-theme="dark"] body.page-home .card, [data-theme="dark"] body.page-home .deck-box, [data-theme="dark"] body.page-home .fp-compact, [data-theme="dark"] body.page-home .fp-story, [data-theme="dark"] body.page-home .fp-verify, [data-theme="dark"] body.page-home .fp-bar, [data-theme="dark"] body.page-home .card-md, [data-theme="dark"] body.page-home .bento-card, [data-theme="dark"] body.page-home .brief-card, [data-theme="dark"] body.page-home .hero-side-card, [data-theme="dark"] body.page-home .side-card, [data-theme="dark"] body.page-home .news-card, [data-theme="dark"] body.page-home .folded-low summary, [data-theme="dark"] body.page-home .pagination a, [data-theme="dark"] body.page-home .pagination span, [data-theme="dark"] body.page-home .bento-box { background: rgba(32,28,24,0.65) !important; }
        
        
        [data-theme="dark"] body.page-home .fp-verify { border-left-color: rgba(255,255,255,0.10); }
        

        /* ===== 全局重置 ===== */
        

        

        
        

        /* 背景光晕 */
        
        
        
        

        /* ===== 跳过链接 ===== */
        
        

        /* ===== 玻璃基类 ===== */
        
        

        /* ===== 侧边栏 ===== */
        
        
        
        
        /* 站名统一：中文先行 + AutoNews 降为副标。
           改前站名是精神分裂的——侧栏/页脚叫「购车决策台」，
           点过去的方法页和数据室都叫「新闻检测站」，评委点一下就看见两个名字。
           调研里国奖作品清一色中文名先行（古韵新章 / 诗韵时光机 / 见闻），
           这里先统一到出现频率更高、也更贴差异化主线的「新闻检测站」。
           ⚠️ 最终品牌名仍待沛伶拍板，这版只是消除不一致，不是替她定名。 */
        
        
        

        

        
        

        
        
        
        
        
        

        /* 侧边栏下拉子菜单 — 内嵌展开 */
        
        
        
        
        

        

        
        
        
        

        /* 侧边栏遮罩层（移动端抽屉用） */
        

        /* ===== 主区域 ===== */
        

        /* ===== 顶部栏 ===== */
        
        
        
        
        
        
        

        /* 顶部搜索输入框 */
        
        
        
        
        
        

        /* 长辈模式切换（带文字说明） */
        
        
        
        

        
        
        
        
        
        
        

        
        

        

        
        
        
        

        /* 汉堡按钮 */
        
        
        
        
        

        /* ===== 内容区 ===== */
        
        
        
        

        /* ===== 统计卡片 ===== */
        body.page-home .stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
        body.page-home .stat-card {
            padding: 16px 18px; display: flex; align-items: center; gap: 14px;
            background: rgba(255,255,255,0.58) !important;
            backdrop-filter: blur(16px) saturate(180%);
            -webkit-backdrop-filter: blur(16px) saturate(180%);
            border: 1px solid var(--glass-border);
            border-radius: var(--radius-md);
            box-shadow: var(--glass-shadow);
            transition: all 0.25s ease;
        }
        [data-theme="dark"] body.page-home .stat-card { background: rgba(36,33,28,0.42) !important; }
        body.page-home .stat-card:hover {
            background: rgba(255,255,255,0.08) !important;
            transform: translateY(-2px);
            box-shadow: 0 8px 32px rgba(30,28,24,0.06);
        }
        body.page-home .stat-icon {
            width: 44px; height: 44px; border-radius: var(--radius-sm);
            display: flex; align-items: center; justify-content: center;
            font-size: 18px; flex-shrink: 0;
        }
        body.page-home .stat-icon.gold { background: var(--gold-wash); color: var(--gold); border: 1px solid rgba(217,165,20,0.06); }
        body.page-home .stat-icon.gold-text { background: var(--gold-wash); color: var(--gold-text); border: 1px solid rgba(217,165,20,0.06); }
        body.page-home .stat-icon.green { background: rgba(46,107,79,0.08); color: var(--green); border: 1px solid rgba(46,107,79,0.06); }
        body.page-home .stat-icon.red { background: rgba(169,74,50,0.08); color: var(--red); border: 1px solid rgba(169,74,50,0.06); }
        body.page-home .stat-info { flex: 1; }
        body.page-home .stat-label { font-size: 13px; color: var(--ink3); font-weight: 500; }
        body.page-home .stat-value { font-size: 20px; font-weight: 700; color: var(--ink); line-height: 1.4; }
        body.page-home .stat-change { font-size: 12px; font-weight: 500; margin-left: 8px; }
        body.page-home .stat-change.up { color: var(--green); }
        body.page-home .stat-change.down { color: var(--red); }

        /* ===== 双栏卡片 ===== */
        body.page-home .content-grid { display: grid; grid-template-columns: 2fr 1fr; gap: 14px; }
        body.page-home .card {
            padding: 20px 24px;
            background: rgba(255,255,255,0.58) !important;
            backdrop-filter: blur(16px) saturate(180%);
            -webkit-backdrop-filter: blur(16px) saturate(180%);
            border: 1px solid var(--glass-border);
            border-radius: var(--radius-md);
            box-shadow: var(--glass-shadow);
        }
        [data-theme="dark"] body.page-home .card { background: rgba(36,33,28,0.42) !important; }
        body.page-home .card-title {
            font-size: 15px; font-weight: 600; color: var(--ink);
            margin-bottom: 16px; display: flex;
            justify-content: space-between; align-items: center;
        }
        body.page-home .card-title i { color: var(--ink3); font-size: 14px; opacity: 0.4; }
        body.page-home .card-placeholder {
            height: 120px; background: rgba(30,28,24,0.02);
            border-radius: var(--radius-sm);
            display: flex; align-items: center; justify-content: center;
            color: var(--ink3); font-size: 13px;
            border: 1px dashed var(--line);
        }
        body.page-home .card-tags { margin-top: 16px; display: flex; gap: 10px; flex-wrap: wrap; }
        body.page-home .card-tags span {
            padding: 4px 14px; border-radius: 20px; font-size: 12px;
            background: rgba(30,28,24,0.04); color: var(--ink2);
            border: 1px solid var(--line);
        }
        body.page-home .card-tags span:first-child { background: var(--gold-wash); color: var(--gold-text); border-color: rgba(217,165,20,0.06); }

        /* ===== 新闻列表 ===== */
        body.page-home .news-list { display: flex; flex-direction: column; }
        body.page-home .news-item {
            display: flex; align-items: flex-start; gap: 14px;
            padding: 14px 0; border-bottom: 1px solid var(--line);
            text-decoration: none; transition: all 0.2s;
            cursor: pointer;
        }
        body.page-home .news-item:last-child { border-bottom: none; padding-bottom: 0; }
        body.page-home .news-item:hover { padding-left: 4px; }
        body.page-home .news-thumb {
            width: 72px; height: 52px; border-radius: var(--radius-sm);
            background: rgba(30,28,24,0.04); flex-shrink: 0;
            display: flex; align-items: center; justify-content: center;
            font-size: 22px; overflow: hidden;
            border: 1px solid var(--line);
        }
        body.page-home .news-thumb img { width: 100%; height: 100%; object-fit: cover; }
        body.page-home .news-body { flex: 1; min-width: 0; }
        body.page-home .news-headline {
            font-size: 14px; font-weight: 600; color: var(--ink);
            line-height: 1.5; display: -webkit-box;
            -webkit-line-clamp: 2; -webkit-box-orient: vertical;
            overflow: hidden; margin-bottom: 6px;
        }
        body.page-home .news-meta {
            display: flex; align-items: center; gap: 12px;
            font-size: var(--fs-xs); color: var(--ink4);
        }
        body.page-home .news-meta .news-source { font-weight: 500; color: var(--ink3); }
        body.page-home .news-meta .news-tag {
            padding: 2px 8px; border-radius: 3px; font-size: 10px;
            font-weight: 600;
        }
        body.page-home .news-tag.scoop { background: var(--gold-wash); color: var(--gold-text); }
        body.page-home .news-tag.hot { background: var(--red-light); color: var(--red); }
        body.page-home .news-tag.new { background: var(--green-light); color: var(--green); }
        body.page-home .news-item:first-child .news-headline { font-size: 15px; }
        body.page-home .news-item:first-child .news-thumb { width: 90px; height: 64px; }

        /* ===== 热搜模块 ===== */
        body.page-home .trending-list { display: flex; flex-direction: column; }
        body.page-home .trending-item {
            display: flex; align-items: center; gap: 12px;
            padding: 10px 0; border-bottom: 1px solid var(--line);
            text-decoration: none; transition: all 0.2s;
            cursor: pointer;
        }
        body.page-home .trending-item:last-child { border-bottom: none; padding-bottom: 0; }
        body.page-home .trending-item:hover { padding-left: 4px; }
        body.page-home .trending-rank {
            width: 24px; height: 24px; border-radius: 6px;
            display: flex; align-items: center; justify-content: center;
            font-size: 12px; font-weight: 700; flex-shrink: 0;
            background: rgba(30,28,24,0.05); color: var(--ink3);
        }
        body.page-home .trending-item:nth-child(1) .trending-rank { background: var(--red); color: #fff; }
        body.page-home .trending-item:nth-child(2) .trending-rank { background: var(--red-deep); color: #fff; }
        body.page-home .trending-item:nth-child(3) .trending-rank { background: var(--gold); color: #fff; }
        body.page-home .trending-body { flex: 1; min-width: 0; }
        body.page-home .trending-keyword {
            font-size: 14px; font-weight: 600; color: var(--ink);
            line-height: 1.4; margin-bottom: 2px;
            white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
        }
        body.page-home .trending-desc {
            font-size: var(--fs-xs); color: var(--ink4);
            white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
        }
        body.page-home .trending-heat {
            display: flex; align-items: center; gap: 4px; flex-shrink: 0;
            font-size: var(--fs-xs); color: var(--ink4);
        }
        body.page-home .trending-heat .heat-bar {
            width: 40px; height: 4px; background: var(--line);
            border-radius: 2px; overflow: hidden;
        }
        body.page-home .trending-heat .heat-fill {
            height: 100%; background: var(--gold); border-radius: 2px;
        }
        body.page-home .trending-item:nth-child(1) .heat-fill { background: var(--red); }
        body.page-home .trending-item:nth-child(2) .heat-fill { background: var(--red-deep); }
        body.page-home .trending-item:nth-child(3) .heat-fill { background: var(--gold); }
        body.page-home .trending-badge {
            padding: 2px 6px; border-radius: 3px; font-size: 10px;
            font-weight: 600; flex-shrink: 0;
        }
        body.page-home .trending-badge.rising { background: var(--red-light); color: var(--red); }
        body.page-home .trending-badge.new { background: var(--green-light); color: var(--green); }

        /* ===== 通知铃铛徽标 ===== */
        

        /* ===== 登录/注册快捷入口 ===== */
        
        

        /* ============================================================
           home-demo 新增组件样式
           ============================================================ */
        /* --- 全局玻璃分割：所有内容板块统一玻璃边框 --- */
        body.page-home .glass-section {
            background: transparent !important;
            backdrop-filter: blur(14px) saturate(180%);
            -webkit-backdrop-filter: blur(14px) saturate(180%);
            border: 1px solid var(--glass-border);
            border-radius: var(--radius-md);
            box-shadow: var(--glass-shadow);
        }

        /* --- 页面布局网格 --- */
        /* 末栏原本是 0.5fr（放单行文字的早报卡够用），换成热力图后要给够宽度，
           否则标题和图例全折行。从验稿台和头版各匀一点过来。 */
        body.page-home .layout-top-row { display:grid;grid-template-columns:1.3fr 1.05fr 0.8fr 0.95fr;gap:10px;margin:4px 0; }
        body.page-home .layout-bottom-row { display:grid;grid-template-columns:1fr 320px;gap:16px;margin-top:4px; }

        /* 四栏中的今日头版：垂直紧凑版 */
        body.page-home .fp-compact { display:flex;flex-direction:column;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--glass-border);background:rgba(255,255,255,0.52);backdrop-filter:blur(14px) saturate(180%);-webkit-backdrop-filter:blur(14px) saturate(180%); }
        [data-theme="dark"] body.page-home .fp-compact { background:rgba(36,33,28,0.55); }
        body.page-home .fp-compact .fp-bar { font-size:9px;padding:6px 12px;letter-spacing:.08em; }
        body.page-home .fp-compact .fp-body { padding:10px 12px;display:flex;flex-direction:column;gap:6px;flex:1; }
        body.page-home .fp-compact h3 { font-family:var(--serif);font-size:13px;line-height:1.5;font-weight:900;color:var(--ink); }
        body.page-home .fp-compact .fp-meta { font-size:10px;color:var(--ink3);margin-top:auto; }
        body.page-home .fp-compact .stamp-mini { display:flex;align-items:center;gap:6px;margin-top:6px;padding:6px 8px;background:rgba(255,255,255,0.3);border-radius:6px;border:1px solid var(--glass-border); }
        body.page-home .fp-compact .stamp-mini svg { width:26px;height:26px;flex-shrink:0; }

        /* 四栏中的 Bento：垂直堆叠 */
        body.page-home .bento-col { display:flex;flex-direction:column;gap:6px; }
        body.page-home .bento-col .bento-card { flex-direction:row;gap:8px;padding:8px 10px;justify-content:flex-start;text-align:left; }
        body.page-home .bento-col .bento-icon { font-size:16px; }
        body.page-home .bento-col .bento-num { font-size:18px; }
        body.page-home .bento-col .bento-label { font-size:9px; }
        body.page-home .bento-col .temp-card { flex-direction:column !important;align-items:center !important;text-align:center !important; }
        body.page-home .bento-col .temp-gauge { width:50px;height:32px; }

        /* ============================================================
           定稿新增组件（对着两轮独立评审 + 国一调研补的五件）
           原则：首页只给结论，过程住在一击之外。加进来的每一块都要挤掉一块旧的，
           块数净增 0——v4 就是只加不减才把世界观堆到超自己纪律四倍。
           ============================================================ */

        /* ① 站宣言：占掉原来「Good evening. JY」的位置。
           评委第一眼要能答「这是什么、和普通汽车资讯站差在哪」，不该靠他自己发现。 */
        
        
        
        

        /* ② 首页热力图缩略版：挤掉「今日早报」卡（那张的三条标题在 feed 和热榜里都出现过，
           是首屏信息密度最低的一张）。首页只要看得出「有红有金、有格局」，
           完整口径在数据室——这就是详略。 */
        body.page-home .mini-heat { display:flex;flex-direction:column;padding:11px 13px;text-decoration:none;
            border-radius:var(--radius-md);border:1px solid var(--glass-border);
            background:rgba(255,255,255,0.52);backdrop-filter:blur(16px) saturate(180%);
            -webkit-backdrop-filter:blur(16px) saturate(180%);transition:border-color .2s; }
        [data-theme="dark"] body.page-home .mini-heat { background:rgba(36,33,28,0.55); }
        body.page-home .mini-heat:hover { border-color:var(--gold); }
        body.page-home .mh-head { margin-bottom:2px; }
        body.page-home .mh-head b { font-family:var(--serif);font-size:13px;font-weight:800;color:var(--ink); }
        body.page-home .mh-head span { font-size:9px;color:var(--ink4);margin-left:5px;white-space:nowrap; }
        body.page-home .mh-sub { font-size:9px;color:var(--ink4);line-height:1.5;margin-bottom:6px; }
        body.page-home .mh-grid { display:grid;grid-template-columns:auto repeat(5,1fr);gap:3px;align-items:stretch; }
        /* 头版右栏要和大图等高。只给容器 flex:1 不够——行高仍按内容算，
           底部照样留一大块白；**grid-auto-rows 才是让行跟着长高的那一句**。 */
        body.page-home .front-row .mini-heat { justify-content:flex-start; }
        body.page-home .front-row .mh-grid { flex:1; grid-auto-rows:minmax(24px,1fr); }
        body.page-home .front-row .mh-c { height:auto; }
        body.page-home .front-row .mh-head b { font-size:15px; }
        body.page-home .front-row .mh-sub { font-size:11px; margin-bottom:10px; }
        body.page-home .front-row .mh-grid i { font-size:11px; }
        /* 品牌列名：不写死颜色就会掉进「未着色的 <a> 后代」那档默认蓝（实测 rgb(0,0,238)）
           ——整块 mini-heat 是个链接，里面任何没指定 color 的文本都会中招。 */
        body.page-home .mh-bh { font-size:10px; color:var(--ink4); text-align:center; font-weight:600;
            white-space:nowrap; overflow:hidden; text-overflow:ellipsis; align-self:end; padding-bottom:3px; }
        body.page-home .mh-grid i { font-style:normal;font-size:8px;color:var(--ink4);text-align:right;padding-right:3px;
            white-space:nowrap;overflow:hidden; }
        body.page-home .mh-c { height:13px;border-radius:2px; }
        body.page-home .mh-foot { display:flex;align-items:center;gap:4px;margin-top:7px;font-size:9px;color:var(--ink4);
            flex-wrap:wrap;row-gap:3px; }
        body.page-home .mh-foot .go { margin-left:auto;color:var(--gold-text);font-weight:700;white-space:nowrap; }

        /* ③ 被拦样例卡：从底部折叠区提一张上来，明面示范「我们会拦」。
           「会拦」比「有分数」直观十倍——它是判断力的可见证据。
           灰化 + 拦截原因写在脸上，不做成正常卡的样子（避免看起来像我们在推荐它）。 */
        /* 灰化只作用在配图上，不作用在整张卡——filter 会连子元素一起渲染，
           整卡灰化会把红封条和红色扣分项一起吃掉，那两样恰恰是要让人看见的信号。 */
        body.page-home .news-card.blocked { position:relative;border-style:dashed;opacity:.94;transition:opacity .25s; }
        body.page-home .news-card.blocked:hover { opacity:1; }
        body.page-home .news-card.blocked .news-card-thumb { position:relative;filter:grayscale(1);transition:filter .25s; }
        body.page-home .news-card.blocked:hover .news-card-thumb { filter:grayscale(.3); }
        body.page-home .news-card.blocked h3 { color:var(--ink3); }
        body.page-home .blocked-tape { position:absolute;left:0;right:0;top:50%;transform:translateY(-50%) rotate(-4deg);
            background:var(--red);color:#fff;font-size:11px;font-weight:800;letter-spacing:.14em;
            text-align:center;padding:4px 0;box-shadow:0 2px 8px rgba(0,0,0,.18); }
        body.page-home .blocked-why { display:flex;flex-wrap:wrap;gap:5px;margin-top:6px;padding-top:7px;
            border-top:1px dashed var(--line); }
        body.page-home .blocked-why .w { font-size:10px;font-weight:700;padding:2px 7px;border-radius:4px;
            background:rgba(169,74,50,.10);color:var(--red); }
        body.page-home .blocked-note { font-size:10px;color:var(--ink4);margin-top:5px;line-height:1.55; }

        /* ④ 早报降级成右栏一行：它不回答首屏三问，但仍是个入口，留一行不留一卡 */
        body.page-home .brief-row { display:flex;align-items:center;gap:10px;padding:10px 13px;text-decoration:none;
            border-radius:var(--radius-md);border:1px solid var(--line);background:var(--card);
            transition:border-color .2s; }
        body.page-home .brief-row:hover { border-color:var(--gold); }
        body.page-home .brief-row .play { flex-shrink:0;width:30px;height:30px;border-radius:50%;border:none;
            background:var(--gold);color:#fff;display:grid;place-items:center;font-size:11px;cursor:pointer; }
        body.page-home .brief-row .tx b { display:block;font-size:12px;font-weight:700;color:var(--ink);line-height:1.3; }
        body.page-home .brief-row .tx span { font-size:10px;color:var(--ink4); }

        /* 返修区一行（原来是可展开的折叠区，样例提到明面后这里只留事实） */
        body.page-home .repair-line { display:flex;align-items:center;gap:9px;margin-top:12px;padding:9px 14px;
            border-radius:var(--radius-sm);border:1px dashed var(--line);background:var(--card);
            font-size:11px;color:var(--ink4);text-decoration:none;transition:border-color .2s,color .2s; }
        body.page-home .repair-line:hover { border-color:var(--gold);color:var(--gold-text); }
        body.page-home .repair-line b { color:var(--ink2); }
        body.page-home .repair-line em { margin-left:auto;font-style:normal;font-weight:700;color:var(--gold-text);white-space:nowrap; }

        /* ⑤ 落地证据：回答「这是不是赛前突击的 demo」。多数参赛作品拿不出运行记录 */
        
        

        /* ============================================================
           v2 版式（沛伶指定）：布局照 v5 国一版，配色质感沿用定稿。
           一切圆角/毛玻璃/暖白都走既有 token，不新造色号。
           ============================================================ */

        /* 门头：站名 + 门头数字 + 期号 */
        body.page-home .masthead {
            display:flex; align-items:center; gap:18px; flex-wrap:wrap;
            padding:14px 18px; margin:6px 0 8px;
            border-radius:var(--radius-md);
            background:rgba(255,255,255,0.52);
            backdrop-filter:blur(16px) saturate(180%); -webkit-backdrop-filter:blur(16px) saturate(180%);
            border:1px solid var(--glass-border);
        }
        [data-theme="dark"] body.page-home .masthead { background:rgba(36,33,28,0.55); }
        body.page-home .mast-logo { font-family:var(--serif); font-size:22px; font-weight:900; line-height:1.15; color:var(--ink); }
        body.page-home .mast-logo em { font-style:normal; color:var(--gold-text); }
        body.page-home .mast-sub { font-size:10px; letter-spacing:.2em; color:var(--ink3); margin-top:2px; }
        body.page-home .mast-board { margin-left:auto; display:flex; align-items:center; gap:18px; }
        /* 门头数字也可下钻——点不进去的数字宁可不摆 */
        body.page-home .mb-item { text-align:right; display:block; padding:2px 6px; border-radius:8px;
            text-decoration:none; transition:background .16s; }
        body.page-home .mb-item:hover { background:var(--gold-wash); }
        body.page-home .mb-item b { display:block; font-family:var(--serif); font-size:22px; font-weight:900; line-height:1.15; color:var(--ink); }
        body.page-home .mb-item.gold b { color:var(--gold-text); }
        body.page-home .mb-item span { font-size:10px; color:var(--ink4); }
        body.page-home .mb-item::after { content:'›'; font-size:11px; color:var(--ink4); margin-left:3px; }
        body.page-home .mast-issue { display:flex; align-items:center; gap:6px; font-size:11px; color:var(--ink3); }
        body.page-home .mast-issue button { width:20px; height:20px; border-radius:50%; cursor:pointer; font-size:11px;
            border:1px solid var(--line); background:transparent; color:var(--ink3);
            display:grid; place-items:center; font-family:var(--sans); line-height:1; }
        body.page-home .mast-issue button:hover:not(:disabled) { border-color:var(--gold); color:var(--gold-text); }
        body.page-home .mast-issue button:disabled { opacity:.32; cursor:not-allowed; }

        /* --- 入库脉搏（#566）：门头唯一一处会自曝坏消息的地方 --- */
        /* 期号那一栏挤不下就换行，别把这行字压成一列竖排 */
        body.page-home .mast-issue { flex-wrap:wrap; }
        body.page-home .mast-pulse {
            display:inline-flex; align-items:center; gap:5px;
            font-size:11px; color:var(--ink3); white-space:nowrap;
        }
        body.page-home .mast-pulse .pulse-dot {
            width:6px; height:6px; border-radius:50%; background:var(--q-good); flex:none;
        }
        /* 停摆用的是**方块**不是圆点：颜色之外还有形状这一路信号，
           而这行字本身已经把状态说完了（三通道，同监督层的色盲安全口径） */
        body.page-home .mast-pulse.stale { color:var(--q-bad); }
        body.page-home .mast-pulse.stale .pulse-dot { background:var(--q-bad); border-radius:1px; }
        /* 心跳只在**正常**时animate：停摆那版静止不动——一个还在跳的红点
           会被读成「正在恢复」，而它恰恰是没有动静的意思 */
        @media (prefers-reduced-motion:no-preference) {
            body.page-home .mast-pulse:not(.stale) .pulse-dot { animation:pulse-beat 2.4s ease-in-out infinite; }
        }
        @keyframes pulse-beat { 0%,100%{opacity:1} 50%{opacity:.35} }

        /* 检测线：通栏，金边强调它是主入口 */
        body.page-home .lane { margin:8px 0; padding:16px 20px; border-radius:var(--radius-md);
            background:rgba(255,255,255,0.52); border:1px solid var(--gold);
            backdrop-filter:blur(16px) saturate(180%); -webkit-backdrop-filter:blur(16px) saturate(180%);
            position:relative; overflow:hidden; }
        [data-theme="dark"] body.page-home .lane { background:rgba(36,33,28,0.55); }
        body.page-home .lane::before { content:''; position:absolute; left:0; right:0; top:0; height:3px;
            background:linear-gradient(90deg,transparent,var(--gold),transparent); }
        body.page-home .lane-h { display:flex; align-items:baseline; gap:10px; margin-bottom:10px; flex-wrap:wrap; }
        body.page-home .lane-h b { font-family:var(--serif); font-size:19px; font-weight:900; color:var(--ink); }
        body.page-home .lane-h span { font-size:11px; color:var(--ink3); }
        body.page-home .lane-row { display:flex; gap:10px; }
        body.page-home .lane-row input { flex:1; padding:10px 15px; border-radius:var(--radius-sm);
            border:1px solid var(--line); background:rgba(255,255,255,0.4);
            font-family:var(--sans); font-size:13px; color:var(--ink); outline:none; }
        body.page-home .lane-row input:focus { border-color:var(--gold); }
        body.page-home .lane-go { padding:10px 24px; border-radius:var(--radius-sm); border:none; cursor:pointer;
            background:var(--gold); color:#fff; font-family:var(--sans); font-size:13px; font-weight:700; white-space:nowrap; }
        body.page-home .lane-go:hover { background:var(--gold-text); }
        body.page-home .stations { display:flex; gap:7px; flex-wrap:wrap; margin-top:10px; font-size:10px; color:var(--ink4); align-items:center; }
        body.page-home .stn { display:inline-flex; align-items:center; gap:5px; padding:3px 10px; border-radius:999px; border:1px solid var(--line); }
        body.page-home .stn i { width:6px; height:6px; border-radius:50%; background:var(--gold); opacity:.6; }
        body.page-home .stn-more { color:var(--gold-text); font-weight:600; text-decoration:none; }

        /* 头版（大图）｜热力图 —— 沛伶指定：头版右边放热力图 */
        body.page-home .front-row { display:grid; grid-template-columns:1.5fr 1fr; gap:12px; margin:8px 0; align-items:stretch; }
        body.page-home .fp-hero { position:relative; border-radius:var(--radius-md); overflow:hidden; border:1px solid var(--glass-border); }
        body.page-home .fp-hero-img { display:block; position:relative; height:100%; min-height:330px; text-decoration:none; }
        body.page-home .fp-hero-img img { width:100%; height:100%; object-fit:cover; display:block; }
        body.page-home .fp-hero-img::after { content:''; position:absolute; inset:0;
            background:linear-gradient(180deg,rgba(0,0,0,.05) 30%,rgba(0,0,0,.78)); }
        body.page-home .img-credit { position:absolute; right:8px; bottom:6px; z-index:2;
            font-size:10px; color:rgba(255,255,255,.85); background:rgba(0,0,0,.35);
            padding:1px 7px; border-radius:4px; }
        body.page-home .fp-kicker { position:absolute; left:18px; top:16px; z-index:2; display:flex; align-items:center; gap:9px;
            font-size:11px; font-weight:700; letter-spacing:.14em; color:#fff; }
        body.page-home .fp-kicker .line { width:22px; height:2px; background:var(--gold); border-radius:2px; }
         /* 原来是半透明白底 + 浅金字，压在浅色图区上几乎看不见（截图实测）。
           改成深底 + 亮金字：图片明暗不可控，只有自带深底才在任何图上都读得清。 */
        body.page-home .fp-kicker .sealed { padding:2px 9px; border-radius:999px; letter-spacing:0;
            background:rgba(20,17,12,.72); color:#FFD766; font-weight:700; }
        body.page-home .fp-kicker { text-shadow:0 1px 6px rgba(0,0,0,.55); }
        body.page-home .fp-overlay { position:absolute; left:0; right:0; bottom:0; z-index:2; padding:18px 22px; }
        body.page-home .fp-overlay h2 { font-family:var(--serif); font-size:26px; line-height:1.35; font-weight:900; color:#fff;
            text-shadow:0 2px 18px rgba(0,0,0,.5); margin-bottom:8px; padding-right:96px; }
        body.page-home .fp-meta { font-size:11px; color:rgba(255,255,255,.82); }
        body.page-home .fp-meta b { color:#FFE9A8; }
        /* 年检章：压在大图右下，不挡标题 */
        /* 章放右上：右下是图注（授权署名不能被压），左下是标题 */
        body.page-home .fp-seal { position:absolute; right:16px; top:52px; z-index:3; width:84px; height:84px;
            transform:rotate(-6deg); transition:transform .25s cubic-bezier(.22,1,.36,1);
            filter:drop-shadow(0 2px 8px rgba(0,0,0,.3)); }
        body.page-home .fp-seal:hover { transform:rotate(-6deg) scale(1.06); }
        body.page-home .fp-seal svg { width:100%; height:100%; overflow:visible; }
        body.page-home .fp-seal .ro { fill:var(--gold-light); stroke:var(--gold); stroke-width:2.6; }
        body.page-home .fp-seal .ri { fill:none; stroke:var(--gold); stroke-width:.9; opacity:.6; }
        body.page-home .fp-seal .rl { stroke:var(--gold); stroke-width:.8; opacity:.6; }
        body.page-home .fp-seal .sm { font-family:var(--serif); font-size:17px; font-weight:900; fill:var(--gold-text); text-anchor:middle; letter-spacing:.06em; }
        body.page-home .fp-seal .ss { font-size:9.5px; font-weight:700; fill:var(--gold-text); text-anchor:middle; }

        /* 数据带：田字格改横排四个，保留 emoji 图标那套长相 */
        body.page-home .bento-row { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin:8px 0 4px; }
        body.page-home .bento-cell { display:flex; align-items:center; gap:12px; padding:14px 18px;
            border-radius:var(--radius-md); text-decoration:none;
            background:rgba(255,255,255,0.52); border:1px solid var(--glass-border);
            backdrop-filter:blur(16px) saturate(180%); -webkit-backdrop-filter:blur(16px) saturate(180%);
            transition:transform .18s, border-color .18s; }
        [data-theme="dark"] body.page-home .bento-cell { background:rgba(36,33,28,0.55); }
        body.page-home .bento-cell:hover { transform:translateY(-2px); border-color:var(--gold); }
        /* 图标从 emoji 换成线性图标（#582）：emoji 自带不受控的色相，
           四格排开就是一道彩虹，而全站图标族是 FontAwesome。 */
        body.page-home .bento-cell .bc-ico { font-size:21px; line-height:1; flex-shrink:0;
            color:var(--ink3); width:34px; text-align:center; }
        body.page-home .bento-cell:hover .bc-ico { color:var(--gold-text); }

        /* 转着的车（#582）：一条轮廓叠十层做出厚度，靠 CSS 转起来。
           首页**不加载 three.js**——这条跟详情页入口卡（#504）是同一条规矩。 */
        body.page-home .bc-3d { width:52px; height:36px; flex-shrink:0;
            perspective:220px; display:block; }
        body.page-home .bc-3d-spin { position:relative; display:block; width:100%; height:100%;
            transform-style:preserve-3d; animation:bc3d-spin 9s ease-in-out infinite; }
        body.page-home .bc-3d-spin svg { position:absolute; inset:0; width:100%; height:100%;
            overflow:visible; }
        body.page-home .bc-3d-spin svg path,
        body.page-home .bc-3d-spin svg circle { fill:var(--ink); }
        /* 十片叠出厚度：最外那片最深，越往里越淡，转起来才有体积而不是一张纸 */
        body.page-home .bc-3d-spin svg:nth-child(1)  { transform:translateZ(-5.4px); }
        body.page-home .bc-3d-spin svg:nth-child(2)  { transform:translateZ(-4.2px); }
        body.page-home .bc-3d-spin svg:nth-child(3)  { transform:translateZ(-3.0px); }
        body.page-home .bc-3d-spin svg:nth-child(4)  { transform:translateZ(-1.8px); }
        body.page-home .bc-3d-spin svg:nth-child(5)  { transform:translateZ(-0.6px); }
        body.page-home .bc-3d-spin svg:nth-child(6)  { transform:translateZ(0.6px); }
        body.page-home .bc-3d-spin svg:nth-child(7)  { transform:translateZ(1.8px); }
        body.page-home .bc-3d-spin svg:nth-child(8)  { transform:translateZ(3.0px); }
        body.page-home .bc-3d-spin svg:nth-child(9)  { transform:translateZ(4.2px); }
        body.page-home .bc-3d-spin svg:nth-child(10) { transform:translateZ(5.4px); }
        /* 朝着观者那一片浅一档，像受光面——**默认不上金**。
           首屏的金已经够多了（顶条/门头/徽章/检测线/核验章/注册键），
           再添一块金色实心车只会让强调色更廉价。金留给 hover：
           指过去才亮，既是反馈，也把「这是个入口」说清楚了。 */
        body.page-home .bc-3d-spin svg:nth-child(10) path,
        body.page-home .bc-3d-spin svg:nth-child(10) circle { fill:var(--ink2, #4A4640); }
        body.page-home .bento-3d:hover .bc-3d-spin svg:nth-child(10) path,
        body.page-home .bento-3d:hover .bc-3d-spin svg:nth-child(10) circle { fill:var(--gold); }
        body.page-home .bc-3d-spin svg path,
        body.page-home .bc-3d-spin svg circle { transition:fill .25s; }
        /* **摆动不是整圈转**：转满 360° 有一半时间是从车尾看、以及正侧面那一瞬
           整台车塌成一条线（体块本来就是一条轮廓挤出来的，没有车头造型）。
           在 ±34° 之间来回摆，全程都是「看得出是台车」的角度。 */
        @keyframes bc3d-spin {
            0%   { transform:rotateX(-12deg) rotateY(-34deg); }
            50%  { transform:rotateX(-12deg) rotateY(34deg); }
            100% { transform:rotateX(-12deg) rotateY(-34deg); }
        }
        /* 减少动效：停在一个能看出是台车的角度，不转 */
        @media (prefers-reduced-motion:reduce) {
            body.page-home .bc-3d-spin { animation:none; transform:rotateX(-14deg) rotateY(-28deg); }
        }
        body.page-home .bento-cell .temp-gauge { width:52px; height:34px; flex-shrink:0; }
        body.page-home .bc-txt b { font-family:var(--serif); font-size:26px; font-weight:900; line-height:1.1; color:var(--ink); }
        body.page-home .bc-txt small { font-size:11px; color:var(--ink3); margin-left:4px; }
        body.page-home .bc-txt span { display:block; font-size:11px; color:var(--ink4); margin-top:2px; }
        body.page-home .bc-txt em { font-style:normal; opacity:0; transition:opacity .18s; }
        body.page-home .bento-cell:hover .bc-txt em { opacity:1; }

        
@media (max-width:1100px) {
body.page-home .front-row { grid-template-columns:1fr; }
            body.page-home .bento-row { grid-template-columns:repeat(2,1fr); }
}

        
@media (max-width:768px) {
body.page-home .mast-board { margin-left:0; width:100%; justify-content:space-between; gap:10px; }
            body.page-home .fp-overlay h2 { font-size:19px; padding-right:0; }
            body.page-home .fp-seal { width:62px; height:62px; }
            body.page-home .lane-row { flex-direction:column; }
}


        /* --- Ticker 品牌声量行情条 --- */
        body.page-home .ticker-strip {
            display:flex;align-items:center;gap:12px;
            padding:8px 0;max-width:100%;overflow:hidden;
        }
        /* 金色减法（#582）：这枚只是给倾向屏起个名，**不是需要注意的东西**，
           所以退成中性。它紧挨着的「倾向抽检中 56.5%」那枚必须是金的——
           那是一句提醒「这批结论还没达标」。两枚都金，等于把提醒也稀释成了装饰。
           强调色的意思是「少数需要注意的那些」，人人都有就等于没有。 */
        body.page-home .ticker-badge {
            flex-shrink:0;padding:3px 12px;border-radius:14px;
            font-size:11px;font-weight:700;color:var(--ink3);
            background:transparent;border:1px solid var(--line);
        }
        /* 「抽检中 56.5%」挂在门脸上，可点进方法页。
           这个数没过 80% 上线阈值——挂出来是纪律，不是失误：达标前所有倾向结论都带这个牌子。 */
        body.page-home .wip-badge {
            flex-shrink:0;display:inline-flex;align-items:center;gap:5px;
            padding:3px 11px;border-radius:14px;font-size:11px;font-weight:700;
            color:var(--gold-text);background:var(--gold-wash);
            border:1px dashed var(--gold);text-decoration:none;transition:background .2s;
        }
        body.page-home .wip-badge:hover { background:var(--gold-light); }
        body.page-home .ticker-viewport { flex:1;overflow:hidden;mask-image:linear-gradient(to right,black 85%,transparent); }
        body.page-home .ticker-track { display:flex;gap:0;animation:ticker-scroll 24s linear infinite;width:max-content; }
        body.page-home .ticker-item {
            display:inline-flex;align-items:center;gap:6px;padding:4px 14px;
            text-decoration:none;white-space:nowrap;border-right:1px solid var(--line);
            transition:color 0.2s;
        }
        body.page-home .ticker-item:hover { color:var(--gold); }
        body.page-home .ticker-name { font-size:12px;font-weight:600;color:var(--ink); }
        body.page-home .ticker-num { font-size:11px;color:var(--ink3); }
        body.page-home .ticker-delta { font-size:10px;font-weight:600; }
        body.page-home .d-up { color:var(--green); }body.page-home .d-down { color:var(--red); }body.page-home .d-flat { color:var(--ink3); }body.page-home .d-new { color:var(--gold); }
        @keyframes ticker-scroll{ from{transform:translateX(0)} to{transform:translateX(-50%)} }

        /* --- Deck 验稿台 --- */
        body.page-home .deck { margin:10px 0 6px; }
        body.page-home .deck-box {
            padding:16px 20px;border-radius:var(--radius-md);
            background:rgba(255,255,255,0.52);backdrop-filter:blur(16px) saturate(180%);
            -webkit-backdrop-filter:blur(16px) saturate(180%);
            border:1px solid var(--glass-border);
        }
        [data-theme="dark"] body.page-home .deck-box { background:rgba(36,33,28,0.55); }
        body.page-home .deck-label { font-size:13px;font-weight:600;color:var(--ink);display:block;margin-bottom:8px; }
        body.page-home .deck-row { display:flex;gap:8px; }
        body.page-home .deck-row input {
            flex:1;padding:9px 14px;border-radius:var(--radius-sm);
            border:1px solid var(--line);background:rgba(255,255,255,0.4);
            font-size:13px;font-family:var(--sans);color:var(--ink);outline:none;
            transition:border-color 0.2s;
        }
        body.page-home .deck-row input:focus { border-color:var(--gold); }
        body.page-home .deck-go {
            padding:9px 22px;border-radius:var(--radius-sm);border:none;
            background:var(--gold);color:#fff;font-weight:600;font-size:13px;
            cursor:pointer;font-family:var(--sans);transition:all 0.2s;
        }
        body.page-home .deck-go:hover { background:var(--gold-text); }
        body.page-home .deck-foot { display:flex;gap:20px;margin-top:8px;font-size:11px;color:var(--ink4);align-items:center; }
        body.page-home .deck-count b { color:var(--ink);font-size:14px; }
        /* 五个工位：回答「你们到底怎么检的」。评委必问，摆在入口比写在文档里管用 */
        body.page-home .stations { display:flex;flex-wrap:wrap;gap:5px;margin-top:9px;align-items:center;
            font-size:10px;color:var(--ink4); }
        body.page-home .stn { display:inline-flex;align-items:center;gap:4px;padding:2px 8px;
            border-radius:12px;border:1px solid var(--line);white-space:nowrap; }
        body.page-home .stn i { width:5px;height:5px;border-radius:50%;background:var(--gold);opacity:.65; }

        /* 数字下钻：门头/数据带每个数字都能点进清单。点不进去的数字宁可不摆 */
        body.page-home .drill { text-decoration:none;border-radius:8px;transition:background .18s; }
        body.page-home .drill:hover { background:var(--gold-wash); }
        body.page-home .drill .go { font-size:9px;color:var(--ink4);opacity:0;transition:opacity .18s; }
        body.page-home .drill:hover .go { opacity:1; }

        /* 页脚证据三连：评委必问的三件事常驻页脚，不用翻菜单 */
        
        
        

        /* --- Frontpage 今日头版（毛玻璃版 + 设计方案板） --- */
        body.page-home .frontpage { border:1px solid var(--glass-border);border-radius:var(--radius-md);overflow:hidden;margin:4px 0;position:relative;background:transparent;backdrop-filter:blur(14px) saturate(180%);-webkit-backdrop-filter:blur(14px) saturate(180%); }
        body.page-home .fp-bar {
            display:flex;justify-content:space-between;align-items:center;
            padding:10px 22px;border-bottom:1px solid var(--glass-border);
            font-size:var(--fs-xs);letter-spacing:.12em;color:var(--ink3);
            background:rgba(255,255,255,0.52);backdrop-filter:blur(14px) saturate(180%);
            -webkit-backdrop-filter:blur(14px) saturate(180%);
        }
        [data-theme="dark"] body.page-home .fp-bar { background:rgba(36,33,28,0.38); }
        body.page-home .fp-bar b { font-family:var(--serif);color:var(--ink);letter-spacing:.04em; }
        body.page-home .fp-main { display:grid;grid-template-columns:1.6fr 1fr; }
        body.page-home .fp-story { padding:24px 28px;border-right:1px solid var(--glass-border);background:rgba(255,255,255,0.52);backdrop-filter:blur(14px) saturate(180%);-webkit-backdrop-filter:blur(14px) saturate(180%); }
        [data-theme="dark"] body.page-home .fp-story { background:rgba(36,33,28,0.55); }
        body.page-home .fp-story .chip { display:inline-block;font-size:10px;background:var(--gold-light);color:var(--gold-text);padding:2px 8px;border-radius:3px;margin-right:5px;margin-bottom:8px; }
        body.page-home .fp-story h2 { font-family:var(--serif);font-size:24px;line-height:1.4;font-weight:900;margin:10px 0 12px;color:var(--ink); }
        body.page-home .fp-story p { font-size:13px;color:var(--ink2);line-height:1.8; }
        body.page-home .fp-story .src { margin-top:14px;font-size:var(--fs-xs);color:var(--ink3); }
        body.page-home .fp-verify { padding:24px 28px;background:rgba(255,255,255,0.52);backdrop-filter:blur(14px) saturate(180%);-webkit-backdrop-filter:blur(14px) saturate(180%);border-left:1px solid var(--glass-border); }
        [data-theme="dark"] body.page-home .fp-verify { background:rgba(36,33,28,0.38); }
        body.page-home .fp-verify h4 { font-size:10px;letter-spacing:.22em;color:var(--ink3);margin-bottom:16px;text-transform:uppercase; }
        body.page-home .v-row { display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px dashed var(--line);font-size:13px; }
        body.page-home .v-num { font-family:var(--serif);font-size:26px;font-weight:900;color:var(--green);min-width:48px; }
        body.page-home .v-num.gold { color:var(--gold-text); }
        body.page-home .v-label { color:var(--ink2);line-height:1.5; }
        body.page-home .v-label small { display:block;font-size:10px;color:var(--ink3); }
        body.page-home .mini-stamp { display:flex;align-items:center;gap:12px;margin-top:16px;padding:12px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm); }
        body.page-home .mini-stamp .msr-t { font-size:11px;color:var(--ink2);line-height:1.6; }

        /* --- 三档信息流卡片（排版即判决） --- */
        body.page-home .section-label { font-family:var(--serif);font-size:15px;font-weight:700;color:var(--ink3);letter-spacing:.04em;padding:4px 0; }
        body.page-home .feed { display:grid;grid-template-columns:1fr 1fr;gap:12px; }
        body.page-home .card-lg { grid-column:1/-1;display:grid;grid-template-columns:200px 1fr;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--line);background:var(--card); }
        body.page-home .card-mono { background:linear-gradient(135deg,#243B2E,var(--green));display:flex;flex-direction:column;justify-content:center;align-items:center;color:#EAF3EC;min-height:150px; }
        body.page-home .card-mono .mchar { font-family:var(--serif);font-size:52px;font-weight:900;line-height:1; }
        body.page-home .card-mono .mbrand { font-size:10px;letter-spacing:.28em;margin-top:4px;opacity:.75; }
        body.page-home .card-md { background:rgba(255,255,255,0.52);backdrop-filter:blur(14px) saturate(180%);-webkit-backdrop-filter:blur(14px) saturate(180%);border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:18px 20px; }
        [data-theme="dark"] body.page-home .card-md { background:rgba(36,33,28,0.55); }
        body.page-home .chips { margin-bottom:8px;display:flex;gap:5px;flex-wrap:wrap; }
        body.page-home .chips i { font-style:normal;font-size:10px;padding:2px 8px;border-radius:3px; }
        body.page-home .chips .c-gold { background:var(--gold-light);color:var(--gold-text); }
        body.page-home .chips .c-blue { background:#E8EFFA;color:#2B4C88; }
        body.page-home .chips .c-red { background:var(--red-light);color:var(--red); }
        [data-theme="dark"] body.page-home .chips .c-blue { background:rgba(43,76,136,.2);color:#7BA4E0; }
        body.page-home .card-md h3 { font-family:var(--serif);font-size:16px;line-height:1.45;font-weight:900;margin-bottom:6px;color:var(--ink); }
        body.page-home .card-md p { font-size:12px;color:var(--ink2);line-height:1.7; }
        body.page-home .card-md .meta { margin-top:10px;font-size:var(--fs-xs);color:var(--ink3); }
        body.page-home .card-body { padding:18px 22px; }
        body.page-home .card-body h3 { font-family:var(--serif);font-size:18px;line-height:1.4;font-weight:900;margin-bottom:6px;color:var(--ink); }
        body.page-home .card-body p { font-size:12px;color:var(--ink2);line-height:1.7; }
        body.page-home .card-body .meta { margin-top:10px;font-size:var(--fs-xs);color:var(--ink3); }
        body.page-home .card-sm { grid-column:1/-1;display:flex;align-items:center;gap:14px;padding:10px 18px;background:rgba(245,242,234,.5);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink3);font-size:12px; }
        [data-theme="dark"] body.page-home .card-sm { background:rgba(42,39,34,.5); }
        body.page-home .card-sm .demote-tag { font-size:10px;border:1px solid var(--ink3);border-radius:3px;padding:1px 6px;flex-shrink:0; }
        body.page-home .card-sm .t { flex:1;color:var(--ink2); }
        body.page-home .card-sm .why { font-size:11px;color:var(--gold-text);text-decoration:underline dotted;flex-shrink:0;cursor:default; }
        body.page-home .sv-insert { grid-column:1/-1;display:flex;align-items:center;gap:14px;padding:12px 18px;background:rgba(247,244,236,.5);border:1px solid var(--gold);border-radius:var(--radius-sm);position:relative; }
        [data-theme="dark"] body.page-home .sv-insert { background:rgba(40,36,28,.5); }
        body.page-home .sv-insert-tag { position:absolute;top:-8px;left:14px;background:var(--gold);color:#1E1C18;font-size:9px;padding:1px 8px;letter-spacing:.12em;font-weight:600;border-radius:2px; }
        body.page-home .sv-insert-body { flex:1; }
        body.page-home .sv-insert-body b { font-size:13px;display:block;font-family:var(--serif);margin-bottom:3px;color:var(--ink); }
        body.page-home .sv-insert-body span { font-size:11px;color:var(--ink3); }
        body.page-home .sv-insert-count { text-align:center;font-size:10px;color:var(--ink3);line-height:1.4; }
        body.page-home .sv-insert-count b { font-family:var(--serif);font-size:24px;color:var(--gold-text);background:var(--card);border:1px solid var(--line);padding:1px 6px;border-radius:4px;display:inline-block; }

        /* --- Hero 区 --- */
        body.page-home .hero { display:grid;grid-template-columns:2fr 1fr;gap:10px;position:relative;margin:8px 0 4px; }
        body.page-home .hero-main {
            position:relative;border-radius:var(--radius-md);overflow:hidden;
            min-height:240px;display:flex;align-items:flex-end;text-decoration:none;
            border:1px solid var(--glass-border);
        }
        body.page-home .hero-watermark {
            position:absolute;top:16px;right:20px;font-size:48px;font-weight:900;
            color:rgba(255,255,255,0.15);letter-spacing:8px;pointer-events:none;
        }
        body.page-home .hero-overlay {
            position:relative;z-index:1;padding:20px 24px;width:100%;
            background:linear-gradient(transparent,rgba(0,0,0,.7));
        }
        body.page-home .hero-overlay .tag {
            display:inline-block;padding:3px 10px;border-radius:4px;
            background:var(--gold);color:#fff;font-size:10px;font-weight:600;
        }
        body.page-home .hero-overlay h2 { font-size:19px;color:#fff;margin:8px 0 4px;line-height:1.4; }
        body.page-home .hero-meta { font-size:11px;color:rgba(255,255,255,.7); }
        body.page-home .hero-secondary { display:flex;flex-direction:column;gap:10px; }
        body.page-home .hero-side-card {
            flex:1;padding:14px 16px;border-radius:var(--radius-md);
            background:rgba(255,255,255,0.52);backdrop-filter:blur(14px) saturate(180%);
            -webkit-backdrop-filter:blur(14px) saturate(180%);
            border:1px solid var(--glass-border);text-decoration:none;
            display:flex;flex-direction:column;gap:6px;transition:all 0.2s;
        }
        [data-theme="dark"] body.page-home .hero-side-card { background:rgba(36,33,28,0.55); }
        body.page-home .hero-side-card:hover { border-color:var(--gold); }
        body.page-home .hero-side-card h3 { font-size:14px;color:var(--ink);line-height:1.5;font-weight:600; }

        /* Headlight streak 已删：首页没有这个元素（配套 JS 同删） */

        /* --- Bento 数据带 --- */
        body.page-home .bento-strip { display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:10px;margin:6px 0; }
        body.page-home .bento-card {
            padding:14px 16px;border-radius:var(--radius-md);text-decoration:none;
            background:rgba(255,255,255,0.52);backdrop-filter:blur(14px) saturate(180%);
            -webkit-backdrop-filter:blur(14px) saturate(180%);
            border:1px solid var(--glass-border);display:flex;flex-direction:column;
            align-items:center;justify-content:center;text-align:center;gap:6px;
            transition:all 0.2s;
        }
        [data-theme="dark"] body.page-home .bento-card { background:rgba(36,33,28,0.55); }
        body.page-home .bento-card:hover { border-color:var(--gold); }
        body.page-home .bento-icon { font-size:22px; }
        body.page-home .bento-num { font-size:26px;font-weight:800;color:var(--ink);font-family:var(--serif); }
        body.page-home .bento-label { font-size:11px;color:var(--ink4); }
        body.page-home .bento-card a { font-size:11px;color:var(--gold-text);text-decoration:none;font-weight:500; }

        /* --- 温度仪表 --- */
        body.page-home .temp-card.t-warm { color:var(--gold); }
        body.page-home .temp-gauge { width:80px;height:50px;margin:0 auto; }
        body.page-home .temp-gauge svg { display:block; }
        body.page-home .temp-arc { transition:stroke-dashoffset 1s ease-out; }
        body.page-home .temp-needle { transition:transform 0.7s ease-out;transform-origin:60px 60px; }
        body.page-home .temp-readout { display:flex;align-items:center;gap:4px; }
        body.page-home .temp-score { font-size:28px;font-weight:900;font-family:var(--serif);color:var(--ink); }
        body.page-home .temp-label { font-size:12px;font-weight:600; }
        body.page-home .temp-why { font-size:10px;color:var(--ink4);cursor:pointer;margin-top:2px; }
        body.page-home .temp-why summary { list-style:none;text-decoration:underline dotted; }
        body.page-home .temp-why-body { margin-top:4px;font-size:10px;color:var(--ink3);line-height:1.5; }
        body.page-home .temp-why-nums { margin-top:4px;color:var(--ink4); }

        /* --- 早报快讯 --- */
        body.page-home .brief-wrap { margin:8px 0; }
        body.page-home .brief-card {
            display:block;padding:12px 18px;border-radius:var(--radius-md);
            background:rgba(255,255,255,0.52);backdrop-filter:blur(14px) saturate(180%);
            -webkit-backdrop-filter:blur(14px) saturate(180%);
            border:1px solid var(--glass-border);text-decoration:none;
            transition:all 0.2s;
        }
        [data-theme="dark"] body.page-home .brief-card { background:rgba(36,33,28,0.55); }
        body.page-home .brief-card:hover { border-color:var(--gold); }

        /* --- Filter chip 栏 --- */
        body.page-home .filter-bar { display:flex;flex-wrap:wrap;gap:6px;align-items:center; }
        body.page-home .filter-item {
            padding:5px 14px;border-radius:16px;font-size:11px;font-weight:500;
            text-decoration:none;color:var(--ink2);border:1px solid var(--line);
            transition:all 0.2s;white-space:nowrap;background:rgba(255,255,255,0.4);
            backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
        }
        body.page-home .filter-item:hover { border-color:var(--gold);color:var(--gold-text);background:var(--gold-wash); }
        body.page-home .filter-item:first-child { background:var(--gold-wash);color:var(--gold-text);border-color:rgba(217,165,20,0.2); }
        body.page-home .filter-label { font-size:11px;color:var(--ink4);font-weight:600;margin-right:4px; }
        body.page-home .type-chip em { font-style:normal;opacity:0.7;margin-left:2px; }
        body.page-home .type-chip.type-recall { border-color:var(--red);color:var(--red);background:var(--red-light); }
        body.page-home .type-chip.type-price_cut { border-color:var(--gold);color:var(--gold-text);background:var(--gold-wash); }
        body.page-home .type-chip.type-launch { border-color:var(--green);color:var(--green);background:var(--green-light); }
        body.page-home .type-chip.type-policy { border-color:#6A8EB0;color:#3A5E80;background:rgba(106,142,176,0.08); }
        body.page-home .type-chip.type-autonomous { border-color:#8A6EA0;color:#5A3E70;background:rgba(138,110,160,0.08); }

        /* --- 杂志网格 --- */
        body.page-home .magazine-section { display:grid;grid-template-columns:1fr 280px;gap:20px;margin:12px 0; }
        body.page-home .magazine-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:10px; }
        body.page-home .news-card {
            display:flex;flex-direction:column;border-radius:var(--radius-md);
            background:transparent;backdrop-filter:blur(14px) saturate(180%);
            -webkit-backdrop-filter:blur(14px) saturate(180%);
            border:1px solid var(--glass-border);text-decoration:none;
            overflow:hidden;transition:all 0.2s;
        }
        body.page-home .news-card:hover { border-color:var(--gold);transform:translateY(-1px); }
        body.page-home .news-card-thumb { height:130px;overflow:hidden;background:var(--line);display:flex;align-items:center;justify-content:center; }
        body.page-home .news-card-body { padding:14px 16px;display:flex;flex-direction:column;gap:6px;flex:1; }
        body.page-home .news-card-body h3 { font-size:14px;color:var(--ink);line-height:1.5;font-weight:600; }

        /* --- Data chips --- */
        body.page-home .data-chips { display:flex;flex-wrap:wrap;gap:5px; }
        body.page-home .data-chip {
            padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600;
            white-space:nowrap;
        }
        body.page-home .chip-section { background:rgba(0,0,0,.04);color:var(--ink3); }
        body.page-home .chip-brand { background:var(--gold-wash);color:var(--gold-text); }
        body.page-home .chip-type.type-launch { background:var(--green-light);color:var(--green); }
        body.page-home .chip-type.type-price_cut { background:var(--gold-wash);color:var(--gold-text); }
        body.page-home .chip-type.type-autonomous { background:rgba(138,110,160,.08);color:#6A4E80; }
        body.page-home .chip-type.type-policy { background:rgba(106,142,176,.08);color:#4A6E90; }
        body.page-home .chip-type.type-sales { background:rgba(46,107,79,.08);color:var(--green); }
        body.page-home .chip-type.type-recall { background:var(--red-light);color:var(--red); }
        body.page-home .chip-event { background:rgba(0,0,0,.03);color:var(--ink4); }

        /* --- AI badge + quality badge --- */
        body.page-home .card-summary { font-size:12px;color:var(--ink2);line-height:1.6;margin:4px 0; }
        body.page-home .ai-badge {
            display:inline-block;padding:1px 6px;border-radius:3px;
            font-size:9px;font-weight:700;margin-right:4px;vertical-align:middle;
        }
        body.page-home .ai-badge--lead { background:var(--gold-wash);color:var(--gold-text);border:1px solid rgba(217,165,20,.15); }
        body.page-home .card-meta { display:flex;flex-wrap:wrap;gap:10px;font-size:10px;color:var(--ink4);margin-top:auto;padding-top:6px; }
        body.page-home .q-badge { padding:1px 6px;border-radius:3px;font-size:9px;font-weight:700; }
        body.page-home .q-high { background:var(--green-light);color:var(--green); }
        body.page-home .q-mid { background:var(--gold-wash);color:var(--gold-text); }
        body.page-home .q-low { background:var(--red-light);color:var(--red); }
        body.page-home .q-flag { font-size:9px;color:var(--red); }

        /* --- 低质折叠 --- */
        body.page-home .folded-low { margin-top:10px; }
        body.page-home .folded-low summary {
            padding:10px 14px;border-radius:var(--radius-sm);font-size:12px;
            color:var(--ink4);cursor:pointer;
            background:rgba(255,255,255,0.45);backdrop-filter:blur(12px) saturate(180%);
            -webkit-backdrop-filter:blur(12px) saturate(180%);
            border:1px solid var(--glass-border);
        }
        [data-theme="dark"] body.page-home .folded-low summary { background:rgba(36,33,28,0.50); }
        body.page-home .folded-low .news-item { display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--line); }
        body.page-home .folded-low .news-thumb { width:60px;height:60px;border-radius:6px;overflow:hidden;flex-shrink:0; }
        body.page-home .folded-low .news-body { flex:1; }
        body.page-home .folded-low h3 { font-size:13px;color:var(--ink);font-weight:600;margin:4px 0; }
        body.page-home .folded-low .summary { font-size:11px;color:var(--ink3);line-height:1.5; }
        body.page-home .folded-low .info-row { display:flex;flex-wrap:wrap;gap:8px;font-size:10px;color:var(--ink4);margin-top:4px; }

        /* --- 分页 --- */
        body.page-home .pagination { display:flex;gap:4px;align-items:center;margin-top:14px; }
        body.page-home .pagination a, body.page-home .pagination span {
            display:inline-flex;align-items:center;justify-content:center;
            min-width:30px;height:30px;padding:0 8px;border-radius:6px;
            font-size:12px;text-decoration:none;color:var(--ink3);
            background:rgba(255,255,255,0.52);backdrop-filter:blur(10px) saturate(180%);
            -webkit-backdrop-filter:blur(10px) saturate(180%);
            border:1px solid var(--glass-border);
        }
        [data-theme="dark"] body.page-home .pagination a, [data-theme="dark"] body.page-home .pagination span { background:rgba(36,33,28,0.50); }
        body.page-home .pagination .current { background:var(--gold);color:#fff;border-color:var(--gold);font-weight:600; }
        body.page-home .pagination a:hover { border-color:var(--gold);color:var(--gold); }

        /* --- 侧栏（个性化推荐 + 热门排行） --- */
        body.page-home .home-side { display:flex;flex-direction:column;gap:14px; }
        body.page-home .side-card {
            padding:16px;border-radius:var(--radius-md);
            background:rgba(255,255,255,0.52);backdrop-filter:blur(14px) saturate(180%);
            -webkit-backdrop-filter:blur(14px) saturate(180%);
            border:1px solid var(--glass-border);
        }
        [data-theme="dark"] body.page-home .side-card { background:rgba(36,33,28,0.55); }
        body.page-home .section-header { display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid var(--line); }
        body.page-home .section-title { font-family:var(--serif);font-size:17px;font-weight:900;color:var(--ink);letter-spacing:0.3px; }
        body.page-home .section-title::before { content:'';display:inline-block;width:3px;height:16px;background:var(--gold);border-radius:2px;margin-right:10px;vertical-align:-2px; }
        body.page-home .home-side { padding-top:44px; }
        body.page-home .hot-item {
            display:flex;align-items:flex-start;gap:10px;padding:8px 0;
            border-bottom:1px solid var(--line);text-decoration:none;transition:all 0.15s;
        }
        body.page-home .hot-item:last-child { border-bottom:none; }
        body.page-home .hot-item:hover { padding-left:4px; }
        body.page-home .hot-rank {
            display:inline-flex;align-items:center;justify-content:center;
            width:20px;height:20px;border-radius:5px;font-size:11px;font-weight:700;
            background:rgba(0,0,0,.05);color:var(--ink3);flex-shrink:0;
        }
        body.page-home .hot-rank.top-1 { background:var(--red);color:#fff; }
        body.page-home .hot-rank.top-2 { background:var(--red-deep);color:#fff; }
        body.page-home .hot-rank.top-3 { background:var(--gold);color:#fff; }
        body.page-home .hot-title { font-size:12px;color:var(--ink);line-height:1.5; }

        /* --- reveal/stagger 动画 --- */
        @keyframes revealUp{ from{opacity:0;transform:translateY(16px)} to{opacity:1;transform:translateY(0)} }
        body.page-home .reveal { animation:revealUp .5s ease-out both; }
        body.page-home .stagger-1 { animation-delay:.08s; }body.page-home .stagger-2 { animation-delay:.16s; }body.page-home .stagger-3 { animation-delay:.24s; }

        /* --- card-glow --- */
        body.page-home .card-glow { transition:border-color .25s,box-shadow .25s; }
        body.page-home .card-glow:hover { border-color:var(--gold);box-shadow:0 0 24px rgba(217,165,20,.08); }

        /* --- section watermark --- */
        body.page-home .section-watermark { position:relative; }
        body.page-home .section-watermark::after {
            content:attr(data-watermark);position:absolute;right:0;top:50%;
            transform:translateY(-50%);font-size:48px;font-weight:900;
            color:rgba(0,0,0,.03);pointer-events:none;letter-spacing:4px;
        }

        /* ===== 启动遮罩（仪表自检） ===== */
        
        html.startup body.page-home .startup-overlay { display: flex; }
        
        
        
        
        

        /* ===== Toast ===== */
        
        

        /* ===== 车灯光束 ===== */
        
        @keyframes headlight-sweep{
            from { left: -100%; }
            to   { left: 100%; }
        }

        /* ===== 移动端全屏菜单 ===== */
        
        
        
        
        
        

        /* ===== 移动端底部 Tab Bar ===== */
        
        
        
        
        

        /* ===== CMDK 命令面板 ===== */
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        

        /* ===== 页脚 ===== */
        
        
        
        
        @keyframes marquee-scroll{
            from { transform: translateX(0); }
            to   { transform: translateX(-50%); }
        }
        
        
        
        
        
        

        /* ===== 长辈模式 ===== */
        html.elder body.page-home { font-size: 19px; }
        html.elder body.page-home .sidebar { width: 280px; }
        html.elder body.page-home .logo-text { font-size: 19px; }
        html.elder body.page-home .nav-item { padding: 13px 14px; font-size: 15px; }
        html.elder body.page-home .nav-item i, html.elder body.page-home .nav-item .nav-icon { font-size: 16px; }
        html.elder body.page-home .nav-section-label { font-size: 11px; }
        html.elder body.page-home .dropdown-menu a { font-size: 13px; }
        html.elder body.page-home .designer-name { font-size: 14px; }
        html.elder body.page-home .designer-title { font-size: 11px; }
        html.elder body.page-home .stat-value { font-size: 26px; }
        html.elder body.page-home .stat-label { font-size: 16px; }
        html.elder body.page-home .card-title { font-size: 18px; }
        html.elder body.page-home .greeting { font-size: 17px; }
        html.elder body.page-home .cmdk-input { font-size: 19px; }
        html.elder body.page-home .news-headline { font-size: 17px; }
        html.elder body.page-home .news-meta { font-size: 14px; }
        html.elder body.page-home .trending-keyword { font-size: 16px; }
        html.elder body.page-home .trending-desc { font-size: 13px; }
        html.elder body.page-home .fp-compact h3 { font-size: 15px; }
        html.elder body.page-home .fp-meta { font-size: 12px; }
        html.elder body.page-home .news-card-body h3 { font-size: 16px; }
        html.elder body.page-home .card-summary { font-size: 13px; }
        html.elder body.page-home .card-meta { font-size: 12px; }
        html.elder body.page-home .section-title { font-size: 19px; }
        html.elder body.page-home .filter-item { font-size: 13px; }
        html.elder body.page-home .hot-title { font-size: 14px; }
        html.elder body.page-home .deck-label { font-size: 15px; }
        html.elder body.page-home .deck-row input { font-size: 14px; }
        html.elder body.page-home .bento-num { font-size: 22px; }
        html.elder body.page-home .bento-label { font-size: 12px; }
        html.elder body.page-home .brief-card { font-size: 14px; }
        html.elder body.page-home .bento-box span { line-height: 1.5; }
        html.elder body.page-home .user-name { font-size: 16px; }
        html.elder body.page-home .header-search input { font-size: 15px; }
        html.elder body.page-home .elder-toggle-btn { font-size: 13px; }
        html.elder body.page-home .elder-toggle-btn i { font-size: 16px; }
        html.elder body.page-home .hamburger span { width: 26px; height: 3px; }
        html.elder body.page-home .mobile-tab-bar a, html.elder body.page-home .mobile-tab-bar button { font-size: 12px; }
        html.elder body.page-home .mobile-menu a, html.elder body.page-home .mobile-menu button { font-size: 18px; }

        /* ===== 里程表翻牌动画 ===== */
        
        
        
        

        /* ===== SVG ring 动画 ===== */
        

        /* ===== 响应式 ===== */
        
@media (max-width: 1024px) {
body.page-home .stats-grid { grid-template-columns: repeat(2, 1fr); }
            
            
            body.page-home .layout-top-row { grid-template-columns:1fr 1fr; }
            body.page-home .layout-bottom-row { grid-template-columns:1fr; }
            body.page-home .home-side { display:none; }
            body.page-home .bento-strip { grid-template-columns:1fr 1fr; }
            body.page-home .temp-card { grid-column:span 2; }
            body.page-home .hero { grid-template-columns:1fr; }
            body.page-home .hero-main { min-height:180px; }
            body.page-home .fp-main { grid-template-columns:1fr; }
            body.page-home .fp-story { border-right:none;border-bottom:1px solid var(--line); }
            body.page-home .card-lg { grid-template-columns:140px 1fr; }
            body.page-home .card-mono .mchar { font-size:38px; }
}

        
@media (max-width: 900px) {
/* 侧边栏 → 左侧抽屉 */
            
            
            
            
            body.page-home .content-grid { grid-template-columns: 1fr; }
            
            
            body.page-home .news-thumb { width: 56px !important; height: 42px !important; font-size: 18px; }
            body.page-home .news-headline { font-size: 13px !important; }
            body.page-home .news-meta { font-size: 10px; gap: 6px; }
            body.page-home .trending-keyword { font-size: 13px; }
            body.page-home .trending-desc { font-size: 10px; }
            body.page-home .trending-heat span { font-size: 10px; }
            
            
            
            
            /* 顶栏右侧组在 390px 下实测撑到 393px，把整页顶出 466px 的横向滚动
               （实色版原本就有这个 bug，不是新加的）。收窄搜索框 + 让它允许压缩即可。 */
            
            
            
            
            
               /* 站宣言让位给搜索框；它在桌面首屏已经履行了职责 */
            body.page-home .layout-top-row { grid-template-columns:1fr 1fr; }
            body.page-home .layout-bottom-row { grid-template-columns:1fr; }
            body.page-home .home-side { display:none;padding-top:0; }
            body.page-home .magazine-grid { grid-template-columns:1fr; }
            body.page-home .hero { grid-template-columns:1fr; }
            body.page-home .hero-main { min-height:160px; }
            body.page-home .deck-row { flex-direction:column; }
            body.page-home .fp-story h2 { font-size:18px; }
            body.page-home .fp-story, body.page-home .fp-verify { padding:16px; }
            body.page-home .feed { grid-template-columns:1fr; }
            body.page-home .card-lg { grid-template-columns:1fr; }
            body.page-home .card-mono { min-height:60px;flex-direction:row;gap:12px;padding:14px; }
}

        
@media (max-width: 600px) {
body.page-home .stats-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
            body.page-home .stat-card { padding: 12px 14px; }
            body.page-home .stat-value { font-size: 17px; }
            
            
            
            
            body.page-home .news-thumb { width: 48px !important; height: 36px !important; font-size: 16px; }
            body.page-home .news-headline { font-size: 12px !important; }
            body.page-home .news-meta { flex-wrap: wrap; gap: 4px; }
            body.page-home .trending-badge { display: none; }
            
            body.page-home .layout-top-row { grid-template-columns:1fr; }
            body.page-home .layout-bottom-row { grid-template-columns:1fr; }
            body.page-home .home-side { display:flex;padding-top:0; }
}


        

        /* 剪影角标（#585）：信息流卡上「这篇在比两台车」的记号。
           左车墨、右车金——两个颜色跟 3D 对比页里那两台是同一套，
           点进去时能对上「刚才卡上那两台就是这两台」。 */
        body.page-home .sil-badge { display:flex; align-items:center; gap:8px; margin-bottom:8px; }
        body.page-home .sil-badge svg { height:17px; width:auto; overflow:visible; flex:none; }
        body.page-home .sil-badge svg path,
        body.page-home .sil-badge svg circle { fill:var(--ink); }
        body.page-home .sil-badge .sil-b path,
        body.page-home .sil-badge .sil-b circle { fill:var(--gold); }
        body.page-home .sil-badge span {
            font-size:10.5px; letter-spacing:.08em; color:var(--ink4);
            border:1px solid var(--line); border-radius:99px; padding:1px 7px;
        }
