pinokiod 7.2.18 → 7.3.0

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 (89) hide show
  1. package/Dockerfile +2 -0
  2. package/kernel/api/index.js +13 -179
  3. package/kernel/api/process/index.js +44 -99
  4. package/kernel/bin/conda-python.js +30 -0
  5. package/kernel/bin/conda.js +22 -3
  6. package/kernel/bin/huggingface.js +1 -1
  7. package/kernel/bin/index.js +11 -1
  8. package/kernel/environment.js +11 -205
  9. package/kernel/git.js +13 -0
  10. package/kernel/index.js +1 -64
  11. package/kernel/plugin.js +58 -6
  12. package/kernel/prototype.js +0 -4
  13. package/kernel/shell.js +2 -23
  14. package/kernel/util.js +0 -60
  15. package/package.json +1 -1
  16. package/server/index.js +171 -229
  17. package/server/lib/content_validation.js +33 -47
  18. package/server/public/common.js +29 -103
  19. package/server/public/create-launcher.js +31 -4
  20. package/server/public/electron.css +6 -0
  21. package/server/public/style.css +0 -337
  22. package/server/public/task-launcher.css +3 -11
  23. package/server/public/task-launcher.js +32 -5
  24. package/server/public/universal-launcher.js +26 -3
  25. package/server/socket.js +11 -22
  26. package/server/views/app.ejs +30 -167
  27. package/server/views/d.ejs +35 -33
  28. package/server/views/editor.ejs +4 -25
  29. package/server/views/partials/main_sidebar.ejs +0 -1
  30. package/server/views/partials/menu.ejs +1 -1
  31. package/server/views/pre.ejs +1 -1
  32. package/server/views/shell.ejs +3 -11
  33. package/server/views/task_launch.ejs +10 -10
  34. package/server/views/terminal.ejs +5 -34
  35. package/spec/INSTRUCTION_SYNC.md +5 -5
  36. package/kernel/agent_instructions.js +0 -166
  37. package/kernel/api/shell_run_template.js +0 -273
  38. package/kernel/api/uri/index.js +0 -51
  39. package/kernel/plugin_sources.js +0 -289
  40. package/kernel/watch/context.js +0 -42
  41. package/kernel/watch/drivers/fs.js +0 -71
  42. package/kernel/watch/drivers/poll.js +0 -33
  43. package/kernel/watch/index.js +0 -185
  44. package/server/features/index.js +0 -13
  45. package/server/features/notes/index.js +0 -41
  46. package/server/features/notes/parser.js +0 -174
  47. package/server/features/notes/public/notes.css +0 -955
  48. package/server/features/notes/public/notes.js +0 -1149
  49. package/server/features/notes/registry_import.js +0 -412
  50. package/server/features/notes/routes.js +0 -156
  51. package/server/features/notes/service.js +0 -326
  52. package/server/features/notes/watcher.js +0 -74
  53. package/server/lib/workspace_catalog.js +0 -151
  54. package/server/lib/workspace_runtime.js +0 -390
  55. package/server/public/tasker.css +0 -336
  56. package/server/public/tasker.js +0 -407
  57. package/server/routes/workspaces.js +0 -44
  58. package/server/views/partials/workspace_row.ejs +0 -61
  59. package/server/views/tasker.ejs +0 -40
  60. package/server/views/workspaces.ejs +0 -813
  61. package/system/plugin/antigravity/antigravity.png +0 -0
  62. package/system/plugin/antigravity/pinokio.js +0 -35
  63. package/system/plugin/claude/claude.png +0 -0
  64. package/system/plugin/claude/pinokio.js +0 -61
  65. package/system/plugin/claude-auto/claude.png +0 -0
  66. package/system/plugin/claude-auto/pinokio.js +0 -72
  67. package/system/plugin/claude-desktop/icon.jpeg +0 -0
  68. package/system/plugin/claude-desktop/pinokio.js +0 -37
  69. package/system/plugin/codex/openai.webp +0 -0
  70. package/system/plugin/codex/pinokio.js +0 -56
  71. package/system/plugin/codex-auto/openai.webp +0 -0
  72. package/system/plugin/codex-auto/pinokio.js +0 -63
  73. package/system/plugin/codex-desktop/icon.png +0 -0
  74. package/system/plugin/codex-desktop/pinokio.js +0 -37
  75. package/system/plugin/crush/crush.png +0 -0
  76. package/system/plugin/crush/pinokio.js +0 -29
  77. package/system/plugin/cursor/cursor.jpeg +0 -0
  78. package/system/plugin/cursor/pinokio.js +0 -37
  79. package/system/plugin/gemini/gemini.jpeg +0 -0
  80. package/system/plugin/gemini/pinokio.js +0 -38
  81. package/system/plugin/gemini-auto/gemini.jpeg +0 -0
  82. package/system/plugin/gemini-auto/pinokio.js +0 -41
  83. package/system/plugin/qwen/pinokio.js +0 -48
  84. package/system/plugin/qwen/qwen.png +0 -0
  85. package/system/plugin/vscode/pinokio.js +0 -34
  86. package/system/plugin/vscode/vscode.png +0 -0
  87. package/system/plugin/windsurf/pinokio.js +0 -37
  88. package/system/plugin/windsurf/windsurf.png +0 -0
  89. package/test/plugin-sources.test.js +0 -45
@@ -1,955 +0,0 @@
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
- }