:root {
  --fx-bg: #FAF7F0;
  --fx-surface: #FFFFFF;
  --fx-sunken: #F2EDE1;
  --fx-line: #EAE3D2;
  --fx-line-2: #DBCEB2;
  --fx-ink: #23261A;
  --fx-ink-2: #565A46;
  --fx-ink-3: #8B8E77;
  --fx-brand: #4A5A33;
  --fx-brand-deep: #3A4826;
  --fx-brand-soft: #E7EDD7;
  --fx-accent: #A97C25;
  --fx-accent-soft: #F7EACB;
  --fx-accent-ink: #6C4A0C;
  --fx-header: #4C5D31;
  --fx-on-header: #F0F6DE;

  --fx-pad: clamp(16px, 4vw, 28px);
  --fx-max: 1120px;
  --fx-read: 68ch;
  --fx-sec: clamp(2.1rem, 5vw, 3.2rem);

  --fx-h1: clamp(1.55rem, 4.4vw, 2.35rem);
  --fx-h2: clamp(1.2rem, 2.9vw, 1.5rem);
  --fx-h3: clamp(1.02rem, 2.3vw, 1.15rem);
  --fx-body: clamp(1rem, 2.2vw, 1.06rem);
  --fx-small: clamp(.86rem, 1.9vw, .92rem);
  --fx-tiny: clamp(.8rem, 1.7vw, .84rem);
  --fx-crumb: clamp(.91rem, 2vw, .95rem);

  --fx-lh: 1.9;
  --fx-lh-head: 1.72;
  --fx-r: 14px;
  --fx-r-s: 10px;
  --fx-ease: cubic-bezier(.05, .7, .1, 1);
  color-scheme: light;
}

:root[data-theme="dark"] {
    --fx-bg: #15170E;
    --fx-surface: #212614;
    --fx-sunken: #1B1F11;
    --fx-line: #333823;
    --fx-line-2: #464C31;
    --fx-ink: #EFEBD9;
    --fx-ink-2: #ADA68C;
    --fx-ink-3: #7D765D;
    --fx-brand: #B3CC82;
    --fx-brand-deep: #C9DCA2;
    --fx-brand-soft: #2B3419;
    --fx-accent: #E6BC6A;
    --fx-accent-soft: #3B2F13;
    --fx-accent-ink: #F5DCA6;
    --fx-header: #33421F;
    color-scheme: dark;
  }

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body.fihris {
  margin: 0; padding: 0;
  background: var(--fx-bg); color: var(--fx-ink);
  font-family: 'IBM Plex Sans Arabic', 'Segoe UI', Tahoma, system-ui, sans-serif;
  font-size: var(--fx-body); line-height: var(--fx-lh);
  -webkit-text-size-adjust: 100%;
  overflow-x: clip;
}
.fihris img, .fihris svg { display: block; max-width: 100%; }
.fihris a { color: inherit; text-decoration: none; }
.fihris h1, .fihris h2, .fihris h3, .fihris h4, .fihris p, .fihris ul { margin: 0; }
.fihris :focus-visible { outline: 2px solid var(--fx-accent); outline-offset: 3px; border-radius: 4px; }
.fihris .num { direction: ltr; unicode-bidi: isolate; font-variant-numeric: tabular-nums; }

.fx-wrap { max-width: var(--fx-max); margin-inline: auto; padding-inline: var(--fx-pad); }

.fx-bar {
  position: sticky; top: 0; z-index: 40;
  background: var(--fx-bg);
  background: color-mix(in srgb, var(--fx-bg) 88%, transparent);
  backdrop-filter: saturate(1.4) blur(10px);
  -webkit-backdrop-filter: saturate(1.4) blur(10px);
  border-bottom: 1px solid var(--fx-line);
}
.fx-bar .fx-wrap {
  display: flex; align-items: center; justify-content: space-between;
  gap: 14px; min-height: 62px; padding-block: 9px;
}
.fx-brand { order: 2; flex: none; display: inline-flex; }
.fx-brand img { height: clamp(38px, 5vw, 48px); width: auto; }

.fx-nav {
  order: 1; display: flex; align-items: center;
  gap: clamp(12px, 2.2vw, 24px); min-width: 0;
  overflow-x: auto; scrollbar-width: none; padding-block: 4px;
}
.fx-nav::-webkit-scrollbar { display: none; }
.fx-nav a {
  font-size: var(--fx-small); font-weight: 600; color: var(--fx-ink-2);
  line-height: var(--fx-lh); white-space: nowrap;
  border-bottom: 1.5px solid transparent; padding-bottom: 3px;
  transition: color .22s var(--fx-ease), border-color .22s var(--fx-ease);
}
.fx-nav a:hover { color: var(--fx-ink); border-bottom-color: var(--fx-accent); }
.fx-nav a[aria-current="page"] { color: var(--fx-ink); border-bottom-color: var(--fx-accent); }
.fx-nav a.go {
  color: var(--fx-brand-deep); background: var(--fx-brand-soft);
  border: 0; border-radius: 999px; padding: 8px 15px;
}
.fx-nav a.go:hover { background: var(--fx-brand); color: #fff; }
:root[data-theme="dark"] .fx-nav a.go:hover { color: #15170E; }

.crumb {
  font-size: var(--fx-crumb); color: var(--fx-ink-2);
  line-height: var(--fx-lh); padding-top: 18px;
}
.crumb a { color: var(--fx-ink-2); }
.crumb a:hover { color: var(--fx-brand-deep); text-decoration: underline; text-underline-offset: 3px; }
.crumb span { margin-inline: 7px; opacity: .55; }

.lg-head { padding-top: 10px; }
.fihris h1 {
  font-size: var(--fx-h1); font-weight: 700;
  line-height: var(--fx-lh-head); letter-spacing: -.01em;
  max-width: 22ch;
}

.rel a, .lg-foot a { color: var(--fx-brand-deep); font-weight: 700; }

.toc {
  position: sticky; top: 62px; z-index: 30;
  background: var(--fx-bg);
  background: color-mix(in srgb, var(--fx-bg) 92%, transparent);
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--fx-line);

  margin-top: clamp(1.05rem, 2.6vw, 1.5rem);
}
.toc .fx-wrap {
  display: flex; gap: 8px; padding-block: 10px;
  overflow-x: auto; scrollbar-width: none;
}
.toc .fx-wrap::-webkit-scrollbar { display: none; }
.toc a {
  flex: 0 0 auto;
  display: inline-flex; align-items: center; gap: 7px;
  min-height: 42px; padding-inline: 15px; border-radius: 999px;
  background: var(--fx-surface); border: 1px solid var(--fx-line);
  font-size: var(--fx-small); font-weight: 600; color: var(--fx-ink-2);
  line-height: var(--fx-lh); white-space: nowrap;
  transition: border-color .22s var(--fx-ease), color .22s var(--fx-ease), background .22s var(--fx-ease);
}
.toc a i {
  font-style: normal; font-size: var(--fx-tiny); font-weight: 700;
  color: var(--fx-ink-3); background: var(--fx-sunken);
  border-radius: 999px; padding: 1px 8px;
}
.toc a:hover { border-color: var(--fx-brand); color: var(--fx-brand-deep); background: var(--fx-brand-soft); }

.fihris main { display: block; }
.fihris section { margin-top: var(--fx-sec); scroll-margin-top: 120px; }
.fihris h2 {
  display: flex; align-items: center; gap: 10px;
  font-size: var(--fx-h2); font-weight: 700; line-height: var(--fx-lh-head);
  padding-bottom: 12px; border-bottom: 2px solid var(--fx-ink);
}
.fihris h2 small {
  margin-inline-start: auto; flex: none;
  font-size: var(--fx-tiny); font-weight: 700;
  color: var(--fx-accent-ink); background: var(--fx-accent-soft);
  border-radius: 999px; padding: 3px 11px;
}
.fihris h3 {
  font-size: var(--fx-h3); font-weight: 700; line-height: var(--fx-lh-head);
  margin: var(--fx-sec) 0 10px;
}

.fx-list {
  list-style: none; display: grid; gap: 0;
  grid-template-columns: repeat(var(--fx-cols, 1), minmax(0, 1fr));
  background: var(--fx-surface);
  border: 1px solid var(--fx-line); border-radius: var(--fx-r);
  overflow: hidden;
}
.fx-list li { border-top: 1px solid var(--fx-line); min-width: 0; }
.fx-list > li:first-child { border-top: 0; }
.fx-list a {
  display: flex; align-items: center; gap: 12px;
  padding: 14px 16px; min-height: 62px; height: 100%;
  transition: background .2s var(--fx-ease);
}
.fx-list a:hover { background: var(--fx-sunken); }
.fx-list .tt {
  flex: 1; min-width: 0;
  font-size: var(--fx-small); font-weight: 600; line-height: var(--fx-lh);
  color: var(--fx-ink);
}
.fx-list a:hover .tt { color: var(--fx-brand-deep); }
.fx-list .lf {
  flex: none; font-size: var(--fx-tiny); color: var(--fx-ink-3);
  line-height: var(--fx-lh); white-space: nowrap;
}
.fx-list .yr {
  flex: none; font-size: var(--fx-tiny); font-weight: 700;
  color: var(--fx-accent-ink); background: var(--fx-accent-soft);
  border-radius: 999px; padding: 2px 9px; line-height: var(--fx-lh);
}

.fx-grid {
  display: grid; gap: 12px;
  grid-template-columns: repeat(var(--fx-cols, 1), minmax(0, 1fr));
  margin-top: 16px;
}
.fx-card {
  display: flex; flex-direction: column; gap: 6px;
  background: var(--fx-surface); border: 1px solid var(--fx-line);
  border-radius: var(--fx-r); padding: 16px 18px;
  position: relative; overflow: hidden;
  transition: transform .22s var(--fx-ease), border-color .22s, box-shadow .22s;
}
.fx-card::before {
  content: ""; position: absolute; inset-block: 0; inset-inline-start: 0;
  width: 4px; background: var(--fx-brand); opacity: .85;
}

.fx-card b { font-size: var(--fx-h3); font-weight: 700; line-height: var(--fx-lh-head); }
.fx-card:hover b { color: var(--fx-brand-deep); }
.fx-card span { font-size: var(--fx-tiny); color: var(--fx-ink-2); line-height: var(--fx-lh); }

.fx-prose {
  margin-top: var(--fx-sec);
  padding-top: 22px;
  border-top: 2px solid var(--fx-ink);
  scroll-margin-top: 120px;
}
.fx-prose > h2 {
  display: block; border: 0; padding: 0; margin-bottom: 4px;
  font-size: var(--fx-h2); font-weight: 700; line-height: var(--fx-lh-head);
}
.fx-prose h3 {
  margin: 26px 0 0;
  font-size: var(--fx-h3); font-weight: 700; line-height: var(--fx-lh-head);
  color: var(--fx-brand-deep);
}
.fx-prose p {
  max-width: var(--fx-read); margin-top: 10px;
  color: var(--fx-ink-2); font-size: var(--fx-body); line-height: 1.95;
}
.fx-prose p b, .fx-prose li b { color: var(--fx-ink); font-weight: 700; }
.fx-prose ul { list-style: none; display: grid; gap: 8px; margin-top: 12px; }
.fx-prose ul li {
  position: relative; padding-inline-start: 20px; max-width: var(--fx-read);
  color: var(--fx-ink-2); font-size: var(--fx-body); line-height: 1.95;
}
.fx-prose ul li::before {
  content: ""; position: absolute; inset-inline-start: 4px; top: .82em;
  width: 6px; height: 6px; border-radius: 50%; background: var(--fx-accent);
}
.fx-prose ol { list-style: none; display: grid; gap: 8px; margin-top: 12px;
               counter-reset: pr; }
.fx-prose ol li {
  position: relative; padding-inline-start: 30px; counter-increment: pr;
  max-width: var(--fx-read);
  color: var(--fx-ink-2); font-size: var(--fx-body); line-height: 1.95;
}
.fx-prose ol li::before {
  content: counter(pr); position: absolute; inset-inline-start: 0; top: .3em;
  width: 21px; height: 21px; border-radius: 50%;
  background: var(--fx-brand-soft); color: var(--fx-brand-deep);
  display: inline-flex; align-items: center; justify-content: center;
  font-size: var(--fx-tiny); font-weight: 700; line-height: 1;
}
.fx-prose a {
  color: var(--fx-brand-deep); font-weight: 600;
  border-bottom: 1px solid var(--fx-line-2);
}
.fx-prose a:hover { border-bottom-color: var(--fx-accent); color: var(--fx-accent); }
.fx-prose blockquote {
  margin-top: 14px; padding-inline-start: 16px;
  border-inline-start: 3px solid var(--fx-accent);
}
.fx-prose blockquote p { color: var(--fx-ink); }
.fx-prose .fx-tb-wrap {
  margin-top: 14px; overflow-x: auto;
  border: 1px solid var(--fx-line); border-radius: var(--fx-r);
  background: var(--fx-surface);
}
.fx-prose table.fx-tb { width: 100%; border-collapse: collapse; }
.fx-prose table.fx-tb th {
  text-align: start; padding: 12px 14px; white-space: nowrap;
  background: var(--fx-brand-soft); color: var(--fx-brand-deep);
  font-size: var(--fx-small); font-weight: 700;
  border-bottom: 1px solid var(--fx-line);
}
.fx-prose table.fx-tb td {
  padding: 11px 14px; vertical-align: top; border-top: 1px solid var(--fx-line);
  color: var(--fx-ink-2); font-size: var(--fx-small); line-height: 1.9;
}

.rel {
  margin-top: var(--fx-sec); padding-top: 20px;
  border-top: 1px solid var(--fx-line);
  font-size: var(--fx-small); line-height: 2.1; color: var(--fx-ink-2);
}
.rel b { color: var(--fx-ink); }
.rel a { border-bottom: 1px solid transparent; }
.rel a:hover { border-bottom-color: var(--fx-accent); color: var(--fx-accent); }

.lg-foot {
  margin-top: var(--fx-sec); padding: 22px 0 48px;
  border-top: 1px solid var(--fx-line-2);
  text-align: center; font-size: var(--fx-small);
  color: var(--fx-ink-2); line-height: 2.2;
}
.lg-foot a { margin-inline: 8px; border-bottom: 1px solid transparent; }
.lg-foot a:hover { border-bottom-color: var(--fx-accent); }

.ad-aside { margin-top: var(--fx-sec); text-align: center; }
.ad-note { font-size: 10px; font-weight: 700; opacity: .45; margin-bottom: 6px; }
ins.adsbygoogle { display: block; }

@media (min-width: 700px)  { :root { --fx-cols: 2; } }
@media (min-width: 1060px) { :root { --fx-cols: 3; } }

@media (min-width: 1060px) {
  .fx-list { --fx-cols: 2; }

  .fx-list > li:nth-child(2) { border-top: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .fihris *, .fihris *::before { transition: none !important; }
  .fx-card:hover { transform: none; }
}

@media print {
  .fx-bar, .toc, .ad-aside { display: none !important; }
  body.fihris { background: #fff; color: #000; }
  .fx-list, .fx-card { border-color: #999; }
}

.ad-slot, .ad-aside, .read-ad { display: none; }
html.ads-on .ad-slot, html.ads-on .ad-aside { display: block; }
html.ads-on .read-ad { display: block; }
html.ads-on .read-ad[hidden] { display: none; }

ins.adsbygoogle[data-ad-status="unfilled"] { display: none !important; }

.fx-file { display: grid; gap: var(--fx-pad); margin-block: var(--fx-pad); }

.fx-chips {
  display: flex; flex-wrap: wrap; gap: 8px; margin: 0;
}
.fx-chip {

  display: inline-block;
  background: var(--fx-surface); border: 1px solid var(--fx-line);
  border-radius: 999px; padding: 6px 14px;
  font-size: var(--fx-small); line-height: var(--fx-lh);
  color: var(--fx-ink-2); white-space: nowrap;
}
.fx-chip.lnk {
  color: var(--fx-brand-deep); font-weight: 700;
  border-color: var(--fx-line-2);
  transition: background-color .22s var(--fx-ease), border-color .22s var(--fx-ease);
}
.fx-chip.lnk:hover { background: var(--fx-brand-soft); border-color: var(--fx-brand); }

.fx-pair {
  display: flex; flex-direction: column; gap: 3px;
  background: var(--fx-accent-soft);
  border: 1px solid var(--fx-line-2); border-radius: var(--fx-r);
  padding: 14px var(--fx-pad);
  transition: border-color .22s var(--fx-ease), transform .22s var(--fx-ease);
}

.fx-pair .k {
  font-size: var(--fx-tiny); font-weight: 700;
  color: var(--fx-accent-ink); line-height: var(--fx-lh);
}
.fx-pair .t {
  font-size: var(--fx-body); font-weight: 600;
  color: var(--fx-ink); line-height: var(--fx-lh-head);
}

.fx-about {
  max-width: var(--fx-read);
  color: var(--fx-ink-2); font-size: var(--fx-body);
  line-height: 1.95; margin: 0;
}

.fx-prev { margin: 0; font-size: var(--fx-small); line-height: 1.85; }
.fx-prev a { color: var(--fx-accent-ink); }

.fx-cta {
  display: flex; flex-direction: column; align-items: flex-start;
  gap: 10px; margin: 0;
  background: var(--fx-sunken); border: 1px solid var(--fx-line);
  border-radius: var(--fx-r); padding: var(--fx-pad);
  font-size: var(--fx-small); line-height: var(--fx-lh);
}
.fx-cta .btn {
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--fx-brand); color: #fff; text-decoration: none;
  border-radius: 100px; padding: .72rem 1.35rem;
  font-size: var(--fx-body); font-weight: 600; line-height: 1.7;
  transition: background-color .22s ease, transform .22s ease;
}

.fx-cta > a:not(.btn) {
  color: var(--fx-brand-deep); font-weight: 600;
  border-bottom: 1px solid var(--fx-line-2);
}
.fx-cta > a:not(.btn):hover { border-bottom-color: var(--fx-accent); color: var(--fx-accent); }
@media (min-width: 700px) { .fx-cta .btn { min-width: 15rem; justify-content: center; } }

.fx-content { margin-top: var(--fx-sec); padding-top: 0; border-top: 0; }

.fx-paper {
  background: var(--fx-surface); border: 1px solid var(--fx-line);
  border-radius: var(--fx-r); box-shadow: 0 1px 2px rgba(0,0,0,.04), 0 8px 24px rgba(0,0,0,.05);
  padding: clamp(1.1rem, 4vw, 2rem) clamp(1rem, 4vw, 2.2rem);
}
.fx-paper .q-head {
  margin: 0 0 4px; padding-bottom: 14px; max-width: none;
  border-bottom: 2px solid var(--fx-ink);
  text-align: center; color: var(--fx-ink); font-weight: 700;
  font-size: var(--fx-body); line-height: 1.9;
}
.fx-paper h3 {
  margin: 18px 0 2px; color: var(--fx-brand-deep);
  font-size: var(--fx-small); font-weight: 700; line-height: var(--fx-lh-head);
}
.fx-paper p { max-width: none; }
.fx-paper ol { gap: 0; margin-top: 6px; }
.fx-paper ol li {
  max-width: none; padding-block: 14px; padding-inline-start: 34px;
  border-bottom: 1px dashed var(--fx-line); line-height: 2;
}
.fx-paper ol li:last-child { border-bottom: 0; }
.fx-paper ol li::before { top: 1.05em; width: 24px; height: 24px; }
.fx-paper .q-stem { display: block; color: var(--fx-ink); font-weight: 600; }
.fx-paper .q-part { display: block; padding-inline-start: 14px; margin-top: 4px; color: var(--fx-ink-2); }
.fx-paper .q-line { display: block; color: var(--fx-ink-2); }
.fx-sol {
  display: flex; flex-direction: column; align-items: flex-start; gap: 8px;
  margin-top: var(--fx-sec);
  background: var(--fx-brand-soft); border: 1px solid var(--fx-line);
  border-radius: var(--fx-r); padding: var(--fx-pad);
}
.fx-sol b { color: var(--fx-brand-deep); font-size: var(--fx-h3); font-weight: 700; line-height: var(--fx-lh-head); }
.fx-sol span { color: var(--fx-ink-2); font-size: var(--fx-body); line-height: 1.9; max-width: var(--fx-read); }
.fx-sol .btn {
  display: inline-flex; align-items: center; justify-content: center; margin-top: 6px;
  background: var(--fx-brand); color: #fff; text-decoration: none;
  border-radius: 100px; padding: .72rem 1.35rem;
  font-size: var(--fx-body); font-weight: 600; line-height: 1.7;
}
@media (min-width: 700px) { .fx-sol .btn { min-width: 15rem; } }

.fx-more {
  display: grid; gap: 10px;
  border-top: 1px solid var(--fx-line); padding-top: var(--fx-pad);
}
.fx-more h2 {
  font-size: var(--fx-h2); line-height: 1.7;
  color: var(--fx-ink); margin: 0; font-weight: 700;
}
.fx-more p {
  max-width: var(--fx-read); margin: 0;
  color: var(--fx-ink-2); font-size: var(--fx-body); line-height: 1.95;
}

.fx-more .fx-years a {
  color: var(--fx-brand-deep); font-weight: 600;
  border-bottom: 1px solid var(--fx-line-2);
}
.fx-more .fx-years a:hover { border-bottom-color: var(--fx-accent); color: var(--fx-accent); }
.fx-more .fx-stat { font-size: var(--fx-small); color: var(--fx-ink-3, var(--fx-ink-2)); }
.fx-more .fx-stat a { color: var(--fx-brand-deep); font-weight: 600; }

.fx-rel { display: grid; gap: 12px; }
.fx-rel h2 {
  font-size: var(--fx-h2); line-height: 1.7;
  color: var(--fx-ink); margin: 0; font-weight: 700;
}

.fx-noln {
  display: flex; align-items: baseline; justify-content: space-between;
  gap: 12px; padding: 12px var(--fx-pad);
  color: var(--fx-ink-2); font-size: var(--fx-body); line-height: 1.85;
}
.fx-cta-note { color: var(--fx-ink-2); font-size: var(--fx-small); line-height: 1.85; }

@media (hover:hover){
.fx-card:hover{transform: translateY(-3px); border-color: var(--fx-line-2); box-shadow: 0 12px 26px -18px rgba(45, 50, 25, .38);}
.fx-pair:hover{border-color: var(--fx-accent); transform: translateY(-2px);}
.fx-cta .btn:hover{background: var(--fx-brand-deep); transform: translateY(-1px);}
}
