/* ==========================================================================
   OpenSpec: Design System Tokens & Base
   ========================================================================== */
:root {
  /* 品牌语意色 */
  --color-primary: #ffb407;
  --color-primary-hover: #ffb407;
  --color-primary-gradient: linear-gradient(
    0deg,
    #ff8f07 0%,
    rgba(255, 180, 7, 0) 61%
  );
  --color-dark-bg: #1a1a1a;
  --color-footer-bg: #2b231b;

  /* 前景字色 */
  --text-pure-white: #ffffff;
  --text-dark-h1: rgba(51, 51, 51, 0.6);
  --text-body-gray: rgba(242, 243, 245, 0.7);
  --text-menu-label: #333;
  --text-menu-title: #3d3d3d;
  --text-menu-desc: #666666;
  --text-muted: rgba(255, 255, 255, 0.7);

  /* 排版空隙律 (8-Point Grid) */
  --spacing-xs: 8px;
  --spacing-sm: 16px;
  --spacing-md: 32px;
  --spacing-lg: 64px;
  --spacing-xl: 96px;

  /* 水印巨字 */
  --watermark-font-size: clamp(80px, 8vw, 150px);
  --watermark-color: rgba(240, 240, 240, 0.6);
  --watermark-font-weight: 900;

  /* 丝滑物理组件 */
  --transition-smooth: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  --shadow-hover: 0 16px 32px rgba(0, 0, 0, 0.08);

  /* 层级架构 */
  --z-header: 9999;
  --z-mega: 10000;

  /* 响应式布局核心 */
  --container-max-width: 1532px;
}

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

/* 覆盖旧 index.css 的多余 padding-top，新架构已用占位 div 处理 header 高度 */
.indexContainer {
  padding-top: 0 !important;
}

body {
  margin: 0;
  padding: 0;
  min-width: 0; /* 覆盖旧 reset.css 的 min-width: 1200px，允许移动端缩放 */
  font-family:
    "Source Han Sans", "Helvetica Neue", Helvetica, "PingFang SC",
    "Microsoft YaHei", sans-serif;
  /* color: var(--text-body-gray); */
  -webkit-font-smoothing: antialiased;
}

/* 中文：换行不拆开词组 */
.site-lang-zh-cn {
  word-break: keep-all;
  line-break: strict;
  overflow-wrap: normal;
}

.site-lang-zh-cn a,
.site-lang-zh-cn .text-break-all {
  word-break: break-all;
  overflow-wrap: anywhere;
}

ul,
li,
p,
h1,
h2,
h3 {
  margin: 0;
  padding: 0;
  list-style: none;
}
