(READ ONLY) Margin is an open annotation layer for the internet. Powered by the AT Protocol. margin.at
extension web atproto comments
98
fork

Configure Feed

Select the types of activity you want to include in your feed.

at ui-refactor 311 lines 5.4 kB view raw
1.profile-header { 2 display: flex; 3 align-items: flex-start; 4 gap: 24px; 5 margin-bottom: 32px; 6 padding-bottom: 24px; 7 border-bottom: 1px solid var(--border); 8} 9 10.profile-avatar { 11 width: 80px; 12 height: 80px; 13 min-width: 80px; 14 border-radius: 50%; 15 background: var(--bg-tertiary); 16 display: flex; 17 align-items: center; 18 justify-content: center; 19 font-weight: 600; 20 font-size: 2rem; 21 color: var(--text-secondary); 22 overflow: hidden; 23 border: 1px solid var(--border); 24} 25 26.profile-avatar img { 27 width: 100%; 28 height: 100%; 29 object-fit: cover; 30} 31 32.profile-avatar-link { 33 text-decoration: none; 34} 35 36.profile-info { 37 flex: 1; 38 display: flex; 39 flex-direction: column; 40 gap: 4px; 41} 42 43.profile-name { 44 font-size: 1.5rem; 45 font-weight: 700; 46 color: var(--text-primary); 47 line-height: 1.2; 48 overflow-wrap: break-word; 49 word-break: break-word; 50} 51 52.profile-handle-row { 53 display: flex; 54 align-items: center; 55 gap: 12px; 56 margin-top: 4px; 57 flex-wrap: wrap; 58} 59 60.profile-handle-link { 61 color: var(--text-tertiary); 62 text-decoration: none; 63 font-size: 1rem; 64 transition: color 0.15s; 65 overflow-wrap: break-word; 66 word-break: break-all; 67} 68 69.profile-handle-link:hover { 70 color: var(--text-secondary); 71} 72 73.profile-bluesky-link { 74 display: inline-flex; 75 align-items: center; 76 gap: 6px; 77 color: #3b82f6; 78 text-decoration: none; 79 font-size: 0.85rem; 80 font-weight: 500; 81 padding: 2px 8px; 82 border-radius: var(--radius-sm); 83 background: rgba(59, 130, 246, 0.1); 84 transition: all 0.15s ease; 85 width: fit-content; 86} 87 88.profile-bluesky-link:hover { 89 background: rgba(59, 130, 246, 0.15); 90} 91 92.profile-stats { 93 display: flex; 94 gap: 24px; 95 margin-top: 12px; 96} 97 98.profile-stat { 99 color: var(--text-tertiary); 100 font-size: 0.9rem; 101} 102 103.profile-stat strong { 104 color: var(--text-primary); 105 font-weight: 600; 106} 107 108.profile-tabs { 109 display: flex; 110 gap: 24px; 111 margin-bottom: 24px; 112 border-bottom: 1px solid var(--border); 113 flex-wrap: wrap; 114 row-gap: 8px; 115} 116 117.profile-tab { 118 padding: 12px 0; 119 font-size: 0.95rem; 120 font-weight: 500; 121 color: var(--text-tertiary); 122 background: transparent; 123 border: none; 124 cursor: pointer; 125 transition: all 0.15s ease; 126 position: relative; 127} 128 129.profile-tab:hover { 130 color: var(--text-primary); 131} 132 133.profile-tab.active { 134 color: var(--text-primary); 135} 136 137.profile-tab.active::after { 138 content: ""; 139 position: absolute; 140 bottom: -1px; 141 left: 0; 142 right: 0; 143 height: 2px; 144 background: var(--text-primary); 145} 146 147.profile-badge-wrapper { 148 display: inline-flex; 149 align-items: center; 150} 151 152.profile-badge-clickable { 153 position: relative; 154 display: inline-flex; 155 align-items: center; 156 cursor: pointer; 157 margin-left: 8px; 158} 159 160.badge-info-popover { 161 position: absolute; 162 top: calc(100% + 8px); 163 left: 50%; 164 transform: translateX(-50%); 165 padding: 16px; 166 background: var(--bg-elevated); 167 border: 1px solid var(--border); 168 border-radius: var(--radius-md); 169 box-shadow: var(--shadow-lg); 170 font-size: 0.85rem; 171 white-space: nowrap; 172 z-index: 100; 173 min-width: 200px; 174} 175 176.badge-info-title { 177 font-weight: 600; 178 color: var(--text-primary); 179 margin-bottom: 8px; 180} 181 182.verifier-link { 183 display: flex; 184 align-items: center; 185 gap: 8px; 186 padding: 8px; 187 background: var(--bg-tertiary); 188 border-radius: var(--radius-sm); 189 text-decoration: none; 190 transition: background 0.15s ease; 191} 192 193.verifier-link:hover { 194 background: var(--bg-hover); 195} 196 197.verifier-avatar { 198 width: 24px; 199 height: 24px; 200 border-radius: 50%; 201 object-fit: cover; 202} 203 204.verifier-name { 205 color: var(--text-primary); 206 font-size: 0.85rem; 207 font-weight: 500; 208} 209 210.profile-suspended { 211 display: flex; 212 flex-direction: column; 213 align-items: center; 214 justify-content: center; 215 padding: 60px 20px; 216 text-align: center; 217 background: var(--bg-secondary); 218 border-radius: var(--radius-lg); 219 margin-top: 20px; 220 border: 1px solid var(--border); 221} 222 223.suspended-icon { 224 font-size: 40px; 225 margin-bottom: 16px; 226 color: var(--text-tertiary); 227} 228 229.profile-suspended h2 { 230 color: var(--text-primary); 231 margin-bottom: 8px; 232 font-size: 1.25rem; 233} 234 235@media (max-width: 640px) { 236 .profile-header { 237 flex-direction: column; 238 text-align: center; 239 } 240 241 .profile-info { 242 align-items: center; 243 } 244 245 .profile-handle-row { 246 justify-content: center; 247 } 248 249 .profile-stats { 250 justify-content: center; 251 } 252 253 .profile-tabs { 254 justify-content: center; 255 gap: 16px; 256 } 257} 258 259.profile-margin-details { 260 margin-top: 16px; 261 display: flex; 262 flex-direction: column; 263 gap: 12px; 264} 265 266.profile-bio { 267 font-size: 0.95rem; 268 color: var(--text-primary); 269 line-height: 1.5; 270 white-space: pre-wrap; 271 max-width: 600px; 272} 273 274.profile-links { 275 display: flex; 276 flex-wrap: wrap; 277 gap: 8px; 278 align-items: center; 279} 280 281.profile-link-chip { 282 display: inline-flex; 283 align-items: center; 284 gap: 6px; 285 padding: 6px 12px; 286 background: var(--bg-tertiary); 287 border: 1px solid var(--border); 288 border-radius: 8px; 289 color: var(--text-secondary); 290 text-decoration: none; 291 font-size: 0.85rem; 292 font-weight: 500; 293 transition: all 0.2s ease; 294} 295 296.profile-link-chip:hover { 297 background: var(--bg-hover); 298 color: var(--text-primary); 299 border-color: var(--text-tertiary); 300 transform: translateY(-1px); 301} 302 303.profile-link-chip.main-website { 304 background: rgba(var(--accent-rgb), 0.1); 305 color: var(--accent); 306 border-color: var(--accent); 307} 308 309.profile-link-chip.main-website:hover { 310 background: rgba(var(--accent-rgb), 0.15); 311}