/* BHI Nexus Metro Styles - Using BH-COLOR v1.0 Palette */

/* CSS Variables from BH-COLOR */
:root {
  /* Alerts (Brand) */
  --bh-alerts-dark-crisis: #7A0003;
  --bh-alerts-base: #BD0104;
  --bh-alerts-tint-1: #D44740;
  --bh-alerts-tint-2: #E98F86;
  --bh-alerts-tint-3: #F5CAC7;
  
  /* Hydrology */
  --bh-hydrology-shade: #1C475F;
  --bh-hydrology-base: #3B6F8F;
  --bh-hydrology-tint-1: #6FA0BC;
  --bh-hydrology-tint-2: #A7C7D6;
  --bh-hydrology-tint-3: #DDE8EF;
  
  /* Historical */
  --bh-historical-shade: #4A3A53;
  --bh-historical-base: #6D5877;
  --bh-historical-tint-1: #9D8CB0;
  --bh-historical-tint-2: #CCC4D6;
  
  /* Vegetation */
  --bh-vegetation-shade: #4F6B3C;
  --bh-vegetation-base: #7FA96A;
  --bh-vegetation-tint-1: #A7C89C;
  --bh-vegetation-tint-2: #CFE5C4;
  
  /* Climate */
  --bh-climate-shade: #E36B2C;
  --bh-climate-base: #F29F60;
  --bh-climate-tint-1: #F6CFA3;
  
  /* Neutrals */
  --bh-neutrals-deep: #2B2B2B;
  --bh-neutrals-mid: #757575;
  --bh-neutrals-light: #BDBDBD;
  --bh-neutrals-ultra-light: #E8E8E8;
  --bh-neutrals-white: #FCFCFC;
}

/* Nexus Map Container */
.bhi-nexus-map {
  background: var(--bh-neutrals-white);
  border: 1px solid var(--bh-neutrals-light);
  border-radius: 4px;
  padding: 16px;
  margin: 16px 0;
}

.bhi-nexus-map svg {
  display: block;
  margin: 0 auto;
}

.bhi-nexus-map circle,
.bhi-nexus-map rect,
.bhi-nexus-map path {
  transition: opacity 0.15s ease;
}

.bhi-nexus-map text {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  pointer-events: none;
}

/* Legend */
.bhi-nexus-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px;
  background: var(--bh-neutrals-ultra-light);
  border-radius: 4px;
  margin-top: 12px;
}

.bhi-nexus-legend button {
  font-size: 11px;
  padding: 4px 10px;
  border-radius: 3px;
  border: 1px solid var(--bh-neutrals-light);
  background: var(--bh-neutrals-white);
  color: var(--bh-neutrals-deep);
  cursor: pointer;
  transition: background 0.15s;
}

.bhi-nexus-legend button:hover {
  background: var(--bh-neutrals-ultra-light);
}

/* Metro Graph (Person relationships) */
.metro-graph-container {
  background: var(--bh-neutrals-white);
  border: 1px solid var(--bh-neutrals-light);
  border-radius: 4px;
  padding: 16px;
  margin: 16px 0;
  overflow-x: auto;
}

.metro-station {
  cursor: pointer;
  text-decoration: none;
}

.metro-station:hover .metro-station-tile {
  opacity: 0.85;
}

.metro-station-tile {
  transition: opacity 0.15s ease;
}

.metro-station-label {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 10px;
  pointer-events: none;
}

.metro-station-label.current {
  font-weight: 600;
}

.metro-line-label {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 9px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* Linked Connections */
.bhi-linked-connections {
  background: var(--bh-neutrals-white);
  border: 1px solid var(--bh-neutrals-light);
  border-radius: 4px;
  padding: 16px;
}

.bhi-linked-connections__list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.bhi-linked-connections__item {
  padding: 8px 0;
  border-bottom: 1px solid var(--bh-neutrals-ultra-light);
  display: flex;
  align-items: center;
  gap: 8px;
}

.bhi-linked-connections__item:last-child {
  border-bottom: none;
}

.bhi-linked-connections__item a {
  color: var(--bh-hydrology-base);
  text-decoration: none;
}

.bhi-linked-connections__item a:hover {
  color: var(--bh-hydrology-shade);
  text-decoration: underline;
}

.bhi-linked-connections__type {
  display: inline-flex;
  padding: 2px 6px;
  background: var(--bh-neutrals-ultra-light);
  border-radius: 3px;
  font-size: 10px;
  color: var(--bh-neutrals-mid);
  text-transform: uppercase;
}

.bhi-linked-connections__role {
  color: var(--bh-neutrals-mid);
  font-size: 11px;
}

/* Publication/resource lists */
.person-publications,
.person-citations,
.person-resources {
  list-style: none;
  padding: 0;
  margin: 0;
}

.person-publications li,
.person-citations li,
.person-resources li {
  padding: 8px 0;
  border-bottom: 1px solid var(--bh-neutrals-ultra-light);
}

.person-publications li:last-child,
.person-citations li:last-child,
.person-resources li:last-child {
  border-bottom: none;
}

.person-publications a,
.person-citations a,
.person-resources a {
  color: var(--bh-hydrology-base);
  text-decoration: none;
}

.person-publications a:hover,
.person-citations a:hover,
.person-resources a:hover {
  color: var(--bh-hydrology-shade);
}

.pub-date, .resource-type {
  color: var(--bh-neutrals-mid);
  font-size: 11px;
  margin-left: 4px;
}

/* Timeline */
.person-timeline {
  list-style: none;
  padding: 0;
  margin: 0;
  border-left: 2px solid var(--bh-neutrals-light);
  padding-left: 16px;
}

.person-timeline li {
  padding: 10px 0;
  position: relative;
}

.person-timeline li::before {
  content: "";
  position: absolute;
  left: -21px;
  top: 14px;
  width: 8px;
  height: 8px;
  background: var(--bh-alerts-base);
  border-radius: 50%;
  border: 2px solid var(--bh-neutrals-white);
}

/* Influence chain */
.influence-chain {
  background: var(--bh-neutrals-white);
  border: 1px solid var(--bh-neutrals-light);
  border-radius: 4px;
  padding: 12px;
}

.influence-chain a {
  color: var(--bh-alerts-base);
  text-decoration: none;
  padding: 2px 6px;
  background: var(--bh-alerts-tint-3);
  border-radius: 3px;
}

.influence-chain a:hover {
  background: var(--bh-alerts-tint-2);
}
