/* Style simple et épuré pour le site d'introduction aux logiciels libres */ body { background: #000; color: #00ff88; font-family: "Courier New", monospace; margin: 2rem; line-height: 1.5; } header { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1rem; background: #001a0f; border-bottom: 2px solid #00ff88; padding: 1rem; } header h1 { margin: 0; line-height: 40px; font-size: 1.8rem; color: #00ffcc; text-align: center; } .header-gif { width: 3rem; height: 3rem; image-rendering: pixelated; margin-left : 3rem; } section { border: 1px solid #00ff88; box-shadow: 0 0 10px #00ff88; background: rgba(0, 0, 0, 0.3); padding : 2rem; } main { max-width: 800px; margin: 2rem auto; padding: 1rem; } h1, h2 { margin-top: 0; /* augmenter la taille et améliorer contraste */ color: #00ffcc; /* couleur plus claire que #2c7a7b */ } h1 { text-align: center; margin-top: 1rem; margin-bottom: 2rem; font-size: 2.2rem; } h2 { font-size: 1.6rem; } nav { background: #256f70; padding: 0.6rem 0; margin-top: 1rem; border-radius: 6px; } .menu { list-style: none; padding: 0; margin: 0; margin-left: 1rem; margin-right: 1rem; display: flex; gap: 1.5rem; justify-content: center; } .menu a { color: white; text-decoration: none; font-weight: bold; transition: opacity 0.2s; font-size: 1.1rem; outline-offset: 2px; /* pour focus */ } /* Focus visible pour clavier */ .menu a:focus { outline: 3px solid #00ff88; outline-offset: 2px; } .menu a:hover { opacity: 0.8; /* plus visible au hover */ } .menu li { border: 2px smooth #00ff88; /* bordure verte */ padding: 0.5rem 1rem; /* espace intérieur */ border-radius: 6px; /* coins arrondis */ background-color: rgba(0, 255, 136, 0.1); /* fond semi-transparent */ } .menu li:hover { background-color: #00ff88; /* fond vert clair au hover */ } .menu li a { color: #000; /* texte noir pour contraste sur fond clair */ text-decoration: none; font-weight: bold; display: block; /* pour que le lien prenne toute la "case" */ } /* Styles pour la page "Outils Open Source vs Propriétaires" */ .tool-container { display: flex; flex-wrap: wrap; gap: 1.5rem; justify-content: center; } .tool-card { background: rgba(0, 255, 136, 0.1); border: 1px solid #00ff88; border-radius: 8px; width: 320px; padding: 1rem; display: flex; flex-direction: column; gap: 1rem; box-shadow: 0 0 8px #00ff88; transition: transform 0.3s ease, box-shadow 0.3s ease; } /* Respecter la préférence "réduire le mouvement" */ @media (prefers-reduced-motion: reduce) { .tool-card { transition: none; } } .tool-card:hover { transform: scale(1.05); box-shadow: 0 0 20px #00ff88; } .tool-row { display: flex; align-items: center; gap: 1rem; } .tool-row img { width: 48px; height: 48px; object-fit: contain; border-radius: 8px; background: #000; box-shadow: 0 0 8px #00ff88; } .tool-name { font-weight: bold; font-size: 1.3rem; /* un peu plus grand */ color: #00ffcc; /* couleur plus claire */ } .description { font-size: 1rem; /* plus lisible */ color: #00ff88; min-height: 60px; line-height: 1.4; /* interligne */ } .vs { text-align: center; font-weight: bold; color: #00ff88; margin: 0.5rem 0; user-select: none; } /* --- POKÉMON (adapté au style rétro du site) --- */ .battle { background: rgba(0, 0, 0, 0.3); border: 2px solid #00ff88; box-shadow: 0 0 15px #00ff88; padding: 20px; border-radius: 12px; margin: 1rem; color: #00ff88; font-family: "Courier New", monospace; } .row { display: flex; gap: 20px; margin-bottom: 20px; } .monster { flex: 1; background: rgba(0, 255, 136, 0.1); border: 1px solid #00ff88; box-shadow: 0 0 10px #00ff88; border-radius: 10px; padding: 20px; text-align: center; font-size: 18px; color: #00ffcc; } button { font-size: 16px; border-radius: 8px; border: 2px solid #00ff88; background: rgba(0, 255, 136, 0.15); color: #00ffcc; cursor: pointer; font-family: "Courier New", monospace; text-shadow: 0 0 5px #00ff88; transition: 0.2s ease; margin : 0.5rem; align-items: center; height: 3rem; } button:hover { background: #00ff88; color: #000; box-shadow: 0 0 12px #00ff88; } #log { white-space: pre-line; margin-top: 10px; background: rgba(0, 255, 136, 0.1); padding: 12px; border-radius: 8px; border: 1px solid #00ff88; box-shadow: 0 0 8px #00ff88; min-height: 60px; color: #00ffcc; } /* --- Tooltip version rétro --- */ .tooltip { display: inline-block; margin-left: 6px; width: 18px; height: 18px; line-height: 16px; text-align: center; background: rgba(0, 255, 136, 0.2); border-radius: 50%; border: 1px solid #000; cursor: help; font-weight: bold; font-size: 12px; color: #000; position: relative; } .tooltip::after { content: attr(data-tooltip); position: absolute; top: 22px; left: 50%; transform: translateX(-50%); background: #001a0f; border: 2px solid #00ff88; padding: 6px 10px; border-radius: 8px; width: 220px; color: #00ffcc; font-size: 13px; z-index: 999; white-space: normal; box-shadow: 0 0 15px #00ff88; display: none; } .tooltip:hover::after { display: block; } /* --- Images ennemis et icônes --- */ .enemy-img-container { width: 100%; height: 120px; display: flex; justify-content: center; align-items: center; overflow: hidden; margin-bottom: 10px; } .enemy-img-container img { max-width: 100%; max-height: 100%; object-fit: contain; image-rendering: pixelated; } .attack-icon-container { width: 32px; height: 32px; display: inline-flex; justify-content: center; align-items: center; margin-right: 6px; overflow: hidden; } .attack-icon-container img { max-width: 100%; max-height: 100%; object-fit: contain; image-rendering: pixelated; } .pai-container { margin: 3rem auto; max-width: 600px; text-align: center; } .pai-box { border: 2px solid #00ff88; padding: 2rem; background: rgba(0, 255, 136, 0.05); box-shadow: 0 0 12px #00ff88; border-radius: 10px; } .loading-bar { width: 100%; height: 22px; background: #003322; border: 2px solid #00ff88; border-radius: 6px; overflow: hidden; margin-top: 1.5rem; } .loading-fill { height: 100%; width: 0%; background: #00ff88; box-shadow: 0 0 10px #00ff88; animation: fill 7s infinite; } @keyframes fill { 0% { width: 0%; } 50% { width: 100%; } 100% { width: 0%; } } .pai-text { margin-top: 1.5rem; font-size: 1.2rem; color: #00ffcc; text-shadow: 0 0 6px #00ff88; min-height: 60px; } .pai-small { margin-top: 2rem; font-size: 0.9rem; color: #00ff88; opacity: 0.7; } /* --- QUIZ --- */ img.logo { background-color: #0f0f20; } p { color: rgb(0, 221, 255); } input::checkmark { color: #000; } /* Boutons quiz plus intégrés au style général */ button.ans { border: 2px solid #00ff88; line-height: 2.0; padding: 0 10px; font-size: 1rem; text-align: center; color: #00ffcc; text-shadow: 0 0 5px #00ff88; border-radius: 10px; background-color: rgba(0, 255, 136, 0.15); cursor: pointer; font-family: "Courier New", monospace; transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease; margin: 0.5rem; height: 3rem; display: inline-flex; align-items: center; justify-content: center; } button.ans:hover { background-color: #00ff88; color: #000; box-shadow: 0 0 12px #00ff88; } button.ans:active { box-shadow: inset -2px -2px 3px rgba(255, 255, 255, 0.6), inset 2px 2px 3px rgba(0, 0, 0, 0.6); } /* Conteneur quiz caché par défaut */ .test { background-color: #202040; margin: 2rem auto; width: 50%; border-radius: 25px; padding: 2rem; box-shadow: 0 0 15px #00ff88; display: none; /* caché initialement */ color: #a0a0ff; font-size: 1.25rem; font-family: "Courier New", monospace; user-select: none; text-align: center; } /* Style pour les questions et réponses */ .ans { margin: 1.5rem 0; color: #a0a0ff; font-size: 1.2rem; line-height: 1.4; cursor: default; } /* Style pour les réponses (liste) */ #answersList { list-style: none; padding: 0; margin: 1rem 0 0 0; display: flex; flex-direction: column; gap: 0.8rem; } #answersList li { background-color: rgba(0, 255, 136, 0.1); border: 1px solid #00ff88; border-radius: 12px; padding: 10px 15px; cursor: pointer; transition: background-color 0.3s ease, color 0.3s ease; font-size: 1.1rem; color: #00ffcc; user-select: none; } #answersList li:hover { background-color: #00ff88; color: #000; } /* Zone feedback cachée au départ */ #feedback { margin-top: 1rem; font-weight: bold; color: #00ff88; display: none; } /* Bouton suivant caché au départ */ #nextBtn { margin-top: 1.5rem; display: none; width: 100%; } #finalScore { display: none; font-size: 1.6rem; text-align: center; margin-top: 2rem; color: #00ffcc; text-shadow: 0 0 6px #00ff88; }