/* =========================
   RESET
========================= */

*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:'Orbitron',sans-serif;
}

body{
background:url('/images/spirit.jpg') center/cover no-repeat fixed;
color:#eaffff;
min-height:100vh;
overflow-x:hidden;
}

/* =========================
   NAVBAR
========================= */

.navbar{
position:fixed;
top:0;
width:100%;
height:70px;

display:flex;
justify-content:space-between;
align-items:center;

padding:0 30px;

background:rgba(0,0,0,0.4);

z-index:100;
}

/* =========================
   HERO
========================= */

.hero{
min-height:100vh;

display:flex;
flex-direction:column;
align-items:center;
justify-content:center;

text-align:center;

padding:120px 20px 60px;
}

.hero h1{
font-size:clamp(2rem,5vw,3rem);

color:#00fff7;

text-shadow:
0 0 10px #00fff7,
0 0 30px #00fff7,
0 0 60px rgba(0,255,247,0.6);

margin-bottom:30px;
}

/* =========================
   BUTTONS
========================= */

.btn{
display:inline-flex;
align-items:center;
justify-content:center;

padding:14px 28px;
margin:10px;

border-radius:40px;

background:#00fff7;
color:#002525;

font-weight:bold;

box-shadow:
0 0 15px #00fff7,
0 0 30px rgba(0,255,247,0.5);

transition:.3s;
cursor:pointer;
}

.btn:hover{
transform:scale(1.1);

box-shadow:
0 0 25px #00fff7,
0 0 60px rgba(0,255,247,0.8);
}
/* BASIS */
.btn{
display:inline-flex;
align-items:center;
justify-content:center;

padding:14px 28px;
margin:10px;

border-radius:40px;
font-weight:bold;

transition:.3s;
cursor:pointer;
}

/* LOGIN */
.btn{
background:#00fff7;
color:#002525;
box-shadow:0 0 15px #00fff7;
}

/* REGISTER */
.btn:nth-child(2){
background:#ff00aa;
color:white;
box-shadow:0 0 15px #ff00aa;
}

/* SUPPORT */
.btn-primary{
background:#00fff7;
}

/* DISCORD */
.btn-discord{
background:#5865F2;
color:white;
box-shadow:0 0 20px #5865F2;
}

/* PLAY */
.btn-play{
background:#00ff88;
color:#002b1a;
box-shadow:0 0 20px #00ff88;
}

/* HOVER */
.btn:hover{
transform:scale(1.1);
}

/* =========================
   SERVER STATUS
========================= */

.server-status{
margin-top:15px;
font-size:.9rem;
}

.dot{
display:inline-block;
width:10px;
height:10px;

background:#00ff88;
border-radius:50%;

box-shadow:0 0 10px #00ff88;
}

/* =========================
   ARK STEIN
========================= */

.ark-laws{
position:relative; /* WICHTIG */
margin:80px 0 40px 80px;
width:300px;
}

.ark-laws img{
width:100%;
display:block;
}

.stone{
position:absolute;
width:30%;
height:15%;
bottom:8%;

background:transparent;
border:none;
cursor:pointer;

z-index:2; /* WICHTIG */
}

.ernst{ left:5%; }
.lustig{ left:35%; }
.episch{ left:65%; }

/* =========================
   SECTIONS
========================= */

.section{
padding:120px 20px;
text-align:center;
position:relative;
}

.section::before{
content:"";
position:absolute;
inset:0;
background:rgba(0,0,0,0.55);
z-index:0;
}

.section *{
position:relative;
z-index:1;
}

.section h2{
font-size:2rem;
margin-bottom:50px;

color:#00fff7;
text-shadow:0 0 20px #00fff7;
}

/* =========================
   GRID / BOXES
========================= */

.grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:20px;
max-width:1200px;
margin:auto;
}

.box{
padding:25px;

border-radius:20px;

background:rgba(0,20,30,0.5);
border:1px solid rgba(0,255,247,0.6);

box-shadow:
0 0 20px rgba(0,255,247,.25);

transition:.3s;
}

.box:hover{
transform:translateY(-5px);
}

/* =========================
   CARDS (HIGHLIGHTS)
========================= */

.cards{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
gap:30px;
max-width:1200px;
margin:auto;
}

.card{
background:rgba(0,20,30,0.55);
border:1px solid rgba(0,255,247,.6);

border-radius:20px;
padding:30px;

box-shadow:
0 0 20px rgba(0,255,247,.25);

transition:.3s;
}

.card:hover{
transform:translateY(-8px);
}

/* =========================
   FOOTER
========================= */

.footer{
max-width:1100px;
margin:100px auto 40px;

padding:40px 30px;

background:rgba(0,0,0,0.6);

border-radius:20px;
border:1px solid rgba(0,255,247,0.5);

box-shadow:0 0 25px rgba(0,255,247,0.2);
}

.footer-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:30px;
}

.footer h3{
color:#00fff7;
margin-bottom:10px;
}

.footer p{
opacity:0.8;
font-size:0.9rem;
}

.footer-bottom{
text-align:center;
margin-top:30px;
}

.footer-bottom a{
margin:0 10px;
color:#00fff7;
text-decoration:none;
}

/* =========================
   OVERLAY (LOGIN / RULES)
========================= */

.overlay,
.rules-popup{
position:fixed;
inset:0;

display:flex;
align-items:center;
justify-content:center;

background:rgba(0,0,0,0.75);

z-index:300;
}

.hidden{
display:none;
}

/* =========================
   RULES POPUP
========================= */

.rules-box{
position:relative;

width:90%;
max-width:520px;

padding:45px 40px;

border-radius:20px;

background:linear-gradient(
180deg,
rgba(10,0,25,0.95),
rgba(0,0,0,0.95)
);

border:2px solid #00fff7;

box-shadow:
0 0 25px rgba(0,255,247,0.8),
0 0 60px rgba(0,255,247,0.3),
inset 0 0 25px rgba(0,255,247,0.15);

text-align:center;
overflow:hidden;

transform:scale(.85);
opacity:0;

transition:.3s;
}

.rules-popup.show .rules-box{
transform:scale(1);
opacity:1;
}

/* HOLO LINES */

.rules-box::before{
content:"";
position:absolute;
inset:0;

background:repeating-linear-gradient(
0deg,
rgba(0,255,255,0.05),
rgba(0,255,255,0.05) 2px,
transparent 2px,
transparent 6px
);

animation:holoLines 3s linear infinite;
}

@keyframes holoLines{
0%{background-position:0 0;}
100%{background-position:0 40px;}
}

/* CLOSE */

.rules-close{
position:absolute;
top:15px;
right:15px;

width:36px;
height:36px;

display:flex;
align-items:center;
justify-content:center;

background:rgba(0,255,247,0.2);
border-radius:50%;

color:#00fff7;
cursor:pointer;
}

/* =========================
   MOBILE
========================= */

@media(max-width:768px){

.footer-grid{
grid-template-columns:1fr 1fr;
text-align:center;
}

.ark-laws{
margin:40px auto;
}

}