/* ========================================================================== VARIABLES DEL PROYECTO ========================================================================== */ :root { --kahoot-purple: #46178f; --kahoot-purple-dark: #35116f; --kahoot-blue: #1368ce; --kahoot-blue-dark: #0c4891; --kahoot-red: #e21b3c; --kahoot-yellow: #ffa602; --kahoot-yellow-dark: #d88900; --kahoot-green: #26890c; --kahoot-green-hover: #1f6f09; --background: #f2f2f2; --text-dark: #333333; --text-muted: #666666; --white: #ffffff; } /* ========================================================================== ESTILOS GENERALES ========================================================================== */ * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'Fredoka', sans-serif; background-color: var(--background); color: var(--text-dark); min-height: 100vh; padding: 30px 20px; } /* ========================================================================== CONTENEDOR PRINCIPAL ========================================================================== */ .contenedor { width: 100%; max-width: 1000px; margin: 0 auto; background-color: var(--white); border-radius: 20px; box-shadow: 0 8px 25px rgba(0, 0, 0, 0.10); overflow: hidden; } /* ========================================================================== PANTALLA DE ESPERA ========================================================================== */ #pantalla-espera { padding: 70px 30px; text-align: center; } #pantalla-espera h2 { color: var(--kahoot-purple); font-size: 2rem; font-weight: 700; margin-bottom: 15px; } #pantalla-espera p { color: var(--text-muted); font-size: 1.1rem; margin-bottom: 35px; } /* ========================================================================== LOADER ========================================================================== */ .loader { width: 65px; height: 65px; margin: 0 auto; border: 7px solid #e5e5e5; border-top-color: var(--kahoot-purple); border-radius: 50%; animation: spin 1s linear infinite; } @keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } /* ========================================================================== CABECERA DE RESULTADOS ========================================================================== */ #pantalla-resultados { padding: 40px; } #pantalla-resultados h1 { text-align: center; color: var(--kahoot-yellow); font-size: 2.6rem; font-weight: 700; margin-bottom: 35px; text-shadow: 2px 2px 0 rgba(70, 23, 143, 0.10); } #pantalla-resultados h2 { display: flex; align-items: center; gap: 10px; font-size: 1.5rem; font-weight: 700; margin-top: 35px; margin-bottom: 15px; padding-bottom: 10px; border-bottom: 3px solid #eee; } /* ========================================================================== TABLAS ========================================================================== */ .tabla-ranking { width: 100%; border-collapse: separate; border-spacing: 0; overflow: hidden; background-color: #fff; border: 2px solid #eeeeee; border-radius: 15px; margin-bottom: 30px; box-shadow: 0 5px 15px rgba(0, 0, 0, 0.06); } /* Cabecera */ .tabla-ranking thead th { background-color: var(--kahoot-purple); color: white; padding: 15px 18px; font-size: 0.95rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.3px; text-align: left; } .tabla-ranking thead th:first-child { border-top-left-radius: 12px; } .tabla-ranking thead th:last-child { border-top-right-radius: 12px; } /* Celdas */ .tabla-ranking tbody td { padding: 16px 18px; font-size: 1rem; font-weight: 500; border-bottom: 1px solid #eeeeee; color: var(--text-dark); } /* Última fila */ .tabla-ranking tbody tr:last-child td { border-bottom: none; } /* Hover */ .tabla-ranking tbody tr { transition: transform 0.15s ease, background-color 0.15s ease; } .tabla-ranking tbody tr:hover { background-color: #f7f3ff; } /* ========================================================================== COLUMNA DE POSICIÓN ========================================================================== */ .tabla-ranking tbody td:first-child { font-weight: 700; color: var(--kahoot-purple); width: 100px; } /* ========================================================================== PUNTOS ========================================================================== */ .tabla-ranking td strong { color: var(--kahoot-green); font-size: 1.15rem; font-weight: 700; } /* ========================================================================== EQUIPO / JUGADOR GANADOR ========================================================================== */ .tabla-ranking tr.top-team, .tabla-ranking tr.top-player { background-color: #fff7df !important; font-weight: 700; } /* Línea lateral amarilla */ .tabla-ranking tr.top-team td:first-child, .tabla-ranking tr.top-player td:first-child { color: var(--kahoot-yellow-dark); font-size: 1.15rem; } /* Puntos del ganador */ .tabla-ranking tr.top-team td strong, .tabla-ranking tr.top-player td strong { color: var(--kahoot-green); } /* ========================================================================== BOTÓN VOLVER AL INICIO ========================================================================== */ .contenedor-boton { display: flex; justify-content: center; align-items: center; margin-top: 40px; padding-top: 10px; } /* Botón */ .btn-inicio { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-width: 240px; padding: 15px 28px; background-color: var(--kahoot-blue); color: white; border: none; border-bottom: 5px solid var(--kahoot-blue-dark); border-radius: 12px; font-family: 'Fredoka', sans-serif; font-size: 1.1rem; font-weight: 700; text-decoration: none; box-shadow: 0 5px 10px rgba(19, 104, 206, 0.25); transition: all 0.15s ease; } /* Hover */ .btn-inicio:hover { background-color: #0f56ab; color: white; transform: translateY(-3px); box-shadow: 0 8px 15px rgba(19, 104, 206, 0.30); } /* Click */ .btn-inicio:active { transform: translateY(3px); border-bottom-width: 2px; box-shadow: 0 3px 6px rgba(19, 104, 206, 0.20); } /* ========================================================================== RESPONSIVE ========================================================================== */ @media (max-width: 768px) { body { padding: 15px 10px; } #pantalla-resultados { padding: 25px 15px; } #pantalla-resultados h1 { font-size: 2rem; margin-bottom: 25px; } #pantalla-resultados h2 { font-size: 1.3rem; } .tabla-ranking { font-size: 0.9rem; } .tabla-ranking thead th, .tabla-ranking tbody td { padding: 12px 10px; } .tabla-ranking thead th { font-size: 0.75rem; } .tabla-ranking tbody td { font-size: 0.9rem; } .tabla-ranking td strong { font-size: 1rem; } .btn-inicio { width: 100%; min-width: 0; } } /* ========================================================================== MÓVILES PEQUEÑOS ========================================================================== */ @media (max-width: 500px) { body { padding: 10px 5px; } #pantalla-espera { padding: 50px 20px; } #pantalla-espera h2 { font-size: 1.5rem; } #pantalla-espera p { font-size: 0.95rem; } #pantalla-resultados { padding: 20px 10px; } #pantalla-resultados h1 { font-size: 1.7rem; } #pantalla-resultados h2 { font-size: 1.15rem; } .tabla-ranking { display: block; overflow-x: auto; white-space: nowrap; } .tabla-ranking thead th, .tabla-ranking tbody td { padding: 10px 8px; } .contenedor-boton { margin-top: 25px; } }