@import url('./fonts.css');

:root {
  font-family: "Die Grotesk", "Helvetica Neue", system-ui, Avenir, Helvetica, Arial, sans-serif;
  font-synthesis: weight style small-caps;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

  --color-yellow: hsl(45, 90%, 52%);
  --color-low-emphasis: hsl(45, 5%, 65%);
  --color-very-low-emphasis: hsl(45, 5%, 50%);
  --color-ultra-low-emphasis: hsl(45, 5%, 25%);

}

html, body {
  margin: 0;
  border: 0;
  height: 100%;
  background-color: hsl(45, 5%, 10%);
}

body {
  margin: 0;
  border: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
}

a {
  font-weight: 600;
  color: hsl(209deg, 100%, 50%);
  text-decoration: none;
}

a.anwansi {
  font-family: Futura, sans-serif;
  font-weight: 700;
  font-style: normal;
  background-image: linear-gradient(to left, hsl(0deg, 100%, 40%), hsl(23deg, 100%, 49%));
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

#root {
  --base-font-size: 32px;
  --brow-font-size: 9px;

  @media (min-width: 600px) {
    --base-font-size: 64px;
    --brow-font-size: 12px;
  }

  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: stretch;
  gap: 16px;
  height: 100%;
  overflow: hidden;
  font-size: 32px;

  @media (min-width: 600px) {
    font-size: 64px;
  }

  & > .main {
    flex: 1 1 auto;
    display: grid;
    grid-template-rows: auto 1fr auto;
    justify-items: start;
    gap: 24px;
    padding: 0.5em 0.75em;
    color: hsl(0deg, 100%, 100%);

    & .content {
      display: flex;
      justify-content: space-between;
      align-items: end;
      gap: 1em;
      line-height: 1.1;
      width: 100%;

      & > .copy {
        display: flex;
        flex-direction: column;
        gap: 16px;

        & > .brow {
          font-family: "IBM Plex Mono", monospace;
          font-size: var(--brow-font-size);
          text-transform: uppercase;
          letter-spacing: 0.1em;
          color: var(--color-low-emphasis);
          display: flex;
          align-items: center;
          gap: 8px;

          & > .indicator {
            display: inline-block;
            width: 1em;
            height: 1em;
            background-color: var(--color-yellow);
            animation-name: blink;
            animation-iteration-count: infinite;
            animation-duration: 1200ms;
          }
        }

        & > .title {
          font-size: 1em;
          font-weight: 800;
          line-height: 1;
        }

        & > .subtitle {
          font-size: 0.375em;
          font-weight: 350;
          font-style: italic;
          color: hsl(0deg, 0%, 50%);
          line-height: 1;
        }
      }

      & > .summary {
        border-top: 1px solid var(--color-ultra-low-emphasis);
        padding: 8px 0 0;

        & > table {
          border-collapse: collapse;
          border-spacing: 0;

          & td {
            font-size: 0.21875em;
            padding: 0.5em 0 0;
            vertical-align: baseline;
            padding-right: 4em;

            &.status {
              padding-right: 0;
              font-family: "IBM Plex Mono", monospace;
              text-transform: uppercase;
              font-size: 0.15625em;
              color: var(--color-very-low-emphasis);
            }
          }
        }
      }
    }
  }

  & > .footer {
    flex: 0 0 auto;
    align-self: stretch;
    display: flex;
    justify-content: center;
    align-items: baseline;
    gap: 8px;
    padding: 16px;
    background-color: black;

    span {
      font-weight: 600;
      font-size: 11px;
      line-height: 1;
      color: hsl(0deg, 0%, 50%);
      flex: 0 0 auto;
      opacity: 0.65;
    }

    a {
      font-size: 18px;
    }
  }
}

@keyframes blink {
  0%, 25%, 100% {
    opacity: 0.25;
  }

  50%, 75% {
    opacity: 1;
  }
}
