/* ============================================================
   基础：配色变量 / 全局样式 / 视图切换 / 无障碍
   ============================================================ */
:root{
  --bg-1:#ffdbe7;
  --bg-2:#ffeaf2;
  --bg-3:#fff6fa;
  --env-cream:#f9e7db;
  --env-cream-deep:#efd5c2;
  --flap-top:#f6e4d5;
  --flap-bottom:#eccdb8;
  --paper:#fffdf8;
  --ink:#6b3f4e;
  --ink-soft:#a45a76;
  --rose:#e2678f;
  --rose-deep:#c2476f;
  --seal-hi:#f194b4;
  --shadow-rgba:160,70,105;
}

*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
  min-height:100dvh;
  overflow-x:hidden;
  background:linear-gradient(165deg,var(--bg-1) 0%,var(--bg-2) 48%,var(--bg-3) 100%);
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Segoe UI",sans-serif;
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
  user-select:none;
  -webkit-user-select:none;
}
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(42% 34% at 12% 16%, rgba(255,255,255,.5), transparent 70%),
    radial-gradient(38% 30% at 88% 78%, rgba(255,205,225,.45), transparent 70%);
}

a{color:inherit;text-decoration:none}

/* 视图切换 */
.view{
  position:fixed;inset:0;
  opacity:0;pointer-events:none;
  transition:opacity .5s ease;
}
.view.active{
  opacity:1;pointer-events:auto;
}

.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
}
