index.css

  1:root {
  2  /* Dark mode colors - charmtone dark palette */
  3  --bg: #201f26;
  4  --bg-secondary: #2d2c35;
  5  --text: #fffaf1;
  6  --text-muted: #858392;
  7
  8  /* Charmtone colors (global - same in both light and dark modes) */
  9  --charple: #6b50ff;
 10  --cherry: #ff388b;
 11  --julep: #00ffb2;
 12  --urchin: #c337e0;
 13  --butter: #fffaf1;
 14  --squid: #858392;
 15  --pepper: #201f26;
 16  --iron: #4d4c57;
 17  --tuna: #ff6daa;
 18  --uni: #ff937d;
 19  --coral: #ff577d;
 20  --violet: #c259ff;
 21  --malibu: #00a4ff;
 22  --hazy: #8b75ff;
 23}
 24
 25/* Light mode colors - charmtone light palette */
 26@media (prefers-color-scheme: light) {
 27  :root {
 28    --bg: #f0f0f0;
 29    --bg-secondary: #fbfbfb;
 30    --text: #201f26;
 31    --text-muted: #4d4c57;
 32  }
 33}
 34
 35* {
 36  margin: 0;
 37  padding: 0;
 38  box-sizing: border-box;
 39}
 40
 41body {
 42  font-family:
 43    -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu,
 44    sans-serif;
 45  background: var(--bg);
 46  color: var(--text);
 47  line-height: 1.6;
 48  padding: 2rem 1rem;
 49}
 50
 51.container {
 52  max-width: 1200px;
 53  margin: 0 auto;
 54}
 55
 56.header-wrapper {
 57  max-width: 1200px;
 58  margin: 0 auto 2rem;
 59}
 60
 61.header-wrapper a {
 62  display: block;
 63  text-decoration: none;
 64}
 65
 66.header-content {
 67  display: flex;
 68  align-items: center;
 69  width: 100%;
 70}
 71
 72.header-svg {
 73  flex-grow: 1;
 74  flex-shrink: 1;
 75  min-width: 0;
 76  overflow: hidden;
 77  height: 70px;
 78  display: flex;
 79  align-items: center;
 80}
 81
 82.header-svg svg {
 83  height: 70px;
 84  width: auto;
 85  min-width: 1300px;
 86  display: block;
 87  pointer-events: none;
 88}
 89
 90.heartbit-svg {
 91  flex-shrink: 0;
 92  width: 70px;
 93  flex-basis: 70px;
 94  margin-left: 1rem;
 95}
 96
 97.heartbit-svg svg {
 98  width: 100%;
 99  height: auto;
100  display: block;
101}
102
103.header-info {
104  margin-bottom: 2rem;
105  font-size: 0.875rem;
106  color: var(--hazy);
107  font-family: "JetBrains Mono", "SF Mono", Consolas, monospace;
108}
109
110.stats-grid {
111  display: flex;
112  flex-wrap: wrap;
113  gap: 1rem;
114  margin-bottom: 2rem;
115  width: 100%;
116}
117
118.stat-card {
119  background: var(--bg-secondary);
120  border-radius: 12px;
121  padding: 1.5rem;
122  flex: 1 1 150px;
123  max-width: calc((100% - 5rem) / 6);
124}
125
126@media (prefers-color-scheme: light) {
127  .stat-card {
128    background: var(--butter);
129  }
130}
131
132@media (max-width: 1024px) {
133  .stat-card {
134    max-width: calc((100% - 2rem) / 3);
135  }
136}
137
138@media (max-width: 600px) {
139  .stat-card {
140    max-width: calc((100% - 1rem) / 2);
141  }
142}
143
144.stat-card h3 {
145  font-size: 0.75rem;
146  color: var(--text-muted);
147  text-transform: uppercase;
148  letter-spacing: 0.05em;
149  margin-bottom: 0.5rem;
150}
151
152.stat-card .value {
153  font-size: 2rem;
154  font-weight: 700;
155  color: var(--butter);
156  white-space: nowrap;
157}
158
159@media (prefers-color-scheme: light) {
160  .stat-card .value {
161    color: var(--pepper);
162  }
163}
164
165.charts-grid {
166  display: flex;
167  flex-direction: column;
168  gap: 1.5rem;
169  margin-bottom: 2rem;
170  width: 100%;
171}
172
173.chart-card {
174  background: var(--bg-secondary);
175  border-radius: 12px;
176  padding: 1.5rem;
177  width: 100%;
178  box-sizing: border-box;
179}
180
181@media (prefers-color-scheme: light) {
182  .chart-card {
183    background: var(--butter);
184  }
185}
186
187.chart-card.full-width {
188  width: 100%;
189}
190
191.chart-row {
192  display: flex;
193  flex-wrap: wrap;
194  gap: 1.5rem;
195  width: 100%;
196}
197
198.chart-row .chart-card {
199  flex: 1 1 300px;
200  max-width: calc((100% - 1.5rem) / 2);
201}
202
203.chart-card h2 {
204  font-size: 1.25rem;
205  margin-bottom: 1rem;
206  color: var(--text);
207}
208
209.chart-container {
210  position: relative;
211  height: 300px;
212}
213
214.chart-container.tall {
215  height: 400px;
216}
217
218table {
219  width: 100%;
220  border-collapse: collapse;
221  margin-top: 1rem;
222}
223
224th,
225td {
226  text-align: left;
227  padding: 0.75rem;
228  border-bottom: 1px solid var(--border);
229}
230
231th {
232  color: var(--text-muted);
233  font-weight: 500;
234  font-size: 0.875rem;
235}
236
237td {
238  font-family: "JetBrains Mono", "SF Mono", Consolas, monospace;
239}
240
241.model-tag {
242  background: var(--bg);
243  padding: 0.25rem 0.5rem;
244  border-radius: 4px;
245  font-size: 0.875rem;
246}
247
248.footer-container {
249  max-width: 1200px;
250  margin: 2rem auto 0;
251}
252
253.footer-container svg {
254  width: 100%;
255  height: auto;
256  display: block;
257}
258
259/* Override charm brand colors in footer */
260.footer-container .st2 {
261  fill: #fffaf1 !important;
262}
263
264@media (prefers-color-scheme: light) {
265
266  /* Override charm brand colors in footer */
267  .footer-container .st2 {
268    fill: #644ced !important;
269  }
270}