/* 可选：自托管思源黑体（将子集放置 /fonts 并取消注释） */
/*
@font-face {
  font-family: "Source Han Sans SC";
  src: url("/fonts/SourceHanSansSC-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Source Han Sans SC";
  src: url("/fonts/SourceHanSansSC-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
*/

/* 细微 UI 优化 */
::selection { background: rgba(79,70,229,0.2); }
html, body { overflow-x: hidden; }
html { scrollbar-gutter: stable; }
body { margin: 0; overflow-y: auto; }

/* 统一容器左右内边距，避免左侧贴边（覆盖 Tailwind 默认容器间距差异） */
.container { padding-left: 1rem; padding-right: 1rem; margin-left: auto; margin-right: auto; max-width: 1200px; }
@media (min-width: 640px) { .container { padding-left: 1.5rem; padding-right: 1.5rem; } }
@media (min-width: 1024px) { .container { padding-left: 2rem; padding-right: 2rem; } }

/* 全宽出血（避免右侧空白，适配含滚动条的 100vw 差异） */
.full-bleed { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); width: 100vw; }

/* 首页渐变动画与装饰光晕 */
.animated-gradient {
  background: linear-gradient(135deg, #4f46e5, #2563eb, #06b6d4);
  background-size: 200% 200%;
  animation: gradientShift 12s ease-in-out infinite;
}
.hero-blur-blob {
  position: absolute;
  width: 42rem;
  height: 42rem;
  filter: blur(80px);
  opacity: 0.25;
  border-radius: 9999px;
  background: radial-gradient(circle at 30% 30%, #ffffff, transparent 60%);
  animation: floatBlob 16s ease-in-out infinite;
}
@keyframes gradientShift {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}
@keyframes floatBlob {
  0% { transform: translate3d(-10%, -6%, 0) scale(1); }
  50% { transform: translate3d(8%, 6%, 0) scale(1.05); }
  100% { transform: translate3d(-10%, -6%, 0) scale(1); }
}

/* 滚动入场动画（IntersectionObserver 配合 data-reveal 使用） */
[data-reveal] {
  opacity: 0;
  transform: translateY(16px) scale(0.98);
  transition: opacity 480ms cubic-bezier(.2,.8,.2,1), transform 480ms cubic-bezier(.2,.8,.2,1);
}
[data-reveal].is-visible {
  opacity: 1;
  transform: none;
}

/* 降级兼容：用户偏好减少动效时禁用动画 */
@media (prefers-reduced-motion: reduce) {
  .animated-gradient, .hero-blur-blob { animation: none !important; }
  [data-reveal] { transition: none !important; opacity: 1 !important; transform: none !important; }
}

/* 弹窗开启时禁止页面滚动 */
.no-scroll { overflow: hidden; }

/* （已移除应用列表）去除骨架与占位样式 */

