.blog-zone-page {
  min-width: 1280px;
  overflow: auto;
  background: #000;
}

.blog-zone-page .container {
  width: max(1280px, 100vw);
  height: auto;
  min-height: 100vh;
}

.blog-zone {
  position: relative;
  width: max(1280px, 100vw);
  min-height: 720px;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  color: #f4f4f4;
  background: #000 url("/assets/blog/blog-zone-background.png") top left / 100% 100% no-repeat;
  font-family: "Courier New", monospace;
}

.blog-zone .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.blog-os-window {
  position: absolute;
  z-index: 2;
  color: #f4f4f4;
  background:
    repeating-linear-gradient(180deg, rgba(255, 255, 255, 0.018) 0 1px, transparent 1px 5px),
    rgba(3, 3, 3, 0.96);
  border: 2px solid #4b4b43;
  box-shadow:
    0 0 0 2px #090909,
    0 0 0 3px #7c741c,
    5px 5px 0 rgba(0, 0, 0, 0.9);
}

.blog-os-window__title {
  display: flex;
  height: 31px;
  padding: 5px 9px;
  align-items: center;
  justify-content: space-between;
  color: #ffd91f;
  background:
    repeating-linear-gradient(135deg, rgba(190, 0, 0, 0.35) 0 7px, transparent 7px 14px),
    #111;
  border-bottom: 2px solid #898220;
  font-size: 16px;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}

.blog-archive {
  left: 2.2%;
  top: 20.4%;
  width: 15.6%;
  min-width: 250px;
  height: 205px;
}

.blog-archive__body {
  padding: 18px 15px;
  font-size: 14px;
  line-height: 1.55;
}

.blog-archive__branch {
  color: #ddd;
  font-weight: 700;
  text-transform: uppercase;
}

.blog-archive__branch span {
  margin-right: 9px;
  color: #ff1b21;
}

.blog-archive__branch--nested {
  padding-left: 18px;
}

.blog-archive p {
  margin: 5px 0 0 48px;
  color: #ffe21d;
  font-weight: 900;
}

.blog-status {
  left: 2.2%;
  top: 42%;
  width: 15.6%;
  min-width: 250px;
}

.blog-status dl {
  padding: 12px 13px 14px;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
}

.blog-status dl div {
  display: grid;
  grid-template-columns: 1fr auto;
  min-height: 22px;
  align-items: center;
  border-bottom: 1px dotted #414141;
}

.blog-status dt {
  color: #ddd;
}

.blog-status dd {
  color: #45f242;
}

.blog-entry {
  left: 19%;
  top: 25.2%;
  width: 43.8%;
  height: 52%;
  min-height: 360px;
}

.blog-entry__title {
  height: 42px;
  padding-inline: 20px;
  font-size: 18px;
}

.blog-entry__body {
  height: calc(100% - 42px);
  padding: 35px 42px;
  background:
    linear-gradient(135deg, transparent 0 80%, rgba(156, 0, 0, 0.12)),
    rgba(0, 0, 0, 0.76);
}

.blog-entry__body p {
  max-width: 620px;
  padding-bottom: 14px;
  color: #fff;
  border-bottom: 2px dotted #bd1017;
  font-size: 25px;
  font-weight: 900;
  line-height: 1.3;
}

.blog-zone-home {
  position: absolute;
  left: 28.5%;
  top: 79%;
  z-index: 3;
  display: grid;
  width: 26%;
  min-width: 390px;
  height: 64px;
  place-items: center;
  color: #ffe21d;
  background:
    repeating-linear-gradient(135deg, #151515 0 10px, #2b2300 10px 20px),
    #090909;
  border: 3px solid #e7bd00;
  box-shadow: 0 0 0 3px #090909, 5px 5px 0 #000;
  font-size: 22px;
  font-weight: 900;
  text-decoration: none;
  text-transform: uppercase;
}

.blog-zone-home:hover,
.blog-zone-home:focus-visible {
  color: #fff;
  background: #780008;
  border-color: #fff21f;
  outline: 2px solid #e3131d;
  outline-offset: -7px;
}

@media (max-width: 1500px) {
  .blog-os-window__title {
    font-size: 13px;
  }

  .blog-archive__body,
  .blog-status dl {
    font-size: 12px;
  }

  .blog-entry__body p {
    font-size: 21px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .blog-zone-home {
    scroll-behavior: auto;
  }
}
