.grid-view-container { padding: 0px; height: 100%; } .grid-container { display: grid; grid-template-columns: repeat(auto-fill, minmax(var(--grid-item-width, 300px), 1fr)); gap: 12px; padding: 12px; align-items: start; align-content: start; background: var(--background-secondary) !important; } .view-content { flex: 1; overflow-y: auto; } .grid-item { background-color: var(--background-primary); border: 1px solid var(--background-modifier-border); border-radius: var(--button-radius); padding: 14px; cursor: pointer; transition: transform 0.2s, box-shadow 0.2s; display: flex; gap: 14px; height: 100%; } .grid-item:hover { transform: translateY(-2px); background-color: var(--text-selection); box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); } .content-area { flex: 1; min-width: 0; } .image-area { width: var(--image-area-width); height: var(--image-area-height); flex-shrink: 0; } .image-area img { width: 100%; height: 100%; object-fit: cover; border-radius: 4px; } .grid-item h3 { margin: 0; font-size: var(--font-text-size); color: var(--text-normal); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .grid-item p { margin: 8px 0 0 0; color: var(--text-faint); font-size: 0.85em; line-height: 1.4; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; } .grid-item p:empty { margin: 0; } /* 資料夾項目的特殊樣式 */ .grid-item.folder-item { background-color: var(--background-primary-alt); border: 2px solid var(--background-modifier-border); } .grid-item.folder-item:hover { background-color: var(--background-modifier-hover); } .grid-item.folder-item h3 { margin: 0; color: var(--text-normal); display: flex; align-items: center; gap: 8px; } /* 上層資料夾的特殊樣式 */ .grid-item.parent-folder { background-color: var(--background-secondary-alt); } .grid-item.parent-folder:hover { background-color: var(--background-modifier-hover); } /* 調整資料夾項目的高度 */ .grid-item.folder-item .content-area { display: flex; align-items: center; min-height: 0px; } /* 頂部按鈕區域樣式 */ .header-buttons { display: flex; gap: 8px; padding: 12px 16px; background: var(--background-primary); border-bottom: 1px solid var(--background-modifier-border); flex-shrink: 0; justify-content: center; } .header-buttons button { display: flex; align-items: center; gap: 4px; padding: 6px 12px; background-color: var(--interactive-normal); border-radius: var(--button-radius); color: var(--text-normal); font-size: 14px; cursor: pointer; transition: background-color 0.2s, transform 0.1s; min-width: 45px; } .header-buttons button:hover { background-color: var(--interactive-hover); transform: translateY(-1px); } .header-buttons button:active { transform: translateY(0); } /* 特定按鈕樣式 */ .header-buttons .sort-button, .header-buttons .reselect-button, .header-buttons .refresh-button, .header-buttons .up-button { display: inline-flex; align-items: center; } .header-buttons .sort-button::before { content: "↕"; } .header-buttons .reselect-button::before { content: "📁"; } .header-buttons .refresh-button::before { content: "↻"; } .header-buttons .up-button::before { content: "↑"; } /* 搜尋對話框樣式 */ .search-container { margin-bottom: 16px; } .search-container input { width: 100%; padding: 8px 12px; border: 1px solid var(--background-modifier-border); border-radius: 4px; background-color: var(--background-primary); color: var(--text-normal); font-size: 14px; outline: none; transition: border-color 0.2s; } .search-container input:focus { border-color: var(--interactive-accent); } .search-container input::placeholder { color: var(--text-muted); } .button-container { display: flex; gap: 8px; justify-content: flex-end; } .button-container button { padding: 6px 12px; border-radius: 4px; font-size: 14px; cursor: pointer; transition: background-color 0.2s, transform 0.1s; } .button-container button:first-child { background-color: var(--interactive-accent); color: var(--text-on-accent); } .button-container button:last-child { background-color: var(--interactive-normal); color: var(--text-normal); } .button-container button:hover { transform: translateY(-1px); } .button-container button:first-child:hover { background-color: var(--interactive-accent-hover); } .button-container button:last-child:hover { background-color: var(--interactive-hover); } .button-container button:active { transform: translateY(0); } /* 搜尋按鈕容器 */ .search-button-container { display: flex; align-items: center; gap: 8px; background-color: var(--background-primary); border-radius: 4px; padding: 0 4px; } /* 搜尋按鈕啟用狀態 */ .search-button-container button.active { background-color: var(--interactive-accent); color: var(--text-on-accent); } /* 搜尋文字 */ .search-text { font-size: 12px; color: var(--text-muted); max-width: 150px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } /* 清除搜尋按鈕 */ .clear-search { padding: 2px !important; min-width: 24px !important; height: 24px; border-radius: 50% !important; display: flex; align-items: center; justify-content: center; } .clear-search:hover { background-color: var(--background-modifier-error) !important; color: var(--text-on-accent) !important; }