@tailwind base; @tailwind components; @tailwind utilities; @layer base { :root { --background: 0 0% 100%; --foreground: 20 14.3% 4.1%; --card: 0 0% 100%; --card-foreground: 20 14.3% 4.1%; --popover: 0 0% 100%; --popover-foreground: 20 14.3% 4.1%; --primary: 24 9.8% 10%; --primary-foreground: 60 9.1% 97.8%; --secondary: 60 4.8% 95.9%; --secondary-foreground: 24 9.8% 10%; --muted: 60 4.8% 95.9%; --muted-foreground: 25 5.3% 44.7%; --accent: 60 4.8% 95.9%; --accent-foreground: 24 9.8% 10%; --destructive: 0 84.2% 60.2%; --destructive-foreground: 60 9.1% 97.8%; --border: 20 5.9% 90%; --input: 20 5.9% 90%; --ring: 20 14.3% 4.1%; --radius: 1rem; --chart-1: 220 70% 50%; --chart-2: 340 75% 55%; --chart-3: 30 80% 55%; --chart-4: 280 65% 60%; --chart-5: 160 60% 45%; --chart-6: 180 50% 50%; --chart-7: 216 50% 50%; --chart-8: 252 50% 50%; --chart-9: 288 50% 50%; --chart-10: 324 50% 50%; } .dark { --background: 20 14.3% 4.1%; --foreground: 60 9.1% 97.8%; --card: 20 14.3% 4.1%; --card-foreground: 60 9.1% 97.8%; --popover: 20 14.3% 4.1%; --popover-foreground: 60 9.1% 97.8%; --primary: 60 9.1% 97.8%; --primary-foreground: 24 9.8% 10%; --secondary: 12 6.5% 15.1%; --secondary-foreground: 60 9.1% 97.8%; --muted: 12 6.5% 15.1%; --muted-foreground: 24 5.4% 63.9%; --accent: 12 6.5% 15.1%; --accent-foreground: 60 9.1% 97.8%; --destructive: 0 62.8% 30.6%; --destructive-foreground: 60 9.1% 97.8%; --border: 12 6.5% 15.1%; --input: 12 6.5% 15.1%; --ring: 24 5.7% 82.9%; --chart-1: 220 70% 50%; --chart-2: 340 75% 55%; --chart-3: 30 80% 55%; --chart-4: 280 65% 60%; --chart-5: 160 60% 45%; --chart-6: 180 50% 50%; --chart-7: 216 50% 50%; --chart-8: 252 50% 50%; --chart-9: 288 50% 50%; --chart-10: 324 50% 50%; } } @layer base { * { @apply border-border; } html { @apply scroll-smooth; } body { @apply bg-background text-foreground; /* font-feature-settings: "rlig" 1, "calt" 1; */ font-synthesis-weight: none; text-rendering: optimizeLegibility; } } @layer utilities { .step { counter-increment: step; } .step:before { @apply absolute inline-flex h-9 w-9 items-center justify-center rounded-full border-4 border-background bg-muted text-center -indent-px font-mono text-base font-medium; @apply ml-[-50px] mt-[-4px]; content: counter(step); } } @media (max-width: 640px) { .container { @apply px-4; } } ::selection { @apply bg-stone-300 dark:bg-stone-800; } .hamster-loading-wrapper { --size: 12px; height: var(--size); width: var(--size); inset: 0; z-index: 10; } .hamster-loading-wrapper[data-visible="false"] { transform-origin: center; animation: hamster-fade-out 0.2s ease forwards; } .hamster-spinner { position: relative; top: 50%; left: 50%; height: var(--size); width: var(--size); } .hamster-loading-bar { --gray11: hsl(0, 0%, 43.5%); animation: hamster-spin 0.8s linear infinite; background: var(--gray11); border-radius: 6px; height: 13%; left: -10%; position: absolute; top: -3.9%; width: 30%; } .hamster-loading-bar:nth-child(1) { animation-delay: -0.8s; transform: rotate(0deg) translate(120%); } .hamster-loading-bar:nth-child(2) { animation-delay: -0.7s; transform: rotate(45deg) translate(120%); } .hamster-loading-bar:nth-child(3) { animation-delay: -0.6s; transform: rotate(90deg) translate(120%); } .hamster-loading-bar:nth-child(4) { animation-delay: -0.5s; transform: rotate(135deg) translate(120%); } .hamster-loading-bar:nth-child(5) { animation-delay: -0.4s; transform: rotate(180deg) translate(120%); } .hamster-loading-bar:nth-child(6) { animation-delay: -0.3s; transform: rotate(225deg) translate(120%); } .hamster-loading-bar:nth-child(7) { animation-delay: -0.2s; transform: rotate(270deg) translate(120%); } .hamster-loading-bar:nth-child(8) { animation-delay: -0.1s; transform: rotate(315deg) translate(120%); } @keyframes hamster-fade-in { 0% { opacity: 0; transform: scale(0.8); } 100% { opacity: 1; transform: scale(1); } } @keyframes hamster-fade-out { 0% { opacity: 1; transform: scale(1); } 100% { opacity: 0; transform: scale(0.8); } } @keyframes hamster-spin { 0% { opacity: 1; } 100% { opacity: 0.15; } } .scrollbar-hidden { scrollbar-width: none; /* Firefox */ } .scrollbar-hidden::-webkit-scrollbar { display: none; /* Chrome, Safari 和 Opera */ }