body { background-color: #314e57; font-family: 'Georgia', serif; text-align: center; } body, html { margin: 0; padding: 0; height: 100%; overflow-x: hidden; } h1 { font-size: 3rem; margin-bottom: 30px; text-shadow: 2px 2px 4px #000; color: #f8b435; } .section-divider { border: none; border-top: 3px solid #f8b435; margin: 50px auto 20px; width: 80%; } .section-break-icon { text-align: center; font-size: 2rem; margin: -20px 0; color: #f8b435; } .section-title { margin: 40px 10px; font-size: 1.8rem; color: #f8f5e0; } .emoji-container:not(.base) { display: grid; grid-template-columns: repeat(5, 1fr); gap: 30px; width: fit-content; margin: 0 auto; } .emoji-container.base { display: flex; justify-content: center; flex-wrap: wrap; gap: 30px; border: 3px dashed #f8b435; padding: 20px; margin: 0 auto 30px auto; border-radius: 15px; width: fit-content; } .emoji-card { background: #f2e6c9; width: 180px; height: 220px; border: 4px solid #000; border-radius: 12px; box-shadow: 0 0 20px rgba(0,0,0,0.5); padding: 20px; text-align: center; font-family: 'Georgia', serif; position: relative; transition: transform 0.2s ease, box-shadow 0.2s ease; cursor: pointer; } .emoji-card:hover { transform: translateY(-8px) scale(1.03); box-shadow: 0 8px 20px rgba(0, 0, 0, 0.5); z-index: 2; } /* Animation brillance pour rareté légendaire */ @keyframes shine { 0% { background-position: 0px; } 100% { background-position: 168px; } } .emoji-card.gold { position: relative; z-index: 1; } .emoji-card.gold::before { content: ''; position: absolute; top: 1%; left: 1%; width: 97%; height: 99%; background: linear-gradient( 120deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 50%, rgba(255, 255, 255, 0) 100% ); animation: shine 3.5s infinite; pointer-events: none; z-index: -1; } .emoji-card > * { position: relative; z-index: 1; } /*---------------------------*/ .emoji-card.gray { border-color: gray; } @keyframes auraGlow { 0% { box-shadow: 0 0 10px 0 rgba(0,0,0,0.3); } 50% { box-shadow: 0 0 25px 8px currentColor; } 100% { box-shadow: 0 0 10px 0 rgba(0,0,0,0.3); } } /* Applique une animation d'aura par rareté */ .emoji-card.green { color: darkgreen; animation: auraGlow 3s infinite ease-in-out; } .emoji-card.purple { color: purple; animation: auraGlow 3s infinite ease-in-out; } .emoji-card.red { color: darkred; animation: auraGlow 3s infinite ease-in-out; } .emoji-card.gold { color: goldenrod; animation: auraGlow 3s infinite ease-in-out; } /* Couleurs des noms selon rareté */ .emoji-name.green { color: darkgreen; } .emoji-name.purple { color: purple; } .emoji-name.red { color: darkred; } .emoji-name.gold { color: goldenrod; } .emoji-name.gray { color: gray; } .emoji-card .emoji { font-size: 50px; margin-bottom: 10px; } .emoji img { vertical-align: middle; width: 68px; height: 68px; } .emoji-name { font-weight: bold; font-size: 1.2rem; margin-top: 5px; color: purple; } .emoji-level { font-size: 1rem; font-weight: bold; color: #3c2f2f; margin-bottom: 10px; } .action-buttons { display: flex; justify-content: center; gap: 60px; margin-top: 20px; } .btn { background: #f2e6c9; border: 3px solid #000; padding: 10px 25px; font-size: 1.2rem; font-weight: bold; border-radius: 8px; cursor: pointer; transition: transform 0.2s ease; box-shadow: 3px 3px 0 #000; } .btn:hover { transform: scale(1.05); background-color: #e5d6b8; } .btn-logout { width: 238px; height: 50px; } .detail-icon-hierarchy { position: absolute; top: 8px; left: 10px; cursor: pointer; font-size: 18px; color: #555; } .popup { position: absolute; top: 110%; left: 50%; transform: translateX(-50%); background: #fff8e1; color: #000; padding: 10px; border: 2px solid #000; border-radius: 8px; box-shadow: 0 0 10px rgba(0,0,0,0.3); display: none; z-index: 10; width: 180px; font-size: 14px; } /* Partie Hierachie*/ .hierarchy-modal { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; display: none; /* sera activé par JS */ z-index: 1000; } .hierarchy-overlay { position: fixed; /* ← Important ! */ top: 0; left: 0; width: 100vw; height: 100vh; background: rgba(0,0,0,0.6); z-index: 1001; } .hierarchy-content { position: fixed; /* ← Pour rester centré par rapport au viewport */ top: 50%; left: 50%; transform: translate(-50%, -50%); background: white; padding: 20px; border-radius: 12px; z-index: 1002; box-shadow: 0 0 20px rgba(0,0,0,0.5); max-width: 90%; width: 500px; } .close-btn { position: absolute; top: 10px; right: 20px; font-size: 30px; cursor: pointer; } .hierarchy-graph { display: grid; grid-template-columns: 1fr auto 1fr; grid-template-rows: auto auto; grid-template-areas: "parent1 arrows parent2" ". child ."; gap: 10px 30px; align-items: center; justify-items: center; margin-top: 30px; } .child-block { grid-area: child; display: flex; flex-direction: column; align-items: center; text-align: center; } .parent-block { display: flex; flex-direction: column; align-items: center; text-align: center; } .parent-block .emoji { font-size: 40px; margin-bottom: 5px; } .parent-block .name { font-size: 14px; color: #444; font-style: italic; } .arrows { display: flex; flex-direction: column; align-items: center; justify-content: center; } .arrow { font-size: 24px; margin: 10px 0; } .child { grid-area: child; font-size: 50px; padding: 10px; } .connector { grid-column: 2; font-size: 30px; color: #444; } /* Filtre et Tri*/ .filter-bar { margin-bottom: 30px; color: #f8f5e0; font-size: 1rem; } .filter-bar select { margin: 0 10px; padding: 5px 10px; border-radius: 6px; border: 2px solid #000; background: #f2e6c9; font-family: 'Georgia', serif; } /* Champs de Recherche */ .filter-bar input[type="text"] { padding: 5px 10px; border-radius: 6px; border: 2px solid #000; background: #f2e6c9; font-family: 'Georgia', serif; margin-right: 10px; } /* Style séléction créature pour combat / accouplement */ /* Etat séléctionné */ .emoji-card.selected { outline: 4px solid #f8b435; outline-offset: -4px; box-shadow: 0 0 30px 10px rgba(248, 180, 53, 0.6); } #selection-status { font-size: 1.1rem; margin-top: 4rem; font-weight: bold; color: #f9e8c0; } .selection-visual { display: flex; justify-content: center; align-items: center; gap: 15px; margin-bottom: 30px; } .creature-tag { padding: 8px 15px; background: #f2e6c9; border: 2px solid #000; border-radius: 8px; font-weight: bold; font-size: 1.1rem; box-shadow: 2px 2px 0 #000; } .vs-text { font-size: 1.5rem; font-weight: bold; } /* Pagination */ .pagination-bar { margin: 4rem 4rem; display: flex; justify-content: center; align-items: center; gap: 10px; color: #f8f5e0; font-family: 'Georgia', serif; } .pagination-bar button { background: none; border: none; font-size: 1.1rem; color: #f8f5e0; cursor: pointer; padding: 5px 10px; border-radius: 50%; transition: background 0.2s ease; } .pagination-bar button.active { background: #333; color: white; font-weight: bold; } .pagination-bar button:hover:not(.active) { color: #f8b435; }