:root {
  --homepage-section-gap: 1rem;
}

#homepage-updates-slot,
#homepage-farm-updates-slot {
  width: calc(var(--col-w) * 0.5);
  height: auto;
  align-self: center;
  justify-self: center;
  max-width: 100%;
  margin-bottom: 10px;
  margin-top: 10px;
}

#homepage-updates-banner,
#homepage-farm-updates-banner,
.homepage-updates-banner {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  gap: 10px;
}

.homepage-updates-banner .row {
  width: 100%;
  margin-left: 0;
  margin-right: 0;
}

.homepage-updates-banner .col-12 {
  display: flex;
  justify-content: center;
  padding-left: 0;
  padding-right: 0;
}

.homepage-updates-banner .realtime-updates-label {
  width: 100%;
  text-align: center;
}

.homepage-updates-banner .btn-homepage-updates-jump {
  max-width: 100%;
  white-space: normal;
  text-align: center;
}

.homepage-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: calc(var(--col-w) * 0.5);
  height: auto;
  min-height: calc(var(--col-w) * 0.035);
  padding: 8px 16px;
  background: rgba(255, 255, 255, 0);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-radius: 32px;
  border: 2px solid rgba(73, 72, 128, 1);
  color: #000dff;
  text-shadow: 0 1px 3px rgb(255, 39, 39);
  position: relative;
  font-size: calc(var(--col-w) * 0.025);
  cursor: pointer;
  pointer-events: auto;
  text-align: center;
  box-shadow: 0 0 var(--glow-blur) var(--glow-color);
  align-self: center;
  margin: 0 auto 10px;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    border-color 0.2s ease;
}

.homepage-btn:hover,
.homepage-btn:focus,
.homepage-btn:active {
  background: rgba(129, 137, 255, 0.7);
  box-shadow: 0 0 8px rgba(129, 137, 255, 0.5);
  outline: none;
}

.homepage-auth {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  margin-bottom: 100px;
}

.homepage-auth .signin-btn,
.homepage-auth .signout-btn {
  width: calc(var(--col-w) * 0.5);
  max-width: 100%;
}

.homepage img {
  align-self: center;
  justify-self: center;
  display: block;
  width: 100%;
  height: auto;
}

.homepage {
  grid-row: 1 / -1;
  min-height: 0;
  overflow: hidden;
  font-family: "Segoe UI Black", sans-serif;
  font-size: clamp(8px, 2vw, 16px);
  font-weight: bold;
  text-align: left;
  text-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  color: #000000;
}

.homepage .homepage-empty-message {
  font-size: clamp(12px, 2vw, 24px);
  text-align: center;
  color: #000dff;
  text-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  align-self: center;
  justify-self: center;
}

.homepage-viewport {
  height: 100%;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 16px;
}

.homepage-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}

#homepage-track,
.homepage-pagination-menu {
  margin-top: var(--homepage-section-gap);
}

#homepage-track {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.homepage-pagination-menu {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  text-align: center;
}

#homepage-actions {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin-top: var(--homepage-section-gap);
}

.homepage-header .homepage-title {
  align-self: center;
  justify-self: center;
  width: min(100%, calc(var(--col-w) * 0.85));
  font-family:
    "Trebuchet MS", "Lucida Sans Unicode", "Lucida Grande", "Lucida Sans",
    Arial, sans-serif;
  font-weight: bold;
  text-align: center;
  color: #000dff;
  font-size: clamp(16px, 2vw, 32px);
  text-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  margin-bottom: 10px;
}

.btn-homepage-prev,
.btn-homepage-next {
  margin: 0;
  width: calc(var(--col-w) * 0.05);
  height: calc(var(--col-w) * 0.025);
  background: rgba(129, 137, 255, 0.6);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-radius: 32px;
  border: 2px solid rgb(243, 243, 255);
  color: #ffffff;
  text-shadow: 0 1px 3px rgb(236, 231, 255);
  font-size: calc(var(--col-w) * 0.008);
  cursor: pointer;
  box-shadow: 0 0 var(--glow-blur) var(--glow-color);
  display: flex;
  justify-content: center;
  align-items: center;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    border-color 0.2s ease;
}

.btn-homepage-more {
  margin-top: 20px;
  margin-left: auto;
  margin-right: auto;
  width: calc(var(--col-w) * 0.2);
  height: calc(var(--col-w) * 0.035);
  background: rgba(129, 137, 255, 0.6);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-radius: 32px;
  border: 2px solid rgb(243, 243, 255);
  color: #ffffff;
  text-shadow: 0 1px 3px rgb(236, 231, 255);
  font-size: calc(var(--col-w) * 0.025);
  cursor: pointer;
  box-shadow: 0 0 var(--glow-blur) var(--glow-color);
  display: flex;
  justify-content: center;
  align-items: center;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    border-color 0.2s ease;
}

.btn-homepage-more:hover,
.btn-homepage-prev:hover,
.btn-homepage-next:hover,
.btn-homepage-more:focus,
.btn-homepage-prev:focus,
.btn-homepage-next:focus,
.btn-homepage-more:active,
.btn-homepage-prev:active,
.btn-homepage-next:active {
  background: rgba(129, 137, 255, 0.7);
  box-shadow: 0 0 8px rgba(129, 137, 255, 0.5);
  outline: none;
}
