Spaces:
Runtime error
Runtime error
| @import url('https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap'); | |
| @tailwind base; | |
| @tailwind components; | |
| @tailwind utilities; | |
| /* RepoAgent — academic research aesthetic. | |
| Warm paper background, deep ink foreground, subtle scholarly accents. | |
| All colors HSL. */ | |
| @layer base { | |
| :root { | |
| --background: 40 30% 97%; | |
| --foreground: 220 25% 12%; | |
| --card: 40 35% 99%; | |
| --card-foreground: 220 25% 12%; | |
| --popover: 40 35% 99%; | |
| --popover-foreground: 220 25% 12%; | |
| /* Deep scholarly ink */ | |
| --primary: 220 35% 15%; | |
| --primary-foreground: 40 30% 97%; | |
| /* Warm parchment */ | |
| --secondary: 38 25% 92%; | |
| --secondary-foreground: 220 30% 18%; | |
| --muted: 38 20% 93%; | |
| --muted-foreground: 220 10% 42%; | |
| /* Burgundy academic accent */ | |
| --accent: 355 55% 38%; | |
| --accent-foreground: 40 30% 97%; | |
| --success: 142 45% 35%; | |
| --success-foreground: 40 30% 97%; | |
| --warning: 35 85% 48%; | |
| --warning-foreground: 220 25% 12%; | |
| --destructive: 0 65% 45%; | |
| --destructive-foreground: 40 30% 97%; | |
| --border: 35 20% 85%; | |
| --input: 35 20% 88%; | |
| --ring: 355 55% 38%; | |
| --radius: 0.375rem; | |
| /* Gradients */ | |
| --gradient-paper: linear-gradient(180deg, hsl(40 35% 98%) 0%, hsl(38 25% 94%) 100%); | |
| --gradient-ink: linear-gradient(135deg, hsl(220 35% 15%) 0%, hsl(220 30% 22%) 100%); | |
| --gradient-accent: linear-gradient(135deg, hsl(355 55% 38%) 0%, hsl(15 60% 45%) 100%); | |
| --gradient-glow: radial-gradient(ellipse at top, hsl(355 55% 38% / 0.08), transparent 60%); | |
| /* Shadows — soft, paper-like */ | |
| --shadow-paper: 0 1px 2px hsl(220 25% 12% / 0.04), 0 4px 16px hsl(220 25% 12% / 0.04); | |
| --shadow-elevated: 0 2px 4px hsl(220 25% 12% / 0.06), 0 12px 32px hsl(220 25% 12% / 0.08); | |
| --shadow-deep: 0 4px 8px hsl(220 25% 12% / 0.08), 0 24px 48px hsl(220 25% 12% / 0.12); | |
| /* Transitions */ | |
| --transition-smooth: cubic-bezier(0.32, 0.72, 0, 1); | |
| --sidebar-background: 40 30% 97%; | |
| --sidebar-foreground: 220 25% 12%; | |
| --sidebar-primary: 220 35% 15%; | |
| --sidebar-primary-foreground: 40 30% 97%; | |
| --sidebar-accent: 38 25% 92%; | |
| --sidebar-accent-foreground: 220 30% 18%; | |
| --sidebar-border: 35 20% 85%; | |
| --sidebar-ring: 355 55% 38%; | |
| } | |
| .dark { | |
| --background: 220 25% 8%; | |
| --foreground: 40 25% 92%; | |
| --card: 220 25% 10%; | |
| --card-foreground: 40 25% 92%; | |
| --popover: 220 25% 10%; | |
| --popover-foreground: 40 25% 92%; | |
| --primary: 40 25% 92%; | |
| --primary-foreground: 220 25% 8%; | |
| --secondary: 220 20% 16%; | |
| --secondary-foreground: 40 25% 92%; | |
| --muted: 220 20% 16%; | |
| --muted-foreground: 40 10% 65%; | |
| --accent: 355 60% 55%; | |
| --accent-foreground: 40 25% 92%; | |
| --destructive: 0 65% 50%; | |
| --destructive-foreground: 40 25% 92%; | |
| --border: 220 20% 18%; | |
| --input: 220 20% 18%; | |
| --ring: 355 60% 55%; | |
| } | |
| } | |
| @layer base { | |
| * { | |
| @apply border-border; | |
| } | |
| html { | |
| font-family: 'Inter', system-ui, sans-serif; | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| } | |
| body { | |
| @apply bg-background text-foreground; | |
| background-image: | |
| var(--gradient-glow), | |
| radial-gradient(circle at 1px 1px, hsl(220 25% 12% / 0.025) 1px, transparent 0); | |
| background-size: 100% 100%, 24px 24px; | |
| background-attachment: fixed; | |
| } | |
| .font-serif { | |
| font-family: 'Instrument Serif', 'Georgia', serif; | |
| font-feature-settings: 'liga', 'dlig'; | |
| } | |
| .font-mono { | |
| font-family: 'JetBrains Mono', ui-monospace, monospace; | |
| } | |
| } | |
| @layer utilities { | |
| .bg-paper { background: var(--gradient-paper); } | |
| .bg-ink { background: var(--gradient-ink); } | |
| .bg-accent-gradient { background: var(--gradient-accent); } | |
| .shadow-paper { box-shadow: var(--shadow-paper); } | |
| .shadow-elevated { box-shadow: var(--shadow-elevated); } | |
| .shadow-deep { box-shadow: var(--shadow-deep); } | |
| .transition-smooth { transition: all 0.4s var(--transition-smooth); } | |
| .text-balance { text-wrap: balance; } | |
| /* Paper texture border */ | |
| .paper-edge { | |
| position: relative; | |
| } | |
| .paper-edge::before { | |
| content: ''; | |
| position: absolute; | |
| inset: 0; | |
| border-radius: inherit; | |
| padding: 1px; | |
| background: linear-gradient(180deg, hsl(35 20% 80%), hsl(35 20% 90%)); | |
| -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); | |
| -webkit-mask-composite: xor; | |
| mask-composite: exclude; | |
| pointer-events: none; | |
| } | |
| } | |
| @layer base { | |
| @keyframes fade-up { | |
| from { opacity: 0; transform: translateY(12px); } | |
| to { opacity: 1; transform: translateY(0); } | |
| } | |
| @keyframes fade-in { | |
| from { opacity: 0; } | |
| to { opacity: 1; } | |
| } | |
| @keyframes scale-in { | |
| from { opacity: 0; transform: scale(0.96); } | |
| to { opacity: 1; transform: scale(1); } | |
| } | |
| @keyframes pulse-soft { | |
| 0%, 100% { opacity: 1; } | |
| 50% { opacity: 0.5; } | |
| } | |
| @keyframes shimmer { | |
| 0% { background-position: -200% 0; } | |
| 100% { background-position: 200% 0; } | |
| } | |
| @keyframes blink { | |
| 0%, 100% { opacity: 1; } | |
| 50% { opacity: 0; } | |
| } | |
| } | |
| @layer utilities { | |
| .animate-fade-up { animation: fade-up 0.6s var(--transition-smooth) both; } | |
| .animate-fade-in { animation: fade-in 0.5s ease-out both; } | |
| .animate-scale-in { animation: scale-in 0.4s var(--transition-smooth) both; } | |
| .animate-pulse-soft { animation: pulse-soft 2s ease-in-out infinite; } | |
| .animate-blink { animation: blink 1s step-end infinite; } | |
| } | |