:root {
    --color-popup-bg: var(--color-bg-alt);
    --color-popup-text: var(--text-primary);
    --color-popup-border: var(--color-primary);
    --color-popup-shadow: 0 4px 12px color-mix(in srgb, var(--text-primary), transparent 80%);
}

:root[data-theme="dark"] {
    --color-popup-bg: #1E1E1E;
    --color-popup-text: #F0F0F0;
    --color-popup-border: #84A98C;
    --color-popup-shadow: 0 4px 12px color-mix(in srgb, #F0F0F0, transparent 80%);
}

:root[data-theme="protanopia"] {
    --color-popup-bg: #F5F5F5;
    --color-popup-text: #212121;
    --color-popup-border: #0072B2;
    --color-popup-shadow: 0 4px 12px color-mix(in srgb, #212121, transparent 80%);
}

:root[data-theme="deuteranopia"] {
    --color-popup-bg: #F5F5F5;
    --color-popup-text: #212121;
    --color-popup-border: #009E73;
    --color-popup-shadow: 0 4px 12px color-mix(in srgb, #212121, transparent 80%);
}

:root[data-theme="tritanopia"] {
    --color-popup-bg: #f5F5F5;
    --color-popup-text: #212121;
    --color-popup-border: #D55E00;
    --color-popup-shadow: 0 4px 12px color-mix(in srgb, #212121, transparent 80%);
}

.glossary-section {
    margin: 2rem 0;
    line-height: 1.6;
}

.glossary-letter {
    font-size: 2rem;
    margin-top: 2rem;
    border-bottom: 2px solid var(--color-primary);
    padding-bottom: 0.3rem;
}

.glossary-sub {
    margin-left: 1rem;
    font-size: 1.5rem;
    color: var(--color-primary);
}

.glossary-term {
    font-weight: bold;
    margin-left: 1.4rem;
}

.glossary-term-inline {
    cursor: help;
    border-bottom: 1px dotted var(--color-accent);
    position: relative;
}

.glossary-term.pro {
    color: var(--color-accent);
}

.glossary-term.normal {
    color: var(--color-secondary);
}

.glossary-def {
    margin-left: 3rem;
    font-size: 1rem;
}

.glossary-links {
    margin-left: 3rem;
    font-size: 0.9rem;
    color: var(--color-text-light);
}