
/* =========================================================
   DESIGN SYSTEM
========================================================= */

:root{

    --bg:#050816;

    --surface:rgba(255,255,255,.05);

    --border:rgba(255,255,255,.08);

    --primary:#8b5cf6;

    --primary-2:#6d28d9;

    --accent:#B7AEFF;

    --text:#F5F7FF;

    --muted:rgba(245,247,255,.62);

    --glow:rgba(123,109,255,.35);

}

/* =========================================================
   BASE
========================================================= */

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

html{
    scroll-behavior:smooth;
}

body{

    font-family:'Plus Jakarta Sans',sans-serif;

    background:var(--bg);

    color:var(--text);

    overflow-x:hidden;
}

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

.container{
    max-width:1200px;
}

.section{
    position:relative;
    padding:140px 0;
    overflow:hidden;
}

.section-label{

    display:inline-block;

    margin-bottom:12px;

    font-size:.78rem;

    font-weight:700;

    letter-spacing:2px;

    text-transform:uppercase;

    color:#d18cff;
}

.section-title{

    font-size:clamp(2rem,4vw,4rem);

    font-weight:800;

    letter-spacing:-2px;

    line-height:1.05;

    margin-bottom:24px;
}

.section-text{

    max-width:760px;

    margin:auto;

    color:var(--muted);

    font-size:1.05rem;

    line-height:1.9;
}

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

.hero{

    position:relative;

    min-height:100vh;

    display:flex;

    align-items:center;

    justify-content:center;

    overflow:hidden;
}

/* GRID */

.hero::before{

    content:'';

    position:absolute;

    inset:0;

    background:
        linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);

    background-size:80px 80px;

    mask-image:radial-gradient(circle at center, black 25%, transparent 75%);

    opacity:.4;
}

/* MAIN GLOW */

.bg-glow{

    position:absolute;

    width:800px;

    height:800px;

    background:
        radial-gradient(circle,
        rgba(123,109,255,.22),
        transparent 65%);

    filter:blur(120px);

    top:-250px;

    left:-250px;
}

/* SECONDARY GLOW */

.ambient{

    position:absolute;

    border-radius:50%;

    filter:blur(90px);

    animation:drift 14s ease-in-out infinite alternate;
}

.ambient-1{

    width:420px;

    height:420px;

    background:rgba(123,109,255,.15);

    top:15%;

    left:10%;
}

.ambient-2{

    width:380px;

    height:380px;

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

    bottom:10%;

    right:10%;
}

@keyframes drift{

    from{
        transform:translate(0,0);
    }

    to{
        transform:translate(30px,-25px);
    }
}

/* =========================================================
   FLOATING NODES
========================================================= */

.node{

    position:absolute;

    width:7px;

    height:7px;

    border-radius:50%;

    background:#9f95ff;

    opacity:.4;

    box-shadow:0 0 25px rgba(159,149,255,.7);

    animation:float 6s ease-in-out infinite;
}

.node.main{

    width:10px;

    height:10px;

    opacity:1;

    box-shadow:0 0 40px #9f95ff;
}

@keyframes float{

    0%,100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-20px);
    }
}

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

.hero-content{

    position:relative;

    z-index:10;

    max-width:980px;

    text-align:center;

    padding:0 24px;
}

.hero h1{

    font-size:clamp(4rem,8vw,7rem);

    line-height:.92;

    font-weight:800;

    letter-spacing:-4px;

    margin-bottom:28px;

    background:
        linear-gradient(
        135deg,
        #ffffff,
        #c9c2ff);

    -webkit-background-clip:text;

    -webkit-text-fill-color:transparent;
}

.hero p{

    max-width:720px;

    margin:auto;

    color:var(--muted);

    font-size:1.15rem;

    line-height:1.9;
}

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

.hero-actions{

    margin-top:40px;

    display:flex;

    gap:18px;

    justify-content:center;

    flex-wrap:wrap;
}

.btn-primary-mx{

    height: 62px;
    
    position:relative;

    overflow:hidden;

    border:none;

    padding:16px 28px;

    border-radius:18px;

    color:#fff;

    font-weight:600;

    letter-spacing:.2px;

    background:
        linear-gradient(
        180deg,
        var(--primary),
        var(--primary-2));

    transition:all .35s cubic-bezier(.22,1,.36,1);

    box-shadow: 0 0 28px rgba(139, 92, 246, 0.35);
}

.btn-primary-mx:hover{

    transform:translateY(-5px) scale(1.01);
    
    color:#fff;

    box-shadow:
        0 30px 80px rgba(123,109,255,.5);
}

.btn-secondary-mx{

    padding:16px 28px;

    border-radius:18px;

    color:#fff;

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

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

    backdrop-filter:blur(10px);

    transition:all .3s ease;
}

.btn-secondary-mx:hover{

    transform:translateY(-4px);
    
    color:#fff;

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

/* =========================================================
   ECOSYSTEM GRID
========================================================= */

.ecosystem-grid{

    margin-top:80px;
}

.mx-card{

    position:relative;

    height:100%;

    padding:38px;

    border-radius:28px;

    overflow:hidden;

    background:
        linear-gradient(
        180deg,
        rgba(255,255,255,.08),
        rgba(255,255,255,.03));

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

    backdrop-filter:blur(20px);

    transition:all .45s cubic-bezier(.22,1,.36,1);
}

.mx-card::before{

    content:'';

    position:absolute;

    top:0;

    left:0;

    right:0;

    height:1px;

    background:
        linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.7),
        transparent);
}

.mx-card:hover{

    transform:translateY(-10px);

    border-color:rgba(123,109,255,.3);

    background:
        linear-gradient(
        180deg,
        rgba(123,109,255,.14),
        rgba(255,255,255,.04));

    box-shadow:
        0 30px 80px rgba(0,0,0,.45);
}

.mx-card h4{

    font-size:1.5rem;

    font-weight:700;

    margin-bottom:14px;
}

.mx-card p{

    color:var(--muted);

    line-height:1.8;
}

/* =========================================================
   FINAL CTA
========================================================= */

.cta-box{

    padding:70px;

    border-radius:36px;

    background:
        linear-gradient(
        180deg,
        rgba(255,255,255,.07),
        rgba(255,255,255,.03));

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

    backdrop-filter:blur(20px);
}

/* =========================================================
   MODAL
========================================================= */

.modal-content{

    background:
        linear-gradient(
        180deg,
        rgba(16,18,30,.96),
        rgba(10,12,22,.94)) !important;

    border-radius:28px;

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

    backdrop-filter:blur(30px);

    box-shadow:
        0 50px 120px rgba(0,0,0,.55);
}

/* =========================================================
   FADE UP
========================================================= */

.fade-up{

    opacity:0;

    transform:translateY(40px);

    transition:
        opacity .9s ease,
        transform .9s ease;
}

.fade-up.show{

    opacity:1;

    transform:translateY(0);
}

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

@media(max-width:768px){

    .hero h1{

        font-size:4rem;

        letter-spacing:-2px;
    }

    .hero p{

        font-size:1rem;
    }

    .section{

        padding:100px 0;
    }

    .cta-box{

        padding:40px 24px;
    }

    .mx-card{

        padding:28px;
    }

}
/* =========================================================
   REGISTER
========================================================= */

.username-wrapper{

    display:flex;

    align-items:center;

    height:58px;

    border-radius:18px;

    overflow:hidden;

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

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

    transition:all .25s ease;
}

.username-wrapper:focus-within{

    border-color:rgba(123,109,255,.5);

    box-shadow:
        0 0 0 4px rgba(123,109,255,.12);
}

.username-prefix{

    padding:0 18px;

    color:rgba(255,255,255,.45);

    font-size:.95rem;

    border-right:1px solid rgba(255,255,255,.08);
}

.username-input{

    flex:1;

    height:100%;

    background:transparent !important;

    border:none !important;

    color:#fff !important;

    padding:0 18px;
}

.username-input:focus{

    box-shadow:none !important;
}

.username-input::placeholder{

    color:rgba(255,255,255,.35);
}

/* DIVIDER */

.divider{

    position:relative;

    text-align:center;
}

.divider::before{

    content:'';

    position:absolute;

    top:50%;

    left:0;

    width:100%;

    height:1px;

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

.divider span{

    position:relative;

    padding:0 14px;

    background:#0B0F1A;

    color:rgba(255,255,255,.45);

    font-size:.85rem;
}

/* SOCIAL BUTTON */

.social-btn{

    height:56px;

    border-radius:18px;

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

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

    color:#fff;

    transition:all .25s ease;
}

.social-btn:hover{

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

    transform:translateY(-2px);
}