pi-studio 0.9.49 → 0.9.51

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
@@ -59,28 +59,77 @@
59
59
  flex-wrap: wrap;
60
60
  }
61
61
 
62
- .zen-mode-btn {
62
+ .zen-mode-btn,
63
+ .header-visibility-btn {
63
64
  font-weight: inherit;
64
65
  white-space: nowrap;
65
66
  }
66
67
 
67
- body.studio-zen-mode > header {
68
- padding: 8px 12px;
68
+ body.studio-header-hidden > #studioHeader,
69
+ body.studio-zen-mode > #studioHeader {
70
+ display: none !important;
69
71
  }
70
72
 
71
- body.studio-zen-mode .app-subtitle {
72
- display: none;
73
+ .studio-header-reveal {
74
+ position: fixed;
75
+ top: 0;
76
+ right: max(8px, env(safe-area-inset-right));
77
+ z-index: 60;
78
+ width: 118px;
79
+ height: 10px;
80
+ cursor: pointer;
73
81
  }
74
82
 
75
- body.studio-zen-mode > header .controls > :not(#zenModeBtn) {
83
+ .studio-header-reveal[hidden] {
76
84
  display: none !important;
77
85
  }
78
86
 
79
- body.studio-zen-mode #zenModeBtn {
87
+ .studio-header-reveal::after {
88
+ content: "";
89
+ position: absolute;
90
+ right: 10px;
91
+ bottom: 2px;
92
+ left: 10px;
93
+ height: 3px;
94
+ border-radius: 999px;
95
+ background: var(--accent);
96
+ opacity: 0.62;
97
+ pointer-events: none;
98
+ }
99
+
100
+ .studio-header-reveal button {
101
+ position: absolute;
102
+ top: 0;
103
+ right: 0;
104
+ min-width: 100%;
105
+ min-height: 32px;
106
+ padding: 5px 10px;
107
+ border-top: 0;
108
+ border-radius: 0 0 9px 9px;
80
109
  background: var(--panel);
81
- border-color: var(--control-border);
82
110
  color: var(--text);
83
- font-weight: inherit;
111
+ box-shadow: 0 8px 24px var(--shadow-color);
112
+ white-space: nowrap;
113
+ transform: translateY(calc(-100% + 5px));
114
+ transition: transform 140ms ease;
115
+ }
116
+
117
+ .studio-header-reveal.is-open button,
118
+ .studio-header-reveal:hover button,
119
+ .studio-header-reveal:focus-within button {
120
+ transform: translateY(0);
121
+ }
122
+
123
+ .studio-header-reveal button:not(:disabled):hover,
124
+ .studio-header-reveal button:focus-visible {
125
+ background: var(--panel-2);
126
+ color: var(--accent);
127
+ }
128
+
129
+ @media (prefers-reduced-motion: reduce) {
130
+ .studio-header-reveal button {
131
+ transition: none;
132
+ }
84
133
  }
85
134
 
86
135
  .export-preview-controls {
@@ -133,6 +182,16 @@
133
182
  display: none !important;
134
183
  }
135
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
+
136
195
  .export-preview-menu button {
137
196
  display: block;
138
197
  width: 100%;
@@ -5388,10 +5447,6 @@
5388
5447
  gap: 5px;
5389
5448
  }
5390
5449
 
5391
- body.studio-ui-refresh.studio-zen-mode > header {
5392
- padding: 7px 12px;
5393
- }
5394
-
5395
5450
  body.studio-ui-refresh > header button,
5396
5451
  body.studio-ui-refresh #responseActions button,
5397
5452
  body.studio-ui-refresh #responseActions select {
@@ -6263,6 +6318,476 @@
6263
6318
  outline: none;
6264
6319
  }
6265
6320
 
6321
+ #critiqueView.side-question-host {
6322
+ padding: 0;
6323
+ background: var(--bg);
6324
+ }
6325
+
6326
+ .side-question-empty,
6327
+ .side-question-thread {
6328
+ box-sizing: border-box;
6329
+ width: min(100%, 920px);
6330
+ min-height: 100%;
6331
+ margin: 0 auto;
6332
+ padding: 22px;
6333
+ color: var(--text);
6334
+ }
6335
+
6336
+ .side-question-intro h2,
6337
+ .side-question-thread-header h2 {
6338
+ margin: 0;
6339
+ color: var(--md-heading);
6340
+ font-size: 1.25rem;
6341
+ }
6342
+
6343
+ .side-question-intro p,
6344
+ .side-question-thread-header p {
6345
+ margin: 5px 0 0;
6346
+ color: var(--muted);
6347
+ line-height: 1.48;
6348
+ }
6349
+
6350
+ .side-question-context-grid {
6351
+ display: grid;
6352
+ grid-template-columns: repeat(3, minmax(0, 1fr));
6353
+ gap: 10px;
6354
+ margin-top: 20px;
6355
+ }
6356
+
6357
+ .side-question-context-grid label,
6358
+ .side-question-path-label,
6359
+ .side-question-composer-label {
6360
+ display: grid;
6361
+ gap: 6px;
6362
+ min-width: 0;
6363
+ color: var(--muted);
6364
+ font-size: 0.82rem;
6365
+ font-weight: 650;
6366
+ }
6367
+
6368
+ .side-question-context-rule {
6369
+ margin: 9px 0 0;
6370
+ color: var(--muted);
6371
+ font-size: 0.78rem;
6372
+ line-height: 1.42;
6373
+ }
6374
+
6375
+ .side-question-context-rule summary {
6376
+ cursor: pointer;
6377
+ font-weight: 600;
6378
+ }
6379
+
6380
+ .side-question-context-rule[open] summary {
6381
+ color: var(--text);
6382
+ }
6383
+
6384
+ .side-question-context-rule p {
6385
+ margin: 6px 0 0 18px;
6386
+ }
6387
+
6388
+ .side-question-context-grid select,
6389
+ .side-question-path-label input,
6390
+ .side-question-composer-label textarea {
6391
+ box-sizing: border-box;
6392
+ width: 100%;
6393
+ min-width: 0;
6394
+ border: 1px solid var(--border);
6395
+ border-radius: 9px;
6396
+ background: var(--panel);
6397
+ color: var(--text);
6398
+ font: inherit;
6399
+ }
6400
+
6401
+ .side-question-context-grid select,
6402
+ .side-question-path-label input {
6403
+ min-height: 36px;
6404
+ padding: 7px 9px;
6405
+ }
6406
+
6407
+ .side-question-path-label {
6408
+ margin-top: 10px;
6409
+ }
6410
+
6411
+ .side-question-checks {
6412
+ display: flex;
6413
+ flex-wrap: wrap;
6414
+ gap: 9px 18px;
6415
+ margin-top: 14px;
6416
+ color: var(--muted);
6417
+ font-size: 0.84rem;
6418
+ }
6419
+
6420
+ .side-question-checks label {
6421
+ display: inline-flex;
6422
+ align-items: center;
6423
+ gap: 7px;
6424
+ }
6425
+
6426
+ .side-question-tool-picker,
6427
+ .side-question-tool-empty {
6428
+ margin-top: 14px;
6429
+ border: 1px solid var(--border);
6430
+ border-radius: 10px;
6431
+ background: var(--panel);
6432
+ color: var(--muted);
6433
+ padding: 10px 12px;
6434
+ font-size: 0.81rem;
6435
+ }
6436
+
6437
+ .side-question-tool-picker summary {
6438
+ cursor: pointer;
6439
+ color: var(--text);
6440
+ font-weight: 680;
6441
+ }
6442
+
6443
+ .side-question-tool-picker > p {
6444
+ margin: 9px 0 10px;
6445
+ line-height: 1.42;
6446
+ }
6447
+
6448
+ .side-question-tool-empty {
6449
+ display: grid;
6450
+ gap: 4px;
6451
+ }
6452
+
6453
+ .side-question-tool-empty strong {
6454
+ color: var(--text);
6455
+ }
6456
+
6457
+ .side-question-tool-groups {
6458
+ display: grid;
6459
+ grid-template-columns: repeat(auto-fit, minmax(245px, 1fr));
6460
+ gap: 9px;
6461
+ }
6462
+
6463
+ .side-question-tool-group {
6464
+ min-width: 0;
6465
+ border: 1px solid color-mix(in srgb, var(--border) 82%, transparent);
6466
+ border-radius: 9px;
6467
+ background: var(--bg);
6468
+ padding: 9px;
6469
+ }
6470
+
6471
+ .side-question-tool-group h3 {
6472
+ margin: 0 0 7px;
6473
+ overflow: hidden;
6474
+ color: var(--muted);
6475
+ font-size: 0.72rem;
6476
+ font-weight: 680;
6477
+ text-overflow: ellipsis;
6478
+ white-space: nowrap;
6479
+ }
6480
+
6481
+ .side-question-tool-option {
6482
+ display: grid;
6483
+ grid-template-columns: auto minmax(0, 1fr) auto;
6484
+ align-items: start;
6485
+ gap: 7px;
6486
+ padding: 7px 5px;
6487
+ border-radius: 7px;
6488
+ cursor: pointer;
6489
+ }
6490
+
6491
+ .side-question-tool-option:hover {
6492
+ background: var(--panel-2);
6493
+ }
6494
+
6495
+ .side-question-tool-option input {
6496
+ margin-top: 2px;
6497
+ accent-color: var(--accent);
6498
+ }
6499
+
6500
+ .side-question-tool-option > span {
6501
+ display: grid;
6502
+ min-width: 0;
6503
+ gap: 2px;
6504
+ }
6505
+
6506
+ .side-question-tool-option code {
6507
+ overflow: hidden;
6508
+ color: var(--text);
6509
+ font-size: 0.79rem;
6510
+ text-overflow: ellipsis;
6511
+ white-space: nowrap;
6512
+ }
6513
+
6514
+ .side-question-tool-option small {
6515
+ display: -webkit-box;
6516
+ overflow: hidden;
6517
+ color: var(--muted);
6518
+ font-size: 0.72rem;
6519
+ font-weight: 400;
6520
+ line-height: 1.32;
6521
+ -webkit-box-orient: vertical;
6522
+ -webkit-line-clamp: 2;
6523
+ }
6524
+
6525
+ .side-question-tool-option em {
6526
+ border: 1px solid color-mix(in srgb, var(--warn) 35%, var(--border));
6527
+ border-radius: 999px;
6528
+ color: var(--warn);
6529
+ padding: 1px 5px;
6530
+ font-size: 0.65rem;
6531
+ font-style: normal;
6532
+ line-height: 1.4;
6533
+ }
6534
+
6535
+ .side-question-context-summary {
6536
+ display: grid;
6537
+ gap: 5px;
6538
+ margin-top: 16px;
6539
+ padding: 10px 12px;
6540
+ border: 1px solid color-mix(in srgb, var(--accent) 26%, var(--border));
6541
+ border-radius: 10px;
6542
+ background: color-mix(in srgb, var(--accent) 5%, var(--panel));
6543
+ color: var(--muted);
6544
+ font-size: 0.81rem;
6545
+ line-height: 1.4;
6546
+ }
6547
+
6548
+ .side-question-context-summary > div {
6549
+ display: grid;
6550
+ grid-template-columns: 92px minmax(0, 1fr);
6551
+ gap: 9px;
6552
+ min-width: 0;
6553
+ }
6554
+
6555
+ .side-question-context-summary dt {
6556
+ color: var(--text);
6557
+ font-weight: 650;
6558
+ }
6559
+
6560
+ .side-question-context-summary dd {
6561
+ min-width: 0;
6562
+ margin: 0;
6563
+ overflow-wrap: anywhere;
6564
+ }
6565
+
6566
+ .side-question-composer-label {
6567
+ margin-top: 17px;
6568
+ }
6569
+
6570
+ .side-question-composer-label textarea {
6571
+ min-height: 78px;
6572
+ resize: vertical;
6573
+ padding: 10px 11px;
6574
+ color: var(--text);
6575
+ font-family: var(--font-prose);
6576
+ font-size: 0.92rem;
6577
+ font-weight: 400;
6578
+ line-height: 1.5;
6579
+ }
6580
+
6581
+ .side-question-actions,
6582
+ .side-question-result-actions {
6583
+ display: flex;
6584
+ flex-wrap: wrap;
6585
+ gap: 8px;
6586
+ margin-top: 11px;
6587
+ }
6588
+
6589
+ .side-question-actions button,
6590
+ .side-question-result-actions button,
6591
+ .side-question-thread-header button {
6592
+ min-height: 34px;
6593
+ border: 1px solid var(--border);
6594
+ border-radius: 9px;
6595
+ background: var(--panel);
6596
+ color: var(--text);
6597
+ padding: 7px 11px;
6598
+ font: inherit;
6599
+ cursor: pointer;
6600
+ }
6601
+
6602
+ .side-question-actions button:disabled,
6603
+ .side-question-result-actions button:disabled,
6604
+ .side-question-thread-header button:disabled {
6605
+ cursor: default;
6606
+ opacity: 0.5;
6607
+ }
6608
+
6609
+ .side-question-actions .side-question-primary {
6610
+ border-color: var(--accent);
6611
+ background: var(--accent);
6612
+ color: var(--accent-contrast);
6613
+ font-weight: 680;
6614
+ }
6615
+
6616
+ .side-question-actions .side-question-primary:not(:disabled):hover {
6617
+ border-color: var(--accent);
6618
+ background: var(--accent);
6619
+ color: var(--accent-contrast);
6620
+ filter: brightness(0.95);
6621
+ }
6622
+
6623
+ .side-question-actions .side-question-stop {
6624
+ border-color: var(--warn-border);
6625
+ color: var(--warn);
6626
+ font-weight: 650;
6627
+ }
6628
+
6629
+ .side-question-thread-header {
6630
+ display: flex;
6631
+ align-items: flex-start;
6632
+ justify-content: space-between;
6633
+ gap: 14px;
6634
+ }
6635
+
6636
+ .side-question-context-chips {
6637
+ display: flex;
6638
+ flex-wrap: wrap;
6639
+ gap: 6px;
6640
+ margin: 14px 0 18px;
6641
+ }
6642
+
6643
+ .side-question-context-chips span {
6644
+ max-width: 100%;
6645
+ overflow: hidden;
6646
+ text-overflow: ellipsis;
6647
+ white-space: nowrap;
6648
+ border: 1px solid var(--border);
6649
+ border-radius: 999px;
6650
+ background: var(--panel);
6651
+ color: var(--muted);
6652
+ padding: 4px 8px;
6653
+ font-size: 0.74rem;
6654
+ }
6655
+
6656
+ .side-question-transcript {
6657
+ display: grid;
6658
+ gap: 12px;
6659
+ }
6660
+
6661
+ .side-question-message {
6662
+ min-width: 0;
6663
+ border: 1px solid var(--border);
6664
+ border-radius: 12px;
6665
+ padding: 12px 14px;
6666
+ background: var(--panel);
6667
+ }
6668
+
6669
+ .side-question-message-user {
6670
+ margin-left: min(14%, 90px);
6671
+ background: color-mix(in srgb, var(--accent) 7%, var(--panel));
6672
+ border-color: color-mix(in srgb, var(--accent) 25%, var(--border));
6673
+ }
6674
+
6675
+ .side-question-message-label {
6676
+ margin-bottom: 7px;
6677
+ color: var(--muted);
6678
+ font-size: 0.73rem;
6679
+ font-weight: 720;
6680
+ letter-spacing: 0.03em;
6681
+ text-transform: uppercase;
6682
+ }
6683
+
6684
+ .side-question-message-body {
6685
+ min-width: 0;
6686
+ line-height: 1.55;
6687
+ }
6688
+
6689
+ .side-question-plain,
6690
+ .side-question-markdown-fallback {
6691
+ white-space: pre-wrap;
6692
+ overflow-wrap: anywhere;
6693
+ }
6694
+
6695
+ .side-question-message-body > :first-child {
6696
+ margin-top: 0;
6697
+ }
6698
+
6699
+ .side-question-message-body > :last-child {
6700
+ margin-bottom: 0;
6701
+ }
6702
+
6703
+ .side-question-live {
6704
+ color: var(--accent);
6705
+ animation: side-question-pulse 1s ease-in-out infinite alternate;
6706
+ }
6707
+
6708
+ @keyframes side-question-pulse {
6709
+ from { opacity: 0.35; }
6710
+ to { opacity: 1; }
6711
+ }
6712
+
6713
+ .side-question-activity {
6714
+ margin-top: 14px;
6715
+ border: 1px solid var(--border);
6716
+ border-radius: 9px;
6717
+ background: var(--panel);
6718
+ color: var(--muted);
6719
+ padding: 8px 11px;
6720
+ font-size: 0.79rem;
6721
+ }
6722
+
6723
+ .side-question-activity summary {
6724
+ cursor: pointer;
6725
+ color: var(--text);
6726
+ font-weight: 650;
6727
+ }
6728
+
6729
+ .side-question-activity ul {
6730
+ display: grid;
6731
+ gap: 5px;
6732
+ margin: 9px 0 0;
6733
+ padding: 0;
6734
+ list-style: none;
6735
+ }
6736
+
6737
+ .side-question-activity li {
6738
+ display: grid;
6739
+ grid-template-columns: 14px minmax(0, 1fr);
6740
+ gap: 6px;
6741
+ overflow-wrap: anywhere;
6742
+ }
6743
+
6744
+ .side-question-activity-running span {
6745
+ color: var(--accent);
6746
+ }
6747
+
6748
+ .side-question-activity-error span,
6749
+ .side-question-error {
6750
+ color: var(--error);
6751
+ }
6752
+
6753
+ .side-question-error {
6754
+ margin-top: 12px;
6755
+ border: 1px solid color-mix(in srgb, var(--error) 45%, var(--border));
6756
+ border-radius: 9px;
6757
+ background: var(--error-soft);
6758
+ padding: 9px 11px;
6759
+ font-size: 0.84rem;
6760
+ white-space: pre-wrap;
6761
+ }
6762
+
6763
+ #askAsideBtn.request-active {
6764
+ color: var(--accent);
6765
+ background: transparent;
6766
+ border-color: transparent;
6767
+ }
6768
+
6769
+ @container (max-width: 679px) {
6770
+ .side-question-context-grid,
6771
+ .side-question-tool-groups {
6772
+ grid-template-columns: minmax(0, 1fr);
6773
+ }
6774
+
6775
+ .side-question-empty,
6776
+ .side-question-thread {
6777
+ padding: 15px;
6778
+ }
6779
+
6780
+ .side-question-message-user {
6781
+ margin-left: 0;
6782
+ }
6783
+ }
6784
+
6785
+ @media (prefers-reduced-motion: reduce) {
6786
+ .side-question-live {
6787
+ animation: none;
6788
+ }
6789
+ }
6790
+
6266
6791
  @container (max-width: 680px) {
6267
6792
  body.studio-ui-refresh #leftSectionHeader .studio-refresh-header-top {
6268
6793
  grid-template-columns: minmax(0, 1fr);