@tailwind base;@tailwind components;@tailwind utilities;@layer base{body{font-family:Noto Sans SC,Inter,sans-serif}h1,h2,h3,h4,.serif-text{font-family:Playfair Display,serif}html{scroll-behavior:smooth}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.dark ::-webkit-scrollbar-thumb{background:#475569}}@layer utilities{.hide-scrollbar::-webkit-scrollbar{display:none}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.touch-manipulation{touch-action:manipulation}.shadow-3xl{box-shadow:0 35px 60px -15px #0000004d,0 0 0 1px #ffffff1a inset}.backdrop-blur-xl{backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.backdrop-blur-2xl{backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%)}.backdrop-blur-3xl{backdrop-filter:blur(64px) saturate(200%);-webkit-backdrop-filter:blur(64px) saturate(200%)}.backdrop-blur-md{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.backdrop-blur-sm{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.backdrop-blur-xl,.backdrop-blur-md,.backdrop-blur-sm{position:relative;isolation:isolate}.main-content{position:relative;z-index:1}.pb-safe{padding-bottom:env(safe-area-inset-bottom,0)}.pt-safe{padding-top:env(safe-area-inset-top,0)}.mb-safe{margin-bottom:env(safe-area-inset-bottom,0)}@media(orientation:landscape)and (max-height:500px){.landscape-compact{padding-top:.5rem;padding-bottom:.5rem}.landscape-hide{display:none}.landscape-smaller{font-size:.875rem}}}@layer components{.animate-gradient{background-size:200% 200%;animation:gradient 6s ease infinite}.animate-in{animation-fill-mode:both}.fade-in{animation-name:fadeIn}.slide-in-from-bottom-4{animation-name:slideInFromBottom}.slide-in-from-top{animation-name:slideInFromTop}.animated-gradient-bg{background:linear-gradient(135deg,#fb923c14,#3b82f614,#a855f714);background-size:400% 400%;animation:gradientShift 15s ease infinite}.dark .animated-gradient-bg{background:linear-gradient(135deg,#fb923c0d,#3b82f60d,#a855f70d);background-size:400% 400%}}@keyframes gradient{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromTop{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}
