/* Base Styles */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans SC", sans-serif;
  background: var(--bg);
  min-height: 100vh;
  color: var(--text);
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* Ambient animated background */
body::before {
  content: '';
  position: fixed;
  inset: -50%;
  background:
    radial-gradient(ellipse 40% 35% at 25% 45%, rgba(108,92,231,0.07) 0%, transparent 60%),
    radial-gradient(ellipse 30% 40% at 75% 35%, rgba(253,121,168,0.05) 0%, transparent 60%),
    radial-gradient(ellipse 35% 30% at 50% 75%, rgba(0,230,118,0.03) 0%, transparent 60%);
  pointer-events: none;
  z-index: 0;
  animation: ambientDrift 24s ease-in-out infinite;
}

@keyframes ambientDrift {
  0%, 100% { transform: translate(0, 0) scale(1); opacity: 0.8; }
  25%      { transform: translate(2%, -1%) scale(1.02); opacity: 1; }
  50%      { transform: translate(-1%, 1%) scale(0.98); opacity: 0.6; }
  75%      { transform: translate(1%, 1%) scale(1.01); opacity: 0.9; }
}

/* Scrollbar Styles */
::-webkit-scrollbar {
  width: 5px;
  height: 5px;
}

::-webkit-scrollbar-track {
  background: transparent;
}

::-webkit-scrollbar-thumb {
  background: var(--border);
  border-radius: 10px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--border-light);
}

/* Firefox scrollbar */
* {
  scrollbar-width: thin;
  scrollbar-color: var(--border) transparent;
}
