body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; margin: 0; padding: 0; background-color: #121212; color: #FFFFFF; transition: background-color 0.5s, color 0.5s; } .container { max-width: 800px; margin: 40px auto; padding: 20px; background-color: #1E1E1E; box-shadow: 0 8px 16px rgba(0, 0, 0, 0.3); transition: all ease-in-out 0.5s; border-radius: 12px; } h2 { text-align: center; margin-bottom: 20px; } ul { list-style: none; padding: 0; margin: 0; } li { display: block; padding: 10px 15px; border-radius: 8px; margin-bottom: 10px; transition: background-color 0.3s, transform 0.3s; cursor: pointer; position: relative; } li:hover { background-color: rgba(255, 255, 255, 0.1); transform: scale(1.02); } .icon { margin-right: 10px; } .file-content { display: none; background-color: #000; color: #FFF; padding: 15px; border-radius: 6px; margin-top: 10px; font-family: 'Courier New', Courier, monospace; position: relative; overflow-x: auto; white-space: pre; flex-direction: column; } .file-content pre { white-space: pre-wrap; word-wrap: break-word; overflow-x: auto; } .file-content.show { display: block; animation: fadeIn 0.5s ease-in-out; } .file-content.typing { white-space: pre-wrap; overflow: hidden; } .file-content .buttons { display: flex; justify-content: flex-start; gap: 10px; margin-top: 10px; } .file-content.typing::after { content: ''; animation: typing 1s steps(10) infinite; } .file-content .copy-btn, .file-content .view-raw-btn, .file-content .preview-btn, .file-content .download-btn, .back-btn { padding: 5px 15px; background: #007AFF; color: #FFF; border: none; border-radius: 4px; cursor: pointer; transition: background-color 0.3s; margin: 5px; } .file-content .view-raw-btn { right: 80px; } .file-content .preview-btn { right: 150px; } .file-content .copy-btn:hover, .file-content .view-raw-btn:hover, .file-content .preview-btn:hover, .download-btn:hover, .back-btn:hover { background-color: #005BBB; } .folder-container { margin-left: 20px; padding-left: 10px; border-left: 2px solid rgba(255, 255, 255, 0.2); margin-bottom: 20px; } .folder>ul { margin-top: 10px; } .folder>.icon { transition: transform 0.3s; } .folder.open>.icon { transform: rotate(90deg); } .highlight { background: #282C34; color: #61AFEF; } body.dark-mode { background-color: #121212; color: #FFFFFF; } body.dark-mode .container { background-color: #1E1E1E; } body.light-mode { background-color: #F5F5F5; color: #000000; } body.light-mode .container { background-color: #FFFFFF; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); } body.light-mode li:hover { background-color: rgba(0, 0, 0, 0.05); } .loading-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.6); display: flex; justify-content: center; align-items: center; z-index: 9999; visibility: hidden; opacity: 0; transition: visibility 0s, opacity 0.3s ease-in-out; } .loading-overlay.show { visibility: visible; opacity: 1; } .spinner { border: 4px solid rgba(255, 255, 255, 0.2); border-top: 4px solid #fff; border-radius: 50%; width: 40px; height: 40px; animation: spin 1s linear infinite; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } @keyframes fadeIn { from { opacity: 0; transform: scaleY(0.9); } to { opacity: 1; transform: scaleY(1); } } @keyframes typing { 0% { border-right: 2px solid transparent; } 50% { border-right: 2px solid white; } 100% { border-right: 2px solid transparent; } } @keyframes rotateBorder { 0% { border-image: linear-gradient(0deg, black, white) 1; } 50% { border-image: linear-gradient(180deg, black, white) 1; } 100% { border-image: linear-gradient(360deg, black, white) 1; } } .dark-mode-toggle { position: absolute; top: 20px; right: 20px; background: none; border: none; font-size: 24px; cursor: pointer; transition: transform 0.3s; } .logo { position: relative; left: 50%; transform: translate(-50%, 0); }