.file-selector-overlay { display: none; position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background-color: rgba(0, 0, 0, 0.5); transition: opacity 0.3s ease; opacity: 0; z-index: 2000; justify-content: center; align-items: center; } .file-selector { width: 90%; max-width: 600px; height: 80vh; background-color: #fff; border-radius: 15px; display: flex; flex-direction: column; position: relative; overflow: hidden; } .file-selector-header { display: flex; align-items: center; padding: 10px; border-bottom: 2px solid #ccc; } .current-path .separator { color: #6E6E6E; padding: 0 4px; } .back-button { background: none; border: none; fill: #6E6E6E; user-select: none; } .current-path { flex-grow: 1; font-size: 16px; overflow: scroll; white-space: nowrap; } .close-selector { background: none; border: none; font-size: 20px; color: #ccc; padding: 0 5px; } .file-list { flex-grow: 1; overflow-y: auto; padding: 10px; transition: transform 0.3s ease, opacity 0.3s ease; } .file-list.switching { transform: scale(0.95); opacity: 0; } .file-item { display: flex; align-items: center; padding: 10px; border-radius: 8px; background-color: #fff; position: relative; overflow: hidden; user-select: none; } .file-item svg { margin-right: 10px; fill: #ccc; } .file-item span { flex-grow: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } @media (prefers-color-scheme: dark) { .file-selector { background-color: #343434; color: #fff; } .file-selector-header { border-bottom: 2px solid #232323; } .file-item { background-color: #343434; } .current-path .separator { color: #C2C2C2; } .back-button { fill: #C2C2C2; } }