/* ============================================================
   基础样式：重置、排版、氛围层、动效降级
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; overflow-x: clip; }

body {
  background: var(--bg);
  color: var(--text);
  font-family: var(--font-body);
  font-size: var(--fs-body);
  line-height: 1.6;
  letter-spacing: 0.01em;
  min-height: 100vh;
  overflow-x: clip;
}

/* 氛围层：顶部蓝色光晕 + 淡网格底纹 */
.atmosphere::before {
  content: ""; position: fixed; inset: 0; pointer-events: none; z-index: 0;
  background:
    radial-gradient(60rem 34rem at 88% -12%, rgba(59, 123, 255, 0.12), transparent 62%),
    linear-gradient(rgba(23, 35, 61, 0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(23, 35, 61, 0.025) 1px, transparent 1px);
  background-size: auto, 44px 44px, 44px 44px;
}

/* 细颗粒（极轻） */
.grain::after {
  content: ""; position: fixed; inset: 0; pointer-events: none; z-index: 1; opacity: 0.02;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

h1, h2, h3 { font-family: var(--font-display); font-weight: 700; line-height: 1.2; }

a { color: inherit; text-decoration: none; }
button { font-family: inherit; cursor: pointer; }
input, select, textarea { font-family: inherit; font-size: inherit; }

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

/* 数字：等宽呈现，拍品编号感 */
.num, .price {
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.06em;
}

:focus-visible {
  outline: 2px solid var(--accent-bright);
  outline-offset: 2px;
  border-radius: 2px;
}

::selection { background: rgba(36, 86, 230, 0.18); }

/* 滚动触发入场 */
.reveal { opacity: 0; transform: translateY(24px); }
.reveal.in {
  opacity: 1; transform: none;
  transition: opacity var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out);
}
.reveal:nth-child(2) { transition-delay: 80ms; }
.reveal:nth-child(3) { transition-delay: 160ms; }
.reveal:nth-child(4) { transition-delay: 240ms; }

/* 页面加载编排 */
@keyframes rise { from { opacity: 0; transform: translateY(28px); } to { opacity: 1; transform: none; } }
.rise { animation: rise var(--dur-slow) var(--ease-out) both; }
.rise-1 { animation-delay: 60ms; } .rise-2 { animation-delay: 140ms; }
.rise-3 { animation-delay: 220ms; } .rise-4 { animation-delay: 300ms; }

@media (prefers-reduced-motion: reduce) {
  /* 仅关闭平滑滚动，保留其余动画（用户要求移动端可见动画） */
  html { scroll-behavior: auto; }
}
