@font-face {
  font-family: "EDGI Open Sans Condensed";
  src: url("/edgitools/fonts/open-sans-condensed-latin-300-normal.woff2") format("woff2");
  font-style: normal;
  font-weight: 300;
  font-display: swap;
}

@font-face {
  font-family: "EDGI Open Sans Condensed";
  src: url("/edgitools/fonts/open-sans-condensed-latin-700-normal.woff2") format("woff2");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

.edgi-app-switcher,
.edgi-app-switcher * {
  box-sizing: border-box;
}

.edgi-app-switcher {
  --switcher-accent: #4da395;
  --switcher-ink: #00102e;
  --switcher-heading: #443f3f;
  --switcher-line: #cad4d2;
  position: fixed;
  z-index: 50000;
  top: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 38px;
  border-bottom: 1px solid var(--switcher-line);
  color: var(--switcher-ink);
  background: #fff;
  font: 700 14px/1 "EDGI Open Sans Condensed", "Arial Narrow", Arial, sans-serif;
  transition: background 220ms ease;
}

.edgi-switcher-enabled {
  padding-top: 38px !important;
}

.edgi-switcher-view-index { --switcher-accent: #28766c; }
.edgi-switcher-view-chat { --switcher-accent: #4da395; }
.edgi-switcher-view-email { --switcher-accent: #357f75; }
.edgi-switcher-view-network { --switcher-accent: #65b5a8; }

.edgi-app-switcher.is-browsing {
  background: #eef8f6;
  background: color-mix(in srgb, var(--switcher-accent) 13%, white);
}

.edgi-app-switcher-bar {
  min-height: 38px;
  display: grid;
  grid-template-columns: minmax(110px, 1fr) minmax(310px, 430px) minmax(110px, 1fr);
  align-items: center;
  gap: 12px;
  padding: 0 14px;
}

.edgi-app-switcher-home {
  justify-self: start;
  color: inherit;
  font-size: 12px;
  letter-spacing: .055em;
  text-decoration: none;
  text-transform: uppercase;
}

.edgi-app-switcher-home span {
  color: var(--switcher-accent);
  transition: color 220ms ease;
}

.edgi-app-switcher-home b {
  font-weight: 700;
}

.edgi-app-switcher-carousel {
  min-width: 0;
  height: 38px;
  display: grid;
  grid-template-columns: 30px minmax(230px, 1fr) 30px;
  align-items: center;
}

.edgi-app-switcher-carousel > button {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  color: #575760;
  background: transparent;
  font: 700 15px/1 Arial, sans-serif;
  cursor: pointer;
  transition: color 140ms ease, transform 140ms ease;
}

.edgi-app-switcher-carousel > button:hover {
  color: var(--switcher-accent);
  transform: scale(1.12);
}

.edgi-app-switcher-deck {
  position: relative;
  height: 38px;
  overflow: hidden;
}

.edgi-app-switcher-card {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  padding: 0 10px;
  color: var(--switcher-ink);
  text-decoration: none;
  opacity: 0;
  pointer-events: none;
  transform: translateX(38px) rotate(.35deg);
  transition: transform 260ms cubic-bezier(.22, .75, .2, 1), opacity 170ms ease;
}

.edgi-app-switcher-card.is-previous {
  transform: translateX(-38px) rotate(-.35deg);
}

.edgi-app-switcher-card.is-active {
  opacity: 1;
  pointer-events: auto;
  transform: translateX(0) rotate(0);
}

.edgi-app-switcher-card:hover strong {
  color: var(--switcher-accent);
}

.edgi-app-switcher-number {
  color: var(--switcher-accent);
  font-size: 10px;
  letter-spacing: .08em;
}

.edgi-app-switcher-card strong {
  overflow: hidden;
  color: var(--switcher-heading);
  font-size: 14px;
  line-height: 1;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
  transition: color 140ms ease;
}

.edgi-app-switcher-status {
  min-width: 46px;
  color: #575760;
  font-size: 10px;
  letter-spacing: .04em;
  text-align: right;
  text-transform: uppercase;
}

.edgi-app-switcher-card:not([aria-current="page"]) .edgi-app-switcher-status {
  color: var(--switcher-accent);
}

.edgi-app-switcher-progress {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 7px;
}

.edgi-app-switcher-progress button {
  width: 15px;
  height: 15px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.edgi-app-switcher-progress button::before {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #aab4b2;
  content: "";
  transition: background 160ms ease, transform 160ms ease;
}

.edgi-app-switcher-progress button:hover::before,
.edgi-app-switcher-progress button[aria-pressed="true"]::before {
  background: var(--switcher-accent);
  transform: scale(1.55);
}

.edgi-app-switcher :is(a, button):focus-visible {
  position: relative;
  z-index: 1;
  outline: 2px solid var(--switcher-ink);
  outline-offset: -2px;
}

body.edgi-switcher-email #controls,
body.edgi-switcher-email #dossier-pane,
body.edgi-switcher-email #zip-toast,
body.edgi-switcher-email #industry-panel,
body.edgi-switcher-email #thinktank-panel,
body.edgi-switcher-email #correspondent-panel,
body.edgi-switcher-network #controls,
body.edgi-switcher-network #info {
  top: 58px !important;
}

body.edgi-switcher-email #controls,
body.edgi-switcher-email #dossier-pane,
body.edgi-switcher-network #controls,
body.edgi-switcher-network #info {
  max-height: calc(100vh - 78px) !important;
}

@media (max-width: 760px) {
  .edgi-app-switcher-bar {
    grid-template-columns: 76px minmax(0, 1fr) 62px;
    gap: 4px;
    padding-inline: 10px;
  }

  .edgi-app-switcher-carousel {
    grid-template-columns: 28px minmax(0, 1fr) 28px;
  }

  .edgi-app-switcher-card {
    grid-template-columns: 25px minmax(0, 1fr) 42px;
    gap: 4px;
    padding-inline: 5px;
  }

  .edgi-app-switcher-card strong {
    font-size: 13px;
  }

  .edgi-app-switcher-progress {
    gap: 1px;
  }

  body.edgi-switcher-email #controls {
    top: auto !important;
  }

  body.edgi-switcher-email #industry-panel,
  body.edgi-switcher-email #thinktank-panel,
  body.edgi-switcher-email #correspondent-panel,
  body.edgi-switcher-email #dossier-pane,
  body.edgi-switcher-network #controls {
    top: max(46px, calc(38px + env(safe-area-inset-top))) !important;
  }
}

@media (max-width: 500px) {
  .edgi-app-switcher-bar {
    grid-template-columns: 48px minmax(0, 1fr);
    padding-inline: 7px;
  }

  .edgi-app-switcher-home b,
  .edgi-app-switcher-progress,
  .edgi-app-switcher-status {
    display: none;
  }

  .edgi-app-switcher-card {
    grid-template-columns: 22px minmax(0, 1fr);
  }
}

@media (prefers-reduced-motion: reduce) {
  .edgi-app-switcher,
  .edgi-app-switcher * {
    transition-duration: .01ms !important;
  }
}
