/* Accessibility: Skip link for keyboard navigation */
a.skip-link {
  position: absolute;
  top: -100px;
  left: 0;
  background: var(--maincolor);
  color: #000;
  padding: 8px;
  text-decoration: none;
  border-bottom: none;
  z-index: 100;
  opacity: 0;
  pointer-events: none;
}

a.skip-link:focus {
  top: 0;
  opacity: 1;
  pointer-events: auto;
  border-bottom: none;
}

/* Accessibility: Visually hidden but accessible to screen readers */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

/* Custom styles for tag counts */
.tag-count {
  font-size: 0.85em;
  color: var(--textSubdued);
  font-weight: normal;
}

/* Tags link on posts page */
.tags-link {
  margin-top: 0;
  margin-bottom: 2em;
  color: var(--textSubdued);
  font-size: 0.95em;
}

/* Tag list page styling */
.tag-list {
  list-style: none;
  padding-left: 0;
}

.tag-list li {
  margin-bottom: 0.5em;
  text-indent: 0;
}

.tag-list li::before {
  content: '# ';
  color: var(--maincolor);
  font-weight: bold;
}

/* Footnote label emitted by remark-rehype: hidden visually, kept for screen readers */
.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border-width: 0;
}

/* Line numbers for Shiki code blocks */
pre.shiki code { counter-reset: line; }
pre.shiki .line::before {
	counter-increment: line;
	content: counter(line);
	display: inline-block;
	width: 2em;
	margin-right: 1em;
	text-align: right;
	color: #7f7f7f;
	user-select: none;
}

/* Hugo's chroma table left room above the first line; clear the language badge (.highlight pre code::before) */
.highlight pre.shiki {
	padding: 2em 1em 1em;
}
