 :root {
    --bg-primary:   #09082b;
    --midnight:     #fefeff;      
    --cyber-cyan:   #02b8f0;    
    --craft-amber:  #02b8f0;   
    --slate-light:  #051524;
    --text-dark:    #1e293b;
    --text-muted:   #a7b3c4;
    --border:       #e2e8f0;
    --glass:        rgba(255, 255, 255, 0.05);
    --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    --bg-navbar:    #080625; 
    --log-icon:     #141042;
    --nav-text:     #fdfdfd;
    --bg-secondary: #0d1f41;
    --bg-card:      #112240;
    --bg-sidebar:   #080625;
    --accent:       #00f7ff;
    --accent-dim:   rgba(0, 242, 255, 0.08);
    --accent-mid:   rgba(0, 242, 255, 0.18);
    --white:        #ffffff;
    --gray:         #94a3b8;
    --gray-dim:     #4a5568;
    --border:       rgba(0, 242, 255, 0.1);
    --success:      #4ade80;
    --warning:      #f59e0b;
    --danger:       #f87171;
    --sidebar-w:    260px;
    --topbar-h:     68px;
    --btn-bg:       #0596cf; 
    --border-color: #0400fc;
    --footer-bg:    #040320;   
 }
* { 
    margin: 0; 
    padding: 0; 
    box-sizing: border-box; 
}

body { 
    font-family: 'Inter', system-ui, sans-serif; 
    background: var(--bg-primary);  
    overflow-x: hidden; 
    color: white;
    line-height: 1.6; 
}
 /* --- Navigation --- */
.navbar { 
    background: var(--bg-navbar); 
    position: fixed; 
    width: 100%; 
    top: 0; 
    z-index: 1000; 
    border-bottom: 1px solid #e2e8f015; 
}
.nav-container { 
    max-width: 100vw; 
    margin: 0 auto; 
    padding: 0.8rem 2rem; 
    display: flex; 
    justify-content: space-between; 
    align-items: center; 
}
 /* LOGO  */
.logo-group { 
    display: flex; 
    align-items: center; 
    gap: 12px; 
    text-decoration: none; 
}
.logo-icon-svg { 
    width: 40px; 
    height: 40px; 
    background: var(--log-icon); 
    border-radius: 50%; 
    display: flex; 
    align-items: center; 
    justify-content: center; 
    position: relative;
    border: 2px solid var(--cyber-cyan); 
    box-shadow: 0 0 15px rgba(0, 242, 255, 0.3);
    }
.logo-icon-svg i { 
    color: var(--cyber-cyan); 
    font-size: 1.1rem; 
    z-index: 2; 
}
.logo-text { 
    font-family: 'Space Grotesk', sans-serif;
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--white);
    text-decoration: none;
}
.logo-text span { 
    color: var(--craft-amber); }

.nav-links { 
    display: flex; 
    gap: 1.5rem; 
    align-items: center; }
.nav-links a { 
    font-family: 'Space Grotesk', sans-serif;
    text-decoration: none; 
    color: var(--nav-text); 
    font-weight: 600; 
    font-size: 0.95rem; 
    transition: var(--transition); 
    }
.nav-links a:hover { color: var(--cyber-cyan); }

   

.btn-login { 
    background: none; 
    font-weight: 600; 
    transition: var(--transition); 
    font-size: 0.95rem; 
    color: var(--nav-text); 
    padding: 0.5rem 1.5rem; 
    border-radius: 2rem; 
    border: 1px solid var(--border-color);
    outline: none;
    }
.btn-login:hover { 
    transform: translateY(-2px); 
    background: #1a2a4a;
    color: white !important; 
            
    }
        
.btn-signup { 
    background: var(--btn-bg); 
    border: 1px solid var(--border-color);
    outline: none;
    font-weight: 600; 
    transition: var(--transition); 
    font-size: 0.95rem; 
    color: white !important; 
    padding: 0.6rem 1.5rem; 
    border-radius: 2rem; 
    box-shadow: 0 4px 10px rgba(10, 17, 40, 0.2); 
    }
.btn-signup:hover { 
    transform: translateY(-2px); 
    background: #1a2a4a; }

/* --- mobile menu toggle --- */

.mobile-toggle { 
    display: none; 
    cursor: pointer; 
    color: var(--gray); 
    font-size: 1.2rem;
    padding: 6px;
    border-radius: 8px;
    transition: color 0.2s, background 0.2s;
}

.mobile-toggle:hover { 
  color: var(--accent); 
  background: var(--accent-dim); 
}

        /* --- signup Section --- */
        
.modal { 
    display: none; 
    position: fixed; 
    top: 0; 
    left: 0; 
    width: 100%; 
    height: 100%; 
    background: rgba(0,0,0,0.6); 
    backdrop-filter: blur(5px); 
    z-index: 2000; 
    align-items: center; 
    justify-content: center; 
        }
.modal.active { display: flex; }
.modal-content { 
    background: var(--bg-primary); 
    border-radius: 2rem; 
    padding: 2.5rem; 
    width: 90%; 
    max-width: 450px; 
    position: relative; 
    animation: slideIn 0.3s ease; 
    }
@keyframes slideIn { from { transform: translateY(-30px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
.modal-close { 
    position: absolute; 
    top: 1.5rem; 
    right: 1.5rem; 
    cursor: pointer; 
    font-size: 1.2rem; 
   }

.modal-tabs { 
    display: flex; 
    gap: 1rem; 
    margin-bottom: 2rem; 
    background: var(--bg-primary); 
    padding: 0.4rem; 
    border-radius: 1rem; 
}
.tab { 
    flex: 1; 
    text-align: center; 
    padding: 0.7rem; 
    cursor: pointer; 
    border-radius: 0.7rem; 
    font-weight: 600; 
    color: var(--text-light); 
    transition: 0.3s; }
.tab.active { 
    background: var(--btn-bg); 
    color: var(--primary); 
    box-shadow: 0 2px 10px rgba(0,0,0,0.05); }

.auth-form { 
    display: none; 
        }
.auth-form.active { 
    display: block; 
        }
.form-group { 
    margin-bottom: 1.2rem; 
        }
.form-group label { 
    display: block; 
    margin-bottom: 0.5rem; 
    font-weight: 500; 
    font-size: 0.9rem; 
        }
.form-group input { 
    width: 100%; 
    padding: 0.8rem 1rem; 
    border: 1px solid var(--border-color); 
    border-radius: 0.8rem; 
    outline: none; 
        }
.form-group input:focus { 
    border-color: var(--accent); 
    box-shadow: 0 0 0 3px rgba(43,108,158,0.1); }
.auth-btn { 
    width: 100%; 
    padding: 1rem; 
    background: var(--bg-navbar); 
    color: white;  
    border-radius: 0.8rem; 
    font-weight: 600; 
    cursor: pointer; 
    margin-top: 1rem; 
    border: 1px solid var(--border-color);
    transition: var(--transition); 
        }

        /* Loading Overlay */
#loadingOverlay { 
    position: fixed; 
    inset: 0; 
    background: rgb(225, 225, 231); 
    z-index: 9999; 
    display: flex; 
    flex-direction: column; 
    align-items: center; 
    justify-content: center; 
    transition: 0.5s; 
    }
.loader { 
    width: 40px; 
    height: 40px; 
    border: 4px solid #f3f3f3; 
    border-top: 4px solid var(--accent); 
    border-radius: 50%; 
    animation: spin 1s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }



        /* --- Footer --- */
footer { 
    background: var(--footer-bg); 
    color: #94a3b8; 
    padding: 80px 2rem 40px; 
}
        .footer-grid { max-width: 1280px; margin: 0 auto; display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 4rem; }
        .footer-about .logo-text { color: white; margin-bottom: 1.5rem; display: block; }
        .footer-col h4 { color: white; margin-bottom: 1.5rem; font-size: 1.1rem; }
        .footer-col ul { list-style: none; }
        .footer-col li { margin-bottom: 0.8rem; font-size: 0.9rem; transition: var(--transition); cursor: pointer; }
        .footer-col li:hover { color: var(--cyber-cyan); }
        .footer-bottom { text-align: center; margin-top: 60px; padding-top: 30px; border-top: 1px solid #1e293b; font-size: 0.8rem; }

        
 @media (max-width: 992px) {
    
        .mobile-toggle { display: block; }
        .nav-links { 
            display: none; 
            position: absolute; 
            top: 100%; 
            left: 0; 
            width: 100%; 
            background: var(--bg-navbar); 
            flex-direction: column; 
            padding: 1rem; 
            border-bottom: 2px solid var(--cyber-cyan);
            }
        .nav-links.active { display: flex; }
        .footer-grid { grid-template-columns: 1fr 1fr; }
        }