/* Student exam viewport: the whole visible width is one vertical scroll surface.
   This prevents blank side gutters from triggering browser page gestures on iPad/mobile. */
html.student-exam-active,
body.student-exam-active {
    width: 100%;
    height: 100%;
    overflow: hidden !important;
    overscroll-behavior: none;
}

.student-exam-shell {
    width: 100vw;
    height: 100vh;
    height: 100dvh;
    min-height: 0;
    overflow: hidden;
    overscroll-behavior: none;
    touch-action: pan-y;
}

.student-exam-scroll {
    min-height: 0;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: none;
    overscroll-behavior-y: contain;
    touch-action: pan-y;
    overflow-anchor: none;
}

.student-exam-shell,
.student-exam-shell * {
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
}

.student-exam-shell input,
.student-exam-shell textarea,
.student-exam-shell select,
.student-exam-shell [contenteditable="true"] {
    -webkit-user-select: text;
    -moz-user-select: text;
    user-select: text;
    -webkit-touch-callout: default;
}

@supports (-webkit-touch-callout: none) {
    .student-exam-shell,
    .student-exam-scroll {
        max-width: 100vw;
    }
}
