/* ============ 安嘱 H5 · 全局基础 ============ */
/* 落地策略：只做「内容区」，不画微信浏览器外壳（顶/底栏交给真实微信/浏览器）。
   桌面端内容居中成手机宽列，两侧同背景色无缝——无边框、无阴影、无圆角（不要气泡）。 */
* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
html, body { margin: 0; padding: 0; }
:root {
  --accent: #6E7F5B;
  --ct: env(safe-area-inset-top, 0px);   /* 内容顶部安全区 */
  --cb: env(safe-area-inset-bottom, 0px);
}
body {
  background: #F4EFE6;
  font-family: 'Noto Sans SC', -apple-system, 'PingFang SC', sans-serif;
  color: #2B2722;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
.serif { font-family: 'Noto Serif SC', 'Songti SC', 'STSong', serif; }

/* 应用容器：移动端整屏铺满；桌面端居中手机宽列（无任何卡片装饰，不是气泡） */
#app {
  position: relative;
  width: 100%;
  max-width: 480px;
  height: 100dvh;
  margin: 0 auto;
  background: #F4EFE6;
  color: #2B2722;
  overflow: hidden;
}

/* 入场动画（welcome） */
@keyframes scIn { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } }
.sc { animation: scIn .7s ease both; }

/* 隐藏滚动条 */
.scrl { scrollbar-width: none; -ms-overflow-style: none; -webkit-overflow-scrolling: touch; }
.scrl::-webkit-scrollbar { display: none; }

/* 表单 */
input, textarea, button { font-family: inherit; color: inherit; }
input::placeholder, textarea::placeholder { color: #B3AA98; }
input[type="range"] { -webkit-appearance: none; appearance: none; background: transparent; }
input[type="range"]::-webkit-slider-runnable-track { height: 6px; border-radius: 99px; background: #E7DECE; }
input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none; appearance: none;
  width: 24px; height: 24px; border-radius: 50%;
  background: var(--accent); border: 3px solid #FCFAF5;
  box-shadow: 0 2px 6px rgba(110, 127, 91, .4);
  margin-top: -9px; cursor: pointer;
}
input[type="range"]::-moz-range-track { height: 6px; border-radius: 99px; background: #E7DECE; }
input[type="range"]::-moz-range-thumb {
  width: 24px; height: 24px; border-radius: 50%;
  background: var(--accent); border: 3px solid #FCFAF5; cursor: pointer;
}
