/* The fixed target prevents a longer Chinese label from creating extra
   pointer exits. Only its text changes; the corner stays where it is. */
.contact .cv-switch {
  display: grid;
  inline-size: 2.2em;
  block-size: 1.25em;
  text-align: right;
  align-items: start;
  justify-items: end;
}
.cv-switch-label {
  grid-area: 1 / 1;
  white-space: nowrap;
  pointer-events: none;
  transform-origin: right center;
}
.cv-switch-motion {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.cv-switch-glyph {
  position: absolute;
  top: 0;
  display: block;
  white-space: pre;
  transform-origin: center;
  backface-visibility: hidden;
  will-change: transform, opacity, filter;
}
.cv-language-picker { display: none; }

/* Touch has no hover pass. A single selected language is exposed instead. */
@media (hover: none), (any-pointer: coarse) {
  .cv-switch[data-cv-ready="true"] ~ .cv-language-picker {
    display: block;
    position: absolute;
    top: calc(var(--padding) + 120px);
    right: var(--padding);
    width: 280px;
    min-height: 144px;
    padding: 12px 20px;
    font: 48px var(--fonts-body);
    color: var(--colors-gray12);
    background: white;
    border: 2px solid var(--colors-gray8);
    border-radius: 8px;
  }
}
