/* ── Sadu night theme (2026-07 redesign) ─────────────────────────
   Coffee-black canvas, burnished gold, cream ink. Arabic-first. */
:root {
  --bg: #14100C;
  --panel: #1C1712;
  --panel-2: #241E17;
  --text: #F2E8D5;
  --muted: #A99A82;
  --accent: #C9A227;
  --ok: #4CAF6E;
  --err: #C4524A;
  --warn: #E8C55A;
  --border: #33291E;
  --gold: #C9A227;
  --gold-hi: #E8C55A;
  --sand: #8C7F6B;
  --ar-display: 'Amiri', serif;
  --ar-body: 'IBM Plex Sans Arabic', sans-serif;
  --mono-nums: 'IBM Plex Mono', ui-monospace, monospace;
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  font-family: 'IBM Plex Sans Arabic', 'Hanken Grotesk', "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  background: var(--bg);
  background-image: radial-gradient(ellipse 900px 500px at 85% -5%, rgba(201,162,39,0.06), transparent 65%);
  background-attachment: fixed;
  color: var(--text);
  line-height: 1.6;
}

.topbar {
  display: flex;
  align-items: center;
  gap: 24px;
  padding: 14px 24px;
  background: var(--panel);
  border-bottom: 1px solid var(--border);
  position: sticky; top: 0; z-index: 10;
}
.brand {
  font-weight: 700;
  font-size: 18px;
  color: var(--text);
  text-decoration: none;
  letter-spacing: 0.3px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.brand-logo {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  object-fit: cover;
}
.x-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255,255,255,0.06);
  border: 1px solid var(--border);
  padding: 5px 10px;
  border-radius: 999px;
  color: var(--text) !important;
  transition: background 0.15s, border-color 0.15s;
}
.x-link:hover {
  background: rgba(255,255,255,0.12);
  border-color: var(--accent);
}
.x-link svg { color: var(--text); }
.x-link span { font-size: 13px; }
@media (max-width: 720px) {
  .x-link span { display: none; }
  .x-link { padding: 6px 8px; }
}

/* ── Contact page ─────────────────────────────── */
.contact-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
  margin: 24px 0;
}
.contact-card {
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 24px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  transition: border-color 0.15s, transform 0.15s;
}
.contact-card:hover { border-color: var(--accent); transform: translateY(-2px); }
.contact-card-tg { border-top: 4px solid #2AABEE; }
.contact-card-x  { border-top: 4px solid #ffffff20; }
.contact-icon {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: linear-gradient(135deg, #2AABEE 0%, #229ED9 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  margin-bottom: 4px;
}
.contact-icon-admin { background: linear-gradient(135deg, #6c5ce7 0%, #4834d4 100%); }
.contact-icon-x { background: linear-gradient(135deg, #1a1a1a 0%, #000 100%); }
.contact-card h2 {
  margin: 0;
  font-size: 18px;
  color: var(--text);
}
.contact-card > p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
  min-height: 38px;
}
.contact-qr-wrap {
  background: #fff;
  padding: 8px;
  border-radius: 10px;
  display: inline-block;
  margin: 4px 0;
}
.contact-qr {
  display: block;
  width: 200px;
  height: 200px;
  border-radius: 6px;
}
.qr-caption {
  font-size: 11px;
  color: #666;
  margin-top: 4px;
  letter-spacing: 0.3px;
}
.contact-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 12px 18px;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: opacity 0.15s, transform 0.15s;
  margin-top: auto;
}
.contact-btn:hover { opacity: 0.92; transform: translateY(-1px); }
.contact-btn-tg { background: #2AABEE; color: #fff; }
.contact-btn-x  { background: #fff; color: #000; }

.contact-link, .report-link {
  background: rgba(255,255,255,0.06);
  padding: 5px 12px;
  border-radius: 999px;
  border: 1px solid var(--border);
  color: var(--text) !important;
  font-size: 13px;
}
.contact-link:hover, .report-link:hover {
  background: rgba(255,255,255,0.12);
  border-color: var(--accent);
}
.report-link {
  background: rgba(212, 168, 41, 0.12);
  border-color: rgba(212, 168, 41, 0.4);
  color: #ffd98a !important;
}

/* ── Market Report page ─────────────────────────────── */
.report-hero {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  gap: 24px;
  background: var(--panel);
  border: 1px solid var(--border);
  border-left: 4px solid var(--accent);
  border-radius: 14px;
  padding: 24px 28px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}
.rh-left { display: flex; flex-direction: column; justify-content: center; min-width: 240px; }
.rh-label { font-size: 13px; color: var(--muted); letter-spacing: 0.5px; margin-bottom: 4px; }
.rh-price { font-size: 44px; font-weight: 700; color: var(--text); font-variant-numeric: tabular-nums; line-height: 1; }
.rh-chg { font-size: 18px; font-weight: 600; margin-top: 8px; }
.rh-chg.up { color: var(--ok); }
.rh-chg.down { color: #ef4444; }
.rh-right { display: grid; grid-template-columns: repeat(2, auto); gap: 16px 32px; align-content: center; }
.rh-stat .lbl { font-size: 11px; color: var(--muted); letter-spacing: 1px; }
.rh-stat .val { font-size: 18px; font-weight: 600; font-variant-numeric: tabular-nums; }

.report-section { margin: 28px 0; }
.report-section h2 {
  font-size: 18px;
  margin: 0 0 14px;
  color: var(--text);
  display: flex;
  align-items: baseline;
  gap: 10px;
}
.report-section h2 small { color: var(--muted); font-size: 13px; font-weight: 400; }
.report-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
@media (max-width: 720px) { .report-cols { grid-template-columns: 1fr; } }

.metric-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 12px;
}
.metric {
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 14px 16px;
}
.metric-tag { border-left: 3px solid var(--accent); }
.metric .m-val { font-size: 26px; font-weight: 700; font-variant-numeric: tabular-nums; line-height: 1.1; }
.metric .m-val.up { color: var(--ok); }
.metric .m-val.down { color: #ef4444; }
.metric .m-lbl { font-size: 12px; color: var(--muted); margin-top: 4px; letter-spacing: 0.4px; }
.metric .m-sub { font-size: 11px; color: var(--muted); margin-top: 2px; opacity: 0.8; }

.report-table {
  width: 100%;
  border-collapse: collapse;
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: 10px;
  overflow: hidden;
  font-size: 13px;
}
.report-table th, .report-table td {
  padding: 10px 14px;
  text-align: left;
  border-bottom: 1px solid #1c232b;
}
.report-table th { background: var(--panel-2); color: var(--muted); font-weight: 600; font-size: 12px; letter-spacing: 0.4px; }
.report-table td.r, .report-table th.r { text-align: right; font-variant-numeric: tabular-nums; }
.report-table tr:last-child td { border-bottom: none; }
.report-table tbody tr:hover { background: #1a2128; }
.report-table .up { color: var(--ok); }
.report-table .down { color: #ef4444; }
.row-today { background: rgba(212, 168, 41, 0.08); }

/* ── X Content Agent page ─────────────────────────────── */
.agent-meta {
  display: flex;
  gap: 22px;
  flex-wrap: wrap;
  align-items: center;
  background: var(--panel-2);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 12px 18px;
  margin-bottom: 22px;
  font-size: 13px;
  color: var(--muted);
}
.agent-meta b { color: var(--text); }

.agent-card {
  background: var(--panel);
  border: 1px solid var(--border);
  border-left: 4px solid var(--accent);
  border-radius: 12px;
  padding: 22px;
  margin-bottom: 20px;
}
.agent-card-head { margin-bottom: 16px; position: relative; }
.agent-card-head h2 { margin: 0 0 4px; font-size: 18px; }
.agent-card-head p { margin: 0; color: var(--muted); font-size: 13px; }
.thread-badge {
  position: absolute;
  top: 0; right: 0;
  background: rgba(212, 168, 41, 0.15);
  border: 1px solid rgba(212, 168, 41, 0.4);
  color: #ffd98a;
  font-size: 11px;
  padding: 4px 10px;
  border-radius: 999px;
}

.tweet-block {
  background: var(--panel-2);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 14px;
  margin-bottom: 14px;
}
.tweet-block:last-child { margin-bottom: 0; }
.tweet-num {
  font-size: 11px;
  color: var(--muted);
  letter-spacing: 1px;
  margin-bottom: 10px;
  font-weight: 600;
}

.lang-tabs { display: flex; gap: 6px; margin-bottom: 10px; }
.lang-btn {
  background: transparent;
  border: 1px solid var(--border);
  color: var(--muted);
  padding: 5px 12px;
  border-radius: 6px;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.15s;
}
.lang-btn.active { background: var(--accent); border-color: var(--accent); color: #fff; }
.lang-btn:not(.active):hover { color: var(--text); border-color: var(--accent); }

.tweet-text {
  width: 100%;
  background: #0e1216;
  border: 1px solid var(--border);
  color: var(--text);
  padding: 12px 14px;
  border-radius: 8px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Tahoma", sans-serif;
  font-size: 14px;
  line-height: 1.5;
  resize: vertical;
  white-space: pre-wrap;
}
.tweet-text:focus { outline: none; border-color: var(--accent); }

.tweet-actions {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-top: 10px;
  flex-wrap: wrap;
}
.char-count {
  font-size: 12px;
  font-variant-numeric: tabular-nums;
  margin-right: auto;
  font-weight: 600;
}
.char-count.ok { color: var(--ok); }
.char-count.warn { color: var(--warn); }
.char-count.over { color: var(--err); }
.copy-btn { padding: 7px 14px; font-size: 13px; cursor: pointer; }
.tweet-btn {
  background: #1d9bf0;
  color: #fff;
  padding: 7px 16px;
  font-size: 13px;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 600;
}
.tweet-btn:hover { background: #1a8cd8; }

/* ── Admin nav pills (visible only when ?p= matches ADMIN_PASSWORD) ── */
.admin-pill {
  background: rgba(212, 168, 41, 0.10);
  border: 1px solid rgba(212, 168, 41, 0.35);
  color: #ffd98a !important;
  padding: 5px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 500;
}
.admin-pill:hover {
  background: rgba(212, 168, 41, 0.22);
  border-color: rgba(212, 168, 41, 0.7);
}
.admin-pill-agent {
  background: rgba(78, 161, 255, 0.12);
  border-color: rgba(78, 161, 255, 0.4);
  color: #9ec9ff !important;
}
.admin-pill-agent:hover { background: rgba(78, 161, 255, 0.22); }

/* ── Admin tools grid on /admin page ── */
.admin-tools {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 10px;
  margin-bottom: 22px;
}
.admin-tool {
  background: var(--panel);
  border: 1px solid var(--border);
  color: var(--text);
  text-decoration: none;
  padding: 14px 16px;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-weight: 600;
  font-size: 14px;
  transition: border-color 0.15s, transform 0.15s, background 0.15s;
}
.admin-tool small {
  font-size: 11px;
  font-weight: 400;
  color: var(--muted);
  letter-spacing: 0.3px;
}
.admin-tool:hover {
  border-color: var(--accent);
  transform: translateY(-1px);
  background: rgba(78, 161, 255, 0.06);
}
.admin-tool.active {
  border-color: var(--accent);
  background: rgba(78, 161, 255, 0.10);
}

.footer-socials {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.site-footer {
  background: var(--panel);
  border-top: 1px solid var(--border);
  padding: 22px 24px;
  margin-top: 40px;
}
.footer-inner {
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}
.footer-left {
  display: flex;
  align-items: center;
  gap: 14px;
}
.footer-logo {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  object-fit: cover;
}
.footer-brand {
  font-weight: 700;
  font-size: 15px;
  color: var(--text);
  letter-spacing: 0.4px;
}
.footer-tag {
  font-size: 11px;
  color: var(--accent);
  letter-spacing: 1.5px;
  margin-top: 2px;
}
.footer-right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
}
.footer-social {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--text);
  text-decoration: none;
  background: rgba(255,255,255,0.04);
  border: 1px solid var(--border);
  padding: 8px 14px;
  border-radius: 999px;
  font-size: 13px;
  transition: background 0.15s, border-color 0.15s;
}
.footer-social:hover {
  background: rgba(255,255,255,0.1);
  border-color: var(--accent);
}
.footer-social b { color: var(--accent); font-weight: 600; }
.footer-links {
  display: flex; gap: 18px; flex-wrap: wrap; justify-content: flex-end;
  margin-bottom: 8px;
}
.footer-links a {
  color: var(--muted); text-decoration: none; font-size: 12px;
}
.footer-links a:hover { color: var(--accent); }
.footer-copy {
  font-size: 11px;
  color: var(--muted);
}

/* Homepage "Latest research" card ─────────────────────────── */
.research-card {
  display: flex; justify-content: space-between; align-items: center; gap: 16px;
  background: var(--panel); border: 1px solid var(--border); border-radius: 14px;
  padding: 18px 20px; text-decoration: none; color: inherit;
  transition: border-color .15s, transform .15s;
}
.research-card:hover { border-color: var(--accent); transform: translateY(-1px); }
.research-card .rc-title { font-weight: 700; font-size: 16px; }
.research-card .rc-title-ar { color: var(--muted); font-size: 13px; margin-top: 3px; }
.research-card .rc-tag { color: var(--muted); font-size: 12px; margin-top: 6px; }
.research-card .rc-meta { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; white-space: nowrap; }
.research-card .rc-date { font-family: 'JetBrains Mono', monospace; font-size: 11px; color: var(--muted); }
.research-card .rc-open { color: var(--accent); font-weight: 600; font-size: 13px; }
@media (max-width: 720px) {
  .footer-inner { flex-direction: column; align-items: flex-start; }
  .footer-right { align-items: flex-start; }
}
.topbar nav { display: flex; gap: 18px; margin-left: auto; align-items: center; }
.topbar nav a {
  color: var(--muted);
  text-decoration: none;
  font-size: 14px;
}
.topbar nav a:hover { color: var(--text); }

/* Bilingual two-line nav items (en on top, ar below) */
/* Arabic-first nav: AR label is primary, EN drops to a caption */
.nav-bi { display: inline-flex; flex-direction: column; align-items: center; line-height: 1.2; }
.nav-bi .ar { order: -1; font-size: 14px; color: var(--text); opacity: 1; font-family: var(--ar-body); font-weight: 500; }
.nav-bi .en { font-size: 11px; color: var(--sand); letter-spacing: 0.4px; margin-top: 1px; }
.nav-bi:hover .ar { color: var(--gold-hi); }
@media (max-width: 768px) {
  .nav-bi .en { display: none; }  /* Mobile: hide EN caption to save horizontal space */
}

/* ── Disclaimer agreement modal ─────────────────────────────── */
.modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.85);
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  backdrop-filter: blur(4px);
}
.modal-overlay[hidden] { display: none; }
.modal-content {
  background: #14181d;
  border: 1px solid #3a2f18;
  border-top: 4px solid #d4a829;
  border-radius: 12px;
  max-width: 1100px;
  width: 100%;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  box-shadow: 0 20px 60px rgba(0,0,0,0.6);
}
.modal-title {
  margin: 0;
  padding: 18px 24px;
  font-size: 18px;
  color: #ffd98a;
  border-bottom: 1px solid #3a2f18;
  letter-spacing: 0.3px;
}
.modal-body {
  overflow-y: auto;
  padding: 18px 24px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  color: #c0b48a;
  font-size: 12.5px;
  line-height: 1.65;
  flex: 1;
}
.modal-en, .modal-ar { padding: 0 8px; }
.modal-en { border-right: 1px solid #2f2614; padding-right: 16px; }
.modal-ar {
  font-family: "Segoe UI", "Tahoma", "Arial", sans-serif;
  font-size: 13.5px;
  text-align: right;
  padding-left: 16px;
}
.modal-body h3 {
  margin: 0 0 10px;
  font-size: 14px;
  color: #ffd98a;
  letter-spacing: 0.3px;
}
.modal-body p { margin: 0 0 10px; }
.modal-footer {
  border-top: 1px solid #3a2f18;
  padding: 16px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  background: #181410;
  border-radius: 0 0 12px 12px;
}
.modal-check {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  cursor: pointer;
  color: #d8d0b8;
  font-size: 13px;
  flex: 1;
  min-width: 280px;
  line-height: 1.45;
}
.modal-check input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin-top: 2px;
  cursor: pointer;
  accent-color: #d4a829;
}
#disclaimerAgree {
  background: #d4a829;
  color: #1a1610;
  font-weight: 700;
  font-size: 14px;
  padding: 10px 24px;
  border-radius: 8px;
  border: none;
  cursor: pointer;
  letter-spacing: 0.5px;
  transition: opacity 0.15s, background 0.15s;
}
#disclaimerAgree:hover:not(:disabled) { background: #ffd98a; }
#disclaimerAgree:disabled { opacity: 0.4; cursor: not-allowed; }
@media (max-width: 720px) {
  .modal-body { grid-template-columns: 1fr; }
  .modal-en {
    border-right: none;
    border-bottom: 1px solid #2f2614;
    padding: 0 0 14px;
  }
  .modal-ar { padding: 0; }
  .modal-footer { flex-direction: column; align-items: stretch; }
  #disclaimerAgree { width: 100%; }
}

.beta-banner {
  background: linear-gradient(90deg, #3a2a14 0%, #4a3014 50%, #3a2a14 100%);
  border-bottom: 1px solid #6b4a1f;
  color: #ffd98a;
  padding: 8px 20px;
  text-align: center;
  font-weight: 600;
  letter-spacing: 0.3px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
  position: sticky;
  top: 50px;
  z-index: 9;
}
.beta-banner .ar {
  font-size: 13px;
  font-family: "Segoe UI", "Tahoma", "Arial", sans-serif;
  direction: rtl;
}
.beta-banner .en {
  font-size: 12px;
}
.beta-banner b {
  color: #ffe9a8;
  background: rgba(0,0,0,0.25);
  padding: 1px 8px;
  border-radius: 5px;
  font-size: 11px;
  letter-spacing: 1.2px;
}
.beta-banner .sep {
  color: #b08648;
  font-size: 13px;
}
@media (max-width: 640px) {
  .beta-banner { gap: 5px; padding: 6px 10px; }
  .beta-banner .ar { font-size: 12px; }
  .beta-banner .en { font-size: 11px; }
  .beta-banner .sep { display: none; }
}

main { max-width: 1400px; margin: 0 auto; padding: 32px 24px; }

.hero { margin-bottom: 32px; }
.hero-branded {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}
.hero-logo {
  width: 90px;
  height: 90px;
}
@media (max-width: 640px) {
  .hero-logo { width: 64px; height: 64px; }
}
.hero h1 { margin: 0 0 8px; font-size: 32px; }
.hero p { margin: 0; color: var(--muted); }

.cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 18px;
}
.card {
  display: block;
  padding: 22px;
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: 12px;
  text-decoration: none;
  color: var(--text);
  transition: border-color 0.15s, transform 0.15s;
}
.card:hover { border-color: var(--accent); transform: translateY(-2px); }
.card-tag {
  display: inline-block;
  font-size: 11px;
  letter-spacing: 1px;
  color: var(--accent);
  margin-bottom: 10px;
}
.card h2 { margin: 0 0 6px; font-size: 20px; }
.card p { margin: 0 0 16px; color: var(--muted); font-size: 14px; }
.card .open { color: var(--accent); font-size: 14px; }

.product-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 6px;
  flex-wrap: wrap;
}
.product-head-left {
  display: flex;
  align-items: center;
  gap: 10px;
}
.guide-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(78, 161, 255, 0.12);
  border: 1px solid rgba(78, 161, 255, 0.4);
  color: var(--text);
  padding: 9px 16px;
  font-size: 13px;
  font-weight: 600;
  border-radius: 8px;
  text-decoration: none;
}
.guide-btn:hover { background: rgba(78, 161, 255, 0.22); border-color: var(--accent); }

.credits {
  margin-top: 18px;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 18px;
  background: var(--panel);
  border: 1px solid var(--border);
  border-left: 4px solid var(--accent);
  border-radius: 10px;
  flex-wrap: wrap;
}
.credits-logo {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
}
.credits-text { flex: 1; min-width: 240px; }
.credits-line {
  color: var(--text);
  font-size: 13.5px;
  margin-bottom: 4px;
}
.credits-line b { color: var(--accent); }
.credits-links {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
  align-items: center;
  font-size: 12.5px;
}
.credits-links a {
  color: var(--muted);
  text-decoration: none;
  padding: 2px 0;
}
.credits-links a:hover { color: var(--accent); }
.credits-sep { color: var(--border); }
.product-logo {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
}
.product-logo-wide {
  width: auto;
  height: 26px;
}
.card-logo {
  width: 36px;
  height: 36px;
  margin-bottom: 12px;
  display: block;
}
.card-logo-wide {
  width: auto;
  height: 28px;
}
.product-head h1 { margin: 0; font-size: 16px; line-height: 1.2; }
.product-head p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.2; }
.product-head .product-title-ar { margin: 0; font-size: 12px; }
.product-head .product-tagline-ar { margin-top: 1px; font-size: 10px; }
.product-head .guide-btn { padding: 5px 10px; font-size: 11px; }
.actions { display: flex; gap: 8px; }
.btn {
  display: inline-block;
  padding: 8px 14px;
  background: var(--accent);
  color: #fff;
  border-radius: 8px;
  text-decoration: none;
  font-size: 14px;
}
.btn.ghost { background: transparent; border: 1px solid var(--border); color: var(--text); }
.btn:hover { opacity: 0.9; }

.admin-form {
  display: flex;
  flex-direction: column;
  gap: 14px;
  max-width: 480px;
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 22px;
}
.admin-form label { display: flex; flex-direction: column; gap: 6px; font-size: 14px; color: var(--muted); }
.admin-form input[type="password"],
.admin-form input[type="file"],
.admin-form select {
  background: var(--panel-2);
  border: 1px solid var(--border);
  color: var(--text);
  padding: 9px 11px;
  border-radius: 8px;
  font-size: 14px;
  font-family: inherit;
}
.admin-form select { cursor: pointer; }
.admin-form input[type="password"]:focus { outline: none; border-color: var(--accent); }
.admin-form button { align-self: flex-start; cursor: pointer; border: none; }

.drop-zone {
  position: relative;
  border: 2px dashed var(--border);
  border-radius: 10px;
  padding: 28px 16px;
  text-align: center;
  background: var(--panel-2);
  cursor: pointer;
  transition: border-color 0.15s, background 0.15s;
  outline: none;
}
.drop-zone:hover,
.drop-zone:focus { border-color: var(--accent); }
.drop-zone.drag {
  border-color: var(--accent);
  background: rgba(78, 161, 255, 0.08);
}
.drop-zone .dz-icon {
  font-size: 28px;
  color: var(--accent);
  margin-bottom: 6px;
}
.drop-zone .dz-main {
  color: var(--text);
  font-weight: 600;
  font-size: 15px;
}
.drop-zone .dz-sub {
  color: var(--muted);
  font-size: 13px;
  margin-top: 4px;
}
.drop-zone .dz-file {
  display: none;
  color: var(--ok);
  margin-top: 10px;
  font-size: 13px;
  font-family: ui-monospace, "Cascadia Code", "Consolas", monospace;
}
.drop-zone .dz-file.have { display: block; }

.stats-summary {
  display: flex;
  gap: 24px;
  align-items: center;
  margin-bottom: 24px;
  flex-wrap: wrap;
}
.stat-big {
  background: var(--panel);
  border: 1px solid var(--border);
  border-left: 4px solid var(--accent);
  border-radius: 12px;
  padding: 22px 32px;
}
.stat-num {
  font-size: 42px;
  font-weight: 700;
  color: var(--accent);
  font-variant-numeric: tabular-nums;
  line-height: 1;
}
.stat-lbl {
  margin-top: 6px;
  color: var(--muted);
  font-size: 13px;
  letter-spacing: 0.5px;
}
.stat-meta {
  font-size: 13px;
  color: var(--muted);
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.stat-big-alt { border-left-color: var(--muted); }
.stat-big-alt .stat-num { color: var(--text); }
.stat-meta-inline {
  margin-top: 6px;
  color: var(--muted);
  font-size: 11px;
  letter-spacing: 0.4px;
}
.stat-delta {
  margin-top: 8px;
  font-size: 13px;
  font-weight: 600;
}
.stat-delta.up { color: var(--ok); }
.stat-delta.down { color: var(--err); }

.notice {
  background: #1f2a14;
  border: 1px solid #3b4f1f;
  color: #d8e6b8;
  padding: 14px 18px;
  border-radius: 10px;
  margin-bottom: 14px;
  font-size: 14px;
}
.notice ol { margin: 8px 0 6px 22px; }
.notice code {
  background: #0e1208;
  padding: 1px 6px;
  border-radius: 4px;
  font-size: 12.5px;
}
.notice .muted { color: #9aa68a; font-size: 13px; }

.disclaimer {
  background: #1f1a0e;
  border: 1px solid #5a4a20;
  border-left: 3px solid #d4a829;
  border-radius: 6px;
  padding: 5px 10px;
  margin: 0 0 6px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  font-size: 12.5px  /* was 12.5px — the legally important text was the smallest on the page */;
  line-height: 1.35;
  color: #e0d3a8;
}
.disclaimer strong { color: #ffd98a; font-size: 12.5px; }
.disclaimer .disc-ar {
  font-size: 12.5px;
  font-family: "Segoe UI", "Tahoma", "Arial", sans-serif;
  text-align: right;
  border-right: 1px solid #4a3a18;
  padding-right: 8px;
}
.disclaimer .disc-en {
  border-left: 1px solid #4a3a18;
  padding-left: 8px;
  font-size: 12.5px;
}
@media (max-width: 720px) {
  .disclaimer {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .disclaimer .disc-ar,
  .disclaimer .disc-en {
    border: none;
    padding: 0;
  }
  .disclaimer .disc-ar { border-bottom: 1px solid #4a3a18; padding-bottom: 8px; }
}

.disclaimer-full {
  margin: 0 0 8px;
  background: #1a1610;
  border: 1px solid #3a2f18;
  border-radius: 6px;
  padding: 0;
  font-size: 10px;
}
.disclaimer-full > summary {
  cursor: pointer;
  padding: 4px 12px;
  color: #c8b078;
  font-weight: 600;
  font-size: 10px;
  user-select: none;
  list-style: none;
}
.disclaimer-full > summary::-webkit-details-marker { display: none; }
.disclaimer-full > summary::before {
  content: "▸ ";
  display: inline-block;
  margin-right: 6px;
  transition: transform 0.15s;
}
.disclaimer-full[open] > summary::before {
  transform: rotate(90deg);
}
.disclaimer-full > summary:hover { color: #ffd98a; }
.disclaimer-full .full-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  padding: 6px 16px 16px;
  border-top: 1px solid #3a2f18;
  color: #c0b48a;
  line-height: 1.65;
}
.disclaimer-full h3 {
  margin: 0 0 8px;
  font-size: 13px;
  color: #ffd98a;
  letter-spacing: 0.4px;
}
.disclaimer-full p {
  margin: 0 0 9px;
  font-size: 12px;
}
.disclaimer-full .full-en {
  border-right: 1px solid #2f2614;
  padding-right: 14px;
}
.disclaimer-full .full-ar {
  font-family: "Segoe UI", "Tahoma", "Arial", sans-serif;
  text-align: right;
  padding-left: 14px;
  font-size: 12.5px;
}
.disclaimer-full .full-ar p { font-size: 13px; }
@media (max-width: 720px) {
  .disclaimer-full .full-grid {
    grid-template-columns: 1fr;
  }
  .disclaimer-full .full-en {
    border-right: none;
    border-bottom: 1px solid #2f2614;
    padding: 0 0 12px;
  }
  .disclaimer-full .full-ar { padding: 0; }
}

.product-frame {
  width: 100%;
  /* The dashboard inside is ~42,000px tall, so this iframe is a viewport onto
     it. At the old fixed 80vh the frame ended well above the fold while the
     OUTER page still scrolled, leaving a band of bare page background under
     the terminal — the "quarter of the screen is black" complaint. Filling the
     remaining viewport height instead removes the dead band and gives the
     dashboard every pixel available. JS refines --frame-top per layout; this
     value is the no-JS fallback. */
  height: calc(100vh - var(--frame-top, 320px));
  min-height: 460px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: #fff;
}

.live { margin-top: 28px; }
.live-head {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}
.live-head h2 { margin: 0; font-size: 18px; }
.meta {
  display: flex; align-items: center; gap: 8px;
  color: var(--muted); font-size: 13px;
}
.meta .dot { width: 4px; height: 4px; background: var(--muted); border-radius: 50%; }
#live-filter {
  margin-left: auto;
  padding: 7px 10px;
  background: var(--panel);
  border: 1px solid var(--border);
  color: var(--text);
  border-radius: 6px;
  font-size: 13px;
  width: 180px;
}
.status { font-size: 11px; padding: 2px 8px; border-radius: 999px; text-transform: uppercase; letter-spacing: 0.5px; }
.status.idle { background: #2a3340; color: var(--muted); }
.status.loading { background: #3a3a1a; color: var(--warn); }
.status.ok { background: #143a26; color: var(--ok); }
.status.err { background: #3a1414; color: var(--err); }

.table-wrap {
  overflow: auto;
  max-height: 520px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--panel);
}
table { border-collapse: collapse; width: 100%; font-size: 13px; }
thead th {
  position: sticky; top: 0;
  background: var(--panel-2);
  text-align: left;
  padding: 10px 12px;
  border-bottom: 1px solid var(--border);
  font-weight: 600;
  white-space: nowrap;
}
tbody td {
  padding: 8px 12px;
  border-bottom: 1px solid #1c232b;
  white-space: nowrap;
}
tbody tr:hover { background: #1a2128; }
.err { color: var(--err); }

/* ── Bilingual headings & taglines (EN above, AR below) ─────────── */
.hero-ar,
.product-title-ar,
.card-title-ar {
  font-family: "Tahoma", "Segoe UI Arabic", sans-serif;
  font-size: 18px;
  color: var(--muted);
  margin: 4px 0 8px;
  opacity: 0.95;
  letter-spacing: 0.2px;
}
.product-title-ar { font-size: 17px; }
.card-title-ar { font-size: 15px; margin: 2px 0 6px; }

.hero-tagline-ar,
.product-tagline-ar,
.card-tagline-ar {
  font-family: "Tahoma", "Segoe UI Arabic", sans-serif;
  font-size: 13px;
  color: var(--muted);
  margin-top: 4px;
  opacity: 0.75;
}
.card-tagline-ar { font-size: 12px; }

/* ── ChartEdge "For Display Only" notice + diagonal watermark ───────── */
.ce-demo-notice {
  background: linear-gradient(90deg, rgba(220,40,40,0.18) 0%, rgba(220,40,40,0.08) 100%);
  border: 1px solid #c33;
  border-left: 4px solid #ff3a3a;
  border-radius: 8px;
  padding: 10px 16px;
  margin: 0 0 10px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  color: #ff6b6b;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.5;
}
.ce-demo-notice b { color: #ff3a3a; }
.ce-demo-notice a {
  color: #ffb3b3;
  text-decoration: underline;
  font-weight: 700;
}
.ce-demo-notice a:hover { color: #fff; }
.ce-demo-ar { text-align: right; border-right: 1px solid #5a1f1f; padding-right: 14px; }
.ce-demo-en { border-left: 1px solid #5a1f1f; padding-left: 14px; }
@media (max-width: 720px) {
  .ce-demo-notice { grid-template-columns: 1fr; gap: 8px; }
  .ce-demo-ar, .ce-demo-en { border: none; padding: 0; }
  .ce-demo-ar { border-bottom: 1px solid #5a1f1f; padding-bottom: 6px; }
}

/* Wrap the iframe so we can overlay a watermark on top */
.ce-frame-wrap {
  position: relative;
  isolation: isolate;
}
.ce-frame-wrap .product-frame { display: block; }
/* Diagonal red watermark drawn across the whole iframe area */
.ce-watermark {
  position: absolute;
  inset: 0;
  pointer-events: none;     /* don't block clicks on the iframe content */
  overflow: hidden;
  z-index: 5;
}
.ce-watermark > span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-22deg);
  font-size: clamp(28px, 4.5vw, 56px);
  font-weight: 900;
  letter-spacing: 4px;
  color: rgba(255, 58, 58, 0.16);
  text-shadow: 0 0 8px rgba(255, 58, 58, 0.22);
  white-space: nowrap;
  user-select: none;
  font-family: "Segoe UI", "Tahoma", Arial, sans-serif;
}

/* ════════════════════════════════════════════════════════════════════
   Accessibility fixes (May 22 audit) — WCAG 2.1 AA polish
   ════════════════════════════════════════════════════════════════════ */

/* ── 2.4.1 Skip-to-content link (visible only on focus) ───────────── */
.skip-link {
  position: absolute;
  top: 0;
  left: 0;
  background: var(--accent);
  color: #fff !important;
  padding: 10px 16px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  border-radius: 0 0 6px 0;
  z-index: 9999;
  transform: translateY(-100%);
  transition: transform 0.15s;
}
.skip-link:focus,
.skip-link:focus-visible {
  transform: translateY(0);
  outline: 2px solid #fff;
  outline-offset: -4px;
}
/* Don't add an extra focus ring on <main> itself when the skip-link
   programmatically focuses it — it's a structural target, not a control. */
main:focus { outline: none; }

/* ── 2.4.7 Visible focus indicator (was browser default only) ─────── */
/* Skip the global rule for anything that already provides its own
   focus styling (modal inputs, tweet textareas, drop zones), and for
   mouse clicks (:focus-visible only fires for keyboard/AT). */
:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
  border-radius: 4px;
}
a:focus-visible,
button:focus-visible,
[role="button"]:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}
/* Honor any pre-existing rules that set outline:none AND provide their
   own border-color alternative (.tweet-text, .admin-form input, .drop-zone) */

/* ── 2.5.5 Touch target size — bump small interactive controls ────── */
@media (pointer: coarse), (max-width: 720px) {
  .nav-bi,
  .x-link,
  .contact-link,
  .report-link,
  .admin-pill {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .guide-btn,
  .product-head .guide-btn {
    min-height: 44px;
    padding: 8px 14px;
    font-size: 13px;
  }
}

/* ── 2.3.3 prefers-reduced-motion: kill animations + transitions ──── */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}

/* ════════════════════════════════════════════════════════════════════
   Landing page v2 — May 26 redesign
   ════════════════════════════════════════════════════════════════════ */

/* Typography: pull Manrope + IBM Plex Arabic into the system stack ── */
body, .topbar, .nav-bi, .footer-brand {
  font-family: 'IBM Plex Sans Arabic', 'Hanken Grotesk', 'Segoe UI', Roboto, sans-serif;
}
h1, h2, h3, .brand, .hero-v2 h1, .tile-v2-title, .sec-head h2,
.mc-left .price, .hv-tasi-big, .hero-stats .n, .tile-v2-meta .n,
.mc-stat .v, .footer-brand, .footer-tag {
  font-family: 'Manrope', -apple-system, sans-serif;
  letter-spacing: -0.2px;
}
.market-pill, .hero-kicker, .tile-v2-tag, .hv-title, .mc-left .lbl,
.hv-cell .lbl, .hv-cell .val, .mc-stat .l, .hero-stats .l, .tile-v2-meta .l,
.hv-chg, .mc-left .chg, .beta-chip {
  font-family: 'JetBrains Mono', ui-monospace, Menlo, monospace;
  letter-spacing: 0.5px;
}
[lang="ar"], .ar, .h1-ar, .lede-ar, .tile-v2-title-ar, .tile-v2-desc-ar {
  font-family: 'IBM Plex Sans Arabic', 'Segoe UI Arabic', Tahoma, sans-serif;
  letter-spacing: 0;
}

/* Topbar BETA chip (replaces the wide BETA banner) ─────────────── */
.beta-chip {
  font-size: 10px; font-weight: 700;
  background: rgba(245,158,11,0.18); color: #f4d875;
  border: 1px solid rgba(245,158,11,0.4);
  padding: 1px 6px; border-radius: 4px;
  vertical-align: middle; margin-left: 6px;
}

/* Topbar brand — slightly larger + Manrope feel ─────────────── */
.brand { font-weight: 800; letter-spacing: -0.3px; }
.brand-logo { width: 28px; height: 28px; }

/* Topbar background — subtle blur ─────────────────────────── */
.topbar { backdrop-filter: blur(10px); background: rgba(20,16,12,0.92); }
.brand-ar { font-family: var(--ar-display); font-size: 24px; font-weight: 700; color: var(--gold-hi); line-height: 1; white-space: nowrap; }
.beta-chip { background: rgba(201,162,39,0.15); color: var(--gold-hi); border-color: rgba(201,162,39,0.4); }

/* ── Market live pill (the green pulsing badge) ───────────────── */
.market-pill {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 4px 9px;
  border: 1px solid var(--border);
  border-radius: 999px;
  font-size: 11px; font-weight: 700; letter-spacing: 0.6px;
  background: rgba(255,255,255,0.04);
  color: var(--muted);
  cursor: default; user-select: none;
}
.market-pill .flag { font-size: 11px; }
.market-pill .dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: currentColor;
}
.market-pill.is-live {
  color: var(--ok);
  border-color: rgba(34,197,94,0.55);
  background: rgba(34,197,94,0.10);
}
.market-pill.is-live .dot { animation: market-pulse 1.8s ease-out infinite; }
.market-pill.is-pre {
  color: #f59e0b;
  border-color: rgba(245,158,11,0.45);
  background: rgba(245,158,11,0.08);
}
.market-pill.is-closed { color: var(--muted); opacity: 0.7; }
@keyframes market-pulse {
  0%   { box-shadow: 0 0 0 0   rgba(34,197,94,0.55); }
  70%  { box-shadow: 0 0 0 8px rgba(34,197,94,0); }
  100% { box-shadow: 0 0 0 0   rgba(34,197,94,0); }
}
@media (prefers-reduced-motion: reduce) {
  .market-pill .dot { animation: none !important; }
}
@media (max-width: 720px) {
  .market-pill { padding: 4px 8px; font-size: 10px; }
  .market-pill .flag { display: none; }
}

/* ── HERO v2 ─────────────────────────────────────────────────── */
.hero-v2 {
  max-width: 1180px; margin: 0 auto;
  padding: 60px 28px 50px;
  display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 50px;
  align-items: center; position: relative;
}
.hero-v2::before {
  content: ''; position: absolute; top: -60px; right: -200px;
  width: 700px; height: 500px;
  background: radial-gradient(closest-side, rgba(78,161,255,0.16), transparent 70%);
  z-index: 0; pointer-events: none;
}
.hero-v2 > * { position: relative; z-index: 1; }
.hero-kicker {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 11px; text-transform: uppercase;
  color: #f4d875;
  background: rgba(212,168,75,0.10);
  border: 1px solid rgba(212,168,75,0.30);
  padding: 5px 11px; border-radius: 999px;
  margin-bottom: 22px;
}
.hero-v2 h1 {
  font-size: clamp(34px, 5vw, 56px);
  font-weight: 800; line-height: 1.05;
  margin: 0 0 12px;
}
.hero-v2 h1 .grad {
  background: linear-gradient(90deg, #7cc4ff, #f4d875);
  -webkit-background-clip: text; background-clip: text;
  color: transparent;
}
.h1-ar {
  font-size: clamp(20px, 3vw, 28px); font-weight: 700;
  color: #c0c8d3; margin: 4px 0 18px;
}
.hero-v2 .lede { font-size: 16px; color: #c0c8d3; margin: 0 0 4px; max-width: 480px; line-height: 1.6; }
.hero-v2 .lede-ar { font-size: 13px; color: var(--muted); margin: 4px 0 24px; max-width: 480px; line-height: 1.7; }
.hero-v2 .cta-row { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }

.btn-primary {
  background: linear-gradient(180deg, #4ea1ff, #3c87dd);
  color: #fff;
  padding: 12px 20px; border-radius: 9px;
  font-weight: 600; font-size: 14px;
  text-decoration: none; display: inline-flex; align-items: center; gap: 8px;
  box-shadow: 0 1px 0 rgba(255,255,255,0.18) inset, 0 6px 16px rgba(78,161,255,0.25);
  transition: transform .12s, box-shadow .12s;
  border: none; cursor: pointer;
}
.btn-primary:hover { transform: translateY(-1px); box-shadow: 0 1px 0 rgba(255,255,255,0.22) inset, 0 8px 22px rgba(78,161,255,0.4); }
.btn-ghost {
  background: rgba(255,255,255,0.04);
  color: var(--text); border: 1px solid var(--border);
  padding: 12px 20px; border-radius: 9px;
  font-weight: 600; font-size: 14px;
  text-decoration: none; display: inline-flex; align-items: center; gap: 8px;
}
.btn-ghost:hover { background: rgba(255,255,255,0.08); border-color: var(--accent); }

.hero-stats { display: flex; gap: 24px; margin-top: 36px; flex-wrap: wrap; }
.hero-stats > div { display: flex; flex-direction: column; }
.hero-stats .n { font-weight: 800; font-size: 28px; color: var(--text); line-height: 1; }
.hero-stats .l { font-size: 11px; color: var(--muted); margin-top: 6px; text-transform: uppercase; }

/* Right card — Live TASI mini ─────────────────────────── */
.hero-viz {
  background: linear-gradient(180deg, var(--panel), #0e1116);
  border: 1px solid #2c3641;
  border-radius: 16px;
  padding: 20px;
  box-shadow: 0 30px 60px rgba(0,0,0,0.5), 0 0 0 1px rgba(78,161,255,0.06) inset;
  position: relative; overflow: hidden;
}
.hero-viz::before {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(circle at 100% 0%, rgba(78,161,255,0.12), transparent 60%);
  pointer-events: none;
}
.hv-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; position: relative; }
.hv-title { font-size: 11px; color: var(--muted); letter-spacing: 1.5px; text-transform: uppercase; }
.hv-tasi-big {
  font-weight: 800; font-size: 44px; letter-spacing: -1px; line-height: 1;
  font-variant-numeric: tabular-nums; color: var(--text);
}
.hv-chg { display: inline-flex; gap: 6px; align-items: baseline;
  font-weight: 600; font-size: 14px; margin-top: 8px; }
.hv-chg.up { color: var(--ok); }
.hv-chg.dn { color: var(--err); }
.hv-sparkline { margin: 18px -4px 14px; height: 56px; position: relative; }
.hv-sparkline svg { width: 100%; height: 100%; display: block; }
.hv-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; margin-top: 8px; }
.hv-cell { background: rgba(255,255,255,0.025); border: 1px solid var(--border);
           border-radius: 8px; padding: 10px 12px; }
.hv-cell .lbl { font-size: 11px; color: var(--muted); letter-spacing: 1px; }
.hv-cell .val { font-weight: 600; font-size: 12px; color: var(--text); margin-top: 2px; }
.hv-cell.up .val { color: var(--ok); }
.hv-cell.dn .val { color: var(--err); }

/* ── Section heads ──────────────────────────────────── */
.sec { max-width: 1180px; margin: 0 auto; padding: 30px 28px; }
.sec-head { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 22px; flex-wrap: wrap; gap: 10px; }
.sec-head h2 { font-weight: 800; font-size: 26px; margin: 0; letter-spacing: -0.4px; }
.sec-head .ar { color: var(--muted); font-size: 14px; margin-left: 12px; font-weight: 400; }
.sec-head a { color: var(--accent); text-decoration: none; font-size: 13px; font-weight: 600; }
.sec-head a:hover { color: #7cc4ff; }

/* ── Product tiles v2 ───────────────────────────────── */
.tiles-v2 { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 16px; }
.tile-v2 {
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 22px;
  text-decoration: none; color: inherit;
  position: relative; overflow: hidden;
  transition: transform .15s, border-color .15s, box-shadow .15s;
  display: flex; flex-direction: column; min-height: 240px;
}
.tile-v2:hover { transform: translateY(-3px); border-color: var(--accent);
                  box-shadow: 0 12px 32px rgba(0,0,0,0.4); }
.tile-v2.featured {
  background: linear-gradient(135deg, #1a2333 0%, var(--panel) 100%);
  border-color: rgba(78,161,255,0.4);
  box-shadow: 0 0 0 1px rgba(78,161,255,0.10) inset, 0 14px 40px rgba(0,0,0,0.45);
}
.tile-v2.featured::before {
  content: ''; position: absolute; top: -40px; right: -40px;
  width: 180px; height: 180px;
  background: radial-gradient(circle, rgba(78,161,255,0.18), transparent 70%);
  pointer-events: none;
}
.tile-v2-tag {
  font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase;
  color: var(--muted); margin-bottom: 10px;
}
.tile-v2.featured .tile-v2-tag { color: #f4d875; }
.tile-v2-title { font-size: 22px; font-weight: 800; margin: 0; letter-spacing: -0.4px; }
.tile-v2.featured .tile-v2-title { font-size: 26px; }
.tile-v2-title-ar { font-size: 15px; color: var(--muted); margin-top: 3px; }
.tile-v2-desc { font-size: 14px; color: #c0c8d3; margin: 14px 0 0; flex: 1; line-height: 1.55; }
.tile-v2-desc-ar { font-size: 12px; color: var(--muted); margin-top: 6px; line-height: 1.7; }
.tile-v2-meta { display: flex; gap: 18px; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--border); }
.tile-v2-meta div { display: flex; flex-direction: column; }
.tile-v2-meta .n { font-weight: 700; font-size: 18px; color: var(--text); }
.tile-v2.featured .tile-v2-meta .n { color: #f4d875; }
.tile-v2-meta .l { font-size: 11px; color: var(--muted); letter-spacing: 0.5px; margin-top: 2px; }
.tile-v2-cta { margin-top: 14px; color: var(--accent); font-weight: 600; font-size: 13px;
               display: inline-flex; align-items: center; gap: 4px; }
.tile-v2:hover .tile-v2-cta { color: #7cc4ff; }

@media (max-width: 880px) {
  .hero-v2 { grid-template-columns: 1fr; padding: 40px 22px 30px; gap: 32px; }
  .tiles-v2 { grid-template-columns: 1fr; }
}

/* ── Today's market card ──────────────────────────── */
.market-card {
  background: linear-gradient(135deg, var(--panel-2) 0%, #0e1116 100%);
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 28px;
  display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 30px;
  align-items: center;
}
.mc-left .lbl { font-size: 11px; color: var(--muted); letter-spacing: 1.5px; text-transform: uppercase; }
.mc-left .price {
  font-weight: 800; font-size: 56px; letter-spacing: -1.5px; line-height: 1;
  color: var(--text); font-variant-numeric: tabular-nums; margin-top: 4px;
}
.mc-left .chg { font-weight: 600; font-size: 16px; margin-top: 10px; }
.mc-left .chg.up { color: var(--ok); }
.mc-left .chg.dn { color: var(--err); }
.mc-left .when { color: var(--muted); font-size: 11px; margin-top: 12px; }
.mc-right { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.mc-stat { background: rgba(255,255,255,0.025); border: 1px solid var(--border);
           border-radius: 10px; padding: 14px 16px; }
.mc-stat .l { font-size: 11px; color: var(--muted); letter-spacing: 0.8px; }
.mc-stat .v { font-weight: 800; font-size: 20px; margin-top: 4px; color: var(--text); }
.mc-stat .v.up { color: var(--ok); }
.mc-stat .v.dn { color: var(--err); }
.mc-stat .sub { font-size: 11px; color: var(--muted); margin-top: 2px; }
@media (max-width: 880px) {
  .market-card { grid-template-columns: 1fr; padding: 22px; gap: 20px; }
}

/* ── Telegram CTA strip ──────────────────────────── */
.tg-cta {
  background: linear-gradient(135deg, #1a3a55 0%, #0f2333 100%);
  border: 1px solid #2AABEE40;
  border-radius: 16px;
  padding: 26px 28px;
  display: flex; align-items: center; justify-content: space-between; gap: 30px;
  flex-wrap: wrap;
}
.tg-cta-text { flex: 1; min-width: 260px; }
.tg-cta-text h3 { font-weight: 800; font-size: 22px; margin: 0 0 6px; letter-spacing: -0.3px; }
.tg-cta-text p  { margin: 0; color: #c0c8d3; font-size: 14px; }
.tg-cta-text .ar { font-size: 12px; color: var(--muted); margin-top: 4px; }
.tg-btn {
  background: #2AABEE; color: #fff; padding: 12px 22px;
  border-radius: 10px; font-weight: 700; font-size: 14px;
  text-decoration: none; display: inline-flex; align-items: center; gap: 8px;
  box-shadow: 0 8px 24px rgba(42,171,238,0.32);
}
.tg-btn:hover { background: #229ED9; }

/* ── Hero "Markets at a glance" grid ──────────────────── */
.hv-time {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: var(--muted);
  letter-spacing: 0.5px;
}
.markets-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 6px 0 10px;
}
.market-cell {
  background: rgba(255,255,255,0.025);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 14px 14px 12px;
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  transition: border-color .12s, background .12s, transform .12s;
}
.market-cell:hover {
  border-color: var(--accent);
  background: rgba(78,161,255,0.07);
  transform: translateY(-1px);
}
.market-cell-lg {
  grid-column: 1 / -1;
  background: linear-gradient(135deg, rgba(78,161,255,0.10), rgba(255,255,255,0.025));
  border-color: rgba(78,161,255,0.30);
  padding: 16px 16px 14px;
}
.mc-flag {
  display: flex; align-items: center; gap: 6px;
  font-size: 14px;
  margin-bottom: 8px;
}
.mc-sym {
  font-family: 'Manrope', sans-serif;
  font-weight: 800;
  font-size: 13px;
  letter-spacing: 0.5px;
  color: var(--text);
}
.market-cell-lg .mc-sym { font-size: 15px; }
.mc-price {
  font-family: 'Manrope', sans-serif;
  font-weight: 800;
  font-size: 24px;
  letter-spacing: -0.5px;
  font-variant-numeric: tabular-nums;
  color: var(--text);
  line-height: 1.05;
}
.market-cell-lg .mc-price { font-size: 30px; }
.mc-chg {
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  font-weight: 600;
  margin-top: 4px;
  color: var(--muted);
}
.mc-chg.up { color: var(--ok); }
.mc-chg.dn { color: var(--err); }
.mc-asof {
  font-size: 11px;
  color: var(--muted);
  margin-top: 6px;
  opacity: 0.75;
}
.markets-foot {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: var(--muted);
  letter-spacing: 0.5px;
  text-align: center;
  margin-top: 6px;
  opacity: 0.6;
}

/* ── Today's market — brief-drilldown variant (no price duplicate) ─ */
.brief-summary {
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 22px;
  line-height: 1.25;
  letter-spacing: -0.3px;
  color: var(--text);
  margin: 8px 0 4px;
}
.brief-summary-ar {
  font-family: 'IBM Plex Sans Arabic', sans-serif;
  font-size: 14px;
  color: var(--muted);
  margin-bottom: 18px;
}
.brief-scan {
  display: flex; gap: 18px; flex-wrap: wrap;
  margin: 14px 0 14px;
  padding: 10px 0;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}
.brief-scan > div { display: flex; flex-direction: column; }
.brief-scan .bn {
  font-family: 'Manrope', sans-serif;
  font-weight: 800;
  font-size: 22px;
  color: var(--text);
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.brief-scan .bl {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: var(--muted);
  letter-spacing: 0.8px;
  margin-top: 4px;
  text-transform: uppercase;
}

/* ════════════════════════════════════════════════════════════════════
   RS Rating page — Minervini RPR (M1/M2/M3)
   ════════════════════════════════════════════════════════════════════ */

/* Topbar pill (matches .report-link styling but gold-themed) */

/* Hero variant — borrows hero-v2 but tighter for a single-product page */
.rs-hero {
  max-width: 1180px; margin: 0 auto;
  padding: 56px 28px 36px;
  display: grid; grid-template-columns: 1.3fr 0.9fr; gap: 36px;
  align-items: center; position: relative;
}
.rs-hero::before {
  content: ''; position: absolute; top: -40px; right: -200px;
  width: 600px; height: 400px;
  background: radial-gradient(closest-side, rgba(212,168,75,0.16), transparent 70%);
  z-index: 0; pointer-events: none;
}
.rs-hero > * { position: relative; z-index: 1; }
.rs-hero h1 {
  font-family: 'Manrope', sans-serif;
  font-size: clamp(32px, 4.5vw, 46px);
  font-weight: 800; line-height: 1.05;
  letter-spacing: -0.8px; margin: 0 0 8px;
}
.rs-hero h1 .grad {
  background: linear-gradient(90deg, #f4d875, #7cc4ff);
  -webkit-background-clip: text; background-clip: text;
  color: transparent;
}
.rs-hero .h1-ar {
  font-family: 'IBM Plex Sans Arabic', sans-serif;
  font-size: clamp(18px, 2.5vw, 24px); font-weight: 700;
  color: #c0c8d3; margin: 0 0 14px;
}
.rs-hero .lede { font-size: 15px; color: #c0c8d3; max-width: 520px; line-height: 1.6; }
.rs-hero .lede-ar { font-size: 12px; color: var(--muted); margin-top: 6px; }

@media (max-width: 880px) {
  .rs-hero { grid-template-columns: 1fr; padding: 32px 22px 24px; }
}

/* Archive nav strip */

/* Methodology panel */

/* Top-10 leader cards */
.leaders {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
}

/* Pre-breakout alert cards */
.alerts {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 14px;
}
.alert-card {
  background: var(--panel);
  border: 1px solid var(--border);
  border-left: 3px solid var(--warn);
  border-radius: 10px; padding: 14px 16px;
}
.alert-card.strong { border-left-color: var(--ok); }
.alert-head {
  display: flex; align-items: baseline; justify-content: space-between;
  margin-bottom: 8px;
}
.alert-tk {
  font-family: 'Manrope', sans-serif; font-weight: 800; font-size: 18px;
  color: var(--text);
}
.alert-gap {
  font-family: 'JetBrains Mono', monospace; font-weight: 700;
  font-size: 14px; color: var(--ok);
}
.alert-detail { font-size: 12px; color: #c0c8d3; line-height: 1.55; }
.alert-meta {
  display: flex; gap: 14px; margin-top: 8px;
  font-family: 'JetBrains Mono', monospace; font-size: 10px; color: var(--muted);
}
.alert-meta b { color: var(--text); font-weight: 600; }

/* Full rankings table */

.tbl-foot {
  padding: 11px 16px;
  font-family: 'JetBrains Mono', monospace; font-size: 11px;
  color: var(--muted); background: var(--panel-2);
  border-top: 1px solid var(--border); text-align: center;
}

/* Download button inside the ChartEdge "FOR DISPLAY ONLY" banner */
.ce-demo-notice a.ce-dl {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: rgba(34,197,94,0.18);
  border: 1px solid rgba(34,197,94,0.55);
  color: var(--ok) !important;
  padding: 3px 10px;
  border-radius: 6px;
  font-weight: 700;
  font-size: 12.5px;
  text-decoration: none;
  margin: 0 2px;
  transition: background 0.12s, transform 0.12s;
}
.ce-demo-notice a.ce-dl:hover {
  background: rgba(34,197,94,0.32);
  color: #4ade80 !important;
  transform: translateY(-1px);
}

/* ════════════════════════════════════════════════════════════════════
   Analyze-a-stock — topbar trigger button (Arabic-first) + request panel
   ════════════════════════════════════════════════════════════════════ */
/* Gold pill in the topbar nav. Arabic label is primary; small English
   sub-label underneath. Stands out against the other muted nav links. */
.analyze-navbtn{
  display:inline-flex;flex-direction:column;align-items:center;justify-content:center;
  line-height:1.15;cursor:pointer;border:1px solid rgba(212,168,75,.55);
  background:linear-gradient(135deg,rgba(212,168,75,.18),rgba(212,168,75,.08));
  color:#f4d875;font-family:'Manrope',sans-serif;
  padding:5px 14px;border-radius:999px;white-space:nowrap;
  transition:background .12s,transform .12s,box-shadow .12s;
}
.analyze-navbtn .ar{
  font-family:'IBM Plex Sans Arabic','Segoe UI Arabic',Tahoma,sans-serif;
  font-size:13px;font-weight:700;
}
.analyze-navbtn .en{font-size:9px;opacity:.7;font-weight:600;letter-spacing:.3px;margin-top:1px}
.analyze-navbtn:hover{
  background:linear-gradient(135deg,rgba(212,168,75,.32),rgba(212,168,75,.16));
  transform:translateY(-1px);box-shadow:0 6px 16px rgba(212,168,75,.3);
}
@media (max-width:768px){
  .analyze-navbtn .en{display:none}
  .analyze-navbtn{padding:6px 12px}
}

.analyze-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:120;
  display:flex;align-items:center;justify-content:center;padding:16px;
}
/* CRITICAL: the `hidden` attribute is overridden by the display:flex above,
   so without this rule the overlay sits invisibly over the whole page and
   blocks every click. This restores hidden-means-hidden. */
.analyze-overlay[hidden]{display:none !important;}
.analyze-panel{
  background:linear-gradient(180deg,var(--panel),#0e1116);
  border:1px solid #2c3641;border-radius:18px;width:min(440px,94vw);
  padding:26px;box-shadow:0 30px 70px rgba(0,0,0,.6);position:relative;
}
.analyze-close{position:absolute;top:12px;right:16px;background:none;border:none;
  color:var(--muted);font-size:24px;cursor:pointer;line-height:1}
.analyze-close:hover{color:var(--text)}
.ap-kicker{display:inline-flex;align-items:center;gap:7px;font-family:'JetBrains Mono',monospace;
  font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:#f4d875;
  background:rgba(212,168,75,.1);border:1px solid rgba(212,168,75,.3);
  padding:4px 10px;border-radius:999px;margin-bottom:14px}
.analyze-panel h2{font-family:'Manrope',sans-serif;font-weight:800;font-size:21px;
  margin:0 0 4px;letter-spacing:-.3px}
.ap-h2ar{font-family:'IBM Plex Sans Arabic','Segoe UI Arabic',Tahoma,sans-serif;
  font-size:17px;font-weight:600;color:var(--text2,#c0c8d3);direction:rtl;margin-bottom:18px}
.ap-field{margin-bottom:14px}
.ap-field label{display:block;font-size:13px;color:var(--text2,#c0c8d3);
  letter-spacing:.2px;margin-bottom:6px;
  font-family:'IBM Plex Sans Arabic','Segoe UI Arabic',Tahoma,sans-serif}
.ap-field input{width:100%;background:rgba(255,255,255,.04);border:1px solid var(--border);
  color:var(--text);padding:11px 13px;border-radius:9px;font-size:15px;
  font-family:'Inter',sans-serif;outline:none}
.ap-field input:focus{border-color:var(--accent)}
.ap-field input.az-ticker{font-family:'Manrope',sans-serif;font-weight:800;
  font-size:20px;letter-spacing:1px;text-transform:uppercase}
.az-mkt{display:flex;gap:8px}
.az-mkt-btn{flex:1;background:rgba(255,255,255,.04);border:1px solid var(--border);
  color:var(--text2,#c0c8d3);padding:10px;border-radius:9px;font-size:13px;font-weight:600;
  cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px}
.az-mkt-btn.active{background:rgba(78,161,255,.16);border-color:var(--accent);color:#7cc4ff}
.az-send{width:100%;background:#2AABEE;color:#fff;border:none;border-radius:11px;
  padding:14px;font-family:'Manrope',sans-serif;font-weight:800;font-size:15px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:9px;margin-top:6px;
  box-shadow:0 8px 22px rgba(42,171,238,.35)}
.az-send:hover{background:#229ED9}
.az-send:disabled{opacity:.6;cursor:wait}
.ap-msg{margin-top:12px;padding:11px 13px;border-radius:8px;font-size:14px;text-align:center;
  line-height:1.7;white-space:pre-line;direction:rtl;
  font-family:'IBM Plex Sans Arabic','Segoe UI Arabic',Tahoma,sans-serif}
.ap-msg.ok{background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.4);color:var(--ok)}
.ap-msg.err{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.4);color:#ef9a9a}
.ap-foot{font-size:12px;color:var(--muted);text-align:center;margin-top:14px;line-height:1.7}
.ap-foot .ar{display:block;direction:rtl;margin-top:2px;font-size:13px;
  font-family:'IBM Plex Sans Arabic','Segoe UI Arabic',Tahoma,sans-serif}
.ap-foot .ap-note{display:block;direction:rtl;margin-top:6px;font-size:13px;font-weight:700;
  color:#f4d875;font-family:'IBM Plex Sans Arabic','Segoe UI Arabic',Tahoma,sans-serif}
.ap-foot .en{display:block;margin-top:5px;font-size:10px;opacity:.7}

/* ════════════════════════════════════════════════════════════════════
   About / من نحن page
   ════════════════════════════════════════════════════════════════════ */
.about-block{
  background:var(--panel);border:1px solid var(--border);border-radius:14px;
  padding:22px 26px;margin-bottom:14px;font-size:15px;line-height:1.9;color:var(--text2,#c0c8d3);
}
.about-block[dir="rtl"]{font-family:'IBM Plex Sans Arabic','Segoe UI Arabic',Tahoma,sans-serif}
.about-block b{color:var(--text)}
.about-block ul{margin:10px 0;padding-right:22px;padding-left:0}
.about-block li{margin:6px 0}
.about-block.about-en{font-size:13.5px;color:var(--muted);line-height:1.7}

.about-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.about-card{
  background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:20px;
  transition:border-color .15s,transform .15s;
}
.about-card:hover{border-color:var(--accent);transform:translateY(-2px)}
.about-card .ac-ico{font-size:26px;margin-bottom:10px}
.about-card h3{font-family:'Manrope',sans-serif;font-size:17px;font-weight:800;margin:0 0 8px;letter-spacing:-.2px}
.about-card p{font-size:13.5px;line-height:1.8;color:var(--muted);margin:0;
  font-family:'IBM Plex Sans Arabic','Segoe UI Arabic',Tahoma,sans-serif}

.about-why{display:grid;gap:12px}
.why-item{display:flex;gap:14px;align-items:flex-start;background:var(--panel);
  border:1px solid var(--border);border-radius:12px;padding:14px 18px;
  font-size:14.5px;line-height:1.7;color:var(--text2,#c0c8d3);
  font-family:'IBM Plex Sans Arabic','Segoe UI Arabic',Tahoma,sans-serif}
.why-item b{color:var(--text)}
.why-item .why-ico{font-size:22px;flex:0 0 auto}

.about-disclaimer{
  background:#1f1a0e;border:1px solid #5a4a20;border-left:3px solid #d4a829;
  border-radius:8px;padding:14px 18px;font-size:12.5px;line-height:1.8;color:#e0d3a8;
  font-family:'IBM Plex Sans Arabic','Segoe UI Arabic',Tahoma,sans-serif;
}
.about-disclaimer b{color:#ffd98a}

/* ── "Best on laptop" notice — shown ONLY on small screens ───────────── */
.laptop-notice{display:none}  /* hidden on laptop/desktop by default */
@media (max-width: 900px){
  .laptop-notice{
    display:block;
    background:rgba(78,161,255,.10);
    border:1px solid rgba(78,161,255,.4);
    border-left:3px solid var(--accent);
    border-radius:8px;
    padding:10px 14px;margin:0 0 10px;
    font-size:13px;line-height:1.6;color:#bcd6f5;
  }
  .laptop-notice .ar{display:block;font-weight:600;
    font-family:'IBM Plex Sans Arabic','Segoe UI Arabic',Tahoma,sans-serif}
  .laptop-notice .en{display:block;font-size:11px;opacity:.75;margin-top:3px}
}

/* ── Analyze panel: required-field marker ──────────────────────────────── */
.ap-req{color:#ff6b6b;font-weight:700}

/* ── Site assistant: nav link ──────────────────────────────────────────── */
.assistant-link .en,.assistant-link .ar{color:var(--accent)}

/* ── Site assistant: floating chat widget ──────────────────────────────── */
.ce-chat-launcher{position:fixed;right:22px;bottom:22px;z-index:1200}
.ce-chat-launcher[hidden]{display:none !important}
.ce-chat-fab{
  position:relative;
  width:56px;height:56px;border-radius:50%;border:none;cursor:pointer;
  background:var(--accent);color:#06121f;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 24px rgba(78,161,255,.4);transition:transform .15s,box-shadow .15s;
}
.ce-chat-fab:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(78,161,255,.5)}
.ce-chat-fab-x{display:none;font-size:28px;line-height:1;font-weight:300}
.ce-chat-fab.is-open svg{display:none}
.ce-chat-fab.is-open .ce-chat-fab-x{display:block}

/* Small "hide" badge on the bubble — dismiss it entirely while browsing */
.ce-chat-hide{
  position:absolute;top:-6px;right:-6px;width:22px;height:22px;border-radius:50%;
  border:1px solid var(--border);background:var(--panel);color:var(--muted);
  font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;
  box-shadow:0 2px 8px rgba(0,0,0,.35);opacity:0;transform:scale(.7);
  transition:opacity .15s,transform .15s,color .15s,border-color .15s;
}
.ce-chat-launcher:hover .ce-chat-hide,
.ce-chat-hide:focus-visible{opacity:1;transform:scale(1)}
.ce-chat-hide:hover{color:var(--text);border-color:var(--muted)}
@media (hover:none){ .ce-chat-hide{opacity:1;transform:scale(1)} }

/* One-time discovery hint above the bubble */
.ce-chat-hint{
  position:absolute;right:0;bottom:70px;width:236px;max-width:64vw;
  background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:14px;
  padding:11px 30px 11px 13px;box-shadow:0 14px 34px rgba(0,0,0,.5);
  font-size:13px;line-height:1.5;cursor:pointer;animation:ceHintIn .25s ease;
}
.ce-chat-hint[hidden]{display:none !important}
.ce-chat-hint::after{
  content:"";position:absolute;right:21px;bottom:-7px;width:13px;height:13px;
  background:var(--panel);border-right:1px solid var(--border);border-bottom:1px solid var(--border);
  transform:rotate(45deg);
}
.ce-chat-hint .en{display:block;font-weight:600}
.ce-chat-hint .ar{display:block;margin-top:3px;color:var(--muted);font-size:12px;
  font-family:'IBM Plex Sans Arabic','Segoe UI Arabic',Tahoma,sans-serif}
.ce-chat-hint-x{
  position:absolute;top:5px;right:8px;background:none;border:none;cursor:pointer;
  color:var(--muted);font-size:17px;line-height:1;padding:2px;
}
.ce-chat-hint-x:hover{color:var(--text)}
@keyframes ceHintIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

.ce-chat-widget{
  position:fixed;right:22px;bottom:88px;z-index:1200;
  width:370px;max-width:calc(100vw - 32px);height:520px;max-height:calc(100vh - 130px);
  display:flex;flex-direction:column;
  background:var(--panel);border:1px solid var(--border);border-radius:16px;
  box-shadow:0 18px 50px rgba(0,0,0,.55);overflow:hidden;
}
.ce-chat-widget[hidden]{display:none !important}
.ce-chat-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 14px;border-bottom:1px solid var(--border);
  background:linear-gradient(180deg,rgba(78,161,255,.12),transparent);
}
.ce-chat-title{display:flex;align-items:center;gap:8px;font-weight:700;font-size:14px;color:var(--text)}
.ce-chat-title .ar{font-family:'IBM Plex Sans Arabic','Segoe UI Arabic',Tahoma,sans-serif;margin-inline-start:4px;color:var(--muted);font-weight:600;font-size:12px}
.ce-chat-dot{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px rgba(34,197,94,.2)}
.ce-chat-close{background:none;border:none;color:var(--muted);font-size:24px;line-height:1;cursor:pointer;padding:0 4px}
.ce-chat-close:hover{color:var(--text)}

.ce-chat-msgs{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px}
.ce-msg{
  max-width:85%;padding:9px 13px;border-radius:14px;font-size:13.5px;line-height:1.55;
  white-space:pre-wrap;word-wrap:break-word;
}
.ce-msg[dir="rtl"]{font-family:'IBM Plex Sans Arabic','Segoe UI Arabic',Tahoma,sans-serif}
.ce-msg-user{align-self:flex-end;background:var(--accent);color:#06121f;border-bottom-right-radius:4px}
.ce-msg-bot{align-self:flex-start;background:#1c232b;color:var(--text);border:1px solid var(--border);border-bottom-left-radius:4px}
.ce-msg-user[dir="rtl"]{align-self:flex-start;border-bottom-right-radius:14px;border-bottom-left-radius:4px}
.ce-typing{opacity:.6;font-size:18px;letter-spacing:2px}

.ce-chat-form{display:flex;gap:8px;padding:10px;border-top:1px solid var(--border);background:var(--bg)}
.ce-chat-form input{
  flex:1;background:var(--panel);border:1px solid var(--border);border-radius:10px;
  padding:10px 12px;color:var(--text);font-size:13.5px;outline:none;
}
.ce-chat-form input:focus{border-color:var(--accent)}
.ce-chat-send{
  flex:0 0 auto;width:40px;border:none;border-radius:10px;cursor:pointer;
  background:var(--accent);color:#06121f;display:flex;align-items:center;justify-content:center;
}
.ce-chat-send:hover{filter:brightness(1.08)}

@media (max-width:560px){
  .ce-chat-widget{right:12px;left:12px;width:auto;bottom:84px;height:70vh}
}

/* Restore tab — peeks from the edge once the assistant has been hidden */
.ce-chat-restore{
  position:fixed;right:0;bottom:80px;z-index:1200;
  display:flex;align-items:center;gap:7px;
  background:var(--accent);color:#06121f;border:none;cursor:pointer;
  padding:9px 13px 9px 11px;border-radius:14px 0 0 14px;
  box-shadow:0 8px 24px rgba(0,0,0,.4);
  transform:translateX(calc(100% - 36px));transition:transform .2s ease;
}
.ce-chat-restore[hidden]{display:none !important}
.ce-chat-restore:hover,.ce-chat-restore:focus-visible{transform:translateX(0)}
.ce-chat-restore-tip{font-size:13px;font-weight:700;white-space:nowrap}
.ce-chat-restore-tip .ar{margin-inline-start:5px;
  font-family:'IBM Plex Sans Arabic','Segoe UI Arabic',Tahoma,sans-serif}

/* ── Site assistant: dedicated /assistant page ─────────────────────────── */
.asst-chat{max-width:760px;margin:0 auto;background:var(--panel);border:1px solid var(--border);border-radius:16px;overflow:hidden}
.asst-msgs{height:46vh;min-height:300px;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:12px}
.asst-msg{max-width:80%;padding:11px 15px;border-radius:14px;font-size:14.5px;line-height:1.6;white-space:pre-wrap;word-wrap:break-word}
.asst-msg[dir="rtl"]{font-family:'IBM Plex Sans Arabic','Segoe UI Arabic',Tahoma,sans-serif}
.asst-msg-user{align-self:flex-end;background:var(--accent);color:#06121f;border-bottom-right-radius:4px}
.asst-msg-user[dir="rtl"]{align-self:flex-start;border-bottom-right-radius:14px;border-bottom-left-radius:4px}
.asst-msg-bot{align-self:flex-start;background:#1c232b;color:var(--text);border:1px solid var(--border);border-bottom-left-radius:4px}
.asst-form{display:flex;gap:10px;padding:14px;border-top:1px solid var(--border);background:var(--bg)}
.asst-form input{flex:1;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:12px 14px;color:var(--text);font-size:14.5px;outline:none}
.asst-form input:focus{border-color:var(--accent)}
.asst-send{flex:0 0 auto;border:none;border-radius:10px;cursor:pointer;background:var(--accent);color:#06121f;font-weight:700;padding:0 20px}
.asst-send:hover{filter:brightness(1.08)}
.asst-suggest{display:flex;flex-wrap:wrap;gap:8px;padding:0 14px 14px}
.asst-chip{background:#1c232b;border:1px solid var(--border);color:var(--text);border-radius:20px;padding:7px 14px;font-size:12.5px;cursor:pointer;font-family:'IBM Plex Sans Arabic','Segoe UI Arabic',Tahoma,sans-serif}
.asst-chip:hover{border-color:var(--accent);color:var(--accent)}
.asst-note{max-width:760px;margin:12px auto 0;color:var(--muted);font-size:12.5px;text-align:center;font-family:'IBM Plex Sans Arabic','Segoe UI Arabic',Tahoma,sans-serif}

/* ════════════════════════════════════════════════════════════════════════
   ▌ TERMINAL LUXE — 2026 redesign layer  (shell + home)
   ────────────────────────────────────────────────────────────────────────
   A premium "Bloomberg-reimagined" identity: warm near-black canvas, gold
   as the primary accent (replaces the old blue), editorial Fraunces serif
   for headlines, Hanken Grotesk for body, tabular mono for all numerics.
   This block intentionally lives LAST so it cascades over the legacy rules
   without surgical edits — remove it to fully revert.
   ════════════════════════════════════════════════════════════════════════ */

:root{
  /* Canvas — warm-neutral near-black, not cool slate */
  --bg:        #0a0a0b;
  --bg-2:      #060607;
  --panel:     #131316;
  --panel-2:   #1a1a1f;
  --text:      #ededf2;
  --text-2:    #c3c3cc;
  --muted:     #8a8a95;
  /* Gold is the new identity colour (was #4ea1ff blue) */
  --accent:    #d4a829;
  --accent-2:  #f4d06a;
  --accent-3:  #b8862a;
  --gold-soft: rgba(212,168,41,.12);
  --gold-line: rgba(212,168,41,.34);
  --ok:        var(--ok);
  --err:       #ef4444;
  --warn:      #f59e0b;
  --border:    #23232b;
  --border-2:  #2e2e38;
  /* Type system */
  --font-display:'Fraunces','Hanken Grotesk',Georgia,serif;
  --font-sans:'Hanken Grotesk',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --font-mono:'JetBrains Mono',ui-monospace,Menlo,monospace;
  --font-ar:'IBM Plex Sans Arabic','Segoe UI Arabic',Tahoma,sans-serif;
}

/* ── Canvas: warm vignette + faint film grain for atmosphere ──────────── */
body{
  font-family:var(--font-sans);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body::before{
  content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;
  background:
    radial-gradient(120% 80% at 78% -8%, rgba(212,168,41,.10), transparent 55%),
    radial-gradient(90% 60% at 8% 102%, rgba(212,168,41,.05), transparent 60%),
    var(--bg);
}
body::after{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
::selection{ background:rgba(212,168,41,.28); color:#fff; }
* { scrollbar-color: #2e2e38 transparent; }

/* ── Global type mapping for the redesigned surfaces ──────────────────── */
.brand,
.hero-v2 h1, .sec-head h2, .tile-v2-title, .tg-cta-text h3,
.brief-summary, .hv-tasi-big{
  font-family:var(--font-display);
  font-optical-sizing:auto;
  letter-spacing:-.01em;
  font-weight:600;
}
.topbar nav, .nav-bi, .footer-brand, .footer-tag{ font-family:var(--font-sans); }
.market-pill,.hero-kicker,.tile-v2-tag,.hv-title,.mc-left .lbl,.mc-stat .l,
.hero-stats .l,.tile-v2-meta .l,.hv-time,.markets-foot,.beta-chip,.mc-asof{
  font-family:var(--font-mono);
}
[lang="ar"],.ar,.h1-ar,.lede-ar,.tile-v2-title-ar,.tile-v2-desc-ar,
.brief-summary-ar,.tg-cta-text .ar{ font-family:var(--font-ar); letter-spacing:0; }

/* ── Topbar ───────────────────────────────────────────────────────────── */
.topbar{
  gap:22px;padding:13px 26px;
  background:rgba(10,10,11,.82);
  backdrop-filter:saturate(140%) blur(12px);
  border-bottom:1px solid var(--border);
}
.brand{ font-weight:600;font-size:19px;letter-spacing:-.02em;color:var(--text); }
.brand-logo{
  width:30px;height:30px;border-radius:8px;
  box-shadow:0 0 0 1px var(--gold-line), 0 4px 14px rgba(212,168,41,.18);
}
.beta-chip{
  font-family:var(--font-mono);font-size:9px;font-weight:700;
  background:var(--gold-soft);color:var(--accent-2);
  border:1px solid var(--gold-line);padding:2px 6px;border-radius:5px;
  letter-spacing:1px;
}
.topbar nav a{ color:var(--muted);font-weight:500;transition:color .14s; }
.topbar nav a:hover{ color:var(--text); }
.nav-bi .en{ font-size:13.5px;font-weight:500; }
.nav-bi .ar{ font-family:var(--font-ar);color:var(--muted);opacity:.8; }
.nav-bi:hover .ar{ color:var(--accent-2);opacity:1; }

/* X / contact / report / rs pills — unify on the warm shell */
.x-link,.footer-social{
  background:rgba(255,255,255,.035);border:1px solid var(--border);
}
.x-link:hover,.footer-social:hover{
  background:rgba(212,168,41,.10);border-color:var(--gold-line);
}
.contact-link{
  background:rgba(255,255,255,.04);border:1px solid var(--border);color:var(--text)!important;
}
.contact-link:hover{ background:var(--gold-soft);border-color:var(--gold-line); }

/* ── Market live pills (kept green/amber, refined chrome) ─────────────── */
.market-pill{
  font-family:var(--font-mono);background:rgba(255,255,255,.035);
  border-color:var(--border);
}

/* ── HERO ─────────────────────────────────────────────────────────────── */
.hero-v2{ padding:74px 28px 56px;gap:56px; }
.hero-v2::before{
  background:radial-gradient(closest-side, rgba(212,168,41,.20), transparent 70%);
  width:760px;height:560px;top:-90px;right:-240px;
}
.hero-kicker{
  font-family:var(--font-mono);font-size:10.5px;letter-spacing:1.4px;
  color:var(--accent-2);background:var(--gold-soft);
  border:1px solid var(--gold-line);text-transform:uppercase;
}
.hero-v2 h1{
  font-size:clamp(40px,5.6vw,66px);font-weight:600;line-height:1.02;
  letter-spacing:-.025em;margin:0 0 14px;color:var(--text);
}
.hero-v2 h1 .grad{
  font-style:italic;font-weight:500;
  background:linear-gradient(96deg,#f6dd8e,#d4a829 58%,#b8862a);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.h1-ar{ font-family:var(--font-ar);color:var(--text-2);font-weight:700; }
.hero-v2 .lede{ font-size:16.5px;color:var(--text-2);line-height:1.65;max-width:500px; }
.hero-v2 .lede-ar{ color:var(--muted); }

/* Buttons — gold primary, hairline ghost */
.btn,.btn-primary{
  background:linear-gradient(180deg,var(--accent-2),var(--accent));
  color:#1a1405;font-weight:700;border:none;
  box-shadow:0 1px 0 rgba(255,255,255,.3) inset, 0 8px 22px rgba(212,168,41,.26);
}
.btn:hover,.btn-primary:hover{
  transform:translateY(-1px);
  box-shadow:0 1px 0 rgba(255,255,255,.35) inset, 0 12px 30px rgba(212,168,41,.4);
}
.btn.ghost,.btn-ghost{
  background:rgba(255,255,255,.035);color:var(--text);
  border:1px solid var(--border-2);box-shadow:none;font-weight:600;
}
.btn.ghost:hover,.btn-ghost:hover{ background:rgba(212,168,41,.08);border-color:var(--gold-line); }

.hero-stats{ margin-top:40px;gap:30px; }
.hero-stats .n{
  font-family:var(--font-display);font-weight:600;font-size:30px;
  color:var(--text);font-variant-numeric:tabular-nums;
}
.hero-stats .l{ font-family:var(--font-mono);letter-spacing:.6px;color:var(--muted); }

/* Staggered, single page-load reveal (one orchestrated moment) */
.hero-left>*{ animation:tlRise .7s cubic-bezier(.2,.7,.2,1) both; }
.hero-left>*:nth-child(1){animation-delay:.02s}
.hero-left>*:nth-child(2){animation-delay:.09s}
.hero-left>*:nth-child(3){animation-delay:.16s}
.hero-left>*:nth-child(4){animation-delay:.23s}
.hero-left>*:nth-child(5){animation-delay:.30s}
.hero-left>*:nth-child(6){animation-delay:.37s}
.hero-viz{ animation:tlRise .8s cubic-bezier(.2,.7,.2,1) .22s both; }
@keyframes tlRise{ from{opacity:0;transform:translateY(16px)} to{opacity:1;transform:none} }

/* ── Hero "Markets at a glance" terminal panel ────────────────────────── */
.hero-viz{
  background:linear-gradient(180deg,#15150f,#0c0c0a);
  border:1px solid var(--border-2);
  border-radius:18px;
  box-shadow:0 34px 70px rgba(0,0,0,.6), 0 0 0 1px rgba(212,168,41,.07) inset;
}
.hero-viz::before{
  background:radial-gradient(circle at 100% 0%, rgba(212,168,41,.16), transparent 60%);
}
/* gold ticker hairline across the top of the panel */
.hero-viz::after{
  content:"";position:absolute;left:0;right:0;top:0;height:2px;z-index:2;
  background:linear-gradient(90deg,transparent,var(--accent),transparent);
  opacity:.7;
}
.hv-title{ font-family:var(--font-mono);color:var(--muted);letter-spacing:1.6px; }
.markets-grid{ gap:9px; }
.market-cell{
  background:rgba(255,255,255,.02);border:1px solid var(--border);
}
.market-cell:hover{
  border-color:var(--gold-line);background:rgba(212,168,41,.06);
}
.market-cell-lg{
  background:linear-gradient(135deg, rgba(212,168,41,.12), rgba(255,255,255,.02));
  border-color:var(--gold-line);
}
.mc-sym,.mc-price{ font-family:var(--font-display);font-weight:600; }
.mc-chg{ font-family:var(--font-mono); }
.markets-foot{ font-family:var(--font-mono); }

/* ── Section heads — editorial with a gold tick ───────────────────────── */
.sec-head h2{
  font-weight:600;font-size:30px;letter-spacing:-.02em;
  position:relative;padding-left:18px;
}
.sec-head h2::before{
  content:"";position:absolute;left:0;top:.18em;bottom:.18em;width:4px;
  border-radius:3px;background:linear-gradient(180deg,var(--accent-2),var(--accent-3));
}
.sec-head h2 .ar{ font-family:var(--font-ar);color:var(--muted);font-weight:400; }
.sec-head a{ color:var(--accent);font-weight:600; }
.sec-head a:hover{ color:var(--accent-2); }

/* ── Product tiles ────────────────────────────────────────────────────── */
.tile-v2{ background:var(--panel);border:1px solid var(--border);border-radius:16px; }
.tile-v2:hover{
  border-color:var(--gold-line);
  box-shadow:0 16px 40px rgba(0,0,0,.5), 0 0 0 1px rgba(212,168,41,.08) inset;
}
.tile-v2.featured{
  background:linear-gradient(150deg,#1c1810 0%, var(--panel) 60%);
  border-color:var(--gold-line);
  box-shadow:0 0 0 1px rgba(212,168,41,.12) inset, 0 16px 44px rgba(0,0,0,.5);
}
.tile-v2.featured::before{
  background:radial-gradient(circle, rgba(212,168,41,.20), transparent 70%);
}
.tile-v2-tag{ font-family:var(--font-mono);color:var(--muted); }
.tile-v2.featured .tile-v2-tag{ color:var(--accent-2); }
.tile-v2-title{ font-weight:600;letter-spacing:-.02em; }
.tile-v2-title-ar{ font-family:var(--font-ar); }
.tile-v2-desc{ color:var(--text-2); }
.tile-v2-meta .n{ font-family:var(--font-display);font-weight:600; }
.tile-v2.featured .tile-v2-meta .n{ color:var(--accent-2); }
.tile-v2-cta{ color:var(--accent); }
.tile-v2:hover .tile-v2-cta{ color:var(--accent-2); }

/* ── Today's-market card ──────────────────────────────────────────────── */
.market-card{
  background:linear-gradient(135deg, #16140e 0%, #0c0c0a 100%);
  border:1px solid var(--border-2);border-radius:18px;
}
.brief-summary{ font-family:var(--font-display);font-weight:600;color:var(--text); }
.mc-stat{ background:rgba(255,255,255,.02);border-color:var(--border); }
.mc-stat .v{ font-family:var(--font-display);font-weight:600; }
.brief-scan .bn{ font-family:var(--font-display);font-weight:600; }

/* ── Telegram CTA (keeps Telegram blue, reframed for the dark canvas) ──── */
.tg-cta{
  background:linear-gradient(135deg,#10243a 0%, #0a141f 100%);
  border:1px solid rgba(42,171,238,.30);border-radius:18px;
}
.tg-cta-text h3{ font-family:var(--font-display);font-weight:600; }
.tg-cta-text p{ color:var(--text-2); }

/* ── Footer ───────────────────────────────────────────────────────────── */
.site-footer{ background:var(--bg-2);border-top:1px solid var(--border); }
.footer-brand{ font-weight:700;letter-spacing:.02em; }
.footer-tag{ font-family:var(--font-mono);color:var(--accent);letter-spacing:2px; }
.footer-social b{ color:var(--accent); }

/* ── Analyze panel + assistant inherit the gold token automatically;
      just warm their surfaces to match the new canvas ─────────────────── */
.analyze-panel{ background:linear-gradient(180deg,var(--panel),#0c0c0a);border-color:var(--border-2); }
.ce-chat-widget,.asst-chat{ background:var(--panel);border-color:var(--border); }
.ce-chat-head{ background:linear-gradient(180deg,var(--gold-soft),transparent); }
.ce-chat-fab{ color:#1a1405;box-shadow:0 8px 24px rgba(212,168,41,.4); }
.ce-chat-fab:hover{ box-shadow:0 12px 30px rgba(212,168,41,.5); }
.ce-msg-user,.asst-msg-user,.ce-chat-send,.asst-send,.ce-chat-restore{ color:#1a1405; }

/* ── Laptop notice — gold instead of blue ─────────────────────────────── */
@media (max-width:900px){
  .laptop-notice{
    background:var(--gold-soft);border:1px solid var(--gold-line);
    border-left:3px solid var(--accent);color:var(--accent-2);
  }
}

/* ── Reduced-data / mobile hero tightening ────────────────────────────── */
@media (max-width:880px){
  .hero-v2{ padding:46px 22px 30px; }
}

/* ════════════════════════════════════════════════════════════════════════
   ▌ TERMINAL LUXE — follow-up pages sweep
   (product · brief/report · RS rating · about · contact · assistant · admin)
   Maps legacy display type to Fraunces and converts the last hardcoded blues
   to the gold system. Genuine brand colours (Telegram #2AABEE, X/Twitter
   #1d9bf0) are intentionally preserved.
   ════════════════════════════════════════════════════════════════════════ */

/* Editorial headings everywhere (was Manrope / system) */
.hero h1, .product-head h1, .report-section h2, .live-head h2,
.rs-hero h1, .alert-tk, .about-card h3,
.contact-card h2, .stat-num, .rh-price{
  font-family:var(--font-display);font-optical-sizing:auto;
  font-weight:600;letter-spacing:-.02em;
}
.hero p{ color:var(--text-2); }

/* Guide button (product pages) — blue → gold */
.guide-btn{
  background:var(--gold-soft);border:1px solid var(--gold-line);color:var(--accent-2);
}
.guide-btn:hover{ background:rgba(212,168,41,.2);border-color:var(--accent); }

/* Hero gradient keyword (.rs-hero is the shared hero shell used by About / Assistant) */
.rs-hero h1 .grad{
  background:linear-gradient(96deg,#f6dd8e,#d4a829 60%,#b8862a);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}


/* Analyze-panel market toggle */
.az-mkt-btn.active{
  background:var(--gold-soft);border-color:var(--accent);color:var(--accent-2);
}

/* Admin pills / tools / dropzone — blue → gold (operator surfaces) */
.admin-pill-agent{
  background:rgba(212,168,41,.16);border-color:var(--gold-line);color:var(--accent-2)!important;
}
.admin-pill-agent:hover{ background:rgba(212,168,41,.26); }
.admin-tool:hover{ background:var(--gold-soft);border-color:var(--gold-line); }
.admin-tool.active{ background:var(--gold-soft);border-color:var(--accent); }
.drop-zone.drag{ background:var(--gold-soft); }

/* Contact "Message Admin" icon — off-palette purple → gold */
.contact-icon-admin{ background:linear-gradient(135deg,#f4d06a 0%, #b8862a 100%); }
.contact-card:hover{ border-color:var(--gold-line); }

/* Stat blocks / report hero accents inherit gold via var(--accent);
   just warm their value colour */
.stat-num{ color:var(--accent); }

/* ════════════════════════════════════════════════════════════════════
   Sadu night homepage — July 2026 redesign (sd- namespace)
   ════════════════════════════════════════════════════════════════════ */

.sd-weave{
  height:14px; width:100%;
  background:
    repeating-linear-gradient(45deg,  var(--gold) 0 7px, transparent 7px 14px),
    repeating-linear-gradient(-45deg, var(--gold) 0 7px, transparent 7px 14px);
  background-size:14px 14px; opacity:.5;
}
.sd-dots{display:block; color:var(--gold); letter-spacing:8px; font-size:11px; opacity:.7; user-select:none; margin-bottom:28px;}

.sd-hero{
  max-width:1180px; margin:0 auto; padding:64px 28px 52px;
  display:grid; grid-template-columns:1.05fr .95fr; gap:52px; align-items:center;
}
.sd-kicker{
  display:inline-flex; gap:10px; align-items:center;
  color:var(--gold); font-size:13px; letter-spacing:2px; margin-bottom:20px;
}
.sd-kicker::before,.sd-kicker::after{content:'◆'; font-size:9px; opacity:.8;}
.sd-h1{
  font-family:var(--ar-display); font-weight:700;
  font-size:52px; line-height:1.35; color:var(--text); margin:0; letter-spacing:0;
}
.sd-h1 em{font-style:normal; color:var(--gold-hi);}
.sd-h-en{font-family:'Fraunces', serif; font-size:18px; color:var(--sand); margin-top:12px; text-align:right;}
.sd-lede{color:var(--muted); font-size:16px; margin-top:20px; max-width:52ch;}
.sd-cta-row{display:flex; gap:14px; margin-top:32px; flex-wrap:wrap;}
.sd-btn{
  text-decoration:none; font-size:15px; font-weight:600; padding:13px 26px;
  border-radius:2px; transition:all .2s; display:inline-block;
}
.sd-btn.gold{background:var(--gold); color:var(--bg);}
.sd-btn.gold:hover{background:var(--gold-hi); color:var(--bg);}
.sd-btn.ghost{color:var(--gold); border:1px solid var(--gold);}
.sd-btn.ghost:hover{background:rgba(201,162,39,.12);}
.sd-hero-stats{display:flex; gap:36px; margin-top:40px; flex-wrap:wrap;}
.sd-hero-stats > div{display:flex; flex-direction:column;}
.sd-hero-stats .n{font-family:var(--mono-nums); font-size:29px; font-weight:600; color:var(--text);}
.sd-hero-stats .l{font-size:12px; color:var(--sand); margin-top:4px;}

.sd-frame-wrap{position:relative; padding:8px;}
.sd-frame-svg{position:absolute; inset:0; width:100%; height:100%; pointer-events:none;}
.sd-frame-svg rect{
  fill:none; stroke:var(--gold); stroke-width:1.5;
  stroke-dasharray:3000; stroke-dashoffset:3000;
  animation:sd-draw 2.4s ease-out .3s forwards;
}
.sd-frame-svg rect.inner{stroke-width:.7; opacity:.5; animation-delay:.7s;}
@keyframes sd-draw{to{stroke-dashoffset:0;}}
@media (prefers-reduced-motion: reduce){ .sd-frame-svg rect{animation:none; stroke-dashoffset:0;} }
.sd-tasi-card{background:var(--panel); border:1px solid var(--border); padding:26px 28px 22px; text-align:center;}
.sd-tc-head{display:flex; justify-content:space-between; align-items:center; margin-bottom:10px;}
.sd-tc-head .mkt{font-size:13px; color:var(--gold); letter-spacing:3px;}
.sd-tc-head .clock{font-family:var(--mono-nums); font-size:12px; color:var(--sand);}
.sd-close-link{text-decoration:none; color:inherit; display:block;}
.sd-close{
  font-family:var(--mono-nums); font-size:56px; font-weight:600; line-height:1.05;
  color:var(--text); font-variant-numeric:tabular-nums;
}
.sd-chg{font-family:var(--mono-nums); font-size:18px; margin-top:10px;}
.sd-chg.dn{color:var(--err);} .sd-chg.up{color:var(--ok);}
.sd-asof{font-size:12px; color:var(--sand); margin-top:8px;}
.sd-tgrid{
  display:grid; grid-template-columns:1fr 1fr 1fr; gap:1px; background:var(--border);
  border-top:1px solid var(--border); margin-top:22px;
}
.sd-tgrid .cell{background:var(--panel); padding:12px 6px 10px; display:flex; flex-direction:column;}
.sd-tgrid .v{font-family:var(--mono-nums); font-size:16px; font-weight:600;}
.sd-tgrid .v.up{color:var(--ok);} .sd-tgrid .v.dn{color:var(--err);}
.sd-tgrid .k{font-size:11px; color:var(--sand); margin-top:3px;}
.sd-usrow{
  display:grid; grid-template-columns:1fr 1fr 1fr; gap:1px; background:var(--border);
  border-top:1px solid var(--border); margin-top:1px;
}
.sd-usrow .uscell{
  background:var(--panel-2); padding:11px 6px 10px; text-decoration:none; color:var(--text);
  display:flex; flex-direction:column; align-items:center; transition:background .2s;
}
.sd-usrow .uscell:hover{background:var(--panel);}
.sd-usrow .sym{font-size:11px; color:var(--sand); letter-spacing:1px;}
.sd-usrow .px{font-family:var(--mono-nums); font-size:15px; font-weight:600; margin-top:3px;}
.sd-usrow .ch{font-family:var(--mono-nums); font-size:11px; margin-top:2px;}
.sd-usrow .ch.up{color:var(--ok);} .sd-usrow .ch.dn{color:var(--err);}
.sd-usrow .as{font-size:11px; color:var(--sand); margin-top:2px; opacity:.85;}
.sd-foot{font-size:11px; color:var(--sand); margin-top:14px;}

.sd-sec{max-width:1180px; margin:0 auto; padding:48px 28px;}
.sd-sec-head{display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin-bottom:8px;}
.sd-sec-head h2{font-family:var(--ar-display); font-size:32px; font-weight:700; color:var(--text); margin:0; letter-spacing:0;}
.sd-sec-head .en{font-family:'Fraunces', serif; font-size:15px; color:var(--sand);}
.sd-sec-head a{color:var(--gold); text-decoration:none; font-size:14px;}
.sd-sec-head a:hover{color:var(--gold-hi);}

.sd-panels{display:grid; grid-template-columns:1.35fr 1fr 1fr; gap:18px;}
.sd-panel{
  background:var(--panel); border:1px solid var(--border); text-decoration:none; color:var(--text);
  padding:0 0 24px; transition:transform .25s, border-color .25s; display:block;
}
.sd-panel:hover{transform:translateY(-4px); border-color:var(--gold);}
.sd-panel .sd-weave{margin-bottom:20px;}
.sd-panel .inner{padding:0 22px;}
.sd-panel .tag{font-size:11px; color:var(--gold); letter-spacing:2.5px;}
.sd-panel h3{font-family:var(--ar-display); font-size:25px; font-weight:700; margin:10px 0 0; letter-spacing:0;}
.sd-panel .en-name{font-family:'Fraunces', serif; font-size:13px; color:var(--sand); text-align:right;}
.sd-panel p{color:var(--muted); font-size:14px; margin:12px 0 0;}
.sd-panel .meta{display:flex; gap:24px; margin-top:18px;}
.sd-panel .meta > div{display:flex; flex-direction:column;}
.sd-panel .meta .n{font-family:var(--mono-nums); font-size:19px; font-weight:600; color:var(--gold-hi);}
.sd-panel .meta .l{font-size:11px; color:var(--sand);}
.sd-panel .go{display:inline-block; margin-top:20px; color:var(--gold); font-size:14px; font-weight:600;}
.sd-panel:hover .go{color:var(--gold-hi);}
.sd-panel.flag{background:linear-gradient(180deg, #221A10, var(--panel));}

.sd-majlis{display:grid; grid-template-columns:1.2fr 1fr 1fr 1fr 1fr; gap:1px; background:var(--border); border:1px solid var(--border);}
.sd-majlis .mj{background:var(--panel); padding:22px 18px; display:flex; flex-direction:column;}
.sd-majlis .k{font-size:12px; color:var(--sand); letter-spacing:1px;}
.sd-majlis .v{font-family:var(--mono-nums); font-size:23px; font-weight:600; margin-top:8px;}
.sd-majlis .v.sm{font-size:16px; font-family:var(--ar-body);}
.sd-majlis .v.up{color:var(--ok);} .sd-majlis .v.dn{color:var(--err);}
.sd-majlis .s{font-size:12px; color:var(--muted); margin-top:4px;}
.sd-majlis .mj.brief{background:linear-gradient(135deg, #221A10, var(--panel));}
.sd-majlis .mj.brief .title{font-family:var(--ar-display); font-size:21px; font-weight:700; color:var(--gold-hi);}
.sd-majlis .mj.brief .date{font-family:var(--mono-nums); font-size:11px; color:var(--sand); margin-top:6px; text-align:right;}
.sd-majlis .mj.brief a{color:var(--gold); font-size:13px; text-decoration:none; display:inline-block; margin-top:12px;}

.sd-research{
  display:flex; justify-content:space-between; align-items:center; gap:24px;
  background:var(--panel); border:1px solid var(--border); border-right:4px solid var(--gold);
  padding:26px 28px; text-decoration:none; color:var(--text); transition:border-color .2s;
}
.sd-research:hover{border-color:var(--gold);}
.sd-research .t-ar{font-family:var(--ar-display); font-size:23px; font-weight:700;}
.sd-research .t-en{font-family:'Fraunces', serif; font-size:13px; color:var(--sand); margin-top:6px; text-align:right;}
.sd-research .date{font-family:var(--mono-nums); font-size:11px; color:var(--sand); margin-top:6px; text-align:right;}
.sd-research .read{color:var(--gold); font-weight:600; white-space:nowrap; font-size:15px;}

.sd-tg{
  border:1px solid var(--gold); padding:28px 30px;
  display:flex; justify-content:space-between; align-items:center; gap:22px; flex-wrap:wrap;
}
.sd-tg h3{font-family:var(--ar-display); font-size:25px; color:var(--gold-hi); margin:0; letter-spacing:0;}
.sd-tg p{color:var(--muted); font-size:14px; margin:6px 0 0;}

@media(max-width:960px){
  .sd-hero{grid-template-columns:1fr; padding:40px 18px; gap:36px;}
  .sd-h1{font-size:38px;}
  .sd-close{font-size:44px;}
  .sd-panels{grid-template-columns:1fr;}
  .sd-majlis{grid-template-columns:1fr 1fr;}
  .sd-majlis .mj.brief{grid-column:1 / -1;}
  .sd-sec{padding:36px 18px;}
}

/* ── First-visit simplification (July 2026) ─────────────────────────
   Disclaimer: short summary up front, full legal text behind an expander.
   Assistant: orientation quick-start chips in the welcome message. */
.modal-summary p{
  font-size:15px; line-height:1.8; margin:0 0 10px; color:var(--text);
}
.modal-summary{border-bottom:1px solid var(--border); padding-bottom:14px; margin-bottom:14px;}
.modal-full summary{
  cursor:pointer; color:var(--gold); font-size:13px; font-weight:600;
  padding:6px 0; user-select:none;
}
.modal-full summary:hover{color:var(--gold-hi);}
.modal-full[open] summary{margin-bottom:10px;}

.ce-chips{display:flex; flex-direction:column; gap:8px; margin:10px 0 4px; align-items:flex-start;}
.ce-chip{
  background:rgba(201,162,39,0.10); color:var(--gold-hi);
  border:1px solid var(--gold); border-radius:999px;
  padding:9px 16px; font-size:13.5px; font-weight:600; cursor:pointer;
  font-family:var(--ar-body); transition:background .15s;
  text-align:right;
}
.ce-chip:hover{background:var(--gold); color:var(--bg);}

/* ── RS Rating: featured PDF report ─────────────────────────────── */

/* ════════════════════════════════════════════════════════════════════
   Mobile App view for the SAR / US dashboards (phones ≤900px)
   Server-rendered sectioned view; the desktop terminal is hidden on
   phones and reachable via the "open full dashboard" link.
   ════════════════════════════════════════════════════════════════════ */
.mv-app{ display:none; }
@media (max-width:900px){
  .product-head, .disc-peek, .disc-fold, .laptop-notice,
  .product-frame, .ce-frame-wrap, .disclaimer, .disclaimer-full{ display:none !important; }
  .mv-app{ display:block; padding-bottom:80px; }
}

/* ── Watchlist search ────────────────────────────────────────────────── */
.mv-search{ padding:0 16px 10px; position:relative; }
.mv-search input{ width:100%; padding:11px 14px; border-radius:12px;
  border:1px solid var(--line,#2a2419); background:var(--card,#1b1610);
  color:var(--fg,#e8e0d2); font-size:15px; font-family:inherit; }
.mv-search input::placeholder{ color:var(--muted,#8a8073); }
.mv-search input:focus{ outline:none; border-color:var(--gold,#C9A227); }
.mv-results{ margin-top:8px; max-height:46vh; overflow-y:auto;
  border:1px solid var(--line,#2a2419); border-radius:12px; background:var(--card,#1b1610); }
.mv-res{ display:flex; align-items:center; gap:10px; width:100%; padding:11px 13px;
  background:none; border:0; border-bottom:1px solid var(--line,#2a2419);
  color:var(--fg,#e8e0d2); font-family:inherit; font-size:14px; text-align:start; cursor:pointer; }
.mv-res:last-child{ border-bottom:0; }
.mv-res .t{ font-weight:700; min-width:56px; }
.mv-res .n{ flex:1; color:var(--muted,#8a8073); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.mv-res .a{ color:var(--gold,#C9A227); font-size:17px; }

/* ── Star toggle on a row ────────────────────────────────────────────── */
.mv-star{ background:none; border:0; cursor:pointer; padding:2px 4px; margin-inline-start:8px;
  font-size:16px; line-height:1; color:var(--muted,#5c5449); }
.mv-star.on{ color:var(--gold,#C9A227); }

/* Rows are tappable now — give the touch some feedback. */
.mv-row{ cursor:pointer; -webkit-tap-highlight-color:transparent; }
.mv-row:active{ background:rgba(201,162,39,.07); }

/* ── Stock detail sheet ──────────────────────────────────────────────── */
.mv-sheet[hidden]{ display:none; }
.mv-sheet{ position:fixed; inset:0; z-index:60; display:flex; align-items:flex-end; justify-content:center; }
.mv-sheet-bd{ position:absolute; inset:0; background:rgba(0,0,0,.62); }
.mv-sheet-panel{ position:relative; width:100%; max-width:520px;
  background:var(--card,#1b1610); border:1px solid var(--line,#2a2419);
  border-radius:18px 18px 0 0; padding:18px 16px calc(20px + env(safe-area-inset-bottom));
  max-height:86vh; overflow-y:auto; animation:mvUp .18s ease-out; }
@keyframes mvUp{ from{ transform:translateY(14px); opacity:.6 } to{ transform:none; opacity:1 } }
@media (prefers-reduced-motion: reduce){ .mv-sheet-panel{ animation:none } }
.mv-sheet-x{ position:absolute; inset-inline-end:12px; top:12px; background:none; border:0;
  color:var(--muted,#8a8073); font-size:17px; cursor:pointer; padding:4px 8px; }
.mv-sh-h{ display:flex; align-items:flex-start; justify-content:space-between; gap:12px;
  padding-inline-end:32px; margin-bottom:14px; }
.mv-sh-h .t{ font-size:21px; font-weight:800; color:var(--gold,#C9A227); }
.mv-sh-h .n{ font-size:13px; color:var(--muted,#8a8073); margin-top:2px; }
.mv-sh-h .p{ text-align:end; }
.mv-sh-h .p .v{ font-size:22px; font-weight:800; font-variant-numeric:tabular-nums; }
.mv-sh-h .p .c{ font-size:13px; font-weight:700; }
.mv-sh-h .p .c.up{ color:var(--ok,#4ea86b); }
.mv-sh-h .p .c.dn{ color:var(--err,#c2564b); }
.mv-sh-flag{ background:rgba(201,162,39,.12); color:var(--gold,#C9A227);
  border-radius:9px; padding:7px 11px; font-size:12px; font-weight:700; margin-bottom:12px; }
.mv-sh-grid{ display:grid; grid-template-columns:1fr 1fr; gap:1px;
  background:var(--line,#2a2419); border:1px solid var(--line,#2a2419); border-radius:12px; overflow:hidden; }
.mv-sh-grid .c{ background:var(--card,#1b1610); padding:10px 12px;
  display:flex; flex-direction:column; gap:3px; }
.mv-sh-grid .k{ font-size:11px; color:var(--muted,#8a8073); }
.mv-sh-grid .v{ font-size:15px; font-weight:700; font-variant-numeric:tabular-nums; }
.mv-sh-note{ margin-top:12px; font-size:13px; color:var(--muted,#8a8073); line-height:1.6; }
.mv-sh-act{ display:flex; gap:10px; margin-top:16px; }
.mv-sh-btn{ flex:1; text-align:center; padding:12px; border-radius:12px; cursor:pointer;
  border:1px solid var(--gold,#C9A227); background:var(--gold,#C9A227); color:#14100C;
  font-weight:800; font-size:14px; font-family:inherit; text-decoration:none; }
.mv-sh-btn.ghost{ background:none; color:var(--gold,#C9A227); }
.mv-sh-btn.on{ background:none; color:var(--gold,#C9A227); }

/* Freshness stamp — live (green, pulsing) vs archived (muted). */
.mv-stamp{ display:flex; align-items:center; gap:6px; justify-content:flex-end;
  padding:0 16px 6px; font-size:11px; color:var(--muted,#8a8073); letter-spacing:.2px; }
.mv-stamp .d{ width:6px; height:6px; border-radius:50%; background:var(--muted,#8a8073); }
.mv-stamp.is-live{ color:var(--ok,#4ea86b); }
.mv-stamp.is-live .d{ background:var(--ok,#4ea86b); animation:mvpulse 2s ease-in-out infinite; }
@keyframes mvpulse{ 0%,100%{opacity:1} 50%{opacity:.35} }
@media (prefers-reduced-motion: reduce){ .mv-stamp.is-live .d{ animation:none; } }

/* Today's move on a signal card, next to the price. */
.mv-app .d1{ font-size:11px; font-weight:700; margin-inline-start:6px; }
.mv-app .d1.up{ color:var(--ok,#4ea86b); }
.mv-app .d1.dn{ color:var(--err,#c2564b); }

/* Mobile App view component styles. Unconditional (not media-gated) so the
   dedicated /m/<key> page renders correctly even in desktop-spoofing phone
   browsers. Harmless on desktop: .mv-app stays display:none there. */
.mv-app .up{ color:var(--ok); }
.mv-app .dn{ color:var(--err); }
.mv-top{ display:flex; align-items:center; justify-content:space-between; padding:10px 16px 4px; }
.mv-brand{ display:flex; align-items:baseline; gap:7px; }
.mv-brand .a{ font-family:var(--ar-display); font-weight:700; font-size:20px; color:var(--gold-hi); line-height:1; }
.mv-brand .e{ font-size:9px; color:var(--sand); letter-spacing:1.2px; }
.mv-pill{ display:inline-flex; align-items:center; gap:6px; font-size:11px; padding:4px 10px; border-radius:99px; }
.mv-pill .dot{ width:7px; height:7px; border-radius:50%; background:currentColor; }
.mv-pill.mv-open{ color:var(--ok); background:rgba(76,175,110,.12); border:1px solid rgba(76,175,110,.4); }
.mv-pill.mv-pre, .mv-pill.mv-closed{ color:var(--gold-hi); background:rgba(201,162,39,.10); border:1px solid rgba(201,162,39,.4); }
.mv-page{ display:none; }
.mv-page.mv-on{ display:block; }
.mv-sec-h{ display:flex; align-items:baseline; gap:8px; padding:12px 16px 6px; }
.mv-sec-h h2{ font-family:var(--ar-display); font-size:24px; color:var(--ink); margin:0; letter-spacing:0; }
.mv-sec-h .en{ font-size:11px; color:var(--sand); }
.mv-framewrap{ position:relative; padding:7px; margin:4px 16px 0; }
.mv-fsvg{ position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.mv-fsvg rect{ fill:none; stroke:var(--gold); stroke-width:1.4; stroke-dasharray:2200; stroke-dashoffset:2200; animation:mvdraw 2.2s ease-out .2s forwards; }
.mv-fsvg rect.i{ stroke-width:.6; opacity:.5; animation-delay:.6s; }
to{ stroke-dashoffset:0; }
.mv-tcard{ background:var(--panel); border:1px solid var(--line); padding:16px 14px 12px; text-align:center; }
.mv-tcard .mk{ font-size:12px; color:var(--gold); letter-spacing:2px; }
.mv-tcard .close{ font-family:var(--mono-nums); font-size:44px; font-weight:600; color:var(--ink); line-height:1.1; margin-top:4px; }
.mv-tcard .chg{ font-family:var(--mono-nums); font-size:16px; margin-top:6px; }
.mv-tcard .asof{ font-size:10px; color:var(--sand); margin-top:6px; }
.mv-tgrid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(84px,1fr)); gap:1px; background:var(--line); border-top:1px solid var(--line); margin-top:12px; }
.mv-tgrid .cell{ background:var(--panel); padding:10px 4px; display:flex; flex-direction:column; }
.mv-tgrid .v{ font-family:var(--mono-nums); font-size:14px; font-weight:600; }
.mv-tgrid .k{ font-size:10px; color:var(--sand); margin-top:2px; }
.mv-verdict{ margin:12px 16px 0; background:var(--panel-2); border:1px solid var(--line); border-right:3px solid var(--gold); padding:11px 13px; }
.mv-verdict .t{ font-family:var(--ar-display); font-size:16px; color:var(--gold-hi); margin-bottom:3px; }
.mv-verdict .b{ font-size:13px; color:var(--muted); line-height:1.7; }
.mv-openfull{ margin:14px 16px 0; text-align:center; }
.mv-openfull a{ display:inline-block; color:var(--gold); font-size:13px; text-decoration:none; border:1px solid var(--gold); padding:9px 18px; border-radius:4px; }
.mv-rows{ padding:4px 16px 0; }
.mv-row{ display:flex; align-items:center; justify-content:space-between; gap:10px; background:var(--panel); border:1px solid var(--line); border-radius:12px; padding:11px 13px; margin-bottom:9px; }
.mv-row.col{ flex-direction:column; align-items:stretch; }
.mv-row .hd{ display:flex; justify-content:space-between; align-items:baseline; gap:8px; }
.mv-row .tk{ font-family:var(--mono-nums); font-weight:600; font-size:16px; color:var(--ink); }
.mv-row .tk small, .mv-row .nm{ font-family:var(--ar-body); font-size:11px; color:var(--sand); font-weight:400; }
.mv-row .nm{ display:block; margin-top:2px; }
.mv-row .r{ text-align:left; }
.mv-row .pc{ font-family:var(--mono-nums); font-size:15px; font-weight:600; }
.mv-row .pc small{ font-size:9px; color:var(--sand); }
.mv-row .px{ font-family:var(--mono-nums); font-size:13px; color:var(--muted); display:block; }
.mv-badges{ display:flex; gap:6px; margin-top:7px; flex-wrap:wrap; }
.mv-badges .bdg{ font-size:10px; font-weight:600; padding:2px 8px; border-radius:99px; }
.mv-badges .b-s2{ color:var(--ok); background:rgba(76,175,110,.12); border:1px solid rgba(76,175,110,.35); }
.mv-badges .b-sc{ color:var(--bg); background:var(--gold); }
.mv-badges .b-rs{ color:var(--gold-hi); background:rgba(201,162,39,.1); border:1px solid rgba(201,162,39,.35); }
.mv-badges .b-bo{ color:var(--gold-hi); background:transparent; border:1px dashed rgba(201,162,39,.5); }
.mv-sbar{ height:6px; border-radius:99px; background:var(--line); overflow:hidden; margin-top:8px; }
.mv-sbar i{ display:block; height:100%; }
.mv-empty{ color:var(--sand); font-size:13px; text-align:center; padding:32px 16px; }
.mv-tabs{ position:fixed; bottom:0; left:0; right:0; height:64px; background:rgba(20,16,12,.97); backdrop-filter:blur(10px); border-top:1px solid var(--line); display:flex; padding-bottom:4px; z-index:40; }
.mv-tab{ flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; background:none; border:0; color:var(--sand); cursor:pointer; font-size:10px; font-family:var(--ar-body); position:relative; padding-top:8px; }
.mv-tab svg{ width:22px; height:22px; stroke:currentColor; fill:none; stroke-width:1.7; }
.mv-tab.mv-on{ color:var(--gold-hi); }
.mv-tab.mv-on::before{ content:""; position:absolute; top:0; width:32px; height:2px; background:var(--gold); }
/* the site-wide chat launcher would overlap the tab bar — lift it */
  .ce-chat-launcher{ bottom:74px !important; }
