
:root {
  /* 亮色：中性色带一点青偏，和 FairLab teal 同处一个色世界 */
  --ground:#FFFFFF; --surface:#F4F9F8; --surface-2:#E8F1F0;
  --line:#D6E2E1; --line-soft:#E7EFEE;
  --ink:#111C1D; --ink-2:#31474A; --muted:#5D7476;
  --brand:#0F5C5E; --brand-deep:#083D3F; --brand-soft:#3E8486;
  --ember:#B44E1E; --ember-tint:#FBEFE9;
  --teal:#0F766E; --amber:#B45309; --slate:#64748B;
  --isef:#17365D; --yau:#6B3FA0; --sts:#0B5A83; --conrad:#E36C2D;
  --hero-ground:#083D3F; --hero-ink:#FFFFFF; --hero-muted:rgba(255,255,255,.68);
  --hero-line:rgba(255,255,255,.16); --hero-accent:#F0955F; --hero-border:transparent;
  --font-display:'Source Serif 4','Noto Serif SC',Georgia,serif;
  --font-body:'Inter','Noto Sans SC',-apple-system,'Helvetica Neue',sans-serif;
  --measure:66ch;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --ground:#08181A; --surface:#0D2426; --surface-2:#122E30;
    --line:#1D3B3D; --line-soft:#142C2E;
    --ink:#E5F0EF; --ink-2:#C1D5D3; --muted:#8FAAA9;
    --brand:#6CC0BD; --brand-deep:#C9E6E4; --brand-soft:#5BA8A6;
    --ember:#EA8B5B; --ember-tint:#2A1710;
    --teal:#4FD1BE; --amber:#E9A33F; --slate:#94A3B8;
    --isef:#8FB2E0; --yau:#B79AE0; --sts:#7DBBE0; --conrad:#EE9463;
    --hero-ground:#0B2426; --hero-line:rgba(255,255,255,.13); --hero-border:#1D3B3D;
  }
}
:root[data-theme="dark"] {
  --ground:#08181A; --surface:#0D2426; --surface-2:#122E30;
  --line:#1D3B3D; --line-soft:#142C2E;
  --ink:#E5F0EF; --ink-2:#C1D5D3; --muted:#8FAAA9;
  --brand:#6CC0BD; --brand-deep:#C9E6E4; --brand-soft:#5BA8A6;
  --ember:#EA8B5B; --ember-tint:#2A1710;
  --teal:#4FD1BE; --amber:#E9A33F; --slate:#94A3B8;
  --isef:#8FB2E0; --yau:#B79AE0; --sts:#7DBBE0; --conrad:#EE9463;
  --hero-ground:#0B2426; --hero-line:rgba(255,255,255,.13); --hero-border:#1D3B3D;
}

* { box-sizing:border-box; }
body { margin:0; background:var(--ground); color:var(--ink);
  font-family:var(--font-body); font-size:16px; line-height:1.72;
  -webkit-font-smoothing:antialiased; }
.page { max-width:1060px; margin:0 auto; padding:0 28px 88px; }
p { margin:0 0 1em; max-width:var(--measure); }
p:last-child { margin-bottom:0; }
strong { font-weight:600; color:var(--ink); }
a { color:var(--brand); text-underline-offset:3px; }
:focus-visible { outline:2px solid var(--ember); outline-offset:3px; border-radius:3px; }
@media (prefers-reduced-motion: reduce) { * { transition:none !important; animation:none !important; } }

/* 双语：两套文案都在 DOM 里，切换只改根节点属性，无请求、无闪烁 */
.bi-en { display:none; }
:root[data-lang="en"] .bi-zh { display:none; }
:root[data-lang="en"] .bi-en { display:inline; }

.label { font-weight:600; text-transform:uppercase; letter-spacing:.15em;
  font-size:10.5px; color:var(--brand-soft); }

/* ── 顶栏 ─────────────────────────────── */
.topbar { display:flex; align-items:center; justify-content:space-between;
  gap:20px; padding:24px 0 20px; }
.brandmark { display:flex; align-items:center; gap:10px; color:var(--brand); }
.brandmark .wm { font-weight:600; font-size:15px; letter-spacing:.14em; color:var(--ink); }
.brandmark .wm em { font-style:normal; font-weight:500; color:var(--muted); letter-spacing:.1em; }
.topnav { display:flex; align-items:center; gap:18px; }
.topnav .navlink { font-size:13px; font-weight:600; color:var(--brand); text-decoration:none; }
.topnav .navlink:hover { text-decoration:underline; }
.topnav { flex-wrap:wrap; }
.activity-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.activity-card { border:1px solid var(--line); border-top:3px solid var(--isef); border-radius:10px; padding:24px; background:var(--surface); }
.activity-card .activity-date { color:var(--muted); font-size:13px; margin-bottom:12px; }
.activity-card p { font-size:15px; }
.activity-links { display:flex; flex-wrap:wrap; gap:12px 20px; margin-top:20px; }
.activity-links a { font-weight:600; }
#history { scroll-margin-top:24px; }
@media (max-width:900px) { .topbar { flex-wrap:wrap; } .topnav { gap:12px 18px; } }
@media (max-width:600px) { .activity-grid { grid-template-columns:1fr; } }
.langswitch { display:inline-flex; border:1px solid var(--line); border-radius:100px; overflow:hidden; }
.langswitch button { appearance:none; border:0; background:transparent; cursor:pointer;
  font-family:var(--font-body); font-weight:600; font-size:11px; letter-spacing:.1em;
  padding:7px 15px; color:var(--muted); transition:background .15s,color .15s; }
.langswitch button[aria-pressed="true"] { background:var(--brand); color:#fff; }

/* ── Hero ─────────────────────────────── */
.hero { background:var(--hero-ground); color:var(--hero-ink); border-radius:14px;
  border:1px solid var(--hero-border);
  padding:52px 48px 46px; position:relative; overflow:hidden; }
.hero::before, .hero::after { content:''; position:absolute; border-radius:50%;
  border:1px solid var(--hero-line); pointer-events:none; }
.hero::before { width:420px; height:420px; right:-130px; top:-170px; }
.hero::after { width:420px; height:420px; right:-40px; top:-280px; }
.hero > * { position:relative; z-index:1; }
.hero .eyebrow { color:var(--hero-muted); }
.hero h1 { font-family:var(--font-display); font-weight:700; font-size:clamp(30px,4.4vw,46px);
  line-height:1.22; margin:16px 0 0; max-width:26ch; text-wrap:balance; }
.hero .slogan { font-family:var(--font-display); font-style:italic; font-size:18px;
  color:var(--hero-muted); margin-top:14px; }
.hero .lede { color:rgba(255,255,255,.86); margin-top:22px; max-width:62ch; }
.hero .lede strong { color:#fff; }

/* 证据门禁卡：正文里唯一带问号的东西，刻意让它看起来像被评委念出来的 */
.drill { margin-top:32px; border:1px solid var(--hero-line); border-radius:10px;
  background:rgba(255,255,255,.04); padding:22px 26px; }
.drill .cap { color:var(--hero-muted); font-size:11px; font-weight:600;
  letter-spacing:.15em; text-transform:uppercase; }
.drill ul { list-style:none; margin:14px 0 0; padding:0; display:grid; gap:13px; }
.drill li { font-family:var(--font-display); font-size:15.5px; line-height:1.62;
  color:rgba(255,255,255,.93); padding-left:22px; position:relative; }
.drill li::before { content:'?'; position:absolute; left:0; top:0;
  font-family:var(--font-display); font-weight:700; color:var(--hero-accent); }
.drill .foot { margin-top:18px; padding-top:15px; border-top:1px solid var(--hero-line);
  font-size:13px; color:var(--hero-muted); }

/* ── 分节 ─────────────────────────────── */
section { padding-top:66px; }
h2 { font-family:var(--font-display); font-weight:700; font-size:clamp(23px,2.7vw,30px);
  line-height:1.28; color:var(--brand-deep); margin:10px 0 20px; text-wrap:balance; }
h3 { font-family:var(--font-display); font-weight:600; font-size:18px; color:var(--brand-deep); margin:0 0 8px; }
.lead { font-size:17px; color:var(--ink-2); }
.callout { border-left:3px solid var(--ember); background:var(--ember-tint);
  border-radius:0 8px 8px 0; padding:18px 22px; margin-top:22px; max-width:var(--measure); }
.callout p { margin:0; max-width:none; }

/* ── 产品线卡片 ───────────────────────── */
.editions { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:18px; margin-top:6px; }
.edition { border:1px solid var(--line); border-top:3px solid var(--ec,var(--brand));
  border-radius:12px; background:var(--surface); padding:20px 22px 18px;
  display:flex; flex-direction:column; gap:0; }
.edition .comp { font-size:12px; font-weight:600; letter-spacing:.08em;
  text-transform:uppercase; color:var(--ec,var(--brand-soft)); }
.edition h3 { margin:7px 0 6px; font-size:19px; }
.edition .desc { font-size:13.5px; color:var(--ink-2); flex:1; margin:0; max-width:none; }
.edition .meta { margin-top:14px; padding-top:12px; border-top:1px solid var(--line-soft);
  display:flex; align-items:center; justify-content:space-between; gap:8px; flex-wrap:wrap; }
.edition .suite { font-size:11.5px; color:var(--muted); font-variant-numeric:tabular-nums; }
.badge { display:inline-block; font-size:10.5px; font-weight:600; letter-spacing:.08em;
  text-transform:uppercase; border:1px solid var(--line); border-radius:100px;
  padding:3px 10px; color:var(--muted); background:var(--ground); }
.badge.alpha { color:var(--teal); border-color:color-mix(in srgb, var(--teal) 45%, var(--line)); }

/* ── 能力清单 ─────────────────────────── */
.caps { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line);
  border:1px solid var(--line); border-radius:12px; overflow:hidden; margin-top:6px; }
.cap-item { background:var(--ground); padding:20px 24px; }
.cap-item .k { font-family:var(--font-display); font-weight:600; font-size:16.5px; color:var(--brand-deep); }
.cap-item .k code { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:12px;
  color:var(--brand-soft); font-weight:500; margin-left:8px; }
.cap-item p { font-size:14px; color:var(--ink-2); margin:7px 0 0; max-width:none; }

/* ── 中缝分栏：做 / 不做 ─────────────── */
.seam { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line);
  border:1px solid var(--line); border-radius:12px; overflow:hidden; margin-top:6px; }
.seam .head { background:var(--surface); padding:13px 22px; }
.seam .head.off .label { color:var(--muted); }
.seam .cell { background:var(--ground); padding:16px 22px; font-size:14.5px; color:var(--ink-2); }
.seam .cell.off { color:var(--muted); }
.seam .cell strong { display:block; margin-bottom:3px; }

/* ── 版本规划 ─────────────────────────── */
.tiers { display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:18px; margin-top:6px; }
.tiercard { border:1px solid var(--line); border-radius:12px; background:var(--surface); overflow:hidden; }
.tiercard header { padding:16px 22px 13px; border-bottom:1px solid var(--line);
  display:flex; align-items:baseline; justify-content:space-between; gap:10px; flex-wrap:wrap; }
.tiercard h3 { margin:0; font-size:17px; }
.tiercard .ticks { padding:16px 22px 20px; }
.ticks { list-style:none; margin:0; padding:0; display:grid; gap:9px; }
.ticks li { position:relative; padding-left:20px; font-size:14px; color:var(--ink-2); }
.ticks li::before { content:''; position:absolute; left:2px; top:.62em;
  width:6px; height:6px; border-radius:50%; background:var(--brand-soft); }

/* ── 联系 ─────────────────────────────── */
.contact { margin-top:26px; border:1px solid var(--line); border-radius:12px;
  background:var(--surface); padding:26px 28px; display:flex; align-items:center;
  justify-content:space-between; gap:20px; flex-wrap:wrap; }
.contact .t { font-family:var(--font-display); font-weight:600; font-size:18px; color:var(--brand-deep); }
.contact .d { font-size:13.5px; color:var(--muted); margin-top:4px; max-width:52ch; }
.btn { display:inline-block; background:var(--brand); color:#fff; text-decoration:none;
  font-weight:600; font-size:14px; letter-spacing:.02em; padding:11px 22px; border-radius:8px;
  transition:background .15s; white-space:nowrap; }
.btn:hover { background:var(--brand-deep); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .btn { color:#08181A; } }
:root[data-theme="dark"] .btn { color:#08181A; }

footer.site { margin-top:76px; padding-top:26px; border-top:1px solid var(--line);
  font-size:12.5px; color:var(--muted); line-height:1.85; }
footer.site p { max-width:none; }
footer.site .src { font-weight:600; letter-spacing:.06em; color:var(--brand-soft); }
footer.site .byline { margin-top:18px; padding-top:16px; border-top:1px solid var(--line-soft); }

@media (max-width: 720px) {
  .page { padding:0 18px 60px; }
  .hero { padding:36px 24px 32px; border-radius:12px; }
  .hero::before, .hero::after { display:none; }
  .seam, .caps { grid-template-columns:1fr; }
  section { padding-top:48px; }
}

.inq { margin-top:16px; border:1px solid var(--line); border-radius:12px; padding:18px; background:var(--surface, #fff); }
.inq h3 { margin:0 0 4px; }
.inq .sub { font-size:13px; color:var(--muted); margin:0 0 12px; }
.inq .grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.inq .full { grid-column:1 / -1; }
.inq label { display:block; font-size:12.5px; color:var(--ink-2, #444); margin-bottom:3px; }
.inq input, .inq select, .inq textarea { width:100%; box-sizing:border-box; padding:8px 10px; border:1px solid var(--line); border-radius:8px; font:inherit; font-size:14px; background:#fff; color:inherit; }
.inq textarea { min-height:64px; resize:vertical; }
.inq button { margin-top:12px; padding:9px 22px; border:0; border-radius:8px; background:var(--brand-deep, #0B4F52); color:#fff; font:inherit; font-size:14.5px; cursor:pointer; }
.inq button[disabled] { opacity:.6; cursor:default; }
.inq .msg { margin-top:10px; font-size:13.5px; }
.inq .msg.ok { color:var(--brand-deep, #0B4F52); }
.inq .msg.err { color:#B4433A; }
@media (max-width:560px){ .inq .grid { grid-template-columns:1fr; } }

.blog-list{margin-top:36px}.blog-entry{padding:30px 0;border-bottom:1px solid var(--line)}.blog-entry h2{margin:10px 0;font-size:26px}.post-meta{color:var(--muted);font-size:13px}.post-body{max-width:740px;margin:48px auto}.post-body h1{font-size:clamp(28px,4vw,42px);line-height:1.4;margin:20px 0 28px}.post-body h2{font-size:23px;margin-top:32px}.blog-entry p{max-width:74ch}.brandmark svg{background:#fff;border-radius:7px;padding:3px;width:32px;height:32px;color:#0F5C5E}.brandmark svg path{stroke:#B44E1E}
