/* Global accessibility theme support */
body,
body * {
    color: var(--custom-text-color, #1f2a44) !important;
}

body button,
body a,
body .home-button,
body .button-primary,
body .button-secondary,
body .toggle-button,
body .job-option,
body .color-swatch {
    background-color: var(--custom-button-color, #A9FD3B);
}

body.high-contrast {
    background: #000 !important;
    color: #fff !important;
}
body.high-contrast button,
body.high-contrast a,
body.high-contrast .home-button,
body.high-contrast .button-primary,
body.high-contrast .button-secondary,
body.high-contrast .toggle-button {
    background: #fff !important;
    color: #000 !important;
    border-color: #fff !important;
}
body.high-contrast .quiz-container,
body.high-contrast .result-container,
body.high-contrast .option-card,
body.high-contrast .job-option,
body.high-contrast .score-box,
body.high-contrast .feedback-item {
    background: #000 !important;
    border-color: #fff !important;
    color: #fff !important;
}
body.high-contrast .question-box,
body.high-contrast .progress,
body.high-contrast .job-info {
    color: #fff !important;
}

body.dark-mode {
    background: #111827 !important;
    color: #e5e7eb !important;
}
body.dark-mode * {
    color: #e5e7eb !important;
}
body.dark-mode button,
body.dark-mode a,
body.dark-mode .home-button,
body.dark-mode .button-primary,
body.dark-mode .button-secondary,
body.dark-mode .toggle-button {
    background: #374151 !important;
    color: #e5e7eb !important;
    border-color: #475569 !important;
}
body.dark-mode a {
    color: #93c5fd !important;
}
body.dark-mode input,
body.dark-mode textarea,
body.dark-mode select,
body.dark-mode label,
body.dark-mode option,
body.dark-mode summary,
body.dark-mode details {
    color: #e5e7eb !important;
}
body.dark-mode .quiz-container,
body.dark-mode .result-container,
body.dark-mode .option-card,
body.dark-mode .job-option,
body.dark-mode .score-box,
body.dark-mode .feedback-item,
body.dark-mode .job-info {
    background: #1f2937 !important;
    border-color: #4b5563 !important;
    color: #e5e7eb !important;
}
body.dark-mode .question-box,
body.dark-mode .progress,
body.dark-mode .job-info {
    color: #e5e7eb !important;
}
body.dark-mode #result.correct {
    background: #0f766e !important;
    border-color: #14b8a6 !important;
    color: #d1fae5 !important;
}
body.dark-mode #result.partial {
    background: #7c2d12 !important;
    border-color: #fb923c !important;
    color: #ffedd5 !important;
}

body {
    background: linear-gradient(135deg, #D9E8FF 0%, #E8F5FF 40%, #A8D4FF 100%);
    background-size: 200% 200%;
    animation: backgroundShift 12s ease infinite;
    transition: background-color 0.25s ease, color 0.25s ease;
}

@keyframes backgroundShift {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}
