/* ---------------------------------------------------------------------------
   The written notes book.

   ⛔ Law pages are set as printed legal matter: serif, rules, small caps.
   Never pills, never cards, never monospace (feedback_law_audience_traditional_design).
   The type scale, the rules and the small-caps headings below are deliberately
   the same ones the syllabus subject page uses under .mn-llm-syl, so the two
   surfaces of the same subject cannot look like two products.

   Everything is scoped under .mn-res-content so it can only ever apply inside
   the resource shell.
   --------------------------------------------------------------------------- */

.mn-res-content .mn-notes-meta,
.mn-res-content .mn-notes-lede {
  font-size: 0.95rem;
  line-height: 1.6;
  color: var(--ink-2);
  margin: 0 0 1rem;
}

.mn-res-content .mn-notes-meta {
  font-size: 0.82rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ink-3);
  padding-bottom: 0.6rem;
  border-bottom: 1px solid var(--border-s);
}

/* --- the chapter itself ---------------------------------------------------- */

/* ⭐⭐ THE MEASURE. Measured at 1280px, the chapter's text column came out
   1185px wide, which is roughly 160 characters a line. That is punishing to read
   and it is how the eye loses its place coming back to the start of the next
   line. A book is not a dashboard: the panel may be wide, the COLUMN may not.

   46rem lands around 70 to 80 characters, which is the range long-form reading
   has settled on. Centred rather than left-aligned, because 500px of empty space
   down one side of a wide panel reads as a layout fault.

   ⚠️ Harmless on a phone, where the viewport is far narrower than the cap, so
   this needs no media query and cannot fight the full-bleed rule below. */
.mn-res-content .mn-notes-meta,
.mn-res-content .mn-notes-lede,
.mn-res-content .mn-notes-progress,
.mn-res-content .mn-notes-module,
.mn-res-content .mn-notes-links,
.mn-res-content .mn-notes-spine,
.mn-res-content .mn-notes-body {
  max-width: 46rem;
  margin-inline: auto;
}

.mn-res-content .mn-notes-body {
  font-size: 1.02rem;
  line-height: 1.7;
  color: var(--ink-2);
}

.mn-res-content .mn-notes-body > h2 {
  font-family: var(--f-display);
  font-size: 0.86rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink);
  margin: 2rem 0 0.7rem;
  padding-top: 1.1rem;
  border-top: 1px solid var(--border-s);
}

.mn-res-content .mn-notes-body > h2:first-child {
  margin-top: 0.6rem;
  padding-top: 0;
  border-top: 0;
}

.mn-res-content .mn-notes-body > h3 {
  font-family: var(--f-display);
  font-size: 1.02rem;
  font-weight: 700;
  color: var(--ink);
  margin: 1.5rem 0 0.5rem;
}

.mn-res-content .mn-notes-body > h4 {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--ink);
  margin: 1.2rem 0 0.4rem;
}

.mn-res-content .mn-notes-body p {
  margin: 0 0 0.95rem;
}

.mn-res-content .mn-notes-body ul,
.mn-res-content .mn-notes-body ol {
  margin: 0 0 1rem;
  padding-left: 1.4rem;
}

.mn-res-content .mn-notes-body li {
  margin-bottom: 0.4rem;
  line-height: 1.65;
}

/* A blockquote here is a SPECIMEN DOCUMENT: a plaint, a written statement, an
   affidavit, a section of an Act. Law pages are set as printed legal matter, so
   it has to read like a document and not like a list of separated sentences
   (feedback_law_audience_traditional_design).

   ⛔⛔ NO VERTICAL RULE DOWN THE LEFT EDGE, EVER. This carried a 2px border-left
   until 2026-08-21, when the owner saw it on Logic-I and said it reads as
   chatbot output: "this gives an impression of created using ai, so we dont want
   that ever". A printed law book never marks quoted matter with a bar. It
   indents it, sets it a size smaller and leads it tighter, which is exactly what
   `.qps-prose blockquote` in qp-solution-page.css already does for the model
   answer volumes. Notes now match that. ⛔ Do not reinstate the border.

   ⚠️ The converter gives every quoted line its own paragraph, which is correct,
   because an address block and a prayer clause must not run together. But at the
   body's normal paragraph spacing that made a specimen plaint nearly twice as
   long as the document it represents, and it stopped looking like one. Tighter
   leading and a smaller gap inside the quote only; the surrounding prose keeps
   its own rhythm. */
.mn-res-content .mn-notes-body blockquote {
  margin: 0.9rem 0 1.2rem;
  padding: 0 1.6rem;
  color: var(--ink-2);
  font-size: 0.95rem;
}

.mn-res-content .mn-notes-body blockquote p {
  margin: 0 0 0.4rem;
  line-height: 1.5;
}

.mn-res-content .mn-notes-body blockquote p:last-child {
  margin-bottom: 0;
}

/* A case name is set in italic, as it is in a law report. ⛔ Prose links are
   underlined and inherit the colour: never web-blue on a law page. */
.mn-res-content .mn-notes-body a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.16em;
}

/* --- tables ----------------------------------------------------------------

   ⛔⛔ This subject's comparison tables run to FOUR columns (res judicata
   against res sub judice, and again against estoppel). Four columns cannot fit
   a 390px screen at a readable size, and the site's own rule is that the page
   body must never scroll sideways. So the table scrolls inside its own box,
   which the builder wraps around every table it emits, and the page does not
   move. -webkit-overflow-scrolling keeps it from feeling stuck on iOS. */

.mn-res-content .mn-notes-tablewrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 0 0 1.1rem;
}

.mn-res-content .mn-notes-body table {
  border-collapse: collapse;
  width: 100%;
  font-size: 0.92rem;
}

/* ⛔ The minimum width scales with the COLUMN COUNT, it is not one figure for
   every table. A flat 32rem minimum made a plain two-column table scroll on a
   390px phone, cut off mid-sentence, when it fits the screen perfectly well.
   Two columns get no minimum at all; the wider ones get just enough to stay
   readable and are allowed to scroll inside their own box at desktop widths.

   ⛔⛔ Everything BELOW this, the scroll shadow and the whole stacking block in
   the media query, is written as :not([data-cols="2"]) and NOT as a list of
   column counts. The first version enumerated 3 and 4. A five-column table was
   later written into one chapter and fell through every single rule: no minimum
   width, NO SCROLL SHADOW, and no stacking, so on a 360px phone it was a 548px
   strip scrolling silently inside a 323px box with nothing to say so. That is
   the exact failure the shadow was invented to prevent, reintroduced by a
   selector that only knew about the tables that existed the day it was written.
   Do not put the column list back. */
.mn-res-content .mn-notes-tablewrap[data-cols="3"] table { min-width: 27rem; }
.mn-res-content .mn-notes-tablewrap[data-cols="4"] table { min-width: 34rem; }
.mn-res-content .mn-notes-tablewrap[data-cols="5"] table { min-width: 40rem; }

/* ⭐ A table that CAN scroll has to say so. The scrollbar alone is a hairline on
   a phone and reads as text simply being chopped off, which is precisely the
   "something is missing" feeling the whole book exists to avoid.

   This is the pure-CSS scroll shadow: two white cover panels attached to the
   content (background-attachment: local, so they travel with the scroll and slide
   out of view at each end) sitting over two fixed shadows attached to the box.
   The shadow at an edge is therefore visible only while there is more table in
   that direction, and it needs no JavaScript and no scroll listener. */
.mn-res-content .mn-notes-tablewrap:not([data-cols="2"]) {
  background-image:
    linear-gradient(to right, #fff 30%, rgba(255, 255, 255, 0)),
    linear-gradient(to left, #fff 30%, rgba(255, 255, 255, 0)),
    radial-gradient(farthest-side at 0 50%, rgba(15, 23, 42, 0.16), rgba(15, 23, 42, 0)),
    radial-gradient(farthest-side at 100% 50%, rgba(15, 23, 42, 0.16), rgba(15, 23, 42, 0));
  background-position: 0 0, 100% 0, 0 0, 100% 0;
  background-repeat: no-repeat;
  background-size: 2.5rem 100%, 2.5rem 100%, 0.85rem 100%, 0.85rem 100%;
  background-attachment: local, local, scroll, scroll;
}

.mn-res-content .mn-notes-body th,
.mn-res-content .mn-notes-body td {
  border-bottom: 1px solid var(--border-s);
  padding: 0.5rem 0.7rem;
  text-align: left;
  vertical-align: top;
  line-height: 1.55;
}

.mn-res-content .mn-notes-body th {
  font-size: 0.78rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ink);
  border-bottom: 1px solid var(--border);
}

/* --- the contents page ------------------------------------------------------ */

.mn-res-content .mn-notes-module {
  padding: 0.9rem 0 0;
  border-top: 1px solid var(--border-s);
  margin-top: 1rem;
}

.mn-res-content .mn-notes-module:first-of-type {
  border-top: 0;
  margin-top: 0;
}

.mn-res-content .mn-notes-module-title {
  font-family: var(--f-display);
  font-size: 0.86rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink);
  margin: 0 0 0.5rem;
}

.mn-res-content .mn-notes-module-pending {
  font-size: 0.9rem;
  color: var(--ink-3);
  font-style: italic;
  margin: 0 0 0.5rem;
}

.mn-res-content .mn-notes-chapters {
  list-style: none;
  margin: 0;
  padding: 0;
  counter-reset: mn-notes-ch;
}

.mn-res-content .mn-notes-chapters li {
  padding: 0.55rem 0;
  border-bottom: 1px solid var(--border-s);
}

.mn-res-content .mn-notes-chapters li:last-child {
  border-bottom: 0;
}

.mn-res-content .mn-notes-chapters a {
  display: block;
  font-weight: 600;
  color: var(--ink);
  text-decoration: none;
}

.mn-res-content .mn-notes-chapters a:hover {
  text-decoration: underline;
}

.mn-res-content .mn-notes-chapter-sum {
  display: block;
  font-size: 0.88rem;
  line-height: 1.5;
  color: var(--ink-3);
  margin-top: 0.15rem;
}

/* --- the honesty notice ----------------------------------------------------- */

.mn-res-content .mn-notes-progress {
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  padding: 0.85rem 0;
  margin: 0 0 1.2rem;
}

.mn-res-content .mn-notes-progress-lead {
  font-weight: 600;
  color: var(--ink);
  margin: 0 0 0.3rem;
  font-size: 0.95rem;
}

.mn-res-content .mn-notes-progress-sub {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.55;
  color: var(--ink-3);
}

/* --- previous and next ------------------------------------------------------ */

.mn-res-content .mn-notes-spine {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-top: 1.8rem;
  padding-top: 1.1rem;
  border-top: 1px solid var(--border);
}

.mn-res-content .mn-notes-spine > a {
  flex: 1 1 12rem;
  min-width: 0;
  text-decoration: none;
  color: var(--ink);
}

.mn-res-content .mn-notes-spine-label {
  display: block;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-3);
  margin-bottom: 0.15rem;
}

.mn-res-content .mn-notes-spine-title {
  display: block;
  font-weight: 600;
  line-height: 1.4;
}

.mn-res-content .mn-notes-spine > a:hover .mn-notes-spine-title {
  text-decoration: underline;
}

.mn-res-content .mn-notes-spine-next {
  text-align: right;
}

.mn-res-content .mn-notes-links {
  list-style: none;
  margin: 0;
  padding: 0;
}

.mn-res-content .mn-notes-links li {
  padding: 0.5rem 0;
  border-bottom: 1px solid var(--border-s);
}

.mn-res-content .mn-notes-links li:last-child {
  border-bottom: 0;
}

.mn-res-content .mn-notes-links a {
  color: var(--ink);
  text-decoration: underline;
  text-underline-offset: 0.16em;
  font-weight: 600;
}

/* --- phone ------------------------------------------------------------------

   ⭐⭐ On a phone EVERY block meets both edges. A stack of full-bleed bands with
   one inset white box in it reads as a mistake (project_qp_band_layout_2026_08_08).
   Same technique and the same width as the syllabus panel directly above this
   file's sibling rules, so the two pages break at the same point.

   ⚠️ The break-out is on the PANEL, which still has its gutter. Do not repeat
   calc(50% - 50vw) on a child: it cannot be read twice down one chain and
   resolves to zero. */

@media (max-width: 767.98px) {
  .mn-res-content .panel.mn-notes {
    margin-inline: calc(50% - 50vw);
    border-radius: 0;
    border-left: 0;
    border-right: 0;
  }

  .mn-res-content .mn-notes-body {
    font-size: 1rem;
  }

  .mn-res-content .mn-notes-body > h3 {
    font-size: 0.98rem;
  }

  /* The next link sits under the previous one rather than beside it, so both
     read left to right like the rest of the page. */
  .mn-res-content .mn-notes-spine {
    flex-direction: column;
    gap: 1rem;
  }

  .mn-res-content .mn-notes-spine-next {
    text-align: left;
  }

  /* ⭐⭐ A comparison table STACKS on a phone instead of scrolling sideways.

     Measured at 390px, the three-column tables left about 80px of content
     off-screen behind a hairline scrollbar. It was reachable, but a student who
     does not notice it reads half a sentence and concludes our notes are cut
     off, which is the one impression this book must never give.

     Stacked, each row becomes a small block: the first cell is its heading, and
     every other cell prints its own column heading above the value, taken from
     the data-label the builder writes. Nothing is off-screen and nothing is
     lost.

     ⚠️ Two-column tables are NOT stacked. They already fit the screen, and
     stacking one would turn a compact list into a tall one for no gain. */
  .mn-res-content .mn-notes-tablewrap:not([data-cols="2"]) {
    overflow-x: visible;
    background-image: none;
  }

  .mn-res-content .mn-notes-tablewrap:not([data-cols="2"]) table {
    min-width: 0;
    display: block;
  }

  .mn-res-content .mn-notes-tablewrap:not([data-cols="2"]) thead {
    /* Hidden visually, kept for screen readers via the cells' own labels. */
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }

  .mn-res-content .mn-notes-tablewrap:not([data-cols="2"]) tbody {
    display: block;
  }

  .mn-res-content .mn-notes-tablewrap:not([data-cols="2"]) tr {
    display: block;
    padding: 0.7rem 0;
    border-bottom: 1px solid var(--border-s);
  }

  .mn-res-content .mn-notes-tablewrap:not([data-cols="2"]) tr:last-child {
    border-bottom: 0;
  }

  .mn-res-content .mn-notes-tablewrap:not([data-cols="2"]) td {
    display: block;
    border-bottom: 0;
    padding: 0 0 0.45rem;
  }

  .mn-res-content .mn-notes-tablewrap:not([data-cols="2"]) td:first-child {
    font-weight: 700;
    color: var(--ink);
    padding-bottom: 0.5rem;
  }

  .mn-res-content .mn-notes-tablewrap:not([data-cols="2"]) td[data-label]::before {
    content: attr(data-label);
    display: block;
    font-size: 0.72rem;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: var(--ink-3);
    margin-bottom: 0.1rem;
  }
}

/* ============================================================================
   THE BOOK, AS AN E-READER
   The owner's pick between two phone-width mockups, 2026-08-17: option B, the
   Kindle. Full-screen warm paper, no sheet edges, a fixed running head, a live
   "PAGE 16 OF 367" chip and a hairline progress bar. His verdict on the first
   attempt is the requirement: "the user must know that they are reading a book,
   as of now it looks like a blog."

   ⛔ Law pages are printed legal matter (feedback_law_audience_traditional_design),
   and this is the most literal case on the site: everything below is a book
   convention. Justified text with hyphenation. First-line indents INSTEAD of
   paragraph gaps: the gap-between-paragraphs is precisely what blogs do. A drop
   cap. Chapter numbers in words. Centred small-caps section heads. Folios that
   pass by in the flow of the text where the builder wrote them.
   ============================================================================ */

/* ---- the paper. One warm surface for the whole book, and for a single
   chapter page too (.mn-bookish is on both panels).

   Full bleed at EVERY width, not only under 768px: the reading surface is the
   page, and a cream band floating on the site's white reads as a widget.
   calc(50% - 50vw) escapes the centred layout column; the shell's own
   .mn-res-content carries overflow-x: clip, which absorbs the scrollbar-width
   overshoot this trick otherwise leaks. */
/* ⭐⭐ CONTAINED, NOT STRETCHED. The owner's correction after the first live
   look: "pdf is never fully stretched ... it is contained". A PDF page is a
   bounded sheet on a surround. So the full-bleed band is the DESK, a warm
   near-black, and the paper is a fixed-measure SHEET floating on it with a real
   edge. On a phone the sheet keeps a whisper of desk either side, which is
   exactly how a PDF page sits in a mobile viewer; from tablet up the desk
   widens and the sheet holds its measure. */
.mn-res-content .panel.mn-bookish {
  background: #182032;
  border: 0;
  border-radius: 0;
  margin-inline: calc(50% - 50vw);
  padding: 8px 0 28px;
  color: #1e293b;
}

/* ⭐⭐ EVERY PAGE IS ITS OWN SHEET. The owner, 2026-08-18: "when the page cuts
   there should be a cut, as in next page, two separate page". So there is no
   continuous roll of paper: the builder cuts each chapter at its page
   boundaries and each fragment is one .mn-sheet, a separate piece of paper on
   the desk, with the desk visible in the gap between one page and the next,
   exactly the way a PDF scrolls. The cover, the contents and the part title
   pages are sheets of the same stack.

   The sheet is a flex column so the folio sits at the FOOT of the page even
   when a chapter's last page carries only a little text, which is precisely how
   the final page of a printed chapter looks. */
/* ⭐ ONE PAGE SIZE. The owner, 2026-08-18: "a real book is of the same size
   right?? so fix this". The cover was viewport-sized while the text pages were
   content-sized, so the first page was visibly a different sheet. Every sheet,
   the cover included, now carries the SAME A4 proportion (1:1.414) as its
   minimum: short pages (a chapter's last page, the part titles, the cover) all
   come out the same shape, and only a page genuinely holding more text grows
   taller, which is the one liberty a scrolling book has to take.

   The paper also carries a faint grain, an inline SVG noise so no request is
   made for it: a flat #fff rectangle reads as a web card, paper does not. */
.mn-res-content .mn-sheet {
  display: flex;
  flex-direction: column;
  background-color: #ffffff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='linear' slope='0.045'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='260' height='260' filter='url(%23n)'/%3E%3C/svg%3E");
  width: min(46rem, calc(100% - 16px));
  /* ⛔⛔ aspect-ratio and NOTHING ELSE controls the minimum height. An explicit
     min-height was set alongside it and SWITCHED OFF the content-based
     automatic minimum that aspect-ratio relies on (css-sizing-4: it exists only
     while min-height is auto). With it gone the sheet's height became definite,
     pages taller than the ratio stopped growing, and their text painted over
     the sheets below: the owner's screenshots showed the contents list running
     over the Part One title and two layers of chapter text superimposed. Never
     put an explicit min-height back on a sheet. */
  aspect-ratio: 1 / 1.414;
  margin-inline: auto;
  margin-bottom: 14px;
  padding: 1.8rem 1.35rem 0.9rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.45), 0 10px 32px rgba(0, 0, 0, 0.28);
}

/* the prev/next spine is navigation, not a page of the book */
.mn-res-content .mn-sheet-spine { aspect-ratio: auto; }

.mn-res-content .mn-sheet-text { flex: 1 1 auto; width: 100%; }

/* the small running head a continuation page carries, as printed books do */
.mn-res-content .mn-sheet-runhead {
  text-align: center;
  font-size: 0.66rem;
  letter-spacing: 0.24em;
  text-indent: 0.24em;
  text-transform: uppercase;
  color: #64748b;
  margin: 0 0 1.6rem;
  padding-bottom: 0.55rem;
  border-bottom: 1px solid #e2e8f0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* the foot of every sheet: the imprint on the left, the folio on the right.
   The owner asked for munotes.in on every page (2026-08-18), the way printed
   notes carry their publisher, so a screenshot of any single page still says
   where it came from. margin-top:auto pins the row to the sheet's foot even on
   a short final page. */
.mn-res-content .mn-sheet-folio {
  margin-top: auto;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
  font-size: 0.72rem;
  color: #64748b;
  padding-top: 1.4rem;
}

.mn-res-content .mn-sheet-brand {
  letter-spacing: 0.12em;
  color: #94a3b8;
}

.mn-res-content .mn-sheet-num {
  font-variant-numeric: tabular-nums;
}

.mn-res-content .mn-sheet-folio-centre { justify-content: center; }

/* the chapter pages' panel is just a transparent holder now; the sheets inside
   carry the paper */
.mn-res-content .mn-bookish .panel-body {
  background: none;
  box-shadow: none;
  width: 100%;
  max-width: none;
  padding: 0.4rem 0 1rem;
}

@media (min-width: 768px) {
  .mn-res-content .panel.mn-bookish { padding: 22px 0 48px; }
  .mn-res-content .mn-sheet {
    width: min(46rem, calc(100% - 56px));
    margin-bottom: 22px;
    padding: 2.2rem 2.4rem 1.1rem;
  }
}

/* ---- book typography, scoped to the paper ---- */

.mn-res-content .mn-bookish .mn-notes-body {
  max-width: 34rem;
  font-size: 1.05rem;
  line-height: 1.7;
  color: #1e293b;
}

/* ⛔⛔ NOT JUSTIFIED, AND THAT IS THE CONSIDERED CHOICE, NOT AN OVERSIGHT.
   The owner said reading it "feels weird", so the lines were measured rather
   than argued about. Justified, the real word gaps on this page stretched to
   3.1x a normal space on a phone and 2.1x on a desktop, which is what rivers
   are: p99 gap 20px against a 6.5px space at 360px. Forcing harder hyphenation
   (hyphenate-limit-chars: 6 3 3) moved it to 2.9x, so it is not a hyphenation
   problem. Ragged right measures 1.0x at EVERY width: every gap is exactly one
   4.4px space, so the page has even colour and no rivers.

   Printed books justify because a typesetter breaks lines by looking at the
   whole paragraph. A browser breaks them greedily, one line at a time, and
   cannot. The book feel is carried by the serif, the measure, the first-line
   indent, the sheets and the folios, none of which depend on justification.
   ⚠️ Re-measure with the ops-side gaps probe before ever turning justify on.

   ⛔ AND NO HYPHENATION. The owner, 2026-08-19: "in books i dont read '-', i
   dont want that." Words are never broken across lines. Hyphenation existed
   only to keep justified gaps down, and with ragged right there are no gaps to
   keep down, so it earns nothing and costs a word split on nearly every line.
   The rag gets deeper; that is the trade and it is the right way round. */
.mn-res-content .mn-bookish .mn-notes-body p,
.mn-res-content .mn-bookish .mn-notes-body li,
.mn-res-content .mn-bookish .mn-notes-body td,
.mn-res-content .mn-bookish .mn-notes-body th {
  -webkit-hyphens: none;
  hyphens: none;
}

.mn-res-content .mn-bookish .mn-notes-body p {
  margin: 0;
  text-align: left;
}

/* ⭐⭐ ONE RULE FOR EVERY PARAGRAPH: flush left, a little air between. No
   first-line indents anywhere.

   The owner found "One, the suit must be for the recovery of money" starting
   flush while Two, Three, Four and Five were indented, and asked what sense
   that made. It was the novel-typography rule "the first paragraph after a
   heading is not indented", which is right for flowing narrative and wrong
   here: counted across the book, 2,394 of 3,360 paragraphs (71%) open with a
   bold run-in, so they are ITEMS in a list, not prose. 333 of them were the
   first item under their heading and so were set differently from their own
   siblings.

   Indent-and-no-gap is how a NOVEL is set, because a novel is read straight
   through. This is a reference book that students scan and revise from, and it
   is mostly enumerated items, so it takes the treatment reference books take:
   every paragraph starts at the same place, with a modest space marking the
   break. That removes the whole class of fault rather than patching 333 cases,
   which is what "consistency should be there" asks for.

   ⛔ Do not reintroduce text-indent here. The book feel is carried by the
   serif, the measure, the sheets, the folios, the running heads and the drop
   cap, none of which depend on an indent. */
.mn-res-content .mn-bookish .mn-notes-body p + p {
  margin-top: 0.62em;
}

.mn-res-content .mn-bookish .mn-notes-body > h2 {
  font-family: var(--f-display);
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  text-align: center;
  color: #1e293b;
  border-top: 0;
  padding-top: 0;
  margin: 2.3em 0 1.05em;
}

.mn-res-content .mn-bookish .mn-notes-body > h2:first-child { margin-top: 0.4rem; }

.mn-res-content .mn-bookish .mn-notes-body > h3 {
  font-family: var(--f-display);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-align: center;
  color: #475569;
  margin: 1.8em 0 0.9em;
}

/* ⭐ The drop cap, on the chapter's very first paragraph. Both shapes the body
   can open with are covered: a paragraph straight away, or the "In one line"
   head and then the paragraph. Float, not initial-letter: it renders the same
   everywhere. */
.mn-res-content .mn-sheet-open .mn-notes-body > p:first-child::first-letter,
.mn-res-content .mn-sheet-open .mn-notes-body > h2:first-child + p::first-letter {
  float: left;
  font-size: 3.3em;
  line-height: 0.84;
  padding: 0.04em 0.09em 0 0;
  font-weight: 500;
  color: #1e293b;
}

.mn-res-content .mn-bookish .mn-notes-body ul,
.mn-res-content .mn-bookish .mn-notes-body ol {
  margin: 0.9em 0;
  padding-left: 1.35rem;
  font-size: 1.0rem;
}

.mn-res-content .mn-bookish .mn-notes-body li { line-height: 1.62; }

/* ⛔ The bookish skin only warms the ink. It must NOT put the bar back. */
.mn-res-content .mn-bookish .mn-notes-body blockquote {
  color: #334155;
  background: none;
}

.mn-res-content .mn-bookish .mn-notes-body strong { font-weight: 600; color: inherit; }

/* tables keep their stacking machinery; only the palette warms up */
.mn-res-content .mn-bookish .mn-notes-tablewrap:not([data-cols="2"]) {
  background-image:
    linear-gradient(to right, #ffffff 30%, rgba(255, 255, 255, 0)),
    linear-gradient(to left, #ffffff 30%, rgba(255, 255, 255, 0)),
    radial-gradient(farthest-side at 0 50%, rgba(15, 23, 42, 0.16), rgba(34, 28, 20, 0)),
    radial-gradient(farthest-side at 100% 50%, rgba(15, 23, 42, 0.16), rgba(34, 28, 20, 0));
}

.mn-res-content .mn-bookish .mn-notes-body th,
.mn-res-content .mn-bookish .mn-notes-body td {
  border-color: #e2e8f0;
}

/* ---- the cover. Deep green cloth, gold-toned type, and it is the h1. ---- */

.mn-res-content .mn-bookcover {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 2.4rem 1.4rem;
  width: min(46rem, calc(100% - 16px));
  aspect-ratio: 1 / 1.414;
  margin-inline: auto;
  margin-bottom: 14px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5), 0 12px 36px rgba(0, 0, 0, 0.35);
  background-color: #101b38;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='linear' slope='0.10'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='260' height='260' filter='url(%23n)'/%3E%3C/svg%3E"),
    repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.016) 0 1px, transparent 1px 3px),
    repeating-linear-gradient(-45deg, rgba(255, 255, 255, 0.016) 0 1px, transparent 1px 3px),
    linear-gradient(165deg, #1a2c58 0%, #101b38 65%, #0b1329 100%);
  color: #dbe4f8;
}

@media (min-width: 768px) {
  .mn-res-content .mn-bookcover {
    width: min(46rem, calc(100% - 56px));
    margin-bottom: 22px;
  }
}

.mn-res-content .mn-bookcover-in {
  border: 1px solid rgba(147, 168, 216, 0.5);
  outline: 1px solid rgba(147, 168, 216, 0.22);
  outline-offset: 6px;
  padding: 2.6rem 1.2rem;
  max-width: 30rem;
  width: min(100%, 30rem);
  margin: 6px;
}

/* ⛔ the brand is written munotes.in, lowercase, everywhere (owner,
   2026-08-18); the spacing does the formal work uppercase was doing */
.mn-res-content .mn-bookcover-imprint {
  font-size: 0.72rem;
  letter-spacing: 0.34em;
  text-indent: 0.34em;
  color: #93a8d8;
  margin: 0;
}

.mn-res-content .mn-bookcover-title {
  font-family: var(--f-display);
  text-wrap: balance;
  font-size: clamp(1.55rem, 7.4vw, 2.1rem);
  font-weight: 700;
  line-height: 1.24;
  color: #f6f8ff;
  margin: 1.3rem 0;
}

.mn-res-content .mn-bookcover-course {
  font-size: 0.85rem;
  letter-spacing: 0.14em;
  color: #b6c4e6;
  line-height: 2.05;
  margin: 0;
}

.mn-res-content .mn-bookcover-meta {
  margin: 1.4rem 0 0;
  font-size: 0.78rem;
  letter-spacing: 0.06em;
  color: rgba(182, 196, 230, 0.78);
}

.mn-res-content .mn-bookcover-open {
  display: inline-block;
  margin-top: 2.2rem;
  font-size: 0.68rem;
  letter-spacing: 0.3em;
  text-indent: 0.3em;
  text-transform: uppercase;
  color: #93a8d8;
  text-decoration: none;
  border-bottom: 1px solid rgba(147, 168, 216, 0.55);
  padding-bottom: 0.3rem;
}

/* ---- contents ---- */

.mn-res-content .mn-book-contents {
  padding: 3rem 1.35rem 2.2rem;
}

/* ⛔⛔ width:100% IS LOAD-BEARING, NOT DECORATION. A sheet is a column flex
   container, and `margin-inline:auto` on a flex item cancels its stretch: the
   item falls back to shrink-to-fit. So each contents list sized itself to its
   own longest chapter title and the four Parts rendered 341, 544, 446 and 443
   pixels wide, which is exactly the inconsistency the owner saw. A definite
   width restores one measure for all of them. Any element inside a sheet that
   uses max-width + auto margins needs this. */
.mn-res-content .mn-book-contents .mn-book-part,
.mn-res-content .mn-book-contents .mn-book-toc,
.mn-res-content .mn-book-contents .mn-book-contents-head {
  width: 100%;
  max-width: 34rem;
  margin-inline: auto;
}

.mn-res-content .mn-book-contents .mn-book-part { margin-top: 1.9rem; margin-bottom: 1rem; }
.mn-res-content .mn-book-contents .mn-book-contents-head { margin-bottom: 2rem; }

.mn-res-content .mn-book-contents-head {
  text-align: center;
  letter-spacing: 0.3em;
  text-indent: 0.3em;
  text-transform: uppercase;
  font-size: 0.95rem;
  font-weight: 600;
  color: #1e293b;
  margin: 0 0 2rem;
}

.mn-res-content .mn-book-part {
  text-align: center;
  font-size: 0.68rem;
  letter-spacing: 0.26em;
  text-indent: 0.26em;
  text-transform: uppercase;
  color: #64748b;
  font-weight: 700;
  margin: 1.9rem 0 1rem;
}

.mn-res-content .mn-book-part-name {
  display: block;
  letter-spacing: 0.01em;
  text-indent: 0;
  text-transform: none;
  font-weight: 400;
  font-style: italic;
  font-size: 0.92rem;
  color: #475569;
  margin-top: 0.35rem;
}

.mn-res-content .mn-book-toc { list-style: none; margin: 0; padding: 0; }
.mn-res-content .mn-book-toc li { margin: 0; }

.mn-res-content .mn-book-toc a {
  display: flex;
  align-items: baseline;
  gap: 0.45rem;
  padding: 0.36rem 0;
  text-decoration: none;
  color: #1e293b;
  font-size: 0.97rem;
}

.mn-res-content .mn-book-toc a:hover .mn-book-toc-title,
.mn-res-content .mn-book-toc a:focus-visible .mn-book-toc-title { text-decoration: underline; }

.mn-res-content .mn-book-toc-title { flex: 0 1 auto; line-height: 1.45; }

/* dots align to the FIRST baseline: under flex-end they sat beneath the last
   line of a wrapped title while the folio stayed on the first, which read as a
   rendering fault (caught in the option-A round, kept here). */
.mn-res-content .mn-book-toc-dots {
  flex: 1 1 auto;
  min-width: 1.5rem;
  align-self: baseline;
  border-bottom: 1px dotted #94a3b8;
}

.mn-res-content .mn-book-toc-page {
  flex: 0 0 auto;
  font-variant-numeric: tabular-nums;
  font-size: 0.9rem;
  color: #475569;
  min-width: 2.2ch;
  text-align: right;
}

/* ---- part title pages ---- */

.mn-res-content .mn-book-partpage {
  text-align: center;
  justify-content: center;
  padding: 5.5rem 1.35rem;
}

.mn-res-content .mn-book-partpage-num {
  font-size: 0.7rem;
  letter-spacing: 0.32em;
  text-indent: 0.32em;
  text-transform: uppercase;
  color: #64748b;
  margin: 0 0 1rem;
}

.mn-res-content .mn-book-partpage-title {
  width: 100%;
  font-family: var(--f-display);
  font-size: clamp(1.15rem, 4vw, 1.45rem);
  font-weight: 600;
  color: #1e293b;
  margin: 0 0 1.2rem;
  text-wrap: balance;
}

/* ---- chapter openings ---- */

.mn-res-content .mn-book-chapter {
  content-visibility: auto;
}

.mn-res-content .mn-book-chapter-head {
  text-align: center;
  max-width: 34rem;
  margin-inline: auto;
  width: 100%;
  padding: 2rem 0 1.5rem;
}

.mn-res-content .mn-book-chapnum {
  font-size: 0.7rem;
  letter-spacing: 0.34em;
  text-indent: 0.34em;
  text-transform: uppercase;
  color: #64748b;
  margin: 0 0 1rem;
}

.mn-res-content .mn-book-chapter-title {
  font-family: var(--f-display);
  font-size: clamp(1.4rem, 5.4vw, 1.8rem);
  font-weight: 700;
  line-height: 1.22;
  color: #1e293b;
  margin: 0 0 0.8rem;
  text-wrap: balance;
}

.mn-res-content .mn-book-chapsyll {
  font-style: italic;
  font-size: 0.88rem;
  color: #475569;
  margin: 0 0 0.4rem;
}

.mn-res-content .mn-book-chappages {
  font-size: 0.74rem;
  letter-spacing: 0.14em;
  text-indent: 0.14em;
  text-transform: uppercase;
  color: #64748b;
  margin: 0 0 0.4rem;
  font-variant-numeric: tabular-nums;
}

.mn-res-content .mn-book-fleuron {
  color: #64748b;
  font-size: 0.95rem;
  margin: 0.9rem 0 0;
}



.mn-res-content .mn-book-chapter-foot {
  max-width: 34rem;
  margin: 2rem auto 0;
  width: 100%;
  text-align: center;
  font-size: 0.82rem;
  color: #64748b;
}

.mn-res-content .mn-book-chapter-foot a { color: #475569; }
.mn-res-content .mn-book-chapter-foot span { margin: 0 0.5rem; }

/* ---- reader furniture: running head, page chip, progress bar ----
   Hidden until the reader is past the cover, then quietly present. Fixed to
   the viewport; kept OUTSIDE every chapter because content-visibility would
   otherwise become their containing block. */

.mn-res-content .mn-bookui-head {
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 46rem;
  z-index: 40;
  text-align: center;
  font-size: 0.64rem;
  letter-spacing: 0.24em;
  text-indent: 0.24em;
  text-transform: uppercase;
  color: #64748b;
  /* ⚠️ OPAQUE. At 0.95 the page text smudged through the bar as it scrolled
     under it, which read as a rendering fault on a study page. */
  background: #ffffff;
  border-bottom: 1px solid #e2e8f0;
  padding: 0.6rem 2.4rem 0.5rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
}

.mn-res-content .mn-bookui-chip {
  position: fixed;
  bottom: 14px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 40;
  background: rgba(15, 23, 42, 0.86);
  color: #f6f8ff;
  font-size: 0.68rem;
  letter-spacing: 0.12em;
  padding: 0.34rem 0.9rem;
  border-radius: 2px;
  font-variant-numeric: tabular-nums;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
}

.mn-res-content .mn-bookui-progress {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  z-index: 40;
  background: rgba(203, 213, 225, 0.7);
  opacity: 0;
  transition: opacity 0.25s ease;
}

.mn-res-content .mn-bookui-progress i {
  display: block;
  height: 100%;
  width: 0;
  background: #1d4ed8;
}

.mn-res-content .mn-book.is-reading .mn-bookui-head,
.mn-res-content .mn-book.is-reading .mn-bookui-chip,
.mn-res-content .mn-book.is-reading .mn-bookui-progress {
  opacity: 1;
}

/* the in-progress notice, when it shows at all, sits on the paper */
.mn-res-content .mn-book .mn-notes-progress {
  max-width: 34rem;
  padding: 1.4rem 1.35rem 0;
}

/* anchors land clear of the pinned crumb bar */
.mn-res-content .mn-book-chapter,
.mn-res-content .mn-book-contents {
  scroll-margin-top: 3.4rem;
}

@media (min-width: 768px) {
  .mn-res-content .mn-bookish .panel-body { padding: 3.2rem 2.4rem 4rem; }
  .mn-res-content .mn-bookcover { min-height: calc(100svh - 6rem); }
  .mn-res-content .mn-book-contents { padding: 4rem 2rem 3rem; }
  .mn-res-content .mn-book-chapter { padding-top: 5rem; }
}

/* stacked-table furniture takes the paper's palette, not the site's slate */
.mn-res-content .mn-bookish .mn-notes-tablewrap:not([data-cols="2"]) td[data-label]::before {
  color: #64748b;
}
.mn-res-content .mn-bookish .mn-notes-tablewrap:not([data-cols="2"]) tr {
  border-color: #e2e8f0;
}


/* the chapter page's previous/next spine rides the same stack as a compact sheet */
.mn-res-content .mn-sheet-spine {
  min-height: 0;
  padding: 1.4rem 1.35rem;
}

/* chapter anchors: the first sheet is what a #slug jump should land on */
.mn-res-content .mn-book-chapter .mn-sheet { scroll-margin-top: 3.4rem; }


/* the brand mark on the cover, the same favicon the topnav wears */
.mn-res-content .mn-bookcover-logo {
  display: block;
  width: 52px;
  height: 52px;
  margin: 0 auto 1.2rem;
  border-radius: 12px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.4);
}

/* the cover's credibility lines: the syllabus it follows, and who it is for */
.mn-res-content .mn-bookcover-syllabus {
  margin: 1.6rem auto 0;
  max-width: 26rem;
  font-size: 0.8rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  line-height: 1.9;
  color: #b6c4e6;
}

.mn-res-content .mn-bookcover-for {
  margin: 0.9rem auto 0;
  max-width: 24rem;
  font-style: italic;
  font-size: 0.92rem;
  line-height: 1.7;
  color: rgba(219, 228, 248, 0.85);
}


/* the copyright page, the verso of the cover, set like a real book's imprint
   page: quiet, small, most of it near the foot */
.mn-res-content .mn-book-imprintpage {
  justify-content: flex-end;
  text-align: center;
  padding-bottom: 2.2rem;
}

.mn-res-content .mn-book-imprintpage p {
  width: 100%;
  max-width: 30rem;
  margin: 0 auto 0.85rem;
  font-size: 0.82rem;
  line-height: 1.65;
  color: #475569;
}

.mn-res-content .mn-book-imprintpage .mn-imprint-title {
  font-size: 0.95rem;
  color: #0f172a;
  font-weight: 600;
  margin-bottom: 1.4rem;
}

.mn-res-content .mn-book-imprintpage .mn-imprint-rights {
  color: #1e293b;
}

.mn-res-content .mn-book-imprintpage .mn-imprint-small {
  font-size: 0.74rem;
  color: #64748b;
}
