/* ---------- Google Font ---------- */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

/* ---------- CSS Variables ---------- */
:root{
    --bg-color: #0D1117;
    --card-color: #161B22;
    --input-bg: #21262D;
    --border-color: #30363D;
    --primary: #00E5FF;
    --secondary: #8B5CF6;
    --text: #F8FAFC;
    --secondary-text: #C9D1D9;
    --muted-text: #94A3B8;
    --placeholder: #6E7681;
}

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

body{
    font-family: "Inter", sans-serif;
    background: var(--bg-color);
    color: var(--text);

    min-height:100vh;

    display:flex;
    flex-direction:column;
}

/* ---------- Header ---------- */

header{
    text-align:center;
    margin-top:50px;
}

h1{
    font-size:2.8rem;
    margin-bottom:12px;
}

.subtitle{
    color:var(--muted-text);
    font-size:1rem;
}

/* ---------- Main ---------- */

main{
    flex:1;

    display:flex;
    justify-content:center;
    align-items:center;

    padding:40px 20px;
}

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

.outer{
    width:100%;
    max-width:500px;
}

#first{
    background:var(--card-color);

    border:1px solid var(--border-color);

    border-radius:16px;

    padding:30px;

    box-shadow:0 10px 35px rgba(0,0,0,.35);
}

/* ---------- Form ---------- */

form{
    display:flex;
    flex-direction:column;
    gap:18px;
}

/* ---------- Label ---------- */

#label-text{
    color:var(--secondary-text);

    font-weight:600;

    font-size:1rem;
}

/* ---------- Input ---------- */

#input-text{

    width:100%;

    height:55px;

    padding:0 18px;

    border-radius:12px;

    border:2px solid var(--border-color);

    background:var(--input-bg);

    color:var(--text);

    font-size:1rem;

    caret-color:var(--primary);

    transition:.3s;
}

#input-text::placeholder{
    color:var(--placeholder);
}

#input-text:focus{

    outline:none;

    border-color:var(--primary);

    box-shadow:0 0 15px rgba(0,229,255,.25);

    transform:translateY(-2px);
}

/* ---------- Button ---------- */

#submit-button{

    height:55px;

    border:none;

    border-radius:12px;

    background:linear-gradient(
        135deg,
        var(--primary),
        var(--secondary)
    );

    color:white;

    font-size:1rem;

    font-weight:600;

    cursor:pointer;

    transition:.3s;
}

#submit-button:hover{

    transform:translateY(-3px);

    box-shadow:0 12px 25px rgba(0,229,255,.25);
}

#submit-button:active{

    transform:scale(.98);
}

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

footer{

    padding:25px;

    text-align:center;
}

footer p{
    max-width:800px;
    margin:auto;
    color:var(--muted-text);
    line-height:1.7;
    font-size:.9rem;
}


#popup{
    position: fixed;
    inset: 0;
    display: none;
    justify-content: center;
    align-items: center;
    background: rgba(0, 0, 0, 0.45);
    z-index: 9999;
}

#popup img{
    width: 320px;
    max-width: 90%;
    border-radius: 16px;
    animation: popupAnimation .3s ease;
}

@keyframes popupAnimation{
    from{
        transform: scale(0.8);
        opacity: 0;
    }

    to{
        transform: scale(1);
        opacity: 1;
    }
}

/* ---------- Responsive ---------- */
@media (max-width: 600px) {

    /* Heading */
    h1{
        font-size: 1.6rem;
        line-height: 1.2;
    }

    /* Subtitle */
    .subtitle{
        font-size: 0.9rem;
        max-width: 280px;
        margin: 10px auto 0;
        line-height: 1.5;
    }

    /* Form Card */
    .outer{
        width: 100%;
    }

    #first{
        width: 95%;
        margin: auto;
        padding: 25px 20px;
    }

    /* Input */
    #input-text{
        font-size: 1rem;
    }

    /* Button */
    #submit-button{
        width: 100%;
    }

    /* Disclaimer */
    footer{
        padding: 18px;
    }

    footer p{
        font-size: 0.75rem;
        line-height: 1.5;
    }
}