.skip-link {
  position: fixed;
  top: 12px;
  left: 16px;
  z-index: 130;
  max-width: calc(100% - 32px);
  padding: 10px 16px;
  border: 2px solid var(--text);
  border-radius: var(--radius-sm);
  background: var(--surface);
  color: var(--text);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.4;
  transform: translateY(calc(-100% - 16px));
}

.skip-link:focus {
  transform: translateY(0);
  outline: 3px solid var(--accent);
  outline-offset: 3px;
}

#main {
  scroll-margin-top: calc(var(--header-h) + 16px);
}

.site-visit:focus-visible,
[data-vote]:focus-visible {
  color: var(--text);
  outline: 3px solid var(--text);
  outline-offset: 3px;
}

.site-visit:focus-visible {
  background: var(--surface-3);
}

[data-vote].is-pending {
  cursor: progress;
  border-style: dashed;
}

[data-vote].is-voted {
  cursor: default;
}

@media (pointer: coarse), (max-width: 900px) {
  .site-visit {
    width: 44px;
    height: 44px;
  }
}
