*, *::before, *::after {
  box-sizing:border-box;
}

html {
  margin:0;
  padding:0;
  font-family:monospace,system-ui,sans-serif;
  font-size:14px;
  line-height:1.5;
  text-rendering:optimizeSpeed;
  -webkit-font-smoothing:none;
  -moz-osx-font-smoothing:auto;
  font-smooth:never;
  overflow-wrap:break-word;
}

body {
  margin:0;
  padding:0;
}

img {
  max-width:100%;
}

li {
  margin:0.25rem 0;
}

nav ul {
  margin:0;
  padding:0;
  list-style-type:none;
}

/* contextual block margins */

p:first-child,
h1:first-child,
h2:first-child,
h3:first-child,
h4:first-child,
h5:first-child,
h6:first-child,
ul:first-child,
li:first-child,
blockquote:first-child,
table:first-child,
figure:first-child {
  margin-top:0;
}

p:last-child,
h1:last-child,
h2:last-child,
h3:last-child,
h4:last-child,
h5:last-child,
h6:last-child,
ul:last-child,
li:last-child,
blockquote:last-child,
table:last-child,
figure:last-child {
  margin-bottom:0;
}

p:only-child,
h1:only-child,
h2:only-child,
h3:only-child,
h4:only-child,
h5:only-child,
h6:only-child,
ul:only-child,
li:only-child,
blockquote:only-child,
table:only-child,
figure:only-child {
  margin:0;
}

/* tooltips */

[title] {
  text-decoration:dotted underline;
  cursor:help;
}

/* separate backgrounds */

.bg {
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  image-rendering:pixelated;
  z-index:-9999;
}

/* 88x31 buttons */

.buttons {
  display:flex;
  flex-wrap:wrap;
  gap:2px;
}

.buttons img {
  display:block;
  width:88px;
  height:31px;
  image-rendering:pixelated;
  cursor:zoom-in;
  transition:100ms;
}

.buttons img:hover {
  transform:scale(1.5);
}