/* Canonical ordinary text links. Menus, controls, cards and code keep their owners. */
body :is(a,button[data-text-link-action="modal"]).twoip-text-link[data-twoip-link-kind] {
  --twoip-text-link-line: solid;
  color: var(--twoip-on-surface);
  background: none;
  border: 0;
  border-bottom: 1px var(--twoip-text-link-line) currentColor;
  border-radius: 0;
  text-decoration: none;
  box-shadow: none;
  overflow-wrap: anywhere;
  box-decoration-break: clone;
}
body :is(a,button[data-text-link-action="modal"]).twoip-text-link[data-twoip-link-kind]:is([data-twoip-link-kind="internal"],[data-twoip-link-kind="modal"]) { --twoip-text-link-line: dotted; }
body :is(a,button[data-text-link-action="modal"]).twoip-text-link[data-twoip-link-kind]:visited { color: var(--twoip-on-surface); }
/* Keep the existing single leaf underline when a label is paired with an icon. */
body :is(a,button[data-text-link-action="modal"]).twoip-text-link[data-twoip-link-kind].twoip-inline-link--with-label { border-bottom: 0; }
body :is(a,button[data-text-link-action="modal"]).twoip-text-link[data-twoip-link-kind] .twoip-inline-label { border-bottom: 0; color: inherit; text-decoration: none; }
body :is(a,button[data-text-link-action="modal"]).twoip-text-link[data-twoip-link-kind].twoip-inline-link--with-label .twoip-inline-label:not(:has(.twoip-inline-label)) { border-bottom: 1px var(--twoip-text-link-line) currentColor; }
body :is(a,button[data-text-link-action="modal"]).twoip-text-link[data-twoip-link-kind]:focus-visible {
  color: var(--twoip-primary);
  outline: 2px solid var(--twoip-primary);
  outline-offset: 3px;
}
@media (hover: hover) and (pointer: fine) {
  body :is(a,button[data-text-link-action="modal"]).twoip-text-link[data-twoip-link-kind]:hover { color: var(--twoip-primary); }
}
@media (prefers-reduced-motion: reduce) {
  body :is(a,button[data-text-link-action="modal"]).twoip-text-link[data-twoip-link-kind] { transition: none; }
}

/* Explicit local modal actions share the text-link contract, not button geometry. */
body button.twoip-text-link[data-text-link-action="modal"] {font:inherit;padding:0;cursor:pointer;vertical-align:baseline}
