
/* Overlay styling */
    .closed-overlay {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: rgba(0, 0, 0, 0.85);
      color: #fff;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      text-align: center;
      z-index: 9999;
      transition: opacity 1s ease;
    }

    .closed-overlay.hidden {
      opacity: 0;
      pointer-events: none;
    }

    .closed-overlay h1 {
      font-size: 3em;
      margin: 0.3em 0;
      color: #ffcc00;
      text-shadow: 2px 2px 8px #000;
      animation: pulse 2s infinite;
    }

    .closed-overlay p {
      font-size: 1.25em;
      max-width: 600px;
      line-height: 1.5;
      color: #ddd;
    }

    @keyframes pulse {
      0% { opacity: 1; }
      50% { opacity: 0.7; }
      100% { opacity: 1; }
    }
    
    /* Image styling */
    .closed-overlay img {
      max-width: 80%;
      max-height: 80%;
      border-radius: 16px;
      box-shadow: 0 0 25px rgba(255, 255, 255, 0.2);
      animation: fadePulse 3s infinite ease-in-out;
    }

    /* Gentle pulse animation */
    @keyframes fadePulse {
      0% { opacity: 1; transform: scale(1); }
      50% { opacity: 0.9; transform: scale(1.02); }
      100% { opacity: 1; transform: scale(1); }
    }
    
     /* Notification box styling */
    .notification {
      position: fixed;
      top: 20px;
      right: 20px;
      background: #c62828;
      color: #fff;
      padding: 12px 20px;
      border-radius: 8px;
      font-size: 1rem;
      box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
      opacity: 0;
      transform: translateY(20px);
      transition: opacity 0.6s ease, transform 0.6s ease;
      z-index: 999;
    }

    .notification.visible {
      opacity: 1;
      transform: translateY(0);
    }

    .notification small {
      display: block;
      font-size: 0.85em;
      opacity: 0.85;
    }