AT protocol bookmarking platforms in obsidian
at margin-tags 1180 lines 22 kB view raw
1/* ATmark View */ 2.atmark-view { 3 padding: 20px; 4} 5 6.atmark-header { 7 margin-bottom: 24px; 8 padding-bottom: 16px; 9 border-bottom: 1px solid var(--background-modifier-border); 10} 11 12.atmark-nav { 13 display: flex; 14 align-items: center; 15 justify-content: space-between; 16 margin-bottom: 12px; 17 gap: 10px; 18} 19 20.atmark-title { 21 margin: 0; 22 font-size: var(--h1-size); 23 font-weight: var(--font-bold); 24 color: var(--text-accent); 25 flex-shrink: 1; 26 min-width: 0; 27} 28 29.atmark-source-selector { 30 display: flex; 31 align-items: center; 32 justify-content: center; 33 gap: 0; 34 margin-bottom: 12px; 35 border-bottom: 1px solid var(--background-modifier-border); 36} 37 38.atmark-source-option { 39 display: flex; 40 align-items: center; 41 justify-content: center; 42 gap: 4px; 43 padding: 10px 20px; 44 cursor: pointer; 45 user-select: none; 46 border: none; 47 background: transparent; 48 transition: all 0.15s ease; 49 position: relative; 50 margin-bottom: -1px; 51} 52 53.atmark-source-option::after { 54 content: ""; 55 position: absolute; 56 bottom: 0; 57 left: 0; 58 right: 0; 59 height: 2px; 60 background: transparent; 61 transition: background 0.15s ease; 62} 63 64.atmark-source-option:hover { 65 background: var(--background-modifier-hover); 66} 67 68.atmark-source-option:has(input:checked)::after { 69 background: var(--interactive-accent); 70} 71 72.atmark-source-option:has(input:checked) .atmark-source-text { 73 color: var(--interactive-accent); 74 font-weight: var(--font-semibold); 75} 76 77.atmark-source-radio { 78 display: none; 79} 80 81.atmark-source-text { 82 font-size: var(--font-ui-small); 83 font-weight: var(--font-medium); 84 color: var(--text-muted); 85} 86 87.atmark-filters { 88 display: flex; 89 flex-direction: column; 90 gap: 16px; 91 margin-bottom: 16px; 92} 93 94.atmark-filter-section { 95 display: flex; 96 flex-direction: column; 97 gap: 6px; 98} 99 100.atmark-filter-title-row { 101 display: flex; 102 align-items: center; 103 gap: 6px; 104 margin-bottom: 2px; 105} 106 107.atmark-filter-title { 108 margin: 0; 109 font-size: var(--font-smallest); 110 font-weight: var(--font-semibold); 111 color: var(--text-faint); 112 text-transform: uppercase; 113 letter-spacing: 0.05em; 114} 115 116.atmark-filter-create-btn { 117 display: flex; 118 align-items: center; 119 justify-content: center; 120 width: 18px; 121 height: 18px; 122 padding: 0; 123 background: transparent; 124 border: none; 125 border-radius: var(--radius-s); 126 cursor: pointer; 127 color: var(--text-faint); 128 transition: all 0.15s ease; 129 opacity: 0.7; 130} 131 132.atmark-filter-create-btn:hover { 133 background: var(--background-modifier-hover); 134 color: var(--interactive-accent); 135 opacity: 1; 136} 137 138.atmark-filter-create-btn svg { 139 width: 12px; 140 height: 12px; 141} 142 143.atmark-filter-chips { 144 display: flex; 145 flex-wrap: wrap; 146 gap: 6px; 147 align-items: center; 148} 149 150.atmark-chip { 151 padding: 3px 10px; 152 border-radius: var(--radius-m); 153 border: none; 154 background: var(--background-modifier-border); 155 color: var(--text-muted); 156 font-size: var(--font-smallest); 157 font-weight: var(--font-medium); 158 cursor: pointer; 159 transition: all 0.12s ease; 160 white-space: nowrap; 161} 162 163.atmark-chip:hover { 164 background: var(--background-modifier-border-hover); 165 color: var(--text-normal); 166 transform: translateY(-1px); 167} 168 169.atmark-chip-active { 170 background: var(--interactive-accent); 171 color: var(--text-on-accent); 172 font-weight: var(--font-semibold); 173} 174 175.atmark-chip-active:hover { 176 background: var(--interactive-accent-hover); 177 transform: translateY(-1px); 178} 179 180.atmark-grid { 181 display: grid; 182 grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); 183 gap: 16px; 184 padding: 8px 0; 185} 186 187.atmark-item { 188 background: var(--background-secondary); 189 border: 1px solid var(--background-modifier-border); 190 border-radius: var(--radius-m); 191 padding: 16px; 192 display: flex; 193 flex-direction: column; 194 transition: box-shadow 0.15s ease, border-color 0.15s ease; 195 cursor: pointer; 196} 197 198.atmark-item:hover { 199 box-shadow: var(--shadow-s); 200 border-color: var(--background-modifier-border-hover); 201} 202 203.atmark-item-header { 204 display: flex; 205 justify-content: space-between; 206 align-items: flex-start; 207 gap: 8px; 208} 209 210.atmark-item-edit-btn { 211 display: flex; 212 align-items: center; 213 justify-content: center; 214 width: 24px; 215 height: 24px; 216 padding: 0; 217 margin-left: auto; 218 background: transparent; 219 border: none; 220 border-radius: var(--radius-s); 221 cursor: pointer; 222 color: var(--text-faint); 223 opacity: 0.6; 224 transition: all 0.15s ease; 225} 226 227.atmark-item:hover .atmark-item-edit-btn { 228 opacity: 1; 229} 230 231.atmark-item-edit-btn:hover { 232 background: var(--background-modifier-hover); 233 color: var(--text-normal); 234 opacity: 1; 235} 236 237.atmark-item-edit-btn svg { 238 width: 14px; 239 height: 14px; 240} 241 242.atmark-badge { 243 font-size: 10px; 244 padding: 3px 8px; 245 border-radius: 12px; 246 text-transform: capitalize; 247 font-weight: var(--font-normal); 248 flex-shrink: 0; 249 letter-spacing: 0.3px; 250} 251 252.atmark-badge-semble { 253 background: rgba(255, 87, 34, 0.15); 254 color: rgb(255, 120, 70); 255 border: 1px solid rgba(255, 87, 34, 0.3); 256} 257 258.atmark-badge-bookmark { 259 background: rgba(3, 169, 244, 0.15); 260 color: rgb(3, 169, 244); 261 border: 1px solid rgba(3, 169, 244, 0.3); 262} 263 264.atmark-badge-margin { 265 background: rgba(156, 39, 176, 0.15); 266 color: rgb(186, 104, 200); 267 border: 1px solid rgba(156, 39, 176, 0.3); 268} 269 270.atmark-item-footer { 271 display: flex; 272 justify-content: space-between; 273 font-size: var(--font-smallest); 274 color: var(--text-faint); 275 margin-top: auto; 276 padding-top: 8px; 277 border-top: 1px solid var(--background-modifier-border); 278} 279 280.atmark-date { 281 font-size: var(--font-smallest); 282 color: var(--text-faint); 283} 284 285.atmark-error { 286 color: var(--text-error); 287} 288 289 290/* Item Content (shared between sources) */ 291.atmark-item-content { 292 display: flex; 293 flex-direction: column; 294 gap: 12px; 295} 296 297.atmark-item-title { 298 font-weight: var(--font-semibold); 299 font-size: 1em; 300 color: var(--text-normal); 301 display: -webkit-box; 302 -webkit-line-clamp: 2; 303 -webkit-box-orient: vertical; 304 overflow: hidden; 305 line-height: 1.4; 306 margin-bottom: 4px; 307} 308 309.atmark-item-image { 310 width: 100%; 311 max-height: 120px; 312 object-fit: cover; 313 border-radius: var(--radius-s); 314} 315 316.atmark-item-desc { 317 color: var(--text-muted); 318 font-size: var(--font-small); 319 margin: 0; 320 display: -webkit-box; 321 -webkit-line-clamp: 2; 322 -webkit-box-orient: vertical; 323 overflow: hidden; 324 line-height: 1.5; 325} 326 327.atmark-item-site { 328 font-size: var(--font-smallest); 329 color: var(--text-faint); 330 margin-bottom: 2px; 331} 332 333.atmark-item-url { 334 font-size: var(--font-smallest); 335 color: var(--text-accent); 336 text-decoration: none; 337 word-break: break-all; 338 display: -webkit-box; 339 -webkit-line-clamp: 1; 340 -webkit-box-orient: vertical; 341 overflow: hidden; 342} 343 344.atmark-item-url:hover { 345 text-decoration: underline; 346} 347 348.atmark-item-tags { 349 display: flex; 350 flex-wrap: wrap; 351 gap: 6px; 352 margin-bottom: 8px; 353} 354 355.atmark-tag { 356 font-size: var(--font-smallest); 357 padding: 2px 8px; 358 border-radius: var(--radius-s); 359 background: var(--background-modifier-border); 360 color: var(--text-muted); 361 border: 1px solid var(--background-modifier-border-hover); 362} 363 364.atmark-item-collections { 365 display: flex; 366 flex-wrap: wrap; 367 gap: 6px; 368 margin-bottom: 8px; 369} 370 371.atmark-collection { 372 font-size: var(--font-smallest); 373 padding: 2px 8px; 374 border-radius: var(--radius-s); 375 background: rgba(156, 39, 176, 0.1); 376 color: rgb(186, 104, 200); 377 border: 1px solid rgba(156, 39, 176, 0.3); 378} 379 380.atmark-item-collections-section { 381 margin-top: 20px; 382 padding-top: 20px; 383 border-top: 1px solid var(--background-modifier-border); 384} 385 386.atmark-item-tags-section { 387 margin-top: 20px; 388 padding-top: 20px; 389 border-top: 1px solid var(--background-modifier-border); 390} 391 392/* Note indicator for cards with attached notes */ 393.atmark-note-indicator { 394 display: flex; 395 align-items: center; 396 gap: 4px; 397 font-size: var(--font-smallest); 398 color: var(--text-muted); 399} 400 401.atmark-note-icon { 402 display: flex; 403 align-items: center; 404 color: var(--text-muted); 405} 406 407.atmark-note-icon svg { 408 width: 12px; 409 height: 12px; 410} 411 412.atmark-note-count { 413 font-size: var(--font-smallest); 414} 415 416/* Detail Modal (shared between sources) */ 417.atmark-detail-body { 418 display: flex; 419 flex-direction: column; 420 gap: 16px; 421} 422 423.atmark-detail-title { 424 margin: 0; 425 font-size: var(--h2-size); 426 font-weight: var(--font-semibold); 427 color: var(--text-normal); 428 line-height: 1.3; 429} 430 431.atmark-detail-image { 432 max-width: 100%; 433 max-height: 200px; 434 object-fit: contain; 435 border-radius: var(--radius-m); 436} 437 438.atmark-detail-description { 439 margin: 0; 440 color: var(--text-normal); 441 line-height: var(--line-height-normal); 442} 443 444.atmark-detail-meta { 445 display: grid; 446 grid-template-columns: repeat(2, 1fr); 447 gap: 12px; 448 padding: 16px; 449 background: var(--background-secondary); 450 border-radius: var(--radius-m); 451} 452 453.atmark-detail-meta-item { 454 display: flex; 455 flex-direction: column; 456 gap: 2px; 457} 458 459.atmark-detail-meta-label { 460 font-size: var(--font-smallest); 461 color: var(--text-faint); 462 text-transform: uppercase; 463 letter-spacing: 0.5px; 464} 465 466.atmark-detail-meta-value { 467 font-size: var(--font-small); 468 color: var(--text-normal); 469} 470 471.atmark-detail-link-wrapper { 472 padding-top: 8px; 473} 474 475.atmark-detail-link { 476 font-size: var(--font-small); 477 color: var(--text-accent); 478 text-decoration: none; 479 word-break: break-all; 480} 481 482.atmark-detail-link:hover { 483 text-decoration: underline; 484} 485 486.atmark-detail-section-title { 487 margin: 0 0 12px 0; 488 font-size: var(--font-small); 489 font-weight: var(--font-semibold); 490 color: var(--text-muted); 491 text-transform: uppercase; 492 letter-spacing: 0.5px; 493} 494 495/* Modals and Forms (shared) */ 496.atmark-modal { 497 padding: 16px; 498} 499 500.atmark-modal h2 { 501 margin: 0 0 16px 0; 502 font-size: var(--h2-size); 503 font-weight: var(--font-semibold); 504 color: var(--text-normal); 505} 506 507.atmark-form { 508 display: flex; 509 flex-direction: column; 510 gap: 16px; 511} 512 513.atmark-form-group { 514 display: flex; 515 flex-direction: column; 516 gap: 6px; 517} 518 519.atmark-form-group label { 520 font-size: var(--font-small); 521 font-weight: var(--font-medium); 522 color: var(--text-normal); 523} 524 525.atmark-input, 526.atmark-textarea { 527 padding: 8px 12px; 528 background: var(--background-primary); 529 border: 1px solid var(--background-modifier-border); 530 border-radius: var(--radius-s); 531 color: var(--text-normal); 532 font-size: var(--font-ui-medium); 533 font-family: inherit; 534 transition: border-color 0.15s ease; 535} 536 537.atmark-input:focus, 538.atmark-textarea:focus { 539 outline: none; 540 border-color: var(--interactive-accent); 541 box-shadow: 0 0 0 2px var(--background-modifier-border-focus); 542} 543 544.atmark-input::placeholder, 545.atmark-textarea::placeholder { 546 color: var(--text-faint); 547} 548 549.atmark-textarea { 550 resize: vertical; 551 min-height: 60px; 552} 553 554.atmark-modal-actions { 555 display: flex; 556 align-items: center; 557 gap: 8px; 558 padding-top: 16px; 559 border-top: 1px solid var(--background-modifier-border); 560} 561 562.atmark-spacer { 563 flex: 1; 564} 565 566.atmark-btn { 567 padding: 8px 16px; 568 border-radius: var(--radius-s); 569 font-size: var(--font-small); 570 font-weight: var(--font-medium); 571 cursor: pointer; 572 transition: all 0.15s ease; 573} 574 575.atmark-btn:disabled { 576 opacity: 0.5; 577 cursor: not-allowed; 578} 579 580.atmark-btn-secondary { 581 background: var(--background-secondary); 582 border: 1px solid var(--background-modifier-border); 583 color: var(--text-normal); 584} 585 586.atmark-btn-secondary:hover:not(:disabled) { 587 background: var(--background-modifier-hover); 588} 589 590.atmark-btn-primary { 591 background: var(--interactive-accent); 592 border: 1px solid var(--interactive-accent); 593 color: var(--text-on-accent); 594} 595 596.atmark-btn-primary:hover:not(:disabled) { 597 background: var(--interactive-accent-hover); 598} 599 600.atmark-btn-danger { 601 background: color-mix(in srgb, var(--color-red) 15%, transparent); 602 border: none; 603 color: var(--color-red); 604} 605 606.atmark-btn-danger:hover:not(:disabled) { 607 background: color-mix(in srgb, var(--color-red) 25%, transparent); 608} 609 610.atmark-warning-text { 611 color: var(--text-muted); 612 margin-bottom: 16px; 613} 614 615.atmark-tags-container { 616 display: flex; 617 flex-direction: column; 618 gap: 8px; 619 margin-bottom: 8px; 620} 621 622.atmark-tag-row { 623 display: flex; 624 align-items: center; 625 gap: 8px; 626} 627 628.atmark-tag-row .atmark-input { 629 flex: 1; 630} 631 632.atmark-tag-remove-btn { 633 width: 32px; 634 height: 32px; 635 padding: 0; 636 font-size: 20px; 637 line-height: 1; 638 flex-shrink: 0; 639} 640 641 642.atmark-collection-list { 643 display: flex; 644 flex-direction: column; 645 gap: 8px; 646 max-height: 200px; 647 overflow-y: auto; 648} 649 650.atmark-collection-item { 651 display: flex; 652 align-items: center; 653 gap: 12px; 654 padding: 10px 12px; 655 background: var(--background-secondary); 656 border: 1px solid var(--background-modifier-border); 657 border-radius: var(--radius-m); 658 cursor: pointer; 659 transition: all 0.15s ease; 660} 661 662.atmark-collection-item:hover { 663 background: var(--background-modifier-hover); 664 border-color: var(--background-modifier-border-hover); 665} 666 667.atmark-collection-checkbox { 668 width: 18px; 669 height: 18px; 670 margin: 0; 671 cursor: pointer; 672 accent-color: var(--interactive-accent); 673} 674 675.atmark-collection-item-info { 676 display: flex; 677 flex-direction: column; 678 gap: 2px; 679 flex: 1; 680} 681 682.atmark-collection-item-name { 683 font-weight: var(--font-medium); 684 color: var(--text-normal); 685} 686 687.atmark-collection-item-desc { 688 font-size: var(--font-small); 689 color: var(--text-muted); 690} 691 692.atmark-tag-list { 693 display: flex; 694 flex-wrap: wrap; 695 gap: 6px; 696 margin-bottom: 8px; 697} 698 699.atmark-tag-item { 700 display: flex; 701 align-items: center; 702 padding: 4px 12px; 703 background: var(--background-modifier-border); 704 border-radius: var(--radius-m); 705 cursor: pointer; 706 transition: all 0.15s ease; 707 font-size: var(--font-small); 708 color: var(--text-muted); 709} 710 711.atmark-tag-item:hover { 712 background: var(--background-modifier-border-hover); 713 color: var(--text-normal); 714} 715 716.atmark-tag-item:has(input:checked) { 717 background: var(--interactive-accent); 718 color: var(--text-on-accent); 719} 720 721.atmark-tag-item input { 722 display: none; 723} 724 725/* Semble-specific styles (for NOTE cards and attached notes) */ 726.semble-card-note { 727 margin: 0; 728 padding: 8px 12px; 729 background: var(--background-primary); 730 border-left: 3px solid var(--color-blue); 731 border-radius: var(--radius-s); 732 font-size: var(--font-small); 733 font-style: italic; 734 color: var(--text-muted); 735 white-space: pre-wrap; 736 line-height: var(--line-height-normal); 737} 738 739.semble-card-text { 740 margin: 0; 741 line-height: 1.5; 742 color: var(--text-normal); 743 display: -webkit-box; 744 -webkit-line-clamp: 5; 745 -webkit-box-orient: vertical; 746 overflow: hidden; 747} 748 749.semble-detail-text { 750 margin: 0; 751 white-space: pre-wrap; 752 line-height: var(--line-height-normal); 753 color: var(--text-normal); 754 font-size: 1.1em; 755} 756 757.semble-detail-notes-section { 758 margin-top: 20px; 759 padding-top: 20px; 760 border-top: 1px solid var(--background-modifier-border); 761} 762 763.semble-detail-note { 764 display: flex; 765 align-items: flex-start; 766 justify-content: space-between; 767 gap: 12px; 768 padding: 12px 16px; 769 background: var(--background-secondary); 770 border-left: 3px solid var(--color-blue); 771 border-radius: var(--radius-s); 772 margin-bottom: 8px; 773} 774 775.semble-detail-note-content { 776 display: flex; 777 gap: 12px; 778 flex: 1; 779 min-width: 0; 780} 781 782.semble-detail-note-icon { 783 flex-shrink: 0; 784 color: var(--color-blue); 785} 786 787.semble-detail-note-icon svg { 788 width: 16px; 789 height: 16px; 790} 791 792.semble-detail-note-text { 793 margin: 0; 794 color: var(--text-normal); 795 line-height: var(--line-height-normal); 796 white-space: pre-wrap; 797} 798 799/* Legacy Semble classes (backwards compatibility - will be removed in future) */ 800.semble-card-grid { 801 display: grid; 802 grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); 803 gap: 16px; 804 padding: 8px 0; 805} 806 807.semble-card { 808 background: var(--background-secondary); 809 border: 1px solid var(--background-modifier-border); 810 border-radius: var(--radius-m); 811 padding: 16px; 812 display: flex; 813 flex-direction: column; 814 gap: 8px; 815 transition: box-shadow 0.15s ease, border-color 0.15s ease; 816 cursor: pointer; 817} 818 819.semble-card:hover { 820 box-shadow: var(--shadow-s); 821 border-color: var(--background-modifier-border-hover); 822} 823 824.semble-card-header { 825 display: flex; 826 justify-content: space-between; 827 align-items: flex-start; 828 gap: 8px; 829} 830 831.semble-badge { 832 font-size: var(--font-smallest); 833 padding: 2px 8px; 834 border-radius: var(--radius-s); 835 text-transform: uppercase; 836 font-weight: var(--font-medium); 837 flex-shrink: 0; 838} 839 840.semble-badge-open { 841 background: var(--color-green); 842 color: var(--text-on-accent); 843} 844 845.semble-badge-closed { 846 background: var(--color-orange); 847 color: var(--text-on-accent); 848} 849 850/* Card type badges */ 851.semble-badge-note { 852 background: var(--color-blue); 853 color: var(--text-on-accent); 854} 855 856.semble-badge-url { 857 background: var(--color-purple); 858 color: var(--text-on-accent); 859} 860 861.semble-badge-source { 862 font-size: var(--font-smallest); 863 opacity: 0.8; 864} 865 866.semble-badge-semble { 867 background: var(--color-green); 868 color: var(--text-on-accent); 869} 870 871/* Semble-specific page components */ 872.semble-page-header { 873 margin-bottom: 16px; 874 padding-bottom: 16px; 875 border-top: 1px solid var(--background-modifier-border); 876} 877 878.semble-nav-row { 879 display: flex; 880 align-items: center; 881 gap: 12px; 882 margin-bottom: 8px; 883} 884 885.semble-brand { 886 font-size: var(--font-small); 887 font-weight: var(--font-semibold); 888 color: var(--text-accent); 889 text-transform: uppercase; 890 letter-spacing: 0.5px; 891} 892 893.semble-page-title { 894 margin: 0; 895 font-size: var(--h1-size); 896 font-weight: var(--font-bold); 897 color: var(--text-normal); 898} 899 900.semble-back-btn { 901 display: flex; 902 align-items: center; 903 justify-content: center; 904 width: 32px; 905 height: 32px; 906 padding: 0; 907 background: transparent; 908 border: 1px solid var(--background-modifier-border); 909 border-radius: var(--radius-s); 910 cursor: pointer; 911 color: var(--text-muted); 912} 913 914.semble-back-btn:hover { 915 background: var(--background-modifier-hover); 916 color: var(--text-normal); 917} 918 919/* Semble-specific Profile Icon */ 920.semble-profile-icon { 921 display: flex; 922 align-items: center; 923 gap: 10px; 924 margin-left: auto; 925} 926 927.semble-avatar-btn { 928 display: flex; 929 align-items: center; 930 justify-content: center; 931 width: 36px; 932 height: 36px; 933 padding: 0; 934 background: var(--background-secondary); 935 border: 2px solid var(--background-modifier-border); 936 border-radius: var(--radius-full); 937 cursor: pointer; 938 overflow: hidden; 939 transition: opacity 0.15s ease; 940} 941 942.semble-avatar-btn:hover { 943 opacity: 0.8; 944} 945 946.semble-avatar-img { 947 width: 100%; 948 height: 100%; 949 object-fit: cover; 950 border-radius: var(--radius-full); 951} 952 953.semble-avatar-initials { 954 font-size: var(--font-small); 955 font-weight: var(--font-semibold); 956 color: var(--text-muted); 957} 958 959.semble-avatar-placeholder { 960 display: flex; 961 align-items: center; 962 justify-content: center; 963 width: 36px; 964 height: 36px; 965 background: var(--background-secondary); 966 border: 2px solid var(--background-modifier-border); 967 border-radius: var(--radius-full); 968 color: var(--text-faint); 969 font-size: var(--font-small); 970} 971 972.semble-profile-info { 973 display: flex; 974 flex-direction: column; 975 align-items: flex-end; 976 gap: 2px; 977} 978 979.semble-profile-name { 980 font-size: var(--font-small); 981 font-weight: var(--font-semibold); 982 color: var(--text-normal); 983 line-height: 1.2; 984} 985 986.semble-profile-handle { 987 font-size: var(--font-smallest); 988 color: var(--text-muted); 989 line-height: 1.2; 990} 991 992/* Semble Toolbar */ 993.semble-toolbar { 994 display: flex; 995 align-items: center; 996 gap: 8px; 997 margin-bottom: 16px; 998} 999 1000.semble-create-btn { 1001 display: inline-flex; 1002 align-items: center; 1003 gap: 6px; 1004 padding: 6px 12px; 1005 background: var(--interactive-accent); 1006 border: none; 1007 border-radius: var(--radius-s); 1008 color: var(--text-on-accent); 1009 font-size: var(--font-small); 1010 font-weight: var(--font-medium); 1011 cursor: pointer; 1012 transition: all 0.15s ease; 1013} 1014 1015.semble-create-btn:hover { 1016 background: var(--interactive-accent-hover); 1017} 1018 1019.semble-create-btn svg { 1020 width: 14px; 1021 height: 14px; 1022} 1023 1024.semble-toolbar-btn { 1025 display: inline-flex; 1026 align-items: center; 1027 gap: 6px; 1028 padding: 6px 12px; 1029 background: var(--background-secondary); 1030 border: 1px solid var(--background-modifier-border); 1031 border-radius: var(--radius-s); 1032 color: var(--text-normal); 1033 font-size: var(--font-small); 1034 font-weight: var(--font-medium); 1035 cursor: pointer; 1036 transition: all 0.15s ease; 1037} 1038 1039.semble-toolbar-btn:hover { 1040 background: var(--background-modifier-hover); 1041 border-color: var(--background-modifier-border-hover); 1042} 1043 1044.semble-toolbar-btn svg { 1045 width: 14px; 1046 height: 14px; 1047} 1048 1049/* Semble-specific Card Detail Modal */ 1050.semble-detail-modal { 1051 padding: 20px; 1052 max-width: 600px; 1053} 1054 1055.semble-detail-header { 1056 margin-bottom: 16px; 1057} 1058 1059.semble-detail-footer { 1060 margin-top: 20px; 1061 padding-top: 16px; 1062 border-top: 1px solid var(--background-modifier-border); 1063} 1064 1065.semble-detail-date { 1066 font-size: var(--font-small); 1067 color: var(--text-faint); 1068} 1069 1070.semble-detail-section-title { 1071 margin: 0 0 12px 0; 1072 font-size: var(--font-small); 1073 font-weight: var(--font-semibold); 1074 color: var(--text-muted); 1075 text-transform: uppercase; 1076 letter-spacing: 0.5px; 1077} 1078 1079/* Semble-specific Add Note Form */ 1080.semble-detail-add-note { 1081 margin-top: 20px; 1082 padding-top: 20px; 1083 border-top: 1px solid var(--background-modifier-border); 1084} 1085 1086.semble-add-note-form { 1087 display: flex; 1088 flex-direction: column; 1089 gap: 12px; 1090} 1091 1092.semble-note-input { 1093 min-height: 80px; 1094 resize: vertical; 1095} 1096 1097.semble-note-delete-btn { 1098 display: flex; 1099 align-items: center; 1100 justify-content: center; 1101 width: 28px; 1102 height: 28px; 1103 padding: 0; 1104 flex-shrink: 0; 1105 background: transparent; 1106 border: none; 1107 border-radius: var(--radius-s); 1108 cursor: pointer; 1109 color: var(--text-faint); 1110 opacity: 0.6; 1111 transition: all 0.15s ease; 1112} 1113 1114.semble-note-delete-btn:hover { 1115 background: color-mix(in srgb, var(--color-red) 15%, transparent); 1116 color: var(--color-red); 1117 opacity: 1; 1118} 1119 1120.semble-note-delete-btn svg { 1121 width: 14px; 1122 height: 14px; 1123} 1124 1125/* Responsive styles */ 1126@media (max-width: 600px) { 1127 .atmark-view { 1128 padding: 12px; 1129 } 1130 1131 .atmark-header { 1132 margin-bottom: 16px; 1133 padding-bottom: 12px; 1134 } 1135 1136 .atmark-title, 1137 .semble-profile-icon { 1138 display: none; 1139 } 1140 1141 .atmark-source-option { 1142 padding: 8px 16px; 1143 font-size: var(--font-ui-small); 1144 } 1145 1146 .atmark-source-text { 1147 font-size: var(--font-ui-small); 1148 } 1149 1150 .atmark-source-selector { 1151 justify-content: center; 1152 } 1153 1154 .atmark-grid { 1155 grid-template-columns: 1fr; 1156 gap: 12px; 1157 } 1158 1159 .atmark-filter-section { 1160 margin-bottom: 12px; 1161 } 1162} 1163 1164.is-mobile .atmark-title, 1165.is-mobile .semble-profile-icon { 1166 display: none; 1167} 1168 1169.is-mobile .atmark-source-option { 1170 padding: 8px 16px; 1171 font-size: var(--font-ui-small); 1172} 1173 1174.is-mobile .atmark-source-text { 1175 font-size: var(--font-ui-small); 1176} 1177 1178.is-mobile .atmark-source-selector { 1179 justify-content: center; 1180}