/* 🆕 Update 15 — نمایشِ درستِ فرمول داخلِ متنِ فارسی (راست‌به‌چپ).
   مشکلِ «پیش‌نمایش شبیهِ فرمولِ واقعی نیست» بخشی از همین بود: خروجیِ KaTeX داخلِ متنِ RTL با
   الگوریتمِ Bidi جابه‌جا می‌شد (مثلاً «x^2 + 3» وارونه). فرمول همیشه LTR و ایزوله است. */
.fm-math .katex, .fm-formula .katex { direction: ltr; unicode-bidi: isolate; font-size: 1.12em; }
.fm-math .katex-display { direction: ltr; unicode-bidi: isolate; overflow-x: auto; overflow-y: hidden; padding: 4px 0; margin: .4em 0; }
.fm-math .katex-error { color: #b91c1c; font-family: monospace; font-size: .9em; }

/* ویرایشگرِ متن + فرمول */
.fte { position: relative; }
.fte textarea { width: 100%; }
.fte-bar { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin: 6px 0; }
.fte-add { display: inline-flex; align-items: center; gap: 6px; padding: 7px 14px; border-radius: 10px; border: 1px solid #c7d2fe;
           background: linear-gradient(135deg, #eef2ff, #f5f3ff); color: #3730a3; font-weight: 700; font-size: 12.5px; cursor: pointer; font-family: inherit; }
.fte-add:hover { background: #e0e7ff; }
.fte-add.chem { border-color: #a7f3d0; background: linear-gradient(135deg, #ecfdf5, #f0fdfa); color: #065f46; }
.fte-counter { margin-inline-start: auto; font-size: 11px; color: #6b7280; }
.fte-counter.warn { color: #b45309; font-weight: 700; }
.fte-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 6px 0; }
.fte-chip { display: inline-flex; align-items: center; gap: 8px; padding: 6px 8px 6px 10px; border: 1px solid #e5e7eb; border-radius: 12px; background: #fff;
            box-shadow: 0 1px 2px rgba(0,0,0,.04); max-width: 100%; }
.fte-chip-no { font-size: 11px; font-weight: 800; color: #4338ca; background: #eef2ff; border-radius: 8px; padding: 1px 7px; }
.fte-chip .fm-formula { direction: ltr; overflow-x: auto; max-width: 260px; }
.fte-chip button { border: none; background: transparent; cursor: pointer; color: #6b7280; padding: 2px 4px; border-radius: 6px; font-size: 15px; }
.fte-chip button:hover { background: #f3f4f6; color: #111827; }
.fte-preview { margin-top: 8px; padding: 10px 12px; border: 1px dashed #c7d2fe; border-radius: 12px; background: #fafaff; font-size: 14.5px; line-height: 2.1; }
.fte-preview-title { font-size: 11px; color: #6b7280; margin-bottom: 2px; display: flex; align-items: center; gap: 4px; }
.fte-hint { font-size: 11px; color: #6b7280; }
.fte-error { font-size: 11.5px; color: #b91c1c; margin-top: 4px; }

/* سازنده‌ی فرمول (مودال) */
.fc-tabs { display: flex; gap: 6px; background: #f3f4f6; padding: 4px; border-radius: 12px; margin-bottom: 12px; }
.fc-tab { flex: 1; border: none; background: transparent; padding: 8px; border-radius: 9px; font-weight: 700; font-size: 12.5px; cursor: pointer; font-family: inherit; color: #4b5563; }
.fc-tab.active { background: #fff; color: #3730a3; box-shadow: 0 1px 3px rgba(0,0,0,.1); }
.fc-group-title { font-size: 11px; color: #6b7280; margin: 10px 0 4px; }
.fc-keys { display: flex; flex-wrap: wrap; gap: 6px; }
.fc-key { min-width: 44px; height: 40px; padding: 0 10px; border-radius: 10px; border: 1px solid #e5e7eb; background: #fff; cursor: pointer;
          display: inline-flex; align-items: center; justify-content: center; direction: ltr; font-size: 14px; transition: background .12s, transform .08s; }
.fc-key:hover { background: #eef2ff; border-color: #c7d2fe; }
.fc-key:active { transform: scale(.96); }
.fc-key .katex { font-size: 1em; }
.fc-mathhost { min-height: 60px; }
.fc-chem-input { width: 100%; direction: ltr; text-align: left; font-family: "Consolas", "Courier New", monospace; font-size: 17px; padding: 12px 14px;
                 border: 1.5px solid #a7f3d0; border-radius: 12px; outline: none; }
.fc-chem-input:focus { border-color: #10b981; box-shadow: 0 0 0 3px rgba(16,185,129,.15); }
.fc-preview { margin-top: 12px; min-height: 56px; padding: 12px; border-radius: 12px; background: #f8fafc; border: 1px solid #e2e8f0; text-align: center; overflow-x: auto; font-size: 1.25em; direction: ltr; }
.fc-preview-empty { color: #9ca3af; font-size: .7em; direction: rtl; }
.fc-error { color: #b91c1c; font-size: 12px; margin-top: 6px; }

/* 🆕 (Update 18) مودالِ فرمول حالا همان tm-modal (z-index: 10000) است؛ صفحه‌کلیدِ مجازیِ MathLive باید رویِ آن باشد. */
body { --keyboard-zindex: 10050; }
.tm-modal-body .fc-mathhost math-field { direction: ltr; }

/* 🆕 (Update 31 — استانداردِ رندرِ فرمول) فرمول‌هایِ درون‌خطیِ بلند از عرض بیرون نزنند (اسکرولِ افقیِ کنترل‌شده در موبایل)،
   جهتِ LTRِ ایزوله تا منفی/پرانتز/نامساوی در متنِ RTL جابه‌جا نشوند، توان/کسر با فاصله‌ی عمودیِ کافی. */
.fm-math { overflow-wrap: anywhere; }
.fm-math .katex { max-width: 100%; display: inline-block; vertical-align: middle; overflow-x: auto; overflow-y: hidden; padding: 2px 1px; -webkit-overflow-scrolling: touch; scrollbar-width: thin; }
.fm-math .katex-display > .katex { display: block; max-width: none; }
.fm-math .katex-display { max-width: 100%; }
.fm-math .katex .mfrac, .fm-math .katex .msupsub { line-height: 1.2; }
