pinokiod 7.3.0 → 7.3.3

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 (125) hide show
  1. package/kernel/api/github/index.js +444 -0
  2. package/kernel/api/index.js +199 -11
  3. package/kernel/api/process/index.js +124 -44
  4. package/kernel/api/shell_run_template.js +273 -0
  5. package/kernel/api/uri/index.js +51 -0
  6. package/kernel/bin/{conda-python.js → conda-pins.js} +23 -0
  7. package/kernel/bin/conda.js +15 -5
  8. package/kernel/bin/git.js +9 -10
  9. package/kernel/bin/huggingface.js +1 -1
  10. package/kernel/bin/index.js +5 -2
  11. package/kernel/bin/zip.js +9 -1
  12. package/kernel/connect/providers/github/README.md +5 -4
  13. package/kernel/environment.js +195 -92
  14. package/kernel/git.js +98 -19
  15. package/kernel/gitconfig_template +7 -0
  16. package/kernel/gpu/amd.js +72 -0
  17. package/kernel/gpu/apple.js +8 -0
  18. package/kernel/gpu/common.js +12 -0
  19. package/kernel/gpu/intel.js +47 -0
  20. package/kernel/gpu/nvidia.js +8 -0
  21. package/kernel/index.js +11 -1
  22. package/kernel/managed_skills.js +871 -0
  23. package/kernel/plugin.js +6 -58
  24. package/kernel/plugin_sources.js +316 -0
  25. package/kernel/resource_usage/gpu.js +349 -0
  26. package/kernel/resource_usage/index.js +322 -0
  27. package/kernel/resource_usage/macos_footprint.js +197 -0
  28. package/kernel/resource_usage/preferences.js +92 -0
  29. package/kernel/resource_usage/process_tree.js +303 -0
  30. package/kernel/scripts/git/create +4 -4
  31. package/kernel/scripts/git/fork +7 -8
  32. package/kernel/shell.js +23 -2
  33. package/kernel/shells.js +41 -0
  34. package/kernel/sysinfo.js +62 -9
  35. package/kernel/util.js +60 -0
  36. package/package.json +1 -1
  37. package/server/index.js +984 -156
  38. package/server/lib/app_log_report.js +543 -0
  39. package/server/lib/content_validation.js +55 -33
  40. package/server/lib/launcher_instruction_bootstrap.js +4 -96
  41. package/server/lib/terminal_session_helpers.js +0 -3
  42. package/server/public/common.js +77 -31
  43. package/server/public/create-launcher.js +4 -32
  44. package/server/public/logs.js +1428 -0
  45. package/server/public/nav.js +7 -0
  46. package/server/public/plugin-detail.js +93 -10
  47. package/server/public/privacy_filter_worker.js +391 -0
  48. package/server/public/style.css +1104 -154
  49. package/server/public/task-launcher.js +8 -29
  50. package/server/public/universal-launcher.css +8 -6
  51. package/server/public/universal-launcher.js +3 -27
  52. package/server/routes/apps.js +195 -1
  53. package/server/views/app.ejs +3041 -717
  54. package/server/views/autolaunch.ejs +917 -0
  55. package/server/views/bootstrap.ejs +7 -1
  56. package/server/views/d.ejs +408 -65
  57. package/server/views/editor.ejs +85 -19
  58. package/server/views/index.ejs +661 -111
  59. package/server/views/init/index.ejs +1 -1
  60. package/server/views/install.ejs +1 -1
  61. package/server/views/logs.ejs +164 -86
  62. package/server/views/net.ejs +7 -1
  63. package/server/views/partials/d_terminal_column.ejs +2 -2
  64. package/server/views/partials/d_terminal_options.ejs +0 -8
  65. package/server/views/partials/fs_status.ejs +47 -0
  66. package/server/views/partials/home_action_modal.ejs +86 -0
  67. package/server/views/partials/home_run_menu.ejs +87 -0
  68. package/server/views/partials/main_sidebar.ejs +2 -0
  69. package/server/views/partials/menu.ejs +1 -1
  70. package/server/views/plugin_detail.ejs +19 -4
  71. package/server/views/plugins.ejs +201 -3
  72. package/server/views/pre.ejs +1 -1
  73. package/server/views/pro.ejs +1 -1
  74. package/server/views/shell.ejs +40 -18
  75. package/server/views/skills.ejs +506 -0
  76. package/server/views/terminal.ejs +45 -19
  77. package/spec/INSTRUCTION_SYNC.md +20 -10
  78. package/system/plugin/antigravity-cli/antigravity.png +0 -0
  79. package/system/plugin/antigravity-cli/common.js +155 -0
  80. package/system/plugin/antigravity-cli/install.js +272 -0
  81. package/system/plugin/antigravity-cli/pinokio.js +13 -0
  82. package/system/plugin/antigravity-cli-auto/antigravity.png +0 -0
  83. package/system/plugin/antigravity-cli-auto/pinokio.js +13 -0
  84. package/system/plugin/claude/claude.png +0 -0
  85. package/system/plugin/claude/pinokio.js +47 -0
  86. package/system/plugin/claude-auto/claude.png +0 -0
  87. package/system/plugin/claude-auto/pinokio.js +58 -0
  88. package/system/plugin/claude-desktop/icon.jpeg +0 -0
  89. package/system/plugin/claude-desktop/pinokio.js +23 -0
  90. package/system/plugin/codex/openai.webp +0 -0
  91. package/system/plugin/codex/pinokio.js +42 -0
  92. package/system/plugin/codex-auto/openai.webp +0 -0
  93. package/system/plugin/codex-auto/pinokio.js +49 -0
  94. package/system/plugin/codex-desktop/icon.png +0 -0
  95. package/system/plugin/codex-desktop/pinokio.js +23 -0
  96. package/system/plugin/crush/crush.png +0 -0
  97. package/system/plugin/crush/pinokio.js +15 -0
  98. package/system/plugin/cursor/cursor.jpeg +0 -0
  99. package/system/plugin/cursor/pinokio.js +23 -0
  100. package/system/plugin/qwen/pinokio.js +34 -0
  101. package/system/plugin/qwen/qwen.png +0 -0
  102. package/system/plugin/vscode/pinokio.js +20 -0
  103. package/system/plugin/vscode/vscode.png +0 -0
  104. package/system/plugin/windsurf/pinokio.js +23 -0
  105. package/system/plugin/windsurf/windsurf.png +0 -0
  106. package/test/antigravity-cli-plugin.test.js +185 -0
  107. package/test/app-api.test.js +239 -0
  108. package/test/app-log-report.test.js +67 -0
  109. package/test/environment-cache-preflight.test.js +98 -0
  110. package/test/git-bin.test.js +59 -0
  111. package/test/git-defaults.test.js +97 -0
  112. package/test/github-api.test.js +158 -0
  113. package/test/github-connection.test.js +117 -0
  114. package/test/huggingface-bin.test.js +25 -0
  115. package/test/managed-skills.test.js +351 -0
  116. package/test/plugin-action-functions.test.js +337 -0
  117. package/test/plugin-dev-iframe.test.js +17 -0
  118. package/test/plugin-sources.test.js +203 -0
  119. package/test/privacy-filter-worker-heuristics.test.js +69 -0
  120. package/test/process-wait.test.js +169 -0
  121. package/test/script-api.test.js +97 -0
  122. package/test/shell-api.test.js +134 -0
  123. package/test/shell-run-template.test.js +209 -0
  124. package/test/storage-api.test.js +137 -0
  125. package/test/uri-api.test.js +100 -0
@@ -1270,7 +1270,7 @@ body.dark .main-sidebar .tab:hover {
1270
1270
  .main-sidebar .btn-tab.quick-actions {
1271
1271
  display: flex;
1272
1272
  flex-direction: column;
1273
- gap: 6px;
1273
+ gap: 4px;
1274
1274
  padding: 0 10px;
1275
1275
  margin-top: 10px;
1276
1276
  margin-bottom: 10px;
@@ -1320,15 +1320,15 @@ body.dark .main-sidebar .tab:hover {
1320
1320
  justify-content: flex-start !important;
1321
1321
  text-align: left;
1322
1322
  gap: 3px;
1323
- height: 25px;
1324
- min-height: 25px;
1323
+ height: 30px;
1324
+ min-height: 30px;
1325
1325
  margin: 0;
1326
1326
  padding: 0 8px;
1327
1327
  border: 1px solid var(--pinokio-chrome-accent-bg-light) !important;
1328
1328
  border-radius: 5px !important;
1329
1329
  background: var(--pinokio-chrome-accent-bg-light) !important;
1330
1330
  border-color: var(--pinokio-chrome-accent-bg-light) !important;
1331
- color: var(--pinokio-chrome-accent-fg-light) !important;
1331
+ color: #fff !important;
1332
1332
  font-size: 12px;
1333
1333
  font-weight: 700;
1334
1334
  line-height: 1;
@@ -1339,7 +1339,7 @@ body.dark .main-sidebar .btn-tab.quick-actions.universal-quick-actions > .btn,
1339
1339
  body.dark .main-sidebar .btn-tab.quick-actions.universal-quick-actions > .universal-create-menu > summary.btn {
1340
1340
  border-color: var(--pinokio-chrome-accent-bg-dark) !important;
1341
1341
  background: var(--pinokio-chrome-accent-bg-dark) !important;
1342
- color: var(--pinokio-chrome-accent-fg-dark) !important;
1342
+ color: #fff !important;
1343
1343
  }
1344
1344
  .main-sidebar .btn-tab.quick-actions.universal-quick-actions > .btn:hover,
1345
1345
  .main-sidebar .btn-tab.quick-actions.universal-quick-actions > .btn:focus-visible,
@@ -1349,7 +1349,7 @@ body.dark .main-sidebar .btn-tab.quick-actions.universal-quick-actions > .univer
1349
1349
  .main-sidebar .btn-tab.quick-actions.universal-quick-actions > .universal-create-menu > summary.btn:active {
1350
1350
  border-color: var(--pinokio-chrome-accent-bg-light) !important;
1351
1351
  background: var(--pinokio-chrome-accent-bg-light) !important;
1352
- color: var(--pinokio-chrome-accent-fg-light) !important;
1352
+ color: #fff !important;
1353
1353
  }
1354
1354
  body.dark .main-sidebar .btn-tab.quick-actions.universal-quick-actions > .btn:hover,
1355
1355
  body.dark .main-sidebar .btn-tab.quick-actions.universal-quick-actions > .btn:focus-visible,
@@ -1359,7 +1359,7 @@ body.dark .main-sidebar .btn-tab.quick-actions.universal-quick-actions > .univer
1359
1359
  body.dark .main-sidebar .btn-tab.quick-actions.universal-quick-actions > .universal-create-menu > summary.btn:active {
1360
1360
  border-color: var(--pinokio-chrome-accent-bg-dark) !important;
1361
1361
  background: var(--pinokio-chrome-accent-bg-dark) !important;
1362
- color: var(--pinokio-chrome-accent-fg-dark) !important;
1362
+ color: #fff !important;
1363
1363
  }
1364
1364
  .main-sidebar .btn-tab.quick-actions.universal-quick-actions > #explore {
1365
1365
  justify-content: flex-start !important;
@@ -1391,7 +1391,7 @@ body.dark .main-sidebar .btn-tab.quick-actions.universal-quick-actions > .univer
1391
1391
  .main-sidebar .btn-tab.quick-actions.universal-quick-actions > .universal-create-menu > summary.btn i,
1392
1392
  .main-sidebar .btn-tab.quick-actions.universal-quick-actions > .universal-create-menu > summary.btn .quick-action-icon,
1393
1393
  .main-sidebar .btn-tab.quick-actions.universal-quick-actions > .universal-create-menu > summary.btn .caption {
1394
- color: var(--pinokio-chrome-accent-fg-light) !important;
1394
+ color: #fff !important;
1395
1395
  }
1396
1396
  body.dark .main-sidebar .btn-tab.quick-actions.universal-quick-actions > .btn i,
1397
1397
  body.dark .main-sidebar .btn-tab.quick-actions.universal-quick-actions > .btn .quick-action-icon,
@@ -1399,7 +1399,7 @@ body.dark .main-sidebar .btn-tab.quick-actions.universal-quick-actions > .btn .c
1399
1399
  body.dark .main-sidebar .btn-tab.quick-actions.universal-quick-actions > .universal-create-menu > summary.btn i,
1400
1400
  body.dark .main-sidebar .btn-tab.quick-actions.universal-quick-actions > .universal-create-menu > summary.btn .quick-action-icon,
1401
1401
  body.dark .main-sidebar .btn-tab.quick-actions.universal-quick-actions > .universal-create-menu > summary.btn .caption {
1402
- color: var(--pinokio-chrome-accent-fg-dark) !important;
1402
+ color: #fff !important;
1403
1403
  }
1404
1404
  .main-sidebar .universal-create-caret {
1405
1405
  margin-left: auto;
@@ -4128,205 +4128,1076 @@ header.navheader.transitioning {
4128
4128
  }
4129
4129
  .logs-page {
4130
4130
  display: flex;
4131
+ flex-direction: column;
4131
4132
  gap: 0;
4132
- align-items: stretch;
4133
4133
  min-height: 0;
4134
4134
  height: var(--logs-pane-height, auto);
4135
4135
  overflow: hidden;
4136
4136
  }
4137
- .logs-sidebar {
4138
- flex: 0 0 var(--logs-sidebar-width, 320px);
4139
- width: var(--logs-sidebar-width, 320px);
4140
- min-width: var(--logs-sidebar-min-width, 220px);
4141
- max-width: var(--logs-sidebar-max-width, 560px);
4142
- padding: 20px;
4143
- box-sizing: border-box;
4137
+ .logs-page-header {
4138
+ flex: 0 0 auto;
4144
4139
  display: flex;
4145
- flex-direction: column;
4146
- gap: 16px;
4147
- background: rgba(0,0,0,0.02);
4148
- max-height: var(--logs-pane-height, none);
4149
- min-height: 0;
4150
- overflow: auto;
4140
+ align-items: center;
4141
+ justify-content: space-between;
4142
+ gap: 10px;
4143
+ min-height: 45px;
4144
+ padding: 8px 10px;
4145
+ border-bottom: 1px solid rgba(0,0,0,0.08);
4146
+ background: rgba(255,255,255,0.65);
4147
+ backdrop-filter: blur(6px);
4151
4148
  }
4152
- #logs-root.logs-sidebar-collapsed .logs-sidebar {
4153
- flex: 0 0 0;
4154
- width: 0;
4149
+ body.dark .logs-page-header {
4150
+ border-color: rgba(255,255,255,0.08);
4151
+ background: rgba(15, 17, 21, 0.7);
4152
+ }
4153
+ .logs-page-switch {
4154
+ display: flex;
4155
+ align-items: center;
4155
4156
  min-width: 0;
4156
- max-width: 0;
4157
- opacity: 0;
4158
- pointer-events: none;
4159
- border: none;
4160
- padding: 0;
4161
- margin: 0;
4162
4157
  }
4163
- #logs-root.logs-sidebar-collapsed .logs-tree-wrapper {
4164
- border-width: 0;
4158
+ .logs-raw-only-title {
4159
+ display: inline-flex;
4160
+ align-items: center;
4161
+ gap: 8px;
4162
+ color: rgba(15, 23, 42, 0.74);
4163
+ font-size: 12px;
4164
+ font-weight: 700;
4165
4165
  }
4166
- body.dark .logs-sidebar {
4167
- border-color: var(--dark-thin);
4168
- background: rgba(255,255,255,0.04);
4166
+ body.dark .logs-raw-only-title {
4167
+ color: rgba(248, 250, 252, 0.82);
4169
4168
  }
4170
- .logs-sidebar-header h2 {
4171
- margin: 4px 0 0;
4172
- font-size: 22px;
4169
+ .logs-page-controls {
4170
+ --logs-action-slot-width: 342px;
4171
+ display: grid;
4172
+ grid-template-columns: var(--logs-action-slot-width) auto;
4173
+ align-items: center;
4174
+ justify-content: flex-end;
4175
+ justify-items: end;
4176
+ gap: 8px;
4177
+ max-width: 100%;
4173
4178
  }
4174
- .logs-workspace-chip {
4179
+ .logs-view-switch {
4175
4180
  display: inline-flex;
4176
4181
  align-items: center;
4177
- gap: 6px;
4178
- margin-top: 6px;
4179
- padding: 4px 10px;
4180
- border-radius: 999px;
4181
- background: royalblue;
4182
- color: #fff;
4183
- font-size: 12px;
4184
- font-weight: 600;
4182
+ gap: 2px;
4183
+ padding: 3px;
4184
+ border: 1px solid rgba(15, 23, 42, 0.055);
4185
+ border-radius: 7px;
4186
+ background: rgba(15, 23, 42, 0.035);
4187
+ box-sizing: border-box;
4185
4188
  }
4186
- body.dark .logs-workspace-chip {
4187
- background: rgba(255,255,255,0.12);
4188
- color: rgba(255,255,255,0.85);
4189
+ body.dark .logs-view-switch {
4190
+ border-color: rgba(255, 255, 255, 0.075);
4191
+ background: rgba(255, 255, 255, 0.045);
4189
4192
  }
4190
- .logs-sidebar-eyebrow {
4191
- margin: 0;
4192
- text-transform: uppercase;
4193
+ .logs-view-tab {
4194
+ border: 0;
4195
+ border-radius: 5px;
4196
+ min-width: 78px;
4197
+ min-height: 26px;
4198
+ padding: 0 10px;
4199
+ background: transparent;
4200
+ color: rgba(71, 85, 105, 0.85);
4193
4201
  font-size: 12px;
4194
- letter-spacing: 0.08em;
4195
- color: rgba(0,0,0,0.5);
4202
+ line-height: 1;
4203
+ font-weight: 700;
4204
+ cursor: pointer;
4205
+ white-space: nowrap;
4196
4206
  }
4197
- body.dark .logs-sidebar-eyebrow {
4198
- color: rgba(255,255,255,0.6);
4207
+ .logs-view-tab.is-active {
4208
+ background: rgba(255, 255, 255, 0.76);
4209
+ color: #111827;
4210
+ box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.055);
4199
4211
  }
4200
- .logs-root-path {
4201
- font-family: 'JetBrains Mono', 'SFMono-Regular', Consolas, monospace;
4202
- font-size: 12px;
4203
- margin-top: 8px;
4204
- display: flex;
4212
+ body.dark .logs-view-tab {
4213
+ color: rgba(148, 163, 184, 0.8);
4214
+ }
4215
+ body.dark .logs-view-tab.is-active {
4216
+ background: rgba(255, 255, 255, 0.09);
4217
+ color: rgba(248, 250, 252, 0.94);
4218
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.075);
4219
+ }
4220
+ .logs-action-group {
4221
+ grid-column: 1;
4222
+ grid-row: 1;
4223
+ display: inline-flex;
4205
4224
  align-items: center;
4225
+ justify-content: flex-end;
4206
4226
  gap: 6px;
4207
- color: rgba(0,0,0,0.7);
4227
+ width: 100%;
4228
+ min-height: 28px;
4229
+ flex-wrap: nowrap;
4208
4230
  }
4209
- body.dark .logs-root-path {
4210
- color: rgba(255,255,255,0.7);
4231
+ .logs-icon-button {
4232
+ border: 1px solid rgba(15, 23, 42, 0.12);
4233
+ border-radius: 7px;
4234
+ width: 28px;
4235
+ height: 28px;
4236
+ padding: 0;
4237
+ display: inline-flex;
4238
+ align-items: center;
4239
+ justify-content: center;
4240
+ background: rgba(255,255,255,0.76);
4241
+ color: rgba(15, 23, 42, 0.74);
4242
+ font-size: 12px;
4243
+ cursor: pointer;
4244
+ text-decoration: none;
4211
4245
  }
4212
- .logs-zip-actions {
4246
+ .logs-close-button {
4247
+ grid-column: 2;
4248
+ grid-row: 1;
4249
+ }
4250
+ .logs-icon-button:hover,
4251
+ .logs-icon-button:focus-visible {
4252
+ background: rgba(15, 23, 42, 0.06);
4253
+ color: rgba(15, 23, 42, 0.96);
4254
+ outline: none;
4255
+ }
4256
+ body.dark .logs-icon-button {
4257
+ border-color: rgba(255,255,255,0.1);
4258
+ background: rgba(255,255,255,0.06);
4259
+ color: rgba(248, 250, 252, 0.78);
4260
+ }
4261
+ body.dark .logs-icon-button:hover,
4262
+ body.dark .logs-icon-button:focus-visible {
4263
+ background: rgba(255,255,255,0.1);
4264
+ color: rgba(248, 250, 252, 0.96);
4265
+ }
4266
+ .logs-page[data-view="latest"] [data-logs-actions="raw"],
4267
+ .logs-page[data-view="raw"] [data-logs-actions="latest"] {
4268
+ visibility: hidden;
4269
+ pointer-events: none;
4270
+ }
4271
+ .logs-page[data-view="latest"] .logs-raw-view,
4272
+ .logs-page[data-view="raw"] .logs-latest-view {
4273
+ display: none;
4274
+ }
4275
+ .logs-raw-view {
4276
+ flex: 1 1 auto;
4277
+ min-height: 0;
4278
+ display: flex;
4279
+ align-items: stretch;
4280
+ overflow: hidden;
4281
+ }
4282
+ .logs-latest-view {
4283
+ flex: 1 1 auto;
4284
+ min-height: 0;
4213
4285
  display: flex;
4214
4286
  flex-direction: column;
4215
- gap: 10px;
4287
+ gap: 12px;
4288
+ padding: 14px 16px 16px;
4289
+ overflow: hidden;
4290
+ background: rgba(248, 250, 252, 0.56);
4216
4291
  }
4217
- .logs-zip-status {
4218
- font-size: 13px;
4219
- color: rgba(0,0,0,0.6);
4292
+ body.dark .logs-latest-view {
4293
+ background: rgba(0,0,0,0.18);
4220
4294
  }
4221
- .logs-zip-status.is-error {
4295
+ .logs-report-status {
4296
+ min-height: 18px;
4297
+ font-size: 12px;
4298
+ line-height: 1.4;
4299
+ color: rgba(15, 23, 42, 0.64);
4300
+ }
4301
+ body.dark .logs-report-status {
4302
+ color: rgba(248, 250, 252, 0.66);
4303
+ }
4304
+ .logs-report-status.is-error {
4222
4305
  color: #c0392b;
4223
4306
  }
4224
- body.dark .logs-zip-status {
4225
- color: rgba(255,255,255,0.6);
4307
+ .logs-latest-workspace {
4308
+ flex: 1 1 auto;
4309
+ min-height: 0;
4310
+ display: grid;
4311
+ grid-template-columns: minmax(0, 1fr) minmax(270px, 360px);
4312
+ grid-template-rows: minmax(0, 1fr) auto;
4313
+ gap: 12px;
4226
4314
  }
4227
- body.dark .logs-zip-status.is-error {
4228
- color: #ff8373;
4315
+ .logs-community-footer {
4316
+ grid-column: 1 / -1;
4317
+ min-width: 0;
4318
+ display: grid;
4319
+ grid-template-columns: minmax(210px, 0.36fr) minmax(260px, 1fr) auto;
4320
+ align-items: center;
4321
+ gap: 14px;
4322
+ min-height: 70px;
4323
+ padding: 12px 14px;
4324
+ border: 1px solid rgba(186, 133, 28, 0.34);
4325
+ border-top-color: rgba(186, 133, 28, 0.48);
4326
+ border-radius: 8px;
4327
+ background: #fff1c2;
4328
+ box-shadow: 0 -1px 0 rgba(186, 133, 28, 0.16), 0 8px 24px rgba(89, 64, 16, 0.12);
4229
4329
  }
4230
- body.dark .logs-flat-button {
4231
- color: white;
4330
+ body.dark .logs-community-footer {
4331
+ border-color: rgba(245, 189, 75, 0.28);
4332
+ border-top-color: rgba(245, 189, 75, 0.42);
4333
+ background: rgba(54, 40, 18, 0.96);
4334
+ box-shadow: 0 -1px 0 rgba(245, 189, 75, 0.12), 0 8px 24px rgba(0,0,0,0.28);
4232
4335
  }
4233
- .logs-primary-button,
4234
- .logs-secondary-button,
4235
- .logs-flat-button {
4236
- border: none;
4237
- border-radius: 10px;
4238
- padding: 10px 14px;
4239
- font-weight: 600;
4336
+ .logs-community-copy {
4337
+ min-width: 0;
4338
+ }
4339
+ .logs-community-heading {
4240
4340
  display: inline-flex;
4241
4341
  align-items: center;
4242
4342
  gap: 8px;
4243
- cursor: pointer;
4244
- justify-content: center;
4245
- transition: background 0.2s ease, color 0.2s ease;
4343
+ color: rgba(54, 39, 12, 0.96);
4344
+ font-size: 14px;
4345
+ line-height: 1.2;
4346
+ font-weight: 850;
4246
4347
  }
4247
- .logs-primary-button {
4248
- background: var(--light-link-color);
4249
- color: white;
4348
+ .logs-community-heading i {
4349
+ color: inherit;
4350
+ font-size: 13px;
4250
4351
  }
4251
- body.dark .logs-primary-button {
4252
- background: rgba(255,255,255,0.15);
4352
+ body.dark .logs-community-heading {
4353
+ color: rgba(248, 250, 252, 0.94);
4253
4354
  }
4254
- .logs-primary-button:disabled,
4255
- .logs-secondary-button:disabled,
4256
- .logs-flat-button:disabled {
4257
- opacity: 0.6;
4258
- cursor: not-allowed;
4355
+ .logs-community-subtitle {
4356
+ margin-top: 4px;
4357
+ color: rgba(75, 56, 19, 0.72);
4358
+ font-size: 11px;
4359
+ line-height: 1.35;
4360
+ font-weight: 650;
4259
4361
  }
4260
- .logs-secondary-button {
4261
- border: 1px solid var(--light-thin);
4262
- background: transparent;
4263
- color: inherit;
4264
- text-decoration: none;
4362
+ body.dark .logs-community-subtitle {
4363
+ color: rgba(248, 250, 252, 0.58);
4265
4364
  }
4266
- body.dark .logs-secondary-button {
4267
- border-color: var(--dark-thin);
4365
+ .logs-community-title-field {
4366
+ min-width: 0;
4367
+ display: grid;
4368
+ grid-template-columns: auto minmax(0, 1fr) auto;
4369
+ align-items: center;
4370
+ gap: 8px;
4268
4371
  }
4269
- .logs-flat-button {
4270
- background: rgba(0,0,0,0.04);
4372
+ .logs-community-title-label {
4373
+ min-width: 0;
4374
+ color: rgba(75, 56, 19, 0.68);
4375
+ font-size: 10px;
4376
+ line-height: 1.2;
4377
+ font-weight: 800;
4378
+ text-transform: uppercase;
4379
+ white-space: nowrap;
4271
4380
  }
4272
- body.dark .logs-flat-button {
4273
- background: rgba(255,255,255,0.08);
4381
+ body.dark .logs-community-title-label {
4382
+ color: rgba(248, 250, 252, 0.6);
4274
4383
  }
4275
- .logs-flat-button.is-busy::after {
4276
- content: '\f110';
4277
- font-family: 'Font Awesome 6 Free';
4278
- font-weight: 900;
4279
- animation: spin 1s linear infinite;
4280
- margin-left: 6px;
4384
+ .logs-community-title-input {
4385
+ min-width: 0;
4386
+ width: 100%;
4387
+ height: 34px;
4388
+ border: 1px solid rgba(121, 84, 19, 0.22);
4389
+ border-radius: 7px;
4390
+ padding: 0 11px;
4391
+ background: rgba(255,255,255,0.78);
4392
+ color: rgba(15, 23, 42, 0.92);
4393
+ font-size: 12px;
4394
+ font-weight: 700;
4395
+ line-height: 34px;
4396
+ outline: none;
4281
4397
  }
4282
- @keyframes spin {
4283
- from { transform: rotate(0deg); }
4284
- to { transform: rotate(360deg); }
4398
+ .logs-community-title-input:focus {
4399
+ border-color: rgba(154, 101, 8, 0.64);
4400
+ box-shadow: 0 0 0 2px rgba(186, 133, 28, 0.2);
4285
4401
  }
4286
- .logs-tree-toolbar {
4287
- display: flex;
4288
- flex-direction: column;
4289
- gap: 6px;
4402
+ .logs-community-title-input:disabled {
4403
+ opacity: 0.62;
4404
+ cursor: not-allowed;
4290
4405
  }
4291
- .logs-tree-hint {
4292
- margin: 0;
4293
- font-size: 12px;
4294
- color: rgba(0,0,0,0.5);
4406
+ body.dark .logs-community-title-input {
4407
+ border-color: rgba(255,255,255,0.12);
4408
+ background: rgba(255,255,255,0.08);
4409
+ color: rgba(248, 250, 252, 0.92);
4295
4410
  }
4296
- body.dark .logs-tree-hint {
4297
- color: rgba(255,255,255,0.6);
4411
+ body.dark .logs-community-title-input:focus {
4412
+ border-color: var(--pinokio-chrome-accent-bg-dark, rgba(255,255,255,0.36));
4413
+ box-shadow: 0 0 0 2px rgba(255,255,255,0.09);
4298
4414
  }
4299
- .logs-tree-wrapper {
4300
- flex: 1;
4301
- border: 1px solid var(--light-thin);
4302
- border-radius: 14px;
4303
- padding: 10px;
4415
+ .logs-community-title-note {
4416
+ display: none;
4417
+ max-width: 130px;
4304
4418
  overflow: hidden;
4305
- background: white;
4419
+ text-overflow: ellipsis;
4420
+ color: rgba(15, 23, 42, 0.52);
4421
+ font-size: 11px;
4422
+ line-height: 1.2;
4423
+ font-weight: 700;
4424
+ white-space: nowrap;
4306
4425
  }
4307
- body.dark .logs-tree-wrapper {
4308
- border-color: var(--dark-thin);
4309
- background: rgba(255,255,255,0.02);
4426
+ .logs-community-title-note:not(:empty) {
4427
+ display: inline;
4310
4428
  }
4311
- .logs-tree {
4312
- max-height: 100%;
4313
- overflow-y: auto;
4314
- font-size: 14px;
4429
+ body.dark .logs-community-title-note {
4430
+ color: rgba(248, 250, 252, 0.54);
4315
4431
  }
4316
- .logs-branch {
4317
- margin: 0;
4432
+ .logs-community-submit {
4433
+ min-width: 154px;
4434
+ min-height: 38px;
4435
+ padding: 0 16px;
4436
+ font-size: 13px;
4437
+ font-weight: 850;
4438
+ box-shadow: 0 1px 2px rgba(15, 23, 42, 0.16);
4318
4439
  }
4319
- .logs-branch-summary {
4320
- display: flex;
4321
- align-items: center;
4322
- gap: 8px;
4323
- padding: 4px 6px;
4324
- cursor: pointer;
4440
+ .logs-report-pane,
4441
+ .logs-redaction-pane {
4442
+ min-width: 0;
4443
+ min-height: 0;
4444
+ border: 1px solid rgba(15, 23, 42, 0.1);
4325
4445
  border-radius: 8px;
4326
- list-style: none;
4446
+ background: rgba(255,255,255,0.9);
4447
+ display: flex;
4448
+ flex-direction: column;
4449
+ overflow: hidden;
4327
4450
  }
4328
- .logs-branch-summary::-webkit-details-marker {
4329
- display: none;
4451
+ body.dark .logs-report-pane,
4452
+ body.dark .logs-redaction-pane {
4453
+ border-color: rgba(255,255,255,0.1);
4454
+ background: rgba(9, 11, 16, 0.94);
4455
+ }
4456
+ .logs-latest-pane-header {
4457
+ flex: 0 0 auto;
4458
+ display: flex;
4459
+ align-items: flex-start;
4460
+ justify-content: space-between;
4461
+ gap: 10px;
4462
+ min-height: 42px;
4463
+ padding: 10px 12px;
4464
+ border-bottom: 1px solid rgba(15, 23, 42, 0.08);
4465
+ background: rgba(248, 250, 252, 0.74);
4466
+ }
4467
+ body.dark .logs-latest-pane-header {
4468
+ border-bottom-color: rgba(255,255,255,0.08);
4469
+ background: rgba(255,255,255,0.035);
4470
+ }
4471
+ .logs-latest-pane-eyebrow {
4472
+ margin: 0;
4473
+ color: rgba(15, 23, 42, 0.52);
4474
+ font-size: 10px;
4475
+ line-height: 1.2;
4476
+ font-weight: 700;
4477
+ text-transform: uppercase;
4478
+ letter-spacing: 0;
4479
+ }
4480
+ body.dark .logs-latest-pane-eyebrow {
4481
+ color: rgba(248, 250, 252, 0.54);
4482
+ }
4483
+ .logs-latest-pane-title {
4484
+ margin-top: 3px;
4485
+ color: rgba(15, 23, 42, 0.92);
4486
+ font-size: 13px;
4487
+ line-height: 1.25;
4488
+ font-weight: 800;
4489
+ }
4490
+ body.dark .logs-latest-pane-title {
4491
+ color: rgba(248, 250, 252, 0.92);
4492
+ }
4493
+ .logs-review-content {
4494
+ flex: 1 1 auto;
4495
+ min-height: 0;
4496
+ display: flex;
4497
+ flex-direction: column;
4498
+ overflow: hidden;
4499
+ }
4500
+ .logs-review-section {
4501
+ flex: 0 0 auto;
4502
+ padding: 12px;
4503
+ border-bottom: 1px solid rgba(15, 23, 42, 0.08);
4504
+ }
4505
+ body.dark .logs-review-section {
4506
+ border-bottom-color: rgba(255,255,255,0.08);
4507
+ }
4508
+ .logs-review-section--redactions {
4509
+ flex: 1 1 auto;
4510
+ min-height: 0;
4511
+ display: flex;
4512
+ flex-direction: column;
4513
+ border-bottom: 0;
4514
+ padding-bottom: 10px;
4515
+ }
4516
+ .logs-review-section-row {
4517
+ display: flex;
4518
+ align-items: center;
4519
+ justify-content: space-between;
4520
+ gap: 10px;
4521
+ margin-bottom: 8px;
4522
+ }
4523
+ .logs-review-section-title {
4524
+ color: rgba(15, 23, 42, 0.56);
4525
+ font-size: 10px;
4526
+ line-height: 1.2;
4527
+ font-weight: 800;
4528
+ text-transform: uppercase;
4529
+ letter-spacing: 0;
4530
+ }
4531
+ body.dark .logs-review-section-title {
4532
+ color: rgba(248, 250, 252, 0.56);
4533
+ }
4534
+ .logs-review-badge {
4535
+ flex: 0 0 auto;
4536
+ border: 1px solid rgba(15, 23, 42, 0.1);
4537
+ border-radius: 999px;
4538
+ padding: 3px 7px;
4539
+ background: rgba(15, 23, 42, 0.04);
4540
+ color: rgba(15, 23, 42, 0.72);
4541
+ font-size: 11px;
4542
+ line-height: 1;
4543
+ font-weight: 800;
4544
+ white-space: nowrap;
4545
+ }
4546
+ body.dark .logs-review-badge {
4547
+ border-color: rgba(255,255,255,0.1);
4548
+ background: rgba(255,255,255,0.06);
4549
+ color: rgba(248, 250, 252, 0.76);
4550
+ }
4551
+ .logs-review-filter-button {
4552
+ width: 100%;
4553
+ margin-top: 10px;
4554
+ }
4555
+ .logs-review-meta {
4556
+ display: grid;
4557
+ grid-template-columns: repeat(2, minmax(0, 1fr));
4558
+ gap: 10px;
4559
+ margin-top: 9px;
4560
+ }
4561
+ .logs-review-meta div {
4562
+ min-width: 0;
4563
+ }
4564
+ .logs-review-meta span {
4565
+ display: block;
4566
+ color: rgba(15, 23, 42, 0.52);
4567
+ font-size: 10px;
4568
+ line-height: 1.2;
4569
+ font-weight: 700;
4570
+ }
4571
+ body.dark .logs-review-meta span {
4572
+ color: rgba(248, 250, 252, 0.54);
4573
+ }
4574
+ .logs-review-meta strong {
4575
+ display: block;
4576
+ margin-top: 3px;
4577
+ color: rgba(15, 23, 42, 0.9);
4578
+ font-size: 13px;
4579
+ line-height: 1.2;
4580
+ font-weight: 800;
4581
+ overflow: hidden;
4582
+ text-overflow: ellipsis;
4583
+ white-space: nowrap;
4584
+ }
4585
+ body.dark .logs-review-meta strong {
4586
+ color: rgba(248, 250, 252, 0.9);
4587
+ }
4588
+ .logs-review-file-list {
4589
+ display: flex;
4590
+ flex-direction: column;
4591
+ gap: 6px;
4592
+ margin-top: 10px;
4593
+ max-height: 190px;
4594
+ overflow: auto;
4595
+ }
4596
+ .logs-section-control {
4597
+ min-width: 0;
4598
+ display: grid;
4599
+ grid-template-columns: auto minmax(0, 1fr) minmax(108px, auto);
4600
+ align-items: center;
4601
+ gap: 8px;
4602
+ border: 1px solid rgba(15, 23, 42, 0.08);
4603
+ border-radius: 7px;
4604
+ padding: 7px 8px;
4605
+ background: rgba(15, 23, 42, 0.025);
4606
+ }
4607
+ body.dark .logs-section-control {
4608
+ border-color: rgba(255,255,255,0.08);
4609
+ background: rgba(255,255,255,0.035);
4610
+ }
4611
+ .logs-section-control.is-excluded {
4612
+ opacity: 0.68;
4613
+ }
4614
+ .logs-section-checkbox {
4615
+ width: 14px;
4616
+ height: 14px;
4617
+ margin: 0;
4618
+ accent-color: var(--pinokio-chrome-accent-bg-light, var(--light-link-color));
4619
+ }
4620
+ body.dark .logs-section-checkbox {
4621
+ accent-color: var(--pinokio-chrome-accent-bg-dark, rgba(255,255,255,0.72));
4622
+ }
4623
+ .logs-section-text {
4624
+ min-width: 0;
4625
+ }
4626
+ .logs-section-name {
4627
+ min-width: 0;
4628
+ overflow: hidden;
4629
+ text-overflow: ellipsis;
4630
+ white-space: nowrap;
4631
+ color: rgba(15, 23, 42, 0.82);
4632
+ font-size: 11px;
4633
+ line-height: 1.25;
4634
+ font-weight: 800;
4635
+ }
4636
+ body.dark .logs-section-name {
4637
+ color: rgba(248, 250, 252, 0.86);
4638
+ }
4639
+ .logs-section-meta {
4640
+ margin-top: 2px;
4641
+ min-width: 0;
4642
+ overflow: hidden;
4643
+ text-overflow: ellipsis;
4644
+ white-space: nowrap;
4645
+ color: rgba(15, 23, 42, 0.52);
4646
+ font-size: 10px;
4647
+ line-height: 1.2;
4648
+ }
4649
+ body.dark .logs-section-meta {
4650
+ color: rgba(248, 250, 252, 0.54);
4651
+ }
4652
+ .logs-section-mode {
4653
+ min-width: 0;
4654
+ max-width: 128px;
4655
+ height: 25px;
4656
+ border: 1px solid rgba(15, 23, 42, 0.12);
4657
+ border-radius: 6px;
4658
+ padding: 0 6px;
4659
+ background: rgba(255,255,255,0.72);
4660
+ color: rgba(15, 23, 42, 0.78);
4661
+ font-size: 11px;
4662
+ font-weight: 700;
4663
+ }
4664
+ body.dark .logs-section-mode {
4665
+ border-color: rgba(255,255,255,0.12);
4666
+ background: rgba(255,255,255,0.07);
4667
+ color: rgba(248, 250, 252, 0.82);
4668
+ }
4669
+ .logs-review-file,
4670
+ .logs-review-empty {
4671
+ min-width: 0;
4672
+ color: rgba(15, 23, 42, 0.68);
4673
+ font-size: 11px;
4674
+ line-height: 1.3;
4675
+ overflow: hidden;
4676
+ text-overflow: ellipsis;
4677
+ white-space: nowrap;
4678
+ }
4679
+ .logs-review-file::before {
4680
+ content: '\f15c';
4681
+ font-family: 'Font Awesome 6 Free';
4682
+ font-weight: 400;
4683
+ margin-right: 6px;
4684
+ color: rgba(15, 23, 42, 0.42);
4685
+ }
4686
+ body.dark .logs-review-file,
4687
+ body.dark .logs-review-empty {
4688
+ color: rgba(248, 250, 252, 0.7);
4689
+ }
4690
+ body.dark .logs-review-file::before {
4691
+ color: rgba(248, 250, 252, 0.42);
4692
+ }
4693
+ .logs-review-badge.is-error {
4694
+ border-color: rgba(220, 38, 38, 0.28);
4695
+ background: rgba(254, 226, 226, 0.72);
4696
+ color: rgba(153, 27, 27, 0.96);
4697
+ }
4698
+ body.dark .logs-review-badge.is-error {
4699
+ border-color: rgba(248, 113, 113, 0.24);
4700
+ background: rgba(127, 29, 29, 0.22);
4701
+ color: rgba(254, 202, 202, 0.94);
4702
+ }
4703
+ .logs-draft-meter {
4704
+ height: 6px;
4705
+ overflow: hidden;
4706
+ border-radius: 999px;
4707
+ background: rgba(15, 23, 42, 0.08);
4708
+ }
4709
+ body.dark .logs-draft-meter {
4710
+ background: rgba(255,255,255,0.1);
4711
+ }
4712
+ .logs-draft-meter-fill {
4713
+ width: 0%;
4714
+ height: 100%;
4715
+ border-radius: inherit;
4716
+ background: var(--pinokio-chrome-accent-bg-light, var(--light-link-color));
4717
+ transition: width 0.18s ease, background 0.18s ease;
4718
+ }
4719
+ body.dark .logs-draft-meter-fill {
4720
+ background: var(--pinokio-chrome-accent-bg-dark, rgba(255,255,255,0.72));
4721
+ }
4722
+ .logs-draft-meter-fill.is-error {
4723
+ background: #dc2626;
4724
+ }
4725
+ body.dark .logs-draft-meter-fill.is-error {
4726
+ background: #f87171;
4727
+ }
4728
+ .logs-draft-status {
4729
+ margin-top: 8px;
4730
+ color: rgba(15, 23, 42, 0.6);
4731
+ font-size: 11px;
4732
+ line-height: 1.35;
4733
+ }
4734
+ body.dark .logs-draft-status {
4735
+ color: rgba(248, 250, 252, 0.62);
4736
+ }
4737
+ .logs-draft-status.is-error {
4738
+ color: #b91c1c;
4739
+ }
4740
+ body.dark .logs-draft-status.is-error {
4741
+ color: #fca5a5;
4742
+ }
4743
+ .logs-report-output {
4744
+ flex: 1 1 auto;
4745
+ min-height: 240px;
4746
+ margin: 0;
4747
+ padding: 14px;
4748
+ overflow: auto;
4749
+ border: 0;
4750
+ border-radius: 0;
4751
+ background: #fff;
4752
+ color: rgba(15, 23, 42, 0.9);
4753
+ font-family: 'JetBrains Mono', 'SFMono-Regular', Consolas, monospace;
4754
+ font-size: 12px;
4755
+ line-height: 1.45;
4756
+ white-space: pre-wrap;
4757
+ overflow-wrap: anywhere;
4758
+ }
4759
+ body.dark .logs-report-output {
4760
+ background: #090b10;
4761
+ color: rgba(248, 250, 252, 0.9);
4762
+ }
4763
+ .logs-mask-token {
4764
+ border: 1px solid rgba(190, 18, 60, 0.34);
4765
+ border-radius: 4px;
4766
+ padding: 0 3px;
4767
+ background: rgba(254, 226, 226, 0.78);
4768
+ color: rgba(136, 19, 55, 0.96);
4769
+ font-weight: 800;
4770
+ }
4771
+ .logs-mask-token.is-selected {
4772
+ border-color: rgba(37, 99, 235, 0.72);
4773
+ background: rgba(219, 234, 254, 0.9);
4774
+ color: rgba(30, 64, 175, 0.98);
4775
+ box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.14);
4776
+ }
4777
+ body.dark .logs-mask-token {
4778
+ border-color: rgba(251, 113, 133, 0.42);
4779
+ background: rgba(127, 29, 29, 0.26);
4780
+ color: rgba(254, 205, 211, 0.96);
4781
+ }
4782
+ body.dark .logs-mask-token.is-selected {
4783
+ border-color: rgba(147, 197, 253, 0.66);
4784
+ background: rgba(30, 64, 175, 0.36);
4785
+ color: rgba(219, 234, 254, 0.98);
4786
+ box-shadow: 0 0 0 2px rgba(147, 197, 253, 0.14);
4787
+ }
4788
+ .logs-unmasked-token {
4789
+ border: 1px solid rgba(15, 23, 42, 0.14);
4790
+ border-radius: 4px;
4791
+ padding: 0 3px;
4792
+ background: rgba(15, 23, 42, 0.04);
4793
+ color: inherit;
4794
+ }
4795
+ .logs-unmasked-token.is-selected {
4796
+ border-color: rgba(37, 99, 235, 0.62);
4797
+ background: rgba(219, 234, 254, 0.68);
4798
+ box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.12);
4799
+ }
4800
+ body.dark .logs-unmasked-token {
4801
+ border-color: rgba(255,255,255,0.14);
4802
+ background: rgba(255,255,255,0.06);
4803
+ }
4804
+ body.dark .logs-unmasked-token.is-selected {
4805
+ border-color: rgba(147, 197, 253, 0.58);
4806
+ background: rgba(30, 64, 175, 0.28);
4807
+ box-shadow: 0 0 0 2px rgba(147, 197, 253, 0.12);
4808
+ }
4809
+ .logs-redaction-filters {
4810
+ flex: 0 0 auto;
4811
+ display: flex;
4812
+ gap: 6px;
4813
+ padding: 8px 0;
4814
+ overflow-x: auto;
4815
+ }
4816
+ .logs-redaction-filter {
4817
+ flex: 0 0 auto;
4818
+ border: 1px solid rgba(15, 23, 42, 0.1);
4819
+ border-radius: 999px;
4820
+ padding: 4px 8px;
4821
+ background: transparent;
4822
+ color: rgba(15, 23, 42, 0.68);
4823
+ font-size: 11px;
4824
+ font-weight: 700;
4825
+ line-height: 1;
4826
+ cursor: pointer;
4827
+ white-space: nowrap;
4828
+ }
4829
+ .logs-redaction-filter.is-active {
4830
+ border-color: rgba(37, 99, 235, 0.32);
4831
+ background: rgba(37, 99, 235, 0.08);
4832
+ color: rgba(30, 64, 175, 0.96);
4833
+ }
4834
+ body.dark .logs-redaction-filter {
4835
+ border-color: rgba(255,255,255,0.1);
4836
+ color: rgba(248, 250, 252, 0.68);
4837
+ }
4838
+ body.dark .logs-redaction-filter.is-active {
4839
+ border-color: rgba(147, 197, 253, 0.28);
4840
+ background: rgba(96, 165, 250, 0.14);
4841
+ color: rgba(219, 234, 254, 0.96);
4842
+ }
4843
+ .logs-redaction-list {
4844
+ flex: 1 1 auto;
4845
+ min-height: 0;
4846
+ padding: 0 0 2px;
4847
+ overflow-y: auto;
4848
+ overflow-x: hidden;
4849
+ }
4850
+ .logs-redaction-empty {
4851
+ padding: 12px 2px;
4852
+ color: rgba(15, 23, 42, 0.58);
4853
+ font-size: 12px;
4854
+ line-height: 1.4;
4855
+ }
4856
+ body.dark .logs-redaction-empty {
4857
+ color: rgba(248, 250, 252, 0.58);
4858
+ }
4859
+ .logs-redaction-row {
4860
+ width: 100%;
4861
+ max-width: 100%;
4862
+ box-sizing: border-box;
4863
+ display: block;
4864
+ border: 1px solid transparent;
4865
+ border-radius: 7px;
4866
+ padding: 9px 8px;
4867
+ background: transparent;
4868
+ color: inherit;
4869
+ text-align: left;
4870
+ cursor: pointer;
4871
+ }
4872
+ .logs-redaction-row.is-disabled {
4873
+ opacity: 0.76;
4874
+ }
4875
+ .logs-redaction-row + .logs-redaction-row {
4876
+ margin-top: 4px;
4877
+ }
4878
+ .logs-redaction-row:hover,
4879
+ .logs-redaction-row:focus-visible {
4880
+ border-color: rgba(15, 23, 42, 0.1);
4881
+ background: rgba(15, 23, 42, 0.04);
4882
+ outline: none;
4883
+ }
4884
+ .logs-redaction-row.is-selected {
4885
+ border-color: rgba(37, 99, 235, 0.2);
4886
+ background: rgba(37, 99, 235, 0.07);
4887
+ }
4888
+ body.dark .logs-redaction-row:hover,
4889
+ body.dark .logs-redaction-row:focus-visible {
4890
+ border-color: rgba(255,255,255,0.1);
4891
+ background: rgba(255,255,255,0.05);
4892
+ }
4893
+ body.dark .logs-redaction-row.is-selected {
4894
+ border-color: rgba(147, 197, 253, 0.22);
4895
+ background: rgba(96, 165, 250, 0.12);
4896
+ }
4897
+ .logs-redaction-row-top {
4898
+ display: flex;
4899
+ align-items: center;
4900
+ justify-content: space-between;
4901
+ gap: 8px;
4902
+ min-width: 0;
4903
+ }
4904
+ .logs-redaction-row-meta {
4905
+ display: flex;
4906
+ align-items: center;
4907
+ gap: 6px;
4908
+ min-width: 0;
4909
+ flex: 1 1 auto;
4910
+ color: rgba(15, 23, 42, 0.6);
4911
+ font-size: 11px;
4912
+ line-height: 1.25;
4913
+ }
4914
+ body.dark .logs-redaction-row-meta {
4915
+ color: rgba(248, 250, 252, 0.62);
4916
+ }
4917
+ .logs-redaction-label {
4918
+ flex: 0 0 auto;
4919
+ border-radius: 4px;
4920
+ padding: 2px 5px;
4921
+ background: rgba(254, 226, 226, 0.78);
4922
+ color: rgba(136, 19, 55, 0.96);
4923
+ font-size: 10px;
4924
+ font-weight: 800;
4925
+ line-height: 1.2;
4926
+ }
4927
+ body.dark .logs-redaction-label {
4928
+ background: rgba(127, 29, 29, 0.28);
4929
+ color: rgba(254, 205, 211, 0.96);
4930
+ }
4931
+ .logs-redaction-source {
4932
+ min-width: 0;
4933
+ overflow: hidden;
4934
+ text-overflow: ellipsis;
4935
+ white-space: nowrap;
4936
+ }
4937
+ .logs-redaction-toggle {
4938
+ flex: 0 0 auto;
4939
+ position: relative;
4940
+ display: inline-flex;
4941
+ align-items: center;
4942
+ cursor: pointer;
4943
+ }
4944
+ .logs-redaction-toggle input {
4945
+ position: absolute;
4946
+ inset: 0;
4947
+ width: 100%;
4948
+ height: 100%;
4949
+ opacity: 0;
4950
+ cursor: pointer;
4951
+ }
4952
+ .logs-redaction-toggle-track {
4953
+ flex: 0 0 auto;
4954
+ box-sizing: border-box;
4955
+ width: 28px;
4956
+ height: 16px;
4957
+ border-radius: 999px;
4958
+ border: 1px solid rgba(15, 23, 42, 0.16);
4959
+ background: rgba(15, 23, 42, 0.08);
4960
+ transition: background 0.16s ease, border-color 0.16s ease;
4961
+ }
4962
+ .logs-redaction-toggle-track::after {
4963
+ content: '';
4964
+ display: block;
4965
+ width: 12px;
4966
+ height: 12px;
4967
+ margin: 1px;
4968
+ border-radius: 50%;
4969
+ background: #fff;
4970
+ box-shadow: 0 1px 2px rgba(15, 23, 42, 0.24);
4971
+ transition: transform 0.16s ease;
4972
+ }
4973
+ .logs-redaction-toggle input:checked + .logs-redaction-toggle-track {
4974
+ border-color: rgba(37, 99, 235, 0.36);
4975
+ background: rgba(37, 99, 235, 0.88);
4976
+ }
4977
+ .logs-redaction-toggle input:checked + .logs-redaction-toggle-track::after {
4978
+ transform: translateX(12px);
4979
+ }
4980
+ .logs-redaction-toggle input:focus-visible + .logs-redaction-toggle-track {
4981
+ box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.18);
4982
+ }
4983
+ body.dark .logs-redaction-toggle-track {
4984
+ border-color: rgba(255,255,255,0.16);
4985
+ background: rgba(255,255,255,0.12);
4986
+ }
4987
+ body.dark .logs-redaction-toggle input:checked + .logs-redaction-toggle-track {
4988
+ border-color: rgba(147, 197, 253, 0.34);
4989
+ background: rgba(96, 165, 250, 0.72);
4990
+ }
4991
+ .logs-redaction-context {
4992
+ margin-top: 6px;
4993
+ min-width: 0;
4994
+ max-width: 100%;
4995
+ box-sizing: border-box;
4996
+ color: rgba(15, 23, 42, 0.88);
4997
+ font-family: 'JetBrains Mono', 'SFMono-Regular', Consolas, monospace;
4998
+ font-size: 11px;
4999
+ line-height: 1.35;
5000
+ white-space: nowrap;
5001
+ overflow: hidden;
5002
+ text-overflow: ellipsis;
5003
+ }
5004
+ body.dark .logs-redaction-context {
5005
+ color: rgba(248, 250, 252, 0.88);
5006
+ }
5007
+ .logs-embedded {
5008
+ height: 100vh;
5009
+ overflow: hidden;
5010
+ }
5011
+ .logs-embedded main,
5012
+ .logs-embedded .container {
5013
+ height: 100%;
5014
+ }
5015
+ .logs-embedded .container {
5016
+ width: 100%;
5017
+ max-width: none;
5018
+ margin: 0;
5019
+ padding: 0;
5020
+ }
5021
+ .logs-embedded .logs-page {
5022
+ height: 100vh;
5023
+ }
5024
+ .logs-sidebar {
5025
+ flex: 0 0 var(--logs-sidebar-width, 320px);
5026
+ width: var(--logs-sidebar-width, 320px);
5027
+ min-width: var(--logs-sidebar-min-width, 220px);
5028
+ max-width: var(--logs-sidebar-max-width, 560px);
5029
+ padding: 20px;
5030
+ box-sizing: border-box;
5031
+ display: flex;
5032
+ flex-direction: column;
5033
+ gap: 16px;
5034
+ background: rgba(0,0,0,0.02);
5035
+ max-height: var(--logs-pane-height, none);
5036
+ min-height: 0;
5037
+ overflow: auto;
5038
+ }
5039
+ #logs-root.logs-sidebar-collapsed .logs-sidebar {
5040
+ flex: 0 0 0;
5041
+ width: 0;
5042
+ min-width: 0;
5043
+ max-width: 0;
5044
+ opacity: 0;
5045
+ pointer-events: none;
5046
+ border: none;
5047
+ padding: 0;
5048
+ margin: 0;
5049
+ }
5050
+ #logs-root.logs-sidebar-collapsed .logs-tree-wrapper {
5051
+ border-width: 0;
5052
+ }
5053
+ body.dark .logs-sidebar {
5054
+ border-color: var(--dark-thin);
5055
+ background: rgba(255,255,255,0.04);
5056
+ }
5057
+ .logs-sidebar-header h2 {
5058
+ margin: 4px 0 0;
5059
+ font-size: 22px;
5060
+ }
5061
+ .logs-sidebar-eyebrow {
5062
+ margin: 0;
5063
+ text-transform: uppercase;
5064
+ font-size: 12px;
5065
+ letter-spacing: 0.08em;
5066
+ color: rgba(0,0,0,0.5);
5067
+ }
5068
+ body.dark .logs-sidebar-eyebrow {
5069
+ color: rgba(255,255,255,0.6);
5070
+ }
5071
+ .logs-zip-actions {
5072
+ display: flex;
5073
+ flex-direction: column;
5074
+ gap: 10px;
5075
+ }
5076
+ .logs-zip-status {
5077
+ font-size: 13px;
5078
+ color: rgba(0,0,0,0.6);
5079
+ }
5080
+ .logs-zip-status.is-error {
5081
+ color: #c0392b;
5082
+ }
5083
+ body.dark .logs-zip-status {
5084
+ color: rgba(255,255,255,0.6);
5085
+ }
5086
+ body.dark .logs-zip-status.is-error {
5087
+ color: #ff8373;
5088
+ }
5089
+ body.dark .logs-flat-button {
5090
+ color: white;
5091
+ }
5092
+ .logs-primary-button,
5093
+ .logs-secondary-button,
5094
+ .logs-flat-button {
5095
+ border: none;
5096
+ border-radius: 7px;
5097
+ padding: 4px 10px;
5098
+ font-size: 12px;
5099
+ font-weight: 700;
5100
+ line-height: 1;
5101
+ min-height: 28px;
5102
+ display: inline-flex;
5103
+ align-items: center;
5104
+ gap: 6px;
5105
+ cursor: pointer;
5106
+ justify-content: center;
5107
+ white-space: nowrap;
5108
+ transition: background 0.2s ease, color 0.2s ease;
5109
+ }
5110
+ .logs-primary-button {
5111
+ background: var(--pinokio-chrome-accent-bg-light, var(--light-link-color));
5112
+ color: var(--pinokio-chrome-accent-fg-light, white);
5113
+ }
5114
+ body.dark .logs-primary-button {
5115
+ background: var(--pinokio-chrome-accent-bg-dark, rgba(255,255,255,0.15));
5116
+ color: var(--pinokio-chrome-accent-fg-dark, white);
5117
+ }
5118
+ .logs-primary-button:disabled,
5119
+ .logs-secondary-button:disabled,
5120
+ .logs-flat-button:disabled {
5121
+ opacity: 0.6;
5122
+ cursor: not-allowed;
5123
+ }
5124
+ .logs-secondary-button {
5125
+ border: 1px solid var(--light-thin);
5126
+ background: transparent;
5127
+ color: inherit;
5128
+ text-decoration: none;
5129
+ }
5130
+ body.dark .logs-secondary-button {
5131
+ border-color: var(--dark-thin);
5132
+ }
5133
+ .logs-flat-button {
5134
+ background: rgba(0,0,0,0.04);
5135
+ }
5136
+ body.dark .logs-flat-button {
5137
+ background: rgba(255,255,255,0.08);
5138
+ }
5139
+ .logs-primary-button.logs-community-submit {
5140
+ min-width: 154px;
5141
+ min-height: 38px;
5142
+ padding: 0 16px;
5143
+ font-size: 13px;
5144
+ font-weight: 850;
5145
+ }
5146
+ .logs-flat-button.is-busy::after {
5147
+ content: '\f110';
5148
+ font-family: 'Font Awesome 6 Free';
5149
+ font-weight: 900;
5150
+ animation: spin 1s linear infinite;
5151
+ margin-left: 6px;
5152
+ }
5153
+ @keyframes spin {
5154
+ from { transform: rotate(0deg); }
5155
+ to { transform: rotate(360deg); }
5156
+ }
5157
+ .logs-tree-toolbar {
5158
+ display: flex;
5159
+ flex-direction: column;
5160
+ gap: 6px;
5161
+ }
5162
+ .logs-tree-hint {
5163
+ margin: 0;
5164
+ font-size: 12px;
5165
+ color: rgba(0,0,0,0.5);
5166
+ }
5167
+ body.dark .logs-tree-hint {
5168
+ color: rgba(255,255,255,0.6);
5169
+ }
5170
+ .logs-tree-wrapper {
5171
+ flex: 1;
5172
+ border: 1px solid var(--light-thin);
5173
+ border-radius: 14px;
5174
+ padding: 10px;
5175
+ overflow: hidden;
5176
+ background: white;
5177
+ }
5178
+ body.dark .logs-tree-wrapper {
5179
+ border-color: var(--dark-thin);
5180
+ background: rgba(255,255,255,0.02);
5181
+ }
5182
+ .logs-tree {
5183
+ max-height: 100%;
5184
+ overflow-y: auto;
5185
+ font-size: 14px;
5186
+ }
5187
+ .logs-branch {
5188
+ margin: 0;
5189
+ }
5190
+ .logs-branch-summary {
5191
+ display: flex;
5192
+ align-items: center;
5193
+ gap: 8px;
5194
+ padding: 4px 6px;
5195
+ cursor: pointer;
5196
+ border-radius: 8px;
5197
+ list-style: none;
5198
+ }
5199
+ .logs-branch-summary::-webkit-details-marker {
5200
+ display: none;
4330
5201
  }
4331
5202
  .logs-branch.is-open .logs-branch-chevron {
4332
5203
  transform: rotate(90deg);
@@ -4594,8 +5465,41 @@ body.dark .logs-viewer-output {
4594
5465
  background: royalblue !important;
4595
5466
  }
4596
5467
 
5468
+ @media (max-width: 980px) {
5469
+ .logs-community-footer {
5470
+ grid-template-columns: minmax(180px, 0.34fr) minmax(220px, 1fr) auto;
5471
+ gap: 10px;
5472
+ }
5473
+ .logs-community-submit {
5474
+ grid-column: 3;
5475
+ height: 38px;
5476
+ }
5477
+ }
5478
+ @media (max-width: 720px) {
5479
+ .logs-latest-workspace {
5480
+ grid-template-columns: 1fr;
5481
+ }
5482
+ .logs-redaction-pane {
5483
+ max-height: 260px;
5484
+ }
5485
+ .logs-community-footer {
5486
+ grid-template-columns: minmax(0, 1fr);
5487
+ }
5488
+ .logs-community-copy,
5489
+ .logs-community-title-field,
5490
+ .logs-community-submit {
5491
+ grid-column: 1;
5492
+ }
5493
+ .logs-community-title-field {
5494
+ grid-template-columns: minmax(0, 1fr);
5495
+ }
5496
+ .logs-community-submit {
5497
+ grid-row: auto;
5498
+ width: 100%;
5499
+ }
5500
+ }
4597
5501
  @media (max-width: 800px) {
4598
- .logs-page {
5502
+ .logs-raw-view {
4599
5503
  flex-direction: column;
4600
5504
  }
4601
5505
  .logs-sidebar {
@@ -4603,6 +5507,52 @@ body.dark .logs-viewer-output {
4603
5507
  }
4604
5508
  }
4605
5509
  @media (max-width: 720px) {
5510
+ .logs-page-header {
5511
+ align-items: flex-start;
5512
+ flex-direction: column;
5513
+ }
5514
+ .logs-page-switch {
5515
+ width: 100%;
5516
+ }
5517
+ .logs-page-controls {
5518
+ grid-template-columns: 1fr auto;
5519
+ justify-content: stretch;
5520
+ justify-items: stretch;
5521
+ width: 100%;
5522
+ }
5523
+ .logs-view-switch {
5524
+ grid-column: 1;
5525
+ grid-row: auto;
5526
+ width: 100%;
5527
+ }
5528
+ .logs-view-tab {
5529
+ flex: 1 1 0;
5530
+ min-width: 0;
5531
+ }
5532
+ .logs-action-group {
5533
+ grid-column: 1;
5534
+ grid-row: auto;
5535
+ width: 100%;
5536
+ min-width: 0;
5537
+ justify-content: flex-start;
5538
+ flex-wrap: wrap;
5539
+ }
5540
+ .logs-icon-button {
5541
+ grid-column: 2;
5542
+ grid-row: 1;
5543
+ }
5544
+ .logs-section-control {
5545
+ grid-template-columns: auto minmax(0, 1fr);
5546
+ }
5547
+ .logs-section-mode {
5548
+ grid-column: 2;
5549
+ width: 100%;
5550
+ max-width: none;
5551
+ }
5552
+ .logs-page[data-view="latest"] [data-logs-actions="raw"],
5553
+ .logs-page[data-view="raw"] [data-logs-actions="latest"] {
5554
+ display: none;
5555
+ }
4606
5556
  .logs-viewer-header {
4607
5557
  flex-direction: column;
4608
5558
  align-items: flex-start;