/* Basic styling */ body { font-family: Arial, sans-serif; background-color: #f4f4f4; text-align: center; } .hidden { display: none; } .shake { animation: shake 0.5s; } @keyframes shake { 0% { transform: translate(1px, 1px) rotate(0deg); } 10% { transform: translate(-1px, -2px) rotate(-1deg); } 20% { transform: translate(-3px, 0px) rotate(1deg); } 30% { transform: translate(3px, 2px) rotate(0deg); } 40% { transform: translate(1px, -1px) rotate(1deg); } 50% { transform: translate(-1px, 2px) rotate(-1deg); } 60% { transform: translate(-3px, 1px) rotate(0deg); } 70% { transform: translate(3px, 1px) rotate(-1deg); } 80% { transform: translate(-1px, -1px) rotate(1deg); } 90% { transform: translate(1px, 2px) rotate(0deg); } 100% { transform: translate(1px, -2px) rotate(-1deg); } } .flash-red { animation: flash-red 0.5s; } @keyframes flash-red { from { background-color: #f4f4f4; } to { background-color: red; } } .confetti { position: fixed; width: 10px; height: 10px; background-color: #f2f2f2; top: -10px; animation: confetti-fall 2s linear infinite, confetti-drift 1s ease-in-out infinite; } @keyframes confetti-fall { to { transform: translateY(100vh); } } @keyframes confetti-drift { 50% { transform: translateX(30px); } 100% { transform: translateX(-30px); } }

Enter Access Code