@tailwind base;@tailwind components;@tailwind utilities;:root{--hope-blue:#1E40AF;--hope-light-blue:#60A5FA;--hope-gold:#F59E0B;--hope-light-gold:#FCD34D;--hope-bg:#F8FAFC;--hope-dark:#0F172A}@layer base{body{@apply bg-hope-bg text-hope-dark;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{@apply font-bold}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}}@layer components{.btn-primary{@apply bg-hope-blue hover:bg-blue-700 text-white font-semibold py-2 px-6 rounded-lg transition-all duration-200 shadow-md hover:shadow-lg}.btn-secondary{@apply bg-hope-gold hover:bg-amber-600 text-white font-semibold py-2 px-6 rounded-lg transition-all duration-200 shadow-md hover:shadow-lg}.card{@apply bg-white rounded-xl shadow-lg p-6 hover:shadow-xl transition-shadow duration-200}.input-field{@apply w-full px-4 py-3 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-hope-blue focus:border-transparent}.badge{@apply inline-flex items-center px-3 py-1 rounded-full text-xs font-medium}.badge-blue{@apply bg-blue-100 text-hope-blue}.badge-gold{@apply bg-amber-100 text-hope-gold}.badge-green{@apply bg-green-100 text-green-700}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .3s ease-in-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-slide-up{animation:slideUp .4s ease-out}@keyframes typing{0%{width:0}to{width:100%}}.animate-typing{overflow:hidden;white-space:nowrap;animation:typing 2s steps(40)}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.animate-shimmer{animation:shimmer 2s infinite}.gradient-medical{background:linear-gradient(135deg,#1E40AF,#60A5FA)}.gradient-hope{background:linear-gradient(135deg,#1E40AF,#F59E0B)}.markdown-content{@apply text-gray-700 leading-relaxed}.markdown-content h1{@apply text-2xl font-bold mb-4 mt-6 text-hope-dark}.markdown-content h2{@apply text-xl font-bold mb-3 mt-5 text-hope-dark}.markdown-content h3{@apply text-lg font-semibold mb-2 mt-4 text-hope-dark}.markdown-content p{@apply mb-4}.markdown-content ol,.markdown-content ul{@apply mb-4 ml-6}.markdown-content li{@apply mb-2}.markdown-content a{@apply text-hope-blue hover:text-blue-700 underline}.markdown-content blockquote{@apply border-l-4 border-hope-gold pl-4 italic my-4 text-gray-600}.markdown-content code{@apply bg-gray-100 px-2 py-1 rounded text-sm font-mono}.markdown-content pre{@apply bg-gray-900 text-gray-100 p-4 rounded-lg overflow-x-auto mb-4}.markdown-content pre code{@apply bg-transparent px-0 py-0}.medical-term{@apply bg-gradient-to-r from-blue-100 to-cyan-100 px-1.5 py-0.5 rounded font-semibold text-hope-blue transition-all duration-200;box-shadow:0 1px 2px rgba(30,64,175,.1)}.medical-term:hover{@apply shadow-md;transform:translateY(-1px)}.medical-term-scientific{@apply bg-gradient-to-r from-purple-100 to-pink-100 px-1.5 py-0.5 rounded font-bold text-purple-700 transition-all duration-200;font-family:Courier New,monospace;box-shadow:0 1px 2px rgba(147,51,234,.1)}.medical-term-scientific:hover{@apply shadow-md;transform:translateY(-1px)}.medical-term-pioneer{@apply bg-gradient-to-r from-amber-100 to-orange-100 px-1.5 py-0.5 rounded font-semibold text-hope-gold transition-all duration-200;box-shadow:0 1px 2px rgba(245,158,11,.1)}.medical-term-pioneer:hover{@apply shadow-md;transform:translateY(-1px)}.citation-ref{@apply text-hope-blue font-bold text-xs ml-0.5 cursor-pointer hover:underline}.persona-signature{@apply text-right italic text-gray-600 mt-6 pt-4 border-t border-gray-200;font-size:.95rem}.persona-avatar-in-answer{@apply w-10 h-10 bg-gradient-medical rounded-full flex items-center justify-center text-white font-bold flex-shrink-0 border-2 border-hope-blue shadow-md;transition:all .3s ease}.persona-avatar-in-answer:hover{@apply shadow-xl;transform:scale(1.05) rotate(5deg)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-float{animation:float 3s ease-in-out infinite}@keyframes gradient-x{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.animate-gradient-x{background-size:200% 200%;animation:gradient-x 3s ease infinite}