* { box-sizing: border-box; } html, body { height: 100%; } body { margin: 0; font-family: "Segoe UI", Tahoma, sans-serif; background: #f4f6f8; color: #111; display: flex; flex-direction: column; overflow: hidden; } .toolbar { display: flex; align-items: center; gap: 12px; padding: 16px 24px; background: #ffffff; border-bottom: 1px solid #d5d7db; } .toolbar input { flex: 1; padding: 8px 10px; border: 1px solid #c6c8cc; border-radius: 4px; } .toolbar button { padding: 8px 12px; } .grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; padding: 24px; flex: 1; min-height: 0; } .panel { background: #ffffff; border: 1px solid #d5d7db; border-radius: 6px; display: flex; flex-direction: column; min-height: 520px; } .panel-head { padding: 16px; border-bottom: 1px solid #e1e3e6; display: flex; flex-direction: column; gap: 12px; } .panel-body { padding: 12px 16px; overflow-y: auto; overflow-x: auto; flex: 1; min-height: 0; } .list { --col-name: 1fr; --col-size: 140px; display: flex; flex-direction: column; min-height: 0; } .list-row { display: grid; grid-template-columns: var(--col-name) var(--col-size); gap: 12px; align-items: center; min-width: max-content; } .list-header { font-weight: 600; color: #2b2f36; padding: 6px 8px; border-bottom: 1px solid #e1e3e6; position: relative; } .list-body { display: flex; flex-direction: column; } .col { position: relative; } .col-resizer { position: absolute; top: 0; right: -8px; width: 12px; height: 100%; cursor: col-resize; } .tree { border: 1px solid #e1e3e6; border-radius: 6px; padding: 8px; margin-bottom: 12px; background: #fbfcfe; max-height: 180px; overflow: auto; } .tree-row { padding: 4px 6px; border-radius: 4px; cursor: pointer; white-space: nowrap; } .tree-row:hover { background: #eef2f6; } .tree-row.current { background: #dbe7ff; } .path-row { display: flex; gap: 8px; align-items: center; } .path-row input { flex: 1; padding: 6px 10px; border: 1px solid #c6c8cc; border-radius: 4px; } .row { padding: 6px 8px; border-radius: 4px; cursor: pointer; white-space: nowrap; } .row .size, .list-header .size { text-align: right; color: #4f5765; } .row:hover { background: #eef2f6; } .row.selected { background: #dbe7ff; } .log { margin: 0 24px 24px; border: 1px solid #d5d7db; border-radius: 6px; background: #ffffff; flex-shrink: 0; } #log-list { padding: 12px 16px; font-family: Consolas, monospace; font-size: 12px; height: 300px; overflow-y: auto; } .checkbox { display: flex; align-items: center; gap: 6px; font-size: 12px; } @media (max-width: 900px) { .grid { grid-template-columns: 1fr; } }