/* ==========================================================================
   马斯克 · Musk Insight — 共享设计系统 (Shared Design System)
   主题：深空黑 × 点火橙 × 特斯拉红 · 工程、冷峻、张力 · 亮/暗双主题
   供全部 14 个模块复用。组件类清单见
   ========================================================================== */

/* ── 暗色主题（默认）───────────────────────────────────────────────── */
:root{
  --bg:#07080e;
  --bg-soft:#0c0e16;
  --bg-card:#11141d;
  --bg-card-2:#171b26;
  --bg-hover:#1e2332;
  --bg-code:#090b11;          /* 公式 / 代码块底 */
  --border-solid:#262c3a;
  --line:#2f3646;

  --text:#e9edf5;
  --text-muted:#99a3b8;
  --text-dim:#828ca4;
  --text-strong:#ffffff;      /* 加粗 / 标题的最亮色 */

  --accent:#ff7a45;           /* 点火橙 —— 链接 / 导航 / 主强调 */
  --brand:#e82127;            /* 特斯拉红 —— logo / 进度条起点 */
  --accent-2:#b57bff;         /* 紫 —— 推导 / 我的看法 */
  --accent-3:#2fd4c4;         /* 青绿 —— 洞察 / 关键词 */
  --gold:#f2cd5c;             /* 金 —— 一手引语 */
  --green:#3ddc97;            /* 绿 —— 已兑现 */
  --orange:#e0913f;           /* 琥珀 —— 假设与局限 */
  --red:#f4718f;              /* 玫红 —— 存疑 / 落空 */
  --pink:#ff90b6;
  --blue:#5aa9ff;             /* 冷蓝 —— 未决 / 中性数据 */

  --glow:rgba(255,122,69,.15);
  --glow-2:rgba(181,123,255,.14);
  --glow-3:rgba(47,212,196,.13);
  --shadow:0 18px 50px rgba(0,0,0,.55);
  --radius:16px;
  --maxw:1080px;
  --serif:"Georgia","Songti SC","Noto Serif SC",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans SC","PingFang SC",Helvetica,Arial,sans-serif;
  --mono:"SF Mono","JetBrains Mono","Fira Code",ui-monospace,monospace;
}

/* ── 亮色主题（跟随系统 prefers-color-scheme）──────────────────────── */
@media (prefers-color-scheme: light){
  :root{
    --bg:#f8f7f5;
    --bg-soft:#f1efec;
    --bg-card:#ffffff;
    --bg-card-2:#f4f2ef;
    --bg-hover:#ebe8e4;
    --bg-code:#f4f3f0;
    --border-solid:#e0dcd6;
    --line:#e8e5e0;

    --text:#1a1c22;
    --text-muted:#4e5462;
    --text-dim:#5c626f;       /* 小字（.src 12px / 页脚 13px）也要过 AA，故加深 */
    --text-strong:#0c0e13;

    /* 亮色下全部加深：需同时对 --bg(#f8f7f5) / --bg-card(#fff) / --bg-card-2(#f4f2ef) 过 AA 4.5:1 */
    --accent:#b03a13;
    --brand:#b3121a;
    --accent-2:#5f34b0;
    --accent-3:#0a6a61;
    --gold:#84610f;
    --green:#0a7048;
    --orange:#8f5316;
    --red:#b32b43;
    --pink:#a4436d;
    --blue:#1560ae;

    --glow:rgba(196,69,28,.09);
    --glow-2:rgba(111,66,193,.07);
    --glow-3:rgba(13,124,114,.07);
    --shadow:0 16px 40px rgba(40,30,20,.12);
  }
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:var(--sans);
  background:
    radial-gradient(1200px 700px at 85% -8%,var(--glow-2),transparent 55%),
    radial-gradient(1100px 650px at 8% 4%,var(--glow),transparent 50%),
    var(--bg);
  color:var(--text);
  line-height:1.78;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}

/* ── 页面骨架 ─────────────────────────────────────────────────────── */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
/* 横向 24px 与 .wrap 对齐（拆分纵/横向），避免被后声明清零导致移动端正文贴边 */
.wrap.page{padding:56px 24px 120px}

/* ── 顶部 sticky 导航（topbar + modnav）──────────────────────────── */
.topbar{
  position:sticky;top:0;z-index:50;
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  background:var(--bg); /* fallback for browsers without color-mix */
  background:color-mix(in srgb,var(--bg) 78%,transparent);
  border-bottom:1px solid var(--border-solid);
}
.topbar-inner{max-width:1280px;margin:0 auto;padding:12px 24px;display:flex;align-items:center;gap:18px}
.topbar .home{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.3px;font-size:15px;color:var(--text)}
.topbar .home .logo{width:27px;height:27px;border-radius:8px;background:linear-gradient(135deg,var(--brand),var(--accent-2));display:grid;place-items:center;font-size:14px;font-weight:800;color:#fff;box-shadow:0 4px 12px var(--glow)}
.topbar .home:hover{text-decoration:none;opacity:.85}
.topbar .modnav{display:flex;gap:4px;margin-left:auto;flex-wrap:wrap}
.topbar .modnav a{font-size:12.5px;color:var(--text-muted);padding:6px 11px;border-radius:9px;transition:.15s}
.topbar .modnav a:hover{color:var(--text);background:var(--bg-hover);text-decoration:none}
.topbar .modnav a.cur{color:var(--accent);background:var(--glow)}

/* ── hero ─────────────────────────────────────────────────────────── */
.hero{position:relative;padding:64px 0 36px;text-align:center}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;letter-spacing:2px;text-transform:uppercase;color:var(--accent);font-weight:700;padding:6px 14px;border:1px solid var(--border-solid);border-radius:999px;background:var(--glow)}
.hero h1{font-size:clamp(30px,5.2vw,56px);line-height:1.12;font-weight:850;margin:22px 0 6px;letter-spacing:-.5px;
  background:linear-gradient(120deg,var(--text-strong) 6%,var(--accent) 50%,var(--accent-2) 96%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hero .sub{font-size:clamp(15px,2vw,19px);color:var(--text-muted);max-width:780px;margin:14px auto 0}
.hero .meta{margin-top:24px;display:flex;gap:22px;justify-content:center;flex-wrap:wrap;color:var(--text-dim);font-size:13px}
.hero .meta b{color:var(--text)}

/* ── hero 品牌行（logo + 剪影）────────────────────────────────────── */
.brandrow{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;margin:26px 0 4px}
.brandrow img.dslogo{height:34px;width:auto;filter:drop-shadow(0 4px 14px var(--glow))}
.brandrow .divider{width:1px;height:30px;background:var(--border-solid)}

/* ── 流程 chips（hero 时间线 / 路线）──────────────────────────────── */
.flow{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin:22px auto 0;max-width:900px}
.flow .node{font-size:12.5px;padding:6px 13px;border-radius:999px;background:var(--bg-card);border:1px solid var(--border-solid);color:var(--text-muted);white-space:nowrap}
.flow .node b{color:var(--accent);font-weight:700}
.flow .arrow{color:var(--text-dim);font-size:12px}

/* ── section 标题 ─────────────────────────────────────────────────── */
.kicker{font-size:12.5px;letter-spacing:2px;text-transform:uppercase;color:var(--accent-2);font-weight:800;margin-bottom:8px}
h2.sec{font-size:clamp(22px,3vw,32px);font-weight:820;margin:0 0 6px;letter-spacing:-.3px;color:var(--text-strong)}
.sec-sub{color:var(--text-muted);font-size:15px;margin-bottom:26px;max-width:840px}
section{margin-top:72px;scroll-margin-top:80px}
h3{font-size:20px;font-weight:750;margin:34px 0 12px;color:var(--text-strong)}
h4{font-size:16px;font-weight:700;margin:22px 0 8px;color:var(--accent-3)}
p{margin:12px 0;font-size:15.5px;color:var(--text)}
ul,ol{margin:12px 0 12px 4px;padding-left:22px}
li{margin:7px 0;font-size:15.5px;color:var(--text)}
strong{color:var(--text-strong);font-weight:700}
em{color:var(--gold);font-style:normal}
mark{background:linear-gradient(transparent 55%,color-mix(in srgb,var(--gold) 40%,transparent) 55%);color:inherit;padding:0 2px}
blockquote{margin:14px 0;padding:2px 0 2px 16px;border-left:3px solid var(--border-solid);color:var(--text-muted)}

/* ── 卡片 ─────────────────────────────────────────────────────────── */
.grid{display:grid;gap:18px}
.grid.c2{grid-template-columns:repeat(2,1fr)}
.grid.c3{grid-template-columns:repeat(3,1fr)}
.grid.c4{grid-template-columns:repeat(4,1fr)}
.grid.auto{grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}
@media(max-width:860px){.grid.c2,.grid.c3,.grid.c4{grid-template-columns:1fr}}
.card{background:linear-gradient(180deg,var(--bg-card),var(--bg-soft));border:1px solid var(--border-solid);border-radius:var(--radius);padding:22px;transition:.2s;position:relative;overflow:hidden}
.card:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--border-solid));transform:translateY(-3px);box-shadow:var(--shadow)}
.card h3{margin:0 0 8px;font-size:17px}
.card p{font-size:14px;color:var(--text-muted);margin:6px 0}
.card .ico{font-size:22px;margin-bottom:8px;display:block}

/* ── hub 导航卡 ───────────────────────────────────────────────────── */
.navcard{display:block;background:linear-gradient(160deg,var(--bg-card),var(--bg-soft));border:1px solid var(--border-solid);border-radius:18px;padding:24px;transition:.22s;position:relative;overflow:hidden;min-height:172px}
.navcard::after{content:"";position:absolute;inset:0;background:linear-gradient(160deg,transparent,var(--glow));opacity:0;transition:.22s}
.navcard:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--accent) 55%,var(--border-solid));box-shadow:var(--shadow);text-decoration:none}
.navcard:hover::after{opacity:1}
.navcard .num{font-family:var(--mono);font-size:12px;color:var(--accent);letter-spacing:1px}
.navcard h3{font-size:19px;margin:10px 0 8px;color:var(--text-strong)}
.navcard p{font-size:13.5px;color:var(--text-muted)}
.navcard .go{position:absolute;right:22px;bottom:18px;color:var(--accent);font-size:20px;transition:.2s}
.navcard:hover .go{transform:translateX(4px)}

/* ── callout（评价 / 提示 / 局限 …）───────────────────────────────── */
.callout{border-radius:14px;padding:16px 20px;margin:20px 0;border:1px solid var(--border-solid);background:var(--bg-card);position:relative}
.callout .lab{font-size:12px;font-weight:800;letter-spacing:1px;text-transform:uppercase;margin-bottom:6px;display:flex;align-items:center;gap:8px}
.callout p{margin:6px 0}
.callout.quote{border-left:4px solid var(--gold);background:linear-gradient(90deg,color-mix(in srgb,var(--gold) 12%,transparent),transparent)}
.callout.quote .lab{color:var(--gold)}
.callout.quote p{font-family:var(--serif);font-size:17px;line-height:1.7;color:var(--text)}
.callout.insight{border-left:4px solid var(--accent-3);background:linear-gradient(90deg,var(--glow-3),transparent)}
.callout.insight .lab{color:var(--accent-3)}
.callout.warn{border-left:4px solid var(--red);background:linear-gradient(90deg,color-mix(in srgb,var(--red) 12%,transparent),transparent)}
.callout.warn .lab{color:var(--red)}
.callout.derive{border-left:4px solid var(--accent-2);background:linear-gradient(90deg,var(--glow-2),transparent)}
.callout.derive .lab{color:var(--accent-2)}
.callout.limit{border-left:4px solid var(--orange);background:linear-gradient(90deg,color-mix(in srgb,var(--orange) 12%,transparent),transparent)}
.callout.limit .lab{color:var(--orange)}

/* “评价 / 我的看法” 醒目变体 —— 作者（AI）个人观点 */
.callout.me{
  border:1px solid color-mix(in srgb,var(--accent-2) 45%,var(--border-solid));
  border-left:4px solid var(--accent-2);
  background:
    linear-gradient(120deg,var(--glow-2),transparent 60%),
    linear-gradient(180deg,var(--bg-card-2),var(--bg-card));
  box-shadow:0 0 0 1px color-mix(in srgb,var(--accent-2) 12%,transparent) inset;
}
.callout.me .lab{color:var(--accent-2)}
.callout.me .lab::before{content:"✍";font-size:13px}

/* ── 数学 / 公式块 ────────────────────────────────────────────────── */
.mathblock{background:var(--bg-code);border:1px solid var(--border-solid);border-radius:12px;padding:14px 18px;margin:16px 0;overflow-x:auto}
.mathblock .cap{font-size:12px;color:var(--text-dim);margin-top:6px;font-family:var(--mono)}
mjx-container{color:var(--text);max-width:100%}
mjx-container[display="true"]{overflow-x:auto;overflow-y:hidden;max-width:100%}
/* 行内公式在窄屏会撑破容器。注意：max-width 对**非替换的行内元素不生效**，
   必须先强制为 inline-block，宽度约束与横向滚动才会真正起作用。 */
mjx-container:not([display="true"]){
  display:inline-block;max-width:100%;
  overflow-x:auto;overflow-y:hidden;vertical-align:middle;
}
/* 长 URL / 长文件路径同理：无断点的连续 ASCII 会把 390px 视口撑出几百像素 */
p,li,td,th,figcaption,.callout p,.pquote .meta,.src,dd{overflow-wrap:anywhere}

/* ── figure / svg / 论文图 ────────────────────────────────────────── */
figure{margin:22px 0;text-align:center}
figure svg{max-width:100%;height:auto}
.figbox{background:radial-gradient(circle at 50% 25%,var(--bg-card-2),var(--bg-soft));border:1px solid var(--border-solid);border-radius:16px;padding:22px;margin:22px 0;max-width:100%;overflow-x:auto}
figcaption{font-size:13px;color:var(--text-muted);margin-top:12px;line-height:1.6}
figcaption b{color:var(--text)}
img.paper{max-width:100%;border-radius:12px;border:1px solid var(--border-solid);background:#fff}

/* ── 表格 ─────────────────────────────────────────────────────────── */
.tbl{width:100%;border-collapse:collapse;margin:18px 0;font-size:14px;overflow:hidden;border-radius:12px;border:1px solid var(--border-solid)}
.tbl th{background:var(--bg-card-2);text-align:left;padding:11px 14px;font-size:12.5px;letter-spacing:.4px;color:var(--text-muted);border-bottom:1px solid var(--border-solid);font-weight:700}
.tbl td{padding:11px 14px;border-bottom:1px solid var(--border-solid);vertical-align:top;color:var(--text)}
.tbl tr:last-child td{border-bottom:none}
.tbl tr:hover td{background:var(--glow)}
.tbl td b{color:var(--text-strong)}
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:18px 0}
.table-wrap .tbl{margin:0;min-width:640px}

/* ── 折叠推导（details/summary）───────────────────────────────────── */
.acc{border:1px solid var(--border-solid);border-radius:12px;margin:14px 0;overflow:hidden;background:var(--bg-card)}
.acc>summary{cursor:pointer;padding:14px 18px;font-weight:700;font-size:15px;list-style:none;display:flex;align-items:center;gap:10px;color:var(--text-strong)}
.acc>summary::-webkit-details-marker{display:none}
.acc>summary::before{content:"▸";color:var(--accent);transition:.2s;font-size:12px}
.acc[open]>summary::before{transform:rotate(90deg)}
.acc>summary:hover{background:var(--bg-hover)}
.acc .body{padding:4px 20px 18px}

/* ── TL;DR 摘要块 ─────────────────────────────────────────────────── */
.tldr{
  border:1px solid color-mix(in srgb,var(--accent) 38%,var(--border-solid));
  border-radius:16px;padding:20px 22px;margin:22px 0;
  background:linear-gradient(160deg,var(--glow),transparent 65%),var(--bg-card);
}
.tldr>.lab{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:12px;font-weight:800;letter-spacing:1.5px;color:var(--accent);text-transform:uppercase;margin-bottom:10px}
.tldr>.lab::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px var(--glow)}
.tldr ol{margin:6px 0 0;padding-left:20px}
.tldr ol li{margin:9px 0;font-size:15px}
.tldr ol li b,.tldr ol li strong{color:var(--text-strong)}

/* ── 竖向时间线（.timeline / 兼容 .tl）────────────────────────────── */
.timeline,.tl{position:relative;margin:30px 0 10px;padding-left:8px}
.timeline::before,.tl::before{content:"";position:absolute;left:14px;top:6px;bottom:6px;width:2px;background:linear-gradient(var(--accent),var(--accent-2),var(--accent-3))}
.tl-item{position:relative;padding:0 0 30px 46px}
.tl-item .dot{position:absolute;left:6px;top:3px;width:18px;height:18px;border-radius:50%;background:var(--bg);border:3px solid var(--accent);box-shadow:0 0 0 4px var(--glow);transition:.2s}
.tl-item:hover .dot{transform:scale(1.15)}
.tl-item.era-model .dot{border-color:var(--accent);box-shadow:0 0 0 4px var(--glow)}
.tl-item.era-moment .dot{border-color:var(--red);box-shadow:0 0 0 4px color-mix(in srgb,var(--red) 22%,transparent)}
.tl-item.era-gov .dot{border-color:var(--gold);box-shadow:0 0 0 4px color-mix(in srgb,var(--gold) 24%,transparent)}
.tl-item.era-pre .dot{border-color:var(--text-dim);box-shadow:0 0 0 4px color-mix(in srgb,var(--text-dim) 20%,transparent)}
.tl-item .yr{font-family:var(--mono);font-size:13px;font-weight:700;color:var(--accent)}
.tl-item.era-moment .yr{color:var(--red)}
.tl-item.era-gov .yr{color:var(--gold)}
.tl-item.era-pre .yr{color:var(--text-dim)}
.tl-item h4{margin:2px 0 6px;color:var(--text-strong);font-size:16.5px}
.tl-item p{margin:4px 0;font-size:14px;color:var(--text-muted)}

/* ── tag / pill ───────────────────────────────────────────────────── */
.tag{display:inline-block;font-size:11px;padding:2px 9px;border-radius:999px;background:var(--bg-card-2);color:var(--text-muted);margin-right:6px;margin-top:6px;border:1px solid var(--border-solid)}
.tag.b{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,var(--border-solid))}
.pills{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}
.pill{font-size:13px;padding:7px 14px;border-radius:999px;background:var(--bg-card);border:1px solid var(--border-solid);color:var(--text-muted)}
.pill b{color:var(--accent)}

/* ── 统计卡 ───────────────────────────────────────────────────────── */
.stat{background:linear-gradient(180deg,var(--bg-card),var(--bg-soft));border:1px solid var(--border-solid);border-radius:14px;padding:20px;text-align:center}
.stat .big{font-size:30px;font-weight:850;background:linear-gradient(120deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;line-height:1.1}
.stat .lbl,.stat .lab{font-size:12.5px;color:var(--text-muted);margin-top:6px;display:block}

/* ── 大引用 ───────────────────────────────────────────────────────── */
.bigquote{font-family:var(--serif);font-size:clamp(18px,2.6vw,24px);line-height:1.55;color:var(--text);text-align:center;max-width:880px;margin:34px auto;position:relative}
.bigquote::before{content:"\201C";font-size:70px;color:var(--accent-2);opacity:.4;position:absolute;left:-8px;top:-34px}
.bigquote .by{display:block;font-family:var(--sans);font-size:14px;color:var(--text-dim);margin-top:14px;font-style:normal}
.bigquote .rp{display:block;font-family:var(--sans);font-size:12px;color:var(--text-dim);opacity:.8;margin-top:4px;font-style:normal;line-height:1.5}

/* ── 双栏对照 ─────────────────────────────────────────────────────── */
.vs{display:grid;grid-template-columns:1fr auto 1fr;gap:0;align-items:stretch;margin:22px 0;border:1px solid var(--border-solid);border-radius:16px;overflow:hidden}
.vs .col{padding:20px}
.vs .col.a{background:linear-gradient(180deg,var(--glow),transparent)}
.vs .col.b{background:linear-gradient(180deg,color-mix(in srgb,var(--red) 8%,transparent),transparent)}
.vs .col h4{margin-top:0}
.vs .mid{width:1px;background:var(--border-solid)}
.vs .col ul{margin:8px 0 0}
.vs .col li{font-size:14px}
@media(max-width:720px){.vs{grid-template-columns:1fr}.vs .mid{display:none}}

/* ── 页内小导航 ───────────────────────────────────────────────────── */
.jump{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 30px}
.jump a{font-size:13px;padding:6px 13px;border-radius:999px;border:1px solid var(--border-solid);color:var(--text-muted);background:var(--bg-card)}
.jump a:hover{color:var(--accent);border-color:var(--accent);text-decoration:none}

/* ── 信源筛选（Hub · N2 可点击分级）───────────────────────────────── */
.srcfilter{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 22px}
.srcfilter button{font-family:inherit;font-size:13px;padding:7px 15px;border-radius:999px;border:1px solid var(--border-solid);background:var(--bg-card);color:var(--text-muted);cursor:pointer;transition:.15s;display:inline-flex;align-items:center;gap:7px}
.srcfilter button::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--text-dim)}
.srcfilter button:hover{color:var(--text);border-color:color-mix(in srgb,var(--accent) 45%,var(--border-solid))}
.srcfilter button.active{color:var(--text-strong);border-color:var(--accent);background:var(--glow)}
.srcfilter button[data-f="all"]::before{background:linear-gradient(135deg,var(--accent),var(--accent-3))}
.srcfilter button[data-f="primary"]::before{background:var(--gold)}
.srcfilter button[data-f="official"]::before{background:var(--accent)}
.srcfilter button[data-f="secondary"]::before{background:var(--orange)}
.srcfilter button[data-f="inference"]::before{background:var(--accent-2)}
.srccard{border-left:4px solid var(--border-solid);padding-bottom:40px;display:block;text-decoration:none}
.srccard:hover{text-decoration:none}
.srccard[data-tier="primary"]{border-left-color:var(--gold)}
.srccard[data-tier="official"]{border-left-color:var(--accent)}
.srccard[data-tier="secondary"]{border-left-color:var(--orange)}
.srccard[data-tier="inference"]{border-left-color:var(--accent-2)}
.srccard .badge{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.4px;padding:2px 10px;border-radius:999px;margin-bottom:8px}
.srccard[data-tier="primary"] .badge{color:var(--gold);background:color-mix(in srgb,var(--gold) 15%,transparent)}
.srccard[data-tier="official"] .badge{color:var(--accent);background:var(--glow)}
.srccard[data-tier="secondary"] .badge{color:var(--orange);background:color-mix(in srgb,var(--orange) 15%,transparent)}
.srccard[data-tier="inference"] .badge{color:var(--accent-2);background:var(--glow-2)}
.srccard .go{position:absolute;right:20px;bottom:16px;color:var(--accent);font-size:18px;transition:.2s}
.srccard:hover .go{transform:translateX(4px)}
.srccard[hidden]{display:none!important}

/* ── ⑨ 引语索引：主题 × 可信度双维筛选（新增类，未改既有类语义）───── */
.qfilters{margin:6px 0 14px}
.qfrow{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:0 0 10px}
.qflab{font-size:12px;font-weight:800;letter-spacing:1px;color:var(--text-dim);flex:0 0 auto}
.qfilter{display:flex;gap:8px;flex-wrap:wrap}
.qfilter button{font-family:inherit;font-size:12.5px;padding:6px 14px;border-radius:999px;border:1px solid var(--border-solid);background:var(--bg-card);color:var(--text-muted);cursor:pointer;transition:.15s;display:inline-flex;align-items:center;gap:7px}
.qfilter button:hover{color:var(--text);border-color:color-mix(in srgb,var(--accent) 45%,var(--border-solid))}
.qfilter button.active{color:var(--text-strong);border-color:var(--accent);background:var(--glow)}
.qfilter button[data-f="primary"]::before,.qfilter button[data-f="secondary"]::before{content:"";width:8px;height:8px;border-radius:50%}
.qfilter button[data-f="primary"]::before{background:var(--gold)}
.qfilter button[data-f="secondary"]::before{background:var(--orange)}
.qcounter{font-size:12.5px;color:var(--text-dim);margin:0 0 4px}
.qcounter b{color:var(--accent);font-family:var(--mono)}
.qtable td{font-size:13.5px}
.qtable .qq{font-family:var(--serif);font-size:15px;line-height:1.5;color:var(--text)}
.qgroup{scroll-margin-top:96px}
.qgroup .qhead th{background:var(--bg-card-2);color:var(--text-strong);font-size:13px;letter-spacing:.3px;border-top:1px solid var(--border-solid)}
.qgroup .qhead .qhnum{color:var(--accent-2);font-family:var(--mono);margin-right:8px}
.qgroup .qhead .qhnote{color:var(--text-dim);font-weight:400;font-size:12px;margin-left:8px}
.qtier{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.4px;padding:2px 9px;border-radius:999px;white-space:nowrap}
.qrow[data-tier="primary"] .qtier{color:var(--gold);background:color-mix(in srgb,var(--gold) 15%,transparent)}
.qrow[data-tier="secondary"] .qtier{color:var(--orange);background:color-mix(in srgb,var(--orange) 15%,transparent)}
.qrow[data-tier="primary"]>td:first-child{border-left:3px solid var(--gold)}
.qrow[data-tier="secondary"]>td:first-child{border-left:3px solid var(--orange)}
.qnote{display:block;font-size:11.5px;color:var(--text-dim);margin-top:5px;line-height:1.5}
.qgo{font-size:12.5px;line-height:1.7}
.qgo a{display:block}
.qgroup[hidden],.qrow[hidden]{display:none!important}
.qempty{font-size:13.5px;color:var(--text-dim);margin:14px 0 0}

/* ── 进度条 ───────────────────────────────────────────────────────── */
#prog{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--brand),var(--accent-2),var(--accent-3));z-index:99;transition:width .1s}

/* ── 内联关键词 ───────────────────────────────────────────────────── */
.k{color:var(--accent-3);font-weight:600}
.person{color:var(--pink);font-weight:600}
.year-in{font-family:var(--mono);color:var(--gold);font-size:.92em}
.src{font-size:12px;color:var(--text-dim)}
.src a{color:var(--text-muted)}

/* ── 页脚 ─────────────────────────────────────────────────────────── */
.foot{margin-top:90px;border-top:1px solid var(--border-solid);padding:34px 0 60px;color:var(--text-dim);font-size:13px}
.foot a{color:var(--text-muted)}
.foot b{color:var(--text)}
.srclist{columns:2;column-gap:34px;margin-top:14px}
.srclist li{font-size:12.5px;color:var(--text-dim);break-inside:avoid;margin:5px 0}
@media(max-width:720px){.srclist{columns:1}}

/* ══════════════════════════════════════════════════════════════════════
   以下为「马斯克 Insight」新增组件（不改动上方既有类的语义）
   ══════════════════════════════════════════════════════════════════════ */

/* ── 双语引语块 .pquote —— 英文原话 + 中文翻译 + 出处 ─────────────── */
.pquote{
  border:1px solid var(--border-solid);border-left:4px solid var(--gold);
  border-radius:14px;padding:18px 22px;margin:20px 0;
  background:linear-gradient(100deg,color-mix(in srgb,var(--gold) 9%,transparent),transparent 62%),var(--bg-card);
}
.pquote .en{font-family:var(--serif);font-size:16.5px;line-height:1.62;color:var(--text-strong);font-style:italic}
.pquote .en::before{content:"“"}
.pquote .en::after{content:"”"}
.pquote .zh{font-size:14.5px;color:var(--text-muted);margin-top:9px;padding-top:9px;border-top:1px dashed var(--border-solid)}
.pquote .zh::before{content:"译 ";font-family:var(--mono);font-size:11px;color:var(--gold);letter-spacing:1px}
.pquote .meta{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:11px;font-size:11.5px;color:var(--text-dim);font-family:var(--mono);align-items:center}
.pquote .meta .who{color:var(--text-muted);font-weight:700}
.pquote .meta a{color:var(--text-dim);text-decoration:underline;text-underline-offset:2px}
/* 可信度徽标 */
.tier{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.5px;padding:1px 8px;border-radius:999px;font-family:var(--sans);white-space:nowrap}
.tier.p1{color:var(--gold);background:color-mix(in srgb,var(--gold) 16%,transparent)}      /* 一手实录 */
.tier.p2{color:var(--blue);background:color-mix(in srgb,var(--blue) 16%,transparent)}      /* 官方 / 论文 */
.tier.p3{color:var(--orange);background:color-mix(in srgb,var(--orange) 16%,transparent)}  /* 媒体转述 */
.tier.p4{color:var(--red);background:color-mix(in srgb,var(--red) 16%,transparent)}        /* 存疑 / 传闻 */

/* ── 预测判定徽标 .vd（记分卡用）──────────────────────────────────── */
.vd{display:inline-block;font-size:11.5px;font-weight:800;letter-spacing:.3px;padding:2px 10px;border-radius:999px;white-space:nowrap}
.vd.hit{color:var(--green);background:color-mix(in srgb,var(--green) 15%,transparent);border:1px solid color-mix(in srgb,var(--green) 34%,transparent)}
.vd.partial{color:var(--gold);background:color-mix(in srgb,var(--gold) 15%,transparent);border:1px solid color-mix(in srgb,var(--gold) 34%,transparent)}
.vd.open{color:var(--blue);background:color-mix(in srgb,var(--blue) 15%,transparent);border:1px solid color-mix(in srgb,var(--blue) 34%,transparent)}
.vd.miss{color:var(--red);background:color-mix(in srgb,var(--red) 15%,transparent);border:1px solid color-mix(in srgb,var(--red) 34%,transparent)}
.tbl tr[data-v="hit"] td:first-child{border-left:3px solid var(--green)}
.tbl tr[data-v="partial"] td:first-child{border-left:3px solid var(--gold)}
.tbl tr[data-v="open"] td:first-child{border-left:3px solid var(--blue)}
.tbl tr[data-v="miss"] td:first-child{border-left:3px solid var(--red)}

/* ── 时间线节点配色（本报告的域）──────────────────────────────────── */
.tl-item.era-space .dot{border-color:var(--accent);box-shadow:0 0 0 4px var(--glow)}
.tl-item.era-space .yr{color:var(--accent)}
.tl-item.era-ai .dot{border-color:var(--accent-3);box-shadow:0 0 0 4px var(--glow-3)}
.tl-item.era-ai .yr{color:var(--accent-3)}
.tl-item.era-auto .dot{border-color:var(--blue);box-shadow:0 0 0 4px color-mix(in srgb,var(--blue) 22%,transparent)}
.tl-item.era-auto .yr{color:var(--blue)}
.tl-item.era-bio .dot{border-color:var(--accent-2);box-shadow:0 0 0 4px var(--glow-2)}
.tl-item.era-bio .yr{color:var(--accent-2)}
.tl-item.era-social .dot{border-color:var(--pink);box-shadow:0 0 0 4px color-mix(in srgb,var(--pink) 22%,transparent)}
.tl-item.era-social .yr{color:var(--pink)}

/* ── 规格表 .kv（紧凑键值对）──────────────────────────────────────── */
.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:14px 0;font-size:13.5px}
.kv dt{color:var(--text-dim);font-family:var(--mono);font-size:12px;white-space:nowrap}
.kv dd{color:var(--text);margin:0}
.kv dd b{color:var(--text-strong)}

/* ── 图组 .figrow（并排图）────────────────────────────────────────── */
.figrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin:22px 0}
.figrow figure{margin:0}
.figrow .figbox{margin:0;height:100%}

/* ── 交互控件 .calc（可调参数的小工具）────────────────────────────── */
.calc{border:1px solid color-mix(in srgb,var(--accent-3) 34%,var(--border-solid));border-radius:16px;
  background:linear-gradient(160deg,var(--glow-3),transparent 60%),var(--bg-card);padding:20px 22px;margin:22px 0}
.calc>.lab{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11.5px;font-weight:800;
  letter-spacing:1.4px;color:var(--accent-3);text-transform:uppercase;margin-bottom:4px}
.calc>.lab::before{content:"◈"}
.calc .hint{font-size:12.5px;color:var(--text-dim);margin:2px 0 14px}
.calc .rows{display:grid;gap:13px}
.calc .row{display:grid;grid-template-columns:minmax(120px,190px) 1fr minmax(96px,auto);gap:14px;align-items:center}
.calc .row label{font-size:13px;color:var(--text-muted)}
.calc .row output{font-family:var(--mono);font-size:13px;color:var(--accent-3);text-align:right;font-weight:700}
.calc input[type=range]{width:100%;accent-color:var(--accent);height:22px;cursor:pointer}
.calc .out{margin-top:16px;padding-top:14px;border-top:1px solid var(--border-solid);display:flex;flex-wrap:wrap;gap:12px}
.calc .out .cell{flex:1 1 150px;background:var(--bg-code);border:1px solid var(--border-solid);border-radius:11px;padding:11px 14px}
.calc .out .cell .n{font-family:var(--mono);font-size:19px;font-weight:800;color:var(--accent);line-height:1.25;word-break:break-word}
.calc .out .cell .t{font-size:11.5px;color:var(--text-dim);margin-top:3px}
.calc .plot{margin-top:16px}
.calc .plot svg{width:100%;height:auto;display:block;border-radius:11px}
@media(max-width:640px){.calc .row{grid-template-columns:1fr;gap:5px}.calc .row output{text-align:left}}

/* ── 交互 SVG 通用：hover 描点、可点击节点 ────────────────────────── */
.isvg{cursor:default}
.isvg .hit{cursor:pointer}
.isvg .hit:hover .hl{opacity:1}
.isvg .hl{opacity:0;transition:opacity .16s}

/* ── 章节序号徽标 ─────────────────────────────────────────────────── */
.chip{display:inline-block;font-family:var(--mono);font-size:11px;letter-spacing:1px;padding:2px 9px;border-radius:6px;
  background:var(--bg-card-2);border:1px solid var(--border-solid);color:var(--text-dim);margin-right:8px}

/* ── 对照三栏 .tri ────────────────────────────────────────────────── */
.tri{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:20px 0}
.tri>div{border:1px solid var(--border-solid);border-radius:14px;padding:17px;background:var(--bg-card)}
.tri>div h4{margin-top:0}
.tri>div.a{border-top:3px solid var(--accent)}
.tri>div.b{border-top:3px solid var(--accent-3)}
.tri>div.c{border-top:3px solid var(--accent-2)}
@media(max-width:860px){.tri{grid-template-columns:1fr}}

/* ── 辩证块 .counter —— 业界不同看法与反方证据（本报告的对抗性组件）──────
   结构：.lab（标签）→ .claim（本报告主张）→ .against（反方及其证据）
        → .verdict（本报告的处置：采纳 / 部分采纳 / 维持原判 + 理由）        */
.counter{
  border:1px solid color-mix(in srgb,var(--blue) 40%,var(--border-solid));
  border-left:4px solid var(--blue);border-radius:14px;margin:22px 0;overflow:hidden;
  background:linear-gradient(180deg,color-mix(in srgb,var(--blue) 7%,transparent),transparent 55%),var(--bg-card);
}
.counter>.lab{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:800;letter-spacing:1px;
  text-transform:uppercase;color:var(--blue);padding:13px 20px 0}
.counter>.lab::before{content:"⚖"}
.counter .claim,.counter .against,.counter .verdict{padding:9px 20px;margin:0}
.counter .claim{border-bottom:1px dashed var(--border-solid)}
.counter .claim::before,.counter .against::before{
  display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.5px;font-family:var(--sans);
  padding:1px 8px;border-radius:999px;margin-right:9px;vertical-align:1px}
.counter .claim::before{content:"本报告";color:var(--accent-3);background:color-mix(in srgb,var(--accent-3) 15%,transparent)}
.counter .against::before{content:"反方";color:var(--blue);background:color-mix(in srgb,var(--blue) 15%,transparent)}
.counter .against{border-bottom:1px dashed var(--border-solid)}
.counter .against+.against{border-top:none}
.counter .verdict{background:color-mix(in srgb,var(--accent-2) 8%,transparent);font-size:14.5px;padding-bottom:14px}
.counter .verdict::before{content:"裁决";display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.5px;
  color:var(--accent-2);background:color-mix(in srgb,var(--accent-2) 15%,transparent);
  padding:1px 8px;border-radius:999px;margin-right:9px;vertical-align:1px}
/* 处置结论的四种徽标 */
.counter .verdict .vd{margin-left:2px}
@media (prefers-color-scheme: light){
  .counter .claim::before,.counter .against::before,.counter .verdict::before{
    color:var(--text-strong);background:transparent;border:1px solid currentColor}
}

/* ── 亮色主题下的小徽标：语义色只保留在边框/圆点，文字改用最强对比色 ─────
   （10.5–12px 的彩字压在同色 15% tint 上无法稳定过 WCAG AA，故此处降级处理） */
@media (prefers-color-scheme: light){
  .tier,.vd,.srccard .badge,.qtier{
    color:var(--text-strong)!important;
    background:transparent!important;
    border:1px solid currentColor;
    box-shadow:inset 3px 0 0 0 var(--_sem,var(--text-dim));
    padding-left:11px;
  }
  .tier.p1{--_sem:var(--gold)}   .tier.p2{--_sem:var(--blue)}
  .tier.p3{--_sem:var(--orange)} .tier.p4{--_sem:var(--red)}
  .vd.hit{--_sem:var(--green)}   .vd.partial{--_sem:var(--gold)}
  .vd.open{--_sem:var(--blue)}   .vd.miss{--_sem:var(--red)}
  .srccard[data-tier="primary"] .badge{--_sem:var(--gold)}
  .srccard[data-tier="official"] .badge{--_sem:var(--accent)}
  .srccard[data-tier="secondary"] .badge{--_sem:var(--orange)}
  .srccard[data-tier="inference"] .badge{--_sem:var(--accent-2)}
  .qrow[data-tier="primary"] .qtier{--_sem:var(--gold)}
  .qrow[data-tier="secondary"] .qtier{--_sem:var(--orange)}
  /* 小字下限：.src / 页脚不小于 12.5px 且用 --text-dim（已加深至 #5c626f） */
  .src,.foot,.srclist li{font-size:12.5px}
}

/* ── a11y ─────────────────────────────────────────────────────────── */
a:focus-visible,.acc>summary:focus-visible,.navcard:focus-visible,.jump a:focus-visible,.topbar .modnav a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}
.calc input[type=range]:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.acc>summary:focus-visible{outline-offset:-2px}

/* ── 响应式：窄屏 svg 可横向滚动 ──────────────────────────────────── */
@media(max-width:600px){figure{overflow-x:auto;-webkit-overflow-scrolling:touch}figure svg{min-width:520px}.tbl{font-size:13px}}

/* ── 移动端：跨模块导航可滚动条带 ─────────────────────────────────── */
@media(max-width:900px){
  .topbar-inner{flex-wrap:wrap;gap:10px}
  .topbar .modnav{display:flex;margin-left:0;width:100%;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}
  .topbar .modnav::-webkit-scrollbar{display:none}
  .topbar .modnav a{white-space:nowrap;flex:0 0 auto}
}

/* ── 减少动效偏好 ─────────────────────────────────────────────────── */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}
  [data-reveal]{opacity:1!important;transform:none!important}
  .card:hover,.navcard:hover{transform:none}
}

/* ── 打印 / 存 PDF ────────────────────────────────────────────────── */
@media print{
  body{background:#fff!important;color:#000!important;line-height:1.5}
  #prog,.topbar,.jump{display:none!important}
  [data-reveal]{opacity:1!important;transform:none!important}
  .wrap{max-width:100%!important;padding:0!important}
  a{color:#000!important;text-decoration:underline}
  .card,.callout,.navcard,.stat,.tbl,.figbox,.mathblock,.vs,.acc,.tl-item,.bigquote,.tldr,.pquote,.calc,.tri>div{background:#fff!important;border-color:#bbb!important;box-shadow:none!important;color:#000!important;break-inside:avoid}
  p,li,figcaption,.card p,.callout p,.sec-sub,.tl-item p,.stat .lbl,.stat .lab,.pquote .zh,.calc .hint{color:#111!important}
  .pquote .en{color:#000!important}
  .calc input[type=range]{display:none}
  .vd,.tier{border:1px solid #666!important;color:#000!important;background:none!important}
  .hero h1,.stat .big,h2.sec,.navcard h3{-webkit-text-fill-color:currentColor!important;background:none!important;color:#000!important}
  section{margin-top:28px}
}
