@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap');

body {
    font-family: 'Outfit', sans-serif;
    -webkit-tap-highlight-color: transparent;
    min-height: 100vh;
}

/* Custom Scrollbar */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }
.dark ::-webkit-scrollbar-thumb { background: #475569; }

.fade-in { animation: fadeIn 0.4s cubic-bezier(0.4, 0, 0.2, 1); }
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.completed-card { opacity: 0.75; }
.completed-card .task-text { text-decoration: line-through; color: #94a3b8; }
.dark .completed-card .task-text { color: #706969; }

.glass-header {
    background: linear-gradient(135deg, #4f46e5 0%, #3730a3 100%);
    padding-top: max(1.5rem, env(safe-area-inset-top));
}

.sticky-nav {
    position: sticky;
    top: 0;
    z-index: 40;
}


/* The Black Background Overlay */
/* === PASTE THIS INSIDE YOUR <STYLE> TAG === */

/* The Black Background */
.modal-overlay {
  position: fixed;
  top: 0; 
  left: 0;
  width: 100%; 
  height: 100%;
  background: rgba(0, 0, 0, 0.85);
  display: none; /* Hidden by default */
  justify-content: center; 
  align-items: center;
  z-index: 9999;
}

/* The White Box */
.modal-content {
  background: white;
  padding: 40px;
  border-radius: 12px;
  text-align: center;
  max-width: 400px;
  position: relative; /* Needed for the X button */
  box-shadow: 0 10px 25px rgba(0,0,0,0.5);
}

/* The "X" Button */
.close-x {
  position: absolute;
  top: 15px; 
  right: 20px;
  font-size: 28px; 
  font-weight: bold;
  color: #aaa;
  cursor: pointer;
}
.close-x:hover { color: #000; }

/* The "Buy" Button */
.premium-btn {
  display: inline-block;
  background-color: #635bff;
  color: white;
  padding: 15px 30px;
  text-decoration: none;
  border-radius: 8px;
  font-weight: bold;
  margin-top: 20px;
}

/* The "No Thanks" Link */
.ignore-text { margin-top: 15px; font-size: 14px; }
.ignore-text a { color: #888; text-decoration: none; }
.ignore-text a:hover { color: #555; border-bottom: 1px solid #555; }
/* The "Buy" Button */
.premium-btn {
  display: inline-block;
  background-color: #635bff; /* Stripe Purple */
  color: white;
  padding: 15px 30px;
  text-decoration: none;
  border-radius: 8px;
  font-weight: bold;
  font-size: 18px;
  margin-top: 20px;
  transition: transform 0.2s;
}

.premium-btn:hover {
  transform: scale(1.05);
  background-color: #4b45c6;
}

.subtext {
  margin-top: 15px;
  font-size: 12px;
  color: #000000;
}

/* Animation */
@keyframes popIn {
  from { transform: scale(0.8); opacity: 0; }
  to { transform: scale(1); opacity: 1; }
}