/* ==========================================
   DESIGN SYSTEM & VARIABLES
   ========================================== */
:root {
  /* Dimensions - Desktop Defaults */
  --centerpiece-size: 442px;
  --star-size: 355px;
  --logo-size: 306px;
  --glow-size: 255px;
  
  --social-btn-size: 50px;
  --social-icon-size: 25px;
  --social-gap: 25px;
  
  --cta-width: 255px;
  --cta-height: 56px;
  --cta-font: 17px;
  
  /* Typography - Desktop Defaults */
  --title-font: 45px;
  --subtitle-font: 21px;
}

/* ==========================================
   RESET & GLOBALS
   ========================================== */
html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  background-color: #000000;
  color: #ffffff;
  font-family: 'Unbounded', Arial, sans-serif;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

/* ==========================================
   LANDING LAYOUT WRAPPER
   ========================================== */
.landing-wrapper {
  position: relative;
  width: 100%;
  min-height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  box-sizing: border-box;
}

/* ==========================================
   BACKGROUNDS & DECORATIONS
   ========================================== */
/* Slow-drifting space nebula background */
.space-bg {
  position: absolute;
  top: -15%;
  left: -15%;
  width: 130%;
  height: 130%;
  background-image: url('assets/bg_space.jpg');
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  opacity: 0.7;
  z-index: 1;
  pointer-events: none;
  animation: space-drift 20s ease-in-out infinite;
  will-change: transform;
}

/* Linear-to-bottom dark gradient overlay */
.bg-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, rgba(17, 17, 17, 0) 0%, rgba(0, 0, 0, 0.95) 100%);
  z-index: 2;
  pointer-events: none;
}

/* Ornaments container layer */
.ornaments-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 3;
  pointer-events: none;
}

.ornament {
  position: absolute;
  pointer-events: none;
  will-change: transform;
}

.ornament-1 {
  width: 255px;
  height: 255px;
  right: -30px;
  bottom: 8%;
  filter: blur(6px);
  transform: rotate(67deg);
  animation: float-ornament-1 12s ease-in-out infinite;
}

.ornament-2 {
  width: 350px;
  height: 350px;
  left: -80px;
  top: -120px;
  filter: blur(7px);
  transform: rotate(306deg);
  animation: float-ornament-2 14s ease-in-out infinite;
}

.ornament-3 {
  width: 163px;
  height: 163px;
  right: 6%;
  top: 10%;
  transform: rotate(36deg);
  animation: float-ornament-3 10s ease-in-out infinite;
}

.ornament-4 {
  width: 152px;
  height: 152px;
  left: -20px;
  bottom: 18%;
  transform: rotate(314deg);
  animation: float-ornament-4 11s ease-in-out infinite;
}

/* ==========================================
   CONTENT LAYOUT
   ========================================== */
.content-container {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 900px;
  padding: 40px 20px;
  box-sizing: border-box;
  text-align: center;
  z-index: 10;
}

/* ==========================================
   CENTERPIECE Rotating Rings & Logo
   ========================================== */
.centerpiece {
  position: relative;
  width: var(--centerpiece-size);
  height: var(--centerpiece-size);
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 25px;
  will-change: transform;
}

/* Glowing backdrops */
.center-glow {
  position: absolute;
  width: var(--glow-size);
  height: var(--glow-size);
  background-color: #ffffff;
  filter: blur(50px);
  border-radius: 50%;
  pointer-events: none;
}

.glow-1 {
  z-index: 4;
  opacity: 0.12;
  animation: glow-pulse 6s ease-in-out infinite alternate;
}

.glow-2 {
  z-index: 5;
  opacity: 0.15;
  animation: glow-pulse 6s ease-in-out infinite alternate-reverse;
}

/* Spinning backgrounds */
.center-ring {
  position: absolute;
  width: var(--centerpiece-size);
  height: var(--centerpiece-size);
  z-index: 6;
  animation: spin-counter-clockwise 30s linear infinite;
  pointer-events: none;
  will-change: transform;
}

.center-star {
  position: absolute;
  width: var(--star-size);
  height: var(--star-size);
  z-index: 7;
  opacity: 0.7;
  animation: spin-clockwise 10s linear infinite;
  pointer-events: none;
  will-change: transform;
}

/* Central logo */
.center-logo {
  position: absolute;
  width: var(--logo-size);
  height: var(--logo-size);
  z-index: 8;
  animation: logo-pulse 6s ease-in-out infinite;
  will-change: transform;
}

/* ==========================================
   TYPOGRAPHY
   ========================================== */
.title {
  font-size: var(--title-font);
  font-weight: 500;
  text-transform: uppercase;
  line-height: 1.5;
  margin: 0 0 12px 0;
  color: #ffffff;
  letter-spacing: 0.02em;
  text-shadow: 0 0 25px rgba(255, 255, 255, 0.15);
}

.subtitle {
  font-size: var(--subtitle-font);
  font-weight: 400;
  text-transform: uppercase;
  line-height: 1.55;
  margin: 0 0 35px 0;
  opacity: 0.7;
  letter-spacing: 0.01em;
  
  /* Metallic Text Gradient */
  color: transparent;
  background-image: linear-gradient(0.141turn, rgba(255, 255, 255, 1) 29%, rgba(248, 248, 248, 1) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  
  display: inline-block;
  max-width: 600px;
}

/* ==========================================
   SOCIAL ROW
   ========================================== */
.social-row {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--social-gap);
  margin-bottom: 40px;
}

.social-btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--social-btn-size);
  height: var(--social-btn-size);
  border-radius: 50%;
  text-decoration: none;
  overflow: hidden;
  z-index: 1;
  opacity: 0.95;
  transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.2s ease-in-out;
}

/* Custom background transition overlays */
.social-btn::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(0.141turn, rgba(161, 161, 161, 1) 17%, rgba(255, 255, 255, 1) 70%);
  z-index: -2;
  transition: opacity 0.2s ease-in-out;
}

.social-btn::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(0.141turn, rgba(222, 222, 222, 1) 0%, rgba(64, 64, 64, 1) 100%);
  z-index: -1;
  opacity: 0;
  transition: opacity 0.2s ease-in-out;
}

.social-btn img {
  width: var(--social-icon-size);
  height: auto;
  z-index: 2;
  transition: transform 0.2s ease-in-out;
}

/* Custom Box Shadows */
.btn-medium { box-shadow: 0px 0px 20px 0px rgba(0, 171, 108, 0.2); }
.btn-tg { box-shadow: 0px 0px 20px 0px rgba(179, 129, 224, 0.2); }
.btn-uniswap { box-shadow: 0px 0px 20px 0px rgba(224, 198, 129, 0.2); }
.btn-dextools { box-shadow: 0px 0px 20px 0px rgba(224, 198, 129, 0.2); }
.btn-coin { box-shadow: 0px 0px 20px 0px rgba(224, 198, 129, 0.2); }
.btn-etherscan { box-shadow: 0px 0px 20px 0px rgba(224, 198, 129, 0.2); }

/* Hover effects */
.social-btn:hover {
  transform: scale(1.1);
}

.social-btn:hover::after {
  opacity: 1;
}

.social-btn:hover img {
  transform: scale(1.1);
}

.btn-medium:hover { box-shadow: 0px 0px 25px 0px rgba(0, 171, 108, 0.5); }
.btn-tg:hover { box-shadow: 0px 0px 25px 0px rgba(179, 129, 224, 0.5); }
.btn-uniswap:hover { box-shadow: 0px 0px 25px 0px rgba(224, 198, 129, 0.5); }
.btn-dextools:hover { box-shadow: 0px 0px 25px 0px rgba(224, 198, 129, 0.5); }
.btn-coin:hover { box-shadow: 0px 0px 25px 0px rgba(224, 198, 129, 0.5); }
.btn-etherscan:hover { box-shadow: 0px 0px 25px 0px rgba(224, 198, 129, 0.5); }

/* Inactive button */
.social-btn.inactive {
  cursor: not-allowed;
  opacity: 0.6;
}

/* ==========================================
   ANNOUNCEMENT CARD (MIGRATION)
   ========================================== */
.announcement-card {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  padding: 20px 25px;
  margin-bottom: 35px;
  max-width: 600px;
  width: 100%;
  box-sizing: border-box;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.37);
  text-align: left;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.announcement-card:hover {
  border-color: rgba(255, 255, 255, 0.15);
  box-shadow: 0 8px 32px 0 rgba(255, 255, 255, 0.02), 0 0 15px rgba(255, 255, 255, 0.03);
}

.announcement-text {
  font-size: 14px;
  line-height: 1.6;
  margin: 0 0 15px 0;
  color: rgba(255, 255, 255, 0.9);
  font-weight: 400;
  text-transform: none; /* Keep natural case */
}

.ca-box {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: rgba(255, 59, 48, 0.02);
  border: 1px solid rgba(255, 59, 48, 0.15);
  border-radius: 8px;
  padding: 10px 14px;
  margin-bottom: 10px;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}

.ca-box:last-child {
  margin-bottom: 0;
}

.ca-box.new-ca {
  border-color: rgba(0, 255, 136, 0.2);
  background: rgba(0, 255, 136, 0.03);
}

.ca-details {
  display: flex;
  align-items: center;
  overflow: hidden;
  flex: 1;
}

.ca-label {
  color: rgba(255, 59, 48, 0.5);
  font-weight: bold;
  margin-right: 10px;
  font-family: 'Unbounded', sans-serif;
  font-size: 11px;
  white-space: nowrap;
}

.ca-value {
  color: rgba(255, 255, 255, 0.4);
  font-family: monospace;
  font-size: 13px;
  word-break: break-all;
  user-select: all;
  text-decoration: line-through;
  text-decoration-color: #ff3b30;
  transition: color 0.2s ease;
}

.ca-box.new-ca .ca-label {
  color: #00ff88;
}

.ca-box.new-ca .ca-value {
  color: #ffffff;
  font-weight: 500;
  text-decoration: none;
  text-shadow: 0 0 10px rgba(0, 255, 136, 0.25);
}

.copy-badge {
  font-size: 10px;
  text-transform: uppercase;
  font-family: 'Unbounded', sans-serif;
  color: rgba(255, 255, 255, 0.4);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 4px;
  padding: 3px 6px;
  margin-left: 10px;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}

.ca-box:not(.new-ca):hover {
  border-color: rgba(255, 59, 48, 0.35);
  background-color: rgba(255, 59, 48, 0.04);
  cursor: pointer;
}

.ca-box.new-ca:hover {
  border-color: rgba(0, 255, 136, 0.45);
  background-color: rgba(0, 255, 136, 0.06);
  cursor: pointer;
}

.ca-box:not(.new-ca):hover .copy-badge {
  color: #ff3b30;
  background: rgba(255, 59, 48, 0.1);
  border-color: rgba(255, 59, 48, 0.3);
}

.ca-box.new-ca:hover .copy-badge {
  color: #00ff88;
  background: rgba(0, 255, 136, 0.1);
  border-color: rgba(0, 255, 136, 0.3);
}

.ca-box.copied .copy-badge {
  color: #00ff88 !important;
  border-color: #00ff88 !important;
  background: rgba(0, 255, 136, 0.1) !important;
}

/* ==========================================
   CTA BUTTON
   ========================================= */
.cta-btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--cta-width);
  height: var(--cta-height);
  font-family: 'Unbounded', Arial, sans-serif;
  font-size: var(--cta-font);
  font-weight: 700;
  color: #1f1f1f;
  text-decoration: none;
  border-radius: 20px;
  box-shadow: 0px 0px 40px 0px rgba(255, 255, 255, 0.3);
  overflow: hidden;
  z-index: 1;
  transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.2s ease-in-out, color 0.2s ease-in-out;
  animation: button-pulse 4s ease-in-out infinite;
  will-change: transform;
}

.cta-btn::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(0.141turn, rgba(127, 127, 127, 1) 0%, rgba(255, 255, 255, 1) 100%);
  z-index: -2;
  transition: opacity 0.2s ease-in-out;
}

.cta-btn::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(0.141turn, rgba(255, 255, 255, 1) 0%, rgba(216, 216, 216, 1) 100%);
  z-index: -1;
  opacity: 0;
  transition: opacity 0.2s ease-in-out;
}

.cta-btn:hover {
  color: #404040;
  box-shadow: 0px 0px 50px 0px rgba(255, 255, 255, 0.5);
  animation-play-state: paused;
  transform: scale(1.08);
}

.cta-btn:hover::after {
  opacity: 1;
}

/* ==========================================
   ANIMATIONS & KEYFRAMES
   ========================================== */
/* Continuous spin clockwise */
@keyframes spin-clockwise {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

/* Continuous spin counter-clockwise */
@keyframes spin-counter-clockwise {
  from { transform: rotate(0deg); }
  to { transform: rotate(-360deg); }
}

/* Pulsing center logo */
@keyframes logo-pulse {
  0% { transform: scale(1); }
  50% { transform: scale(1.06); }
  100% { transform: scale(1); }
}

/* Pulsing CTA button */
@keyframes button-pulse {
  0% { transform: scale(1); }
  50% { transform: scale(1.05); }
  100% { transform: scale(1); }
}

/* Radial glow pulsing */
@keyframes glow-pulse {
  from { transform: scale(1); opacity: 0.1; }
  to { transform: scale(1.08); opacity: 0.2; }
}

/* Nebula background parallax drift */
@keyframes space-drift {
  0% {
    transform: scale(1) rotate(0deg) translate(0, 0);
  }
  50% {
    transform: scale(1.15) rotate(5deg) translate(-15px, -15px);
  }
  100% {
    transform: scale(1) rotate(0deg) translate(0, 0);
  }
}

/* Ornament drifts */
@keyframes float-ornament-1 {
  0% { transform: rotate(67deg) translate(0, 0) scale(1); }
  50% { transform: rotate(80deg) translate(10px, 10px) scale(1.06); }
  100% { transform: rotate(67deg) translate(0, 0) scale(1); }
}

@keyframes float-ornament-2 {
  0% { transform: rotate(306deg) translate(0, 0) scale(1); }
  50% { transform: rotate(327deg) translate(-10px, -10px) scale(1.06); }
  100% { transform: rotate(306deg) translate(0, 0) scale(1); }
}

@keyframes float-ornament-3 {
  0% { transform: rotate(36deg) translate(0, 0) scale(1); }
  50% { transform: rotate(22deg) translate(15px, 10px) scale(1.06); }
  100% { transform: rotate(36deg) translate(0, 0) scale(1); }
}

@keyframes float-ornament-4 {
  0% { transform: rotate(314deg) translate(0, 0) scale(1); }
  50% { transform: rotate(291deg) translate(-10px, 10px) scale(1.06); }
  100% { transform: rotate(314deg) translate(0, 0) scale(1); }
}


/* ==========================================
   RESPONSIVE DESIGN (MEDIA QUERIES)
   ========================================== */

/* Tablet Viewport (Breakpoints <= 959px) */
@media screen and (max-width: 959px) {
  :root {
    --title-font: 30px;
    --subtitle-font: 18px;
  }
  
  .ornament-1 { width: 180px; height: 180px; right: -20px; bottom: 12%; }
  .ornament-2 { width: 250px; height: 250px; left: -60px; top: -80px; }
  .ornament-3 { width: 120px; height: 120px; right: 4%; top: 12%; }
  .ornament-4 { width: 110px; height: 110px; left: -10px; bottom: 22%; }
}

/* Small Tablet / Phablet Viewport (Breakpoints <= 639px) */
@media screen and (max-width: 639px) {
  :root {
    --centerpiece-size: 360px;
    --star-size: 290px;
    --logo-size: 250px;
    --glow-size: 210px;
    
    --title-font: 24px;
    --subtitle-font: 16px;
    
    --social-btn-size: 46px;
    --social-icon-size: 23px;
    --social-gap: 16px;
  }
  
  .ornament-1 { width: 130px; height: 130px; right: -15px; bottom: 15%; }
  .ornament-2 { width: 180px; height: 180px; left: -40px; top: -60px; }
  .ornament-3 { width: 90px; height: 90px; right: 3%; top: 10%; }
  .ornament-4 { width: 80px; height: 80px; left: -5px; bottom: 20%; }
  
  /* Announcement responsive styles */
  .announcement-card {
    padding: 15px;
    margin-bottom: 25px;
  }
  .announcement-text {
    font-size: 13px;
    margin-bottom: 12px;
  }
  .ca-box {
    padding: 8px 10px;
  }
  .ca-label {
    font-size: 9px;
  }
  .ca-value {
    font-size: 11px;
  }
  .copy-badge {
    font-size: 8px;
    padding: 2px 4px;
  }
}

/* Mobile Viewport (Breakpoints <= 479px) */
@media screen and (max-width: 479px) {
  :root {
    --centerpiece-size: 300px;
    --star-size: 240px;
    --logo-size: 208px;
    --glow-size: 173px;
    
    --title-font: 20px;
    --subtitle-font: 14px;
    
    --social-btn-size: 42px;
    --social-icon-size: 21px;
    --social-gap: 12px;
    
    --cta-width: 220px;
    --cta-height: 48px;
    --cta-font: 15px;
  }
  
  .content-container {
    padding: 30px 15px;
  }
  
  .title {
    margin-bottom: 8px;
  }
  
  .subtitle {
    margin-bottom: 25px;
  }
  
  .social-row {
    margin-bottom: 30px;
  }
  
  /* Adjust background ornaments on small mobile to avoid layout crowding */
  .ornament-1 { width: 90px; height: 90px; right: -10px; bottom: 18%; }
  .ornament-2 { width: 130px; height: 130px; left: -30px; top: -40px; }
  .ornament-3 { width: 60px; height: 60px; right: 2%; top: 8%; }
  .ornament-4 { width: 55px; height: 55px; left: -5px; bottom: 24%; }
}
