/* 首页与内页共用：沿用设计系统的蓝色焦点、纸张背景和 Garamond 字体。 */
:focus-visible{outline:2px solid var(--blue);outline-offset:3px;}

/* 不借助重叠的伪元素扩大命中区，让键盘焦点框与实际触控区域一致。 */
.nav-burger,.v8burger{width:44px;height:44px;flex-shrink:0;}
.nav-icons a,.v8icons a{min-width:44px;min-height:44px;align-items:center;justify-content:center;}
.nav-icons a::after{content:none;}
.nav-icons,.v8icons{gap:8px;}
.nav-icons .nav-auth,.v8icons .nav-auth{min-height:44px;}

/* ≤343px 保留两行；344px 起采用已拍定的紧凑单行参数：内距 12、按钮 10、间距 8、品牌 20px。
   310px 曾因触控热区不可兼得放弃，330px 又因只验证游客态失败；344px 是页面×字体×登录八格
   矩阵全绿的下界。330–343px 没有常见机型（常见窄屏为 320 与 360），代价接近于零。
   原矩阵只量了首页 .v8nav；内页 .nav 更宽，故两套选择器一并验证。 */
@media(max-width:343px){
  .nav,.v8nav{flex-wrap:wrap;gap:8px;}
  .nav-brand,.v8brand{margin-right:auto;}
  .nav-icons,.v8icons{order:3;flex:1 0 100%;justify-content:flex-end;}
}
@media(min-width:344px) and (max-width:420px){
  /* 这里曾写 padding:12px var(--pad)，在首页造成「反向台阶」：--pad 在 home.css 下是 24px，
     比 .v8nav 自身基准的 22px/10px 还大，于是 421px→420px 变窄时内距反而变大、导航从 64 高到 68。
     压缩档不应该比基准更宽松，且去掉后横向还多出 2px 余量（对 344px 下界只会更安全）。
     2026-09-16 评审删除该声明，内距回落到各自基准。 */
  .nav,.v8nav{flex-wrap:nowrap;gap:8px;}
  .nav-brand,.v8brand{margin-right:auto;}
  .nav-icons,.v8icons{order:initial;flex:0 0 auto;}
  .nav-brand,.v8brand{font-size:20px;}
  /* 外层段间距保持 8px；图标组内部与品牌图标间距略收紧，确保 344px 下 44px 热区完整入视口（曾写 330——那是被推翻的旧阈值，且 330 根本进不了这个 min-width:344px 的块）。 */
  /* 4px 图标组 / 8px 品牌内部间距是实现时新增的压缩参数，并非用户拍定的外层 8px 基线。 */
  .nav-icons,.v8icons{gap:4px;}
  .nav-brand,.v8brand{gap:8px;}
  .nav-icons .nav-auth,.v8icons .nav-auth{padding:10px;}
}
@media(max-width:880px){
  .nav-links.open,.v8links.open{max-height:min(70vh,calc(100dvh - 150px));}
}

/* 覆盖元素、伪元素与 html 的平滑滚动；极短时长保留动画结束事件语义。 */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    animation-delay:0s!important;
    transition-duration:.01ms!important;
    transition-delay:0s!important;
    scroll-behavior:auto!important;
  }
}
