/* جهت متن و فرمول (چپ‌چین/راست‌چین). بعد از duo.css لود می‌شود تا قاعده‌های آن را بازنویسی کند. */

/* فرمول‌ها همیشه LTR و ایزوله‌اند؛ چینش متن فارسی دور آن‌ها به‌هم نمی‌ریزد.
   قبل از رندر KaTeX، متن TeX (با \( \) یا $$) جایگزین نمایش داده می‌شود. */
.duo-math, span.arithmatex {
  direction: ltr; unicode-bidi: isolate; display: inline-block; max-width: 100%;
  overflow-x: auto; overflow-y: hidden; vertical-align: middle; white-space: nowrap;
}
.duo-math[data-display="true"], div.arithmatex {
  display: block; text-align: center; margin: 1rem 0; padding: .25rem 0;
  overflow-x: auto; overflow-y: hidden; direction: ltr; unicode-bidi: isolate; white-space: nowrap;
}
.katex { direction: ltr; unicode-bidi: isolate; font-size: 1.1em; }
.katex-display { margin: 0; }

/* کد داخل متن: ایزوله، تا print() به صورت ()print دیده نشود */
.duo-prose code, code[dir] { unicode-bidi: isolate; }
bdi[dir="ltr"] { unicode-bidi: isolate; }

/* فرمول و کد داخل گزینه‌ها و چیپ‌ها هم‌رنگ متن بمانند */
[data-option] .katex, [data-chip] .katex, [data-match] .katex { color: inherit; }

/* پاراگراف‌ها و آیتم‌های درسنامه با dir خودشان تراز می‌شوند (dir از سمت سرور اضافه می‌شود) */
.duo-prose :is(p, li, h1, h2, h3, blockquote)[dir="ltr"] { text-align: left; }
.duo-prose :is(p, li, h1, h2, h3, blockquote)[dir="rtl"] { text-align: right; }
.duo-prose li[dir="ltr"] { padding-inline-start: 0; }
