/* --- Design Tokens --- */
  :root {
    --vsc-bg: rgba(18, 18, 20, 0.65);
    --vsc-blur: blur(24px) saturate(180%);
    --vsc-border: rgba(255, 255, 255, 0.08);
    --vsc-highlight: rgba(255, 255, 255, 0.1);
    
    --vsc-text-title: rgba(255, 255, 255, 0.98);
    --vsc-text-body: rgba(255, 255, 255, 0.65);
    
    --vsc-btn-bg-primary: #ffffff;
    --vsc-btn-text-primary: #000000;
    --vsc-btn-bg-secondary: transparent;
    --vsc-btn-border-secondary: rgba(255, 255, 255, 0.15);
    
    /* Animation Curve (Expo Ease Out) for high-end feel */
    --vsc-easing: cubic-bezier(0.19, 1, 0.22, 1);
  }

  /* --- Container & Layout --- */
  #vsc-wrapper {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 24px;
    box-sizing: border-box;
    z-index: 2147483647;
    pointer-events: none; /* Let clicks pass through when hidden */
    display: flex;
    justify-content: center;
    align-items: center;
    /* Mise à jour de la typographie avec Avenir en priorité */
    font-family: "Avenir", "Avenir Next", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  }

  .vsc-container {
    background: var(--vsc-bg);
    backdrop-filter: var(--vsc-blur);
    -webkit-backdrop-filter: var(--vsc-blur);
    border: 1px solid var(--vsc-border);
    border-top: 1px solid rgba(255, 255, 255, 0.15); /* Top light catch */
    border-radius: 18px;
    box-shadow: 
      0 30px 60px -12px rgba(0, 0, 0, 0.6), 
      0 8px 16px -8px rgba(0, 0, 0, 0.3),
      inset 0 1px 0 rgba(255, 255, 255, 0.05);
    
    display: flex;
    flex-direction: column;
    gap: 24px; /* Réduction de l'espacement global */
    padding: 24px; /* Réduction des marges internes */
    width: 100%;
    max-width: 460px; /* Plus compact */
    
    /* Initial state for animation */
    opacity: 0;
    transform: translateY(40px) scale(0.98);
    visibility: hidden;
    will-change: transform, opacity;
  }

  /* --- Enter / Leave Animations --- */
  #vsc-wrapper.vsc-is-visible .vsc-container {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
    transition: transform 1.2s var(--vsc-easing), opacity 0.8s ease, visibility 0s;
    pointer-events: auto; /* Enable clicks only when visible */
  }

  #vsc-wrapper.vsc-is-leaving .vsc-container {
    opacity: 0;
    transform: translateY(20px) scale(0.98);
    transition: transform 0.6s ease-in, opacity 0.4s ease;
    pointer-events: none;
  }

  /* --- Content Styling --- */
  .vsc-content {
    display: flex;
    flex-direction: column;
    gap: 10px; /* Espacement titre/texte réduit */
    width: 100%;
  }

  .vsc-title {
    margin: 0;
    font-size: 16px; /* Titre plus petit */
    font-weight: 600;
    color: var(--vsc-text-title);
    letter-spacing: -0.01em;
  }

  .vsc-description {
    margin: 0;
    font-size: 13px; /* Texte plus petit */
    line-height: 1.5;
    color: var(--vsc-text-body);
    font-weight: 400;
  }

  /* --- Bottom Row Layout --- */
  .vsc-bottom-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 16px;
  }

  .vsc-link {
    font-size: 12px; /* Lien plus discret */
    font-weight: 500;
    color: var(--vsc-text-title);
    text-decoration: underline;
    text-underline-offset: 4px;
    text-decoration-thickness: 1px;
    text-decoration-color: var(--vsc-text-body);
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
  }

  .vsc-link:hover {
    text-decoration-color: var(--vsc-text-title);
    color: #ffffff;
  }

  .vsc-link-arrow {
    font-size: 13px;
    line-height: 1;
    font-family: monospace;
  }

  /* --- Actions & Buttons --- */
  .vsc-actions {
    display: flex;
    align-items: center;
    gap: 8px;
  }

  .vsc-btn {
    appearance: none;
    border: none;
    background: none;
    margin: 0;
    padding: 8px 14px; /* Boutons plus petits */
    border-radius: 8px;
    font-size: 11px; /* Texte des boutons ajusté */
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    letter-spacing: 0.03em;
    text-transform: uppercase;
  }

  .vsc-btn:focus-visible {
    outline: 2px solid rgba(255, 255, 255, 0.8);
    outline-offset: 2px;
  }

  /* Primary Button (ALLOW ALL) */
  .vsc-btn-primary {
    background: var(--vsc-btn-bg-primary);
    color: var(--vsc-btn-text-primary);
    box-shadow: 0 4px 10px rgba(255, 255, 255, 0.1);
  }

  .vsc-btn-primary:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(255, 255, 255, 0.2);
    background: #f4f4f5;
  }

  /* Ghost Button (CLOSE & DENY) */
  .vsc-btn-ghost {
    color: var(--vsc-text-title);
  }

  .vsc-btn-ghost:hover {
    background: rgba(255, 255, 255, 0.08);
  }

  /* --- Responsive Breakpoints --- */
  @media (max-width: 600px) {
    #vsc-wrapper {
      padding: 16px;
    }

    .vsc-container {
      padding: 20px;
      gap: 20px;
      border-radius: 16px;
    }

    .vsc-bottom-row {
      flex-direction: column;
      align-items: flex-start;
      gap: 20px;
    }

    .vsc-actions {
      width: 100%;
      flex-direction: column;
      gap: 8px;
    }

    .vsc-btn {
      width: 100%;
      padding: 12px 20px;
    }

    .vsc-btn-primary { order: 1; }
    .vsc-btn-ghost { order: 2; }
  }
