/* Physical page geometry: preview and print deliberately share these rules. */
:root { --exam-width:210mm; --exam-height:297mm; --exam-left:18mm; --exam-right:16mm; --exam-split:50%; }
body.exam-layout-active #print-sheet { display:none !important; }
#exam-pages { flex:none; }
.exam-page { position:relative; box-sizing:border-box; width:var(--exam-width); height:var(--exam-height); margin:0 auto 18px; background:white; color:#000; box-shadow:0 3px 14px #0002; font-size:var(--font-size-base,11pt); overflow:visible; }
.exam-running-header { position:absolute; top:17mm; left:var(--exam-left); right:var(--exam-right); height:6mm; border-bottom:0.6pt solid black; display:flex; justify-content:space-between; align-items:start; gap:4mm; font:700 8pt Tinos,'Times New Roman','Noto Serif Devanagari',serif; }
.exam-running-header span { max-width:65%; }
.exam-page-body { position:absolute; top:26mm; bottom:24mm; left:var(--exam-left); right:var(--exam-right); }
.exam-divider { position:absolute; top:26mm; bottom:20mm; left:calc(var(--exam-left) + (var(--exam-width) - var(--exam-left) - var(--exam-right)) * var(--exam-split-frac,.5)); border-left:var(--divider-style,1px solid black); pointer-events:none; }
.exam-footer { position:absolute; bottom:14.5mm; left:var(--exam-left); right:var(--exam-right); height:5.5mm; border-top:0.8pt solid black; padding-top:1.2mm; box-sizing:border-box; display:flex; justify-content:space-between; gap:3mm; font:8pt Tinos,'Times New Roman','Noto Serif Devanagari',serif; }
.exam-question { display:grid; grid-template-columns:var(--exam-split) minmax(0,1fr); align-items:start; break-inside:avoid; width:100%; position:relative; }
.exam-lang { min-width:0; padding:0 4mm 0 0; font-weight:400; line-height:1.4; text-align:justify; overflow-wrap:break-word; }
.exam-lang + .exam-lang { padding:0 0 0 4mm; }
.exam-lang[data-lang="hi"] { font-family:'Noto Serif Devanagari',Mangal,'Nirmala UI',serif; }
.exam-lang[data-lang="en"] { font-family:Tinos,'Times New Roman',serif; }
.exam-statement { margin:0 0 1.5mm; }
.exam-statement.numbered { padding-left:7mm; text-indent:-7mm; }
.exam-statement.numbered .exam-number { display:inline-block; width:7mm; font-weight:700; text-indent:0; }
.exam-options { display:grid; gap:var(--opt-pad-stacked,1.5px) 3mm; margin-left:7mm; }
.exam-option { min-width:0; padding-left:5mm; text-indent:-5mm; break-inside:avoid; }
.exam-options[data-layout="2x2"] { grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--opt-gap-2x2-row,3px) var(--opt-gap-2x2-col,12px); }
.exam-options[data-layout="1row"] { grid-template-columns:repeat(4,minmax(0,1fr)); column-gap:var(--opt-gap-1row,8px); }
.exam-options:not([data-layout="stacked"]) .exam-option:nth-child(5) { grid-column:1 / -1; }
.exam-shared { grid-column:1 / -1; background:white; position:relative; padding:1mm 0; font-family:Tinos,'Noto Serif Devanagari',serif; line-height:1.4; }
.exam-page mjx-container { overflow:visible !important; max-width:none !important; font-size:100% !important; }
.exam-page mjx-container[display="true"] { margin:0.4em 0 !important; text-align:left !important; }
.exam-page img { max-width:100%; height:auto; object-fit:contain; }
.exam-page .exam-img-wrap { break-inside:avoid; margin:1.5mm 0; }
.exam-page table { width:100%; border-collapse:collapse; table-layout:fixed; }
.exam-page .exam-lang td,.exam-page .exam-lang th { padding:1mm; border:0.5pt solid black; overflow-wrap:anywhere; }
.exam-continuation { font-size:8pt; font-style:italic; margin-bottom:2mm; grid-column:1 / -1; background:white; }
.exam-intro { background:white; position:relative; margin-bottom:5mm; }
.exam-rough { height:35mm; border:0.5pt solid #444; margin-top:7mm; text-align:center; font:9pt Tinos,'Noto Serif Devanagari',serif; padding-top:2mm; }
.exam-watermark { position:absolute; top:46%; left:8%; width:84%; text-align:center; transform:rotate(-35deg); opacity:.07; font:700 48pt sans-serif; pointer-events:none; }
#exam-layout-status { box-sizing:border-box; padding:10px; margin:10px 0; font-size:12px; line-height:1.55; border:1px solid #94a3b8; border-radius:6px; background:#fff; color:#172033; }
#exam-layout-status[data-level="error"] { border-color:#b91c1c; color:#991b1b; }
#exam-layout-status details { margin-top:5px; }
#exam-measure { position:absolute; left:-20000px; top:0; visibility:hidden; pointer-events:none; }
@media print {
  @page { size:A4; margin:0; }
  html,body { margin:0 !important; padding:0 !important; height:auto !important; overflow:visible !important; background:white !important; }
  #preview-viewport { padding:0 !important; margin:0 !important; display:block !important; overflow:visible !important; transform:none !important; }
  #exam-pages { margin:0 !important; padding:0 !important; }
  .exam-page { margin:0 !important; box-shadow:none; break-inside:avoid; break-after:page; page-break-after:always; print-color-adjust:exact; }
  .exam-page:last-child { break-after:auto; page-break-after:auto; }
  #exam-measure,#exam-layout-status,.exam-screen-only { display:none !important; }
  body[data-print-scope="blank-omr-only"] #exam-pages, body[data-print-scope="key-sol-only"] #exam-pages { display:none !important; }
  #rpsc-cover-sheet { box-sizing:border-box; width:var(--exam-width) !important; min-height:var(--exam-height) !important; height:var(--exam-height) !important; padding:14mm !important; margin:0 !important; break-after:page; }
  #omr-blank-section,#omr-key-section { padding:0 !important; margin:0 !important; break-inside:auto !important; page-break-inside:auto !important; }
  #omr-blank-section[style*="display: flex"],#omr-key-section[style*="display: flex"] { display:block !important; }
  .a4-omr { width:var(--exam-width) !important; height:var(--exam-height) !important; min-height:0 !important; max-height:none !important; padding:14mm !important; overflow:visible !important; }
  .a4-omr:last-child { break-after:auto !important; page-break-after:auto !important; }
  .omr-outer-box { max-height:none !important; }
  #solutions-section { padding:14mm !important; box-sizing:border-box; }
  body.exam-export-blocked #exam-pages::before { content:'Layout validation failed. Return to the editor and review the highlighted errors.'; display:block; padding:25mm; }
  body.exam-export-blocked #exam-pages .exam-page { display:none !important; }
}
