/* 全站配色：暖白打底、深棕灰文字、唯一强调色取自照片里的淡金色 */
:root {
  --paper: #FAF7F2;
  --ink: #3D342C;
  --ink-soft: #6B5F55;
  --muted: #9A8F84;
  --line: #E7E0D6;
  --accent: #D9B77E;       /* 深色背景上用 */
  --accent-dark: #9C7A45;  /* 浅色背景上用，保证对比度 */
  --dark: #1A1A1A;
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; border: 0 solid var(--line); }
html { line-height: 1.5; -webkit-text-size-adjust: 100%; }
body {
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial,
    "Noto Sans", "PingFang SC", "Microsoft YaHei", sans-serif;
  color: var(--ink);
  background: var(--paper);
  font-size: 14px;
}
a { color: inherit; text-decoration: none; }
img, video { display: block; max-width: 100%; }
img { border-radius: 2px; }
button { background: none; cursor: pointer; font: inherit; color: inherit; }
h1, h2, h3, p { font-size: inherit; font-weight: inherit; }

.h-16 { height: 4rem; }
.container { width: 100%; margin: 0 auto; }
@media (min-width: 640px) { .container { max-width: 640px; } }
@media (min-width: 768px) { .container { max-width: 768px; } }
@media (min-width: 1024px) { .container { max-width: 1024px; } }
@media (min-width: 1280px) { .container { max-width: 1280px; } }
@media (min-width: 1536px) { .container { max-width: 1536px; } }

.page-title { font-weight: 600; color: var(--ink); text-align: center; padding: 2.5rem 1rem 1.5rem; letter-spacing: .04em; }
.page-title.xl { font-size: 1.375rem; line-height: 1.75rem; }
.page-title.x3 { font-size: 1.875rem; line-height: 2.25rem; }
.page-title.base { font-size: 1.125rem; line-height: 1.5rem; }
.empty-tip { text-align: center; color: var(--muted); padding: 4rem 0; }
body.lock { overflow: hidden; }
