/* ============================================================
   菩一 PuYi · 主题变量与水墨质感
   零外部资源:水墨纹理全部由 CSS 渐变 + 内联 SVG 噪点模拟
   ============================================================ */

:root {
  /* 色彩 · 深色静谧底 */
  --bg:        #0d0c0a;
  --bg-2:      #14110d;
  --bg-3:      #1a1611;

  /* 墨色文字(深底上的浅墨) */
  --ink:       #ece3d3;
  --ink-dim:   #b9ad94;
  --ink-faint: #756b58;

  /* 朱砂红 · 鎏金 */
  --vermilion:        #c3272b;
  --vermilion-bright: #e04a3f;
  --vermilion-dark:   #7d1a1e;
  --gold:             #c9a05c;
  --gold-bright:      #e8c98a;
  --gold-deep:        #8a6a35;

  /* 宣纸(凭证/卷轴提亮区) */
  --paper:     #f2e8d4;
  --paper-2:   #e9dcc0;
  --paper-ink: #2b2418;

  /* 点缀青玉 */
  --jade: #6f9d86;

  /* 字体栈:系统衬线,保证零 CDN */
  --font-serif: "Songti SC", "STSong", "SimSun", "Noto Serif SC",
                "Noto Serif CJK SC", "Source Han Serif SC", "Source Han Serif CN",
                Georgia, "Times New Roman", serif;
  --font-kai:   "Kaiti SC", "STKaiti", "KaiTi", "BiauKai", "AR PL UKai CN",
                var(--font-serif);

  /* 布局 */
  --maxw: 520px;
  --report-maxw: 640px;
  --radius: 14px;
  --ease: cubic-bezier(.22, .61, .36, 1);

  /* 内联 SVG 噪点(灰度分形噪声,用于宣纸/墨面颗粒) */
  --noise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---------- 基础重置 ---------- */
*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  min-height: 100vh;
  background:
    radial-gradient(120% 90% at 50% -10%, var(--bg-3) 0%, var(--bg) 55%) fixed;
  color: var(--ink);
  font-family: var(--font-serif);
  line-height: 1.75;
  letter-spacing: .02em;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}

img { max-width: 100%; display: block; }

button {
  font-family: inherit;
  cursor: pointer;
  border: none;
  background: none;
  color: inherit;
}

/* ---------- 水墨背景层 ---------- */
.bg-ink {
  position: fixed;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  /* 泼墨晕染:多组径向渐变 */
  background:
    radial-gradient(48% 42% at 20% 12%, rgba(198,166,118,.10), transparent 70%),
    radial-gradient(52% 46% at 82% 20%, rgba(199,39,43,.07), transparent 72%),
    radial-gradient(60% 50% at 50% 88%, rgba(111,157,134,.06), transparent 70%),
    radial-gradient(36% 34% at 68% 74%, rgba(201,160,92,.08), transparent 70%);
  filter: blur(1px);
}

.bg-vignette {
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: radial-gradient(120% 100% at 50% 40%, transparent 55%, rgba(0,0,0,.55) 100%);
}

/* 全局细颗粒(噪点)覆盖 */
body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background-image: var(--noise);
  background-size: 160px 160px;
  opacity: .045;
  mix-blend-mode: overlay;
}

/* ---------- 通用排版 ---------- */
.kicker {
  margin: 0 0 .4rem;
  font-size: .78rem;
  letter-spacing: .55em;
  color: var(--gold);
  text-transform: uppercase;
}

.stage-title {
  margin: 0 0 .4rem;
  font-size: 1.7rem;
  font-weight: 600;
  letter-spacing: .12em;
  color: var(--ink);
}

.stage-sub {
  margin: 0 0 1.6rem;
  font-size: .92rem;
  color: var(--ink-dim);
  letter-spacing: .08em;
}

em { font-style: normal; }
