/* ═══ BILLETERA DE CRÉDITOS (Oct-2026) — ver js/wallet.js ═══
   Solo variables del tema (claro/oscuro). Animaciones decorativas apagadas con prefers-reduced-motion. */
.wl-wrap{padding:12px 16px 28px;}
.wl-hero{position:relative;background:linear-gradient(135deg,var(--o),#FF9A3C);border-radius:var(--r-xl);padding:16px 14px 14px;color:#fff;overflow:hidden;box-shadow:0 6px 18px rgba(255,77,0,.28);}
.wl-hero-t{font-size:var(--fs-sm);font-weight:700;letter-spacing:.4px;text-transform:uppercase;opacity:.9;margin-bottom:10px;}
.wl-bal-row{display:flex;gap:10px;}
.wl-bal{flex:1;min-width:0;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);border-radius:var(--r-lg);padding:10px 8px 12px;text-align:center;}
.wl-pile{position:relative;height:56px;width:44px;margin:0 auto 4px;}
.wl-pile .wl-pc{position:absolute;left:2px;filter:drop-shadow(0 2px 2px rgba(0,0,0,.25));}
.wl-pile.empty span{position:absolute;left:3px;bottom:0;width:38px;height:38px;border-radius:50%;border:2px dashed rgba(255,255,255,.6);}
.wl-num{font-size:34px;font-weight:800;line-height:1.05;font-variant-numeric:tabular-nums;}
.wl-bal-l{font-size:var(--fs-base);font-weight:700;margin-top:2px;}
.wl-bal-d{font-size:var(--fs-xs);opacity:.85;margin-top:1px;}
.wl-fx{position:absolute;inset:0;pointer-events:none;overflow:hidden;}
.wl-sec{font-size:var(--fs-sm);font-weight:700;color:var(--g4);letter-spacing:.4px;text-transform:uppercase;margin:20px 2px 8px;}
.wl-card{background:var(--w);border:1px solid var(--g2);border-radius:var(--r-lg);padding:14px;margin-bottom:10px;box-shadow:0 1px 3px rgba(20,20,20,.04);}
.wl-card-top{display:flex;align-items:center;gap:10px;margin-bottom:12px;}
.wl-card-ico{width:36px;height:36px;border-radius:50%;background:var(--o-light);color:var(--o);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.wl-sub{font-size:var(--fs-sm);color:var(--g4);line-height:1.45;}
.wl-link{background:none;border:none;padding:8px 0 0;font-family:inherit;font-size:var(--fs-sm);font-weight:700;color:var(--o);cursor:pointer;}
/* barras */
.wl-bar{height:12px;background:var(--g1);border-radius:999px;overflow:hidden;}
.wl-bar>i{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,var(--o),#FFB800);transition:width .9s cubic-bezier(.22,.85,.4,1);}
.wl-seg-row{display:flex;gap:5px;}
.wl-seg-row>i{flex:1;height:12px;border-radius:6px;background:var(--g1);transition:background .35s ease;}
.wl-seg-row.go>i.on{background:linear-gradient(90deg,var(--o),#FFB800);}
.wl-seg-row.static>i{transition:none;}
/* acciones y movimientos */
.wl-act{display:flex;align-items:center;gap:10px;background:var(--w);border:1px solid var(--g2);border-radius:var(--r-lg);padding:12px 14px;margin-bottom:8px;}
.wl-act.ok{border-color:var(--o-border);}
.wl-act b{font-size:var(--fs-md);}
.wl-btn{flex:0 0 auto;border:none;border-radius:var(--r-md,12px);background:var(--o);color:#fff;font-family:inherit;font-weight:700;font-size:var(--fs-base);padding:9px 16px;cursor:pointer;}
.wl-btn.sec{background:var(--g1);color:var(--n);}
.wl-btn:disabled{opacity:.5;cursor:default;}
.wl-chip{flex:0 0 auto;font-size:var(--fs-xs);font-weight:700;color:var(--g4);background:var(--g1);border-radius:999px;padding:5px 10px;white-space:nowrap;}
.wl-note{background:var(--amber-light);border:1px solid var(--amber-border);color:var(--amber);border-radius:var(--r-md,12px);padding:10px 12px;font-size:var(--fs-sm);line-height:1.45;margin-bottom:8px;}
.wl-mov{display:flex;align-items:center;gap:10px;padding:11px 2px;border-bottom:1px solid var(--g1);}
.wl-mov-ico{width:32px;height:32px;border-radius:50%;background:var(--g1);color:var(--g5);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.wl-mov-t{font-size:var(--fs-base);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.wl-mov-d{font-size:var(--fs-lg);font-weight:800;font-variant-numeric:tabular-nums;}
.wl-mov-d.pos{color:var(--green);}
.wl-mov-d.neg{color:var(--g5);}
/* cofre */
.wl-chest{flex:0 0 auto;overflow:visible;}
.wl-chest .wl-glow{opacity:0;transition:opacity .4s ease;}
.wl-chest .wl-coinpop{opacity:0;}
.wl-chest .wl-lid{transform-origin:8px 30px;transition:transform .55s cubic-bezier(.3,1.6,.5,1);}
.wl-chest.open .wl-lid{transform:rotate(-34deg);}
.wl-chest.open .wl-glow{opacity:.55;}
.wl-chest.open .wl-coinpop{opacity:1;animation:wlPop .9s ease-out both;}
/* festejo: SOLO con un aumento real de saldo (js/wallet.js → _wlCelebrar) */
@keyframes wlPop{0%{transform:translateY(8px) scale(.6);opacity:0;}60%{transform:translateY(-6px) scale(1.1);opacity:1;}100%{transform:translateY(-2px) scale(1);opacity:1;}}
@keyframes wlPulse{0%{transform:scale(1);}35%{transform:scale(1.07);}100%{transform:scale(1);}}
.wl-bal.wl-pulse{animation:wlPulse .6s ease;}
@keyframes wlDrop{0%{transform:translateY(-70px);opacity:0;}15%{opacity:1;}60%{transform:translateY(0);}75%{transform:translateY(-9px);}100%{transform:translateY(0);opacity:0;}}
.wl-drop{position:absolute;top:56px;width:26px;height:26px;animation:wlDrop 1.4s ease-in both;}
.wl-drop.invitacion{left:25%;}
.wl-drop.racha{left:70%;}
.wl-drop.compra{left:48%;}
@keyframes wlSpark{0%{transform:rotate(var(--a)) translateY(0) scale(1);opacity:1;}100%{transform:rotate(var(--a)) translateY(calc(var(--d) * -1)) scale(.2);opacity:0;}}
.wl-spark{position:absolute;left:50%;top:60px;width:6px;height:6px;margin:-3px;border-radius:50%;background:#FFE08A;animation:wlSpark 1.1s ease-out both;}
@media (prefers-reduced-motion: reduce){
  .wl-bar>i,.wl-seg-row>i,.wl-chest .wl-lid,.wl-chest .wl-glow{transition:none;}
  .wl-bal.wl-pulse,.wl-drop,.wl-spark,.wl-chest.open .wl-coinpop{animation:none;}
}