/* Exam Manthan — सभी नियम .emx के अंदर सीमित हैं, ताकि थीम से टकराव न हो */
.emx {
  --emx-paper: #ffffff; --emx-omr-bg: #fdf0f2; --emx-omr-line: #f2c9d0;
  --emx-omr-ink: #c0284f; --emx-pen: #1e3a8a; --emx-ink: #18223f;
  --emx-muted: #5a6278; --emx-rule: #e6e2e8;
  --emx-display: "Rozha One", "Noto Serif Devanagari", serif;
  --emx-body: "Mukta", "Noto Sans Devanagari", "Nirmala UI", system-ui, sans-serif;
  font-family: var(--emx-body); color: var(--emx-ink); line-height: 1.65; font-size: 1.05rem;
}
.emx *, .emx *::before, .emx *::after { box-sizing: border-box; }
.emx a { color: var(--emx-pen); text-underline-offset: 3px; }
.emx :focus-visible { outline: 3px solid var(--emx-pen); outline-offset: 2px; }
.emx p { margin: 0 0 1rem; }
.emx h2, .emx h3, .emx h4 { color: var(--emx-ink); letter-spacing: normal; text-transform: none; }

.emx .emx-display { font-family: var(--emx-display); font-weight: 400; font-size: clamp(1.9rem, 4.6vw, 3.2rem); line-height: 1.2; margin: 0 0 .5rem; max-width: 20ch; }
.emx .emx-h2 { font-family: var(--emx-display); font-weight: 400; font-size: 1.6rem; line-height: 1.3; margin: 0 0 1rem; }
.emx .emx-h3 { font-family: var(--emx-body); font-weight: 700; font-size: 1.05rem; margin: 1.5rem 0 .5rem; }

/* हीरो — OMR ग्रिड */
.emx .emx-hero { color: var(--emx-ink);
  background-color: var(--emx-omr-bg);
  background-image: linear-gradient(var(--emx-omr-line) 1px, transparent 1px), linear-gradient(90deg, var(--emx-omr-line) 1px, transparent 1px);
  background-size: 1.75rem 1.75rem;
  border: 1px solid var(--emx-omr-line); border-top: 3px solid var(--emx-omr-ink);
  padding: clamp(1.5rem, 4vw, 3rem);
}
.emx .emx-lead { color: var(--emx-muted); max-width: 52ch; margin-bottom: 1.75rem; }

.emx .emx-search { display: flex; align-items: center; background: var(--emx-paper); border: 2px solid var(--emx-omr-ink); max-width: 40rem; }
.emx .emx-search label { margin: 0; padding: 0 .9rem; color: var(--emx-omr-ink); font-weight: 700; white-space: nowrap; border-right: 1px solid var(--emx-omr-line); }
.emx .emx-search input[type="search"] {
  flex: 1; min-width: 0; width: auto; height: auto; margin: 0; border: 0; border-radius: 0; box-shadow: none;
  padding: .8rem 1rem; font: inherit; color: var(--emx-ink); background: transparent;
}
.emx .emx-search input:focus { outline: none; }
.emx .emx-search:focus-within { outline: 3px solid var(--emx-pen); outline-offset: 2px; }

/* OMR गोले */
.emx .emx-bubbles { border: 0; margin: 1.5rem 0 0; padding: 0; min-width: 0; display: flex; flex-wrap: wrap; gap: .5rem 1.3rem; background: none; }
.emx .emx-bubbles legend { font-weight: 700; color: var(--emx-omr-ink); margin: 0 0 .6rem; padding: 0; font-size: 1rem; border: 0; width: auto; }
.emx .emx-bubble { display: inline-flex; align-items: center; gap: .5rem; cursor: pointer; font-weight: 500; margin: 0; }
.emx .emx-bubble input[type="radio"] {
  -webkit-appearance: none; appearance: none; margin: 0; padding: 0; flex: none;
  width: 1.35rem; height: 1.35rem; border-radius: 50%; border: 2px solid var(--emx-omr-ink);
  background: var(--emx-paper); box-shadow: none; cursor: pointer; position: static;
  transition: background-color .15s ease, border-color .15s ease;
}
.emx .emx-bubble input[type="radio"]::before, .emx .emx-bubble input[type="radio"]::after { display: none; }
.emx .emx-bubble input[type="radio"]:checked { background: var(--emx-pen); border-color: var(--emx-pen); }
.emx .emx-bubble:hover input[type="radio"]:not(:checked) { background: var(--emx-omr-bg); }

/* सूची */
.emx .emx-listing { padding: 2rem 0 1rem; }
.emx .emx-listing-head { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; }
.emx .emx-count { color: var(--emx-muted); }
.emx .emx-group { font-family: var(--emx-body); font-weight: 700; color: var(--emx-omr-ink); font-size: 1.05rem; margin: 1.75rem 0 0; padding: 0 0 .35rem; border-bottom: 2px solid var(--emx-omr-ink); }
.emx .emx-cols, .emx .emx-row { display: grid; grid-template-columns: 2.4fr 1.3fr 1.2fr 1.4fr; gap: 1rem; }
.emx .emx-cols { color: var(--emx-muted); font-size: .85rem; padding: .5rem 0; border-bottom: 1px solid var(--emx-rule); }
.emx a.emx-row { padding: .9rem .25rem; border-bottom: 1px solid var(--emx-rule); color: var(--emx-ink); text-decoration: none; box-shadow: none; }
.emx a.emx-row:hover { background: var(--emx-omr-bg); }
.emx a.emx-row:hover .emx-name { color: var(--emx-pen); text-decoration: underline; }
.emx .emx-name { font-weight: 700; display: block; line-height: 1.4; }
.emx .emx-body { color: var(--emx-muted); font-size: .88rem; display: block; }
.emx .emx-cell-label { display: none; }
.emx .emx-empty { padding: 2rem 0; }
.emx .emx-btn-text { background: none; border: 0; padding: 0; font: inherit; color: var(--emx-pen); text-decoration: underline; cursor: pointer; }

/* विवरण */
.emx .emx-exam-hero { color: var(--emx-ink); background: var(--emx-omr-bg); border: 1px solid var(--emx-omr-line); border-top: 3px solid var(--emx-omr-ink); padding: clamp(1.25rem, 3.5vw, 2.25rem); }
.emx .emx-crumbs { font-size: .9rem; margin-bottom: .75rem; }
.emx .emx-crumbs a { color: var(--emx-muted); }
.emx .emx-tag { display: inline-block; color: var(--emx-omr-ink); border: 1.5px solid var(--emx-omr-ink); padding: 0 .55rem; font-weight: 700; font-size: .9rem; }
.emx .emx-body-name { color: var(--emx-muted); }
.emx .emx-summary { max-width: 62ch; }
.emx .emx-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); margin: 1.25rem 0 0; border: 1.5px solid var(--emx-omr-ink); background: var(--emx-paper); }
.emx .emx-facts div { padding: .7rem 1rem; border-right: 1px solid var(--emx-omr-line); }
.emx .emx-facts div:last-child { border-right: 0; }
.emx .emx-facts dt { font-size: .82rem; color: var(--emx-omr-ink); font-weight: 700; margin: 0; }
.emx .emx-facts dd { margin: 0; font-weight: 500; }

.emx .emx-toc { display: flex; flex-wrap: wrap; gap: .3rem 1.2rem; padding: 1rem 0; border-bottom: 1px solid var(--emx-rule); margin-bottom: 1.5rem; }
.emx .emx-caution { border-left: 4px solid var(--emx-omr-ink); background: var(--emx-omr-bg); padding: .9rem 1.1rem; margin: 0 0 2rem; }
.emx .emx-caution p { margin: 0; }
.emx .emx-sec { margin-bottom: 2.5rem; scroll-margin-top: 5rem; }

.emx .emx-kv { margin: 0; }
.emx .emx-kv div { display: grid; grid-template-columns: 11rem 1fr; gap: 1rem; padding: .65rem 0; border-bottom: 1px solid var(--emx-rule); }
.emx .emx-kv dt { font-weight: 700; margin: 0; }
.emx .emx-kv dd { margin: 0; }

.emx .emx-table { overflow-x: auto; border: 1px solid var(--emx-omr-line); margin: 0; }
.emx .emx-table table { border-collapse: collapse; width: 100%; min-width: 32rem; margin: 0; border: 0; }
.emx .emx-table th, .emx .emx-table td { text-align: left; padding: .6rem .85rem; border: 0; border-bottom: 1px solid var(--emx-omr-line); vertical-align: top; background: none; }
.emx .emx-table thead th { background: var(--emx-omr-bg); color: var(--emx-omr-ink); font-size: .9rem; font-weight: 700; }
.emx .emx-table tbody tr:last-child td { border-bottom: 0; }
.emx .emx-num { white-space: nowrap; }
.emx .emx-note { color: var(--emx-muted); font-size: .92rem; margin: .5rem 0 0; }

.emx .emx-status { display: inline-block; padding: 0 .5rem; font-size: .85rem; font-weight: 700; border: 1.5px solid currentColor; }
.emx .emx-status-संभावित { color: var(--emx-muted); }
.emx .emx-status-घोषित { color: var(--emx-pen); }
.emx .emx-status-समाप्त { color: #8a8f9c; text-decoration: line-through; }

.emx .emx-steps { counter-reset: emxs; list-style: none; padding: 0; margin: 0; }
.emx .emx-steps li { counter-increment: emxs; position: relative; padding: .55rem 0 .55rem 3rem; min-height: 2.6rem; margin: 0; }
.emx .emx-steps li::before {
  content: counter(emxs, devanagari); position: absolute; left: 0; top: .45rem;
  width: 2rem; height: 2rem; border-radius: 50%; border: 2px solid var(--emx-omr-ink); color: var(--emx-omr-ink);
  display: grid; place-content: center; font-weight: 700; line-height: 1;
}
.emx .emx-links { display: flex; flex-wrap: wrap; gap: .75rem; }
.emx a.emx-link-btn { display: inline-block; padding: .6rem 1.1rem; background: var(--emx-pen); color: #fff; text-decoration: none; font-weight: 700; }
.emx a.emx-link-btn:hover { background: var(--emx-ink); color: #fff; }
.emx .emx-disclaimer { color: var(--emx-muted); font-size: .88rem; border-top: 1px solid var(--emx-rule); padding-top: 1rem; margin-top: 2rem; }

@media (max-width: 760px) {
  .emx .emx-cols { display: none; }
  .emx .emx-row { grid-template-columns: 1fr 1fr; gap: .35rem 1rem; }
  .emx .emx-row > :first-child { grid-column: 1 / -1; }
  .emx .emx-cell-label { display: block; font-size: .78rem; color: var(--emx-muted); }
  .emx .emx-kv div { grid-template-columns: 1fr; gap: .1rem; }
}
@media (prefers-reduced-motion: reduce) { .emx * { transition: none !important; } }

/* ===== प्रश्नपत्र ===== */
.emx .emx-hero-sm { margin-bottom: 1.5rem; }
.emx .emx-search select.emx-select {
  flex: 1; min-width: 0; width: auto; height: auto; margin: 0; border: 0; border-radius: 0; box-shadow: none;
  padding: .8rem 1rem; font: inherit; color: var(--emx-ink); background: transparent; cursor: pointer;
}
.emx .emx-search select.emx-select:focus { outline: none; }
.emx a.emx-pdf { font-weight: 700; white-space: nowrap; }

/* ===== करेंट अफेयर्स (होमपेज सूची) ===== */
.emx.emx-ca { margin: 0 0 2rem; border: 1px solid var(--emx-omr-line); border-top: 3px solid var(--emx-omr-ink); padding: clamp(1.1rem, 3vw, 1.75rem); background: var(--emx-paper); }
.emx .emx-ca-head { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; flex-wrap: wrap; margin-bottom: .5rem; }
.emx .emx-ca-head .emx-h2 { margin: 0; }
.emx .emx-ca-list { list-style: none; margin: 0; padding: 0; }
.emx .emx-ca-list li { margin: 0; border-bottom: 1px solid var(--emx-rule); }
.emx .emx-ca-list li:last-child { border-bottom: 0; }
.emx .emx-ca-list a { display: grid; grid-template-columns: 8.5rem 1fr; gap: 1rem; padding: .7rem 0; color: var(--emx-ink); text-decoration: none; box-shadow: none; }
.emx .emx-ca-list a:hover .emx-ca-title { color: var(--emx-pen); text-decoration: underline; }
.emx .emx-ca-date { color: var(--emx-omr-ink); font-weight: 700; font-size: .92rem; white-space: nowrap; }
.emx .emx-ca-title { font-weight: 500; }
.emx .emx-admin-note { border: 2px dashed var(--emx-omr-ink); background: var(--emx-omr-bg); padding: .8rem 1rem; }
@media (max-width: 600px) { .emx .emx-ca-list a { grid-template-columns: 1fr; gap: 0; } }

/* ===== होमपेज: खोज + आज के करेंट अफेयर्स ===== */
.emx .emx-home-top { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); gap: 1.25rem; align-items: stretch; }
.emx .emx-today { border: 1px solid var(--emx-omr-line); border-top: 3px solid var(--emx-pen); padding: clamp(1.1rem, 2.5vw, 1.6rem); background: var(--emx-paper); display: flex; flex-direction: column; }
.emx .emx-today-h { font-family: var(--emx-display); font-weight: 400; font-size: 1.45rem; line-height: 1.3; margin: 0 0 .5rem; color: var(--emx-ink); }
.emx .emx-today-list { list-style: none; margin: 0; padding: 0; flex: 1; }
.emx .emx-today-list li { margin: 0; border-bottom: 1px solid var(--emx-rule); }
.emx .emx-today-list a { display: block; padding: .6rem 0; color: var(--emx-ink); text-decoration: none; box-shadow: none; }
.emx .emx-today-list .emx-ca-date { display: block; font-size: .82rem; }
.emx .emx-today-list .emx-ca-title { display: block; line-height: 1.45; }
.emx .emx-today-list a:hover .emx-ca-title { color: var(--emx-pen); text-decoration: underline; }
.emx .emx-today-links { display: flex; flex-direction: column; gap: .35rem; margin-top: 1rem; font-weight: 700; }

/* ===== इस महीने संभावित अधिसूचनाएँ ===== */
.emx .emx-due { margin: 2rem 0 0; }
.emx .emx-due .emx-h2 { margin-bottom: .25rem; }
.emx .emx-due-note { margin: 0 0 1rem; }
.emx .emx-due-list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .75rem; }
.emx .emx-due-list li { margin: 0; }
.emx .emx-due-list a { display: flex; flex-direction: column; padding: .65rem 1rem; border: 1.5px solid var(--emx-omr-ink); background: var(--emx-omr-bg); color: var(--emx-ink); text-decoration: none; box-shadow: none; min-width: 12rem; }
.emx .emx-due-list a:hover { background: var(--emx-paper); }
.emx .emx-due-short { font-weight: 700; color: var(--emx-omr-ink); }
.emx .emx-due-body { font-size: .85rem; color: var(--emx-muted); }

/* ===== डेली / मंथली पेज ===== */
.emx .emx-ca-switch { margin: 0; font-weight: 700; }
.emx .emx-ca-full a { grid-template-columns: 9.5rem 1fr; align-items: start; }
.emx .emx-ca-excerpt { display: block; color: var(--emx-muted); font-size: .92rem; margin-top: .15rem; }
.emx .emx-month-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); gap: 1rem; }
.emx .emx-month-grid li { margin: 0; }
.emx .emx-month-grid a { display: flex; flex-direction: column; gap: .3rem; height: 100%; padding: 1.1rem 1.2rem; border: 1px solid var(--emx-omr-line); border-left: 4px solid var(--emx-omr-ink); color: var(--emx-ink); text-decoration: none; box-shadow: none; background: var(--emx-paper); }
.emx .emx-month-grid a:hover { background: var(--emx-omr-bg); }
.emx .emx-month-label { font-family: var(--emx-display); font-size: 1.5rem; line-height: 1.2; }
.emx .emx-month-title { color: var(--emx-muted); flex: 1; }
.emx .emx-month-more { font-weight: 700; color: var(--emx-pen); }
.emx .emx-pager { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-top: 2rem; padding-top: 1rem; border-top: 1px solid var(--emx-rule); font-weight: 700; }

@media (max-width: 900px) {
  .emx .emx-home-top { grid-template-columns: 1fr; }
  .emx .emx-ca-full a { grid-template-columns: 1fr; gap: 0; }
}

/* तथ्यों का खाना — हर चौड़ाई पर बराबर रेखाएँ */
.emx .emx-facts { gap: 1px; background: var(--emx-omr-line); }
.emx .emx-facts div { background: var(--emx-paper); border-right: 0; }
