/* P2.5 — camada 5/5 do antigo rebirth.css (partição sequencial;
   a ordem de carga preserva a cascata por construção).
   Conteúdo: v142 full-art frame + v147 'a arte é a interface'. */

/* =====================================================================
   FULL-ART CARD FRAME — v142
   Arte cobre a carta inteira; nome/habilidade/stats descem para uma placa
   com scrim na base. Raridade -> metal da moldura. Elemento -> glow/acentos
   (reusa --element-core/soft já definidos por .is-element-*).
   Escopo: .rb-tcg-card.is-fullart (mão, campo, foco e carta revelada do bot).
   As propriedades ESTRUTURAIS usam !important porque o CSS legado posiciona
   titlebar/textbox/statline em absolute a partir de várias regras e @media.
   ===================================================================== */
.rb-tcg-card.is-fullart {
    --frame-metal: linear-gradient(155deg,#e6bd85 0%,#a9773f 18%,#6a4a26 40%,#c98f4f 58%,#7a542c 78%,#e2b57e 100%);
    --frame-rar: rgba(202,169,107,.55);
}
.rb-tcg-card.is-fullart.is-rarity-uncommon,
.rb-tcg-card.is-fullart.is-premium-rarity {
    --frame-metal: linear-gradient(155deg,#eef1f6 0%,#aeb7c2 18%,#5f6b78 40%,#d3dae2 58%,#6e7885 78%,#e8edf3 100%);
    --frame-rar: rgba(195,204,216,.55);
}
.rb-tcg-card.is-fullart.is-rarity-rare {
    --frame-metal: linear-gradient(155deg,#cfe4fb 0%,#6f9ede 18%,#2f5590 40%,#a9c8f0 58%,#3a5f95 78%,#cbe1fb 100%);
    --frame-rar: rgba(123,166,230,.55);
}
.rb-tcg-card.is-fullart.is-rarity-legendary {
    --frame-metal: linear-gradient(155deg,#fff2b8 0%,#e6c25c 16%,#9c7418 38%,#ffe89a 56%,#a87f22 78%,#fff0b0 100%);
    --frame-rar: rgba(242,207,106,.6);
}

/* ---- casca ---- */
.rb-tcg-card.is-fullart {
    position: relative;
    padding: 4px !important;
    border: 0 !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    background: var(--frame-metal) !important;
    color: #f3e7cf;
    box-shadow:
        0 16px 34px rgba(0, 0, 0, 0.55),
        0 0 18px var(--element-soft),
        inset 0 1px 1px rgba(255, 248, 220, 0.55),
        inset 0 -2px 3px rgba(0, 0, 0, 0.5) !important;
}
.rb-tcg-card.is-fullart > .rb-card-frame-layer { display: none !important; }

/* ---- arte full-bleed ---- */
.rb-tcg-card.is-fullart .rb-card-image-layer {
    position: absolute !important;
    inset: 4px !important;
    z-index: 0 !important;
    display: block !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: #0b0a0c !important;
    box-shadow: none !important;
}
.rb-tcg-card.is-fullart .rb-card-image-layer img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center 16% !important;
}

/* ---- overlays: custo e keywords ---- */
.rb-tcg-card.is-fullart > .rb-card-cost {
    position: absolute !important;
    z-index: 8 !important;
    top: 8px !important;
    left: 8px !important;
    right: auto !important;
    bottom: auto !important;
    width: 28px !important;
    height: 28px !important;
    min-width: 0 !important;
    padding: 0 !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 50% !important;
    border: 1.5px solid rgba(255, 246, 220, 0.92) !important;
    clip-path: none !important;
    background:
        radial-gradient(circle at 34% 26%, rgba(255, 255, 255, 0.9), transparent 34%),
        radial-gradient(circle at 40% 34%, var(--element-core), #1a0d08) !important;
    box-shadow:
        0 2px 6px rgba(0, 0, 0, 0.65),
        0 0 9px var(--element-soft),
        inset 0 -2px 4px rgba(0, 0, 0, 0.42),
        inset 0 2px 2px rgba(255, 255, 255, 0.45) !important;
    color: #fff;
    font-family: var(--rb-font-epic);
    font-size: 15px;
    font-weight: 900;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.85);
}
.rb-tcg-card.is-fullart > .rb-keyword-strip {
    position: absolute !important;
    z-index: 8 !important;
    top: 9px !important;
    right: 8px !important;
    left: auto !important;
    bottom: auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    gap: 4px !important;
}
.rb-tcg-card.is-fullart .rb-keyword-badge {
    padding: 2px 7px !important;
    border-radius: 4px !important;
    border: 1px solid var(--frame-rar) !important;
    background: linear-gradient(180deg, rgba(30, 18, 10, 0.86), rgba(14, 8, 4, 0.86)) !important;
    color: #fff3d6 !important;
    font-family: var(--rb-font-epic) !important;
    font-size: 8.5px !important;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.55) !important;
}

/* ---- placa inferior (scrim) ---- */
.rb-tcg-card.is-fullart .rb-fa-plate {
    position: absolute !important;
    left: 4px !important;
    right: 4px !important;
    bottom: 4px !important;
    top: auto !important;
    z-index: 5 !important;
    display: block !important;
    padding-top: 30px !important;
    border-radius: 0 0 10px 10px;
    background: linear-gradient(180deg,
        rgba(8, 5, 3, 0) 0%,
        rgba(8, 5, 3, 0.24) 26%,
        rgba(8, 5, 3, 0.6) 48%,
        rgba(6, 4, 2, 0.84) 68%,
        rgba(4, 3, 1, 0.95) 100%);
}

/* ---- nome ---- */
.rb-tcg-card.is-fullart .rb-card-titlebar {
    position: relative !important;
    inset: auto !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    z-index: 2 !important;
    display: block !important;
    min-height: 0 !important;
    padding: 2px 8px 1px !important;
    margin: 0 !important;
    border: 0 !important;
    background: none !important;
    box-shadow: none !important;
    clip-path: none !important;
    text-align: center !important;
}
.rb-tcg-card.is-fullart .rb-card-titlebar .rb-card-nameplate {
    display: block !important;
    -webkit-line-clamp: 2 !important;
    max-width: 100%;
    overflow: hidden;
    color: #fff7e2 !important;
    font-family: var(--rb-font-epic);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.02em;
    line-height: 1.04;
    text-transform: uppercase;
    text-shadow: 0 2px 6px rgba(0, 0, 0, 1);
}
.rb-tcg-card.is-fullart .rb-card-titlebar span,
.rb-tcg-card.is-fullart .rb-card-titlebar small {
    display: block !important;
    margin-top: 1px;
    color: var(--element-core) !important;
    font-size: 7.5px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    text-shadow: 0 2px 5px rgba(0, 0, 0, 1);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ---- habilidade ---- */
.rb-tcg-card.is-fullart .rb-card-textbox {
    position: relative !important;
    inset: auto !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    z-index: 2 !important;
    display: block !important;
    min-height: 0 !important;
    padding: 2px 9px 3px !important;
    margin: 2px 6px 0 !important;
    border: 0 !important;
    border-top: 1px solid var(--frame-rar) !important;
    border-radius: 0 !important;
    background: none !important;
    box-shadow: none !important;
    clip-path: none !important;
    text-align: center !important;
}
.rb-tcg-card.is-fullart .rb-card-textbox strong {
    display: block !important;
    -webkit-line-clamp: 1 !important;
    color: #f2d79f !important;
    font-family: var(--rb-font-epic);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-shadow: 0 2px 5px rgba(0, 0, 0, 1);
}
.rb-tcg-card.is-fullart .rb-card-textbox p {
    margin: 0 !important;
    color: #f0e6d2 !important;
    font-size: 9px;
    line-height: 1.24;
    text-shadow: 0 2px 5px rgba(0, 0, 0, 1);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* ---- rodapé de stats (só monstro) ---- */
.rb-tcg-card.is-fullart .rb-card-statline {
    position: relative !important;
    inset: auto !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    z-index: 2 !important;
    height: auto !important;
    margin: 3px 0 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0 !important;
    border: 0 !important;
    border-top: 1px solid var(--frame-rar) !important;
    background: linear-gradient(180deg, rgba(6, 4, 2, 0.5), rgba(3, 2, 1, 0.86)) !important;
    box-shadow: none !important;
}
.rb-tcg-card.is-fullart .rb-card-stat,
.rb-tcg-card.is-fullart .rb-card-stat.is-atk,
.rb-tcg-card.is-fullart .rb-card-stat.is-guard {
    position: static !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    padding: 4px 0 5px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: none !important;
    box-shadow: none !important;
    clip-path: none !important;
    -webkit-clip-path: none !important;
    color: #f3e7cf !important;
}
.rb-tcg-card.is-fullart .rb-card-stat.is-guard {
    border-left: 1px solid rgba(255, 246, 220, 0.16) !important;
}
.rb-tcg-card.is-fullart .rb-card-stat b {
    display: inline !important;
    font-family: var(--rb-font-epic) !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 1);
}
.rb-tcg-card.is-fullart .rb-card-stat.is-atk b { color: #ffcf8a !important; }
.rb-tcg-card.is-fullart .rb-card-stat.is-guard b { color: #a9d6ff !important; }
.rb-tcg-card.is-fullart .rb-card-stat small {
    display: inline !important;
    color: var(--rb-muted) !important;
    font-size: 6.5px !important;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-shadow: none !important;
}

/* ---- CAMPO: caixa atual, placa compacta (sem habilidade) ---- */
body.rb-game-page .rb-field-card.is-fullart .rb-fa-plate { padding-top: 22px !important; }
body.rb-game-page .rb-field-card.is-fullart .rb-card-titlebar { padding: 1px 6px 0 !important; }
body.rb-game-page .rb-field-card.is-fullart .rb-card-titlebar .rb-card-nameplate { font-size: 10.5px; -webkit-line-clamp: 1 !important; }
body.rb-game-page .rb-field-card.is-fullart .rb-card-statline { margin-top: 2px !important; }
body.rb-game-page .rb-field-card.is-fullart .rb-card-stat { padding: 3px 0 4px !important; }
body.rb-game-page .rb-field-card.is-fullart .rb-card-stat b { font-size: 13px !important; }
body.rb-game-page .rb-field-card.is-fullart > .rb-card-cost { width: 24px !important; height: 24px !important; font-size: 13px; top: 6px !important; left: 6px !important; }
body.rb-game-page .rb-field-card.is-fullart .rb-guard-meter { z-index: 7; }

/* ---- FOCO e carta revelada do bot ---- */
body.rb-game-page .rb-monster-card-main.is-fullart {
    padding: 5px !important;
    border-radius: 16px !important;
}
body.rb-game-page .rb-monster-card-main.is-fullart .rb-card-image-layer { inset: 5px !important; border-radius: 11px !important; }
body.rb-game-page .rb-monster-card-main.is-fullart .rb-fa-plate { left: 5px !important; right: 5px !important; bottom: 5px !important; padding-top: 40px !important; }
body.rb-game-page .rb-monster-card-main.is-fullart .rb-card-titlebar .rb-card-nameplate { font-size: 15px; }
body.rb-game-page .rb-monster-card-main.is-fullart .rb-card-titlebar span { font-size: 8.5px; }
body.rb-game-page .rb-monster-card-main.is-fullart .rb-card-textbox strong { font-size: 10px; }
body.rb-game-page .rb-monster-card-main.is-fullart .rb-card-textbox p { font-size: 10.5px; -webkit-line-clamp: 3; }
body.rb-game-page .rb-monster-card-main.is-fullart .rb-card-stat b { font-size: 19px !important; }
body.rb-game-page .rb-monster-card-main.is-fullart > .rb-card-cost { width: 32px !important; height: 32px !important; font-size: 16px; }
body.rb-game-page .rb-bot-revealed.is-fullart .rb-card-titlebar .rb-card-nameplate { font-size: 11px; }
body.rb-game-page .rb-bot-revealed.is-fullart .rb-card-textbox { display: none !important; }

/* ---- magia e armadilha: sem rodapé de stats, habilidade ganha o espaço ---- */
.rb-tcg-card.is-fullart.is-type-spell .rb-card-textbox p,
.rb-tcg-card.is-fullart.is-type-trap .rb-card-textbox p { -webkit-line-clamp: 3; }
.rb-tcg-card.is-fullart.is-type-spell .rb-card-textbox,
.rb-tcg-card.is-fullart.is-type-trap .rb-card-textbox { padding-bottom: 6px !important; }

/* ---- mobile: aperta a placa para a arte respirar ---- */
@media (max-width: 820px) {
    .rb-tcg-card.is-fullart .rb-fa-plate { padding-top: 22px !important; }
    .rb-tcg-card.is-fullart .rb-card-titlebar .rb-card-nameplate { font-size: 11px; }
    .rb-tcg-card.is-fullart .rb-card-textbox p { -webkit-line-clamp: 2; font-size: 8.5px; }
    .rb-tcg-card.is-fullart .rb-card-stat b { font-size: 14px !important; }
    .rb-tcg-card.is-fullart > .rb-card-cost { width: 26px !important; height: 26px !important; font-size: 14px; }
}
/* ===== fim FULL-ART CARD FRAME ===== */

/* ---- correções do full-art contra o CSS legado ----
   1) a arte precisa que o inset governe (havia height/width legados);
   2) o campo tinha grid de 2 colunas e o guard-meter em bottom:44px, em cima
      do nome — ambos vêm de regras antigas do card dividido;
   3) o parágrafo da habilidade é escondido em >=981px por regra do layout
      antigo; no full-art há espaço para ele. */
.rb-tcg-card.is-fullart .rb-card-image-layer {
    width: auto !important;
    height: auto !important;
}
.rb-tcg-card.is-fullart .rb-card-textbox p {
    display: -webkit-box !important;
}
body.rb-game-page .rb-field-card.is-fullart {
    display: block !important;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
    gap: 0 !important;
    text-align: left !important;
}
body.rb-game-page .rb-field-card.is-fullart > .rb-guard-meter {
    position: absolute !important;
    left: 8px !important;
    right: 8px !important;
    bottom: 6px !important;
    top: auto !important;
    z-index: 7 !important;
}
body.rb-game-page .rb-field-card.is-fullart .rb-fa-plate { padding-bottom: 6px !important; }
/* campo não exibe habilidade (não cabe); mão e foco exibem */
body.rb-game-page .rb-field-card.is-fullart .rb-card-textbox { display: none !important; }

/* foco: a habilidade das lendárias tem texto longo — 4 linhas e scrim menor */
body.rb-game-page .rb-monster-card-main.is-fullart .rb-fa-plate { padding-top: 32px !important; }
body.rb-game-page .rb-monster-card-main.is-fullart .rb-card-textbox p { -webkit-line-clamp: 4; }

/* o textbox legado tinha min/max-height fixos que cortavam a última linha */
.rb-tcg-card.is-fullart .rb-card-textbox,
.rb-tcg-card.is-fullart .rb-card-textbox p {
    height: auto !important;
    max-height: none !important;
}
body.rb-game-page .rb-monster-card-main.is-fullart .rb-card-textbox p {
    font-size: 9.5px;
    line-height: 1.26;
}

/* v143: o card dividido antigo forçava a arte a ocupar só o topo
   (height: 56%/58%/62% !important) e algumas dessas regras vinham com
   prefixo body/.rb-mulligan-cards, vencendo o full-art por especificidade.
   Quando height é declarado num elemento absoluto, ele vence o bottom — a
   arte parava no meio e o metal da moldura aparecia atrás do scrim. */
body.rb-game-page .rb-tcg-card.is-fullart .rb-card-image-layer,
body.rb-game-page .rb-hand .rb-tcg-card.is-fullart .rb-card-image-layer,
body.rb-game-page .rb-field-card.is-fullart .rb-card-image-layer,
body.rb-game-page .rb-mulligan-cards .rb-tcg-card.is-fullart .rb-card-image-layer {
    top: 4px !important;
    right: 4px !important;
    bottom: 4px !important;
    left: 4px !important;
    width: auto !important;
    height: auto !important;
}
/* magia (arcane) e armadilha (occult) não são um dos quatro elementos:
   sem estas variáveis caíam no roxo default do .rb-tcg-card, por acidente. */
.rb-tcg-card.is-element-spell {
    --element-core: #8b6cff;
    --element-glow: rgba(139, 108, 255, 0.6);
    --element-soft: rgba(139, 108, 255, 0.2);
}
.rb-tcg-card.is-element-trap {
    --element-core: #c95cd6;
    --element-glow: rgba(201, 92, 214, 0.6);
    --element-soft: rgba(201, 92, 214, 0.2);
}

/* v144: o bloco do mulligan (L~14990) reposiciona a carta no layout dividido
   antigo — `titlebar { top:58% }` e `statline { bottom:8px }`. O full-art
   torna esses filhos relativos, e num elemento relativo top/bottom deslocam o
   conteúdo: o nome descia sobre os stats. Zera o offset com especificidade
   suficiente (1 elemento + 5 classes vence 1 elemento + 3 classes). */
body.rb-game-page .rb-mulligan-cards .rb-tcg-card.is-fullart .rb-card-titlebar,
body.rb-game-page .rb-mulligan-cards .rb-tcg-card.is-fullart .rb-card-textbox,
body.rb-game-page .rb-mulligan-cards .rb-tcg-card.is-fullart .rb-card-statline {
    position: relative !important;
    inset: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
}
/* card do mulligan é pequeno (148x208): nome em no máximo 2 linhas */
body.rb-game-page .rb-mulligan-cards .rb-tcg-card.is-fullart .rb-card-nameplate {
    font-size: 10.5px;
    -webkit-line-clamp: 2 !important;
}

/* v145: o full-art clampava o nome da habilidade em 1 linha e nomes longos
   truncavam ("Ashen Exec…", "Negate Atta…"). O design anterior permitia 2
   linhas; a placa tem espaço porque cresce para cima sobre a arte. */
.rb-tcg-card.is-fullart .rb-card-textbox strong {
    -webkit-line-clamp: 2 !important;
    letter-spacing: 0.05em;
    line-height: 1.08;
}

/* v146: o nome da habilidade herdava `white-space: nowrap` + `text-overflow:
   ellipsis` do layout antigo, e o `display: block` do full-art tornava o
   line-clamp inerte — nomes viravam "Ashen Exec…" em 92px de largura útil.
   Volta a ser uma caixa de 2 linhas que quebra palavra. */
.rb-tcg-card.is-fullart .rb-card-textbox strong {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    white-space: normal !important;
    overflow: hidden !important;
    text-overflow: clip !important;
    overflow-wrap: break-word;
}


/* =====================================================================
   VISUAL REWORK v147 — "a arte é a interface"
   O chrome adota o sistema visual da carta full-art: fundos são arte com
   scrim, molduras são metal, acentos são glow de elemento. Camada
   append-only; layout da nav protegido fora da arena/mobile-native.
   Sem filtros de sombra/desfoque proibidos pelo contrato.
   ===================================================================== */

/* ---------- V1 · tokens ---------- */
:root {
    --mx-bronze: linear-gradient(155deg,#e6bd85 0%,#a9773f 18%,#6a4a26 40%,#c98f4f 58%,#7a542c 78%,#e2b57e 100%);
    --mx-silver: linear-gradient(155deg,#eef1f6 0%,#aeb7c2 18%,#5f6b78 40%,#d3dae2 58%,#6e7885 78%,#e8edf3 100%);
    --mx-steel:  linear-gradient(155deg,#cfe4fb 0%,#6f9ede 18%,#2f5590 40%,#a9c8f0 58%,#3a5f95 78%,#cbe1fb 100%);
    --mx-goldm:  linear-gradient(155deg,#fff2b8 0%,#e6c25c 16%,#9c7418 38%,#ffe89a 56%,#a87f22 78%,#fff0b0 100%);
    --mx-scrim-b: linear-gradient(180deg, rgba(8,5,3,0) 0%, rgba(8,5,3,.42) 38%, rgba(6,4,2,.82) 72%, rgba(4,3,1,.95) 100%);
    --mx-scrim-r: linear-gradient(90deg, rgba(8,5,3,.96) 0%, rgba(8,5,3,.86) 34%, rgba(8,5,3,.45) 62%, rgba(8,5,3,.12) 100%);
    --mx-ink: #0b0704;
    --mx-panel: rgba(16,10,6,.86);
    --mx-hairline: rgba(196,160,80,.34);
    --mx-fire: #ff5a2e; --mx-water:#2fbfe0; --mx-earth:#66c25a; --mx-shadow:#a15cff;
}

/* ---------- V1 · botões: hierarquia real ---------- */
.rb-cta, .rb-button-primary.rb-cta {
    position: relative;
    overflow: hidden;
    border: 0;
    border-radius: 9px;
    padding: 14px 26px;
    background: var(--mx-goldm);
    color: #241705;
    font-family: var(--rb-font-epic);
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    text-shadow: 0 1px 0 rgba(255,248,220,.55);
    box-shadow:
        0 10px 24px rgba(0,0,0,.5),
        0 0 18px rgba(230,194,92,.22),
        inset 0 1px 1px rgba(255,250,230,.85),
        inset 0 -2px 3px rgba(90,62,16,.65);
}
.rb-cta:hover:not(:disabled) {
    color: #1a1002;
    box-shadow:
        0 12px 28px rgba(0,0,0,.55),
        0 0 26px rgba(240,205,105,.4),
        inset 0 1px 1px rgba(255,250,230,.95),
        inset 0 -2px 3px rgba(90,62,16,.6);
}
.rb-cta-wide { display: inline-flex; align-items: center; gap: 10px; }
.rb-cta-wide span { display: none; }   /* fim do "A" dentro de botão */
.rb-cta-wide i { display: none; }
.rb-secondary, .rb-button-secondary.rb-secondary {
    border: 1px solid var(--mx-hairline);
    border-radius: 9px;
    background: linear-gradient(180deg, rgba(46,33,22,.6), rgba(20,12,6,.72));
    color: var(--rb-text);
    font-family: var(--rb-font-epic);
    letter-spacing: .05em;
    text-transform: uppercase;
    box-shadow: inset 0 1px 0 rgba(232,212,164,.14);
}
.rb-secondary:hover:not(:disabled) {
    border-color: var(--rb-gold-2);
    color: #fff3d1;
    box-shadow: inset 0 1px 0 rgba(232,212,164,.2), 0 0 14px rgba(196,160,80,.22);
}

/* ---------- V1 · nav: barra fina, links de texto, sem caixas ---------- */
body:not(.rb-game-page) .rb-global-nav {
    display: flex;
    align-items: center;
    gap: 20px;
    width: min(calc(100% - 24px), 1440px);
    margin: 10px auto 0;
    padding: 8px 16px;
    border: 1px solid rgba(196,160,80,.22);
    border-radius: 12px;
    background:
        linear-gradient(180deg, rgba(22,14,8,.92), rgba(10,6,4,.94));
    box-shadow: 0 10px 30px rgba(0,0,0,.45), inset 0 1px 0 rgba(232,212,164,.08);
}
body:not(.rb-game-page) .rb-global-brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 4px 6px;
    border: 0;
    background: none;
}
body:not(.rb-game-page) .rb-global-brand span { display: none; } /* “A” velho */
.rb-brand-sigil { width: 30px; height: 30px; flex: none; }
body:not(.rb-game-page) .rb-global-brand strong {
    font-family: var(--rb-font-epic);
    font-size: 15px;
    letter-spacing: .12em;
    text-transform: uppercase;
    background: linear-gradient(180deg,#ffeec2 8%,#e0bf70 45%,#a67c2e 90%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
body:not(.rb-game-page):not(.rb-mobile-native) .rb-global-tabs {
    display: flex;
    flex: 1 1 auto;
    min-width: 0;
    gap: 2px;
    overflow-x: auto;
    scrollbar-width: none;
    padding: 0;
    background: none;
    border: 0;
}
body:not(.rb-game-page):not(.rb-mobile-native) .rb-global-tabs a {
    flex: none;
    padding: 9px 11px;
    border: 0;
    border-radius: 7px;
    background: none;
    color: #b7a071;
    font-family: var(--rb-font-epic);
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    white-space: nowrap;
    position: relative;
}
body:not(.rb-game-page):not(.rb-mobile-native) .rb-global-tabs a::after {
    content: "";
    position: absolute;
    left: 10px; right: 10px; bottom: 4px;
    height: 2px;
    border-radius: 2px;
    background: var(--mx-goldm);
    opacity: 0;
    transform: scaleX(.4);
    transition: opacity 160ms ease, transform 160ms ease;
}
body:not(.rb-game-page):not(.rb-mobile-native) .rb-global-tabs a:hover { color: #f0dfae; background: rgba(196,160,80,.08); }
body:not(.rb-game-page):not(.rb-mobile-native) .rb-global-tabs a.is-active { color: #ffe9ad; background: none; }
body:not(.rb-game-page):not(.rb-mobile-native) .rb-global-tabs a.is-active::after { opacity: 1; transform: scaleX(1); }
body:not(.rb-game-page) .rb-global-player {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: none;
}
body:not(.rb-game-page) .rb-global-identity,
body:not(.rb-game-page) .rb-global-xp {
    display: none;   /* nível/identidade moram no Profile; a barra respira */
}
body:not(.rb-game-page) .rb-global-wallet {
    display: inline-flex;
    gap: 8px;
    border: 0;
    background: none;
    padding: 0;
}
body:not(.rb-game-page) .rb-global-wallet span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    border: 1px solid rgba(196,160,80,.26);
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(40,27,15,.85), rgba(18,11,6,.9));
    color: #cdb684;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}
body:not(.rb-game-page) .rb-global-wallet span::before {
    content: "";
    width: 12px; height: 12px;
    border-radius: 50%;
    background: radial-gradient(circle at 35% 30%, #ffe9a1, #c99a3a 62%, #7c5a17);
    box-shadow: inset 0 0 2px rgba(70,45,8,.8);
}
body:not(.rb-game-page) .rb-global-wallet .rb-coinz::before {
    border-radius: 2px;
    transform: rotate(45deg);
    background: linear-gradient(135deg,#d9f3ff 8%,#58c8ea 48%,#1d6d8c 95%);
}
body:not(.rb-game-page) .rb-global-wallet strong { color: #ffe9ad; }
body:not(.rb-game-page) .rb-nav-auth {
    border: 1px solid var(--mx-hairline);
    border-radius: 8px;
    padding: 8px 14px;
    background: linear-gradient(180deg, rgba(46,33,22,.7), rgba(20,12,6,.8));
    color: var(--rb-text);
    font-family: var(--rb-font-epic);
    font-size: 11px;
    letter-spacing: .07em;
    text-transform: uppercase;
}
/* v148: com 11 abas a fileira única estoura antes de 1520px e cortava
   Arena/Profile sem nenhum indício de scroll. Nas páginas de produto as
   abas quebram para uma segunda linha; a arena mantém a fileira rolável
   para não roubar altura do board. */
@media (max-width: 1520px) {
    body:not(.rb-game-page) .rb-global-nav { flex-wrap: wrap; gap: 8px; }
    body:not(.rb-game-page):not(.rb-mobile-native) .rb-global-tabs { order: 3; flex-basis: 100%; }
}

/* ---------- V1/V3 · heros de página com arte ---------- */
.rb-product-hero {
    position: relative;
    overflow: hidden;
    min-height: 180px;
    border: 1px solid rgba(196,160,80,.3);
    border-radius: 14px;
    isolation: isolate;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}
.rb-product-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    background: #100a06 center 24% / cover no-repeat;
    background-image: url("../img/arena_bg/fates_reborn_landscape.webp");
}
.rb-product-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: var(--mx-scrim-r);
}
.rb-product-shell[data-page-key="collection"] .rb-product-hero::before { background-image: url("../img/cards/baralho/15.webp"); background-position: center 18%; }
.rb-product-shell[data-page-key="shop"] .rb-product-hero::before { background-image: url("../assets/rebirth/cards/embermaw-alpha-art.webp"); background-position: center 12%; }
.rb-product-shell[data-page-key="progression"] .rb-product-hero::before { background-image: url("../img/cards/baralho/18.webp"); background-position: center 20%; }
.rb-product-shell[data-page-key="profile"] .rb-product-hero::before { background-image: url("../img/heroes/sky_haven_knight.webp"); background-position: center 22%; }
.rb-product-shell[data-page-key="account"] .rb-product-hero::before { background-image: url("../img/heroes/sky_haven_knight.webp"); background-position: center 22%; }
.rb-product-shell[data-page-key="news"] .rb-product-hero::before { background-image: url("../img/cards/baralho/70.webp"); background-position: center 16%; }
.rb-product-shell[data-page-key="ranking"] .rb-product-hero::before { background-image: url("../img/cards/baralho/13.webp"); background-position: center 14%; }
.rb-pvp-shell .rb-product-hero::before { background-image: url("../img/cards/baralho/13.webp"); background-position: center 14%; }
.rb-campaign-shell .rb-product-hero::before { background-image: url("../img/arena_bg/fates_reborn_landscape.webp"); }
.rb-product-hero h1 {
    font-size: clamp(34px, 4.6vw, 52px);
    letter-spacing: .02em;
}
.rb-product-kicker { color: #d8b25f; }

/* ---------- V1/V3 · painéis ---------- */
.rb-product-panel {
    position: relative;
    border: 1px solid rgba(196,160,80,.22);
    border-radius: 12px;
    background:
        radial-gradient(120% 100% at 50% 0%, rgba(196,160,80,.06), transparent 55%),
        var(--mx-panel);
    box-shadow: inset 0 1px 0 rgba(232,212,164,.07), 0 10px 26px rgba(0,0,0,.32);
}
.rb-product-panel > span:first-child,
.rb-product-panel-head span {
    color: #d8b25f;
    letter-spacing: .18em;
}
.rb-guest-visual { display: none !important; }  /* escudo quebrado, adeus */

/* ---------- V3 · collection: o fichário mostra as cartas ---------- */
.rb-loadout-builder { grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); }
.rb-loadout-row {
    display: grid;
    grid-template-columns: 84px minmax(0,1fr) auto;
    gap: 12px;
    align-items: center;
    border: 1px solid rgba(196,160,80,.2);
    border-radius: 10px;
    padding: 10px;
    background: linear-gradient(180deg, rgba(30,20,12,.72), rgba(14,9,5,.85));
}
.rb-loadout-row img {
    width: 84px;
    height: 112px;
    object-fit: cover;
    object-position: center 18%;
    border-radius: 8px;
    border: 1px solid rgba(196,160,80,.35);
    box-shadow: 0 6px 14px rgba(0,0,0,.5);
}
.rb-loadout-row.is-selected { border-color: rgba(230,194,92,.66); box-shadow: 0 0 16px rgba(196,160,80,.18); }
.rb-loadout-summary { display: flex; flex-wrap: wrap; gap: 10px; }
.rb-loadout-summary article {
    clip-path: none !important;
    display: inline-flex;
    align-items: baseline;
    gap: 8px;
    min-width: 0;
    padding: 8px 16px;
    border: 1px solid var(--mx-hairline);
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(46,33,22,.75), rgba(18,11,6,.85));
    color: #cdb684;
}
.rb-loadout-summary article span { font-size: 10px; letter-spacing: .14em; text-transform: uppercase; }
.rb-loadout-summary article strong { color: #ffe9ad; font-family: var(--rb-font-epic); }
.rb-product-card-grid { grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 14px; }
.rb-product-card {
    position: relative;
    overflow: hidden;
    border-radius: 12px;
    border: 1px solid rgba(196,160,80,.28);
    background: #0d0805;
    padding: 0;
}
.rb-product-card img {
    display: block;
    width: 100%;
    height: 190px;
    object-fit: cover;
    object-position: center 16%;
    border: 0;
    border-radius: 0;
}
.rb-product-card > div { padding: 10px 12px 12px; }
.rb-product-card h2 { font-family: var(--rb-font-epic); font-size: 14px; letter-spacing: .03em; }
.rb-product-card.is-rarity-uncommon { border-color: rgba(195,204,216,.5); }
.rb-product-card.is-rarity-legendary { border-color: rgba(242,207,106,.66); box-shadow: 0 0 18px rgba(242,207,106,.14); }

/* ---------- V3 · shop: o booster é um objeto ---------- */
.rb-booster-pack {
    position: relative;
    width: 168px;
    height: 236px;
    margin: 0 auto;
    border-radius: 12px;
    padding: 5px;
    background: var(--mx-goldm);
    box-shadow: 0 18px 40px rgba(0,0,0,.6), 0 0 26px rgba(230,194,92,.22);
}
.rb-booster-pack::before {
    content: "";
    position: absolute;
    inset: 5px;
    border-radius: 8px;
    background:
        linear-gradient(180deg, rgba(8,5,3,.1) 0%, rgba(8,5,3,.55) 70%, rgba(4,3,1,.9) 100%),
        url("../assets/rebirth/cards/embermaw-alpha-art.webp") center 20% / cover no-repeat;
}
.rb-booster-pack::after {
    content: "REBIRTH · SET 1";
    position: absolute;
    left: 5px; right: 5px; bottom: 5px;
    padding: 10px 0 12px;
    border-radius: 0 0 8px 8px;
    text-align: center;
    color: #ffe9ad;
    font-family: var(--rb-font-epic);
    font-size: 11px;
    letter-spacing: .22em;
    background: linear-gradient(180deg, transparent, rgba(4,3,1,.85) 40%);
}
.rb-booster-pack-glow, .rb-booster-pack-tape { display: none; }
.rb-booster-pack-emblem {
    position: absolute;
    z-index: 2;
    top: 12px; left: 50%;
    transform: translateX(-50%);
    width: 34px; height: 34px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: radial-gradient(circle at 36% 28%, #fff3cf, #caa14b 60%, #7c5a17);
    color: #241705;
    font-family: var(--rb-font-epic);
    font-weight: 900;
    box-shadow: 0 4px 10px rgba(0,0,0,.55);
}
.rb-gacha-slots span {
    border: 1px solid rgba(196,160,80,.4);
    border-radius: 8px;
    padding: 7px 0;
    font-family: var(--rb-font-epic);
    letter-spacing: .1em;
    background: linear-gradient(180deg, rgba(122,84,44,.5), rgba(24,15,8,.85));
    color: #e8cf9a;
}
.rb-gacha-slots span[data-rarity="uncommon"] {
    border-color: rgba(195,204,216,.6);
    background: linear-gradient(180deg, rgba(110,120,133,.5), rgba(20,22,26,.85));
    color: #e8edf3;
}

/* ---------- V3 · campanha: jornada com rosto ---------- */
.rb-campaign-node { border: 1px solid rgba(196,160,80,.22); border-radius: 14px; overflow: hidden; }
.rb-campaign-silhouette {
    width: 132px;
    height: 132px;
    border-radius: 12px;
    border: 2px solid color-mix(in srgb, var(--node-accent, #c4a050) 55%, #2a1c0d);
    background-color: #140d07;
    background-size: cover;
    background-position: center 18%;
    box-shadow: 0 10px 22px rgba(0,0,0,.5), 0 0 16px color-mix(in srgb, var(--node-accent, #c4a050) 26%, transparent);
}
.rb-campaign-node.is-locked .rb-campaign-silhouette { filter: grayscale(.85) brightness(.5); }
.rb-campaign-node.is-next { border-color: rgba(230,194,92,.6); box-shadow: 0 0 24px rgba(196,160,80,.16); }
.rb-campaign-seal, .rb-campaign-lock {
    position: absolute;
    right: -6px; bottom: -6px;
    width: 30px; height: 30px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--mx-goldm);
    color: #241705;
    font-weight: 900;
    box-shadow: 0 4px 10px rgba(0,0,0,.5);
}
.rb-campaign-lock { background: linear-gradient(180deg,#4c4c52,#232327); color: #b9b9c2; }

/* ---------- V3 · rewards/pvp ---------- */
.rb-progress-mini-stats article {
    border: 1px solid rgba(196,160,80,.24);
    border-radius: 10px;
    background: linear-gradient(180deg, rgba(36,24,14,.7), rgba(14,9,5,.85));
}
.rb-progress-mini-stats article strong { font-family: var(--rb-font-epic); color: #ffe9ad; }
.rb-pvp-mode { position: relative; overflow: hidden; isolation: isolate; min-height: 210px; }
.rb-pvp-mode::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    background: #0d0805 center 16% / cover no-repeat;
}
.rb-pvp-mode::after { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--mx-scrim-b); }
.rb-pvp-mode-live::before { background-image: url("../img/cards/baralho/13.webp"); }
.rb-pvp-mode-ranked::before { background-image: url("../img/cards/baralho/36.webp"); }

/* ---------- V4 · arena: alinhamento de chrome (cirúrgico) ---------- */
body.rb-game-page #next-turn-button {
    background: var(--mx-goldm);
    color: #241705;
    border: 0;
    text-shadow: 0 1px 0 rgba(255,248,220,.55);
    box-shadow:
        0 8px 20px rgba(0,0,0,.5),
        0 0 16px rgba(230,194,92,.2),
        inset 0 1px 1px rgba(255,250,230,.8),
        inset 0 -2px 3px rgba(90,62,16,.6);
}
body.rb-game-page .rb-hero-portrait {
    border: 2px solid rgba(224,191,112,.66);
    box-shadow: 0 0 0 1px rgba(10,6,3,.9), 0 0 18px rgba(196,160,80,.22);
}

/* ---------- V2 · home cinematográfica ---------- */
.rb-home-v2 { --nav-h: 62px; }
.rb-home-v2 .rb-home-shell { width: 100%; max-width: none; padding: 0; margin: 0; display: block; }
.rb-hero-cine {
    position: relative;
    isolation: isolate;
    min-height: max(86vh, 640px);
    display: flex;
    align-items: center;
    overflow: hidden;
}
.rb-hero-cine::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    background: #0d0805 url("../img/arena_bg/fates_reborn_landscape.webp") center 30% / cover no-repeat;
    animation: rb-hero-drift 36s ease-in-out infinite alternate;
}
.rb-hero-cine::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        radial-gradient(90% 70% at 72% 40%, transparent 30%, rgba(6,4,2,.6) 100%),
        linear-gradient(90deg, rgba(6,4,2,.94) 0%, rgba(6,4,2,.78) 34%, rgba(6,4,2,.3) 62%, rgba(6,4,2,.55) 100%),
        linear-gradient(180deg, rgba(6,4,2,.65) 0%, transparent 22%, transparent 62%, #080503 100%);
}
.rb-hero-cine-inner {
    width: min(calc(100% - 48px), 1360px);
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    align-items: center;
    gap: 40px;
    padding: 90px 0 70px;
}
.rb-hero-wordmark {
    margin: 0 0 6px;
    font-family: var(--rb-font-epic);
    font-weight: 800;
    font-size: clamp(46px, 6.2vw, 84px);
    line-height: .94;
    letter-spacing: .04em;
    text-transform: uppercase;
    background: linear-gradient(180deg,#fff3cf 6%,#ecd191 38%,#b98d3c 72%,#8a6424 96%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.rb-hero-wordmark small {
    display: block;
    margin-top: 10px;
    font-size: clamp(15px, 1.6vw, 22px);
    font-weight: 700;
    letter-spacing: .58em;
    color: #cdb684;
    -webkit-text-fill-color: currentColor;
}
.rb-hero-tag {
    margin: 18px 0 8px;
    color: #f0dfae;
    font-family: var(--rb-font-epic);
    font-size: clamp(16px, 1.8vw, 22px);
    letter-spacing: .04em;
}
.rb-hero-sub { max-width: 480px; color: #b7a487; font-size: 15px; line-height: 1.55; }
.rb-hero-facts {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
    margin: 18px 0 26px;
    padding: 0;
    list-style: none;
    color: #cdb684;
    font-family: var(--rb-font-epic);
    font-size: 12px;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.rb-hero-facts li { display: inline-flex; align-items: center; gap: 8px; }
.rb-hero-facts li::before { content: ""; width: 5px; height: 5px; transform: rotate(45deg); background: #c4a050; }
.rb-hero-actions { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }
.rb-hero-actions .rb-cta { padding: 17px 34px; font-size: 15px; }
.rb-hero-actions .rb-ghost {
    color: #cdb684;
    font-family: var(--rb-font-epic);
    font-size: 13px;
    letter-spacing: .08em;
    text-transform: uppercase;
    border-bottom: 1px solid rgba(196,160,80,.4);
    padding-bottom: 2px;
}
.rb-hero-actions .rb-ghost:hover { color: #ffe9ad; border-color: #e0bf70; }

/* leque de cartas reais */
.rb-hero-fan { position: relative; height: 480px; }
.rb-hero-fan .rb-tcg-card {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 240px;
    height: 336px;
    cursor: default;
    transition: transform 300ms ease;
}
.rb-hero-fan .rb-fan-l { transform: translate(-96%, -46%) rotate(-9deg); z-index: 1; }
.rb-hero-fan .rb-fan-c { transform: translate(-50%, -52%); z-index: 3; }
.rb-hero-fan .rb-fan-r { transform: translate(-4%, -46%) rotate(9deg); z-index: 2; }
.rb-hero-fan .rb-fan-l:hover { transform: translate(-96%, -50%) rotate(-9deg); }
.rb-hero-fan .rb-fan-c:hover { transform: translate(-50%, -56%); }
.rb-hero-fan .rb-fan-r:hover { transform: translate(-4%, -50%) rotate(9deg); }

/* faixa de elementos */
.rb-elements-band { width: min(calc(100% - 48px), 1360px); margin: 0 auto; padding: 64px 0 10px; }
.rb-band-head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.rb-band-head h2 { font-family: var(--rb-font-epic); font-size: 26px; letter-spacing: .04em; color: #f0dfae; text-transform: uppercase; }
.rb-band-head a { color: #cdb684; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; font-family: var(--rb-font-epic); }
.rb-elements-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px; }
.rb-element-tile {
    --el: #c4a050;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: 230px;
    border-radius: 14px;
    border: 1px solid color-mix(in srgb, var(--el) 45%, #241705);
    display: flex;
    align-items: flex-end;
    padding: 16px;
    color: #f3e7cf;
}
.rb-element-tile::before { content: ""; position: absolute; inset: 0; z-index: -2; background: #0d0805 center 14% / cover no-repeat; transition: transform 400ms ease; }
.rb-element-tile::after { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--mx-scrim-b); box-shadow: inset 0 0 26px color-mix(in srgb, var(--el) 26%, transparent); }
.rb-element-tile:hover::before { transform: scale(1.05); }
.rb-element-tile[data-el="fire"]   { --el: var(--mx-fire); }  .rb-element-tile[data-el="fire"]::before   { background-image: url("../img/cards/baralho/7.webp"); }
.rb-element-tile[data-el="water"]  { --el: var(--mx-water); } .rb-element-tile[data-el="water"]::before  { background-image: url("../img/cards/baralho/33.webp"); }
.rb-element-tile[data-el="earth"]  { --el: var(--mx-earth); } .rb-element-tile[data-el="earth"]::before  { background-image: url("../img/cards/baralho/50.webp"); }
.rb-element-tile[data-el="shadow"] { --el: var(--mx-shadow); }.rb-element-tile[data-el="shadow"]::before { background-image: url("../img/cards/baralho/74.webp"); }
.rb-element-tile strong { display: block; font-family: var(--rb-font-epic); font-size: 19px; letter-spacing: .06em; text-transform: uppercase; }
.rb-element-tile em { display: block; font-style: normal; color: color-mix(in srgb, var(--el) 70%, #fff); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; margin-top: 3px; }

/* modos */
.rb-modes-band { width: min(calc(100% - 48px), 1360px); margin: 0 auto; padding: 44px 0 80px; }
.rb-modes-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; }
.rb-mode-tile {
    position: relative; isolation: isolate; overflow: hidden;
    min-height: 190px; border-radius: 14px;
    border: 1px solid rgba(196,160,80,.3);
    display: flex; flex-direction: column; justify-content: flex-end;
    padding: 18px; color: #f3e7cf;
}
.rb-mode-tile::before { content: ""; position: absolute; inset: 0; z-index: -2; background: #0d0805 center 20% / cover no-repeat; transition: transform 400ms ease; }
.rb-mode-tile::after { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--mx-scrim-b); }
.rb-mode-tile:hover::before { transform: scale(1.05); }
.rb-mode-tile[data-mode="campaign"]::before { background-image: url("../img/heroes/bot_necropolis_warlord.webp"); }
.rb-mode-tile[data-mode="live"]::before { background-image: url("../img/cards/baralho/13.webp"); }
.rb-mode-tile[data-mode="ranked"]::before { background-image: url("../img/cards/baralho/36.webp"); }
.rb-mode-tile strong { font-family: var(--rb-font-epic); font-size: 18px; letter-spacing: .05em; text-transform: uppercase; }
.rb-mode-tile p { margin: 4px 0 0; color: #c9b491; font-size: 13px; line-height: 1.45; }
.rb-home-footer {
    border-top: 1px solid rgba(196,160,80,.18);
    padding: 26px 0 34px;
    background: #070402;
}
.rb-home-footer-inner {
    width: min(calc(100% - 48px), 1360px);
    margin: 0 auto;
    display: flex; flex-wrap: wrap; gap: 14px 26px;
    align-items: center; justify-content: space-between;
    color: #8d7a58; font-size: 12px;
}
.rb-home-footer a { color: #b7a071; }
@media (max-width: 980px) {
    .rb-hero-cine-inner { grid-template-columns: 1fr; padding: 60px 0 40px; }
    .rb-hero-fan { height: 380px; }
    .rb-hero-fan .rb-tcg-card { width: 188px; height: 264px; }
    .rb-elements-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .rb-modes-grid { grid-template-columns: 1fr; }
}

/* ---------- V5 · movimento (reduced-motion safe) ---------- */
@keyframes rb-hero-drift { from { transform: scale(1); } to { transform: scale(1.06) translateY(-1.2%); } }
@keyframes rb-ember-rise {
    0% { transform: translateY(0) scale(1); opacity: 0; }
    12% { opacity: .8; }
    100% { transform: translateY(-46vh) scale(.4); opacity: 0; }
}
.rb-embers { position: absolute; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; }
.rb-embers i {
    position: absolute;
    bottom: 8%;
    width: 4px; height: 4px;
    border-radius: 50%;
    background: radial-gradient(circle at 40% 35%, #ffd489, #ff7b3a 70%);
    opacity: 0;
    animation: rb-ember-rise 9s linear infinite;
}
.rb-embers i:nth-child(1) { left: 12%; animation-delay: 0s; }
.rb-embers i:nth-child(2) { left: 30%; animation-delay: 2.2s; width: 3px; height: 3px; }
.rb-embers i:nth-child(3) { left: 47%; animation-delay: 4.6s; }
.rb-embers i:nth-child(4) { left: 66%; animation-delay: 1.4s; width: 3px; height: 3px; }
.rb-embers i:nth-child(5) { left: 82%; animation-delay: 3.4s; }
.rb-embers i:nth-child(6) { left: 92%; animation-delay: 6s; width: 3px; height: 3px; }
@media (prefers-reduced-motion: no-preference) {
    body:not(.rb-game-page) .rb-home-shell,
    body:not(.rb-game-page) .rb-product-shell { animation: rb-page-enter 300ms ease-out both; }
}
@keyframes rb-page-enter { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
    .rb-hero-cine::before { animation: none; }
    .rb-embers { display: none; }
    .rb-element-tile::before, .rb-mode-tile::before, .rb-hero-fan .rb-tcg-card { transition: none; }
}
/* ===== fim VISUAL REWORK v147 ===== */

/* sígilo só fora da arena; o layout do jogo mantém o brand antigo */
body.rb-game-page .rb-brand-sigil { display: none; }

/* nav: 11 abas cabem em 1440px sem scroll; tiles sem sublinhado de documento */
body:not(.rb-game-page):not(.rb-mobile-native) .rb-global-tabs a { padding: 9px 8px; font-size: 10.5px; letter-spacing: .06em; }
.rb-element-tile, .rb-mode-tile, .rb-element-tile *, .rb-mode-tile *,
.rb-hero-actions .rb-ghost, .rb-band-head a { text-decoration: none; }

/* selo de cera do booster: troca o 'A' Arial pelo sígilo (blade-A) */
.rb-product-shell .rb-shop-pack::after {
    content: '' !important;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M32 13 46.5 49H38.9L36 41H28L25.1 49H17.5Z M32 26.2 34.3 34.6H29.7Z' fill='%23ffdcb4' fill-rule='evenodd' opacity='0.9'/%3E%3C/svg%3E") center / 30px 30px no-repeat;
}
