/* Unified link system. Keep link semantics predictable: navigation, inline text, title links, actions, cards, and permalinks each have one visual language. */
:root {
  --link-ink: color-mix(in srgb, var(--accent) 88%, #12342d);
  --link-focus: rgba(44, 111, 99, 0.42);
}

a[data-link-kind="inline"],
.inline-link,
.text-link,
.partial-linked-text a,
.icon-list-body > a:not(.action-link),
.categories-tokyo-copy p a {
  color: var(--link-ink);
  font-weight: 650;
  text-decoration: underline;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.18em;
}

a[data-link-kind="inline"]:hover,
.inline-link:hover,
.text-link:hover,
.partial-linked-text a:hover,
.icon-list-body > a:not(.action-link):hover,
.categories-tokyo-copy p a:hover {
  color: var(--accent-strong, var(--accent));
  text-decoration-thickness: 0.12em;
}

.title-link,
.publication-title a,
.talk-title a,
.explore-title,
.web-app-title a,
.theme-result-heading-link,
.works-entry-link {
  color: var(--ink);
  text-decoration: none;
}

.title-link:hover,
.title-link:focus-visible,
.publication-title a:hover,
.publication-title a:focus-visible,
.talk-title a:hover,
.talk-title a:focus-visible,
.explore-title:hover,
.explore-title:focus-visible,
.web-app-title a:hover,
.web-app-title a:focus-visible,
.theme-result-heading-link:hover,
.theme-result-heading-link:focus-visible,
.works-entry-link:hover,
.works-entry-link:focus-visible {
  color: var(--accent);
  text-decoration: underline;
  text-decoration-thickness: 0.07em;
  text-underline-offset: 0.16em;
}

.action-link {
  border-color: color-mix(in srgb, var(--line) 78%, var(--accent));
  box-shadow: 0 1px 0 rgba(16, 42, 36, 0.04);
}

.action-link:hover,
.action-link:focus-visible {
  border-color: var(--accent);
  background: color-mix(in srgb, var(--paper) 82%, var(--accent) 10%);
  color: var(--accent);
  text-decoration: none;
}

.section-link,
.section-title-text-link {
  display: none !important;
}

.section-copy-link,
.title-copy-link {
  border: 1px solid transparent;
}

.section-copy-link:hover,
.section-copy-link:focus-visible,
.title-copy-link:hover,
.title-copy-link:focus-visible {
  border-color: color-mix(in srgb, var(--accent) 54%, transparent);
  background: color-mix(in srgb, var(--paper) 82%, var(--accent) 8%);
}

a:focus-visible,
button:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid var(--link-focus);
  outline-offset: 3px;
}

.site-nav a,
.nav-search,
.action-link,
.works-entry-link,
.explore-card-media,
.talk-thumb {
  text-decoration: none;
}

.site-public-url {
  color: var(--muted);
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.profile-link-chip,
.icon-list-link {
  color: inherit;
  text-decoration: none;
}

.profile-link-chip:hover .profile-link-label,
.profile-link-chip:focus-visible .profile-link-label,
.icon-list-link:hover .icon-list-label,
.icon-list-link:focus-visible .icon-list-label {
  color: var(--accent);
  text-decoration: underline;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.18em;
}

.icon-list-link {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  width: 100%;
  min-width: 0;
}

.link-column .icon-list-item {
  display: block;
}

.icon-list-link .icon-list-body,
.icon-list-link .icon-list-label {
  min-width: 0;
  overflow-wrap: normal;
  word-break: normal;
}
