/* ============================================================
   East Saibo · ds-a11y.css — Wave 2 收口（步骤 13 全站状态与无障碍）
   只做横向补齐：焦点可见、触控热区、字体降级、纹样安全、降低动效。
   不引入新视觉方向，不改业务契约；与各 ds-<域>.css 同层，均由 index.html
   在 styles.css 之后引入。
   ============================================================ */

/* ---------- 1. 焦点可见：全站统一使用 Token 焦点环 ---------- */
button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible,
[role="button"]:focus-visible {
  outline: 2px solid var(--ds-brand, #9a2a2a);
  outline-offset: 2px;
  box-shadow: var(--ds-focus-ring, 0 0 0 3px rgba(154, 42, 42, .22));
}

/* ---------- 2. 触控热区：视觉尺寸不变，补足可点区域 ---------- */
/* 底栏热区 ≥44px：DOM 是 <a>（旧 button 体系已删），尺寸由 ds-nav-v3.css 定义，这里只兜底 */
html.force-mobile .mobile-nav a { min-height: var(--ds-touch-target, 44px); }
.float-actions .icon-act { position: relative; }
.float-actions .icon-act::after {
  content: "";
  position: absolute;
  inset: -9px;              /* 26px 视觉尺寸外扩到 ≥44px 热区 */
  border-radius: inherit;
}
.page-back { min-height: 32px; }
.page-back::after { content: ""; position: absolute; inset: -6px; border-radius: inherit; }
.page-back { position: absolute; }

/* ---------- 3. 字体降级：宋体只给主标题，且必须带回退系统字体（不依赖外部字体） ---------- */
.page-head h1,
.gather-hero h2,
.home-crumb h1 {
  font-family: var(--ds-font-display, "Songti SC", STSong, SimSun, serif);
  font-weight: 600;
  letter-spacing: .03em;
}

/* ---------- 4. 关键文本不把三级灰当唯一颜色 ---------- */
.page-head .subtitle,
.memory-meta,
.memory-foot .micro,
.memory-status { color: var(--ds-text-secondary, #6e6e73); }
.memory-status.ongoing { color: var(--ds-bronze, #4a5d4e); }

/* ---------- 5. 纹样安全：不拦截点击、不遮正文 ---------- */
.ds-pattern-card::before,
.memory-art.is-empty-art::after,
.hero-art.is-empty-art::after {
  pointer-events: none;
}

/* ---------- 6. 降低动态效果：关位移与循环动画，图表/文字仍可读 ---------- */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}
