/* ホームへ戻るリンク（lgtm 仕様共通） */

header .home-link,
.header .home-link,
.app-header .home-link,
.tool-header .home-link {
  position: absolute;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
  display: inline-block;
  padding: 6px 14px;
  border-radius: 20px;
  background: #fff;
  border: 1px solid var(--primary, var(--accent, #0078ff));
  text-decoration: none;
  color: var(--primary, var(--accent, #0078ff));
  font-weight: 500;
  font-size: 0.9rem;
  transition: 0.25s ease;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15);
  white-space: nowrap;
  z-index: 10;
}

header .home-link:hover,
.header .home-link:hover,
.app-header .home-link:hover,
.tool-header .home-link:hover {
  background: var(--primary, var(--accent, #0078ff));
  color: #fff;
  transform: translateY(-50%) translateY(-2px);
}

header:has(.home-link),
.app-header:has(.home-link),
.tool-header:has(.home-link) {
  position: relative;
}

.header:has(.home-link) .header-inner {
  padding-left: 9rem;
}

@media (max-width: 600px) {
  header .home-link,
  .header .home-link,
  .app-header .home-link,
  .tool-header .home-link {
    position: static;
    transform: none;
    margin-bottom: 0.5rem;
  }

  header .home-link:hover,
  .header .home-link:hover,
  .app-header .home-link:hover,
  .tool-header .home-link:hover {
    transform: translateY(-2px);
  }

  .app-header:has(.home-link) {
    flex-wrap: wrap;
    height: auto;
    padding: 0.75rem 1rem;
    gap: 0.5rem;
  }

  .app-header:has(.home-link) .header-left,
  .app-header:has(.home-link) .header-actions {
    width: 100%;
  }

  .header:has(.home-link) .header-inner {
    flex-wrap: wrap;
    padding-left: 0;
  }
}
