/* ============================================================
   RAMSAROOP PROFESSIONAL — "Mining in Guyana" Sector Hub
   css/mining-hub.css  ·  page-local 2100-dark layer
   ------------------------------------------------------------
   Scoped ENTIRELY to [data-mining-hub] so nothing leaks to other
   pages. Relies on tokens-2100.css semantic vars ([data-theme=2100]
   on <main>) for the sanctioned palette. Gold #C6A15B is banned as
   text on light/reading panels — use --c-gold-ivory #8B6914 there.
   ============================================================ */

/* ---- Sticky sub-nav ------------------------------------------------- */
[data-mining-hub] .mh-subnav {
  position: sticky;
  top: var(--nav-height, 68px);
  z-index: 40;
  background: rgba(10, 15, 22, 0.92);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(198, 161, 91, 0.35);
}
[data-mining-hub] .mh-subnav-inner {
  max-width: var(--data-max, 1200px);
  margin: 0 auto;
  padding: 0 var(--sp-5, 24px);
}
[data-mining-hub] .mh-subnav ol {
  list-style: none;
  margin: 0;
  padding: 6px 0;
  display: flex;
  flex-wrap: nowrap;
  gap: 2px;
  overflow-x: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(198, 161, 91, 0.4) transparent;
}
[data-mining-hub] .mh-subnav a {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  min-height: 44px;
  padding: 8px 14px;
  white-space: nowrap;
  color: var(--text-secondary, #C9D2DC);
  text-decoration: none;
  font-size: 0.8rem;
  font-weight: 500;
  border-radius: 6px;
  border: 1px solid transparent;
}
[data-mining-hub] .mh-subnav a .mh-sn-no {
  font-family: var(--font-mono, monospace);
  font-size: 0.72rem;
  color: var(--c-gold, #C6A15B);
  font-variant-numeric: tabular-nums;
}
[data-mining-hub] .mh-subnav a:hover { color: var(--text-primary, #F7F3EA); background: rgba(247,243,234,0.05); }
[data-mining-hub] .mh-subnav a:focus-visible {
  outline: 2px solid var(--focus, #D4B572);
  outline-offset: 2px;
  color: var(--text-primary, #F7F3EA);
}
[data-mining-hub] .mh-subnav a[aria-current="location"] {
  color: var(--text-primary, #F7F3EA);
  border-color: rgba(198, 161, 91, 0.55);
  background: rgba(198, 161, 91, 0.12);
}

/* ---- Section blocks / rhythm ---------------------------------------- */
[data-mining-hub] .mh-block {
  padding: clamp(48px, 8vw, 96px) var(--sp-5, 24px);
  border-top: 1px solid rgba(198, 161, 91, 0.28);
  background: var(--bg-canvas, #0A0F16);
}
[data-mining-hub] .mh-block.mh-alt-1 { background: var(--bg-surface1, #121A24); }
[data-mining-hub] .mh-block.mh-alt-2 { background: var(--bg-surface2, #1A2430); }
[data-mining-hub] .mh-block .mh-wrap {
  max-width: var(--data-max, 1200px);
  margin: 0 auto;
}
[data-mining-hub] .mh-block .mh-prose {
  max-width: var(--prose-max, 780px);
  color: var(--text-secondary, #C9D2DC);
  line-height: 1.7;
  font-size: var(--fs-body, 1.02rem);
}
[data-mining-hub] .mh-block h2 {
  font-size: var(--fs-h2, 1.8rem);
  font-weight: 300;
  line-height: 1.2;
  color: var(--text-primary, #F7F3EA);
  margin: 4px 0 18px;
  max-width: var(--prose-max, 780px);
}
[data-mining-hub] .mh-block h3 {
  font-size: 1.15rem;
  font-weight: 600;
  color: var(--text-primary, #F7F3EA);
  margin: 28px 0 10px;
}
[data-mining-hub] .mh-kicker {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 6px;
}
[data-mining-hub] .mh-kicker .mh-kno {
  font-family: var(--font-mono, monospace);
  font-size: 0.85rem;
  color: var(--c-gold, #C6A15B);
  letter-spacing: 0.04em;
  font-variant-numeric: tabular-nums;
}
[data-mining-hub] .mh-kicker .mh-klab {
  font-family: var(--font-mono, monospace);
  font-size: 0.78rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-muted, #9CA3AF);
}

/* ---- Prose helpers -------------------------------------------------- */
[data-mining-hub] .mh-prose p { margin: 0 0 1rem; }
[data-mining-hub] .mh-prose ul { margin: 0 0 1.1rem; padding-left: 1.2rem; }
[data-mining-hub] .mh-prose li { margin-bottom: 0.55rem; }
[data-mining-hub] .mh-prose b, [data-mining-hub] .mh-prose strong { color: var(--text-primary, #F7F3EA); font-weight: 600; }
[data-mining-hub] .mh-prose a {
  color: var(--c-gold-light, #D4B572);
  text-decoration: underline;
  text-underline-offset: 2px;
}
[data-mining-hub] .mh-prose a:focus-visible {
  outline: 2px solid var(--focus, #D4B572);
  outline-offset: 2px;
  border-radius: 2px;
}

/* ---- Evidence / source line ----------------------------------------- */
[data-mining-hub] .mh-src {
  font-family: var(--font-mono, monospace);
  font-size: var(--fs-data-sm, 0.78rem);
  color: var(--text-muted, #9CA3AF);
  font-variant-numeric: tabular-nums;
}
[data-mining-hub] .mh-src .mh-src-tier { color: var(--c-sand, #D7CDB4); }

/* ---- Decision callout ------------------------------------------------ */
[data-mining-hub] .mh-decision {
  border-left: 4px solid var(--c-gold, #C6A15B);
  background: var(--bg-surface1, #121A24);
  border-radius: 8px;
  padding: 20px 22px;
  margin: 26px 0;
  max-width: var(--prose-max, 780px);
}
[data-mining-hub] .mh-decision .mh-dec-kicker {
  font-family: var(--font-mono, monospace);
  font-size: 0.78rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--c-gold, #C6A15B);
  display: block;
  margin-bottom: 8px;
}
[data-mining-hub] .mh-decision .mh-dec-who {
  font-size: 0.82rem;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--text-muted, #9CA3AF);
  margin-bottom: 6px;
}
[data-mining-hub] .mh-decision .mh-dec-body {
  color: var(--text-secondary, #C9D2DC);
  line-height: 1.65;
  font-size: var(--fs-body, 1.02rem);
}
[data-mining-hub] .mh-decision .mh-dec-body b { color: var(--text-primary, #F7F3EA); }

/* ---- Evidence-pending slot ------------------------------------------- */
[data-mining-hub] .mh-evidence-pending {
  border: 1px dashed var(--c-sand, #D7CDB4);
  background: var(--bg-surface1, #121A24);
  border-radius: 8px;
  padding: 18px 20px;
  margin: 22px 0;
  max-width: var(--prose-max, 780px);
}
[data-mining-hub] .mh-evidence-pending .mh-ep-lab {
  font-family: var(--font-mono, monospace);
  font-size: 0.76rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--c-sand, #D7CDB4);
  display: block;
  margin-bottom: 8px;
}
[data-mining-hub] .mh-evidence-pending .mh-ep-body {
  color: var(--text-secondary, #C9D2DC);
  line-height: 1.6;
  font-size: 0.96rem;
}
[data-mining-hub] .mh-evidence-pending .mh-ep-body b { color: var(--c-sand, #D7CDB4); }

/* ---- Bifm tag family (dark-surface 2100) ------------------------------ */
[data-mining-hub] .bifm-tag {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-family: var(--font-mono, monospace);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  padding: 3px 8px;
  border-radius: 4px;
  border: 1px solid;
  line-height: 1.2;
  vertical-align: middle;
  white-space: nowrap;
}
[data-mining-hub] .bifm-tag .bifm-tag-glyph { font-style: normal; }
[data-mining-hub] .bifm-tag.fact        { color: var(--c-gold, #C6A15B); border-color: rgba(198,161,91,0.6); background: rgba(198,161,91,0.08); }
[data-mining-hub] .bifm-tag.analysis    { color: var(--c-platinum, #C9D2DC); border-color: rgba(201,210,220,0.4); background: rgba(201,210,220,0.05); }
[data-mining-hub] .bifm-tag.forecast    { color: var(--c-gold-light, #D4B572); border:1px dashed rgba(198,161,91,0.7); background: rgba(198,161,91,0.06); }
[data-mining-hub] .bifm-tag.scenario    { color: #8FB0A8; border:1px dashed rgba(143,176,168,0.6); background: rgba(143,176,168,0.06); }
[data-mining-hub] .bifm-tag.gap         { color: var(--c-sand, #D7CDB4); border:1px dashed rgba(215,205,180,0.7); background: rgba(215,205,180,0.06); }
[data-mining-hub] .bifm-tag.owner       { color: var(--c-sand, #D7CDB4); border:1px dashed rgba(215,205,180,0.7); background: rgba(215,205,180,0.06); }
[data-mining-hub] .bifm-tag.confidential{ color: var(--c-teal-light, #3D8278); border:1px dashed rgba(61,130,120,0.7); background: rgba(61,130,120,0.08); }

/* ---- Data tables ----------------------------------------------------- */
[data-mining-hub] .fs-issue {
  border-collapse: collapse;
  width: 100%;
  font-size: 0.9rem;
  margin: 1.1rem 0;
  color: var(--text-secondary, #C9D2DC);
}
[data-mining-hub] .fs-issue caption {
  text-align: left;
  font-family: var(--font-mono, monospace);
  font-size: var(--fs-data-sm, 0.78rem);
  color: var(--text-muted, #9CA3AF);
  margin-bottom: 8px;
}
[data-mining-hub] .fs-issue th,
[data-mining-hub] .fs-issue td {
  border: 1px solid rgba(201,210,220,0.16);
  padding: 0.55rem 0.7rem;
  text-align: left;
  vertical-align: top;
  font-variant-numeric: tabular-nums;
}
[data-mining-hub] .fs-issue thead th {
  background: var(--bg-surface2, #1A2430);
  color: var(--c-gold, #C6A15B);
  font-weight: 600;
  font-size: 0.78rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
[data-mining-hub] .fs-issue tbody tr:nth-child(even) td { background: rgba(247,243,234,0.02); }
[data-mining-hub] .fs-issue .t { white-space: nowrap; color: var(--c-gold-light, #D4B572); font-weight: 600; }
[data-mining-hub] .fs-issue .num { text-align: right; font-variant-numeric: tabular-nums; }

/* ---- Chart fallback table -------------------------------------------- */
[data-mining-hub] .mh-chart-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.86rem;
  color: var(--text-secondary, #C9D2DC);
}
[data-mining-hub] .mh-chart-table th, [data-mining-hub] .mh-chart-table td {
  border: 1px solid rgba(201,210,220,0.16);
  padding: 0.45rem 0.6rem;
  text-align: right;
  font-variant-numeric: tabular-nums;
}
[data-mining-hub] .mh-chart-table th:first-child, [data-mining-hub] .mh-chart-table td:first-child { text-align: left; }
[data-mining-hub] .mh-chart-table thead th { background: var(--bg-surface2, #1A2430); color: var(--c-gold, #C6A15B); font-size: 0.76rem; text-transform: uppercase; letter-spacing: 0.05em; }
[data-mining-hub] .mh-chart-table .low { color: var(--c-sand, #D7CDB4); }

/* ---- Chart (procedural, static-first with table fallback) ------------- */
[data-mining-hub] .mh-chart-wrap { max-width: var(--data-max, 1200px); margin: 22px 0; overflow-x: auto; }
[data-mining-hub] .mh-chart-bars { display: flex; align-items: flex-end; gap: 14px; height: 220px; padding: 10px 6px 0; border-bottom: 1px solid rgba(201,210,220,0.25); }
[data-mining-hub] .mh-chart-bars .bar-col { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 6px; min-width: 34px; }
[data-mining-hub] .mh-chart-bars .bar { width: 100%; max-width: 52px; background: linear-gradient(180deg, var(--c-gold-light, #D4B572), var(--c-gold, #C6A15B)); border-radius: 3px 3px 0 0; }
[data-mining-hub] .mh-chart-bars .bar.low { background: repeating-linear-gradient(45deg, rgba(215,205,180,0.25) 0 6px, transparent 6px 12px); }
[data-mining-hub] .mh-chart-bars .bar-label { font-family: var(--font-mono, monospace); font-size: 0.7rem; color: var(--text-muted, #9CA3AF); font-variant-numeric: tabular-nums; }
[data-mining-hub] .mh-chart-bars .bar-val { font-family: var(--font-mono, monospace); font-size: 0.72rem; color: var(--text-secondary, #C9D2DC); font-variant-numeric: tabular-nums; transform: translateY(-2px); }

/* ---- Map -------------------------------------------------------------- */
[data-mining-hub] .mh-map-wrap {
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: 24px;
  max-width: var(--data-max, 1200px);
  margin: 22px 0;
}
[data-mining-hub] .mh-map-svg {
  width: 100%;
  background: var(--bg-surface1, #121A24);
  border-radius: 8px;
  border: 1px solid rgba(201,210,220,0.16);
}
[data-mining-hub] .mh-map-svg .mh-coast { fill: none; stroke: var(--c-gold, #C6A15B); stroke-width: 1.4px; }
[data-mining-hub] .mh-map-svg .mh-graticule { stroke: rgba(201,210,220,0.1); stroke-width: 0.6; }
[data-mining-hub] .mh-map-svg .mh-region { fill: rgba(198,161,91,0.10); }
[data-mining-hub] .mh-map-svg .mh-belt { fill: url(#mh-dot); }
[data-mining-hub] .mh-pin { cursor: pointer; }
[data-mining-hub] .mh-pin circle.pin-core { transition: opacity 0.15s ease; }
[data-mining-hub] .mh-pin:focus-visible, [data-mining-hub] .mh-pin.focused {
  outline: 2px solid var(--focus, #D4B572);
  outline-offset: 2px;
}
[data-mining-hub] .mh-pin-dot {
  fill: var(--c-gold, #C6A15B);
  transition: opacity 0.15s ease;
}
[data-mining-hub] .mh-pin-dot.home { fill: var(--c-teal-light, #3D8278); }
[data-mining-hub] .mh-pin-dot.site { fill: var(--c-teal-light, #3D8278); opacity: 0.85; }
[data-mining-hub] .mh-pin text { font-family: var(--font-mono, monospace); font-size: 9px; fill: var(--text-primary, #F7F3EA); }
[data-mining-hub] .mh-pin text.mh-pin-glyph { fill: var(--c-gold-light, #D4B572); }
[data-mining-hub] .mh-legend { margin: 0; padding: 0; list-style: none; }
[data-mining-hub] .mh-legend li {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 0;
  color: var(--text-secondary, #C9D2DC);
  font-size: 0.86rem;
  border-bottom: 1px solid rgba(201,210,220,0.1);
}
[data-mining-hub] .mh-legend .lg-glyph { font-family: var(--font-mono, monospace); color: var(--c-gold, #C6A15B); min-width: 16px; }
[data-mining-hub] .mh-legend .lg-glyph.teal { color: var(--c-teal-light, #3D8278); }
[data-mining-hub] .mh-legend .lg-glyph.dashed { color: var(--c-sand, #D7CDB4); }
[data-mining-hub] .mh-map-panel h3 { margin-top: 0; }
[data-mining-hub] .mh-map-panel .mh-factbox { margin-top: 14px; }
[data-mining-hub] .mh-factbox {
  background: var(--bg-surface1, #121A24);
  border-left: 3px solid var(--c-gold, #C6A15B);
  border-radius: 6px;
  padding: 12px 16px;
  font-size: 0.9rem;
  color: var(--text-secondary, #C9D2DC);
}
[data-mining-hub] .mh-factbox .mh-fb-kicker {
  font-family: var(--font-mono, monospace);
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--c-gold, #C6A15B);
  display: block;
  margin-bottom: 4px;
}
[data-mining-hub] .mh-factbox .mh-src { display: block; margin-top: 6px; }

/* ---- Strata section --------------------------------------------------- */
[data-mining-hub] .mh-strata {
  max-width: var(--data-max, 1200px);
  margin: 22px 0;
  border: 1px solid rgba(201,210,220,0.16);
  border-radius: 8px;
  overflow: hidden;
}
[data-mining-hub] .mh-strata .strata-band {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 10px 16px;
  border-bottom: 1px solid rgba(201,210,220,0.12);
  min-height: 44px;
}
[data-mining-hub] .mh-strata .strata-band:last-child { border-bottom: none; }
[data-mining-hub] .mh-strata .strata-depth {
  font-family: var(--font-mono, monospace);
  font-size: 0.7rem;
  color: var(--text-muted, #9CA3AF);
  width: 90px;
  flex-shrink: 0;
  font-variant-numeric: tabular-nums;
}
[data-mining-hub] .mh-strata .strata-label { font-size: 0.9rem; color: var(--text-secondary, #C9D2DC); flex: 1; }
[data-mining-hub] .mh-strata .strata-note { font-size: 0.78rem; color: var(--text-muted, #9CA3AF); font-family: var(--font-mono, monospace); }
[data-mining-hub] .mh-strata .sb-solid { background: linear-gradient(90deg, rgba(198,161,91,0.18), rgba(198,161,91,0.05)); border-left: 4px solid var(--c-gold, #C6A15B); }
[data-mining-hub] .mh-strata .sb-hatch { background: repeating-linear-gradient(45deg, rgba(198,161,91,0.16) 0 5px, transparent 5px 10px); border-left: 4px solid var(--c-gold-light, #D4B572); }
[data-mining-hub] .mh-strata .sb-graphite { background: linear-gradient(90deg, var(--bg-surface2, #1A2430), var(--bg-surface1, #121A24)); border-left: 4px solid var(--c-silver, #9CA3AF); }
[data-mining-hub] .mh-strata .sb-obsidian { background: #04070B; border-left: 4px solid #8A94A0; }
[data-mining-hub] .mh-strata-table { width: 100%; border-collapse: collapse; font-size: 0.84rem; color: var(--text-secondary, #C9D2DC); }

/* ---- Source list ------------------------------------------------------ */
[data-mining-hub] .src-list { font-size: 0.9rem; line-height: 1.7; color: var(--text-secondary, #C9D2DC); max-width: var(--prose-max, 780px); }
[data-mining-hub] .src-list li { margin-bottom: 0.5rem; }
[data-mining-hub] .src-list code { font-size: 0.8rem; color: var(--c-teal-light, #3D8278); word-break: break-all; }

/* ---- Related reading -------------------------------------------------- */
[data-mining-hub] .mh-related { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; max-width: var(--data-max, 1200px); }
[data-mining-hub] .mh-related li {
  background: var(--bg-surface1, #121A24);
  border-left: 3px solid var(--c-gold, #C6A15B);
  border-radius: 6px;
  padding: 12px 16px;
}
[data-mining-hub] .mh-related a { color: var(--c-gold-light, #D4B572); text-decoration: none; font-weight: 500; }
[data-mining-hub] .mh-related a:hover { text-decoration: underline; }
[data-mining-hub] .mh-related .mh-rel-note { display: block; color: var(--text-muted, #9CA3AF); font-size: 0.82rem; }

/* ---- Hero / lede overrides for dark surface --------------------------- */
[data-mining-hub].mh-hero { padding-top: clamp(48px, 8vw, 80px); }
[data-mining-hub] .intel-note { color: var(--text-secondary, #C9D2DC); border-left: 3px solid var(--c-gold, #C6A15B); }
[data-mining-hub] .intel-eyebrow { color: var(--c-gold, #C6A15B); }

/* ---- Responsive -------------------------------------------------------- */
@media (max-width: 900px) {
  [data-mining-hub] .mh-map-wrap { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  [data-mining-hub] .mh-block { padding: 40px var(--sp-4, 16px); }
  [data-mining-hub] .mh-subnav-inner { padding: 0 12px; }
  [data-mining-hub] .mh-chart-bars { height: 170px; gap: 8px; }
  [data-mining-hub] .mh-pin-dot { r: 7; }
}

/* ---- Reduced motion (locked) ------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  [data-mining-hub] *, [data-mining-hub] *::before, [data-mining-hub] *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
  [data-mining-hub] .mh-pin { animation: none !important; }
}
