/* Modern Reset & Base Styling */
:root {
  --color-primary-lavender: #B2C2E6;
  --color-text-black: #000000;
  --color-accent-beige: #E6C8B1;
  --color-soft-blue: #B1D7E6;
  --color-bright-blue: #99CCFF;
}

body {
  font-family: 'Plus Jakarta Sans', sans-serif;
  color: var(--color-text-black);
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}

/* Card aesthetics */
.card-soft {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.card-soft:hover {
  transform: translateY(-2px);
}

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.03);
}
::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.15);
  border-radius: 99px;
}
::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 0, 0, 0.3);
}

/* Tab active state styling */
.nav-tab.active {
  color: #000000 !important;
  font-weight: 800 !important;
}

/* Custom Safe Areas for Mobile Notch/Home Bar */
.pt-safe {
  padding-top: max(0.75rem, env(safe-area-inset-top));
}
.pb-safe {
  padding-bottom: max(0.5rem, env(safe-area-inset-bottom));
}

/* Button & Card Focus Visible accessibility */
button:focus-visible, input:focus-visible, select:focus-visible {
  outline: 2px solid var(--color-bright-blue);
  outline-offset: 1px;
}

/* Page entrance motion GPU optimization */
.tab-view {
  will-change: transform, opacity;
}