.profile-card[data-player-ref] { cursor: pointer; }
.player-name-link {
  display: inline; padding: 0; border: 0; background: transparent; box-shadow: none;
  color: inherit; font: inherit; font-weight: 700; text-align: left;
  white-space: normal; overflow-wrap: anywhere; cursor: pointer;
}
.player-name-link span { color: #42dfdf; font-size: .85em; }
.player-name-link:hover { color: #42dfdf; text-decoration: underline; }
.player-name-link:focus-visible, .telegram-profile-button:focus-visible {
  outline: 2px solid #42dfdf; outline-offset: 4px;
}
.telegram-profile-button {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  width: 100%; min-height: 44px; margin: 12px 0;
  border: 1px solid #38b5e5; border-radius: 12px;
  background: linear-gradient(120deg, #146f9a, #145578); color: #fff;
  font: inherit; font-weight: 700; cursor: pointer;
}
.telegram-profile-button:hover { background: #1776a0; }

.friend-main > div { min-width: 0; }
.telegram-account { margin: 5px 0 9px; line-height: 1.45; overflow-wrap: anywhere; }
.telegram-account-link {
  display: inline-block; padding: 3px 0; border: 0; background: none; box-shadow: none;
  color: #78d9ff; font: inherit; font-size: 12px; text-align: left;
  text-decoration: none; overflow-wrap: anywhere; white-space: normal; cursor: pointer;
}
.telegram-account-link:hover { color: #b2edff; text-decoration: underline; }
.telegram-account-link:focus-visible { outline: 2px solid #42dfdf; outline-offset: 3px; }
.telegram-account-link.account-muted { color: #adc0d3; font-size: 11px; }

.community-link { display: flex; align-items: center; gap: 14px; margin: 16px 0; padding: 18px; border: 1px solid #38b5e5; border-radius: 16px; background: linear-gradient(120deg,#13597d,#163653); color: #fff; text-decoration: none; }
.community-link small { display: block; margin-top: 6px; color: #bddbe9; }
.community-icon { display: grid; place-items: center; flex-shrink: 0; width: 44px; height: 44px; border-radius: 50%; background: #219bd1; font-size: 24px; }
.raid-roster { margin-top: 16px; padding-top: 14px; border-top: 1px solid #36556d; }
.raid-search { display: flex; gap: 8px; align-items: end; }
.raid-search label { flex: 1; min-width: 0; font-size: 12px; color: #bed5e5; }
.raid-search input { display: block; width: 100%; min-width: 0; min-height: 44px; margin-top: 6px; box-sizing: border-box; }
.raid-search button { min-height: 44px; }
.raid-person { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid #263e56; }
.raid-person > div { min-width: 0; overflow-wrap: anywhere; }
.raid-person small { display: block; margin-top: 4px; color: #afc7d9; }
.raid-attendance { flex-shrink: 0; display: flex; align-items: center; gap: 7px; min-height: 44px; cursor: pointer; }
.raid-attendance input { width: 22px; height: 22px; accent-color: #2bdec7; }
.raid-pagination { display: flex; gap: 8px; align-items: center; justify-content: space-between; margin-top: 12px; font-size: 12px; }
.raid-pagination button { min-height: 44px; }
.community-link.hidden, .raid-roster.hidden { display: none; }
