*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding:20px}.app-container{max-width:800px;margin:0 auto}.card{background:#fff;border-radius:16px;padding:30px;box-shadow:0 20px 60px #0000004d}h1{text-align:center;color:#333;margin-bottom:20px;font-size:28px}.chip-info{background:#e3f2fd;padding:15px;border-radius:8px;margin-bottom:20px;border-left:4px solid #2196f3}.chip-info p{margin:5px 0;color:#1976d2}.section{margin:20px 0}.file-label{display:block;background:#f5f5f5;padding:20px;border-radius:8px;cursor:pointer;text-align:center;border:2px dashed #ccc;transition:all .3s}.file-label:hover{border-color:#667eea;background:#fafafa}.file-input{display:none}.file-name{margin-top:10px;color:#4caf50;font-weight:700}.button-group{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.btn{flex:1;padding:12px 20px;border:none;border-radius:8px;font-size:14px;font-weight:700;cursor:pointer;transition:all .3s;min-width:150px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:#2196f3;color:#fff}.btn-primary:hover:not(:disabled){background:#1976d2}.btn-secondary{background:#9e9e9e;color:#fff}.btn-success{background:#4caf50;color:#fff}.btn-success:hover:not(:disabled){background:#388e3c}.btn-danger{background:#f44336;color:#fff}.btn-danger:hover:not(:disabled){background:#d32f2f}.progress-container{width:100%;height:30px;background:#e0e0e0;border-radius:15px;overflow:hidden;margin:20px 0}.progress-bar{height:100%;background:linear-gradient(90deg,#4caf50,#8bc34a);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;transition:width .3s}.logs-section{margin-top:30px}.logs-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.logs-header h3{color:#333;font-size:18px}.btn-clear{background:#ff9800;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:12px}.logs-container{background:#1e1e1e;color:#0f0;padding:15px;border-radius:8px;height:300px;overflow-y:auto;font-family:Courier New,monospace;font-size:13px}.log-line{margin:3px 0;line-height:1.4}.footer{text-align:center;color:#fff;margin-top:20px;font-size:14px}.logs-container::-webkit-scrollbar{width:8px}.logs-container::-webkit-scrollbar-track{background:#2e2e2e;border-radius:4px}.logs-container::-webkit-scrollbar-thumb{background:#555;border-radius:4px}.logs-container::-webkit-scrollbar-thumb:hover{background:#777}.btn-info{background:#00bcd4;color:#fff}.btn-info:hover:not(:disabled){background:#0097a7}.monitor-section{margin:20px 0;border:2px solid #00bcd4;border-radius:8px;overflow:hidden}.monitor-header{background:#00bcd4;color:#fff;padding:15px;display:flex;justify-content:space-between;align-items:center}.monitor-header h3{margin:0;color:#fff;font-size:16px}.monitor-controls{display:flex;gap:10px;align-items:center}.baud-select{padding:6px 12px;border-radius:4px;border:none;font-size:14px;cursor:pointer}.btn-success-sm,.btn-danger-sm,.btn-clear-sm{padding:6px 12px;border:none;border-radius:4px;font-size:12px;font-weight:700;cursor:pointer;color:#fff}.btn-success-sm{background:#4caf50}.btn-danger-sm{background:#f44336}.btn-clear-sm{background:#ff9800}.serial-logs{background:#1e1e1e;color:#0f0;padding:15px;height:300px;overflow-y:auto;font-family:Courier New,monospace;font-size:13px}.serial-line{margin:2px 0;white-space:pre-wrap;word-break:break-all}.serial-input-container{display:flex;padding:10px;background:#f5f5f5;border-top:1px solid #ddd}.serial-input{flex:1;padding:10px;border:1px solid #ccc;border-radius:4px;font-family:Courier New,monospace;font-size:14px}.btn-send{background:#2196f3;color:#fff;border:none;padding:10px 20px;margin-left:10px;border-radius:4px;cursor:pointer;font-weight:700}.btn-send:hover{background:#1976d2}.help-section{background:#fff3cd;border-left:4px solid #ffc107;padding:15px;margin:20px 0;border-radius:8px}.help-section h4{color:#856404;margin-bottom:10px;font-size:16px}.help-section ul{list-style:none;padding-left:0}.help-section li{color:#856404;margin:5px 0;font-size:14px}
