.tb-real-visual-map {
  background-color: #040914;
  isolation: isolate;
}

.tb-real-visual-map::before {
  opacity: .72;
  background-image:
    linear-gradient(rgba(3, 9, 20, .34), rgba(3, 9, 20, .52)),
    var(--tb-rote-starfield),
    var(--tb-rote-map);
  background-repeat: no-repeat, repeat, no-repeat;
  background-size: cover, 640px 640px, contain;
  background-position: center, center, center;
  filter: saturate(.9) contrast(1.05);
}

.tb-real-visual-map::after {
  opacity: .4;
}

.tb-real-visual-map .rote-galaxy-lines {
  opacity: .58;
}

.tb-real-visual-map .rote-map-phase-label {
  text-shadow: 0 1px 8px #020611;
}

.tb-real-visual-map .rote-planet-node {
  min-height: 68px;
  padding-left: 66px;
  background: linear-gradient(90deg, rgba(4, 12, 25, .94), rgba(5, 14, 28, .82));
  backdrop-filter: blur(4px);
}

.tb-real-visual-map .rote-planet-orb {
  left: 7px;
  width: 52px;
  height: 52px;
  border: 0;
  overflow: visible;
  background: radial-gradient(circle, rgba(88, 212, 255, .12), rgba(2, 8, 18, .06) 64%, transparent 70%);
  box-shadow: none;
}

.tb-real-visual-map .rote-planet-orb .tb-planet-art {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  filter: drop-shadow(0 4px 7px rgba(0, 0, 0, .75)) drop-shadow(0 0 8px rgba(105, 223, 242, .22));
}

.tb-real-visual-map .rote-planet-node.status-deep .tb-planet-art {
  filter: drop-shadow(0 4px 7px rgba(0, 0, 0, .75)) drop-shadow(0 0 8px rgba(101, 239, 182, .5));
}

.tb-real-visual-map .rote-planet-node.status-thin .tb-planet-art {
  filter: drop-shadow(0 4px 7px rgba(0, 0, 0, .75)) drop-shadow(0 0 8px rgba(243, 196, 91, .42));
}

.tb-real-visual-map .rote-planet-node.status-blocked .tb-planet-art {
  filter: saturate(.65) drop-shadow(0 4px 7px rgba(0, 0, 0, .75)) drop-shadow(0 0 8px rgba(223, 102, 112, .38));
}

.tb-rote-board-planet {
  flex: 0 0 74px;
  width: 74px;
  height: 74px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(71, 207, 255, .13), transparent 68%);
}

.tb-rote-board-planet-image {
  width: 68px;
  height: 68px;
  object-fit: contain;
  filter: drop-shadow(0 5px 8px rgba(0, 0, 0, .6)) drop-shadow(0 0 8px rgba(112, 222, 240, .2));
}

.rote-mission-chips > span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.tb-mission-icon {
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  object-fit: contain;
  vertical-align: middle;
  filter: drop-shadow(0 2px 3px rgba(0, 0, 0, .45));
}

.dsgeo-mission-type .tb-mission-icon {
  width: 26px;
  height: 26px;
  flex-basis: 26px;
}

.dsgeo-mission-type {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 4px;
}

.dsgeo-map.tb-campaign-image-map {
  position: relative;
  isolation: isolate;
  background-color: #050b16;
  background-image: none !important;
  overflow: hidden;
}

.dsgeo-map.tb-campaign-image-map::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image:
    linear-gradient(90deg, rgba(4, 10, 20, .44), rgba(5, 12, 23, .24) 50%, rgba(4, 10, 20, .44)),
    var(--tb-campaign-map);
  background-size: cover, cover;
  background-position: center, center;
  background-repeat: no-repeat;
  opacity: .78;
  filter: saturate(.78) contrast(1.03);
}

.dsgeo-map.tb-campaign-image-map .dsgeo-map-lines {
  position: absolute;
  z-index: 1;
  opacity: .52;
}

.dsgeo-map.tb-campaign-image-map .dsgeo-phase-column {
  z-index: 2;
  text-shadow: 0 2px 8px #000;
}

.dsgeo-map.tb-campaign-image-map .dsgeo-territory {
  z-index: 3;
  background: rgba(5, 13, 26, .9);
  backdrop-filter: blur(3px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, .38);
}

.tb-campaign-image-hoth-rebel::before,
.tb-campaign-image-hoth-imperial::before {
  background-size: cover, contain !important;
  background-color: #07101d;
}

.tb-visual-credit {
  margin-top: 8px;
  color: #617797;
  font-size: .58rem;
  letter-spacing: .04em;
  text-align: right;
}

@media (max-width: 820px) {
  .tb-real-visual-map .rote-planet-node {
    padding-left: 54px;
  }

  .tb-real-visual-map .rote-planet-orb {
    left: 6px;
    width: 42px;
    height: 42px;
  }

  .tb-rote-board-planet {
    flex-basis: 58px;
    width: 58px;
    height: 58px;
  }

  .tb-rote-board-planet-image {
    width: 54px;
    height: 54px;
  }
}
