:root { --top: 10px; --border: 20px; --text: 1.5rem; } body { margin: 0; overflow: hidden; font-family: sans-serif; } #punti { position: absolute; top: var(--top); left: var(--border); color: white; font-size: var(--text); pointer-events: none; display: none; } #tempo { position: absolute; top: var(--top); right: var(--border); color: white; font-size: var(--text); pointer-events: none; display: none; } #punti, #tempo { position: absolute; top: var(--top); color: white; font-size: var(--text); pointer-events: none; display: none; /* Aggiungi questa riga */ text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7); font-weight: bold; } /* Cursore */ #crosshair { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); color: white; font-size: 24px; font-family: sans-serif; pointer-events: none; display: none; /* SarĂ  visualizzato solo durante il gioco */ z-index: 10; } /* Schermata iniziale del gioco */ #start { position: absolute; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden; color: white; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; /* Queste 4 righe garantiscono la centratura totale */ display: flex; flex-direction: column; justify-content: center; align-items: center; z-index: 100; /* Assicurati che sia sopra al renderer di Three.js */ } /* Video a tutto schermo */ #bg-video { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: -1; object-fit: cover; /* Riempie lo schermo senza deformare */ } .overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.4); z-index: 0; pointer-events: none; /* Il click attraversa l'overlay e arriva a #start */ } .content { position: relative; z-index: 1; height: 100%; width: 100%; /* Aggiunto */ display: flex; flex-direction: column; } /* Divisione 50% Sopra */ .top-section { flex: 1; display: flex; align-items: center; justify-content: center; } .main-title { width: 25%; height: auto; } /* Divisione 50% Sotto */ .bottom-section { flex: 1; display: flex; flex-direction: row; width: 100%; /* Forza l'espansione orizzontale */ align-items: flex-start; padding-top: 20px; } .item { /* flex: 1 0 33%; significa: cresci, non restringerti, base 33% */ flex: 1 0 33.33%; display: flex; justify-content: center; text-align: center; } /* Styling dei Controlli */ .controls-box { width: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; color: white; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); font-family: 'Press Start 2P', cursive; } .controls-box h3 { margin-bottom: 10px; font-size: 1.4rem; text-transform: uppercase; text-align: center; } .controls-box p { margin: 6px 0; font-size: 1.1rem; text-align: center; } /* Stile dei tasti */ .controls-box kbd { background-color: #5e5d5d; color: #fff; padding: 4px 8px; border-radius: 4px; font-family: monospace; font-weight: bold; margin: 6px 0; } /* Box delle istruzioni */ .instructions-box { width: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; color: white; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); font-family: 'Press Start 2P', cursive; } .instructions-box h3 { margin-bottom: 10px; font-size: 1.4rem; text-transform: uppercase; text-align: center; } .instructions-box p { margin: 6px 0; font-size: 1.1rem; text-align: center; } /* Animazione per "Clicca per giocare" */ .pulse-text { font-size: 1.5rem; text-transform: uppercase; letter-spacing: 2px; animation: pulse 2s infinite; } @keyframes pulse { 0% { opacity: 1; } 50% { opacity: 0.4; } 100% { opacity: 1; } }