/* ==========================================================================
   NexumBit theme: brand-tinted "radiant ink". Loaded last; token-level.
   Brand hue from nexumbit-logo.svg: violet #7C5CFF (h≈252°), green #21C97A.
   ========================================================================== */
:root {
  --rx-ink:   #110c26;   /* h252 s52 l10 — page base */
  --rx-ink-1: #18123a;   /* cards */
  --rx-ink-2: #1f1847;   /* raised / inputs on cards */
  --rx-ink-3: #2a2159;   /* active segment / hover */
  --rx-line:   rgba(190, 176, 255, 0.11);
  --rx-line-2: rgba(190, 176, 255, 0.18);
  --rx-line-3: rgba(190, 176, 255, 0.30);
  --rx-bone-2: rgba(244, 241, 234, 0.76);
  --rx-bone-3: rgba(232, 228, 255, 0.64);
  --rx-bone-4: rgba(232, 228, 255, 0.40);
  --rx-vio: #8f74ff;
  --rx-vio-wash: rgba(124, 92, 255, 0.16);
  --rx-hi: inset 0 1px 0 rgba(220, 210, 255, 0.07);
  --rx-sh-1: 0 1px 2px rgba(6, 3, 22, .5), 0 8px 24px -8px rgba(6, 3, 22, .55);
  --rx-sh-2: 0 2px 4px rgba(6, 3, 22, .5), 0 24px 56px -16px rgba(6, 3, 22, .7);
}
html { background: var(--rx-ink); }
body { background: transparent !important; position: relative; isolation: isolate; }

/* Radiant field: one fixed, composited layer (no filter/blur, no
   background-attachment:fixed) so scrolling never repaints it. */
body::before {
  content: ""; position: fixed; inset: 0; z-index: -2; pointer-events: none;
  background:
    radial-gradient(60% 50% at 78% -8%, rgba(124, 92, 255, 0.42), transparent 70%),
    radial-gradient(45% 40% at 8% 18%, rgba(98, 70, 230, 0.26), transparent 72%),
    radial-gradient(40% 35% at 18% 62%, rgba(255, 138, 31, 0.10), transparent 70%),
    radial-gradient(55% 45% at 92% 88%, rgba(140, 90, 255, 0.24), transparent 72%),
    radial-gradient(35% 30% at 50% 100%, rgba(33, 201, 122, 0.06), transparent 70%),
    linear-gradient(180deg, #150f30 0%, #110c26 45%, #0f0b22 100%);
  transform: translateZ(0);
}
/* Grain: tiny tiled SVG noise kills gradient banding. */
body::after {
  content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none; opacity: .07; mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  transform: translateZ(0);
}
/* Let the field show through page chrome */
.main, .view, .app, #app, .site-footer, .stats-bar { background: transparent !important; }
.site-footer { background: linear-gradient(180deg, transparent, rgba(8, 5, 22, .55)) !important; }
.header { background: rgba(17, 12, 38, .72) !important; backdrop-filter: blur(10px) saturate(1.3) !important; -webkit-backdrop-filter: blur(10px) saturate(1.3) !important; }
.hm-book { background: rgba(24, 18, 58, .78) !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }
/* Cards: slightly translucent so the glow reads through, still clearly separated */
.rx-card, #view-swap .swap-card.nb-ticket, #view-orders .book-route, #view-orders .activity-completions-list,
#view-orders .activity-hub-pulse, #view-orders .book-chart-hero, #view-lend .lend-compose, #view-lend #escrow-markets,
#view-lend .lend-book-scroll, #view-history .hist-card, #view-history .pos-sum, #view-swap .nb-deal-room {
  background-color: rgba(24, 18, 58, .82) !important;
}
/* Warmth near primary CTAs */
.rx-btn--primary, .swap-submit, .activity-match-btn { box-shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 10px 30px -10px rgba(255, 138, 31, .55) !important; }
@media (max-width: 760px) {
  body::before {
    background:
      radial-gradient(90% 40% at 80% -5%, rgba(124, 92, 255, 0.42), transparent 70%),
      radial-gradient(80% 35% at 0% 40%, rgba(98, 70, 230, 0.22), transparent 72%),
      radial-gradient(70% 30% at 100% 95%, rgba(140, 90, 255, 0.22), transparent 72%),
      linear-gradient(180deg, #150f30 0%, #110c26 50%, #0f0b22 100%);
  }
}
@media (prefers-reduced-transparency: reduce) { .header { backdrop-filter: none !important; background: var(--rx-ink) !important; } }

/* Home live previews (no example numbers) */
.hm-mock__meta .hm-live{display:inline-flex;align-items:center;gap:6px;color:var(--rx-bone-3);font:500 12px/1 var(--rx-sans)}
.hm-mock__meta .hm-live::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.7}
.hm-mock__meta .hm-live.is-live{color:#3DDC97}
.hm-mock__meta .hm-live.is-stale{color:#F5C451}
.hm-mock.is-loading #hm-quote-get,.hm-ltv.is-loading #hm-ltv-val{color:transparent;border-radius:6px;min-width:4.5ch;display:inline-block;
  background:linear-gradient(100deg,rgba(190,176,255,.10) 30%,rgba(190,176,255,.22) 50%,rgba(190,176,255,.10) 70%) 0 0/200% 100%;animation:hmShim 1.4s linear infinite}
@keyframes hmShim{to{background-position:-200% 0}}
@media (prefers-reduced-motion:reduce){.hm-mock.is-loading #hm-quote-get,.hm-ltv.is-loading #hm-ltv-val{animation:none}}
.hm-ltv__top > span{display:grid;gap:4px}
.hm-ltv__top small{font:400 11px/1 var(--rx-sans);color:var(--rx-bone-3);letter-spacing:.02em}
.hm-ltv__bar{background:rgba(190,176,255,.10)!important}
.hm-ltv__bar i{width:0;transition:width .6s cubic-bezier(.2,.8,.2,1);background:linear-gradient(90deg,#9B84FF,#B9A8FF)!important}
.hm-ltv.is-empty .hm-ltv__bar{display:none}
.hm-ltv__empty{margin:0;font:400 13px/1.5 var(--rx-sans);color:var(--rx-bone-2)}
.hm-ltv__steps li{color:var(--rx-bone-2)!important}

/* Backers: optically balanced row (desktop) and 2x2 equal-cell grid (mobile). */
.hm-backers{align-items:center}
.hm-backers ul{align-items:center}
.hm-backers .hm-bk{display:flex;align-items:center;justify-content:center}
.hm-backers img{opacity:.6!important;max-width:100%}
.hm-bk--tlb img{height:17px}
@media (max-width:768px){
  .hm-backers{display:grid!important;gap:10px!important;margin-top:28px!important;padding:0!important}
  .hm-backers .hm-kicker{font-size:12px;letter-spacing:.06em;text-transform:uppercase}
  .hm-backers ul{display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important}
  .hm-backers .hm-bk{height:64px;padding:0 14px;border-radius:14px;border:1px solid rgba(190,176,255,.10);background:rgba(24,18,58,.5)}
  .hm-bk--tlb img{height:15px}
}
@media (max-width:768px){
}
.hm-bk--tlb img{height:19px}
@media (max-width:768px){
  .hm-bk--tlb img{height:17px}
}

/* Clip decorative bleed (hero fractal art, loading bar) at the viewport edge. clip, not hidden: no scroll container, sticky keeps working. */
html,body{overflow-x:clip}
.app-loading-bar{overflow:hidden}

/* Single backer: one inline line, hairline rule leading into it, centred in the trust section. */
.hm-backers.hm-backers--single{display:flex!important;align-items:center;justify-content:center;gap:16px!important;margin:32px 0 0!important;padding:0!important;grid-template-columns:none}
.hm-backers--single::before,.hm-backers--single::after{content:"";flex:1 1 0;max-width:220px;height:1px;background:linear-gradient(90deg,transparent,rgba(190,176,255,.22))}
.hm-backers--single::after{background:linear-gradient(90deg,rgba(190,176,255,.22),transparent)}
.hm-backers--single .hm-kicker{font:500 12px/1 var(--rx-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--rx-bone-3);white-space:nowrap}
.hm-backers--single .hm-bk{display:inline-flex;align-items:center;min-height:44px;padding:0 4px;border:0;background:none;height:auto}
.hm-backers--single .hm-bk img{height:19px;width:auto;opacity:.72!important}
@media (hover:hover){.hm-backers--single .hm-bk:hover img{opacity:1!important}}
.hm-backers--single .hm-bk:focus-visible{outline:2px solid #9b84ff;outline-offset:4px;border-radius:6px}
@media (max-width:768px){
  .hm-backers.hm-backers--single{display:flex!important;gap:12px!important;margin-top:24px!important}
  .hm-backers--single::before,.hm-backers--single::after{max-width:none;min-width:16px}
  .hm-backers--single .hm-bk{height:auto;padding:0;border:0;background:none}
  .hm-backers--single .hm-bk img{height:16px}
}
