    .christmas-magic-santa img {
        width: 150px;
        height: auto;
        display: block;
    }

    /* Christmas Tree */
    .christmas-magic-tree {
        position: fixed;
        width: 200px;
        height: 300px;
        pointer-events: none;
        z-index: 9998;
        background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 150"><polygon points="50,10 20,50 30,50 10,80 25,80 5,110 50,110 95,110 75,80 90,80 70,50 80,50" fill="%230F7C3F"/><rect x="45" y="110" width="10" height="40" fill="%238B4513"/></svg>');
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center bottom;
    }

    .christmas-magic-tree-bottom-left {
        bottom: 0;
        left: 20px;
    }

    .christmas-magic-tree-bottom-right {
        bottom: 0;
        right: 20px;
    }

    /* Garland Lights */
    .christmas-magic-garland {
        position: fixed;
        width: 100%;
        height: 30px;
        pointer-events: none;
        z-index: 9998;
        display: flex;
        justify-content: space-around;
        align-items: center;
    }

    .christmas-magic-garland-top {
        top: 0;
    }

    .christmas-magic-garland-bottom {
        bottom: 0;
    }

    .christmas-magic-garland::before {
        content: '';
        position: absolute;
        width: 100%;
        height: 2px;
        background: #0F7C3F;
        top: 50%;
        transform: translateY(-50%);
    }

    .christmas-magic-garland::after {
        content: '💡💡💡💡💡💡💡💡💡💡💡💡💡💡💡💡💡💡💡💡';
        font-size: 20px;
        letter-spacing: 50px;
        animation: garland-blink 2s infinite;
    }

    @keyframes garland-blink {

        0%,
        100% {
            opacity: 1;
        }

        50% {
            opacity: 0.5;
        }
    }

    /* Legacy Classy Snow (CSS-based) */
    body.christmas-magic-snow.classy-snow {
        /* Fallback for browsers without canvas support */
    }

    .christmas-magic-snowflake {
        position: fixed;
        top: -10px;
        color: #fff;
        font-size: 1em;
        font-family: Arial, sans-serif;
        text-shadow: 0 0 5px #000;
        pointer-events: none;
        z-index: 9999;
        animation: fall linear infinite;
    }

    @keyframes fall {
        0% {
            transform: translateY(0) rotate(0deg);
            opacity: 1;
        }

        100% {
            transform: translateY(100vh) rotate(360deg);
            opacity: 0;
        }
    }

    /* Mobile optimizations */
    @media (max-width: 768px) {
        .christmas-magic-santa img {
            width: 100px;
        }

        .christmas-magic-tree {
            width: 150px;
            height: 225px;
        }

        .christmas-magic-garland::after {
            font-size: 16px;
            letter-spacing: 30px;
        }
    }

    /* Accessibility */
    @media (prefers-reduced-motion: reduce) {

        .christmas-magic-canvas,
        .christmas-magic-santa,
        .christmas-magic-garland {
            animation: none;
        }
    }

    /* Print styles */
    @media print {

        .christmas-magic-canvas,
        .christmas-magic-santa,
        .christmas-magic-tree,
        .christmas-magic-garland {
            display: none !important;
        }
    }