/* Glassmorphism & Animations */
.glow-subtle {
    box-shadow: 0 0 15px rgba(56, 189, 248, 0.15);
}

.animate-pulse-slow {
    animation: pulse 3s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

@keyframes pulse {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: .7;
    }
}

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: #0f172a;
}

::-webkit-scrollbar-thumb {
    background: #334155;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: #475569;
}

/* Table Row Hover Effect */
tr.row-hover:hover td {
    background-color: rgba(56, 189, 248, 0.05);
    transition: background-color 0.2s ease;
}

/* Accessibility Support Classes */
.a11y-high-contrast {
    filter: contrast(135%);
}

.a11y-grayscale {
    filter: grayscale(100%);
}

.a11y-light-bg {
    filter: invert(100%) hue-rotate(180deg);
}

.a11y-readable-font {
    font-family: Arial, Helvetica, sans-serif !important;
    letter-spacing: 0.05rem !important;
}

.a11y-highlight-links a,
.a11y-highlight-links button {
    text-decoration: underline !important;
    text-underline-offset: 4px;
    border: 1px dashed currentColor;
}

.a11y-highlight-links .tab-btn {
    border-bottom: 2px solid cyan !important;
}

.a11y-text-large {
    font-size: 110% !important;
}

.a11y-text-xlarge {
    font-size: 120% !important;
}