Write on the margins of the internet. Powered by the AT Protocol. margin.at
extension web atproto comments
at 92fc8b21b443c2bb257fbced7ca5b8ab46037f62 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}