astralkit 0.3.0 → 0.3.2

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.
@@ -1,435 +1,435 @@
1
-
2
-
3
- /* Account/profile/user primitives -- profile panels, user cards, account switchers, user footers */
4
-
5
-
6
-
7
- /* Profile panel */
8
- .ak-profile-panel {
9
- position: fixed;
10
- width: 16rem;
11
- background: var(--color-ak-bg);
12
- border: 1px solid var(--color-ak-border);
13
- border-radius: var(--radius-ak-lg);
14
- box-shadow: var(--shadow-ak-lg);
15
- opacity: 0; visibility: hidden;
16
- transition: opacity 150ms cubic-bezier(0.4, 0, 0.2, 1),
17
- visibility 150ms cubic-bezier(0.4, 0, 0.2, 1);
18
- z-index: var(--z-ak-modal);
19
- }
20
- .ak-profile-panel-open,
21
- .ak-profile-panel.ak-open { opacity: 1; visibility: visible; }
22
-
23
- /* Profile trigger */
24
- .ak-profile-trigger {
25
- display: flex;
26
- align-items: center;
27
- gap: 0.75rem;
28
- padding: 0.5rem 0.75rem;
29
- border-radius: var(--radius-ak-md);
30
- cursor: pointer;
31
- border: none;
32
- background: none;
33
- font-family: inherit;
34
- transition: background-color var(--duration-ak-fast) var(--ease-ak-default);
35
- }
36
- .ak-profile-trigger:hover { background: var(--color-ak-active); }
37
- .ak-profile-trigger:focus { outline: none; }
38
- .ak-profile-trigger:focus-visible {
39
- outline: 2px solid var(--color-ak-border-focus);
40
- outline-offset: 2px;
41
- }
42
-
43
- /* Profile card */
44
- .ak-profile-card {
45
- display: flex;
46
- align-items: center;
47
- gap: 0.75rem;
48
- padding: 0.75rem;
49
- border-radius: var(--radius-ak-md);
50
- cursor: pointer;
51
- transition: background-color var(--duration-ak-fast) var(--ease-ak-default);
52
- }
53
- .ak-profile-card:hover { background: var(--color-ak-hover); }
54
- .ak-profile-card:focus { outline: none; }
55
- .ak-profile-card:focus-visible {
56
- outline: 2px solid var(--color-ak-border-focus);
57
- outline-offset: 2px;
58
- }
59
-
60
- /* Profile info (name/role shown when expanded) */
61
- .ak-profile-info {
62
- display: none;
63
- flex-direction: column;
64
- min-width: 0;
65
- }
66
- .ak-profile-info-name {
67
- font-size: var(--text-ak-sm);
68
- font-weight: 600;
69
- color: var(--color-ak-text);
70
- white-space: nowrap;
71
- overflow: hidden;
72
- text-overflow: ellipsis;
73
- }
74
- .ak-profile-info-role {
75
- font-size: var(--text-ak-xs);
76
- color: var(--color-ak-text-muted);
77
- }
78
-
79
- /* Profile menu items */
80
- .ak-profile-menu-item {
81
- display: flex;
82
- align-items: center;
83
- gap: 0.75rem;
84
- padding: 0.5rem 0.75rem;
85
- min-height: 2.25rem;
86
- cursor: pointer;
87
- text-decoration: none;
88
- color: var(--color-ak-text-secondary);
89
- transition: background-color var(--duration-ak-fast) var(--ease-ak-default);
90
- }
91
- .ak-profile-menu-item:hover { background: var(--color-ak-hover); }
92
- .ak-profile-menu-item:focus { outline: none; }
93
- .ak-profile-menu-item:focus-visible {
94
- outline: 2px solid var(--color-ak-border-focus);
95
- outline-offset: -2px;
96
- }
97
- .ak-profile-menu-item--danger { color: var(--color-ak-danger-text); }
98
- .ak-profile-menu-divider {
99
- height: 1px;
100
- background: var(--color-ak-border);
101
- margin: 0.25rem 0;
102
- }
103
- .ak-profile-divider {
104
- height: 1px;
105
- background: var(--color-ak-border);
106
- }
107
-
108
- /* Profile avatar / header */
109
- .ak-profile-avatar {
110
- width: 2rem;
111
- height: 2rem;
112
- border-radius: var(--radius-ak-full);
113
- overflow: hidden;
114
- flex-shrink: 0;
115
- }
116
- .ak-profile-header {
117
- display: flex;
118
- align-items: center;
119
- gap: 0.75rem;
120
- }
121
- .ak-profile-name {
122
- font-size: var(--text-ak-sm);
123
- font-weight: 600;
124
- color: var(--color-ak-text);
125
- }
126
- .ak-profile-status {
127
- display: flex;
128
- align-items: center;
129
- gap: 0.375rem;
130
- }
131
- .ak-profile-status-text {
132
- font-size: var(--text-ak-xs);
133
- color: var(--color-ak-text-muted);
134
- }
135
- .ak-profile-bio {
136
- font-size: var(--text-ak-sm);
137
- color: var(--color-ak-text-secondary);
138
- line-height: 1.5;
139
- }
140
- .ak-profile-stat {
141
- display: flex;
142
- flex-direction: column;
143
- align-items: center;
144
- }
145
- .ak-profile-stat strong {
146
- font-weight: 600;
147
- color: var(--color-ak-text);
148
- }
149
-
150
- /* Account switcher */
151
- .ak-account-switcher {
152
- position: relative;
153
- }
154
- .ak-account-trigger {
155
- display: flex;
156
- align-items: center;
157
- justify-content: center;
158
- min-height: 2.5rem;
159
- border: none;
160
- background: none;
161
- cursor: pointer;
162
- font-family: inherit;
163
- transition: background-color var(--duration-ak-fast) var(--ease-ak-default);
164
- }
165
- .ak-account-trigger i {
166
- font-size: var(--size-ak-icon-sm);
167
- transition: transform var(--duration-ak-base) var(--ease-ak-default);
168
- }
169
- .ak-account-trigger:hover { background: var(--color-ak-hover); }
170
- .ak-account-trigger:focus { outline: none; }
171
- .ak-account-trigger:focus-visible {
172
- outline: 2px solid var(--color-ak-border-focus);
173
- outline-offset: 2px;
174
- }
175
- .ak-account-left {
176
- display: flex;
177
- align-items: center;
178
- gap: 0.625rem;
179
- min-width: 0;
180
- }
181
- .ak-account-chevron { display: none; }
182
- .ak-account-wrap {
183
- position: relative;
184
- }
185
- .ak-account-dropdown {
186
- position: absolute;
187
- bottom: 100%;
188
- left: 0;
189
- right: 0;
190
- margin-bottom: 0.5rem;
191
- background: var(--color-ak-bg);
192
- border: 1px solid var(--color-ak-border);
193
- border-radius: var(--radius-ak-lg);
194
- box-shadow: var(--shadow-ak-lg);
195
- overflow: hidden;
196
- transform: translateY(8px);
197
- opacity: 0;
198
- transition: opacity var(--duration-ak-base) var(--ease-ak-default),
199
- transform var(--duration-ak-base) var(--ease-ak-default);
200
- z-index: var(--z-ak-dropdown);
201
- }
202
- .ak-account-dropdown-open,
203
- .ak-account-dropdown.ak-open {
204
- transform: translateY(0);
205
- opacity: 1;
206
- }
207
- .ak-account-option {
208
- display: flex;
209
- align-items: center;
210
- gap: 0.75rem;
211
- width: 100%;
212
- padding: 0.75rem;
213
- min-height: 3rem;
214
- border: none;
215
- background: none;
216
- cursor: pointer;
217
- text-align: left;
218
- font-family: inherit;
219
- font-size: 1rem;
220
- color: var(--color-ak-text-secondary);
221
- transition: background-color var(--duration-ak-fast) var(--ease-ak-default);
222
- }
223
- .ak-account-option:hover { background: var(--color-ak-hover); }
224
- .ak-account-option:focus { outline: none; }
225
- .ak-account-option:focus-visible {
226
- outline: 2px solid var(--color-ak-border-focus);
227
- outline-offset: -2px;
228
- }
229
- .ak-account-option[aria-selected="true"] {
230
- background: var(--color-ak-active);
231
- color: var(--color-ak-text);
232
- }
233
- .ak-account-option-avatar {
234
- width: 2.5rem;
235
- height: 2.5rem;
236
- background: var(--color-ak-surface-2);
237
- border-radius: var(--radius-ak-full);
238
- display: flex;
239
- align-items: center;
240
- justify-content: center;
241
- font-size: 1rem;
242
- font-weight: 600;
243
- color: var(--color-ak-text-secondary);
244
- flex-shrink: 0;
245
- }
246
- .ak-account-option-name {
247
- font-size: var(--text-ak-sm);
248
- font-weight: 500;
249
- color: var(--color-ak-text);
250
- }
251
- .ak-account-option-email {
252
- font-size: var(--text-ak-xs);
253
- color: var(--color-ak-text-muted);
254
- }
255
- .ak-account-option-check {
256
- margin-left: auto;
257
- color: var(--color-ak-primary);
258
- opacity: 0;
259
- }
260
- .ak-account-option[aria-selected="true"] .ak-account-option-check {
261
- opacity: 1;
262
- }
263
-
264
- /* User card */
265
- .ak-user-card {
266
- display: flex;
267
- align-items: center;
268
- gap: 0.75rem;
269
- padding: 0.5rem 0.75rem;
270
- border-radius: var(--radius-ak-md);
271
- cursor: pointer;
272
- text-decoration: none;
273
- transition: background-color var(--duration-ak-fast) var(--ease-ak-default);
274
- }
275
- .ak-user-card:hover { background: var(--color-ak-hover); }
276
- .ak-user-card:focus { outline: none; }
277
- .ak-user-card:focus-visible {
278
- outline: 2px solid var(--color-ak-border-focus);
279
- outline-offset: 2px;
280
- }
281
- .ak-user-card__info {
282
- display: flex;
283
- flex-direction: column;
284
- min-width: 0;
285
- }
286
- .ak-user-card__name {
287
- font-weight: 600;
288
- color: var(--color-ak-text);
289
- white-space: nowrap;
290
- overflow: hidden;
291
- text-overflow: ellipsis;
292
- }
293
- .ak-user-card__email {
294
- font-size: var(--text-ak-xs);
295
- color: var(--color-ak-text-secondary);
296
- white-space: nowrap;
297
- overflow: hidden;
298
- text-overflow: ellipsis;
299
- }
300
- .ak-user-card__name-row {
301
- display: flex;
302
- align-items: center;
303
- gap: 0.375rem;
304
- }
305
- .ak-user-card--md .ak-user-card__name { font-size: var(--text-ak-base); }
306
- .ak-user-card--md .ak-user-card__email { font-size: var(--text-ak-sm); }
307
- .ak-user-card--lg .ak-user-card__name { font-size: var(--text-ak-base); }
308
- .ak-user-card--lg .ak-user-card__email { font-size: var(--text-ak-sm); }
309
- .ak-user-card--xl .ak-user-card__name { font-size: var(--text-ak-lg); }
310
- .ak-user-card--xl .ak-user-card__email { font-size: var(--text-ak-base); }
311
- .ak-user-card--2xl .ak-user-card__name { font-size: var(--text-ak-xl); font-weight: 700; letter-spacing: -0.01em; }
312
- .ak-user-card--2xl .ak-user-card__email { font-size: var(--text-ak-lg); }
313
- .ak-user-card--2xl { gap: 1rem; padding: 0.75rem; }
314
- .ak-user-card--3xl .ak-user-card__name { font-size: var(--text-ak-2xl); font-weight: 700; letter-spacing: -0.02em; }
315
- .ak-user-card--3xl .ak-user-card__email { font-size: var(--text-ak-xl); }
316
- .ak-user-card--3xl { gap: 1.25rem; padding: 1rem; }
317
-
318
- /* User footer (sidebar bottom user section) */
319
- .ak-user-footer {
320
- display: flex;
321
- align-items: center;
322
- gap: 0.75rem;
323
- padding: 0.5rem 0.75rem;
324
- cursor: pointer;
325
- transition: background-color var(--duration-ak-fast) var(--ease-ak-default);
326
- }
327
- .ak-user-footer:hover { background: var(--color-ak-hover); }
328
- .ak-user-footer:focus { outline: none; }
329
- .ak-user-footer:focus-visible {
330
- outline: 2px solid var(--color-ak-border-focus);
331
- outline-offset: 2px;
332
- }
333
- .ak-user-footer-row {
334
- display: flex;
335
- align-items: center;
336
- justify-content: space-between;
337
- }
338
- .ak-user-info {
339
- display: flex;
340
- flex-direction: column;
341
- min-width: 0;
342
- }
343
- .ak-user-name {
344
- font-size: var(--text-ak-sm);
345
- font-weight: 600;
346
- color: var(--color-ak-text);
347
- white-space: nowrap;
348
- overflow: hidden;
349
- text-overflow: ellipsis;
350
- }
351
- .ak-user-email {
352
- font-size: var(--text-ak-xs);
353
- color: var(--color-ak-text-muted);
354
- white-space: nowrap;
355
- overflow: hidden;
356
- text-overflow: ellipsis;
357
- }
358
- .ak-user-role {
359
- font-size: var(--text-ak-xs);
360
- color: var(--color-ak-text-muted);
361
- }
362
- .ak-user-avatar {
363
- width: 2rem;
364
- height: 2rem;
365
- border-radius: var(--radius-ak-full);
366
- overflow: hidden;
367
- flex-shrink: 0;
368
- }
369
- .ak-user-avatar-status {
370
- position: absolute;
371
- bottom: 0;
372
- right: 0;
373
- width: 10px;
374
- height: 10px;
375
- border-radius: var(--radius-ak-full);
376
- border: 2px solid var(--color-ak-bg);
377
- }
378
- .ak-user-chevron {
379
- color: var(--color-ak-text-muted);
380
- }
381
- .ak-user-chevrons {
382
- display: flex;
383
- flex-direction: column;
384
- color: var(--color-ak-text-muted);
385
- }
386
- .ak-user-chevrons i {
387
- font-size: var(--size-ak-icon-sm);
388
- line-height: 0.5;
389
- }
390
- .ak-user-trigger {
391
- display: flex;
392
- align-items: center;
393
- gap: 0.5rem;
394
- padding: 0.375rem;
395
- border-radius: var(--radius-ak-md);
396
- cursor: pointer;
397
- border: none;
398
- background: none;
399
- transition: background-color var(--duration-ak-fast) var(--ease-ak-default);
400
- }
401
- .ak-user-trigger:hover { background: var(--color-ak-hover); }
402
- .ak-user-trigger:focus { outline: none; }
403
- .ak-user-trigger:focus-visible {
404
- outline: 2px solid var(--color-ak-border-focus);
405
- outline-offset: 2px;
406
- }
407
- .ak-user-status-dot {
408
- position: absolute;
409
- bottom: 0;
410
- right: 0;
411
- width: 8px;
412
- height: 8px;
413
- border-radius: var(--radius-ak-full);
414
- border: 2px solid var(--color-ak-bg);
415
- }
416
-
417
- /* Profile panel typography */
418
- [data-ak-profile-panel] > div:first-child p:first-child {
419
- font-size: var(--text-ak-base);
420
- font-weight: 600;
421
- line-height: var(--leading-ak-tight);
422
- letter-spacing: var(--tracking-ak-normal);
423
- }
424
- [data-ak-profile-panel] > div:first-child p:last-child {
425
- font-size: var(--text-ak-base);
426
- line-height: var(--leading-ak-tight);
427
- letter-spacing: var(--tracking-ak-normal);
428
- }
429
- [data-ak-profile-item] {
430
- font-size: var(--text-ak-base);
431
- line-height: var(--leading-ak-tight);
432
- letter-spacing: var(--tracking-ak-normal);
433
- }
434
-
435
-
1
+
2
+
3
+ /* Account/profile/user primitives -- profile panels, user cards, account switchers, user footers */
4
+
5
+
6
+
7
+ /* Profile panel */
8
+ .ak-profile-panel {
9
+ position: fixed;
10
+ width: 16rem;
11
+ background: var(--color-ak-bg);
12
+ border: 1px solid var(--color-ak-border);
13
+ border-radius: var(--radius-ak-lg);
14
+ box-shadow: var(--shadow-ak-lg);
15
+ opacity: 0; visibility: hidden;
16
+ transition: opacity 150ms cubic-bezier(0.4, 0, 0.2, 1),
17
+ visibility 150ms cubic-bezier(0.4, 0, 0.2, 1);
18
+ z-index: var(--z-ak-modal);
19
+ }
20
+ .ak-profile-panel-open,
21
+ .ak-profile-panel.ak-open { opacity: 1; visibility: visible; }
22
+
23
+ /* Profile trigger */
24
+ .ak-profile-trigger {
25
+ display: flex;
26
+ align-items: center;
27
+ gap: 0.75rem;
28
+ padding: 0.5rem 0.75rem;
29
+ border-radius: var(--radius-ak-md);
30
+ cursor: pointer;
31
+ border: none;
32
+ background: none;
33
+ font-family: inherit;
34
+ transition: background-color var(--duration-ak-fast) var(--ease-ak-default);
35
+ }
36
+ .ak-profile-trigger:hover { background: var(--color-ak-active); }
37
+ .ak-profile-trigger:focus { outline: none; }
38
+ .ak-profile-trigger:focus-visible {
39
+ outline: 2px solid var(--color-ak-border-focus);
40
+ outline-offset: 2px;
41
+ }
42
+
43
+ /* Profile card */
44
+ .ak-profile-card {
45
+ display: flex;
46
+ align-items: center;
47
+ gap: 0.75rem;
48
+ padding: 0.75rem;
49
+ border-radius: var(--radius-ak-md);
50
+ cursor: pointer;
51
+ transition: background-color var(--duration-ak-fast) var(--ease-ak-default);
52
+ }
53
+ .ak-profile-card:hover { background: var(--color-ak-hover); }
54
+ .ak-profile-card:focus { outline: none; }
55
+ .ak-profile-card:focus-visible {
56
+ outline: 2px solid var(--color-ak-border-focus);
57
+ outline-offset: 2px;
58
+ }
59
+
60
+ /* Profile info (name/role shown when expanded) */
61
+ .ak-profile-info {
62
+ display: none;
63
+ flex-direction: column;
64
+ min-width: 0;
65
+ }
66
+ .ak-profile-info-name {
67
+ font-size: var(--text-ak-sm);
68
+ font-weight: 600;
69
+ color: var(--color-ak-text);
70
+ white-space: nowrap;
71
+ overflow: hidden;
72
+ text-overflow: ellipsis;
73
+ }
74
+ .ak-profile-info-role {
75
+ font-size: var(--text-ak-xs);
76
+ color: var(--color-ak-text-muted);
77
+ }
78
+
79
+ /* Profile menu items */
80
+ .ak-profile-menu-item {
81
+ display: flex;
82
+ align-items: center;
83
+ gap: 0.75rem;
84
+ padding: 0.5rem 0.75rem;
85
+ min-height: 2.25rem;
86
+ cursor: pointer;
87
+ text-decoration: none;
88
+ color: var(--color-ak-text-secondary);
89
+ transition: background-color var(--duration-ak-fast) var(--ease-ak-default);
90
+ }
91
+ .ak-profile-menu-item:hover { background: var(--color-ak-hover); }
92
+ .ak-profile-menu-item:focus { outline: none; }
93
+ .ak-profile-menu-item:focus-visible {
94
+ outline: 2px solid var(--color-ak-border-focus);
95
+ outline-offset: -2px;
96
+ }
97
+ .ak-profile-menu-item--danger { color: var(--color-ak-danger-text); }
98
+ .ak-profile-menu-divider {
99
+ height: 1px;
100
+ background: var(--color-ak-border);
101
+ margin: 0.25rem 0;
102
+ }
103
+ .ak-profile-divider {
104
+ height: 1px;
105
+ background: var(--color-ak-border);
106
+ }
107
+
108
+ /* Profile avatar / header */
109
+ .ak-profile-avatar {
110
+ width: 2rem;
111
+ height: 2rem;
112
+ border-radius: var(--radius-ak-full);
113
+ overflow: hidden;
114
+ flex-shrink: 0;
115
+ }
116
+ .ak-profile-header {
117
+ display: flex;
118
+ align-items: center;
119
+ gap: 0.75rem;
120
+ }
121
+ .ak-profile-name {
122
+ font-size: var(--text-ak-sm);
123
+ font-weight: 600;
124
+ color: var(--color-ak-text);
125
+ }
126
+ .ak-profile-status {
127
+ display: flex;
128
+ align-items: center;
129
+ gap: 0.375rem;
130
+ }
131
+ .ak-profile-status-text {
132
+ font-size: var(--text-ak-xs);
133
+ color: var(--color-ak-text-muted);
134
+ }
135
+ .ak-profile-bio {
136
+ font-size: var(--text-ak-sm);
137
+ color: var(--color-ak-text-secondary);
138
+ line-height: 1.5;
139
+ }
140
+ .ak-profile-stat {
141
+ display: flex;
142
+ flex-direction: column;
143
+ align-items: center;
144
+ }
145
+ .ak-profile-stat strong {
146
+ font-weight: 600;
147
+ color: var(--color-ak-text);
148
+ }
149
+
150
+ /* Account switcher */
151
+ .ak-account-switcher {
152
+ position: relative;
153
+ }
154
+ .ak-account-trigger {
155
+ display: flex;
156
+ align-items: center;
157
+ justify-content: center;
158
+ min-height: 2.5rem;
159
+ border: none;
160
+ background: none;
161
+ cursor: pointer;
162
+ font-family: inherit;
163
+ transition: background-color var(--duration-ak-fast) var(--ease-ak-default);
164
+ }
165
+ .ak-account-trigger i {
166
+ font-size: var(--size-ak-icon-sm);
167
+ transition: transform var(--duration-ak-base) var(--ease-ak-default);
168
+ }
169
+ .ak-account-trigger:hover { background: var(--color-ak-hover); }
170
+ .ak-account-trigger:focus { outline: none; }
171
+ .ak-account-trigger:focus-visible {
172
+ outline: 2px solid var(--color-ak-border-focus);
173
+ outline-offset: 2px;
174
+ }
175
+ .ak-account-left {
176
+ display: flex;
177
+ align-items: center;
178
+ gap: 0.625rem;
179
+ min-width: 0;
180
+ }
181
+ .ak-account-chevron { display: none; }
182
+ .ak-account-wrap {
183
+ position: relative;
184
+ }
185
+ .ak-account-dropdown {
186
+ position: absolute;
187
+ bottom: 100%;
188
+ left: 0;
189
+ right: 0;
190
+ margin-bottom: 0.5rem;
191
+ background: var(--color-ak-bg);
192
+ border: 1px solid var(--color-ak-border);
193
+ border-radius: var(--radius-ak-lg);
194
+ box-shadow: var(--shadow-ak-lg);
195
+ overflow: hidden;
196
+ transform: translateY(8px);
197
+ opacity: 0;
198
+ transition: opacity var(--duration-ak-base) var(--ease-ak-default),
199
+ transform var(--duration-ak-base) var(--ease-ak-default);
200
+ z-index: var(--z-ak-dropdown);
201
+ }
202
+ .ak-account-dropdown-open,
203
+ .ak-account-dropdown.ak-open {
204
+ transform: translateY(0);
205
+ opacity: 1;
206
+ }
207
+ .ak-account-option {
208
+ display: flex;
209
+ align-items: center;
210
+ gap: 0.75rem;
211
+ width: 100%;
212
+ padding: 0.75rem;
213
+ min-height: 3rem;
214
+ border: none;
215
+ background: none;
216
+ cursor: pointer;
217
+ text-align: left;
218
+ font-family: inherit;
219
+ font-size: 1rem;
220
+ color: var(--color-ak-text-secondary);
221
+ transition: background-color var(--duration-ak-fast) var(--ease-ak-default);
222
+ }
223
+ .ak-account-option:hover { background: var(--color-ak-hover); }
224
+ .ak-account-option:focus { outline: none; }
225
+ .ak-account-option:focus-visible {
226
+ outline: 2px solid var(--color-ak-border-focus);
227
+ outline-offset: -2px;
228
+ }
229
+ .ak-account-option[aria-selected="true"] {
230
+ background: var(--color-ak-active);
231
+ color: var(--color-ak-text);
232
+ }
233
+ .ak-account-option-avatar {
234
+ width: 2.5rem;
235
+ height: 2.5rem;
236
+ background: var(--color-ak-surface-2);
237
+ border-radius: var(--radius-ak-full);
238
+ display: flex;
239
+ align-items: center;
240
+ justify-content: center;
241
+ font-size: 1rem;
242
+ font-weight: 600;
243
+ color: var(--color-ak-text-secondary);
244
+ flex-shrink: 0;
245
+ }
246
+ .ak-account-option-name {
247
+ font-size: var(--text-ak-sm);
248
+ font-weight: 500;
249
+ color: var(--color-ak-text);
250
+ }
251
+ .ak-account-option-email {
252
+ font-size: var(--text-ak-xs);
253
+ color: var(--color-ak-text-muted);
254
+ }
255
+ .ak-account-option-check {
256
+ margin-left: auto;
257
+ color: var(--color-ak-primary);
258
+ opacity: 0;
259
+ }
260
+ .ak-account-option[aria-selected="true"] .ak-account-option-check {
261
+ opacity: 1;
262
+ }
263
+
264
+ /* User card */
265
+ .ak-user-card {
266
+ display: flex;
267
+ align-items: center;
268
+ gap: 0.75rem;
269
+ padding: 0.5rem 0.75rem;
270
+ border-radius: var(--radius-ak-md);
271
+ cursor: pointer;
272
+ text-decoration: none;
273
+ transition: background-color var(--duration-ak-fast) var(--ease-ak-default);
274
+ }
275
+ .ak-user-card:hover { background: var(--color-ak-hover); }
276
+ .ak-user-card:focus { outline: none; }
277
+ .ak-user-card:focus-visible {
278
+ outline: 2px solid var(--color-ak-border-focus);
279
+ outline-offset: 2px;
280
+ }
281
+ .ak-user-card__info {
282
+ display: flex;
283
+ flex-direction: column;
284
+ min-width: 0;
285
+ }
286
+ .ak-user-card__name {
287
+ font-weight: 600;
288
+ color: var(--color-ak-text);
289
+ white-space: nowrap;
290
+ overflow: hidden;
291
+ text-overflow: ellipsis;
292
+ }
293
+ .ak-user-card__email {
294
+ font-size: var(--text-ak-xs);
295
+ color: var(--color-ak-text-secondary);
296
+ white-space: nowrap;
297
+ overflow: hidden;
298
+ text-overflow: ellipsis;
299
+ }
300
+ .ak-user-card__name-row {
301
+ display: flex;
302
+ align-items: center;
303
+ gap: 0.375rem;
304
+ }
305
+ .ak-user-card--md .ak-user-card__name { font-size: var(--text-ak-base); }
306
+ .ak-user-card--md .ak-user-card__email { font-size: var(--text-ak-sm); }
307
+ .ak-user-card--lg .ak-user-card__name { font-size: var(--text-ak-base); }
308
+ .ak-user-card--lg .ak-user-card__email { font-size: var(--text-ak-sm); }
309
+ .ak-user-card--xl .ak-user-card__name { font-size: var(--text-ak-lg); }
310
+ .ak-user-card--xl .ak-user-card__email { font-size: var(--text-ak-base); }
311
+ .ak-user-card--2xl .ak-user-card__name { font-size: var(--text-ak-xl); font-weight: 700; letter-spacing: -0.01em; }
312
+ .ak-user-card--2xl .ak-user-card__email { font-size: var(--text-ak-lg); }
313
+ .ak-user-card--2xl { gap: 1rem; padding: 0.75rem; }
314
+ .ak-user-card--3xl .ak-user-card__name { font-size: var(--text-ak-2xl); font-weight: 700; letter-spacing: -0.02em; }
315
+ .ak-user-card--3xl .ak-user-card__email { font-size: var(--text-ak-xl); }
316
+ .ak-user-card--3xl { gap: 1.25rem; padding: 1rem; }
317
+
318
+ /* User footer (sidebar bottom user section) */
319
+ .ak-user-footer {
320
+ display: flex;
321
+ align-items: center;
322
+ gap: 0.75rem;
323
+ padding: 0.5rem 0.75rem;
324
+ cursor: pointer;
325
+ transition: background-color var(--duration-ak-fast) var(--ease-ak-default);
326
+ }
327
+ .ak-user-footer:hover { background: var(--color-ak-hover); }
328
+ .ak-user-footer:focus { outline: none; }
329
+ .ak-user-footer:focus-visible {
330
+ outline: 2px solid var(--color-ak-border-focus);
331
+ outline-offset: 2px;
332
+ }
333
+ .ak-user-footer-row {
334
+ display: flex;
335
+ align-items: center;
336
+ justify-content: space-between;
337
+ }
338
+ .ak-user-info {
339
+ display: flex;
340
+ flex-direction: column;
341
+ min-width: 0;
342
+ }
343
+ .ak-user-name {
344
+ font-size: var(--text-ak-sm);
345
+ font-weight: 600;
346
+ color: var(--color-ak-text);
347
+ white-space: nowrap;
348
+ overflow: hidden;
349
+ text-overflow: ellipsis;
350
+ }
351
+ .ak-user-email {
352
+ font-size: var(--text-ak-xs);
353
+ color: var(--color-ak-text-muted);
354
+ white-space: nowrap;
355
+ overflow: hidden;
356
+ text-overflow: ellipsis;
357
+ }
358
+ .ak-user-role {
359
+ font-size: var(--text-ak-xs);
360
+ color: var(--color-ak-text-muted);
361
+ }
362
+ .ak-user-avatar {
363
+ width: 2rem;
364
+ height: 2rem;
365
+ border-radius: var(--radius-ak-full);
366
+ overflow: hidden;
367
+ flex-shrink: 0;
368
+ }
369
+ .ak-user-avatar-status {
370
+ position: absolute;
371
+ bottom: 0;
372
+ right: 0;
373
+ width: 10px;
374
+ height: 10px;
375
+ border-radius: var(--radius-ak-full);
376
+ border: 2px solid var(--color-ak-bg);
377
+ }
378
+ .ak-user-chevron {
379
+ color: var(--color-ak-text-muted);
380
+ }
381
+ .ak-user-chevrons {
382
+ display: flex;
383
+ flex-direction: column;
384
+ color: var(--color-ak-text-muted);
385
+ }
386
+ .ak-user-chevrons i {
387
+ font-size: var(--size-ak-icon-sm);
388
+ line-height: 0.5;
389
+ }
390
+ .ak-user-trigger {
391
+ display: flex;
392
+ align-items: center;
393
+ gap: 0.5rem;
394
+ padding: 0.375rem;
395
+ border-radius: var(--radius-ak-md);
396
+ cursor: pointer;
397
+ border: none;
398
+ background: none;
399
+ transition: background-color var(--duration-ak-fast) var(--ease-ak-default);
400
+ }
401
+ .ak-user-trigger:hover { background: var(--color-ak-hover); }
402
+ .ak-user-trigger:focus { outline: none; }
403
+ .ak-user-trigger:focus-visible {
404
+ outline: 2px solid var(--color-ak-border-focus);
405
+ outline-offset: 2px;
406
+ }
407
+ .ak-user-status-dot {
408
+ position: absolute;
409
+ bottom: 0;
410
+ right: 0;
411
+ width: 8px;
412
+ height: 8px;
413
+ border-radius: var(--radius-ak-full);
414
+ border: 2px solid var(--color-ak-bg);
415
+ }
416
+
417
+ /* Profile panel typography */
418
+ [data-ak-profile-panel] > div:first-child p:first-child {
419
+ font-size: var(--text-ak-base);
420
+ font-weight: 600;
421
+ line-height: var(--leading-ak-tight);
422
+ letter-spacing: var(--tracking-ak-normal);
423
+ }
424
+ [data-ak-profile-panel] > div:first-child p:last-child {
425
+ font-size: var(--text-ak-base);
426
+ line-height: var(--leading-ak-tight);
427
+ letter-spacing: var(--tracking-ak-normal);
428
+ }
429
+ [data-ak-profile-item] {
430
+ font-size: var(--text-ak-base);
431
+ line-height: var(--leading-ak-tight);
432
+ letter-spacing: var(--tracking-ak-normal);
433
+ }
434
+
435
+