/* Exam-mode refinement. The notebook remains the workspace; its contents are
   white examination sheets. Keep this after notebook.css, local to Mock Exam. */
.mock-page.gm-notebook {
    --exam-white: #fff;
    --exam-ink: #17262e;
    --exam-rule: #d4d8da;
    --exam-secondary: #52616b;
}
.mock-page.gm-notebook .brain-content { max-width: 1080px; }
.mock-page.gm-notebook .lc-display { padding: 36px clamp(16px, 3vw, 48px) 64px; }

/* One page edge, no offset backing sheet or second inset frame. */
.mock-page.gm-notebook :is(.lc-result, .exam-sheet) {
    --ws-sheet: var(--exam-white);
    --ws-cream: #f5f6f4;
    --ws-inkgray: var(--exam-secondary);
    background: var(--exam-white);
    border: 1px solid var(--exam-rule);
    border-radius: 2px;
    box-shadow: none;
    color: var(--exam-ink);
}
.mock-page.gm-notebook .mock-cover { padding: 0; }
.mock-page .mock-cover-mast {
    padding: 25px clamp(24px, 4vw, 48px) 20px;
    background: none;
    border-bottom: 1px solid var(--exam-rule);
}
.mock-page .mock-cover-lockup { flex-wrap: wrap; gap: 4px 12px; }
.mock-page .mock-cover-body { padding: 36px clamp(24px, 4vw, 48px) 40px; }
.mock-page :is(.mock-cover-title, .mock-spec-title) {
    font-family: Georgia, 'Iowan Old Style', serif;
    font-size: clamp(26px, 2.5vw, 34px);
    font-weight: 400;
    line-height: 1.22;
    letter-spacing: 0;
    text-wrap: balance;
}
.mock-page .mock-cover-sub { margin-top: 14px; font-size: 15px; line-height: 1.65; max-width: 70ch; }
.mock-page .mock-cover-row { padding-block: 26px; gap: 24px; }
.mock-page .mock-cover-row--strong { border-top: 1px solid var(--exam-ink); margin-top: 32px; }
.mock-page :is(.mock-cover-label, .mock-spec-label) { letter-spacing: .09em; border-bottom-width: 1px; }
.mock-page .mock-cover-instr { font-size: 15px; line-height: 1.65; }
.mock-page .mock-cover-instr-row { padding-block: 14px; }
.mock-page .mock-cover-instr-detail { font-size: 14px; line-height: 1.6; }
.mock-page .mock-cover-notice {
    border-top: 1px solid var(--exam-rule);
    border-bottom: 0;
    margin-top: 12px;
    padding-top: 20px;
    font-size: 14px;
    font-weight: 400;
    text-align: left;
    color: var(--exam-secondary);
}
.mock-page :is(.mock-cover-code, .mock-cover-paid, .mock-submit-note, .mock-review-note, .mock-estimate-note) { color: var(--exam-secondary); }
.mock-page .mock-cover-paid { text-transform: none; letter-spacing: 0; font-size: 13px; }
.mock-page .mock-cover-start { min-height: 44px; border-radius: 3px; color: #fff; }
.mock-page .mock-cover-back { min-height: 44px; }

/* Printed script: preserve numbering, mark gutters and ruled answer spaces. */
.mock-page .exam-desk { padding-top: 0; }
.mock-page .exam-section-head--component {
    margin-top: 48px;
    padding-block: 18px;
    border-top: 2px solid var(--exam-ink);
    border-bottom: 1px solid var(--exam-rule);
    text-align: left;
    break-after: avoid;
}
.mock-page .exam-sheet { padding: 46px clamp(24px, 4vw, 54px) 52px; }
.mock-page .exam-head { padding-bottom: 12px; border-bottom: 1px solid var(--exam-rule); }
.mock-page .exam-cover-brand { border-bottom-width: 1px; }
.mock-page :is(.exam-stimulus, .exam-literary-passage) { background: #f5f6f4; border: 0; border-top: 1px solid var(--exam-rule); border-bottom: 1px solid var(--exam-rule); }
.mock-page .exam-answer textarea:focus-visible { outline: 1px solid #806020; outline-offset: 4px; }
.mock-page .exam-option { min-height: 44px; align-items: center; }
.mock-page .exam-option:has(input:focus-visible) { outline: 2px solid #806020; outline-offset: 2px; }
.mock-page .mock-submit-cta { min-height: 44px; font-size: 20px; }

/* The review booklet is a single white document, not cards inside a card. */
.mock-page.gm-notebook .mock-result--spec { padding: 44px clamp(24px, 4vw, 56px) 48px; }
.mock-page .mock-spec-row { grid-template-columns: 160px minmax(0, 1fr); gap: 32px; }
.mock-page .mock-spec-titleblock { border-bottom-width: 1px; }
.mock-page .mock-spec-resultline { flex-wrap: wrap; white-space: normal; row-gap: 20px; }
.mock-page .mock-spec-num { font-variant-numeric: tabular-nums; }
.mock-page .mock-result--spec :is(.mock-q, .lc-question--graded) { background: none; border-radius: 0; box-shadow: none; }
.mock-page .mock-result--spec .lc-rule { height: auto; background: none; border-top: 1px solid var(--exam-rule); padding-top: 20px; }
.mock-page .mock-result--spec .lc-rule span { background: #fff; }
.mock-page .mock-result--spec .mock-5a-card { box-shadow: none; }
.mock-page .mock-result--spec .mock-5a-card--answer { background: #fff; }
.mock-page :is(.mock-q-row, .mock-spec-row) > * { min-width: 0; }
.mock-page .mock-q-row { grid-template-columns: 150px minmax(0, 1fr); }
.mock-page .mock-spec-disclaimer { color: var(--exam-secondary); }
.mock-page :is(.mock-spec-annotation, .mock-q-prompt, .mock-q-answer, .mock-5a-action) { overflow-wrap: anywhere; }
.mock-page :is(.mock-q-railsub, .mock-q-available) { color: var(--exam-secondary); }
.mock-page .exam-stimulus-body { overflow-x: auto; }
.mock-page .mock-spec-boundaries { overflow-x: auto; }
/* A display equation wider than the column scrolls inside its own box. Without
   this the sheet's `overflow-wrap` cannot break it and the tail of the line
   (often the value the question needs) is cut off at 390px. The block padding
   keeps tall fractions and the scrollbar clear of the clip edge. */
.mock-page .katex-display {
    max-width: 100%; overflow-x: auto; overflow-y: hidden;
    padding-block: 4px; -webkit-overflow-scrolling: touch;
}

@media (max-width: 720px) {
    .mock-page.gm-notebook .lc-display { padding: 24px 12px 40px; }
    .mock-page .mock-cover-mast { padding: 20px; }
    .mock-page .mock-cover-body { padding: 26px 20px 30px; }
    .mock-page.gm-notebook .mock-result--spec { padding: 28px 20px 32px; }
    .mock-page .mock-spec-row { grid-template-columns: minmax(0, 1fr); gap: 14px; }
    .mock-page .mock-q-row { grid-template-columns: minmax(0, 1fr); gap: 14px; }
    .mock-page .mock-spec-tr { grid-template-columns: minmax(0, 1fr) repeat(3, minmax(0, 48px)); gap: 8px; padding-inline: 8px; }
    .mock-page .mock-spec-tr--head { font-size: 10px; letter-spacing: .04em; }
    .mock-page .mock-q-head { flex-wrap: wrap; gap: 12px; }
    .mock-page .mock-cover-row { grid-template-columns: minmax(0, 1fr); gap: 14px; }
    .mock-page .exam-sheet { padding: 30px 20px 36px; }
    .mock-page .exam-session-boxes { flex-wrap: wrap; }
}
@media print {
    .mock-page.gm-notebook .lc-display { padding: 0; background: #fff; }
    .mock-page.gm-notebook :is(.lc-result, .exam-sheet) { border: 0; padding: 0; box-shadow: none; }
    .mock-page :is(.book-index, .mock-cover-actions, .mock-submit-bar) { display: none !important; }
}
