.christmas-effects {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      pointer-events: none;
      z-index: 9999;
      overflow: hidden;
    }

    /* ============ SNOWFLAKES ============ */
    .snowflake {
      position: absolute;
      top: -10px;
      color: #fff;
      font-size: 1em;
      font-family: Arial, sans-serif;
      text-shadow: 0 0 5px rgba(255, 255, 255, 0.8);
      animation: fall linear infinite;
      opacity: 0.8;
    }

    @keyframes fall {
      0% {
        transform: translateY(-10px) rotate(0deg);
      }
      100% {
        transform: translateY(100vh) rotate(360deg);
      }
    }

    /* ============ ORNAMENT BALLS ============ */
    .ornament-container {
      position: absolute;
      top: 0;
      transform-origin: top center;
      animation: swing 3s ease-in-out infinite;
    }

    .ornament-string {
      width: 2px;
      background: linear-gradient(to bottom, #8B4513, rgba(139, 69, 19, 0.5));
      margin: 0 auto;
      box-shadow: 1px 0 2px rgba(0, 0, 0, 0.3);
    }

    .ornament {
      width: 30px;
      height: 30px;
      border-radius: 50%;
      margin: 0 auto;
      animation: rotate 4s linear infinite;
      box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3), inset -5px -5px 10px rgba(0, 0, 0, 0.2);
      background: linear-gradient(135deg, currentColor 0%, rgba(255, 255, 255, 0.3) 50%, currentColor 100%);
      position: relative;
    }

    .ornament::before {
      content: '';
      position: absolute;
      top: -8px;
      left: 50%;
      transform: translateX(-50%);
      width: 12px;
      height: 8px;
      background: #C0C0C0;
      border-radius: 50% 50% 0 0;
      box-shadow: inset 0 -2px 3px rgba(0, 0, 0, 0.3);
    }

    .ornament::after {
      content: '';
      position: absolute;
      top: 3px;
      left: 8px;
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: rgba(255, 255, 255, 0.7);
      filter: blur(1px);
    }

    @keyframes swing {
      0%, 100% {
        transform: rotate(-5deg);
      }
      50% {
        transform: rotate(5deg);
      }
    }

    @keyframes rotate {
      0% {
        filter: hue-rotate(0deg);
      }
      100% {
        filter: hue-rotate(360deg);
      }
    }

    /* ============ TWINKLING LIGHTS ============ */
    .light {
      position: absolute;
      width: 8px;
      height: 8px;
      border-radius: 50%;
      animation: twinkle 2s ease-in-out infinite;
      box-shadow: 0 0 10px currentColor, 0 0 20px currentColor;
    }

    @keyframes twinkle {
      0%, 100% {
        opacity: 0.3;
        transform: scale(1);
      }
      50% {
        opacity: 1;
        transform: scale(1.2);
      }
    }

    /* ============ STARS ============ */
    .star {
      position: absolute;
      color: gold;
      font-size: 20px;
      animation: starTwinkle 3s ease-in-out infinite;
      text-shadow: 0 0 10px gold, 0 0 20px gold;
    }

    @keyframes starTwinkle {
      0%, 100% {
        opacity: 0.5;
        transform: scale(1) rotate(0deg);
      }
      50% {
        opacity: 1;
        transform: scale(1.3) rotate(180deg);
      }
    }

    /* ============ CONFETTI ============ */
    .confetti {
      position: absolute;
      width: 10px;
      height: 10px;
      background: currentColor;
      animation: confettiFall 4s linear infinite;
      opacity: 0.8;
    }

    @keyframes confettiFall {
      0% {
        transform: translateY(-10px) rotateZ(0deg);
        opacity: 1;
      }
      100% {
        transform: translateY(100vh) rotateZ(720deg);
        opacity: 0;
      }
    }

    /* ============ DEMO PAGE STYLES ============ */
    /* body {
      margin: 0;
      padding: 0;
      font-family: Arial, sans-serif;
      background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
      color: white;
      min-height: 100vh;
      overflow-x: hidden;
    } */

    .demo-content {
      position: relative;
      z-index: 1;
      padding: 50px 20px;
      text-align: center;
      max-width: 800px;
      margin: 0 auto;
    }

    .demo-content h1 {
      font-size: 3em;
      margin-bottom: 20px;
      text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
    }

    .demo-content .controls {
      background: rgba(255, 255, 255, 0.1);
      padding: 30px;
      border-radius: 15px;
      margin: 30px 0;
      backdrop-filter: blur(10px);
    }

    .demo-content button,
    .christmas-control-btn {
      background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
      color: white;
      border: none;
      padding: 12px 30px;
      margin: 10px;
      border-radius: 25px;
      cursor: pointer;
      font-size: 16px;
      transition: transform 0.2s, box-shadow 0.2s;
      box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
    }

    .demo-content button:hover,
    .christmas-control-btn:hover {
      transform: translateY(-2px);
      box-shadow: 0 6px 20px rgba(102, 126, 234, 0.4);
    }

    .demo-content button:active,
    .christmas-control-btn:active {
      transform: translateY(0);
    }

    .demo-content .code-section {
      background: rgba(0, 0, 0, 0.3);
      padding: 20px;
      border-radius: 10px;
      margin: 20px 0;
      text-align: left;
      font-family: 'Courier New', monospace;
      font-size: 14px;
      overflow-x: auto;
    }

    .demo-content .instructions {
      background: rgba(255, 255, 255, 0.05);
      padding: 20px;
      border-radius: 10px;
      margin: 20px 0;
      line-height: 1.6;
    }

    .demo-content .instructions h2 {
      color: #ffd700;
      margin-top: 0;
    }

    .demo-content .instructions ol {
      text-align: left;
      padding-left: 20px;
    }

    .demo-content .instructions li {
      margin: 10px 0;
    }