profile-pane 3.2.0 → 3.2.2-test.0

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 (256) hide show
  1. package/README.md +50 -0
  2. package/icons-png/discord.png +0 -0
  3. package/icons-png/dribbble.png +0 -0
  4. package/icons-png/facebook.png +0 -0
  5. package/icons-png/instagram.png +0 -0
  6. package/icons-png/linkedin.png +0 -0
  7. package/icons-png/pinterest.png +0 -0
  8. package/icons-png/sharechat.png +0 -0
  9. package/icons-png/signup.png +0 -0
  10. package/icons-png/snapchat.png +0 -0
  11. package/icons-png/spotify.png +0 -0
  12. package/icons-png/telegram.png +0 -0
  13. package/icons-png/tiktok.png +0 -0
  14. package/icons-png/whatsapp.png +0 -0
  15. package/icons-png/x.png +0 -0
  16. package/icons-png/youtube.png +0 -0
  17. package/lib/303.profile-pane.js +1362 -0
  18. package/lib/303.profile-pane.js.map +1 -0
  19. package/lib/303.profile-pane.min.js +2 -0
  20. package/lib/303.profile-pane.min.js.map +1 -0
  21. package/lib/ProfileView.css +1090 -0
  22. package/lib/ProfileView.d.ts +2 -1
  23. package/lib/ProfileView.d.ts.map +1 -1
  24. package/lib/ProfileView.js +64 -36
  25. package/lib/buttonsHelper.d.ts +1 -1
  26. package/lib/buttonsHelper.d.ts.map +1 -1
  27. package/lib/buttonsHelper.js +2 -1
  28. package/lib/editProfilePane/EditCVCard.js +1 -1
  29. package/lib/editProfilePane/EditCommunitiesCard.js +1 -1
  30. package/lib/editProfilePane/EditFriendsCard.js +1 -1
  31. package/lib/editProfilePane/EditProfileView.d.ts +1 -1
  32. package/lib/editProfilePane/EditProfileView.d.ts.map +1 -1
  33. package/lib/editProfilePane/EditProfileView.js +4 -5
  34. package/lib/editProfilePane/editProfilePresenter.d.ts.map +1 -1
  35. package/lib/editProfilePane/editProfilePresenter.js +5 -4
  36. package/lib/icons-svg/profileIcons.d.ts +1 -1
  37. package/lib/icons-svg/profileIcons.d.ts.map +1 -1
  38. package/lib/icons-svg/profileIcons.js +9 -17
  39. package/lib/index.d.ts +1 -8
  40. package/lib/index.d.ts.map +1 -1
  41. package/lib/index.js +74 -40
  42. package/lib/ontology/otherPreferencesForm.ttl +32 -0
  43. package/lib/ontology/resumeForm.ttl +349 -0
  44. package/lib/ontology/socialMedia.ttl +433 -0
  45. package/lib/profile-pane.js +32266 -13247
  46. package/lib/profile-pane.js.map +1 -1
  47. package/lib/profile-pane.min.js +2315 -935
  48. package/lib/profile-pane.min.js.map +1 -1
  49. package/lib/rdfFormsHelper.d.ts +13 -1
  50. package/lib/rdfFormsHelper.d.ts.map +1 -1
  51. package/lib/rdfFormsHelper.js +13 -1
  52. package/lib/sections/bio/BioEditDialog.d.ts.map +1 -1
  53. package/lib/sections/bio/BioEditDialog.js +7 -7
  54. package/lib/sections/bio/BioSection.css +300 -0
  55. package/lib/sections/bio/BioSection.d.ts +3 -2
  56. package/lib/sections/bio/BioSection.d.ts.map +1 -1
  57. package/lib/sections/bio/BioSection.js +26 -19
  58. package/lib/sections/bio/mutations.d.ts.map +1 -1
  59. package/lib/sections/bio/mutations.js +14 -3
  60. package/lib/sections/contactInfo/ContactInfoEditDialog.css +354 -0
  61. package/lib/sections/contactInfo/ContactInfoEditDialog.d.ts +3 -1
  62. package/lib/sections/contactInfo/ContactInfoEditDialog.d.ts.map +1 -1
  63. package/lib/sections/contactInfo/ContactInfoEditDialog.js +183 -98
  64. package/lib/sections/contactInfo/ContactInfoSection.css +125 -0
  65. package/lib/sections/contactInfo/ContactInfoSection.d.ts +2 -0
  66. package/lib/sections/contactInfo/ContactInfoSection.d.ts.map +1 -1
  67. package/lib/sections/contactInfo/ContactInfoSection.js +64 -41
  68. package/lib/sections/contactInfo/mutations.d.ts.map +1 -1
  69. package/lib/sections/contactInfo/mutations.js +51 -16
  70. package/lib/sections/education/EducationEditDialog.d.ts +3 -1
  71. package/lib/sections/education/EducationEditDialog.d.ts.map +1 -1
  72. package/lib/sections/education/EducationEditDialog.js +170 -92
  73. package/lib/sections/education/EducationSection.css +133 -0
  74. package/lib/sections/education/EducationSection.d.ts +3 -2
  75. package/lib/sections/education/EducationSection.d.ts.map +1 -1
  76. package/lib/sections/education/EducationSection.js +32 -25
  77. package/lib/sections/education/mutations.d.ts.map +1 -1
  78. package/lib/sections/education/mutations.js +14 -3
  79. package/lib/sections/heading/HeadingEditDialog.d.ts +4 -1
  80. package/lib/sections/heading/HeadingEditDialog.d.ts.map +1 -1
  81. package/lib/sections/heading/HeadingEditDialog.js +287 -162
  82. package/lib/sections/heading/HeadingSection.css +862 -0
  83. package/lib/sections/heading/HeadingSection.d.ts +3 -2
  84. package/lib/sections/heading/HeadingSection.d.ts.map +1 -1
  85. package/lib/sections/heading/HeadingSection.js +63 -32
  86. package/lib/sections/heading/imageHelpers.d.ts +1 -0
  87. package/lib/sections/heading/imageHelpers.d.ts.map +1 -1
  88. package/lib/sections/heading/imageHelpers.js +40 -1
  89. package/lib/sections/heading/mutations.d.ts.map +1 -1
  90. package/lib/sections/heading/mutations.js +86 -23
  91. package/lib/sections/heading/selectors.d.ts.map +1 -1
  92. package/lib/sections/heading/selectors.js +14 -3
  93. package/lib/sections/heading/types.d.ts +1 -2
  94. package/lib/sections/heading/types.d.ts.map +1 -1
  95. package/lib/sections/languages/LanguageEditDialog.d.ts +3 -1
  96. package/lib/sections/languages/LanguageEditDialog.d.ts.map +1 -1
  97. package/lib/sections/languages/LanguageEditDialog.js +202 -119
  98. package/lib/sections/languages/LanguageSection.css +53 -0
  99. package/lib/sections/languages/LanguageSection.d.ts +2 -0
  100. package/lib/sections/languages/LanguageSection.d.ts.map +1 -1
  101. package/lib/sections/languages/LanguageSection.js +42 -31
  102. package/lib/sections/languages/mutations.d.ts.map +1 -1
  103. package/lib/sections/languages/mutations.js +60 -161
  104. package/lib/sections/languages/selectors.d.ts.map +1 -1
  105. package/lib/sections/languages/selectors.js +1 -2
  106. package/lib/sections/projects/ProjectEditDialog.d.ts +2 -1
  107. package/lib/sections/projects/ProjectEditDialog.d.ts.map +1 -1
  108. package/lib/sections/projects/ProjectEditDialog.js +13 -24
  109. package/lib/sections/projects/ProjectSection.css +368 -0
  110. package/lib/sections/projects/ProjectSection.d.ts +2 -1
  111. package/lib/sections/projects/ProjectSection.d.ts.map +1 -1
  112. package/lib/sections/projects/ProjectSection.js +116 -34
  113. package/lib/sections/projects/mutations.d.ts.map +1 -1
  114. package/lib/sections/projects/mutations.js +109 -132
  115. package/lib/sections/projects/selectors.d.ts.map +1 -1
  116. package/lib/sections/projects/selectors.js +4 -45
  117. package/lib/{QRCodeCard.d.ts → sections/qrcode/QRCodeCard.d.ts} +2 -1
  118. package/lib/sections/qrcode/QRCodeCard.d.ts.map +1 -0
  119. package/lib/{QRCodeCard.js → sections/qrcode/QRCodeCard.js} +59 -11
  120. package/lib/sections/qrcode/QRCodeSection.css +108 -0
  121. package/lib/sections/qrcode/QRCodeSection.d.ts +4 -0
  122. package/lib/sections/qrcode/QRCodeSection.d.ts.map +1 -0
  123. package/lib/sections/qrcode/QRCodeSection.js +17 -0
  124. package/lib/sections/resume/ResumeEditDialog.d.ts +10 -1
  125. package/lib/sections/resume/ResumeEditDialog.d.ts.map +1 -1
  126. package/lib/sections/resume/ResumeEditDialog.js +531 -149
  127. package/lib/sections/resume/ResumeSection.css +350 -0
  128. package/lib/sections/resume/ResumeSection.d.ts +3 -2
  129. package/lib/sections/resume/ResumeSection.d.ts.map +1 -1
  130. package/lib/sections/resume/ResumeSection.js +78 -49
  131. package/lib/sections/resume/mutations.d.ts.map +1 -1
  132. package/lib/sections/resume/mutations.js +17 -3
  133. package/lib/sections/resume/selectors.d.ts.map +1 -1
  134. package/lib/sections/resume/selectors.js +1 -0
  135. package/lib/sections/resume/types.d.ts +1 -0
  136. package/lib/sections/resume/types.d.ts.map +1 -1
  137. package/lib/sections/shared/collapsibleSection.d.ts.map +1 -1
  138. package/lib/sections/shared/collapsibleSection.js +1 -0
  139. package/lib/sections/shared/phoneCountries.d.ts +1 -1
  140. package/lib/sections/shared/phoneCountries.d.ts.map +1 -1
  141. package/lib/sections/shared/phoneCountries.js +2 -2
  142. package/lib/sections/shared/projectCommunityNodes.d.ts +6 -0
  143. package/lib/sections/shared/projectCommunityNodes.d.ts.map +1 -0
  144. package/lib/sections/shared/projectCommunityNodes.js +56 -0
  145. package/lib/sections/shared/rdfMutationHelpers.d.ts +35 -2
  146. package/lib/sections/shared/rdfMutationHelpers.d.ts.map +1 -1
  147. package/lib/sections/shared/rdfMutationHelpers.js +290 -14
  148. package/lib/sections/shared/sectionCardHelpers.d.ts.map +1 -1
  149. package/lib/sections/shared/sectionCardHelpers.js +80 -11
  150. package/lib/sections/shared/types.d.ts +24 -0
  151. package/lib/sections/shared/types.d.ts.map +1 -1
  152. package/lib/sections/skills/SkillsEditDialog.d.ts +3 -1
  153. package/lib/sections/skills/SkillsEditDialog.d.ts.map +1 -1
  154. package/lib/sections/skills/SkillsEditDialog.js +136 -115
  155. package/lib/sections/skills/SkillsSection.css +173 -0
  156. package/lib/sections/skills/SkillsSection.d.ts +2 -0
  157. package/lib/sections/skills/SkillsSection.d.ts.map +1 -1
  158. package/lib/sections/skills/SkillsSection.js +107 -47
  159. package/lib/sections/skills/mutations.d.ts.map +1 -1
  160. package/lib/sections/skills/mutations.js +25 -21
  161. package/lib/sections/skills/selectors.d.ts.map +1 -1
  162. package/lib/sections/skills/selectors.js +5 -3
  163. package/lib/sections/social/SocialEditDialog.d.ts +3 -1
  164. package/lib/sections/social/SocialEditDialog.d.ts.map +1 -1
  165. package/lib/sections/social/SocialEditDialog.js +170 -62
  166. package/lib/sections/social/SocialSection.css +194 -0
  167. package/lib/sections/social/SocialSection.d.ts +4 -3
  168. package/lib/sections/social/SocialSection.d.ts.map +1 -1
  169. package/lib/sections/social/SocialSection.js +59 -43
  170. package/lib/sections/social/mutations.d.ts.map +1 -1
  171. package/lib/sections/social/mutations.js +23 -132
  172. package/lib/specialButtons/AddMeToYourFriends.css +54 -0
  173. package/lib/specialButtons/addContact/AddMeToYourContacts.css +1118 -0
  174. package/lib/specialButtons/addContact/ContactCreationDialog.d.ts +10 -0
  175. package/lib/specialButtons/addContact/ContactCreationDialog.d.ts.map +1 -0
  176. package/lib/specialButtons/addContact/ContactCreationDialog.js +1123 -0
  177. package/lib/specialButtons/addContact/addMeToYourContacts.d.ts +16 -0
  178. package/lib/specialButtons/addContact/addMeToYourContacts.d.ts.map +1 -0
  179. package/lib/specialButtons/addContact/addMeToYourContacts.js +136 -0
  180. package/lib/specialButtons/addContact/contactsErrors.d.ts +8 -0
  181. package/lib/specialButtons/addContact/contactsErrors.d.ts.map +1 -0
  182. package/lib/specialButtons/addContact/contactsErrors.js +106 -0
  183. package/lib/specialButtons/addContact/contactsTypes.d.ts +43 -0
  184. package/lib/specialButtons/addContact/contactsTypes.d.ts.map +1 -0
  185. package/lib/specialButtons/addContact/contactsTypes.js +5 -0
  186. package/lib/specialButtons/addContact/helpers.d.ts +7 -0
  187. package/lib/specialButtons/addContact/helpers.d.ts.map +1 -0
  188. package/lib/specialButtons/addContact/helpers.js +103 -0
  189. package/lib/specialButtons/addContact/mutations.d.ts +16 -0
  190. package/lib/specialButtons/addContact/mutations.d.ts.map +1 -0
  191. package/lib/specialButtons/addContact/mutations.js +300 -0
  192. package/lib/specialButtons/addContact/selectors.d.ts +10 -0
  193. package/lib/specialButtons/addContact/selectors.d.ts.map +1 -0
  194. package/lib/specialButtons/addContact/selectors.js +163 -0
  195. package/lib/{addMeToYourFriends.d.ts → specialButtons/addMeToYourFriends.d.ts} +6 -4
  196. package/lib/specialButtons/addMeToYourFriends.d.ts.map +1 -0
  197. package/lib/{addMeToYourFriends.js → specialButtons/addMeToYourFriends.js} +46 -11
  198. package/lib/styles/CollapsibleSection.css +519 -0
  199. package/lib/styles/EditDialogs.css +506 -686
  200. package/lib/styles/EditDialogs.responsive.css +989 -0
  201. package/lib/texts/buttonTexts.d.ts +9 -0
  202. package/lib/texts/buttonTexts.d.ts.map +1 -0
  203. package/lib/texts/buttonTexts.js +14 -0
  204. package/lib/texts/dialogTexts.d.ts +14 -0
  205. package/lib/texts/dialogTexts.d.ts.map +1 -0
  206. package/lib/texts/dialogTexts.js +19 -0
  207. package/lib/texts/messageTexts.d.ts +42 -0
  208. package/lib/texts/messageTexts.d.ts.map +1 -0
  209. package/lib/texts/messageTexts.js +47 -0
  210. package/lib/texts/profileTexts.d.ts +14 -0
  211. package/lib/texts/profileTexts.d.ts.map +1 -0
  212. package/lib/texts/profileTexts.js +19 -0
  213. package/lib/texts/qrCodeTexts.d.ts +2 -0
  214. package/lib/texts/qrCodeTexts.d.ts.map +1 -0
  215. package/lib/texts/qrCodeTexts.js +7 -0
  216. package/lib/texts.d.ts +5 -60
  217. package/lib/texts.d.ts.map +1 -1
  218. package/lib/texts.js +55 -70
  219. package/lib/ui/dialog.css +233 -0
  220. package/lib/ui/dialog.d.ts +15 -1
  221. package/lib/ui/dialog.d.ts.map +1 -1
  222. package/lib/ui/dialog.js +245 -45
  223. package/lib/ui/dialog.responsive.css +195 -0
  224. package/lib/ui/errors.d.ts.map +1 -1
  225. package/lib/ui/errors.js +2 -1
  226. package/lib/ui/spinner.d.ts +3 -0
  227. package/lib/ui/spinner.d.ts.map +1 -0
  228. package/lib/ui/spinner.js +13 -0
  229. package/lib/utils/debug.d.ts +5 -0
  230. package/lib/utils/debug.d.ts.map +1 -0
  231. package/lib/utils/debug.js +23 -0
  232. package/lib/utils/errorDisplay.d.ts +2 -0
  233. package/lib/utils/errorDisplay.d.ts.map +1 -0
  234. package/lib/utils/errorDisplay.js +19 -0
  235. package/package.json +34 -26
  236. package/lib/ChatWithMe.d.ts +0 -7
  237. package/lib/ChatWithMe.d.ts.map +0 -1
  238. package/lib/ChatWithMe.js +0 -90
  239. package/lib/QRCodeCard.d.ts.map +0 -1
  240. package/lib/addMeToYourFriends.d.ts.map +0 -1
  241. package/lib/sections/heading/camera.d.ts +0 -19
  242. package/lib/sections/heading/camera.d.ts.map +0 -1
  243. package/lib/sections/heading/camera.js +0 -199
  244. package/lib/styles/BioSection.css +0 -77
  245. package/lib/styles/CVCard.css +0 -142
  246. package/lib/styles/ChatWithMe.css +0 -6
  247. package/lib/styles/ContactInfoEditDialog.css +0 -153
  248. package/lib/styles/EducationCard.css +0 -103
  249. package/lib/styles/HeadingSection.css +0 -309
  250. package/lib/styles/ProfileCard.css +0 -66
  251. package/lib/styles/ProfileView.css +0 -65
  252. package/lib/styles/ProjectsCard.css +0 -206
  253. package/lib/styles/QRCodeCard.css +0 -43
  254. package/lib/styles/SocialCard.css +0 -89
  255. package/lib/styles/dialog.css +0 -209
  256. package/lib/styles/utilities.css +0 -740
@@ -0,0 +1,1090 @@
1
+ /* Profile layout styles. */
2
+
3
+ /* Shell */
4
+ :root {
5
+ --profile-image-size: 3rem;
6
+ --profile-interactive-cursor: pointer;
7
+ }
8
+
9
+ .profile-pane-host {
10
+ display: block;
11
+ width: 100%;
12
+ min-width: 100%;
13
+ max-width: none;
14
+ box-sizing: border-box;
15
+ }
16
+
17
+ .profile-pane-root {
18
+ display: block;
19
+ width: 100%;
20
+ max-width: 100%;
21
+ min-width: 0;
22
+ container-name: profile-pane;
23
+ container-type: inline-size;
24
+ }
25
+
26
+ :is(.profile-pane-host, .profile-pane-root)[data-input-mode='touch'] {
27
+ --profile-interactive-cursor: auto;
28
+ }
29
+
30
+ :is(.profile-pane-host, .profile-pane-root)[data-input-mode='pointer'] {
31
+ --profile-interactive-cursor: pointer;
32
+ }
33
+
34
+ td.obj .profile-pane-root {
35
+ width: 100%;
36
+ max-width: 100%;
37
+ min-width: 0;
38
+ }
39
+
40
+ /* Shared controls */
41
+ .profile__section-header {
42
+ display: flex;
43
+ align-items: center;
44
+ justify-content: space-between;
45
+ gap: var(--spacing-xs, 0.75rem);
46
+ width: 100%;
47
+ }
48
+
49
+ .profile__section-header:not(.profile-edit-dialog__contact-section-header) h2,
50
+ .profile__section-header:not(.profile-edit-dialog__contact-section-header) h3,
51
+ .profile__section-header:not(.profile-edit-dialog__contact-section-header) h4 {
52
+ margin: 0;
53
+ font-size: var(--font-size-xl, 1.375rem);
54
+ font-weight: var(--font-weight-md, 500);
55
+ }
56
+
57
+ .profile__action-button,
58
+ solid-ui-button.profile__action-button {
59
+ display: inline-flex;
60
+ align-items: center;
61
+ justify-content: center;
62
+ width: 100%;
63
+ min-width: 11.25rem;
64
+ max-width: 20rem;
65
+ box-sizing: border-box;
66
+ }
67
+
68
+ .profile__add-more-content,
69
+ .profile__action-icon {
70
+ display: inline-flex;
71
+ align-items: center;
72
+ gap: var(--spacing-xxs, 0.3125rem);
73
+ }
74
+
75
+ .profile__add-more-icon {
76
+ display: inline-block;
77
+ width: var(--icon-xxxs, 0.75rem);
78
+ height: var(--icon-xxxs, 0.75rem);
79
+ margin-right: 0;
80
+ line-height: 0;
81
+ position: relative;
82
+ top: 0;
83
+ transform: translateY(0);
84
+ }
85
+
86
+ .profile__add-more-icon svg {
87
+ width: 100%;
88
+ height: 100%;
89
+ display: block;
90
+ }
91
+
92
+ .profile__btn-friends,
93
+ .profile__btn-contacts,
94
+ solid-ui-button.profile__btn-friends,
95
+ solid-ui-button.profile__btn-contacts {
96
+ width: auto;
97
+ min-width: 0;
98
+ max-width: none;
99
+ }
100
+
101
+ .profile__btn-friends,
102
+ .profile__btn-contacts {
103
+ gap: var(--spacing-xxs, 0.3125rem);
104
+ }
105
+
106
+ solid-ui-button.profile__btn-friends,
107
+ solid-ui-button.profile__btn-contacts {
108
+ width: auto;
109
+ --button-padding-sm: 0.375rem var(--spacing-xs, 0.75rem);
110
+ --button-border-radius: var(--border-radius-md, 0.5rem);
111
+ --button-padding-x-sm: var(--spacing-xs, 0.75rem);
112
+ }
113
+
114
+ solid-ui-button.profile__btn-friends {
115
+ --button-background: transparent;
116
+ --button-text: var(--color-primary, #7C4DFF);
117
+ --button-border: var(--color-primary, #7C4DFF);
118
+ --button-hover-background: rgba(124, 77, 255, 0.08);
119
+ --button-hover-border: var(--color-primary, #7C4DFF);
120
+ --button-hover-text: var(--color-primary, #7C4DFF);
121
+ }
122
+
123
+ solid-ui-button.profile__btn-contacts {
124
+ --button-background: var(--profile-contacts-button-background, transparent);
125
+ --button-text: var(--profile-contacts-button-color, var(--color-primary, #7C4DFF));
126
+ --button-border: var(--profile-contacts-button-border, var(--color-primary, #7C4DFF));
127
+ --button-hover-background: rgba(124, 77, 255, 0.08);
128
+ --button-hover-border: var(--profile-contacts-button-border, var(--color-primary, #7C4DFF));
129
+ --button-hover-text: var(--profile-contacts-button-color, var(--color-primary, #7C4DFF));
130
+ }
131
+
132
+ .profile-action-text {
133
+ width: auto;
134
+ min-width: 0;
135
+ max-width: none;
136
+ padding: var(--spacing-xxs, 0.3125rem);
137
+ border: none;
138
+ background: none;
139
+ color: var(--color-primary, #7C4DFF);
140
+ cursor: var(--profile-interactive-cursor, pointer);
141
+ font-size: var(--font-size-sm, 0.875rem);
142
+ }
143
+
144
+ solid-ui-button.profile-action-text {
145
+ width: auto;
146
+ min-width: 0;
147
+ max-width: none;
148
+ --button-height-sm: 0;
149
+ --button-padding-sm: var(--spacing-xxs, 0.3125rem);
150
+ --button-font-size-sm: var(--font-size-sm, 0.875rem);
151
+ --button-font-weight: var(--font-weight-regular, 400);
152
+ --button-background: transparent;
153
+ --button-border-width: 0;
154
+ --button-border: transparent;
155
+ --button-text: var(--color-primary, #7C4DFF);
156
+ --button-hover-background: transparent;
157
+ --button-hover-border: transparent;
158
+ --button-hover-text: var(--color-primary, #7C4DFF);
159
+ }
160
+
161
+ .profile-action-text:hover {
162
+ text-decoration: underline;
163
+ }
164
+
165
+ solid-ui-button.profile-action-text:hover::part(button),
166
+ solid-ui-button.profile-action-text:focus-visible::part(button) {
167
+ text-decoration: underline;
168
+ }
169
+
170
+ /* Base grid layout */
171
+ .profile-grid {
172
+ --profile-main-section-min-width: 37.5rem;
173
+ --profile-sidebar-min-width: 18.75rem;
174
+ --profile-sidebar-width: clamp(var(--profile-sidebar-min-width), 33.333%, 21.875rem);
175
+ --profile-sidebar-section-padding: var(--spacing-lg, 1.5625rem);
176
+ --profile-mobile-section-padding: var(--spacing-sm, 0.9375rem);
177
+ --profile-stacked-section-gap: var(--spacing-sm, 0.9375rem);
178
+ font-size: inherit;
179
+ display: grid;
180
+ grid-template-columns:
181
+ minmax(var(--profile-main-section-min-width), 1fr)
182
+ minmax(var(--profile-sidebar-min-width), var(--profile-sidebar-width));
183
+ align-items: start;
184
+ column-gap: var(--spacing-xxs, 0.3125rem);
185
+ row-gap: var(--spacing-md, 1.25rem);
186
+ }
187
+
188
+ /* Grid columns and wrappers */
189
+ .profile-grid .profile__main,
190
+ .profile-grid .profile__intro-main,
191
+ .profile-grid .profile__intro-sidebar,
192
+ .profile-grid .profile__sidebar,
193
+ .profile-grid .profile__section,
194
+ .profile-grid .profile__section--empty {
195
+ width: 100%;
196
+ max-width: 100%;
197
+ min-width: 0;
198
+ box-sizing: border-box;
199
+ }
200
+
201
+ .profile-grid .profile__main {
202
+ grid-column: 1;
203
+ grid-row: 2;
204
+ display: flex;
205
+ flex-direction: column;
206
+ gap: var(--spacing-md, 1.25rem);
207
+ margin-bottom: 0;
208
+ overflow-wrap: anywhere;
209
+ align-items: flex-start;
210
+ }
211
+
212
+ .profile-grid .profile__intro-main,
213
+ .profile-grid .profile__intro-sidebar {
214
+ display: flex;
215
+ flex-direction: column;
216
+ }
217
+
218
+ .profile-grid .profile__intro-main {
219
+ grid-column: 1;
220
+ grid-row: 1;
221
+ align-self: stretch;
222
+ }
223
+
224
+ .profile-grid .profile__intro-sidebar {
225
+ grid-column: 2;
226
+ grid-row: 1;
227
+ align-self: stretch;
228
+ min-width: var(--profile-sidebar-min-width);
229
+ padding-block: 0;
230
+ padding-inline: var(--spacing-sm, 0.938rem);
231
+ background: transparent;
232
+ border-radius: 0;
233
+ }
234
+
235
+ .profile-grid > .profile__sidebar:not(.profile__intro-sidebar) {
236
+ grid-row: 2;
237
+ }
238
+
239
+ .profile-grid .profile__intro-sidebar > .profile__section,
240
+ .profile-grid .profile__intro-sidebar > .profile__section--empty {
241
+ flex: 1 1 auto;
242
+ height: 100%;
243
+ }
244
+
245
+ .profile-grid .profile__intro-sidebar > [data-profile-section='social'] {
246
+ display: flex;
247
+ flex-direction: column;
248
+ min-height: 100%;
249
+ box-sizing: border-box;
250
+ }
251
+
252
+ .profile-grid .profile__intro-sidebar > [data-profile-section='social'] > .profile-section-collapsible__content {
253
+ flex: 1 1 auto;
254
+ }
255
+
256
+ .profile-grid .profile__sidebar:not(.profile__intro-sidebar) {
257
+ grid-column: 2;
258
+ display: flex;
259
+ flex-direction: column;
260
+ min-width: var(--profile-sidebar-min-width);
261
+ padding: var(--spacing-sm, 0.938rem);
262
+ align-items: stretch;
263
+ text-align: left;
264
+ border-radius: var(--border-radius-base);
265
+ background: var(--color-background, #F8F9FB);
266
+ overflow-x: clip;
267
+ }
268
+
269
+ .profile-grid .profile__sidebar-content {
270
+ display: flex;
271
+ flex-direction: column;
272
+ gap: var(--spacing-md, 1.25rem);
273
+ min-width: var(--profile-sidebar-min-width);
274
+ }
275
+
276
+ .profile-grid .profile__intro-sidebar > .profile__section,
277
+ .profile-grid .profile__intro-sidebar > .profile__section--empty,
278
+ .profile-grid .profile__sidebar-content > .profile__section,
279
+ .profile-grid .profile__sidebar-content > .profile__section--empty {
280
+ min-width: var(--profile-sidebar-min-width);
281
+ }
282
+
283
+ .profile-grid .profile__intro-main > .profile__section,
284
+ .profile-grid .profile__intro-main > .profile__section--empty,
285
+ .profile-grid .profile__main > .profile__section,
286
+ .profile-grid .profile__main > .profile__section--empty {
287
+ min-width: var(--profile-main-section-min-width);
288
+ }
289
+
290
+ .profile-grid > .profile__sidebar:not(.profile__intro-sidebar) {
291
+ padding-top: 0;
292
+ }
293
+
294
+ /* Section cards */
295
+ .profile-grid .profile__section,
296
+ .profile-grid .profile__section--empty {
297
+ background: var(--color-card-bg, #FFF);
298
+ border: var(--border-width-thin, 0.1rem) solid var(--color-border-lighter, #E2E8F0);
299
+ overflow-x: clip;
300
+ }
301
+
302
+ .profile-grid .profile__section {
303
+ padding: var(--spacing-lg, 1.5625rem);
304
+ border-radius: var(--border-radius-base);
305
+ }
306
+
307
+ .profile-grid .profile__section.profile-section-collapsible {
308
+ display: flex;
309
+ flex-direction: column;
310
+ gap: var(--spacing-lg, 1.5625rem);
311
+ }
312
+
313
+ .profile-grid .profile__section--empty {
314
+ padding: var(--spacing-1xl, 2.5rem) var(--spacing-lg, 1.5625rem);
315
+ }
316
+
317
+ .profile-grid .profile__sidebar-content > [data-profile-section='social'].profile__section,
318
+ .profile-grid .profile__sidebar-content > [data-profile-section='social'].profile__section--empty,
319
+ .profile-grid .profile__sidebar-content > [data-profile-section='skills'].profile__section,
320
+ .profile-grid .profile__sidebar-content > [data-profile-section='skills'].profile__section--empty,
321
+ .profile-grid .profile__sidebar-content > [data-profile-section='languages'].profile__section,
322
+ .profile-grid .profile__sidebar-content > [data-profile-section='languages'].profile__section--empty,
323
+ .profile-grid .profile__sidebar-content > [data-profile-section='contact-info'].profile__section,
324
+ .profile-grid .profile__sidebar-content > [data-profile-section='contact-info'].profile__section--empty {
325
+ padding: var(--profile-sidebar-section-padding);
326
+ }
327
+
328
+ /* Empty states */
329
+ .profile-grid solid-ui-button.profile__action-button--empty {
330
+ width: fit-content;
331
+ min-width: fit-content;
332
+ max-width: fit-content;
333
+ --button-font-size-sm: var(--font-size-sm, 0.875rem);
334
+ --button-font-weight: var(--font-weight-medium, 500);
335
+ --button-line-height: var(--line-height-tight, 1.4);
336
+ --button-background: var(--color-card-bg, #FFF);
337
+ --button-text: var(--color-text-primary, #314158);
338
+ --button-border: var(--color-border-darker, #4A5565);
339
+ --button-hover-background: var(--color-primary, #7C4DFF);
340
+ --button-hover-text: var(--color-text-on-action, var(--white, #FFF));
341
+ --button-hover-border: var(--color-primary, #7C4DFF);
342
+ }
343
+
344
+ .profile-grid solid-ui-button.profile__action-button--empty:hover .profile__action-icon svg path,
345
+ .profile-grid solid-ui-button.profile__action-button--empty:focus-visible .profile__action-icon svg path,
346
+ .profile-grid solid-ui-button.profile__action-button--empty:focus-within .profile__action-icon svg path {
347
+ stroke: var(--color-text-on-action, var(--white, #FFF));
348
+ fill: var(--color-text-on-action, var(--white, #FFF));
349
+ }
350
+
351
+ .profile-grid .profile__empty-state-message {
352
+ color: var(--color-text-empty-state, var(--gray-400, #99A1AF));
353
+ text-align: center;
354
+ font-size: var(--font-size-xs, 0.813rem);
355
+ font-weight: var(--font-weight-normal, 400);
356
+ line-height: var(--line-height-tight, 1.4);
357
+ margin-bottom: var(--spacing-md, 1.25rem);
358
+ }
359
+
360
+ .profile-grid .profile__empty-state-content {
361
+ display: flex;
362
+ flex-direction: column;
363
+ align-items: center;
364
+ gap: var(--spacing-2xs, 0.625rem);
365
+ }
366
+
367
+ .profile-grid .profile__intro-main > .profile__section--empty.profile__section--empty-main,
368
+ .profile-grid .profile__main > .profile__section--empty.profile__section--empty-main {
369
+ display: flex;
370
+ flex-direction: column;
371
+ align-items: center;
372
+ gap: var(--spacing-lg, 1.5625rem);
373
+ }
374
+
375
+ .profile-grid .profile__intro-sidebar > .profile__section--empty.profile__section--empty-sidebar,
376
+ .profile-grid .profile__sidebar-content > .profile__section--empty.profile__section--empty-sidebar {
377
+ display: flex;
378
+ flex-direction: column;
379
+ align-items: center;
380
+ }
381
+
382
+ .profile-grid .profile__empty-state-content > h2,
383
+ .profile-grid .profile__empty-state-content > p {
384
+ margin: 0;
385
+ }
386
+
387
+ .profile-grid .profile__empty-state-content > h2 {
388
+ font-size: var(--font-size-xl, 1.375rem);
389
+ font-weight: var(--font-weight-md, 500);
390
+ }
391
+
392
+ .profile-grid .profile__section--empty.profile__section--empty-main .profile__empty-state-message {
393
+ margin-bottom: 0;
394
+ }
395
+
396
+ .profile-grid .profile__section--empty .profile-section-collapsible__content {
397
+ display: flex;
398
+ flex-direction: column;
399
+ align-items: center;
400
+ }
401
+
402
+ .profile-grid .profile__section--empty.profile__section--empty-main .profile-section-collapsible__content {
403
+ gap: var(--spacing-lg, 1.5625rem);
404
+ }
405
+
406
+ .profile-grid [data-profile-section='projects'].profile__section--empty > .profile-section-collapsible__header,
407
+ .profile-grid [data-profile-section='resume'].profile__section--empty > .profile-section-collapsible__header {
408
+ display: none;
409
+ }
410
+
411
+ .profile-grid .profile__section--empty.profile__section--empty-main > .profile-section-collapsible__content > .profile__empty-state-content {
412
+ gap: var(--spacing-2xs, 0.625rem);
413
+ }
414
+
415
+ .profile-grid [data-profile-section='projects'].profile__section--empty > .profile-section-collapsible__content,
416
+ .profile-grid [data-profile-section='resume'].profile__section--empty > .profile-section-collapsible__content {
417
+ margin-top: 0;
418
+ }
419
+
420
+ /* Theme */
421
+ .profile-pane-host[data-theme='dark'] .profile-grid .profile__section,
422
+ .profile-pane-host[data-theme='dark'] .profile-grid .profile__section--empty {
423
+ border: var(--border-width-thin, 1px) solid var(--color-border, #444);
424
+ }
425
+
426
+ /* App-driven mobile layout, independent of viewport width. */
427
+ .profile-pane-host[data-layout='mobile'] .profile-grid {
428
+ font-size: clamp(0.9rem, 1.1vw + 0.65rem, 1rem);
429
+ display: flex;
430
+ flex-direction: column;
431
+ align-items: flex-start;
432
+ gap: var(--profile-stacked-section-gap);
433
+ width: 100%;
434
+ max-width: 100%;
435
+ box-sizing: border-box;
436
+ margin: 0 auto;
437
+ padding-inline: var(--spacing-xxs, 0.3125rem);
438
+ overflow-x: clip;
439
+ }
440
+
441
+ /* App-driven mobile: flatten wrappers */
442
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile-grid .profile__intro-main,
443
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile-grid .profile__intro-sidebar,
444
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile-grid .profile__main,
445
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile-grid .profile__sidebar,
446
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile-grid .profile__sidebar-content {
447
+ display: contents;
448
+ }
449
+
450
+ /* App-driven mobile: section ordering */
451
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile-grid [data-profile-section='heading'] { order: 1; }
452
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile-grid [data-profile-section='bio'] { order: 2; }
453
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile-grid [data-profile-section='skills'] { order: 3; }
454
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile-grid [data-profile-section='languages'] { order: 4; }
455
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile-grid [data-profile-section='resume'] { order: 5; }
456
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile-grid [data-profile-section='projects'] { order: 6; }
457
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile-grid [data-profile-section='social'] { order: 7; }
458
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile-grid [data-profile-section='contact-info'] { order: 8; }
459
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile-grid [data-profile-section='qr-code'] { order: 9; }
460
+
461
+ /* App-driven mobile: interaction and typography */
462
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile-grid .profile__action-button {
463
+ min-height: calc(var(--min-touch-target, 44px) + 0.5rem) !important;
464
+ font-size: clamp(0.9rem, 2.1vw, 1rem) !important;
465
+ }
466
+
467
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile__section-header:not(.profile-edit-dialog__contact-section-header) h2,
468
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile__section-header:not(.profile-edit-dialog__contact-section-header) h3,
469
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile__section-header:not(.profile-edit-dialog__contact-section-header) h4 {
470
+ font-size: var(--profile-mobile-section-heading-size, var(--font-size-lg, 1.125rem)) !important;
471
+ line-height: 1.2 !important;
472
+ }
473
+
474
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile-grid .friends-pane__header-name {
475
+ font-size: 1.5rem !important;
476
+ line-height: 1.15 !important;
477
+ }
478
+
479
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile-grid .friends-pane__header-pronouns,
480
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile-grid .friends-pane__friends-pronouns {
481
+ font-size: 0.6875rem !important;
482
+ line-height: 1.1 !important;
483
+ }
484
+
485
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile-grid .profile__empty-state-content > h2,
486
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile-grid .resume-card__section h3 {
487
+ font-size: var(--profile-mobile-section-heading-size, var(--font-size-lg, 1.125rem)) !important;
488
+ line-height: 1.2 !important;
489
+ }
490
+
491
+ /* App-driven mobile: cards and sidebar */
492
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile-grid .profile__section,
493
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile-grid .profile__section--empty {
494
+ display: flex;
495
+ flex-direction: column;
496
+ align-items: flex-start;
497
+ /* Keep all mobile section cards at 15px padding across layout, media, and container fallbacks. */
498
+ padding: var(--profile-mobile-section-padding);
499
+ border-radius: var(--border-radius-base, 0.3125rem);
500
+ border: var(--border-width-thin, 0.1rem) solid var(--color-border-subtle, var(--gray-100, #F3F4F6));
501
+ background: var(--color-card-bg, var(--white, #FFF));
502
+ }
503
+
504
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile-grid [data-profile-section='social'].profile__section,
505
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile-grid [data-profile-section='social'].profile__section--empty {
506
+ border: none;
507
+ }
508
+
509
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile-grid .profile__sidebar {
510
+ padding: 0 !important;
511
+ min-width: 0;
512
+ border-radius: 0;
513
+ background: transparent;
514
+ align-self: stretch;
515
+ }
516
+
517
+ /* App-driven mobile: width and sidebar padding overrides */
518
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile-grid .profile__sidebar-content,
519
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile-grid .profile__intro-sidebar > .profile__section,
520
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile-grid .profile__intro-sidebar > .profile__section--empty,
521
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile-grid .profile__intro-main > .profile__section,
522
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile-grid .profile__intro-main > .profile__section--empty,
523
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile-grid .profile__main > .profile__section,
524
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile-grid .profile__main > .profile__section--empty,
525
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile-grid .profile__sidebar-content > .profile__section,
526
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile-grid .profile__sidebar-content > .profile__section--empty {
527
+ min-width: 0;
528
+ }
529
+
530
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile-grid .profile__intro-sidebar > .profile__section,
531
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile-grid .profile__intro-sidebar > .profile__section--empty,
532
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile-grid .profile__sidebar-content > [data-profile-section='social'].profile__section,
533
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile-grid .profile__sidebar-content > [data-profile-section='social'].profile__section--empty,
534
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile-grid .profile__sidebar-content > [data-profile-section='skills'].profile__section,
535
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile-grid .profile__sidebar-content > [data-profile-section='skills'].profile__section--empty,
536
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile-grid .profile__sidebar-content > [data-profile-section='languages'].profile__section,
537
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile-grid .profile__sidebar-content > [data-profile-section='languages'].profile__section--empty,
538
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile-grid .profile__sidebar-content > [data-profile-section='contact-info'].profile__section,
539
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile-grid .profile__sidebar-content > [data-profile-section='contact-info'].profile__section--empty {
540
+ padding: var(--profile-mobile-section-padding);
541
+ }
542
+
543
+ /* App-driven mobile: empty-state presentation */
544
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile-grid .profile__section.profile-section-collapsible {
545
+ gap: 0;
546
+ }
547
+
548
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile-grid .profile__section--empty.profile-section-collapsible {
549
+ gap: var(--spacing-2xs, 0.625rem);
550
+ }
551
+
552
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile-grid [data-profile-section='projects'].profile__section--empty > .profile-section-collapsible__header,
553
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile-grid [data-profile-section='resume'].profile__section--empty > .profile-section-collapsible__header {
554
+ display: flex;
555
+ }
556
+
557
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile-grid [data-profile-section='projects'].profile__section--empty .profile-section-collapsible__content .profile__empty-state-content > h2,
558
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile-grid [data-profile-section='resume'].profile__section--empty .profile-section-collapsible__content .profile__empty-state-content > h2 {
559
+ display: none;
560
+ }
561
+
562
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile-grid .profile__section--empty .profile__action-button--empty {
563
+ align-self: center;
564
+ }
565
+
566
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile-grid .profile__section--empty .profile__empty-state-content {
567
+ align-items: center;
568
+ text-align: center;
569
+ width: 100%;
570
+ }
571
+
572
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile-grid .profile__section--empty .profile__empty-state-content > h2,
573
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile-grid .profile__section--empty .profile__empty-state-content > p {
574
+ text-align: center;
575
+ width: 100%;
576
+ }
577
+
578
+ /* App-driven mobile: profile header and bio actions */
579
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile-grid .profile__name {
580
+ font-size: var(--profile-mobile-header-name-size, var(--font-size-xl, 1.375rem)) !important;
581
+ line-height: 1.15 !important;
582
+ }
583
+
584
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile-grid .profile__role-org {
585
+ font-size: var(--profile-mobile-header-job-title-size, var(--font-size-md, 1rem)) !important;
586
+ }
587
+
588
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile-grid .profile__details {
589
+ font-size: var(--profile-mobile-header-detail-size, var(--font-size-xxs, 0.75rem)) !important;
590
+ }
591
+
592
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile-grid .profile__pronouns {
593
+ font-size: var(--profile-mobile-header-pronouns-size, 0.6875rem) !important;
594
+ line-height: 1.1 !important;
595
+ }
596
+
597
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile__section--empty .profile-section-collapsible__actions > .profile-section-collapsible__edit-button {
598
+ order: 2;
599
+ }
600
+
601
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile__section--empty .profile-section-collapsible__edit-label {
602
+ display: none !important;
603
+ }
604
+
605
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] [data-profile-section='bio'].profile__section--empty .profile-section-collapsible__actions {
606
+ --profile-section-collapsible-action-button-text: var(--color-text-primary, #314158);
607
+ }
608
+
609
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .profile__section--empty .profile-section-collapsible__edit-icon {
610
+ display: inline !important;
611
+ }
612
+
613
+ /* Container width guard for embedded panes */
614
+ @container profile-pane (max-width: 56.5625rem) {
615
+ #main-content.profile-grid {
616
+ width: 100%;
617
+ max-width: 100%;
618
+ box-sizing: border-box;
619
+ margin-inline: auto !important;
620
+ }
621
+ }
622
+
623
+ /* Viewport fallback only when layout state is unavailable. */
624
+ @media (max-width: 56.5625rem) {
625
+ /* Viewport stacked: layout shell */
626
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid {
627
+ font-size: clamp(0.9rem, 1.1vw + 0.65rem, 1rem);
628
+ display: flex;
629
+ flex-direction: column;
630
+ align-items: flex-start;
631
+ gap: var(--profile-stacked-section-gap);
632
+ width: 100%;
633
+ max-width: 100%;
634
+ box-sizing: border-box;
635
+ margin: 0 auto;
636
+ padding-inline: var(--spacing-xxs, 0.3125rem);
637
+ overflow-x: clip;
638
+ }
639
+
640
+ /* Viewport stacked: interaction and wrappers */
641
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid .profile__action-button {
642
+ min-height: calc(var(--min-touch-target, 44px) + 0.5rem) !important;
643
+ font-size: clamp(0.9rem, 2.1vw, 1rem) !important;
644
+ }
645
+
646
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid .profile__intro-main,
647
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid .profile__intro-sidebar,
648
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid .profile__main,
649
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid .profile__sidebar,
650
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid .profile__sidebar-content {
651
+ display: contents;
652
+ min-width: 0;
653
+ }
654
+
655
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid .profile__sidebar:not(.profile__intro-sidebar) {
656
+ padding: 0 !important;
657
+ display: contents;
658
+ border-radius: 0;
659
+ background: transparent;
660
+ align-self: stretch;
661
+ }
662
+
663
+ /* Viewport stacked: section ordering */
664
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid [data-profile-section='heading'] { order: 1; }
665
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid [data-profile-section='bio'] { order: 2; }
666
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid [data-profile-section='skills'] { order: 3; }
667
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid [data-profile-section='languages'] { order: 4; }
668
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid [data-profile-section='resume'] { order: 5; }
669
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid [data-profile-section='projects'] { order: 6; }
670
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid [data-profile-section='social'] { order: 7; }
671
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid [data-profile-section='contact-info'] { order: 8; }
672
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid [data-profile-section='qr-code'] { order: 9; }
673
+
674
+ /* Viewport stacked: typography */
675
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile__section-header:not(.profile-edit-dialog__contact-section-header) h2,
676
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile__section-header:not(.profile-edit-dialog__contact-section-header) h3,
677
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile__section-header:not(.profile-edit-dialog__contact-section-header) h4 {
678
+ font-size: var(--profile-mobile-section-heading-size, var(--font-size-lg, 1.125rem)) !important;
679
+ line-height: 1.2 !important;
680
+ }
681
+
682
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid .friends-pane__header-name {
683
+ font-size: 1.5rem !important;
684
+ line-height: 1.15 !important;
685
+ }
686
+
687
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid .friends-pane__header-pronouns,
688
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid .friends-pane__friends-pronouns {
689
+ font-size: 0.6875rem !important;
690
+ line-height: 1.1 !important;
691
+ }
692
+
693
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid .profile__section,
694
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid .profile__section--empty {
695
+ display: flex;
696
+ flex-direction: column;
697
+ align-items: flex-start;
698
+ padding: var(--profile-mobile-section-padding);
699
+ border-radius: var(--border-radius-base, 0.3125rem);
700
+ border: var(--border-width-thin, 0.1rem) solid var(--color-border-subtle, var(--gray-100, #F3F4F6));
701
+ background: var(--color-card-bg, var(--white, #FFF));
702
+ }
703
+
704
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid [data-profile-section='social'].profile__section,
705
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid [data-profile-section='social'].profile__section--empty {
706
+ border: none;
707
+ }
708
+
709
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid [data-profile-section='bio'].profile__section--empty .profile-section-collapsible__actions {
710
+ --profile-section-collapsible-action-button-text: var(--color-text-primary, #314158);
711
+ }
712
+
713
+ /* Viewport stacked: width and sidebar padding overrides */
714
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid .profile__intro-sidebar > .profile__section,
715
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid .profile__intro-sidebar > .profile__section--empty,
716
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid .profile__intro-main > .profile__section,
717
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid .profile__intro-main > .profile__section--empty,
718
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid .profile__main > .profile__section,
719
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid .profile__main > .profile__section--empty,
720
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid .profile__sidebar-content > .profile__section,
721
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid .profile__sidebar-content > .profile__section--empty {
722
+ min-width: 0;
723
+ }
724
+
725
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid .profile__intro-sidebar > .profile__section,
726
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid .profile__intro-sidebar > .profile__section--empty,
727
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid .profile__sidebar-content > [data-profile-section='social'].profile__section,
728
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid .profile__sidebar-content > [data-profile-section='social'].profile__section--empty,
729
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid .profile__sidebar-content > [data-profile-section='skills'].profile__section,
730
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid .profile__sidebar-content > [data-profile-section='skills'].profile__section--empty,
731
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid .profile__sidebar-content > [data-profile-section='languages'].profile__section,
732
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid .profile__sidebar-content > [data-profile-section='languages'].profile__section--empty,
733
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid .profile__sidebar-content > [data-profile-section='contact-info'].profile__section,
734
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid .profile__sidebar-content > [data-profile-section='contact-info'].profile__section--empty {
735
+ padding: var(--profile-mobile-section-padding);
736
+ }
737
+
738
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid .profile__section.profile-section-collapsible {
739
+ gap: 0;
740
+ }
741
+
742
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid .profile__section--empty.profile-section-collapsible {
743
+ gap: var(--spacing-2xs, 0.625rem);
744
+ }
745
+
746
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid [data-profile-section='projects'].profile__section--empty > .profile-section-collapsible__header,
747
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid [data-profile-section='resume'].profile__section--empty > .profile-section-collapsible__header {
748
+ display: flex;
749
+ }
750
+
751
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid [data-profile-section='projects'].profile__section--empty .profile-section-collapsible__content .profile__empty-state-content > h2,
752
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid [data-profile-section='resume'].profile__section--empty .profile-section-collapsible__content .profile__empty-state-content > h2 {
753
+ display: none;
754
+ }
755
+ }
756
+
757
+ /* Container-driven stacked layout */
758
+ @container profile-pane (max-width: 56.5625rem) {
759
+ /* Container stacked: layout shell */
760
+ .profile-grid {
761
+ font-size: clamp(0.9rem, 1.1vw + 0.65rem, 1rem);
762
+ display: flex;
763
+ flex-direction: column;
764
+ align-items: flex-start;
765
+ gap: var(--profile-stacked-section-gap);
766
+ width: 100%;
767
+ max-width: 100%;
768
+ box-sizing: border-box;
769
+ margin: 0 auto;
770
+ overflow-x: clip;
771
+ }
772
+
773
+ /* Container stacked: interaction and wrappers */
774
+ .profile-grid .profile__action-button {
775
+ min-height: calc(var(--min-touch-target, 44px) + 0.5rem) !important;
776
+ font-size: clamp(0.9rem, 2.1vw, 1rem) !important;
777
+ }
778
+
779
+ .profile-grid .profile__intro-main,
780
+ .profile-grid .profile__intro-sidebar,
781
+ .profile-grid .profile__main,
782
+ .profile-grid .profile__sidebar,
783
+ .profile-grid .profile__sidebar-content {
784
+ display: contents;
785
+ min-width: 0;
786
+ }
787
+
788
+ .profile-grid .profile__sidebar:not(.profile__intro-sidebar) {
789
+ padding: 0 !important;
790
+ display: contents;
791
+ border-radius: 0;
792
+ background: transparent;
793
+ align-self: stretch;
794
+ }
795
+
796
+ /* Container stacked: section ordering */
797
+ .profile-grid [data-profile-section='heading'] { order: 1; }
798
+ .profile-grid [data-profile-section='bio'] { order: 2; }
799
+ .profile-grid [data-profile-section='skills'] { order: 3; }
800
+ .profile-grid [data-profile-section='languages'] { order: 4; }
801
+ .profile-grid [data-profile-section='resume'] { order: 5; }
802
+ .profile-grid [data-profile-section='projects'] { order: 6; }
803
+ .profile-grid [data-profile-section='social'] { order: 7; }
804
+ .profile-grid [data-profile-section='contact-info'] { order: 8; }
805
+ .profile-grid [data-profile-section='qr-code'] { order: 9; }
806
+
807
+ /* Container stacked: typography */
808
+ .profile__section-header:not(.profile-edit-dialog__contact-section-header) h2,
809
+ .profile__section-header:not(.profile-edit-dialog__contact-section-header) h3,
810
+ .profile__section-header:not(.profile-edit-dialog__contact-section-header) h4 {
811
+ font-size: var(--profile-mobile-section-heading-size, var(--font-size-lg, 1.125rem)) !important;
812
+ line-height: 1.2 !important;
813
+ }
814
+
815
+ .profile-grid .friends-pane__header-name {
816
+ font-size: 1.5rem !important;
817
+ line-height: 1.15 !important;
818
+ }
819
+
820
+ .profile-grid .friends-pane__header-pronouns,
821
+ .profile-grid .friends-pane__friends-pronouns {
822
+ font-size: 0.6875rem !important;
823
+ line-height: 1.1 !important;
824
+ }
825
+
826
+ .profile-grid .profile__section,
827
+ .profile-grid .profile__section--empty {
828
+ display: flex;
829
+ flex-direction: column;
830
+ align-items: flex-start;
831
+ padding: var(--profile-mobile-section-padding);
832
+ border-radius: var(--border-radius-base, 0.3125rem);
833
+ border: var(--border-width-thin, 0.1rem) solid var(--color-border-subtle, var(--gray-100, #F3F4F6));
834
+ background: var(--color-card-bg, var(--white, #FFF));
835
+ }
836
+
837
+ .profile-grid [data-profile-section='social'].profile__section,
838
+ .profile-grid [data-profile-section='social'].profile__section--empty {
839
+ border: none;
840
+ }
841
+
842
+ .profile-grid [data-profile-section='bio'].profile__section--empty .profile-section-collapsible__actions {
843
+ --profile-section-collapsible-action-button-text: var(--color-text-primary, #314158);
844
+ }
845
+
846
+ /* Container stacked: width and sidebar padding overrides */
847
+ .profile-grid .profile__intro-sidebar > .profile__section,
848
+ .profile-grid .profile__intro-sidebar > .profile__section--empty,
849
+ .profile-grid .profile__intro-main > .profile__section,
850
+ .profile-grid .profile__intro-main > .profile__section--empty,
851
+ .profile-grid .profile__main > .profile__section,
852
+ .profile-grid .profile__main > .profile__section--empty,
853
+ .profile-grid .profile__sidebar-content > .profile__section,
854
+ .profile-grid .profile__sidebar-content > .profile__section--empty {
855
+ min-width: 0;
856
+ }
857
+
858
+ .profile-grid .profile__intro-sidebar > .profile__section,
859
+ .profile-grid .profile__intro-sidebar > .profile__section--empty,
860
+ .profile-grid .profile__sidebar-content > [data-profile-section='social'].profile__section,
861
+ .profile-grid .profile__sidebar-content > [data-profile-section='social'].profile__section--empty,
862
+ .profile-grid .profile__sidebar-content > [data-profile-section='skills'].profile__section,
863
+ .profile-grid .profile__sidebar-content > [data-profile-section='skills'].profile__section--empty,
864
+ .profile-grid .profile__sidebar-content > [data-profile-section='languages'].profile__section,
865
+ .profile-grid .profile__sidebar-content > [data-profile-section='languages'].profile__section--empty,
866
+ .profile-grid .profile__sidebar-content > [data-profile-section='contact-info'].profile__section,
867
+ .profile-grid .profile__sidebar-content > [data-profile-section='contact-info'].profile__section--empty {
868
+ padding: var(--profile-mobile-section-padding);
869
+ }
870
+
871
+ .profile-grid .profile__section.profile-section-collapsible {
872
+ gap: 0;
873
+ }
874
+
875
+ .profile-grid .profile__section--empty.profile-section-collapsible {
876
+ gap: var(--spacing-2xs, 0.625rem);
877
+ }
878
+
879
+ .profile-grid [data-profile-section='projects'].profile__section--empty > .profile-section-collapsible__header,
880
+ .profile-grid [data-profile-section='resume'].profile__section--empty > .profile-section-collapsible__header {
881
+ display: flex;
882
+ }
883
+
884
+ .profile-grid [data-profile-section='projects'].profile__section--empty .profile-section-collapsible__content .profile__empty-state-content > h2,
885
+ .profile-grid [data-profile-section='resume'].profile__section--empty .profile-section-collapsible__content .profile__empty-state-content > h2 {
886
+ display: none;
887
+ }
888
+ }
889
+
890
+ /* Narrow-phone fallback once the layout is already stacked. */
891
+ @media (max-width: 576px) {
892
+ /* Narrow viewport: cards and sidebar */
893
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid .profile__sidebar:not(.profile__intro-sidebar) {
894
+ padding: 0 !important;
895
+ display: contents;
896
+ border-radius: 0;
897
+ background: transparent;
898
+ align-self: stretch;
899
+ }
900
+
901
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid .profile__section,
902
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid .profile__section--empty {
903
+ display: flex;
904
+ flex-direction: column;
905
+ align-items: flex-start;
906
+ padding: var(--profile-mobile-section-padding);
907
+ border-radius: var(--border-radius-base, 0.3125rem);
908
+ border: var(--border-width-thin, 0.1rem) solid var(--color-border-subtle, var(--gray-100, #F3F4F6));
909
+ background: var(--color-card-bg, var(--white, #FFF));
910
+ }
911
+
912
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid .profile__intro-sidebar > .profile__section,
913
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid .profile__intro-sidebar > .profile__section--empty,
914
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid .profile__sidebar-content > [data-profile-section='social'].profile__section,
915
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid .profile__sidebar-content > [data-profile-section='social'].profile__section--empty,
916
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid .profile__sidebar-content > [data-profile-section='skills'].profile__section,
917
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid .profile__sidebar-content > [data-profile-section='skills'].profile__section--empty,
918
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid .profile__sidebar-content > [data-profile-section='languages'].profile__section,
919
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid .profile__sidebar-content > [data-profile-section='languages'].profile__section--empty,
920
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid .profile__sidebar-content > [data-profile-section='contact-info'].profile__section,
921
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid .profile__sidebar-content > [data-profile-section='contact-info'].profile__section--empty {
922
+ padding: var(--profile-mobile-section-padding);
923
+ }
924
+
925
+ /* Narrow viewport: empty states */
926
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid [data-profile-section='projects'].profile__section--empty > .profile-section-collapsible__header,
927
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid [data-profile-section='resume'].profile__section--empty > .profile-section-collapsible__header {
928
+ display: flex;
929
+ }
930
+
931
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid [data-profile-section='projects'].profile__section--empty .profile-section-collapsible__content .profile__empty-state-content > h2,
932
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid [data-profile-section='resume'].profile__section--empty .profile-section-collapsible__content .profile__empty-state-content > h2 {
933
+ display: none;
934
+ }
935
+
936
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid .profile__section--empty .profile__action-button--empty {
937
+ align-self: center;
938
+ }
939
+
940
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid .profile__section--empty .profile__empty-state-content {
941
+ align-items: center;
942
+ text-align: center;
943
+ width: 100%;
944
+ }
945
+
946
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid .profile__section--empty .profile__empty-state-content > h2,
947
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid .profile__section--empty .profile__empty-state-content > p {
948
+ text-align: center;
949
+ width: 100%;
950
+ }
951
+
952
+ /* Narrow viewport: typography */
953
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid .profile__empty-state-content > h2,
954
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid .resume-card__section h3 {
955
+ font-size: var(--profile-mobile-section-heading-size, var(--font-size-lg, 1.125rem)) !important;
956
+ line-height: 1.2 !important;
957
+ }
958
+
959
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid .profile__name {
960
+ font-size: var(--profile-mobile-header-name-size, var(--font-size-xl, 1.375rem)) !important;
961
+ line-height: 1.15 !important;
962
+ }
963
+
964
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid .profile__role-org {
965
+ font-size: var(--profile-mobile-header-job-title-size, var(--font-size-md, 1rem)) !important;
966
+ }
967
+
968
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid .profile__details {
969
+ font-size: var(--profile-mobile-header-detail-size, var(--font-size-xxs, 0.75rem)) !important;
970
+ }
971
+
972
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile-grid .profile__pronouns {
973
+ font-size: var(--profile-mobile-header-pronouns-size, 0.6875rem) !important;
974
+ line-height: 1.1 !important;
975
+ }
976
+
977
+ /* Narrow viewport: empty-state edit actions */
978
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile__section--empty .profile-section-collapsible__actions > .profile-section-collapsible__edit-button {
979
+ order: 2;
980
+ }
981
+
982
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile__section--empty .profile-section-collapsible__edit-label {
983
+ display: none !important;
984
+ }
985
+
986
+ :is(.profile-pane-host, .profile-pane-root):not([data-layout]) .profile__section--empty .profile-section-collapsible__edit-icon {
987
+ display: inline !important;
988
+ }
989
+ }
990
+
991
+ /* Narrow container fallback */
992
+ @container profile-pane (max-width: 576px) {
993
+ /* Narrow container: cards and sidebar */
994
+ .profile-grid .profile__sidebar:not(.profile__intro-sidebar) {
995
+ padding: 0 !important;
996
+ display: contents;
997
+ border-radius: 0;
998
+ background: transparent;
999
+ align-self: stretch;
1000
+ }
1001
+
1002
+ .profile-grid .profile__section,
1003
+ .profile-grid .profile__section--empty {
1004
+ display: flex;
1005
+ flex-direction: column;
1006
+ align-items: flex-start;
1007
+ padding: var(--profile-mobile-section-padding);
1008
+ border-radius: var(--border-radius-base, 0.3125rem);
1009
+ border: var(--border-width-thin, 0.1rem) solid var(--color-border-subtle, var(--gray-100, #F3F4F6));
1010
+ background: var(--color-card-bg, var(--white, #FFF));
1011
+ }
1012
+
1013
+ .profile-grid .profile__intro-sidebar > .profile__section,
1014
+ .profile-grid .profile__intro-sidebar > .profile__section--empty,
1015
+ .profile-grid .profile__sidebar-content > [data-profile-section='social'].profile__section,
1016
+ .profile-grid .profile__sidebar-content > [data-profile-section='social'].profile__section--empty,
1017
+ .profile-grid .profile__sidebar-content > [data-profile-section='skills'].profile__section,
1018
+ .profile-grid .profile__sidebar-content > [data-profile-section='skills'].profile__section--empty,
1019
+ .profile-grid .profile__sidebar-content > [data-profile-section='languages'].profile__section,
1020
+ .profile-grid .profile__sidebar-content > [data-profile-section='languages'].profile__section--empty,
1021
+ .profile-grid .profile__sidebar-content > [data-profile-section='contact-info'].profile__section,
1022
+ .profile-grid .profile__sidebar-content > [data-profile-section='contact-info'].profile__section--empty {
1023
+ padding: var(--profile-mobile-section-padding);
1024
+ }
1025
+
1026
+ /* Narrow container: empty states */
1027
+ .profile-grid [data-profile-section='projects'].profile__section--empty > .profile-section-collapsible__header,
1028
+ .profile-grid [data-profile-section='resume'].profile__section--empty > .profile-section-collapsible__header {
1029
+ display: flex;
1030
+ }
1031
+
1032
+ .profile-grid [data-profile-section='projects'].profile__section--empty .profile-section-collapsible__content .profile__empty-state-content > h2,
1033
+ .profile-grid [data-profile-section='resume'].profile__section--empty .profile-section-collapsible__content .profile__empty-state-content > h2 {
1034
+ display: none;
1035
+ }
1036
+
1037
+ .profile-grid .profile__section--empty .profile__action-button--empty {
1038
+ align-self: center;
1039
+ }
1040
+
1041
+ .profile-grid .profile__section--empty .profile__empty-state-content {
1042
+ align-items: center;
1043
+ text-align: center;
1044
+ width: 100%;
1045
+ }
1046
+
1047
+ .profile-grid .profile__section--empty .profile__empty-state-content > h2,
1048
+ .profile-grid .profile__section--empty .profile__empty-state-content > p {
1049
+ text-align: center;
1050
+ width: 100%;
1051
+ }
1052
+
1053
+ /* Narrow container: typography */
1054
+ .profile-grid .profile__empty-state-content > h2,
1055
+ .profile-grid .resume-card__section h3 {
1056
+ font-size: var(--profile-mobile-section-heading-size, var(--font-size-lg, 1.125rem)) !important;
1057
+ line-height: 1.2 !important;
1058
+ }
1059
+
1060
+ .profile-grid .profile__name {
1061
+ font-size: var(--profile-mobile-header-name-size, var(--font-size-xl, 1.375rem)) !important;
1062
+ line-height: 1.15 !important;
1063
+ }
1064
+
1065
+ .profile-grid .profile__role-org {
1066
+ font-size: var(--profile-mobile-header-job-title-size, var(--font-size-md, 1rem)) !important;
1067
+ }
1068
+
1069
+ .profile-grid .profile__details {
1070
+ font-size: var(--profile-mobile-header-detail-size, var(--font-size-xxs, 0.75rem)) !important;
1071
+ }
1072
+
1073
+ .profile-grid .profile__pronouns {
1074
+ font-size: var(--profile-mobile-header-pronouns-size, 0.6875rem) !important;
1075
+ line-height: 1.1 !important;
1076
+ }
1077
+
1078
+ /* Narrow container: empty-state edit actions */
1079
+ .profile__section--empty .profile-section-collapsible__actions > .profile-section-collapsible__edit-button {
1080
+ order: 2;
1081
+ }
1082
+
1083
+ .profile__section--empty .profile-section-collapsible__edit-label {
1084
+ display: none !important;
1085
+ }
1086
+
1087
+ .profile__section--empty .profile-section-collapsible__edit-icon {
1088
+ display: inline !important;
1089
+ }
1090
+ }