:root{
  --bg:#0d130f; --panel:#18211c; --panel2:#1f2b24; --line:#2c3a31;
  --text:#e7f0ea; --muted:#9fb6a8; --green:#5faf3a; --green-l:#7ed957; --green-d:#3d8b2c;
  --red:#e05b5b; --dirt:#7a5433; --dirt-d:#5a3d24;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--bg); color:var(--text); min-height:100vh;
  font-family:"Segoe UI",system-ui,-apple-system,Roboto,Helvetica,sans-serif;
  display:flex; flex-direction:column;
}
a{color:var(--green-l); text-decoration:none}
a:hover{text-decoration:underline}
code{background:#26332b;padding:2px 8px;border-radius:5px;color:var(--green-l);font-weight:700;font-size:.92em}
.page{flex:1}

/* ---------- Top-Nav ---------- */
.topnav{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 24px; background:rgba(10,15,11,.92);
  border-bottom:1px solid var(--line); position:sticky; top:0; z-index:20;
  backdrop-filter:blur(6px);
}
.logo{color:#fff; font-weight:900; font-size:1.25rem; letter-spacing:1px; text-decoration:none;
  text-shadow:2px 2px 0 var(--green-d)}
.navlinks{display:flex; align-items:center; gap:18px; font-weight:600}
.navlinks a{color:var(--text)}
.navuser{color:var(--muted); font-size:.9rem}
.navlinks form{margin:0}
.btn-nav{background:var(--green-d); color:#fff !important; padding:8px 16px; border-radius:6px;
  border-bottom:3px solid #2c6f2a; text-decoration:none !important}
.btn-nav:hover{background:var(--green)}
.btn-ghost{background:transparent; border:1px solid var(--line); color:var(--muted);
  padding:7px 13px; border-radius:6px; font-weight:600; cursor:pointer}
.btn-ghost:hover{color:#fff; border-color:var(--muted)}

/* ---------- Hero ---------- */
.hero{position:relative; min-height:520px; display:flex; align-items:center; overflow:hidden}
.hero-bg{position:absolute; inset:0; background-size:cover; background-position:center;
  filter:saturate(1.05)}
.hero::after{content:""; position:absolute; inset:0;
  background:linear-gradient(90deg,rgba(8,12,9,.92) 0%,rgba(8,12,9,.55) 45%,rgba(8,12,9,.15) 100%),
             linear-gradient(0deg,rgba(8,12,9,.85),transparent 55%)}
.hero-inner{position:relative; z-index:2; max-width:1100px; margin:0 auto; padding:60px 24px; width:100%}
.blocktitle{
  margin:0 0 18px; color:#fff; font-weight:900; line-height:.98;
  font-size:clamp(2.6rem,7vw,5.2rem); letter-spacing:2px;
  text-shadow:
    3px 3px 0 #2c6f2a, 6px 6px 0 #1c4a1b, 9px 9px 14px rgba(0,0,0,.6);
}
.hero-sub{color:#e7f0ea; font-size:clamp(1rem,2vw,1.25rem); line-height:1.5; margin:0 0 26px;
  max-width:560px; text-shadow:0 2px 6px rgba(0,0,0,.7)}
.hero-cta{display:flex; gap:14px; flex-wrap:wrap}

/* ---------- Buttons ---------- */
.btn-big{
  display:inline-block; background:var(--green-d); color:#fff !important; font-weight:800;
  font-size:1.05rem; padding:14px 26px; border-radius:8px; border:0;
  border-bottom:4px solid #2c6f2a; cursor:pointer; text-decoration:none !important;
}
.btn-big:hover{background:var(--green); transform:translateY(-1px)}
.btn-secondary{background:#2a3a30; border-bottom-color:#1a251e}
.btn-secondary:hover{background:#35493c}

/* ---------- Feature-Kacheln ---------- */
.features{
  max-width:1100px; margin:-40px auto 0; padding:0 24px; position:relative; z-index:5;
  display:grid; grid-template-columns:repeat(4,1fr); gap:16px;
}
@media(max-width:820px){.features{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.features{grid-template-columns:1fr}}
.feat{
  background:var(--panel); border:2px solid var(--line);
  border-top-color:#35473b; border-left-color:#35473b;
  border-radius:8px; padding:18px; box-shadow:0 8px 24px rgba(0,0,0,.35)
}
.feat h3{margin:12px 0 6px; color:#fff; font-size:1.1rem}
.feat p{margin:0; color:var(--muted); font-size:.92rem; line-height:1.4}
.feat-ico{width:52px; height:52px; border-radius:6px; image-rendering:pixelated;
  box-shadow:inset -3px -3px 0 rgba(0,0,0,.25), inset 3px 3px 0 rgba(255,255,255,.12)}
.ico-grass{background:linear-gradient(180deg,var(--green) 0 38%,#6b4a2e 38% 100%)}
.ico-sword{background:linear-gradient(135deg,#7fd4e0,#3aa0c8); position:relative}
.ico-sword::after{content:"⚔"; position:absolute; inset:0; display:flex; align-items:center;
  justify-content:center; font-size:26px}
.ico-friends{background:#4a8c3a; position:relative}
.ico-friends::after{content:"🧑‍🤝‍🧑"; position:absolute; inset:0; display:flex; align-items:center;
  justify-content:center; font-size:24px}
.ico-redstone{background:linear-gradient(135deg,#e2483a,#a11f16); position:relative}
.ico-redstone::after{content:"⚙"; position:absolute; inset:0; display:flex; align-items:center;
  justify-content:center; font-size:26px; color:#ffd9d3}

/* ---------- Join-Sektion ---------- */
.join{max-width:1100px; margin:44px auto; padding:0 24px}
.join-text{background:linear-gradient(135deg,#16241a,#101a13); border:2px solid var(--line);
  border-radius:10px; padding:30px}
.join-text h2{margin:0 0 10px; color:#fff}
.join-text p{color:var(--muted); max-width:560px; line-height:1.5; margin:0 0 18px}

/* ---------- Innenbereich / Karten ---------- */
.inner{max-width:900px; margin:0 auto; padding:26px 20px}
.pagetitle{margin:0 0 6px}
.lead{color:var(--muted); margin:0 0 20px}
.card{background:var(--panel); border:2px solid var(--line); border-top-color:#35473b; border-left-color:#35473b;
  border-radius:8px; padding:18px 20px; margin-bottom:16px}
.card-label{color:var(--muted); font-size:.82rem; text-transform:uppercase; letter-spacing:.6px; margin-bottom:8px}
.muted{color:var(--muted)}

/* ---------- Auth-Karten (Login/Ticket/Registrierung) ---------- */
.auth{max-width:430px; margin:6vh auto 0; background:var(--panel); border:2px solid var(--line);
  border-top-color:#35473b; border-left-color:#35473b; border-radius:8px; padding:24px}
.auth h1{margin:0 0 6px; font-size:1.5rem; color:#fff}
.lead{color:var(--muted)}
.legal{max-width:720px; margin:4vh auto 0; background:var(--panel); border:2px solid var(--line);
  border-radius:8px; padding:26px}
.legal h1{margin-top:0}
label{display:block; margin:0 0 13px; font-weight:600; font-size:.92rem}
label .hint{color:var(--muted); font-weight:400}
input[type=text],input[type=password],input:not([type]){
  width:100%; margin-top:6px; padding:11px 12px; background:var(--panel2);
  border:2px solid var(--line); border-radius:6px; color:var(--text); font-size:1rem}
input:focus{outline:none; border-color:var(--green-d)}
label.check{display:flex; gap:10px; align-items:flex-start; font-weight:400; font-size:.9rem;
  background:var(--panel2); border:1px solid var(--line); padding:10px 12px; border-radius:6px}
label.check input{margin-top:3px; width:auto}
.auth button,.auth .btn-big{width:100%; margin-top:4px}
.hint{color:var(--muted); font-size:.88rem; margin-top:14px}
.error{background:#3a1f1f; border:1px solid #5c2b2b; color:#ffb3b3; padding:10px 12px; border-radius:6px; margin:0 0 14px}
button{background:var(--green-d); color:#fff; border:0; border-bottom:3px solid #2c6f2a;
  cursor:pointer; padding:12px 18px; border-radius:6px; font-size:1rem; font-weight:800}
button:hover{background:var(--green)}

/* ---------- Grasblock-Footer ---------- */
.grassfoot{margin-top:40px}
.grassband{height:38px;
  background:
    linear-gradient(180deg,var(--green-l) 0 40%,var(--green) 40% 55%,var(--dirt) 55% 100%);
  background-size:32px 100%;
  box-shadow:inset 0 3px 0 rgba(255,255,255,.15), inset 0 -6px 0 rgba(0,0,0,.2);
  image-rendering:pixelated;
}
.footinner{background:#0a0f0b; padding:26px 24px 30px}
.footcols{max-width:1000px; margin:0 auto; display:flex; gap:40px; flex-wrap:wrap}
.foothead{color:#fff; font-weight:800; margin-bottom:8px; letter-spacing:.5px}
.footnote{color:var(--muted); font-size:.9rem; line-height:1.5; margin:0}
.footinner a{color:var(--muted)}
.footinner a:hover{color:#fff}
.disclaimer{max-width:1000px; margin:22px auto 0; color:#6f8478; font-size:.78rem;
  border-top:1px solid var(--line); padding-top:14px}


/* ---- Hall of Fame (#2) ---- */
.halloffame{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:800px){.halloffame{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.halloffame{grid-template-columns:1fr}}
.board{background:var(--panel);border:2px solid var(--line);border-top-color:#35473b;border-left-color:#35473b;border-radius:8px;padding:14px 16px}
.board-head{color:#fff;font-weight:800;margin-bottom:10px;font-size:1rem;display:flex;align-items:center;gap:8px}
.board-ico{font-size:1.2rem}
.rankrow{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid #202b24}
.rankrow:last-child{border-bottom:0}
.rank-num{width:22px;height:22px;flex:0 0 22px;border-radius:5px;background:#26332b;color:var(--muted);
  font-weight:800;font-size:.8rem;display:flex;align-items:center;justify-content:center}
.rank-name{flex:1;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rank-val{font-weight:800;color:var(--green-l)}
.rank-1 .rank-num{background:#c9a227;color:#1a1305}
.rank-1 .rank-name{color:#fff}
.rank-2 .rank-num{background:#9aa7ad;color:#10161a}
.rank-3 .rank-num{background:#b5723a;color:#1a0f05}
