/* Vigyan Question Paper: the editor and the printed paper (A4). */
.wrap.wide { max-width: 1080px; }
.topline { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 10px; }
.grid3 { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; }
.grid3 input, .grid3 select { width: 100%; }
textarea { font: inherit; font-size: 15px; width: 100%; padding: 9px 10px; border: 1px solid var(--line); border-radius: 9px; background: var(--card); color: var(--ink); resize: vertical; }
.head-row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px; }
.sticky-tools { position: sticky; top: 0; z-index: 5; padding: 8px 10px; }
.symbols { display: flex; flex-wrap: wrap; gap: 4px; }
.symbols button { font: inherit; font-size: 15px; min-width: 34px; padding: 4px 7px; border: 1px solid var(--line); background: var(--card); color: var(--ink); border-radius: 7px; cursor: pointer; }
.symbols button:hover { border-color: var(--gold); }
.symbols .lbl { font-size: 12px; color: var(--muted); align-self: center; margin: 0 4px 0 8px; }
.paste { border: 1px dashed var(--gold); border-radius: 12px; padding: 12px; margin: 10px 0; background: var(--gold-soft); }
.section-card { border: 1px solid var(--line); border-radius: 12px; padding: 12px; margin: 12px 0; }
.section-card > .row { margin-bottom: 8px; }
.section-card .stitle { flex: 2; min-width: 200px; }
.section-card .snote { flex: 3; min-width: 200px; }
.q { border-top: 1px solid var(--line); padding: 10px 0; display: grid; grid-template-columns: 34px 1fr; gap: 8px; }
.q .no { font-weight: 700; color: var(--navy); padding-top: 8px; }
.q .qrow { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 6px; }
.q .opts { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 6px; margin-top: 6px; }
.q .opts label { display: flex; gap: 6px; align-items: center; font-size: 14px; }
.q .opts input[type=text] { flex: 1; }
.q img.thumb { max-height: 90px; border-radius: 6px; border: 1px solid var(--line); }
.q .tools { display: flex; gap: 4px; margin-left: auto; }
.q .tools button { font: inherit; border: 1px solid var(--line); background: var(--card); color: var(--ink); border-radius: 7px; padding: 3px 8px; cursor: pointer; }
.totals { margin-top: 8px; font-weight: 600; }
.totals.bad { color: var(--bad); }
.totals.ok { color: var(--good); }
.preview-wrap { overflow-x: auto; background: #e9edf2; padding: 14px; border-radius: 10px; }
dialog { border: 0; border-radius: 14px; padding: 18px; max-width: 520px; width: 92vw; background: var(--card); color: var(--ink); box-shadow: var(--shadow); }
dialog::backdrop { background: rgba(16, 37, 68, .45); }
.saved-row { display: flex; gap: 8px; align-items: center; border-top: 1px solid var(--line); padding: 8px 0; }
.saved-row div { flex: 1; min-width: 0; }
.saved-row small { color: var(--muted); display: block; }

/* ---------- the paper itself (screen preview and print) ---------- */
.paper { background: #fff; color: #000; font-family: "Noto Serif", "Noto Sans Oriya", "Times New Roman", serif; font-size: 12.5pt; line-height: 1.45; }
#preview.paper { width: 190mm; min-height: 120mm; margin: 0 auto; padding: 12mm; box-shadow: 0 2px 10px rgba(0, 0, 0, .15); }
.paper .ph { text-align: center; border-bottom: 1.5px solid #000; padding-bottom: 6px; margin-bottom: 8px; }
.paper .ph .inst { font-size: 16pt; font-weight: 700; text-transform: uppercase; }
.paper .ph .exam { font-size: 13pt; font-weight: 700; margin-top: 2px; }
.paper .ph .sub { font-size: 12pt; }
.paper .meta { display: flex; justify-content: space-between; font-weight: 700; margin: 6px 0; }
.paper .setbox { float: right; border: 1.5px solid #000; padding: 1px 8px; font-weight: 700; }
.paper .instr { font-size: 11pt; margin: 6px 0 10px; }
.paper .instr ol { margin: 2px 0; padding-left: 20px; }
.paper .sec { margin-top: 10px; }
.paper .sec-h { text-align: center; font-weight: 700; margin: 8px 0 2px; }
.paper .sec-n { text-align: center; font-style: italic; margin-bottom: 4px; }
.paper .pq { display: grid; grid-template-columns: 2.2em 1fr auto; gap: 4px; margin: 5px 0; break-inside: avoid; }
.paper .pq .m { font-weight: 700; white-space: nowrap; padding-left: 8px; }
.paper .pq .t { white-space: pre-wrap; }
.paper .pq .mcq { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2px 18px; margin-top: 2px; }
.paper .pq .mcq.one { grid-template-columns: 1fr; }
.paper .pq img { max-width: 100%; max-height: 70mm; display: block; margin: 4px 0; }
.paper .blank { display: inline-block; min-width: 3.5cm; border-bottom: 1px solid #000; }
.paper .end { text-align: center; margin-top: 14px; font-weight: 700; letter-spacing: .2em; }
.paper .key td, .paper .key th { border: 1px solid #000; padding: 3px 8px; text-align: left; }
.paper .key { border-collapse: collapse; width: 100%; }
.print-only { display: none; }
@media print {
  @page { size: A4; margin: 14mm 14mm 16mm; }
  body { background: #fff; }
  .no-print, footer, .bar { display: none !important; }
  .print-only { display: block; }
  .paper { font-size: 12pt; }
}
@media (max-width: 640px) { #preview.paper { width: auto; padding: 6mm; } }
