  
    * { font-family: 'DM Sans', sans-serif; }
    
    :root {
      --bg-primary: #ffffff;
      --bg-secondary: #f0fdf4;
      --text-primary: #111827;
      --text-secondary: #6b7280;
      --border-color: #e5e7eb;
      --accent-primary: #10b981;
      --accent-secondary: #34d399;
    }
    
    body.dark-mode {
      --bg-primary: #0f172a;
      --bg-secondary: #1e293b;
      --text-primary: #f1f5f9;
      --text-secondary: #cbd5e1;
      --border-color: #334155;
      --accent-primary: #10b981;
      --accent-secondary: #34d399;
    }
    
    .screen { display: none; }
    .screen.active { display: block; }
    .upload-zone {
      border: 2px dashed #a7f3d0;
      transition: all 0.3s ease;
      background: var(--bg-primary);
    }
    .upload-zone:hover {
      border-color: #34d399;
      background: #ecfdf5;
    }
    body.dark-mode .upload-zone:hover {
      background: rgba(16, 185, 129, 0.1);
    }
    .upload-zone.has-image {
      border-style: solid;
      border-color: #34d399;
    }
    .btn-primary {
      background: linear-gradient(135deg, #34d399 0%, #10b981 100%);
      transition: all 0.3s ease;
    }
    .btn-primary:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 25px -5px rgba(16, 185, 129, 0.4);
    }
    .btn-primary:disabled {
      opacity: 0.5;
      cursor: not-allowed;
      transform: none;
    }
    .card-shadow {
      box-shadow: 0 4px 20px -2px rgba(0, 0, 0, 0.08);
    }
    body.dark-mode .card-shadow {
      box-shadow: 0 4px 20px -2px rgba(0, 0, 0, 0.3);
    }
    .fade-in {
      animation: fadeIn 0.5s ease-out;
    }
    @keyframes fadeIn {
      from { opacity: 0; transform: translateY(20px); }
      to { opacity: 1; transform: translateY(0); }
    }
    .pulse-gentle {
      animation: pulseGentle 2s infinite;
    }
    @keyframes pulseGentle {
      0%, 100% { transform: scale(1); }
      50% { transform: scale(1.02); }
    }
    
    .theme-toggle {
      width: 52px;
      height: 28px;
      background-color: #cbd5e1;
      border: none;
      border-radius: 9999px;
      padding: 2px;
      cursor: pointer;
      display: flex;
      align-items: center;
      transition: background-color 0.3s ease;
    }
    .theme-toggle.dark {
      background-color: #1e293b;
    }
    .theme-toggle-circle {
      width: 24px;
      height: 24px;
      border-radius: 9999px;
      background-color: white;
      transition: transform 0.3s ease;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .theme-toggle.dark .theme-toggle-circle {
      transform: translateX(24px);
    }
    
    @media (max-width: 768px) {
      .hero-text h1 { font-size: 1.875rem; }
      .hero-text p { font-size: 1rem; }
      nav { gap: 1rem; font-size: 0.875rem; }
    }
    
    /* Prevent selection and standard right-click */
.no-copy {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    pointer-events: none; /* Disables right-click on the image itself */
}

/* The Watermark Overlay */
.watermark-container {
    position: relative;
    overflow: hidden;
}

.watermark-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0,0,0,0.1);
    backdrop-filter: blur(0.5px); /* Blurs the image slightly */
    pointer-events: none;
}

.watermark-text {
    transform: rotate(-45deg);
    font-size: 3rem;
    font-weight: bold;
    color: rgba(255,255,255,0.3);
    text-transform: uppercase;
    white-space: nowrap;
}
 