/* ============================================================
   base.css — reset / 排版 / 移动端布局 / 字体字重
   按需求规格书 v1（执行版）整理。
   ============================================================ */

* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }

html, body { margin: 0; padding: 0; height: 100%; }

body {
  font-family: var(--font-sans);
  font-weight: 300;
  color: var(--text);
  background: var(--bg-gradient);
  background-attachment: fixed;
  line-height: 1.65;
  font-size: 15px;
  -webkit-font-smoothing: antialiased;
  transition: background 0.4s ease, color 0.3s ease;
}

#app {
  max-width: var(--app-max-width);
  margin: 0 auto;
  min-height: 100vh;
  position: relative;
  background: transparent;
  padding-bottom: 84px;
}

/* 顶部标题区（review/settings 页沿用） */
.app-header { padding: 26px 20px 8px; }
.app-header h1 { font-size: 22px; font-weight: 400; margin: 0; letter-spacing: 0.5px; color: var(--text); }
.app-header .sub { font-size: 12.5px; color: var(--text2); font-weight: 300; margin-top: 2px; }

/* 页面 section：默认隐藏，激活显示 */
.page { display: none; padding: 0 16px 24px; animation: fadeIn 0.3s ease; }
.page.active { display: block; }
/* 今日页顶部由 .date-header 接管（规格书 2.1 padding 24px），故去掉 .page 顶部留白 */
#page-today.page { padding-top: 0; }
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}

/* 区块间细浅分割线留白 */
.divider { height: 1px; background: var(--divider); margin: 22px 4px; border: none; }
