heyiam 0.2.29 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. package/README.md +45 -0
  2. package/dist/config.js +10 -1
  3. package/dist/db.js +1 -2
  4. package/dist/export.js +40 -25
  5. package/dist/format-utils.js +5 -0
  6. package/dist/index.js +168 -0
  7. package/dist/mount.js +300 -102
  8. package/dist/parsers/claude.js +2 -28
  9. package/dist/parsers/codex.js +2 -26
  10. package/dist/parsers/cursor.js +2 -26
  11. package/dist/parsers/duration.js +35 -0
  12. package/dist/parsers/gemini.js +2 -20
  13. package/dist/parsers/types.js +0 -1
  14. package/dist/public/assets/index-BZ65TU_Y.js +40 -0
  15. package/dist/public/assets/index-CqCaW2cb.css +1 -0
  16. package/dist/public/index.html +2 -2
  17. package/dist/redact.js +4 -104
  18. package/dist/render/build-render-data.js +9 -2
  19. package/dist/render/index.js +32 -5
  20. package/dist/render/liquid.js +147 -7
  21. package/dist/render/mock-data.js +303 -0
  22. package/dist/render/templates/aurora/portfolio.liquid +204 -0
  23. package/dist/render/templates/aurora/project.liquid +260 -0
  24. package/dist/render/templates/aurora/session.liquid +223 -0
  25. package/dist/render/templates/aurora/styles.css +1178 -0
  26. package/dist/render/templates/bauhaus/portfolio.liquid +179 -0
  27. package/dist/render/templates/bauhaus/project.liquid +300 -0
  28. package/dist/render/templates/bauhaus/session.liquid +333 -0
  29. package/dist/render/templates/bauhaus/styles.css +1641 -0
  30. package/dist/render/templates/blueprint/portfolio.liquid +167 -0
  31. package/dist/render/templates/blueprint/project.liquid +286 -0
  32. package/dist/render/templates/blueprint/session.liquid +248 -0
  33. package/dist/render/templates/blueprint/styles.css +1285 -0
  34. package/dist/render/templates/canvas/portfolio.liquid +215 -0
  35. package/dist/render/templates/canvas/project.liquid +235 -0
  36. package/dist/render/templates/canvas/session.liquid +223 -0
  37. package/dist/render/templates/canvas/styles.css +1436 -0
  38. package/dist/render/templates/carbon/portfolio.liquid +170 -0
  39. package/dist/render/templates/carbon/project.liquid +249 -0
  40. package/dist/render/templates/carbon/session.liquid +190 -0
  41. package/dist/render/templates/carbon/styles.css +1091 -0
  42. package/dist/render/templates/chalk/portfolio.liquid +199 -0
  43. package/dist/render/templates/chalk/project.liquid +245 -0
  44. package/dist/render/templates/chalk/session.liquid +215 -0
  45. package/dist/render/templates/chalk/styles.css +1157 -0
  46. package/dist/render/templates/circuit/portfolio.liquid +162 -0
  47. package/dist/render/templates/circuit/project.liquid +247 -0
  48. package/dist/render/templates/circuit/session.liquid +205 -0
  49. package/dist/render/templates/circuit/styles.css +1403 -0
  50. package/dist/render/templates/cosmos/portfolio.liquid +232 -0
  51. package/dist/render/templates/cosmos/project.liquid +327 -0
  52. package/dist/render/templates/cosmos/session.liquid +239 -0
  53. package/dist/render/templates/cosmos/styles.css +1151 -0
  54. package/dist/render/templates/daylight/portfolio.liquid +217 -0
  55. package/dist/render/templates/daylight/project.liquid +229 -0
  56. package/dist/render/templates/daylight/session.liquid +219 -0
  57. package/dist/render/templates/daylight/styles.css +1311 -0
  58. package/dist/render/templates/editorial/portfolio.liquid +126 -0
  59. package/dist/render/templates/editorial/project.liquid +202 -0
  60. package/dist/render/templates/editorial/session.liquid +171 -0
  61. package/dist/render/templates/editorial/styles.css +822 -0
  62. package/dist/render/templates/ember/portfolio.liquid +318 -0
  63. package/dist/render/templates/ember/project.liquid +232 -0
  64. package/dist/render/templates/ember/session.liquid +202 -0
  65. package/dist/render/templates/ember/styles.css +1283 -0
  66. package/dist/render/templates/glacier/portfolio.liquid +271 -0
  67. package/dist/render/templates/glacier/project.liquid +288 -0
  68. package/dist/render/templates/glacier/session.liquid +217 -0
  69. package/dist/render/templates/glacier/styles.css +1200 -0
  70. package/dist/render/templates/grid/portfolio.liquid +265 -0
  71. package/dist/render/templates/grid/project.liquid +306 -0
  72. package/dist/render/templates/grid/session.liquid +260 -0
  73. package/dist/render/templates/grid/styles.css +1441 -0
  74. package/dist/render/templates/kinetic/portfolio.liquid +170 -0
  75. package/dist/render/templates/kinetic/project.liquid +242 -0
  76. package/dist/render/templates/kinetic/session.liquid +228 -0
  77. package/dist/render/templates/kinetic/styles.css +944 -0
  78. package/dist/render/templates/meridian/portfolio.liquid +255 -0
  79. package/dist/render/templates/meridian/project.liquid +376 -0
  80. package/dist/render/templates/meridian/session.liquid +298 -0
  81. package/dist/render/templates/meridian/styles.css +1369 -0
  82. package/dist/render/templates/minimal/portfolio.liquid +71 -0
  83. package/dist/render/templates/minimal/project.liquid +154 -0
  84. package/dist/render/templates/minimal/session.liquid +140 -0
  85. package/dist/render/templates/minimal/styles.css +525 -0
  86. package/dist/render/templates/mono/portfolio.liquid +291 -0
  87. package/dist/render/templates/mono/project.liquid +275 -0
  88. package/dist/render/templates/mono/session.liquid +276 -0
  89. package/dist/render/templates/mono/styles.css +1016 -0
  90. package/dist/render/templates/neon/portfolio.liquid +217 -0
  91. package/dist/render/templates/neon/project.liquid +225 -0
  92. package/dist/render/templates/neon/session.liquid +195 -0
  93. package/dist/render/templates/neon/styles.css +1265 -0
  94. package/dist/render/templates/noir/portfolio.liquid +137 -0
  95. package/dist/render/templates/noir/project.liquid +220 -0
  96. package/dist/render/templates/noir/session.liquid +241 -0
  97. package/dist/render/templates/noir/styles.css +1223 -0
  98. package/dist/render/templates/obsidian/portfolio.liquid +257 -0
  99. package/dist/render/templates/obsidian/project.liquid +280 -0
  100. package/dist/render/templates/obsidian/session.liquid +241 -0
  101. package/dist/render/templates/obsidian/styles.css +1401 -0
  102. package/dist/render/templates/paper/portfolio.liquid +267 -0
  103. package/dist/render/templates/paper/project.liquid +235 -0
  104. package/dist/render/templates/paper/session.liquid +271 -0
  105. package/dist/render/templates/paper/styles.css +1509 -0
  106. package/dist/render/templates/parallax/portfolio.liquid +305 -0
  107. package/dist/render/templates/parallax/project.liquid +275 -0
  108. package/dist/render/templates/parallax/session.liquid +295 -0
  109. package/dist/render/templates/parallax/styles.css +1874 -0
  110. package/dist/render/templates/parchment/portfolio.liquid +290 -0
  111. package/dist/render/templates/parchment/project.liquid +289 -0
  112. package/dist/render/templates/parchment/session.liquid +346 -0
  113. package/dist/render/templates/parchment/styles.css +1397 -0
  114. package/dist/render/templates/partials/_beats.liquid +16 -0
  115. package/dist/render/templates/partials/_breadcrumb.liquid +9 -0
  116. package/dist/render/templates/partials/_footer.liquid +7 -0
  117. package/dist/render/templates/partials/_growth-chart.liquid +7 -0
  118. package/dist/render/templates/partials/_key-decisions.liquid +20 -0
  119. package/dist/render/templates/partials/_links.liquid +16 -0
  120. package/dist/render/templates/partials/_narrative.liquid +8 -0
  121. package/dist/render/templates/partials/_phases.liquid +20 -0
  122. package/dist/render/templates/partials/_portfolio-header.liquid +20 -0
  123. package/dist/render/templates/partials/_portfolio-projects.liquid +16 -0
  124. package/dist/render/templates/partials/_portfolio-stats.liquid +19 -0
  125. package/dist/render/templates/partials/_qa.liquid +13 -0
  126. package/dist/render/templates/partials/_screenshot.liquid +15 -0
  127. package/dist/render/templates/partials/_session-cards.liquid +30 -0
  128. package/dist/render/templates/partials/_session-header.liquid +39 -0
  129. package/dist/render/templates/partials/_session-sidebar.liquid +30 -0
  130. package/dist/render/templates/partials/_skills.liquid +12 -0
  131. package/dist/render/templates/partials/_source-breakdown.liquid +22 -0
  132. package/dist/render/templates/partials/_stats.liquid +38 -0
  133. package/dist/render/templates/partials/_work-timeline.liquid +7 -0
  134. package/dist/render/templates/project.liquid +7 -4
  135. package/dist/render/templates/radar/portfolio.liquid +233 -0
  136. package/dist/render/templates/radar/project.liquid +278 -0
  137. package/dist/render/templates/radar/session.liquid +300 -0
  138. package/dist/render/templates/radar/styles.css +1049 -0
  139. package/dist/render/templates/showcase/portfolio.liquid +231 -0
  140. package/dist/render/templates/showcase/project.liquid +237 -0
  141. package/dist/render/templates/showcase/session.liquid +210 -0
  142. package/dist/render/templates/showcase/styles.css +1279 -0
  143. package/dist/render/templates/signal/portfolio.liquid +227 -0
  144. package/dist/render/templates/signal/project.liquid +278 -0
  145. package/dist/render/templates/signal/session.liquid +282 -0
  146. package/dist/render/templates/signal/styles.css +1395 -0
  147. package/dist/render/templates/strata/portfolio.liquid +192 -0
  148. package/dist/render/templates/strata/project.liquid +282 -0
  149. package/dist/render/templates/strata/session.liquid +261 -0
  150. package/dist/render/templates/strata/styles.css +1350 -0
  151. package/dist/render/templates/styles.css +1190 -0
  152. package/dist/render/templates/terminal/portfolio.liquid +118 -0
  153. package/dist/render/templates/terminal/project.liquid +161 -0
  154. package/dist/render/templates/terminal/session.liquid +145 -0
  155. package/dist/render/templates/terminal/styles.css +492 -0
  156. package/dist/render/templates/verdant/portfolio.liquid +333 -0
  157. package/dist/render/templates/verdant/project.liquid +309 -0
  158. package/dist/render/templates/verdant/session.liquid +237 -0
  159. package/dist/render/templates/verdant/styles.css +1257 -0
  160. package/dist/render/templates/zen/portfolio.liquid +136 -0
  161. package/dist/render/templates/zen/project.liquid +187 -0
  162. package/dist/render/templates/zen/session.liquid +203 -0
  163. package/dist/render/templates/zen/styles.css +1207 -0
  164. package/dist/render/templates.js +90 -0
  165. package/dist/routes/context.js +15 -10
  166. package/dist/routes/enhance.js +17 -40
  167. package/dist/routes/export.js +14 -4
  168. package/dist/routes/preview.js +480 -108
  169. package/dist/routes/projects.js +11 -19
  170. package/dist/routes/publish.js +15 -17
  171. package/dist/routes/settings.js +94 -1
  172. package/dist/routes/sse.js +9 -0
  173. package/dist/server.js +8 -2
  174. package/dist/settings.js +17 -9
  175. package/package.json +2 -4
  176. package/dist/public/assets/index-CC9G8EF1.js +0 -21
  177. package/dist/public/assets/index-Dalqz2mC.css +0 -1
@@ -0,0 +1,1091 @@
1
+ /* ── Carbon Design Tokens ── */
2
+ .carbon {
3
+ --carbon-bg: #171717;
4
+ --carbon-surface: #1f1f1f;
5
+ --carbon-card: #262626;
6
+ --carbon-border: rgba(148, 163, 184, 0.20);
7
+ --carbon-border-hover: rgba(148, 163, 184, 0.45);
8
+ --carbon-accent: #94a3b8;
9
+ --carbon-accent-dim: rgba(148, 163, 184, 0.6);
10
+ --carbon-text: #d4d4d8;
11
+ --carbon-text-secondary: #a1a1aa;
12
+ --carbon-text-muted: #71717a;
13
+ --carbon-white: #e4e4e7;
14
+
15
+ --font-display: 'Space Grotesk', sans-serif;
16
+ --font-body: 'Inter', sans-serif;
17
+ --font-mono: 'IBM Plex Mono', monospace;
18
+
19
+ --radius-sm: 4px;
20
+ --radius-md: 6px;
21
+
22
+ font-family: var(--font-body);
23
+ color: var(--carbon-text);
24
+ background-color: var(--carbon-bg);
25
+ line-height: 1.6;
26
+ -webkit-font-smoothing: antialiased;
27
+ -moz-osx-font-smoothing: grayscale;
28
+ max-width: 940px;
29
+ margin: 0 auto;
30
+ padding: 2rem 1.5rem;
31
+ }
32
+
33
+ .carbon a { color: var(--carbon-accent); text-decoration: none; }
34
+ .carbon a:hover { color: var(--carbon-white); }
35
+ .carbon a:visited { color: var(--carbon-accent); }
36
+ .carbon .breadcrumb a:visited { color: var(--carbon-text-muted); }
37
+ .carbon .card__title a:visited { color: var(--carbon-white); }
38
+ .carbon .session-row:visited { color: inherit; }
39
+ .carbon .carbon-footer a:visited { color: var(--carbon-accent); }
40
+
41
+ /* ── Focus styles ── */
42
+ .carbon *:focus-visible {
43
+ outline: 2px solid var(--carbon-accent);
44
+ outline-offset: 2px;
45
+ }
46
+
47
+ /* ── Brushed Metal Texture ── */
48
+ .carbon .brushed-header {
49
+ position: relative;
50
+ overflow: hidden;
51
+ }
52
+ .carbon .brushed-header::before {
53
+ content: '';
54
+ position: absolute;
55
+ inset: 0;
56
+ background: repeating-linear-gradient(
57
+ 135deg,
58
+ transparent,
59
+ transparent 1px,
60
+ rgba(148, 163, 184, 0.03) 1px,
61
+ rgba(148, 163, 184, 0.03) 2px
62
+ );
63
+ pointer-events: none;
64
+ }
65
+
66
+ /* ── Fade-in Animation ── */
67
+ .carbon .fade-in {
68
+ opacity: 0;
69
+ transform: translateY(12px);
70
+ transition: opacity 0.5s ease, transform 0.5s ease;
71
+ }
72
+ .carbon .fade-in.visible {
73
+ opacity: 1;
74
+ transform: translateY(0);
75
+ }
76
+
77
+ @media (prefers-reduced-motion: reduce) {
78
+ .carbon .fade-in {
79
+ opacity: 1;
80
+ transform: none;
81
+ transition: none;
82
+ }
83
+ .carbon .card,
84
+ .carbon .session-row,
85
+ .carbon .sidebar-card {
86
+ transition: none !important;
87
+ }
88
+ }
89
+
90
+ /* ── Breadcrumb ── */
91
+ .carbon .breadcrumb {
92
+ font-family: var(--font-mono);
93
+ font-size: 0.8125rem;
94
+ color: var(--carbon-text-muted);
95
+ margin-block-end: 1.5rem;
96
+ }
97
+ .carbon .breadcrumb a { color: var(--carbon-text-muted); }
98
+ .carbon .breadcrumb a:hover { color: var(--carbon-accent); }
99
+ .carbon .breadcrumb__sep { margin-inline: 0.375rem; opacity: 0.4; }
100
+
101
+ /* ── Profile Header (Portfolio) ── */
102
+ .carbon .profile {
103
+ margin-block-end: 3rem;
104
+ }
105
+
106
+ .carbon .profile__photo {
107
+ width: 100px;
108
+ height: 130px;
109
+ border-radius: 6px;
110
+ object-fit: cover;
111
+ object-position: 55% 10%;
112
+ border: 2px solid var(--carbon-border);
113
+ margin-block-end: 1rem;
114
+ filter: grayscale(0.8) contrast(1.1);
115
+ }
116
+
117
+ .carbon .profile__name {
118
+ font-family: var(--font-display);
119
+ font-size: 2.25rem;
120
+ font-weight: 700;
121
+ color: var(--carbon-white);
122
+ letter-spacing: -0.03em;
123
+ text-shadow: 0 1px 2px rgba(0,0,0,0.5), 0 1px 0 rgba(148,163,184,0.1);
124
+ }
125
+
126
+ .carbon .profile__bio {
127
+ font-size: 1rem;
128
+ color: var(--carbon-text-secondary);
129
+ max-width: 600px;
130
+ margin-block-start: 0.5rem;
131
+ line-height: 1.7;
132
+ }
133
+
134
+ .carbon .profile__location {
135
+ font-family: var(--font-mono);
136
+ font-size: 0.8125rem;
137
+ color: var(--carbon-text-muted);
138
+ margin-block-start: 0.75rem;
139
+ }
140
+
141
+ .carbon .profile__links {
142
+ display: flex;
143
+ flex-wrap: wrap;
144
+ gap: 0.75rem;
145
+ margin-block-start: 1rem;
146
+ align-items: center;
147
+ }
148
+
149
+ .carbon .profile__links a {
150
+ display: inline-flex;
151
+ align-items: center;
152
+ gap: 0.375rem;
153
+ font-family: var(--font-mono);
154
+ font-size: 0.8125rem;
155
+ color: var(--carbon-text-muted);
156
+ text-decoration: none;
157
+ padding: 0.25rem 0.5rem;
158
+ border-radius: var(--radius-sm);
159
+ border: 1px solid transparent;
160
+ transition: color 0.2s, border-color 0.2s;
161
+ }
162
+
163
+ .carbon .profile__links a:hover {
164
+ color: var(--carbon-accent);
165
+ border-color: var(--carbon-border-hover);
166
+ }
167
+
168
+ /* ── Stats Bar ── */
169
+ .carbon .stats-bar {
170
+ display: grid;
171
+ grid-template-columns: repeat(4, 1fr);
172
+ gap: 1px;
173
+ background: var(--carbon-border);
174
+ border-radius: var(--radius-md);
175
+ overflow: hidden;
176
+ margin-block-end: 3rem;
177
+ }
178
+
179
+ .carbon .stat-cell {
180
+ background: var(--carbon-surface);
181
+ padding: 1.25rem 1rem;
182
+ text-align: center;
183
+ }
184
+
185
+ .carbon .stat-cell__value {
186
+ font-family: var(--font-display);
187
+ font-size: 1.75rem;
188
+ font-weight: 700;
189
+ color: var(--carbon-white);
190
+ text-shadow: 0 1px 0 rgba(148,163,184,0.15), 0 -1px 0 rgba(0,0,0,0.4);
191
+ line-height: 1.2;
192
+ }
193
+
194
+ .carbon .stat-cell__label {
195
+ font-family: var(--font-mono);
196
+ font-size: 0.6875rem;
197
+ color: var(--carbon-text-muted);
198
+ text-transform: uppercase;
199
+ letter-spacing: 0.08em;
200
+ margin-block-start: 0.25rem;
201
+ }
202
+
203
+ .carbon .stat-cell--leverage {
204
+ grid-column: span 2;
205
+ display: flex;
206
+ justify-content: space-evenly;
207
+ gap: 1rem;
208
+ }
209
+
210
+ .carbon .leverage-cell {
211
+ text-align: center;
212
+ }
213
+
214
+ .carbon .leverage-cell__value {
215
+ font-family: var(--font-display);
216
+ font-size: 1.375rem;
217
+ font-weight: 700;
218
+ color: var(--carbon-white);
219
+ text-shadow: 0 1px 0 rgba(148,163,184,0.15), 0 -1px 0 rgba(0,0,0,0.4);
220
+ line-height: 1.2;
221
+ }
222
+
223
+ .carbon .leverage-cell__value--accent {
224
+ color: var(--carbon-accent);
225
+ }
226
+
227
+ .carbon .leverage-cell__label {
228
+ font-family: var(--font-mono);
229
+ font-size: 0.625rem;
230
+ color: var(--carbon-text-muted);
231
+ text-transform: uppercase;
232
+ letter-spacing: 0.08em;
233
+ margin-block-start: 0.25rem;
234
+ }
235
+
236
+ /* ── Section Headings ── */
237
+ .carbon .section-heading {
238
+ font-family: var(--font-display);
239
+ font-size: 1.25rem;
240
+ font-weight: 600;
241
+ color: var(--carbon-white);
242
+ margin-block-end: 1.25rem;
243
+ letter-spacing: -0.01em;
244
+ }
245
+
246
+ /* ── Project Cards (Portfolio) ── */
247
+ .carbon .projects-grid {
248
+ display: flex;
249
+ flex-direction: column;
250
+ gap: 1rem;
251
+ }
252
+
253
+ .carbon a.project-card {
254
+ text-decoration: none;
255
+ color: inherit;
256
+ display: block;
257
+ transition: transform 0.15s ease, box-shadow 0.15s ease;
258
+ }
259
+ .carbon a.project-card:hover {
260
+ transform: translateY(-2px);
261
+ }
262
+
263
+ .carbon .card {
264
+ background: var(--carbon-card);
265
+ border: 1px solid var(--carbon-border);
266
+ border-radius: var(--radius-md);
267
+ overflow: hidden;
268
+ transition: border-color 0.25s ease;
269
+ }
270
+ .carbon .card:hover {
271
+ border-color: var(--carbon-border-hover);
272
+ }
273
+
274
+ .carbon .card__header {
275
+ position: relative;
276
+ padding: 1.25rem 1.5rem;
277
+ background: var(--carbon-surface);
278
+ border-bottom: 1px solid var(--carbon-border);
279
+ overflow: hidden;
280
+ }
281
+ .carbon .card__header::before {
282
+ content: '';
283
+ position: absolute;
284
+ inset: 0;
285
+ background: repeating-linear-gradient(
286
+ 135deg,
287
+ transparent,
288
+ transparent 1px,
289
+ rgba(148, 163, 184, 0.035) 1px,
290
+ rgba(148, 163, 184, 0.035) 2px
291
+ );
292
+ pointer-events: none;
293
+ }
294
+
295
+ .carbon .card__title {
296
+ font-family: var(--font-display);
297
+ font-size: 1.125rem;
298
+ font-weight: 600;
299
+ color: var(--carbon-white);
300
+ position: relative;
301
+ }
302
+ .carbon .card__title a { color: inherit; }
303
+ .carbon .card__title a:hover { color: var(--carbon-accent); }
304
+
305
+ .carbon .card__body {
306
+ padding: 1.25rem 1.5rem;
307
+ }
308
+
309
+ .carbon .card__narrative {
310
+ font-size: 0.9375rem;
311
+ color: var(--carbon-text-secondary);
312
+ line-height: 1.65;
313
+ margin-block-end: 1rem;
314
+ }
315
+
316
+ /* ── Skills ── */
317
+ .carbon .skill-list {
318
+ display: flex;
319
+ flex-wrap: wrap;
320
+ gap: 0.375rem;
321
+ list-style: none;
322
+ margin-block-end: 1rem;
323
+ }
324
+
325
+ .carbon .skill-chip {
326
+ font-family: var(--font-mono);
327
+ font-size: 0.6875rem;
328
+ color: var(--carbon-accent);
329
+ background: rgba(148, 163, 184, 0.08);
330
+ border: 1px solid rgba(148, 163, 184, 0.12);
331
+ padding: 0.25rem 0.625rem;
332
+ border-radius: var(--radius-sm);
333
+ letter-spacing: 0.02em;
334
+ }
335
+
336
+ /* ── Card Stats Row ── */
337
+ .carbon .card-stats {
338
+ display: flex;
339
+ gap: 1.25rem;
340
+ font-family: var(--font-mono);
341
+ font-size: 0.75rem;
342
+ color: var(--carbon-text-muted);
343
+ padding-block-start: 0.75rem;
344
+ border-top: 1px solid var(--carbon-border);
345
+ }
346
+
347
+ .carbon .card-stats span {
348
+ display: flex;
349
+ align-items: center;
350
+ gap: 0.375rem;
351
+ }
352
+
353
+ .carbon .card-stats__value {
354
+ color: var(--carbon-text-secondary);
355
+ }
356
+
357
+ /* ── Source Bar (Portfolio Card) ── */
358
+ .carbon .source-bar {
359
+ display: flex;
360
+ height: 4px;
361
+ border-radius: 2px;
362
+ overflow: hidden;
363
+ margin-block-start: 1rem;
364
+ background: rgba(148, 163, 184, 0.06);
365
+ }
366
+
367
+ .carbon .source-bar__segment { height: 100%; }
368
+ .carbon .source-bar__segment--claude-code { background: var(--carbon-accent); }
369
+ .carbon .source-bar__segment--cursor { background: rgba(148, 163, 184, 0.3); }
370
+
371
+ .carbon .source-legend {
372
+ display: flex;
373
+ gap: 1rem;
374
+ margin-block-start: 0.5rem;
375
+ font-family: var(--font-mono);
376
+ font-size: 0.6875rem;
377
+ color: var(--carbon-text-muted);
378
+ }
379
+
380
+ .carbon .source-legend__dot {
381
+ display: inline-block;
382
+ width: 8px;
383
+ height: 8px;
384
+ border-radius: 50%;
385
+ margin-inline-end: 0.375rem;
386
+ vertical-align: middle;
387
+ }
388
+ .carbon .source-legend__dot--claude-code { background: var(--carbon-accent); }
389
+ .carbon .source-legend__dot--cursor { background: rgba(148, 163, 184, 0.3); }
390
+
391
+ /* ── Project Header ── */
392
+ .carbon .project-header {
393
+ margin-block-end: 2.5rem;
394
+ }
395
+
396
+ .carbon .project-header__title {
397
+ font-family: var(--font-display);
398
+ font-size: 2rem;
399
+ font-weight: 700;
400
+ color: var(--carbon-white);
401
+ letter-spacing: -0.03em;
402
+ text-shadow: 0 1px 2px rgba(0,0,0,0.5), 0 1px 0 rgba(148,163,184,0.1);
403
+ }
404
+
405
+ .carbon .project-header__links {
406
+ display: flex;
407
+ gap: 1.25rem;
408
+ margin-block-start: 0.75rem;
409
+ font-family: var(--font-mono);
410
+ font-size: 0.8125rem;
411
+ }
412
+
413
+ /* ── Project Stats Override ── */
414
+ .carbon .stats-bar--project {
415
+ grid-template-columns: repeat(6, 1fr);
416
+ }
417
+
418
+ .carbon.heyiam-project .stat-cell {
419
+ padding: 1rem 0.75rem;
420
+ }
421
+
422
+ .carbon.heyiam-project .stat-cell__value {
423
+ font-size: 1.375rem;
424
+ }
425
+
426
+ .carbon.heyiam-project .stat-cell__label {
427
+ font-size: 0.625rem;
428
+ }
429
+
430
+ .carbon.heyiam-project .section-heading,
431
+ .carbon.heyiam-session .section-heading {
432
+ font-size: 1.125rem;
433
+ }
434
+
435
+ /* ── Screenshot ── */
436
+ .carbon .screenshot {
437
+ border-radius: var(--radius-md);
438
+ border: 1px solid var(--carbon-border);
439
+ overflow: hidden;
440
+ margin-block-end: 2.5rem;
441
+ }
442
+
443
+ .carbon .screenshot__chrome {
444
+ background: var(--carbon-surface);
445
+ padding: 0.625rem 1rem;
446
+ display: flex;
447
+ align-items: center;
448
+ gap: 0.5rem;
449
+ border-bottom: 1px solid var(--carbon-border);
450
+ }
451
+
452
+ .carbon .screenshot__dot {
453
+ width: 10px;
454
+ height: 10px;
455
+ border-radius: 50%;
456
+ background: rgba(148, 163, 184, 0.15);
457
+ border: 1px solid rgba(148, 163, 184, 0.1);
458
+ }
459
+
460
+ .carbon .screenshot__url {
461
+ font-family: var(--font-mono);
462
+ font-size: 0.6875rem;
463
+ color: var(--carbon-text-muted);
464
+ margin-inline-start: 0.5rem;
465
+ }
466
+
467
+ .carbon .screenshot__body {
468
+ background: var(--carbon-card);
469
+ }
470
+
471
+ .carbon .screenshot__img {
472
+ width: 100%;
473
+ display: block;
474
+ }
475
+
476
+ /* ── Narrative ── */
477
+ .carbon .narrative {
478
+ margin-block-end: 2.5rem;
479
+ }
480
+
481
+ .carbon .narrative p {
482
+ font-size: 0.9375rem;
483
+ color: var(--carbon-text-secondary);
484
+ line-height: 1.75;
485
+ margin-block-end: 1rem;
486
+ }
487
+ .carbon .narrative p:last-child { margin-block-end: 0; }
488
+
489
+ .carbon .narrative-text {
490
+ font-size: 0.9375rem;
491
+ color: var(--carbon-text-secondary);
492
+ line-height: 1.75;
493
+ }
494
+
495
+ /* ── Phase Timeline ── */
496
+ .carbon .phase-timeline {
497
+ margin-block-end: 2.5rem;
498
+ position: relative;
499
+ padding-inline-start: 1.75rem;
500
+ }
501
+
502
+ .carbon .phase-timeline::before {
503
+ content: '';
504
+ position: absolute;
505
+ left: 5px;
506
+ top: 6px;
507
+ bottom: 6px;
508
+ width: 1px;
509
+ background: linear-gradient(to bottom, var(--carbon-accent), rgba(148,163,184,0.15));
510
+ }
511
+
512
+ .carbon .phase-item {
513
+ position: relative;
514
+ margin-block-end: 1.5rem;
515
+ }
516
+ .carbon .phase-item:last-child { margin-block-end: 0; }
517
+
518
+ .carbon .phase-item::before {
519
+ content: '';
520
+ position: absolute;
521
+ left: -1.75rem;
522
+ top: 6px;
523
+ width: 11px;
524
+ height: 11px;
525
+ border-radius: 50%;
526
+ background: var(--carbon-bg);
527
+ border: 2px solid var(--carbon-accent);
528
+ box-shadow: 0 0 0 3px var(--carbon-bg), 0 0 8px rgba(148,163,184,0.2);
529
+ }
530
+
531
+ .carbon .phase-item__title {
532
+ font-family: var(--font-display);
533
+ font-size: 0.9375rem;
534
+ font-weight: 600;
535
+ color: var(--carbon-white);
536
+ }
537
+
538
+ .carbon .phase-item__dates {
539
+ font-family: var(--font-mono);
540
+ font-size: 0.6875rem;
541
+ color: var(--carbon-text-muted);
542
+ margin-block-start: 0.125rem;
543
+ }
544
+
545
+ .carbon .phase-item__desc {
546
+ font-size: 0.875rem;
547
+ color: var(--carbon-text-secondary);
548
+ margin-block-start: 0.375rem;
549
+ }
550
+
551
+ /* ── Work Timeline / Growth Chart ── */
552
+ .carbon .timeline-chart {
553
+ margin-block-end: 2.5rem;
554
+ }
555
+
556
+ .carbon .timeline-chart__canvas {
557
+ width: 100%;
558
+ background: var(--carbon-surface);
559
+ border: 1px solid var(--carbon-border);
560
+ border-radius: var(--radius-md);
561
+ padding: 1.25rem;
562
+ }
563
+
564
+ .carbon .timeline-chart svg {
565
+ width: 100%;
566
+ height: auto;
567
+ display: block;
568
+ }
569
+
570
+ /* ── Key Decisions ── */
571
+ .carbon .decisions {
572
+ margin-block-end: 2.5rem;
573
+ }
574
+
575
+ .carbon .decision-item {
576
+ display: flex;
577
+ gap: 0.75rem;
578
+ margin-block-end: 0.75rem;
579
+ font-size: 0.9375rem;
580
+ color: var(--carbon-text-secondary);
581
+ line-height: 1.6;
582
+ }
583
+
584
+ .carbon .decision-item__num {
585
+ font-family: var(--font-mono);
586
+ font-size: 0.75rem;
587
+ color: var(--carbon-accent);
588
+ min-width: 1.5rem;
589
+ padding-block-start: 0.125rem;
590
+ }
591
+
592
+ /* ── Source Breakdown ── */
593
+ .carbon .source-breakdown {
594
+ margin-block-end: 2.5rem;
595
+ }
596
+
597
+ .carbon .source-bar-lg {
598
+ display: flex;
599
+ height: 8px;
600
+ border-radius: var(--radius-sm);
601
+ overflow: hidden;
602
+ background: rgba(148, 163, 184, 0.06);
603
+ margin-block-end: 0.75rem;
604
+ }
605
+
606
+ .carbon .source-bar-lg__segment { height: 100%; }
607
+ .carbon .source-bar-lg__segment--claude-code { background: var(--carbon-accent); }
608
+ .carbon .source-bar-lg__segment--cursor { background: rgba(148, 163, 184, 0.3); }
609
+
610
+ .carbon .source-labels {
611
+ display: flex;
612
+ gap: 1.5rem;
613
+ font-family: var(--font-mono);
614
+ font-size: 0.75rem;
615
+ color: var(--carbon-text-muted);
616
+ }
617
+
618
+ .carbon .source-labels__dot {
619
+ display: inline-block;
620
+ width: 8px;
621
+ height: 8px;
622
+ border-radius: 50%;
623
+ margin-inline-end: 0.375rem;
624
+ vertical-align: middle;
625
+ }
626
+ .carbon .source-labels__dot--claude-code { background: var(--carbon-accent); }
627
+ .carbon .source-labels__dot--cursor { background: rgba(148, 163, 184, 0.3); }
628
+
629
+ /* ── Sessions Table (Project) ── */
630
+ .carbon .sessions-table {
631
+ margin-block-end: 2.5rem;
632
+ }
633
+
634
+ .carbon .session-row {
635
+ display: grid;
636
+ grid-template-columns: 2rem 1fr auto auto auto;
637
+ gap: 1rem;
638
+ align-items: center;
639
+ padding: 0.875rem 1rem;
640
+ background: var(--carbon-card);
641
+ border: 1px solid var(--carbon-border);
642
+ border-radius: var(--radius-sm);
643
+ margin-block-end: 0.5rem;
644
+ transition: border-color 0.2s;
645
+ text-decoration: none;
646
+ color: inherit;
647
+ }
648
+ .carbon .session-row:hover { border-color: var(--carbon-border-hover); }
649
+
650
+ .carbon .session-row__num {
651
+ font-family: var(--font-mono);
652
+ font-size: 0.75rem;
653
+ color: var(--carbon-text-muted);
654
+ }
655
+
656
+ .carbon .session-row__title {
657
+ font-size: 0.875rem;
658
+ color: var(--carbon-text);
659
+ }
660
+
661
+ .carbon .session-row__date,
662
+ .carbon .session-row__dur,
663
+ .carbon .session-row__loc {
664
+ font-family: var(--font-mono);
665
+ font-size: 0.75rem;
666
+ color: var(--carbon-text-muted);
667
+ white-space: nowrap;
668
+ }
669
+
670
+ /* ── Session Header ── */
671
+ .carbon .session-header {
672
+ margin-block-end: 2.5rem;
673
+ }
674
+
675
+ .carbon .session-header__title {
676
+ font-family: var(--font-display);
677
+ font-size: 1.75rem;
678
+ font-weight: 700;
679
+ color: var(--carbon-white);
680
+ letter-spacing: -0.03em;
681
+ text-shadow: 0 1px 2px rgba(0,0,0,0.5), 0 1px 0 rgba(148,163,184,0.1);
682
+ line-height: 1.3;
683
+ }
684
+
685
+ .carbon .session-header__meta {
686
+ display: flex;
687
+ flex-wrap: wrap;
688
+ gap: 1.25rem;
689
+ margin-block-start: 1rem;
690
+ font-family: var(--font-mono);
691
+ font-size: 0.75rem;
692
+ color: var(--carbon-text-muted);
693
+ }
694
+
695
+ .carbon .session-header__meta span {
696
+ display: flex;
697
+ align-items: center;
698
+ gap: 0.375rem;
699
+ }
700
+
701
+ .carbon .meta-value {
702
+ color: var(--carbon-text-secondary);
703
+ }
704
+
705
+ /* ── Dev Take ── */
706
+ .carbon .dev-take {
707
+ background: var(--carbon-surface);
708
+ border: 1px solid var(--carbon-border);
709
+ border-radius: var(--radius-md);
710
+ padding: 1.25rem 1.5rem;
711
+ margin-block-end: 2.5rem;
712
+ position: relative;
713
+ overflow: hidden;
714
+ }
715
+ .carbon .dev-take::before {
716
+ content: '';
717
+ position: absolute;
718
+ inset: 0;
719
+ background: repeating-linear-gradient(
720
+ 135deg,
721
+ transparent,
722
+ transparent 1px,
723
+ rgba(148, 163, 184, 0.02) 1px,
724
+ rgba(148, 163, 184, 0.02) 2px
725
+ );
726
+ pointer-events: none;
727
+ }
728
+
729
+ .carbon .dev-take__label {
730
+ font-family: var(--font-mono);
731
+ font-size: 0.6875rem;
732
+ color: var(--carbon-accent);
733
+ text-transform: uppercase;
734
+ letter-spacing: 0.08em;
735
+ margin-block-end: 0.5rem;
736
+ position: relative;
737
+ }
738
+
739
+ .carbon .dev-take__text {
740
+ font-size: 0.9375rem;
741
+ color: var(--carbon-text);
742
+ line-height: 1.7;
743
+ font-style: italic;
744
+ position: relative;
745
+ }
746
+
747
+ /* ── Session Layout: Main + Sidebar ── */
748
+ .carbon .session-layout {
749
+ display: grid;
750
+ grid-template-columns: 1fr 280px;
751
+ gap: 2rem;
752
+ align-items: start;
753
+ }
754
+
755
+ /* ── Content Section ── */
756
+ .carbon .content-section {
757
+ margin-block-end: 2.5rem;
758
+ }
759
+
760
+ .carbon .highlights-list {
761
+ list-style: none;
762
+ padding: 0;
763
+ }
764
+
765
+ .carbon .highlights-list li {
766
+ font-size: 0.875rem;
767
+ color: var(--carbon-text-secondary);
768
+ line-height: 1.7;
769
+ padding: 0.375rem 0;
770
+ border-bottom: 1px solid var(--carbon-border);
771
+ }
772
+
773
+ /* ── Execution Path ── */
774
+ .carbon .execution-path {
775
+ margin-block-end: 2.5rem;
776
+ }
777
+
778
+ .carbon .beat {
779
+ position: relative;
780
+ padding-inline-start: 1.75rem;
781
+ margin-block-end: 1.5rem;
782
+ }
783
+ .carbon .beat:last-child { margin-block-end: 0; }
784
+
785
+ .carbon .beat::before {
786
+ content: '';
787
+ position: absolute;
788
+ left: 5px;
789
+ top: 6px;
790
+ width: 11px;
791
+ height: 11px;
792
+ border-radius: 50%;
793
+ background: var(--carbon-bg);
794
+ border: 2px solid var(--carbon-accent);
795
+ box-shadow: 0 0 0 3px var(--carbon-bg), 0 0 8px rgba(148,163,184,0.2);
796
+ }
797
+
798
+ .carbon .beat::after {
799
+ content: '';
800
+ position: absolute;
801
+ left: 10px;
802
+ top: 20px;
803
+ bottom: -1.5rem;
804
+ width: 1px;
805
+ background: rgba(148, 163, 184, 0.15);
806
+ }
807
+ .carbon .beat:last-child::after { display: none; }
808
+
809
+ .carbon .beat__title {
810
+ font-family: var(--font-display);
811
+ font-size: 0.9375rem;
812
+ font-weight: 600;
813
+ color: var(--carbon-white);
814
+ }
815
+
816
+ .carbon .beat__desc {
817
+ font-size: 0.875rem;
818
+ color: var(--carbon-text-secondary);
819
+ margin-block-start: 0.25rem;
820
+ line-height: 1.6;
821
+ }
822
+
823
+ /* ── Q&A ── */
824
+ .carbon .qa-section {
825
+ margin-block-end: 2.5rem;
826
+ }
827
+
828
+ .carbon .qa-item {
829
+ margin-block-end: 1.25rem;
830
+ background: var(--carbon-card);
831
+ border: 1px solid var(--carbon-border);
832
+ border-radius: var(--radius-md);
833
+ overflow: hidden;
834
+ }
835
+
836
+ .carbon .qa-item__q {
837
+ padding: 1rem 1.25rem;
838
+ font-size: 0.9375rem;
839
+ font-weight: 500;
840
+ color: var(--carbon-white);
841
+ background: var(--carbon-surface);
842
+ border-bottom: 1px solid var(--carbon-border);
843
+ position: relative;
844
+ overflow: hidden;
845
+ }
846
+ .carbon .qa-item__q::before {
847
+ content: '';
848
+ position: absolute;
849
+ inset: 0;
850
+ background: repeating-linear-gradient(
851
+ 135deg,
852
+ transparent,
853
+ transparent 1px,
854
+ rgba(148, 163, 184, 0.025) 1px,
855
+ rgba(148, 163, 184, 0.025) 2px
856
+ );
857
+ pointer-events: none;
858
+ }
859
+
860
+ .carbon .qa-item__q-prefix {
861
+ font-family: var(--font-mono);
862
+ font-size: 0.6875rem;
863
+ color: var(--carbon-accent);
864
+ margin-inline-end: 0.5rem;
865
+ position: relative;
866
+ }
867
+
868
+ .carbon .qa-item__q-text {
869
+ position: relative;
870
+ }
871
+
872
+ .carbon .qa-item__a {
873
+ padding: 1rem 1.25rem;
874
+ font-size: 0.875rem;
875
+ color: var(--carbon-text-secondary);
876
+ line-height: 1.7;
877
+ }
878
+
879
+ /* ── Agent Summary ── */
880
+ .carbon .agent-summary {
881
+ margin-block-end: 2.5rem;
882
+ }
883
+
884
+ .carbon .agent-row {
885
+ display: grid;
886
+ grid-template-columns: 1fr auto auto;
887
+ gap: 1rem;
888
+ align-items: center;
889
+ padding: 0.75rem 1rem;
890
+ border-bottom: 1px solid var(--carbon-border);
891
+ }
892
+ .carbon .agent-row:last-child { border-bottom: none; }
893
+
894
+ .carbon .agent-row__role {
895
+ font-size: 0.875rem;
896
+ color: var(--carbon-text);
897
+ display: flex;
898
+ align-items: center;
899
+ gap: 0.5rem;
900
+ }
901
+
902
+ .carbon .agent-dot {
903
+ width: 8px;
904
+ height: 8px;
905
+ border-radius: 50%;
906
+ flex-shrink: 0;
907
+ }
908
+
909
+ .carbon .agent-row__dur,
910
+ .carbon .agent-row__loc {
911
+ font-family: var(--font-mono);
912
+ font-size: 0.75rem;
913
+ color: var(--carbon-text-muted);
914
+ text-align: end;
915
+ }
916
+
917
+ .carbon .agent-bar-chart {
918
+ display: flex;
919
+ height: 6px;
920
+ border-radius: 3px;
921
+ overflow: hidden;
922
+ margin-block-start: 1rem;
923
+ margin-block-end: 0.5rem;
924
+ background: rgba(148, 163, 184, 0.06);
925
+ }
926
+
927
+ .carbon .agent-bar-chart__seg { height: 100%; }
928
+
929
+ /* ── Sidebar Cards ── */
930
+ .carbon .sidebar-card {
931
+ background: var(--carbon-card);
932
+ border: 1px solid var(--carbon-border);
933
+ border-radius: var(--radius-md);
934
+ overflow: hidden;
935
+ margin-block-end: 1rem;
936
+ transition: border-color 0.25s;
937
+ }
938
+ .carbon .sidebar-card:hover { border-color: var(--carbon-border-hover); }
939
+
940
+ .carbon .sidebar-card__header {
941
+ padding: 0.75rem 1rem;
942
+ background: var(--carbon-surface);
943
+ border-bottom: 1px solid var(--carbon-border);
944
+ font-family: var(--font-mono);
945
+ font-size: 0.6875rem;
946
+ color: var(--carbon-accent);
947
+ text-transform: uppercase;
948
+ letter-spacing: 0.08em;
949
+ position: relative;
950
+ overflow: hidden;
951
+ }
952
+ .carbon .sidebar-card__header::before {
953
+ content: '';
954
+ position: absolute;
955
+ inset: 0;
956
+ background: repeating-linear-gradient(
957
+ 135deg,
958
+ transparent,
959
+ transparent 1px,
960
+ rgba(148, 163, 184, 0.03) 1px,
961
+ rgba(148, 163, 184, 0.03) 2px
962
+ );
963
+ pointer-events: none;
964
+ }
965
+
966
+ .carbon .sidebar-card__body {
967
+ padding: 0.75rem 1rem;
968
+ }
969
+
970
+ /* ── Tool Rows ── */
971
+ .carbon .tool-row {
972
+ display: flex;
973
+ justify-content: space-between;
974
+ align-items: center;
975
+ padding: 0.375rem 0;
976
+ border-bottom: 1px solid rgba(148, 163, 184, 0.06);
977
+ }
978
+ .carbon .tool-row:last-child { border-bottom: none; }
979
+
980
+ .carbon .tool-row__name {
981
+ font-family: var(--font-mono);
982
+ font-size: 0.8125rem;
983
+ color: var(--carbon-text);
984
+ }
985
+
986
+ .carbon .tool-row__count {
987
+ font-family: var(--font-mono);
988
+ font-size: 0.75rem;
989
+ color: var(--carbon-text-muted);
990
+ }
991
+
992
+ /* ── File Rows ── */
993
+ .carbon .file-row {
994
+ display: flex;
995
+ justify-content: space-between;
996
+ align-items: center;
997
+ padding: 0.375rem 0;
998
+ border-bottom: 1px solid rgba(148, 163, 184, 0.06);
999
+ gap: 0.5rem;
1000
+ }
1001
+ .carbon .file-row:last-child { border-bottom: none; }
1002
+
1003
+ .carbon .file-row__name {
1004
+ font-family: var(--font-mono);
1005
+ font-size: 0.75rem;
1006
+ color: var(--carbon-text);
1007
+ overflow: hidden;
1008
+ text-overflow: ellipsis;
1009
+ white-space: nowrap;
1010
+ min-width: 0;
1011
+ }
1012
+
1013
+ .carbon .file-row__diff {
1014
+ font-family: var(--font-mono);
1015
+ font-size: 0.6875rem;
1016
+ color: var(--carbon-accent);
1017
+ white-space: nowrap;
1018
+ flex-shrink: 0;
1019
+ }
1020
+
1021
+ /* ── Sidebar Skills ── */
1022
+ .carbon .sidebar-skills {
1023
+ display: flex;
1024
+ flex-wrap: wrap;
1025
+ gap: 0.375rem;
1026
+ list-style: none;
1027
+ }
1028
+
1029
+ .carbon .sidebar-skill-chip {
1030
+ font-family: var(--font-mono);
1031
+ font-size: 0.6875rem;
1032
+ color: var(--carbon-accent);
1033
+ background: rgba(148, 163, 184, 0.08);
1034
+ border: 1px solid rgba(148, 163, 184, 0.12);
1035
+ padding: 0.1875rem 0.5rem;
1036
+ border-radius: var(--radius-sm);
1037
+ }
1038
+
1039
+ /* ── Footer ── */
1040
+ .carbon .carbon-footer {
1041
+ margin-block-start: 4rem;
1042
+ padding-block-start: 1.5rem;
1043
+ border-top: 1px solid var(--carbon-border);
1044
+ font-family: var(--font-mono);
1045
+ font-size: 0.75rem;
1046
+ color: var(--carbon-text-muted);
1047
+ display: flex;
1048
+ justify-content: space-between;
1049
+ align-items: center;
1050
+ }
1051
+
1052
+ /* ── Responsive ── */
1053
+ @media (max-width: 768px) {
1054
+ .carbon {
1055
+ padding: 1.25rem 1rem;
1056
+ }
1057
+ .carbon .profile__name { font-size: 1.75rem; }
1058
+ .carbon .profile__photo { width: 80px; height: 100px; }
1059
+ .carbon .profile__links { font-size: 0.75rem; }
1060
+ .carbon .stats-bar { grid-template-columns: repeat(2, 1fr); }
1061
+ .carbon .card__header,
1062
+ .carbon .card__body { padding: 1rem 1.25rem; }
1063
+ .carbon .card-stats { flex-wrap: wrap; gap: 0.75rem; }
1064
+ .carbon .project-header__title { font-size: 1.5rem; }
1065
+ .carbon .stats-bar--project { grid-template-columns: repeat(3, 1fr); }
1066
+ .carbon .session-layout {
1067
+ grid-template-columns: 1fr;
1068
+ }
1069
+ .carbon .session-layout > aside { order: -1; }
1070
+ .carbon .session-header__title { font-size: 1.375rem; }
1071
+ .carbon .session-header__meta { gap: 0.75rem; }
1072
+ .carbon .session-row {
1073
+ grid-template-columns: 1fr;
1074
+ gap: 0.375rem;
1075
+ }
1076
+ .carbon .session-row__num { display: none; }
1077
+ .carbon .session-row__date,
1078
+ .carbon .session-row__dur,
1079
+ .carbon .session-row__loc {
1080
+ font-size: 0.6875rem;
1081
+ }
1082
+ .carbon .agent-row { grid-template-columns: 1fr auto; gap: 0.5rem; }
1083
+ .carbon .agent-row__loc { display: none; }
1084
+ .carbon .carbon-footer { flex-direction: column; gap: 0.5rem; align-items: flex-start; }
1085
+ }
1086
+
1087
+ @media (max-width: 480px) {
1088
+ .carbon .stats-bar { grid-template-columns: repeat(2, 1fr); }
1089
+ .carbon .stats-bar--project { grid-template-columns: repeat(2, 1fr); }
1090
+ .carbon .project-header__title { font-size: 1.25rem; }
1091
+ }