/**
 * 🎮 3D Effects & Enhancement Guide
 * Add to cyberpunk.css or create new effects.css
 * Matrix + Futurama + Unreal Engine Aesthetic
 */

/* ═══════════════════════════════════════════════════════════
   🎬 3D PERSPECTIVE LAYERS
   Create depth and dimension
   ═══════════════════════════════════════════════════════════ */

.perspective-container {
  perspective: 1000px;
  perspective-origin: center center;
  transform-style: preserve-3d;
}

.perspective-scene {
  position: relative;
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
}

/* Floating/Hover 3D Effect - Cards Pop Out */
.float-3d {
  transform-style: preserve-3d;
  transition: transform 0.3s cubic-bezier(0.23, 1, 0.320, 1);
}

.float-3d:hover {
  transform: translateZ(20px) rotateX(2deg) rotateY(-2deg);
}

/* Deeper 3D Tilt on Active/Focus */
.float-3d:active,
.float-3d.active {
  transform: translateZ(30px) rotateX(3deg) rotateY(-3deg);
}

/* ═══════════════════════════════════════════════════════════
   💎 HOLOGRAPHIC GLASS EFFECT
   Futuristic transparent panels
   ═══════════════════════════════════════════════════════════ */

.holographic {
  position: relative;
  background: linear-gradient(
    135deg,
    rgba(217, 70, 239, 0.1) 0%,
    rgba(0, 217, 255, 0.08) 40%,
    rgba(0, 255, 255, 0.1) 100%
  );
  border: 2px solid transparent;
  border-image: linear-gradient(135deg, #d946ef 0%, #00ffff 100%) 1;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 
    inset 0 1px 0 rgba(255, 255, 255, 0.1),
    inset 0 0 20px rgba(0, 217, 255, 0.15),
    0 0 30px rgba(217, 70, 239, 0.2);
  transform-style: preserve-3d;
}

.holographic::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    45deg,
    transparent 0%,
    rgba(255, 255, 255, 0.1) 50%,
    transparent 100%
  );
  opacity: 0;
  animation: hologramShimmer 3s infinite;
  pointer-events: none;
  border-radius: inherit;
}

@keyframes hologramShimmer {
  0% { opacity: 0; transform: translateX(-100%); }
  50% { opacity: 0.5; }
  100% { opacity: 0; transform: translateX(100%); }
}

/* ═══════════════════════════════════════════════════════════
   🌠 UNREAL ENGINE LIGHTING
   Volumetric glow with depth
   ═══════════════════════════════════════════════════════════ */

.unreal-lit {
  position: relative;
  background: linear-gradient(135deg, 
    rgba(20, 20, 40, 0.9) 0%,
    rgba(0, 50, 100, 0.7) 50%,
    rgba(20, 20, 50, 0.9) 100%
  );
  box-shadow: 
    0 0 60px rgba(0, 217, 255, 0.4),
    0 0 100px rgba(217, 70, 239, 0.2),
    inset 0 0 60px rgba(0, 255, 255, 0.1),
    inset 0 0 30px rgba(255, 255, 255, 0.05);
}

.unreal-lit::before {
  content: '';
  position: absolute;
  inset: -2px;
  background: radial-gradient(circle, rgba(0, 217, 255, 0.3) 0%, transparent 70%);
  border-radius: inherit;
  opacity: 0.6;
  pointer-events: none;
  filter: blur(8px);
}

/* ═══════════════════════════════════════════════════════════
   🌀 PARALLAX DEPTH LAYERS
   Multiple z-axis layers for 3D depth
   ═══════════════════════════════════════════════════════════ */

.parallax-container {
  perspective: 800px;
  perspective-origin: center;
  height: 100%;
  overflow: hidden;
}

.parallax-layer {
  position: absolute;
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
}

.parallax-layer--1 { transform: translateZ(10px) scale(1.02); }
.parallax-layer--2 { transform: translateZ(20px) scale(1.04); }
.parallax-layer--3 { transform: translateZ(30px) scale(1.06); }
.parallax-layer--4 { transform: translateZ(40px) scale(1.08); }

.parallax-container:hover .parallax-layer {
  animation: parallaxFloat 6s ease-in-out infinite;
}

@keyframes parallaxFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(20px); }
}

/* ═══════════════════════════════════════════════════════════
   🎪 FUTURAMA NEON RINGS
   Pulsing circular effects
   ═══════════════════════════════════════════════════════════ */

.neon-ring {
  border-radius: 50%;
  border: 3px solid currentColor;
  box-shadow: 
    0 0 15px currentColor,
    inset 0 0 15px rgba(255, 255, 255, 0.2),
    0 0 30px rgba(255, 255, 255, 0.1);
  animation: neonPulse 2s infinite ease-in-out;
}

.neon-ring--sm { width: 40px; height: 40px; }
.neon-ring--md { width: 80px; height: 80px; }
.neon-ring--lg { width: 120px; height: 120px; }

.neon-ring--cyan { color: #00ffff; }
.neon-ring--magenta { color: #ff00ff; }
.neon-ring--purple { color: #d946ef; }

@keyframes neonPulse {
  0%, 100% { 
    box-shadow: 
      0 0 15px currentColor,
      inset 0 0 15px rgba(255, 255, 255, 0.2),
      0 0 30px rgba(255, 255, 255, 0.1);
  }
  50% {
    box-shadow: 
      0 0 30px currentColor,
      inset 0 0 30px rgba(255, 255, 255, 0.3),
      0 0 60px rgba(255, 255, 255, 0.15);
    transform: scale(1.1);
  }
}

/* ═══════════════════════════════════════════════════════════
   🔤 MATRIX RAIN/CASCADE
   Falling text/data effect
   ═══════════════════════════════════════════════════════════ */

.matrix-rain {
  position: relative;
  overflow: hidden;
}

.matrix-rain::before {
  content: attr(data-text);
  position: absolute;
  width: 100%;
  height: 100%;
  font-family: var(--font-mono);
  color: rgba(0, 255, 0, 0.3);
  font-size: 0.7em;
  line-height: 1.8;
  white-space: pre;
  animation: matrixFlow 8s linear infinite;
  pointer-events: none;
}

@keyframes matrixFlow {
  0% { 
    transform: translateY(-100%);
    opacity: 0;
  }
  10% { opacity: 1; }
  90% { opacity: 1; }
  100% { 
    transform: translateY(100%);
    opacity: 0;
  }
}

/* ═══════════════════════════════════════════════════════════
   ✨ GLITCH EFFECT
   Retro CRT distortion
   ═══════════════════════════════════════════════════════════ */

.glitch {
  position: relative;
  display: inline-block;
}

.glitch::before,
.glitch::after {
  content: attr(data-text);
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  opacity: 0.8;
}

.glitch::before {
  animation: glitchLeft 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) infinite;
  color: #ff00ff;
  z-index: -1;
}

.glitch::after {
  animation: glitchRight 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) infinite;
  color: #00ffff;
  z-index: -2;
}

@keyframes glitchLeft {
  0% { transform: translateX(0); }
  20% { transform: translateX(-4px); }
  40% { transform: translateX(-2px); }
  60% { transform: translateX(0); }
  80% { transform: translateX(-3px); }
  100% { transform: translateX(0); }
}

@keyframes glitchRight {
  0% { transform: translateX(0); }
  20% { transform: translateX(4px); }
  40% { transform: translateX(2px); }
  60% { transform: translateX(0); }
  80% { transform: translateX(3px); }
  100% { transform: translateX(0); }
}

/* ═══════════════════════════════════════════════════════════
   🌈 NEON TEXT STROKE
   Glowing multi-layer text
   ═══════════════════════════════════════════════════════════ */

.neon-text {
  color: #fff;
  text-shadow: 
    0 0 10px rgba(0, 217, 255, 0.8),
    0 0 20px rgba(217, 70, 239, 0.6),
    0 0 30px rgba(0, 217, 255, 0.4),
    0 0 40px rgba(0, 255, 255, 0.2);
  filter: drop-shadow(0 0 2px rgba(217, 70, 239, 0.8));
  animation: neonTextGlow 2s ease-in-out infinite;
}

.neon-text--cyan {
  text-shadow: 
    0 0 10px rgba(0, 255, 255, 1),
    0 0 20px rgba(0, 255, 255, 0.8),
    0 0 30px rgba(0, 255, 255, 0.6);
}

.neon-text--magenta {
  text-shadow: 
    0 0 10px rgba(255, 0, 255, 1),
    0 0 20px rgba(255, 0, 255, 0.8),
    0 0 30px rgba(255, 0, 255, 0.6);
}

@keyframes neonTextGlow {
  0%, 100% { 
    text-shadow: 
      0 0 10px rgba(0, 217, 255, 0.8),
      0 0 20px rgba(217, 70, 239, 0.6),
      0 0 30px rgba(0, 217, 255, 0.4),
      0 0 40px rgba(0, 255, 255, 0.2);
  }
  50% {
    text-shadow: 
      0 0 20px rgba(0, 217, 255, 1),
      0 0 40px rgba(217, 70, 239, 0.8),
      0 0 60px rgba(0, 217, 255, 0.6),
      0 0 80px rgba(0, 255, 255, 0.4);
  }
}

/* ═══════════════════════════════════════════════════════════
   🎯 DATA STREAM EFFECT
   Flowing visualization
   ═══════════════════════════════════════════════════════════ */

.data-stream {
  position: relative;
  overflow: hidden;
  font-family: var(--font-mono);
  color: #00ffff;
  text-shadow: 0 0 10px rgba(0, 255, 255, 0.8);
}

.data-stream::before {
  content: '';
  position: absolute;
  top: -100%;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    180deg,
    transparent,
    rgba(0, 255, 255, 0.3),
    transparent
  );
  animation: dataFlow 3s linear infinite;
  pointer-events: none;
}

@keyframes dataFlow {
  0% { transform: translateY(-100%); }
  100% { transform: translateY(100%); }
}

/* ═══════════════════════════════════════════════════════════
   💫 INTERACTIVE BUTTON EFFECTS
   Enhanced click/hover states
   ═══════════════════════════════════════════════════════════ */

.btn-cyber {
  position: relative;
  border: 2px solid var(--color-brand-secondary);
  background: linear-gradient(135deg, 
    rgba(0, 217, 255, 0.1) 0%,
    rgba(217, 70, 239, 0.1) 100%
  );
  color: var(--color-brand-secondary);
  transition: all var(--transition-normal);
  transform-style: preserve-3d;
}

.btn-cyber::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, 
    rgba(0, 217, 255, 0.3),
    rgba(217, 70, 239, 0.3)
  );
  opacity: 0;
  transition: opacity var(--transition-normal);
  z-index: -1;
}

.btn-cyber:hover {
  box-shadow: 
    0 0 20px rgba(0, 217, 255, 0.6),
    inset 0 0 20px rgba(0, 217, 255, 0.2);
  transform: translateZ(2px);
}

.btn-cyber:hover::before {
  opacity: 1;
}

.btn-cyber:active {
  transform: translateZ(1px) scale(0.98);
}

/* ═══════════════════════════════════════════════════════════
   🎪 CHROMATIC ABERRATION
   Color separation effect
   ═══════════════════════════════════════════════════════════ */

.chromatic {
  position: relative;
}

.chromatic::before,
.chromatic::after {
  content: attr(data-text);
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0.8;
}

.chromatic::before {
  color: #ff0055;
  clip-path: polygon(0 0, 66% 0, 66% 100%, 0% 100%);
  animation: chromaticShift 0.15s ease-in-out infinite;
}

.chromatic::after {
  color: #00d9ff;
  clip-path: polygon(33% 0, 100% 0, 100% 100%, 33% 100%);
  animation: chromaticShiftReverse 0.15s ease-in-out infinite;
}

@keyframes chromaticShift {
  0%, 100% { transform: translateX(0); }
  50% { transform: translateX(2px); }
}

@keyframes chromaticShiftReverse {
  0%, 100% { transform: translateX(0); }
  50% { transform: translateX(-2px); }
}

/* ═══════════════════════════════════════════════════════════
   🔮 SCIFI SCANNER EFFECT
   Circular scanning animation
   ═══════════════════════════════════════════════════════════ */

.scifi-scanner {
  position: relative;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  border: 2px solid rgba(0, 255, 255, 0.3);
  box-shadow: 
    0 0 20px rgba(0, 255, 255, 0.5),
    inset 0 0 20px rgba(0, 255, 255, 0.1);
}

.scifi-scanner::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 2px solid transparent;
  border-top-color: #00ffff;
  animation: scannerRotate 3s linear infinite;
}

.scifi-scanner::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 4px;
  height: 4px;
  background: #00ffff;
  border-radius: 50%;
  box-shadow: 0 0 10px #00ffff;
}

@keyframes scannerRotate {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* ═══════════════════════════════════════════════════════════
   🎬 CINEMATIC TRANSITIONS
   Page/section transitions
   ═══════════════════════════════════════════════════════════ */

.cinematic-enter {
  animation: cinematicIn 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.cinematic-exit {
  animation: cinematicOut 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes cinematicIn {
  0% {
    opacity: 0;
    transform: scaleY(0.8) translateY(20px);
    filter: blur(10px);
  }
  100% {
    opacity: 1;
    transform: scaleY(1) translateY(0);
    filter: blur(0);
  }
}

@keyframes cinematicOut {
  0% {
    opacity: 1;
    transform: scaleY(1) translateY(0);
    filter: blur(0);
  }
  100% {
    opacity: 0;
    transform: scaleY(0.8) translateY(-20px);
    filter: blur(10px);
  }
}

/**
 * 🎮 CRYPTIC FUTURISTIC RETRO PIXEL CSS
 * Mobile-First Design with Bottom Navigation
 * ████████████████████████████████████████████
 */

/* ═══════════════════════════════════════════
   🌑 IMPORT UNIFIED BASE STYLES
   ═══════════════════════════════════════════ */

/* ═══════════════════════════════════════════
   🎯 CYBERPUNK-SPECIFIC VARIABLES & OVERRIDES
   ═══════════════════════════════════════════ */
:root {
  /* 📱 MOBILE LAYOUT */
  --mobile-header-height: 60px;
  --mobile-nav-height: 70px;
  --mobile-content-height: calc(100vh - var(--mobile-header-height) - var(--mobile-nav-height));
}

/* ═══════════════════════════════════════════
   📱 MOBILE-FIRST LAYOUT CONTAINER
   ═══════════════════════════════════════════ */
#root {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.cyber-app {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

/* ═══════════════════════════════════════════
   🎯 MOBILE HEADER (Fixed Top)
   ═══════════════════════════════════════════ */
.cyber-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: var(--mobile-header-height);
  background: linear-gradient(180deg, rgba(217, 70, 239, 0.2) 0%, rgba(0, 0, 0, 0.95) 100%);
  border-bottom: 2px solid var(--neon-cyan);
  box-shadow: 
    var(--shadow-pixel),
    0 0 20px rgba(0, 255, 255, 0.5);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 var(--space-md);
  z-index: 100;
  backdrop-filter: blur(10px);
}

.cyber-header__logo {
  font-family: var(--font-pixel);
  font-size: var(--text-md);
  color: var(--neon-cyan);
  text-shadow: var(--glow-cyan);
  letter-spacing: 2px;
  animation: glitchText 3s infinite;
}

.cyber-header__status {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
}

.cyber-header__wallet {
  font-family: var(--font-terminal);
  font-size: var(--text-sm);
  color: var(--neon-magenta);
  text-shadow: var(--glow-magenta);
  background: rgba(255, 0, 255, 0.1);
  border: 2px solid var(--neon-magenta);
  padding: var(--space-xs) var(--space-sm);
  box-shadow: var(--shadow-pixel-sm);
}

.cyber-header__balance {
  font-family: var(--font-cyber);
  font-size: var(--text-sm);
  color: var(--neon-lime);
  text-shadow: 0 0 10px rgba(0, 255, 0, 0.8);
}

/* ═══════════════════════════════════════════
   📜 SCROLLABLE CONTENT AREA
   ═══════════════════════════════════════════ */
.cyber-content {
  flex: 1;
  margin-top: var(--mobile-header-height);
  margin-bottom: var(--mobile-nav-height);
  overflow-y: auto;
  overflow-x: hidden;
  padding: var(--space-md);
  position: relative;
}

/* Custom Scrollbar - CYBER STYLE */
.cyber-content::-webkit-scrollbar {
  width: 8px;
}

.cyber-content::-webkit-scrollbar-track {
  background: var(--darkest);
  border-left: 1px solid var(--neon-cyan);
}

.cyber-content::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, var(--neon-cyan) 0%, var(--neon-magenta) 100%);
  box-shadow: 0 0 10px var(--neon-cyan);
}

.cyber-content::-webkit-scrollbar-thumb:hover {
  background: var(--neon-cyan);
  box-shadow: var(--glow-cyan);
}

/* ═══════════════════════════════════════════
   🎮 BOTTOM NAVIGATION (Fixed Bottom)
   ═══════════════════════════════════════════ */
.cyber-nav {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  height: var(--mobile-nav-height);
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.95) 0%, rgba(217, 70, 239, 0.2) 100%);
  border-top: 2px solid var(--neon-magenta);
  box-shadow: 
    var(--shadow-pixel),
    0 0 20px rgba(255, 0, 255, 0.5);
  display: flex;
  align-items: center;
  justify-content: space-around;
  padding: 0;
  z-index: 100;
  backdrop-filter: blur(10px);
}

.cyber-nav__item {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: var(--space-xs);
  background: transparent;
  border: none;
  cursor: pointer;
  transition: var(--transition-fast);
  position: relative;
  color: var(--gray);
  text-decoration: none;
}

.cyber-nav__item::before {
  content: '';
  position: absolute;
  top: -2px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 2px;
  background: var(--neon-cyan);
  box-shadow: var(--glow-cyan);
  transition: width var(--transition-normal);
}

.cyber-nav__item:active {
  transform: translateY(2px);
}

.cyber-nav__item--active {
  color: var(--neon-cyan);
}

.cyber-nav__item--active::before {
  width: 80%;
}

.cyber-nav__icon {
  font-size: var(--text-xl);
  filter: drop-shadow(0 0 4px currentColor);
  transition: var(--transition-fast);
}

.cyber-nav__item--active .cyber-nav__icon {
  filter: drop-shadow(0 0 10px var(--neon-cyan));
  animation: pulseGlow 2s infinite;
}

.cyber-nav__label {
  font-family: var(--font-terminal);
  font-size: var(--text-xs);
  text-transform: uppercase;
  letter-spacing: 1px;
  text-shadow: 0 0 4px currentColor;
}

.cyber-nav__item--active .cyber-nav__label {
  text-shadow: var(--glow-cyan);
}

/* ═══════════════════════════════════════════
   🎴 PIXEL CARDS
   ═══════════════════════════════════════════ */
.pixel-card {
  background: linear-gradient(135deg, rgba(0, 0, 0, 0.8) 0%, rgba(26, 26, 26, 0.8) 100%);
  border: 2px solid var(--neon-cyan);
  box-shadow: 
    var(--shadow-pixel),
    inset 0 0 20px rgba(0, 255, 255, 0.1);
  padding: var(--space-md);
  margin-bottom: var(--space-md);
  position: relative;
  overflow: hidden;
}

.pixel-card::before {
  content: '';
  position: absolute;
  top: -2px;
  right: -2px;
  width: 20px;
  height: 20px;
  background: var(--neon-cyan);
  box-shadow: var(--glow-cyan);
  clip-path: polygon(100% 0, 100% 100%, 0 0);
}

.pixel-card--purple {
  border-color: var(--cyber-purple);
  box-shadow: 
    var(--shadow-pixel),
    inset 0 0 20px rgba(217, 70, 239, 0.1);
}

.pixel-card--purple::before {
  background: var(--cyber-purple);
  box-shadow: var(--glow-purple);
}

.pixel-card__title {
  font-family: var(--font-pixel);
  font-size: var(--text-sm);
  color: var(--neon-cyan);
  text-shadow: var(--glow-cyan);
  margin-bottom: var(--space-sm);
  text-transform: uppercase;
  letter-spacing: 2px;
}

/* Utilities & component helpers for Cyberpunk dashboard refactor */
.text-xxl { font-size: var(--text-xxl); }
.text-xl { font-size: var(--text-xl); }
.text-sm { font-size: var(--text-sm); }
.text-xs { font-size: var(--text-xs); }
.text-gray { color: var(--gray); }
.mb-md { margin-bottom: var(--space-md); }
.mt-sm { margin-top: var(--space-sm); }
.mb-4 { margin-bottom: 4px; }
.mt-16 { margin-top: 16px; }
.flex-col { display: flex; flex-direction: column; }
.gap-sm { gap: var(--space-sm); }
.gap-md { gap: var(--space-md); }
.gap-4 { gap: 4px; }
.text-center { text-align: center; }

/* Empty history placeholder */
.empty-history {
  text-align: center;
  padding: var(--space-xl);
  color: var(--gray);
  font-family: var(--font-terminal);
}

/* Tip history row */
.tip-row {
  background: rgba(0, 0, 0, 0.5);
  border: 2px solid var(--medium);
  padding: var(--space-sm);
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: var(--font-terminal);
  font-size: var(--text-sm);
}

.tip-row-meta { display: flex; flex-direction: column; gap: 4px; }
.tip-id-badge {
  background: var(--darkest);
  border: 1px solid var(--medium);
  padding: 4px 8px;
  color: var(--neon-cyan);
  font-size: var(--text-xs);
}

/* Profile helper classes */
.title-cyber { color: var(--cyber-purple); text-shadow: var(--glow-purple); }
.profile-section { display:flex; flex-direction:column; gap:var(--space-md); }
.profile-header {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  padding: var(--space-md);
  background: rgba(217, 70, 239, 0.05);
  border: 2px solid var(--cyber-purple);
}
.profile-avatar {
  width: 64px;
  height: 64px;
  background: linear-gradient(135deg, var(--cyber-purple), var(--neon-magenta));
  border: 2px solid var(--neon-magenta);
  box-shadow: var(--glow-magenta);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--text-xl);
}
.username-pixel { font-family: var(--font-pixel); font-size: var(--text-sm); color: var(--neon-magenta); text-shadow: var(--glow-magenta); margin-bottom: 4px; }
.terminal-xs { font-family: var(--font-terminal); font-size: var(--text-xs); color: var(--gray); }
.wallet-info-card { padding: var(--space-md); background: rgba(0,0,0,0.5); border: 2px solid var(--neon-cyan); }
.wallet-address { font-family: var(--font-terminal); font-size: var(--text-sm); color: var(--neon-cyan); text-shadow: var(--glow-cyan); word-break: break-all; }
.wallet-balance { font-family: var(--font-cyber); font-size: var(--text-lg); color: var(--neon-lime); margin-top: var(--space-md); }

.stats-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-sm); }
.stat-cell { padding: var(--space-sm); background: rgba(0,255,255,0.05); border: 2px solid var(--neon-cyan); text-align: center; }
.stat-value { font-family: var(--font-cyber); font-size: var(--text-xl); color: var(--neon-cyan); text-shadow: var(--glow-cyan); }
.stat-label { font-family: var(--font-terminal); font-size: var(--text-xs); color: var(--gray); margin-top: 4px; }

.btn-danger { border-color: var(--neon-red); color: var(--neon-red); }

/* Generic panel block for wallet & info sections */
.panel-block {
  padding: var(--space-md);
  background: rgba(0,0,0,0.5);
  border: 2px solid var(--medium);
  text-align: left;
}

.wallet-required { text-align: center; padding: var(--space-xl); font-family: var(--font-terminal); color: var(--gray); }
.wallet-required .icon { font-size: var(--text-xxl); margin-bottom: var(--space-md); }
.wallet-required .title { font-family: var(--font-pixel); font-size: var(--text-sm); color: var(--neon-cyan); text-shadow: var(--glow-cyan); margin-bottom: var(--space-sm); }

.balance-row { display:flex; justify-content:space-between; align-items:center; padding:var(--space-sm); border:2px solid var(--neon-cyan); background: linear-gradient(135deg, rgba(0,255,255,0.05), rgba(0,217,255,0.05)); }

.currency-grid { display:grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-xs); }
.quick-grid { display:grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-xs); }
.pixel-btn--md { padding: var(--space-md); }

.pixel-input-wrap { position: relative; }
.pixel-input-right { position: absolute; right: var(--space-md); top: 50%; transform: translateY(-50%); font-family: var(--font-terminal); font-size: var(--text-sm); color: var(--neon-cyan); pointer-events: none; }

.info-block { padding: var(--space-sm); background: rgba(0,255,255,0.05); border: 1px solid var(--neon-cyan); text-align:center; }

/* ═══════════════════════════════════════════
   🔘 PIXEL BUTTONS
   ═══════════════════════════════════════════ */
.pixel-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-xs);
  padding: var(--space-sm) var(--space-md);
  font-family: var(--font-terminal);
  font-size: var(--text-base);
  text-transform: uppercase;
  letter-spacing: 1px;
  background: var(--darkest);
  border: 2px solid var(--neon-cyan);
  color: var(--neon-cyan);
  box-shadow: var(--shadow-pixel);
  cursor: pointer;
  transition: var(--transition-fast);
  position: relative;
  overflow: hidden;
}

.pixel-btn::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(0, 255, 255, 0.3), transparent);
  transition: left var(--transition-normal);
}

.pixel-btn:hover::before {
  left: 100%;
}

.pixel-btn:hover {
  background: rgba(0, 255, 255, 0.1);
  box-shadow: 
    var(--shadow-pixel),
    var(--glow-cyan);
  text-shadow: var(--glow-cyan);
}

.pixel-btn:active {
  transform: translate(2px, 2px);
  box-shadow: 2px 2px 0px rgba(0, 0, 0, 0.9);
}

.pixel-btn--primary {
  background: linear-gradient(135deg, rgba(217, 70, 239, 0.2), rgba(0, 217, 255, 0.2));
  border-color: var(--cyber-purple);
  color: var(--cyber-purple);
}

.pixel-btn--primary:hover {
  background: rgba(217, 70, 239, 0.3);
  box-shadow: 
    var(--shadow-pixel),
    var(--glow-purple);
  text-shadow: var(--glow-purple);
}

.pixel-btn--full {
  width: 100%;
}

.pixel-btn--large {
  padding: var(--space-md) var(--space-lg);
  font-size: var(--text-md);
}

/* ═══════════════════════════════════════════
   🔲 PIXEL INPUTS
   ═══════════════════════════════════════════ */
.pixel-input {
  width: 100%;
  padding: var(--space-sm) var(--space-md);
  font-family: var(--font-terminal);
  font-size: var(--text-base);
  background: rgba(0, 0, 0, 0.5);
  border: 2px solid var(--medium);
  color: var(--neon-cyan);
  box-shadow: inset var(--shadow-pixel-sm);
  transition: var(--transition-fast);
}

.pixel-input:focus {
  outline: none;
  border-color: var(--neon-cyan);
  box-shadow: 
    inset var(--shadow-pixel-sm),
    0 0 10px rgba(0, 255, 255, 0.5);
  background: rgba(0, 255, 255, 0.05);
}

.pixel-input::placeholder {
  color: var(--gray);
  opacity: 0.5;
}

/* ═══════════════════════════════════════════

/* ═══════════════════════════════════════════

   📱 RESPONSIVE - TABLET & DESKTOP
   ═══════════════════════════════════════════ */
@media (min-width: 768px) {
  :root {
    --mobile-header-height: 70px;
    --mobile-nav-height: 0px;
  }
  
  .cyber-header {
    height: var(--mobile-header-height);
    padding: 0 var(--space-lg);
  }
  
  .cyber-header__logo {
    font-size: var(--text-lg);
  }
  
  .cyber-content {
    margin-bottom: 0;
    padding: var(--space-lg);
  }
  
  /* SIDE NAVIGATION FOR DESKTOP */
  .cyber-nav {
    top: var(--mobile-header-height);
    bottom: auto;
    left: 0;
    width: 80px;
    height: calc(100vh - var(--mobile-header-height));
    flex-direction: column;
    border-top: none;
    border-right: 2px solid var(--neon-magenta);
    box-shadow: 
      var(--shadow-pixel),
      0 0 20px rgba(255, 0, 255, 0.5);
  }
  
  .cyber-nav__item::before {
    top: 50%;
    left: auto;
    right: -2px;
    transform: translateY(-50%);
    width: 2px;
    height: 0;
    transition: height var(--transition-normal);
  }
  
  .cyber-nav__item--active::before {
    height: 80%;
  }
  
  .cyber-content {
    margin-left: 80px;
  }
}

@media (min-width: 1024px) {
  .cyber-content {
    padding: var(--space-xl);
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
  }
}

/* Helper styles for CyberpunkTipSender component */
.wallet-required.panel-block {
  padding: var(--space-xl);
  background: rgba(0, 0, 0, 0.5);
  border: 2px dashed var(--medium);
  text-align: center;
  border-radius: 6px;
}
.wallet-required .icon {
  font-size: var(--text-xxl);
  margin-bottom: var(--space-md);
}
.wallet-required .title {
  font-family: var(--font-pixel);
  font-size: var(--text-sm);
  color: var(--neon-cyan);
  text-shadow: var(--glow-cyan);
  margin-bottom: var(--space-sm);
}
.wallet-required > div:last-child {
  font-family: var(--font-terminal);
  font-size: var(--text-sm);
  color: var(--gray);
}

.holographic { }
.flex-col { display: flex; flex-direction: column; }
.gap-md { gap: var(--space-md); }

.float-3d {
  padding: var(--space-md);
  background: linear-gradient(135deg, rgba(0,255,255,0.03), rgba(0,217,255,0.03));
  border: 2px solid var(--neon-cyan);
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-radius: 6px;
}
.balance-row { display: flex; justify-content: space-between; align-items: center; }

.terminal-xs { font-family: var(--font-terminal); font-size: var(--text-xs); color: var(--gray); }

.currency-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-xs); }
.quick-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-xs); }

.pixel-input-wrap { position: relative; }
.pixel-input-right {
  position: absolute;
  right: var(--space-md);
  top: 50%;
  transform: translateY(-50%);
  font-family: var(--font-terminal);
  font-size: var(--text-sm);
  color: var(--neon-cyan);
  pointer-events: none;
}

.info-block {
  padding: var(--space-sm);
  background: rgba(0,255,255,0.05);
  border: 1px solid var(--neon-cyan);
  border-radius: 4px;
}

/* Small helpers for pixel-styled buttons inside grids */
.currency-grid .pixel-btn,
.quick-grid .pixel-btn { width: 100%; }

/* Mobile-first styles extracted from index/landing templates */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
  background: linear-gradient(135deg, #0a0a0a 0%, #1a1a2e 50%, #16213e 100%);
  color: #ffffff;
  overflow-x: hidden;
}

/* ===== MOBILE OS CONTAINER ===== */
.mobile-app {
  position: relative;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

/* Status Bar */
.status-bar {
  height: 44px;
  padding: 0 1rem;
  padding-top: env(safe-area-inset-top, 0);
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: rgba(10, 10, 10, 0.95);
  backdrop-filter: blur(20px);
  border-bottom: 0.5px solid rgba(255, 255, 255, 0.1);
  font-size: 0.875rem;
  font-weight: 600;
  color: #ffffff;
  z-index: 200;
}

.status-time { letter-spacing: 0.02em; }
.status-icons { display: flex; gap: 0.5rem; }

/* Main Content */
.content-area {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding-bottom: calc(80px + env(safe-area-inset-bottom, 0));
}

/* Header Section / Hero */
.header-section,
.hero-section {
  padding: 1.5rem 1rem;
  text-align: center;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.app-logo,
.app-title {
  font-size: 2.5rem;
  font-weight: 800;
  background: linear-gradient(135deg, #0052ff, #9146ff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: 0.5rem;
}

.app-tagline,
.app-subtitle { font-size: 0.85rem; color: rgba(255,255,255,0.7); }

/* Features Grid */
.features-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  padding: 1.5rem 1rem;
}

.feature-item,
.feature-card {
  background: linear-gradient(135deg, rgba(0, 82, 255, 0.1), rgba(145, 70, 255, 0.1));
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 16px;
  padding: 1.25rem;
  text-align: center;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
}

.feature-item:active,
.feature-card:active { transform: scale(0.95); }
.feature-item:hover,
.feature-card:hover { background: linear-gradient(135deg, rgba(0, 82, 255, 0.2), rgba(145, 70, 255, 0.2)); }
.feature-icon { font-size: 2rem; }
.feature-name { font-size: 0.85rem; font-weight: 700; color: rgba(255,255,255,0.9); }

/* Info sections */
.info-sections,
.info-section { padding: 0 1rem 2rem; }
.info-card {
  background: linear-gradient(135deg, rgba(0, 82, 255, 0.1), rgba(145, 70, 255, 0.1));
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 16px;
  padding: 1.25rem;
  margin-bottom: 1rem;
  backdrop-filter: blur(10px);
}
.info-card h3 { font-size: 1rem; margin-bottom: 0.75rem; color: #ffffff; }
.info-card p { font-size: 0.875rem; color: rgba(255,255,255,0.7); line-height: 1.5; }

.cta-link { display: inline-block; margin-top: 0.75rem; padding: 0.5rem 1rem; background: linear-gradient(135deg, #0052ff, #9146ff); color: #fff; border-radius: 8px; font-size: 0.8rem; font-weight:600; text-decoration:none; }
.cta-link:active{ transform: scale(0.95); }

/* Bottom Navigation */
.bottom-nav {
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 100;
  display: flex; justify-content: space-around; align-items: stretch;
  background: rgba(10,10,10,0.98); backdrop-filter: blur(40px);
  border-top: 0.5px solid rgba(255,255,255,0.15); padding-bottom: env(safe-area-inset-bottom,0);
  box-shadow: 0 -4px 24px rgba(0,0,0,0.3);
}
.nav-item { flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:0.25rem; padding:0.75rem 0.5rem; border:none; background:transparent; color:rgba(255,255,255,0.5); cursor:pointer; text-decoration:none; min-height:64px; -webkit-tap-highlight-color:transparent; }
.nav-item.active { color:#fff; }
.nav-icon { font-size:1.5rem; transition: transform 0.3s; }
.nav-item.active .nav-icon { transform: scale(1.1); filter: drop-shadow(0 2px 8px rgba(0,82,255,0.6)); }
.nav-label { font-size:0.625rem; font-weight:600; letter-spacing:0.02em; text-transform:uppercase; }

/* Responsive */
@media (min-width: 768px) {
  .mobile-app { max-width: 480px; margin: 0 auto; border-left: 1px solid rgba(255,255,255,0.1); border-right:1px solid rgba(255,255,255,0.1); box-shadow: 0 0 48px rgba(0,0,0,0.5); }
  .features-grid { grid-template-columns: repeat(3,1fr); }
}

@media (max-width: 480px) {
  .app-logo, .app-title { font-size:2rem; }
  .features-grid { gap:0.75rem; padding:1rem; }
  .feature-item, .feature-card { padding:1rem; }
  .feature-icon { font-size:2rem; }
}

