* {
    box-sizing: border-box;
}

#homeButton {
    position: fixed;

    top: calc(16px + env(safe-area-inset-top));
    left: max(16px, calc(50vw - 215px + 16px));

    width: 48px;
    height: 48px;

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

    border-radius: 50%;

    background: rgba(255,255,255,.92);
    color: #006bff;

    text-decoration: none;
    font-size: 0;
    font-weight: 900;

    border: 1px solid rgba(0,107,255,.16);

    box-shadow:
        0 8px 22px rgba(0,50,130,.18),
        inset 0 1px 0 rgba(255,255,255,.80);

    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);

    z-index: 9999;

    -webkit-tap-highlight-color: transparent;

    transition:
        transform .16s ease,
        box-shadow .16s ease,
        background .16s ease;
}

#homeButton::before {
    content: "";

    width: 23px;
    height: 23px;

    background: currentColor;

    -webkit-mask:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 10.5 12 3l9 7.5V21h-6v-6H9v6H3z'/%3E%3C/svg%3E")
        center / contain no-repeat;
    mask:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 10.5 12 3l9 7.5V21h-6v-6H9v6H3z'/%3E%3C/svg%3E")
        center / contain no-repeat;
}

#homeButton:active {
    transform: scale(.94);
    box-shadow:
        0 4px 12px rgba(0,50,130,.16),
        inset 0 1px 0 rgba(255,255,255,.80);
}
