/* ============================================================
   EAI 具身智能知识库 · 设计系统 v1.0
   深色 Hero + 浅色正文 / 蓝青主色 / 语义效果分级
   ============================================================ */
:root{
  --bg:#F4F6FA; --surface:#FFFFFF; --line:#E4E9F1; --line-2:#D4DCE7;
  --ink:#0F1B2D; --ink-2:#46566B; --ink-3:#7C8CA0;
  --brand:#0A5CFF; --brand-deep:#073DA8; --cyan:#00B8D9; --amber:#E8930C;
  --ok:#0E9F6E; --warn:#D97706; --bad:#E5484D;
  --hero-a:#0A1428; --hero-b:#0D2342; --hero-c:#0F3B6E;
  --radius:14px; --radius-s:9px;
  --shadow:0 1px 2px rgba(15,27,45,.05),0 8px 28px rgba(15,27,45,.07);
  --shadow-lift:0 2px 6px rgba(15,27,45,.08),0 16px 40px rgba(15,27,45,.12);
  --font:"PingFang SC","Hiragino Sans GB","Noto Sans SC","Source Han Sans SC","Microsoft YaHei",system-ui,-apple-system,sans-serif;
  --mono:ui-monospace,"SF Mono","JetBrains Mono",Menlo,Consolas,monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--font);background:var(--bg);color:var(--ink);font-size:15.5px;line-height:1.75;-webkit-font-smoothing:antialiased}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:3px}
img,svg{max-width:100%;vertical-align:middle}
.container{max-width:1120px;margin:0 auto;padding:0 22px}

/* ---------- 顶部导航（site.js 注入） ---------- */
.site-header{position:sticky;top:0;z-index:90;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav-inner{max-width:1240px;margin:0 auto;padding:0 20px;height:58px;display:flex;align-items:center;gap:18px}
.nav-brand{display:flex;align-items:center;gap:9px;font-weight:800;font-size:16px;color:var(--ink);white-space:nowrap;text-decoration:none}
.nav-brand:hover{text-decoration:none}
.nav-brand .logo-dot{width:26px;height:26px;border-radius:8px;background:linear-gradient(135deg,var(--brand),var(--cyan));display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:13px;font-weight:900;letter-spacing:.5px}
.nav-links{display:flex;gap:2px;margin-left:auto;overflow-x:auto;scrollbar-width:none}
.nav-links::-webkit-scrollbar{display:none}
.nav-link{padding:7px 12px;border-radius:8px;font-size:13.5px;color:var(--ink-2);white-space:nowrap;font-weight:500}
.nav-link:hover{background:#EDF2F9;color:var(--ink);text-decoration:none}
.nav-link.is-active{background:#E8F0FF;color:var(--brand);font-weight:700}
.nav-burger{display:none;margin-left:auto;width:38px;height:38px;border:1px solid var(--line);border-radius:9px;background:#fff;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.nav-burger span{display:block;width:16px;height:2px;background:var(--ink);border-radius:2px;transition:.2s}
.nav-burger.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav-burger.open span:nth-child(2){opacity:0}
.nav-burger.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
@media(max-width:920px){
  .nav-burger{display:flex}
  .nav-links{display:none;position:absolute;top:58px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;padding:10px 14px;gap:4px;box-shadow:var(--shadow-lift)}
  .nav-links.open{display:flex}
  .nav-link{padding:11px 12px;font-size:14.5px}
}

/* ---------- Hero ---------- */
.hero{position:relative;color:#fff;overflow:hidden;background:linear-gradient(158deg,var(--hero-a) 0%,var(--hero-b) 52%,var(--hero-c) 100%)}
.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(ellipse 90% 80% at 60% 10%,#000 30%,transparent 75%)}
.hero::after{content:"";position:absolute;width:520px;height:520px;right:-140px;top:-220px;border-radius:50%;background:radial-gradient(circle,rgba(0,184,217,.22),transparent 65%)}
.hero-in{position:relative;z-index:1;max-width:1120px;margin:0 auto;padding:58px 22px 50px}
.hero-kicker{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;letter-spacing:.14em;font-weight:700;color:#7FD4FF;text-transform:uppercase;margin-bottom:14px}
.hero-kicker::before{content:"";width:22px;height:2px;background:#7FD4FF;border-radius:2px}
.hero-title{font-size:clamp(26px,4.4vw,40px);font-weight:800;line-height:1.25;letter-spacing:.01em}
.hero-title em{font-style:normal;background:linear-gradient(90deg,#7FD4FF,#38E1C6);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-sub{margin-top:12px;font-size:15.5px;color:#B9CBE3;max-width:760px;line-height:1.85}
.hero-meta{margin-top:20px;display:flex;flex-wrap:wrap;gap:8px}
.hero-chip{font-size:12px;color:#AFC6E4;border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:4px 12px;background:rgba(255,255,255,.06)}

/* ---------- 正文骨架 ---------- */
.page-body{padding:40px 0 72px}
.kicker{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:800;letter-spacing:.12em;color:var(--brand);text-transform:uppercase}
.kicker::before{content:"";width:18px;height:2px;background:var(--brand);border-radius:2px}
.section{margin-top:52px}
.section:first-child{margin-top:8px}
.section-title{font-size:23px;font-weight:800;margin-top:10px;line-height:1.4;display:flex;align-items:baseline;gap:10px}
.section-no{font-family:var(--mono);font-size:14px;color:var(--ink-3);font-weight:700}
.lead{margin-top:12px;color:var(--ink-2);font-size:15.5px;max-width:860px}
.lead strong,.card strong,td strong{color:var(--ink)}
h3.sub{font-size:17.5px;font-weight:800;margin:34px 0 12px;display:flex;align-items:center;gap:9px}
h3.sub::before{content:"";width:5px;height:17px;border-radius:3px;background:linear-gradient(180deg,var(--brand),var(--cyan))}
p.body-p{margin:10px 0;color:var(--ink-2)}
p.body-p strong{color:var(--ink)}

/* ---------- 卡片与网格 ---------- */
.grid{display:grid;gap:14px;margin-top:18px}
.cols-2{grid-template-columns:repeat(2,1fr)}
.cols-3{grid-template-columns:repeat(3,1fr)}
.cols-4{grid-template-columns:repeat(4,1fr)}
.cols-5{grid-template-columns:repeat(5,1fr)}
@media(max-width:1000px){.cols-4,.cols-5{grid-template-columns:repeat(2,1fr)}.cols-3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.cols-2,.cols-3,.cols-4,.cols-5{grid-template-columns:1fr}}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px 18px 16px;box-shadow:var(--shadow);transition:transform .18s,box-shadow .18s}
.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lift)}
.card-title{font-size:15px;font-weight:800;margin-bottom:6px;display:flex;align-items:center;gap:8px}
.card-body{font-size:13.5px;color:var(--ink-2);line-height:1.8}
.card .num{font-family:var(--mono);font-size:12px;color:var(--ink-3)}

/* ---------- 数字卡 ---------- */
.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px 16px 13px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.stat-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--brand),var(--cyan))}
.stat-num{font-size:25px;font-weight:900;letter-spacing:-.01em;font-variant-numeric:tabular-nums;color:var(--ink);line-height:1.2}
.stat-num .unit{font-size:13px;font-weight:700;color:var(--ink-3);margin-left:2px}
.stat-label{font-size:12.5px;color:var(--ink-2);margin-top:4px;line-height:1.6}
.stat-src{font-size:11px;color:var(--ink-3);margin-top:6px;font-family:var(--mono)}
.stat-src a{color:var(--ink-3);border-bottom:1px dotted var(--line-2)}

/* ---------- 表格 ---------- */
.table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow-x:auto;margin-top:16px}
table.data{width:100%;border-collapse:collapse;font-size:13px;min-width:640px}
table.data th{background:#F0F4FA;color:var(--ink-2);font-weight:700;text-align:left;padding:10px 12px;border-bottom:1px solid var(--line-2);white-space:nowrap;font-size:12.5px}
table.data td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top;color:var(--ink-2);line-height:1.7}
table.data tr:last-child td{border-bottom:none}
table.data tbody tr:hover td{background:#F8FAFE}
table.data td:first-child{color:var(--ink);font-weight:600}
table.data .num-cell{font-family:var(--mono);font-size:12.5px;white-space:nowrap}

/* ---------- 徽章 / 标签 ---------- */
.badge{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:700;padding:2.5px 9px;border-radius:999px;white-space:nowrap;line-height:1.5}
.badge::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.b-pass{background:#E4F7EE;color:#0B7A52}
.b-ok{background:#E3F2FD;color:#1565C0}
.b-warn{background:#FDF1DF;color:#A85E07}
.b-fail{background:#FDE8E8;color:#C03337}
.b-info{background:#EBEFFF;color:#3B4FD8}
.b-mute{background:#EEF1F5;color:#68788E}
.tag{display:inline-block;font-size:11.5px;color:var(--ink-2);background:#EEF2F8;border:1px solid var(--line);border-radius:7px;padding:2px 9px;margin:2px 3px 2px 0}

/* ---------- 提示框 ---------- */
.callout{border-radius:var(--radius);padding:15px 17px;margin-top:16px;font-size:14px;line-height:1.85;border:1px solid;position:relative}
.callout .co-title{font-weight:800;font-size:13px;letter-spacing:.06em;display:flex;align-items:center;gap:7px;margin-bottom:5px}
.c-key{background:#F0F6FF;border-color:#C9DCFF;color:#20365C}
.c-key .co-title{color:var(--brand-deep)}
.c-warn{background:#FFF9F0;border-color:#F5DDB4;color:#5C4A22}
.c-warn .co-title{color:var(--amber)}
.c-quote{background:#F7F5FF;border-color:#DED6F5;color:#3D3560;font-style:normal}
.c-quote .co-title{color:#6C4FD8}
.c-src{background:#F8FAFC;border-color:var(--line);color:var(--ink-3);font-size:12.5px}
.c-src .co-title{color:var(--ink-3)}

/* ---------- 分栏对比 ---------- */
.split{display:grid;grid-template-columns:1fr 44px 1fr;align-items:stretch;gap:0;margin-top:18px}
.split .side{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}
.split .mid{display:flex;align-items:center;justify-content:center;font-weight:900;color:var(--ink-3);font-size:12px}
@media(max-width:760px){.split{grid-template-columns:1fr}.split .mid{padding:6px 0}}
.side-title{font-weight:800;font-size:14.5px;margin-bottom:8px}
.side ul{list-style:none}
.side li{font-size:13px;color:var(--ink-2);padding:5px 0 5px 16px;position:relative;line-height:1.7}
.side li::before{content:"";position:absolute;left:2px;top:13px;width:6px;height:6px;border-radius:2px;background:var(--cyan)}

/* ---------- 时间线 ---------- */
.timeline{position:relative;margin-top:20px;padding-left:26px}
.timeline::before{content:"";position:absolute;left:7px;top:6px;bottom:6px;width:2px;background:linear-gradient(180deg,var(--brand),var(--cyan))}
.tl-item{position:relative;padding:0 0 22px 14px}
.tl-item::before{content:"";position:absolute;left:-25px;top:7px;width:12px;height:12px;border-radius:50%;background:#fff;border:3px solid var(--brand)}
.tl-year{font-family:var(--mono);font-weight:800;font-size:14px;color:var(--brand-deep)}
.tl-body{font-size:13.5px;color:var(--ink-2);margin-top:3px;line-height:1.8}
.tl-body strong{color:var(--ink)}

/* ---------- 分层（成熟度） ---------- */
.tier{border-radius:var(--radius);padding:14px 16px;margin-top:12px;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);display:flex;gap:14px;align-items:flex-start}
.tier-chip{flex-shrink:0;font-family:var(--mono);font-weight:900;font-size:13px;color:#fff;border-radius:9px;padding:5px 11px;letter-spacing:.03em}
.t1 .tier-chip{background:linear-gradient(135deg,#0E9F6E,#0BBF87)}
.t15 .tier-chip{background:linear-gradient(135deg,#0A5CFF,#3D8BFF)}
.t2 .tier-chip{background:linear-gradient(135deg,#D97706,#F0A32B)}
.t3 .tier-chip{background:linear-gradient(135deg,#8A97A8,#A5B2C2)}
.tier-body{font-size:13.5px;color:var(--ink-2);line-height:1.8}
.tier-body strong{color:var(--ink)}

/* ---------- CSS 条形图 ---------- */
.bar-row{display:grid;grid-template-columns:150px 1fr 110px;gap:10px;align-items:center;margin-top:9px;font-size:13px}
.bar-row .bar-label{color:var(--ink-2);text-align:right;font-weight:600}
.bar-track{background:#E9EEF5;border-radius:6px;height:16px;overflow:hidden}
.bar-fill{height:100%;border-radius:6px;background:linear-gradient(90deg,var(--brand),var(--cyan));min-width:3px}
.bar-fill.f-amber{background:linear-gradient(90deg,#D97706,#F0A32B)}
.bar-fill.f-red{background:linear-gradient(90deg,#C03337,#E5484D)}
.bar-fill.f-green{background:linear-gradient(90deg,#0B7A52,#0E9F6E)}
.bar-val{font-family:var(--mono);font-size:12px;color:var(--ink-2);white-space:nowrap}
@media(max-width:640px){.bar-row{grid-template-columns:105px 1fr 84px}}

/* ---------- 图（SVG容器） ---------- */
.svg-fig{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;margin-top:16px;overflow-x:auto}
.fig-cap{text-align:center;font-size:12px;color:var(--ink-3);margin-top:10px}
.svg-fig svg{display:block;margin:0 auto;min-width:560px;max-width:100%;height:auto}
.svg-fig svg text{font-family:var(--font)}
.svg-fig svg .sv-num{font-family:var(--mono)}

/* ---------- 页内目录（site.js 注入） ---------- */
.toc-rail{position:fixed;right:18px;top:110px;width:196px;font-size:12px;z-index:40;display:none}
@media(min-width:1480px){.toc-rail{display:block}}
.toc-title{font-weight:800;color:var(--ink-3);letter-spacing:.1em;font-size:10.5px;margin-bottom:8px;text-transform:uppercase}
.toc-link{display:block;padding:4.5px 10px;color:var(--ink-3);border-left:2px solid var(--line);line-height:1.5}
.toc-link:hover{color:var(--ink);text-decoration:none}
.toc-link.is-active{color:var(--brand);border-left-color:var(--brand);font-weight:700;background:linear-gradient(90deg,rgba(10,92,255,.06),transparent)}

/* ---------- 章节脚部导航 ---------- */
.foot-nav{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:56px}
@media(max-width:640px){.foot-nav{grid-template-columns:1fr}}
.foot-nav a{display:block;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow);color:var(--ink-2)}
.foot-nav a:hover{text-decoration:none;border-color:var(--brand);transform:translateY(-2px);box-shadow:var(--shadow-lift)}
.foot-nav .fn-label{font-size:11px;color:var(--ink-3);letter-spacing:.1em;font-weight:700}
.foot-nav .fn-name{font-weight:800;color:var(--ink);font-size:14.5px;margin-top:3px}
.foot-nav .fn-next{text-align:right}

/* ---------- 页脚（site.js 注入） ---------- */
.site-footer{background:linear-gradient(160deg,#0A1428,#0D2342);color:#8FA6C4;margin-top:40px}
.footer-in{max-width:1120px;margin:0 auto;padding:34px 22px;display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between;align-items:flex-start}
.footer-brand{font-weight:800;color:#E8EFF9;font-size:15px}
.footer-note{font-size:12px;line-height:1.9;max-width:560px}
.footer-note a{color:#7FD4FF}
.footer-meta{font-size:11.5px;font-family:var(--mono);color:#5E7699}

/* ---------- 其他 ---------- */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}
#backtop{position:fixed;right:20px;bottom:22px;width:42px;height:42px;border-radius:12px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow-lift);cursor:pointer;z-index:80;color:var(--ink-2);font-size:16px;opacity:0;pointer-events:none;transition:.25s}
#backtop.show{opacity:1;pointer-events:auto}
#backtop:hover{color:var(--brand);border-color:var(--brand)}
.chip-date{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-2);background:#EEF3FA;border:1px solid var(--line);border-radius:999px;padding:3.5px 12px;font-family:var(--mono)}
hr.sep{border:none;border-top:1px solid var(--line);margin:34px 0}
.small-note{font-size:12px;color:var(--ink-3);line-height:1.8}
