/* ===== 基础 ===== */
*{margin:0;padding:0;box-sizing:border-box}
:root{
  --bg:#F7F3EC; --card:#FFFFFF; --ink:#2A251F; --ink2:#6E655B; --line:rgba(42,37,31,.10);
  --acc:#C46A7C; --acc-deep:#A94F62; --acc-soft:#F6E7EA;
  --ok:#4C8C5E; --ok-soft:#E4F0E7; --anx:#C9822F; --anx-soft:#F8ECDA;
  --avo:#567FA8; --avo-soft:#E3ECF4; --fear:#9665A8; --fear-soft:#EFE4F3;
  --shadow:0 2px 14px rgba(64,44,30,.06); --r:20px;
}
html{-webkit-text-size-adjust:100%;scroll-behavior:auto}
body{
  font-family:"Noto Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;
  background:linear-gradient(180deg,#FAF6EF 0%,#F4EDE2 100%);
  color:var(--ink);line-height:1.7;-webkit-font-smoothing:antialiased;min-height:100vh;
  -webkit-tap-highlight-color:transparent;
}
.display{font-family:"Noto Serif SC","Songti SC","STSong","SimSun",serif}
.wrap{max-width:760px;margin:0 auto;padding:clamp(20px,4vw,36px) clamp(16px,4vw,24px) calc(72px + env(safe-area-inset-bottom))}
.view{display:none}
.view.active{display:block;animation:vin .45s ease both}
@keyframes vin{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}
.sec-h{font-family:"Noto Serif SC","Songti SC","STSong",serif;font-weight:700;font-size:17px;letter-spacing:.02em}
:focus-visible{outline:2px solid var(--acc);outline-offset:2px;border-radius:6px}

/* ===== 按钮 ===== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:50px;padding:0 30px;border:none;border-radius:999px;cursor:pointer;
  font-family:inherit;font-size:16px;font-weight:700;letter-spacing:.04em;
  background:var(--acc);color:#fff;transition:background .18s,transform .12s,box-shadow .18s;
  box-shadow:0 4px 16px rgba(196,106,124,.28);text-decoration:none;user-select:none;
}
.btn:hover{background:var(--acc-deep)}
.btn:active{transform:scale(.98)}
.btn-ghost{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:46px;padding:0 22px;
  border:1px solid var(--line);border-radius:999px;cursor:pointer;font-family:inherit;font-size:14.5px;
  font-weight:600;color:var(--ink2);background:var(--card);transition:border-color .18s,color .18s;
}
.btn-ghost:hover{border-color:var(--acc);color:var(--acc-deep)}
.btn[disabled],.btn-ghost[disabled]{opacity:.38;cursor:not-allowed;pointer-events:none}

/* ===== 通用响应式 ===== */
@media (max-width:560px){
  .cta .btn{width:100%}
  .badge{font-size:13.5px}
  .chip{font-size:13.5px}
  .sub{font-size:13px}
}
@media (min-width:561px){
  .res-actions .btn-ghost{min-height:50px}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
}
