/* PrismJS Operator Highlighting Fixes */
/* Override weird white highlights around operators like =, ??, etc. */

/* Fix operator token styling */
.token.operator,
.token.punctuation {
    background: none !important;
    box-shadow: none !important;
    text-shadow: none !important;
    border: none !important;
    outline: none !important;
}

/* Ensure operators have proper colors for One Dark theme */
.token.operator {
    color: #56b6c2 !important; /* Cyan color for operators */
}

.token.punctuation {
    color: #abb2bf !important; /* Light gray for punctuation */
}

/* Fix any problematic token combinations */
.token.operator.operator,
.token.punctuation.punctuation {
    background: transparent !important;
}

/* Remove any unwanted highlighting effects */
code[class*="language-"] .token.operator::before,
code[class*="language-"] .token.operator::after,
code[class*="language-"] .token.punctuation::before,
code[class*="language-"] .token.punctuation::after {
    display: none !important;
}

/* Fix specific operator sequences that might be problematic */
.token.operator + .token.operator,
.token.punctuation + .token.punctuation {
    background: none !important;
}

/* Ensure clean rendering for assignment operators */
.token.operator[title="="],
.token.operator[title="=="],
.token.operator[title="!="],
.token.operator[title="??"],
.token.operator[title="?."],
.token.operator[title="=>"] {
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Fix any selection highlighting issues */
.token.operator::selection,
.token.punctuation::selection {
    background: rgba(255, 255, 255, 0.2) !important;
}

/* Ensure consistent spacing */
.token.operator,
.token.punctuation {
    letter-spacing: normal !important;
    word-spacing: normal !important;
}
