
/* ===== 升级建议 ===== */
.upgrade-card-v2 { background: linear-gradient(135deg, #eef0ff 0%, #f5f3ff 100%); border: 1px dashed #6366f1; border-radius: 12px; padding: 18px 20px; display: grid; grid-template-columns: auto 1fr auto; gap: 20px; align-items: center; }
@media (max-width: 640px) { .upgrade-card-v2 { grid-template-columns: 1fr; text-align: center; } }
.upgrade-icon-v2 { width: 56px; height: 56px; background: linear-gradient(135deg, #0071c5 0%, #4a9fd4 100%); border-radius: 14px; display: flex; align-items: center; justify-content: center; color: #fff; flex-shrink: 0; margin: 0 auto; }
.upgrade-body-v2 h3 { font-size: 15px; font-weight: 600; color: #14171e; margin-bottom: 6px; }
.upgrade-body-v2 p { font-size: 13px; color: #3a4256; line-height: 1.6; }
.upgrade-body-v2 strong { color: #6366f1; font-weight: 600; }
/* 人工价标注 —— 与 hero 的 .price-tag.tag-manual 视觉保持一致,
   让同一个页面里的两处价格标签长得一样 */
.up-price-manual {
    display: inline-block; font-style: normal;
    font-size: 11px; color: #c2410c; background: #fff3e8;
    padding: 2px 6px; border-radius: 4px; margin-left: 4px;
    font-weight: 500; vertical-align: middle;
}
.upgrade-grid-v2 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-top: 14px; }
@media (max-width: 640px) { .upgrade-grid-v2 { grid-template-columns: repeat(2, 1fr); } }
.upgrade-cell { background: #f1f1f4; border-radius: 8px; padding: 12px; text-align: center; }
.upgrade-cell .k { font-size: 11px; color: #7c7a8a; margin-bottom: 4px; }
.upgrade-cell .v { font-size: 13px; font-weight: 600; color: #10b981; }

/* ===== 历代同系列 CPU · 纵向时间轴(2026-11-11 重设计,替代旧表格) =====
   旧版是整格网格线 + 灰 sticky 角 + 横向滚动条,右侧列被切掉一半,像 2008 年的 Excel。
   新版一代一行:左侧竖线串年代,右侧三档型号横排,无横向滚动,手机端也友好。 */
.tlt-vtl { position: relative; padding-left: 30px; }
.tlt-vtl::before {
    content: ''; position: absolute; left: 9px; top: 14px; bottom: 14px; width: 2px;
    background: linear-gradient(180deg, #c9bcfa 0%, #e8e8f0 100%);
}
.tlt-row { position: relative; margin-bottom: 12px; }
.tlt-row:last-child { margin-bottom: 0; }
.tlt-dot {
    position: absolute; left: -27px; top: 16px; width: 13px; height: 13px; border-radius: 50%;
    background: #fff; border: 2.5px solid #d6d6e0; box-sizing: border-box;
}
.tlt-row.is-cur .tlt-dot { border-color: #6c5ce7; box-shadow: 0 0 0 4px rgba(108,92,231,.16); }
.tlt-card {
    background: #fff; border: 1px solid #e9e9ee; border-radius: 14px; padding: 12px 14px;
    display: flex; gap: 14px; align-items: center; flex-wrap: wrap;
    transition: box-shadow .18s ease, border-color .18s ease;
}
.tlt-card:hover { box-shadow: 0 6px 20px rgba(15,24,37,.07); border-color: #e2e2ec; }
.tlt-row.is-cur .tlt-card { border-color: #c9bcfa; background: linear-gradient(135deg, #fbfaff 0%, #ffffff 100%); }
.tlt-head { flex: 0 0 140px; min-width: 0; }
.tlt-year {
    display: inline-block; font-family: 'JetBrains Mono', ui-monospace, monospace;
    font-size: 11px; font-weight: 700; color: #5b4bc4;
    background: #f2efff; border-radius: 5px; padding: 1px 6px;
}
.tlt-row.is-cur .tlt-year { background: #6c5ce7; color: #fff; }
.tlt-name { font-size: 14px; font-weight: 700; margin-top: 6px; line-height: 1.3; color: #14171e; }
.tlt-row.is-cur .tlt-name { color: #5b4bc4; }
.tlt-gid { font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 10px; color: #a5a3b1; margin-top: 2px; }
.tlt-items { flex: 1; display: flex; gap: 8px; flex-wrap: wrap; min-width: 0; }
.tlt-item {
    flex: 1 1 190px; min-width: 0;
    border: 1px solid #eef0f6; border-radius: 11px; padding: 8px 10px; background: #fff;
}
.tlt-item-k { display: flex; align-items: center; gap: 6px; margin-bottom: 3px; }
.tlt-item-k i { width: 7px; height: 7px; border-radius: 50%; display: block; flex: 0 0 auto; }
.tlt-item-k b { font-size: 10.5px; color: #7c7a8a; font-weight: 700; }
.tlt-item-k em {
    font-style: normal; margin-left: auto;
    font-family: 'JetBrains Mono', ui-monospace, monospace;
    font-size: 10.5px; font-weight: 700; color: #059669;
}
.tlt-item-k em.is-down { color: #dc2626; }
.tlt-item-n { font-size: 11.5px; color: #3a4256; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tlt-item-s {
    font-family: 'JetBrains Mono', ui-monospace, monospace;
    font-size: 14px; font-weight: 700; letter-spacing: -.02em; margin-top: 2px; color: #14171e;
}
.tlt-item-s small { font-size: 10px; font-weight: 600; color: #a5a3b1; margin-left: 2px; }
.tlt-item-c {
    font-family: 'JetBrains Mono', ui-monospace, monospace;
    font-size: 10px; color: #7c7a8a; background: #f1f1f4; border-radius: 4px; padding: 0 4px; margin-left: 4px;
}
/* ===== 性能进度条(2026-11-11 站主拍板「甲 · 卡内细条」)=====
   条长 = 该型号多核分 ÷ 本模块最高分。
   ⚠ 口径:免费用户**也看条**,只把绝对分数打码 —— 相对强弱公开(这是模块的价值),
   绝对分数给 PRO。条宽能反推绝对值(±0.5%),这是站主明确接受的取舍。 */
.tlt-bar {
    height: 6px; border-radius: 99px; background: #eef0f6; margin-top: 7px; overflow: hidden;
}
.tlt-fill {
    display: block; height: 100%; border-radius: 99px;
    background: linear-gradient(90deg, #6c5ce7, #8b7cf6);
}
/* 分数打码(免费用户):•••• + PRO 徽标,HTML 里绝不下发数字 */
.tlt-item-s.is-locked {
    font-size: 12px; letter-spacing: 2px; color: #b9b6c6;
    display: flex; align-items: center; gap: 6px; margin-top: 3px;
}
.tlt-lockchip {
    display: inline-flex; align-items: center; gap: 3px;
    font-family: -apple-system, BlinkMacSystemFont, 'PingFang SC', sans-serif;
    font-size: 9.5px; font-weight: 700; letter-spacing: .2px; text-decoration: none;
    color: #5b4bcf; background: #f5f2ff; border: 1px dashed #c9bcfa;
    border-radius: 5px; padding: 1px 5px;
}
.tlt-lockchip:hover { background: #ede8ff; border-color: #b3a2f5; }
.tlt-lockchip svg { width: 9px; height: 9px; display: block; flex: 0 0 auto; }
@media (max-width: 768px) {
    .tlt-vtl { padding-left: 22px; }
    .tlt-dot { left: -19px; top: 14px; width: 11px; height: 11px; }
    .tlt-head { flex: 0 0 100%; }
    .tlt-name { display: inline-block; margin: 0 0 0 8px; vertical-align: baseline; }
    .tlt-gid { display: inline-block; margin-left: 6px; }
    .tlt-item { flex: 1 1 100%; }
}
