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

body{
font-family:"Inter",sans-serif;
background:#020617;
color:#e2e8f0;
line-height:1.6;
transition:background .4s ease;
}

body.sc-theme{
background:url("/images/Star-Citizen-4K-Wallpaper-3.jpg") center top no-repeat fixed;
background-size:cover;
}
body.cms-theme{
background: url("/images/boxed-bg-dark.png") center top repeat;
}

body.games-theme{
background: url("../images/home-background.jpg") center top no-repeat;
background-size:cover;
}

/* container */

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

/* header */

.header{
background:rgba(2,6,23,0.8);
backdrop-filter:blur(10px);
border-bottom:1px solid #1e293b;
position:sticky;
top:0;
z-index:100;
}

.nav{
display:flex;
justify-content:space-between;
align-items:center;
padding:16px 0;
}

.logo{
font-size:20px;
font-weight:600;
}

.logo span{
color:#38bdf8;
}

/* nav */

nav{
display:flex;
gap:22px;
}

nav a{
text-decoration:none;
color:#cbd5f5;
transition:.2s;
font-weight:500;
cursor:pointer;
}

nav a:hover{
color:#38bdf8;
}

a.home{
text-decoration:none;
color:#FFF;
}

/* hero */

.hero{
padding:110px 0;
text-align:center;
background:
radial-gradient(circle at top,#1e293b 0%,#020617 60%);
}

.hero h1{
font-size:48px;
margin-bottom:10px;
}

.hero p{
color:#94a3b8;
margin-bottom:30px;
}
.hero-overlay{
pointer-events:none;
}
/* buttons */

.btn{
background:#38bdf8;
color:#020617;
padding:10px 20px;
border-radius:6px;
text-decoration:none;
font-weight:600;
margin-right:10px;
cursor:pointer;
}

.btn-secondary{
border:1px solid #334155;
padding:10px 20px;
border-radius:6px;
text-decoration:none;
color:#e2e8f0;
cursor: pointer;
margin-right: 10px;
}

.btn:hover{
opacity:.9;
}

/* sections */

section{
margin-top:15px;
}

h2{
margin-bottom:20px;
font-size:26px;
}

/* grid */

.grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:20px;
}

/* cards */

.card{
background:rgba(30,41,59,0.6);
border:1px solid #334155;
padding:25px;
border-radius:12px;
transition:.25s;
backdrop-filter:blur(6px);
}

.card:hover{
transform:translateY(-6px);
box-shadow:0 15px 35px rgba(0,0,0,0.4);
}

.card h3{
margin-bottom:10px;
}

.icon{
font-size:28px;
margin-bottom:10px;
}


/* server status */

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

.status-card{
background:#1e293b;
padding:18px;
border-radius:10px;
display:flex;
align-items:center;
gap:10px;
}

.status-dot{
width:10px;
height:10px;
border-radius:50%;
}

.online{
background:#22c55e;
box-shadow:0 0 8px #22c55e;
}

.offline{
background:#ef4444;
}

.server-info-card{
background:#0f172a;
border:1px solid #1e293b;
border-radius:12px;
padding:20px;
max-width:420px;
color:#e2e8f0;
}

.server-tabs{
display:flex;
gap:10px;
margin-bottom:15px;
}

.server-tabs .tab{
background:#1e293b;
border:none;
padding:8px 14px;
border-radius:6px;
cursor:pointer;
color:#e2e8f0;
}

.server-tabs .tab.active{
background:#38bdf8;
color:#020617;
}

.server-tab-content{
display:none;
}

.server-tab-content.active{
display:block;
}

.server-block{
margin-bottom:16px;
}

.server-block h3{
margin:6px 0;
color:#38bdf8;
}

.server-block p{
margin:2px 0;
font-size:14px;
color:#cbd5f5;
}


/* services layout */

.services-layout{
display:grid;
grid-template-columns:1fr 1fr;
gap:20px;
align-items:stretch;
}

/* right side grid */

.services-grid{
display:grid;
grid-template-columns:1fr 1fr;
grid-template-rows:1fr 1fr;
gap:20px;
height:100%;
}

/* cards stretch */

.services-grid .card{
height:100%;
display:flex;
flex-direction:column;
justify-content:center;
}

/* server card fill */

.server-info-card{
height:100%;
max-width:none;
}
.server-info-card{
background:rgba(30,41,59,0.6);
backdrop-filter:blur(6px);
border:1px solid #334155;
}
/* responsive */

@media(max-width:900px){

.services-layout{
grid-template-columns:1fr;
}

.services-grid{
grid-template-columns:1fr;
grid-template-rows:auto;
}

}

/* footer */

footer{
margin-top:90px;
padding:30px 0;
border-top:1px solid #1e293b;
text-align:center;
color:#94a3b8;
}
/* modal */

.modal{
	display:none;
	position:fixed;
	z-index:200;
	left:0;
	top:0;
	width:100%;
	height:100%;
	background:rgba(0,0,0,0.6);
	backdrop-filter:blur(5px);
	justify-content:center;
	align-items:center;
	inset:0;
	animation:fadeIn .2s ease;
	z-index:4000;
}


@keyframes fadeIn{
from{opacity:0}
to{opacity:1}
}

.modal-content{
background:#020617;
padding:30px;
border-radius:12px;
width:90vw;          /* wider modal */
max-width:1400px;    /* max width */
max-height:90vh;
border:1px solid #334155;
box-shadow:0 20px 50px rgba(0,0,0,0.5);
display:flex;
flex-direction:column;
}

#modal-body{
overflow-y:auto;
flex:1;
padding:10px;
}

#modal-body img{
max-width:100%;
height:auto;
}

#modal-body video{
max-width:100%;
}

.download-list{
display:flex;
flex-direction:column;
gap:12px;
max-height:55vh;
overflow-y:auto;
padding-right:5px;
}

.close{
float:right;
font-size:24px;
cursor:pointer;
color:#94a3b8;
}

.close:hover{
color:#38bdf8;
}

/* downloads */

.download-list{
display:flex;
flex-direction:column;
gap:12px;
margin-top:20px;
}

.download-item{
display:flex;
justify-content:space-between;
align-items:center;
background:#0f172a;
border:1px solid #1e293b;
padding:14px;
border-radius:8px;
}

.download-btn{
background:#38bdf8;
color:#020617;
padding:6px 12px;
border-radius:6px;
text-decoration:none;
font-size:14px;
font-weight:600;
}

.download-btn:hover{
opacity:.9;
}

.card{
cursor:pointer;
}

.dev-list{
display:flex;
flex-direction:column;
gap:12px;
margin-top:20px;
}

.dev-item{
display:flex;
justify-content:space-between;
align-items:center;
background:#0f172a;
border:1px solid #1e293b;
padding:14px;
border-radius:8px;
}

.dev-item button{
background:#38bdf8;
border:none;
padding:6px 12px;
border-radius:6px;
cursor:pointer;
}


::-webkit-scrollbar{
width:6px;
}

::-webkit-scrollbar-track{
background:#020617;
}

::-webkit-scrollbar-thumb{
background:#38bdf8;
border-radius:3px;
}

.modal-back{
background:#1e293b;
border:1px solid #334155;
color:#e2e8f0;
padding:6px 12px;
border-radius:6px;
cursor:pointer;
margin-bottom:15px;
}

.modal-back:hover{
border-color:#38bdf8;
}

.card-link{
text-decoration:none;
color:inherit;
display:block;
}
.card-link .card:hover{
border-color:#38bdf8;
}
.card-link .card:hover{
border-color:#38bdf8;
}

.hero{
position:relative;
height:40vh;
display:flex;
align-items:center;
justify-content:center;
overflow:hidden;
}

/* slider background */

.hero-slider{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
z-index:0;
}

.hero-slider .slides{
display:flex;
height:100%;
margin:0;
padding:0;
list-style:none;
}

.hero-slider .slide{
min-width:100%;
height:100%;
}

.hero-slider img{
width:100%;
height:100%;
object-fit:cover;
}

/* dark overlay */

.hero-overlay{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(2,6,23,0.65);
z-index:1;
}

/* hero text */

.hero-content{
position:relative;
z-index:2;
text-align:center;
}

.hero-content h1{
font-size:48px;
margin-bottom:10px;
}

.hero-content p{
color:#94a3b8;
margin-bottom:30px;
}

.hero-overlay{
background:
linear-gradient(
to bottom,
rgba(2,6,23,0.3),
rgba(2,6,23,0.8)
);
}
.hero-slider{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
overflow:hidden;
z-index:0;
}

/* slides container */
.hero-slider .slides{
display:flex;
height:100%;
margin:0;
padding:0;
list-style:none;
transition: transform 1.8s ease;
}

/* slide */
.hero-slider .slide{
flex:0 0 100%;
height:100%;
}

/* image */
.hero-slider img{
width:100%;
height:100%;
object-fit:cover;
display:block;
}

.panel{
position:fixed;
top:0;
right:-100%;
width:85vw;
max-width:1600px;
height:100vh;

background:#020617;

border-left:1px solid #1e293b;

box-shadow:-20px 0 40px rgba(0,0,0,.6);

transition:right .35s ease;

z-index:3000;

display:flex;
flex-direction:column;
}

.panel.open{
right:0;
}

.panel-header{
display:flex;
justify-content:flex-end;
padding:10px 15px;
border-bottom:1px solid #1e293b;
}

.panel-close{
background:#1e293b;
border:none;
color:#e2e8f0;
padding:6px 12px;
border-radius:6px;
cursor:pointer;
}

.panel-close:hover{
background:#334155;
}

#panel-body{
flex:1;
overflow-y:auto;
padding:20px;
}

/* overlay */

.panel-overlay{
position:fixed;
inset:0;
background:rgba(0,0,0,.5);
backdrop-filter:blur(4px);

opacity:0;
pointer-events:none;

transition:.3s;

z-index:2900;
}

.panel-overlay.show{
opacity:1;
pointer-events:auto;
}


/* mobile */
@media(max-width:768px){

.nav{
flex-direction:column;
gap:12px;
}

.hero h1{
font-size:34px;
}

}