/* Unverändert oder leicht angepasst */
#hashTable {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 2rem;
    margin-top: 2rem;
}

.bucket {
    /* Statt einer festen Breite/Höhe lieber min-Werte oder die Elemente sich automatisch anpassen lassen */
    min-width: 100px;
    min-height: 70px;

    /* Für etwas Abstand zum Rand */
    padding: 0.5rem;

    /* Bestehendes Design beibehalten */
    border: 1px solid #333;
    border-radius: 0.42rem;
    position: relative;

    display: flex;
    flex-direction: column;
    /* Damit Inhalte nicht mittig „zusammengedrückt“ werden, sondern oben beginnen */
    justify-content: flex-start;
    align-items: center;

    /* Text-Überlauf verhindern */
    word-wrap: break-word;
    overflow-wrap: break-word;
}

/* Index kleiner halten, damit er nicht viel Platz wegnimmt */
.index {
    font-size: 0.7rem;
    margin-bottom: 0.3rem;
    color: #777;
}

/* Key-Value Darstellung */
.key-value {
    font-size: 0.9rem;
    margin-top: 5px;
    text-align: center;
    width: 100%;
    /* Falls es mehrere Einträge gibt, können sie umbrechen */
    word-wrap: break-word;
}

/* Input-Felder und Buttons optisch leicht optimieren */
#keyInput,
#valueInput,
#retrieveKeyInput {
    margin: 0.5rem 0;
}

.run-button {
    margin-left: 0.5rem;
}

#hashFunctionDisplay {
    margin-top: 10px;
}
