/* ==========================================================
   DeceasedCraft Theme — Post-Apocalyptic Zombie Survival
   Inspired by deceasedcraft.wiki.gg visual identity:
   dark oppressive atmosphere, blood-red & military-olive,
   distressed/stencil typography, biohazard motifs
   ========================================================== */

@import url('https://fonts.googleapis.com/css2?family=Special+Elite&family=Share+Tech+Mono&family=Oswald:wght@400;500;700&display=swap');

:root {
  --bg:          #08080a;
  --bg-card:     #0f0f0d;
  --bg-hover:    #17170f;
  --text:        #c4c4a0;
  --muted:       #6a6050;
  --border:      #1e1e14;
  --accent:      #8b0000;       /* blood red */
  --accent2:     #556b2f;       /* military olive */
  --accent-br:   #cc2200;       /* bright blood */
  --warning:     #b8820a;       /* dark gold */
  --infected:    #3a7a1a;       /* infection green */
  --link:        #7aaa50;

  --font-h:    'Special Elite', 'Courier New', cursive;
  --font-body: 'Share Tech Mono', 'Courier New', monospace;
  --font-accent: 'Oswald', sans-serif;
}

/* ── Background: dark underground bunker ───────────────── */
body {
  background-color: var(--bg);
  /* Scanline grit overlay */
  background-image: repeating-linear-gradient(
    0deg,
    transparent 0px, transparent 3px,
    rgba(0,0,0,.18) 3px, rgba(0,0,0,.18) 4px
  );
  font-family: var(--font-body);
}

/* ── Typography ─────────────────────────────────────────── */
h1,h2,h3,h4,h5,h6 { font-family: var(--font-h); letter-spacing: .08em; }

h1 {
  font-size: clamp(2rem, 5vw, 3rem);
  color: var(--accent-br);
  text-shadow:
    2px 2px 3px #000,
    0 0 25px rgba(139,0,0,.45),
    0 0 50px rgba(139,0,0,.2);
}
h2 {
  font-size: clamp(1.3rem, 3vw, 1.8rem);
  color: var(--accent2);
  text-shadow: 1px 1px 2px #000;
  border-bottom: 1px solid rgba(85,107,47,.3);
  padding-bottom: .4rem;
}
h3 {
  font-size: 1.15rem;
  color: var(--warning);
}

/* ── Navigation: military bunker ───────────────────────── */
.site-header {
  background: linear-gradient(180deg, #0d0d08 0%, #060606 100%);
  border-bottom: 3px solid var(--accent);
}
.site-logo {
  color: var(--accent-br) !important;
  font-family: var(--font-h) !important;
  font-size: 1.4rem !important;
  text-shadow:
    0 0 12px rgba(204,34,0,.5),
    0 0 30px rgba(139,0,0,.3) !important;
}
.site-nav a {
  color: var(--muted);
  font-family: var(--font-accent);
  letter-spacing: .12em;
}
.site-nav a:hover,
.site-nav a.active {
  background: rgba(139,0,0,.18);
  border-color: var(--accent);
  color: #cc4444;
  opacity: 1;
}

/* ── Hero: apocalyptic sky ─────────────────────────────── */
.hero {
  background:
    radial-gradient(ellipse at 30% 60%, rgba(139,0,0,.12) 0%, transparent 55%),
    radial-gradient(ellipse at 70% 40%, rgba(85,107,47,.08) 0%, transparent 50%),
    var(--bg);
}
.hero h1 {
  font-size: clamp(2.5rem, 6vw, 4.5rem);
  text-shadow:
    2px 2px 4px #000,
    0 0 40px rgba(204,34,0,.55),
    0 0 80px rgba(139,0,0,.25);
}
.hero p { color: var(--muted); }

/* ── Warning stripe — hazard tape ──────────────────────── */
.dc-warning-stripe {
  height: 7px;
  margin: 1.5rem 0;
  background: repeating-linear-gradient(
    -45deg,
    #1a1200, #1a1200 9px,
    #3a2800 9px, #3a2800 18px
  );
  border-radius: 2px;
}

/* ── DeceasedCraft biohazard header ─────────────────────── */
.dc-hero-header { position: relative; }
.dc-biohazard {
  font-size: 3.5rem;
  margin-bottom: .5rem;
  filter: drop-shadow(0 0 12px rgba(139,0,0,.6));
  animation: biohazard-pulse 3s ease-in-out infinite;
}
@keyframes biohazard-pulse {
  0%,100% { filter: drop-shadow(0 0 8px rgba(139,0,0,.5)); }
  50%      { filter: drop-shadow(0 0 20px rgba(204,34,0,.8)); }
}
.dc-hero-stats {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  margin-top: 1rem;
  flex-wrap: wrap;
}
.dc-modpack-link a {
  color: var(--accent2);
  font-family: var(--font-accent);
  font-size: .85rem;
  letter-spacing: .1em;
}

/* ── Status badge: server online indicator ─────────────── */
.status-badge {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  font-family: var(--font-accent);
  font-size: .78rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--infected);
}
.status-badge::before {
  content: '';
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--infected);
  box-shadow: 0 0 6px var(--infected);
  animation: pulse-green 2s infinite;
}
@keyframes pulse-green {
  0%,100% { box-shadow: 0 0 4px var(--infected); }
  50%      { box-shadow: 0 0 14px var(--infected), 0 0 26px rgba(58,122,26,.35); }
}

/* ── Wiki-style category grid ───────────────────────────── */
.dc-wiki-section { margin: 2.5rem 0; }
.dc-wiki-section > h2 {
  font-family: var(--font-accent);
  letter-spacing: .2em;
  text-transform: uppercase;
  font-size: 1rem;
  color: var(--muted);
  border-bottom-color: var(--border);
}
.dc-categories {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 1rem;
  margin-top: 1.25rem;
}
.dc-category {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-top: 3px solid;
  padding: 1.1rem 1.2rem;
  position: relative;
}
/* Corner bolt decoration */
.dc-category::after {
  content: '·';
  position: absolute;
  top: 4px; right: 8px;
  color: rgba(255,255,255,.15);
  font-size: 1.5rem;
}
.dc-category--weapons  { border-top-color: var(--accent-br); }
.dc-category--armors   { border-top-color: var(--accent2); }
.dc-category--zones    { border-top-color: var(--warning); }
.dc-category--mobs     { border-top-color: var(--infected); }
.dc-category--items    { border-top-color: #8888cc; }
.dc-category--mechanics { border-top-color: #5c7a8a; }

.dc-category h3 {
  font-family: var(--font-accent);
  font-size: .82rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  margin-bottom: .75rem;
  color: var(--muted);
}
.dc-category ul { list-style: none; margin: 0; padding: 0; }
.dc-category ul li {
  position: relative;
  padding: .22rem 0 .22rem 1rem;
  font-size: .85rem;
  color: var(--text);
}
.dc-category ul li::before {
  content: '▸';
  position: absolute;
  left: 0;
  color: var(--muted);
  font-size: .7rem;
  top: .35rem;
}

/* Zone type colors */
.zone-residential { color: #6aaa44; }
.zone-city        { color: #8888cc; }
.zone-wasteland   { color: #cc8844; }
.zone-undiscovered { color: #666; }

/* ── Cards: reinforced barricade look ───────────────────── */
.game-card, .post-card, .section-card, .server-card, .info-box {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-top: 2px solid var(--accent2);
  position: relative;
}
/* Rivet in corners */
.section-card::before,
.game-card::before {
  content: '';
  position: absolute;
  top: 7px; left: 7px;
  width: 6px; height: 6px;
  background: var(--accent2);
  border-radius: 50%;
  box-shadow:
    calc(100% + 2px) 0 0 0 var(--accent2),
    0 calc(100% + 2px) 0 0 var(--accent2),
    calc(100% + 2px) calc(100% + 2px) 0 0 var(--accent2);
  opacity: .5;
}

.post-card:hover,
.section-card:hover { border-color: var(--accent2); }

/* ── Info box: mission briefing ─────────────────────────── */
.info-box {
  border-left: 4px solid var(--accent-br);
  background: linear-gradient(90deg, rgba(139,0,0,.08) 0%, var(--bg-card) 35%);
}

/* ── Section headers inside dc content ─────────────────── */
.dc-guides-section { margin: 2.5rem 0; }
.dc-guides-section > h2 {
  font-family: var(--font-accent);
  letter-spacing: .15em;
  text-transform: uppercase;
  font-size: 1rem;
  color: var(--muted);
  border-bottom-color: var(--border);
}

/* ── Buttons: stencil command ───────────────────────────── */
.btn {
  font-family: var(--font-accent) !important;
  letter-spacing: .15em !important;
  border-color: var(--accent2) !important;
  color: var(--accent2) !important;
  text-shadow: 0 0 8px rgba(85,107,47,.3);
}
.btn:hover {
  background: var(--accent2) !important;
  color: #000 !important;
  box-shadow: 0 0 20px rgba(85,107,47,.4);
  opacity: 1;
}

/* ── Server card: radio terminal ────────────────────────── */
.server-card { border: 1px solid var(--accent2); }
.server-card__ip {
  color: var(--infected) !important;
  font-size: 1.2rem;
  text-shadow: 0 0 10px rgba(58,122,26,.45);
}

/* ── Breadcrumb ─────────────────────────────────────────── */
.breadcrumb a { color: var(--muted); }
.breadcrumb a:hover { color: var(--accent2); opacity: 1; }

/* ── Footer ─────────────────────────────────────────────── */
.site-footer { border-top: 1px solid var(--accent); }

/* ── Page content tweaks ────────────────────────────────── */
.page-content strong { color: var(--accent-br); }
.page-content em     { color: var(--accent2); font-style: normal; }
.page-content a      { color: var(--link); }
.page-content pre    { border-color: var(--accent2); background: #080808; }
