/* Study workspace: scoped presentation for the existing player, no parallel state. */
.student-workspace #quizSection {
    max-width: none;
    --study-line: rgba(91, 80, 232, .18);
    --study-surface: #f7f7fc;
    --study-inset: #fff;
    --study-accent: #5b50e8;
}
[data-dark] .student-workspace #quizSection {
    --study-line: rgba(184, 174, 255, .16);
    --study-surface: #222226;
    --study-inset: #18181b;
    --study-accent: #b4aaff;
}
.student-workspace #quizSection .question-card {
    padding: clamp(22px, 3vw, 36px);
    border: 1px solid var(--study-line);
    box-shadow: 0 12px 36px rgba(0, 0, 0, .08);
}
.student-workspace #quizSection .question-card:focus { outline: none; }
.student-workspace #quizSection .question-card:focus-visible { outline: 1px solid var(--study-accent); outline-offset: 3px; }
.student-workspace #quizSection .question-text { max-width: 68ch; font-size: clamp(1.05rem, 1.6vw, 1.25rem); line-height: 1.65; }
.student-workspace #quizSection .question-card--written .score-chip { display: none; }
.student-workspace #quizSection .question-card--written .timer-off:not(:has(.timer-off-badge)) { display: none !important; }
.student-workspace #quizSection .marks-badge { background: var(--study-surface); color: var(--study-accent); border: 1px solid var(--study-line); }
.student-workspace #quizSection .written-answer-wrap { margin-top: 24px; }
.student-workspace #quizSection .study-response { min-width: 0; }
.student-workspace #quizSection .study-response > .field-label { display: block; margin-bottom: 12px; color: var(--text-primary); font-size: .88rem; letter-spacing: .015em; }
.student-workspace #quizSection .written-textarea { min-height: 170px; line-height: 1.75; padding: 16px; border-radius: 12px; background: var(--study-inset); }
.student-workspace #quizSection .written-textarea:disabled { opacity: 1; color: var(--text-secondary); -webkit-text-fill-color: var(--text-secondary); }
.student-workspace #quizSection .study-response > .btn-grade { min-height: 46px; margin-top: 12px; }
.student-workspace #quizSection .study-response > .study-session__change { min-height: 44px; margin-top: 6px; }
.student-workspace #quizSection .grade-result.examiner-report { margin-top: 24px; border: 1px solid var(--study-line); border-radius: 14px; padding: 22px; background: var(--study-surface); }
.student-workspace #quizSection .examiner-report:focus { outline: none; }
.student-workspace #quizSection .examiner-report:focus-visible { outline: 1px solid var(--study-accent); outline-offset: 3px; }
.student-workspace #quizSection .examiner-priority { border-left: 2px solid var(--study-accent); padding-left: 14px; }
.student-workspace #quizSection .examiner-section-title { letter-spacing: .015em; text-transform: none; }
.student-workspace #quizSection .nav-btns { margin-top: 24px; border-top: 1px solid var(--study-line); padding-top: 20px; }
.student-workspace #quizSection .btn-prev:disabled { opacity: .35; cursor: default; }
.student-workspace #quizSection .progress-wrap { gap: 12px; }
.student-workspace #quizSection .progress-completed { color: var(--text-muted); font-size: .75rem; white-space: nowrap; }
.student-workspace #quizSection .progress-label { color: var(--text-primary); }
.student-workspace #quizSection .answer-limit { margin: 6px 0 10px; font-size: .78rem; color: var(--text-muted); }
.student-workspace #quizSection .answer-limit[data-invalid="true"] { color: #d74760; }
[data-dark] .student-workspace #quizSection .answer-limit[data-invalid="true"] { color: #ff9aaa; }

/* Results are an index of marks. Native disclosures preserve keyboard support
   and let students open only the question they want to compare or revise. */
#scoreCard .written-marks { margin: 24px 0; }
#scoreCard .wm-title { font-size: 1rem; color: var(--text-primary); text-transform: none; letter-spacing: -.01em; margin-bottom: 12px; }
#scoreCard .wm-row { border: 1px solid var(--study-line); border-radius: 12px; padding: 0 18px; margin-bottom: 10px; background: var(--study-inset); }
#scoreCard .wm-head { cursor: pointer; min-height: 64px; flex-wrap: wrap; padding: 12px 0; gap: 8px 12px; list-style: none; }
#scoreCard .wm-head::-webkit-details-marker { display: none; }
#scoreCard .wm-head::after { content: '+'; font-size: 1.3rem; color: var(--study-accent); margin-left: 4px; }
#scoreCard .wm-row[open] > .wm-head::after { content: '−'; }
#scoreCard .wm-row[open] > .wm-head { border-bottom: 1px solid var(--study-line); margin-bottom: 18px; }
#scoreCard .wm-head:focus-visible { outline: 2px solid var(--study-accent); outline-offset: 4px; border-radius: 6px; }
#scoreCard .wm-mark { font-variant-numeric: tabular-nums; color: var(--study-accent); }
#scoreCard .wm-tag { font-size: .67rem; }
#scoreCard .wm-response { font-size: .9rem; line-height: 1.7; }
#scoreCard .wm-question { font-weight: 650; line-height: 1.65; }
#scoreCard .wm-row > .examiner-report { padding-bottom: 18px; }

#loading .gen-rail { display: block; overflow: hidden; height: 4px; background: rgba(140, 125, 230, .14); border-radius: 4px; }
#loading .gen-wait-pulse { display: block; width: 38%; height: 100%; background: #b6a6ff; border-radius: inherit; animation: study-wait 2.4s ease-in-out infinite alternate; }
#loading .gen-status { margin-top: 20px; }
#loading .gen-eta { max-width: 42ch; margin-inline: auto; line-height: 1.65; }
@keyframes study-wait { to { transform: translateX(164%); } }
@media (min-width: 1200px) {
    body.rail-left.quiz-active .container,
    body.rail-left:not(.quiz-active) .container:has(> #quizSection[style*="block"]) {
        max-width: min(1040px, calc(100vw - 304px));
        margin-left: calc(256px + (100vw - 256px - min(1040px, 100vw - 304px)) / 2);
    }
    body:not(.quiz-active) .container > #quizSection { max-width: 1040px; }
    .student-workspace #quizSection .written-answer-wrap:has(> .examiner-report) { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 28px; align-items: start; }
    .student-workspace #quizSection .written-answer-wrap > .examiner-report { margin-top: 0; }
    .student-workspace #quizSection .written-answer-wrap:has(> .examiner-report) > .study-response { position: sticky; top: 154px; }
}
@media (max-width: 600px) {
    .student-workspace #quizSection .question-card { padding: 22px 18px; }
    .student-workspace #quizSection .grade-result.examiner-report { padding: 18px 14px; }
    .student-workspace #quizSection .written-textarea { min-height: 150px; }
    .student-workspace #quizSection .progress-wrap { gap: 8px; }
    .student-workspace #quizSection .progress-completed { font-size: .67rem; }
    #scoreCard .wm-tag { flex-basis: 100%; order: 4; }
    #scoreCard .wm-row { padding: 0 14px; }
}
@media (prefers-reduced-motion: reduce) {
    #loading .gen-wait-pulse { animation: none; transform: translateX(82%); opacity: .6; }
    .student-workspace #quizSection .question-card { animation: none; transition: none; }
}
