*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:Arial, Helvetica, sans-serif;
}

body{

    min-height:100vh;

    background:linear-gradient(135deg,#071021,#0b1e35,#123c69);

    overflow-y:auto;

    padding:40px;

}

.background{

    position:fixed;

    inset:0;

    pointer-events:none;

    z-index:0;

}

.container{

    width:100%;

    max-width:900px;

    margin:0 auto;

    position:relative;

    z-index:2;

}

header{

    text-align:center;

    margin-bottom:30px;

}

header h1{

    color:#fff;

    font-size:48px;

    font-weight:700;

    text-shadow:0 0 20px rgba(255,255,255,.25);

}

header p{

    color:rgba(255,255,255,.75);

    margin-top:8px;

    font-size:18px;

}

.glass-card{

    position:relative;

    overflow:hidden;

    backdrop-filter:blur(30px);

    -webkit-backdrop-filter:blur(30px);

    background:rgba(255,255,255,.10);

    border:1px solid rgba(255,255,255,.18);

    border-radius:30px;

    padding:35px;

    box-shadow:
    0 20px 60px rgba(0,0,0,.35),
    inset 0 1px rgba(255,255,255,.25);

    z-index:2;

}

.glass-card::before{

    content:"";

    position:absolute;

    inset:0;

    pointer-events:none;

    background:linear-gradient(
        120deg,
        transparent 20%,
        rgba(255,255,255,.15) 50%,
        transparent 80%
    );

    transform:translateX(-100%);

    animation:shine 8s linear infinite;

}

@keyframes shine{

    from{

        transform:translateX(-100%);

    }

    to{

        transform:translateX(200%);

    }

}

.glass-card h2{

    color:#fff;

    margin-bottom:25px;

}

.form-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:20px;

}

.input-group{

    display:flex;

    flex-direction:column;

}

.input-group label{

    color:#fff;

    margin-bottom:8px;

    font-size:14px;

}

input,
select{

    width:100%;

    padding:14px;

    border:1px solid rgba(255,255,255,.12);

    border-radius:15px;

    outline:none;

    background:rgba(255,255,255,.12);

    color:#fff;

    font-size:15px;

    transition:.25s;

}

input::placeholder{

    color:rgba(255,255,255,.45);

}

input:focus,
select:focus{

    border-color:#4fb8ff;

    box-shadow:0 0 18px rgba(79,184,255,.35);

}

button{

    position:relative;

    z-index:5;

    width:100%;

    margin-top:30px;

    padding:18px;

    border:none;

    border-radius:18px;

    background:linear-gradient(135deg,#29b6ff,#006dff);

    color:white;

    font-size:18px;

    font-weight:bold;

    cursor:pointer;

    transition:.3s;

}

button:hover{

    transform:translateY(-3px);

}

button:active{

    transform:scale(.98);

}

.results{

    margin-top:35px;

}

.result-item{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:14px 0;

    border-bottom:1px solid rgba(255,255,255,.12);

    color:white;

}

.result-item strong{

    color:#fff;

}

.credit{

    margin-top:35px;

    padding-top:20px;

    border-top:1px solid rgba(255,255,255,.12);

    text-align:center;

}

.credit h3{

    color:#ffffff;

    font-size:18px;

    margin-bottom:6px;

}

.credit h2{

    color:#ffffff;

    font-size:26px;

    letter-spacing:2px;

}

.credit p{

    margin-top:8px;

    color:rgba(255,255,255,.7);

    font-size:14px;

}

@media(max-width:768px){

    body{

        padding:20px;

    }

    .form-grid{

        grid-template-columns:1fr;

    }

    header h1{

        font-size:36px;

    }

}
