:root {
  --bg: #1a1a1a;
  --bg2: #232323;
  --panel: #2c2c2c;
  --text: #f0f0f0;
  --muted: #a8a8a8;
  --green: #5cb52b;
  --green-dark: #3e8a1b;
  --green-light: #7ed957;
  --gold: #ffd93b;
  --stone: #8b8b8b;
  --stone-dark: #4a4a4a;
  --dirt: #7a5230;
  --dirt-dark: #5a3a20;
  --sky: #78a7ff;
  --sky2: #a8c8ff;
  --pixel: 'Press Start 2P', monospace;
  --body: 'Rubik', system-ui, sans-serif;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: var(--body);
  background: var(--bg);
  color: var(--text);
  line-height: 1.6;
  image-rendering: pixelated;
}
img { display: block; }
a { color: inherit; text-decoration: none; }
code {
  font-family: var(--pixel);
  font-size: 0.7em;
  background: #000;
  padding: 2px 6px;
  color: var(--green-light);
}

/* ---------- TOPBAR ---------- */
.topbar {
  position: sticky; top: 0; z-index: 50;
  display: flex; align-items: center; justify-content: space-between;
  padding: 12px 24px;
  background: var(--bg2);
  border-bottom: 4px solid #000;
  box-shadow: inset 0 -4px 0 var(--stone-dark);
}
.logo { display: flex; align-items: center; gap: 12px; font-family: var(--pixel); font-size: 14px; }
.nav { display: flex; gap: 24px; }
.nav a { font-weight: 500; color: var(--muted); transition: color .15s; }
.nav a:hover { color: var(--green-light); }
.burger { display: none; background: none; border: 0; color: var(--text); font-size: 24px; cursor: pointer; }

/* ---------- HERO ---------- */
.hero {
  position: relative;
  min-height: 92vh;
  display: flex; align-items: center; justify-content: center;
  overflow: hidden;
  background: linear-gradient(180deg, var(--sky) 0%, var(--sky2) 70%, #c8e0ff 100%);
  text-align: center;
}
.hero__sky { position: absolute; inset: 0; pointer-events: none; }
.cloud {
  position: absolute; height: 28px; width: 120px; background: #fff; opacity: .85;
  box-shadow: 28px -14px 0 0 #fff, 56px 0 0 0 #fff, -28px 0 0 0 #fff, 28px 14px 0 0 #fff;
  animation: drift linear infinite;
}
.cloud--1 { top: 12%; left: -200px; animation-duration: 60s; }
.cloud--2 { top: 28%; left: -200px; animation-duration: 85s; animation-delay: -30s; transform: scale(.7); }
.cloud--3 { top: 45%; left: -200px; animation-duration: 110s; animation-delay: -60s; transform: scale(1.3); }
@keyframes drift { to { transform: translateX(calc(100vw + 400px)); } }

.hero__content { position: relative; z-index: 2; padding: 80px 20px 160px; max-width: 800px; }
.hero__splash {
  display: inline-block;
  font-family: var(--pixel); font-size: 12px; color: var(--gold);
  text-shadow: 3px 3px 0 #3f3000;
  transform: rotate(-12deg);
  animation: splash .5s ease-in-out infinite alternate;
  margin-bottom: 10px;
}
@keyframes splash { from { transform: rotate(-12deg) scale(1); } to { transform: rotate(-12deg) scale(1.08); } }
.hero__title {
  font-family: var(--pixel);
  font-size: clamp(36px, 8vw, 80px);
  color: #fff;
  text-shadow: 6px 6px 0 #3f3f3f, 0 0 0 #000;
  letter-spacing: 4px;
  margin-bottom: 20px;
}
.hero__sub { font-size: 18px; color: #1a2a4a; font-weight: 500; margin-bottom: 24px; }
.hero__version { margin-top: 20px; color: #2a3a5a; font-size: 14px; }

.hero__actions { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }

/* ---------- BUTTONS (minecraft style) ---------- */
.btn {
  display: inline-block;
  font-family: var(--pixel); font-size: 11px;
  color: #fff; text-shadow: 2px 2px 0 rgba(0,0,0,.5);
  background: var(--stone);
  border: 3px solid #000;
  box-shadow: inset -4px -4px 0 var(--stone-dark), inset 4px 4px 0 #b5b5b5;
  padding: 14px 20px;
  cursor: pointer;
  transition: filter .1s, transform .05s;
  white-space: nowrap;
}
.btn:hover { filter: brightness(1.15); }
.btn:active { transform: translateY(2px); box-shadow: inset 4px 4px 0 var(--stone-dark), inset -4px -4px 0 #b5b5b5; }
.btn--green {
  background: var(--green);
  box-shadow: inset -4px -4px 0 var(--green-dark), inset 4px 4px 0 var(--green-light);
}
.btn--green:active { box-shadow: inset 4px 4px 0 var(--green-dark), inset -4px -4px 0 var(--green-light); }
.btn--big { font-size: 14px; padding: 18px 32px; }

/* ---------- GROUND (grass/dirt) ---------- */
.hero__ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 96px; z-index: 1;
  background:
    linear-gradient(90deg, #5fa832 0 25%, #68b53a 25% 50%, #5aa02e 50% 75%, #63ad35 75% 100%) 0 0 / 64px 24px repeat-x,
    linear-gradient(90deg, #7a5230 0 25%, #86593a 25% 50%, #6f4a2b 50% 75%, #7f5534 75% 100%) 0 24px / 64px 72px repeat-x;
  background-color: var(--dirt);
  border-top: 4px solid #3e7a1b;
}
.hero__ground::after {
  content: ""; position: absolute; left: 0; right: 0; top: 24px; height: 8px;
  background: repeating-linear-gradient(90deg, #4f8f25 0 16px, transparent 16px 32px, #4f8f25 32px 40px, transparent 40px 64px);
}

/* ---------- SECTIONS ---------- */
.section { padding: 80px 24px; max-width: 1100px; margin: 0 auto; }
.section--dark { max-width: none; background: var(--bg2); border-top: 4px solid #000; border-bottom: 4px solid #000; }
.section--dark > * { max-width: 1100px; margin-left: auto; margin-right: auto; }
.section__title {
  font-family: var(--pixel); font-size: clamp(18px, 3vw, 28px);
  text-align: center; margin-bottom: 48px;
  text-shadow: 4px 4px 0 #000;
  color: var(--gold);
}

/* ABOUT */
.about { display: grid; grid-template-columns: 1.3fr 1fr; gap: 48px; align-items: center; }
.about__text p { margin-bottom: 16px; font-size: 17px; color: #ddd; }
.stats { list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.stat {
  background: var(--panel); border: 3px solid #000;
  box-shadow: inset -3px -3px 0 #1a1a1a, inset 3px 3px 0 #3e3e3e;
  padding: 20px; text-align: center;
}
.stat__num { display: block; font-family: var(--pixel); font-size: 22px; color: var(--green-light); margin-bottom: 8px; }
.stat__label { font-size: 13px; color: var(--muted); }

/* CARDS */
.cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 24px; }
.card {
  background: var(--panel); border: 3px solid #000;
  box-shadow: inset -4px -4px 0 #1a1a1a, inset 4px 4px 0 #3e3e3e;
  padding: 28px;
  transition: transform .15s;
}
.card:hover { transform: translateY(-4px); }
.card h3 { font-family: var(--pixel); font-size: 13px; margin: 16px 0 12px; color: #fff; }
.card p { color: var(--muted); font-size: 15px; }
.card__icon { width: 48px; height: 48px; border: 3px solid #000; box-shadow: inset -6px -6px 0 rgba(0,0,0,.35), inset 6px 6px 0 rgba(255,255,255,.2); }
.card__icon--grass { background: linear-gradient(180deg, #5fa832 0 35%, #7a5230 35%); }
.card__icon--gold { background: #f2c230; }
.card__icon--iron { background: #d8d8d8; }
.card__icon--diamond { background: #4fd9d0; }
.card__icon--redstone { background: #c0191c; }
.card__icon--obsidian { background: #1f0f33; }

/* STEPS */
.steps { list-style: none; display: grid; gap: 20px; max-width: 760px; margin: 0 auto; }
.step {
  display: flex; gap: 24px; align-items: flex-start;
  background: var(--panel); border: 3px solid #000;
  box-shadow: inset -4px -4px 0 #1a1a1a, inset 4px 4px 0 #3e3e3e;
  padding: 24px;
}
.step__num {
  flex: 0 0 48px; height: 48px; display: grid; place-items: center;
  font-family: var(--pixel); font-size: 16px; color: #fff;
  background: var(--green); border: 3px solid #000;
  box-shadow: inset -4px -4px 0 var(--green-dark), inset 4px 4px 0 var(--green-light);
}
.step h3 { font-size: 18px; margin-bottom: 6px; }
.step p { color: var(--muted); }

/* RULES */
.rules { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 16px; }
.rule {
  display: flex; gap: 16px; align-items: flex-start;
  background: #1c1c1c; border: 3px solid #000; padding: 18px 20px;
}
.rule__n { font-family: var(--pixel); font-size: 12px; color: var(--gold); flex: 0 0 auto; padding-top: 4px; }
.rule p { color: #ddd; font-size: 15px; }

/* SOCIALS */
.socials { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 20px; }
.social {
  display: flex; flex-direction: column; gap: 8px;
  background: var(--panel); border: 3px solid #000;
  box-shadow: inset -4px -4px 0 #1a1a1a, inset 4px 4px 0 #3e3e3e;
  padding: 24px; transition: transform .15s, background .15s;
}
.social:hover { transform: translateY(-4px); background: #333; }
.social__title { font-family: var(--pixel); font-size: 13px; color: var(--green-light); }
.social__sub { font-size: 14px; color: var(--muted); }

/* FOOTER */
.footer { text-align: center; padding: 32px 24px; color: #777; font-size: 13px; border-top: 4px solid #000; background: #111; }

/* ---------- RESPONSIVE ---------- */
@media (max-width: 760px) {
  .nav { display: none; position: absolute; top: 100%; left: 0; right: 0; flex-direction: column; gap: 0; background: var(--bg2); border-bottom: 4px solid #000; }
  .nav--open { display: flex; }
  .nav a { padding: 14px 24px; border-top: 1px solid #000; }
  .burger { display: block; }
  .about { grid-template-columns: 1fr; }
  .section { padding: 56px 16px; }
  .step { flex-direction: column; gap: 12px; }
}
