/* ============================================================
   base.css —— reset + 全局排版 + 滚动条
   ============================================================ */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;
  min-height:100dvh;                 /* 05.2：不用 100vh，移动端地址栏会导致高度跳变 */
  background:var(--n-50);
  color:var(--n-800);
  font-family:var(--sans);
  font-size:var(--fs-body);
  line-height:var(--lh-body);
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,p,figure{margin:0;}
h1{font-size:var(--fs-h1);line-height:var(--lh-h1);font-weight:var(--fw-semibold);color:var(--n-900);}
h2{font-size:var(--fs-h2);line-height:var(--lh-h2);font-weight:var(--fw-semibold);color:var(--n-900);}
h3{font-size:var(--fs-h3);line-height:var(--lh-h3);font-weight:var(--fw-semibold);color:var(--n-900);}
ul,ol{margin:0;padding:0;list-style:none;}
a{color:var(--brand-700);text-decoration:none;}
button{font-family:inherit;color:inherit;}
img,svg{display:block;max-width:100%;}
input,textarea,select{font-family:inherit;}
svg{stroke-linecap:round;stroke-linejoin:round;}

/* 数字统一等宽，避免计数抖动 */
.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums;}

/* 焦点可见：统一 outline，不用 box-shadow 模拟（07 无障碍） */
:focus-visible{outline:2px solid var(--brand-700);outline-offset:2px;border-radius:var(--r-xs);}
:focus:not(:focus-visible){outline:none;}

/* 读屏专用 */
.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}
/* 键盘跳转入口 */
.skip-link{
  position:absolute;left:var(--sp-4);top:-60px;z-index:200;
  background:var(--brand-700);color:var(--n-inverse);padding:8px 14px;border-radius:var(--r-sm);
  font-size:var(--fs-caption);transition:top var(--motion-fast) var(--ease-standard);
}
.skip-link:focus{top:var(--sp-2);}

/* 全局滚动条（桌面端） */
@media (min-width:1024px){
  ::-webkit-scrollbar{width:10px;height:10px;}
  ::-webkit-scrollbar-track{background:transparent;}
  ::-webkit-scrollbar-thumb{background:var(--n-300);border-radius:var(--r-full);border:3px solid var(--n-50);}
  ::-webkit-scrollbar-thumb:hover{background:var(--n-400);}
}

/* 横滚容器：隐藏滚动条但保留滚动能力（分类 Chip 行） */
.scroll-x{
  display:flex;gap:var(--sp-2);overflow-x:auto;scrollbar-width:none;
  -ms-overflow-style:none;scroll-behavior:smooth;
}
.scroll-x::-webkit-scrollbar{display:none;}
/* 超出屏幕的右侧渐隐提示（P1 区域 4 要求） */
.scroll-x--fade{
  -webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 32px),transparent 100%);
          mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 32px),transparent 100%);
  padding-right:var(--sp-4);
}
