:root{
  --letter-glow: #ff5470;
  --letter-val:  #ffffff;
  --bg-deep:    #000000;
  --bg-card:    #000000;
  --bg-input:   #000000;
  --bg-hover:   #14161a;
  --border:     #ffffff;
  --border-lit: #ffffff;
  --gold:       #c9a84c;
  --gold-dim:   #7a6030;
  --gold-glow:  #e8c96a;
  --cyan:       #22d3ee;
  --cyan-glow:  #67e8f9;
  --violet:     #a78bfa;
  --rose:       #f87171;
  --sage:       #6ab88a;
  --amber:      #fbbf24;
  --sky:        #38bdf8;
  --text-pri:   #ffffff;
  --text-sec:   #f2f2ee;
  --text-muted: #c9a84c;
  --radius:     8px;
  --radius-lg:  14px;
  --amber-num:  #ffca28;   /* لون قيم الأرقام المميّزة — مستخدَم ١١ مرة عبر الملف، اسمه الآن رسمي */
  --gold-deep:  #a07830;   /* نهاية تدرّج الذهب في الأزرار النشطة — ١٧ استخدامًا */
  --ink:        #0a0c10;   /* نص داكن فوق خلفيات ذهبية — ٣٨ استخدامًا */
  /* ── خلفية الصفحة (--bg-deep/--bg) أسود خالص. خلفيات البطاقات (--bg-card/--bg2/--bg3/--bg4)
     رُجِّعت لأسود قاتم كامل أيضًا (٢٠٢٦-٠٧-١٨) — بطلب صريح: أي مربع فيه نص لازم يكون أسود قاتم
     كاملًا عشان يحجب صورة الخلفية المتحركة/الساطعة خلفه تمامًا، بدل الاعتماد على تعتيم الصورة نفسها. ── */
  --bg2:#000000; --bg3:#0a0c10; --bg4:#14161a;
  --bdr:#ffffff; --bdr2:#ffffff;
  --gold2:#e8c96a;   /* == --gold-glow بنفس القيمة، اسم مكرَّر — أُبقي عليه بلا حذف الآن، مرشَّح لدمج لاحق منفصل */
  --green:#34d399;
  --txt:#ffffff; --txt2:#f2f2ee; --txt3:#c9a84c;   /* --txt3 == --gold == --text-muted بنفس القيمة أيضًا */
  --r:10px; --r2:16px;
  --font-main: "IBM Plex Sans Arabic", sans-serif;
  color-scheme: dark;
  --color-scheme: dark;
  --gold2-cell-bg: transparent;   --gold2-cell-fg: var(--gold2);
  --cyan-cell-bg: transparent;    --cyan-cell-fg: var(--cyan);
  --violet-cell-bg: transparent;  --violet-cell-fg: var(--violet);
  --green-cell-bg: transparent;   --green-cell-fg: var(--green);
  --tarot-upright-bg: #0a180a;
  --tarot-contrary-bg: #180a0a;
  --dcr-default: #ffd740;
  --dcr-doy: #00e5ff;
  --dcr-product: #69f0ae;
  --dcr-day: #a78bfa;
  --dcr-woy: #2dd4bf;
  /* حبر الشروحات المعمَّم: بديل ملوَّن عن الأبيض/الأسود الصافيين — دافئ وبارد، بنسختين للوضعين */
  --ink-warm: #e8dfc4;
  --ink-cool: #cfe2ee;
  --z-aries: #EF5350; --z-taurus: #66BB6A; --z-gemini: #FFF176; --z-cancer: #4FC3F7;
  --z-leo: #FFA726; --z-virgo: #A5D6A7; --z-libra: #FFE082; --z-scorpio: #7E57C2;
  --z-sagittarius: #FF7043; --z-capricorn: #8D6E63; --z-aquarius: #80DEEA; --z-pisces: #80CBC4;
  --quran-teal: #4ecdc4;
  --quran-violet: #9b7cdb;
  --danger: #e05c7a;
  --tol-blue: #3498db;
  --tol-purple: #9b59b6;
  --g3d-blue: #5b8ac4;
  --g3d-indigo: #7a8bc4;
  --g3d-tan: #a8894a;
  --g3d-teal: #3ba9a0;
  --g3d-green: #4a9d6b;
  --g3d-orange: #d17a3a;
  --g3d-pink: #d4657f;
  --g3d-rose: #e0708a;
  --g3d-amber: #d4a13a;
  --g3d-violet: #9b6fd1;
  --g3d-peach: #e8935a;
  --g3d-lime: #6bbf59;
  --elem-fire: #e74c3c;
  --elem-water: #1abc9c;
  --elem-earth: #e67e22;
  --pl-sun: #F4A425;
  --pl-moon: #B0BEC5;
  --pl-mercury: #90A4AE;
  --pl-venus: #CE93D8;
  --pl-saturn: #78909C;
  --pl-neptune: #5C6BC0;
  --pl-uranus: #4DD0E1;
  --gold-title: #f3dfa3;
  --about-text: #f2f2ee;
  --admin-success: #7ecb7e;
  --admin-error: #e05252;
  --admin-gray: #e8e8e4;
  --moon-alt-ar: #8899aa;
  --moon-en: #c0c8d8;
  --moon-alt-en: #667788;
  --nav-sky: #5bb8e8;
  --nav-amber2: #e89f4e;
  --nav-orchid: #ce93d8;
  --nav-emerald: #4cc27a;
  --nav-tan: #b08968;
  --nav-mustard: #c99a3f;
  --nav-lilac: #b89ee8;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

/* ═══ الوضع النهاري — يعيد تعريف المتغيرات البنيوية فقط (خلفية/نص/حدود)، لا يمس
   أي لون تصنيفي/زخرفي حرفي (أنظمة الجُمَّل، بطاقات التاروت، الكواكب...) ═══ */
html[data-theme="light"]{
  --letter-glow: #ae1d40;
  --letter-val:  #1c1a14;
  --bg-deep:    #f7f5ef;
  --bg-card:    #ffffff;
  --bg-input:   #ffffff;
  --bg-hover:   #ece7d8;
  --border:     #000000;
  --border-lit: #000000;
  --bdr:        #000000;
  --bdr2:       #000000;
  --text-pri:   #1c1a14;
  --text-sec:   #4a4636;
  --text-muted: #8d490d;
  --bg2:        #efe9db;
  --bg3:        #e6dfc9;
  --bg4:        #ddd4b8;
  --txt:        #1c1a14;
  --txt2:       #4a4636;
  --txt3:       #8d490d;
  --gold:       #8d490d;
  --gold-dim:   #8a4a12;
  --gold-glow:  #884a0d;
  --gold2:      #884a0d;
  --cyan:       #146470;
  --cyan-glow:  #106570;
  --violet:     #705718;
  --rose:       #971616;
  --sage:       #37654a;
  --amber:      #73570d;
  --sky:        #116084;
  --green:      #20674d;
  color-scheme: light;
  --color-scheme: light;
  --gold2-cell-bg: #f1e9d0;   --gold2-cell-fg: #111111;
  --cyan-cell-bg: #cdeff4;    --cyan-cell-fg: #111111;
  --violet-cell-bg: #d6cbf5; --violet-cell-fg: #111111;
  --green-cell-bg: #d2efe4;  --green-cell-fg: #111111;
  --tarot-upright-bg: #dfece4;
  --tarot-contrary-bg: #f2d9df;
  --dcr-default: #6d5809;
  --dcr-doy: #096570;
  --dcr-product: #12673e;
  --dcr-day: #35139a;
  --dcr-woy: #1d675d;
  --ink-warm: #3d2b10;
  --ink-cool: #12374e;
  --z-aries: #b51c18; --z-taurus: #2a672d; --z-gemini: #655d1e; --z-cancer: #106186;
  --z-leo: #854f00; --z-virgo: #456247; --z-libra: #6b5927; --z-scorpio: #6b3fa0;
  --z-sagittarius: #ab2e07; --z-capricorn: #745347; --z-aquarius: #2c636b; --z-pisces: #346460;
  --quran-teal: #25625e;
  --quran-violet: #634f8c;
  --danger: #943d51;
  --tol-blue: #205e88;
  --tol-purple: #79458e;
  --g3d-blue: #3e5e85;
  --g3d-indigo: #4e597d;
  --g3d-tan: #6c582f;
  --g3d-teal: #236560;
  --g3d-green: #2f6444;
  --g3d-orange: #864e25;
  --g3d-pink: #8c4354;
  --g3d-rose: #8b4556;
  --g3d-amber: #72571f;
  --g3d-violet: #6c4e92;
  --g3d-peach: #7d4f31;
  --g3d-lime: #38632e;
  --elem-fire: #a2352a;
  --elem-water: #0e6654;
  --elem-earth: #8a4c14;
  --pl-sun: #7a5212;
  --pl-moon: #545b5f;
  --pl-mercury: #515c61;
  --pl-venus: #6f4f75;
  --pl-saturn: #4d5c64;
  --pl-neptune: #4a569a;
  --pl-uranus: #25646c;
  --gold-title: #8a6d0f;
  --about-text: #5c5a55;
  --admin-success: #3f653f;
  --admin-error: #9d3939;
  --admin-gray: #5c5c5c;
  --moon-alt-ar: #525c66;
  --moon-en: #585c63;
  --moon-alt-en: #505d6a;
  --nav-sky: #2f6079;
  --nav-amber2: #795329;
  --nav-orchid: #6f4f75;
  --nav-emerald: #28653f;
  --nav-tan: #6d5540;
  --nav-mustard: #715623;
  --nav-lilac: #63557d;
}
html[data-theme="light"] body{ background-image: none; }
select{background:var(--bg-input);color:var(--text-pri);border:1px solid var(--border);border-radius:var(--radius);}
input{background:var(--bg-input);color:var(--text-pri);font-weight:700;}
input::placeholder{color:var(--text-sec);opacity:1;}
html[data-theme="light"] input,html[data-theme="light"] select,html[data-theme="light"] textarea{ color:#000000; }

/* ═══ حجم الخط — الموقع مبني بوحدة rem (٩٧٠ استخدامًا مقابل ٣٤ px فقط) ═══ */
html[data-fontsize="small"]{ font-size: 87.5%; }
html[data-fontsize="medium"]{ font-size: 100%; }
html[data-fontsize="large"]{ font-size: 115%; }

/* ═══ لوحة إعدادات العرض (خط / حجم / مظهر) ═══ */
.raqeem-settings-panel{
  display:none;position:absolute;top:calc(100% + 6px);right:0;z-index:600;
  background:var(--bg-card);border:1px solid var(--border-lit);border-radius:var(--radius-lg);
  padding:.8rem;min-width:210px;box-shadow:0 8px 24px rgba(0,0,0,.35);direction:rtl
}
.raqeem-settings-panel.open{display:block}
.raqeem-settings-group{margin-bottom:.7rem}
.raqeem-settings-group:last-child{margin-bottom:0}
.raqeem-settings-label{font-family:var(--font-main);font-size:.7rem;color:var(--text-muted);margin-bottom:.35rem;font-weight:700}
.raqeem-settings-opt{
  display:block;width:100%;text-align:right;background:transparent;border:1px solid var(--border);
  border-radius:var(--radius);color:var(--text-sec);font-family:var(--font-main);font-size:.8rem;
  padding:.4rem .7rem;margin-bottom:.3rem;cursor:pointer;transition:all .15s
}
.raqeem-settings-opt:last-child{margin-bottom:0}
.raqeem-settings-opt:hover{border-color:var(--gold-dim);color:var(--text-pri)}
.raqeem-settings-opt.active{background:var(--gold);border-color:var(--gold);color:#0a0c10;font-weight:700}

/* ── TOP NAVIGATION BAR ── */
.top-nav{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .3rem;
  padding: .6rem 1.5rem;
  background: var(--bg-card);
  border-bottom: 1px solid var(--border);
  direction: rtl;
  position: sticky;
  top: 0;
  z-index: 500;
}
.nav-btn{
  background: transparent;
  border: none;
  padding: .4rem .8rem;
  cursor: pointer;
  transition: opacity .14s;
  white-space: nowrap;
  outline: none;
}
.nav-btn:hover{ opacity: .7; }
.nav-btn:active{ transform: translateY(1px); }
.nav-label{
  font-family: var(--font-main);
  font-weight: 700;
  font-size: 1.1rem;
  background: linear-gradient(135deg,#f3dfa3,#c9a84c 55%,#9a6820);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  letter-spacing: .03em;
  white-space: nowrap;
  pointer-events: none;
}
/* .nav-label defined above */
.nav-dropdown{ position: relative; }
.nav-menu{
  display: none;
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  min-width: 200px;
  background: var(--bg-card);
  border: 1px solid var(--border-lit);
  border-radius: var(--radius);
  box-shadow: 0 8px 30px rgba(0,0,0,.5);
  z-index: 501;
  overflow: visible;
  direction: rtl;
}
.nav-menu.open{ display: block; }
/* dropdown that opens from left edge (for left-side nav buttons) */
.nav-menu.open-left{
  right: auto;
  left: 0;
}
.nav-menu-item{
  display: block;
  width: 100%;
  padding: .6rem 1rem;
  background:var(--bg-card);
  border: none;
  text-align: right;
  font-family:var(--font-main);
  font-size: .85rem;
  color: var(--text-pri);
  cursor: pointer;
  transition: background .12s;
}
.nav-menu-item:hover{ background: var(--bg-hover); }
.nav-menu-item.disabled{ color: var(--text-muted); cursor: default; }
.nav-menu-item.disabled:hover{ background: none; }
.nav-menu-item .coming{ font-size: .65rem; color: var(--text-muted); margin-right: .3rem; }

/* ══ Mega Menu ══ */
.nav-mega{
  display: none;
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  background:var(--bg-card);
  border: 1px solid rgba(201,168,76,.2);
  border-radius: 12px;
  box-shadow: 0 8px 40px rgba(0,0,0,.8);
  z-index: 501;
  direction: rtl;
  padding: .5rem;
  gap: 0;
  display: none;
  overflow: hidden;
  width: fit-content;
}
.nav-mega.open{
  display: flex;
  flex-direction: row;
}
#symbolsMenu.open,#gematriaMenu.open{
  display: block;
}
.tools-grid-btn{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:.5rem;padding:.9rem .5rem;
  background:transparent;border:1px solid #1e1e2e;border-radius:10px;
  cursor:pointer;transition:all .18s;text-align:center;
  font-family:var(--font-main);
}
.tools-grid-btn:hover{
  background:rgba(201,168,76,.1);
  border-color:rgba(201,168,76,.4);
  transform:translateY(-2px);
}
.tools-grid-lbl{
  font-size:.78rem;color:#e8d49a;line-height:1.4;
  font-family:var(--font-main);
}
.tgb{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:.35rem;padding:.7rem .35rem;min-width:5.125rem;min-height:5.125rem;height:auto;
  background:var(--bg2);border:1px solid var(--bdr);border-radius:10px;
  cursor:pointer;transition:all .15s;
}
.tgb:hover{ background:rgba(201,168,76,.1);border-color:rgba(201,168,76,.4);transform:translateY(-2px); }
.tgi{ font-size:1.85rem;line-height:1;font-family:serif; }
.tgl{ font-size:.74rem;color:var(--txt2);line-height:1.3;font-family:var(--font-main);text-align:center; }
/* كل عمود له لون مختلف */
.nav-mega-col{
  min-width: 150px;
  display: flex;
  flex-direction: column;
  gap: 0;
  border-radius: 8px;
  overflow: hidden;
  margin: 2px;
}
.nav-mega-col:nth-child(1){ --col:#c9a84c; --colbg:transparent; }
.nav-mega-col:nth-child(2){ --col:#c9a84c; --colbg:transparent; }
.nav-mega-col:nth-child(3){ --col:#c9a84c; --colbg:transparent; }
.nav-mega-col{ background: transparent; }
.nav-mega-col + .nav-mega-col{
  border-right: 1px solid rgba(255,255,255,.06);
}
.nav-mega-title{
  font-family:var(--font-main);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .08em;
  color: var(--col);
  padding: .55rem .8rem .45rem;
  border-bottom: 1px solid rgba(255,255,255,.08);
  margin-bottom: .1rem;
  display: flex;
  align-items: center;
  gap: .4rem;
}
.nav-mega-col .nav-menu-item{
  font-size: .85rem;
  padding: .45rem .8rem;
  transition: color .12s, background .12s;
}
/* ألوان الكلمات — كل عمود لون مختلف */
.nav-mega-col .nav-menu-item{ color: #e8d49a; }
.nav-mega-col .nav-menu-item:hover{ background: rgba(201,168,76,.08); color: #f3dfa3; }

/* brand mark "الرقيم" */
.brand-raqim{
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  cursor: pointer;
  padding-left: .9rem;
  margin-left: .3rem;
  border-left: 1px solid var(--border-lit, #2a3346);
  white-space: nowrap;
}
.brand-raqim-text{
  font-family: "Amiri", serif;
  font-weight: 700;
  font-size: 1.35rem;
  background: linear-gradient(135deg,#f3dfa3,#c9a84c 55%,#9a6820);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  letter-spacing: .04em;
}
.brand-raqim-icon{ width: 22px; height: 22px; flex-shrink: 0; }

/* ── HERO HEADER ── */
.hero-header{
  position: relative;
  text-align: center;
  padding: 3.5rem 1.5rem 2.5rem;
  border-bottom: 1px solid var(--border);
  overflow: hidden;
}
.hero-header::before{
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 70% 60% at 50% -10%, rgba(201,168,76,.13) 0%, transparent 70%),
    radial-gradient(circle at 15% 50%, rgba(155,124,219,.07) 0%, transparent 50%),
    radial-gradient(circle at 85% 50%, rgba(78,205,196,.06) 0%, transparent 50%);
  pointer-events: none;
}
.hero-mandala{
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%,-50%);
  width: 480px; height: 480px;
  opacity: .04;
  pointer-events: none;
}
.hero-eyebrow{
  font-family: "Ubuntu Mono", monospace;
  font-size: .68rem;
  letter-spacing: .22em;
  color: var(--gold-dim);
  text-transform: uppercase;
  margin-bottom: .9rem;
}
.hero-title{
  font-family: "Amiri", serif;
  font-size: clamp(3rem, 7vw, 5.5rem);
  font-weight: 700;
  line-height: 1.05;
  background: linear-gradient(160deg,#fff5d6 0%,#f3dfa3 30%,#c9a84c 60%,#9a6820 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  letter-spacing: .06em;
  margin-bottom: .4rem;
  text-shadow: none;
  position: relative;
}
.hero-title-deco{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  margin-bottom: 1.2rem;
}
.hero-title-deco .deco-line{
  flex: 1;
  max-width: 80px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold-dim));
}
.hero-title-deco .deco-line.right{
  background: linear-gradient(90deg, var(--gold-dim), transparent);
}
.hero-title-deco .deco-glyph{
  color: var(--gold-dim);
  font-size: 1rem;
  letter-spacing: .1em;
}
.hero-verse-wrap{
  position: relative;
  display: inline-block;
  margin: 1rem auto .6rem;
  padding: 1rem 2rem;
  border: 1px solid rgba(201,168,76,.2);
  border-radius: 6px;
  background: rgba(201,168,76,.04);
  max-width: 680px;
}
.hero-verse-wrap::before,.hero-verse-wrap::after{
  content: "❧";
  position: absolute;
  top: 50%; transform: translateY(-50%);
  color: rgba(201,168,76,.2);
  font-size: 1.4rem;
}
.hero-verse-wrap::before{ right: .6rem; }
.hero-verse-wrap::after{ left:  .6rem; }
.hero-verse{
  font-family: "Amiri", serif;
  font-size: clamp(1.05rem, 2.2vw, 1.35rem);
  color: #d4b97a;
  line-height: 2;
  direction: rtl;
  text-align: center;
  letter-spacing: .02em;
}
.hero-verse-ref{
  font-family: "Ubuntu Mono", monospace;
  font-size: .65rem;
  color: var(--gold-dim);
  letter-spacing: .14em;
  margin-top: .4rem;
  display: block;
}
.hero-tagline{
  color: var(--text-sec);
  font-size: .82rem;
  max-width: 460px;
  margin: .8rem auto 0;
  line-height: 1.8;
}
.hero-numbers-strip{
  display: flex;
  justify-content: center;
  gap: 2.5rem;
  margin-top: 1.6rem;
  flex-wrap: wrap;
}
.hero-stat{
  text-align: center;
}
.hero-stat .hs-num{
  font-family: "JetBrains Mono", monospace;
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--gold);
  line-height: 1;
}
.hero-stat .hs-lbl{
  font-size: .65rem;
  letter-spacing: .12em;
  color: var(--text-muted);
  text-transform: uppercase;
  margin-top: .25rem;
}

/* ══════════════════════════════════════
   LANDING PAGE — image
══════════════════════════════════════ */
.landing-img-wrap{
  width: 100%;
  min-height: calc(100vh - 52px);
  display: flex;
  align-items: flex-start;
  justify-content: center;
  background:var(--bg-card);
  padding: 0;
}
.landing-img{
  width: 100%;
  max-width: 1100px;
  height: auto;
  display: block;
  user-select: none;
  -webkit-user-drag: none;
}

/* page views */
.page-view{ display: none; }
.page-view.active{ display: block; }

/* ══════════════════════════════════════
   MAGIC SQUARES PAGE
══════════════════════════════════════ */
.ms-wrap{
  max-width: 780px;
  margin: 0 auto;
  padding: 2rem 1.5rem 5rem;
}
.ms-hero{
  text-align: center;
  padding: 2.5rem 0 2rem;
  border-bottom: 1px solid var(--border);
  margin-bottom: 2rem;
}
.ms-hero-title{
  font-family: "Amiri", serif;
  font-size: clamp(1.6rem, 3.5vw, 2.4rem);
  color: var(--gold-glow);
  margin-bottom: .4rem;
}
.ms-hero-sub{
  font-family: "JetBrains Mono", monospace;
  font-size: .7rem;
  color: var(--text-sec);
  letter-spacing: .06em;
}

/* ══ صفحة "الكون الأكبر والأصغر" ══ */
.mc-intro{
  max-width: 640px; margin: 1.2rem auto 2rem; text-align: center;
  font-size: 1rem; line-height: 2; color: var(--text-sec);
}
.mc-intro b{ color: var(--gold-glow); }
.mc-nav{
  display: flex; flex-wrap: wrap; gap: .5rem; justify-content: center;
  margin-bottom: 2.2rem; padding-bottom: 1.5rem; border-bottom: 1px solid var(--border);
}
.mc-nav a{
  font-size: .82rem; color: var(--text-sec); text-decoration: none;
  border: 1px solid var(--border); border-radius: 20px; padding: .3rem .9rem;
  transition: all .15s;
}
.mc-nav a:hover{ color: var(--gold-glow); border-color: var(--gold-glow); }

.mc-section{ max-width: 760px; margin: 0 auto 3rem; scroll-margin-top: 80px; }
.mc-section-eyebrow{
  font-family: "JetBrains Mono", monospace; font-size: .68rem; letter-spacing: .12em;
  color: var(--gold-dim); text-transform: uppercase; margin-bottom: .3rem; text-align: center;
}
.mc-section-title{
  font-family: "Amiri", serif; font-size: 1.6rem; color: var(--gold-glow);
  text-align: center; margin-bottom: 1.4rem;
}
.mc-section-body{ font-size: .96rem; line-height: 2.1; color: var(--text-sec); }
.mc-section-body p{ margin-bottom: 1.1rem; }
.mc-section-body b{ color: var(--gold-glow); font-weight: 600; }
.mc-quote{
  border-right: 3px solid var(--gold-dim); padding: .3rem 1.2rem;
  margin: 1.3rem 0; font-family: "Amiri", serif; font-size: 1.05rem;
  color: var(--text-main); line-height: 1.9; background: rgba(255,255,255,.02);
}
.mc-quote-src{ font-size: .74rem; color: var(--text-sec); margin-top: .4rem; }

.mc-diagram-box{
  display: flex; justify-content: center; margin: 1.6rem 0;
  padding: 1rem; background: var(--bg2); border: 1px solid var(--border); border-radius: 12px;
}
.mc-diagram-box svg{ max-width: 100%; height: auto; }
.mc-diagram-box img{ max-width: 100%; max-height: 420px; height: auto; border-radius: 6px; }
.mc-diagram-src{ text-align: center; font-size: .68rem; color: var(--text-sec); opacity: .7; margin-top: -1.3rem; margin-bottom: 1.6rem; }
.mc-diagram-cap{ text-align: center; font-size: .78rem; color: var(--text-sec); margin-top: -1rem; margin-bottom: 1.6rem; }

.mc-link-btn{
  display: inline-flex; align-items: center; gap: .4rem;
  font-size: .85rem; color: var(--gold-glow); text-decoration: none;
  border: 1px solid var(--gold-dim); border-radius: 8px; padding: .5rem 1rem;
  margin-top: .5rem; cursor: pointer; background: rgba(201,154,63,.06); transition: all .15s;
}
.mc-link-btn:hover{ background: rgba(201,154,63,.15); }

.mc-summary-table{ width: 100%; border-collapse: collapse; font-size: .88rem; margin-top: 1rem; }
.mc-summary-table th,.mc-summary-table td{
  border: 1px solid var(--border); padding: .55rem .7rem; text-align: right; vertical-align: top;
}
.mc-summary-table th{ color: var(--gold-glow); background: var(--bg2); font-weight: 600; }
.mc-summary-table td{ color: var(--text-sec); line-height: 1.7; }

/* Input */
.ms-input-row{
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.ms-input-group{ display: flex; flex-direction: column; gap: .45rem; }
.ms-label{
  font-size: .78rem;
  color: var(--text-sec);
  font-family:var(--font-main);
}
.ms-input{
  width: 100%;
  max-width: 220px;
  padding: .6rem 1rem;
  background: rgba(78,205,196,.06);
  border: 2px solid var(--cyan);
  border-radius: var(--radius);
  color: var(--text-pri);
  font-size: 1.2rem;
  font-family: "JetBrains Mono", monospace;
  font-weight: 700;
  letter-spacing: .06em;
  box-shadow: 0 0 12px rgba(78,205,196,.25);
  transition: border-color .15s, box-shadow .15s;
}
.ms-input:focus{ outline: none; border-color: var(--gold); box-shadow: 0 0 16px rgba(201,168,76,.45); background: rgba(201,168,76,.06); }

.ms-clear-btn{
  padding: .45rem .85rem;
  background: transparent;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  color: var(--text-sec);
  font-size: .78rem;
  font-family:var(--font-main);
  cursor: pointer;
  transition: all .15s;
  white-space: nowrap;
}
.ms-clear-btn:hover{ border-color: var(--danger); color: var(--danger); }
.ms-hint-chips{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .4rem;
}
.ms-hint-lbl{
  font-size: .7rem;
  color: var(--text-sec);
  font-family:var(--font-main);
}
.ms-hint{
  background: rgba(139,92,246,.10);
  border: 1px solid rgba(139,92,246,.45);
  border-radius: 20px;
  color: #c4b5fd;
  font-family: "JetBrains Mono", monospace;
  font-size: .82rem;
  font-weight: 600;
  padding: .28rem .8rem;
  cursor: pointer;
  transition: all .13s;
}
.ms-hint:hover{ border-color:var(--dcr-day); color: #ede9fe; background: rgba(139,92,246,.22); box-shadow: 0 0 10px rgba(139,92,246,.35); transform: translateY(-1px); }
.ms-hint.ms-hint-active{ border-color: var(--gold); color: var(--gold); background: rgba(201,168,76,.1); }
.ms-hint-gold{ border-color: var(--border); color: var(--text-sec); }
.ms-hint-gold.ms-hint-active{ border-color: var(--gold); color: var(--gold); background: rgba(201,168,76,.15); }

/* Error */
.ms-error{
  background: rgba(224,92,122,.1);
  border: 1px solid rgba(224,92,122,.35);
  border-radius: var(--radius);
  color: var(--danger);
  font-size: .85rem;
  font-family:var(--font-main);
  padding: .75rem 1rem;
  margin-bottom: 1.2rem;
  direction: rtl;
  text-align: right;
}

/* Size pills */
.ms-sizes-panel{
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin-bottom: 1.2rem;
  min-height: 2rem;
}
.ms-pill{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .15rem;
  padding: .55rem 1.2rem;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  cursor: pointer;
  transition: all .15s;
  color: var(--text-sec);
}
.ms-pill:hover{ border-color: var(--gold-dim); color: var(--text-pri); }
.ms-pill-active{
  border-color: var(--gold);
  background: rgba(201,168,76,.1);
  color: var(--gold-glow);
}
.ms-pill-n{
  font-family: "JetBrains Mono", monospace;
  font-size: 1rem;
  font-weight: 700;
}
.ms-pill-count{
  font-size: .6rem;
  font-family:var(--font-main);
  opacity: .7;
}

/* Variant buttons */
.ms-variant-wrap{
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  margin-bottom: 1.4rem;
  min-height: 1.5rem;
}
.ms-var-btn{
  padding: .3rem .85rem;
  background: transparent;
  border: 1px solid var(--border);
  border-radius: 20px;
  color: var(--text-sec);
  font-size: .78rem;
  font-family:var(--font-main);
  cursor: pointer;
  transition: all .13s;
  display: flex;
  align-items: center;
  gap: .35rem;
}
.ms-var-btn:hover{ border-color: var(--gold-dim); color: var(--text-pri); }
.ms-var-active{ border-color: var(--cyan); color: var(--cyan); }
.ms-var-tag{
  font-size: .58rem;
  background: rgba(78,205,196,.15);
  color: var(--cyan);
  border-radius: 10px;
  padding: .1rem .4rem;
}
.ms-var-range{
  font-family: "JetBrains Mono", monospace;
  font-size: .78rem;
  letter-spacing: .03em;
}

/* Grid */
.ms-grid-wrap{
  margin-bottom: 1.5rem;
  min-height: 80px;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  overflow-x: auto;
}
.ms-grid{
  display: grid;
  grid-template-columns: repeat(var(--ms-n), var(--ms-cell));
  gap: 2px;
  margin-bottom: 1rem;
  width: fit-content;
}
.ms-cell{
  width: var(--ms-cell);
  height: var(--ms-cell);
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid transparent;
  border-radius: 6px;
  font-family: "JetBrains Mono", monospace;
  font-size: var(--ms-fs);
  font-weight: 700;
  color:var(--text-pri);
  transition: transform .12s, box-shadow .12s, filter .12s;
  cursor: pointer;
  user-select: none;
  position: relative;
  /* لون الخلفية يُعيَّن ديناميكياً */
}
.ms-cell{ filter: saturate(1.55) brightness(1.18); }
.ms-cell:hover{
  transform: scale(1.1);
  z-index: 2;
  box-shadow: 0 0 18px currentColor, 0 0 34px rgba(201,168,76,.35);
  filter: saturate(1.8) brightness(1.55);
}
.ms-cell:active{
  transform: scale(1.16);
  filter: saturate(2) brightness(1.85);
  box-shadow: 0 0 26px currentColor, 0 0 44px rgba(201,168,76,.5);
}
/* الخلايا المضاءة عند hover على صف/عمود/قطر */
.ms-cell.ms-lit{
  transform: scale(1.07);
  filter: saturate(1.9) brightness(1.7);
  box-shadow: 0 0 16px rgba(201,168,76,.75);
  z-index: 1;
  border-color: rgba(201,168,76,.9) !important;
}
.ms-cell.ms-lit-diag{
  filter: saturate(2.1) brightness(1.95);
  box-shadow: 0 0 22px rgba(201,168,76,1);
  border-color: var(--gold) !important;
}
.ms-cell.ms-diag{
  /* لا تمييز بصري — القطر يظهر فقط عند hover */
}
.ms-cell.ms-target{
  border-color: var(--cyan);
  box-shadow: 0 0 12px rgba(78,205,196,.4);
}
/* أنيميشن ظهور */
@keyframes cellPop {
  0% { opacity:0; transform: scale(.4) rotate(-8deg); }
  70% { transform: scale(1.1) rotate(2deg); }
  100% { opacity:1; transform: scale(1) rotate(0); }
}
.ms-cell.ms-anim{
  animation: cellPop .25s ease both;
}
/* شريط المجموع المتحرك */
.ms-sum-live{
  position: fixed;
  bottom: 1.5rem;
  left: 50%;
  transform: translateX(-50%) translateY(60px);
  background: #0a0d14;
  border: 1px solid var(--gold);
  border-radius: 30px;
  padding: .5rem 1.4rem;
  font-family: "JetBrains Mono", monospace;
  font-size: .9rem;
  color: var(--gold);
  box-shadow: 0 4px 20px rgba(201,168,76,.3);
  transition: transform .2s, opacity .2s;
  opacity: 0;
  pointer-events: none;
  z-index: 100;
  white-space: nowrap;
}
.ms-sum-live.ms-sum-show{
  transform: translateX(-50%) translateY(0);
  opacity: 1;
}
/* placeholder محسّن */
.ms-placeholder{
  text-align: center;
  padding: 4rem 1rem;
  color: var(--text-muted);
  font-family: "Amiri", serif;
  font-size: 1.2rem;
  border: 1px dashed var(--border);
  border-radius: var(--radius-lg);
  background: radial-gradient(ellipse at 50% 0%, rgba(201,168,76,.04), transparent 70%);
}
.ms-summary{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: .75rem;
  padding: .7rem 0;
  border-top: 1px solid var(--border);
  width: 100%;
  max-width: 600px;
}
.ms-sum-badge{
  background: rgba(201,168,76,.12);
  border: 1px solid var(--gold-dim);
  border-radius: var(--radius);
  padding: .3rem .8rem;
  font-family: "JetBrains Mono", monospace;
  font-size: .88rem;
  color: var(--gold-glow);
}
.ms-meta{
  font-size: .78rem;
  font-family:var(--font-main);
  color: var(--text-sec);
}
.ms-error-tag{ color: var(--rose) !important; }
.ms-copy-btn{
  margin-left: auto;
  background: transparent;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  color: var(--text-sec);
  font-size: .78rem;
  font-family:var(--font-main);
  padding: .3rem .85rem;
  cursor: pointer;
  transition: all .15s;
}
.ms-copy-btn:hover{ border-color: var(--gold-dim); color: var(--gold-glow); }

.ms-placeholder{
  text-align: center;
  padding: 3rem 1rem;
  color: var(--text-muted);
  font-family: "Amiri", serif;
  font-size: 1.1rem;
  border: 1px dashed var(--border);
  border-radius: var(--radius-lg);
}

/* Info card */
.ms-info-card{
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 1rem 1.25rem;
  margin-top: 1rem;
  direction: rtl;
}
.ms-info-title{
  font-family:var(--font-main);
  font-size: .8rem;
  font-weight: 700;
  color: var(--gold-dim);
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: .5rem;
}
.ms-info-body{
  font-family:var(--font-main);
  font-size: .82rem;
  color: var(--text-sec);
  line-height: 1.8;
  text-align: right;
}
.ms-info-body strong{ color: var(--text-pri); }

/* ── Magic Squares mode tabs ── */
.ms-mode-tabs{display:flex;justify-content:center;gap:1.2rem;margin-bottom:1.8rem;border-bottom:1px solid var(--border);padding-bottom:0}
.ms-mode-tab{background:transparent;border:none;border-bottom:3px solid transparent;color:var(--cyan);font-family:var(--font-main);font-size:1.2rem;font-weight:700;padding:.6rem 1.6rem .7rem;cursor:pointer;transition:all .15s;margin-bottom:-1px;letter-spacing:.02em}
.ms-mode-tab:hover{color:var(--gold-glow);text-shadow:0 0 12px rgba(201,168,76,.4)}
.ms-mode-active{color:var(--gold) !important;border-bottom-color:var(--gold) !important;text-shadow:0 0 14px rgba(201,168,76,.5)}

/* صفحة الهندسة الثلاثية الأبعاد تحديدًا: لون مختلف لكل نمط بدل الذهبي الموحّد —
   نطاق محدود بـ#pageGeometry3D حتى لا يتأثر تبويب الماكروكوزم المشترك بنفس الأصناف */
#pageGeometry3D .ms-mode-tab[data-mode="metatron"].ms-mode-active{color:var(--g3d-teal) !important;background:rgba(59,169,160,.16);border-color:var(--g3d-teal) !important}
#pageGeometry3D .ms-mode-tab[data-mode="platonic"].ms-mode-active{color:var(--g3d-green) !important;background:rgba(74,157,107,.16);border-color:var(--g3d-green) !important}
#pageGeometry3D .ms-mode-tab[data-mode="pyramid"].ms-mode-active{color:var(--g3d-orange) !important;background:rgba(209,122,58,.16);border-color:var(--g3d-orange) !important}
#pageGeometry3D .ms-mode-tab[data-mode="prism"].ms-mode-active{color:var(--g3d-pink) !important;background:rgba(212,101,127,.16);border-color:var(--g3d-pink) !important}
#pageGeometry3D .ms-hero-title{
  background: linear-gradient(90deg, #e0708a, #e8935a, #6bbf59, #3ba9a0, #5b8ac4, #9b6fd1);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
  background-size: 300% 100%; animation: g3dTitleShift 8s ease-in-out infinite;
}
@keyframes g3dTitleShift{ 0%,100%{background-position:0% 50%} 50%{background-position:100% 50%} }
#pageGeometry3D .ms-mode-tabs{gap:.6rem;border-bottom:none;flex-wrap:wrap}
#pageGeometry3D .ms-mode-tab{border-radius:999px;border:1.5px solid var(--border);padding:.5rem 1.1rem;font-size:1rem;margin-bottom:0}
#pageGeometry3D .ms-mode-tab[data-mode="metatron"].ms-mode-active{background:rgba(59,169,160,.16);border-color:var(--g3d-teal) !important}
#pageGeometry3D .ms-mode-tab[data-mode="platonic"].ms-mode-active{background:rgba(74,157,107,.16);border-color:var(--g3d-green) !important}
#pageGeometry3D .ms-mode-tab[data-mode="pyramid"].ms-mode-active{background:rgba(209,122,58,.16);border-color:var(--g3d-orange) !important}
#pageGeometry3D .ms-mode-tab[data-mode="prism"].ms-mode-active{background:rgba(212,101,127,.16);border-color:var(--g3d-pink) !important}
#pageGeometry3D .ms-mode-tab[data-mode="circles"].ms-mode-active{color:var(--g3d-blue) !important;background:rgba(91,138,196,.16);border-color:var(--g3d-blue) !important}
#pageGeometry3D .ms-mode-tab[data-mode="polygon"].ms-mode-active{color:var(--g3d-tan) !important;background:rgba(168,137,74,.16);border-color:var(--g3d-tan) !important}
#pageGeometry3D .ms-mode-tab[data-mode="clock"].ms-mode-active{color:var(--g3d-indigo) !important;background:rgba(122,139,196,.16);border-color:var(--g3d-indigo) !important}

/* أزرار اختيار الشكل بتبويب "أشكال ثنائية الأبعاد": لون مميّز لكل شكل بدل الذهبي الموحّد */
#g3dPolygonPicker .ms-hint[data-shape="triangle"].ms-hint-active{border-color:var(--g3d-rose) !important;color:var(--g3d-rose) !important;background:rgba(224,112,138,.12) !important}
#g3dPolygonPicker .ms-hint[data-shape="square"].ms-hint-active{border-color:var(--g3d-green) !important;color:var(--g3d-green) !important;background:rgba(74,157,107,.12) !important}
#g3dPolygonPicker .ms-hint[data-shape="rhombus"].ms-hint-active{border-color:var(--g3d-amber) !important;color:var(--g3d-amber) !important;background:rgba(212,161,58,.12) !important}
#g3dPolygonPicker .ms-hint[data-shape="parallelogram"].ms-hint-active{border-color:var(--g3d-blue) !important;color:var(--g3d-blue) !important;background:rgba(91,138,196,.12) !important}
#g3dPolygonPicker .ms-hint[data-shape="pentagon"].ms-hint-active{border-color:var(--g3d-violet) !important;color:var(--g3d-violet) !important;background:rgba(155,111,209,.12) !important}
#g3dPolygonPicker .ms-hint[data-shape="hexagon"].ms-hint-active{border-color:var(--g3d-teal) !important;color:var(--g3d-teal) !important;background:rgba(59,169,160,.12) !important}
#g3dPolygonPicker .ms-hint[data-shape="heptagon"].ms-hint-active{border-color:var(--g3d-peach) !important;color:var(--g3d-peach) !important;background:rgba(232,147,90,.12) !important}
#g3dPolygonPicker .ms-hint[data-shape="octagon"].ms-hint-active{border-color:var(--g3d-lime) !important;color:var(--g3d-lime) !important;background:rgba(107,191,89,.12) !important}
#g3dPolygonPicker .ms-hint[data-shape="decagon"].ms-hint-active{border-color:var(--g3d-pink) !important;color:var(--g3d-pink) !important;background:rgba(212,101,127,.12) !important}
#g3dPolygonPicker .ms-hint[data-shape="dodecagon"].ms-hint-active{border-color:var(--g3d-indigo) !important;color:var(--g3d-indigo) !important;background:rgba(122,139,196,.12) !important}

/* تخفيف اعتماد الصفحة على البنفسجي الموحّد بتحويم أزرار الاختيار — لون أدفأ محايد بدل الموف الثابت */
#pageGeometry3D .ms-hint:hover{border-color:#c9a06a;color:#f0dfc0;background:rgba(201,160,106,.16);box-shadow:0 0 10px rgba(201,160,106,.3);transform:translateY(-1px)}

/* ── Planet grid cards ── */
.ms-planet-intro{font-family:var(--font-main);font-size:.88rem;color:#e8d49a;direction:rtl;text-align:right;margin-bottom:1.5rem;line-height:2;background:rgba(201,168,76,.05);border:1px solid rgba(201,168,76,.2);border-radius:var(--radius);padding:1rem 1.2rem}
.ms-planet-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}
.ms-planet-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.1rem 1rem;cursor:pointer;transition:all .18s;display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center}
.ms-planet-card:hover{border-color:var(--gold-dim);transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,.3)}
.ms-pc-sym{font-size:2rem;line-height:1}
.ms-pc-name{font-family:var(--font-main);font-size:.95rem;font-weight:700;color:var(--text-pri)}
.ms-pc-name-en{font-size:.72rem;color:var(--text-muted);font-family:"JetBrains Mono",monospace}
.ms-pc-size{font-size:.75rem;color:var(--text-sec);font-family:"JetBrains Mono",monospace}
.ms-pc-magic{font-family:"JetBrains Mono",monospace;font-size:1.1rem;font-weight:700}
.ms-pc-total{font-size:.7rem;color:var(--text-muted)}
.ms-pc-mini{display:grid;gap:1px;margin-top:.4rem}
.ms-pc-mini-cell{width:16px;height:16px;display:flex;align-items:center;justify-content:center;font-size:.45rem;font-family:"JetBrains Mono",monospace;font-weight:700;background:var(--bg-hover);border-radius:2px}

/* ── Planet detail view ── */
.ms-pd-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:.8rem;border-bottom:1px solid var(--border)}
.ms-pd-back{background:transparent;border:1px solid var(--border-lit);border-radius:var(--radius);color:var(--text-sec);font-family:var(--font-main);font-size:.82rem;padding:.35rem .8rem;cursor:pointer;transition:all .15s}
.ms-pd-back:hover{border-color:var(--gold-dim);color:var(--gold)}
.ms-pd-title{font-family:var(--font-main);font-size:1.2rem;font-weight:700;color:var(--gold-glow)}
.ms-pd-body{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:start}
@media(max-width:640px){.ms-pd-body{grid-template-columns:1fr}}
.ms-pd-left{display:flex;flex-direction:column;align-items:center;gap:1rem}
.ms-pd-stats{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:.8rem 1rem;width:100%}
.ms-pd-stat{display:flex;justify-content:space-between;align-items:center;padding:.3rem 0;border-bottom:1px solid var(--border);font-size:.82rem}
.ms-pd-stat:last-child{border-bottom:none}
.ms-pd-stat-lbl{color:var(--text-sec);font-family:var(--font-main)}
.ms-pd-stat-val{color:var(--gold-glow);font-family:"JetBrains Mono",monospace;font-weight:700}
.ms-pd-right{display:flex;flex-direction:column;gap:1rem}
.ms-pd-lore{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:.8rem 1rem;font-family:var(--font-main);font-size:.82rem;color:var(--text-sec);direction:rtl;text-align:right;line-height:1.9}
.ms-pd-lore-title{font-size:.72rem;font-weight:700;color:var(--gold-dim);letter-spacing:.06em;text-transform:uppercase;margin-bottom:.5rem}
.ms-sigil-wrap{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:.8rem 1rem;display:flex;flex-direction:column;align-items:center;gap:.5rem}
.ms-sigil-title{font-size:.72rem;font-weight:700;color:var(--gold-dim);letter-spacing:.06em;text-transform:uppercase;align-self:flex-start;direction:rtl}
.ms-sigil-note{font-size:.7rem;color:var(--text-muted);font-family:var(--font-main);direction:rtl;text-align:center}

/* number props standalone page */





body{
  background-color: var(--bg-deep);
  /* الخلفية العامة لكل صفحات الموقع أصبحت أسود قاتم + طبقة رموز/حروف/أرقام متناثرة
     (#rqScatterLayer، عنصر ثابت خلف كل المحتوى) بدل صورة الشبكة العصبية. */
  color: var(--text-pri);
  font-family:var(--font-main);
  min-height: 100vh;
  line-height: 1.6;
}

/* رموز الخلفية المتناثرة — الشفافية الأساسية تُضرَب بمعامل يختلف حسب الوضع:
   الداكن يبقى كما تمت الموافقة عليه (معامل ١)، النهاري يُرفَع بوضوح لأن نفس
   القيم كانت شبه غير مرئية فوق الخلفية الفاتحة. اللون كمان يُغمَّق أكثر بالنهاري لتباين أقوى. */
#rqScatterLayer span{ opacity: calc(var(--op, .2) * 1); }
/* V213 canonical brand palette: the dark home/nav color is gold in the base stylesheet,
   not in an optional late patch. This prevents older mobile layers from reviving blue. */
html:not([data-theme="light"]) #rqScatterLayer{ color:#c9a84c !important; }
html:not([data-theme="light"]) .nav-hamburger{ border-color:rgba(201,168,76,.55) !important; }
html:not([data-theme="light"]) .nav-hamburger span{ background:#c9a84c !important; }
html:not([data-theme="light"]) #rqMobileQuickBar>button{ border-color:rgba(201,168,76,.48) !important; color:#c9a84c !important; }
html[data-theme="light"] #rqScatterLayer{ color: #4a3818 !important; }
html[data-theme="light"] #rqScatterLayer span{ opacity: calc(var(--op, .2) * 2.6); }

/* ── HEADER ── */
header{
  text-align: center;
  padding: 2.5rem 1.5rem 1.8rem;
  position: relative;
  overflow: hidden;
}
header::before{
  content: "";
  position: absolute;
  top: -60px; left: 50%;
  transform: translateX(-50%);
  width: 500px; height: 200px;
  background: radial-gradient(ellipse, rgba(201,168,76,.1) 0%, transparent 70%);
  pointer-events: none;
}
.header-label{
  font-size: .72rem;
  font-family: "Ubuntu Mono", monospace;
  letter-spacing: .18em;
  color: var(--gold-dim);
  text-transform: uppercase;
  margin-bottom: .5rem;
}
header h1{
  font-family: "Amiri", serif;
  font-size: clamp(1.8rem, 4vw, 3rem);
  font-weight: 700;
  color: var(--gold-glow);
  line-height: 1.2;
  margin-bottom: .4rem;
}
header p{
  color: var(--text-sec);
  font-size: .85rem;
  max-width: 440px;
  margin: 0 auto;
}

/* ── CONTAINER ── */
.container{
  max-width: 1100px;
  margin: 0 auto;
  padding: 1.8rem 1.5rem 4rem;
}

/* ── TOP TOOLBAR ── */
.toolbar{
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: .8rem;
  margin-bottom: 1.4rem;
}
.toolbar-title{
  font-size: .72rem;
  color: var(--text-muted);
  font-family: "Ubuntu Mono", monospace;
  letter-spacing: .1em;
}

/* dropdown wrapper */
.tables-dropdown{ position: relative; }

.btn-tables-menu{
  display: flex;
  align-items: center;
  gap: .5rem;
  background:var(--bg-card);
  border: 1px solid var(--gold-dim);
  border-radius: var(--radius);
  color: var(--gold);
  font-family:var(--font-main);
  font-size: .88rem;
  font-weight: 600;
  padding: .5rem 1.1rem;
  cursor: pointer;
  transition: all .18s;
  user-select: none;
}
.btn-tables-menu:hover,.btn-tables-menu.open{
  background: rgba(201,168,76,.08);
  border-color: var(--gold);
  color: var(--gold-glow);
}
.btn-tables-menu .btn-arrow{
  font-size: .65rem;
  transition: transform .2s;
  margin-right: .1rem;
}
.btn-tables-menu.open .btn-arrow{ transform: rotate(180deg); }

/* dropdown menu */
.tables-menu{
  display: none;
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  min-width: 260px;
  background: var(--bg-card);
  border: 1px solid var(--border-lit);
  border-radius: var(--radius-lg);
  box-shadow: 0 12px 40px rgba(0,0,0,.5);
  z-index: 200;
  overflow: hidden;
  animation: dropDown .15s ease;
  direction: rtl;
}
.tables-menu.open{ display: block; }

@keyframes dropDown {
  from { opacity:0; transform: translateY(-6px); }
  to   { opacity:1; transform: translateY(0); }
}

.tmenu-section{
  padding: .5rem 0;
  border-bottom: 1px solid var(--border);
}
.tmenu-section:last-child{ border-bottom: none; }
.tmenu-label{
  font-size: .65rem;
  color: var(--text-muted);
  font-family: "Ubuntu Mono", monospace;
  letter-spacing: .1em;
  padding: .3rem 1rem .15rem;
}
.tmenu-item{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: .55rem 1rem;
  cursor: pointer;
  transition: background .12s;
  gap: .5rem;
}
.tmenu-item:hover{ background: var(--bg-hover); }
.tmenu-item .ti-name{
  font-size: .88rem;
  color: var(--text-pri);
  flex: 1;
}
.tmenu-item .ti-actions{
  display: flex;
  gap: .3rem;
  opacity: 0;
  transition: opacity .12s;
}
.tmenu-item:hover .ti-actions{ opacity: 1; }
.ti-btn{
  background: none;
  border: 1px solid var(--border);
  border-radius: 4px;
  color: var(--text-sec);
  font-size: .7rem;
  padding: .15rem .4rem;
  cursor: pointer;
  transition: all .12s;
}
.ti-btn:hover{ border-color: var(--gold); color: var(--gold-glow); }
.ti-btn.del:hover{ border-color: var(--rose); color: var(--rose); }

.tmenu-add-btn{
  display: flex;
  align-items: center;
  gap: .5rem;
  width: 100%;
  padding: .6rem 1rem;
  background: none;
  border: none;
  color: var(--gold);
  font-family:var(--font-main);
  font-size: .88rem;
  font-weight: 600;
  cursor: pointer;
  transition: background .12s;
  direction: rtl;
  text-align: right;
}
.tmenu-add-btn:hover{ background: rgba(201,168,76,.07); }

/* ── INPUT SECTION ── */
.input-section{
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 1.5rem 1.8rem;
  margin-bottom: 1.4rem;
}
.input-row{
  display: flex;
  gap: .8rem;
  align-items: flex-end;
  flex-wrap: wrap;
}
.input-group{ flex: 1; min-width: 200px; }
label.field-label{
  display: block;
  font-size: .78rem;
  color: var(--text-sec);
  margin-bottom: .45rem;
  letter-spacing: .04em;
}
.arabic-input{
  width: 100%;
  background: var(--bg-input);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  color: var(--text-pri);
  font-family: "Amiri", serif;
  font-size: 1.5rem;
  padding: .65rem 1rem;
  text-align: center;
  direction: rtl;
  outline: none;
  transition: border-color .2s, box-shadow .2s;
}
.arabic-input:focus{
  border-color: var(--gold);
  box-shadow: 0 0 0 3px rgba(201,168,76,.13);
}
.arabic-input::placeholder{ color: var(--text-muted); font-size: 1rem; }

select.system-select{
  width: 100%;
  background: var(--bg-input);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  color: var(--text-pri);
  font-family:var(--font-main);
  font-size: .88rem;
  padding: .7rem 1rem;
  outline: none;
  cursor: pointer;
  transition: border-color .2s;
  direction: rtl;
}
select.system-select:focus{ border-color: var(--gold); }

.calc-btn{
  background: linear-gradient(135deg, var(--gold) 0%, #a07830 100%);
  border: none;
  border-radius: var(--radius);
  color: #0a0c10;
  font-family:var(--font-main);
  font-weight: 700;
  font-size: .95rem;
  padding: .7rem 1.8rem;
  cursor: pointer;
  transition: opacity .2s, transform .1s;
  white-space: nowrap;
  min-width: 110px;
}
.calc-btn:hover{ opacity: .9; }
.calc-btn:active{ transform: scale(.97); }

/* ── LETTER BREAKDOWN ── */
.breakdown-section{
  background: rgba(255,255,255,.035);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 1.2rem 1.6rem;
  margin-top: 1rem;
  margin-bottom: 1.4rem;
  display: none;
}
.section-title{
  font-size: .7rem;
  color: var(--text-muted);
  letter-spacing: .1em;
  text-transform: uppercase;
  font-family: "Ubuntu Mono", monospace;
  margin-bottom: 1rem;
}
.letters-strip{
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  direction: rtl;
}
.letter-chip{
  background: var(--bg-input);
  border-radius: 6px;
  padding: .4rem .6rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .55rem;
  min-width: 44px;
}
.letter-chip .lc-char{ font-family: "Amiri", serif; font-size: 1.3rem; color: var(--letter-glow, #ff5470); text-shadow: 0 0 6px rgba(255,84,112,.55); line-height: 1; }
.letter-chip .lc-val{ font-family: "Ubuntu Mono", monospace; font-size: 1.06rem; color: var(--letter-val, #ffffff); font-weight: 600; }

.breakdown-total{
  display: flex;
  align-items: center;
  gap: .8rem;
  margin-top: .8rem;
  padding-top: .6rem;
  direction: rtl;
}
.bt-label{ font-size: .88rem; color: var(--text-muted); }
.bt-val{
  font-family: "Ubuntu Mono", monospace;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--gold-glow);
}
.bt-dr{
  font-family: "Ubuntu Mono", monospace;
  font-size: .92rem;
  color: var(--text-muted);
}
.bt-dr span{ color: var(--cyan); }

/* ── CIPHERS SELECTOR ── */
.results-section{
  display: none;
  background: rgba(255,255,255,.035);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 1rem 1.5rem;
  margin-top: 1rem;
  width: fit-content;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.ciphers-bar{
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1rem;
  direction: rtl;
  gap: .6rem;
  flex-wrap: wrap;
}
.ciphers-count{
  font-size: .72rem;
  color: var(--text-muted);
  font-family: "Ubuntu Mono", monospace;
}
.btn-ciphers{
  display: flex;
  align-items: center;
  gap: .5rem;
  background: #1a1408;
  border: 1px solid var(--gold-dim);
  border-radius: var(--radius);
  color: var(--gold);
  font-family:var(--font-main);
  font-size: .88rem;
  font-weight: 600;
  padding: .5rem 1.2rem;
  cursor: pointer;
  transition: all .18s;
}
.btn-ciphers:hover{
  background: rgba(201,168,76,.08);
  border-color: var(--gold);
  color: var(--gold-glow);
}

/* ── CIPHERS MODAL ── */
.ciphers-overlay{
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(5,6,10,.85);
  backdrop-filter: blur(4px);
  z-index: 1000;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}
.ciphers-overlay.open{ display: flex; }

.ciphers-modal{
  background: var(--bg-card);
  border: 1px solid var(--border-lit);
  border-radius: var(--radius-lg);
  width: 100%;
  max-width: 780px;
  max-height: 88vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(0,0,0,.6);
  direction: rtl;
}
.cm-header{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.5rem;
  border-bottom: 1px solid var(--border);
  flex-shrink: 0;
}
.cm-title{
  font-family: "Amiri", serif;
  font-size: 1.1rem;
  color: var(--gold-glow);
}
.cm-close{
  background: none;
  border: 1px solid var(--border);
  border-radius: 6px;
  color: var(--text-sec);
  width: 30px; height: 30px;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer;
  font-size: .9rem;
  transition: all .14s;
}
.cm-close:hover{ border-color: var(--rose); color: var(--rose); }

/* quick-select bar */
.cm-quick{
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  padding: .8rem 1.5rem;
  border-bottom: 1px solid var(--border);
  flex-shrink: 0;
}
.qbtn{
  background: var(--bg-input);
  border: 1px solid var(--border);
  border-radius: 20px;
  color: var(--text-sec);
  font-family:var(--font-main);
  font-size: .74rem;
  padding: .28rem .8rem;
  cursor: pointer;
  transition: all .14s;
}
.qbtn:hover{ border-color: var(--gold); color: var(--gold-glow); }
.qbtn.active{ background: var(--gold); border-color: var(--gold); color: var(--ink); font-weight: 700; }
.qbtn.danger:hover{ border-color: var(--rose); color: var(--rose); }

/* checkbox body */
.cm-body{
  overflow-y: auto;
  padding: 1.2rem 1.5rem;
  flex: 1;
}
.cm-group-title{
  font-size: .72rem;
  color: var(--text-muted);
  font-family: "Ubuntu Mono", monospace;
  letter-spacing: .08em;
  margin-bottom: .5rem;
  margin-top: 1rem;
}
.cm-group-title:first-child{ margin-top: 0; }

.cm-checks{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
  gap: .35rem;
}
@media(max-width:500px) { .cm-checks{ grid-template-columns: 1fr 1fr; } }

.cm-check{
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .4rem .6rem;
  border-radius: 5px;
  cursor: pointer;
  transition: background .12s;
  font-size: .8rem;
  color: var(--text-sec);
}
.cm-check:hover{ background: var(--bg-hover); }
.cm-check input[type=checkbox]{
  accent-color: var(--gold);
  width: 15px; height: 15px;
  cursor: pointer;
  flex-shrink: 0;
}
.cm-check.checked{ color: var(--text-pri); }
.cm-check-wrap{ display: flex; align-items: center; gap: .25rem; }
.cm-del-btn{ background: rgba(248,113,113,.12); border: 1px solid rgba(248,113,113,.4); color: #f87171; border-radius: 5px; width: 24px; height: 24px; flex-shrink: 0; cursor: pointer; font-size: .75rem; line-height: 1; display: inline-flex; align-items: center; justify-content: center; transition: background .12s; }
.cm-del-btn:hover{ background: rgba(248,113,113,.3); }
.geo-match-head{ font-size: .8rem; color: var(--text-muted); text-align: center; margin: 0 0 .5rem; font-family:var(--font-main); }

/* footer */
.cm-footer{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: .8rem 1.5rem;
  border-top: 1px solid var(--border);
  flex-shrink: 0;
  gap: .5rem;
}
.cm-footer .cm-count{
  font-size: .75rem;
  color: var(--text-muted);
  font-family: "Ubuntu Mono", monospace;
}
.btn-apply-ciphers{
  background: linear-gradient(135deg, var(--gold) 0%, #a07830 100%);
  border: none;
  border-radius: var(--radius);
  color: #0a0c10;
  font-family:var(--font-main);
  font-weight: 700;
  font-size: .88rem;
  padding: .5rem 1.5rem;
  cursor: pointer;
  transition: opacity .14s;
}
.btn-apply-ciphers:hover{ opacity: .88; }

/* ── RESULTS GRID (card grid layout) ── */
.results-grid{
  display: grid;
  grid-template-columns: repeat(6, minmax(80px, max-content));
  gap: .25rem 1.1rem;
  direction: rtl;
  width: fit-content;
  max-width: 100%;
  margin: 0 auto;
}
@media(max-width:900px) { .results-grid{ grid-template-columns: repeat(4, minmax(80px, max-content)); } }
@media(max-width:600px) { .results-grid{ grid-template-columns: repeat(3, minmax(80px, max-content)); } }
@media(max-width:400px) { .results-grid{ grid-template-columns: repeat(2, minmax(80px, max-content)); } }

/* ── RESULT CARD (no box — plain text, name/value are the only touch targets) ── */
.result-card{
  padding: .5rem .3rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .2rem;
  position: relative;
  text-align: center;
}
.result-card.cat-abjad{ --accent: var(--gold); }
.result-card.cat-alphabetic{ --accent: var(--cyan); }
.result-card.cat-prime{ --accent: var(--violet); }
.result-card.cat-fib{ --accent: var(--sage); }
.result-card.cat-phi{ --accent: var(--amber); }
.result-card.cat-euler{ --accent: var(--sky); }
.result-card.cat-satanic{ --accent: var(--rose); }
.result-card.cat-even{ --accent: var(--cyan); }
.result-card.cat-odd{ --accent: var(--violet); }
.result-card.cat-sumerian{ --accent: var(--sage); }
.result-card.cat-other{ --accent: var(--text-muted); }
.result-card.cat-custom{ --accent: var(--amber); }

.rc-name{
  font-size: .9rem;
  color: var(--text-muted);
  line-height: 1.2;
  margin-top: .15rem;
  padding: .3rem .2rem;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  transition: color .12s;
}
/* rc-name same color as rc-val per category */
.cat-abjad      .rc-name{ color: var(--gold-glow); }
.cat-alphabetic .rc-name{ color: var(--cyan); }
.cat-prime      .rc-name{ color: var(--violet); }
.cat-fib        .rc-name{ color: var(--sage); }
.cat-phi        .rc-name{ color: var(--amber); }
.cat-euler      .rc-name{ color: var(--sky); }
.cat-satanic    .rc-name{ color: var(--rose); }
.cat-even       .rc-name{ color: var(--cyan); }
.cat-odd        .rc-name{ color: var(--violet); }
.cat-sumerian   .rc-name{ color: var(--sage); }
.cat-other      .rc-name{ color: var(--text-muted); }
.rc-name:hover{ opacity: .8; }
.rc-val{
  font-family: "Ubuntu Mono", monospace;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1;
  transition: opacity .12s;
}
.rc-val:hover{ opacity: .7; }
.cat-abjad      .rc-val{ color: var(--gold-glow); }
.cat-alphabetic .rc-val{ color: var(--cyan); }
.cat-prime      .rc-val{ color: var(--violet); }
.cat-fib        .rc-val{ color: var(--sage); }
.cat-phi        .rc-val{ color: var(--amber); }
.cat-euler      .rc-val{ color: var(--sky); }
.cat-satanic    .rc-val{ color: var(--rose); }
.cat-even       .rc-val{ color: var(--cyan); }
.cat-odd        .rc-val{ color: var(--violet); }
.cat-sumerian   .rc-val{ color: var(--sage); }
.cat-other      .rc-val{ color: var(--text-pri); }
.cat-custom     .rc-val{ color: var(--amber); }

.rc-dr{
  font-family: "Ubuntu Mono", monospace;
  font-size: .85rem;
  color: var(--text-muted);
}
.rc-dr span{ color: var(--text-sec); font-size: .95rem; font-weight: 600; }
.detail-wc{ font-size: .8rem; color: #ffffff; margin-top: .2rem; }
html[data-theme="light"] .detail-wc{ color: #1c1a14; }
html[data-theme="light"] .lcard-char,html[data-theme="light"] .letter-chip .lc-char{ text-shadow: none; }

/* ── EXPANDED DETAIL (full-width row below grid) ── */
.detail-row{
  display: none;
  grid-column: 1 / -1;
  background: var(--bg-deep);
  border: 1px solid var(--border-lit);
  border-radius: var(--radius);
  padding: 1rem 1.2rem;
  direction: rtl;
  animation: slideDown .15s ease;
}
.detail-row.open{ display: block; }

@keyframes slideDown {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: translateY(0); }
}


/* ── LETTER CARD GRID (inline view — read-only display) ── */
.lcard-grid{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(56px, 1fr));
  gap: .2rem;
  direction: rtl;
  margin-bottom: .6rem;
}
.lcard{
  background: var(--bg-input);
  border-radius: 7px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .45rem;
  padding: .55rem .15rem .4rem;
  transition: background .15s;
}

.lcard-char{
  font-family: "Amiri", serif;
  font-size: 1.5rem;
  color: var(--letter-glow, #ff5470);
  text-shadow: 0 0 6px rgba(255,84,112,.55);
  line-height: 1;
}
.lcard-value{
  font-family: "Ubuntu Mono", monospace;
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--letter-val, #ffffff);
  line-height: 1;
}
/* variant badge */
.lcard-ref{
  font-size: .58rem;
  color: var(--text-muted);
  font-family: "Ubuntu Mono", monospace;
}
.lcard-grid-variants{
  grid-template-columns: repeat(auto-fill, minmax(58px, 1fr));
}

.ltable-section-label{
  font-size: .68rem;
  color: var(--text-muted);
  letter-spacing: .08em;
  font-family: "Ubuntu Mono", monospace;
  margin-bottom: .4rem;
  margin-top: .2rem;
}

/* inline footer */
.inline-footer{
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: .6rem;
  margin-top: .9rem;
  padding-top: .8rem;
  border-top: 1px solid var(--border);
  direction: rtl;
}
.if-total{
  display: flex;
  align-items: baseline;
  gap: .5rem;
}
.if-total-label{ font-size: .78rem; color: var(--text-muted); }
.if-total-val{
  font-family: "Ubuntu Mono", monospace;
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--gold-glow);
}
.if-dr{
  font-family: "Ubuntu Mono", monospace;
  font-size: .72rem;
  color: var(--text-muted);
}
.if-dr span{ color: var(--cyan); }

/* custom row delete */
.btn-del-custom{
  background: #2a1a1a;
  border: none;
  color: var(--text-muted);
  cursor: pointer;
  font-size: .8rem;
  padding: .2rem .4rem;
  transition: color .14s;
  margin-right: .3rem;
}
.btn-del-custom:hover{ color: var(--rose); }

/* ── EMPTY STATE ── */
.empty-state{
  text-align: center;
  padding: 3.5rem 2rem;
  color: var(--text-muted);
}
.empty-icon{
  font-family: "Amiri", serif;
  font-size: 3.5rem;
  color: var(--gold-dim);
  opacity: .4;
  display: block;
  margin-bottom: .8rem;
}

/* ── EDIT / ADD TABLE PANEL ── */
.add-panel{
  display: none;
  background: var(--bg-card);
  border: 1px solid var(--border-lit);
  border-radius: var(--radius-lg);
  padding: 1.5rem 1.8rem;
  margin-bottom: 1.4rem;
  animation: slideDown .18s ease;
}
.add-panel.open{ display: block; }
.add-panel-title{
  font-size: .82rem;
  color: var(--gold);
  font-weight: 600;
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.add-panel-close{
  background: none; border: none;
  color: var(--text-muted); cursor: pointer; font-size: .9rem;
}
.add-panel-close:hover{ color: var(--rose); }
.add-panel-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .8rem;
  margin-bottom: 1rem;
}
@media(max-width:500px){ .add-panel-grid{ grid-template-columns: 1fr; } }
.add-panel input[type=text],.add-panel select{
  width: 100%;
  background: var(--bg-input);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  color: var(--text-pri);
  font-family:var(--font-main);
  font-size: .88rem;
  padding: .6rem .9rem;
  outline: none;
  direction: rtl;
  transition: border-color .15s;
}
.add-panel input[type=text]:focus,.add-panel select:focus{ border-color: var(--gold); }

.letter-vals-grid{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(68px, 1fr));
  gap: .5rem;
  margin-bottom: 1rem;
  direction: rtl;
}
.lv-cell{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .2rem;
  background: var(--bg-input);
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: .4rem .3rem;
}
.lv-char{ font-family: "Amiri", serif; font-size: 1.3rem; color: var(--gold-glow); line-height: 1; }
.lv-inp{
  width: 100%;
  background: var(--bg-deep);
  border: 1px solid var(--border);
  border-radius: 4px;
  color: var(--cyan);
  font-family: "Ubuntu Mono", monospace;
  font-size: .82rem;
  text-align: center;
  padding: .2rem;
  outline: none;
}
.lv-inp:focus{ border-color: var(--gold); color: var(--gold-glow); }
.add-panel-actions{ display: flex; gap: .6rem; justify-content: flex-end; direction: rtl; }
.btn-save-table{
  background: linear-gradient(135deg, var(--gold) 0%, #a07830 100%);
  border: none; border-radius: var(--radius);
  color: #0a0c10;
  font-family:var(--font-main); font-weight: 700; font-size: .88rem;
  padding: .55rem 1.5rem; cursor: pointer;
}
.btn-cancel-table{
  background:var(--bg-card); border: 1px solid var(--border);
  border-radius: var(--radius); color: var(--text-sec);
  font-family:var(--font-main); font-size: .85rem;
  padding: .55rem 1.1rem; cursor: pointer;
}
.btn-cancel-table:hover{ border-color: var(--text-sec); color: var(--text-pri); }

/* ── NUMBER PROPERTIES PANEL ── */












/* أربع فئات فقط الآن — لون مستقل للأعداد الأولية، لون للقواسم (أدناه)،
   لون لِـ π/φ (أدناه)، وكل ما تبقى (بقية الشارات + بقية الأرقام) بلون
   موحّد واحد — كل الألوان مختارة رياضيًا لتعمل بوضوح في الوضعين معًا */












/* body */

























/* nth table */








/* ── Number input spinner at bottom ── */










/* ═══ ألوان لوحة خصائص الأعداد مصممة أصلًا لخلفية داكنة (ألوان نيون
   باهتة) — على الخلفية البيضاء في الوضع النهاري تصير ضعيفة التباين
   وصعبة القراءة. نفرض بدائل أغمق وأكثر تشبّعًا هنا فقط لهذا الوضع،
   بلا أي تغيير على الوضع الليلي ═══ */




/* الكلاسات الفعلية المستخدمة في هذا العرض بالذات (اكتُشفت بعد
   المراجعة — التعديل الأول استهدف جدولًا قديمًا غير مُستخدم هنا) */






/* ═══ تدقيق إضافي (٢٠٢٦-٠٧-٢٣): هذي الفئات فاتت المراجعتين السابقتين
   كليًا — ما كان فيها ولا سطر واحد للوضع النهاري. هذا سبب ظهور
   الرقم الكبير والعوامل بأخضر نيون (#39ff14) والقواسم ببنفسجي فاتح
   (#805ce0) بلا أي تغيير رغم التعديلين السابقين ═══ */







html[data-theme="light"] .ls-fbtn{ background: var(--bg-card); border-color: var(--border); color: var(--text-sec); }
html[data-theme="light"] .dc-fields label,html[data-theme="light"] .ecl-inputs label,html[data-theme="light"] .dc-pm-fields label{ color: var(--text-sec); }
html[data-theme="light"] .dc-chk,html[data-theme="light"] .dc-pm-radio,html[data-theme="light"] .dc-opt-item,html[data-theme="light"] .dc-table td:nth-child(odd){ color: var(--text-pri); }

/* ═══ تدقيق شامل لكل الملف (٢٠٢٦-٠٧-٢٣) — ٥٥ قاعدة لون إضافية عبر
   الموقع كامل ما كان فيها أي معالجة للوضع النهاري إطلاقًا (قائمة
   التنقل، الأوفاق، هندسة الأبعاد، بطاقات الأدوات، شجرة الحياة،
   جدول العناصر الفلكية، منازل القمر، شارات الكسوف...). كل قيمة
   محسوبة لتحافظ على درجة اللون الأصلية (Hue) مع تصحيح الإضاءة
   فقط لتحقيق ≥4.5:1 فوق أغمق خلفية بطاقة (--bg4) ═══ */
html[data-theme="light"] .nav-mega-col .nav-menu-item{ color: #615941; }
html[data-theme="light"] .nav-mega-col .nav-menu-item:hover{ color: #615941; }
html[data-theme="light"] .ms-hint:hover{ color: #5a5961; }
html[data-theme="light"] #pageGeometry3D .ms-hint:hover{ color: #60594d; }
html[data-theme="light"] .ms-planet-intro{ color: #615941; }
html[data-theme="light"] .cm-del-btn{ color: #904242; }
html[data-theme="light"] .dc-eclipse-badge.solar{ color: #735811; }
html[data-theme="light"] .num-card:hover{ color: #66582f; }
html[data-theme="light"] .num-hl{ color: #735614; }
html[data-theme="light"] .num-card.on{ color: #72561f; }
html[data-theme="light"] .nsvc .nr{ color: #535b67; }
html[data-theme="light"] .qbtn.custom .del-x{ color: #904242; }
html[data-theme="light"] .bc-table td.bc-red{ color: #a33434; }
html[data-theme="light"] .sajda-badge.khilaf{ color: #2f6079; }
html[data-theme="light"] .az-tbl td.az-elem-earth{ color: #39634b; }
html[data-theme="light"] .az-tbl td.az-elem-air{ color: #2f6079; }
html[data-theme="light"] .az-tbl td.az-elem-water{ color: #634f8c; }
html[data-theme="light"] .tool-tile.accent-gold .tool-tile-name{ color: #66582f; }
html[data-theme="light"] .tool-tile.accent-cyan .tool-tile-name{ color: #356360; }
html[data-theme="light"] .tool-tile.accent-violet .tool-tile-name{ color: #63557d; }
html[data-theme="light"] .tool-tile.accent-rose .tool-tile-name{ color: #874758; }
html[data-theme="light"] .tool-tile.accent-sage .tool-tile-name{ color: #3d624d; }
html[data-theme="light"] .tool-tile.accent-amber .tool-tile-name{ color: #6f542b; }
html[data-theme="light"] .ckp-sys-btn.ckp-sys-active{ color: #615941; }
html[data-theme="light"] .ckp-zitem.active .ckp-zsym{ color: #66582f; }
html[data-theme="light"] .ckp-zitem.active .ckp-zname{ color: #66582f; }
html[data-theme="light"] .ckp-planet-btn:hover{ color: #695728; }
html[data-theme="light"] .ckp-planet-btn.active{ color: #615941; }
html[data-theme="light"] .dm-btn-del{ color: #8a4545; }
html[data-theme="light"] .dm-btn-edit{ color: #2f6079; }
html[data-theme="light"] .dm-line-ymwd{ color: #6e581d; }
html[data-theme="light"] .dm-line-ywd{ color: #3c606d; }
html[data-theme="light"] .tol-world-btn.tol-world-active{ color: #685172; }

/* ═══ تمريرة ثالثة — بارسر CSS حقيقي بديل عن regex سطر-بسطر (٢٠٢٦-٠٧-٢٣):
   كانت تفوت أي بحث بنمط "سطر واحد" مهما تكرر — هذا سبب ظهور نفس القيم
   الخضراء/الأرقام القابلة للنقر بلا تغيير رغم تمريرتين سابقتين. هذا
   الفحص يحلل بنية CSS الفعلية (selector + جسم القاعدة كاملًا بغض النظر
   عن عدد الأسطر) بدل مطابقة نصية سطحية ═══ */
html[data-theme="light"] .tools-grid-lbl{ color: #615941; }
html[data-theme="light"] .hero-verse{ color: #66593b; }
html[data-theme="light"] .ms-hint{ color: #5e5779; }
html[data-theme="light"] .ms-error{ color: #943d51; }


html[data-theme="light"] .dc-hebrew{ color: #5a5663; }



html[data-theme="light"] .word-subtotal .ws-val{ color: #006a36; }
html[data-theme="light"] .home-hero-title{ color: #8a6d0f; }
html[data-theme="light"] .hqb-verse{ color: #66593b; }
html[data-theme="light"] #pageGematriaEN header h1{ color: #355f5c; }
html[data-theme="light"] #pageGematriaEN .toolbar-title{ color: #355f5c; }
html[data-theme="light"] #pageGematriaEN .geo-card-label{ color: #415d88; }
html[data-theme="light"] #pageGematriaEN .geo-card-value{ color: #355f5c; }
html[data-theme="light"] #pageGematriaEN .geo-card-value:hover{ color: #745500; }
html[data-theme="light"] #pageGematriaEN .ciphers-count{ color: #745500; }
html[data-theme="light"] #pageGematriaEN .history-title{ color: #355f5c; }
html[data-theme="light"] #pageGematriaEN .history-table th{ color: #415d88; }
html[data-theme="light"] #pageGematriaEN .geo-match-head{ color: #355f5c; }
html[data-theme="light"] #pageGematriaEN .btn-hist.danger{ color: #9d344f; }
html[data-theme="light"] #pageGematriaEN .toggle-hist{ color: #385d81; }
html[data-theme="light"] #pageGematriaEN .toggle-hist:hover{ color: #355f5c; }
html[data-theme="light"] .gen-cipher-count{ color: #745500; }
html[data-theme="light"] .gen-btn-outline{ color: #355f5c; }
html[data-theme="light"] .gen-bd-total{ color: #415d88; }
html[data-theme="light"] .gen-add-header{ color: #355f5c; }
html[data-theme="light"] .gen-add-close{ color: #415d88; }
html[data-theme="light"] .gen-label{ color: #415d88; }
html[data-theme="light"] .gen-btn-cancel{ color: #415d88; }
html[data-theme="light"] .gen-hist-title{ color: #415d88; }
html[data-theme="light"] .gen-hist-toggle{ color: #415d88; }
html[data-theme="light"] .gen-hist-toggle:hover{ color: #355f5c; }
html[data-theme="light"] #pageGematriaEN #geoHistorySection .history-table td{ color: #545c66; }
html[data-theme="light"] .geo-ctx-item.danger:hover{ color: #944154; }
html[data-theme="light"] .ckp-planet-btn{ color: #5e5c4c; }
html[data-theme="light"] .dm-line-ym{ color: #695728; }
html[data-theme="light"] .dm-line-d{ color: #6a571b; }
html[data-theme="light"] .dm-line-yd{ color: #2f6079; }
html[data-theme="light"] .dm-line-mwd{ color: #4a5f4a; }
html[data-theme="light"] .dm-line-md{ color: #3c643c; }
html[data-theme="light"] .dm-line-wd{ color: #6f4f75; }

/* rgb() نصوص فاتت الفحص السابق لأنه كان يبحث عن hex فقط */
html[data-theme="light"] #pageGematriaEN .geo-input,html[data-theme="light"] #pageGematriaEN .history-table td,html[data-theme="light"] #pageGematriaEN #geoMatchSection{ color: #595959; }

/* ── COMPARISON / HISTORY SECTION ── */
.history-section{
  margin-top: 2rem;
  display: none;
}
.history-section.has-data{ display: block; }

.history-header{
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: .5rem;
  margin-bottom: 1rem;
  direction: rtl;
}
.history-title{
  font-size: .95rem;
  color: var(--gold);
  font-weight: 600;
}
.history-actions{ display: flex; gap: .5rem; }
.btn-hist{
  background:var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  color: var(--text-sec);
  font-family:var(--font-main);
  font-size: .75rem;
  padding: .35rem .8rem;
  cursor: pointer;
  transition: all .14s;
}
.btn-hist:hover{ border-color: var(--text-sec); color: var(--text-pri); }
.btn-hist.danger:hover{ border-color: var(--rose); color: var(--rose); }

/* search results banner */
.search-banner{
  display: none;
  background: rgba(78,205,196,.08);
  border: 1px solid var(--cyan);
  border-radius: var(--radius);
  padding: .7rem 1rem;
  margin-bottom: 1rem;
  direction: rtl;
  font-size: .85rem;
  color: var(--cyan);
}
.search-banner.open{ display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.search-banner .sb-close{
  background: none; border: none; color: var(--text-muted); cursor: pointer; font-size: .8rem;
}

/* table wrapper */
.history-table-wrap{
  overflow-x: auto;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background: var(--bg-card);
}
.history-table{
  width: 100%;
  border-collapse: collapse;
  direction: rtl;
  min-width: 600px;
}
.history-table th{
  background: var(--bg-input);
  font-size: .9rem;
  font-weight: 600;
  color: var(--text-muted);
  padding: .5rem .6rem;
  text-align: center;
  border-bottom: 1px solid var(--border);
  border-left: 1px solid var(--border);
  white-space: nowrap;
  position: sticky;
  top: 0;
  z-index: 1;
}
.history-table th:last-child{ border-left: none; }
.history-table th:first-child{
  text-align: right;
  min-width: 100px;
  position: sticky;
  right: 0;
  z-index: 2;
  background: var(--bg-input);
}
.history-table td{
  font-family: "Ubuntu Mono", monospace;
  font-size: 1.1rem;
  color: var(--text-sec);
  padding: .45rem .5rem;
  text-align: center;
  border-bottom: 1px solid var(--border);
  border-left: 1px solid var(--border);
}
.history-table td:last-child{ border-left: none; }
.history-table td:first-child{
  font-family: "Amiri", serif;
  font-size: 1.35rem;
  color: var(--gold-glow);
  text-align: right;
  position: sticky;
  right: 0;
  background: var(--bg-card);
  z-index: 2;
  min-width: 220px;
  max-width: 420px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  box-shadow: -3px 0 8px rgba(0,0,0,.4);
}
.history-table th:first-child{
  position: sticky;
  right: 0;
  background:var(--bg-card) !important;
  z-index: 3;
  box-shadow: -3px 0 8px rgba(0,0,0,.4);
}
.history-table tr:last-child td{ border-bottom: none; }
.history-table tr:hover td{ background: var(--bg-hover); }
.history-table tr:hover td:first-child{ background: var(--bg-hover); }

/* highlight matching */
.td-match{
  color: var(--gold-glow) !important;
  background: rgba(201,168,76,.12) !important;
  font-weight: 700;
}

/* delete word btn */
.td-del{
  background: none; border: none;
  color: var(--text-muted); cursor: pointer;
  font-size: .7rem; padding: .1rem .3rem;
  transition: color .12s;
}
.td-del:hover{ color: var(--rose); }

/* ── DATE CALCULATOR ── */
.dc-container{ max-width: 960px; margin: 0 auto; padding: 2rem 1.5rem 3rem; direction: ltr; }
.dc-title{ text-align: center; font-family: "Amiri", serif; font-size: 1.8rem; color: var(--gold-glow); margin-bottom: .2rem; }
.dc-sub{ text-align: center; font-size: .78rem; color: var(--text-muted); margin-bottom: 1.5rem; font-family: "Ubuntu Mono", monospace; letter-spacing: .1em; }
.dc-dates{ display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; margin-bottom: 1.2rem; }
.dc-date-box{
  background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius-lg);
  padding: 1rem 1.2rem; min-width: 260px; flex: 1; max-width: 380px;
}
.dc-date-display{
  text-align: center; font-family: "Ubuntu Mono", monospace; font-size: 1.2rem;
  font-weight: 700; color: var(--gold-glow); margin-bottom: .8rem; font-size: 1.3rem;
  padding: .7rem; border: 2px solid var(--gold-dim); border-radius: var(--radius); background: var(--bg-input);
}
.dc-fields{ display: flex; gap: .6rem; justify-content: center; }
.dc-fields div{ text-align: center; }
.dc-fields label{ display: block; font-size: .8rem; color: var(--text-sec); margin-bottom: .3rem; }
.dc-fields input{
  width: 100px; background: var(--bg-input); border: 1px solid var(--border); border-radius: 5px;
  color: var(--cyan); font-family: "Ubuntu Mono", monospace; font-size: 1.15rem; font-weight: 700;
  text-align: center; padding: .5rem; outline: none;
}
.dc-fields input:focus{ border-color: var(--gold); }
.dc-zodiac{
  margin-top: .9rem; padding-top: .8rem; border-top: 1px dashed var(--gold-dim);
  display: grid; grid-template-columns: auto 1fr; gap: .35rem .7rem; font-size: .82rem;
}
.dc-zodiac .dz-head{
  grid-column: 1 / -1; display: flex; align-items: center; gap: .5rem;
  font-family: "Amiri", serif; font-size: 1.15rem; color: var(--gold-glow); margin-bottom: .3rem;
}
.dc-zodiac .dz-sym{ font-size: 1.4rem; }
.dc-zodiac .dz-label{ color: var(--text-muted); }
.dc-zodiac .dz-val{ color: var(--text-pri); font-weight: 600; }
.dc-hijri{
  text-align: center; font-family: "Amiri", serif; font-size: 1.02rem; color: var(--cyan);
  margin-top: .5rem; padding: .4rem; background: rgba(34,211,238,.06); border-radius: var(--radius);
  border: 1px dashed rgba(34,211,238,.35);
  direction: rtl; unicode-bidi: isolate;
}
.dc-hebrew{
  text-align: center; font-family: "Amiri", serif; font-size: 1.02rem; color: #e0d8f8;
  margin-top: .35rem; padding: .4rem; background: rgba(167,139,250,.08); border-radius: var(--radius);
  border: 1px dashed rgba(200,190,255,.3);
  direction: ltr;
}
.dc-eclipse-badge{
  margin-top: .5rem; text-align: center; font-size: .8rem; font-weight: 700;
  padding: .45rem .6rem; border-radius: var(--radius); cursor: pointer;
}
.dc-eclipse-badge.solar{ background: rgba(251,191,36,.12); border: 1px solid rgba(251,191,36,.4); color: #fbbf24; }
.dc-eclipse-badge.lunar{ background: rgba(167,139,250,.12); border: 1px solid rgba(167,139,250,.4); color:var(--dcr-day); }
.dc-eclipse-btn{ display:block; margin: -.6rem auto 1.2rem; }
.dc-calcmode{ display:flex; gap:.6rem; justify-content:center; margin-bottom:1rem; }
.dc-calcmode label{ background: var(--bg-card); border:1px solid var(--border); border-radius: var(--radius); padding:.5rem 1.1rem; cursor:pointer; font-size:.85rem; transition: border-color .12s; }
.dc-calcmode label:has(input:checked){ border-color: var(--gold); color: var(--gold-glow); }
.dc-calcmode input{ margin-left:.4rem; }

/* ── ECLIPSES PAGE ── */
.ecl-container{ max-width: 860px; margin: 0 auto; padding: 2rem 1.5rem 3rem; }
.ecl-back{ background:var(--bg-card); border:1px solid #2a3346; color: var(--text-pri); border-radius: var(--radius); padding:.45rem 1rem; font-family:var(--font-main); font-size:.85rem; cursor:pointer; margin-bottom:1rem; }
.ecl-back:hover{ background: var(--bg-hover); }
.ecl-mode{ display:flex; gap:.6rem; justify-content:center; margin-bottom:1.2rem; }
.ecl-mode label{ background: var(--bg-card); border:1px solid var(--border); border-radius: var(--radius); padding:.5rem 1rem; cursor:pointer; font-size:.85rem; }
.ecl-mode input{ margin-left:.4rem; }
.ecl-inputs{ display:flex; gap:.8rem; justify-content:center; align-items:flex-end; flex-wrap:wrap; margin-bottom:1.4rem; }
.ecl-inputs div{ text-align:center; }
.ecl-inputs label{ display:block; font-size:.78rem; color:var(--text-sec); margin-bottom:.3rem; }
.ecl-inputs input{ width:110px; background: var(--bg-input); border:1px solid var(--border); border-radius:5px; color: var(--cyan); font-family:"Ubuntu Mono",monospace; font-size:1.05rem; font-weight:700; text-align:center; padding:.5rem; outline:none; }
.ecl-inputs input:focus{ border-color: var(--gold); }
.ecl-go{ background: linear-gradient(135deg,#c9a84c,#9a6820); border:1px solid #c9a84c; color:#0a0c10; font-weight:700; border-radius: var(--radius); padding:.55rem 1.3rem; cursor:pointer; font-family:var(--font-main); }
.ecl-note{ text-align:center; font-size:.75rem; color: var(--text-muted); margin-bottom:1.3rem; line-height:1.6; }
.ecl-list{ display:flex; flex-direction:column; gap:.6rem; }

/* ── سفر التكوين ── */
.gns-wrap{ max-width: 820px; margin: 0 auto; padding: 1.5rem 1rem; }
.gns-panel{ background: var(--bg-card); border:1px solid var(--border); border-radius:12px; padding:1.2rem 1.4rem; margin-bottom:1.2rem; }
.gns-panel h2{ font-size:1rem; color:var(--cyan-glow); margin:0 0 .8rem; }
.gns-row{ display:flex; gap:.6rem; }
.gns-row input{ flex:1; background: var(--bg2); border:1px solid var(--border); border-radius:8px; padding:.6rem .8rem; color:var(--text-pri); font-size:1rem; }
.gns-row button{ background: linear-gradient(135deg, var(--gold), var(--gold-deep)); border:none; border-radius:8px; padding:.6rem 1.2rem; color:var(--ink); font-weight:700; cursor:pointer; }
.gns-empty{ text-align:center; color:var(--text-muted); padding:1rem; }
.gns-verse-block{ border-bottom:1px solid var(--border); padding:.4rem 0; transition: background .3s; border-radius:6px; }
.gns-verse-block.flash{ background: rgba(201,168,76,.16); }
.gns-verse-row{ display:flex; flex-wrap:wrap; gap:.4rem; direction:rtl; font-size:1.5rem; line-height:2.6; }
.gns-hword{ cursor:pointer; padding:.1rem .3rem; border-radius:5px; transition: background .12s, color .12s; }
.gns-hword:hover{ background: rgba(201,168,76,.18); color: var(--gold-glow); }
.qword{ cursor:pointer; padding:.1rem .25rem; border-radius:5px; transition: background .12s, color .12s; }
.qword:hover{ background: rgba(201,168,76,.18); color: var(--gold-glow); }
.gns-verse-num{ color: var(--text-muted); font-size:.85rem; align-self:center; margin-left:.5rem; }
.gns-ar-row{ direction:rtl; color: var(--text-pri); font-size:1rem; line-height:1.8; padding:.2rem .5rem .4rem; }
.gns-d-word{ text-align:center; font-size:2.2rem; color: var(--gold-glow); margin-bottom:.2rem; }
.gns-d-val{ text-align:center; font-size:1.3rem; color:var(--amber-num); font-family:"Ubuntu Mono",monospace; margin-bottom:1rem; }
.gns-d-loc{ display:flex; flex-wrap:wrap; gap:.45rem; justify-content:center; align-items:center; direction:rtl; color:var(--text-sec); font-size:.85rem; margin-bottom:1rem; }
.gns-match-list{ display:flex; flex-wrap:wrap; gap:.5rem; direction:rtl; justify-content:center; }
.gns-match-chip{ background: rgba(103,232,249,.08); border:1px solid rgba(103,232,249,.3); color:var(--cyan-glow);
  border-radius:6px; padding:.35rem .7rem; font-size:1.1rem; cursor:pointer; }
.gns-match-chip:hover{ background: rgba(103,232,249,.2); }
.gns-match-chip .gns-loc{ font-size:.7rem; color:var(--text-muted); display:block; direction:ltr; }
.gns-verse-match{ direction:rtl; background: rgba(255,255,255,.03); border:1px solid var(--border); border-radius:8px;
  padding:.6rem .9rem; margin-bottom:.5rem; cursor:pointer; }
.gns-verse-match:hover{ background: rgba(201,168,76,.08); border-color: rgba(201,168,76,.3); }
.gns-verse-match .gns-vm-ref{ color: var(--gold-glow); font-size:.8rem; margin-bottom:.3rem; direction:ltr; text-align:left; }
.gns-verse-match .gns-vm-he{ font-size:1.2rem; margin-bottom:.3rem; }
.gns-verse-match .gns-vm-ar{ color: var(--text-sec); font-size:.92rem; }
.gns-result-head{ color:var(--text-muted); font-size:.82rem; margin:.9rem 0 .4rem; direction:rtl; text-align:center; }
.gns-notice{ direction:rtl; text-align:center; background: rgba(201,168,76,.08); border:1px solid rgba(201,168,76,.3);
  border-radius:10px; padding:.9rem 1.2rem; margin-bottom:1.2rem; font-size:.85rem; line-height:1.9; color: var(--text-sec); }
.gns-notice b{ color: var(--gold-glow); }
/* ── صفحة البحث الشامل ── */
.gs-toggle-group{ display:flex; gap:.4rem; flex-wrap:wrap; }
.gs-toggle{ background: transparent; border:1px solid var(--border); color: var(--text-muted);
  border-radius:8px; padding:.4rem .9rem; font-size:.85rem; cursor:pointer; transition: all .12s; }
.gs-toggle:hover{ border-color: rgba(201,168,76,.5); color:var(--text-pri); }
.gs-toggle.on{ background: rgba(201,168,76,.15); border-color: var(--gold-glow); color: var(--gold-glow); font-weight:600; }
.gs-stats-tables{ display:grid; grid-template-columns: 1fr 1fr; gap:1rem; direction:rtl; }
@media (max-width: 720px) { .gs-stats-tables{ grid-template-columns: 1fr; } }
.gs-stat-table{ width:100%; border-collapse:collapse; font-size:.82rem; }
.gs-stat-table caption{ font-weight:700; color: var(--gold-glow); padding-bottom:.5rem; text-align:center; font-size:.95rem; }
.gs-stat-table th,.gs-stat-table td{ border:1px solid var(--border); padding:.35rem .5rem; text-align:center; }
.gs-stat-table th{ background: rgba(201,168,76,.08); color: var(--gold-glow); font-weight:600; white-space:nowrap; }
.gs-stat-table td.num{ font-family:"Ubuntu Mono",monospace; direction:ltr; }
.gs-stat-table td.gs-npd{ cursor:pointer; transition: color .12s, background .12s; }
.gs-stat-table td.gs-npd:hover{ color:var(--cyan-glow); background: rgba(103,232,249,.08); }
.gs-stat-table tr.tot td{ background: rgba(103,232,249,.06); font-weight:700; color:var(--cyan-glow); }
.gs-stat-table tr:hover td{ background: rgba(255,255,255,.04); }
.gs-results{ display:flex; flex-direction:column; gap:.4rem; direction:rtl; }
.gs-result-item{ background: rgba(255,255,255,.03); border:1px solid var(--border); border-radius:8px;
  padding:.5rem .7rem; cursor:pointer; transition: background .12s; }
.gs-result-item:hover{ background: rgba(103,232,249,.06); border-color: rgba(103,232,249,.35); }
.gs-result-book{ color: var(--gold-glow); font-size:.78rem; margin-bottom:.15rem; }
.gs-result-text{ font-size:1.05rem; color:var(--text-pri); }
.gs-result-val{ float:left; font-family:"Ubuntu Mono",monospace; color:var(--cyan-glow); direction:ltr; }
.gns-search-tabs{ display:flex; gap:.5rem; direction:rtl; margin-bottom:.8rem; }
.gns-tab{ flex:1; background: var(--bg2); border:1px solid var(--border); border-radius:8px;
  padding:.55rem; color: var(--text-sec); font-size:.9rem; cursor:pointer; transition: all .15s; }
.gns-tab:hover{ border-color: rgba(201,168,76,.4); color:var(--text-pri); }
.gns-tab.on{ background: linear-gradient(135deg, var(--gold), var(--gold-deep)); border-color: var(--gold); color:var(--ink); font-weight:700; }
.gns-row select{ flex:1; background: var(--bg2); border:1px solid var(--border); border-radius:8px; padding:.6rem .8rem; color:var(--text-pri); font-size:1rem; }
.gns-clear-btn{ background: transparent !important; border:1px solid var(--border) !important; color: var(--text-muted) !important; }
.gns-clear-btn:hover{ border-color: rgba(255,255,255,.35) !important; color:var(--text-pri) !important; }
.gns-ch-stats{ direction:rtl; display:flex; flex-wrap:wrap; gap:.4rem .9rem; align-items:center;
  color:var(--text-muted); font-size:.78rem; margin:-.3rem 0 .7rem; padding:.45rem .6rem;
  background: rgba(201,168,76,.05); border:1px solid rgba(201,168,76,.2); border-radius:8px; }
.gns-ch-stats b{ color: var(--gold-glow); font-weight:600; }
.gns-ch-stats .num{ font-family:"Ubuntu Mono",monospace; color:var(--amber-num); direction:ltr; unicode-bidi:isolate; }
/* ── الآية كاملة قابلة للنقر → صفحة إحصائياتها ── */
.gns-verse-block{ cursor:pointer; }
.gns-verse-block:hover{ background: rgba(103,232,249,.05); }
/* صفحة إحصائيات الآية تستخدم نفس فئات صفحة آية كتاب مرقوم (vdisplay/chip/gc/card) —
   وهذا السطر يمنحها نفس التدرج البني الدافئ بالضبط (نفس override المطبق على #pageQuran) */
html:not([data-theme="light"]) #gnsVersePage{--bg3:#1d1812;--bg4:#241d12;--bdr:#3a2f1e;--bdr2:#4a3c24}
/* توسيط بطاقات الأنظمة: الشبكة الأصلية .gg مصممة لـ11 نظامًا تملأ الصف في كتاب مرقوم —
   هنا الأنظمة قليلة فتتكدس على طرف. flex متوسّط، معزول داخل صفحة الآية العبرية فقط */
#gnsVersePage .gg{display:flex;flex-wrap:wrap;justify-content:center;gap:.55rem}
#gnsVersePage .gc{flex:0 1 170px;min-width:135px}
#gnsVersePage .vdtext.he{font-family:"Amiri",serif;font-size:clamp(1.4rem,3vw,2rem);direction:rtl}
#gnsVersePage .vdtext.grk{font-family:"Georgia",serif;font-size:clamp(1.2rem,2.6vw,1.7rem);direction:ltr;letter-spacing:.02em}
#pageGenesis .gns-verse-row.grk{direction:ltr}
#gnsVersePage .vd-ar{text-align:center;color:var(--txt2);font-size:1rem;line-height:1.9;direction:rtl;margin-bottom:.8rem}
.ecl-card{ display:flex; align-items:center; gap:.9rem; background: var(--bg-card); border:1px solid var(--border); border-radius: var(--radius-lg); padding:.8rem 1.1rem; }
.ecl-icon{ font-size:1.6rem; }
.ecl-info{ flex:1; }
.ecl-info .et{ font-weight:700; font-size:.95rem; }
.ecl-info .ed{ font-family:"Ubuntu Mono",monospace; font-size:.85rem; color: var(--text-muted); margin-top:.15rem; }
.ecl-info .eh{ font-family:"Amiri",serif; font-size:.9rem; color: var(--cyan); margin-top:.15rem; direction: rtl; unicode-bidi: isolate; }
.ecl-card.solar{ border-right: 3px solid #fbbf24; }
.ecl-card.lunar{ border-right: 3px solid #a78bfa; }
.ecl-band{ font-size: .72rem; padding:.25rem .6rem; border-radius:12px; background: rgba(255,255,255,.06); color: var(--text-muted); white-space:nowrap; }

/* ── ENGLISH GEMATRIA PAGE ── */
.geo-container{ max-width: 920px; margin: 0 auto; padding: 2rem 1.5rem 3rem; direction: ltr; }
.geo-input-row{ display:flex; gap:.7rem; justify-content:center; flex-wrap:wrap; }
.geo-input{
  flex:1; min-width: 260px; max-width: 520px; background: var(--bg-input); border: 2px solid var(--gold-dim);
  border-radius: var(--radius); color: var(--text-pri); font-family: "JetBrains Mono", monospace;
  font-size: 1.1rem; padding: .7rem 1rem; outline:none;
}
.geo-input:focus{ border-color: var(--gold); }
.geo-result-card{
  padding: .5rem .3rem; text-align:center; cursor:default;
  position: relative; display:flex; flex-direction:column;
  align-items:center; gap:.2rem;
}
.geo-result-card .gl{
  font-size: .9rem; color: inherit; letter-spacing:.04em;
  margin-top:.15rem; line-height:1.2; font-weight:600;
}
/* number — large, colored, clickable — no box or border */
.geo-result-card .gv{
  font-family:"Ubuntu Mono",monospace; font-size:1.55rem; font-weight:700;
  cursor:pointer; line-height:1.2;
  transition: opacity .12s;
}
.geo-result-card .gv:hover{ opacity:.7; }
/* inline letter table shown below the grid when a card is clicked */
.geo-inline-table-wrap{
  grid-column: 1 / -1; margin-top: .8rem;
  background: var(--bg-card); border: 1px solid var(--border-lit); border-radius: var(--radius-lg);
  padding: 1.1rem 1.4rem;
}
.geo-inline-table-title{
  font-size:.8rem; letter-spacing:.08em; text-transform:uppercase;
  margin-bottom: 1rem; text-align:center; font-weight:600;
}
.geo-lcard-grid{ display:grid; grid-template-columns: repeat(auto-fill,minmax(50px,1fr)); gap:.2rem; }
.geo-lcard{
  background:var(--bg-input); border-radius: var(--radius);
  padding:.5rem .15rem; text-align:center; display:flex; flex-direction:column; align-items:center; gap:.4rem;
}
.geo-lcard.active{ background: var(--bg-hover); }
.geo-lcard .gc{ font-size:1.15rem; font-weight:700; line-height:1; }
.geo-lcard .gn{
  font-family:"Ubuntu Mono",monospace; font-size:1rem; color:var(--text-sec);
  cursor:pointer; padding:.1rem .35rem; border-radius:4px; transition: background .1s;
}
.geo-lcard .gn:hover{ background: rgba(255,255,255,.1); color: var(--text-pri); }
.geo-breakdown{ margin-top: 1.8rem; }
.geo-section-title{ text-align:center; font-size:.85rem; letter-spacing:.1em; text-transform:uppercase; color: var(--text-muted); margin-bottom:.8rem; }
.geo-sys-tabs{ display:flex; gap:.4rem; justify-content:center; flex-wrap:wrap; margin-bottom:.9rem; }
.geo-sys-tabs button{
  background:var(--bg-card); border:1px solid #2a3346; color: var(--text-pri); border-radius: var(--radius);
  padding:.35rem .8rem; font-size:.78rem; cursor:pointer; font-family:var(--font-main);
}
.geo-sys-tabs button.on{ background: linear-gradient(135deg,#c9a84c,#9a6820); border-color:#c9a84c; color:#0a0c10; font-weight:700; }
.geo-bd .letters-strip{ direction: ltr; }

/* duration row: 3-column layout */
.dc-duration-row{
  display: flex; gap: 1rem; margin-bottom: 1.5rem; flex-wrap: wrap;
  align-items: center; justify-content: center;
}
.dc-dur-ctrl{ flex: 0 0 180px; }
.dc-dur-center{ flex: 1; min-width: 280px; max-width: 420px; text-align: center; border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 1rem 1.5rem; background: var(--bg-card); }
.dc-dur-vars{ flex: 0 0 240px; min-width: 240px; text-align: center; }
@media(max-width:700px) {
  .dc-dur-ctrl,.dc-dur-vars{ flex: 1 1 100%; }
}

.dc-ctrl-title{
  font-size: .82rem; font-weight: 700; letter-spacing: .08em;
  margin-bottom: .6rem;
}
.dc-dur-ctrl .dc-ctrl-title{ color:var(--dcr-doy); }
.dc-dur-vars .dc-ctrl-title{ color:var(--dcr-doy); text-align: center; }

.dc-chk{
  display: flex; align-items: center; gap: .4rem; font-size: .92rem; color: #ddd;
  cursor: pointer; margin-bottom: .2rem;
}
.dc-chk input{ accent-color: var(--gold); cursor: pointer; }

.dc-from-to{ font-size: .85rem; color:var(--text-pri); margin-bottom: .5rem; }
.dc-from-to strong{ color: var(--gold-glow); }

.dc-main-duration{
  font-family: "Ubuntu Mono", monospace;
  font-size: 1.05rem; font-weight: 700; line-height: 1.4;
  border: 1px solid var(--border-lit); border-radius: var(--radius);
  padding: .4rem .9rem; background: var(--bg-input);
  display: inline-block; white-space: nowrap; margin: .4rem auto; width: fit-content; text-align: center;
}
.dc-main-duration .dn{ color:var(--dcr-doy); font-size: 1.3rem; cursor: pointer; }
.dc-main-duration .dn:hover{ text-decoration: underline; opacity: .85; }
.dc-main-duration .du{ color:var(--text-pri); font-weight: 400; font-size: .72rem; letter-spacing: .03em; }

/* variation list */
.dc-var-line{ font-size: 1.05rem; margin-bottom: .3rem; line-height: 1.6; text-align: center; }
.dc-var-line .vn{ font-family: "Ubuntu Mono", monospace; font-weight: 700; font-size: 1.15rem; cursor: pointer; }
.dc-var-line .vn:hover{ text-decoration: underline; opacity: .85; }
.dc-var-line .vu{ color:var(--text-pri); }
/* color each variation differently */
.dc-var-line:nth-child(1) .vn{ color:var(--dcr-doy); }
.dc-var-line:nth-child(2) .vn{ color:var(--dcr-doy); }
.dc-var-line:nth-child(3) .vn{ color:var(--dcr-doy); }
.dc-var-line:nth-child(4) .vn{ color:var(--dcr-doy); }
.dc-var-line:nth-child(5) .vn{ color:var(--dcr-doy); }
.dc-var-line:nth-child(6) .vn{ color:var(--dcr-doy); }

.dc-section{ margin-top: 1rem; }
.dc-section-head{ font-size: 1.1rem; font-weight: 700; color:var(--dcr-doy); margin-bottom: .5rem; }

/* gematria table */
.dc-table{
  width: 100%; border-collapse: collapse;
  background: var(--bg-card); border-radius: var(--radius-lg); overflow: hidden;
}
.dc-table th{
  background: var(--bg-input); color: var(--text-muted); font-size: .75rem;
  padding: .5rem .6rem; text-align: center; border-bottom: 1px solid var(--border);
}
.dc-table td{ padding: .6rem .7rem; border-bottom: 1px solid var(--border); font-size: .95rem; }
.dc-table td:nth-child(odd){ color: #ddd; text-align: right; }
.dc-table td:nth-child(even){ font-family: "Ubuntu Mono", monospace; font-weight: 700; text-align: center; min-width: 60px; color:var(--dcr-default); font-size: 1.1rem; }
.dc-table tr:hover td{ background: var(--bg-hover); }
.dc-table tr.dc-row-doy td:nth-child(even){ color:var(--dcr-doy); }
.dc-table tr.dc-row-product td:nth-child(even){ color:var(--dcr-product); }

/* ── OPTIONS SIDEBAR ── */
#pageDatecalc{ position: relative; }
.dc-options-tab{
  display: none;
  position: fixed;
  right: 0;
  top: 160px;
  width: 32px;
  height: 110px;
  background: #1a6eb5;
  border: none;
  border-radius: 50% 0 0 50%;
  color:var(--text-pri);
  font-size: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 200;
  transition: background .15s;
  box-shadow: -3px 0 14px rgba(0,0,0,.5);
}
.dc-options-tab:hover{ background: #2580d0; }

.dc-options-panel{
  position: fixed;
  right: -220px;
  top: 160px;
  transform: none;
  width: 200px;
  background: var(--bg-card);
  border: 1px solid var(--border-lit);
  border-radius: 10px 0 0 10px;
  padding: 1rem;
  z-index: 201;
  transition: right .25s ease;
  box-shadow: -4px 0 20px rgba(0,0,0,.4);
}
.dc-options-panel.open{ right: 0; }
.dc-opt-title{
  font-size: .78rem;
  font-weight: 700;
  color:var(--dcr-doy);
  letter-spacing: .1em;
  margin-bottom: .8rem;
  display: flex;
  align-items: center;
  gap: .5rem;
}
.dc-opt-close{
  background: none; border: 1px solid var(--border); border-radius: 4px;
  color: var(--text-muted); width: 22px; height: 22px;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; font-size: .7rem;
}
.dc-opt-close:hover{ color: var(--rose); border-color: var(--rose); }
.dc-opt-item{
  display: flex; align-items: center; gap: .5rem;
  font-size: .85rem; color: #ddd; cursor: pointer;
  margin-bottom: .5rem;
}
.dc-opt-item input{ accent-color: var(--gold); cursor: pointer; }

/* +/- panel */
.dc-plusminus{
  padding: .6rem 0 .8rem;
  margin-bottom: 1rem;
  direction: ltr;
  text-align: center;
}
.dc-pm-title{ display: none; }
.dc-pm-row{
  display: flex; flex-direction: row;
  align-items: center; justify-content: center; gap: 1.5rem;
}
.dc-pm-radios{
  display: flex; flex-direction: column; gap: .4rem; align-items: flex-start;
}
.dc-pm-radio{ display: flex; align-items: center; gap: .4rem; font-size: .95rem; color: #ddd; cursor: pointer; }
.dc-pm-radio input[type=radio]{
  accent-color: var(--gold);
  width: 16px; height: 16px; cursor: pointer;
}
.dc-pm-fields{ display: flex; gap: .8rem; flex-wrap: wrap; justify-content: center; }
.dc-pm-fields div{ text-align: center; }
.dc-pm-fields label{ display: block; font-size: .75rem; color: var(--text-sec); margin-bottom: .25rem; }
.dc-pm-fields input{
  width: 75px; background: var(--bg-input); border: 1px solid var(--border);
  border-radius: 5px; color: var(--cyan); font-family: "Ubuntu Mono", monospace;
  font-size: 1.05rem; font-weight: 700; text-align: center; padding: .45rem; outline: none;
}
.dc-pm-fields input:focus{ border-color: var(--gold); }
footer{
  border-top: 1px solid var(--border);
  text-align: center;
  padding: 1.4rem;
  color: var(--text-muted);
  font-size: .72rem;
  font-family: "Ubuntu Mono", monospace;
}

/* ===== QURAN PLATFORM CSS ===== */
#pageQuran .pg{display:none}
#pageQuran .pg.on{display:block}

*{box-sizing:border-box;margin:0;padding:0}
/* لون صناديق وحدة القرآن (المسار 2 — معزول داخل #pageQuran، لا يمسّ بقية التطبيق) */
html:not([data-theme="light"]) #pageQuran{--bg3:#1d1812;--bg4:#241d12;--bdr:#3a2f1e;--bdr2:#4a3c24}
.num-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:.5rem}
.num-card{cursor:pointer;text-align:center;padding:.6rem .3rem;border:2px solid #a87f2e;border-radius:.5rem;color:var(--text-pri);transition:all .2s;background:linear-gradient(135deg,#c9a84c,#7a5c1e)}
.num-card:hover{background:linear-gradient(135deg,#e8c96a,#c9a84c);border-color:#e8c96a;transform:translateY(-3px);box-shadow:0 6px 20px rgba(201,168,76,.5);filter:brightness(1.25)}
.num-card.on{background:linear-gradient(135deg,#ffe08a,#e8c96a);border-color:var(--text-pri);color:#1a1200;box-shadow:0 0 18px rgba(232,201,106,.7);filter:brightness(1.35)}
.num-card .nv{font-weight:700;font-size:1.05rem;display:block;color:var(--text-pri);}
.num-card .nc{font-size:.65rem;opacity:.9;display:block;margin-top:.15rem;color:var(--text-pri);}
.num-card.on .nv,.num-card.on .nc{color:#1a1200}
.num-hl{color:#f0b429;font-weight:bold;}
.num-card:hover{border-color:var(--bdr2,#4a3c24);transform:translateY(-2px)}
.num-card.on{background:#7c5a1e;border-color:#a87f2e;color:var(--text-pri);}
.num-card .nv{font-weight:700;font-size:1.05rem;display:block}
.num-card .nc{font-size:.65rem;opacity:.75;display:block;margin-top:.15rem}
/* حماية عناصر التحكم والرؤوس من اللون البنّي (ليست صناديق نتائج) */
#pageQuran input,#pageQuran select,#pageQuran .ssbar input,#pageQuran th,#pageQuran .pb,#pageQuran .cmp-toggle-btn,#pageQuran .st-sub{background:var(--bg3);border-color:var(--bdr)}
input[type="number"]{direction:ltr}
#pageQuran{background:transparent}

.hdr{background:linear-gradient(135deg,var(--bg2),var(--bg3));border-bottom:1px solid var(--bdr2);padding:1.2rem 2rem;text-align:center;position:sticky;top:0;z-index:100}
.hdr h1{font-family:"Amiri",serif;font-size:clamp(1.3rem,3vw,2rem);color:var(--gold2);text-shadow:0 0 30px rgba(201,168,76,.3)}
.hdr p{font-size:.8rem;color:var(--txt2);margin-top:.25rem}

.tabs{display:flex;background:var(--bg2);border-bottom:1px solid var(--bdr);overflow-x:auto;padding:0 .5rem;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tab{background:none;border:none;border-bottom:2px solid transparent;color:var(--txt2);font-family:var(--font-main);font-size:.8rem;font-weight:600;padding:.65rem .68rem;cursor:pointer;white-space:nowrap;transition:all .14s;flex-shrink:0}
.tab:hover{color:var(--txt)}
.tab.on{color:var(--gold2);border-bottom-color:var(--gold)}

.body{max-width:1300px;margin:0 auto;padding:1.2rem 1rem 4rem}
.pg{display:none}.pg.on{display:block}

input,select{background:var(--bg3);border:1px solid var(--bdr);border-radius:var(--r);color:var(--txt);font-family:var(--font-main);font-size:.9rem;padding:.55rem .9rem;outline:none;direction:rtl;transition:border-color .14s}
input:focus,select:focus{border-color:var(--gold)}
select{cursor:pointer}

.btn{background:var(--bg-card);border:1px solid #2a3346;border-radius:var(--r);color:var(--txt2);font-family:var(--font-main);font-size:.83rem;font-weight:600;padding:.55rem 1.1rem;cursor:pointer;transition:all .14s;white-space:nowrap}
.btn:hover{border-color:var(--bdr2);color:var(--txt)}
.btn.p{background:linear-gradient(135deg,var(--gold),#9a6820);border-color:var(--gold);color:#07091a;font-weight:700}
.btn.p:hover{opacity:.88}

.bar{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin-bottom:.9rem}
.srch-mode{display:flex;gap:.9rem;align-items:center;font-size:.78rem;color:var(--txt2);background:var(--bg3);border:1px solid var(--bdr);border-radius:var(--r);padding:.45rem .9rem}
.srch-mode label{display:flex;align-items:center;gap:.3rem;cursor:pointer;white-space:nowrap}
.srch-mode input[type=radio]{accent-color:var(--gold)}

.tw{overflow-x:auto;border:1px solid var(--bdr);border-radius:var(--r)}
.tw table{width:100%}
.tw th{font-size:.85rem;padding:.6rem .7rem}
.tw td{font-size:1.08rem;padding:.6rem .7rem}
table{width:auto;max-width:100%;border-collapse:collapse;direction:rtl}
th{background:var(--bg3);color:var(--txt3);font-size:.68rem;font-weight:700;padding:.48rem .65rem;text-align:right;border-bottom:1px solid var(--bdr);white-space:nowrap;letter-spacing:.06em}
td{padding:.5rem .65rem;border-bottom:1px solid var(--bdr);font-size:.9rem;color:var(--text-pri);vertical-align:middle}
tr:hover td{background:rgba(255,255,255,.02)}
tr:last-child td{border-bottom:none}
tr.cr{cursor:pointer}
.vt{font-family:"Amiri",serif;font-size:1.12rem;color:var(--text-pri);line-height:1.85}
.root-breakdown{background:var(--bg2);border:1px solid var(--gold-dim);border-radius:var(--r2);padding:1.3rem 1.5rem;margin-bottom:.9rem;text-align:center}
.rb-title{font-size:.75rem;color:var(--txt3);letter-spacing:.08em;margin-bottom:.6rem}
.rb-root{font-family:"Amiri",serif;font-size:2rem;font-weight:700;color:var(--gold-glow);margin-bottom:.7rem}
.rb-sentence{font-size:.92rem;color:var(--txt2);margin-bottom:.9rem}
.rb-sentence b{color:var(--cyan);font-family:"Ubuntu Mono",monospace}
.rb-list{display:inline-block;text-align:right}
.rb-line{color:var(--txt);line-height:2.1;font-family:"Amiri",serif;font-size:1.02rem}
.rb-line b{color:var(--cyan)}
.rb-gap{height:.7rem}
.mn{font-family:"Ubuntu Mono",monospace;font-weight:600;text-align:center}
.bdg{display:inline-block;padding:.12rem .5rem;border-radius:20px;font-size:.66rem;font-weight:700}
.bg{background:rgba(201,168,76,.12);color:var(--gold);border:1px solid rgba(201,168,76,.25)}
.bc{background:rgba(34,211,238,.1);color:var(--cyan);border:1px solid rgba(34,211,238,.22)}
.bv{background:rgba(167,139,250,.1);color:var(--violet);border:1px solid rgba(167,139,250,.22)}
.hl{background:rgba(201,168,76,.22);border-radius:3px;padding:0 2px}

.pager{display:flex;align-items:center;justify-content:center;gap:.3rem;margin-top:.9rem;flex-wrap:wrap}
.pb{background:var(--bg3);border:1px solid var(--bdr);border-radius:6px;color:var(--txt2);padding:.28rem .6rem;cursor:pointer;font-size:.78rem;transition:all .12s}
.pb:hover{border-color:var(--bdr2);color:var(--txt)}
.pb.on{background:var(--gold);border-color:var(--gold);color:#07091a;font-weight:700}
.pb:disabled{opacity:.3;cursor:default}

/* VERSE DISPLAY */
.vdisplay{background:linear-gradient(135deg,var(--bg3),var(--bg4));border:1px solid var(--bdr2);border-radius:var(--r2);padding:1.4rem 1.8rem;margin-bottom:1rem}
.vdtext{font-family:"Amiri",serif;font-size:clamp(1.2rem,2.5vw,1.6rem);color:var(--text-pri);line-height:2;text-align:center;margin-bottom:.8rem}
.qword{cursor:pointer;border-radius:6px;padding:.05rem .15rem;transition:background-color .12s,color .12s}
.qword:hover{background-color:var(--bg-accent, rgba(201,168,76,.18));color:var(--gold2,inherit)}
.vdref{text-align:center;margin-bottom:1rem}
.chips{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:center}
.chip{background:var(--bg4);border:1px solid var(--bdr2);border-radius:var(--r);padding:.45rem .75rem;text-align:center;cursor:pointer;transition:all .14s;min-width:75px}
.chip:hover{border-color:var(--gold);transform:translateY(-1px)}
.chip.on{border-color:var(--cyan);background:rgba(34,211,238,.08)}
.chip .cl{font-size:.6rem;color:var(--txt3);margin-bottom:.18rem}
.chip .cv{font-family:"Ubuntu Mono",monospace;font-size:1.25rem;font-weight:700;color:var(--gold2)}
.chipx{display:none;background:rgba(34,211,238,.06);border:1px solid var(--bdr2);border-radius:var(--r2);padding:.9rem 1.2rem;margin-top:.4rem;animation:fi .14s ease}
.chipx.on{display:block}
@keyframes fi{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
.xg{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.5rem}
.xi{text-align:center;padding:.35rem}
.xi .xl{font-size:.62rem;color:var(--txt3);margin-bottom:.18rem}
.xi .xv{font-family:"Ubuntu Mono",monospace;font-size:.95rem;font-weight:700}

/* GEM CARDS */
.gg{display:grid;grid-template-columns:repeat(auto-fill,minmax(125px,1fr));gap:.55rem}
.gc{background:var(--bg3);border:1px solid var(--bdr);border-radius:var(--r);padding:.65rem .5rem;text-align:center;cursor:pointer;transition:border-color .14s,transform .1s;position:relative;overflow:hidden}
.gc::before{content:"";position:absolute;top:0;left:0;right:0;height:2px}
.gc.c0::before{background:var(--gold)}.gc.c1::before{background:var(--cyan)}
.gc.c2::before{background:var(--violet)}.gc.c3::before{background:var(--green)}
.gc.c4::before{background:var(--amber)}
.gc:hover{border-color:var(--bdr2);transform:translateY(-1px)}
.gc .gl{font-size:.6rem;color:var(--txt3);margin-bottom:.25rem}
.gc .gv{font-family:"Ubuntu Mono",monospace;font-size:1.35rem;font-weight:700}
.gc.c0 .gv{color:var(--gold2)}.gc.c1 .gv{color:var(--cyan)}
.gc.c2 .gv{color:var(--violet)}.gc.c3 .gv{color:var(--green)}.gc.c4 .gv{color:var(--amber)}
.gc .gd{font-size:.58rem;color:var(--txt3);margin-top:.12rem}

/* NUMERIC SEARCH */
.nshero{text-align:center;padding:1.5rem 1rem;border-bottom:1px solid var(--bdr);margin-bottom:1.2rem}
.nshero h2{font-size:1.1rem;font-weight:700;color:var(--gold2);margin-bottom:.25rem}
.nshero p{font-size:.8rem;color:var(--txt2)}
.nsbar{display:flex;gap:.5rem;justify-content:center;max-width:380px;margin:.8rem auto 0}
.nsgrp{border:1px solid var(--bdr);border-radius:var(--r2);overflow:hidden;margin-bottom:.9rem}
.nsgh{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.1rem;background:var(--bg3);cursor:pointer;transition:background .13s}
.nsgh:hover{background:var(--bg4)}
.nsgt{font-size:.98rem;font-weight:700;color:var(--gold2)}
.nsgc{font-family:"Ubuntu Mono",monospace;font-size:.88rem;color:var(--cyan)}
.nsgb{display:none;padding:.8rem 1.1rem;border-top:1px solid var(--bdr)}
.nsgb.on{display:block}
.nsvg{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.45rem}
.nsvc{background:var(--bg3);border:1px solid var(--bdr);border-radius:var(--r);padding:.65rem .85rem;cursor:pointer;transition:border-color .12s}
.nsvc:hover{border-color:var(--cyan)}
.nsvc .nr{font-size:.85rem;color:var(--text-sec);margin-bottom:.3rem}
.nsvc .nt{font-family:"Amiri",serif;font-size:1.18rem;color:var(--text-pri);line-height:1.7}
.wcgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.5rem}
.wchip{background:var(--bg3);border:1px solid var(--bdr);border-radius:var(--r);padding:.55rem .7rem;text-align:center;cursor:pointer;transition:border-color .12s,transform .12s;font-family:"Amiri",serif;font-size:1.05rem;color:var(--text-pri);}
.wchip:hover{border-color:var(--gold2);transform:translateY(-1px)}
.wc-empty{font-size:.82rem;color:var(--txt3);text-align:center;padding:.6rem 0}

/* NUMBER PROFILE */
.npmain{text-align:center;padding:1.8rem 1rem 1.2rem}
.npnum{font-family:"Ubuntu Mono",monospace;font-size:5rem;font-weight:700;color:var(--gold2);line-height:1}
.npfact{font-size:.98rem;color:var(--txt2);margin-top:.35rem}
.nptags{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem;margin-top:.7rem}
.nptag{font-size:.85rem;font-weight:700;padding:.2rem .65rem;border-radius:20px;border:1px solid}
.npsg{display:flex;flex-wrap:nowrap;gap:.6rem;margin:1rem 0;overflow-x:auto}
.nps{background:var(--bg3);border:1px solid var(--bdr);border-radius:var(--r);padding:.75rem .9rem;text-align:center;flex:1;min-width:130px}
.npsl{font-size:.68rem;color:var(--txt3);margin-bottom:.3rem;white-space:nowrap}
.npsv{font-family:"Ubuntu Mono",monospace;font-size:1.35rem;font-weight:700;color:var(--cyan);line-height:1.2}
.npsv.npsv-sm{font-size:.88rem;font-family:var(--font-main);font-weight:600}
.npmr{display:flex;align-items:center;justify-content:space-between;padding:.45rem .65rem;border-bottom:1px solid var(--bdr)}
.npmr:last-child{border-bottom:none}
.npmrl{font-size:.8rem;color:var(--txt2)}
.npmrc{font-family:"Ubuntu Mono",monospace;font-size:.95rem;font-weight:700;color:var(--gold2)}
.npbar{height:3px;border-radius:2px;background:linear-gradient(90deg,var(--gold),transparent);margin-top:.25rem}

/* SURAH */
.sasg{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:.55rem;margin-bottom:1rem}
.sas{background:var(--bg3);border:1px solid var(--bdr);border-radius:var(--r);padding:.7rem;text-align:center}
.sasl{font-size:.6rem;color:var(--txt3);margin-bottom:.22rem}
.sasv{font-family:"Ubuntu Mono",monospace;font-size:1.15rem;font-weight:700}
.mq-sasg .sasv{font-size:1.85rem}
.mq-sasg .sasl{font-size:.78rem;white-space:nowrap}
.chwrap{position:relative;height:260px}

/* COMPARE */
.cg2{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;margin-bottom:1rem}
.mq-grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem}
@media(max-width:900px){.mq-grid3{grid-template-columns:1fr !important}}
@media(max-width:700px){.mq-grid2{grid-template-columns:1fr !important}}
@media(max-width:600px){.cg2{grid-template-columns:1fr}}
table.ct th{font-size:.95rem;padding:.65rem .8rem}
table.ct td{font-size:1.2rem;padding:.65rem .8rem}
.ct td:first-child{color:var(--txt2);font-size:1.02rem;background:var(--bg3)}
.ctm{background:rgba(52,211,153,.07);color:var(--green)}
.cmp-toggle-row{display:flex;justify-content:center;margin:.7rem 0}
.cmp-toggle-btn{background:var(--bg3);border:1px solid var(--bdr);border-radius:20px;color:var(--txt2);padding:.4rem 1.1rem;font-size:.8rem;cursor:pointer;transition:all .15s}
.cmp-toggle-btn:hover{border-color:var(--gold);color:var(--gold-glow)}

/* CARD */
.card{background:var(--bg2);border:1px solid var(--bdr);border-radius:var(--r2);padding:1.2rem}
.card .ct{font-size:.68rem;font-weight:700;color:var(--txt3);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.8rem}

.empty{text-align:center;padding:3rem;color:var(--txt3)}
.sep{height:1px;background:var(--bdr);margin:1.2rem 0}

/* MUSHAF STRUCTURE STATS */
.st-hero{text-align:center;padding:1.2rem 1rem .8rem;border-bottom:1px solid var(--bdr);margin-bottom:1rem}
.st-hero h2{font-size:1.05rem;font-weight:700;color:var(--gold2);margin-bottom:.2rem}
.st-hero p{font-size:.78rem;color:var(--txt2);max-width:520px;margin:0 auto}
/* ── Sura Statistics tab ── */
.ssbar{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:flex-end;margin-bottom:1rem;direction:rtl}
.ssbar input{background:var(--bg3);border:1px solid var(--bdr);border-radius:var(--r);color:var(--txt1);font-family:var(--font-main);font-size:.88rem;padding:.55rem 1rem;outline:none;width:100%;max-width:380px}
.ssbar input:focus{border-color:var(--gold2)}
/* توهج حول الخانة المطابقة لبحث الرقم داخل جدول إحصائيات السور */
@keyframes ssGlowPulse{
  0%,100%{ box-shadow:0 0 0 2px var(--gold2), 0 0 10px 3px rgba(201,168,76,.55); }
  50%{ box-shadow:0 0 0 2px var(--gold2), 0 0 16px 6px rgba(201,168,76,.85); }
}
#ssTable tbody td.ss-glow{
  background:rgba(201,168,76,.14) !important;
  color:var(--gold2) !important;
  font-weight:700;
  border-radius:6px;
  animation:ssGlowPulse 1.4s ease-in-out infinite;
  position:relative;
  z-index:1;
}
/* spotlight card — single sura match */
.ss-spotlight{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.55rem;
  margin-bottom:1.2rem;padding:1rem 1.2rem;
  background:var(--bg2);border:1px solid var(--bdr);border-radius:var(--r-lg);
}
.ss-sp-title{grid-column:1/-1;font-family:"Amiri",serif;font-size:1.3rem;color:var(--gold2);text-align:center;margin-bottom:.4rem}
.ss-sp-item{background:var(--bg3);border:1px solid var(--bdr);border-radius:var(--r);padding:.55rem .7rem;text-align:center}
.ss-sp-label{font-size:.65rem;color:var(--txt3);margin-bottom:.3rem}
.ss-sp-val{font-family:"Ubuntu Mono",monospace;font-size:1.15rem;font-weight:700;cursor:pointer;color:var(--gold2)}
.ss-sp-val:hover{opacity:.75}
#ssTable{width:100%;min-width:900px}
#ssTable thead th{background:var(--bg2);font-size:.68rem;color:var(--txt2);padding:.5rem .55rem;text-align:center;cursor:pointer;white-space:nowrap;border-bottom:1px solid var(--bdr);user-select:none;position:sticky;top:0;z-index:1}
#ssTable thead th:first-child{text-align:right;position:sticky;right:0;z-index:2;background:var(--bg2)}
#ssTable thead th:hover{color:var(--gold2)}
#ssTable thead th.sort-asc::after{content:" ▲";color:var(--gold2)}
#ssTable thead th.sort-desc::after{content:" ▼";color:var(--gold2)}
#ssTable tbody td{font-family:"Ubuntu Mono",monospace;font-size:.93rem;padding:.4rem .5rem;text-align:center;border-bottom:1px solid rgba(255,255,255,.04)}
#ssTable tbody td:first-child{font-family:"Amiri",serif;font-size:1.15rem;color:var(--gold2);text-align:right;position:sticky;right:0;background:var(--bg1);min-width:90px}
#ssTable tbody tr:hover td{background:var(--bghv)}
#ssTable tbody tr:hover td:first-child{background:var(--bghv)}
#ssTable .clk-n{cursor:pointer;text-decoration:underline dotted;text-underline-offset:2px}
#ssTable .clk-n:hover{color:var(--txt1)}
.st-summary{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.55rem;margin:1rem 0 1.2rem}
#mqSummary{display:flex;justify-content:center;grid-template-columns:unset}
.st-sum{background:var(--bg3);border:1px solid var(--bdr);border-radius:var(--r);padding:.75rem .5rem;text-align:center}
.st-sum .sl{font-size:.6rem;color:var(--txt3);margin-bottom:.2rem}
.st-sum .sv{font-family:"Ubuntu Mono",monospace;font-size:1.35rem;font-weight:700;color:var(--gold2)}
.st-subtabs{display:flex;gap:.35rem;flex-wrap:wrap;margin-bottom:1rem}
.st-sub{background:var(--bg3);border:1px solid var(--bdr);border-radius:var(--r);color:var(--txt2);font-family:var(--font-main);font-size:.82rem;font-weight:600;padding:.45rem .95rem;cursor:pointer;transition:all .13s}
.st-sub:hover{border-color:var(--bdr2);color:var(--txt)}
.st-sub.on{color:var(--gold2);border-color:var(--gold);background:rgba(201,168,76,.06)}
.st-juz-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:.55rem}
.st-juz-card{background:var(--bg3);border:1px solid var(--bdr);border-radius:var(--r2);padding:.85rem .75rem;transition:border-color .13s}
.st-juz-card:hover{border-color:var(--bdr2)}
.st-juz-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.45rem}
.st-juz-num{font-size:.72rem;color:var(--txt3)}
.st-juz-badge{font-size:.62rem;padding:.1rem .45rem;border-radius:12px;background:rgba(34,211,238,.1);color:var(--cyan);border:1px solid rgba(34,211,238,.2)}
.st-juz-count{font-family:"Ubuntu Mono",monospace;font-size:1.55rem;font-weight:700;color:var(--gold2);text-align:center;margin:.2rem 0}
.st-juz-meta{display:flex;justify-content:space-between;font-size:.68rem;color:var(--txt3);margin-top:.35rem}
.st-rank-cols{display:grid;grid-template-columns:repeat(2,max-content);gap:.65rem;justify-content:center;align-items:start}
@media(max-width:700px){.st-rank-cols{grid-template-columns:minmax(0,1fr);justify-content:stretch}.st-rank-list{width:min(100%,360px);margin-inline:auto}}
.st-rank-list{background:var(--bg3);border:1px solid var(--bdr);border-radius:var(--r2);overflow:hidden;width:320px;max-width:100%}
.st-rank-title{font-size:.72rem;font-weight:700;color:var(--gold2);padding:.65rem .9rem;background:var(--bg4);border-bottom:1px solid var(--bdr)}
.st-rank-row{display:grid;grid-template-columns:auto auto;align-items:center;justify-content:space-between;column-gap:1.1rem;padding:.4rem .65rem;border-bottom:1px solid var(--bdr);font-size:.82rem}
.st-rank-row:last-child{border-bottom:none}
.st-rank-row:hover{background:rgba(255,255,255,.02)}
.st-hizb-filter{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.9rem;align-items:center}
.st-hizb-filter label{font-size:.78rem;color:var(--txt2)}
.st-qbar{display:flex;height:6px;border-radius:3px;overflow:hidden;margin-top:.35rem;gap:1px;background:var(--bg2)}
.st-qbar span{flex:1;min-width:2px}
.st-q1{background:var(--cyan)}.st-q2{background:var(--violet)}.st-q3{background:var(--green)}.st-q4{background:var(--amber)}
.clk-n{cursor:pointer;color:var(--cyan);transition:color .12s}
.clk-n:hover{color:var(--gold2);text-decoration:underline dotted}
.st-ns-hint{background:rgba(201,168,76,.06);border:1px solid rgba(201,168,76,.2);border-radius:var(--r2);padding:.85rem 1rem;margin-bottom:1rem;font-size:.82rem;color:var(--txt2)}
.st-ns-hint b{color:var(--gold2)}
.mq-clk:hover{color:var(--gold2)}
.mq-verses-panel{margin-top:1.2rem;display:none}
.mq-verses-head{font-family:var(--font-main);font-size:.9rem;color:var(--txt2);margin-bottom:.7rem}
.mq-verse-row{background:var(--bg3);border:1px solid var(--bdr);border-radius:var(--r2);padding:.75rem .95rem;margin-bottom:.55rem;cursor:pointer;transition:border-color .13s,background .13s;display:flex;flex-direction:column;gap:.35rem}
.mq-verse-row:hover{border-color:var(--gold2);background:var(--bg4)}
.mq-verse-ref{font-size:.72rem;color:var(--gold)}
.mq-verse-text{font-family:"Amiri",serif;font-size:1.4rem;color:var(--txt);line-height:1.95;direction:rtl}
.mq-verse-go{font-size:.7rem;color:var(--cyan);align-self:flex-start}



/* swapped date columns + alternating rows */
.dc-table td.dc-val{ font-family:"Ubuntu Mono",monospace; font-weight:700; color:var(--dcr-default); text-align:right; }
.dc-table td.dc-expr{ color:var(--text2); text-align:left; font-size:.8rem; }
.dc-table tr:nth-child(even) td{ background:rgba(255,255,255,.03); }
.dc-table tr.dc-row-doy td.dc-val{ color:var(--dcr-doy); }
.dc-table tr.dc-row-product td.dc-val{ color:var(--dcr-product); }
/* alternating rows everywhere in results */

.history-table tbody tr:nth-child(even) td{ background:rgba(255,255,255,.03); }

/* nth two-column flex layout */






/* أُزيل تظليل الصفوف الزوجية بطلب المستخدم — كان يجعل بعض الكلمات
   والأرقام تبدو محاطة بخلفية داكنة غير مرغوبة */

/* ── أرقام قابلة للنقر داخل لوحة خصائص الأعداد — اللون الافتراضي
   ("الباقي") يُستبدل بألوان أكثر تحديدًا داخل أقسام القواسم و π/φ ── */





/* ── أقسام π و φ ── */

/* الإطار الخارجي أُزيل بطلب علي — الفصل البصري بين القسمين يكفيه العنوان الملوّن ورمز الثابت */











/* فئة π/φ — تشمل رقم الموضع والأرقام داخل الخانات، لون مستقل عن البقية */






/* date results: 2 pairs, each = expr column + value column, tight gap */
.dc-results{ display: flex; justify-content: center; gap: 2.5rem; flex-wrap: wrap; background: var(--bg-hover); border-radius: 8px; padding: .5rem 1rem; }
.dc-pair{ display: flex; gap: 0; }
.dc-col-e{ display: flex; flex-direction: column; align-items: flex-start; direction: ltr; }
.dc-col-v{ display: flex; flex-direction: column; align-items: flex-start; }
.dcr{
  padding: .5rem .8rem; white-space: nowrap; height: 2.5rem;
  display: flex; align-items: center; box-sizing: border-box;
}
.dcr-e{ color: var(--text-sec); font-family: "Ubuntu Mono", monospace; font-size: 1rem; text-align: left; }
.dcr-v{
  font-family: "Ubuntu Mono", monospace; font-weight: 700;
  color: var(--dcr-default); min-width: 70px; justify-content: flex-start;
  font-size: 1.25rem; cursor: pointer;
  text-shadow: 0 0 6px rgba(255,215,64,.3);
}
.dcr-v:hover{ text-decoration: underline; opacity: .85; }
.dcr-v.dc-row-doy{ color: var(--dcr-doy); text-shadow: 0 0 6px rgba(0,229,255,.35); }
.dcr-v.dc-row-product{ color: var(--dcr-product); text-shadow: 0 0 6px rgba(105,240,174,.35); font-size: 1.35rem; }

/* word subtotal in breakdown (Gematrinator-style) */
.word-subtotal{
  display: inline-flex; align-items: center; justify-content: center;
  margin: 0 .35rem; padding: .2rem .55rem;
  background: rgba(0,230,118,.1); border: 1px solid rgba(0,230,118,.35);
  border-radius: 8px; align-self: center;
}
.word-subtotal .ws-val{
  font-family: "Ubuntu Mono", monospace; font-weight: 700;
  font-size: 1.1rem; color: #00e676;
}

/* custom group buttons */
.qbtn-sep{ display: inline-block; width: 1px; height: 22px; background: var(--border); margin: 0 .35rem; vertical-align: middle; }
.qbtn.add:hover{ border-color: var(--gold); color: var(--gold-glow); }
.qbtn.custom{ background: #1a1408; border: 1px solid var(--gold-dim); color: var(--gold); display: inline-flex; align-items: center; gap: .4rem; }
.qbtn.custom:hover{ background: #241a0c; border-color: var(--gold); }
.qbtn.custom .del-x{ background: rgba(248,113,113,.15); border: 1px solid rgba(248,113,113,.4); color: #f87171; border-radius: 50%; width: 16px; height: 16px; display: inline-flex; align-items: center; justify-content: center; font-size: .7rem; cursor: pointer; line-height: 1; padding: 0; }
.qbtn.custom .del-x:hover{ background: rgba(248,113,113,.3); }

/* ── BIRTH CARD ── */
.bc-container{ max-width: 1100px; margin: 0 auto; padding: 1.5rem 1rem 3rem; }
.bc-title{ text-align: center; font-family: "Amiri", serif; font-size: clamp(1.5rem,3vw,2rem); color: var(--gold-glow); margin-bottom: .3rem; }
.bc-sub{ text-align: center; color: var(--text-sec); font-size: .85rem; margin-bottom: 1.5rem; }
.bc-input-row{ display: flex; gap: 1rem; justify-content: center; margin-bottom: 1.5rem; flex-wrap: wrap; }
.bc-field{ display: flex; flex-direction: column; gap: .35rem; }
.bc-field label{ font-size: .78rem; color: var(--text-sec); }
.bc-field input,.bc-field select{
  background:var(--bg-card); border: 1px solid var(--border); border-radius: 8px;
  color: var(--text-pri); font-family:var(--font-main); font-size: .95rem;
  padding: .55rem .9rem; outline: none; min-width: 160px;
}
.bc-field input:focus,.bc-field select:focus{ border-color: var(--gold); }

/* Result panel */
.bc-result-panel{
  background: none;
  border: none;
  padding: 0; margin-bottom: 0; text-align: center;
}
.bc-result-label{ font-size: .85rem; color: var(--text-sec); margin-bottom: .8rem; letter-spacing: .08em; }
.bc-card-name{ font-size: 1rem; color: var(--gold); margin-top: 1rem; }
/* ── PLAYING CARD SVG ── */
.bc-card-svg{
  width: 175px;
  margin: 0 auto;
  filter: drop-shadow(0 8px 24px rgba(0,0,0,.55));
}
.bc-card-svg svg{ width: 100%; height: auto; display: block; border-radius: 9px; }




/* Birth Card Table */
.bc-table-title{ text-align: center; font-size: 1rem; color: var(--gold); margin: 1.5rem 0 .8rem; }
.bc-table-wrap{ overflow-x: auto; border: 1px solid var(--border); border-radius: 10px; background: var(--bg-hover); width: fit-content; max-width: 100%; margin: 0 auto; }
.bc-table{ border-collapse: collapse; margin: 0; font-family: "Ubuntu Mono", monospace; }
.bc-table th,.bc-table td{
  border: 1px solid var(--border); padding: .5rem .55rem;
  text-align: center; font-size: 1.2rem; min-width: 56px;
  background:var(--bg-card); font-weight: 700;
}
.bc-table td:not(.bc-empty):not(:first-child){ cursor: pointer; transition: outline .1s, background .1s; }
.bc-table td:not(.bc-empty):not(:first-child):hover{ outline: 2px solid var(--gold); outline-offset: -2px; position: relative; z-index: 2; }
.bc-table tbody tr:hover td:not(.bc-highlight){ background: rgba(201,168,76,.14); }
.bc-table:has(td[data-col="0"]:hover) td[data-col="0"]:not(.bc-highlight),.bc-table:has(td[data-col="0"]:hover) th[data-col="0"]{ background: rgba(201,168,76,.14); }
.bc-table:has(td[data-col="1"]:hover) td[data-col="1"]:not(.bc-highlight),.bc-table:has(td[data-col="1"]:hover) th[data-col="1"]{ background: rgba(201,168,76,.14); }
.bc-table:has(td[data-col="2"]:hover) td[data-col="2"]:not(.bc-highlight),.bc-table:has(td[data-col="2"]:hover) th[data-col="2"]{ background: rgba(201,168,76,.14); }
.bc-table:has(td[data-col="3"]:hover) td[data-col="3"]:not(.bc-highlight),.bc-table:has(td[data-col="3"]:hover) th[data-col="3"]{ background: rgba(201,168,76,.14); }
.bc-table:has(td[data-col="4"]:hover) td[data-col="4"]:not(.bc-highlight),.bc-table:has(td[data-col="4"]:hover) th[data-col="4"]{ background: rgba(201,168,76,.14); }
.bc-table:has(td[data-col="5"]:hover) td[data-col="5"]:not(.bc-highlight),.bc-table:has(td[data-col="5"]:hover) th[data-col="5"]{ background: rgba(201,168,76,.14); }
.bc-table:has(td[data-col="6"]:hover) td[data-col="6"]:not(.bc-highlight),.bc-table:has(td[data-col="6"]:hover) th[data-col="6"]{ background: rgba(201,168,76,.14); }
.bc-table:has(td[data-col="7"]:hover) td[data-col="7"]:not(.bc-highlight),.bc-table:has(td[data-col="7"]:hover) th[data-col="7"]{ background: rgba(201,168,76,.14); }
.bc-table:has(td[data-col="8"]:hover) td[data-col="8"]:not(.bc-highlight),.bc-table:has(td[data-col="8"]:hover) th[data-col="8"]{ background: rgba(201,168,76,.14); }
.bc-table:has(td[data-col="9"]:hover) td[data-col="9"]:not(.bc-highlight),.bc-table:has(td[data-col="9"]:hover) th[data-col="9"]{ background: rgba(201,168,76,.14); }
.bc-table:has(td[data-col="10"]:hover) td[data-col="10"]:not(.bc-highlight),.bc-table:has(td[data-col="10"]:hover) th[data-col="10"]{ background: rgba(201,168,76,.14); }
.bc-table:has(td[data-col="11"]:hover) td[data-col="11"]:not(.bc-highlight),.bc-table:has(td[data-col="11"]:hover) th[data-col="11"]{ background: rgba(201,168,76,.14); }
.bc-table th{
  background: var(--bg-hover); color: var(--gold); font-weight: 700;
  font-family:var(--font-main); font-size: .78rem;
}
.bc-table th:first-child,.bc-table td:first-child{
  background: var(--bg-hover); color: var(--gold); font-weight: 700;
}
.bc-table td.bc-red{ color: #ff5252; }
.bc-table td.bc-blk{ color: var(--text-pri); }
.bc-table td.bc-empty{ background:var(--bg-card); color: var(--border); }
.bc-table td.bc-highlight{
  background: linear-gradient(135deg, var(--gold), #9a6820) !important;
  color: #000 !important; font-weight: 800;
  box-shadow: 0 0 16px rgba(201,168,76,.6);
}

/* card info beside card */
.bc-result-flex{ display: flex; align-items: center; justify-content: center; gap: 2.5rem; flex-wrap: wrap; }
.bc-result-card{ display: flex; flex-direction: column; align-items: center; }
.bc-info{ text-align: right; min-width: 240px; }
.bc-info-name{ font-size: 1.3rem; font-weight: 700; color: var(--gold-glow); margin-bottom: 1rem; font-family:var(--font-main); }
.bc-info-rows{ display: flex; flex-direction: column; gap: .5rem; }
.bc-info-row{ display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: .45rem .8rem; background: var(--bg-hover); border-radius: 8px; }
.bc-il{ font-size: .9rem; color: var(--text-sec); font-family:var(--font-main); }
.bc-iv{ font-family: "Ubuntu Mono", monospace; font-weight: 700; font-size: 1.3rem; }

/* ── Birthcard two-column layout ── */
.bc-twocol{
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 1.5rem;
  align-items: start;
  margin-top: .5rem;
}
.bc-left-col{ position: sticky; top: 1rem; }
.bc-right-col{ min-width: 0; }
@media (max-width: 700px) {
  .bc-twocol{ grid-template-columns: 130px 1fr; gap: .8rem; }
  .bc-left-col{ position: sticky; top: .5rem; }
}
@media (max-width: 400px) {
  .bc-twocol{ grid-template-columns: 110px 1fr; gap: .6rem; }
}
/* Card image - clean white card, no dark wrapper */
.bc-result-panel{ padding: 0; background: none; border: none; margin: 0; }
.bc-card-svg{ width: 100%; max-width: 220px; margin: 0 auto; }
.bc-card-svg svg{ width: 100%; height: auto; border-radius: 10px;
  box-shadow: 0 4px 20px rgba(0,0,0,.45); display: block; }
.bc-card-img{ width: 100%; height: auto; display: block; border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0,0,0,.4); }
.bc-card-svg-fb{ width: 100%; }
.bc-card-svg-fb svg{ width: 100%; height: auto; border-radius: 8px; display: block; }
.bc-result-flex{ flex-direction: column; align-items: stretch; gap: 1rem; }
.bc-result-card{ width: 100%; }
.bc-info{ min-width: unset; width: 100%; text-align: right; }
.bc-result-label{ text-align: center; margin-bottom: .8rem; font-size: .85rem; }

/* ── PERIODIC TABLE ── */
.pt-container{ max-width: 1200px; margin: 0 auto; padding: 1.5rem 1rem 3rem; }
.pt-title{ text-align: center; font-family: "Amiri", serif; font-size: clamp(1.5rem,3vw,2rem); color: var(--gold-glow); margin-bottom: .3rem; }
.pt-sub{ text-align: center; color: var(--text-sec); font-size: .85rem; margin-bottom: 1.2rem; }
.pt-legend{ display: flex; flex-wrap: wrap; gap: .5rem; justify-content: center; margin-bottom: 1.2rem; }

/* TAROT */
/* ── Tarot two-column layout ── */
.tarot-twocol{
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 1.5rem;
  align-items: start;
  margin-top: 1rem;
}
.tarot-left-col{ position: sticky; top: 1rem; }
.tarot-right-col{ min-width: 0; }
@media (max-width: 700px) {
  .tarot-twocol{ grid-template-columns: 1fr; }
  .tarot-left-col{ position: static; }
  .tarot-grid{ grid-template-columns: repeat(3, 1fr); }
}
.tarot-detail-placeholder{
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  min-height: 360px; border: 1px dashed var(--border); border-radius: var(--radius-lg);
  text-align: center; padding: 2rem;
}
/* Tarot card image - full column width */
#tarotDetail .tarot-detail-img{ width: 100%; max-width: 260px; margin: 0 auto 1rem; display: block; }
#tarotDetail .tarot-detail-img svg,#tarotDetail .tarot-detail-img img{ width: 100%; height: auto; border-radius: 10px;
  box-shadow: 0 8px 32px rgba(0,0,0,.55); }
.tarot-grid{ display: grid; grid-template-columns: repeat(6, 1fr); gap: .7rem; margin-bottom: 1.3rem; }
.tarot-cell{
  background: linear-gradient(160deg, #1a1330, #0c0f1f); border: 1px solid var(--gold-dim); border-radius: 10px;
  padding: .7rem .4rem; cursor: pointer; text-align: center; transition: transform .12s, box-shadow .12s, border-color .12s;
  display: flex; flex-direction: column; align-items: center; gap: .35rem; aspect-ratio: 3/4.4;
}
html[data-theme="light"] .tarot-cell{ background: linear-gradient(160deg, #efe9db, #e6dfc9); }
.tarot-cell:hover{ transform: translateY(-4px); border-color: var(--gold-glow); box-shadow: 0 8px 20px rgba(201,168,76,.25); }
.tarot-cell .tc-num{ font-family: "Ubuntu Mono", monospace; font-size: .65rem; color: var(--gold-glow); }
.tarot-cell .tc-icon{ font-size: 1.9rem; line-height: 1; }
.tarot-cell .tc-img{ width: 100%; flex: 1; min-height: 0; object-fit: cover; border-radius: 6px; background: rgba(255,255,255,.04); }
.tarot-cell .tc-name{ font-size: .68rem; color: var(--text-sec); line-height: 1.3; }
.tarot-cell.major{ background: linear-gradient(160deg, #2a1a3a, #0c0f1f); }
html[data-theme="light"] .tarot-cell.major{ background: linear-gradient(160deg, #e6dfc9, #ddd4b8); }
.tarot-cell.fire{ border-color: #c2410c66; }
.tarot-cell.water{ border-color: #0369a166; }
.tarot-cell.air{ border-color: #57534e66; }
.tarot-cell.earth{ border-color: #15803d66; }

.tarot-card-display{
  width: 100%; background: none; border: none;
  border-radius: 0; padding: 0; display: flex; flex-direction: column; gap: 1rem;
}
.tarot-card-big{
  width: 100%; height: auto; min-height: 200px; border-radius: 12px; flex-shrink: 0;
  background: #fff; border: 2px solid var(--gold);
  display: flex; flex-direction: column; align-items: center; justify-content: space-between;
  padding: 1rem; box-shadow: 0 12px 30px rgba(0,0,0,.5);
}
/* Medicine card override */
.med-card-visual{
  width: 200px; flex-shrink: 0;
  border-radius: 14px;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  padding: 1.5rem 1rem;
  box-shadow: 0 8px 30px rgba(0,0,0,.6);
  aspect-ratio: 2/3;
}
.tarot-card-big .tcb-num{ font-family: "Ubuntu Mono", monospace; color: var(--gold); font-size: .85rem; align-self: flex-start; background:var(--gold); color:var(--text-pri); padding:.15rem .5rem; border-radius:4px; }
.tarot-card-big .tcb-icon{ font-size: 8rem; line-height: 1; color: #1a1a1a; }
.tarot-card-big .tcb-img{ width: 100%; height: auto; object-fit: contain; border-radius: 8px; display: block; }
.tarot-card-big .tcb-name-ar{ font-family: "Amiri", serif; font-size: 1.2rem; color: #1a1a1a; text-align: center; font-weight: 700; }
.tarot-card-big .tcb-name-en{ font-size: .78rem; color: #555; text-align: center; }
.tarot-info{ flex: 1; min-width: 0; width: 100%; }
.tarot-info h3{ font-family: "Amiri", serif; color: var(--gold-glow); font-size: 1.5rem; margin-bottom: .2rem; }
.tarot-info .ti-en{ color: var(--text-sec); font-size: .95rem; margin-bottom: .9rem; }
.tarot-info .ti-row{ display: flex; gap: .6rem; margin-bottom: .55rem; font-size: .88rem; }
.tarot-info .ti-label{ color: var(--gold); min-width: 90px; font-weight: 600; }
.tarot-info .ti-meaning{ background: rgba(255,255,255,.04); border-radius: 10px; padding: .8rem 1rem; margin-top: .8rem; line-height: 1.8; font-family: "Amiri", serif; font-size: 1.05rem; }
.tarot-about{ max-width: 800px; margin: 0 auto 1.4rem; background: rgba(255,255,255,.03); border: 1px solid var(--gold-dim); border-radius: 14px; padding: 1.3rem 1.5rem; line-height: 1.9; color: var(--text-sec); font-size: .92rem; }
.tarot-about h4{ color: var(--gold-glow); font-family: "Amiri", serif; font-size: 1.15rem; margin: 1.1rem 0 .5rem; }
.tarot-about p{ margin-bottom: .6rem; }
.tarot-about ul{ margin: .4rem 0 .6rem 0; padding-right: 1.3rem; }
.tarot-about li{ margin-bottom: .3rem; }
.tarot-about b{ color: var(--text-pri); }
.tarot-about table th,.tarot-about table td{ font-size: .85rem; }
.pt-leg-item{ display: flex; align-items: center; gap: .35rem; font-size: .72rem; color: var(--text-sec); }
.pt-leg-swatch{ width: 14px; height: 14px; border-radius: 3px; }
.pt-grid-wrap{ overflow-x: auto; padding-bottom: .5rem; direction: ltr; }
.pt-grid{
  display: grid;
  direction: ltr;
  grid-template-columns: repeat(18, minmax(44px, 1fr));
  grid-auto-rows: 52px;
  gap: 3px;
  min-width: 850px;
  margin: 0 auto;
}
.pt-cell{
  border-radius: 5px; padding: 0; cursor: pointer; overflow: hidden;
  display: flex; flex-direction: column; justify-content: center; align-items: stretch;
  transition: transform .1s, box-shadow .1s; position: relative;
  border: 1px solid rgba(0,0,0,.2);
}
.pt-cell:hover{ transform: scale(1.12); z-index: 5; box-shadow: 0 4px 16px rgba(0,0,0,.5); }
.pt-cell .pt-sym{ flex: 1; display: flex; align-items: center; justify-content: center; font-size: 1.15rem; font-weight: 700; line-height: 1; text-align: center; }
.pt-cell .pt-num{ font-size: .62rem; line-height: 1.6; font-family: "Ubuntu Mono", monospace; font-weight: 700; text-align: center; }
.pt-cell.dim{ opacity: .25; }
.pt-cell.pt-hit{ outline: 3px solid var(--gold-glow); outline-offset: -2px; z-index: 6; box-shadow: 0 0 12px rgba(201,168,76,.6); }
/* category colors removed — now computed inline via ptColorFor() to match RSC reference shades */
/* Detail panel */
.pt-detail-panel{
  background: var(--bg-card);
  border: 1px solid var(--gold-dim); border-radius: 14px;
  padding: 1.5rem 1.5rem 1.5rem 2.5rem; margin-top: 1.5rem;
  box-shadow: 0 0 30px rgba(201,168,76,.1);
  position: relative;
}
.pt-dp-head{ display: flex; align-items: center; gap: 1.2rem; margin-bottom: 1.2rem; flex-wrap: wrap; }
.pt-dp-big{
  width: 100px; height: 100px; border-radius: 12px;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.pt-dp-big .b-num{ font-size: 1.05rem; font-weight: 700; font-family: "Ubuntu Mono", monospace; }
.pt-dp-big .b-sym{ font-size: 2.6rem; font-weight: 700; line-height: 1; }
.pt-dp-big .b-mass{ font-size: .8rem; font-weight: 600; font-family: "Ubuntu Mono", monospace; }
.pt-dp-names h3{ font-size: 1.6rem; color: var(--gold-glow); font-family: "Amiri", serif; margin-bottom: .2rem; }
.pt-dp-names .en{ font-size: 1rem; color: var(--text-sec); }
.pt-dp-img-wrap{ flex-shrink: 0; display: flex; flex-direction: column; align-items: center; gap: .35rem; }
.pt-dp-img-link{ display: block; width: 110px; height: 110px; border-radius: 12px; overflow: hidden; border: 1px solid var(--gold-dim); background:var(--bg-card); }
.pt-dp-img-link svg,.pt-dp-img-link img{ width: 100%; height: 100%; display: block; object-fit: cover; }
.pt-dp-img-online{ font-size: .65rem; color: var(--text-sec); text-decoration: none; border-bottom: 1px dashed var(--gold-dim); }
.pt-dp-img-online:hover{ color: var(--gold-glow); border-color: var(--gold-glow); }
.pt-dp-grid{
  display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: .6rem;
}
.pt-dp-item{ background: var(--bg-hover); border-radius: 8px; padding: .6rem .9rem; }
.pt-dp-label{ font-size: .72rem; color: var(--gold); margin-bottom: .25rem; font-weight: 600; }
.pt-dp-value{ font-size: 1.05rem; color: var(--text-pri); font-weight: 700; }
.pt-dp-value.mono{ font-family: "Ubuntu Mono", monospace; color: var(--cyan); direction: ltr; unicode-bidi: embed; text-align: right; }
.pt-dp-text{ background: var(--bg-hover); border-radius: 8px; padding: .7rem .9rem; margin-top: .6rem; }
.pt-dp-text-body{ font-size: .9rem; line-height: 1.6; color: var(--text-pri); text-align: left; }
.az-date-wrap{
  position:relative; display:flex; align-items:center;
  background:var(--bg-input); border:1px solid var(--border);
  border-radius:var(--radius); cursor:pointer;
  transition:border-color .14s;
}
.az-date-wrap:hover,.az-date-wrap:focus-within{border-color:var(--gold)}
.az-date-icon{padding:.5rem .5rem .5rem .8rem;font-size:1rem;pointer-events:none;flex-shrink:0}
.az-dt-inp{
  flex:1; background:transparent!important; border:none!important;
  outline:none!important; cursor:pointer; padding:.5rem .8rem .5rem .2rem;
  color:var(--text-pri); font-family:var(--font-main); font-size:.9rem;
  color-scheme:var(--color-scheme, dark);
}
/* Make the entire input area clickable on all browsers */
.az-dt-inp::-webkit-calendar-picker-indicator{
  position:absolute; left:0; top:0; width:100%; height:100%;
  opacity:0; cursor:pointer;
}
.az-inp{color-scheme:var(--color-scheme, dark)}
/* ── Sajda (Prostration) Tab ── */
.sajda-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1rem;margin-top:.5rem}
.sajda-card{background:var(--bg2);border:1px solid var(--bdr);border-radius:12px;padding:1.1rem 1.2rem;cursor:default;transition:border-color .15s}
.sajda-card:hover{border-color:var(--gold2)}
.sajda-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.7rem;gap:.6rem}
.sajda-card-num{background:linear-gradient(135deg,#c9a84c,#9a6820);color:#0a0c10;font-family:"Ubuntu Mono",monospace;font-weight:700;font-size:.85rem;border-radius:6px;padding:.25rem .6rem;flex-shrink:0}
.sajda-card-sura{font-size:1rem;font-weight:700;color:var(--gold2);font-family:"Amiri",serif}
.sajda-card-ayaref{font-size:.72rem;color:var(--txt3);font-family:var(--font-main)}
.sajda-card-madhab{display:flex;gap:.3rem;flex-wrap:wrap;margin-bottom:.6rem}
.sajda-badge.khilaf{background:rgba(91,184,232,.08);color:#5bb8e8;border:1px solid rgba(91,184,232,.25);font-size:.66rem;padding:.15rem .5rem;border-radius:4px;font-weight:600}
.sajda-verse{font-family:"Amiri",serif;font-size:1.15rem;line-height:2;color:var(--txt1);direction:rtl;text-align:right;border-right:3px solid var(--gold-dim);padding-right:.8rem;margin:.5rem 0;cursor:pointer;transition:border-color .15s,color .15s}
.sajda-verse:hover{border-color:var(--gold2);color:var(--gold-glow)}
.sajda-verse-ref{font-size:.7rem;color:var(--txt3);margin-top:.15rem;font-family:var(--font-main)}
.sajda-stats-row{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.65rem;padding-top:.65rem;border-top:1px solid var(--bdr)}
.sajda-stat{background:rgba(255,255,255,.04);border-radius:6px;padding:.3rem .6rem;font-size:.72rem;text-align:center;flex:1;min-width:70px}
.sajda-stat-lbl{color:var(--txt3);margin-bottom:.15rem}
.sajda-stat-val{color:var(--gold2);font-family:"Ubuntu Mono",monospace;font-weight:700;font-size:.88rem}
.sajda-goto{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;color:var(--violet);cursor:pointer;margin-top:.5rem;border:1px solid rgba(155,124,219,.3);border-radius:5px;padding:.2rem .55rem;transition:background .12s}
.sajda-goto:hover{background:rgba(155,124,219,.15)}
.sajda-empty{text-align:center;color:var(--txt3);padding:3rem 1rem;font-size:.9rem}
.sajda-summary-note{background:rgba(201,168,76,.07);border:1px solid rgba(201,168,76,.2);border-radius:8px;padding:.7rem 1rem;font-size:.78rem;color:var(--txt2);text-align:center;margin-bottom:1rem;line-height:1.7}

/* ═══════════════════════════════════════
   ASTRO / ZODIAC EXPLORER STYLES
═══════════════════════════════════════ */
.az-wrap{max-width:1100px;margin:0 auto;padding:.8rem 1rem 2rem}
.az-header{text-align:center;padding:1.2rem 1rem .6rem;border-bottom:1px solid var(--border)}
.az-header-title{display:flex;flex-direction:column;align-items:center;gap:.2rem}
.az-header-en{font-family:var(--font-main);font-size:1.3rem;font-weight:700;color:var(--gold-glow);letter-spacing:.04em}
.az-header-ar{font-family:"Amiri",serif;font-size:1.1rem;color:var(--gold);direction:rtl}
.az-header-sub{font-size:.75rem;color:var(--text-sec);margin-top:.4rem}
.az-ar{font-size:.8rem;color:var(--text-sec);margin-right:.25rem}

.az-input-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.1rem 1.2rem;margin:1rem 0}
.az-input-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.7rem;margin-bottom:.9rem}
.az-field label{display:block;font-size:.72rem;color:var(--text-muted);margin-bottom:.3rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.az-inp{width:100%;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-pri);font-family:var(--font-main);font-size:.88rem;padding:.5rem .8rem;outline:none;transition:border-color .14s}
.az-inp:focus{border-color:var(--gold)}
.az-inp option{background:var(--bg-input)}
.az-btn-row{display:flex;gap:.6rem;flex-wrap:wrap}
.az-btn-primary{background:linear-gradient(135deg,#c9a84c,#9a6820);border:1px solid #c9a84c;border-radius:var(--radius);color:#0a0c10;font-family:var(--font-main);font-size:.88rem;font-weight:700;padding:.5rem 1.3rem;cursor:pointer;transition:all .14s}
.az-btn-primary:hover{background:linear-gradient(135deg,#d9bb63,#ad7a2a);box-shadow:0 0 10px rgba(201,168,76,.35)}
.az-btn-sec{background:var(--bg-hover);border:1px solid var(--border-lit);border-radius:var(--radius);color:var(--text-pri);font-family:var(--font-main);font-size:.85rem;padding:.5rem 1rem;cursor:pointer;transition:all .14s}
.az-btn-sec:hover{border-color:var(--gold);color:var(--gold)}
/* ── Astro date spinner ── */
.az-dt-row{display:flex;align-items:flex-end;gap:.5rem;flex-wrap:wrap;margin-bottom:.7rem}
.az-spin-sep{color:var(--border-lit);font-size:1.4rem;padding:0 .1rem;align-self:center;padding-bottom:.5rem}
.az-spin-group{display:flex;flex-direction:column;align-items:center;gap:.2rem}
.az-spin-lbl{font-size:.68rem;color:var(--text-muted);font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.az-spin-box{display:flex;flex-direction:column;align-items:center;gap:1px}
.az-spin-btn{background:var(--bg-hover);border:1px solid var(--border-lit);border-radius:4px;color:var(--gold);font-size:.75rem;width:2rem;height:1.3rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .12s;padding:0;line-height:1}
.az-spin-btn:hover{background:var(--bg-card);border-color:var(--gold)}
.az-spin-inp{width:2.8rem;text-align:center;background:var(--bg-input);border:1px solid var(--border-lit);border-radius:5px;color:var(--text-pri);font-family:"JetBrains Mono",monospace;font-size:.92rem;font-weight:700;padding:.28rem .1rem;-moz-appearance:textfield}
.az-spin-inp::-webkit-outer-spin-button,.az-spin-inp::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.az-spin-inp:focus{outline:none;border-color:var(--gold)}
.az-spin-year{width:3.8rem}
.az-spin-tz{height:2.05rem;font-size:.8rem;padding:.1rem .3rem;background:var(--bg-input);border:1px solid var(--border-lit);border-radius:5px;color:var(--text-pri);cursor:pointer}
.az-hijri-bar{font-size:.8rem;color:var(--gold);background:var(--bg-hover);border-radius:5px;padding:.3rem .7rem;margin-bottom:.7rem;direction:rtl;text-align:right}
.az-loc-row{margin-bottom:.6rem}
.az-btn-xs{background:var(--bg-hover);border:1px solid var(--border);border-radius:5px;color:var(--text-sec);font-family:var(--font-main);font-size:.72rem;padding:.2rem .55rem;cursor:pointer;transition:all .1s}
.az-btn-xs:hover{border-color:var(--gold-dim);color:var(--gold)}

.az-timeline{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:.7rem 1rem;margin-bottom:.8rem}
.az-tl-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;margin-bottom:.5rem}
.az-tl-controls{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem;justify-content:center}
.az-tl-btn{background:var(--bg-hover);border:1px solid var(--border);border-radius:5px;color:var(--text-sec);font-size:.75rem;padding:.25rem .6rem;cursor:pointer;transition:all .1s}
.az-tl-btn:hover{background:var(--bg-deep);border-color:var(--gold-dim);color:var(--gold)}
.az-tl-now{font-family:"Ubuntu Mono",monospace;font-size:.82rem;color:var(--gold-glow);padding:0 .5rem;min-width:200px;text-align:center}

.az-main{display:grid;grid-template-columns:auto 1fr;gap:1.2rem;align-items:start;margin-top:.5rem}
@media(max-width:760px){.az-main{grid-template-columns:1fr}}

.az-wheel-section{display:flex;flex-direction:column;align-items:center;gap:.7rem}
.az-wheel-wrap{position:relative;cursor:grab;user-select:none;border-radius:50%;touch-action:none}
.az-wheel-wrap:active{cursor:grabbing}
.az-wheel-canvas{border-radius:50%;display:block;max-width:100%}
.az-wheel-controls{display:flex;align-items:center;gap:.6rem;margin-right:auto;flex-wrap:wrap}
.az-wc-toggle{display:flex;align-items:center;gap:.3rem;font-size:.72rem;color:var(--text-sec);cursor:pointer}
.az-wc-toggle input{accent-color:var(--gold);width:13px;height:13px;cursor:pointer}
.az-wc-btn{background:var(--bg-hover);border:1px solid var(--border-lit);border-radius:4px;color:var(--text-sec);font-size:.72rem;padding:.2rem .5rem;cursor:pointer;transition:all .12s}
.az-wc-btn:hover{border-color:var(--gold);color:var(--gold)}
.az-wheel-tooltip{position:absolute;pointer-events:none;background:rgba(10,12,18,.95);border:1px solid var(--gold);border-radius:7px;padding:.5rem .8rem;font-size:.78rem;color:var(--text-pri);white-space:nowrap;z-index:10;max-width:200px;transform:translate(-50%,-115%)}
.az-planet-card{background:var(--bg-card);border:1px solid var(--border-lit);border-radius:var(--radius-lg);padding:.9rem 1.1rem;min-width:220px;max-width:280px}
.az-aspect-legend{display:flex;flex-wrap:wrap;gap:.35rem .7rem;justify-content:center;max-width:320px;padding:.4rem 0}
.az-asp-item{display:flex;align-items:center;gap:.3rem;font-size:.68rem;color:var(--text-sec)}
.az-asp-line{width:22px;height:2px;border-radius:1px}
.az-pc-name{font-size:1.1rem;font-weight:700;color:var(--gold-glow);margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}
.az-pc-row{display:flex;justify-content:space-between;font-size:.82rem;padding:.2rem 0;border-bottom:1px solid rgba(255,255,255,.04)}
.az-pc-lbl{color:var(--text-muted)}
.az-pc-val{color:var(--text-pri);font-family:"Ubuntu Mono",monospace}

.az-table-section{min-width:0}
.az-section-title{font-size:.78rem;font-weight:700;color:var(--gold);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.7rem;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.az-tbl-btns{display:flex;gap:.35rem;margin-right:auto}
.az-tbl-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius)}
.az-tbl{width:100%;border-collapse:collapse;font-size:.8rem}
.az-tbl th{background:var(--bg-hover);color:var(--gold);font-size:.68rem;text-transform:uppercase;letter-spacing:.03em;padding:.45rem .4rem;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;cursor:pointer}
.az-tbl th:hover{color:var(--gold-glow)}
.az-tbl td{padding:.42rem .4rem;border-bottom:1px solid rgba(255,255,255,.04);color:var(--text-pri);white-space:nowrap;transition:background .1s}
.az-tbl tr:hover td{background:var(--bg-hover)}
.az-tbl td.az-sym{font-size:1rem;text-align:center;padding:.42rem .3rem;width:1.8rem}
.az-tbl td.az-lon{font-family:"Ubuntu Mono",monospace;color:var(--cyan)}
.az-tbl td.az-sign{color:var(--gold-glow);font-weight:600}
.az-tbl td.az-elem-fire{color:var(--danger)}
.az-tbl td.az-elem-earth{color:#6ab88a}
.az-tbl td.az-elem-air{color:#5bb8e8}
.az-tbl td.az-elem-water{color:#9b7cdb}

.az-bar-row{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:.6rem .9rem;margin-bottom:.4rem}
.az-bar-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.35rem;font-size:.8rem}
.az-bar-sym{font-size:1rem;width:1.2rem;text-align:center}
.az-bar-name{color:var(--text-sec);width:70px}
.az-bar-sign{color:var(--gold2);font-weight:600;width:90px}
.az-bar-deg{font-family:"Ubuntu Mono",monospace;color:var(--cyan);font-size:.75rem;margin-right:auto}
.az-bar-track{background:rgba(255,255,255,.07);border-radius:3px;height:8px;flex:1;position:relative;overflow:hidden}
.az-bar-fill{height:100%;border-radius:3px;position:absolute;left:0;top:0;transition:width .4s}
.az-bar-planet-marker{position:absolute;top:-3px;width:14px;height:14px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.6rem;transform:translateX(-50%);pointer-events:none}


.az-finder-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1rem 1.2rem;margin-top:1rem}
.az-finder-row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:.8rem}
.az-finder-range{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;font-size:.8rem;color:var(--text-sec)}
.az-finder-results{max-height:300px;overflow-y:auto}
.az-finder-period{background:var(--bg-hover);border:1px solid var(--border);border-radius:6px;padding:.45rem .8rem;margin:.3rem 0;font-size:.82rem;display:flex;gap:.8rem;align-items:center}
.az-finder-period .az-fp-n{color:var(--text-muted);font-size:.7rem;min-width:20px}
.az-finder-period .az-fp-d{color:var(--text-pri);font-family:"Ubuntu Mono",monospace}
.az-finder-period .az-fp-dur{color:var(--gold-dim);font-size:.75rem}
/* ══════════════════════════════════════
   INFO BAR (top strip)
══════════════════════════════════════ */
.info-bar{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: .35rem 2rem;
  background:var(--bg-card);
  border-bottom: 1px solid rgba(201,168,76,.12);
  font-family: "Ubuntu Mono", monospace;
  font-size: .68rem;
  letter-spacing: .1em;
  color: var(--gold-dim);
  direction: rtl;
}
.info-bar a{ color: var(--gold-dim); text-decoration: none; }
.info-bar a:hover{ color: var(--gold); }
.info-bar-left,.info-bar-right{ display: flex; align-items: center; gap: 1.4rem; }

/* ══════════════════════════════════════
   NAV — redesigned wider layout
══════════════════════════════════════ */
.top-nav{
  justify-content: space-between !important;
  padding: .55rem 2rem !important;
  background:var(--bg-card) !important;
  border-bottom: 1px solid rgba(201,168,76,.18) !important;
}
.nav-right-group{
  display: flex;
  align-items: center;
  gap: .4rem;
}
.nav-left-group{
  display: flex;
  align-items: center;
  gap: .4rem;
}

/* ══════════════════════════════════════
   HOME PAGE LAYOUT
══════════════════════════════════════ */
.home-wrap{
  min-height: 100vh;
  min-height: 100dvh;
}

/* ── Hero Banner ── */
.home-hero{
  position: relative;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  text-align: center;
  overflow: hidden;
  border-bottom: 1px solid var(--border);
  box-sizing: border-box;
}
.home-hero::before{
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 80% 70% at 50% -5%, rgba(201,168,76,.11) 0%, transparent 65%),
    radial-gradient(circle at 10% 80%, rgba(155,124,219,.06) 0%, transparent 50%),
    radial-gradient(circle at 90% 80%, rgba(78,205,196,.05) 0%, transparent 50%);
  pointer-events: none;
}
.home-hero-eyebrow{
  font-family: "Ubuntu Mono", monospace;
  font-size: .65rem;
  letter-spacing: .28em;
  color: var(--gold-dim);
  text-transform: uppercase;
  margin-bottom: 1.2rem;
}
.home-hero-title{
  font-family: "Amiri", serif;
  font-size: clamp(6rem, 14vw, 10.5rem);
  font-weight: 700;
  line-height: 1;
  color: #f3dfa3;
  text-shadow:
    0 0 60px rgba(201,168,76,.45),
    0 0 120px rgba(201,168,76,.2),
    0 2px 4px rgba(0,0,0,.6);
  letter-spacing: .1em;
  margin-bottom: 0;
  position: relative;
}
.home-hero-sub{
  font-family:var(--font-main);
  font-size: clamp(.9rem, 1.8vw, 1.1rem);
  color: var(--text-sec);
  max-width: 560px;
  margin: 0 auto 2rem;
  line-height: 1.9;
}
.home-hero-deco{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.2rem;
  margin: 1rem 0 1.8rem;
}
.home-hero-deco .hdeco-line{
  width: 80px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(201,168,76,.4));
}
.home-hero-deco .hdeco-line.r{
  background: linear-gradient(90deg, rgba(201,168,76,.4), transparent);
}
.home-hero-deco .hdeco-sym{
  color: var(--gold-dim);
  font-size: 1.1rem;
  letter-spacing: .15em;
}
.home-hero-stats{
  display: flex;
  justify-content: center;
  gap: 1rem;
  flex-wrap: wrap;
  margin-top: 1.8rem;
}
.home-stat{
  display: flex;
  align-items: center;
  gap: .45rem;
  background: rgba(201,168,76,.06);
  border: 1px solid rgba(201,168,76,.18);
  border-radius: 20px;
  padding: .35rem .85rem;
}
.home-stat::after{ display: none; }
.home-stat .hs-n{
  font-family: "Ubuntu Mono", monospace;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--gold);
  line-height: 1;
}
.home-stat .hs-l{
  font-family:var(--font-main);
  font-size: .72rem;
  letter-spacing: .03em;
  color: var(--text-sec);
  margin-top: 0;
}
.home-hero-cta{
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  margin-top: 2.5rem;
  padding: .85rem 2.4rem;
  background: linear-gradient(135deg, #c9a84c 0%, #9a6820 60%, #7a5010 100%);
  border: 1px solid rgba(201,168,76,.5);
  border-radius: 6px;
  color: #0a0c10;
  font-family: "Amiri", serif;
  font-size: 1.1rem;
  font-weight: 700;
  cursor: pointer;
  transition: all .18s;
  box-shadow: 0 4px 20px rgba(201,168,76,.2), inset 0 1px 0 rgba(255,255,255,.15);
  letter-spacing: .03em;
}
.home-hero-cta:hover{
  background: linear-gradient(135deg, #d9bb63 0%, #b07a30 60%, #8a6020 100%);
  box-shadow: 0 6px 28px rgba(201,168,76,.35), inset 0 1px 0 rgba(255,255,255,.2);
  transform: translateY(-2px);
  border-color: rgba(201,168,76,.7);
}

/* ── Section header ── */
.home-section{
  max-width: 1200px;
  margin: 0 auto;
  padding: 3rem 2rem;
}
.home-section-header{
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 2rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--border);
}
.home-section-title{
  font-family: "Amiri", serif;
  font-size: 1.7rem;
  color: var(--gold-glow);
  display: flex;
  align-items: center;
  gap: .6rem;
}
.home-section-title .sec-icon{
  font-size: 1.1rem;
  opacity: .7;
}
.home-section-link{
  font-family:var(--font-main);
  font-size: .8rem;
  color: var(--gold-dim);
  background: none;
  border: 1px solid var(--border-lit);
  border-radius: 20px;
  padding: .3rem .9rem;
  cursor: pointer;
  transition: all .14s;
}
.home-section-link:hover{
  color: var(--gold);
  border-color: var(--gold-dim);
  background: rgba(201,168,76,.06);
}

/* ── Featured grid (3 cols) ── */
.home-featured-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.2rem;
}
.feat-card{
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 12px;
  overflow: hidden;
  cursor: pointer;
  transition: all .18s;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0;
}
.feat-card:hover{
  border-color: var(--gold-dim);
  transform: translateY(-2px);
  box-shadow: 0 6px 24px rgba(0,0,0,.35), 0 0 0 1px rgba(201,168,76,.1);
}
.feat-card-img{
  width: 80px;
  min-width: 80px;
  height: 80px;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  position: relative;
  overflow: hidden;
  border-radius: 0;
  border-left: 1px solid rgba(255,255,255,.04);
  aspect-ratio: unset;
}
.feat-card-img::after{ display: none; }
.feat-card-img-bg{
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 4rem;
  opacity: .06;
  color: var(--gold);
}
.feat-card-img-icon{
  font-size: 2.4rem;
  position: relative;
  z-index: 1;
  filter: drop-shadow(0 2px 8px rgba(0,0,0,.4));
}
.feat-card-tag{
  position: absolute;
  bottom: .3rem;
  right: .3rem;
  z-index: 2;
  font-family: "Ubuntu Mono", monospace;
  font-size: .5rem;
  letter-spacing: .08em;
  color: #0a0c10;
  background: var(--gold);
  border-radius: 3px;
  padding: .12rem .35rem;
  text-transform: uppercase;
}
.feat-card-body{
  padding: .75rem 1rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.feat-card-title{
  font-family: "Amiri", serif;
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--gold);
  margin-bottom: .5rem;
  line-height: 1.4;
  letter-spacing: .02em;
}
.feat-card-desc{
  font-family:var(--font-main);
  font-size: .8rem;
  color: var(--text-sec);
  line-height: 1.7;
  flex: 1;
}
.feat-card-footer{
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: .9rem;
  padding-top: .7rem;
  border-top: 1px solid var(--border);
}
.feat-card-meta{
  font-family: "JetBrains Mono", monospace;
  font-size: .65rem;
  color: var(--text-sec);
  letter-spacing: .06em;
}
.feat-card-arrow{
  font-size: .9rem;
  color: var(--gold-dim);
  transition: transform .14s;
}
.feat-card:hover .feat-card-arrow{ transform: translateX(-4px); color: var(--gold); }

/* ── Tools quick-launch grid ── */
.home-tools-grid{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}
.tool-tile{
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 1.4rem 1rem 1.2rem;
  text-align: center;
  cursor: pointer;
  transition: all .16s;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .6rem;
}
.tool-tile:hover{
  border-color: var(--border-lit);
  background: var(--bg-hover);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0,0,0,.35);
}
.tool-tile-icon{
  font-size: 2rem;
  line-height: 1;
}
.tool-tile-name{
  font-family: "Amiri", serif;
  font-size: .98rem;
  font-weight: 700;
  color: var(--text-pri);
  line-height: 1.3;
  letter-spacing: .01em;
}
.tool-tile-sub{
  font-family: "Ubuntu Mono", monospace;
  font-size: .55rem;
  letter-spacing: .12em;
  color: var(--text-muted);
  text-transform: uppercase;
}
.tool-tile.accent-gold{ border-color: rgba(201,168,76,.35); background: linear-gradient(160deg,#0f0c02,#0d0b01); }
.tool-tile.accent-cyan{ border-color: rgba(78,205,196,.3);  background: linear-gradient(160deg,#020f0e,#020c0b); }
.tool-tile.accent-violet{ border-color: rgba(155,124,219,.3); background: linear-gradient(160deg,#0a0812,#08060f); }
.tool-tile.accent-rose{ border-color: rgba(224,92,122,.3);  background: linear-gradient(160deg,#110508,#0d0406); }
.tool-tile.accent-sage{ border-color: rgba(106,184,138,.3); background: linear-gradient(160deg,#030f07,#020c05); }
.tool-tile.accent-amber{ border-color: rgba(232,159,78,.3);  background: linear-gradient(160deg,#0f0901,#0c0701); }

.tool-tile.accent-gold:hover{ border-color: rgba(201,168,76,.7);  box-shadow: 0 6px 24px rgba(201,168,76,.15); }
.tool-tile.accent-cyan:hover{ border-color: rgba(78,205,196,.6);  box-shadow: 0 6px 24px rgba(78,205,196,.12); }
.tool-tile.accent-violet:hover{ border-color: rgba(155,124,219,.6); box-shadow: 0 6px 24px rgba(155,124,219,.12); }
.tool-tile.accent-rose:hover{ border-color: rgba(224,92,122,.6);  box-shadow: 0 6px 24px rgba(224,92,122,.12); }
.tool-tile.accent-sage:hover{ border-color: rgba(106,184,138,.6); box-shadow: 0 6px 24px rgba(106,184,138,.12); }
.tool-tile.accent-amber:hover{ border-color: rgba(232,159,78,.6);  box-shadow: 0 6px 24px rgba(232,159,78,.12); }

.tool-tile.accent-gold .tool-tile-name{ color: #e8c96a; }
.tool-tile.accent-cyan .tool-tile-name{ color: #6ecfc9; }
.tool-tile.accent-violet .tool-tile-name{ color: #b89ee8; }
.tool-tile.accent-rose .tool-tile-name{ color: #e87a97; }
.tool-tile.accent-sage .tool-tile-name{ color: #7bc49a; }
.tool-tile.accent-amber .tool-tile-name{ color: #e8b05a; }

/* ── Quran highlight banner ── */
.home-quran-banner{
  background: linear-gradient(135deg, #0d1020 0%, #111825 50%, #0d1020 100%);
  border: 1px solid rgba(201,168,76,.2);
  border-radius: var(--radius-lg);
  padding: 2.5rem 3rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  margin: 0 2rem;
  max-width: 1200px;
  margin: 0 auto 3rem;
  position: relative;
  overflow: hidden;
}
/* .home-quran-banner::before removed */
.hqb-text{ flex: 1; }
.hqb-eyebrow{
  font-family: "Ubuntu Mono", monospace;
  font-size: .62rem;
  letter-spacing: .2em;
  color: var(--gold-dim);
  text-transform: uppercase;
  margin-bottom: .6rem;
}
.hqb-title{
  font-family: "Amiri", serif;
  font-size: 1.5rem;
  color: var(--gold-glow);
  margin-bottom: .4rem;
}
.hqb-desc{
  font-family:var(--font-main);
  font-size: .82rem;
  color: var(--text-sec);
  line-height: 1.8;
  max-width: 420px;
}
.hqb-verse{
  font-family: "Amiri", serif;
  font-size: 1.3rem;
  color: #d4b97a;
  text-align: center;
  line-height: 2.2;
  direction: rtl;
  padding: 1rem 1.5rem;
  border-right: 2px solid rgba(201,168,76,.3);
}
.hqb-btn{
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  margin-top: 1rem;
  padding: .55rem 1.4rem;
  background: none;
  border: 1px solid rgba(201,168,76,.4);
  border-radius: 20px;
  color: var(--gold);
  font-family:var(--font-main);
  font-size: .82rem;
  cursor: pointer;
  transition: all .15s;
}
.hqb-btn:hover{
  background: rgba(201,168,76,.08);
  border-color: var(--gold);
}

/* ── Home footer strip ── */
.home-footer-strip{
  border-top: 1px solid var(--border);
  padding: 1.5rem 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  font-family: "Ubuntu Mono", monospace;
  font-size: .62rem;
  letter-spacing: .12em;
  color: var(--text-muted);
  opacity: .5;
}
.home-footer-strip .hfs-dot{
  width: 3px; height: 3px;
  background: var(--gold-dim);
  border-radius: 50%;
}

/* ── Responsive ── */
@media (max-width: 900px) {
  .home-featured-grid{ grid-template-columns: 1fr 1fr; }
  .home-tools-grid{ grid-template-columns: repeat(2, 1fr); }
  .home-quran-banner{ flex-direction: column; }
  .hqb-verse{ border-right: none; border-top: 1px solid rgba(201,168,76,.2); padding-top: 1rem; }
}
@media (max-width: 600px) {
  .home-featured-grid{ grid-template-columns: 1fr; }
  .home-tools-grid{ grid-template-columns: repeat(2, 1fr); }
  .info-bar{ display: none; }
  .home-hero{ padding: 3rem 1.2rem 2.5rem; }
  .home-hero-stats{ gap: 1.5rem; }
}

/* ══════════════════════════════════════
   HOME FULL FOOTER
══════════════════════════════════════ */
.home-full-footer{
  background:var(--bg-card);
  border-top: 1px solid var(--border);
  padding: 3rem 2rem 1.5rem;
  direction: rtl;
}
.hff-inner{
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.8fr 1fr 1fr 1fr;
  gap: 2.5rem;
  padding-bottom: 2.5rem;
  border-bottom: 1px solid var(--border);
}
.hff-brand-col{ padding-left: 1rem; }
.hff-brand{
  font-family: "Amiri", serif;
  font-size: 2rem;
  font-weight: 700;
  background: linear-gradient(135deg, #f3dfa3, #c9a84c 55%, #9a6820);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  line-height: 1;
  margin-bottom: .2rem;
}
.hff-brand-en{
  font-family: "Ubuntu Mono", monospace;
  font-size: .6rem;
  letter-spacing: .3em;
  color: var(--gold-dim);
  margin-bottom: 1rem;
}
.hff-brand-desc{
  font-family:var(--font-main);
  font-size: .78rem;
  color: var(--text-sec);
  line-height: 1.8;
  max-width: 280px;
}
.hff-col-title{
  font-family: "Ubuntu Mono", monospace;
  font-size: .62rem;
  letter-spacing: .2em;
  color: var(--gold-dim);
  text-transform: uppercase;
  margin-bottom: 1rem;
  padding-bottom: .5rem;
  border-bottom: 1px solid var(--border);
}
.hff-link{
  display: block;
  background: none;
  border: none;
  color: var(--text-sec);
  font-family:var(--font-main);
  font-size: .82rem;
  text-align: right;
  padding: .3rem 0;
  cursor: pointer;
  transition: color .13s;
  width: 100%;
}
.hff-link:hover{ color: var(--gold); }
.hff-bottom{
  max-width: 1200px;
  margin: 1.5rem auto 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .8rem;
  font-family: "Ubuntu Mono", monospace;
  font-size: .6rem;
  letter-spacing: .1em;
  color: var(--text-muted);
  opacity: .45;
}
.hff-dot-sep{ opacity: .4; }

/* brand-raqim hover when clickable */
.brand-raqim:hover{
  opacity: .8;
}

@media (max-width: 900px) {
  .hff-inner{ grid-template-columns: 1fr 1fr; gap: 2rem; }
  .hff-brand-col{ grid-column: 1 / -1; }
}
@media (max-width: 600px) {
  .hff-inner{ grid-template-columns: 1fr 1fr; gap: 1.5rem; }
}

/* ── ENGLISH HISTORY (LTR override) ── */
/* ── English History: full LTR override ── */
#geoHistorySection .history-header{
  direction: ltr;
  flex-direction: row;
}
#geoHistorySection .history-table{
  direction: ltr;
}
/* all th/td: center */
#geoHistorySection .history-table th,#geoHistorySection .history-table td{
  text-align: center;
}
/* first-child = Phrase: sticky left */
#geoHistorySection .history-table th:first-child,#geoHistorySection .history-table td:first-child{
  text-align: left;
  min-width: 90px;
  position: sticky;
  left: 0;
  right: auto;
  border-right: 1px solid var(--border);
  border-left: none;
  background: var(--bg-input);
  font-family: "JetBrains Mono", monospace;
  font-size: .9rem;
  font-weight: 700;
  color: var(--gold);
}
#geoHistorySection .history-table td:first-child{
  background: var(--bg-card);
  font-family: "JetBrains Mono", monospace;
  font-size: .9rem;
  font-weight: 700;
  color: var(--gold);
}
#geoHistorySection .history-table tr:hover td:first-child{
  background: var(--bg-hover);
}
/* last-child = X button: no sticky needed */
#geoHistorySection .history-table th:last-child,#geoHistorySection .history-table td:last-child{
  text-align: center;
  position: static;
  border-left: 1px solid var(--border);
  border-right: none;
  min-width: auto;
  background: transparent;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
}
#geoHistorySection .history-table td:last-child{
  background: transparent;
}
#geoHistorySection .search-banner{
  direction: ltr;
}

/* ── English Match Results table (LTR) ── */
#geoMatchSection .history-table{
  direction: ltr;
}
#geoMatchSection .history-table th,#geoMatchSection .history-table td{
  text-align: center;
}
#geoMatchSection .history-table th:first-child,#geoMatchSection .history-table td:first-child{
  text-align: left;
  min-width: 90px;
  position: sticky;
  left: 0;
  right: auto;
  border-right: 1px solid var(--border);
  border-left: none;
  background: var(--bg-input);
  font-family: "JetBrains Mono", monospace;
  font-size: .9rem;
  font-weight: 700;
  color: var(--gold);
}
#geoMatchSection .history-table td:first-child{
  background: var(--bg-card);
}
#geoMatchSection .history-table tr:hover td:first-child{
  background: var(--bg-hover);
}

/* ══════════════════════════════════════
   ENGLISH GEMATRIA — Gematrinator-inspired styling
   Applied ONLY to #pageGematriaEN
══════════════════════════════════════ */

/* Import Lato font for English page */
@import url("https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700;900&family=Montserrat:wght@600;700&display=swap");

/* Page background */
#pageGematriaEN{
  background:var(--bg-card);
  font-family: "Lato", "Ubuntu Mono", sans-serif;
}

/* Header override for EN page */
#pageGematriaEN header h1{
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  letter-spacing: .12em;
  color: #8cfaf3;
  text-shadow: 0 0 30px rgba(140,250,243,.25);
}

/* Container */
#pageGematriaEN .geo-container{
  font-family: "Lato", sans-serif;
}

/* Toolbar */
#pageGematriaEN .toolbar{
  background:var(--bg-card);
  border: 1px solid #1c2235;
  border-radius: 6px;
}
#pageGematriaEN .toolbar-title{
  font-family: "Lato", sans-serif;
  font-size: .72rem;
  letter-spacing: .18em;
  color: #8cfaf3;
}

/* Input section */
#pageGematriaEN .input-section{
  background:var(--bg-card);
  border: 1px solid #1c2a44;
  border-radius: 8px;
}
#pageGematriaEN .geo-input{
  background:var(--bg-card);
  border: 1px solid #1e2d4a;
  color: rgb(222,222,222);
  font-family: "Lato", sans-serif;
  font-size: 1.05rem;
  font-weight: 300;
}
#pageGematriaEN .geo-input:focus{
  border-color: var(--gold);
  box-shadow: 0 0 0 2px rgba(201,168,76,.2);
  outline: none;
}
#pageGematriaEN .geo-input::placeholder{
  color: var(--text-sec);
}

/* Calculate button */
#pageGematriaEN .ecl-go{
  background: var(--gold);
  border: 1px solid var(--gold);
  color:var(--text-pri);
  font-family: "Lato", sans-serif;
  font-weight: 700;
  font-size: .9rem;
  letter-spacing: .08em;
  border-radius: 5px;
  transition: background .15s;
}
#pageGematriaEN .ecl-go:hover{
  background: var(--gold-glow);
  border-color: var(--gold-glow);
}

/* Buttons */
#pageGematriaEN .btn-ciphers,#pageGematriaEN .btn-tables-menu{
  background: transparent;
  border: 1px solid var(--gold-dim);
  color: var(--gold);
  font-family:var(--font-main);
  font-size: .78rem;
}
#pageGematriaEN .btn-ciphers:hover,#pageGematriaEN .btn-tables-menu:hover{
  background: var(--gold);
  border-color: var(--gold);
  color: #0a0c10;
}

/* Results section */
#pageGematriaEN .geo-results-grid{
  gap: .6rem;
}
#pageGematriaEN .geo-card{
  background:var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 6px;
  transition: border-color .15s, box-shadow .15s;
}
#pageGematriaEN .geo-card:hover{
  border-color: var(--gold);
  box-shadow: 0 4px 16px rgba(201,168,76,.2);
}
#pageGematriaEN .geo-card-label{
  font-family: "Lato", sans-serif;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #4a6a9a;
}
#pageGematriaEN .geo-card-value{
  font-family: "Montserrat", sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  color: #8cfaf3;
}
#pageGematriaEN .geo-card-value:hover{
  color: #fcb900;
  cursor: pointer;
}

/* Cipher count badge */
#pageGematriaEN .ciphers-count{
  font-family: "Lato", sans-serif;
  font-size: .7rem;
  color: #fcb900;
  font-weight: 700;
  letter-spacing: .08em;
}

/* History section */
#pageGematriaEN .history-section{
  background:var(--bg-card);
  border: 1px solid #141d30;
  border-radius: 8px;
}
#pageGematriaEN .history-title{
  font-family: "Montserrat", sans-serif;
  font-size: .85rem;
  font-weight: 700;
  color: #8cfaf3;
  letter-spacing: .1em;
}
#pageGematriaEN .history-table{
  font-family: "Lato", sans-serif;
  font-size: .82rem;
}
#pageGematriaEN .history-table th{
  background:var(--bg-card);
  color: #4a6a9a;
  font-family: "Lato", sans-serif;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  border-bottom: 1px solid #1a2540;
}
#pageGematriaEN .history-table td{
  border-bottom: 1px solid #101828;
  color: rgb(222,222,222);
  font-size: .85rem;
}
#pageGematriaEN .history-table tr:hover td{
  background:var(--bg-card);
}

/* Match results banner */
#pageGematriaEN #geoMatchSection{
  background:var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 8px;
  font-family: "Lato", sans-serif;
  color: rgb(222,222,222);
  font-size: .85rem;
}
#pageGematriaEN .geo-match-head{
  color: #8cfaf3;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  font-size: .82rem;
  letter-spacing: .08em;
  padding: .8rem 1rem;
  border-bottom: 1px solid var(--border);
}

/* Export button */
#pageGematriaEN .btn-hist{
  font-family:var(--font-main);
  font-size: .75rem;
  background: transparent;
  border: 1px solid var(--gold-dim);
  color: var(--gold);
  border-radius: 4px;
}
#pageGematriaEN .btn-hist:hover{
  background: var(--gold);
  border-color: var(--gold);
  color: #0a0c10;
}
#pageGematriaEN .btn-hist.danger{
  border-color: #3a1520;
  color: #c04060;
}
#pageGematriaEN .btn-hist.danger:hover{
  background: #8b1a2a;
  border-color: #8b1a2a;
  color:var(--text-pri);
}

/* Hide/Show toggle */
#pageGematriaEN .toggle-hist{
  font-family: "Lato", sans-serif;
  font-size: .72rem;
  background:var(--bg-card);
  border: 1px solid #1a2540;
  color: #4a7aaa;
  border-radius: 20px;
}
#pageGematriaEN .toggle-hist:hover{
  border-color: #8cfaf3;
  color: #8cfaf3;
}

/* ══════════════════════════════════════
   ENGLISH GEMATRIA — Gematrinator-style full layout
   Scoped entirely to #pageGematriaEN
══════════════════════════════════════ */

#pageGematriaEN{
  background:var(--bg-card);
  min-height: 100vh;
  font-family: "Lato", "IBM Plex Sans Arabic", sans-serif;
  direction: ltr;
}
#pageGematriaEN header{
  background:var(--bg-card);
  border-bottom: 2px solid #1a2540;
}
#pageGematriaEN header h1{
  font-family: "Amiri", serif !important;
  font-size: clamp(1.6rem,3vw,2.4rem) !important;
  letter-spacing: .08em !important;
  color: var(--gold-glow) !important;
  text-shadow: 0 0 24px rgba(201,168,76,.25) !important;
}

/* TOP BAR */
.gen-topbar{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: .7rem 2rem;
  background:var(--bg-card);
  border-bottom: 1px solid #131d30;
  gap: 1rem;
  flex-wrap: wrap;
}
.gen-topbar-left,.gen-topbar-right{
  display: flex;
  align-items: center;
  gap: .5rem;
  flex-wrap: wrap;
}
.gen-btn-cipher{
  background: var(--gold);
  border: none;
  color:var(--text-pri);
  font-family: "Lato", sans-serif;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .08em;
  padding: .45rem 1.1rem;
  border-radius: 5px;
  cursor: pointer;
  transition: background .14s;
}
.gen-btn-cipher:hover{ background: var(--gold-glow); }
.gen-cipher-count{
  font-family: "Lato", monospace;
  font-size: .75rem;
  font-weight: 700;
  color: #fcb900;
  letter-spacing: .06em;
}
.gen-btn-outline{
  background: transparent;
  border: 1px solid #1e3050;
  color: #8cfaf3;
  font-family: "Lato", sans-serif;
  font-size: .78rem;
  padding: .4rem .9rem;
  border-radius: 5px;
  cursor: pointer;
  transition: all .14s;
}
.gen-btn-outline:hover{
  background:var(--bg-card);
  border-color: #8cfaf3;
}

/* ENTRY */
.gen-entry-wrap{
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .6rem 2rem;
  background:var(--bg-card);
  border-bottom: 1px solid #131d30;
}
.gen-entry-input{
  flex: 1;
  background:var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 5px;
  color: var(--text-pri);
  font-family: "Lato", sans-serif;
  font-size: .9rem;
  font-weight: 700;
  padding: .42rem .85rem;
  outline: none;
  transition: border-color .14s, box-shadow .14s;
  letter-spacing: .03em;
}
.gen-entry-input:focus{
  border-color: var(--gold);
  box-shadow: 0 0 0 2px rgba(201,168,76,.15);
}
.gen-entry-input::placeholder{ color: var(--text-sec); }
.gen-entry-btn{
  background: var(--gold);
  border: none;
  color:var(--text-pri);
  font-family: "Lato", sans-serif;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .08em;
  padding: .44rem 1.2rem;
  border-radius: 5px;
  cursor: pointer;
  white-space: nowrap;
  transition: background .14s;
}
.gen-entry-btn:hover{ background: var(--gold-glow); }

/* RESULTS GRID */
.gen-results-grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(80px, max-content));
  gap: .25rem 1.1rem;
  max-width: 100%;
  width: fit-content;
  margin: 1rem auto 0;
  padding: 1rem 1.5rem;
  background: rgba(255,255,255,.035);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
}
/* cols per row selector */
.gen-cols-bar{
  display: flex;
  align-items: center;
  gap: .4rem;
  direction: ltr;
}
.gen-cols-label{
  font-family: "Lato", sans-serif;
  font-size: .62rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--gold-dim);
  margin-right: .3rem;
}
.gen-cols-btn{
  background: transparent;
  border: 1px solid var(--gold-dim);
  color: var(--gold);
  font-family: "Lato", monospace;
  font-size: .72rem;
  width: 26px;
  height: 26px;
  border-radius: 4px;
  cursor: pointer;
  transition: all .12s;
  display: flex;
  align-items: center;
  justify-content: center;
}
.gen-cols-btn:hover,.gen-cols-btn.active{
  background: var(--gold);
  border-color: var(--gold);
  color: var(--ink);
}
/* override existing geo-result-card inside gen layout */
#pageGematriaEN .geo-result-card{
  padding: .5rem .3rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .2rem;
}
#pageGematriaEN .geo-result-card .gv{
  font-family: "Montserrat", sans-serif;
  font-size: 1.55rem;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
}
#pageGematriaEN .geo-result-card .gv:hover{ opacity: .75; }
#pageGematriaEN .geo-result-card .gl{
  font-family: "Lato", sans-serif;
  font-size: .9rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: inherit;
  margin-top: .1rem;
}

/* inline letter table inside card */
#pageGematriaEN .geo-inline-table-wrap{
  grid-column: 1 / -1;
  background:var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 1rem 1.2rem;
  margin: .5rem 0;
}

/* BREAKDOWN */
.gen-breakdown-wrap{
  max-width: 100%;
  width: fit-content;
  margin: 1rem auto 0;
  padding: 1.2rem 1.6rem;
  background: rgba(255,255,255,.035);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
}
.gen-breakdown-header{
  display: flex;
  align-items: center;
  gap: .8rem;
  margin-bottom: .8rem;
}
.gen-bd-label{
  font-family: "Lato", sans-serif;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--text-muted);
}
.gen-bd-sys{
  font-family: "Lato", sans-serif;
  font-size: .78rem;
  font-weight: 700;
  color: var(--gold);
  letter-spacing: .06em;
}
.gen-letters-strip{
  display: flex;
  flex-wrap: wrap;
  gap: .3rem;
  margin-bottom: .6rem;
}
#pageGematriaEN .letter-chip{
  background:var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 5px;
  padding: .3rem .45rem;
  min-width: 36px;
  text-align: center;
}
.gen-bd-total{
  font-family: "Montserrat", sans-serif;
  font-size: .82rem;
  color: #4a6a9a;
  letter-spacing: .06em;
}

/* CUSTOM CIPHER PANEL */
.gen-add-panel{
  max-width: 1400px;
  margin: 0 auto;
  padding: 1.2rem 1.5rem;
  background:var(--bg-card);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}
.gen-add-header{
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1rem;
  font-family: "Montserrat", sans-serif;
  font-size: .85rem;
  font-weight: 700;
  letter-spacing: .1em;
  color: #8cfaf3;
}
.gen-add-close{
  background: none;
  border: none;
  color: #4a6a9a;
  font-size: 1rem;
  cursor: pointer;
}
.gen-add-close:hover{ color: var(--danger); }
.gen-add-grid{
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 1rem;
  margin-bottom: 1rem;
}
.gen-label{
  font-family: "Lato", sans-serif;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #4a6a9a;
  display: block;
  margin-bottom: .4rem;
}
.gen-field{
  width: 100%;
  background:var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 5px;
  color: var(--text-pri);
  font-family: "Lato", sans-serif;
  font-size: .9rem;
  padding: .55rem .9rem;
  outline: none;
}
.gen-field:focus{ border-color: var(--gold); }
.gen-add-actions{
  display: flex;
  gap: .6rem;
  margin-top: 1rem;
  justify-content: flex-end;
}
.gen-btn-cancel{
  background: transparent;
  border: 1px solid #1e3050;
  color: #4a6a9a;
  font-family: "Lato", sans-serif;
  font-size: .82rem;
  padding: .5rem 1.2rem;
  border-radius: 5px;
  cursor: pointer;
}
.gen-btn-save{
  background: var(--gold);
  border: none;
  color:var(--text-pri);
  font-family: "Lato", sans-serif;
  font-size: .82rem;
  font-weight: 700;
  padding: .5rem 1.4rem;
  border-radius: 5px;
  cursor: pointer;
}
.gen-btn-save:hover{ background: var(--gold-glow); }

/* HISTORY */
.gen-history-wrap{
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 1.5rem 2rem;
  margin-top: 1rem;
  display: none;
}
.gen-history-wrap.has-data{ display: block; }
.gen-hist-header{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: .7rem 0;
  border-bottom: 1px solid var(--border);
  margin-bottom: .6rem;
}
.gen-hist-title{
  font-family: "Montserrat", sans-serif;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .14em;
  color: #4a6a9a;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: .6rem;
}
.gen-hist-toggle{
  background: transparent;
  border: 1px solid #1e3050;
  color: #4a6a9a;
  font-family: "Lato", sans-serif;
  font-size: .7rem;
  padding: .2rem .6rem;
  border-radius: 12px;
  cursor: pointer;
  transition: all .13s;
}
.gen-hist-toggle:hover{
  border-color: #8cfaf3;
  color: #8cfaf3;
}

/* history table overrides for EN */
#pageGematriaEN #geoHistorySection .history-table th{
  background:var(--bg-card);
  border-bottom: 1px solid var(--border);
  font-family: "Lato", sans-serif;
  font-size: .62rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  padding: .55rem .7rem;
}
#pageGematriaEN #geoHistorySection .history-table td{
  font-family: "Lato", sans-serif;
  font-size: .84rem;
  color: #c0d0e8;
  border-bottom: 1px solid var(--border);
  padding: .5rem .7rem;
}
#pageGematriaEN #geoHistorySection .history-table tr:hover td{
  background:var(--bg-card);
}

/* responsive */
@media (max-width: 768px) {
  .gen-topbar{ padding: .6rem 1rem; }
  .gen-entry-wrap{ padding: 1rem; flex-wrap: wrap; }
  .gen-entry-btn{ width: 100%; }
  .gen-results-grid{ padding: .8rem; }
  #pageGematriaEN .geo-result-card{ min-height: 66px; }
  #pageGematriaEN .geo-result-card .gv{ font-size: 1.3rem; }
}

/* ══════════════════════════════════════
   GEO HISTORY — Context Menu & Row Toggle
══════════════════════════════════════ */

/* context menu */
.geo-ctx-menu{
  background:var(--bg-card);
  border: 1px solid #1e3050;
  border-radius: 7px;
  box-shadow: 0 8px 32px rgba(0,0,0,.7), 0 0 0 1px rgba(140,250,243,.06);
  min-width: 180px;
  overflow: hidden;
  font-family: "Lato", "IBM Plex Sans Arabic", sans-serif;
  font-size: .83rem;
  animation: ctxFadeIn .1s ease;
}
@keyframes ctxFadeIn {
  from { opacity:0; transform:translateY(-4px); }
  to   { opacity:1; transform:translateY(0); }
}
.geo-ctx-item{
  padding: .6rem 1.1rem;
  color: var(--text-sec);
  cursor: pointer;
  transition: background .1s, color .1s;
  white-space: nowrap;
}
.geo-ctx-item:hover{
  background: var(--bg-hover);
  color: var(--cyan);
}
.geo-ctx-item.danger{ color: var(--danger); }
.geo-ctx-item.danger:hover{
  background: #1a0810;
  color: #ff7090;
}
.geo-ctx-sep{
  height: 1px;
  background: var(--border);
  margin: .25rem 0;
}

/* row toggle — dim the row when "hidden" */
.geo-row-hidden td{
  opacity: .22;
  text-decoration: line-through;
  text-decoration-color: rgba(255,255,255,.2);
}
.geo-ctx-item.disabled{
  opacity: .3;
  pointer-events: none;
  cursor: default;
}

/* ── Hebrew page: same gen-layout styles ── */
#pageHebrewGematria{
  background:var(--bg-card);
  min-height: 100vh;
  font-family: "Lato", "IBM Plex Sans Arabic", sans-serif;
}
#pageHebrewGematria header h1{
  font-family: "Amiri", serif !important;
  color: var(--gold-glow) !important;
}
#pageHebrewGematria .geo-result-card{
  padding: .5rem .3rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .2rem;
}
#pageHebrewGematria .geo-result-card .gv{
  font-family: "Montserrat", sans-serif;
  font-size: 1.55rem;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
}
#pageHebrewGematria .geo-result-card .gl{
  font-family: "Lato", sans-serif;
  font-size: .9rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: inherit;
}
#pageHebrewGematria #hebResultsGrid{
  grid-template-columns: repeat(4, minmax(80px, max-content));
}
#pageHebrewGematria #hebHistorySection .history-table th{
  background:var(--bg-card);
  border-bottom: 1px solid var(--border);
  font-size: .9rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: .55rem .7rem;
}
#pageHebrewGematria #hebHistorySection .history-table td{
  font-size: 1.1rem;
  color: var(--text-sec);
  border-bottom: 1px solid var(--border);
  padding: .5rem .7rem;
}
#pageHebrewGematria #hebHistorySection .history-table tr:hover td{
  background:var(--bg-card);
}

/* ── English & Hebrew History table: column dividers + uniform colors ── */
#geoHistorySection .history-table th,#geoHistorySection .history-table td,#hebHistorySection .history-table th,#hebHistorySection .history-table td{
  border-right: 1px solid var(--border);
  border-left: none;
}
#geoHistorySection .history-table th:last-child,#geoHistorySection .history-table td:last-child,#hebHistorySection .history-table th:last-child,#hebHistorySection .history-table td:last-child{
  border-right: none;
}
/* uniform number color — use the system color but same brightness for all */
#geoHistorySection .history-table td.mn,#hebHistorySection .history-table td.mn{
  font-family: "JetBrains Mono", "Lato", monospace;
  font-size: .88rem;
  font-weight: 700;
}
/* first col (Phrase) divider */
#geoHistorySection .history-table th:first-child,#geoHistorySection .history-table td:first-child,#hebHistorySection .history-table th:first-child,#hebHistorySection .history-table td:first-child{
  border-right: 2px solid #1e3050;
}

/* ── Normalize th color brightness in EN/HEB history ── */
#geoHistorySection .history-table th[style],#hebHistorySection .history-table th[style]{
  opacity: 0.85;
  font-size: .65rem !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  padding: .55rem .5rem !important;
  white-space: nowrap;
}

/* ── History table th: keep system color from inline style ── */
#geoHistorySection .history-table thead tr th,#hebHistorySection .history-table thead tr th{
  background:var(--bg-card) !important;
  font-family: "Lato", sans-serif !important;
  font-size: .63rem !important;
  font-weight: 700 !important;
  letter-spacing: .13em !important;
  text-transform: uppercase !important;
  padding: .55rem .6rem !important;
  border-bottom: 2px solid var(--border) !important;
  white-space: nowrap;
}

/* ══════════════════════════════════════
   EN + HEB HISTORY: uniform cells + zebra
   Override ALL first/last-child special styling
══════════════════════════════════════ */
#geoHistorySection .history-table th,#geoHistorySection .history-table td,#hebHistorySection .history-table th,#hebHistorySection .history-table td{
  position: static !important;
  right: auto !important;
  left: auto !important;
  z-index: auto !important;
  border-right: 1px solid var(--border) !important;
  border-left: none !important;
}
#hebHistorySection .history-table th:last-child,#hebHistorySection .history-table td:last-child{
  border-right: none !important;
}

/* uniform td style — all cells same */
#geoHistorySection .history-table td,#hebHistorySection .history-table td{
  font-family: "Lato", "JetBrains Mono", sans-serif !important;
  font-size: .86rem !important;
  padding: .5rem .6rem !important;
  text-align: center !important;
  border-bottom: 1px solid #0e1624 !important;
}

/* phrase cell (first-child) — white, centered */
#geoHistorySection .history-table td:first-child,#hebHistorySection .history-table td:first-child{
  text-align: center !important;
  font-family: "Lato", sans-serif !important;
  font-size: .88rem !important;
  color:var(--text-pri) !important;
  font-weight: 600 !important;
  cursor: pointer;
}
/* Phrase/Word th header — white, centered */
#geoHistorySection .history-table th:first-child,#hebHistorySection .history-table th:first-child{
  color:var(--text-pri) !important;
  text-align: center !important;
}

/* number cells: inline style color takes priority (set in JS) */

/* zebra striping */
#geoHistorySection .history-table tbody tr:nth-child(odd) td,#hebHistorySection .history-table tbody tr:nth-child(odd) td{
  background: var(--bg-card) !important;
}
#geoHistorySection .history-table tbody tr:nth-child(even) td,#hebHistorySection .history-table tbody tr:nth-child(even) td{
  background: var(--bg-hover) !important;
}

/* hover overrides zebra */
#geoHistorySection .history-table tbody tr:hover td,#hebHistorySection .history-table tbody tr:hover td{
  background: var(--bg-hover) !important;
}

/* hidden row */
#geoHistorySection .history-table tbody tr.geo-row-hidden td,#hebHistorySection .history-table tbody tr.geo-row-hidden td{
  opacity: .2 !important;
  text-decoration: line-through !important;
}

/* ══ FINAL OVERRIDE: Hebrew history — all borders guaranteed ══ */
#pageHebrewGematria #hebHistorySection .history-table,#pageHebrewGematria #hebHistorySection .history-table th,#pageHebrewGematria #hebHistorySection .history-table td{
  border-collapse: collapse !important;
}
#pageHebrewGematria #hebHistorySection .history-table th{
  border: 1px solid var(--border) !important;
  background:var(--bg-card) !important;
  font-family: "Lato", sans-serif !important;
  font-size: .63rem !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  padding: .55rem .6rem !important;
  text-align: center !important;
}
#pageHebrewGematria #hebHistorySection .history-table td{
  border: 1px solid var(--border) !important;
  font-family: "Lato", sans-serif !important;
  font-size: .86rem !important;
  padding: .5rem .6rem !important;
  text-align: center !important;
}
#pageHebrewGematria #hebHistorySection .history-table td:first-child{
  color:var(--text-pri) !important;
  font-weight: 600 !important;
  cursor: pointer;
}
#pageHebrewGematria #hebHistorySection .history-table th:first-child{
  color:var(--text-pri) !important;
}
#pageHebrewGematria #hebHistorySection .history-table tbody tr:nth-child(odd) td{
  background: var(--bg-card) !important;
}
#pageHebrewGematria #hebHistorySection .history-table tbody tr:nth-child(even) td{
  background: var(--bg-hover) !important;
}
#pageHebrewGematria #hebHistorySection .history-table tbody tr:hover td{
  background: var(--bg-hover) !important;
}
#pageHebrewGematria #hebHistorySection .history-table tbody tr.geo-row-hidden td{
  opacity: .2 !important;
  text-decoration: line-through !important;
}

/* ══ FINAL: row borders for both EN + HEB history ══ */
#geoHistorySection .history-table,#hebHistorySection .history-table{
  border-collapse: collapse !important;
}
#geoHistorySection .history-table th,#geoHistorySection .history-table td{
  border: 1px solid var(--border) !important;
}
#geoHistorySection .history-table th:first-child,#geoHistorySection .history-table td:first-child{
  color:var(--text-pri) !important;
  font-weight: 600 !important;
  text-align: center !important;
}
#geoHistorySection .history-table th{
  background:var(--bg-card) !important;
}
#geoHistorySection .history-table tbody tr:nth-child(odd) td{
  background: var(--bg-card) !important;
}
#geoHistorySection .history-table tbody tr:nth-child(even) td{
  background: var(--bg-hover) !important;
}

/* ══ GREEK & RUSSIAN HISTORY: same style as EN/HEB ══ */
#grkHistorySection .history-table,#slvHistorySection .history-table{
  border-collapse: collapse !important;
  direction: ltr;
}
#grkHistorySection .history-table th,#grkHistorySection .history-table td,#slvHistorySection .history-table th,#slvHistorySection .history-table td{
  border: 1px solid var(--border) !important;
  text-align: center !important;
  padding: .5rem .6rem !important;
  font-family: "Lato", "JetBrains Mono", sans-serif !important;
  font-size: .86rem !important;
}
#grkHistorySection .history-table th,#slvHistorySection .history-table th{
  background:var(--bg-card) !important;
  font-size: .63rem !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  padding: .55rem .6rem !important;
  white-space: nowrap;
}
#grkHistorySection .history-table td:first-child,#slvHistorySection .history-table td:first-child{
  color:var(--text-pri) !important;
  font-weight: 600 !important;
  cursor: pointer;
}
#grkHistorySection .history-table th:first-child,#slvHistorySection .history-table th:first-child{
  color:var(--text-pri) !important;
}
#grkHistorySection .history-table tbody tr:nth-child(odd) td,#slvHistorySection .history-table tbody tr:nth-child(odd) td{
  background: var(--bg-card) !important;
}
#grkHistorySection .history-table tbody tr:nth-child(even) td,#slvHistorySection .history-table tbody tr:nth-child(even) td{
  background: var(--bg-hover) !important;
}
#grkHistorySection .history-table tbody tr:hover td,#slvHistorySection .history-table tbody tr:hover td{
  background: var(--bg-hover) !important;
}
#grkHistorySection .history-table tbody tr.geo-row-hidden td,#slvHistorySection .history-table tbody tr.geo-row-hidden td{
  opacity: .2 !important;
  text-decoration: line-through !important;
}
/* gen-history-wrap for Greek & Russian: same max-width as EN/HEB */
#pageGreekGematria .gen-history-wrap,#pageSlavicGematria .gen-history-wrap{
  max-width: 1400px;
  padding: 0 1.5rem 2rem;
}
/* gen-hist-header for Greek & Russian */
#pageGreekGematria .gen-hist-header,#pageSlavicGematria .gen-hist-header{
  border-bottom: 1px solid var(--border);
  margin-bottom: .6rem;
}

/* ══ ARABIC HISTORY: same borders, zebra, uniform style ══ */
#historySection .history-table{
  border-collapse: collapse !important;
}
#historySection .history-table th,#historySection .history-table td{
  border: 1px solid var(--border) !important;
  text-align: center !important;
  padding: .5rem .6rem !important;
}
#historySection .history-table th{
  background:var(--bg-card) !important;
  font-size: .63rem !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
#historySection .history-table th:first-child{
  color:var(--text-pri) !important;
}
#historySection .history-table td:first-child{
  color:var(--text-pri) !important;
  font-weight: 600 !important;
  cursor: pointer;
}
#historySection .history-table tbody tr:nth-child(odd) td{
  background: var(--bg-card) !important;
}
#historySection .history-table tbody tr:nth-child(odd) td:first-child{
  background: var(--bg-card) !important;
}
#historySection .history-table tbody tr:nth-child(even) td{
  background: var(--bg-hover) !important;
}
#historySection .history-table tbody tr:nth-child(even) td:first-child{
  background: var(--bg-hover) !important;
}
#historySection .history-table tbody tr:hover td{
  background: var(--bg-hover) !important;
}
#historySection .history-table tbody tr.geo-row-hidden td{
  opacity: .2 !important;
  text-decoration: line-through !important;
}

/* ══ ARABIC HISTORY: match English exactly ══ */
#pageGematriaAR #historySection .history-table{
  border-collapse: collapse !important;
}
#pageGematriaAR #historySection .history-table th,#pageGematriaAR #historySection .history-table td{
  border: 1px solid var(--border) !important;
  text-align: center !important;
  padding: .5rem .6rem !important;
  position: static !important;
  right: auto !important;
  left: auto !important;
  z-index: auto !important;
}
#pageGematriaAR #historySection .history-table th{
  background:var(--bg-card) !important;
  font-size: .63rem !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  white-space: nowrap;
  /* system color from inline style takes priority */
}
#pageGematriaAR #historySection .history-table th:first-child{
  color:var(--text-pri) !important;
}
#pageGematriaAR #historySection .history-table td:first-child{
  color:var(--text-pri) !important;
  font-weight: 600 !important;
  cursor: pointer;
}
#pageGematriaAR #historySection .history-table tbody tr:nth-child(odd) td{
  background: var(--bg-card) !important;
}
#pageGematriaAR #historySection .history-table tbody tr:nth-child(even) td{
  background: var(--bg-hover) !important;
}
#pageGematriaAR #historySection .history-table tbody tr:hover td{
  background: var(--bg-hover) !important;
}
#pageGematriaAR #historySection .history-table tbody tr.geo-row-hidden td{
  opacity: .2 !important;
  text-decoration: line-through !important;
}

/* ══ WORD COLUMN: no truncation, proper min-width ══ */
#historySection .history-table td:first-child,#geoHistorySection .history-table td:first-child,#hebHistorySection .history-table td:first-child,#pageGematriaAR #historySection .history-table td:first-child,#pageGematriaEN #geoHistorySection .history-table td:first-child,#pageHebrewGematria #hebHistorySection .history-table td:first-child{
  min-width: 120px !important;
  max-width: 260px !important;
  white-space: normal !important;
  word-break: break-word !important;
  overflow: visible !important;
  text-overflow: unset !important;
}

/* ══ Context menu: prevent page scroll/resize ══ */
.geo-ctx-menu{
  max-height: calc(100vh - 20px) !important;
  overflow-y: auto !important;
}

/* ══ Date Calculator: Day vs Week colors ══ */
/* Day of Year + Days Left → orange */
.dc-table tr.dc-row-day td,.dc-table tr.dc-row-day td.dc-val,.dc-table tr.dc-row-day td.dc-expr{ color:var(--dcr-day) !important; }
.dcr-v.dc-row-day{ color: var(--dcr-day) !important; text-shadow: 0 0 6px rgba(167,139,250,.35) !important; }

/* Week of Year + Weeks Left → teal */
.dc-table tr.dc-row-woy td,.dc-table tr.dc-row-woy td.dc-val,.dc-table tr.dc-row-woy td.dc-expr{ color:var(--dcr-woy) !important; }
.dcr-v.dc-row-woy{ color: var(--dcr-woy) !important; text-shadow: 0 0 6px rgba(45,212,191,.35) !important; }

/* dc-title override for Date Calculator page */
#pageDatecalc .dc-title{
  font-family: "Montserrat", sans-serif !important;
  font-size: clamp(1.4rem,3vw,2rem) !important;
  letter-spacing: .12em !important;
}

/* ══ dcr-e (label text) same color as dcr-v (number) ══ */
.dcr-e.dc-row-day{ color:var(--dcr-day) !important; }
.dcr-e.dc-row-woy{ color:var(--dcr-woy) !important; }

/* ════════════════════════════════════════
   MOBILE RESPONSIVE — Full overhaul
   Breakpoints: 768px (tablet), 480px (phone)
════════════════════════════════════════ */

/* ── Hamburger button ── */
.nav-hamburger{
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  background: none;
  border: 1px solid var(--border-lit);
  border-radius: var(--radius);
  padding: .45rem .6rem;
  cursor: pointer;
  order: -1;
}
.nav-hamburger span{
  display: block;
  width: 22px;
  height: 2px;
  background: var(--gold);
  border-radius: 2px;
  transition: all .2s;
}
.nav-hamburger.open span:nth-child(1){ transform: translateY(7px) rotate(45deg); }
.nav-hamburger.open span:nth-child(2){ opacity: 0; }
.nav-hamburger.open span:nth-child(3){ transform: translateY(-7px) rotate(-45deg); }

/* ── Mobile nav menu ── */
.nav-mobile-menu{
  display: flex;
  align-items: center;
  gap: .4rem;
  flex: 1;
  justify-content: space-between;
}

@media (max-width: 768px) {
  /* info bar hidden on mobile */
  .info-bar{ display: none !important; }

  /* nav layout */
  .top-nav{
    justify-content: space-between !important;
    padding: .5rem 1rem !important;
    flex-wrap: nowrap !important;
  }
  .nav-hamburger{ display: flex !important; }

  /* mobile menu — hidden by default, shown when open */
  .nav-mobile-menu{
    display: none;
    position: fixed;
    top: 50px;
    right: 0;
    left: 0;
    bottom: 0;
    background:var(--bg-card);
    border-bottom: 1px solid var(--border);
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: .5rem 0 2rem;
    z-index: 499;
    box-shadow: 0 8px 24px rgba(0,0,0,.6);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  .nav-mobile-menu.open{ display: flex !important; }

  /* الشريط الثابت الجديد يظهر دائمًا على الجوال، والنسخة القديمة المدفونة تُخفى لتفادي التكرار */
  #rqMobileQuickBar{ display: flex !important; }
  #rqFontBtn,#rqSizeBtn,#rqThemeBtn{ display: none !important; }

  .nav-right-group,.nav-left-group{
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    width: 100%;
  }
  .nav-btn{
    width: 100% !important;
    text-align: right !important;
    border-radius: 0 !important;
    border: none !important;
    border-bottom: 1px solid var(--border) !important;
    padding: .75rem 1.2rem !important;
    font-size: .92rem !important;
    background: transparent !important;
    color: var(--gold) !important;
    box-shadow: none !important;
  }
  .nav-btn:hover{ background: var(--bg-hover) !important; }
  .nav-dropdown{ width: 100%; }
  .nav-menu{
    position: static !important;
    display: none;
    box-shadow: none !important;
    border: none !important;
    border-radius: 0 !important;
    background:var(--bg-card) !important;
  }
  .nav-menu.open{ display: block !important; }
  .nav-menu-item{
    padding: .65rem 2rem !important;
    font-size: .88rem !important;
    border-bottom: 1px solid var(--border) !important;
  }

  /* ═══ إصلاح فيض قائمة "الأدوات" (nav-mega) — كانت بلا أي معالجة للجوال إطلاقًا ═══
     3 أعمدة متجاورة min-width:150px = 450px+ تفيض على أي شاشة جوال عادية.
     الحل: تكديس عمودي كامل العرض، بنفس منطق nav-menu أعلاه. */
  .nav-mega{
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    border: none !important;
    border-top: 1px solid var(--border) !important;
  }
  .nav-mega.open{ flex-direction: column !important; }
  .nav-mega-col{
    min-width: 0 !important;
    width: 100% !important;
  }
  .nav-mega-col + .nav-mega-col{
    border-right: none !important;
    border-top: 1px solid rgba(255,255,255,.06);
  }

  /* ═══ تكبير أزرار اللمس الصغيرة (خط/حجم/وضع) لحد أدنى مناسب للإصبع (44px) ═══
     كانت 34px على كل الشاشات بما فيها الجوال — أصغر من معيار إتاحة اللمس، لا أكبر منه. */
  #rqFontBtn,#rqSizeBtn,#rqThemeBtn{
    width: 44px !important;
    height: 44px !important;
    font-size: 1rem !important;
  }
  .nav-left-group{
    gap: .5rem !important;
    padding: .5rem 0;
  }

  /* ═══ إصلاح ثانٍ حقيقي لقائمة "الأدوات"/"رمزيات"/"حساب الجُمَّل" — البنية الفعلية
     شبكة أيقونات (tgb) بعرض بكسل ثابت مضمَّن في HTML، لا أعمدة نصية كما افترضت أول مرة.
     overflow:hidden الأصلية (من قاعدة سطح المكتب) قد تقصّ الصفوف الزائدة — نُبطلها هنا. ═══ */
  .nav-mega{
    overflow: visible !important;
    max-height: none !important;
  }
  .nav-mega > div{
    grid-template-columns: repeat(3, 1fr) !important;
    width: 100% !important;
  }
  .tgb{
    width: auto !important;
    height: auto !important;
    aspect-ratio: 1 !important;
    min-width: 0 !important;
  }

  /* ═══ نقل أزرار الخط/الحجم/الوضع (وبقية nav-left-group) لأعلى قائمة الجوال —
     كانت آخر عنصر يُوصَل إليه بعد تمرير كل الروابط والقوائم المتوسِّعة ═══ */
  .nav-right-group{ order: 2; }
  .nav-left-group{ order: 1; border-bottom: 1px solid var(--border); margin-bottom: .3rem; }

  /* history tables — scrollable */
  .history-table-wrap{
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }
  .history-table{ min-width: 500px; }

  /* results grid */
  .gen-results-grid,#hebResultsGrid,#geoResultsGrid{
    grid-template-columns: repeat(2, 1fr) !important;
    padding: .6rem !important;
  }

  /* cols bar hidden on mobile — auto 2 cols */
  .gen-cols-bar{ display: none !important; }

  /* entry wrap */
  .gen-entry-wrap{ flex-wrap: wrap !important; padding: .6rem !important; }
  .gen-entry-btn{ width: 100% !important; }

  /* Arabic results */
  .results-grid{ grid-template-columns: repeat(2, 1fr) !important; }

  /* Chakra image */
  .ckp-imgwrap{ width: 100% !important; height: auto !important; aspect-ratio: 1/1; }
  .ckp-stage{ flex-direction: column !important; align-items: center !important; }
  .ckp-chakra-col{ display: none !important; }
  .ckp-info-bottom{ width: 100% !important; }
  /* عمود الأبراج بالجوال: التموضع المطلق (top:%) يفترض ارتفاعًا ثابتًا للعمود —
     لكن بالتخطيط العمودي بالجوال يفقد العمود ارتفاعه الطبيعي (كل عناصره position:absolute)
     فينهار لصفر ارتفاع وتتكدّس كل الأبراج فوق بعضها. الحل: نرجّعها لتدفّق عادي (صف ملتفّ) بالجوال فقط. */
  .ckp-zodiac-col{
    position: static !important; align-self: auto !important;
    display: flex !important; flex-direction: row !important; flex-wrap: wrap !important;
    justify-content: center !important; width: 100% !important; gap: 4px !important;
  }
  .ckp-zitem{ position: static !important; transform: none !important; width: auto !important; }

  /* date calculator */
  .dc-dates{ flex-direction: column !important; gap: 1rem !important; }
  .dc-date-box{ width: 100% !important; }
  .dc-container{ padding: 1rem !important; }

  /* general container padding */
  .container{ padding: .8rem !important; }
  .geo-container{ padding: 1rem !important; }
  .gen-topbar{ padding: .5rem 1rem !important; flex-wrap: wrap !important; }

  /* home page */
  .home-hero{ padding: 2rem 1rem !important; }
  .home-hero-stats{ gap: 1rem !important; flex-wrap: wrap !important; justify-content: center !important; }
  .home-featured-grid{ grid-template-columns: 1fr !important; }
  .home-tools-grid{ grid-template-columns: repeat(2, 1fr) !important; }
  .hff-inner{ grid-template-columns: 1fr !important; }
  .home-quran-banner{ flex-direction: column !important; padding: 1.5rem !important; }

  /* modals */
  .ciphers-modal{ width: 95vw !important; max-height: 85vh !important; }

  /* add panel */
  .add-panel{ padding: 1rem !important; }
  .add-panel-grid{ grid-template-columns: 1fr !important; }
}

@media (max-width: 480px) {
  .home-hero-title{ font-size: 4rem !important; }
  .home-stat .hs-n{ font-size: 1.4rem !important; }
  .gen-results-grid,#hebResultsGrid,#geoResultsGrid{ grid-template-columns: repeat(2, 1fr) !important; }
  .results-grid{ grid-template-columns: repeat(2, 1fr) !important; }
  .dc-fields{ flex-direction: column !important; }
}

/* ── Arabic input: same style as EN/HEB gen-entry-wrap ── */
#pageGematriaAR .gen-entry-wrap{
  background:var(--bg-card);
  border-bottom: 1px solid #131d30;
  margin-bottom: 0;
}
.arabic-input-new{
  font-family:var(--font-main) !important;
  font-size: .9rem !important;
  direction: rtl !important;
  text-align: right !important;
}
.arabic-input-new:focus{
  border-color: var(--gold) !important;
  box-shadow: 0 0 0 2px rgba(201,168,76,.15) !important;
}
.arabic-input-new::placeholder{
  color: #2a3a5a;
  font-size: .9rem;
}
#pageGematriaAR .gen-entry-btn{
  background: linear-gradient(135deg, var(--gold) 0%, #a07830 100%) !important;
  color: #0a0c10 !important;
  font-family:var(--font-main) !important;
}
#pageGematriaAR .gen-entry-btn:hover{
  background: linear-gradient(135deg, #d9bb63, #ad7a2a) !important;
}

/* ── EN/HEB topbar: gold buttons like Arabic ── */
#pageGematriaEN .gen-btn-cipher,#pageGematriaEN .gen-btn-outline,#pageHebrewGematria .gen-btn-cipher,#pageHebrewGematria .gen-btn-outline{
  background: #161b26 !important;
  border: 1px solid var(--gold-dim) !important;
  color: var(--gold) !important;
  font-family:var(--font-main) !important;
  font-size: .88rem !important;
  font-weight: 600 !important;
}
#pageGematriaEN .gen-btn-cipher:hover,#pageGematriaEN .gen-btn-outline:hover,#pageHebrewGematria .gen-btn-cipher:hover,#pageHebrewGematria .gen-btn-outline:hover{
  background: rgba(201,168,76,.08) !important;
  border-color: var(--gold) !important;
  color: var(--gold-glow) !important;
}

/* ══ Card labels: wrap words vertically, narrow columns ══ */

/* Arabic result cards */
.result-card{
  min-width: 0 !important;
  width: auto !important;
}
.rc-name{
  word-break: break-word !important;
  overflow-wrap: break-word !important;
  white-space: normal !important;
  overflow: visible !important;
  display: block !important;
  -webkit-line-clamp: unset !important;
  text-align: center !important;
  font-size: .9rem !important;
  line-height: 1.3 !important;
  hyphens: auto !important;
}

/* English & Hebrew geo cards */
.geo-result-card .gl{
  word-break: break-word !important;
  overflow-wrap: break-word !important;
  white-space: normal !important;
  text-align: center !important;
  font-size: .58rem !important;
  line-height: 1.3 !important;
  letter-spacing: .05em !important;
  hyphens: auto !important;
}
#pageGematriaEN .geo-result-card .gl,#pageHebrewGematria .geo-result-card .gl{
  font-size: .58rem !important;
  letter-spacing: .06em !important;
  line-height: 1.3 !important;
  white-space: normal !important;
  word-break: break-word !important;
  hyphens: auto !important;
}

/* Tighten card padding to allow more columns */
.geo-result-card{
  padding: .7rem .4rem .65rem !important;
  min-height: 70px !important;
}
.result-card{
  padding: .7rem .4rem .65rem !important;
}

/* ══ History table: uniform column width + wrapped headers ══ */
#historySection .history-table th,#geoHistorySection .history-table th,#hebHistorySection .history-table th,#pageGematriaAR #historySection .history-table th,#pageGematriaEN #geoHistorySection .history-table th,#pageHebrewGematria #hebHistorySection .history-table th{
  width: 90px !important;
  min-width: 70px !important;
  max-width: 110px !important;
  white-space: normal !important;
  word-break: break-word !important;
  overflow-wrap: break-word !important;
  text-align: center !important;
  line-height: 1.3 !important;
  padding: .45rem .35rem !important;
  font-size: .6rem !important;
  vertical-align: middle !important;
}
/* Word column stays wider */
#historySection .history-table th:first-child,#geoHistorySection .history-table th:first-child,#hebHistorySection .history-table th:first-child,#pageGematriaAR #historySection .history-table th:first-child,#pageGematriaEN #geoHistorySection .history-table th:first-child,#pageHebrewGematria #hebHistorySection .history-table th:first-child{
  width: 100px !important;
  min-width: 80px !important;
  max-width: 140px !important;
}
/* td same width */
#historySection .history-table td,#geoHistorySection .history-table td,#hebHistorySection .history-table td,#pageGematriaAR #historySection .history-table td,#pageGematriaEN #geoHistorySection .history-table td,#pageHebrewGematria #hebHistorySection .history-table td{
  width: 90px !important;
  min-width: 70px !important;
  max-width: 110px !important;
  padding: .45rem .35rem !important;
  font-size: .82rem !important;
}
#historySection .history-table td:first-child,#geoHistorySection .history-table td:first-child,#hebHistorySection .history-table td:first-child,#pageGematriaAR #historySection .history-table td:first-child,#pageGematriaEN #geoHistorySection .history-table td:first-child,#pageHebrewGematria #hebHistorySection .history-table td:first-child{
  width: 100px !important;
  min-width: 80px !important;
  max-width: 140px !important;
}

/* ══ History th: one word per line ══ */
#historySection .history-table th,#geoHistorySection .history-table th,#hebHistorySection .history-table th,#pageGematriaAR #historySection .history-table th,#pageGematriaEN #geoHistorySection .history-table th,#pageHebrewGematria #hebHistorySection .history-table th{
  width: 70px !important;
  min-width: 55px !important;
  max-width: 90px !important;
  white-space: normal !important;
  word-break: keep-all !important;
  line-height: 1.5 !important;
  font-size: .62rem !important;
  padding: .5rem .3rem !important;
}
#historySection .history-table td,#geoHistorySection .history-table td,#hebHistorySection .history-table td,#pageGematriaAR #historySection .history-table td,#pageGematriaEN #geoHistorySection .history-table td,#pageHebrewGematria #hebHistorySection .history-table td{
  width: 70px !important;
  min-width: 55px !important;
  max-width: 90px !important;
  padding: .45rem .3rem !important;
  font-size: .82rem !important;
}

/* ══ History table: fit-content width, centered ══ */
#historySection .history-table-wrap,#geoHistorySection .history-table-wrap,#hebHistorySection .history-table-wrap,#grkHistorySection .history-table-wrap,#slvHistorySection .history-table-wrap,#pageGematriaAR #historySection .history-table-wrap,#pageGematriaEN #geoHistorySection .history-table-wrap,#pageHebrewGematria #hebHistorySection .history-table-wrap{
  overflow-x: auto !important;
  display: block !important;
  width: 100% !important;
  text-align: center !important;
}
#historySection .history-table,#geoHistorySection .history-table,#hebHistorySection .history-table,#grkHistorySection .history-table,#slvHistorySection .history-table,#pageGematriaAR #historySection .history-table,#pageGematriaEN #geoHistorySection .history-table,#pageHebrewGematria #hebHistorySection .history-table{
  width: auto !important;
  min-width: unset !important;
  max-width: none !important;
  table-layout: auto !important;
  margin: 0 auto !important;
}

/* ══ History hide class — overrides flex !important ══ */
.history-table-wrap.hist-hidden,.tw.hist-hidden,#historySection .history-table-wrap.hist-hidden,#geoHistorySection .history-table-wrap.hist-hidden,#hebHistorySection .history-table-wrap.hist-hidden,#grkHistorySection .history-table-wrap.hist-hidden,#slvHistorySection .history-table-wrap.hist-hidden,#pageGematriaAR #historySection .history-table-wrap.hist-hidden,#pageGematriaEN #geoHistorySection .history-table-wrap.hist-hidden,#pageHebrewGematria #hebHistorySection .history-table-wrap.hist-hidden,.gen-history-wrap .history-table-wrap.hist-hidden{
  display: none !important;
}

/* ══ Remove grey border from history table wrap ══ */
#historySection .history-table-wrap,#geoHistorySection .history-table-wrap,#hebHistorySection .history-table-wrap,#pageGematriaAR #historySection .history-table-wrap,#pageGematriaEN #geoHistorySection .history-table-wrap,#pageHebrewGematria #hebHistorySection .history-table-wrap,.gen-history-wrap .history-table-wrap{
  border: none !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* ══ EN/HEB: center table inside gen-history-wrap ══ */
.gen-history-wrap .history-table-wrap{
  display: block !important;
  overflow-x: auto !important;
  width: 100% !important;
  border: none !important;
  background: transparent !important;
}
.gen-history-wrap .history-table{
  margin: 0 auto !important;
  width: auto !important;
}
#geoHistorySection,#hebHistorySection{
  border: none !important;
  background: transparent !important;
}

/* ══ EN/HEB: first th (Phrase/Word) white, others keep system color ══ */
#pageGematriaEN #geoHistorySection .history-table th:first-child,#pageHebrewGematria #hebHistorySection .history-table th:first-child{
  color:var(--text-pri) !important;
}

/* ══ Arabic textarea ══ */
.ar-entry-outer{
  display: flex;
  align-items: flex-start;
  gap: .5rem;
  padding: .5rem .8rem;
  background:var(--bg-card);
  border-bottom: 1px solid #131d30;
  box-sizing: border-box;
}
.ar-textarea{
  flex: 1;
  min-width: 0;
  min-height: 42px;
  max-height: 300px;
  background:var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 6px;
  color: var(--text-pri);
  font-family:var(--font-main);
  font-size: .9rem;
  padding: .5rem .9rem;
  direction: rtl;
  text-align: right;
  outline: none;
  resize: none;
  overflow: hidden;
  line-height: 1.6;
  transition: border-color .14s;
}
.ar-textarea:focus{
  border-color: var(--gold);
  box-shadow: 0 0 0 2px rgba(201,168,76,.15);
}
.ar-textarea::placeholder{ color: #2a3a5a; }
.ar-entry-btns{
  display: flex;
  flex-direction: column;
  gap: .4rem;
  flex-shrink: 0;
}

/* ── Arabic entry: slightly narrower than full width ── */
#pageGematriaAR .gen-entry-wrap{
  max-width: 800px;
  margin: 0 auto;
}

/* ── EN/HEB entry: same max-width as Arabic ── */
#pageGematriaEN .gen-entry-wrap,#pageHebrewGematria .gen-entry-wrap,#pageGreekGematria .gen-entry-wrap,#pageSlavicGematria .gen-entry-wrap{
  max-width: 800px;
  margin: 0 auto;
}
/* EN/HEB/GRK/SLV Calculate button: gold like Arabic */
#pageGematriaEN .gen-entry-btn,#pageHebrewGematria .gen-entry-btn,#pageGreekGematria .gen-entry-btn,#pageSlavicGematria .gen-entry-btn{
  background: linear-gradient(135deg, var(--gold) 0%, #a07830 100%) !important;
  color: #0a0c10 !important;
  font-family:var(--font-main) !important;
}
#pageGematriaEN .gen-entry-btn:hover,#pageHebrewGematria .gen-entry-btn:hover,#pageGreekGematria .gen-entry-btn:hover,#pageSlavicGematria .gen-entry-btn:hover{
  background: linear-gradient(135deg, #d9bb63, #ad7a2a) !important;
}


.ls-fbtn{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.2);color:var(--text-sec);padding:.35rem .85rem;border-radius:20px;cursor:pointer;font-size:.8rem;font-family:var(--font-main);transition:.15s}
.ls-fbtn:hover{border-color:var(--gold);color:var(--gold);background:rgba(201,168,76,.1)}
.ls-factive{background:var(--gold);border-color:var(--gold);color:#07091a;font-weight:700}

/* ═══════════════════════════════════════════════════════════════
   GEMATRIA RESULT ORDER & ARABIC PARITY — v8
   Every cipher card shows the system name first, then its value.
   Arabic uses the same visual rhythm as English/Hebrew/Greek/Russian,
   while preserving right-to-left reading direction.
═══════════════════════════════════════════════════════════════ */
.result-card,.geo-result-card,#pageGematriaAR .result-card,#pageGematriaEN .geo-result-card,#pageHebrewGematria .geo-result-card,#pageGreekGematria .geo-result-card,#pageSlavicGematria .geo-result-card{
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
}

/* Explicit visual order: label above value in every language. */
.result-card .rc-name,.geo-result-card .gl{
  order: 1 !important;
  margin: 0 0 .24rem !important;
}
.result-card .rc-val,.geo-result-card .gv{
  order: 2 !important;
  margin: 0 !important;
}
.result-card .rc-dr{
  order: 3 !important;
}

/* Arabic result grid/card parity with the other gematria pages. */
#pageGematriaAR #resultsGrid{
  direction: rtl !important;
  align-items: start;
}
#pageGematriaAR .result-card{
  min-height: 70px !important;
  padding: .7rem .4rem .65rem !important;
  text-align: center !important;
  direction: rtl !important;
}
#pageGematriaAR .result-card .rc-name{
  font-family: "IBM Plex Sans Arabic", "Amiri", sans-serif !important;
  font-size: .74rem !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  text-align: center !important;
}
#pageGematriaAR .result-card .rc-val{
  font-family: "Ubuntu Mono", "IBM Plex Sans Arabic", monospace !important;
  font-size: 1.55rem !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  direction: ltr !important;
  unicode-bidi: isolate !important;
}


/* =========================================================
   V9 — GEMATRIA LETTER TABLES: MAXIMUM TWO ROWS
   ========================================================= */

/* Provide clear separation between the preceding results/table and the
   administrator-only global saved-history search panel on every gematria page. */
.admin-global-search-panel{
  margin-top: 1.75rem !important;
}

/* V217 — Arabic Gematria admin saved-input search: use the available page width,
   give the phrase column priority, and keep numeric-system columns compact. */
#pageGematriaAR #adminGlobalSearch_ar{
  width: 100% !important;
  max-width: 1100px !important;
}
#pageGematriaAR #adminGS_result_ar{
  width: 100% !important;
  min-width: 0 !important;
}
#pageGematriaAR #adminGS_result_ar .admin-gs-count{
  font-size: .72rem;
  color: var(--text-muted);
  margin-bottom: .45rem;
}
#pageGematriaAR #adminGS_result_ar .admin-gs-table-wrap{
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
}
#pageGematriaAR #adminGS_result_ar .admin-gs-table{
  direction: rtl;
  border-collapse: collapse;
  width: max-content;
  min-width: 100%;
  table-layout: auto;
}
#pageGematriaAR #adminGS_result_ar .admin-gs-num-head,
#pageGematriaAR #adminGS_result_ar .admin-gs-num-cell,
#pageGematriaAR #adminGS_result_ar .admin-gs-word-head,
#pageGematriaAR #adminGS_result_ar .admin-gs-word-cell{
  border: 1px solid var(--border);
  vertical-align: middle;
}
#pageGematriaAR #adminGS_result_ar .admin-gs-num-head{
  box-sizing: border-box;
  width: 88px;
  min-width: 76px;
  max-width: 96px;
  padding: .42rem .32rem;
  text-align: center;
  white-space: normal;
  word-break: normal;
  overflow-wrap: normal;
  line-height: 1.45;
  font-size: .66rem;
  font-weight: 700;
}
#pageGematriaAR #adminGS_result_ar .admin-gs-num-cell{
  box-sizing: border-box;
  width: 88px;
  min-width: 76px;
  max-width: 96px;
  padding: .42rem .3rem;
  text-align: center;
  white-space: nowrap;
  font-family: "Ubuntu Mono", monospace;
  font-size: .84rem;
}
#pageGematriaAR #adminGS_result_ar .admin-gs-word-head,
#pageGematriaAR #adminGS_result_ar .admin-gs-word-cell{
  box-sizing: border-box;
  width: 230px;
  min-width: 210px;
  max-width: 320px;
  padding: .48rem .7rem;
  text-align: right;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
}
#pageGematriaAR #adminGS_result_ar .admin-gs-word-head{
  color: var(--text-sec);
  font-size: .7rem;
  font-weight: 700;
}
#pageGematriaAR #adminGS_result_ar .admin-gs-word-cell{
  color: var(--gold);
  font-family: "Amiri", serif;
  font-size: 1rem;
  line-height: 1.65;
}

@media (max-width: 820px){
  #pageGematriaAR #adminGlobalSearch_ar{
    width: 100% !important;
    max-width: 100% !important;
    padding: .7rem .65rem !important;
  }
  #pageGematriaAR #adminGS_result_ar .admin-gs-table-wrap{
    margin-inline: 0;
    padding-bottom: .25rem;
  }
  #pageGematriaAR #adminGS_result_ar .admin-gs-num-head{
    width: 74px;
    min-width: 68px;
    max-width: 82px;
    padding: .38rem .24rem;
    font-size: .62rem;
    line-height: 1.4;
  }
  #pageGematriaAR #adminGS_result_ar .admin-gs-num-cell{
    width: 74px;
    min-width: 68px;
    max-width: 82px;
    padding: .4rem .22rem;
    font-size: .8rem;
  }
  #pageGematriaAR #adminGS_result_ar .admin-gs-word-head,
  #pageGematriaAR #adminGS_result_ar .admin-gs-word-cell{
    width: 170px;
    min-width: 160px;
    max-width: 210px;
    padding: .42rem .5rem;
  }
  #pageGematriaAR #adminGS_result_ar .admin-gs-word-cell{
    font-size: .94rem;
    line-height: 1.55;
  }
}

/* Canonical gematria letter-table flow.
   IMPORTANT: row-major sequencing only — first row continues horizontally,
   then the second row continues from where the first ended. */
.lcard-grid,.geo-lcard-grid,.letter-vals-grid{
  display: grid !important;
  grid-template-rows: repeat(2, auto) !important;
  grid-template-columns: repeat(var(--gem-letter-cols, 18), minmax(56px, 1fr)) !important;
  grid-auto-flow: row !important;
  grid-auto-columns: unset !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  max-width: 100% !important;
  padding-bottom: .4rem;
  scrollbar-width: thin;
  overscroll-behavior-inline: contain;
}

/* Arabic built-in/custom tables set the exact number of columns in JS so the
   sequence is split into exactly two consecutive rows. */
#pageGematriaAR .ar-two-row-sequential{
  --gem-letter-cols: var(--ar-letter-cols);
  grid-template-columns: repeat(var(--ar-letter-cols), minmax(54px, 1fr)) !important;
  grid-auto-flow: row !important;
}

/* Letter-by-letter breakdowns of entered words also never exceed two rows. */
.letters-strip,.gen-letters-strip{
  display: grid !important;
  grid-template-rows: repeat(2, auto) !important;
  grid-auto-flow: column !important;
  grid-auto-columns: max-content !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  max-width: 100% !important;
  align-items: start;
  padding-bottom: .4rem;
  scrollbar-width: thin;
  overscroll-behavior-inline: contain;
}

/* Preserve each language's reading direction while horizontal scrolling. */
#pageGematriaAR .lcard-grid,#pageGematriaAR .letter-vals-grid,#pageGematriaAR .letters-strip,#pageHebrewGematria .geo-lcard-grid,#pageHebrewGematria .letter-vals-grid,#pageHebrewGematria .gen-letters-strip{
  direction: rtl !important;
}

#pageGematriaEN .geo-lcard-grid,#pageGematriaEN .letter-vals-grid,#pageGematriaEN .gen-letters-strip,#pageGreekGematria .geo-lcard-grid,#pageGreekGematria .letter-vals-grid,#pageGreekGematria .gen-letters-strip,#pageSlavicGematria .geo-lcard-grid,#pageSlavicGematria .letter-vals-grid,#pageSlavicGematria .gen-letters-strip{
  direction: ltr !important;
}

@media (max-width: 640px) {
  .admin-global-search-panel{ margin-top: 1.35rem !important; }
  .lcard-grid,.geo-lcard-grid,.letter-vals-grid{ grid-auto-columns: minmax(52px, 62px) !important; }
}

/* === Gematria word integrity fix: 2026-07-24 v11 === */
#pageGematriaEN .gen-letters-strip,#pageHebrewGematria .gen-letters-strip,#pageGreekGematria .gen-letters-strip,#pageSlavicGematria .gen-letters-strip{
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  gap: .75rem 1.15rem !important;
}
#pageGematriaEN .gen-letters-strip,#pageGreekGematria .gen-letters-strip,#pageSlavicGematria .gen-letters-strip{
  direction: ltr !important;
  justify-content: flex-start !important;
}
#pageHebrewGematria .gen-letters-strip{
  direction: rtl !important;
  justify-content: flex-start !important;
}
.gem-word-group{
  display: inline-flex !important;
  flex-wrap: nowrap !important;
  align-items: flex-end !important;
  width: max-content !important;
  max-width: none !important;
  white-space: nowrap !important;
  gap: .08rem !important;
  break-inside: avoid !important;
}
.gem-word-group.gem-word-ltr{ direction: ltr !important; }
.gem-word-group.gem-word-rtl{ direction: rtl !important; }
#pageGematriaEN .gem-word-group .letter-chip,#pageHebrewGematria .gem-word-group .letter-chip,#pageGreekGematria .gem-word-group .letter-chip,#pageSlavicGematria .gem-word-group .letter-chip{
  display: inline-flex !important;
  flex: 0 0 auto !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-end !important;
  background: transparent !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  min-width: 26px !important;
  padding: .15rem .18rem !important;
  margin: 0 !important;
}
#pageGematriaEN .gem-word-group .word-subtotal,#pageHebrewGematria .gem-word-group .word-subtotal,#pageGreekGematria .gem-word-group .word-subtotal,#pageSlavicGematria .gem-word-group .word-subtotal{
  flex: 0 0 auto !important;
  align-self: center !important;
  margin-inline-start: .28rem !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Gematria breakdown: strict empty state — v14
   Keep the breakdown container completely absent until valid calculated content exists. */
#geoBreakdownSection[hidden],#hebBreakdownSection[hidden],#grkBreakdownSection[hidden],#slvBreakdownSection[hidden]{
  display: none !important;
}

/* Gematria result grids: hide only when they contain no result cards — v15
   This is the empty middle frame confirmed in DevTools (geoResultsGrid). */
#geoResultsGrid:empty,#hebResultsGrid:empty,#grkResultsGrid:empty,#slvResultsGrid:empty{
  display: none !important;
}

/* v17: clean cipher letter-value tables — no per-letter frames or highlighting */
.geo-inline-table-wrap .geo-lcard,.geo-inline-table-wrap .geo-lcard.active{
  border: 0 !important;
  outline: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: .3rem .15rem !important;
}
.geo-inline-table-wrap .geo-lcard::before,.geo-inline-table-wrap .geo-lcard::after{ content: none !important; }
.geo-inline-table-wrap .geo-lcard .gc{
  text-shadow: none !important;
  filter: none !important;
}

/* v18: remove every per-letter frame in all gematria letter-value tables */
.geo-inline-table-wrap .geo-lcard .gc,.geo-inline-table-wrap .geo-lcard.active .gc{
  display: inline-block !important;
  background: transparent !important;
  border: 0 !important;
  outline: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  min-width: 0 !important;
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
  transform: none !important;
  transition: none !important;
  text-shadow: none !important;
  filter: none !important;
}
.geo-inline-table-wrap .geo-lcard .gc::before,.geo-inline-table-wrap .geo-lcard .gc::after{
  content: none !important;
  display: none !important;
}
.geo-inline-table-wrap .geo-lcard:hover .gc,.geo-inline-table-wrap .geo-lcard .gc:hover{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}


/* V25 — unified cipher controls and immutable Arabic built-in tables */
.gematria-cipher-controls{
  direction: ltr !important;
  justify-content: flex-start !important;
  align-items: center !important;
}
#pageGematria .toolbar > .gematria-cipher-controls,#pageGematriaAR .toolbar > .gematria-cipher-controls,.container > .toolbar > .gematria-cipher-controls{
  width: 100%;
}
#pageHebrewGematria .gen-topbar{
  direction: ltr !important;
}
/* V87 — Arabic built-in letter tables match the clean English table style.
   Read-only tables have no per-letter/per-value frames. Custom user-created
   tables intentionally keep input frames because those values are editable. */
#pageGematriaAR #viewerLetterGrid .lv-cell{
  background: transparent !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: .35rem .15rem !important;
  gap: .3rem !important;
}
#pageGematriaAR #viewerLetterGrid .lv-readonly-value{
  display: block !important;
  min-height: 0 !important;
  width: auto !important;
  box-sizing: border-box;
  border: 0 !important;
  outline: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--text-pri);
  font-family: "Ubuntu Mono", monospace;
  font-size: .95rem;
  line-height: 1.2;
  padding: 0 !important;
  cursor: default;
  user-select: text;
}
#pageGematriaAR #viewerLetterGrid .lv-char{
  text-shadow: none !important;
}
/* Inline Arabic cipher tables shown under a result use the same frame-free style. */
#pageGematriaAR .lcard-grid.ar-two-row-sequential .lcard{
  background: transparent !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: .35rem .15rem !important;
  gap: .3rem !important;
}
#pageGematriaAR .lcard-grid.ar-two-row-sequential .lcard-char{
  text-shadow: none !important;
}

/* V26 — remove horizontal separator lines from all gematria pages */
#pageGematriaAR header,#pageGematriaEN header,#pageHebrewGematria header,#pageGreekGematria header,#pageSlavicGematria header,#pageGematriaAR .gen-topbar,#pageGematriaEN .gen-topbar,#pageHebrewGematria .gen-topbar,#pageGreekGematria .gen-topbar,#pageSlavicGematria .gen-topbar,#pageGematriaAR .gen-entry-wrap,#pageGematriaEN .gen-entry-wrap,#pageHebrewGematria .gen-entry-wrap,#pageGreekGematria .gen-entry-wrap,#pageSlavicGematria .gen-entry-wrap,#pageGematriaAR .gen-hist-header,#pageGematriaEN .gen-hist-header,#pageHebrewGematria .gen-hist-header,#pageGreekGematria .gen-hist-header,#pageSlavicGematria .gen-hist-header{
  border-top: none !important;
  border-bottom: none !important;
}

/* ══ توسعة صفحة الكون الأكبر والإنسان الأصغر v46 ══ */
.mc-page{padding-bottom:3rem}.mc-intro-wide{max-width:880px}.mc-section-wide{max-width:1080px}.mc-cosmos-diagram svg{width:min(100%,720px);min-height:280px}.mc-section-lead{max-width:820px;margin:0 auto 1.3rem;text-align:center;color:var(--text-sec);line-height:1.9}.mc-two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.mc-info-card,.mc-type-card,.mc-cosmic-cards article{background:linear-gradient(145deg,rgba(255,255,255,.025),rgba(201,154,63,.035));border:1px solid var(--border);border-radius:14px;padding:1.15rem 1.25rem}.mc-info-card h3,.mc-type-card h3,.mc-cosmic-cards h3,.mc-layer-content h3{font-family:"Amiri",serif;color:var(--gold-glow);font-size:1.2rem;margin:0 0 .55rem}.mc-info-card p,.mc-type-card p,.mc-cosmic-cards p,.mc-layer-content p{color:var(--text-sec);line-height:1.9;margin:0}.mc-note-box,.mc-final-thought{margin:1rem auto 0;padding:1rem 1.2rem;border-radius:12px;background:rgba(77,208,225,.055);border:1px solid rgba(77,208,225,.22);color:var(--text-sec);line-height:1.9}.mc-type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.mc-type-card{position:relative;min-height:175px}.mc-type-card>span{font-family:"JetBrains Mono",monospace;color:rgba(201,154,63,.5);font-size:.72rem}.mc-table-wrap{overflow:auto;border-radius:12px;border:1px solid var(--border)}.mc-table-wrap .mc-summary-table{margin:0;min-width:880px}.mc-expanded-table th,.mc-expanded-table td{padding:.75rem .8rem}.mc-expanded-table tbody tr:nth-child(even),.mc-correspondence-table tbody tr:nth-child(even){background:rgba(255,255,255,.018)}.mc-cosmic-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin-top:1.2rem}.mc-layer-tabs{display:flex;flex-wrap:wrap;gap:.55rem;justify-content:center;margin:1rem 0}.mc-layer-btn{border:1px solid var(--border);background:var(--bg2);color:var(--text-sec);border-radius:999px;padding:.48rem 1rem;cursor:pointer;font-family:var(--font-main);transition:.18s}.mc-layer-btn:hover,.mc-layer-btn.active{border-color:var(--gold-dim);color:var(--gold-glow);background:rgba(201,154,63,.1)}.mc-layer-stage{display:grid;grid-template-columns:240px 1fr;gap:1.5rem;align-items:center;max-width:900px;margin:1rem auto 0;background:var(--bg2);border:1px solid var(--border);border-radius:16px;padding:1.4rem}.mc-human-silhouette{position:relative;width:170px;height:300px;margin:auto}.mc-head{position:absolute;top:5px;left:58px;width:54px;height:54px;border:2px solid var(--gold-dim);border-radius:50%;background:rgba(201,154,63,.06)}.mc-torso{position:absolute;top:68px;left:48px;width:74px;height:125px;border:2px solid var(--gold-dim);border-radius:42% 42% 25% 25%;background:rgba(77,208,225,.04)}.mc-arm,.mc-leg{position:absolute;border:2px solid var(--gold-dim);border-radius:20px;background:rgba(201,154,63,.035)}.mc-arm{top:75px;width:24px;height:132px}.mc-arm.left{left:15px;transform:rotate(10deg)}.mc-arm.right{right:15px;transform:rotate(-10deg)}.mc-leg{top:186px;width:29px;height:110px}.mc-leg.left{left:48px;transform:rotate(5deg)}.mc-leg.right{right:48px;transform:rotate(-5deg)}.mc-layer-content{min-height:210px}.mc-layer-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.mc-layer-chips span{border:1px solid rgba(77,208,225,.25);background:rgba(77,208,225,.05);color:#bde8ed;border-radius:999px;padding:.35rem .7rem;font-size:.78rem}.mc-agree-card ul,.mc-diff-card ul{margin:.4rem 0 0;padding-right:1.2rem;color:var(--text-sec);line-height:2}.mc-final-thought{margin-top:1.2rem;text-align:center;font-size:1rem}.mc-final-thought b{color:var(--gold-glow)}
@media(max-width:800px){.mc-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mc-cosmic-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.mc-layer-stage{grid-template-columns:1fr}.mc-human-silhouette{transform:scale(.82);margin-top:-25px;margin-bottom:-25px}}
@media(max-width:560px){.mc-two-col,.mc-type-grid,.mc-cosmic-cards{grid-template-columns:1fr}.mc-cosmos-diagram svg{min-height:220px}.mc-layer-stage{padding:1rem}.mc-section-title{font-size:1.4rem}}

/* ══════════════════════════════════════
   MACROCOSM / MICROCOSM — WIDE TABLES + THEME COLORS v47
══════════════════════════════════════ */
.mc-page{
  max-width:1440px;
  width:100%;
  padding-inline:clamp(1rem,2.4vw,2.5rem);
}
.mc-page .mc-section-wide{max-width:1320px;width:100%}
.mc-page .mc-intro-wide{max-width:980px}
.mc-page .mc-table-wrap{
  width:100%;
  overflow:visible;
  border-radius:12px;
  border:1px solid var(--border);
}
.mc-page .mc-table-wrap .mc-summary-table{
  width:100%;
  min-width:0;
  table-layout:fixed;
  margin:0;
}
.mc-page .mc-summary-table th,.mc-page .mc-summary-table td{
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:normal;
  vertical-align:top;
  padding:.72rem .68rem;
  line-height:1.65;
}
.mc-page .mc-expanded-table{font-size:clamp(.68rem,.72vw,.82rem)}
.mc-page .mc-expanded-table th:nth-child(1){width:15%}
.mc-page .mc-expanded-table th:nth-child(2){width:18%}
.mc-page .mc-expanded-table th:nth-child(3){width:25%}
.mc-page .mc-expanded-table th:nth-child(4){width:22%}
.mc-page .mc-expanded-table th:nth-child(5){width:20%}
.mc-page .mc-correspondence-table{font-size:clamp(.76rem,.82vw,.9rem)}
.mc-page .mc-correspondence-table th:nth-child(1){width:27%}
.mc-page .mc-correspondence-table th:nth-child(2){width:27%}
.mc-page .mc-correspondence-table th:nth-child(3){width:46%}

/* عناوين ملونة ومتكيفة مع النمط */
.mc-page{--mc-gold:#f0c85b;--mc-cyan:#71d7e5;--mc-violet:#c6a5ff;--mc-rose:#ff9db3;--mc-sage:#9ed7b4;--mc-amber:#f2b86f}
.mc-page .mc-section-title{color:var(--mc-gold)}
.mc-page #mcRelationTypes .mc-section-title{color:var(--mc-cyan)}
.mc-page #mcTraditions .mc-section-title{color:var(--mc-violet)}
.mc-page #mcCorrespondences .mc-section-title{color:var(--mc-rose)}
.mc-page #mcCosmicHuman .mc-section-title{color:var(--mc-sage)}
.mc-page #mcLayers .mc-section-title{color:var(--mc-amber)}
.mc-page #mcAgreement .mc-section-title{color:var(--mc-cyan)}
.mc-page .mc-section-eyebrow{color:color-mix(in srgb,currentColor 78%,var(--text-sec))}
.mc-page .mc-summary-table thead th{color:var(--mc-gold);background:color-mix(in srgb,var(--bg2) 88%,var(--mc-gold) 12%)}
.mc-page .mc-expanded-table thead th:nth-child(2){color:var(--mc-cyan)}
.mc-page .mc-expanded-table thead th:nth-child(3){color:var(--mc-violet)}
.mc-page .mc-expanded-table thead th:nth-child(4){color:var(--mc-rose)}
.mc-page .mc-expanded-table thead th:nth-child(5){color:var(--mc-sage)}

html[data-theme="light"] .mc-page{
  --mc-gold:#795800;
  --mc-cyan:#006878;
  --mc-violet:#6848a5;
  --mc-rose:#9b3854;
  --mc-sage:#286b47;
  --mc-amber:#8a4f00;
}
html[data-theme="light"] .mc-page .mc-summary-table thead th{
  background:color-mix(in srgb,#ffffff 82%,var(--mc-gold) 18%);
}
html[data-theme="light"] .mc-page .mc-summary-table td{color:#35322c}
html[data-theme="light"] .mc-page .mc-table-wrap{border-color:#cfc7b5}

@media (max-width:1100px){
  .mc-page{padding-inline:.8rem}
  .mc-page .mc-expanded-table{font-size:.67rem}
  .mc-page .mc-summary-table th,.mc-page .mc-summary-table td{padding:.55rem .42rem;line-height:1.55}
}
@media (max-width:760px){
  .mc-page .mc-table-wrap{overflow:visible}
  .mc-page .mc-expanded-table{font-size:.58rem}
  .mc-page .mc-correspondence-table{font-size:.66rem}
  .mc-page .mc-summary-table th,.mc-page .mc-summary-table td{padding:.42rem .28rem;line-height:1.45}
  .mc-page .mc-expanded-table th:nth-child(1){width:16%}
  .mc-page .mc-expanded-table th:nth-child(2){width:18%}
  .mc-page .mc-expanded-table th:nth-child(3){width:24%}
  .mc-page .mc-expanded-table th:nth-child(4){width:22%}
  .mc-page .mc-expanded-table th:nth-child(5){width:20%}
}


/* v14-20260729 — Arabic gematria breakdown: keep each word on one row before wrapping */
#pageGematria .letters-strip{
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: .85rem 1rem !important;
  direction: rtl !important;
}
#pageGematria .gem-word-group{
  display: inline-flex !important;
  flex-wrap: nowrap !important;
  align-items: flex-end !important;
  width: max-content !important;
  max-width: none !important;
  white-space: nowrap !important;
  gap: .18rem !important;
  break-inside: avoid !important;
  direction: rtl !important;
}
#pageGematria .gem-word-group .letter-chip{
  display: inline-flex !important;
  flex: 0 0 auto !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-end !important;
  min-width: 44px !important;
  margin: 0 !important;
}
#pageGematria .gem-word-group .word-subtotal{
  flex: 0 0 auto !important;
  align-self: center !important;
  margin-inline-start: .36rem !important;
}


/* v15-20260729 — ensure consecutive words stay on the same row until width is exhausted */
#pageGematria .letters-strip{
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  align-content: flex-start !important;
  justify-content: flex-start !important;
  row-gap: .85rem !important;
  column-gap: 1rem !important;
}
#pageGematria .letters-strip > .gem-word-group{
  display: flex !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  white-space: nowrap !important;
}
#pageGematria .letters-strip > .gem-word-group + .gem-word-group{
  margin-inline-start: 0 !important;
}
#pageGematria .letters-strip > .gem-word-group .letter-chip,#pageGematria .letters-strip > .gem-word-group .word-subtotal{
  flex: 0 0 auto !important;
}


/* v16-20260729 — Arabic gematria only: words continue on the same row */
#pageGematriaAR .letters-strip{
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  align-content: flex-start !important;
  justify-content: flex-start !important;
  grid-template-rows: none !important;
  grid-auto-flow: unset !important;
  grid-auto-columns: unset !important;
  overflow-x: visible !important;
  overflow-y: visible !important;
  width: 100% !important;
  max-width: 100% !important;
  direction: rtl !important;
  row-gap: .85rem !important;
  column-gap: 1rem !important;
}
#pageGematriaAR .letters-strip > .gem-word-group{
  display: inline-flex !important;
  flex: 0 0 auto !important;
  flex-wrap: nowrap !important;
  align-items: flex-end !important;
  width: auto !important;
  max-width: none !important;
  white-space: nowrap !important;
  direction: rtl !important;
  gap: .18rem !important;
  break-inside: avoid !important;
}
#pageGematriaAR .letters-strip > .gem-word-group .letter-chip,#pageGematriaAR .letters-strip > .gem-word-group .word-subtotal{
  flex: 0 0 auto !important;
}


/* v17-20260730 — auth login icon button gold and correctly oriented */
#navAuthBtn.nav-auth-icon-btn{display:inline-flex!important;align-items:center!important;gap:.28rem!important;color:var(--gold)!important;background:transparent!important;border:1px solid rgba(201,168,76,.35)!important;padding:.38rem .82rem!important;border-radius:8px!important}
#navAuthBtn.nav-auth-icon-btn .auth-user-icon{font-size:1rem;line-height:1;transform:none!important;color:var(--gold)!important}
#navAuthBtn.nav-auth-icon-btn .auth-plus{font-size:.88rem;font-weight:900;margin-inline-start:-.18rem;color:var(--gold)!important}
#navAuthBtn.nav-auth-icon-btn .auth-login-text{font-weight:700;color:var(--gold)!important}
#navAuthBtn.nav-auth-icon-btn .auth-enter-icon{font-size:1.05rem;line-height:1;color:var(--gold)!important;transform:none!important}


/* Bible reader expansion v19 */
#pageGenesis{--gns-font-scale:1}
.gns-subtabs{display:flex;justify-content:center;gap:.45rem;flex-wrap:wrap;margin:1rem 0}
.gns-subtab,.gns-view-toggle button{border:1px solid var(--border);background:var(--bg-card);color:var(--text-sec);border-radius:8px;padding:.55rem .9rem;cursor:pointer;font-family:var(--font-main);font-weight:700}
.gns-subtab.on,.gns-view-toggle button.on{color:#10131b;background:var(--gold);border-color:var(--gold)}
.gns-pane{display:none}.gns-pane.on{display:block}
.gns-display-controls{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.gns-display-controls h2{margin:0!important}.gns-view-toggle{display:flex;gap:.35rem;flex-wrap:wrap}.gns-font-controls{display:flex;align-items:center;gap:.4rem}.gns-font-controls button{width:2rem;height:2rem;border-radius:7px;border:1px solid var(--border);background:var(--bg2);color:var(--gold);cursor:pointer}
#pageGenesis[data-gns-view="original"] .gns-ar-row{display:none!important}
#pageGenesis[data-gns-view="arabic"] .gns-verse-row{display:none!important}
#pageGenesis .gns-verse-row{font-size:calc(1em * var(--gns-font-scale))}
#pageGenesis .gns-ar-row{font-size:calc(.92rem * var(--gns-font-scale))}
.gns-busy{display:none;align-items:center;justify-content:center;gap:.5rem;margin:.5rem auto;padding:.55rem .85rem;width:max-content;max-width:90%;border:1px solid rgba(201,168,76,.35);border-radius:8px;background:rgba(201,168,76,.08);color:var(--gold);font-weight:700}
.gns-hourglass{display:inline-block;animation:gnsHourglass 1.1s linear infinite}@keyframes gnsHourglass{to{transform:rotate(180deg)}}
.gns-book-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:.6rem;margin-bottom:1rem}.gns-book-summary>div{padding:.75rem;border:1px solid var(--border);border-radius:9px;text-align:center;background:var(--bg2)}.gns-book-summary span{display:block;color:var(--text-muted);font-size:.72rem;margin-bottom:.2rem}.gns-book-summary b{font-size:1.05rem;color:var(--gold-glow)}
.gns-stats-table-wrap{overflow:auto}.gns-stats-table{width:100%;border-collapse:collapse;min-width:700px}.gns-stats-table th,.gns-stats-table td{padding:.6rem .55rem;text-align:center;border-bottom:1px solid var(--border)}.gns-stats-table th{color:var(--gold);background:var(--bg2);position:sticky;top:0}.gns-stats-table tbody tr{cursor:pointer}.gns-stats-table tbody tr:hover{background:rgba(201,168,76,.08)}
#gnsSearchPaneMount>.gns-panel{margin:0;padding:0;border:none;background:transparent;box-shadow:none}#gnsSearchPaneMount>#gnsDetail{margin-top:1rem;padding:1rem;border:1px solid var(--border);border-radius:10px}
@media(max-width:700px){.gns-display-controls{justify-content:center;text-align:center}.gns-display-controls h2{width:100%}}


/* Bible word dictionary v20 */
.gns-dict-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.8rem}.gns-dict-head h2{margin:0 0 .2rem!important}.gns-dict-head p{margin:0;color:var(--text-muted);font-size:.8rem}.gns-dict-export{border:1px solid var(--gold);background:rgba(201,168,76,.1);color:var(--gold);border-radius:8px;padding:.5rem .8rem;cursor:pointer;font-weight:800}.gns-dict-controls{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,260px);gap:.6rem;margin-bottom:.8rem}.gns-dict-controls input,.gns-dict-controls select{width:100%;border:1px solid var(--border);border-radius:8px;background:var(--bg2);color:var(--text-pri);padding:.65rem .75rem;font-family:var(--font-main)}.gns-dict-table-wrap{overflow:auto}.gns-dict-table{width:100%;min-width:760px;border-collapse:collapse}.gns-dict-table th,.gns-dict-table td{text-align:center;padding:.62rem .55rem;border-bottom:1px solid var(--border)}.gns-dict-table th{position:sticky;top:0;background:var(--bg2);color:var(--gold);z-index:1}.gns-dict-table tbody tr{cursor:pointer}.gns-dict-table tbody tr:hover{background:rgba(201,168,76,.08)}.gns-dict-word{font-size:1rem;font-weight:700;direction:auto}.gns-dict-word small{display:block;color:var(--text-muted);font-size:.65rem;margin-top:.12rem;font-weight:500}@media(max-width:700px){.gns-dict-controls{grid-template-columns:1fr}}


/* Bible panes v22 — static statistics/dictionary rows */
#pageGenesis .gns-stats-table tbody tr,#pageGenesis .gns-dict-table tbody tr{cursor:default!important}
#pageGenesis .gns-stats-table tbody tr:hover,#pageGenesis .gns-dict-table tbody tr:hover{transform:none!important}
#pageGenesis .gns-pane h2 span{color:var(--gold,#c9a84c);font-weight:800}


/* Bible layout v23 — selector above all secondary tabs */
#pageGenesis .gns-selector-panel{margin:.9rem 0 0;padding:1rem 1.1rem;border-color:rgba(201,168,76,.32);background:linear-gradient(180deg,rgba(201,168,76,.045),transparent)}
#pageGenesis .gns-selector-panel h2{margin:0 0 .75rem!important;text-align:center;color:var(--gold)!important;font-size:1rem!important}
#pageGenesis .gns-selector-grid{display:grid;grid-template-columns:minmax(240px,1.8fr) minmax(90px,.55fr) minmax(90px,.55fr) auto auto;gap:.6rem;align-items:end;direction:rtl}
#pageGenesis .gns-selector-grid>div{display:flex;flex-direction:column;gap:.3rem}
#pageGenesis .gns-selector-grid label{font-size:.72rem;color:var(--text-muted);text-align:center;font-weight:700}
#pageGenesis .gns-selector-grid select{width:100%;height:2.55rem;background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:.45rem .65rem;color:var(--text-pri);font-family:var(--font-main);font-size:.9rem}
#pageGenesis .gns-selector-go,#pageGenesis .gns-selector-clear{height:2.55rem;min-width:74px;border-radius:8px;padding:.4rem .75rem;font-family:var(--font-main);font-weight:800;cursor:pointer}
#pageGenesis .gns-selector-go{background:var(--gold);border:1px solid var(--gold);color:#11131a}
#pageGenesis .gns-selector-clear{background:transparent;border:1px solid var(--border);color:var(--text-sec)}
#pageGenesis .gns-subtabs{margin:.7rem 0 1rem}

/* Improved dictionary search control */
#pageGenesis .gns-dict-search-row{display:grid!important;grid-template-columns:minmax(180px,1fr) auto 2.35rem;gap:.4rem;align-items:stretch}
#pageGenesis .gns-dict-search-row input{height:2.65rem!important;border-color:rgba(201,168,76,.28)!important}
#pageGenesis .gns-dict-search-btn{height:2.65rem;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-width:88px;border:1px solid var(--gold);border-radius:8px;background:var(--gold);color:#11131a;font-family:var(--font-main);font-weight:900;cursor:pointer;padding:.4rem .85rem}
#pageGenesis .gns-dict-search-btn span{font-size:1.15rem;line-height:1}
#pageGenesis .gns-dict-search-btn:hover{filter:brightness(1.08);transform:translateY(-1px)}
#pageGenesis .gns-dict-reset-btn{height:2.65rem;width:2.35rem;border:1px solid var(--border);border-radius:8px;background:var(--bg2);color:var(--text-muted);font-size:1.2rem;cursor:pointer}
#pageGenesis .gns-dict-reset-btn:hover{color:var(--gold);border-color:var(--gold)}
@media(max-width:760px){#pageGenesis .gns-selector-grid{grid-template-columns:1fr 1fr}#pageGenesis .gns-selector-book{grid-column:1/-1}#pageGenesis .gns-selector-go,#pageGenesis .gns-selector-clear{width:100%}}

/* ══════════════════════════════════════
   V49 — Ethiopian calendar visible output + responsive fixes
══════════════════════════════════════ */
.dc-ethiopian{
  display:block !important;
  text-align:center;font-family:"Amiri",serif;font-size:1.02rem;color:#f2c96d;
  margin-top:.35rem;padding:.4rem;background:rgba(242,201,109,.07);border-radius:var(--radius);
  border:1px dashed rgba(242,201,109,.38);direction:rtl;unicode-bidi:isolate;
  min-height:2.15rem;
}
.dc-ethiopian:empty{display:none !important}
.dc-eth-date{display:inline-flex;align-items:center;justify-content:center;gap:.28rem;flex-wrap:wrap}
.dc-eth-title{text-align:center;font-family:"Amiri",serif;font-size:1rem;color:#f2c96d;padding:.5rem 0;letter-spacing:.04em}
html[data-theme="light"] .dc-ethiopian{color:#765300;background:rgba(165,116,0,.06);border-color:rgba(165,116,0,.32)}
#dcEthiopianSection .dc-results,#dcBahaiSection .dc-results{display:grid}

.dc-persian{font-size:.8rem;color:#79bfff;background:rgba(40,120,190,.07);border:1px solid rgba(80,155,220,.28);border-radius:7px;padding:.34rem .55rem;margin-top:.32rem;text-align:center;direction:rtl;min-height:1.9rem}.dc-persian:empty{display:none!important}.dc-ethiopian:not(:empty),.dc-persian:not(:empty){display:block!important}html[data-theme="light"] .dc-persian{color:#185f98;background:rgba(40,120,190,.06);border-color:rgba(40,120,190,.3)}#dcPersianSection .dc-results{display:grid}.dc-per-title{text-align:center;font-family:"Amiri",serif;font-size:1rem;color:#79bfff;padding:.5rem 0}@media(max-width:760px){.dc-ethiopian,.dc-persian{font-size:.76rem;width:100%;box-sizing:border-box}}

/* V50 — deterministic Ethiopian/Persian calendar views + month names dialog */
.dc-months-trigger{border:1px solid var(--gold);color:var(--gold);background:var(--bg2);padding:.45rem 1.1rem;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:600}
.dc-months-modal{position:fixed;inset:0;z-index:99999;background:rgba(0,0,0,.72);display:none;align-items:center;justify-content:center;padding:1rem}
.dc-months-modal.open{display:flex}.dc-months-dialog{position:relative;width:min(1050px,96vw);max-height:90vh;overflow:auto;background:var(--bg2);border:1px solid rgba(201,168,76,.55);border-radius:16px;padding:1.3rem;box-shadow:0 24px 70px rgba(0,0,0,.45);direction:rtl}
.dc-months-dialog h2{text-align:center;color:var(--gold);margin:.2rem 0 1.2rem;font-family:"Amiri",serif}.dc-months-close{position:absolute;left:.75rem;top:.65rem;border:0;background:transparent;color:var(--text);font-size:1.15rem;cursor:pointer}
.dc-months-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.dc-month-group{border:1px solid rgba(201,168,76,.22);border-radius:12px;padding:.8rem;background:rgba(255,255,255,.025)}.dc-month-group:last-child:nth-child(odd){grid-column:1/-1}.dc-month-group h3{text-align:center;color:var(--gold);margin:0 0 .65rem}.dc-month-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.42rem}.dc-month-list span{display:flex;align-items:center;gap:.4rem;border:1px solid rgba(201,168,76,.14);border-radius:7px;padding:.38rem .45rem;font-size:.82rem}.dc-month-list b{display:inline-grid;place-items:center;min-width:1.5rem;height:1.5rem;border-radius:50%;background:rgba(201,168,76,.13);color:var(--gold);font-size:.72rem}
#dcEthiopianSection .dc-row-date,#dcPersianSection .dc-row-date,#dcBahaiSection .dc-row-date{font-weight:700;color:var(--gold)}
@media(max-width:700px){.dc-months-grid{grid-template-columns:1fr}.dc-month-group:last-child:nth-child(odd){grid-column:auto}.dc-month-list{grid-template-columns:repeat(2,minmax(0,1fr))}.dc-months-dialog{padding:1rem .7rem}.dc-months-trigger{width:100%}}


/* Date calculator calendars v26 */
.dc-calcmode{display:flex;flex-wrap:wrap;gap:.55rem;justify-content:center;align-items:center}
.dc-calcmode label{cursor:pointer;border:1px solid rgba(201,168,76,.28);border-radius:8px;padding:.45rem .7rem;background:var(--bg2);user-select:none}
.dc-calcmode label:has(input:checked){border-color:var(--gold);color:var(--gold);box-shadow:0 0 0 1px rgba(201,168,76,.18) inset}
.dc-months-trigger{border:1px solid var(--gold)!important;color:var(--gold)!important;background:var(--bg2)!important;padding:.45rem 1.1rem!important;border-radius:8px!important;cursor:pointer!important;font-size:.9rem!important;font-weight:600!important}
.dc-months-modal{position:fixed;inset:0;z-index:100000;display:none;align-items:center;justify-content:center;padding:1rem;background:rgba(0,0,0,.72);backdrop-filter:blur(5px)}
.dc-months-modal.open{display:flex!important}
.dc-months-dialog{width:min(1080px,96vw);max-height:88vh;overflow:auto;background:var(--bg2);border:1px solid rgba(201,168,76,.5);border-radius:16px;box-shadow:0 22px 70px rgba(0,0,0,.5);padding:1rem}
.dc-months-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;position:sticky;top:-1rem;background:var(--bg2);z-index:2;padding:.5rem .25rem 1rem;border-bottom:1px solid rgba(201,168,76,.2)}
.dc-months-head h2{margin:0;color:var(--gold);font-family:"Amiri",serif;font-size:1.35rem}
.dc-months-close{border:1px solid rgba(201,168,76,.45);background:transparent;color:var(--gold);border-radius:8px;width:38px;height:38px;cursor:pointer}
.dc-months-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:1rem;padding-top:1rem;direction:rtl}
.dc-month-group{border:1px solid rgba(201,168,76,.22);border-radius:12px;padding:.8rem;background:rgba(255,255,255,.02)}
.dc-month-group h3{margin:0 0 .65rem;text-align:center;color:var(--gold);font-size:1rem}
.dc-month-list{display:grid;gap:.35rem}
.dc-month-list span{display:grid;grid-template-columns:2rem 1fr;align-items:center;gap:.45rem;border-bottom:1px dashed rgba(201,168,76,.16);padding:.28rem .15rem}
.dc-month-list b{color:var(--gold);text-align:center}
body.dc-modal-open{overflow:hidden}
#dcEthiopianSection .dc-sec-title,#dcPersianSection .dc-sec-title,#dcBahaiSection .dc-sec-title{font-size:1.05rem;font-weight:700;text-align:center;padding:.7rem;border-bottom:1px solid rgba(201,168,76,.2)}
#dcEthiopianTbody .dc-row-date,#dcPersianTbody .dc-row-date,#dcBahaiTbody .dc-row-date{color:var(--gold);font-weight:700}
@media(max-width:700px){.dc-months-dialog{width:96vw;padding:.75rem}.dc-months-grid{grid-template-columns:1fr}.dc-calcmode label{width:calc(50% - .35rem);box-sizing:border-box;text-align:center}.dc-months-head h2{font-size:1.1rem}}

/* V48 calendar months comparison table + Persian analysis refinement */
.dc-months-grid{display:block!important;padding-top:.85rem!important}
.dc-months-table-wrap{overflow:auto;border:1px solid rgba(201,168,76,.28);border-radius:14px;background:rgba(7,9,26,.35);box-shadow:0 12px 34px rgba(0,0,0,.18)}
.dc-months-table{width:100%;border-collapse:separate;border-spacing:0;min-width:760px;direction:rtl;text-align:center}
.dc-months-table th,.dc-months-table td{padding:.68rem .55rem;border-inline-start:1px solid rgba(255,255,255,.07);border-bottom:1px solid rgba(255,255,255,.07);font-size:.86rem;white-space:nowrap}
.dc-months-table thead th{position:sticky;top:0;z-index:2;font-weight:800;font-size:.9rem;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.35)}
.dc-months-table thead th span{display:block;font-size:1.12rem;margin-bottom:.18rem}
.dc-months-table tbody tr:nth-child(even) td,.dc-months-table tbody tr:nth-child(even) th{background:rgba(255,255,255,.025)}
.dc-months-table tbody tr:hover td,.dc-months-table tbody tr:hover th{filter:brightness(1.16)}
.dc-month-no{width:44px;background:linear-gradient(180deg,rgba(201,168,76,.28),rgba(201,168,76,.12))!important;color:var(--gold)!important;font-weight:800}
.dc-month-greg{background:rgba(70,130,210,.13)}
.dc-month-hijri{background:rgba(42,164,116,.13)}
.dc-month-hebrew{background:rgba(128,92,190,.14)}
.dc-month-ethiopian{background:rgba(215,150,42,.14)}
.dc-month-persian{background:rgba(200,66,84,.14)}
thead .dc-month-greg{background:linear-gradient(135deg,#3569a8,#24466f)!important}
thead .dc-month-hijri{background:linear-gradient(135deg,#248a63,#195d45)!important}
thead .dc-month-hebrew{background:linear-gradient(135deg,#7654ac,#4f3975)!important}
thead .dc-month-ethiopian{background:linear-gradient(135deg,#b77a1f,#805412)!important}
thead .dc-month-persian{background:linear-gradient(135deg,#b53b50,#792738)!important}
.dc-month-empty{opacity:.35}.dc-months-note{text-align:center;color:var(--muted);font-size:.76rem;margin-top:.65rem}
#dcPersianSection .dc-results{direction:rtl}
#dcPersianSection .dcr-e{text-align:right;line-height:1.45}
html[data-theme="light"] .dc-months-table-wrap{background:#fff}
html[data-theme="light"] .dc-months-table th,html[data-theme="light"] .dc-months-table td{border-color:rgba(0,0,0,.08)}
@media(max-width:700px){.dc-months-table{min-width:690px}.dc-months-table th,.dc-months-table td{padding:.58rem .42rem;font-size:.79rem}}

/* Date calculator refinements v63 */
.dc-date-display,.dc-hijri,.dc-hebrew,.dc-ethiopian,.dc-persian{direction:rtl!important;unicode-bidi:isolate;text-align:center}
.dc-calendar-date{display:inline-flex;align-items:center;justify-content:center;gap:.28rem;direction:rtl;unicode-bidi:isolate;white-space:nowrap}
.dc-hebrew{direction:rtl!important}
.dc-zodiac .dz-season-info{grid-column:1/-1;text-align:center;margin-top:.55rem;padding-top:.45rem;border-top:1px dashed rgba(201,168,76,.18);color:var(--text-muted);font-family:"Amiri",serif;font-size:.95rem}
.dc-zodiac .dz-season-info strong{color:var(--cyan);font-size:1rem}
.dc-season{display:none!important}
#dcEthiopianSection,#dcPersianSection,#dcBahaiSection{border-top:0!important}
#dcEthiopianSection .dc-sec-title,#dcPersianSection .dc-sec-title,#dcBahaiSection .dc-sec-title{border-bottom:0!important;padding:.35rem 0 .55rem!important}
#dcEthiopianSection .dc-results,#dcPersianSection .dc-results,#dcBahaiSection .dc-results{margin-top:0!important}
#dcEthiopianSection .dcr,#dcPersianSection .dcr,#dcBahaiSection .dcr{direction:ltr;text-align:left;font-family:"Ubuntu Mono",monospace}
#dcEthiopianSection .dcr-v,#dcPersianSection .dcr-v,#dcBahaiSection .dcr-v{text-align:center}
.dc-months-table thead th{vertical-align:middle;text-align:center!important}
.dc-months-table thead th strong{display:block;text-align:center;width:100%;line-height:1.35}
.dc-months-actions{display:flex;align-items:center;justify-content:center;gap:.7rem;flex-wrap:wrap;margin:0 0 .75rem;text-align:center}
.dc-months-actions span{color:var(--text-muted);font-size:.8rem}
.dc-leap-toggle{border:1px solid var(--gold);background:rgba(201,168,76,.09);color:var(--gold);padding:.45rem 1rem;border-radius:999px;cursor:pointer;font-weight:700}
.dc-leap-toggle.active{background:var(--gold);color:#111}
@media(max-width:700px){.dc-calendar-date{white-space:normal;flex-wrap:wrap}.dc-months-actions{gap:.4rem}.dc-months-actions span{width:100%}}

/* v64: Persian rows match all other calendar analyses */
#dcPersianSection .dcr{background:transparent!important;}

/* v66: Persian result values on the user's right; preserve V8 clean rows */
#dcPersianSection .dc-pair{
  direction:ltr!important;
}
#dcPersianSection .dc-col-e{
  order:1;
  direction:ltr!important;
  align-items:flex-start!important;
  text-align:left!important;
}
#dcPersianSection .dc-col-v{
  order:2;
  direction:ltr!important;
  align-items:flex-end!important;
  text-align:right!important;
}
#dcPersianSection .dcr-v{
  width:100%;
  text-align:right!important;
  background:transparent!important;
}
#dcPersianSection .dcr-e{
  background:transparent!important;
}


/* Quran verse all Arabic gematria filters */
.aya-gem-card-wrap .ct{margin-bottom:.8rem}
.aya-gem-toolbar{display:flex;align-items:center;justify-content:center;gap:.7rem;flex-wrap:wrap;margin:0 0 .9rem}
.aya-gem-filters{display:flex;align-items:center;justify-content:center;gap:.42rem;flex-wrap:wrap}
.aya-gem-filter-btn{border:1px solid var(--bdr2);background:var(--bg3);color:var(--txt2);border-radius:999px;padding:.42rem .7rem;font:inherit;font-size:.72rem;cursor:pointer;transition:.15s}
.aya-gem-filter-btn span{color:var(--gold2);font-family:"Ubuntu Mono",monospace;margin-inline-start:.25rem}
.aya-gem-filter-btn:hover,.aya-gem-filter-btn.active{border-color:var(--gold);color:var(--gold2);background:rgba(201,168,76,.09)}
.aya-gem-count{font-size:.7rem;color:var(--txt3);white-space:nowrap}.aya-gem-count b{color:var(--gold2)}
.aya-gem-all-grid{grid-template-columns:repeat(auto-fill,minmax(145px,1fr))!important;align-items:stretch}
.aya-gem-card{cursor:default!important;min-height:96px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.aya-gem-card::before{background:var(--aya-gem-color)!important}
.aya-gem-card .gl{font-size:.67rem;line-height:1.45;min-height:2.8em;display:flex;align-items:center;justify-content:center}
.aya-gem-card .gv{color:var(--aya-gem-color)!important}.aya-gem-card .gv span{cursor:pointer}
.aya-gem-card[hidden]{display:none!important}
.aya-gem-unavailable{text-align:center;color:var(--txt3);padding:1rem}
@media(max-width:700px){.aya-gem-all-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.aya-gem-filter-btn{font-size:.68rem;padding:.38rem .55rem}}

.st-hizb-filter input[type="number"]{background:var(--bg3);border:1px solid var(--bdr);border-radius:8px;color:var(--txt);padding:.42rem .65rem;font-family:inherit;outline:none}.st-hizb-filter input[type="number"]:focus{border-color:var(--gold2)}
