        body {
            background: #050a14;
            margin: 0;
            overflow: hidden;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            height: 100vh;
            font-family: 'Segoe UI', sans-serif;
        }

        /* Canvas Fuochi */
        #fireworksCanvas {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: 1;
        }

		/* Cumuli di neve */
        .snow-ground {
            position: absolute;
            bottom: -20px;
            left: 0;
            width: 100%;
            height: 120px;
            z-index: 5;
            display: flex;
        }

        .drift {
            background: white;
            height: 100%;
            flex: 1;
            margin-left: -50px;
            filter: blur(2px);
            box-shadow: 0 -10px 30px white;
        }
		
		/* Forme irregolari dei cumuli */
        .drift:nth-child(1) { clip-path: ellipse(70% 60% at 50% 100%); }
        .drift:nth-child(2) { clip-path: ellipse(70% 75% at 50% 100%); height: 140px; }
        .drift:nth-child(3) { clip-path: ellipse(68% 55% at 50% 100%); }
        .drift:nth-child(4) { clip-path: ellipse(60% 80% at 50% 100%); height: 130px; }		

        /* Albero di Natale */
        .tree-container {
            position: relative;
            display: flex;
            flex-direction: column;
            align-items: center;
            z-index: 10;
        }

        .tree-part {
            width: 0; height: 0;
            border-left: transparent solid;
            border-right: transparent solid;
            border-bottom: #064e3b solid;
            filter: drop-shadow(0 0 20px rgba(0,0,0,0.8));
        }

        .p1 { border-left-width: 60px; border-right-width: 60px; border-bottom-width: 80px; margin-bottom: -35px; z-index: 3; }
        .p2 { border-left-width: 100px; border-right-width: 100px; border-bottom-width: 110px; margin-bottom: -45px; z-index: 2; }
        .p3 { border-left-width: 140px; border-right-width: 140px; border-bottom-width: 140px; z-index: 1; }

        .trunk { width: 45px; height: 50px; background: #422006; border-radius: 4px; }

        .star {
            color: gold; font-size: 55px; position: absolute;
            top: -50px; z-index: 15; text-shadow: 0 0 20px #fff;
            animation: pulse 2s infinite;
        }

        @keyframes pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.1); } }

        .light {
            position: absolute;
            width: 8px; height: 8px;
            border-radius: 50%;
            z-index: 20;
            animation: blink 0.8s infinite alternate;
        }

        @keyframes blink { from { opacity: 0.4; } to { opacity: 1; box-shadow: 0 0 10px currentColor; } }

        /* Fiocchi di neve */
        .snow {
            position: absolute;
            color: white;
            pointer-events: none;
            z-index: 100; /* Davanti a tutto */
            filter: drop-shadow(0 0 2px rgba(255,255,255,0.8));
        }		

		/* Testo */
        .text-group {
            text-align: center;
            z-index: 110;
            margin-top: 20px;
        }

		h1 {
            color: white; 
            font-size: 4rem; 
            text-shadow: 0 0 10px #ffd700, 0 0 20px #fff;
            margin: 0;
        }

        .signature {
            color: #ffd700; /* Colore oro per la firma */
            font-family: 'Great Vibes', cursive;
            font-size: 2.5rem;
            margin-top: 10px;
            text-shadow: 0 0 5px rgba(255, 215, 0, 0.5);
            opacity: 0.9;
			text-align: right;
        }
