/* ===== Banco Lume ===== */
:root {
  --marinho: #0B1530; --marinho-2: #13234A; --marinho-3: #1D3366;
  --royal: #1E7BE6; --ciano: #49B8FF;
  --ouro: #FFC21A; --ouro-2: #F59E0B; --ouro-escuro: #8A5A00;
  --chama: #FF6A1F; --vermelho: #E5483B; --verde: #22C55E; --verde-escuro: #15803D;
  --prata: #C9D3E3; --bronze: #D98B4A;
  --fundo: #EEF2FA; --papel: #FFFFFF; --linha: #D5DDEE; --tinta: #13203D; --cinza: #5A6782;
  --display: "Russo One", "Arial Black", Impact, sans-serif;
  --texto: "Nunito", "Segoe UI", system-ui, sans-serif;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; min-height: 100vh; display: flex; flex-direction: column; background: var(--fundo); color: var(--tinta); font: 400 1rem/1.55 var(--texto); }
h1, h2 { font-family: var(--display); font-weight: 400; line-height: 1.15; margin: 0 0 .6em; }
h1 { font-size: clamp(1.7rem, 4.5vw, 2.4rem); }
h2 { font-size: 1.2rem; }
a { color: var(--royal); font-weight: 700; text-underline-offset: 3px; }
:focus-visible { outline: 3px solid var(--ouro); outline-offset: 2px; }
small { color: var(--cinza); margin-left: .35em; }
small.sem-margem { margin: 0; }
[hidden] { display: none !important; }

/* ----- Topo ----- */
.topo { background: var(--marinho); color: #fff; display: flex; flex-wrap: wrap; gap: .6rem 1.5rem; align-items: center; justify-content: space-between;
  padding: calc(.55rem + env(safe-area-inset-top, 0px)) clamp(1rem, 4vw, 2.5rem) .55rem; border-bottom: 3px solid var(--ouro); }
.marca { display: flex; gap: .55rem; align-items: center; text-decoration: none; }
.marca img { height: 46px; width: auto; filter: drop-shadow(0 2px 4px rgba(0,0,0,.4)); }
.marca-texto, .titulo-banco { font-family: var(--display); line-height: .95; text-transform: uppercase; display: flex; flex-direction: column; }
.marca-texto { font-size: 1.15rem; }
.marca-texto span:first-child, .titulo-banco span:first-child { color: var(--chama); }
.marca-texto span:last-child, .titulo-banco span:last-child { color: var(--ouro); }
.marca-texto span, .titulo-banco span { text-shadow: 2px 2px 0 #000, -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000; }
.topo nav { display: flex; flex-wrap: wrap; gap: .2rem; align-items: center; }
.topo nav a, .sair button { color: #CFE0FF; text-decoration: none; padding: .45rem .8rem; border-radius: 999px; font: 700 .93rem var(--texto); background: none; border: 0; cursor: pointer; }
.topo nav a:hover, .sair button:hover { color: #fff; background: rgba(255,255,255,.1); }
.topo nav a[aria-current] { background: var(--ouro); color: var(--marinho); }
.sair { margin: 0; }

main { width: 100%; max-width: 1120px; margin: 0 auto; padding: clamp(1.1rem, 4vw, 2.2rem) clamp(.9rem, 4vw, 2.5rem) 3rem; flex: 1; }
.rodape { display: flex; gap: .7rem; align-items: center; justify-content: center; padding: 1rem 1rem calc(1rem + env(safe-area-inset-bottom, 0px)); color: var(--cinza); font-size: .85rem; }
.rodape img { height: 40px; width: auto; }

/* ----- Blocos e formulários (diretoria) ----- */
.cartao { background: var(--papel); border: 1px solid var(--linha); border-radius: 18px; padding: clamp(1rem, 3vw, 1.5rem); margin-bottom: 1.25rem; }
.estreito { max-width: 440px; margin-inline: auto; width: 100%; }
.grade { display: grid; grid-template-columns: 1fr 1.3fr; gap: 1.25rem; align-items: start; }
.grade > .cartao { margin-bottom: 0; }
@media (max-width: 860px) { .grade { grid-template-columns: 1fr; } }
.titulo-pagina { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: .6rem 1.5rem; margin-bottom: 1.25rem; }
.titulo-pagina h1 { margin: 0; }
.nota { color: var(--cinza); font-size: .88rem; margin: .5rem 0 0; }
.vazio { color: var(--cinza); }
.rolagem { overflow-x: auto; }
.rotulo { font-weight: 800; margin: 0 0 .5rem; }
.lista-texto { padding-left: 1.2rem; margin: 0; } .lista-texto li { margin-bottom: .4rem; }

.aviso { padding: .75rem 1rem; border-radius: 12px; margin: 0 0 1.2rem; border-left: 5px solid; font-weight: 600; }
.aviso-ok { background: #DDF7E6; border-color: var(--verde); color: #0E3B21; }
.aviso-erro { background: #FDE3E0; border-color: var(--vermelho); color: #5C130D; }
.aviso-info { background: #FFF3CC; border-color: var(--ouro-2); color: #4A3200; }

.form { display: grid; gap: 1rem; }
label { display: grid; gap: .35rem; font-weight: 700; font-size: .95rem; }
input:not([type=checkbox]):not([type=radio]), select { font: 400 1rem var(--texto); padding: .7rem .85rem; border: 2px solid var(--linha); border-radius: 12px; background: #fff; color: var(--tinta); width: 100%; }
input:focus, select:focus { border-color: var(--royal); outline: none; box-shadow: 0 0 0 3px rgba(30,123,230,.2); }
.check { display: flex; gap: .6rem; align-items: center; font-weight: 600; }
.check input { width: 1.2rem; height: 1.2rem; accent-color: var(--royal); flex: none; }
.campo-senha { display: flex; gap: .5rem; }
.acoes { display: flex; gap: .6rem; align-items: center; flex-wrap: wrap; }
.acoes form { margin: 0; }
.reset { margin-top: 1.5rem; padding-top: 1.2rem; border-top: 2px dashed var(--linha); }
.busca-lista { margin-bottom: .75rem; }

.btn { font: 400 1rem var(--display); letter-spacing: .02em; background: var(--marinho-2); color: #fff; border: 0; border-radius: 14px; padding: .8rem 1.3rem; cursor: pointer;
  box-shadow: 0 4px 0 #050B1C; transition: transform .08s; text-decoration: none; display: inline-block; text-align: center; }
.btn:hover { background: var(--marinho-3); }
.btn:active { transform: translateY(3px); box-shadow: 0 1px 0 #050B1C; }
.btn-ouro { background: linear-gradient(180deg, #FFD54A, var(--ouro-2)); color: #3A2400; box-shadow: 0 4px 0 var(--ouro-escuro); }
.btn-ouro:hover { background: linear-gradient(180deg, #FFE07A, var(--ouro)); }
.btn-ouro:active { box-shadow: 0 1px 0 var(--ouro-escuro); }
.btn-sec { background: #fff; color: var(--marinho-2); box-shadow: inset 0 0 0 2px var(--linha); font-family: var(--texto); font-weight: 800; }
.btn-sec:hover { background: var(--fundo); }
.btn-sec:active { box-shadow: inset 0 0 0 2px var(--linha); }
.btn-peq { font-size: .85rem; padding: .45rem .85rem; border-radius: 10px; }
.chip { font: 700 .85rem var(--texto); background: var(--fundo); color: var(--marinho-2); border: 1px solid var(--linha); border-radius: 999px; padding: .3rem .75rem; cursor: pointer; white-space: nowrap; }

/* Tabelas */
.tabela { width: 100%; border-collapse: collapse; }
.tabela th { text-align: left; font-size: .82rem; color: var(--cinza); font-weight: 800; padding: .5rem; border-bottom: 2px solid var(--fundo); }
.tabela td { padding: .6rem .5rem; border-bottom: 1px solid var(--fundo); vertical-align: middle; }
.tabela label { font-weight: 600; cursor: pointer; display: inline; }
.tabela tr:has(input:checked) { background: #FFF3CC; }
.cel-cargo { color: var(--cinza); font-size: .9rem; }
.num { text-align: right; font-variant-numeric: tabular-nums; font-weight: 700; }
.inativo { opacity: .5; }
.filtro { display: flex; gap: 1rem; align-items: center; justify-content: space-between; margin-bottom: .75rem; flex-wrap: wrap; }
.filtro input[type=search] { max-width: 300px; }
.selo { font-size: .74rem; font-weight: 800; padding: .12rem .55rem; border-radius: 999px; background: #E3EAF8; color: var(--marinho-2); white-space: nowrap; display: inline-block; margin: .15rem .2rem 0 0; }
.selo-pendente { background: #FFF3CC; color: var(--ouro-escuro); }
.selo-entregue { background: #DDF7E6; color: var(--verde-escuro); }
.selo-cancelado { background: #FDE3E0; color: #9B2318; }
.valor-pos { color: var(--verde-escuro); font-weight: 800; }
.valor-neg { color: var(--vermelho); font-weight: 800; }

/* Lançar */
.lancar { display: grid; grid-template-columns: 1fr 360px; gap: 1.25rem; align-items: start; margin-bottom: 1.25rem; }
.lancar > .cartao { margin: 0; }
.painel-lancar { display: grid; gap: 1rem; position: sticky; top: 1rem; }
@media (max-width: 860px) { .lancar { grid-template-columns: 1fr; } .painel-lancar { position: static; } }
.tipos { display: flex; flex-wrap: wrap; gap: .45rem; }
.tipo { font: 700 .88rem var(--texto); background: #F1F6FF; color: var(--marinho-2); border: 2px solid #CFE0FF; border-radius: 12px; padding: .4rem .7rem; cursor: pointer; }
.tipo strong { color: var(--verde-escuro); }
.tipo-neg { background: #FFF2F0; border-color: #F7C8C2; } .tipo-neg strong { color: var(--vermelho); }
.tipo-avulso { background: #fff; border-style: dashed; }
.tipo[aria-pressed=true] { border-color: var(--ouro-2); background: #FFF3CC; box-shadow: 0 0 0 3px rgba(245,158,11,.25); }
.tipo-icone { font-size: 1.3rem; }
.icones { border: 0; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .35rem; }
.icones legend { font-weight: 700; margin-bottom: .4rem; padding: 0; }
.icones label { display: block; }
.icones input { position: absolute; opacity: 0; }
.icones span { display: grid; place-content: center; width: 2.6rem; height: 2.6rem; font-size: 1.4rem; border-radius: 12px; border: 2px solid var(--linha); cursor: pointer; background: #fff; }
.icones input:checked + span { border-color: var(--ouro-2); background: #FFF3CC; }
.icones input:focus-visible + span { outline: 3px solid var(--royal); }

.resumo-imp { display: flex; gap: .75rem; flex-wrap: wrap; margin-bottom: 1rem; }
.resumo-imp div { background: var(--fundo); border-radius: 14px; padding: .7rem 1rem; }
.resumo-imp strong { font: 400 1.6rem var(--display); color: var(--royal); margin-right: .3rem; }
.resumo-imp .tem-erro strong { color: var(--vermelho); }
.form-confirmar { margin: 1.25rem 0 .75rem; }

.lista-simples { list-style: none; margin: 0; padding: 0; }
.lista-simples li { display: flex; justify-content: space-between; align-items: center; gap: .8rem; padding: .7rem 0; border-bottom: 1px solid var(--fundo); flex-wrap: wrap; }
.lista-simples li:last-child { border-bottom: 0; }
.lista-simples form { margin: 0; }

/* Extrato (comum) */
.extrato { list-style: none; margin: 0; padding: 0; }
.extrato li { display: flex; gap: .8rem; align-items: center; padding: .65rem 0; border-bottom: 1px solid var(--fundo); }
.extrato li:last-child { border-bottom: 0; }
.ext-icone { width: 2.4rem; height: 2.4rem; flex: none; border-radius: 50%; display: grid; place-content: center; font-size: 1.15rem; background: #E8F1FF; }
.neg .ext-icone { background: #FDE8E5; }
.ext-info { display: grid; flex: 1; min-width: 0; }
.ext-motivo { font-weight: 700; }
.ext-data { font-size: .82rem; color: var(--cinza); }
.ext-valor { font: 400 1.15rem var(--display); white-space: nowrap; font-variant-numeric: tabular-nums; }
.pos .ext-valor { color: var(--verde-escuro); }
.neg .ext-valor { color: var(--vermelho); }

/* =========================================================
   TEMA NOITE: painel do membro, login e loja
   ========================================================= */
.tema-noite { color: #EAF1FF; --cinza: #9DB0D6; --linha: #2A4278; --fundo: #13234A;
  background-color: var(--marinho);
  background-image:
    radial-gradient(1.5px 1.5px at 12% 18%, #fff 60%, transparent 61%),
    radial-gradient(1px 1px at 72% 9%, #fff 60%, transparent 61%),
    radial-gradient(1.5px 1.5px at 85% 42%, #FFE9A8 60%, transparent 61%),
    radial-gradient(1px 1px at 33% 64%, #fff 60%, transparent 61%),
    radial-gradient(1px 1px at 52% 31%, #CFE0FF 60%, transparent 61%),
    radial-gradient(1.5px 1.5px at 6% 82%, #fff 60%, transparent 61%),
    radial-gradient(1px 1px at 93% 88%, #fff 60%, transparent 61%),
    radial-gradient(ellipse at 50% -10%, #1D3366 0%, transparent 60%);
  background-size: 340px 340px, 340px 340px, 340px 340px, 340px 340px, 340px 340px, 340px 340px, 340px 340px, 100% 100%;
  background-attachment: fixed; }
.tema-noite a { color: var(--ciano); }
.tema-noite .rodape { color: #7F93BD; }
.tema-noite .cartao, .bloco { background: rgba(19,35,74,.88); border: 1px solid #2A4278; border-radius: 22px; padding: clamp(1rem, 3vw, 1.4rem); margin-bottom: 1.25rem; color: #EAF1FF; }
.tema-noite .nota { color: #9DB0D6; }
.tema-noite input:not([type=checkbox]) { background: #0E1B3D; border-color: #2A4278; color: #fff; }
.tema-noite .extrato li { border-color: rgba(255,255,255,.08); }
.tema-noite .ext-icone { background: rgba(73,184,255,.15); }
.tema-noite .neg .ext-icone { background: rgba(229,72,59,.18); }
.tema-noite .pos .ext-valor { color: #4ADE80; }
.tema-noite .neg .ext-valor { color: #FF7A6E; }
.tema-noite .aviso-ok { background: rgba(34,197,94,.15); color: #BBF7D0; }
.tema-noite .aviso-erro { background: rgba(229,72,59,.18); color: #FFD3CE; }
.tema-noite .aviso-info { background: rgba(255,194,26,.14); color: #FFE9A8; }
.link-discreto { text-align: center; font-size: .9rem; }

/* Login */
.entrada { display: grid; justify-items: center; gap: 1rem; padding-top: clamp(0rem, 3vh, 1.5rem); }
.entrada-tocha { height: clamp(140px, 22vh, 200px); width: auto; filter: drop-shadow(0 0 24px rgba(255,140,30,.45)); }
.titulo-banco { font-size: clamp(2.4rem, 9vw, 3.4rem); flex-direction: row; gap: .3em; margin: 0 0 .5rem; text-align: center; }
.titulo-banco span { text-shadow: 3px 3px 0 #000, -2px -2px 0 #000, 2px -2px 0 #000, -2px 2px 0 #000; }

/* ----- Cofre (topo do painel) ----- */
.cofre { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: clamp(1.2rem, 5vw, 3rem);
  padding: clamp(1.4rem, 5vw, 2.4rem); margin-bottom: 1.25rem; border-radius: 28px; perspective: 900px;
  background: linear-gradient(135deg, #1D3366 0%, #13234A 55%, #0F1D40 100%); border: 2px solid rgba(255,194,26,.55);
  box-shadow: 0 0 0 6px rgba(255,194,26,.08), 0 20px 40px rgba(0,0,0,.35); overflow: hidden; }
.cofre::after { content: "$"; position: absolute; right: -1rem; bottom: -4.5rem; font: 400 16rem/1 var(--display); color: rgba(255,194,26,.06); pointer-events: none; }
.moeda-area { position: relative; flex: none; margin-inline: auto; }
.moeda-area::before { content: ""; position: absolute; inset: -18%; border-radius: 50%; background: radial-gradient(circle, rgba(255,194,26,.35), transparent 65%); }
.moeda { --tam: clamp(190px, 52vw, 250px); position: relative; width: var(--tam); height: var(--tam); border-radius: 50%;
  display: grid; place-content: center; justify-items: center; text-align: center; color: #4A2E00;
  background: radial-gradient(circle at 34% 26%, rgba(255,255,255,.65), transparent 30%), radial-gradient(circle, #FFE58A, var(--ouro) 55%, #D48A00);
  box-shadow: inset 0 0 0 10px rgba(255,255,255,.25), inset 0 0 0 13px rgba(138,90,0,.55), 0 8px 0 var(--ouro-escuro), 0 16px 30px rgba(0,0,0,.4); }
.moeda::before { content: ""; position: absolute; inset: 3px; border-radius: 50%;
  background: repeating-conic-gradient(rgba(138,90,0,.4) 0 2deg, transparent 2deg 6deg);
  -webkit-mask: radial-gradient(circle, transparent calc(50% - 8px), #000 calc(50% - 7px)); mask: radial-gradient(circle, transparent calc(50% - 8px), #000 calc(50% - 7px)); }
.moeda-cifrao { width: 28%; height: auto; margin-bottom: .1rem; filter: drop-shadow(0 2px 2px rgba(0,0,0,.3)); }
.moeda-valor { font: 400 clamp(2.4rem, 11vw, 3.4rem)/1 var(--display); font-variant-numeric: tabular-nums; }
.moeda-rotulo { font: 800 .95rem var(--texto); text-transform: uppercase; letter-spacing: .08em; }
.moeda.girar { animation: girar 1s cubic-bezier(.3,.7,.3,1); }
.moeda.tremer { animation: tremer .5s; }
@keyframes girar { to { transform: rotateY(720deg); } }
@keyframes tremer { 20%,60% { transform: translateX(-8px); } 40%,80% { transform: translateX(8px); } }
.moeda-delta { position: absolute; top: 2%; right: -6%; z-index: 2; background: var(--verde); color: #fff; font: 400 1.35rem var(--display);
  padding: .3rem .8rem; border-radius: 999px; border: 3px solid #fff; opacity: 0; transform: translateY(12px) scale(.6); transition: opacity .35s, transform .35s cubic-bezier(.3,1.6,.5,1); }
.moeda-delta.neg { background: var(--vermelho); }
.moeda-delta.mostrar { opacity: 1; transform: none; }

.cofre-texto { flex: 1; min-width: 240px; position: relative; z-index: 1; }
.cofre-texto h1 { margin-bottom: .1em; font-size: clamp(2rem, 6vw, 2.8rem); }
.cargo { margin: 0 0 1rem; color: var(--ouro); font-weight: 800; text-transform: uppercase; letter-spacing: .06em; font-size: .85rem; }
.stats { display: flex; gap: .75rem; flex-wrap: wrap; margin-bottom: 1rem; }
.stat { border-radius: 18px; padding: .7rem 1rem; flex: 1 1 130px; max-width: 200px; min-width: 0; display: grid; }
.stat-num { font: 400 1.9rem/1.1 var(--display); }
.stat-rot { font-size: .82rem; font-weight: 700; opacity: .9; }
.stat-mes { background: linear-gradient(135deg, #22C55E, #15803D); }
.stat-pos { background: linear-gradient(135deg, #2F8CFF, #1A4FBF); }
.ao-vivo { margin: 0; display: flex; gap: .55rem; align-items: center; color: #9DB0D6; font-size: .9rem; font-weight: 600; }
.ponto { width: 10px; height: 10px; border-radius: 50%; background: #4ADE80; animation: pulsar 2.4s infinite; }
@keyframes pulsar { 0% { box-shadow: 0 0 0 0 rgba(74,222,128,.6); } 70%,100% { box-shadow: 0 0 0 10px rgba(74,222,128,0); } }

/* Meta */
.meta { background: rgba(19,35,74,.88); border: 1px solid #2A4278; border-radius: 20px; padding: 1rem 1.2rem; margin-bottom: 1.25rem; }
.meta-topo { display: flex; justify-content: space-between; flex-wrap: wrap; gap: .3rem 1rem; font-weight: 700; margin-bottom: .6rem; }
.meta-topo strong { color: var(--ouro); }
.meta-barra { height: 16px; border-radius: 999px; background: #0B1530; overflow: hidden; box-shadow: inset 0 2px 4px rgba(0,0,0,.5); }
.meta-barra span { display: block; height: 100%; width: 0; border-radius: inherit; transition: width 1s ease;
  background: repeating-linear-gradient(45deg, var(--ouro) 0 12px, #FFD54A 12px 24px); }

/* Grade do painel */
.grade-painel { display: grid; grid-template-columns: 1.05fr 1fr; gap: 1.25rem; align-items: start; }
.grade-painel .bloco { margin-bottom: 0; }
.coluna { display: grid; gap: 1.25rem; }
@media (max-width: 860px) { .grade-painel { grid-template-columns: 1fr; } }

/* Pódio */
.podio { display: grid; grid-template-columns: repeat(3, 1fr); align-items: end; gap: .6rem; margin: .5rem 0 1rem; }
.degrau { display: grid; justify-items: center; text-align: center; gap: .3rem; }
.degrau .medalha { font-size: 1.9rem; line-height: 1; }
.degrau .avatar { width: 3.4rem; height: 3.4rem; font-size: 1.15rem; }
.degrau-1 .avatar { width: 4.2rem; height: 4.2rem; font-size: 1.4rem; box-shadow: 0 0 0 4px var(--ouro), 0 0 22px rgba(255,194,26,.6); }
.degrau-2 .avatar { box-shadow: 0 0 0 4px var(--prata); }
.degrau-3 .avatar { box-shadow: 0 0 0 4px var(--bronze); }
.degrau .nome { font-weight: 800; font-size: .9rem; line-height: 1.2; }
.degrau .pts { font: 400 .95rem var(--display); color: var(--ouro); display: flex; align-items: center; gap: .2rem; }
.pilar { width: 100%; border-radius: 14px 14px 6px 6px; display: grid; place-content: center; font: 400 1.6rem var(--display); color: rgba(0,0,0,.45); }
.degrau-1 .pilar { height: 96px; background: linear-gradient(180deg, #FFE070, #E9A400); }
.degrau-2 .pilar { height: 70px; background: linear-gradient(180deg, #EEF3FB, #A9B6CC); }
.degrau-3 .pilar { height: 52px; background: linear-gradient(180deg, #F2B98A, #B86A2E); }
.degrau.eu .nome { color: var(--ciano); }

.avatar { border-radius: 50%; display: grid; place-content: center; font: 400 1rem var(--display); color: #fff; flex: none; width: 2.5rem; height: 2.5rem; }
.ranking { list-style: none; margin: 0; padding: 0; display: grid; gap: .45rem; }
.ranking li { display: grid; grid-template-columns: 2.2rem auto 1fr auto; gap: .65rem; align-items: center; padding: .55rem .75rem; border-radius: 14px; background: rgba(255,255,255,.05); }
.ranking li.eu { background: rgba(73,184,255,.16); box-shadow: inset 0 0 0 2px var(--ciano); }
.ranking li.separador { background: none; padding: 0; text-align: center; color: #7F93BD; display: block; letter-spacing: .3em; }
.rk-pos { font: 400 1.05rem var(--display); color: #9DB0D6; text-align: center; }
.rk-nome { font-weight: 800; line-height: 1.2; min-width: 0; }
.rk-nome small { display: block; margin: 0; font-weight: 600; font-size: .78rem; }
.rk-pts { font: 400 1.05rem var(--display); color: var(--ouro); display: flex; align-items: center; gap: .25rem; }
.btn-ranking { width: 100%; margin-top: .7rem; padding: .75rem 1rem; border-radius: 14px; cursor: pointer;
  font: 800 .95rem var(--texto); color: var(--marinho); background: linear-gradient(180deg, #FFD54A, var(--ouro-2)); border: 0; box-shadow: 0 4px 0 var(--ouro-escuro); }
.btn-ranking:active { transform: translateY(3px); box-shadow: 0 1px 0 var(--ouro-escuro); }
.btn-ranking[aria-expanded=true] { background: rgba(255,255,255,.1); color: #EAF1FF; box-shadow: inset 0 0 0 2px #2A4278; }
.cifrao-mini { height: 1.45em; width: auto; vertical-align: -.3em; filter: drop-shadow(0 0 3px rgba(255,194,26,.55)); }
.ranking li.subiu { animation: subiu 1.6s ease-out; }
@keyframes subiu { 0%,30% { background: rgba(74,222,128,.35); } }

/* Conquistas */
.conquistas { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: .6rem; }
.conquistas li { border-radius: 16px; padding: .75rem; display: grid; gap: .1rem; background: linear-gradient(135deg, rgba(255,106,31,.22), rgba(255,194,26,.12)); border: 1px solid rgba(255,194,26,.3); }
.conquistas li:nth-child(2) { background: linear-gradient(135deg, rgba(30,123,230,.3), rgba(73,184,255,.12)); border-color: rgba(73,184,255,.35); }
.conquistas li:nth-child(3) { background: linear-gradient(135deg, rgba(34,197,94,.28), rgba(34,197,94,.08)); border-color: rgba(74,222,128,.35); }
.conquistas li:nth-child(4) { background: linear-gradient(135deg, rgba(168,85,247,.28), rgba(168,85,247,.08)); border-color: rgba(192,132,252,.35); }
.cq-icone { font-size: 1.7rem; line-height: 1.1; }
.cq-qtd { font: 400 1.6rem/1 var(--display); }
.cq-nome { font-size: .8rem; font-weight: 700; color: #C8D6F2; }

.extrato li.novo { animation: brilho 2.2s ease-out; border-radius: 12px; }
@keyframes brilho { from { background: rgba(255,194,26,.3); } to { background: transparent; } }
.extrato .vazio { color: #9DB0D6; display: block; }

/* Chuva de moedas e cifrões */
.chuva { position: fixed; inset: 0; pointer-events: none; overflow: hidden; z-index: 50; }
.gota { position: absolute; top: -60px; animation: cair var(--dur, 2.2s) cubic-bezier(.4,.1,.7,1) var(--atraso, 0s) forwards; will-change: transform; }
.gota-moeda { width: 30px; height: 30px; border-radius: 50%; display: grid; place-content: center; font: 400 1rem var(--display); color: #6B4500;
  background: radial-gradient(circle at 35% 30%, #FFF3B0, var(--ouro) 60%, #C98200); box-shadow: inset 0 0 0 3px rgba(138,90,0,.45); }
.gota-img { width: 34px; height: auto; }
@keyframes cair { 0% { transform: translateY(0) rotate(0); opacity: 1; } 85% { opacity: 1; } 100% { transform: translateY(calc(100vh + 80px)) rotate(var(--giro, 540deg)); opacity: 0; } }

/* Loja (tema noite) */
.saldo-mini { margin: 0; font-size: 1.05rem; font-weight: 700; }
.saldo-mini strong { color: var(--ouro); font-family: var(--display); font-weight: 400; }
.vitrine { list-style: none; padding: 0; margin: 0 0 1.5rem; display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 1rem; }
.premio { background: rgba(19,35,74,.9); border: 2px solid rgba(255,194,26,.5); border-radius: 20px; padding: 1.1rem; display: flex; flex-direction: column; gap: .4rem; }
.premio h2 { margin: 0; font-size: 1.15rem; }
.premio p { margin: 0; }
.premio .preco { font: 400 1.7rem var(--display); color: var(--ouro); margin-top: auto; display: flex; align-items: center; gap: .3rem; }
.premio form { margin-top: .4rem; }
.premio .btn { width: 100%; }
.esgotado { opacity: .55; border-color: #2A4278; }
.tema-noite .lista-simples li { border-color: rgba(255,255,255,.08); }
.tema-noite .selo { background: rgba(255,255,255,.12); color: #EAF1FF; }
.tema-noite .selo-pendente { background: rgba(255,194,26,.2); color: #FFE9A8; }
.tema-noite .selo-entregue { background: rgba(34,197,94,.2); color: #BBF7D0; }
.tema-noite .selo-cancelado { background: rgba(229,72,59,.2); color: #FFD3CE; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .chuva { display: none; }
}
