/* 
   LALE.UK ROBOT PORTFOLIO
   Y2K / MYSPACE STYLE
 */

:root{
--forest:#b8f7ff;
--forest-dark:#63d8ff;
--green:#00a8ff;
--pink:#ff7bd5;
--lime:#8cfffb;
--cyan:#00eaff;
--silver:#f5fcff;
--chrome:#b7e7ff;
--screen:#dfffff;
--ink:#003b66;
--outline:#25627d;
--white:#ffffff;
--shadow:0 20px 50px rgba(0,150,220,.25);
--win-face:#edf8ff;
--win-face-dark:#c8eaff;
--win-highlight:#ffffff;
--win-shadow:#6ca5c7;
--win-titlebar-a:#64d9ff;
--win-titlebar-b:#0066cc;
--myspace-purple:#8b5cff;
--myspace-hot:#ff5bc8;
--cyber-glow:0 0 20px rgba(0,220,255,.5);

}

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

html{
    scroll-behavior:smooth;
}
body{
    min-height:100vh;
    overflow-x:hidden;
    font-family:Tahoma,Verdana,Arial,sans-serif;
    color:#123;

    background:
    radial-gradient(
        circle at 20% 10%,
        rgba(255,255,255,.9),
        transparent 25%
    ),
    radial-gradient(
        circle at 80% 20%,
        rgba(117,234,255,.7),
        transparent 35%
    ),
    linear-gradient(
        180deg,
        #65d9ff 0%,
        #c8f7ff 45%,
        #8ee59b 100%
    );
}
a{
    color:inherit;
    text-decoration:none;
}

button{
    font-family:inherit;
    cursor:pointer;
}


/* 
   BACKGROUND
 */

#stars,#sparkles{
    position:fixed;
    inset:0;
    pointer-events:none;
}

#stars{
    z-index:-2;
}

.star{
    position:absolute;
    color:white;
    animation:floatStar 5s infinite ease-in-out;
}

@keyframes floatStar{
    50%{
        transform:translateY(-20px) rotate(20deg);
        opacity:1;
    }
}


body:before{
    content:"";
    position:fixed;
    inset:0;
    opacity:.1;
    pointer-events:none;
    background-image:
    radial-gradient(#ffffff 20%,transparent 22%);
    background-size:90px 70px;
}

body:after{
    content:"";
    position:fixed;
    inset:0;
    z-index:5;
    opacity:.06;
    pointer-events:none;
    background-image:repeating-linear-gradient(
        0deg,
        rgba(117,234,255,.6) 0px,
        transparent 1px,
        transparent 3px
    );
}


/* 
   HEADER
 */

header{
    position:fixed;
    top:0;
    width:100%;
    padding:25px 40px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    z-index:50;
}

.logo{
    font-size:1.5rem;
    font-weight:900;
    letter-spacing:3px;
}

#contactButton{
    padding:10px 25px;
    border:3px solid var(--lime);
    border-radius:30px;
    background:rgba(0,0,0,.4);
    color:white;
    font-weight:bold;
    transition:.3s;
}

#contactButton:hover{
    background:var(--lime);
    color:black;
    transform:translateY(-3px);
}


/* 
   MAIN ROBOT AREA
 */

.robot-page{
    min-height:950px;
    display:flex;
    justify-content:center;
    align-items:center;
    position:relative;
    padding-top:80px;
    padding-bottom:40px;
}

.intro-text{
    position:absolute;
    left:8%;
    top:160px;
    width:280px;
}

.status{
    color:var(--lime);
    letter-spacing:3px;
    font-size:.8rem;
}

.intro-text h1{
    font-size:3.5rem;
    margin:20px 0;
}

.intro-text p{
    line-height:1.6;
    opacity:.85;
}


/* 
   ROBOT
 */
.robot-page{
    min-height:820px;
}
.robot-container{
    width:600px;
    height:620px;
    perspective:1500px;
}

.robot{
    width:100%;
    height:100%;
    position:relative;
    transform-style:preserve-3d;
    transition:1s;
    animation:robotFloat 4s infinite ease-in-out;
}

@keyframes robotFloat{
    50%{
        transform:translateY(-15px);
    }
}

.robot-side{
    position:absolute;
    inset:0;
    backface-visibility:hidden;
}

.back{
    transform:rotateY(180deg);
}

.front{
    transform:rotateY(0deg);
}
/* 
   ROBOT HEAD
 */
.robot-head{
    z-index:5;
}

.robot-body{
    position:relative;
    z-index:3;
}

.robot-arm{
    z-index:2;
}

.robot-tracks{
    position:relative;
    z-index:4;
}

.robot-head{
    width:55%;
    height:150px;
    margin:auto;
    position:relative;
    background:linear-gradient(#fff,var(--chrome));
    border:6px solid var(--outline);
    border-radius:70px 70px 35px 35px;
    box-shadow:var(--shadow),inset 0 -20px 30px rgba(0,0,0,.2);
}

.bolt{
    width:18px;
    height:18px;
    position:absolute;
    top:25px;
    border-radius:50%;
    background:linear-gradient(#fff,#788d9b);
    border:3px solid var(--outline);
}

.bolt-left{
    left:25px;
}

.bolt-right{
    right:25px;
}


/* 
   EYES
 */

.eyes{
    height:100%;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:45px;
}

.eye{
    width:50px;
    height:60px;
    position:relative;
    overflow:hidden;
    background:white;
    border:5px solid var(--outline);
    border-radius:50%;
    animation:blink 5s infinite;
}

.pupil{
    width:20px;
    height:20px;
    position:absolute;
    top:20px;
    left:12px;
    background:#073a2b;
    border-radius:50%;
    transition:.3s;
}

.eye:hover .pupil{
    transform:translateX(8px);
}

@keyframes blink{
    0%,92%,100%{
        transform:scaleY(1);
    }
    95%{
        transform:scaleY(.1);
    }
}


/* 
   ROBOT BODY
 */

.robot-body{
    height:490px;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:15px;
}

.robot-arm{
    width:75px;
    height:230px;
    position:relative;
    background:linear-gradient(90deg,#557993,#fff,#557993);
    border:6px solid var(--outline);
    border-radius:40px;
}

.joint{
    width:45px;
    height:45px;
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    border-radius:50%;
    background:var(--silver);
    border:5px solid var(--outline);
}


/*
   MAIN SCREEN
*/
.main-screen{
    width: 390px;
    height:500px;
    padding:25px;
    position:relative;
    background:linear-gradient(#d8efff,#527a99);
    border:8px solid var(--outline);
    border-radius:35px;
    box-shadow:inset 0 -20px 30px rgba(0,0,0,.25);
}


.screen{
    width:100%;
    height:190px;
    position:relative;
    overflow:hidden;
    border:5px solid var(--outline);
    border-radius:20px;
    cursor:pointer;
    background:linear-gradient(135deg,#ffffff,#baffdf,#75eaff);
    transition:.3s;
}

.screen:hover{
    transform:scale(1.03);
    box-shadow:0 0 25px var(--lime);
}

.screen:active{
    transform:scale(.97);
}


.screen-glare{
    width:80px;
    height:300px;
    position:absolute;
    top:-80px;
    left:40px;
    background:white;
    opacity:.35;
    transform:rotate(35deg);
}


.screen-content{
    position:relative;
    z-index:2;
    padding-top:30px;
    text-align:center;
    color:var(--ink);
}

.boot{
    font-size:.75rem;
    letter-spacing:4px;
}

.screen-content h2{
    margin:20px 0;
    font-size:2.4rem;
}

.click-text{
    font-size:.75rem;
    animation:pulse 2s infinite;
}

@keyframes pulse{
    50%{
        opacity:.4;
    }
}


/* 
   PROJECT BUTTONS
 */

.project-buttons{
    display:flex;
    justify-content:center;
    gap:20px;
    margin-top:25px;
}

.project-buttons a{
    width:80px;
    height:80px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
    font-size:.75rem;
    font-weight:bold;
    color:#102000;
    background:linear-gradient(180deg,#ffffff,#caff63,#65db72);
    border:5px solid var(--outline);
    border-radius:50%;
    transition:.3s;
}

.project-buttons a:hover{
    transform:translateY(-8px) rotate(-5deg);
    box-shadow:0 0 25px var(--lime);
}

.project-buttons span{
    font-size:.65rem;
}


/* 
   ROBOT DETAILS
 */

.robot-speaker{
    width:80px;
    height:15px;
    margin:20px auto;
    border-radius:10px;
    background:#222;
}

.robot-led{
    width:14px;
    height:14px;
    margin:auto;
    border-radius:50%;
    background:#74ff6d;
    box-shadow:0 0 20px #74ff6d;
    animation:led 2s infinite;
}

@keyframes led{
    50%{
        opacity:.4;
    }
}


.robot-tracks{
    display:flex;
    justify-content:center;
    gap:12px;
}

.robot-tracks div{
    width:70px;
    height:35px;
    border:5px solid var(--outline);
    border-radius:15px;
    background:linear-gradient(#bfeaff,#5ba6d6);
}
/* 
   BACK OF ROBOT
 */

.back .robot-head{
    background:linear-gradient(#d9efff,#769ab5);
}


.back-screen{
    width:390px;
    height:300px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    color:var(--ink);
    background:linear-gradient(#baffdf,#55b991);
    border:8px solid var(--outline);
    border-radius:35px;
    box-shadow:inset 0 -20px 30px rgba(0,0,0,.2);
}


.back-screen h2{
    font-size:3rem;
}

.back-screen p{
    margin-top:10px;
    font-size:1.4rem;
    font-weight:bold;
}

.back-screen span{
    margin-top:20px;
    font-size:.8rem;
    letter-spacing:3px;
}



/* 
   CONTACT ARM SYSTEM
 */

.contact-system{
    position:absolute;
    left:50%;
    top:72%;
    opacity:0;
    pointer-events:none;
    transform:translate(-50%,10px) scale(.85) rotate(40deg);
    transform-origin:top center;
    transition:.6s cubic-bezier(.2,1.4,.4,1);
    z-index:15;
}


.contact-system.active{
    opacity:1;
    pointer-events:auto;
    transform:translate(-50%,0) scale(1) rotate(40deg);
}


.robot-contact-arm{
    display:flex;
    flex-direction:column;
    align-items:center;
}


.mechanical-arm{
    display:flex;
    flex-direction:column;
    align-items:center;
    animation:armPop .8s ease;
}


.arm-piece{
    width:20px;
    height:90px;
    background:linear-gradient(90deg,#666,#fff,#666);
    border:4px solid var(--outline);
}


.arm-joint{
    width:50px;
    height:50px;
    border-radius:50%;
    background:var(--silver);
    border:5px solid var(--outline);
}


@keyframes armPop{
    from{
        transform:translateY(-100px);
    }
    to{
        transform:translateY(0);
    }
}


/* Glitter */

.glitter-holder{
    margin:10px;
    color:var(--pink);
    font-size:1.6rem;
    letter-spacing:8px;
    animation:sparkle .8s infinite alternate;
}


@keyframes sparkle{
    from{
        opacity:.5;
        transform:scale(.8);
    }
    to{
        opacity:1;
        transform:scale(1.2);
    }
}



/* Contact card */

.contact-card{
    width:270px;
    transform:translate(25px);
    padding:20px;
    color:#14251d;
    background:white;
    border:5px solid var(--outline);
    border-radius:15px;
    box-shadow:10px 10px 0 rgba(0,0,0,.5);
}


.card-top{
    padding:8px;
    text-align:center;
    font-weight:bold;
    letter-spacing:3px;
    color:var(--lime);
    background:#111;
}


.contact-card h3{
    margin:15px 0;
    color:var(--green);
}


.contact-card a{
    display:block;
    margin:10px 0;
    color:#164f35;
    font-size:.85rem;
    word-break:break-word;
}


.online-status{
    margin-top:15px;
    color:#15933c;
    font-weight:bold;
}




/* 
   WINDOWS XP ABOUT POPUP
 */


.about-system{
    position:fixed;
    inset:0;
    display:none;
    justify-content:center;
    align-items:center;
    background:rgba(0,0,0,.6);
    z-index:200;
}


.about-system.active{
    display:flex;
}


.xp-window{
    width:min(700px,90%);
    overflow:hidden;
    color:#111;
    background:#dcecff;
    border:5px solid #315485;
    border-radius:10px;
    box-shadow:20px 20px 60px black;
}


.window-header{
    height:45px;
    padding:0 15px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    color:white;
    font-weight:bold;
    background:linear-gradient(#6bb4ff,#24588a);
}


.window-header button{
    width:25px;
    height:25px;
    color:white;
    background:#e74747;
    border:2px solid white;
}


.window-content{
    display:flex;
    gap:30px;
    padding:30px;
}


.profile-avatar{
    width:140px;
    height:140px;
    flex-shrink:0;
    display:flex;
    justify-content:center;
    align-items:center;
    border-radius:15px;
    background:var(--green);
}


.mini-robot{
    font-size:4rem;
}


.profile-text h2{
    margin-bottom:15px;
    color:var(--green);
}


.profile-text p{
    margin-bottom:12px;
    line-height:1.5;
}


.profile-info div{
    margin-top:10px;
    padding:10px;
    border-radius:8px;
    background:white;
}


.profile-info strong{
    display:block;
    color:#315485;
}
/* 
   JOURNEY / SKILLS SECTIONS
 */

.journey,
.skills{
    width:min(1000px,90%);
    margin:20px auto;
}

.journey{
    position:relative;
    z-index:10;
}

.professional-joke{
    position:absolute;
    left:20px;
    top:-38px;
    padding:4px 12px;
    color:#111;
    font-family:Tahoma, Arial, sans-serif;
    font-size:12px;
    font-weight:bold;
    transform:rotate(-6deg);
    z-index:10;
    background:var(--lime);
    border:2px solid var(--outline);
    border-radius:6px;
}

.professional-joke span{
    display:block;
    font-size:20px;
    color:var(--myspace-hot);
}

.section-title{
    text-align:center;
    margin-bottom:30px;
}


.section-title span{
    color:var(--lime);
    letter-spacing:4px;
    font-size:.75rem;
    font-family:"Courier New",monospace;
}


.section-title h2{
    margin-top:10px;
    font-size:2.6rem;
    color:#fff;
    text-shadow:2px 0 var(--myspace-hot),-2px 0 var(--cyan);
}



/* 
   JOURNEY TIMELINE — WIN95 LOG WINDOW
 */

.timeline{
    padding:16px;
    background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(200,240,255,.8));
    border-top:2px solid var(--win-highlight);
    border-left:2px solid var(--win-highlight);
    border-right:2px solid var(--win-shadow);
    border-bottom:2px solid var(--win-shadow);
    box-shadow:0 0 0 2px #000,var(--shadow);
}


.timeline-item{
    display:flex;
    gap:16px;
    align-items:flex-start;
    padding:14px;
    margin-bottom:10px;
    background:#fff;
    border-top:1px solid var(--win-shadow);
    border-left:1px solid var(--win-shadow);
    border-right:1px solid var(--win-highlight);
    border-bottom:1px solid var(--win-highlight);
}

.timeline-item:last-child{
    margin-bottom:0;
}


.timeline-icon{
    width:32px;
    height:32px;
    flex-shrink:0;
    display:flex;
    justify-content:center;
    align-items:center;
    color:#fff;
    font-weight:bold;
    font-family:"Courier New",monospace;
    background:linear-gradient(180deg,var(--win-titlebar-b),var(--win-titlebar-a));
    border:2px solid var(--outline);
}


.timeline-content{
    flex:1;
    color:#14251d;
}


.timeline-content h3{
    margin-bottom:6px;
    font-size:1rem;
    letter-spacing:1px;
    color:var(--myspace-purple);
}


.timeline-content p{
    line-height:1.5;
    opacity:.85;
}




/* 
   SKILLS
 */

.skill-grid{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:18px;
    padding:25px;

    background:
    linear-gradient(
        180deg,
        rgba(255,255,255,.75),
        rgba(117,234,255,.25)
    );

    border:2px solid rgba(255,255,255,.9);
    border-radius:25px;

    box-shadow:
    0 15px 40px rgba(0,150,255,.25),
    inset 0 2px 10px white;
    
    backdrop-filter:blur(15px);
}


.skill-card{
    height:110px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:10px;

    color:#006a9c;
    font-weight:bold;
    font-size:.85rem;

    background:
    linear-gradient(
        145deg,
        rgba(255,255,255,.9),
        rgba(117,234,255,.35)
    );

    border:2px solid rgba(255,255,255,.9);
    border-radius:18px;

    box-shadow:
    0 8px 20px rgba(0,150,255,.25),
    inset 0 2px 8px white;

    text-shadow:
    0 1px white;

    transition:.3s;
}

.skill-card:before{
    content:"✦";
    font-size:2rem;
    color:#00bfff;

    text-shadow:
    0 0 8px white,
    0 0 20px #00bfff,
    0 0 35px #75eaff;
}

.skill-card:hover{
    transform:translateY(-8px) scale(1.05);

    background:
    linear-gradient(
        145deg,
        white,
        #8eeaff
    );

    box-shadow:
    0 15px 35px rgba(0,200,255,.5),
    inset 0 3px 12px white;
}




/* 
   FOOTER
 */

footer{
    width:94%;
    max-width:1100px;
    margin:25px auto 30px;
    padding:10px 14px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:14px;
    background:var(--win-face);
    border-top:2px solid var(--win-highlight);
    border-left:2px solid var(--win-highlight);
    border-right:2px solid var(--win-shadow);
    border-bottom:2px solid var(--win-shadow);
}


.footer-logo{
    padding:6px 14px;
    font-size:1rem;
    font-weight:bold;
    color:#111;
    background:linear-gradient(180deg,#e8f3ff,var(--chrome));
    border-top:1px solid var(--win-highlight);
    border-left:1px solid var(--win-highlight);
    border-right:1px solid var(--win-shadow);
    border-bottom:1px solid var(--win-shadow);
}


.footer-links{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}


.footer-links a{
    padding:6px 12px;
    font-size:.8rem;
    color:#111;
    background:var(--win-face);
    border-top:1px solid var(--win-highlight);
    border-left:1px solid var(--win-highlight);
    border-right:1px solid var(--win-shadow);
    border-bottom:1px solid var(--win-shadow);
}


.footer-links a:hover{
    background:var(--lime);
}


.footer-copy{
    text-align:right;
    color:#111;
    opacity:.8;
    font-size:.7rem;
    font-family:"Courier New",monospace;
}



/* 
   Y2K FLOATING DECORATIONS
 */

.floating-star,
.floating-heart{
    filter:drop-shadow(0 0 10px #ff7bd5);
}
.floating-diamond{
    position:fixed;
    pointer-events:none;
    z-index:-1;
    animation:floatDecor 6s infinite ease-in-out;
}


.star-one{
    top:20%;
    left:10%;
    color:white;
    font-size:3rem;
}


.star-two{
    right:15%;
    top:70%;
    color:var(--cyan);
    font-size:2rem;
    animation-delay:2s;
}


.star-three{
    right:8%;
    top:35%;
    color:var(--white);
    font-size:2.5rem;
    animation-delay:1s;
}


.floating-heart{
    bottom:15%;
    left:8%;
    color:var(--pink);
    font-size:3rem;
}


.floating-diamond{
    left:4%;
    top:50%;
    color:white;
    font-size:2rem;
}


@keyframes floatDecor{
    50%{
        transform:
        translateY(-25px)
        rotate(20deg);
    }
}




/* 
   BOOT SCREEN
 */

.boot-screen{
    position:fixed;
    inset:0;
    display:flex;
    justify-content:center;
    align-items:center;
    background:#020604;
    z-index:999;
    transition:.8s;
}


.boot-screen.hidden{
    opacity:0;
    pointer-events:none;
}


.boot-box{
    width:350px;
    padding:30px;
    text-align:center;
    border:4px solid var(--lime);
    border-radius:20px;
    background:rgba(255,255,255,.55);
    box-shadow:0 0 30px var(--lime);
}


.boot-box h2{
    color:var(--lime);
    letter-spacing:5px;
}


.loading-bar{
    height:20px;
    overflow:hidden;
    margin-top:20px;
    border:2px solid white;
    border-radius:20px;
}


.loading-progress{
    width:0%;
    height:100%;
    background:var(--lime);
    animation:loading 2s forwards;
}


@keyframes loading{
    to{
        width:100%;
    }
}




/* 
   ROBOT MESSAGE
 */

.robot-message{
    position:fixed;
    bottom:40px;
    left:50%;
    transform:translateX(-50%);
    padding:15px 30px;
    border-radius:30px;
    border:3px solid var(--lime);
    background:rgba(255,255,255,.55);
    opacity:0;
    transition:.4s;
}


.robot-message.show{
    opacity:1;
}



/* 
   MOBILE
 */

@media(max-width:1000px){

    .intro-text{
        position:relative;
        top:auto;
        left:auto;
        width:90%;
        text-align:center;
        margin-bottom:30px;
    }


    .robot-page{
        flex-direction:column;
    }


    .robot-container{
        transform:scale(.75);
    }


    .skill-grid{
        grid-template-columns:repeat(2,1fr);
    }


    footer{
        flex-direction:column;
        text-align:center;
    }


    .footer-copy{
        text-align:center;
    }

}



@media(max-width:600px){

    header{
        padding:20px;
    }


    .robot-container{
        transform:scale(.55);
    }


    .window-content{
        flex-direction:column;
    }


    .skill-grid{
        grid-template-columns:1fr;
    }

}
.robot-arm.right{
    transition: transform .6s cubic-bezier(.2,1.4,.4,1);
    transform-origin: top center;
}

.robot-arm.right.raised{
    transform: rotate(-40deg) translateX(15px);
}
.logo{
    background: linear-gradient(180deg, #fff 0%, var(--chrome) 50%, #fff 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    text-shadow: 0 1px 0 rgba(255,255,255,.5);
}
.skill-card, #contactButton{
    position: relative;
    overflow: hidden;
}
.skill-card::after, #contactButton::after{
    content:"";
    position:absolute;
    top:-50%; left:-20%;
    width:60%; height:200%;
    background: rgba(255,255,255,.25);
    transform: rotate(25deg);
    pointer-events:none;
}
.profile-avatar img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 15px;
}
.game-display {
    margin-top: 40px;
    padding: 25px;
    border: 1px solid rgba(117,234,255,.35);
    background: rgba(255,255,255,.55);
    border-radius: 12px;
}

.game-display h2 {
    margin-bottom: 20px;
}


.game-preview {
    width: 100%;
    height: 350px;
    overflow: hidden;
    border: 2px solid rgba(150,255,150,0.4);
    border-radius: 10px;
    margin-bottom: 20px;
}


.game-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}



.download-btn {
    display: inline-block;
    padding: 12px 25px;
    background: #0f5;
    color: #001;
    text-decoration: none;
    font-weight: bold;
    border-radius: 8px;
    transition: 0.3s;
}


.download-btn:hover {
    transform: scale(1.05);
}



.info-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 20px;
    margin-top: 40px;
}


.info-box {
    background; rgba(255,255,255,.65)
    border: 1px solid rgba(150,255,150,0.25);
    padding: 25px;
    border-radius: 12px;
}


.info-box h2 {
    margin-bottom: 15px;
}



.development {
    margin-top: 40px;
}


.timeline {
    border-left: 3px solid #9f5;
    padding-left: 20px;
}


.timeline p {
    margin: 12px 0;
}
/* 
   PROJECT PAGE
 */

.project-page{
    min-height:100vh;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:140px 20px 80px;
}

.project-card{
    width:min(600px,95%);
    padding:40px;
    text-align:center;
    color:var(--ink);
    background:linear-gradient(#dcecff,#8fb9d8);
    border:6px solid var(--outline);
    border-radius:25px;
    box-shadow:var(--shadow);
}

.project-badge{
    display:inline-block;
    padding:6px 16px;
    margin-bottom:15px;
    font-size:.7rem;
    font-weight:bold;
    letter-spacing:2px;
    color:#052b20;
    background:var(--lime);
    border:3px solid var(--outline);
    border-radius:20px;
}

.project-card h1{
    font-size:2.6rem;
    margin-bottom:15px;
    color:var(--green);
}

.project-intro{
    max-width:480px;
    margin:0 auto 25px;
    line-height:1.6;
    opacity:.9;
}

.project-preview{
    overflow:hidden;
    border:5px solid var(--outline);
    border-radius:15px;
    margin-bottom:25px;
}

.project-preview img{
    width:100%;
    display:block;
}

.project-actions{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:15px;
}

.report-btn{
    display:inline-block;
    padding:12px 25px;
    color:var(--ink);
    font-weight:bold;
    text-decoration:none;
    border:2px solid var(--outline);
    border-radius:8px;
    background:linear-gradient(#fff,var(--silver));
    transition:0.3s;
}

.report-btn:hover{
    transform:scale(1.05);
    background:var(--lime);
}

.wordmark{
    font-size:1.4rem;
    font-weight:900;
    letter-spacing:2px;
    color:white;
}

.back-link{
    padding:8px 20px;
    border:2px solid var(--lime);
    border-radius:20px;
    color:white;
    font-size:.8rem;
    font-weight:bold;
    transition:.3s;
}

.back-link:hover{
    background:var(--lime);
    color:black;
}

.project-tech{
    margin-top:20px;
    font-size:.8rem;
    letter-spacing:2px;
    opacity:.7;
}
.project-research{
    text-align:left;
    max-width:480px;
    margin:0 auto 20px;
}

.project-research h2{
    margin-bottom:10px;
    font-size:1.1rem;
    color:var(--green);
}

.research-name{
    font-weight:bold;
    letter-spacing:1px;
    color:var(--pink);
    margin-bottom:10px;
}

.research-quote{
    font-style:italic;
    padding:12px 18px;
    margin-bottom:12px;
    line-height:1.5;
    border-left:4px solid var(--lime);
    border-radius:0 10px 10px 0;
    background:rgba(255,255,255,.15);
}

.research-body{
    line-height:1.6;
    margin-bottom:10px;
}

.research-note{
    font-size:.8rem;
    opacity:.7;
}
.report-page{
    min-height:100vh;
    padding:140px 20px 100px;
}

.report-container{
    width:min(900px,95%);
    margin:0 auto;
}

.report-terminal{
    overflow:hidden;
    margin-bottom:40px;
    background:rgba(255,255,255,.55);
    border:3px solid var(--lime);
    border-radius:12px;
    box-shadow:0 0 30px rgba(202,255,99,.15),var(--shadow);
    animation:terminalGlow 3s ease-in-out infinite;
}

@keyframes terminalGlow{
    50%{
        box-shadow:0 0 45px rgba(117,234,255,.3),var(--shadow);
        border-color:var(--cyan);
    }
}

.terminal-bar{
    display:flex;
    align-items:center;
    gap:8px;
    padding:12px 18px;
    font-family:"Courier New",monospace;
    font-size:.7rem;
    letter-spacing:2px;
    color:var(--lime);
    background:linear-gradient(180deg,#75dfff,#268ed8);
    border-bottom:2px solid var(--lime);
}

.terminal-dot{
    width:10px;
    height:10px;
    border-radius:50%;
}
.terminal-dot.red{background:#ff5f56;}
.terminal-dot.yellow{background:#ffbd2e;}
.terminal-dot.green{background:#27c93f;}

.terminal-body{
    padding:40px;
}

.report-badge{
    display:inline-block;
    padding:6px 16px;
    font-size:.7rem;
    font-weight:bold;
    letter-spacing:2px;
    color:#052b20;
    background:var(--lime);
    border:3px solid var(--outline);
    border-radius:20px;
}

.report-title{
    font-size:2.6rem;
    margin:15px 0;
    color:white;
}

.report-abstract{
    max-width:640px;
    line-height:1.7;
    opacity:.85;
    margin-bottom:20px;
}

.report-status-row{
    display:flex;
    flex-wrap:wrap;
    gap:20px;
    font-family:"Courier New",monospace;
    font-size:.75rem;
    letter-spacing:1px;
    color:var(--cyan);
}

.report-section{
    margin-bottom:55px;
}

.section-number{
    display:block;
    margin-bottom:8px;
    font-family:"Courier New",monospace;
    font-size:.8rem;
    letter-spacing:3px;
    color:var(--lime);
}

.report-section h2{
    margin-bottom:15px;
    padding-bottom:10px;
    font-size:1.7rem;
    color:white;
    border-bottom:2px solid rgba(255,255,255,.15);
}

.report-section p{
    margin-bottom:14px;
    line-height:1.7;
    opacity:.9;
}

.chameleon-quote{
    padding:16px 20px;
    margin:20px 0;
    font-style:italic;
    line-height:1.6;
    color:var(--screen);
    border-left:4px solid var(--lime);
    border-radius:0 10px 10px 0;
    background:rgba(255,255,255,.06);
}

.flow-diagram{
    display:flex;
    flex-direction:column;
    gap:4px;
    padding:20px;
    margin:15px 0;
    font-family:"Courier New",monospace;
    font-size:.8rem;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.15);
    border-radius:10px;
}

.flow-step{
    padding:8px 14px;
    border-left:3px solid var(--lime);
    border-radius:4px;
    background:rgba(202,255,99,.08);
}

.flow-step.warn{
    border-left-color:#ff7a7a;
    background:rgba(255,122,122,.1);
}

.flow-step.good{
    border-left-color:var(--lime);
    background:rgba(202,255,99,.18);
}

.flow-arrow{
    text-align:center;
    opacity:.5;
    color:var(--lime);
}

.spec-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    gap:15px;
    margin-top:20px;
}

.spec-box{
    padding:20px;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.15);
    border-radius:10px;
}

.spec-box h3{
    margin-bottom:8px;
    font-size:.75rem;
    letter-spacing:2px;
    color:var(--lime);
}

.spec-box p{
    margin:0;
    font-size:.85rem;
    opacity:.75;
}

.timeline-report{
    list-style:none;
    padding:0;
    margin-top:15px;
}

.timeline-report li{
    position:relative;
    padding-left:28px;
    margin-bottom:16px;
    line-height:1.5;
}

.timeline-report li::before{
    content:"▹";
    position:absolute;
    left:0;
    color:var(--lime);
}

.gallery-placeholder{
    padding:40px;
    text-align:center;
    font-family:"Courier New",monospace;
    font-size:.85rem;
    opacity:.6;
    border:2px dashed rgba(255,255,255,.2);
    border-radius:12px;
}


/* 
   WIN95 WINDOW COMPONENT
 */

.win95-window{
    background:var(--win-face);
    border-top:2px solid var(--win-highlight);
    border-left:2px solid var(--win-highlight);
    border-right:2px solid var(--win-shadow);
    border-bottom:2px solid var(--win-shadow);
    box-shadow:0 0 0 2px #000,var(--cyber-glow),0 25px 50px rgba(0,0,0,.5);
}

.win95-titlebar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:5px 8px;
    color:#fff;
    font-weight:bold;
    font-size:.75rem;
    letter-spacing:1px;
    background:linear-gradient(90deg,var(--win-titlebar-a),var(--win-titlebar-b));
}

.win95-btns{
    display:flex;
    gap:3px;
}

.win95-btn{
    width:18px;
    height:16px;
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:.65rem;
    line-height:1;
    color:#000;
    background:var(--win-face);
    border-top:1px solid var(--win-highlight);
    border-left:1px solid var(--win-highlight);
    border-right:1px solid var(--win-shadow);
    border-bottom:1px solid var(--win-shadow);
}

.win95-body{
    padding:35px;
    color:var(--ink);
}


/* 
   MARQUEE TICKER
 */

.marquee-bar{
    overflow:hidden;
    white-space:nowrap;
    padding:6px 0;
    color:var(--lime);
    font-family:"Courier New",monospace;
    font-size:.75rem;
    letter-spacing:2px;
    background:#000;
    border-top:2px solid var(--win-shadow);
    border-bottom:2px solid var(--win-highlight);
}

.marquee-bar span{
    display:inline-block;
    padding-left:100%;
    animation:marquee 16s linear infinite;
}

@keyframes marquee{
    0%{transform:translateX(0);}
    100%{transform:translateX(-100%);}
}


/* 
   PROJECT WINDOW PAGE (games / robotics reuse win95-window)
 */

.project-page{
    min-height:auto;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:140px 20px 80px;
}

.project-page .win95-window{
    width:min(640px,95%);
}

.win95-badge{
    display:inline-block;
    padding:3px 12px;
    margin-bottom:14px;
    font-size:.7rem;
    font-weight:bold;
    letter-spacing:2px;
    color:#052b20;
    background:var(--lime);
    border-top:1px solid var(--win-highlight);
    border-left:1px solid var(--win-highlight);
    border-right:1px solid var(--win-shadow);
    border-bottom:1px solid var(--win-shadow);
}

.win95-body h1{
    font-size:2.2rem;
    margin-bottom:14px;
    color:var(--myspace-purple);
}

.win95-body .project-intro{
    max-width:100%;
    margin:0 0 20px;
    text-align:left;
    line-height:1.6;
    opacity:.9;
}

.win95-preview{
    overflow:hidden;
    margin-bottom:20px;
    border:2px solid var(--win-shadow);
    box-shadow:inset 0 0 0 2px #fff;
}

.win95-preview img{
    width:100%;
    display:block;
}

.win95-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-bottom:16px;
}

.win95-btn-lg{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:10px 18px;
    font-weight:bold;
    font-size:.85rem;
    text-decoration:none;
    color:#111;
    background:var(--win-face);
    border-top:2px solid var(--win-highlight);
    border-left:2px solid var(--win-highlight);
    border-right:2px solid var(--win-shadow);
    border-bottom:2px solid var(--win-shadow);
}

.win95-btn-lg:active{
    border-top:2px solid var(--win-shadow);
    border-left:2px solid var(--win-shadow);
    border-right:2px solid var(--win-highlight);
    border-bottom:2px solid var(--win-highlight);
}

.win95-btn-lg.primary{
    background:linear-gradient(180deg,#caffca,#6fdb6f);
}

.glitch-heading{
    color:#fff;
    text-shadow:2px 0 var(--myspace-hot),-2px 0 var(--cyan);
}

.myspace-glitter{
    color:var(--myspace-hot);
    letter-spacing:6px;
    font-size:1.1rem;
    animation:sparkle .8s infinite alternate;
}
/* ==============================
   FRUTIGER AERO RESTORE PACK
   ============================== */


body{
    background:
    radial-gradient(circle at 20% 10%,rgba(255,255,255,.95),transparent 25%),
    radial-gradient(circle at 80% 25%,rgba(117,234,255,.7),transparent 35%),
    linear-gradient(
        180deg,
        #5fd7ff 0%,
        #dfffff 45%,
        #b8ecff 100%
    );
    color:#003b66;
}


body:before{
    opacity:.25;
    background-image:
    radial-gradient(circle,#ffffff 1px,transparent 2px);
    background-size:70px 70px;
}


body:after{
    opacity:.08;
    background-image:
    repeating-linear-gradient(
        0deg,
        white 0px,
        transparent 2px,
        transparent 5px
    );
}



/* glossy glass panels */

.robot-page,
.journey,
.skills,
.report-container,
.project-page{
    position:relative;
}


.project-card,
.win95-window,
.report-terminal,
.timeline,
.skill-grid,
.contact-card,
.xp-window{
    backdrop-filter:blur(15px);
    background:rgba(255,255,255,.55);
    box-shadow:
    0 20px 50px rgba(0,100,150,.25),
    inset 0 2px 5px white;
}



/* Aero buttons */

#contactButton,
.back-link,
.project-buttons a,
.report-btn,
.win95-btn-lg{
    background:
    linear-gradient(
        180deg,
        #ffffff 0%,
        #dfffff 35%,
        #75eaff 100%
    );

    color:#064b39;

    border:2px solid white;

    box-shadow:
    0 4px 12px rgba(0,0,0,.25),
    inset 0 2px 5px white;
}


#contactButton:hover,
.back-link:hover,
.project-buttons a:hover,
.report-btn:hover,
.win95-btn-lg:hover{
    transform:translateY(-5px);
    box-shadow:
    0 10px 25px rgba(0,150,255,.45),
    inset 0 3px 10px white;
}



/* Aero glass robot screen */

.main-screen,
.back-screen,
.screen{
    background:
    linear-gradient(
        145deg,
        rgba(255,255,255,.9),
        rgba(117,234,255,.55)
    );

    box-shadow:
    inset 0 0 30px white,
    0 15px 30px rgba(0,100,150,.3);
}



/* XP style windows */

.win95-window,
.xp-window{

    border-radius:18px;

    border:3px solid white;

    box-shadow:
    0 15px 40px rgba(0,0,0,.35),
    inset 0 3px 8px white;
}


.win95-titlebar,
.window-header{

    background:
    linear-gradient(
        180deg,
        #4db8ff,
        #0068d9
    );

    border-radius:15px 15px 0 0;

    text-shadow:
    0 2px 2px #003366;
}



/* Make sections feel like old web cards */


.journey,
.skills{
    padding:35px;

    border-radius:25px;

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

    border:
    2px solid rgba(255,255,255,.8);

    box-shadow:
    0 20px 40px rgba(0,80,120,.25),
    inset 0 2px 10px white;
}



/* floating aero shapes */


.floating-star,
.floating-heart,
.floating-diamond{

    filter:
    drop-shadow(0 0 10px white);

}



/* Remove cyber terminal feeling */


.report-terminal{

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

}


.report-title,
.section-title h2,
.project-card h1{

    color:#006a55;

    text-shadow:
    2px 2px white;

}



/* Skill icons */

.skill-card:before{

    content:"✦";

    color:#00aaff;

    text-shadow:
    0 0 15px white,
    0 0 20px #00aaff;

}



/* Contact card */

.contact-card{

    background:
    linear-gradient(
    180deg,
    white,
    #dfffff
    );

    box-shadow:
    10px 15px 30px rgba(0,100,150,.3),
    inset 0 3px 8px white;

}



/* Make project/report pages match */

.project-card,
.report-container{

    color:#064b39;

}


.project-intro,
.report-abstract,
.report-section p{

    color:#073b30;

}
button,
a{
position:relative;
overflow:hidden;
}


button:before,
a:before{

content:"";

position:absolute;

top:0;
left:0;

width:100%;
height:45%;

background:
linear-gradient(
180deg,
rgba(255,255,255,.8),
transparent
);

border-radius:inherit;

pointer-events:none;

}
.bubble{
    position:fixed;
    border-radius:50%;
    pointer-events:none;
    z-index:-1;

    background:
    radial-gradient(
        circle at 30% 25%,
        white,
        rgba(255,255,255,.5) 10%,
        rgba(117,234,255,.25) 40%,
        transparent 70%
    );

    box-shadow:
    inset 0 0 20px white,
    0 0 30px rgba(117,234,255,.4);

    animation:floatBubble 12s infinite ease-in-out;
}

@keyframes floatBubble{
    50%{
        transform:translateY(-80px);
    }
}
.bubble-one{
    width:140px;
    height:140px;
    top:15%;
    left:10%;
}

.bubble-two{
    width:80px;
    height:80px;
    top:65%;
    right:15%;
    animation-delay:3s;
}

.bubble-three{
    width:220px;
    height:220px;
    bottom:5%;
    left:5%;
    animation-delay:6s;
}

.bubble-four{
    width:60px;
    height:60px;
    top:35%;
    right:5%;
    animation-delay:2s;
}
.robot-page{
    min-height:760px;
    padding-bottom:0;
    overflow:visible;
    z-index:20;
}

.robot-container{
    height:520px;
}

.robot-body{
    height:400px;
}

.contact-system{
    top:65%;
    z-index:999;
}

.journey{
    margin-top:0;
}
.journey{
    position:relative;
    z-index:1;
}