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

body {
    margin: 0; 
    color: #e0e0e0;
    font-family: 'Segoe UI', sans-serif;
    min-height: 100vh;
    overflow-x: hidden;
    background: #0a0e27; 
    display: flex;
    flex-direction: column;
}

#stars-container {
    position: fixed; 
    top: -50%; 
    left: -50%; 
    width: 200%; 
    height: 200%;
    z-index: -1; 
    overflow: hidden; 
    animation: rotateSky 150s linear infinite;
}

.star {
    position: absolute;
    background: white;
    border-radius: 50%;
    opacity: 0.75;
    animation: twinkle var(--duration, 3s) infinite alternate ease-in-out,
    animation-delay: var(--twinkle-delay, 0s); 
}

@keyframes twinkle {
    from { opacity: 0.2; transform: scale(0.8); }
    to { opacity: 1; transform: scale(1.2); }
}

@keyframes rotateSky {
    from { transform: rotate(0deg) ; }
    to { transform: rotate(360deg) ; }
}

.shooting-star {
    position: absolute; width: 2px; height: 2px; background: white;
    border-radius: 50%; box-shadow: 0 0 10px white; z-index: 5; opacity: 0;
}
.shooting-star::after {
    content: ''; position: absolute; top: 50%; transform: translateY(-50%);
    width: 150px; height: 1px; background: linear-gradient(90deg, white, transparent);
}
.animate-shooting { animation: shooting 2s linear forwards; }
@keyframes shooting {
    0% { transform: translateX(0) translateY(0) rotate(-45deg); opacity: 0; }
    10% { opacity: 1; }
    100% { transform: translateX(-100vw) translateY(100vh) rotate(-45deg); opacity: 0; }
}

.content-layer {
    position: relative;
    z-index: 10;
    width: 100%;
    flex: 1; 
    display: flex;
    flex-direction: column;
    justify-content: center; 
    align-items: center;   
}

.hero-panel {
    width: 100%;
    background: rgba(13, 17, 43, 0.7);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    padding: 80px 0;
    border-top: 1px solid rgba(102, 126, 234, 0.15);
    border-bottom: 1px solid rgba(102, 126, 234, 0.15);
    display: flex;
    flex-direction: column;
    align-items: center; 
    justify-content: center;
    gap: 15px;
}

h1 {
    font-size: clamp(2.5rem, 8vw, 4.5rem);
    letter-spacing: 10px;
    background: linear-gradient(135deg, #667eea, #f093fb, #667eea);
    background-size: 200% auto;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-bottom: 20px;
    animation: shimmer 5s linear infinite, glow 3s ease-in-out infinite alternate;
}

@keyframes glow {
    from { filter: drop-shadow(0 0 10px rgba(102, 126, 234, 0.6)); }
    to { filter: drop-shadow(0 0 25px rgba(240, 147, 251, 0.9)); }
}

@keyframes shimmer { to { background-position: 200% center; } }

.subtitle {
    font-size: 1rem;
    letter-spacing: 8px;
    color: #667eea;
    text-transform: uppercase;
    font-weight: 300;
}

.section-title {
    font-size: 2.5rem;
    margin: 40px 0;
    background: linear-gradient(90deg, #f093fb, #667eea);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    letter-spacing: 5px;
    text-transform: uppercase;
}

.projects-grid {
    display: flex; justify-content: center; flex-wrap: wrap; gap: 30px; margin-top: 40px;
}

.project-card {
    background: rgba(255, 255, 255, 0.03);
    backdrop-filter: blur(15px); -webkit-backdrop-filter: blur(15px);
    padding: 30px; border-radius: 20px; 
    border: 1px solid rgba(255, 255, 255, 0.1);
    width: 380px; transition: 0.4s ease;
    box-shadow: 0 10px 30px rgba(0,0,0,0.5);
    text-align: center;
}

.project-card:hover {
    transform: translateY(-15px);
    border-color: #f093fb;
    box-shadow: 0 0 40px rgba(240, 147, 251, 0.3);
}

.tech-tag {
    font-size: 0.75rem; background: rgba(240, 147, 251, 0.1);
    padding: 5px 12px; border-radius: 5px; color: #f093fb; margin-bottom: 15px; display: inline-block;
}

.project-card a {
    display: inline-block; margin-top: 20px; padding: 10px 25px;
    background: linear-gradient(135deg, #667eea, #f093fb);
    color: white; text-decoration: none; border-radius: 50px; font-weight: 700;
}

.menu-container { position: fixed; top: 30px; left: 30px; z-index: 5000; }

.hamburger {
    cursor: pointer;
    background: rgba(240, 147, 251, 0.1);
    padding: 10px;
    border-radius: 8px;
    border: 1px solid rgba(240, 147, 251, 0.2);
}

.hamburger span {
    display: block; width: 30px; height: 3px; background: #f093fb;
    margin: 6px 0; transition: 0.4s;
    box-shadow: 0 0 10px rgba(240, 147, 251, 0.5);
}

.side-menu {
    position: fixed; 
    top: 0; 
    left: -320px; 
    width: 300px; 
    height: 100vh;
    background: #0d1117; 
    z-index: 9998; 
    transition: 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 10px 0 30px rgba(0,0,0,0.5);
    border-right: 1px solid rgba(102, 126, 234, 0.3);
    padding-top: 100px;
}

.side-menu.active { left: 0; }

.close-menu {
    position: absolute; 
    top: 25px; 
    right: 25px; 
    font-size: 2.5rem;
    color: #f093fb; 
    cursor: pointer;
    line-height: 1; 
    z-index: 10000; 
}
    
.close-menu:hover {
    color: #fff;
    transform: scale(1.1);
    transition: 0.3s;
}

.side-menu a {
    display: block; color: white; text-decoration: none;
    padding: 20px 40px; font-size: 1.1rem; letter-spacing: 2px;
    text-transform: uppercase; transition: 0.3s;
}

.side-menu a:hover {
    background: rgba(240, 147, 251, 0.1);
    color: #f093fb;
}

footer { 
    text-align: center; 
    padding: 40px; 
    color: #718096; 
    position: relative; 
    z-index: 10; 
    background: rgba(5, 8, 20, 0.9);
    border-top: 1px solid rgba(255, 255, 255, 0.05);
    width: 100%; 
}

.menu-container { position: fixed; top: 30px; left: 30px; z-index: 9999; }

.side-menu.active { left: 0; }
