/*
 * Public profile surface — dedicated, self-contained presentation.
 * Palette sampled from the Filmology dashboard reference screenshot:
 * #0F0F0F background, #252525 surface, #202020 secondary surface,
 * #444444 line, #FFFFFF text, #B5B5B5 muted, #FF2732 accent,
 * #360D15 active accent surface, #34D399 success, #55A4F8 verified.
 *
 * Flat-color surfaces only; no animated hover effects or specificity overrides.
 */
.sofiya-public-profile-page {
  --spp-bg: #0f0f0f;
  --spp-surface: #252525;
  --spp-surface-2: #202020;
  --spp-surface-3: #2f2f2f;
  --spp-line: #444444;
  --spp-text: #ffffff;
  --spp-muted: #b5b5b5;
  --spp-accent: #ff2732;
  --spp-accent-soft: #360d15;
  --spp-success: #34d399;
  --spp-verified: #55a4f8;
  --spp-radius: 18px;
  direction: rtl;
  min-height: 70vh;
  padding: 28px 0 92px;
  background: var(--spp-bg);
  color: var(--spp-text);
}
.sofiya-public-profile-page * { box-sizing: border-box; }
.sofiya-public-profile-page button, .sofiya-public-profile-page a { transition: none; animation: none; }
.sofiya-public-profile-shell { width: min(1180px, calc(100% - 32px)); max-width: 1180px; margin-inline: auto; }

/* Profile header */
.sofiya-public-profile-hero {
  display: grid;
  grid-template-columns: 124px minmax(0, 1fr) auto;
  grid-template-areas:
    "avatar identity stats"
    "avatar bio stats"
    "membership membership membership";
  align-items: center;
  gap: 12px 20px;
  padding: 18px;
  border-radius: var(--spp-radius);
  background: var(--spp-bg);
}
.sofiya-public-profile-hero__avatar {
  grid-area: avatar;
  width: 124px;
  height: 124px;
  overflow: hidden;
  border: 2px solid var(--spp-accent);
  border-radius: 50%;
  background: var(--spp-surface);
}
.sofiya-public-profile-hero__avatar img,
.sofiya-public-profile-hero__avatar .sofiya-user-avatar-img {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 50%;
  object-fit: cover;
}
.sofiya-public-profile-hero__identity { grid-area: identity; min-width: 0; display: grid; justify-items: start; gap: 4px; }
.sofiya-public-profile-hero__name-row { min-width: 0; }
.sofiya-public-profile-hero__identity h1 { margin: 0; min-width: 0; font-size: 1.32rem; line-height: 1.5; font-weight: 950; text-align: start; }
.sofiya-public-profile-hero__username { direction: ltr; unicode-bidi: isolate; color: var(--spp-muted); font-size: .72rem; font-weight: 700; }
.sofiya-public-profile-hero__rank { color: var(--spp-muted); font-size: .74rem; font-weight: 800; }
.sofiya-public-profile-hero__joined { color: var(--spp-muted); font-size: .68rem; }
.sofiya-public-profile-hero__bio { grid-area: bio; margin: 0; color: var(--spp-muted); font-size: .74rem; line-height: 1.9; text-align: start; }
.sofiya-public-profile-hero__stats { grid-area: stats; display: grid; grid-template-columns: repeat(3, minmax(74px, 1fr)); gap: 8px; }
.sofiya-public-profile-hero__stats > span { display: grid; justify-items: center; gap: 4px; min-width: 74px; padding: 10px 9px; border-radius: 14px; background: var(--spp-surface-2); }
.sofiya-public-profile-hero__stats b { color: var(--spp-text); font-size: 1rem; line-height: 1.15; }
.sofiya-public-profile-hero__stats small { color: var(--spp-muted); font-size: .65rem; }

/* Name badges + accessible tooltips */
.sofiya-public-profile-page .sofiya-user-name-with-badges { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 7px; max-width: 100%; }
.sofiya-public-profile-page .sofiya-user-name-with-badges__name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sofiya-public-profile-page .sofiya-user-badges { display: inline-flex; align-items: center; gap: 5px; }
.sofiya-public-profile-page .sofiya-user-badge { position: relative; display: inline-grid; place-items: center; width: 24px; height: 24px; min-width: 24px; padding: 0; border-radius: 8px; background: var(--spp-surface-2); border: 1px solid var(--spp-line); color: var(--spp-muted); }
.sofiya-public-profile-page .sofiya-user-badge svg { width: 15px; height: 15px; }
.sofiya-public-profile-page .sofiya-user-badge--verified { color: var(--spp-verified); }
.sofiya-public-profile-page .sofiya-user-badge--premium { color: var(--spp-accent); }
.sofiya-public-profile-page .sofiya-user-badge--rank { color: var(--spp-muted); }
.sofiya-public-profile-page .sofiya-user-badge[data-tooltip]::after {
  content: attr(data-tooltip);
  position: absolute;
  z-index: 90;
  inset-block-end: calc(100% + 8px);
  inset-inline-start: 50%;
  transform: translateX(-50%);
  width: max-content;
  max-width: 190px;
  padding: 7px 9px;
  border: 1px solid var(--spp-line);
  border-radius: 8px;
  background: var(--spp-surface-2);
  color: var(--spp-text);
  font-size: .62rem;
  font-weight: 700;
  line-height: 1.5;
  pointer-events: none;
  visibility: hidden;
  opacity: 0;
}
.sofiya-public-profile-page .sofiya-user-badge[data-tooltip]:hover::after,
.sofiya-public-profile-page .sofiya-user-badge[data-tooltip]:focus::after,
.sofiya-public-profile-page .sofiya-user-badge[data-tooltip]:focus-visible::after { visibility: visible; opacity: 1; }

/* Membership + friends */
.sofiya-public-profile-membership { grid-area: membership; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 12px; padding: 14px 16px; border-radius: 16px; background: var(--spp-surface); border: 1px solid var(--spp-line); }
.sofiya-public-profile-membership__status-row { display: flex; align-items: center; }
.sofiya-public-profile-membership__status { display: inline-flex; align-items: center; gap: 7px; color: var(--spp-muted); font-size: .72rem; font-weight: 850; }
.sofiya-public-profile-membership__status i { width: 8px; height: 8px; border-radius: 50%; background: var(--spp-muted); }
.sofiya-public-profile-membership__status.is-active { color: var(--spp-text); }
.sofiya-public-profile-membership__status.is-active i { background: var(--spp-accent); }
.sofiya-public-profile-membership__friends-row { display: flex; align-items: center; justify-content: flex-end; gap: 12px; min-width: 0; }
.sofiya-public-profile-friends-preview { display: flex; align-items: center; direction: ltr; }
.sofiya-public-profile-friends-preview__avatar { display: block; width: 34px; height: 34px; margin-inline-start: -6px; overflow: hidden; border: 2px solid var(--spp-surface); border-radius: 50%; background: var(--spp-surface-2); }
.sofiya-public-profile-friends-preview__avatar:first-child { margin-inline-start: 0; }
.sofiya-public-profile-friends-preview__avatar img { display: block; width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }
.sofiya-public-profile-friends-button,
.sofiya-public-profile-no-friends { color: var(--spp-muted); font-size: .68rem; }
.sofiya-public-profile-friends-button { min-height: 34px; padding: 0 12px; border: 1px solid var(--spp-line); border-radius: 10px; background: var(--spp-surface-2); cursor: pointer; font-family: inherit; }
.sofiya-public-profile-friends-button:hover { border-color: var(--spp-muted); color: var(--spp-text); }

/* Profile share */
.sofiya-public-profile-actions { display: flex; justify-content: flex-start; margin-top: 10px; }
.sofiya-public-profile-share { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 40px; padding: 0 15px; border: 1px solid var(--spp-line); border-radius: 12px; background: var(--spp-surface); color: var(--spp-text); font-family: inherit; font-size: .72rem; font-weight: 850; cursor: pointer; }
.sofiya-public-profile-share:hover { border-color: var(--spp-muted); }
.sofiya-public-profile-share__icon { display: inline-grid; place-items: center; width: 18px; height: 18px; color: var(--spp-muted); }
.sofiya-public-profile-share__icon svg { width: 18px; height: 18px; }
.sofiya-public-profile-share.is-copied { color: var(--spp-success); }

/* Dashboard-language tabs: icons from the theme icon registry, no URL hashes. */
.sofiya-public-profile-tabs { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0; margin-top: 12px; padding: 7px; border: 1px solid var(--spp-line); border-radius: 16px; background: var(--spp-surface); overflow: hidden; }
.sofiya-public-profile-tabs button { display: flex; align-items: center; justify-content: center; gap: 8px; min-width: 0; min-height: 46px; padding: 0 10px; border: 0; border-radius: 11px; background: transparent; color: var(--spp-muted); font-family: inherit; font-size: .7rem; font-weight: 850; cursor: pointer; }
.sofiya-public-profile-tabs button span { display: inline-grid; place-items: center; width: 20px; height: 20px; }
.sofiya-public-profile-tabs button svg { width: 20px; height: 20px; }
.sofiya-public-profile-tabs button:hover { background: var(--spp-surface-2); color: var(--spp-text); }
.sofiya-public-profile-tabs button.is-active { background: var(--spp-accent-soft); color: var(--spp-text); }
.sofiya-public-profile-tabs button.is-active span { color: var(--spp-accent); }

.sofiya-public-profile-panels { min-height: 260px; }
.sofiya-public-profile-section { margin-top: 12px; padding: 16px; border: 1px solid var(--spp-line); border-radius: var(--spp-radius); background: var(--spp-surface); }
.sofiya-public-profile-section__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.sofiya-public-profile-section__head h2 { display: inline-flex; align-items: center; gap: 8px; margin: 0; color: var(--spp-text); font-size: .92rem; font-weight: 950; }
.sofiya-public-profile-section__head h2 svg { width: 20px; height: 20px; color: var(--spp-accent); }
.sofiya-public-profile-section__head > span { display: inline-flex; align-items: center; min-height: 28px; padding: 0 10px; border-radius: 9px; background: var(--spp-surface-2); color: var(--spp-muted); font-size: .63rem; }

/* Film/series cards: medium (normally 200x300) is the canonical poster source. */
.sofiya-public-profile-media-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 18px 12px; align-items: start; }
.sofiya-public-profile-media-card { display: grid; align-content: start; gap: 6px; min-width: 0; color: inherit; text-decoration: none; }
.sofiya-public-profile-media-card__poster { position: relative; display: block; width: 100%; aspect-ratio: 2 / 3; overflow: hidden; border-radius: 13px; background: var(--spp-surface-2); }
.sofiya-public-profile-media-card__poster img { display: block; width: 100%; height: 100%; max-width: none; border-radius: 0; object-fit: cover; }
.sofiya-public-profile-media-card__empty { display: grid; place-items: center; width: 100%; height: 100%; color: var(--spp-muted); }
.sofiya-public-profile-media-card__rating { position: absolute; inset-block-start: 7px; inset-inline-start: 7px; display: inline-flex; align-items: center; gap: 4px; height: 25px; padding: 0 7px; border: 1px solid var(--spp-line); border-radius: 8px; background: var(--spp-surface-2); color: var(--spp-text); font-size: .62rem; font-weight: 900; direction: ltr; }
.sofiya-public-profile-media-card__rating small { color: #fbd436; font-size: .49rem; font-weight: 950; }
.sofiya-public-profile-media-card > strong { display: block; min-width: 0; overflow: hidden; color: var(--spp-text); font-size: .7rem; font-weight: 850; line-height: 1.6; text-overflow: ellipsis; white-space: nowrap; }
.sofiya-public-profile-media-card__meta { display: flex; align-items: center; gap: 4px; min-width: 0; overflow: hidden; color: var(--spp-muted); font-size: .58rem; direction: ltr; unicode-bidi: isolate; white-space: nowrap; }
.sofiya-public-profile-media-card__meta bdi { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.sofiya-public-profile-media-card__meta i { font-style: normal; color: var(--spp-line); }

/* Lists: exactly four cards per desktop row, then responsive. */
.sofiya-public-profile-list-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.sofiya-public-profile-list-card { display:grid;min-width:0;overflow:hidden;border:1px solid var(--spp-line);border-radius:15px;background:var(--spp-surface-2);color:inherit;text-decoration:none; }
.sofiya-public-profile-list-card__mosaic { position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));width:100%;aspect-ratio:1/1;overflow:hidden;background:var(--spp-surface-3); }
.sofiya-public-profile-list-card__cover { min-width:0;min-height:0;overflow:hidden;background:var(--spp-surface-3); }
.sofiya-public-profile-list-card__cover img { display:block;width:100%;height:100%;object-fit:cover; }
.sofiya-public-profile-list-card__placeholder { display:block;width:100%;height:100%;background:var(--spp-surface-3); }
.sofiya-public-profile-list-card__visibility,.sofiya-public-profile-list-card__count { position:absolute;z-index:3;display:inline-flex;align-items:center;min-height:25px;padding:0 8px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(6,10,14,.72);color:#fff;font-size:.57rem;font-weight:900;backdrop-filter:blur(8px); }
.sofiya-public-profile-list-card__visibility { top:7px;right:7px;background:rgba(255,0,51,.9);border-color:rgba(255,0,51,.4); }
.sofiya-public-profile-list-card__count { bottom:7px;left:7px; }
.sofiya-public-profile-list-card__body { display:block;min-width:0;padding:10px; }
.sofiya-public-profile-list-card__body strong { display:block;min-width:0;overflow:hidden;color:var(--spp-text);font-size:.76rem;font-weight:900;text-overflow:ellipsis;white-space:nowrap; }

.sofiya-public-profile-comments { display: grid; gap: 10px; }
.sofiya-public-profile-comment-card { display: grid; gap: 6px; padding: 13px 14px; border: 1px solid var(--spp-line); border-radius: 13px; background: var(--spp-surface-2); color: inherit; text-decoration: none; }
.sofiya-public-profile-comment-card:hover { border-color: var(--spp-muted); }
.sofiya-public-profile-comment-card__title { color: var(--spp-text); font-size: .74rem; font-weight: 900; }
.sofiya-public-profile-comment-card__text { color: var(--spp-muted); font-size: .67rem; line-height: 1.85; }
.sofiya-public-profile-comment-card__footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--spp-muted); font-size: .58rem; }
.sofiya-public-profile-comment-card__footer span { color: var(--spp-accent); font-weight: 850; }

/* Server-paginated load more keeps long profiles light. */
.sofiya-public-profile-load-more-wrap { display: flex; justify-content: center; margin-top: 18px; }
.sofiya-public-profile-load-more { min-width: 156px; min-height: 40px; padding: 0 18px; border: 1px solid var(--spp-line); border-radius: 11px; background: var(--spp-surface-2); color: var(--spp-text); font-family: inherit; font-size: .7rem; font-weight: 900; cursor: pointer; }
.sofiya-public-profile-load-more:hover { border-color: var(--spp-muted); }
.sofiya-public-profile-load-more:disabled { cursor: wait; opacity: .55; }
.sofiya-public-profile-empty { padding: 28px 18px; border: 1px dashed var(--spp-line); border-radius: 14px; background: var(--spp-surface-2); color: var(--spp-muted); text-align: center; font-size: .7rem; }
.sofiya-public-profile-section-loader { padding: 24px 16px; border-radius: 12px; background: var(--spp-surface-2); color: var(--spp-muted); text-align: center; font-size: .68rem; }

/* Friends modal */
.sofiya-public-profile-friends-dialog { width: min(560px, calc(100% - 28px)); max-height: min(680px, calc(100vh - 40px)); padding: 0; overflow: hidden; border: 1px solid var(--spp-line); border-radius: 18px; background: var(--spp-surface); color: var(--spp-text); }
.sofiya-public-profile-friends-dialog::backdrop { background: rgba(0, 0, 0, .76); }
.sofiya-public-profile-friends-dialog__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 15px 16px; border-bottom: 1px solid var(--spp-line); }
.sofiya-public-profile-friends-dialog__head h2 { margin: 0; font-size: .9rem; font-weight: 950; }
.sofiya-public-profile-friends-dialog__head button { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid var(--spp-line); border-radius: 10px; background: var(--spp-surface-2); color: var(--spp-muted); cursor: pointer; }
.sofiya-public-profile-friends-dialog__head button svg { width: 18px; height: 18px; }
.sofiya-public-profile-friends-dialog__list { display: grid; gap: 0; max-height: 580px; overflow-y: auto; padding: 6px 16px 14px; }
.sofiya-public-profile-friend-row { display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; align-items: center; gap: 11px; padding: 12px 0; border-bottom: 1px solid var(--spp-line); }
.sofiya-public-profile-friend-row:last-child { border-bottom: 0; }
.sofiya-public-profile-friend-row__avatar { width: 52px; height: 52px; overflow: hidden; border-radius: 50%; background: var(--spp-surface-2); }
.sofiya-public-profile-friend-row__avatar img { display: block; width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }
.sofiya-public-profile-friend-row__identity { display: grid; gap: 3px; min-width: 0; }
.sofiya-public-profile-friend-row__identity strong { min-width: 0; overflow: hidden; font-size: .74rem; font-weight: 900; text-overflow: ellipsis; white-space: nowrap; }
.sofiya-public-profile-friend-row__username { direction: ltr; unicode-bidi: isolate; justify-self: start; color: var(--spp-muted); font-size: .62rem; }
.sofiya-public-profile-friend-row__badges { min-height: 24px; }
.sofiya-public-profile-friend-row__profile { display: inline-flex; align-items: center; justify-content: center; min-height: 34px; padding: 0 12px; border: 1px solid var(--spp-line); border-radius: 10px; background: var(--spp-surface-2); color: var(--spp-text); font-size: .65rem; font-weight: 850; text-decoration: none; }
.sofiya-public-profile-friend-row__profile:hover { border-color: var(--spp-muted); }

/* Private / missing profile */
.sofiya-public-profile-state { max-width: 620px; margin: 60px auto; padding: 28px; border: 1px solid var(--spp-line); border-radius: 18px; background: var(--spp-surface); text-align: center; }
.sofiya-public-profile-state__avatar { display: flex; justify-content: center; margin-bottom: 12px; }
.sofiya-public-profile-state__avatar img { display: block; width: 104px; height: 104px; border-radius: 50%; object-fit: cover; }
.sofiya-public-profile-state h1 { margin: 0 0 8px; color: var(--spp-text); font-size: 1.08rem; text-align: center; }
.sofiya-public-profile-state p { margin: 0; color: var(--spp-muted); font-size: .72rem; line-height: 2; text-align: center; }

@media (max-width: 1080px) {
  .sofiya-public-profile-media-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}
@media (max-width: 920px) {
  .sofiya-public-profile-hero { grid-template-columns: 108px minmax(0, 1fr); grid-template-areas: "avatar identity" "avatar bio" "stats stats" "membership membership"; }
  .sofiya-public-profile-hero__avatar { width: 108px; height: 108px; }
  .sofiya-public-profile-hero__stats { grid-template-columns: repeat(3, 1fr); }
  .sofiya-public-profile-tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; }
  .sofiya-public-profile-media-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .sofiya-public-profile-list-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .sofiya-public-profile-page { padding-top: 14px; padding-bottom: 76px; }
  .sofiya-public-profile-shell { width: min(100% - 20px, 1180px); }
  .sofiya-public-profile-hero { grid-template-columns: 86px minmax(0, 1fr); grid-template-areas: "avatar identity" "bio bio" "stats stats" "membership membership"; padding: 10px 0 0; }
  .sofiya-public-profile-hero__avatar { width: 86px; height: 86px; }
  .sofiya-public-profile-hero__identity h1 { font-size: 1rem; }
  .sofiya-public-profile-membership { grid-template-columns: 1fr; gap: 10px; }
  .sofiya-public-profile-membership__friends-row { justify-content: space-between; }
  .sofiya-public-profile-actions { justify-content: stretch; }
  .sofiya-public-profile-share { width: 100%; }
  .sofiya-public-profile-tabs { display: flex; gap: 5px; overflow-x: auto; scrollbar-width: none; }
  .sofiya-public-profile-tabs::-webkit-scrollbar { display: none; }
  .sofiya-public-profile-tabs button { flex: 0 0 auto; min-width: 112px; }
  .sofiya-public-profile-section { padding: 12px; }
  .sofiya-public-profile-media-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px 9px; }
  .sofiya-public-profile-list-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
}
@media (max-width: 520px) {
  .sofiya-public-profile-media-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .sofiya-public-profile-list-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sofiya-public-profile-friend-row { grid-template-columns: 46px minmax(0, 1fr) auto; }
  .sofiya-public-profile-friend-row__avatar { width: 46px; height: 46px; }
}
@media (max-width: 360px) {
  .sofiya-public-profile-media-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sofiya-public-profile-list-grid { grid-template-columns: 1fr; }
}

.sofiya-public-profile-deleted .sofiya-public-profile-state__avatar img{filter:grayscale(1)}.sofiya-public-profile-deleted h1{margin-top:4px}.sofiya-public-profile-deleted p{max-width:430px}
