File size: 3,380 Bytes
ea5b3f9
 
 
 
bbff783
 
 
 
 
ea5b3f9
bbff783
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ea5b3f9
 
bbff783
ea5b3f9
bbff783
 
 
 
 
 
 
 
 
 
ea5b3f9
 
 
 
 
 
bbff783
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6844c91
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
@tailwind base;
@tailwind components;
@tailwind utilities;

/* Smooth scrolling */
html {
  scroll-behavior: smooth;
}

:root {
  /* Light Pastel Brown Theme */
  --light-bg-primary: #F7F3F0;
  --light-bg-secondary: #F0E6D6;
  --light-bg-tertiary: #E8DDD0;
  --light-text-primary: #3C2E26;
  --light-text-secondary: #5D4E42;
  --light-text-muted: #8B7355;
  --light-accent: #D4A574;
  --light-accent-hover: #C69963;
  --light-border: #DDD0BB;
  --light-shadow: rgba(60, 46, 38, 0.1);

  /* Dark Pastel Brown Theme */
  --dark-bg-primary: #1F1B17;
  --dark-bg-secondary: #2A241E;
  --dark-bg-tertiary: #342D25;
  --dark-text-primary: #F5F1EC;
  --dark-text-secondary: #E0D5C7;
  --dark-text-muted: #B8A690;
  --dark-accent: #D4A574;
  --dark-accent-hover: #E6B885;
  --dark-border: #3F362B;
  --dark-shadow: rgba(0, 0, 0, 0.3);

  /* Default to dark theme */
  --background: var(--dark-bg-primary);
  --background-secondary: var(--dark-bg-secondary);
  --background-tertiary: var(--dark-bg-tertiary);
  --foreground: var(--dark-text-primary);
  --foreground-secondary: var(--dark-text-secondary);
  --foreground-muted: var(--dark-text-muted);
  --accent: var(--dark-accent);
  --accent-hover: var(--dark-accent-hover);
  --border: var(--dark-border);
  --shadow: var(--dark-shadow);
}

@media (prefers-color-scheme: light) {
  :root {
    --background: var(--light-bg-primary);
    --background-secondary: var(--light-bg-secondary);
    --background-tertiary: var(--light-bg-tertiary);
    --foreground: var(--light-text-primary);
    --foreground-secondary: var(--light-text-secondary);
    --foreground-muted: var(--light-text-muted);
    --accent: var(--light-accent);
    --accent-hover: var(--light-accent-hover);
    --border: var(--light-border);
    --shadow: var(--light-shadow);
  }
}

body {
  color: var(--foreground);
  background: var(--background);
  font-family: var(--font-bricolage-grotesque), -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Custom scrollbar */
::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: var(--background-secondary);
}

::-webkit-scrollbar-thumb {
  background: var(--border);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--accent);
}

/* Selection color */
::selection {
  background: var(--accent);
  color: var(--background);
}

/* Focus styles */
*:focus {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

/* Smooth transitions for theme changes */
* {
  transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}

/* Performance optimizations */
.will-change-transform {
  will-change: transform;
}

.will-change-opacity {
  will-change: opacity;
}

/* Glass morphism effect */
.glass {
  background: rgba(212, 165, 116, 0.1);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(212, 165, 116, 0.2);
}

/* Gradient backgrounds */
.gradient-bg {
  background: linear-gradient(135deg, var(--background) 0%, var(--background-secondary) 100%);
}

.gradient-text {
  background: linear-gradient(135deg, var(--accent) 0%, var(--accent-hover) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}