@tailwind base;@tailwind components;@tailwind utilities;@layer base{html{scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}@layer components{.glassmorphic{@apply bg-white bg-opacity-10 backdrop-blur-md}.glassmorphic-strong{@apply bg-white bg-opacity-20 backdrop-blur-lg}.glassmorphic-light{@apply bg-white bg-opacity-5 backdrop-blur-sm}.apple-shadow{box-shadow:0 1px 3px rgba(0,0,0,.1),0 1px 2px rgba(0,0,0,.06)}.apple-shadow-lg{box-shadow:0 10px 25px rgba(0,0,0,.1),0 4px 6px rgba(0,0,0,.05)}.apple-shadow-xl{box-shadow:0 20px 40px rgba(0,0,0,.1),0 8px 16px rgba(0,0,0,.05)}.gradient-text{@apply bg-gradient-to-r from-purple-600 via-pink-600 to-blue-600 bg-clip-text text-transparent}.gradient-bg-primary{@apply bg-gradient-to-br from-purple-500 via-pink-500 to-blue-500}.gradient-bg-secondary{@apply bg-gradient-to-br from-blue-500 via-purple-500 to-pink-500}.smooth-transition{@apply transition-all duration-300 ease-in-out}.smooth-transition-fast{@apply transition-all duration-150 ease-in-out}.smooth-transition-slow{@apply transition-all duration-500 ease-in-out}.btn-primary{@apply px-6 py-3 bg-gradient-to-r from-purple-600 to-pink-600 text-white font-semibold rounded-xl smooth-transition hover:shadow-lg hover:scale-105 active:scale-95}.btn-secondary{@apply px-6 py-3 bg-white bg-opacity-20 text-gray-900 font-semibold rounded-xl smooth-transition hover:bg-opacity-30 hover:shadow-lg}.btn-ghost{@apply px-6 py-3 text-gray-700 font-semibold rounded-xl smooth-transition hover:bg-gray-100 hover:text-gray-900}.card{@apply glassmorphic rounded-2xl p-6 apple-shadow border border-white border-opacity-40}.card-hover{@apply card smooth-transition hover:shadow-lg hover:scale-[1.02]}.heading-1{@apply text-4xl font-bold text-gray-900}.heading-2{@apply text-3xl font-semibold text-gray-900}.heading-3{@apply text-2xl font-semibold text-gray-900}.body-large{@apply text-lg text-gray-700}.body-medium{@apply text-base text-gray-600}.body-small{@apply text-sm text-gray-500}.text-balance{text-wrap:balance}.focus-ring{@apply focus:outline-none focus:ring-2 focus:ring-purple-500 focus:ring-offset-2}.touch-target{@apply min-h-[44px] min-w-[44px]}.loading-skeleton{@apply animate-pulse bg-gray-200 rounded}.loading-spinner{@apply animate-spin rounded-full border-2 border-gray-300 border-t-purple-600}.mobile-padding{@apply px-4 sm:px-6 lg:px-8}.mobile-margin{@apply mx-4 sm:mx-6 lg:mx-8}.mobile-text{@apply text-sm sm:text-base}.mobile-heading{@apply text-xl sm:text-2xl lg:text-3xl}.sr-only{@apply absolute w-px h-px p-0 -m-px overflow-hidden whitespace-nowrap border-0}.skip-link{@apply absolute -top-10 left-4 bg-purple-600 text-white px-4 py-2 rounded z-50 focus:top-4}}@layer utilities{.line-clamp-1{-webkit-line-clamp:1}.line-clamp-1,.line-clamp-2{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2}.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.animate-fade-in{animation:fadeIn .5s ease-in-out}.animate-slide-up{animation:slideUp .5s ease-out}.animate-bounce-gentle{animation:bounceGentle 2s infinite}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes bounceGentle{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@media (prefers-color-scheme:dark){.glassmorphic{@apply bg-gray-900 bg-opacity-20}.glassmorphic-strong{@apply bg-gray-900 bg-opacity-40}.glassmorphic-light{@apply bg-gray-900 bg-opacity-10}}@media print{.no-print{display:none!important}.print-break{page-break-before:always}}@media (prefers-contrast:high){.glassmorphic{@apply bg-white bg-opacity-90}.gradient-text{@apply text-purple-900}}@media (prefers-reduced-motion:reduce){.smooth-transition,.smooth-transition-fast,.smooth-transition-slow{@apply transition-none}.animate-bounce-gentle,.animate-fade-in,.animate-slide-up{animation:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.prose{@apply text-gray-700 leading-relaxed}.prose p{@apply mb-4 leading-7}.prose br{@apply block mb-2}.prose strong{@apply font-semibold text-gray-900}.prose em{@apply italic text-gray-600}.prose a{@apply text-purple-600 hover:text-purple-700 underline transition-colors duration-200}