pi-studio 0.9.50 → 0.9.52

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.
package/client/studio.css CHANGED
@@ -29,7 +29,7 @@
29
29
  justify-content: space-between;
30
30
  }
31
31
 
32
- h1 {
32
+ body > header h1 {
33
33
  margin: 0;
34
34
  font-size: 18px;
35
35
  font-weight: 600;
@@ -182,6 +182,16 @@
182
182
  display: none !important;
183
183
  }
184
184
 
185
+ .export-preview-menu-separator {
186
+ height: 1px;
187
+ margin: 6px 4px;
188
+ background: var(--panel-border);
189
+ }
190
+
191
+ .export-preview-menu-separator[hidden] {
192
+ display: none !important;
193
+ }
194
+
185
195
  .export-preview-menu button {
186
196
  display: block;
187
197
  width: 100%;
@@ -192,6 +202,10 @@
192
202
  font-weight: 450;
193
203
  }
194
204
 
205
+ .export-preview-menu button[hidden] {
206
+ display: none !important;
207
+ }
208
+
195
209
  .export-preview-menu button:not(:disabled):hover,
196
210
  .export-preview-menu button:not(:disabled):focus-visible {
197
211
  background: var(--panel-2);
@@ -1172,6 +1186,7 @@
1172
1186
  .rendered-markdown h4,
1173
1187
  .rendered-markdown h5,
1174
1188
  .rendered-markdown h6 {
1189
+ display: block;
1175
1190
  margin-top: 1.2em;
1176
1191
  margin-bottom: 0.5em;
1177
1192
  line-height: 1.25;
@@ -1180,17 +1195,39 @@
1180
1195
  }
1181
1196
 
1182
1197
  .rendered-markdown h1 {
1183
- font-size: 1.6em;
1198
+ font-size: 1.7em;
1199
+ font-weight: 720;
1184
1200
  border-bottom: 0;
1185
1201
  padding-bottom: 0;
1186
1202
  }
1187
1203
 
1188
1204
  .rendered-markdown h2 {
1189
- font-size: 1.25em;
1205
+ font-size: 1.4em;
1206
+ font-weight: 700;
1190
1207
  border-bottom: 0;
1191
1208
  padding-bottom: 0;
1192
1209
  }
1193
1210
 
1211
+ .rendered-markdown h3 {
1212
+ font-size: 1.2em;
1213
+ font-weight: 680;
1214
+ }
1215
+
1216
+ .rendered-markdown h4 {
1217
+ font-size: 1.08em;
1218
+ font-weight: 660;
1219
+ }
1220
+
1221
+ .rendered-markdown h5 {
1222
+ font-size: 1em;
1223
+ font-weight: 650;
1224
+ }
1225
+
1226
+ .rendered-markdown h6 {
1227
+ font-size: 0.92em;
1228
+ font-weight: 650;
1229
+ }
1230
+
1194
1231
  .rendered-markdown #title-block-header {
1195
1232
  text-align: center;
1196
1233
  margin-bottom: 2em;
@@ -1757,6 +1794,7 @@
1757
1794
  }
1758
1795
 
1759
1796
  .rendered-markdown .studio-pdf-preview {
1797
+ position: relative;
1760
1798
  display: block;
1761
1799
  max-width: 100%;
1762
1800
  border: 1px solid var(--md-table-border);
@@ -1766,6 +1804,10 @@
1766
1804
  line-height: 0;
1767
1805
  }
1768
1806
 
1807
+ .rendered-markdown .studio-pdf-preview-focus-target {
1808
+ cursor: zoom-in;
1809
+ }
1810
+
1769
1811
  .rendered-markdown .studio-pdf-preview[data-fig-align="center"] {
1770
1812
  margin-left: auto;
1771
1813
  margin-right: auto;
@@ -1871,6 +1913,19 @@
1871
1913
  border-color: var(--control-border);
1872
1914
  }
1873
1915
 
1916
+ .rendered-markdown button.studio-pdf-card-action[data-studio-action-feedback="success"],
1917
+ .studio-pdf-focus-btn[data-studio-action-feedback="success"] {
1918
+ background: var(--accent-soft);
1919
+ color: var(--accent);
1920
+ border-color: color-mix(in srgb, var(--accent) 45%, var(--control-border));
1921
+ }
1922
+
1923
+ .rendered-markdown button.studio-pdf-card-action[data-studio-action-feedback="warning"],
1924
+ .studio-pdf-focus-btn[data-studio-action-feedback="warning"] {
1925
+ color: var(--warn);
1926
+ border-color: color-mix(in srgb, var(--warn) 45%, var(--control-border));
1927
+ }
1928
+
1874
1929
  .rendered-markdown button.studio-pdf-card-auto-refresh[aria-pressed="true"] {
1875
1930
  background: transparent;
1876
1931
  color: var(--accent);
@@ -1886,13 +1941,14 @@
1886
1941
  }
1887
1942
 
1888
1943
  .rendered-markdown button.studio-pdf-card-focus {
1889
- width: 29px;
1944
+ width: auto;
1890
1945
  min-width: 29px;
1891
1946
  min-height: 29px;
1892
- padding: 0;
1947
+ padding: 0 8px;
1893
1948
  display: inline-flex;
1894
1949
  align-items: center;
1895
1950
  justify-content: center;
1951
+ gap: 5px;
1896
1952
  }
1897
1953
 
1898
1954
  .rendered-markdown button.studio-pdf-card-focus .studio-refresh-icon {
@@ -2065,6 +2121,10 @@
2065
2121
  height: 14px;
2066
2122
  }
2067
2123
 
2124
+ .studio-pdf-focus-fullscreen[hidden] {
2125
+ display: none !important;
2126
+ }
2127
+
2068
2128
  .studio-pdf-focus-fullscreen,
2069
2129
  .studio-pdf-focus-close {
2070
2130
  width: 29px;
@@ -5419,7 +5479,7 @@
5419
5479
  gap: 9px;
5420
5480
  }
5421
5481
 
5422
- body.studio-ui-refresh h1 {
5482
+ body.studio-ui-refresh > header h1 {
5423
5483
  font-size: 16px;
5424
5484
  }
5425
5485
 
@@ -6308,6 +6368,476 @@
6308
6368
  outline: none;
6309
6369
  }
6310
6370
 
6371
+ #critiqueView.side-question-host {
6372
+ padding: 0;
6373
+ background: var(--bg);
6374
+ }
6375
+
6376
+ .side-question-empty,
6377
+ .side-question-thread {
6378
+ box-sizing: border-box;
6379
+ width: min(100%, 920px);
6380
+ min-height: 100%;
6381
+ margin: 0 auto;
6382
+ padding: 22px;
6383
+ color: var(--text);
6384
+ }
6385
+
6386
+ .side-question-intro h2,
6387
+ .side-question-thread-header h2 {
6388
+ margin: 0;
6389
+ color: var(--md-heading);
6390
+ font-size: 1.25rem;
6391
+ }
6392
+
6393
+ .side-question-intro p,
6394
+ .side-question-thread-header p {
6395
+ margin: 5px 0 0;
6396
+ color: var(--muted);
6397
+ line-height: 1.48;
6398
+ }
6399
+
6400
+ .side-question-context-grid {
6401
+ display: grid;
6402
+ grid-template-columns: repeat(3, minmax(0, 1fr));
6403
+ gap: 10px;
6404
+ margin-top: 20px;
6405
+ }
6406
+
6407
+ .side-question-context-grid label,
6408
+ .side-question-path-label,
6409
+ .side-question-composer-label {
6410
+ display: grid;
6411
+ gap: 6px;
6412
+ min-width: 0;
6413
+ color: var(--muted);
6414
+ font-size: 0.82rem;
6415
+ font-weight: 650;
6416
+ }
6417
+
6418
+ .side-question-context-rule {
6419
+ margin: 9px 0 0;
6420
+ color: var(--muted);
6421
+ font-size: 0.78rem;
6422
+ line-height: 1.42;
6423
+ }
6424
+
6425
+ .side-question-context-rule summary {
6426
+ cursor: pointer;
6427
+ font-weight: 600;
6428
+ }
6429
+
6430
+ .side-question-context-rule[open] summary {
6431
+ color: var(--text);
6432
+ }
6433
+
6434
+ .side-question-context-rule p {
6435
+ margin: 6px 0 0 18px;
6436
+ }
6437
+
6438
+ .side-question-context-grid select,
6439
+ .side-question-path-label input,
6440
+ .side-question-composer-label textarea {
6441
+ box-sizing: border-box;
6442
+ width: 100%;
6443
+ min-width: 0;
6444
+ border: 1px solid var(--border);
6445
+ border-radius: 9px;
6446
+ background: var(--panel);
6447
+ color: var(--text);
6448
+ font: inherit;
6449
+ }
6450
+
6451
+ .side-question-context-grid select,
6452
+ .side-question-path-label input {
6453
+ min-height: 36px;
6454
+ padding: 7px 9px;
6455
+ }
6456
+
6457
+ .side-question-path-label {
6458
+ margin-top: 10px;
6459
+ }
6460
+
6461
+ .side-question-checks {
6462
+ display: flex;
6463
+ flex-wrap: wrap;
6464
+ gap: 9px 18px;
6465
+ margin-top: 14px;
6466
+ color: var(--muted);
6467
+ font-size: 0.84rem;
6468
+ }
6469
+
6470
+ .side-question-checks label {
6471
+ display: inline-flex;
6472
+ align-items: center;
6473
+ gap: 7px;
6474
+ }
6475
+
6476
+ .side-question-tool-picker,
6477
+ .side-question-tool-empty {
6478
+ margin-top: 14px;
6479
+ border: 1px solid var(--border);
6480
+ border-radius: 10px;
6481
+ background: var(--panel);
6482
+ color: var(--muted);
6483
+ padding: 10px 12px;
6484
+ font-size: 0.81rem;
6485
+ }
6486
+
6487
+ .side-question-tool-picker summary {
6488
+ cursor: pointer;
6489
+ color: var(--text);
6490
+ font-weight: 680;
6491
+ }
6492
+
6493
+ .side-question-tool-picker > p {
6494
+ margin: 9px 0 10px;
6495
+ line-height: 1.42;
6496
+ }
6497
+
6498
+ .side-question-tool-empty {
6499
+ display: grid;
6500
+ gap: 4px;
6501
+ }
6502
+
6503
+ .side-question-tool-empty strong {
6504
+ color: var(--text);
6505
+ }
6506
+
6507
+ .side-question-tool-groups {
6508
+ display: grid;
6509
+ grid-template-columns: repeat(auto-fit, minmax(245px, 1fr));
6510
+ gap: 9px;
6511
+ }
6512
+
6513
+ .side-question-tool-group {
6514
+ min-width: 0;
6515
+ border: 1px solid color-mix(in srgb, var(--border) 82%, transparent);
6516
+ border-radius: 9px;
6517
+ background: var(--bg);
6518
+ padding: 9px;
6519
+ }
6520
+
6521
+ .side-question-tool-group h3 {
6522
+ margin: 0 0 7px;
6523
+ overflow: hidden;
6524
+ color: var(--muted);
6525
+ font-size: 0.72rem;
6526
+ font-weight: 680;
6527
+ text-overflow: ellipsis;
6528
+ white-space: nowrap;
6529
+ }
6530
+
6531
+ .side-question-tool-option {
6532
+ display: grid;
6533
+ grid-template-columns: auto minmax(0, 1fr) auto;
6534
+ align-items: start;
6535
+ gap: 7px;
6536
+ padding: 7px 5px;
6537
+ border-radius: 7px;
6538
+ cursor: pointer;
6539
+ }
6540
+
6541
+ .side-question-tool-option:hover {
6542
+ background: var(--panel-2);
6543
+ }
6544
+
6545
+ .side-question-tool-option input {
6546
+ margin-top: 2px;
6547
+ accent-color: var(--accent);
6548
+ }
6549
+
6550
+ .side-question-tool-option > span {
6551
+ display: grid;
6552
+ min-width: 0;
6553
+ gap: 2px;
6554
+ }
6555
+
6556
+ .side-question-tool-option code {
6557
+ overflow: hidden;
6558
+ color: var(--text);
6559
+ font-size: 0.79rem;
6560
+ text-overflow: ellipsis;
6561
+ white-space: nowrap;
6562
+ }
6563
+
6564
+ .side-question-tool-option small {
6565
+ display: -webkit-box;
6566
+ overflow: hidden;
6567
+ color: var(--muted);
6568
+ font-size: 0.72rem;
6569
+ font-weight: 400;
6570
+ line-height: 1.32;
6571
+ -webkit-box-orient: vertical;
6572
+ -webkit-line-clamp: 2;
6573
+ }
6574
+
6575
+ .side-question-tool-option em {
6576
+ border: 1px solid color-mix(in srgb, var(--warn) 35%, var(--border));
6577
+ border-radius: 999px;
6578
+ color: var(--warn);
6579
+ padding: 1px 5px;
6580
+ font-size: 0.65rem;
6581
+ font-style: normal;
6582
+ line-height: 1.4;
6583
+ }
6584
+
6585
+ .side-question-context-summary {
6586
+ display: grid;
6587
+ gap: 5px;
6588
+ margin-top: 16px;
6589
+ padding: 10px 12px;
6590
+ border: 1px solid color-mix(in srgb, var(--accent) 26%, var(--border));
6591
+ border-radius: 10px;
6592
+ background: color-mix(in srgb, var(--accent) 5%, var(--panel));
6593
+ color: var(--muted);
6594
+ font-size: 0.81rem;
6595
+ line-height: 1.4;
6596
+ }
6597
+
6598
+ .side-question-context-summary > div {
6599
+ display: grid;
6600
+ grid-template-columns: 92px minmax(0, 1fr);
6601
+ gap: 9px;
6602
+ min-width: 0;
6603
+ }
6604
+
6605
+ .side-question-context-summary dt {
6606
+ color: var(--text);
6607
+ font-weight: 650;
6608
+ }
6609
+
6610
+ .side-question-context-summary dd {
6611
+ min-width: 0;
6612
+ margin: 0;
6613
+ overflow-wrap: anywhere;
6614
+ }
6615
+
6616
+ .side-question-composer-label {
6617
+ margin-top: 17px;
6618
+ }
6619
+
6620
+ .side-question-composer-label textarea {
6621
+ min-height: 78px;
6622
+ resize: vertical;
6623
+ padding: 10px 11px;
6624
+ color: var(--text);
6625
+ font-family: var(--font-prose);
6626
+ font-size: 0.92rem;
6627
+ font-weight: 400;
6628
+ line-height: 1.5;
6629
+ }
6630
+
6631
+ .side-question-actions,
6632
+ .side-question-result-actions {
6633
+ display: flex;
6634
+ flex-wrap: wrap;
6635
+ gap: 8px;
6636
+ margin-top: 11px;
6637
+ }
6638
+
6639
+ .side-question-actions button,
6640
+ .side-question-result-actions button,
6641
+ .side-question-thread-header button {
6642
+ min-height: 34px;
6643
+ border: 1px solid var(--border);
6644
+ border-radius: 9px;
6645
+ background: var(--panel);
6646
+ color: var(--text);
6647
+ padding: 7px 11px;
6648
+ font: inherit;
6649
+ cursor: pointer;
6650
+ }
6651
+
6652
+ .side-question-actions button:disabled,
6653
+ .side-question-result-actions button:disabled,
6654
+ .side-question-thread-header button:disabled {
6655
+ cursor: default;
6656
+ opacity: 0.5;
6657
+ }
6658
+
6659
+ .side-question-actions .side-question-primary {
6660
+ border-color: var(--accent);
6661
+ background: var(--accent);
6662
+ color: var(--accent-contrast);
6663
+ font-weight: 680;
6664
+ }
6665
+
6666
+ .side-question-actions .side-question-primary:not(:disabled):hover {
6667
+ border-color: var(--accent);
6668
+ background: var(--accent);
6669
+ color: var(--accent-contrast);
6670
+ filter: brightness(0.95);
6671
+ }
6672
+
6673
+ .side-question-actions .side-question-stop {
6674
+ border-color: var(--warn-border);
6675
+ color: var(--warn);
6676
+ font-weight: 650;
6677
+ }
6678
+
6679
+ .side-question-thread-header {
6680
+ display: flex;
6681
+ align-items: flex-start;
6682
+ justify-content: space-between;
6683
+ gap: 14px;
6684
+ }
6685
+
6686
+ .side-question-context-chips {
6687
+ display: flex;
6688
+ flex-wrap: wrap;
6689
+ gap: 6px;
6690
+ margin: 14px 0 18px;
6691
+ }
6692
+
6693
+ .side-question-context-chips span {
6694
+ max-width: 100%;
6695
+ overflow: hidden;
6696
+ text-overflow: ellipsis;
6697
+ white-space: nowrap;
6698
+ border: 1px solid var(--border);
6699
+ border-radius: 999px;
6700
+ background: var(--panel);
6701
+ color: var(--muted);
6702
+ padding: 4px 8px;
6703
+ font-size: 0.74rem;
6704
+ }
6705
+
6706
+ .side-question-transcript {
6707
+ display: grid;
6708
+ gap: 12px;
6709
+ }
6710
+
6711
+ .side-question-message {
6712
+ min-width: 0;
6713
+ border: 1px solid var(--border);
6714
+ border-radius: 12px;
6715
+ padding: 12px 14px;
6716
+ background: var(--panel);
6717
+ }
6718
+
6719
+ .side-question-message-user {
6720
+ margin-left: min(14%, 90px);
6721
+ background: color-mix(in srgb, var(--accent) 7%, var(--panel));
6722
+ border-color: color-mix(in srgb, var(--accent) 25%, var(--border));
6723
+ }
6724
+
6725
+ .side-question-message-label {
6726
+ margin-bottom: 7px;
6727
+ color: var(--muted);
6728
+ font-size: 0.73rem;
6729
+ font-weight: 720;
6730
+ letter-spacing: 0.03em;
6731
+ text-transform: uppercase;
6732
+ }
6733
+
6734
+ .side-question-message-body {
6735
+ min-width: 0;
6736
+ line-height: 1.55;
6737
+ }
6738
+
6739
+ .side-question-plain,
6740
+ .side-question-markdown-fallback {
6741
+ white-space: pre-wrap;
6742
+ overflow-wrap: anywhere;
6743
+ }
6744
+
6745
+ .side-question-message-body > :first-child {
6746
+ margin-top: 0;
6747
+ }
6748
+
6749
+ .side-question-message-body > :last-child {
6750
+ margin-bottom: 0;
6751
+ }
6752
+
6753
+ .side-question-live {
6754
+ color: var(--accent);
6755
+ animation: side-question-pulse 1s ease-in-out infinite alternate;
6756
+ }
6757
+
6758
+ @keyframes side-question-pulse {
6759
+ from { opacity: 0.35; }
6760
+ to { opacity: 1; }
6761
+ }
6762
+
6763
+ .side-question-activity {
6764
+ margin-top: 14px;
6765
+ border: 1px solid var(--border);
6766
+ border-radius: 9px;
6767
+ background: var(--panel);
6768
+ color: var(--muted);
6769
+ padding: 8px 11px;
6770
+ font-size: 0.79rem;
6771
+ }
6772
+
6773
+ .side-question-activity summary {
6774
+ cursor: pointer;
6775
+ color: var(--text);
6776
+ font-weight: 650;
6777
+ }
6778
+
6779
+ .side-question-activity ul {
6780
+ display: grid;
6781
+ gap: 5px;
6782
+ margin: 9px 0 0;
6783
+ padding: 0;
6784
+ list-style: none;
6785
+ }
6786
+
6787
+ .side-question-activity li {
6788
+ display: grid;
6789
+ grid-template-columns: 14px minmax(0, 1fr);
6790
+ gap: 6px;
6791
+ overflow-wrap: anywhere;
6792
+ }
6793
+
6794
+ .side-question-activity-running span {
6795
+ color: var(--accent);
6796
+ }
6797
+
6798
+ .side-question-activity-error span,
6799
+ .side-question-error {
6800
+ color: var(--error);
6801
+ }
6802
+
6803
+ .side-question-error {
6804
+ margin-top: 12px;
6805
+ border: 1px solid color-mix(in srgb, var(--error) 45%, var(--border));
6806
+ border-radius: 9px;
6807
+ background: var(--error-soft);
6808
+ padding: 9px 11px;
6809
+ font-size: 0.84rem;
6810
+ white-space: pre-wrap;
6811
+ }
6812
+
6813
+ #askAsideBtn.request-active {
6814
+ color: var(--accent);
6815
+ background: transparent;
6816
+ border-color: transparent;
6817
+ }
6818
+
6819
+ @container (max-width: 679px) {
6820
+ .side-question-context-grid,
6821
+ .side-question-tool-groups {
6822
+ grid-template-columns: minmax(0, 1fr);
6823
+ }
6824
+
6825
+ .side-question-empty,
6826
+ .side-question-thread {
6827
+ padding: 15px;
6828
+ }
6829
+
6830
+ .side-question-message-user {
6831
+ margin-left: 0;
6832
+ }
6833
+ }
6834
+
6835
+ @media (prefers-reduced-motion: reduce) {
6836
+ .side-question-live {
6837
+ animation: none;
6838
+ }
6839
+ }
6840
+
6311
6841
  @container (max-width: 680px) {
6312
6842
  body.studio-ui-refresh #leftSectionHeader .studio-refresh-header-top {
6313
6843
  grid-template-columns: minmax(0, 1fr);