* { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: #333; min-height: 100vh; } .container { width: 500px; padding: 20px; background: white; border-radius: 10px; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2); } h1 { font-size: 20px; margin-bottom: 20px; color: #667eea; text-align: center; } h3 { font-size: 13px; margin-top: 12px; margin-bottom: 8px; color: #666; text-transform: uppercase; letter-spacing: 0.5px; } .controls { display: flex; gap: 8px; margin-bottom: 15px; } .btn { flex: 1; padding: 10px 14px; border: none; border-radius: 5px; font-size: 13px; font-weight: 600; cursor: pointer; transition: all 0.2s; text-align: center; } .btn-primary { background: #667eea; color: white; } .btn-primary:hover:not(:disabled) { background: #5568d3; transform: translateY(-1px); box-shadow: 0 2px 8px rgba(102, 126, 234, 0.4); } .btn-primary:disabled { opacity: 0.5; cursor: not-allowed; } .btn-success { background: #48bb78; color: white; } .btn-success:hover:not(:disabled) { background: #38a169; transform: translateY(-1px); box-shadow: 0 2px 8px rgba(72, 187, 120, 0.4); } .btn-success:disabled { opacity: 0.5; cursor: not-allowed; } .btn-small { padding: 6px 10px; font-size: 11px; background: #e2e8f0; color: #333; margin-top: 8px; } .btn-small:hover { background: #cbd5e0; } .settings { display: flex; align-items: center; gap: 10px; padding: 10px; background: #f7fafc; border-radius: 5px; margin-bottom: 15px; font-size: 12px; } .settings label { font-weight: 600; color: #4a5568; } .settings input { width: 50px; padding: 5px 8px; border: 1px solid #cbd5e0; border-radius: 3px; font-size: 12px; } .progress-section { background: #f7fafc; padding: 12px; border-radius: 5px; margin-bottom: 12px; } .stat-row { display: flex; justify-content: space-between; padding: 6px 0; font-size: 13px; border-bottom: 1px solid #e2e8f0; } .stat-row:last-child { border-bottom: none; } .stat-row .label { color: #718096; font-weight: 500; } .stat-row .value { color: #667eea; font-weight: 700; font-size: 14px; } .progress-bar-container { width: 100%; height: 6px; background: #e2e8f0; border-radius: 3px; margin-bottom: 15px; overflow: hidden; } .progress-bar { height: 100%; background: linear-gradient(90deg, #667eea, #764ba2); width: 0%; transition: width 0.3s ease; } .log-section { margin-bottom: 12px; } .log-box { background: #1a202c; color: #68d391; padding: 10px; border-radius: 5px; font-family: 'Monaco', 'Courier New', monospace; font-size: 11px; height: 150px; overflow-y: auto; line-height: 1.4; border: 1px solid #2d3748; } .log-entry { margin: 2px 0; word-break: break-word; } .log-entry.info { color: #68d391; } .log-entry.success { color: #81e6d9; } .log-entry.error { color: #fc8181; } .log-entry.warning { color: #fbd38d; } .status { padding: 10px; border-radius: 5px; text-align: center; font-size: 12px; font-weight: 600; min-height: 20px; } .status.idle { background: #e6ffed; color: #22543d; } .status.working { background: #fef3c7; color: #78350f; } .status.success { background: #d1fae5; color: #065f46; } .status.error { background: #fee2e2; color: #7f1d1d; } /* Scrollbar styling */ .log-box::-webkit-scrollbar { width: 6px; } .log-box::-webkit-scrollbar-track { background: #2d3748; } .log-box::-webkit-scrollbar-thumb { background: #4a5568; border-radius: 3px; } .log-box::-webkit-scrollbar-thumb:hover { background: #718096; }