/* 凡人AI · 共享基础样式（墨核）
   页面正文沿用设计里的内联样式；本文件只放全局底座 + 动画 + 移动端兜底。 */

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  background: #14110d;
  color: #ece4d6;
  font-family: 'Noto Sans SC', 'PingFang SC', sans-serif;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

a { color: #e7c9a0; text-decoration: none; }
a:hover { color: #e5623f; }

img { max-width: 100%; height: auto; }

::selection { background: #c8452f; color: #fff6ea; }
input::placeholder, textarea::placeholder { color: rgba(236, 228, 214, .32); }

/* 设计里用到的关键帧 */
@keyframes lineIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@keyframes barGrow { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes blink { 0%, 49% { opacity: 1; } 50%, 100% { opacity: 0; } }

/* [hidden] 语义（部分浏览器对 flex/grid 元素不生效，强制隐藏） */
[hidden] { display: none !important; }

/* 移动端兜底：设计以桌面栅格为主，小屏下让多列栅格堆叠、收窄外边距，避免横向溢出。
   第一期先保证不破版；精细的移动端排版可后续单独打磨。 */
@media (max-width: 820px) {
  [style*="grid-template-columns"] { grid-template-columns: 1fr !important; }
  [style*="max-width:1200px"] { padding-left: 20px !important; padding-right: 20px !important; }
  [style*="font-size:400px"] { font-size: 200px !important; }
}

@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; scroll-behavior: auto !important; transition: none !important; }
}
