/* ===================================
   mIRC.my PORTAL v3
   PREMIUM DARK THEME
=================================== */


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


html{
    scroll-behavior:smooth;
}


body{

    font-family:'Inter',sans-serif;

    background:
    radial-gradient(circle at top left,#10254a 0%,transparent 40%),
    radial-gradient(circle at bottom right,#083344 0%,transparent 35%),
    #050816;

    color:#ffffff;

    overflow-x:hidden;

    line-height:1.6;

}



/* ===================================
   GLOBAL
=================================== */


.container{

    width:90%;

    max-width:1200px;

    margin:auto;

}



.section{

    padding:100px 0;

    position:relative;

}



.section-header{

    text-align:center;

    max-width:750px;

    margin:0 auto 60px;

}


.section-header h2{

    font-size:42px;

    margin:15px 0;

}



.section-header p{

    color:#b6c2d9;

}




.section-tag{

    display:inline-block;

    padding:7px 18px;

    border-radius:30px;

    background:rgba(59,130,246,.15);

    border:1px solid rgba(96,165,250,.3);

    color:#60a5fa;

    font-size:13px;

    letter-spacing:1px;

}







/* ===================================
   LOADING SCREEN
=================================== */


#loader{

    position:fixed;

    inset:0;

    background:#050816;

    z-index:9999;

    display:flex;

    justify-content:center;

    align-items:center;

    flex-direction:column;

    gap:30px;

}



.loader-logo{

    font-size:42px;

    font-weight:800;

}


.loader-circle{

    width:60px;

    height:60px;

    border-radius:50%;

    border:4px solid rgba(255,255,255,.1);

    border-top-color:#3b82f6;

    animation:spin 1s linear infinite;

}



@keyframes spin{

    to{

        transform:rotate(360deg);

    }

}







/* ===================================
   PARTICLES
=================================== */


#particles{

    position:fixed;

    inset:0;

    z-index:-1;

}







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


.navbar{

    position:fixed;

    top:0;

    width:100%;

    z-index:1000;

    padding:20px 0;

    transition:.3s;

}



.navbar.scrolled{

    background:rgba(5,8,22,.75);

    backdrop-filter:blur(20px);

}



.nav-container{

    display:flex;

    justify-content:space-between;

    align-items:center;

}



.logo{

    font-size:30px;

    font-weight:800;

}



.logo span{

    color:#3b82f6;

}





.nav-links{

    display:flex;

    list-style:none;

    gap:25px;

}



.nav-links a{

    color:#ffffff;

    text-decoration:none;

    font-size:14px;

    position:relative;

}



.nav-links a::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-8px;

    width:0;

    height:2px;

    background:#3b82f6;

    transition:.3s;

}



.nav-links a:hover::after{

    width:100%;

}



.hamburger{

    display:none;

}





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


.hero{

    min-height:100vh;

    display:flex;

    align-items:center;

    padding-top:120px;

}



.hero-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:60px;

    align-items:center;

}



.badge{

    display:inline-block;

    background:rgba(34,197,94,.15);

    color:#4ade80;

    border:1px solid rgba(34,197,94,.3);

    padding:8px 18px;

    border-radius:30px;

    margin-bottom:25px;

}



.hero h1{

    font-size:70px;

    line-height:1.1;

    font-weight:800;

}



.hero h1 span{

    background:linear-gradient(90deg,#3b82f6,#06b6d4);

    -webkit-background-clip:text;

    color:transparent;

}



.hero p{

    margin:30px 0;

    color:#b6c2d9;

    font-size:18px;

    max-width:550px;

}






/* BUTTON */


.hero-buttons{

    display:flex;

    gap:20px;

}



.btn-primary,
.btn-secondary{

    padding:14px 28px;

    border-radius:12px;

    text-decoration:none;

    transition:.3s;

    display:inline-block;

}



.btn-primary{

    background:linear-gradient(90deg,#3b82f6,#06b6d4);

    color:white;

}



.btn-secondary{

    border:1px solid rgba(255,255,255,.2);

    color:white;

}



.btn-primary:hover,
.btn-secondary:hover{

    transform:translateY(-4px);

}







/* HERO VISUAL */


.server-glass{

    padding:40px;

    border-radius:25px;

    background:rgba(255,255,255,.08);

    border:1px solid rgba(255,255,255,.15);

    backdrop-filter:blur(20px);

    animation:float 5s ease-in-out infinite;

}



.server-glass h3{

    font-size:28px;

    margin-bottom:15px;

}



.server-glass li{

    list-style:none;

    padding:8px 0;

    color:#b6c2d9;

}




@keyframes float{

    50%{

        transform:translateY(-15px);

    }

}



/* ===================================
   GLASS SYSTEM
=================================== */


.glass{

    background:rgba(255,255,255,.06);

    border:1px solid rgba(255,255,255,.12);

    backdrop-filter:blur(20px);

    -webkit-backdrop-filter:blur(20px);

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

}






/* ===================================
   NETWORK SERVICES
=================================== */


.services-grid{

    display:grid;

    grid-template-columns:repeat(5,1fr);

    gap:25px;

}



.service-card{

    padding:30px;

    border-radius:22px;

    transition:.35s;

}



.service-card:hover{

    transform:translateY(-10px);

    border-color:#3b82f6;

}



.service-icon{

    font-size:40px;

    margin-bottom:20px;

}



.service-card h3{

    margin-bottom:12px;

}



.service-card p{

    color:#b6c2d9;

    font-size:14px;

}



.service-url{

    margin:20px 0;

    color:#60a5fa;

    font-size:14px;

}



.online-status{

    color:#4ade80;

    font-size:13px;

    font-weight:600;

}







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


.status-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:25px;

}



.status-card{

    padding:35px;

    text-align:center;

    border-radius:22px;

}



.status-icon{

    font-size:35px;

    margin-bottom:15px;

}



.status-card strong{

    color:#4ade80;

}








/* ===================================
   CHAT SECTION
=================================== */


.chat-box{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:50px;

    padding:50px;

    border-radius:30px;

}



.chat-content h2{

    font-size:42px;

    margin:20px 0;

}



.chat-content p{

    color:#b6c2d9;

    margin-bottom:30px;

}





.terminal-window{

    background:#020617;

    border-radius:18px;

    overflow:hidden;

    border:1px solid rgba(255,255,255,.1);

}



.terminal-top{

    padding:15px;

    background:#111827;

    color:#ef4444;

}



.terminal-body{

    padding:30px;

    font-family:monospace;

    color:#93c5fd;

}



.terminal-body .green{

    color:#4ade80;

}








/* ===================================
   ZNC
=================================== */


.znc-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:25px;

}



.znc-card{

    padding:35px;

    border-radius:25px;

    transition:.3s;

}



.znc-card:hover{

    transform:translateY(-8px);

}



.step-number{

    width:45px;

    height:45px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:#3b82f6;

    margin-bottom:20px;

    font-weight:bold;

}



.znc-card p{

    color:#b6c2d9;

}



code,pre{

    display:block;

    background:#020617;

    color:#60a5fa;

    padding:12px;

    border-radius:10px;

    margin-top:15px;

    overflow:auto;

}



.request-box{

    margin-top:40px;

    padding:40px;

    border-radius:25px;

}








/* ===================================
   FEATURES
=================================== */


.features-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:25px;

}



.feature-card{

    padding:30px;

    border-radius:22px;

}








/* ===================================
   FORUM
=================================== */


.forum-box{

    padding:50px;

    border-radius:30px;

    display:flex;

    justify-content:space-between;

    align-items:center;

}



.forum-icon{

    font-size:90px;

}








/* ===================================
   RADIO
=================================== */


.radio-box{

    padding:50px;

    border-radius:30px;

    display:grid;

    grid-template-columns:1fr .5fr;

    gap:40px;

}



.radio-status{

    color:#4ade80;

    font-weight:bold;

}



.pulse-dot{

    display:inline-block;

    width:10px;

    height:10px;

    background:#4ade80;

    border-radius:50%;

    animation:pulse 1.5s infinite;

}



@keyframes pulse{

    50%{

        opacity:.3;

    }

}



.song-title{

    font-size:24px;

    margin:20px 0;

}



.radio-info{

    display:flex;

    gap:30px;

    margin:30px 0;

}



.radio-info div{

    text-align:center;

}



.radio-info span{

    display:block;

    color:#b6c2d9;

}





.wave{

    height:180px;

    display:flex;

    align-items:center;

    justify-content:center;

    gap:10px;

}



.wave span{

    width:8px;

    height:50px;

    background:#3b82f6;

    animation:wave 1s infinite ease-in-out;

}



.wave span:nth-child(2){

    animation-delay:.1s;

}



.wave span:nth-child(3){

    animation-delay:.2s;

}



@keyframes wave{

    50%{

        height:120px;

    }

}








/* ===================================
   DOWNLOADS
=================================== */


.downloads-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:25px;

}



.download-card{

    padding:35px;

    border-radius:25px;

}



.download-icon{

    font-size:40px;

    margin-bottom:20px;

}








/* ===================================
   SERVERS
=================================== */


.servers-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:25px;

}



.server-card{

    padding:35px;

    border-radius:25px;

    transition:.3s;

}



.server-card:hover{

    transform:translateY(-8px);

}



.server-status{

    color:#4ade80;

    margin:15px 0;

}



/* ===================================
   STAFF
=================================== */


.staff-grid{

    display:grid;

    grid-template-columns:repeat(5,1fr);

    gap:25px;

}



.staff-card{

    padding:35px 20px;

    border-radius:25px;

    text-align:center;

    transition:.3s;

}



.staff-card:hover{

    transform:translateY(-10px);

}



.avatar{

    width:80px;

    height:80px;

    margin:auto;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:30px;

    font-weight:700;

    background:linear-gradient(135deg,#3b82f6,#06b6d4);

    margin-bottom:20px;

}



.staff-card span{

    color:#b6c2d9;

    font-size:14px;

}








/* ===================================
   STATISTICS
=================================== */


.stats-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:25px;

}



.stat-card{

    padding:40px;

    text-align:center;

    border-radius:25px;

}



.stat-card h3{

    font-size:45px;

    background:linear-gradient(90deg,#3b82f6,#06b6d4);

    -webkit-background-clip:text;

    color:transparent;

}



.stat-card p{

    color:#b6c2d9;

}








/* ===================================
   NEWS
=================================== */


.news-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:25px;

}



.news-card{

    padding:35px;

    border-radius:25px;

}



.news-card p{

    color:#b6c2d9;

}








/* ===================================
   FAQ
=================================== */


.faq{

    max-width:850px;

    margin:auto;

}



.faq details{

    padding:25px;

    margin-bottom:20px;

    border-radius:18px;

    cursor:pointer;

}



.faq summary{

    font-weight:600;

    font-size:18px;

}



.faq p{

    margin-top:15px;

    color:#b6c2d9;

}








/CONTACT
=================================== */


.contact-box{

    max-width:800px;

    margin:auto;

    text-align:center;

    padding:60px;

    border-radius:30px;

}



.email-list{

    margin:30px 0;

    font-size:18px;

}



.email-list p{

    color:#60a5fa;

}








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


footer{

    padding:50px 0 30px;

    border-top:1px solid rgba(255,255,255,.1);

}



.footer-content{

    display:flex;

    justify-content:space-between;

    gap:40px;

}



.footer-brand p{

    color:#b6c2d9;

}



.footer-links{

    display:flex;

    gap:20px;

    flex-wrap:wrap;

}



.footer-links a{

    color:#b6c2d9;

    text-decoration:none;

}



.footer-links a:hover{

    color:white;

}



.footer-bottom{

    text-align:center;

    margin-top:40px;

    color:#94a3b8;

}








/* ===================================
   BACK TO TOP
=================================== */


#backTop{

    position:fixed;

    bottom:30px;

    right:30px;

    width:45px;

    height:45px;

    border-radius:50%;

    border:none;

    background:#3b82f6;

    color:white;

    font-size:22px;

    cursor:pointer;

    display:none;

}







/* ===================================
   ANIMATION
=================================== */


.section,
.glass{

    animation:fadeUp .8s ease;

}



@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(30px);

    }


    to{

        opacity:1;

        transform:translateY(0);

    }

}








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


@media(max-width:1100px){


.services-grid{

grid-template-columns:repeat(2,1fr);

}


.znc-grid{

grid-template-columns:repeat(2,1fr);

}


.downloads-grid{

grid-template-columns:repeat(2,1fr);

}


.servers-grid{

grid-template-columns:repeat(2,1fr);

}


.staff-grid{

grid-template-columns:repeat(3,1fr);

}


}




@media(max-width:768px){



.nav-links{

position:absolute;

top:80px;

left:0;

width:100%;

background:#050816;

flex-direction:column;

padding:30px;

display:none;

}



.nav-links.active{

display:flex;

}



.hamburger{

display:flex;

flex-direction:column;

gap:6px;

cursor:pointer;

}



.hamburger span{

width:25px;

height:3px;

background:white;

}



.hero-grid,

.chat-box,

.radio-box{

grid-template-columns:1fr;

}



.hero h1{

font-size:45px;

}



.hero-buttons{

flex-direction:column;

}



.services-grid,

.status-grid,

.features-grid,

.stats-grid,

.news-grid,

.downloads-grid,

.servers-grid,

.znc-grid{

grid-template-columns:1fr;

}



.staff-grid{

grid-template-columns:repeat(2,1fr);

}



.forum-box{

flex-direction:column;

text-align:center;

}



.footer-content{

flex-direction:column;

}



.section-header h2{

font-size:32px;

}


}



@media(max-width:420px){


.staff-grid{

grid-template-columns:1fr;

}


.hero h1{

font-size:38px;

}


}


/* Mouse Glow */

.mouse-glow{

position:fixed;

width:250px;

height:250px;

background:radial-gradient(
circle,
rgba(59,130,246,.15),
transparent 70%
);

border-radius:50%;

pointer-events:none;

transform:translate(-50%,-50%);

z-index:-1;

}



.active-live{

animation:pulseLive 1s infinite;

}



@keyframes pulseLive{

50%{

opacity:.5;

}

}

