gabriel / musehub public
_velocity.scss
269 lines 7.9 KB
Raw
sha256:3c58668648c7323bb9f5c6881cfe6a3f14fc93fcb73b537d253732952a5bf8bf chore: bump version to 0.2.0rc12 Sonnet 4.6 patch 8 days ago
1 // ─────────────────────────────────────────────────────────────────────────────
2 // Component: Velocity (.vel-* prefix)
3 // File: src/scss/components/_velocity.scss
4 //
5 // Visual rules only — colors, typography, backgrounds, borders.
6 // Structural layout lives in pages/_velocity.scss.
7 // Used by: intel_velocity.html, intel_velocity_detail.html
8 // ─────────────────────────────────────────────────────────────────────────────
9
10 // ── Page wrapper ──────────────────────────────────────────────────────────────
11
12 .vel-wrap { font-family: var(--font-mono); }
13
14 // ── Stat chips ────────────────────────────────────────────────────────────────
15
16 .vel-stat {
17 background: var(--bg-surface);
18 border: 1px solid var(--border-default);
19 border-radius: 8px;
20 }
21
22 .vel-stat__val {
23 font-size: 1.25rem;
24 font-weight: 700;
25 font-family: var(--font-mono);
26 background: var(--gradient-spectral);
27 -webkit-background-clip: text;
28 -webkit-text-fill-color: transparent;
29 background-clip: text;
30 }
31
32 .vel-stat__lbl {
33 font-size: 0.65rem;
34 font-weight: 600;
35 letter-spacing: 0.08em;
36 text-transform: uppercase;
37 color: var(--text-muted);
38 }
39
40 // ── Module rows ───────────────────────────────────────────────────────────────
41
42 .vel-list {
43 background: var(--bg-surface);
44 border: 1px solid var(--border-default);
45 border-radius: 8px;
46 overflow: hidden;
47 }
48
49 .vel-row {
50 border-bottom: 1px solid var(--border-subtle);
51 &:last-child { border-bottom: none; }
52 &:hover { background: var(--bg-hover); }
53 }
54
55 .vel-module {
56 font-size: 0.8rem;
57 font-weight: 600;
58 color: var(--color-accent-link);
59 text-decoration: none;
60 font-family: var(--font-mono);
61 white-space: nowrap;
62 overflow: hidden;
63 text-overflow: ellipsis;
64 &:hover { text-decoration: underline; }
65 }
66
67 // ── Window bars ───────────────────────────────────────────────────────────────
68
69 .vel-bar-track {
70 background: var(--bg-overlay);
71 border-radius: 2px;
72 overflow: hidden;
73 }
74
75 .vel-bar-fill {
76 height: 100%;
77 border-radius: 2px;
78 transition: width 0.3s ease;
79 &--current { background: var(--gradient-spectral); }
80 &--prior { background: color-mix(in srgb, var(--text-muted) 40%, transparent); }
81 }
82
83 // ── Metrics ───────────────────────────────────────────────────────────────────
84
85 .vel-metric {
86 font-size: 0.68rem;
87 font-family: var(--font-mono);
88 color: var(--text-muted);
89 white-space: nowrap;
90 }
91
92 .vel-metric__val {
93 font-weight: 600;
94 color: var(--text-secondary);
95 }
96
97 // ── Acceleration badge ────────────────────────────────────────────────────────
98
99 .vel-accel {
100 font-size: 0.68rem;
101 font-weight: 700;
102 font-family: var(--font-mono);
103 white-space: nowrap;
104 border-radius: 4px;
105 padding: 1px 6px;
106
107 &--up {
108 color: var(--color-success);
109 background: color-mix(in srgb, var(--color-success) 15%, transparent);
110 border: 1px solid color-mix(in srgb, var(--color-success) 25%, transparent);
111 }
112
113 &--down {
114 color: var(--color-danger);
115 background: color-mix(in srgb, var(--color-danger) 15%, transparent);
116 border: 1px solid color-mix(in srgb, var(--color-danger) 25%, transparent);
117 }
118
119 &--flat {
120 color: var(--text-muted);
121 background: color-mix(in srgb, var(--text-muted) 10%, transparent);
122 border: 1px solid color-mix(in srgb, var(--text-muted) 20%, transparent);
123 }
124 }
125
126 // ── Stagnant badge ────────────────────────────────────────────────────────────
127
128 .vel-stagnant {
129 font-size: 0.65rem;
130 font-family: var(--font-mono);
131 color: var(--text-muted);
132 white-space: nowrap;
133 }
134
135 .vel-stagnant--warn {
136 color: var(--color-warning);
137 }
138
139 // ── Window legend ─────────────────────────────────────────────────────────────
140
141 .vel-legend {
142 font-size: 0.65rem;
143 color: var(--text-muted);
144 font-weight: 600;
145 letter-spacing: 0.04em;
146 text-transform: uppercase;
147 }
148
149 .vel-legend__dot {
150 display: inline-block;
151 width: 8px;
152 height: 8px;
153 border-radius: 2px;
154 flex-shrink: 0;
155
156 &--current { background: var(--color-accent); }
157 &--prior { background: color-mix(in srgb, var(--text-muted) 40%, transparent); }
158 }
159
160 // ── Empty state ───────────────────────────────────────────────────────────────
161
162 .vel-empty {
163 color: var(--text-muted);
164 font-size: 0.85rem;
165 text-align: center;
166 svg { opacity: 0.35; }
167 }
168
169 // ── Detail page ───────────────────────────────────────────────────────────────
170
171 .vel-detail-hd {
172 background: var(--bg-surface);
173 border: 1px solid var(--border-default);
174 border-radius: 8px;
175 }
176
177 .vel-detail-module {
178 font-size: 1rem;
179 font-weight: 700;
180 font-family: var(--font-mono);
181 background: var(--gradient-spectral);
182 -webkit-background-clip: text;
183 -webkit-text-fill-color: transparent;
184 background-clip: text;
185 }
186
187 .vel-detail-meta {
188 font-size: 0.72rem;
189 color: var(--text-muted);
190 }
191
192 // detail chips
193
194 .vel-detail-chip {
195 background: var(--bg-surface);
196 border: 1px solid var(--border-default);
197 border-radius: 8px;
198 text-align: center;
199 }
200
201 .vel-detail-chip__val {
202 font-size: 1.35rem;
203 font-weight: 700;
204 font-family: var(--font-mono);
205 color: var(--text-primary);
206
207 &--up { color: var(--color-success); }
208 &--down { color: var(--color-danger); }
209 &--neutral { color: var(--text-muted); }
210 &--accent {
211 background: var(--gradient-spectral);
212 -webkit-background-clip: text;
213 -webkit-text-fill-color: transparent;
214 background-clip: text;
215 }
216 }
217
218 .vel-detail-chip__lbl {
219 font-size: 0.65rem;
220 font-weight: 600;
221 letter-spacing: 0.08em;
222 text-transform: uppercase;
223 color: var(--text-muted);
224 }
225
226 // window comparison table
227
228 .vel-compare-card {
229 background: var(--bg-surface);
230 border: 1px solid var(--border-default);
231 border-radius: 8px;
232 }
233
234 .vel-compare-title {
235 font-size: 0.65rem;
236 font-weight: 700;
237 letter-spacing: 0.1em;
238 text-transform: uppercase;
239 color: var(--text-muted);
240 }
241
242 .vel-compare-table {
243 width: 100%;
244 font-size: 0.78rem;
245 font-family: var(--font-mono);
246 border-collapse: collapse;
247
248 th {
249 font-size: 0.62rem;
250 font-weight: 700;
251 letter-spacing: 0.07em;
252 text-transform: uppercase;
253 color: var(--text-muted);
254 text-align: right;
255 padding: 0.3rem 0.6rem;
256 &:first-child { text-align: left; }
257 }
258
259 td {
260 padding: 0.35rem 0.6rem;
261 text-align: right;
262 color: var(--text-secondary);
263 border-top: 1px solid var(--border-subtle);
264 &:first-child { text-align: left; color: var(--text-primary); font-weight: 600; }
265 }
266
267 tr.vel-compare--current td { color: var(--color-accent); }
268 tr.vel-compare--delta td { color: var(--text-muted); font-size: 0.68rem; }
269 }
File History 1 commit
sha256:3c58668648c7323bb9f5c6881cfe6a3f14fc93fcb73b537d253732952a5bf8bf chore: bump version to 0.2.0rc12 Sonnet 4.6 patch 8 days ago