.public-profile-page { min-height: 75vh; padding: 122px 0 80px; background: #141414; color: #ededed; }
.public-profile-container { width: min(1180px, calc(100% - 48px)); margin: 0 auto; }
.public-profile-back { display: inline-flex; margin-bottom: 24px; color: #aaa; font-size: 13px; font-weight: 700; text-decoration: none; }
.public-profile-back:hover { color: var(--fm-accent); }
.public-profile-notice { margin-bottom: 18px; padding: 13px 16px; border: 1px solid #347354; border-radius: 10px; background: #173526; color: #bdf4d1; font-size: 14px; }
.public-profile-notice.is-error { border-color: #733f3f; background: #351d1d; color: #ffc1c1; }
.public-profile-hero { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 28px; padding: 32px; border: 1px solid #353535; border-radius: 16px; background: linear-gradient(135deg, #202020, #181818); }
.public-profile-avatar-wrap { position: relative; display: grid; place-items: center; width: 116px; height: 116px; border: 2px solid #ff8a2b80; border-radius: 50%; background: #262626; color: #fff; font-size: 42px; font-style: normal; font-weight: 900; overflow: visible; }
.public-profile-avatar-wrap img { width: 100%; height: 100%; border-radius: inherit; object-fit: cover; }
.public-profile-presence { position: absolute; right: 4px; bottom: 8px; width: 18px; height: 18px; border: 4px solid #1b1b1b; border-radius: 50%; background: #737373; }
.public-profile-presence.is-online { background: #3fd27f; }
.public-profile-kicker, .public-profile-section-title > span, .public-profile-empty > span { color: var(--fm-accent); font-size: 11px; font-weight: 900; letter-spacing: 1.8px; }
.public-profile-identity h1 { margin: 8px 0 14px; color: #fff; font-size: clamp(34px, 5vw, 54px); line-height: 1; overflow-wrap: anywhere; }
.public-profile-custom-status { margin: -3px 0 14px; color: #c7c7c7; font-size: 15px; line-height: 1.5; }
.public-profile-tags { display: flex; flex-wrap: wrap; gap: 9px; }
.public-profile-tags span { padding: 7px 10px; border: 1px solid #3b3b3b; border-radius: 999px; color: #aaa; font-size: 12px; }
.public-profile-tags span.is-online { border-color: #277d50; color: #67db99; }
.public-profile-action a, .public-profile-action button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 11px 17px; border: 1px solid #ff8a2b99; border-radius: 10px; background: #ff8a2b12; color: #ffad70; font: inherit; font-size: 13px; font-weight: 800; text-decoration: none; cursor: pointer; }
.public-profile-action a:hover, .public-profile-action button:hover { background: var(--fm-accent); color: #171717; }
.public-profile-action > span { display: inline-flex; padding: 11px 15px; border: 1px solid #3b3b3b; border-radius: 10px; color: #aaa; font-size: 13px; font-weight: 700; }
.public-profile-action > span.is-friend { border-color: #277d50; color: #67db99; }
.public-profile-stats { display: grid; grid-template-columns: repeat(3, 1fr); margin: 18px 0 28px; border: 1px solid #303030; border-radius: 12px; background: #191919; }
.public-profile-stats div { display: grid; place-items: center; gap: 5px; padding: 20px; }
.public-profile-stats div + div { border-left: 1px solid #303030; }
.public-profile-stats strong { color: #fff; font-size: 24px; }
.public-profile-stats span { color: #929292; font-size: 12px; }
.public-profile-game, .public-profile-activity { padding: 26px; border: 1px solid #303030; border-radius: 14px; background: #191919; }
.public-profile-about { margin: 18px 0 0; padding: 26px; border: 1px solid #303030; border-radius: 14px; background: #191919; }
.public-profile-about-bio { max-width: 850px; color: #c3c3c3; font-size: 15px; line-height: 1.75; }
.public-profile-about-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 20px; }
.public-profile-about-details div { display: grid; gap: 7px; padding: 15px; border: 1px solid #343434; border-radius: 9px; background: #1e1e1e; }
.public-profile-about-details small { color: #8e8e8e; }
.public-profile-about-details strong { color: #ededed; font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
.public-profile-game { margin-bottom: 24px; }
.public-profile-section-title h2 { margin: 7px 0 20px; color: #fff; font-size: 22px; }
.public-profile-game-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 20px; }
.public-profile-game-grid div { display: grid; gap: 7px; padding: 15px; border: 1px solid #343434; border-radius: 9px; background: #1e1e1e; }
.public-profile-game-grid small { color: #8e8e8e; }
.public-profile-game p { max-width: 850px; margin: 12px 0 0; color: #bbb; font-size: 14px; line-height: 1.7; }
.public-profile-activity-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.public-profile-list { display: grid; }
.public-profile-list a { display: grid; gap: 6px; padding: 15px 0; border-top: 1px solid #303030; text-decoration: none; }
.public-profile-list a:first-child { border-top: 0; }
.public-profile-list strong { color: #e9e9e9; font-size: 15px; }
.public-profile-list span { color: #8e8e8e; font-size: 12px; line-height: 1.5; }
.public-profile-list a:hover strong { color: var(--fm-accent); }
.public-profile-no-activity { color: #8e8e8e; font-size: 14px; }
.public-profile-private-activity { display: flex; align-items: center; gap: 14px; padding: 22px 25px; border: 1px solid #303030; border-radius: 12px; background: #191919; }
.public-profile-private-activity > span { font-size: 20px; }
.public-profile-private-activity strong { color: #ddd; font-size: 14px; }
.public-profile-private-activity p { margin-top: 5px; color: #888; font-size: 13px; }
.public-profile-empty { padding: 70px 30px; border: 1px solid #303030; border-radius: 14px; background: #191919; text-align: center; }
.public-profile-empty h1 { margin: 10px 0; }
.public-profile-empty p { color: #999; }
.public-profile-empty a { color: var(--fm-accent); }
.public-profile-link { color: inherit; text-decoration: none; }
.public-profile-link:hover { color: var(--fm-accent); }
.social-user-avatar-wrapper.public-profile-link { display: block; }
.social-user-card[data-public-profile-url] { cursor: pointer; }
.social-user-card[data-public-profile-url]:hover { border-color: #ff8a2b66; }
.social-user-card[data-public-profile-url]:focus-visible { outline: 2px solid var(--fm-accent); outline-offset: 3px; }
.sidebar-friend.public-profile-link { text-decoration: none; }
.sidebar-search-profile { display: flex; align-items: center; gap: 10px; min-width: 0; flex: 1; text-decoration: none; }
.event-organizer-user.public-profile-link,
.event-participant-user.public-profile-link,
.news-list-author.public-profile-link,
.news-article-author.public-profile-link { text-decoration: none; }
.event-organizer-user.public-profile-link:hover strong,
.event-participant-user.public-profile-link:hover strong,
.news-list-author.public-profile-link:hover span,
.news-article-author.public-profile-link:hover strong { color: var(--fm-accent); }
.account-public-profile-section { position: relative; }
.account-public-profile-heading { align-items: center; }
.account-public-profile-heading .button { flex-shrink: 0; }
.account-public-profile-form { padding: 30px; border: 1px solid #353535; border-radius: 12px; background: #1a1a1a; }
.account-public-privacy { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 24px 0; padding: 0; border: 0; }
.account-public-privacy legend { margin-bottom: 12px; color: #aaa; font-size: 12px; font-weight: 800; letter-spacing: 1px; text-transform: uppercase; }
.account-public-privacy label { display: flex; align-items: flex-start; gap: 12px; padding: 16px; border: 1px solid #353535; border-radius: 10px; background: #202020; cursor: pointer; }
.account-public-privacy input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--fm-accent); }
.account-public-privacy label > span { display: grid; gap: 5px; }
.account-public-privacy strong { color: #e7e7e7; font-size: 14px; }
.account-public-privacy small { color: #919191; font-size: 12px; line-height: 1.5; }
.account-public-profile-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; }
.account-public-profile-actions > span { color: #888; font-size: 12px; }
.public-profile-achievements { margin: 18px 0 24px; padding: 26px; border: 1px solid #303030; border-radius: 14px; background: #191919; }
.profile-achievements-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.profile-achievement { position: relative; display: flex; align-items: center; gap: 14px; min-width: 0; padding: 16px; border: 1px solid #383838; border-radius: 12px; background: linear-gradient(145deg, #222, #1b1b1b); overflow: hidden; }
.profile-achievement::after { content: ''; position: absolute; right: -28px; bottom: -42px; width: 92px; height: 92px; border-radius: 50%; background: #ff8a2b0a; }
.profile-achievement-icon { position: relative; z-index: 1; display: grid; place-items: center; flex: 0 0 48px; width: 48px; height: 48px; border: 1px solid #ff8a2b70; border-radius: 13px; background: linear-gradient(145deg, #3a271b, #211c19); color: #ff9a50; box-shadow: inset 0 0 18px #ff8a2b0c; }
.profile-achievement-icon svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.profile-achievement-content { position: relative; z-index: 1; min-width: 0; flex: 1; }
.profile-achievement-content strong { color: #f2f2f2; font-size: 14px; }
.profile-achievement-content p { margin: 5px 0 0; color: #929292; font-size: 11px; line-height: 1.45; }
.profile-achievement-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.profile-achievement-heading span { flex-shrink: 0; color: #aaa; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.profile-achievement.is-earned .profile-achievement-heading span { color: #ff9a50; }
.profile-achievement-progress { height: 4px; margin-top: 11px; border-radius: 999px; background: #343434; overflow: hidden; }
.profile-achievement-progress i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #e85d04, #ff9a50); }
.profile-achievement.is-locked { border-color: #303030; background: #1c1c1c; }
.profile-achievement.is-locked .profile-achievement-icon { border-color: #3a3a3a; background: #222; color: #686868; box-shadow: none; }
.profile-achievement.is-locked .profile-achievement-content strong { color: #aaa; }
.account-achievements-count { flex-shrink: 0; padding: 8px 11px; border: 1px solid #ff8a2b55; border-radius: 999px; background: #ff8a2b0b; color: #ff9a50; font-size: 11px; font-weight: 800; }
.account-achievements-section .profile-achievements-grid { margin-top: 4px; }
@media (max-width: 800px) {
    .public-profile-container { width: min(100% - 30px, 1180px); }
    .public-profile-hero { grid-template-columns: 1fr; justify-items: start; padding: 24px; }
    .public-profile-avatar-wrap { width: 94px; height: 94px; }
    .public-profile-activity-grid { grid-template-columns: 1fr; }
    .public-profile-game-grid { grid-template-columns: repeat(2, 1fr); }
    .public-profile-about-details, .account-public-privacy { grid-template-columns: 1fr; }
    .account-public-profile-heading { align-items: flex-start; }
    .account-public-profile-form { padding: 22px; }
    .profile-achievements-grid { grid-template-columns: 1fr 1fr; }
    .account-achievements-count { align-self: flex-start; }
}
@media (max-width: 480px) {
    .public-profile-stats { grid-template-columns: 1fr; }
    .public-profile-stats div + div { border-top: 1px solid #303030; border-left: 0; }
    .public-profile-game-grid { grid-template-columns: 1fr; }
    .profile-achievements-grid { grid-template-columns: 1fr; }
}
