/* =========================
   GLOBAL
========================= */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

::selection{
    background:rgba(0,242,254,.25);
    color:#ffffff;
}

::-webkit-scrollbar{
    width:10px;
}

::-webkit-scrollbar-track{
    background:#050816;
}

::-webkit-scrollbar-thumb{
    background:rgba(0,242,254,.4);
    border-radius:999px;
}

::-webkit-scrollbar-thumb:hover{
    background:rgba(0,242,254,.7);
}

body{
    min-height:100vh;
    overflow-x:hidden;

    background:
        radial-gradient(circle at top,
        #0a1325 0%,
        #050816 40%,
        #02040a 100%);

    color:#ffffff;

    font-family:
        Inter,
        Segoe UI,
        Arial,
        sans-serif;

    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
}

/* =========================
   BACKGROUND STARS
========================= */

.stars-canvas{
    position:fixed;
    inset:0;
    width:100%;
    height:100%;
    z-index:-2;
}

/* =========================
   GLOBAL TEXT
========================= */

p,
li,
span,
.contact-box,
.archive-card p{
    color:#f5f5f5;

    text-shadow:
        0 0 2px rgba(255,255,255,.25),
        0 0 8px rgba(255,255,255,.08);
}

h1,
h2,
h3{
    color:#ffffff;

    text-shadow:
        0 0 8px rgba(255,255,255,.3),
        0 0 15px rgba(0,242,254,.2);
}

/* =========================
   HERO
========================= */

.hero{
    min-height:100vh;

    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;

    text-align:center;

    position:relative;
    z-index:2;

    padding:40px;
}

.hero::before{
    content:"";

    position:absolute;

    width:550px;
    height:550px;

    background:
        radial-gradient(
            circle,
            rgba(0,242,254,.12) 0%,
            transparent 70%
        );

    top:50%;
    left:50%;

    transform:translate(-50%,-50%);

    pointer-events:none;
}

/* =========================
   LOGO
========================= */

.logo-container{
    margin-bottom:30px;
}

.logo-container img{
    width:150px;
    max-width:35vw;

    border-radius:32px;

    border:2px solid rgba(0,242,254,.35);

    filter:
        drop-shadow(0 0 10px #00f2fe)
        drop-shadow(0 0 25px #00f2fe);

    transition:.35s ease;
}

.logo-container img:hover{
    transform:scale(1.03);

    filter:
        drop-shadow(0 0 15px #00f2fe)
        drop-shadow(0 0 40px #00f2fe);
}

/* =========================
   STATUS
========================= */

.status{
    margin-bottom:15px;

    color:#7dfff5;

    letter-spacing:4px;
    font-size:.85rem;

    text-shadow:
        0 0 10px #00f2fe;
}

.status::before{
    content:"●";
    color:#00ff88;
    margin-right:10px;

    animation:statusPulse 2s infinite;
}

@keyframes statusPulse{
    50%{
        opacity:.35;
    }
}

/* =========================
   TITLES
========================= */

.hero h1{
    font-size:clamp(3rem,8vw,6rem);

    color:#ffffff;

    letter-spacing:12px;

    margin-bottom:15px;

    text-shadow:
        0 0 15px rgba(255,255,255,.4),
        0 0 35px rgba(0,242,254,.25);
}

.subtitle{
    font-size:1.2rem;

    color:#f2f2f2;

    opacity:.85;

    margin-bottom:35px;

    text-shadow:
        0 0 10px rgba(255,255,255,.15);
}

/* =========================
   BUTTON
========================= */

.enter-btn{
    display:inline-block;

    padding:14px 28px;

    border-radius:999px;

    border:1px solid #00f2fe;

    color:#00f2fe;

    text-decoration:none;

    transition:.3s;
}

.enter-btn:hover{
    transform:translateY(-3px);

    box-shadow:
        0 0 25px rgba(0,242,254,.5);
}

/* =========================
   SECTIONS
========================= */

.section{
    max-width:1100px;

    margin:0 auto;

    padding:120px 30px;

    position:relative;
    z-index:2;
}

.section h2{
    color:#00f2fe;

    font-size:2rem;

    letter-spacing:4px;

    margin-bottom:35px;

    text-shadow:
        0 0 10px rgba(0,242,254,.5),
        0 0 25px rgba(0,242,254,.2);
}

.section p{
    color:#f5f5f5;

    line-height:1.8;

    text-shadow:
        0 0 2px rgba(255,255,255,.25),
        0 0 8px rgba(255,255,255,.08);
}

/* =========================
   ARCHIVE GRID
========================= */

.archive-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:24px;
}




/* =========================
   LOG_001
========================= */

.log-section{
    position:relative;
}

.log-subtitle{
    color:rgba(0,242,254,.75);

    text-transform:uppercase;

    letter-spacing:4px;

    font-size:.85rem;

    margin-top:-20px;
    margin-bottom:35px;
}

.log-card{
    max-width:900px;

    padding:35px;

    border-radius:20px;

    background:rgba(255,255,255,.03);

    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);

    border:1px solid rgba(0,242,254,.15);

    position:relative;

    overflow:hidden;
}

.log-card::before{
    content:"";

    position:absolute;

    top:0;
    left:0;

    width:4px;
    height:100%;

    background:#00f2fe;

    box-shadow:
        0 0 20px #00f2fe;
}

.log-card p{
    font-size:1.2rem;

    line-height:1.9;

    margin-bottom:22px;
}

.mission-box{
    margin-top:35px;

    display:inline-flex;
    flex-direction:column;

    gap:8px;

    padding:18px 24px;

    border-radius:16px;

    border:1px solid rgba(0,242,254,.25);

    background:rgba(0,242,254,.05);

    box-shadow:
        0 0 20px rgba(0,242,254,.08);
}

.mission-label{
    color:#00f2fe;

    letter-spacing:3px;

    font-size:.8rem;

    font-weight:700;
}

.mission-text{
    color:#ffffff;

    font-size:1.05rem;
}



/* =========================
   ARCHIVE CARD
========================= */

.archive-card{
    background:rgba(255,255,255,.04);

    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);

    border:1px solid rgba(0,242,254,.18);

    border-radius:18px;

    padding:25px;

    transition:.3s;
}

.archive-card:hover{
    transform:translateY(-6px);

    border-color:#00f2fe;

    box-shadow:
        0 0 30px rgba(0,242,254,.22);
}

.archive-id{
    color:#00f2fe;

    font-size:.8rem;

    letter-spacing:2px;
}

.archive-card h3{
    margin-top:12px;
    margin-bottom:12px;

    color:#ffffff;

    text-shadow:
        0 0 8px rgba(255,255,255,.25);
}

.archive-card p{
    color:#dddddd;
}

/* =========================
   BADGES
========================= */

.badge{
    display:inline-block;

    margin-top:18px;

    padding:7px 14px;

    border-radius:999px;

    font-size:.8rem;
}

.active{
    background:#00f2fe22;
    color:#00f2fe;
}

.planned{
    background:#ffffff11;
    color:#cccccc;
}

/* =========================
   SKILLS
========================= */

/* =========================
   DIAGNOSTICS
========================= */

.diagnostics{
    max-width:900px;
    margin:0 auto;
}

.diag-item{
    margin-bottom:25px;
}

.diag-header{
    display:flex;
    justify-content:space-between;

    margin-bottom:8px;

    color:#ffffff;

    font-size:1rem;

    text-shadow:
        0 0 6px rgba(255,255,255,.15);
}

.diag-bar{
    height:10px;
    width: 100%;

    background:rgba(255,255,255,.08);

    border-radius:999px;

    overflow:hidden;

    border:1px solid rgba(0,242,254,.15);
}

.diag-fill{
    height:100%;

    background:#00f2fe;

    box-shadow:
        0 0 10px #00f2fe,
        0 0 20px rgba(0,242,254,.3);
}

.full{
    width:100%;
}

.sleep{
    width:10%;
}

.freetime{
    width:30%;
}

.issues{
    margin-top:60px;

    padding:25px;

    border-radius:18px;

    background:rgba(255,255,255,.03);

    border:1px solid rgba(0,242,254,.15);

    backdrop-filter:blur(10px);
}

.issues h3{
    margin-bottom:20px;

    color:#00f2fe;

    letter-spacing:2px;
}

.issues ul{
    list-style:none;
}

.issues li{
    margin-bottom:12px;

    padding-left:20px;

    position:relative;
}

.issues li::before{
    content:"•";

    color:#00f2fe;

    position:absolute;
    left:0;
}



/* =========================
   CONTACT
========================= */

.contact-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);

    gap:20px;

    max-width:900px;

    margin:0 auto 20px;
}

.github-wrapper{
    display:flex;
    justify-content:center;
}

.github-card{
    width:440px;
}

.contact-item{
    display:flex;
    align-items:center;
    gap:20px;

    padding:22px;

    text-decoration:none;

    border-radius:18px;

    background:rgba(255,255,255,.04);

    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);

    border:1px solid rgba(0,242,254,.18);

    transition:.3s ease;
}

.contact-item:hover{
    transform:translateY(-4px);

    border-color:#00f2fe;

    box-shadow:
        0 0 25px rgba(0,242,254,.22);
}

.contact-icon{
    width:60px;
    height:60px;

    flex-shrink:0;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:14px;

    color:#00f2fe;

    font-size:1.6rem;

    border:1px solid rgba(0,242,254,.3);

    box-shadow:
        0 0 15px rgba(0,242,254,.15);
}

.contact-label{
    display:block;

    color:#00f2fe;

    font-size:.8rem;

    letter-spacing:2px;

    margin-bottom:4px;
}

.contact-value{
    display:block;

    color:#ffffff;

    font-size:1.15rem;

    text-shadow:
        0 0 8px rgba(255,255,255,.15);
}
#contact{
    text-align: center;
}

@media (max-width:768px){

    .contact-grid{
        grid-template-columns:1fr;
    }

    .github-card{
        width:100%;
    }
}

/* =========================
   FOOTER
========================= */

footer{
    padding:50px;

    text-align:center;

    opacity:.6;

    position:relative;
    z-index:2;
}

footer p{
    color:#ffffff;
    letter-spacing:2px;
}

/* =========================
   MOBILE
========================= */

@media (max-width:768px){

    .hero h1{
        letter-spacing:5px;
    }

    .logo-container img{
        width:120px;
    }

    .section{
        padding:80px 20px;
    }

    .archive-grid{
        grid-template-columns:1fr;
    }
}