/* ===== 主题变量 ===== */
:root{
  --bg1:#f3efe7; --bg2:#e8efec; --bg3:#e2eae5;
  --card:#fffcf7; --card-2:#f7f3ea;
  --ink:#2b3431; --ink-2:#67726d; --ink-3:#97a19c;
  --main:#2e5c51; --main-deep:#23473e; --main-soft:#e3ece8;
  --accent:#d08a5e; --accent-soft:#f6e8dc;
  --line:#e8e2d6;
  --shadow:0 12px 32px rgba(35,71,62,.08);
  --radius:20px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Noto Sans SC',-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;
  background:linear-gradient(160deg,var(--bg1) 0%,var(--bg2) 55%,var(--bg3) 100%);
  background-attachment:fixed;
  color:var(--ink);
  line-height:1.7;
  min-height:100vh;
  -webkit-font-smoothing:antialiased;
}
.serif{font-family:'Noto Serif SC',Georgia,'Songti SC','SimSun',serif}

/* ===== 布局容器（多页共用） ===== */
.page{display:none;min-height:100vh;padding:40px 24px 64px}
.page.active{display:block;animation:fadeIn .45s ease both}
@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.wrap{max-width:1040px;margin:0 auto}

/* ===== 通用按钮 ===== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  background:var(--main);color:#fff;
  border:none;border-radius:14px;
  font-family:inherit;font-size:16px;font-weight:500;letter-spacing:.06em;
  padding:15px 34px;cursor:pointer;
  transition:background .25s,transform .15s,box-shadow .25s;
  box-shadow:0 8px 22px rgba(46,92,81,.28);
}
.btn:hover{background:var(--main-deep);transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn svg{width:18px;height:18px}
.btn-ghost{
  background:transparent;color:var(--main);border:1.5px solid var(--main);
  box-shadow:none;padding:13px 28px;font-size:15px;
}
.btn-ghost:hover{background:var(--main-soft);color:var(--main-deep)}
.btn-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center}

/* ===== 页脚 ===== */
footer{text-align:center;color:var(--ink-3);font-size:12px;padding:30px 0 6px;letter-spacing:.05em}

/* ===== 全局无障碍 ===== */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}
