:root {
  color-scheme: dark;
  background: #030303;
}

* {
  box-sizing: border-box;
}

html,
body {
  width: 100%;
  min-height: 100%;
  margin: 0;
  overflow: hidden;
  background: #030303;
}

body {
  min-height: 100vh;
  min-height: 100dvh;
}

.room {
  position: absolute;
  top: 50%;
  left: 50%;
  /* Slight overscan keeps the viewport covered while centring on the TV. */
  width: max(102.4vw, calc(100vh * 1672 / 941));
  width: max(102.4vw, calc(100dvh * 1672 / 941));
  aspect-ratio: 1672 / 941;
  transform: translate(-48.865%, -50%);
}

.room-background {
  display: block;
  width: 100%;
  height: auto;
}

.tv-screen {
  position: absolute;
  left: 31.34%;
  top: 26.99%;
  width: 35.05%;
  height: 30.29%;
  border: 0;
  background: #000;
  filter: brightness(0.92) contrast(1.05);
}
