/* General styles */ html { font-family: Arial, sans-serif; color: #00ffff; background-color: #0a0a2a; margin: 0; padding: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; overflow: auto; } label { margin: 10px 0 5px; } input { padding: 10px; margin: 5px 0 20px; width: 200px; } button { background-color: #00ffff; color: #000033; border: none; padding: 1rem 2rem; font-size: 1.5rem; cursor: pointer; transition: all 0.3s ease; border-radius: 10px; margin-top: 1rem; text-transform: uppercase; letter-spacing: 2px; } button:hover { background-color: #000033; color: #00ffff; box-shadow: 0 0 20px #00ffff; } #game1 { width: 810px; height: 500px; position: relative; background-color: #000; border: 3px solid #00ffff; box-shadow: 0 0 30px #00ffff, inset 0 0 20px #00ffff; overflow: hidden; display: flex; justify-content: center; align-items: center; } .name { font-size: 24px; position: absolute; top: 20px; } #player1-name { left: 10px; /* Adjust player score position */ } #player2-name { right: 10px; /* Adjust bot score position */ } #game2 { top: 60px; width: 800px; height: 400px; position: absolute; background-color: #000; overflow: hidden; border: 2px solid white; /* Add red border */ display: flex; justify-content: center; align-items: center; } .score { font-size: 24px; position: absolute; top: 10px; } #player1-score { left: 50px; /* Adjust player score position */ } #player2-score { right: 50px; /* Adjust bot score position */ } .pad { width: 10px; height: 100px; background-color: #ffffff; position: absolute; } #player1-pad { left: 10px; background-color: #00ffff; border-radius: 10px; box-shadow: 0 0 15px #00ffff; } #player2-pad { right: 10px; background-color: #00ffff; border-radius: 10px; box-shadow: 0 0 15px #00ffff; } #ball { width: 20px; height: 20px; background-color: #00ffff; border-radius: 50%; position: absolute; } #game-text { font-size: 64px; color: #00ffff; position: absolute; top: 150px; } .logo { position: absolute; top: 20px; left: 20px; z-index: 20; } .logo img { max-width: 100%; height: auto; } .stars { position: absolute; width: 100%; height: 100%; } .star { position: absolute; background-color: #ffffff; border-radius: 50%; animation: twinkle 2s infinite alternate; } .background { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 0; pointer-events: none; } .pong-elements { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 5; pointer-events: none; } .paddle { position: absolute; width: 20px; height: 100px; background-color: #00ffff; border-radius: 10px; box-shadow: 0 0 15px #00ffff; } .paddle-left { left: 50px; animation: paddleMove 5s infinite alternate ease-in-out; } .paddle-right { right: 50px; animation: paddleMove 4s infinite alternate-reverse ease-in-out; } .ball_anim { position: absolute; width: 30px; height: 30px; background-color: #00ffff; border-radius: 50%; box-shadow: 0 0 20px #00ffff; left: 80px; top: 50%; transform-style: preserve-3d; animation: ballMove 3s linear infinite; } @keyframes paddleMove { 0% { transform: translateY(10vh); } 100% { transform: translateY(70vh); } } @keyframes ballMove { 0% { transform: translateZ(0) scale(1); } 50% { transform: translateZ(-500px) scale(0.5); } 100% { transform: translateZ(0) scale(1); } } .input-container { margin-bottom: 2rem; } .container { text-align: center; background-color: rgba(0, 0, 40, 0.8); padding: 3rem; border-radius: 15px; border: 3px solid #00ffff; box-shadow: 0 0 30px #00ffff, inset 0 0 20px #00ffff; position: relative; z-index: 10; max-width: 80%; overflow: auto; } .navbar { position: absolute; top: 30px; right: 10px; padding: 10px; } .burger-menu { font-size: 24px; background: none; border: none; color: #00ffff; cursor: pointer; transition: color 0.3s ease; } .burger-menu:hover { color: #ffffff; } .dropdown-content { display: none; position: absolute; top: 100%; right: 0; margin-top: 10px; background-color: #1a1a2e; color: #ffffff; box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.3); border-radius: 5px; z-index: 1; width: max-content; } .dropdown-content.show { display: block; } .dropdown-content a { color: #ffffff; padding: 12px 16px; text-decoration: none; display: block; border-bottom: 1px solid rgba(255, 255, 255, 0.2); transition: background-color 0.3s ease; } .dropdown-content a:hover { background-color: #333; color: #00ffff; } .language-switcher { position: absolute; top: 10px; right: 10px; display: flex; gap: 10px; } .language-switcher img { width: 30px; height: 20px; cursor: pointer; } #settings-btn { position: fixed; bottom: 10px; right: 10px; cursor: pointer; z-index: 1000; border: none; border-radius: 50%; padding: 10px; font-size: 18px; } #settings-menu { position: fixed; bottom: 50px; right: 10px; padding: 20px; background-color: rgb(66, 63, 63); border: 1px solid #ccc; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); width: 250px; z-index: 1000; } #close-settings { position: absolute; top: 10px; right: 10px; background: none; border: none; cursor: pointer; font-size: 16px; } .modal { display: none; position: fixed; z-index: 1; left: 0; top: 0; width: 100%; height: 100%; overflow: auto; background-color: rgb(0, 0, 0); background-color: rgba(0, 0, 0, 0.4); padding-top: 60px; } .modal-content { background-color: #fefefe; margin: 5% auto; padding: 20px; border: 5px solid #888; width: 80%; max-height: 70vh; overflow-y: auto; } .close { color: #aaa; float: right; font-size: 28px; font-weight: bold; } .close:hover, .close:focus { color: black; text-decoration: none; cursor: pointer; } pre { white-space: pre-wrap; word-wrap: break-word; } .tournament-waiting-room { background-color: rgba(0, 0, 0, 0.6); padding: 20px; border-radius: 15px; color: #00ffff; width: 50%; margin: auto; text-align: center; box-shadow: 0 0 30px #00ffff, inset 0 0 20px #00ffff; } .tournament-waiting-room h2 { font-family: 'Arial', sans-serif; font-size: 2em; margin-bottom: 15px; text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7); } .tournament-waiting-room p { font-family: 'Verdana', sans-serif; font-size: 1.2em; margin-bottom: 20px; text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.6); } .tournament-waiting-room ul { list-style-type: none; padding: 0; } body { color: rgb(0, 255, 255); /* Valeur par défaut */ font-family: Arial, sans-serif; font-size: 16px; } canvas { max-width: 100%; height: auto; margin-top: 20px; } #game-controls { display: flex; justify-content: center; gap: 20px; margin-bottom: 10px; } #game-controls button { background-color: #00ffff; color: #000033; border: none; padding: 1rem 2rem; font-size: 1rem; cursor: pointer; transition: all 0.3s ease; border-radius: 10px; text-transform: uppercase; letter-spacing: 2px; } #game-controls button:hover { background-color: #000033; color: #00ffff; box-shadow: 0 0 20px #00ffff; } @keyframes borderGlow { 0% { box-shadow: 0 0 30px #00ffff, inset 0 0 20px #00ffff; } 50% { box-shadow: 0 0 60px #0099ff, inset 0 0 40px #0099ff; } 100% { box-shadow: 0 0 30px #00ffff, inset 0 0 20px #00ffff; } } #chat-container { display: none; /* Masquer par défaut */ position: fixed; bottom: 10px; left: 10px; width: 300px; background-color: rgba(0, 0, 0, 0.7); /* Couleur de fond semi-transparente par défaut */ border-radius: 10px; padding: 10px; box-shadow: 0 0 30px #00ffff, inset 0 0 20px #00ffff; z-index: 1000; box-sizing: border-box; flex-direction: column; animation: borderGlow 3s infinite; /* Ajouter l'animation */ transition: background-color 0.3s, transform 0.3s; /* Ajouter des transitions */ } #chat-container:hover { background-color: rgba(0, 0, 0, 1); /* Couleur de fond opaque au survol */ transform: scale(1.05); /* Agrandir légèrement au survol */ } .chat-log { max-height: 150px; overflow-y: auto; margin-bottom: 10px; box-sizing: border-box; background-color: transparent; display: none; } .chat-input { display: flex; flex-direction: row; align-items: center; justify-content: center; margin-bottom: 5px; position: relative; /* Assurez-vous que le conteneur parent est positionné */ } .chat-input.active { display: flex; /* Afficher uniquement l'élément actif */ } .chat-input input[type="text"] { flex: 1; padding: 5px; font-size: 13px; border: none; border-radius: 5px; box-sizing: border-box; height: 28px; width: 250px; /* Réduire la largeur */ align-items: center; justify-content: center; } .chat-button { height: 50px; width: 50px; /* Réduire la taille du bouton */ border: none; border-radius: 50%; background: linear-gradient(45deg, #00ffff, #0099ff); color: #000033; cursor: pointer; position: absolute; /* Positionner le bouton de manière absolue */ right: 10px; /* Ajuster la position à droite */ top: 10%; /* Centrer verticalement */ transform: translateY(-50%); /* Centrer verticalement */ display: flex; align-items: center; justify-content: center; text-align: center; font-size: 20px; padding: 0; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); transition: background 0.3s, transform 0.3s; animation: buttonGlow 3s infinite; /* Ajouter l'animation */ } .chat-button:hover { background: linear-gradient(45deg, #0099ff, #00ffff); transform: translateY(-50%) scale(1.1); /* Agrandir légèrement au survol */ } .chat-button:active { transform: translateY(-50%) scale(0.95); /* Réduire légèrement à l'activation */ } @keyframes buttonGlow { 0% { box-shadow: 0 0 10px #00ffff, inset 0 0 5px #00ffff; } 50% { box-shadow: 0 0 20px #0099ff, inset 0 0 10px #0099ff; } 100% { box-shadow: 0 0 10px #00ffff, inset 0 0 5px #00ffff; } } #room-tabs-container { display: flex; justify-content: space-between; margin-top: 5px; } .room-tab { font-size: 14px; padding: 5px 10px; margin-right: 5px; cursor: pointer; border: 1px solid #00ffff; background-color: #000033; color: #00ffff; border-radius: 5px; box-sizing: border-box; opacity: 0.1; transition: background 0.3s, transform 0.3s; /* Ajouter des transitions */ animation: tabGlow 3s infinite; /* Ajouter l'animation */ } .room-tab:hover { background-color: #00ffff; color: #000033; transform: scale(1.1); /* Agrandir légèrement au survol */ } .room-tab:active { transform: scale(0.95); /* Réduire légèrement à l'activation */ } .room-tab.active { background-color: #00ffff; color: #000033; opacity: 1; } @keyframes tabGlow { 0% { box-shadow: 0 0 10px #00ffff, inset 0 0 5px #00ffff; } 50% { box-shadow: 0 0 20px #0099ff, inset 0 0 10px #0099ff; } 100% { box-shadow: 0 0 10px #00ffff, inset 0 0 5px #00ffff; } } #chat-controls { position: fixed; bottom: 100px; right: 80px; /* Correspondre à la position à côté du conteneur de chat */ display: flex; flex-direction: column; gap: 5px; /* Espacement entre les boutons */ } #chat-controls button { width: 100px; /* Correspondre à la taille des boutons */ height: 30px; /* Correspondre à la taille des boutons */ font-size: 12px; /* Correspondre à la taille de la police */ padding: 5px; border-radius: 5px; cursor: pointer; background-color: #00ffff; color: #000033; border: none; transition: background-color 0.3s, transform 0.3s; animation: buttonGlow 3s infinite; /* Ajouter l'animation */ } #chat-controls button:hover { background-color: #0099ff; transform: scale(1.05); } #chat-controls button:active { transform: scale(0.95); } @keyframes buttonGlow { 0% { box-shadow: 0 0 10px #00ffff, inset 0 0 5px #00ffff; } 50% { box-shadow: 0 0 20px #0099ff, inset 0 0 10px #0099ff; } 100% { box-shadow: 0 0 10px #00ffff, inset 0 0 5px #00ffff; } } .player-stats-popup { position: fixed; bottom: 20px; left: 320px; /* Adjust to appear above the chat */ width: 300px; background-color: rgba(0, 0, 40, 0.9); color: #00ffff; border-radius: 10px; padding: 15px; box-shadow: 0 0 20px #00ffff, inset 0 0 10px #00ffff; z-index: 2000; transition: transform 0.3s ease-out, opacity 0.3s ease-out; } .player-stats-popup.show { display: block; transform: translateY(0); opacity: 1; } .player-stats-popup.hide { transform: translateY(20px); opacity: 0; }