:root{
  --bg:#17181a;
  --bg2:#1e2022;
  --card:#242629;
  --card2:#2a2d31;
  --border:#3a3d42;
  --text:#eef1f0;
  --text-dim:#a9adb3;
  --text-dimmer:#787d84;
  --grass:#5fcf3f;
  --grass-dark:#3f9c2c;
  --grass-deep:#276b1a;
  --dirt:#8a5a34;
  --dirt-dark:#5f3d22;
  --diamond:#54e0f0;
  --diamond-dark:#1fa3b5;
  --gold:#ffcc33;
  --gold-dark:#c99619;
  --redstone:#e0402c;
  --stone:#8a8d91;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  background:
    linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.55)),
    repeating-linear-gradient(0deg, #202225 0 28px, #1c1e20 28px 56px);
  color:var(--text);
  font-family:'Manrope',-apple-system,system-ui,sans-serif;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
.container{max-width:1180px;margin:0 auto;padding:0 24px;}

.pixel-font{font-family:'Press Start 2P',monospace;}

/* ---- blocky pixel border/button system ---- */
.pixel-box{
  position:relative;
  background:var(--card);
  border:3px solid #000;
  box-shadow:
    inset 3px 3px 0 rgba(255,255,255,.10),
    inset -3px -3px 0 rgba(0,0,0,.45),
    6px 6px 0 rgba(0,0,0,.35);
}
.pixel-btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-family:'Press Start 2P',monospace;
  font-size:13px;
  color:#fff;
  text-shadow:2px 2px 0 #000;
  padding:16px 22px;
  border:3px solid #000;
  cursor:pointer;
  text-transform:uppercase;
  letter-spacing:.5px;
  background:var(--grass);
  box-shadow:
    inset 3px 3px 0 rgba(255,255,255,.25),
    inset -3px -3px 0 rgba(0,0,0,.35),
    5px 5px 0 rgba(0,0,0,.4);
  transition:transform .08s ease;
}
.pixel-btn:hover{transform:translate(2px,2px);
  box-shadow:
    inset 3px 3px 0 rgba(255,255,255,.25),
    inset -3px -3px 0 rgba(0,0,0,.35),
    3px 3px 0 rgba(0,0,0,.4);
}
.pixel-btn.alt{background:var(--diamond-dark);}
.pixel-btn.gold{background:var(--gold-dark);color:#241a00;}
.pixel-btn.ghost{background:var(--card2);}
.pixel-btn.small{font-size:11px;padding:10px 14px;}

/* ---- header ---- */
.header{
  position:sticky;top:0;z-index:50;
  background:rgba(23,24,26,.92);
  backdrop-filter:blur(6px);
  border-bottom:3px solid #000;
}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:76px;gap:20px;}
.logo{display:flex;align-items:center;gap:12px;font-family:'Press Start 2P',monospace;font-size:15px;color:#fff;white-space:nowrap;}
.logo-cube{width:34px;height:34px;flex:none;}
.nav{display:flex;align-items:center;gap:26px;flex-wrap:wrap;}
.nav a{font-size:14px;font-weight:700;color:var(--text-dim);padding:6px 2px;border-bottom:3px solid transparent;}
.nav a:hover,.nav a.active{color:#fff;border-color:var(--grass);}
.burger{display:none;background:var(--card2);border:2px solid #000;color:#fff;width:44px;height:44px;font-size:18px;cursor:pointer;}

@media(max-width:860px){
  .nav{position:fixed;inset:76px 0 auto 0;background:var(--bg2);border-bottom:3px solid #000;flex-direction:column;align-items:flex-start;padding:16px 24px;gap:14px;transform:translateY(-120%);transition:transform .25s ease;}
  .nav.open{transform:translateY(0);}
  .burger{display:block;}
}

/* ---- hero ---- */
.hero{padding:70px 0 60px;position:relative;overflow:hidden;}
.hero-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center;}
.hero h1{font-family:'Press Start 2P',monospace;font-size:28px;line-height:1.55;margin-bottom:20px;text-shadow:3px 3px 0 #000;}
.hero h1 span{color:var(--grass);}
.hero p{color:var(--text-dim);font-size:17px;max-width:52ch;margin-bottom:28px;}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap;}
.hero-stats{display:flex;gap:28px;margin-top:34px;flex-wrap:wrap;}
.hero-stats div b{display:block;font-family:'Press Start 2P',monospace;font-size:18px;color:var(--gold);}
.hero-stats div span{font-size:12px;color:var(--text-dimmer);}
.hero-art{aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;}

@media(max-width:860px){
  .hero-inner{grid-template-columns:1fr;}
  .hero h1{font-size:22px;}
  .hero-art{order:-1;max-width:280px;margin:0 auto;}
}

/* ---- section headings ---- */
.section{padding:56px 0;}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:32px;flex-wrap:wrap;}
.section-head h2{font-family:'Press Start 2P',monospace;font-size:19px;text-shadow:2px 2px 0 #000;}
.section-head h2 .tag{color:var(--grass);}
.section-head p{color:var(--text-dimmer);font-size:14px;max-width:46ch;}
.section-alt{background:var(--bg2);border-top:3px solid #000;border-bottom:3px solid #000;}

/* ---- cards / grid ---- */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.grid.cols-4{grid-template-columns:repeat(4,1fr);}
.grid.cols-2{grid-template-columns:repeat(2,1fr);}
@media(max-width:900px){.grid,.grid.cols-4,.grid.cols-2{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.grid,.grid.cols-4,.grid.cols-2{grid-template-columns:1fr;}}

.card{padding:22px;display:flex;flex-direction:column;gap:12px;}
.card .thumb{width:100%;aspect-ratio:16/10;background:var(--card2);border:2px solid #000;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.card .thumb svg{width:60%;height:60%;}
.card .thumb img{width:100%;height:100%;object-fit:cover;}
.card .badge{align-self:flex-start;font-size:10px;font-family:'Press Start 2P',monospace;padding:5px 8px;background:var(--grass-dark);border:2px solid #000;color:#fff;}
.card .badge.gold{background:var(--gold-dark);color:#241a00;}
.card .badge.diamond{background:var(--diamond-dark);}
.card .badge.red{background:#7c2318;}
.card h3{font-size:17px;line-height:1.4;}
.card p{color:var(--text-dim);font-size:14px;flex:1;}
.card .more{font-size:13px;font-weight:800;color:var(--grass);}
.card .more:hover{color:#fff;}

/* ---- promo strip ---- */
.promo{padding:34px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;background:linear-gradient(135deg,var(--grass-deep),var(--dirt-dark));}
.promo h3{font-family:'Press Start 2P',monospace;font-size:17px;margin-bottom:8px;text-shadow:2px 2px 0 #000;}
.promo p{color:#e8e8e8;font-size:14px;max-width:50ch;}

/* ---- inline content list (topics without dedicated pages yet) ---- */
.topic-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
@media(max-width:700px){.topic-list{grid-template-columns:1fr;}}
.topic{display:flex;gap:14px;padding:16px;background:var(--card);border:2px solid #000;}
.topic .num{font-family:'Press Start 2P',monospace;font-size:12px;color:var(--gold);flex:none;}
.topic h4{font-size:15px;margin-bottom:4px;}
.topic p{color:var(--text-dimmer);font-size:13px;}

/* ---- article page ---- */
.breadcrumbs{font-size:13px;color:var(--text-dimmer);margin-bottom:18px;}
.breadcrumbs a{color:var(--diamond);}
.article-hero{padding:44px 0 20px;}
.article-hero h1{font-size:30px;line-height:1.3;margin-bottom:14px;}
.article-meta{display:flex;gap:16px;color:var(--text-dimmer);font-size:13px;flex-wrap:wrap;}
.article-body{max-width:760px;padding:20px 0 70px;}
.article-body h2{font-size:21px;margin:34px 0 14px;padding-left:14px;border-left:4px solid var(--grass);}
.article-body h3{font-size:17px;margin:24px 0 10px;}
.article-body p{color:var(--text-dim);margin-bottom:16px;font-size:15.5px;}
.article-body ul,.article-body ol{color:var(--text-dim);margin:0 0 16px 22px;font-size:15.5px;}
.article-body li{margin-bottom:8px;}
.article-body .callout{background:var(--card);border:2px solid #000;border-left:5px solid var(--gold);padding:16px 18px;margin:20px 0;font-size:14.5px;color:var(--text-dim);}
.article-body .callout b{color:var(--gold);}
.article-body code{background:var(--card2);border:1px solid var(--border);padding:2px 6px;font-size:13.5px;font-family:'JetBrains Mono',monospace;color:var(--diamond);}
.article-body table{width:100%;border-collapse:collapse;margin:18px 0;font-size:14px;}
.article-body th,.article-body td{border:1px solid var(--border);padding:9px 12px;text-align:left;color:var(--text-dim);}
.article-body th{background:var(--card2);color:#fff;}

/* ---- footer ---- */
.footer{background:#101112;border-top:3px solid #000;padding:48px 0 28px;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:36px;margin-bottom:32px;}
@media(max-width:700px){.footer-grid{grid-template-columns:1fr;}}
.footer h4{font-size:13px;font-family:'Press Start 2P',monospace;margin-bottom:16px;color:var(--text-dim);}
.footer p,.footer a{font-size:13.5px;color:var(--text-dimmer);}
.footer a:hover{color:var(--grass);}
.footer li{list-style:none;margin-bottom:9px;}
.footer-bottom{border-top:1px solid var(--border);padding-top:22px;font-size:12.5px;color:var(--text-dimmer);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;}
.disclaimer{max-width:900px;font-size:12px;color:var(--text-dimmer);margin-top:14px;line-height:1.7;}
