@opencoreai/opencore 0.2.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.
@@ -0,0 +1,965 @@
1
+ :root {
2
+ --bg: #f3ede2;
3
+ --bg-deep: #e7d7c5;
4
+ --panel: transparent;
5
+ --panel-strong: transparent;
6
+ --ink: #25150c;
7
+ --ink-soft: #68483a;
8
+ --ink-muted: #8f7464;
9
+ --line: rgba(89, 50, 21, 0.12);
10
+ --accent: #ca5d1a;
11
+ --accent-bright: #f08c39;
12
+ --accent-soft: rgba(240, 140, 57, 0.14);
13
+ --shadow: none;
14
+ --radius-xl: 28px;
15
+ --radius-lg: 22px;
16
+ --radius-md: 16px;
17
+ --radius-sm: 12px;
18
+ }
19
+
20
+ :root[data-theme="dark"] {
21
+ --bg: #16110d;
22
+ --bg-deep: #0f0b08;
23
+ --ink: #f6ecdf;
24
+ --ink-soft: #d2bba7;
25
+ --ink-muted: #a98b78;
26
+ --line: rgba(233, 193, 161, 0.14);
27
+ --accent: #ff8a3b;
28
+ --accent-bright: #ffb15a;
29
+ --accent-soft: rgba(255, 145, 71, 0.18);
30
+ --status-bg: rgba(34, 24, 19, 0.88);
31
+ --field-bg: rgba(31, 22, 18, 0.92);
32
+ --field-line: rgba(255, 188, 140, 0.14);
33
+ --field-shadow: inset 0 1px 0 rgba(255, 214, 188, 0.05);
34
+ --panel-tint: rgba(255, 255, 255, 0.04);
35
+ }
36
+
37
+ * {
38
+ box-sizing: border-box;
39
+ }
40
+
41
+ html,
42
+ body {
43
+ height: 100%;
44
+ }
45
+
46
+ body {
47
+ margin: 0;
48
+ overflow: hidden;
49
+ color: var(--ink);
50
+ font-family: "Avenir Next", "Segoe UI", sans-serif;
51
+ background:
52
+ radial-gradient(circle at top left, rgba(255, 186, 110, 0.35), transparent 34%),
53
+ radial-gradient(circle at top right, rgba(203, 105, 38, 0.18), transparent 28%),
54
+ linear-gradient(180deg, #fbf4ea 0%, var(--bg) 48%, var(--bg-deep) 100%);
55
+ }
56
+
57
+ :root[data-theme="dark"] body {
58
+ background:
59
+ radial-gradient(circle at top left, rgba(255, 135, 57, 0.16), transparent 26%),
60
+ radial-gradient(circle at top right, rgba(255, 196, 118, 0.1), transparent 24%),
61
+ linear-gradient(180deg, #1e1712 0%, var(--bg) 42%, var(--bg-deep) 100%);
62
+ }
63
+
64
+ .ambient {
65
+ position: fixed;
66
+ inset: auto;
67
+ border-radius: 999px;
68
+ filter: blur(90px);
69
+ pointer-events: none;
70
+ opacity: 0.55;
71
+ }
72
+
73
+ .ambient-a {
74
+ width: 260px;
75
+ height: 260px;
76
+ top: -50px;
77
+ right: -40px;
78
+ background: rgba(240, 140, 57, 0.22);
79
+ }
80
+
81
+ .ambient-b {
82
+ width: 220px;
83
+ height: 220px;
84
+ left: -50px;
85
+ bottom: 80px;
86
+ background: rgba(187, 100, 44, 0.14);
87
+ }
88
+
89
+ .shell {
90
+ position: relative;
91
+ width: 100%;
92
+ max-width: none;
93
+ margin: 0;
94
+ padding: 10px 14px 14px;
95
+ height: 100dvh;
96
+ display: flex;
97
+ flex-direction: column;
98
+ gap: 0;
99
+ overflow: hidden;
100
+ }
101
+
102
+ .hero {
103
+ display: flex;
104
+ align-items: flex-end;
105
+ justify-content: space-between;
106
+ gap: 18px;
107
+ padding: 14px 12px 10px;
108
+ background: transparent;
109
+ border: 0;
110
+ border-radius: 0;
111
+ box-shadow: none;
112
+ backdrop-filter: none;
113
+ }
114
+
115
+ .hero-copy h1 {
116
+ margin: 2px 0 6px;
117
+ font-size: clamp(28px, 4vw, 48px);
118
+ line-height: 0.94;
119
+ letter-spacing: -0.05em;
120
+ }
121
+
122
+ .hero-copy p {
123
+ margin: 0;
124
+ max-width: 620px;
125
+ color: var(--ink-soft);
126
+ font-size: 14px;
127
+ }
128
+
129
+ .hero-kicker,
130
+ .page-kicker,
131
+ .drawer-kicker,
132
+ .skill-kicker,
133
+ .stat-label,
134
+ .section-meta {
135
+ text-transform: uppercase;
136
+ letter-spacing: 0.12em;
137
+ font-size: 11px;
138
+ color: var(--ink-muted);
139
+ }
140
+
141
+ .hero-status {
142
+ min-width: 250px;
143
+ display: flex;
144
+ flex-direction: column;
145
+ gap: 10px;
146
+ align-items: flex-end;
147
+ }
148
+
149
+ .theme-switch {
150
+ border: 1px solid rgba(202, 93, 26, 0.2);
151
+ border-radius: 999px;
152
+ background: rgba(255, 247, 237, 0.72);
153
+ color: var(--accent);
154
+ padding: 9px 14px;
155
+ font-size: 12px;
156
+ font-weight: 800;
157
+ }
158
+
159
+ :root[data-theme="dark"] .theme-switch {
160
+ background: rgba(45, 31, 24, 0.82);
161
+ border-color: rgba(255, 163, 92, 0.2);
162
+ }
163
+
164
+ .status-chip {
165
+ display: inline-flex;
166
+ align-items: center;
167
+ padding: 10px 14px;
168
+ border-radius: 999px;
169
+ border: 1px solid rgba(202, 93, 26, 0.16);
170
+ background: rgba(255, 246, 234, 0.88);
171
+ font-weight: 700;
172
+ color: var(--accent);
173
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
174
+ }
175
+
176
+ :root[data-theme="dark"] .status-chip {
177
+ background: var(--status-bg);
178
+ border-color: rgba(255, 173, 110, 0.18);
179
+ box-shadow: inset 0 1px 0 rgba(255, 223, 202, 0.06);
180
+ }
181
+
182
+ .status-line {
183
+ color: var(--ink-soft);
184
+ font-size: 14px;
185
+ text-align: right;
186
+ }
187
+
188
+ .stats-row {
189
+ display: grid;
190
+ grid-template-columns: repeat(4, minmax(0, 1fr));
191
+ gap: 0;
192
+ flex: 0 0 auto;
193
+ border-bottom: 1px solid rgba(89, 50, 21, 0.08);
194
+ }
195
+
196
+ .stat-card {
197
+ min-height: 78px;
198
+ padding: 14px 12px;
199
+ border-radius: 0;
200
+ border: 0;
201
+ border-right: 1px solid rgba(89, 50, 21, 0.08);
202
+ background: transparent;
203
+ box-shadow: none;
204
+ backdrop-filter: none;
205
+ }
206
+
207
+ .stat-card.wide {
208
+ grid-column: span 1;
209
+ }
210
+
211
+ .stat-value {
212
+ margin-top: 8px;
213
+ font-size: 16px;
214
+ line-height: 1.2;
215
+ font-weight: 700;
216
+ color: var(--ink);
217
+ }
218
+
219
+ .stat-card.good .stat-value {
220
+ color: #2c7c4a;
221
+ }
222
+
223
+ :root[data-theme="dark"] .stat-card.good .stat-value {
224
+ color: #79d89e;
225
+ }
226
+
227
+ .stat-card.warn .stat-value {
228
+ color: #a54a23;
229
+ }
230
+
231
+ :root[data-theme="dark"] .stat-card.warn .stat-value {
232
+ color: #ff9d72;
233
+ }
234
+
235
+ .stat-card.accent .stat-value {
236
+ color: var(--accent);
237
+ }
238
+
239
+ .layout {
240
+ display: grid;
241
+ grid-template-columns: 320px minmax(0, 1fr);
242
+ gap: 0;
243
+ flex: 1 1 auto;
244
+ min-height: 0;
245
+ }
246
+
247
+ .layout.drawer-closed {
248
+ grid-template-columns: minmax(0, 1fr);
249
+ }
250
+
251
+ .drawer {
252
+ background: transparent;
253
+ border: 0;
254
+ border-right: 1px solid rgba(106, 64, 34, 0.1);
255
+ border-radius: 0;
256
+ padding: 12px 10px 10px 0;
257
+ box-shadow: none;
258
+ backdrop-filter: none;
259
+ min-height: 0;
260
+ height: 100%;
261
+ overflow: hidden;
262
+ display: flex;
263
+ flex-direction: column;
264
+ }
265
+
266
+ .drawer.closed {
267
+ display: none;
268
+ }
269
+
270
+ .drawer-head {
271
+ padding: 4px 10px 12px 12px;
272
+ display: flex;
273
+ align-items: flex-start;
274
+ justify-content: space-between;
275
+ gap: 12px;
276
+ }
277
+
278
+ .drawer-head-main {
279
+ min-width: 0;
280
+ }
281
+
282
+ .drawer-inline-toggle,
283
+ .drawer-reopen {
284
+ width: 34px;
285
+ height: 34px;
286
+ border: 1px solid rgba(129, 73, 33, 0.14);
287
+ border-radius: 999px;
288
+ background: rgba(255, 247, 237, 0.7);
289
+ color: var(--accent);
290
+ font-size: 16px;
291
+ font-weight: 800;
292
+ cursor: pointer;
293
+ }
294
+
295
+ :root[data-theme="dark"] .drawer-inline-toggle,
296
+ :root[data-theme="dark"] .drawer-reopen {
297
+ background: rgba(36, 26, 21, 0.86);
298
+ border-color: rgba(255, 176, 118, 0.16);
299
+ }
300
+
301
+ .drawer-reopen {
302
+ align-self: flex-start;
303
+ margin: 12px 8px 0 0;
304
+ }
305
+
306
+ .drawer-title {
307
+ font-size: 22px;
308
+ font-weight: 800;
309
+ letter-spacing: -0.04em;
310
+ }
311
+
312
+ .drawer-nav {
313
+ display: flex;
314
+ flex-direction: column;
315
+ gap: 8px;
316
+ min-height: 0;
317
+ overflow: auto;
318
+ padding: 0 8px 0 12px;
319
+ }
320
+
321
+ .nav-btn {
322
+ border: 1px solid transparent;
323
+ border-radius: 18px;
324
+ background: transparent;
325
+ color: var(--ink);
326
+ text-align: left;
327
+ padding: 12px 14px;
328
+ font-size: 14px;
329
+ cursor: pointer;
330
+ transition: transform 140ms ease, background 140ms ease, border-color 140ms ease;
331
+ }
332
+
333
+ .nav-btn:hover {
334
+ transform: translateX(2px);
335
+ background: rgba(255, 255, 255, 0.44);
336
+ border-color: rgba(128, 71, 34, 0.12);
337
+ }
338
+
339
+ :root[data-theme="dark"] .nav-btn:hover {
340
+ background: rgba(255, 255, 255, 0.05);
341
+ border-color: rgba(255, 181, 123, 0.12);
342
+ }
343
+
344
+ .nav-btn.active {
345
+ background: linear-gradient(135deg, rgba(239, 140, 58, 0.2), rgba(255, 215, 170, 0.38));
346
+ border-color: rgba(209, 100, 30, 0.2);
347
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.55);
348
+ }
349
+
350
+ :root[data-theme="dark"] .nav-btn.active {
351
+ background: linear-gradient(135deg, rgba(203, 100, 40, 0.32), rgba(79, 44, 24, 0.48));
352
+ border-color: rgba(255, 171, 110, 0.18);
353
+ box-shadow: inset 0 1px 0 rgba(255, 214, 184, 0.08);
354
+ }
355
+
356
+ .nav-label,
357
+ .nav-blurb {
358
+ display: block;
359
+ }
360
+
361
+ .nav-label {
362
+ font-weight: 700;
363
+ }
364
+
365
+ .nav-blurb {
366
+ margin-top: 4px;
367
+ font-size: 11px;
368
+ text-transform: uppercase;
369
+ letter-spacing: 0.12em;
370
+ color: var(--ink-muted);
371
+ }
372
+
373
+ .page {
374
+ display: flex;
375
+ flex-direction: column;
376
+ min-height: 0;
377
+ height: 100%;
378
+ width: 100%;
379
+ border-radius: 0;
380
+ border: 0;
381
+ background: transparent;
382
+ box-shadow: none;
383
+ overflow: hidden;
384
+ backdrop-filter: none;
385
+ }
386
+
387
+ .page-head {
388
+ padding: 14px 20px 12px;
389
+ border-bottom: 1px solid rgba(101, 67, 37, 0.1);
390
+ background: transparent;
391
+ }
392
+
393
+ .page-head h2 {
394
+ margin: 4px 0 6px;
395
+ font-size: 24px;
396
+ line-height: 1;
397
+ letter-spacing: -0.04em;
398
+ }
399
+
400
+ .page-head p {
401
+ margin: 0;
402
+ color: var(--ink-soft);
403
+ font-size: 14px;
404
+ }
405
+
406
+ .content-body {
407
+ flex: 1;
408
+ min-height: 0;
409
+ overflow: hidden;
410
+ }
411
+
412
+ .stacked {
413
+ display: flex;
414
+ flex-direction: column;
415
+ }
416
+
417
+ .section-head {
418
+ display: flex;
419
+ align-items: baseline;
420
+ justify-content: space-between;
421
+ gap: 10px;
422
+ padding: 14px 20px 8px;
423
+ }
424
+
425
+ .section-title {
426
+ font-size: 15px;
427
+ font-weight: 700;
428
+ }
429
+
430
+ .chat-list {
431
+ flex: 1;
432
+ min-height: 0;
433
+ overflow-y: auto;
434
+ padding: 6px 20px 14px;
435
+ display: flex;
436
+ flex-direction: column;
437
+ gap: 10px;
438
+ }
439
+
440
+ .msg {
441
+ display: flex;
442
+ padding: 0;
443
+ border-radius: 0;
444
+ border: 0;
445
+ background: transparent;
446
+ box-shadow: none;
447
+ }
448
+
449
+ .msg.user {
450
+ justify-content: flex-end;
451
+ }
452
+
453
+ .msg.assistant {
454
+ justify-content: flex-start;
455
+ }
456
+
457
+ .msg.error {
458
+ justify-content: flex-start;
459
+ }
460
+
461
+ .msg-bubble {
462
+ max-width: min(72%, 760px);
463
+ padding: 12px 14px;
464
+ border-radius: 22px;
465
+ border: 1px solid rgba(112, 69, 35, 0.1);
466
+ background: rgba(255, 252, 247, 0.64);
467
+ }
468
+
469
+ .msg.user .msg-bubble {
470
+ background: linear-gradient(135deg, rgba(243, 158, 90, 0.22), rgba(255, 224, 188, 0.42));
471
+ border-color: rgba(222, 124, 50, 0.18);
472
+ }
473
+
474
+ .msg.assistant .msg-bubble {
475
+ background: rgba(255, 255, 255, 0.48);
476
+ }
477
+
478
+ .msg.error .msg-bubble {
479
+ background: rgba(193, 74, 43, 0.08);
480
+ border-color: rgba(193, 74, 43, 0.18);
481
+ }
482
+
483
+ :root[data-theme="dark"] .msg-bubble {
484
+ background: rgba(38, 27, 21, 0.78);
485
+ border-color: rgba(255, 189, 140, 0.12);
486
+ }
487
+
488
+ :root[data-theme="dark"] .msg.user .msg-bubble {
489
+ background: linear-gradient(135deg, rgba(194, 96, 35, 0.42), rgba(117, 64, 31, 0.68));
490
+ border-color: rgba(255, 168, 96, 0.2);
491
+ }
492
+
493
+ :root[data-theme="dark"] .msg.assistant .msg-bubble {
494
+ background: rgba(30, 21, 17, 0.82);
495
+ }
496
+
497
+ .meta {
498
+ display: flex;
499
+ gap: 8px;
500
+ flex-wrap: wrap;
501
+ margin-bottom: 8px;
502
+ font-size: 11px;
503
+ color: var(--ink-muted);
504
+ text-transform: uppercase;
505
+ letter-spacing: 0.08em;
506
+ }
507
+
508
+ .role-badge {
509
+ display: inline-flex;
510
+ align-items: center;
511
+ padding: 3px 8px;
512
+ border-radius: 999px;
513
+ background: rgba(115, 77, 50, 0.08);
514
+ color: var(--ink-soft);
515
+ font-weight: 700;
516
+ }
517
+
518
+ :root[data-theme="dark"] .role-badge {
519
+ background: rgba(255, 255, 255, 0.06);
520
+ }
521
+
522
+ .msg-text {
523
+ white-space: pre-wrap;
524
+ overflow-wrap: anywhere;
525
+ word-break: break-word;
526
+ line-height: 1.5;
527
+ }
528
+
529
+ .composer-shell {
530
+ padding: 12px 20px 18px;
531
+ border-top: 1px solid rgba(101, 67, 37, 0.1);
532
+ background: transparent;
533
+ }
534
+
535
+ .composer-label {
536
+ margin-bottom: 10px;
537
+ font-size: 13px;
538
+ font-weight: 700;
539
+ color: var(--ink-soft);
540
+ }
541
+
542
+ .composer {
543
+ display: grid;
544
+ grid-template-columns: 1fr auto;
545
+ gap: 10px;
546
+ align-items: center;
547
+ }
548
+
549
+ .editor {
550
+ padding: 0 0 20px;
551
+ }
552
+
553
+ input,
554
+ textarea {
555
+ width: 100%;
556
+ border: 1px solid rgba(102, 64, 36, 0.12);
557
+ border-radius: 20px;
558
+ background: rgba(255, 255, 255, 0.72);
559
+ color: var(--ink);
560
+ padding: 16px 18px;
561
+ font: inherit;
562
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6);
563
+ }
564
+
565
+ input::placeholder,
566
+ textarea::placeholder {
567
+ color: var(--ink-muted);
568
+ }
569
+
570
+ :root[data-theme="dark"] input,
571
+ :root[data-theme="dark"] textarea {
572
+ border-color: var(--field-line);
573
+ background: var(--field-bg);
574
+ color: var(--ink);
575
+ box-shadow: var(--field-shadow);
576
+ }
577
+
578
+ .composer input {
579
+ height: 54px;
580
+ min-height: 54px;
581
+ }
582
+
583
+ textarea {
584
+ min-height: 120px;
585
+ resize: vertical;
586
+ }
587
+
588
+ .editor textarea {
589
+ min-height: 0;
590
+ height: 100%;
591
+ margin: 0 20px;
592
+ width: calc(100% - 40px);
593
+ }
594
+
595
+ .editor-footer {
596
+ margin-top: 12px;
597
+ padding: 0 20px;
598
+ display: flex;
599
+ justify-content: flex-end;
600
+ }
601
+
602
+ button {
603
+ appearance: none;
604
+ }
605
+
606
+ .primary-btn,
607
+ .secondary-btn {
608
+ border-radius: 16px;
609
+ font-weight: 800;
610
+ cursor: pointer;
611
+ }
612
+
613
+ .primary-btn {
614
+ min-width: 120px;
615
+ height: 54px;
616
+ padding: 0 22px;
617
+ border: 0;
618
+ background: linear-gradient(135deg, var(--accent), var(--accent-bright));
619
+ color: #fff8f1;
620
+ box-shadow: 0 16px 28px rgba(208, 101, 31, 0.24);
621
+ }
622
+
623
+ :root[data-theme="dark"] .primary-btn {
624
+ color: #1d120a;
625
+ box-shadow: 0 16px 32px rgba(0, 0, 0, 0.28);
626
+ }
627
+
628
+ .secondary-btn {
629
+ padding: 10px 14px;
630
+ border: 1px solid rgba(195, 99, 36, 0.16);
631
+ background: rgba(255, 249, 241, 0.72);
632
+ color: var(--accent);
633
+ }
634
+
635
+ :root[data-theme="dark"] .secondary-btn {
636
+ background: rgba(34, 25, 20, 0.84);
637
+ border-color: rgba(255, 177, 119, 0.16);
638
+ }
639
+
640
+ .shots-grid,
641
+ .skills-grid,
642
+ .credentials-grid {
643
+ padding: 14px 20px 18px;
644
+ overflow-y: auto;
645
+ display: grid;
646
+ grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
647
+ gap: 14px;
648
+ align-items: start;
649
+ grid-auto-rows: 198px;
650
+ }
651
+
652
+ .shot-card,
653
+ .skill-card,
654
+ .credential-card,
655
+ .settings-card {
656
+ border-radius: 0;
657
+ border: 0;
658
+ border-bottom: 1px solid rgba(101, 68, 38, 0.1);
659
+ background: transparent;
660
+ box-shadow: none;
661
+ padding: 12px 0;
662
+ }
663
+
664
+ .skill-card {
665
+ border: 1px solid rgba(101, 68, 38, 0.12);
666
+ border-radius: 18px;
667
+ background: rgba(255, 250, 244, 0.58);
668
+ box-shadow: 0 10px 24px rgba(95, 58, 31, 0.06);
669
+ padding: 10px 12px;
670
+ align-self: stretch;
671
+ height: 198px;
672
+ display: flex;
673
+ flex-direction: column;
674
+ overflow: hidden;
675
+ }
676
+
677
+ :root[data-theme="dark"] .skill-card {
678
+ border-color: rgba(255, 188, 140, 0.12);
679
+ background: rgba(34, 25, 20, 0.78);
680
+ box-shadow: 0 12px 28px rgba(0, 0, 0, 0.22);
681
+ }
682
+
683
+ .credential-card {
684
+ border: 1px solid rgba(101, 68, 38, 0.12);
685
+ border-radius: 18px;
686
+ background: rgba(255, 250, 244, 0.58);
687
+ box-shadow: 0 10px 24px rgba(95, 58, 31, 0.06);
688
+ padding: 14px 16px;
689
+ }
690
+
691
+ :root[data-theme="dark"] .credential-card {
692
+ border-color: rgba(255, 188, 140, 0.12);
693
+ background: rgba(34, 25, 20, 0.78);
694
+ box-shadow: 0 12px 28px rgba(0, 0, 0, 0.22);
695
+ }
696
+
697
+ .settings-card {
698
+ margin: 0 20px 18px;
699
+ padding: 14px 0;
700
+ display: grid;
701
+ grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
702
+ gap: 14px;
703
+ }
704
+
705
+ .credentials-settings-card,
706
+ .credentials-entry-card {
707
+ margin: 0 20px 18px;
708
+ padding: 14px 0;
709
+ }
710
+
711
+ .settings-field-wide {
712
+ grid-column: 1 / -1;
713
+ }
714
+
715
+ .credentials-warning {
716
+ grid-column: 1 / -1;
717
+ border: 1px solid rgba(207, 101, 31, 0.22);
718
+ background: rgba(255, 169, 96, 0.12);
719
+ color: var(--ink);
720
+ border-radius: 16px;
721
+ padding: 12px 14px;
722
+ font-size: 13px;
723
+ line-height: 1.5;
724
+ }
725
+
726
+ :root[data-theme="dark"] .credentials-warning {
727
+ background: rgba(255, 135, 57, 0.14);
728
+ border-color: rgba(255, 165, 104, 0.2);
729
+ }
730
+
731
+ .credential-actions {
732
+ justify-content: flex-start;
733
+ }
734
+
735
+ .danger-btn {
736
+ border-color: rgba(176, 61, 42, 0.18);
737
+ color: #b94f32;
738
+ }
739
+
740
+ :root[data-theme="dark"] .danger-btn {
741
+ border-color: rgba(255, 134, 111, 0.16);
742
+ color: #ff9f89;
743
+ }
744
+
745
+ .settings-row,
746
+ .settings-field {
747
+ display: grid;
748
+ gap: 8px;
749
+ }
750
+
751
+ .settings-toggle {
752
+ grid-template-columns: 1fr auto;
753
+ align-items: center;
754
+ gap: 16px;
755
+ }
756
+
757
+ .settings-copy {
758
+ display: grid;
759
+ gap: 4px;
760
+ color: var(--ink-soft);
761
+ font-size: 13px;
762
+ }
763
+
764
+ .settings-copy strong,
765
+ .settings-field span {
766
+ color: var(--ink);
767
+ font-size: 13px;
768
+ }
769
+
770
+ .settings-inline-meta {
771
+ color: var(--ink-soft);
772
+ font-size: 12px;
773
+ font-weight: 700;
774
+ }
775
+
776
+ .settings-actions {
777
+ display: flex;
778
+ gap: 10px;
779
+ justify-content: flex-end;
780
+ grid-column: 1 / -1;
781
+ }
782
+
783
+ .settings-inline-meta,
784
+ .settings-toggle {
785
+ grid-column: 1 / -1;
786
+ }
787
+
788
+ .shot-meta,
789
+ .skill-top {
790
+ display: flex;
791
+ justify-content: space-between;
792
+ gap: 12px;
793
+ align-items: flex-start;
794
+ }
795
+
796
+ .shot-name,
797
+ .skill-card h3 {
798
+ margin: 0;
799
+ font-size: 16px;
800
+ font-weight: 800;
801
+ }
802
+
803
+ .clamp-title {
804
+ display: -webkit-box;
805
+ -webkit-line-clamp: 1;
806
+ -webkit-box-orient: vertical;
807
+ overflow: hidden;
808
+ }
809
+
810
+ .shot-ts,
811
+ .skill-card p,
812
+ .skill-note {
813
+ color: var(--ink-soft);
814
+ font-size: 13px;
815
+ }
816
+
817
+ .shot-card img {
818
+ width: 100%;
819
+ margin-top: 12px;
820
+ border-radius: 16px;
821
+ border: 1px solid rgba(105, 70, 39, 0.1);
822
+ }
823
+
824
+ .skill-card p {
825
+ margin: 6px 0 8px;
826
+ line-height: 1.4;
827
+ }
828
+
829
+ .skill-card p,
830
+ .skill-expand-btn {
831
+ flex: 0 0 auto;
832
+ }
833
+
834
+ .clamp-description {
835
+ display: -webkit-box;
836
+ -webkit-line-clamp: 2;
837
+ -webkit-box-orient: vertical;
838
+ overflow: hidden;
839
+ }
840
+
841
+ .skill-card.expanded {
842
+ height: auto;
843
+ min-height: 198px;
844
+ }
845
+
846
+ .skill-expand-btn {
847
+ align-self: flex-start;
848
+ margin: -2px 0 8px;
849
+ }
850
+
851
+ .text-btn {
852
+ border: 0;
853
+ background: transparent;
854
+ color: var(--accent);
855
+ font: inherit;
856
+ font-size: 13px;
857
+ font-weight: 800;
858
+ padding: 0;
859
+ cursor: pointer;
860
+ }
861
+
862
+ :root[data-theme="dark"] .text-btn {
863
+ color: var(--accent-bright);
864
+ }
865
+
866
+ .skill-note,
867
+ .skill-card .secondary-btn {
868
+ margin-top: auto;
869
+ align-self: stretch;
870
+ }
871
+
872
+ .skill-status {
873
+ display: inline-flex;
874
+ align-items: center;
875
+ border-radius: 999px;
876
+ padding: 5px 10px;
877
+ font-size: 11px;
878
+ font-weight: 800;
879
+ text-transform: uppercase;
880
+ letter-spacing: 0.08em;
881
+ }
882
+
883
+ .skill-status.installed {
884
+ color: #2f8050;
885
+ background: rgba(89, 196, 123, 0.14);
886
+ }
887
+
888
+ :root[data-theme="dark"] .skill-status.installed {
889
+ color: #7cdda5;
890
+ background: rgba(89, 196, 123, 0.18);
891
+ }
892
+
893
+ .skill-status.not-installed {
894
+ color: var(--accent);
895
+ background: rgba(240, 140, 57, 0.12);
896
+ }
897
+
898
+ :root[data-theme="dark"] .skill-status.not-installed {
899
+ background: rgba(255, 145, 71, 0.16);
900
+ }
901
+
902
+ .skill-note {
903
+ font-weight: 600;
904
+ }
905
+
906
+ @media (max-width: 1120px) {
907
+ .stats-row,
908
+ .shots-grid,
909
+ .skills-grid,
910
+ .credentials-grid {
911
+ grid-template-columns: 1fr 1fr;
912
+ }
913
+
914
+ .layout {
915
+ grid-template-columns: 1fr;
916
+ }
917
+ }
918
+
919
+ @media (max-width: 760px) {
920
+ .shell {
921
+ padding: 14px 12px 12px;
922
+ }
923
+
924
+ .hero {
925
+ flex-direction: column;
926
+ align-items: flex-start;
927
+ }
928
+
929
+ .hero-status {
930
+ align-items: flex-start;
931
+ min-width: 0;
932
+ }
933
+
934
+ .stats-row,
935
+ .shots-grid,
936
+ .skills-grid,
937
+ .credentials-grid,
938
+ .composer,
939
+ .settings-card {
940
+ grid-template-columns: 1fr;
941
+ }
942
+
943
+ .page-head,
944
+ .section-head,
945
+ .chat-list,
946
+ .composer-shell,
947
+ .shots-grid,
948
+ .skills-grid {
949
+ padding-left: 16px;
950
+ padding-right: 16px;
951
+ }
952
+
953
+ .editor textarea,
954
+ .editor-footer {
955
+ margin-left: 16px;
956
+ margin-right: 16px;
957
+ width: calc(100% - 32px);
958
+ padding-left: 0;
959
+ padding-right: 0;
960
+ }
961
+
962
+ .msg-bubble {
963
+ max-width: 100%;
964
+ }
965
+ }