:root {
  --primary-color: #ff006e;
  --secondary-color: #3a86ff;
  --background-color: #fefae0;
  --text-color: #000000;
  --card-background: #ffffff;
  --border-color: #000000;
  --border-width: 4px;
  --shadow-offset: 8px;
  --font-main: 'Lexend Mega', sans-serif;
  --font-heading: 'Bungee', cursive;
}

body {
  background-color: var(--background-color);
  color: var(--text-color);
  font-family: var(--font-main);
  margin: 0;
  padding: 2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  min-height: 100vh;
  /* Retro Grid Pattern */
  background-image: 
    linear-gradient(var(--border-color) 1px, transparent 1px), 
    linear-gradient(90deg, var(--border-color) 1px, transparent 1px);
  background-size: 40px 40px;
  background-color: var(--background-color);
  opacity: 1;
}

header h1 {
  font-family: var(--font-heading);
  font-size: 3.5rem;
  text-align: center;
  margin-bottom: 2rem;
  background-color: var(--secondary-color);
  color: #fff;
  padding: 1rem 2rem;
  border: var(--border-width) solid var(--border-color);
  box-shadow: var(--shadow-offset) var(--shadow-offset) 0px var(--border-color);
  transform: rotate(-2deg);
}

main {
  width: 100%;
  max-width: 800px;
  margin-top: 2rem;
}

/* Styles for components inside Shadow DOM will be moved to main.js */
lotto-generator {
  display: block;
}
