
body.glossary {
    font-family: sans-serif;
    padding: 2rem;
    max-width: 1240px;
    margin: auto;
}

input[type="text"] {
    width: 100%;
    padding: 0.5rem;
    font-size: 1rem;
    margin-bottom: 1rem;
}

.flashcard {
    border: 1px solid #ccc;
    padding: 1rem;
    margin-bottom: 1rem;
    border-radius: 8px;
    background-color: #f9f9f9;
    cursor: pointer;
    transition: background-color 0.3s;
    position: relative;
}

.flashcard:focus {
    outline: 2px solid #007acc;
}

.term {
    font-weight: bold;
    font-size: 1.2rem;
}

.definition {
    display: none;
    margin-top: 0.5rem;
    color: #333;
}

.flashcard.revealed .definition {
    display: block;
}

.speech-btn {
    position: absolute;
    right: 1rem;
    top: 1rem;
    border: none;
    cursor: pointer;
    font-size: 1rem;
    color: #007acc;
    background: none;
    border: 2px solid #ccc;
    border-radius: 50%;
    width: 2rem;
    height: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}
.speech-btn:hover {
    background-color: #e0f7ff;
}

.in-line-term {
    font-weight: bold;
    background-color: yellow;
    cursor: pointer;
    position: relative;
    display: inline-block;
    margin-top: 20px;
}
.in-line-term[aria-label]:hover::after {
    content: attr(aria-label);
    display: block;
    position: absolute;
    top: -100%;
    left: calc(100% + 5px);
    width: fit-content;
    min-width: fit-content;
    font-size: smaller;
    font-weight: 300;
    background-color: rgba(255, 255, 255);
    outline: 1px solid #ccc;
    padding: 0.5rem;
    border-radius: 5px;
}

/* optional category colors */
.yellow {
    border-left: 4px solid yellow;
}
.blue {
    border-left: 4px solid blue;
}
.green {
    border-left: 4px solid green;
}
.orange {
    border-left: 4px solid orange;
}
.red {
    border-left: 4px solid red;
}
.purple {
    border-left: 4px solid purple;
}
.gray {
    border-left: 4px solid gray;
}
