pinokiod 7.3.5 → 7.3.8

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 (38) hide show
  1. package/kernel/api/index.js +3 -2
  2. package/kernel/api/script/index.js +1 -0
  3. package/kernel/resource_usage/gpu.js +1078 -270
  4. package/kernel/resource_usage/index.js +9 -4
  5. package/package.json +2 -1
  6. package/server/index.js +14 -2
  7. package/server/public/nav.js +1 -1
  8. package/server/public/style.css +298 -191
  9. package/server/public/task-launcher.css +16 -20
  10. package/server/public/universal-launcher.css +0 -113
  11. package/server/public/universal-launcher.js +1 -1
  12. package/server/views/app.ejs +592 -298
  13. package/server/views/autolaunch.ejs +1 -1
  14. package/server/views/checkpoints.ejs +2 -6
  15. package/server/views/connect.ejs +1 -1
  16. package/server/views/explore.ejs +2 -1
  17. package/server/views/index.ejs +89 -60
  18. package/server/views/install.ejs +5 -7
  19. package/server/views/invalid_content.ejs +1 -1
  20. package/server/views/layout.ejs +8 -2
  21. package/server/views/logs.ejs +5 -27
  22. package/server/views/net.ejs +1 -1
  23. package/server/views/network.ejs +1 -1
  24. package/server/views/partials/fs_status.ejs +0 -8
  25. package/server/views/partials/main_sidebar.ejs +108 -44
  26. package/server/views/plugin_detail.ejs +1 -1
  27. package/server/views/plugins.ejs +1 -28
  28. package/server/views/screenshots.ejs +1 -1
  29. package/server/views/settings.ejs +2 -1
  30. package/server/views/setup.ejs +15 -1
  31. package/server/views/skills.ejs +1 -1
  32. package/server/views/task_builder.ejs +1 -1
  33. package/server/views/task_install.ejs +1 -1
  34. package/server/views/task_launch.ejs +1 -1
  35. package/server/views/task_list.ejs +1 -1
  36. package/server/views/tools.ejs +1 -1
  37. package/test/resource-usage-gpu.test.js +320 -70
  38. package/test/script-api.test.js +90 -0
@@ -70,6 +70,41 @@
70
70
  --pinokio-chrome-accent-fg-light: #e1b261;
71
71
  --pinokio-chrome-accent-bg-dark: rgba(255, 255, 255, 0.08);
72
72
  --pinokio-chrome-accent-fg-dark: #c2b28a;
73
+ --pinokio-sidebar-tabbar-bg: #ffffff;
74
+ --pinokio-sidebar-tabbar-border: rgba(15, 23, 42, 0.055);
75
+ --pinokio-sidebar-separator: rgba(15, 23, 42, 0.045);
76
+ --pinokio-sidebar-separator-hover: rgba(15, 23, 42, 0.12);
77
+ --pinokio-sidebar-separator-focus: rgba(59, 130, 246, 0.4);
78
+ --pinokio-sidebar-control-bg: rgba(15, 23, 42, 0.035);
79
+ --pinokio-sidebar-control-active-bg: rgba(255, 255, 255, 0.82);
80
+ --pinokio-sidebar-tab-hover: rgba(15, 23, 42, 0.028);
81
+ --pinokio-sidebar-tab-active-bg: rgba(15, 23, 42, 0.038);
82
+ --pinokio-sidebar-tab-active-color: #111827;
83
+ --pinokio-sidebar-tab-muted: rgba(31, 41, 55, 0.72);
84
+ --pinokio-sidebar-icon-muted: rgba(31, 41, 55, 0.58);
85
+ --pinokio-sidebar-icon-active: rgba(17, 24, 39, 0.84);
86
+ --pinokio-sidebar-action-muted: rgba(31, 41, 55, 0.48);
87
+ --pinokio-sidebar-notice-flash-bg: rgba(185, 28, 28, 0.12);
88
+ --pinokio-sidebar-tab-shadow: transparent;
89
+ }
90
+
91
+ body.dark {
92
+ --pinokio-sidebar-tabbar-bg: #1b1c1d;
93
+ --pinokio-sidebar-tabbar-border: rgba(255, 255, 255, 0.055);
94
+ --pinokio-sidebar-separator: rgba(255, 255, 255, 0.045);
95
+ --pinokio-sidebar-separator-hover: rgba(255, 255, 255, 0.12);
96
+ --pinokio-sidebar-separator-focus: rgba(96, 165, 250, 0.5);
97
+ --pinokio-sidebar-control-bg: rgba(255, 255, 255, 0.035);
98
+ --pinokio-sidebar-control-active-bg: rgba(255, 255, 255, 0.075);
99
+ --pinokio-sidebar-tab-hover: rgba(255, 255, 255, 0.035);
100
+ --pinokio-sidebar-tab-active-bg: rgba(255, 255, 255, 0.048);
101
+ --pinokio-sidebar-tab-active-color: rgba(248, 250, 252, 0.91);
102
+ --pinokio-sidebar-tab-muted: rgba(229, 231, 235, 0.64);
103
+ --pinokio-sidebar-icon-muted: rgba(229, 231, 235, 0.54);
104
+ --pinokio-sidebar-icon-active: rgba(248, 250, 252, 0.82);
105
+ --pinokio-sidebar-action-muted: rgba(229, 231, 235, 0.42);
106
+ --pinokio-sidebar-notice-flash-bg: rgba(248, 113, 113, 0.14);
107
+ --pinokio-sidebar-tab-shadow: transparent;
73
108
  }
74
109
 
75
110
 
@@ -1229,189 +1264,275 @@ body.dark form.search input[type=search] {
1229
1264
  color: white;
1230
1265
  }
1231
1266
 
1232
- /* Unified sidebar style across pages (home/net/network/connect/tools/settings/etc). */
1233
- .main-sidebar {
1234
- width: 200px;
1235
- display: block;
1236
- flex-shrink: 0;
1267
+ /* Shared sidebar style across pages (home/net/network/connect/tools/settings/etc). */
1268
+ body.main-sidebar-page > header.navheader,
1269
+ body.main-sidebar-page > header.navheader.minimized,
1270
+ body.main-sidebar-page .navheader {
1271
+ background: var(--pinokio-sidebar-tabbar-bg) !important;
1272
+ background-color: var(--pinokio-sidebar-tabbar-bg) !important;
1273
+ background-image: none !important;
1274
+ border-bottom: 1px solid var(--pinokio-sidebar-separator);
1275
+ backdrop-filter: none;
1276
+ box-shadow: none;
1277
+ isolation: isolate;
1278
+ }
1279
+ body.main-sidebar-page .navheader .sidebar-toggle {
1280
+ color: #0f172a;
1281
+ position: relative;
1282
+ width: 40px;
1283
+ height: 30px;
1284
+ padding: 0;
1285
+ border-radius: 9px;
1286
+ box-sizing: border-box;
1237
1287
  }
1238
- .main-sidebar .tab {
1239
- display: flex !important;
1240
- align-items: center !important;
1241
- gap: 5px !important;
1242
- color: black !important;
1243
- text-decoration: none !important;
1244
- padding: 10px !important;
1245
- font-size: 12px !important;
1246
- opacity: 0.5;
1247
- border-left: 10px solid transparent;
1288
+ body.dark.main-sidebar-page .navheader .sidebar-toggle {
1289
+ color: rgba(248, 250, 252, 0.92);
1248
1290
  }
1249
- body.dark .main-sidebar .tab {
1250
- color: white !important;
1291
+ body.main-sidebar-page .navheader .sidebar-toggle[aria-expanded="true"] {
1292
+ background: rgba(15, 23, 42, 0.08);
1293
+ box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.06);
1251
1294
  }
1252
- .main-sidebar .tab:hover,
1253
- body.dark .main-sidebar .tab:hover {
1254
- color: royalblue !important;
1255
- opacity: 1 !important;
1295
+ body.dark.main-sidebar-page .navheader .sidebar-toggle[aria-expanded="true"] {
1296
+ background: rgba(255, 255, 255, 0.1);
1297
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
1256
1298
  }
1257
- .main-sidebar .tab.selected {
1258
- font-weight: bold !important;
1259
- opacity: 1 !important;
1260
- }
1261
- .main-sidebar .tab i {
1262
- width: 20px;
1263
- text-align: center;
1264
- display: block;
1299
+ body.main-sidebar-page .sidebar-toggle-glyph {
1300
+ width: 19px;
1301
+ height: 15px;
1302
+ display: inline-flex;
1303
+ align-items: center;
1304
+ justify-content: center;
1265
1305
  }
1266
- .main-sidebar .tab.submenu {
1267
- padding-left: 25px !important;
1306
+ body.main-sidebar-page .sidebar-toggle-frame {
1307
+ position: relative;
1308
+ width: 18px;
1309
+ height: 14px;
1310
+ border: 1.7px solid currentColor;
1311
+ border-radius: 3px;
1268
1312
  box-sizing: border-box;
1269
1313
  }
1270
- .main-sidebar .btn-tab.quick-actions {
1271
- display: flex;
1272
- flex-direction: column;
1273
- gap: 4px;
1274
- padding: 0 10px;
1275
- margin-top: 10px;
1276
- margin-bottom: 10px;
1314
+ body.main-sidebar-page .sidebar-toggle-panel {
1315
+ position: absolute;
1316
+ left: 2px;
1317
+ top: 2px;
1318
+ bottom: 2px;
1319
+ width: 4px;
1320
+ border-radius: 1px;
1321
+ background: currentColor;
1322
+ }
1323
+ body.main-sidebar-page .sidebar-toggle-content {
1324
+ position: absolute;
1325
+ left: 8px;
1326
+ right: 3px;
1327
+ top: 3px;
1328
+ height: 1.5px;
1329
+ border-radius: 999px;
1330
+ background: currentColor;
1331
+ opacity: 0.32;
1332
+ box-shadow: 0 3.8px 0 currentColor, 0 7.6px 0 currentColor;
1277
1333
  }
1278
- .main-sidebar .btn-tab.quick-actions.universal-quick-actions {
1334
+ body.main-sidebar-page .navheader .sidebar-toggle[aria-expanded="false"] .sidebar-toggle-panel {
1335
+ background: transparent;
1336
+ outline: 1.5px solid currentColor;
1337
+ outline-offset: -1px;
1338
+ opacity: 0.35;
1339
+ }
1340
+ body.main-sidebar-page main {
1341
+ display: flex;
1279
1342
  align-items: stretch;
1280
1343
  }
1281
- .main-sidebar .universal-quick-actions > .btn,
1282
- .main-sidebar .universal-quick-actions > .universal-create-menu {
1283
- width: 100%;
1344
+ body.main-sidebar-page main > :not(.main-sidebar) {
1345
+ flex: 1 1 auto;
1284
1346
  min-width: 0;
1285
1347
  }
1286
- .main-sidebar .universal-quick-actions .btn,
1287
- .main-sidebar .universal-quick-actions summary.btn {
1288
- width: 100%;
1289
- min-width: 0;
1290
- display: flex !important;
1291
- align-items: center;
1292
- justify-content: flex-start !important;
1348
+ body.main-sidebar-page main > .container,
1349
+ body.main-sidebar-page main > .task-container {
1293
1350
  box-sizing: border-box;
1351
+ padding-left: 16px;
1294
1352
  }
1295
- .main-sidebar .universal-quick-actions details {
1296
- width: 100%;
1297
- position: relative;
1353
+ .main-sidebar {
1354
+ order: -1;
1355
+ width: 196px;
1356
+ display: flex;
1357
+ flex-direction: column;
1358
+ flex-shrink: 0;
1359
+ min-height: 0;
1360
+ padding: 8px 6px;
1361
+ box-sizing: border-box;
1362
+ background: transparent;
1363
+ color: var(--pinokio-sidebar-tab-muted);
1364
+ border-right: 1px solid var(--pinokio-sidebar-separator);
1365
+ }
1366
+ .main-sidebar-nav {
1367
+ display: flex;
1368
+ flex-direction: column;
1369
+ align-items: stretch !important;
1370
+ gap: 0;
1371
+ flex: 1 1 auto;
1372
+ min-width: 0;
1373
+ padding: 0 !important;
1374
+ background: transparent !important;
1298
1375
  }
1299
- .main-sidebar .universal-quick-actions summary {
1376
+ .main-sidebar-section {
1377
+ display: flex;
1378
+ flex-direction: column;
1379
+ gap: 1px;
1380
+ min-width: 0;
1300
1381
  width: 100%;
1301
- list-style: none;
1302
1382
  }
1303
- .main-sidebar .universal-create-menu > summary.btn {
1304
- padding-right: 8px;
1383
+ .main-sidebar-section + .main-sidebar-section {
1384
+ margin-top: 8px;
1385
+ padding-top: 0;
1386
+ border-top: 0;
1305
1387
  }
1306
- .main-sidebar .universal-quick-actions summary::-webkit-details-marker {
1307
- display: none;
1388
+ .main-sidebar-section-actions {
1389
+ padding-bottom: 2px;
1390
+ margin-bottom: 4px;
1391
+ border-bottom: 0;
1308
1392
  }
1309
- .main-sidebar .universal-quick-actions .caption {
1310
- min-width: 0;
1311
- overflow: hidden;
1312
- text-overflow: ellipsis;
1313
- white-space: nowrap;
1393
+ .main-sidebar-section-system {
1394
+ margin-top: 8px;
1395
+ padding-top: 0;
1314
1396
  }
1315
- .main-sidebar .btn-tab.quick-actions.universal-quick-actions > .btn,
1316
- .main-sidebar .btn-tab.quick-actions.universal-quick-actions > .universal-create-menu > summary.btn {
1397
+ .main-sidebar-section-title {
1398
+ min-height: 20px;
1399
+ display: flex;
1400
+ align-items: flex-end;
1401
+ box-sizing: border-box;
1402
+ padding: 5px 6px 4px;
1403
+ color: var(--pinokio-sidebar-action-muted);
1404
+ font-size: 11px;
1405
+ font-weight: 500;
1406
+ line-height: 1;
1407
+ letter-spacing: 0;
1408
+ user-select: none;
1409
+ }
1410
+ .main-sidebar .tab {
1317
1411
  width: 100%;
1318
- display: inline-flex !important;
1319
- align-items: center;
1320
- justify-content: flex-start !important;
1321
- text-align: left;
1322
- gap: 3px;
1323
- height: 30px;
1324
- min-height: 30px;
1412
+ min-width: 0;
1413
+ min-height: 25px;
1414
+ appearance: none;
1415
+ display: grid !important;
1416
+ grid-template-columns: 16px minmax(0, 1fr) auto;
1417
+ align-items: center !important;
1418
+ column-gap: 7px !important;
1325
1419
  margin: 0;
1326
- padding: 0 8px;
1327
- border: 1px solid var(--pinokio-chrome-accent-bg-light) !important;
1328
- border-radius: 5px !important;
1329
- background: var(--pinokio-chrome-accent-bg-light) !important;
1330
- border-color: var(--pinokio-chrome-accent-bg-light) !important;
1331
- color: #fff !important;
1332
- font-size: 12px;
1333
- font-weight: 700;
1334
- line-height: 1;
1420
+ padding: 3px 6px !important;
1335
1421
  box-sizing: border-box;
1336
- opacity: 1;
1422
+ border: 0 !important;
1423
+ border-left: 0 !important;
1424
+ border-radius: 6px !important;
1425
+ background: transparent !important;
1426
+ color: var(--pinokio-sidebar-tab-muted) !important;
1427
+ opacity: 1 !important;
1428
+ text-align: left;
1429
+ text-decoration: none !important;
1430
+ font-size: 12px !important;
1431
+ font-family: inherit;
1432
+ font-weight: 500;
1433
+ line-height: 1.25;
1434
+ cursor: pointer;
1435
+ transition: background-color 120ms ease, color 120ms ease;
1337
1436
  }
1338
- body.dark .main-sidebar .btn-tab.quick-actions.universal-quick-actions > .btn,
1339
- body.dark .main-sidebar .btn-tab.quick-actions.universal-quick-actions > .universal-create-menu > summary.btn {
1340
- border-color: var(--pinokio-chrome-accent-bg-dark) !important;
1341
- background: var(--pinokio-chrome-accent-bg-dark) !important;
1342
- color: #fff !important;
1343
- }
1344
- .main-sidebar .btn-tab.quick-actions.universal-quick-actions > .btn:hover,
1345
- .main-sidebar .btn-tab.quick-actions.universal-quick-actions > .btn:focus-visible,
1346
- .main-sidebar .btn-tab.quick-actions.universal-quick-actions > .btn:active,
1347
- .main-sidebar .btn-tab.quick-actions.universal-quick-actions > .universal-create-menu > summary.btn:hover,
1348
- .main-sidebar .btn-tab.quick-actions.universal-quick-actions > .universal-create-menu > summary.btn:focus-visible,
1349
- .main-sidebar .btn-tab.quick-actions.universal-quick-actions > .universal-create-menu > summary.btn:active {
1350
- border-color: var(--pinokio-chrome-accent-bg-light) !important;
1351
- background: var(--pinokio-chrome-accent-bg-light) !important;
1352
- color: #fff !important;
1353
- }
1354
- body.dark .main-sidebar .btn-tab.quick-actions.universal-quick-actions > .btn:hover,
1355
- body.dark .main-sidebar .btn-tab.quick-actions.universal-quick-actions > .btn:focus-visible,
1356
- body.dark .main-sidebar .btn-tab.quick-actions.universal-quick-actions > .btn:active,
1357
- body.dark .main-sidebar .btn-tab.quick-actions.universal-quick-actions > .universal-create-menu > summary.btn:hover,
1358
- body.dark .main-sidebar .btn-tab.quick-actions.universal-quick-actions > .universal-create-menu > summary.btn:focus-visible,
1359
- body.dark .main-sidebar .btn-tab.quick-actions.universal-quick-actions > .universal-create-menu > summary.btn:active {
1360
- border-color: var(--pinokio-chrome-accent-bg-dark) !important;
1361
- background: var(--pinokio-chrome-accent-bg-dark) !important;
1362
- color: #fff !important;
1437
+ .main-sidebar .tab:hover,
1438
+ .main-sidebar .tab:focus-visible {
1439
+ background: var(--pinokio-sidebar-tab-hover) !important;
1440
+ color: var(--pinokio-sidebar-tab-active-color) !important;
1441
+ outline: none;
1363
1442
  }
1364
- .main-sidebar .btn-tab.quick-actions.universal-quick-actions > #explore {
1365
- justify-content: flex-start !important;
1366
- text-align: left;
1367
- gap: 3px;
1368
- padding: 0 8px;
1443
+ .main-sidebar .tab.selected {
1444
+ background: var(--pinokio-sidebar-tab-active-bg) !important;
1445
+ color: var(--pinokio-sidebar-tab-active-color) !important;
1446
+ font-weight: 600 !important;
1369
1447
  }
1370
- .main-sidebar .btn-tab.quick-actions.universal-quick-actions .quick-action-leading-icon {
1371
- flex: 0 0 18px;
1372
- width: 18px;
1373
- height: 18px;
1448
+ .main-sidebar .tab i,
1449
+ .main-sidebar .tab .main-sidebar-action-icon {
1450
+ grid-column: 1;
1451
+ width: 16px;
1452
+ height: 16px;
1453
+ min-width: 16px;
1374
1454
  display: inline-flex;
1375
1455
  align-items: center;
1376
1456
  justify-content: center;
1377
- color: inherit;
1378
- font-size: 14px;
1457
+ color: var(--pinokio-sidebar-icon-muted) !important;
1458
+ font-size: 12px;
1379
1459
  line-height: 1;
1460
+ text-align: center;
1380
1461
  }
1381
- .main-sidebar .btn-tab.quick-actions.universal-quick-actions .quick-action-icon {
1382
- background: currentColor;
1462
+ .main-sidebar .tab:hover i,
1463
+ .main-sidebar .tab:focus-visible i,
1464
+ .main-sidebar .tab.selected i,
1465
+ .main-sidebar .tab:hover .main-sidebar-action-icon,
1466
+ .main-sidebar .tab:focus-visible .main-sidebar-action-icon,
1467
+ .main-sidebar .tab.selected .main-sidebar-action-icon {
1468
+ color: var(--pinokio-sidebar-icon-active) !important;
1469
+ }
1470
+ .main-sidebar .caption {
1471
+ grid-column: 2;
1472
+ min-width: 0;
1473
+ width: auto !important;
1474
+ display: block !important;
1475
+ overflow: hidden;
1476
+ text-align: left !important;
1477
+ text-overflow: ellipsis;
1478
+ white-space: nowrap;
1479
+ word-wrap: normal !important;
1480
+ }
1481
+ .main-sidebar .tab.submenu {
1482
+ padding-left: 16px !important;
1483
+ }
1484
+ .main-sidebar .universal-create-menu {
1485
+ width: 100%;
1486
+ min-width: 0;
1487
+ position: relative;
1488
+ }
1489
+ .main-sidebar .universal-create-menu summary {
1490
+ list-style: none;
1491
+ list-style-type: none;
1492
+ }
1493
+ .main-sidebar .universal-create-menu summary::marker {
1494
+ content: "";
1495
+ }
1496
+ .main-sidebar .universal-create-menu summary::-webkit-details-marker {
1497
+ display: none;
1383
1498
  }
1384
1499
  .main-sidebar .ask-pinokio-icon {
1500
+ background: currentColor;
1385
1501
  -webkit-mask: url('/pinokio-mark.svg') center / 14px 14px no-repeat;
1386
1502
  mask: url('/pinokio-mark.svg') center / 14px 14px no-repeat;
1387
1503
  }
1388
- .main-sidebar .btn-tab.quick-actions.universal-quick-actions > .btn i,
1389
- .main-sidebar .btn-tab.quick-actions.universal-quick-actions > .btn .quick-action-icon,
1390
- .main-sidebar .btn-tab.quick-actions.universal-quick-actions > .btn .caption,
1391
- .main-sidebar .btn-tab.quick-actions.universal-quick-actions > .universal-create-menu > summary.btn i,
1392
- .main-sidebar .btn-tab.quick-actions.universal-quick-actions > .universal-create-menu > summary.btn .quick-action-icon,
1393
- .main-sidebar .btn-tab.quick-actions.universal-quick-actions > .universal-create-menu > summary.btn .caption {
1394
- color: #fff !important;
1395
- }
1396
- body.dark .main-sidebar .btn-tab.quick-actions.universal-quick-actions > .btn i,
1397
- body.dark .main-sidebar .btn-tab.quick-actions.universal-quick-actions > .btn .quick-action-icon,
1398
- body.dark .main-sidebar .btn-tab.quick-actions.universal-quick-actions > .btn .caption,
1399
- body.dark .main-sidebar .btn-tab.quick-actions.universal-quick-actions > .universal-create-menu > summary.btn i,
1400
- body.dark .main-sidebar .btn-tab.quick-actions.universal-quick-actions > .universal-create-menu > summary.btn .quick-action-icon,
1401
- body.dark .main-sidebar .btn-tab.quick-actions.universal-quick-actions > .universal-create-menu > summary.btn .caption {
1402
- color: #fff !important;
1403
- }
1404
- .main-sidebar .universal-create-caret {
1405
- margin-left: auto;
1406
- font-size: 10px;
1407
- opacity: 0.9;
1408
- transition: transform 140ms ease, opacity 140ms ease;
1504
+ .main-sidebar-peer {
1505
+ margin-top: 8px;
1506
+ padding-top: 8px;
1507
+ border-top: 0;
1409
1508
  }
1410
- .main-sidebar .universal-create-menu[open] .universal-create-caret {
1411
- transform: rotate(180deg);
1509
+ .main-sidebar .qr {
1510
+ padding: 10px 0 0;
1511
+ color: var(--pinokio-sidebar-tab-muted);
1412
1512
  }
1413
- .main-sidebar .btn-tab.quick-actions + .tab {
1414
- margin-top: 6px;
1513
+ .main-sidebar .qr img {
1514
+ width: 128px;
1515
+ height: 128px;
1516
+ max-width: calc(100% - 24px);
1517
+ }
1518
+ @media only screen and (min-width: 601px) {
1519
+ body.main-sidebar-page.main-sidebar-collapsed .main-sidebar {
1520
+ width: 0;
1521
+ min-width: 0;
1522
+ max-width: 0;
1523
+ padding-left: 0;
1524
+ padding-right: 0;
1525
+ border-right-width: 0;
1526
+ border-right-color: transparent;
1527
+ opacity: 0;
1528
+ pointer-events: none;
1529
+ overflow: hidden;
1530
+ }
1531
+
1532
+ body.main-sidebar-page.main-sidebar-collapsed main > .container,
1533
+ body.main-sidebar-page.main-sidebar-collapsed main > .task-container {
1534
+ padding-left: 0;
1535
+ }
1415
1536
  }
1416
1537
  form.search input[type=search] {
1417
1538
  flex-grow: 1;
@@ -3733,7 +3854,7 @@ aside .qr {
3733
3854
  body.main-sidebar-page .main-sidebar-mobile-toggle {
3734
3855
  position: fixed;
3735
3856
  top: calc(10px + env(safe-area-inset-top));
3736
- right: 10px;
3857
+ left: 10px;
3737
3858
  z-index: 10000030;
3738
3859
  width: 34px;
3739
3860
  height: 34px;
@@ -3758,15 +3879,15 @@ aside .qr {
3758
3879
  }
3759
3880
 
3760
3881
  body.main-sidebar-page.main-sidebar-mobile-open .main-sidebar-mobile-toggle {
3761
- background: var(--pinokio-chrome-accent-bg-light);
3762
- border-color: var(--pinokio-chrome-accent-bg-light);
3763
- color: var(--pinokio-chrome-accent-fg-light);
3882
+ background: var(--pinokio-sidebar-tab-active-bg);
3883
+ border-color: var(--pinokio-sidebar-separator-hover);
3884
+ color: var(--pinokio-sidebar-tab-active-color);
3764
3885
  }
3765
3886
 
3766
3887
  body.dark.main-sidebar-page.main-sidebar-mobile-open .main-sidebar-mobile-toggle {
3767
- background: var(--pinokio-chrome-accent-bg-dark);
3768
- border-color: var(--pinokio-chrome-accent-bg-dark);
3769
- color: var(--pinokio-chrome-accent-fg-dark);
3888
+ background: var(--pinokio-sidebar-tab-active-bg);
3889
+ border-color: var(--pinokio-sidebar-separator-hover);
3890
+ color: var(--pinokio-sidebar-tab-active-color);
3770
3891
  }
3771
3892
 
3772
3893
  body.main-sidebar-page.main-sidebar-mobile-open .main-sidebar-mobile-backdrop {
@@ -3780,10 +3901,15 @@ aside .qr {
3780
3901
  cursor: pointer;
3781
3902
  }
3782
3903
 
3904
+ body.main-sidebar-page main > .container,
3905
+ body.main-sidebar-page main > .task-container {
3906
+ padding-left: 0;
3907
+ }
3908
+
3783
3909
  body.main-sidebar-page .main-sidebar {
3784
3910
  position: fixed;
3785
3911
  top: 0;
3786
- right: 0;
3912
+ left: 0;
3787
3913
  bottom: 0;
3788
3914
  z-index: 10000020;
3789
3915
  width: min(280px, calc(100vw - 40px));
@@ -3792,17 +3918,17 @@ aside .qr {
3792
3918
  padding: calc(52px + env(safe-area-inset-top)) 12px calc(18px + env(safe-area-inset-bottom));
3793
3919
  box-sizing: border-box;
3794
3920
  overflow-y: auto;
3795
- background: #f7f8fb;
3796
- border-left: 1px solid rgba(15, 23, 42, 0.08);
3797
- box-shadow: -24px 0 48px rgba(15, 23, 42, 0.18);
3798
- transform: translateX(100%);
3921
+ background: var(--pinokio-sidebar-tabbar-bg);
3922
+ border-right: 1px solid var(--pinokio-sidebar-separator);
3923
+ box-shadow: 24px 0 48px rgba(15, 23, 42, 0.12);
3924
+ transform: translateX(-100%);
3799
3925
  transition: transform 180ms ease;
3800
3926
  }
3801
3927
 
3802
3928
  body.dark.main-sidebar-page .main-sidebar {
3803
- background: #0f1115;
3804
- border-left-color: rgba(255, 255, 255, 0.08);
3805
- box-shadow: -24px 0 52px rgba(0, 0, 0, 0.45);
3929
+ background: var(--pinokio-sidebar-tabbar-bg);
3930
+ border-right-color: var(--pinokio-sidebar-separator);
3931
+ box-shadow: 24px 0 52px rgba(0, 0, 0, 0.38);
3806
3932
  }
3807
3933
 
3808
3934
  body.main-sidebar-page.main-sidebar-mobile-open .main-sidebar {
@@ -3821,10 +3947,6 @@ aside .qr {
3821
3947
  display: block !important;
3822
3948
  }
3823
3949
 
3824
- body.main-sidebar-page .main-sidebar .btn-tab {
3825
- padding: 0 0 6px;
3826
- }
3827
-
3828
3950
  body.main-sidebar-page .main-sidebar .btn-tab .btn {
3829
3951
  justify-content: flex-start;
3830
3952
  }
@@ -4167,14 +4289,14 @@ body.dark .logs-raw-only-title {
4167
4289
  color: rgba(248, 250, 252, 0.82);
4168
4290
  }
4169
4291
  .logs-page-controls {
4170
- --logs-action-slot-width: 342px;
4171
- display: grid;
4172
- grid-template-columns: var(--logs-action-slot-width) auto;
4292
+ display: flex;
4173
4293
  align-items: center;
4174
4294
  justify-content: flex-end;
4175
- justify-items: end;
4176
4295
  gap: 8px;
4296
+ flex: 1 1 auto;
4297
+ min-width: 0;
4177
4298
  max-width: 100%;
4299
+ margin-left: auto;
4178
4300
  }
4179
4301
  .logs-view-switch {
4180
4302
  display: inline-flex;
@@ -4218,13 +4340,11 @@ body.dark .logs-view-tab.is-active {
4218
4340
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.075);
4219
4341
  }
4220
4342
  .logs-action-group {
4221
- grid-column: 1;
4222
- grid-row: 1;
4223
4343
  display: inline-flex;
4224
4344
  align-items: center;
4225
4345
  justify-content: flex-end;
4226
4346
  gap: 6px;
4227
- width: 100%;
4347
+ width: auto;
4228
4348
  min-height: 28px;
4229
4349
  flex-wrap: nowrap;
4230
4350
  }
@@ -4244,8 +4364,7 @@ body.dark .logs-view-tab.is-active {
4244
4364
  text-decoration: none;
4245
4365
  }
4246
4366
  .logs-close-button {
4247
- grid-column: 2;
4248
- grid-row: 1;
4367
+ flex: 0 0 auto;
4249
4368
  }
4250
4369
  .logs-icon-button:hover,
4251
4370
  .logs-icon-button:focus-visible {
@@ -4265,8 +4384,7 @@ body.dark .logs-icon-button:focus-visible {
4265
4384
  }
4266
4385
  .logs-page[data-view="latest"] [data-logs-actions="raw"],
4267
4386
  .logs-page[data-view="raw"] [data-logs-actions="latest"] {
4268
- visibility: hidden;
4269
- pointer-events: none;
4387
+ display: none;
4270
4388
  }
4271
4389
  .logs-page[data-view="latest"] .logs-raw-view,
4272
4390
  .logs-page[data-view="raw"] .logs-latest-view {
@@ -4757,7 +4875,7 @@ body.dark .logs-draft-status.is-error {
4757
4875
  overflow-wrap: anywhere;
4758
4876
  }
4759
4877
  body.dark .logs-report-output {
4760
- background: #090b10;
4878
+ background: #1b1c1d;
4761
4879
  color: rgba(248, 250, 252, 0.9);
4762
4880
  }
4763
4881
  .logs-mask-token {
@@ -5515,14 +5633,11 @@ body.dark .logs-viewer-output {
5515
5633
  width: 100%;
5516
5634
  }
5517
5635
  .logs-page-controls {
5518
- grid-template-columns: 1fr auto;
5519
- justify-content: stretch;
5520
- justify-items: stretch;
5636
+ justify-content: flex-end;
5637
+ flex-wrap: wrap;
5521
5638
  width: 100%;
5522
5639
  }
5523
5640
  .logs-view-switch {
5524
- grid-column: 1;
5525
- grid-row: auto;
5526
5641
  width: 100%;
5527
5642
  }
5528
5643
  .logs-view-tab {
@@ -5530,16 +5645,12 @@ body.dark .logs-viewer-output {
5530
5645
  min-width: 0;
5531
5646
  }
5532
5647
  .logs-action-group {
5533
- grid-column: 1;
5534
- grid-row: auto;
5535
- width: 100%;
5536
5648
  min-width: 0;
5537
- justify-content: flex-start;
5649
+ justify-content: flex-end;
5538
5650
  flex-wrap: wrap;
5539
5651
  }
5540
5652
  .logs-icon-button {
5541
- grid-column: 2;
5542
- grid-row: 1;
5653
+ flex: 0 0 auto;
5543
5654
  }
5544
5655
  .logs-section-control {
5545
5656
  grid-template-columns: auto minmax(0, 1fr);
@@ -5549,10 +5660,6 @@ body.dark .logs-viewer-output {
5549
5660
  width: 100%;
5550
5661
  max-width: none;
5551
5662
  }
5552
- .logs-page[data-view="latest"] [data-logs-actions="raw"],
5553
- .logs-page[data-view="raw"] [data-logs-actions="latest"] {
5554
- display: none;
5555
- }
5556
5663
  .logs-viewer-header {
5557
5664
  flex-direction: column;
5558
5665
  align-items: flex-start;