*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:'Segoe UI',sans-serif;
}

body{
    min-height:100vh;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:20px;
    background:
    radial-gradient(circle at top left,#3b82f6,transparent 30%),
    radial-gradient(circle at bottom right,#7c3aed,transparent 30%),
    #071126;
}

.calculator{
    width:380px;
    max-width:100%;
    padding:25px;
    border-radius:30px;
    background:rgba(255,255,255,.07);
    backdrop-filter:blur(18px);
    border:1px solid rgba(255,255,255,.12);
    box-shadow:0 15px 50px rgba(0,0,0,.45);
}

.header{
    text-align:center;
    margin-bottom:20px;
}

.header h1{
    font-size:34px;
    font-weight:700;
    background:linear-gradient(
    90deg,
    #60a5fa,
    #a78bfa,
    #f472b6
    );
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
}

.header p{
    color:#cbd5e1;
    font-size:14px;
}

.display{
    width:100%;
    height:90px;
    border:none;
    outline:none;
    border-radius:22px;
    padding:20px;
    font-size:2rem;
    text-align:right;
    color:white;
    background:rgba(255,255,255,.05);
    margin-bottom:18px;
}

.buttons{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:14px;
}

button{
    height:70px;
    border:none;
    border-radius:20px;
    font-size:1.3rem;
    color:white;
    cursor:pointer;
    background:rgba(255,255,255,.08);
    transition:all .15s ease;
}

button:hover{
    background:rgba(255,255,255,.14);
}

button:active{
    transform:scale(.92);
}

.operator{
    background:#2563eb;
}

.clear{
    background:#ef4444;
}

.equal{
    background:#10b981;
    grid-column:span 2;
}

.credit{
    margin-top:18px;
    text-align:center;
    font-size:13px;
    letter-spacing:1px;
    color:rgba(255,255,255,.7);
}

@media(max-width:480px){

    .calculator{
        padding:18px;
    }

    button{
        height:60px;
    }

    .display{
        height:80px;
        font-size:1.7rem;
    }

    .header h1{
        font-size:28px;
    }
}
