heyiam 0.3.6 → 0.3.7
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.
- package/dist/llm/project-enhance.js +11 -5
- package/dist/public/assets/{index-7mUuxgqY.js → index-BDh4ne9u.js} +1 -1
- package/dist/public/assets/index-ByoBtx7P.css +1 -0
- package/dist/public/index.html +2 -2
- package/dist/render/mock-data.js +6 -0
- package/dist/render/select-profile-skills.js +54 -0
- package/dist/render/templates/aurora/portfolio.liquid +4 -4
- package/dist/render/templates/aurora/styles.css +6 -6
- package/dist/render/templates/bauhaus/portfolio.liquid +4 -4
- package/dist/render/templates/bauhaus/styles.css +1 -1
- package/dist/render/templates/blueprint/portfolio.liquid +4 -4
- package/dist/render/templates/blueprint/styles.css +1 -1
- package/dist/render/templates/canvas/portfolio.liquid +4 -4
- package/dist/render/templates/canvas/styles.css +2 -2
- package/dist/render/templates/carbon/portfolio.liquid +4 -4
- package/dist/render/templates/carbon/styles.css +7 -7
- package/dist/render/templates/chalk/portfolio.liquid +4 -4
- package/dist/render/templates/chalk/styles.css +44 -2
- package/dist/render/templates/circuit/portfolio.liquid +4 -4
- package/dist/render/templates/cosmos/portfolio.liquid +4 -4
- package/dist/render/templates/cosmos/styles.css +4 -4
- package/dist/render/templates/daylight/portfolio.liquid +4 -4
- package/dist/render/templates/editorial/portfolio.liquid +4 -4
- package/dist/render/templates/editorial/styles.css +6 -1
- package/dist/render/templates/ember/portfolio.liquid +4 -4
- package/dist/render/templates/ember/styles.css +2 -2
- package/dist/render/templates/glacier/portfolio.liquid +4 -4
- package/dist/render/templates/glacier/styles.css +2 -2
- package/dist/render/templates/grid/portfolio.liquid +4 -4
- package/dist/render/templates/grid/styles.css +2 -2
- package/dist/render/templates/kinetic/portfolio.liquid +4 -4
- package/dist/render/templates/kinetic/styles.css +5 -5
- package/dist/render/templates/meridian/portfolio.liquid +4 -4
- package/dist/render/templates/meridian/styles.css +1 -1
- package/dist/render/templates/minimal/portfolio.liquid +3 -3
- package/dist/render/templates/mono/portfolio.liquid +4 -4
- package/dist/render/templates/mono/styles.css +15 -1
- package/dist/render/templates/neon/portfolio.liquid +4 -4
- package/dist/render/templates/neon/styles.css +11 -20
- package/dist/render/templates/noir/portfolio.liquid +4 -4
- package/dist/render/templates/noir/styles.css +5 -5
- package/dist/render/templates/obsidian/portfolio.liquid +4 -4
- package/dist/render/templates/obsidian/styles.css +2 -2
- package/dist/render/templates/paper/portfolio.liquid +4 -4
- package/dist/render/templates/paper/styles.css +60 -1
- package/dist/render/templates/parallax/portfolio.liquid +4 -4
- package/dist/render/templates/parallax/styles.css +1 -1
- package/dist/render/templates/parchment/portfolio.liquid +4 -4
- package/dist/render/templates/parchment/styles.css +3 -3
- package/dist/render/templates/radar/portfolio.liquid +4 -4
- package/dist/render/templates/radar/styles.css +4 -4
- package/dist/render/templates/showcase/portfolio.liquid +4 -4
- package/dist/render/templates/showcase/styles.css +7 -7
- package/dist/render/templates/signal/portfolio.liquid +4 -4
- package/dist/render/templates/signal/styles.css +5 -5
- package/dist/render/templates/strata/portfolio.liquid +4 -4
- package/dist/render/templates/strata/styles.css +3 -3
- package/dist/render/templates/styles.css +39 -28
- package/dist/render/templates/terminal/portfolio.liquid +2 -2
- package/dist/render/templates/verdant/portfolio.liquid +4 -4
- package/dist/render/templates/verdant/styles.css +17 -2
- package/dist/render/templates/zen/portfolio.liquid +4 -4
- package/dist/render/templates/zen/styles.css +8 -8
- package/dist/routes/export.js +1 -0
- package/dist/routes/github.js +1 -1
- package/dist/routes/portfolio-render-data.js +15 -1
- package/dist/routes/preview.js +15 -1
- package/dist/routes/publish.js +2 -1
- package/package.json +1 -1
- package/dist/public/assets/index-CMyamplX.css +0 -1
|
@@ -116,8 +116,8 @@
|
|
|
116
116
|
<h3 class="project-card__headline">
|
|
117
117
|
<a href="/{{ user.username }}/{{ p.slug }}">{{ p.title }}</a>
|
|
118
118
|
</h3>
|
|
119
|
-
{% if p.
|
|
120
|
-
<p class="project-card__narrative">{{ p.
|
|
119
|
+
{% if p.tagline != blank %}
|
|
120
|
+
<p class="project-card__narrative">{{ p.tagline }}</p>
|
|
121
121
|
{% endif %}
|
|
122
122
|
<p class="project-card__meta">
|
|
123
123
|
<span>{{ p.totalSessions }} sessions</span>
|
|
@@ -144,9 +144,9 @@
|
|
|
144
144
|
</p>
|
|
145
145
|
{% endif %}
|
|
146
146
|
{% endif %}
|
|
147
|
-
{% if p.
|
|
147
|
+
{% if p.profileSkills.size > 0 %}
|
|
148
148
|
<div class="project-card__skills" aria-label="Skills used in {{ p.title }}">
|
|
149
|
-
{% for skill in p.
|
|
149
|
+
{% for skill in p.profileSkills %}
|
|
150
150
|
<span class="skill-tag chip">{{ skill }}</span>
|
|
151
151
|
{% endfor %}
|
|
152
152
|
</div>
|
|
@@ -163,7 +163,7 @@ a:focus-visible {
|
|
|
163
163
|
padding: 0.75rem 0;
|
|
164
164
|
border-bottom: 1px solid var(--paper-border);
|
|
165
165
|
font-family: var(--paper-font-mono);
|
|
166
|
-
font-size: 0.
|
|
166
|
+
font-size: 0.875rem;
|
|
167
167
|
text-transform: uppercase;
|
|
168
168
|
letter-spacing: 0.06em;
|
|
169
169
|
}
|
|
@@ -1480,6 +1480,65 @@ a.session-card:hover {
|
|
|
1480
1480
|
}
|
|
1481
1481
|
}
|
|
1482
1482
|
|
|
1483
|
+
@media (max-width: 480px) {
|
|
1484
|
+
.page-wrapper {
|
|
1485
|
+
padding: 0 0.75rem;
|
|
1486
|
+
}
|
|
1487
|
+
.masthead {
|
|
1488
|
+
padding: 1.5rem 0 1rem;
|
|
1489
|
+
}
|
|
1490
|
+
.masthead__title {
|
|
1491
|
+
font-size: 1.5rem;
|
|
1492
|
+
}
|
|
1493
|
+
.masthead__edition {
|
|
1494
|
+
font-size: 0.75rem;
|
|
1495
|
+
flex-direction: column;
|
|
1496
|
+
gap: 0.25rem;
|
|
1497
|
+
}
|
|
1498
|
+
.byline {
|
|
1499
|
+
padding: 1rem 0;
|
|
1500
|
+
}
|
|
1501
|
+
.article-header__headline,
|
|
1502
|
+
.projects-section__heading {
|
|
1503
|
+
font-size: 1.25rem;
|
|
1504
|
+
}
|
|
1505
|
+
.project-card__headline {
|
|
1506
|
+
font-size: 1.125rem;
|
|
1507
|
+
}
|
|
1508
|
+
.session-meta {
|
|
1509
|
+
grid-template-columns: 1fr 1fr;
|
|
1510
|
+
gap: 0.5rem;
|
|
1511
|
+
}
|
|
1512
|
+
.stats-table th,
|
|
1513
|
+
.stats-table td {
|
|
1514
|
+
padding: 0.3rem 0.375rem;
|
|
1515
|
+
font-size: 0.75rem;
|
|
1516
|
+
}
|
|
1517
|
+
.stats-table td:last-child {
|
|
1518
|
+
font-size: 0.8125rem;
|
|
1519
|
+
}
|
|
1520
|
+
.timeline-table,
|
|
1521
|
+
.activity-table,
|
|
1522
|
+
.agents-table {
|
|
1523
|
+
font-size: 0.75rem;
|
|
1524
|
+
}
|
|
1525
|
+
.timeline-table th,
|
|
1526
|
+
.timeline-table td,
|
|
1527
|
+
.activity-table th,
|
|
1528
|
+
.activity-table td,
|
|
1529
|
+
.agents-table th,
|
|
1530
|
+
.agents-table td {
|
|
1531
|
+
padding: 0.3rem 0.375rem;
|
|
1532
|
+
}
|
|
1533
|
+
.nav-bar {
|
|
1534
|
+
flex-wrap: wrap;
|
|
1535
|
+
gap: 0.75rem;
|
|
1536
|
+
}
|
|
1537
|
+
.dev-take__text {
|
|
1538
|
+
font-size: 1rem;
|
|
1539
|
+
}
|
|
1540
|
+
}
|
|
1541
|
+
|
|
1483
1542
|
/* ── Medium breakpoint ── */
|
|
1484
1543
|
@media (min-width: 768px) and (max-width: 1023px) {
|
|
1485
1544
|
.projects-columns {
|
|
@@ -137,12 +137,12 @@
|
|
|
137
137
|
{% for p in projects %}
|
|
138
138
|
<a href="/{{ user.username }}/{{ p.slug }}" class="project-card reveal" data-float="0.08">
|
|
139
139
|
<h3 class="project-card__name">{{ p.title }}</h3>
|
|
140
|
-
{% if p.
|
|
141
|
-
<p class="project-card__narrative">{{ p.
|
|
140
|
+
{% if p.tagline != blank %}
|
|
141
|
+
<p class="project-card__narrative">{{ p.tagline }}</p>
|
|
142
142
|
{% endif %}
|
|
143
|
-
{% if p.
|
|
143
|
+
{% if p.profileSkills.size > 0 %}
|
|
144
144
|
<div class="project-card__skills">
|
|
145
|
-
{% for skill in p.
|
|
145
|
+
{% for skill in p.profileSkills %}
|
|
146
146
|
<span class="skill-chip">{{ skill }}</span>
|
|
147
147
|
{% endfor %}
|
|
148
148
|
</div>
|
|
@@ -755,7 +755,7 @@ body { background: var(--px-bg); color: var(--px-text); }
|
|
|
755
755
|
color: var(--px-accent);
|
|
756
756
|
}
|
|
757
757
|
.stats-bar__label {
|
|
758
|
-
font-size: 0.
|
|
758
|
+
font-size: 0.75rem;
|
|
759
759
|
color: var(--px-text-tertiary);
|
|
760
760
|
text-transform: uppercase;
|
|
761
761
|
letter-spacing: 0.08em;
|
|
@@ -106,12 +106,12 @@
|
|
|
106
106
|
<h3 class="project-card__title">
|
|
107
107
|
<a href="/{{ user.username }}/{{ p.slug }}">{{ p.title }}</a>
|
|
108
108
|
</h3>
|
|
109
|
-
{% if p.
|
|
110
|
-
<p class="project-card__narrative">{{ p.
|
|
109
|
+
{% if p.tagline != blank %}
|
|
110
|
+
<p class="project-card__narrative">{{ p.tagline }}</p>
|
|
111
111
|
{% endif %}
|
|
112
|
-
{% if p.
|
|
112
|
+
{% if p.profileSkills.size > 0 %}
|
|
113
113
|
<div class="project-card__skills">
|
|
114
|
-
{% for skill in p.
|
|
114
|
+
{% for skill in p.profileSkills %}
|
|
115
115
|
<span class="skill-tag">{{ skill }}</span>
|
|
116
116
|
{% endfor %}
|
|
117
117
|
</div>
|
|
@@ -367,7 +367,7 @@
|
|
|
367
367
|
}
|
|
368
368
|
.parchment .margin-stat__label {
|
|
369
369
|
font-family: var(--parch-font-mono);
|
|
370
|
-
font-size: 0.
|
|
370
|
+
font-size: 0.75rem;
|
|
371
371
|
color: var(--parch-text-tertiary);
|
|
372
372
|
text-transform: uppercase;
|
|
373
373
|
letter-spacing: 0.1em;
|
|
@@ -397,7 +397,7 @@
|
|
|
397
397
|
}
|
|
398
398
|
.parchment .project-stat__label {
|
|
399
399
|
font-family: var(--parch-font-mono);
|
|
400
|
-
font-size: 0.
|
|
400
|
+
font-size: 0.75rem;
|
|
401
401
|
color: var(--parch-text-tertiary);
|
|
402
402
|
text-transform: uppercase;
|
|
403
403
|
letter-spacing: 0.1em;
|
|
@@ -427,7 +427,7 @@
|
|
|
427
427
|
}
|
|
428
428
|
.parchment .session-stats-row__label {
|
|
429
429
|
font-family: var(--parch-font-mono);
|
|
430
|
-
font-size: 0.
|
|
430
|
+
font-size: 0.75rem;
|
|
431
431
|
color: var(--parch-text-tertiary);
|
|
432
432
|
text-transform: uppercase;
|
|
433
433
|
letter-spacing: 0.1em;
|
|
@@ -82,13 +82,13 @@
|
|
|
82
82
|
<a class="portfolio-card" href="/{{ user.username }}/{{ p.slug }}">
|
|
83
83
|
<div class="portfolio-card__bar portfolio-card__bar--cyan"></div>
|
|
84
84
|
<div class="portfolio-card__title">{{ p.title }}</div>
|
|
85
|
-
{% if p.
|
|
86
|
-
<div class="portfolio-card__desc">{{ p.
|
|
85
|
+
{% if p.tagline != blank %}
|
|
86
|
+
<div class="portfolio-card__desc">{{ p.tagline }}</div>
|
|
87
87
|
{% endif %}
|
|
88
88
|
<div class="portfolio-card__meta">{{ p.totalSessions }} sessions · {{ p.totalDurationMinutes | formatDuration }} · {{ p.totalLoc | formatLoc }} LOC</div>
|
|
89
|
-
{% if p.
|
|
89
|
+
{% if p.profileSkills.size > 0 %}
|
|
90
90
|
<div class="portfolio-card__skills">
|
|
91
|
-
{% for skill in p.
|
|
91
|
+
{% for skill in p.profileSkills %}
|
|
92
92
|
<span class="chip">{{ skill }}</span>
|
|
93
93
|
{% endfor %}
|
|
94
94
|
</div>
|
|
@@ -249,7 +249,7 @@ body { background: var(--surface); color: var(--on-surface); }
|
|
|
249
249
|
|
|
250
250
|
.radar .portfolio-stat__label {
|
|
251
251
|
font-family: var(--font-mono);
|
|
252
|
-
font-size:
|
|
252
|
+
font-size: 12px;
|
|
253
253
|
text-transform: uppercase;
|
|
254
254
|
letter-spacing: 0.05em;
|
|
255
255
|
color: var(--on-surface-variant);
|
|
@@ -334,7 +334,7 @@ body { background: var(--surface); color: var(--on-surface); }
|
|
|
334
334
|
font-family: var(--font-mono);
|
|
335
335
|
font-size: 11px;
|
|
336
336
|
line-height: 1.2;
|
|
337
|
-
padding: 0.
|
|
337
|
+
padding: 0.25rem 0.5rem;
|
|
338
338
|
border-radius: var(--radius-sm);
|
|
339
339
|
background: var(--accent-faint);
|
|
340
340
|
color: var(--accent);
|
|
@@ -436,7 +436,7 @@ body { background: var(--surface); color: var(--on-surface); }
|
|
|
436
436
|
}
|
|
437
437
|
.radar .stat-card__label {
|
|
438
438
|
font-family: var(--font-mono);
|
|
439
|
-
font-size:
|
|
439
|
+
font-size: 12px;
|
|
440
440
|
text-transform: uppercase;
|
|
441
441
|
letter-spacing: 0.05em;
|
|
442
442
|
color: var(--on-surface-variant);
|
|
@@ -730,7 +730,7 @@ body { background: var(--surface); color: var(--on-surface); }
|
|
|
730
730
|
}
|
|
731
731
|
.radar .stat-card-sm__label {
|
|
732
732
|
font-family: var(--font-mono);
|
|
733
|
-
font-size:
|
|
733
|
+
font-size: 12px;
|
|
734
734
|
text-transform: uppercase;
|
|
735
735
|
letter-spacing: 0.05em;
|
|
736
736
|
color: var(--on-surface-variant);
|
|
@@ -96,17 +96,17 @@
|
|
|
96
96
|
<a href="/{{ user.username }}/{{ p.slug }}" class="sc-project-card sc-stagger" style="display: block; margin-bottom: 0.75rem;">
|
|
97
97
|
<div class="sc-project-card__accent-bar" style="background: var(--accent);"></div>
|
|
98
98
|
<div class="sc-project-card__title">{{ p.title }}</div>
|
|
99
|
-
{% if p.
|
|
100
|
-
<p class="sc-project-card__narrative">{{ p.
|
|
99
|
+
{% if p.tagline != blank %}
|
|
100
|
+
<p class="sc-project-card__narrative">{{ p.tagline }}</p>
|
|
101
101
|
{% endif %}
|
|
102
102
|
<div class="sc-project-card__meta">
|
|
103
103
|
<span>{{ p.totalSessions }} sessions</span>
|
|
104
104
|
<span>{{ p.totalDurationMinutes | formatDuration }}</span>
|
|
105
105
|
<span>{{ p.totalLoc | localeNumber }} LOC</span>
|
|
106
106
|
</div>
|
|
107
|
-
{% if p.
|
|
107
|
+
{% if p.profileSkills.size > 0 %}
|
|
108
108
|
<div class="sc-project-card__skills">
|
|
109
|
-
{% for skill in p.
|
|
109
|
+
{% for skill in p.profileSkills %}
|
|
110
110
|
<span class="sc-skill-chip">{{ skill }}</span>
|
|
111
111
|
{% endfor %}
|
|
112
112
|
</div>
|
|
@@ -80,7 +80,7 @@ body { background: var(--bg); color: var(--text); }
|
|
|
80
80
|
font-family: var(--font-body);
|
|
81
81
|
color: var(--text);
|
|
82
82
|
background: var(--bg);
|
|
83
|
-
line-height: 1.
|
|
83
|
+
line-height: 1.6;
|
|
84
84
|
-webkit-font-smoothing: antialiased;
|
|
85
85
|
-moz-osx-font-smoothing: grayscale;
|
|
86
86
|
}
|
|
@@ -299,7 +299,7 @@ body { background: var(--bg); color: var(--text); }
|
|
|
299
299
|
}
|
|
300
300
|
.sc-hero-stat__label {
|
|
301
301
|
font-family: var(--font-mono);
|
|
302
|
-
font-size:
|
|
302
|
+
font-size: 12px;
|
|
303
303
|
font-weight: 400;
|
|
304
304
|
color: var(--text-3);
|
|
305
305
|
letter-spacing: 0.08em;
|
|
@@ -350,7 +350,7 @@ body { background: var(--bg); color: var(--text); }
|
|
|
350
350
|
}
|
|
351
351
|
.sc-section-label {
|
|
352
352
|
font-family: var(--font-mono);
|
|
353
|
-
font-size:
|
|
353
|
+
font-size: 12px;
|
|
354
354
|
font-weight: 400;
|
|
355
355
|
color: var(--text-3);
|
|
356
356
|
letter-spacing: 0.08em;
|
|
@@ -605,7 +605,7 @@ body { background: var(--bg); color: var(--text); }
|
|
|
605
605
|
}
|
|
606
606
|
.sc-stat-card__label {
|
|
607
607
|
font-family: var(--font-mono);
|
|
608
|
-
font-size:
|
|
608
|
+
font-size: 12px;
|
|
609
609
|
font-weight: 400;
|
|
610
610
|
color: var(--text-3);
|
|
611
611
|
letter-spacing: 0.08em;
|
|
@@ -692,7 +692,7 @@ body { background: var(--bg); color: var(--text); }
|
|
|
692
692
|
.sc-decision-item:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
|
|
693
693
|
.sc-phase-label {
|
|
694
694
|
font-family: var(--font-mono);
|
|
695
|
-
font-size:
|
|
695
|
+
font-size: 12px;
|
|
696
696
|
color: var(--accent);
|
|
697
697
|
text-transform: uppercase;
|
|
698
698
|
letter-spacing: 0.08em;
|
|
@@ -782,7 +782,7 @@ body { background: var(--bg); color: var(--text); }
|
|
|
782
782
|
.sc-phase-item:nth-child(4) .sc-phase-dot { transition-delay: 850ms; }
|
|
783
783
|
.sc-phase-number {
|
|
784
784
|
font-family: var(--font-mono);
|
|
785
|
-
font-size:
|
|
785
|
+
font-size: 12px;
|
|
786
786
|
color: var(--accent);
|
|
787
787
|
letter-spacing: 0.08em;
|
|
788
788
|
text-transform: uppercase;
|
|
@@ -919,7 +919,7 @@ body { background: var(--bg); color: var(--text); }
|
|
|
919
919
|
}
|
|
920
920
|
.sc-meta-item__label {
|
|
921
921
|
font-family: var(--font-mono);
|
|
922
|
-
font-size:
|
|
922
|
+
font-size: 12px;
|
|
923
923
|
color: var(--text-3);
|
|
924
924
|
text-transform: uppercase;
|
|
925
925
|
letter-spacing: 0.08em;
|
|
@@ -115,8 +115,8 @@
|
|
|
115
115
|
<tr>
|
|
116
116
|
<td>
|
|
117
117
|
<div class="project-name"><a href="/{{ user.username }}/{{ p.slug }}">{{ p.title }}</a></div>
|
|
118
|
-
{% if p.
|
|
119
|
-
<div class="project-narrative">{{ p.
|
|
118
|
+
{% if p.tagline != blank %}
|
|
119
|
+
<div class="project-narrative">{{ p.tagline }}</div>
|
|
120
120
|
{% endif %}
|
|
121
121
|
</td>
|
|
122
122
|
<td class="stat-mono">{{ p.totalSessions }}</td>
|
|
@@ -145,9 +145,9 @@
|
|
|
145
145
|
{% endif %}
|
|
146
146
|
</td>
|
|
147
147
|
<td>
|
|
148
|
-
{% if p.
|
|
148
|
+
{% if p.profileSkills.size > 0 %}
|
|
149
149
|
<div class="skill-badges">
|
|
150
|
-
{% for skill in p.
|
|
150
|
+
{% for skill in p.profileSkills %}
|
|
151
151
|
<span class="skill-badge strong">{{ skill }}</span>
|
|
152
152
|
{% endfor %}
|
|
153
153
|
</div>
|
|
@@ -35,8 +35,8 @@ body { background: var(--bg); color: var(--fg); }
|
|
|
35
35
|
font-family: var(--font-body);
|
|
36
36
|
color: var(--fg);
|
|
37
37
|
background: var(--bg);
|
|
38
|
-
line-height: 1.
|
|
39
|
-
font-size:
|
|
38
|
+
line-height: 1.6;
|
|
39
|
+
font-size: 16px;
|
|
40
40
|
-webkit-font-smoothing: antialiased;
|
|
41
41
|
-moz-osx-font-smoothing: grayscale;
|
|
42
42
|
}
|
|
@@ -157,7 +157,7 @@ body { background: var(--bg); color: var(--fg); }
|
|
|
157
157
|
}
|
|
158
158
|
.signal .stat-label {
|
|
159
159
|
font-family: var(--font-mono);
|
|
160
|
-
font-size:
|
|
160
|
+
font-size: 12px;
|
|
161
161
|
text-transform: uppercase;
|
|
162
162
|
letter-spacing: 0.08em;
|
|
163
163
|
color: var(--fg-dim);
|
|
@@ -182,7 +182,7 @@ body { background: var(--bg); color: var(--fg); }
|
|
|
182
182
|
margin-bottom: 2px;
|
|
183
183
|
}
|
|
184
184
|
.signal.heyiam-session .stat-label {
|
|
185
|
-
font-size:
|
|
185
|
+
font-size: 12px;
|
|
186
186
|
}
|
|
187
187
|
|
|
188
188
|
.signal .stat-cell--leverage-group {
|
|
@@ -392,7 +392,7 @@ body { background: var(--bg); color: var(--fg); }
|
|
|
392
392
|
}
|
|
393
393
|
.signal .nav-links a {
|
|
394
394
|
font-family: var(--font-mono);
|
|
395
|
-
font-size:
|
|
395
|
+
font-size: 14px;
|
|
396
396
|
color: var(--fg-muted);
|
|
397
397
|
text-decoration: none;
|
|
398
398
|
padding: 4px 10px;
|
|
@@ -79,8 +79,8 @@
|
|
|
79
79
|
<a class="strata-project-card" href="/{{ user.username }}/{{ p.slug }}" aria-label="{{ p.title }} project">
|
|
80
80
|
<div class="strata-project-card__accent" style="background: var(--strata-accent);"></div>
|
|
81
81
|
<div class="strata-project-card__title">{{ p.title }}</div>
|
|
82
|
-
{% if p.
|
|
83
|
-
<div class="strata-project-card__desc">{{ p.
|
|
82
|
+
{% if p.tagline != blank %}
|
|
83
|
+
<div class="strata-project-card__desc">{{ p.tagline }}</div>
|
|
84
84
|
{% endif %}
|
|
85
85
|
<div class="strata-project-card__meta">{{ p.totalSessions }} sessions · {{ p.totalDurationMinutes | formatDuration }} · {{ p.totalLoc | formatLoc }} LOC</div>
|
|
86
86
|
{% if p.sourceCounts.size > 0 %}
|
|
@@ -92,9 +92,9 @@
|
|
|
92
92
|
</div>
|
|
93
93
|
<div class="strata-project-card__source">{% for sc in p.sourceCounts %}{% assign pct = sc.count | times: 100 | divided_by: p.totalSessions %}{{ sc.tool }} {{ pct }}%{% unless forloop.last %} · {% endunless %}{% endfor %}</div>
|
|
94
94
|
{% endif %}
|
|
95
|
-
{% if p.
|
|
95
|
+
{% if p.profileSkills.size > 0 %}
|
|
96
96
|
<div class="strata-project-card__chips">
|
|
97
|
-
{% for skill in p.
|
|
97
|
+
{% for skill in p.profileSkills %}
|
|
98
98
|
<span class="strata-project-card__chip">{{ skill }}</span>
|
|
99
99
|
{% endfor %}
|
|
100
100
|
</div>
|
|
@@ -63,7 +63,7 @@ body {
|
|
|
63
63
|
font-family: var(--strata-font-body);
|
|
64
64
|
color: var(--strata-text);
|
|
65
65
|
background: var(--strata-bg);
|
|
66
|
-
line-height: 1.
|
|
66
|
+
line-height: 1.6;
|
|
67
67
|
-webkit-font-smoothing: antialiased;
|
|
68
68
|
-moz-osx-font-smoothing: grayscale;
|
|
69
69
|
}
|
|
@@ -290,7 +290,7 @@ a:focus-visible {
|
|
|
290
290
|
}
|
|
291
291
|
.strata-agg-stat__label {
|
|
292
292
|
font-family: var(--strata-font-mono);
|
|
293
|
-
font-size:
|
|
293
|
+
font-size: 12px;
|
|
294
294
|
text-transform: uppercase;
|
|
295
295
|
letter-spacing: 0.08em;
|
|
296
296
|
color: var(--strata-text-tertiary);
|
|
@@ -444,7 +444,7 @@ a:focus-visible {
|
|
|
444
444
|
}
|
|
445
445
|
.strata-stat__label {
|
|
446
446
|
font-family: var(--strata-font-mono);
|
|
447
|
-
font-size:
|
|
447
|
+
font-size: 12px;
|
|
448
448
|
font-weight: 500;
|
|
449
449
|
text-transform: uppercase;
|
|
450
450
|
letter-spacing: 0.08em;
|
|
@@ -30,6 +30,17 @@
|
|
|
30
30
|
--font-body: 'Inter', sans-serif;
|
|
31
31
|
--font-mono: 'IBM Plex Mono', monospace;
|
|
32
32
|
|
|
33
|
+
/* Type scale — xs is the WCAG-driven readable floor for labels/meta.
|
|
34
|
+
Templates may override individual sizes for identity, but should
|
|
35
|
+
reference these tokens before introducing new literals. */
|
|
36
|
+
--font-size-xs: 0.75rem; /* 12px — labels, meta, caption */
|
|
37
|
+
--font-size-sm: 0.875rem; /* 14px — small body, dense rows */
|
|
38
|
+
--font-size-base: 1rem; /* 16px — body */
|
|
39
|
+
--font-size-lg: 1.125rem; /* 18px — subhead */
|
|
40
|
+
--font-size-xl: 1.25rem; /* 20px — heading */
|
|
41
|
+
--font-size-2xl: 1.5rem; /* 24px — section heading */
|
|
42
|
+
--font-size-3xl: 2rem; /* 32px — page title */
|
|
43
|
+
|
|
33
44
|
--radius-sm: 0.25rem;
|
|
34
45
|
--radius-md: 0.375rem;
|
|
35
46
|
}
|
|
@@ -107,13 +118,13 @@ a:hover { text-decoration: underline; }
|
|
|
107
118
|
}
|
|
108
119
|
.section-header__title {
|
|
109
120
|
font-family: var(--font-display);
|
|
110
|
-
font-size:
|
|
121
|
+
font-size: var(--font-size-base);
|
|
111
122
|
font-weight: 600;
|
|
112
123
|
color: var(--on-surface);
|
|
113
124
|
}
|
|
114
125
|
.section-header__meta {
|
|
115
126
|
font-family: var(--font-mono);
|
|
116
|
-
font-size:
|
|
127
|
+
font-size: var(--font-size-xs);
|
|
117
128
|
text-transform: uppercase;
|
|
118
129
|
letter-spacing: 0.05em;
|
|
119
130
|
color: var(--on-surface-variant);
|
|
@@ -145,7 +156,7 @@ a:hover { text-decoration: underline; }
|
|
|
145
156
|
}
|
|
146
157
|
|
|
147
158
|
.stat-card__value--sm {
|
|
148
|
-
font-size:
|
|
159
|
+
font-size: var(--font-size-xl);
|
|
149
160
|
}
|
|
150
161
|
|
|
151
162
|
.stat-grid {
|
|
@@ -162,7 +173,7 @@ a:hover { text-decoration: underline; }
|
|
|
162
173
|
}
|
|
163
174
|
.stat-card__label {
|
|
164
175
|
font-family: var(--font-mono);
|
|
165
|
-
font-size:
|
|
176
|
+
font-size: var(--font-size-xs);
|
|
166
177
|
text-transform: uppercase;
|
|
167
178
|
letter-spacing: 0.05em;
|
|
168
179
|
color: var(--on-surface-variant);
|
|
@@ -170,7 +181,7 @@ a:hover { text-decoration: underline; }
|
|
|
170
181
|
}
|
|
171
182
|
.stat-card__value {
|
|
172
183
|
font-family: var(--font-display);
|
|
173
|
-
font-size:
|
|
184
|
+
font-size: var(--font-size-2xl);
|
|
174
185
|
font-weight: 700;
|
|
175
186
|
color: var(--on-surface);
|
|
176
187
|
}
|
|
@@ -184,7 +195,7 @@ a:hover { text-decoration: underline; }
|
|
|
184
195
|
font-family: var(--font-mono);
|
|
185
196
|
font-size: 11px;
|
|
186
197
|
line-height: 1.2;
|
|
187
|
-
padding: 0.
|
|
198
|
+
padding: 0.25rem 0.5rem;
|
|
188
199
|
border-radius: var(--radius-sm);
|
|
189
200
|
background: var(--surface-low);
|
|
190
201
|
color: var(--on-surface-variant);
|
|
@@ -210,7 +221,7 @@ a:hover { text-decoration: underline; }
|
|
|
210
221
|
|
|
211
222
|
.project-title {
|
|
212
223
|
font-family: var(--font-display);
|
|
213
|
-
font-size:
|
|
224
|
+
font-size: var(--font-size-xl);
|
|
214
225
|
font-weight: 700;
|
|
215
226
|
color: var(--on-surface);
|
|
216
227
|
margin-bottom: 0.25rem;
|
|
@@ -224,7 +235,7 @@ a:hover { text-decoration: underline; }
|
|
|
224
235
|
}
|
|
225
236
|
.project-link {
|
|
226
237
|
font-family: var(--font-mono);
|
|
227
|
-
font-size:
|
|
238
|
+
font-size: var(--font-size-xs);
|
|
228
239
|
color: var(--primary);
|
|
229
240
|
display: flex;
|
|
230
241
|
align-items: center;
|
|
@@ -284,7 +295,7 @@ a:hover { text-decoration: underline; }
|
|
|
284
295
|
text-align: left;
|
|
285
296
|
padding: 0.5rem 0;
|
|
286
297
|
font-family: var(--font-mono);
|
|
287
|
-
font-size:
|
|
298
|
+
font-size: var(--font-size-xs);
|
|
288
299
|
text-transform: uppercase;
|
|
289
300
|
letter-spacing: 0.05em;
|
|
290
301
|
color: var(--outline);
|
|
@@ -335,7 +346,7 @@ a:hover { text-decoration: underline; }
|
|
|
335
346
|
}
|
|
336
347
|
.session-card__meta {
|
|
337
348
|
color: var(--on-surface-variant);
|
|
338
|
-
font-size:
|
|
349
|
+
font-size: var(--font-size-xs);
|
|
339
350
|
}
|
|
340
351
|
.session-card__skills { margin-top: 0.5rem; }
|
|
341
352
|
|
|
@@ -348,13 +359,13 @@ a:hover { text-decoration: underline; }
|
|
|
348
359
|
}
|
|
349
360
|
.note__title {
|
|
350
361
|
font-family: var(--font-body);
|
|
351
|
-
font-size:
|
|
362
|
+
font-size: var(--font-size-sm);
|
|
352
363
|
font-weight: 600;
|
|
353
364
|
color: var(--on-surface);
|
|
354
365
|
margin-bottom: 0.25rem;
|
|
355
366
|
}
|
|
356
367
|
.note__body {
|
|
357
|
-
font-size:
|
|
368
|
+
font-size: var(--font-size-sm);
|
|
358
369
|
color: var(--on-surface-variant);
|
|
359
370
|
line-height: 1.5;
|
|
360
371
|
}
|
|
@@ -395,7 +406,7 @@ a:hover { text-decoration: underline; }
|
|
|
395
406
|
}
|
|
396
407
|
.phase-timeline__label {
|
|
397
408
|
font-family: var(--font-mono);
|
|
398
|
-
font-size:
|
|
409
|
+
font-size: var(--font-size-xs);
|
|
399
410
|
text-transform: uppercase;
|
|
400
411
|
letter-spacing: 0.05em;
|
|
401
412
|
color: var(--on-surface-variant);
|
|
@@ -410,7 +421,7 @@ a:hover { text-decoration: underline; }
|
|
|
410
421
|
}
|
|
411
422
|
.export-footer__text {
|
|
412
423
|
font-family: var(--font-mono);
|
|
413
|
-
font-size:
|
|
424
|
+
font-size: var(--font-size-xs);
|
|
414
425
|
color: var(--on-surface-variant);
|
|
415
426
|
text-transform: uppercase;
|
|
416
427
|
letter-spacing: 0.05em;
|
|
@@ -438,7 +449,7 @@ a:hover { text-decoration: underline; }
|
|
|
438
449
|
.sidebar-section { margin-bottom: 1.5rem; }
|
|
439
450
|
.sidebar-section__heading {
|
|
440
451
|
font-family: var(--font-mono);
|
|
441
|
-
font-size:
|
|
452
|
+
font-size: var(--font-size-xs);
|
|
442
453
|
text-transform: uppercase;
|
|
443
454
|
letter-spacing: 0.05em;
|
|
444
455
|
color: var(--outline);
|
|
@@ -457,7 +468,7 @@ a:hover { text-decoration: underline; }
|
|
|
457
468
|
}
|
|
458
469
|
.tool-list__name, .file-list__path {
|
|
459
470
|
font-family: var(--font-mono);
|
|
460
|
-
font-size:
|
|
471
|
+
font-size: var(--font-size-xs);
|
|
461
472
|
color: var(--on-surface);
|
|
462
473
|
overflow: hidden;
|
|
463
474
|
text-overflow: ellipsis;
|
|
@@ -465,7 +476,7 @@ a:hover { text-decoration: underline; }
|
|
|
465
476
|
}
|
|
466
477
|
.tool-list__count {
|
|
467
478
|
font-family: var(--font-mono);
|
|
468
|
-
font-size:
|
|
479
|
+
font-size: var(--font-size-xs);
|
|
469
480
|
color: var(--on-surface-variant);
|
|
470
481
|
}
|
|
471
482
|
.file-list__adds { color: var(--green); font-family: var(--font-mono); font-size: 0.6875rem; }
|
|
@@ -476,7 +487,7 @@ a:hover { text-decoration: underline; }
|
|
|
476
487
|
|
|
477
488
|
.breadcrumb {
|
|
478
489
|
font-family: var(--font-mono);
|
|
479
|
-
font-size:
|
|
490
|
+
font-size: var(--font-size-xs);
|
|
480
491
|
color: var(--on-surface-variant);
|
|
481
492
|
margin-bottom: 1rem;
|
|
482
493
|
}
|
|
@@ -486,7 +497,7 @@ a:hover { text-decoration: underline; }
|
|
|
486
497
|
.session-header { margin-bottom: 1.5rem; }
|
|
487
498
|
.session-header__title {
|
|
488
499
|
font-family: var(--font-display);
|
|
489
|
-
font-size:
|
|
500
|
+
font-size: var(--font-size-2xl);
|
|
490
501
|
font-weight: 700;
|
|
491
502
|
color: var(--on-surface);
|
|
492
503
|
margin-bottom: 0.5rem;
|
|
@@ -500,11 +511,11 @@ a:hover { text-decoration: underline; }
|
|
|
500
511
|
}
|
|
501
512
|
.session-header__date {
|
|
502
513
|
font-family: var(--font-mono);
|
|
503
|
-
font-size:
|
|
514
|
+
font-size: var(--font-size-xs);
|
|
504
515
|
}
|
|
505
516
|
.session-header__source {
|
|
506
517
|
font-family: var(--font-mono);
|
|
507
|
-
font-size:
|
|
518
|
+
font-size: var(--font-size-xs);
|
|
508
519
|
background: var(--surface-low);
|
|
509
520
|
padding: 0.125rem 0.5rem;
|
|
510
521
|
border-radius: var(--radius-sm);
|
|
@@ -521,7 +532,7 @@ a:hover { text-decoration: underline; }
|
|
|
521
532
|
.session-header__devtake p { margin: 0; }
|
|
522
533
|
.session-header__context {
|
|
523
534
|
color: var(--on-surface-variant);
|
|
524
|
-
font-size:
|
|
535
|
+
font-size: var(--font-size-sm);
|
|
525
536
|
margin: 0.75rem 0;
|
|
526
537
|
}
|
|
527
538
|
|
|
@@ -537,13 +548,13 @@ a:hover { text-decoration: underline; }
|
|
|
537
548
|
}
|
|
538
549
|
.stat__value {
|
|
539
550
|
font-family: var(--font-display);
|
|
540
|
-
font-size:
|
|
551
|
+
font-size: var(--font-size-lg);
|
|
541
552
|
font-weight: 700;
|
|
542
553
|
color: var(--on-surface);
|
|
543
554
|
}
|
|
544
555
|
.stat__label {
|
|
545
556
|
font-family: var(--font-mono);
|
|
546
|
-
font-size:
|
|
557
|
+
font-size: var(--font-size-xs);
|
|
547
558
|
text-transform: uppercase;
|
|
548
559
|
letter-spacing: 0.05em;
|
|
549
560
|
color: var(--on-surface-variant);
|
|
@@ -560,7 +571,7 @@ a:hover { text-decoration: underline; }
|
|
|
560
571
|
}
|
|
561
572
|
.content-section__heading {
|
|
562
573
|
font-family: var(--font-display);
|
|
563
|
-
font-size:
|
|
574
|
+
font-size: var(--font-size-base);
|
|
564
575
|
font-weight: 600;
|
|
565
576
|
color: var(--on-surface);
|
|
566
577
|
margin-bottom: 0.75rem;
|
|
@@ -591,7 +602,7 @@ a:hover { text-decoration: underline; }
|
|
|
591
602
|
.beat:last-child { border-bottom: none; }
|
|
592
603
|
.beat__number {
|
|
593
604
|
font-family: var(--font-mono);
|
|
594
|
-
font-size:
|
|
605
|
+
font-size: var(--font-size-xs);
|
|
595
606
|
color: var(--primary);
|
|
596
607
|
font-weight: 600;
|
|
597
608
|
min-width: 1.5rem;
|
|
@@ -601,7 +612,7 @@ a:hover { text-decoration: underline; }
|
|
|
601
612
|
.beat__content { flex: 1; min-width: 0; }
|
|
602
613
|
.beat__title {
|
|
603
614
|
font-family: var(--font-display);
|
|
604
|
-
font-size:
|
|
615
|
+
font-size: var(--font-size-sm);
|
|
605
616
|
font-weight: 600;
|
|
606
617
|
color: var(--on-surface);
|
|
607
618
|
}
|
|
@@ -627,7 +638,7 @@ a:hover { text-decoration: underline; }
|
|
|
627
638
|
}
|
|
628
639
|
.qa-pair__answer {
|
|
629
640
|
color: var(--on-surface-variant);
|
|
630
|
-
font-size:
|
|
641
|
+
font-size: var(--font-size-sm);
|
|
631
642
|
line-height: 1.5;
|
|
632
643
|
}
|
|
633
644
|
|