Write on the margins of the internet. Powered by the AT Protocol. margin.at
extension web atproto comments
at v0.1.13 4.6 kB view raw
1.profile-header { 2 display: flex; 3 align-items: center; 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} 49 50.profile-handle-row { 51 display: flex; 52 align-items: center; 53 gap: 12px; 54 margin-top: 4px; 55 flex-wrap: wrap; 56} 57 58.profile-handle-link { 59 color: var(--text-tertiary); 60 text-decoration: none; 61 font-size: 1rem; 62 transition: color 0.15s; 63} 64 65.profile-handle-link:hover { 66 color: var(--text-secondary); 67} 68 69.profile-bluesky-link { 70 display: inline-flex; 71 align-items: center; 72 gap: 6px; 73 color: #3b82f6; 74 text-decoration: none; 75 font-size: 0.85rem; 76 font-weight: 500; 77 padding: 2px 8px; 78 border-radius: var(--radius-sm); 79 background: rgba(59, 130, 246, 0.1); 80 transition: all 0.15s ease; 81} 82 83.profile-bluesky-link:hover { 84 background: rgba(59, 130, 246, 0.15); 85} 86 87.profile-stats { 88 display: flex; 89 gap: 24px; 90 margin-top: 12px; 91} 92 93.profile-stat { 94 color: var(--text-tertiary); 95 font-size: 0.9rem; 96} 97 98.profile-stat strong { 99 color: var(--text-primary); 100 font-weight: 600; 101} 102 103.profile-tabs { 104 display: flex; 105 gap: 24px; 106 margin-bottom: 24px; 107 border-bottom: 1px solid var(--border); 108} 109 110.profile-tab { 111 padding: 12px 0; 112 font-size: 0.95rem; 113 font-weight: 500; 114 color: var(--text-tertiary); 115 background: transparent; 116 border: none; 117 cursor: pointer; 118 transition: all 0.15s ease; 119 position: relative; 120} 121 122.profile-tab:hover { 123 color: var(--text-primary); 124} 125 126.profile-tab.active { 127 color: var(--text-primary); 128} 129 130.profile-tab.active::after { 131 content: ""; 132 position: absolute; 133 bottom: -1px; 134 left: 0; 135 right: 0; 136 height: 2px; 137 background: var(--text-primary); 138} 139 140.profile-badge-wrapper { 141 display: inline-flex; 142 align-items: center; 143} 144 145.profile-badge-clickable { 146 position: relative; 147 display: inline-flex; 148 align-items: center; 149 cursor: pointer; 150 margin-left: 8px; 151} 152 153.badge-info-popover { 154 position: absolute; 155 top: calc(100% + 8px); 156 left: 50%; 157 transform: translateX(-50%); 158 padding: 16px; 159 background: var(--bg-elevated); 160 border: 1px solid var(--border); 161 border-radius: var(--radius-md); 162 box-shadow: var(--shadow-lg); 163 font-size: 0.85rem; 164 white-space: nowrap; 165 z-index: 100; 166 min-width: 200px; 167} 168 169.badge-info-title { 170 font-weight: 600; 171 color: var(--text-primary); 172 margin-bottom: 8px; 173} 174 175.verifier-link { 176 display: flex; 177 align-items: center; 178 gap: 8px; 179 padding: 8px; 180 background: var(--bg-tertiary); 181 border-radius: var(--radius-sm); 182 text-decoration: none; 183 transition: background 0.15s ease; 184} 185 186.verifier-link:hover { 187 background: var(--bg-hover); 188} 189 190.verifier-avatar { 191 width: 24px; 192 height: 24px; 193 border-radius: 50%; 194 object-fit: cover; 195} 196 197.verifier-name { 198 color: var(--text-primary); 199 font-size: 0.85rem; 200 font-weight: 500; 201} 202 203.profile-suspended { 204 display: flex; 205 flex-direction: column; 206 align-items: center; 207 justify-content: center; 208 padding: 60px 20px; 209 text-align: center; 210 background: var(--bg-secondary); 211 border-radius: var(--radius-lg); 212 margin-top: 20px; 213 border: 1px solid var(--border); 214} 215 216.suspended-icon { 217 font-size: 40px; 218 margin-bottom: 16px; 219 color: var(--text-tertiary); 220} 221 222.profile-suspended h2 { 223 color: var(--text-primary); 224 margin-bottom: 8px; 225 font-size: 1.25rem; 226} 227 228@media (max-width: 640px) { 229 .profile-header { 230 flex-direction: column; 231 text-align: center; 232 } 233 234 .profile-info { 235 align-items: center; 236 } 237 238 .profile-handle-row { 239 justify-content: center; 240 } 241 242 .profile-stats { 243 justify-content: center; 244 } 245 246 .profile-tabs { 247 justify-content: center; 248 gap: 16px; 249 } 250}