/* ---------- A4 question paper ---------- */
@page{ size:A4 portrait; margin:14mm 15mm 14mm 16mm; }

body.paper{
  margin:0;background:#8E9AA6;
  font-family:"Tinos","Liberation Serif","Times New Roman",
              "Noto Serif Kannada","Noto Sans Kannada",
              "Noto Serif Devanagari","Noto Sans Devanagari",serif;
  font-size:11.5pt;line-height:1.5;color:#000;
}
.sheet{
  width:210mm;min-height:297mm;margin:16px auto;padding:14mm 15mm 14mm 16mm;
  background:#fff;box-shadow:0 2px 14px rgba(0,0,0,.35);
}

/* masthead */
.mast{border-bottom:1.6pt solid #000;padding-bottom:6px;margin-bottom:8px}
.mast-logo img{max-height:78px;max-width:84px}
.mast-text{text-align:center;padding:0 8px}
.inst{font-size:16pt;font-weight:700;letter-spacing:.4px;line-height:1.25}
.addr{font-size:10.5pt}
.exam{font-size:12pt;font-weight:700;margin-top:2px;letter-spacing:1.2px}
.ptitle{font-size:13pt;font-weight:700;margin-top:4px;text-decoration:underline}

.metabar{font-size:11pt;margin:6px 0 4px}
.regbox{font-size:10.5pt;border-top:.6pt solid #000;border-bottom:.6pt solid #000;padding:4px 0;margin-bottom:10px}
.regbox td{padding:4px 0}

.instr{border:.8pt solid #000;padding:8px 10px;font-size:10.5pt;margin-bottom:12px}
.instr-head{font-weight:700;margin-bottom:3px;text-decoration:underline}

.sechead{
  background:#E8E8E8;border-top:.8pt solid #000;border-bottom:.8pt solid #000;
  font-weight:700;font-size:11.5pt;padding:4px 0;margin:14px 0 8px;
  page-break-after:avoid;break-after:avoid;
}
.sechead td{padding:3px 6px}

.q{margin-bottom:9px;page-break-inside:avoid;break-inside:avoid}
.qno{font-weight:700;padding-right:6px}
.qtext{text-align:justify}
.opts{margin:2px 0 0 32px;font-size:11pt}
.opts td{padding:1px 10px 1px 0}

.endnote{margin-top:18px;text-align:center;font-size:11pt;font-weight:700;letter-spacing:.6px}

/* answer key page */
.pagebreak{page-break-before:always;break-before:page;height:0}
.keyhead{
  text-align:center;font-size:13.5pt;font-weight:700;letter-spacing:.6px;
  margin:10px 0 10px;padding:5px 0;border-top:1.2pt solid #000;border-bottom:1.2pt solid #000;
}
table.key{border-collapse:collapse;font-size:9.5pt;width:100%}
table.key th,table.key td{border:.6pt solid #000;padding:5px 6px;vertical-align:top}
.keyrow-head th{background:#E8E8E8;font-size:10pt}
.keyq{text-align:left}
.ksub{display:block;font-size:8pt;font-style:italic;color:#333;margin-bottom:2px}
.keyans{font-weight:700;text-align:left}
.keynote{text-align:justify;font-size:9pt;line-height:1.4}
table.key tr{page-break-inside:avoid;break-inside:avoid}

/* on-screen toolbar, never printed */
.toolbar{
  position:sticky;top:0;z-index:5;background:#13293D;color:#fff;
  padding:10px 16px;display:flex;gap:10px;flex-wrap:wrap;align-items:center;
  font-family:"Segoe UI",Roboto,Arial,sans-serif;font-size:14px;
}
.toolbar .spacer{margin-left:auto}
.toolbar a,.toolbar button{
  background:#1B6CA8;color:#fff;border:0;border-radius:3px;padding:8px 15px;
  font:inherit;font-weight:600;text-decoration:none;cursor:pointer;
}
.toolbar a.ghost{background:transparent;border:1px solid #4A6377;font-weight:500}
.toolbar label{display:flex;gap:6px;align-items:center;font-weight:400}

@media print{
  body.paper{background:#fff}
  .toolbar{display:none !important}
  .sheet{width:auto;min-height:0;margin:0;padding:0;box-shadow:none}
  .keypage{page-break-before:always}
}
