/* base.css — phantombladezero.guru (batch 206)
 * Structure + the site's visual tokens. Everything below the token block is the
 * layout of the approved design preview (02-design/20260916-phantom-blade-zero/
 * preview/style.css), re-expressed against the generated markup.
 *
 * Webfonts are declared in assets/fonts.css (self-hosted, loaded first).
 * Class hooks consumed by check-geo.mjs / capture.cjs are kept: .table-wrap,
 * details/summary, the footer <strong> brand, .byline, <time>, exactly one h1.
 */

/* ============================================================
 * Visual tokens — tokens_PhantomBladeZero.css (visual system v1, 2026-09-17)
 * ============================================================ */

:root {
  /* ---- 背景层（墨地由深到浅） ---- */
  --surface-sunken: #070708;   /* 页脚、表头粘性区、代码块 */
  --surface-page:   #0B0B0C;   /* 页面底色 */
  --surface-raised: #121214;   /* 分区带、导航条 */
  --surface-card:   #191A1D;   /* 卡片、表格斑马行 */

  /* ---- 前景 ---- */
  --ink-primary:   #F4F1EA;    /* 标题、正文主体 */
  --ink-secondary: #C6C0B4;    /* 次要说明、表注 */
  --ink-muted:     #9A9488;    /* 元信息、日期戳、来源行 */

  /* ---- 品牌 ---- */
  --brand:      #D21F27;       /* 朱红：描边、图标、填充（3:1 用途） */
  --brand-text: #FF8A80;       /* 朱红的文字变体（不直接改品牌色） */
  --brand-deep: #7A0D12;       /* 深压色，仅作装饰底纹，不承载文字 */
  --on-brand:   #FFF7F2;       /* 朱红填充上的文字 */

  /* ---- 语义状态（事实印章 / 变更触发器 / 表格状态列） ---- */
  --state-confirmed: #7BD8AC;  /* 官方一手已确认 */
  --state-pending:   #E8BE5C;  /* 仅有二手/社区来源，待官方口径 */
  --state-absent:    #F09A93;  /* 官方未宣布 / 明确没有 */

  /* ---- 描边 ---- */
  --border-subtle: #2B2C30;
  --border-strong: #6A6A72;

  /* ---- 排版 ---- */
  --font-display: "Cinzel", "Times New Roman", serif;
  --font-heading: "Cormorant Garamond", Georgia, "Noto Serif", serif;
  --font-body: "Inter", -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-mono: ui-monospace, "SF Mono", SFMono-Regular, "JetBrains Mono", Menlo, monospace;

  --fs-logo:    clamp(1.5rem, 1.1rem + 1.6vw, 2.25rem);
  --fs-hero:    clamp(2.25rem, 1.35rem + 3.1vw, 3.5rem);
  --fs-article: clamp(1.75rem, 1.25rem + 2vw, 2.75rem);
  --fs-h2:      clamp(1.25rem, 1.05rem + 0.9vw, 1.75rem);
  --fs-h3:      1.0625rem;
  --fs-body:    1rem;
  --fs-data:    0.9375rem;
  --fs-small:   0.8125rem;
  --fs-micro:   0.6875rem;

  --lh-tight: 1.08;
  --lh-head:  1.22;
  --lh-body:  1.65;

  --ls-logo:  0.28em;
  --ls-hero:  0.18em;
  --ls-marker:0.18em;
  --ls-label: 0.08em;

  /* ---- 构图 ---- */
  --container: 72rem;
  --container-wide: 84rem;
  --gutter: clamp(1rem, 4vw, 2.5rem);
  --space-1: 0.375rem;
  --space-2: 0.75rem;
  --space-3: 1.25rem;
  --space-4: 2rem;
  --space-5: 3.25rem;
  --space-6: 5rem;

  --radius-sm: 2px;
  --radius-md: 3px;
  --rule-hair: 1px;
  --rule-heavy: 2px;

  --shadow-card: 0 1px 0 rgba(244, 241, 234, 0.04), 0 12px 32px rgba(0, 0, 0, 0.5);
  --mask-ink-banner: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 72' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M2 10 L28 6 L60 12 L94 5 L130 11 L168 4 L205 10 L242 5 L278 12 L312 6 L348 11 L380 6 L398 10 L396 58 L368 64 L332 58 L296 66 L258 59 L220 65 L184 58 L148 65 L112 59 L76 66 L42 59 L14 65 L4 60 Z'/%3E%3C/svg%3E");
}

/* 宣纸主题：只用于 .ink-banner（主行动横幅）与 .marker 区块标记。 */
.paper {
  --paper-surface: #EDE6D6;
  --paper-edge:    #D6CBB2;

  --ink-primary:   #17150F;
  --ink-secondary: #3D382C;
  --ink-muted:     #544E40;

  --brand-text:      #8C1017;
  --state-confirmed: #14603B;
  --state-pending:   #6E4A05;
}

:root { --motion: 160ms; }
@media (prefers-reduced-motion: reduce) {
  :root { --motion: 0s; }
}

/* ============================================================
 * Reset and page shell
 * ============================================================ */

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  background: var(--surface-page);
  color: var(--ink-primary);
  font: var(--fs-body)/var(--lh-body) var(--font-body);
  font-feature-settings: "kern" 1;
  overflow-x: hidden;
}

a { color: var(--brand-text); text-decoration: none; }
a:hover { text-decoration: underline; text-underline-offset: 3px; }
img, svg { max-width: 100%; }
:focus-visible { outline: 2px solid var(--brand-text); outline-offset: 2px; }

.wrap { max-width: var(--container); margin: 0 auto; padding: 0 var(--gutter); }
.wrap--wide { max-width: var(--container-wide); }

.skip-link {
  position: absolute; left: -9999px; top: 0;
  background: var(--surface-card); color: var(--ink-primary);
  padding: var(--space-2) var(--space-3); z-index: 50;
}
.skip-link:focus { left: var(--space-3); top: var(--space-3); }

.brandline { height: var(--rule-heavy); background: var(--brand); }

.masthead {
  background: var(--surface-raised);
  border-bottom: var(--rule-hair) solid var(--border-subtle);
  position: sticky; top: 0; z-index: 20;
}
.masthead__inner {
  display: flex; align-items: center; gap: var(--space-3);
  flex-wrap: wrap; padding: var(--space-2) 0;
}
/* 站点自有标记：朱红描边方框内一个斜杠零（自创标识，非官方 logotype 复刻） */
.brandmark {
  flex: none;
  display: inline-grid; place-items: center;
  width: 1.9rem; height: 1.9rem;
  border: var(--rule-heavy) solid var(--brand);
  border-radius: var(--radius-sm);
  font: 700 1.05rem/1 var(--font-display);
  color: var(--ink-primary);
}
.logotype {
  font: 700 var(--fs-logo)/1 var(--font-display);
  letter-spacing: var(--ls-logo);
  color: var(--ink-primary);
  text-transform: uppercase;
  white-space: nowrap;
}
.masthead__tag {
  font: 500 var(--fs-micro)/1.3 var(--font-body);
  letter-spacing: var(--ls-label);
  text-transform: uppercase;
  color: var(--ink-muted);
  border-left: var(--rule-hair) solid var(--border-subtle);
  padding-left: var(--space-3);
}
.nav { margin-left: auto; display: flex; gap: var(--space-3); flex-wrap: wrap; }
.nav a {
  font: 500 var(--fs-small)/1 var(--font-body);
  letter-spacing: var(--ls-label);
  text-transform: uppercase;
  color: var(--ink-secondary);
  padding: var(--space-1) 0;
  border-bottom: var(--rule-heavy) solid transparent;
}
.nav a:hover, .nav a[aria-current="page"] {
  color: var(--ink-primary); border-bottom-color: var(--brand); text-decoration: none;
}

/* ============================================================
 * Home: hero
 * ============================================================ */

.hero {
  position: relative;
  padding: var(--space-6) 0 var(--space-5);
  background:
    radial-gradient(120% 90% at 50% 0%, rgba(210, 31, 39, 0.13) 0%, rgba(11, 11, 12, 0) 62%),
    var(--surface-page);
  overflow: hidden;
}
/* 原创墨迹纹样：不冒充游戏截图，只承担氛围 */
.hero::after {
  content: ""; position: absolute; inset: 0;
  background-image:
    repeating-linear-gradient(96deg, rgba(244,241,234,0.028) 0 1px, transparent 1px 7px),
    repeating-linear-gradient(84deg, rgba(244,241,234,0.02) 0 1px, transparent 1px 11px);
  mask-image: radial-gradient(90% 70% at 50% 20%, #000 0%, transparent 78%);
  -webkit-mask-image: radial-gradient(90% 70% at 50% 20%, #000 0%, transparent 78%);
  pointer-events: none;
}
.hero__inner { position: relative; z-index: 1; }
.hero__grid { display: grid; gap: var(--space-4); }
.hero__cta { margin-top: var(--space-4); }

.eyebrow {
  font: 600 var(--fs-micro)/1.4 var(--font-display);
  letter-spacing: var(--ls-marker);
  text-transform: uppercase;
  color: var(--brand-text);
  margin: 0 0 var(--space-3);
}
.eyebrow .diamond { color: var(--ink-muted); }

h1.display {
  font: 700 var(--fs-hero)/var(--lh-tight) var(--font-display);
  /* 展示标题用略窄的字距：0.28em 会让 18 字符标题掉到三行（评审 F-04） */
  letter-spacing: var(--ls-hero);
  text-transform: uppercase;
  margin: 0 0 var(--space-3);
  text-wrap: balance;
}

.hero__sub {
  font-size: 1.0625rem; line-height: 1.6;
  color: var(--ink-secondary);
  max-width: 46rem; margin: 0 0 var(--space-4);
}

/* 墨印横幅 · 签名组件 1 —— 元素同时带 .paper，令牌在该作用域内解析为宣纸主题。 */
.ink-banner {
  position: relative;
  display: inline-flex; align-items: center; gap: var(--space-2);
  padding: 1.05rem 2.6rem;
  background: var(--paper-surface);
  color: var(--ink-primary);
  font: 700 var(--fs-small)/1 var(--font-display);
  letter-spacing: var(--ls-marker);
  text-transform: uppercase;
  -webkit-mask-image: var(--mask-ink-banner);
  mask-image: var(--mask-ink-banner);
  -webkit-mask-size: 100% 100%; mask-size: 100% 100%;
  transition: transform var(--motion) ease, box-shadow var(--motion) ease;
}
.ink-banner:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.45);
  text-decoration: none;
}
.ink-banner--ghost {
  background: transparent;
  color: var(--ink-primary);
  border: var(--rule-heavy) solid var(--border-strong);
  -webkit-mask-image: none; mask-image: none;
  padding: 1rem 2rem;
}
.ink-banner--ghost:hover { border-color: var(--brand); background: rgba(210, 31, 39, 0.10); }
.actions { display: flex; gap: var(--space-3); flex-wrap: wrap; align-items: center; }

/* ---------- 已验证状态面板（首屏视觉锚） ---------- */

.facts-panel {
  border-top: var(--rule-heavy) solid var(--brand);
  border-right: var(--rule-hair) solid var(--border-subtle);
  border-bottom: var(--rule-hair) solid var(--border-subtle);
  border-left: var(--rule-hair) solid var(--border-subtle);
  border-radius: var(--radius-md);
  background: var(--surface-card);
  overflow: hidden;
}
.facts-panel__head {
  margin: 0;
  padding: var(--space-2) var(--space-3);
  font: 600 var(--fs-micro)/1.5 var(--font-body);
  letter-spacing: var(--ls-label); text-transform: uppercase;
  color: var(--ink-muted);
  background: var(--surface-raised);
  border-bottom: var(--rule-hair) solid var(--border-subtle);
}
.facts-panel__head .mono { color: var(--ink-secondary); }
.facts-panel__row {
  display: grid; grid-template-columns: 8.25rem minmax(0, 1fr);
  gap: var(--space-2); align-items: baseline;
  padding: 0.7rem var(--space-3);
  border-bottom: var(--rule-hair) solid var(--border-subtle);
}
.facts-panel__row:last-child { border-bottom: 0; }
.facts-panel__label {
  font: 600 var(--fs-micro)/1.7 var(--font-body);
  letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--ink-muted);
}
.facts-panel__value {
  font: 700 1.125rem/1.25 var(--font-heading); color: var(--ink-primary);
}
.facts-panel__note {
  display: block; margin-top: 3px;
  font: 400 var(--fs-micro)/1.5 var(--font-mono); color: var(--ink-muted);
}
.facts-panel__value[data-state="absent"] { color: var(--state-absent); }
.facts-panel__value[data-state="pending"] { color: var(--state-pending); }

/* ---------- 事实印章 · 签名组件 2 ---------- */

.stamp {
  display: inline-flex; align-items: baseline; gap: 6px;
  font: 500 var(--fs-micro)/1 var(--font-mono);
  letter-spacing: 0.04em;
  padding: 3px 7px;
  border: var(--rule-hair) solid currentColor;
  border-radius: var(--radius-sm);
  white-space: nowrap;
  margin-left: 6px;
}
.stamp__label { text-transform: uppercase; }
.stamp__date { color: var(--ink-muted); }
.stamp__src { color: inherit; opacity: 0.75; }
.stamp--confirmed { color: var(--state-confirmed); }
.stamp--pending   { color: var(--state-pending); }
.stamp--absent    { color: var(--state-absent); }
.stamp--source    { color: var(--ink-secondary); }
.paper .stamp--source { color: var(--ink-secondary); }

/* ---------- 变更触发器 · 签名组件 3 ---------- */

.trigger {
  margin: var(--space-2) 0 0;
  font-size: var(--fs-small); color: var(--ink-secondary);
  display: flex; gap: var(--space-2); align-items: flex-start;
  max-width: 68ch;
}
.trigger__key {
  flex: none;
  font: 600 var(--fs-micro)/1.5 var(--font-mono);
  letter-spacing: var(--ls-label); text-transform: uppercase;
  color: var(--state-pending);
  border: var(--rule-hair) solid currentColor;
  border-radius: var(--radius-sm);
  padding: 2px 6px;
}

/* ---------- 状态戳（H1 上方） ---------- */

.vstamp {
  font: 500 var(--fs-micro)/1.5 var(--font-mono);
  letter-spacing: 0.04em;
  color: var(--ink-muted);
  margin: 0 0 var(--space-2);
  text-transform: uppercase;
}

/* ============================================================
 * Sections and typography
 * ============================================================ */

.section { padding: var(--space-5) 0; border-top: var(--rule-hair) solid var(--border-subtle); }
.section--flush { border-top: 0; padding-top: var(--space-4); }

.marker {
  display: inline-block;
  font: 700 var(--fs-micro)/1 var(--font-display);
  letter-spacing: var(--ls-marker); text-transform: uppercase;
  background: var(--paper-surface);
  color: var(--ink-primary);
  padding: 6px 14px;
  -webkit-mask-image: var(--mask-ink-banner);
  mask-image: var(--mask-ink-banner);
  -webkit-mask-size: 100% 100%; mask-size: 100% 100%;
  margin-bottom: var(--space-3);
}

h1 {
  font: 700 var(--fs-article)/var(--lh-head) var(--font-heading);
  letter-spacing: 0.005em;
  margin: 0 0 var(--space-3);
  text-wrap: balance;
  color: var(--ink-primary);
}
h2 { font: 700 var(--fs-h2)/var(--lh-head) var(--font-heading); margin: 0 0 var(--space-2); }
h3 { font: 700 var(--fs-h3)/1.35 var(--font-heading); margin: var(--space-4) 0 var(--space-1); }
p { margin: 0 0 var(--space-3); color: var(--ink-secondary); }
p.lead, p.lede { color: var(--ink-primary); font-size: 1.0625rem; }
ul, ol { margin: 0 0 var(--space-3); padding-left: 1.15rem; color: var(--ink-secondary); }
li { margin-bottom: var(--space-1); }
/* 可读行宽：1440px 下正文行长收窄到 68ch（评审 F-03） */
p, li, h1, h2, h3 { max-width: 68ch; }
code, .mono { font-family: var(--font-mono); font-variant-numeric: tabular-nums; }
code {
  font-size: 0.9em;
  background: var(--surface-sunken);
  border: var(--rule-hair) solid var(--border-subtle);
  border-radius: var(--radius-sm);
  padding: 1px 5px;
  color: var(--ink-primary);
  white-space: nowrap;
}

.callout {
  border-left: var(--rule-heavy) solid var(--brand);
  background: var(--surface-card);
  padding: var(--space-3);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
}
.callout > h2:first-child { margin-top: 0; }
.callout p:last-child, .callout ul:last-child, .callout ol:last-child { margin-bottom: 0; }
.callout .table-wrap:last-child { margin-bottom: 0; }

/* ---------- 分流带 / route 卡 ---------- */

.routes { display: grid; gap: var(--space-3); grid-template-columns: 1fr; }
.route {
  display: block; padding: var(--space-3);
  background: var(--surface-card);
  border: var(--rule-hair) solid var(--border-subtle);
  border-radius: var(--radius-md);
  color: var(--ink-secondary);
  transition: border-color var(--motion) ease, transform var(--motion) ease;
}
.route:hover { border-color: var(--brand); transform: translateY(-2px); text-decoration: none; }
.route__kicker {
  font: 600 var(--fs-micro)/1 var(--font-mono); letter-spacing: var(--ls-label);
  text-transform: uppercase; color: var(--brand-text);
}
.route__title { display: block; font: 700 1.25rem/1.25 var(--font-heading); color: var(--ink-primary); margin: 6px 0; }
.route__desc { font-size: var(--fs-small); }

/* ============================================================
 * Tables (A-class: scanability first)
 * ============================================================ */

.table-wrap {
  position: relative;
  overflow-x: auto;
  border: var(--rule-hair) solid var(--border-subtle);
  border-radius: var(--radius-md);
  background: var(--surface-card);
  -webkit-overflow-scrolling: touch;
  margin: 0 0 var(--space-2);
}
.table-wrap::after {
  content: "swipe \2192";
  position: absolute; right: 0; top: 0; bottom: 0; width: 2.6rem;
  display: flex; align-items: center; justify-content: center;
  font: 600 var(--fs-micro)/1 var(--font-mono); letter-spacing: 0.06em;
  text-transform: uppercase; color: var(--ink-muted);
  background: linear-gradient(90deg, rgba(25,26,29,0) 0%, var(--surface-card) 65%);
  pointer-events: none;
}
@media (min-width: 900px) { .table-wrap::after { content: none; } }

table { border-collapse: collapse; width: 100%; min-width: 40rem; }
caption {
  caption-side: top; text-align: left;
  padding: var(--space-2) var(--space-3);
  font: 500 var(--fs-small)/1.5 var(--font-body);
  color: var(--ink-secondary);
  border-bottom: var(--rule-hair) solid var(--border-subtle);
}
caption b { color: var(--ink-primary); }
thead th {
  position: sticky; top: 0; z-index: 2;
  background: var(--surface-sunken);
  font: 600 var(--fs-micro)/1.3 var(--font-body);
  letter-spacing: var(--ls-label); text-transform: uppercase;
  color: var(--ink-muted); text-align: left;
  padding: var(--space-2) var(--space-3);
  border-bottom: var(--rule-hair) solid var(--border-strong);
  white-space: nowrap;
}
tbody th, tbody td {
  padding: 0.7rem var(--space-3);
  border-bottom: var(--rule-hair) solid var(--border-subtle);
  font-size: var(--fs-data); color: var(--ink-secondary);
  vertical-align: top; text-align: left;
}
tbody th { color: var(--ink-primary); font-weight: 600; }
tbody tr:last-child th, tbody tr:last-child td { border-bottom: 0; }
td.num { font-family: var(--font-mono); font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap; color: var(--ink-primary); }
td[data-state]::before {
  content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 7px;
  border-radius: 50%; background: currentColor; vertical-align: 0.05em;
}
td[data-state="confirmed"] { color: var(--state-confirmed); }
td[data-state="pending"]   { color: var(--state-pending); }
td[data-state="absent"]    { color: var(--state-absent); }
td[data-state] .note { color: var(--ink-muted); font-size: var(--fs-micro); display: block; margin-top: 3px; }

.scrollhint {
  margin: 0 0 var(--space-3);
  font: 500 var(--fs-micro)/1.5 var(--font-mono);
  letter-spacing: 0.04em; text-transform: uppercase;
  color: var(--ink-muted); max-width: none;
}
@media (min-width: 900px) { .scrollhint { display: none; } }

/* ============================================================
 * FAQ (home)
 * ============================================================ */

.faq { border-top: var(--rule-hair) solid var(--border-subtle); }
.faq details { border-bottom: var(--rule-hair) solid var(--border-subtle); }
.faq summary {
  cursor: pointer; list-style: none;
  padding: var(--space-3) 0;
  font: 600 1.0625rem/1.4 var(--font-heading); color: var(--ink-primary);
  display: flex; gap: var(--space-2); align-items: baseline;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; margin-left: auto; color: var(--brand-text); font-family: var(--font-mono); }
.faq details[open] summary::after { content: "\2212"; }
.faq details p { padding: 0 0 var(--space-3); color: var(--ink-secondary); font-size: var(--fs-data); margin: 0; }

/* ============================================================
 * Sources / related
 * ============================================================ */

.sources { font-size: var(--fs-small); color: var(--ink-muted); margin-top: var(--space-4); }
.sources h2 { font: 600 var(--fs-small)/1.2 var(--font-body); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--ink-muted); margin: 0 0 var(--space-2); }
.sources ul { margin: var(--space-2) 0 0; padding-left: 1.1rem; }
.sources li { margin-bottom: 5px; max-width: 84ch; }
.sources .asof { font-family: var(--font-mono); font-size: var(--fs-micro); }

.related { border-top: var(--rule-hair) solid var(--border-subtle); margin-top: var(--space-4); padding-top: var(--space-3); }
.related h2 { font: 600 var(--fs-small)/1.2 var(--font-body); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--ink-muted); margin: 0 0 var(--space-2); }
.related ul { list-style: none; padding: 0; margin: 0; display: grid; gap: var(--space-2); }
.related a { font-weight: 600; }

.pagehead { padding: var(--space-5) 0 var(--space-3); }
.pagehead h1 { margin-bottom: var(--space-1); }
.byline { font: 500 var(--fs-micro)/1.6 var(--font-mono); color: var(--ink-muted); margin: 0 0 var(--space-3); max-width: none; }
.byline time { color: var(--ink-secondary); }

/* ============================================================
 * Footer
 * ============================================================ */

.footer {
  background: var(--surface-sunken);
  border-top: var(--rule-hair) solid var(--border-subtle);
  margin-top: var(--space-6);
  padding: var(--space-5) 0 var(--space-4);
  font-size: var(--fs-small);
  color: var(--ink-secondary);
}
.footer__grid { display: grid; gap: var(--space-4); grid-template-columns: 1fr; }
.footer h2 {
  font: 600 var(--fs-small)/1.2 var(--font-body);
  letter-spacing: var(--ls-label); text-transform: uppercase;
  color: var(--ink-muted); margin: 0 0 var(--space-2);
}
.footer__brand { font-size: var(--fs-small); }
.footer__brand strong { color: var(--ink-primary); font-weight: 700; }
.footer p { font-size: var(--fs-small); max-width: 62ch; margin: 0 0 var(--space-2); }
.footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-1); }
.footer__official { font-size: var(--fs-micro); color: var(--ink-muted); }
.footer__legal {
  margin-top: var(--space-4); padding-top: var(--space-3);
  border-top: var(--rule-hair) solid var(--border-subtle);
  color: var(--ink-muted); font-size: var(--fs-micro); line-height: 1.7;
  max-width: none;
}

/* ============================================================
 * Responsive
 * ============================================================ */

@media (max-width: 1023px) {
  /* 单栏时把主行动提到状态面板之前，避免 375px 首屏只有标题、看不到入口（F-07） */
  .hero__grid { display: flex; flex-direction: column; }
  .hero__lead { order: 0; }
  .hero__cta { order: 1; margin-top: 0; }
  .facts-panel { order: 2; }
}

@media (min-width: 700px) {
  .routes { grid-template-columns: repeat(2, 1fr); }
  .footer__grid { grid-template-columns: 1.4fr 1fr 1fr; }
}

@media (min-width: 1024px) {
  /* 首屏两栏：左侧身份与行动，右侧已验证状态面板 */
  .hero__grid {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.85fr);
    grid-template-areas: "lead panel" "cta panel";
    column-gap: var(--space-5); row-gap: var(--space-4);
    align-items: start;
  }
  .hero__lead { grid-area: lead; }
  .facts-panel { grid-area: panel; }
  .hero__cta { grid-area: cta; margin-top: 0; }
}

@media (max-width: 699px) {
  .masthead { position: static; }
  /* 375px：压缩首屏上下留白，把状态面板的第一行推进首屏 */
  .hero { padding: var(--space-4) 0 var(--space-3); }
  /* 375px：字标必须能换行/缩小，否则整页横向溢出（F-07） */
  .logotype {
    font-size: 1.0625rem;
    letter-spacing: 0.14em;
    white-space: normal;
    min-width: 0;
  }
  .masthead__inner { gap: var(--space-2); }
  .masthead__tag { padding-left: var(--space-2); font-size: var(--fs-micro); }
  /* 375px：导航压到一行横滚，避免页头占掉三行高度 */
  .nav {
    margin-left: 0; width: 100%;
    flex-wrap: nowrap; overflow-x: auto;
    gap: var(--space-3);
  }
  .nav a { font-size: 0.75rem; letter-spacing: 0.04em; white-space: nowrap; }
  .ink-banner { padding: 0.95rem 1.6rem; }
  .ink-banner--ghost { padding: 0.9rem 1.2rem; }
  .actions { flex-direction: column; align-items: stretch; }
  .actions .ink-banner { justify-content: center; }
  .facts-panel__row { grid-template-columns: 7rem minmax(0, 1fr); }
}
