.glass{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border)}.glass-light{background:rgba(255,255,255,.05);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.glass-dark{background:rgba(0,0,0,.4);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.glass-card{position:relative;background:linear-gradient(135deg,rgba(22,27,34,.75) 0,rgba(22,27,34,.65) 50%,rgba(22,27,34,.7) 100%);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 8px 32px rgba(0,0,0,.35),0 4px 16px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.12),inset 1px 0 0 rgba(255,255,255,.06),inset 0 -1px 0 rgba(0,0,0,.3),inset -1px 0 0 rgba(0,0,0,.15),0 0 40px rgba(7,89,144,.08);transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.glass-card::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.06) 0%,rgba(255,255,255,.02) 40%,rgba(255,255,255,.04) 100%);opacity:0;transition:opacity .4s ease;pointer-events:none;z-index:1}.glass-card::after{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0,rgba(255,255,255,.15) 30%,rgba(255,255,255,.2) 50%,rgba(255,255,255,.15) 70%,transparent 100%);pointer-events:none}.glass-card:hover{transform:translateY(-4px);box-shadow:0 16px 48px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.15),inset 1px 0 0 rgba(255,255,255,.08),inset 0 -1px 0 rgba(0,0,0,.35),inset -1px 0 0 rgba(0,0,0,.18),0 0 60px rgba(7,89,144,.15),0 0 20px rgba(7,89,144,.1)}.glass-card:hover::before{opacity:1}.glass-card-subtle{position:relative;background:rgba(22,27,34,.5);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.05);border-radius:var(--radius-md);box-shadow:0 4px 16px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.08),inset 0 -1px 0 rgba(0,0,0,.2);transition:transform var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.glass-card-subtle:hover{background:rgba(22,27,34,.6);transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.1),inset 0 -1px 0 rgba(0,0,0,.25),0 0 30px rgba(7,89,144,.08)}.glass-card-strong{position:relative;background:linear-gradient(145deg,rgba(22,27,34,.85) 0,rgba(16,20,26,.9) 100%);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-xl);overflow:hidden;box-shadow:0 12px 48px rgba(0,0,0,.45),0 4px 12px rgba(0,0,0,.3),inset 0 2px 0 rgba(255,255,255,.12),inset 2px 0 0 rgba(255,255,255,.06),inset 0 -2px 0 rgba(0,0,0,.35),inset -2px 0 0 rgba(0,0,0,.18),0 0 60px rgba(7,89,144,.1);transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.glass-card-strong::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.08) 0%,rgba(255,255,255,.02) 40%,rgba(255,255,255,.05) 100%);opacity:0;transition:opacity .4s ease;pointer-events:none;z-index:1}.glass-card-strong::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0,rgba(7,89,144,.3) 20%,rgba(255,255,255,.25) 50%,rgba(7,89,144,.3) 80%,transparent 100%);pointer-events:none}.glass-card-strong:hover{transform:translateY(-6px);box-shadow:0 20px 64px rgba(0,0,0,.5),0 8px 20px rgba(0,0,0,.35),inset 0 2px 0 rgba(255,255,255,.15),inset 2px 0 0 rgba(255,255,255,.08),inset 0 -2px 0 rgba(0,0,0,.4),inset -2px 0 0 rgba(0,0,0,.2),0 0 80px rgba(7,89,144,.2),0 0 30px rgba(7,89,144,.15)}.glass-card-strong:hover::before{opacity:1}.emboss{text-shadow:0 1px 0 rgba(255,255,255,.1),0 -1px 0 rgba(0,0,0,.3)}.emboss-light{text-shadow:0 1px 0 rgba(255,255,255,.15),0 -1px 0 rgba(0,0,0,.2)}.emboss-strong{text-shadow:0 2px 0 rgba(255,255,255,.08),0 -2px 0 rgba(0,0,0,.4),0 0 20px rgba(7,89,144,.3)}.emboss-box{box-shadow:var(--shadow-emboss-light),var(--shadow-emboss-dark),var(--shadow-sm)}.emboss-box-strong{box-shadow:inset 0 2px 0 rgba(255,255,255,.1),inset 0 -2px 0 rgba(0,0,0,.3),var(--shadow-md)}.glow{box-shadow:var(--shadow-glow)}.glow-strong{box-shadow:var(--shadow-glow-strong)}.glow-text{text-shadow:0 0 20px currentColor}.glow-accent{box-shadow:0 0 20px rgba(7,89,144,.4)}.glow-warm{box-shadow:0 0 20px rgba(223,129,35,.3)}.glow-success{box-shadow:0 0 20px rgba(81,207,102,.3)}.glow-danger{box-shadow:0 0 20px rgba(255,107,107,.3)}.gradient-text{background:linear-gradient(135deg,var(--accent-secondary),var(--accent-highlight));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.gradient-text-warm{background:linear-gradient(135deg,var(--accent-warm),var(--accent-warm-bright));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.gradient-border{position:relative;border:none}.gradient-border::before{content:'';position:absolute;inset:0;padding:1px;border-radius:inherit;background:linear-gradient(135deg,var(--accent-primary),var(--accent-highlight));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes countUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseGlow{0%,100%{box-shadow:0 0 20px rgba(7,89,144,.3)}50%{box-shadow:0 0 35px rgba(7,89,144,.5)}}@keyframes shimmer{0%{background-position:-200% center}100%{background-position:200% center}}@keyframes subtleShimmer{0%,100%{background-position:0 center}50%{background-position:100% center}}@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}.animate-fade-in{animation:fadeIn var(--transition-normal) ease-out}.animate-fade-in-up{animation:fadeInUp var(--transition-normal) ease-out}.animate-fade-in-down{animation:fadeInDown var(--transition-normal) ease-out}.animate-slide-in-right{animation:slideInRight var(--transition-normal) ease-out}.animate-scale-in{animation:scaleIn var(--transition-normal) ease-out}.animate-count-up{animation:countUp var(--transition-slow) ease-out}.animate-pulse-glow{animation:pulseGlow 2s ease-in-out infinite}.animate-spin{animation:spin 1s linear infinite}.animate-bounce{animation:bounce 1s ease-in-out infinite}.animate-float{animation:float 4s ease-in-out infinite}.animate-text-shimmer{background:linear-gradient(90deg,var(--text-primary) 0,var(--accent-highlight) 25%,var(--text-primary) 50%,var(--accent-highlight) 75%,var(--text-primary) 100%);background-size:200% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:subtleShimmer 8s ease-in-out infinite}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.delay-500{animation-delay:.5s}.delay-600{animation-delay:.6s}.delay-700{animation-delay:.7s}.delay-800{animation-delay:.8s}.skeleton{background:linear-gradient(90deg,var(--bg-subtle) 0,var(--bg-highlight) 50%,var(--bg-subtle) 100%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}.skeleton-text{height:1em;margin-bottom:var(--space-xs)}.skeleton-text:last-child{width:60%}.skeleton-circle{border-radius:var(--radius-full)}.skeleton-card{height:200px;border-radius:var(--radius-lg)}.hover-lift{transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.hover-lift:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.hover-scale{transition:transform var(--transition-fast)}.hover-scale:hover{transform:scale(1.02)}.hover-glow{transition:box-shadow var(--transition-normal)}.hover-glow:hover{box-shadow:var(--shadow-glow)}.hover-brighten{transition:filter var(--transition-fast)}.hover-brighten:hover{filter:brightness(1.1)}.transition-all{transition:all var(--transition-normal)}.transition-fast{transition-duration:150ms}.transition-slow{transition-duration:.4s}.transition-none{transition:none}.focus-ring:focus{outline:0;box-shadow:0 0 0 3px rgba(6,113,174,.3)}.focus-ring-inset:focus{outline:0;box-shadow:inset 0 0 0 2px var(--accent-secondary)}.page-enter{opacity:0;transform:translateY(10px)}.page-enter-active{opacity:1;transform:translateY(0);transition:opacity .3s ease-out,transform .3s ease-out}.page-exit{opacity:1}.page-exit-active{opacity:0;transition:opacity .2s ease-in}.particles{position:relative;overflow:hidden}.particles::after,.particles::before{content:'';position:absolute;width:300px;height:300px;border-radius:50%;opacity:.05;pointer-events:none}.particles::before{background:var(--accent-primary);top:-150px;right:-150px;animation:float 8s ease-in-out infinite}.particles::after{background:var(--accent-warm);bottom:-150px;left:-150px;animation:float 10s ease-in-out infinite reverse}.noise{position:relative}.noise::after{content:'';position:absolute;inset:0;opacity:.03;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E")}.backdrop-blur{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.backdrop-blur-lg{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}/* Noise texture overlay — premium depth (standalone div, not body::before which holds grid-bg) */
.noise-overlay{position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:.025;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* Animated gradient border — rotating conic light */
@property --border-angle{syntax:'<angle>';initial-value:0deg;inherits:false}
@keyframes rotateBorder{to{--border-angle:360deg}}
.gradient-border-animated{position:relative;background:clip-padding-box;border:1px solid transparent;border-radius:var(--radius-lg)}.gradient-border-animated::before{content:'';position:absolute;inset:-1px;border-radius:inherit;background:conic-gradient(from var(--border-angle),transparent 25%,rgba(74,158,255,.5) 35%,rgba(90,200,232,.6) 50%,rgba(74,158,255,.5) 65%,transparent 75%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;padding:1px;animation:rotateBorder 4s linear infinite;pointer-events:none;z-index:0}

/* Tabular nums for all data values */
.stat-value,.metric-hero-value,.quad-value,.quad-pct,.period-row,.token-pct,.token-weight,.detail-price,.config-item span:last-child{font-variant-numeric:tabular-nums}

/* Energy pulse on header underline dividers */
@keyframes energyPulse{0%{left:-20%;opacity:0}10%{opacity:1}90%{opacity:1}100%{left:120%;opacity:0}}
.landing-intro-divider{position:relative;overflow:hidden}
.landing-intro-divider::before{content:'';position:absolute;top:-1px;width:20%;height:3px;border-radius:2px;background:linear-gradient(90deg,transparent,rgba(90,200,232,.9),rgba(74,158,255,1),transparent);box-shadow:0 0 10px rgba(90,200,232,.5);animation:energyPulse 3s cubic-bezier(.4,0,.6,1) infinite;pointer-events:none;z-index:1}
@media(prefers-reduced-motion:reduce){.landing-intro-divider::before{animation:none!important;opacity:0}}

/* Aurora mesh gradient — slowly morphing color-shifting blobs (Vercel/Linear style) */
@keyframes auroraDrift1{0%,100%{transform:translate(0,0) scale(1);opacity:.18}33%{transform:translate(60px,-40px) scale(1.15);opacity:.25}66%{transform:translate(-30px,30px) scale(.9);opacity:.15}}
@keyframes auroraDrift2{0%,100%{transform:translate(0,0) scale(1);opacity:.14}33%{transform:translate(-50px,35px) scale(1.1);opacity:.22}66%{transform:translate(40px,-20px) scale(.85);opacity:.12}}
@keyframes auroraDrift3{0%,100%{transform:translate(0,0) scale(1);opacity:.1}50%{transform:translate(25px,45px) scale(1.2);opacity:.18}}
.landing-aurora{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.landing-aurora-orb{position:absolute;border-radius:50%;filter:blur(100px);mix-blend-mode:screen}
.landing-aurora-orb:nth-child(1){width:45%;height:60%;top:-15%;right:-10%;background:radial-gradient(circle,rgba(74,158,255,.3),rgba(90,200,232,.1) 60%,transparent 80%);animation:auroraDrift1 20s ease-in-out infinite}
.landing-aurora-orb:nth-child(2){width:40%;height:50%;bottom:-10%;left:-8%;background:radial-gradient(circle,rgba(90,200,232,.25),rgba(74,158,255,.08) 60%,transparent 80%);animation:auroraDrift2 26s ease-in-out infinite}
.landing-aurora-orb:nth-child(3){width:30%;height:40%;top:30%;left:25%;background:radial-gradient(circle,rgba(107,179,255,.2),rgba(0,193,222,.06) 60%,transparent 80%);animation:auroraDrift3 18s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){.landing-aurora-orb{animation:none!important}}

/* Value flash on live data update */
@keyframes valueFlash{0%{background:rgba(74,158,255,.2)}100%{background:transparent}}
.value-flash{animation:valueFlash .6s ease-out}

/* MEMDEX brand text — electric shimmer hover */
@keyframes memdexElectric{
  0%{background-position:100% center;filter:drop-shadow(0 0 8px rgba(74,158,255,.25)) drop-shadow(0 0 18px rgba(180,210,240,.1))}
  50%{filter:drop-shadow(0 0 16px rgba(100,170,255,.5)) drop-shadow(0 0 32px rgba(180,210,240,.2))}
  100%{background-position:0% center;filter:drop-shadow(0 0 8px rgba(74,158,255,.25)) drop-shadow(0 0 18px rgba(180,210,240,.1))}
}
.navbar-title,
.landing-nav-brand-text{transition:letter-spacing .4s ease,filter .4s ease}
.navbar-brand:hover .navbar-title,
.landing-nav-brand:hover .landing-nav-brand-text{
  background:linear-gradient(90deg,#C0D0E0 0%,#4A9EFF 20%,#B8CCE0 40%,#6EB4FF 60%,#D0DCE8 80%,#4A9EFF 100%);
  background-size:200% 100%;
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  animation:memdexElectric 4.5s ease-in-out infinite alternate;
  letter-spacing:.22em;
}
@media(prefers-reduced-motion:reduce){.navbar-brand:hover .navbar-title,.landing-nav-brand:hover .landing-nav-brand-text{animation:none!important}}

@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important}}