/* ============================================================
   GSHTML 性能与体验优化层（Phase 1 / 2）
   - 设计系统化：type scale + spacing scale 变量（Phase 2）
   - A11y：跳转链接、焦点可见、Hero 静态渐变兜底
   ============================================================ */
:root{
  /* Type scale（1.2 次比例阶梯，统一 rem） */
  --fs-xs:0.78rem;
  --fs-sm:0.875rem;
  --fs-base:1rem;
  --fs-md:1.125rem;
  --fs-lg:1.375rem;
  --fs-xl:1.75rem;
  --fs-2xl:2.25rem;
  --fs-3xl:3rem;
  /* Spacing scale（8pt 基准） */
  --space-1:8px;
  --space-2:16px;
  --space-3:24px;
  --space-4:32px;
  --space-5:48px;
  --space-6:64px;
  /* 统一缓动曲线 */
  --ease-out:cubic-bezier(0.16,1,0.3,1);
}

/* Hero 静态渐变兜底：Vanta / JS 失败也不空白（Phase 2） */
#vanta-hero{
  background:linear-gradient(160deg,#eaf3fb 0%,#dbeafe 45%,#c9def6 100%);
}

/* 跳转主内容链接（A11y） */
.skip-link{
  position:absolute;
  left:-9999px;
  top:0;
  z-index:10000;
  background:var(--accent);
  color:#fff;
  padding:10px 18px;
  border-radius:0 0 10px 0;
  font-size:14px;
  text-decoration:none;
}
.skip-link:focus{left:0;}

/* 统一焦点可见性（A11y） */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
.nav-toggle:focus-visible,
.play-btn-large:focus-visible{
  outline:3px solid var(--accent);
  outline-offset:2px;
  border-radius:6px;
}

/* 尊重「减少动效」偏好：关闭入场位移，内容直接可见 */
@media (prefers-reduced-motion: reduce){
  .reveal{transition:none;opacity:1 !important;transform:none !important;}
}
