.ge-grid-view-container { padding: 0px; height: 100%; } /* 選擇資料夾的樣式 */ .ge-grid-view-folder-option { cursor: pointer; padding: 8px; margin-bottom: 8px; border: 1px solid var(--background-modifier-border); border-radius: 4px; } .ge-grid-view-folder-option:hover { background-color: var(--background-modifier-hover); } /* Grid 樣式 */ .ge-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; flex: 1; overflow-y: auto; } .is-mobile .ge-grid-container::-webkit-scrollbar { display: none !important; width: 0 !important; } .ge-grid-item { background-color: var(--background-primary); border: 1px solid var(--background-modifier-border); border-radius: var(--button-radius); padding: 12px; cursor: pointer; transition: transform 0.2s, box-shadow 0.2s; display: flex; gap: 14px; height: 100%; } .ge-grid-item:hover { transform: translateY(-2px); background-color: var(--text-selection); box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); } .ge-content-area { flex: 1; min-width: 0; } .ge-image-area { width: var(--image-area-width); height: var(--image-area-height); flex-shrink: 0; } .ge-image-area img { width: 100%; height: 100%; object-fit: cover; border-radius: 4px; } .ge-grid-item h3 { margin: 0; font-size: var(--font-text-size); color: var(--text-normal); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .ge-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; } .ge-grid-item p:empty { margin: 0; } /* 資料夾項目的特殊樣式 */ .ge-grid-item.ge-folder-item { background-color: var(--background-primary-alt); border: 2px solid var(--background-modifier-border); } .ge-grid-item.ge-folder-item:hover { background-color: var(--background-modifier-hover); } .ge-grid-item.ge-folder-item h3 { margin: 0; color: var(--text-normal); display: flex; align-items: center; gap: 8px; } /* 上層資料夾的特殊樣式 */ .ge-grid-item.parent-folder { background-color: var(--background-secondary-alt); } .ge-grid-item.parent-folder:hover { background-color: var(--background-modifier-hover); } /* 調整資料夾項目的高度 */ .ge-grid-item.ge-folder-item .ge-content-area { display: flex; align-items: center; min-height: 0px; } /* 頂部按鈕區域樣式 */ .ge-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; } .ge-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: 38px; } .is-tablet .ge-header-buttons button:not(.clickable-icon) { padding: 6px 12px; } .ge-header-buttons button:hover { background-color: var(--interactive-hover); transform: translateY(-1px); } .ge-header-buttons button:active { transform: translateY(0); } /* 特定按鈕樣式 */ .ge-header-buttons .sort-button, .ge-header-buttons .reselect-button, .ge-header-buttons .refresh-button, .ge-header-buttons .up-button { display: inline-flex; align-items: center; } /* 搜尋對話框樣式 */ .ge-search-container { margin-bottom: 16px; position: relative; display: flex; align-items: center; } .ge-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; padding-right: 25px; } .ge-search-container input:focus { border-color: var(--interactive-accent); } .ge-search-container input::placeholder { color: var(--text-muted); } .ge-button-container { display: flex; gap: 8px; justify-content: flex-end; } .ge-button-container button { padding: 6px 12px; border-radius: 4px; font-size: 14px; cursor: pointer; transition: background-color 0.2s, transform 0.1s; } .ge-button-container button:first-child { background-color: var(--interactive-accent); color: var(--text-on-accent); } .ge-button-container button:last-child { background-color: var(--interactive-normal); color: var(--text-normal); } .ge-button-container button:hover { transform: translateY(-1px); } .ge-button-container button:first-child:hover { background-color: var(--interactive-accent-hover); } .ge-button-container button:last-child:hover { background-color: var(--interactive-hover); } .ge-button-container button:active { transform: translateY(0); } /* 搜尋按鈕容器 */ .ge-search-button-container { display: flex; align-items: center; gap: 8px; background-color: var(--background-primary); border-radius: 4px; padding: 0; } /* 搜尋按鈕啟用狀態 */ .ge-search-button-container button.active { background-color: var(--interactive-accent); color: var(--text-on-accent); } /* 搜尋文字容器 */ .ge-search-text-container { position: relative; display: inline-block; max-width: 100px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; background-color: var(--background-modifier-active-hover); border: 1px solid var(--background-modifier-border); border-radius: 4px; transition: border-color 0.15s ease; } .ge-search-text-container:hover { border-color: var(--interactive-accent); } /* 搜尋文字 */ .ge-search-text { font-size: 14px; color: var(--text-normal); padding: 8px 10px; padding-left: 28px; /* 為取消按鈕留出空間 */ align-items: center; } /* 取消按鈕 */ .ge-clear-button { position: absolute; left: 4px; top: 50%; transform: translateY(-50%); width: 22px; height: 22px; display: flex; align-items: center; justify-content: center; border-radius: 50%; cursor: pointer; color: var(--text-muted); font-size: 14px; } .ge-clear-button:hover { color: #FFF; background-color: var(--background-modifier-error-hover); } .ge-clear-button svg { width: 18px; height: 18px; } .ge-search-clear-button { color: var(--text-muted); border-radius: 50%; width: 18px; height: 18px; position: absolute; right: 5px; cursor: pointer; align-items: center; justify-content: center; padding: 3px; } .ge-search-clear-button:hover { color: var(--text-normal); background-color: var(--background-modifier-hover); }