/* MU Rave 99z · peças novas no estilo do site (ouro antigo, pedra escura)
   Carregando dos templates, botão carregando, tela de processando, notícias,
   eventos ao vivo e Hall da Fama. Usa os tokens do arq/style.css. */

/* ---------------------------------------------------------------- carregando dos templates */
.tpl-loading { position: relative; padding: 24px 16px; text-align: center; font: 600 10px/1 var(--f-mono); letter-spacing: 2px; text-transform: uppercase; color: var(--c-muted); }
.tpl-loading::before { content: ""; display: block; width: 24px; height: 24px; margin: 0 auto 10px; border-radius: 50%;
  border: 2px solid rgba(230, 184, 79, .18); border-top-color: var(--c-gold); border-left-color: var(--c-ember); animation: rvspin .75s linear infinite; }
.tpl-error { margin: 10px; padding: 11px 13px; font-size: 13px; color: #ffd9c9; background: rgba(209, 59, 47, .1); box-shadow: inset 0 0 0 1px rgba(209, 59, 47, .4); }
@keyframes rvspin { to { transform: rotate(360deg); } }

/* ---------------------------------------------------------------- botão carregando (api.js) */
.is-loading { position: relative !important; color: transparent !important; text-shadow: none !important; pointer-events: none !important; cursor: progress; }
.is-loading > * { visibility: hidden; }
.is-loading::after { content: ""; position: absolute; left: 50%; top: 50%; width: 18px; height: 18px; margin: -9px 0 0 -9px; border-radius: 50%;
  border: 2px solid rgba(255, 230, 168, .3); border-top-color: var(--c-gold-b); animation: rvspin .7s linear infinite; visibility: visible; }

/* ---------------------------------------------------------------- tela de processando (compras e ações) */
.wait-ov { position: fixed; inset: 0; z-index: 10050; display: grid; place-items: center; padding: 16px; background: rgba(6, 4, 2, .8);
  backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px); opacity: 0; visibility: hidden; transition: opacity .2s, visibility .2s; }
.wait-ov.on { opacity: 1; visibility: visible; }
.wait-box { width: 100%; max-width: 380px; padding: 30px 26px 24px; text-align: center; background: linear-gradient(180deg, #1b1710, #0e0b07);
  box-shadow: var(--frame), 0 30px 80px -20px #000, 0 0 50px -18px rgba(230, 184, 79, .5); }
.wait-spin { display: block; width: 50px; height: 50px; margin: 0 auto 18px; border-radius: 50%; border: 3px solid rgba(230, 184, 79, .16);
  border-top-color: var(--c-gold); border-left-color: var(--c-ember); animation: rvspin .8s linear infinite; }
.wait-t { display: block; font: 700 20px/1.2 var(--f-title); letter-spacing: 1.5px; text-transform: uppercase; color: var(--c-gold-b); }
.wait-box p { margin: 10px 0 8px; font-size: 14.5px; color: var(--c-text); }
.wait-box small { font: 600 10px var(--f-mono); letter-spacing: 1.5px; text-transform: uppercase; color: var(--c-muted); }
html.wait-lock, html.wait-lock body { overflow: hidden; }

/* ---------------------------------------------------------------- notícias (sem iframe) */
/* notícias no formato do MU GAME Easy (mesmas fontes: Sora e Space Mono) */
.rv-news { list-style: none; margin: 0; padding: 10px 10px 6px; }
.rv-news a { display: grid; grid-template-columns: 128px minmax(0, 1fr) 16px; align-items: center; gap: 12px; padding: 11px 10px; border-bottom: 1px solid rgba(230, 184, 79, .12); color: var(--c-text); font-weight: 400; transition: background .15s; }
.rv-news li:last-child a { border-bottom: 0; }
.rv-news a:hover { background: rgba(230, 184, 79, .06); color: var(--c-text); }
.rv-news li.is-new a { box-shadow: inset 2px 0 0 var(--c-ember); }
.rv-news .when { display: flex; flex-direction: column; align-items: flex-start; gap: 5px; font: 400 10.5px/1.2 'Sora', sans-serif; color: var(--c-muted); }
.rv-news .tag { display: inline-flex; align-items: center; height: 19px; padding: 0 7px; border-radius: 5px; font: 700 9.5px 'Space Mono', monospace; letter-spacing: .08em; text-transform: uppercase;
  color: var(--c, var(--c-gold-b)); background: color-mix(in srgb, var(--c, #e6b84f) 13%, transparent); border: 1px solid color-mix(in srgb, var(--c, #e6b84f) 38%, transparent); }
.tag-evento, .tag-agenda { --c: #ff9a62; } .tag-promocao, .tag-inauguracao { --c: #f6c75c; } .tag-whatsapp { --c: #57d6a4; } .tag-info { --c: #b9c4cf; }
.rv-news h4 { margin: 0; min-width: 0; font: 600 13px/1.45 'Sora', sans-serif; letter-spacing: 0; text-transform: none; color: #f3e6c8; }
.rv-news h4 small { display: block; margin-top: 2px; font: 400 11.5px/1.45 'Sora', sans-serif; color: var(--c-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rv-news .nw-new { display: inline-block; margin-left: 8px; padding: 2px 6px; vertical-align: 1px; border-radius: 4px; font: 700 9px/1.3 'Space Mono', monospace; letter-spacing: .08em; text-transform: uppercase; color: #1a0e04; background: var(--c-ember); }
.rv-news .nw-go { font-size: 20px; line-height: 1; color: var(--c-muted); transition: transform .15s, color .15s; }
.rv-news a:hover .nw-go { color: var(--c-gold-b); transform: translateX(2px); }
.news-foot { display: flex; justify-content: flex-end; padding: 0 14px 12px; }
.news-foot a, .rv-more { font: 600 10px var(--f-mono); letter-spacing: 1.8px; text-transform: uppercase; color: var(--c-gold); }

/* ---------------------------------------------------------------- eventos ao vivo (sem iframe) */
.rv-ev { display: grid; grid-template-columns: 236px 1fr; gap: 0; }
.rv-ev-side { display: flex; flex-direction: column; gap: 10px; padding: 14px; border-right: 1px solid var(--c-line); background: rgba(10, 8, 5, .45); }
.rv-clock { padding: 12px 14px; background: rgba(0, 0, 0, .35); box-shadow: inset 0 0 0 1px var(--c-line); }
.rv-clock small, .rv-live small, .rv-next small { display: flex; align-items: center; gap: 7px; font: 600 9.5px var(--f-mono); letter-spacing: 1.8px; text-transform: uppercase; color: var(--c-muted); }
.rv-clock b { display: block; margin-top: 4px; font: 600 30px/1 var(--f-mono); letter-spacing: 1px; color: var(--c-gold-b); text-shadow: 0 0 18px rgba(230, 184, 79, .35); }
.rv-live { padding: 12px 14px; box-shadow: inset 0 0 0 1px var(--c-line); }
.rv-live i { width: 7px; height: 7px; border-radius: 50%; background: var(--c-dim); }
.rv-live strong { display: block; margin-top: 5px; font: 700 15px/1.2 var(--f-display); letter-spacing: 1px; text-transform: uppercase; color: var(--c-text); }
.rv-live span { display: block; margin-top: 3px; font-size: 12px; color: var(--c-muted); }
.rv-live.on { background: rgba(209, 59, 47, .1); box-shadow: inset 0 0 0 1px rgba(209, 59, 47, .55); }
.rv-live.on small { color: #ff9a8e; }
.rv-live.on i { background: #ff5a4a; box-shadow: 0 0 10px #ff5a4a; animation: pulse 1.6s infinite; }
.rv-live.on strong { color: #fff; }
.rv-next { padding: 12px 14px; background: linear-gradient(180deg, rgba(230, 184, 79, .1), rgba(230, 184, 79, .03)); box-shadow: inset 0 0 0 1px var(--c-line-s); }
.rv-next strong { display: block; margin-top: 5px; font: 700 15px/1.2 var(--f-display); letter-spacing: 1px; text-transform: uppercase; color: var(--c-gold-b); }
.rv-next .cd { display: block; margin-top: 6px; font: 600 26px/1 var(--f-mono); color: var(--c-ember); text-shadow: 0 0 16px rgba(255, 122, 51, .35); }
.rv-next .at { display: block; margin-top: 4px; font-size: 12px; color: var(--c-muted); }
.rv-agenda { list-style: none; margin: 0; padding: 8px 12px 12px; }
.rv-agenda li { display: grid; grid-template-columns: 52px 30px 1fr auto; align-items: center; gap: 10px; padding: 10px 10px; border-bottom: 1px dashed rgba(230, 184, 79, .12); }
.rv-agenda li:last-child { border-bottom: 0; }
.rv-agenda .t { font: 600 14px var(--f-mono); color: var(--c-gold-b); }
.rv-agenda .em { width: 30px; height: 30px; display: grid; place-items: center; font-size: 15px; background: rgba(0, 0, 0, .35); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--c) 55%, transparent); }
.rv-agenda .n { min-width: 0; font: 700 14px/1.2 var(--f-display); letter-spacing: .8px; text-transform: uppercase; color: var(--c-text); }
.rv-agenda .n small { display: block; margin-top: 2px; font: 500 12px var(--f-ui); letter-spacing: 0; text-transform: none; color: var(--c-muted); }
.rv-agenda .in { font: 600 10px var(--f-mono); letter-spacing: 1px; text-transform: uppercase; color: var(--c-muted); white-space: nowrap; }
.rv-agenda li.wk .n { color: var(--c-gold-b); }
.rv-agenda li.soon { background: linear-gradient(90deg, rgba(255, 122, 51, .1), transparent 70%); box-shadow: inset 2px 0 0 var(--c-ember); }
.rv-agenda li.soon .in { color: var(--c-ember); }
.rv-agenda li.empty { display: block; color: var(--c-muted); font-size: 13px; }

/* ---------------------------------------------------------------- Killer em largura inteira (lista em 2 colunas) */
.kc-row.kc-solo { grid-template-columns: 1fr; }
.kc-solo .killer-list .killer-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-flow: column; grid-template-rows: repeat(4, auto); column-gap: 0; }
.kc-solo .killer-list .killer-list .killer-item:nth-child(n+5) { box-shadow: inset 1px 0 0 rgba(209, 59, 47, .22); }

/* ---------------------------------------------------------------- Hall da Fama */
.hall-box { position: relative; background: var(--c-panel); box-shadow: var(--frame-soft); }
.hall-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 16px; border-top: 1px solid var(--c-line);
  font: 600 10px var(--f-mono); letter-spacing: 1.4px; text-transform: uppercase; color: var(--c-muted); }
.hof { padding: 16px; }
.hof-card { position: relative; outline: none; }
.hof-pop { position: absolute; left: 50%; bottom: calc(100% + 10px); z-index: 40; box-sizing: content-box; width: 300px; height: 330px; padding: 4px; pointer-events: none;
  background: linear-gradient(180deg, #1b1710, #0a0805); box-shadow: var(--frame), 0 26px 60px -18px #000, 0 0 36px -10px rgba(230, 184, 79, .5);
  opacity: 0; transform: translate(-50%, 8px) scale(.97); transition: opacity .18s, transform .18s; }
.hof-pop::after { content: ""; position: absolute; left: 50%; bottom: -7px; width: 12px; height: 12px; margin-left: -6px; background: #0a0805;
  border-right: 1px solid var(--c-line-s); border-bottom: 1px solid var(--c-line-s); transform: rotate(45deg); }
.hof-pop img { display: block; width: 300px; height: 330px; object-fit: cover; }
.hof-card:hover, .hof-card:focus-visible { z-index: 6; }
.hof-card:hover .hof-pop, .hof-card:focus-visible .hof-pop { opacity: 1; transform: translate(-50%, 0) scale(1); }
.hof-classes .hof-card:first-child .hof-pop { left: 0; transform: translate(0, 8px) scale(.97); }
.hof-classes .hof-card:first-child:hover .hof-pop, .hof-classes .hof-card:first-child:focus-visible .hof-pop { transform: translate(0, 0) scale(1); }
.hof-classes .hof-card:first-child .hof-pop::after { left: 84px; }
.hof-classes .hof-card:last-child .hof-pop { left: auto; right: 0; transform: translate(0, 8px) scale(.97); }
.hof-classes .hof-card:last-child:hover .hof-pop, .hof-classes .hof-card:last-child:focus-visible .hof-pop { transform: translate(0, 0) scale(1); }
.hof-classes .hof-card:last-child .hof-pop::after { left: auto; right: 78px; }
@media (hover: none) { .hof-pop { display: none; } }

.hof-when { display: flex; align-items: center; gap: 5px; margin-top: 4px; font: 600 10.5px var(--f-mono); letter-spacing: .6px; color: var(--c-muted); white-space: nowrap; }
.hof-when svg { width: 12px; height: 12px; fill: none; stroke: currentColor; stroke-width: 2; flex: none; }

.hof-royal { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.royal { --c: var(--c-gold); display: flex; align-items: center; gap: 14px; padding: 15px 16px; cursor: zoom-in;
  background: linear-gradient(110deg, color-mix(in srgb, var(--c) 15%, #13100a), #0e0b07 70%); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--c) 55%, transparent), inset 0 0 0 4px rgba(8, 6, 3, .9), inset 0 0 0 5px color-mix(in srgb, var(--c) 18%, transparent);
  transition: transform .2s; }
.royal:hover { transform: translateY(-2px); }
.royal.queen { --c: #e08fb0; }
.hof-crest { width: 48px; height: 48px; flex: none; display: grid; place-items: center; font-size: 25px; line-height: 1; color: var(--c);
  background: radial-gradient(circle, color-mix(in srgb, var(--c) 22%, transparent), rgba(0, 0, 0, .4) 70%); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--c) 60%, transparent); text-shadow: 0 0 12px var(--c); }
.hof-txt { min-width: 0; }
.royal small { display: block; font: 700 10px var(--f-mono); letter-spacing: 2px; text-transform: uppercase; color: var(--c); }
.royal b { display: block; margin-top: 2px; font: 700 22px/1.15 var(--f-title); letter-spacing: .5px; color: #fff4d6; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.hof-classes { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; margin-top: 10px; }
.cls { padding: 14px 6px 12px; text-align: center; cursor: zoom-in; background: rgba(10, 8, 5, .55); box-shadow: inset 0 0 0 1px var(--c-line); transition: box-shadow .2s, transform .2s; }
.cls:hover { transform: translateY(-2px); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--ring) 70%, transparent); }
.hof-av { display: block; width: 54px; height: 54px; margin: 0 auto 8px; overflow: hidden; border-radius: 50%; box-shadow: 0 0 0 2px var(--ring), 0 0 0 5px rgba(0, 0, 0, .6), 0 0 18px -2px var(--ring); }
.hof-av img { width: 100%; height: 100%; object-fit: cover; }
.cls small { display: block; font: 700 10px var(--f-mono); letter-spacing: 1.8px; text-transform: uppercase; color: var(--ring); }
/* nome do campeão de classe maior e em destaque, com a cor da classe */
.cls b { display: block; margin: 4px 0 2px; padding: 0 4px; font: 700 20px/1.15 var(--f-title); letter-spacing: .4px; text-transform: none; color: #fff4d6;
  text-shadow: 0 0 14px color-mix(in srgb, var(--ring) 55%, transparent), 0 1px 0 rgba(0, 0, 0, .6); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cls .hof-av { width: 58px; height: 58px; }
.cls .hof-when { justify-content: center; }

.hof-extra { display: grid; grid-template-columns: 330px 164px 164px; gap: 10px; margin-top: 10px; }
.hof-photo { position: relative; margin: 0; height: 280px; overflow: hidden;
  background: radial-gradient(180px 140px at 50% 40%, rgba(230, 184, 79, .1), transparent 70%), linear-gradient(180deg, #17130c, #0a0805); }
.hof-photo::after { content: ""; position: absolute; inset: 0; pointer-events: none; box-shadow: var(--frame-soft); }
.hof-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hof-photo img ~ figcaption { display: none; }
.hof-photo figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 30px 14px 12px; background: linear-gradient(0deg, rgba(6, 4, 2, .95), transparent); }
.hof-photo figcaption b { display: block; font: 700 17px/1.1 var(--f-title); letter-spacing: 1px; text-transform: uppercase; color: var(--c-gold-b); }

/* ---------------------------------------------------------------- painel: botão entrar com Enter */
#login .mnu-btn-login[disabled] { opacity: .75; cursor: progress; }

@media (prefers-reduced-motion: reduce) { .tpl-loading::before, .wait-spin, .is-loading::after { animation-duration: 2s; } }

/* ---------------------------------------------------------------- rankings: 3 tabelas cabem na largura (antes empurravam a página para o lado) */
.ranks-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ranks-grid > * { min-width: 0; }
.ranks-grid .rk-table { table-layout: fixed; }
.ranks-grid .rk-table th, .ranks-grid .rk-table td { padding-left: 6px; padding-right: 6px; overflow: hidden; text-overflow: ellipsis; }
.ranks-grid .rk-table th:first-child { width: 34px; }
.ranks-grid .rk-table th:last-child { width: 62px; }
.ranks-grid .rk-table td:nth-child(2) { white-space: nowrap; }
.ranks-grid .rk-table td:nth-child(3):not(:last-child) { font-size: 12px; line-height: 1.25; }

/* Semantic UI agora chega sem travar a página: janelas continuam escondidas até abrir */
.ui.modal:not(.active), .ui.dimmer:not(.active) { display: none; }

/* ---------------------------------------------------------------- página de notícias */
.nw-page { display: flex; flex-direction: column; gap: 16px; padding-top: 28px; }
.nw-page h1.sec-header-title { margin: 0; }
.nw-intro { margin: 0; font-size: 15.5px; color: var(--c-muted); }
.nw-links { display: flex; gap: 22px; font: 600 10.5px var(--f-mono); letter-spacing: 1.6px; text-transform: uppercase; }


/* ── Killer simples (esquerda) + Próximos eventos (direita) ── */
.kc-row.kc-duo { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; }
.kc-duo .killer-list .killer-list .killer-item:nth-child(n+6) { display: none !important; }
.kc-duo .killer-list .killer-list .killer-item { padding: 6px 14px; }
.nx-box { position: relative; display: flex; flex-direction: column; background: linear-gradient(180deg, rgba(26, 20, 12, .92), rgba(13, 10, 6, .96));
  box-shadow: inset 0 0 0 1px var(--c-line), 0 14px 30px -18px rgba(0, 0, 0, .8); }
.nx-top { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; padding: 14px 16px 12px; border-bottom: 1px solid var(--c-line); }
.nx-top span { font: 600 9.5px var(--f-mono); letter-spacing: 1.8px; text-transform: uppercase; color: var(--c-muted); }
.nx-top b { font: 600 20px/1 var(--f-mono); color: var(--c-gold-b); font-variant-numeric: tabular-nums; }
.nx-live { display: none; align-items: center; gap: 8px; margin: 10px 12px 0; padding: 9px 12px; }
.nx-live.on { display: flex; }
.nx-live span { font: 600 9.5px var(--f-mono); letter-spacing: 1.8px; text-transform: uppercase; color: #ff9a8e; }
.nx-live strong { margin: 0 0 0 auto; font-size: 13.5px; text-align: right; }
.nx-list.rv-agenda { padding: 4px 12px 6px; }
.nx-list.rv-agenda li { grid-template-columns: 46px minmax(0, 1fr) auto; gap: 10px; padding: 9px 6px; }
.nx-list.rv-agenda .em { display: none; }
.nx-list.rv-agenda .n { font-size: 13.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nx-list.rv-agenda .n small { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 11.5px; }
.nx-more { margin-top: auto; padding: 11px 16px; border-top: 1px solid var(--c-line); text-align: right; font: 600 10px var(--f-mono); letter-spacing: 1.6px; text-transform: uppercase; color: var(--c-gold); }
.nx-more:hover { color: var(--c-gold-b); }
.ev-sidebar-item[data-ev] { cursor: pointer; }
.ev-sidebar-item[data-ev]:focus-visible { outline: 2px solid var(--c-gold); outline-offset: -2px; }

/* barra de carregamento: só a linha fina no topo (o aviso de compra é a tela "Processando") */
#nprogress { pointer-events: none !important; background: none !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; position: static !important; }
#nprogress::before, #nprogress::after { display: none !important; }
#nprogress .bar { position: fixed; z-index: 1031; top: 0; left: 0; width: 100%; height: 2px; background: linear-gradient(90deg, #e6b84f, #ffe6a8, #ff7a33); box-shadow: 0 0 10px rgba(230, 184, 79, .7); }
#nprogress .peg, #nprogress .spinner { display: none !important; }

/* reCAPTCHA: selo do Google escondido, aviso no login e no cadastro (igual ao MU GAME Easy) */
.grecaptcha-badge { visibility: hidden !important; }
.rv-safe { margin-top: 10px; font-size: 11.5px; line-height: 1.5; text-align: center; color: var(--c-muted); }
.rv-safe a { color: var(--c-gold); }

/* ── Rankings no formato do MU GAME Easy (menu em 4 colunas, pódio e tabela) ── */
.rkx-page { display: flex; flex-direction: column; gap: 18px; margin-top: 4px; }
.rkx-menu, .rkx-box { background: linear-gradient(180deg, rgba(26, 20, 12, .92), rgba(13, 10, 6, .96)); box-shadow: inset 0 0 0 1px var(--c-line), 0 14px 30px -18px rgba(0, 0, 0, .8); }
.rkx-pick { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.rkx-pick > div { display: flex; flex-direction: column; gap: 2px; padding: 14px 12px 16px; }
.rkx-pick > div + div { box-shadow: inset 1px 0 0 var(--c-line); }
.rkx-pick h4 { margin: 0 0 8px; padding: 0 8px; font: 600 9.5px var(--f-mono); letter-spacing: 1.8px; text-transform: uppercase; color: var(--c-muted); }
.rkx-pick a { padding: 8px 10px; font: 600 15px/1.2 var(--f-display); letter-spacing: .6px; color: var(--c-text); transition: background .15s, color .15s; }
.rkx-pick a:hover { background: rgba(230, 184, 79, .08); color: var(--c-gold-b); }
.rkx-pick a.is-active { color: #1d1406; background: linear-gradient(180deg, #ffe6a8, #e6b84f); box-shadow: 0 0 18px -6px rgba(230, 184, 79, .8); }
.rkx-box { padding: 6px 16px 14px; min-height: 220px; }
.rkx-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 12px 2px 14px; border-bottom: 1px solid var(--c-line); }
.rkx-head h2 { margin: 0; font: 700 18px var(--f-title); letter-spacing: 1.6px; text-transform: uppercase; color: var(--c-gold-b); }
.rkx-head span { font: 600 9.5px var(--f-mono); letter-spacing: 1.6px; text-transform: uppercase; color: var(--c-muted); }
.rkx-top3 { display: grid; grid-template-columns: 1fr 1.15fr 1fr; align-items: end; gap: 12px; margin: 16px 0 10px; }
.rkx-pod { position: relative; padding: 14px 10px 12px; text-align: center; overflow: hidden; background: radial-gradient(120% 90% at 50% 0%, color-mix(in srgb, var(--m) 16%, transparent), rgba(10, 8, 5, .6) 70%); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--m) 45%, transparent); }
.rkx-pod.p1 { --m: #e6b84f; padding: 20px 10px 16px; box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--m) 70%, transparent), 0 0 26px -10px var(--m); }
.rkx-pod.p2 { --m: #cfc7b4; } .rkx-pod.p3 { --m: #c07f3a; }
.rkx-pod .pl { font: 600 9.5px var(--f-mono); letter-spacing: 1.8px; text-transform: uppercase; color: var(--m); }
.rkx-pod .nm { margin: 5px 0 3px; font: 700 18px/1.15 var(--f-title); color: #fff4d6; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rkx-pod.p1 .nm { font-size: 22px; text-shadow: 0 0 16px rgba(255, 194, 74, .45); }
.rkx-pod .vl { font: 600 13px var(--f-mono); color: var(--c-gold-b); }
.rkx-pod .vl small { font-size: 9.5px; letter-spacing: 1.2px; text-transform: uppercase; color: var(--c-muted); }
.rkx-scroll { overflow-x: auto; }
.rkx-table { width: 100%; border-collapse: collapse; font: 400 14px var(--f-ui); color: rgba(232, 220, 196, .85); }
.rkx-table th { padding: 10px 10px; text-align: left; font: 600 9.5px var(--f-mono); letter-spacing: 1.6px; text-transform: uppercase; color: var(--c-muted); border-bottom: 1px solid var(--c-line); white-space: nowrap; }
.rkx-table td { padding: 8px 10px; border-bottom: 1px solid rgba(230, 184, 79, .07); white-space: nowrap; }
.rkx-table td:nth-child(2) { font-weight: 600; color: #fff4d6; }
.rkx-table th:first-child, .rkx-table td:first-child { width: 46px; text-align: center; }
.rkx-table tbody tr:hover { background: rgba(230, 184, 79, .05); }
.rkx-pos { display: inline-grid; place-items: center; min-width: 24px; height: 24px; padding: 0 4px; font: 700 12px var(--f-mono); color: var(--c-muted); background: rgba(230, 184, 79, .06); }
.rkx-table tr.p1 .rkx-pos { color: #241906; background: linear-gradient(180deg, #ffe6a8, #e6b84f 48%, #a87b32); }
.rkx-table tr.p2 .rkx-pos { color: #2a2a26; background: linear-gradient(180deg, #f2f0ea, #cfc7b4 48%, #8d867a); }
.rkx-table tr.p3 .rkx-pos { color: #2a1a0c; background: linear-gradient(180deg, #e5a86a, #c07f3a 48%, #7d4f1e); }
.rkx-empty { padding: 26px 10px; text-align: center; color: var(--c-muted); }

/* ── Menu dos shops: abas dos shops (todas as páginas de shop) + categorias em Golds e Cash ── */
.shx-wrap { margin-bottom: 22px; }
.shx-i { width: 18px; height: 18px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.shx-cur { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; margin-bottom: 12px; }
.shx-tab { display: flex; align-items: center; gap: 10px; min-height: 60px; padding: 10px 12px; color: var(--c-text);
  background: linear-gradient(180deg, rgba(30, 23, 13, .94), rgba(13, 10, 6, .97)); box-shadow: inset 0 0 0 1px var(--c-line);
  transition: box-shadow .18s, background .18s, transform .18s; }
.shx-tab:hover { color: var(--c-text); transform: translateY(-1px); box-shadow: inset 0 0 0 1px rgba(230, 184, 79, .5); }
.shx-coin { display: grid; place-items: center; width: 36px; height: 36px; flex: none; color: var(--c-gold); background: rgba(230, 184, 79, .08); box-shadow: inset 0 0 0 1px rgba(230, 184, 79, .32); }
.shx-tt { min-width: 0; }
.shx-tt b { display: block; font: 700 16px/1.1 var(--f-title); letter-spacing: .8px; color: #fff4d6; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.shx-tt small { display: block; margin-top: 3px; font: 600 9.5px var(--f-mono); letter-spacing: 1.2px; text-transform: uppercase; color: var(--c-muted); white-space: nowrap; }
.shx-tab.is-on { background: radial-gradient(160px 80px at 0% 0%, rgba(255, 214, 120, .2), transparent 70%), linear-gradient(180deg, rgba(60, 44, 18, .95), rgba(20, 15, 8, .97));
  box-shadow: inset 0 0 0 1px rgba(230, 184, 79, .85), 0 0 26px -10px rgba(230, 184, 79, .9); }
.shx-tab.is-on .shx-coin { color: #1d1406; background: linear-gradient(180deg, #ffe6a8, #e6b84f); box-shadow: 0 0 14px -2px rgba(230, 184, 79, .8); }
.shx-tab.is-on .shx-tt b { color: #ffe6a8; text-shadow: 0 0 14px rgba(255, 194, 74, .45); }
.shx { display: grid; grid-template-columns: 172px minmax(0, 1fr); background: linear-gradient(180deg, rgba(30, 23, 13, .94), rgba(13, 10, 6, .97));
  box-shadow: inset 0 0 0 1px rgba(230, 184, 79, .3), 0 16px 34px -22px rgba(230, 184, 79, .45); }
.shx-gtabs { display: flex; flex-direction: column; gap: 5px; padding: 10px; border-right: 1px solid var(--c-line); background: rgba(0, 0, 0, .2); }
.shx-g { all: unset; box-sizing: border-box; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 11px 14px; cursor: pointer;
  font: 700 16px var(--f-display); letter-spacing: 1.6px; text-transform: uppercase; color: var(--c-text); transition: color .15s, background .15s; }
.shx-g small { display: inline-grid; place-items: center; min-width: 22px; height: 20px; padding: 0 5px; font: 600 11px var(--f-mono); color: var(--c-muted); background: rgba(255, 255, 255, .05); }
.shx-g:hover { color: #fff4d6; background: rgba(230, 184, 79, .07); }
.shx-g.is-on { color: #1d1406; background: linear-gradient(180deg, #ffe6a8, #e6b84f); box-shadow: 0 0 18px -6px rgba(230, 184, 79, .9); }
.shx-g.is-on small { color: #1d1406; background: rgba(29, 20, 6, .15); }
.shx-g:focus-visible { outline: 1px solid var(--c-gold); outline-offset: 2px; }
.shx-list { display: flex; flex-wrap: wrap; align-content: center; gap: 8px; padding: 14px 16px; }
.shx-list[hidden] { display: none; }
.shx-it { display: inline-flex; align-items: center; gap: 9px; height: 44px; padding: 0 16px; font: 600 15px var(--f-ui); color: #f3e6c8;
  background: rgba(0, 0, 0, .3); box-shadow: inset 0 0 0 1px rgba(230, 184, 79, .2); transition: color .15s, background .15s, box-shadow .15s; }
.shx-it .shx-i { color: var(--c-gold); }
.shx-it:hover { color: #fff4d6; background: rgba(230, 184, 79, .09); box-shadow: inset 0 0 0 1px rgba(230, 184, 79, .55); }
.shx-it.is-on { color: #1d1406; background: linear-gradient(180deg, #ffe6a8, #e6b84f); box-shadow: 0 0 18px -6px rgba(230, 184, 79, .9); }
.shx-it.is-on .shx-i { color: #1d1406; }

/* ── Rankings da página inicial: lista simples (nome e pontos), igual ao MU GAME Easy ── */
.rkh-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.rkh-card { min-width: 0; background: linear-gradient(180deg, rgba(26, 20, 12, .92), rgba(13, 10, 6, .96)); box-shadow: inset 0 0 0 1px var(--c-line); }
.rkh-head { display: flex; align-items: center; gap: 8px; padding: 11px 12px; border-bottom: 1px solid var(--c-line); }
.rkh-head h3 { margin: 0; font: 700 14px var(--f-display); letter-spacing: 1.2px; text-transform: uppercase; color: var(--c-gold-b); }
.rkh-ic { font-size: 14px; }
.rkh-list, .rkh-ev { list-style: none; margin: 0; padding: 6px 8px 8px; }
.rkh-list li, .rkh-ev li { position: relative; display: grid; grid-template-columns: 26px minmax(0, 1fr) auto; align-items: center; gap: 8px; padding: 6px 6px; }
.rkh-list li::before { content: ""; position: absolute; left: 0; top: 2px; bottom: 2px; width: var(--w, 0%); background: linear-gradient(90deg, rgba(230, 184, 79, .12), transparent); pointer-events: none; }
.rkh-list li > *, .rkh-ev li > * { position: relative; }
.rkh-list .nm, .rkh-ev .nm { min-width: 0; font: 600 13.5px var(--f-ui); color: #f3e6c8; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rkh-list .vl, .rkh-ev b { font: 600 13px var(--f-mono); color: var(--c-gold-b); }
.rkh-list .rkx-pos, .rkh-ev .rkx-pos { min-width: 22px; height: 22px; font-size: 11px; }
.rkh-list li.p1 .rkx-pos { color: #241906; background: linear-gradient(180deg, #ffe6a8, #e6b84f 48%, #a87b32); }
.rkh-list li.p2 .rkx-pos { color: #2a2a26; background: linear-gradient(180deg, #f2f0ea, #cfc7b4 48%, #8d867a); }
.rkh-list li.p3 .rkx-pos { color: #2a1a0c; background: linear-gradient(180deg, #e5a86a, #c07f3a 48%, #7d4f1e); }
.rkh-lead { display: flex; align-items: center; gap: 10px; margin: 8px 8px 2px; padding: 10px 12px; background: radial-gradient(160px 80px at 0% 0%, rgba(230, 184, 79, .16), transparent 70%); box-shadow: inset 0 0 0 1px rgba(230, 184, 79, .35); }
.rkh-crown { font-size: 20px; color: var(--c-gold); text-shadow: 0 0 10px rgba(230, 184, 79, .7); }
.rkh-lead div { min-width: 0; }
.rkh-lead small { display: block; font: 600 9px var(--f-mono); letter-spacing: 1.6px; text-transform: uppercase; color: var(--c-gold); }
.rkh-lead strong { display: block; font: 700 17px/1.15 var(--f-title); color: #fff4d6; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rkh-lead > b { margin-left: auto; text-align: right; font: 700 20px var(--f-display); color: #fff4d6; }
.rkh-lead > b small { display: block; font: 500 9.5px var(--f-mono); letter-spacing: 1px; text-transform: none; color: var(--c-muted); }
.rkh-all { margin-left: 14px; white-space: nowrap; font: 600 10px var(--f-mono); letter-spacing: 1.6px; text-transform: uppercase; color: var(--c-gold); }

/* ── Cartões dos shops: letras maiores e mais fáceis de ler ── */
.shop-page-title { font-size: 30px !important; }
.shop-card-name { font-size: 23px !important; letter-spacing: .8px !important; }
.shop-card-parts { font-family: var(--f-ui) !important; font-size: 13.5px !important; color: rgba(232, 220, 196, .72) !important; }
.shop-card-tags { gap: 5px !important; }
.shop-tag { font-size: 11px !important; padding: 4px 8px !important; letter-spacing: .6px !important; }
.shop-full-text { font-size: 15px !important; }
.shop-full-sub { font-size: 11px !important; }
.shop-card-price { font-size: 22px !important; }
.shop-btn { font-size: 15px !important; padding: 10px 18px !important; }
/* abas dos shops: ícone em cima e nome embaixo (6 shops cabem sem cortar o nome) */
.shx-tab { flex-direction: column; justify-content: center; gap: 7px; min-height: 0; padding: 12px 6px 11px; text-align: center; }
.shx-tt b { font-size: 15.5px; letter-spacing: .5px; overflow: visible; }
.shx-tt small { margin-top: 2px; }
