/* Pixel Battle Social Identity Foundation — permanent shared primitives */
.pb-identity-inline{display:inline-flex;align-items:center;gap:5px;min-width:0;max-width:100%;vertical-align:middle}
.pb-identity-name{min-width:0;color:var(--pb-color-text-primary,#f1f6f1);font:inherit;font-weight:700;overflow-wrap:anywhere}
.pb-identity-name.is-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:normal}
.pb-identity-verified{--pb-identity-icon-size:16px;width:var(--pb-identity-icon-size);height:var(--pb-identity-icon-size);min-width:var(--pb-identity-icon-size);min-height:var(--pb-identity-icon-size);max-width:var(--pb-identity-icon-size);max-height:var(--pb-identity-icon-size);flex:0 0 var(--pb-identity-icon-size);display:inline-grid;place-items:center;overflow:hidden;color:var(--pb-color-info,#5db7ff);vertical-align:middle}
.pb-identity-verified-icon{width:var(--pb-identity-icon-size);height:var(--pb-identity-icon-size);min-width:var(--pb-identity-icon-size);min-height:var(--pb-identity-icon-size);max-width:var(--pb-identity-icon-size);max-height:var(--pb-identity-icon-size);display:block;object-fit:contain;filter:none}
.pb-identity-pin{--pb-identity-pin-size:16px;width:var(--pb-identity-pin-size);height:var(--pb-identity-pin-size);flex:0 0 var(--pb-identity-pin-size);display:inline-block;object-fit:contain;vertical-align:middle;border:0;outline:0;box-shadow:none;background:transparent;border-radius:4px;contain:paint}
img.pb-identity-pin{image-rendering:auto}
.pb-identity-avatar{display:block;object-fit:cover;flex:0 0 auto;border-radius:var(--pb-radius-sm,8px);background:var(--pb-color-surface-2,#111712);border:0}
.pb-identity-role{display:inline-flex;align-items:center;min-width:0;color:var(--pb-identity-role-color,var(--pb-color-text-secondary,#a5b0a7));font-size:.78em;font-weight:650;line-height:1.25}
.pb-identity-role--admin{color:var(--pb-identity-role-color,var(--pb-color-text-primary,#f1f6f1))}
.pb-identity-role--moderator{color:var(--pb-identity-role-color,var(--pb-color-info,#5db7ff))}
.pb-identity-role--special{color:var(--pb-identity-role-color,var(--pb-color-text-secondary,#a5b0a7))}
.profile-role-inline.pb-identity-role--admin{--profile-role-color:var(--pb-color-text-primary,#f1f6f1)}
.profile-role-inline.pb-identity-role--moderator{--profile-role-color:var(--pb-color-info,#5db7ff)}
.profile-role-inline.pb-identity-role--special{--profile-role-color:var(--pb-color-text-secondary,#a5b0a7)}
.profile-role-inline.pb-identity-role--member{--profile-role-color:var(--pb-color-text-secondary,#a5b0a7)}
.pb-identity-presence{display:inline-flex;align-items:center;gap:6px;min-width:0;color:var(--pb-color-text-muted,#808b83);font-size:.78em}
.pb-identity-presence::before{content:"";width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:var(--pb-color-text-muted,#808b83)}
.pb-identity-presence.is-online{color:var(--pb-color-success,#58d68d)}
.pb-identity-presence.is-online::before{background:var(--pb-color-success,#58d68d)}
.pb-identity-presence.is-hidden::before{background:transparent;border:1px solid var(--pb-color-border-strong,#3a473c)}
.pb-identity-focusable:focus-visible{outline:2px solid var(--pb-color-accent-foreground,#b7ff19);outline-offset:2px;border-radius:var(--pb-radius-xs,4px)}

/* Migration adapters: keep existing social compositions while using shared semantics. */
.home-feed-name,.home-comment-name,.post-author-name,.profile-comment-name,.ci-name-text,.msn-header-name>span:first-child,.psh-name-text{color:var(--pb-color-text-primary,#f1f6f1)}
.home-feed-author-line,.home-comment-head,.post-author-meta,.ci-name,.msn-header-name,.psh-name{min-width:0}
.home-feed-name,.home-comment-name,.post-author-name,.profile-comment-name,.ci-name-text,.psh-name-text{min-width:0;max-width:100%}
.ci-name-text,.psh-name-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

@media (prefers-reduced-motion:reduce){
  .pb-identity-verified,.pb-identity-pin,.pb-identity-avatar,.pb-identity-presence{transition:none}
}
