body {
    margin: 0;
    min-height: 100vh;
    background: linear-gradient(to bottom, black 0%, white 150%);
    background-attachment: scroll;
}

.bubble {
    display: block;
    clear: both;
    width: 70%;
    margin: 30px auto;
    padding: 25px;
    overflow: hidden;
    background: white;
    border-radius: 20px;
}

.gradient-border {
    position: relative;
    width: 80%;
    margin: 40px auto 0;
    padding: 30px;
    box-sizing: border-box;
    background: transparent;
    border-radius: 15px 15px 0 0;
}

.gradient-border::before {
    content: "";
    position: absolute;
    inset: 0;
    padding: 2px;
    background: linear-gradient(to bottom, white 0%, black 100%);
    border-radius: 15px 15px 0 0;

    -webkit-mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);

    -webkit-mask-composite: xor;
    mask-composite: exclude;

    pointer-events: none;
}