/*
 * LiquidPool Pulse UI
 * Public-facing visual layer. It deliberately leaves existing element IDs,
 * API hooks, forms and application behaviour untouched.
 */

:root{
  --pulse-bg:#050611;
  --pulse-panel:rgba(13,17,36,.82);
  --pulse-panel-strong:#0c1127;
  --pulse-line:rgba(139,161,226,.16);
  --pulse-line-hot:rgba(77,234,255,.34);
  --pulse-text:#f7f8ff;
  --pulse-muted:#8e9abb;
  --pulse-cyan:#4deaff;
  --pulse-violet:#805dff;
  --pulse-pink:#ff4fd8;
  --pulse-green:#49f5b0;
  --pulse-amber:#ffd166;
  --pulse-red:#ff5478;
  --pulse-shadow:0 28px 90px rgba(0,0,0,.46);
  --pulse-glow:0 0 50px rgba(77,234,255,.10);
  --pulse-x:50vw;
  --pulse-y:18vh;
  color-scheme:dark;
}

html{background:var(--pulse-bg)}
body:not(.page-admin){
  background:
    radial-gradient(900px 620px at var(--pulse-x) var(--pulse-y),rgba(72,91,255,.14),transparent 67%),
    radial-gradient(760px 540px at 0% 12%,rgba(77,234,255,.12),transparent 65%),
    radial-gradient(780px 560px at 100% 35%,rgba(255,79,216,.08),transparent 66%),
    linear-gradient(180deg,#070817 0%,#050611 48%,#08091a 100%)!important;
  color:var(--pulse-text)!important;
}
body:not(.page-admin)::before{
  opacity:.34!important;
  background-size:72px 72px!important;
  background-image:
    linear-gradient(rgba(128,149,220,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(128,149,220,.035) 1px,transparent 1px)!important;
}
body:not(.page-admin)::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    linear-gradient(115deg,transparent 20%,rgba(255,255,255,.018) 42%,transparent 58%),
    radial-gradient(circle at 50% -10%,rgba(255,255,255,.08),transparent 34%);
  background-size:180% 100%,100% 100%;
  animation:pulse-sheen 16s linear infinite;
}
body:not(.page-admin) ::selection{background:rgba(255,79,216,.36);color:#fff}

/* Navigation and the persistent public-beta trust signal */
.page-dashboard>nav,.page-markets>nav,.page-balances>nav,.page-exchange>nav,
.rf-nav,.info-nav{
  min-height:74px!important;
  border-bottom:1px solid rgba(115,144,231,.17)!important;
  background:linear-gradient(90deg,rgba(7,9,24,.92),rgba(11,11,30,.87),rgba(7,9,24,.92))!important;
  box-shadow:0 12px 48px rgba(0,0,0,.30),inset 0 -1px rgba(77,234,255,.035)!important;
  backdrop-filter:blur(24px) saturate(155%)!important;
}
.page-dashboard>nav::before,.page-markets>nav::before,.page-balances>nav::before,
.page-exchange>nav::before,.rf-nav::before,.info-nav::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:2px;
  background:linear-gradient(90deg,transparent,var(--pulse-cyan),var(--pulse-violet),var(--pulse-pink),transparent);
  opacity:.8;
}
.logo .brand-mark,.rf-logo img,.info-logo img{
  filter:drop-shadow(0 0 16px rgba(77,234,255,.22));
}
.logo .brand-mark{
  border-color:rgba(77,234,255,.25)!important;
  background:linear-gradient(145deg,rgba(77,234,255,.14),rgba(128,93,255,.16))!important;
  box-shadow:0 12px 30px rgba(0,0,0,.35),0 0 28px rgba(77,234,255,.09)!important;
}
.logo em,.rf-logo em,.info-logo em{color:var(--pulse-cyan)!important}
.beta-sticker,.rf-beta{
  border:1px solid rgba(255,175,214,.82)!important;
  background:linear-gradient(135deg,#ff246d,#c60059)!important;
  color:#fff!important;
  box-shadow:0 0 0 3px rgba(255,36,109,.10),0 10px 28px rgba(255,36,109,.32)!important;
  animation:beta-beat 2.8s ease-in-out infinite;
}
.nav-links,.nav-tabs{
  border-color:rgba(128,151,221,.11)!important;
  background:rgba(255,255,255,.025)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.025);
}
.nav-link,.nav-tab,.rf-links a{position:relative;overflow:hidden}
.nav-link:hover,.nav-tab:hover,.rf-links a:hover{
  color:#fff!important;
  background:linear-gradient(135deg,rgba(77,234,255,.09),rgba(128,93,255,.10))!important;
}
.nav-link.active,.nav-tab.active,.rf-links a.active{
  color:#fff!important;
  background:linear-gradient(135deg,rgba(77,234,255,.14),rgba(128,93,255,.19))!important;
  box-shadow:inset 0 0 0 1px rgba(77,234,255,.18),0 8px 24px rgba(0,0,0,.18)!important;
}
.nav-cta,.rf-nav-btn.primary,.page-exchange .nav-btn.primary{
  position:relative;
  overflow:hidden;
  border-color:rgba(77,234,255,.35)!important;
  background:linear-gradient(115deg,rgba(77,234,255,.16),rgba(128,93,255,.28),rgba(255,79,216,.15))!important;
  color:#fff!important;
  box-shadow:0 10px 28px rgba(74,68,214,.18)!important;
}
.nav-cta:hover,.rf-nav-btn.primary:hover,.page-exchange .nav-btn.primary:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 34px rgba(77,89,232,.28),0 0 24px rgba(77,234,255,.09)!important;
}
.lp-beta-rail{
  position:relative;
  z-index:850;
  min-height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(.8rem,3vw,2.2rem);
  padding:.42rem clamp(1rem,4vw,3rem);
  border-bottom:1px solid rgba(117,143,220,.12);
  background:linear-gradient(90deg,rgba(77,234,255,.055),rgba(128,93,255,.10),rgba(255,79,216,.055));
  color:#9ba8c7;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.01em;
}
.lp-beta-rail strong{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  color:#fff;
  font-size:.62rem;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.lp-beta-rail strong::before{
  content:"";
  width:7px;height:7px;
  border-radius:50%;
  background:var(--pulse-pink);
  box-shadow:0 0 13px var(--pulse-pink);
}
.lp-beta-rail span{color:#aeb9d3}
.lp-beta-actions{display:flex;align-items:center;gap:.45rem}
.lp-beta-actions a{
  padding:.28rem .58rem;
  border:1px solid rgba(130,154,222,.15);
  border-radius:999px;
  color:#d8e1f5;
  background:rgba(255,255,255,.025);
  text-decoration:none;
  transition:.18s ease;
}
.lp-beta-actions a:hover{border-color:rgba(77,234,255,.36);color:var(--pulse-cyan);background:rgba(77,234,255,.06)}

/* Shared surfaces */
.dash-hero,.cp-hero-main,.cp-hero-aside,.page-hero,.hero-card,.card,
.markets-card,.balances-card,.history-card,.dashboard-command-panel,.pairs-sidebar,
.orderbook,.main-center,.form-panel,.rf-card,.rf-hero-main,.rf-hero-side,
.info-card,.info-hero,.endpoint-card,.chat-landing-card{
  position:relative;
  border-color:var(--pulse-line)!important;
  background:
    radial-gradient(480px 240px at 105% -10%,rgba(128,93,255,.10),transparent 70%),
    linear-gradient(145deg,rgba(17,22,47,.90),rgba(8,11,26,.92))!important;
  box-shadow:var(--pulse-shadow),inset 0 1px rgba(255,255,255,.035)!important;
}
.card::before,.markets-card::before,.balances-card::before,.history-card::before,
.dashboard-command-panel::before,.rf-card::before,.info-card::before,.endpoint-card::before{
  content:"";
  position:absolute;
  inset:0 auto auto 8%;
  width:56%;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--pulse-cyan),transparent);
  opacity:.34;
}
.card:hover,.markets-card:hover,.rf-card:hover,.endpoint-card:hover{
  border-color:rgba(77,234,255,.24)!important;
  box-shadow:0 30px 90px rgba(0,0,0,.42),0 0 40px rgba(77,234,255,.055)!important;
}
.hero-btn,.cp-btn,.hero-action,.trade-btn,.btn-dep,.btn-ret,.btn-primary,
.btn-secondary,.rf-button,.auth-submit{
  position:relative;
  overflow:hidden;
  min-height:46px!important;
  border-radius:13px!important;
  font-weight:900!important;
  letter-spacing:.01em;
}
.hero-btn-primary,.cp-btn-primary,.hero-action.primary,.trade-btn,.btn-primary,
.rf-button.primary,.auth-submit{
  border:1px solid rgba(160,243,255,.34)!important;
  background:linear-gradient(110deg,var(--pulse-cyan) 0%,#6d8bff 49%,var(--pulse-pink) 115%)!important;
  color:#050713!important;
  box-shadow:0 15px 38px rgba(74,98,235,.28),0 0 28px rgba(77,234,255,.10)!important;
}
.hero-btn-primary::after,.cp-btn-primary::after,.hero-action.primary::after,
.trade-btn::after,.btn-primary::after,.rf-button.primary::after,.auth-submit::after,
.nav-cta::after{
  content:"";
  position:absolute;
  inset:-80% auto -80% -35%;
  width:24%;
  transform:rotate(18deg);
  background:rgba(255,255,255,.38);
  filter:blur(3px);
  transition:left .48s ease;
}
.hero-btn-primary:hover::after,.cp-btn-primary:hover::after,.hero-action.primary:hover::after,
.trade-btn:hover::after,.btn-primary:hover::after,.rf-button.primary:hover::after,
.auth-submit:hover::after,.nav-cta:hover::after{left:125%}
.hero-btn-secondary,.cp-btn-secondary,.hero-action:not(.primary),.btn-secondary,.rf-button:not(.primary){
  border-color:rgba(132,156,225,.21)!important;
  background:rgba(255,255,255,.035)!important;
  color:#e6edff!important;
}
input,select,textarea{
  border-color:rgba(136,157,218,.18)!important;
  background:rgba(4,7,19,.72)!important;
  color:#f5f7ff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
input:focus,select:focus,textarea:focus{
  border-color:rgba(77,234,255,.55)!important;
  box-shadow:0 0 0 3px rgba(77,234,255,.09),0 0 24px rgba(77,234,255,.05)!important;
}

/* Dashboard and pool directory */
.page-dashboard .dashboard-layout{padding-top:clamp(1.25rem,3vw,2.4rem)!important}
.dash-hero{
  overflow:hidden;
  border-radius:30px!important;
  background:
    radial-gradient(650px 420px at 82% 5%,rgba(77,234,255,.15),transparent 62%),
    radial-gradient(520px 380px at 15% 110%,rgba(255,79,216,.09),transparent 68%),
    linear-gradient(135deg,rgba(18,23,54,.97),rgba(8,10,27,.96))!important;
}
.dash-hero::before{
  content:"";
  position:absolute;
  width:480px;height:480px;
  right:-170px;top:-235px;
  border:1px solid rgba(77,234,255,.14);
  border-radius:50%;
  box-shadow:0 0 0 56px rgba(128,93,255,.035),0 0 0 112px rgba(255,79,216,.022);
  animation:orbital 15s linear infinite;
}
.dash-kicker,.cp-eyebrow,.hero-kicker,.rf-kicker,.info-kicker,.eyebrow{
  color:var(--pulse-cyan)!important;
  font-weight:900!important;
  letter-spacing:.13em!important;
  text-transform:uppercase;
}
.dash-kicker::before,.cp-eyebrow::before,.hero-kicker::before,.rf-kicker::before{
  background:var(--pulse-pink)!important;
  box-shadow:0 0 12px var(--pulse-pink);
}
.dash-title,.cp-title,.page-hero h1,.rf-hero h1,.info-hero h1,.page-login .brand h1{
  color:#fff!important;
  letter-spacing:-.055em!important;
  text-wrap:balance;
}
.dash-title{
  max-width:900px!important;
  font-size:clamp(3rem,6.5vw,6.7rem)!important;
  line-height:.91!important;
  background:linear-gradient(105deg,#fff 15%,#c9f9ff 46%,#b7a6ff 72%,#ff9ce9);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent!important;
}
.dash-subtitle,.cp-copy,.page-hero p,.rf-lead,.info-hero p,.page-login .lead{
  color:#9da9c5!important;
  font-size:clamp(.94rem,1.35vw,1.08rem)!important;
  line-height:1.78!important;
}
.dash-stage-logo,.landing-logo-shell img{
  filter:drop-shadow(0 22px 36px rgba(0,0,0,.36)) drop-shadow(0 0 30px rgba(77,234,255,.20));
  animation:logo-float 5.2s ease-in-out infinite;
}
.dash-stage,.dashboard-command-panel{
  border-color:rgba(111,143,229,.16)!important;
  background:
    linear-gradient(135deg,rgba(77,234,255,.045),transparent 44%),
    rgba(6,9,23,.72)!important;
}
.dashboard-command-title{color:#fff!important}
.dashboard-command-copy{color:#8f9dbb!important}
.dashboard-command-title::before{
  content:"";
  display:inline-block;
  width:8px;height:8px;
  margin-right:.55rem;
  border-radius:50%;
  background:var(--pulse-green);
  box-shadow:0 0 16px var(--pulse-green);
}
.metric-value,.dash-metric-value,.stat-val,.pool-stat-value,.hero-stat-value,.rf-stat strong{
  color:#fff!important;
  text-shadow:0 0 24px rgba(77,234,255,.10);
}
.metric-card:nth-child(3n+1) .metric-value,.dash-metric:nth-child(3n+1) .dash-metric-value,.stat-card:nth-child(3n+1) .stat-val{color:var(--pulse-cyan)!important}
.metric-card:nth-child(3n+2) .metric-value,.dash-metric:nth-child(3n+2) .dash-metric-value,.stat-card:nth-child(3n+2) .stat-val{color:#a993ff!important}
.metric-card:nth-child(3n) .metric-value,.dash-metric:nth-child(3n) .dash-metric-value,.stat-card:nth-child(3n) .stat-val{color:var(--pulse-green)!important}
.cp-hero-main{overflow:hidden;border-radius:28px!important}
.cp-hero-main::after{
  content:"";
  position:absolute;
  width:430px;height:430px;
  right:-210px;bottom:-260px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,79,216,.14),transparent 68%);
}
.pool-row,.market-row,.balance-row,tbody tr{transition:background .16s ease,border-color .16s ease}
.pool-row:hover,.market-row:hover,.balance-row:hover,tbody tr:hover{background:rgba(77,234,255,.035)!important}

/* Markets, terminal and balances */
.page-markets .page-hero,.page-balances .page-hero{
  overflow:hidden;
  border-radius:28px!important;
  background:
    radial-gradient(620px 320px at 95% 0%,rgba(255,79,216,.11),transparent 70%),
    radial-gradient(520px 320px at 12% 105%,rgba(77,234,255,.10),transparent 70%),
    linear-gradient(140deg,rgba(17,22,47,.96),rgba(8,11,26,.94))!important;
}
.page-markets .page-hero h1,.page-balances .page-hero h1{
  font-size:clamp(2.4rem,5vw,5.2rem)!important;
  line-height:.95!important;
}
.filter-btn.active,.market-filter.active,.sec-tab.active,.period-btn.active,.ob-tab.active{
  border-color:rgba(77,234,255,.28)!important;
  background:linear-gradient(135deg,rgba(77,234,255,.13),rgba(128,93,255,.18))!important;
  color:#fff!important;
}
.page-exchange .terminal{
  gap:8px!important;
  padding:8px!important;
  background:rgba(4,6,16,.74)!important;
}
.page-exchange .hero-strip{gap:8px!important}
.page-exchange .hero-card,.pairs-sidebar,.orderbook,.main-center,.form-panel{
  border-color:rgba(126,149,217,.15)!important;
  background:linear-gradient(145deg,rgba(13,18,39,.96),rgba(7,10,23,.97))!important;
  box-shadow:0 18px 54px rgba(0,0,0,.32),inset 0 1px rgba(255,255,255,.025)!important;
}
.page-exchange .ticker-bar{
  border-color:rgba(77,234,255,.14)!important;
  background:rgba(6,9,22,.66)!important;
}
.tk-pair,.pair-symbol,.selected-pair{color:#fff!important}
.tk-price.up,.up,.positive,.buy{color:var(--pulse-green)!important}
.tk-price.down,.down,.negative,.sell{color:var(--pulse-red)!important}
.trade-btn.buy{background:linear-gradient(110deg,#49f5b0,#4deaff)!important;color:#04110d!important}
.trade-btn.sell{background:linear-gradient(110deg,#ff5478,#ff4fd8)!important;color:#17030d!important}
.page-balances .total-value{
  background:linear-gradient(90deg,#fff,var(--pulse-cyan),#aa95ff);
  -webkit-background-clip:text;background-clip:text;color:transparent!important;
}
.coin-icon,.pair-icon{box-shadow:0 0 0 1px rgba(255,255,255,.08),0 8px 22px rgba(0,0,0,.32)}

/* Referrals, access and public information */
.page-referrals{
  background:
    radial-gradient(900px 600px at 8% 0%,rgba(77,234,255,.12),transparent 66%),
    radial-gradient(800px 580px at 100% 26%,rgba(255,79,216,.09),transparent 70%),
    var(--pulse-bg)!important;
}
.rf-hero-main,.rf-hero-side{border-radius:28px!important}
.rf-hero h1 span{
  background:linear-gradient(90deg,var(--pulse-cyan),#a891ff,var(--pulse-pink));
  -webkit-background-clip:text;background-clip:text;color:transparent!important;
}
.rf-step-number{
  background:linear-gradient(135deg,var(--pulse-cyan),var(--pulse-violet))!important;
  color:#050713!important;
  box-shadow:0 0 26px rgba(77,234,255,.13);
}
.page-login .shell{gap:clamp(1.5rem,5vw,6rem)!important}
.page-login .brand::before{
  content:"PUBLIC BETA";
  display:inline-flex;
  margin-bottom:1.1rem;
  padding:.38rem .65rem;
  border:1px solid rgba(255,79,216,.35);
  border-radius:999px;
  background:rgba(255,79,216,.08);
  color:#ff9be8;
  font:800 .62rem/1 "JetBrains Mono",monospace;
  letter-spacing:.13em;
}
.page-login .brand h1{
  background:linear-gradient(100deg,#fff,#c7f9ff 50%,#b69fff 78%,#ff98e7);
  -webkit-background-clip:text;background-clip:text;color:transparent!important;
}
.page-login .auth-card{
  border-color:rgba(77,234,255,.20)!important;
  background:
    radial-gradient(420px 240px at 100% 0%,rgba(128,93,255,.15),transparent 72%),
    linear-gradient(145deg,rgba(15,20,43,.97),rgba(7,10,25,.98))!important;
  box-shadow:0 38px 110px rgba(0,0,0,.54),0 0 60px rgba(77,234,255,.055)!important;
}
.info-hero{overflow:hidden;border-radius:28px!important}
.overall-status.ok{border-color:rgba(73,245,176,.25)!important;background:rgba(73,245,176,.07)!important;color:var(--pulse-green)!important}
.overall-status.ok span{background:var(--pulse-green)!important;box-shadow:0 0 14px var(--pulse-green)!important}
.endpoint-card>span{color:var(--pulse-green)!important;background:rgba(73,245,176,.07)!important}
.api-code{border-color:rgba(77,234,255,.15)!important;background:rgba(2,5,15,.65)!important;color:var(--pulse-cyan)!important}

/* Chat stays available everywhere and visually belongs to the same product */
.lp-chat-launcher{
  border:1px solid rgba(142,235,255,.42)!important;
  background:linear-gradient(135deg,#536fff,var(--pulse-violet) 52%,var(--pulse-pink))!important;
  box-shadow:0 18px 50px rgba(67,49,183,.42),0 0 34px rgba(77,234,255,.14)!important;
}
.lp-chat-panel{
  border-color:rgba(77,234,255,.21)!important;
  background:linear-gradient(155deg,rgba(13,17,38,.985),rgba(6,8,20,.99))!important;
  box-shadow:0 34px 100px rgba(0,0,0,.62),0 0 54px rgba(77,234,255,.07)!important;
}
.chat-landing-card{overflow:hidden!important}
.chat-landing-card h1{
  background:linear-gradient(90deg,#fff,var(--pulse-cyan),#b69dff,var(--pulse-pink));
  -webkit-background-clip:text;background-clip:text;color:transparent!important;
}

/* Progressive motion hooks */
.v3-reveal{opacity:0;transform:translateY(16px);transition:opacity .58s ease,transform .58s cubic-bezier(.2,.7,.2,1)}
.v3-reveal.v3-visible{opacity:1;transform:none}
.v3-value-pop{animation:value-pop .55s ease}

@keyframes pulse-sheen{from{background-position:160% 0,0 0}to{background-position:-80% 0,0 0}}
@keyframes beta-beat{0%,100%{filter:saturate(1);transform:rotate(-5deg) translateY(-8px) scale(1)}50%{filter:saturate(1.25);transform:rotate(-5deg) translateY(-8px) scale(1.055)}}
@keyframes orbital{to{transform:rotate(360deg)}}
@keyframes logo-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes value-pop{0%{text-shadow:0 0 0 transparent}40%{color:var(--pulse-cyan);text-shadow:0 0 24px rgba(77,234,255,.55)}100%{text-shadow:0 0 0 transparent}}

@media (max-width:980px){
  .lp-beta-rail{justify-content:space-between}
  .lp-beta-rail>span{display:none}
  .dash-title{font-size:clamp(2.9rem,11vw,5rem)!important}
}
@media (max-width:680px){
  .page-dashboard>nav,.page-markets>nav,.page-balances>nav,.page-exchange>nav,.rf-nav{min-height:64px!important}
  .lp-beta-rail{min-height:34px;padding:.35rem .75rem;gap:.4rem}
  .lp-beta-rail strong{font-size:.55rem}
  .lp-beta-actions a{font-size:.58rem;padding:.24rem .42rem}
  .lp-beta-actions a:last-child{display:none}
  .dash-hero,.cp-hero-main,.page-hero,.rf-hero-main,.info-hero{border-radius:20px!important}
  .dash-title{font-size:clamp(2.65rem,15vw,4.2rem)!important}
  .dash-subtitle,.cp-copy,.page-hero p,.rf-lead,.info-hero p{font-size:.92rem!important;line-height:1.66!important}
  .page-exchange .terminal{padding:4px!important;gap:5px!important}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  body:not(.page-admin)::after,.beta-sticker,.rf-beta,.dash-hero::before,.dash-stage-logo,.landing-logo-shell img{animation:none!important}
  .v3-reveal{opacity:1!important;transform:none!important;transition:none!important}
  *,*::before,*::after{scroll-behavior:auto!important}
}
