pinokiod 7.2.17 → 7.2.18

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 (51) hide show
  1. package/kernel/agent_instructions.js +166 -0
  2. package/kernel/api/index.js +137 -12
  3. package/kernel/bin/huggingface.js +1 -1
  4. package/kernel/environment.js +23 -9
  5. package/kernel/plugin_sources.js +57 -4
  6. package/kernel/prototype.js +4 -0
  7. package/kernel/shell.js +2 -0
  8. package/kernel/watch/index.js +31 -4
  9. package/package.json +1 -1
  10. package/server/features/index.js +4 -4
  11. package/server/features/{drafts → notes}/index.js +9 -9
  12. package/server/features/{drafts → notes}/parser.js +12 -7
  13. package/server/features/notes/public/notes.css +955 -0
  14. package/server/features/notes/public/notes.js +1149 -0
  15. package/server/features/{drafts → notes}/registry_import.js +22 -22
  16. package/server/features/notes/routes.js +156 -0
  17. package/server/features/notes/service.js +326 -0
  18. package/server/features/{drafts → notes}/watcher.js +14 -16
  19. package/server/index.js +61 -30
  20. package/server/lib/content_validation.js +19 -8
  21. package/server/lib/workspace_catalog.js +18 -18
  22. package/server/public/task-launcher.css +11 -3
  23. package/server/public/tasker.css +336 -0
  24. package/server/public/tasker.js +407 -0
  25. package/server/views/d.ejs +33 -2
  26. package/server/views/partials/menu.ejs +1 -1
  27. package/server/views/partials/workspace_row.ejs +11 -11
  28. package/server/views/pre.ejs +1 -1
  29. package/server/views/task_launch.ejs +10 -10
  30. package/server/views/tasker.ejs +40 -0
  31. package/server/views/terminal.ejs +15 -6
  32. package/server/views/terminals.ejs +0 -1
  33. package/server/views/workspaces.ejs +2 -1
  34. package/system/plugin/antigravity/pinokio.js +2 -4
  35. package/system/plugin/claude/pinokio.js +2 -4
  36. package/system/plugin/claude-auto/pinokio.js +2 -4
  37. package/system/plugin/claude-desktop/pinokio.js +2 -4
  38. package/system/plugin/codex/pinokio.js +2 -4
  39. package/system/plugin/codex-auto/pinokio.js +2 -4
  40. package/system/plugin/codex-desktop/pinokio.js +2 -4
  41. package/system/plugin/crush/pinokio.js +2 -4
  42. package/system/plugin/cursor/pinokio.js +2 -4
  43. package/system/plugin/gemini/pinokio.js +2 -4
  44. package/system/plugin/gemini-auto/pinokio.js +2 -4
  45. package/system/plugin/qwen/pinokio.js +2 -4
  46. package/system/plugin/vscode/pinokio.js +2 -4
  47. package/system/plugin/windsurf/pinokio.js +2 -4
  48. package/test/plugin-sources.test.js +45 -0
  49. package/server/features/drafts/public/drafts.js +0 -1504
  50. package/server/features/drafts/routes.js +0 -68
  51. package/server/features/drafts/service.js +0 -261
@@ -0,0 +1,955 @@
1
+ .pinokio-notes {
2
+ color: #111827;
3
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
4
+ }
5
+ .pinokio-notes-slot {
6
+ flex: 0 0 auto;
7
+ min-height: 0;
8
+ box-sizing: border-box;
9
+ padding: 0;
10
+ border-top: 1px solid rgba(15, 23, 42, 0.08);
11
+ border-bottom: 1px solid rgba(15, 23, 42, 0.08);
12
+ background: #f8fafc;
13
+ }
14
+ .pinokio-notes-slot:empty {
15
+ display: none;
16
+ }
17
+ body.dark .pinokio-notes-slot {
18
+ border-top-color: rgba(255, 255, 255, 0.08);
19
+ border-bottom-color: rgba(255, 255, 255, 0.08);
20
+ background: rgba(255, 255, 255, 0.03);
21
+ }
22
+ .pinokio-notes-slot:has(.pinokio-note-footer.has-update) {
23
+ border-top-color: rgba(217, 119, 6, 0.26);
24
+ border-bottom-color: rgba(217, 119, 6, 0.26);
25
+ background: #fff7ed;
26
+ }
27
+ body.dark .pinokio-notes-slot:has(.pinokio-note-footer.has-update) {
28
+ border-top-color: rgba(251, 191, 36, 0.2);
29
+ border-bottom-color: rgba(251, 191, 36, 0.2);
30
+ background: rgba(251, 191, 36, 0.08);
31
+ }
32
+ .pinokio-notes.is-inline {
33
+ position: static;
34
+ pointer-events: auto;
35
+ width: 100%;
36
+ }
37
+ .pinokio-notes.is-floating {
38
+ position: fixed;
39
+ left: 12px;
40
+ right: 12px;
41
+ bottom: 12px;
42
+ z-index: 2147483000;
43
+ pointer-events: none;
44
+ }
45
+ .pinokio-note-footer {
46
+ pointer-events: auto;
47
+ box-sizing: border-box;
48
+ width: 100%;
49
+ min-height: 42px;
50
+ margin: 0;
51
+ border: 0;
52
+ border-radius: 0;
53
+ background: transparent;
54
+ box-shadow: none;
55
+ color: #111827;
56
+ cursor: pointer;
57
+ display: flex;
58
+ align-items: center;
59
+ gap: 10px;
60
+ padding: 8px 14px 8px 0;
61
+ text-align: left;
62
+ position: relative;
63
+ }
64
+ .pinokio-note-footer:hover,
65
+ .pinokio-note-footer:focus {
66
+ background: rgba(15, 23, 42, 0.04);
67
+ outline: none;
68
+ }
69
+ body.dark .pinokio-note-footer {
70
+ border-color: transparent;
71
+ background: transparent;
72
+ box-shadow: none;
73
+ color: #f8fafc;
74
+ }
75
+ body.dark .pinokio-note-footer:hover,
76
+ body.dark .pinokio-note-footer:focus {
77
+ border-color: transparent;
78
+ background: rgba(255, 255, 255, 0.06);
79
+ }
80
+ .pinokio-note-footer.has-update {
81
+ background: #ffedd5;
82
+ }
83
+ .pinokio-note-footer.has-update:hover,
84
+ .pinokio-note-footer.has-update:focus {
85
+ background: #fed7aa;
86
+ }
87
+ body.dark .pinokio-note-footer.has-update {
88
+ background: rgba(251, 191, 36, 0.14);
89
+ }
90
+ body.dark .pinokio-note-footer.has-update:hover,
91
+ body.dark .pinokio-note-footer.has-update:focus {
92
+ background: rgba(251, 191, 36, 0.18);
93
+ }
94
+ .pinokio-note-footer.is-empty {
95
+ background: transparent;
96
+ }
97
+ .pinokio-note-footer.is-empty .pinokio-note-footer-title {
98
+ font-weight: 700;
99
+ }
100
+ .pinokio-note-footer.is-empty .pinokio-note-footer-meta {
101
+ font-style: normal;
102
+ }
103
+ .pinokio-note-footer-accent {
104
+ align-self: stretch;
105
+ flex: 0 0 auto;
106
+ width: 4px;
107
+ background: rgba(75, 85, 99, 0.32);
108
+ }
109
+ body.dark .pinokio-note-footer-accent {
110
+ background: rgba(212, 212, 216, 0.28);
111
+ }
112
+ .pinokio-note-footer.has-update .pinokio-note-footer-accent {
113
+ background: #d97706;
114
+ }
115
+ body.dark .pinokio-note-footer.has-update .pinokio-note-footer-accent {
116
+ background: #fbbf24;
117
+ }
118
+ .pinokio-note-footer-icon {
119
+ display: grid;
120
+ place-items: center;
121
+ flex: 0 0 auto;
122
+ width: 20px;
123
+ height: 20px;
124
+ border-radius: 5px;
125
+ background: rgba(15, 23, 42, 0.08);
126
+ color: #4b5563;
127
+ font-size: 10px;
128
+ }
129
+ body.dark .pinokio-note-footer-icon {
130
+ background: rgba(255, 255, 255, 0.08);
131
+ color: rgba(228, 228, 231, 0.82);
132
+ }
133
+ .pinokio-note-footer.has-update .pinokio-note-footer-icon {
134
+ background: #fef3c7;
135
+ color: #a16207;
136
+ }
137
+ body.dark .pinokio-note-footer.has-update .pinokio-note-footer-icon {
138
+ background: rgba(245, 158, 11, 0.18);
139
+ color: #fbbf24;
140
+ }
141
+ .pinokio-note-footer-copy {
142
+ min-width: 0;
143
+ flex: 1 1 auto;
144
+ display: flex;
145
+ align-items: center;
146
+ gap: 10px;
147
+ }
148
+ .pinokio-note-footer-top {
149
+ display: flex;
150
+ align-items: center;
151
+ gap: 6px;
152
+ margin-bottom: 0;
153
+ flex: 0 0 auto;
154
+ }
155
+ .pinokio-note-footer-count {
156
+ color: rgba(55, 65, 81, 0.86);
157
+ font-size: 11px;
158
+ font-weight: 800;
159
+ line-height: 1.1;
160
+ text-transform: uppercase;
161
+ }
162
+ body.dark .pinokio-note-footer-count {
163
+ color: rgba(212, 212, 216, 0.82);
164
+ }
165
+ .pinokio-note-footer.has-update .pinokio-note-footer-count {
166
+ color: #a16207;
167
+ }
168
+ body.dark .pinokio-note-footer.has-update .pinokio-note-footer-count {
169
+ color: #fbbf24;
170
+ }
171
+ .pinokio-note-footer-badge,
172
+ .pinokio-note-list-badge {
173
+ border-radius: 999px;
174
+ background: rgba(245, 158, 11, 0.14);
175
+ color: #92400e;
176
+ font-size: 10px;
177
+ font-weight: 800;
178
+ line-height: 1;
179
+ padding: 4px 7px;
180
+ text-transform: uppercase;
181
+ }
182
+ .pinokio-note-footer-badge.is-new {
183
+ background: #ef4444;
184
+ color: #ffffff;
185
+ }
186
+ .pinokio-note-footer-badge.is-updated {
187
+ background: #d97706;
188
+ color: #ffffff;
189
+ }
190
+ body.dark .pinokio-note-footer-badge,
191
+ body.dark .pinokio-note-list-badge {
192
+ background: rgba(251, 191, 36, 0.16);
193
+ color: #fbbf24;
194
+ }
195
+ body.dark .pinokio-note-footer-badge.is-new {
196
+ background: #ef4444;
197
+ color: #ffffff;
198
+ }
199
+ body.dark .pinokio-note-footer-badge.is-updated {
200
+ background: #f59e0b;
201
+ color: #111827;
202
+ }
203
+ .pinokio-note-footer-title {
204
+ color: inherit;
205
+ font-size: 13px;
206
+ font-weight: 800;
207
+ line-height: 1.25;
208
+ overflow: hidden;
209
+ text-overflow: ellipsis;
210
+ white-space: nowrap;
211
+ min-width: 0;
212
+ }
213
+ .pinokio-note-footer.has-update .pinokio-note-footer-title {
214
+ font-weight: 850;
215
+ }
216
+ .pinokio-note-footer-meta {
217
+ color: rgba(55, 65, 81, 0.74);
218
+ font-size: 12px;
219
+ line-height: 1.25;
220
+ margin-top: 0;
221
+ overflow: hidden;
222
+ text-overflow: ellipsis;
223
+ white-space: nowrap;
224
+ flex: 0 1 auto;
225
+ min-width: 0;
226
+ }
227
+ body.dark .pinokio-note-footer-meta {
228
+ color: rgba(212, 212, 216, 0.74);
229
+ }
230
+ .pinokio-note-footer-chevron {
231
+ display: inline-flex;
232
+ align-items: center;
233
+ gap: 7px;
234
+ color: rgba(55, 65, 81, 0.68);
235
+ flex: 0 0 auto;
236
+ font-size: 12px;
237
+ font-weight: 800;
238
+ }
239
+ body.dark .pinokio-note-footer-chevron {
240
+ color: rgba(212, 212, 216, 0.74);
241
+ }
242
+ .pinokio-note-button {
243
+ display: inline-flex;
244
+ align-items: center;
245
+ justify-content: center;
246
+ gap: 6px;
247
+ min-height: 30px;
248
+ border: 1px solid var(--pinokio-chrome-accent-bg-light);
249
+ border-radius: 6px;
250
+ background: var(--pinokio-chrome-accent-bg-light);
251
+ color: var(--pinokio-chrome-accent-fg-light);
252
+ cursor: pointer;
253
+ font-size: 12px;
254
+ font-weight: 700;
255
+ line-height: 1.1;
256
+ padding: 7px 10px;
257
+ white-space: nowrap;
258
+ }
259
+ .pinokio-note-button:hover,
260
+ .pinokio-note-button:focus {
261
+ border-color: color-mix(in srgb, var(--pinokio-chrome-accent-bg-light) 88%, #ffffff);
262
+ background: color-mix(in srgb, var(--pinokio-chrome-accent-bg-light) 88%, #ffffff);
263
+ }
264
+ body.dark .pinokio-note-button {
265
+ border-color: #fbbf24;
266
+ background: #fbbf24;
267
+ color: var(--universal-launcher-surface-solid, #0a0a0b);
268
+ }
269
+ body.dark .pinokio-note-button:hover,
270
+ body.dark .pinokio-note-button:focus {
271
+ border-color: color-mix(in srgb, #fbbf24 90%, #ffffff);
272
+ background: color-mix(in srgb, #fbbf24 90%, #ffffff);
273
+ color: var(--universal-launcher-surface-solid, #0a0a0b);
274
+ }
275
+ .pinokio-note-button.secondary {
276
+ border-color: rgba(15, 23, 42, 0.14);
277
+ color: #374151;
278
+ background: rgba(255, 255, 255, 0.72);
279
+ }
280
+ .pinokio-note-button.secondary:hover,
281
+ .pinokio-note-button.secondary:focus {
282
+ border-color: rgba(15, 23, 42, 0.24);
283
+ background: rgba(15, 23, 42, 0.04);
284
+ }
285
+ body.dark .pinokio-note-button.secondary {
286
+ border-color: rgba(148, 163, 184, 0.28);
287
+ color: #dbeafe;
288
+ background: transparent;
289
+ }
290
+ body.dark .pinokio-note-button.secondary:hover,
291
+ body.dark .pinokio-note-button.secondary:focus {
292
+ border-color: rgba(148, 163, 184, 0.38);
293
+ background: rgba(255, 255, 255, 0.06);
294
+ }
295
+ .pinokio-note-button:disabled {
296
+ cursor: default;
297
+ opacity: 0.68;
298
+ }
299
+ .pinokio-note-sheet-backdrop {
300
+ position: fixed;
301
+ inset: 0;
302
+ z-index: 2147483001;
303
+ display: flex;
304
+ align-items: stretch;
305
+ justify-content: center;
306
+ background: rgba(15, 23, 42, 0.22);
307
+ color: #111827;
308
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
309
+ }
310
+ [data-pinokio-notes-scope] {
311
+ position: relative;
312
+ }
313
+ [data-pinokio-notes-scope] > .pinokio-note-sheet-backdrop {
314
+ position: absolute;
315
+ z-index: 2147483001;
316
+ }
317
+ body.dark .pinokio-note-sheet-backdrop {
318
+ background: rgba(0, 0, 0, 0.42);
319
+ }
320
+ .pinokio-note-sheet {
321
+ box-sizing: border-box;
322
+ width: 100%;
323
+ height: 100%;
324
+ min-height: 0;
325
+ border: 1px solid rgba(15, 23, 42, 0.12);
326
+ border-radius: 0;
327
+ background: #fbfbfc;
328
+ box-shadow: none;
329
+ display: flex;
330
+ flex-direction: column;
331
+ overflow: hidden;
332
+ }
333
+ body.dark .pinokio-note-sheet {
334
+ border-color: rgba(255, 255, 255, 0.1);
335
+ background: #171719;
336
+ color: rgba(250, 250, 250, 0.96);
337
+ box-shadow: none;
338
+ }
339
+ .pinokio-note-sheet-header {
340
+ display: flex;
341
+ align-items: flex-start;
342
+ gap: 16px;
343
+ padding: 16px 18px 14px;
344
+ border-bottom: 1px solid rgba(15, 23, 42, 0.1);
345
+ }
346
+ body.dark .pinokio-note-sheet-header {
347
+ border-bottom-color: rgba(255, 255, 255, 0.1);
348
+ }
349
+ .pinokio-note-sheet-title-block {
350
+ min-width: 0;
351
+ flex: 1 1 auto;
352
+ }
353
+ .pinokio-note-sheet-kicker {
354
+ color: #a16207;
355
+ font-size: 11px;
356
+ font-weight: 800;
357
+ line-height: 1.1;
358
+ text-transform: uppercase;
359
+ }
360
+ body.dark .pinokio-note-sheet-kicker {
361
+ color: #fbbf24;
362
+ }
363
+ .pinokio-note-sheet-title {
364
+ color: inherit;
365
+ font-size: 20px;
366
+ font-weight: 850;
367
+ line-height: 1.18;
368
+ margin-top: 5px;
369
+ overflow-wrap: anywhere;
370
+ }
371
+ .pinokio-note-sheet-title-row {
372
+ display: flex;
373
+ align-items: center;
374
+ gap: 10px;
375
+ min-width: 0;
376
+ }
377
+ .pinokio-note-unsaved-badge {
378
+ flex: 0 0 auto;
379
+ border: 1px solid rgba(217, 119, 6, 0.24);
380
+ border-radius: 999px;
381
+ background: #fff7ed;
382
+ color: #9a3412;
383
+ font-size: 11px;
384
+ font-weight: 900;
385
+ line-height: 1;
386
+ padding: 5px 8px;
387
+ text-transform: uppercase;
388
+ }
389
+ body.dark .pinokio-note-unsaved-badge {
390
+ border-color: rgba(251, 191, 36, 0.24);
391
+ background: rgba(251, 191, 36, 0.12);
392
+ color: #fbbf24;
393
+ }
394
+ .pinokio-note-sheet-meta {
395
+ color: rgba(55, 65, 81, 0.76);
396
+ font-size: 12px;
397
+ line-height: 1.35;
398
+ margin-top: 7px;
399
+ overflow-wrap: anywhere;
400
+ }
401
+ body.dark .pinokio-note-sheet-meta {
402
+ color: rgba(212, 212, 216, 0.78);
403
+ }
404
+ .pinokio-note-sheet-header-actions {
405
+ display: flex;
406
+ align-items: center;
407
+ gap: 8px;
408
+ flex: 0 0 auto;
409
+ }
410
+ .pinokio-note-sheet-icon-button,
411
+ .pinokio-note-sheet-close {
412
+ width: 34px;
413
+ height: 34px;
414
+ border: 1px solid rgba(15, 23, 42, 0.12);
415
+ border-radius: 8px;
416
+ background: transparent;
417
+ color: inherit;
418
+ cursor: pointer;
419
+ font-size: 18px;
420
+ flex: 0 0 auto;
421
+ }
422
+ body.dark .pinokio-note-sheet-icon-button,
423
+ body.dark .pinokio-note-sheet-close {
424
+ border-color: rgba(255, 255, 255, 0.12);
425
+ }
426
+ .pinokio-note-sheet-icon-button {
427
+ font-size: 14px;
428
+ }
429
+ .pinokio-note-sheet-icon-button:hover,
430
+ .pinokio-note-sheet-icon-button:focus,
431
+ .pinokio-note-sheet-close:hover,
432
+ .pinokio-note-sheet-close:focus {
433
+ background: rgba(15, 23, 42, 0.06);
434
+ }
435
+ body.dark .pinokio-note-sheet-icon-button:hover,
436
+ body.dark .pinokio-note-sheet-icon-button:focus,
437
+ body.dark .pinokio-note-sheet-close:hover,
438
+ body.dark .pinokio-note-sheet-close:focus {
439
+ background: rgba(255, 255, 255, 0.08);
440
+ }
441
+ .pinokio-note-sheet-body {
442
+ min-height: 0;
443
+ flex: 1 1 auto;
444
+ overflow: hidden;
445
+ display: flex;
446
+ flex-direction: column;
447
+ }
448
+ .pinokio-note-sheet .pinokio-note-list {
449
+ min-height: 0;
450
+ box-sizing: border-box;
451
+ width: min(920px, 100%);
452
+ margin: 0 auto;
453
+ overflow: auto;
454
+ border-right: 0;
455
+ padding: 14px;
456
+ }
457
+ .pinokio-note-list-top {
458
+ display: flex;
459
+ align-items: center;
460
+ gap: 8px;
461
+ min-width: 0;
462
+ }
463
+ .pinokio-note-list-top .pinokio-note-list-title {
464
+ flex: 1 1 auto;
465
+ }
466
+ .pinokio-note-list-item.has-update {
467
+ border-color: rgba(161, 98, 7, 0.34);
468
+ background: rgba(254, 243, 199, 0.44);
469
+ }
470
+ body.dark .pinokio-note-list-item.has-update {
471
+ border-color: rgba(251, 191, 36, 0.32);
472
+ background: rgba(251, 191, 36, 0.1);
473
+ }
474
+ .pinokio-note-sheet-toolbar {
475
+ display: flex;
476
+ align-items: center;
477
+ gap: 10px;
478
+ padding: 12px 16px;
479
+ border-bottom: 1px solid rgba(15, 23, 42, 0.1);
480
+ }
481
+ body.dark .pinokio-note-sheet-toolbar {
482
+ border-bottom-color: rgba(255, 255, 255, 0.1);
483
+ }
484
+ .pinokio-note-sheet-actions {
485
+ display: flex;
486
+ align-items: center;
487
+ gap: 8px;
488
+ margin-left: auto;
489
+ }
490
+ .pinokio-note-button.compact {
491
+ min-width: 0;
492
+ }
493
+ .pinokio-note-detail {
494
+ min-height: 0;
495
+ flex: 1 1 auto;
496
+ }
497
+ .pinokio-note-detail-body {
498
+ min-height: 0;
499
+ flex: 1 1 auto;
500
+ overflow: auto;
501
+ padding: 18px 20px 26px;
502
+ }
503
+ .pinokio-note-detail-body .pinokio-note-markdown {
504
+ max-width: 760px;
505
+ margin: 0 auto;
506
+ }
507
+ .pinokio-note-detail-body .pinokio-note-editor {
508
+ min-height: 360px;
509
+ max-width: 980px;
510
+ margin: 0 auto;
511
+ }
512
+ .pinokio-note-list {
513
+ min-height: 0;
514
+ overflow: auto;
515
+ border-right: 1px solid rgba(15, 23, 42, 0.1);
516
+ padding: 12px;
517
+ }
518
+ body.dark .pinokio-note-list {
519
+ border-right-color: rgba(255, 255, 255, 0.1);
520
+ }
521
+ .pinokio-note-list-empty {
522
+ color: rgba(55, 65, 81, 0.7);
523
+ font-size: 13px;
524
+ line-height: 1.45;
525
+ padding: 18px 12px;
526
+ }
527
+ body.dark .pinokio-note-list-empty {
528
+ color: rgba(212, 212, 216, 0.72);
529
+ }
530
+ .pinokio-note-list-empty-title {
531
+ color: #111827;
532
+ font-size: 16px;
533
+ font-weight: 800;
534
+ line-height: 1.2;
535
+ margin-bottom: 6px;
536
+ }
537
+ body.dark .pinokio-note-list-empty-title {
538
+ color: #f8fafc;
539
+ }
540
+ .pinokio-note-list-empty-copy {
541
+ max-width: 520px;
542
+ }
543
+ .pinokio-note-list-empty-prompt {
544
+ display: inline-flex;
545
+ align-items: center;
546
+ margin-top: 12px;
547
+ border: 1px solid rgba(217, 119, 6, 0.24);
548
+ border-radius: 7px;
549
+ background: rgba(245, 158, 11, 0.08);
550
+ color: #92400e;
551
+ font-size: 12px;
552
+ font-weight: 700;
553
+ line-height: 1.25;
554
+ padding: 7px 9px;
555
+ }
556
+ body.dark .pinokio-note-list-empty-prompt {
557
+ border-color: rgba(251, 191, 36, 0.22);
558
+ background: rgba(251, 191, 36, 0.1);
559
+ color: #fbbf24;
560
+ }
561
+ .pinokio-note-list-item {
562
+ width: 100%;
563
+ border: 1px solid transparent;
564
+ border-radius: 8px;
565
+ background: transparent;
566
+ color: inherit;
567
+ cursor: pointer;
568
+ display: block;
569
+ margin: 0 0 6px;
570
+ padding: 10px;
571
+ text-align: left;
572
+ }
573
+ .pinokio-note-list-item:hover,
574
+ .pinokio-note-list-item:focus {
575
+ background: rgba(15, 23, 42, 0.05);
576
+ outline: none;
577
+ }
578
+ .pinokio-note-list-item.is-active {
579
+ border-color: rgba(15, 23, 42, 0.16);
580
+ background: #ffffff;
581
+ box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
582
+ }
583
+ .pinokio-note-list-item.is-highlighted:not(.is-active) {
584
+ border-color: rgba(161, 98, 7, 0.34);
585
+ background: rgba(254, 243, 199, 0.58);
586
+ }
587
+ body.dark .pinokio-note-list-item:hover,
588
+ body.dark .pinokio-note-list-item:focus {
589
+ background: rgba(255, 255, 255, 0.06);
590
+ }
591
+ body.dark .pinokio-note-list-item.is-active {
592
+ border-color: rgba(251, 191, 36, 0.28);
593
+ background: rgba(255, 255, 255, 0.09);
594
+ box-shadow: none;
595
+ }
596
+ body.dark .pinokio-note-list-item.is-highlighted:not(.is-active) {
597
+ border-color: rgba(251, 191, 36, 0.3);
598
+ background: rgba(251, 191, 36, 0.1);
599
+ }
600
+ .pinokio-note-list-title {
601
+ color: #111827;
602
+ font-size: 13px;
603
+ font-weight: 800;
604
+ line-height: 1.25;
605
+ overflow-wrap: anywhere;
606
+ }
607
+ body.dark .pinokio-note-list-title {
608
+ color: #f8fafc;
609
+ }
610
+ .pinokio-note-list-meta {
611
+ color: rgba(55, 65, 81, 0.72);
612
+ font-size: 11px;
613
+ line-height: 1.35;
614
+ margin-top: 5px;
615
+ }
616
+ body.dark .pinokio-note-list-meta {
617
+ color: rgba(212, 212, 216, 0.74);
618
+ }
619
+ .pinokio-note-detail {
620
+ min-width: 0;
621
+ min-height: 0;
622
+ display: flex;
623
+ flex-direction: column;
624
+ }
625
+ .pinokio-note-empty-detail {
626
+ color: rgba(55, 65, 81, 0.74);
627
+ font-size: 14px;
628
+ line-height: 1.5;
629
+ padding: 24px;
630
+ }
631
+ body.dark .pinokio-note-empty-detail {
632
+ color: rgba(212, 212, 216, 0.76);
633
+ }
634
+ .pinokio-note-tabs {
635
+ display: inline-flex;
636
+ gap: 4px;
637
+ border: 1px solid rgba(15, 23, 42, 0.1);
638
+ border-radius: 8px;
639
+ padding: 3px;
640
+ background: rgba(15, 23, 42, 0.04);
641
+ }
642
+ body.dark .pinokio-note-tabs {
643
+ background: rgba(255, 255, 255, 0.05);
644
+ border-color: rgba(255, 255, 255, 0.1);
645
+ }
646
+ .pinokio-note-tab {
647
+ border: 0;
648
+ border-radius: 6px;
649
+ background: transparent;
650
+ color: rgba(55, 65, 81, 0.86);
651
+ cursor: pointer;
652
+ font-size: 12px;
653
+ font-weight: 800;
654
+ padding: 7px 10px;
655
+ }
656
+ .pinokio-note-tab.is-active {
657
+ background: #ffffff;
658
+ color: #111827;
659
+ box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
660
+ }
661
+ body.dark .pinokio-note-tab {
662
+ color: rgba(228, 228, 231, 0.78);
663
+ }
664
+ body.dark .pinokio-note-tab.is-active {
665
+ background: rgba(255, 255, 255, 0.12);
666
+ color: #fafafa;
667
+ }
668
+ .pinokio-note-markdown {
669
+ max-width: 760px;
670
+ color: #1f2937;
671
+ font-size: 15px;
672
+ line-height: 1.62;
673
+ }
674
+ body.dark .pinokio-note-markdown {
675
+ color: rgba(244, 244, 245, 0.92);
676
+ }
677
+ .pinokio-note-markdown h1,
678
+ .pinokio-note-markdown h2,
679
+ .pinokio-note-markdown h3 {
680
+ color: inherit;
681
+ line-height: 1.18;
682
+ letter-spacing: 0;
683
+ margin: 24px 0 10px;
684
+ }
685
+ .pinokio-note-markdown h1 { font-size: 26px; }
686
+ .pinokio-note-markdown h2 { font-size: 21px; }
687
+ .pinokio-note-markdown h3 { font-size: 17px; }
688
+ .pinokio-note-markdown p,
689
+ .pinokio-note-markdown ul,
690
+ .pinokio-note-markdown ol,
691
+ .pinokio-note-markdown blockquote,
692
+ .pinokio-note-markdown pre {
693
+ margin: 0 0 14px;
694
+ }
695
+ .pinokio-note-markdown ul,
696
+ .pinokio-note-markdown ol {
697
+ padding-left: 24px;
698
+ }
699
+ .pinokio-note-markdown a {
700
+ color: #2563eb;
701
+ text-decoration: none;
702
+ }
703
+ .pinokio-note-markdown a:hover {
704
+ text-decoration: underline;
705
+ }
706
+ body.dark .pinokio-note-markdown a {
707
+ color: #93c5fd;
708
+ }
709
+ .pinokio-note-markdown code {
710
+ border: 1px solid rgba(15, 23, 42, 0.1);
711
+ border-radius: 5px;
712
+ background: rgba(15, 23, 42, 0.05);
713
+ font-family: "SFMono-Regular", Consolas, monospace;
714
+ font-size: 0.9em;
715
+ padding: 1px 4px;
716
+ }
717
+ body.dark .pinokio-note-markdown code {
718
+ border-color: rgba(255, 255, 255, 0.12);
719
+ background: rgba(255, 255, 255, 0.07);
720
+ }
721
+ .pinokio-note-markdown pre {
722
+ overflow: auto;
723
+ border: 1px solid rgba(15, 23, 42, 0.1);
724
+ border-radius: 8px;
725
+ background: rgba(15, 23, 42, 0.05);
726
+ padding: 12px;
727
+ }
728
+ .pinokio-note-markdown pre code {
729
+ border: 0;
730
+ background: transparent;
731
+ padding: 0;
732
+ }
733
+ .pinokio-note-markdown blockquote {
734
+ border-left: 3px solid rgba(15, 23, 42, 0.2);
735
+ color: rgba(55, 65, 81, 0.84);
736
+ padding-left: 12px;
737
+ }
738
+ body.dark .pinokio-note-markdown blockquote {
739
+ border-left-color: rgba(255, 255, 255, 0.24);
740
+ color: rgba(212, 212, 216, 0.84);
741
+ }
742
+ .pinokio-note-markdown table {
743
+ border-collapse: collapse;
744
+ width: 100%;
745
+ margin: 0 0 16px;
746
+ font-size: 13px;
747
+ }
748
+ .pinokio-note-markdown th,
749
+ .pinokio-note-markdown td {
750
+ border: 1px solid rgba(15, 23, 42, 0.12);
751
+ padding: 8px 9px;
752
+ text-align: left;
753
+ vertical-align: top;
754
+ }
755
+ .pinokio-note-markdown th {
756
+ background: rgba(15, 23, 42, 0.05);
757
+ font-weight: 800;
758
+ }
759
+ body.dark .pinokio-note-markdown th,
760
+ body.dark .pinokio-note-markdown td {
761
+ border-color: rgba(255, 255, 255, 0.12);
762
+ }
763
+ body.dark .pinokio-note-markdown th {
764
+ background: rgba(255, 255, 255, 0.08);
765
+ }
766
+ .pinokio-note-media-figure {
767
+ margin: 0 0 16px;
768
+ }
769
+ .pinokio-note-media-figure img,
770
+ .pinokio-note-media-figure video {
771
+ display: block;
772
+ max-width: 100%;
773
+ max-height: 520px;
774
+ border: 1px solid rgba(15, 23, 42, 0.1);
775
+ border-radius: 8px;
776
+ background: rgba(15, 23, 42, 0.04);
777
+ }
778
+ .pinokio-note-media-figure audio {
779
+ width: min(520px, 100%);
780
+ }
781
+ body.dark .pinokio-note-media-figure img,
782
+ body.dark .pinokio-note-media-figure video {
783
+ border-color: rgba(255, 255, 255, 0.12);
784
+ background: rgba(255, 255, 255, 0.06);
785
+ }
786
+ .pinokio-note-media-caption {
787
+ margin-top: 6px;
788
+ color: rgba(55, 65, 81, 0.72);
789
+ font-size: 12px;
790
+ }
791
+ body.dark .pinokio-note-media-caption {
792
+ color: rgba(212, 212, 216, 0.72);
793
+ }
794
+ .pinokio-note-editor {
795
+ max-width: 1040px;
796
+ margin: 0 auto;
797
+ }
798
+ .pinokio-note-markdown-editor {
799
+ box-sizing: border-box;
800
+ width: 100%;
801
+ min-height: calc(100vh - 210px);
802
+ margin: 0;
803
+ border: 1px solid rgba(15, 23, 42, 0.12);
804
+ border-radius: 8px;
805
+ background: #ffffff;
806
+ color: #111827;
807
+ overflow: auto;
808
+ padding: 14px;
809
+ white-space: pre-wrap;
810
+ word-break: break-word;
811
+ font-family: "SFMono-Regular", Consolas, monospace;
812
+ font-size: 13px;
813
+ line-height: 1.55;
814
+ resize: vertical;
815
+ }
816
+ .pinokio-note-markdown-editor:focus {
817
+ border-color: rgba(37, 99, 235, 0.42);
818
+ box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
819
+ outline: none;
820
+ }
821
+ body.dark .pinokio-note-markdown-editor {
822
+ border-color: rgba(255, 255, 255, 0.12);
823
+ background: rgba(255, 255, 255, 0.04);
824
+ color: rgba(250, 250, 250, 0.92);
825
+ }
826
+ body.dark .pinokio-note-markdown-editor:focus {
827
+ border-color: rgba(96, 165, 250, 0.42);
828
+ box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.12);
829
+ }
830
+ .pinokio-note-media-list {
831
+ display: grid;
832
+ gap: 10px;
833
+ max-width: 760px;
834
+ margin: 0 auto;
835
+ }
836
+ .pinokio-note-media-item {
837
+ display: flex;
838
+ align-items: center;
839
+ gap: 12px;
840
+ border: 1px solid rgba(15, 23, 42, 0.1);
841
+ border-radius: 8px;
842
+ background: rgba(255, 255, 255, 0.72);
843
+ padding: 11px 12px;
844
+ }
845
+ body.dark .pinokio-note-media-item {
846
+ border-color: rgba(255, 255, 255, 0.1);
847
+ background: rgba(255, 255, 255, 0.05);
848
+ }
849
+ .pinokio-note-media-item-icon {
850
+ display: grid;
851
+ place-items: center;
852
+ width: 32px;
853
+ height: 32px;
854
+ border-radius: 7px;
855
+ background: rgba(15, 23, 42, 0.06);
856
+ color: #0f766e;
857
+ }
858
+ body.dark .pinokio-note-media-item-icon {
859
+ background: rgba(255, 255, 255, 0.08);
860
+ color: #5eead4;
861
+ }
862
+ .pinokio-note-media-item-copy {
863
+ min-width: 0;
864
+ flex: 1 1 auto;
865
+ }
866
+ .pinokio-note-media-item-title {
867
+ font-size: 13px;
868
+ font-weight: 800;
869
+ overflow-wrap: anywhere;
870
+ }
871
+ .pinokio-note-media-item-meta {
872
+ margin-top: 3px;
873
+ color: rgba(55, 65, 81, 0.72);
874
+ font-size: 12px;
875
+ }
876
+ body.dark .pinokio-note-media-item-meta {
877
+ color: rgba(212, 212, 216, 0.72);
878
+ }
879
+ @media (max-width: 520px) {
880
+ .pinokio-notes-slot {
881
+ padding: 0;
882
+ }
883
+ .pinokio-notes.is-floating {
884
+ left: 8px;
885
+ right: 8px;
886
+ bottom: 8px;
887
+ }
888
+ .pinokio-note-footer {
889
+ min-height: 40px;
890
+ padding: 7px 8px 7px 0;
891
+ }
892
+ .pinokio-note-footer-icon {
893
+ width: 20px;
894
+ height: 20px;
895
+ }
896
+ .pinokio-note-footer-copy {
897
+ gap: 7px;
898
+ }
899
+ .pinokio-note-footer-title,
900
+ .pinokio-note-footer-meta {
901
+ max-width: none;
902
+ }
903
+ .pinokio-note-sheet {
904
+ width: 100vw;
905
+ height: 100vh;
906
+ border-left: 0;
907
+ border-right: 0;
908
+ border-radius: 0;
909
+ }
910
+ .pinokio-note-sheet-header {
911
+ padding: 14px 14px 12px;
912
+ }
913
+ .pinokio-note-sheet-title {
914
+ font-size: 18px;
915
+ }
916
+ .pinokio-note-sheet-toolbar {
917
+ align-items: stretch;
918
+ flex-wrap: wrap;
919
+ gap: 8px;
920
+ padding: 10px 12px;
921
+ }
922
+ .pinokio-note-tabs {
923
+ order: 3;
924
+ width: 100%;
925
+ overflow-x: auto;
926
+ }
927
+ .pinokio-note-tab {
928
+ flex: 1 0 auto;
929
+ }
930
+ .pinokio-note-sheet-actions {
931
+ margin-left: auto;
932
+ }
933
+ .pinokio-note-detail-body {
934
+ padding: 15px 14px 22px;
935
+ }
936
+ .pinokio-note-markdown {
937
+ font-size: 14px;
938
+ line-height: 1.58;
939
+ }
940
+ .pinokio-note-markdown h1 { font-size: 22px; }
941
+ .pinokio-note-markdown h2 { font-size: 18px; }
942
+ .pinokio-note-markdown h3 { font-size: 16px; }
943
+ .pinokio-note-media-item {
944
+ align-items: flex-start;
945
+ flex-wrap: wrap;
946
+ }
947
+ .pinokio-note-list {
948
+ max-height: 34vh;
949
+ border-right: 0;
950
+ border-bottom: 1px solid rgba(15, 23, 42, 0.1);
951
+ }
952
+ body.dark .pinokio-note-list {
953
+ border-bottom-color: rgba(255, 255, 255, 0.1);
954
+ }
955
+ }