/* Physical page geometry: preview and print deliberately share these rules. */
:root { 
  --exam-width:210mm; --exam-height:297mm; --exam-left:14mm; --exam-right:12mm; --exam-split:50%;
  --color-question:#000000;
  --weight-question:400;
  --style-question:normal;
  --color-qnum:#000000;
  --weight-qnum:700;
  --color-option:#000000;
  --weight-option:400;
  --style-option:normal;
  --color-math:#000000;
  --color-shared:#000000;
  --color-header-text:#000000;
  --color-footer-text:#000000;
  --color-divider:#000000;
  --font-family-hi:'Noto Serif Devanagari',Mangal,'Nirmala UI',serif;
  --font-family-en:Tinos,'Times New Roman',serif;
}
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,10pt); overflow:visible; }
.exam-running-header { position:absolute; top:12mm; left:var(--exam-left); right:var(--exam-right); height:5.5mm; border-bottom:0.75pt solid black; display:flex; justify-content:space-between; align-items:start; gap:4mm; font:700 8pt var(--font-family-en, Tinos,'Times New Roman',serif); color:var(--color-header-text, #000); }
.exam-running-header span { max-width:65%; }
.exam-page-body { position:absolute; top:19mm; bottom:20mm; left:var(--exam-left); right:var(--exam-right); display:flex; flex-direction:column; }
.exam-divider { position:absolute; top:19mm; 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 var(--color-divider, black)); pointer-events:none; z-index:1; }
.exam-footer { position:absolute; bottom:14.5mm; left:var(--exam-left); right:var(--exam-right); height:5.5mm; border-top:0.75pt solid black; padding-top:1.2mm; box-sizing:border-box; display:flex; justify-content:space-between; gap:3mm; font:8pt var(--font-family-en, Tinos,'Times New Roman',serif); color:var(--color-footer-text, #000); }
.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 3.5mm 0 0; font-weight:400; line-height:1.36; text-align:justify; overflow-wrap:break-word; }
.exam-lang + .exam-lang { padding:0 0 0 3.5mm; }
.exam-lang[data-lang="hi"] { font-family:var(--font-family-hi, 'Noto Serif Devanagari',Mangal,'Nirmala UI',serif); }
.exam-lang[data-lang="en"] { font-family:var(--font-family-en, Tinos,'Times New Roman',serif); }
.exam-statement { margin:0 0 1.2mm; color:var(--color-question, #000); font-weight:var(--weight-question, 400); font-style:var(--style-question, normal); }
.exam-statement.numbered { padding-left:5.5mm; text-indent:-5.5mm; }
.exam-statement.numbered .exam-number { display:inline-block; width:5.5mm; font-weight:var(--weight-qnum, 700); text-indent:0; color:var(--color-qnum, var(--color-question, #000)); }
.exam-statement.sub-statement { padding-left:5.5mm; text-indent:-5.5mm; margin:0.6mm 0 0.6mm 3.5mm; }
.exam-options { display:grid; gap:var(--opt-pad-stacked,1.5px) 3mm; margin-left:5.5mm; }
.exam-option { min-width:0; padding-left:4.8mm; text-indent:-4.8mm; break-inside:avoid; line-height:1.32; color:var(--color-option, #000); font-weight:var(--weight-option, 400); font-style:var(--style-option, normal); }
.exam-options[data-layout="2x2"] { grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px 6mm; }
.exam-options[data-layout="1row"][data-count="4"] { grid-template-columns:repeat(4,minmax(0,1fr)); column-gap:3mm; }
.exam-options[data-layout="1row"]:not([data-count="4"]) { grid-template-columns:repeat(5,minmax(0,1fr)); column-gap:3mm; }
.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:1.5mm 0; font-family:var(--font-family-en, Tinos),var(--font-family-hi, 'Noto Serif Devanagari'),serif; line-height:1.4; text-align:center; font-weight:700; color:var(--color-shared, #000); }
.exam-page mjx-container { overflow:visible !important; max-width:none !important; font-size:100% !important; color:var(--color-math, inherit) !important; }
.exam-page mjx-container svg { fill:var(--color-math, currentColor) !important; }
.exam-page mjx-container[display="true"] { margin:0.3em 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; margin:1.5mm 0; }
.exam-page td, .exam-page th { padding:0.8mm 1.2mm; border:0.5pt solid black; overflow-wrap:anywhere; font-size:9pt; }
.exam-page th { background:#f8fafc; font-weight:700; text-align:center; }
.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 { box-sizing:border-box; width:100%; border:1px dashed #333; margin-top:auto; text-align:center; font:700 8.5pt 'Times New Roman','Noto Serif Devanagari',serif; padding-top:2.5mm; background:white; position:relative; z-index:2; break-inside:avoid; }
.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; }
}
