@import "tailwindcss";

@theme {
  --animate-page-enter: pageEnter 0.8s ease-out forwards;
  --animate-fade-up: fadeUp 0.35s ease-out;
}

@keyframes pageEnter {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}

@layer base {
  * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }

  *::-webkit-scrollbar {
    display: none;
  }

  html {
    font-size: 18px;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  @media (max-width: 768px) {
    html { font-size: 16px; }
  }

  body {
    font-family: 'KaiTi', '楷体', 'STKaiti', 'AR PL UKai CN', 'AR PL KaitiM GB',
      -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Helvetica Neue',
      sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    line-height: 1.6;
    color: #333;
    background: transparent;
    overflow-x: hidden;
  }

  a { color: inherit; text-decoration: none; }
  button { border: none; background: none; cursor: pointer; font-family: inherit; }
  input, textarea { border: none; outline: none; font-family: inherit; }
  ul, ol { list-style: none; }
  img { max-width: 100%; height: auto; }
}

/* 粒子效果样式 */
.click-particle {
  will-change: transform, opacity;
  animation-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  filter: blur(0.5px);
  transform: translateZ(0);
  backface-visibility: hidden;
}

.click-ripple {
  will-change: transform, opacity;
  animation-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transform: translateZ(0);
  backface-visibility: hidden;
}

@media (prefers-reduced-motion: reduce) {
  .click-particle,
  .click-ripple {
    animation-duration: 0.3s;
  }
}
