/* site.css — ظاهرِ سایتِ لِکسا.
 *
 * دو قاعدهٔ حاکم:
 *
 * ۱) **موبایل اول.** گوگل با نسخهٔ موبایل رتبه می‌دهد
 *    (mobile-first indexing)، پس چیدمانِ پایه موبایل است و دسکتاپ
 *    با media query اضافه می‌شود — نه برعکس.
 *
 * ۲) **فونتِ سیستمی، بدونِ دانلود.** فونتِ فارسیِ وب معمولاً چند صد
 *    کیلوبایت است و تا لود نشود متن دیده نمی‌شود. سرعت یکی از
 *    عامل‌های رتبهٔ گوگل است، و کاربرِ ایرانی هم اینترنتِ همیشه‌سریع
 *    ندارد.
 *
 * پالت از برندِ لِکسا: سرمه‌ای · فیروزه‌ای · نیلی · بنفش · کهربایی
 */

/* ───────── پالت ─────────
 *
 * ⛔ حامد: «رنگِ زمینه را کمی روشن‌تر کن، شاید کرمِ تیره بهتر باشد.»
 *
 * از سرمه‌ایِ تیره به **کرمِ گرم** رفتیم. و این فقط سلیقه نیست —
 * برای این محصول درست‌تر هم هست: کاربر قرار است متنِ حقوقیِ **بلند**
 * بخواند (بعضی قوانین ۱٬۳۰۰ ماده دارند). متنِ تیره روی زمینهٔ روشن
 * برای خواندنِ طولانی کم‌خسته‌کننده‌تر است، و کرم به‌جای سفیدِ خالص
 * تضادِ تندِ کاغذِ نورانی را می‌گیرد.
 *
 * رنگ‌های برند (فیروزه‌ای، نیلی، بنفش، کهربایی) **حفظ شدند** ولی
 * تیره‌ترشان کردیم: رنگی که روی سرمه‌ای می‌درخشید، روی کرم محو
 * می‌شود و کنتراستش برای خواندن کافی نیست.
 */
:root {
  --bg:    #EFE7D6;   /* کرمِ پایه */
  --bg2:   #E6DCC6;   /* کرمِ تیره‌تر — سربرگ و نوارها */
  --card:  #F7F1E4;   /* کاغذِ روشن — کارت و متن */
  --line:  #D6C9AC;   /* خطوط */
  --teal:  #0E7C8B;
  --indigo:#4A4FBF;
  --violet:#8B4FBF;
  --amber: #A96A05;
  --hi:    #241F16;   /* متنِ اصلی */
  --lo:    #6E6350;   /* متنِ کم‌رنگ */
  --radius: 14px;
}

* { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  background: var(--bg);
  color: var(--hi);
  font-family: Vazirmatn, "Segoe UI", Tahoma, system-ui, sans-serif;
  line-height: 1.9;
  font-size: 16px;
  /* ⛔ «در کلِ سایت نوشته‌ها یه حالتِ bold یا ضخیم‌تر از اینی که
     الان هست باشند.»

     ⚠ عدد ۵۰۰ انتخاب شد نه ۷۰۰: فونتِ فارسی در وزنِ ۷۰۰ روی متنِ
     بلندِ حقوقی چشم را خسته می‌کند و «تیتر» به‌نظر می‌رسد نه متن.
     ۵۰۰ محسوس ضخیم‌تر است ولی هنوز متنِ خواندنی می‌ماند.
     ⚠ و چون Vazirmatn وزنِ متغیر دارد، ۵۰۰ واقعاً رندر می‌شود؛
     اگر فونت فقط ۴۰۰ و ۷۰۰ داشت، مرورگر به ۴۰۰ گرد می‌کرد و
     هیچ تغییری دیده نمی‌شد. */
  font-weight: 500;
  -webkit-font-smoothing: antialiased;
}
/* عنوان‌ها یک پله بالاتر تا سلسله‌مراتبِ بصری حفظ شود */
h1, h2, h3, h4, b, strong, .colhead, .find button { font-weight: 700; }
.item, .reltitle, .tag { font-weight: 500; }

a { color: var(--teal); text-decoration: none; }
a:hover { text-decoration: underline; }

/* ───────── سربرگ ───────── */
/* ⚠ `padding` از ۱۴ به ۸ آمد: سربرگ هر پیکسلی که می‌گیرد، مستقیم
 * از بالای ستونِ اول کم می‌شود (چون ستون `sticky` است). */
.top {
  display: flex; flex-wrap: wrap; gap: 12px; align-items: center;
  padding: 8px 16px;
  background: linear-gradient(180deg, var(--bg2), var(--bg));
  border-bottom: 1px solid var(--line);
}
.brand { display: flex; gap: 12px; align-items: center; color: var(--hi); }
.brand:hover { text-decoration: none; }

/* ───────── نشانِ «در دستِ ساخت» + نوارهای پیشرفت ─────────
 * ⚠ کهربایی عمدی است: رنگِ هشدار، ولی نه قرمز. قرمز یعنی «خراب
 * است»؛ کهربایی یعنی «در حالِ ساخت» — و پیامِ درست همین دومی است. */
/* ⛔ نشانِ ۴۴ پیکسلیِ کنارِ نوارها حذف شد (۱۴۰۵/۰۶/۲۸). حالا
 * «در دستِ ساخت» سطرِ اولِ همان ستونِ نوارهاست. */
.ucline {
  display: flex; align-items: center; gap: 5px;
  color: var(--amber); white-space: nowrap; line-height: 1;
}
.ucline b { font-size: 12.5px; font-weight: 800; letter-spacing: .2px; }
.ucline svg { width: 15px; height: 15px; }

.prog { display: flex; flex-direction: column; gap: 4px; min-width: 196px; }
.prow { display: flex; align-items: center; gap: 7px; font-size: 12.5px; }
.plabel { flex: 0 0 54px; color: var(--lo); }
.pbar {
  flex: 1; height: 8px; border-radius: 999px;
  background: rgba(255, 255, 255, .10); overflow: hidden;
}
.pbar i { display: block; height: 100%; background: var(--amber); }
/* جستجو تقریباً تمام است ⇒ رنگِ «سالم» نه «هشدار» */
.prow.ok .pbar i { background: var(--teal); }
.pnum { flex: 0 0 34px; color: var(--lo); font-variant-numeric: tabular-nums; }

/* ═════════ حساب، نشانِ «قوانینِ من»، کامنت، فلشِ برگشت ═════════
 * ⭐ خواسته‌های حامد — ثبت‌نام/ورود، بوک‌مارک، کامنت، برگشت.
 */
.authbox { display: flex; align-items: center; gap: 7px; }
.ubtn {
  padding: 7px 14px; border-radius: 999px; cursor: pointer;
  border: 1px solid var(--line); background: var(--teal);
  color: #06202a; font-family: inherit; font-size: 13px;
  font-weight: 700; text-decoration: none; display: inline-block;
}
.ubtn.ghost { background: transparent; color: var(--hi); }
.ubtn:hover { filter: brightness(1.1); text-decoration: none; }
.uname { font-size: 12.5px; color: var(--lo); }

/* پنجرهٔ ورود */
#authmodal {
  position: fixed; inset: 0; display: none; z-index: 90;
  background: rgba(4, 8, 20, .72); backdrop-filter: blur(3px);
}
#authmodal.on { display: grid; place-items: center; }
.amodal-in {
  background: var(--card); border: 1px solid var(--line);
  border-radius: 16px; padding: 26px; width: min(400px, 92vw);
}
.amodal-in h3 { margin: 0 0 6px; color: var(--teal); }
.amodal-in input {
  width: 100%; margin-top: 10px; padding: 11px 13px;
  border-radius: 10px; border: 1px solid var(--line);
  background: var(--bg); color: var(--hi); font-family: inherit;
  font-size: 14px;
}
.arow { display: flex; align-items: center; gap: 9px; margin-top: 15px; }
.alink { font-size: 12.5px; color: var(--lo); margin-inline-start: auto; }
.aerr { color: #ef4444; font-size: 12.5px; min-height: 17px;
        margin-top: 8px; }

/* نشانِ ★ کنارِ هر قانون
 * ⚠ برای مهمان هم دیده می‌شود — اگر پنهان بود، هرگز نمی‌فهمید
 * چنین قابلیتی هست. کم‌رنگ است تا مزاحمِ خواندن نشود. */
.mark {
  cursor: pointer; color: #3b4864; font-size: 17px;
  padding: 0 5px; user-select: none; line-height: 1;
  transition: color .15s ease, transform .15s ease;
}
.mark:hover { color: var(--amber); transform: scale(1.18); }
.mark.on { color: var(--amber); }

.mylist { list-style: none; padding: 0; margin: 14px 0; }
.myitem {
  display: flex; align-items: center; gap: 9px; padding: 11px 0;
  border-bottom: 1px solid var(--line);
}
.mkind { font-size: 11px; color: var(--lo); }

/* فلشِ برگشت
 * ⚠ چسبان (`sticky`) است چون روی صفحهٔ قانونی با ۱٬۳۳۹ ماده،
 * دکمهٔ بالای صفحه یعنی کاربر باید تا بالا اسکرول کند. */
.backbar {
  position: sticky; top: 0; z-index: 20; padding: 9px 0;
  background: linear-gradient(var(--bg) 72%, transparent);
}
.backlink {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 7px 15px; border-radius: 999px; font-size: 13px;
  border: 1px solid var(--line); background: var(--card);
  color: var(--hi); cursor: pointer; text-decoration: none;
}
.backlink:hover { border-color: var(--teal); text-decoration: none; }

/* هشدارِ «نتایج زیاد است» */
.toomany {
  border: 1px solid var(--amber); border-radius: 12px;
  background: rgba(245, 165, 36, .10); padding: 13px 16px;
  margin-bottom: 15px; line-height: 2; font-size: 13.5px;
}
.toomany b { color: var(--amber); }

/* ═════════ صافیِ چندمحوره ═════════
 * ⭐ صادرکننده · نوعِ سند · موضوع · مکان · کشور
 * ⚠ `details` بومی است، بدونِ جاوااسکریپت — یعنی حتی اگر JS
 *   نیامد، صافی کار می‌کند. */
.facetbar {
  border: 1px solid var(--line); border-radius: 14px;
  background: var(--card); padding: 14px 16px; margin-bottom: 16px;
}
.flbl { font-size: 12.5px; color: var(--lo); margin-bottom: 9px; }
.fnote {
  margin-inline-start: 8px; color: var(--teal);
  font-family: Consolas, monospace; font-size: 12px;
}
.fgroup { margin-bottom: 7px; }
.fgroup > summary {
  cursor: pointer; font-size: 13.5px; font-weight: 700;
  padding: 6px 0; list-style: none; user-select: none;
}
.fgroup > summary::-webkit-details-marker { display: none; }
.fgroup > summary::before { content: "▸ "; color: var(--lo); }
.fgroup[open] > summary::before { content: "▾ "; color: var(--teal); }
.fcount {
  background: var(--teal); color: #06202a; border-radius: 999px;
  padding: 1px 7px; font-size: 11px; margin-inline-start: 6px;
}
.fvals {
  display: flex; flex-wrap: wrap; gap: 6px;
  padding: 8px 0 10px; max-height: 210px; overflow-y: auto;
}
.fchip {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 5px 11px; border-radius: 999px; cursor: pointer;
  border: 1px solid var(--line); font-size: 12.5px;
  background: var(--bg);
}
.fchip:hover { border-color: var(--teal); }
.fchip.on { background: rgba(34, 211, 238, .16); border-color: var(--teal); }
.fchip input { accent-color: var(--teal); }
.fclear {
  display: inline-block; margin-top: 8px; font-size: 12.5px;
  color: var(--amber);
}

/* کادرِ دومِ «حوزهٔ جستجو» — کوچک‌تر، سمتِ چپِ کادرِ اصلی */
.fieldbox {
  flex: 1 1 220px; min-width: 0; padding: 10px 13px; border-radius: 12px;
  border: 1px solid var(--line); background: var(--card);
  color: var(--hi); font-family: inherit; font-size: 13px;
}
.fieldlabel { font-size: 11px; color: var(--lo); display: block;
              margin-bottom: 3px; }
.fieldrow { margin: 0 0 14px; }
.fieldline { display: flex; gap: 8px; align-items: center; }
.fieldgo {
  flex: 0 0 auto; padding: 9px 14px; border: 0; border-radius: 12px;
  background: var(--teal); color: #fff; font: inherit; font-size: 13px;
  font-weight: 700; cursor: pointer;
}
.fieldrow .chips, .askform .chips {
  display: flex; flex-wrap: wrap; gap: 7px; margin-top: 8px;
}
.fieldrow .chip, .askform .chip {
  display: inline-flex; align-items: center;
  padding: 4px 11px; border-radius: 999px;
  border: 1px solid var(--line); background: var(--bg2);
  font-size: 12.5px; color: var(--hi); text-decoration: none;
}
.fieldrow .chip:hover, .askform .chip:hover { border-color: var(--teal); }
.fieldrow .chip.on, .askform .chip.on {
  border-color: var(--teal); color: var(--teal);
  background: rgba(14,124,139,.08); font-weight: 700;
}
.qmark {
  display: inline-block; width: 16px; height: 16px; line-height: 16px;
  text-align: center; border-radius: 50%;
  border: 1px solid var(--line); color: var(--lo); font-size: 11px;
  cursor: help; margin-inline-start: 4px;
}

/* کامنت */
.cmwrap { margin: 34px 0 20px; border-top: 1px solid var(--line);
          padding-top: 22px; }
.cmtitle { font-size: 17px; margin: 0 0 8px; }
.cmhint { font-size: 12.5px; line-height: 2; margin-bottom: 13px; }
.cmform textarea {
  width: 100%; padding: 12px 14px; border-radius: 12px;
  border: 1px solid var(--line); background: var(--card);
  color: var(--hi); font-family: inherit; font-size: 14px;
  line-height: 2; resize: vertical;
}
.cmrow { display: flex; align-items: center; gap: 11px;
         margin-top: 9px; }
.cmlist { margin-top: 20px; }
.cm { border: 1px solid var(--line); border-radius: 12px;
      padding: 13px 15px; margin-bottom: 11px; background: var(--card); }
.cmhead { display: flex; align-items: center; gap: 9px;
          font-size: 12.5px; margin-bottom: 6px; }
.cmwait { color: var(--amber); font-size: 11px; }
.cmbody { line-height: 2.1; font-size: 14px; white-space: pre-wrap; }

/* ⛔ تصویرِ نویسنده ۱۴۰۵/۰۶/۱۳ به خواستهٔ حامد حذف شد. */

.sign { color: var(--hi); display: flex; align-items: center; }
.sign svg { display: block; }

.inmode {
  display: flex; gap: 14px; align-items: center; flex: 0 0 auto;
  font-size: 13px; color: var(--lo); white-space: nowrap;
}
.inmode label { display: flex; gap: 5px; align-items: center; cursor: pointer; }

/* ⭐ نوارِ یک‌ردیفهٔ ورود + تیک‌ها + متن/عنوان
 * خواستهٔ حامد (۱۴۰۵/۰۶/۰۶). جداکننده‌ها فقط تزئین‌اند.
 *
 * دسکتاپ: `nowrap` تا ورود، تیک‌ها و متن/عنوان در **یک** ردیف
 * بمانند. تیک‌ها وسط را پر می‌کنند و دو سر (`authbox` و
 * `inmode`) جمع نمی‌شوند. `flex-wrap: wrap` روی دسکتاپ
 * متن/عنوان را به ردیفِ بعد می‌فرستاد — همان چیزی که حامد
 * نخواست.
 *
 * ⚠ موبایل زیرِ ۷۰۰px **دو ردیف** می‌شود، نه اسکرولِ افقی
 * و نه منوی جمع‌شده. دلیل:
 *    · اسکرولِ افقی در RTL ابتدای نوار (ورود) را بی‌نشانه
 *      پنهان می‌کند — کاربر نمی‌فهمد چیزی آن سمت هست
 *    · جمع‌شدن در منو تیک‌هایی را که ابزارِ اصلیِ جستجو
 *      هستند پنهان می‌کند
 *
 * ⚠ `overflow: hidden` عمداً نیست: تیکِ پنهان‌شده از تیکِ
 * سطریِ دوم بدتر است — کاربر نمی‌داند چیزی جا مانده. */
.toolbar {
  display: flex; flex-wrap: nowrap; align-items: center;
  gap: 10px; min-width: 0;
}
.toolbar .authbox { flex: 0 0 auto; }
.toolbar .inmode { flex: 0 0 auto; }
.toolbar .scopes {
  flex: 1 1 auto; min-width: 0;
  flex-wrap: nowrap; overflow: visible;
}
.tbsep {
  flex: 0 0 1px; align-self: stretch; min-height: 16px;
  background: var(--line);
}
@media (max-width: 700px) {
  .findwrap { flex: 1 1 100%; width: 100%; }
  .find { flex-wrap: wrap; }
  .find input.scope { flex: 1 1 100%; }
  .toolbar { flex-wrap: wrap; row-gap: 8px; width: 100%; }
  .toolbar .authbox { flex: 0 0 auto; }
  .toolbar .scopes { flex: 1 1 100%; flex-wrap: wrap; overflow: visible; }
  .toolbar .tbsep { display: none; }
}

.item.tone-0 { background: rgba(14, 124, 139, .07); }
.item.tone-1 { background: rgba(74, 79, 191, .07); }
/* ⭐ ۱۴۰۵/۰۷/۰۲ (حامد): «فونتِ ستونِ دوم را برابرِ ستونِ اول کن.» */
.colwrap[data-level="1"] .item { font-weight: 500; font-size: 11.5px; line-height: 1.45; }
.colwrap[data-level="1"] li + li { border-top: 2px solid var(--line); }

/* ⭐ عرضِ ستونِ دوم — خواستهٔ حامد (۱۴۰۵/۰۶/۰۶):
   «عرضِ ستونِ دوم کمی کمتر بشه.»

   ۲۶۸ → ۲۳۰ پیکسل (۱۴٪ کمتر).

   ⚠ چرا نه کمتر: عنوان‌های این ستون سه‌بخشی‌اند
   («آیین‌نامه‌های نیروهای مسلح») و زیرِ ~۲۲۰ پیکسل به سه خط
   می‌شکنند — یعنی ارتفاعِ سلول‌ها بلند می‌شود و همان چیزی که
   حامد قبلاً خواست («ارتفاعِ سلول‌ها تا جای ممکن کم») نقض
   می‌شود.

   ⚠ و اینجا نوشته می‌شود نه در قاعدهٔ پایه، چون `.colwrap`
   عمومی برای ستون‌های سوم به بعد هم هست. */
.colwrap[data-level="1"] {
  flex: 0 0 230px; width: 230px; min-width: 230px; max-width: 230px;
}

.mainnav { display: flex; gap: 14px; font-size: 14px; }
.mainnav a {
  padding: 7px 14px; border-radius: 999px;
  border: 1px solid var(--line); background: var(--card); color: var(--hi);
}
.mainnav a:hover { border-color: var(--teal); color: var(--teal); text-decoration: none; }

/* بستهٔ جستجو: شعار + کادر + تیک‌ها، همه در یک ستون */
.findwrap { flex: 1 1 340px; min-width: 0; display: flex;
            flex-direction: column; gap: 7px; }

/* شعار — روی صفحهٔ اصلی `h1` است و روی بقیه `<p>`.
   ⚠ اندازه‌اش عمداً کوچک است ولی متن **واقعی و دیدنی**؛ `h1`ِ
   پنهان همان چیزی است که گوگل جریمه می‌کند. */
/* ⛔ «اون نوشتهٔ زیرش — حقوق با نگاهِ هوش مصنوعی و الگوریتم — رو
   کمی درشت‌تر بنویس.»  ۱۳ → ۱۵٫۵ و رنگِ روشن‌تر. */
.slogan {
  margin: 0; font-size: 15.5px; font-weight: 600; line-height: 1.75;
  color: var(--hi);
}

.find { display: flex; gap: 8px; align-items: center; }
.find input {
  flex: 1; min-width: 0;
  padding: 10px 14px;
  border: 1px solid var(--line); border-radius: 999px;
  background: var(--card); color: var(--hi); font: inherit; font-size: 15px;
}
.find input.scope {
  flex: 0 1 220px; font-size: 13px;
}
.find button {
  padding: 10px 18px; border: 0; border-radius: 999px;
  background: var(--teal); color: #fff; font: inherit; font-weight: 700;
  cursor: pointer;
}

/* ───────── نوارِ امضای ثابتِ پایین ─────────
 * ⚠ ارتفاعش در یک متغیر است تا `padding-bottom`ِ بدنه هم از همان
 * بخواند. اگر دو جا عدد می‌نوشتم، اولین تغییرِ اندازه یکی‌شان را
 * جا می‌گذاشت و آخرین سطرِ صفحه زیر نوار پنهان می‌شد. */
:root { --signbar-h: 52px; }
body { padding-bottom: var(--signbar-h); }

.signbar {
  position: fixed; inset: auto 0 0 0; z-index: 50;
  min-height: var(--signbar-h);
  display: flex; align-items: center; justify-content: center;
  gap: 6px 12px; flex-wrap: wrap;
  padding: 6px 12px;
  background: linear-gradient(180deg, rgba(11,16,32,.92), var(--bg));
  border-top: 1px solid var(--line);
  font-size: 11px; color: var(--lo);
}
.signbar .en { direction: ltr; letter-spacing: .2px; }
.signbar .en b { color: var(--amber); font-weight: 700; }
.signbar .fa { color: var(--hi); font-weight: 700; }
.signbar .tag { color: var(--lo); }
.signbar .soc {
  display: inline-flex; align-items: center; color: var(--hi);
  line-height: 0;
}
.signbar .soc svg { width: 16px; height: 16px; display: block; }
.signbar .soc:hover { color: var(--teal); text-decoration: none; }
@media (max-width: 700px) {
  .signbar { font-size: 10.5px; }
}

/* دکمهٔ «در موردِ سایت» — کنارِ «بگرد» (خواستهٔ حامد).
   عمداً کم‌رنگ‌تر از «بگرد» است: کارِ اصلیِ کاربر جستجوست، و دو
   دکمهٔ هم‌وزن کنارِ هم یعنی هیچ‌کدام برجسته نیست. */
.aboutbtn {
  flex: 0 0 auto; white-space: nowrap;
  padding: 10px 16px; border-radius: 999px;
  border: 1px solid var(--line); background: var(--card); color: var(--hi);
  font-size: 14px; font-weight: 600;
}
.aboutbtn:hover { border-color: var(--teal); color: var(--teal); text-decoration: none; }

/* ───────── امضا — بینِ «بگرد» و «در موردِ سایت» ─────────
 * ⛔ خواستهٔ حامد: «به‌طور زیبا و خلاقانه».
 *
 * ⚠ ترجمهٔ عملیِ «خلاقانه» اینجا **کم‌حجم بودن** است، نه شلوغی:
 * امضایی که وسطِ نوارِ جستجو جا خوش کند و فضای کادر را بخورد،
 * برعکسِ زیبا است. پس دو سطرِ ریز با یک خطِ فیروزه‌ای که فقط
 * موقعِ نزدیک شدنِ ماوس روشن می‌شود — هست، ولی مزاحم نیست.
 *
 * ⚠ متنِ کاملِ انگلیسی در `title` است تا حقِ نویسنده ثبت بماند
 * بدونِ اینکه دو زبان در یک نوارِ باریک قاطی شوند.
 */
.sign {
  flex: 0 0 auto; display: flex; flex-direction: column; gap: 0;
  padding: 3px 12px; margin: 0 2px;
  border-right: 2px solid var(--line);
  line-height: 1.35; white-space: nowrap;
  transition: border-color .18s ease;
}
.sign:hover { border-right-color: var(--teal); text-decoration: none; }
.sign b { font-size: 11.5px; font-weight: 700; color: var(--hi); }
.sign span { font-size: 9.5px; color: var(--lo); letter-spacing: .2px; }
.sign:hover b { color: var(--teal); }

/* ───────── تیک‌های دامنهٔ جستجو (داخلِ نوارِ یک‌ردیفه) ─────────
 * ⚠ «ارتباطات» عمداً بزرگ‌تر و جداست: بقیه می‌گویند **کجا** را
 * بگرد، این یکی می‌گوید **چه چیزی** برگردان — پیوندِ بینِ اسناد.
 * هم‌شکل کردنشان این تفاوت را پنهان می‌کرد. */
.scopes { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; }
.sc {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: 11.5px; color: var(--lo); cursor: pointer; user-select: none;
}
.sc input { accent-color: var(--teal); width: 13px; height: 13px; cursor: pointer; }
.sc:hover { color: var(--hi); }
.sc.rel {
  font-size: 13px; font-weight: 700; color: var(--teal);
  padding: 2px 10px; margin-right: 4px;
  border: 1px solid var(--teal); border-radius: 999px;
  background: rgba(34, 211, 238, .08);
}
.sc.rel input { width: 15px; height: 15px; }

/* ───────── صفحهٔ متنی (در موردِ سایت) ─────────
 * ⚠ عرضِ خواندن عمداً محدود است. سطرِ ۱۳۲۰ پیکسلی برای متنِ فارسی
 * غیرقابلِ خواندن است — چشم سرِ سطرِ بعد را گم می‌کند. */
.page { max-width: 74ch; }
.page h1 { font-size: 26px; line-height: 1.6; margin: 0 0 18px; color: var(--hi); }
.page h2 { font-size: 19px; margin: 30px 0 10px; color: var(--teal); }
.page h3 { font-size: 16px; margin: 20px 0 6px; color: var(--indigo); }
.page p { margin: 0 0 12px; }
.page .lead { font-size: 16.5px; line-height: 2.05; }
.page .note { font-size: 13px; color: var(--lo); }
.page .sig { margin-top: 34px; padding-top: 14px;
             border-top: 1px solid var(--line); color: var(--lo); font-size: 13px; }
.page .stats { margin: 14px 0 6px; }
.warnbox {
  padding: 14px 16px; margin: 12px 0;
  border: 1px solid var(--line); border-right: 4px solid var(--amber);
  border-radius: var(--radius); background: var(--card);
}
.warnbox p:last-child { margin-bottom: 0; }
.qbar {
  margin: 24px 0;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--card);
}
.qbar h3 { margin: 16px 0 8px; font-size: 1.05rem; }
.qbar.qbar-bad {
  border-color: #e11d48;
  background: #ffe4e6;
}
.qbar .qsample { font-size: 14px; }
.page.wide { max-width: 1100px; }
.page .plist { margin: 0 0 12px; padding-right: 20px; }
.page .plist li { margin: 4px 0; }

/* ───────── واژه‌نامه ─────────
 * ⚠ چیدمانِ شبکه‌ای عمدی است: ~۱۰۰ خوشه در یک ستونِ عمودی یعنی
 * صفحه‌ای که هیچ‌کس تا تهش نمی‌رود. با گرید، چشم چند خوشه را
 * هم‌زمان می‌بیند. */
.gloss {
  display: grid; gap: 10px; margin-top: 16px;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
}
.glossbox {
  padding: 11px 13px;
  background: var(--card); border: 1px solid var(--line);
  border-right: 3px solid var(--teal); border-radius: 12px;
}
.glossbox h2 { margin: 0 0 5px; font-size: 15px; }
.glossbox h2 a { color: var(--hi); }
.glossbox .alts { margin: 0; font-size: 12.5px; line-height: 2; color: var(--lo); }
.glossbox .alts a { color: var(--lo); }
.glossbox .alts a:hover { color: var(--teal); }
.glossbox .gdef { margin: 8px 0 0; font-size: 12.5px; color: var(--mid, var(--lo)); line-height: 1.6; }

/* ───────── پابرگ ─────────
 * لینک‌های اینجا فقط برای کاربر نیستند: صفحه‌ای که از هیچ‌جا لینک
 * نشود «orphan» است و گوگل دیر یا هرگز پیدایش نمی‌کند (بندِ ۵). */
.fnav {
  display: flex; flex-wrap: wrap; gap: 8px 18px;
  justify-content: center; margin-bottom: 10px; font-size: 13px;
}
.fnav a { color: var(--lo); }
.fnav a:hover { color: var(--teal); }

/* ───────── مسیرِ راهنما ───────── */
.crumbs {
  padding: 10px 16px; font-size: 13px; color: var(--lo);
  display: flex; flex-wrap: wrap; gap: 6px;
  border-bottom: 1px solid var(--line);
}

/* ───────── چیدمان ───────── */
/* ⛔ کادرِ کناریِ «قوانینِ من» ۱۴۰۵/۰۵/۲۴ حذف شد (خواستهٔ حامد).
   حالا کلِ عرض مالِ محتواست — که برای نمای ستونی مهم است، چون هر
   ستونِ اضافه ۲۶۸ پیکسل می‌خواهد و ۳۳۰ پیکسلِ آزادشده یعنی یک
   ستونِ بیشتر بدونِ اسکرول. */
.wrap { max-width: 1320px; margin: 0 auto; padding: 16px; }
.main { min-width: 0; }

/* ───────── صفحهٔ اصلی ─────────
 * قابِ بالا با یک درخششِ ملایم پشتِ متن. هدف این است که صفحهٔ اول
 * «محصول» به‌نظر برسد نه «فهرستِ فایل» — ولی بدونِ تصویرِ سنگین،
 * چون سرعت روی رتبهٔ گوگل اثر دارد. کلِ این افکت با CSS است و
 * صفر بایت دانلود.
 */
.hero {
  position: relative; overflow: hidden;
  padding: 30px 22px; margin-bottom: 24px;
  border: 1px solid var(--line); border-radius: 20px;
  background:
    radial-gradient(700px 220px at 82% -10%, rgba(14,124,139,.13), transparent 60%),
    radial-gradient(560px 200px at 12% 110%, rgba(139,79,191,.11), transparent 60%),
    linear-gradient(160deg, var(--card), var(--bg2));
}
.hero h1 { font-size: 27px; margin: 0 0 10px; line-height: 1.5; color: var(--hi); }
.hero p { color: var(--lo); margin: 0 0 18px; max-width: 60ch; }

.stats { display: flex; flex-wrap: wrap; gap: 10px; }
.stats div {
  flex: 1 1 120px; padding: 13px 10px; text-align: center;
  background: rgba(255,255,255,.55);
  border: 1px solid var(--line); border-radius: 13px;
}
.stats b {
  display: block; font-size: 22px; color: var(--teal);
  font-variant-numeric: tabular-nums;
}
.stats span { font-size: 12px; color: var(--lo); }

.cats h2, .lawpage h2 { font-size: 19px; }
.grid { display: grid; gap: 10px; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); }
.cat {
  display: flex; align-items: center; gap: 9px;
  padding: 14px; border-radius: var(--radius);
  background: var(--card); border: 1px solid var(--line); color: var(--hi);
  transition: border-color .15s, transform .15s;
}
/* نقطهٔ رنگی جای آیکون — بدونِ فونتِ آیکون و بدونِ تصویر */
.cat::before {
  content: ""; flex: 0 0 8px; height: 8px; border-radius: 50%;
  background: var(--teal); box-shadow: 0 0 0 3px rgba(34,211,238,.15);
}
.cat:nth-child(3n)::before { background: var(--violet); box-shadow: 0 0 0 3px rgba(192,132,252,.15); }
.cat:nth-child(3n+2)::before { background: var(--amber); box-shadow: 0 0 0 3px rgba(245,165,36,.15); }
.cat:hover { border-color: var(--teal); text-decoration: none; transform: translateY(-2px); }

/* ───────── کادرِ عنوانِ بخش ───────── */
.secbox {
  padding: 14px 16px; margin-bottom: 16px;
  background: var(--card);
  border: 1px solid var(--line);
  border-right: 4px solid var(--indigo);
  border-radius: var(--radius);
}
.secbox .lbl { font-size: 12px; color: var(--lo); }
.secbox h1, .secbox h2 { margin: 4px 0 0; font-size: 21px; }
.secbox .back { font-size: 13px; }

/* ───────── درخت ───────── */
.tree { list-style: none; margin: 0; padding: 0 18px 0 0; }
.tree li {
  position: relative; padding: 10px 18px 10px 0;
  border-right: 1px solid var(--line);
}
.tree li::before {
  content: ""; position: absolute; top: 22px; right: 0;
  width: 14px; height: 1px; background: var(--line);
}

/* ───────── قانون و ماده ───────── */
.lawpage h1, .artpage h1 { font-size: 23px; margin: 0 0 4px; }
.meta { color: var(--lo); font-size: 13px; margin: 0 0 14px; }

.tools { display: flex; gap: 8px; margin-bottom: 14px; flex-wrap: wrap; align-items: center; }
.tools button {
  padding: 7px 14px; border-radius: 999px;
  border: 1px solid var(--line); background: var(--card);
  color: var(--hi); font: inherit; font-size: 13px; cursor: pointer;
}

.chapter {
  margin-bottom: 12px; border: 1px solid var(--line);
  border-radius: var(--radius); background: var(--bg2); overflow: hidden;
}
.chapter > summary {
  display: flex; gap: 10px; align-items: center;
  padding: 12px 14px; cursor: pointer; list-style: none;
  background: var(--card); font-weight: 700;
}
.chapter > summary::-webkit-details-marker { display: none; }
/* علامتِ + که با باز شدن به − تبدیل می‌شود (خواستهٔ حامد) */
.plus {
  width: 22px; height: 22px; flex: 0 0 22px; position: relative;
  border-radius: 6px; background: var(--indigo);
}
.plus::before, .plus::after {
  content: ""; position: absolute; inset: 50% 5px auto 5px;
  height: 2px; background: #fff; transform: translateY(-50%);
}
.plus::after { transform: translateY(-50%) rotate(90deg); transition: .18s; }
.chapter[open] .plus::after { transform: translateY(-50%) rotate(0); opacity: 0; }
.chname { flex: 1; }
.chcount { font-size: 12px; color: var(--lo); font-weight: 400; }

/* فهرستِ فصل — پرش به متنِ همان صفحه */
.lawtoc {
  margin: 0 0 16px; padding: 12px 14px;
  background: var(--card); border: 1px solid var(--line);
  border-radius: var(--radius);
}
.lawtoc h2 { margin: 0 0 8px; font-size: 15px; }
.lawtoc ol { margin: 0; padding: 0 18px 0 0; }
.lawtoc li { padding: 3px 0; }
.lawtoc a { color: var(--teal); }
.lawtoc small { color: var(--lo); margin-inline-start: 8px; font-size: 12px; }

.relchips {
  display: flex; flex-wrap: wrap; gap: 8px; align-items: center;
  margin: 0 0 16px; padding: 8px 12px;
  background: var(--card); border: 1px solid var(--line);
  border-radius: var(--radius); font-size: 13px;
}
.relchips > span { color: var(--lo); font-weight: 700; }
.relchips a {
  color: var(--teal); border: 1px solid var(--line);
  border-radius: 999px; padding: 2px 10px;
}
.relchips a:hover { border-color: var(--teal); }

.natrel {
  margin: 0 0 16px; padding: 10px 12px;
  background: var(--card); border: 1px solid var(--line);
  border-radius: var(--radius);
}
.natrel h2 { margin: 0 0 6px; font-size: 15px; }
.natrel p { margin: 0 0 8px; color: var(--lo); font-size: 13px; }
.natrel .natlaws { list-style: none; margin: 0; padding: 0; }
.natrel .natlaws li { padding: 4px 0; }

.chapter:target, .art:target, .relfam:target {
  outline: 2px solid var(--teal); outline-offset: 2px;
}

.art { padding: 14px; border-top: 1px solid var(--line); }
.art.note { background: rgba(74, 79, 191, .06); }
.arthead { display: flex; gap: 10px; align-items: flex-start; }
.arthead h2 { margin: 0; font-size: 16px; flex: 1; color: var(--amber); }
.arthead.big h1 { flex: 1; }
.acts { display: flex; gap: 6px; }
.ico {
  width: 34px; height: 34px; border-radius: 9px;
  border: 1px solid var(--line); background: var(--card);
  color: var(--lo); font-size: 15px; cursor: pointer; line-height: 1;
}
.ico:hover { color: var(--teal); border-color: var(--teal); }
.ico.on { color: var(--amber); border-color: var(--amber); }

/* متنِ ماده — فاصله‌ها کمی فشرده‌تر (خواستهٔ حامد: «در فونتِ قوانین
   فاصله‌ها کمی کمتر باشد»). ۱٫۹ برای متنِ بلندِ حقوقی زیادی باز بود. */
.txt {
  white-space: pre-wrap; margin-top: 8px; text-align: justify;
  line-height: 1.72; letter-spacing: -0.1px;
}

.extras { margin-top: 22px; }
.extras > ul { list-style: none; padding: 0; }
.extras > ul > li {
  padding: 10px 12px; margin-bottom: 6px;
  background: var(--card); border: 1px solid var(--line); border-radius: 10px;
}
.extras .exrow {
  display: flex; justify-content: space-between; gap: 12px; align-items: baseline;
}
.extras .exrow a { color: inherit; font-weight: 650; }
.extras .exkids {
  list-style: none; padding: 8px 0 0 0; margin: 8px 0 0;
  border-top: 1px dashed var(--line);
}
.extras .exkids li { padding: 4px 0; }
.extras .exkids a { color: var(--teal); }

.famgrid {
  list-style: none; padding: 0; margin: 16px 0;
  display: grid; gap: 10px;
  grid-template-columns: 1fr;
}
.famgrid a {
  display: block; padding: 14px 16px;
  background: var(--card); border: 1px solid var(--line); border-radius: 12px;
  color: inherit; text-decoration: none;
}
.famgrid a:hover { border-color: var(--teal); }
.famgrid b { display: block; font-size: 1.05rem; }
.famgrid span { color: var(--teal); font-weight: 650; }
.famgrid small { display: block; color: var(--lo); margin-top: 4px; }
@media (min-width: 720px) {
  .famgrid { grid-template-columns: 1fr 1fr; }
}

/* ───────── نمای ستونیِ درخت ─────────
 *
 * ستون‌ها کنارِ هم، با اسکرولِ افقی. در RTL ستونِ اول سمتِ راست
 * می‌نشیند و ستون‌های تازه به چپ اضافه می‌شوند — یعنی جهتِ باز شدنِ
 * درخت با جهتِ خواندنِ فارسی یکی است.
 */
/*  ⛔ سبکِ `.path` حذف شد — نوارِ مسیر برداشته شد (بدفهمیِ من بود؛
    ستون‌های میلر خودشان مسیر را نشان می‌دهند). */

/* ⛔ `.pagehead` حذف شد (خواستهٔ حامد: ستون‌ها از بالا زیرِ هدر).
   `h1` به شعارِ هدر منتقل شد — بخشِ «سربرگ» بالاتر. */

/* ⛔ «ستونِ اول از راست بچسبه به انتهای صفحه.»
   پس حاشیهٔ سمتِ راستِ قابِ محتوا برداشته می‌شود، فقط در صفحهٔ
   ستونی. ⚠ اگر در `.wrap` عمومی برداشته می‌شد، صفحه‌های متنی هم
   به لبه می‌چسبیدند و خواندنشان سخت می‌شد. */
/* ⚠ max-width:none ستون‌ها را از صفحه پهن‌تر می‌کرد و در RTL
   ابتدای هدر (ورود) از دیدِ موبایل می‌افتاد. اسکرول مالِ خودِ
   `.cols` است، نه کلِ صفحه. */
/* ⚠ `padding-top: 0` — با ۸ پیکسل، ستونِ اول هشت پیکسل زیرِ
 * سربرگ می‌ماند و «چسبیده به سقف» نمی‌شود. */
body:has(#cols) .wrap {
  max-width: 100%; overflow-x: hidden; padding: 0 0 16px 0;
}

/* ═══════════ ریلِ سمتِ چپ — بخش‌های تخصصی ═══════════
 *
 * خواستهٔ حامد (۱۴۰۵/۰۶/۱۳): کادری مشابهِ ستونِ اول، همان عرض،
 * چسبیده به **چپِ صفحه و سقفِ محتوا**. کلیک → ستونِ دوم **زیرِ**
 * ستونِ اول باز می‌شود، نه کنارش.
 *
 * ⚠ قابِ `.main` اینجا LTR است تا فرزندِ اول (ریل) سمتِ چپ بنشیند.
 * خودِ ریل و `#cols` دوباره RTL می‌شوند — وگرنه فلش‌ها و ترتیبِ
 * متنِ فارسی وارونه می‌شد.
 */
/* ⛔ ۱۴۰۵/۰۶/۲۸ — ریل از **سمتِ چپ** به **زیرِ ستونِ اول** رفت.
 *
 * خواستهٔ حامد: «ستونِ سمتِ چپِ صفحه رو بیار پایینِ ستونِ اول
 * (با هم مخلوط نشن).»
 *
 * ⚠ پس `.main` دیگر flex-row نیست و `direction: ltr` هم لازم
 * نیست — آن وارونگی فقط برای این بود که فرزندِ اول سمتِ چپ بنشیند.
 * نگه‌داشتنش یعنی یک چرخشِ جهت که هیچ‌کاری نمی‌کند ولی روزی یک
 * چیدمانِ عجیب می‌سازد و کسی نمی‌فهمد چرا. */
body:has(#leftrail) .main {
  display: block;
}
.leftrail {
  direction: rtl;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
body:has(#leftrail) #cols {
  direction: rtl;
}

/* ⚠ قاب حالا در سمتِ **راست** است (زیرِ ستونِ اول)، پس گوشه و
 * سایه هم باید برعکس شوند؛ وگرنه لبهٔ گردش سمتِ اشتباه می‌افتد و
 * کادر «شکسته» به‌نظر می‌رسد. */
.leftrail .lrcol {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 0 var(--radius) var(--radius) 0;
  border-right: 0;
  box-shadow: -6px 0 12px -8px rgba(0, 0, 0, .55);
}
.leftrail .colhead {
  padding: 7px 8px; font-size: 11px; line-height: 1.5;
  white-space: normal;
}
.leftrail .colhead b { font-size: 10px; }
.leftrail ul { padding: 0; margin: 0; list-style: none; }
.leftrail .item {
  padding: 5px 8px; gap: 3px; font-size: 11.5px; line-height: 1.45;
}
.leftrail .item .t { white-space: normal; word-break: break-word; }
.leftrail .item .num,
.leftrail .item .stars { display: none; }
.leftrail .item .soonbadge { font-size: 8.5px; padding: 0 4px; }
.soonbadge {
  display: inline-block; margin: 0 3px; padding: 0 5px;
  font-size: 9px; border-radius: 6px;
  background: rgba(169, 106, 5, .16); color: var(--amber);
}
.leftrail .item .arrow {
  display: block; float: left; margin: 0 4px 0 0;
  color: var(--lo); font-size: 11px;
}
.leftrail .item:hover .arrow { color: var(--teal); }
.leftrail li + li { border-top: 1px solid var(--line); }
.leftrail li:nth-child(even) .item {
  background: rgba(255, 255, 255, .035);
}
.leftrail .item:hover { background: rgba(34, 211, 238, .09); }
.leftrail .item.on {
  background: rgba(34, 211, 238, .16); color: var(--teal);
}

/* سطحِ دوم — زیرِ ستونِ اول، با تورفتگی و خطِ اتصال از چپ
   (لبهٔ صفحه) تا معلوم باشد زیرمجموعه است نه ستونِ هم‌تراز. */
.leftrail .lrcol.sub {
  margin-left: 14px;
  width: calc(100% - 14px);
  position: relative;
  border-left: 3px solid var(--teal);
  border-radius: 0 0 0 10px;
  background: var(--bg2);
}
.leftrail .lrcol.sub::before {
  content: "";
  position: absolute;
  top: -8px; left: -3px;
  width: 3px; height: 8px;
  background: var(--teal);
}
.leftrail .lrmark {
  color: var(--teal); font-size: 13px; margin-inline-end: 4px;
}
.leftrail .lrt {
  flex: 1; font-size: 10.5px; color: var(--teal); font-weight: 700;
  line-height: 1.4;
}
.leftrail .lrcol.sub .item { font-size: 11px; }

.leftrail .soon {
  margin: 8px; padding: 8px; font-size: 11px; line-height: 1.7;
}

.cols {
  display: flex; gap: 12px; align-items: stretch;
  width: 100%; max-width: 100%;
  overflow-x: auto; overflow-y: hidden;
  padding-bottom: 10px;
  /* هر ستون موقعِ اسکرول تراز می‌شود — پیمایش با موبایل روان‌تر است */
  scroll-snap-type: x proximity;
}
/* هر ستون در یک قابِ خودش — چون بالای ستونِ اول یک کادرِ جدا هم هست
   و موقعِ جمع‌شدن باید کلِ قاب باریک شود نه فقط فهرست */
.colwrap {
  flex: 0 0 268px; display: flex; flex-direction: column; gap: 10px;
  scroll-snap-align: start; transition: flex-basis .18s ease;
}

/* ⭐ ستونِ «پرده‌ای» — خواستهٔ دقیقِ حامد:
 *
 *   «مثلِ پرده عرضشون کم بشه و لغاتِ اصلی فقط تو اون ستون دیده بشن —
 *    یعنی همون دسته‌ها دیده بشن **همچنان** ولی با عرضِ کمتر.
 *    اگر عرضشون چهار سانتی‌متره بشه یک سانتی‌متر.»
 *
 * ⚠ نسخهٔ قبلی `display:none` می‌زد و از ۵۶ دسته فقط یک برچسب
 *   می‌ماند — نقضِ صریحِ همین جمله. حالا هیچ‌چیز پنهان نمی‌شود:
 *   عرض کم می‌شود و متن **عمودی** می‌شود تا خوانا بماند.
 *
 * ⚠ ۳۸ پیکسل ≈ همان یک سانتی‌متری که خواست (۹۶dpi).
 */
/* ═══════════ عرضِ ستون‌ها — دستورِ صریحِ حامد (۱۴۰۵/۰۵/۲۹) ═══════════
 *
 * ⛔ «اصلاً نمی‌خوام عرضِ ستون‌ها **تغییر کنه**. فقط اینا رو انجام بده:
 *     · عرضِ ستونِ اول یک‌سومِ اینی باشه که الان هست. اگر برای نوشته
 *       کوچک بود کمی تکست رو کوچیک کن و wrap text باشه.
 *     · عرضِ ستونِ دوم تغییر نکنه.
 *     · ستونِ سوم: اگر متنِ قانون بود بقیهٔ صفحه رو بگیره، اگر موارد
 *       دیگه بود عرضش به اندازهٔ ستونِ اول باشه.»
 *
 * ⚠ یعنی کلِ سازوکارِ «باریک‌شدنِ پویا» **حذف** شد. دو نسخه‌اش را
 *   ساختم و هیچ‌کدام آن چیزی نبود که می‌خواست — اول عمودی، بعد
 *   کوتاه‌شونده. خواستهٔ واقعی خیلی ساده‌تر است: عرضِ **ثابت** بر
 *   حسبِ نقشِ ستون، بدونِ هیچ انیمیشن و حالتی.
 *
 * ⚠ و این ساده‌تر بودن خودش یک درس است: دو دورِ کارِ اضافه رفت چون
 *   از توضیحِ اولیه یک سازوکارِ پیچیده استنباط کردم به‌جای اینکه
 *   بپرسم دقیقاً چه می‌بیند.
 */

/* ═══════════ ستونِ اول — دستورِ حامد (۱۴۰۵/۰۵/۲۹، نسخهٔ نهایی) ═══════════
 *
 *   · عرض **۳۰٪ بیشتر**  ⇒ ۱۰۸ × ۱٫۳ ≈ ۱۴۰ پیکسل
 *   · از راست به انتهای صفحه بچسبد
 *   · بینِ نوشته‌ها **جداکننده**
 *   · جلوی هرکدام **فلش به سمتِ چپ**
 *   · ارتفاعِ سلول‌ها تا جای ممکن کم
 *   · **یکی‌درمیان** رنگِ متفاوت، سازگار با کرمِ تیره
 */
/* ⛔ «اون ستونِ اول رو کاملاً ثابت کن. همیشه باید تو سایت نشان
   داده بشه — چه موقعی که مقاله داره نشون می‌ده، چه موقعی که کادرِ
   سرچ اومده یا هر چیزِ دیگه‌ای.»

   ⚠ `sticky` با `top` یعنی ستون هنگامِ اسکرولِ عمودی سرِ جایش
   می‌ماند. و چون `.cols` افقی اسکرول می‌شود، `right: 0` هم لازم
   است وگرنه با اسکرولِ افقی از دید بیرون می‌رود. */
/* ⛔ «ستونِ اول رو کامل بچسبون به سقفِ صفحه» (۱۴۰۵/۰۶/۲۸):
 *    `top` از ۸ به ۰، و `.wrap` هم بالادستش صفر شد.
 * ⚠ و `max-height` حالا باید جا برای ریلِ زیرِ ستون هم بدهد،
 *    پس محدودیت از خودِ قاب برداشته شد و روی `.col` ماند. */
.colwrap[data-level="0"] {
  flex: 0 0 140px;
  position: sticky; right: 0; top: 0; z-index: 3;
  align-self: flex-start;
  max-height: 100vh;
  overflow-y: auto;
}
.colwrap[data-level="0"] .col {
  max-height: calc(100vh - 210px); overflow-y: auto;
  /* سایهٔ ملایم تا هنگامِ عبورِ ستون‌های دیگر از زیرش، لبه پیدا باشد */
  box-shadow: -6px 0 12px -8px rgba(0, 0, 0, .55);
}
.colwrap[data-level="0"] .col {
  border-right: 0; border-radius: 0 var(--radius) var(--radius) 0;
}
.colwrap[data-level="0"] .colhead {
  padding: 7px 8px; font-size: 11px; line-height: 1.5;
  white-space: normal;
}
.colwrap[data-level="0"] .colhead b { display: none; }
.colwrap[data-level="0"] ul { padding: 0; }

/* ⚠ `line-height` اینجا اهرمِ اصلیِ ارتفاع است نه `padding`:
   عنوانِ دو سطری با فاصلهٔ سطرِ ۱٫۷۵ دو برابرِ ۱٫۴ جا می‌گیرد.
   ۱٫۴ کمترین چیزی است که برای فارسی هنوز خواناست — پایین‌تر،
   دنبالهٔ حروف (ی، ج، ع) به سطرِ بعد می‌چسبد. */
.colwrap[data-level="0"] .item {
  padding: 5px 8px; gap: 3px; font-size: 11.5px; line-height: 1.45;
}
.colwrap[data-level="0"] .item .t { white-space: normal; word-break: break-word; }
.colwrap[data-level="0"] .item .num,
.colwrap[data-level="0"] .item .stars { display: none; }
.colwrap[data-level="0"] .item .soonbadge { font-size: 8.5px; padding: 0 4px; }

/* ⭐ فلشِ سمتِ چپ — «جلوی هر کدوم یک فلش نشانه به سمتِ چپ».
   ⚠ در RTL «جلو» یعنی **سمتِ چپ**، و `float: left` همان‌جا
   می‌گذاردش بدونِ اینکه سطرِ متن را کوتاه کند. */
.colwrap[data-level="0"] .item .arrow {
  display: block; float: left; margin: 0 4px 0 0;
  color: var(--lo); font-size: 11px;
}
.colwrap[data-level="0"] .item:hover .arrow { color: var(--teal); }

/* ⭐ جداکننده + راه‌راهِ یکی‌درمیان.
 *
 * ⚠ رنگِ راه‌راه با `rgba` سفیدِ خیلی کم‌رنگ است، نه یک رنگِ ثابت:
 * این‌طور روی هر پس‌زمینه‌ای (کرمِ تیرهٔ فعلی یا هر تمِ آینده)
 * خودبه‌خود هماهنگ می‌ماند. رنگِ هاردکد با اولین تغییرِ تم
 * زشت می‌شود — و قاعدهٔ ۴-۲ هم همین را می‌گوید.
 *
 * ⚠ و شدتش عمداً کم است (۳٫۵٪): راه‌راهِ پررنگ روی فهرستِ ۶۳ سطری
 * چشم را خسته می‌کند؛ کارش فقط دنبال‌کردنِ سطر است.
 */
.colwrap[data-level="0"] li + li { border-top: 1px solid var(--line); }
.colwrap[data-level="0"] li:nth-child(even) .item {
  background: rgba(255, 255, 255, .035);
}
.colwrap[data-level="0"] .item:hover { background: rgba(34, 211, 238, .09); }
.colwrap[data-level="0"] .item.on {
  background: rgba(34, 211, 238, .16); color: var(--teal);
}

/* ستونِ دوم عرضش بالاتر قفل شده (۲۳۰). اینجا عمداً تکرار
   نمی‌شود تا یک منبع بماند. */

/* ⭐ ستونِ سوم به بعد — دو حالتِ **ثابت**، نه پویا.
 * خواستهٔ حامد (۱۴۰۵/۰۶/۰۶): عرض بر اساسِ تعدادِ آیتم یا طولِ
 * متن عوض نشود. فقط وقتی ستون مالِ فصل/باب/مبحث است کم‌عرض.
 *
 * تشخیص در JS از `type` است نه عنوان — عنوان «بخشنامه» را با
 * «بخش» یکی می‌گیرد (۲٬۲۷۴ قانون).
 *
 * استاندارد = همان ۲۳۰ ستونِ دوم. کم‌عرض = ۹۰ (کلماتِ کوتاه). */
.colwrap[data-level="2"],
.colwrap[data-level="3"],
.colwrap[data-level="4"],
.colwrap[data-level="5"],
.colwrap[data-level="6"] {
  flex: 0 0 230px; width: 230px; min-width: 230px; max-width: 230px;
}
.colwrap.col-narrow {
  flex: 0 0 90px; width: 90px; min-width: 90px; max-width: 90px;
}
.colwrap.col-narrow .colhead {
  padding: 8px 6px; font-size: 11px; line-height: 1.5; white-space: normal;
}
.colwrap.col-narrow .item {
  padding: 5px 7px; gap: 3px; font-size: 11.5px; line-height: 1.5;
  align-items: flex-start;
}

/* ⛔ «در ستونِ دوم و سوم با یک خط از هم جدا بشن و در حدی که قابلِ
   خواندن باشه نوشته‌ها نزدیک بشن.»

   ⚠ «نزدیک‌تر» با `line-height` انجام می‌شود نه `padding`: عنوانِ
   دوسطری با فاصلهٔ سطرِ ۱٫۸ دو برابرِ ۱٫۵ جا می‌گیرد. و ۱٫۵
   کمترین مقداری است که دنبالهٔ حروفِ فارسی (ی، ج، ع) به سطرِ
   بعد نمی‌چسبد — پایین‌تر از آن، «قابلِ خواندن» نقض می‌شود. */
.colwrap[data-level="1"] li + li,
.colwrap[data-level="2"] li + li,
.colwrap[data-level="3"] li + li,
.colwrap[data-level="4"] li + li,
.colwrap[data-level="5"] li + li,
.colwrap[data-level="6"] li + li { border-top: 1px solid var(--line); }

.colwrap[data-level="1"] .item {
  padding: 6px 9px; line-height: 1.55; font-size: 12.5px;
}
/* راه‌راهِ یکی‌درمیان در ستونِ دوم هم — دنبال‌کردنِ سطر را آسان
   می‌کند بدونِ اینکه خطِ جداکننده پررنگ شود */
.colwrap[data-level="1"] li:nth-child(even) .item,
.colwrap[data-level="2"] li:nth-child(even) .item {
  background: rgba(255, 255, 255, .03);
}
.colwrap[data-level="2"] .item .t, .colwrap[data-level="3"] .item .t,
.colwrap[data-level="4"] .item .t, .colwrap[data-level="5"] .item .t,
.colwrap[data-level="6"] .item .t { white-space: normal; word-break: break-word; }
.colwrap.col-narrow .item .arrow,
.colwrap.col-narrow .item .num { display: none; }

/* ⛔ «چرا خودِ کادر قابلِ اسکرول هست؟ باید خودِ سایت قابلِ اسکرول باشه.»
 *
 * ⚠ حق با اوست و دلیلش فقط سلیقه نیست: کادرِ اسکرول‌شونده یعنی دو
 *   نوارِ اسکرولِ تودرتو. چرخِ ماوس گاهی کادر را می‌برد و گاهی صفحه
 *   را، و کاربر نمی‌فهمد کدام. روی موبایل بدتر است.
 *
 * پس `max-height` و `overflow` **برداشته شد**. ستون تا هر جا که
 * لازم است بلند می‌شود و خودِ صفحه اسکرول می‌شود.
 */
.col {
  background: var(--card); border: 1px solid var(--line);
  border-radius: var(--radius);
}
.col.loading { opacity: .55; }

/* ⭐ ستونِ دوم (و بقیهٔ ستون‌های فهرست) — **ارتفاعِ یک صفحه** و
   اسکرولِ داخلی. خواستهٔ حامد:
   «ستونِ دوم ارتفاعش اندازهٔ یک صفحه باشه و قابلِ اسکرول.»

   ⚠ این با قاعدهٔ قبلی («کادر اسکرول نشه، سایت اسکرول بشه») تعارض
   ندارد چون خواستهٔ **بعدی** و صریحِ خودِ اوست و فقط شاملِ ستون‌های
   فهرست است. `sticky` هم اضافه شد تا ستون هنگامِ اسکرولِ صفحه
   سرِ جایش بماند؛ بدونِ آن، «ارتفاعِ یک صفحه» با اسکرولِ صفحه
   بی‌معنی می‌شود. */
.colwrap[data-level="1"] .col,
.colwrap[data-level="2"] .col,
.colwrap[data-level="3"] .col,
.colwrap[data-level="4"] .col,
.colwrap[data-level="5"] .col,
.colwrap[data-level="6"] .col {
  position: sticky; top: 8px;
  height: calc(100vh - 120px);
  display: flex; flex-direction: column;
}
.colwrap[data-level="1"] .col > ul,
.colwrap[data-level="2"] .col > ul,
.colwrap[data-level="3"] .col > ul,
.colwrap[data-level="4"] .col > ul,
.colwrap[data-level="5"] .col > ul,
.colwrap[data-level="6"] .col > ul { flex: 1; overflow-y: auto; }

/* ───────── جستجوی مختصِ یک ستون ─────────
 * ⚠ عمداً بالای فهرست و **داخلِ** خودِ ستون است، نه در سرصفحهٔ سایت:
 * کاربر باید ببیند که این جستجو مالِ همین ستون است، نه کلِ سایت.
 * دو کادرِ جستجوی هم‌شکل در یک صفحه، بدترین حالتِ ممکن است.
 */
.colfind {
  display: flex; align-items: center; gap: 6px;
  padding: 7px 9px; border-bottom: 1px solid var(--line);
  background: var(--bg2);
}
.colfind .ficon { color: var(--lo); font-size: 15px; }
.colfind input {
  flex: 1; min-width: 0;
  padding: 5px 8px; font: inherit; font-size: 12.5px;
  border: 1px solid var(--line); border-radius: 8px;
  background: var(--card); color: var(--hi);
}
.colfind input:focus { outline: 0; border-color: var(--teal); }
.colfind .fhint { font-size: 10.5px; color: var(--lo); white-space: nowrap; }
.colhead {
  position: sticky; top: 0; z-index: 2;
  display: flex; justify-content: space-between; align-items: center; gap: 8px;
  padding: 10px 12px; font-size: 13px; font-weight: 700;
  background: var(--bg2); border-bottom: 1px solid var(--line);
}
.colhead h1 {
  margin: 0; font: inherit; font-size: inherit; font-weight: inherit;
  line-height: inherit; color: inherit;
}

/* فهرستِ دسته‌ها در پابرگ — لینکِ خزنده از خانه، نه دیوارِ متن زیرِ هدر. */
.catindex {
  display: flex; flex-wrap: wrap; gap: 4px 12px;
  padding: 8px 0 4px; font-size: 11px; line-height: 1.5;
  max-width: 1100px; margin: 0 auto;
}
.catindex-lab {
  flex: 0 0 100%; font-size: 10.5px; color: var(--lo); font-weight: 700;
}
.catindex a { color: var(--lo); }
.catindex a:hover { color: var(--teal); }
script[type="application/ld+json"] { display: none !important; }
.colhead b {
  font-weight: 400; font-size: 11.5px; color: var(--lo);
  font-variant-numeric: tabular-nums;
}
.col ul { list-style: none; margin: 0; padding: 6px; }

.item {
  display: flex; align-items: center; gap: 8px;
  padding: 9px 10px; border-radius: 9px;
  color: var(--hi); font-size: 14px; line-height: 1.65;
}
.item .t { flex: 1; }
/* نشانِ اهمیت — شکلش با نوعِ سند فرق می‌کند (★ قانون · ◆ آیین‌نامه
   · ▲ دستورالعمل · ● بخشنامه).
 *
 * ⛔ «اون ستاره‌ها رو جوری بیار بالا سمتِ راست و نزدیکِ نوشته که
 *    نوشته در کلِ فضا نوشته بشه.»
 *
 * ⚠ یعنی نشان نباید **سطرِ خودش** را بگیرد و متن را تنگ کند. راهِ
 *   حل `float` است نه flex: با float، متن **دورش می‌پیچد** و از
 *   سطرِ دوم به بعد کلِ عرض را می‌گیرد. با flex، ستون همیشه رزرو
 *   می‌ماند و همان فضایی که می‌خواستیم آزاد کنیم هدر می‌رود.
 */
.item .stars {
  float: right; margin: 1px 0 0 4px;
  font-size: 9.5px; letter-spacing: .5px;
  color: var(--amber); opacity: .85;
}
/* چون `.item` فلکس است، `float` داخلِ فرزندِ فلکس کار نمی‌کند —
   پس متن و نشان با هم در یک بلوک می‌نشینند. */
.item { display: block; }
.item .t { display: inline; }
.item .arrow { float: left; margin-right: 4px; }

/* ⭐ تیکِ سبزِ راستی‌آزمایی — «منطبق با پایگاهِ رسمی».
   ⚠ سبزِ اشباع‌شده عمدی است: این تنها نشانِ سبز در کلِ رابط است،
   پس چشم بی‌درنگ پیدایش می‌کند و با ★ کهربایی قاطی نمی‌شود. */
.item .vtick, h1 .vtick, h2 .vtick, .cite + .vtick, .citelist .vtick {
  flex: 0 0 auto; margin: 0 3px;
  color: #22c55e; font-weight: 700; font-size: 12px;
}
h1 .vtick, h2 .vtick { font-size: 0.85em; vertical-align: middle; }
.item .revbadge, .revbadge {
  display: inline-block; margin: 0 4px; padding: 0 7px;
  font-size: 11px; font-weight: 700; border-radius: 8px;
  background: rgba(169, 106, 5, .15); color: var(--amber);
  vertical-align: middle;
}
.humanrel {
  margin: 22px 0; padding: 14px 16px;
  border: 1px solid var(--teal); border-radius: var(--radius);
  background: rgba(14, 124, 139, .06);
}
.humanrel h2 { margin: 0 0 6px; font-size: 16px; }
.humanrel .hint { margin: 0 0 10px; font-size: 13px; color: var(--lo); }
.humanrel ul { margin: 0; padding-inline-start: 18px; }
.humanrel .k { color: var(--teal); font-size: 12px; margin-left: 8px; }
.humanrel .note { color: var(--lo); font-size: 12.5px; }
.natlist .natfind {
  display: flex; gap: 8px; margin: 12px 0 18px;
}
.natlist .natfind input {
  flex: 1; padding: 8px 12px; border: 1px solid var(--line);
  border-radius: 10px; background: var(--card); color: var(--hi); font: inherit;
}
.natlist .meta { color: var(--lo); font-size: 13px; }
.natlist li { margin: 0; padding: 8px 0; border-bottom: 1px solid var(--line); }
.natlist .empty { color: var(--lo); }

/* ⭐ «به‌زودی» — قانونی که هست ولی متنش هنوز نیامده (۱۹٪ پایگاه).
   عمداً دیده می‌شود: نبودنش یعنی کاربر کلیک می‌کند و گیج می‌شود. */
.item .soonbadge {
  flex: 0 0 auto; font-size: 10px; padding: 1px 6px;
  border-radius: 999px; border: 1px solid var(--line);
  color: var(--lo); background: var(--bg2); white-space: nowrap;
}
.item.blank .t { opacity: .62; }

/* ⛔ «سرفصل» ≠ «به‌زودی» — و باید **دیده شود** که فرق دارند.
   «به‌زودی» یعنی منتظر بمان؛ «سرفصل» یعنی منتظر نباش، این عنوانِ
   دسته است. ۳۳۶ گره در درخت از این جنس‌اند و برچسبِ «به‌زودی»
   رویشان وعده‌ای بود که هرگز عملی نمی‌شد.
   رنگِ خنثی‌تر و بدونِ کادرِ پررنگ: خبر می‌دهد، وعده نمی‌دهد. */
.item .soonbadge.headbadge {
  border-style: dashed; opacity: .78;
  letter-spacing: .2px;
}

.item .num {
  font-size: 11.5px; color: var(--lo);
  font-variant-numeric: tabular-nums;
  /*  ⚠ ۰۷/۰۵ (از عکسِ خودِ صفحه): عدد به عنوان چسبیده بود — «قراردادهای پیمانکاری4».
      فاصله و کادرِ کم‌رنگ، تا عدد از کلمهٔ آخر جدا خوانده شود. */
  margin-inline-start: 6px;
  padding: 1px 5px;
  border-radius: 999px;
  background: var(--bg2, rgba(0,0,0,.05));
  flex: 0 0 auto;
}
.item .arrow { color: var(--lo); font-size: 14px; }
.item:hover { background: var(--bg2); text-decoration: none; }

/* ⭐ حالتِ «انتخاب‌شده» — با کنار رفتنِ ماوس **می‌ماند**.
   تفاوتِ اصلیِ کلیک با hover، و خواستهٔ صریحِ حامد. */
.item.on {
  background: linear-gradient(90deg, rgba(74,79,191,.20), rgba(74,79,191,.06));
  box-shadow: inset -3px 0 0 var(--teal);
  font-weight: 700;
}
.item.on .arrow { color: var(--teal); }

/* دو گروهِ هر دسته — بزرگ‌تر و متمایز، چون فقط دو تا هستند و
   انتخابشان یک تصمیمِ اصلی است نه پیمایشِ فهرست */
.item.grp {
  padding: 14px 12px; margin: 4px 0; font-weight: 700;
  border: 1px solid var(--line); background: var(--bg2);
}
.item.grp .num {
  padding: 2px 8px; border-radius: 999px;
  background: var(--card); border: 1px solid var(--line);
}

/* آیتمی که کلیکش **متن** می‌آورد نه ستون */
.item.k-text .arrow { color: var(--amber); }

/* ───────── پنجرهٔ خواندن ─────────
   متنِ کاملِ مواد، هر ماده در کادرِ جدا (خواستهٔ حامد) */
/* ⭐ S-04: پنجرهٔ خواندن یک **ستون** است، در همان ردیفِ ستون‌ها.
   عریض‌تر از ستونِ فهرست چون متنِ ماده باید خوانا باشد، ولی با
   `min()` تا در موبایل از عرضِ صفحه بیرون نزند. */
/* ⛔ «اگر متنِ قانون بود، **بقیهٔ صفحه** رو بگیره.»
   پس نه عرضِ ثابت، بلکه هرچه ماند. `min-width` لازم است وگرنه
   flex آن را تا صفر جمع می‌کند وقتی ستون‌ها زیادند. */
.readerwrap { flex: 1 1 auto; min-width: min(420px, 88vw); }
.readerwrap[hidden] { display: none; }

/* ⭐ «دقیقاً همین‌ها برای ستونِ آخر که متنِ قوانین هستند هم اجرا بشه»
   ⇒ ارتفاعِ یک صفحه، اسکرولِ داخلی، و کادرِ جستجوی خودش. */
.reader {
  flex: 1; display: flex; flex-direction: column;
  position: sticky; top: 8px;
  height: calc(100vh - 120px);
  padding: 0;
  background: var(--card); border: 1px solid var(--line);
  border-right: 4px solid var(--amber); border-radius: var(--radius);
}
/* سرصفحه و کادرِ جستجو ثابت می‌مانند؛ فقط متن اسکرول می‌شود.
   ⚠ اگر سرصفحه هم اسکرول می‌شد، کاربر وسطِ قانون مدنی نمی‌دانست
   کدام قانون را می‌خواند. */
.rhead {
  padding: 14px 18px 10px; border-bottom: 1px solid var(--line);
  background: var(--bg2); border-radius: var(--radius) var(--radius) 0 0;
}
.rhead .lbl { font-size: 12.5px; color: var(--lo); }
.rhead h2 { margin: 2px 0 0; font-size: 20px; color: var(--amber); }
.rhead .rfull {
  display: inline-block; margin-top: 6px; font-size: 13px; color: var(--teal);
}
.reader .chapter { margin: 8px 0; border: 1px solid var(--line); border-radius: 10px; }
.reader .chapter > summary { cursor: pointer; padding: 8px 12px; }
.lawfind { flex: 1; min-width: 140px; }
.lawfind input {
  width: 100%; padding: 7px 10px; border-radius: 8px;
  border: 1px solid var(--line); background: var(--bg); color: inherit;
  font: inherit;
}
@media print {
  header, footer, .acts, .leftrail, .backbar, .tools, .mark, .ico { display: none !important; }
  .chapter { display: block !important; break-inside: avoid; }
  .chapter > *:not(summary) { display: block !important; }
  .txt { white-space: pre-wrap; color: #000; }
}
#rBody { flex: 1; overflow-y: auto; padding: 4px 18px 18px; }
.reader .art { padding: 14px 0; border-top: 1px solid var(--line); }
.reader .art:first-of-type { border-top: 0; padding-top: 4px; }
.reader .arthead h3 { margin: 0; font-size: 15px; flex: 1; color: var(--indigo); }
.reader .art.note { padding-right: 14px; border-right: 3px solid var(--line); }

/* ───────── نشان‌های «مرتبط» کنارِ هر ماده ─────────
 * ⛔ خواستهٔ حامد: «هر کدام که اگر وجود داشت روشن باشد، اگر وجود
 * نداشت روشن نباشد.» پس نشانِ خاموش **حذف نمی‌شود** — کاربر باید
 * بداند «نظریهٔ مشورتی برای این ماده نداریم»، نه اینکه اصلاً نفهمد
 * چنین چیزی ممکن بوده.
 */
.tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.tag {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 3px 9px; border-radius: 999px;
  border: 1px solid var(--line); background: transparent;
  color: var(--lo); font: inherit; font-size: 11.5px;
  opacity: .45; cursor: default;
}
.tag.on {
  opacity: 1; cursor: pointer;
  color: var(--teal); border-color: var(--teal);
  background: rgba(14,124,139,.08);
}
.tag.on:hover { background: rgba(14,124,139,.16); }
.tag i {
  font-style: normal; font-size: 10.5px;
  padding: 0 5px; border-radius: 999px;
  background: var(--teal); color: #fff;
  font-variant-numeric: tabular-nums;
}
.relpanel {
  margin-top: 8px; padding: 10px 12px;
  background: var(--bg2); border: 1px solid var(--line); border-radius: 10px;
}
.relpanel h4 { margin: 0; font-size: 12.5px; color: var(--teal); }
.relpanel ul { list-style: none; margin: 0; padding: 0; }
.relpanel li {
  padding: 0; font-size: 13px; border-top: 1px solid var(--line);
}
.relpanel li:first-child { border-top: 0; }

/* سرِ کشو: عنوان + دکمهٔ بستنِ **بالا** */
.relhead {
  display: flex; align-items: center; justify-content: space-between;
  gap: 8px; margin-bottom: 6px;
}

/* ⛔ «تمامِ اونها باید قابلِ کلیک باشند و همون‌جا باز بشه و متن
   نشان داده بشه.» — پس هر سطر یک دکمهٔ کشویی است، نه متنِ مرده. */
.reltitle {
  display: flex; width: 100%; gap: 8px; align-items: flex-start;
  padding: 7px 0; border: 0; background: 0; cursor: pointer;
  font: inherit; font-size: 13px; color: var(--hi); text-align: right;
  line-height: 1.85;
}
.reltitle:hover { color: var(--teal); }
.reltitle i { flex: 0 0 auto; font-style: normal; color: var(--lo); font-size: 11px; }
.reltitle.open i { transform: rotate(180deg); }
.reltitle.open { color: var(--teal); }

.reltext {
  padding: 8px 10px 10px; margin: 0 0 8px;
  font-size: 13px; line-height: 2.05; color: var(--hi);
  background: var(--card); border: 1px solid var(--line); border-radius: 8px;
  white-space: pre-wrap;
}

/* دکمهٔ بستن — **دو جا** ساخته می‌شود (بالا و پایین) چون متنِ یک
   رأی می‌تواند چند صفحه باشد و کاربر بعد از خواندن، بالای کشو
   نیست. خواستهٔ صریحِ حامد. */
.relclose {
  display: block; margin: 8px 0 0; padding: 4px 12px;
  border: 1px solid var(--line); border-radius: 999px;
  background: var(--card); color: var(--lo);
  font: inherit; font-size: 11.5px; cursor: pointer;
}
.relclose:hover { border-color: var(--teal); color: var(--teal); }
.relclose.sm { margin-top: 10px; }
.relhead .relclose { margin: 0; }

/* نشانِ بازِ فعلی — تا معلوم باشد کشو مالِ کدام تگ است */
.tag.open { border-color: var(--teal); color: var(--teal); }

/* موبایل: ستون‌ها باریک‌تر تا دوتایش با هم دیده شود.
   ⚠ `max-height` اینجا هم برداشته شد — قاعده روی موبایل **مهم‌تر**
   است، چون اسکرولِ تودرتو با انگشت تقریباً غیرقابلِ کنترل می‌شود. */
@media (max-width: 640px) {
  .colwrap[data-level="0"] { flex-basis: 34vw; }
  .col { flex-basis: 78vw; }
  .readerwrap { min-width: 88vw; }
}

/* ───────── تیک‌های دامنهٔ جستجو ───────── */
.scopebox {
  padding: 12px 14px; margin-bottom: 14px;
  background: var(--card); border: 1px solid var(--line);
  border-radius: var(--radius);
}
.scopebox .lbl { font-size: 12.5px; color: var(--lo); margin-bottom: 8px; }
.scopebox .chips { display: flex; flex-wrap: wrap; gap: 7px; }
.scopebox .chip {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 5px 12px; border-radius: 999px; cursor: pointer;
  border: 1px solid var(--line); background: var(--bg2);
  font-size: 13px; user-select: none;
}
.scopebox .chip input { margin: 0; cursor: pointer; }
.scopebox .chip.on {
  border-color: var(--teal); color: var(--teal);
  background: rgba(14,124,139,.08); font-weight: 700;
}

/* ───────── نشانِ نوعِ سند ─────────
 * ⚠ رنگ از `norm_rank` می‌آید نه از سلیقه: هرچه سند بالاتر در
 * سلسله‌مراتبِ هنجاری باشد، نشانش پررنگ‌تر. کاربر باید در یک نگاه
 * بفهمد قانون با رأی فرق دارد — این همان چیزی است که یک آرشیوِ
 * ساده را از یک ابزارِ حقوقی جدا می‌کند.
 */
.hitline { display: flex; align-items: flex-start; gap: 9px; }
.hitline h2 { flex: 1; margin: 0; }
.badge {
  flex: 0 0 auto; padding: 2px 9px; border-radius: 999px;
  font-size: 11px; font-weight: 700; white-space: nowrap;
  border: 1px solid transparent;
}
.badge.r5, .badge.r10  { background: var(--teal);   color: #fff; }
.badge.r15             { background: var(--indigo); color: #fff; }
.badge.r30, .badge.r40 { background: rgba(74,79,191,.16);  color: var(--indigo);
                         border-color: var(--indigo); }
.badge.r50             { background: rgba(74,79,191,.10);  color: var(--indigo); }
.badge.r80, .badge.r85 { background: rgba(169,106,5,.14);  color: var(--amber);
                         border-color: var(--amber); }
.badge.r90             { background: rgba(139,79,191,.14); color: var(--violet);
                         border-color: var(--violet); }
.badge.r95, .badge.r99 { background: var(--bg2); color: var(--lo);
                         border-color: var(--line); }

.snip b { font-weight: 700; }
.soonline { color: var(--lo); font-size: 12px; }
.docmeta {
  display: flex; flex-wrap: wrap; gap: 12px;
  margin-top: 6px; font-size: 12.5px; color: var(--lo);
}

/* ───────── جستجو ───────── */
.hit {
  padding: 12px 14px; margin-bottom: 10px;
  background: var(--card); border: 1px solid var(--line); border-radius: var(--radius);
}
.hit h2 { margin: 0 0 4px; font-size: 16px; }
.snip { color: var(--lo); font-size: 14px; margin: 0; }
.pager { display: flex; gap: 14px; justify-content: center; padding: 16px; color: var(--lo); }

/* ───────── حالت‌های خالی ───────── */
.soon {
  padding: 14px; color: var(--lo);
  background: var(--card); border: 1px dashed var(--line); border-radius: var(--radius);
}
.soon.big { text-align: center; padding: 44px 16px; }

.bottom {
  padding: 22px 16px; text-align: center;
  color: var(--lo); font-size: 13px; border-top: 1px solid var(--line);
}

/* ═════════ مواردِ مرتبط در صفحهٔ ماده ═════════
 * نشان‌های روشن/خاموش از قبل در ‎.tag / .tag.on هستند.
 * اینجا فقط ظرفِ صفحهٔ ماده و دکمهٔ فلش. رنگ فقط از متغیر. */
.artrel {
  margin: 22px 0 8px;
  padding: 12px 14px;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius);
}
.reltoggle {
  display: flex; width: 100%; align-items: center; justify-content: space-between;
  gap: 10px; padding: 4px 0; border: 0; background: 0; cursor: pointer;
  font: inherit; font-weight: 700; font-size: 15px; color: var(--hi);
  text-align: right;
}
.reltoggle i {
  font-style: normal; color: var(--lo); transition: transform .15s;
}
.reltoggle[aria-expanded="true"] i { transform: rotate(180deg); color: var(--teal); }
.reltoggle[aria-expanded="true"] { color: var(--teal); }
.artrel .relbody { margin-top: 10px; }
.artrel .tags { display: flex; flex-wrap: wrap; gap: 6px; }
.artrel .relslot { margin-top: 4px; }
.artrel .relrow, .relslot .relrow {
  display: flex; align-items: flex-start; gap: 8px; flex-wrap: wrap;
}
.artrel .relrow .rellink, .relslot .relrow .rellink { flex: 1 1 auto; }
.artrel .relrow .reltitle, .relslot .relrow .reltitle { flex: 0 0 auto; width: auto; }
.artrel .relpanel a.rellink, .relslot a.rellink {
  color: var(--teal); text-decoration: none;
}
.artrel .relpanel a.rellink:hover, .relslot a.rellink:hover { text-decoration: underline; }
.artrel .tag i { font-variant-numeric: tabular-nums; }

.relfam { margin: 12px 0 8px; }
.relfam h3 {
  margin: 0 0 6px; font-size: 14px; color: var(--hi);
}
.relfam h3 i {
  font-style: normal; font-size: 12px; color: var(--lo);
  margin-inline-start: 6px;
}
.relfam ul { list-style: none; margin: 0; padding: 0; }
.relfam h2 i, .artrel h2 i {
  font-style: normal; font-size: 12px; color: var(--lo);
  margin-inline-start: 6px;
}
.relkind {
  display: inline-block; font-size: 11px; color: var(--teal);
  border: 1px solid var(--line); border-radius: 999px;
  padding: 1px 8px; margin-inline-end: 6px;
}
/*  نشانِ جنسِ سند (آیین‌نامه/بخشنامه/رأی/…) — رنگش عمداً با
    `.relkind` فرق دارد: آن یکی **نوعِ رابطه** است، این یکی
    **نوعِ سند**. یک‌رنگ‌کردنشان یعنی وکیل دو چیزِ متفاوت را
    یکی ببیند. */
.reltype {
  display: inline-block; font-size: 11px; color: var(--hi);
  background: color-mix(in srgb, var(--line) 55%, transparent);
  border-radius: 999px; padding: 1px 8px; margin-inline-end: 6px;
}
.reldir { font-size: 11px; color: var(--lo); margin-inline-end: 6px; }
.relquote {
  display: block; margin: 4px 0 10px; padding: 0;
  font-size: 12px; color: var(--lo); line-height: 1.55;
  quotes: none;
}
.relhint { margin-top: 8px; }
.artnav {
  display: flex; justify-content: space-between; align-items: stretch;
  gap: 12px; margin: 16px 0 8px; flex-wrap: wrap;
}
.artnav a, .artnav .gone {
  flex: 1 1 40%; min-width: 140px;
  padding: 10px 12px; border-radius: 9px;
  border: 1px solid var(--line); background: var(--card);
  color: var(--teal); text-decoration: none; font-size: 14px;
}
.artnav a small {
  display: block; font-size: 11px; color: var(--lo); margin-top: 2px;
}
.artnav a:hover { border-color: var(--teal); }
.artnav-next { text-align: left; }
.artnav .gone { visibility: hidden; border: 0; background: 0; }

@media (max-width: 640px) {
  .artrel { padding: 10px 12px; }
  .reltoggle { font-size: 14.5px; }
  .artnotes { padding: 10px 12px; }
  .verbox { font-size: 12.5px; }
  .artnav a { font-size: 13px; }
  .lawtoc { padding: 10px 12px; }
  .lawtoc li { font-size: 14px; }
  .relchips { font-size: 12.5px; }
  .relchips a { padding: 4px 10px; }
}

/* تبصره‌های کامل زیرِ ماده — متن عیناً، بدون خلاصه */
.artnotes {
  margin: 18px 0 8px;
  padding: 12px 14px;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius);
}
.artnotes h2 { margin: 0 0 10px; font-size: 16px; }
.noteblock { margin: 12px 0 0; padding-top: 10px; border-top: 1px dashed var(--line); }
.noteblock:first-of-type { border-top: 0; padding-top: 0; }
.noteblock h3 { margin: 0 0 6px; font-size: 15px; }

/* نسخهٔ زمانی — ادعای یک‌نسخه نمی‌کند */
.verbox {
  margin: 14px 0;
  padding: 10px 12px;
  background: rgba(169, 106, 5, .08);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  color: var(--lo);
  font-size: 13px;
}
.verbox p { margin: 0 0 4px; }
.verbox p:last-child { margin: 0; }

.relrow .missing {
  color: var(--amber);
  font-size: 12.5px;
  white-space: nowrap;
}
.rellink.dead {
  color: var(--lo);
  pointer-events: none;
  text-decoration: none;
}

/* پیامِ کوتاه */
#toast {
  position: fixed; inset: auto 50% 20px auto; transform: translateX(50%);
  background: var(--indigo); color: #fff; padding: 10px 18px;
  border-radius: 999px; font-size: 14px; opacity: 0; pointer-events: none;
  transition: .2s; z-index: 50;
}
#toast.on { opacity: 1; }

/* متنِ فقط برای صفحه‌خوان و خزنده — `display:none` گوگل را
   از خواندنش محروم می‌کند و ممکن است «متنِ پنهان» حساب شود. */
.sr-only {
  position: absolute; width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

.bottom .credit { font-size: 12px; line-height: 2; }
.bottom .credit .soc { margin-inline-start: 8px; }

@media (max-width: 640px) {
  .leftrail {
    flex-basis: 34vw; width: 34vw; min-width: 110px; max-width: 140px;
  }
}

/* ───────── صفحهٔ پرسش (P02) ───────── */
.askform {
  display: flex; flex-direction: column; gap: 10px;
  margin: 12px 0 22px;
}
.askform textarea {
  width: 100%; min-height: 92px; resize: vertical;
  padding: 12px 14px; font: inherit; line-height: 1.8;
  border: 1px solid var(--line); border-radius: var(--radius);
  background: var(--card); color: var(--hi);
}
.askform button {
  align-self: flex-start;
  padding: 10px 22px; border: 0; border-radius: 999px;
  background: var(--teal); color: #fff; font: inherit; font-weight: 700;
  cursor: pointer;
}
.gatebox {
  margin: 0 0 18px; padding: 12px 14px;
  border: 1px solid var(--line); border-radius: var(--radius);
  background: var(--card);
}
.gatebox .gatehead {
  display: flex; flex-wrap: wrap; gap: 8px; align-items: baseline;
  margin-bottom: 6px;
}
.gatebox .glevel, .gatebox .gdom {
  font-size: 13px; color: var(--lo);
}
.gatebox .gateex {
  margin: 0; white-space: pre-wrap; font: inherit; font-size: 14.5px;
  color: var(--hi);
}
.gatebox .gateconf {
  margin: 8px 0 0; padding-inline-start: 1.2em; font-size: 14.5px;
}
.gate-reject { border-color: #b45309; background: #fde7c8; }
.gate-explain { border-color: var(--amber); background: #f8edd4; }
.gate-pass { border-color: var(--teal); }
.askans p { margin: 0 0 14px; }
.askans .cite {
  display: inline-block; margin-inline-start: 6px;
  padding: 1px 8px; border-radius: 999px;
  border: 1px solid var(--line); background: var(--bg2);
  font-size: 13px; font-weight: 600; color: var(--teal);
}
.askans .cite:hover { border-color: var(--teal); text-decoration: none; }
.askans .cite-miss, .citelist .cite-miss {
  color: #9f1239; border-color: #e11d48; background: #ffe4e6;
}
.citealert {
  margin: 0 0 18px; padding: 12px 14px;
  border: 1px solid #e11d48; border-radius: var(--radius);
  background: #ffe4e6; color: #9f1239; font-weight: 700;
}
.citelist {
  margin: 18px 0 0; padding: 12px 14px;
  border: 1px solid var(--line); border-radius: var(--radius);
  background: var(--card);
}
.citelist b { display: block; margin-bottom: 8px; }
.citelist ol { margin: 0; padding-inline-start: 1.3em; }
.citelist li { margin: 0 0 8px; }
.citelist .cite {
  display: inline-block; padding: 1px 8px; border-radius: 999px;
  border: 1px solid var(--line); background: var(--bg2);
  font-size: 13px; font-weight: 600; color: var(--teal);
}
.citelist .cite-raw { margin-inline-start: 8px; font-size: 13px; color: var(--lo); }
.askrefuse {
  padding: 14px; border-radius: var(--radius);
  background: var(--card); border: 1px dashed var(--line);
}
.expnote {
  font-size: 14px; color: var(--hi); margin: 0 0 14px;
  padding: 10px 12px; background: var(--card);
  border: 1px solid var(--line); border-right: 3px solid var(--teal);
  border-radius: 10px;
}
.expnote p { margin: 0 0 6px; }
.expnote p:last-child { margin: 0; }

/* ═══════ جعبهٔ «عبارات مشابه» — لایهٔ دومِ آنتولوژی ═══════
 * ⚠ دو رنگ عمدی است و معنا دارد:
 *   فیروزه‌ای = هم‌معنا، همین حالا جستجو شده
 *   کهربایی  = مرتبط، تا تیک نخورد جستجو نمی‌شود
 * اگر هر دو یک‌شکل بودند، کاربر فکر می‌کرد همه‌شان اعمال شده‌اند. */
.synbox {
  margin: 0 0 14px; padding: 10px 12px;
  background: var(--card); border: 1px solid var(--line);
  border-right: 3px solid var(--teal); border-radius: 10px;
}
.synlab { margin: 0 0 8px; font-size: 13px; color: var(--lo); }
.synrow {
  display: flex; flex-wrap: wrap; gap: 6px; align-items: center;
  margin-bottom: 7px;
}
.synfor {
  font-size: 12px; color: var(--lo); margin-inline-end: 4px;
  white-space: nowrap;
}
.synchip {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 3px 9px; border-radius: 999px; cursor: pointer;
  font-size: 13px; border: 1px solid var(--line);
  background: rgba(255, 255, 255, .04); user-select: none;
}
.synchip input { accent-color: var(--teal); margin: 0; }
.synchip.rel input { accent-color: var(--amber); }
.synchip.on { border-color: rgba(34, 211, 238, .45); }
.synchip.rel { border-color: rgba(245, 158, 11, .40); }
.synchip:hover { background: rgba(34, 211, 238, .10); }
.synchip:has(input:checked) { background: rgba(34, 211, 238, .16); }
.synchip.rel:has(input:checked) { background: rgba(245, 158, 11, .16); }
.synbtn {
  margin-top: 4px; padding: 5px 16px; border-radius: 999px;
  border: 1px solid var(--teal); background: transparent;
  color: var(--teal); font-family: inherit; font-size: 13px;
  font-weight: 700; cursor: pointer;
}
.synbtn:hover { background: rgba(34, 211, 238, .14); }

/* ═══════ نشانهٔ تطابق — قرمز مستقیم · آبی غیرمستقیم ═══════
 *
 * ⛔ خواستهٔ حامد: «زیرِ مواردی که مستقیم همان عبارتِ جستجو‌شده
 * است خط قرمز (و بولد)، و زیرِ مواردی که ارتباطِ غیرمستقیم دارد
 * خط آبی.»
 *
 * ⚠ چرا `text-decoration` و نه `background`: پس‌زمینهٔ رنگی روی
 * متنِ فارسیِ فشرده خوانایی را می‌خورد و در چاپ سیاه می‌شود.
 * زیرخط هر دو مشکل را ندارد و در تمِ تیره و روشن یکسان دیده
 * می‌شود.
 */
.hit-d {
  font-weight: 800; color: var(--hi);
  text-decoration: underline;
  text-decoration-color: #ef4444;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}
.hit-i {
  text-decoration: underline;
  text-decoration-color: #3b82f6;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}
/* راهنمای رنگ‌ها — بدونش کاربر نمی‌داند قرمز و آبی یعنی چه */
.hitlegend {
  font-size: 12px; color: var(--lo); margin: 6px 0 0;
  display: flex; gap: 14px; flex-wrap: wrap;
}
.larts .occ {
  font-size: 11px; color: var(--amber); margin-inline-start: 6px;
}
.larts .artsep { color: var(--lo); margin: 0 4px; }
.larts .snip { display: inline; }
.larts .lawof { display: inline-block; margin-inline-start: 8px; }

/* خلاصهٔ مرتبط‌ها جلوی هر ماده — بی‌درنگ، از پاسخِ اول */
.relsum {
  display: inline-flex; align-items: center; gap: 6px; flex-wrap: wrap;
  font-size: 11.5px; color: var(--lo);
}
.relsum b { color: var(--teal); font-size: 12.5px; }
.relsum .relone {
  max-width: 230px; overflow: hidden; text-overflow: ellipsis;
  white-space: nowrap; color: var(--lo);
  border-bottom: 1px dotted var(--line);
}
.relsum .relone:hover { color: var(--teal); }
@media (max-width: 700px) {
  .askform textarea { min-height: 110px; }
}

/* P23/P26: متنِ قانون در جستجو — جدا از .hit تا رتبه‌بندیِ پیکره نشکند */
.lawbank {
  margin: 8px 0 18px; padding: 14px 16px;
  background: var(--card); border: 1px solid var(--teal);
  border-radius: 12px;
}
.lawbank h2 {
  margin: 0 0 6px; font-size: 15px; color: var(--teal);
}
.lawbank .lbhint {
  margin: 0 0 10px; font-size: 12.5px; color: var(--lo);
}
.dumpnote {
  margin: 0 0 14px; padding: 10px 12px;
  background: var(--card); border: 1px solid var(--amber);
  border-right: 3px solid var(--amber); border-radius: 10px;
  font-size: 13.5px; color: var(--hi);
}
.lawbank ul { list-style: none; padding: 0; margin: 0; }
.lawbank .lblaws li {
  display: flex; gap: 10px; align-items: baseline; flex-wrap: wrap;
  padding: 6px 0; border-bottom: 1px solid var(--line);
}
.lawbank .lblaws li:last-child { border-bottom: 0; }
.lawbank .lblaws a { font-weight: 700; color: var(--hi); }
.lawbank .lblaws small { color: var(--lo); font-size: 12px; }
.lawbank .lblaws .snip { margin: 4px 0 0; font-size: 13px; color: var(--lo); }
.tree .snip { margin: 4px 0 0; font-size: 13px; color: var(--lo); }
.lawbank .larts { margin-top: 8px; }
.lawbank .larts li { padding: 8px 0; border-top: 1px solid var(--line); }
.lawbank .lawof { display: block; font-size: 12.5px; color: var(--lo); }
.lawbank .lawof a { color: var(--teal); }

.famsearch {
  display: flex; gap: 8px; align-items: center; flex-wrap: wrap;
  margin: 0 0 16px;
}
.famsearch input[type="search"] {
  flex: 1; min-width: 160px;
  padding: 8px 12px; font: inherit; font-size: 14px;
  border: 1px solid var(--line); border-radius: 10px;
  background: var(--card); color: var(--hi);
}
.famsearch input:focus { outline: 0; border-color: var(--teal); }
.famsearch button {
  padding: 8px 14px; border-radius: 999px;
  border: 1px solid var(--line); background: var(--card);
  color: var(--hi); font: inherit; font-size: 13px; cursor: pointer;
}
.famsearch button:hover { border-color: var(--teal); color: var(--teal); }


/* ───────── مسیرِ سرفصل: «باب ← فصل ← مبحث» ─────────
   عنوانِ واقعیِ یک فصل در قانون تجارت می‌تواند ۱۲۰ کاراکتر شود
   («باب سوم — شرکتهای تجارتی › فصل اول — … › مبحث اول — …»).
   یک‌سطرِ پررنگ یعنی خوانده نمی‌شود؛ پس مسیر ریز و کم‌رنگ بالای
   نامِ خودِ فصل می‌نشیند و چشم فقط برگِ آخر را می‌گیرد. */
.chname { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.chpath {
  font-size: 11.5px; font-weight: 400; line-height: 1.5;
  color: var(--muted, #6b7280); opacity: .85;
  overflow-wrap: anywhere;
}
.chleaf { font-weight: 600; overflow-wrap: anywhere; }
.lawtoc .chpath { display: block; margin-bottom: 1px; }


/* ───────── نشانِ اهمیت: طلا · نقره · برنز ─────────
   خواستهٔ حامد (۱۴۰۵/۰۶/۲۸) — چهار حالت، که چهارمی «هیچ» است.

   ⚠ چرا دایرهٔ رنگی و نه شکلکِ 🥇: شکلکِ مدال روی ویندوز، اندروید
   و آیفون سه شکلِ کاملاً متفاوت دارد و در فونتِ فارسیِ سایت اصلاً
   نیست، پس جعبه‌ای خالی می‌شود. دایره با CSS همه‌جا یکسان است و
   اندازه‌اش با متن می‌خواند. */
.medal {
  display: inline-block; width: 9px; height: 9px;
  border-radius: 50%; margin-inline-start: 6px;
  vertical-align: 1px; flex: 0 0 auto;
  border: 1px solid rgba(0, 0, 0, .18);
}
.medal.gold {
  background: linear-gradient(145deg, #f7d774, #d4a017);
  box-shadow: 0 0 0 1.5px rgba(212, 160, 23, .22);
}
.medal.silver { background: linear-gradient(145deg, #eceff3, #a9b2bd); }
.medal.bronze { background: linear-gradient(145deg, #e3b590, #a9703f); }

/* مثلثِ هشدار — «در منابعِ رسمیِ نمایه‌شده پیدا نشد» */
.alarm {
  margin-inline-start: 5px; font-size: 10px; line-height: 1;
  color: #b4690e; flex: 0 0 auto;
}

@media (prefers-color-scheme: dark) {
  .medal { border-color: rgba(255, 255, 255, .22); }
  .alarm { color: #e0a458; }
}


/* ───────── نشانِ «آزمایشی» بالای صفحهٔ پرسش ───────── */
.betaflag { margin: 0 0 6px 0; }
.betaflag span {
  display: inline-block; padding: 2px 9px; border-radius: 999px;
  font-size: 11.5px; font-weight: 600; letter-spacing: .2px;
  color: #8a5a00; background: #fff3d6; border: 1px solid #f0d28a;
}
@media (prefers-color-scheme: dark) {
  .betaflag span {
    color: #ffd68a; background: rgba(255, 190, 60, .13);
    border-color: rgba(255, 190, 60, .32);
  }
}


/* ───────── نتایج: مواد گروه‌بندی‌شده زیرِ نامِ قانون ─────────
   «قانون مدنی» سرگروه، و زیرش «ماده ۳۵ : …» با تورفتگی. */
.larts .lawgrp {
  list-style: none; margin: 12px 0 3px; padding: 0;
  font-weight: 600; font-size: 13.5px;
}
.larts .lawgrp:first-child { margin-top: 2px; }
.larts .lawgrp a { text-decoration: none; }
.larts .lawgrp a:hover { text-decoration: underline; }
.larts .lart { margin-inline-start: 14px; }


/* ───────── نویسندهٔ مقاله ─────────
   ⭐ خواستهٔ حامد ۱۴۰۵/۰۶/۲۸: نامِ نویسنده کنارِ هر مقالهٔ دکترین،
   و «نامشخص (کپی‌رایت محفوظ)» وقتی صفحهٔ منبع نامی نداشته.

   ⚠ رنگ عمداً همان `--lo` است نه پررنگ‌تر: نام نویسنده فرادادهٔ
   سطرِ دوم است، نه عنوان. پررنگ‌کردنش با عنوانِ مقاله رقابت
   می‌کرد — همان اشتباهی که در نوارِ `docmeta` یک‌بار شد. */
.docauth { color: var(--lo); white-space: nowrap; }
.hit .sub .docauth { font-size: 12.5px; }
.docmeta .docauth::before { content: ""; }


/* ───────── نامِ حامد رستمی در پابرگ ─────────
   ⭐ خواستهٔ حامد ۱۴۰۵/۰۶/۳۰: «کلمهٔ حامد رستمی را بولدتر و
   بزرگ‌تر کن و زیرش خط بکش.»

   ⚠ `em` نه `px`: نوارِ پابرگ روی موبایل کوچک‌تر می‌شود و اندازهٔ
   ثابت، نام را آنجا از کادر بیرون می‌زد.

   ⚠ و `text-underline-offset` عمدی است: زیرخطِ چسبیده به حروفِ
   فارسی روی دنبالهٔ «می» و «ی» می‌نشیند و بدخط می‌شود. */
.credit .hrname {
  font-size: 1.25em;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1.5px;
  letter-spacing: .2px;
}


/* ───────── شمارهٔ ماده در جعبهٔ «ماده‌هایی که این عبارت…» ─────────
   ⛔ حامد ۱۴۰۵/۰۶/۳۰: «شمارهٔ ماده‌ای که درونش پیدا شده چرا تو
   نتیجهٔ جستجو نیست؟»  حالا هست، با همان شکلِ فهرستِ پایینی
   (`.lart`) تا دو جا دو جور به‌نظر نرسند. */
.lblaws .lbart {
  margin: 6px 0 0;
  line-height: 1.75;
}
.lblaws .lbart .artno { white-space: nowrap; }

/* مواد هم‌مضمون — جدا از «موارد مرتبط»؛ شباهتِ متن، نه استناد (core/similar.py) */
.artsim {
  margin: 14px 0 8px; padding: 12px 14px;
  background: var(--card); border: 1px dashed var(--line);
  border-radius: var(--radius);
}
.artsim h2 { margin: 0 0 6px; font-size: 16px; color: var(--hi); }
.artsim h2 i { font-style: normal; font-size: 12px; color: var(--lo); margin-inline-start: 6px; }
.artsim .simwarn { margin: 0 0 8px; font-size: 13px; color: var(--lo); }
.artsim ul { list-style: none; margin: 0; padding: 0; }
.artsim .simrow { display: flex; flex-wrap: wrap; gap: 4px 10px; padding: 6px 0; border-top: 1px solid var(--line); }
.artsim .simrow:first-child { border-top: 0; }
.artsim a.rellink { color: var(--teal); text-decoration: none; flex: 1 1 auto; }
.artsim a.rellink:hover { text-decoration: underline; }
.artsim .simterm { font-size: 12px; color: var(--lo); }

/* دبل‌چک با منبعِ رسمی (official_twins) */
.offtwin { margin: 10px 0; padding: 8px 12px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--card); font-size: 14px; }
.offtwin.ok { border-color: var(--teal); }
.offtwin p { margin: 0; }
.offtwin a { color: var(--teal); }
.offmark { font-size: 12px; color: var(--teal); margin-inline-start: 8px; white-space: nowrap; }

/* تگِ ربط جلوی هر ماده (۱۴۰۵/۰۷/۰۲) */
.arttags{display:flex;flex-wrap:wrap;gap:.35rem;margin:.25rem 0 .5rem}
.reltag{font-size:.78rem;line-height:1.5;padding:.05rem .55rem;border-radius:999px;
  border:1px solid var(--line,#d9dde3);color:var(--ink2,#3b4452);text-decoration:none;
  background:var(--chip,#f4f6f9)}
.reltag b{font-weight:700;margin-inline-start:.2rem}
.reltag:hover{border-color:var(--acc,#2f6fdf);color:var(--acc,#2f6fdf)}
.reltag-ara{border-color:#c9d8f5}.reltag-opinions{border-color:#d7ccf0}
.reltag-sessions{border-color:#cfe6d6}.reltag-rules{border-color:#f0dcc2}
.reltag-doctrine{border-color:#e2d4d4}
@media (prefers-color-scheme:dark){.reltag{background:#1c2230;color:#c9d1dc;border-color:#2c3446}}

/* ⭐ کادرِ بی‌نامِ بالای ستونِ اول (۱۴۰۵/۰۷/۰۲) — «فونتش کمی درشت‌تر». */
.toprail { margin-bottom: 8px; }
.colwrap[data-level="0"] .toprail .item { font-size: 12.5px; font-weight: 600; padding: 7px 8px; }
.colwrap[data-level="0"] .toprail .item .arrow { font-size: 12px; }
/* «فونتِ ستونِ دوم = ستونِ اول» — آخرِ فایل تا قاعده‌های قبلی را ببرد */
.cols .colwrap[data-level="1"] .item { font-size: 11.5px; font-weight: 500; line-height: 1.45; }

/* ⭐ محدودهٔ پرسش در صفحهٔ «بپرس» (۱۴۰۵/۰۷/۰۲) */
.askscope{border:1px solid var(--line,#243049);border-radius:10px;
  padding:.5rem .7rem;margin:.6rem 0 0;background:rgba(255,255,255,.02)}
.askscope legend{font-size:.85rem;opacity:.85;padding:0 .3rem}
.askscope-row{display:flex;flex-wrap:wrap;gap:.4rem .8rem;align-items:center;margin:.25rem 0}
.askscope .sc,.askscope .inmode label{display:inline-flex;align-items:center;gap:.3rem;
  font-size:.85rem;cursor:pointer}
.askscope-facet{margin-top:.3rem}
.askscope-facet summary{cursor:pointer;font-size:.85rem;opacity:.9}
.askscope .fchip{display:inline-flex;align-items:center;gap:.25rem;font-size:.8rem;
  padding:.1rem .45rem;border:1px solid var(--line,#243049);border-radius:999px}
.askscope .fchip.on{background:var(--accent,#22D3EE);color:#0B1020}
.askscope .fcount{background:var(--accent,#22D3EE);color:#0B1020;border-radius:999px;
  padding:0 .4rem;font-size:.72rem}
@media (max-width:600px){.askscope-row{gap:.3rem .5rem}}

/* ═════════ جستجوی پیشرفته (حامد ۱۴۰۵/۰۷/۰۴) ═════════
 * «کمترین فضا و به‌ویژه کمترین ارتفاع، تا نتایج هم‌زمان دیده شوند»:
 * هر گروه یک ردیفِ پیچان با برچسبِ ریز؛ تیک‌ها ۱۱px. روی دسکتاپِ پهن هر گروه ≈ یک سطر.
 */
.advbtn {
  flex: 0 0 auto; white-space: nowrap; cursor: pointer;
  padding: 3px 11px; border-radius: 999px; font: inherit; font-size: 12px; font-weight: 700;
  border: 1px solid var(--indigo); background: transparent; color: var(--indigo);
}
.advbtn.on, .advbtn:hover { background: var(--indigo); color: #fff; }
.advpanel {
  display: flex; flex-direction: column; gap: 2px;
  padding: 4px 10px; border: 1px dashed var(--line); border-radius: 10px;
  background: var(--card);
}
.advpanel[hidden] { display: none; }
.advrow { display: flex; flex-wrap: wrap; align-items: center; gap: 1px 10px; line-height: 1.5; }
.advrow .sc { font-size: 11px; gap: 3px; }
.advrow .sc input { width: 12px; height: 12px; margin: 0; }
.advlab { font-size: 11.5px; font-weight: 700; color: var(--hi); margin-left: 4px; }
.advall {
  cursor: pointer; font: inherit; font-size: 10.5px; color: var(--lo);
  background: none; border: 0; text-decoration: underline dotted; padding: 0 2px;
}
main.loading { opacity: .55; transition: opacity .15s; }

/* «هنگامِ جستجو هدر و کادر و تیک‌ها ثابت بمانند و فقط نتایج پایین بیاید»
 * ⚠ فقط روی صفحه‌های پهن: روی موبایل سربرگِ چسبان نیمی از صفحه را می‌گرفت. */
@media (min-width: 900px) {
  body[data-sticky="1"] header.top {
    position: sticky; top: 0; z-index: 40;
    box-shadow: 0 2px 10px rgba(36, 31, 22, .08);
  }
}

/* دروازهٔ ۵ صفحه — account.js (حامد ۱۴۰۵/۰۷/۰۴) */
body.gated main.main { filter: blur(4px); pointer-events: none; user-select: none; }
#authmodal.gate { background: rgba(36, 31, 22, .55); }
.gatemsg {
  margin: 0 0 8px; padding: 8px 10px; border-radius: 10px; font-size: 13.5px;
  background: rgba(169, 106, 5, .12); color: var(--hi); border: 1px solid rgba(169, 106, 5, .35);
}

/* قرارداد: «در دستِ بهبودی»، کپیِ کل، تگِ «بررسیِ تخصصی» (۱۴۰۵/۰۷/۰۴) */
.improving {
  margin: 6px 0 10px; padding: 6px 10px; border-radius: 8px; font-size: 12.5px; font-weight: 700;
  color: var(--amber); background: rgba(169, 106, 5, .10); border: 1px solid rgba(169, 106, 5, .3);
}
.copyall {
  display: inline-block; margin: 6px 0; padding: 5px 12px; border-radius: 999px; cursor: pointer;
  font: inherit; font-size: 12.5px; font-weight: 700;
  background: var(--card); color: var(--teal); border: 1px solid var(--teal);
}
.copyall:hover { background: var(--teal); color: #fff; }
.tag.expert {
  background: var(--indigo); color: #fff !important; border-color: var(--indigo);
  text-decoration: none; font-weight: 700;
}
.clausetxt { white-space: pre-wrap; padding: 10px 12px; background: var(--card); border-radius: 10px; }
.clgroup h2 { font-size: 16px; margin: 18px 0 6px; }
.clgroup h2 small { font-weight: 500; color: var(--lo); font-size: 12px; }
.cllist { margin: 0; padding-right: 18px; }
.cllist li { margin: 3px 0; }

/* ═════════ موبایل — بازبینیِ کلی (حامد ۱۴۰۵/۰۷/۰۴: «کلاً این سایت را برای موبایل هم مناسب کن») ═════════
 * سنجیده با مرورگرِ واقعی در ۳۹۰×۸۴۴ (آیفون ۱۲–۱۵) پیش و پس از تغییر:
 *   ① ریلِ «تخصصی‌ها» و ستونِ اول ۳۰۴px ارتفاعِ خالی داشتند: قاعدهٔ قدیمیِ `.col{flex-basis:78vw}` مالِ زمانی بود
 *      که ستون‌ها فرزندِ مستقیمِ `.cols` (ردیفی) بودند؛ حالا داخلِ `.colwrap` (ستونی)اند و همان ۷۸vw «ارتفاع» شد.
 *   ② سربرگ ۳۱۷px و نوارِ امضا ۱۱۵px بود ⇒ کمتر از نیمی از صفحه برای محتوا می‌ماند.
 *   ③ تیک‌ها سه‌ردیفه می‌شدند.
 */
.sc { white-space: nowrap; }
@media (max-width: 640px) {
  /* ① */
  .colwrap > .col, .colwrap > .leftrail, .colwrap > aside, .leftrail > .col { flex: 0 0 auto; }
  .colwrap[data-level="0"] .leftrail { width: 100%; max-width: none; min-width: 0; }
  .colwrap:not([data-level="0"]):not(.readerwrap) { flex: 0 0 62vw; width: 62vw; min-width: 62vw; max-width: 62vw; }
  .colwrap[data-level="1"] { flex: 0 0 62vw; width: 62vw; min-width: 62vw; max-width: 62vw; }
  .colwrap[data-level="0"] .col { max-height: none; }
  .colwrap[data-level="0"] { max-height: none; overflow: visible; position: static; }
  /* ② سربرگ فشرده */
  .top { padding: 6px 10px; gap: 6px; }
  .brand { width: 100%; }
  .prog { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 2px 10px; min-width: 0; width: 100%; }
  .ucline b { font-size: 11.5px; }
  .prow { font-size: 11px; gap: 4px; }
  .plabel { flex: 0 0 auto; }
  .pbar { flex: 0 0 42px; height: 6px; }
  .pnum { flex: 0 0 auto; }
  .find { gap: 6px; flex-wrap: nowrap; }
  .find input { padding: 8px 12px; font-size: 14px; }
  .find button, .aboutbtn { padding: 8px 12px; font-size: 13.5px; }
  .toolbar { row-gap: 4px; gap: 6px; }
  .scopes { gap: 2px 8px; }
  .sc { font-size: 11px; gap: 3px; }
  .sc.rel { font-size: 11.5px; padding: 1px 8px; }
  .ubtn { padding: 4px 10px; font-size: 12px; }
  .advbtn { font-size: 11.5px; padding: 2px 9px; }
  .advlab { width: 100%; font-size: 11px; }
  /* نوارِ امضا: یک سطر */
  :root { --signbar-h: 30px; }
  .signbar { min-height: var(--signbar-h); padding: 3px 8px; gap: 8px; flex-wrap: nowrap; font-size: 10.5px; }
  .signbar .en, .signbar .tag { display: none; }
  /* متن‌های بلند و جدول‌ها هرگز صفحه را افقی نمی‌کشند */
  .main { overflow-wrap: anywhere; }
  .main table { display: block; max-width: 100%; overflow-x: auto; }
  .main img, .main svg { max-width: 100%; height: auto; }
  h1 { font-size: 22px; line-height: 1.5; }
  .artpage, .wrap { padding-left: 10px; padding-right: 10px; }
  /* ناحیهٔ لمس: حداقل ~۳۶px برای پیوندهای فهرست */
  .item { min-height: 36px; }
  .authmodal-in, .amodal-in { width: calc(100vw - 24px); max-width: 420px; }
}
/* نوارِ تیک‌ها با دکمهٔ «جستجوی پیشرفته» روی عرضِ ۱۳۶۶ روی هم می‌افتاد (سنجیده) ⇒ اجازهٔ پیچش به‌جای هم‌پوشانی */
.toolbar .scopes { flex-wrap: wrap; row-gap: 0; }
body[data-sticky="1"] main.main > h1:first-child { margin: 6px 0 10px; font-size: 22px; }

/* ═════════ ۱۴۰۵/۰۷/۰۴ — دورِ دوم (حامد) ═════════ */
/* دکمهٔ خانه بالای «در دستِ ساخت» */
.brand { flex-direction: column; align-items: flex-start; gap: 4px; }
.homebtn {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 3px 10px 3px 12px; border-radius: 999px;
  background: var(--teal); color: #fff; font-size: 12.5px; font-weight: 700; line-height: 1.4;
}
.brand:hover .homebtn { background: var(--indigo); }
.homebtn svg { display: block; }

/* «بپرس (کاربر A+)» — کمی بزرگ‌تر؛ قفل برای غیرِA+ */
.askbtn { padding: 11px 18px; font-size: 15px; font-weight: 800; }
.askbtn small { font-size: 11px; font-weight: 700; color: var(--amber); margin-inline-start: 2px; }
.locked { opacity: .5; cursor: not-allowed; }
a.locked { pointer-events: auto; }
.sc.aplus small { font-size: 10px; color: var(--amber); }

/* پنلِ پیشرفته: فرزندِ مستقیمِ سربرگ، عرضِ کامل از لبهٔ راست، دو ردیف با دو رنگ و قاب */
header.top > .advpanel {
  flex: 1 1 100%; width: 100%; order: 99; margin: 0;
  padding: 0; border: 0; background: transparent; gap: 3px;
}
.advrow { flex-wrap: wrap; padding: 2px 8px; border-radius: 8px; gap: 0 9px; line-height: 1.55; }
.advrow.advdom { border: 1px solid rgba(14,124,139,.45); background: rgba(14,124,139,.07); }
.advrow.adviss { border: 1px solid rgba(169,106,5,.45); background: rgba(169,106,5,.08); }
.advrow.advdom .advlab { color: var(--teal); }
.advrow.adviss .advlab { color: var(--amber); }
.advrow .sc { font-size: 10.8px; }
.advrow.advdom .sc input { accent-color: var(--teal); }
.advrow.adviss .sc input { accent-color: var(--amber); }

/* ستونِ اول: سه کادرِ به‌هم‌چسبیده، هرکدام با قاب و رنگِ خودش، بی‌عنوان */
.colwrap[data-level="0"] { gap: 0; }
.colwrap[data-level="0"] > #toprail { margin: 0; }
#toprail .lrcol {
  border: 2px solid var(--indigo); border-right: 0; border-radius: 0 var(--radius) 0 0;
  background: rgba(74, 79, 191, .08);
}
.colwrap[data-level="0"] > section.col[data-level="0"] {
  border: 2px solid var(--teal); border-right: 0; border-top: 0; border-radius: 0;
  background: var(--card);
}
.colwrap[data-level="0"] > #leftrail > .lrcol[data-lr="0"] {
  border: 2px solid var(--amber); border-right: 0; border-top: 0; border-radius: 0 0 0 var(--radius);
  background: rgba(169, 106, 5, .08);
}
@media (max-width: 640px) {
  .brand { flex-direction: row; align-items: center; flex-wrap: wrap; }
  .homebtn { font-size: 11.5px; padding: 2px 9px; }
  .askbtn { padding: 8px 12px; font-size: 13.5px; }
  .askbtn small { display: block; font-size: 9.5px; line-height: 1; }
}

/* قرارداد در یک کادر (۱۴۰۵/۰۷/۰۴): مقدمهٔ جمع‌شده + بندها؛ توضیح با قلمِ متن، پرامپت با قلمِ پرامپت */
.art.cintro .txt { white-space: pre-wrap; }
.art.cintro .txt.clamp { max-height: 7.2em; overflow: hidden; position: relative; }
.art.cintro .txt.clamp::after {
  content: ""; position: absolute; inset: auto 0 0 0; height: 2.4em;
  background: linear-gradient(transparent, var(--card));
}
.moretoggle {
  margin: 4px 0 0; padding: 3px 12px; border-radius: 999px; cursor: pointer;
  font: inherit; font-size: 12.5px; font-weight: 700; color: var(--teal);
  background: transparent; border: 1px dashed var(--teal);
}
.art.clause .cdesc { font-weight: 700; font-size: 14.5px; color: var(--hi); margin: 2px 0 6px; line-height: 1.8; }
.art.clause .promptfrag {
  white-space: pre-wrap; direction: rtl;
  font-family: "Vazirmatn", Tahoma, monospace; font-size: 12.5px; line-height: 1.85; color: #3b3a6b;
  background: rgba(74, 79, 191, .07); border-right: 3px solid var(--indigo);
  padding: 6px 10px; border-radius: 6px;
}
.art.clause .promptfrag::before {
  content: "پرامپت"; display: inline-block; margin-left: 6px; padding: 0 6px; border-radius: 4px;
  font-size: 10px; font-weight: 800; color: #fff; background: var(--indigo); vertical-align: 1px;
}
.art.clause .arthead h3, .art.cintro .arthead h3 { white-space: nowrap; flex: 0 0 auto; }
.contractpage .art { margin: 12px 0; padding: 10px 12px; background: var(--card); border: 1px solid var(--line); border-radius: 12px; }
.contractpage .arthead { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.contractpage .arthead h2 { font-size: 16px; margin: 0; color: var(--teal); }
.introdet summary { cursor: pointer; color: var(--teal); font-weight: 700; font-size: 13px; }
.introdet .txt { white-space: pre-wrap; margin-top: 8px; }

/* ───────── ۱۴۰۵/۰۷/۰۴ دورِ پنجم (حامد) ─────────
   «چرا چند تای اول لیست کاملاً مشکی و بقیه رنگی؟ با رنگ و بولد ارتباط و لینک را نشان بده.»
   پیوند = فیروزه‌ای و پررنگ؛ شمارهٔ ماده = کهربایی؛ نامِ قانونِ سرگروه = فیروزه‌ای؛ متن = عادی. */
.lawbank .lblaws a, .larts .lawgrp a { color: var(--teal); font-weight: 700; }
.lawbank .artno, .lawbank .artno b { color: #9A5B00; font-weight: 800; }
.lawbank .artno:hover b, .lawbank .lblaws a:hover { text-decoration: underline; }
.hit h2 a { color: var(--teal); font-weight: 700; }
.lrefs { font-size: 11.5px; font-weight: 500; color: var(--lo); background: rgba(14,124,139,.08);
  border: 1px solid rgba(14,124,139,.22); border-radius: 999px; padding: 0 7px; margin-inline-start: 8px; }
/* 🔒 قفلِ «منطبق با منبعِ رسمی» — جلوی عنوان */
.vlock { font-size: .72em; margin-inline-end: 5px; vertical-align: 1px; opacity: .85; cursor: help; }
@media (prefers-color-scheme: dark) {
  .lawbank .artno, .lawbank .artno b { color: #F2B45A; }
}
.pwbox { margin: 10px 0 16px; padding: 12px 14px; border: 1px dashed var(--amber, #B7791F); border-radius: 10px;
  background: rgba(183,121,31,.07); line-height: 1.9; }

/* ⭐ ۰۷/۰۴ دورِ پنجم — ستونِ دوم: هر ۴ سلولِ یک شاخه در یک کادرِ رنگی؛ نامِ شاخه درشت و پررنگ */
.item.tone-2 { background: rgba(183, 121, 31, .08); }
.item.tone-3 { background: rgba(46, 125, 50, .08); }
.item.tone-4 { background: rgba(156, 39, 176, .07); }
.item.tone-5 { background: rgba(198, 40, 40, .06); }
.item.tone-0 { --gc: #0E7C8B; } .item.tone-1 { --gc: #4A4FBF; } .item.tone-2 { --gc: #B7791F; }
.item.tone-3 { --gc: #2E7D32; } .item.tone-4 { --gc: #9C27B0; } .item.tone-5 { --gc: #C62828; }
.colwrap[data-level="1"] .item[class*="tone-"] { border-inline-start: 4px solid var(--gc); border-inline-end: 1px solid var(--gc); }
.colwrap[data-level="1"] .item.gfirst { border-top: 1px solid var(--gc); border-start-start-radius: 8px; border-start-end-radius: 8px; margin-top: 8px; }
.colwrap[data-level="1"] .item.glast { border-bottom: 1px solid var(--gc); border-end-start-radius: 8px; border-end-end-radius: 8px; }
.item .brn { font-size: 1.22em; font-weight: 800; color: var(--gc, inherit); }
/* «به زودی» روی سلول‌های دعاوی */
.soonchip { display: inline-block; font-size: 10.5px; font-weight: 700; color: #B7791F; border: 1px solid #B7791F;
  border-radius: 999px; padding: 0 6px; margin-inline-start: 6px; vertical-align: 1px; }
/* A+ درشت‌تر (حامد ۰۷/۰۴ دورِ پنجم) */
.askbtn small { font-size: 13.5px !important; font-weight: 900 !important; }
.sc.aplus small { font-size: 12.5px; font-weight: 800; color: var(--amber, #B7791F); }
.item .brn { margin-inline-end: 8px; }

/* ═════════ امضای «hamed rostami» زیرِ دکمهٔ خانه (حامد ۰۷/۰۴) ═════════
   خطِ دست‌نویس + گرادیانِ جاری (حسِ «زنده») + خطِ مداری با نبضی که رویش می‌دود (حسِ شبکهٔ عصبی / هوش مصنوعی). */
@font-face { font-family: "LexaSig"; src: url("/static/fonts/great-vibes.woff2") format("woff2");
  font-display: swap; font-weight: 400; }
.sig { position: relative; display: inline-flex; align-items: center; gap: 5px; direction: ltr;
  margin: -1px 2px 1px 0; padding-bottom: 4px; line-height: 1; }
.sigtxt { font-family: "LexaSig", "Segoe Script", cursive; font-size: 23px; letter-spacing: .3px;
  background: linear-gradient(90deg, #0E7C8B, #4A4FBF, #9C27B0, #22D3EE, #0E7C8B);
  background-size: 300% 100%; -webkit-background-clip: text; background-clip: text; color: transparent;
  animation: sigflow 9s linear infinite; filter: drop-shadow(0 0 5px rgba(74, 79, 191, .22)); }
.sig::before { content: ""; position: absolute; left: 4px; right: 12px; bottom: 1px; height: 1px;
  background: linear-gradient(90deg, rgba(14,124,139,0), rgba(74,79,191,.55) 30%, rgba(156,39,176,.55) 70%, rgba(34,211,238,0)); }
.sig::after { content: ""; position: absolute; bottom: -1px; left: 4px; width: 5px; height: 5px; border-radius: 50%;
  background: #22D3EE; box-shadow: 0 0 6px 2px rgba(34, 211, 238, .7); animation: sigpulse 4.5s ease-in-out infinite; }
.signode { width: 6px; height: 6px; border-radius: 50%; background: #9C27B0; align-self: flex-end; margin-bottom: -2px;
  box-shadow: 0 0 0 2px rgba(156,39,176,.18), 0 0 8px rgba(156,39,176,.6); animation: signode 4.5s ease-in-out infinite; }
@keyframes sigflow { to { background-position: 300% 0; } }
@keyframes sigpulse { 0% { left: 4px; opacity: 0; } 10% { opacity: 1; } 80% { opacity: 1; } 90%, 100% { left: calc(100% - 16px); opacity: 0; } }
@keyframes signode { 0%, 82% { transform: scale(1); } 90% { transform: scale(1.6); box-shadow: 0 0 0 4px rgba(156,39,176,.15), 0 0 14px rgba(156,39,176,.9); } 100% { transform: scale(1); } }
.brand:hover .sigtxt { animation-duration: 3s; }
@media (prefers-reduced-motion: reduce) { .sigtxt, .sig::after, .signode { animation: none; } .sig::after { display: none; } }
@media (prefers-color-scheme: dark) { .sigtxt { background-image: linear-gradient(90deg, #22D3EE, #8B8FFF, #D07CFF, #22D3EE); } }
@media (max-width: 760px) { .sigtxt { font-size: 19px; } }
@media (max-width: 760px) {
  /* موبایل: امضا کنارِ دکمهٔ خانه؛ نوارهای پیشرفت روی هم نیفتند */
  .sig { margin: 0 4px; padding-bottom: 3px; }
  .prow { flex: 0 0 auto; }
  .pbar { position: relative; overflow: hidden; display: inline-block; }
  .pbar i { display: block; height: 100%; max-width: 100%; }
}
@media (max-width: 760px) {
  /* ۰۷/۰۴: دو نوارِ پیشرفت در موبایل روی هم می‌افتادند (۷۵٪ روی «جستجو») ⇒ دو سطرِ فشرده */
  .prog { flex-direction: row; flex-wrap: wrap; }
  .prog .ucline { flex: 0 0 100%; }
  .prog .prow { flex: 0 0 auto; min-width: max-content; margin-inline-end: 12px; }
  .prog .pnum { flex: 0 0 auto; }
}
/*  ⚠ رنگ از خودِ فوتر ارث می‌برد؛ رنگِ روشنِ دستی روی پس‌زمینهٔ روشن نامرئی شد (۰۷/۰۴) */
.tgline { margin: 8px 0 4px; font-size: 14px; font-weight: 700; text-align: center; color: var(--hi); }
.tgline a { font-weight: 800; color: var(--teal); unicode-bidi: isolate; }
/* جستجوی مرحله‌ای */
.hitsloading { color: var(--lo); font-size: 14px; padding: 14px 4px; }
.hitsloading .spin { display: inline-block; width: 14px; height: 14px; margin-inline-end: 6px; vertical-align: -2px;
  border: 2px solid rgba(14,124,139,.25); border-top-color: var(--teal); border-radius: 50%; animation: lxspin .8s linear infinite; }
@keyframes lxspin { to { transform: rotate(360deg); } }

/* ───────── تاریخچه و اعتبار (۱۴۰۵/۰۷/۰۴) ───────── */
.effbox { margin: 14px 0; padding: 12px 14px; border: 1px solid var(--amber, #B7791F); border-radius: 10px;
  background: rgba(183, 121, 31, .06); }
.effbox h2 { margin: 0 0 4px; font-size: 15px; }
.effbox h2 i { font-style: normal; font-size: 12px; color: var(--lo); }
.effbox .effhint { margin: 0 0 8px; font-size: 12.5px; color: var(--lo); line-height: 1.8; }
.effbox ul { list-style: none; margin: 0; padding: 0; }
.effbox li { padding: 6px 0; border-top: 1px solid var(--line); font-size: 13.5px; line-height: 1.9; }
.effbox li:first-child { border-top: 0; }
.effkind { display: inline-block; font-size: 11.5px; font-weight: 800; border-radius: 999px; padding: 1px 8px;
  margin-inline-end: 6px; background: rgba(183,121,31,.16); color: #8a5a10; white-space: nowrap; }
.eff.k-repeals .effkind, .eff.k-annuls .effkind { background: rgba(198,40,40,.14); color: #a32020; }
.effwhole { font-size: 11px; font-weight: 700; color: #a32020; margin-inline-end: 6px; }
.effdate { font-size: 12px; color: var(--lo); margin-inline-end: 6px; font-variant-numeric: tabular-nums; }
.efftitle { font-weight: 600; }
@media (prefers-color-scheme: dark) { .effkind { color: #F2B45A; } .eff.k-repeals .effkind, .eff.k-annuls .effkind { color: #FF9A9A; } }

/* ───────── ۱۴۰۵/۰۷/۰۴ — باریک‌شدنِ ستونِ پیشین وقتی ستونِ بعدی باز می‌شود (خواستهٔ حامد + عکس) ─────────
   هدف: فضای بیشتر برای متنِ ستونِ آخر. هیچ ستونی پنهان نمی‌شود؛ با ماوس/فوکوس دوباره کامل باز می‌شود. */
.colwrap.shrunk { transition: flex-basis .18s ease, width .18s ease; }
/*  ⚠ ۰۷/۰۵ — فقط flex-basis کافی نبود: عرضِ پایهٔ ستونِ اول با width/min-width نوشته شده بود و
    باریک نمی‌شد. هر چهار تا با هم نوشته می‌شوند، مثلِ بقیهٔ سطح‌ها. */
.colwrap[data-level="0"].shrunk {
  flex: 0 0 96px; width: 96px; min-width: 96px; max-width: 96px;
}
.colwrap[data-level="1"].shrunk,
.colwrap[data-level="2"].shrunk,
.colwrap[data-level="3"].shrunk,
.colwrap[data-level="4"].shrunk,
.colwrap[data-level="5"].shrunk {
  flex: 0 0 148px; width: 148px; min-width: 148px; max-width: 148px;
}
.colwrap.shrunk .item { font-size: 11px; line-height: 1.45; padding-inline: 7px; }
.colwrap.shrunk .item .num, .colwrap.shrunk .item .soonbadge { display: none; }
.colwrap.shrunk .colhead { font-size: 11px; padding: 7px 8px; }
/* برگشت به عرضِ کامل هنگامِ ماوس یا فوکوسِ صفحه‌کلید */
.colwrap.shrunk:hover, .colwrap.shrunk:focus-within {
  flex-basis: 268px; width: auto; min-width: 230px; max-width: none;
}
.colwrap[data-level="0"].shrunk:hover, .colwrap[data-level="0"].shrunk:focus-within { flex-basis: 150px; }
.colwrap.shrunk:hover .item, .colwrap.shrunk:focus-within .item { font-size: 11.5px; }
@media (prefers-reduced-motion: reduce) { .colwrap.shrunk { transition: none; } }
/* موبایل: باریک‌کردن معنا ندارد (ستون‌ها تمام‌عرض‌اند) */
@media (max-width: 760px) { .colwrap.shrunk { flex-basis: auto; width: auto; min-width: 0; max-width: none; } }

/* ───────── ۱۴۰۵/۰۷/۰۴ — امضا کنارِ کادرِ جستجو، در طیفِ قرمز-نارنجی (خواستهٔ حامد) ─────────
   جای قبلی‌اش زیرِ دکمهٔ خانه بود؛ حالا هم‌ردیفِ کادر است و کادر کمی جمع‌تر شده تا جا باز شود. */
.find .sig { flex: 0 0 auto; margin: 0 2px 0 6px; align-self: center; }
.find .sigtxt {
  background-image: linear-gradient(90deg, #C62828, #E64A19, #FF8F00, #E64A19, #C62828);
  filter: drop-shadow(0 0 5px rgba(230, 74, 25, .25));
  font-size: 22px;
}
.find .sig::before { background: linear-gradient(90deg, rgba(198,40,40,0), rgba(230,74,25,.55) 35%, rgba(255,143,0,.55) 70%, rgba(198,40,40,0)); }
.find .sig::after { background: #FF8F00; box-shadow: 0 0 6px 2px rgba(255, 143, 0, .7); }
.find .signode { background: #C62828; box-shadow: 0 0 0 2px rgba(198,40,40,.18), 0 0 8px rgba(230,74,25,.6); }
.find input { flex: 1 1 auto; min-width: 0; }
@media (prefers-color-scheme: dark) {
  .find .sigtxt { background-image: linear-gradient(90deg, #FF7043, #FFB74D, #FF8A65, #FF7043); }
}
@media (max-width: 900px) { .find .sigtxt { font-size: 18px; } }
@media (max-width: 640px) { .find .sig { display: none; } }   /* موبایل: جا نیست؛ امضا در پاورقی هست */

/* ───────── ۱۴۰۵/۰۷/۰۵ — خطِ «کمتر مرتبط» در فهرستِ جستجو (ردیفِ ۲۸۰) ─────────
   آستانه را موتور می‌سنجد؛ این فقط نمایش است. خط باید دیده شود ولی فریاد نزند. */
.lessline {
  display: flex; align-items: center; gap: 10px;
  margin: 18px 0 10px; color: var(--lo); font-size: 12.5px;
}
.lessline::before, .lessline::after {
  content: ""; flex: 1 1 auto; height: 1px;
  background: linear-gradient(90deg, transparent, var(--line), transparent);
}
.lessline span {
  flex: 0 0 auto; padding: 2px 10px; border: 1px solid var(--line);
  border-radius: 999px; background: var(--bg2);
}

/* ───────── ۱۴۰۵/۰۷/۰۵ — زمینهٔ نکته: جملهٔ ناتمامِ قبل و بعد (ردیفِ ۲۷۴) ─────────
   ⚠ باید **دیده شود که زمینه است**، نه متنِ نکته: کم‌رنگ، کج، با خطِ کناری. */
.notectx {
  color: var(--lo); font-size: 13.5px; line-height: 1.9;
  font-style: italic; margin: 6px 0; padding-inline-start: 10px;
  border-inline-start: 2px solid var(--line);
}
.notectx.before { margin-bottom: 10px; }
.notectx.after { margin-top: 10px; }

/* ───────── ۱۴۰۵/۰۷/۰۵ — امضا: قرمزِ کامل، بزرگ‌تر، با خط و زیرنویس (ردیفِ ۲۸۲) ─────────
   ⚠ «شکلش تغییر نکند»: همان فونت و همان حروفِ دست‌نویس می‌ماند؛ فقط رنگ یکدست قرمز،
   اندازه کمی بیشتر، یک خط زیرش، و زیرِ خط `Eng-Att-Prog` با همان فونت. */
.find .sigwrap { display: inline-flex; flex-direction: column; align-items: center; line-height: 1; }
.find .sigtxt {
  background-image: none;
  -webkit-text-fill-color: currentColor;
  color: #D50000;
  font-size: 26px;
  text-shadow: 0 0 6px rgba(213, 0, 0, .28);
  filter: none;
  padding-bottom: 2px;
  border-bottom: 2px solid #D50000;
}
.find .sigsub {
  font-family: inherit;               /* همان فونتِ امضا */
  color: #D50000; font-size: 11.5px; letter-spacing: .12em;
  margin-top: 3px; opacity: .95;
}
@media (prefers-color-scheme: dark) {
  .find .sigtxt { color: #FF5252; border-bottom-color: #FF5252; }
  .find .sigsub { color: #FF5252; }
}
@media (max-width: 760px) { .find .sigtxt { font-size: 21px; } .find .sigsub { font-size: 10px; } }

/* ───────── ۱۴۰۵/۰۷/۰۵ — تکه‌های برچسب‌دارِ نتیجه (ردیفِ ۲۸۵) ─────────
   سه مبنا، سه رنگ: عینِ عبارت (سبزِ قطعی) · مشابه (کهربایی) · مرتبط (آبیِ آرام).
   ⚠ رنگ **معنا دارد**، تزئین نیست: کاربر باید بداند این جمله چرا آمده. */
.passes { margin: 6px 0 0; display: flex; flex-direction: column; gap: 6px; }
.pass {
  margin: 0; font-size: 13.5px; line-height: 1.95;
  padding: 5px 9px; border-radius: 8px;
  border-inline-start: 3px solid var(--line); background: var(--bg2);
}
.pass .ptag {
  display: inline-block; font-size: 10.5px; font-weight: 700;
  padding: 1px 7px; border-radius: 999px; margin-inline-end: 7px;
  vertical-align: 1px; white-space: nowrap;
}
.p-exact   { border-inline-start-color: #2E7D32; }
.p-exact   .ptag { background: rgba(46,125,50,.16); color: #2E7D32; }
.p-similar { border-inline-start-color: #A96A05; }
.p-similar .ptag { background: rgba(169,106,5,.16); color: #A96A05; }
.p-related { border-inline-start-color: #3949AB; }
.p-related .ptag { background: rgba(57,73,171,.16); color: #3949AB; }
@media (prefers-color-scheme: dark) {
  .p-exact   .ptag { background: rgba(102,187,106,.18); color: #81C784; }
  .p-similar .ptag { background: rgba(255,183,77,.18); color: #FFB74D; }
  .p-related .ptag { background: rgba(121,134,203,.20); color: #9FA8DA; }
  .p-exact { border-inline-start-color: #66BB6A; }
  .p-similar { border-inline-start-color: #FFB74D; }
  .p-related { border-inline-start-color: #7986CB; }
}

/* ───────── ۱۴۰۵/۰۷/۰۵ — کارتِ «معنی و توضیح کلمه» و صفحهٔ واژه (ردیفِ ۲۸۷) ─────────
   حامد: «نتیجهٔ اول باید معنی و توضیح کلمه باشه … فقط چند خط.»
   ⚠ کارت باید **بالای همه** دیده شود ولی جای نتایج را نگیرد: یک بلوکِ کوتاهِ
   حاشیه‌دار، بی‌عکس، با یک لینک به صفحهٔ کاملِ واژه. */
.termcard {
  margin: 0 0 16px; padding: 12px 14px;
  background: var(--card); border: 1px solid var(--line);
  border-inline-start: 4px solid var(--teal); border-radius: 12px;
}
.termcard h2 { margin: 0 0 6px; font-size: 16.5px; }
.termcard h2 a { text-decoration: none; }
.termcard .tcdef { margin: 0 0 6px; font-size: 14.5px; line-height: 2; }
.termcard .tcsrc { margin: 0; color: var(--lo); font-size: 12px; }
.termcard .tcmeta {
  margin: 8px 0 0; display: flex; flex-wrap: wrap; gap: 4px 16px;
  font-size: 12.5px; color: var(--lo);
}
.termcard .tcmeta b { color: inherit; font-weight: 700; }
.termcard .tcmore { margin: 8px 0 0; font-size: 13px; }

.term .tdef {
  margin: 8px 0 14px; padding: 9px 12px; background: var(--bg2);
  border-radius: 10px; border-inline-start: 3px solid var(--line);
}
.term .tdef p { margin: 0 0 4px; line-height: 2; }
.term dl.tlayer { margin: 6px 0 14px; }
.term dl.tlayer dt { font-weight: 700; margin-top: 8px; }
.term dl.tlayer dd { margin: 2px 0 0; padding-inline-start: 12px; line-height: 1.95; }
.term ul.tlist, .term ul.tdocs { margin: 6px 0 14px; padding-inline-start: 18px; }
.term ul.tlist li, .term ul.tdocs li { margin: 3px 0; line-height: 1.9; }
.term .alts { line-height: 2.2; }

/* «چرا این سند اینجاست» کنارِ اسنادِ هم‌موضوع (ردیفِ ۲۸۸) */
.simrow .simwhy {
  display: block; color: var(--lo); font-size: 12px; margin-top: 2px;
  padding-inline-start: 2px;
}

/* ⭐ ردیفِ ۲۹۲ — قوانینِ بین‌الملل: بندِ انگلیسی و ترجمهٔ فارسی زیرش */
.intlbands .band{margin:.55rem 0;padding:.45rem .7rem;border-inline-start:3px solid var(--line,#ddd);border-radius:4px}
.intlbands .band.lvl1{margin-inline-start:1.2rem}
.intlbands .band.lvl2{margin-inline-start:2.4rem}
.intlbands .band.lvl3{margin-inline-start:3.4rem}
.intlbands .en,.intlhead .en{direction:ltr;text-align:left;font-family:Georgia,"Times New Roman",serif;font-size:.93em;line-height:1.65;opacity:.85}
.intlbands .fa,.intlhead .fa{margin-top:.3rem;line-height:1.95}
.intlch h2{font-size:1.05rem;margin:1.2rem 0 .4rem}
.intlch ul{margin:0;padding-inline-start:1.2rem;line-height:2}
.intlnav{display:flex;justify-content:space-between;gap:1rem;margin:1.4rem 0}
.intlfind{display:flex;gap:.5rem;margin:.8rem 0}.intlfind input{flex:1;padding:.45rem}
.intlhits .fa{opacity:.8;font-size:.92em}

/* ⭐ ردیفِ ۲۹۹ — جستجوی معنایی (رنگِ «مربوط»: آبی) */
.semsec{margin:1rem 0;padding:.6rem .9rem;border-inline-start:3px solid #3b82f6;border-radius:4px}
.semsec h2{font-size:1rem;margin:0 0 .4rem}.semtag{font-size:.78em;font-weight:normal;opacity:.7}
.semitem{margin:.45rem 0}.semkind{opacity:.7;font-size:.9em}.semsnip{display:block;font-size:.88em;opacity:.8;margin-top:.15rem}

/* ⚠ ردیفِ ۳۰۶ — نوارِ «با متنِ رسمی کنترل نشده»: کوچک، بالای صفحه، بی‌سروصدا */
.notverified{display:flex;align-items:center;gap:.4rem;margin:.35rem 0 .7rem;padding:.25rem .5rem;
  border-inline-start:3px solid #d9a441;border-radius:3px;background:rgba(217,164,65,.07)}
.notverified .nvtri{color:#d9a441;font-size:.95rem;line-height:1}
.notverified .nvtxt{font-size:.74rem;opacity:.78;line-height:1.5}
@media(max-width:480px){.notverified .nvtxt{font-size:.7rem}}

/* ⚠ ردیفِ ۳۱۴ — «قسمتِ اضافهٔ نسخهٔ قبلیِ ما» زیرِ متنِ رسمی: مثلث + خط‌چین، بی توضیحِ اضافه */
.extratext{display:flex;gap:.45rem;align-items:flex-start;margin:.6rem 0 .2rem;line-height:1.95}
.extratext .extratri{color:#d9a441;flex:0 0 auto;font-size:.95rem;line-height:1.9}
.extratext .extrabody{border-bottom:1px dashed #d9a441;padding-bottom:.12rem}

/* ⭐ ۰۷/۰۷ (حامد): نوارِ معرفیِ افراد در پایینِ صفحهٔ اول — یک ردیف در عرضِ صفحه، خانه‌های هم‌اندازه */
.people { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px;
  margin: 18px auto 22px; padding: 0 12px; max-width: 1400px; }
.pcard { display: flex; gap: 12px; align-items: flex-start; background: var(--card, #fff);
  border: 1px solid var(--line, #e3e3e3); border-radius: 10px; padding: 12px; min-height: 150px; }
.pphoto { flex: 0 0 96px; width: 96px; height: 120px; border-radius: 8px; overflow: hidden;
  background: var(--soft, #f1f1f1); }
.pphoto img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pbody { flex: 1; min-width: 0; }
.pname { margin: 0 0 6px; font-size: 1rem; }
.pbio { margin: 0; font-size: .86rem; line-height: 1.8; color: var(--lo, #555);
  display: -webkit-box; -webkit-line-clamp: 8; -webkit-box-orient: vertical; overflow: hidden; }
.pempty .pphoto { background: repeating-linear-gradient(45deg, var(--soft, #f1f1f1), var(--soft, #f1f1f1) 8px, transparent 8px, transparent 16px); }
.pempty .pbio { height: 96px; border-radius: 6px; background: var(--soft, #f4f4f4); }
@media (max-width: 560px) { .pcard { flex-direction: column; align-items: center; } .pphoto { width: 110px; flex-basis: auto; } }

/* ⭐ ۰۷/۰۷ (حامد): عبارتِ زیرِ «Hamed Rostami» با همان فونتِ نام (اندازه و وزن)، بی‌زیرخط */
.credit .hrtag { font-size: 1.25em; font-weight: 800; letter-spacing: .2px; }
.signbar .fa, .signbar .tag { font-weight: 700; letter-spacing: .2px; font-size: 1em; }

/* ⭐ ۰۷/۰۷ (حامد): حداقل ۸ خانه؛ کمی توضیح کنارِ عکس، بقیه زیرِ عکس */
.people { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.pcard { flex-direction: column; align-items: stretch; gap: 8px; }
.ptop { display: flex; gap: 12px; align-items: flex-start; }
.pside { flex: 1; min-width: 0; }
.pside .pbio { -webkit-line-clamp: 6; }
.prest { margin: 0; font-size: .86rem; line-height: 1.8; color: var(--lo, #555); }
.pempty .prest { height: 44px; border-radius: 6px; background: var(--soft, #f4f4f4); }
.pempty .pside .pbio { height: 88px; }
@media (max-width: 560px) { .pcard { flex-direction: column; align-items: stretch; } .ptop { align-items: center; } }

/* ۱۴۰۵/۰۷/۱۰ — هشتگ‌های زیرِ عنوان + روابطِ واژه (فهرستِ حامد) */
.htags{font-size:.78rem;line-height:1.9;margin:.2rem 0 .6rem;color:#666}
.htags a{color:#2a5d8f;text-decoration:none;margin-inline-end:.35rem;white-space:nowrap}
.htags a.o{color:#8a8a8a}
.htags a:hover{text-decoration:underline}
.rvent{margin:.4rem 0 1rem}
.rvterm{font-weight:600;margin:.2rem 0}
.rvrels{display:grid;grid-template-columns:max-content 1fr;gap:.25rem .8rem;margin:0}
.rvrels dt{font-weight:600;color:#444;white-space:nowrap}
.rvrels dd{margin:0}
.rvlab{font-size:.8em;color:#888}
@media (max-width:640px){.rvrels{grid-template-columns:1fr}.rvrels dt{margin-top:.4rem}}

/* ۱۴۰۵/۰۷/۱۱ — متنِ کنارِ عکس سطر به سطر (همان‌طور که حامد نوشت) */
.pside .pbio{white-space:pre-line}

/* ۱۴۰۵/۰۷/۱۱ — دکمهٔ «تحلیل کنیم» با نشانهٔ پرونده+گفتگو+هوش مصنوعی */
.askbtn{display:inline-flex;align-items:center;gap:6px}
.askbtn .askico{flex:none;color:var(--amber, #c8891a)}

/* ۱۴۰۵/۰۷/۱۱ (حامد): «وقتی متنِ قانون ظاهر می‌شود قرار شد عرضِ ستون‌های قبلی کم بماند … چرا برمی‌گردد به عرضِ اولیه»
   علت: کلیک روی ستونِ باریک به آن فوکوس می‌داد و :focus-within / :hover آن را دوباره پهن می‌کرد.
   ⇒ ستونِ باریک باریک می‌ماند (ماوس و فوکوس دیگر پهنش نمی‌کنند). */
.colwrap[data-level="0"].shrunk:hover, .colwrap[data-level="0"].shrunk:focus-within {
  flex: 0 0 96px; width: 96px; min-width: 96px; max-width: 96px;
}
.colwrap[data-level="1"].shrunk:hover, .colwrap[data-level="1"].shrunk:focus-within,
.colwrap[data-level="2"].shrunk:hover, .colwrap[data-level="2"].shrunk:focus-within,
.colwrap[data-level="3"].shrunk:hover, .colwrap[data-level="3"].shrunk:focus-within,
.colwrap[data-level="4"].shrunk:hover, .colwrap[data-level="4"].shrunk:focus-within,
.colwrap[data-level="5"].shrunk:hover, .colwrap[data-level="5"].shrunk:focus-within {
  flex: 0 0 148px; width: 148px; min-width: 148px; max-width: 148px;
}
.colwrap.shrunk:hover .item, .colwrap.shrunk:focus-within .item { font-size: 11px; }
@media (max-width: 760px) { .colwrap.shrunk:hover, .colwrap.shrunk:focus-within { flex-basis: auto; width: auto; min-width: 0; max-width: none; } }

/* ۱۴۰۵/۰۷/۱۱ — نقشهٔ روابط */
.rvmap{margin:.5rem 0 1rem;border:1px solid var(--line,#e3e3e3);border-radius:10px;padding:.4rem;background:var(--card,#fff)}
.rvmap svg{width:100%;height:auto;display:block}
.rvmap .rvc{fill:#fff7e6;stroke:#c8891a;stroke-width:2}
.rvmap .rvct{font-size:15px;font-weight:800;fill:#333}
.rvmap .rvnt{font-size:12px;font-weight:600;paint-order:stroke;stroke:#fff;stroke-width:3px}
.rvmap a:hover .rvnt{text-decoration:underline}
.rvmap figcaption{font-size:.75rem;color:#666;display:flex;flex-wrap:wrap;gap:.3rem .8rem;padding:.3rem .4rem 0}
.rvleg i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-inline-end:4px;vertical-align:middle}
@media (prefers-color-scheme: dark){.rvmap .rvc{fill:#3a2e14}.rvmap .rvct{fill:#eee}.rvmap .rvnt{stroke:#1d1d1d}}

/* ۱۴۰۵/۰۷/۱۱ — تیکِ آرشیو و صفحهٔ تازه‌ها */
.advarch{display:flex;align-items:center;gap:.8rem}
.tazelink{font-size:.85rem}
.tzlist{list-style:none;padding:0;margin:.5rem 0}
.tzlist li{padding:.25rem 0;border-bottom:1px dashed var(--line,#e6e6e6)}
.tzlist .tzday{font-weight:700;color:#888;border:0;margin-top:.8rem}
.tzk{font-size:.8em;color:#888}
.tzdom{margin-inline-start:.6rem;font-size:.85rem}
.tzdom.on{font-weight:800;text-decoration:underline}

/* ۱۴۰۵/۰۷/۱۱ — کادرِ آرشیو/تازه‌ها در ردیفِ صادرکننده */
.advbox{display:inline-flex;align-items:center;gap:.6rem;margin-inline-start:.8rem;padding:.15rem .6rem;
  border:1px solid var(--line,#d9d9d9);border-radius:8px;background:var(--soft,#fafafa)}
.advbox .sc{margin:0}
/* ۱۴۰۵/۰۷/۱۱ — قوانین و مقررات در ستون‌های تخصصی: بالا و پررنگ‌تر */
.item.lawish{font-weight:800}
/* ۱۴۰۵/۰۷/۱۱ — نوارِ افراد: عکس بزرگ‌تر، نوشته زیرِ عکس؛ هشت نفر در یک ردیف روی رایانه */
.people{grid-template-columns:repeat(8,minmax(0,1fr));gap:12px}
.pcard{flex-direction:column;align-items:center;text-align:center;gap:6px;padding:10px 8px}
.ptop{flex-direction:column;align-items:center;gap:6px;width:100%}
.pphoto{flex:none;width:100%;max-width:132px;height:auto;aspect-ratio:3/4}
.pside{width:100%}
.pside .pname{font-size:.92rem;margin:2px 0}
.pside .pbio{font-size:.8rem;line-height:1.7;-webkit-line-clamp:unset}
.pempty .pside .pbio{height:52px}
.pempty .prest{display:none}
@media (max-width:1100px){.people{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:560px){.people{grid-template-columns:repeat(2,minmax(0,1fr))}}

.repnote{color:#b45309;font-size:.85em}
.snipgap{color:var(--lo);margin:0 4px;font-weight:700}
.ocrwarn{display:inline-block;margin:6px 0;color:#c77700;font-size:20px;line-height:1}

/* ۰۷/۱۱: «تحلیل کنیم» خاکستری (غیرفعال) · دکمهٔ تالار */
.greyed{filter:grayscale(1);opacity:.45!important;cursor:not-allowed}
.greyed .askico,.greyed small{color:inherit!important}
.forumbtn{display:inline-flex;align-items:center;justify-content:center;padding:9px 16px;margin-top:6px}
/* تالار */
.forum .fboxes{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.forum .fbox{border:1px solid var(--line);border-radius:12px;padding:10px 14px;background:var(--card)}
.forum .fbox h2{font-size:16px;margin:4px 0 8px}
.forum .fbox ul,.forum .ftopics{list-style:none;padding:0;margin:0}
.forum .fbox li,.forum .ftopics li{padding:5px 0;border-bottom:1px dashed var(--line);display:flex;justify-content:space-between;gap:8px}
.forum .fcnt{font-size:12px;color:var(--lo);white-space:nowrap}
.forum .fpost{border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin:10px 0;background:var(--card)}
.forum .fmeta{font-size:12.5px;color:var(--lo);margin-bottom:6px}
.forum .fbody{line-height:1.9}
.forum .fform{display:flex;flex-direction:column;gap:8px;margin-top:18px;max-width:760px}
.forum .fform input,.forum .fform textarea{font:inherit;padding:8px;border:1px solid var(--line);border-radius:8px}
.forum .fform button{align-self:flex-start;padding:8px 22px}
.forum .ferr{color:#b3261e}

/* ۰۷/۱۲ (حامد): عنوانِ «گروه آلکسا» بالای نوارِ افراد + کادرِ عکس‌ها */
.people-title{font-size:1.05rem;font-weight:600;text-align:center;margin:28px 0 10px;color:var(--ink,#333);letter-spacing:.02em}
.people-title::after{content:"";display:block;width:56px;height:2px;margin:6px auto 0;background:currentColor;opacity:.35;border-radius:2px}
.pcard .pphoto{aspect-ratio:4/5;border-radius:10px;padding:3px;background:linear-gradient(145deg,#c9a96e,#8a6d3b);box-shadow:0 2px 8px rgba(0,0,0,.15);overflow:hidden}
.pcard .pphoto img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;border-radius:8px;display:block;background:#fff}
.pcard .pphoto:empty{background:linear-gradient(145deg,#d9d2c4,#b5aa95)}
.pcard .pbio{white-space:pre-line}

/* ═════════ ۱۴۰۵/۰۷/۱۳ — تغییراتِ پس از نسخهٔ ۱ (حامد) ═════════ */

/* ① سربرگ: عکسِ Aillexa به‌جای «در دستِ ساخت» + دکمهٔ «صفحهٔ اول» مستطیلِ عمودی سمتِ راستِ عکس.
      عکس هم‌قدِ همهٔ ردیف‌های سربرگ (کادرِ جستجو، تیک‌ها، حوزه، صادرکننده) است. */
.brandpic { display: block; position: relative; }
.brandpic img { display: block; width: 100%; height: 100%; object-fit: contain; border-radius: 8px; background: #fff; }
@media (min-width: 641px) {
  header.top { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 12px; row-gap: 4px; align-items: stretch; }
  header.top > .brand { grid-column: 1; grid-row: 1 / span 2; flex-direction: row; align-items: stretch; gap: 6px; width: auto; }
  header.top > .findwrap { grid-column: 2; grid-row: 1; align-self: center; }
  header.top > .advpanel { grid-column: 2; grid-row: 2; order: 0; }
  .brand .homebtn {
    flex-direction: column; justify-content: center; gap: 6px; text-align: center;
    width: 46px; padding: 8px 4px; border-radius: 10px; font-size: 12.5px; line-height: 1.35;
  }
  .brand .homebtn span { white-space: normal; word-spacing: 100vw; }   /* «صفحهٔ / اول» در دو سطر */
  .brand .homebtn svg { width: 20px; height: 20px; }
  .brandpic { height: 150px; width: 172px; align-self: center; }
  .brandpic picture { display: block; width: 100%; height: 100%; }
}
@media (max-width: 640px) {
  .brand { flex-direction: row; align-items: center; }
  .brandpic { height: 64px; width: 74px; }
}

/* ② فونت (کوچک/متوسط/بزرگ + بولد) و رنگ (۱/۲/۳) — فقط دسکتاپ */
.viewopt { display: inline-flex; align-items: center; gap: 2px 8px; font-size: 12px; white-space: nowrap; }
.viewopt label { display: inline-flex; align-items: center; gap: 3px; cursor: pointer; }
.viewopt .vlab { font-weight: 700; color: var(--hi); }
.vth i { display: inline-block; width: 12px; height: 12px; border-radius: 50%; border: 1px solid rgba(0,0,0,.25); }
.vth.t1 i { background: linear-gradient(135deg, #EFE7D6 50%, #0E7C8B 50%); }
.vth.t2 i { background: linear-gradient(135deg, #FFF7EC 50%, #FF5E7E 50%); }
.vth.t3 i { background: linear-gradient(135deg, #EEF2F7 50%, #1F3A5F 50%); }
@media (max-width: 640px) { .viewopt { display: none !important; } }

html[data-fs="s"] .txt, html[data-fs="s"] .snip, html[data-fs="s"] .item .t { font-size: 13.5px; }
html[data-fs="l"] .txt { font-size: 19px; }
html[data-fs="l"] .snip, html[data-fs="l"] .item .t { font-size: 16px; }
html[data-fs="l"] .colwrap.shrunk .item .t { font-size: 13px; }
html[data-fb="1"] .txt, html[data-fb="1"] .snip, html[data-fb="1"] .item .t { font-weight: 700; }

/* رنگِ ۲ — شاد و باکلاس: کاغذِ گرم و روشن، فیروزه‌ای، سرخابی، بنفش */
html[data-th="2"] {
  --bg: #FFF7EC; --bg2: #FFE9D2; --card: #FFFDF8; --line: #F3CFA8;
  --teal: #0FA3A3; --indigo: #6C4CF1; --violet: #D6337A; --amber: #E8590C;
  --hi: #2B1B2E; --lo: #7A5C6E;
}
/* رنگِ ۳ — انتخابِ من: آبیِ سرمه‌ایِ آرام روی خاکستریِ سرد (رسمی و خوانا) */
html[data-th="3"] {
  --bg: #EEF2F7; --bg2: #E1E8F1; --card: #FBFCFE; --line: #C9D3E0;
  --teal: #1F6FB2; --indigo: #1F3A5F; --violet: #5B4B9A; --amber: #A3711C;
  --hi: #16202C; --lo: #5A6778;
}
html[data-th="2"] body, html[data-th="3"] body { background: var(--bg); }

/* ③ هنگامِ خواندنِ متن: همهٔ ستون‌ها باریک می‌مانند و قابِ متن تمام‌عرض. با کلیک (فوکوس) دیگر پهن نمی‌شوند. */
.colwrap.shrunk:focus-within:not(:hover) { flex-basis: 148px; width: 148px; min-width: 148px; max-width: 148px; }
.colwrap[data-level="0"].shrunk:focus-within:not(:hover) { flex-basis: 96px; width: 96px; min-width: 96px; max-width: 96px; }
@media (min-width: 761px) {
  .cols.reading .colwrap.shrunk:hover { flex-basis: 148px; width: 148px; min-width: 148px; max-width: 148px; }
  .cols.reading .colwrap[data-level="0"].shrunk:hover { flex-basis: 96px; width: 96px; min-width: 96px; max-width: 96px; }
  .cols.reading .readerwrap { flex: 1 1 auto; min-width: 0; }
}

/* ④ موبایل: کشوهای پی‌درپی */
.mpick { display: flex; flex-direction: column; gap: 8px; margin: 8px 0 10px; }
.msel {
  width: 100%; font: inherit; font-size: 14px; padding: 9px 10px; border-radius: 10px;
  border: 1.5px solid var(--teal); background: var(--card); color: var(--hi);
}
.msel + .msel { border-color: var(--indigo); }
body.mpick-on #cols > .colwrap[data-level] { display: none; }
body.mpick-on #cols { overflow: visible; }
body.mpick-on #cols > .readerwrap { flex: 1 1 100%; min-width: 0; width: 100%; }

/* ⑤ پروفایل‌ها: دو کادر — راست وکلا، چپ مهندس و کسب‌وکار */
.pgroups { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 18px; }
.pgroup { border: 1.5px solid var(--line); border-radius: 14px; padding: 10px 10px 12px; background: var(--card); }
.pgroup-title { margin: 0 0 10px; text-align: center; font-size: 1rem; font-weight: 700; color: var(--hi); }
.pgroup .people { grid-template-columns: repeat(var(--pcols, 4), minmax(0, 1fr)); gap: 10px; }
.pgroup .pcard { padding: 8px 6px; }
.pgroup .pempty .pphoto { opacity: .55; }
@media (max-width: 1000px) { .pgroups { grid-template-columns: 1fr; } }
@media (max-width: 560px) {
  .pgroup .people { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pgroup .pempty { display: none; }
  .pgroup .pphoto, .pcard .pphoto { max-width: 74px; margin-inline: auto; }
  .pcard .pbio { font-size: 11.5px; }
}

/* ⑥ معرفیِ Ailexa بالای خطِ تماس */
.aboutline { max-width: 900px; margin: 14px auto 6px; text-align: center; line-height: 1.9; font-size: 13.5px; color: var(--hi); }

/* ⑦ موبایل: کادرِ جستجو به چند پیکسل فشرده می‌شد (امضا + دو دکمه کنارش) ⇒ عبارتِ خالی به سرور می‌رفت
      و «بیع» هیچ نتیجه نمی‌داد. حالا کادر یک ردیفِ کامل است و دکمه‌ها زیرش. */
@media (max-width: 640px) {
  .find { flex-wrap: wrap; row-gap: 6px; }
  .find input[name="q"] { order: -1; flex: 1 1 100%; width: 100%; min-width: 0; }
  .find button[type="submit"] { flex: 1 1 auto; }
}
@media (min-width: 641px) and (max-width: 1100px) { .brandpic { height: 112px; width: 129px; } }
/* سربرگِ تازه کمی باریک‌تر شد ⇒ تیک‌های دامنه یک‌ردیفه می‌مانند و «متن/عنوان + فونت + رنگ» در صورتِ کمبودِ جا با هم به سطرِ بعد می‌روند */
@media (min-width: 641px) {
  .toolbar { flex-wrap: wrap; row-gap: 4px; }
  .toolbar .scopes { flex: 0 1 auto; flex-wrap: nowrap; }
  .viewopt { font-size: 11.5px; gap: 2px 6px; }
}

/* ═════════ ۰۷/۱۳-ب (حامد): تگ‌های «عینِ عبارت · …» هم‌رنگِ زمینه بودند ═════════
   علت: قاعدهٔ prefers-color-scheme:dark رنگِ روشن می‌داد ولی زمینهٔ سایت همیشه روشن است. ⇒ رنگِ توپر + متنِ سفید، در هر دو حالت. */
.pass .ptag, html .p-exact .ptag, html .p-similar .ptag, html .p-related .ptag { color: #fff !important; font-weight: 700; }
html .p-exact .ptag   { background: #2E7D32 !important; }
html .p-similar .ptag { background: #9A5B00 !important; }
html .p-related .ptag { background: #3949AB !important; }

/* ═════════ ۱۴۰۵/۰۷/۱۸ (حامد) ═════════ */
/* لوگو با کادر و «home» زیرش؛ زیرِ آن «سایت همچنان در حال تکمیل می‌باشد». دکمهٔ صفحهٔ اول حذف شد. */
.brandcol { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.brandcol .brand { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 4px 4px 2px;
  border: 2px solid var(--indigo); border-radius: 12px; background: #fff; color: var(--indigo); text-decoration: none; }
.brandcol .brand:hover { box-shadow: 0 0 0 3px rgba(74,79,191,.25); }
.brandcol .brandpic { width: 172px; height: 126px; }
.brandcol .homecap { font-size: 11px; font-weight: 700; letter-spacing: .08em; line-height: 1; }
.wipnote { font-size: 12.5px; color: var(--amber); font-weight: 700; text-align: center; max-width: 180px; line-height: 1.4; }
@media (min-width: 641px) {
  header.top > .brandcol { grid-column: 1; grid-row: 1 / span 2; align-self: center; }
}
@media (min-width: 641px) and (max-width: 1100px) { .brandcol .brandpic { width: 140px; height: 102px; } }
@media (max-width: 640px) {
  .brandcol { flex-direction: row; width: 100%; justify-content: flex-start; gap: 8px; }
  .brandcol .brandpic { width: 82px; height: 60px; }
  .wipnote { max-width: none; text-align: right; }
}

/* فونت: کوچک/متوسط/بزرگ روی **همهٔ** نوشته‌ها (نتایج هم) — بزرگ‌نمایی، نه تک‌تکِ کلاس‌ها.
   ⚠ باگِ قبلی: «کوچک» فقط .txt را ۱۳٫۵px می‌کرد که از اندازهٔ پیش‌فرضِ متن بزرگ‌تر بود. */
html[data-fs="s"] .txt, html[data-fs="s"] .snip, html[data-fs="s"] .item .t,
html[data-fs="l"] .txt, html[data-fs="l"] .snip, html[data-fs="l"] .item .t,
html[data-fs="l"] .colwrap.shrunk .item .t { font-size: inherit; }
html[data-fs="s"] .wrap, html[data-fs="s"] footer.bottom { zoom: .9; }
html[data-fs="l"] .wrap, html[data-fs="l"] footer.bottom { zoom: 1.14; }
html[data-fb="1"] .wrap { font-weight: 700; }
html[data-fb="1"] .wrap b, html[data-fb="1"] .wrap strong, html[data-fb="1"] .wrap h1, html[data-fb="1"] .wrap h2 { font-weight: 900; }

/* رنگِ ۴ — تیره ولی نه سیاه (خاکستریِ سرمه‌ای؛ متن کرمِ روشن، کنتراستِ کافی) */
.vth.t4 i { background: linear-gradient(135deg, #2B3240 50%, #7FB3D5 50%); }
html[data-th="4"] {
  --bg: #2B3240; --bg2: #333B4B; --card: #384152; --line: #4E5A6E;
  --teal: #5EC4C9; --indigo: #9FA8F5; --violet: #C9A2F0; --amber: #F0B45A;
  --hi: #ECE6D8; --lo: #B4AE9F;
  color-scheme: dark;
}
html[data-th="4"] body { background: var(--bg); color: var(--hi); }
html[data-th="4"] .brandcol .brand, html[data-th="4"] .brandpic img { background: #F4F1EA; }
html[data-th="4"] input, html[data-th="4"] select, html[data-th="4"] textarea { background: var(--card); color: var(--hi); border-color: var(--line); }
html[data-th="4"] .snip, html[data-th="4"] .txt { color: var(--hi); }

/* کادرِ چهارمِ ستونِ اول */
.colwrap[data-level="0"] > #rail4 > .lrcol { border: 2px solid var(--violet); border-right: 0; border-top: 0; background: rgba(139,79,191,.07); }

/* پروفایل‌ها: ۸ + ۴ خانه، همه در یک ردیف (دسکتاپِ پهن) */
@media (min-width: 1300px) {
  .pgroups { grid-template-columns: 8fr 4fr; }
  .pgroup .people { gap: 8px; }
}

/* کادرِ «دعاوی» اولِ نتایج + صفحهٔ اختصاصیِ دعوا */
.claimbox { margin: 8px 0 14px; padding: 10px 12px; border: 2px solid var(--violet); border-radius: 12px; background: rgba(139,79,191,.06); display: flex; flex-wrap: wrap; gap: 8px; }
.claimchip { display: flex; flex-direction: column; padding: 8px 12px; border-radius: 10px; background: var(--card); border: 1px solid var(--violet); text-decoration: none; }
.claimchip b { color: var(--violet); font-size: 15px; }
.claimchip small { color: var(--lo); font-size: 11.5px; }
.needrow { flex: 1 1 100%; display: flex; flex-wrap: wrap; gap: 4px 10px; font-size: 13px; }
.needrow span { font-weight: 700; color: var(--hi); }
.claimpage h1 { margin: 4px 0 12px; }
.clcat { color: var(--lo); font-size: 12.5px; margin: 0; }
.clsec { margin: 14px 0; }
.clsec h2 { font-size: 16px; border-bottom: 1px solid var(--line); padding-bottom: 4px; }
.clsec h2 i { font-style: normal; font-size: 12px; color: var(--lo); }
.cllinks { margin: 4px 0; padding-right: 18px; }
.cllinks li { margin: 3px 0; }

/* ⭐ ۰۷/۱۸ (حامد): «ستونِ اول در صفحهٔ اول: هیچ‌کدام اسکرول نشوند؛ کاربر همه را با هم ببیند.»
   ⇒ کادرهای ستونِ اول بی‌سقفِ ارتفاع و بی‌نوارِ پیمایش؛ قابِ ستونِ اول هم دیگر چسبان (sticky) نیست
      چون ستونِ بلندِ چسبان پایینش هرگز دیده نمی‌شد. */
.colwrap[data-level="0"],
.colwrap[data-level="0"] > .col,
.colwrap[data-level="0"] > .leftrail,
.colwrap[data-level="0"] .lrcol,
.colwrap[data-level="0"] .col ul {
  max-height: none !important; overflow: visible !important;
}
.colwrap[data-level="0"] { position: relative !important; top: auto !important; align-self: flex-start; }

/* ردیفِ ۴۶۷: نکتهٔ غیرحقوقی */
.incomplete{background:#fff4e5;border:1px solid #f0b46a;color:#8a4b00;padding:.4rem .7rem;border-radius:6px;font-weight:700;margin:.4rem 0}
.crimelist li{margin:.25rem 0}
.crimeq input{width:100%;max-width:460px;padding:.45rem .6rem;margin:.4rem 0 .8rem}

/* ردیفِ ۴۹۳: صفحه اصلی (کلاسیک) */
.classic .clbox{border:1px solid var(--line);border-radius:12px;padding:10px 14px;margin:12px 0;background:var(--card)}
.classic .clbox h2{font-size:16px;margin:4px 0 8px;color:var(--teal)}
.classic .clgrid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px 14px}
.classic .clgrid a{display:block;padding:6px 8px;border-radius:8px;background:rgba(14,124,139,.06)}
.classic .clgrid i{font-style:normal;font-size:11px;color:var(--lo)}
.classicbtn{display:block;text-align:center;font-size:13.5px;font-weight:700;margin-top:5px;padding:5px 8px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--hi);white-space:nowrap}

/* ردیفِ ۴۷۷: تمِ تالار (forumtheme.png) */
.ftheme .fcat{margin:14px 0;border:1px solid var(--line);border-radius:4px;overflow:hidden;background:var(--card)}
.ftheme .fbar{margin:0;padding:9px 14px;background:#3B414B;color:#fff;font-size:15px;font-weight:700}
.ftheme .frows{list-style:none;margin:0;padding:0}
.ftheme .frow{display:flex;align-items:center;gap:12px;padding:10px 14px;border-top:1px solid var(--line)}
.ftheme .frow:first-child{border-top:0}
.ftheme .ficon{flex:0 0 34px;height:30px;border-radius:50%;background:radial-gradient(circle at 35% 40%,#5B3C88 55%,transparent 56%),radial-gradient(circle at 65% 62%,#8A8A8A 50%,transparent 51%)}
.ftheme .fmain{flex:1 1 auto;display:flex;flex-direction:column;gap:2px;min-width:0}
.ftheme .fttl{font-size:17px;font-weight:700;color:#3E2A66}
.ftheme .fnums,.ftheme .fdesc{font-size:12px;color:var(--lo)}
.ftheme .flast{flex:0 0 240px;display:flex;flex-direction:column;font-size:12px;border-inline-start:1px solid var(--line);padding-inline-start:10px}
.ftheme .fnewroom{padding:8px 14px;border-top:1px dashed var(--line);font-size:13px}
.ftheme .fnewroom form,.fmanage form{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.fmanage{margin:8px 0;padding:8px;border:1px solid var(--line);border-radius:8px}
.fmanage .danger{background:#b3261e;color:#fff;border:0;border-radius:6px;padding:4px 10px;margin-top:6px}
@media (max-width:640px){.ftheme .flast{display:none}}

/* ۰۷/۱۸: تیکِ هشتگ‌ها زیرِ صفحه‌ها */
.tagpick{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;margin:6px 0 10px;font-size:12.5px}
.tagpick .tplab{font-weight:700;color:var(--hi)}
.tagpick .tpchip{display:inline-flex;gap:3px;align-items:center;padding:2px 6px;border:1px solid var(--line);border-radius:999px;background:var(--card);cursor:pointer}
.tagpick .tpgo{padding:3px 12px;border-radius:8px;border:0;background:var(--teal);color:#fff;cursor:pointer}
.nonlawbtn{padding:3px 8px;border-radius:8px;border:1px dashed var(--amber);background:transparent;color:var(--amber);font-weight:600;font-size:10.5px;opacity:.8;cursor:not-allowed;white-space:nowrap;align-self:center}
.dictform{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.dictform input{flex:1 1 220px;padding:7px 10px;border:1px solid var(--line);border-radius:8px}.dictlist dt{font-weight:700;margin-top:10px}.dictlist dd{margin:2px 0 6px;padding-inline-start:12px;border-inline-start:2px solid var(--line)}
.askbtn .askhint{font-size:9.5px;font-weight:400;opacity:.85}
.wipnote.wiprow{max-width:none;margin-inline-start:auto;align-self:center;white-space:nowrap}
@media (max-width:640px){.wipnote.wiprow{display:block;margin:4px 0}}
button.nonlawbtn,.find button.nonlawbtn{background:transparent!important;color:var(--amber)!important;border:1px dashed var(--amber)!important;font-size:10.5px!important;font-weight:600!important;padding:3px 8px!important;border-radius:8px!important;box-shadow:none!important;min-height:0!important;height:auto!important;flex:0 0 auto!important;opacity:.85}
.askbtn small.askhint{font-size:9px!important;font-weight:400!important}

/* ⭐ ۰۷/۱۹ (حامد): سه دکمهٔ «اگر تحصیلات حقوقی ندارید»، «مشاوره» و «تالار گفتگو» هم‌شکل؛
   عرض به‌اندازهٔ متن، متن در دو خط تا دکمه‌ها باریک بمانند */
.find .trio,.trio{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;
  box-sizing:border-box!important;height:48px!important;min-height:48px!important;width:auto!important;max-width:210px!important;
  padding:4px 12px!important;margin:0!important;border-radius:12px!important;border:1px solid var(--line,#d6cdb8)!important;
  background:var(--card,#f5efe2)!important;color:var(--ink,#333)!important;font-size:12px!important;font-weight:700!important;
  line-height:1.3!important;text-align:center!important;white-space:normal!important;opacity:1!important;align-self:center!important;flex:none!important}
.trio span,.trio .trtx{display:block;white-space:normal}
.trio svg{flex:none;width:20px;height:20px}
.trio small.askhint{display:inline!important;font-size:9px!important;font-weight:400!important;line-height:1.2!important;color:inherit!important;opacity:.75}
.trio.askbtn{max-width:220px!important}
button.nonlawbtn.trio{cursor:not-allowed!important;color:var(--amber,#b07a12)!important;border-style:dashed!important;border-color:var(--amber,#b07a12)!important;background:transparent!important}
.trio.greyed,.trio.locked{opacity:.75!important}

/* ⭐ ۰۷/۱۹: آمارِ حک‌شده در پس‌زمینهٔ صفحهٔ اول (برجستهٔ ملایم، پشتِ محتوا، بی‌مزاحمت برای کلیک) */
.bgstats{position:fixed;inset:120px 0 60px 0;z-index:0;pointer-events:none;user-select:none;display:flex;flex-wrap:wrap;
  align-content:center;justify-content:center;gap:28px 56px;padding:0 6vw;opacity:.55}
.bgstats span{font-size:clamp(18px,2.6vw,34px);font-weight:900;color:rgba(120,100,60,.10);
  text-shadow:1px 1px 0 rgba(255,255,255,.55),-1px -1px 0 rgba(0,0,0,.08);white-space:nowrap}
.bgstats b{font-size:1.35em}
.main{position:relative;z-index:1}
@media (prefers-color-scheme:dark){.bgstats span{color:rgba(255,255,255,.06);text-shadow:1px 1px 0 rgba(0,0,0,.6),-1px -1px 0 rgba(255,255,255,.06)}}
/* ⭐ ۰۷/۱۹: سه دکمه در یک ستون، هم‌اندازه، فونت بزرگ‌تر */
.triocol{display:flex;flex-direction:column;gap:4px;align-items:stretch;align-self:flex-start;flex:none}
.triocol .trio{width:190px!important;max-width:190px!important;height:auto!important;min-height:40px!important;font-size:13.5px!important;padding:4px 10px!important}
.triocol .trio small.askhint{font-size:10.5px!important}
.triocol .trio svg{width:18px;height:18px}
/* ۰۷/۱۹: آمار فقط پشتِ محتوای صفحه، نه روی سرصفحه */
.bgstats{position:absolute!important;inset:0!important;align-content:flex-start!important;padding-top:40px!important}
.main{position:relative!important}
.triocol{gap:3px}
.triocol .trio{min-height:0!important;padding:2px 8px!important;line-height:1.2!important;border-radius:9px!important}
/* ⭐ ۰۷/۱۹: «اعمال کن» بزرگ‌تر، قرمز و برجسته؛ نوارِ تیک زیرِ عنوان */
.tagpick .tpgo{background:linear-gradient(#d9363e,#a8161d)!important;color:#fff!important;border:0!important;border-radius:9px!important;
  font-size:15px!important;font-weight:900!important;padding:6px 18px!important;box-shadow:0 2px 6px rgba(168,22,29,.45)!important;cursor:pointer!important;margin-inline-start:8px}
.tagpick .tpgo:hover{filter:brightness(1.1)}
.tagpick.top{margin:6px 0 14px;padding:8px 10px;border:1px solid var(--line,#ddd);border-radius:10px;background:var(--card,#faf6ec)}
.tpnote{font-size:12px;color:#a8161d;margin-inline-start:8px}
/* ⭐ ۰۷/۱۹ (حامد): «سایت همچنان در حال رشد و بهبودی می‌باشد» قرمز و پررنگ */
.wipnote,.wiprow .wipnote,.wipnote *{color:#c4161d!important;font-weight:900!important}
/* ⭐ ۰۷/۱۹ (حامد): ستونِ سه دکمه کنارِ همهٔ ردیف‌ها (نه فقط ردیفِ جستجو) ⇒ بی‌فضای خالی بالا/پایینِ کادرِ جستجو؛
   ردیف‌های زیرین (دامنه، حوزه، صادرکننده) باریک‌تر می‌شوند تا جا باز شود */
.findwrap{position:relative}
.findwrap .triocol{position:absolute!important;left:0;top:2px;z-index:3}
.findwrap .find,.findwrap .toolbar,.findwrap .advpanel{padding-left:206px!important;box-sizing:border-box}
@media (max-width:760px){.findwrap .triocol{position:static!important;flex-direction:row;flex-wrap:wrap}
  .findwrap .find,.findwrap .toolbar,.findwrap .advpanel{padding-left:0!important}
  .triocol .trio{width:auto!important}}
/* «اگر تحصیلات حقوقی ندارید» هم‌شکل و هم‌رنگِ دو دکمهٔ دیگر */
button.nonlawbtn.trio,.find button.nonlawbtn.trio{border:1px solid var(--line,#d6cdb8)!important;border-style:solid!important;
  background:var(--card,#f5efe2)!important;color:var(--ink,#333)!important;font-size:13.5px!important;font-weight:700!important;opacity:.75!important}
.findwrap .advrow{margin-left:206px!important}
@media (max-width:760px){.findwrap .advrow{margin-left:0!important}}
.advrow.advdom{margin-left:206px!important;max-width:calc(100% - 206px)!important;box-sizing:border-box}
@media (max-width:760px){.advrow.advdom{margin-left:0!important;max-width:none!important}}
/* ⭐ ۰۷/۲۲ (حامد): «نوشته‌های پشتِ زمینه مخصوصاً در موبایل باید پشتِ کشوها بمانند؛ وقتی کشو انتخاب می‌شود متنِ پشت
   نباید دیده شود» ⇒ کشوها، قابِ خواندن و جعبه‌های انتخاب روی لایه‌ای بالاتر و با زمینهٔ کدر؛ در موبایل پس از اولین
   انتخاب (یا وقتی قابِ خواندن باز است) نوشتهٔ پس‌زمینه کلاً کنار می‌رود. */
.bgstats{z-index:0!important}
#cols,.colwrap,.readerwrap,.mpick{position:relative;z-index:2}
.reader,#leftrail,#toprail,#rail4{z-index:2}
.readerwrap,.mpick select{background-color:var(--bg,#EFE7D6)}
@media (max-width:640px){
  body.mp-picked .bgstats,body.mpick-on:has(.readerwrap:not([hidden])) .bgstats{display:none!important}
  .bgstats{opacity:.35!important}
}
/* ⭐ ۰۷/۲۲ (سنجیده با viewportِ ۳۹۰): نوارِ امضای پایین در موبایل ۴۵۱px پهنا می‌گرفت ⇒ کلِ صفحه کوچک و کج دیده
   می‌شد (مرورگر برای جا دادنش زوم‌اوت می‌کرد). نوار در پهنای صفحه بریده می‌شود و هیچ چیز صفحه را افقی نمی‌کشد. */
.signbar{max-width:100vw;overflow:hidden;box-sizing:border-box}
@media (max-width:640px){.signbar{flex-wrap:wrap!important;justify-content:center}.signbar > *{min-width:0;max-width:100%}}
html{overflow-x:clip}
/* ⭐ ۰۷/۲۲: معنای لغوی (آبادیس) در صفحهٔ هشتگ */
.abadisdef .abd{margin:8px 0;padding:6px 10px;border-inline-start:3px solid var(--line,#ddd)}
.abadisdef .abd h3{font-size:14px;margin:0 0 4px;color:var(--indigo,#3b3b8f)}
.abadisdef .abd p{margin:0;line-height:1.9}
/* ⭐ ۰۷/۲۲ (سنجیده): در موبایل ستونِ سه دکمه ۴۴۱px می‌شد (هر دکمه max-width:190 و بی‌شکستن) ⇒ صفحه زوم‌اوت.
   حالا سه دکمه در عرضِ صفحه تقسیم می‌شوند و هرگز بیرون نمی‌زنند. */
@media (max-width:760px){
  .triocol,.findwrap .triocol{width:100%!important;max-width:100%!important;box-sizing:border-box;flex-direction:row!important;flex-wrap:wrap!important}
  .triocol .trio{flex:1 1 30%!important;min-width:0!important;max-width:none!important;width:auto!important;box-sizing:border-box}
}
.item.archived .t{opacity:.62}

/* ⭐ ۰۷/۲۳: دکمه و صفحهٔ «تیم ما» */
.teamline { text-align: center; margin: 10px auto 4px; }
.teambtn { display: inline-flex; align-items: center; gap: 8px; padding: 8px 22px; border-radius: 999px;
  border: 1.5px solid var(--accent, #1f5fa8); color: var(--accent, #1f5fa8); background: var(--card, #fff);
  font-weight: 700; font-size: 15px; text-decoration: none; transition: background .15s, color .15s; }
.teambtn:hover, .teambtn:focus-visible { background: var(--accent, #1f5fa8); color: #fff; }
.teampage { max-width: 1200px; margin: 0 auto; padding: 12px 16px 28px; }
.team-h1 { text-align: center; font-size: 26px; margin: 8px 0 14px; }
/* ⭐ ۰۷/۲۳ (حامد): در صفحهٔ «تیم ما» هر ردیف ۴ پروفایل؛ کادرها زیرِ هم */
.teampage .pgroups { grid-template-columns: 1fr !important; max-width: 1100px; margin-inline: auto; }
.teampage .pgroup .people { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 14px; }
.teampage .pgroup .pcard { padding: 12px 10px; }
.teampage .pgroup .pphoto { max-width: 130px; margin-inline: auto; }
@media (max-width: 600px) { .teampage .pgroup .people { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }

/* ⭐ ۱۴۰۵/۰۸/۰۳ (حامد): سه کادر — ① بنیان‌گذاران (توضیح کنارِ عکس) ② وکلا ③ مهندس و کسب‌وکار.
   کادرِ اول یک ردیفِ کامل، دو کادرِ دیگر زیرش کنارِ هم. */
.homepeople{max-width:1400px;margin:8px auto 0;padding:0 12px}
.pgroups .pfounders{grid-column:1/-1}
.pfounders .pgroup-title{font-size:1.15rem;font-weight:700;letter-spacing:.01em}
.pgroup--side .people{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px;max-width:1100px;margin-inline:auto}
.pgroup--side .pcard{flex-direction:row!important;align-items:flex-start!important;text-align:right!important;gap:14px;padding:12px!important}
.pgroup--side .ptop{display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:14px;width:100%}
.pgroup--side .pphoto{flex:0 0 132px!important;width:132px!important;max-width:132px!important;margin:0!important;height:auto!important;aspect-ratio:4/5!important}
.pcard .pphoto{height:auto!important;aspect-ratio:4/5!important}
.pcard .pphoto img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:50% 25%!important}
.pgroup--side .pside{flex:1;min-width:0}
.pgroup--side .pside .pname{font-size:1.05rem;margin:0 0 6px}
.pgroup--side .pside .pbio{font-size:.86rem;line-height:1.85;-webkit-line-clamp:unset;display:block;overflow:visible}
.pcard .pphoto .pinit{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:8px;
  background:#f4efe6;color:#8a6d3b;font-size:2rem;font-weight:700}
@media (max-width:760px){
  .pgroup--side .people{grid-template-columns:1fr!important}
  .pgroup--side .pphoto{flex-basis:96px!important;width:96px!important;max-width:96px!important}
}
.teampage .pgroup--side .people{grid-template-columns:repeat(2,minmax(0,1fr))!important}
@media (max-width:760px){.teampage .pgroup--side .people{grid-template-columns:1fr!important}}

/* ⭐ ۱۴۰۵/۰۸/۰۳ (حامد): کانالِ تلگرام بالای سایت — نسبتاً درشت و کلیک‌پذیر */
.tgtop{display:inline-flex;align-items:center;gap:6px;margin-top:6px;padding:5px 12px;border-radius:999px;
  background:#229ED9;color:#fff!important;font-size:15px;font-weight:700;text-decoration:none;white-space:nowrap;
  box-shadow:0 1px 4px rgba(0,0,0,.18)}
.tgtop:hover{background:#1b86ba}
.tgtop svg{width:18px;height:18px;flex:none}
.tgtop .tgu{direction:ltr;unicode-bidi:isolate;font-size:14px;opacity:.95}

/* ⭐ صفحهٔ معرفیِ آموزش/پادکست: عکس بالا و سمتِ چپ، متن در بقیهٔ صفحه */
.teachpage{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,40%);gap:28px;max-width:1200px;margin:18px auto 40px;padding:0 16px;align-items:start}
.teachpic{grid-column:2;grid-row:1;margin:0;position:sticky;top:12px}
.teachpic img{width:100%;height:auto;display:block;border-radius:14px;box-shadow:0 6px 24px rgba(0,0,0,.18)}
.teachtext{grid-column:1;grid-row:1;line-height:2;font-size:1rem}
.teachtext h1{font-size:1.6rem;margin:2px 0 10px}
.teachtext h2{font-size:1.12rem;margin:22px 0 6px;padding-bottom:4px;border-bottom:2px solid #c9a96e;display:inline-block}
.teachtext p{margin:6px 0;text-align:justify}
.teachkicker{color:#8a6d3b;font-weight:700;margin:0!important}
.teachch{background:#eaf6fc;border:1px solid #bfe3f5;border-radius:10px;padding:8px 12px}
.teachch a{font-weight:700;color:#1b86ba}
@media (max-width:820px){.teachpage{grid-template-columns:1fr}.teachpic{grid-column:1;grid-row:1;position:static;max-width:520px;margin-inline:auto}.teachtext{grid-row:2}}
/* ⭐ ۰۸/۰۳: دو کادرِ نقشهٔ دفترها */
.offices{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:1100px;margin:18px auto 6px;padding:0 12px}
.office{border:1.5px solid var(--line,#ddd);border-radius:14px;padding:10px;background:var(--card,#fff)}
.office-t{margin:0 0 8px;text-align:center;font-size:1rem}
.office-map{height:260px;border-radius:10px;overflow:hidden;background:#eee}
.office-g{display:inline-block;margin-top:6px;font-size:.85rem}
@media (max-width:700px){.offices{grid-template-columns:1fr}}

/* 0803c */
/* نتایج جستجو مثل متنِ عادی — بی کادر؛ فقط کلمهٔ پیداشده رنگی */
.hit { background: none; border: 0; border-radius: 0; padding: 4px 0; margin: 0 0 8px; }
.hit h2 { font-size: 15px; margin: 0 0 1px; line-height: 1.5; }
.snip { line-height: 1.6; font-size: 13.5px; }
.hit-d { text-decoration: none; background: #fde68a; color: inherit; font-weight: 700; padding: 0 2px; border-radius: 2px; }
.hit-i { text-decoration: none; background: #bfdbfe; color: inherit; padding: 0 2px; border-radius: 2px; }
.hitlegend .hit-d, .hitlegend .hit-i { padding: 0 4px; }
@media (prefers-color-scheme: dark) {
  .hit-d { background: #854d0e; } .hit-i { background: #1e3a8a; }
}
/* بنیان‌گذاران: همهٔ متن کنارِ عکس، هم‌قدِ عکس */
.pgroup--side .pcard .ptop { align-items: stretch; }
.pgroup--side .pcard .pside { display: flex; flex-direction: column; justify-content: center; }
.pgroup--side .pcard .pbio { white-space: normal; }
.pgroup--side .pcard .pbio--lead { font-weight: 700; margin: 0 0 4px; }
.pgroup--side .pcard .pinline { line-height: 1.8; font-size: 13px; margin: 0; text-align: justify; }
.pgroup--side .pcard .prest { display: none; }

/* 0803d — تکه‌های نتیجه: متنِ ساده، بی کادر؛ فقط کلمهٔ پیداشده رنگی */
.hit .passes { margin: 0; padding: 0; }
.hit .pass { background: none !important; border: 0 !important; border-radius: 0 !important;
  padding: 0 !important; margin: 0 0 2px !important; line-height: 1.65; font-size: 13.5px; box-shadow: none !important; }
.hit .pass .ptag { background: none !important; border: 0 !important; padding: 0 !important; color: var(--lo);
  font-size: 11px; font-weight: 400; margin-inline-end: 4px; }
.hit .pass .ptag::after { content: " —"; }
/* ⭐ ۰۸/۰۴ (حامد): «دورِ واژه‌ها رنگ نگذار؛ فقط زیرش خطِ کمی کلفت و مشخص» */
.hit .pass b, .snip b { background: none !important; color: inherit; padding: 0; border-radius: 0;
  text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px;
  text-decoration-color: currentColor; font-weight: 700; }
.hit .hitline { gap: 6px; }

/* 0803e — عکسِ بنیان‌گذاران بزرگ‌تر تا متن هم‌قدِ عکس شود */
.pgroup--side .pcard .ptop .pphoto { width: 140px !important; max-width: none !important; flex: 0 0 140px !important; height: auto !important; }
.pgroup--side .pcard .pinline { font-size: 12.5px; line-height: 1.7; }
@media (max-width: 520px) { .pgroup--side .pcard .pphoto { width: 110px; flex-basis: 110px; } }

/* 0803f — موبایل: کشوها آشکار */
.mpick-hint { margin: 2px 0 6px; font-size: 13px; font-weight: 700; color: var(--hi); }
.mpick .msel { appearance: auto; -webkit-appearance: menulist; border: 2px solid #8a6d3b; border-radius: 10px;
  padding: 10px 12px; font-weight: 700; font-size: 14px; background: var(--card); box-shadow: 0 2px 6px #0002; }
.mpick .msel-first { border-color: #b45309; background: #fff7e6; }
.mpick .msel-ghost { opacity: .55; border-style: dashed; box-shadow: none; font-weight: 400; }
@media (prefers-color-scheme: dark) { .mpick .msel-first { background: #3a2a10; } }

/* 0803g — دکمهٔ شناورِ مشاوره (فقط حساب‌های آزمایشی) */
.c2fab { position: fixed; left: 14px; bottom: 74px; z-index: 60; background: #8a6d3b; color: #fff !important;
  padding: 9px 14px; border-radius: 22px; font-weight: 700; font-size: 13px; text-decoration: none; box-shadow: 0 3px 10px #0003; }
.c2fab2 { bottom: 118px; background: #374151; }

/* 0803h — علامتِ + کنارِ همهٔ آیتم‌ها و دکمهٔ صفحهٔ من */
.plusbtn { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; min-width: 22px; height: 20px;
  margin-inline-start: 6px; padding: 0 4px; border: 1px solid #8a6d3b; border-radius: 6px; background: transparent;
  color: #8a6d3b; font: 700 12px/1 Tahoma, sans-serif; cursor: pointer; vertical-align: middle; }
.plusbtn:disabled { opacity: .35; cursor: not-allowed; border-style: dashed; }
.plusbtn.on { background: #15803d; border-color: #15803d; color: #fff; opacity: 1; }
.item .plusbtn { position: relative; z-index: 2; }
main h1 .plusbtn { height: 24px; font-size: 14px; }
.mypagebtn { margin-inline-start: auto; padding: 4px 12px; border-radius: 8px; background: #8a6d3b; color: #fff !important;
  font-weight: 700; font-size: 12.5px; text-decoration: none; white-space: nowrap; }
.mypg .mylist { list-style: none; padding: 0; }
.mypg .myitem { display: flex; gap: 8px; align-items: center; padding: 6px 0; border-bottom: 1px solid var(--line); }

/* 0803h — علامتِ + کنارِ همهٔ آیتم‌ها و دکمهٔ صفحهٔ من */
.plusbtn { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; min-width: 22px; height: 20px;
  margin-inline-start: 6px; padding: 0 4px; border: 1px solid #8a6d3b; border-radius: 6px; background: transparent;
  color: #8a6d3b; font: 700 12px/1 Tahoma, sans-serif; cursor: pointer; vertical-align: middle; }
.plusbtn:disabled { opacity: .35; cursor: not-allowed; border-style: dashed; }
.plusbtn.on { background: #15803d; border-color: #15803d; color: #fff; opacity: 1; }
.item .plusbtn { position: relative; z-index: 2; }
main h1 .plusbtn { height: 24px; font-size: 14px; }
.mypagebtn { margin-inline-start: auto; padding: 4px 12px; border-radius: 8px; background: #8a6d3b; color: #fff !important;
  font-weight: 700; font-size: 12.5px; text-decoration: none; white-space: nowrap; }
.mypg .mylist { list-style: none; padding: 0; }
.mypg .myitem { display: flex; gap: 8px; align-items: center; padding: 6px 0; border-bottom: 1px solid var(--line); }

/* 0803i — فرمِ ثبت‌نام: حقوق‌خوانده */
.alaw { display: flex; gap: 14px; align-items: center; margin: 8px 0; font-size: 14px; }
.alaw label { display: inline-flex; gap: 4px; align-items: center; cursor: pointer; }

/* 0803j — گوشهٔ لوکال: مانده‌های دیپلوی‌نشده */
.lpend { position: fixed; top: 8px; left: 8px; z-index: 90; display: flex; gap: 6px; align-items: center;
  background: #111827; color: #fff; padding: 6px 10px; border-radius: 10px; font-size: 12px; box-shadow: 0 3px 10px #0004; max-width: 60vw; }
.lpend[hidden] { display: none; }
.lpend button { border: 0; border-radius: 7px; padding: 4px 9px; font: inherit; font-weight: 700; cursor: pointer; background: #f59e0b; color: #111; }
.lpend #lpend-r { background: #374151; color: #fff; }

/* 0803k — تلگرام + «صفحهٔ من» در فضای خالیِ سمتِ چپِ ردیفِ صادرکننده (ارتفاعِ هدر زیاد نشود) */
.adviss { position: relative; }
.myside { margin-inline-start: auto; display: inline-flex; flex-direction: column; align-items: stretch; gap: 2px; }
.myside .tgtop { margin: 0; padding: 3px 10px; font-size: 12px; gap: 4px; justify-content: center; }
.myside .tgtop svg { width: 14px; height: 14px; }
.myside .tgcap { font-size: 10.5px; text-align: center; color: var(--lo); line-height: 1.2; }
.myside .mypagebtn { margin: 0; text-align: center; padding: 3px 10px; }
@media (max-width: 899px) { .myside { flex-direction: row; align-items: center; gap: 6px; width: 100%; justify-content: flex-end; margin-top: 4px; } .myside .tgcap { font-size: 10px; max-width: 70px; } }
@media (min-width: 900px) { .myside { position: absolute; left: 6px; top: 50%; transform: translateY(-50%); } }

/* 0803l — کشوهای موبایل: روشن، آرام و خوانا */
.mpick .msel { background: #ffffff !important; color: #1f2937 !important; border: 1.5px solid #cbd5e1 !important;
  box-shadow: 0 1px 4px rgba(15, 23, 42, .08) !important; font-weight: 600; }
.mpick .msel-first { background: #eef6ff !important; border-color: #93c5fd !important; color: #1e3a8a !important; }
.mpick .msel-ghost { background: #f8fafc !important; color: #94a3b8 !important; border-color: #e2e8f0 !important; }
.mpick-hint { color: #1e3a8a !important; }
.mpick .msel option { background: #ffffff; color: #1f2937; }
@media (prefers-color-scheme: dark) {
  .mpick .msel { background: #1f2937 !important; color: #f1f5f9 !important; border-color: #475569 !important; }
  .mpick .msel-first { background: #172554 !important; color: #dbeafe !important; border-color: #3b82f6 !important; }
  .mpick-hint { color: #bfdbfe !important; }
}

/* 0803m — + جلوی ماده‌ها در متنِ سند */
#txtOne p > .plusbtn, .txt p > .plusbtn { margin-inline-start: 0; margin-inline-end: 6px; float: none; }

/* ⭐ ۰۸/۰۴ (حامد): «وقتی فونت بزرگ می‌شود، نوشته‌های زمینه بزرگ نشوند (می‌آیند روی کادرها)؛ و فونتِ همهٔ تیک‌های هدر هم عوض شود»
   ⇒ آمارِ پس‌زمینه با بزرگ‌نماییِ معکوس به اندازهٔ اصلی برمی‌گردد؛ تیک‌های دامنهٔ جستجو (بیرون از .wrap) هم‌پای فونت. */
html[data-fs="l"] .bgstats { zoom: .877; }
html[data-fs="s"] .bgstats { zoom: 1.111; }
/* ⭐ ۰۸/۰۹ (حامد): «وقتی فونت عوض می‌شود همهٔ تیک‌ها کوچک و بزرگ شوند، نه فقط یک ردیف — همه‌چیز»
   ⇒ کلِ نوار و پنلِ تیک‌های سربرگ (حساب، صادرکننده، حوزه، «در جست‌جوی چه هستید؟»، متن/عنوان، فونت، رنگ، نکات). */
html[data-fs="l"] header.top .toolbar, html[data-fs="l"] header.top .advpanel { zoom: 1.14; }
html[data-fs="s"] header.top .toolbar, html[data-fs="s"] header.top .advpanel { zoom: .9; }
html[data-fb="1"] header.top .toolbar, html[data-fb="1"] header.top .advpanel,
html[data-fb="1"] header.top .toolbar .sc, html[data-fb="1"] header.top .advpanel .sc { font-weight: 700; }

/* ⭐ ۰۸/۰۴: عکس/جدولِ افزوده در متنِ ویرایش‌شده و پیوندهای دستی */
.txt img.uedimg{display:block;max-width:100%;height:auto;margin:10px auto;border-radius:8px;box-shadow:0 1px 6px rgba(0,0,0,.12)}
.txt a.uedlink{text-decoration:underline dotted}

/* ⭐ ۰۸/۰۴: جملهٔ استقلال (غیردولتی) در پابرگ */
.govnote{font-size:12px;opacity:.75;text-align:center;margin:6px auto;max-width:760px;line-height:1.9}



/* ═════════ ۰۸/۰۹ (حامد): جابه‌جاییِ ردیف‌ها ═════════
   «صادرکننده» (+ آرشیو/تازه‌ها/دیکشنری) به نوارِ بالا رفت؛ «قوانین … دعاوی» ردیفِ پایینی شد با عنوانِ
   «در جست‌جوی چه هستید؟» و کمی بزرگ‌تر. */
.toolbar .advrow.adviss.intb { flex: 1 1 auto; min-width: 0; flex-wrap: wrap; margin: 0 !important; max-width: none !important; }
.findwrap .toolbar .advrow.intb { margin-left: 0 !important; }
.advrow.advscope { position: relative; border: 1.5px solid rgba(74,79,191,.55); background: rgba(74,79,191,.07);
  padding: 4px 10px; gap: 2px 14px; margin-top: 3px; }
.advrow.advscope .advlab { color: var(--indigo); font-weight: 900; font-size: 13.5px; }
.advrow.advscope .sc { font-size: 13px !important; gap: 4px; }
.advrow.advscope .sc input { width: 15px !important; height: 15px !important; accent-color: var(--indigo); }
.advrow.advscope .sc small { font-size: 11px; color: var(--lo); font-weight: 400; }
.advrow.advscope .sc.aplus small { color: var(--amber); }
@media (max-width: 899px) { .advrow.advscope .sc { white-space: normal; } }
@media (min-width: 900px) { .advrow.advscope { padding-left: 150px; } }

/* دکمهٔ «نکات برای استفادهٔ بهتر سایت»: بزرگ‌تر و برجسته + پیکانی که گاهی چشمک می‌زند */
.tipswrap { display: inline-flex; align-items: center; gap: 6px; margin-inline-start: auto; white-space: nowrap; }
a.tipsbtn.tipsbig { font-size: 14px !important; padding: 5px 14px !important; border: 2px solid #c4161d !important;
  border-radius: 10px !important; background: #fff4f4; box-shadow: 0 2px 8px rgba(196,22,29,.18); }
a.tipsbtn.tipsbig:hover { background: #ffe5e5; }
.tipsarrow { font-size: 22px; line-height: 1; color: #c4161d; animation: tipsblink 6s ease-in-out infinite; display: inline-block; }
@keyframes tipsblink { 0%,78%,100% { opacity: 1; transform: translateX(0); } 82%,90% { opacity: .15; transform: translateX(-5px); } 86%,94% { opacity: 1; transform: translateX(0); } }
@media (prefers-reduced-motion: reduce) { .tipsarrow { animation: none; } }
@media (max-width: 640px) { .tipswrap { display: flex; margin: 4px 0; } }

/* ⭐ ۰۸/۰۹-ب (حامد): «در جست‌جوی چه هستید؟» قرمز؛ در این ردیف هیچ نوشتهٔ ریزی نباشد؛ راهنمای پس از تیک‌ها */
.advrow.advscope .advlab { color: #c4161d !important; font-size: 14.5px !important; }
.advrow.advscope .sc, .advrow.advscope .sc span, .advrow.advscope .sc small, .advrow.advscope .sc.aplus small { font-size: 13.5px !important; }
.advrow.advscope .sc small { color: inherit; opacity: .85; }
.advrow.advscope .scopehint { font-size: 13.5px; font-weight: 700; color: #c4161d; white-space: normal; }

/* ⭐ ۰۸/۰۹-ج (حامد): «نوشتهٔ دکمهٔ نکات از دکمه بیرون زده؛ دکمه را بزرگ‌تر کن» — علت: سقفِ max-width:180pxِ .wipnote */
a.tipsbtn.tipsbig { max-width: none !important; width: auto !important; display: inline-flex !important; align-items: center; gap: 6px;
  white-space: nowrap !important; font-size: 14px !important; line-height: 1.35 !important; padding: 5px 12px !important; min-height: 34px; box-sizing: border-box; }
.tipswrap { gap: 4px; margin-inline-start: 8px; } .tipsarrow { font-size: 19px; }
@media (max-width: 640px) { a.tipsbtn.tipsbig { white-space: normal !important; font-size: 14px !important; } }
a.tipsbtn.tipsbig { font-size: 13.5px !important; font-weight: 800 !important; padding: 4px 10px !important; letter-spacing: -.1px; }
.toolbar .tipswrap { gap: 3px; margin-inline-start: 4px; } .toolbar .tipsarrow { font-size: 17px; }

/* ⭐ ۰۸/۰۹-د (حامد): پرانتزِ تیکِ «دعاوی (دادخواست، شکواییه و…)» بولد و کاملاً خوانا */
.advrow.advscope .sc small { font-size: 13.5px !important; font-weight: 800 !important; color: var(--hi, #1f2937) !important; opacity: 1 !important; }
.advrow.advscope .sc.aplus small { color: var(--amber) !important; }

/* ⭐ ۰۸/۰۹: دکمهٔ «🛡 مدیریت» — فقط برای حسابِ مالک پس از ورودِ دومرحله‌ای */
.ubtn.adminbtn { background: #c4161d !important; color: #fff !important; border-color: #c4161d !important; font-weight: 800; }
.ubtn.adminbtn:hover { background: #a01218 !important; }

/* ⭐ ۰۸/۰۹: پیوندهای اجتماعیِ هر نفر (تیم ما) + لینکدین در نوارِ پایین */
.plinks { display: flex; gap: 6px; margin: 2px 0 4px; flex-wrap: wrap; }
.plink { display: inline-flex; width: 22px; height: 22px; align-items: center; justify-content: center; border-radius: 6px; color: var(--lo); }
.plink svg { width: 17px; height: 17px; display: block; }
.plink:hover { color: var(--teal); background: rgba(14,124,139,.08); }
.plink.pl-linkedin:hover { color: #0a66c2; }
.plink.pl-instagram:hover { color: #c13584; }
.signbar .soc.li:hover { color: #0a66c2; }
