.cse-snow{
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 999999;
    overflow: hidden;
}

.cse-banner-text{
    position: fixed;
    top: 18px;
    left: 50%;
    transform: translateX(-50%);
    padding: 8px 14px;
    color: #ffffff;
    font-family: "Mountains of Christmas", cursive;
    font-size: var(--cse-text-size, 64px);
    font-weight: 700;
    letter-spacing: .4px;
    text-shadow:
        0 6px 18px rgba(0,0,0,.55),
        0 0 18px rgba(255,255,255,.35);
    white-space: nowrap;
    user-select: none;
}

@media (max-width: 600px){
    .cse-banner-text{
        top: 12px;
        font-size: calc(var(--cse-text-size, 64px) * 0.62);
        max-width: calc(100vw - 24px);
        overflow: hidden;
        text-overflow: ellipsis;
    }
}

.cse-flake{
    position: absolute;
    top: -12px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    animation-name: cse-fall;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    will-change: transform;
}

.cse-flake.is-circle{
    background: rgba(255,255,255,0.95);
    border-radius: 50%;
    filter: blur(0.2px);
}

.cse-flake.is-flake{
    filter: drop-shadow(0 6px 10px rgba(0,0,0,.28));
}

@keyframes cse-fall{
    to{
        transform: translate3d(var(--cse-drift, 0px), 105vh, 0) rotate(var(--cse-rot, 0deg));
    }
}

/* Gentle shimmer on the greeting */
@keyframes cse-glow{
    from{ filter: drop-shadow(0 0 0 rgba(255,255,255,.0)); opacity: .92; }
    to{ filter: drop-shadow(0 0 10px rgba(255,255,255,.35)); opacity: 1; }
}
.cse-banner-text{ animation: cse-glow 2.4s ease-in-out infinite alternate; }
