@tailwind base;@tailwind components;@tailwind utilities;:root{--color-primary: #818cf8;--color-secondary: #27272a;--color-accent: #3730a3;--color-background: #09090b;--color-surface: #18181b;--color-text-main: #f4f4f5;--color-text-muted: #a1a1aa;--color-text-invert: #000000;--color-success: #4ade80;--color-warning: #facc15;--color-error: #f87171;--color-info: #60a5fa}[data-theme=startup]{--color-primary: #7c3aed;--color-background: #faf5ff;--color-text-main: #2e1065;--color-accent: #ddd6fe}[data-theme=public]{--color-primary: #0369a1;--color-background: #f0f9ff;--color-surface: #ffffff;--color-text-main: #0c4a6e;--color-text-muted: #64748b;--color-text-invert: #ffffff;--color-success: #15803d;--color-error: #b91c1c;--color-accent: #bae6fd}body{font-family:-apple-system,BlinkMacSystemFont,Inter,sans-serif;background-color:var(--color-background);color:var(--color-text-main);overflow:hidden;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}@media print{body{display:none!important}}.serif{font-family:Lora,serif;font-family:New York,Lora,serif}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}@keyframes vibrance{0%,to{transform:scale(1);filter:brightness(1) saturate(1)}50%{transform:scale(1.02);filter:brightness(1.05) saturate(1.1);box-shadow:0 0 30px #6366f133}}.animate-vibrance{animation:vibrance 2s infinite ease-in-out}@keyframes blob{0%{transform:translate(0) scale(1)}33%{transform:translate(30px,-50px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.9)}to{transform:translate(0) scale(1)}}.animate-blob{animation:blob 10s infinite}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-2px) rotate(-2deg)}75%{transform:translate(2px) rotate(2deg)}}.animate-shake{animation:shake .4s ease-in-out infinite}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:fadeIn .5s ease-out forwards}@keyframes heartbeat{0%{transform:scale(1);filter:drop-shadow(0 0 0 rgba(239,68,68,0))}50%{transform:scale(1.02);filter:drop-shadow(0 0 10px rgba(239,68,68,.5))}to{transform:scale(1);filter:drop-shadow(0 0 0 rgba(239,68,68,0))}}.animate-heartbeat{animation:heartbeat 1.5s infinite ease-in-out}@keyframes flyUp{0%{transform:translate(-50%) scale(1);opacity:1}to{transform:translate(-50%,-100px) scale(.5);opacity:0;border-color:transparent;background:transparent}}.animate-fly-up{animation:flyUp .8s ease-out forwards}@keyframes swipeHint{0%,10%{transform:translate(-50%,-50%) rotate(0);opacity:1}20%{transform:translate(calc(-50% + 80px),-50%) rotate(15deg);opacity:1}30%{transform:translate(-50%,-50%) rotate(0);opacity:1}45%{transform:translate(calc(-50% - 80px),-50%) rotate(-15deg);opacity:1}55%{transform:translate(-50%,-50%) rotate(0);opacity:1}70%{transform:translate(-50%,calc(-50% + 40px)) rotate(0);opacity:1}80%{transform:translate(-50%,-50%) rotate(0);opacity:1}85%{transform:translate(-50%,-50%) rotate(0);opacity:0}95%{transform:translate(-50%,-50%) rotate(0);opacity:0}to{transform:translate(-50%,-50%) rotate(0);opacity:1}}.animate-swipe-hint{animation:swipeHint 4s ease-in-out infinite}@keyframes popInElastic{0%{transform:scale(0) rotate(-45deg);opacity:0}70%{transform:scale(1.2) rotate(5deg);opacity:1}85%{transform:scale(.9) rotate(-2deg)}to{transform:scale(1) rotate(0)}}.animate-pop-in-elastic{animation:popInElastic .8s cubic-bezier(.175,.885,.32,1.275) forwards}@keyframes spinSlow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin-slow{animation:spinSlow 8s linear infinite}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}.animate-shimmer{background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);background-size:200% 100%;animation:shimmer 2s infinite linear}@keyframes raysRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-rays{animation:raysRotate 20s linear infinite}@keyframes glitch{0%{transform:translate(0)}20%{transform:translate(-2px,2px)}40%{transform:translate(-2px,-2px)}60%{transform:translate(2px,2px)}80%{transform:translate(2px,-2px)}to{transform:translate(0)}}.animate-glitch{animation:glitch .3s cubic-bezier(.25,.46,.45,.94) both infinite}@keyframes pulseSlow{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.animate-pulse-slow{animation:pulseSlow 3s cubic-bezier(.4,0,.6,1) infinite}@keyframes swipeRightGesture{0%{transform:translate(-10px);opacity:0}20%{opacity:1}80%{opacity:1}to{transform:translate(25px);opacity:0}}.animate-swipe-right{animation:swipeRightGesture 1.5s ease-in-out infinite}
