:root {
  --bg-color: #fff;
  --margin-line-color: #ec7063;
  --ruling-line-color: #85c1e9;
}

*, *::before, *::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

body {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  background: black;
  width: 100%;
  min-height: 100vh;
  overflow-y: auto;
  padding: 2rem 0;
  margin: 0;
}

.ruled-paper {
  width: 80%;
  max-width: 900px;
  min-height: 100vh;
  background-color: var(--bg-color);
  display: flex;
  flex-direction: column;
  box-shadow: 0 0 20px rgba(0,0,0,0.5);
}

.ruled-paper .ruled-paper-header  {
  background-image: linear-gradient(90deg, transparent 79px, var(--margin-line-color) 79px, var(--margin-line-color) 81px, transparent 81px);
  background-size: 100% 1.2em;
  height: 100%;
  flex-shrink: 0;
}

.ruled-paper .ruled-paper-footer  {
  background-image: linear-gradient(90deg, transparent 79px, var(--margin-line-color) 79px, var(--margin-line-color) 81px, transparent 81px);
  background-size: 100% 1.2em;
  height: 100%;
  flex-shrink: 0;
}

.ruled-paper .ruled-paper-body  {
  background-image: linear-gradient(90deg, transparent 79px, var(--margin-line-color) 79px, var(--margin-line-color) 81px, transparent 81px), linear-gradient(var(--ruling-line-color) .1em, transparent .1em);
  background-size: 100% 1.2em;
  flex-grow: 8;
  padding-top: .2rem;
  padding-left: 6rem;
  padding-right: 2rem;
  line-height: 1.2;
}

.category-list {
  /*column-count: 2;*/ /* Set number of columns */
  column-gap: 20px; /* Spacing between columns */
  list-style-position: inside; /* Ensures bullets don't get cut off */
}