@tailwind base; @tailwind components; @tailwind utilities; @layer base { :root { --background: 0 0% 100%; --foreground: 0 0% 3.9%; --card: 0 0% 100%; --card-foreground: 0 0% 3.9%; --popover: 0 0% 100%; --popover-foreground: 0 0% 3.9%; --primary: 0 0% 9%; --primary-foreground: 0 0% 98%; --secondary: 0 0% 96.1%; --secondary-foreground: 0 0% 9%; --muted: 0 0% 96.1%; --muted-foreground: 0 0% 45.1%; --accent: 0 0% 96.1%; --accent-foreground: 0 0% 9%; --destructive: 0 84.2% 60.2%; --destructive-foreground: 0 0% 98%; --border: 0 0% 89.8%; --input: 0 0% 89.8%; --ring: 0 0% 3.9%; --chart-1: 12 76% 61%; --chart-2: 173 58% 39%; --chart-3: 197 37% 24%; --chart-4: 43 74% 66%; --chart-5: 27 87% 67%; --radius: 0.5rem; --sidebar-background: 0 0% 98%; --sidebar-foreground: 240 5.3% 26.1%; --sidebar-primary: 240 5.9% 10%; --sidebar-primary-foreground: 0 0% 98%; --sidebar-accent: 240 4.8% 95.9%; --sidebar-accent-foreground: 240 5.9% 10%; --sidebar-border: 220 13% 91%; --sidebar-ring: 217.2 91.2% 59.8%; } .dark { --background: 0 0% 3.9%; --foreground: 0 0% 98%; --card: 0 0% 3.9%; --card-foreground: 0 0% 98%; --popover: 0 0% 3.9%; --popover-foreground: 0 0% 98%; --primary: 220 50% 80%; --primary-foreground: 0 0% 9%; --secondary: 0 0% 14.9%; --secondary-foreground: 0 0% 98%; --muted: 0 0% 14.9%; --muted-foreground: 0 0% 63.9%; --accent: 0 0% 14.9%; --accent-foreground: 0 0% 98%; --destructive: 0 62.8% 30.6%; --destructive-foreground: 0 0% 98%; --border: 0 0% 14.9%; --input: 0 0% 14.9%; --ring: 0 0% 83.1%; --chart-1: 220 70% 50%; --chart-2: 160 60% 45%; --chart-3: 30 80% 55%; --chart-4: 280 65% 60%; --chart-5: 340 75% 55%; --sidebar-background: 240 5.9% 10%; --sidebar-foreground: 240 4.8% 95.9%; --sidebar-primary: 224.3 76.3% 48%; --sidebar-primary-foreground: 0 0% 100%; --sidebar-accent: 240 3.7% 15.9%; --sidebar-accent-foreground: 240 4.8% 95.9%; --sidebar-border: 240 3.7% 15.9%; --sidebar-ring: 217.2 91.2% 59.8%; } } @layer base { * { @apply border-border; } body { @apply bg-background text-foreground; } } .loader { position: relative; width: 54px; height: 54px; border-radius: 10px; } .loader div { width: 8%; height: 24%; background: rgb(128, 128, 128); position: absolute; left: 50%; top: 30%; opacity: 0; border-radius: 50px; box-shadow: 0 0 3px rgba(0, 0, 0, 0.2); animation: fade458 1s linear infinite; } @keyframes fade458 { from { opacity: 1; } to { opacity: 0.25; } } .loader .bar1 { transform: rotate(0deg) translate(0, -130%); animation-delay: 0s; } .loader .bar2 { transform: rotate(30deg) translate(0, -130%); animation-delay: -1.1s; } .loader .bar3 { transform: rotate(60deg) translate(0, -130%); animation-delay: -1s; } .loader .bar4 { transform: rotate(90deg) translate(0, -130%); animation-delay: -0.9s; } .loader .bar5 { transform: rotate(120deg) translate(0, -130%); animation-delay: -0.8s; } .loader .bar6 { transform: rotate(150deg) translate(0, -130%); animation-delay: -0.7s; } .loader .bar7 { transform: rotate(180deg) translate(0, -130%); animation-delay: -0.6s; } .loader .bar8 { transform: rotate(210deg) translate(0, -130%); animation-delay: -0.5s; } .loader .bar9 { transform: rotate(240deg) translate(0, -130%); animation-delay: -0.4s; } .loader .bar10 { transform: rotate(270deg) translate(0, -130%); animation-delay: -0.3s; } .loader .bar11 { transform: rotate(300deg) translate(0, -130%); animation-delay: -0.2s; } .loader .bar12 { transform: rotate(330deg) translate(0, -130%); animation-delay: -0.1s; } @keyframes blink { 0% { filter: opacity(100%); } 30% { filter: opacity(100%); } 50% { filter: opacity(10%); } 80% { filter: opacity(10%); } 100% { filter: opacity(100%); } } .animate-blink { animation: blink 1s infinite; } .scrollbar-hide { -ms-overflow-style: none; /* IE and Edge */ scrollbar-width: none; /* Firefox */ } .scrollbar-hide::-webkit-scrollbar { display: none; /* Chrome, Safari, and Opera */ } * { text-decoration-line: none !important; } @keyframes flip { 0% { transform: rotateX(0); } 50% { transform: rotateX(90deg); } 100% { transform: rotateX(0); } } @keyframes bounce { 0%, 20% { transform: translateY(0); } 40% { transform: translateY(-20px); } 50% { transform: translateY(-15px); } 60% { transform: translateY(-25px); } 80% { transform: translateY(0); } } @keyframes shake { 0%, 100% { transform: translateX(0); } 10%, 30%, 50%, 70%, 90% { transform: translateX(-5px); } 20%, 40%, 60%, 80% { transform: translateX(5px); } } @keyframes pop { 0% { transform: scale(1); } 50% { transform: scale(1.1); } 100% { transform: scale(1); } } .tile-flip { animation: flip 0.6s ease-in-out; } .tile-bounce { animation: bounce 0.6s ease-in-out; } .shake { animation: shake 0.6s ease-in-out; } .tile-pop { animation: pop 0.15s ease-in-out; } .tile { position: relative; } .key { user-select: none; -webkit-tap-highlight-color: transparent; }