* { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Courier New', Courier, monospace; } body, html { width: 100%; height: 100%; overflow: hidden; } #background-video { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; object-fit: cover; z-index: -2; /* filter: grayscale(100%) brightness(0.3) contrast(1.2); */ } .overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: repeating-linear-gradient( rgba(0, 0, 0, 0.1) 0px, rgba(0, 0, 0, 0.3) 2px, rgba(0, 0, 0, 0.1) 4px ); z-index: -1; } .music-toggle { position: fixed; top: 15px; right: 20px; font-size: 1.5rem; color: #654274; cursor: pointer; text-shadow: 0 0 10px #654274; z-index: 10; } .loading-section { position: absolute; bottom: 80px; width: 100%; display: flex; flex-direction: column; align-items: center; padding: 0 20px; /* Supprime ou ajuste les marges pour l’aligner au centre */ margin-top: 0; } .terminal { position: relative; margin-bottom: 800px; color: #654274; font-size: 1.2rem; text-shadow: 0 0 5px #654274; width: 100%; max-width: 600px; overflow: hidden; padding: 10px 15px; background: black; } .logo { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 200px; filter: drop-shadow(0 0 8px #654274); z-index: 5; } .terminal-output { white-space: nowrap; overflow: hidden; color: #654274; font-size: 1.2rem; text-shadow: 0 0 3px #654274, 0 0 6px #654274; line-height: 1.5; height: 1.5em; padding-right: 10px; border-right: 2px solid #654274; animation: blink 1s steps(1) infinite; } @keyframes typing { from { width: 0 } to { width: 100% } } @keyframes blink { 0%, 100% { border-color: transparent } 50% { border-color: #654274 } } .loading-bar { width: 60%; height: 10px; background-color: rgba(255, 255, 255, 0.1); border: 2px solid black; border-radius: 5px; overflow: hidden; box-shadow: 0 0 10px #654274; } .loading-fill { width: 0%; height: 100%; background-color: #654274; transition: width 0.5s; } .loading-percentage { margin-top: 10px; font-size: 1rem; color: #654274; text-shadow: 0 0 5px black; } .info-blocks { position: fixed; bottom: 25px; right: 20px; display: flex; gap: 15px; z-index: 10; } .info-box { background-color: rgba(101,66,116, 0.15); padding: 10px 15px; border: 1px solid #654274; border-radius: 4px; color: #654274; text-shadow: 0 0 5px #654274; font-size: 1rem; text-decoration: none; transition: background 0.3s, transform 0.2s; } .info-box:hover { background-color: rgba(101,66,116, 0.3); transform: scale(1.05); } .social-buttons { position: fixed; left: 10px; top: 50%; transform: translateY(-50%); display: flex; flex-direction: column; gap: 20px; z-index: 10; } .social-btn { width: 50px; height: 50px; border-radius: 50%; background-color: rgba(101,66,116, 0.15); border: 1px solid #654274; color: #654274; display: flex; align-items: center; justify-content: center; font-size: 1.4rem; transition: background 0.3s, transform 0.2s; box-shadow: 0 0 8px #65427433; text-decoration: none; } .social-btn:hover { background-color: black; transform: scale(1.15); text-decoration: none; } .social-btn:active { transform: scale(0.95); transition: transform 0.1s; } .overlay::before { content: ""; position: absolute; top: 0; left: 0; height: 100%; width: 100%; background: repeating-linear-gradient( to bottom, rgba(101,66,116, 0.02) 0px, rgba(101,66,116, 0.06) 2px, rgba(101,66,116, 0.02) 4px ); z-index: 0; pointer-events: none; animation: scanlines 1s linear infinite; } @keyframes scanlines { 0% { transform: translateY(0); } 100% { transform: translateY(4px); } } /* Conteneur global, plus nécessaire pour le positionnement */ .announcements-wrapper { font-family: 'Courier New', monospace; z-index: 1000; } /* Bouton rond en bas à droite */ .round-btn { position: fixed; bottom: 20px; right: 20px; width: 50px; height: 50px; border-radius: 50%; background-color: black; border: 2px solid #654274; color: #654274; font-size: 1.8rem; font-weight: bold; cursor: pointer; box-shadow: 0 0 12px #654274; display: flex; align-items: center; justify-content: center; transition: background-color 0.3s, transform 0.2s; user-select: none; z-index: 1001; } .round-btn:hover { background-color: rgba(101,66,116, 0.4); transform: scale(1.1); box-shadow: 0 0 18px #654274; } /* Panneau positionné au milieu à droite */ .announcements-panel { position: fixed; top: 50%; right: 20px; transform: translateY(-50%); background: black; border: 2px solid #654274; border-radius: 6px; width: 350px; max-height: 250px; overflow-y: hidden; color: #654274; font-size: 1rem; padding: 15px 20px; box-shadow: 0 0 15px #654274; text-align: left; user-select: text; z-index: 1000; transition: opacity 0.3s, transform 0.3s; } /* Masqué */ .hidden { opacity: 0; pointer-events: none; transform: translateY(-50%) translateX(15px); } /* Bouton fermer */ .close-btn { position: absolute; top: 8px; right: 15px; background: none; border: none; color: #654274; font-size: 1.3rem; cursor: pointer; text-shadow: 0 0 8px #654274; user-select: none; } /* Titre */ .announcements-panel h3 { margin-top: 0; margin-bottom: 10px; font-weight: normal; scrollbar-width: thin; text-shadow: 0 0 10px #654274; font-size: 1.2rem; border-bottom: 1px solid #654274; padding-bottom: 5px; } /* Paragraphes */ .announcements-content p { margin-bottom: 12px; line-height: 1.3; } /* Scrollbar stylisée pour announcements-content */ .announcements-content { max-height: 180px; /* limite si besoin */ overflow-y: auto; scrollbar-width: thin; scrollbar-color: #654274 rgba(101,66,116, 0.1); } /* Pour les navigateurs WebKit (Chrome, Edge, Safari) */ .announcements-content::-webkit-scrollbar { width: 8px; } .announcements-content::-webkit-scrollbar-track { background: rgba(101,66,116, 0.05); border-radius: 4px; } .announcements-content::-webkit-scrollbar-thumb { background-color: #654274; border-radius: 4px; box-shadow: inset 0 0 6px rgba(0,0,0,0.3); }