/* NEURON · Panel «Mis recompensas» (B23) */
.rw-nav { min-height: 40px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--line); background: transparent; color: var(--signal);
  font: 600 14px var(--body); cursor: pointer; }
.rw-nav:hover, .rw-nav:focus-visible { border-color: var(--synapse); color: var(--synapse); }
@media (max-width: 720px) { .rw-nav { display: none; } }
.rw-cta { margin: 18px 0 6px; }
.rw-backdrop { position: fixed; inset: 0; z-index: 90; display: none; align-items: center; justify-content: center; padding: 16px;
  background: rgba(3, 6, 18, 0.72); backdrop-filter: blur(6px); }
.rw-backdrop.on { display: flex; }
.rw-modal { width: min(520px, 100%); max-height: calc(100vh - 32px); overflow: auto; border-radius: 20px; background: var(--panel);
  border: 1px solid var(--line); box-shadow: 0 30px 80px rgba(0, 0, 0, 0.5); color: var(--signal); font-family: var(--body); }
.rw-modal header { display: flex; align-items: center; justify-content: space-between; padding: 18px 20px 6px; }
.rw-modal h2 { margin: 0; font: 700 22px var(--display); }
.rw-modal h3 { margin: 16px 0 6px; font: 600 16px var(--display); }
.rw-x { width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--line); background: transparent; color: var(--signal); font-size: 20px; cursor: pointer; }
.rw-body { padding: 6px 20px 20px; font-size: 15px; line-height: 1.5; }
.rw-mute { color: var(--mute); font-size: 13.5px; }
.rw-fine { font-size: 12px; }
.rw-verdict { padding: 10px 12px; border-radius: 12px; border: 1px solid var(--line); background: rgba(20, 32, 79, 0.6); }
.rw-verdict.is-ok { border-color: rgba(107, 227, 164, 0.5); }
.rw-reqs { list-style: none; padding: 0; margin: 12px 0; display: grid; gap: 6px; }
.rw-reqs li { display: flex; gap: 10px; align-items: flex-start; }
.rw-reqs i { font-style: normal; width: 18px; color: var(--dim); }
.rw-reqs li.is-ok i { color: #6be3a4; }
.rw-reqs li.is-ko i { color: #ff8b8b; }
.rw-reqs small { display: block; color: var(--dim); font-size: 12.5px; }
.rw-bar { height: 10px; border-radius: 999px; background: rgba(160, 190, 255, 0.12); overflow: hidden; }
.rw-bar i { display: block; height: 100%; background: linear-gradient(90deg, var(--nodi), var(--synapse)); }
.rw-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 12px 0; }
.rw-stats div { padding: 10px 12px; border-radius: 12px; border: 1px solid var(--line); background: rgba(10, 16, 48, 0.7); display: grid; }
.rw-stats b { font: 700 20px var(--display); color: var(--synapse); }
.rw-stats span { font-size: 12.5px; color: var(--mute); }
.rw-pioneer { color: var(--ember); font-size: 14px; }

/* B27-1 · Conectar cartera */
.rw-nav.is-linked { border-color: rgba(107, 227, 164, 0.45); color: #b9f5d4; font-variant-numeric: tabular-nums; }
.rw-wallets { display: grid; gap: 8px; margin: 10px 0 14px; }
.rw-wallet { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 50px; padding: 0 16px; border-radius: 14px;
  border: 1px solid var(--line); background: rgba(10, 16, 48, 0.7); color: var(--signal); font: 600 15px var(--body); text-decoration: none; cursor: pointer;
  transition: border-color 160ms, transform 160ms, background 160ms; }
.rw-wallet:hover, .rw-wallet:focus-visible { border-color: var(--synapse); background: rgba(20, 32, 79, 0.8); transform: translateY(-1px); }
.rw-wi { width: 26px; height: 26px; border-radius: 8px; flex-shrink: 0; background: linear-gradient(135deg, var(--nodi), var(--synapse)); }
.rw-wi-phantom { background: linear-gradient(135deg, #8f7cff, #b9a8ff); }
.rw-wi-solflare { background: linear-gradient(135deg, #ffb340, #ffd98a); }
.rw-wi-backpack { background: linear-gradient(135deg, #ff6b6b, #ff9d7a); }
.rw-alt { margin: 6px 0 2px; }
.rw-alt a { color: var(--synapse); font-weight: 600; text-decoration: none; }
.rw-alt a:hover { text-decoration: underline; }
.rw-safe { margin-top: 12px; }
.rw-busy { display: flex; align-items: center; gap: 10px; padding: 18px 0; }
.rw-spin { width: 18px; height: 18px; border-radius: 50%; border: 2px solid rgba(125, 248, 255, 0.25); border-top-color: var(--synapse); animation: rw-spin 0.8s linear infinite; }
@keyframes rw-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .rw-spin { animation: none; } .rw-wallet { transition: none; } }

/* B27-5 · Cartera en la barra (donde estaba ooox), en la portada y en el cierre */
.wl-ico { width: 18px; height: 18px; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.wallet-nav { display: inline-flex; align-items: center; gap: 8px; border-color: rgba(185, 168, 255, .45); color: #e6defe;
  background: linear-gradient(120deg, rgba(143, 124, 255, .16), rgba(125, 248, 255, .10)); transition: box-shadow .3s, border-color .2s, color .2s; }
.wallet-nav:hover, .wallet-nav:focus-visible { border-color: #b9a8ff; color: #fff; box-shadow: 0 0 22px rgba(143, 124, 255, .28); }
.wallet-nav.is-linked { background: rgba(107, 227, 164, .08); }
.btn-wallet { border-color: rgba(185, 168, 255, .45); }
.btn-wallet:hover { border-color: #b9a8ff; box-shadow: 0 0 26px rgba(143, 124, 255, .25); }
@media (max-width: 720px) {
  .rw-nav.wallet-nav { display: inline-flex; width: 40px; padding: 0; justify-content: center; }
  .wallet-nav .wl { display: none; }
}

/* B27-8 */
.rw-cancel { min-height: 36px; padding: 0 16px; border-radius: 999px; border: 1px solid var(--line); background: transparent; color: var(--mute); font: 600 13px var(--body); cursor: pointer; }
.rw-cancel:hover { color: var(--signal); border-color: var(--synapse); }
