:root {
  --mentis-bg: #F9F9F7;
  --mentis-surface: #FFFFFF;
  --mentis-dark: #121316;
  --mentis-accent: #9A7B56;
  --mentis-accent-light: #F6F2EC;
  --mentis-border: #E8E8E2;
}

body {
  background-color: var(--mentis-bg);
  font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  color: #141518;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.font-serif-luxury { font-family: 'Playfair Display', Georgia, serif; }
.text-balance { text-wrap: balance; }

.mentis-card {
  background: var(--mentis-surface);
  border-radius: 32px;
  border: 1px solid var(--mentis-border);
  box-shadow: 0 10px 30px -5px rgba(18, 19, 22, 0.04);
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.mentis-card:hover {
  box-shadow: 0 14px 35px -5px rgba(18, 19, 22, 0.06);
}

.glass-pill {
  background: rgba(18, 19, 22, 0.65);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.topic-pill:checked + label { 
  background-color: var(--mentis-dark); 
  color: #FFFFFF; 
  border-color: var(--mentis-dark); 
  font-weight: 600; 
  box-shadow: 0 4px 12px rgba(18, 19, 22, 0.15);
}

.day-pill:checked + label { 
  background-color: #121316; 
  color: #ffffff; 
  border-color: #121316; 
  box-shadow: 0 4px 12px rgba(18, 19, 22, 0.15);
}

.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

.shorts-container {
  scroll-snap-type: y mandatory;
  overscroll-behavior-y: contain;
  scroll-behavior: smooth;
  height: 100% !important;
}

.shorts-slide {
  scroll-snap-align: start;
  scroll-snap-stop: always;
  height: 100% !important;
  min-height: 100% !important;
  max-height: 100% !important;
}

.journal-slide {
  scroll-snap-align: start;
  scroll-snap-stop: always;
  height: 100% !important;
  min-height: 100% !important;
  max-height: 100% !important;
}

@keyframes heartBeat {
  0% { transform: scale(0); opacity: 0; }
  50% { transform: scale(1.3); opacity: 0.95; }
  100% { transform: scale(1); opacity: 0; }
}
.heart-animate { animation: heartBeat 0.8s ease-out forwards; }