Download frontend/src/app/globals.css from anky2002/best: direct link, hf CLI and curl.
- Browser
- Download file 7.88 kB
-
https://huggingface.co/anky2002/best/resolve/main/frontend/src/app/globals.css
- Command line
-
hf download hf://anky2002/best/frontend/src/app/globals.css
-
curl -L -o globals.css https://huggingface.co/anky2002/best/resolve/main/frontend/src/app/globals.css
7.88 kB
| @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'); | |
| /* ============================================================ | |
| NEO-BRUTALISM DESIGN SYSTEM โ JOBPORTAL 2026 | |
| Dark mode strategy: ALL mutable colors defined as CSS vars | |
| on :root and .dark โ NOT inside @theme (which is static). | |
| Tailwind v4 reads CSS vars via @theme reference only. | |
| ============================================================ */ | |
| /* ===== STEP 1: Light mode colors on :root ===== */ | |
| :root { | |
| /* Surfaces */ | |
| --background: #FAFAF8; | |
| --foreground: #0D0D0D; | |
| --card: #FFFFFF; | |
| --card-foreground: #0D0D0D; | |
| --muted: #F0EDE6; | |
| --muted-foreground: #4A4A4A; | |
| /* Brand accents */ | |
| --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; | |
| /* System */ | |
| --border: #000000; | |
| --input: #FFFFFF; | |
| --ring: #000000; | |
| --destructive: #E63946; | |
| --success: #00B37E; | |
| --warning: #FFB347; | |
| /* Neo shadows */ | |
| --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); | |
| } | |
| /* ===== STEP 2: Dark mode overrides ===== */ | |
| .dark { | |
| --background: #0F0F0F; | |
| --foreground: #F5F5F3; | |
| --card: #1A1A1A; | |
| --card-foreground: #F5F5F3; | |
| --muted: #252525; | |
| --muted-foreground: #A0A0A0; | |
| --input: #1A1A1A; | |
| --border: #E0E0E0; | |
| --ring: #FFFFFF; | |
| --shadow-color: #E0E0E0; | |
| /* Accents get slightly boosted for dark */ | |
| --tertiary: #00FFDD; | |
| --accent: #BFFF00; | |
| /* Shadows recalculate automatically via --shadow-color */ | |
| --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); | |
| } | |
| /* ===== STEP 3: Tell Tailwind v4 to USE these CSS vars ===== */ | |
| @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; | |
| } | |
| /* ===== BASE STYLES ===== */ | |
| @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); | |
| } | |
| } | |
| /* ===== NEO-BRUTALISM UTILITIES ===== */ | |
| @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 ; | |
| box-shadow: var(--neo-xs) ; | |
| } | |
| .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); } | |
| } | |
| /* Scrollbar */ | |
| ::-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 */ | |
| ::selection { background: var(--primary); color: #000; } | |