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,1178 @@
1
+ /* ── Aurora template styles ──
2
+ * Dark theme with teal/green/purple aurora gradient accents.
3
+ * Space Grotesk display, Inter body, JetBrains Mono code.
4
+ */
5
+
6
+ :root {
7
+ --aurora-bg: #020617;
8
+ --aurora-surface: #0f172a;
9
+ --aurora-surface-hover: #1e293b;
10
+ --aurora-accent: #2dd4bf;
11
+ --aurora-accent-green: #4ade80;
12
+ --aurora-accent-purple: #a78bfa;
13
+ --aurora-accent-dim: rgba(45, 212, 191, 0.15);
14
+ --aurora-accent-glow: rgba(45, 212, 191, 0.25);
15
+ --aurora-text: #f1f5f9;
16
+ --aurora-text-secondary: #94a3b8;
17
+ --aurora-text-tertiary: #64748b;
18
+ --aurora-border: #1e293b;
19
+ --aurora-border-accent: rgba(45, 212, 191, 0.2);
20
+ --aurora-font-display: 'Space Grotesk', system-ui, sans-serif;
21
+ --aurora-font-body: 'Inter', system-ui, sans-serif;
22
+ --aurora-font-mono: 'JetBrains Mono', monospace;
23
+ --aurora-radius: 8px;
24
+ --aurora-radius-lg: 12px;
25
+ --aurora-duration: 300ms;
26
+ --aurora-ease: cubic-bezier(0.16, 1, 0.3, 1);
27
+
28
+ /* Agent colors */
29
+ --agent-frontend: #7c3aed;
30
+ --agent-backend: #0891b2;
31
+ --agent-qa: #059669;
32
+ --agent-security: #475569;
33
+ --agent-reviewer: #e11d48;
34
+ --agent-ux: #d97706;
35
+ }
36
+
37
+ /* ── Dark wrapper ── */
38
+ .aurora {
39
+ background: var(--aurora-bg);
40
+ color: var(--aurora-text);
41
+ font-family: var(--aurora-font-body);
42
+ line-height: 1.6;
43
+ -webkit-font-smoothing: antialiased;
44
+ -moz-osx-font-smoothing: grayscale;
45
+ }
46
+ .aurora a {
47
+ color: var(--aurora-accent);
48
+ text-decoration: none;
49
+ transition: color var(--aurora-duration) ease;
50
+ }
51
+ .aurora a:hover { color: var(--aurora-accent-green); }
52
+ .aurora a:visited { color: var(--aurora-accent); }
53
+ .aurora a:focus-visible {
54
+ outline: 2px solid var(--aurora-accent);
55
+ outline-offset: 2px;
56
+ border-radius: 2px;
57
+ }
58
+
59
+ /* ── Aurora Gradient Header ── */
60
+ .aurora .aurora-header {
61
+ position: relative;
62
+ overflow: hidden;
63
+ padding: 4rem 2rem 3rem;
64
+ }
65
+ .aurora .aurora-header::before {
66
+ content: '';
67
+ position: absolute;
68
+ inset: 0;
69
+ background: linear-gradient(
70
+ 135deg,
71
+ rgba(45, 212, 191, 0.08) 0%,
72
+ rgba(74, 222, 128, 0.06) 30%,
73
+ rgba(167, 139, 250, 0.05) 60%,
74
+ rgba(45, 212, 191, 0.04) 100%
75
+ );
76
+ background-size: 200% 200%;
77
+ animation: auroraShift 60s ease-in-out infinite;
78
+ pointer-events: none;
79
+ }
80
+ .aurora .aurora-header::after {
81
+ content: '';
82
+ position: absolute;
83
+ inset: 0;
84
+ background: linear-gradient(to bottom, transparent 60%, var(--aurora-bg) 100%);
85
+ pointer-events: none;
86
+ }
87
+
88
+ @keyframes auroraShift {
89
+ 0%, 100% { background-position: 0% 50%; opacity: 1; }
90
+ 25% { background-position: 50% 0%; opacity: 0.7; }
91
+ 50% { background-position: 100% 50%; opacity: 1; }
92
+ 75% { background-position: 50% 100%; opacity: 0.8; }
93
+ }
94
+
95
+ @keyframes auroraGlow {
96
+ 0%, 100% { background-position: 0% 50%; }
97
+ 33% { background-position: 100% 0%; }
98
+ 66% { background-position: 50% 100%; }
99
+ }
100
+
101
+ @keyframes pulseDot {
102
+ 0%, 100% { box-shadow: 0 0 12px rgba(45, 212, 191, 0.4); }
103
+ 50% { box-shadow: 0 0 20px rgba(45, 212, 191, 0.6); }
104
+ }
105
+
106
+ @media (prefers-reduced-motion: reduce) {
107
+ .aurora .aurora-header::before { animation: none; }
108
+ .aurora .hero-photo-wrap::before { animation: none; }
109
+ .aurora .fade-up { opacity: 1 !important; transform: none !important; }
110
+ .aurora .aurora-stat-number { animation: none !important; }
111
+ .aurora .aurora-beat-dot { animation: none !important; }
112
+ .aurora .aurora-phase-dot { animation: none !important; }
113
+ .aurora .aurora-chart-bar-fill { transition: none; }
114
+ .aurora .aurora-agent-bar-fill { transition: none; }
115
+ }
116
+
117
+ /* ── Hero (Portfolio) ── */
118
+ .aurora .aurora-hero {
119
+ max-width: 960px;
120
+ margin: 0 auto;
121
+ position: relative;
122
+ z-index: 2;
123
+ display: flex;
124
+ align-items: flex-start;
125
+ gap: 2.5rem;
126
+ }
127
+ .aurora .hero-photo-wrap {
128
+ position: relative;
129
+ flex-shrink: 0;
130
+ }
131
+ .aurora .hero-photo-wrap::before {
132
+ content: '';
133
+ position: absolute;
134
+ inset: -4px;
135
+ border-radius: 12px;
136
+ background: linear-gradient(135deg, #2dd4bf, #4ade80, #a78bfa, #2dd4bf);
137
+ background-size: 300% 300%;
138
+ animation: auroraGlow 8s ease infinite;
139
+ z-index: 0;
140
+ opacity: 0.7;
141
+ filter: blur(8px);
142
+ }
143
+ .aurora .hero-photo {
144
+ position: relative;
145
+ z-index: 1;
146
+ width: 250px;
147
+ height: 320px;
148
+ border-radius: 8px;
149
+ object-fit: cover;
150
+ object-position: center 10%;
151
+ border: 2px solid rgba(45, 212, 191, 0.3);
152
+ display: block;
153
+ }
154
+ .aurora .aurora-hero-content {
155
+ flex: 1;
156
+ min-width: 0;
157
+ }
158
+ .aurora .aurora-hero h1 {
159
+ font-family: var(--aurora-font-display);
160
+ font-size: 3rem;
161
+ font-weight: 700;
162
+ letter-spacing: -0.03em;
163
+ color: var(--aurora-text);
164
+ text-shadow: 0 0 40px rgba(45, 212, 191, 0.2);
165
+ margin-bottom: 0.25rem;
166
+ }
167
+ .aurora .aurora-hero-location {
168
+ display: flex;
169
+ align-items: center;
170
+ gap: 0.5rem;
171
+ margin-bottom: 1rem;
172
+ font-size: 0.875rem;
173
+ color: var(--aurora-text-tertiary);
174
+ }
175
+ .aurora .aurora-hero-location svg {
176
+ width: 14px;
177
+ height: 14px;
178
+ fill: none;
179
+ stroke: currentColor;
180
+ stroke-width: 2;
181
+ }
182
+ .aurora .aurora-hero-bio {
183
+ font-size: 1.125rem;
184
+ color: var(--aurora-text-secondary);
185
+ line-height: 1.7;
186
+ margin-bottom: 1.25rem;
187
+ }
188
+ .aurora .aurora-hero-links {
189
+ display: flex;
190
+ flex-wrap: wrap;
191
+ gap: 1rem;
192
+ list-style: none;
193
+ }
194
+ .aurora .aurora-hero-links a {
195
+ display: inline-flex;
196
+ align-items: center;
197
+ gap: 0.375rem;
198
+ font-family: var(--aurora-font-mono);
199
+ font-size: 0.8125rem;
200
+ color: var(--aurora-text-secondary);
201
+ transition: color var(--aurora-duration) ease;
202
+ }
203
+ .aurora .aurora-hero-links a:hover { color: var(--aurora-accent); }
204
+ .aurora .aurora-hero-links svg { flex-shrink: 0; }
205
+
206
+ /* ── Hero Stats (Portfolio) ── */
207
+ .aurora .aurora-hero-stats {
208
+ max-width: 960px;
209
+ margin: 2.5rem auto 0;
210
+ padding: 0 2rem;
211
+ position: relative;
212
+ z-index: 2;
213
+ }
214
+ .aurora .aurora-hero-stats-inner {
215
+ display: flex;
216
+ gap: 2rem;
217
+ font-family: var(--aurora-font-mono);
218
+ font-size: 0.8125rem;
219
+ color: var(--aurora-text-tertiary);
220
+ }
221
+ .aurora .aurora-hero-stats-inner span { white-space: nowrap; }
222
+ .aurora .aurora-hero-stats-inner strong { color: var(--aurora-accent); font-weight: 500; }
223
+
224
+ /* ── Stats Grid ── */
225
+ .aurora .aurora-stats {
226
+ max-width: 960px;
227
+ margin: 3rem auto;
228
+ padding: 0 2rem;
229
+ display: grid;
230
+ grid-template-columns: repeat(4, 1fr);
231
+ gap: 1rem;
232
+ }
233
+ .aurora .aurora-stats--project {
234
+ grid-template-columns: repeat(6, 1fr);
235
+ margin-bottom: 2rem;
236
+ gap: 0.75rem;
237
+ }
238
+ .aurora .aurora-stats--project .aurora-stat {
239
+ padding: 1rem;
240
+ border-radius: var(--aurora-radius);
241
+ }
242
+ .aurora .aurora-stats--project .aurora-stat-number {
243
+ font-size: 1.375rem;
244
+ }
245
+ .aurora .aurora-stats--project .aurora-stat-label {
246
+ font-size: 0.6875rem;
247
+ margin-top: 0.125rem;
248
+ }
249
+ .aurora .aurora-stat {
250
+ background: var(--aurora-surface);
251
+ border: 1px solid var(--aurora-border);
252
+ border-radius: var(--aurora-radius-lg);
253
+ padding: 1.5rem;
254
+ text-align: center;
255
+ box-shadow: 0 0 20px rgba(45, 212, 191, 0.05);
256
+ transition: box-shadow var(--aurora-duration) ease, border-color var(--aurora-duration) ease;
257
+ }
258
+ .aurora .aurora-stat:hover {
259
+ border-color: var(--aurora-border-accent);
260
+ box-shadow: 0 0 30px rgba(45, 212, 191, 0.1);
261
+ }
262
+ .aurora .aurora-stat-number {
263
+ font-family: var(--aurora-font-display);
264
+ font-size: 2rem;
265
+ font-weight: 700;
266
+ color: var(--aurora-accent);
267
+ text-shadow: 0 0 20px rgba(45, 212, 191, 0.3);
268
+ }
269
+ .aurora .aurora-stat-label {
270
+ font-size: 0.8125rem;
271
+ color: var(--aurora-text-tertiary);
272
+ margin-top: 0.25rem;
273
+ text-transform: uppercase;
274
+ letter-spacing: 0.05em;
275
+ }
276
+
277
+ /* ── Leverage Section ── */
278
+ .aurora .aurora-leverage-section {
279
+ text-align: center;
280
+ padding: 1.5rem 1rem;
281
+ }
282
+ .aurora .aurora-leverage-section__multi {
283
+ font-family: var(--aurora-font-display);
284
+ font-size: 2rem;
285
+ font-weight: 700;
286
+ color: var(--aurora-accent);
287
+ text-shadow: 0 0 20px rgba(45, 212, 191, 0.3);
288
+ line-height: 1;
289
+ }
290
+ .aurora .aurora-leverage-section__context {
291
+ font-size: 0.875rem;
292
+ color: var(--aurora-text-tertiary);
293
+ margin-block-start: 0.375rem;
294
+ }
295
+ .aurora .aurora-leverage-section__context strong {
296
+ color: var(--aurora-accent);
297
+ }
298
+ .aurora .aurora-leverage-section__bar {
299
+ height: 2px;
300
+ border-radius: 1px;
301
+ background: rgba(255,255,255,0.06);
302
+ display: flex;
303
+ overflow: hidden;
304
+ max-width: 300px;
305
+ margin: 0.75rem auto 0;
306
+ }
307
+ .aurora .aurora-leverage-section__bar-human {
308
+ height: 100%;
309
+ background: rgba(255,255,255,0.25);
310
+ border-radius: 1px 0 0 1px;
311
+ }
312
+ .aurora .aurora-leverage-section__bar-agent {
313
+ height: 100%;
314
+ background: var(--aurora-accent);
315
+ border-radius: 0 1px 1px 0;
316
+ }
317
+
318
+ /* ── Section ── */
319
+ .aurora .aurora-section {
320
+ max-width: 960px;
321
+ margin: 0 auto;
322
+ padding: 2rem 2rem 0;
323
+ }
324
+ .aurora .aurora-section--content {
325
+ margin-bottom: 3rem;
326
+ padding: 0;
327
+ }
328
+ .aurora .aurora-section-title {
329
+ font-family: var(--aurora-font-display);
330
+ font-size: 1.5rem;
331
+ font-weight: 600;
332
+ color: var(--aurora-text);
333
+ margin-bottom: 1.5rem;
334
+ text-shadow: 0 0 20px rgba(45, 212, 191, 0.15);
335
+ }
336
+ .aurora .aurora-section-title--sm,
337
+ .heyiam-project.aurora .aurora-section-title {
338
+ font-size: 1.25rem;
339
+ margin-bottom: 1.25rem;
340
+ }
341
+
342
+ /* ── Project Cards (Portfolio) ── */
343
+ .aurora .aurora-projects {
344
+ display: grid;
345
+ grid-template-columns: repeat(auto-fill, minmax(min(100%, 360px), 1fr));
346
+ gap: 1.5rem;
347
+ }
348
+ .aurora .aurora-card {
349
+ background: var(--aurora-surface);
350
+ border: 1px solid var(--aurora-border);
351
+ border-radius: var(--aurora-radius-lg);
352
+ padding: 2rem;
353
+ transition: border-color var(--aurora-duration) ease, box-shadow var(--aurora-duration) ease, transform var(--aurora-duration) ease;
354
+ text-decoration: none;
355
+ color: inherit;
356
+ display: block;
357
+ }
358
+ .aurora .aurora-card:hover {
359
+ border-color: var(--aurora-border-accent);
360
+ box-shadow: 0 4px 24px rgba(45, 212, 191, 0.08);
361
+ transform: translateY(-2px);
362
+ }
363
+ .aurora .aurora-card-header {
364
+ display: flex;
365
+ justify-content: space-between;
366
+ align-items: flex-start;
367
+ margin-bottom: 0.75rem;
368
+ }
369
+ .aurora .aurora-card h3 {
370
+ font-family: var(--aurora-font-display);
371
+ font-size: 1.25rem;
372
+ font-weight: 600;
373
+ color: var(--aurora-text);
374
+ }
375
+ .aurora .aurora-card-narrative {
376
+ font-size: 0.9375rem;
377
+ color: var(--aurora-text-secondary);
378
+ line-height: 1.65;
379
+ margin-bottom: 1.25rem;
380
+ }
381
+ .aurora .aurora-card-stats {
382
+ display: flex;
383
+ gap: 1.5rem;
384
+ margin-bottom: 1.25rem;
385
+ font-size: 0.8125rem;
386
+ color: var(--aurora-text-tertiary);
387
+ font-family: var(--aurora-font-mono);
388
+ }
389
+ .aurora .aurora-card-stats span { white-space: nowrap; }
390
+
391
+ /* ── Tags ── */
392
+ .aurora .aurora-tags {
393
+ display: flex;
394
+ flex-wrap: wrap;
395
+ gap: 0.5rem;
396
+ }
397
+ .aurora .aurora-tag {
398
+ font-size: 0.75rem;
399
+ font-family: var(--aurora-font-mono);
400
+ color: var(--aurora-accent);
401
+ background: var(--aurora-accent-dim);
402
+ border: 1px solid rgba(45, 212, 191, 0.15);
403
+ padding: 0.25rem 0.625rem;
404
+ border-radius: 9999px;
405
+ white-space: nowrap;
406
+ }
407
+
408
+ /* ── Breadcrumb ── */
409
+ .aurora .aurora-breadcrumb {
410
+ max-width: 960px;
411
+ margin: 0 auto 1.5rem;
412
+ position: relative;
413
+ z-index: 2;
414
+ font-size: 0.8125rem;
415
+ font-family: var(--aurora-font-mono);
416
+ color: var(--aurora-text-tertiary);
417
+ }
418
+ .aurora .aurora-breadcrumb a { color: var(--aurora-text-tertiary); }
419
+ .aurora .aurora-breadcrumb a:hover { color: var(--aurora-accent); }
420
+ .aurora .aurora-breadcrumb a:visited { color: var(--aurora-text-tertiary); }
421
+ .aurora .aurora-breadcrumb-sep { margin: 0 0.375rem; }
422
+
423
+ /* ── Project Hero ── */
424
+ .aurora .aurora-project-hero {
425
+ max-width: 960px;
426
+ margin: 0 auto;
427
+ position: relative;
428
+ z-index: 2;
429
+ }
430
+ .aurora .aurora-project-hero h1 {
431
+ font-family: var(--aurora-font-display);
432
+ font-size: 2.5rem;
433
+ font-weight: 700;
434
+ letter-spacing: -0.03em;
435
+ color: var(--aurora-text);
436
+ text-shadow: 0 0 40px rgba(45, 212, 191, 0.2);
437
+ margin-bottom: 0.5rem;
438
+ }
439
+ .aurora .aurora-project-links {
440
+ display: flex;
441
+ gap: 1.25rem;
442
+ font-size: 0.875rem;
443
+ margin-bottom: 0.5rem;
444
+ }
445
+ .aurora .aurora-project-links a {
446
+ display: flex;
447
+ align-items: center;
448
+ gap: 0.375rem;
449
+ color: var(--aurora-text-secondary);
450
+ }
451
+ .aurora .aurora-project-links svg {
452
+ width: 14px;
453
+ height: 14px;
454
+ fill: none;
455
+ stroke: currentColor;
456
+ stroke-width: 2;
457
+ }
458
+
459
+ /* ── Screenshot ── */
460
+ .aurora .aurora-screenshot {
461
+ max-width: 960px;
462
+ margin: 2rem auto;
463
+ padding: 0 2rem;
464
+ }
465
+ .aurora .aurora-screenshot-frame {
466
+ background: var(--aurora-surface);
467
+ border: 1px solid var(--aurora-border);
468
+ border-radius: var(--aurora-radius-lg);
469
+ overflow: hidden;
470
+ }
471
+ .aurora .aurora-screenshot-chrome {
472
+ display: flex;
473
+ align-items: center;
474
+ gap: 6px;
475
+ padding: 0.75rem 1rem;
476
+ background: #0f172a;
477
+ border-bottom: 1px solid var(--aurora-border);
478
+ }
479
+ .aurora .aurora-screenshot-dot {
480
+ width: 10px;
481
+ height: 10px;
482
+ border-radius: 50%;
483
+ background: var(--aurora-text-tertiary);
484
+ opacity: 0.4;
485
+ }
486
+ .aurora .aurora-screenshot-dot:nth-child(1) { background: #f87171; opacity: 0.7; }
487
+ .aurora .aurora-screenshot-dot:nth-child(2) { background: #fbbf24; opacity: 0.7; }
488
+ .aurora .aurora-screenshot-dot:nth-child(3) { background: #4ade80; opacity: 0.7; }
489
+ .aurora .aurora-screenshot img {
490
+ width: 100%;
491
+ display: block;
492
+ }
493
+
494
+ /* ── Narrative ── */
495
+ .aurora .aurora-narrative p {
496
+ font-size: 0.9375rem;
497
+ color: var(--aurora-text-secondary);
498
+ line-height: 1.75;
499
+ margin-bottom: 1rem;
500
+ }
501
+ .aurora .aurora-narrative p:last-child { margin-bottom: 0; }
502
+
503
+ /* ── Content Container ── */
504
+ .aurora .aurora-content {
505
+ max-width: 960px;
506
+ margin: 0 auto;
507
+ padding: 0 2rem;
508
+ }
509
+
510
+ /* ── Work Timeline Chart ── */
511
+ .aurora .aurora-chart {
512
+ background: var(--aurora-surface);
513
+ border: 1px solid var(--aurora-border);
514
+ border-radius: var(--aurora-radius-lg);
515
+ padding: 1.5rem;
516
+ }
517
+ .aurora .aurora-chart-bars {
518
+ display: flex;
519
+ flex-direction: column;
520
+ gap: 0.625rem;
521
+ }
522
+ .aurora .aurora-chart-row {
523
+ display: grid;
524
+ grid-template-columns: 200px 1fr 60px;
525
+ align-items: center;
526
+ gap: 1rem;
527
+ font-size: 0.8125rem;
528
+ }
529
+ .aurora .aurora-chart-label {
530
+ color: var(--aurora-text-secondary);
531
+ white-space: nowrap;
532
+ overflow: hidden;
533
+ text-overflow: ellipsis;
534
+ }
535
+ .aurora .aurora-chart-label a { color: var(--aurora-text-secondary); }
536
+ .aurora .aurora-chart-label a:hover { color: var(--aurora-accent); }
537
+ .aurora .aurora-chart-label a:visited { color: var(--aurora-text-secondary); }
538
+ .aurora .aurora-chart-bar-track {
539
+ height: 20px;
540
+ border-radius: 4px;
541
+ background: rgba(45, 212, 191, 0.06);
542
+ overflow: hidden;
543
+ position: relative;
544
+ }
545
+ .aurora .aurora-chart-bar-fill {
546
+ height: 100%;
547
+ border-radius: 4px;
548
+ background: linear-gradient(90deg, var(--aurora-accent), var(--aurora-accent-green));
549
+ transition: width 1s var(--aurora-ease);
550
+ position: relative;
551
+ }
552
+ .aurora .aurora-chart-bar-fill--cursor {
553
+ background: linear-gradient(90deg, var(--aurora-accent-purple), #c084fc);
554
+ }
555
+ .aurora .aurora-chart-bar-agents {
556
+ position: absolute;
557
+ top: 50%;
558
+ right: 6px;
559
+ transform: translateY(-50%);
560
+ display: flex;
561
+ gap: 2px;
562
+ }
563
+ .aurora .aurora-chart-agent-dot {
564
+ width: 6px;
565
+ height: 6px;
566
+ border-radius: 50%;
567
+ }
568
+ .aurora .aurora-chart-value {
569
+ font-family: var(--aurora-font-mono);
570
+ font-size: 0.75rem;
571
+ color: var(--aurora-text-tertiary);
572
+ text-align: end;
573
+ }
574
+
575
+ /* ── Phases Timeline ── */
576
+ .aurora .aurora-phases {
577
+ position: relative;
578
+ padding-inline-start: 2rem;
579
+ }
580
+ .aurora .aurora-phases::before {
581
+ content: '';
582
+ position: absolute;
583
+ left: 7px;
584
+ top: 4px;
585
+ bottom: 4px;
586
+ width: 2px;
587
+ background: linear-gradient(to bottom, var(--aurora-accent), var(--aurora-accent-green), var(--aurora-accent-purple));
588
+ border-radius: 1px;
589
+ }
590
+ .aurora .aurora-phase {
591
+ position: relative;
592
+ margin-bottom: 1.5rem;
593
+ }
594
+ .aurora .aurora-phase:last-child { margin-bottom: 0; }
595
+ .aurora .aurora-phase-dot {
596
+ position: absolute;
597
+ left: -2rem;
598
+ top: 2px;
599
+ width: 16px;
600
+ height: 16px;
601
+ border-radius: 50%;
602
+ background: linear-gradient(135deg, var(--aurora-accent), var(--aurora-accent-green));
603
+ box-shadow: 0 0 12px rgba(45, 212, 191, 0.4);
604
+ animation: pulseDot 3s ease-in-out infinite;
605
+ }
606
+ .aurora .aurora-phase:nth-child(2) .aurora-phase-dot { animation-delay: 0.75s; }
607
+ .aurora .aurora-phase:nth-child(3) .aurora-phase-dot { animation-delay: 1.5s; }
608
+ .aurora .aurora-phase:nth-child(4) .aurora-phase-dot { animation-delay: 2.25s; }
609
+ .aurora .aurora-phase-title {
610
+ font-family: var(--aurora-font-display);
611
+ font-size: 0.9375rem;
612
+ font-weight: 600;
613
+ color: var(--aurora-text);
614
+ }
615
+ .aurora .aurora-phase-dates {
616
+ font-family: var(--aurora-font-mono);
617
+ font-size: 0.75rem;
618
+ color: var(--aurora-text-tertiary);
619
+ margin-top: 0.125rem;
620
+ }
621
+ .aurora .aurora-phase-desc {
622
+ font-size: 0.875rem;
623
+ color: var(--aurora-text-secondary);
624
+ margin-top: 0.25rem;
625
+ }
626
+
627
+ /* ── Key Decisions ── */
628
+ .aurora .aurora-decisions {
629
+ list-style: none;
630
+ display: flex;
631
+ flex-direction: column;
632
+ gap: 0.75rem;
633
+ }
634
+ .aurora .aurora-decision {
635
+ display: flex;
636
+ gap: 0.75rem;
637
+ align-items: flex-start;
638
+ padding: 1rem;
639
+ background: var(--aurora-surface);
640
+ border: 1px solid var(--aurora-border);
641
+ border-radius: var(--aurora-radius);
642
+ }
643
+ .aurora .aurora-decision-num {
644
+ font-family: var(--aurora-font-display);
645
+ font-weight: 700;
646
+ font-size: 0.875rem;
647
+ color: var(--aurora-accent);
648
+ min-width: 1.5rem;
649
+ text-shadow: 0 0 10px rgba(45, 212, 191, 0.3);
650
+ }
651
+ .aurora .aurora-decision-text {
652
+ font-size: 0.9375rem;
653
+ color: var(--aurora-text-secondary);
654
+ line-height: 1.5;
655
+ }
656
+
657
+ /* ── Source Breakdown ── */
658
+ .aurora .aurora-source-bar {
659
+ display: flex;
660
+ align-items: center;
661
+ gap: 0.75rem;
662
+ }
663
+ .aurora .aurora-source-track {
664
+ flex: 1;
665
+ height: 8px;
666
+ border-radius: 4px;
667
+ background: var(--aurora-border);
668
+ overflow: hidden;
669
+ display: flex;
670
+ }
671
+ .aurora .aurora-source-fill-claude {
672
+ background: linear-gradient(90deg, var(--aurora-accent), var(--aurora-accent-green));
673
+ height: 100%;
674
+ }
675
+ .aurora .aurora-source-fill-cursor {
676
+ background: var(--aurora-accent-purple);
677
+ height: 100%;
678
+ }
679
+ .aurora .aurora-source-labels {
680
+ display: flex;
681
+ gap: 1rem;
682
+ font-size: 0.75rem;
683
+ color: var(--aurora-text-tertiary);
684
+ font-family: var(--aurora-font-mono);
685
+ white-space: nowrap;
686
+ }
687
+ .aurora .aurora-source-dot {
688
+ display: inline-block;
689
+ width: 8px;
690
+ height: 8px;
691
+ border-radius: 50%;
692
+ margin-inline-end: 0.25rem;
693
+ vertical-align: middle;
694
+ }
695
+ .aurora .aurora-source-dot--claude { background: var(--aurora-accent); }
696
+ .aurora .aurora-source-dot--cursor { background: var(--aurora-accent-purple); }
697
+
698
+ /* ── Session Cards (Project) ── */
699
+ .aurora .aurora-sessions {
700
+ display: grid;
701
+ grid-template-columns: repeat(2, 1fr);
702
+ gap: 1rem;
703
+ }
704
+ .aurora .aurora-session-card {
705
+ background: var(--aurora-surface);
706
+ border: 1px solid var(--aurora-border);
707
+ border-radius: var(--aurora-radius);
708
+ padding: 1.25rem;
709
+ transition: border-color var(--aurora-duration) ease, box-shadow var(--aurora-duration) ease;
710
+ text-decoration: none;
711
+ color: inherit;
712
+ display: block;
713
+ }
714
+ .aurora .aurora-session-card:hover {
715
+ border-color: var(--aurora-border-accent);
716
+ box-shadow: 0 4px 20px rgba(45, 212, 191, 0.08);
717
+ transform: translateY(-2px);
718
+ }
719
+ .aurora .aurora-session-card:visited { color: inherit; }
720
+ .aurora .aurora-session-card h3 {
721
+ font-family: var(--aurora-font-display);
722
+ font-size: 0.9375rem;
723
+ font-weight: 600;
724
+ color: var(--aurora-text);
725
+ margin-bottom: 0.5rem;
726
+ }
727
+ .aurora .aurora-session-card h3 a:visited { color: var(--aurora-text); }
728
+ .aurora .aurora-session-meta {
729
+ display: flex;
730
+ gap: 0.75rem;
731
+ font-size: 0.75rem;
732
+ font-family: var(--aurora-font-mono);
733
+ color: var(--aurora-text-tertiary);
734
+ flex-wrap: wrap;
735
+ }
736
+ .aurora .aurora-session-tag {
737
+ margin-top: 0.5rem;
738
+ font-size: 0.6875rem;
739
+ font-family: var(--aurora-font-mono);
740
+ color: var(--aurora-accent);
741
+ background: var(--aurora-accent-dim);
742
+ display: inline-block;
743
+ padding: 0.125rem 0.5rem;
744
+ border-radius: 9999px;
745
+ }
746
+
747
+ /* ── Session Hero ── */
748
+ .aurora .aurora-session-hero {
749
+ max-width: 960px;
750
+ margin: 0 auto;
751
+ position: relative;
752
+ z-index: 2;
753
+ }
754
+ .aurora .aurora-session-hero h1 {
755
+ font-family: var(--aurora-font-display);
756
+ font-size: 2rem;
757
+ font-weight: 700;
758
+ letter-spacing: -0.02em;
759
+ color: var(--aurora-text);
760
+ text-shadow: 0 0 40px rgba(45, 212, 191, 0.2);
761
+ margin-bottom: 0.75rem;
762
+ max-width: 700px;
763
+ }
764
+ .aurora .aurora-session-meta-row {
765
+ display: flex;
766
+ flex-wrap: wrap;
767
+ gap: 1.25rem;
768
+ font-size: 0.8125rem;
769
+ color: var(--aurora-text-tertiary);
770
+ font-family: var(--aurora-font-mono);
771
+ }
772
+ .aurora .aurora-session-meta-item {
773
+ display: flex;
774
+ align-items: center;
775
+ gap: 0.375rem;
776
+ }
777
+ .aurora .aurora-session-meta-item svg {
778
+ width: 14px;
779
+ height: 14px;
780
+ fill: none;
781
+ stroke: currentColor;
782
+ stroke-width: 2;
783
+ }
784
+ .aurora .aurora-source-badge {
785
+ display: inline-flex;
786
+ align-items: center;
787
+ gap: 0.375rem;
788
+ padding: 0.25rem 0.625rem;
789
+ border-radius: 9999px;
790
+ font-size: 0.75rem;
791
+ font-family: var(--aurora-font-mono);
792
+ background: var(--aurora-accent-dim);
793
+ color: var(--aurora-accent);
794
+ border: 1px solid rgba(45, 212, 191, 0.15);
795
+ }
796
+ .aurora .aurora-source-badge::before {
797
+ content: '';
798
+ width: 6px;
799
+ height: 6px;
800
+ border-radius: 50%;
801
+ background: var(--aurora-accent);
802
+ }
803
+
804
+ /* ── Dev Take ── */
805
+ .aurora .aurora-dev-take {
806
+ max-width: 960px;
807
+ margin: 2rem auto;
808
+ padding: 0 2rem;
809
+ }
810
+ .aurora .aurora-dev-take-box {
811
+ background: var(--aurora-surface);
812
+ border: 1px solid var(--aurora-border-accent);
813
+ border-inline-start: 3px solid var(--aurora-accent);
814
+ border-radius: var(--aurora-radius);
815
+ padding: 1.25rem 1.5rem;
816
+ font-size: 0.9375rem;
817
+ color: var(--aurora-text-secondary);
818
+ line-height: 1.7;
819
+ font-style: italic;
820
+ }
821
+
822
+ /* ── Two-Column Layout (Session) ── */
823
+ .aurora .aurora-layout {
824
+ max-width: 960px;
825
+ margin: 0 auto;
826
+ padding: 0 2rem;
827
+ display: grid;
828
+ grid-template-columns: 1fr 280px;
829
+ gap: 2rem;
830
+ align-items: start;
831
+ }
832
+ .aurora .aurora-main-content {
833
+ min-width: 0;
834
+ }
835
+
836
+ /* ── Execution Path / Beats ── */
837
+ .aurora .aurora-beats {
838
+ position: relative;
839
+ padding-inline-start: 2rem;
840
+ }
841
+ .aurora .aurora-beats::before {
842
+ content: '';
843
+ position: absolute;
844
+ left: 7px;
845
+ top: 4px;
846
+ bottom: 4px;
847
+ width: 2px;
848
+ background: linear-gradient(to bottom, var(--aurora-accent), var(--aurora-accent-green), var(--aurora-accent-purple));
849
+ border-radius: 1px;
850
+ }
851
+ .aurora .aurora-beat {
852
+ position: relative;
853
+ margin-bottom: 1.75rem;
854
+ }
855
+ .aurora .aurora-beat:last-child { margin-bottom: 0; }
856
+ .aurora .aurora-beat-dot {
857
+ position: absolute;
858
+ left: -2rem;
859
+ top: 2px;
860
+ width: 16px;
861
+ height: 16px;
862
+ border-radius: 50%;
863
+ background: linear-gradient(135deg, var(--aurora-accent), var(--aurora-accent-green));
864
+ box-shadow: 0 0 12px rgba(45, 212, 191, 0.4);
865
+ animation: pulseDot 3s ease-in-out infinite;
866
+ }
867
+ .aurora .aurora-beat:nth-child(2) .aurora-beat-dot { animation-delay: 0.75s; }
868
+ .aurora .aurora-beat:nth-child(3) .aurora-beat-dot { animation-delay: 1.5s; }
869
+ .aurora .aurora-beat:nth-child(4) .aurora-beat-dot { animation-delay: 2.25s; }
870
+ .aurora .aurora-beat-title {
871
+ font-family: var(--aurora-font-display);
872
+ font-size: 0.9375rem;
873
+ font-weight: 600;
874
+ color: var(--aurora-text);
875
+ margin-bottom: 0.25rem;
876
+ }
877
+ .aurora .aurora-beat-desc {
878
+ font-size: 0.875rem;
879
+ color: var(--aurora-text-secondary);
880
+ line-height: 1.65;
881
+ }
882
+
883
+ /* ── Q&A ── */
884
+ .aurora .aurora-qa-list {
885
+ display: flex;
886
+ flex-direction: column;
887
+ gap: 1.25rem;
888
+ }
889
+ .aurora .aurora-qa-item {
890
+ background: var(--aurora-surface);
891
+ border: 1px solid var(--aurora-border);
892
+ border-radius: var(--aurora-radius);
893
+ padding: 1.25rem;
894
+ }
895
+ .aurora .aurora-qa-question {
896
+ font-family: var(--aurora-font-display);
897
+ font-size: 0.9375rem;
898
+ font-weight: 600;
899
+ color: var(--aurora-text);
900
+ margin-bottom: 0.625rem;
901
+ display: flex;
902
+ gap: 0.5rem;
903
+ }
904
+ .aurora .aurora-qa-q-mark {
905
+ color: var(--aurora-accent);
906
+ font-weight: 700;
907
+ flex-shrink: 0;
908
+ text-shadow: 0 0 10px rgba(45, 212, 191, 0.3);
909
+ }
910
+ .aurora .aurora-qa-answer {
911
+ font-size: 0.875rem;
912
+ color: var(--aurora-text-secondary);
913
+ line-height: 1.7;
914
+ padding-inline-start: 1.5rem;
915
+ }
916
+
917
+ /* ── Agent Summary ── */
918
+ .aurora .aurora-agents {
919
+ display: flex;
920
+ flex-direction: column;
921
+ gap: 0.625rem;
922
+ }
923
+ .aurora .aurora-agent-row {
924
+ display: grid;
925
+ grid-template-columns: 140px 1fr 50px 50px;
926
+ align-items: center;
927
+ gap: 0.75rem;
928
+ font-size: 0.8125rem;
929
+ }
930
+ .aurora .aurora-agent-name {
931
+ display: flex;
932
+ align-items: center;
933
+ gap: 0.5rem;
934
+ color: var(--aurora-text-secondary);
935
+ font-family: var(--aurora-font-mono);
936
+ font-size: 0.75rem;
937
+ }
938
+ .aurora .aurora-agent-dot {
939
+ width: 8px;
940
+ height: 8px;
941
+ border-radius: 50%;
942
+ flex-shrink: 0;
943
+ }
944
+ .aurora .aurora-agent-bar-track {
945
+ height: 16px;
946
+ border-radius: 4px;
947
+ background: rgba(45, 212, 191, 0.06);
948
+ overflow: hidden;
949
+ }
950
+ .aurora .aurora-agent-bar-fill {
951
+ height: 100%;
952
+ border-radius: 4px;
953
+ opacity: 0.8;
954
+ transition: width 1s var(--aurora-ease);
955
+ }
956
+ .aurora .aurora-agent-value {
957
+ font-family: var(--aurora-font-mono);
958
+ font-size: 0.75rem;
959
+ color: var(--aurora-text-tertiary);
960
+ text-align: end;
961
+ }
962
+
963
+ /* ── Sidebar ── */
964
+ .aurora .aurora-sidebar {
965
+ display: flex;
966
+ flex-direction: column;
967
+ gap: 1.5rem;
968
+ }
969
+ .aurora .aurora-sidebar-card {
970
+ background: var(--aurora-surface);
971
+ border: 1px solid var(--aurora-border);
972
+ border-radius: var(--aurora-radius);
973
+ padding: 1.25rem;
974
+ }
975
+ .aurora .aurora-sidebar-title {
976
+ font-family: var(--aurora-font-display);
977
+ font-size: 0.8125rem;
978
+ font-weight: 600;
979
+ color: var(--aurora-text-tertiary);
980
+ text-transform: uppercase;
981
+ letter-spacing: 0.05em;
982
+ margin-bottom: 0.75rem;
983
+ }
984
+
985
+ /* ── Tools Used ── */
986
+ .aurora .aurora-tools-list {
987
+ display: flex;
988
+ flex-direction: column;
989
+ gap: 0.375rem;
990
+ }
991
+ .aurora .aurora-tool-row {
992
+ display: flex;
993
+ justify-content: space-between;
994
+ align-items: center;
995
+ font-size: 0.8125rem;
996
+ }
997
+ .aurora .aurora-tool-name {
998
+ font-family: var(--aurora-font-mono);
999
+ color: var(--aurora-text-secondary);
1000
+ }
1001
+ .aurora .aurora-tool-count {
1002
+ font-family: var(--aurora-font-mono);
1003
+ color: var(--aurora-accent);
1004
+ font-weight: 500;
1005
+ text-shadow: 0 0 10px rgba(45, 212, 191, 0.2);
1006
+ }
1007
+
1008
+ /* ── Files Changed ── */
1009
+ .aurora .aurora-files-list {
1010
+ display: flex;
1011
+ flex-direction: column;
1012
+ gap: 0.375rem;
1013
+ }
1014
+ .aurora .aurora-file-row {
1015
+ display: flex;
1016
+ justify-content: space-between;
1017
+ align-items: center;
1018
+ font-size: 0.75rem;
1019
+ gap: 0.5rem;
1020
+ }
1021
+ .aurora .aurora-file-name {
1022
+ font-family: var(--aurora-font-mono);
1023
+ color: var(--aurora-text-secondary);
1024
+ overflow: hidden;
1025
+ text-overflow: ellipsis;
1026
+ white-space: nowrap;
1027
+ min-width: 0;
1028
+ }
1029
+ .aurora .aurora-file-diff {
1030
+ font-family: var(--aurora-font-mono);
1031
+ flex-shrink: 0;
1032
+ font-weight: 500;
1033
+ }
1034
+ .aurora .aurora-file-adds { color: var(--aurora-accent-green); }
1035
+ .aurora .aurora-file-dels { color: #f87171; }
1036
+
1037
+ /* ── Sidebar Tags ── */
1038
+ .aurora .aurora-sidebar-tags {
1039
+ display: flex;
1040
+ flex-wrap: wrap;
1041
+ gap: 0.375rem;
1042
+ }
1043
+
1044
+ /* ── Narrative (Session) ── */
1045
+ .aurora .aurora-narrative-section {
1046
+ margin-bottom: 2.5rem;
1047
+ }
1048
+ .aurora .aurora-narrative-section p {
1049
+ font-size: 0.9375rem;
1050
+ color: var(--aurora-text-secondary);
1051
+ line-height: 1.75;
1052
+ }
1053
+
1054
+ /* ── Highlights ── */
1055
+ .aurora .aurora-highlights {
1056
+ list-style: none;
1057
+ padding: 0;
1058
+ }
1059
+ .aurora .aurora-highlights li {
1060
+ font-size: 0.875rem;
1061
+ color: var(--aurora-text-secondary);
1062
+ line-height: 1.7;
1063
+ padding: 0.375rem 0;
1064
+ border-bottom: 1px solid var(--aurora-border);
1065
+ }
1066
+ .aurora .aurora-highlights li:last-child { border-bottom: none; }
1067
+
1068
+ /* ── Footer ── */
1069
+ .aurora .aurora-footer {
1070
+ max-width: 960px;
1071
+ margin: 4rem auto 0;
1072
+ padding: 2rem;
1073
+ border-top: 1px solid var(--aurora-border);
1074
+ text-align: center;
1075
+ font-size: 0.8125rem;
1076
+ color: var(--aurora-text-tertiary);
1077
+ }
1078
+ .aurora .aurora-footer a:visited { color: var(--aurora-accent); }
1079
+
1080
+ /* ── Fade-up Animation ── */
1081
+ .aurora .fade-up {
1082
+ opacity: 0;
1083
+ transform: translateY(16px);
1084
+ transition: opacity 0.6s var(--aurora-ease), transform 0.6s var(--aurora-ease);
1085
+ }
1086
+ .aurora .fade-up.visible {
1087
+ opacity: 1;
1088
+ transform: translateY(0);
1089
+ }
1090
+
1091
+ /* ── Responsive ── */
1092
+ @media (max-width: 768px) {
1093
+ .aurora .aurora-header { padding: 2.5rem 1.25rem 2rem; }
1094
+ .aurora .aurora-hero {
1095
+ flex-direction: column;
1096
+ align-items: center;
1097
+ text-align: center;
1098
+ gap: 1.5rem;
1099
+ }
1100
+ .aurora .aurora-hero-content {
1101
+ display: flex;
1102
+ flex-direction: column;
1103
+ align-items: center;
1104
+ }
1105
+ .aurora .aurora-hero-location { justify-content: center; }
1106
+ .aurora .aurora-hero-bio { text-align: center; }
1107
+ .aurora .aurora-hero-links { justify-content: center; }
1108
+ .aurora .aurora-hero-stats-inner {
1109
+ flex-wrap: wrap;
1110
+ justify-content: center;
1111
+ gap: 1rem 2rem;
1112
+ }
1113
+ .aurora .hero-photo {
1114
+ width: 120px;
1115
+ height: 155px;
1116
+ }
1117
+ .aurora .aurora-hero h1 { font-size: 2rem; }
1118
+ .aurora .aurora-stats {
1119
+ grid-template-columns: repeat(2, 1fr);
1120
+ padding: 0 1.25rem;
1121
+ }
1122
+ .aurora .aurora-stats--project {
1123
+ grid-template-columns: repeat(3, 1fr);
1124
+ }
1125
+ .aurora .aurora-section { padding: 1.5rem 1.25rem 0; }
1126
+ .aurora .aurora-card { padding: 1.5rem; }
1127
+ .aurora .aurora-card-header { flex-direction: column; gap: 0.5rem; }
1128
+ .aurora .aurora-card-stats { flex-wrap: wrap; gap: 0.75rem; }
1129
+ .aurora .aurora-source-bar { flex-direction: column; align-items: flex-start; gap: 0.5rem; }
1130
+ .aurora .aurora-source-track { width: 100%; }
1131
+ .aurora .aurora-footer { padding: 1.5rem 1.25rem; }
1132
+ .aurora .aurora-hero-stats { padding: 0 1.25rem; }
1133
+ .aurora .aurora-project-hero h1 { font-size: 1.75rem; }
1134
+ .aurora .aurora-content { padding: 0 1.25rem; }
1135
+ .aurora .aurora-sessions { grid-template-columns: 1fr; }
1136
+ .aurora .aurora-screenshot { padding: 0 1.25rem; }
1137
+ .aurora .aurora-session-hero h1 { font-size: 1.5rem; }
1138
+ .aurora .aurora-layout {
1139
+ grid-template-columns: 1fr;
1140
+ padding: 0 1.25rem;
1141
+ }
1142
+ .aurora .aurora-sidebar { order: -1; }
1143
+ .aurora .aurora-dev-take { padding: 0 1.25rem; }
1144
+ .aurora .aurora-agent-row {
1145
+ grid-template-columns: 110px 1fr 40px 40px;
1146
+ gap: 0.5rem;
1147
+ }
1148
+ .aurora .aurora-chart-row {
1149
+ grid-template-columns: 120px 1fr 50px;
1150
+ gap: 0.5rem;
1151
+ }
1152
+ .aurora .aurora-nav-links { gap: 1rem; }
1153
+ }
1154
+
1155
+ @media (max-width: 480px) {
1156
+ .aurora .aurora-hero h1 { font-size: 1.75rem; }
1157
+ .aurora .hero-photo {
1158
+ width: 100px;
1159
+ height: 130px;
1160
+ }
1161
+ .aurora .aurora-stats { grid-template-columns: 1fr 1fr; gap: 0.75rem; }
1162
+ .aurora .aurora-stat { padding: 1rem; }
1163
+ .aurora .aurora-stat-number { font-size: 1.5rem; }
1164
+ .aurora .aurora-project-hero h1 { font-size: 1.5rem; }
1165
+ .aurora .aurora-session-hero h1 { font-size: 1.25rem; }
1166
+ .aurora .aurora-session-meta-row { gap: 0.75rem; }
1167
+ .aurora .aurora-agent-row {
1168
+ grid-template-columns: 1fr;
1169
+ gap: 0.25rem;
1170
+ }
1171
+ .aurora .aurora-agent-bar-track { display: none; }
1172
+ .aurora .aurora-agent-name { justify-content: space-between; }
1173
+ .aurora .aurora-chart-row {
1174
+ grid-template-columns: 1fr;
1175
+ gap: 0.25rem;
1176
+ }
1177
+ .aurora .aurora-chart-value { text-align: start; }
1178
+ }