:root {
  --bg: #161616;
  --fg: #f2f4f8;
  --accent: #78a9ff;
  /* Scale of the 2560x1440 background under background-size: cover. */
  --k: max(100vw / 2560, 100vh / 1440);
}

* { margin: 0; box-sizing: border-box; }

html, body { height: 100%; }

body {
  background: var(--bg) url("background.svg") center / cover no-repeat;
  color: var(--fg);
  font-family: "Noto Sans", system-ui, sans-serif;
  overflow: hidden;
}

main {
  position: relative;
  height: 100%;
}

/* The logo sits at the centre of the background; the status line goes below the description box. */
.status {
  position: absolute;
  left: 50%;
  top: calc(50% + 300 * var(--k));
  transform: translateX(-50%);
  white-space: nowrap;
  font-weight: 500;
  font-size: max(15px, 34 * var(--k));
  letter-spacing: 0.12em;
  text-transform: uppercase;
  opacity: 0.75;
}

.status::before {
  content: "";
  display: inline-block;
  width: 0.5em;
  height: 0.5em;
  margin-right: 0.6em;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 0.6em var(--accent);
  vertical-align: 0.12em;
}

footer {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 16px;
  padding: 0 16px;
  text-align: center;
  font-size: 13px;
  letter-spacing: 0.04em;
  opacity: 0.55;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
