@import url('https://fonts.googleapis.com/css2?family=Press+Start+2P&family=VT323&family=Creepster&family=Special+Elite&family=Bungee+Shade&display=swap');

:root {
  --neon-green: #39ff14;
  --neon-pink: #ff006e;
  --neon-blue: #00f0ff;
  --neon-yellow: #ffe600;
  --neon-red: #ff0033;
  --schizo-purple: #b400ff;
  --dark-bg: #050505;
}

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

body {
  background: var(--dark-bg);
  color: #fff;
  font-family: 'VT323', monospace;
  overflow-x: hidden;
  cursor: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'><text y='28' font-size='28'>🧠</text></svg>") 16 16, auto;
}

/* SCANLINES */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  background: repeating-linear-gradient(0deg, transparent, transparent 1px, rgba(0,0,0,0.2) 1px, rgba(0,0,0,0.2) 3px);
  pointer-events: none;
  z-index: 9999;
  animation: scanFlicker 0.1s infinite;
}

@keyframes scanFlicker {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.85; }
}

/* HEAVY NOISE */
body::after {
  content: '';
  position: fixed;
  top: -50%; left: -50%;
  width: 200%; height: 200%;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='5' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.06'/%3E%3C/svg%3E");
  pointer-events: none;
  z-index: 9998;
  animation: noiseShake 0.08s steps(8) infinite;
}

@keyframes noiseShake {
  0% { transform: translate(0, 0); }
  25% { transform: translate(-2%, 1%); }
  50% { transform: translate(1%, -2%); }
  75% { transform: translate(-1%, 2%); }
  100% { transform: translate(2%, -1%); }
}

/* TRIPLE MARQUEE */
.marquee-stack {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 1000;
}

.marquee-row {
  overflow: hidden;
  white-space: nowrap;
  font-family: 'Press Start 2P', cursive;
  font-size: 10px;
  padding: 5px 0;
}

.marquee-row:nth-child(1) { background: var(--neon-green); color: #000; }
.marquee-row:nth-child(2) { background: var(--neon-red); color: #fff; }
.marquee-row:nth-child(3) { background: #000; color: var(--neon-green); border-bottom: 1px solid var(--neon-green); }

.marquee-row span {
  display: inline-block;
  animation: marquee var(--speed) linear infinite;
}

@keyframes marquee {
  0% { transform: translateX(100vw); }
  100% { transform: translateX(-100%); }
}

/* ===== HERO ===== */
.hero {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-top: 90px;
  position: relative;
}

.hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: 
    radial-gradient(circle at 20% 30%, rgba(180,0,255,0.08) 0%, transparent 50%),
    radial-gradient(circle at 80% 70%, rgba(57,255,20,0.06) 0%, transparent 50%),
    radial-gradient(circle at 50% 50%, rgba(255,0,110,0.04) 0%, transparent 70%);
}

.schizo-text-stack {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.hero-title {
  font-family: 'Bungee Shade', cursive;
  font-size: clamp(5rem, 15vw, 12rem);
  color: var(--neon-green);
  text-shadow: 
    0 0 10px var(--neon-green),
    0 0 30px var(--neon-green),
    0 0 60px var(--neon-green),
    5px 5px 0 var(--neon-pink),
    -3px -3px 0 var(--neon-blue);
  animation: megaGlitch 2s infinite, rgbSplit 4s infinite;
  position: relative;
  z-index: 2;
}

.hero-title::before,
.hero-title::after {
  content: '$IDK';
  position: absolute;
  top: 0; left: 0;
}

.hero-title::before {
  color: var(--neon-pink);
  animation: glitchLeft 3s infinite;
  clip-path: polygon(0 0, 100% 0, 100% 45%, 0 45%);
  z-index: -1;
}

.hero-title::after {
  color: var(--neon-blue);
  animation: glitchRight 2.5s infinite;
  clip-path: polygon(0 55%, 100% 55%, 100% 100%, 0 100%);
  z-index: -1;
}

@keyframes megaGlitch {
  0%, 85%, 100% { transform: translate(0) skew(0deg); }
  86% { transform: translate(-8px, 3px) skew(-2deg); filter: hue-rotate(90deg) saturate(2); }
  88% { transform: translate(8px, -3px) skew(3deg); }
  90% { transform: translate(-4px, -2px) skew(-1deg); filter: hue-rotate(180deg); }
  92% { transform: translate(6px, 2px) skew(2deg); filter: hue-rotate(0deg); }
}

@keyframes glitchLeft {
  0%, 90% { transform: translate(0); }
  91% { transform: translate(-10px, 2px); }
  93% { transform: translate(5px, -1px); }
  95% { transform: translate(-3px, 3px); }
  97%, 100% { transform: translate(0); }
}

@keyframes glitchRight {
  0%, 88% { transform: translate(0); }
  89% { transform: translate(10px, -2px); }
  91% { transform: translate(-8px, 1px); }
  93% { transform: translate(4px, -3px); }
  95%, 100% { transform: translate(0); }
}

@keyframes rgbSplit {
  0%, 95%, 100% { text-shadow: 0 0 10px var(--neon-green), 0 0 30px var(--neon-green); }
  96% { text-shadow: -5px 0 var(--neon-pink), 5px 0 var(--neon-blue), 0 0 30px var(--neon-green); }
  97% { text-shadow: 5px 0 var(--neon-pink), -5px 0 var(--neon-blue), 0 0 60px var(--neon-green); }
}

/* SCHIZO SUBTITLES */
.schizo-sub {
  font-family: 'Special Elite', cursive;
  color: var(--neon-pink);
  position: absolute;
  white-space: nowrap;
  animation: fadeInOut 5s infinite;
  opacity: 0;
  text-shadow: 0 0 10px var(--neon-pink);
}

.schizo-sub:nth-child(2) { top: -40px; left: -30%; font-size: 1.2rem; transform: rotate(-8deg); animation-delay: 0s; }
.schizo-sub:nth-child(3) { top: 20px; right: -25%; font-size: 0.9rem; transform: rotate(5deg); animation-delay: 1.5s; color: var(--neon-blue); text-shadow: 0 0 10px var(--neon-blue); }
.schizo-sub:nth-child(4) { bottom: -30px; left: -20%; font-size: 1.4rem; transform: rotate(-3deg); animation-delay: 3s; color: var(--neon-yellow); text-shadow: 0 0 10px var(--neon-yellow); }
.schizo-sub:nth-child(5) { bottom: 10px; right: -30%; font-size: 1rem; transform: rotate(7deg); animation-delay: 0.8s; color: var(--schizo-purple); text-shadow: 0 0 10px var(--schizo-purple); }

@keyframes fadeInOut {
  0%, 100% { opacity: 0; }
  20%, 80% { opacity: 0.9; }
  50% { opacity: 1; transform: rotate(var(--rot, -8deg)) scale(1.05); }
}

.hero-cat {
  width: clamp(220px, 40vw, 380px);
  margin-top: 20px;
  animation: crazyCat 0.12s infinite, floatSchizo 3s ease-in-out infinite;
  filter: drop-shadow(0 0 40px rgba(57,255,20,0.5)) drop-shadow(0 0 80px rgba(180,0,255,0.3));
  z-index: 2;
  transition: filter 0.2s;
}

.hero-cat:hover {
  filter: drop-shadow(0 0 60px rgba(57,255,20,0.8)) drop-shadow(0 0 100px rgba(255,0,110,0.6)) saturate(2) hue-rotate(30deg);
  animation: crazyCatHover 0.08s infinite;
}

@keyframes crazyCat {
  0% { transform: translate(0, 0) rotate(0deg); }
  25% { transform: translate(3px, -2px) rotate(0.5deg); }
  50% { transform: translate(-2px, 1px) rotate(-0.5deg); }
  75% { transform: translate(1px, 3px) rotate(0.3deg); }
}

@keyframes crazyCatHover {
  0% { transform: translate(0, 0) rotate(0deg) scale(1.1); }
  25% { transform: translate(5px, -4px) rotate(2deg) scale(1.12); }
  50% { transform: translate(-4px, 2px) rotate(-2deg) scale(1.08); }
  75% { transform: translate(2px, 5px) rotate(1deg) scale(1.1); }
}

@keyframes floatSchizo {
  0%, 100% { margin-top: 20px; }
  50% { margin-top: 0px; }
}

/* ===== FLOATING SCHIZO WORDS ===== */
.schizo-word {
  position: fixed;
  font-family: 'Special Elite', cursive;
  pointer-events: none;
  z-index: 50;
  opacity: 0;
  animation: wordFloat 8s linear infinite;
  text-shadow: 0 0 10px currentColor;
}

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

/* ===== GLITCH DIVIDERS ===== */
.glitch-divider {
  height: 4px;
  background: repeating-linear-gradient(90deg, var(--neon-green) 0px, var(--neon-green) 10px, transparent 10px, transparent 15px, var(--neon-pink) 15px, var(--neon-pink) 25px, transparent 25px, transparent 30px);
  animation: dividerGlitch 2s steps(5) infinite;
  position: relative;
}

.glitch-divider::before {
  content: '////// IDK //////';
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  font-family: 'Press Start 2P', cursive;
  font-size: 7px;
  color: var(--neon-green);
  background: var(--dark-bg);
  padding: 0 10px;
}

@keyframes dividerGlitch {
  0%, 80%, 100% { transform: scaleX(1); }
  82% { transform: scaleX(0.9) translateX(5px); filter: hue-rotate(90deg); }
  84% { transform: scaleX(1.1) translateX(-5px); }
  86% { transform: scaleX(0.95); filter: hue-rotate(0deg); }
}

/* ===== CA SECTION ===== */
.ca-section {
  padding: 80px 20px;
  text-align: center;
  position: relative;
}

.ca-section::before {
  content: 'THE NUMBERS MASON... WHAT DO THEY MEAN???';
  display: block;
  font-family: 'Creepster', cursive;
  font-size: clamp(1rem, 3vw, 1.8rem);
  color: var(--neon-red);
  text-shadow: 0 0 20px var(--neon-red);
  margin-bottom: 30px;
  animation: textTwitch 3s infinite;
}

@keyframes textTwitch {
  0%, 95%, 100% { transform: translate(0) skew(0); }
  96% { transform: translate(-3px, 1px) skew(-1deg); }
  97% { transform: translate(3px, -1px) skew(1deg); }
  98% { transform: translate(-1px, 2px); }
}

.ca-box {
  background: rgba(10, 10, 10, 0.9);
  border: 2px solid var(--neon-green);
  padding: 30px;
  max-width: 750px;
  margin: 0 auto;
  position: relative;
  animation: boxPulse 4s infinite;
  box-shadow: 0 0 30px rgba(57,255,20,0.1), inset 0 0 30px rgba(57,255,20,0.03);
}

.ca-box::before {
  content: '> CLASSIFIED // TOP SECRET // CONTRACT_ADDRESS.exe';
  display: block;
  font-family: 'Press Start 2P', cursive;
  font-size: 8px;
  color: var(--neon-red);
  margin-bottom: 15px;
  text-align: left;
  animation: blink 0.8s steps(2) infinite;
}

.ca-box::after {
  content: '⚠ TRUST NO ONE ⚠';
  display: block;
  font-family: 'Creepster', cursive;
  font-size: 14px;
  color: var(--schizo-purple);
  margin-top: 15px;
  animation: blink 1.5s steps(2) infinite;
}

@keyframes blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.2; }
}

@keyframes boxPulse {
  0%, 100% { border-color: var(--neon-green); box-shadow: 0 0 30px rgba(57,255,20,0.1); }
  25% { border-color: var(--neon-pink); box-shadow: 0 0 30px rgba(255,0,110,0.15); }
  50% { border-color: var(--neon-blue); box-shadow: 0 0 30px rgba(0,240,255,0.15); }
  75% { border-color: var(--schizo-purple); box-shadow: 0 0 30px rgba(180,0,255,0.15); }
}

.ca-address {
  font-family: 'VT323', monospace;
  font-size: clamp(0.8rem, 2vw, 1.2rem);
  color: var(--neon-yellow);
  word-break: break-all;
  padding: 15px;
  background: rgba(0,0,0,0.8);
  border: 1px solid rgba(57,255,20,0.2);
  text-shadow: 0 0 8px var(--neon-yellow);
  position: relative;
  overflow: hidden;
}

.ca-address::after {
  content: '';
  position: absolute;
  top: 0; left: -100%;
  width: 50%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(57,255,20,0.1), transparent);
  animation: scanLine 3s linear infinite;
}

@keyframes scanLine {
  0% { left: -50%; }
  100% { left: 150%; }
}

.copy-btn {
  font-family: 'Press Start 2P', cursive;
  font-size: 12px;
  padding: 18px 45px;
  background: var(--neon-green);
  color: #000;
  border: none;
  cursor: pointer;
  margin-top: 20px;
  transition: all 0.2s;
  position: relative;
  text-transform: uppercase;
  animation: btnPulse 2s infinite;
}

@keyframes btnPulse {
  0%, 100% { box-shadow: 0 0 10px var(--neon-green); }
  50% { box-shadow: 0 0 40px var(--neon-green), 0 0 80px rgba(57,255,20,0.3); }
}

.copy-btn:hover {
  background: var(--neon-yellow);
  transform: scale(1.1);
}

.copy-btn.copied {
  background: var(--neon-pink);
  color: #fff;
  animation: none;
}

/* ===== LORE / CHAT ===== */
.lore-section {
  padding: 80px 20px;
  max-width: 900px;
  margin: 0 auto;
  position: relative;
}

.section-title {
  font-family: 'Creepster', cursive;
  font-size: clamp(2.5rem, 6vw, 4.5rem);
  text-align: center;
  margin-bottom: 40px;
  position: relative;
}

.section-title.green { color: var(--neon-green); text-shadow: 0 0 30px var(--neon-green); }
.section-title.pink { color: var(--neon-pink); text-shadow: 0 0 30px var(--neon-pink); }
.section-title.blue { color: var(--neon-blue); text-shadow: 0 0 30px var(--neon-blue); }
.section-title.purple { color: var(--schizo-purple); text-shadow: 0 0 30px var(--schizo-purple); }

.section-title .small {
  display: block;
  font-family: 'Special Elite', cursive;
  font-size: 0.35em;
  opacity: 0.6;
  margin-top: 5px;
  animation: textTwitch 4s infinite;
}

.chat-container {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.msg {
  max-width: 75%;
  padding: 14px 18px;
  border-radius: 16px;
  font-size: 18px;
  font-family: 'VT323', monospace;
  animation: msgIn 0.4s ease-out both;
  position: relative;
}

.msg.l {
  align-self: flex-start;
  background: #111;
  border: 1px solid #222;
  border-bottom-left-radius: 4px;
  color: #aaa;
}

.msg.r {
  align-self: flex-end;
  background: linear-gradient(135deg, var(--neon-green), #00aa00);
  border-bottom-right-radius: 4px;
  color: #000;
  font-weight: 700;
  font-size: 22px;
}

.msg .who {
  font-size: 11px;
  opacity: 0.5;
  margin-bottom: 4px;
  font-family: 'Press Start 2P', cursive;
  font-size: 8px;
}

.msg.schizo {
  border-color: var(--neon-red) !important;
  background: rgba(255,0,51,0.08) !important;
  color: var(--neon-red) !important;
  animation: msgIn 0.4s ease-out both, schizoMsg 2s infinite;
}

@keyframes schizoMsg {
  0%, 95%, 100% { transform: translate(0) rotate(0); }
  96% { transform: translate(-2px, 1px) rotate(-0.5deg); }
  97% { transform: translate(2px, -1px) rotate(0.5deg); }
}

@keyframes msgIn {
  from { opacity: 0; transform: translateY(15px) scale(0.95); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

/* ===== CONSPIRACY BOARD ===== */
.conspiracy-section {
  padding: 80px 20px;
  position: relative;
  overflow: hidden;
}

.conspiracy-board {
  max-width: 1000px;
  margin: 0 auto;
  position: relative;
  min-height: 500px;
  background: 
    repeating-linear-gradient(0deg, transparent, transparent 30px, rgba(57,255,20,0.02) 30px, rgba(57,255,20,0.02) 31px),
    repeating-linear-gradient(90deg, transparent, transparent 30px, rgba(57,255,20,0.02) 30px, rgba(57,255,20,0.02) 31px);
}

.conspiracy-item {
  position: absolute;
  padding: 15px;
  background: rgba(0,0,0,0.8);
  border: 1px solid;
  font-family: 'Special Elite', cursive;
  font-size: 14px;
  max-width: 200px;
  transition: all 0.3s;
}

.conspiracy-item:hover {
  transform: scale(1.15) rotate(0deg) !important;
  z-index: 100;
  box-shadow: 0 0 40px rgba(57,255,20,0.3);
}

.conspiracy-item img {
  width: 100%;
  margin-bottom: 8px;
}

/* ===== GALLERY ===== */
.gallery-section {
  padding: 80px 20px;
  text-align: center;
}

.gallery-chaos {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 15px;
  max-width: 1000px;
  margin: 0 auto;
}

.gal-item {
  width: 180px;
  height: 180px;
  border: 2px solid #222;
  background: #0a0a0a;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  transition: all 0.3s;
  animation: galFloat var(--dur, 4s) ease-in-out infinite var(--del, 0s);
}

.gal-item:nth-child(odd) { --rot: -3deg; }
.gal-item:nth-child(even) { --rot: 3deg; }
.gal-item { transform: rotate(var(--rot)); }

.gal-item:hover {
  transform: rotate(0deg) scale(1.3) !important;
  border-color: var(--neon-green);
  z-index: 100;
  box-shadow: 0 0 50px rgba(57,255,20,0.4), 0 0 100px rgba(180,0,255,0.2);
}

.gal-item img {
  width: 85%;
  height: 85%;
  object-fit: contain;
}

.gal-item::before {
  content: var(--label, '???');
  position: absolute;
  bottom: 5px;
  right: 5px;
  font-family: 'Press Start 2P', cursive;
  font-size: 7px;
  color: var(--neon-green);
  opacity: 0;
  transition: opacity 0.3s;
}

.gal-item:hover::before { opacity: 1; }

@keyframes galFloat {
  0%, 100% { transform: rotate(var(--rot)) translateY(0); }
  50% { transform: rotate(var(--rot)) translateY(-10px); }
}

/* ===== TOKENOMICS ===== */
.token-section {
  padding: 80px 20px;
  text-align: center;
}

.token-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 20px;
  max-width: 900px;
  margin: 30px auto 0;
}

.token-card {
  background: rgba(10,10,10,0.9);
  border: 1px solid #1a1a1a;
  padding: 30px 15px;
  position: relative;
  transition: all 0.3s;
  overflow: hidden;
}

.token-card::before {
  content: '';
  position: absolute;
  top: -50%; left: -50%;
  width: 200%; height: 200%;
  background: conic-gradient(from 0deg, transparent, var(--card-color, var(--neon-green)), transparent);
  animation: cardSpin 4s linear infinite;
  opacity: 0.05;
}

@keyframes cardSpin {
  to { transform: rotate(360deg); }
}

.token-card:hover {
  border-color: var(--card-color, var(--neon-green));
  transform: translateY(-8px);
  box-shadow: 0 0 30px rgba(57,255,20,0.15);
}

.token-card .val {
  font-family: 'Creepster', cursive;
  font-size: clamp(1.8rem, 4vw, 2.5rem);
  color: var(--card-color, var(--neon-green));
  text-shadow: 0 0 15px var(--card-color, var(--neon-green));
  position: relative;
  z-index: 1;
}

.token-card .lbl {
  font-family: 'Press Start 2P', cursive;
  font-size: 8px;
  color: #555;
  margin-top: 12px;
  text-transform: uppercase;
  letter-spacing: 2px;
  position: relative;
  z-index: 1;
}

/* ===== SOCIALS ===== */
.socials-section {
  padding: 80px 20px;
  text-align: center;
}

.social-grid {
  display: flex;
  gap: 15px;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 30px;
}

.social-btn {
  font-family: 'Press Start 2P', cursive;
  font-size: 10px;
  padding: 18px 30px;
  border: 2px solid var(--neon-green);
  background: transparent;
  color: var(--neon-green);
  text-decoration: none;
  transition: all 0.3s;
  position: relative;
  overflow: hidden;
}

.social-btn::before {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--neon-green);
  transform: translateY(100%);
  transition: transform 0.3s;
  z-index: -1;
}

.social-btn:hover::before { transform: translateY(0); }
.social-btn:hover { color: #000; box-shadow: 0 0 40px rgba(57,255,20,0.4); transform: translateY(-5px) scale(1.05); }

/* ===== FOOTER ===== */
.footer {
  padding: 60px 20px 30px;
  text-align: center;
  border-top: 1px solid #111;
  position: relative;
}

.footer-main {
  font-family: 'Creepster', cursive;
  font-size: 1.5rem;
  color: var(--neon-green);
  text-shadow: 0 0 10px var(--neon-green);
}

.footer-sub {
  font-family: 'Special Elite', cursive;
  color: #333;
  font-size: 12px;
  margin-top: 15px;
}

.footer-schizo {
  font-family: 'VT323', monospace;
  font-size: 10px;
  color: #1a1a1a;
  margin-top: 20px;
  line-height: 1.8;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

/* ===== BADGE ===== */
.badge {
  position: fixed;
  bottom: 15px;
  right: 15px;
  font-family: 'Press Start 2P', cursive;
  font-size: 7px;
  padding: 8px 12px;
  z-index: 500;
  border: 1px solid;
  background: rgba(0,0,0,0.9);
  animation: badgeColor 3s infinite;
}

@keyframes badgeColor {
  0%, 100% { color: var(--neon-green); border-color: var(--neon-green); }
  33% { color: var(--neon-pink); border-color: var(--neon-pink); }
  66% { color: var(--schizo-purple); border-color: var(--schizo-purple); }
}

/* ===== POPUP ALERTS ===== */
.popup-alert {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0);
  background: #000;
  border: 3px solid var(--neon-red);
  padding: 30px 40px;
  z-index: 10000;
  font-family: 'Press Start 2P', cursive;
  font-size: 12px;
  color: var(--neon-red);
  text-align: center;
  animation: popIn 0.3s forwards;
  box-shadow: 0 0 60px rgba(255,0,51,0.3);
  cursor: pointer;
  max-width: 90vw;
}

@keyframes popIn {
  to { transform: translate(-50%, -50%) scale(1); }
}

.popup-alert .close-x {
  position: absolute;
  top: 5px;
  right: 10px;
  font-size: 16px;
  color: var(--neon-green);
}

/* ===== SCROLL REVEAL ===== */
.reveal {
  opacity: 0;
  transform: translateY(40px);
  transition: all 0.8s ease-out;
}

.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

/* ===== RESPONSIVE ===== */
@media (max-width: 600px) {
  .msg { max-width: 90%; }
  .gal-item { width: 140px; height: 140px; }
  .conspiracy-board { min-height: 400px; }
  .conspiracy-item { max-width: 130px; font-size: 11px; }
}
