Write on the margins of the internet. Powered by the AT Protocol. margin.at
extension web atproto comments
at 92fc8b21b443c2bb257fbced7ca5b8ab46037f62 506 lines 8.4 kB view raw
1.annotation-detail-page { 2 max-width: 680px; 3 margin: 0 auto; 4 padding: 24px 16px; 5 min-height: 100vh; 6} 7 8.annotation-detail-header { 9 margin-bottom: 24px; 10} 11 12.back-link { 13 display: inline-flex; 14 align-items: center; 15 color: var(--text-tertiary); 16 text-decoration: none; 17 font-size: 0.9rem; 18 font-weight: 500; 19 transition: color 0.15s; 20} 21 22.back-link:hover { 23 color: var(--text-primary); 24} 25 26.replies-section { 27 margin-top: 32px; 28 border-top: 1px solid var(--border); 29 padding-top: 24px; 30} 31 32.replies-title { 33 display: flex; 34 align-items: center; 35 gap: 8px; 36 font-size: 1.1rem; 37 font-weight: 600; 38 color: var(--text-primary); 39 margin-bottom: 20px; 40} 41 42.annotation-card { 43 display: flex; 44 flex-direction: column; 45 gap: 12px; 46 padding: 20px 0; 47 border-bottom: 1px solid var(--border); 48 transition: background 0.15s ease; 49} 50 51.annotation-card:last-child { 52 border-bottom: none; 53} 54 55.annotation-header { 56 display: flex; 57 justify-content: space-between; 58 align-items: flex-start; 59 gap: 12px; 60} 61 62.annotation-header-left { 63 display: flex; 64 align-items: center; 65 gap: 10px; 66 flex: 1; 67 min-width: 0; 68} 69 70.annotation-avatar { 71 width: 36px; 72 height: 36px; 73 min-width: 36px; 74 border-radius: 50%; 75 background: var(--bg-tertiary); 76 display: flex; 77 align-items: center; 78 justify-content: center; 79 font-weight: 600; 80 font-size: 0.85rem; 81 color: var(--text-secondary); 82 overflow: hidden; 83} 84 85.annotation-avatar img { 86 width: 100%; 87 height: 100%; 88 object-fit: cover; 89} 90 91.annotation-meta { 92 display: flex; 93 flex-direction: column; 94 justify-content: center; 95 line-height: 1.3; 96} 97 98.annotation-avatar-link { 99 text-decoration: none; 100 border-radius: 50%; 101} 102 103.annotation-author-row { 104 display: flex; 105 align-items: baseline; 106 gap: 6px; 107 flex-wrap: wrap; 108} 109 110.annotation-author { 111 font-weight: 600; 112 color: var(--text-primary); 113 font-size: 0.9rem; 114} 115 116.annotation-handle { 117 font-size: 0.85rem; 118 color: var(--text-tertiary); 119 text-decoration: none; 120} 121 122.annotation-handle:hover { 123 color: var(--text-secondary); 124} 125 126.annotation-time { 127 font-size: 0.75rem; 128 color: var(--text-tertiary); 129} 130 131.annotation-content { 132 display: flex; 133 flex-direction: column; 134 gap: 10px; 135 padding-left: 46px; 136} 137 138.annotation-source { 139 display: inline-flex; 140 align-items: center; 141 gap: 6px; 142 font-size: 0.75rem; 143 color: var(--text-tertiary); 144 text-decoration: none; 145 transition: color 0.15s ease; 146 max-width: 100%; 147 overflow: hidden; 148 text-overflow: ellipsis; 149 white-space: nowrap; 150} 151 152.annotation-source:hover { 153 color: var(--text-secondary); 154 text-decoration: underline; 155} 156 157.annotation-source-title { 158 color: var(--text-tertiary); 159 opacity: 0.7; 160} 161 162.annotation-highlight { 163 display: block; 164 position: relative; 165 padding-left: 12px; 166 margin: 4px 0; 167 text-decoration: none; 168 border-left: 2px solid var(--border); 169 transition: all 0.15s ease; 170} 171 172.annotation-highlight:hover { 173 border-left-color: var(--text-secondary); 174} 175 176.annotation-highlight mark { 177 background: transparent; 178 color: var(--text-primary); 179 font-style: italic; 180 font-size: 1rem; 181 line-height: 1.6; 182 font-weight: 400; 183 font-family: var(--font-serif, var(--font-sans)); 184 display: inline; 185 overflow-wrap: anywhere; 186 word-break: break-all; 187 padding-right: 4px; 188} 189 190.annotation-text { 191 font-size: 0.95rem; 192 line-height: 1.6; 193 color: var(--text-primary); 194 white-space: pre-wrap; 195} 196 197.annotation-tags { 198 display: flex; 199 flex-wrap: wrap; 200 gap: 6px; 201 margin-top: 4px; 202} 203 204.annotation-tag { 205 font-size: 0.8rem; 206 color: var(--accent); 207 text-decoration: none; 208 font-weight: 500; 209 opacity: 0.9; 210 transition: opacity 0.15s; 211} 212 213.annotation-tag:hover { 214 opacity: 1; 215 text-decoration: underline; 216} 217 218.annotation-actions { 219 display: flex; 220 align-items: center; 221 justify-content: space-between; 222 margin-top: 4px; 223 padding-left: 46px; 224} 225 226.annotation-actions-left { 227 display: flex; 228 align-items: center; 229 gap: 16px; 230} 231 232.annotation-action { 233 display: flex; 234 align-items: center; 235 gap: 6px; 236 color: var(--text-tertiary); 237 font-size: 0.8rem; 238 font-weight: 500; 239 padding: 6px; 240 margin-left: -6px; 241 border-radius: var(--radius-sm); 242 transition: all 0.15s ease; 243 background: transparent; 244 cursor: pointer; 245 border: none; 246} 247 248.annotation-action:hover { 249 color: var(--text-secondary); 250 background: var(--bg-tertiary); 251} 252 253.annotation-action.liked { 254 color: #ef4444; 255} 256 257.annotation-action.liked svg { 258 fill: #ef4444; 259} 260 261.annotation-action.active { 262 color: var(--accent); 263} 264 265.action-icon-only { 266 padding: 6px; 267} 268 269.annotation-header-right { 270 opacity: 0; 271 transition: opacity 0.15s; 272} 273 274.annotation-card:hover .annotation-header-right { 275 opacity: 1; 276} 277 278.inline-replies { 279 margin-top: 12px; 280 padding-left: 46px; 281} 282 283.annotation-text, 284.reply-text, 285.history-content { 286 overflow-wrap: break-word; 287 word-break: break-word; 288 max-width: 100%; 289} 290 291.annotation-highlight mark { 292 overflow-wrap: break-word; 293 word-break: break-word; 294 display: inline; 295} 296 297.annotation-header-left, 298.annotation-meta, 299.reply-meta { 300 min-width: 0; 301 max-width: 100%; 302} 303 304.annotation-author-row, 305.reply-author { 306 max-width: 100%; 307} 308 309.annotation-source { 310 max-width: 100%; 311} 312 313@media (max-width: 768px) { 314 .annotation-content, 315 .annotation-actions, 316 .inline-replies { 317 padding-left: 0; 318 } 319 320 .annotation-header-right { 321 opacity: 1; 322 } 323} 324 325.replies-list-threaded { 326 margin-top: 16px; 327 display: flex; 328 flex-direction: column; 329} 330 331.reply-card-threaded { 332 position: relative; 333 padding-left: 0; 334 transition: background 0.15s; 335} 336 337.reply-header { 338 display: flex; 339 align-items: center; 340 gap: 10px; 341 margin-bottom: 6px; 342} 343 344.reply-avatar { 345 width: 28px; 346 height: 28px; 347 border-radius: 50%; 348 background: var(--bg-tertiary); 349 overflow: hidden; 350 flex-shrink: 0; 351 display: flex; 352 align-items: center; 353 justify-content: center; 354} 355 356.reply-avatar img { 357 width: 100%; 358 height: 100%; 359 object-fit: cover; 360} 361 362.reply-avatar span { 363 font-size: 0.7rem; 364 font-weight: 600; 365 color: var(--text-secondary); 366} 367 368.reply-meta { 369 display: flex; 370 align-items: baseline; 371 gap: 6px; 372 flex: 1; 373 min-width: 0; 374} 375 376.reply-author { 377 font-weight: 600; 378 font-size: 0.85rem; 379 color: var(--text-primary); 380 white-space: nowrap; 381 overflow: hidden; 382 text-overflow: ellipsis; 383} 384 385.reply-handle { 386 font-size: 0.8rem; 387 color: var(--text-tertiary); 388 text-decoration: none; 389 white-space: nowrap; 390 overflow: hidden; 391 text-overflow: ellipsis; 392} 393 394.reply-time { 395 font-size: 0.75rem; 396 color: var(--text-tertiary); 397 white-space: nowrap; 398} 399 400.reply-dot { 401 color: var(--text-tertiary); 402 font-size: 0.7rem; 403} 404 405.reply-text { 406 font-size: 0.9rem; 407 line-height: 1.5; 408 color: var(--text-primary); 409 margin: 0; 410 padding-left: 38px; 411} 412 413.reply-actions { 414 display: flex; 415 align-items: center; 416 gap: 4px; 417 opacity: 0; 418 transition: opacity 0.15s; 419} 420 421.reply-card-threaded:hover .reply-actions { 422 opacity: 1; 423} 424 425.reply-action-btn { 426 background: none; 427 border: none; 428 padding: 4px; 429 color: var(--text-tertiary); 430 cursor: pointer; 431 border-radius: 4px; 432 display: flex; 433 align-items: center; 434 justify-content: center; 435} 436 437.reply-action-btn:hover { 438 background: var(--bg-tertiary); 439 color: var(--text-secondary); 440} 441 442.reply-action-delete:hover { 443 color: #ef4444; 444 background: rgba(239, 68, 68, 0.1); 445} 446 447.reply-form { 448 border: 1px solid var(--border); 449 border-radius: var(--radius-md); 450 padding: 16px; 451 background: var(--bg-secondary); 452 margin-bottom: 24px; 453} 454 455.replying-to-banner { 456 display: flex; 457 justify-content: space-between; 458 align-items: center; 459 background: var(--bg-tertiary); 460 padding: 8px 12px; 461 border-radius: var(--radius-sm); 462 margin-bottom: 12px; 463 font-size: 0.85rem; 464 color: var(--text-secondary); 465} 466 467.cancel-reply { 468 background: none; 469 border: none; 470 color: var(--text-tertiary); 471 cursor: pointer; 472 font-size: 1.2rem; 473 padding: 0 4px; 474 line-height: 1; 475} 476 477.cancel-reply:hover { 478 color: var(--text-primary); 479} 480 481.reply-input { 482 width: 100%; 483 background: var(--bg-primary); 484 border: 1px solid var(--border); 485 border-radius: var(--radius-sm); 486 padding: 12px; 487 color: var(--text-primary); 488 font-family: inherit; 489 font-size: 0.95rem; 490 resize: vertical; 491 min-height: 80px; 492 transition: border-color 0.15s; 493 display: block; 494 box-sizing: border-box; 495} 496 497.reply-input:focus { 498 outline: none; 499 border-color: var(--accent); 500} 501 502.reply-form-actions { 503 display: flex; 504 justify-content: flex-end; 505 margin-top: 12px; 506}