/* --- 1. CORE VARIABLES (Indian Defence Palette) --- */
:root {
    --bg-dark: #050a0e;     /* Deep Radar Black */
    --bg-panel: rgba(10, 20, 30, 0.7);
    --accent-olive: #4B5320;  /* Army Olive */
    --accent-saffron: #FF9933;/* Saffron (Alerts) */
    --accent-navy: #000080;   /* Navy Blue */
    --text-main: #e0f2f1;     /* HUD White */
    --text-dim: #546e7a;
    --neon-green: #00ff41;    /* Terminal Green */
    --grid-line: rgba(75, 83, 32, 0.3);
    --alert-red: #ff3333;
}

/* --- 2. RESET & BASE STYLES --- */
* { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Share Tech Mono', monospace; scroll-behavior: smooth; }
body { 
    background-color: var(--bg-dark); 
    color: var(--text-main); 
    overflow-x: hidden; 
    line-height: 1.6; 
    transition: border 0.5s ease; 
    border: 0px solid transparent; 
    cursor: crosshair; 
}

/* --- 3. BACKGROUND FX --- */
.bg-grid {
    position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    background-image: 
        linear-gradient(var(--grid-line) 1px, transparent 1px), 
        linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);
    background-size: 40px 40px; 
    z-index: -2; 
    opacity: 0.4;
}
.scanline {
    position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    background: linear-gradient(to bottom, transparent 50%, rgba(0, 255, 65, 0.05) 51%);
    background-size: 100% 4px; 
    pointer-events: none; 
    z-index: 100;
}
@keyframes domeScan {
    0% { transform: scale(0); opacity: 0; border-color: var(--accent-saffron); }
    50% { opacity: 0.3; border-color: var(--neon-green); }
    100% { transform: scale(1.5); opacity: 0; }
}
.indrajaal-shield {
    position: fixed; top: 50%; left: 50%; width: 80vw; height: 80vw;
    margin-left: -40vw; margin-top: -40vw; border: 1px solid var(--accent-saffron);
    border-radius: 50%; 
    z-index: -1; 
    animation: domeScan 4s ease-out infinite; 
    pointer-events: none;
}

/* --- 4. NAVIGATION --- */
nav {
    display: flex; justify-content: space-between; align-items: center; 
    padding: 20px 5%;
    border-bottom: 1px solid var(--accent-olive); 
    background: rgba(5, 10, 14, 0.9);
    backdrop-filter: blur(10px); 
    position: fixed; 
    width: 100%; 
    top: 0; 
    z-index: 50;
}
.logo { 
    font-size: 1.5rem; 
    color: var(--accent-saffron); 
    border: 1px solid var(--accent-saffron); 
    padding: 5px 15px; 
    cursor: default; 
}
.nav-links { display: flex; gap: 30px; list-style: none; }
.nav-links a { 
    color: var(--text-main); 
    text-decoration: none; 
    text-transform: uppercase; 
    font-size: 0.9rem; 
    transition: 0.3s; 
    cursor: crosshair; 
}
.nav-links a:hover { 
    color: var(--neon-green); 
    text-shadow: 0 0 8px var(--neon-green); 
}

/* --- 5. HERO --- */
.hero { 
    height: 100vh; 
    display: flex; 
    flex-direction: column; 
    justify-content: center; 
    padding: 0 10%; 
}
h1 { 
    font-size: 4rem; 
    text-transform: uppercase; 
    line-height: 1.1; 
    margin-bottom: 10px; 
}
.subtitle { 
    font-size: 1.5rem; 
    color: var(--accent-saffron); 
    margin-bottom: 30px; 
    min-height: 1.5rem; 
}
.status-badge { 
    border: 1px solid var(--neon-green); 
    color: var(--neon-green); 
    padding: 5px 10px; 
    font-size: 0.8rem; 
    margin-bottom: 20px; 
    display: inline-block; 
    background: rgba(0,255,65,0.1); 
}
.cta-btn { 
    padding: 15px 40px; 
    background: transparent; 
    border: 2px solid var(--accent-saffron); 
    color: var(--accent-saffron); 
    font-weight: bold; 
    cursor: pointer; 
    transition: 0.3s; 
    text-transform: uppercase; 
}
.cta-btn:hover { 
    background: var(--accent-saffron); 
    color: #000; 
    box-shadow: 0 0 20px var(--accent-saffron); 
}

/* --- 6. COMMON SECTIONS --- */
section { padding: 100px 10%; }
.section-title { 
    font-size: 2rem; 
    border-left: 5px solid var(--accent-olive); 
    padding-left: 20px; 
    margin-bottom: 50px; 
    text-transform: uppercase; 
}

.mission-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.glass-panel { 
    background: var(--bg-panel); 
    border: 1px solid var(--accent-olive); 
    padding: 30px; 
    position: relative; 
    opacity: 0; 
    transform: translateY(20px); 
    transition: 1s all ease; 
}
.glass-panel.active { 
    opacity: 1; 
    transform: translateY(0); 
}
.glass-panel::before { 
    content: ''; 
    position: absolute; 
    top: 0; 
    left: 0; 
    width: 10px; 
    height: 10px; 
    border-top: 2px solid var(--accent-saffron); 
    border-left: 2px solid var(--accent-saffron); 
}

/* Skills */
.arsenal-grid { display: flex; flex-wrap: wrap; gap: 20px; }
.skill-chip { 
    border: 1px solid var(--accent-navy); 
    padding: 10px 20px; 
    background: rgba(0, 0, 128, 0.2); 
    transition: 0.3s; 
    cursor: crosshair; 
}
.skill-chip:hover { 
    background: var(--accent-navy); 
    transform: translateY(-2px); 
    box-shadow: 0 0 10px var(--accent-navy); 
}

/* Commendations */
.commendation-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 20px; }
.medal-card { 
    background: rgba(5, 10, 14, 0.9); 
    border: 1px solid #333; 
    position: relative; 
    transition: 0.3s; 
}
.medal-card:hover { 
    border-color: var(--accent-saffron); 
    transform: translateY(-5px); 
}
.medal-ribbon { height: 6px; width: 100%; }
.medal-content { padding: 20px; }
.medal-content h3 { font-size: 1.1rem; margin-bottom: 5px; }
.medal-org { color: var(--accent-olive); font-size: 0.8rem; font-weight: bold; }
.medal-date { color: var(--text-dim); font-size: 0.7rem; margin-top: 10px; font-family: monospace; }

/* --- 7. S-400 PROJECTS --- */
.radar-controls { display: flex; gap: 15px; margin-bottom: 40px; flex-wrap: wrap; }
.radar-btn { 
    background: rgba(5, 10, 14, 0.8); 
    border: 1px solid var(--accent-olive); 
    color: var(--text-dim); 
    padding: 10px 20px; 
    cursor: pointer; 
    text-transform: uppercase; 
    transition: 0.3s; 
}
.radar-btn.active { 
    border-color: var(--accent-saffron); 
    color: var(--accent-saffron); 
    background: rgba(255, 153, 51, 0.1); 
}

.ops-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 30px; }

/* FIXED PROJECT CARD STYLES FOR ANIMATION */
.project-card { 
    background: #0f151a; 
    border: 1px solid #333; 
    padding: 25px; 
    transition: opacity 0.5s ease, transform 0.5s ease, border-color 0.3s ease; 
    position: relative; 
    opacity: 0; /* Default invisible until scrolled to or filtered */
    transform: translateY(20px); 
}

.project-card.active { 
    opacity: 1 !important; 
    transform: translateY(0) !important; 
    display: block; 
}
.project-card.hidden { 
    display: none !important; 
}

@keyframes targetLock { 
    0% { transform: scale(0.95); border-color: red; } 
    50% { border-color: var(--accent-saffron); } 
    100% { transform: scale(1); border-color: var(--neon-green); } 
}
.project-card.locked-on { 
    animation: targetLock 0.5s ease-out; 
    border-color: var(--neon-green) !important; 
}

.project-header { 
    display: flex; 
    justify-content: space-between; 
    margin-bottom: 15px; 
    color: var(--accent-olive); 
    font-size: 0.8rem; 
}
.project-title { 
    font-size: 1.5rem; 
    color: var(--text-main); 
    margin-bottom: 10px; 
}

/* --- 8. CONTACT & FOOTER --- */
.comms-container { 
    max-width: 600px; 
    margin: 0 auto; 
    background: rgba(10, 20, 30, 0.8); 
    border: 1px solid var(--accent-olive); 
    padding: 40px; 
}
.input-label { 
    display: block; 
    color: var(--accent-saffron); 
    font-size: 0.8rem; 
    margin-bottom: 8px; 
    text-transform: uppercase; 
}
.tactical-input { 
    width: 100%; 
    background: #050a0e; 
    border: 1px solid #333; 
    border-left: 3px solid var(--accent-olive); 
    color: var(--text-main); 
    padding: 15px; 
    margin-bottom: 25px; 
    outline: none; 
    transition: 0.3s; 
}
.tactical-input:focus { border-color: var(--neon-green); }

footer { 
    text-align: center; 
    padding: 40px; 
    border-top: 1px solid var(--accent-olive); 
    background: #050a0e; 
}

/* Self Destruct */
.purge-btn {
    background: transparent; 
    border: 1px solid var(--alert-red); 
    color: var(--alert-red);
    padding: 10px 20px; 
    margin-top: 30px; 
    cursor: pointer; 
    font-family: 'Share Tech Mono';
    transition: 0.3s; 
    font-size: 0.8rem; 
    letter-spacing: 2px;
}
.purge-btn:hover { 
    background: var(--alert-red); 
    color: black; 
    box-shadow: 0 0 20px var(--alert-red); 
}

.destruct-overlay {
    position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    background: black; 
    z-index: 9999; 
    display: none;
    flex-direction: column; 
    justify-content: center; 
    align-items: center; 
    text-align: center;
}
.destruct-active { 
    display: flex; 
    animation: flashRed 0.5s infinite; 
}
@keyframes flashRed { 
    0% { background-color: black; } 
    50% { background-color: #300; } 
    100% { background-color: black; } 
}

/* Resume Decrypt Button Styles */
.resume-btn {
    margin-top: 20px;
    display: inline-block;
    color: var(--neon-green);
    border: 1px dashed var(--neon-green);
    padding: 10px 20px;
    cursor: pointer;
    text-decoration: none;
    font-size: 0.9rem;
    transition: 0.3s;
}
.resume-btn:hover { 
    background: rgba(0,255,65,0.1); 
    box-shadow: 0 0 10px var(--neon-green); 
}

/* Mobile */
@media (max-width: 768px) {
    h1 { font-size: 2.5rem; } 
    .mission-grid { grid-template-columns: 1fr; } 
    .nav-links { display: none; } 
    .hero { padding: 0 5%; } 
    section { padding: 60px 5%; }
}