/* Recording-driven polish: keep the interactive hero legible on small screens
   and make lazy route transitions visibly intentional in both themes. */

[data-testid="route-loading"] {
  min-height: 100vh !important;
  min-height: 100dvh !important;
  background: #f8f5e4;
  color: #332f27 !important;
}

html.dark [data-testid="route-loading"] {
  background: #15140f;
  color: rgba(248, 245, 228, 0.72) !important;
}

[data-testid="route-loading"] > div {
  width: 42px !important;
  height: 42px !important;
  border-width: 2px !important;
  border-color: rgba(91, 73, 42, 0.18) !important;
  border-top-color: #755b2f !important;
}

html.dark [data-testid="route-loading"] > div {
  border-color: rgba(218, 185, 120, 0.2) !important;
  border-top-color: #d3ae67 !important;
}

[data-testid="route-loading"] > span {
  color: currentColor !important;
  opacity: 0.72;
}

.deeptech-node.is-behind {
  opacity: min(var(--depth-opacity), 0.28) !important;
  filter: blur(0.35px);
}

.deeptech-node.is-behind:not(.is-focused) {
  pointer-events: none;
}

@media (max-width: 800px) {
  .deeptech-navigator {
    width: calc(100% - 20px) !important;
    right: 10px !important;
  }

  .research-core {
    inset: 20% 13% 20% !important;
  }

  .deeptech-node {
    min-width: 108px !important;
    max-width: 132px;
  }

  .deeptech-node__axis,
  .deeptech-node__note {
    display: none !important;
  }

  .deeptech-node strong {
    white-space: normal !important;
    line-height: 1.05 !important;
  }

  .deeptech-node--stays {
    padding-left: 44px !important;
  }

  .deeptech-node--stays strong {
    font-size: 16px !important;
  }

  .deeptech-node--runtime strong,
  .deeptech-node--governance strong,
  .deeptech-node--curator strong {
    font-size: 13px !important;
  }

  .research-core__datum {
    display: none;
  }

  .deeptech-navigator__instruction {
    gap: 8px !important;
    padding: 0 12px;
    text-align: center;
  }
}
