:root {
  --font-geist-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-geist-mono: "Cascadia Code", "SFMono-Regular", Consolas, monospace;
}

/* V81.36 — Estatísticas nativas, independentes do Top 100. */
.statistics-center {
  min-width: 0;
}

.statistics-browser {
  overflow: hidden;
  border: 1px solid rgba(79, 151, 211, .2);
  background:
    radial-gradient(circle at 86% -18%, rgba(28, 119, 255, .14), transparent 34%),
    #071b2d;
}

.statistics-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  padding: 28px 30px 24px;
  border-bottom: 1px solid rgba(194, 224, 233, .1);
}

.statistics-heading h1 {
  margin: 6px 0 7px;
  color: #f4f9fc;
  font-size: clamp(1.55rem, 2.7vw, 2.25rem);
  line-height: 1.05;
  letter-spacing: -.035em;
}

.statistics-heading p {
  max-width: 620px;
  margin: 0;
  color: #87a1b2;
  font-size: .77rem !important;
}

.statistics-total {
  min-width: 116px;
  padding: 13px 16px;
  border: 1px solid rgba(74, 153, 222, .2);
  border-radius: 13px;
  background: rgba(9, 39, 64, .76);
  text-align: right;
}

.statistics-total strong,
.statistics-total span {
  display: block;
}

.statistics-total strong {
  color: #48a3ff;
  font-size: 1.28rem;
}

.statistics-total span {
  margin-top: 2px;
  color: #7d99aa;
  font-size: .65rem;
}

.statistics-mode-tabs {
  padding-block: 12px;
}

.statistics-mode-tabs a {
  min-width: 92px;
  text-align: center;
  font-size: .73rem;
}

.statistics-table-wrap {
  width: 100%;
}

.statistics-table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
}

.statistics-table th,
.statistics-table td {
  padding: 11px 6px;
  border-bottom: 1px solid rgba(194, 224, 233, .08);
  color: #bdd0dc;
  font-size: .66rem !important;
  line-height: 1.25;
  text-align: center;
  overflow-wrap: anywhere;
}

.statistics-table th {
  color: #7f9caf;
  background: rgba(4, 21, 36, .54);
  font-size: .59rem !important;
  font-weight: 850;
  letter-spacing: .025em;
  text-transform: uppercase;
}

.statistics-table th:nth-child(1) { width: 42px; }
.statistics-table th:nth-child(2) { width: 168px; text-align: left; }
.statistics-table th:nth-child(3) { width: 62px; }
.statistics-table th:nth-child(4) { width: 65px; }
.statistics-table th:nth-child(5) { width: 67px; }
.statistics-table th:nth-child(6) { width: 58px; }
.statistics-table th:nth-child(7) { width: 60px; }
.statistics-table th:nth-child(8) { width: 59px; }
.statistics-table th:nth-child(9) { width: 61px; }
.statistics-table th:nth-child(10) { width: 82px; }
.statistics-table th:nth-child(11) { width: 48px; }
.statistics-table th:nth-child(12) { width: 61px; }

.statistics-table tbody tr {
  cursor: pointer;
  transition: background-color .16s ease;
}

.statistics-table tbody tr:hover,
.statistics-table tbody tr:focus-visible {
  outline: none;
  background: rgba(20, 118, 255, .085);
}

.statistics-table td:nth-child(2) {
  text-align: left;
}

.statistics-player {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  min-width: 0;
}

.statistics-avatar {
  position: relative;
  display: block;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border-radius: 50%;
  background: #0b2944;
  box-shadow: 0 0 0 2px #061724, 0 0 0 3px rgba(75, 158, 234, .18);
}

.statistics-avatar img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  object-fit: cover;
}

.statistics-avatar i {
  position: absolute;
  right: -1px;
  bottom: 1px;
  width: 9px;
  height: 9px;
  border: 2px solid #071b2d;
  border-radius: 50%;
  background: #27ce83;
}

.statistics-player > span:last-child,
.statistics-card-name {
  min-width: 0;
}

.statistics-player strong,
.statistics-card-name strong {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  color: #eff8fd;
  font-size: .72rem;
  white-space: nowrap;
}

.statistics-player small,
.statistics-card-name small {
  display: block;
  margin-top: 3px;
  color: #6d8b9e;
  font-size: .56rem;
}

.statistics-position {
  color: #8eacbd;
  font-weight: 900;
}

.statistics-position-1,
.statistics-position-2,
.statistics-position-3 {
  font-size: .92rem !important;
}

.statistics-card-list {
  display: none;
}

.statistics-empty,
.statistics-error {
  margin: 24px;
}

@media (max-width: 1180px) {
  .statistics-table-wrap {
    display: none;
  }

  .statistics-card-list {
    display: grid;
    gap: 10px;
    padding: 14px;
  }

  .statistics-player-card {
    overflow: hidden;
    border: 1px solid rgba(81, 153, 211, .17);
    border-radius: 15px;
    background: linear-gradient(145deg, rgba(13, 45, 70, .94), rgba(6, 27, 45, .96));
    cursor: pointer;
  }

  .statistics-player-card > header {
    display: grid;
    grid-template-columns: 42px 44px minmax(0, 1fr) auto;
    align-items: center;
    gap: 11px;
    padding: 14px 15px;
    border-bottom: 1px solid rgba(194, 224, 233, .09);
  }

  .statistics-player-card .statistics-avatar {
    width: 42px;
    height: 42px;
  }

  .statistics-card-name strong {
    overflow: hidden;
    font-size: .82rem;
    text-overflow: ellipsis;
  }

  .statistics-card-rating {
    color: #7db7ff;
    font-size: .9rem;
    white-space: nowrap;
  }

  .statistics-player-card dl {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0;
  }

  .statistics-player-card dl > div {
    min-width: 0;
    padding: 11px 13px;
    border-right: 1px solid rgba(194, 224, 233, .07);
    border-bottom: 1px solid rgba(194, 224, 233, .07);
  }

  .statistics-player-card dt,
  .statistics-player-card dd {
    margin: 0;
  }

  .statistics-player-card dt {
    color: #6e8da1;
    font-size: .58rem;
    line-height: 1.25;
  }

  .statistics-player-card dd {
    margin-top: 5px;
    color: #dcecf4;
    font-size: .72rem;
    font-weight: 800;
  }
}

@media (max-width: 680px) {
  .statistics-heading {
    align-items: flex-start;
    padding: 22px 17px 18px;
  }

  .statistics-heading p {
    font-size: .72rem !important;
    line-height: 1.55;
  }

  .statistics-total {
    display: none;
  }

  .statistics-mode-tabs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
    padding: 10px 12px;
  }

  .statistics-mode-tabs a {
    min-width: 0;
    padding: 11px 7px;
    font-size: .72rem;
  }

  .statistics-card-list {
    padding: 10px;
  }

  .statistics-player-card > header {
    grid-template-columns: 36px 42px minmax(0, 1fr) auto;
    gap: 9px;
    padding: 13px 11px;
  }

  .statistics-player-card dl {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .statistics-player-card dl > div {
    padding: 10px 11px;
  }

  .statistics-pagination {
    padding-inline: 12px;
  }
}

.app-loading {
  min-height: 100vh;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 18px;
  color: #dcebf4;
  background: #041522;
}

.app-loading img { width: min(320px, 72vw); }
.app-loading strong { font-size: .8rem; letter-spacing: .04em; }
.app-loading-spinner {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 3px solid rgba(77, 160, 255, .18);
  border-top-color: #2d8dff;
  animation: v70-spin .8s linear infinite;
}
@keyframes v70-spin { to { transform: rotate(360deg); } }

.v70-login-form { display: contents; }
.rail-login-button:disabled,
.simple-password-card button:disabled { opacity: .65; cursor: wait; }
.login-preview-note.error { color: #ff9aa3 !important; }
.login-preview-note.success { color: #66e0a7 !important; }

.portal-center > .account-page { min-height: 520px; }
.v70-game-page { padding: 0; background: transparent; border: 0; }
.v70-game-page > .rooms-section,
.v70-game-page > .tournament-section { margin: 0; }
.v70-game-table { margin-top: 20px; }

.player-search-card form label { display: block; }
.player-search-input { display: grid; grid-template-columns: 1fr 42px; gap: 7px; margin-top: 7px; }
.player-search-input input { width: 100%; }
.player-search-input button { border-radius: 8px; background: #1476ff; color: #fff; cursor: pointer; }

.profile-settings-actions { display: flex; justify-content: flex-end; align-items: center; gap: 14px; }
.profile-save-success { color: #75dfac; font-size: .65rem; }

.simple-password-success { color: #86e7b6; background: rgba(39,206,131,.08); border: 1px solid rgba(39,206,131,.2); }

@media (max-width: 980px) {
  .portal-center > .account-page { min-height: 0; }
}


/* V72 — painel e página do jogador com dados reais */
.account-rating-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5px;
  margin: 0 10px 9px;
  padding: 8px;
  border: 1px solid rgba(194, 224, 233, .09);
  border-radius: 11px;
  background: rgba(231, 247, 251, .025);
}
.account-rating-strip > span { min-width: 0; text-align: center; display: grid; gap: 2px; }
.account-rating-strip small { color: #658196; font-size: .48rem; }
.account-rating-strip b { color: #d9eaf2; font-size: .62rem; font-variant-numeric: tabular-nums; }

.account-avatar-fallback,
.player-photo-fallback {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  color: #fff;
  background: radial-gradient(circle at 35% 25%, #3294ff, #0750aa 72%);
  font-weight: 900;
}
.account-avatar-fallback { font-size: 1rem; }
.player-photo-fallback { min-height: 250px; font-size: 4rem; }
.player-photo-shell > span.offline { color: #b8c8d0; border-color: rgba(184,200,208,.22); }
.player-photo-shell > span.offline .status-dot { background: #708595; box-shadow: none; }
.player-photo-shell > span.offline .status-dot:after { display: none; }
.player-mode-overview {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.player-mode-overview article {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 13px 14px;
  border: 1px solid rgba(194,224,233,.10);
  border-radius: 13px;
  background: rgba(231,247,251,.035);
}
.player-mode-overview article > div { display: grid; gap: 1px; min-width: 0; }
.player-mode-overview small { color: #68869a; font-size: .52rem; }
.player-mode-overview strong { color: #e9f6fb; font-size: .86rem; font-variant-numeric: tabular-nums; }
.player-mode-overview div > span { color: #7894a6; font-size: .54rem; }
.player-mode-overview article > b { color: #63a8ff; font-size: .64rem; }
.player-profile-loading { min-height: 420px; }
@media (max-width: 620px) {
  .player-mode-overview { grid-template-columns: 1fr; }
}


/* V73 — mensagens reais */
.v73-messages { display: grid; gap: 16px; }
.v73-messages-layout {
  display: grid;
  grid-template-columns: minmax(220px, 31%) minmax(0, 1fr);
  min-height: 540px;
  overflow: hidden;
  border: 1px solid rgba(194, 224, 233, .12);
  border-radius: 16px;
  background: rgba(6, 25, 42, .72);
}
.conversation-panel {
  border-right: 1px solid rgba(194, 224, 233, .12);
  background: rgba(5, 22, 38, .82);
  overflow: auto;
}
.conversation-row {
  width: 100%;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px;
  padding: 13px 12px;
  border: 0;
  border-bottom: 1px solid rgba(194, 224, 233, .08);
  text-align: left;
  cursor: pointer;
  color: #d9eaf2;
  background: transparent;
  transition: background .16s, border-color .16s;
}
.conversation-row:hover { background: rgba(20, 118, 255, .08); }
.conversation-row.active {
  background: linear-gradient(90deg, rgba(20, 118, 255, .2), rgba(20, 118, 255, .06));
  box-shadow: inset 3px 0 0 #1476ff;
}
.conversation-row.unread .conversation-copy strong { color: #fff; }
.conversation-avatar {
  position: relative;
  width: 44px;
  height: 44px;
  flex: none;
  border-radius: 50%;
  display: grid;
  place-items: center;
  overflow: visible;
  border: 1px solid rgba(97, 167, 255, .34);
  color: #fff;
  background: linear-gradient(145deg, #2687ff, #0754c7);
  font-weight: 850;
  font-size: .74rem;
}
.conversation-avatar img { width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
.conversation-avatar .status-dot {
  position: absolute;
  width: 7px;
  height: 7px;
  right: 0;
  bottom: 1px;
  border: 2px solid #082038;
  box-sizing: content-box;
}
.conversation-copy { min-width: 0; display: grid; gap: 5px; }
.conversation-copy > span { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.conversation-copy strong { font-size: .67rem; color: #b9ced9; }
.conversation-copy time { flex: none; color: #66879b; font-size: .48rem; }
.conversation-copy small {
  display: block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #6f8da0;
  font-size: .57rem;
}
.conversation-unread-count {
  min-width: 19px;
  height: 19px;
  padding: 0 5px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  color: #fff;
  background: #1476ff;
  font-size: .5rem;
}
.message-panel-state {
  min-height: 120px;
  padding: 24px 16px;
  display: grid;
  place-items: center;
  text-align: center;
  color: #7694a7;
  font-size: .65rem;
}
.message-panel-state.error, .message-thread-error, .message-form-error { color: #ff8490; }
.message-panel-state.empty { min-height: 300px; align-content: center; gap: 8px; }
.message-panel-state.empty > span, .message-thread-empty > span {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: rgba(20, 118, 255, .14);
  border: 1px solid rgba(97, 167, 255, .28);
  color: #61a7ff;
  font-size: 1.1rem;
}
.message-panel-state.empty strong { color: #eaf7fb; font-size: .76rem; }
.message-panel-state.empty p { margin: 0; font-size: .59rem; }
.message-panel-state button, .message-thread-empty button,
.message-thread-heading button, .message-compose-card footer button,
.message-reply-form button {
  border: 0;
  border-radius: 9px;
  background: #1476ff;
  color: #fff;
  cursor: pointer;
  padding: 9px 12px;
  font-size: .6rem;
  font-weight: 800;
}
.message-thread-panel { min-width: 0; display: flex; flex-direction: column; background: rgba(8, 31, 52, .54); }
.message-thread-heading {
  min-height: 70px;
  padding: 12px 15px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  border-bottom: 1px solid rgba(194, 224, 233, .1);
  background: rgba(9, 38, 63, .75);
}
.message-thread-heading > div { display: flex; align-items: center; gap: 11px; }
.message-thread-heading .conversation-avatar { width: 38px; height: 38px; }
.message-thread-heading strong { display: block; font-size: .73rem; }
.message-thread-heading small { display: block; margin-top: 3px; color: #6f91a5; font-size: .54rem; }
.message-thread-heading button { color: #93b5c7; background: rgba(194, 224, 233, .08); border: 1px solid rgba(194, 224, 233, .12); }
.message-thread-list {
  flex: 1;
  min-height: 330px;
  max-height: 520px;
  padding: 19px;
  display: flex;
  flex-direction: column;
  gap: 11px;
  overflow-y: auto;
}
.thread-message { display: flex; }
.thread-message.outgoing { justify-content: flex-end; }
.thread-message-bubble {
  max-width: min(78%, 560px);
  padding: 11px 13px 8px;
  border-radius: 14px 14px 14px 4px;
  background: rgba(194, 224, 233, .08);
  border: 1px solid rgba(194, 224, 233, .1);
  box-shadow: 0 8px 24px rgba(0, 0, 0, .13);
}
.thread-message.outgoing .thread-message-bubble {
  border-radius: 14px 14px 4px 14px;
  background: linear-gradient(145deg, rgba(20, 118, 255, .92), rgba(7, 84, 199, .94));
  border-color: rgba(91, 165, 255, .36);
}
.thread-message-bubble p { margin: 0; white-space: pre-wrap; word-break: break-word; color: #dbeaf1; font-size: .67rem; line-height: 1.55; }
.thread-message.outgoing .thread-message-bubble p { color: #fff; }
.thread-message-bubble footer { margin-top: 6px; display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
.thread-message-bubble time, .thread-message-bubble footer span { color: rgba(197, 218, 229, .64); font-size: .48rem; }
.thread-message.outgoing .thread-message-bubble time,
.thread-message.outgoing .thread-message-bubble footer span { color: rgba(255, 255, 255, .72); }
.thread-message-bubble footer button { border: 0; padding: 0; cursor: pointer; color: inherit; opacity: .65; background: transparent; font-size: .48rem; }
.thread-message-bubble footer button:hover { opacity: 1; text-decoration: underline; }
.message-thread-empty {
  flex: 1;
  min-height: 430px;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 9px;
  padding: 30px;
  text-align: center;
  color: #7795a8;
}
.message-thread-empty.compact { min-height: 240px; }
.message-thread-empty h2 { margin: 0; color: #edf8fb; font-size: 1rem; }
.message-thread-empty p { max-width: 360px; margin: 0; font-size: .62rem; line-height: 1.55; }
.message-thread-error { padding: 10px 16px; font-size: .6rem; background: rgba(255, 70, 87, .07); }
.message-reply-form {
  padding: 12px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 9px;
  border-top: 1px solid rgba(194, 224, 233, .1);
  background: rgba(5, 23, 39, .9);
}
.message-reply-form textarea, .message-compose-card input, .message-compose-card textarea {
  width: 100%;
  border: 1px solid rgba(194, 224, 233, .14);
  border-radius: 10px;
  background: rgba(218, 245, 251, .055);
  color: #f1f9fc;
  padding: 10px 11px;
  resize: vertical;
  font-size: .66rem;
  outline: 0;
}
.message-reply-form textarea:focus, .message-compose-card input:focus, .message-compose-card textarea:focus { border-color: rgba(61, 144, 255, .72); box-shadow: 0 0 0 3px rgba(20, 118, 255, .11); }
.message-compose-card {
  padding: 17px;
  display: grid;
  gap: 12px;
  border: 1px solid rgba(61, 144, 255, .25);
  border-radius: 15px;
  background: radial-gradient(circle at 90% 0, rgba(20, 118, 255, .14), transparent 260px), rgba(8, 31, 52, .88);
}
.message-compose-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.message-compose-heading strong { display: block; margin-top: 3px; font-size: .8rem; }
.message-compose-heading > button { width: 28px; height: 28px; border: 0; border-radius: 8px; cursor: pointer; color: #8ca8b8; background: rgba(194, 224, 233, .08); font-size: 1rem; }
.message-compose-card label { display: grid; gap: 6px; color: #86a1b2; font-size: .58rem; font-weight: 750; }
.message-compose-card footer { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.message-compose-card footer small { color: #647f91; font-size: .52rem; }

@media (max-width: 820px) {
  .v73-messages-layout { grid-template-columns: 1fr; }
  .conversation-panel { max-height: 300px; border-right: 0; border-bottom: 1px solid rgba(194,224,233,.12); }
  .message-thread-list { max-height: 480px; }
}
@media (max-width: 520px) {
  .v73-messages { padding: 12px; }
  .v73-messages-layout { border-radius: 12px; }
  .message-thread-heading { padding: 10px; }
  .message-thread-heading button { display: none; }
  .message-thread-list { padding: 12px; }
  .thread-message-bubble { max-width: 88%; }
  .message-reply-form { grid-template-columns: 1fr; }
  .message-reply-form button { justify-self: end; }
}


/* V74 — amigos e convites reais */
.v74-friends { gap: 14px; }
.friend-search-card {
  display: grid;
  grid-template-columns: minmax(180px, .75fr) minmax(260px, 1.25fr);
  align-items: center;
  gap: 18px;
  padding: 15px 17px;
  border: 1px solid rgba(194,224,233,.12);
  border-radius: 14px;
  background: rgba(231,247,251,.045);
}
.friend-search-card > div:first-child { display: grid; gap: 4px; }
.friend-search-card > div:first-child strong { color: #eaf7fb; font-size: .76rem; }
.friend-search-field { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; }
.friend-search-field input {
  min-width: 0;
  border: 1px solid rgba(194,224,233,.16);
  border-radius: 10px;
  background: rgba(218,245,251,.06);
  color: #f1f9fc;
  padding: 10px 11px;
  outline: 0;
  font-size: .65rem;
}
.friend-search-field input:focus { border-color: rgba(61,144,255,.72); box-shadow: 0 0 0 3px rgba(20,118,255,.1); }
.friend-search-field button, .friend-actions button {
  border: 1px solid rgba(194,224,233,.14);
  border-radius: 9px;
  background: rgba(194,224,233,.075);
  color: #a9c1ce;
  cursor: pointer;
  padding: 9px 11px;
  font-size: .56rem;
  font-weight: 800;
}
.friend-search-field button { border: 0; color: #fff; background: #1476ff; min-width: 76px; }
.friend-search-field button:disabled, .friend-actions button:disabled { opacity: .55; cursor: wait; }
.friend-search-results { display: grid; gap: 10px; padding: 13px; border: 1px solid rgba(61,144,255,.2); border-radius: 15px; background: rgba(20,118,255,.045); }
.friend-search-results > header { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 2px 3px; }
.friend-search-results > header strong { font-size: .68rem; }
.friend-search-results > header small { color: #6d8da0; font-size: .53rem; }
.friends-list { display: grid; gap: 9px; }
.friend-card {
  display: grid;
  grid-template-columns: 52px minmax(0,1fr) auto;
  align-items: center;
  gap: 13px;
  padding: 13px 14px;
  border: 1px solid rgba(194,224,233,.105);
  border-radius: 13px;
  background: rgba(231,247,251,.035);
  transition: background .16s, border-color .16s;
}
.friend-card:hover { background: rgba(20,118,255,.07); border-color: rgba(73,151,255,.22); }
.friend-avatar {
  position: relative;
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  overflow: visible;
  border-radius: 14px;
  border: 1px solid rgba(97,167,255,.33);
  color: #fff;
  background: linear-gradient(145deg,#2687ff,#0754c7);
  font-size: .82rem;
  font-weight: 900;
}
.friend-avatar img { width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
.friend-avatar .status-dot { position: absolute; right: -1px; bottom: -1px; border: 2px solid #082038; box-sizing: content-box; }
.friend-info { min-width: 0; display: grid; gap: 4px; }
.friend-info > div { display: flex; align-items: center; gap: 9px; }
.friend-info strong { color: #eaf6fb; font-size: .71rem; }
.friend-info > div span { color: #7894a6; font-size: .51rem; }
.friend-info > div span.online { color: #54d99b; }
.friend-info p { margin: 0; color: #91aab8; font-size: .59rem; }
.friend-info small { color: #668499; font-size: .52rem; }
.friend-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.friend-actions button:hover { color: #fff; background: rgba(97,167,255,.15); }
.friend-actions button.primary { color: #fff; border-color: rgba(68,151,255,.3); background: #1476ff; }
.friend-actions button.danger { color: #ff9ba5; border-color: rgba(255,91,106,.2); background: rgba(255,70,87,.07); }
.friend-relationship { display: inline-flex; align-items: center; min-height: 31px; padding: 0 10px; border-radius: 9px; color: #5ee0a5; background: rgba(39,206,131,.1); font-size: .55rem; font-weight: 800; }
.friend-relationship.pending { color: #f3d95f; background: rgba(242,211,73,.09); }
.friend-feedback { padding: 10px 13px; border-radius: 10px; font-size: .59rem; }
.friend-feedback.error { color: #ff9ca7; border: 1px solid rgba(255,91,106,.18); background: rgba(255,70,87,.07); }
.friend-feedback.success { color: #6ae0aa; border: 1px solid rgba(39,206,131,.18); background: rgba(39,206,131,.07); }
.friends-loading { min-height: 90px; display: grid; place-items: center; color: #7695a7; font-size: .63rem; }
.friends-empty.compact { min-height: 170px; padding: 24px; }
.player-social-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding-top: 3px; }
.player-social-actions button { border: 1px solid rgba(194,224,233,.14); border-radius: 9px; background: rgba(194,224,233,.07); color: #a9c1cd; cursor: pointer; padding: 9px 12px; font-size: .57rem; font-weight: 800; }
.player-social-actions button.primary { border-color: rgba(68,151,255,.34); color: #fff; background: #1476ff; }
.player-social-actions button.danger { color: #ff9aa4; border-color: rgba(255,91,106,.2); background: rgba(255,70,87,.07); }
.player-social-actions button:disabled { opacity: .55; cursor: wait; }
.player-social-error { width: 100%; color: #ff9aa4; font-size: .55rem; }
@media (max-width: 760px) {
  .friend-search-card { grid-template-columns: 1fr; }
  .friend-card { grid-template-columns: 46px minmax(0,1fr); }
  .friend-avatar { width: 46px; height: 46px; }
  .friend-actions { grid-column: 1 / -1; justify-content: flex-start; padding-left: 59px; }
}
@media (max-width: 480px) {
  .friend-search-field { grid-template-columns: 1fr; }
  .friend-search-field button { width: 100%; }
  .friend-card { padding: 11px; }
  .friend-actions { padding-left: 0; }
}


/* V75 — contatos privados reais */
.contact-avatar img,
.contact-search-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
}
.contact-add-panel {
  display: grid;
  gap: 12px;
  padding: 15px;
  border: 1px solid rgba(81, 151, 205, .22);
  border-radius: 14px;
  background:
    radial-gradient(circle at 5% 0, rgba(20,118,255,.12), transparent 210px),
    rgba(231,247,251,.035);
}
.contact-add-panel > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
.contact-add-panel > header > div {
  display: grid;
  gap: 3px;
}
.contact-add-panel > header small {
  color: #648399;
  font-size: .54rem;
}
.contact-add-panel > header strong {
  color: #eaf6fb;
  font-size: .76rem;
}
.contact-add-panel > header > span {
  color: #7392a5;
  font-size: .55rem;
}
.contact-add-search {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 8px;
}
.contact-add-search input {
  min-height: 41px;
  padding: 0 12px;
  border: 1px solid rgba(194,224,233,.16);
  border-radius: 10px;
  outline: 0;
  background: #061521;
  color: #dceaf1;
  font: inherit;
  font-size: .63rem;
}
.contact-add-search input:focus {
  border-color: rgba(72,155,255,.55);
  box-shadow: 0 0 0 3px rgba(20,118,255,.09);
}
.contact-add-search button {
  min-width: 92px;
  border: 0;
  border-radius: 10px;
  background: #1476ff;
  color: #fff;
  cursor: pointer;
  font-size: .59rem;
  font-weight: 850;
}
.contact-add-search button:disabled {
  opacity: .55;
  cursor: wait;
}
.contact-search-results {
  display: grid;
  gap: 8px;
}
.contact-search-card {
  display: grid;
  grid-template-columns: 45px minmax(0,1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 11px 12px;
  border: 1px solid rgba(194,224,233,.12);
  border-radius: 12px;
  background: rgba(5,19,30,.68);
}
.contact-search-avatar {
  width: 45px;
  height: 45px;
  border-radius: 12px;
}
.contact-feedback {
  padding: 10px 13px;
  border-radius: 10px;
  font-size: .59rem;
}
.contact-feedback.error {
  color: #ff9ca7;
  border: 1px solid rgba(255,91,106,.18);
  background: rgba(255,70,87,.07);
}
.contact-feedback.success {
  color: #6ae0aa;
  border: 1px solid rgba(39,206,131,.18);
  background: rgba(39,206,131,.07);
}
.contacts-loading {
  min-height: 110px;
  display: grid;
  place-items: center;
  color: #7695a7;
  font-size: .63rem;
}
.contact-actions button.contact-saved,
.player-social-actions button.contact-saved {
  color: #68dfa8;
  border-color: rgba(39,206,131,.28);
  background: rgba(39,206,131,.09);
}
.contact-search-empty {
  min-height: 150px;
  padding: 22px;
}
.player-social-actions button.contact-saved:hover {
  color: #91efc2;
  border-color: rgba(39,206,131,.45);
}
@media (max-width: 700px) {
  .contact-add-panel > header {
    align-items: flex-start;
    flex-direction: column;
  }
  .contact-search-card {
    grid-template-columns: 42px minmax(0,1fr);
  }
  .contact-search-card .contact-actions {
    grid-column: 1 / -1;
    padding-left: 54px;
  }
}

/* ==========================================================
   V81.20 — LitePool Mobile
   Camada de aplicativo para telas pequenas. O desktop mantém
   integralmente a composição do portal.
   ========================================================== */
.mobile-app-topbar,
.mobile-bottom-nav,
.mobile-menu-backdrop,
.mobile-menu-sheet {
  display: none;
}

@media (max-width: 780px) {
  :root {
    --mobile-bar-height: 64px;
    --mobile-nav-height: 70px;
  }

  html {
    background: #03101d;
    scroll-padding-top: calc(var(--mobile-bar-height) + 12px);
  }

  body {
    min-width: 0 !important;
    padding-bottom: calc(var(--mobile-nav-height) + env(safe-area-inset-bottom));
    overflow-x: hidden;
  }

  body.mobile-menu-open {
    overflow: hidden;
  }

  main {
    min-width: 0;
    overflow: clip;
  }

  .site-header,
  .site-footer,
  .portal-sidebar {
    display: none !important;
  }

  .mobile-app-topbar {
    position: sticky;
    top: 0;
    z-index: 120;
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) 52px;
    align-items: center;
    gap: 8px;
    min-height: calc(var(--mobile-bar-height) + env(safe-area-inset-top));
    padding: env(safe-area-inset-top) 14px 0;
    border-bottom: 1px solid rgba(175, 216, 235, .12);
    background: rgba(3, 16, 29, .92);
    box-shadow: 0 10px 30px rgba(0, 4, 12, .32);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
  }

  .mobile-topbar-back,
  .mobile-topbar-ball,
  .mobile-topbar-menu,
  .mobile-topbar-profile {
    border: 1px solid rgba(166, 211, 235, .16);
    background: rgba(221, 246, 255, .06);
    color: #edf9ff;
    cursor: pointer;
  }

  .mobile-topbar-back,
  .mobile-topbar-ball,
  .mobile-topbar-menu {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border-radius: 13px;
  }

  .mobile-topbar-back {
    font-size: 2rem;
    line-height: 1;
  }

  .mobile-topbar-ball {
    border-color: rgba(65, 144, 255, .4);
    background: radial-gradient(circle at 35% 25%, #73bcff, #126eea 48%, #06368c);
    box-shadow: inset 0 0 0 3px rgba(255, 255, 255, .13), 0 7px 18px rgba(20, 118, 255, .25);
    font-size: .64rem;
    font-weight: 900;
  }

  .mobile-topbar-brand {
    justify-self: center;
    width: min(190px, 58vw);
  }

  .mobile-topbar-brand img {
    display: block;
    width: 100%;
    height: 42px;
    object-fit: contain;
    filter: drop-shadow(0 5px 10px rgba(0, 0, 0, .35));
  }

  .mobile-topbar-menu {
    justify-self: end;
    font-size: 1.05rem;
  }

  .mobile-topbar-profile {
    justify-self: end;
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    padding: 0;
    border-radius: 14px;
    overflow: hidden;
  }

  .mobile-topbar-profile img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .mobile-topbar-profile span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
  }

  .portal-layout {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 12px 12px 24px !important;
  }

  .portal-center,
  .archive-center {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  .mobile-login-sidebar {
    display: block !important;
    width: 100% !important;
    margin: 0 0 12px !important;
  }

  .mobile-login-sidebar .login-card {
    margin: 0;
    border-radius: 18px;
  }

  .mobile-login-sidebar .v70-login-form {
    grid-template-columns: 1fr 1fr;
    align-items: end;
  }

  .mobile-login-sidebar .rail-login-button {
    grid-column: 1 / -1;
  }

  .mobile-bottom-nav {
    position: fixed;
    z-index: 140;
    right: 0;
    bottom: 0;
    left: 0;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    min-height: calc(var(--mobile-nav-height) + env(safe-area-inset-bottom));
    padding: 7px 5px env(safe-area-inset-bottom);
    border-top: 1px solid rgba(169, 215, 237, .15);
    background: rgba(3, 16, 29, .95);
    box-shadow: 0 -14px 38px rgba(0, 3, 10, .45);
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
  }

  .mobile-bottom-nav a,
  .mobile-bottom-nav button {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    min-width: 0;
    border: 0;
    border-radius: 14px;
    background: transparent;
    color: #7895a8;
    cursor: pointer;
  }

  .mobile-bottom-nav a > span,
  .mobile-bottom-nav button > span {
    display: grid;
    place-items: center;
    width: 26px;
    height: 24px;
    font-size: 1.1rem;
    font-weight: 850;
  }

  .mobile-bottom-nav small {
    font-size: .58rem;
    font-weight: 750;
  }

  .mobile-bottom-nav .active {
    color: #66aaff;
    background: linear-gradient(180deg, rgba(20, 118, 255, .16), rgba(20, 118, 255, .03));
  }

  .mobile-bottom-nav .active::before {
    position: absolute;
    top: -7px;
    width: 28px;
    height: 3px;
    border-radius: 0 0 5px 5px;
    background: #2484ff;
    content: "";
    box-shadow: 0 0 14px rgba(36, 132, 255, .8);
  }

  .mobile-menu-backdrop {
    position: fixed;
    z-index: 149;
    inset: 0;
    display: block;
    visibility: hidden;
    border: 0;
    background: rgba(0, 5, 13, .7);
    opacity: 0;
    transition: opacity .22s ease, visibility .22s ease;
  }

  .mobile-menu-backdrop.open {
    visibility: visible;
    opacity: 1;
  }

  .mobile-menu-sheet {
    position: fixed;
    z-index: 150;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    max-height: min(86vh, 720px);
    padding: 10px 16px calc(22px + env(safe-area-inset-bottom));
    border: 1px solid rgba(174, 219, 239, .16);
    border-bottom: 0;
    border-radius: 26px 26px 0 0;
    background: linear-gradient(180deg, #0a253a, #061827 58%, #04131f);
    box-shadow: 0 -30px 70px rgba(0, 3, 10, .62);
    overflow-y: auto;
    transform: translateY(105%);
    transition: transform .26s cubic-bezier(.2, .8, .2, 1);
  }

  .mobile-menu-sheet.open {
    transform: translateY(0);
  }

  .mobile-menu-handle {
    width: 38px;
    height: 4px;
    margin: 0 auto 12px;
    border-radius: 999px;
    background: rgba(191, 220, 234, .22);
  }

  .mobile-menu-sheet > header {
    display: grid;
    grid-template-columns: 48px 1fr 38px;
    align-items: center;
    gap: 12px;
    padding-bottom: 15px;
    border-bottom: 1px solid rgba(183, 221, 238, .11);
  }

  .mobile-menu-sheet > header > div {
    display: flex;
    flex-direction: column;
    gap: 3px;
  }

  .mobile-menu-sheet > header small {
    color: #6f91a6;
    font-size: .6rem;
    text-transform: uppercase;
    letter-spacing: .1em;
  }

  .mobile-menu-sheet > header strong {
    color: #f5fbff;
    font-size: 1rem;
  }

  .mobile-menu-sheet > header > button {
    width: 36px;
    height: 36px;
    border: 1px solid rgba(182, 220, 238, .14);
    border-radius: 12px;
    background: rgba(224, 246, 255, .05);
    color: #cce0e9;
    font-size: 1.35rem;
  }

  .mobile-menu-avatar {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border: 2px solid rgba(62, 147, 255, .5);
    border-radius: 15px;
    background: #0b2d47;
    overflow: hidden;
  }

  .mobile-menu-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .mobile-menu-guest {
    color: #fff;
    background: linear-gradient(145deg, #2184ff, #0755c4);
    font-weight: 900;
  }

  .mobile-menu-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    padding: 15px 0;
  }

  .mobile-menu-grid button {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: 10px;
    min-width: 0;
    min-height: 68px;
    padding: 10px;
    border: 1px solid rgba(171, 216, 237, .12);
    border-radius: 15px;
    background: rgba(223, 247, 255, .045);
    color: #eef9ff;
    text-align: left;
  }

  .mobile-menu-grid button > span {
    grid-row: 1 / 3;
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: 11px;
    background: rgba(20, 118, 255, .17);
    color: #66aaff;
    font-size: 1rem;
  }

  .mobile-menu-grid strong {
    align-self: end;
    min-width: 0;
    font-size: .7rem;
  }

  .mobile-menu-grid small {
    align-self: start;
    min-width: 0;
    color: #6e8ca0;
    font-size: .55rem;
  }

  .mobile-menu-secondary {
    display: grid;
    border-top: 1px solid rgba(183, 221, 238, .1);
  }

  .mobile-menu-secondary button {
    display: flex;
    justify-content: space-between;
    min-height: 43px;
    padding: 0 4px;
    border: 0;
    border-bottom: 1px solid rgba(183, 221, 238, .08);
    background: transparent;
    color: #a9c0cd;
    font-size: .68rem;
    font-weight: 720;
  }

  .mobile-menu-secondary button span {
    color: #4e99f7;
  }

  .mobile-menu-logout {
    width: 100%;
    min-height: 43px;
    margin-top: 13px;
    border: 1px solid rgba(242, 92, 109, .24);
    border-radius: 12px;
    background: rgba(242, 75, 95, .08);
    color: #ff8292;
    font-size: .68rem;
    font-weight: 800;
  }

  /* Conteúdo inicial: leitura confortável e visual de aplicativo. */
  .hero {
    display: flex !important;
    flex-direction: column;
    width: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(177, 219, 239, .12);
    border-radius: 22px;
    background: linear-gradient(145deg, rgba(8, 37, 59, .96), rgba(4, 19, 32, .98));
    overflow: hidden;
  }

  .hero-copy {
    order: 2;
    max-width: none !important;
    padding: 22px 19px 25px !important;
  }

  .hero h1 {
    margin: 0 0 19px;
    font-size: clamp(2.25rem, 12vw, 3.45rem) !important;
    line-height: .94;
    letter-spacing: -.065em;
  }

  .hero-about {
    gap: 18px;
  }

  .hero-about section {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  .hero-about h2 {
    margin: 0 0 6px;
    color: #dff2fb;
    font-size: .84rem;
  }

  .hero-about p {
    margin: 0;
    color: #8da7b8;
    font-size: .72rem;
    line-height: 1.68;
  }

  .hero-visual {
    order: 1;
    width: 100% !important;
    height: 200px !important;
    min-height: 0 !important;
    border-bottom: 1px solid rgba(177, 219, 239, .1);
  }

  .hero-table {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
  }

  .recent-winners,
  .download-section,
  .support-section,
  .content-section,
  .account-page,
  .archive-panel {
    border-radius: 20px !important;
  }

  .recent-winners,
  .download-section,
  .support-section {
    margin-top: 12px !important;
  }

  .recent-winners {
    padding: 18px 15px !important;
  }

  .recent-winners-heading {
    align-items: start !important;
    gap: 12px !important;
  }

  .recent-winners-heading h2 {
    font-size: 1.15rem !important;
  }

  .recent-winners-grid {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .recent-winner {
    grid-template-columns: 74px minmax(0, 1fr) 28px !important;
    min-height: 74px !important;
  }

  .winner-portrait {
    height: 74px !important;
  }

  .download-section,
  .support-section {
    padding: 21px 18px !important;
  }

  /* Páginas gerais e componentes densos. */
  .account-page {
    min-height: 0 !important;
    overflow: hidden;
  }

  .account-page-heading,
  .player-stats-heading,
  .photos-inline-hero,
  .friends-overview {
    padding-inline: 16px !important;
  }

  .account-page-body,
  .player-profile,
  .friends-page,
  .messages-page,
  .photos-page,
  .profile-page {
    padding: 12px !important;
  }

  .player-profile-card {
    grid-template-columns: 1fr !important;
  }

  .player-photo-shell {
    min-height: 260px !important;
  }

  .player-details {
    grid-template-columns: 1fr !important;
  }

  .player-stats-table {
    margin: 0 -1px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .player-stats-row {
    min-width: 590px;
  }

  .friends-overview {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 16px !important;
  }

  .friends-limit {
    width: 100% !important;
  }

  .message-layout,
  .messages-layout,
  .conversation-layout {
    grid-template-columns: 1fr !important;
  }

  .ranking-mode-tabs,
  .archive-mode-tabs {
    position: sticky;
    top: calc(var(--mobile-bar-height) + 8px);
    z-index: 20;
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    padding: 5px !important;
    border: 1px solid rgba(171, 216, 237, .13);
    border-radius: 14px !important;
    background: rgba(5, 24, 39, .94) !important;
    box-shadow: 0 9px 22px rgba(0, 5, 12, .25);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
  }

  .ranking-mode-tabs a,
  .archive-mode-tabs a {
    display: grid !important;
    place-items: center;
    min-height: 38px;
    padding: 0 6px !important;
    border-radius: 10px !important;
    font-size: .64rem !important;
  }

  .ranking-full-list {
    gap: 8px !important;
    padding: 12px 0 !important;
  }

  .ranking-full-list article {
    grid-template-columns: 34px 43px minmax(0, 1fr) auto !important;
    min-height: 62px;
    padding: 8px 10px !important;
    border: 1px solid rgba(172, 216, 237, .11) !important;
    border-radius: 14px !important;
    background: rgba(223, 247, 255, .035) !important;
  }

  .ranking-pagination,
  .archive-pagination {
    flex-direction: column;
    gap: 12px !important;
    padding: 15px 8px !important;
  }

  .tournament-grid,
  .tournament-grid-real {
    grid-template-columns: 1fr !important;
  }

  .room-row {
    grid-template-columns: 42px minmax(0, 1fr) auto !important;
    gap: 10px !important;
  }

  .room-row .occupancy {
    grid-column: 2 / -1;
  }

  /* Arquivo de partidas: a tabela vira uma coleção de cartões. */
  .archive-page {
    gap: 12px !important;
  }

  .archive-search-panel {
    order: 2;
  }

  .archive-hero {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 16px !important;
    padding: 18px 15px !important;
  }

  .archive-hero-main {
    align-items: center !important;
  }

  .archive-hero h1 {
    font-size: 1.25rem !important;
  }

  .archive-hero p {
    font-size: .66rem !important;
  }

  .archive-total-card {
    width: 100%;
  }

  .archive-controls {
    align-items: stretch !important;
    flex-direction: column !important;
    gap: 10px !important;
  }

  .archive-period-controls,
  .archive-period-controls label {
    width: 100%;
  }

  .archive-period-controls label {
    flex: 1;
  }

  .archive-period-controls select {
    flex: 1;
  }

  .archive-table-wrap {
    margin: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    background: transparent !important;
  }

  .archive-table {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  .archive-table thead {
    display: none !important;
  }

  .archive-table tbody {
    display: grid !important;
    gap: 11px;
  }

  .archive-table tr {
    position: relative;
    display: grid !important;
    grid-template-columns: 1fr auto 1fr;
    grid-template-areas:
      "winner score loser"
      "rating rating rating"
      "date duration replay";
    align-items: center;
    gap: 11px 8px;
    min-width: 0 !important;
    padding: 15px 12px 12px !important;
    border: 1px solid rgba(168, 215, 237, .13) !important;
    border-radius: 17px;
    background: linear-gradient(145deg, rgba(12, 42, 64, .78), rgba(6, 25, 41, .94)) !important;
    box-shadow: 0 13px 28px rgba(0, 5, 13, .18);
  }

  .archive-table td {
    display: block !important;
    min-width: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  .archive-table td:nth-child(1) {
    position: absolute;
    top: 8px;
    left: 8px;
  }

  .archive-table td:nth-child(2) { grid-area: winner; }
  .archive-table td:nth-child(3) { grid-area: loser; }
  .archive-table td:nth-child(4) { grid-area: score; }
  .archive-table td:nth-child(5) { grid-area: rating; }
  .archive-table td:nth-child(6) { grid-area: date; }
  .archive-table td:nth-child(7) { grid-area: duration; }
  .archive-table td:nth-child(8) { grid-area: replay; }

  .archive-match-player {
    flex-direction: column !important;
    justify-content: center;
    gap: 5px !important;
    text-align: center;
  }

  .archive-player-avatar {
    width: 52px !important;
    height: 52px !important;
    margin: 0 auto;
  }

  .archive-player-details,
  .archive-player-name-line {
    align-items: center !important;
  }

  .archive-player-name-line {
    justify-content: center;
    gap: 4px !important;
  }

  .archive-player-name-line strong {
    max-width: 82px;
    overflow: hidden;
    font-size: .7rem !important;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .archive-player-details > small,
  .archive-player-details .rating-value {
    font-size: .65rem !important;
  }

  .archive-loser-cell {
    display: block !important;
  }

  .archive-versus {
    display: none !important;
  }

  .archive-score {
    min-width: 62px !important;
    padding: 8px 7px !important;
    font-size: .93rem !important;
  }

  .archive-rating-change {
    justify-content: center;
    min-height: 30px;
    padding: 5px 10px;
    border-radius: 10px;
    background: rgba(3, 16, 27, .48);
  }

  .archive-table time {
    align-items: flex-start !important;
  }

  .archive-table time strong,
  .archive-table time span,
  .archive-duration,
  .archive-file-size {
    font-size: .58rem !important;
  }

  .archive-replay-actions {
    justify-content: flex-end;
  }

  .archive-view {
    min-height: 36px !important;
    padding: 0 10px !important;
    font-size: .6rem !important;
  }

  .archive-download-icon {
    width: 36px !important;
    height: 36px !important;
  }

  .archive-search-form {
    grid-template-columns: 1fr !important;
  }

  .archive-search-form button,
  .archive-show-all {
    width: 100%;
  }
}

@media (max-width: 420px) {
  .portal-layout {
    padding-inline: 9px !important;
  }

  .mobile-app-topbar {
    grid-template-columns: 42px minmax(0, 1fr) 44px;
    padding-inline: 10px;
  }

  .mobile-topbar-brand {
    width: min(172px, 55vw);
  }

  .mobile-login-sidebar .v70-login-form {
    grid-template-columns: 1fr;
  }

  .mobile-menu-grid {
    gap: 7px;
  }

  .archive-table tr {
    padding-inline: 9px !important;
  }

  .archive-player-avatar {
    width: 46px !important;
    height: 46px !important;
  }
}

/* V81.19 — cores de pontuação originais do cliente LitePool + faixas premium. */
.rating-value {
  font-variant-numeric: tabular-nums;
  font-weight: 900;
}
body .rating-value.rating-value.rating-tier-blue { color: #0000ff !important; }
body .rating-value.rating-value.rating-tier-dark-green { color: #008000 !important; }
body .rating-value.rating-value.rating-tier-olive { color: #808000 !important; }
body .rating-value.rating-value.rating-tier-dark-red { color: #800000 !important; }
body .rating-value.rating-value.rating-tier-orange { color: #ff8000 !important; }
body .rating-value.rating-value.rating-tier-red { color: #ff0000 !important; }
body .rating-value.rating-value.rating-tier-magenta { color: #ff00ff !important; }
body .rating-value.rating-value.rating-tier-lime { color: #00ff00 !important; }
body .rating-value.rating-value.rating-tier-black {
  color: #000000 !important;
  -webkit-text-stroke: .35px rgba(255, 255, 255, .82);
  text-shadow: 0 0 2px rgba(255, 255, 255, .95);
}
body .rating-value.rating-value.rating-tier-crystal { color: #0077ff !important; }
body .rating-value.rating-value.rating-tier-amethyst { color: #8a2be2 !important; }
body .rating-value.rating-value.rating-tier-emerald { color: #008f5a !important; }
body .rating-value.rating-value.rating-tier-ruby { color: #d1005b !important; }
body .rating-value.rating-value.rating-tier-diamond { color: #008fa8 !important; }
body .rating-value.rating-value.rating-tier-gold { color: #b8860b !important; }

/* V81.18 — arquivo de partidas fiel ao painel competitivo de referência */
.archive-page {
  gap: 14px !important;
}
.archive-results-panel {
  overflow: hidden;
  background:
    radial-gradient(circle at 14% 0, rgba(29, 126, 255, .09), transparent 250px),
    linear-gradient(180deg, #071827 0%, #061522 100%) !important;
}
.archive-hero {
  min-height: 108px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  padding: 18px 22px;
  border-bottom: 1px solid rgba(130, 169, 205, .14);
  background:
    radial-gradient(circle at 0 50%, rgba(25, 196, 115, .08), transparent 190px),
    rgba(4, 17, 29, .42);
}
.archive-hero-main {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 17px;
}
.archive-hero-main > div {
  min-width: 0;
}
.archive-hero-main .section-kicker {
  color: #34e596;
}
.archive-hero h1 {
  margin: 3px 0 4px;
  color: #f4f9ff;
  font-size: clamp(1.16rem, 2vw, 1.55rem);
  line-height: 1.12;
  letter-spacing: -.035em;
}
.archive-hero p {
  margin: 0;
  color: #86a0ba;
  font-size: .68rem;
}
.archive-mode-orb {
  position: relative;
  width: 64px;
  height: 64px;
  flex: 0 0 64px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background:
    radial-gradient(circle at 34% 28%, #8290a1 0 8%, #1c2733 30%, #05090e 66%, #17222d 100%);
  border: 1px solid rgba(188, 217, 237, .18);
  box-shadow:
    0 0 0 10px rgba(20, 187, 103, .045),
    -12px 14px 34px rgba(11, 218, 119, .10),
    inset -8px -10px 18px rgba(0, 0, 0, .55);
  font-size: 0;
  font-weight: 950;
}
.archive-mode-orb::before {
  content: '';
  position: absolute;
  inset: 19px;
  border-radius: 50%;
  background: #f2f5f8;
  box-shadow: inset 0 2px 4px rgba(0,0,0,.22);
}
.archive-mode-orb {
  isolation: isolate;
}
.archive-mode-orb {
  text-shadow: 0 1px 2px rgba(0,0,0,.25);
}
.archive-mode-orb > * {
  position: relative;
  z-index: 2;
}
.archive-mode-orb-pool-9 {
  background: radial-gradient(circle at 34% 28%, #fff7bc 0 8%, #d6ac23 30%, #765507 67%, #e4b922 100%);
}
.archive-mode-orb-snooker {
  background: radial-gradient(circle at 34% 28%, #ffb0b0 0 8%, #bd2c3d 30%, #5d0815 67%, #d83549 100%);
}
.archive-mode-orb {
  color: transparent;
}
.archive-mode-orb::after {
  position: absolute;
  z-index: 2;
  content: '8';
  color: #0b1420;
  font-size: 1rem;
  font-weight: 950;
}
.archive-mode-orb-pool-9::after { content: '9'; }
.archive-mode-orb-snooker::after {
  content: 'S';
  color: #8d1728;
  font-size: .82rem;
}
.archive-total-card {
  min-width: 126px;
  display: grid;
  gap: 3px;
  padding: 13px 16px;
  border: 1px solid rgba(124, 166, 208, .17);
  border-radius: 12px;
  background: rgba(11, 29, 47, .68);
  box-shadow: inset 0 1px rgba(255,255,255,.025);
}
.archive-total-card span {
  color: #829ab3;
  font-size: .61rem;
  font-weight: 700;
}
.archive-total-card strong {
  color: #2692ff;
  font-size: 1.02rem;
  line-height: 1;
}
.archive-controls {
  min-height: 62px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 11px 14px;
  border-bottom: 1px solid rgba(116, 154, 192, .13);
  background: rgba(5, 17, 29, .58);
}
.archive-controls .archive-mode-tabs {
  min-width: min(100%, 310px);
  display: grid !important;
  grid-template-columns: repeat(3, minmax(86px, 1fr));
  gap: 0 !important;
  padding: 4px !important;
  border: 1px solid rgba(121, 161, 202, .14) !important;
  border-radius: 10px;
  background: #0b2033 !important;
}
.archive-controls .archive-mode-tabs a {
  min-height: 34px;
  display: grid;
  place-items: center;
  padding: 0 12px !important;
  border: 0 !important;
  border-radius: 7px !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #91a8be !important;
  font-size: .66rem;
}
.archive-controls .archive-mode-tabs a.active {
  color: #fff !important;
  background: linear-gradient(135deg, #1889ff, #0865d3) !important;
  box-shadow: 0 7px 18px rgba(7, 104, 221, .28) !important;
}
.archive-period-controls {
  display: flex;
  align-items: center;
  gap: 8px;
}
.archive-period-controls label {
  height: 38px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 11px;
  border: 1px solid rgba(121, 161, 202, .14);
  border-radius: 9px;
  background: #0b2033;
  color: #dce9f6;
}
.archive-period-controls label > span {
  color: #8ca7bf;
}
.archive-period-controls select {
  border: 0;
  outline: 0;
  background: transparent;
  color: #dce9f6;
  font: inherit;
  font-size: .63rem;
  font-weight: 800;
}
.archive-period-controls select option {
  color: #dce9f6;
  background: #0b2033;
}
.archive-period-controls > button {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(121, 161, 202, .14);
  border-radius: 9px;
  background: #0b2033;
  color: #dce9f6;
  cursor: pointer;
  font-size: 1.05rem;
}
.archive-period-controls > button:hover:not(:disabled) {
  color: #fff;
  border-color: rgba(51, 143, 255, .4);
  background: #102c45;
}
.archive-table-wrap {
  width: 100%;
  overflow-x: auto;
  scrollbar-color: #1e6099 #061522;
  scrollbar-width: thin;
}
.archive-table {
  width: 100% !important;
  min-width: 1080px;
  table-layout: fixed !important;
  border-collapse: collapse;
}
.archive-table th,
.archive-table td {
  box-sizing: border-box;
  height: 68px;
  padding: 9px 10px !important;
  border-bottom: 1px solid rgba(116, 154, 192, .13) !important;
  background: rgba(7, 23, 37, .53) !important;
}
.archive-table th {
  height: 43px;
  color: #c8d8e8 !important;
  background: rgba(13, 32, 49, .83) !important;
  font-size: .61rem !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.archive-table tbody tr:nth-child(even) td {
  background: rgba(11, 30, 47, .74) !important;
}
.archive-table tbody tr:hover td {
  background: rgba(15, 45, 70, .82) !important;
}
.archive-table th:nth-child(1),
.archive-table td:nth-child(1) { width: 55px !important; text-align: center; }
.archive-table th:nth-child(2),
.archive-table td:nth-child(2) { width: 190px !important; }
.archive-table th:nth-child(3),
.archive-table td:nth-child(3) { width: 222px !important; }
.archive-table th:nth-child(4),
.archive-table td:nth-child(4) { width: 96px !important; text-align: center; }
.archive-table th:nth-child(5),
.archive-table td:nth-child(5) { width: 134px !important; text-align: center; }
.archive-table th:nth-child(6),
.archive-table td:nth-child(6) { width: 108px !important; }
.archive-table th:nth-child(7),
.archive-table td:nth-child(7) { width: 90px !important; }
.archive-table th:nth-child(8),
.archive-table td:nth-child(8) { width: 185px !important; text-align: left; }
.archive-new-badge {
  display: inline-grid;
  place-items: center;
  min-width: 36px;
  min-height: 18px;
  padding: 0 5px;
  border-radius: 4px;
  color: #fff;
  background: #1fca5d;
  box-shadow: 0 4px 12px rgba(20, 202, 91, .2);
  font-size: .48rem;
  font-weight: 950;
}
.archive-row-number {
  color: #a8bacd;
  font-size: .67rem;
  font-weight: 800;
}
.archive-match-player {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 9px;
  color: inherit;
  text-decoration: none;
}
.archive-match-player:hover .archive-player-name-line strong {
  color: #75baff;
}
.archive-match-player .archive-player-avatar {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
}
.archive-player-details {
  min-width: 0;
  display: grid;
  gap: 3px;
}
.archive-player-name-line {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 6px;
}
.archive-player-name-line strong {
  min-width: 0;
  overflow: hidden;
  color: #f1f6fb;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .7rem;
}
.archive-player-details > small {
  color: #8fa3b7;
  font-size: .58rem;
  font-weight: 700;
}
.archive-match-player.winner .archive-player-details > small {
  color: #28df6c;
}
.archive-trophy {
  color: #ffc425;
  font-size: .85rem;
  line-height: 1;
}
.archive-loser-cell {
  min-width: 0;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: center;
  gap: 7px;
}
.archive-versus {
  color: #7890a8;
  font-size: .58rem;
  font-weight: 850;
}
.archive-score {
  min-width: 58px;
  min-height: 30px;
  display: inline-grid;
  place-items: center;
  padding: 0 9px;
  border: 1px solid rgba(31, 199, 105, .18);
  border-radius: 999px;
  color: #f5fbff;
  background: rgba(6, 67, 47, .35);
  font-size: .75rem;
  font-weight: 900;
}
.archive-score.unavailable {
  color: #70879d;
  border-color: rgba(120, 153, 185, .13);
  background: rgba(30, 51, 69, .35);
}
.archive-rating-change {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}
.archive-rating-change i {
  width: 1px;
  height: 22px;
  background: rgba(128, 161, 191, .12);
}
.archive-rating-change b {
  min-width: 26px;
  font-size: .68rem;
}
.archive-rating-change .positive { color: #37eb76; }
.archive-rating-change .negative { color: #ff4859; }
.archive-rating-change .neutral { color: #71879b; }
.archive-table time {
  display: grid !important;
  gap: 3px;
}
.archive-table time strong {
  color: #ecf3fa;
  font-size: .65rem;
}
.archive-table time span {
  color: #8ea3b7;
  font-size: .58rem;
}
.archive-duration {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #a9bbcb;
  font-size: .62rem;
}
.archive-duration i {
  color: #8ca5ba;
  font-size: .8rem;
  font-style: normal;
}
.archive-replay-actions {
  display: flex;
  align-items: center;
  gap: 7px;
}
.archive-view,
.archive-download-icon {
  box-sizing: border-box;
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 8px;
  color: #fff !important;
  text-decoration: none;
  cursor: pointer;
}
.archive-view {
  min-width: 92px;
  gap: 6px;
  padding: 0 11px;
  background: linear-gradient(135deg, #1592ff, #0666e8);
  box-shadow: 0 8px 18px rgba(3, 104, 233, .23);
  font-size: .63rem;
  font-weight: 900;
}
.archive-download-icon {
  width: 36px;
  flex: 0 0 36px;
  border: 1px solid rgba(124, 166, 208, .18);
  background: #10283c;
  font-size: .9rem;
  font-weight: 900;
}
.archive-view:disabled,
.archive-download-icon:disabled {
  color: #687f94 !important;
  background: #0c2234;
  box-shadow: none;
  cursor: default;
}
.archive-file-size {
  margin-top: 4px !important;
  color: #6f879d !important;
  font-size: .5rem !important;
}
.archive-pagination {
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: center !important;
  gap: 18px;
  padding: 10px 14px !important;
  background: rgba(4, 16, 27, .72) !important;
}
.archive-page-buttons {
  display: flex;
  align-items: center;
  gap: 5px;
}
.archive-pagination .archive-page-buttons button {
  min-width: 30px !important;
  height: 30px;
  padding: 0 8px !important;
  border-radius: 7px;
}
.archive-pagination .archive-page-buttons button.active {
  color: #fff;
  border-color: #2189ff;
  background: linear-gradient(135deg, #168dff, #0763d9);
}
.archive-pagination .archive-page-buttons button.arrow {
  font-size: 1rem;
}
.archive-page-buttons .ellipsis {
  min-width: 22px;
  text-align: center;
  color: #657e96;
}
.archive-pagination > span {
  margin-left: auto;
  white-space: nowrap;
}

@media (max-width: 900px) {
  .archive-hero {
    align-items: flex-start;
  }
  .archive-controls {
    align-items: stretch;
    flex-direction: column;
  }
  .archive-period-controls {
    justify-content: flex-end;
  }
  .archive-pagination {
    align-items: center;
    flex-direction: column;
  }
  .archive-pagination > span {
    margin-left: 0;
  }
}

@media (max-width: 720px) {
  .archive-hero {
    min-height: 0;
    padding: 15px;
  }
  .archive-mode-orb {
    width: 52px;
    height: 52px;
    flex-basis: 52px;
  }
  .archive-mode-orb::before {
    inset: 15px;
  }
  .archive-total-card {
    min-width: 104px;
    padding: 10px 12px;
  }
  .archive-controls {
    padding: 10px;
  }
  .archive-controls .archive-mode-tabs {
    width: 100%;
  }
  .archive-period-controls label {
    flex: 1;
  }
  .archive-period-controls select {
    width: 100%;
  }
  .archive-table {
    display: table !important;
    min-width: 1080px !important;
  }
  .archive-table thead {
    display: table-header-group !important;
  }
  .archive-table tbody {
    display: table-row-group !important;
  }
  .archive-table tr {
    display: table-row !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }
  .archive-table th,
  .archive-table td {
    display: table-cell !important;
    width: auto;
  }
  .archive-table td::before {
    display: none !important;
  }
}

@media (max-width: 520px) {
  .archive-hero {
    display: grid;
    grid-template-columns: 1fr;
  }
  .archive-total-card {
    width: 100%;
  }
  .archive-hero p {
    line-height: 1.45;
  }
}
@media (max-width: 480px) {
  .contact-add-search {
    grid-template-columns: 1fr;
  }
  .contact-add-search button {
    min-height: 40px;
  }
  .contact-search-card .contact-actions {
    padding-left: 0;
  }
}


/* V76 — cabeçalho com três blocos equilibrados e banner de download animado */
.header-showcase {
  grid-template-columns: minmax(0, 1fr) 1px minmax(0, 1fr) 1px minmax(0, 1fr) !important;
  align-items: stretch;
  column-gap: 24px !important;
  row-gap: 0;
}
.header-showcase-divider {
  align-self: center;
  width: 1px;
  height: 78%;
  min-height: 132px;
  background: linear-gradient(180deg, transparent, rgba(190,222,233,.28) 14%, rgba(190,222,233,.28) 86%, transparent);
}
.header-brand-zone,
.header-live-activity,
.header-download-card { min-width: 0; }
.header-live-activity {
  border-left: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.header-brand-zone .brand-image-shell { width: min(100%, 410px); }
.header-mode-links { max-width: none; }
.header-download-v76 {
  min-height: 182px;
  border-color: rgba(79,154,255,.35);
  background: #041525;
  box-shadow: 0 22px 50px rgba(0,4,14,.48), inset 0 1px rgba(255,255,255,.04);
}
.header-download-v76 .header-download-gif {
  object-fit: cover;
  object-position: center;
  filter: saturate(1.08) brightness(.72) contrast(1.06);
  transform: scale(1.02);
}
.header-download-v76:hover .header-download-gif {
  filter: saturate(1.18) brightness(.82) contrast(1.08);
  transform: scale(1.055);
}
.header-download-v76 .header-download-shade {
  background:
    linear-gradient(90deg, rgba(2,14,26,.93), rgba(2,15,28,.38) 58%, rgba(2,15,28,.12)),
    linear-gradient(180deg, rgba(0,0,0,.05), rgba(1,9,18,.72));
}
.header-download-ghost {
  position: absolute;
  right: 14px;
  bottom: 7px;
  z-index: 1;
  color: #d9edff;
  opacity: .16;
  font-size: clamp(1.65rem, 2.2vw, 2.7rem);
  font-weight: 950;
  letter-spacing: .13em;
  line-height: 1;
  pointer-events: none;
  transform: translateX(.13em);
}
.header-download-v76 .header-download-copy { padding: 24px 22px; }
.header-download-v76 .header-download-copy small { font-size: .61rem; color: #9cc7eb; }
.header-download-v76 .header-download-copy strong { max-width: 190px; margin: 7px 0 16px; font-size: 1.24rem; }
.header-download-v76 .header-download-copy > span {
  min-height: 36px;
  padding: 0 13px;
  border: 1px solid rgba(117,185,255,.25);
  background: linear-gradient(135deg, #1b82ff, #075bd0);
  box-shadow: 0 10px 25px rgba(7,91,208,.28);
}

/* V76 — leitura e densidade das páginas da conta */
.portal-center > .account-page { min-height: 600px; }
.account-page-heading { min-height: 124px; padding: 30px 34px; }
.account-page-heading h1 { font-size: clamp(2.05rem, 3.15vw, 2.9rem); }
.account-page-heading .section-kicker { font-size: .78rem; }
.account-page-status { font-size: .72rem; }
.account-page :where(input, select, textarea, button) { font-size: .74rem; }
.account-page :where(p, li, td, th) { font-size: .72rem; line-height: 1.58; }
.account-page :where(label > span, small) { font-size: .62rem; }
.account-page :where(h2) { font-size: 1.22rem; }
.account-page :where(h3) { font-size: .94rem; }

/* contatos mais legíveis e compactos */
.contacts-page { gap: 15px; padding: 25px; }
.contacts-overview { padding: 18px 20px; }
.contacts-overview-main strong { font-size: .96rem !important; }
.contacts-overview-main small,
.contacts-overview-main span,
.contacts-summary small { font-size: .64rem !important; }
.contacts-toolbar {
  grid-template-columns: minmax(280px, 540px) auto !important;
  justify-content: space-between;
  padding: 14px 15px;
}
.contacts-toolbar label > span { font-size: .64rem !important; }
.contacts-search input { font-size: .76rem !important; }
.contacts-add { font-size: .72rem !important; }
.contact-add-panel { padding: 17px 18px; }
.contact-add-panel > header small,
.contact-add-panel > header > span { font-size: .62rem !important; }
.contact-add-panel > header strong { font-size: .82rem !important; }
.contact-add-search {
  grid-template-columns: minmax(260px, 470px) 112px !important;
  justify-content: start;
}
.contact-add-search input,
.contact-add-search button { min-height: 42px; font-size: .72rem !important; }
.contact-card { grid-template-columns: 54px minmax(0,1fr) auto; padding: 15px 17px; }
.contact-avatar { width: 54px; height: 54px; font-size: .9rem; }
.contact-identity strong { font-size: .83rem !important; }
.contact-status { font-size: .57rem !important; }
.contact-identity p { font-size: .68rem !important; }
.contact-identity small { font-size: .61rem !important; }
.contact-actions button { min-height: 36px; padding: 0 11px; font-size: .64rem !important; }
.contacts-hint p { font-size: .65rem !important; }

/* campos curtos não ocupam a largura inteira */
.friend-search-field,
.message-compose-card input[name="recipient"],
.profile-form-grid label:not(.wide),
.simple-password-card form { max-width: 520px; }
.profile-form-grid { grid-template-columns: repeat(2, minmax(220px, 1fr)); align-items: start; }
.profile-form-grid label:not(.wide) { width: 100%; }
.profile-form-grid textarea { min-height: 112px; max-height: 190px; }
.simple-password-card { max-width: 620px; }
.simple-password-card input { max-width: 430px; }
.message-compose-card input { max-width: 440px; }
.message-compose-card textarea,
.message-reply-form textarea { min-height: 104px; max-height: 210px; }

/* V76 — galeria real */
.photos-v76 { gap: 15px; padding: 25px; }
.photos-v76 .photos-hero {
  display: grid;
  grid-template-columns: 74px minmax(0,1fr) auto;
  min-height: 138px;
  padding: 22px 24px;
}
.photos-avatar-preview {
  position: relative;
  width: 70px;
  height: 70px;
  border-radius: 18px;
  overflow: hidden;
  display: grid;
  place-items: center;
  color: #fff;
  background: linear-gradient(145deg, #2287ff, #074f9f);
  border: 1px solid rgba(111,183,255,.38);
  box-shadow: 0 14px 32px rgba(0,66,145,.25);
  font-weight: 900;
}
.photos-avatar-preview img { width: 100%; height: 100%; object-fit: cover; }
.photos-avatar-preview i {
  position: absolute;
  left: 7px;
  right: 7px;
  bottom: 6px;
  padding: 3px 5px;
  border-radius: 999px;
  color: #fff;
  background: rgba(2,15,28,.76);
  text-align: center;
  font-size: .48rem;
  font-style: normal;
  font-weight: 800;
}
.photos-v76 .photos-hero-copy { display: block; }
.photos-v76 .photos-hero-copy small { font-size: .66rem; }
.photos-v76 .photos-hero-copy h2 { font-size: 1.28rem; }
.photos-v76 .photos-hero-copy p { max-width: 580px; font-size: .69rem; line-height: 1.55; }
.photos-v76 .photos-hero-stats strong { font-size: 1.5rem; }
.photos-v76 .photos-hero-stats small { font-size: .61rem; }
.photos-upload-panel {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 18px;
  padding: 16px 18px;
  border: 1px solid rgba(194,224,233,.13);
  border-radius: 14px;
  background: rgba(231,247,251,.035);
}
.photos-upload-panel > div { display: grid; gap: 3px; }
.photos-upload-panel small { color: #65879d; font-size: .62rem; }
.photos-upload-panel strong { color: #e9f6fb; font-size: .85rem; }
.photos-upload-panel span { color: #7896a8; font-size: .64rem; }
.photos-upload-button {
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 15px;
  border-radius: 10px;
  color: #fff;
  background: linear-gradient(135deg, #1a82ff, #0865e8);
  border: 1px solid rgba(98,171,255,.3);
  font-size: .7rem;
  font-weight: 820;
  box-shadow: 0 10px 24px rgba(8,101,232,.24);
}
.photos-upload-button.disabled { opacity: .58; cursor: wait; }
.photos-upload-button input { display: none; }
.photo-feedback { padding: 11px 13px; border-radius: 10px; font-size: .68rem; }
.photo-feedback.error { color: #ff9ca7; border: 1px solid rgba(255,91,106,.2); background: rgba(255,70,87,.07); }
.photo-feedback.success { color: #6ae0aa; border: 1px solid rgba(39,206,131,.2); background: rgba(39,206,131,.07); }
.photos-loading { min-height: 180px; display: grid; place-items: center; color: #7898aa; font-size: .74rem; }
.photos-v76 .photos-grid { grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; }
.photos-v76 .photo-card { overflow: hidden; border-color: rgba(194,224,233,.13); }
.photos-v76 .photo-card-avatar { border-color: rgba(39,206,131,.42); box-shadow: 0 0 0 1px rgba(39,206,131,.08); }
.photos-v76 .photo-image { aspect-ratio: 4 / 3; }
.photos-v76 .photo-card footer { min-height: 70px; padding: 11px 12px; }
.photos-v76 .photo-card footer strong {
  display: block;
  max-width: 170px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .72rem;
}
.photos-v76 .photo-card footer small { font-size: .57rem; }
.photo-actions { display: flex; gap: 6px; }
.photo-actions button {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  cursor: pointer;
  color: #82bdff;
  background: rgba(20,118,255,.11);
  border: 1px solid rgba(74,157,255,.22);
  font-size: .82rem;
}
.photo-actions .photo-delete { color: #ff8e9c; border-color: rgba(255,91,106,.2); background: rgba(255,70,87,.06); }
.photos-empty-upload { margin-top: 16px; }

@media (max-width: 1180px) {
  .header-showcase { grid-template-columns: minmax(0,1fr) 1px minmax(0,1fr) 1px minmax(0,1fr) !important; column-gap: 16px !important; }
  .header-showcase-divider { min-height: 120px; }
}
@media (max-width: 960px) {
  .header-showcase { grid-template-columns: 1fr 1fr !important; gap: 18px !important; }
  .header-brand-zone { grid-column: 1 / -1; }
  .header-showcase-divider { display: none; }
  .header-live-activity { border-top: 1px solid rgba(190,222,233,.1) !important; padding-top: 16px !important; }
}
@media (max-width: 780px) {
  .header-showcase { grid-template-columns: 1fr !important; }
  .header-download-v76 { min-height: 180px; }
  .contacts-toolbar,
  .contact-add-search,
  .photos-upload-panel,
  .photos-v76 .photos-hero { grid-template-columns: 1fr !important; }
  .contacts-toolbar { align-items: stretch; }
  .contacts-add { width: 100%; }
  .contact-add-search button { width: 100%; }
  .photos-v76 .photos-hero-stats { align-items: flex-start; text-align: left; }
  .photos-v76 .photos-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .profile-form-grid { grid-template-columns: 1fr; }
}
@media (max-width: 540px) {
  .account-page-heading { min-height: 108px; padding: 24px 21px; }
  .account-page-heading h1 { font-size: 2rem; }
  .contacts-page, .photos-v76 { padding: 15px; }
  .photos-v76 .photos-grid { grid-template-columns: 1fr; }
}


/* V77 — card de download minimalista: apenas GIF + texto DOWNLOAD */
.header-download-v76.header-download-minimal {
  min-height: 182px;
  display: block;
  overflow: hidden;
}
.header-download-v76.header-download-minimal .header-download-shade {
  background:
    linear-gradient(180deg, rgba(0,0,0,.08), rgba(1,10,18,.22) 38%, rgba(1,10,18,.52) 100%),
    linear-gradient(90deg, rgba(2,12,22,.08), rgba(2,12,22,.08));
}
.header-download-v76.header-download-minimal .header-download-ghost {
  inset: 0;
  right: auto;
  bottom: auto;
  display: grid;
  place-items: center;
  padding: 0 18px;
  text-align: center;
  color: rgba(232,245,255,.34);
  opacity: 1;
  font-size: clamp(2rem, 3vw, 3.15rem);
  letter-spacing: .16em;
  text-shadow: 0 6px 30px rgba(0,0,0,.32);
  transform: none;
}
.header-download-v76.header-download-minimal:hover .header-download-ghost {
  color: rgba(240,248,255,.42);
}
.header-download-v76.header-download-minimal .header-download-copy {
  display: none !important;
}
@media (max-width: 980px) {
  .header-download-v76.header-download-minimal .header-download-ghost {
    font-size: clamp(1.5rem, 6vw, 2.35rem);
    letter-spacing: .12em;
  }
}


/* V77.1 — GIF original enviada pelo usuário (250x160), sem recorte ou distorção */
.header-download-v76.header-download-minimal {
  width: min(100%, 312px);
  min-height: 0;
  aspect-ratio: 250 / 160;
  align-self: center;
  justify-self: center;
  background: #041525;
}
.header-download-v76.header-download-minimal .header-download-gif {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  transform: none;
  filter: brightness(.83) saturate(1.04) contrast(1.03);
}
.header-download-v76.header-download-minimal:hover .header-download-gif {
  transform: scale(1.018);
  filter: brightness(.9) saturate(1.08) contrast(1.04);
}
.header-download-v76.header-download-minimal .header-download-shade {
  background: linear-gradient(180deg, rgba(0,12,24,.03), rgba(0,10,20,.26));
}
.header-download-v76.header-download-minimal .header-download-ghost {
  color: rgba(240,248,255,.34);
  font-size: clamp(1.45rem, 2.2vw, 2.35rem);
  letter-spacing: .14em;
}


/* V80 — ranking azul moderno em três faixas */
.ranking-blue-card {
  padding: 0 !important;
  overflow: hidden;
  border-color: rgba(67,154,255,.38) !important;
  background: #082642 !important;
  box-shadow: 0 18px 42px rgba(0,8,28,.28), inset 0 1px rgba(255,255,255,.04);
}
.ranking-blue-card .ranking-blue-title,
.ranking-blue-card .ranking-blue-footer {
  margin: 0 !important;
  background: linear-gradient(135deg, #0c4e92, #08396c 72%);
  border-color: rgba(131,196,255,.2) !important;
}
.ranking-blue-card .ranking-blue-title {
  min-height: 44px;
  padding: 0 14px;
  border-bottom: 1px solid rgba(133,198,255,.23);
}
.ranking-blue-card .ranking-blue-title span { color: #f3f9ff; }
.ranking-blue-card .ranking-blue-title small { color: #a8d3ff; }
.ranking-blue-card .ranking-blue-body {
  padding: 7px 9px;
  background:
    radial-gradient(circle at 100% 0, rgba(49,145,255,.25), transparent 145px),
    linear-gradient(180deg, #0d579d, #0a477f);
}
.ranking-blue-card .ranking-blue-body article {
  min-height: 43px;
  padding: 6px 7px;
  border-bottom: 1px solid rgba(191,224,255,.13);
  border-radius: 8px;
}
.ranking-blue-card .ranking-blue-body article:hover {
  background: rgba(224,241,255,.1);
}
.ranking-blue-card .ranking-blue-body strong { color: #f6fbff; font-size: .69rem; }
.ranking-blue-card .ranking-blue-body b { color: #d7edff; font-size: .66rem; }
.ranking-blue-card .ranking-player-photo {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(226,242,255,.44);
  box-shadow: 0 5px 14px rgba(0,14,38,.28);
}
.ranking-blue-card .ranking-player-photo img { width: 100%; height: 100%; object-fit: cover; }
.ranking-online-dot {
  position: absolute;
  right: -1px;
  bottom: -1px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #35e795;
  border: 2px solid #0a477f;
}
.ranking-blue-card .ranking-blue-footer {
  min-height: 39px;
  padding: 0 14px !important;
  color: #dceeff !important;
  border-top: 1px solid rgba(133,198,255,.23);
}
.ranking-blue-card .ranking-blue-footer:hover { color: #fff !important; background: linear-gradient(135deg, #1162b4, #0a4481 72%); }
.ranking-empty { color: #c3def6; padding: 14px 8px; text-align: center; font-size: .62rem; }

/* V80 — perfil persistido no servidor */
.profile-settings-v80 { gap: 16px; }
.profile-settings-v80 .profile-settings-hero {
  background: radial-gradient(circle at 0 0, rgba(20,118,255,.2), transparent 250px), rgba(7,31,52,.82);
}
.profile-hero-meta { display: grid; justify-items: end; gap: 5px; }
.profile-hero-meta span { color: #cce6ff; background: rgba(20,118,255,.16); border: 1px solid rgba(90,164,255,.26); border-radius: 999px; padding: 7px 11px; font-size: .68rem; font-weight: 800; }
.profile-hero-meta small { color: #718fa4; font-size: .58rem; }
.profile-feedback { padding: 11px 14px; border-radius: 11px; font-size: .68rem; }
.profile-feedback.error { color: #ffabb5; border: 1px solid rgba(255,91,106,.22); background: rgba(255,70,87,.08); }
.profile-feedback.success { color: #7ce8b5; border: 1px solid rgba(39,206,131,.24); background: rgba(39,206,131,.08); }
.profile-settings-v80 .profile-form-grid input,
.profile-settings-v80 .profile-form-grid select { max-width: 360px; min-height: 42px; }
.profile-settings-v80 .profile-form-grid label.wide input { max-width: 520px; }
.profile-settings-v80 textarea { min-height: 105px; resize: vertical; }
.field-readonly { color: #7593a6 !important; background: rgba(255,255,255,.025) !important; cursor: not-allowed; }
.profile-privacy-card { display: grid; gap: 10px; padding: 18px; border: 1px solid rgba(194,224,233,.13); border-radius: 15px; background: rgba(231,247,251,.04); }
.profile-privacy-card header { margin-bottom: 3px; }
.profile-privacy-card h3 { margin: 0; font-size: .88rem; }
.profile-privacy-card header p { margin: 4px 0 0; color: #748fa1; font-size: .62rem; }
.profile-privacy-card > label { display: grid; grid-template-columns: 36px minmax(0,1fr); align-items: center; gap: 12px; padding: 12px; border: 1px solid rgba(194,224,233,.1); border-radius: 11px; background: rgba(4,21,35,.55); cursor: pointer; }
.profile-privacy-card input { width: 20px; height: 20px; accent-color: #1476ff; justify-self: center; }
.profile-privacy-card label span { display: grid; gap: 3px; }
.profile-privacy-card strong { font-size: .72rem; }
.profile-privacy-card small { color: #7693a5; font-size: .6rem; }
.profile-settings-v80 .profile-settings-actions { justify-content: space-between; }
.profile-settings-v80 .profile-settings-actions > span { color: #6f8b9e; font-size: .6rem; }
.player-public-bio { margin: 13px 0 3px; padding: 12px 14px; border: 1px solid rgba(83,156,255,.16); border-radius: 11px; background: rgba(20,118,255,.055); }
.player-public-bio strong { color: #dceeff; font-size: .68rem; }
.player-public-bio p { color: #8da8b8; margin: 6px 0 0; font-size: .62rem; line-height: 1.55; }

/* V80 — segurança e troca de senha */
.security-page-v80 { display: grid; gap: 16px; padding: 24px; }
.security-overview-card { display: grid; grid-template-columns: 50px minmax(0,1fr) auto; align-items: center; gap: 15px; padding: 18px; border: 1px solid rgba(68,151,255,.22); border-radius: 15px; background: radial-gradient(circle at 0 0, rgba(20,118,255,.2), transparent 210px), rgba(7,31,52,.8); }
.security-shield { display: grid; place-items: center; width: 50px; height: 50px; border-radius: 14px; color: #71b4ff; background: rgba(20,118,255,.17); border: 1px solid rgba(91,165,255,.3); font-size: 1.25rem; }
.security-overview-card > div { display: grid; gap: 4px; }
.security-overview-card small { color: #7390a4; font-size: .58rem; }
.security-overview-card strong { font-size: .92rem; }
.security-overview-card p { margin: 0; color: #7d99aa; font-size: .62rem; }
.security-status { display: inline-flex; align-items: center; gap: 8px; color: #aeeed0; font-size: .62rem; }
.security-password-card { max-width: none; }
.security-password-card header { grid-template-columns: 42px minmax(0,1fr) auto; }
.password-visibility { border: 1px solid rgba(194,224,233,.14); border-radius: 8px; padding: 7px 10px; color: #88a8bb; cursor: pointer; background: rgba(231,247,251,.05); font-size: .58rem; }
.security-password-card form { max-width: 540px; }
.security-password-card input { max-width: 380px; min-height: 42px; }
.password-strength { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; align-items: center; max-width: 380px; }
.password-strength > div { display: grid; grid-template-columns: repeat(4,1fr); gap: 5px; }
.password-strength i { height: 4px; border-radius: 999px; background: rgba(194,224,233,.12); }
.password-strength i.active { background: #1476ff; }
.password-strength-1 i.active { background: #ff6574; }
.password-strength-2 i.active { background: #f2b84b; }
.password-strength-3 i.active { background: #45b8ff; }
.password-strength-4 i.active { background: #27ce83; }
.password-strength span { color: #7896a8; font-size: .56rem; }
.password-checklist { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px 12px; max-width: 500px; margin: 0; padding: 0; }
.password-checklist li { color: #6f899b; font-size: .58rem; }
.password-checklist li:before { content: '○'; margin-right: 6px; }
.password-checklist li.ok { color: #6fdcac; }
.password-checklist li.ok:before { content: '✓'; }
.security-tips-card { display: grid; gap: 7px; padding: 17px; border: 1px solid rgba(194,224,233,.11); border-radius: 14px; background: rgba(231,247,251,.035); }
.security-tips-card h3 { margin: 0 0 3px; font-size: .8rem; }
.security-tips-card p { margin: 0; color: #7996a7; font-size: .62rem; line-height: 1.55; }
.mini-avatar img { width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
.recent-winners-empty { min-height: 150px; display: grid; place-items: center; color: #7896a8; border: 1px dashed rgba(101,166,218,.22); border-radius: 14px; font-size: .68rem; }
@media (max-width: 620px) {
  .security-page-v80 { padding: 13px; }
  .security-overview-card { grid-template-columns: 44px minmax(0,1fr); }
  .security-status { grid-column: 1 / -1; }
  .password-checklist { grid-template-columns: 1fr; }
  .profile-hero-meta { justify-items: start; }
}

/* V80.1 — alinhamento final do formulário de segurança */
.security-password-card {
  padding: 18px !important;
}
.security-password-card > header {
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 0 0 15px !important;
  margin-bottom: 16px !important;
  border-bottom: 1px solid rgba(194,224,233,.11);
}
.security-password-card form {
  display: grid !important;
  grid-template-columns: 1fr !important;
  align-items: stretch !important;
  gap: 13px !important;
  width: min(100%, 560px) !important;
  max-width: 560px !important;
  margin: 0 !important;
  padding: 0 !important;
}
.security-password-card form > label {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 7px !important;
  width: 100% !important;
  max-width: 420px !important;
}
.security-password-card form > label > span {
  color: #86a2b4;
  font-size: .63rem !important;
  font-weight: 760;
}
.security-password-card form input {
  width: 100% !important;
  max-width: 420px !important;
  min-height: 43px !important;
  padding: 0 12px !important;
  border: 1px solid rgba(194,224,233,.14) !important;
  border-radius: 10px !important;
  background: #061a2a !important;
}
.security-password-card form input:focus {
  border-color: rgba(71,153,255,.65) !important;
  box-shadow: 0 0 0 3px rgba(20,118,255,.1);
  outline: 0;
}
.security-password-card .password-strength,
.security-password-card .password-checklist,
.security-password-card .simple-password-error,
.security-password-card .simple-password-success {
  width: 100%;
  max-width: 420px;
}
.security-password-card form > button[type="submit"] {
  width: 100%;
  max-width: 420px;
  min-height: 43px;
  border: 0;
  border-radius: 10px;
  color: #fff;
  background: linear-gradient(135deg, #2588ff, #075bcf);
  box-shadow: 0 12px 25px rgba(7,91,207,.25);
  cursor: pointer;
  font-size: .68rem;
  font-weight: 850;
}
.profile-settings-v80 .profile-settings-actions button {
  min-height: 42px;
  padding: 0 17px;
  border: 0;
  border-radius: 10px;
  color: #fff;
  background: linear-gradient(135deg, #2588ff, #075bcf);
  box-shadow: 0 10px 23px rgba(7,91,207,.24);
  cursor: pointer;
  font-size: .68rem;
  font-weight: 850;
}


/* V81 — botão de download enviado pelo usuário, sem sobreposição */
.header-download-v81 {
  display: grid;
  place-items: center;
  min-height: 150px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}
.header-download-v81 .header-download-gif {
  width: 100%;
  height: auto;
  max-height: 142px;
  object-fit: contain;
  filter: drop-shadow(0 15px 25px rgba(0,0,0,.28));
  transition: transform .18s ease, filter .18s ease;
}
.header-download-v81:hover .header-download-gif { transform: translateY(-2px) scale(1.012); filter: drop-shadow(0 19px 30px rgba(0,0,0,.38)); }

/* menu de modalidades em lista maior, inspirado no portal clássico */
.header-mode-links { display: grid !important; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px !important; }
.header-mode-links article { display: grid !important; grid-template-columns: 1fr !important; align-content: start; gap: 0 !important; padding: 11px 13px !important; }
.header-mode-links article strong { margin-bottom: 6px; font-size: .78rem !important; }
.header-mode-links article a { position: relative; display: block !important; padding: 3px 0 3px 11px !important; font-size: .67rem !important; line-height: 1.25; }
.header-mode-links article a::before { content: '•'; position: absolute; left: 0; color: #27ce83; font-size: .82rem; }

/* conta sem a faixa repetida de pontuações */
.account-card .account-summary { border-bottom: 1px solid rgba(194,224,233,.10); }
.account-unread-badge { min-width: 21px !important; height: 21px; padding: 0 5px; border-radius: 999px; display: grid; place-items: center; color: #fff !important; background: #1476ff; font-size: .56rem !important; }

/* bolas oficiais */
.pool-ball-black { background: radial-gradient(circle at 35% 25%, #5a5a5a, #151515 42%, #020202 78%); border-color: rgba(255,255,255,.28); }
.pool-ball-red { background: radial-gradient(circle at 35% 25%, #ff7777, #d4172b 42%, #790716 80%); border-color: rgba(255,130,140,.42); }
.pool-ball-solid > span { display: none !important; }

/* jogadores online reais na lateral direita */
.online-rail-real { padding-bottom: 10px; }
.online-real-list { display: grid; gap: 4px; padding: 0 10px 8px; }
.online-real-list a { display: grid; grid-template-columns: 34px minmax(0,1fr); align-items: center; gap: 9px; padding: 7px 8px; border-radius: 9px; }
.online-real-list a:hover { background: rgba(20,118,255,.11); }
.online-real-avatar { position: relative; width: 34px; height: 34px; border-radius: 50%; background: #0a2740; overflow: visible; }
.online-real-avatar img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
.online-real-avatar i { position: absolute; right: -1px; bottom: 1px; width: 8px; height: 8px; border-radius: 50%; background: #27ce83; border: 2px solid #082038; }
.online-real-list strong { display: block; color: #eef9ff; font-size: .69rem; }
.online-real-list small { color: #6f91a6; font-size: .55rem; }
.online-real-empty { padding: 4px 13px 13px; color: #7894a7; font-size: .61rem; line-height: 1.5; }

/* ranking: foto real e fallback LP */
.ranking-blue-body article { cursor: pointer; }
.ranking-player-photo img, .ranking-full-avatar img { width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }

/* ranking completo */
.ranking-browser, .tournament-browser { overflow: hidden; }
.ranking-mode-tabs { display: flex; gap: 8px; padding: 14px 22px; border-bottom: 1px solid rgba(194,224,233,.12); background: rgba(7,29,48,.68); }
.ranking-mode-tabs a { padding: 9px 13px; border-radius: 999px; color: #7d9bad; font-size: .68rem; font-weight: 800; }
.ranking-mode-tabs a.active { color: #fff; background: #1476ff; box-shadow: 0 8px 22px rgba(20,118,255,.28); }
.ranking-full-list { display: grid; }
.ranking-full-list article { display: grid; grid-template-columns: 58px 46px minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 12px 22px; border-bottom: 1px solid rgba(194,224,233,.08); cursor: pointer; }
.ranking-full-list article:hover { background: rgba(20,118,255,.08); }
.ranking-full-position { color: #8facbd; font-size: .7rem; }
.ranking-full-avatar { position: relative; width: 42px; height: 42px; border-radius: 50%; overflow: visible; }
.ranking-full-avatar i { position: absolute; right: 0; bottom: 1px; width: 9px; height: 9px; background: #27ce83; border: 2px solid #082038; border-radius: 50%; }
.ranking-full-list article > span:nth-child(3) strong { display: block; color: #f5fbff; font-size: .82rem; }
.ranking-full-list article > span:nth-child(3) small { color: #708ea1; font-size: .59rem; }
.ranking-full-rating { color: #7db7ff; font-size: .86rem; }
.ranking-pagination { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 15px 22px; background: linear-gradient(135deg,#0c4f91,#083866); }
.ranking-pagination button { border: 1px solid rgba(255,255,255,.16); border-radius: 9px; padding: 8px 12px; color: #fff; background: rgba(255,255,255,.08); cursor: pointer; font-size: .65rem; }
.ranking-pagination button:disabled { opacity: .35; cursor: default; }
.ranking-pagination span { color: #cbe4ff; font-size: .63rem; }
.ranking-browser-loading { min-height: 220px; display: grid; place-items: center; color: #7d9bad; }

/* torneios reais */
.tournament-grid-real .tournament-card { min-height: 260px; }
.tournament-real-meta { display: grid; gap: 6px; margin: 12px 0; }
.tournament-real-meta div { display: flex; justify-content: space-between; gap: 10px; padding-top: 6px; border-top: 1px solid rgba(194,224,233,.09); }
.tournament-real-meta dt { color: #66879c; font-size: .58rem; }
.tournament-real-meta dd { margin: 0; color: #dcebf2; font-size: .61rem; font-weight: 750; }
.tournament-empty-real { padding: 45px 22px; text-align: center; border: 1px dashed rgba(95,165,220,.25); border-radius: 14px; color: #7594a8; }

/* mensagens em atualização contínua */
.message-thread-heading .typing, .message-typing-indicator { color: #4edb9d; }

@media (max-width: 980px) {
  .header-mode-links article a { font-size: .63rem !important; }
  .ranking-full-list article { grid-template-columns: 46px 40px minmax(0,1fr) auto; padding-inline: 14px; }
}
.conversation-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
}


/* V81.1 — correções solicitadas */
.header-download-v81 {
  width: min(100%, 260px) !important;
  min-height: 0 !important;
  justify-self: center;
  align-self: center;
}
.header-download-v81 .header-download-gif {
  width: min(100%, 260px) !important;
  max-height: 70px !important;
  filter: drop-shadow(0 9px 16px rgba(0,0,0,.24));
}
.header-download-v81:hover .header-download-gif {
  transform: translateY(-1px) scale(1.008);
  filter: drop-shadow(0 12px 20px rgba(0,0,0,.32));
}
.header-mode-links article a::before {
  content: '' !important;
  width: 4px !important;
  height: 4px !important;
  border-radius: 50%;
  background: #27ce83 !important;
  color: transparent !important;
  font-size: 0 !important;
}
.header-live-empty {
  min-height: 86px;
  display: grid;
  place-items: center;
  color: #617e91;
  font-size: .62rem;
}


/* V81.2 — tipografia maior e atividade clicável */
.header-player-counts {
  font-size: .74rem !important;
  gap: 14px !important;
}
.header-player-counts strong { font-size: .77rem !important; }
.header-topline .main-nav a {
  font-size: .78rem !important;
  padding: 9px 13px !important;
}
.header-mode-links article strong { font-size: .86rem !important; }
.header-mode-links article a {
  font-size: .73rem !important;
  padding-top: 4px !important;
  padding-bottom: 4px !important;
}
.header-live-title { font-size: .7rem !important; }
.header-live-title small { font-size: .59rem !important; }
.header-live-list article {
  grid-template-columns: 42px minmax(0,1fr) auto !important;
  gap: 10px !important;
  min-height: 49px !important;
  padding-top: 7px !important;
  padding-bottom: 7px !important;
}
.header-live-list .avatar,
.header-live-avatar-link {
  width: 35px !important;
  height: 35px !important;
  border-radius: 50%;
  overflow: hidden;
}
.header-live-list .avatar img,
.header-live-avatar-link img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
}
.header-live-list p { font-size: .69rem !important; }
.header-live-list small { font-size: .59rem !important; }
.header-live-list time { font-size: .53rem !important; }
.header-live-player-link,
.header-live-target-link {
  color: #edf8ff;
  font-weight: 850;
  transition: color .16s ease, text-shadow .16s ease;
}
.header-live-target-link { color: #8fc1ff; font-weight: 780; }
.header-live-player-link:hover,
.header-live-target-link:hover {
  color: #55a1ff;
  text-shadow: 0 0 15px rgba(20,118,255,.3);
}
.header-live-avatar-link {
  display: grid;
  place-items: center;
  transition: transform .16s ease, box-shadow .16s ease;
}
.header-live-avatar-link:hover {
  transform: translateY(-1px) scale(1.05);
  box-shadow: 0 0 0 3px rgba(20,118,255,.15);
}
.header-live-team-name {
  color: #eaf8ff;
  font-weight: 900;
}
.header-live-team-stack {
  width: 54px;
  height: 36px;
  display: flex;
  align-items: center;
  padding-left: 1px;
}
.header-live-member-avatar {
  position: relative;
  width: 29px;
  height: 29px;
  flex: none;
  margin-left: -11px;
  border: 2px solid #082038;
  border-radius: 50%;
  background: #0a2946;
  overflow: hidden;
  transition: transform .16s ease, z-index .16s ease;
}
.header-live-member-avatar:first-child { margin-left: 0; }
.header-live-member-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.header-live-member-avatar:hover {
  z-index: 5;
  transform: translateY(-3px) scale(1.12);
}
@media (max-width: 980px) {
  .header-player-counts { font-size: .68rem !important; }
  .header-topline .main-nav a { font-size: .72rem !important; padding-inline: 10px !important; }
  .header-mode-links article a { font-size: .69rem !important; }
}

.header-live-list article.header-live-item-team { grid-template-columns: 58px minmax(0,1fr) auto !important; }


/* V81.3 — Central de Ajuda moderna e rotas do cliente clássico */
html { scroll-behavior: smooth; }
.help-center-v813 { min-width: 0; }
.help-hero {
  position: relative; overflow: hidden; display: grid; grid-template-columns: 1fr 230px;
  gap: 28px; align-items: center; padding: 36px; border: 1px solid rgba(74,155,255,.28);
  border-radius: 24px; background:
    radial-gradient(circle at 86% 22%, rgba(26,112,255,.26), transparent 31%),
    linear-gradient(145deg, rgba(11,37,65,.98), rgba(5,22,39,.98));
  box-shadow: 0 22px 65px rgba(0,0,0,.24); margin-bottom: 22px;
}
.help-hero::after { content:""; position:absolute; inset:auto -70px -120px auto; width:310px; height:310px; border:1px solid rgba(73,166,255,.16); border-radius:50%; box-shadow:0 0 0 42px rgba(73,166,255,.05),0 0 0 88px rgba(73,166,255,.025); }
.help-hero h1 { max-width: 720px; margin: 8px 0 12px; color:#f5fbff; font-size:clamp(2rem,4vw,3.4rem); line-height:1.03; letter-spacing:-.045em; }
.help-hero p { max-width: 760px; margin:0; color:#a9c0d5; font-size:1rem; line-height:1.75; }
.help-hero-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:22px; }
.help-hero-actions a { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:0 18px; border-radius:11px; background:#1684ff; color:#fff; font-weight:800; text-decoration:none; box-shadow:0 9px 25px rgba(17,126,255,.24); }
.help-hero-actions a.secondary { border:1px solid rgba(145,195,238,.24); background:rgba(255,255,255,.04); color:#d8edff; box-shadow:none; }
.help-hero-badge { position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; gap:10px; text-align:center; }
.help-hero-badge img { width:132px; height:132px; object-fit:cover; border-radius:50%; filter:drop-shadow(0 18px 25px rgba(0,0,0,.35)); }
.help-hero-badge span { color:#e8f5ff; font-size:1.25rem; font-weight:900; letter-spacing:.15em; }
.help-hero-badge small { display:block; margin-top:3px; color:#62b4ff; font-size:.62rem; letter-spacing:.18em; }
.help-layout { display:grid; grid-template-columns:220px minmax(0,1fr); gap:20px; align-items:start; }
.help-toc { position:sticky; top:18px; padding:19px; border:1px solid rgba(80,139,190,.22); border-radius:18px; background:rgba(8,29,48,.94); box-shadow:0 15px 42px rgba(0,0,0,.18); }
.help-toc > strong { display:block; margin-bottom:12px; color:#f2f8ff; font-size:.95rem; }
.help-toc nav { display:grid; gap:3px; }
.help-toc nav a { padding:9px 10px; border-radius:9px; color:#8faec8; font-size:.78rem; font-weight:700; text-decoration:none; transition:.18s ease; }
.help-toc nav a:hover { color:#fff; background:rgba(31,134,255,.12); transform:translateX(2px); }
.help-toc-note { display:grid; gap:4px; margin-top:14px; padding:12px; border-radius:11px; background:rgba(34,142,255,.09); color:#8faec8; font-size:.72rem; line-height:1.45; }
.help-toc-note b { color:#56aaff; }
.help-articles { min-width:0; display:grid; gap:16px; }
.help-section { scroll-margin-top:18px; padding:28px; border:1px solid rgba(76,132,178,.2); border-radius:20px; background:linear-gradient(180deg,rgba(11,36,58,.98),rgba(7,27,45,.98)); box-shadow:0 16px 45px rgba(0,0,0,.14); }
.help-section > header { display:flex; align-items:center; gap:14px; margin-bottom:18px; padding-bottom:15px; border-bottom:1px solid rgba(104,158,200,.14); }
.help-section > header > span { display:grid; place-items:center; width:42px; height:42px; border-radius:12px; background:linear-gradient(145deg,#1684ff,#0c55bd); color:#fff; font-weight:900; box-shadow:0 8px 20px rgba(21,126,255,.22); }
.help-section > header small { color:#5eaef6; font-size:.67rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.help-section > header h2 { margin:2px 0 0; color:#f4f9fe; font-size:1.45rem; letter-spacing:-.02em; }
.help-section p { color:#a9bfd2; line-height:1.78; }
.help-section p + p { margin-top:12px; }
.help-tip { display:grid; grid-template-columns:auto 1fr; gap:12px; align-items:start; margin:18px 0; padding:15px 16px; border:1px solid rgba(53,151,255,.24); border-radius:13px; background:rgba(28,126,236,.08); }
.help-tip strong { color:#55aaff; white-space:nowrap; }
.help-tip div { color:#aac1d5; line-height:1.6; }
.help-tip-yellow { border-color:rgba(255,199,75,.24); background:rgba(235,169,29,.07); }
.help-tip-yellow strong { color:#f4c44f; }
.help-tip-red { border-color:rgba(255,93,111,.24); background:rgba(224,53,75,.07); }
.help-tip-red strong { color:#ff7d90; }
.help-shot { margin:20px 0 0; overflow:hidden; border:1px solid rgba(97,151,193,.18); border-radius:15px; background:#061b2c; }
.help-shot img { display:block; width:100%; max-height:430px; object-fit:contain; background:linear-gradient(135deg,#e7e7e7,#f7f7f7); }
.help-shot figcaption { padding:10px 13px; color:#7999b3; font-size:.72rem; }
.help-steps { counter-reset:steps; display:grid; gap:10px; margin:16px 0; padding:0; list-style:none; }
.help-steps li { display:grid; grid-template-columns:38px 160px 1fr; align-items:center; gap:12px; padding:12px; border-radius:12px; background:rgba(255,255,255,.025); color:#a9bfd2; }
.help-steps li::before { counter-increment:steps; content:counter(steps); display:grid; place-items:center; width:32px; height:32px; border-radius:50%; background:#0d65cd; color:#fff; font-weight:900; }
.help-steps b { color:#e8f4ff; }
.help-rule-list { display:grid; gap:9px; margin:15px 0 0; padding:0; list-style:none; }
.help-rule-list li { position:relative; padding:10px 12px 10px 35px; border-radius:11px; background:rgba(255,255,255,.022); color:#abc0d2; line-height:1.55; }
.help-rule-list li::before { content:"✓"; position:absolute; left:12px; top:10px; color:#31d39b; font-weight:900; }
.help-score-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:7px; margin:16px 0; }
.help-score-grid span { display:grid; gap:3px; min-width:0; padding:10px 5px; border:1px solid rgba(92,151,197,.16); border-radius:10px; background:rgba(255,255,255,.025); text-align:center; }
.help-score-grid b { overflow:hidden; color:#94afc5; font-size:.65rem; text-overflow:ellipsis; }
.help-score-grid strong { color:#55aaff; font-size:1.05rem; }
.help-tournament-grid,.help-settings-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:17px 0; }
.help-settings-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.help-tournament-grid article,.help-settings-grid article { padding:15px; border:1px solid rgba(88,145,190,.16); border-radius:13px; background:rgba(255,255,255,.023); }
.help-tournament-grid b,.help-settings-grid b { color:#e8f4ff; }
.help-tournament-grid p,.help-settings-grid p { margin:6px 0 0; font-size:.78rem; line-height:1.55; }
.help-image-pair { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.help-definitions { display:grid; gap:8px; margin:16px 0 0; }
.help-definitions > div { display:grid; grid-template-columns:150px 1fr; gap:12px; padding:11px 13px; border-radius:11px; background:rgba(255,255,255,.023); }
.help-definitions dt { color:#59aefe; font-weight:850; }
.help-definitions dd { margin:0; color:#a9bfd2; line-height:1.55; }
.help-faq-list { display:grid; gap:9px; }
.help-faq-list details { border:1px solid rgba(89,146,191,.16); border-radius:12px; background:rgba(255,255,255,.022); }
.help-faq-list summary { cursor:pointer; padding:14px 16px; color:#e5f2fc; font-weight:800; }
.help-faq-list p { margin:0; padding:0 16px 15px; }
.help-final-card { display:flex; justify-content:space-between; gap:18px; align-items:center; padding:25px 28px; border:1px solid rgba(34,152,255,.26); border-radius:18px; background:linear-gradient(120deg,rgba(11,74,137,.38),rgba(5,29,49,.96)); }
.help-final-card h2 { max-width:630px; margin:4px 0 0; color:#edf8ff; font-size:1.25rem; }
.help-final-card a,.support-help-link { display:inline-flex; align-items:center; min-height:40px; padding:0 16px; border-radius:10px; background:#1684ff; color:#fff; font-weight:850; text-decoration:none; white-space:nowrap; }
.support-help-link { margin-top:15px; }
@media (max-width:1100px) { .help-layout{grid-template-columns:1fr}.help-toc{position:static}.help-toc nav{grid-template-columns:repeat(2,1fr)} }
@media (max-width:760px) { .help-hero{grid-template-columns:1fr;padding:25px}.help-hero-badge{display:none}.help-section{padding:20px}.help-tournament-grid,.help-settings-grid,.help-image-pair{grid-template-columns:1fr}.help-score-grid{grid-template-columns:repeat(4,1fr)}.help-steps li{grid-template-columns:34px 1fr}.help-steps li span{grid-column:2}.help-definitions>div{grid-template-columns:1fr}.help-final-card{align-items:flex-start;flex-direction:column}.help-tip{grid-template-columns:1fr}.help-tip strong{white-space:normal} }

/* V81.3 — preenchimento discreto do bloco de download */
.header-download-zone {
  min-width: 0;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 7px;
  padding: 8px 0;
  text-align: center;
}
.header-download-zone .header-download-v81 {
  height: 70px !important;
  margin: 0;
}
.header-download-copy-v813 {
  display: grid;
  gap: 3px;
  max-width: 330px;
}
.header-download-copy-v813 strong {
  color: #e7f4ff;
  font-size: .82rem;
  font-weight: 900;
  letter-spacing: .015em;
}
.header-download-copy-v813 small {
  color: #7898b2;
  font-size: .62rem;
  line-height: 1.45;
}
.header-download-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 7px;
  color: #8faec6;
  font-size: .61rem;
  font-weight: 750;
  letter-spacing: .015em;
}
.header-download-meta i {
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #31d39b;
  box-shadow: 0 0 8px rgba(49,211,155,.42);
}
.header-download-help {
  color: #64b5ff;
  font-size: .59rem;
  font-weight: 800;
  text-decoration: none;
  transition: color .16s ease, transform .16s ease;
}
.header-download-help:hover {
  color: #d9efff;
  transform: translateY(-1px);
}
@media (max-width: 980px) {
  .header-download-zone { min-height: 132px; }
}


/* V81.4 — atividade rolável, histórico de 24h e ranking neutro */
.header-live-title {
  align-items: center;
}
.header-live-more {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #75afff;
  font-size: .58rem;
  font-weight: 850;
  letter-spacing: .02em;
  text-transform: none;
  transition: color .16s ease, transform .16s ease;
}
.header-live-more:hover {
  color: #f3f9ff;
  transform: translateX(2px);
}
.header-live-scroll {
  max-height: 147px; /* V81.6: 3 atividades visíveis; as demais ficam no scroll invisível */
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.header-live-scroll::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}
.header-live-scroll article:last-child {
  border-bottom: 0;
}

/* O ranking herda exatamente o fundo, borda e título dos cards comuns. */
.ranking-neutral-card .rail-ranking-list article:hover {
  background: rgba(20,118,255,.07);
}
.ranking-neutral-card .ranking-online-dot {
  border-color: #082038;
}

.activity-history-page {
  min-width: 0;
}
.activity-history-card {
  overflow: hidden;
  border: 1px solid rgba(194,224,233,.13);
  border-radius: 22px;
  background: rgba(7,29,48,.88);
  box-shadow: 0 24px 60px rgba(0,4,14,.22);
}
.activity-history-heading {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 24px;
  padding: 30px 32px;
  border-bottom: 1px solid rgba(194,224,233,.1);
  background:
    radial-gradient(circle at 88% 0, rgba(20,118,255,.16), transparent 270px),
    rgba(8,31,52,.72);
}
.activity-history-heading h1 {
  margin: 7px 0 8px;
  color: #f4fbff;
  font-size: clamp(1.75rem,3vw,2.5rem);
  letter-spacing: -.045em;
}
.activity-history-heading p {
  max-width: 650px;
  margin: 0;
  color: #819dad;
  font-size: .72rem;
  line-height: 1.65;
}
.activity-history-summary {
  min-width: 150px;
  display: grid;
  justify-items: end;
  gap: 3px;
  padding: 14px 16px;
  border: 1px solid rgba(91,165,255,.2);
  border-radius: 14px;
  background: rgba(20,118,255,.08);
}
.activity-history-summary strong {
  color: #f3f9ff;
  font-size: 1.7rem;
  line-height: 1;
}
.activity-history-summary span {
  color: #91bce9;
  font-size: .64rem;
  font-weight: 800;
}
.activity-history-summary small {
  margin-top: 5px;
  color: #65849a;
  font-size: .51rem;
}
.activity-history-list {
  display: grid;
}
.activity-history-list .activity-full-item {
  min-height: 76px;
  display: grid;
  grid-template-columns: 58px minmax(0,1fr) auto;
  align-items: center;
  gap: 15px;
  padding: 13px 22px;
  border-bottom: 1px solid rgba(194,224,233,.08);
  transition: background .16s ease;
}
.activity-history-list .activity-full-item:hover {
  background: rgba(20,118,255,.055);
}
.activity-history-list .activity-full-item:last-child {
  border-bottom: 0;
}
.activity-history-list .activity-full-item > .avatar,
.activity-history-list .activity-full-item > .header-live-avatar-link {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 50%;
}
.activity-history-list .activity-full-item > .avatar img,
.activity-history-list .activity-full-item > .header-live-avatar-link img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.activity-history-list .activity-full-item p {
  margin: 0 0 5px;
  color: #dcebf2;
  font-size: .78rem;
}
.activity-history-list .activity-full-item small {
  display: block;
  color: #7594a7;
  font-size: .64rem;
}
.activity-history-list .activity-full-item time {
  color: #66859a;
  font-size: .58rem;
  white-space: nowrap;
}
.activity-history-list .activity-full-item.header-live-item-team {
  grid-template-columns: 68px minmax(0,1fr) auto;
}
.activity-history-list .header-live-team-stack {
  width: 66px;
}
.activity-history-list .header-live-member-avatar {
  width: 35px;
  height: 35px;
  margin-left: -13px;
}
.activity-history-state {
  min-height: 280px;
  display: grid;
  place-items: center;
  padding: 30px;
  color: #7795a8;
  text-align: center;
  font-size: .72rem;
}
.activity-history-state.error {
  color: #ff9ba5;
}
.activity-history-state.empty {
  align-content: center;
  gap: 8px;
}
.activity-history-state.empty strong {
  color: #edf8fb;
  font-size: .92rem;
}
.activity-history-state.empty span {
  max-width: 470px;
  color: #7895a7;
  font-size: .66rem;
  line-height: 1.6;
}
@media (max-width: 720px) {
  .activity-history-heading {
    grid-template-columns: 1fr;
    padding: 24px 20px;
  }
  .activity-history-summary {
    justify-items: start;
  }
  .activity-history-list .activity-full-item,
  .activity-history-list .activity-full-item.header-live-item-team {
    grid-template-columns: 52px minmax(0,1fr);
    padding: 12px 15px;
  }
  .activity-history-list .activity-full-item time {
    grid-column: 2;
    justify-self: start;
  }
}

/* Ranking com a mesma paleta escura dos cards laterais comuns. */
.ranking-neutral-card {
  color: #f8fdff !important;
  background:
    radial-gradient(circle at 100% 0, rgba(20,118,255,.11), transparent 150px),
    rgba(9,31,49,.86) !important;
  border-color: rgba(190,222,233,.14) !important;
}
.ranking-neutral-card .rail-title {
  color: #f8fdff !important;
  background: rgba(230,247,251,.035) !important;
  border-color: rgba(194,224,233,.11) !important;
}
.ranking-neutral-card .rail-title span { color: #f2faff !important; }
.ranking-neutral-card .rail-title small { color: #6f8da0 !important; }
.ranking-neutral-card .rail-ranking-list {
  color: #f8fdff !important;
  background: transparent !important;
}
.ranking-neutral-card .rail-ranking-list article {
  border-color: rgba(194,224,233,.08) !important;
}
.ranking-neutral-card .rail-ranking-list strong { color: #eaf7fb !important; }
.ranking-neutral-card .rail-ranking-list b { color: #61a7ff !important; }
.ranking-neutral-card .rail-position { color: #8ca7b8 !important; }
.ranking-neutral-card .ranking-player-photo {
  border-color: rgba(97,167,255,.28) !important;
  background: rgba(20,118,255,.08) !important;
}
.ranking-neutral-card .ranking-top100 {
  color: #61a7ff !important;
  background: rgba(230,247,251,.025) !important;
  border-color: rgba(194,224,233,.1) !important;
}
.ranking-neutral-card .ranking-top100:hover {
  color: #fff !important;
  background: rgba(20,118,255,.1) !important;
}


/* V81.5 — perfil público correto e online abaixo do menu do jogador */
.online-stack-card {
  overflow: hidden;
  padding-bottom: 11px;
}
.online-stack-card .online-panel-top {
  padding-bottom: 10px;
}
.online-avatar-stack {
  display: flex;
  align-items: center;
  min-height: 58px;
  padding: 10px 15px 8px;
}
.online-stack-player,
.online-stack-more {
  position: relative;
  flex: 0 0 43px;
  width: 43px;
  height: 43px;
  margin-left: -12px;
  border: 3px solid #082038;
  border-radius: 50%;
  background: #0b2944;
  box-shadow: 0 7px 18px rgba(0,5,14,.28);
  transition: transform .16s ease, z-index .16s ease, box-shadow .16s ease;
}
.online-stack-player:first-child {
  margin-left: 0;
}
.online-stack-player:hover,
.online-stack-player:focus-visible {
  z-index: 40 !important;
  transform: translateY(-4px) scale(1.08);
  box-shadow: 0 11px 24px rgba(0,6,18,.42);
  outline: none;
}
.online-stack-player img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  border-radius: 50%;
}
.online-stack-player i {
  position: absolute;
  right: -1px;
  bottom: 0;
  width: 9px;
  height: 9px;
  border: 2px solid #082038;
  border-radius: 50%;
  background: #27ce83;
  box-shadow: 0 0 0 2px rgba(39,206,131,.08);
}
.online-stack-more {
  z-index: 1;
  display: grid;
  place-items: center;
  margin-left: -10px;
  color: #dff1ff;
  background: linear-gradient(145deg,#244861,#173247);
  font-size: .67rem;
  font-weight: 900;
  letter-spacing: -.02em;
}
.online-stack-more:hover,
.online-stack-more:focus-visible {
  z-index: 41;
  color: #fff;
  transform: translateY(-3px) scale(1.06);
  background: linear-gradient(145deg,#2d5d7d,#1d405a);
  outline: none;
}
.online-stack-hint {
  margin: 0;
  padding: 0 15px 11px;
  color: #718fa3;
  font-size: .55rem;
  line-height: 1.45;
}
.portal-sidebar-left .online-stack-card {
  margin-top: 16px;
}


/* V81.6 — home limpa, online único e 3 atividades visíveis */
.header-live-scroll {
  scrollbar-gutter: stable both-edges;
}
/* O card de online existe apenas na lateral esquerda da área autenticada. */
.portal-sidebar-right .online-stack-card {
  display: none !important;
}


/* V81.10 — arquivo de partidas no padrão escuro do portal */
.archive-center { align-items: stretch; }
.archive-page { width: 100%; display: grid; gap: 18px; }
.archive-panel {
  overflow: hidden;
  border: 1px solid rgba(54, 108, 168, .24);
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(8, 24, 41, .98) 0%, rgba(7, 22, 37, .96) 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025), 0 20px 54px rgba(0, 11, 27, .28);
}
.archive-panel-titlebar {
  min-height: 54px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 13px 22px;
  border-bottom: 1px solid rgba(92, 143, 203, .18);
  background: linear-gradient(135deg, #194a84 0%, #123862 100%);
  color: #fff;
}
.archive-panel-titlebar h1, .archive-panel-titlebar h2 {
  margin: 0;
  color: inherit;
  font-size: 15px;
  font-weight: 900;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.archive-panel-body {
  padding: 22px;
  background: linear-gradient(180deg, rgba(10, 29, 49, .94) 0%, rgba(8, 24, 40, .95) 100%);
}
.archive-search-form { display: grid; grid-template-columns: minmax(260px, 1fr) 150px; align-items: end; gap: 14px; }
.archive-search-field { display: grid; gap: 8px; }
.archive-search-field > span { color: #dbe9f8; font-size: 12px; font-weight: 850; }
.archive-search-field input {
  width: 100%;
  height: 42px;
  padding: 0 13px;
  border: 1px solid rgba(98, 136, 182, .28);
  border-radius: 10px;
  background: rgba(12, 37, 61, .92);
  color: #f3f8ff;
  outline: none;
}
.archive-search-field input::placeholder { color: #7f9ab8; }
.archive-search-field input:focus { border-color: #3e90ff; box-shadow: 0 0 0 3px rgba(30,119,220,.15); }
.archive-search-form button {
  height: 42px;
  border: 0;
  border-radius: 10px;
  background: linear-gradient(135deg, #2f84f5 0%, #1f69d0 100%);
  color: #fff;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(26, 105, 208, .22);
}
.archive-search-form button:hover:not(:disabled) { background: linear-gradient(135deg, #3d8dfa 0%, #256fda 100%); transform: translateY(-1px); }
.archive-search-form button:disabled { opacity: .65; cursor: wait; }
.archive-show-all {
  margin-top: 14px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #7ec1ff;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
}
.archive-show-all:hover:not(:disabled) { color: #a7d8ff; text-decoration: underline; }
.archive-show-all:disabled { opacity: .55; cursor: default; }
.archive-results-titlebar { flex-wrap: wrap; }
.archive-title-meta { display: flex; align-items: center; gap: 10px; font-size: 11px; }
.archive-title-meta span {
  padding: 5px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.08);
  font-weight: 800;
}
.archive-title-meta b { font-size: 11px; font-weight: 900; color: rgba(255,255,255,.92); }
.archive-results-body { padding: 0; background: transparent; }
.archive-mode-tabs {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 14px 18px;
  border-bottom: 1px solid rgba(92, 143, 203, .14);
  background: rgba(6, 18, 32, .72);
}
.archive-mode-tabs a {
  padding: 8px 14px;
  border-radius: 10px;
  border: 1px solid transparent;
  background: rgba(255,255,255,.03);
  color: #93abca;
  font-size: 12px;
  font-weight: 850;
  text-decoration: none;
}
.archive-mode-tabs a:hover { color: #d9ecff; background: rgba(52, 119, 196, .16); border-color: rgba(88, 149, 219, .16); }
.archive-mode-tabs a.active {
  background: linear-gradient(135deg, #2f84f5 0%, #1e67cb 100%);
  border-color: rgba(110, 183, 255, .22);
  color: #fff;
  box-shadow: 0 10px 22px rgba(26, 105, 208, .20);
}
.archive-state, .archive-empty {
  margin: 18px;
  padding: 34px 22px;
  border: 1px dashed rgba(108, 153, 206, .20);
  border-radius: 16px;
  background: rgba(10, 29, 49, .78);
  color: #8fa9c4;
  text-align: center;
}
.archive-empty { display: grid; gap: 7px; }
.archive-empty strong { color: #f7fbff; font-size: 16px; }
.archive-table-wrap { width: 100%; overflow-x: auto; }
.archive-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.archive-table th, .archive-table td { padding: 15px 18px; border-bottom: 1px solid rgba(91, 134, 189, .14); text-align: left; vertical-align: middle; }
.archive-table th {
  background: rgba(8, 25, 41, .88);
  color: #d9e8f7;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.archive-table td { color: #d3e4f6; font-size: 13px; background: rgba(9, 28, 46, .52); }
.archive-table th:nth-child(1), .archive-table th:nth-child(2), .archive-table td:nth-child(1), .archive-table td:nth-child(2) { width: 29%; }
.archive-table th:nth-child(3), .archive-table td:nth-child(3) { width: 25%; }
.archive-table th:nth-child(4), .archive-table td:nth-child(4) { width: 17%; text-align: right; }
.archive-table tbody tr:nth-child(even) td { background: rgba(10, 31, 52, .76); }
.archive-table tbody tr:hover td { background: rgba(18, 49, 81, .92); }
.archive-table tbody tr.pending td { opacity: .82; }
.archive-winner { color: #35de8a; }
.archive-table time { display: block; white-space: nowrap; color: #eef5ff; }
.archive-table td small { display: block; margin-top: 4px; color: #f4c66e; font-size: 10px; font-weight: 800; }
.archive-download {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 104px;
  padding: 8px 12px;
  border-radius: 10px;
  background: linear-gradient(135deg, #2f84f5 0%, #1e67cb 100%);
  color: #fff !important;
  font-size: 12px;
  font-weight: 900;
  text-decoration: none;
  box-shadow: 0 10px 22px rgba(26, 105, 208, .18);
}
.archive-download:hover { background: linear-gradient(135deg, #3d8dfa 0%, #256fda 100%); transform: translateY(-1px); }
.archive-unavailable { color: #7f93aa; font-size: 12px; font-weight: 700; }
.archive-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 18px;
  border-top: 1px solid rgba(91, 134, 189, .14);
  background: rgba(6, 18, 32, .75);
}
.archive-pagination button {
  min-width: 104px;
  padding: 8px 12px;
  border: 1px solid rgba(95, 138, 186, .22);
  border-radius: 10px;
  background: rgba(255,255,255,.04);
  color: #c9dff6;
  font-size: 11px;
  font-weight: 850;
  cursor: pointer;
}
.archive-pagination button:hover:not(:disabled) { background: rgba(41, 96, 155, .24); border-color: rgba(116, 171, 231, .24); }
.archive-pagination button:disabled { opacity: .45; cursor: default; }
.archive-pagination span { color: #93abca; font-size: 11px; font-weight: 800; }
.archive-error { margin: 18px; }

@media (max-width: 720px) {
  .archive-page { gap: 14px; }
  .archive-panel { border-radius: 18px; }
  .archive-panel-titlebar { padding: 11px 15px; }
  .archive-panel-body { padding: 15px; }
  .archive-search-form { grid-template-columns: 1fr; }
  .archive-search-form button { width: 100%; }
  .archive-results-body { padding: 0; }
  .archive-mode-tabs { padding: 11px; overflow-x: auto; }
  .archive-mode-tabs a { flex: 1 0 auto; text-align: center; }
  .archive-table, .archive-table tbody { display: block; }
  .archive-table thead { display: none; }
  .archive-table tr {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    margin: 12px;
    border: 1px solid rgba(90, 133, 188, .18);
    border-radius: 14px;
    overflow: hidden;
    background: rgba(8, 24, 41, .96) !important;
  }
  .archive-table td { display: grid; gap: 4px; padding: 12px; border-bottom: 1px solid rgba(91, 134, 189, .14); }
  .archive-table td::before { content: attr(data-label); color: #7f98b4; font-size: 9px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
  .archive-table td:nth-child(1), .archive-table td:nth-child(2), .archive-table td:nth-child(3), .archive-table td:nth-child(4) { width: auto; text-align: left; }
  .archive-table td:nth-child(1), .archive-table td:nth-child(2) { grid-column: span 1; }
  .archive-table td:nth-child(3), .archive-table td:nth-child(4) { border-bottom: 0; }
  .archive-table td:nth-child(4) { align-items: start; }
  .archive-download { min-width: 0; width: 100%; }
  .archive-pagination { padding: 12px; }
  .archive-pagination button { min-width: 88px; }
}

@media (max-width: 440px) {
  .archive-results-titlebar { align-items: flex-start; }
  .archive-title-meta { width: 100%; justify-content: space-between; }
  .archive-table tr { grid-template-columns: 1fr; }
  .archive-table td:nth-child(1), .archive-table td:nth-child(2) { grid-column: auto; }
  .archive-table td:nth-child(3) { border-bottom: 1px solid rgba(91, 134, 189, .14); }
}

/* V81.9 — país e bandeiras no perfil, ranking e partidas */
.country-flag { position: relative; display: inline-grid; place-items: center; flex: 0 0 auto; width: 22px; height: 16px; border-radius: 4px; overflow: hidden; background: #14283a; box-shadow: 0 0 0 1px rgba(172,205,225,.22); vertical-align: middle; }
.country-flag .fi { position: absolute; inset: 0; width: 100%; height: 100%; background-size: cover; background-position: center; z-index: 2; }
.country-flag-fallback { position: relative; z-index: 1; font-size: 13px; line-height: 1; transform: translateY(-.5px); }
.country-flag-small { width: 18px; height: 13px; border-radius: 3px; }
.country-flag-select { width: 30px; height: 21px; }
.country-flag-profile { width: 32px; height: 22px; border-radius: 5px; }

.ranking-full-identity { min-width: 0; }
.ranking-full-name { display: flex; align-items: center; gap: 8px; min-width: 0; }
.ranking-full-name strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ranking-full-identity > small { display: block; margin-top: 3px; }
.rail-ranking-player-name { display: flex; align-items: center; gap: 6px; min-width: 0; }
.rail-ranking-player-name strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.archive-player-identity { display: inline-flex; align-items: center; gap: 9px; max-width: 100%; min-width: 0; color: #d9ebff; text-decoration: none; }
.archive-player-identity:hover strong { color: #7ec1ff; text-decoration: underline; }
.archive-player-identity.archive-winner strong { color: #35de8a; }
.archive-player-avatar { width: 38px; height: 38px; flex: 0 0 38px; border-radius: 50%; overflow: hidden; background: #0f2234; box-shadow: 0 0 0 2px rgba(7, 19, 32, .94), 0 0 0 3px rgba(69, 121, 184, .24); }
.archive-player-avatar img { width: 100%; height: 100%; object-fit: cover; }
.archive-player-identity strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; color: inherit; }

.country-select-control { display: grid; grid-template-columns: 36px minmax(0,1fr); align-items: center; gap: 10px; max-width: 360px; }
.country-select-control select { width: 100%; max-width: none !important; }
.profile-preview-location { display: flex !important; align-items: center; gap: 8px; }
.player-name-with-country { display: flex; align-items: center; gap: 10px; }

@media (max-width: 700px) {
  .archive-player-avatar { width: 34px; height: 34px; flex-basis: 34px; }
  .archive-player-identity { gap: 7px; }
  .archive-player-identity strong { font-size: 12px; }
}

/* V81.11 — sistema único de cards do portal
   Baseado exatamente nos cards laterais Buscar jogador / Ranking. */
:root {
  --lp-card-bg:
    radial-gradient(circle at 100% 0, rgba(20,118,255,.11), transparent 150px),
    rgba(9,31,49,.86);
  --lp-card-border: rgba(190,222,233,.14);
  --lp-card-title-bg: rgba(230,247,251,.035);
  --lp-card-title-border: rgba(194,224,233,.11);
  --lp-card-title-height: 44px;
  --lp-card-title-pad-y: 12px;
  --lp-card-title-pad-x: 16px;
  --lp-card-body-pad: 16px;
  --lp-card-radius: 18px;
  --lp-card-shadow: 0 18px 45px rgba(0,5,14,.20), inset 0 1px rgba(255,255,255,.025);
  --lp-card-title-color: #f2faff;
  --lp-card-meta-color: #6f8da0;
}

.portal-standard-card,
.portal-message-card,
.archive-panel,
.player-profile-card,
.player-stats-card,
.friend-search-card,
.friend-search-results,
.contact-add-panel,
.profile-settings-card,
.profile-privacy-card,
.simple-password-card {
  color: #f8fdff !important;
  background: var(--lp-card-bg) !important;
  border: 1px solid var(--lp-card-border) !important;
  border-radius: var(--lp-card-radius) !important;
  overflow: hidden;
  box-shadow: var(--lp-card-shadow) !important;
}

.portal-standard-card-title,
.archive-panel-titlebar,
.messages-toolbar,
.message-compose-heading,
.player-stats-heading,
.friend-search-card > div:first-child,
.friend-search-results > header,
.contact-add-panel > header,
.profile-settings-card > header,
.profile-privacy-card > header,
.simple-password-card > header {
  box-sizing: border-box;
  min-height: var(--lp-card-title-height) !important;
  margin: 0 !important;
  padding: var(--lp-card-title-pad-y) var(--lp-card-title-pad-x) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  color: var(--lp-card-title-color) !important;
  background: var(--lp-card-title-bg) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--lp-card-title-border) !important;
  border-radius: 0 !important;
}

.portal-standard-card-title > strong,
.archive-panel-titlebar :is(h1,h2),
.messages-toolbar strong,
.message-compose-heading strong,
.player-stats-heading h2,
.friend-search-card > div:first-child strong,
.friend-search-results > header strong,
.contact-add-panel > header strong,
.profile-settings-card > header h3,
.profile-privacy-card > header h3,
.simple-password-card > header h2 {
  margin: 0 !important;
  color: var(--lp-card-title-color) !important;
  font-size: .72rem !important;
  line-height: 1.2 !important;
  font-weight: 850 !important;
  letter-spacing: .055em !important;
  text-transform: uppercase !important;
}

.portal-standard-card-title > small,
.messages-toolbar span,
.player-stats-heading > span,
.friend-search-results > header small,
.contact-add-panel > header > span,
.simple-password-card > header p {
  color: var(--lp-card-meta-color) !important;
  font-size: .61rem !important;
  font-weight: 750 !important;
  letter-spacing: .025em;
}

.portal-standard-card-body { padding: var(--lp-card-body-pad); }
.portal-standard-card-body.portal-card-flush { padding: 0; }

/* Card automático: mesma barra, sem duplicar marcação em páginas antigas. */
.portal-auto-card {
  position: relative !important;
  color: #f8fdff !important;
  background: var(--lp-card-bg) !important;
  border: 1px solid var(--lp-card-border) !important;
  border-radius: var(--lp-card-radius) !important;
  box-shadow: var(--lp-card-shadow) !important;
  overflow: hidden !important;
  padding-top: calc(var(--lp-card-title-height) + 16px) !important;
}
.portal-auto-card::before {
  content: attr(data-card-title);
  position: absolute;
  inset: 0 0 auto 0;
  box-sizing: border-box;
  min-height: var(--lp-card-title-height);
  padding: var(--lp-card-title-pad-y) var(--lp-card-title-pad-x);
  display: flex;
  align-items: center;
  color: var(--lp-card-title-color);
  background: var(--lp-card-title-bg);
  border-bottom: 1px solid var(--lp-card-title-border);
  font-size: .72rem;
  line-height: 1.2;
  font-weight: 850;
  letter-spacing: .055em;
  text-transform: uppercase;
  z-index: 3;
}

/* Archive: barra, corpo e tabela idênticos à paleta dos rankings. */
.archive-panel {
  background: var(--lp-card-bg) !important;
  border-color: var(--lp-card-border) !important;
  border-radius: var(--lp-card-radius) !important;
}
.archive-panel-titlebar {
  min-height: var(--lp-card-title-height) !important;
  background: var(--lp-card-title-bg) !important;
  border-color: var(--lp-card-title-border) !important;
}
.archive-panel-body { background: transparent !important; }
.archive-search-panel .archive-panel-body { padding: var(--lp-card-body-pad) !important; }
.archive-results-body { padding: 0 !important; }
.archive-mode-tabs,
.archive-pagination {
  background: rgba(230,247,251,.025) !important;
  border-color: var(--lp-card-title-border) !important;
}
.archive-table th { background: rgba(230,247,251,.028) !important; }
.archive-table td { background: rgba(5,22,38,.34) !important; }
.archive-table tbody tr:nth-child(even) td { background: rgba(12,38,61,.44) !important; }
.archive-table tbody tr:hover td { background: rgba(20,72,116,.38) !important; }

/* Mensagens: uma única casca central com a barra oficial. */
.portal-message-card {
  padding: 0 !important;
  gap: 0 !important;
}
.portal-message-card .messages-toolbar { margin: 0 !important; }
.portal-message-card .messages-toolbar > div { display: flex; align-items: center; gap: 10px; }
.portal-message-card .messages-toolbar > div span { margin: 0; }
.portal-message-card > .message-compose-card { margin: 16px 16px 0; }
.portal-message-card > .v73-messages-layout { margin: 16px; }
.v73-messages-layout {
  background: rgba(5,22,38,.48) !important;
  border-color: var(--lp-card-border) !important;
  border-radius: 14px !important;
}

/* Perfil público e estatísticas. */
.player-profile-card.portal-auto-card {
  padding: var(--lp-card-title-height) 0 0 !important;
}
.player-profile-card.portal-auto-card::before { min-height: var(--lp-card-title-height); }
.player-profile-card { background: var(--lp-card-bg) !important; }
.player-stats-card { padding: 0 !important; }
.player-stats-heading { min-height: var(--lp-card-title-height) !important; }
.player-stats-heading .section-kicker { display: none; }
.player-stats-table { background: rgba(5,22,38,.28); }

/* Amigos. */
.friends-overview.portal-auto-card {
  min-height: 0 !important;
  padding: calc(var(--lp-card-title-height) + 16px) 18px 18px !important;
}
.friend-search-card {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 0 !important;
  padding: 0 !important;
}
.friend-search-card > div:first-child { min-height: var(--lp-card-title-height); }
.friend-search-card > div:first-child .section-kicker { display: none; }
.friend-search-card .friend-search-field { margin: 16px; }
.friend-search-results { padding: 0 !important; }
.friend-search-results > .friends-list,
.friend-search-results > .friends-loading,
.friend-search-results > .friends-empty { margin: 16px; }
.friends-list.portal-auto-card {
  display: grid !important;
  gap: 10px !important;
  padding: calc(var(--lp-card-title-height) + 16px) 16px 16px !important;
}
.friends-empty.portal-auto-card { padding-top: calc(var(--lp-card-title-height) + 34px) !important; }

/* Contatos. */
.contacts-overview.portal-auto-card,
.contacts-toolbar.portal-auto-card,
.contact-add-panel,
.contacts-list.portal-auto-card,
.contacts-empty.portal-auto-card {
  background: var(--lp-card-bg) !important;
  border-color: var(--lp-card-border) !important;
  border-radius: var(--lp-card-radius) !important;
}
.contacts-overview.portal-auto-card {
  min-height: 0 !important;
  padding: calc(var(--lp-card-title-height) + 16px) 18px 18px !important;
}
.contacts-toolbar.portal-auto-card {
  padding: calc(var(--lp-card-title-height) + 14px) 14px 14px !important;
}
.contact-add-panel { padding: 0 !important; }
.contact-add-panel > :not(header) { margin-left: 16px; margin-right: 16px; }
.contact-add-panel > :last-child { margin-bottom: 16px; }
.contacts-list.portal-auto-card {
  padding: calc(var(--lp-card-title-height) + 16px) 16px 16px !important;
}
.contacts-empty.portal-auto-card { padding-top: calc(var(--lp-card-title-height) + 34px) !important; }

/* Fotos. */
.photos-hero.portal-auto-card {
  min-height: 0 !important;
  padding: calc(var(--lp-card-title-height) + 16px) 18px 18px !important;
}
.photos-upload-panel.portal-auto-card {
  padding: calc(var(--lp-card-title-height) + 16px) 18px 18px !important;
}
.photos-grid.portal-auto-card {
  padding: calc(var(--lp-card-title-height) + 16px) 16px 16px !important;
}
.photos-empty.portal-auto-card { padding-top: calc(var(--lp-card-title-height) + 34px) !important; }

/* Configurações do perfil. */
.profile-settings-hero.portal-auto-card {
  padding: calc(var(--lp-card-title-height) + 16px) 18px 18px !important;
}
.profile-settings-card { padding: 0 !important; }
.profile-settings-card > .profile-form-grid { padding: 16px; }
.profile-privacy-card { padding: 0 !important; }
.profile-privacy-card > label { margin: 12px 16px 0; }
.profile-privacy-card > label:last-child { margin-bottom: 16px; }
.profile-privacy-card > header p { margin: 0 !important; }

/* Segurança. */
.security-overview-card.portal-auto-card {
  padding: calc(var(--lp-card-title-height) + 16px) 18px 18px !important;
}
.simple-password-card { max-width: none !important; padding: 0 !important; }
.simple-password-card > form { padding: 18px !important; max-width: 620px; }
.simple-password-card > header > span { color: #61a7ff; }
.simple-password-card > header > div { display: flex; align-items: center; gap: 10px; }
.simple-password-card > header p { margin: 0 !important; }
.security-tips-card.portal-auto-card {
  padding: calc(var(--lp-card-title-height) + 16px) 18px 18px !important;
}
.security-tips-card.portal-auto-card h3 { display: none; }

/* Bandeiras: discretas e consistentes em ranking e partidas. */
.country-flag { width: 20px !important; height: 14px !important; border-radius: 3px !important; }
.country-flag-small { width: 17px !important; height: 12px !important; }
.country-flag-fallback { font-size: 12px !important; }
.ranking-full-name,
.rail-ranking-player-name,
.archive-player-identity { gap: 7px !important; }

@media (max-width: 720px) {
  :root {
    --lp-card-title-pad-x: 13px;
    --lp-card-body-pad: 13px;
    --lp-card-radius: 14px;
  }
  .portal-message-card > .message-compose-card,
  .portal-message-card > .v73-messages-layout { margin: 12px; }
  .portal-auto-card { padding-top: calc(var(--lp-card-title-height) + 13px) !important; }
}

/* V81.12 — páginas começam direto no conteúdo e formulário de senha equilibrado. */
.account-page > .account-page-heading {
  display: none !important;
}

.security-password-card.simple-password-card > header {
  grid-template-columns: minmax(0, 1fr) auto !important;
}
.security-password-card > header > .password-card-heading {
  display: grid !important;
  align-items: center !important;
  gap: 2px !important;
  min-width: 0;
}
.security-password-card > header .password-visibility {
  min-height: 30px;
  padding: 0 11px;
  white-space: nowrap;
}

.security-password-card.simple-password-card > .password-form {
  box-sizing: border-box;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 18px !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 22px !important;
}

.password-fields-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  width: 100%;
}
.security-password-card .password-field {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0;
}
.security-password-card .password-field > span {
  color: #9bb3c3;
  font-size: .65rem !important;
  font-weight: 800;
}
.security-password-card .password-field > input {
  box-sizing: border-box;
  width: 100% !important;
  max-width: none !important;
  min-height: 46px !important;
  padding: 0 13px !important;
  color: #ecf7fc;
  background: rgba(3, 18, 31, .82) !important;
  border: 1px solid rgba(173, 211, 230, .18) !important;
  border-radius: 11px !important;
  font-size: .74rem !important;
  transition: border-color .18s, box-shadow .18s, background .18s;
}
.security-password-card .password-field > input::placeholder {
  color: #58778d;
}
.security-password-card .password-field > input:hover {
  border-color: rgba(106, 170, 226, .32) !important;
}
.security-password-card .password-field > input:focus {
  background: rgba(4, 24, 41, .96) !important;
  border-color: rgba(74, 157, 255, .72) !important;
  box-shadow: 0 0 0 3px rgba(20, 118, 255, .12) !important;
}

.password-guidance {
  display: grid;
  grid-template-columns: minmax(210px, .8fr) minmax(360px, 1.2fr);
  align-items: center;
  gap: 20px;
  padding: 15px 16px;
  background: rgba(3, 18, 31, .46);
  border: 1px solid rgba(173, 211, 230, .11);
  border-radius: 12px;
}
.security-password-card .password-strength {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 7px 10px !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}
.security-password-card .password-strength > strong {
  grid-column: 1 / -1;
  color: #9bb3c3;
  font-size: .62rem;
  font-weight: 800;
}
.security-password-card .password-strength > div {
  align-self: center;
}
.security-password-card .password-strength > span {
  white-space: nowrap;
}
.security-password-card .password-checklist {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px 14px !important;
  width: 100% !important;
  max-width: none !important;
}

.security-password-card .simple-password-error,
.security-password-card .simple-password-success {
  box-sizing: border-box;
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 11px 13px !important;
}

.password-form-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  padding-top: 2px;
}
.password-form-actions > span {
  color: #708da0;
  font-size: .61rem;
  line-height: 1.55;
}
.security-password-card .password-form-actions > .password-submit {
  flex: none;
  width: auto !important;
  min-width: 190px;
  max-width: none !important;
  min-height: 44px;
  padding: 0 20px;
  border: 1px solid rgba(103, 172, 255, .34);
  border-radius: 11px;
  color: #fff;
  background: linear-gradient(135deg, #2588ff, #075bcf);
  box-shadow: 0 12px 26px rgba(7, 91, 207, .24);
  cursor: pointer;
  font-size: .7rem;
  font-weight: 850;
  transition: transform .18s, filter .18s, box-shadow .18s;
}
.security-password-card .password-form-actions > .password-submit:not(:disabled):hover {
  filter: brightness(1.08);
  transform: translateY(-1px);
  box-shadow: 0 15px 30px rgba(7, 91, 207, .32);
}
.security-password-card .password-form-actions > .password-submit:disabled {
  opacity: .48;
  cursor: not-allowed;
  box-shadow: none;
}

@media (max-width: 900px) {
  .password-fields-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .password-guidance {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 620px) {
  .security-password-card.simple-password-card > header {
    align-items: flex-start !important;
  }
  .security-password-card > header .password-visibility {
    font-size: .57rem !important;
  }
  .security-password-card.simple-password-card > .password-form {
    gap: 15px !important;
    padding: 15px !important;
  }
  .security-password-card .password-checklist {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .password-form-actions {
    align-items: stretch;
    flex-direction: column;
  }
  .security-password-card .password-form-actions > .password-submit {
    width: 100% !important;
  }
}

/* V82 — faixa superior unificada e download simplificado */
.header-showcase.header-showcase-unified {
  position: relative;
  isolation: isolate;
  padding: 24px 26px !important;
  border: 1px solid rgba(111, 174, 219, .17);
  border-radius: 22px;
  background:
    radial-gradient(circle at 91% 48%, rgba(25, 113, 255, .23), transparent 27%),
    radial-gradient(circle at 8% 18%, rgba(39, 206, 131, .055), transparent 24%),
    linear-gradient(118deg, #061827 0%, #08243b 57%, #071a2c 100%);
  box-shadow: 0 22px 52px rgba(0, 5, 15, .32), inset 0 1px rgba(255, 255, 255, .035);
  overflow: hidden;
}
.header-showcase.header-showcase-unified::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, transparent 0 66%, rgba(26, 116, 255, .04)),
    repeating-linear-gradient(135deg, rgba(255,255,255,.012) 0 1px, transparent 1px 8px);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 35%, #000);
  mask-image: linear-gradient(90deg, transparent, #000 35%, #000);
}
.header-showcase-unified .header-brand-zone,
.header-showcase-unified .header-live-activity,
.header-showcase-unified .header-download-zone {
  position: relative;
  z-index: 1;
  background: transparent !important;
}
.header-showcase-unified .header-showcase-divider {
  height: 72%;
  min-height: 128px;
  opacity: .72;
  background: linear-gradient(180deg, transparent, rgba(134, 190, 229, .24) 18%, rgba(134, 190, 229, .24) 82%, transparent);
}
.header-showcase-unified .header-download-zone {
  min-height: 304px;
  align-content: center;
  justify-items: center;
  gap: 8px;
  padding: 12px 10px;
}
.header-download-stack {
  width: min(100%, 310px);
  display: grid;
  gap: 8px;
}
.header-showcase-unified .header-download-copy-v813 {
  width: min(100%, 310px);
  align-items: center;
  text-align: center;
}
.header-showcase-unified .header-download-copy-v813 strong {
  color: #eff8ff;
  font-size: .94rem;
  letter-spacing: 0;
}
.header-showcase-unified .header-download-ui {
  box-sizing: border-box;
  width: 100%;
  height: 70px !important;
  min-height: 70px;
  margin: 0;
  padding: 7px 12px;
  border: 1px solid rgba(132, 190, 255, .7);
  border-radius: 14px;
  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr) 24px;
  align-items: center;
  gap: 12px;
  overflow: hidden;
  color: #fff;
  box-shadow: inset 0 1px rgba(255, 255, 255, .24), 0 10px 22px rgba(0, 5, 20, .28);
  transition: transform .18s ease, filter .18s ease, box-shadow .18s ease;
}
.header-showcase-unified .header-download-windows {
  background: linear-gradient(180deg, #3f50d9 0%, #172182 100%);
}
.header-showcase-unified .header-download-web {
  border-color: #4de5ff;
  background: linear-gradient(180deg, #11c5ec 0%, #08789f 100%);
}
.header-showcase-unified .header-download-mobile {
  border-color: #c184ff;
  background: linear-gradient(180deg, #9946c7 0%, #51206e 100%);
}
.header-showcase-unified .header-download-ui:hover {
  transform: translateY(-2px);
  filter: brightness(1.08) saturate(1.06);
  box-shadow: inset 0 1px rgba(255, 255, 255, .3), 0 14px 28px rgba(0, 5, 20, .38);
}
.header-download-ball {
  position: relative;
  width: 46px;
  height: 46px;
  border: 2px solid rgba(255, 255, 255, .42);
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: radial-gradient(circle at 34% 25%, #66c4ff 0%, #1677f1 38%, #0636ae 72%, #02144c 100%);
  box-shadow: inset -6px -8px 12px rgba(0, 4, 40, .46), 0 0 14px rgba(52, 173, 255, .42);
}
.header-download-ball::before {
  content: "";
  position: absolute;
  width: 58%;
  height: 58%;
  border-radius: 50%;
  background: #f8fbff;
  box-shadow: inset 0 -2px 4px rgba(42, 76, 138, .24);
}
.header-download-ball b {
  position: relative;
  z-index: 1;
  color: #174ac5;
  font-size: .62rem;
  font-weight: 900;
  letter-spacing: 0;
}
.header-download-label {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  line-height: 1.08;
}
.header-download-label strong {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .88rem;
  letter-spacing: 0;
}
.header-download-label small {
  margin-top: 4px;
  color: rgba(236, 246, 255, .78);
  font-size: .62rem;
  letter-spacing: 0;
}
.header-download-arrow {
  justify-self: end;
  font-size: 1.35rem;
  line-height: 1;
}
@media (prefers-reduced-motion: reduce) {
  .header-showcase-unified .header-download-ui { transition: none; }
}
.header-download-note {
  color: #789bb7;
  font-size: .58rem;
  font-weight: 720;
  letter-spacing: .025em;
}
@media (max-width: 960px) {
  .header-showcase.header-showcase-unified {
    padding: 22px !important;
  }
  .header-showcase-unified .header-live-activity,
  .header-showcase-unified .header-download-zone {
    border-top: 1px solid rgba(134, 190, 229, .12) !important;
    padding-top: 18px !important;
  }
}
@media (max-width: 780px) {
  .header-showcase.header-showcase-unified {
    padding: 18px !important;
    border-radius: 18px;
  }
  .header-showcase-unified .header-download-zone {
    min-height: 292px;
  }
}

/* V83 — perfil em lista, avaliação por estrelas e estatísticas completas */
.player-profile-card.portal-auto-card {
  --player-profile-photo-height: 350px;
  grid-template-columns: 230px minmax(0, 1fr) !important;
  grid-template-areas:
    "title title"
    "photo identity";
  align-items: start;
  padding: 0 0 20px !important;
}
.player-profile-card.portal-auto-card::before {
  display: none;
}
.player-profile-titlebar {
  grid-area: title;
  box-sizing: border-box;
  min-height: var(--lp-card-title-height);
  padding: var(--lp-card-title-pad-y) var(--lp-card-title-pad-x);
  display: flex;
  align-items: center;
  color: var(--lp-card-title-color);
  background: var(--lp-card-title-bg);
  border-bottom: 1px solid var(--lp-card-title-border);
}
.player-profile-title {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  font-size: .72rem;
  line-height: 1.2;
  font-weight: 850;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.player-profile-title > span:last-child {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.player-photo-column {
  grid-area: photo;
  display: grid;
  align-content: start;
  gap: 12px;
  min-width: 0;
  margin: 20px 0 0 20px;
}
.player-profile-card .player-photo-shell {
  width: 100%;
  min-height: var(--player-profile-photo-height);
  height: var(--player-profile-photo-height);
  margin: 0;
  border: 1px solid rgba(194, 224, 233, .12);
  border-radius: 14px;
  background: #061523;
}
.player-profile-card .player-photo-shell > img {
  object-fit: cover;
  object-position: center top;
}
.player-profile-card .player-identity {
  grid-area: identity;
  padding: 20px 24px 0;
}
.player-details.player-details-list {
  display: grid;
  grid-template-rows: repeat(10, minmax(0, 1fr));
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  height: var(--player-profile-photo-height);
  margin: 0;
  border-top: 0;
}
.player-details.player-details-list > div {
  display: grid;
  grid-template-columns: minmax(132px, .34fr) minmax(0, 1fr);
  align-items: start;
  gap: 18px;
  min-height: 0;
  padding: 7px 2px;
  border-bottom: 1px solid rgba(194, 224, 233, .075);
}
.player-details.player-details-list dt {
  color: #6f8da0;
  font-size: .61rem;
  font-weight: 760;
}
.player-details.player-details-list dd {
  color: #c4d8e4;
  text-align: left;
  white-space: normal;
  font-size: .65rem;
  line-height: 1.5;
}
.player-behavior-rating {
  display: grid;
  align-items: start;
  justify-content: stretch;
  gap: 7px;
  margin: 0;
  padding: 3px 2px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.player-behavior-copy {
  display: grid;
  gap: 4px;
}
.player-behavior-copy strong {
  color: #edf7fd;
  font-size: .68rem;
}
.player-behavior-copy span,
.player-star-rating > span {
  color: #718da1;
  font-size: .56rem;
}
.player-rating-error {
  max-width: 210px;
  color: #ff929c;
  text-align: right;
  font-size: .54rem;
  line-height: 1.35;
}
.player-star-rating {
  display: grid;
  justify-items: start;
  gap: 4px;
  flex: none;
}
.player-stars {
  display: flex;
  gap: 3px;
}
.player-stars button {
  appearance: none;
  width: 23px;
  height: 23px;
  padding: 0;
  border: 0;
  color: #334d60;
  background: transparent;
  cursor: pointer;
  font-size: 1.08rem;
  line-height: 1;
  transition: color .16s ease, transform .16s ease, filter .16s ease;
}
.player-stars button.filled {
  color: #efca3e;
  filter: drop-shadow(0 3px 6px rgba(239, 202, 62, .22));
}
.player-stars button:not(:disabled):hover {
  color: #ffe36b;
  transform: translateY(-2px) scale(1.08);
}
.player-stars button:disabled {
  cursor: default;
}
.player-stats-card .player-stats-table {
  overflow-x: auto;
}
.player-stats-card .player-stats-row {
  grid-template-columns: minmax(210px, 1.35fr) repeat(3, minmax(112px, .78fr));
  min-width: 660px;
  min-height: 43px;
}
.player-stats-card .player-stats-row > * {
  padding: 10px 15px;
}
.player-stats-card .player-stats-row strong {
  color: #a9c0cd;
  font-size: .65rem;
}
.player-stats-card .player-stats-row > span {
  color: #bcd1dc;
  font-size: .67rem;
}
.player-stats-card .player-stats-header > span {
  color: #e2eef4;
  font-weight: 820;
}
.player-stats-card .player-stats-featured {
  background: linear-gradient(90deg, rgba(20, 118, 255, .12), rgba(20, 118, 255, .035));
}
.player-stats-card .player-stats-featured > span {
  color: #78b6ff;
  font-size: .73rem;
}
@media (max-width: 780px) {
  .player-profile-card.portal-auto-card {
    --player-profile-photo-height: 320px;
    grid-template-columns: 190px minmax(0, 1fr) !important;
  }
  .player-profile-card .player-identity {
    padding: 18px 18px 0;
  }
  .player-photo-column { margin: 18px 0 0 18px; }
  .player-details.player-details-list > div {
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 12px;
  }
}
@media (max-width: 560px) {
  .player-profile-card.portal-auto-card {
    --player-profile-photo-height: 300px;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas:
      "title"
      "photo"
      "identity";
  }
  .player-photo-column { margin: 18px 18px 0; }
  .player-profile-card .player-photo-shell {
    width: 100%;
  }
  .player-profile-card .player-identity { padding: 18px 18px 0; }
  .player-details.player-details-list {
    height: auto;
    grid-template-rows: none;
  }
  .player-details.player-details-list > div {
    grid-template-columns: minmax(98px, .42fr) minmax(0, 1fr);
    min-height: 38px;
  }
}

/* V84 — páginas internas unificadas: Amigos/Contatos, Fotos e Perfil */
.social-hub-card,
.photos-unified-card,
.profile-unified-card {
  overflow: hidden;
}
.social-hub-body {
  padding: 0 !important;
}
.social-hub-tabs {
  display: flex;
  align-items: center;
  gap: 5px;
  margin: 0;
  padding: 10px 14px;
  overflow-x: auto;
  border: 0;
  border-bottom: 1px solid rgba(194, 224, 233, .1);
  border-radius: 0;
  background: rgba(4, 20, 34, .46);
  scrollbar-width: none;
}
.social-hub-tabs::-webkit-scrollbar { display: none; }
.social-hub-tabs button {
  min-height: 36px;
  flex: 0 0 auto;
  padding: 0 13px;
  border: 1px solid transparent;
  border-radius: 9px;
  color: #7897aa;
  background: transparent;
  font-size: .62rem;
  font-weight: 820;
  cursor: pointer;
  transition: color .16s ease, background .16s ease, border-color .16s ease;
}
.social-hub-tabs button:hover {
  color: #dceeff;
  background: rgba(20, 118, 255, .065);
}
.social-hub-tabs button.active {
  color: #f5fbff;
  border-color: rgba(71, 153, 255, .2);
  background: rgba(20, 118, 255, .15);
}
.social-hub-tabs button > span {
  display: inline-grid;
  place-items: center;
  min-width: 19px;
  height: 19px;
  margin-left: 6px;
  padding: 0 5px;
  border-radius: 999px;
  color: #8bb9e9;
  background: rgba(20, 118, 255, .12);
  font-size: .52rem;
}
.friends-workspace,
.contacts-workspace {
  display: grid !important;
  gap: 14px !important;
  padding: 18px !important;
}
.social-inline-overview,
.social-inline-toolbar,
.social-inline-search,
.social-inline-list,
.social-inline-results,
.social-inline-empty {
  box-sizing: border-box;
  margin: 0 !important;
  border: 1px solid rgba(194, 224, 233, .1) !important;
  border-radius: 14px !important;
  background: rgba(7, 28, 47, .5) !important;
  box-shadow: none !important;
}
.social-inline-overview {
  min-height: 92px !important;
  padding: 14px 16px !important;
}
.social-inline-search,
.social-inline-toolbar {
  padding: 14px 16px !important;
}
.social-inline-list {
  display: grid;
  gap: 9px;
  padding: 0 12px 12px !important;
}
.social-section-heading {
  min-height: 42px;
  display: flex;
  align-items: center;
  grid-column: 1 / -1;
  margin: 0 -12px 2px;
  padding: 0 14px;
  border-bottom: 1px solid rgba(194, 224, 233, .09);
  color: #eef8fd;
  background: rgba(230, 247, 251, .025);
}
.social-section-heading strong {
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .045em;
  text-transform: uppercase;
}
.social-inline-results > header {
  min-height: 42px !important;
}
.social-inline-empty {
  min-height: 250px !important;
  padding: 32px 24px !important;
}
.social-hub-card .friends-hint,
.social-hub-card .contacts-hint {
  margin: 0 !important;
}
.social-hub-card .contact-add-panel {
  margin: 0;
  border: 1px solid rgba(72, 153, 255, .14) !important;
  border-radius: 14px !important;
  background: rgba(20, 118, 255, .045) !important;
  box-shadow: none !important;
}
.social-hub-card .contact-add-panel > header {
  border-radius: 13px 13px 0 0 !important;
}
.social-hub-card .contacts-list {
  padding-top: 0 !important;
}

.photos-unified-body {
  display: grid !important;
  gap: 0 !important;
  padding: 0 !important;
}
.photos-inline-hero,
.photos-inline-upload,
.photos-inline-gallery,
.photos-inline-empty {
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.photos-inline-hero {
  min-height: 122px !important;
  padding: 18px 20px !important;
  border-bottom: 1px solid rgba(194, 224, 233, .09) !important;
}
.photos-inline-upload {
  padding: 16px 20px !important;
  border-bottom: 1px solid rgba(194, 224, 233, .09) !important;
  background: rgba(20, 118, 255, .025) !important;
}
.photos-inline-gallery {
  padding: 0 18px 18px !important;
}
.photos-gallery-heading {
  margin: 0 -18px 16px;
}
.photos-inline-empty {
  min-height: 280px !important;
  padding: 42px 24px !important;
}
.photos-unified-card .photos-info {
  margin: 0 18px 18px !important;
}

.profile-unified-card {
  display: block !important;
  gap: 0 !important;
  color: #f8fdff !important;
}
.profile-unified-body {
  display: grid;
  gap: 0;
  padding: 0;
}
.profile-unified-preview {
  margin: 0 !important;
  padding: 18px 20px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(194, 224, 233, .09) !important;
  border-radius: 0 !important;
  background: linear-gradient(90deg, rgba(20, 118, 255, .06), transparent) !important;
  box-shadow: none !important;
}
.profile-unified-card .profile-form-section,
.profile-unified-card .profile-privacy-section {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(194, 224, 233, .09) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.profile-unified-card .profile-form-section > header,
.profile-unified-card .profile-privacy-section > header {
  min-height: 44px !important;
  padding: 0 20px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(194, 224, 233, .075) !important;
  background: rgba(230, 247, 251, .022) !important;
}
.profile-unified-card .profile-form-section > header h3,
.profile-unified-card .profile-privacy-section > header h3 {
  color: #dcecf4 !important;
  font-size: .68rem !important;
}
.profile-unified-card .profile-form-grid {
  padding: 18px 20px !important;
}
.profile-unified-card .profile-privacy-section > label {
  margin: 12px 20px 0 !important;
}
.profile-unified-card .profile-privacy-section > label:last-child {
  margin-bottom: 18px !important;
}
.profile-unified-card .profile-settings-actions {
  margin: 0 !important;
  padding: 16px 20px !important;
  border: 0 !important;
  background: rgba(4, 20, 34, .34);
}

@media (max-width: 700px) {
  .friends-workspace,
  .contacts-workspace {
    padding: 12px !important;
  }
  .social-hub-tabs {
    padding: 9px 10px;
  }
  .social-hub-tabs button {
    min-height: 34px;
    padding: 0 10px;
  }
  .photos-inline-hero,
  .photos-inline-upload {
    padding: 15px !important;
  }
  .photos-inline-gallery {
    padding: 0 12px 14px !important;
  }
  .photos-gallery-heading {
    margin-inline: -12px;
  }
  .profile-unified-card .profile-form-grid {
    padding: 15px !important;
  }
  .profile-unified-card .profile-settings-actions {
    align-items: stretch;
    flex-direction: column;
    padding: 15px !important;
  }
}

/* V81.21 — ajuste definitivo do arquivo de partidas no celular.
   Mantido no fim do arquivo para prevalecer sobre os estilos legados. */
@media (max-width: 780px) {
  .archive-center,
  .archive-page,
  .archive-panel,
  .archive-results-panel,
  .archive-results-body,
  .archive-table-wrap {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .archive-page {
    display: grid !important;
    gap: 10px !important;
  }

  .archive-search-panel {
    order: 2;
  }

  .archive-panel {
    margin: 0 !important;
    border-radius: 18px !important;
    overflow: hidden !important;
  }

  .archive-panel-titlebar {
    min-height: 42px !important;
    padding: 0 14px !important;
  }

  .archive-panel-body {
    padding: 12px !important;
  }

  .archive-hero {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 15px 13px !important;
  }

  .archive-hero-main {
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 10px !important;
    min-width: 0 !important;
  }

  .archive-mode-orb {
    width: 48px !important;
    height: 48px !important;
    font-size: 1rem !important;
  }

  .archive-hero-main > div {
    min-width: 0 !important;
  }

  .archive-hero .section-kicker {
    font-size: .52rem !important;
  }

  .archive-hero h1 {
    margin: 3px 0 !important;
    font-size: clamp(.98rem, 4.7vw, 1.18rem) !important;
    line-height: 1.12 !important;
  }

  .archive-hero p {
    display: none !important;
  }

  .archive-total-card {
    width: auto !important;
    min-width: 76px !important;
    padding: 9px 10px !important;
    border-radius: 12px !important;
  }

  .archive-total-card span {
    font-size: .48rem !important;
  }

  .archive-total-card strong {
    font-size: .92rem !important;
  }

  .archive-results-body {
    padding: 0 10px 10px !important;
  }

  .archive-controls {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    padding: 10px 0 !important;
  }

  .archive-mode-tabs {
    position: static !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    width: 100% !important;
    padding: 4px !important;
    overflow: hidden !important;
    border: 1px solid rgba(155, 204, 231, .13) !important;
    border-radius: 13px !important;
    background: rgba(3, 17, 29, .64) !important;
  }

  .archive-mode-tabs a {
    display: grid !important;
    place-items: center !important;
    min-width: 0 !important;
    min-height: 36px !important;
    padding: 0 4px !important;
    border-radius: 9px !important;
    font-size: .62rem !important;
    text-align: center !important;
  }

  .archive-period-controls {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 40px !important;
    gap: 7px !important;
    width: 100% !important;
  }

  .archive-period-controls label,
  .archive-period-controls select {
    width: 100% !important;
    min-width: 0 !important;
  }

  .archive-period-controls label,
  .archive-period-controls button {
    min-height: 40px !important;
    border-radius: 11px !important;
  }

  .archive-table-wrap {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    overflow: visible !important;
  }

  .archive-page .archive-table {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    table-layout: auto !important;
    border: 0 !important;
    background: transparent !important;
  }

  .archive-page .archive-table thead {
    display: none !important;
  }

  .archive-page .archive-table tbody {
    display: grid !important;
    gap: 9px !important;
    width: 100% !important;
  }

  .archive-page .archive-table tr {
    position: relative !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 68px minmax(0, 1fr) !important;
    grid-template-areas:
      "winner score loser"
      "rating rating rating"
      "date duration replay" !important;
    align-items: center !important;
    gap: 10px 6px !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 18px 10px 10px !important;
    border: 1px solid rgba(127, 183, 217, .14) !important;
    border-radius: 16px !important;
    background:
      radial-gradient(circle at 50% 0, rgba(20, 118, 255, .10), transparent 120px),
      linear-gradient(145deg, rgba(10, 39, 61, .96), rgba(5, 22, 37, .98)) !important;
    box-shadow: 0 10px 24px rgba(0, 5, 13, .20) !important;
    overflow: hidden !important;
  }

  .archive-page .archive-table tr.pending {
    opacity: .82;
  }

  .archive-page .archive-table td {
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    text-align: inherit !important;
  }

  .archive-page .archive-table td::before {
    display: none !important;
    content: none !important;
  }

  .archive-page .archive-table td:nth-child(1) {
    position: absolute !important;
    top: 7px !important;
    left: 8px !important;
    z-index: 2 !important;
  }

  .archive-page .archive-table td:nth-child(2) { grid-area: winner !important; }
  .archive-page .archive-table td:nth-child(3) { grid-area: loser !important; }
  .archive-page .archive-table td:nth-child(4) { grid-area: score !important; text-align: center !important; }
  .archive-page .archive-table td:nth-child(5) { grid-area: rating !important; }
  .archive-page .archive-table td:nth-child(6) { grid-area: date !important; }
  .archive-page .archive-table td:nth-child(7) { grid-area: duration !important; }
  .archive-page .archive-table td:nth-child(8) { grid-area: replay !important; }

  .archive-new-badge,
  .archive-row-number {
    min-width: 28px !important;
    height: 17px !important;
    padding: 0 5px !important;
    font-size: .44rem !important;
  }

  .archive-match-player {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    min-width: 0 !important;
    text-align: center !important;
  }

  .archive-loser-cell {
    display: block !important;
    min-width: 0 !important;
  }

  .archive-versus {
    display: none !important;
  }

  .archive-player-avatar {
    width: 46px !important;
    height: 46px !important;
    margin: 0 auto !important;
    border-width: 2px !important;
  }

  .archive-player-details,
  .archive-player-name-line {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 0 !important;
  }

  .archive-player-details {
    flex-direction: column !important;
    gap: 2px !important;
  }

  .archive-player-name-line {
    max-width: 100% !important;
    gap: 4px !important;
  }

  .archive-player-name-line .country-flag {
    width: 15px !important;
    height: 11px !important;
  }

  .archive-player-name-line strong {
    display: block !important;
    max-width: min(24vw, 92px) !important;
    overflow: hidden !important;
    color: #eff9ff !important;
    font-size: .66rem !important;
    line-height: 1.15 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .archive-trophy {
    font-size: .68rem !important;
  }

  .archive-player-details > small,
  .archive-player-details .rating-value {
    margin: 0 !important;
    font-size: .63rem !important;
    font-weight: 850 !important;
  }

  .archive-score {
    display: grid !important;
    place-items: center !important;
    width: 66px !important;
    min-width: 0 !important;
    min-height: 38px !important;
    padding: 0 5px !important;
    border-radius: 999px !important;
    font-size: .88rem !important;
    white-space: nowrap !important;
  }

  .archive-rating-change {
    display: flex !important;
    justify-content: center !important;
    gap: 13px !important;
    width: 100% !important;
    min-height: 29px !important;
    padding: 5px 10px !important;
    border: 1px solid rgba(139, 190, 220, .08) !important;
    border-radius: 10px !important;
    background: rgba(2, 14, 24, .42) !important;
  }

  .archive-rating-change b {
    font-size: .64rem !important;
  }

  .archive-page .archive-table time {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    min-width: 0 !important;
  }

  .archive-page .archive-table time strong,
  .archive-page .archive-table time span,
  .archive-duration,
  .archive-file-size {
    font-size: .53rem !important;
    line-height: 1.25 !important;
  }

  .archive-duration {
    display: flex !important;
    justify-content: center !important;
    gap: 3px !important;
    white-space: nowrap !important;
  }

  .archive-replay-actions {
    display: flex !important;
    justify-content: flex-end !important;
    gap: 5px !important;
  }

  .archive-view {
    min-width: 0 !important;
    min-height: 34px !important;
    padding: 0 8px !important;
    border-radius: 9px !important;
    font-size: .54rem !important;
    white-space: nowrap !important;
  }

  .archive-download-icon {
    flex: 0 0 auto !important;
    width: 34px !important;
    height: 34px !important;
    border-radius: 9px !important;
  }

  .archive-file-size {
    margin-top: 3px !important;
    text-align: right !important;
  }

  .archive-pagination {
    display: grid !important;
    justify-items: center !important;
    gap: 9px !important;
    padding: 13px 4px 4px !important;
    border: 0 !important;
    background: transparent !important;
  }

  .archive-page-buttons {
    display: flex !important;
    justify-content: center !important;
    max-width: 100% !important;
    overflow-x: auto !important;
  }

  .archive-pagination button {
    min-width: 34px !important;
    height: 34px !important;
    padding: 0 8px !important;
  }

  .archive-pagination > span {
    font-size: .55rem !important;
    text-align: center !important;
  }

  .archive-search-form {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  .archive-search-form button,
  .archive-show-all {
    width: 100% !important;
    min-height: 40px !important;
  }
}

@media (max-width: 380px) {
  .archive-hero {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .archive-total-card {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
  }

  .archive-page .archive-table tr {
    grid-template-columns: minmax(0, 1fr) 60px minmax(0, 1fr) !important;
    padding-inline: 7px !important;
  }

  .archive-player-avatar {
    width: 41px !important;
    height: 41px !important;
  }

  .archive-score {
    width: 58px !important;
    font-size: .78rem !important;
  }

  .archive-player-name-line strong {
    max-width: 22vw !important;
    font-size: .61rem !important;
  }

  .archive-view {
    padding-inline: 6px !important;
  }
}

/* V81.22 — cabeçalho, filtros e busca do arquivo em um único painel */
.archive-unified-panel {
  overflow: hidden;
}

.archive-command-center {
  display: grid;
  gap: 18px;
  padding: 22px;
  border-bottom: 1px solid rgba(126, 174, 213, .14);
  background:
    radial-gradient(circle at 6% 0, rgba(29, 126, 255, .13), transparent 280px),
    radial-gradient(circle at 96% 20%, rgba(38, 223, 148, .065), transparent 240px),
    linear-gradient(145deg, rgba(7, 27, 44, .98), rgba(4, 17, 29, .98));
}

.archive-command-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
}

.archive-command-heading .archive-hero-main {
  flex: 1 1 auto;
}

.archive-command-heading .section-kicker {
  color: #34e596;
}

.archive-command-heading h1 {
  margin: 3px 0 5px;
  color: #f4f9ff;
  font-size: clamp(1.24rem, 2vw, 1.64rem);
  line-height: 1.08;
  letter-spacing: -.035em;
}

.archive-command-heading p {
  margin: 0;
  color: #89a3bc;
  font-size: .7rem;
}

.archive-command-tools {
  display: grid;
  grid-template-columns: minmax(300px, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 14px;
  border: 1px solid rgba(126, 174, 213, .12);
  border-radius: 16px;
  background: rgba(3, 15, 26, .55);
  box-shadow: inset 0 1px rgba(255, 255, 255, .025);
}

.archive-command-tools .archive-mode-tabs {
  min-width: 0;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4px !important;
  padding: 4px !important;
  border: 1px solid rgba(121, 161, 202, .14) !important;
  border-radius: 11px;
  background: #0b2033 !important;
}

.archive-command-tools .archive-mode-tabs a {
  min-height: 38px;
  display: grid;
  place-items: center;
  padding: 0 12px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #91a8be !important;
  font-size: .66rem;
  text-align: center;
}

.archive-command-tools .archive-mode-tabs a.active {
  color: #fff !important;
  background: linear-gradient(135deg, #1889ff, #0865d3) !important;
  box-shadow: 0 7px 18px rgba(7, 104, 221, .28) !important;
}

.archive-search-inline {
  grid-column: 1 / -1;
  display: grid !important;
  grid-template-columns: minmax(220px, 1fr) 116px 118px !important;
  align-items: end !important;
  gap: 9px !important;
  margin: 0 !important;
}

.archive-search-inline .archive-search-field {
  gap: 6px;
}

.archive-search-inline .archive-search-field > span {
  color: #91a8be;
  font-size: .58rem;
  letter-spacing: .03em;
  text-transform: uppercase;
}

.archive-search-inline .archive-search-field input,
.archive-search-inline > button {
  min-height: 42px;
  height: 42px;
}

.archive-search-inline .archive-show-all {
  margin: 0 !important;
  padding: 0 10px !important;
  border: 1px solid rgba(121, 161, 202, .18) !important;
  background: #0b2033 !important;
  color: #a8c6df !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

.archive-search-inline .archive-show-all:hover:not(:disabled) {
  border-color: rgba(75, 151, 236, .45) !important;
  background: #102b45 !important;
  color: #fff !important;
}

.archive-list-body {
  padding: 0 !important;
}

@media (max-width: 780px) {
  .archive-command-center {
    gap: 12px !important;
    padding: 14px 12px 12px !important;
  }

  .archive-command-heading {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 10px !important;
  }

  .archive-command-heading .archive-hero-main {
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr) !important;
    gap: 10px !important;
    min-width: 0 !important;
  }

  .archive-command-heading h1 {
    margin: 2px 0 !important;
    font-size: clamp(1rem, 5vw, 1.2rem) !important;
  }

  .archive-command-heading p {
    display: none !important;
  }

  .archive-command-heading .section-kicker {
    font-size: .5rem !important;
  }

  .archive-command-tools {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    padding: 9px !important;
    border-radius: 14px !important;
  }

  .archive-command-tools .archive-mode-tabs {
    width: 100% !important;
  }

  .archive-command-tools .archive-period-controls {
    width: 100% !important;
  }

  .archive-search-inline {
    grid-column: 1 !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 7px !important;
  }

  .archive-search-inline .archive-search-field {
    grid-column: 1 / -1;
  }

  .archive-search-inline > button {
    width: auto !important;
    min-width: 0 !important;
    padding-inline: 16px !important;
  }

  .archive-search-inline .archive-show-all {
    padding-inline: 13px !important;
  }

  .archive-list-body {
    padding: 10px !important;
    border-top: 1px solid rgba(126, 174, 213, .1);
  }
}

@media (max-width: 390px) {
  .archive-search-inline {
    grid-template-columns: 1fr 1fr !important;
  }

  .archive-search-inline > button {
    width: 100% !important;
    padding-inline: 8px !important;
  }
}

/* V81.23 — área Social preparada para integração com o servidor */
.social-feed-page {
  min-width: 0;
}

.social-feed-shell {
  overflow: hidden;
  border: 1px solid rgba(118, 172, 211, .18);
  border-radius: 22px;
  background:
    radial-gradient(circle at 15% 0, rgba(27, 129, 255, .09), transparent 310px),
    linear-gradient(180deg, rgba(7, 25, 40, .98), rgba(4, 17, 29, .98));
  box-shadow: 0 24px 65px rgba(0, 0, 0, .22);
}

.social-feed-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  padding: 22px 24px;
  border-bottom: 1px solid rgba(118, 172, 211, .13);
  background:
    radial-gradient(circle at 92% 0, rgba(42, 230, 157, .07), transparent 260px),
    rgba(5, 20, 34, .55);
}

.social-feed-hero-copy {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 16px;
}

.social-feed-icon {
  width: 54px;
  height: 54px;
  flex: 0 0 54px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(44, 146, 255, .28);
  border-radius: 17px;
  background: linear-gradient(145deg, rgba(31, 134, 255, .22), rgba(16, 70, 129, .14));
  color: #53a8ff;
  box-shadow: inset 0 1px rgba(255, 255, 255, .07), 0 12px 28px rgba(7, 75, 151, .17);
  font-size: .72rem;
  letter-spacing: -3px;
}

.social-feed-hero h1 {
  margin: 3px 0 4px;
  color: #f3f9ff;
  font-size: clamp(1.3rem, 2vw, 1.65rem);
  line-height: 1.05;
  letter-spacing: -.04em;
}

.social-feed-hero p {
  max-width: 590px;
  margin: 0;
  color: #87a2bb;
  font-size: .7rem;
  line-height: 1.55;
}

.social-feed-stats {
  min-width: 104px;
  display: grid;
  gap: 3px;
  padding: 12px 14px;
  border: 1px solid rgba(119, 167, 205, .15);
  border-radius: 13px;
  background: rgba(10, 31, 50, .68);
}

.social-feed-stats strong {
  color: #2e94ff;
  font-size: 1.05rem;
}

.social-feed-stats span {
  color: #819bb3;
  font-size: .56rem;
  font-weight: 750;
}

.social-composer {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 12px;
  margin: 16px 18px 12px;
  padding: 16px;
  border: 1px solid rgba(120, 173, 212, .16);
  border-radius: 17px;
  background: linear-gradient(145deg, rgba(10, 34, 55, .91), rgba(7, 26, 43, .92));
  box-shadow: inset 0 1px rgba(255, 255, 255, .025);
}

.social-avatar {
  position: relative;
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  display: block;
  overflow: visible;
  border-radius: 50%;
}

.social-avatar img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  border: 2px solid rgba(110, 167, 209, .3);
  border-radius: inherit;
  background: #0e2a43;
}

.social-avatar i {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 11px;
  height: 11px;
  border: 2px solid #092033;
  border-radius: 50%;
  background: #22dd91;
  box-shadow: 0 0 10px rgba(34, 221, 145, .5);
}

.social-composer-main,
.social-composer-main label {
  min-width: 0;
  display: grid;
  gap: 8px;
}

.social-composer-main label > span {
  color: #ddecf8;
  font-size: .61rem;
  font-weight: 850;
}

.social-composer textarea {
  width: 100%;
  min-height: 78px;
  resize: vertical;
  padding: 12px 13px;
  border: 1px solid rgba(112, 161, 199, .18);
  border-radius: 12px;
  outline: 0;
  background: rgba(3, 16, 28, .72);
  color: #ecf6ff;
  font: inherit;
  font-size: .72rem;
  line-height: 1.55;
}

.social-composer textarea::placeholder {
  color: #6f8ca6;
}

.social-composer textarea:focus {
  border-color: rgba(49, 143, 246, .56);
  box-shadow: 0 0 0 3px rgba(24, 126, 236, .11);
}

.social-composer-footer,
.social-composer-tools {
  display: flex;
  align-items: center;
}

.social-composer-footer {
  justify-content: space-between;
  gap: 12px;
}

.social-composer-tools {
  gap: 12px;
}

.social-composer-tools label {
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 36px;
  padding: 0 10px;
  border: 1px solid rgba(114, 164, 202, .15);
  border-radius: 10px;
  background: #0b253a;
  color: #77b5ec;
}

.social-composer-tools select {
  border: 0;
  outline: 0;
  background: transparent;
  color: #d7e9f8;
  font: inherit;
  font-size: .59rem;
  font-weight: 800;
}

.social-composer-tools select option {
  background: #0b253a;
}

.social-composer-tools > span {
  color: #6f8ba4;
  font-size: .55rem;
}

.social-composer-footer > button {
  min-width: 106px;
  min-height: 38px;
  border: 0;
  border-radius: 10px;
  background: linear-gradient(135deg, #258eff, #0868d7);
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-size: .63rem;
  font-weight: 900;
  box-shadow: 0 10px 25px rgba(8, 104, 215, .23);
}

.social-composer-footer > button:hover:not(:disabled) {
  filter: brightness(1.08);
  transform: translateY(-1px);
}

.social-composer-footer > button:disabled {
  opacity: .6;
  cursor: wait;
}

.social-form-error {
  color: #ff7b90;
  font-size: .58rem;
}

.social-login-invite {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  margin: 16px 18px 12px;
  padding: 14px 16px;
  border: 1px solid rgba(54, 201, 144, .18);
  border-radius: 15px;
  background: rgba(8, 48, 45, .35);
}

.social-login-icon {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  background: rgba(36, 218, 145, .12);
  color: #2fe09a;
}

.social-login-invite strong {
  display: block;
  color: #e6f8f1;
  font-size: .68rem;
}

.social-login-invite p {
  margin: 3px 0 0;
  color: #7fa8a0;
  font-size: .57rem;
}

.social-login-invite > a {
  padding: 10px 16px;
  border-radius: 10px;
  background: #1d8cff;
  color: #fff;
  font-size: .61rem;
  font-weight: 900;
  text-decoration: none;
}

.social-feed-tabs {
  min-height: 48px;
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 8px 18px;
  border-block: 1px solid rgba(118, 172, 211, .1);
  background: rgba(2, 14, 24, .38);
}

.social-feed-tabs button {
  min-height: 32px;
  padding: 0 13px;
  border: 1px solid transparent;
  border-radius: 9px;
  background: transparent;
  color: #819bb3;
  cursor: pointer;
  font: inherit;
  font-size: .59rem;
  font-weight: 850;
}

.social-feed-tabs button.active {
  border-color: rgba(50, 144, 248, .2);
  background: rgba(28, 124, 230, .16);
  color: #70b7ff;
}

.social-feed-tabs > span {
  margin-left: auto;
  color: #58738c;
  font-size: .52rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.social-feed-state {
  margin: 14px 18px;
  padding: 18px;
  border: 1px dashed rgba(120, 173, 212, .18);
  border-radius: 14px;
  color: #91abc2;
  font-size: .66rem;
  text-align: center;
}

.social-feed-state.error {
  color: #ff8ca0;
}

.social-post-list {
  display: grid;
}

.social-post {
  padding: 18px 20px;
  border-bottom: 1px solid rgba(118, 172, 211, .11);
  background: rgba(5, 20, 33, .38);
  transition: background .18s ease;
}

.social-post:last-child {
  border-bottom: 0;
}

.social-post:hover {
  background: rgba(8, 29, 47, .58);
}

.social-post-header {
  display: flex;
  align-items: center;
  gap: 11px;
}

.social-post-author {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.social-post-author > div {
  display: flex;
  align-items: center;
  gap: 7px;
}

.social-post-author a {
  overflow: hidden;
  color: #edf7ff;
  font-size: .7rem;
  font-weight: 900;
  text-decoration: none;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.social-post-author a:hover {
  color: #6bb5ff;
}

.social-post-author > span {
  color: #748fa8;
  font-size: .55rem;
}

.social-post-author > span b {
  font-size: .56rem;
}

.social-post-menu {
  width: 34px;
  height: 30px;
  margin-left: auto;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: #708aa2;
  cursor: pointer;
}

.social-post-menu:hover {
  background: rgba(104, 153, 193, .1);
  color: #b5ccdf;
}

.social-post-content {
  padding: 12px 0 12px 55px;
}

.social-post-content > p {
  margin: 0;
  color: #d6e5f1;
  font-size: .72rem;
  line-height: 1.65;
  white-space: pre-wrap;
}

.social-post-context {
  min-height: 58px;
  display: flex;
  align-items: center;
  gap: 11px;
  margin-top: 12px;
  padding: 11px 13px;
  border: 1px solid rgba(64, 145, 217, .17);
  border-radius: 13px;
  background: linear-gradient(135deg, rgba(17, 72, 121, .25), rgba(7, 34, 59, .35));
}

.social-post-context > span {
  width: 35px;
  height: 35px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: rgba(37, 143, 255, .14);
  color: #4ba7ff;
}

.social-context-tournament > span {
  background: rgba(230, 188, 56, .11);
  color: #e6c044;
}

.social-context-achievement > span {
  background: rgba(46, 218, 147, .11);
  color: #35de99;
}

.social-post-context strong,
.social-post-context small {
  display: block;
}

.social-post-context strong {
  color: #dcebf7;
  font-size: .63rem;
}

.social-post-context small {
  margin-top: 3px;
  color: #7896af;
  font-size: .54rem;
}

.social-post-summary {
  min-height: 29px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-left: 55px;
  color: #718ca5;
  font-size: .54rem;
}

.social-post-summary button {
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font: inherit;
}

.social-post-summary button:hover {
  color: #a6c3da;
}

.social-post-actions {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 5px;
  margin-left: 55px;
  padding-top: 7px;
  border-top: 1px solid rgba(119, 168, 206, .1);
}

.social-post-actions button {
  min-height: 36px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: #829cb3;
  cursor: pointer;
  font: inherit;
  font-size: .59rem;
  font-weight: 800;
}

.social-post-actions button:hover {
  background: rgba(112, 162, 202, .08);
  color: #bfd5e6;
}

.social-post-actions button.active {
  background: rgba(255, 68, 111, .08);
  color: #ff678a;
}

.social-post-actions button span {
  margin-right: 4px;
  font-size: .78rem;
}

.social-comments {
  display: grid;
  gap: 9px;
  margin: 12px 0 0 55px;
  padding: 12px;
  border: 1px solid rgba(117, 169, 209, .11);
  border-radius: 13px;
  background: rgba(2, 14, 24, .43);
}

.social-comments article {
  display: grid;
  grid-template-columns: 29px minmax(0, 1fr);
  gap: 8px;
}

.social-comment-avatar {
  width: 29px;
  height: 29px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(145deg, #207ed9, #164c82);
  color: #fff;
  font-size: .58rem;
  font-weight: 900;
}

.social-comments article > div {
  padding: 7px 9px;
  border-radius: 10px;
  background: rgba(14, 43, 66, .7);
}

.social-comments article p {
  margin: 0;
  color: #cbdde9;
  font-size: .6rem;
  line-height: 1.45;
}

.social-comments article p strong {
  margin-right: 6px;
  color: #f1f8fd;
}

.social-comments article small {
  display: block;
  margin-top: 3px;
  color: #6f8ca4;
  font-size: .49rem;
}

.social-comment-form {
  display: grid;
  grid-template-columns: 29px minmax(0, 1fr) 34px;
  align-items: center;
  gap: 7px;
}

.social-comment-form > img {
  width: 29px;
  height: 29px;
  object-fit: cover;
  border-radius: 50%;
}

.social-comment-form input {
  width: 100%;
  min-width: 0;
  min-height: 34px;
  padding: 0 11px;
  border: 1px solid rgba(111, 164, 204, .14);
  border-radius: 999px;
  outline: 0;
  background: rgba(10, 35, 55, .82);
  color: #e1eff8;
  font: inherit;
  font-size: .57rem;
}

.social-comment-form input:focus {
  border-color: rgba(50, 143, 244, .48);
}

.social-comment-form > button {
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 50%;
  background: #147de8;
  color: #fff;
  cursor: pointer;
}

.social-comment-form > button:disabled {
  opacity: .4;
  cursor: default;
}

@media (max-width: 780px) {
  .social-feed-page,
  .social-feed-shell {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .social-feed-shell {
    border-radius: 18px !important;
  }

  .social-feed-hero {
    gap: 10px !important;
    padding: 15px 13px !important;
  }

  .social-feed-icon {
    width: 45px !important;
    height: 45px !important;
    flex-basis: 45px !important;
    border-radius: 14px !important;
  }

  .social-feed-hero-copy {
    gap: 10px !important;
  }

  .social-feed-hero h1 {
    font-size: 1.1rem !important;
  }

  .social-feed-hero p {
    display: none !important;
  }

  .social-feed-stats {
    min-width: 72px !important;
    padding: 8px 9px !important;
  }

  .social-feed-stats strong {
    font-size: .85rem !important;
  }

  .social-feed-stats span {
    font-size: .45rem !important;
  }

  .social-composer {
    grid-template-columns: 38px minmax(0, 1fr) !important;
    gap: 9px !important;
    margin: 10px !important;
    padding: 11px !important;
  }

  .social-composer-avatar {
    width: 38px !important;
    height: 38px !important;
  }

  .social-composer textarea {
    min-height: 72px !important;
  }

  .social-composer-footer {
    align-items: flex-end !important;
  }

  .social-composer-tools {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 5px !important;
  }

  .social-composer-tools label {
    min-height: 33px !important;
  }

  .social-composer-footer > button {
    min-width: 90px !important;
    min-height: 36px !important;
  }

  .social-login-invite {
    grid-template-columns: auto minmax(0, 1fr) !important;
    margin: 10px !important;
    padding: 12px !important;
  }

  .social-login-invite > a {
    grid-column: 1 / -1;
    text-align: center;
  }

  .social-feed-tabs {
    padding: 7px 10px !important;
    overflow-x: auto !important;
  }

  .social-feed-tabs button {
    flex: 0 0 auto;
  }

  .social-feed-tabs > span {
    display: none !important;
  }

  .social-post {
    padding: 14px 12px !important;
  }

  .social-avatar {
    width: 40px !important;
    height: 40px !important;
    flex-basis: 40px !important;
  }

  .social-post-content {
    padding: 11px 0 10px !important;
  }

  .social-post-content > p {
    font-size: .68rem !important;
  }

  .social-post-summary,
  .social-post-actions,
  .social-comments {
    margin-left: 0 !important;
  }

  .social-post-actions button {
    font-size: .55rem !important;
  }

  .social-comments {
    padding: 9px !important;
  }
}

@media (max-width: 390px) {
  .social-feed-stats {
    display: none !important;
  }

  .social-post-actions button {
    padding-inline: 3px !important;
  }

  .social-post-actions button span {
    margin-right: 2px !important;
  }
}

/* V81.23a — composição do feed inspirada na navegação familiar do Facebook */
.social-feed-shell {
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.social-feed-hero {
  margin-bottom: 12px;
  border: 1px solid rgba(118, 172, 211, .17);
  border-radius: 17px;
  background:
    radial-gradient(circle at 94% 0, rgba(42, 230, 157, .065), transparent 240px),
    linear-gradient(145deg, rgba(8, 29, 47, .98), rgba(5, 20, 34, .98));
  box-shadow: 0 12px 34px rgba(0, 0, 0, .14);
}

.social-composer {
  margin: 0 0 12px;
  border-radius: 17px;
  background: linear-gradient(145deg, rgba(10, 34, 55, .98), rgba(7, 26, 43, .98));
  box-shadow: 0 12px 34px rgba(0, 0, 0, .15);
}

.social-composer-main > label > span {
  display: none;
}

.social-composer textarea {
  min-height: 54px;
  resize: none;
  padding: 16px;
  border: 0;
  border-radius: 999px;
  background: rgba(4, 18, 31, .82);
}

.social-composer textarea:focus {
  border: 0;
  box-shadow: 0 0 0 3px rgba(24, 126, 236, .12);
}

.social-composer-footer {
  margin-top: 3px;
  padding-top: 10px;
  border-top: 1px solid rgba(118, 172, 211, .11);
}

.social-composer-shortcuts,
.social-composer-submit {
  display: flex;
  align-items: center;
}

.social-composer-shortcuts {
  min-width: 0;
  gap: 3px;
}

.social-composer-shortcuts > button,
.social-composer-shortcuts > label {
  min-height: 36px;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 0 10px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: #9ab1c5;
  cursor: pointer;
  font: inherit;
  font-size: .57rem;
  font-weight: 800;
  white-space: nowrap;
}

.social-composer-shortcuts > button:hover,
.social-composer-shortcuts > label:hover {
  background: rgba(111, 163, 203, .08);
  color: #d4e4ef;
}

.social-composer-shortcuts > * > span {
  font-size: .8rem;
}

.social-action-photo {
  color: #3fdd91;
}

.social-action-match {
  color: #4e9fff;
}

.social-action-mode {
  color: #e7be42;
}

.social-composer-shortcuts select {
  max-width: 76px;
  border: 0;
  outline: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font: inherit;
  font-size: .57rem;
  font-weight: 800;
}

.social-composer-shortcuts select option {
  background: #0b253a;
  color: #dceaf4;
}

.social-composer-submit {
  flex: 0 0 auto;
  gap: 9px;
}

.social-composer-submit > span {
  color: #6f8ba4;
  font-size: .51rem;
}

.social-composer-submit > button {
  min-width: 96px;
  min-height: 36px;
  border: 0;
  border-radius: 9px;
  background: linear-gradient(135deg, #258eff, #0868d7);
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-size: .61rem;
  font-weight: 900;
}

.social-composer-submit > button:disabled {
  opacity: .6;
}

.social-login-invite {
  margin: 0 0 12px;
}

.social-feed-tabs {
  margin-bottom: 12px;
  border: 1px solid rgba(118, 172, 211, .14);
  border-radius: 14px;
  background: rgba(6, 24, 39, .94);
}

.social-post-list {
  gap: 12px;
}

.social-post {
  border: 1px solid rgba(118, 172, 211, .15);
  border-radius: 17px;
  background:
    radial-gradient(circle at 100% 0, rgba(39, 137, 244, .035), transparent 220px),
    linear-gradient(145deg, rgba(8, 29, 47, .98), rgba(5, 21, 35, .98));
  box-shadow: 0 14px 38px rgba(0, 0, 0, .15);
}

.social-post:last-child {
  border-bottom: 1px solid rgba(118, 172, 211, .15);
}

.social-post:hover {
  background:
    radial-gradient(circle at 100% 0, rgba(39, 137, 244, .045), transparent 220px),
    linear-gradient(145deg, rgba(9, 32, 51, .98), rgba(6, 23, 38, .98));
}

.social-post-summary > span {
  display: flex;
  align-items: center;
}

.social-post-summary > span i {
  width: 18px;
  height: 18px;
  display: grid;
  place-items: center;
  margin-right: -4px;
  border: 2px solid #092033;
  border-radius: 50%;
  font-size: .5rem;
  font-style: normal;
}

.social-reaction-like {
  z-index: 2;
  background: #1877f2;
}

.social-reaction-heart {
  background: #f55368;
  color: #fff;
}

.social-post-summary > span b {
  margin-left: 9px;
  color: #7f99b0;
  font-size: .54rem;
  font-weight: 650;
}

.social-post-actions {
  padding-block: 5px;
}

.social-post-actions button {
  border-radius: 7px;
}

@media (max-width: 780px) {
  .social-feed-hero {
    margin-bottom: 9px !important;
  }

  .social-composer {
    margin: 0 0 9px !important;
  }

  .social-composer textarea {
    min-height: 50px !important;
    padding: 14px !important;
    border-radius: 18px !important;
  }

  .social-composer-footer {
    align-items: center !important;
  }

  .social-composer-shortcuts {
    flex: 1 1 auto;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .social-composer-shortcuts::-webkit-scrollbar {
    display: none;
  }

  .social-composer-shortcuts > button,
  .social-composer-shortcuts > label {
    flex: 0 0 auto;
    padding-inline: 7px !important;
  }

  .social-composer-submit > span {
    display: none !important;
  }

  .social-composer-submit > button {
    min-width: 78px !important;
  }

  .social-feed-tabs {
    margin-bottom: 9px !important;
  }

  .social-post-list {
    gap: 9px !important;
  }

  .social-post {
    border-radius: 15px !important;
  }
}

/* V81.24 — conteúdo central mais legível e Social integrado */
.portal-center {
  font-size: 16px;
}

.portal-center :is(p, li, dd, td, th, input, textarea, select) {
  font-size: .78rem;
}

.portal-center :is(button, a) {
  font-size: .72rem;
}

.portal-center .section-kicker {
  font-size: .64rem;
}

.social-feed-page .social-feed-shell {
  padding-top: 0;
}

.social-composer {
  margin-top: 0;
}

.social-composer label {
  font-size: .72rem;
}

.social-composer textarea {
  font-size: .84rem !important;
  line-height: 1.55;
}

.social-photo-input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.social-composer-shortcuts > label {
  position: relative;
  cursor: pointer;
}

.social-composer-attachment,
.social-composer-image-preview {
  margin-top: 10px;
  border: 1px solid rgba(73, 163, 255, .24);
  border-radius: 12px;
  background: rgba(6, 29, 48, .72);
}

.social-composer-attachment {
  display: grid;
  grid-template-columns: 32px 1fr 28px;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
}

.social-composer-attachment > span {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border-radius: 10px;
  color: #55a9ff;
  background: rgba(32, 124, 255, .13);
}

.social-composer-attachment strong,
.social-composer-attachment small {
  display: block;
}

.social-composer-attachment strong {
  color: #eff8ff;
  font-size: .76rem;
}

.social-composer-attachment small {
  margin-top: 2px;
  color: #8ca7bd;
  font-size: .65rem;
}

.social-composer-attachment > button,
.social-composer-image-preview > button {
  width: 28px;
  height: 28px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  color: #a9bfd0;
  background: rgba(255, 255, 255, .06);
}

.social-composer-image-preview {
  position: relative;
  overflow: hidden;
}

.social-composer-image-preview img {
  display: block;
  width: 100%;
  max-height: 320px;
  object-fit: cover;
}

.social-composer-image-preview > button {
  position: absolute;
  top: 8px;
  right: 8px;
  color: white;
  background: rgba(0, 0, 0, .7);
}

.social-post-author a {
  font-size: .8rem;
}

.social-post-author > span,
.social-post-summary button,
.social-post-summary > span b {
  font-size: .66rem;
}

.social-post-content > p {
  font-size: .84rem;
  line-height: 1.58;
}

.social-post-context strong {
  font-size: .74rem;
}

.social-post-context small {
  font-size: .65rem;
}

.social-post-image {
  display: block;
  width: calc(100% + 28px);
  max-height: 520px;
  margin: 14px -14px -2px;
  object-fit: cover;
  border-top: 1px solid rgba(91, 137, 172, .18);
}

.social-post-actions {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.social-post-actions button,
.social-comment-form input,
.social-comments article p {
  font-size: .72rem !important;
}

.hero-content-card {
  position: relative;
  min-height: 330px;
  padding-top: 42px;
}

.hero-content-tabs {
  position: absolute;
  z-index: 3;
  top: 0;
  right: 0;
  display: inline-flex;
  gap: 4px;
  padding: 4px;
  border: 1px solid rgba(82, 151, 205, .2);
  border-radius: 10px;
  background: rgba(4, 24, 40, .86);
}

.hero-content-tabs button {
  min-width: 72px;
  padding: 7px 12px;
  border: 0;
  border-radius: 7px;
  color: #8fa8bb;
  background: transparent;
  font-weight: 750;
}

.hero-content-tabs button.active {
  color: #fff;
  background: linear-gradient(135deg, #0f78f2, #1260c2);
  box-shadow: 0 5px 18px rgba(16, 112, 236, .22);
}

.home-social-panel {
  display: grid;
  gap: 8px;
}

.home-social-post {
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 10px;
  padding: 10px;
  border: 1px solid rgba(77, 144, 195, .17);
  border-radius: 11px;
  background: rgba(5, 28, 46, .7);
}

.home-social-post > img {
  width: 38px;
  height: 38px;
  object-fit: cover;
  border-radius: 50%;
}

.home-social-post header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.home-social-post strong {
  color: #f3f8fc;
  font-size: .74rem;
}

.home-social-post header span,
.home-social-post small {
  color: #7894a9;
  font-size: .59rem;
}

.home-social-post p {
  margin: 4px 0 !important;
  color: #b8cad7;
  font-size: .7rem !important;
  line-height: 1.45 !important;
}

.home-social-more {
  justify-self: start;
  margin-top: 3px;
  color: #56a9ff;
  font-weight: 800;
}

.player-shareables {
  margin-top: 14px;
  padding: 18px;
  border: 1px solid rgba(69, 137, 188, .24);
  border-radius: 16px;
  background: linear-gradient(150deg, rgba(9, 38, 61, .96), rgba(4, 24, 40, .97));
}

.player-shareables-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 15px;
  padding-bottom: 13px;
  border-bottom: 1px solid rgba(91, 139, 174, .2);
}

.player-shareables h2 {
  margin: 3px 0 0;
  color: #f2f8fc;
  font-size: 1.05rem;
}

.player-shareables-heading > a {
  color: #65b3ff;
  font-weight: 750;
}

.player-shareables-state {
  color: #90a8ba;
}

.player-match-share-list,
.player-tournament-share-list {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.player-match-share-row {
  display: grid;
  grid-template-columns: minmax(240px, 1.3fr) minmax(160px, .8fr) auto;
  align-items: center;
  gap: 14px;
  padding: 10px 12px;
  border: 1px solid rgba(78, 139, 183, .18);
  border-radius: 11px;
  background: rgba(8, 31, 50, .72);
}

.player-match-share-players {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 9px;
}

.player-match-share-players > span {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 7px;
}

.player-match-share-players img {
  width: 31px;
  height: 31px;
  flex: 0 0 auto;
  object-fit: cover;
  border-radius: 50%;
}

.player-match-share-players strong {
  overflow: hidden;
  color: #ecf5fb;
  font-size: .72rem;
  text-overflow: ellipsis;
}

.player-match-share-players > b {
  padding: 5px 9px;
  border-radius: 999px;
  color: #eafff1;
  background: rgba(30, 158, 91, .14);
  font-size: .72rem;
}

.player-match-share-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 10px;
  color: #84a0b4;
}

.player-match-share-meta span {
  font-size: .62rem;
}

.player-match-share-row > button,
.player-tournament-share-list button {
  padding: 8px 11px;
  border: 1px solid rgba(53, 146, 255, .36);
  border-radius: 8px;
  color: #fff;
  background: linear-gradient(135deg, #167cff, #1261cf);
  font-weight: 780;
}

.player-tournament-share-heading {
  margin-top: 22px;
}

.player-tournament-share-list article {
  display: grid;
  grid-template-columns: 38px 1fr auto;
  align-items: center;
  gap: 11px;
  padding: 11px 12px;
  border: 1px solid rgba(222, 182, 56, .2);
  border-radius: 11px;
  background: rgba(67, 50, 9, .12);
}

.player-tournament-share-icon {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 11px;
  color: #ffd84f;
  background: rgba(240, 190, 28, .12);
}

.player-tournament-share-list strong,
.player-tournament-share-list small {
  display: block;
}

.player-tournament-share-list strong {
  color: #f4f8fb;
  font-size: .75rem;
}

.player-tournament-share-list small {
  margin-top: 3px;
  color: #8ca4b7;
  font-size: .63rem;
}

@media (max-width: 780px) {
  .portal-center {
    font-size: 17px;
  }

  .portal-center :is(p, li, dd, td, th, input, textarea, select) {
    font-size: .82rem;
  }

  .hero-content-card {
    min-height: 0;
    padding-top: 47px;
  }

  .hero-content-tabs {
    left: 0;
    right: auto;
    width: 100%;
  }

  .hero-content-tabs button {
    flex: 1 1 50%;
  }

  .home-social-post {
    grid-template-columns: 34px 1fr;
  }

  .home-social-post > img {
    width: 34px;
    height: 34px;
  }

  .player-shareables {
    padding: 13px;
  }

  .player-shareables-heading {
    align-items: start;
    flex-direction: column;
  }

  .player-match-share-row {
    grid-template-columns: 1fr;
    gap: 9px;
  }

  .player-match-share-row > button,
  .player-tournament-share-list button {
    width: 100%;
  }

  .player-tournament-share-list article {
    grid-template-columns: 38px 1fr;
  }

  .player-tournament-share-list button {
    grid-column: 1 / -1;
  }
}

/* V81.25 — Social e Sobre são páginas completas */
.center-section-switch {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  width: max-content;
  max-width: 100%;
  gap: 3px;
  padding: 4px;
  border: 1px solid rgba(82, 151, 205, .22);
  border-radius: 10px;
  background: rgba(3, 20, 34, .9);
  box-shadow: 0 8px 24px rgba(0, 0, 0, .16);
}

.center-section-switch a {
  min-width: 76px;
  padding: 8px 13px;
  border-radius: 7px;
  color: #8fa9bb;
  font-size: .7rem;
  font-weight: 800;
  text-align: center;
  text-decoration: none;
  transition: color .18s ease, background .18s ease, transform .18s ease;
}

.center-section-switch a:hover {
  color: #e8f5ff;
}

.center-section-switch a.active {
  color: #fff;
  background: linear-gradient(135deg, #147df7, #105fc6);
  box-shadow: 0 5px 16px rgba(18, 112, 226, .25);
}

.hero-copy > .center-section-switch {
  margin-bottom: 18px;
}

.social-feed-shell > .center-section-switch {
  margin: 18px 18px 0;
}

.social-feed-shell > .center-section-switch + .social-composer,
.social-feed-shell > .center-section-switch + .social-login-invite {
  margin-top: 14px;
}

@media (max-width: 780px) {
  .center-section-switch {
    width: auto;
  }

  .center-section-switch a {
    min-width: 70px;
    padding: 8px 12px;
    font-size: .72rem;
  }

  .hero-copy > .center-section-switch {
    margin-bottom: 16px;
  }

  .social-feed-shell > .center-section-switch {
    margin: 12px 12px 0;
  }
}

/* V81.26 — colagem de imagem no compositor */
.social-paste-hint {
  display: block;
  margin: 7px 4px 0;
  color: #718da2;
  font-size: .61rem;
  font-weight: 600;
}

.social-paste-hint kbd {
  padding: 2px 5px;
  border: 1px solid rgba(125, 173, 207, .22);
  border-bottom-color: rgba(125, 173, 207, .38);
  border-radius: 5px;
  color: #a7c2d5;
  background: rgba(255, 255, 255, .045);
  box-shadow: 0 1px 0 rgba(255, 255, 255, .04);
  font: inherit;
  font-size: .58rem;
}

@media (max-width: 780px) {
  .social-paste-hint {
    font-size: .64rem;
  }
}

.account-menu a[href="/web/social"] > span:first-child {
  padding-right: 2px;
  font-size: .48rem;
  letter-spacing: -.18em;
}

/* V81.28 — central de notificações, marcações e melhor leitura da área logada */
.header-nav-zone {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 13px;
  min-width: 0;
}

.notification-center {
  position: relative;
  flex: none;
}

.notification-trigger {
  position: relative;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 1px solid rgba(139, 188, 220, .17);
  border-radius: 50%;
  color: #a9c1d2;
  background: rgba(227, 246, 255, .055);
  cursor: pointer;
  transition: color .16s ease, background .16s ease, border-color .16s ease, transform .16s ease;
}

.notification-trigger:hover,
.notification-trigger.active {
  color: #fff;
  border-color: rgba(74, 151, 255, .45);
  background: rgba(20, 118, 255, .2);
  transform: translateY(-1px);
}

.notification-count {
  position: absolute;
  top: -5px;
  right: -5px;
  display: grid;
  place-items: center;
  min-width: 19px;
  height: 19px;
  padding: 0 5px;
  border: 2px solid #061727;
  border-radius: 999px;
  color: #fff;
  background: #ed334c;
  box-shadow: 0 6px 15px rgba(237, 51, 76, .35);
  font-size: .54rem;
  font-weight: 900;
}

.notification-dropdown {
  position: absolute;
  z-index: 240;
  top: calc(100% + 12px);
  right: 0;
  width: min(390px, calc(100vw - 28px));
  overflow: hidden;
  border: 1px solid rgba(151, 198, 225, .18);
  border-radius: 18px;
  color: #e9f6fc;
  background:
    radial-gradient(circle at 100% 0, rgba(20, 118, 255, .2), transparent 210px),
    rgba(5, 23, 39, .985);
  box-shadow: 0 28px 70px rgba(0, 4, 12, .58), inset 0 1px rgba(255, 255, 255, .04);
  animation: notification-enter .16s ease-out;
}

@keyframes notification-enter {
  from { opacity: 0; transform: translateY(-5px) scale(.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

.notification-dropdown > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  min-height: 68px;
  padding: 14px 16px;
  border-bottom: 1px solid rgba(151, 198, 225, .12);
}

.notification-dropdown > header > div {
  display: grid;
  gap: 2px;
}

.notification-dropdown > header strong {
  color: #f5fbff;
  font-size: 1rem;
}

.notification-dropdown > header small {
  color: #7694a7;
  font-size: .65rem;
}

.notification-dropdown > header button {
  padding: 7px 8px;
  border: 0;
  border-radius: 8px;
  color: #69aaff;
  background: transparent;
  cursor: pointer;
  font-size: .64rem;
  font-weight: 800;
}

.notification-dropdown > header button:hover {
  background: rgba(20, 118, 255, .12);
}

.notification-list {
  max-height: min(470px, 66vh);
  overflow-y: auto;
  overscroll-behavior: contain;
}

.notification-item {
  position: relative;
  display: grid;
  grid-template-columns: 51px minmax(0, 1fr) 8px;
  align-items: center;
  gap: 11px;
  width: 100%;
  padding: 12px 14px;
  border: 0;
  border-bottom: 1px solid rgba(151, 198, 225, .075);
  color: #b8cbd7;
  background: transparent;
  text-align: left;
  cursor: pointer;
}

.notification-item:hover {
  background: rgba(231, 247, 251, .055);
}

.notification-item.unread {
  background: linear-gradient(90deg, rgba(20, 118, 255, .16), rgba(20, 118, 255, .035));
}

.notification-avatar {
  position: relative;
  width: 49px;
  height: 49px;
  border-radius: 50%;
}

.notification-avatar > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border: 1px solid rgba(132, 187, 226, .25);
  border-radius: inherit;
}

.notification-type {
  position: absolute;
  right: -2px;
  bottom: -2px;
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border: 2px solid #071a2b;
  border-radius: 50%;
  color: #fff;
  background: #167cff;
  font-size: .64rem;
  font-style: normal;
  font-weight: 900;
}

.notification-type-like { background: #eb3f59; }
.notification-type-comment { background: #1684ff; }
.notification-type-mention { background: #8a67ff; }

.notification-copy {
  min-width: 0;
  display: grid;
  gap: 5px;
}

.notification-copy > span {
  color: #b8cbd7;
  font-size: .72rem;
  line-height: 1.45;
}

.notification-copy strong {
  margin-right: 4px;
  color: #f3f9fd;
  font-size: inherit;
}

.notification-copy small {
  color: #5fa8ff;
  font-size: .62rem;
  font-weight: 750;
}

.notification-unread-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #2687ff;
  box-shadow: 0 0 0 4px rgba(38, 135, 255, .1);
}

.notification-empty {
  display: grid;
  place-items: center;
  gap: 7px;
  min-height: 220px;
  padding: 30px;
  color: #68889e;
  text-align: center;
}

.notification-empty svg {
  width: 35px;
  height: 35px;
  color: #4d87b7;
}

.notification-empty strong {
  color: #dcebf3;
  font-size: .82rem;
}

.notification-empty span {
  max-width: 250px;
  font-size: .67rem;
  line-height: 1.5;
}

.notification-dropdown > footer {
  padding: 11px 15px;
  border-top: 1px solid rgba(151, 198, 225, .1);
  color: #66879b;
  background: rgba(255, 255, 255, .018);
  text-align: center;
  font-size: .58rem;
}

.social-mention {
  color: #65aaff;
  font-weight: 850;
}

.social-mention:hover {
  text-decoration: underline;
}

.social-composer-main label {
  position: relative;
}

.social-mention-suggestions {
  position: absolute;
  z-index: 30;
  top: calc(100% + 7px);
  left: 0;
  width: min(330px, 100%);
  padding: 7px;
  border: 1px solid rgba(139, 188, 220, .2);
  border-radius: 13px;
  background: rgba(5, 24, 41, .985);
  box-shadow: 0 18px 38px rgba(0, 4, 12, .42);
}

.social-mention-suggestions > small {
  display: block;
  padding: 5px 7px 7px;
  color: #66879b;
  font-size: .59rem;
  font-weight: 800;
  text-transform: uppercase;
}

.social-mention-suggestions > button {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  width: 100%;
  padding: 7px;
  border: 0;
  border-radius: 9px;
  color: #dcebf3;
  background: transparent;
  text-align: left;
  cursor: pointer;
}

.social-mention-suggestions > button:hover {
  background: rgba(20, 118, 255, .14);
}

.social-mention-suggestions img {
  width: 34px;
  height: 34px;
  object-fit: cover;
  border-radius: 50%;
}

.social-mention-suggestions button > span {
  display: grid;
  gap: 2px;
}

.social-mention-suggestions strong {
  font-size: .7rem;
}

.social-mention-suggestions button small {
  color: #67879d;
  font-size: .58rem;
}

/* Tipografia central da área do jogador: equivalente à legibilidade do Social. */
.account-page-body {
  font-size: .78rem;
}

.account-page-body :where(p, li, label, input, textarea, select, dt, dd) {
  font-size: .74rem !important;
  line-height: 1.55;
}

.account-page-body :where(button, a) {
  font-size: .71rem;
}

.account-page-body small {
  font-size: .65rem !important;
  line-height: 1.45;
}

.account-page-body :where(h2, h3, strong) {
  line-height: 1.35;
}

.account-page-body h2 { font-size: 1.25rem; }
.account-page-body h3 { font-size: .94rem; }
.account-page-body strong { font-size: .76rem; }

.account-page-body .messages-toolbar strong,
.account-page-body .social-section-heading strong,
.account-page-body .profile-form-section h3,
.account-page-body .security-overview-card strong {
  font-size: .9rem !important;
}

.account-page-body .conversation-copy strong,
.account-page-body .friend-player-copy strong,
.account-page-body .contact-player-copy strong,
.account-page-body .photo-card strong {
  font-size: .76rem !important;
}

.account-page-body .player-details dt,
.account-page-body .player-details dd,
.account-page-body .player-stats-row strong,
.account-page-body .player-stats-row > span {
  font-size: .72rem !important;
}

.account-page-body .player-name-row h2 {
  font-size: 1.8rem;
}

@media (max-width: 1120px) {
  .header-nav-zone { gap: 8px; }
  .notification-trigger { width: 35px; height: 35px; }
}

@media (max-width: 780px) {
  .mobile-app-topbar {
    grid-template-columns: 44px minmax(0, 1fr) auto;
  }

  .mobile-topbar-account-actions {
    display: flex;
    align-items: center;
    justify-self: end;
    gap: 6px;
  }

  .notification-center-compact .notification-trigger {
    width: 39px;
    height: 39px;
    border-radius: 13px;
  }

  .notification-center-compact .notification-dropdown {
    position: fixed;
    top: calc(var(--mobile-bar-height) + env(safe-area-inset-top) + 8px);
    right: 10px;
    left: 10px;
    width: auto;
    max-height: calc(100vh - var(--mobile-bar-height) - var(--mobile-nav-height) - 25px);
  }

  .notification-list {
    max-height: calc(100vh - var(--mobile-bar-height) - var(--mobile-nav-height) - 170px);
  }

  .mobile-topbar-profile {
    width: 42px;
    min-width: 42px;
    padding: 0 !important;
  }

  .mobile-topbar-profile > span {
    display: none;
  }

  .account-page-body {
    font-size: .84rem;
  }

  .account-page-body :where(p, li, label, input, textarea, select, dt, dd) {
    font-size: .79rem !important;
  }

  .account-page-body :where(button, a) {
    font-size: .75rem;
  }

  .account-page-body small {
    font-size: .69rem !important;
  }
}

/* V81.33 — login escuro inclusive com preenchimento automático do Chrome. */
.login-card input,
.login-card input:hover,
.login-card input:focus {
  color: #f2f9ff !important;
  caret-color: #f2f9ff;
  background-color: #0a2237 !important;
  border-color: rgba(145, 190, 222, .2) !important;
  -webkit-appearance: none;
  appearance: none;
}

.login-card input:focus {
  border-color: #2d8dff !important;
  box-shadow: 0 0 0 3px rgba(20, 118, 255, .18) !important;
}

.login-card input:-webkit-autofill,
.login-card input:-webkit-autofill:hover,
.login-card input:-webkit-autofill:focus,
.login-card input:autofill {
  -webkit-text-fill-color: #f2f9ff !important;
  caret-color: #f2f9ff !important;
  background-color: #0a2237 !important;
  -webkit-box-shadow: 0 0 0 1000px #0a2237 inset !important;
  box-shadow: 0 0 0 1000px #0a2237 inset !important;
  transition: background-color 9999s ease-out 0s;
}

/* V81.32 — ranking mobile estável e imagens tolerantes a releases antigos. */
.image-fallback-applied {
  object-fit: cover !important;
  background: #0b2944;
}

.ranking-full-position {
  position: relative;
  z-index: 2;
  display: grid;
  place-items: center;
  min-width: 34px;
  min-height: 34px;
  line-height: 1;
  text-align: center;
}

.ranking-full-avatar {
  z-index: 1;
  flex: 0 0 auto;
  overflow: hidden;
  background:
    radial-gradient(circle at 35% 25%, rgba(71, 154, 255, .26), transparent 45%),
    #0a2740;
  box-shadow:
    0 0 0 2px rgba(5, 20, 35, .94),
    0 0 0 3px rgba(83, 157, 232, .2);
}

.ranking-full-avatar img {
  display: block;
}

@media (max-width: 780px) {
  /* A guia acompanha o conteúdo e não cobre mais o primeiro colocado. */
  .ranking-browser .ranking-mode-tabs {
    position: relative !important;
    top: auto !important;
    z-index: 4;
  }

  .ranking-full-list {
    position: relative;
    z-index: 1;
    overflow: visible !important;
    padding: 12px 0 0 !important;
  }

  .ranking-full-list article {
    position: relative;
    isolation: isolate;
    grid-template-columns: 38px 46px minmax(0, 1fr) auto !important;
    gap: 10px !important;
    overflow: visible;
  }

  .ranking-full-list article:first-child {
    margin-top: 0 !important;
    transform: none !important;
  }

  .ranking-full-position {
    width: 38px;
    min-width: 38px;
    font-size: 1.05rem !important;
  }

  .ranking-full-avatar {
    width: 44px;
    height: 44px;
  }

  .ranking-full-name strong {
    font-size: .88rem !important;
  }

  .ranking-full-identity > small {
    font-size: .68rem !important;
  }

  .ranking-full-rating {
    padding-left: 4px;
    font-size: .94rem !important;
    white-space: nowrap;
  }
}

/* V81.30 — marca oficial no rodapé e arquivo de partidas simplificado. */
.brand-footer-official {
  display: inline-flex;
  width: min(230px, 28vw);
  min-width: 180px;
  height: 54px;
  align-items: center;
}

.footer-official-logo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: left center;
  filter: saturate(1.06) drop-shadow(0 5px 10px rgba(0, 0, 0, .3));
}

.archive-page .archive-table th:nth-child(1),
.archive-page .archive-table td:nth-child(1) {
  width: 6% !important;
  text-align: center !important;
}

.archive-page .archive-table th:nth-child(2),
.archive-page .archive-table td:nth-child(2),
.archive-page .archive-table th:nth-child(3),
.archive-page .archive-table td:nth-child(3) {
  width: 24% !important;
}

.archive-page .archive-table th:nth-child(4),
.archive-page .archive-table td:nth-child(4) {
  width: 20% !important;
  text-align: center !important;
}

.archive-page .archive-table th:nth-child(5),
.archive-page .archive-table td:nth-child(5) {
  width: 12% !important;
}

.archive-page .archive-table th:nth-child(6),
.archive-page .archive-table td:nth-child(6) {
  width: 14% !important;
  text-align: center !important;
}

.archive-download-cell {
  display: grid;
  justify-items: center;
  gap: 5px;
}

.archive-download-main {
  min-width: 92px;
  min-height: 38px;
  gap: 7px;
  padding: 8px 13px;
}

button.archive-download-main:disabled {
  cursor: default;
  opacity: .48;
}

.archive-download-cell .archive-file-size {
  margin: 0 !important;
  color: #7f98b4 !important;
  text-align: center !important;
}

@media (max-width: 780px) {
  .brand-footer-official {
    width: 210px;
    min-width: 0;
    height: 48px;
  }

  .archive-page .archive-table tr {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    grid-template-areas:
      "winner winner loser loser"
      "rating rating rating rating"
      "date date download download" !important;
    gap: 11px 8px !important;
  }

  .archive-page .archive-table td:nth-child(2) {
    grid-area: winner !important;
  }

  .archive-page .archive-table td:nth-child(3) {
    grid-area: loser !important;
  }

  .archive-page .archive-table td:nth-child(4) {
    grid-area: rating !important;
  }

  .archive-page .archive-table td:nth-child(5) {
    grid-area: date !important;
  }

  .archive-page .archive-table td:nth-child(6) {
    grid-area: download !important;
  }

  .archive-page .archive-table td:nth-child(n + 2):nth-child(-n + 6) {
    width: auto !important;
  }

  .archive-download-cell {
    justify-items: end;
  }

  .archive-download-main {
    width: min(132px, 100%);
    min-width: 0 !important;
    min-height: 36px;
    padding-inline: 10px;
    font-size: .58rem !important;
  }

  .archive-download-cell .archive-file-size {
    width: min(132px, 100%);
    text-align: center !important;
  }
}

/* V81.35 — tabela de partidas compacta, sem rolagem horizontal.
   O arquivo antigo impunha 1080px mesmo dentro da coluna central. */
.archive-page .archive-table {
  width: 100% !important;
  min-width: 0 !important;
}

.archive-page .archive-table-wrap {
  overflow-x: hidden !important;
}

@media (min-width: 781px) {
  .archive-page .archive-table th,
  .archive-page .archive-table td {
    height: 60px !important;
    padding: 7px 6px !important;
  }

  .archive-page .archive-table th {
    height: 40px !important;
    font-size: .56rem !important;
  }

  .archive-page .archive-table th:nth-child(1),
  .archive-page .archive-table td:nth-child(1) {
    width: 5% !important;
  }

  .archive-page .archive-table th:nth-child(2),
  .archive-page .archive-table td:nth-child(2),
  .archive-page .archive-table th:nth-child(3),
  .archive-page .archive-table td:nth-child(3) {
    width: 23% !important;
  }

  .archive-page .archive-table th:nth-child(4),
  .archive-page .archive-table td:nth-child(4) {
    width: 18% !important;
  }

  .archive-page .archive-table th:nth-child(5),
  .archive-page .archive-table td:nth-child(5) {
    width: 12% !important;
  }

  .archive-page .archive-table th:nth-child(6),
  .archive-page .archive-table td:nth-child(6) {
    width: 19% !important;
  }

  .archive-page .archive-match-player {
    gap: 6px !important;
  }

  .archive-page .archive-player-avatar {
    width: 32px !important;
    height: 32px !important;
    flex: 0 0 32px !important;
  }

  .archive-page .archive-player-details {
    gap: 1px !important;
  }

  .archive-page .archive-player-name-line {
    gap: 3px !important;
  }

  .archive-page .archive-player-name-line .country-flag {
    width: 14px !important;
    height: 10px !important;
  }

  .archive-page .archive-player-name-line strong {
    font-size: .63rem !important;
  }

  .archive-page .archive-player-details > small,
  .archive-page .archive-player-details .rating-value {
    font-size: .54rem !important;
  }

  .archive-page .archive-trophy {
    font-size: .68rem !important;
  }

  .archive-page .archive-loser-cell {
    grid-template-columns: 19px minmax(0, 1fr) !important;
    gap: 3px !important;
  }

  .archive-page .archive-versus {
    font-size: .48rem !important;
  }

  .archive-page .archive-rating-change {
    justify-content: center !important;
    gap: 6px !important;
  }

  .archive-page .archive-rating-change i {
    height: 17px !important;
  }

  .archive-page .archive-rating-change b {
    min-width: 20px !important;
    font-size: .59rem !important;
  }

  .archive-page .archive-table time strong {
    font-size: .58rem !important;
  }

  .archive-page .archive-table time span {
    font-size: .52rem !important;
  }

  .archive-page .archive-download-main {
    min-width: 76px !important;
    min-height: 33px !important;
    gap: 4px !important;
    padding: 6px 8px !important;
    font-size: .56rem !important;
  }

  .archive-page .archive-download-cell {
    gap: 3px !important;
  }

  .archive-page .archive-download-cell .archive-file-size {
    font-size: .48rem !important;
  }
}

/* ==========================================================
   V81.37 — Estatísticas dedicadas + início mobile reorganizado
   ========================================================== */
.mobile-home-dashboard {
  display: none;
}

.site-header.site-header-compact {
  position: sticky;
  top: 0;
  z-index: 115;
  display: block;
  width: 100%;
  max-width: none;
  min-height: 42px;
  margin: 0;
  border-width: 0 0 1px;
  border-radius: 0;
  background: rgba(3, 16, 29, .96);
  box-shadow: 0 10px 28px rgba(0, 4, 12, .28);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
}

.site-header.site-header-compact .header-topline {
  width: min(1760px, calc(100% - 32px));
  margin: 0 auto;
}

.dedicated-statistics-layout {
  position: relative;
  z-index: 1;
  width: min(1760px, calc(100% - 32px));
  margin: 18px auto 42px;
}

.dedicated-statistics-layout .statistics-center,
.dedicated-statistics-layout .statistics-browser {
  width: 100%;
  max-width: none;
}

.dedicated-statistics-layout .statistics-browser {
  min-height: calc(100vh - 104px);
  border-radius: 18px;
}

.statistics-heading-actions {
  display: flex;
  align-items: stretch;
  justify-content: flex-end;
  gap: 10px;
}

.statistics-page-size {
  display: grid;
  grid-template-columns: auto 72px;
  grid-template-rows: auto auto;
  align-content: center;
  column-gap: 9px;
  min-width: 158px;
  padding: 10px 12px;
  border: 1px solid rgba(74, 153, 222, .2);
  border-radius: 13px;
  background: rgba(9, 39, 64, .76);
  color: #7d99aa;
}

.statistics-page-size span {
  align-self: center;
  font-size: .59rem;
}

.statistics-page-size span:last-child {
  grid-column: 1 / -1;
  margin-top: 2px;
}

.statistics-page-size select {
  grid-column: 2;
  grid-row: 1;
  width: 72px;
  height: 30px;
  padding: 0 24px 0 10px;
  border: 1px solid rgba(97, 170, 238, .26);
  border-radius: 8px;
  outline: 0;
  color: #eef8fd;
  background: #0b2d49;
  font: 800 .68rem/1 var(--font-geist-sans);
  cursor: pointer;
}

@media (min-width: 781px) {
  .dedicated-statistics-layout .statistics-table-wrap {
    display: block !important;
  }

  .dedicated-statistics-layout .statistics-card-list {
    display: none !important;
  }

  .dedicated-statistics-layout .statistics-table th,
  .dedicated-statistics-layout .statistics-table td {
    font-size: clamp(.64rem, .7vw, .76rem) !important;
  }

  .dedicated-statistics-layout .statistics-table th {
    font-size: clamp(.56rem, .62vw, .67rem) !important;
  }
}

@media (max-width: 780px) {
  .statistics-dedicated-page {
    min-height: 100vh;
  }

  .dedicated-statistics-layout {
    width: 100%;
    margin: 0;
    padding: 12px 12px 28px;
  }

  .dedicated-statistics-layout .statistics-browser {
    min-height: calc(100vh - var(--mobile-bar-height) - 24px);
  }

  .statistics-heading {
    flex-direction: column;
    align-items: stretch;
  }

  .statistics-heading-actions {
    justify-content: space-between;
  }

  .statistics-page-size {
    flex: 1;
  }

  .statistics-heading .statistics-total {
    display: block;
  }

  .mobile-home-dashboard {
    position: relative;
    z-index: 10;
    display: grid;
    gap: 10px;
    padding: 10px 12px 0;
  }

  .center-section-switch {
    display: none !important;
  }

  .mobile-pool8-strip {
    display: grid;
    grid-template-columns: auto repeat(4, minmax(0, 1fr));
    align-items: stretch;
    min-height: var(--mobile-bar-height);
    overflow: hidden;
    border: 1px solid rgba(171, 216, 237, .14);
    border-radius: 17px;
    background: linear-gradient(145deg, rgba(10, 42, 66, .98), rgba(5, 24, 40, .98));
    box-shadow: 0 10px 25px rgba(0, 4, 12, .22);
  }

  .mobile-pool8-strip .mobile-mode-control,
  .mobile-pool8-strip a {
    display: grid;
    place-items: center;
    min-width: 0;
    padding: 0 5px;
    text-align: center;
  }

  .mobile-pool8-strip .mobile-mode-control {
    position: relative;
    border-right: 1px solid rgba(171, 216, 237, .11);
    background: rgba(28, 112, 211, .08);
    overflow: hidden;
  }

  .mobile-pool8-strip .mobile-mode-selector {
    appearance: none;
    width: 100%;
    height: 100%;
    min-width: 75px;
    padding: 0 18px 0 8px;
    border: 0;
    outline: 0;
    color: #f4fbff;
    background: transparent;
    cursor: pointer;
    text-align: center;
    text-align-last: center;
    font-size: .67rem;
    font-weight: 850;
  }

  .mobile-pool8-strip .mobile-mode-selector option {
    color: #eaf7ff;
    background: #09243a;
  }

  .mobile-pool8-strip .mobile-mode-control > span {
    pointer-events: none;
    position: absolute;
    right: 6px;
    top: 50%;
    color: #5da8ff;
    font-size: .55rem;
    transform: translateY(-50%);
  }

  .mobile-pool8-strip .mobile-mode-control:focus-within,
  .mobile-pool8-strip .mobile-mode-control:active {
    background: rgba(31, 132, 255, .18);
    box-shadow: inset 0 0 0 1px rgba(57, 148, 255, .22);
  }

  .mobile-pool8-strip a {
    position: relative;
    color: #8ca8b9;
    font-size: clamp(.5rem, 2.35vw, .61rem);
    font-weight: 780;
  }

  .mobile-pool8-strip a + a::before {
    position: absolute;
    top: 15px;
    bottom: 15px;
    left: 0;
    width: 1px;
    background: rgba(171, 216, 237, .08);
    content: "";
  }

  .mobile-pool8-strip a:active {
    color: #fff;
    background: rgba(31, 132, 255, .14);
  }

  .mobile-home-live {
    overflow: hidden;
    border: 1px solid rgba(171, 216, 237, .13);
    border-radius: 17px;
    background: linear-gradient(145deg, rgba(8, 35, 56, .97), rgba(4, 20, 34, .98));
  }

  .mobile-home-live > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 40px;
    padding: 0 13px;
    border-bottom: 1px solid rgba(171, 216, 237, .09);
  }

  .mobile-home-live > header strong {
    color: #dff5ff;
    font-size: .64rem;
    text-transform: uppercase;
    letter-spacing: .055em;
  }

  .mobile-home-live > header a {
    color: #62a8ff;
    font-size: .57rem;
    font-weight: 780;
  }

  .mobile-home-live-list {
    max-height: 156px;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: rgba(74, 153, 222, .35) transparent;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
  }

  .mobile-home-live-list article {
    height: 52px;
    min-height: 52px;
    padding: 7px 11px !important;
    overflow: hidden;
  }

  .mobile-home-live-list article:nth-child(n + 4) {
    border-top: 1px solid rgba(171, 216, 237, .06);
  }
}

/* V81.39 — idioma completo, seletor mobile interativo e atividade por modalidade */
.header-topline-left {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}

.language-selector {
  position: relative;
  z-index: 90;
  flex: none;
}

.language-trigger {
  display: grid;
  grid-template-columns: 23px auto 10px;
  align-items: center;
  gap: 7px;
  min-width: 88px;
  height: 34px;
  padding: 0 9px;
  border: 1px solid rgba(136, 184, 218, .17);
  border-radius: 10px;
  color: #dcecf6;
  background: rgba(224, 244, 255, .045);
  cursor: pointer;
  transition: border-color .16s ease, background .16s ease, transform .16s ease;
}

.language-trigger:hover,
.language-trigger.active {
  border-color: rgba(67, 150, 255, .43);
  background: rgba(20, 118, 255, .13);
  transform: translateY(-1px);
}

.language-flag {
  position: relative;
  display: grid;
  place-items: center;
  width: 23px;
  height: 17px;
  overflow: hidden;
  border-radius: 4px;
  background: #0a2235;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, .14);
}

.language-flag .fi {
  position: absolute;
  z-index: 1;
  inset: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
}

.language-flag-emoji {
  display: inline;
  font-size: 1rem;
  line-height: 1;
}

.language-trigger-copy {
  display: grid;
  gap: 0;
  text-align: left;
  line-height: 1;
}

.language-trigger-copy small {
  color: #68869a;
  font-size: .45rem;
  font-weight: 650;
}

.language-trigger-copy strong {
  margin-top: 3px;
  color: #e8f4fa;
  font-size: .6rem;
  letter-spacing: .04em;
}

.language-chevron {
  color: #66879c;
  font-size: .65rem;
  transition: transform .16s ease;
}

.language-trigger.active .language-chevron {
  transform: rotate(180deg);
}

.language-dropdown {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  width: 210px;
  padding: 7px;
  overflow: hidden;
  border: 1px solid rgba(111, 173, 217, .25);
  border-radius: 14px;
  background: rgba(5, 24, 40, .985);
  box-shadow: 0 22px 55px rgba(0, 4, 12, .52);
  backdrop-filter: blur(18px);
}

.language-dropdown::before {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at 20% 0, rgba(35, 126, 255, .16), transparent 48%);
  content: "";
}

.language-dropdown-title {
  position: relative;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  padding: 8px 9px 9px;
  border-bottom: 1px solid rgba(174, 215, 237, .09);
}

.language-dropdown-title strong {
  color: #edf8ff;
  font-size: .65rem;
}

.language-dropdown-title small {
  color: #5f8095;
  font-size: .49rem;
}

.language-dropdown > button {
  position: relative;
  display: grid;
  grid-template-columns: 25px minmax(0, 1fr) 18px;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 43px;
  padding: 5px 9px;
  border: 0;
  border-radius: 9px;
  color: #9eb6c7;
  background: transparent;
  cursor: pointer;
  text-align: left;
}

.language-dropdown > button:hover,
.language-dropdown > button.selected {
  color: #fff;
  background: rgba(20, 118, 255, .13);
}

.language-dropdown > button > span:nth-child(2) {
  display: grid;
  gap: 2px;
}

.language-dropdown > button strong {
  font-size: .63rem;
}

.language-dropdown > button small {
  color: #648398;
  font-size: .48rem;
}

.language-dropdown > button i {
  color: #35d792;
  font-size: .7rem;
  font-style: normal;
  font-weight: 900;
  text-align: center;
}

@supports not (background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'/%3E")) {
  .language-flag .fi { display: none; }
  .language-flag-emoji { display: inline; }
}

@media (max-width: 1180px) and (min-width: 781px) {
  .header-topline-left {
    gap: 8px;
  }

  .language-trigger {
    grid-template-columns: 22px 10px;
    min-width: 54px;
    padding-inline: 9px;
  }

  .language-trigger-copy {
    display: none;
  }

  .language-dropdown {
    left: auto;
    right: 0;
  }
}

@media (max-width: 780px) {
  .mobile-topbar-language {
    position: relative;
    z-index: 125;
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
  }

  .mobile-topbar-language .language-trigger {
    display: grid;
    grid-template-columns: 24px;
    place-items: center;
    min-width: 40px;
    width: 40px;
    height: 40px;
    padding: 0;
    border-radius: 13px;
    border-color: rgba(65, 144, 255, .32);
    background: linear-gradient(145deg, rgba(25, 112, 235, .23), rgba(7, 46, 87, .42));
    box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .04), 0 7px 18px rgba(20, 118, 255, .17);
  }

  .mobile-topbar-language .language-trigger-copy,
  .mobile-topbar-language .language-chevron {
    display: none;
  }

  .mobile-topbar-language .language-flag {
    width: 25px;
    height: 18px;
    border-radius: 5px;
  }

  .mobile-topbar-language .language-dropdown {
    top: calc(100% + 10px);
    right: auto;
    left: 0;
  }
}

/* V81.40 — correções mobile: idioma centralizado e paginação compacta do ranking */
@media (max-width: 780px) {
  /* Centraliza a bandeira exatamente no botão quadrado do topo. */
  .mobile-topbar-language,
  .mobile-topbar-language .language-selector {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .mobile-topbar-language .language-selector {
    width: 40px !important;
    height: 40px !important;
    margin: 0 !important;
  }

  .mobile-topbar-language .language-trigger {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    padding: 0 !important;
    gap: 0 !important;
  }

  .mobile-topbar-language .language-flag {
    flex: 0 0 auto !important;
    width: 25px !important;
    height: 18px !important;
    margin: 0 !important;
    transform: none !important;
  }

  /* Mantém Anterior, página e Próxima lado a lado, em uma faixa baixa. */
  .ranking-pagination {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: stretch !important;
    gap: 8px !important;
    min-height: 54px !important;
    padding: 8px 10px !important;
  }

  .ranking-pagination button {
    width: auto !important;
    min-width: 0 !important;
    height: 36px !important;
    padding: 0 10px !important;
    white-space: nowrap !important;
  }

  .ranking-pagination button:first-child {
    justify-self: start !important;
  }

  .ranking-pagination button:last-child {
    justify-self: end !important;
  }

  .ranking-pagination span {
    justify-self: center !important;
    white-space: nowrap !important;
    text-align: center !important;
  }
}
\n\n/* V81.43 — troféu oficial nos torneios */
.winner-portrait > .winner-trophy-badge {
  position: absolute;
  right: 12px;
  bottom: 10px;
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  padding: 3px;
  border: 1px solid rgba(255, 214, 82, .8);
  border-radius: 50%;
  background: radial-gradient(circle at 35% 25%, rgba(255,255,255,.22), rgba(8,52,104,.96) 68%);
  box-shadow: 0 4px 14px rgba(0,0,0,.36);
  overflow: hidden;
}
.winner-portrait > .winner-trophy-badge img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 2px 3px rgba(0,0,0,.32));
}
.activity-tournament-icon {
  padding: 2px;
  background: radial-gradient(circle, rgba(22,91,185,.52), rgba(3,26,48,.96));
}
.activity-tournament-icon > img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  border-radius: 0 !important;
}
.avatar,
.header-live-team-stack { position: relative; }
.activity-champion-trophy {
  position: absolute;
  right: -4px;
  bottom: -3px;
  width: 19px;
  height: 19px;
  display: grid;
  place-items: center;
  padding: 1px;
  border: 1px solid #f4cf51;
  border-radius: 50%;
  background: #08213a;
  box-shadow: 0 2px 6px rgba(0,0,0,.5);
  z-index: 4;
  overflow: hidden;
}
.activity-champion-trophy img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 0;
}
@media (max-width: 760px) {
  .winner-portrait > .winner-trophy-badge {
    right: 7px;
    bottom: 7px;
    width: 32px;
    height: 32px;
  }
}


/* V81.44 — idioma no canto direito e notificações no card do usuário (desktop) */
@media (min-width: 781px) {
  .account-card .account-summary {
    position: relative;
    padding-right: 52px;
  }

  .account-summary-notifications {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 25;
  }

  .account-summary-notifications .notification-trigger {
    width: 34px;
    height: 34px;
    border-radius: 10px;
  }

  .account-summary-notifications .notification-dropdown {
    top: calc(100% + 9px);
    right: 0;
    left: auto;
    width: min(360px, calc(100vw - 30px));
  }

  .header-nav-zone > .language-selector {
    margin-left: 1px;
  }
}

@media (max-width: 780px) {
  .account-summary-notifications {
    display: none;
  }
}

/* V81.45 — imagens das publicações sociais sempre exibidas por inteiro. */
.social-post-image {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: min(72vh, 760px) !important;
  margin: 14px auto 0 !important;
  object-fit: contain !important;
  object-position: center center !important;
  border: 1px solid rgba(91, 137, 172, .18);
  border-radius: 10px;
  background: rgba(3, 17, 30, .78);
}

.social-composer-image-preview img {
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: min(60vh, 520px) !important;
  margin: 0 auto;
  object-fit: contain !important;
  object-position: center center !important;
}

@media (max-width: 780px) {
  .social-post-image {
    max-height: 68vh !important;
  }
}

/* V81.46 — dropdown de notificações fora do card do usuário. */
@media (min-width: 781px) {
  .portal-layout,
  .portal-layout > aside,
  .account-card,
  .account-card .account-summary,
  .account-summary-notifications,
  .account-summary-notifications .notification-center {
    overflow: visible !important;
  }

  .account-card {
    position: relative;
    z-index: 60;
  }

  .account-summary-notifications {
    z-index: 1000;
  }

  .account-summary-notifications .notification-dropdown {
    z-index: 1100;
    top: 0;
    right: auto;
    left: calc(100% + 14px);
    width: min(390px, calc(100vw - 330px));
    max-height: min(620px, calc(100vh - 40px));
  }
}


/* V81.47 — troféus dos torneios maiores e melhor alinhados */
.winner-portrait > .winner-trophy-badge {
  top: 12px;
  right: 12px;
  bottom: auto;
  width: 44px;
  height: 44px;
  padding: 4px;
  border: 1px solid rgba(255, 214, 82, .88);
  border-radius: 50%;
  background: radial-gradient(circle at 35% 25%, rgba(255,255,255,.24), rgba(8,52,104,.98) 68%);
  box-shadow: 0 6px 18px rgba(0,0,0,.36);
}

.activity-item-tournament {
  grid-template-columns: 68px minmax(0,1fr) auto !important;
  align-items: center;
}

.activity-tournament-icon {
  width: 58px !important;
  height: 58px !important;
  min-width: 58px;
  min-height: 58px;
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.activity-tournament-icon:hover {
  box-shadow: none !important;
}

.activity-tournament-icon > img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  border-radius: 0 !important;
  filter: drop-shadow(0 5px 10px rgba(0,0,0,.28));
}

.activity-champion-trophy {
  top: -5px;
  right: -5px;
  bottom: auto;
  width: 24px;
  height: 24px;
  padding: 2px;
  border: 1px solid #f4cf51;
  box-shadow: 0 3px 8px rgba(0,0,0,.42);
}

@media (max-width: 760px) {
  .winner-portrait > .winner-trophy-badge {
    top: 8px;
    right: 8px;
    bottom: auto;
    width: 34px;
    height: 34px;
    padding: 3px;
  }

  .activity-item-tournament {
    grid-template-columns: 56px minmax(0,1fr) auto !important;
  }

  .activity-tournament-icon {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px;
    min-height: 48px;
  }

  .activity-champion-trophy {
    top: -4px;
    right: -4px;
    width: 20px;
    height: 20px;
    padding: 1px;
  }
}


/* V81.48 — destaque correto para campeões e capacidade do torneio */
/* Hall: mantém o local original, mas deixa o troféu solto e maior. */
.winner-portrait > .winner-trophy-badge {
  top: auto !important;
  right: 10px !important;
  bottom: 8px !important;
  width: 52px !important;
  height: 52px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}
.winner-portrait > .winner-trophy-badge img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  filter: drop-shadow(0 4px 7px rgba(0,0,0,.5));
}

/* Campeão nas atividades: avatar maior e troféu vazando no alto à direita. */
.activity-item-champion {
  grid-template-columns: 74px minmax(0,1fr) auto !important;
  align-items: center !important;
}
.activity-item-champion > .header-live-avatar-link,
.activity-item-champion > .avatar {
  width: 62px !important;
  height: 62px !important;
  min-width: 62px !important;
  overflow: visible !important;
  position: relative !important;
  border-radius: 50% !important;
}
.activity-item-champion > .header-live-avatar-link > img:first-child,
.activity-item-champion > .avatar > img:first-child {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: 50% !important;
}
.activity-item-champion .activity-champion-trophy {
  top: -11px !important;
  right: -12px !important;
  bottom: auto !important;
  width: 34px !important;
  height: 34px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
  z-index: 8 !important;
  pointer-events: none;
}
.activity-item-champion .activity-champion-trophy img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  border-radius: 0 !important;
  filter: drop-shadow(0 3px 5px rgba(0,0,0,.55));
}

@media (max-width: 760px) {
  .winner-portrait > .winner-trophy-badge {
    right: 7px !important;
    bottom: 6px !important;
    width: 44px !important;
    height: 44px !important;
  }
  .activity-item-champion {
    grid-template-columns: 62px minmax(0,1fr) auto !important;
  }
  .activity-item-champion > .header-live-avatar-link,
  .activity-item-champion > .avatar {
    width: 52px !important;
    height: 52px !important;
    min-width: 52px !important;
  }
  .activity-item-champion .activity-champion-trophy {
    top: -8px !important;
    right: -9px !important;
    width: 29px !important;
    height: 29px !important;
  }
}

/* V81.49 — tamanhos compactos somente na Atividade ao vivo da página inicial */
.header-live-list .activity-item-tournament,
.header-live-list .activity-item-champion {
  grid-template-columns: 42px minmax(0,1fr) auto !important;
  gap: 10px !important;
  min-height: 49px !important;
  align-items: center !important;
}

.header-live-list .activity-tournament-icon {
  width: 35px !important;
  height: 35px !important;
  min-width: 35px !important;
  min-height: 35px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.header-live-list .activity-tournament-icon > img {
  width: 35px !important;
  height: 35px !important;
  object-fit: contain !important;
  border-radius: 0 !important;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,.35));
}

.header-live-list .activity-item-champion > .header-live-avatar-link,
.header-live-list .activity-item-champion > .avatar {
  width: 35px !important;
  height: 35px !important;
  min-width: 35px !important;
  min-height: 35px !important;
  border-radius: 50% !important;
  overflow: visible !important;
}

.header-live-list .activity-item-champion > .header-live-avatar-link > img:first-child,
.header-live-list .activity-item-champion > .avatar > img:first-child {
  width: 35px !important;
  height: 35px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
}

.header-live-list .activity-item-champion .activity-champion-trophy {
  top: -5px !important;
  right: -6px !important;
  width: 19px !important;
  height: 19px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.header-live-list .activity-item-champion .activity-champion-trophy img {
  width: 19px !important;
  height: 19px !important;
  object-fit: contain !important;
  border-radius: 0 !important;
  filter: drop-shadow(0 2px 3px rgba(0,0,0,.5));
}

/* V81.50 — molduras de pontuação no perfil público */
.player-profile-card .player-photo-shell,
.profile-settings-avatar {
  position: relative;
  isolation: isolate;
}

.player-profile-card .player-photo-shell {
  overflow: visible;
}

.player-profile-card .player-photo-shell > .player-photo-image,
.player-profile-card .player-photo-shell > .player-photo-fallback {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  border-radius: 13px;
  overflow: hidden;
}

.player-profile-card .player-photo-shell > .player-photo-image {
  display: block;
  object-fit: cover;
  object-position: center top;
}

.rating-profile-frame {
  position: absolute;
  z-index: 3;
  inset: -7px;
  width: calc(100% + 14px) !important;
  height: calc(100% + 14px) !important;
  max-width: none !important;
  object-fit: fill !important;
  object-position: center !important;
  border-radius: 0 !important;
  pointer-events: none;
  user-select: none;
  filter: drop-shadow(0 4px 8px rgba(0,0,0,.38));
}

.profile-settings-avatar {
  overflow: visible !important;
}

.profile-settings-avatar > .profile-settings-avatar-image {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
}

.profile-settings-avatar .rating-profile-frame-preview {
  inset: -5px;
  width: calc(100% + 10px) !important;
  height: calc(100% + 10px) !important;
}

.profile-settings-avatar .profile-online-dot {
  z-index: 5;
}

@media (max-width: 560px) {
  .rating-profile-frame {
    inset: -6px;
    width: calc(100% + 12px) !important;
    height: calc(100% + 12px) !important;
  }
}


/* V81.53 — encaixe individual das molduras avançadas */
/* As artes 2000/2100/2200 têm ornamentos internos maiores. Aumentamos
   somente a tela da moldura, sem alterar a foto, para que a abertura
   transparente coincida com as bordas do retrato. */
.player-profile-card .rating-profile-frame-2000 {
  inset: -16px;
  width: calc(100% + 32px) !important;
  height: calc(100% + 32px) !important;
}

.player-profile-card .rating-profile-frame-2100 {
  inset: -20px;
  width: calc(100% + 40px) !important;
  height: calc(100% + 40px) !important;
}

.player-profile-card .rating-profile-frame-2200 {
  inset: -21px;
  width: calc(100% + 42px) !important;
  height: calc(100% + 42px) !important;
}

/* A prévia das configurações usa a mesma proporção de encaixe. */
.profile-settings-avatar .rating-profile-frame-2000.rating-profile-frame-preview {
  inset: -11px;
  width: calc(100% + 22px) !important;
  height: calc(100% + 22px) !important;
}
.profile-settings-avatar .rating-profile-frame-2100.rating-profile-frame-preview {
  inset: -13px;
  width: calc(100% + 26px) !important;
  height: calc(100% + 26px) !important;
}
.profile-settings-avatar .rating-profile-frame-2200.rating-profile-frame-preview {
  inset: -14px;
  width: calc(100% + 28px) !important;
  height: calc(100% + 28px) !important;
}

@media (max-width: 560px) {
  .player-profile-card .rating-profile-frame-2000 {
    inset: -13px;
    width: calc(100% + 26px) !important;
    height: calc(100% + 26px) !important;
  }
  .player-profile-card .rating-profile-frame-2100 {
    inset: -16px;
    width: calc(100% + 32px) !important;
    height: calc(100% + 32px) !important;
  }
  .player-profile-card .rating-profile-frame-2200 {
    inset: -17px;
    width: calc(100% + 34px) !important;
    height: calc(100% + 34px) !important;
  }
}


/* V81.54 — foto inteira dentro da abertura da moldura */
/* A moldura define o espaço visual. A foto é reduzida automaticamente
   e usa contain para nunca ser cortada pelas partes ornamentais. */
.player-profile-card .player-photo-shell.has-rating-frame > .player-photo-image,
.player-profile-card .player-photo-shell.has-rating-frame > .player-photo-fallback {
  position: absolute !important;
  inset: 7px !important;
  width: auto !important;
  height: auto !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: #061523;
  border-radius: 10px;
}

/* Molduras avançadas possuem ornamentos mais largos dentro da abertura. */
.player-profile-card .player-photo-shell.rating-frame-tier-2000 > .player-photo-image,
.player-profile-card .player-photo-shell.rating-frame-tier-2000 > .player-photo-fallback {
  inset: 20px 13px 19px !important;
  border-radius: 8px;
}

.player-profile-card .player-photo-shell.rating-frame-tier-2100 > .player-photo-image,
.player-profile-card .player-photo-shell.rating-frame-tier-2100 > .player-photo-fallback {
  inset: 28px 15px 27px !important;
  border-radius: 8px;
}

.player-profile-card .player-photo-shell.rating-frame-tier-2200 > .player-photo-image,
.player-profile-card .player-photo-shell.rating-frame-tier-2200 > .player-photo-fallback {
  inset: 35px 18px 33px !important;
  border-radius: 7px;
}

@media (max-width: 560px) {
  .player-profile-card .player-photo-shell.has-rating-frame > .player-photo-image,
  .player-profile-card .player-photo-shell.has-rating-frame > .player-photo-fallback {
    inset: 6px !important;
  }
  .player-profile-card .player-photo-shell.rating-frame-tier-2000 > .player-photo-image,
  .player-profile-card .player-photo-shell.rating-frame-tier-2000 > .player-photo-fallback {
    inset: 17px 11px 16px !important;
  }
  .player-profile-card .player-photo-shell.rating-frame-tier-2100 > .player-photo-image,
  .player-profile-card .player-photo-shell.rating-frame-tier-2100 > .player-photo-fallback {
    inset: 23px 13px 22px !important;
  }
  .player-profile-card .player-photo-shell.rating-frame-tier-2200 > .player-photo-image,
  .player-profile-card .player-photo-shell.rating-frame-tier-2200 > .player-photo-fallback {
    inset: 29px 15px 27px !important;
  }
}


/* V81.55 — correção estrutural da foto dentro das molduras */
/* A foto fica em um viewport próprio. Isso impede a imagem de usar o tamanho
   intrínseco e escapar para dentro das informações do jogador. */
.player-profile-card .player-photo-shell > .player-photo-viewport {
  position: absolute;
  z-index: 1;
  inset: 7px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 10px;
  background: #061523;
}

.player-profile-card .player-photo-shell > .player-photo-viewport > .player-photo-image,
.player-profile-card .player-photo-shell > .player-photo-viewport > .player-photo-fallback {
  position: static !important;
  inset: auto !important;
  display: block;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: 100% !important;
  max-height: 100% !important;
  margin: 0 !important;
  border-radius: 0 !important;
}

.player-profile-card .player-photo-shell > .player-photo-viewport > .player-photo-image {
  object-fit: contain !important;
  object-position: center center !important;
}

.player-profile-card .player-photo-shell > .player-photo-viewport > .player-photo-fallback {
  display: grid !important;
  place-items: center;
}

/* Neutraliza as regras V81.54 aplicadas diretamente à imagem antiga. */
.player-profile-card .player-photo-shell.has-rating-frame > .player-photo-image,
.player-profile-card .player-photo-shell.has-rating-frame > .player-photo-fallback,
.player-profile-card .player-photo-shell.rating-frame-tier-2000 > .player-photo-image,
.player-profile-card .player-photo-shell.rating-frame-tier-2000 > .player-photo-fallback,
.player-profile-card .player-photo-shell.rating-frame-tier-2100 > .player-photo-image,
.player-profile-card .player-photo-shell.rating-frame-tier-2100 > .player-photo-fallback,
.player-profile-card .player-photo-shell.rating-frame-tier-2200 > .player-photo-image,
.player-profile-card .player-photo-shell.rating-frame-tier-2200 > .player-photo-fallback {
  position: static !important;
  inset: auto !important;
  width: auto !important;
  height: auto !important;
}

/* Abertura útil específica de cada moldura avançada. */
.player-profile-card .player-photo-shell.rating-frame-tier-2000 > .player-photo-viewport {
  inset: 20px 13px 19px;
  border-radius: 8px;
}
.player-profile-card .player-photo-shell.rating-frame-tier-2100 > .player-photo-viewport {
  inset: 28px 15px 27px;
  border-radius: 8px;
}
.player-profile-card .player-photo-shell.rating-frame-tier-2200 > .player-photo-viewport {
  inset: 35px 18px 33px;
  border-radius: 7px;
}

/* Sem moldura, a foto volta a ocupar o retrato inteiro. */
.player-profile-card .player-photo-shell:not(.has-rating-frame) > .player-photo-viewport {
  inset: 0;
  border-radius: 13px;
}
.player-profile-card .player-photo-shell:not(.has-rating-frame) > .player-photo-viewport > .player-photo-image {
  object-fit: cover !important;
  object-position: center top !important;
}

@media (max-width: 560px) {
  .player-profile-card .player-photo-shell > .player-photo-viewport {
    inset: 6px;
  }
  .player-profile-card .player-photo-shell.rating-frame-tier-2000 > .player-photo-viewport {
    inset: 17px 11px 16px;
  }
  .player-profile-card .player-photo-shell.rating-frame-tier-2100 > .player-photo-viewport {
    inset: 23px 13px 22px;
  }
  .player-profile-card .player-photo-shell.rating-frame-tier-2200 > .player-photo-viewport {
    inset: 29px 15px 27px;
  }
}

/* V81.56 — foto preenchendo integralmente o vão interno da moldura */
/* O viewport segue a abertura de cada arte; a foto cobre todo esse espaço.
   Assim não aparece fundo do card entre a imagem e a moldura. */
.player-profile-card .player-photo-shell.has-rating-frame {
  background: transparent !important;
  border-color: transparent !important;
}

.player-profile-card .player-photo-shell.has-rating-frame > .player-photo-viewport {
  background: transparent !important;
  box-shadow: none !important;
}

.player-profile-card .player-photo-shell.has-rating-frame > .player-photo-viewport > .player-photo-image {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
}

/* Aberturas calibradas para as molduras ornamentais avançadas. */
.player-profile-card .player-photo-shell.rating-frame-tier-2000 > .player-photo-viewport {
  inset: 17px 11px 16px !important;
}
.player-profile-card .player-photo-shell.rating-frame-tier-2100 > .player-photo-viewport {
  inset: 23px 12px 22px !important;
}
.player-profile-card .player-photo-shell.rating-frame-tier-2200 > .player-photo-viewport {
  inset: 28px 14px 27px !important;
}

@media (max-width: 560px) {
  .player-profile-card .player-photo-shell.rating-frame-tier-2000 > .player-photo-viewport {
    inset: 15px 10px 14px !important;
  }
  .player-profile-card .player-photo-shell.rating-frame-tier-2100 > .player-photo-viewport {
    inset: 20px 11px 19px !important;
  }
  .player-profile-card .player-photo-shell.rating-frame-tier-2200 > .player-photo-viewport {
    inset: 24px 12px 23px !important;
  }
}

/* V81.57 — rosa e verde contidas sem alterar a moldura preta */
/* As artes 2000 e 2100 ocupam mais área útil do próprio PNG. Por isso,
   recebem escala menor que a 2200, evitando ultrapassar visualmente o card. */
.player-profile-card .rating-profile-frame-2000 {
  inset: -10px !important;
  width: calc(100% + 20px) !important;
  height: calc(100% + 20px) !important;
}

.player-profile-card .rating-profile-frame-2100 {
  inset: -12px !important;
  width: calc(100% + 24px) !important;
  height: calc(100% + 24px) !important;
}

/* Mantém o vão preenchido pela foto após a redução da arte. */
.player-profile-card .player-photo-shell.rating-frame-tier-2000 > .player-photo-viewport {
  inset: 20px 14px 19px !important;
}
.player-profile-card .player-photo-shell.rating-frame-tier-2100 > .player-photo-viewport {
  inset: 25px 15px 24px !important;
}

.profile-settings-avatar .rating-profile-frame-2000.rating-profile-frame-preview {
  inset: -7px !important;
  width: calc(100% + 14px) !important;
  height: calc(100% + 14px) !important;
}
.profile-settings-avatar .rating-profile-frame-2100.rating-profile-frame-preview {
  inset: -8px !important;
  width: calc(100% + 16px) !important;
  height: calc(100% + 16px) !important;
}

@media (max-width: 560px) {
  .player-profile-card .rating-profile-frame-2000 {
    inset: -8px !important;
    width: calc(100% + 16px) !important;
    height: calc(100% + 16px) !important;
  }
  .player-profile-card .rating-profile-frame-2100 {
    inset: -10px !important;
    width: calc(100% + 20px) !important;
    height: calc(100% + 20px) !important;
  }
  .player-profile-card .player-photo-shell.rating-frame-tier-2000 > .player-photo-viewport {
    inset: 18px 13px 17px !important;
  }
  .player-profile-card .player-photo-shell.rating-frame-tier-2100 > .player-photo-viewport {
    inset: 22px 14px 21px !important;
  }
}

/* V81.58 — recorte exato da foto nos vãos rosa e verde */
/*
   As molduras 2000 e 2100 possuem aberturas ornamentais irregulares.
   Um simples retângulo deixava a foto aparecer acima das pontas e abaixo
   do acabamento. Agora a foto usa uma máscara extraída do vão real de
   cada PNG, mantendo a moldura e a imagem perfeitamente alinhadas.
*/
.player-profile-card .player-photo-shell.rating-frame-tier-2000 > .player-photo-viewport,
.player-profile-card .player-photo-shell.rating-frame-tier-2100 > .player-photo-viewport {
  border-radius: 0 !important;
  background: transparent !important;
  overflow: visible !important;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
}

/* O viewport ocupa exatamente a mesma caixa usada pela arte da moldura. */
.player-profile-card .player-photo-shell.rating-frame-tier-2000 > .player-photo-viewport {
  inset: -10px !important;
  -webkit-mask-image: url('/assets/profile-frames/masks/2000-opening.png');
  mask-image: url('/assets/profile-frames/masks/2000-opening.png');
}

.player-profile-card .player-photo-shell.rating-frame-tier-2100 > .player-photo-viewport {
  inset: -12px !important;
  -webkit-mask-image: url('/assets/profile-frames/masks/2100-opening.png');
  mask-image: url('/assets/profile-frames/masks/2100-opening.png');
}

/* A imagem preenche o retângulo útil do vão; a máscara recorta as curvas,
   pontas e detalhes internos sem deixar fundo ou foto vazando. */
.player-profile-card .player-photo-shell.rating-frame-tier-2000 > .player-photo-viewport > .player-photo-image,
.player-profile-card .player-photo-shell.rating-frame-tier-2000 > .player-photo-viewport > .player-photo-fallback {
  position: absolute !important;
  left: 18% !important;
  top: 14.6% !important;
  width: 64.17% !important;
  height: 78% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.player-profile-card .player-photo-shell.rating-frame-tier-2100 > .player-photo-viewport > .player-photo-image,
.player-profile-card .player-photo-shell.rating-frame-tier-2100 > .player-photo-viewport > .player-photo-fallback {
  position: absolute !important;
  left: 21.83% !important;
  top: 18.1% !important;
  width: 56.84% !important;
  height: 68.5% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
}

@media (max-width: 560px) {
  .player-profile-card .player-photo-shell.rating-frame-tier-2000 > .player-photo-viewport {
    inset: -8px !important;
  }

  .player-profile-card .player-photo-shell.rating-frame-tier-2100 > .player-photo-viewport {
    inset: -10px !important;
  }
}

/* V81.59 — tipografia solicitada para ranking e arquivo de partidas. */
.ranking-browser .ranking-full-name strong,
.ranking-browser .ranking-full-rating {
  color: #fff !important;
}

.ranking-browser .ranking-full-rating,
.ranking-browser .ranking-full-rating * {
  font-weight: 400 !important;
}

.archive-page .archive-table tbody,
.archive-page .archive-table tbody * {
  font-weight: 400 !important;
}

/* V81.60 — mesma tipografia no Top 10 lateral. */
.ranking-neutral-card .rail-ranking-list strong,
.ranking-neutral-card .rail-ranking-list b,
.ranking-blue-card .ranking-blue-body strong,
.ranking-blue-card .ranking-blue-body b {
  color: #fff !important;
}

.ranking-neutral-card .rail-ranking-list strong,
.ranking-neutral-card .rail-ranking-list strong *,
.ranking-neutral-card .rail-ranking-list b,
.ranking-neutral-card .rail-ranking-list b *,
.ranking-blue-card .ranking-blue-body strong,
.ranking-blue-card .ranking-blue-body strong *,
.ranking-blue-card .ranking-blue-body b,
.ranking-blue-card .ranking-blue-body b * {
  font-weight: 400 !important;
}
