/* Fonts (owner, 20 Oct 2026): Times New Roman everywhere — the phone's own where installed, otherwise Liberation Serif
   (same letter widths, free licence: static/fonts/LICENSE-Liberation-Serif.txt) as "TNR Web". Every exam, JEE Advanced
   and CBSE included. */
@font-face { font-family: "TNR Web"; src: url(/static/fonts/times-regular.woff2) format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "TNR Web"; src: url(/static/fonts/times-bold.woff2) format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "TNR Web"; src: url(/static/fonts/times-italic.woff2) format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: "TNR Web"; src: url(/static/fonts/times-bolditalic.woff2) format("woff2"); font-weight: 700; font-style: italic; font-display: swap; }
@font-face { font-family: "Schola"; src: url(/static/fonts/schola-regular.woff2) format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Schola"; src: url(/static/fonts/schola-bold.woff2) format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Schola"; src: url(/static/fonts/schola-italic.woff2) format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }
body.pub .qbody, body.pub .pq-body { font-family: "Times New Roman", Times, "TNR Web", "Liberation Serif", Tinos, serif; }
/* Free public PYQ site — same family as the student pages (student.css), a page that scrolls normally */
html, body.pub { height: auto; overflow: visible; }
body.pub { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--ui); font-size: 15px; display: block; }
.pub-top { display: flex; align-items: center; gap: 14px; padding: 0 20px; height: 58px; background: var(--brand); color: #fff;
  position: sticky; top: 0; z-index: 10; }
.pub-top .brand { color: #fff; text-decoration: none; font-weight: 600; font-size: 18px; }
.pub-top .brand span { color: var(--saffron); font-weight: 500; margin-left: 6px; font-size: 14px; }
.pub-top .grow { flex: 1; }
.pub-link { color: #dfe6f7; text-decoration: none; }
.pub-btn { background: var(--saffron); color: #14214a; text-decoration: none; padding: 7px 12px; border-radius: 8px; font-weight: 600; white-space: nowrap; }
.pub-main { max-width: 1000px; margin: 0 auto; padding: 18px 20px 60px; }
.crumbs { font-size: 13px; color: var(--muted); margin-bottom: 8px; overflow-wrap: anywhere; }
.crumbs a { color: var(--ink-2); }
.pub-main h1 { font-size: 26px; margin: 6px 0 6px; line-height: 1.25; }
.pub-main h1.qh { font-size: 19px; }
.pub-main h2 { font-size: 17px; margin: 22px 0 10px; }
.lead { color: var(--muted); margin: 0 0 16px; }
.pgrid-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px; }
.pcard { display: flex; flex-direction: column; gap: 4px; background: #fff; border: 1px solid var(--line); border-radius: 12px;
  padding: 16px; text-decoration: none; color: var(--ink); transition: border-color .15s, transform .15s; }
.pcard:hover { border-color: var(--brand-2); transform: translateY(-1px); }
.pcard b { font-size: 16px; } .pcard span { color: var(--muted); font-size: 13px; }
.pcard.alt { background: var(--saffron-soft); }
.pcard.sm { padding: 10px 12px; } .pcard.sm b { font-size: 14px; }
.chlist { background: #fff; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
.chrow { display: flex; gap: 12px; align-items: center; padding: 11px 16px; border-bottom: 1px solid var(--line); text-decoration: none; color: var(--ink); }
.chrow:last-child { border-bottom: 0; } .chrow:hover { background: #f6f8fd; }
.chrow .grow { flex: 1; } .chrow .n { color: var(--muted); font-size: 13px; white-space: nowrap; }
.chrow .w { min-width: 54px; text-align: right; font-variant-numeric: tabular-nums; color: var(--ink-2); font-weight: 600; font-size: 13px; }
.pq-tools, .pq-filters { display: flex; gap: 10px; align-items: end; flex-wrap: wrap; margin: 10px 0 14px; }
.pq-filters .grow { flex: 1; }
.pq-filters label.f { display: flex; flex-direction: column; gap: 4px; font-size: 12.5px; color: var(--muted); font-weight: 600; }
.pq-filters select, .rq select { font-size: 16px; padding: 7px 8px; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--ink); max-width: 260px; }
.b { display: inline-flex; align-items: center; gap: 6px; border: 1.5px solid var(--line); background: #fff; color: var(--ink); border-radius: 9px;
  padding: 8px 14px; font: 500 14px var(--ui); cursor: pointer; text-decoration: none; }
.b.primary { background: var(--brand); border-color: var(--brand); color: #fff; }
.b[disabled] { opacity: .5; cursor: default; }
.rq.pubq .rqh, .rq .rqh { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.rq .rqh b a { color: var(--ink); text-decoration: none; }
.ptag { margin-left: auto; color: #b46a00; font-size: 12.5px; background: var(--saffron-soft); border-radius: 6px; padding: 2px 8px; }
.pq-act { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-top: 12px; }
.pq-act .grow { flex: 1; }
.pq-num, #t-num { width: 160px; font-size: 18px; margin: 0; }
.ok { color: var(--s-ans); } .bad { color: var(--s-not); }
.qbody .opts > div.pick { cursor: pointer; border-radius: 8px; padding: 4px 8px; border: 1px solid transparent; }
.qbody .opts > div.pick:hover { border-color: var(--line); background: #f6f8fd; }
.qbody .opts > div.right { background: #e3f6ea; border-color: #9bd8b2; }
.qbody .opts > div.wrong { background: #fde7e7; border-color: #f0a9a9; }
.qbody .opts > div.chosen { background: #e8edfb; border-color: var(--brand-2); }
.pager { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 16px; }
.pager .pg { border: 1px solid var(--line); background: #fff; padding: 6px 11px; border-radius: 8px; text-decoration: none; color: var(--ink); }
.pager .pg.on { background: var(--brand); color: #fff; border-color: var(--brand); }
.chpick { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 4px 14px; margin: 10px 0; }
.chpick label { display: flex; gap: 8px; align-items: baseline; }
.tpal { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px; }
.tpal button { width: 38px; height: 34px; border-radius: 8px; border: 1px solid var(--line); background: #fff; cursor: pointer; color: var(--ink); }
.tpal button.done { background: #e3f6ea; border-color: #9bd8b2; } .tpal button.cur { outline: 2px solid var(--brand); }
.rq .clock { margin-left: auto; font-variant-numeric: tabular-nums; font-weight: 600; }
.rq.res h2 { margin-top: 0; }
.chip.correct { background: #e3f6ea; color: #136c3a; } .chip.wrong { background: #fde7e7; color: #a32727; } .chip.blank { background: #eef1f6; color: #5d6680; }
.more ul { padding-left: 18px; } .more li { margin: 6px 0; }
.pub-foot { text-align: center; color: var(--muted); font-size: 13px; padding: 24px 16px 34px; }
@media (max-width: 600px) {
  .pub-top { padding: 0 12px; gap: 10px; } .pub-link { display: none; }
  .pub-top .brand span { display: none; }
  .pub-main { padding: 12px 12px 50px; } .pub-main h1 { font-size: 21px; }
  .ptag { margin-left: 0; }
  .chrow { padding: 10px 12px; }
}
html[data-theme=dark] .pcard, html[data-theme=dark] .chlist, html[data-theme=dark] .b, html[data-theme=dark] .pager .pg,
html[data-theme=dark] .tpal button, html[data-theme=dark] .pq-filters select { background: var(--card); color: var(--ink); border-color: var(--line); }
html[data-theme=dark] .chrow:hover, html[data-theme=dark] .qbody .opts > div.pick:hover { background: #18213a; }
html[data-theme=dark] .ptag { background: #3a2d12; color: #f3c27a; }
@media (max-width: 600px) { body.pub .qbody { text-align: left; } }

/* ---------- ExamSide-style chapter pages ---------- */
.pub-main:has(.ch-wrap) { max-width: 1240px; }
.ch-head { display: flex; gap: 16px; align-items: flex-end; justify-content: space-between; flex-wrap: wrap; }
.chlist-head { display: flex; gap: 12px; padding: 14px 16px 6px; color: var(--muted); font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }
.chlist-head .grow { flex: 1; } .chlist-head .n { min-width: 70px; text-align: right; } .chlist-head .w { min-width: 120px; text-align: right; }
.chrow .n { min-width: 70px; text-align: right; }
.chrow .w { min-width: 120px; text-align: right; }
h2.br { font-size: 13px; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); margin: 20px 0 8px; }
.tr { font-size: 12px; font-weight: 600; margin-left: 4px; } .tr.up { color: #1f9d55; } .tr.down { color: #d64545; }
.ch-wrap { display: grid; grid-template-columns: 270px minmax(0, 1fr); gap: 22px; align-items: start; }
.ch-side { position: sticky; top: 74px; max-height: calc(100vh - 90px); overflow: auto; background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 10px; }
.ch-side summary { font-weight: 600; font-size: 14px; padding: 4px 6px 8px; cursor: pointer; }
.sb-g { margin-top: 8px; } .sb-g b { display: block; font-size: 11px; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); padding: 6px 8px 4px; }
.sb-g a { display: block; padding: 7px 8px; border-radius: 8px; color: var(--ink); text-decoration: none; font-size: 14px; }
.sb-g a:hover { background: #f2f5fb; } .sb-g a.on { background: var(--brand); color: #fff; font-weight: 600; }
.ch-card { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 18px 20px; }
.ch-top { display: flex; gap: 12px; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; }
.ch-top h1 { margin: 0 0 4px; }
.ch-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 14px; }
.ch-stats div { background: var(--paper); border-radius: 10px; padding: 10px 12px; }
.ch-stats b { display: block; font-size: 22px; line-height: 1.2; font-variant-numeric: tabular-nums; }
.ch-stats span { color: var(--muted); font-size: 12px; text-transform: uppercase; letter-spacing: .04em; }
.ychart { display: flex; align-items: flex-end; gap: 6px; height: 86px; margin-top: 14px; padding-top: 4px; border-bottom: 1px solid var(--line); }
.yb { flex: 1; max-width: 34px; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; gap: 3px; }
.yb i { display: block; width: 100%; background: var(--brand-2); border-radius: 4px 4px 0 0; opacity: .85; }
.yb span { font-size: 10px; color: var(--muted); transform: translateY(14px); }
.tabs { display: flex; gap: 6px; margin: 26px 0 8px; flex-wrap: wrap; }
.tab { border: 1px solid var(--line); background: #fff; border-radius: 999px; padding: 6px 14px; text-decoration: none; color: var(--ink); font-size: 14px; }
.tab b { color: var(--muted); font-weight: 600; margin-left: 4px; } .tab.on { background: var(--brand); border-color: var(--brand); color: #fff; } .tab.on b { color: #dfe6f7; }
.pq-row { display: flex; gap: 12px; align-items: flex-start; }
.pq-n { flex: none; width: 30px; height: 30px; border-radius: 8px; background: var(--paper); color: var(--ink); display: grid; place-items: center;
  font-weight: 600; font-size: 14px; text-decoration: none; }
.pq-main { flex: 1; min-width: 0; }
.pq-tagline { margin-top: 10px; font-size: 13px; color: #b46a00; }
@media (max-width: 900px) {
  .ch-wrap { grid-template-columns: 1fr; }
  .ch-side { position: static; max-height: none; }
  .ch-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ch-stats b { font-size: 18px; }
  .chlist-head .w, .chrow .w { min-width: 90px; }
}
@media (max-width: 480px) { .pq-n { width: 26px; height: 26px; font-size: 13px; } .pq-row { gap: 8px; } .ch-card { padding: 14px; } }
html[data-theme=dark] .ch-side, html[data-theme=dark] .ch-card, html[data-theme=dark] .tab { background: var(--card); }
html[data-theme=dark] .ch-stats div, html[data-theme=dark] .pq-n { background: #121926; }
html[data-theme=dark] .sb-g a:hover { background: #18213a; }
html[data-theme=dark] .pq-tagline { color: #f3c27a; }
.tr.flat { color: var(--muted); }
@media (max-width: 600px) { .ychart { height: 56px; } .yb { max-width: 22px; } .ch-stats span { font-size: 10.5px; } .ch-top .b { width: 100%; justify-content: center; } }

/* ---------- Selected PYQs (premium sets) ---------- */
.badge { display: inline-block; font-size: 11.5px; font-weight: 600; letter-spacing: .03em; color: #8a5300; background: #ffe7b8;
  border-radius: 20px; padding: 2px 9px; width: fit-content; }
.badge.free { color: #0f6b3a; background: #d7f3e2; }
.pcard.prem { background: linear-gradient(135deg, #fffaf0, #fff 60%); border-color: #f1d49a; }
.prem-banner { display: flex; flex-wrap: wrap; gap: 4px 12px; align-items: center; margin: 0 0 16px; padding: 13px 16px; border-radius: 12px;
  background: linear-gradient(90deg, var(--brand), #2b3f86); color: #fff; text-decoration: none; }
.prem-banner b { color: var(--saffron); } .prem-banner span { color: #e4e9f8; font-size: 14px; }
.prem-head h1 { margin-top: 8px; }
.rq.locked { background: repeating-linear-gradient(135deg, #fafbfe, #fafbfe 10px, #f3f5fb 10px, #f3f5fb 20px); border-style: dashed; }
.rq.locked p { margin: 2px 0 6px; }
.prem-cta { display: flex; flex-direction: column; gap: 6px; align-items: flex-start; margin: 12px 0; padding: 16px; border-radius: 12px;
  background: var(--saffron-soft); border: 1px solid #f1d49a; }
.prem-cta span { color: var(--ink-2); font-size: 14px; }
.prem-cta.in-res { margin-top: 12px; }
.sample-card { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; margin: 14px 0; padding: 16px;
  border-radius: 12px; background: #f1fbf5; border: 1px solid #b9e6cb; }
.sample-card > div { display: flex; flex-direction: column; gap: 4px; min-width: 0; flex: 1 1 260px; }
.sample-card b { font-size: 16px; } .sample-card span:not(.badge) { color: var(--muted); font-size: 13.5px; }
#sample-run:empty { display: none; }
.set-maker { margin-top: 24px; }
.set-maker::before { content: "Make your own test from this set"; display: block; font-weight: 600; font-size: 17px; margin-bottom: 10px; }
html[data-theme=dark] .pcard.prem, html[data-theme=dark] .rq.locked { background: var(--card); }
html[data-theme=dark] .sample-card { background: #12301f; border-color: #285a3c; }
html[data-theme=dark] .prem-cta { background: #3a2d10; border-color: #6a5220; }
html[data-theme=dark] .prem-cta span { color: var(--ink); }

/* ---------- phone fit (teacher, Oct 2026) ---------- */
.ch-wrap > * { min-width: 0; }
@media (max-width: 900px) { .ch-wrap { grid-template-columns: minmax(0, 1fr); } }
.ch-side a, .ch-side b { overflow-wrap: anywhere; }
body.pub .qbody img, body.pub .rq img { max-width: 100%; height: auto; }
body.pub .qbody .katex { font-size: 1.06em; }
body.pub .qbody .opts.one { grid-template-columns: 1fr !important; }
.kscroll { display: block; max-width: 100%; overflow-x: auto; overflow-y: hidden; padding: 2px 0; scrollbar-width: thin; }

/* ---------- one question per page (ExamSIDE style) ---------- */
.qnav { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 10px 0 12px; }
.qnav .b.dis { opacity: .4; pointer-events: none; }
.qmeta { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 6px; margin-bottom: 10px; font-size: 14px; }
.qmeta .chip { background: #eef1f6; color: #4a5470; border-radius: 999px; padding: 2px 10px; font-size: 12.5px; }
.qmeta .mk { border-radius: 6px; padding: 1px 7px; font-size: 12.5px; font-weight: 700; }
.qmeta .mk.ok { background: #e3f6ea; color: #136c3a; } .qmeta .mk.bad { background: #fde7e7; color: #a32727; }
.qmeta .grow { flex: 1; }
.qmeta .ib { border: 1px solid var(--line); background: #fff; border-radius: 8px; width: 30px; height: 30px; padding: 0; font-size: 16px; cursor: pointer; color: var(--ink); }
.qmeta .ib.on { color: #d48a00; border-color: #e7c27a; }
.rep { border: 1px solid var(--line); border-radius: 10px; padding: 10px; margin-bottom: 10px; display: grid; gap: 8px; }
.rep textarea { width: 100%; box-sizing: border-box; font: inherit; padding: 8px; border-radius: 8px; border: 1px solid var(--line); }
body.single-q .qbody .opts { grid-template-columns: 1fr !important; gap: 8px; }
body.single-q .qbody .opts > div { border: 1px solid var(--line); border-radius: 10px; padding: 10px 12px; }
body.single-q .qbody .opts > div.pick:hover { border-color: var(--brand-2); }
html[data-theme=dark] .qmeta .chip { background: #222b45; color: #c4cbe0; }
html[data-theme=dark] .qmeta .ib, html[data-theme=dark] .rep textarea { background: var(--card); color: var(--ink); border-color: var(--line); }
html[data-theme=dark] .qmeta .mk.ok { background: #143a25; color: #8fe0b0; } html[data-theme=dark] .qmeta .mk.bad { background: #3d1a1a; color: #f0a9a9; }

/* ---------- PYQSide (pyqside.com): own brand, header tools ---------- */
body.ps { --brand: #312e81; --brand-2: #4f46e5; }
.pub-top { padding-top: env(safe-area-inset-top); }
.pub-top .brand.ps { display: flex; align-items: center; gap: 8px; }
.pub-top .brand.ps img { border-radius: 7px; display: block; }
.pub-top .brand .wm { font-size: 20px; letter-spacing: .2px; color: #fff; margin: 0; font-weight: 700; }
.pub-top .brand .wm b { color: #fbbf24; font-weight: 700; }
.pub-ib { background: transparent; border: 0; color: #e0e7ff; font-size: 20px; width: 36px; height: 36px; border-radius: 8px; cursor: pointer; line-height: 1; }
.pub-ib:hover { background: rgba(255,255,255,.12); }
button.pub-btn { border: 0; cursor: pointer; font: inherit; font-weight: 600; }
.sbox { display: flex; gap: 8px; margin: 8px 0 16px; }
.sbox input { flex: 1; min-width: 0; font: inherit; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--card, #fff); color: var(--ink); }
.sbox.top { max-width: 1000px; margin: 0 auto; padding: 10px 20px; box-sizing: border-box; background: var(--paper); position: sticky; top: 58px; z-index: 9; border-bottom: 1px solid var(--line); }

/* out of syllabus */
.oos { display: inline-block; background: #fee2e2; color: #b91c1c; font-size: 11.5px; font-weight: 600; border-radius: 6px; padding: 1px 7px; margin-right: 8px; }
.chrow.oosc .grow { text-decoration: line-through; text-decoration-color: #ef4444; color: var(--muted); }
.oos-note { background: #fff7ed; border: 1px solid #fed7aa; color: #9a3412; border-radius: 10px; padding: 8px 12px; font-size: 13.5px; }

/* progress */
.chrow .grow { position: relative; }
.chrow .prog { display: block; height: 3px; border-radius: 3px; margin-top: 5px; background: linear-gradient(90deg, #22c55e var(--w, 0%), var(--line) var(--w, 0%)); max-width: 260px; }
.chrow .prog[hidden] { display: none; }
.subj-prog { background: #ecfdf5; border: 1px solid #a7f3d0; color: #065f46; border-radius: 10px; padding: 9px 14px; margin: 0 0 14px; font-size: 14px; }
.subj-prog a { color: #047857; font-weight: 600; }
.pq-tagline .st { font-weight: 600; font-size: 12px; margin-right: 10px; }
.pq-tagline .st.ok { color: #15803d; } .pq-tagline .st.bad { color: #dc2626; }
.pq-tagline .cbm { float: right; background: none; border: 0; cursor: pointer; font-size: 17px; color: var(--muted); padding: 0 2px; line-height: 1; }
.pq-tagline .cbm.on { color: #f59e0b; }
.list-bar { display: flex; align-items: center; gap: 10px; } .list-bar .grow { flex: 1; }
.hide-solved { display: flex; align-items: center; gap: 6px; white-space: nowrap; color: var(--ink-2); cursor: pointer; }
.hintbox { background: #fffbeb; border: 1px dashed #f59e0b; border-radius: 10px; padding: 8px 12px; margin: 8px 0; }

/* my practice */
.me-stats { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin: 6px 0 18px; }
.me-stats > div { background: var(--card, #fff); border: 1px solid var(--line); border-radius: 12px; padding: 12px 8px; text-align: center; }
.me-stats b { display: block; font-size: 22px; } .me-stats span { color: var(--muted); font-size: 12.5px; }
.me-tabs .tab { cursor: pointer; }
.me-list { padding-left: 20px; line-height: 1.55; } .me-list li { margin: 6px 0; }
.linkish { background: none; border: 0; color: var(--brand-2); text-decoration: underline; cursor: pointer; font: inherit; padding: 0; }
.about { line-height: 1.8; }
@media (max-width: 640px) {
  .me-stats { grid-template-columns: repeat(3, 1fr); }
  .pub-top .brand .wm { font-size: 18px; }
  .pub-ib { width: 32px; font-size: 18px; }
  .sbox.top { top: 58px; padding: 8px 12px; }
}
html[data-theme=dark] .oos { background: #4c1d1d; color: #fca5a5; }
html[data-theme=dark] .oos-note { background: #3b2412; border-color: #7c3a12; color: #fdba74; }
html[data-theme=dark] .subj-prog { background: #0f2e25; border-color: #14532d; color: #86efac; }
html[data-theme=dark] .subj-prog a { color: #6ee7b7; }
html[data-theme=dark] .hintbox { background: #2f2610; }
html[data-theme=dark] .me-stats > div { background: var(--card); }
/* phones: app-style bottom bar */
.bnav { display: none; }
@media (max-width: 640px) {
  .bnav { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 20; background: var(--card, #fff); border-top: 1px solid var(--line);
    padding-bottom: env(safe-area-inset-bottom); }
  .bnav a { flex: 1; text-align: center; padding: 6px 0 7px; font-size: 11.5px; color: var(--ink-2); text-decoration: none; }
  .bnav a i { display: block; font-style: normal; font-size: 19px; line-height: 1.2; }
  body.pub { padding-bottom: 58px; }
  #pub-search-btn { display: none; }
}
.pub-top .brand.ps .wm { display: inline; }
.adu { margin: 18px 0; min-height: 280px; text-align: center; } .adu .adl { display: block; font-size: 11px; color: var(--muted); margin-bottom: 4px; }
@media (max-width: 640px) { .me-stats { grid-template-columns: repeat(5, 1fr); gap: 6px; } .me-stats b { font-size: 17px; } .me-stats span { font-size: 10.5px; } .me-stats > div { padding: 9px 2px; } }
.pub-lang { background: rgba(255,255,255,.12); color: #fff; border: 1px solid rgba(255,255,255,.25); border-radius: 8px; padding: 5px 6px; font: inherit; font-size: 13.5px; max-width: 96px; }
.pub-lang option { color: #111; }
.langmiss { font-size: 12px; color: #92400e; background: #fffbeb; border-radius: 6px; padding: 3px 8px; margin-bottom: 6px; display: inline-block; }
html[data-theme=dark] .langmiss { background: #2f2610; color: #fcd34d; }
html[lang=hi] .qbody, html[lang=bn] .qbody, html[lang=gu] .qbody, html[lang=ta] .qbody { line-height: 1.75; }
.ch-btns { display: flex; gap: 8px; flex-wrap: wrap; }
.b.pdfb { color: #c2410c; border-color: #fdba74; } .b.pdfb.busy { opacity: .7; pointer-events: none; }
html[data-theme=dark] .b.pdfb { color: #fdba74; border-color: #7c3a12; }
/* phones: each chapter as a card — full name on top, numbers below (no squeezed table) */
@media (max-width: 640px) {
  .chlist-head { display: none; }
  .chlist { background: transparent; border: 0; display: grid; gap: 8px; }
  .chrow { display: grid; grid-template-columns: 1fr auto; grid-template-areas: "name name" "n w"; row-gap: 6px; border: 1px solid var(--line);
    border-radius: 12px; background: var(--card, #fff); padding: 12px 14px; }
  .chrow:last-child { border-bottom: 1px solid var(--line); }
  .chrow .grow { grid-area: name; font-weight: 600; }
  .chrow .n { grid-area: n; } .chrow .n::after { content: " questions"; }
  .chrow .w { grid-area: w; } .chrow .w::after { content: " weightage"; font-weight: 400; color: var(--muted); font-size: 12px; }
  .chrow.oosc .grow::after { content: "Out of syllabus"; text-decoration: none; display: inline-block; margin-left: 8px; background: #fee2e2; color: #b91c1c;
    font-size: 11px; font-weight: 600; border-radius: 6px; padding: 1px 7px; }
  .ch-top { flex-direction: column; align-items: stretch; } .ch-btns > * { flex: 1; text-align: center; justify-content: center; }
}
html[data-theme=dark] .chrow.oosc .grow::after { background: #4c1d1d; color: #fca5a5; }
@media (max-width: 640px) { .chrow { grid-template-columns: auto 1fr; column-gap: 14px; } .chrow .n, .chrow .w { justify-self: start; text-align: left; min-width: 0; } }
/* free PDF section */
.pdfrow { display: flex; align-items: center; gap: 12px; padding: 11px 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--card, #fff);
  text-decoration: none; color: var(--ink); margin: 8px 0; }
.pdfrow:hover { border-color: #fb923c; }
.pdfrow .pi { background: #fff7ed; color: #c2410c; font-weight: 700; font-size: 11px; border-radius: 6px; padding: 6px 6px; border: 1px solid #fed7aa; }
.pdfrow .grow { flex: 1; min-width: 0; } .pdfrow small { display: block; color: var(--muted); font-size: 12px; margin-top: 2px; }
.pdfrow .dl { font-size: 18px; color: #c2410c; }
.pdfch details { margin: -4px 0 10px 14px; } .pdfch summary { cursor: pointer; color: var(--brand-2); font-size: 13.5px; }
.toplinks { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.toplinks a { border: 1px solid var(--line); border-radius: 999px; padding: 4px 10px; font-size: 13px; text-decoration: none; color: var(--ink); background: var(--card, #fff); }
.toplinks a small { color: var(--muted); }
.pcard.pdfc { background: #fff7ed; border-color: #fed7aa; }
html[data-theme=dark] .pcard.pdfc, html[data-theme=dark] .pdfrow .pi { background: #3b2412; border-color: #7c3a12; color: #fdba74; }
html[data-theme=dark] .pdfrow, html[data-theme=dark] .toplinks a { background: var(--card); }
/* Indian languages: one font family that carries both the script and Latin letters, designed to match in size */
html[lang=hi] .qbody, html[lang=mr] .qbody { font-family: "Noto Serif Devanagari", "Times New Roman", serif; }
html[lang=gu] .qbody { font-family: "Noto Serif Gujarati", "Times New Roman", serif; }
html[lang=ta] .qbody { font-family: "Noto Serif Tamil", "Times New Roman", serif; }
html[lang=bn] .qbody { font-family: "Noto Serif Bengali", "Times New Roman", serif; }
html[lang=hi] .qbody, html[lang=mr] .qbody, html[lang=gu] .qbody, html[lang=ta] .qbody, html[lang=bn] .qbody { font-size: 16px; }
.ystats { margin-top: 12px; border-top: 1px solid var(--line); padding-top: 10px; }
.ystats summary { cursor: pointer; font-weight: 600; } .ystats summary small { font-weight: 400; color: var(--muted); margin-left: 6px; }
.ystats table { width: 100%; border-collapse: collapse; margin-top: 8px; font-size: 13.5px; font-variant-numeric: tabular-nums; }
.ystats th, .ystats td { text-align: left; padding: 6px 6px; border-bottom: 1px solid var(--line); }
.ystats th { color: var(--muted); font-weight: 600; font-size: 12px; text-transform: uppercase; letter-spacing: .3px; }
.b.sm { padding: 4px 10px; font-size: 13px; }
.chrow .redu { font-style: normal; display: inline-block; margin-left: 8px; background: #fef3c7; color: #92400e; font-size: 11px; font-weight: 600; border-radius: 6px; padding: 1px 7px; }
.chrow .ly { display: block; font-size: 11px; color: var(--muted); }
.subj-tabs { margin-top: 18px; position: sticky; top: 58px; background: var(--paper); z-index: 5; padding: 6px 0; }
.subj-all h2 .small { font-weight: 500; margin-left: 8px; }
html[data-theme=dark] .chrow .redu { background: #3a2d12; color: #fcd34d; }
@media (max-width: 640px) { .chrow .ly { display: inline; margin-left: 6px; } .chrow .ly::before { content: "· "; } .chrow .n::after { content: ""; } .chrow .n { white-space: nowrap; } }
.chrow .qw { display: none; }
@media (max-width: 640px) { .chrow .qw { display: inline; } }
/* OMR-style option bubbles */
.qbody .opts > div.has-bub { display: flex; align-items: flex-start; gap: .5em; }
.qbody .opts .bub { flex: none; display: inline-grid; place-items: center; width: 1.6em; height: 1.6em; margin-top: .05em; border: 1.6px solid #64748b;
  border-radius: 50%; font: 600 .82em/1 var(--ui); color: var(--ink-2); background: transparent; transition: background .15s, border-color .15s, color .15s; }
.qbody .opts > div.pick:hover .bub { border-color: var(--brand-2); color: var(--brand-2); }
.qbody .opts > div.chosen .bub { background: var(--brand-2); border-color: var(--brand-2); color: #fff; }
.qbody .opts > div.right .bub, .qbody .opts > div.correct .bub { background: #16a34a; border-color: #16a34a; color: #fff; }
.qbody .opts > div.wrong .bub { background: #dc2626; border-color: #dc2626; color: #fff; }
html[data-theme=dark] .qbody .opts .bub { border-color: #94a3b8; color: #cbd5e1; }
.qbody .opts > div.chosen .bub, .qbody .opts > div.right .bub, .qbody .opts > div.correct .bub, .qbody .opts > div.wrong .bub { color: #fff !important; }
.qbody .opts > div.wrong .bub { background: #dc2626 !important; border-color: #dc2626 !important; }
.qbody .opts > div.right .bub, .qbody .opts > div.correct .bub { background: #16a34a !important; border-color: #16a34a !important; }
html[data-theme=dark] .qbody .opts > div.wrong, html[data-theme=dark] .qbody .opts > div.wrong:hover { background: #3b1a1a !important; border-color: #7f1d1d !important; }
html[data-theme=dark] .qbody .opts > div.right { background: #0f2e1d; border-color: #14532d; }
/* answer feedback (better than ExamSIDE): thick coloured border, tag on the right, untouched options faded, shake / pop */
.qbody .opts > div.done { cursor: default; }
.qbody .opts > div.right { border: 2px solid #16a34a !important; background: #f0fdf4 !important; }
.qbody .opts > div.wrong { border: 2px solid #dc2626 !important; background: #fef2f2 !important; }
.qbody .opts > div.done:not(.right):not(.wrong) { opacity: .55; }
.qbody .opts > div[data-pill]::after { content: attr(data-pill); margin-left: auto; flex: none; align-self: center; font: 600 12px/1 var(--ui);
  color: #fff; background: #16a34a; border-radius: 999px; padding: 6px 10px; white-space: nowrap; }
.qbody .opts > div.wrong[data-pill]::after { background: #dc2626; }
.qbody .opts > div.shake { animation: pq-shake .38s ease; }
.qbody .opts > div.pop { animation: pq-pop .3s ease; }
@keyframes pq-shake { 0%, 100% { transform: translateX(0); } 20% { transform: translateX(-6px); } 40% { transform: translateX(6px); } 60% { transform: translateX(-4px); } 80% { transform: translateX(3px); } }
@keyframes pq-pop { 0% { transform: scale(1); } 50% { transform: scale(1.025); } 100% { transform: scale(1); } }
@media (prefers-reduced-motion: reduce) { .qbody .opts > div.shake, .qbody .opts > div.pop { animation: none; } }
html[data-theme=dark] .qbody .opts > div.right { background: #0f2e1d !important; }
html[data-theme=dark] .qbody .opts > div.wrong { background: #3b1a1a !important; }
.qbody .sol-h { font: 700 12px/1 var(--ui); letter-spacing: .6px; text-transform: uppercase; color: var(--muted); margin: 14px 0 6px; }
/* question text, options and solutions: justified like the printed material, with hyphenation so phones get no big gaps */
body.pub .qbody { text-align: left; hyphens: manual; overflow-wrap: break-word; }                   /* phones: left (no word gaps) */
@media (min-width: 600px) {                                                                             /* tablets / computers: justified */
  body.pub .qbody, body.pub .qbody .opts > div { text-align: justify; text-justify: inter-word; hyphens: auto; -webkit-hyphens: auto; }
}
body.pub .qbody table, body.pub .qbody .katex-display { text-align: initial; hyphens: manual; }
/* question number on a top line with the exam tag — the question text gets the full width (all screens) */
.pq-row { display: grid; grid-template-columns: auto 1fr; grid-template-areas: "n tag" "body body"; column-gap: 10px; row-gap: 8px; align-items: center; }
.pq-main { display: contents; }
.pq-n { grid-area: n; width: auto !important; min-width: 28px; height: 26px !important; padding: 0 8px; font-size: 13px; }
.pq-tagline { grid-area: tag; margin-top: 0; min-width: 0; }
.pq-body { grid-area: body; min-width: 0; }
body.single-q #q1 .pq-row { grid-template-columns: 1fr; grid-template-areas: "tag" "body"; }
body.single-q #q1 .pq-n { display: none; }
body.single-q #q1 .pq-row { grid-template-areas: "body"; } body.single-q #q1 .pq-tagline { display: none; }
.pq-tagline { padding-left: 0 !important; }
/* every question on PYQSide: one option per row as a full-width tap card; picture options (structures / graphs) 2 per row */
body.pub .qbody .opts { grid-template-columns: 1fr !important; gap: 8px; margin-top: 10px; }
body.pub .qbody .opts > div { border: 1px solid var(--line); border-radius: 10px; padding: 10px 12px; background: var(--card, #fff); }
body.pub .qbody .opts > div.pick:hover { border-color: var(--brand-2); }
body.pub .qbody .opts.pics { grid-template-columns: 1fr 1fr !important; }
body.pub .qbody .opts.pics > div { flex-wrap: nowrap; justify-content: flex-start; align-items: flex-start; text-align: left; }
body.pub .qbody .opts.pics > div img, body.pub .qbody .opts.pics > div svg { max-width: 100%; height: auto; }
html[data-theme=dark] body.pub .qbody .opts > div { background: #121926; }
/* colour themes (chosen with ◐) */
html[data-skin=nta] body.pub { --brand: #0b4f8a; --brand-2: #1565c0; }
html[data-skin=green] body.pub { --brand: #0E634E; --brand-2: #138a6c; }
html[data-skin=charcoal] body.pub { --brand: #1f2937; --brand-2: #374151; }
html[data-skin=nta] .pub-top .brand .wm b { color: #ffd54f; }
.look { position: fixed; top: 62px; right: 10px; z-index: 30; width: 260px; background: var(--card, #fff); color: var(--ink); border: 1px solid var(--line);
  border-radius: 14px; box-shadow: 0 10px 30px rgba(0,0,0,.18); padding: 12px 14px; font-size: 14px; }
.look b { display: block; margin: 4px 0 6px; font-size: 12px; text-transform: uppercase; letter-spacing: .4px; color: var(--muted); }
.look .seg { display: flex; gap: 6px; margin-bottom: 10px; }
.look .seg button, .look .sw button { flex: 1; border: 1px solid var(--line); background: transparent; color: var(--ink); border-radius: 8px; padding: 7px 6px; cursor: pointer; font: inherit; font-size: 13px; }
.look .sw { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.look .sw button { display: flex; align-items: center; gap: 8px; text-align: left; }
.look .sw i { width: 18px; height: 18px; border-radius: 50%; flex: none; }
.look button.on { border-color: var(--brand-2); box-shadow: 0 0 0 1px var(--brand-2) inset; font-weight: 600; }
html[data-theme=dark] .look { background: #121926; }
/* NTA computer-based-test screen (timed tests) */
.cbt-top { display: flex; align-items: center; gap: 8px; background: var(--brand); color: #fff; border-radius: 10px 10px 0 0; padding: 10px 14px; position: sticky; top: 58px; z-index: 6; }
.cbt-top .grow, .cbt-nav .grow { flex: 1; }
.cbt-time b { font-variant-numeric: tabular-nums; background: rgba(255,255,255,.15); padding: 3px 8px; border-radius: 6px; margin-left: 4px; }
.cbt-q { border-top-left-radius: 0; border-top-right-radius: 0; margin-top: 0; }
.cbt-q .ptag { display: inline-block; margin-bottom: 8px; }
.cbt-btns { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 12px 0 8px; }
.cbt-nav { display: flex; gap: 8px; margin-bottom: 14px; }
.nb { border: 1px solid #c8ccd6; border-radius: 6px; padding: 10px 8px; font: 600 13px/1.2 var(--ui); cursor: pointer; text-transform: uppercase; letter-spacing: .2px; }
.nb:disabled { opacity: .45; cursor: default; }
.nb.g { background: #2e9e47; border-color: #2e9e47; color: #fff; } .nb.o { background: #f39c12; border-color: #f39c12; color: #fff; }
.nb.b2 { background: #2f6fb5; border-color: #2f6fb5; color: #fff; } .nb.w { background: #fff; color: #222; }
.cbt-legend { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 12px; font-size: 12.5px; margin: 6px 0 12px; }
.cbt-legend span { display: flex; align-items: center; gap: 8px; } .cbt-legend .wide { grid-column: 1 / -1; }
.cbt-pal { display: grid; grid-template-columns: repeat(auto-fill, minmax(42px, 1fr)); gap: 8px; }
/* NTA palette shapes and colours */
.pst { display: inline-grid; place-items: center; min-width: 34px; height: 30px; font: 700 13px var(--ui); font-style: normal; border: 1px solid #b9bec9; background: #f1f2f6; color: #333; border-radius: 4px; position: relative; cursor: pointer; }
.cbt-pal .pst { width: 100%; height: 36px; }
.pst.na { background: #e74c3c; border-color: #d0392b; color: #fff; border-radius: 4px 4px 14px 14px; }
.pst.ans { background: #2e9e47; border-color: #25863b; color: #fff; border-radius: 14px 14px 4px 4px; }
.pst.mr { background: #6c3fa8; border-color: #5b3290; color: #fff; border-radius: 50%; }
.pst.am { background: #6c3fa8; border-color: #5b3290; color: #fff; border-radius: 50%; }
.pst.am::after { content: "✓"; position: absolute; right: -2px; bottom: -3px; width: 14px; height: 14px; border-radius: 50%; background: #2e9e47; color: #fff; font-size: 9px; display: grid; place-items: center; }
.cbt-legend .pst.mr, .cbt-legend .pst.am { width: 30px; min-width: 30px; }
.cbt-pal .pst.cur { outline: 2px solid var(--brand-2); outline-offset: 2px; }
html[data-theme=dark] .nb.w { background: #1b2333; color: #e5e7eb; border-color: #334155; } html[data-theme=dark] .pst.nv { background: #1b2333; color: #cbd5e1; border-color: #334155; }
@media (max-width: 400px) { .nb { font-size: 11.5px; padding: 9px 6px; } }
body.pub .pub-main { overflow: visible; overflow-x: clip; }      /* lets the test's timer bar stay on screen while scrolling */
.cbt-pd { border: 1px solid var(--line); border-radius: 10px; padding: 10px 12px; background: var(--card, #fff); }
.cbt-pd summary { cursor: pointer; font-weight: 700; } .cbt-pd summary small { font-weight: 400; color: var(--muted); margin-left: 6px; }
.cbt-pd[open] summary { margin-bottom: 10px; }
html[data-theme=dark] .cbt-pd { background: #121926; }
/* bubble vertically centred with the option text (one-line and multi-line options) */
.qbody .opts > div.has-bub { align-items: center; min-height: 46px; }
.qbody .opts .bub { margin-top: 0; align-self: center; }
.qbody .opts > div.has-bub > .katex, .qbody .opts > div.has-bub > img.mimg { vertical-align: middle; }
/* paper-wise list and paper page (ExamSIDE parity + more) */
.ychips { display: flex; gap: 8px; overflow-x: auto; padding: 4px 0 10px; margin-bottom: 6px; scrollbar-width: none; position: sticky; top: 58px; background: var(--paper); z-index: 5; }
.ychips::-webkit-scrollbar { display: none; }
.ychips a { flex: none; border: 1px solid var(--line); border-radius: 999px; padding: 6px 12px; text-decoration: none; color: var(--ink); background: var(--card, #fff); font-size: 13.5px; }
.ychips a b { color: var(--brand-2); margin-left: 4px; }
.yr h2 small, h2.br small { font-weight: 400; color: var(--muted); font-size: 13px; margin-left: 6px; text-transform: none; letter-spacing: 0; }
.papcards { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 10px; }
.papcard { border: 1px solid var(--line); border-radius: 12px; background: var(--card, #fff); padding: 12px 14px; }
.papcard .pt { display: flex; flex-direction: column; gap: 2px; text-decoration: none; color: var(--ink); }
.papcard .pt span { color: var(--muted); font-size: 13px; }
.papcard .pb { display: flex; gap: 6px; margin-top: 10px; } .papcard .pb .b { flex: 1; justify-content: center; text-align: center; }
.allch { margin-top: 14px; border: 1px solid var(--line); border-radius: 12px; padding: 10px 14px; background: var(--card, #fff); }
.allch summary { cursor: pointer; font-weight: 600; }
.allch .sb-g { margin-top: 10px; } .allch .sb-g b { display: block; font-size: 12px; text-transform: uppercase; letter-spacing: .4px; color: var(--muted); margin-bottom: 4px; }
.allch .sb-g a { display: block; padding: 5px 0; color: var(--ink); text-decoration: none; border-bottom: 1px solid var(--line); }
.allch .sb-g a.on { color: var(--brand-2); font-weight: 600; }
html[data-theme=dark] .papcard, html[data-theme=dark] .allch, html[data-theme=dark] .ychips a { background: #121926; }
.feed h2 { margin-top: 26px; } .feed .more-btn { width: 100%; justify-content: center; margin-top: 4px; }
/* jumps (chips, anchors, scrollIntoView) stop just below the sticky top bar; the bar casts a soft shadow */
html { scroll-padding-top: 72px; }
body.pub .pub-top { box-shadow: 0 2px 10px rgba(0,0,0,.18); }
.pubq, .ch-card, section[id], .cbt { scroll-margin-top: 72px; }

/* question list drawer (☰) */
.qmeta .ib.qlb { font-size: 15px; }
.qdr { position: fixed; inset: 0; z-index: 80; }
.qdr-bg { position: absolute; inset: 0; background: rgba(10, 16, 30, .45); opacity: 0; transition: opacity .2s; }
.qdr-p { position: absolute; top: 0; right: 0; bottom: 0; width: min(420px, 90vw); background: var(--card, #fff); color: var(--ink);
  display: flex; flex-direction: column; box-shadow: -8px 0 30px rgba(0,0,0,.25); transform: translateX(100%); transition: transform .2s ease-out; }
.qdr.in .qdr-bg { opacity: 1; } .qdr.in .qdr-p { transform: none; }
html.qdr-open, html.qdr-open body { overflow: hidden; }
.qdr-h { display: flex; align-items: center; gap: 8px; padding: 10px 12px; border-bottom: 1px solid var(--line); }
.qdr-tabs { display: flex; gap: 4px; flex: 1; }
.qdr-tabs button, .qdr-f button { border: 1px solid var(--line); background: transparent; color: var(--ink); border-radius: 999px; padding: 5px 12px; font: 600 13px var(--ui, sans-serif); cursor: pointer; }
.qdr-tabs button.on, .qdr-f button.on { background: var(--brand); border-color: var(--brand); color: #fff; }
.qdr-x { border: 0; background: transparent; color: var(--ink); font-size: 20px; width: 36px; height: 36px; cursor: pointer; }
.qdr-sum { padding: 8px 14px 4px; display: flex; flex-direction: column; gap: 2px; font: 13px var(--ui, sans-serif); color: var(--muted); }
.qdr-sum b { color: var(--ink); font-size: 14px; }
.qdr-sum i { font-style: normal; font-weight: 700; } .qdr-sum i.ok { color: #1a8a4a; } .qdr-sum i.bad { color: #c03030; }
.qdr-f { display: flex; flex-wrap: wrap; gap: 6px; padding: 8px 12px 10px; border-bottom: 1px solid var(--line); }
.qdr-f button { padding: 4px 10px; font-size: 12.5px; }
.qdr-f input { flex: 1; min-width: 90px; border: 1px solid var(--line); border-radius: 8px; padding: 5px 9px; background: transparent; color: var(--ink); font: 13px var(--ui, sans-serif); }
.qdr-l { overflow-y: auto; flex: 1; overscroll-behavior: contain; padding-bottom: 20px; }
.qdr-g { position: sticky; top: 0; background: var(--card, #fff); padding: 8px 14px 4px; font: 700 12px var(--ui, sans-serif); letter-spacing: .6px; text-transform: uppercase; color: var(--muted); }
.qdr-r { display: flex; gap: 12px; align-items: flex-start; padding: 11px 14px; border-bottom: 1px solid var(--line); border-left: 4px solid transparent; color: var(--ink); text-decoration: none; }
.qdr-r:hover { background: rgba(21, 101, 192, .06); }
.qdr-n { flex: none; min-width: 28px; height: 28px; border-radius: 7px; display: grid; place-items: center; font: 700 13px var(--ui, sans-serif); background: rgba(120,130,150,.15); color: var(--ink); }
.qdr-t { flex: 1; font: 14px/1.4 var(--ui, sans-serif); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.qdr-t small { display: block; color: var(--muted); font-size: 11.5px; margin-top: 2px; }
.qdr-b { color: #d48a00; }
.qdr-r.ok .qdr-n { background: #1a8a4a; color: #fff; } .qdr-r.bad .qdr-n { background: #c03030; color: #fff; }
.qdr-r.seen .qdr-n { background: #2f6fd0; color: #fff; }
.qdr-r.cur { border-left-color: var(--brand); background: rgba(21, 101, 192, .10); }
.qdr-r.cur .qdr-t { font-weight: 600; }

/* +4 / −1 marks badge on each question */
.pq-tagline .mk { display: inline-flex; gap: 4px; margin-left: 10px; vertical-align: middle; }
.pq-tagline .mk b { font-size: 11.5px; font-weight: 600; padding: 1px 6px; border-radius: 5px; line-height: 1.5; }
.pq-tagline .mk .mpos { color: #15803d; background: #dcfce7; } .pq-tagline .mk .mneg { color: #b91c1c; background: #fee2e2; }
html[data-theme=dark] .pq-tagline .mk .mpos { color: #86efac; background: rgba(34,197,94,.15); }
html[data-theme=dark] .pq-tagline .mk .mneg { color: #fca5a5; background: rgba(239,68,68,.15); }
.qh .qh-tag{font-size:.6em;font-weight:500;color:var(--muted,#667);white-space:nowrap}

/* difficulty tag (Easy / Medium / Hard) */
.lv { display: inline-block; font-size: 11.5px; font-weight: 600; padding: 1px 7px; border-radius: 5px; line-height: 1.5; margin-left: 8px; vertical-align: middle; }
.qmeta .lv { font-size: 12.5px; margin-left: 0; }
.lv-e { color: #0f766e; background: #ccfbf1; } .lv-m { color: #a16207; background: #fef3c7; } .lv-h { color: #9f1239; background: #ffe4e6; }
html[data-theme=dark] .lv-e { color: #5eead4; background: rgba(20,184,166,.15); }
html[data-theme=dark] .lv-m { color: #fcd34d; background: rgba(245,158,11,.15); }
html[data-theme=dark] .lv-h { color: #fda4af; background: rgba(244,63,94,.15); }

/* share of students per option (after the first tap) */
.opts > div.has-stat { position: relative; background-image: linear-gradient(90deg, rgba(11,79,138,.07) var(--pc), transparent var(--pc)); }
.opts > div .ostat { float: right; margin-left: 10px; font: 600 12.5px/1.6 system-ui, sans-serif; color: #475569; background: #eef2f7; border-radius: 999px; padding: 0 8px; }
.opts > div.right .ostat { color: #136c3a; background: #dcfce7; } .opts > div.wrong .ostat { color: #a32727; background: #fee2e2; }
.ostat-n { display: block; margin-top: 4px; font-size: 12.5px; color: #64748b; font-weight: 400; }
html[data-theme=dark] .opts > div.has-stat { background-image: linear-gradient(90deg, rgba(120,170,230,.12) var(--pc), transparent var(--pc)); }
html[data-theme=dark] .opts > div .ostat { color: #cbd5e1; background: rgba(148,163,184,.18); }

.qbody .opts .bub.bub-pc { width: auto; min-width: 2.7em; height: 1.75em; padding: 0 .35em; border-radius: 999px; font: 700 .72em/1 var(--ui, system-ui), sans-serif; letter-spacing: -.01em; }

.qbody .opts .ostat-v { flex: none; align-self: center; writing-mode: vertical-rl; transform: rotate(180deg); margin: 0 -2px 0 -6px;
  font: 700 10.5px/1 var(--ui, system-ui), sans-serif; letter-spacing: .02em; color: #64748b; white-space: nowrap; }
.qbody .opts > div.right .ostat-v { color: #15803d; } .qbody .opts > div.wrong .ostat-v { color: #b91c1c; }
html[data-theme=dark] .qbody .opts .ostat-v { color: #94a3b8; }

/* how often the topic comes in the exam's papers */
.odds { display: inline-block; font-size: 11.5px; font-weight: 600; padding: 1px 7px; border-radius: 5px; line-height: 1.5; margin-left: 8px;
  vertical-align: middle; color: #1d4ed8; background: #dbeafe; cursor: help; white-space: nowrap; }
.qmeta .odds { font-size: 12.5px; margin-left: 0; }
html[data-theme=dark] .odds { color: #93c5fd; background: rgba(59,130,246,.18); }

/* a little air between statements A. B. C. / Statement-I, II / Assertion, Reason (teacher, Oct 2026) */
.q-st { margin-top: .4em; }
.q-st + .q-closing, .q-st + .opts { margin-top: .5em; }
.sol { line-height: 1.7; }
/* free PDFs switched off until the data is verified: no PDF buttons anywhere */
.nopdf .pdfb, .nopdf .pdfrow, .nopdf .pdfc, .nopdf .bnav a[href="/pyq/pdfs"], .nopdf #t-pdf, .nopdf [data-setpdf], .nopdf [data-pdf] { display: none !important; }
/* ---------- front page (Oct 2026): hero + search + stats, exam cards, latest papers, features, FAQ ---------- */
.hx-hero { background: linear-gradient(135deg, #4035c2 0%, #2a2391 100%); color: #fff; border-radius: 16px; padding: 28px 24px 22px; margin: 4px 0 18px; }
.hx-hero h1 { color: #fff; font-size: clamp(22px, 4.2vw, 32px); line-height: 1.2; margin: 0 0 10px; }
.hx-hero .lead { color: #dfe3ff; max-width: 760px; margin: 0 0 16px; }
.hx-search { display: flex; gap: 8px; max-width: 640px; }
.hx-search input { flex: 1; min-width: 0; font: inherit; font-size: 16px; padding: 12px 14px; border-radius: 10px; border: 0; color: #111; }
.hx-search .b.primary { background: #f59e0b; border-color: #f59e0b; color: #1b1450; font-weight: 700; padding: 0 18px; }
.hx-stats { display: flex; flex-wrap: wrap; gap: 10px 28px; margin-top: 18px; }
.hx-stats div { display: flex; flex-direction: column; }
.hx-stats b { font-size: 22px; line-height: 1.1; color: #fff; } .hx-stats span { font-size: 13px; color: #c9cdf7; }
.hx-cont { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; text-decoration: none; color: inherit;
  border: 1.5px solid #f59e0b; background: #fff8eb; border-radius: 12px; padding: 12px 16px; margin: 0 0 18px; }
.hx-cont-l { display: flex; flex-direction: column; } .hx-cont-l span { color: var(--muted); font-size: 13.5px; }
.hx-cont-r { font-size: 13.5px; color: #8a5300; display: flex; align-items: center; gap: 8px; } .hx-cont-r i { font-style: normal; font-size: 18px; }
.hx-h { font-size: 19px; margin: 22px 0 10px; }
.hx-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; }
.hx-card { background: var(--card, #fff); border: 1px solid var(--line); border-radius: 14px; padding: 14px 16px; display: flex; flex-direction: column; gap: 10px; }
.hx-card:hover { border-color: var(--brand-2); }
.hx-top { text-decoration: none; color: inherit; display: flex; flex-direction: column; gap: 2px; }
.hx-top b { font-size: 18px; color: var(--brand); } .hx-top span { color: var(--muted); font-size: 13px; }
.hx-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.hx-chip { text-decoration: none; font-size: 13px; padding: 4px 10px; border-radius: 999px; background: #eef0fd; color: #2a2391; }
.hx-chip:hover { background: #4035c2; color: #fff; }
.hx-links { display: flex; gap: 16px; font-size: 14px; } .hx-links a { text-decoration: none; font-weight: 600; color: var(--brand-2); }
.hx-papers { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 8px; }
.hx-paper { text-decoration: none; color: inherit; border: 1px solid var(--line); border-radius: 10px; padding: 9px 12px; background: var(--card, #fff);
  display: flex; flex-direction: column; } .hx-paper span { color: var(--muted); font-size: 13px; } .hx-paper:hover { border-color: var(--brand-2); }
.hx-feats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.hx-feat { border: 1px solid var(--line); border-radius: 12px; padding: 12px 14px; background: var(--card, #fff); display: flex; flex-direction: column; gap: 3px; }
.hx-feat i { font-style: normal; width: 30px; height: 30px; border-radius: 8px; background: #fff3dc; color: #b45309; display: grid; place-items: center; font-weight: 700; margin-bottom: 4px; }
.hx-feat span { color: var(--muted); font-size: 13.5px; }
.hx-faq details { border: 1px solid var(--line); border-radius: 10px; padding: 10px 14px; margin-bottom: 8px; background: var(--card, #fff); }
.hx-faq summary { cursor: pointer; font-weight: 600; } .hx-faq p { margin: 8px 0 2px; color: var(--muted); }
html[data-theme=dark] .hx-chip { background: #252a52; color: #c9cdf7; }
html[data-theme=dark] .hx-cont { background: #2a2210; } html[data-theme=dark] .hx-cont-r { color: #f5c46b; }
html[data-theme=dark] .hx-feat i { background: #3a2c10; color: #f5c46b; }
@media (prefers-color-scheme: dark) { html:not([data-theme=light]) .hx-chip { background: #252a52; color: #c9cdf7; }
  html:not([data-theme=light]) .hx-cont { background: #2a2210; } html:not([data-theme=light]) .hx-feat i { background: #3a2c10; color: #f5c46b; } }
@media (max-width: 560px) { .hx-hero { padding: 20px 16px 18px; border-radius: 12px; } .hx-stats b { font-size: 19px; } .hx-papers { grid-template-columns: 1fr 1fr; } .hx-paper { padding: 8px 10px; } .hx-paper b { font-size: 14px; } .hx-paper span { font-size: 12.5px; } .hx-feats { grid-template-columns: 1fr 1fr; gap: 8px; } .hx-feat { padding: 10px 11px; } .hx-feat b { font-size: 14px; } .hx-feat span { font-size: 12.5px; } }
.hx-sub { margin: -2px 0 10px; font-weight: 700; color: #ffd27a; font-size: clamp(15px, 2.4vw, 19px); } .hx-sub span { color: #c9cdf7; font-weight: 500; }
.hx-years { display: flex; flex-wrap: wrap; gap: 6px 8px; margin-top: 14px; align-items: center; font-size: 13px; }
.hx-years span { color: #c9cdf7; } .hx-years a { color: #fff; text-decoration: none; border: 1px solid rgba(255,255,255,.35); border-radius: 999px; padding: 3px 10px; }
.hx-years a:hover { background: rgba(255,255,255,.15); }
.hx-demo { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px; align-items: start; }
.hx-demo-q { border: 1px solid var(--line); border-radius: 14px; background: var(--card, #fff); padding: 14px 16px; }
.hx-demo-q p { margin: 8px 0; font-size: 14px; } .hx-demo-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.hx-tg { font-size: 12px; border-radius: 6px; padding: 2px 8px; background: #e8f6ee; color: #166534; font-weight: 600; }
.hx-bars { display: flex; flex-direction: column; gap: 6px; }
.hx-bar { position: relative; display: flex; align-items: center; gap: 10px; border: 1px solid var(--line); border-radius: 8px; padding: 6px 10px; overflow: hidden; font-size: 14px; }
.hx-bar i { position: absolute; left: 0; top: 0; bottom: 0; background: rgba(64,53,194,.12); z-index: 0; }
.hx-bar b, .hx-bar span { position: relative; z-index: 1; } .hx-bar span { margin-left: auto; font-weight: 600; }
.hx-bar.ok { border-color: #16a34a; } .hx-bar.ok i { background: rgba(22,163,74,.18); }
.hx-demo-note { color: var(--muted); font-size: 12px !important; margin-bottom: 0 !important; }
.hx-demo-l { margin: 0; padding-left: 18px; display: flex; flex-direction: column; gap: 8px; font-size: 14.5px; }
@media (max-width: 720px) { .hx-demo { grid-template-columns: 1fr; } }
.hx-tagline { display: inline-block; margin: 0 0 10px; font-size: 13.5px; font-weight: 600; color: #1b1450; background: #ffd27a; border-radius: 999px; padding: 4px 12px; }
.hx-pdfl { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0 2px !important; }
.hx-pdfl a { text-decoration: none; font-weight: 600; font-size: 14px; color: #1b1450; background: #ffd27a; border-radius: 8px; padding: 5px 12px; }
.hx-years a.hx-ypdf { background: #ffd27a; color: #1b1450; border-color: #ffd27a; font-weight: 600; }
/* soothing hero (teacher, 18 Oct 2026): light, calm tint instead of a dark block under the dark top bar */
.hx-hero { background: linear-gradient(160deg, #f1f3ff 0%, #f8f9ff 60%, #fdf8ee 100%); color: #1e1b4b; border: 1px solid #e3e6fb; }
.hx-hero h1 { color: #1e1b4b; }
.hx-hero .lead { color: #4b5275; }
.hx-sub { color: #4035c2; } .hx-sub span { color: #6b7194; }
.hx-tagline { background: #fff1d6; color: #7a4a00; }
.hx-search input { border: 1px solid #d7dbf5; box-shadow: 0 1px 2px rgba(30,27,75,.05); }
.hx-stats b { color: #1e1b4b; } .hx-stats span { color: #6b7194; }
.hx-years span { color: #6b7194; }
.hx-years a { color: #2f2a8f; border-color: #cfd3f5; background: #fff; }
.hx-years a:hover { background: #eef0fd; }
.hx-years a.hx-ypdf { background: #fff1d6; color: #7a4a00; border-color: #f3dcae; }
html[data-theme=dark] .hx-hero { background: linear-gradient(160deg, #1c2040 0%, #191c33 100%); color: #e6e8ff; border-color: #2c3160; }
html[data-theme=dark] .hx-hero h1, html[data-theme=dark] .hx-stats b { color: #eef0ff; }
html[data-theme=dark] .hx-hero .lead, html[data-theme=dark] .hx-stats span, html[data-theme=dark] .hx-years span { color: #aab0d6; }
html[data-theme=dark] .hx-sub { color: #b3adff; }
html[data-theme=dark] .hx-years a { background: transparent; color: #d6d9ff; border-color: #3a4078; }
@media (prefers-color-scheme: dark) { html:not([data-theme=light]) .hx-hero { background: linear-gradient(160deg, #1c2040 0%, #191c33 100%); color: #e6e8ff; border-color: #2c3160; }
  html:not([data-theme=light]) .hx-hero h1, html:not([data-theme=light]) .hx-stats b { color: #eef0ff; }
  html:not([data-theme=light]) .hx-hero .lead, html:not([data-theme=light]) .hx-stats span { color: #aab0d6; }
  html:not([data-theme=light]) .hx-sub { color: #b3adff; } html:not([data-theme=light]) .hx-years a { background: transparent; color: #d6d9ff; border-color: #3a4078; } }
/* hero follows the site colour (top bar) so the page reads as one calm theme */
.hx-hero { background: linear-gradient(160deg, #eef4fb 0%, #f7fafd 65%, #fdf8ee 100%); border-color: #dde7f3; }
.hx-hero h1 { color: var(--brand); } .hx-sub { color: var(--brand-2); }
.hx-years a { color: var(--brand); border-color: #cfdcec; } .hx-years a:hover { background: #eaf1f9; }
.hx-chip { background: #eaf1f9; color: var(--brand); } .hx-chip:hover { background: var(--brand-2); color: #fff; }
.hx-bar i { background: rgba(21,101,192,.12); }

/* weightage page (chapter × year table) */
.wtab-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--line); border-radius: 12px; background: var(--card); margin: 12px 0; }
.wtab { border-collapse: collapse; width: 100%; font-size: 13px; min-width: 620px; }
.wtab th, .wtab td { padding: 8px 10px; border-bottom: 1px solid var(--line); text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.wtab th:first-child, .wtab td:first-child { text-align: left; position: sticky; left: 0; background: var(--card); max-width: 240px; white-space: normal; min-width: 150px; }
.wtab thead th { background: var(--paper); cursor: pointer; user-select: none; }
.wtab thead th:first-child { z-index: 2; background: var(--paper); }
.wtab thead th.desc::after { content: " ▾"; } .wtab thead th.asc::after { content: " ▴"; }
.wtab tr.br td { background: var(--paper); font-weight: 600; }
.wtab tr.oosr td, .wtab td.z { color: var(--muted); }
.wtab .bar { display: inline-block; height: 6px; border-radius: 3px; background: var(--brand); opacity: .55; vertical-align: middle; margin-right: 6px; }
.wtab td.hot, .hot { color: #b3261e; font-weight: 600; }
.wtab.topics { min-width: 480px; } .wtab.topics td:nth-child(2), .wtab.topics th:nth-child(2) { white-space: normal; text-align: left; }
.wtab.topics th:first-child, .wtab.topics td:first-child { min-width: 0; position: static; }
.wtab a { color: inherit; text-decoration: none; } .wtab a:hover { text-decoration: underline; }
.pub-foot .pwr { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; vertical-align: middle; margin: 0 4px; }
.pub-foot .pwr img { height: 26px; width: auto; vertical-align: middle; }
.pub-foot .pwr-tag { font-style: normal; color: var(--muted); }
.pwr-card { display: flex; gap: 18px; align-items: center; flex-wrap: wrap; border: 1px solid var(--line); border-radius: 12px; padding: 14px 16px; background: var(--card); margin: 16px 0; }
.pwr-card img { height: 56px; width: auto; } .pwr-card p { margin: 0; flex: 1 1 260px; }
html[data-theme=dark] .pub-foot .pwr img, html[data-theme=dark] .pwr-card img { background: #fff; border-radius: 6px; padding: 2px 6px; }
html[data-theme=dark] .wtab td.hot, html[data-theme=dark] .hot { color: #ff8a80; }
.pub-top .pwr-top { display: inline-flex; align-items: center; gap: 8px; color: #fff; text-decoration: none; margin-left: 4px; padding-left: 14px; border-left: 1px solid rgba(255,255,255,.3); line-height: 1; }
.pub-top .pwr-top span { font-size: 13px; opacity: .9; letter-spacing: .2px; }
.pub-top .pwr-top img { height: 30px; width: auto; display: block; }
@media (max-width: 480px) {
  .pub-top { gap: 6px; padding: 0 10px; }                                   /* iPhone 12–16 / minis / small Androids: everything must fit in 360 px */
  .pub-top .brand { font-size: 16px; } .pub-top .brand.ps img { width: 26px; height: 26px; }
  .pub-top .pwr-top span { display: none; } .pub-top .pwr-top { padding-left: 6px; margin-left: 0; gap: 0; } .pub-top .pwr-top img { height: 18px; }
  .pub-top .pub-lang { width: 56px; min-width: 0; padding: 4px 2px; font-size: 13px; }
  .pub-top .pub-ib { width: 30px; min-width: 30px; height: 30px; padding: 0; }
}
.mock-rank { background: #e8f5ee; border: 1px solid #b7e1c6; border-radius: 10px; padding: 10px 14px; margin: 8px 0 10px; font-size: 15px; }
html[data-theme=dark] .mock-rank { background: #12301f; border-color: #1f5a37; }

/* ---- NTA-style computer-based test window (owner, 20 Oct 2026) ---- */
body.cbt-on .pub-top, body.cbt-on .bnav, body.cbt-on .pub-foot, body.cbt-on .crumbs, body.cbt-on .adu,
body.cbt-on .pq-tools, body.cbt-on .subj-tabs, body.cbt-on .ychips, body.cbt-on .ch-head, body.cbt-on .ch-card, body.cbt-on #paper-list, body.cbt-on #mock-start { display: none !important; }
body.cbt-on .pub-main { padding-top: 0; max-width: 1280px; }
.nta { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 14px; color: #222; background: #e9edf2; border: 1px solid #c9d2dc; border-radius: 6px; overflow: hidden; margin: 6px 0 16px; }
.nta-top { display: flex; align-items: center; gap: 10px; padding: 8px 12px; background: #1f3f7a; color: #fff; }
.nta-top b { font-size: 14px; } .nta-top .grow { flex: 1; } .nta-sys { font-size: 12px; opacity: .85; }
.nta-time { font-size: 13px; white-space: nowrap; } .nta-time b { background: #fff; color: #1f3f7a; padding: 3px 8px; border-radius: 3px; font-variant-numeric: tabular-nums; margin-left: 4px; }
.nta-time b.low { background: #ffd8d6; color: #b3261e; }
.nta-ib { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.5); border-radius: 4px; width: 32px; height: 28px; font-size: 16px; cursor: pointer; display: none; }
.nta-subj { display: flex; gap: 4px; padding: 6px 10px 0; background: #d9e2ee; overflow-x: auto; }
.nta-subj button, .nta-sec button { border: 1px solid #9fb0c6; border-bottom: 0; background: #f3f6fa; color: #1f3f7a; padding: 7px 14px; font: inherit; font-weight: 700; border-radius: 4px 4px 0 0; cursor: pointer; white-space: nowrap; }
.nta-subj button.on { background: #1f6fd6; color: #fff; border-color: #1f6fd6; }
.nta-main { display: grid; grid-template-columns: 1fr 300px; gap: 0; background: #fff; }
.nta-q { padding: 10px 14px 14px; border-right: 1px solid #c9d2dc; min-width: 0; }
.nta-sec { display: flex; gap: 4px; margin: 0 0 8px; }
.nta-sec button { font-size: 12.5px; padding: 5px 12px; border-radius: 4px; border-bottom: 1px solid #9fb0c6; } .nta-sec button.on { background: #1f6fd6; color: #fff; border-color: #1f6fd6; }
.nta-qh { display: flex; align-items: center; gap: 10px; padding: 8px 10px; background: #f3f6fa; border: 1px solid #dfe6ee; font-size: 13.5px; } .nta-qh .grow { flex: 1; }
.nta-marks { font-size: 12.5px; color: #444; padding: 6px 10px; border: 1px solid #dfe6ee; border-top: 0; background: #fff; }
.nta-marks .ok { color: #1e8e4e; } .nta-marks .bad { color: #c0392b; }
.nta-qb { padding: 14px 6px 6px; min-height: 260px; }
.nta-qb .qbody .opts > div.pick { cursor: pointer; } .nta-qb .qbody .opts > div.chosen { background: #e8f1ff; border-color: #1f6fd6; }
.nta-numwrap { margin: 8px 0 0; max-width: 300px; }
.nta-numwrap .numin { width: 100% !important; max-width: none !important; box-sizing: border-box; font-size: 20px; text-align: right; padding: 8px 10px; border: 1px solid #9fb0c6; border-radius: 4px; background: #fff; }
.nta-pad { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin-top: 8px; }
.nta-pad button { font: inherit; font-size: 18px; padding: 10px 0; border: 1px solid #9fb0c6; background: #f3f6fa; border-radius: 4px; cursor: pointer; }
.nta-pad button.w2 { grid-column: span 3; font-size: 13px; padding: 8px 0; }
.nta-pad button:active { background: #d9e2ee; }
.nta-btns { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 8px; }
.nta-nav { display: flex; gap: 8px; align-items: center; } .nta-nav .grow { flex: 1; }
.nta .nb { font: inherit; font-size: 12.5px; font-weight: 700; padding: 9px 14px; border-radius: 3px; border: 1px solid #9fb0c6; background: #fff; color: #222; cursor: pointer; letter-spacing: .2px; }
.nta .nb.g { background: #2e9e4f; border-color: #2e9e4f; color: #fff; } .nta .nb.o { background: #f28c1a; border-color: #f28c1a; color: #fff; } .nta .nb.b2 { background: #1f6fd6; border-color: #1f6fd6; color: #fff; }
.nta .nb:disabled { opacity: .45; cursor: default; }
.nta-side { background: #f3f6fa; padding: 10px 12px; }
.nta-cand { display: flex; align-items: center; gap: 10px; padding: 8px 10px; background: #fff; border: 1px solid #dfe6ee; border-radius: 4px; margin-bottom: 10px; font-size: 13px; }
.nta-cand .grow { flex: 1; } .nta-cand #t-palx { display: none; margin-left: auto; color: #1f3f7a; border-color: #9fb0c6; }
.nta-av { font-size: 28px; }
.nta-legend { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 10px; font-size: 11.5px; margin: 6px 0 12px; }
.nta-legend span { display: flex; align-items: center; gap: 6px; line-height: 1.25; } .nta-legend .wide { grid-column: 1 / -1; }
.nta-palh { background: #1f6fd6; color: #fff; font-weight: 700; padding: 6px 10px; font-size: 13px; }
.nta-choose { font-size: 12.5px; font-weight: 700; padding: 8px 2px 6px; color: #1f3f7a; }
.nta-pal { display: grid; grid-template-columns: repeat(auto-fill, minmax(40px, 1fr)); gap: 6px; max-height: 50vh; overflow: auto; padding: 2px; }
.nta-pal .pst { width: 100%; height: 36px; cursor: pointer; } .nta-pal .pst.cur { outline: 2px solid #1f3f7a; outline-offset: 1px; }
.nta-ins { background: #fff; padding: 16px 20px 20px; font-size: 13.5px; line-height: 1.55; }
.nta-ins h2 { margin: 0 0 6px; font-size: 18px; color: #1f3f7a; text-align: center; } .nta-ins ol { padding-left: 22px; } .nta-ins li { margin: 6px 0; }
.nta-ins .nta-legend { margin: 8px 0 4px; max-width: 760px; }
.nta-agree { display: flex; gap: 10px; align-items: flex-start; margin: 14px 0; padding: 10px; background: #fff8e6; border: 1px solid #f3dca0; border-radius: 4px; font-size: 13px; }
.nta-ins-btn { text-align: center; margin-top: 8px; }
.nta-modal { position: fixed; inset: 0; background: rgba(0,0,0,.45); display: flex; align-items: center; justify-content: center; z-index: 200; padding: 16px; }   /* above the full-screen exam window (z 60) */
.nta-box { background: #fff; color: #222; border-radius: 6px; padding: 16px 18px; max-width: 760px; width: 100%; font-family: Verdana, Arial, sans-serif; font-size: 13.5px; }
.nta-box h3 { margin: 0 0 10px; color: #1f3f7a; } .nta-box .wtab th, .nta-box .wtab td { text-align: center; } .nta-box .wtab td:first-child, .nta-box .wtab th:first-child { text-align: left; position: static; }
@media (max-width: 900px) {
  .nta-main { grid-template-columns: 1fr; } .nta-q { border-right: 0; } .nta-ib { display: inline-block; }
  .nta-side { position: fixed; top: 0; right: 0; bottom: 0; width: min(86vw, 340px); overflow: auto; z-index: 120; box-shadow: -4px 0 18px rgba(0,0,0,.25); transform: translateX(105%); transition: transform .2s; }
  .nta-side.open { transform: none; } .nta-cand #t-palx { display: inline-block; }
  .nta-btns { display: grid; grid-template-columns: 1fr 1fr; } .nta .nb { padding: 10px 6px; font-size: 11.5px; }
  .nta-top b { font-size: 12.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 40vw; }
}
/* the exam window is always light, like the real NTA screen — whatever the phone's theme (dark-mode bug, live 20 Oct) */
.nta { color-scheme: light; }
html[data-theme=dark] .nta, html[data-theme=dark] .nta .qbody, html[data-theme=dark] .nta .rq { color: #222; background: #fff; }
html[data-theme=dark] .nta .nta-main { background: #fff; } html[data-theme=dark] .nta .nta-side { background: #f3f6fa; }
html[data-theme=dark] body.pub .nta .qbody .opts > div, html[data-theme=dark] .nta .qbody .opts > div { background: #fff !important; color: #222 !important; border-color: #c9d2dc !important; }
html[data-theme=dark] .nta .qbody .opts > div.pick:hover { background: #f3f6fa !important; }
html[data-theme=dark] .nta .qbody .opts > div.chosen { background: #e8f1ff !important; border-color: #1f6fd6 !important; }
html[data-theme=dark] .nta .qbody .opts .bub { border-color: #666; color: #222; background: #fff; }
html[data-theme=dark] .nta .qbody img.struct, html[data-theme=dark] .nta .qbody img.mimg, html[data-theme=dark] .nta .qbody img.graph { filter: none; }
html[data-theme=dark] .nta .qbody img.fig { background: #fff; }
html[data-theme=dark] .nta .qbody table.match td, html[data-theme=dark] .nta .qbody table.match th { border-color: #c9d2dc; color: #222; background: #fff; }
html[data-theme=dark] .nta .katex { color: #222; }
html[data-theme=dark] .nta-numwrap .numin { background: #fff; color: #222; }

/* every mode: the exam window's buttons and palette keep NTA's light colours */
html[data-theme=dark] .nta .nb, html[data-theme=dark] .nta .nb.w { background: #fff !important; color: #222 !important; border-color: #9fb0c6 !important; }
html[data-theme=dark] .nta .nb.g { background: #2e9e4f !important; color: #fff !important; border-color: #2e9e4f !important; }
html[data-theme=dark] .nta .nb.o { background: #f28c1a !important; color: #fff !important; border-color: #f28c1a !important; }
html[data-theme=dark] .nta .nb.b2 { background: #1f6fd6 !important; color: #fff !important; border-color: #1f6fd6 !important; }
html[data-theme=dark] .nta .pst.nv, html[data-theme=dark] .nta-box .pst.nv { background: #e6e9ee !important; color: #222 !important; border-color: #c9d2dc !important; }
html[data-theme=dark] .nta-subj, html[data-theme=dark] .nta-subj button, html[data-theme=dark] .nta-sec button { color: #1f3f7a; }
html[data-theme=dark] .nta-subj button.on, html[data-theme=dark] .nta-sec button.on { color: #fff; }
html[data-theme=dark] .nta-box { background: #fff; color: #222; } html[data-theme=dark] .nta-box .wtab, html[data-theme=dark] .nta-box .wtab-wrap { background: #fff; color: #222; }
html[data-theme=dark] .nta-box .wtab th, html[data-theme=dark] .nta-box .wtab td { color: #222; border-color: #dfe6ee; background: #fff; }
html[data-theme=dark] .nta-ins, html[data-theme=dark] .nta-agree { background: #fff; color: #222; } html[data-theme=dark] .nta-agree { background: #fff8e6; }

/* small phones (360 px Androids, iPhone minis): the bottom bar's four buttons share the width; the footer's
   "Powered by" line may wrap */
.bnav { width: 100%; box-sizing: border-box; max-width: 100vw; }
.bnav a { flex: 1 1 0; min-width: 0; }
@media (max-width: 480px) {
  .bnav a { padding-left: 2px; padding-right: 2px; font-size: 11px; }
  .pub-foot .pwr { white-space: normal; flex-wrap: wrap; justify-content: center; }
  .pub-foot .pwr-tag { flex-basis: 100%; text-align: center; }
}
.nta-agree input[type=checkbox] { color-scheme: light; accent-color: #1f6fd6; width: 18px; height: 18px; margin: 1px 0 0; flex: none; background: #fff; }
/* a chosen option in the exam window: solid blue bubble, white number (every mode) */
.nta .qbody .opts > div.chosen .bub, html[data-theme=dark] .nta .qbody .opts > div.chosen .bub { background: #1f6fd6 !important; color: #fff !important; border-color: #1f6fd6 !important; }
.nta .qbody .opts > div.chosen { background: #e8f1ff !important; border-color: #1f6fd6 !important; }
html[data-theme=dark] .nta .qbody .opts > div.chosen, html[data-theme=dark] .nta .qbody .opts > div.chosen.pick:hover, .nta .qbody .opts > div.chosen.pick:hover { background: #e8f1ff !important; border-color: #1f6fd6 !important; }

/* full screen exam window (owner, 20 Oct 2026): covers the whole screen once the test begins */
body.cbt-full { overflow: hidden; }
body.cbt-full .nta { position: fixed; inset: 0; z-index: 60; margin: 0; border: 0; border-radius: 0; display: flex; flex-direction: column; }
body.cbt-full .nta-main { flex: 1; min-height: 0; }
body.cbt-full .nta-q { overflow: auto; } body.cbt-full .nta-side { overflow: auto; }
body.cbt-full .about { display: none; }
.nta-sec button small { font-weight: 400; opacity: .85; }
.nta-hint { font-size: 12.5px; color: #8a4b00; background: #fff8e6; border: 1px solid #f3dca0; padding: 6px 10px; margin-top: 8px; border-radius: 3px; }
.nta .qbody .opts > div.multi .bub { border-radius: 4px; }
.nta-scheme { min-width: 0 !important; margin-top: 6px; } .nta-scheme td, .nta-scheme th { text-align: left !important; white-space: normal !important; }
.nta-grid { border-collapse: collapse; margin: 10px 0 4px; }
.nta-grid th, .nta-grid td { border: 1px solid #c9d2dc; padding: 6px 10px; text-align: center; font-weight: 700; color: #1f3f7a; background: #fff; }
.nta-grid button { width: 26px; height: 26px; border: 1.6px solid #64748b; border-radius: 4px; background: #fff; cursor: pointer; }
.nta-grid button.on { background: #1f6fd6; border-color: #1f6fd6; }
.nta-grid button.on::after { content: "✓"; color: #fff; font-weight: 700; }
.chip.partial { background: #fff4e0; color: #8a4b00; }
@media (max-width: 900px) { body.cbt-full .nta-q { padding-bottom: 20px; } }

/* ===== readability (owner, 20 Oct 2026: everything clearly visible in light AND dark mode; checked by
   tests/check_visibility.py against the WCAG 4.5 : 1 contrast standard) ===== */
html:not([data-theme=dark]) body.pub { --muted: #565d78; --s-ans: #1b7d3f; --s-not: #c0392b; }
/* NTA colours, deep enough for white text */
.pst.ans, .nta .pst.ans { background: #1e7b38 !important; border-color: #18692f !important; color: #fff !important; }
.pst.na, .nta .pst.na { background: #c0392b !important; border-color: #a93226 !important; color: #fff !important; }
.pst.mr, .pst.am { background: #5e35a0 !important; border-color: #4f2c87 !important; color: #fff !important; }
.pst.am::after { background: #1e7b38 !important; }
.nta .nb.g, html[data-theme=dark] .nta .nb.g { background: #1e7b38 !important; border-color: #1e7b38 !important; color: #fff !important; }
.nta .nb.o, html[data-theme=dark] .nta .nb.o { background: #b45309 !important; border-color: #b45309 !important; color: #fff !important; }
.nta .nb.b2, html[data-theme=dark] .nta .nb.b2 { background: #1a5fc0 !important; border-color: #1a5fc0 !important; color: #fff !important; }
.nta-sec button small { opacity: 1; }
.nta-marks .ok { color: #17733d; } .nta-marks .bad { color: #b42318; }
.nta-time b.low { color: #9b1c13; }
/* answer colours on question cards */
.qbody .opts > div.right .bub, .qbody .opts > div.correct .bub { background: #15803d !important; border-color: #15803d !important; }
.qbody .opts > div.wrong .bub { background: #b91c1c !important; border-color: #b91c1c !important; }
.qbody .opts .correct, .qbody .ans, .ok, b.ok { color: #17733d; }
html[data-theme=dark] .qbody .opts .correct, html[data-theme=dark] .qbody .ans, html[data-theme=dark] .ok, html[data-theme=dark] b.ok { color: #7fe0a8; }
.qbody .opts > div.done:not(.right):not(.wrong) { opacity: .8; }
.pq-tagline, .ptag { color: #8a5300; } html[data-theme=dark] .pq-tagline, html[data-theme=dark] .ptag { color: #f3c27a; }
.lv-m { color: #7c4a03; }
.pdfrow .dl { color: #b03a0a; } html[data-theme=dark] .pdfrow .dl { color: #fb923c; }
.ostat-v { color: #55657a; } html[data-theme=dark] .qbody .opts .ostat-v, html[data-theme=dark] .opts > div .ostat-v { color: #b6c2d1; }
/* dark mode: links readable on the dark background */
html[data-theme=dark] :where(.pub-main, .pub-foot, .crumbs, .qdr-p) a:not([class]), html[data-theme=dark] :where(.pub-main, .pub-foot, .crumbs) a:not([class]) *,
html[data-theme=dark] .pub-main a.small, html[data-theme=dark] .linkish { color: #8ab4f8; }
html[data-theme=dark] .ychips a.on, html[data-theme=dark] .tabs a.on, html[data-theme=dark] .tab.on { color: #fff; }
html[data-theme=dark] .tab.on b { color: #dbe7ff; }
/* dark mode: the exam window's tables (marking scheme) stay light like the rest of the window */
html[data-theme=dark] .nta .wtab-wrap, html[data-theme=dark] .nta .wtab th, html[data-theme=dark] .nta .wtab td { background: #fff !important; color: #222 !important; border-color: #dfe6ee !important; }
html[data-theme=dark] .nta .wtab thead th { background: #f3f6fa !important; }
.nta-box .nb.g { background: #1e7b38 !important; border-color: #1e7b38 !important; color: #fff !important; }
.nta .ok, .nta-marks .ok, html[data-theme=dark] .nta .ok, html[data-theme=dark] .nta-marks b.ok { color: #17733d !important; }
.nta .bad, html[data-theme=dark] .nta .bad { color: #b42318 !important; }
.qbody .opts .ostat-v { color: #55657a; }
.hx-sub span, .hx-stats span, .hx-years span { color: #555b80; }
html[data-theme=dark] .hx-sub span, html[data-theme=dark] .hx-stats span, html[data-theme=dark] .hx-years span { color: #b4b9d8; }
.allch .sb-g a.on, html[data-theme=dark] .allch .sb-g a.on { color: #fff; background: var(--brand); }
html[data-theme=dark] .hx-pdfl a, html[data-theme=dark] .hx-pdfl a * { color: #1b1450 !important; }
html[data-theme=dark] .pcard b, html[data-theme=dark] .hx-ex b, html[data-theme=dark] .pub-main a b { color: #c9dcff; }
.qbody .opts .ostat-v, .qbody .opts > div .ostat-v { color: #3f4b5b; }

.nta-sum { display: grid; gap: 10px; max-height: min(58vh, 520px); overflow: auto; padding-right: 2px; }
.nta-sum-top { display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: center; margin: 0 0 12px; padding: 10px 12px; background: #f3f6fa; border: 1px solid #dfe6ee; border-radius: 6px; }
.nta-sum-top .big { font-size: 22px; font-weight: 700; color: #1f3f7a; } .nta-sum-top .grow { flex: 1; }
.nta-sum-top .tl { font-size: 13px; color: #333; } .nta-sum-top .tl b { font-variant-numeric: tabular-nums; }
.nta-sub { border: 1px solid #dfe6ee; border-radius: 6px; overflow: hidden; }
.nta-sub h4 { margin: 0; padding: 7px 10px; background: #1f3f7a; color: #fff; font-size: 13.5px; display: flex; gap: 8px; }
.nta-sub h4 span { margin-left: auto; font-weight: 400; }
.nta-srow { display: grid; grid-template-columns: minmax(0, 1fr) repeat(5, 40px); gap: 6px; align-items: center; padding: 6px 10px; border-top: 1px solid #eef2f7; font-size: 13px; color: #222; }
.nta-srow.hd { background: #f8fafc; border-top: 0; padding-top: 8px; padding-bottom: 8px; }
.nta-srow .nm small { display: block; color: #555; font-size: 11.5px; }
.nta-srow .pst { width: 34px; min-width: 34px; height: 28px; font-size: 12.5px; justify-self: center; }
.nta-srow .pst.zero { opacity: .35; }
.nta-sum-warn { margin: 12px 0 0; padding: 8px 12px; border-radius: 6px; font-size: 13.5px; }
.nta-sum-warn.w { background: #fff4e0; border: 1px solid #f3dca0; color: #6b3d00; } .nta-sum-warn.ok { background: #e7f6ec; border: 1px solid #b7e1c6; color: #145a2c; }
.nta-sum-warn button { font: inherit; font-weight: 700; color: #1a5fc0; background: none; border: 0; padding: 0; cursor: pointer; text-decoration: underline; }
.nta-box .nta-q-sure { margin: 14px 0 4px; text-align: center; } .nta-box .nta-q-sure small { color: #444; }
.nta-box .nb.w { background: #fff !important; color: #222 !important; border-color: #9fb0c6 !important; }
.nta-box .nb { min-width: 120px; }
@media (max-width: 520px) { .nta-srow { grid-template-columns: minmax(0, 1fr) repeat(5, 32px); gap: 4px; padding: 6px 8px; }
  .nta-srow .pst { width: 30px; min-width: 30px; height: 26px; font-size: 12px; } .nta-box { padding: 12px; } }

/* exam summary as a colourful table (owner, 20 Oct 2026) */
.nta-sum { display: block; }
.nta-st { width: 100%; border-collapse: separate; border-spacing: 0; table-layout: fixed; font-size: 13px; color: #222; border: 1px solid #c9d2dc; border-radius: 6px; overflow: hidden; }
.nta-st th, .nta-st td { padding: 6px 4px; text-align: center; border-bottom: 1px solid #e3e8ef; }
.nta-st .nm { text-align: left; padding-left: 10px; width: 30%; } .nta-st .n { width: 8%; font-weight: 700; color: #1f3f7a; }
.nta-st thead th { font-size: 11.5px; line-height: 1.2; font-weight: 700; vertical-align: bottom; background: #f3f6fa; }
.nta-st thead th .pst { width: 30px; min-width: 30px; height: 24px; font-size: 12px; margin-bottom: 3px; }
.nta-st thead th span { display: block; }
.nta-st .h-ans { background: #e7f6ec; color: #145a2c; } .nta-st .h-na { background: #fdecea; color: #8c2219; } .nta-st .h-nv { background: #eef1f5; color: #333; }
.nta-st .h-mr { background: #f0eafb; color: #4b2a86; } .nta-st .h-am { background: #ece7f8; color: #4b2a86; }
.nta-st tr.subj th { background: #1f3f7a; color: #fff; text-align: left; padding: 7px 10px; font-size: 13.5px; }
.nta-st tr.subj th span { float: right; font-weight: 400; font-size: 12.5px; }
.nta-st tbody tr:not(.subj):nth-child(even) td { background: #fafbfd; }
.nta-st td .pst { width: 34px; min-width: 34px; height: 26px; font-size: 12.5px; } .nta-st td .pst.zero { opacity: .35; }
.nta-st .nm small { display: block; color: #555; font-size: 11.5px; }
.nta-st tfoot td { background: #e8eef7; font-weight: 700; border-bottom: 0; }
.nta-sum-note { font-size: 12px; color: #444; margin-top: 6px; }
@media (max-width: 520px) {
  .nta-st { font-size: 12px; } .nta-st .nm { width: 27%; padding-left: 6px; } .nta-st .n { width: 9%; }
  .nta-st thead th { font-size: 9.5px; } .nta-st thead th .pst, .nta-st td .pst { width: 26px; min-width: 26px; height: 22px; font-size: 11px; }
}
.nta-st thead th .sm { display: none; }
@media (max-width: 520px) { .nta-st thead th .lg { display: none; } .nta-st thead th .sm { display: block; font-size: 9.5px; letter-spacing: -.1px; } }
/* summary: zero counts readable (grey outline, dark grey number), vertical lines between the columns (owner) */
.nta-st td .pst.zero { opacity: 1; background: #f4f5f7 !important; border-color: #c3c9d3 !important; color: #4b5563 !important; }
.nta-st td .pst.zero.am::after { background: #9aa3b0 !important; }
.nta-st th, .nta-st td { border-right: 1px solid #d5dce6; } .nta-st th:last-child, .nta-st td:last-child { border-right: 0; }
.nta-st tr.subj th { border-right: 0; }
.nta .qbody .opts > div, .nta .qbody .opts .bub { transition: none !important; }   /* NTA's screen changes at once */
.nta-st th, .nta-st td { border-right-color: #b9c3d1; } .nta-st th:last-child, .nta-st td:last-child { border-right: 0; } .nta-st tr.subj th { border-right: 0; }
.nta-st tbody td, .nta-st tfoot td { border-bottom-color: #d5dce6; }
.nta-st td .pst.am::after, .nta-st th .pst.am::after { width: 12px; height: 12px; font-size: 8px; right: -6px; bottom: -5px; }
@media (max-width: 520px) { .nta-st td .pst.am::after, .nta-st th .pst.am::after { width: 11px; height: 11px; font-size: 7px; right: -6px; bottom: -5px; } }

/* every table: clear dark grid lines, vertical and horizontal (owner, 20 Oct 2026) */
.nta-st, .wtab, .nta-grid { --grid: #7a879a; }
.nta-st { border: 1.5px solid var(--grid); }
.nta-st th, .nta-st td { border-right: 1px solid var(--grid) !important; border-bottom: 1px solid var(--grid) !important; }
.nta-st th:last-child, .nta-st td:last-child { border-right: 0 !important; }
.nta-st tr.subj th { border-right: 0 !important; border-bottom: 1px solid var(--grid) !important; }
.nta-st tfoot td { border-bottom: 0 !important; border-top: 1.5px solid var(--grid); }
.wtab-wrap { border: 1.5px solid #7a879a; }
.wtab th, .wtab td { border-bottom: 1px solid var(--grid) !important; border-right: 1px solid var(--grid) !important; }
.wtab th:last-child, .wtab td:last-child { border-right: 0 !important; } .wtab tbody tr:last-child td { border-bottom: 0 !important; }
.nta-grid th, .nta-grid td { border: 1px solid var(--grid) !important; }
html[data-theme=dark] .wtab:not(.nta *) { --grid: #5b6b82; } html[data-theme=dark] body.pub > main .wtab-wrap:not(.nta *) { border-color: #5b6b82; }
html[data-theme=dark] .nta .wtab, html[data-theme=dark] .nta .wtab th, html[data-theme=dark] .nta .wtab td, html[data-theme=dark] .nta-box .wtab td { border-color: #7a879a !important; }
html[data-theme=dark] .wtab .bar { background: #5b9cf0; opacity: .9; }

/* Times New Roman for every screen: site, buttons, menus, the exam window and its boxes */
body.pub, body.pub button, body.pub input, body.pub select, body.pub textarea, .nta, .nta .nb, .nta-box, .nta-box .nb,
.nta-subj button, .nta-sec button, .nta-pad button, .nta-numwrap .numin { font-family: "Times New Roman", Times, "TNR Web", "Liberation Serif", Tinos, serif !important; }

/* ranked (All-India) mocks */
.rmocks { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; margin: 8px 0 10px; }
.rmock { display: flex; flex-direction: column; gap: 6px; padding: 12px 14px; border: 1.5px solid var(--line); border-radius: 10px; background: var(--card); }
.rmock b { font-size: 16px; } .rmock span { color: var(--muted); font-size: 13px; } .rmock .rm-btns { display: flex; gap: 8px; margin-top: 4px; }
.rm-name { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; font-size: 14px; margin: 6px 0 18px; }
.rm-name input { padding: 7px 10px; border: 1px solid var(--line); border-radius: 8px; min-width: 220px; font: inherit; background: var(--card); color: var(--ink); }
.mock-rank.big { font-size: 16px; } .mock-rank .rk { font-size: 26px; color: #1f3f7a; }
html[data-theme=dark] .mock-rank .rk { color: #8ab4f8; }
.res .wtab.topics { min-width: 0; } .res .wtab.topics td, .res .wtab.topics th { white-space: normal; }
.res .wtab.topics td:first-child, .res .wtab.topics th:first-child { width: 18%; min-width: 0; }
@media (max-width: 480px) { .pub-foot .pwr { display: flex; justify-content: center; margin: 4px 0; } }

/* bigger text with Times New Roman (owner, 20 Oct 2026: "font size is very small") — about +20 % */
body.pub { font-size: 16.5px; }
body.pub .pubq .qbody, body.pub .pubq .pq-body, body.pub .rq .qbody { font-size: 17.5px; }
.nta { font-size: 16.5px; }
.nta .qbody, .nta .qbody .opts > div, .nta-qb { font-size: 19.5px; }
.nta-top b { font-size: 16.5px; } .nta-time { font-size: 15.5px; } .nta-time b { font-size: 16px; }
.nta-subj button { font-size: 16px; padding: 8px 16px; } .nta-sec button { font-size: 14.5px; }
.nta-qh { font-size: 16px; } .nta-marks { font-size: 15px; } .nta-hint { font-size: 14.5px; }
.nta .nb { font-size: 14.5px; padding: 10px 16px; }
.nta-cand { font-size: 15px; } .nta-legend { font-size: 13.5px; } .nta-palh { font-size: 15px; } .nta-choose { font-size: 14.5px; }
.nta-pal .pst { height: 40px; font-size: 15px; }
.nta-ins { font-size: 16px; } .nta-ins h2 { font-size: 21px; } .nta-agree { font-size: 15.5px; }
.nta-box { font-size: 15.5px; } .nta-st { font-size: 15px; } .nta-st thead th { font-size: 13px; } .nta-st tr.subj th { font-size: 15.5px; }
.nta-numwrap .numin { font-size: 22px; } .nta-pad button { font-size: 20px; } .nta-pad button.w2 { font-size: 15px; }
.nta-grid th, .nta-grid td { font-size: 16px; } .nta-grid button { width: 30px; height: 30px; }
@media (max-width: 900px) {
  .nta .qbody, .nta .qbody .opts > div, .nta-qb { font-size: 18px; }
  .nta .nb { font-size: 13px; padding: 11px 6px; } .nta-subj button { font-size: 15px; padding: 7px 12px; }
  .nta-marks { font-size: 13.5px; } .nta-qh { font-size: 15px; }
}
@media (max-width: 520px) { .nta-st { font-size: 13px; } .nta-st thead th { font-size: 10.5px; } .nta-box { font-size: 14.5px; } }
