/* LECTOR-2D / D2-A: isolated visual read-along for five choice question types. */
.vca-app__lesson .vca-training-question [data-vca-lector-d2a-active="1"] {
    background: rgba(37,99,235,.055);
    outline: 2px solid rgba(37,99,235,.36);
    outline-offset: 2px;
    border-radius: 8px;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}
.vca-app__lesson .vca-training-question [data-vca-lector-d2a-active="1"] .vca-lector-word--active {
    background: rgba(37,99,235,.18);
}

/* LECTOR-2D question-only playback: polished speaker button + safe word layout. */
.vca-app .vca-training-question {
    position: relative;
}
.vca-app .vca-training-question > h4 {
    padding-right: 64px;
}
.vca-app .vca-lector-question-speaker {
    position: absolute;
    top: 18px;
    right: 18px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    margin: 0;
    padding: 0;
    border: 1px solid #c4d5ea;
    border-radius: 999px;
    background: linear-gradient(180deg, #ffffff 0%, #eef5ff 100%);
    color: #1f4f82;
    cursor: pointer;
    box-shadow: 0 8px 20px rgba(31, 79, 130, 0.10);
    vertical-align: middle;
    transition: transform .15s ease, background .15s ease, box-shadow .15s ease, border-color .15s ease, color .15s ease;
}
.vca-app .vca-lector-question-speaker svg {
    width: 19px;
    height: 19px;
}
.vca-app .vca-lector-question-speaker:hover,
.vca-app .vca-lector-question-speaker:focus-visible {
    background: linear-gradient(180deg, #ffffff 0%, #e5f0ff 100%);
    border-color: #8eb3d8;
    box-shadow: 0 0 0 4px rgba(38,84,130,.14), 0 10px 24px rgba(31,79,130,.12);
    transform: translateY(-1px);
}
.vca-app .vca-lector-question-speaker.is-playing {
    background: linear-gradient(180deg, #e9f3ff 0%, #d9ebff 100%);
    border-color: #4f88be;
    color: #153c63;
    box-shadow: 0 0 0 4px rgba(62,125,179,.12), 0 10px 24px rgba(31,79,130,.14);
}
.vca-app .vca-training-question__answer .vca-lector-word,
.vca-app .vca-training-question__answer .vca-lector-word--active,
.vca-app .vca-training-question [data-vca-lector-d2a-active="1"] .vca-lector-word,
.vca-app .vca-training-question [data-vca-lector-d2a-active="1"] .vca-lector-word--active {
    display: inline;
    width: auto;
    max-width: none;
    flex: 0 0 auto;
    white-space: normal;
}
@media (max-width: 600px) {
    .vca-app .vca-training-question > h4 {
        padding-right: 56px;
    }
    .vca-app .vca-lector-question-speaker {
        top: 14px;
        right: 14px;
        width: 40px;
        height: 40px;
    }
}

/* LECTOR-2D / D2-A: unmistakable section + answer focus, without changing answer state. */
.vca-app .vca-training-question > h4.vca-lector-d2a-section--active {
    background: rgba(61, 117, 226, .11);
    border-radius: 9px;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
    box-shadow: 0 0 0 6px rgba(61, 117, 226, .06);
}
.vca-app .vca-training-question .vca-training-question__answer.vca-lector-d2a-answer--active {
    border-color: #4b88d2;
    background: #eef5ff;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, .13);
}
.vca-app .vca-training-question .vca-lector-word--active {
    display: inline;
    background: rgba(252, 211, 77, .72);
    border-radius: .25em;
    box-shadow: 0 0 0 2px rgba(252, 211, 77, .3);
}

/* LECTOR-2D / D3-A: transient correct answer presentation; never implies grading. */
.vca-app .vca-training-question .vca-training-question__answer[data-vca-lector-correct-active="1"] {
    border-color: #14532d;
    background: rgba(20,83,45,.08);
    color: #14532d;
}
.vca-app .vca-training-question .vca-training-question__answer[data-vca-lector-correct-active="1"].vca-lector-d2a-answer--active {
    border-color: #14532d;
    background: rgba(20,83,45,.12);
    box-shadow: 0 0 0 3px rgba(20,83,45,.12);
}

/* LECTOR-2D / D3-B: radio/check indicator is visual-only, never input.checked. */
.vca-app .vca-training-question .vca-training-question__answer[data-vca-lector-correct-active="1"] > input[type="radio"] {
    -webkit-appearance: none;
    appearance: none;
    width: 18px;
    height: 18px;
    min-width: 18px;
    margin: 4px 0 0;
    border: 2px solid #166534;
    border-radius: 50%;
    background: radial-gradient(circle at center, #166534 0 5px, transparent 5.5px);
}
.vca-app .vca-training-question .vca-training-question__answer[data-vca-lector-correct-active="1"] > input[type="checkbox"] {
    accent-color: #166534;
    outline: 2px solid #166534;
    outline-offset: 2px;
}
.vca-app .vca-lector-explanation-reveal {
    margin: 16px 0;
    padding: 18px 20px;
    border: 1px solid #bfdbce;
    border-left: 4px solid #15803d;
    border-radius: 14px;
    color: #14532d;
    background: #f0fdf4;
    line-height: 1.65;
}
.vca-app .vca-lector-explanation-reveal p { margin: 0; }
.vca-app .vca-lector-explanation-reveal .vca-lector-word--active {
    background: rgba(252, 211, 77, .72);
    border-radius: .25em;
    box-shadow: 0 0 0 2px rgba(252, 211, 77, .3);
}


/* LECTOR-D2: visual-only tick for every correct checkbox, with no input.checked mutation. */
.vca-app .vca-training-question .vca-training-question__answer[data-vca-lector-correct-active="1"] > input[type="checkbox"] {
    -webkit-appearance: none;
    appearance: none;
    position: relative;
    width: 18px;
    height: 18px;
    min-width: 18px;
    margin: 4px 0 0;
    border: 2px solid #166534;
    border-radius: 4px;
    background: #166534;
    outline: none;
}
.vca-app .vca-training-question .vca-training-question__answer[data-vca-lector-correct-active="1"] > input[type="checkbox"]::after {
    content: "";
    display: block;
    position: absolute;
    width: 5px;
    height: 9px;
    left: 4px;
    top: 0px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

/* LECTOR-D2: scenario container focus follows its existing spoken paragraph. */
.vca-app .vca-training-question--scenario-choice .vca-scenario-choice__scenario.vca-lector-d2-scenario--active {
    background: #edf4ff;
    border-color: #78a8ec;
    box-shadow: 0 0 0 3px rgba(59,130,246,.16);
}
.vca-app .vca-training-question--scenario-choice .vca-scenario-choice__scenario.vca-lector-d2-scenario--active > p:not(.vca-scenario-choice__label) {
    background: transparent;
}

/* LECTOR-D3-B: visual focus only; matrix radio inputs remain completely untouched. */
.vca-app .vca-training-question--yes-no-matrix [data-vca-yes-no-row].vca-lector-d3b-row--active {
    background: #eef5ff;
    box-shadow: inset 0 0 0 2px rgba(59,130,246,.38);
    border-radius: 10px;
}
.vca-app .vca-training-question--yes-no-matrix [data-vca-yes-no-row].vca-lector-d3b-row--active .vca-yes-no-matrix__options {
    position: relative;
    z-index: 1;
}

/* D3-B hotfix 2: visible matrix text read-along and presentation-only answer reveal. */
.vca-app .vca-training-question--yes-no-matrix .vca-yes-no-matrix__statement[data-vca-lector-d2a-active="1"] .vca-lector-word--active {
    background: #ffe66d !important;
    color: #172033 !important;
    border-radius: 3px;
    box-shadow: 0 0 0 2px #ffe66d;
}
.vca-app .vca-training-question--yes-no-matrix [data-vca-lector-matrix-correct="1"] {
    background: #e9f8ee;
    border-color: #168348;
    box-shadow: inset 0 0 0 2px rgba(22,131,72,.24);
}
.vca-app .vca-training-question--yes-no-matrix [data-vca-lector-matrix-correct="1"] input[type="radio"] {
    accent-color: #168348;
}
.vca-app .vca-training-question--yes-no-matrix [data-vca-lector-matrix-correct="1"]::after {
    content: "✓";
    color: #168348;
    font-weight: 800;
    margin-inline-start: .35em;
}

/* LECTOR-D4-B: matching only; native select and assessment remain untouched. */
.vca-app .vca-training-question--matching .vca-lector-matching-presentation {
    margin: 8px 0; padding: 10px 12px; border: 1px solid #93b5ef;
    border-radius: 10px; background: #eef5ff; color: #192b45;
    font-weight: 600; line-height: 1.55;
}
.vca-app .vca-training-question--matching [data-vca-lector-matching-active="1"] {
    outline: 2px solid #7aa9ed; outline-offset: 3px; border-radius: 8px;
}
.vca-app .vca-training-question--matching [data-vca-lector-matching-correct="1"] {
    outline: 2px solid #168348; outline-offset: 3px; border-radius: 8px;
}
.vca-app .vca-training-question--matching [data-vca-lector-matching-correct="1"] .vca-lector-matching-presentation {
    background: #e9f8ee; border-color: #168348;
}
.vca-app .vca-training-question--matching .vca-lector-matching-presentation .vca-lector-word--active {
    background: #ffe66d !important; color: #172033 !important;
    border-radius: 3px; box-shadow: 0 0 0 2px #ffe66d;
}

/* D4-B HOTFIX 2: options are a single readable list before the sign grid. */
.vca-app .vca-training-question--matching .vca-lector-matching-options {
    margin: 16px 0 20px; padding: 15px; background: #f7f9fd;
    border: 1px solid #d7e2f3; border-radius: 16px;
}
.vca-app .vca-training-question--matching .vca-lector-matching-options__title {
    margin-bottom: 10px; font-weight: 750; color: #1a2b43;
}
.vca-app .vca-training-question--matching .vca-lector-matching-options__list {
    display: grid; gap: 8px;
}
.vca-app .vca-training-question--matching .vca-lector-matching-options__entry {
    display: flex; align-items: baseline; gap: 10px; padding: 10px 12px;
    background: #fff; border: 1px solid #e0e6f0; border-radius: 10px;
    font-weight: 500; overflow-wrap: anywhere;
}
.vca-app .vca-training-question--matching .vca-lector-matching-options__number {
    flex: none; color: #5d708c;
}
.vca-app .vca-training-question--matching [data-vca-lector-matching-option-active="1"] {
    background: #edf5ff; border-color: #7aa9ed; box-shadow: 0 0 0 1px #7aa9ed;
}
.vca-app .vca-training-question--matching .vca-lector-matching-pair {
    padding: 10px 12px; margin-top: 10px; border-radius: 10px;
    background: #e9f8ee; border: 1px solid #168348; color: #164b2a;
    line-height: 1.5; font-weight: 650;
}
.vca-app .vca-training-question--matching .vca-lector-matching-pair .vca-lector-word--active {
    background: #ffe66d !important; color: #172033 !important;
    border-radius: 3px; box-shadow: 0 0 0 2px #ffe66d;
}
@media (max-width: 600px) {
    .vca-app .vca-training-question--matching .vca-lector-matching-options { padding: 12px; }
    .vca-app .vca-training-question--matching .vca-lector-matching-options__entry { padding: 10px; }
}
