| @import "tailwindcss"; |
| @import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&family=Syne:wght@400;500;600;700;800&family=Space+Mono:wght@400;700&display=swap'); |
|
|
| |
| |
| |
| |
| |
| |
| |
|
|
| |
| :root { |
| |
| --background: #FAFAF8; |
| --foreground: #0D0D0D; |
| --card: #FFFFFF; |
| --card-foreground: #0D0D0D; |
| --muted: #F0EDE6; |
| --muted-foreground: #4A4A4A; |
|
|
| |
| --primary: #FFD000; |
| --primary-foreground: #000000; |
| --secondary: #E63946; |
| --secondary-foreground: #FFFFFF; |
| --accent: #C0FF00; |
| --accent-foreground: #000000; |
| --tertiary: #4ECDC4; |
| --tertiary-foreground: #000000; |
| --pop: #6C5CE7; |
| --pop-foreground: #FFFFFF; |
|
|
| |
| --border: #000000; |
| --input: #FFFFFF; |
| --ring: #000000; |
| --destructive: #E63946; |
| --success: #00B37E; |
| --warning: #FFB347; |
|
|
| |
| --shadow-color: #000000; |
| --neo-xs: 2px 2px 0px 0px var(--shadow-color); |
| --neo-sm: 3px 3px 0px 0px var(--shadow-color); |
| --neo: 4px 4px 0px 0px var(--shadow-color); |
| --neo-md: 5px 5px 0px 0px var(--shadow-color); |
| --neo-lg: 6px 6px 0px 0px var(--shadow-color); |
| --neo-xl: 8px 8px 0px 0px var(--shadow-color); |
| } |
|
|
| |
| .dark { |
| --background: #0F0F0F; |
| --foreground: #F5F5F3; |
| --card: #1A1A1A; |
| --card-foreground: #F5F5F3; |
| --muted: #252525; |
| --muted-foreground: #A0A0A0; |
| --input: #1A1A1A; |
| --border: #E0E0E0; |
| --ring: #FFFFFF; |
| --shadow-color: #E0E0E0; |
|
|
| |
| --tertiary: #00FFDD; |
| --accent: #BFFF00; |
|
|
| |
| --neo-xs: 2px 2px 0px 0px var(--shadow-color); |
| --neo-sm: 3px 3px 0px 0px var(--shadow-color); |
| --neo: 4px 4px 0px 0px var(--shadow-color); |
| --neo-md: 5px 5px 0px 0px var(--shadow-color); |
| --neo-lg: 6px 6px 0px 0px var(--shadow-color); |
| --neo-xl: 8px 8px 0px 0px var(--shadow-color); |
| } |
|
|
| |
| @theme inline { |
| --font-display: 'Syne', sans-serif; |
| --font-body: 'Space Grotesk', sans-serif; |
| --font-mono: 'Space Mono', monospace; |
|
|
| --color-background: var(--background); |
| --color-foreground: var(--foreground); |
| --color-card: var(--card); |
| --color-card-foreground: var(--card-foreground); |
| --color-muted: var(--muted); |
| --color-muted-foreground: var(--muted-foreground); |
| --color-primary: var(--primary); |
| --color-primary-foreground: var(--primary-foreground); |
| --color-secondary: var(--secondary); |
| --color-secondary-foreground: var(--secondary-foreground); |
| --color-accent: var(--accent); |
| --color-accent-foreground: var(--accent-foreground); |
| --color-border: var(--border); |
| --color-input: var(--input); |
| --color-ring: var(--ring); |
| --color-destructive: var(--destructive); |
|
|
| --radius: 0px; |
| --radius-sm: 0px; |
| --radius-md: 2px; |
| --radius-lg: 4px; |
| } |
|
|
| |
| @layer base { |
| * { |
| border-color: var(--border); |
| } |
| body { |
| background-color: var(--background); |
| color: var(--foreground); |
| font-family: var(--font-body); |
| -webkit-font-smoothing: antialiased; |
| } |
| h1, h2, h3, h4, h5, h6 { |
| font-family: var(--font-display); |
| font-weight: 800; |
| letter-spacing: -0.03em; |
| line-height: 0.92; |
| } |
| input, textarea, select { |
| border: 2px solid var(--border); |
| background: var(--input); |
| color: var(--foreground); |
| padding: 0.75rem 1rem; |
| font-weight: 500; |
| font-family: var(--font-body); |
| border-radius: 0; |
| box-shadow: var(--neo-xs); |
| transition: box-shadow 0.15s ease, transform 0.15s ease; |
| } |
| input:focus, textarea:focus, select:focus { |
| outline: none; |
| transform: translate(-1px, -1px); |
| box-shadow: var(--neo-sm); |
| } |
| input::placeholder, textarea::placeholder { |
| color: var(--muted-foreground); |
| } |
| } |
|
|
| |
| @layer utilities { |
| .neo-border { border: 2px solid var(--border); } |
| .neo-border-thick { border: 3px solid var(--border); } |
|
|
| .neo-shadow { box-shadow: var(--neo); } |
| .neo-shadow-sm { box-shadow: var(--neo-sm); } |
| .neo-shadow-lg { box-shadow: var(--neo-lg); } |
| .neo-shadow-xl { box-shadow: var(--neo-xl); } |
|
|
| .neo-interactive { |
| border: 2px solid var(--border); |
| box-shadow: var(--neo); |
| transition: transform 0.15s cubic-bezier(0.4,0,0.2,1), box-shadow 0.15s cubic-bezier(0.4,0,0.2,1); |
| cursor: pointer; |
| } |
| .neo-interactive:hover { |
| transform: translate(-2px, -2px); |
| box-shadow: var(--neo-lg); |
| } |
| .neo-interactive:active { |
| transform: translate(3px, 3px); |
| box-shadow: 0 0 0 0 var(--shadow-color); |
| } |
|
|
| .neo-card { |
| border: 2px solid var(--border); |
| box-shadow: var(--neo-md); |
| background: var(--card); |
| color: var(--card-foreground); |
| transition: transform 0.2s cubic-bezier(0.4,0,0.2,1), box-shadow 0.2s cubic-bezier(0.4,0,0.2,1); |
| } |
| .neo-card:hover { |
| transform: translate(-3px, -3px); |
| box-shadow: var(--neo-xl); |
| } |
|
|
| .neo-btn { |
| border: 2px solid var(--border); |
| box-shadow: var(--neo); |
| font-weight: 700; |
| font-family: var(--font-body); |
| text-transform: uppercase; |
| letter-spacing: 0.04em; |
| padding: 0.75rem 1.5rem; |
| transition: transform 0.12s cubic-bezier(0.4,0,0.2,1), box-shadow 0.12s cubic-bezier(0.4,0,0.2,1); |
| cursor: pointer; |
| display: inline-flex; |
| align-items: center; |
| justify-content: center; |
| gap: 0.5rem; |
| } |
| .neo-btn:hover { |
| transform: translate(-2px, -2px); |
| box-shadow: var(--neo-lg); |
| } |
| .neo-btn:active { |
| transform: translate(3px, 3px); |
| box-shadow: 0 0 0 0 var(--shadow-color); |
| } |
| .neo-btn:disabled { |
| opacity: 0.5; |
| cursor: not-allowed; |
| transform: none !important; |
| box-shadow: var(--neo-xs) !important; |
| } |
|
|
| .neo-badge { |
| border: 2px solid var(--border); |
| font-weight: 700; |
| font-size: 0.7rem; |
| padding: 3px 10px; |
| text-transform: uppercase; |
| letter-spacing: 0.06em; |
| display: inline-flex; |
| align-items: center; |
| gap: 4px; |
| } |
|
|
| .neo-outline-text { |
| color: transparent; |
| -webkit-text-stroke: 2px var(--border); |
| font-family: var(--font-display); |
| font-weight: 800; |
| } |
|
|
| .neo-terminal { |
| font-family: var(--font-mono); |
| font-size: 0.75rem; |
| letter-spacing: 0.1em; |
| text-transform: uppercase; |
| padding: 0.4rem 0.8rem; |
| background: var(--foreground); |
| color: var(--accent); |
| border: 2px solid var(--border); |
| } |
|
|
| @keyframes marquee { |
| 0% { transform: translateX(0%); } |
| 100% { transform: translateX(-50%); } |
| } |
| .animate-marquee { animation: marquee 25s linear infinite; } |
|
|
| @keyframes float { |
| 0%, 100% { transform: translateY(0px); } |
| 50% { transform: translateY(-8px); } |
| } |
| .animate-float { animation: float 3s ease-in-out infinite; } |
|
|
| @keyframes wiggle { |
| 0%, 100% { transform: rotate(0deg); } |
| 25% { transform: rotate(-2deg); } |
| 75% { transform: rotate(2deg); } |
| } |
| .hover\:animate-wiggle:hover { animation: wiggle 0.3s ease-in-out; } |
|
|
| .neo-tilt-1 { transform: rotate(-0.8deg); } |
| .neo-tilt-2 { transform: rotate(0.6deg); } |
| .neo-tilt-3 { transform: rotate(-0.4deg); } |
| } |
|
|
| |
| ::-webkit-scrollbar { width: 10px; } |
| ::-webkit-scrollbar-track { background: var(--muted); border-left: 2px solid var(--border); } |
| ::-webkit-scrollbar-thumb { background: var(--primary); border: 2px solid var(--border); } |
| ::-webkit-scrollbar-thumb:hover { background: var(--secondary); } |
|
|
| |
| ::selection { background: var(--primary); color: #000; } |
|
|