/* ==========================================================================
   基础样式 -- 重置 + 排版基线
   正文 17px / 400 / 行高 1.47（不用 16px）；字重梯子 300/400/600/700，不用 500
   ========================================================================== */

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

html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-size-adjust: 100%;
}

body {
  font-family: var(--font-text);
  font-size: 17px;            /* {typography.body}：刻意 17px 而非 16px */
  font-weight: 400;
  line-height: 1.47;
  letter-spacing: -0.374px;
  color: var(--color-ink);
  background: var(--color-canvas);
  min-height: 100vh;
}

/* 表单元素继承字体 */
button,
input,
textarea,
select {
  font: inherit;
  color: inherit;
  letter-spacing: inherit;
}

button {
  cursor: pointer;
  border: none;
  background: none;
}

a {
  color: var(--color-primary);
  text-decoration: none;
}

/* 焦点态：统一 Action Blue 系 */
:focus-visible {
  outline: 2px solid var(--color-primary-focus);
  outline-offset: 2px;
}

::selection {
  background: rgba(0, 102, 204, 0.15);
}

/* 滚动条 -- 安静、不喧宾夺主 */
* {
  scrollbar-width: thin;
  scrollbar-color: var(--color-hairline) transparent;
}

*::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

*::-webkit-scrollbar-thumb {
  background: var(--color-hairline);
  border-radius: var(--rounded-pill);
  border: 3px solid transparent;
  background-clip: content-box;
}

/* ---- 排版工具类 ---- */
.t-display-md {
  font-family: var(--font-display);
  font-size: 34px;
  font-weight: 600;
  line-height: 1.47;
  letter-spacing: -0.374px;  /* 标题负字距：Apple tight */
}

.t-lead {
  font-family: var(--font-display);
  font-size: 28px;
  font-weight: 400;
  line-height: 1.14;
  letter-spacing: 0.196px;
}

.t-tagline {
  font-family: var(--font-display);
  font-size: 21px;
  font-weight: 600;
  line-height: 1.19;
  letter-spacing: 0.231px;
}

.t-caption {
  font-family: var(--font-text);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.43;
  letter-spacing: -0.224px;
}

.t-caption-strong {
  font-family: var(--font-text);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.29;
  letter-spacing: -0.224px;
}

.t-mono {
  font-family: var(--font-mono);
}

.t-muted {
  color: var(--color-ink-muted-80);
}

/* 通用容器最大宽度 */
.container {
  max-width: 1068px;
  margin: 0 auto;
  padding: 0 var(--spacing-lg);
}

/* 仅展示于特定断点的辅助类 */
@media (max-width: 833px) {
  .container {
    padding: 0 var(--spacing-md);
  }
}
