/* PawketPetsVT - Y2K SPA Embedded Styles */
@import url('https://fonts.googleapis.com/css2?family=Chewy&family=Fredoka:wght@400;500;600;700&family=Bubblegum+Sans&display=swap');

:root {
  --pink:        #ff66cc;
  --pink-light:  #ffb3e6;
  --pink-dark:   #cc0099;
  --purple:      #9966ff;
  --purple-light:#ccaaff;
  --purple-dark: #6633cc;
  --yellow:      #ffdd00;
  --cyan:        #00ddff;
  --green:       #66ff99;
  --orange:      #ff9933;
  --blue:        #3366ff;
  --white:       #ffffff;
  --cream:       #fff5e6;
  --text:        #2d1b4e;
  --text-light:  #7a5faa;
  --border:      #cc99ff;
  --shadow:      rgba(153,102,255,0.3);
  --radius:      20px;
  --radius-lg:   32px;
  --radius-xl:   40px;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }

body {
  font-family: 'Fredoka', 'Bubblegum Sans', cursive !important;
  background: linear-gradient(180deg, #ffddee 0%, #e6ccff 50%, #ccddff 100%) !important;
  background-attachment: fixed !important;
  color: var(--text) !important;
  min-height: 100vh;
  position: relative;
}

body::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: 
    radial-gradient(circle at 20% 30%, rgba(255,102,204,0.15) 0%, transparent 50%),
    radial-gradient(circle at 80% 70%, rgba(153,102,255,0.15) 0%, transparent 50%),
    radial-gradient(circle at 50% 50%, rgba(255,221,0,0.08) 0%, transparent 50%);
  pointer-events: none;
  z-index: 0;
}

h1, h2, h3, h4 { 
  font-family: 'Chewy', 'Bubblegum Sans', cursive !important; 
  line-height: 1.3 !important; 
  letter-spacing: 0.5px !important;
}
a { color: var(--purple-dark) !important; text-decoration: none !important; transition: all 0.2s !important; font-weight: 600 !important; }
a:hover { color: var(--pink) !important; }

/* MUSIC BAR */
/* OLD MUSIC BAR - NOW INTEGRATED INTO NAVBAR */
.music-bar { 
  display: none !important; /* Music controls now in navbar */
}
.music-bar-label { 
  font-family: 'Chewy', cursive !important; 
  font-size: 0.85rem !important; 
  color: rgba(255,255,255,0.95) !important; 
  text-shadow: 1px 1px 2px rgba(0,0,0,0.2) !important;
}
.music-btn { 
  background: rgba(255,255,255,0.25) !important; 
  border: 2px solid rgba(255,255,255,0.5) !important;
  color: var(--white) !important; 
  font-size: 1rem !important; 
  width: 32px !important; 
  height: 32px !important; 
  border-radius: 50% !important; 
  cursor: pointer !important; 
  display: flex !important; 
  align-items: center !important; 
  justify-content: center !important; 
  transition: all 0.2s !important; 
  flex-shrink: 0 !important;
  box-shadow: 0 2px 6px rgba(0,0,0,0.15) !important;
}
.music-btn:hover { 
  background: rgba(255,255,255,0.4) !important; 
  transform: scale(1.1) !important;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2) !important;
}
.music-volume { width: 80px !important; accent-color: var(--yellow) !important; cursor: pointer !important; }
.music-title { 
  font-family: 'Chewy', cursive !important; 
  font-size: 0.85rem !important; 
  color: rgba(255,255,255,0.95) !important; 
  white-space: nowrap !important; 
  max-width: 180px !important; 
  overflow: hidden !important; 
  text-overflow: ellipsis !important;
  text-shadow: 1px 1px 2px rgba(0,0,0,0.2) !important;
}

/* NEWS TICKER */
.news-ticker { 
  background: linear-gradient(90deg, #ffdd00, #ff9933, #ff66cc) !important; 
  color: var(--text) !important; 
  padding: 10px 0 !important; 
  overflow: hidden !important; 
  white-space: nowrap !important; 
  font-family: 'Chewy', cursive !important; 
  font-size: 1rem !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important;
  border-bottom: 3px solid rgba(255,255,255,0.5) !important;
}
.news-ticker-inner { 
  display: inline-block !important; 
  animation: ticker 40s linear infinite !important; 
  padding-left: 100% !important;
  font-weight: 600 !important;
  text-shadow: 1px 1px 0 rgba(255,255,255,0.5) !important;
}
@keyframes ticker { 0% { transform: translateX(0); } 100% { transform: translateX(-100%); } }

/* CONSOLIDATED NAVBAR STYLES */
.navbar-consolidated .navbar-inner {
  display: grid !important;
  grid-template-columns: auto 1fr auto !important;
  align-items: center !important;
  gap: 20px !important;
  height: 70px !important;
}

.navbar-center {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
  padding: 0 10px !important;
}

.beta-tag-inline {
  background: rgba(0, 0, 0, 0.3) !important;
  color: white !important;
  padding: 4px 10px !important;
  border-radius: 15px !important;
  font-weight: bold !important;
  font-size: 0.75rem !important;
  letter-spacing: 1px !important;
  text-shadow: 1px 1px 2px rgba(0,0,0,0.2) !important;
}

.beta-text-inline {
  color: rgba(255, 255, 255, 0.95) !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  text-shadow: 1px 1px 2px rgba(0,0,0,0.2) !important;
  white-space: nowrap !important;
}

.beta-contact-inline {
  background: rgba(255, 255, 255, 0.25) !important;
  color: white !important;
  padding: 5px 12px !important;
  border-radius: 15px !important;
  font-size: 0.75rem !important;
  font-weight: bold !important;
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
  cursor: pointer !important;
  transition: all 0.2s !important;
  text-shadow: 1px 1px 2px rgba(0,0,0,0.2) !important;
}

.beta-contact-inline:hover {
  background: rgba(255, 255, 255, 0.4) !important;
  transform: translateY(-1px) !important;
}

.music-controls-inline {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 0 8px !important;
  border-left: 2px solid rgba(255,255,255,0.2) !important;
  margin-left: 4px !important;
}

.music-title-inline {
  font-size: 1.1rem !important;
  opacity: 0.9 !important;
}

.music-btn-inline {
  background: rgba(255,255,255,0.2) !important;
  border: 1px solid rgba(255,255,255,0.4) !important;
  color: var(--white) !important;
  font-size: 0.75rem !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.2s !important;
  flex-shrink: 0 !important;
  padding: 0 !important;
}

.music-btn-inline:hover {
  background: rgba(255,255,255,0.35) !important;
  transform: scale(1.1) !important;
}

.music-volume-inline {
  width: 70px !important;
  height: 4px !important;
  accent-color: var(--yellow) !important;
  cursor: pointer !important;
  background: rgba(255,255,255,0.2) !important;
  border-radius: 2px !important;
}

/* Responsive adjustments for consolidated navbar */
@media (max-width: 1200px) {
  .beta-text-inline {
    font-size: 0.7rem !important;
    max-width: 200px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
}

@media (max-width: 992px) {
  .navbar-consolidated .navbar-inner {
    grid-template-columns: auto auto !important;
    gap: 10px !important;
  }
  
  .navbar-center {
    grid-column: 1 / -1 !important;
    order: 3 !important;
    padding: 8px 0 !important;
  }
  
  .beta-text-inline {
    display: none !important;
  }
}

@media (max-width: 768px) {
  .music-volume-inline {
    width: 50px !important;
  }
  
  .music-controls-inline {
    gap: 6px !important;
  }
}

/* NAVBAR - ROUNDED BOTTOM CORNERS */
.navbar { 
  background: linear-gradient(135deg, #9966ff, #ff66cc, #00ddff) !important; 
  box-shadow: 0 6px 20px rgba(153,102,255,0.4) !important; 
  position: sticky !important; 
  top: 0 !important; 
  z-index: 100 !important;
  border-bottom: 4px solid rgba(255,255,255,0.3) !important;
  border-radius: 0 0 32px 32px !important;
}
.navbar-inner { 
  max-width: 1400px !important; 
  margin: 0 auto !important; 
  padding: 0 24px !important; 
  display: flex !important; 
  align-items: center !important; 
  justify-content: space-between !important;
  height: 70px !important; 
  gap: 16px !important; 
}
.navbar-logo { 
  font-family: 'Chewy', cursive !important; 
  font-size: 1.4rem !important; 
  color: var(--white) !important; 
  display: flex !important; 
  align-items: center !important; 
  gap: 8px !important; 
  text-decoration: none !important; 
  flex-shrink: 0 !important; 
  cursor: pointer !important;
  text-shadow: 2px 2px 4px rgba(0,0,0,0.3) !important;
  transition: transform 0.2s !important;
}
.navbar-logo:hover {
  transform: scale(1.05) !important;
}
.navbar-logo img { 
  width: 40px !important; 
  height: 40px !important; 
  object-fit: contain !important;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,0.2)) !important;
}
.navbar-logo span { color: var(--yellow) !important; }
.navbar-tabs { 
  display: flex !important; 
  align-items: center !important; 
  gap: 4px !important; 
  flex: 1 !important; 
  margin: 0 12px !important; 
  overflow-x: auto !important; 
  scrollbar-width: none !important; 
}
.navbar-tabs::-webkit-scrollbar { display: none !important; }
.nav-tab { 
  background: rgba(255,255,255,0.15) !important; 
  border: 2px solid rgba(255,255,255,0.3) !important;
  color: var(--white) !important; 
  font-family: 'Chewy', cursive !important; 
  font-size: 0.95rem !important; 
  padding: 8px 16px !important; 
  border-radius: 25px !important; 
  cursor: pointer !important; 
  transition: all 0.2s !important; 
  white-space: nowrap !important; 
  flex-shrink: 0 !important;
  text-shadow: 1px 1px 2px rgba(0,0,0,0.2) !important;
}
.nav-tab:hover { 
  background: rgba(255,255,255,0.3) !important; 
  color: var(--yellow) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2) !important;
}
.nav-tab.active { 
  background: var(--yellow) !important; 
  color: var(--purple-dark) !important;
  border-color: var(--yellow) !important;
  font-weight: 600 !important;
  box-shadow: 0 4px 12px rgba(255,221,0,0.4) !important;
}
.navbar-user { 
  display: flex !important; 
  align-items: center !important; 
  gap: 14px !important; 
  font-size: 1.05rem !important; 
  color: var(--white) !important; 
  font-weight: 700 !important; 
  white-space: nowrap !important; 
  flex-shrink: 0 !important;
  text-shadow: 1px 1px 3px rgba(0,0,0,0.3) !important;
  margin-left: auto !important;
}
#nav-points { 
  background: rgba(255,255,255,0.35) !important; 
  padding: 8px 18px !important; 
  border-radius: 30px !important; 
  font-family: 'Chewy', cursive !important; 
  font-size: 1.1rem !important;
  border: 2px solid rgba(255,255,255,0.5) !important;
  box-shadow: 0 3px 10px rgba(0,0,0,0.2) !important;
}
.btn-nav-action { 
  background: var(--yellow) !important; 
  color: var(--purple-dark) !important; 
  font-family: 'Chewy', cursive !important; 
  font-size: 1.05rem !important; 
  padding: 10px 24px !important; 
  border-radius: 30px !important; 
  border: 3px solid rgba(255,255,255,0.6) !important;
  cursor: pointer !important; 
  transition: all 0.2s !important;
  font-weight: 700 !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.25) !important;
}
.btn-nav-action:hover { 
  background: var(--white) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 5px 12px rgba(0,0,0,0.25) !important;
}

/* PAGE SECTIONS */
.page-section { display: none !important; min-height: 60vh !important; position: relative !important; z-index: 1 !important; }
.page-section.active { display: block !important; }
.page-wrap { 
  max-width: 1100px !important; 
  margin: 0 auto !important; 
  padding: 0 20px 60px !important; 
  position: relative !important; 
  z-index: 1 !important; 
}

/* PAGE HERO */
.page-hero { 
  text-align: center !important; 
  padding: 50px 20px 35px !important; 
}
.page-hero h1 { 
  font-size: clamp(2rem, 6vw, 3.5rem) !important; 
  color: var(--purple-dark) !important; 
  text-shadow: 
    3px 3px 0 var(--pink-light),
    -1px -1px 0 rgba(255,255,255,0.8) !important;
  margin-bottom: 16px !important;
  letter-spacing: 1px !important;
}
.page-hero p { 
  font-size: 1.15rem !important; 
  color: var(--text) !important; 
  max-width: 600px !important; 
  margin: 0 auto !important; 
  line-height: 1.7 !important;
  font-weight: 500 !important;
}
.sparkle-row { 
  font-size: 1.8rem !important; 
  margin-bottom: 16px !important; 
  letter-spacing: 12px !important; 
  animation: sparkle-pulse 2.5s ease-in-out infinite !important;
  filter: drop-shadow(0 2px 4px rgba(255,102,204,0.3)) !important;
}
@keyframes sparkle-pulse { 
  0%,100% { opacity:1; transform:scale(1) rotate(0deg); } 
  50% { opacity:0.8; transform:scale(1.1) rotate(5deg); } 
}

/* CARDS */
.card { 
  background: var(--white) !important; 
  border: 4px solid var(--border) !important; 
  border-radius: var(--radius-xl) !important; 
  padding: 32px !important; 
  box-shadow: 
    0 8px 24px rgba(153,102,255,0.25),
    inset 0 1px 0 rgba(255,255,255,0.8) !important;
  transition: all 0.3s !important; 
  position: relative !important;
}
.card:hover { 
  transform: translateY(-6px) scale(1.02) !important; 
  box-shadow: 
    0 16px 40px rgba(153,102,255,0.35),
    inset 0 1px 0 rgba(255,255,255,0.9) !important;
}

/* BUTTONS */
.btn { 
  display: inline-block !important; 
  font-family: 'Chewy', cursive !important; 
  font-size: 1.05rem !important; 
  padding: 12px 28px !important; 
  border-radius: 30px !important; 
  border: 3px solid transparent !important;
  cursor: pointer !important; 
  transition: all 0.2s !important; 
  text-align: center !important;
  font-weight: 600 !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.2) !important;
  position: relative !important;
  overflow: hidden !important;
}
.btn:hover { 
  transform: translateY(-4px) scale(1.05) !important; 
  box-shadow: 0 8px 20px rgba(0,0,0,0.3) !important; 
}
.btn-primary { 
  background: linear-gradient(135deg, #ff66cc, #9966ff) !important; 
  color: var(--white) !important;
  border-color: rgba(255,255,255,0.4) !important;
  text-shadow: 1px 1px 2px rgba(0,0,0,0.2) !important;
}
.btn-secondary { 
  background: linear-gradient(135deg, var(--yellow), var(--orange)) !important; 
  color: var(--text) !important;
  border-color: rgba(255,255,255,0.6) !important;
}
.btn-outline { 
  background: rgba(255,255,255,0.8) !important; 
  color: var(--purple-dark) !important; 
  border: 3px solid var(--purple) !important;
}
.btn-outline:hover { 
  background: var(--purple-light) !important; 
  color: var(--purple-dark) !important;
}
.btn-lg { font-size: 1.25rem !important; padding: 16px 36px !important; }
.btn-sm { font-size: 0.9rem !important; padding: 8px 20px !important; }

/* FORMS */
.form-card { 
  background: var(--white) !important; 
  border: 4px solid var(--border) !important; 
  border-radius: var(--radius-xl) !important; 
  padding: 40px 45px !important; 
  box-shadow: 
    0 10px 35px rgba(153,102,255,0.3),
    inset 0 1px 0 rgba(255,255,255,0.8) !important;
  max-width: 450px !important; 
  margin: 0 auto !important;
  position: relative !important;
}
.form-card::after {
  content: '✨';
  position: absolute;
  top: -20px;
  right: 20px;
  font-size: 2rem;
  animation: sparkle-pulse 2s ease-in-out infinite;
}
.form-card h2 { 
  font-size: 2.2rem !important; 
  color: var(--purple-dark) !important; 
  text-align: center !important; 
  margin-bottom: 8px !important;
  text-shadow: 2px 2px 0 var(--pink-light) !important;
}
.form-subtitle { 
  text-align: center !important; 
  color: var(--text-light) !important; 
  font-size: 0.95rem !important; 
  margin-bottom: 24px !important;
  font-weight: 500 !important;
}
.form-group { margin-bottom: 20px !important; }
.form-group label { 
  display: block !important; 
  font-family: 'Chewy', cursive !important; 
  font-size: 1rem !important; 
  color: var(--text) !important; 
  margin-bottom: 8px !important;
  font-weight: 600 !important;
}
.form-group input, 
.form-group textarea { 
  width: 100% !important; 
  padding: 14px 18px !important; 
  border: 3px solid var(--border) !important; 
  border-radius: 20px !important; 
  font-family: 'Fredoka', cursive !important; 
  font-size: 1rem !important; 
  background: rgba(255,255,255,0.9) !important;
  color: var(--text) !important;
  transition: all 0.2s !important;
  box-shadow: inset 0 2px 4px rgba(0,0,0,0.05) !important;
}
.form-group input:focus, 
.form-group textarea:focus { 
  outline: none !important; 
  border-color: var(--purple) !important; 
  background: var(--white) !important;
  box-shadow: 
    inset 0 2px 4px rgba(0,0,0,0.05),
    0 0 0 3px rgba(153,102,255,0.2) !important;
  transform: scale(1.02) !important;
}
.form-submit { 
  width: 100% !important; 
  margin-top: 8px !important; 
}
.form-footer { 
  text-align: center !important; 
  margin-top: 20px !important; 
  color: var(--text-light) !important; 
  font-size: 0.95rem !important;
  font-weight: 500 !important;
}

/* ALERTS */
.alert { 
  padding: 14px 20px !important; 
  border-radius: 20px !important; 
  margin-bottom: 16px !important; 
  border: 3px solid transparent !important;
  display: none !important;
  font-weight: 600 !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1) !important;
}
.alert.show { display: block !important; }
.alert-error { 
  background: #ffe6e6 !important; 
  color: #cc0000 !important; 
  border-color: #ffcccc !important;
}
.alert-success { 
  background: #e6ffe6 !important; 
  color: #008800 !important; 
  border-color: #ccffcc !important;
}

/* TOAST */
.toast { 
  position: fixed !important; 
  bottom: 30px !important; 
  right: 30px !important; 
  background: linear-gradient(135deg, var(--purple), var(--pink)) !important; 
  color: var(--white) !important; 
  padding: 16px 24px !important; 
  border-radius: 25px !important; 
  box-shadow: 0 6px 20px rgba(153,102,255,0.4) !important; 
  z-index: 200 !important; 
  opacity: 0 !important; 
  transform: translateY(20px) !important; 
  transition: all 0.3s !important; 
  pointer-events: none !important;
  font-family: 'Chewy', cursive !important;
  font-size: 1.05rem !important;
  border: 3px solid rgba(255,255,255,0.3) !important;
}
.toast.show { opacity: 1 !important; transform: translateY(0) !important; pointer-events: all !important; }

/* SPINNER */
.spinner {
  border: 4px solid rgba(153,102,255,0.2) !important;
  border-top: 4px solid var(--purple) !important;
  border-radius: 50% !important;
  width: 50px !important;
  height: 50px !important;
  animation: spin 1s linear infinite !important;
  margin: 40px auto !important;
}
@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* POINTS BANNER */
.points-banner {
  background: linear-gradient(135deg, #ffdd00, #ff9933) !important;
  border: 4px solid rgba(255,255,255,0.5) !important;
  border-radius: 30px !important;
  padding: 16px 32px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 30px !important;
  box-shadow: 0 6px 20px rgba(255,153,51,0.3) !important;
}
.pb-label {
  font-family: 'Chewy', cursive !important;
  font-size: 1.2rem !important;
  color: var(--text) !important;
  font-weight: 600 !important;
}
.pb-amount {
  font-family: 'Chewy', cursive !important;
  font-size: 1.5rem !important;
  color: var(--purple-dark) !important;
  font-weight: 700 !important;
  text-shadow: 1px 1px 0 rgba(255,255,255,0.5) !important;
}

/* PET CARDS */
.pets-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
  gap: 24px !important;
  margin-top: 24px !important;
}
.pet-card {
  background: var(--white) !important;
  border: 4px solid var(--border) !important;
  border-radius: var(--radius-xl) !important;
  padding: 24px 20px !important;
  text-align: center !important;
  box-shadow: 0 8px 24px rgba(153,102,255,0.25) !important;
  transition: all 0.3s !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 10px !important;
}
.pet-card:hover {
  transform: translateY(-8px) scale(1.02) !important;
  box-shadow: 0 16px 40px rgba(153,102,255,0.35) !important;
}
.pet-card.placeholder {
  background: linear-gradient(135deg, #f0e8ff, #ffe8f5) !important;
  border-style: dashed !important;
  opacity: 0.7 !important;
}
.pet-card.already-owned {
  border-color: var(--green) !important;
  background: linear-gradient(135deg, #f0fff4, #e8fff0) !important;
}
.pet-image-wrap {
  width: 140px !important;
  height: 140px !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  border: 4px solid var(--purple-light) !important;
  background: linear-gradient(135deg, var(--purple-light), var(--pink-light)) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto !important;
  box-shadow: 0 6px 20px rgba(153,102,255,0.3) !important;
}
.pet-image-wrap img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
.pet-image-placeholder {
  font-size: 4rem !important;
  line-height: 1 !important;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,0.1)) !important;
}
.pet-name {
  font-family: 'Chewy', cursive !important;
  font-size: 1.5rem !important;
  color: var(--purple-dark) !important;
  margin: 8px 0 4px !important;
  text-shadow: 1px 1px 0 var(--pink-light) !important;
}
.pet-vtuber {
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  color: var(--text-light) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  background: rgba(153,102,255,0.1) !important;
  padding: 4px 12px !important;
  border-radius: 15px !important;
}
.pet-description {
  font-size: 0.95rem !important;
  color: var(--text) !important;
  line-height: 1.6 !important;
  flex: 1 !important;
  font-weight: 500 !important;
}
.pet-price {
  font-family: 'Chewy', cursive !important;
  font-size: 1.1rem !important;
  color: var(--purple-dark) !important;
  background: var(--purple-light) !important;
  padding: 6px 18px !important;
  border-radius: 25px !important;
  border: 2px solid var(--purple) !important;
  font-weight: 600 !important;
}
.pet-price.free {
  color: var(--white) !important;
  background: linear-gradient(135deg, var(--green), #3ab85a) !important;
  border-color: var(--green) !important;
  box-shadow: 0 4px 12px rgba(93,222,122,0.3) !important;
}

/* MODALS */
.modal-overlay {
  display: none !important;
  position: fixed !important;
  inset: 0 !important;
  background: rgba(60,20,100,0.6) !important;
  backdrop-filter: blur(6px) !important;
  z-index: 200 !important;
  align-items: center !important;
  justify-content: center !important;
}
.modal-overlay.show {
  display: flex !important;
}
.modal {
  background: var(--white) !important;
  border: 4px solid var(--border) !important;
  border-radius: var(--radius-xl) !important;
  padding: 40px 36px !important;
  max-width: 450px !important;
  width: 90% !important;
  text-align: center !important;
  box-shadow: 0 20px 60px rgba(60,20,100,0.4) !important;
  animation: modal-pop 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
}
@keyframes modal-pop {
  from {
    transform: scale(0.8) translateY(-20px);
    opacity: 0;
  }
  to {
    transform: scale(1) translateY(0);
    opacity: 1;
  }
}
.modal h2 {
  font-size: 2rem !important;
  color: var(--purple-dark) !important;
  margin-bottom: 12px !important;
  font-family: 'Chewy', cursive !important;
  text-shadow: 2px 2px 0 var(--pink-light) !important;
}

/* Modal image container for pet adoption */
.modal-image {
  max-width: 100%;
  max-height: 250px;
  margin: 0 auto 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 12px;
}

.modal-image img {
  max-width: 100%;
  max-height: 250px;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
  margin: 0 auto;
}

.modal p {
  color: var(--text) !important;
  margin-bottom: 24px !important;
  line-height: 1.7 !important;
  font-size: 1.05rem !important;
}

/* WELCOME PANEL */
.welcome-panel {
  background: linear-gradient(135deg, rgba(255,255,255,0.95), rgba(255,255,255,0.85)) !important;
  border: 4px solid var(--border) !important;
  border-radius: var(--radius-xl) !important;
  padding: 50px 40px !important;
  text-align: center !important;
  margin-bottom: 40px !important;
  box-shadow: 0 10px 30px rgba(153,102,255,0.25) !important;
}
.logo-hero {
  width: 120px !important;
  height: 120px !important;
  margin-bottom: 20px !important;
  filter: drop-shadow(0 4px 8px rgba(153,102,255,0.3)) !important;
  animation: float 3s ease-in-out infinite !important;
}
@keyframes float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}
.welcome-panel h1 {
  font-size: 2.5rem !important;
  color: var(--purple-dark) !important;
  margin-bottom: 16px !important;
  text-shadow: 3px 3px 0 var(--pink-light) !important;
}
.welcome-panel p {
  font-size: 1.2rem !important;
  color: var(--text) !important;
  line-height: 1.7 !important;
  max-width: 600px !important;
  margin: 0 auto 24px !important;
}

/* QUICKLINKS */
.quicklinks {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)) !important;
  gap: 20px !important;
  margin: 30px 0 !important;
}
.quicklink-card {
  background: linear-gradient(135deg, rgba(255,255,255,0.9), rgba(255,255,255,0.7)) !important;
  border: 4px solid var(--border) !important;
  border-radius: var(--radius-xl) !important;
  padding: 28px 20px !important;
  text-align: center !important;
  cursor: pointer !important;
  transition: all 0.3s !important;
  box-shadow: 0 6px 20px rgba(153,102,255,0.2) !important;
  position: relative !important;
  overflow: hidden !important;
}
.quicklink-card:hover {
  transform: translateY(-8px) scale(1.05) !important;
  box-shadow: 0 12px 30px rgba(153,102,255,0.35) !important;
  border-color: var(--pink) !important;
}
.ql-icon {
  font-size: 3rem !important;
  display: block !important;
  margin-bottom: 12px !important;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,0.1)) !important;
}
.ql-label {
  font-family: 'Chewy', cursive !important;
  font-size: 1.1rem !important;
  color: var(--purple-dark) !important;
  font-weight: 600 !important;
  display: block !important;
}

/* FOOTER */
.footer {
  background: linear-gradient(135deg, var(--purple-dark), var(--pink-dark)) !important;
  color: var(--white) !important;
  text-align: center !important;
  padding: 30px 20px !important;
  margin-top: 60px !important;
  border-radius: 32px 32px 0 0 !important;
  box-shadow: 0 -4px 20px rgba(153,102,255,0.3) !important;
}
.footer a {
  color: var(--yellow) !important;
  font-weight: 600 !important;
}
.footer a:hover {
  color: var(--white) !important;
}
.footer-sparkles {
  font-size: 1.2rem !important;
  margin-bottom: 10px !important;
  letter-spacing: 8px !important;
  opacity: 0.7 !important;
  animation: sparkle-pulse 2.5s ease-in-out infinite !important;
}
    /* MY PETS GRID */
.mypets-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)) !important;
  gap: 28px !important;
  margin-top: 28px !important;
}

/* MY PET CARD */
.my-pet-card {
  background: var(--white) !important;
  border: 4px solid var(--border) !important;
  border-radius: var(--radius-xl) !important;
  overflow: hidden !important;
  box-shadow: 0 8px 24px rgba(153,102,255,0.25) !important;
  transition: all 0.3s !important;
  position: relative !important;
}
.my-pet-card:hover {
  transform: translateY(-8px) scale(1.02) !important;
  box-shadow: 0 16px 40px rgba(153,102,255,0.35) !important;
}

/* PET HABITAT (top banner with avatar) */
.pet-habitat {
  position: relative !important;
  height: 180px !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: center !important;
  padding: 20px !important;
  background: linear-gradient(135deg, var(--purple-light), var(--pink-light)) !important;
  border-bottom: 4px solid rgba(255,255,255,0.4) !important;
}

/* PET AVATAR */
.pet-avatar-wrap {
  position: relative !important;
  z-index: 2 !important;
  margin-bottom: -50px !important;
}
.pet-avatar {
  width: 120px !important;
  height: 120px !important;
  border-radius: 50% !important;
  border: 5px solid var(--white) !important;
  background: linear-gradient(135deg, var(--purple-light), var(--pink-light)) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 4rem !important;
  overflow: hidden !important;
  box-shadow: 0 8px 24px rgba(153,102,255,0.4) !important;
  position: relative !important;
}
.pet-avatar img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
.mood-badge {
  position: absolute !important;
  bottom: -5px !important;
  right: -5px !important;
  width: 45px !important;
  height: 45px !important;
  border-radius: 50% !important;
  background: var(--white) !important;
  border: 3px solid var(--purple) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 1.8rem !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.2) !important;
}

/* PET CARD BODY */
.pet-card-body {
  padding: 65px 24px 24px !important;
  position: relative !important;
}

/* PET HEADER INFO */
.pet-card-header-info {
  text-align: center !important;
  margin-bottom: 16px !important;
}
.pet-card-nickname {
  font-family: 'Chewy', cursive !important;
  font-size: 1.8rem !important;
  color: var(--purple-dark) !important;
  margin-bottom: 6px !important;
  text-shadow: 2px 2px 0 var(--pink-light) !important;
}
.pet-card-species {
  font-size: 0.95rem !important;
  color: var(--text-light) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  margin-bottom: 4px !important;
}
.pet-card-level {
  font-size: 0.85rem !important;
  color: var(--text) !important;
  font-weight: 600 !important;
  background: rgba(153,102,255,0.1) !important;
  padding: 4px 12px !important;
  border-radius: 15px !important;
  display: inline-block !important;
}
.pet-last-seen {
  text-align: center !important;
  font-size: 0.8rem !important;
  color: var(--text-light) !important;
  margin-bottom: 12px !important;
  font-weight: 500 !important;
}

/* ACHIEVEMENTS */
.achievements-row {
  display: flex !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  margin-bottom: 12px !important;
}
.ach-badge {
  background: linear-gradient(135deg, var(--yellow), var(--orange)) !important;
  color: var(--text) !important;
  font-family: 'Chewy', cursive !important;
  font-size: 0.75rem !important;
  padding: 4px 10px !important;
  border-radius: 15px !important;
  border: 2px solid rgba(255,255,255,0.6) !important;
  font-weight: 600 !important;
  box-shadow: 0 2px 6px rgba(255,153,51,0.3) !important;
}
.ach-badge.trained { background: linear-gradient(135deg, var(--purple), var(--purple-light)) !important; color: var(--white) !important; }

/* SADNESS WARNING */
.sadness-warning {
  background: linear-gradient(135deg, #ffe6e6, #ffcccc) !important;
  border: 3px solid #ff6b6b !important;
  border-radius: 20px !important;
  padding: 10px 16px !important;
  text-align: center !important;
  font-family: 'Chewy', cursive !important;
  font-size: 0.95rem !important;
  color: #cc0000 !important;
  margin-bottom: 12px !important;
  font-weight: 600 !important;
  animation: pulse-warning 2s ease-in-out infinite !important;
}
@keyframes pulse-warning {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.02); }
}

/* STAT BARS */
.stat-bars {
  margin: 16px 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}
.stat-row, .xp-row {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}
.stat-label, .xp-label {
  font-family: 'Chewy', cursive !important;
  font-size: 0.9rem !important;
  color: var(--text) !important;
  min-width: 85px !important;
  font-weight: 600 !important;
}
.stat-bar-wrap, .xp-bar-wrap {
  flex: 1 !important;
  height: 20px !important;
  background: rgba(153,102,255,0.15) !important;
  border: 2px solid var(--border) !important;
  border-radius: 15px !important;
  overflow: hidden !important;
  position: relative !important;
}
.stat-bar-fill {
  height: 100% !important;
  transition: width 0.4s ease !important;
  border-radius: 12px !important;
  position: relative !important;
  box-shadow: inset 0 2px 4px rgba(255,255,255,0.3) !important;
}
.stat-bar-fill.hunger {
  background: linear-gradient(90deg, #ff9966, #ff6699) !important;
}
.stat-bar-fill.happiness {
  background: linear-gradient(90deg, #ffdd00, #ff9933) !important;
}
.stat-bar-fill.energy {
  background: linear-gradient(90deg, #66ff99, #33ccaa) !important;
}
.xp-bar-fill {
  height: 100% !important;
  background: linear-gradient(90deg, var(--purple), var(--pink)) !important;
  transition: width 0.4s ease !important;
  border-radius: 12px !important;
  box-shadow: inset 0 2px 4px rgba(255,255,255,0.3) !important;
}
.stat-value, .xp-value {
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  color: var(--text) !important;
  min-width: 60px !important;
  text-align: right !important;
  font-family: 'Fredoka', cursive !important;
}

/* PET ACTIONS */
.pet-actions {
  display: flex !important;
  gap: 10px !important;
  margin: 16px 0 !important;
}
.btn-action {
  flex: 1 !important;
  font-family: 'Chewy', cursive !important;
  font-size: 1rem !important;
  padding: 12px 20px !important;
  border-radius: 25px !important;
  border: 3px solid transparent !important;
  cursor: pointer !important;
  transition: all 0.2s !important;
  font-weight: 600 !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
}
.btn-action:hover:not(:disabled) {
  transform: translateY(-3px) !important;
  box-shadow: 0 6px 16px rgba(0,0,0,0.25) !important;
}
.btn-action:disabled {
  opacity: 0.5 !important;
  cursor: not-allowed !important;
}
.btn-feed {
  background: linear-gradient(135deg, #ff9966, #ff6699) !important;
  color: var(--white) !important;
  border-color: rgba(255,255,255,0.4) !important;
}
.btn-play {
  background: linear-gradient(135deg, #66ff99, #33ccaa) !important;
  color: var(--white) !important;
  border-color: rgba(255,255,255,0.4) !important;
}

/* USE ITEM SECTION */
.use-item-section {
  margin-top: 16px !important;
  padding-top: 16px !important;
  border-top: 2px solid rgba(153,102,255,0.2) !important;
}
.use-item-label {
  font-family: 'Chewy', cursive !important;
  font-size: 1rem !important;
  color: var(--purple-dark) !important;
  margin-bottom: 10px !important;
  font-weight: 600 !important;
}
.use-item-row {
  display: flex !important;
  gap: 10px !important;
  margin-bottom: 8px !important;
}
.item-select {
  flex: 1 !important;
  padding: 10px 14px !important;
  border: 3px solid var(--border) !important;
  border-radius: 20px !important;
  font-family: 'Fredoka', cursive !important;
  font-size: 0.9rem !important;
  background: rgba(255,255,255,0.9) !important;
  color: var(--text) !important;
  cursor: pointer !important;
  transition: all 0.2s !important;
}
.item-select:focus {
  outline: none !important;
  border-color: var(--purple) !important;
  box-shadow: 0 0 0 3px rgba(153,102,255,0.2) !important;
}
.btn-use-item {
  font-family: 'Chewy', cursive !important;
  font-size: 0.95rem !important;
  padding: 10px 24px !important;
  border-radius: 25px !important;
  background: linear-gradient(135deg, var(--yellow), var(--orange)) !important;
  color: var(--text) !important;
  border: 3px solid rgba(255,255,255,0.5) !important;
  cursor: pointer !important;
  transition: all 0.2s !important;
  font-weight: 600 !important;
  box-shadow: 0 3px 8px rgba(0,0,0,0.15) !important;
}
.btn-use-item:hover:not(:disabled) {
  transform: translateY(-2px) !important;
  box-shadow: 0 5px 12px rgba(0,0,0,0.25) !important;
}
.btn-use-item:disabled {
  opacity: 0.7 !important;
  cursor: not-allowed !important;
  background: linear-gradient(135deg, #cccccc, #999999) !important;
}
.item-effect-preview {
  font-size: 0.85rem !important;
  color: var(--text-light) !important;
  margin-top: 6px !important;
  font-weight: 500 !important;
  font-style: italic !important;
}

/* STAT FLASH */
.stat-flash {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  background: rgba(255,255,255,0.98) !important;
  border: 3px solid var(--purple) !important;
  border-radius: 25px !important;
  padding: 16px 28px !important;
  font-family: 'Chewy', cursive !important;
  font-size: 1.2rem !important;
  color: var(--purple-dark) !important;
  opacity: 0 !important;
  pointer-events: none !important;
  z-index: 10 !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.3) !important;
  text-align: center !important;
  font-weight: 600 !important;
}
.stat-flash.show {
  animation: flash-appear 1.5s ease-out !important;
}
@keyframes flash-appear {
  0% { opacity: 0; transform: translate(-50%, -50%) scale(0.8); }
  20% { opacity: 1; transform: translate(-50%, -50%) scale(1.1); }
  80% { opacity: 1; transform: translate(-50%, -50%) scale(1); }
  100% { opacity: 0; transform: translate(-50%, -50%) scale(0.9); }
}

/* EMPTY STATE */
.empty-state {
  text-align: center !important;
  padding: 60px 30px !important;
  background: linear-gradient(135deg, rgba(255,255,255,0.9), rgba(255,255,255,0.7)) !important;
  border: 4px solid var(--border) !important;
  border-radius: var(--radius-xl) !important;
  box-shadow: 0 8px 24px rgba(153,102,255,0.2) !important;
}

/* ========== SHOP SECTION ========== */
.shop-tabs {
  display: flex !important;
  gap: 10px !important;
  margin-bottom: 28px !important;
  justify-content: center !important;
}
.shop-tab {
  font-family: 'Chewy', cursive !important;
  font-size: 1.1rem !important;
  padding: 12px 32px !important;
  border-radius: 30px !important;
  background: rgba(255,255,255,0.6) !important;
  border: 3px solid var(--border) !important;
  color: var(--text) !important;
  cursor: pointer !important;
  transition: all 0.2s !important;
  font-weight: 600 !important;
}
.shop-tab:hover {
  background: rgba(255,255,255,0.9) !important;
  transform: translateY(-2px) !important;
}
.shop-tab.active {
  background: linear-gradient(135deg, var(--purple), var(--pink)) !important;
  color: var(--white) !important;
  border-color: var(--purple) !important;
  box-shadow: 0 6px 20px rgba(153,102,255,0.4) !important;
}

.shop-grid, .inventory-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important;
  gap: 24px !important;
  margin-top: 20px !important;
}

.shop-card {
  background: var(--white) !important;
  border: 4px solid var(--border) !important;
  border-radius: var(--radius-xl) !important;
  padding: 24px 20px !important;
  text-align: center !important;
  box-shadow: 0 8px 24px rgba(153,102,255,0.25) !important;
  transition: all 0.3s !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 12px !important;
}
.shop-card:hover {
  transform: translateY(-8px) scale(1.02) !important;
  box-shadow: 0 16px 40px rgba(153,102,255,0.35) !important;
}

.shop-item-icon {
  width: 100px !important;
  height: 100px !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, var(--purple-light), var(--pink-light)) !important;
  border: 4px solid var(--purple) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 3.5rem !important;
  margin: 0 auto 8px !important;
  box-shadow: 0 6px 20px rgba(153,102,255,0.3) !important;
  overflow: hidden !important;
}
.shop-item-icon img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.shop-item-name {
  font-family: 'Chewy', cursive !important;
  font-size: 1.4rem !important;
  color: var(--purple-dark) !important;
  font-weight: 600 !important;
  margin-top: 4px !important;
  text-shadow: 1px 1px 0 var(--pink-light) !important;
}

.shop-item-desc {
  font-size: 0.9rem !important;
  color: var(--text) !important;
  line-height: 1.6 !important;
  flex: 1 !important;
  font-weight: 500 !important;
  min-height: 40px !important;
}

.shop-effects {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  justify-content: center !important;
  margin: 8px 0 !important;
}
.effect-tag {
  background: linear-gradient(135deg, var(--green), #3ab85a) !important;
  color: var(--white) !important;
  font-size: 0.75rem !important;
  padding: 4px 10px !important;
  border-radius: 15px !important;
  border: 2px solid rgba(255,255,255,0.5) !important;
  font-weight: 700 !important;
  box-shadow: 0 2px 6px rgba(93,222,122,0.3) !important;
  font-family: 'Fredoka', cursive !important;
}

.shop-item-price {
  font-family: 'Chewy', cursive !important;
  font-size: 1.2rem !important;
  color: var(--purple-dark) !important;
  background: var(--purple-light) !important;
  padding: 8px 20px !important;
  border-radius: 25px !important;
  border: 2px solid var(--purple) !important;
  font-weight: 600 !important;
  margin: 4px 0 !important;
}

.btn-buy {
  width: 100% !important;
  font-family: 'Chewy', cursive !important;
  font-size: 1.05rem !important;
  padding: 12px 24px !important;
  border-radius: 30px !important;
  background: linear-gradient(135deg, var(--yellow), var(--orange)) !important;
  color: var(--text) !important;
  border: 3px solid rgba(255,255,255,0.5) !important;
  cursor: pointer !important;
  transition: all 0.2s !important;
  font-weight: 600 !important;
  box-shadow: 0 4px 12px rgba(255,153,51,0.3) !important;
}
.btn-buy:hover:not(:disabled) {
  transform: translateY(-3px) !important;
  box-shadow: 0 6px 16px rgba(255,153,51,0.4) !important;
}
.btn-buy:disabled {
  opacity: 0.5 !important;
  cursor: not-allowed !important;
  background: #ccc !important;
  color: #888 !important;
}

/* Inventory items */
.inv-card {
  background: var(--white) !important;
  border: 4px solid var(--border) !important;
  border-radius: var(--radius-xl) !important;
  padding: 20px !important;
  text-align: center !important;
  box-shadow: 0 6px 20px rgba(153,102,255,0.2) !important;
  transition: all 0.3s !important;
}
.inv-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 12px 30px rgba(153,102,255,0.3) !important;
}
.inv-item-icon {
  width: 80px !important;
  height: 80px !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, var(--purple-light), var(--pink-light)) !important;
  border: 3px solid var(--purple) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 3rem !important;
  margin: 0 auto 10px !important;
  box-shadow: 0 4px 12px rgba(153,102,255,0.25) !important;
}
.inv-item-name {
  font-family: 'Chewy', cursive !important;
  font-size: 1.2rem !important;
  color: var(--purple-dark) !important;
  font-weight: 600 !important;
  margin-bottom: 6px !important;
}
.inv-item-qty {
  font-size: 0.95rem !important;
  color: var(--text-light) !important;
  font-weight: 700 !important;
  background: rgba(153,102,255,0.1) !important;
  padding: 4px 12px !important;
  border-radius: 15px !important;
  display: inline-block !important;
  margin-top: 6px !important;
}

/* ========== MINIGAMES SECTION ========== */
.games-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) !important;
  gap: 28px !important;
  margin-top: 28px !important;
}

.game-card {
  background: var(--white) !important;
  border: 4px solid var(--border) !important;
  border-radius: var(--radius-xl) !important;
  padding: 28px 24px !important;
  box-shadow: 0 8px 24px rgba(153,102,255,0.25) !important;
  transition: all 0.3s !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}
.game-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 14px 35px rgba(153,102,255,0.35) !important;
}

.game-title {
  font-family: 'Chewy', cursive !important;
  font-size: 1.8rem !important;
  color: var(--purple-dark) !important;
  text-align: center !important;
  margin-bottom: 8px !important;
  text-shadow: 2px 2px 0 var(--pink-light) !important;
}

.game-desc {
  font-size: 0.95rem !important;
  color: var(--text) !important;
  line-height: 1.6 !important;
  text-align: center !important;
  font-weight: 500 !important;
}

.game-reward {
  font-family: 'Chewy', cursive !important;
  font-size: 1rem !important;
  color: var(--yellow) !important;
  background: linear-gradient(135deg, var(--purple), var(--pink)) !important;
  padding: 8px 16px !important;
  border-radius: 25px !important;
  text-align: center !important;
  font-weight: 600 !important;
  border: 3px solid rgba(255,255,255,0.3) !important;
  box-shadow: 0 4px 12px rgba(153,102,255,0.3) !important;
  -webkit-text-fill-color: var(--yellow) !important;
}

.game-area {
  background: rgba(153,102,255,0.08) !important;
  border-radius: var(--radius) !important;
  padding: 24px 20px !important;
  text-align: center !important;
  border: 2px solid rgba(153,102,255,0.2) !important;
}

.cooldown-msg {
  font-family: 'Chewy', cursive !important;
  font-size: 1.1rem !important;
  color: var(--text-light) !important;
  padding: 16px !important;
  background: rgba(255,221,0,0.15) !important;
  border-radius: 20px !important;
  border: 3px solid var(--yellow) !important;
  font-weight: 600 !important;
}

.game-result {
  font-family: 'Chewy', cursive !important;
  font-size: 1.3rem !important;
  color: var(--purple-dark) !important;
  margin-top: 16px !important;
  padding: 12px !important;
  border-radius: 20px !important;
  font-weight: 600 !important;
  min-height: 45px !important;
}

/* Dice Game */
.dice-wrap {
  display: flex !important;
  gap: 20px !important;
  justify-content: center !important;
  margin: 20px 0 !important;
}
.die {
  width: 70px !important;
  height: 70px !important;
  background: linear-gradient(135deg, var(--white), var(--cream)) !important;
  border: 4px solid var(--purple) !important;
  border-radius: 16px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 3rem !important;
  box-shadow: 0 6px 20px rgba(153,102,255,0.3) !important;
  transition: transform 0.3s !important;
}

/* Guess Game */
.guess-input {
  width: 120px !important;
  height: 60px !important;
  font-family: 'Chewy', cursive !important;
  font-size: 2rem !important;
  text-align: center !important;
  border: 4px solid var(--border) !important;
  border-radius: 20px !important;
  background: var(--white) !important;
  color: var(--purple-dark) !important;
  transition: all 0.2s !important;
}
.guess-input:focus {
  outline: none !important;
  border-color: var(--purple) !important;
  box-shadow: 0 0 0 4px rgba(153,102,255,0.2) !important;
  transform: scale(1.05) !important;
}
.attempts-left {
  margin-top: 14px !important;
  font-size: 0.95rem !important;
  color: var(--text-light) !important;
  font-weight: 700 !important;
}

/* Memory Game */
.memory-stats {
  display: flex !important;
  justify-content: space-around !important;
  margin-bottom: 20px !important;
  padding: 12px !important;
  background: rgba(255,255,255,0.6) !important;
  border-radius: 20px !important;
  border: 2px solid rgba(153,102,255,0.2) !important;
  font-size: 0.95rem !important;
  color: var(--text) !important;
  font-weight: 600 !important;
}
.memory-stats strong {
  color: var(--purple-dark) !important;
  font-family: 'Chewy', cursive !important;
}
.memory-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 12px !important;
  margin: 20px 0 !important;
  max-width: 400px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.memory-card {
  aspect-ratio: 1 !important;
  background: linear-gradient(135deg, var(--purple-light), var(--pink-light)) !important;
  border: 3px solid var(--purple) !important;
  border-radius: 16px !important;
  font-size: 2rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all 0.3s !important;
  box-shadow: 0 4px 12px rgba(153,102,255,0.25) !important;
}
.memory-card:hover:not(.flipped):not(.matched) {
  transform: scale(1.05) !important;
  box-shadow: 0 6px 16px rgba(153,102,255,0.35) !important;
}
.memory-card.flipped {
  background: var(--white) !important;
  transform: rotateY(180deg) !important;
}
.memory-card.matched {
  background: linear-gradient(135deg, var(--green), #3ab85a) !important;
  border-color: var(--green) !important;
  cursor: default !important;
  animation: match-pulse 0.5s ease !important;
}
@keyframes match-pulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.15); }
}

/* ========== NEW MINIGAMES STYLES ========== */

/* Treasure Wheel */
#wheel-canvas {
  display: block;
  margin: 20px auto;
  cursor: pointer;
}

/* Whack-a-Mole */
.whack-stats {
  display: flex;
  justify-content: space-around;
  margin-bottom: 20px;
  font-size: 0.9rem;
}
.whack-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
  margin: 20px 0;
  max-width: 400px;
  margin-left: auto;
  margin-right: auto;
}
.whack-hole {
  aspect-ratio: 1;
  background: linear-gradient(135deg, #8b6f47, #654321);
  border-radius: 50% 50% 0 0;
  position: relative;
  cursor: pointer;
  overflow: hidden;
  border: 3px solid var(--purple-dark);
}
.mole {
  position: absolute;
  bottom: -60px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 2.5rem;
  transition: bottom 0.2s ease-out;
  user-select: none;
  pointer-events: none;
}
.mole.active {
  bottom: 10px;
}
.mole.hit {
  animation: mole-hit 0.3s ease-out;
}
@keyframes mole-hit {
  0% { transform: translateX(-50%) scale(1) rotate(0deg); }
  50% { transform: translateX(-50%) scale(1.3) rotate(15deg); }
  100% { transform: translateX(-50%) scale(0.8) rotate(-15deg); opacity: 0; }
}

/* Shell Game */
.shell-stats {
  text-align: center;
  margin-bottom: 20px;
  font-size: 1.1rem;
}
.shell-row {
  display: flex;
  justify-content: center;
  gap: 30px;
  margin: 30px 0;
}
.shell {
  font-size: 4rem;
  cursor: pointer;
  transition: transform 0.2s;
  user-select: none;
}
.shell:hover {
  transform: scale(1.1);
}
.shell.shuffle {
  animation: shell-shuffle 0.4s ease-in-out;
}
@keyframes shell-shuffle {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-20px); }
}

/* Typing Challenge */
.typing-stats {
  display: flex;
  justify-content: space-around;
  margin-bottom: 20px;
  font-size: 0.9rem;
}
.typing-target {
  background: var(--card-bg);
  border: 2px dashed var(--purple);
  border-radius: 12px;
  padding: 20px;
  margin: 20px 0;
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
  color: var(--purple-dark);
  min-height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.typing-input {
  width: 100%;
  padding: 15px;
  font-size: 1.2rem;
  border: 2px solid var(--purple);
  border-radius: 12px;
  margin-bottom: 15px;
  text-align: center;
  font-family: 'Fredoka', cursive;
}
.typing-input:focus {
  outline: none;
  border-color: var(--pink);
  box-shadow: 0 0 0 3px rgba(255, 102, 204, 0.2);
}

/* Fishing Game */
.fishing-stats {
  display: flex;
  justify-content: space-around;
  margin-bottom: 20px;
  font-size: 0.9rem;
}
.fishing-pond {
  background: linear-gradient(180deg, #87CEEB 0%, #4682B4 100%);
  border-radius: 12px;
  height: 200px;
  position: relative;
  margin: 20px 0;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pond-text {
  font-size: 1.2rem;
  color: white;
  text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
}
.fishing-line {
  position: absolute;
  top: -50px;
  left: 50%;
  transform: translateX(-50%);
  width: 3px;
  height: 250px;
  background: var(--purple-dark);
  animation: cast-line 1.5s ease-out forwards;
}
.fishing-hook {
  position: absolute;
  bottom: -30px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 2rem;
}
@keyframes cast-line {
  0% { top: -50px; }
  100% { top: 20px; }
}

/* ========== NEWS SECTION ========== */
#news-container {
  display: flex !important;
  flex-direction: column !important;
  gap: 24px !important;
  margin-top: 24px !important;
}

.news-card {
  background: var(--white) !important;
  border: 4px solid var(--border) !important;
  border-radius: var(--radius-xl) !important;
  padding: 28px 32px !important;
  box-shadow: 0 8px 24px rgba(153,102,255,0.25) !important;
  transition: all 0.3s !important;
}
.news-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 14px 35px rgba(153,102,255,0.35) !important;
}

.news-date {
  font-size: 0.85rem !important;
  color: var(--text-light) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  margin-bottom: 8px !important;
  background: rgba(153,102,255,0.1) !important;
  padding: 4px 12px !important;
  border-radius: 15px !important;
  display: inline-block !important;
}

.news-title {
  font-family: 'Chewy', cursive !important;
  font-size: 1.8rem !important;
  color: var(--purple-dark) !important;
  margin-bottom: 12px !important;
  text-shadow: 2px 2px 0 var(--pink-light) !important;
}

.news-body {
  font-size: 1rem !important;
  color: var(--text) !important;
  line-height: 1.7 !important;
  font-weight: 500 !important;
}

/* ========== TWITCH SECTION ========== */
.section-header {
  text-align: center !important;
  margin: 40px 0 20px !important;
}
.section-header h2 {
  font-family: 'Chewy', cursive !important;
  font-size: 2rem !important;
  color: var(--purple-dark) !important;
  margin-bottom: 12px !important;
  text-shadow: 2px 2px 0 var(--pink-light) !important;
}
.section-line {
  width: 100px !important;
  height: 4px !important;
  background: linear-gradient(90deg, var(--pink), var(--purple)) !important;
  border-radius: 4px !important;
  margin: 0 auto !important;
}

.team-page-link {
  display: block !important;
  text-align: center !important;
  font-family: 'Chewy', cursive !important;
  font-size: 1.2rem !important;
  color: var(--white) !important;
  background: linear-gradient(135deg, #9146ff, #772ce8) !important;
  padding: 16px 32px !important;
  border-radius: 30px !important;
  margin: 20px auto !important;
  max-width: 400px !important;
  border: 3px solid rgba(255,255,255,0.3) !important;
  box-shadow: 0 6px 20px rgba(145,70,255,0.4) !important;
  transition: all 0.3s !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
.team-page-link:hover {
  transform: translateY(-4px) scale(1.03) !important;
  box-shadow: 0 10px 30px rgba(145,70,255,0.5) !important;
  color: var(--white) !important;
}

.team-showcase {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
  gap: 24px !important;
  margin-top: 28px !important;
}

.streamer-card {
  background: var(--white) !important;
  border: 4px solid var(--border) !important;
  border-radius: var(--radius-xl) !important;
  padding: 24px 20px !important;
  text-align: center !important;
  box-shadow: 0 8px 24px rgba(153,102,255,0.25) !important;
  transition: all 0.3s !important;
  position: relative !important;
  overflow: hidden !important;
}
.streamer-card:hover {
  transform: translateY(-8px) scale(1.02) !important;
  box-shadow: 0 16px 40px rgba(153,102,255,0.35) !important;
}
.streamer-card.live::before {
  content: '🔴 LIVE' !important;
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  background: #ff0000 !important;
  color: var(--white) !important;
  font-family: 'Chewy', cursive !important;
  font-size: 0.75rem !important;
  padding: 6px 12px !important;
  border-radius: 20px !important;
  font-weight: 700 !important;
  animation: pulse-live 2s ease-in-out infinite !important;
  box-shadow: 0 0 20px rgba(255,0,0,0.6) !important;
}
@keyframes pulse-live {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.05); opacity: 0.9; }
}

.streamer-avatar {
  width: 100px !important;
  height: 100px !important;
  border-radius: 50% !important;
  border: 4px solid var(--purple) !important;
  background: linear-gradient(135deg, var(--purple-light), var(--pink-light)) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 3rem !important;
  margin: 0 auto 12px !important;
  box-shadow: 0 6px 20px rgba(153,102,255,0.3) !important;
  overflow: hidden !important;
}
.streamer-avatar img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.streamer-name {
  font-family: 'Chewy', cursive !important;
  font-size: 1.4rem !important;
  color: var(--purple-dark) !important;
  margin-bottom: 6px !important;
  text-shadow: 1px 1px 0 var(--pink-light) !important;
}

.streamer-pet {
  font-size: 0.9rem !important;
  color: var(--text-light) !important;
  font-weight: 700 !important;
  background: rgba(153,102,255,0.1) !important;
  padding: 4px 12px !important;
  border-radius: 15px !important;
  display: inline-block !important;
  margin-bottom: 12px !important;
}

.streamer-links {
  display: flex !important;
  gap: 10px !important;
  justify-content: center !important;
  margin-top: 12px !important;
}
.streamer-link {
  font-family: 'Chewy', cursive !important;
  font-size: 0.95rem !important;
  padding: 8px 20px !important;
  border-radius: 25px !important;
  background: linear-gradient(135deg, #9146ff, #772ce8) !important;
  color: var(--white) !important;
  border: 2px solid rgba(255,255,255,0.3) !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  transition: all 0.2s !important;
  font-weight: 600 !important;
  box-shadow: 0 4px 12px rgba(145,70,255,0.3) !important;
}
.streamer-link:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 6px 16px rgba(145,70,255,0.4) !important;
  color: var(--white) !important;
}

.twitch-card {
  background: var(--white) !important;
  border: 4px solid var(--border) !important;
  border-radius: var(--radius-xl) !important;
  padding: 32px 28px !important;
  max-width: 600px !important;
  margin: 30px auto !important;
  box-shadow: 0 10px 30px rgba(153,102,255,0.25) !important;
  text-align: center !important;
}
.twitch-card h2 {
  font-family: 'Chewy', cursive !important;
  font-size: 2rem !important;
  color: var(--purple-dark) !important;
  margin-bottom: 12px !important;
  text-shadow: 2px 2px 0 var(--pink-light) !important;
}
.twitch-card p {
  font-size: 1.05rem !important;
  color: var(--text) !important;
  line-height: 1.6 !important;
  margin-bottom: 20px !important;
  font-weight: 500 !important;
}

.btn-twitch {
  font-family: 'Chewy', cursive !important;
  font-size: 1.2rem !important;
  padding: 16px 40px !important;
  border-radius: 35px !important;
  background: linear-gradient(135deg, #9146ff, #772ce8) !important;
  color: var(--white) !important;
  border: 3px solid rgba(255,255,255,0.3) !important;
  cursor: pointer !important;
  transition: all 0.3s !important;
  font-weight: 600 !important;
  box-shadow: 0 6px 20px rgba(145,70,255,0.4) !important;
}
.btn-twitch:hover {
  transform: translateY(-4px) scale(1.05) !important;
  box-shadow: 0 10px 30px rgba(145,70,255,0.5) !important;
}

.linked-panel {
  background: rgba(145,70,255,0.08) !important;
  border-radius: var(--radius) !important;
  padding: 24px !important;
  margin-bottom: 16px !important;
  border: 2px solid rgba(145,70,255,0.2) !important;
}
.linked-panel h3 {
  font-family: 'Chewy', cursive !important;
  font-size: 1.5rem !important;
  color: var(--purple-dark) !important;
  margin-bottom: 10px !important;
}

.reward-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 16px 0 !important;
  text-align: left !important;
  max-width: 400px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.reward-list li {
  padding: 8px 0 !important;
  font-size: 0.95rem !important;
  color: var(--text) !important;
  font-weight: 600 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

.status-badge {
  font-size: 0.75rem !important;
  padding: 4px 10px !important;
  border-radius: 15px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  font-family: 'Fredoka', cursive !important;
}
.status-badge.claimed {
  background: linear-gradient(135deg, var(--green), #3ab85a) !important;
  color: var(--white) !important;
}
.status-badge.not-claimed {
  background: rgba(153,102,255,0.2) !important;
  color: var(--purple-dark) !important;
}

.token-box {
  background: rgba(255,221,0,0.15) !important;
  border: 3px solid var(--yellow) !important;
  border-radius: var(--radius-xl) !important;
  padding: 24px !important;
  margin-bottom: 24px !important;
  max-width: 600px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.token-box h3 {
  font-family: 'Chewy', cursive !important;
  font-size: 1.5rem !important;
  color: var(--purple-dark) !important;
  margin-bottom: 10px !important;
}
.token-textarea {
  width: 100% !important;
  min-height: 120px !important;
  padding: 14px !important;
  border: 3px solid var(--border) !important;
  border-radius: 20px !important;
  font-family: 'Courier New', monospace !important;
  font-size: 0.85rem !important;
  background: var(--white) !important;
  color: var(--text) !important;
  resize: vertical !important;
}

/* ========== REDEEM SECTION ========== */
.redeem-card {
  background: var(--white) !important;
  border: 4px solid var(--border) !important;
  border-radius: var(--radius-xl) !important;
  padding: 40px 36px !important;
  max-width: 550px !important;
  margin: 30px auto !important;
  box-shadow: 0 10px 30px rgba(153,102,255,0.25) !important;
  text-align: center !important;
}

.redeem-icon {
  font-size: 4rem !important;
  margin-bottom: 16px !important;
  animation: float 3s ease-in-out infinite !important;
}

.redeem-card h2 {
  font-family: 'Chewy', cursive !important;
  font-size: 2.2rem !important;
  color: var(--purple-dark) !important;
  margin-bottom: 12px !important;
  text-shadow: 2px 2px 0 var(--pink-light) !important;
}

.redeem-card p {
  font-size: 1rem !important;
  color: var(--text) !important;
  line-height: 1.7 !important;
  margin-bottom: 24px !important;
  font-weight: 500 !important;
}

.redeem-input-row {
  display: flex !important;
  gap: 12px !important;
  margin-bottom: 20px !important;
}

.redeem-input {
  flex: 1 !important;
  padding: 16px 20px !important;
  border: 4px solid var(--border) !important;
  border-radius: 25px !important;
  font-family: 'Fredoka', cursive !important;
  font-size: 1.1rem !important;
  text-align: center !important;
  background: var(--white) !important;
  color: var(--text) !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  transition: all 0.2s !important;
}
.redeem-input:focus {
  outline: none !important;
  border-color: var(--purple) !important;
  box-shadow: 0 0 0 4px rgba(153,102,255,0.2) !important;
  transform: scale(1.02) !important;
}
.redeem-input::placeholder {
  color: var(--text-light) !important;
  opacity: 0.6 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}

.btn-redeem {
  font-family: 'Chewy', cursive !important;
  font-size: 1.15rem !important;
  padding: 16px 32px !important;
  border-radius: 30px !important;
  background: linear-gradient(135deg, var(--yellow), var(--orange)) !important;
  color: var(--text) !important;
  border: 3px solid rgba(255,255,255,0.5) !important;
  cursor: pointer !important;
  transition: all 0.3s !important;
  font-weight: 600 !important;
  box-shadow: 0 6px 20px rgba(255,153,51,0.4) !important;
  white-space: nowrap !important;
}
.btn-redeem:hover:not(:disabled) {
  transform: translateY(-4px) scale(1.05) !important;
  box-shadow: 0 10px 30px rgba(255,153,51,0.5) !important;
}
.btn-redeem:disabled {
  opacity: 0.5 !important;
  cursor: not-allowed !important;
}

.redeem-result {
  font-family: 'Chewy', cursive !important;
  font-size: 1.2rem !important;
  padding: 16px 20px !important;
  border-radius: 25px !important;
  margin-top: 20px !important;
  font-weight: 600 !important;
  display: none !important;
}
.redeem-result.show {
  display: block !important;
}
.redeem-result.success {
  background: linear-gradient(135deg, #e6ffe6, #ccffcc) !important;
  border: 3px solid var(--green) !important;
  color: #008800 !important;
}
.redeem-result.error {
  background: linear-gradient(135deg, #ffe6e6, #ffcccc) !important;
  border: 3px solid #ff6b6b !important;
  color: #cc0000 !important;
}
/* CUSTOM PAW CURSOR */
body {
  cursor: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><circle cx="12" cy="16" r="4" fill="%239966ff"/><circle cx="7" cy="9" r="2.5" fill="%239966ff"/><circle cx="12" cy="7" r="2.5" fill="%239966ff"/><circle cx="17" cy="9" r="2.5" fill="%239966ff"/><circle cx="9" cy="13" r="2" fill="%239966ff"/><circle cx="15" cy="13" r="2" fill="%239966ff"/></svg>'), auto !important;
}
a, button, .nav-tab, .btn, input[type="range"], .quicklink-card, .shop-card, .pet-card, .sidebar-nav-btn, .streamer-item {
  cursor: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><circle cx="12" cy="16" r="4" fill="%23ff66cc"/><circle cx="7" cy="9" r="2.5" fill="%23ff66cc"/><circle cx="12" cy="7" r="2.5" fill="%23ff66cc"/><circle cx="17" cy="9" r="2.5" fill="%23ff66cc"/><circle cx="9" cy="13" r="2" fill="%23ff66cc"/><circle cx="15" cy="13" r="2" fill="%23ff66cc"/></svg>'), pointer !important;
}

/* FLOATING SPARKLES BACKGROUND */
body::after {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
  background-image: 
    radial-gradient(circle at 10% 20%, rgba(255,255,255,0.8) 0%, transparent 2%),
    radial-gradient(circle at 90% 80%, rgba(255,255,255,0.6) 0%, transparent 2%),
    radial-gradient(circle at 50% 50%, rgba(255,255,255,0.7) 0%, transparent 2%),
    radial-gradient(circle at 80% 30%, rgba(255,255,255,0.5) 0%, transparent 2%),
    radial-gradient(circle at 20% 70%, rgba(255,255,255,0.6) 0%, transparent 2%);
  background-size: 200px 200px, 300px 300px, 250px 250px, 180px 180px, 220px 220px;
  background-position: 0 0, 40px 60px, 130px 270px, 70px 100px, 150px 30px;
  animation: sparkle-float 8s linear infinite;
  opacity: 0.4;
}

@keyframes sparkle-float {
  0% { background-position: 0 0, 40px 60px, 130px 270px, 70px 100px, 150px 30px; }
  100% { background-position: 200px 200px, 240px 260px, 330px 470px, 270px 300px, 350px 230px; }
}

/* 3-COLUMN LAYOUT CONTAINER */
.app-container {
  display: grid !important;
  grid-template-columns: 240px 1fr 240px !important;
  gap: 20px !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 20px !important;
  position: relative !important;
  z-index: 1 !important;
}

/* HIDE OLD NAVBAR */
/* TOP HEADER BAR - OLD, REMOVED */
.top-header-bar {
  background: linear-gradient(135deg, var(--purple), var(--pink)) !important;
  padding: 12px 20px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 100 !important;
  box-shadow: 0 4px 12px rgba(153,102,255,0.3), inset 0 2px 4px rgba(255,255,255,0.2) !important;
  border-radius: 0 0 24px 24px !important;
}

.header-left {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
}

.header-logo {
  font-family: 'Chewy', cursive !important;
  font-size: 1.4rem !important;
  color: var(--white) !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  text-shadow: 2px 2px 4px rgba(0,0,0,0.2) !important;
}

.header-logo img {
  width: 36px !important;
  height: 36px !important;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,0.2)) !important;
}

.header-status {
  background: rgba(255,255,255,0.2) !important;
  border: 2px solid rgba(255,255,255,0.4) !important;
  border-radius: 20px !important;
  padding: 6px 14px !important;
  font-size: 0.85rem !important;
  color: var(--white) !important;
  font-weight: 600 !important;
  box-shadow: inset 0 1px 3px rgba(0,0,0,0.1) !important;
}

.header-right {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

.header-points {
  background: rgba(255,255,255,0.25) !important;
  border: 2px solid rgba(255,255,255,0.4) !important;
  border-radius: 20px !important;
  padding: 6px 14px !important;
  font-family: 'Chewy', cursive !important;
  font-size: 0.9rem !important;
  color: var(--white) !important;
  box-shadow: inset 0 1px 3px rgba(0,0,0,0.1) !important;
}

.header-logout {
  background: var(--yellow) !important;
  color: var(--purple-dark) !important;
  border: 2px solid rgba(255,255,255,0.5) !important;
  border-radius: 20px !important;
  padding: 6px 16px !important;
  font-family: 'Chewy', cursive !important;
  font-size: 0.85rem !important;
  cursor: pointer !important;
  transition: all 0.2s !important;
  font-weight: 600 !important;
  box-shadow: 0 3px 8px rgba(0,0,0,0.2) !important;
}

.header-logout:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 5px 12px rgba(0,0,0,0.3) !important;
}

/* LEFT SIDEBAR */
.left-sidebar {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}

/* SIDEBAR SECTIONS - Enhanced with decorative borders */
.sidebar-section {
  background: var(--white) !important;
  border: 4px solid var(--border) !important;
  border-radius: var(--radius-xl) !important;
  padding: 20px 16px !important;
  box-shadow: 
    0 0 0 2px var(--purple),
    0 6px 20px rgba(153,102,255,0.25) !important;
  position: relative !important;
}

/* Decorative corner dots */
.sidebar-section::before {
  content: '' !important;
  position: absolute !important;
  top: -6px !important;
  right: 15px !important;
  width: 10px !important;
  height: 10px !important;
  background: var(--pink) !important;
  border-radius: 50% !important;
  border: 2px solid var(--white) !important;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2) !important;
}

.sidebar-section::after {
  content: '' !important;
  position: absolute !important;
  bottom: -6px !important;
  left: 15px !important;
  width: 10px !important;
  height: 10px !important;
  background: var(--cyan) !important;
  border-radius: 50% !important;
  border: 2px solid var(--white) !important;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2) !important;
}

.sidebar-title {
  font-family: 'Chewy', cursive !important;
  font-size: 1.2rem !important;
  color: var(--purple-dark) !important;
  text-align: center !important;
  margin-bottom: 14px !important;
  text-shadow: 
    2px 2px 0 var(--pink-light),
    -1px -1px 0 rgba(255,255,255,0.8) !important;
}

.sidebar-nav-links {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

.sidebar-nav-btn {
  background: rgba(153,102,255,0.12) !important;
  border: 2px solid transparent !important;
  border-radius: 20px !important;
  padding: 12px 16px !important;
  font-family: 'Fredoka', cursive !important;
  font-size: 0.95rem !important;
  color: var(--purple-dark) !important;
  text-align: left !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  cursor: pointer !important;
  transition: all 0.2s !important;
  font-weight: 600 !important;
  box-shadow: inset 0 1px 2px rgba(0,0,0,0.05) !important;
}

.sidebar-nav-btn:hover {
  background: rgba(153,102,255,0.2) !important;
  transform: translateX(4px) !important;
  border-color: var(--purple-light) !important;
}

.sidebar-nav-btn.active {
  background: linear-gradient(135deg, var(--purple), var(--pink)) !important;
  color: var(--white) !important;
  border-color: rgba(255,255,255,0.3) !important;
  box-shadow: 
    0 0 0 2px var(--pink),
    0 4px 12px rgba(153,102,255,0.4),
    inset 0 2px 4px rgba(255,255,255,0.3) !important;
}

/* SIDEBAR STATS with dotted borders */
.sidebar-stats {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

.stat-row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  font-size: 0.9rem !important;
  padding: 8px 0 !important;
  border-bottom: 2px dotted rgba(153,102,255,0.3) !important;
}

.stat-row:last-child {
  border-bottom: none !important;
}

.stat-label {
  color: var(--text-light) !important;
  font-weight: 600 !important;
}

.stat-value {
  font-family: 'Chewy', cursive !important;
  color: var(--purple-dark) !important;
  font-size: 1.05rem !important;
  text-shadow: 1px 1px 0 rgba(255,182,230,0.4) !important;
}

/* DAILY BONUS BUTTON - Enhanced */
.daily-bonus-btn {
  background: linear-gradient(135deg, var(--yellow), var(--orange)) !important;
  color: var(--text) !important;
  border: 4px solid rgba(255,255,255,0.6) !important;
  border-radius: 25px !important;
  padding: 14px 20px !important;
  font-family: 'Chewy', cursive !important;
  font-size: 1.1rem !important;
  text-align: center !important;
  cursor: pointer !important;
  transition: all 0.3s !important;
  margin-top: 6px !important;
  box-shadow: 
    0 0 0 2px var(--pink),
    0 6px 20px rgba(255,153,51,0.4),
    inset 0 2px 4px rgba(255,255,255,0.4) !important;
  font-weight: 600 !important;
  text-shadow: 1px 1px 0 rgba(255,255,255,0.5) !important;
  position: relative !important;
}

.daily-bonus-btn::before {
  content: '⭐' !important;
  position: absolute !important;
  top: -12px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  font-size: 1.5rem !important;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,0.2)) !important;
}

.daily-bonus-btn:hover {
  transform: translateY(-4px) scale(1.05) !important;
  box-shadow: 
    0 0 0 2px var(--pink),
    0 10px 30px rgba(255,153,51,0.5),
    inset 0 2px 4px rgba(255,255,255,0.5) !important;
}

/* CENTER CONTENT */
.center-content {
  min-height: 600px !important;
  position: relative !important;
}

/* RIGHT SIDEBAR */
.right-sidebar {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}

/* STREAMERS WIDGET - Enhanced and expanded */
.streamers-widget {
  background: var(--white) !important;
  border: 4px solid var(--purple) !important;
  border-radius: var(--radius-xl) !important;
  padding: 16px !important;
  box-shadow: 
    0 0 0 2px var(--pink),
    0 6px 20px rgba(153,102,255,0.25) !important;
  position: relative !important;
  flex: 1 !important;
  min-height: 220px !important;
  max-height: 600px !important; /* Add max height */
  overflow-y: auto !important; /* Add vertical scrolling */
  overflow-x: hidden !important; /* Hide horizontal scroll */
}

/* Custom scrollbar for streamers widget */
.streamers-widget::-webkit-scrollbar {
  width: 8px !important;
}

.streamers-widget::-webkit-scrollbar-track {
  background: rgba(153, 102, 255, 0.1) !important;
  border-radius: 10px !important;
}

.streamers-widget::-webkit-scrollbar-thumb {
  background: var(--purple-light) !important;
  border-radius: 10px !important;
  transition: background 0.2s !important;
}

.streamers-widget::-webkit-scrollbar-thumb:hover {
  background: var(--purple) !important;
}

/* Firefox scrollbar */
.streamers-widget {
  scrollbar-width: thin !important;
  scrollbar-color: var(--purple-light) rgba(153, 102, 255, 0.1) !important;
}

/* LIVE indicator decoration on streamer widget */
.streamers-widget::before {
  content: '' !important;
  position: absolute !important;
  top: -8px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 14px !important;
  height: 14px !important;
  background: #ff0000 !important;
  border-radius: 50% !important;
  border: 3px solid var(--white) !important;
  box-shadow: 
    0 2px 4px rgba(0,0,0,0.2),
    0 0 12px rgba(255,0,0,0.6) !important;
  animation: pulse-live-dot 2s ease-in-out infinite !important;
}

@keyframes pulse-live-dot {
  0%, 100% { opacity: 1; transform: translateX(-50%) scale(1); }
  50% { opacity: 0.7; transform: translateX(-50%) scale(1.1); }
}

.streamer-item {
  background: rgba(153,102,255,0.08) !important;
  border: 3px solid transparent !important;
  border-radius: 16px !important;
  padding: 12px !important;
  margin-bottom: 10px !important;
  transition: all 0.2s !important;
  position: relative !important;
  box-shadow: inset 0 1px 3px rgba(0,0,0,0.05) !important;
}

.streamer-item:hover {
  background: rgba(153,102,255,0.15) !important;
  transform: translateX(3px) !important;
  border-color: var(--purple-light) !important;
}

/* LIVE streamer gets special styling */
.streamer-item.live {
  background: linear-gradient(135deg, rgba(255,0,0,0.1), rgba(255,102,204,0.1)) !important;
  border-color: var(--pink) !important;
  box-shadow: 
    0 0 0 2px rgba(255,0,0,0.2),
    0 3px 12px rgba(255,0,0,0.2),
    inset 0 1px 3px rgba(255,255,255,0.3) !important;
}

.streamer-item.live::before {
  content: '🔴 LIVE' !important;
  position: absolute !important;
  top: -8px !important;
  right: -8px !important;
  background: #ff0000 !important;
  color: var(--white) !important;
  font-family: 'Chewy', cursive !important;
  font-size: 0.7rem !important;
  padding: 4px 10px !important;
  border-radius: 12px !important;
  font-weight: 700 !important;
  border: 2px solid var(--white) !important;
  box-shadow: 
    0 2px 6px rgba(0,0,0,0.3),
    0 0 16px rgba(255,0,0,0.6) !important;
  animation: pulse-live 2s ease-in-out infinite !important;
  z-index: 10 !important;
}

@keyframes pulse-live {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.85; transform: scale(1.05); }
}

.streamer-avatar {
  width: 50px !important;
  height: 50px !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, var(--purple-light), var(--pink-light)) !important;
  border: 4px solid var(--purple) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 1.5rem !important;
  overflow: hidden !important;
  flex-shrink: 0 !important;
  box-shadow: 0 0 0 2px var(--white), 0 3px 10px rgba(153,102,255,0.3) !important;
}

.streamer-avatar img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.streamer-info {
  flex: 1 !important;
}

.streamer-name {
  font-family: 'Fredoka', cursive !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  color: var(--purple-dark) !important;
  margin-bottom: 3px !important;
}

.streamer-status {
  font-size: 0.8rem !important;
  color: var(--text-light) !important;
  font-weight: 600 !important;
}

.streamer-status.live {
  color: #ff0000 !important;
  font-weight: 700 !important;
  text-shadow: 0 0 8px rgba(255,0,0,0.4) !important;
}

.streamer-desc {
  font-size: 0.75rem !important;
  color: var(--text) !important;
  margin-top: 4px !important;
  line-height: 1.3 !important;
}

/* Watch stream button for live streamers */
.btn-watch-stream {
  width: 100% !important;
  background: linear-gradient(135deg, #9146ff, #772ce8) !important;
  border: 3px solid rgba(255,255,255,0.4) !important;
  color: var(--white) !important;
  border-radius: 18px !important;
  padding: 8px 16px !important;
  font-family: 'Chewy', cursive !important;
  font-size: 0.9rem !important;
  cursor: pointer !important;
  transition: all 0.2s !important;
  margin-top: 8px !important;
  box-shadow: 
    0 4px 12px rgba(145,70,255,0.4),
    inset 0 1px 3px rgba(255,255,255,0.3) !important;
  font-weight: 600 !important;
}

.btn-watch-stream:hover {
  transform: translateY(-2px) !important;
  box-shadow: 
    0 6px 16px rgba(145,70,255,0.5),
    inset 0 1px 3px rgba(255,255,255,0.4) !important;
}

/* NEWS WIDGET - Enhanced and expanded */
.news-widget {
  background: var(--white) !important;
  border: 4px solid var(--yellow) !important;
  border-radius: var(--radius-xl) !important;
  padding: 16px !important;
  box-shadow: 
    0 0 0 2px var(--orange),
    0 6px 20px rgba(255,153,51,0.25) !important;
  max-height: none !important;
  overflow-y: visible !important;
  flex: 1 !important;
  position: relative !important;
}

.news-widget::before {
  content: '' !important;
  position: absolute !important;
  top: -8px !important;
  right: 20px !important;
  width: 14px !important;
  height: 14px !important;
  background: var(--pink) !important;
  border-radius: 50% !important;
  border: 3px solid var(--white) !important;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2) !important;
}

.news-item {
  background: rgba(255,221,0,0.1) !important;
  border: 3px solid var(--yellow) !important;
  border-radius: 16px !important;
  padding: 12px !important;
  margin-bottom: 10px !important;
  box-shadow: inset 0 1px 3px rgba(255,255,255,0.3) !important;
  position: relative !important;
}

.news-item:last-child {
  margin-bottom: 0 !important;
}

.news-item-date {
  font-size: 0.7rem !important;
  color: var(--orange) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  margin-bottom: 4px !important;
}

.news-item-title {
  font-family: 'Fredoka', cursive !important;
  font-size: 1rem !important;
  color: var(--purple-dark) !important;
  font-weight: 700 !important;
  margin-bottom: 4px !important;
  text-shadow: 1px 1px 0 rgba(255,221,0,0.3) !important;
}

.news-item-desc {
  font-size: 0.85rem !important;
  color: var(--text) !important;
  line-height: 1.5 !important;
  font-weight: 500 !important;
}

/* RESPONSIVE - STACK ON MOBILE */
@media (max-width: 1024px) {
  .app-container {
    grid-template-columns: 1fr !important;
  }
  
  .left-sidebar, .right-sidebar {
    display: none !important;
  }
}
/* Make sidebar corner dots float and twinkle */
.sidebar-section::before {
  animation: float-and-twinkle 3s ease-in-out infinite !important;
}

.sidebar-section::after {
  animation: float-and-twinkle-delayed 3.5s ease-in-out infinite !important;
}

@keyframes float-and-twinkle {
  0%, 100% { 
    transform: translateY(0) scale(1); 
    opacity: 1;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  }
  25% {
    transform: translateY(-4px) scale(1.1);
    opacity: 0.8;
    box-shadow: 0 4px 8px rgba(0,0,0,0.3), 0 0 12px currentColor;
  }
  50% { 
    transform: translateY(0) scale(1.15);
    opacity: 1;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2), 0 0 16px currentColor;
  }
  75% {
    transform: translateY(-2px) scale(1.05);
    opacity: 0.9;
    box-shadow: 0 3px 6px rgba(0,0,0,0.25), 0 0 10px currentColor;
  }
}

@keyframes float-and-twinkle-delayed {
  0%, 100% { 
    transform: translateY(0) scale(1); 
    opacity: 1;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  }
  30% {
    transform: translateY(-3px) scale(1.12);
    opacity: 0.85;
    box-shadow: 0 4px 8px rgba(0,0,0,0.3), 0 0 14px currentColor;
  }
  60% { 
    transform: translateY(0) scale(1.08);
    opacity: 1;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2), 0 0 18px currentColor;
  }
  80% {
    transform: translateY(-5px) scale(1.15);
    opacity: 0.95;
    box-shadow: 0 3px 6px rgba(0,0,0,0.25), 0 0 12px currentColor;
  }
}

/* Animate streamers widget LIVE dot */
.streamers-widget::before {
  animation: pulse-and-float 2.5s ease-in-out infinite !important;
}

@keyframes pulse-and-float {
  0%, 100% { 
    opacity: 1; 
    transform: translateX(-50%) translateY(0) scale(1);
    box-shadow: 0 2px 4px rgba(0,0,0,0.2), 0 0 12px rgba(255,0,0,0.6);
  }
  25% {
    opacity: 0.8;
    transform: translateX(-50%) translateY(-3px) scale(1.15);
    box-shadow: 0 4px 8px rgba(0,0,0,0.3), 0 0 20px rgba(255,0,0,0.8);
  }
  50% { 
    opacity: 0.7; 
    transform: translateX(-50%) translateY(0) scale(1.2);
    box-shadow: 0 2px 4px rgba(0,0,0,0.2), 0 0 16px rgba(255,0,0,0.7);
  }
  75% {
    opacity: 0.85;
    transform: translateX(-50%) translateY(-2px) scale(1.1);
    box-shadow: 0 3px 6px rgba(0,0,0,0.25), 0 0 18px rgba(255,0,0,0.75);
  }
}

/* Animate news widget pink dot */
.news-widget::before {
  animation: sparkle-bounce 2.8s ease-in-out infinite !important;
}

@keyframes sparkle-bounce {
  0%, 100% {
    transform: translateY(0) rotate(0deg) scale(1);
    opacity: 1;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  }
  20% {
    transform: translateY(-4px) rotate(5deg) scale(1.15);
    opacity: 0.9;
    box-shadow: 0 4px 8px rgba(0,0,0,0.3), 0 0 16px rgba(255,102,204,0.8);
  }
  40% {
    transform: translateY(0) rotate(-3deg) scale(1.1);
    opacity: 1;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2), 0 0 12px rgba(255,102,204,0.6);
  }
  60% {
    transform: translateY(-2px) rotate(3deg) scale(1.2);
    opacity: 0.95;
    box-shadow: 0 3px 6px rgba(0,0,0,0.25), 0 0 20px rgba(255,102,204,0.9);
  }
  80% {
    transform: translateY(0) rotate(-2deg) scale(1.05);
    opacity: 1;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2), 0 0 14px rgba(255,102,204,0.7);
  }
}
.live-indicator {
  display: inline-block;
  background: linear-gradient(135deg, #ff0000, #ff6b6b);
  color: white;
  font-size: 0.7rem;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 12px;
  margin-left: 8px;
  animation: pulse-live 2s ease-in-out infinite;
  box-shadow: 0 0 10px rgba(255, 0, 0, 0.5);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

@keyframes pulse-live {
  0%, 100% { 
    opacity: 1; 
    transform: scale(1);
  }
  50% { 
    opacity: 0.8; 
    transform: scale(1.05);
  }
}

.watch-stream-btn {
  display: inline-block !important;
  background: linear-gradient(135deg, var(--purple), var(--pink)) !important;
  color: white !important;
  padding: 6px 12px !important;
  border-radius: 12px !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  margin-top: 6px !important;
  text-decoration: none !important;
  transition: all 0.2s !important;
  box-shadow: 0 2px 8px rgba(153, 102, 255, 0.3) !important;
}

.watch-stream-btn:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 12px rgba(255, 102, 204, 0.5) !important;
  background: linear-gradient(135deg, var(--pink), var(--purple)) !important;
}

.streamer-status {
  font-size: 0.8rem;
  color: var(--text-light);
  margin-top: 2px;
}

/* ═══════════════════════════════════════════════════════════
   SPOOKY LORE BUTTON (THEYWENTMISSING easter egg)
   ═══════════════════════════════════════════════════════════ */

.redeem-lore-btn {
  display: inline-block;
  padding: 12px 24px;
  background: linear-gradient(135deg, #1a1a1a 0%, #2d0d0d 100%);
  color: #ff3838;
  border: 2px solid #ff3838;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 600;
  text-decoration: none;
  text-align: center;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 0 20px rgba(255, 56, 56, 0.3), inset 0 0 10px rgba(255, 56, 56, 0.1);
  position: relative;
  overflow: hidden;
  animation: glitch-pulse 3s infinite;
  font-family: 'Courier New', monospace;
  letter-spacing: 1px;
}

.redeem-lore-btn:hover {
  background: linear-gradient(135deg, #2d0d0d 0%, #1a1a1a 100%);
  border-color: #ff0000;
  color: #fff;
  box-shadow: 0 0 30px rgba(255, 0, 0, 0.6), inset 0 0 20px rgba(255, 0, 0, 0.2);
  transform: translateY(-2px);
  animation: glitch-shake 0.3s infinite;
}

.redeem-lore-btn::before {
  content: '';
  position: absolute;
  top: -2px;
  left: -2px;
  right: -2px;
  bottom: -2px;
  background: linear-gradient(45deg, transparent, rgba(255, 56, 56, 0.3), transparent);
  animation: glitch-sweep 4s infinite;
  pointer-events: none;
}

@keyframes glitch-pulse {
  0%, 100% {
    opacity: 1;
    filter: brightness(1);
  }
  50% {
    opacity: 0.9;
    filter: brightness(1.1);
  }
  85% {
    opacity: 1;
    filter: brightness(1);
  }
  87% {
    opacity: 0.7;
    filter: brightness(0.8);
  }
  89% {
    opacity: 1;
    filter: brightness(1);
  }
}

@keyframes glitch-shake {
  0%, 100% { transform: translateY(-2px) translateX(0); }
  25% { transform: translateY(-2px) translateX(-2px); }
  75% { transform: translateY(-2px) translateX(2px); }
}

@keyframes glitch-sweep {
  0% { transform: translateX(-100%) rotate(45deg); }
  100% { transform: translateX(200%) rotate(45deg); }
}

/* ═══════════════════════════════════════════════════════════
   LEADERBOARDS
   ═══════════════════════════════════════════════════════════ */

.leaderboard-tabs {
  display: flex;
  gap: 12px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}

.leaderboard-tab {
  flex: 1;
  min-width: 150px;
  padding: 14px 20px;
  background: rgba(255, 255, 255, 0.05);
  border: 2px solid var(--border);
  border-radius: 12px;
  color: var(--text);
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
}

.leaderboard-tab:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: var(--purple);
  transform: translateY(-2px);
}

.leaderboard-tab.active {
  background: linear-gradient(135deg, var(--purple), var(--pink));
  border-color: var(--pink);
  color: white;
  box-shadow: 0 4px 12px rgba(153, 102, 255, 0.4);
}

.leaderboard-container {
  position: relative;
  min-height: 400px;
}

.leaderboard-list {
  display: none;
  flex-direction: column;
  gap: 12px;
}

.leaderboard-list.active {
  display: flex;
}

.leaderboard-item {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 20px;
  background: var(--card-bg);
  border: 2px solid var(--border);
  border-radius: 16px;
  transition: all 0.3s ease;
}

.leaderboard-item:hover {
  border-color: var(--purple);
  transform: translateX(4px);
  box-shadow: 0 4px 12px rgba(153, 102, 255, 0.2);
}

.leaderboard-rank {
  font-size: 1.5rem;
  font-weight: 700;
  min-width: 50px;
  text-align: center;
  color: var(--text-light);
}

.leaderboard-rank.top1 {
  color: #FFD700;
  font-size: 2rem;
  text-shadow: 0 0 10px rgba(255, 215, 0, 0.5);
}

.leaderboard-rank.top2 {
  color: #C0C0C0;
  font-size: 1.8rem;
  text-shadow: 0 0 10px rgba(192, 192, 192, 0.5);
}

.leaderboard-rank.top3 {
  color: #CD7F32;
  font-size: 1.6rem;
  text-shadow: 0 0 10px rgba(205, 127, 50, 0.5);
}

.leaderboard-avatar {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--purple), var(--pink));
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  flex-shrink: 0;
}

.leaderboard-info {
  flex: 1;
  min-width: 0;
}

.leaderboard-username {
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--text);
  margin-bottom: 4px;
}

.leaderboard-stats {
  font-size: 0.9rem;
  color: var(--text-light);
}

.leaderboard-value {
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--yellow);
  white-space: nowrap;
}

/* ═══════════════════════════════════════════════════════════
   PUBLIC PROFILES
   ═══════════════════════════════════════════════════════════ */

.profile-header {
  display: flex;
  align-items: center;
  gap: 24px;
  padding: 32px;
  background: var(--card-bg);
  border: 2px solid var(--border);
  border-radius: 20px;
  margin-bottom: 32px;
}

.profile-avatar {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--purple), var(--pink));
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 3rem;
  font-weight: 700;
  color: white;
  flex-shrink: 0;
  box-shadow: 0 4px 16px rgba(153, 102, 255, 0.4);
}

.profile-info {
  flex: 1;
}

.profile-username {
  font-size: 2rem;
  font-weight: 700;
  color: var(--text);
  margin: 0 0 8px 0;
}

.profile-joined {
  font-size: 1rem;
  color: var(--text-light);
}

.profile-stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 16px;
  margin-bottom: 32px;
}

.profile-stat-card {
  background: var(--card-bg);
  border: 2px solid var(--border);
  border-radius: 16px;
  padding: 24px;
  text-align: center;
  transition: all 0.3s ease;
}

.profile-stat-card:hover {
  border-color: var(--purple);
  transform: translateY(-4px);
  box-shadow: 0 8px 20px rgba(153, 102, 255, 0.3);
}

.profile-stat-icon {
  font-size: 2.5rem;
  margin-bottom: 12px;
}

.profile-stat-value {
  font-size: 2rem;
  font-weight: 700;
  color: var(--yellow);
  margin-bottom: 8px;
}

.profile-stat-label {
  font-size: 0.9rem;
  color: var(--text-light);
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* Make leaderboard items clickable */
.leaderboard-item {
  cursor: pointer;
}

.leaderboard-item:active {
  transform: translateX(4px) scale(0.98);
}

    

/* ═══════════════════════════════════════════════════════════
   MY PROFILE EDIT PAGE
   ═══════════════════════════════════════════════════════════ */

.profile-preview-card {
  background: var(--card-bg);
  border: 2px solid var(--border);
  border-radius: 20px;
  padding: 24px;
  margin-bottom: 24px;
  box-shadow: 0 8px 20px rgba(0,0,0,0.08);
}

.profile-preview-card h3 {
  margin: 0 0 16px 0;
  font-size: 1.2rem;
  color: var(--primary);
}

.profile-edit-card {
  background: var(--card-bg);
  border: 2px solid var(--border);
  border-radius: 20px;
  padding: 24px;
  margin-bottom: 24px;
  box-shadow: 0 8px 20px rgba(0,0,0,0.08);
}

.profile-edit-card h3 {
  margin: 0 0 20px 0;
  font-size: 1.2rem;
  color: var(--primary);
}

.form-group {
  margin-bottom: 20px;
}

.form-group label {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
  color: var(--text);
  font-size: 0.95rem;
}

.form-input {
  width: 100%;
  padding: 12px 16px;
  border: 2px solid var(--border);
  border-radius: 12px;
  font-size: 1rem;
  font-family: inherit;
  background: var(--bg);
  color: var(--text);
  transition: all 0.2s;
  box-sizing: border-box;
}

.form-input:focus {
  outline: none;
  border-color: var(--primary);
  box-shadow: 0 0 0 3px rgba(168, 85, 247, 0.1);
}

.form-input:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  background: var(--card-bg);
}

.form-hint {
  display: block;
  margin-top: 6px;
  font-size: 0.85rem;
  color: var(--text-light);
}

.avatar-upload-placeholder {
  border: 2px dashed var(--border);
  border-radius: 12px;
  padding: 32px;
  text-align: center;
  background: var(--bg);
  color: var(--text-light);
}

.avatar-upload-placeholder .placeholder-icon {
  font-size: 3rem;
  display: block;
  margin-bottom: 12px;
}

.avatar-upload-placeholder p {
  margin: 0 0 8px 0;
  font-weight: 600;
  color: var(--text);
}

.avatar-upload-placeholder small {
  font-size: 0.85rem;
}

.profile-stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 16px;
  margin-top: 20px;
}

.profile-stat-card {
  background: var(--card-bg);
  border: 2px solid var(--border);
  border-radius: 16px;
  padding: 20px;
  text-align: center;
  transition: all 0.2s;
  position: relative;
}

.profile-stat-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0,0,0,0.1);
  border-color: var(--primary);
}

.profile-stat-card.coming-soon {
  opacity: 0.6;
}

.profile-stat-card.coming-soon small {
  position: absolute;
  top: 8px;
  right: 8px;
  background: var(--accent);
  color: white;
  padding: 2px 8px;
  border-radius: 8px;
  font-size: 0.7rem;
  font-weight: 600;
}

.stat-icon {
  font-size: 2.5rem;
  margin-bottom: 8px;
}

.stat-value {
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--primary);
  margin-bottom: 4px;
}

.stat-label {
  font-size: 0.9rem;
  color: var(--text-light);
  font-weight: 500;
}

.alert {
  padding: 12px 16px;
  border-radius: 12px;
  margin-bottom: 16px;
  font-size: 0.9rem;
}

.alert-error {
  background: #fee;
  border: 2px solid #fcc;
  color: #c33;
}

.alert-success {
  background: #efe;
  border: 2px solid #cfc;
  color: #3c3;
}

/* Profile Avatar Large Size */
.profile-avatar.large {
  width: 80px;
  height: 80px;
  font-size: 2.5rem;
}



/* ══════════════════════════════════════════════════════════════════════════
   BADGE NOTIFICATIONS
   ══════════════════════════════════════════════════════════════════════════ */

.badge-notification {
  position: fixed;
  top: 80px;
  right: -400px;
  width: 350px;
  background: linear-gradient(135deg, var(--purple) 0%, var(--pink) 100%);
  border-radius: 16px;
  padding: 20px;
  display: flex;
  align-items: center;
  gap: 16px;
  box-shadow: 0 8px 32px rgba(176, 106, 255, 0.4);
  transition: right 0.3s ease-out;
  z-index: 10000;
  border: 3px solid rgba(255, 255, 255, 0.3);
}

.badge-notification.show {
  right: 20px;
}

.badge-notif-icon {
  font-size: 3rem;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,0.2));
}

.badge-notif-content {
  flex: 1;
}

.badge-notif-title {
  font-size: 0.75rem;
  color: rgba(255,255,255,0.8);
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 4px;
}

.badge-notif-name {
  font-size: 1.2rem;
  color: white;
  font-weight: bold;
  margin-bottom: 4px;
}

.badge-notif-desc {
  font-size: 0.85rem;
  color: rgba(255,255,255,0.9);
  margin-bottom: 8px;
}

.badge-notif-share {
  display: flex;
  gap: 6px;
  margin-top: 8px;
}

.btn-social-mini {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 6px 12px;
  border-radius: 6px;
  font-weight: bold;
  font-size: 0.75rem;
  border: none;
  cursor: pointer;
  transition: all 0.2s;
  color: white;
  background: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(10px);
}

.btn-social-mini:hover {
  background: rgba(255, 255, 255, 0.3);
  transform: translateY(-1px);
}


/* ══════════════════════════════════════════════════════════════════════════
   BADGES GRID
   ══════════════════════════════════════════════════════════════════════════ */

.badges-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 16px;
  margin-top: 20px;
}

.badge-card {
  background: white;
  border: 3px solid var(--purple-light);
  border-radius: 12px;
  padding: 16px;
  text-align: center;
  transition: all 0.2s ease;
  position: relative;
  overflow: hidden;
}

.badge-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 6px 20px rgba(176, 106, 255, 0.2);
  border-color: var(--purple);
}

.badge-card.locked {
  opacity: 0.5;
  background: #f5f5f5;
  border-color: #ddd;
}

.badge-card.locked:hover {
  transform: none;
  box-shadow: none;
}

.badge-icon {
  font-size: 3rem;
  margin-bottom: 8px;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,0.1));
}

.badge-card.locked .badge-icon {
  filter: grayscale(100%) opacity(0.5);
}

.badge-name {
  font-weight: bold;
  color: var(--purple-dark);
  font-size: 0.9rem;
  margin-bottom: 4px;
}

.badge-card.locked .badge-name {
  color: #999;
}

.badge-description {
  font-size: 0.75rem;
  color: var(--text-light);
  line-height: 1.3;
}

.badge-rarity {
  position: absolute;
  top: 8px;
  right: 8px;
  font-size: 0.65rem;
  padding: 2px 8px;
  border-radius: 10px;
  text-transform: uppercase;
  font-weight: bold;
  letter-spacing: 0.5px;
}

.badge-rarity.common {
  background: #e0e0e0;
  color: #666;
}

.badge-rarity.rare {
  background: #b3e5fc;
  color: #0277bd;
}

.badge-rarity.epic {
  background: #e1bee7;
  color: #7b1fa2;
}

.badge-rarity.legendary {
  background: linear-gradient(135deg, #ffd700, #ffed4e);
  color: #b8860b;
}

.badge-earned-date {
  font-size: 0.7rem;
  color: var(--text-light);
  margin-top: 6px;
  font-style: italic;
}

/* ══════════════════════════════════════════════════════════════════════════
   EQUIPMENT SYSTEM
   ══════════════════════════════════════════════════════════════════════════ */

.equipment-filter-tabs {
  display: flex;
  gap: 8px;
  margin-bottom: 20px;
  justify-content: center;
}

.filter-tab {
  background: transparent;
  border: 2px solid var(--purple-light);
  color: var(--purple);
  padding: 8px 20px;
  border-radius: 20px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
}

.filter-tab:hover {
  background: var(--purple-light);
  transform: translateY(-2px);
}

.filter-tab.active {
  background: var(--purple);
  color: white;
  border-color: var(--purple);
}

.equipment-card {
  background: white;
  border: 3px solid var(--purple-light);
  border-radius: 12px;
  padding: 16px;
  transition: all 0.2s ease;
  position: relative;
}

.equipment-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 6px 20px rgba(176, 106, 255, 0.2);
  border-color: var(--purple);
}

.equipment-icon {
  font-size: 3rem;
  text-align: center;
  margin-bottom: 8px;
}

.equipment-name {
  font-weight: bold;
  color: var(--purple-dark);
  font-size: 1rem;
  margin-bottom: 4px;
  text-align: center;
}

.equipment-desc {
  font-size: 0.8rem;
  color: var(--text-light);
  line-height: 1.3;
  margin-bottom: 8px;
  text-align: center;
  min-height: 40px;
}

.equipment-stats {
  background: var(--bg-secondary);
  border-radius: 8px;
  padding: 8px;
  margin: 8px 0;
  font-size: 0.75rem;
}

.equipment-stat {
  display: flex;
  justify-content: space-between;
  padding: 2px 0;
}

.equipment-stat-positive {
  color: #4caf50;
  font-weight: 500;
}

.equipment-stat-negative {
  color: #f44336;
  font-weight: 500;
}

.equipment-tier {
  position: absolute;
  top: 8px;
  right: 8px;
  background: linear-gradient(135deg, var(--purple), var(--pink));
  color: white;
  padding: 4px 10px;
  border-radius: 12px;
  font-size: 0.7rem;
  font-weight: bold;
}

.equipment-weight {
  position: absolute;
  top: 8px;
  left: 8px;
  padding: 4px 10px;
  border-radius: 12px;
  font-size: 0.7rem;
  font-weight: bold;
  text-transform: uppercase;
}

.weight-light {
  background: #e3f2fd;
  color: #1976d2;
}

.weight-medium {
  background: #fff3e0;
  color: #f57c00;
}

.weight-heavy {
  background: #fce4ec;
  color: #c2185b;
}

.equipment-price {
  text-align: center;
  font-weight: bold;
  color: var(--purple);
  font-size: 1.1rem;
  margin: 8px 0;
}

.equipment-slots {
  display: flex;
  gap: 12px;
  margin: 16px 0;
}

.equipment-slot {
  flex: 1;
  background: white;
  border: 3px dashed var(--purple-light);
  border-radius: 12px;
  padding: 16px;
  text-align: center;
  min-height: 120px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
}

.equipment-slot.equipped {
  border-style: solid;
  border-color: var(--purple);
  background: linear-gradient(135deg, rgba(176, 106, 255, 0.1), rgba(255, 107, 157, 0.1));
}

.equipment-slot-label {
  font-size: 0.75rem;
  color: var(--text-light);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 8px;
}

.equipment-slot-icon {
  font-size: 2.5rem;
  margin: 8px 0;
}

.equipment-slot-name {
  font-weight: 500;
  color: var(--purple-dark);
  font-size: 0.9rem;
  margin-top: 4px;
}

.equipment-slot-empty {
  color: var(--text-light);
  font-style: italic;
  font-size: 0.85rem;
}

.btn-unequip {
  margin-top: 8px;
  padding: 4px 12px;
  font-size: 0.75rem;
}

/* ══════════════════════════════════════════════════════════════════════════
   BATTLE SYSTEM
   ══════════════════════════════════════════════════════════════════════════ */

.battle-pet-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 16px;
  margin-top: 20px;
}

.battle-pet-card {
  background: white;
  border: 3px solid var(--purple-light);
  border-radius: 12px;
  padding: 16px;
  text-align: center;
  cursor: pointer;
  transition: all 0.2s ease;
}

.battle-pet-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 6px 20px rgba(176, 106, 255, 0.2);
  border-color: var(--purple);
}

.battle-pet-card.selected {
  border-color: var(--purple);
  background: linear-gradient(135deg, rgba(176, 106, 255, 0.1), rgba(255, 107, 157, 0.1));
  border-width: 4px;
}

.battle-pet-card img {
  width: 80px;
  height: 80px;
  object-fit: contain;
}

.battle-pet-card-name {
  font-weight: bold;
  color: var(--purple-dark);
  margin-top: 8px;
  font-size: 1rem;
}

.battle-pet-card-level {
  color: var(--text-light);
  font-size: 0.85rem;
  margin-top: 4px;
}

.battle-pet-card-stats {
  display: flex;
  justify-content: space-around;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--purple-light);
  font-size: 0.75rem;
}

.battle-pet-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}

.battle-pet-stat-label {
  color: var(--text-light);
  text-transform: uppercase;
  font-size: 0.7rem;
  letter-spacing: 0.5px;
}

.battle-pet-stat-value {
  font-weight: bold;
  color: var(--purple);
  font-size: 0.9rem;
}

/* Battle Screen */
.battle-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 40px 20px;
  background: linear-gradient(180deg, #87ceeb 0%, #98d98e 100%);
  border-radius: 16px;
  position: relative;
  min-height: 300px;
}

.battle-side {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}

.battle-sprite-container {
  width: 120px;
  height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.battle-sprite {
  image-rendering: pixelated;
  image-rendering: -moz-crisp-edges;
  image-rendering: crisp-edges;
  width: 64px;
  height: 64px;
  background-size: 256px auto;
  background-repeat: no-repeat;
  transition: transform 0.1s ease;
}

.battle-sprite.player-sprite {
  font-size: 4rem;
}

.battle-sprite.enemy-sprite {
  animation: sprite-idle 0.8s steps(4) infinite;
}

@keyframes sprite-idle {
  from { background-position-x: 0; }
  to { background-position-x: -256px; }
}

@keyframes sprite-attack {
  0% { background-position-y: -128px; }
  100% { background-position-y: -192px; }
}

@keyframes battle-hit {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-8px); }
  75% { transform: translateX(8px); }
}

.battle-sprite.hit {
  animation: battle-hit 0.3s ease;
}

.battle-vs {
  font-size: 2rem;
  font-weight: bold;
  color: var(--purple);
  text-shadow: 2px 2px 0 white;
  animation: pulse 1.5s ease-in-out infinite;
}

@keyframes pulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.1); }
}

.battle-name {
  font-weight: bold;
  font-size: 1.2rem;
  color: var(--purple-dark);
  text-shadow: 1px 1px 0 white;
}

.battle-hp-container {
  width: 200px;
}

.battle-hp-label {
  display: flex;
  justify-content: space-between;
  font-size: 0.85rem;
  font-weight: 500;
  margin-bottom: 4px;
  color: var(--purple-dark);
}

.battle-hp-bar {
  width: 100%;
  height: 20px;
  background: white;
  border: 3px solid var(--purple-dark);
  border-radius: 10px;
  overflow: hidden;
}

.battle-hp-fill {
  height: 100%;
  background: linear-gradient(90deg, #4caf50, #8bc34a);
  transition: width 0.5s ease, background 0.3s ease;
}

.battle-hp-fill.low {
  background: linear-gradient(90deg, #ff9800, #ffc107);
}

.battle-hp-fill.critical {
  background: linear-gradient(90deg, #f44336, #ff5722);
}

/* Battle Log */
.battle-log-container {
  margin-top: 20px;
  background: white;
  border: 3px solid var(--purple-light);
  border-radius: 12px;
  padding: 20px;
  max-height: 200px;
  overflow-y: auto;
}

.battle-log {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.battle-log-entry {
  padding: 8px 12px;
  background: var(--bg-secondary);
  border-radius: 8px;
  font-size: 0.9rem;
  color: var(--purple-dark);
  animation: slide-in 0.3s ease;
}

@keyframes slide-in {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.battle-log-entry.player-attack {
  background: linear-gradient(90deg, rgba(76, 175, 80, 0.2), rgba(139, 195, 74, 0.2));
  border-left: 4px solid #4caf50;
}

.battle-log-entry.enemy-attack {
  background: linear-gradient(90deg, rgba(244, 67, 54, 0.2), rgba(255, 87, 34, 0.2));
  border-left: 4px solid #f44336;
}

.battle-log-entry.victory {
  background: linear-gradient(90deg, rgba(255, 215, 0, 0.3), rgba(255, 193, 7, 0.3));
  border-left: 4px solid #ffd700;
  font-weight: bold;
}

.battle-log-entry.defeat {
  background: linear-gradient(90deg, rgba(156, 39, 176, 0.2), rgba(171, 71, 188, 0.2));
  border-left: 4px solid #9c27b0;
  font-weight: bold;
}

.battle-controls {
  margin-top: 20px;
  display: flex;
  justify-content: center;
  gap: 12px;
}

.btn-large {
  font-size: 1.1rem;
  padding: 16px 32px;
}
/* ===========================================
   MELON MASCOT - Shop Page
   =========================================== */

.shop-mascot {
  position: fixed;
  right: 20px;
  bottom: 0;
  z-index: 9999;
  pointer-events: none;
}

.mascot-image {
  width: 350px; /* Reduced from 450px to 350px */
  height: auto;
  display: block;
  filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.15));
  pointer-events: all;
}

.mascot-speech-bubble {
  position: absolute;
  right: 380px; /* Reduced from 490px to 380px (matches smaller Melon) */
  bottom: 100px; /* Reduced from 120px to 100px */
  background: white;
  border: 3px solid var(--purple);
  border-radius: 16px;
  padding: 16px 20px; /* Slightly smaller padding */
  max-width: 280px; /* Reduced from 330px */
  font-size: 1.15rem; /* Reduced from 1.35rem */
  font-weight: 600;
  color: var(--text-dark);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  pointer-events: all;
  animation: bubble-float 3s ease-in-out infinite;
}

@keyframes bubble-float {
  0%, 100% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-12px);
  }
}

/* Speech bubble pointer (triangle pointing down-right toward Melon) */
.mascot-speech-bubble::after {
  content: '';
  position: absolute;
  right: -12px;
  bottom: 20px; /* Changed from top: 20px to bottom: 20px */
  width: 0;
  height: 0;
  border-left: 12px solid var(--purple);
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
}

.mascot-speech-bubble::before {
  content: '';
  position: absolute;
  right: -8px;
  bottom: 22px; /* Changed from top: 22px to bottom: 22px */
  width: 0;
  height: 0;
  border-left: 10px solid white;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  z-index: 1;
}


/* Glitchy red text for spooky dialogue */
.glitch-text {
  color: #ff0000;
  font-weight: 800;
  animation: glitch 0.3s infinite;
  text-shadow: 2px 0 #ff0000, -2px 0 #00ff00;
}

@keyframes glitch {
  0% {
    text-shadow: 2px 0 #ff0000, -2px 0 #00ff00;
    transform: translateX(0);
  }
  25% {
    text-shadow: -2px 0 #ff0000, 2px 0 #00ff00;
    transform: translateX(2px);
  }
  50% {
    text-shadow: 2px 0 #00ff00, -2px 0 #ff0000;
    transform: translateX(-2px);
  }
  75% {
    text-shadow: -2px 0 #00ff00, 2px 0 #ff0000;
    transform: translateX(2px);
  }
  100% {
    text-shadow: 2px 0 #ff0000, -2px 0 #00ff00;
    transform: translateX(0);
  }
}

/* Full page glitch effect when spooky dialogue appears */
.page-glitch {
  animation: page-glitch-effect 0.8s ease-in-out;
}

@keyframes page-glitch-effect {
  0%, 100% {
    transform: translate(0, 0);
    filter: none;
  }
  10% {
    transform: translate(-5px, 2px);
    filter: hue-rotate(90deg) saturate(2);
  }
  20% {
    transform: translate(3px, -3px);
    filter: hue-rotate(-90deg) saturate(3);
  }
  30% {
    transform: translate(-2px, 4px);
    filter: hue-rotate(45deg) contrast(1.5);
  }
  40% {
    transform: translate(4px, -2px);
    filter: hue-rotate(-45deg) invert(0.1);
  }
  50% {
    transform: translate(-3px, 3px);
    filter: hue-rotate(180deg) saturate(4);
  }
  60% {
    transform: translate(2px, -4px);
    filter: hue-rotate(-180deg) brightness(1.3);
  }
  70% {
    transform: translate(-4px, 2px);
    filter: hue-rotate(90deg) contrast(2);
  }
  80% {
    transform: translate(3px, -1px);
    filter: hue-rotate(-90deg) saturate(2);
  }
  90% {
    transform: translate(-1px, 2px);
    filter: none;
  }
}

/* Hide Melon on mobile/small screens */
@media (max-width: 1200px) {
  .shop-mascot {
    display: none;
  }
}

/* Only show Melon on the shop page */
#section-shop:not(.active) .shop-mascot {
  display: none;
}

/* ===========================================
   COLORFUL "MELON'S MELONS" SHOP TITLE
   =========================================== */

.melons-title {
  font-size: 3rem;
  font-weight: 900;
  margin: 0;
  padding: 0;
  line-height: 1.2;
}

.melon-title-word-1 {
  color: #ff6b9d;
  margin-right: 12px;
  display: inline-block;
  animation: title-bounce 2s ease-in-out infinite;
  text-shadow: 3px 3px 6px rgba(0, 0, 0, 0.15);
}

.melon-title-word-2 {
  color: #ffa502;
  display: inline-block;
  animation: title-bounce 2s ease-in-out infinite;
  animation-delay: 0.2s;
  text-shadow: 3px 3px 6px rgba(0, 0, 0, 0.15);
}

@keyframes title-bounce {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-5px);
  }
}
/* ═══════════════════════════════════════════════════════════════════════
   CURSOR UPGRADES - Bigger Paw + Glitter Trail
   ═══════════════════════════════════════════════════════════════════════ */
 
/* Bigger paw cursor (32x32 instead of default 16x16) */
body, button, a, input, textarea, select {
  cursor: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><circle cx="16" cy="20" r="8" fill="%23FF69B4"/><circle cx="10" cy="12" r="4" fill="%23FF69B4"/><circle cx="22" cy="12" r="4" fill="%23FF69B4"/><circle cx="8" cy="18" r="3" fill="%23FF69B4"/><circle cx="24" cy="18" r="3" fill="%23FF69B4"/></svg>'), auto;
}
 
/* Sparkle trail particles */
.cursor-sparkle {
  position: fixed;
  pointer-events: none;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  z-index: 9999;
  animation: sparkle-fade 0.8s ease-out forwards;
}
 
@keyframes sparkle-fade {
  0% {
    opacity: 1;
    transform: translate(0, 0) scale(1);
  }
  100% {
    opacity: 0;
    transform: translate(var(--dx), var(--dy)) scale(0);
  }
}
 
/* Different sparkle colors */
.sparkle-pink { background: radial-gradient(circle, #FF69B4, #FF1493); }
.sparkle-purple { background: radial-gradient(circle, #B06AFF, #8B3FFF); }
.sparkle-cyan { background: radial-gradient(circle, #00E5FF, #00B8D4); }
.sparkle-yellow { background: radial-gradient(circle, #FFD700, #FFA500); }
.sparkle-white { background: radial-gradient(circle, #FFFFFF, #E0E0E0); }

/* ═══════════════════════════════════════════════════════════════════════
   SLOT MACHINE STYLING
   ═══════════════════════════════════════════════════════════════════════ */

.slot-bet-selector {
  margin-bottom: 20px;
  text-align: center;
}

.bet-buttons {
  display: flex;
  gap: 10px;
  justify-content: center;
  margin-top: 10px;
}

.bet-btn {
  padding: 10px 20px;
  border: 2px solid var(--purple-light);
  background: white;
  color: var(--purple);
  font-weight: bold;
  border-radius: 12px;
  cursor: pointer;
  transition: all 0.2s;
}

.bet-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(176, 106, 255, 0.3);
}

.bet-btn.active {
  background: var(--purple);
  color: white;
  border-color: var(--purple);
  box-shadow: 0 4px 12px rgba(176, 106, 255, 0.4);
}

.slot-machine {
  display: flex;
  gap: 15px;
  justify-content: center;
  padding: 30px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-radius: 20px;
  margin: 20px 0;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
}

.slot-reel {
  width: 80px;
  height: 80px;
  background: white;
  border: 4px solid #FFD700;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 3rem;
  box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.1);
  transition: transform 0.1s;
}

.slot-reel.spinning {
  animation: reel-spin 0.1s infinite;
}

@keyframes reel-spin {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
}

.slot-reel.win {
  animation: reel-win 0.6s ease-out;
  border-color: #FFD700;
  box-shadow: 0 0 20px rgba(255, 215, 0, 0.8);
}

@keyframes reel-win {
  0%, 100% { transform: scale(1); }
  25% { transform: scale(1.1) rotate(-5deg); }
  75% { transform: scale(1.1) rotate(5deg); }
}

#slot-spin-btn {
  margin-top: 10px;
  font-size: 1.2rem;
  padding: 15px 40px;
}

#slot-spin-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
/* ═══════════════════════════════════════════════════════════════════════
   SHADOW OF PIPER - BOSS BATTLE EFFECTS
   ═══════════════════════════════════════════════════════════════════════ */

/* Boss entrance fade-in */
.boss-entrance {
  animation: boss-fade-in 3s ease-in-out;
}

@keyframes boss-fade-in {
  0% { 
    opacity: 0;
    filter: brightness(0);
  }
  20% {
    opacity: 0.3;
    filter: brightness(0.3) hue-rotate(90deg);
  }
  40% {
    opacity: 0;
    filter: brightness(0);
  }
  60% {
    opacity: 0.7;
    filter: brightness(0.7) hue-rotate(-90deg);
  }
  80% {
    opacity: 0.5;
    filter: brightness(0.5);
  }
  100% { 
    opacity: 1;
    filter: brightness(1);
  }
}

/* Screen glitch/artifact effect - MORE INTENSE VERSION */
.screen-glitch {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 9998;
  background: repeating-linear-gradient(
    0deg,
    rgba(255, 0, 0, 0.15) 0px,     /* Increased from 0.1 to 0.15 */
    rgba(0, 255, 0, 0.15) 1px,     /* More visible RGB split */
    rgba(0, 0, 255, 0.15) 2px,
    transparent 3px
  );
  animation: glitch-scan 0.15s infinite, glitch-shift 0.4s infinite, glitch-distort 0.8s infinite;
}

@keyframes glitch-scan {
  0%, 100% { 
    transform: translateY(0) scaleY(1);
    opacity: 0.9;  /* Increased from 0.8 */
  }
  50% { 
    transform: translateY(-100vh) scaleY(1.3);  /* More exaggerated */
    opacity: 0.5;  /* Increased from 0.4 */
  }
}

@keyframes glitch-shift {
  0%, 100% {
    filter: hue-rotate(0deg);
  }
  25% {
    filter: hue-rotate(90deg) saturate(4);  /* Increased saturation */
  }
  50% {
    filter: hue-rotate(180deg) saturate(2);
  }
  75% {
    filter: hue-rotate(270deg) saturate(3);
  }
}

/* New: Random horizontal distortion */
@keyframes glitch-distort {
  0%, 100% {
    background-position: 0 0;
  }
  10% {
    background-position: 5px 0;
  }
  20% {
    background-position: -5px 0;
  }
  30% {
    background-position: 3px 0;
  }
  40% {
    background-position: -3px 0;
  }
  50% {
    background-position: 0 0;
  }
}

/* Boss indicator on battle screen */
.boss-battle-indicator {
  position: absolute;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(139, 0, 0, 0.9);
  color: #FF0000;
  padding: 10px 30px;
  border-radius: 8px;
  font-weight: bold;
  font-size: 1.2rem;
  border: 2px solid #FF0000;
  box-shadow: 0 0 20px rgba(255, 0, 0, 0.6);
  animation: boss-pulse 1s infinite;
  z-index: 100;
}

@keyframes boss-pulse {
  0%, 100% {
    box-shadow: 0 0 20px rgba(255, 0, 0, 0.6);
    transform: translateX(-50%) scale(1);
  }
  50% {
    box-shadow: 0 0 40px rgba(255, 0, 0, 1);
    transform: translateX(-50%) scale(1.05);
  }
}

/* Shadow of Piper sprite - glitchy question mark */
.boss-sprite {
  position: relative;
  font-size: 8rem;
  color: #1a1a1a;
  text-shadow: 
    0 0 10px rgba(255, 0, 0, 0.8),
    0 0 20px rgba(139, 0, 0, 0.6);
  animation: boss-sprite-glitch 2s infinite;
}

@keyframes boss-sprite-glitch {
  0%, 90%, 100% {
    color: #1a1a1a;
    text-shadow: 
      0 0 10px rgba(255, 0, 0, 0.8),
      0 0 20px rgba(139, 0, 0, 0.6);
    transform: translate(0, 0);
  }
  10% {
    color: #000000;
    text-shadow: 
      -5px 0 10px rgba(255, 0, 0, 1),
      5px 0 10px rgba(0, 255, 255, 1);
    transform: translate(-5px, 2px);
  }
  20% {
    color: #0a0a0a;
    text-shadow: 
      5px 0 10px rgba(255, 0, 255, 1),
      -5px 0 10px rgba(0, 255, 0, 1);
    transform: translate(5px, -2px);
  }
  30% {
    color: #1a1a1a;
    transform: translate(0, 0);
  }
}

/* Boss HP bar styling */
.boss-hp-bar {
  background: linear-gradient(90deg, #8B0000, #FF0000);
  box-shadow: 0 0 15px rgba(255, 0, 0, 0.6);
  animation: hp-bar-pulse 1.5s infinite;
}

@keyframes hp-bar-pulse {
  0%, 100% {
    box-shadow: 0 0 15px rgba(255, 0, 0, 0.6);
  }
  50% {
    box-shadow: 0 0 30px rgba(255, 0, 0, 1);
  }
}

/* Boss name glitch effect */
.boss-name-glitch {
  animation: name-glitch 0.3s infinite;
}

@keyframes name-glitch {
  0%, 90%, 100% {
    transform: translate(0, 0);
    text-shadow: 2px 2px 0 rgba(255, 0, 0, 0.7);
  }
  10% {
    transform: translate(-2px, 1px);
    text-shadow: -2px -2px 0 rgba(0, 255, 255, 0.7);
  }
  20% {
    transform: translate(2px, -1px);
    text-shadow: 2px -2px 0 rgba(255, 0, 255, 0.7);
  }
}

/* Background darkening during boss fight */
.boss-battle-bg {
  background: linear-gradient(135deg, #1a0000 0%, #000000 50%, #1a0000 100%) !important;
  animation: bg-flicker 3s infinite;
}

@keyframes bg-flicker {
  0%, 100% {
    filter: brightness(0.7);
  }
  50% {
    filter: brightness(0.4);
  }
}

/* ═══════════════════════════════════════════════════════════════════════
   UI FRAGMENTATION - ALL UI elements drift and fragment during boss battles
   ═══════════════════════════════════════════════════════════════════════ */

/* Target EVERY sidebar, panel, and UI element - make them ALL move! */
body.boss-ui-glitch nav,
body.boss-ui-glitch aside,
body.boss-ui-glitch .sidebar,
body.boss-ui-glitch .panel,
body.boss-ui-glitch .left-sidebar,
body.boss-ui-glitch .right-sidebar,
body.boss-ui-glitch [class*="sidebar"],
body.boss-ui-glitch [class*="panel"],
body.boss-ui-glitch header:not(.battle-header) {
  animation: ui-drift-chaos 10s ease-in-out infinite;
  animation-delay: calc(var(--drift-delay, 0) * 1s);
}

/* Different drift patterns for variety */
body.boss-ui-glitch nav:nth-of-type(1),
body.boss-ui-glitch .sidebar:nth-of-type(1),
body.boss-ui-glitch aside:first-child {
  animation: ui-drift-left 8s ease-in-out infinite;
}

body.boss-ui-glitch nav:nth-of-type(2),
body.boss-ui-glitch aside:nth-of-type(2),
body.boss-ui-glitch [class*="right"] {
  animation: ui-drift-right 9s ease-in-out infinite;
}

body.boss-ui-glitch .panel:nth-child(odd),
body.boss-ui-glitch aside:nth-of-type(3) {
  animation: ui-drift-diagonal 11s ease-in-out infinite;
}

body.boss-ui-glitch header {
  animation: ui-drift-header 7s ease-in-out infinite;
}

/* Drift animations - slow, unsettling movement */
@keyframes ui-drift-left {
  0%, 100% {
    transform: translate(0, 0) rotate(0deg);
    opacity: 1;
  }
  25% {
    transform: translate(-40px, 20px) rotate(-2deg);
    opacity: 0.92;
  }
  50% {
    transform: translate(-60px, -15px) rotate(-1deg);
    opacity: 0.88;
  }
  75% {
    transform: translate(-30px, 35px) rotate(-2.5deg);
    opacity: 0.90;
  }
}

@keyframes ui-drift-right {
  0%, 100% {
    transform: translate(0, 0) rotate(0deg);
    opacity: 1;
  }
  20% {
    transform: translate(45px, -25px) rotate(1.5deg);
    opacity: 0.91;
  }
  40% {
    transform: translate(65px, 15px) rotate(1deg);
    opacity: 0.85;
  }
  60% {
    transform: translate(50px, 40px) rotate(2deg);
    opacity: 0.88;
  }
  80% {
    transform: translate(35px, -20px) rotate(1.2deg);
    opacity: 0.93;
  }
}

@keyframes ui-drift-diagonal {
  0%, 100% {
    transform: translate(0, 0) rotate(0deg);
    opacity: 1;
  }
  33% {
    transform: translate(-35px, -30px) rotate(-1.5deg);
    opacity: 0.89;
  }
  66% {
    transform: translate(40px, 35px) rotate(1.8deg);
    opacity: 0.86;
  }
}

@keyframes ui-drift-header {
  0%, 100% {
    transform: translateY(0) rotate(0deg);
    opacity: 1;
  }
  50% {
    transform: translateY(-15px) rotate(-0.5deg);
    opacity: 0.93;
  }
}

@keyframes ui-drift-chaos {
  0%, 100% {
    transform: translate(0, 0) rotate(0deg);
    opacity: 1;
  }
  16% {
    transform: translate(-20px, 25px) rotate(-1deg);
    opacity: 0.94;
  }
  33% {
    transform: translate(30px, -20px) rotate(0.8deg);
    opacity: 0.90;
  }
  50% {
    transform: translate(-35px, 10px) rotate(-1.5deg);
    opacity: 0.87;
  }
  66% {
    transform: translate(25px, 30px) rotate(1.2deg);
    opacity: 0.91;
  }
  83% {
    transform: translate(-15px, -25px) rotate(-0.8deg);
    opacity: 0.95;
  }
}

/* ═══════════════════════════════════════════════════════════════════════
   CREEPY WARNING TEXT - "YOU SHOULDN'T BE HERE"
   ═══════════════════════════════════════════════════════════════════════ */

.boss-warning-text {
  position: fixed;
  font-size: 3.2rem;  /* 20% smaller (was 4rem) */
  font-weight: 900;
  color: #FF0000;
  text-shadow: 
    0 0 10px #FF0000,
    0 0 20px #FF0000,
    0 0 30px #FF0000,
    3px 3px 0 #000000,
    -2px -2px 0 rgba(0, 255, 255, 0.5);  /* RGB split effect */
  pointer-events: none;
  z-index: 9999;
  white-space: nowrap;
  opacity: 0;
  font-family: 'Arial Black', sans-serif;
  letter-spacing: 3px;
  text-transform: uppercase;
  /* CRT scan line effect */
  background: repeating-linear-gradient(
    0deg,
    transparent 0px,
    rgba(0, 0, 0, 0.3) 1px,
    transparent 2px
  );
  -webkit-background-clip: text;
  background-clip: text;
}

/* Scroll from left animation */
.boss-warning-scroll-left {
  animation: warning-shake-intense 0.08s infinite, warning-scroll-left 6s linear forwards, warning-fade-scroll 6s ease-in-out forwards;
}

/* Scroll from right animation */
.boss-warning-scroll-right {
  animation: warning-shake-intense 0.08s infinite, warning-scroll-right 6s linear forwards, warning-fade-scroll 6s ease-in-out forwards;
}

@keyframes warning-shake-intense {
  0% { transform: translate(0, 0) rotate(0deg) skew(0deg); }
  8% { transform: translate(-7px, 4px) rotate(-2.5deg) skew(-2deg); }
  16% { transform: translate(7px, -4px) rotate(2.5deg) skew(2deg); }
  24% { transform: translate(-6px, 5px) rotate(-2deg) skew(-1.5deg); }
  32% { transform: translate(6px, -5px) rotate(2deg) skew(1.5deg); }
  40% { transform: translate(-8px, -4px) rotate(-3deg) skew(-2.5deg); }
  48% { transform: translate(8px, 4px) rotate(3deg) skew(2.5deg); }
  56% { transform: translate(-5px, -6px) rotate(-2deg) skew(-2deg); }
  64% { transform: translate(5px, 6px) rotate(2deg) skew(2deg); }
  72% { transform: translate(-7px, 5px) rotate(-2.5deg) skew(-1.5deg); }
  80% { transform: translate(7px, -5px) rotate(2.5deg) skew(1.5deg); }
  88% { transform: translate(-6px, 4px) rotate(-2deg) skew(-2deg); }
  96% { transform: translate(6px, -4px) rotate(2deg) skew(2deg); }
  100% { transform: translate(0, 0) rotate(0deg) skew(0deg); }
}

@keyframes warning-scroll-left {
  0% {
    left: -100%;
  }
  100% {
    left: 100%;
  }
}

@keyframes warning-scroll-right {
  0% {
    right: -100%;
  }
  100% {
    right: 100%;
  }
}

@keyframes warning-fade-scroll {
  0% {
    opacity: 0;
    filter: brightness(0.5);
  }
  5% {
    opacity: 0.95;
    filter: brightness(1.5);
  }
  10%, 85% {
    opacity: 0.95;
    filter: brightness(1.3);
  }
  90% {
    opacity: 0.6;
    filter: brightness(0.9);
  }
  100% {
    opacity: 0;
    filter: brightness(0.5);
  }
}

/* ═══════════════════════════════════════════════════════════════════════
   DEATH SCREEN - "WE WARNED YOU" messages
   ═══════════════════════════════════════════════════════════════════════ */

@keyframes death-warning-shake {
  0%, 100% {
    transform: translate(0, 0) rotate(0deg);
  }
  10% {
    transform: translate(-8px, 5px) rotate(-3deg);
  }
  20% {
    transform: translate(8px, -5px) rotate(3deg);
  }
  30% {
    transform: translate(-7px, 6px) rotate(-2.5deg);
  }
  40% {
    transform: translate(7px, -6px) rotate(2.5deg);
  }
  50% {
    transform: translate(-9px, -5px) rotate(-3.5deg);
  }
  60% {
    transform: translate(9px, 5px) rotate(3.5deg);
  }
  70% {
    transform: translate(-6px, -7px) rotate(-2deg);
  }
  80% {
    transform: translate(6px, 7px) rotate(2deg);
  }
  90% {
    transform: translate(-8px, 6px) rotate(-3deg);
  }
}

@keyframes death-warning-fade {
  0% {
    opacity: 0;
    transform: scale(0.8);
  }
  8% {
    opacity: 1;
    transform: scale(1.1);
  }
  12% {
    transform: scale(1);
  }
  85% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: scale(0.9);
  }
}
/* ═══════════════════════════════════════════════════════════════════════
   BATTLE LOG - MAKE IT TALLER
   ═══════════════════════════════════════════════════════════════════════ */

.battle-log-container {
  max-height: 280px;
  min-height: 280px;
  overflow-y: auto;
  margin-bottom: 20px;
}

.battle-log {
  max-height: 280px;
  overflow-y: auto;
}

.battle-controls {
  margin-top: 20px;
}

.battle-log-entry {
  padding: 8px 12px;
  margin: 4px 0;
  border-radius: 6px;
  line-height: 1.4;
}

/* ═══════════════════════════════════════════════════════════════════════
   FRIENDS SYSTEM STYLES
   ═══════════════════════════════════════════════════════════════════════ */

.friend-request-badge {
  display: inline-block;
  background: var(--pink);
  color: white;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  font-size: 0.7rem;
  font-weight: bold;
  text-align: center;
  line-height: 20px;
  margin-left: 6px;
  animation: pulse-badge 2s ease-in-out infinite;
}

@keyframes pulse-badge {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.15); }
}

.friends-tabs {
  display: flex;
  gap: 10px;
  margin-bottom: 20px;
  border-bottom: 2px solid var(--border);
}

.friends-tab {
  background: transparent;
  border: none;
  padding: 12px 20px;
  font-family: 'Fredoka One', cursive;
  font-size: 0.95rem;
  color: var(--text-light);
  cursor: pointer;
  border-bottom: 3px solid transparent;
  transition: all 0.2s;
  position: relative;
  bottom: -2px;
}

.friends-tab:hover {
  color: var(--purple);
  background: rgba(176, 106, 255, 0.05);
}

.friends-tab.active {
  color: var(--purple-dark);
  border-bottom-color: var(--purple);
}

.friends-container {
  min-height: 200px;
}

.friend-card {
  background: var(--white);
  border: 2.5px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 20px;
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 16px;
  transition: transform 0.2s, box-shadow 0.2s;
}

.friend-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px var(--shadow);
}

.friend-avatar {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--purple), var(--pink));
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  font-weight: bold;
  flex-shrink: 0;
}

.friend-info {
  flex: 1;
}

.friend-username {
  font-family: 'Fredoka One', cursive;
  font-size: 1.2rem;
  color: var(--purple-dark);
  margin-bottom: 6px;
  cursor: pointer;
  transition: color 0.2s;
}

.friend-username:hover {
  color: var(--purple);
}

.friend-stats {
  display: flex;
  gap: 16px;
  font-size: 0.85rem;
  color: var(--text-light);
  flex-wrap: wrap;
}

.friend-stat {
  display: flex;
  align-items: center;
  gap: 4px;
}

.friend-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.friend-request-card {
  background: linear-gradient(135deg, rgba(255, 192, 203, 0.1), rgba(176, 106, 255, 0.1));
  border: 2.5px solid var(--pink);
}

.search-result-card {
  background: var(--cream);
  border: 2.5px dashed var(--border);
}

/* ═══════════════════════════════════════════════════════════════════════
   GUESTBOOK STYLES
   ═══════════════════════════════════════════════════════════════════════ */

.guestbook-section {
  margin-top: 20px;
}

.guestbook-entry {
  background: var(--white);
  border: 2.5px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 18px 20px;
  margin-bottom: 14px;
  transition: transform 0.2s, box-shadow 0.2s;
}

.guestbook-entry:hover {
  transform: translateX(4px);
  box-shadow: 0 4px 16px var(--shadow);
}

.guestbook-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 10px;
}

.guestbook-author {
  display: flex;
  align-items: center;
  gap: 10px;
}

.guestbook-author-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--purple-light), var(--pink-light));
  color: var(--purple-dark);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  font-weight: bold;
}

.guestbook-author-info {
  display: flex;
  flex-direction: column;
}

.guestbook-author-name {
  font-weight: bold;
  color: var(--purple-dark);
  font-size: 0.95rem;
  cursor: pointer;
  transition: color 0.2s;
}

.guestbook-author-name:hover {
  color: var(--purple);
}

.guestbook-timestamp {
  font-size: 0.75rem;
  color: var(--text-light);
}

.guestbook-actions {
  display: flex;
  gap: 8px;
}

.guestbook-message {
  color: var(--text);
  line-height: 1.6;
  white-space: pre-wrap;
  word-wrap: break-word;
  font-size: 0.95rem;
}

.guestbook-empty {
  text-align: center;
  padding: 40px 20px;
  color: var(--text-light);
}

.guestbook-empty-icon {
  font-size: 3rem;
  margin-bottom: 12px;
}

/* ═══════════════════════════════════════════════════════════════════════
   PROFILE ACTION BUTTONS
   ═══════════════════════════════════════════════════════════════════════ */

.btn-success {
  background: linear-gradient(135deg, var(--green), #4caf50);
  color: white;
  border: none;
}

.btn-success:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(93, 222, 122, 0.4);
}

.btn-danger {
  background: linear-gradient(135deg, #ff6b6b, #ff5252);
  color: white;
  border-color: #ff5252;
}

.btn-danger:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(255, 107, 107, 0.4);
}

.blocked-user-card {
  background: rgba(255, 107, 107, 0.05);
  border-color: #ff6b6b;
}

/* ═══════════════════════════════════════════════════════════════════════
   RESPONSIVE ADJUSTMENTS
   ═══════════════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {
  .friend-card {
    flex-direction: column;
    text-align: center;
  }
  
  .friend-stats {
    justify-content: center;
  }
  
  .friend-actions {
    width: 100%;
    justify-content: center;
  }
  
  .guestbook-header {
    flex-direction: column;
    gap: 10px;
  }
  
  .guestbook-actions {
    width: 100%;
  }
}

/* ═══════════════════════════════════════════════════════════════════════
   ACTIVITY FEED BOX (Sidebar)
   ═══════════════════════════════════════════════════════════════════════ */

.activity-feed-box {
  background: linear-gradient(135deg, rgba(176, 106, 255, 0.05), rgba(255, 106, 157, 0.05));
  border: 2px solid var(--border);
  border-radius: 12px;
  padding: 12px;
  margin-top: 12px;
  min-height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.activity-feed-message {
  font-size: 0.85rem;
  color: var(--text);
  line-height: 1.4;
  animation: activity-fade-in 0.5s ease-in-out;
}

@keyframes activity-fade-in {
  from {
    opacity: 0;
    transform: translateY(-5px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ═══════════════════════════════════════════════════════════════════════
   HOMEPAGE MELON PROMO - ANIMATED TEXT (Match Shop Title Style)
   ═══════════════════════════════════════════════════════════════════════ */

.melon-promo-text {
  font-size: 1.4rem;
  font-weight: 800;
  line-height: 1.6;
  margin-bottom: 16px;
}

.melon-promo-word {
  display: inline-block;
  margin: 0 4px;
  color: var(--text);
}

.melon-promo-word-melons {
  color: #ff6b9d;
  animation: title-bounce 2s ease-in-out infinite;
  text-shadow: 3px 3px 6px rgba(255, 107, 157, 0.4);
  font-size: 1.6rem;
}

.melon-promo-word-melons-2 {
  color: #ffa502;
  animation: title-bounce 2s ease-in-out infinite;
  animation-delay: 0.2s;
  text-shadow: 3px 3px 6px rgba(255, 165, 2, 0.4);
  font-size: 1.6rem;
}

/* The title-bounce animation is already defined earlier in the CSS */


/* ═══════════════════════════════════════════════════════════════════════
   NOTIFICATION SYSTEM (Navbar Bell Icon & Dropdown)
   ═══════════════════════════════════════════════════════════════════════ */

.notification-bell {
  position: relative;
  cursor: pointer;
  margin-right: 20px;
  padding: 8px 12px;
  border-radius: 50%;
  transition: background 0.2s, transform 0.2s;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.notification-bell:hover {
  background: rgba(176, 106, 255, 0.1);
  transform: scale(1.1);
}

.bell-icon {
  font-size: 1.4rem;
  display: block;
}

.notification-badge {
  position: absolute;
  top: 2px;
  right: 2px;
  background: var(--pink);
  color: white;
  border-radius: 50%;
  min-width: 20px;
  height: 20px;
  font-size: 0.7rem;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2px 6px;
  border: 2px solid var(--white);
  animation: pulse-notification 2s ease-in-out infinite;
}

@keyframes pulse-notification {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.2); }
}

.notification-dropdown {
  position: fixed;
  top: 70px;
  right: 20px;
  width: 380px;
  max-height: 500px;
  background: var(--white);
  border: 2.5px solid var(--border);
  border-radius: var(--radius-lg);
  box-shadow: 0 8px 32px var(--shadow);
  z-index: 9999;
  overflow: hidden;
  animation: dropdown-slide-in 0.2s ease-out;
}

@keyframes dropdown-slide-in {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.notification-dropdown-header {
  background: linear-gradient(135deg, var(--purple-light), var(--pink-light));
  padding: 16px 20px;
  border-bottom: 2px solid var(--border);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.notification-dropdown-header h3 {
  margin: 0;
  font-size: 1.1rem;
  color: var(--purple-dark);
  font-family: 'Fredoka One', cursive;
}

.btn-text {
  background: none;
  border: none;
  color: var(--purple);
  font-size: 0.85rem;
  cursor: pointer;
  padding: 4px 8px;
  border-radius: 6px;
  transition: background 0.2s;
}

.btn-text:hover {
  background: rgba(176, 106, 255, 0.1);
}

.notification-list {
  max-height: 420px;
  overflow-y: auto;
}

.notification-item {
  padding: 16px 20px;
  border-bottom: 1px solid var(--border);
  cursor: pointer;
  transition: background 0.2s;
  position: relative;
}

.notification-item:hover {
  background: rgba(176, 106, 255, 0.05);
}

.notification-item.unread {
  background: rgba(255, 192, 203, 0.1);
  border-left: 4px solid var(--pink);
}

.notification-item.unread::before {
  content: '';
  position: absolute;
  top: 50%;
  right: 20px;
  width: 8px;
  height: 8px;
  background: var(--pink);
  border-radius: 50%;
  transform: translateY(-50%);
}

.notification-icon {
  font-size: 1.5rem;
  margin-right: 12px;
  display: inline-block;
}

.notification-content {
  display: inline-block;
  vertical-align: top;
  width: calc(100% - 50px);
}

.notification-title {
  font-weight: bold;
  color: var(--purple-dark);
  font-size: 0.95rem;
  margin-bottom: 4px;
}

.notification-message {
  color: var(--text);
  font-size: 0.9rem;
  line-height: 1.4;
  margin-bottom: 4px;
}

.notification-time {
  color: var(--text-light);
  font-size: 0.75rem;
}

.notification-empty {
  padding: 40px 20px;
  text-align: center;
  color: var(--text-light);
  font-size: 0.9rem;
}

/* Close dropdown when clicking outside */
.notification-overlay {
  position: fixed;
  inset: 0;
  z-index: 9998;
  background: transparent;
}

@media (max-width: 768px) {
  .notification-dropdown {
    right: 10px;
    left: 10px;
    width: auto;
  }
}


/* ═══════════════════════════════════════════════════════════════════════
   PET SKILLS SYSTEM - Battle Log Styling
   ═══════════════════════════════════════════════════════════════════════ */

.battle-log-entry.skill-attack {
  background: linear-gradient(135deg, rgba(255, 165, 0, 0.2), rgba(255, 69, 0, 0.2));
  border-left: 4px solid #ff6b00;
  font-weight: bold;
  animation: skill-glow 0.5s ease-in-out;
}

@keyframes skill-glow {
  0%, 100% {
    box-shadow: 0 0 5px rgba(255, 107, 0, 0.3);
  }
  50% {
    box-shadow: 0 0 15px rgba(255, 107, 0, 0.6);
  }
}


/* ═══════════════════════════════════════════════════════════════════════
   WHACK-A-MOLE - PET IMAGES
   ═══════════════════════════════════════════════════════════════════════ */

.mole img {
  width: 50px;
  height: 50px;
  object-fit: contain;
  pointer-events: none;
}


/* ═══════════════════════════════════════════════════════════════════════
   PIXEL-ART TOAST NOTIFICATIONS
   ═══════════════════════════════════════════════════════════════════════ */

.pixel-toast {
  position: fixed;
  bottom: 20px;
  right: 20px;
  background: var(--white);
  border: 3px solid var(--border);
  border-radius: 8px;
  padding: 12px 16px;
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 250px;
  max-width: 400px;
  box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.2);
  z-index: 10000;
  font-family: 'Fredoka One', cursive;
  font-size: 0.9rem;
  transform: translateX(500px);
  transition: transform 0.3s ease-out;
}

.pixel-toast.show {
  transform: translateX(0);
}

.pixel-toast-icon {
  font-size: 1.5rem;
  font-weight: bold;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  flex-shrink: 0;
}

.pixel-toast-message {
  flex: 1;
  line-height: 1.4;
}

/* Toast Types */
.pixel-toast-success {
  border-color: #5dde7a;
  background: linear-gradient(135deg, #e8f8eb, #ffffff);
}

.pixel-toast-success .pixel-toast-icon {
  background: #5dde7a;
  color: white;
}

.pixel-toast-error {
  border-color: #ff6b6b;
  background: linear-gradient(135deg, #ffe8e8, #ffffff);
}

.pixel-toast-error .pixel-toast-icon {
  background: #ff6b6b;
  color: white;
}

.pixel-toast-warning {
  border-color: #ffa502;
  background: linear-gradient(135deg, #fff5e6, #ffffff);
}

.pixel-toast-warning .pixel-toast-icon {
  background: #ffa502;
  color: white;
}

.pixel-toast-info {
  border-color: var(--purple);
  background: linear-gradient(135deg, var(--purple-light), #ffffff);
}

.pixel-toast-info .pixel-toast-icon {
  background: var(--purple);
  color: white;
}

@media (max-width: 768px) {
  .pixel-toast {
    right: 10px;
    left: 10px;
    max-width: none;
  }
}


/* ═══════════════════════════════════════════════════════════════════════
   DAILY TIP BOX (Home Page)
   ═══════════════════════════════════════════════════════════════════════ */

.daily-tip-box {
  background: linear-gradient(135deg, #fff9e6, #ffffff);
  border: 3px solid #ffa502;
  border-radius: var(--radius-lg);
  padding: 20px;
  margin: 20px 0;
  box-shadow: 0 4px 12px rgba(255, 165, 2, 0.2);
}

.daily-tip-header {
  font-family: 'Fredoka One', cursive;
  font-size: 1.2rem;
  color: #ff8800;
  margin-bottom: 12px;
  text-align: center;
}

.daily-tip-content {
  font-size: 0.95rem;
  color: var(--text);
  line-height: 1.6;
  text-align: center;
  padding: 8px;
  background: rgba(255, 255, 255, 0.6);
  border-radius: 8px;
  font-style: italic;
}

/* ===== BETA BANNER ===== */
/* OLD BETA BANNER - NOW INTEGRATED INTO NAVBAR */
.beta-banner {
  display: none !important; /* Beta warning now in navbar center */
}

.beta-banner-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  flex-wrap: wrap;
}

.beta-tag {
  background: rgba(0, 0, 0, 0.3);
  color: white;
  padding: 4px 12px;
  border-radius: 20px;
  font-weight: bold;
  font-size: 0.85rem;
  letter-spacing: 1px;
}

.beta-text {
  color: white;
  font-size: 0.9rem;
  flex: 1;
  min-width: 300px;
  text-align: center;
}

.beta-contact {
  background: rgba(255, 255, 255, 0.2);
  color: white;
  padding: 6px 16px;
  border-radius: 20px;
  text-decoration: none;
  font-size: 0.85rem;
  font-weight: bold;
  transition: all 0.2s;
  border: 1px solid rgba(255, 255, 255, 0.3);
}

.beta-contact:hover {
  background: rgba(255, 255, 255, 0.3);
  transform: translateY(-1px);
}

.beta-contact {
  background: rgba(255, 255, 255, 0.2);
  color: white;
  padding: 6px 16px;
  border-radius: 20px;
  text-decoration: none;
  font-size: 0.85rem;
  font-weight: bold;
  transition: all 0.2s;
  border: 1px solid rgba(255, 255, 255, 0.3);
  cursor: pointer;
}

.beta-contact:hover {
  background: rgba(255, 255, 255, 0.3);
  transform: translateY(-1px);
}

/* ===== CONTACT MODAL ===== */
.contact-modal {
  max-width: 500px;
}

.contact-options {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 20px 0;
}

.contact-option {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-radius: 12px;
  text-decoration: none;
  color: white;
  transition: all 0.2s;
}

.contact-option:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(102, 126, 234, 0.4);
}

.contact-icon {
  font-size: 2rem;
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 50%;
}

.contact-text {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.contact-text strong {
  font-size: 1.1rem;
}

.contact-text span {
  font-size: 0.9rem;
  opacity: 0.9;
}

/* ===== SOCIAL SHARE BUTTONS ===== */
.social-share-buttons {
  padding: 12px;
  background: rgba(102, 126, 234, 0.1);
  border-radius: 12px;
}

.btn-social {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  border-radius: 8px;
  font-weight: bold;
  font-size: 0.9rem;
  border: none;
  cursor: pointer;
  transition: all 0.2s;
  color: white;
}

.btn-social:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.btn-twitter {
  background: linear-gradient(135deg, #1DA1F2 0%, #0d8bd9 100%);
}

.btn-twitter:hover {
  background: linear-gradient(135deg, #0d8bd9 0%, #0a6fb8 100%);
}

.btn-bluesky {
  background: linear-gradient(135deg, #0085ff 0%, #0066cc 100%);
}

.btn-bluesky:hover {
  background: linear-gradient(135deg, #0066cc 0%, #004d99 100%);
}

.social-icon {
  font-size: 1.1rem;
}

/* ===== REFERRAL CARD ===== */
.referral-card {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-radius: 16px;
  padding: 24px;
  margin: 20px 0;
  box-shadow: 0 8px 20px rgba(102, 126, 234, 0.3);
  color: white;
}

.referral-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}

.referral-icon {
  font-size: 2rem;
}

.referral-header h3 {
  margin: 0;
  font-size: 1.4rem;
  color: white;
}

.referral-description {
  color: rgba(255, 255, 255, 0.9);
  margin-bottom: 20px;
  line-height: 1.5;
}

.referral-rewards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 20px;
}

.referral-reward {
  background: rgba(255, 255, 255, 0.15);
  padding: 12px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  gap: 10px;
  backdrop-filter: blur(10px);
}

.referral-reward-icon {
  font-size: 1.5rem;
}

.referral-reward-text {
  font-size: 0.9rem;
  line-height: 1.4;
}

.referral-reward-text strong {
  display: block;
  margin-bottom: 2px;
}

.referral-link-container {
  display: flex;
  gap: 10px;
  margin-bottom: 20px;
}

.referral-link-input {
  flex: 1;
  padding: 12px 16px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.2);
  color: white;
  font-family: monospace;
  font-size: 0.9rem;
  cursor: pointer;
  transition: all 0.2s;
}

.referral-link-input:focus {
  outline: none;
  border-color: rgba(255, 255, 255, 0.6);
  background: rgba(255, 255, 255, 0.25);
}

.referral-copy-btn {
  padding: 12px 24px;
  background: rgba(255, 255, 255, 0.25);
  border: 2px solid rgba(255, 255, 255, 0.4);
  border-radius: 10px;
  color: white;
  font-weight: bold;
  cursor: pointer;
  transition: all 0.2s;
  white-space: nowrap;
}

.referral-copy-btn:hover {
  background: rgba(255, 255, 255, 0.35);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.referral-copy-btn:active {
  transform: translateY(0);
}

.referral-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  padding-top: 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.referral-stat {
  text-align: center;
}

.referral-stat-label {
  display: block;
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.8);
  margin-bottom: 4px;
}

.referral-stat-value {
  display: block;
  font-size: 1.3rem;
  font-weight: bold;
  color: white;
}

@media (max-width: 768px) {
  .referral-rewards {
    grid-template-columns: 1fr;
  }
  
  .referral-link-container {
    flex-direction: column;
  }
  
  .beta-text {
    min-width: auto;
    font-size: 0.85rem;
  }
}


/* ══════════════════════════════════════════════════════════════════════════
   RETRO FORUM
   ══════════════════════════════════════════════════════════════════════════ */

/* Forum Categories List */
.forum-categories-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.forum-category-card {
  background: white;
  border: 3px solid var(--purple-light);
  border-radius: 12px;
  padding: 20px;
  cursor: pointer;
  transition: all 0.2s;
  display: flex;
  align-items: center;
  gap: 16px;
}

.forum-category-card:hover {
  transform: translateX(4px);
  border-color: var(--purple);
  box-shadow: 0 4px 12px rgba(176, 106, 255, 0.2);
}

.forum-category-icon {
  font-size: 2.5rem;
  min-width: 60px;
  text-align: center;
}

.forum-category-info {
  flex: 1;
}

.forum-category-name {
  font-size: 1.3rem;
  font-weight: bold;
  color: var(--purple-dark);
  margin-bottom: 4px;
}

.forum-category-desc {
  font-size: 0.9rem;
  color: var(--text-light);
}

.forum-category-stats {
  text-align: right;
  min-width: 100px;
}

.forum-stat-number {
  font-size: 1.5rem;
  font-weight: bold;
  color: var(--purple);
}

.forum-stat-label {
  font-size: 0.8rem;
  color: var(--text-light);
  text-transform: uppercase;
}

/* Category View Header */
.forum-category-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 3px solid var(--purple-light);
}

.forum-category-header h2 {
  color: var(--purple-dark);
  margin: 0;
}

/* Forum Threads List */
.forum-threads-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.forum-thread-row {
  background: white;
  border: 2px solid var(--purple-light);
  border-radius: 8px;
  padding: 16px;
  cursor: pointer;
  transition: all 0.2s;
  display: flex;
  gap: 16px;
  align-items: center;
}

.forum-thread-row:hover {
  border-color: var(--purple);
  box-shadow: 0 2px 8px rgba(176, 106, 255, 0.15);
}

.forum-thread-row.pinned {
  background: linear-gradient(135deg, #fff8e1 0%, #fffbf0 100%);
  border-color: #ffd700;
}

.forum-thread-row.locked {
  opacity: 0.7;
  background: #f5f5f5;
}

.forum-thread-icon {
  font-size: 2rem;
  min-width: 50px;
  text-align: center;
}

.forum-thread-content {
  flex: 1;
  min-width: 0;
}

.forum-thread-title {
  font-size: 1.1rem;
  font-weight: bold;
  color: var(--purple-dark);
  margin-bottom: 4px;
}

.forum-thread-meta {
  font-size: 0.85rem;
  color: var(--text-light);
}

.forum-thread-stats {
  display: flex;
  gap: 20px;
  text-align: center;
  min-width: 150px;
}

.forum-thread-stat {
  display: flex;
  flex-direction: column;
}

.forum-thread-stat-number {
  font-size: 1.2rem;
  font-weight: bold;
  color: var(--purple);
}

.forum-thread-stat-label {
  font-size: 0.75rem;
  color: var(--text-light);
}

/* Thread View */
.forum-thread-container {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.forum-post {
  background: white;
  border: 3px solid var(--purple-light);
  border-radius: 12px;
  overflow: hidden;
  display: flex;
}

.forum-post.original-post {
  border-color: var(--purple);
  box-shadow: 0 4px 12px rgba(176, 106, 255, 0.2);
}

.forum-post-sidebar {
  background: linear-gradient(180deg, var(--purple-light) 0%, #f0e6ff 100%);
  padding: 20px;
  min-width: 180px;
  text-align: center;
  border-right: 3px solid var(--purple-light);
}

.forum-post-avatar {
  width: 80px;
  height: 80px;
  background: var(--purple);
  color: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  font-weight: bold;
  margin: 0 auto 12px;
  border: 3px solid white;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.forum-post-username {
  font-weight: bold;
  color: var(--purple-dark);
  margin-bottom: 4px;
  word-break: break-word;
}

.forum-post-role {
  font-size: 0.75rem;
  color: var(--text-light);
  margin-bottom: 8px;
}

.forum-post-badge {
  display: inline-block;
  background: var(--purple);
  color: white;
  padding: 2px 8px;
  border-radius: 12px;
  font-size: 0.7rem;
  font-weight: bold;
  margin-bottom: 8px;
}

.forum-post-stats {
  font-size: 0.8rem;
  color: var(--text-light);
  margin-top: 12px;
  padding-top: 12px;
  border-top: 2px solid rgba(176, 106, 255, 0.2);
}

.forum-post-content-wrapper {
  flex: 1;
  padding: 20px;
}

.forum-post-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 2px solid var(--purple-light);
}

.forum-post-date {
  font-size: 0.85rem;
  color: var(--text-light);
}

.forum-post-actions {
  display: flex;
  gap: 8px;
}

.forum-post-action-btn {
  background: none;
  border: none;
  color: var(--text-light);
  cursor: pointer;
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 0.85rem;
  transition: all 0.2s;
}

.forum-post-action-btn:hover {
  background: var(--purple-light);
  color: var(--purple-dark);
}

.forum-post-action-btn.danger:hover {
  background: #ffebee;
  color: #c62828;
}

.forum-post-body {
  font-size: 1rem;
  line-height: 1.6;
  color: var(--text);
  white-space: pre-wrap;
  word-wrap: break-word;
}

/* Reply Box */
.forum-reply-box {
  background: white;
  border: 3px solid var(--purple-light);
  border-radius: 12px;
  padding: 24px;
  margin-top: 24px;
}

.forum-reply-box h3 {
  color: var(--purple-dark);
  margin-bottom: 16px;
}

#forum-reply-textarea {
  width: 100%;
  padding: 12px;
  border: 2px solid var(--purple-light);
  border-radius: 8px;
  font-family: inherit;
  font-size: 1rem;
  resize: vertical;
  margin-bottom: 12px;
}

#forum-reply-textarea:focus {
  outline: none;
  border-color: var(--purple);
}

/* Admin Panel */
.admin-tabs {
  display: flex;
  gap: 8px;
  margin-bottom: 20px;
}

.admin-tab {
  padding: 10px 20px;
  background: white;
  border: 2px solid var(--purple-light);
  border-radius: 8px 8px 0 0;
  cursor: pointer;
  transition: all 0.2s;
  font-weight: bold;
}

.admin-tab.active {
  background: var(--purple);
  color: white;
  border-color: var(--purple);
}

.admin-panel-view {
  background: white;
  border: 3px solid var(--purple-light);
  border-radius: 12px;
  padding: 20px;
}

.banned-user-item {
  padding: 12px;
  background: #ffebee;
  border: 2px solid #ef5350;
  border-radius: 8px;
  margin-bottom: 8px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.recent-post-item {
  padding: 12px;
  background: #f5f5f5;
  border: 2px solid #e0e0e0;
  border-radius: 8px;
  margin-bottom: 8px;
}

/* Empty States */
.forum-empty-state {
  text-align: center;
  padding: 60px 20px;
  color: var(--text-light);
}

.forum-empty-state-icon {
  font-size: 4rem;
  margin-bottom: 16px;
  opacity: 0.5;
}

/* Mobile Responsive */
@media (max-width: 768px) {
  .forum-category-card {
    flex-direction: column;
    text-align: center;
  }
  
  .forum-thread-row {
    flex-direction: column;
    text-align: center;
  }
  
  .forum-post {
    flex-direction: column;
  }
  
  .forum-post-sidebar {
    border-right: none;
    border-bottom: 3px solid var(--purple-light);
  }
  
  .forum-thread-stats {
    justify-content: center;
  }
}

/* Emoji Picker */
.emoji-picker-container {
  position: relative;
  margin-bottom: 8px;
}

.emoji-picker-btn {
  background: var(--purple-light);
  border: 2px solid var(--purple);
  color: var(--purple-dark);
  padding: 6px 12px;
  border-radius: 6px;
  cursor: pointer;
  font-size: 0.9rem;
  font-weight: bold;
  transition: all 0.2s;
}

.emoji-picker-btn:hover {
  background: var(--purple);
  color: white;
}

.emoji-picker {
  position: absolute;
  top: 100%;
  left: 0;
  margin-top: 8px;
  background: white;
  border: 3px solid var(--purple);
  border-radius: 12px;
  padding: 12px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.2);
  z-index: 1000;
  max-width: 300px;
}

.emoji-grid {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: 8px;
}

.emoji-option {
  font-size: 1.5rem;
  cursor: pointer;
  padding: 4px;
  border-radius: 6px;
  transition: all 0.2s;
  text-align: center;
  user-select: none;
}

.emoji-option:hover {
  background: var(--purple-light);
  transform: scale(1.2);
}

/* ══════════════════════════════════════════════════════════════════════════
   PARTICLE EFFECTS
   ══════════════════════════════════════════════════════════════════════════ */

/* Floating sparkles on home page */
.sparkle-particle {
  position: fixed;
  pointer-events: none;
  z-index: 1;
  font-size: 1.5rem;
  animation: float-sparkle 3s ease-in-out infinite;
  opacity: 0;
}

@keyframes float-sparkle {
  0% {
    transform: translateY(0) rotate(0deg);
    opacity: 0;
  }
  10% {
    opacity: 0.8;
  }
  90% {
    opacity: 0.8;
  }
  100% {
    transform: translateY(-100vh) rotate(360deg);
    opacity: 0;
  }
}

/* Confetti on adoption */
.confetti-piece {
  position: fixed;
  width: 10px;
  height: 10px;
  pointer-events: none;
  z-index: 10001;
  animation: confetti-fall 3s ease-out forwards;
}

@keyframes confetti-fall {
  0% {
    transform: translateY(0) rotate(0deg);
    opacity: 1;
  }
  100% {
    transform: translateY(100vh) rotate(720deg);
    opacity: 0;
  }
}

/* Stars on battle victory */
.star-burst {
  position: fixed;
  font-size: 2rem;
  pointer-events: none;
  z-index: 10001;
  animation: star-burst 1s ease-out forwards;
}

@keyframes star-burst {
  0% {
    transform: scale(0) rotate(0deg);
    opacity: 1;
  }
  50% {
    transform: scale(1.5) rotate(180deg);
    opacity: 1;
  }
  100% {
    transform: scale(0.5) rotate(360deg);
    opacity: 0;
  }
}

/* Hearts when playing with pet */
.heart-float {
  position: fixed;
  font-size: 1.5rem;
  pointer-events: none;
  z-index: 10001;
  animation: heart-rise 2s ease-out forwards;
}

@keyframes heart-rise {
  0% {
    transform: translateY(0) scale(0);
    opacity: 0;
  }
  20% {
    opacity: 1;
    transform: scale(1);
  }
  100% {
    transform: translateY(-150px) scale(0.5);
    opacity: 0;
  }
}

/* ══════════════════════════════════════════════════════════════════════════
   TEAM PROFILES PAGE
   ══════════════════════════════════════════════════════════════════════════ */

.team-profiles-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
  gap: 24px;
  margin-top: 30px;
}

.team-profile-card {
  background: white;
  border: 3px solid var(--purple-light);
  border-radius: 16px;
  overflow: hidden;
  transition: all 0.3s;
}

.team-profile-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(176, 106, 255, 0.2);
  border-color: var(--purple);
}

.team-profile-header {
  background: linear-gradient(135deg, var(--purple) 0%, var(--pink) 100%);
  padding: 24px;
  display: flex;
  align-items: center;
  gap: 20px;
}

.team-profile-avatar {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  border: 4px solid white;
  overflow: hidden;
  background: white;
  flex-shrink: 0;
}

.team-profile-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.team-profile-info {
  flex: 1;
}

.team-profile-name {
  color: white;
  font-size: 1.8rem;
  margin: 0 0 8px 0;
  text-shadow: 2px 2px 4px rgba(0,0,0,0.2);
}

.team-profile-role {
  color: rgba(255,255,255,0.95);
  font-size: 1rem;
  font-weight: bold;
}

.team-profile-body {
  padding: 24px;
}

.team-profile-bio {
  color: var(--text);
  line-height: 1.6;
  margin-bottom: 20px;
}

.team-profile-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 20px;
  padding: 16px;
  background: var(--purple-light);
  border-radius: 12px;
}

.team-stat {
  text-align: center;
}

.team-stat-label {
  display: block;
  font-size: 0.75rem;
  color: var(--text-light);
  text-transform: uppercase;
  margin-bottom: 4px;
}

.team-stat-value {
  display: block;
  font-size: 1.2rem;
  font-weight: bold;
  color: var(--purple-dark);
}

.team-profile-socials {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.team-social-btn {
  flex: 1;
  min-width: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 20px;
  border-radius: 10px;
  font-weight: bold;
  text-decoration: none;
  transition: all 0.2s;
  color: white;
}

.team-social-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}

.team-social-btn.twitch {
  background: linear-gradient(135deg, #9146ff 0%, #772ce8 100%);
}

.team-social-btn.twitter {
  background: linear-gradient(135deg, #1DA1F2 0%, #0d8bd9 100%);
}

.team-social-btn.bluesky {
  background: linear-gradient(135deg, #0085ff 0%, #0066cc 100%);
}

.social-icon {
  font-size: 1.2rem;
}

/* Title Selector Styling */
.title-selector-section {
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.1) 0%, rgba(176, 106, 255, 0.1) 100%);
  border: 2px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 20px;
  margin-top: 20px;
}

.selector-title {
  color: var(--purple-dark);
  font-size: 1.3rem;
  margin-bottom: 8px;
}

.selector-desc {
  color: var(--text-light);
  font-size: 0.95rem;
  margin-bottom: 15px;
}

.title-dropdown-wrap {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.title-dropdown-wrap label {
  font-weight: 600;
  color: var(--text);
}

.title-select, .pet-title-select {
  padding: 10px 15px;
  border: 2px solid var(--border);
  border-radius: var(--radius);
  background: var(--white);
  color: var(--text);
  font-size: 1rem;
  cursor: pointer;
  transition: all 0.2s;
}

.title-select:hover, .pet-title-select:hover {
  border-color: var(--primary);
  box-shadow: 0 2px 8px rgba(102, 126, 234, 0.2);
}

.title-select:focus, .pet-title-select:focus {
  outline: none;
  border-color: var(--primary);
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}

.title-select option:disabled {
  color: #999;
  font-style: italic;
}

/* Player Title Badge (shows on profiles) */
.player-title-badge {
  display: inline-block;
  font-weight: 600;
  margin-left: 8px;
  text-shadow: 0 1px 2px rgba(0,0,0,0.1);
}

/* Pet Title Badge (shows on pet cards) */
.pet-title-badge {
  display: inline-block;
  font-size: 0.9rem;
  font-weight: 600;
  margin-top: 4px;
  text-shadow: 0 1px 2px rgba(0,0,0,0.1);
}

.pet-title-selector {
  margin-top: 15px;
  padding-top: 15px;
  border-top: 1px solid var(--border);
}

.pet-title-selector label {
  display: block;
  font-weight: 600;
  color: var(--text);
  margin-bottom: 8px;
}

/* Join Card */
.team-join-card {
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.1) 0%, rgba(176, 106, 255, 0.1) 100%);
  border: 3px dashed var(--purple-light);
  display: flex;
  align-items: center;
  justify-content: center;
}

.team-join-card:hover {
  border-color: var(--purple);
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.2) 0%, rgba(176, 106, 255, 0.2) 100%);
}

.team-join-content {
  text-align: center;
  padding: 40px;
}

.team-join-content h3 {
  color: var(--purple-dark);
  margin: 0 0 12px 0;
}

.team-join-content p {
  color: var(--text-light);
  margin-bottom: 20px;
}

/* Mobile responsive */
@media (max-width: 768px) {
  .team-profiles-grid {
    grid-template-columns: 1fr;
  }
  
  .team-profile-header {
    flex-direction: column;
    text-align: center;
  }
  
  .team-profile-socials {
    flex-direction: column;
  }
  
  .team-social-btn {
    width: 100%;
  }
}

/* ═══════════════════════════════════════════════════════════════════════
   SPECIAL VARIANT EFFECTS (Shiny/Golden/Rare/Corrupted/Glitched)
   ═══════════════════════════════════════════════════════════════════════ */

/* Shiny Variant - Prismatic hue shift with sparkle */
.enemy-sprite.variant-shiny {
  filter: hue-rotate(45deg) brightness(1.3) saturate(1.4);
  animation: shiny-pulse 2s ease-in-out infinite, sprite-idle 0.8s steps(4) infinite;
}

@keyframes shiny-pulse {
  0%, 100% { filter: hue-rotate(45deg) brightness(1.3) saturate(1.4); }
  50% { filter: hue-rotate(90deg) brightness(1.5) saturate(1.6); }
}

/* Golden Variant - Rich golden glow */
.enemy-sprite.variant-golden {
  filter: sepia(1) hue-rotate(15deg) saturate(3) brightness(1.2);
  animation: golden-glow 2s ease-in-out infinite, sprite-idle 0.8s steps(4) infinite;
  box-shadow: 0 0 20px rgba(255, 215, 0, 0.6);
}

@keyframes golden-glow {
  0%, 100% { box-shadow: 0 0 20px rgba(255, 215, 0, 0.6); }
  50% { box-shadow: 0 0 30px rgba(255, 215, 0, 0.9); }
}

/* Rare Variant - Subtle diamond shimmer */
.enemy-sprite.variant-rare {
  filter: brightness(1.2) contrast(1.15) saturate(1.2);
  animation: rare-shimmer 3s ease-in-out infinite, sprite-idle 0.8s steps(4) infinite;
}

@keyframes rare-shimmer {
  0%, 100% { filter: brightness(1.2) contrast(1.15) saturate(1.2); }
  50% { filter: brightness(1.3) contrast(1.2) saturate(1.3); }
}

/* Corrupted Variant - Dark red/black corruption */
.enemy-sprite.variant-corrupted {
  filter: hue-rotate(290deg) saturate(1.5) brightness(0.9) contrast(1.2);
  animation: corrupt-pulse 1.5s ease-in-out infinite, sprite-idle 0.8s steps(4) infinite;
}

@keyframes corrupt-pulse {
  0%, 100% { filter: hue-rotate(290deg) saturate(1.5) brightness(0.9) contrast(1.2); }
  50% { filter: hue-rotate(300deg) saturate(2) brightness(0.8) contrast(1.3); }
}

/* Glitched Variant - Digital glitch effect */
.enemy-sprite.variant-glitched {
  animation: glitch-effect 0.8s steps(2) infinite, sprite-idle 0.8s steps(4) infinite;
}

@keyframes glitch-effect {
  0% { 
    transform: translateX(0); 
    filter: hue-rotate(0deg);
  }
  20% { 
    transform: translateX(-3px) translateY(2px); 
    filter: hue-rotate(90deg);
  }
  40% { 
    transform: translateX(3px) translateY(-2px); 
    filter: hue-rotate(180deg);
  }
  60% { 
    transform: translateX(-2px) translateY(-2px); 
    filter: hue-rotate(270deg);
  }
  80% { 
    transform: translateX(2px) translateY(2px); 
    filter: hue-rotate(360deg);
  }
  100% { 
    transform: translateX(0); 
    filter: hue-rotate(0deg);
  }
}

/* Special variant label in battle UI */
.enemy-variant-badge {
  position: absolute;
  top: -10px;
  right: -10px;
  background: linear-gradient(135deg, var(--purple), var(--pink));
  color: white;
  padding: 4px 10px;
  border-radius: 12px;
  font-size: 0.7rem;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 1px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.3);
  z-index: 10;
  animation: badge-float 2s ease-in-out infinite;
}

@keyframes badge-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
}

.enemy-variant-badge.golden {
  background: linear-gradient(135deg, #FFD700, #FFA500);
}

.enemy-variant-badge.shiny {
  background: linear-gradient(135deg, #00ffff, #ff00ff, #ffff00);
  animation: badge-float 2s ease-in-out infinite, rainbow-shift 3s linear infinite;
}

.enemy-variant-badge.rare {
  background: linear-gradient(135deg, #4facfe, #00f2fe);
}

.enemy-variant-badge.corrupted {
  background: linear-gradient(135deg, #8b0000, #2d0000);
}

.enemy-variant-badge.glitched {
  background: linear-gradient(135deg, #00ff00, #0000ff);
  animation: badge-float 2s ease-in-out infinite, glitch-colors 0.5s steps(2) infinite;
}

@keyframes rainbow-shift {
  0% { filter: hue-rotate(0deg); }
  100% { filter: hue-rotate(360deg); }
}

@keyframes glitch-colors {
  0%, 100% { background: linear-gradient(135deg, #00ff00, #0000ff); }
  50% { background: linear-gradient(135deg, #ff00ff, #ffff00); }
}

/* ═══════════════════════════════════════════════════════════════════════
   TITLE SYSTEM UI
   ═══════════════════════════════════════════════════════════════════════ */

.user-title {
  font-family: 'Fredoka One', cursive;
  font-size: 0.8rem;
  font-weight: bold;
  text-align: center;
  margin-top: 4px;
  text-shadow: 0 1px 2px rgba(0,0,0,0.2);
  letter-spacing: 0.5px;
}

.titles-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 20px;
  padding: 20px;
}

.title-card {
  background: var(--white);
  border: 3px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 20px;
  text-align: center;
  transition: transform 0.2s, box-shadow 0.2s;
  position: relative;
}

.title-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 20px var(--shadow);
}

.title-card.active {
  background: linear-gradient(135deg, rgba(99, 102, 241, 0.1), rgba(236, 72, 153, 0.1));
  box-shadow: 0 0 20px rgba(99, 102, 241, 0.3);
}

.title-card.active::before {
  content: '✨ EQUIPPED ✨';
  position: absolute;
  top: -10px;
  left: 50%;
  transform: translateX(-50%);
  background: linear-gradient(135deg, var(--purple), var(--pink));
  color: white;
  padding: 4px 12px;
  border-radius: 12px;
  font-size: 0.65rem;
  font-weight: bold;
  letter-spacing: 1px;
}

.title-card.locked {
  opacity: 0.5;
  filter: grayscale(0.8);
}

.title-card.locked:hover {
  transform: none;
}

.title-icon {
  font-size: 2.5rem;
  margin-bottom: 10px;
}

.title-name {
  font-family: 'Fredoka One', cursive;
  font-size: 1.2rem;
  margin-bottom: 6px;
  font-weight: bold;
}

.title-rarity {
  font-size: 0.7rem;
  font-weight: bold;
  letter-spacing: 2px;
  margin-bottom: 10px;
  text-transform: uppercase;
}

.title-desc {
  font-size: 0.85rem;
  color: var(--text);
  margin-bottom: 8px;
  line-height: 1.4;
}

.title-desc.locked-text {
  color: var(--text-light);
  font-style: italic;
}

.title-unlock {
  font-size: 0.75rem;
  color: var(--text-light);
  margin-bottom: 12px;
  font-style: italic;
  min-height: 32px;
}

.title-card .btn {
  width: 100%;
  margin-top: 8px;
}

/* Rarity-specific glows */
.title-card[style*="border-color: #ff9800"] {
  box-shadow: 0 0 15px rgba(255, 152, 0, 0.3);
}

.title-card[style*="border-color: #9c27b0"] {
  box-shadow: 0 0 15px rgba(156, 39, 176, 0.3);
}

.title-card[style*="border-color: #5bc0de"] {
  box-shadow: 0 0 15px rgba(91, 192, 222, 0.3);
}

/* ═══════════════════════════════════════════════════════════════════════
   PET VARIANT VISUAL EFFECTS
   ═══════════════════════════════════════════════════════════════════════ */

/* Variant badge on pet cards */
.pet-variant-badge {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 12px;
  font-size: 0.7rem;
  font-weight: bold;
  color: white;
  margin-left: 8px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.2);
}

/* Shiny variant - rainbow hue shift */
.pet-card.pet-variant-shiny,
.pet-image-wrap.pet-variant-shiny img {
  animation: shiny-pulse 3s ease-in-out infinite;
}

@keyframes shiny-pulse {
  0%, 100% { filter: hue-rotate(0deg) brightness(1.2) saturate(1.3); }
  33% { filter: hue-rotate(120deg) brightness(1.3) saturate(1.4); }
  66% { filter: hue-rotate(240deg) brightness(1.3) saturate(1.4); }
}

.pet-card.pet-variant-shiny {
  box-shadow: 0 0 20px rgba(255, 255, 255, 0.4);
  border: 2.5px solid transparent;
  background: linear-gradient(white, white) padding-box,
              linear-gradient(135deg, #ff00ff, #00ffff, #ffff00, #ff00ff) border-box;
}

/* Golden variant - gold glow */
.pet-card.pet-variant-golden,
.pet-image-wrap.pet-variant-golden img {
  filter: sepia(0.6) hue-rotate(15deg) saturate(2.5) brightness(1.15);
}

.pet-card.pet-variant-golden {
  box-shadow: 0 0 25px rgba(255, 215, 0, 0.5);
  border-color: #FFD700;
  animation: golden-glow 2s ease-in-out infinite;
}

@keyframes golden-glow {
  0%, 100% { box-shadow: 0 0 25px rgba(255, 215, 0, 0.5); }
  50% { box-shadow: 0 0 35px rgba(255, 215, 0, 0.8); }
}

/* Shadow variant - dark purple/black */
.pet-card.pet-variant-shadow,
.pet-image-wrap.pet-variant-shadow img {
  filter: brightness(0.7) saturate(0.8) hue-rotate(260deg);
}

.pet-card.pet-variant-shadow {
  box-shadow: 0 0 20px rgba(139, 0, 139, 0.6);
  border-color: #4B0082;
  background: linear-gradient(135deg, rgba(139, 0, 139, 0.05), rgba(75, 0, 130, 0.05));
}

/* Rainbow variant - full spectrum animation */
.pet-card.pet-variant-rainbow,
.pet-image-wrap.pet-variant-rainbow img {
  animation: rainbow-shift 4s linear infinite;
}

@keyframes rainbow-shift {
  0% { filter: hue-rotate(0deg) saturate(1.5) brightness(1.2); }
  100% { filter: hue-rotate(360deg) saturate(1.5) brightness(1.2); }
}

.pet-card.pet-variant-rainbow {
  border: 3px solid transparent;
  background: linear-gradient(white, white) padding-box,
              linear-gradient(90deg, #ff0000, #ff7f00, #ffff00, #00ff00, #0000ff, #4b0082, #9400d3, #ff0000) border-box;
  background-size: 200% 200%;
  animation: rainbow-border 3s linear infinite;
}

@keyframes rainbow-border {
  0% { background-position: 0% 50%; }
  100% { background-position: 200% 50%; }
}

/* Corrupted variant - red/black corruption */
.pet-card.pet-variant-corrupted,
.pet-image-wrap.pet-variant-corrupted img {
  filter: hue-rotate(290deg) saturate(1.5) brightness(0.9) contrast(1.2);
}

.pet-card.pet-variant-corrupted {
  box-shadow: 0 0 20px rgba(139, 0, 0, 0.5);
  border-color: #8B0000;
  animation: corrupt-pulse 1.5s ease-in-out infinite;
}

@keyframes corrupt-pulse {
  0%, 100% { box-shadow: 0 0 20px rgba(139, 0, 0, 0.5); }
  50% { box-shadow: 0 0 30px rgba(139, 0, 0, 0.8); }
}

/* Glitched variant - digital distortion */
.pet-card.pet-variant-glitched,
.pet-image-wrap.pet-variant-glitched img {
  animation: glitch-distort 1s steps(4) infinite;
}

@keyframes glitch-distort {
  0% { filter: hue-rotate(0deg); transform: translateX(0); }
  20% { filter: hue-rotate(90deg); transform: translateX(-2px); }
  40% { filter: hue-rotate(180deg); transform: translateX(2px); }
  60% { filter: hue-rotate(270deg); transform: translateX(-1px); }
  80% { filter: hue-rotate(360deg); transform: translateX(1px); }
  100% { filter: hue-rotate(0deg); transform: translateX(0); }
}

.pet-card.pet-variant-glitched {
  box-shadow: 0 0 15px rgba(0, 255, 0, 0.4);
  border-color: #00FF00;
}

/* Frost variant - icy blue */
.pet-card.pet-variant-frost,
.pet-image-wrap.pet-variant-frost img {
  filter: hue-rotate(180deg) saturate(1.2) brightness(1.15);
}

.pet-card.pet-variant-frost {
  box-shadow: 0 0 20px rgba(135, 206, 250, 0.5);
  border-color: #87CEEB;
  background: linear-gradient(135deg, rgba(135, 206, 250, 0.05), rgba(176, 224, 230, 0.05));
}

/* Flame variant - fiery red/orange */
.pet-card.pet-variant-flame,
.pet-image-wrap.pet-variant-flame img {
  filter: hue-rotate(-15deg) saturate(1.5) brightness(1.1);
}

.pet-card.pet-variant-flame {
  box-shadow: 0 0 20px rgba(255, 69, 0, 0.5);
  border-color: #FF4500;
  animation: flame-flicker 1s ease-in-out infinite;
}

@keyframes flame-flicker {
  0%, 100% { box-shadow: 0 0 20px rgba(255, 69, 0, 0.5); }
  50% { box-shadow: 0 0 30px rgba(255, 140, 0, 0.7); }
}

/* Cosmic variant - space/galaxy effect */
.pet-card.pet-variant-cosmic,
.pet-image-wrap.pet-variant-cosmic img {
  filter: saturate(1.3) brightness(1.1);
}

.pet-card.pet-variant-cosmic {
  box-shadow: 0 0 25px rgba(138, 43, 226, 0.6);
  border: 3px solid transparent;
  background: linear-gradient(white, white) padding-box,
              linear-gradient(135deg, #000033, #663399, #9933ff, #000033) border-box;
  animation: cosmic-pulse 3s ease-in-out infinite;
}

@keyframes cosmic-pulse {
  0%, 100% { box-shadow: 0 0 25px rgba(138, 43, 226, 0.6); }
  50% { box-shadow: 0 0 40px rgba(138, 43, 226, 0.9); }
}

/* Crystal variant - diamond shimmer */
.pet-card.pet-variant-crystal,
.pet-image-wrap.pet-variant-crystal img {
  filter: brightness(1.3) contrast(1.15) saturate(1.3);
}

.pet-card.pet-variant-crystal {
  box-shadow: 0 0 20px rgba(0, 191, 255, 0.5);
  border-color: #00BFFF;
  animation: crystal-shimmer 2s ease-in-out infinite;
}

@keyframes crystal-shimmer {
  0%, 100% { filter: brightness(1); }
  50% { filter: brightness(1.15); }
}

/* Profile page top pets display */
.profile-top-pets {
  display: flex;
  gap: 15px;
  flex-wrap: wrap;
  justify-content: center;
  margin: 20px 0;
}

.profile-pet-card {
  background: var(--white);
  border: 2.5px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 15px;
  text-align: center;
  min-width: 150px;
  box-shadow: 0 4px 12px var(--shadow);
  transition: transform 0.2s;
}

.profile-pet-card:hover {
  transform: translateY(-3px);
}

.profile-pet-image {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  margin: 0 auto 10px;
  overflow: hidden;
  border: 2px solid var(--border);
}

.profile-pet-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.profile-pet-name {
  font-family: 'Fredoka One', cursive;
  font-size: 1.1rem;
  color: var(--purple-dark);
  margin-bottom: 5px;
}

.profile-pet-level {
  font-size: 0.9rem;
  color: var(--text-light);
  margin-bottom: 8px;
}

/* ═══════════════════════════════════════════════════════════════════════
   TITLE SELECTOR UI
   ═══════════════════════════════════════════════════════════════════════ */

.title-selector-section {
  max-width: 600px;
  margin: 30px auto;
  padding: 25px;
  background: var(--white);
  border: 2.5px solid var(--border);
  border-radius: var(--radius-lg);
  box-shadow: 0 4px 16px var(--shadow);
}

.selector-title {
  font-family: 'Fredoka One', cursive;
  font-size: 1.4rem;
  color: var(--purple-dark);
  margin-bottom: 10px;
  text-align: center;
}

.selector-desc {
  font-size: 0.9rem;
  color: var(--text-light);
  text-align: center;
  margin-bottom: 20px;
}

.title-dropdown-wrap {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.title-dropdown-wrap label {
  font-weight: bold;
  color: var(--text);
  font-size: 0.95rem;
}

.title-select,
.pet-title-select {
  width: 100%;
  padding: 12px 15px;
  border: 2px solid var(--border);
  border-radius: var(--radius-md);
  font-size: 0.95rem;
  font-family: inherit;
  background: var(--white);
  cursor: pointer;
  transition: border-color 0.2s;
}

.title-select:hover,
.pet-title-select:hover {
  border-color: var(--purple);
}

.title-select:focus,
.pet-title-select:focus {
  outline: none;
  border-color: var(--purple);
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.1);
}

.title-select option[disabled],
.pet-title-select option[disabled] {
  color: var(--text-light);
  font-style: italic;
}

.pet-title-selector-container {
  margin-top: 15px;
  padding-top: 15px;
  border-top: 1px solid var(--border);
}

.pet-title-selector {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.pet-title-selector label {
  font-weight: 600;
  color: var(--text);
  font-size: 0.9rem;
}

.pet-title-badge {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 15px;
  font-size: 0.85rem;
  font-weight: bold;
  background: rgba(99, 102, 241, 0.1);
  margin-top: 8px;
  text-align: center;
}

.pet-name-with-title {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  margin-bottom: 10px;
}

.pet-display-name {
  font-family: 'Fredoka One', cursive;
  font-size: 1.3rem;
  color: var(--purple-dark);
}

.pet-display-title {
  font-size: 0.85rem;
  font-style: italic;
  font-weight: 600;
}

/* ═══════════════════════════════════════════════════════════════════════
   SPOOKY EFFECT ANIMATIONS (for THEYWENTMISSING code)
   ═══════════════════════════════════════════════════════════════════════ */

@keyframes spooky-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes spooky-fade-out {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

@keyframes crt-flicker {
  0%, 100% {
    opacity: 0.9;
  }
  50% {
    opacity: 0.85;
  }
}

/* ═══════════════════════════════════════════════════════════════════════
   PHASE 2B: DAILY FORTUNE SYSTEM - CSS STYLING
   ═══════════════════════════════════════════════════════════════════════ */

/* Fortune Overlay - Full screen backdrop */
.fortune-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.85);
  backdrop-filter: blur(8px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.fortune-overlay.fortune-visible {
  opacity: 1;
}

/* Fortune Card - Retro pixel aesthetic */
.fortune-card {
  background: linear-gradient(135deg, #2a1a4a 0%, #1a0a3a 100%);
  border: 4px solid #9966ff;
  border-radius: 16px;
  padding: 32px;
  max-width: 500px;
  width: 90%;
  box-shadow: 
    0 8px 32px rgba(153, 102, 255, 0.4),
    inset 0 0 20px rgba(153, 102, 255, 0.1),
    0 0 0 8px rgba(153, 102, 255, 0.2);
  text-align: center;
  animation: fortuneAppear 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  position: relative;
  overflow: hidden;
}

@keyframes fortuneAppear {
  0% {
    transform: scale(0.7) rotate(-5deg);
    opacity: 0;
  }
  100% {
    transform: scale(1) rotate(0deg);
    opacity: 1;
  }
}

/* Sparkle effect background */
.fortune-card::before {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle, rgba(255,255,255,0.1) 1px, transparent 1px);
  background-size: 20px 20px;
  animation: sparkleMove 20s linear infinite;
  pointer-events: none;
}

@keyframes sparkleMove {
  0% { transform: translate(0, 0); }
  100% { transform: translate(20px, 20px); }
}

/* Fortune Header */
.fortune-header {
  position: relative;
  z-index: 1;
  margin-bottom: 24px;
}

.fortune-header h2 {
  font-family: 'Chewy', cursive;
  font-size: 2rem;
  color: #fff;
  text-shadow: 
    0 0 10px rgba(153, 102, 255, 0.8),
    0 0 20px rgba(153, 102, 255, 0.6),
    2px 2px 0 rgba(0, 0, 0, 0.5);
  margin: 0 0 12px 0;
  animation: fortuneGlow 2s ease-in-out infinite;
}

@keyframes fortuneGlow {
  0%, 100% { 
    text-shadow: 
      0 0 10px rgba(153, 102, 255, 0.8),
      0 0 20px rgba(153, 102, 255, 0.6),
      2px 2px 0 rgba(0, 0, 0, 0.5);
  }
  50% { 
    text-shadow: 
      0 0 20px rgba(153, 102, 255, 1),
      0 0 30px rgba(153, 102, 255, 0.8),
      2px 2px 0 rgba(0, 0, 0, 0.5);
  }
}

/* Fortune Category Badge */
.fortune-category {
  display: inline-block;
  padding: 6px 16px;
  border-radius: 20px;
  font-family: 'Chewy', cursive;
  font-size: 0.9rem;
  text-transform: uppercase;
  font-weight: bold;
  letter-spacing: 1px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

.fortune-category-wholesome {
  background: linear-gradient(135deg, #ff6b9d, #ffa07a);
  color: #fff;
}

.fortune-category-cursed {
  background: linear-gradient(135deg, #6a0dad, #4a0080);
  color: #fff;
}

.fortune-category-funny {
  background: linear-gradient(135deg, #ffd700, #ffaa00);
  color: #2a1a4a;
}

.fortune-category-mysterious {
  background: linear-gradient(135deg, #483d8b, #2f2f4f);
  color: #e0e0ff;
}

.fortune-category-chaotic {
  background: linear-gradient(135deg, #ff1493, #ff69b4);
  color: #fff;
  animation: chaosShake 0.3s infinite;
}

@keyframes chaosShake {
  0%, 100% { transform: rotate(-1deg); }
  50% { transform: rotate(1deg); }
}

/* Fortune Content */
.fortune-content {
  position: relative;
  z-index: 1;
  margin: 24px 0;
  padding: 24px;
  background: rgba(0, 0, 0, 0.3);
  border-radius: 12px;
  border: 2px solid rgba(153, 102, 255, 0.3);
}

.fortune-text {
  font-family: 'Chewy', cursive;
  font-size: 1.3rem;
  line-height: 1.6;
  color: #fff;
  margin: 0;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
  font-style: italic;
}

/* Fortune Close Button */
.fortune-close-btn {
  position: relative;
  z-index: 1;
  background: linear-gradient(135deg, #9966ff, #ff66cc);
  color: #fff;
  border: 3px solid #fff;
  border-radius: 12px;
  padding: 12px 32px;
  font-family: 'Chewy', cursive;
  font-size: 1.1rem;
  font-weight: bold;
  cursor: pointer;
  box-shadow: 
    0 4px 12px rgba(153, 102, 255, 0.4),
    inset 0 -2px 0 rgba(0, 0, 0, 0.2);
  transition: all 0.2s ease;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.fortune-close-btn:hover {
  transform: translateY(-2px);
  box-shadow: 
    0 6px 16px rgba(153, 102, 255, 0.6),
    inset 0 -2px 0 rgba(0, 0, 0, 0.2);
}

.fortune-close-btn:active {
  transform: translateY(0);
  box-shadow: 
    0 2px 8px rgba(153, 102, 255, 0.4),
    inset 0 2px 4px rgba(0, 0, 0, 0.3);
}

/* Mobile Responsive */
@media (max-width: 600px) {
  .fortune-card {
    padding: 24px 16px;
    max-width: 95%;
  }
  
  .fortune-header h2 {
    font-size: 1.5rem;
  }
  
  .fortune-text {
    font-size: 1.1rem;
  }
  
  .fortune-close-btn {
    font-size: 1rem;
    padding: 10px 24px;
  }
}
/* ═══════════════════════════════════════════════════════════════════════
   PHASE 2C: NIGHT MODE THEME
   Darker, cozy theme that activates 6 PM - 6 AM local time
   ═══════════════════════════════════════════════════════════════════════ */

/* Night Mode CSS Variables - Override day colors */
body.night-mode {
  /* Darker background gradient */
  background: linear-gradient(180deg, #1a0a2e 0%, #16213e 50%, #0f3460 100%) !important;
  
  /* Night color palette */
  --pink:        #ff66cc;
  --pink-light:  #ff99dd;
  --pink-dark:   #cc0099;
  --purple:      #9966ff;
  --purple-light:#b399ff;
  --purple-dark: #7744dd;
  --yellow:      #ffd700;
  --cyan:        #00ddff;
  --green:       #66ff99;
  --orange:      #ff9933;
  --blue:        #5577ff;
  --white:       #f5f5f5;
  --cream:       #2a2440; /* Darker cards */
  --text:        #e8d5ff; /* Light purple text */
  --text-light:  #b399dd; /* Lighter purple for secondary text */
  --border:      #6644aa; /* Darker borders */
  --shadow:      rgba(0,0,0,0.5); /* Deeper shadows */
}

/* Night Mode Background Overlay - Darker ambient glow */
body.night-mode::before {
  background-image: 
    radial-gradient(circle at 20% 30%, rgba(153,102,255,0.2) 0%, transparent 50%),
    radial-gradient(circle at 80% 70%, rgba(102,51,204,0.2) 0%, transparent 50%),
    radial-gradient(circle at 50% 50%, rgba(255,102,204,0.1) 0%, transparent 50%);
}

/* Add subtle stars effect at night */
body.night-mode::after {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: 
    radial-gradient(2px 2px at 20% 30%, white, transparent),
    radial-gradient(2px 2px at 60% 70%, white, transparent),
    radial-gradient(1px 1px at 50% 50%, white, transparent),
    radial-gradient(1px 1px at 80% 10%, white, transparent),
    radial-gradient(2px 2px at 90% 60%, white, transparent),
    radial-gradient(1px 1px at 33% 50%, white, transparent),
    radial-gradient(1px 1px at 77% 88%, white, transparent);
  background-repeat: repeat;
  background-size: 200px 200px, 300px 300px, 250px 250px, 400px 400px, 350px 350px, 280px 280px, 380px 380px;
  opacity: 0.3;
  pointer-events: none;
  z-index: 0;
  animation: twinkle 3s ease-in-out infinite;
}

@keyframes twinkle {
  0%, 100% { opacity: 0.3; }
  50% { opacity: 0.5; }
}

/* Cards and containers - darker but still distinct */
body.night-mode .card,
body.night-mode .form-card,
body.night-mode .stat-card,
body.night-mode .pet-card,
body.night-mode .battle-card,
body.night-mode .news-post,
body.night-mode .activity-feed-box,
body.night-mode .sidebar-section,
body.night-mode .page-section,
body.night-mode .page-wrap,
body.night-mode .page-hero,
body.night-mode .welcome-section,
body.night-mode .info-card,
body.night-mode .melons-section,
body.night-mode .referral-section,
body.night-mode .news-section,
body.night-mode .streamers-section,
body.night-mode .team-section,
body.night-mode .did-you-know,
body.night-mode .tip-box,
body.night-mode .content-card,
body.night-mode .modal-content {
  background: rgba(42, 36, 64, 0.95) !important;
  border-color: #6644aa !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.6) !important;
}

/* Ensure text remains readable */
body.night-mode h1,
body.night-mode h2,
body.night-mode h3,
body.night-mode h4,
body.night-mode h5,
body.night-mode h6 {
  color: #e8d5ff !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.4) !important;
}

body.night-mode p,
body.night-mode span,
body.night-mode div,
body.night-mode label {
  color: #e8d5ff !important;
}

/* Secondary/muted text */
body.night-mode .text-light,
body.night-mode .stat-label,
body.night-mode .form-subtitle {
  color: #b399dd !important;
}

/* Links - brighter at night for visibility */
body.night-mode a {
  color: #bb99ff !important;
}

body.night-mode a:hover {
  color: #ff99dd !important;
}

/* Buttons - maintain visibility and contrast */
body.night-mode .btn-primary {
  background: linear-gradient(135deg, #9966ff, #ff66cc) !important;
  box-shadow: 0 4px 12px rgba(153, 102, 255, 0.4) !important;
}

body.night-mode .btn-outline {
  border-color: #9966ff !important;
  color: #e8d5ff !important;
}

body.night-mode .btn-outline:hover {
  background: rgba(153, 102, 255, 0.2) !important;
}

/* Navigation bar - darker but distinct */
body.night-mode .navbar {
  background: linear-gradient(135deg, #2a1a4a, #4a2a6a, #2a4a6a) !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.6) !important;
}

/* News ticker - darker variant */
body.night-mode .news-ticker {
  background: linear-gradient(90deg, #4a2a6a, #6a4a8a, #4a6a8a) !important;
  border-bottom: 3px solid rgba(153, 102, 255, 0.5) !important;
}

/* Sidebar - darker background */
body.night-mode .left-sidebar,
body.night-mode .right-sidebar {
  background: rgba(26, 10, 46, 0.7) !important;
}

/* Input fields - dark but readable */
body.night-mode input,
body.night-mode textarea,
body.night-mode select {
  background: rgba(42, 36, 64, 0.8) !important;
  border-color: #6644aa !important;
  color: #e8d5ff !important;
}

body.night-mode input::placeholder,
body.night-mode textarea::placeholder {
  color: #8866aa !important;
}

body.night-mode input:focus,
body.night-mode textarea:focus,
body.night-mode select:focus {
  border-color: #9966ff !important;
  box-shadow: 0 0 0 3px rgba(153, 102, 255, 0.2) !important;
}

/* Progress bars - maintain visibility */
body.night-mode .progress-bar {
  background: rgba(42, 36, 64, 0.9) !important;
}

body.night-mode .progress-fill {
  box-shadow: 0 0 10px rgba(153, 102, 255, 0.6) !important;
}

/* Stats display - bright colors for contrast */
body.night-mode .stat-value {
  color: #ffd700 !important;
}

/* Pet cards - maintain image visibility */
body.night-mode .pet-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 24px rgba(153, 102, 255, 0.4) !important;
}

/* Battle UI - maintain contrast */
body.night-mode .battle-arena {
  background: rgba(26, 10, 46, 0.95) !important;
}

/* Modals and overlays */
body.night-mode .modal,
body.night-mode .modal-overlay {
  background: rgba(10, 5, 20, 0.95) !important;
}

body.night-mode .modal {
  border-color: #6644aa !important;
}

/* Toast notifications */
body.night-mode .toast {
  background: rgba(42, 36, 64, 0.98) !important;
  border-color: #9966ff !important;
  color: #e8d5ff !important;
}

/* Tables - readable in dark mode */
body.night-mode table {
  background: rgba(42, 36, 64, 0.8) !important;
}

body.night-mode th {
  background: rgba(102, 68, 170, 0.4) !important;
  color: #e8d5ff !important;
}

body.night-mode td {
  border-color: #6644aa !important;
  color: #e8d5ff !important;
}

body.night-mode tr:hover {
  background: rgba(153, 102, 255, 0.1) !important;
}

/* Beta banner */
body.night-mode .beta-banner {
  background: rgba(42, 36, 64, 0.95) !important;
  border-bottom: 2px solid #6644aa !important;
}

/* Smooth transitions for theme changes */
body,
body::before,
body::after,
.card,
.navbar,
.news-ticker,
.sidebar-section,
input,
textarea,
select,
.btn,
a {
  transition: all 0.5s ease !important;
}

/* Optional: Moon icon indicator (you can add this to your navbar) */
body.night-mode .time-indicator::before {
  content: '🌙';
  margin-right: 5px;
}

body:not(.night-mode) .time-indicator::before {
  content: '☀️';
  margin-right: 5px;
}

/* Additional Night Mode Fixes for Bright Sections */

/* Welcome/Hero sections with gradient backgrounds */
body.night-mode .page-hero,
body.night-mode .welcome-section {
  background: rgba(42, 36, 64, 0.9) !important;
}

/* "Did You Know" tip boxes */
body.night-mode .did-you-know,
body.night-mode .tip-box {
  background: rgba(42, 36, 64, 0.9) !important;
  border: 2px solid #6644aa !important;
}

/* Latest News section */
body.night-mode .news-section,
body.night-mode .latest-news {
  background: rgba(42, 36, 64, 0.9) !important;
}

/* Streamers/Team section cards */
body.night-mode .streamer-card,
body.night-mode .team-card,
body.night-mode .team-member-card {
  background: rgba(42, 36, 64, 0.9) !important;
  border: 2px solid #6644aa !important;
}

/* Melon's section (character promo area) */
body.night-mode .melons-section,
body.night-mode .character-promo {
  background: rgba(42, 36, 64, 0.85) !important;
}

/* Referral/invite section */
body.night-mode .referral-section,
body.night-mode .invite-section {
  background: rgba(42, 36, 64, 0.9) !important;
}

/* Any sections with white/cream backgrounds */
body.night-mode [style*="background: #fff"],
body.night-mode [style*="background: white"],
body.night-mode [style*="background: #ffffff"],
body.night-mode [style*="background-color: #fff"],
body.night-mode [style*="background-color: white"] {
  background: rgba(42, 36, 64, 0.95) !important;
}

/* Content boxes with light backgrounds */
body.night-mode .content-box,
body.night-mode .info-panel,
body.night-mode .description-box {
  background: rgba(42, 36, 64, 0.9) !important;
  border-color: #6644aa !important;
}

/* Ensure any remaining white backgrounds are darkened */
body.night-mode div[class*="section"],
body.night-mode div[class*="card"],
body.night-mode div[class*="panel"],
body.night-mode div[class*="box"] {
  background-color: rgba(42, 36, 64, 0.9) !important;
}

/* Keep buttons and interactive elements readable */
body.night-mode .btn,
body.night-mode button {
  color: #e8d5ff !important;
}

body.night-mode .btn-primary {
  background: linear-gradient(135deg, #9966ff, #ff66cc) !important;
  color: #ffffff !important;
}

/* Images should maintain visibility */
body.night-mode img {
  opacity: 0.95;
}

/* Links remain visible */
body.night-mode a {
  color: #bb99ff !important;
}

body.night-mode a:hover {
  color: #ff99dd !important;
}

/* ═══════════════════════════════════════════════════════════════════════
   NIGHT MODE FIX - CORRECT CLASS NAMES FROM INDEX.HTML
   ═══════════════════════════════════════════════════════════════════════ */

/* Welcome Panel - Main white card */
body.night-mode .welcome-panel {
  background: rgba(42, 36, 64, 0.95) !important;
  border: 3px solid #6644aa !important;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.6) !important;
}

/* Daily Tip Box - "Did You Know?" */
body.night-mode .daily-tip-box {
  background: rgba(42, 36, 64, 0.95) !important;
  border: 3px solid #6644aa !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.6) !important;
}

body.night-mode .daily-tip-header {
  background: rgba(102, 68, 170, 0.6) !important;
  color: #e8d5ff !important;
}

body.night-mode .daily-tip-content {
  color: #e8d5ff !important;
}

/* Melon's Promo Section */
body.night-mode .melon-promo {
  background: rgba(42, 36, 64, 0.9) !important;
  border: 3px solid #6644aa !important;
}

body.night-mode .melon-promo-text {
  color: #e8d5ff !important;
}

/* Referral Card */
body.night-mode .referral-card {
  background: rgba(42, 36, 64, 0.95) !important;
  border: 3px solid #6644aa !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.6) !important;
}

body.night-mode .referral-header,
body.night-mode .referral-description,
body.night-mode .referral-reward-text {
  color: #e8d5ff !important;
}

/* Streamers Widget - Sidebar */
body.night-mode .streamers-widget {
  background: rgba(42, 36, 64, 0.95) !important;
  border: 3px solid #6644aa !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.6) !important;
}

/* Night mode scrollbar for streamers widget */
body.night-mode .streamers-widget::-webkit-scrollbar-track {
  background: rgba(102, 68, 170, 0.2) !important;
}

body.night-mode .streamers-widget::-webkit-scrollbar-thumb {
  background: #6644aa !important;
}

body.night-mode .streamers-widget::-webkit-scrollbar-thumb:hover {
  background: #7755bb !important;
}

body.night-mode .streamers-widget {
  scrollbar-color: #6644aa rgba(102, 68, 170, 0.2) !important;
}

body.night-mode .streamer-item {
  background: rgba(102, 68, 170, 0.2) !important;
  border: 2px solid #6644aa !important;
}

body.night-mode .streamer-name,
body.night-mode .streamer-status {
  color: #e8d5ff !important;
}

/* News Widget - Sidebar */
body.night-mode .news-widget {
  background: rgba(42, 36, 64, 0.95) !important;
  border: 3px solid #6644aa !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.6) !important;
}

body.night-mode .sidebar-title {
  color: #e8d5ff !important;
}

/* News items inside widget */
body.night-mode .news-widget .news-item {
  background: rgba(102, 68, 170, 0.2) !important;
  border-color: #6644aa !important;
  color: #e8d5ff !important;
}
/* ═══════════════════════════════════════════════════════════════════════
   PHASE 2D: WEATHER SYSTEM - VISUAL EFFECTS
   ═══════════════════════════════════════════════════════════════════════ */

/* Weather Widget Display */
.weather-widget {
  background: rgba(255, 255, 255, 0.95);
  border: 3px solid var(--border);
  border-radius: 15px;
  padding: 15px;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 12px;
  box-shadow: 0 4px 12px var(--shadow);
}

.weather-icon {
  font-size: 2.5rem;
  animation: weatherBob 3s ease-in-out infinite;
}

@keyframes weatherBob {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
}

.weather-info {
  flex: 1;
}

.weather-name {
  font-family: 'Chewy', cursive;
  font-size: 1.2rem;
  color: var(--purple-dark);
  margin-bottom: 4px;
}

.weather-desc {
  font-size: 0.9rem;
  color: var(--text-light);
  font-style: italic;
}

/* Sunny Weather */
body.weather-sunny {
  background: linear-gradient(180deg, #ffe8a1 0%, #ffd9a8 50%, #ffccbb 100%);
}

body.weather-sunny::before {
  background-image: 
    radial-gradient(circle at 30% 20%, rgba(255, 215, 0, 0.3) 0%, transparent 40%),
    radial-gradient(circle at 70% 80%, rgba(255, 165, 0, 0.2) 0%, transparent 40%);
}

/* Rainy Weather */
body.weather-rainy {
  background: linear-gradient(180deg, #89a8c5 0%, #6b89a8 50%, #4d6a85 100%);
}

body.weather-rainy::after {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: 
    linear-gradient(transparent 0%, transparent 40%, rgba(255,255,255,0.1) 40%, transparent 41%),
    linear-gradient(transparent 0%, transparent 70%, rgba(255,255,255,0.1) 70%, transparent 71%);
  background-size: 50px 100px, 80px 120px;
  animation: rain 0.5s linear infinite;
  pointer-events: none;
  z-index: 1;
  opacity: 0.6;
}

@keyframes rain {
  0% { background-position: 0 0, 40px 0; }
  100% { background-position: 0 100px, 40px 120px; }
}

/* Foggy Weather */
body.weather-foggy {
  background: linear-gradient(180deg, #b8c5d6 0%, #a8b5c6 50%, #98a5b6 100%);
}

body.weather-foggy::before {
  background: 
    radial-gradient(ellipse at 20% 40%, rgba(255,255,255,0.4) 0%, transparent 50%),
    radial-gradient(ellipse at 60% 70%, rgba(255,255,255,0.3) 0%, transparent 50%),
    radial-gradient(ellipse at 80% 20%, rgba(255,255,255,0.35) 0%, transparent 50%);
  animation: fogDrift 20s ease-in-out infinite;
}

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

/* Windy Weather */
body.weather-windy {
  background: linear-gradient(180deg, #d4e4f7 0%, #b4d4e7 50%, #94c4d7 100%);
}

body.weather-windy::after {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: repeating-linear-gradient(
    90deg,
    transparent,
    transparent 100px,
    rgba(255, 255, 255, 0.1) 100px,
    rgba(255, 255, 255, 0.1) 120px
  );
  animation: wind 3s linear infinite;
  pointer-events: none;
  z-index: 1;
}

@keyframes wind {
  0% { transform: translateX(0); }
  100% { transform: translateX(120px); }
}

/* Starry Night Weather */
body.weather-starry {
  background: linear-gradient(180deg, #1a0a3a 0%, #2a1a4a 50%, #3a2a5a 100%);
}

body.weather-starry::after {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: 
    radial-gradient(2px 2px at 20% 30%, white, transparent),
    radial-gradient(2px 2px at 60% 70%, white, transparent),
    radial-gradient(1px 1px at 50% 50%, white, transparent),
    radial-gradient(1px 1px at 80% 10%, white, transparent),
    radial-gradient(2px 2px at 90% 60%, white, transparent),
    radial-gradient(1px 1px at 33% 50%, white, transparent),
    radial-gradient(1px 1px at 77% 88%, white, transparent);
  background-size: 
    200px 200px, 300px 300px, 250px 250px, 
    400px 400px, 350px 350px, 280px 280px, 380px 380px;
  animation: starTwinkle 4s ease-in-out infinite;
  pointer-events: none;
  z-index: 1;
}

@keyframes starTwinkle {
  0%, 100% { opacity: 0.5; }
  50% { opacity: 0.8; }
}

/* Cursed Fog Weather */
body.weather-cursed {
  background: linear-gradient(180deg, #3a1a4a 0%, #4a2a5a 50%, #5a3a6a 100%);
}

body.weather-cursed::before {
  background: 
    radial-gradient(ellipse at 30% 30%, rgba(138, 43, 226, 0.4) 0%, transparent 50%),
    radial-gradient(ellipse at 70% 60%, rgba(148, 0, 211, 0.3) 0%, transparent 50%),
    radial-gradient(ellipse at 50% 80%, rgba(128, 0, 128, 0.35) 0%, transparent 50%);
  animation: cursedPulse 5s ease-in-out infinite;
}

@keyframes cursedPulse {
  0%, 100% { opacity: 0.6; }
  50% { opacity: 0.9; }
}

body.weather-cursed::after {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(138, 43, 226, 0.05);
  pointer-events: none;
  z-index: 1;
  animation: cursedShimmer 3s ease-in-out infinite;
}

@keyframes cursedShimmer {
  0%, 100% { background: rgba(138, 43, 226, 0.05); }
  50% { background: rgba(148, 0, 211, 0.1); }
}

/* ═══════════════════════════════════════════════════════════════════════
   PHASE 3A: WORLD EVENTS SYSTEM - EVENT BANNER
   ═══════════════════════════════════════════════════════════════════════ */

#event-banner {
  background: linear-gradient(135deg, var(--purple-light), var(--pink-light));
  border: 3px solid var(--border);
  border-radius: 15px;
  padding: 20px;
  margin: 20px auto;
  max-width: 900px;
  display: flex;
  align-items: center;
  gap: 20px;
  box-shadow: 0 6px 20px var(--shadow);
  animation: eventEntrance 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

@keyframes eventEntrance {
  0% {
    transform: scale(0.9) translateY(-20px);
    opacity: 0;
  }
  100% {
    transform: scale(1) translateY(0);
    opacity: 1;
  }
}

.event-icon {
  font-size: 3rem;
  animation: eventIconBounce 2s ease-in-out infinite;
}

@keyframes eventIconBounce {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-10px) rotate(-5deg); }
  75% { transform: translateY(-5px) rotate(5deg); }
}

.event-content {
  flex: 1;
}

.event-name {
  font-family: 'Chewy', cursive;
  font-size: 1.5rem;
  color: var(--purple-dark);
  margin-bottom: 8px;
  text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.5);
}

.event-description {
  font-size: 1rem;
  color: var(--text);
  line-height: 1.5;
}

.event-timer {
  background: rgba(255, 255, 255, 0.9);
  border: 2px solid var(--purple);
  border-radius: 10px;
  padding: 10px 16px;
  font-family: 'Chewy', cursive;
  font-size: 0.95rem;
  color: var(--purple-dark);
  white-space: nowrap;
}

/* Night Mode Adjustments */
body.night-mode .weather-widget {
  background: rgba(42, 36, 64, 0.95) !important;
  border-color: #6644aa !important;
}

body.night-mode .weather-name {
  color: #e8d5ff !important;
}

body.night-mode .weather-desc {
  color: #b399dd !important;
}

body.night-mode #event-banner {
  background: linear-gradient(135deg, rgba(153, 102, 255, 0.3), rgba(255, 102, 204, 0.3)) !important;
  border-color: #6644aa !important;
}

body.night-mode .event-name {
  color: #e8d5ff !important;
}

body.night-mode .event-description {
  color: #e8d5ff !important;
}

body.night-mode .event-timer {
  background: rgba(42, 36, 64, 0.9) !important;
  border-color: #9966ff !important;
  color: #e8d5ff !important;
}

/* Mobile Responsive */
@media (max-width: 768px) {
  #event-banner {
    flex-direction: column;
    text-align: center;
    padding: 15px;
  }
  
  .event-icon {
    font-size: 2.5rem;
  }
  
  .event-name {
    font-size: 1.3rem;
  }
  
  .event-description {
    font-size: 0.9rem;
  }
}
/* ═══════════════════════════════════════════════════════════════════════
   PHASE 2D: WEATHER SYSTEM - VISUAL EFFECTS
   ═══════════════════════════════════════════════════════════════════════ */

/* Weather Widget Display */
.weather-widget {
  background: rgba(255, 255, 255, 0.95);
  border: 3px solid var(--border);
  border-radius: 15px;
  padding: 15px;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 12px;
  box-shadow: 0 4px 12px var(--shadow);
}

.weather-icon {
  font-size: 2.5rem;
  animation: weatherBob 3s ease-in-out infinite;
}

@keyframes weatherBob {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
}

.weather-info {
  flex: 1;
}

.weather-name {
  font-family: 'Chewy', cursive;
  font-size: 1.2rem;
  color: var(--purple-dark);
  margin-bottom: 4px;
}

.weather-desc {
  font-size: 0.9rem;
  color: var(--text-light);
  font-style: italic;
}

/* Sunny Weather */
body.weather-sunny {
  background: linear-gradient(180deg, #ffe8a1 0%, #ffd9a8 50%, #ffccbb 100%);
}

body.weather-sunny::before {
  background-image: 
    radial-gradient(circle at 30% 20%, rgba(255, 215, 0, 0.3) 0%, transparent 40%),
    radial-gradient(circle at 70% 80%, rgba(255, 165, 0, 0.2) 0%, transparent 40%);
}

/* Rainy Weather */
body.weather-rainy {
  background: linear-gradient(180deg, #89a8c5 0%, #6b89a8 50%, #4d6a85 100%);
}

body.weather-rainy::after {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: 
    linear-gradient(transparent 0%, transparent 40%, rgba(255,255,255,0.1) 40%, transparent 41%),
    linear-gradient(transparent 0%, transparent 70%, rgba(255,255,255,0.1) 70%, transparent 71%);
  background-size: 50px 100px, 80px 120px;
  animation: rain 0.5s linear infinite;
  pointer-events: none;
  z-index: 1;
  opacity: 0.6;
}

@keyframes rain {
  0% { background-position: 0 0, 40px 0; }
  100% { background-position: 0 100px, 40px 120px; }
}

/* Foggy Weather */
body.weather-foggy {
  background: linear-gradient(180deg, #b8c5d6 0%, #a8b5c6 50%, #98a5b6 100%);
}

body.weather-foggy::before {
  background: 
    radial-gradient(ellipse at 20% 40%, rgba(255,255,255,0.4) 0%, transparent 50%),
    radial-gradient(ellipse at 60% 70%, rgba(255,255,255,0.3) 0%, transparent 50%),
    radial-gradient(ellipse at 80% 20%, rgba(255,255,255,0.35) 0%, transparent 50%);
  animation: fogDrift 20s ease-in-out infinite;
}

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

/* Windy Weather */
body.weather-windy {
  background: linear-gradient(180deg, #d4e4f7 0%, #b4d4e7 50%, #94c4d7 100%);
}

body.weather-windy::after {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: repeating-linear-gradient(
    90deg,
    transparent,
    transparent 100px,
    rgba(255, 255, 255, 0.1) 100px,
    rgba(255, 255, 255, 0.1) 120px
  );
  animation: wind 3s linear infinite;
  pointer-events: none;
  z-index: 1;
}

@keyframes wind {
  0% { transform: translateX(0); }
  100% { transform: translateX(120px); }
}

/* Starry Night Weather */
body.weather-starry {
  background: linear-gradient(180deg, #1a0a3a 0%, #2a1a4a 50%, #3a2a5a 100%);
}

body.weather-starry::after {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: 
    radial-gradient(2px 2px at 20% 30%, white, transparent),
    radial-gradient(2px 2px at 60% 70%, white, transparent),
    radial-gradient(1px 1px at 50% 50%, white, transparent),
    radial-gradient(1px 1px at 80% 10%, white, transparent),
    radial-gradient(2px 2px at 90% 60%, white, transparent),
    radial-gradient(1px 1px at 33% 50%, white, transparent),
    radial-gradient(1px 1px at 77% 88%, white, transparent);
  background-size: 
    200px 200px, 300px 300px, 250px 250px, 
    400px 400px, 350px 350px, 280px 280px, 380px 380px;
  animation: starTwinkle 4s ease-in-out infinite;
  pointer-events: none;
  z-index: 1;
}

@keyframes starTwinkle {
  0%, 100% { opacity: 0.5; }
  50% { opacity: 0.8; }
}

/* Cursed Fog Weather */
body.weather-cursed {
  background: linear-gradient(180deg, #3a1a4a 0%, #4a2a5a 50%, #5a3a6a 100%);
}

body.weather-cursed::before {
  background: 
    radial-gradient(ellipse at 30% 30%, rgba(138, 43, 226, 0.4) 0%, transparent 50%),
    radial-gradient(ellipse at 70% 60%, rgba(148, 0, 211, 0.3) 0%, transparent 50%),
    radial-gradient(ellipse at 50% 80%, rgba(128, 0, 128, 0.35) 0%, transparent 50%);
  animation: cursedPulse 5s ease-in-out infinite;
}

@keyframes cursedPulse {
  0%, 100% { opacity: 0.6; }
  50% { opacity: 0.9; }
}

body.weather-cursed::after {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(138, 43, 226, 0.05);
  pointer-events: none;
  z-index: 1;
  animation: cursedShimmer 3s ease-in-out infinite;
}

@keyframes cursedShimmer {
  0%, 100% { background: rgba(138, 43, 226, 0.05); }
  50% { background: rgba(148, 0, 211, 0.1); }
}

/* ═══════════════════════════════════════════════════════════════════════
   PHASE 3A: WORLD EVENTS SYSTEM - EVENT BANNER
   ═══════════════════════════════════════════════════════════════════════ */

#event-banner {
  background: linear-gradient(135deg, var(--purple-light), var(--pink-light));
  border: 3px solid var(--border);
  border-radius: 15px;
  padding: 20px;
  margin: 20px auto;
  max-width: 900px;
  display: flex;
  align-items: center;
  gap: 20px;
  box-shadow: 0 6px 20px var(--shadow);
  animation: eventEntrance 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

@keyframes eventEntrance {
  0% {
    transform: scale(0.9) translateY(-20px);
    opacity: 0;
  }
  100% {
    transform: scale(1) translateY(0);
    opacity: 1;
  }
}

.event-icon {
  font-size: 3rem;
  animation: eventIconBounce 2s ease-in-out infinite;
}

@keyframes eventIconBounce {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-10px) rotate(-5deg); }
  75% { transform: translateY(-5px) rotate(5deg); }
}

.event-content {
  flex: 1;
}

.event-name {
  font-family: 'Chewy', cursive;
  font-size: 1.5rem;
  color: var(--purple-dark);
  margin-bottom: 8px;
  text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.5);
}

.event-description {
  font-size: 1rem;
  color: var(--text);
  line-height: 1.5;
}

.event-timer {
  background: rgba(255, 255, 255, 0.9);
  border: 2px solid var(--purple);
  border-radius: 10px;
  padding: 10px 16px;
  font-family: 'Chewy', cursive;
  font-size: 0.95rem;
  color: var(--purple-dark);
  white-space: nowrap;
}

/* Night Mode Adjustments */
body.night-mode .weather-widget {
  background: rgba(42, 36, 64, 0.95) !important;
  border-color: #6644aa !important;
}

body.night-mode .weather-name {
  color: #e8d5ff !important;
}

body.night-mode .weather-desc {
  color: #b399dd !important;
}

body.night-mode #event-banner {
  background: linear-gradient(135deg, rgba(153, 102, 255, 0.3), rgba(255, 102, 204, 0.3)) !important;
  border-color: #6644aa !important;
}

body.night-mode .event-name {
  color: #e8d5ff !important;
}

body.night-mode .event-description {
  color: #e8d5ff !important;
}

body.night-mode .event-timer {
  background: rgba(42, 36, 64, 0.9) !important;
  border-color: #9966ff !important;
  color: #e8d5ff !important;
}

/* Mobile Responsive */
@media (max-width: 768px) {
  #event-banner {
    flex-direction: column;
    text-align: center;
    padding: 15px;
  }
  
  .event-icon {
    font-size: 2.5rem;
  }
  
  .event-name {
    font-size: 1.3rem;
  }
  
  .event-description {
    font-size: 0.9rem;
  }
}

/* Event Bonuses Display */
.event-bonuses {
  margin-top: 10px;
  padding: 10px 15px;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 8px;
  font-size: 0.9rem;
  color: var(--purple-dark);
  font-weight: 600;
  line-height: 1.6;
}

body.night-mode .event-bonuses {
  background: rgba(42, 36, 64, 0.8) !important;
  color: #ffd700 !important;
}

/* ═══════════════════════════════════════════════════════════
   STATISTICS PAGE STYLES
   ═══════════════════════════════════════════════════════════ */

.stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
  gap: 24px;
  margin-top: 24px;
}

.stats-section {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0.85));
  border-radius: 20px;
  padding: 24px;
  box-shadow: 0 8px 24px rgba(153, 102, 255, 0.15);
  border: 3px solid rgba(153, 102, 255, 0.3);
}

.stats-section-title {
  font-family: 'Chewy', cursive;
  font-size: 1.8rem;
  color: var(--purple);
  margin: 0 0 20px 0;
  text-align: center;
  text-shadow: 2px 2px 4px rgba(153, 102, 255, 0.2);
}

.stats-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.stat-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 18px;
  background: linear-gradient(135deg, rgba(153, 102, 255, 0.1), rgba(255, 102, 204, 0.1));
  border-radius: 12px;
  border: 2px solid rgba(153, 102, 255, 0.2);
  transition: all 0.3s ease;
}

.stat-item:hover {
  background: linear-gradient(135deg, rgba(153, 102, 255, 0.2), rgba(255, 102, 204, 0.2));
  border-color: rgba(153, 102, 255, 0.4);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(153, 102, 255, 0.2);
}

.stat-item.global {
  background: linear-gradient(135deg, rgba(255, 221, 0, 0.15), rgba(255, 153, 51, 0.15));
  border-color: rgba(255, 221, 0, 0.3);
}

.stat-item.global:hover {
  background: linear-gradient(135deg, rgba(255, 221, 0, 0.25), rgba(255, 153, 51, 0.25));
  border-color: rgba(255, 221, 0, 0.5);
}

.stat-label {
  font-family: 'Chewy', cursive;
  font-size: 1.1rem;
  color: var(--purple-dark);
  font-weight: 600;
}

.stat-value {
  font-family: 'Chewy', cursive;
  font-size: 1.3rem;
  color: var(--purple);
  font-weight: 700;
  text-shadow: 1px 1px 2px rgba(153, 102, 255, 0.2);
}

.stat-item.global .stat-value {
  color: var(--yellow);
  text-shadow: 1px 1px 2px rgba(255, 153, 51, 0.3);
}

/* Night Mode */
body.night-mode .stats-section {
  background: linear-gradient(135deg, rgba(42, 36, 64, 0.95), rgba(42, 36, 64, 0.85));
  border-color: rgba(153, 102, 255, 0.5);
}

body.night-mode .stats-section-title {
  color: #b589ff;
}

body.night-mode .stat-item {
  background: linear-gradient(135deg, rgba(153, 102, 255, 0.15), rgba(255, 102, 204, 0.15));
  border-color: rgba(153, 102, 255, 0.3);
}

body.night-mode .stat-item:hover {
  background: linear-gradient(135deg, rgba(153, 102, 255, 0.25), rgba(255, 102, 204, 0.25));
  border-color: rgba(153, 102, 255, 0.5);
}

body.night-mode .stat-item.global {
  background: linear-gradient(135deg, rgba(255, 221, 0, 0.2), rgba(255, 153, 51, 0.2));
  border-color: rgba(255, 221, 0, 0.4);
}

body.night-mode .stat-item.global:hover {
  background: linear-gradient(135deg, rgba(255, 221, 0, 0.3), rgba(255, 153, 51, 0.3));
  border-color: rgba(255, 221, 0, 0.6);
}

body.night-mode .stat-label {
  color: #e8d5ff;
}

body.night-mode .stat-value {
  color: #b589ff;
}

body.night-mode .stat-item.global .stat-value {
  color: #ffd700;
}

/* Responsive */
@media (max-width: 768px) {
  .stats-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  
  .stats-section {
    padding: 16px;
  }
  
  .stats-section-title {
    font-size: 1.5rem;
  }
  
  .stat-item {
    padding: 12px 14px;
  }
  
  .stat-label {
    font-size: 1rem;
  }
  
  .stat-value {
    font-size: 1.1rem;
  }
}

/* ═══════════════════════════════════════════════════════════
   EQUIPMENT ROTATION SYSTEM - CSS Styles
   Add this to your style.css file
   ═══════════════════════════════════════════════════════════ */

/* Rotation Banner */
.shop-rotation-banner {
  background: linear-gradient(135deg, #9966ff, #ff66cc);
  padding: 20px;
  border-radius: 15px;
  margin-bottom: 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-shadow: 0 4px 12px rgba(153, 102, 255, 0.3);
}

.rotation-week {
  font-family: 'Chewy', cursive;
  font-size: 1.5rem;
  color: white;
  font-weight: bold;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
}

.rotation-timer {
  font-family: 'Chewy', cursive;
  font-size: 1.1rem;
  color: rgba(255, 255, 255, 0.95);
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
}

#rotation-countdown {
  color: #ffdd00;
  font-weight: bold;
}

/* Equipment Grid */
.equipment-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 20px;
}

/* Two-Column Equipment Shop Layout */
.equipment-shop-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  margin-top: 24px;
}

.equipment-column {
  display: flex;
  flex-direction: column;
}

.equipment-column-title {
  font-family: 'Chewy', cursive;
  font-size: 1.5rem;
  color: var(--purple);
  margin: 0 0 16px 0;
  text-align: center;
  padding: 12px;
  background: linear-gradient(135deg, rgba(153, 102, 255, 0.15), rgba(255, 102, 204, 0.15));
  border-radius: 12px;
  border: 2px solid var(--purple-light);
}

.equipment-grid-column {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* Responsive - Stack columns on mobile */
@media (max-width: 900px) {
  .equipment-shop-columns {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

@media (max-width: 768px) {
  .equipment-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

/* Equipment Card */
.equipment-card {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0.85));
  border-radius: 15px;
  padding: 20px;
  box-shadow: 0 4px 12px rgba(153, 102, 255, 0.15);
  border: 3px solid rgba(153, 102, 255, 0.3);
  transition: all 0.3s ease;
  position: relative;
}

.equipment-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 20px rgba(153, 102, 255, 0.3);
}

/* Rarity Colors */
.equipment-card.rarity-common {
  border-color: rgba(153, 153, 153, 0.5);
}

.equipment-card.rarity-uncommon {
  border-color: rgba(46, 204, 113, 0.6);
}

.equipment-card.rarity-rare {
  border-color: rgba(52, 152, 219, 0.7);
}

.equipment-card.rarity-legendary {
  border-color: rgba(241, 196, 15, 0.8);
  background: linear-gradient(135deg, rgba(255, 248, 220, 0.95), rgba(255, 243, 205, 0.85));
  box-shadow: 0 4px 20px rgba(241, 196, 15, 0.4);
}

.equipment-card.rarity-legendary:hover {
  box-shadow: 0 8px 30px rgba(241, 196, 15, 0.6);
}

/* Already Owned */
.equipment-card.owned {
  opacity: 0.7;
  border-style: dashed;
}

/* Boss Drop Badge */
.boss-drop-badge {
  position: absolute;
  top: 10px;
  right: 10px;
  background: linear-gradient(135deg, #e74c3c, #c0392b);
  color: white;
  padding: 4px 10px;
  border-radius: 10px;
  font-size: 0.75rem;
  font-weight: bold;
  box-shadow: 0 2px 6px rgba(231, 76, 60, 0.4);
}

/* Equipment Name */
.equipment-name {
  font-family: 'Chewy', cursive;
  font-size: 1.3rem;
  color: var(--purple);
  margin: 0 0 8px 0;
  text-shadow: 1px 1px 2px rgba(153, 102, 255, 0.2);
}

.equipment-card.rarity-legendary .equipment-name {
  color: #f39c12;
}

/* Equipment Description */
.equipment-description {
  font-size: 0.9rem;
  color: var(--text-light);
  margin: 0 0 12px 0;
  font-style: italic;
  min-height: 40px;
}

/* Equipment Stats */
.equipment-stats {
  background: rgba(153, 102, 255, 0.1);
  border-radius: 10px;
  padding: 12px;
  margin-bottom: 12px;
}

.equipment-type {
  font-family: 'Chewy', cursive;
  font-size: 0.95rem;
  color: var(--purple-dark);
  font-weight: bold;
  margin-bottom: 4px;
}

.equipment-tier {
  font-size: 0.85rem;
  color: var(--text-light);
  margin-bottom: 8px;
  font-weight: 600;
}

.equipment-stats .stat {
  font-size: 0.9rem;
  color: var(--text);
  margin: 4px 0;
  font-weight: 600;
}

/* Equipment Price */
.equipment-price {
  font-family: 'Chewy', cursive;
  font-size: 1.2rem;
  color: var(--yellow);
  text-align: center;
  margin-bottom: 12px;
  font-weight: bold;
  text-shadow: 1px 1px 2px rgba(255, 153, 51, 0.3);
}

.equipment-price.boss-drop-price {
  color: #e74c3c;
  font-size: 0.9rem;
}

/* Buttons */
.equipment-card .btn {
  width: 100%;
  padding: 10px;
  font-family: 'Chewy', cursive;
  font-size: 1rem;
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.2s;
}

.equipment-card .btn-primary {
  background: linear-gradient(135deg, #9966ff, #ff66cc);
  color: white;
  border: none;
  box-shadow: 0 4px 8px rgba(153, 102, 255, 0.3);
}

.equipment-card .btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 12px rgba(153, 102, 255, 0.4);
}

.equipment-card .btn-owned {
  background: rgba(46, 204, 113, 0.8);
  color: white;
  border: none;
  cursor: default;
}

.equipment-card .btn-locked {
  background: rgba(149, 165, 166, 0.8);
  color: white;
  border: none;
  cursor: not-allowed;
}

.equipment-card .btn-legendary {
  background: linear-gradient(135deg, #f39c12, #e67e22);
  color: white;
  border: none;
  cursor: default;
  box-shadow: 0 4px 12px rgba(243, 156, 18, 0.4);
}

/* Night Mode */
body.night-mode .shop-rotation-banner {
  background: linear-gradient(135deg, #6a4dbf, #bf4d9a);
}

body.night-mode .equipment-card {
  background: linear-gradient(135deg, rgba(42, 36, 64, 0.95), rgba(42, 36, 64, 0.85));
  border-color: rgba(153, 102, 255, 0.5);
}

body.night-mode .equipment-card.rarity-legendary {
  background: linear-gradient(135deg, rgba(64, 48, 16, 0.95), rgba(64, 48, 16, 0.85));
}

body.night-mode .equipment-name {
  color: #b589ff;
}

body.night-mode .equipment-card.rarity-legendary .equipment-name {
  color: #ffd700;
}

body.night-mode .equipment-description {
  color: #e8d5ff;
}

body.night-mode .equipment-stats {
  background: rgba(153, 102, 255, 0.2);
}

body.night-mode .equipment-type {
  color: #b589ff;
}

body.night-mode .equipment-tier,
body.night-mode .equipment-stats .stat {
  color: #e8d5ff;
}

/* Equipment Column Titles Night Mode */
body.night-mode .equipment-column-title {
  color: #b589ff;
  background: linear-gradient(135deg, rgba(153, 102, 255, 0.25), rgba(255, 102, 204, 0.25));
  border-color: #9966ff;
}

/* ═══════════════════════════════════════════════════════════
   NIGHT MODE - MANAGE BUTTON & EQUIPMENT MODAL
   ═══════════════════════════════════════════════════════════ */

/* Manage Button Night Mode */
body.night-mode .btn-sm {
  background: rgba(153, 102, 255, 0.3) !important;
  color: #e8d5ff !important;
  border: 1px solid #9966ff !important;
}

body.night-mode .btn-sm:hover {
  background: rgba(153, 102, 255, 0.5) !important;
  color: #ffffff !important;
}

/* Equipment Modal Dynamic Night Mode */
body.night-mode .equipment-modal-dynamic .equipment-modal-content {
  background: rgba(42, 36, 64, 0.98) !important;
  color: #e8d5ff !important;
  border: 3px solid #9966ff !important;
}

body.night-mode .equipment-modal-dynamic h2,
body.night-mode .equipment-modal-dynamic h3 {
  color: #b589ff !important;
}

body.night-mode .equipment-modal-dynamic .equipment-slot {
  background: rgba(153, 102, 255, 0.15) !important;
  border-color: #9966ff !important;
  color: #e8d5ff !important;
}

body.night-mode .equipment-modal-dynamic .equipment-slot.equipped {
  background: rgba(153, 102, 255, 0.25) !important;
  border-color: #b589ff !important;
}

body.night-mode .equipment-modal-dynamic .equipment-slot-label {
  color: #b589ff !important;
}

body.night-mode .equipment-modal-dynamic .equipment-slot-name {
  color: #ffffff !important;
}

body.night-mode .equipment-modal-dynamic .equipment-slot-bonus {
  color: #5dde7a !important;
}

body.night-mode .equipment-modal-dynamic .equipment-card {
  background: rgba(153, 102, 255, 0.1) !important;
  border-color: #9966ff !important;
  color: #e8d5ff !important;
}

body.night-mode .equipment-modal-dynamic .equipment-name {
  color: #ffffff !important;
}

body.night-mode .equipment-modal-dynamic .equipment-bonuses {
  color: #5dde7a !important;
}

body.night-mode .equipment-modal-dynamic .btn-primary {
  background: linear-gradient(135deg, #9966ff, #b589ff) !important;
  color: #ffffff !important;
  border: none !important;
}

body.night-mode .equipment-modal-dynamic .btn-primary:hover {
  background: linear-gradient(135deg, #b589ff, #c9a3ff) !important;
  transform: translateY(-2px);
}

body.night-mode .equipment-modal-dynamic .btn-outline {
  background: transparent !important;
  color: #b589ff !important;
  border: 2px solid #9966ff !important;
}

body.night-mode .equipment-modal-dynamic .btn-outline:hover {
  background: rgba(153, 102, 255, 0.2) !important;
  color: #ffffff !important;
}

/* Empty State Night Mode */
body.night-mode .equipment-modal-dynamic .shop-grid > div[style*="background:rgba(153,102,255,0.1)"] {
  background: rgba(153, 102, 255, 0.15) !important;
}

body.night-mode .equipment-modal-dynamic p {
  color: #e8d5ff !important;
}

/* ═══════════════════════════════════════════════════════════
   NIGHT MODE - PROFILE/LOGOUT BUTTONS & WARNINGS
   ═══════════════════════════════════════════════════════════ */

/* Profile & Logout Buttons - Better Contrast */
body.night-mode .btn-nav-action {
  background: linear-gradient(135deg, #ffd700, #ffaa00) !important;
  color: #1a0a2e !important;
  border: 3px solid rgba(255, 215, 0, 0.6) !important;
  box-shadow: 0 4px 12px rgba(255, 215, 0, 0.3) !important;
}

body.night-mode .btn-nav-action:hover {
  background: linear-gradient(135deg, #ffed4e, #ffd700) !important;
  color: #0f0619 !important;
  box-shadow: 0 6px 16px rgba(255, 215, 0, 0.5) !important;
}

/* Pet Needs Attention Warning - Better Contrast */
body.night-mode .sadness-warning {
  background: linear-gradient(135deg, rgba(255, 107, 107, 0.25), rgba(255, 82, 82, 0.25)) !important;
  border: 3px solid #ff6b6b !important;
  color: #ffcccc !important;
  box-shadow: 0 4px 12px rgba(255, 107, 107, 0.3) !important;
}

/* View All Team Members Button - Better Contrast */
body.night-mode .btn-outline {
  background: rgba(153, 102, 255, 0.15) !important;
  border: 3px solid #9966ff !important;
  color: #e8d5ff !important;
  font-weight: 600 !important;
}

body.night-mode .btn-outline:hover {
  background: rgba(153, 102, 255, 0.3) !important;
  border-color: #b589ff !important;
  color: #ffffff !important;
}

/* Responsive */
@media (max-width: 768px) {
  .shop-rotation-banner {
    flex-direction: column;
    gap: 10px;
    text-align: center;
  }
  
  .equipment-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  
  .rotation-week {
    font-size: 1.2rem;
  }
  
  .rotation-timer {
    font-size: 0.95rem;
  }
}
