/* style.css */

.custom-scrollbar::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

.custom-scrollbar::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.1);
    border-radius: 3px;
}

.custom-scrollbar::-webkit-scrollbar-thumb {
    background: #314455;
    border-radius: 3px;
}

.custom-scrollbar::-webkit-scrollbar-thumb:hover {
    background: #45A29E;
}

/* Base styles */
body {
    -webkit-font-smoothing: antialiased;
}

/* Modal animations */
#modal-library:not(.hidden) {
    opacity: 1;
}

#modal-library:not(.hidden) #modal-content {
    transform: scale(1);
}

/* Token Colors for Highlighter */
.tok-anchor {
    color: #F28705;
    font-weight: bold;
}

.tok-quantifier {
    color: #03A688;
}

.tok-group {
    color: #8C52FF;
}

.tok-class {
    color: #F24452;
}

.tok-escape {
    color: #5CADFF;
}

.tok-char {
    color: #C5C6C7;
}

.tok-or {
    color: #F28705;
    font-weight: bold;
}

/* Timeline Step Dots */
.step-dot {
    position: absolute;
    left: -21px;
    top: 4px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 2px solid #1F2833;
    /* match background */
    box-shadow: 0 0 0 1px #314455;
    background-color: #66FCF1;
}

/* specific dot colors matching tokens */
.step-dot.tok-anchor {
    background-color: #F28705;
}

.step-dot.tok-quantifier {
    background-color: #03A688;
}

.step-dot.tok-group {
    background-color: #8C52FF;
}

.step-dot.tok-class {
    background-color: #F24452;
}

.step-dot.tok-escape {
    background-color: #5CADFF;
}

.step-dot.tok-or {
    background-color: #F28705;
}