codex-overleaf-link 2.4.0 → 2.4.1

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.
@@ -4794,425 +4794,240 @@
4794
4794
  flex-direction: column;
4795
4795
  min-height: 0;
4796
4796
  overflow-y: auto;
4797
- padding: 14px 12px 12px;
4798
- gap: 12px;
4799
- }
4800
-
4801
- #codex-overleaf-panel .recent-projects-welcome {
4802
- display: flex;
4803
- flex-direction: column;
4804
- gap: 4px;
4805
- padding-bottom: 4px;
4806
- border-bottom: 1px solid var(--tl-border);
4807
- }
4808
-
4809
- #codex-overleaf-panel .recent-projects-welcome-title {
4810
- color: var(--tl-fg-1);
4811
- font-size: 14px;
4812
- font-weight: 650;
4813
- letter-spacing: 0;
4797
+ padding: 22px 18px 16px;
4798
+ gap: 20px;
4814
4799
  }
4815
4800
 
4816
- #codex-overleaf-panel .recent-projects-welcome-subtitle {
4801
+ #codex-overleaf-panel .recent-projects-welcome { display: grid; gap: 5px; padding: 0 4px; }
4802
+ #codex-overleaf-panel .recent-projects-eyebrow {
4817
4803
  color: var(--tl-fg-3);
4818
- font-size: 12px;
4819
- line-height: 1.4;
4820
- }
4821
-
4822
- #codex-overleaf-panel [data-recent-projects-list] {
4823
- display: flex;
4824
- flex-direction: column;
4825
- gap: 0;
4804
+ font-size: 10px;
4805
+ font-weight: 550;
4806
+ letter-spacing: 0.09em;
4807
+ margin-bottom: 3px;
4826
4808
  }
4827
-
4809
+ #codex-overleaf-panel .recent-projects-welcome-title { color: var(--tl-fg-1); font-size: 16px; font-weight: 600; line-height: 1.4; }
4810
+ #codex-overleaf-panel .recent-projects-welcome-subtitle { color: var(--tl-fg-3); font-size: 11.5px; line-height: 1.5; }
4811
+ #codex-overleaf-panel [data-recent-projects-list] { min-width: 0; }
4828
4812
  #codex-overleaf-panel .recent-projects-empty,
4829
4813
  #codex-overleaf-panel .recent-projects-degraded {
4830
- border: 1px dashed var(--tl-border-strong);
4831
- border-radius: 6px;
4832
- background: var(--tl-surface-1);
4833
- color: var(--tl-fg-3);
4834
- font-size: 12px;
4835
- line-height: 1.45;
4836
- padding: 14px 12px;
4837
- }
4838
-
4839
- /* Dashboard per-project session management: expand a row to list, rename, or
4840
- delete that project's sessions without entering it. */
4841
- #codex-overleaf-panel .recent-projects-row-wrap {
4842
- position: relative;
4843
- display: grid;
4844
- gap: 0;
4845
- border-bottom: 1px solid rgba(128, 128, 128, 0.12);
4846
- }
4847
-
4848
- #codex-overleaf-panel .recent-projects-row-wrap::before {
4849
- content: "";
4850
- position: absolute;
4851
- top: 14px;
4852
- bottom: 14px;
4853
- left: 0;
4854
- width: 2px;
4855
- border-radius: 999px;
4856
- background: var(--tl-border-strong);
4857
- opacity: 0.65;
4858
- }
4859
-
4860
- #codex-overleaf-panel .recent-projects-row-wrap:has(.badge-completed)::before,
4861
- #codex-overleaf-panel .recent-projects-row-wrap:has(.badge-accepted)::before,
4862
- #codex-overleaf-panel .recent-projects-row-wrap:has(.badge-background-completed)::before {
4863
- background: var(--tl-ok);
4864
- }
4865
-
4866
- #codex-overleaf-panel .recent-projects-row-wrap:has(.badge-stale)::before,
4867
- #codex-overleaf-panel .recent-projects-row-wrap:has(.badge-interrupted)::before,
4868
- #codex-overleaf-panel .recent-projects-row-wrap:has(.badge-needs-review)::before,
4869
- #codex-overleaf-panel .recent-projects-row-wrap:has(.badge-needs-review-after-navigation)::before {
4870
- background: var(--tl-review);
4871
- }
4872
-
4873
- #codex-overleaf-panel .recent-projects-row-wrap:has(.badge-failed)::before,
4874
- #codex-overleaf-panel .recent-projects-row-wrap:has(.badge-abandoned-after-navigation)::before {
4875
- background: var(--tl-fail);
4876
- }
4877
-
4878
- #codex-overleaf-panel .recent-projects-row-head {
4879
- position: relative;
4880
- display: block;
4881
- }
4882
-
4883
- #codex-overleaf-panel .recent-projects-row-head [data-recent-projects-row] {
4884
- width: 100%;
4885
- min-width: 0;
4886
- }
4887
-
4888
- #codex-overleaf-panel .recent-projects-row-cleanup {
4889
- flex: 0 0 auto;
4890
- width: 26px;
4891
- border-radius: var(--tl-r-sm);
4892
- color: var(--tl-fg-4);
4814
+ padding: 12px 4px;
4815
+ color: var(--tl-fg-2);
4893
4816
  font-size: 13px;
4817
+ line-height: 1.6;
4894
4818
  }
4895
-
4896
- #codex-overleaf-panel .recent-projects-row-cleanup:hover {
4897
- background: var(--tl-hover);
4898
- color: var(--tl-fail);
4899
- }
4900
-
4901
- #codex-overleaf-panel .recent-projects-row-clear {
4902
- position: absolute;
4903
- top: 8px;
4904
- right: 8px;
4905
- z-index: 2;
4906
- width: 24px;
4907
- height: 24px;
4908
- border-radius: var(--tl-r-sm);
4909
- color: var(--tl-fg-4);
4910
- font-size: 16px;
4911
- line-height: 1;
4912
- opacity: 0;
4913
- transform: translateX(4px);
4914
- transition: color 120ms ease, background 120ms ease, opacity 120ms ease, transform 120ms ease;
4915
- }
4916
-
4917
- #codex-overleaf-panel .recent-projects-row-wrap:hover .recent-projects-row-clear,
4918
- #codex-overleaf-panel .recent-projects-row-clear:focus-visible {
4919
- opacity: 1;
4920
- transform: translateX(0);
4921
- }
4922
-
4923
- #codex-overleaf-panel .recent-projects-row-clear:hover {
4924
- background: var(--tl-hover);
4925
- color: var(--tl-fail);
4926
- }
4927
-
4928
- #codex-overleaf-panel .recent-projects-loading {
4929
- padding: 10px 12px;
4930
- color: var(--tl-fg-3);
4931
- font-size: 12px;
4932
- }
4933
-
4934
- #codex-overleaf-panel .recent-projects-row-expand {
4935
- position: absolute;
4936
- right: 8px;
4937
- bottom: 10px;
4938
- z-index: 1;
4939
- display: inline-flex;
4940
- align-items: center;
4941
- justify-content: center;
4942
- width: auto;
4943
- min-width: 0;
4944
- height: 18px;
4945
- padding: 0 2px;
4819
+ #codex-overleaf-panel .recent-projects-loading { display: block; padding: 10px 4px; color: var(--tl-fg-3); font-size: 12px; }
4820
+ #codex-overleaf-panel .recent-projects-filter { display: flex; align-items: center; gap: 10px; min-width: 0; padding: 0 4px; }
4821
+ #codex-overleaf-panel .recent-projects-filter > button {
4822
+ flex: 0 0 auto;
4823
+ padding: 3px 0;
4946
4824
  border: 0;
4947
- border-radius: 0;
4948
- color: var(--tl-accent);
4949
- font-size: 11px;
4950
- font-weight: 550;
4951
- background: transparent;
4952
- opacity: 0;
4953
- transform: translateX(4px);
4954
- transition: opacity 120ms ease, transform 120ms ease, color 120ms ease;
4955
- }
4956
-
4957
- #codex-overleaf-panel .recent-projects-row-wrap:hover .recent-projects-row-expand,
4958
- #codex-overleaf-panel .recent-projects-row-expand:focus-visible,
4959
- #codex-overleaf-panel .recent-projects-row-wrap[data-expanded="true"] .recent-projects-row-expand {
4960
- opacity: 1;
4961
- transform: translateX(0);
4962
- }
4963
-
4964
- #codex-overleaf-panel .recent-projects-row-expand:hover {
4965
4825
  background: transparent;
4966
- color: var(--tl-accent);
4967
- text-decoration: underline;
4968
- }
4969
-
4970
- #codex-overleaf-panel .recent-projects-row-wrap[data-expanded="true"] .recent-projects-row-expand {
4971
- color: var(--tl-accent);
4972
- background: transparent;
4973
- }
4974
-
4975
- #codex-overleaf-panel .recent-projects-sessions {
4976
- display: grid;
4977
- gap: 2px;
4978
- border-left: 2px solid var(--tl-border);
4979
- margin: 2px 0 6px 10px;
4980
- padding-left: 8px;
4981
- }
4982
-
4983
- #codex-overleaf-panel .recent-projects-sessions-empty {
4984
- color: var(--tl-fg-4);
4985
- font-size: 11px;
4986
- padding: 4px 2px;
4826
+ color: var(--tl-ok);
4827
+ font-size: 12px;
4828
+ cursor: pointer;
4987
4829
  }
4988
-
4830
+ #codex-overleaf-panel .recent-projects-filter > button::before { content: "\2190"; margin-inline-end: 5px; }
4831
+ #codex-overleaf-panel .recent-projects-filter > span { min-width: 0; color: var(--tl-fg-3); font-size: 11px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
4989
4832
  #codex-overleaf-panel .recent-projects-session-row {
4990
- display: flex;
4833
+ position: relative;
4834
+ display: grid;
4835
+ grid-template-columns: minmax(0, 1fr) 24px;
4991
4836
  align-items: center;
4992
- gap: 6px;
4837
+ gap: 4px;
4993
4838
  min-width: 0;
4994
- border-radius: var(--tl-r-sm);
4995
- padding: 3px 4px;
4996
- }
4997
-
4998
- #codex-overleaf-panel .recent-projects-session-row:hover {
4999
- background: var(--tl-hover);
5000
- }
5001
-
5002
- #codex-overleaf-panel .recent-projects-session-row[data-running="true"] .recent-projects-session-title::before {
5003
- content: "";
5004
- display: inline-block;
5005
- width: 7px;
5006
- height: 7px;
5007
- margin-right: 6px;
5008
- border: 2px solid rgba(78, 201, 176, 0.25);
5009
- border-top-color: var(--tl-run);
5010
- border-radius: 50%;
5011
- vertical-align: -1px;
5012
- animation: codex-session-spin 800ms linear infinite;
4839
+ padding: 9px 5px;
4840
+ border-radius: 6px;
5013
4841
  }
5014
-
4842
+ #codex-overleaf-panel .recent-projects-session-copy { display: grid; gap: 4px; min-width: 0; }
5015
4843
  #codex-overleaf-panel .recent-projects-session-title {
5016
- flex: 1 1 auto;
4844
+ display: block;
5017
4845
  min-width: 0;
5018
4846
  overflow: hidden;
5019
- color: var(--tl-fg-2);
5020
- font-size: 12px;
4847
+ color: var(--tl-fg-1);
4848
+ font-size: 13px;
4849
+ font-weight: 500;
4850
+ line-height: 1.6;
5021
4851
  text-overflow: ellipsis;
5022
4852
  white-space: nowrap;
5023
4853
  }
5024
-
5025
- #codex-overleaf-panel .recent-projects-session-time {
5026
- flex: 0 0 auto;
5027
- color: var(--tl-fg-4);
5028
- font-size: 11px;
5029
- white-space: nowrap;
5030
- }
5031
-
5032
- #codex-overleaf-panel .recent-projects-session-action {
5033
- flex: 0 0 auto;
5034
- width: 22px;
5035
- height: 22px;
5036
- border-radius: var(--tl-r-sm);
5037
- color: var(--tl-fg-3);
5038
- opacity: 0.75;
5039
- }
5040
-
5041
- #codex-overleaf-panel .recent-projects-session-action:hover {
5042
- background: var(--tl-hover);
5043
- opacity: 1;
5044
- }
5045
-
5046
- #codex-overleaf-panel .recent-projects-session-action--delete:hover {
5047
- color: var(--tl-fail);
5048
- }
5049
-
5050
- #codex-overleaf-panel .recent-projects-session-action:disabled {
5051
- cursor: not-allowed;
5052
- opacity: 0.3;
4854
+ #codex-overleaf-panel .recent-projects-session-title[hidden] { display: none; }
4855
+ #codex-overleaf-panel .recent-projects-session-meta { display: flex; align-items: baseline; gap: 7px; min-width: 0; color: var(--tl-fg-3); font-size: 11px; line-height: 1.5; }
4856
+ #codex-overleaf-panel .recent-projects-row-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 400; }
4857
+ #codex-overleaf-panel .recent-projects-session-time { flex: 0 0 auto; margin-inline-start: auto; color: var(--tl-fg-3); font-size: 10.5px; white-space: nowrap; }
4858
+ #codex-overleaf-panel .recent-projects-session-attention { flex: 0 0 auto; color: var(--tl-review); font-size: 10.5px; }
4859
+ #codex-overleaf-panel .recent-projects-session-attention::before { content: "\00b7"; margin-inline-end: 4px; }
4860
+ #codex-overleaf-panel .recent-projects-session-row[aria-busy="true"] { cursor: progress; }
4861
+ #codex-overleaf-panel .recent-projects-session-row[data-running="true"]:not(.recent-projects-focus) .recent-projects-session-title::before {
4862
+ content: "";
4863
+ display: inline-block;
4864
+ width: 5px;
4865
+ height: 5px;
4866
+ margin-inline-end: 6px;
4867
+ border-radius: 50%;
4868
+ background: var(--tl-run);
5053
4869
  }
5054
-
5055
- #codex-overleaf-panel .recent-projects-session-rename-input {
5056
- flex: 1 1 auto;
5057
- min-width: 0;
5058
- border: 1px solid var(--tl-accent);
5059
- border-radius: var(--tl-r-sm);
5060
- background: var(--tl-surface-0);
5061
- color: var(--tl-fg-1);
5062
- font-size: 12px;
5063
- padding: 2px 6px;
4870
+ #codex-overleaf-panel .recent-projects-focus {
4871
+ display: flex;
4872
+ flex-direction: column;
4873
+ align-items: stretch;
4874
+ gap: 9px;
4875
+ padding: 12px;
4876
+ margin-bottom: 20px;
4877
+ border-radius: 8px;
4878
+ background: var(--tl-ok-wash);
4879
+ background: color-mix(in srgb, var(--tl-ok-wash) 65%, var(--tl-surface-0));
4880
+ }
4881
+ #codex-overleaf-panel .recent-projects-focus-eyebrow { flex: 0 0 auto; color: var(--tl-fg-3); font-size: 10.5px; font-weight: 400; line-height: 1.5; }
4882
+ #codex-overleaf-panel .recent-projects-focus-eyebrow::after { content: "\00b7"; margin-inline-start: 6px; }
4883
+ #codex-overleaf-panel .recent-projects-focus .recent-projects-session-copy { gap: 6px; }
4884
+ #codex-overleaf-panel .recent-projects-focus .recent-projects-session-meta { justify-content: flex-start; gap: 6px; padding-inline-end: 18px; font-size: 11px; }
4885
+ #codex-overleaf-panel .recent-projects-focus .recent-projects-session-time { margin-inline-start: 0; font-size: inherit; }
4886
+ #codex-overleaf-panel .recent-projects-focus .recent-projects-session-time:not(:empty)::before { content: "\00b7"; margin-inline-end: 7px; }
4887
+ #codex-overleaf-panel .recent-projects-focus .recent-projects-session-title {
4888
+ display: -webkit-box;
4889
+ -webkit-line-clamp: 2;
4890
+ -webkit-box-orient: vertical;
4891
+ white-space: normal;
4892
+ overflow-wrap: anywhere;
4893
+ font-size: 14.5px;
4894
+ font-weight: 500;
4895
+ line-height: 1.5;
5064
4896
  }
5065
-
5066
- #codex-overleaf-panel [data-recent-projects-row] {
5067
- display: grid;
5068
- grid-template-columns: minmax(0, 1fr) auto;
5069
- grid-template-areas:
5070
- "name time"
5071
- "badge sessions";
5072
- align-items: baseline;
5073
- gap: 6px 12px;
5074
- width: 100%;
4897
+ #codex-overleaf-panel .recent-projects-focus .recent-projects-session-title[hidden] { display: none; }
4898
+ #codex-overleaf-panel .recent-projects-focus .recent-projects-row-badge { flex: 1 1 auto; min-width: 0; font-size: 11.5px; line-height: 1.45; }
4899
+ #codex-overleaf-panel .recent-projects-focus-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-width: 0; }
4900
+ #codex-overleaf-panel .recent-projects-focus > .recent-projects-menu { position: absolute; top: 6px; inset-inline-end: 6px; }
4901
+ #codex-overleaf-panel .recent-projects-continue {
4902
+ flex: 0 0 auto;
4903
+ display: inline-flex;
4904
+ align-items: center;
4905
+ justify-content: center;
4906
+ gap: 8px;
4907
+ min-height: 28px;
4908
+ padding: 5px 10px;
5075
4909
  border: 0;
5076
4910
  border-radius: 6px;
5077
- background: transparent;
5078
- color: var(--tl-fg-2);
5079
- padding: 14px 86px 14px 14px;
5080
- cursor: pointer;
5081
- text-align: left;
5082
- }
5083
-
5084
- #codex-overleaf-panel [data-recent-projects-row]:hover:not(:disabled) {
5085
- background: linear-gradient(90deg, rgba(128, 128, 128, 0.08), transparent 72%);
5086
- }
5087
-
5088
- #codex-overleaf-panel [data-recent-projects-row]:disabled,
5089
- #codex-overleaf-panel [data-recent-projects-row][aria-disabled="true"] {
5090
- cursor: default;
5091
- opacity: 0.55;
5092
- }
5093
-
5094
- #codex-overleaf-panel .recent-projects-row-name {
5095
- grid-area: name;
5096
- color: var(--tl-fg-1);
5097
- font-weight: 650;
5098
- font-size: 13.5px;
5099
- overflow: hidden;
5100
- text-overflow: ellipsis;
5101
- white-space: nowrap;
5102
- }
5103
-
5104
- #codex-overleaf-panel .recent-projects-row-time {
5105
- grid-area: time;
5106
- color: var(--tl-fg-3);
5107
- font-size: 11px;
5108
- letter-spacing: 0.01em;
5109
- white-space: nowrap;
5110
- }
5111
-
5112
- #codex-overleaf-panel .recent-projects-row-summary {
5113
- grid-area: summary;
5114
- color: var(--tl-fg-2);
4911
+ background: #357347;
4912
+ color: #fff;
5115
4913
  font-size: 12px;
4914
+ font-weight: 400;
5116
4915
  line-height: 1.4;
5117
- word-break: break-word;
5118
- }
5119
-
5120
- #codex-overleaf-panel .recent-projects-row-summary:empty {
5121
- display: none;
5122
- }
5123
-
5124
- #codex-overleaf-panel .recent-projects-row-warning {
5125
- grid-area: badge;
5126
- color: var(--tl-review);
5127
- font-size: 11px;
5128
- margin-top: 2px;
4916
+ cursor: pointer;
5129
4917
  }
5130
-
4918
+ #codex-overleaf-panel .recent-projects-continue::after { content: "\2192"; }
4919
+ #codex-overleaf-panel .recent-projects-continue:hover:not(:disabled) { text-decoration: underline; text-underline-offset: 3px; }
4920
+ #codex-overleaf-panel .recent-projects-continue:disabled { opacity: 0.55; cursor: progress; }
5131
4921
  #codex-overleaf-panel .recent-projects-row-badge {
5132
- grid-area: badge;
5133
- justify-self: start;
5134
4922
  display: inline-flex;
5135
- align-items: center;
5136
- gap: 5px;
4923
+ align-items: baseline;
4924
+ gap: 6px;
4925
+ min-width: 0;
5137
4926
  padding: 0;
5138
- margin-top: 0;
5139
4927
  border: 0;
5140
- border-radius: 0;
5141
- font-size: 10.5px;
5142
- letter-spacing: 0.03em;
5143
- line-height: 1.4;
5144
- font-weight: 500;
5145
- text-transform: uppercase;
5146
- opacity: 0.92;
5147
- }
5148
-
5149
- #codex-overleaf-panel .recent-projects-row-badge::before {
5150
- content: "";
5151
- display: inline-block;
5152
- width: 6px;
5153
- height: 6px;
5154
- border-radius: 999px;
5155
- background: currentColor;
5156
- opacity: 0.85;
5157
- }
5158
-
5159
- /* Status badge palette. All ten values from spec §5.10 — reuses the
5160
- existing per-project run-card hues so the dashboard reads identically to
5161
- the in-project surface. */
5162
- #codex-overleaf-panel .recent-projects-row-badge.badge-running {
5163
- color: var(--tl-run);
5164
- }
5165
-
5166
- #codex-overleaf-panel .recent-projects-row-badge.badge-pending {
4928
+ background: transparent;
5167
4929
  color: var(--tl-fg-3);
5168
- }
5169
-
5170
- #codex-overleaf-panel .recent-projects-row-badge.badge-accepted,
5171
- #codex-overleaf-panel .recent-projects-row-badge.badge-completed,
5172
- #codex-overleaf-panel .recent-projects-row-badge.badge-background-completed {
5173
- color: var(--tl-ok);
5174
- }
5175
-
5176
- #codex-overleaf-panel .recent-projects-row-badge.badge-rejected {
5177
- color: var(--tl-fg-2);
5178
- }
5179
-
5180
- #codex-overleaf-panel .recent-projects-row-badge.badge-needs-review,
5181
- #codex-overleaf-panel .recent-projects-row-badge.badge-interrupted,
5182
- #codex-overleaf-panel .recent-projects-row-badge.badge-needs-review-after-navigation,
5183
- #codex-overleaf-panel .recent-projects-row-badge.badge-stale {
5184
- color: var(--tl-review);
5185
- }
5186
-
5187
- #codex-overleaf-panel .recent-projects-row-badge.badge-failed,
5188
- #codex-overleaf-panel .recent-projects-row-badge.badge-abandoned-after-navigation {
5189
- color: var(--tl-fail);
5190
- }
5191
-
5192
- #codex-overleaf-panel .recent-projects-settings-entry {
4930
+ font-size: 11px;
4931
+ font-weight: 400;
4932
+ line-height: 1.6;
4933
+ overflow-wrap: anywhere;
4934
+ text-transform: none;
4935
+ letter-spacing: normal;
4936
+ }
4937
+ #codex-overleaf-panel .recent-projects-row-badge[data-status]::before { content: "\00b7"; flex: 0 0 auto; color: var(--tl-fg-3); }
4938
+ #codex-overleaf-panel .recent-projects-row-badge:is(.badge-completed, .badge-accepted, .badge-background-completed)::before { content: "\2713"; color: var(--tl-ok); }
4939
+ #codex-overleaf-panel .recent-projects-row-badge:is(.badge-failed, .badge-abandoned-after-navigation)::before { content: "!"; color: var(--tl-fail); }
4940
+ #codex-overleaf-panel .recent-projects-row-badge:is(.badge-stale, .badge-interrupted, .badge-needs-review, .badge-needs-review-after-navigation)::before { content: "!"; color: var(--tl-review); }
4941
+ #codex-overleaf-panel .recent-projects-row-badge.badge-running::before { color: var(--tl-run); }
4942
+ #codex-overleaf-panel .recent-projects-history-heading { display: flex; justify-content: space-between; gap: 10px; margin: 0 5px 7px; color: var(--tl-fg-3); font-size: 11px; line-height: 1.5; }
4943
+ #codex-overleaf-panel .recent-projects-history-heading > :last-child { font-size: 10px; }
4944
+ #codex-overleaf-panel .recent-projects-history-list { display: grid; gap: 1px; min-width: 0; }
4945
+ #codex-overleaf-panel .recent-projects-drafts { margin: 18px 5px 0; min-width: 0; }
4946
+ #codex-overleaf-panel .recent-projects-drafts > summary { padding: 5px 0; color: var(--tl-fg-3); font-size: 11px; line-height: 1.5; cursor: pointer; list-style: none; }
4947
+ #codex-overleaf-panel .recent-projects-drafts > summary::-webkit-details-marker { display: none; }
4948
+ #codex-overleaf-panel .recent-projects-drafts > summary::before { content: "\203a"; display: inline-block; margin-inline-end: 6px; font-size: 13px; }
4949
+ #codex-overleaf-panel .recent-projects-drafts[open] > summary::before { transform: rotate(90deg); }
4950
+ #codex-overleaf-panel .recent-projects-drafts-hint { display: block; margin: 3px 0 7px; color: var(--tl-fg-3); font-size: 10.5px; line-height: 1.6; }
4951
+ #codex-overleaf-panel .recent-projects-unavailable-row { display: grid; grid-template-columns: minmax(0, 1fr) 24px; align-items: center; gap: 8px; margin: 10px 5px 0; }
4952
+ #codex-overleaf-panel .recent-projects-unavailable-row .recent-projects-row { min-width: 0; padding: 0; border: 0; background: transparent; color: var(--tl-fg-3); font-size: 12px; text-align: start; }
4953
+ #codex-overleaf-panel .recent-projects-menu { position: relative; justify-self: end; flex: 0 0 auto; }
4954
+ #codex-overleaf-panel .recent-projects-menu > summary {
5193
4955
  display: flex;
5194
4956
  align-items: center;
5195
- justify-content: space-between;
5196
- margin-top: auto;
5197
- padding: 10px 12px;
5198
- border: 1px solid var(--tl-border);
5199
- border-radius: 6px;
4957
+ justify-content: center;
4958
+ width: 24px;
4959
+ height: 28px;
4960
+ padding: 0;
4961
+ border-radius: 5px;
4962
+ color: var(--tl-fg-3);
4963
+ font-size: 18px;
4964
+ line-height: 1;
4965
+ cursor: pointer;
4966
+ list-style: none;
4967
+ }
4968
+ #codex-overleaf-panel .recent-projects-menu > summary::-webkit-details-marker { display: none; }
4969
+ #codex-overleaf-panel .recent-projects-menu > summary:hover { background: var(--tl-hover); color: var(--tl-fg-1); }
4970
+ #codex-overleaf-panel .recent-projects-menu [data-recent-menu-actions] {
4971
+ position: absolute;
4972
+ top: calc(100% + 5px);
4973
+ inset-inline-end: 0;
4974
+ z-index: 20;
4975
+ display: grid;
4976
+ min-width: 180px;
4977
+ max-width: min(260px, calc(var(--codex-overleaf-panel-width, 380px) - 56px));
4978
+ padding: 4px;
4979
+ border: 1px solid var(--tl-border-strong);
4980
+ border-radius: 8px;
5200
4981
  background: var(--tl-surface-1);
4982
+ box-shadow: 0 7px 24px rgba(0, 0, 0, 0.18);
4983
+ }
4984
+ #codex-overleaf-panel .recent-projects-menu:not([open]) > [data-recent-menu-actions] { display: none; }
4985
+ #codex-overleaf-panel .recent-projects-menu [data-recent-menu-actions] > button {
4986
+ display: block;
4987
+ width: 100%;
4988
+ min-height: 32px;
4989
+ padding: 8px 10px;
4990
+ border: 0;
4991
+ border-radius: 4px;
4992
+ background: transparent;
5201
4993
  color: var(--tl-fg-2);
5202
4994
  font-size: 12px;
4995
+ line-height: 1.4;
4996
+ text-align: start;
4997
+ white-space: normal;
4998
+ overflow-wrap: anywhere;
5203
4999
  cursor: pointer;
5204
5000
  }
5205
-
5206
- #codex-overleaf-panel .recent-projects-settings-entry:hover {
5207
- border-color: var(--tl-border-strong);
5208
- background: var(--tl-surface-2);
5001
+ #codex-overleaf-panel .recent-projects-menu [data-recent-menu-actions] > button:hover:not(:disabled) { background: var(--tl-hover); }
5002
+ #codex-overleaf-panel .recent-projects-menu [data-recent-menu-actions] > :is([data-project-clear], [data-row-cleanup], [data-session-delete-dash]) { color: var(--tl-fail); }
5003
+ #codex-overleaf-panel .recent-projects-menu [data-recent-menu-actions] > [data-project-conversations] { margin-top: 4px; border-top: 1px solid var(--tl-border); border-radius: 0 0 4px 4px; }
5004
+ #codex-overleaf-panel .recent-projects-menu [data-recent-menu-actions] > button:disabled { opacity: 0.45; cursor: not-allowed; }
5005
+ #codex-overleaf-panel .recent-projects-session-rename-input {
5006
+ width: 100%;
5007
+ min-width: 0;
5008
+ padding: 4px 6px;
5009
+ border: 1px solid var(--tl-accent);
5010
+ border-radius: 4px;
5011
+ background: var(--tl-surface-0);
5012
+ color: var(--tl-fg-1);
5013
+ font-size: 13px;
5209
5014
  }
5210
-
5211
- #codex-overleaf-panel .recent-projects-settings-entry-label::after {
5212
- content: "›";
5213
- margin-left: 8px;
5015
+ #codex-overleaf-panel .recent-projects-settings-entry {
5016
+ display: inline-flex;
5017
+ align-items: center;
5018
+ align-self: flex-start;
5019
+ margin-top: auto;
5020
+ padding: 8px 4px 0;
5021
+ border: 0;
5022
+ background: transparent;
5214
5023
  color: var(--tl-fg-3);
5024
+ font-size: 11px;
5025
+ line-height: 1.5;
5026
+ cursor: pointer;
5215
5027
  }
5028
+ #codex-overleaf-panel .recent-projects-settings-entry:hover { color: var(--tl-fg-1); }
5029
+ #codex-overleaf-panel .recent-projects-settings-entry-label::after { content: "\203a"; margin-inline-start: 8px; }
5030
+ #codex-overleaf-panel .recent-projects-root :is(button, summary, [role="button"]):focus-visible { outline: 2px solid var(--tl-accent); outline-offset: 3px; }
5216
5031
 
5217
5032
  /* Spec §5.9 — when the panel opens settings in account scope, hide the
5218
5033
  project-only sections so only locale / display / global skills + the
@@ -5225,20 +5040,18 @@
5225
5040
 
5226
5041
  /* v1.7.5: dashboard "Show all projects" expander below the 10-row fold. */
5227
5042
  #codex-overleaf-panel .recent-projects-show-all {
5228
- display: block;
5229
- width: 100%;
5230
- margin-top: 6px;
5231
- padding: 6px 10px;
5043
+ align-self: flex-start;
5044
+ padding: 8px 0;
5045
+ border: 0;
5232
5046
  background: transparent;
5233
- border: 1px dashed var(--tl-border, #2a2a2a);
5234
- border-radius: 6px;
5235
- color: var(--tl-fg-3, #8a8a8a);
5236
- font-size: 11.5px;
5047
+ color: var(--tl-fg-3);
5048
+ font-size: 12px;
5237
5049
  cursor: pointer;
5238
5050
  }
5051
+
5239
5052
  #codex-overleaf-panel .recent-projects-show-all:hover {
5240
- color: var(--tl-fg-1, #e4e4e4);
5241
- border-color: var(--tl-fg-3, #8a8a8a);
5053
+ color: var(--tl-fg-1);
5054
+ text-decoration: underline;
5242
5055
  }
5243
5056
 
5244
5057
  /* v1.7.5: jump-to-turn dropdown pinned above the run history. */
@@ -5360,15 +5173,6 @@
5360
5173
  border-radius: 50%;
5361
5174
  animation: tl-spin 800ms linear infinite;
5362
5175
  }
5363
- /* v1.8.2: the expand toggle stays a slim icon strip — modestly wider than
5364
- the original 26px for the miss-click fix, but proportionate to the row. */
5365
- #codex-overleaf-panel .recent-projects-row-expand {
5366
- width: 32px;
5367
- }
5368
- #codex-overleaf-panel .recent-projects-row-sessions {
5369
- color: var(--tl-fg-3);
5370
- font-size: 10.5px;
5371
- }
5372
5176
  #codex-overleaf-panel .recent-projects-session-row--linked {
5373
5177
  cursor: pointer;
5374
5178
  }