:root{
  --bg-0:#161616;
  --bg-1:#1e1e1e;
  --panel:#262626;
  --panel-light:#3a3a3a;
  --border:#000;
  --text:#d6d6d6;
  --text-dim:#9a9a9a;
  --orange:#c96a1f;
  --orange-bright:#ff9a3c;
  --red-bright:#e2521f;
  --font:-apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

*{box-sizing:border-box;margin:0;padding:0;}

html{scroll-behavior:smooth;}

body{
  background:linear-gradient(180deg, var(--bg-0), var(--bg-1));
  color:var(--text);
  font-family:var(--font);
  font-size:16px;
  line-height:1.6;
  min-height:100vh;
}

img{image-rendering:pixelated;}

a{color:var(--orange-bright);text-decoration:none;}
a:hover{color:#fff;}

h1,h2,h3{font-family:var(--font);font-weight:700;}

::selection{background:var(--orange);color:#000;}

.container{max-width:1080px;margin:0 auto;padding:0 20px;}

/* ---------- Panels ---------- */
.panel{
  background:var(--panel);
  border:1px solid #000;
  border-radius:6px;
}

/* ---------- Navbar ---------- */
.navbar{
  position:sticky;top:0;z-index:100;
  background:var(--bg-0);
  border-bottom:3px solid var(--orange);
}
.navbar-inner{
  max-width:1080px;margin:0 auto;padding:14px 20px;
  display:flex;align-items:center;gap:18px;flex-wrap:wrap;
}
.brand{display:flex;align-items:center;gap:10px;}
.brand img{width:32px;height:32px;border-radius:4px;}
.brand span{font-size:18px;font-weight:700;color:#fff;letter-spacing:.5px;}

.nav-links{
  display:flex;gap:6px;margin-left:auto;flex-wrap:wrap;
}
.nav-links a{
  font-size:15px;
  color:#e7e7e7;
  padding:8px 12px;
  border-radius:4px;
}
.nav-links a:hover{
  background:var(--panel);
  color:var(--orange-bright);
}

.nav-ip{
  display:flex;align-items:center;gap:6px;
  font-size:15px;
  color:var(--text-dim);
}
.nav-ip .ip-value{color:var(--orange-bright);font-weight:600;}

.burger{
  display:none;
  width:38px;height:38px;
  background:var(--panel);
  border:1px solid #000;
  border-radius:4px;
  color:#fff;font-size:18px;
  cursor:pointer;
}

/* ---------- Hero ---------- */
.hero{
  position:relative;
  padding:80px 20px 90px;
  text-align:center;
  background:radial-gradient(ellipse at 50% 0%, rgba(255,138,40,.12), transparent 60%), var(--bg-0);
  border-bottom:1px solid #000;
}
.hero-logo{
  width:96px;height:96px;
  margin:0 auto 20px;
  border-radius:10px;
}
.hero h1{
  font-size:40px;
  color:#fff;
  letter-spacing:1px;
}
.hero .tagline{
  margin-top:14px;
  font-size:19px;
  color:var(--text-dim);
}
.hero .tagline b{color:var(--orange-bright);font-weight:600;}

.badges{
  margin-top:24px;
  display:flex;gap:10px;justify-content:center;flex-wrap:wrap;
}
.badge{
  font-size:13px;
  font-weight:600;
  padding:6px 12px;
  background:var(--panel);
  border:1px solid #000;
  border-radius:20px;
  color:#e2e2e2;
}
.badge.online{color:var(--orange-bright);}
.badge.online::before{
  content:"●";
  margin-right:6px;
  animation:blink 1.4s infinite;
}
@keyframes blink{0%,60%{opacity:1;}30%{opacity:.25;}}

.ip-box{
  margin:32px auto 0;
  max-width:480px;
  display:flex;
  align-items:stretch;
  border-radius:6px;
  overflow:hidden;
}
.ip-box .ip-label{
  display:flex;align-items:center;
  padding:0 14px;
  background:#101010;
  color:var(--text-dim);
  font-size:14px;
}
.ip-box input{
  flex:1;
  border:none;
  background:#101010;
  color:var(--orange-bright);
  font-family:var(--font);
  font-size:19px;
  font-weight:600;
  text-align:center;
  padding:12px 6px;
  outline:none;
}
.copy-btn{
  cursor:pointer;
  font-family:var(--font);
  font-size:14px;
  font-weight:700;
  padding:0 18px;
  color:#fff;
  background:var(--orange);
  border:none;
}
.copy-btn:hover{background:var(--orange-bright);}
.copy-btn:active{transform:translateY(1px);}
.copy-btn.copied{background:#3d7cb8;}

/* ---------- Sections ---------- */
.section{padding:64px 0;border-bottom:1px solid #000;}
.section.alt{background:var(--bg-1);}
.section h2{
  font-size:26px;
  color:#fff;
  text-align:center;
  margin-bottom:10px;
}
.section .sub{
  text-align:center;
  color:var(--text-dim);
  font-size:16px;
  max-width:640px;
  margin:0 auto 40px;
}

.about-text{
  max-width:720px;margin:0 auto;
  font-size:17px;
  color:var(--text);
  text-align:center;
}

/* Feature grid with block icons */
.features{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.feature{
  padding:24px 18px;
  text-align:center;
}
.block-icon{
  width:44px;height:44px;
  margin:0 auto 14px;
  border-radius:6px;
}
.block-icon.grass{background:linear-gradient(180deg,#7cb843 0 40%, #6b4a2b 40% 100%);}
.block-icon.tnt{background:linear-gradient(180deg,#c1440e 0 32%, #e8e1c9 32% 68%, #c1440e 68% 100%);}
.block-icon.diamond{background:#6a6a6a;box-shadow:inset 0 0 0 3px rgba(126,232,232,.55);}
.block-icon.bedrock{background:#565656;}
.block-icon.obsidian{background:linear-gradient(180deg,#160a24,#0a0512);}
.block-icon.gold{background:linear-gradient(180deg,#e8cf6a,#b8923a);}
.block-icon.frame{background:#8b5a2b;box-shadow:inset 0 0 0 7px #4a2f16;}

.feature h3{
  font-size:15px;
  color:var(--orange-bright);
  margin-bottom:8px;
}
.feature p{
  font-size:15px;
  color:var(--text-dim);
}

/* Rules list */
.rules-list{
  max-width:720px;margin:0 auto;
  display:flex;flex-direction:column;gap:12px;
}
.rule{
  display:flex;gap:14px;align-items:flex-start;
  padding:16px 18px;
}
.rule .num{
  font-size:14px;
  font-weight:700;
  color:#000;
  background:var(--orange-bright);
  min-width:28px;height:28px;
  display:flex;align-items:center;justify-content:center;
  border-radius:50%;
  flex-shrink:0;
}
.rule.deny .num{background:var(--red-bright);}
.rule p{font-size:16px;color:var(--text);}
.rule p b{color:#fff;}

/* Join steps */
.steps{
  max-width:720px;margin:0 auto;
  display:flex;flex-direction:column;gap:14px;
}
.step{
  display:flex;gap:16px;align-items:center;
  padding:16px 20px;
}
.step .n{
  font-size:18px;
  font-weight:700;
  color:var(--orange-bright);
  min-width:28px;
}
.step p{font-size:16px;}
.step code{
  background:#101010;
  color:var(--orange-bright);
  padding:2px 8px;
  border-radius:4px;
  font-size:15px;
}

.join-cta{
  text-align:center;
  margin-top:32px;
}
.join-cta .copy-btn{
  padding:12px 24px;
  border-radius:6px;
}

/* Footer */
footer{
  padding:40px 20px 28px;
  text-align:center;
  background:#101010;
}
.socials{
  display:flex;justify-content:center;margin-bottom:20px;
}
.socials a{
  font-size:14px;
  font-weight:700;
  padding:10px 22px;
  color:#e2e2e2;
  border-radius:6px;
}
.socials a:hover{color:#000;background:var(--orange-bright);}
footer .copy{
  color:var(--text-dim);
  font-size:14px;
}

/* ---------- Responsive ---------- */
@media (max-width:820px){
  .features{grid-template-columns:repeat(2,1fr);}
}

@media (max-width:720px){
  .nav-links{
    display:none;
    width:100%;
    order:3;
    flex-direction:column;
    margin-top:10px;
  }
  .nav-links.open{display:flex;}
  .nav-ip{display:none;}
  .burger{display:block;margin-left:auto;}
  .hero h1{font-size:30px;}
  .hero .tagline{font-size:16px;}
  .ip-box{flex-direction:column;border-radius:6px;}
  .ip-box .ip-label{justify-content:center;padding:8px;}
}

@media (max-width:520px){
  .features{grid-template-columns:1fr;}
  .step{flex-direction:column;align-items:flex-start;gap:6px;}
}
