body.yaoi-home,
body.yaoi-home.text-ui-dark,
body.yaoi-home.text-ui-light {
  background: var(--yaoi-color-bg);
  color: var(--yaoi-color-text);
  margin: 0;
  font-family: var(--yaoi-font-family-base);
}

body.yaoi-home h1,
body.yaoi-home h2,
body.yaoi-home h3,
body.yaoi-home a:not(:hover) {
  color: var(--yaoi-color-text);
}

.yaoi-main {
  display: block;
}

.yaoi-grid {
  display: grid;
  gap: var(--yaoi-space-4);
}

.yaoi-grid--8 {
  grid-template-columns: repeat(8, minmax(0, 1fr));
}

.yaoi-grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.yaoi-genres {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: var(--yaoi-space-4);
  margin: 0;
  padding: 0;
  list-style: none;
}

.yaoi-genres__item {
	display: grid;
	justify-items: center;
	gap: var(--yaoi-space-2);
	color: var(--yaoi-color-text);
	text-decoration: none;
	text-align: center;
	font-size: 0.8rem;
	font-weight: 700;
}

.yaoi-genres li a {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: var(--yaoi-color-bg-elevated);
  border: 1px solid var(--yaoi-color-border);
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 5rem;
}
.yaoi-genres li a::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    linear-gradient(135deg, transparent 0 18%, color-mix(in srgb, var(--yaoi-color-border) 80%, transparent) 18.1% 35%, transparent 35.1%),
    linear-gradient(145deg, var(--yaoi-color-bg-elevated), color-mix(in srgb, var(--yaoi-color-border) 45%, var(--yaoi-color-bg)));
  opacity: 0.85;
}

.yaoi-genres__icon {
  display: block;
  width: 3.25rem;
  height: 3.25rem;
  border-radius: 50%;
  background: var(--yaoi-color-bg-elevated);
}

.yaoi-genres__item:hover {
  color: var(--yaoi-color-primary);
}

@media (max-width: 1100px) {
  .yaoi-grid--8,
  .yaoi-genres {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .yaoi-grid--8,
  .yaoi-grid--3,
  .yaoi-genres {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
