@font-face {
  font-family: "GeistMono";
  src: url("GeistMono-Bold.woff2") format("woff2"),
    url("GeistMono-Bold.woff") format("woff"),
    url("GeistMono-Bold.ttf") format("truetype");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}

body {
  font-family: "GeistMono", monospace;
  font-weight: bold;
  margin: 0;
  padding: 0;
  background-color: #000;
  color: #f1f1f1;
}

h1,
p {
  color: #fff;
  font-size: 18px;
}
canvas {
  image-rendering: auto;
  /* Let JavaScript handle the image rendering based on pixel density */
}

/* For very low resolution displays, use pixelated rendering */
@media (max-resolution: 1dppx) {
  canvas {
    image-rendering: -moz-crisp-edges;
    image-rendering: -webkit-crisp-edges;
    image-rendering: pixelated;
    image-rendering: crisp-edges;
  }
}

/* Ensure canvas maintains aspect ratio and positioning */
canvas {
  display: block;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

#app {
  display: flex;
  height: 100vh;
}

#canvas-container {
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}

#pane {
  width: 350px;
  height: 100vh; /* Set the height to 100% of the viewport height */
  padding: 20px;
  background-color: #000;
  box-shadow: -2px 0 5px rgba(0, 0, 0, 0.1);
  overflow-y: auto; /* Enable vertical scrolling */
  position: fixed; /* Fix the position on the screen */
  right: 0; /* Align to the right side of the screen */
  top: 0; /* Align to the top of the screen */
  box-sizing: border-box; /* Include padding in the width/height calculation */
}

/* Style the scrollbar for webkit browsers */
#pane::-webkit-scrollbar {
  width: 10px;
}

#pane::-webkit-scrollbar-track {
  background: #f1f1f1;
}

#pane::-webkit-scrollbar-thumb {
  background: rgb(173, 175, 184);
  border-radius: 0;
}

#pane::-webkit-scrollbar-thumb:hover {
  background: rgb(40, 41, 46);
}

/* Ensure the canvas doesn't overlap with the panel */
#canvas-container {
  margin-right: 350px; /* Adjust based on the width of #pane */
  height: 100vh; /* Make the canvas container full height as well */
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Ensure the body and html have no margin or padding */
html,
body {
  margin: 0;
  padding: 0;
  height: 100%;
  overflow: hidden; /* Prevent scrolling on the main window */
}

a {
  color: #f1f1f1;
  text-decoration: none;
}

a:hover {
  color: #ccc;
}

#sticky-rect {
  position: fixed;
  top: 0;
  width: 100%;
  margin: 10px 40px;
  text-align: left;
  background-color: transparent;
  z-index: 1000;
}

/* Footer */
#footer {
  position: fixed;
  bottom: 0;
  margin: 10px 40px;
  width: 100%;
  background-color: transparent;
  color: #fff;
  text-align: left;
  z-index: 1000;
}
