/* Hypebeast neon theme for GigaDoge - paste over styles.css */

/* Reset */
* { box-sizing: border-box; margin: 0; padding: 0; }
html,body { height:100%; }

/* fallback background on <html> so very old browsers still look OK */
html { background: #08060a; height:100%; }

body {
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  color: #fff;
  -webkit-font-smoothing: antialiased;
  /* make body transparent so decorative ::before shows */
  background: transparent;
  position: relative;
  min-height: 100%;
}

/* page layout */
.page { min-height:100vh; display:flex; flex-direction:column; align-items:center; gap:1rem; padding:2.75rem 1rem; position:relative; overflow-x:hidden; }

/* Neon background blobs - render behind content but above html fallback */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  background: 
    radial-gradient(600px 300px at 10% 20%, rgba(255, 45, 149, 0.5), transparent 30%),
    radial-gradient(700px 350px at 80% 80%, rgba(0, 255, 240, 0.4), transparent 30%),
    linear-gradient(180deg, rgba(97, 63, 11, 0.9), rgba(20, 5, 40, 0.95));
  background-size: 200% 200%;
  animation: neonpan 26s linear infinite;
  filter: saturate(140%) contrast(115%);
}

@keyframes neonpan {
  0% { background-position: 0% 0%; }
  50% { background-position: 100% 100%; }
  100% { background-position: 0% 0%; }
}


/* Hero */
.hero { text-align:center; max-width:1100px; margin:0 auto; z-index:1; position:relative; }
.logo img { width:170px; max-width:42vw; height:auto; display:block; margin:0 auto 0.9rem; border-radius:16px; box-shadow: 0 20px 60px rgba(255,45,149,0.07); border: 1px solid rgba(255,255,255,0.03); }
.title {
  font-size:3.2rem; letter-spacing:-1px; text-shadow: 0 8px 30px rgba(0,0,0,0.7); margin-bottom:0.25rem;
  /* gradient text */
  background: linear-gradient(90deg,#ff2d95,#00fff0);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}
.tagline { color: rgba(255,255,255,0.9); margin-bottom:1rem; font-weight:600; }

/* Buttons - neon */
.hero-ctas { display:flex; gap:0.75rem; justify-content:center; flex-wrap:wrap; margin-top:1rem; z-index:2; }
.btn { padding:0.65rem 1rem; border-radius:999px; border:none; cursor:pointer; font-weight:800; display:inline-flex; align-items:center; justify-content:center; transition: transform .12s ease, box-shadow .12s ease; text-decoration:none; color:#081018; }
.btn-primary { background: linear-gradient(90deg,#ff2d95,#00fff0); box-shadow: 0 10px 40px rgba(0,255,240,0.08), 0 4px 20px rgba(255,45,149,0.06); color:#031018; padding:0.7rem 1.1rem; }
.btn-primary:active { transform: translateY(1px); }
.btn-outline { background: rgba(255,255,255,0.03); border:1px solid rgba(0,255,240,0.08); color:#fff; padding:0.6rem 1rem; }

/* Buy button - distinct style */
.btn-buy {
  background: linear-gradient(90deg,#fff176, #ff80ab);
  color:#081018;
  padding:0.65rem 1rem;
  border-radius:999px;
  font-weight:900;
  display:inline-flex;
  gap:0.5rem;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  border: 1px solid rgba(255,255,255,0.06);
  box-shadow: 0 12px 40px rgba(255,128,171,0.06), 0 4px 18px rgba(255,241,118,0.04);
}
.btn-buy:active { transform: translateY(1px); }

/* Cards */
.card { width:min(980px,96%); background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01)); border-radius:14px; padding:1.25rem; backdrop-filter: blur(6px) saturate(120%); box-shadow: 0 10px 40px rgba(2,6,23,0.6); border:1px solid rgba(255,255,255,0.03); margin:0.6rem auto; }
.card h2 { margin-bottom:0.6rem; font-size:1.2rem; color:#fff; }

/* Competition specific */
.competition-header { display:flex; flex-direction:column; gap:0.4rem; }
.meme-form { display:flex; flex-direction:column; gap:0.65rem; }
.field span { display:block; margin-bottom:0.35rem; font-weight:600; color:rgba(255,255,255,0.9); }
.field input[type="url"], .field input[type="text"], .field input[type="file"] { width:100%; padding:0.6rem; border-radius:10px; border:1px solid rgba(255,255,255,0.06); background:rgba(0,0,0,0.35); color:#fff; outline:none; }
.hint { font-size:0.82rem; color:rgba(255,255,255,0.6); margin-top:0.2rem; }

.meme-preview { display:none; margin-top:0.5rem; }
.meme-preview img { max-width:320px; border-radius:10px; box-shadow: 0 10px 30px rgba(0,0,0,0.6); border: 2px solid rgba(255,255,255,0.02); display:block; }

/* Meme gallery */
.gallery-title { margin-top:0.75rem; margin-bottom:0.45rem; }
.meme-gallery { display:grid; gap:0.7rem; grid-template-columns: repeat(auto-fit, minmax(180px,1fr)); }
.meme-card { background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(0,0,0,0.03)); padding:0.5rem; border-radius:10px; display:flex; flex-direction:column; gap:0.5rem; align-items:center; justify-content:center; }
.meme-card img { width:100%; height:auto; border-radius:8px; object-fit:cover; }
.meme-card figcaption { width:100%; display:flex; justify-content:space-between; gap:0.5rem; align-items:center; font-size:0.78rem; color:rgba(255,255,255,0.85); }
.meme-link { color:#00fff0; text-decoration:none; font-weight:700; }

/* footer */
.footer { margin-top:1rem; opacity:0.9; color:rgba(255,255,255,0.9); border-top:2px solid rgba(255,255,255,0.02); padding-top:0.8rem; }

/* responsive */
@media (max-width:700px){ .title{font-size:2rem;} .logo img{max-width:140px;} .card{padding:0.9rem;} .meme-preview img{max-width:240px;} }
@media (max-width:420px){ .page{padding:1rem;} .title{font-size:1.6rem;} .meme-card img{max-height:200px; object-fit:cover;} }
