/* JolfaIT bilingual magazine reader. Scoped to long-form FiveM articles.
   Visual inspiration: clean technology newsrooms; original Jolfa palette.
   The existing Vazirmatn font is loaded by base.html (not bundled here). */
.jolfa-fivem--editorial {
  --ed-accent:var(--primary,#7946af);
  --ed-surface:var(--surface,#fff);
  --ed-ink:var(--text,#1a2032);
  --ed-muted:var(--muted,#6e7483);
  --ed-divider:var(--border,#e6e8ee);
  --ed-page:var(--bg,#fafafa);
  background:transparent!important;color:var(--ed-ink)!important;
  overflow-x:clip;line-height:1.95;
  font-size:16px;letter-spacing:0;
}
html[lang="fa"] .jolfa-fivem--editorial,
html[lang="fa"] .jolfa-fivem--editorial :where(p,li,span,div,h1,h2,h3,h4,strong,small,blockquote,a,figcaption,td,th,button,summary) {
  font-family:'Vazirmatn',Tahoma,Arial,sans-serif!important;
  font-feature-settings:'ss01' 1;
}
html[lang="fa"] .jolfa-fivem--editorial :where(code,pre,kbd,samp),
html[lang="fa"] .jolfa-fivem--editorial :where(code,pre,kbd,samp) *{
  font-family:'Cascadia Code',Consolas,'Courier New',monospace!important;
  font-feature-settings:normal!important;
}
html[lang="en"] .jolfa-fivem--editorial {font-family:'Inter','Segoe UI',Arial,sans-serif;line-height:1.82;}
.jolfa-fivem--editorial .container{max-width:1210px;padding-inline:clamp(18px,4vw,48px)}
.jolfa-fivem--editorial .editorial-head{padding:0 0 17px;color:var(--ed-ink);background:transparent}
.jolfa-fivem--editorial .editorial-head>.container{padding-top:36px}
.jolfa-fivem--editorial .editorial-breadcrumb{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:31px;color:var(--ed-muted);font-size:12px;font-weight:650}
.jolfa-fivem--editorial .editorial-breadcrumb a{color:var(--ed-muted);text-decoration:none}
.jolfa-fivem--editorial .editorial-breadcrumb a:hover{color:var(--ed-accent)}
.jolfa-fivem--editorial .editorial-breadcrumb i{font-size:9px;opacity:.55}
html[lang="en"] .jolfa-fivem--editorial .editorial-breadcrumb i{transform:rotate(180deg)}
.jolfa-fivem--editorial .editorial-breadcrumb span{color:var(--ed-accent);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:340px}
.jolfa-fivem--editorial .editorial-topic{display:inline-flex;align-items:center;gap:7px;color:var(--ed-accent);font-size:12px;font-weight:950;letter-spacing:.025em;margin-bottom:12px}
.jolfa-fivem--editorial .editorial-topic i{font-size:13px}
.jolfa-fivem--editorial .editorial-head h1{max-width:1000px;font-size:clamp(30px,4.6vw,53px);line-height:1.42;letter-spacing:-.035em;color:var(--ed-ink);margin:0 0 15px;font-weight:950}
html[lang="en"] .jolfa-fivem--editorial .editorial-head h1{line-height:1.19;font-weight:800;letter-spacing:-.035em}
.jolfa-fivem--editorial .editorial-deck{max-width:850px;font-size:clamp(15px,1.75vw,19px);color:var(--ed-muted);line-height:2.05;margin:0 0 22px}
html[lang="en"] .jolfa-fivem--editorial .editorial-deck{line-height:1.65}
.jolfa-fivem--editorial .editorial-byline{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;margin:14px 0 23px;font-size:13px;color:var(--ed-muted)}
.jolfa-fivem--editorial .editorial-avatar,.jolfa-fivem--editorial .editorial-author-box__avatar{display:flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:50%;background:linear-gradient(135deg,#6e39a3,#a86ad7);color:#fff}
.jolfa-fivem--editorial .editorial-avatar{width:44px;height:44px;font-size:17px}
.jolfa-fivem--editorial .editorial-byline__author{display:flex;flex-direction:column;gap:2px}
.jolfa-fivem--editorial .editorial-byline__author small{font-size:10px;color:var(--ed-muted);line-height:1.35}
.jolfa-fivem--editorial .editorial-byline__author strong{font-size:13px;color:var(--ed-ink);line-height:1.5}
.jolfa-fivem--editorial .editorial-byline__divider{height:26px;width:1px;background:var(--ed-divider);margin-inline:3px}
.jolfa-fivem--editorial .editorial-byline__detail{display:inline-flex;gap:7px;align-items:center;line-height:1.5}
.jolfa-fivem--editorial .editorial-byline__detail i{color:var(--ed-accent)}
.jolfa-fivem--editorial .editorial-quick-actions{display:flex;gap:6px;margin-inline-start:auto}
.jolfa-fivem--editorial .editorial-quick-actions button{width:37px;height:37px;border-radius:12px;border:1px solid var(--ed-divider);background:var(--ed-surface);color:var(--ed-accent);cursor:pointer;transition:background .2s,transform .2s}
.jolfa-fivem--editorial .editorial-quick-actions button:hover{background:var(--surface-soft);transform:translateY(-2px)}
.jolfa-fivem--editorial .editorial-copy-feedback{color:var(--ed-accent);font-size:11px}
.jolfa-fivem--editorial .editorial-cover{width:100%;aspect-ratio:19/8;position:relative;overflow:hidden;margin:0;border-radius:19px;border:1px solid var(--ed-divider);background:var(--surface-soft)}
.jolfa-fivem--editorial .editorial-cover img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.jolfa-fivem--editorial .editorial-cover figcaption{position:absolute;bottom:0;inset-inline:0;color:#fff!important;font-size:12px;font-weight:650;text-shadow:0 1px 5px rgba(0,0,0,.35);padding:31px 21px 12px;background:linear-gradient(0deg,rgba(6,5,16,.66),transparent)}
.jolfa-fivem--editorial .editorial-tags{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:17px 0 1px}
.jolfa-fivem--editorial .editorial-tag{border-radius:7px;background:var(--surface-soft);color:var(--ed-muted);padding:3px 10px;font-size:11px;font-weight:700;border:1px solid var(--ed-divider)}
.jolfa-fivem--editorial .editorial-tag:before{content:'#';color:var(--ed-accent);margin-inline-end:3px}
.jolfa-fivem--editorial .editorial-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:9px}
.jolfa-fivem--editorial .editorial-metrics .metric{border:1px solid var(--ed-divider);background:var(--ed-surface);padding:13px 18px;border-radius:13px;box-shadow:none}
.jolfa-fivem--editorial .editorial-metrics .metric b{color:var(--ed-accent);font-size:20px}
.jolfa-fivem--editorial .editorial-metrics .metric span{color:var(--ed-muted);font-size:12px}
/* Most leading technical magazines use a narrow reading column and a sticky contents rail. */
.jolfa-fivem--editorial .editorial-reader.layout{display:grid;grid-template-columns:minmax(0,1fr) 258px;align-items:start;gap:clamp(24px,4vw,56px);margin-top:29px;margin-bottom:40px}
.jolfa-fivem--editorial .prose{width:100%;max-width:780px;min-width:0;overflow:visible}
.jolfa-fivem--editorial .prose>.panel{margin:0 0 22px;padding:12px 0 29px;border:0;border-bottom:1px solid var(--ed-divider);background:transparent;box-shadow:none;border-radius:0;scroll-margin-top:125px;overflow-wrap:normal}
.jolfa-fivem--editorial .prose>.panel h2{font-size:clamp(22px,2.6vw,29px);display:block;margin:12px 0 17px;line-height:1.65;padding-inline-start:16px;position:relative;color:var(--ed-ink)}
.jolfa-fivem--editorial .prose>.panel h2:before{width:4px;height:calc(100% - .8em);min-height:22px;inset-inline-start:0;top:.42em;position:absolute;display:block;background:linear-gradient(var(--ed-accent),#b787e7);border-radius:10px;content:""}
.jolfa-fivem--editorial .prose>.panel h3{font-size:clamp(17px,2vw,21px);line-height:1.65;color:var(--ed-ink);margin:25px 0 12px}
.jolfa-fivem--editorial .prose .panel p,.jolfa-fivem--editorial .prose .panel li{font-size:clamp(15px,1.5vw,16.6px);color:var(--ed-ink);line-height:2.13;overflow-wrap:break-word}
html[lang="en"] .jolfa-fivem--editorial .prose .panel p,html[lang="en"] .jolfa-fivem--editorial .prose .panel li{line-height:1.88}
.jolfa-fivem--editorial .prose .panel p{margin-block:0 18px}
.jolfa-fivem--editorial .prose .panel ul,.jolfa-fivem--editorial .prose .panel ol{padding-inline-start:27px}
.jolfa-fivem--editorial .prose .panel .sublead{font-size:clamp(16px,1.8vw,19px);font-weight:560;color:var(--ed-ink)!important}
.jolfa-fivem--editorial .toc{position:sticky;top:calc(var(--header-height,80px) + 22px);border:1px solid var(--ed-divider);border-radius:17px;background:var(--ed-surface);box-shadow:none;padding:17px 13px;max-height:calc(100vh - var(--header-height,80px) - 36px);overflow:auto}
.jolfa-fivem--editorial .editorial-toc-label{display:flex;align-items:center;gap:7px;border-bottom:1px solid var(--ed-divider);padding:1px 6px 10px;margin:0 0 8px}
.jolfa-fivem--editorial .editorial-toc-label i{font-size:13px;color:var(--ed-accent)}
.jolfa-fivem--editorial .editorial-toc-label h2{font-size:14px;font-weight:850;color:var(--ed-ink);margin:0}
.jolfa-fivem--editorial .toc ul{display:flex;flex-direction:column;flex-wrap:nowrap;gap:0;padding:0;margin:0}
.jolfa-fivem--editorial .toc a[data-toc-link]{font-size:12px;line-height:1.85;padding:9px 12px;white-space:normal;overflow-wrap:break-word;border-radius:8px;border-inline-start:3px solid transparent;color:var(--ed-muted)}
.jolfa-fivem--editorial .toc a[data-toc-link].active,.jolfa-fivem--editorial .toc a[data-toc-link]:hover{background:var(--surface-soft);color:var(--ed-accent);border-inline-start-color:var(--ed-accent)}
.jolfa-fivem--editorial .editorial-toc-return{display:flex;align-items:center;gap:8px;color:var(--ed-accent);font-size:12px;font-weight:750;padding:11px 10px 1px;border-top:1px solid var(--ed-divider);margin-top:11px}
.jolfa-fivem--editorial .editorial-mobile-toc{display:none}
.jolfa-fivem--editorial .prose .mini,.jolfa-fivem--editorial .prose .step,.jolfa-fivem--editorial .prose .sources a{background:var(--ed-surface);border-color:var(--ed-divider)}
.jolfa-fivem--editorial .prose .note,.jolfa-fivem--editorial .prose .warning,.jolfa-fivem--editorial .prose .neutral{border-radius:12px;font-size:14px;line-height:1.95}
.jolfa-fivem--editorial .prose .scroller{border-radius:12px;box-shadow:none}
.jolfa-fivem--editorial .prose .scroller th,.jolfa-fivem--editorial .prose .scroller td{text-align:start}
.jolfa-fivem--editorial .prose .codecard{border-radius:13px}
.jolfa-fivem--editorial .prose .codecard pre{scrollbar-width:thin}
.jolfa-fivem--editorial .prose .timeline{padding-inline-start:27px;padding-inline-end:0}
.jolfa-fivem--editorial .prose .timeline:before{inset-inline-start:6px;inset-inline-end:auto}
.jolfa-fivem--editorial .prose .timeitem:before{inset-inline-start:-26px;inset-inline-end:auto}
.jolfa-fivem--editorial .prose .timeitem .year{color:var(--ed-accent)}
.jolfa-fivem--editorial .prose .diagram{background:var(--ed-surface);border-color:var(--ed-divider)}
.jolfa-fivem--editorial .rich-article-banner{display:flex;align-items:flex-start;gap:9px;color:var(--ed-muted);background:var(--surface-soft);border:1px solid var(--ed-divider);font-size:13px;padding:16px}
.jolfa-fivem--editorial .rich-article-banner i{color:var(--ed-accent);margin-top:7px}
.jolfa-fivem--editorial .editorial-author-box{display:flex;align-items:flex-start;gap:15px;margin-top:38px;padding:23px;border:1px solid var(--ed-divider);border-radius:17px;background:var(--ed-surface)}
.jolfa-fivem--editorial .editorial-author-box__avatar{height:62px;width:62px;font-size:22px}
.jolfa-fivem--editorial .editorial-author-box small{color:var(--ed-muted);font-size:10px;letter-spacing:.03em;font-weight:800}
.jolfa-fivem--editorial .editorial-author-box h2{color:var(--ed-ink);font-size:17px;margin:3px 0 5px}
.jolfa-fivem--editorial .editorial-author-box p{font-size:13px;line-height:1.8;color:var(--ed-muted);margin:0}
.jolfa-fivem--editorial .rich-share{border-top:1px solid var(--ed-divider);padding-block:16px 26px;margin:8px auto 20px;max-width:1210px;color:var(--ed-muted);font-size:12px}
.jolfa-fivem--editorial .rich-share a{color:var(--ed-accent)}
.jolfa-fivem--editorial .prose :where(.panel p,.panel li) a{overflow-wrap:anywhere}
@media (max-width:970px){
  .jolfa-fivem--editorial .editorial-reader.layout{grid-template-columns:minmax(0,1fr) 210px;gap:20px}
  .jolfa-fivem--editorial .toc{padding:14px 9px}
  .jolfa-fivem--editorial .prose{max-width:100%}
}
@media (max-width:780px){
  .jolfa-fivem--editorial .editorial-reader.layout{display:flex;flex-direction:column;gap:0}
  .jolfa-fivem--editorial .editorial-reader .toc{display:none}
  .jolfa-fivem--editorial .editorial-mobile-toc{display:block;width:100%;margin:2px 0 27px;background:var(--ed-surface);border:1px solid var(--ed-divider);border-radius:13px}
  .jolfa-fivem--editorial .editorial-mobile-toc summary{display:flex;align-items:center;gap:10px;padding:13px 16px;cursor:pointer;font-size:13px;font-weight:800;list-style:none}
  .jolfa-fivem--editorial .editorial-mobile-toc summary::-webkit-details-marker{display:none}
  .jolfa-fivem--editorial .editorial-mobile-toc summary i:first-child{color:var(--ed-accent)}
  .jolfa-fivem--editorial .editorial-mobile-toc summary i:last-child{margin-inline-start:auto;color:var(--ed-muted)}
  .jolfa-fivem--editorial .editorial-mobile-toc__links{display:grid;gap:3px;padding:0 10px 12px;max-height:270px;overflow:auto}
  .jolfa-fivem--editorial .editorial-mobile-toc__links a{display:block;color:var(--ed-muted);border-radius:7px;padding:8px 10px;font-size:12px;background:var(--surface-soft)}
  .jolfa-fivem--editorial .editorial-mobile-toc__links a:hover{color:var(--ed-accent)}
  .jolfa-fivem--editorial .editorial-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
  .jolfa-fivem--editorial .editorial-cover{aspect-ratio:16/9}
}
@media (max-width:580px){
  .jolfa-fivem--editorial .editorial-head>.container{padding-top:17px}
  .jolfa-fivem--editorial .editorial-breadcrumb{font-size:11px;margin-bottom:20px;gap:6px}
  .jolfa-fivem--editorial .editorial-breadcrumb span{max-width:110px}
  .jolfa-fivem--editorial .editorial-topic{font-size:10px;margin-bottom:8px}
  .jolfa-fivem--editorial .editorial-head h1{font-size:clamp(26px,7.9vw,33px);line-height:1.5}
  .jolfa-fivem--editorial .editorial-deck{font-size:14px;line-height:1.95;margin-bottom:14px}
  .jolfa-fivem--editorial .editorial-byline{font-size:11.5px;gap:8px 11px}
  .jolfa-fivem--editorial .editorial-byline__divider{display:none}
  .jolfa-fivem--editorial .editorial-byline__detail{font-size:11px}
  .jolfa-fivem--editorial .editorial-quick-actions{margin-inline-start:0}
  .jolfa-fivem--editorial .editorial-cover{aspect-ratio:16/10;border-radius:14px}
  .jolfa-fivem--editorial .editorial-cover figcaption{font-size:10px}
  .jolfa-fivem--editorial .editorial-metrics{grid-template-columns:1fr;gap:7px;margin-top:4px}
  .jolfa-fivem--editorial .editorial-metrics .metric{padding:9px 14px;display:flex;align-items:center;gap:12px}
  .jolfa-fivem--editorial .editorial-metrics .metric b{min-width:78px;font-size:16px}
  .jolfa-fivem--editorial .editorial-metrics .metric span{font-size:11px}
  .jolfa-fivem--editorial .editorial-reader.layout{margin-top:18px}
  .jolfa-fivem--editorial .prose>.panel{padding-top:6px;padding-bottom:19px;margin-bottom:13px}
  .jolfa-fivem--editorial .prose>.panel h2{font-size:21px;line-height:1.63;margin-bottom:15px}
  .jolfa-fivem--editorial .prose>.panel h3{font-size:17px}
  .jolfa-fivem--editorial .prose .panel p,.jolfa-fivem--editorial .prose .panel li{font-size:15px;line-height:2.12}
  .jolfa-fivem--editorial .prose .grid2,.jolfa-fivem--editorial .prose .grid3,.jolfa-fivem--editorial .prose .sources{grid-template-columns:minmax(0,1fr)}
  .jolfa-fivem--editorial .prose .codecard pre{font-size:12px!important}
  .jolfa-fivem--editorial .editorial-author-box{padding:17px;gap:12px}
  .jolfa-fivem--editorial .editorial-author-box__avatar{height:47px;width:47px;font-size:19px}
  .jolfa-fivem--editorial .rich-share{gap:5px}
}
@media (prefers-reduced-motion:reduce){.jolfa-fivem--editorial *{scroll-behavior:auto!important;transition:none!important}}
@media print{.jolfa-fivem--editorial .editorial-quick-actions,.jolfa-fivem--editorial .editorial-reader .toc,.jolfa-fivem--editorial .editorial-mobile-toc{display:none!important}.jolfa-fivem--editorial .editorial-reader.layout{display:block}.jolfa-fivem--editorial .prose{max-width:none}}
/* Preserve the full editorial SVG art on narrow phones instead of cropping its title. */
.jolfa-fivem--editorial .editorial-cover{background:#1b163c}
.jolfa-fivem--editorial .editorial-cover img[src$=".svg"]{object-fit:contain;object-position:center}

/* V6: compact table of contents and corrected RTL timeline. Header-anchored blue progress is in articles.css. */
.jolfa-fivem--editorial .editorial-reader.layout {
  display:block!important;
  width:100%;max-width:1210px;
  margin-block:20px 52px;
}
.jolfa-fivem--editorial .editorial-reader .prose{
  width:100%;max-width:850px;margin-inline:auto;
}
.jolfa-fivem--editorial .editorial-compact-toc {
  display:block;
  width:100%;margin:0 0 27px;
  overflow:hidden;
  background:var(--ed-surface);
  border:1px solid var(--ed-divider);
  border-radius:13px;
  box-shadow:0 5px 16px rgba(16,35,65,.04);
}
.jolfa-fivem--editorial .editorial-compact-toc summary {
  display:flex;align-items:center;gap:11px;
  padding:13px 17px;min-height:52px;
  cursor:pointer;list-style:none;
  font-size:13.5px;font-weight:800;color:var(--ed-ink);
  user-select:none;
}
.jolfa-fivem--editorial .editorial-compact-toc summary::-webkit-details-marker{display:none}
.jolfa-fivem--editorial .editorial-compact-toc__title{display:inline-flex;align-items:center;gap:9px}
.jolfa-fivem--editorial .editorial-compact-toc__title i{color:#1488f0;font-size:15px}
.jolfa-fivem--editorial .editorial-compact-toc__count{font-size:11px;font-weight:700;color:var(--ed-muted);margin-inline-start:auto}
.jolfa-fivem--editorial .editorial-compact-toc__chevron{font-size:11px;color:var(--ed-muted);transition:transform .2s}
.jolfa-fivem--editorial .editorial-compact-toc[open] .editorial-compact-toc__chevron{transform:rotate(180deg)}
.jolfa-fivem--editorial .editorial-compact-toc__links{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:5px 9px;padding:10px 14px 15px;
  border-top:1px solid var(--ed-divider);
  max-height:min(54vh,420px);overflow-y:auto;
  overscroll-behavior:contain;
}
.jolfa-fivem--editorial .editorial-compact-toc__links a{
  display:block;min-width:0;
  font-size:12.3px;line-height:1.85;font-weight:600;
  padding:8px 11px;border-radius:8px;
  color:var(--ed-muted);background:var(--surface-soft);
  overflow-wrap:break-word;text-decoration:none;
}
.jolfa-fivem--editorial .editorial-compact-toc__links a:is(:hover,:focus-visible,.active){
  color:var(--ed-ink);background:color-mix(in srgb,#1488f0 12%,var(--ed-surface));
}
/* Timeline year ranges remain together and flush with the article text, never displaced by LTR isolation. */
.jolfa-fivem--editorial .prose .timeline{direction:inherit;text-align:start;}
.jolfa-fivem--editorial .prose .timeitem{text-align:start;min-width:0;}
.jolfa-fivem--editorial .prose .timeitem .year{
  display:block;width:max-content;max-width:100%;margin:0 0 5px;
  direction:rtl;unicode-bidi:plaintext;
  white-space:nowrap;text-align:start;
  line-height:1.85;font-variant-numeric:normal;
}
html[lang="en"] .jolfa-fivem--editorial .prose .timeitem .year{direction:ltr;}
.jolfa-fivem--editorial .prose .timeitem:before{top:11px;}
.jolfa-fivem--editorial .prose>.panel{scroll-margin-top:110px}
@media(max-width:680px){
  .jolfa-fivem--editorial .editorial-reader.layout{margin-top:17px;margin-bottom:38px}
  .jolfa-fivem--editorial .editorial-compact-toc{margin-bottom:19px}
  .jolfa-fivem--editorial .editorial-compact-toc summary{min-height:48px;padding:11px 13px;font-size:13px}
  .jolfa-fivem--editorial .editorial-compact-toc__links{grid-template-columns:1fr;max-height:46vh}
  .jolfa-fivem--editorial .editorial-compact-toc__links a{font-size:12px}
}
@media print{.article-reading-progress,.jolfa-fivem--editorial .editorial-compact-toc{display:none!important}}

/* Keep the final author card and optional related stories close to the footer. */
body.jolfa-article-detail-page .jolfa-fivem--editorial .editorial-reader.layout {
  margin-bottom:12px!important;
}
