@hachej/boring-workspace 0.1.33 → 0.1.35

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/dist/testing.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { jsx as Ba } from "react/jsx-runtime";
2
2
  import * as Pa from "react";
3
3
  import { createElement as is, useMemo as wn, useLayoutEffect as us, isValidElement as ss, cloneElement as ds, useSyncExternalStore as Gi } from "react";
4
- import { h as cs, q as fs, o as ps } from "./WorkspaceProvider-CuIZx1ua.js";
4
+ import { h as cs, q as fs, o as ps } from "./WorkspaceProvider-BhRPFy5R.js";
5
5
  import { d as ms } from "./panel-DnvDNQac.js";
6
6
  import * as bs from "react-dom/test-utils";
7
7
  import ka from "react-dom";
@@ -1589,15 +1589,15 @@
1589
1589
  .mt-3 {
1590
1590
  margin-top: calc(var(--spacing) * 3);
1591
1591
  }
1592
- .mt-4 {
1593
- margin-top: calc(var(--spacing) * 4);
1594
- }
1595
1592
  .mt-px {
1596
1593
  margin-top: 1px;
1597
1594
  }
1598
1595
  .mr-auto {
1599
1596
  margin-right: auto;
1600
1597
  }
1598
+ .mb-1 {
1599
+ margin-bottom: calc(var(--spacing) * 1);
1600
+ }
1601
1601
  .mb-1\.5 {
1602
1602
  margin-bottom: calc(var(--spacing) * 1.5);
1603
1603
  }
@@ -1763,6 +1763,9 @@
1763
1763
  .w-7 {
1764
1764
  width: calc(var(--spacing) * 7);
1765
1765
  }
1766
+ .w-8 {
1767
+ width: calc(var(--spacing) * 8);
1768
+ }
1766
1769
  .w-9 {
1767
1770
  width: calc(var(--spacing) * 9);
1768
1771
  }
@@ -1814,14 +1817,17 @@
1814
1817
  .min-w-\[10rem\] {
1815
1818
  min-width: 10rem;
1816
1819
  }
1820
+ .min-w-\[350px\] {
1821
+ min-width: 350px;
1822
+ }
1817
1823
  .flex-1 {
1818
1824
  flex: 1;
1819
1825
  }
1820
1826
  .flex-\[0_0_0px\] {
1821
1827
  flex: 0 0 0px;
1822
1828
  }
1823
- .flex-none {
1824
- flex: none;
1829
+ .flex-\[1_0_350px\] {
1830
+ flex: 1 0 350px;
1825
1831
  }
1826
1832
  .shrink-0 {
1827
1833
  flex-shrink: 0;
@@ -1852,6 +1858,9 @@
1852
1858
  .cursor-col-resize {
1853
1859
  cursor: col-resize;
1854
1860
  }
1861
+ .cursor-grab {
1862
+ cursor: grab;
1863
+ }
1855
1864
  .cursor-nwse-resize {
1856
1865
  cursor: nwse-resize;
1857
1866
  }
@@ -1951,6 +1960,9 @@
1951
1960
  .self-center {
1952
1961
  align-self: center;
1953
1962
  }
1963
+ .self-stretch {
1964
+ align-self: stretch;
1965
+ }
1954
1966
  .truncate {
1955
1967
  overflow: hidden;
1956
1968
  text-overflow: ellipsis;
@@ -1968,12 +1980,18 @@
1968
1980
  .overflow-y-auto {
1969
1981
  overflow-y: auto;
1970
1982
  }
1983
+ .overflow-y-hidden {
1984
+ overflow-y: hidden;
1985
+ }
1971
1986
  .rounded {
1972
1987
  border-radius: 0.25rem;
1973
1988
  }
1974
1989
  .rounded-2xl {
1975
1990
  border-radius: var(--radius-2xl);
1976
1991
  }
1992
+ .rounded-\[5px\] {
1993
+ border-radius: 5px;
1994
+ }
1977
1995
  .rounded-full {
1978
1996
  border-radius: calc(infinity * 1px);
1979
1997
  }
@@ -1992,6 +2010,10 @@
1992
2010
  .rounded-xl {
1993
2011
  border-radius: var(--boring-radius-xl);
1994
2012
  }
2013
+ .rounded-r-none {
2014
+ border-top-right-radius: 0;
2015
+ border-bottom-right-radius: 0;
2016
+ }
1995
2017
  .border {
1996
2018
  border-style: var(--tw-border-style);
1997
2019
  border-width: 1px;
@@ -2076,6 +2098,12 @@
2076
2098
  .bg-\[color\:oklch\(from_var\(--background\)_calc\(l-0\.01\)_c_h\)\] {
2077
2099
  background-color: oklch(from var(--background) calc(l - 0.01) c h);
2078
2100
  }
2101
+ .bg-\[color\:oklch\(from_var\(--border\)_l_c_h\/0\.7\)\] {
2102
+ background-color: oklch(from var(--border) l c h/0.7);
2103
+ }
2104
+ .bg-\[color\:oklch\(from_var\(--foreground\)_l_c_h\/0\.035\)\] {
2105
+ background-color: oklch(from var(--foreground) l c h/0.035);
2106
+ }
2079
2107
  .bg-\[color\:var\(--accent\)\] {
2080
2108
  background-color: var(--accent);
2081
2109
  }
@@ -2112,6 +2140,15 @@
2112
2140
  background-color: color-mix(in oklab, var(--boring-card) 60%, transparent);
2113
2141
  }
2114
2142
  }
2143
+ .bg-destructive {
2144
+ background-color: var(--boring-destructive);
2145
+ }
2146
+ .bg-destructive\/12 {
2147
+ background-color: var(--boring-destructive);
2148
+ @supports (color: color-mix(in lab, red, red)) {
2149
+ background-color: color-mix(in oklab, var(--boring-destructive) 12%, transparent);
2150
+ }
2151
+ }
2115
2152
  .bg-foreground {
2116
2153
  background-color: var(--boring-foreground);
2117
2154
  }
@@ -2121,18 +2158,42 @@
2121
2158
  background-color: color-mix(in oklab, var(--boring-foreground) 5%, transparent);
2122
2159
  }
2123
2160
  }
2161
+ .bg-foreground\/10 {
2162
+ background-color: var(--boring-foreground);
2163
+ @supports (color: color-mix(in lab, red, red)) {
2164
+ background-color: color-mix(in oklab, var(--boring-foreground) 10%, transparent);
2165
+ }
2166
+ }
2167
+ .bg-foreground\/30 {
2168
+ background-color: var(--boring-foreground);
2169
+ @supports (color: color-mix(in lab, red, red)) {
2170
+ background-color: color-mix(in oklab, var(--boring-foreground) 30%, transparent);
2171
+ }
2172
+ }
2124
2173
  .bg-foreground\/35 {
2125
2174
  background-color: var(--boring-foreground);
2126
2175
  @supports (color: color-mix(in lab, red, red)) {
2127
2176
  background-color: color-mix(in oklab, var(--boring-foreground) 35%, transparent);
2128
2177
  }
2129
2178
  }
2179
+ .bg-foreground\/70 {
2180
+ background-color: var(--boring-foreground);
2181
+ @supports (color: color-mix(in lab, red, red)) {
2182
+ background-color: color-mix(in oklab, var(--boring-foreground) 70%, transparent);
2183
+ }
2184
+ }
2130
2185
  .bg-foreground\/\[0\.06\] {
2131
2186
  background-color: var(--boring-foreground);
2132
2187
  @supports (color: color-mix(in lab, red, red)) {
2133
2188
  background-color: color-mix(in oklab, var(--boring-foreground) 6%, transparent);
2134
2189
  }
2135
2190
  }
2191
+ .bg-foreground\/\[0\.07\] {
2192
+ background-color: var(--boring-foreground);
2193
+ @supports (color: color-mix(in lab, red, red)) {
2194
+ background-color: color-mix(in oklab, var(--boring-foreground) 7.000000000000001%, transparent);
2195
+ }
2196
+ }
2136
2197
  .bg-muted {
2137
2198
  background-color: var(--boring-muted);
2138
2199
  }
@@ -2142,6 +2203,12 @@
2142
2203
  background-color: color-mix(in oklab, var(--boring-muted) 30%, transparent);
2143
2204
  }
2144
2205
  }
2206
+ .bg-muted\/35 {
2207
+ background-color: var(--boring-muted);
2208
+ @supports (color: color-mix(in lab, red, red)) {
2209
+ background-color: color-mix(in oklab, var(--boring-muted) 35%, transparent);
2210
+ }
2211
+ }
2145
2212
  .bg-muted\/40 {
2146
2213
  background-color: var(--boring-muted);
2147
2214
  @supports (color: color-mix(in lab, red, red)) {
@@ -2166,6 +2233,9 @@
2166
2233
  .bg-white {
2167
2234
  background-color: var(--color-white);
2168
2235
  }
2236
+ .fill-current {
2237
+ fill: currentcolor;
2238
+ }
2169
2239
  .object-contain {
2170
2240
  object-fit: contain;
2171
2241
  }
@@ -2220,6 +2290,9 @@
2220
2290
  .px-4 {
2221
2291
  padding-inline: calc(var(--spacing) * 4);
2222
2292
  }
2293
+ .px-5 {
2294
+ padding-inline: calc(var(--spacing) * 5);
2295
+ }
2223
2296
  .px-6 {
2224
2297
  padding-inline: calc(var(--spacing) * 6);
2225
2298
  }
@@ -2289,6 +2362,9 @@
2289
2362
  .text-left {
2290
2363
  text-align: left;
2291
2364
  }
2365
+ .text-right {
2366
+ text-align: right;
2367
+ }
2292
2368
  .align-baseline {
2293
2369
  vertical-align: baseline;
2294
2370
  }
@@ -2325,6 +2401,9 @@
2325
2401
  .text-\[13px\] {
2326
2402
  font-size: 13px;
2327
2403
  }
2404
+ .text-\[14px\] {
2405
+ font-size: 14px;
2406
+ }
2328
2407
  .text-\[15px\] {
2329
2408
  font-size: 15px;
2330
2409
  }
@@ -2417,6 +2496,12 @@
2417
2496
  .text-foreground {
2418
2497
  color: var(--boring-foreground);
2419
2498
  }
2499
+ .text-foreground\/40 {
2500
+ color: var(--boring-foreground);
2501
+ @supports (color: color-mix(in lab, red, red)) {
2502
+ color: color-mix(in oklab, var(--boring-foreground) 40%, transparent);
2503
+ }
2504
+ }
2420
2505
  .text-foreground\/65 {
2421
2506
  color: var(--boring-foreground);
2422
2507
  @supports (color: color-mix(in lab, red, red)) {
@@ -2429,6 +2514,12 @@
2429
2514
  color: color-mix(in oklab, var(--boring-foreground) 70%, transparent);
2430
2515
  }
2431
2516
  }
2517
+ .text-foreground\/80 {
2518
+ color: var(--boring-foreground);
2519
+ @supports (color: color-mix(in lab, red, red)) {
2520
+ color: color-mix(in oklab, var(--boring-foreground) 80%, transparent);
2521
+ }
2522
+ }
2432
2523
  .text-foreground\/90 {
2433
2524
  color: var(--boring-foreground);
2434
2525
  @supports (color: color-mix(in lab, red, red)) {
@@ -2502,6 +2593,9 @@
2502
2593
  .opacity-0 {
2503
2594
  opacity: 0%;
2504
2595
  }
2596
+ .opacity-60 {
2597
+ opacity: 60%;
2598
+ }
2505
2599
  .opacity-70 {
2506
2600
  opacity: 70%;
2507
2601
  }
@@ -2527,6 +2621,10 @@
2527
2621
  --tw-shadow: 0 1px 2px -1px var(--tw-shadow-color, oklch(0 0 0/0.08)), 0 12px 32px -22px var(--tw-shadow-color, oklch(0 0 0/0.28));
2528
2622
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
2529
2623
  }
2624
+ .shadow-\[inset_0_0_0_2px_oklch\(from_var\(--foreground\)_l_c_h\/0\.55\)\] {
2625
+ --tw-shadow: inset 0 0 0 2px var(--tw-shadow-color, oklch(from var(--foreground) l c h/0.55));
2626
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
2627
+ }
2530
2628
  .shadow-md {
2531
2629
  --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
2532
2630
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
@@ -2590,6 +2688,16 @@
2590
2688
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
2591
2689
  transition-duration: var(--tw-duration, var(--default-transition-duration));
2592
2690
  }
2691
+ .transition-\[background-color\,box-shadow\] {
2692
+ transition-property: background-color,box-shadow;
2693
+ transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
2694
+ transition-duration: var(--tw-duration, var(--default-transition-duration));
2695
+ }
2696
+ .transition-\[flex-grow\,flex-basis\,min-width\] {
2697
+ transition-property: flex-grow,flex-basis,min-width;
2698
+ transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
2699
+ transition-duration: var(--tw-duration, var(--default-transition-duration));
2700
+ }
2593
2701
  .transition-\[flex-grow\,flex-basis\,width\,min-width\,max-width\] {
2594
2702
  transition-property: flex-grow,flex-basis,width,min-width,max-width;
2595
2703
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
@@ -2632,6 +2740,10 @@
2632
2740
  --tw-duration: 200ms;
2633
2741
  transition-duration: 200ms;
2634
2742
  }
2743
+ .duration-\[240ms\] {
2744
+ --tw-duration: 240ms;
2745
+ transition-duration: 240ms;
2746
+ }
2635
2747
  .duration-\[280ms\] {
2636
2748
  --tw-duration: 280ms;
2637
2749
  transition-duration: 280ms;
@@ -2652,8 +2764,12 @@
2652
2764
  -webkit-user-select: none;
2653
2765
  user-select: none;
2654
2766
  }
2655
- .\[scrollbar-width\:none\] {
2656
- scrollbar-width: none;
2767
+ .group-hover\:text-muted-foreground {
2768
+ &:is(:where(.group):hover *) {
2769
+ @media (hover: hover) {
2770
+ color: var(--boring-muted-foreground);
2771
+ }
2772
+ }
2657
2773
  }
2658
2774
  .group-hover\:opacity-100 {
2659
2775
  &:is(:where(.group):hover *) {
@@ -2680,6 +2796,45 @@
2680
2796
  }
2681
2797
  }
2682
2798
  }
2799
+ .before\:absolute {
2800
+ &::before {
2801
+ content: var(--tw-content);
2802
+ position: absolute;
2803
+ }
2804
+ }
2805
+ .before\:top-0 {
2806
+ &::before {
2807
+ content: var(--tw-content);
2808
+ top: calc(var(--spacing) * 0);
2809
+ }
2810
+ }
2811
+ .before\:-right-1\.5 {
2812
+ &::before {
2813
+ content: var(--tw-content);
2814
+ right: calc(var(--spacing) * -1.5);
2815
+ }
2816
+ }
2817
+ .before\:h-full {
2818
+ &::before {
2819
+ content: var(--tw-content);
2820
+ height: 100%;
2821
+ }
2822
+ }
2823
+ .before\:w-1\.5 {
2824
+ &::before {
2825
+ content: var(--tw-content);
2826
+ width: calc(var(--spacing) * 1.5);
2827
+ }
2828
+ }
2829
+ .before\:bg-muted\/35 {
2830
+ &::before {
2831
+ content: var(--tw-content);
2832
+ background-color: var(--boring-muted);
2833
+ @supports (color: color-mix(in lab, red, red)) {
2834
+ background-color: color-mix(in oklab, var(--boring-muted) 35%, transparent);
2835
+ }
2836
+ }
2837
+ }
2683
2838
  .hover\:-translate-y-0\.5 {
2684
2839
  &:hover {
2685
2840
  @media (hover: hover) {
@@ -2723,6 +2878,16 @@
2723
2878
  }
2724
2879
  }
2725
2880
  }
2881
+ .hover\:bg-background\/70 {
2882
+ &:hover {
2883
+ @media (hover: hover) {
2884
+ background-color: var(--boring-background);
2885
+ @supports (color: color-mix(in lab, red, red)) {
2886
+ background-color: color-mix(in oklab, var(--boring-background) 70%, transparent);
2887
+ }
2888
+ }
2889
+ }
2890
+ }
2726
2891
  .hover\:bg-border\/70 {
2727
2892
  &:hover {
2728
2893
  @media (hover: hover) {
@@ -2760,6 +2925,16 @@
2760
2925
  }
2761
2926
  }
2762
2927
  }
2928
+ .hover\:bg-muted\/35 {
2929
+ &:hover {
2930
+ @media (hover: hover) {
2931
+ background-color: var(--boring-muted);
2932
+ @supports (color: color-mix(in lab, red, red)) {
2933
+ background-color: color-mix(in oklab, var(--boring-muted) 35%, transparent);
2934
+ }
2935
+ }
2936
+ }
2937
+ }
2763
2938
  .hover\:bg-muted\/60 {
2764
2939
  &:hover {
2765
2940
  @media (hover: hover) {
@@ -2818,6 +2993,16 @@
2818
2993
  }
2819
2994
  }
2820
2995
  }
2996
+ .hover\:text-foreground\/80 {
2997
+ &:hover {
2998
+ @media (hover: hover) {
2999
+ color: var(--boring-foreground);
3000
+ @supports (color: color-mix(in lab, red, red)) {
3001
+ color: color-mix(in oklab, var(--boring-foreground) 80%, transparent);
3002
+ }
3003
+ }
3004
+ }
3005
+ }
2821
3006
  .hover\:shadow-\[0_2px_4px_-1px_oklch\(0_0_0\/0\.08\)\,0_4px_12px_-4px_oklch\(0_0_0\/0\.10\)\,inset_0_0_0_1px_oklch\(from_var\(--border\)_l_c_h\/0\.9\)\] {
2822
3007
  &:hover {
2823
3008
  @media (hover: hover) {
@@ -2899,6 +3084,11 @@
2899
3084
  outline-style: none;
2900
3085
  }
2901
3086
  }
3087
+ .active\:cursor-grabbing {
3088
+ &:active {
3089
+ cursor: grabbing;
3090
+ }
3091
+ }
2902
3092
  .active\:bg-muted-foreground\/30 {
2903
3093
  &:active {
2904
3094
  background-color: var(--boring-muted-foreground);
@@ -2932,24 +3122,6 @@
2932
3122
  color: var(--boring-foreground);
2933
3123
  }
2934
3124
  }
2935
- .data-\[state\=active\]\:text-\[color\:var\(--accent\)\] {
2936
- &[data-state="active"] {
2937
- color: var(--accent);
2938
- }
2939
- }
2940
- .data-\[state\=active\]\:text-foreground {
2941
- &[data-state="active"] {
2942
- color: var(--boring-foreground);
2943
- }
2944
- }
2945
- .data-\[state\=active\]\:after\:bg-\[color\:var\(--accent\)\] {
2946
- &[data-state="active"] {
2947
- &::after {
2948
- content: var(--tw-content);
2949
- background-color: var(--accent);
2950
- }
2951
- }
2952
- }
2953
3125
  .dark\:bg-transparent {
2954
3126
  &:is(.dark *) {
2955
3127
  background-color: transparent;
@@ -2960,11 +3132,6 @@
2960
3132
  text-indent: calc(var(--spacing) * 0) !important;
2961
3133
  }
2962
3134
  }
2963
- .\[\&\:\:-webkit-scrollbar\]\:hidden {
2964
- &::-webkit-scrollbar {
2965
- display: none;
2966
- }
2967
- }
2968
3135
  .\[\&\>\[data-slot\=command-input-wrapper\]\]\:h-auto {
2969
3136
  &>[data-slot=command-input-wrapper] {
2970
3137
  height: auto;
@@ -6110,6 +6277,49 @@
6110
6277
  padding: 0 2px;
6111
6278
  border-radius: 2px;
6112
6279
  }
6280
+ .boring-scrollbar-discreet {
6281
+ scrollbar-width: thin;
6282
+ scrollbar-color: oklch(from var(--foreground) l c h / 0.14) transparent;
6283
+ }
6284
+ .boring-scrollbar-discreet::-webkit-scrollbar {
6285
+ width: 8px;
6286
+ height: 8px;
6287
+ }
6288
+ .boring-scrollbar-discreet::-webkit-scrollbar-track {
6289
+ background: transparent;
6290
+ }
6291
+ .boring-scrollbar-discreet::-webkit-scrollbar-thumb {
6292
+ background-color: oklch(from var(--foreground) l c h / 0.12);
6293
+ border-radius: 9999px;
6294
+ border: 2px solid transparent;
6295
+ background-clip: padding-box;
6296
+ }
6297
+ .boring-scrollbar-discreet:hover::-webkit-scrollbar-thumb {
6298
+ background-color: oklch(from var(--foreground) l c h / 0.22);
6299
+ }
6300
+ .boring-scrollbar-discreet::-webkit-scrollbar-thumb:hover {
6301
+ background-color: oklch(from var(--foreground) l c h / 0.34);
6302
+ }
6303
+ [data-boring-workspace] {
6304
+ scrollbar-width: thin;
6305
+ scrollbar-color: oklch(from var(--foreground) l c h / 0.14) transparent;
6306
+ }
6307
+ [data-boring-workspace] ::-webkit-scrollbar {
6308
+ width: 8px;
6309
+ height: 8px;
6310
+ }
6311
+ [data-boring-workspace] ::-webkit-scrollbar-track {
6312
+ background: transparent;
6313
+ }
6314
+ [data-boring-workspace] ::-webkit-scrollbar-thumb {
6315
+ background-color: oklch(from var(--foreground) l c h / 0.12);
6316
+ border-radius: 9999px;
6317
+ border: 2px solid transparent;
6318
+ background-clip: padding-box;
6319
+ }
6320
+ [data-boring-workspace] ::-webkit-scrollbar-thumb:hover {
6321
+ background-color: oklch(from var(--foreground) l c h / 0.3);
6322
+ }
6113
6323
  @property --tw-translate-x {
6114
6324
  syntax: "*";
6115
6325
  inherits: false;
@@ -6654,3 +6864,91 @@
6654
6864
  border-radius: calc(var(--radius) - 2px);
6655
6865
  box-shadow: 0 4px 12px oklch(0 0 0 / 0.15);
6656
6866
  }
6867
+
6868
+
6869
+ /* @hachej/boring-workspace chat pane stage */
6870
+
6871
+ /* Chat pane stage — compact dockview chrome scoped under .dv-chat-stage.
6872
+ Inherits the token mapping from dockview-overrides.css (.dv-shell). */
6873
+
6874
+ .dv-chat-stage {
6875
+ --dv-tabs-and-actions-container-height: 32px;
6876
+ --dv-tabs-and-actions-container-font-size: 0.75rem;
6877
+
6878
+ /* Panes, not tabs: no pill — the header shares the pane background and
6879
+ blends seamlessly into the content (no separating border). */
6880
+ --dv-activegroup-visiblepanel-tab-background-color: transparent;
6881
+ --dv-activegroup-hiddenpanel-tab-background-color: transparent;
6882
+ --dv-inactivegroup-visiblepanel-tab-background-color: transparent;
6883
+ --dv-inactivegroup-hiddenpanel-tab-background-color: transparent;
6884
+ }
6885
+
6886
+ /* Neutralize the workbench pill-tab chrome (.dv-shell .dv-tab in
6887
+ dockview-overrides.css): no rounded corners, no active-tab border or
6888
+ accent, no header underline, no tab sizing caps. The double class on
6889
+ the stage root (.dv-shell.dv-chat-stage) out-specifies the workbench
6890
+ rules; the header must read as part of the pane, not a tab strip. */
6891
+ .dv-shell.dv-chat-stage .dv-tabs-and-actions-container {
6892
+ border-bottom: none;
6893
+ padding: 0;
6894
+ gap: 0;
6895
+ align-items: stretch;
6896
+ }
6897
+
6898
+ /* dockview's fullwidth single-tab rules stop at the scroll wrapper; carry
6899
+ the full width down to the tab itself. */
6900
+ .dv-shell.dv-chat-stage .dv-tabs-and-actions-container.dv-single-tab .dv-tabs-container {
6901
+ width: 100%;
6902
+ }
6903
+
6904
+ .dv-shell.dv-chat-stage .dv-tab,
6905
+ .dv-shell.dv-chat-stage .dv-tab.dv-active-tab {
6906
+ width: 100%;
6907
+ height: 100%;
6908
+ min-width: 0;
6909
+ max-width: none;
6910
+ flex: 1 1 auto;
6911
+ align-self: stretch;
6912
+ margin-bottom: 0;
6913
+ padding: 0;
6914
+ border: none;
6915
+ border-radius: 0;
6916
+ background-color: transparent !important;
6917
+ }
6918
+
6919
+ .dv-shell.dv-chat-stage .dv-tab.dv-active-tab::before {
6920
+ content: none;
6921
+ }
6922
+
6923
+ /* The chat stage hides dockview's built-in tab close icon entirely — the
6924
+ custom header renders its own close control with pane semantics. */
6925
+ .dv-chat-stage .dv-default-tab-action {
6926
+ display: none;
6927
+ }
6928
+
6929
+ /* Active-pane focus ring drawn at the GROUP level so it wraps the whole
6930
+ pane — header included. Always present but transparent, so activation
6931
+ fades instead of popping. Only meaningful with 2+ panes; the stage
6932
+ wrapper gates it via data-multi-pane. */
6933
+ .dv-chat-stage .dv-groupview {
6934
+ position: relative;
6935
+ }
6936
+
6937
+ .dv-chat-stage .dv-groupview::after {
6938
+ content: "";
6939
+ position: absolute;
6940
+ inset: 0;
6941
+ z-index: 40;
6942
+ pointer-events: none;
6943
+ background: transparent;
6944
+ transition: background-color 220ms cubic-bezier(0.22, 1, 0.36, 1),
6945
+ box-shadow 220ms cubic-bezier(0.22, 1, 0.36, 1);
6946
+ }
6947
+
6948
+ /* The selected chat stays white; the others recede behind a faint grey
6949
+ wash. No border on the active pane — the background contrast alone marks
6950
+ the selection. */
6951
+ [data-boring-workspace-part="chat-pane-stage"][data-multi-pane="true"]
6952
+ .dv-groupview:not(.dv-active-group)::after {
6953
+ background: oklch(from var(--foreground) l c h / 0.035);
6954
+ }