* { margin: 0; padding: 0; box-sizing: border-box; } body { background: #000; color: #eee; font-family: 'Courier New', monospace; font-size: 15px; line-height: 1.6; height: 100vh; overflow: hidden; } .terminal { display: flex; flex-direction: column; height: 100vh; background: #000; border: 2px solid #333; padding: 20px; gap: 16px; } .header { border-bottom: 1px solid #333; padding-bottom: 10px; margin-bottom: 10px; } .title-bar { font-weight: bold; text-align: center; font-size: 18px; margin-bottom: 10px; } .toolbar { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; } .btn { background: #222; color: #fff; border: 1px solid #444; padding: 6px 12px; font-size: 13px; cursor: pointer; transition: all 0.2s; border-radius: 4px; } .btn:hover:not(:disabled) { background: #444; border-color: #666; } .btn:disabled { opacity: 0.5; cursor: not-allowed; } .btn:focus { outline: 1px solid #fff; outline-offset: 2px; } .address-bar, .search-bar { background: #111; color: #fff; border: 1px solid #333; padding: 6px 10px; font-size: 13px; border-radius: 4px; } .address-bar { flex: 1; min-width: 240px; } .search-bar { width: 160px; } .address-bar:focus, .search-bar:focus { outline: 1px solid #fff; background: #222; } .main-content { flex: 1; display: flex; flex-direction: column; overflow: hidden; gap: 10px; } .file-header { display: grid; grid-template-columns: 30px 1fr 80px 100px 120px 100px; gap: 12px; padding: 8px 0; border-bottom: 1px solid #333; font-weight: bold; background: #111; font-size: 14px; } .file-list { flex: 1; overflow-y: auto; background: #000; border: 1px solid #333; border-radius: 4px; } .file-item { display: grid; grid-template-columns: 30px 1fr 80px 100px 120px 100px; gap: 12px; padding: 8px 0; background: #181818; align-items: center; cursor: pointer; } .file-item:hover { background: #111; } .file-item.selected { background: #222; } .file-item.focused { background: #333; outline: 1px solid #fff; } .icon { width: 16px; height: 16px; justify-self: center; } .file-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .file-type, .file-size, .file-date { font-size: 13px; color: #aaa; } .download-btn { background: #222; color: #fff; border: 1px solid #555; padding: 3px 8px; font-size: 12px; border-radius: 3px; cursor: pointer; } .download-btn:hover { background: #444; } .status-bar { border-top: 1px solid #333; padding: 8px 0; font-size: 12px; color: #888; display: flex; justify-content: space-between; } .help-text { font-size: 11px; color: #888; } /* Scrollbar styling */ .file-list::-webkit-scrollbar { width: 10px; } .file-list::-webkit-scrollbar-track { background: #111; } .file-list::-webkit-scrollbar-thumb { background: #333; border: 1px solid #555; border-radius: 6px; } .file-list::-webkit-scrollbar-thumb:hover { background: #555; } /* Terminal cursor effect */ @keyframes blink { 0%, 50% { opacity: 1; } 51%, 100% { opacity: 0; } } .cursor::after { content: '█'; color: #fff; animation: blink 1s infinite; } /* Responsive adjustments */ @media (max-width: 768px) { .file-header, .file-item { grid-template-columns: 24px 1fr 60px 80px; font-size: 13px; } .file-header :nth-child(5), .file-header :nth-child(6), .file-item :nth-child(5), .file-item :nth-child(6) { display: none; } }