/* ==========================================================
   COMPONENTS
   ========================================================== */

/* ---------- Card ---------- */

.card{
    background: rgba(18,26,45,.75);
    border:1px solid rgba(0,245,255,.12);
    border-radius:18px;
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    box-shadow:
        0 0 20px rgba(0,245,255,.05),
        inset 0 0 0 1px rgba(255,255,255,.02);
    padding:24px;
    transition:.3s ease;
}

.card:hover{
    transform:translateY(-4px);
    border-color:rgba(0,245,255,.35);
    box-shadow:0 12px 30px rgba(0,245,255,.15);
}

.stat-card:hover{

    transform:translateY(-6px);

}

/* ---------- Navbar ---------- */

#navbar{

    position:sticky;

    top:0;

    z-index:1000;

    margin-bottom:40px;

    padding:18px 0;

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

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

    backdrop-filter:blur(14px);

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

}

.nav-brand{
    font-size:24px;
    font-family:"Orbitron",sans-serif;
    color:#00F5FF;
    font-weight:700;
}

.nav-menu{
    display:flex;
    justify-content:center;
    gap:35px;
}

.nav-menu a{

    position:relative;

    color:#d5dce8;

    text-decoration:none;

    padding:6px 2px;

    transition:
        color .3s ease;

}

/* ---------- Navigation Active State ---------- */

.nav-menu a::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-7px;

    width:0;

    height:2px;

    background:#00F5FF;

    box-shadow:
        0 0 8px rgba(0,245,255,.7);

    transition:width .3s ease;

}

.nav-menu a:hover{

    color:#00F5FF;

}

.nav-menu a:hover::after{

    width:100%;

}

.nav-menu a.active{

    color:#00F5FF;

}

.nav-menu a.active::after{

    width:100%;

}

.nav-menu a:hover{
    color:#00F5FF;
}

.nav-status{
    display:flex;
    justify-content:flex-end;
    align-items:center;
}

/* ---------- Hero ---------- */

.scanner-card,
.intro-card,
.status-card{
    display:flex;
    flex-direction:column;
}

/* ---------- Hero Technology Badges ---------- */

.hero-tech{

    display:flex;

    flex-wrap:wrap;

    gap:8px;

    margin-top:18px;

}

.hero-badge{

    display:inline-flex;

    align-items:center;

    padding:7px 12px;

    border-radius:20px;

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

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

    color:#bdeff5;

    font-size:12px;

    letter-spacing:.4px;

    transition:
        background .3s ease,
        border-color .3s ease,
        transform .3s ease,
        box-shadow .3s ease;

}

.hero-badge:hover{

    background:rgba(0,245,255,.14);

    border-color:#00F5FF;

    color:#ffffff;

    transform:translateY(-2px);

    box-shadow:0 0 15px rgba(0,245,255,.18);

}

/* ---------- Hero Tagline ---------- */

.hero-tagline{

    margin-top:24px;

    max-width:850px;

    color:#8fa4ba;

    font-size:14px;

    line-height:1.7;

    letter-spacing:.2px;

}

/* ---------- Hero Buttons Spacing ---------- */

/* ---------- Hero Buttons ---------- */

.hero-buttons{

    display:flex;

    align-items:center;

    flex-wrap:wrap;

    gap:10px;

    margin-top:18px;

}

/* ---------- Statistics ---------- */

/* ---------- Statistics ---------- */

.stat-card{

    position:relative;

    display:flex;

    align-items:center;

    gap:20px;

    min-height:120px;

    overflow:hidden;

}

.stat-icon{

    width:70px;

    height:70px;

    border-radius:18px;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:30px;

    color:#00F5FF;

    background:rgba(0,245,255,.05);

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

    box-shadow:
        inset 0 0 18px rgba(0,245,255,.05),
        0 0 15px rgba(0,245,255,.08);

    flex-shrink:0;

}

.stat-content{

    display:flex;

    flex-direction:column;

    justify-content:center;

}

.stat-value{

    font-size:52px;

    font-weight:700;

    line-height:1;

    color:#18E8FF;

    font-family:"Orbitron",sans-serif;

}

.stat-label{

    margin-top:8px;

    font-size:14px;

    color:#B5C4D5;

    letter-spacing:1px;

    text-transform:uppercase;

}

.stat-line{

    position:absolute;

    left:20px;

    right:20px;

    bottom:0;

    height:3px;

    border-radius:20px;

    background:linear-gradient(
        90deg,
        #00F5FF,
        #B100FF
    );

    opacity:.9;

}

.stat-card:hover .stat-icon{

    transform:scale(1.08);

    transition:.35s;

    box-shadow:
        0 0 20px rgba(0,245,255,.35);

}

.stat-card:hover .stat-line{

    height:4px;

}

/* ---------- Dashboard ---------- */

.skills-card,
.timeline-card,
.projects-card{
    overflow:hidden;
}

/* ==========================================================
   SKILLS GRID
   ========================================================== */

.skills-grid{

    display:grid;

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

    gap:16px;

    margin-top:20px;

}

.skill-item{

    position:relative;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    height:115px;

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

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

    border-radius:14px;

    overflow:hidden;

    transition:.35s ease;

    cursor:pointer;

}

.skill-item::before{

    content:"";

    position:absolute;

    inset:0;

    background:

        radial-gradient(circle at top right,

        rgba(0,245,255,.08),

        transparent 60%);

    opacity:0;

    transition:.35s;

}

.skill-item:hover::before{

    opacity:1;

}

.skill-item i{

    font-size:36px;

    color:#00F5FF;

    margin-bottom:14px;

    transition:.35s;

    z-index:2;

}

.skill-item span{

    font-size:13px;

    color:#E4EDF7;

    z-index:2;

    text-align:center;

    letter-spacing:.4px;

}

.skill-item:hover{

    transform:translateY(-6px);

    border-color:#00F5FF;

    box-shadow:

        0 0 18px rgba(0,245,255,.22),

        inset 0 0 15px rgba(0,245,255,.08);

}

.skill-item:hover i{

    transform:scale(1.15);

    color:#32F7FF;

}
.panel-title{
    font-family:"Orbitron",sans-serif;
    font-size:18px;
    margin-bottom:24px;
    color:#fff;
    letter-spacing:1px;
}

/* ---------- Buttons ---------- */

.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:14px 26px;
    border-radius:10px;
    cursor:pointer;
    text-decoration:none;
    transition:.3s;
    font-weight:600;
}

.btn-primary{
    background:#00F5FF;
    color:#08131f;
}

.btn-primary:hover{
    transform:translateY(-2px);
    box-shadow:0 0 25px rgba(0,245,255,.35);
}

/* GitHub button */

.btn-secondary{
    border:1px solid #00F5FF;
    color:#00F5FF;
    background:transparent;
}

.btn-secondary:hover{
    background:#00F5FF;
    color:#08131f;
}

/* ---------- Badges ---------- */

.badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:8px 14px;
    margin:6px;
    border-radius:30px;
    background:rgba(0,245,255,.08);
    border:1px solid rgba(0,245,255,.2);
    color:#d8f9ff;
    font-size:13px;
    transition:.3s;
}

.badge:hover{
    background:rgba(0,245,255,.18);
    border-color:#00F5FF;
}

/* ---------- Timeline ---------- */

.timeline-item{
    margin-bottom:28px;
}

.timeline-item h3{
    color:#00F5FF;
    margin-bottom:6px;
}

/* ---------- Projects ---------- */

.project-card{
    margin-bottom:24px;
}

.project-card h3{
    margin-bottom:8px;
    color:#ffffff;
}

.project-card p{
    color:#9fb0c3;
    line-height:1.7;
}
/* ==========================================================
   SCANNER HUD
   ========================================================== */

.scanner-placeholder{

    position:relative;

    display:flex;

    justify-content:center;

    align-items:center;

    height:340px;

    overflow:hidden;

}

.scanner-frame{

    position:relative;

    width:320px;

    height:320px;

    display:flex;

    justify-content:center;

    align-items:center;

}

.scanner-frame img{

    width:100%;

    height:100%;

    object-fit:cover;

    display:block;

    border-radius:50%;

}
.scanner-photo{

    position:relative;

    width:225px;

    height:225px;

    overflow:hidden;

    border-radius:50%;

    border:2px solid rgba(0,245,255,.18);

    box-shadow:
        0 0 18px rgba(0,245,255,.35),
        0 0 45px rgba(0,245,255,.18),
        inset 0 0 30px rgba(0,245,255,.10);

    z-index:2;
    animation:
        floating 5s ease-in-out infinite,
        scannerBreath 6s ease-in-out infinite;

}

/* ---------- HUD Rings ---------- */

.hud-ring{

    position:absolute;

    pointer-events:none;

    width:265px;

    height:265px;

    border-radius:50%;

    border:2px solid rgba(0,245,255,.18);

    animation:rotateRing 16s linear infinite;

}

.hud-ring::before{

    content:"";

    position:absolute;

    inset:-6px;

    border-radius:50%;

    border:3px solid transparent;

    border-top-color:#00F5FF;

    border-right-color:rgba(0,245,255,.65);

    opacity:.9;

}

.hud-ring::after{

    content:"";

    position:absolute;

    inset:12px;

    border-radius:50%;

    border:2px solid transparent;

    border-bottom-color:#00F5FF;

    border-left-color:rgba(0,245,255,.55);

    opacity:.8;

}

.ring-2{

    width:300px;

    height:300px;

    border-style:dashed;

    opacity:.45;

    animation-direction:reverse;

}

/* ---------- Scanner Info ---------- */

.scanner-info{

    margin-top:25px;

    display:flex;

    flex-direction:column;

    gap:12px;

}

.info-row{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding-bottom:8px;

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

}

.info-row span{

    color:#8ea6bc;

    font-size:12px;

    letter-spacing:1px;

}

.info-row strong{

    color:#ffffff;

    font-size:13px;

    font-weight:600;

    letter-spacing:.5px;

}

.verified{

    color:#00FF9D !important;

    animation: verifiedPulse 2.5s infinite;

}

/* ---------- Target Corners ---------- */

.corner{

    position:absolute;

    width:18px;

    height:18px;

    border-color:#00F5FF;

    border-style:solid;

    z-index:3;

}

.top-left{

    top:28px;

    left:28px;

    border-width:2px 0 0 2px;

}

.top-right{

    top:28px;

    right:28px;

    border-width:2px 2px 0 0;

}

.bottom-left{

    bottom:28px;

    left:28px;

    border-width:0 0 2px 2px;

}

.bottom-right{

    bottom:28px;

    right:28px;

    border-width:0 2px 2px 0;

}

/* ==========================================================
   MISSION TIMELINE
   ========================================================== */

.mission-timeline{

    position:relative;

    display:flex;

    flex-direction:column;

    gap:40px;

    margin-top:25px;

}

.timeline-track{

    position:absolute;

    top:20px;

    bottom:20px;

    left:34px;

    width:2px;

    background:linear-gradient(

        to bottom,

        rgba(0,245,255,.9),

        rgba(0,245,255,.15)

    );

    box-shadow:0 0 15px rgba(0,245,255,.45);
    animation:timelineFlow 3s ease-in-out infinite;

}

.mission-item{

    position:relative;

    display:grid;

    grid-template-columns:70px 1fr auto;

    align-items:center;

    column-gap:20px;

    z-index:2;

    transition:.35s ease;

}

.mission-item:hover{

    transform:translateX(8px);

}

.mission-item:hover .timeline-node{

    transform:scale(1.08);

    border-color:#00F5FF;

}

.mission-item:hover .company-logo{

    color:#FFFFFF;

}

.mission-item:hover .mission-content h3{

    color:#00F5FF;

}

/* ---------- Timeline Nodes ---------- */

.timeline-node{

    width:68px;

    height:68px;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    background:rgba(15,28,45,.95);

    border:2px solid rgba(0,245,255,.35);

    box-shadow:
        0 0 20px rgba(0,245,255,.20),
        inset 0 0 18px rgba(0,245,255,.08);

    z-index:3;

    transition:.35s ease;
    animation:timelinePulse 3.5s infinite;

}

.company-logo{

    width:54px;

    height:54px;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    font-family:"Orbitron",sans-serif;

    font-size:13px;

    font-weight:700;

    color:#00F5FF;

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

}

/* ---------- Timeline Content ---------- */

.mission-content h3{

    margin-bottom:6px;

    color:#FFFFFF;

    font-size:18px;

}

.mission-content p{

    margin-top:4px;

    color:#9FB0C3;

}

.mission-year{

    color:#00F5FF;

    font-family:"Orbitron",sans-serif;

    font-size:13px;

    letter-spacing:1px;

    margin-bottom:8px;

}

/* ---------- Status Badge ---------- */

.mission-status{

    padding:8px 14px;

    border-radius:30px;

    font-size:11px;

    font-weight:700;

    letter-spacing:1px;

    text-transform:uppercase;

    border:1px solid;

}

.mission-status.completed{

    color:#00FF9D;

    border-color:#00FF9D;

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

}

.mission-status.present{

    color:#00F5FF;

    border-color:#00F5FF;

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

}

.mission-status.future{

    color:#FFD54F;

    border-color:#FFD54F;

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

}

/* ==========================================================
   ACTIVE MISSIONS
   ========================================================== */

.mission-grid{

    display:flex;

    flex-direction:column;

    gap:22px;

    margin-top:25px;

}

.mission-card{

    position:relative;

    padding:22px;

    border-radius:16px;

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

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

    transition:.35s ease;

    overflow:hidden;

}

.mission-card:hover{

    transform:translateY(-6px);

    border-color:#00F5FF;

    box-shadow:

        0 0 25px rgba(0,245,255,.18),

        inset 0 0 18px rgba(0,245,255,.05);

}

.mission-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:16px;

}

.mission-id{

    font-family:"Orbitron",sans-serif;

    color:#00F5FF;

    font-size:13px;

    letter-spacing:1px;

}

.mission-state{

    padding:6px 12px;

    border-radius:20px;

    font-size:11px;

    font-weight:700;

    letter-spacing:1px;

    text-transform:uppercase;

}

/* ---------- Mission Status ---------- */

.mission-state.deployed{

    color:#00FF9D;

    background:rgba(0,255,157,.10);

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

}

.mission-state.active{

    color:#00F5FF;

    background:rgba(0,245,255,.10);

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

}

.mission-state.ready{

    color:#FFD54F;

    background:rgba(255,213,79,.10);

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

}

/* ---------- Mission Title ---------- */

.mission-card h3{

    margin-bottom:12px;

    font-size:20px;

    color:#FFFFFF;

    transition:.3s;

}

.mission-card p{

    color:#9FB0C3;

    line-height:1.7;

    margin-bottom:18px;

}

/* ---------- Technology Chips ---------- */

.mission-tech{

    display:flex;

    flex-wrap:wrap;

    gap:10px;

}

.mission-tech span{

    padding:6px 12px;

    border-radius:20px;

    font-size:12px;

    color:#DDFBFF;

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

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

}

/* ---------- Bottom Accent Line ---------- */

.mission-card::after{

    content:"";

    position:absolute;

    left:0;

    bottom:0;

    width:0;

    height:3px;

    background:linear-gradient(

        90deg,

        #00F5FF,

        #B100FF

    );

    transition:.4s ease;

}

.mission-card:hover::after{

    width:100%;

}

/* ---------- Hover Effects ---------- */

.mission-card:hover h3{

    color:#00F5FF;

}

.mission-card:hover .mission-id{

    letter-spacing:2px;

}

.mission-tech span:hover{

    background:rgba(0,245,255,.18);

    border-color:#00F5FF;

}

/* ==========================================================
   MISSION COMMUNICATION
   ========================================================== */

.contact-card{

    margin-top:30px;

    padding:30px;

    background:rgba(18,26,45,.78);

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

    border-radius:18px;

    box-shadow:
        0 0 25px rgba(0,245,255,.06),
        inset 0 0 20px rgba(0,245,255,.02);

}

.contact-header{

    display:flex;

    justify-content:space-between;

    align-items:flex-start;

    gap:30px;

    margin-bottom:28px;

}

.contact-kicker{

    margin-bottom:8px;

    color:#00F5FF;

    font-family:"Orbitron",sans-serif;

    font-size:11px;

    letter-spacing:2px;

}

.contact-description{

    max-width:700px;

    color:#9FB0C3;

    line-height:1.7;

    margin-top:8px;

}

.contact-status{

    display:flex;

    align-items:center;

    gap:8px;

    padding:8px 12px;

    border-radius:20px;

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

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

    color:#00FF9D;

    font-size:11px;

    font-weight:600;

    letter-spacing:1px;

    white-space:nowrap;

}

.status-dot{

    width:7px;

    height:7px;

    border-radius:50%;

    background:#00FF9D;

    box-shadow:0 0 10px rgba(0,255,157,.8);

}

/* ---------- Contact Grid ---------- */

.contact-grid{

    display:grid;

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

    gap:16px;

}

.contact-item{

    display:flex;

    align-items:center;

    gap:15px;

    min-height:76px;

    padding:15px 18px;

    border-radius:14px;

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

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

    color:inherit;

    text-decoration:none;

    transition:.35s ease;

}

.contact-item:hover{

    transform:translateY(-4px);

    border-color:rgba(0,245,255,.45);

    background:rgba(0,245,255,.05);

    box-shadow:0 0 20px rgba(0,245,255,.12);

}

.contact-icon{

    width:42px;

    height:42px;

    flex-shrink:0;

    display:flex;

    justify-content:center;

    align-items:center;

    border-radius:12px;

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

    background:rgba(0,245,255,.05);

    color:#00F5FF;

    font-size:18px;

}

.contact-info{

    display:flex;

    flex-direction:column;

    gap:5px;

    min-width:0;

}

.contact-info span{

    color:#71879D;

    font-size:10px;

    letter-spacing:1.5px;

}

.contact-info strong{

    color:#E7F8FF;

    font-size:13px;

    font-weight:500;

    overflow:hidden;

    text-overflow:ellipsis;

    white-space:nowrap;

}

.contact-arrow{

    margin-left:auto;

    color:#557187;

    font-size:12px;

    transition:.3s ease;

}

.contact-item:hover .contact-arrow{

    color:#00F5FF;

    transform:translate(2px,-2px);

}

/* ---------- Contact Footer ---------- */

.contact-footer{

    display:flex;

    justify-content:space-between;

    gap:20px;

    margin-top:24px;

    padding-top:18px;

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

    color:#71879D;

    font-size:10px;

    letter-spacing:1px;

}

/* ---------- Footer ---------- */

#footer{
    margin-top:40px;
    padding:30px 0;
    text-align:center;
    color:#7f8fa5;
    font-size:14px;
    border-top:1px solid rgba(255,255,255,.08);
}

/* ---------- Hero Heading Spacing ---------- */

.intro-card h1{
    margin-bottom:8px;
}

.intro-card h2{
    margin-top:0;
    margin-bottom:8px;
}